~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

Linux Cross Reference
Linux/include/linux/blkpg.h

Version: ~ [ 2.4.0 ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  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/ioctl.h>
 28 
 29 #define BLKPG      _IO(0x12,105)
 30 
 31 /* The argument structure */
 32 struct blkpg_ioctl_arg {
 33         int op;
 34         int flags;
 35         int datalen;
 36         void *data;
 37 };
 38 
 39 /* The subfunctions (for the op field) */
 40 #define BLKPG_ADD_PARTITION     1
 41 #define BLKPG_DEL_PARTITION     2
 42 
 43 /* Sizes of name fields. Unused at present. */
 44 #define BLKPG_DEVNAMELTH        64
 45 #define BLKPG_VOLNAMELTH        64
 46 
 47 /* The data structure for ADD_PARTITION and DEL_PARTITION */
 48 struct blkpg_partition {
 49         long long start;                /* starting offset in bytes */
 50         long long length;               /* length in bytes */
 51         int pno;                        /* partition number */
 52         char devname[BLKPG_DEVNAMELTH]; /* partition name, like sda5 or c0d1p2,
 53                                            to be used in kernel messages */
 54         char volname[BLKPG_VOLNAMELTH]; /* volume label */
 55 };
 56 
 57 #ifdef __KERNEL__
 58 
 59 extern char * partition_name(kdev_t dev);
 60 extern int blk_ioctl(kdev_t dev, unsigned int cmd, unsigned long arg);
 61 
 62 #endif /* __KERNEL__ */
 63 
 64 #endif /* _LINUX_BLKPG_H */
 65 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

This page was automatically generated by the LXR engine.
Visit the LXR main site for more information.