]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/blame - include/uapi/linux/blkpg.h
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
[mirror_ubuntu-bionic-kernel.git] / include / uapi / linux / blkpg.h
CommitLineData
6f52b16c 1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
53bb724f
BN
2#ifndef _UAPI__LINUX_BLKPG_H
3#define _UAPI__LINUX_BLKPG_H
1da177e4
LT
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 */
acc429a5 28#include <linux/compiler.h>
1da177e4
LT
29#include <linux/ioctl.h>
30
31#define BLKPG _IO(0x12,105)
32
33/* The argument structure */
34struct 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
c83f6bf9 44#define BLKPG_RESIZE_PARTITION 3
1da177e4
LT
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 */
51struct 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
53bb724f 60#endif /* _UAPI__LINUX_BLKPG_H */