From: Karel Zak Date: Fri, 5 Sep 2014 11:05:34 +0000 (+0200) Subject: libfdisk: add fdisk_partition_is_bootable() X-Git-Tag: v2.26-rc1~399 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=59c8e95b3b2afc1226634ae7fd5d127739c3e67c;p=thirdparty%2Futil-linux.git libfdisk: add fdisk_partition_is_bootable() Signed-off-by: Karel Zak --- diff --git a/libfdisk/src/context.c b/libfdisk/src/context.c index 05a0ef7bf1..fc0025600a 100644 --- a/libfdisk/src/context.c +++ b/libfdisk/src/context.c @@ -263,6 +263,17 @@ int fdisk_has_label(struct fdisk_context *cxt) return cxt && cxt->label; } +/** + * fdisk_get_npartitions: + * @cxt: context + * + * Returns: maximal number of partitions for the current label. + */ +size_t fdisk_get_npartitions(struct fdisk_context *cxt) +{ + return cxt && cxt->label ? cxt->label->nparts_max : 0; +} + /** * fdisk_is_labeltype: * @cxt: fdisk context diff --git a/libfdisk/src/libfdisk.h b/libfdisk/src/libfdisk.h index a38685ecb1..802e243bb7 100644 --- a/libfdisk/src/libfdisk.h +++ b/libfdisk/src/libfdisk.h @@ -84,6 +84,7 @@ void fdisk_unref_context(struct fdisk_context *cxt); void fdisk_ref_context(struct fdisk_context *cxt); struct fdisk_context *fdisk_get_parent(struct fdisk_context *cxt); +size_t fdisk_get_npartitions(struct fdisk_context *cxt); struct fdisk_label *fdisk_get_label(struct fdisk_context *cxt, const char *name); int fdisk_next_label(struct fdisk_context *cxt, struct fdisk_label **lb); @@ -257,6 +258,7 @@ extern int fdisk_partition_is_nested(struct fdisk_partition *pa); extern int fdisk_partition_is_container(struct fdisk_partition *pa); extern int fdisk_partition_get_parent(struct fdisk_partition *pa, size_t *parent); extern int fdisk_partition_is_used(struct fdisk_partition *pa); +extern int fdisk_partition_is_bootable(struct fdisk_partition *pa); extern int fdisk_partition_to_string(struct fdisk_partition *pa, struct fdisk_context *cxt, int id, char **data); diff --git a/libfdisk/src/partition.c b/libfdisk/src/partition.c index 6622d9b103..35ee8ed4e6 100644 --- a/libfdisk/src/partition.c +++ b/libfdisk/src/partition.c @@ -346,6 +346,11 @@ int fdisk_partition_is_used(struct fdisk_partition *pa) return pa && pa->used; } +int fdisk_partition_is_bootable(struct fdisk_partition *pa) +{ + return pa && pa->boot; +} + int fdisk_partition_is_freespace(struct fdisk_partition *pa) { return pa && pa->freespace;