summaryrefslogtreecommitdiffstats
path: root/libfdisk/src/partition.c
diff options
context:
space:
mode:
authorKarel Zak2014-02-04 23:09:26 +0100
committerKarel Zak2014-03-11 11:35:14 +0100
commit5139eca74a4b71fe95ae76599d35bf5275fa045f (patch)
tree2b915e2f4e243bf5d48cbfc82438a4ee620884be /libfdisk/src/partition.c
parentlibfdisk: (dos) consolidate partition end-offset code (diff)
downloadkernel-qcow2-util-linux-5139eca74a4b71fe95ae76599d35bf5275fa045f.tar.gz
kernel-qcow2-util-linux-5139eca74a4b71fe95ae76599d35bf5275fa045f.tar.xz
kernel-qcow2-util-linux-5139eca74a4b71fe95ae76599d35bf5275fa045f.zip
libfdisk: add dump functions, make freespace code generic
Signed-off-by: Karel Zak <kzak@redhat.com>
Diffstat (limited to 'libfdisk/src/partition.c')
-rw-r--r--libfdisk/src/partition.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/libfdisk/src/partition.c b/libfdisk/src/partition.c
index 81594842c..4b46eafb9 100644
--- a/libfdisk/src/partition.c
+++ b/libfdisk/src/partition.c
@@ -55,6 +55,30 @@ void fdisk_unref_partition(struct fdisk_partition *pa)
}
}
+int fdisk_dump_partition(struct fdisk_partition *pa, FILE *f)
+{
+ assert(pa);
+ assert(f);
+
+ if (pa->partno == FDISK_EMPTY_PARTNO)
+ fputs("# ", f);
+ else
+ fprintf(f, "#%zu ", pa->partno);
+
+ fprintf(f, "[%p] start=%ju, end=%ju, size=%ju",
+ pa, pa->start, pa->end, pa->size);
+ if (pa->parent_partno != FDISK_EMPTY_PARTNO)
+ fprintf(f, ", parent=%zu", pa->parent_partno);
+ if (fdisk_partition_is_freespace(pa))
+ fputs(" freespace", f);
+ if (fdisk_partition_is_container(pa))
+ fputs(" container", f);
+ if (fdisk_partition_is_nested(pa))
+ fputs(" nested", f);
+ fputc('\n', f);
+ return 0;
+}
+
int fdisk_partition_set_start(struct fdisk_partition *pa, uint64_t off)
{
if (!pa)