summaryrefslogtreecommitdiffstats
path: root/fdisks/fdisk.h
diff options
context:
space:
mode:
authorKarel Zak2012-11-30 16:31:04 +0100
committerKarel Zak2013-03-11 11:20:40 +0100
commita8019843ab545040e0a64719014f5dcbd35ea8b0 (patch)
tree6945040d2c05706a9cc8223a9c363bb495bab758 /fdisks/fdisk.h
parentfdisk: use debug stuff from libfdisk (diff)
downloadkernel-qcow2-util-linux-a8019843ab545040e0a64719014f5dcbd35ea8b0.tar.gz
kernel-qcow2-util-linux-a8019843ab545040e0a64719014f5dcbd35ea8b0.tar.xz
kernel-qcow2-util-linux-a8019843ab545040e0a64719014f5dcbd35ea8b0.zip
libfdisk: add basic structs
Signed-off-by: Karel Zak <kzak@redhat.com>
Diffstat (limited to 'fdisks/fdisk.h')
-rw-r--r--fdisks/fdisk.h105
1 files changed, 0 insertions, 105 deletions
diff --git a/fdisks/fdisk.h b/fdisks/fdisk.h
index 14b0a7a6a..efc9969b6 100644
--- a/fdisks/fdisk.h
+++ b/fdisks/fdisk.h
@@ -63,111 +63,6 @@ enum failure {
unable_to_write
};
-typedef unsigned long long sector_t;
-
-/*
- * Supported partition table types (labels)
- */
-enum fdisk_labeltype {
- FDISK_DISKLABEL_DOS = 1,
- FDISK_DISKLABEL_SUN = 2,
- FDISK_DISKLABEL_SGI = 4,
- FDISK_DISKLABEL_AIX = 8,
- FDISK_DISKLABEL_OSF = 16,
- FDISK_DISKLABEL_MAC = 32,
- FDISK_DISKLABEL_GPT = 64,
- FDISK_DISKLABEL_ANY = -1
-};
-
-/*
- * Partition types
- */
-struct fdisk_parttype {
- unsigned int type; /* type as number or zero */
- const char *name; /* description */
- char *typestr; /* type as string or NULL */
-
- unsigned int flags; /* FDISK_PARTTYPE_* flags */
-};
-
-enum {
- FDISK_PARTTYPE_UNKNOWN = (1 << 1),
- FDISK_PARTTYPE_INVISIBLE = (1 << 2),
- FDISK_PARTTYPE_ALLOCATED = (1 << 3)
-};
-
-#define fdisk_parttype_is_unknown(_x) ((_x) && ((_x)->flags & FDISK_PARTTYPE_UNKNONW))
-#define fdisk_parttype_is_invisible(_x) ((_x) && ((_x)->flags & FDISK_PARTTYPE_INVISIBLE))
-#define fdisk_parttype_is_allocated(_x) ((_x) && ((_x)->flags & FDISK_PARTTYPE_ALLOCATED))
-
-/*
- * Legacy CHS based geometry
- */
-struct fdisk_geometry {
- unsigned int heads;
- sector_t sectors;
- sector_t cylinders;
-};
-
-struct fdisk_context {
- int dev_fd; /* device descriptor */
- char *dev_path; /* device path */
- unsigned char *firstsector; /* buffer with master boot record */
-
- /* topology */
- unsigned long io_size; /* I/O size used by fdisk */
- unsigned long optimal_io_size; /* optional I/O returned by device */
- unsigned long min_io_size; /* minimal I/O size */
- unsigned long phy_sector_size; /* physical size */
- unsigned long sector_size; /* logical size */
- unsigned long alignment_offset;
-
- enum fdisk_labeltype disklabel; /* current disklabel */
-
- /* alignment */
- unsigned long grain; /* alignment unit */
- sector_t first_lba; /* recommended begin of the first partition */
-
- /* geometry */
- sector_t total_sectors; /* in logical sectors */
- struct fdisk_geometry geom;
-
- /* label operations and description */
- const struct fdisk_label *label;
-};
-
-#define fdisk_is_disklabel(c, x) fdisk_dev_is_disklabel(c, FDISK_DISKLABEL_ ## x)
-
-/*
- * Label specific operations
- */
-struct fdisk_label {
- const char *name;
-
- /* array with partition types */
- struct fdisk_parttype *parttypes;
- size_t nparttypes; /* number of items in parttypes[] */
-
- /* probe disk label */
- int (*probe)(struct fdisk_context *cxt);
- /* write in-memory changes to disk */
- int (*write)(struct fdisk_context *cxt);
- /* verify the partition table */
- int (*verify)(struct fdisk_context *cxt);
- /* create new disk label */
- int (*create)(struct fdisk_context *cxt);
- /* new partition */
- int (*part_add)(struct fdisk_context *cxt, int partnum, struct fdisk_parttype *t);
- /* delete partition */
- int (*part_delete)(struct fdisk_context *cxt, int partnum);
- /* get partition type */
- struct fdisk_parttype *(*part_get_type)(struct fdisk_context *cxt, int partnum);
- /* set partition type */
- int (*part_set_type)(struct fdisk_context *cxt, int partnum, struct fdisk_parttype *t);
- /* refresh alignment setting */
- int (*reset_alignment)(struct fdisk_context *cxt);
-};
-
/*
* labels
*/