Blame view

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