linux/include/uapi/linux/blkpg.h
<<
>>
Prefs
   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 */
  34struct 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 */
  51struct 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 */
  61