1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
 2#ifndef __LINUX_BLKPG_H
 3#define __LINUX_BLKPG_H
 4
 5
 6#include <linux/ioctl.h>
 7
 8#define BLKPG      _IO(0x12,105)
 9
10/* The argument structure */
11struct blkpg_ioctl_arg {
12        int op;
13        int flags;
14        int datalen;
15        void *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 */
28struct 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 /* __LINUX_BLKPG_H */