root/include/uapi/linux/blkpg.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   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 /*
   6  * Partition table and disk geometry handling
   7  *
   8  * A single ioctl with lots of subfunctions:
   9  *
  10  * Device number stuff:
  11  *    get_whole_disk()          (given the device number of a partition,
  12  *                               find the device number of the encompassing disk)
  13  *    get_all_partitions()      (given the device number of a disk, return the
  14  *                               device numbers of all its known partitions)
  15  *
  16  * Partition stuff:
  17  *    add_partition()
  18  *    delete_partition()
  19  *    test_partition_in_use()   (also for test_disk_in_use)
  20  *
  21  * Geometry stuff:
  22  *    get_geometry()
  23  *    set_geometry()
  24  *    get_bios_drivedata()
  25  *
  26  * For today, only the partition stuff - aeb, 990515
  27  */
  28 #include <linux/compiler.h>
  29 #include <linux/ioctl.h>
  30 
  31 #define BLKPG      _IO(0x12,105)
  32 
  33 /* The argument structure */
  34 struct blkpg_ioctl_arg {
  35         int op;
  36         int flags;
  37         int datalen;
  38         void __user *data;
  39 };
  40 
  41 /* The subfunctions (for the op field) */
  42 #define BLKPG_ADD_PARTITION     1
  43 #define BLKPG_DEL_PARTITION     2
  44 #define BLKPG_RESIZE_PARTITION  3
  45 
  46 /* Sizes of name fields. Unused at present. */
  47 #define BLKPG_DEVNAMELTH        64
  48 #define BLKPG_VOLNAMELTH        64
  49 
  50 /* The data structure for ADD_PARTITION and DEL_PARTITION */
  51 struct blkpg_partition {
  52         long long start;                /* starting offset in bytes */
  53         long long length;               /* length in bytes */
  54         int pno;                        /* partition number */
  55         char devname[BLKPG_DEVNAMELTH]; /* partition name, like sda5 or c0d1p2,
  56                                            to be used in kernel messages */
  57         char volname[BLKPG_VOLNAMELTH]; /* volume label */
  58 };
  59 
  60 #endif /* _UAPI__LINUX_BLKPG_H */

/* [<][>][^][v][top][bottom][index][help] */