X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;f=src%2Fguestfs_protocol.x;h=b2fe5351a201b0e2d334d2a9660d08a6e2339bc6;hb=13339826ea01f8dbd581b5d2544e7692171cf386;hp=df3e936830516326b322e69bb2a89fc49a6718cc;hpb=843514eef9dc6d04d71e031ba9ddb16e2beb9a04;p=libguestfs.git diff --git a/src/guestfs_protocol.x b/src/guestfs_protocol.x index df3e936..b2fe535 100644 --- a/src/guestfs_protocol.x +++ b/src/guestfs_protocol.x @@ -21,6 +21,85 @@ typedef string str<>; +struct guestfs_lvm_int_pv { + string pv_name<>; + opaque pv_uuid[32]; + string pv_fmt<>; + hyper pv_size; + hyper dev_size; + hyper pv_free; + hyper pv_used; + string pv_attr<>; + hyper pv_pe_count; + hyper pv_pe_alloc_count; + string pv_tags<>; + hyper pe_start; + hyper pv_mda_count; + hyper pv_mda_free; +}; + +typedef struct guestfs_lvm_int_pv guestfs_lvm_int_pv_list<>; + +struct guestfs_lvm_int_vg { + string vg_name<>; + opaque vg_uuid[32]; + string vg_fmt<>; + string vg_attr<>; + hyper vg_size; + hyper vg_free; + string vg_sysid<>; + hyper vg_extent_size; + hyper vg_extent_count; + hyper vg_free_count; + hyper max_lv; + hyper max_pv; + hyper pv_count; + hyper lv_count; + hyper snap_count; + hyper vg_seqno; + string vg_tags<>; + hyper vg_mda_count; + hyper vg_mda_free; +}; + +typedef struct guestfs_lvm_int_vg guestfs_lvm_int_vg_list<>; + +struct guestfs_lvm_int_lv { + string lv_name<>; + opaque lv_uuid[32]; + string lv_attr<>; + hyper lv_major; + hyper lv_minor; + hyper lv_kernel_major; + hyper lv_kernel_minor; + hyper lv_size; + hyper seg_count; + string origin<>; + float snap_percent; + float copy_percent; + string move_pv<>; + string lv_tags<>; + string mirror_log<>; + string modules<>; +}; + +typedef struct guestfs_lvm_int_lv guestfs_lvm_int_lv_list<>; + +/* guestfs_mount */ + +struct guestfs_mount_args { + string device<>; + string mountpoint<>; +}; + +/* guestfs_sync */ + +/* guestfs_touch */ + +struct guestfs_touch_args { + string path<>; +}; + /* guestfs_cat */ struct guestfs_cat_args { @@ -51,28 +130,69 @@ struct guestfs_ls_ret { str listing<>; }; -/* guestfs_mount */ +/* guestfs_list_devices */ -struct guestfs_mount_args { - string device<>; - string mountpoint<>; +struct guestfs_list_devices_ret { + str devices<>; }; -/* guestfs_sync */ +/* guestfs_list_partitions */ -/* guestfs_touch */ +struct guestfs_list_partitions_ret { + str partitions<>; +}; -struct guestfs_touch_args { - string path<>; +/* guestfs_pvs */ + +struct guestfs_pvs_ret { + str physvols<>; +}; + +/* guestfs_vgs */ + +struct guestfs_vgs_ret { + str volgroups<>; +}; + +/* guestfs_lvs */ + +struct guestfs_lvs_ret { + str logvols<>; +}; + +/* guestfs_pvs_full */ + +struct guestfs_pvs_full_ret { + guestfs_lvm_int_pv_list physvols; +}; + +/* guestfs_vgs_full */ + +struct guestfs_vgs_full_ret { + guestfs_lvm_int_vg_list volgroups; +}; + +/* guestfs_lvs_full */ + +struct guestfs_lvs_full_ret { + guestfs_lvm_int_lv_list logvols; }; enum guestfs_procedure { - GUESTFS_PROC_CAT = 4, - GUESTFS_PROC_LL = 5, - GUESTFS_PROC_LS = 6, GUESTFS_PROC_MOUNT = 1, GUESTFS_PROC_SYNC = 2, GUESTFS_PROC_TOUCH = 3, + GUESTFS_PROC_CAT = 4, + GUESTFS_PROC_LL = 5, + GUESTFS_PROC_LS = 6, + GUESTFS_PROC_LIST_DEVICES = 7, + GUESTFS_PROC_LIST_PARTITIONS = 8, + GUESTFS_PROC_PVS = 9, + GUESTFS_PROC_VGS = 10, + GUESTFS_PROC_LVS = 11, + GUESTFS_PROC_PVS_FULL = 12, + GUESTFS_PROC_VGS_FULL = 13, + GUESTFS_PROC_LVS_FULL = 14, GUESTFS_PROC_dummy };