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 */
11struct 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 */
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 /* _UAPI__LINUX_BLKPG_H */
37

source code of linux/include/uapi/linux/blkpg.h