=head2 guestfs_lvm_pv struct guestfs_lvm_pv { char *pv_name; /* The next field is NOT nul-terminated, be careful when printing it: */ char pv_uuid[32]; char *pv_fmt; uint64_t pv_size; uint64_t dev_size; uint64_t pv_free; uint64_t pv_used; char *pv_attr; int64_t pv_pe_count; int64_t pv_pe_alloc_count; char *pv_tags; uint64_t pe_start; int64_t pv_mda_count; uint64_t pv_mda_free; struct guestfs_lvm_pv_list { uint32_t len; /* Number of elements in list. */ struct guestfs_lvm_pv *val; /* Elements. */ }; void guestfs_free_lvm_pv_list (struct guestfs_free_lvm_pv_list *); =head2 guestfs_lvm_vg struct guestfs_lvm_vg { char *vg_name; /* The next field is NOT nul-terminated, be careful when printing it: */ char vg_uuid[32]; char *vg_fmt; char *vg_attr; uint64_t vg_size; uint64_t vg_free; char *vg_sysid; uint64_t vg_extent_size; int64_t vg_extent_count; int64_t vg_free_count; int64_t max_lv; int64_t max_pv; int64_t pv_count; int64_t lv_count; int64_t snap_count; int64_t vg_seqno; char *vg_tags; int64_t vg_mda_count; uint64_t vg_mda_free; struct guestfs_lvm_vg_list { uint32_t len; /* Number of elements in list. */ struct guestfs_lvm_vg *val; /* Elements. */ }; void guestfs_free_lvm_vg_list (struct guestfs_free_lvm_vg_list *); =head2 guestfs_lvm_lv struct guestfs_lvm_lv { char *lv_name; /* The next field is NOT nul-terminated, be careful when printing it: */ char lv_uuid[32]; char *lv_attr; int64_t lv_major; int64_t lv_minor; int64_t lv_kernel_major; int64_t lv_kernel_minor; uint64_t lv_size; int64_t seg_count; char *origin; /* The next field is [0..100] or -1 meaning 'not present': */ float snap_percent; /* The next field is [0..100] or -1 meaning 'not present': */ float copy_percent; char *move_pv; char *lv_tags; char *mirror_log; char *modules; struct guestfs_lvm_lv_list { uint32_t len; /* Number of elements in list. */ struct guestfs_lvm_lv *val; /* Elements. */ }; void guestfs_free_lvm_lv_list (struct guestfs_free_lvm_lv_list *);