Dr Andrew Scott G7VAV

My photo
 
June 2025
Mo Tu We Th Fr Sa Su
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 1 2 3 4 5 6


blkpg.h
01: #ifndef _LINUX_BLKPG_H
02: #define _LINUX_BLKPG_H
03: 
04: /*
05:  * Partition table and disk geometry handling
06:  *
07:  * A single ioctl with lots of subfunctions:
08:  *
09:  * 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: 
28: #include <linux/ioctl.h>
29: 
30: #define BLKPG      _IO(0x12,105)
31: 
32: /* The argument structure */
33: struct blkpg_ioctl_arg {
34:         int op;
35:         int flags;
36:         int datalen;
37:         void *data;
38: };
39: 
40: /* The subfunctions (for the op field) */
41: #define BLKPG_ADD_PARTITION     1
42: #define BLKPG_DEL_PARTITION     2
43: 
44: /* Sizes of name fields. Unused at present. */
45: #define BLKPG_DEVNAMELTH        64
46: #define BLKPG_VOLNAMELTH        64
47: 
48: /* The data structure for ADD_PARTITION and DEL_PARTITION */
49: struct blkpg_partition {
50:         long long start;                /* starting offset in bytes */
51:         long long length;               /* length in bytes */
52:         int pno;                        /* partition number */
53:         char devname[BLKPG_DEVNAMELTH]; /* partition name, like sda5 or c0d1p2,
54:                                            to be used in kernel messages */
55:         char volname[BLKPG_VOLNAMELTH]; /* volume label */
56: };
57: 
58: #endif /* _LINUX_BLKPG_H */
59: 


for client (none)
© Andrew Scott 2006 - 2025,
All Rights Reserved
http://www.andrew-scott.uk/
Andrew Scott
http://www.andrew-scott.co.uk/