diff options
author | Karel Zak | 2013-01-28 16:14:21 +0100 |
---|---|---|
committer | Karel Zak | 2013-03-11 13:00:54 +0100 |
commit | 7845ca8dc28c93939d99a1d0564f97eddcba1079 (patch) | |
tree | db23e3fa2004ad30bd4ddfad0ad252706aa55be6 /libfdisk/src/libfdisk.h | |
parent | libfdisk: fix gpt status, don't use xcalloc() in library (diff) | |
download | kernel-qcow2-util-linux-7845ca8dc28c93939d99a1d0564f97eddcba1079.tar.gz kernel-qcow2-util-linux-7845ca8dc28c93939d99a1d0564f97eddcba1079.tar.xz kernel-qcow2-util-linux-7845ca8dc28c93939d99a1d0564f97eddcba1079.zip |
libfdisk: add "ask" interface
Signed-off-by: Karel Zak <kzak@redhat.com>
Diffstat (limited to 'libfdisk/src/libfdisk.h')
-rw-r--r-- | libfdisk/src/libfdisk.h | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/libfdisk/src/libfdisk.h b/libfdisk/src/libfdisk.h index 18b14163e..a19849dc4 100644 --- a/libfdisk/src/libfdisk.h +++ b/libfdisk/src/libfdisk.h @@ -28,6 +28,7 @@ extern "C" { struct fdisk_context; struct fdisk_label; struct fdisk_parttype; +struct fdisk_ask; /* * Supported partition table types (labels) @@ -44,7 +45,7 @@ enum fdisk_labeltype { }; enum { - FDISK_PARTSTAT_NONE, + FDISK_PARTSTAT_NONE = 0, FDISK_PARTSTAT_USED /* partition used */ }; @@ -55,6 +56,10 @@ extern void fdisk_init_debug(int mask); extern struct fdisk_context *fdisk_new_context(void); extern void fdisk_free_context(struct fdisk_context *cxt); +extern int fdisk_context_set_ask(struct fdisk_context *cxt, + int (*ask_cb)(struct fdisk_context *, struct fdisk_ask *, void *), + void *data); + extern int fdisk_context_assign_device(struct fdisk_context *cxt, const char *fname, int readonly); @@ -85,7 +90,7 @@ extern int fdisk_write_disklabel(struct fdisk_context *cxt); extern int fdisk_verify_disklabel(struct fdisk_context *cxt); extern int fdisk_create_disklabel(struct fdisk_context *cxt, const char *name); -extern int fdisk_add_partition(struct fdisk_context *cxt, size_t partnum, struct fdisk_parttype *t); +extern int fdisk_add_partition(struct fdisk_context *cxt, struct fdisk_parttype *t); extern int fdisk_delete_partition(struct fdisk_context *cxt, size_t partnum); extern struct fdisk_parttype *fdisk_get_partition_type(struct fdisk_context *cxt, size_t partnum); @@ -105,6 +110,15 @@ extern int fdisk_reset_alignment(struct fdisk_context *cxt); extern int fdisk_dos_enable_compatible(struct fdisk_label *lb, int enable); extern int fdisk_dos_is_compatible(struct fdisk_label *lb); +/* ask.c */ +extern const char *fdisk_ask_get_question(struct fdisk_ask *ask); +extern int fdisk_ask_get_type(struct fdisk_ask *ask); +extern const char *fdisk_ask_number_get_range(struct fdisk_ask *ask); +extern uint64_t fdisk_ask_number_get_default(struct fdisk_ask *ask); +extern uint64_t fdisk_ask_number_get_low(struct fdisk_ask *ask); +extern uint64_t fdisk_ask_number_get_high(struct fdisk_ask *ask); +extern int fdisk_ask_number_set_result(struct fdisk_ask *ask, uint64_t result); + #ifdef __cplusplus } #endif |