GNU Linux-libre 6.9.2-gnu
[releases.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 #include <linux/compiler.h>
6 #include <linux/ioctl.h>
7
8 #define BLKPG      _IO(0x12,105)
9
10 /* The argument structure */
11 struct blkpg_ioctl_arg {
12         int op;
13         int flags;
14         int datalen;
15         void __user *data;
16 };
17
18 /* The subfunctions (for the op field) */
19 #define BLKPG_ADD_PARTITION     1
20 #define BLKPG_DEL_PARTITION     2
21 #define BLKPG_RESIZE_PARTITION  3
22
23 /* Sizes of name fields. Unused at present. */
24 #define BLKPG_DEVNAMELTH        64
25 #define BLKPG_VOLNAMELTH        64
26
27 /* The data structure for ADD_PARTITION and DEL_PARTITION */
28 struct blkpg_partition {
29         long long start;                /* starting offset in bytes */
30         long long length;               /* length in bytes */
31         int pno;                        /* partition number */
32         char devname[BLKPG_DEVNAMELTH]; /* unused / ignored */
33         char volname[BLKPG_VOLNAMELTH]; /* unused / ignore */
34 };
35
36 #endif /* _UAPI__LINUX_BLKPG_H */