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