From: Karel Zak Date: Thu, 12 May 2016 12:37:29 +0000 (+0200) Subject: libfdisk: add API for work with labelitems X-Git-Tag: v2.29-rc1~249 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=40c9c3a6b7e6c4cda627d76edb14e92e823451c3;p=thirdparty%2Futil-linux.git libfdisk: add API for work with labelitems Signed-off-by: Karel Zak --- diff --git a/libfdisk/docs/libfdisk-sections.txt b/libfdisk/docs/libfdisk-sections.txt index 14d770b7ed..7ae7d9a96d 100644 --- a/libfdisk/docs/libfdisk-sections.txt +++ b/libfdisk/docs/libfdisk-sections.txt @@ -91,13 +91,6 @@ fdisk_get_nlabels fdisk_next_label fdisk_get_npartitions -fdisk_field -fdisk_field_get_id -fdisk_field_get_name -fdisk_field_get_width -fdisk_field_is_number -fdisk_fieldtype - fdisk_label fdisk_is_label fdisk_label_get_field @@ -347,3 +340,27 @@ fdisk_iter_get_direction fdisk_new_iter fdisk_reset_iter + +
+item +fdisk_new_labelitem +fdisk_ref_labelitem +fdisk_reset_labelitem +fdisk_unref_labelitem +fdisk_labelitem_get_name +fdisk_labelitem_get_id +fdisk_labelitem_get_data_u64 +fdisk_labelitem_get_data_string +fdisk_labelitem_is_string +fdisk_labelitem_is_number +
+ +
+field +fdisk_field +fdisk_field_get_id +fdisk_field_get_name +fdisk_field_get_width +fdisk_field_is_number +fdisk_fieldtype +
diff --git a/libfdisk/src/Makemodule.am b/libfdisk/src/Makemodule.am index e24ae56206..e3baf90386 100644 --- a/libfdisk/src/Makemodule.am +++ b/libfdisk/src/Makemodule.am @@ -10,6 +10,7 @@ libfdisk_la_SOURCES = \ libfdisk/src/fdiskP.h \ libfdisk/src/init.c \ libfdisk/src/field.c \ + libfdisk/src/item.c \ libfdisk/src/test.c \ libfdisk/src/ask.c \ libfdisk/src/alignment.c \ @@ -72,7 +73,8 @@ check_PROGRAMS += \ test_fdisk_gpt \ test_fdisk_script \ test_fdisk_utils \ - test_fdisk_version + test_fdisk_version \ + test_fdisk_item libfdisk_tests_cflags = -DTEST_PROGRAM $(libfdisk_la_CFLAGS) $(NO_UNUSED_WARN_CFLAGS) libfdisk_tests_ldflags = libuuid.la -static @@ -107,6 +109,11 @@ test_fdisk_version_CFLAGS = $(libfdisk_tests_cflags) test_fdisk_version_LDFLAGS = $(libfdisk_tests_ldflags) test_fdisk_version_LDADD = $(libfdisk_tests_ldadd) +test_fdisk_item_SOURCES = libfdisk/src/item.c +test_fdisk_item_CFLAGS = $(libfdisk_tests_cflags) +test_fdisk_item_LDFLAGS = $(libfdisk_tests_ldflags) +test_fdisk_item_LDADD = $(libfdisk_tests_ldadd) + endif # BUILD_LIBFDISK_TESTS diff --git a/libfdisk/src/fdiskP.h b/libfdisk/src/fdiskP.h index 6444c3d3e7..e20723e61e 100644 --- a/libfdisk/src/fdiskP.h +++ b/libfdisk/src/fdiskP.h @@ -39,6 +39,7 @@ #define LIBFDISK_DEBUG_TAB (1 << 8) #define LIBFDISK_DEBUG_SCRIPT (1 << 9) #define LIBFDISK_DEBUG_WIPE (1 << 10) +#define LIBFDISK_DEBUG_ITEM (1 << 11) #define LIBFDISK_DEBUG_ALL 0xFFFF UL_DEBUG_DECLARE_MASK(libfdisk); @@ -420,9 +421,10 @@ extern int fdisk_probe_labels(struct fdisk_context *cxt); extern void fdisk_deinit_label(struct fdisk_label *lb); struct fdisk_labelitem { + int refcount; /* reference counter */ int id; /*