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 */
37