Implement simple lvs/vgs/pvs commands.
[libguestfs.git] / src / guestfs_protocol.h
1 /*
2  * Please do not edit this file.
3  * It was generated using rpcgen.
4  */
5
6 #ifndef _GUESTFS_PROTOCOL_H_RPCGEN
7 #define _GUESTFS_PROTOCOL_H_RPCGEN
8
9 #include <rpc/rpc.h>
10
11
12 #ifdef __cplusplus
13 extern "C" {
14 #endif
15
16
17 typedef char *str;
18
19 struct guestfs_lvm_int_pv {
20         char *pv_name;
21         char pv_uuid[32];
22         char *pv_fmt;
23         quad_t pv_size;
24         quad_t dev_size;
25         quad_t pv_free;
26         quad_t pv_used;
27         char *pv_attr;
28         quad_t pv_pe_count;
29         quad_t pv_pe_alloc_count;
30         char *pv_tags;
31         quad_t pe_start;
32         quad_t pv_mda_count;
33         quad_t pv_mda_free;
34 };
35 typedef struct guestfs_lvm_int_pv guestfs_lvm_int_pv;
36
37 typedef struct {
38         u_int guestfs_lvm_int_pv_list_len;
39         guestfs_lvm_int_pv *guestfs_lvm_int_pv_list_val;
40 } guestfs_lvm_int_pv_list;
41
42 struct guestfs_lvm_int_vg {
43         char *vg_name;
44         char vg_uuid[32];
45         char *vg_fmt;
46         char *vg_attr;
47         quad_t vg_size;
48         quad_t vg_free;
49         char *vg_sysid;
50         quad_t vg_extent_size;
51         quad_t vg_extent_count;
52         quad_t vg_free_count;
53         quad_t max_lv;
54         quad_t max_pv;
55         quad_t pv_count;
56         quad_t lv_count;
57         quad_t snap_count;
58         quad_t vg_seqno;
59         char *vg_tags;
60         quad_t vg_mda_count;
61         quad_t vg_mda_free;
62 };
63 typedef struct guestfs_lvm_int_vg guestfs_lvm_int_vg;
64
65 typedef struct {
66         u_int guestfs_lvm_int_vg_list_len;
67         guestfs_lvm_int_vg *guestfs_lvm_int_vg_list_val;
68 } guestfs_lvm_int_vg_list;
69
70 struct guestfs_lvm_int_lv {
71         char *lv_name;
72         char lv_uuid[32];
73         char *lv_attr;
74         quad_t lv_major;
75         quad_t lv_minor;
76         quad_t lv_kernel_major;
77         quad_t lv_kernel_minor;
78         quad_t lv_size;
79         quad_t seg_count;
80         char *origin;
81         float snap_percent;
82         float copy_percent;
83         char *move_pv;
84         char *lv_tags;
85         char *mirror_log;
86         char *modules;
87 };
88 typedef struct guestfs_lvm_int_lv guestfs_lvm_int_lv;
89
90 typedef struct {
91         u_int guestfs_lvm_int_lv_list_len;
92         guestfs_lvm_int_lv *guestfs_lvm_int_lv_list_val;
93 } guestfs_lvm_int_lv_list;
94
95 struct guestfs_mount_args {
96         char *device;
97         char *mountpoint;
98 };
99 typedef struct guestfs_mount_args guestfs_mount_args;
100
101 struct guestfs_touch_args {
102         char *path;
103 };
104 typedef struct guestfs_touch_args guestfs_touch_args;
105
106 struct guestfs_cat_args {
107         char *path;
108 };
109 typedef struct guestfs_cat_args guestfs_cat_args;
110
111 struct guestfs_cat_ret {
112         char *content;
113 };
114 typedef struct guestfs_cat_ret guestfs_cat_ret;
115
116 struct guestfs_ll_args {
117         char *directory;
118 };
119 typedef struct guestfs_ll_args guestfs_ll_args;
120
121 struct guestfs_ll_ret {
122         char *listing;
123 };
124 typedef struct guestfs_ll_ret guestfs_ll_ret;
125
126 struct guestfs_ls_args {
127         char *directory;
128 };
129 typedef struct guestfs_ls_args guestfs_ls_args;
130
131 struct guestfs_ls_ret {
132         struct {
133                 u_int listing_len;
134                 str *listing_val;
135         } listing;
136 };
137 typedef struct guestfs_ls_ret guestfs_ls_ret;
138
139 struct guestfs_list_devices_ret {
140         struct {
141                 u_int devices_len;
142                 str *devices_val;
143         } devices;
144 };
145 typedef struct guestfs_list_devices_ret guestfs_list_devices_ret;
146
147 struct guestfs_list_partitions_ret {
148         struct {
149                 u_int partitions_len;
150                 str *partitions_val;
151         } partitions;
152 };
153 typedef struct guestfs_list_partitions_ret guestfs_list_partitions_ret;
154
155 struct guestfs_pvs_ret {
156         struct {
157                 u_int physvols_len;
158                 str *physvols_val;
159         } physvols;
160 };
161 typedef struct guestfs_pvs_ret guestfs_pvs_ret;
162
163 struct guestfs_vgs_ret {
164         struct {
165                 u_int volgroups_len;
166                 str *volgroups_val;
167         } volgroups;
168 };
169 typedef struct guestfs_vgs_ret guestfs_vgs_ret;
170
171 struct guestfs_lvs_ret {
172         struct {
173                 u_int logvols_len;
174                 str *logvols_val;
175         } logvols;
176 };
177 typedef struct guestfs_lvs_ret guestfs_lvs_ret;
178
179 struct guestfs_pvs_full_ret {
180         guestfs_lvm_int_pv_list physvols;
181 };
182 typedef struct guestfs_pvs_full_ret guestfs_pvs_full_ret;
183
184 struct guestfs_vgs_full_ret {
185         guestfs_lvm_int_vg_list volgroups;
186 };
187 typedef struct guestfs_vgs_full_ret guestfs_vgs_full_ret;
188
189 struct guestfs_lvs_full_ret {
190         guestfs_lvm_int_lv_list logvols;
191 };
192 typedef struct guestfs_lvs_full_ret guestfs_lvs_full_ret;
193
194 enum guestfs_procedure {
195         GUESTFS_PROC_MOUNT = 1,
196         GUESTFS_PROC_SYNC = 2,
197         GUESTFS_PROC_TOUCH = 3,
198         GUESTFS_PROC_CAT = 4,
199         GUESTFS_PROC_LL = 5,
200         GUESTFS_PROC_LS = 6,
201         GUESTFS_PROC_LIST_DEVICES = 7,
202         GUESTFS_PROC_LIST_PARTITIONS = 8,
203         GUESTFS_PROC_PVS = 9,
204         GUESTFS_PROC_VGS = 10,
205         GUESTFS_PROC_LVS = 11,
206         GUESTFS_PROC_PVS_FULL = 12,
207         GUESTFS_PROC_VGS_FULL = 13,
208         GUESTFS_PROC_LVS_FULL = 14,
209         GUESTFS_PROC_dummy = 14 + 1,
210 };
211 typedef enum guestfs_procedure guestfs_procedure;
212 #define GUESTFS_MESSAGE_MAX 4194304
213 #define GUESTFS_PROGRAM 0x2000F5F5
214 #define GUESTFS_PROTOCOL_VERSION 1
215
216 enum guestfs_message_direction {
217         GUESTFS_DIRECTION_CALL = 0,
218         GUESTFS_DIRECTION_REPLY = 1,
219 };
220 typedef enum guestfs_message_direction guestfs_message_direction;
221
222 enum guestfs_message_status {
223         GUESTFS_STATUS_OK = 0,
224         GUESTFS_STATUS_ERROR = 1,
225 };
226 typedef enum guestfs_message_status guestfs_message_status;
227 #define GUESTFS_ERROR_LEN 256
228
229 struct guestfs_message_error {
230         char *error;
231 };
232 typedef struct guestfs_message_error guestfs_message_error;
233
234 struct guestfs_message_header {
235         u_int prog;
236         u_int vers;
237         guestfs_procedure proc;
238         guestfs_message_direction direction;
239         u_int serial;
240         guestfs_message_status status;
241 };
242 typedef struct guestfs_message_header guestfs_message_header;
243
244 /* the xdr functions */
245
246 #if defined(__STDC__) || defined(__cplusplus)
247 extern  bool_t xdr_str (XDR *, str*);
248 extern  bool_t xdr_guestfs_lvm_int_pv (XDR *, guestfs_lvm_int_pv*);
249 extern  bool_t xdr_guestfs_lvm_int_pv_list (XDR *, guestfs_lvm_int_pv_list*);
250 extern  bool_t xdr_guestfs_lvm_int_vg (XDR *, guestfs_lvm_int_vg*);
251 extern  bool_t xdr_guestfs_lvm_int_vg_list (XDR *, guestfs_lvm_int_vg_list*);
252 extern  bool_t xdr_guestfs_lvm_int_lv (XDR *, guestfs_lvm_int_lv*);
253 extern  bool_t xdr_guestfs_lvm_int_lv_list (XDR *, guestfs_lvm_int_lv_list*);
254 extern  bool_t xdr_guestfs_mount_args (XDR *, guestfs_mount_args*);
255 extern  bool_t xdr_guestfs_touch_args (XDR *, guestfs_touch_args*);
256 extern  bool_t xdr_guestfs_cat_args (XDR *, guestfs_cat_args*);
257 extern  bool_t xdr_guestfs_cat_ret (XDR *, guestfs_cat_ret*);
258 extern  bool_t xdr_guestfs_ll_args (XDR *, guestfs_ll_args*);
259 extern  bool_t xdr_guestfs_ll_ret (XDR *, guestfs_ll_ret*);
260 extern  bool_t xdr_guestfs_ls_args (XDR *, guestfs_ls_args*);
261 extern  bool_t xdr_guestfs_ls_ret (XDR *, guestfs_ls_ret*);
262 extern  bool_t xdr_guestfs_list_devices_ret (XDR *, guestfs_list_devices_ret*);
263 extern  bool_t xdr_guestfs_list_partitions_ret (XDR *, guestfs_list_partitions_ret*);
264 extern  bool_t xdr_guestfs_pvs_ret (XDR *, guestfs_pvs_ret*);
265 extern  bool_t xdr_guestfs_vgs_ret (XDR *, guestfs_vgs_ret*);
266 extern  bool_t xdr_guestfs_lvs_ret (XDR *, guestfs_lvs_ret*);
267 extern  bool_t xdr_guestfs_pvs_full_ret (XDR *, guestfs_pvs_full_ret*);
268 extern  bool_t xdr_guestfs_vgs_full_ret (XDR *, guestfs_vgs_full_ret*);
269 extern  bool_t xdr_guestfs_lvs_full_ret (XDR *, guestfs_lvs_full_ret*);
270 extern  bool_t xdr_guestfs_procedure (XDR *, guestfs_procedure*);
271 extern  bool_t xdr_guestfs_message_direction (XDR *, guestfs_message_direction*);
272 extern  bool_t xdr_guestfs_message_status (XDR *, guestfs_message_status*);
273 extern  bool_t xdr_guestfs_message_error (XDR *, guestfs_message_error*);
274 extern  bool_t xdr_guestfs_message_header (XDR *, guestfs_message_header*);
275
276 #else /* K&R C */
277 extern bool_t xdr_str ();
278 extern bool_t xdr_guestfs_lvm_int_pv ();
279 extern bool_t xdr_guestfs_lvm_int_pv_list ();
280 extern bool_t xdr_guestfs_lvm_int_vg ();
281 extern bool_t xdr_guestfs_lvm_int_vg_list ();
282 extern bool_t xdr_guestfs_lvm_int_lv ();
283 extern bool_t xdr_guestfs_lvm_int_lv_list ();
284 extern bool_t xdr_guestfs_mount_args ();
285 extern bool_t xdr_guestfs_touch_args ();
286 extern bool_t xdr_guestfs_cat_args ();
287 extern bool_t xdr_guestfs_cat_ret ();
288 extern bool_t xdr_guestfs_ll_args ();
289 extern bool_t xdr_guestfs_ll_ret ();
290 extern bool_t xdr_guestfs_ls_args ();
291 extern bool_t xdr_guestfs_ls_ret ();
292 extern bool_t xdr_guestfs_list_devices_ret ();
293 extern bool_t xdr_guestfs_list_partitions_ret ();
294 extern bool_t xdr_guestfs_pvs_ret ();
295 extern bool_t xdr_guestfs_vgs_ret ();
296 extern bool_t xdr_guestfs_lvs_ret ();
297 extern bool_t xdr_guestfs_pvs_full_ret ();
298 extern bool_t xdr_guestfs_vgs_full_ret ();
299 extern bool_t xdr_guestfs_lvs_full_ret ();
300 extern bool_t xdr_guestfs_procedure ();
301 extern bool_t xdr_guestfs_message_direction ();
302 extern bool_t xdr_guestfs_message_status ();
303 extern bool_t xdr_guestfs_message_error ();
304 extern bool_t xdr_guestfs_message_header ();
305
306 #endif /* K&R C */
307
308 #ifdef __cplusplus
309 }
310 #endif
311
312 #endif /* !_GUESTFS_PROTOCOL_H_RPCGEN */