]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/blob - include/uapi/linux/blkpg.h
Merge tag 'for-4.15-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux
[mirror_ubuntu-bionic-kernel.git] / include / uapi / linux / blkpg.h
1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2 #ifndef _UAPI__LINUX_BLKPG_H
3 #define _UAPI__LINUX_BLKPG_H
4
5 /*
6 * Partition table and disk geometry handling
7 *
8 * A single ioctl with lots of subfunctions:
9 *
10 * Device number stuff:
11 * get_whole_disk() (given the device number of a partition,
12 * find the device number of the encompassing disk)
13 * get_all_partitions() (given the device number of a disk, return the
14 * device numbers of all its known partitions)
15 *
16 * Partition stuff:
17 * add_partition()
18 * delete_partition()
19 * test_partition_in_use() (also for test_disk_in_use)
20 *
21 * Geometry stuff:
22 * get_geometry()
23 * set_geometry()
24 * get_bios_drivedata()
25 *
26 * For today, only the partition stuff - aeb, 990515
27 */
28 #include <linux/compiler.h>
29 #include <linux/ioctl.h>
30
31 #define BLKPG _IO(0x12,105)
32
33 /* The argument structure */
34 struct blkpg_ioctl_arg {
35 int op;
36 int flags;
37 int datalen;
38 void __user *data;
39 };
40
41 /* The subfunctions (for the op field) */
42 #define BLKPG_ADD_PARTITION 1
43 #define BLKPG_DEL_PARTITION 2
44 #define BLKPG_RESIZE_PARTITION 3
45
46 /* Sizes of name fields. Unused at present. */
47 #define BLKPG_DEVNAMELTH 64
48 #define BLKPG_VOLNAMELTH 64
49
50 /* The data structure for ADD_PARTITION and DEL_PARTITION */
51 struct blkpg_partition {
52 long long start; /* starting offset in bytes */
53 long long length; /* length in bytes */
54 int pno; /* partition number */
55 char devname[BLKPG_DEVNAMELTH]; /* partition name, like sda5 or c0d1p2,
56 to be used in kernel messages */
57 char volname[BLKPG_VOLNAMELTH]; /* volume label */
58 };
59
60 #endif /* _UAPI__LINUX_BLKPG_H */