xref: /aosp_15_r20/external/kernel-headers/original/uapi/linux/blkpg.h (revision f80ad8b4341604f5951dab671d41019a6d7087ce)
1*f80ad8b4SAndroid Build Coastguard Worker /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2*f80ad8b4SAndroid Build Coastguard Worker #ifndef _UAPI__LINUX_BLKPG_H
3*f80ad8b4SAndroid Build Coastguard Worker #define _UAPI__LINUX_BLKPG_H
4*f80ad8b4SAndroid Build Coastguard Worker 
5*f80ad8b4SAndroid Build Coastguard Worker #include <linux/compiler.h>
6*f80ad8b4SAndroid Build Coastguard Worker #include <linux/ioctl.h>
7*f80ad8b4SAndroid Build Coastguard Worker 
8*f80ad8b4SAndroid Build Coastguard Worker #define BLKPG      _IO(0x12,105)
9*f80ad8b4SAndroid Build Coastguard Worker 
10*f80ad8b4SAndroid Build Coastguard Worker /* The argument structure */
11*f80ad8b4SAndroid Build Coastguard Worker struct blkpg_ioctl_arg {
12*f80ad8b4SAndroid Build Coastguard Worker         int op;
13*f80ad8b4SAndroid Build Coastguard Worker         int flags;
14*f80ad8b4SAndroid Build Coastguard Worker         int datalen;
15*f80ad8b4SAndroid Build Coastguard Worker         void __user *data;
16*f80ad8b4SAndroid Build Coastguard Worker };
17*f80ad8b4SAndroid Build Coastguard Worker 
18*f80ad8b4SAndroid Build Coastguard Worker /* The subfunctions (for the op field) */
19*f80ad8b4SAndroid Build Coastguard Worker #define BLKPG_ADD_PARTITION	1
20*f80ad8b4SAndroid Build Coastguard Worker #define BLKPG_DEL_PARTITION	2
21*f80ad8b4SAndroid Build Coastguard Worker #define BLKPG_RESIZE_PARTITION	3
22*f80ad8b4SAndroid Build Coastguard Worker 
23*f80ad8b4SAndroid Build Coastguard Worker /* Sizes of name fields. Unused at present. */
24*f80ad8b4SAndroid Build Coastguard Worker #define BLKPG_DEVNAMELTH	64
25*f80ad8b4SAndroid Build Coastguard Worker #define BLKPG_VOLNAMELTH	64
26*f80ad8b4SAndroid Build Coastguard Worker 
27*f80ad8b4SAndroid Build Coastguard Worker /* The data structure for ADD_PARTITION and DEL_PARTITION */
28*f80ad8b4SAndroid Build Coastguard Worker struct blkpg_partition {
29*f80ad8b4SAndroid Build Coastguard Worker 	long long start;		/* starting offset in bytes */
30*f80ad8b4SAndroid Build Coastguard Worker 	long long length;		/* length in bytes */
31*f80ad8b4SAndroid Build Coastguard Worker 	int pno;			/* partition number */
32*f80ad8b4SAndroid Build Coastguard Worker 	char devname[BLKPG_DEVNAMELTH];	/* unused / ignored */
33*f80ad8b4SAndroid Build Coastguard Worker 	char volname[BLKPG_VOLNAMELTH];	/* unused / ignore */
34*f80ad8b4SAndroid Build Coastguard Worker };
35*f80ad8b4SAndroid Build Coastguard Worker 
36*f80ad8b4SAndroid Build Coastguard Worker #endif /* _UAPI__LINUX_BLKPG_H */
37