#include "fdiskP.h" /** * SECTION: field * @title: Field * @short_description: description of the partition fields * * The fdisk fields are static user-friendly descriptions of the partition. The * fields are used to avoid label specific stuff in the functions that list disk * partitions (e.g. fdisk -l). The field Id is the same as Id for fdisk_partition_to_string(). * * * * int *ids; * size_t nids; * struct fdisk_partition *pa = NULL; * struct fdisk_label *lb = fdisk_get_label(cxt, NULL); * * fdisk_label_get_fields_ids(lb, cxt, &ids, &nids); * * fdisk_get_partition(cxt, 0, &pa); * * for (i = 0; i < nids; i++) { * const struct fdisk_field *field = fdisk_label_get_field(lb, ids[i]); * * int id = fdisk_field_get_id(fl); * const char *name = fdisk_field_get_name(fl); * char *data; * * fdisk_partition_to_string(pa, id, &data); * printf("%s: %s\n", name, data); * free(data); * } * free(ids); * * * * This example lists all information about the first partition. It will work * for MBR as well as for GPT because fields are not hardcoded in the example. * * See also fdisk_label_get_field_by_name(), fdisk_label_get_fields_ids_all() * and fdisk_label_get_fields_ids(). */ /** * fdisk_field_get_id: * @field: field instance * * Returns: field Id (FDISK_FIELD_*) */ int fdisk_field_get_id(const struct fdisk_field *field) { return field ? field->id : -EINVAL; } /** * fdisk_field_get_name: * @field: field instance * * Returns: field name */ const char *fdisk_field_get_name(const struct fdisk_field *field) { return field ? field->name : NULL; } /** * fdisk_field_get_width: * @field: field instance * * Returns: libsmartcols compatible width. */ double fdisk_field_get_width(const struct fdisk_field *field) { return field ? field->width : -EINVAL; } /** * fdisk_field_is_number: * @field: field instance * * Returns: 1 if field represent number */ int fdisk_field_is_number(const struct fdisk_field *field) { return field->flags ? field->flags & FDISK_FIELDFL_NUMBER : 0; }