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