a2bf0c13a6d3b4bd145a90de223d2117daf309ff
[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 struct guestfs_read_lines_args {
195         char *path;
196 };
197 typedef struct guestfs_read_lines_args guestfs_read_lines_args;
198
199 struct guestfs_read_lines_ret {
200         struct {
201                 u_int lines_len;
202                 str *lines_val;
203         } lines;
204 };
205 typedef struct guestfs_read_lines_ret guestfs_read_lines_ret;
206
207 enum guestfs_procedure {
208         GUESTFS_PROC_MOUNT = 1,
209         GUESTFS_PROC_SYNC = 2,
210         GUESTFS_PROC_TOUCH = 3,
211         GUESTFS_PROC_CAT = 4,
212         GUESTFS_PROC_LL = 5,
213         GUESTFS_PROC_LS = 6,
214         GUESTFS_PROC_LIST_DEVICES = 7,
215         GUESTFS_PROC_LIST_PARTITIONS = 8,
216         GUESTFS_PROC_PVS = 9,
217         GUESTFS_PROC_VGS = 10,
218         GUESTFS_PROC_LVS = 11,
219         GUESTFS_PROC_PVS_FULL = 12,
220         GUESTFS_PROC_VGS_FULL = 13,
221         GUESTFS_PROC_LVS_FULL = 14,
222         GUESTFS_PROC_READ_LINES = 15,
223         GUESTFS_PROC_dummy = 15 + 1,
224 };
225 typedef enum guestfs_procedure guestfs_procedure;
226 #define GUESTFS_MESSAGE_MAX 4194304
227 #define GUESTFS_PROGRAM 0x2000F5F5
228 #define GUESTFS_PROTOCOL_VERSION 1
229
230 enum guestfs_message_direction {
231         GUESTFS_DIRECTION_CALL = 0,
232         GUESTFS_DIRECTION_REPLY = 1,
233 };
234 typedef enum guestfs_message_direction guestfs_message_direction;
235
236 enum guestfs_message_status {
237         GUESTFS_STATUS_OK = 0,
238         GUESTFS_STATUS_ERROR = 1,
239 };
240 typedef enum guestfs_message_status guestfs_message_status;
241 #define GUESTFS_ERROR_LEN 256
242
243 struct guestfs_message_error {
244         char *error;
245 };
246 typedef struct guestfs_message_error guestfs_message_error;
247
248 struct guestfs_message_header {
249         u_int prog;
250         u_int vers;
251         guestfs_procedure proc;
252         guestfs_message_direction direction;
253         u_int serial;
254         guestfs_message_status status;
255 };
256 typedef struct guestfs_message_header guestfs_message_header;
257
258 /* the xdr functions */
259
260 #if defined(__STDC__) || defined(__cplusplus)
261 extern  bool_t xdr_str (XDR *, str*);
262 extern  bool_t xdr_guestfs_lvm_int_pv (XDR *, guestfs_lvm_int_pv*);
263 extern  bool_t xdr_guestfs_lvm_int_pv_list (XDR *, guestfs_lvm_int_pv_list*);
264 extern  bool_t xdr_guestfs_lvm_int_vg (XDR *, guestfs_lvm_int_vg*);
265 extern  bool_t xdr_guestfs_lvm_int_vg_list (XDR *, guestfs_lvm_int_vg_list*);
266 extern  bool_t xdr_guestfs_lvm_int_lv (XDR *, guestfs_lvm_int_lv*);
267 extern  bool_t xdr_guestfs_lvm_int_lv_list (XDR *, guestfs_lvm_int_lv_list*);
268 extern  bool_t xdr_guestfs_mount_args (XDR *, guestfs_mount_args*);
269 extern  bool_t xdr_guestfs_touch_args (XDR *, guestfs_touch_args*);
270 extern  bool_t xdr_guestfs_cat_args (XDR *, guestfs_cat_args*);
271 extern  bool_t xdr_guestfs_cat_ret (XDR *, guestfs_cat_ret*);
272 extern  bool_t xdr_guestfs_ll_args (XDR *, guestfs_ll_args*);
273 extern  bool_t xdr_guestfs_ll_ret (XDR *, guestfs_ll_ret*);
274 extern  bool_t xdr_guestfs_ls_args (XDR *, guestfs_ls_args*);
275 extern  bool_t xdr_guestfs_ls_ret (XDR *, guestfs_ls_ret*);
276 extern  bool_t xdr_guestfs_list_devices_ret (XDR *, guestfs_list_devices_ret*);
277 extern  bool_t xdr_guestfs_list_partitions_ret (XDR *, guestfs_list_partitions_ret*);
278 extern  bool_t xdr_guestfs_pvs_ret (XDR *, guestfs_pvs_ret*);
279 extern  bool_t xdr_guestfs_vgs_ret (XDR *, guestfs_vgs_ret*);
280 extern  bool_t xdr_guestfs_lvs_ret (XDR *, guestfs_lvs_ret*);
281 extern  bool_t xdr_guestfs_pvs_full_ret (XDR *, guestfs_pvs_full_ret*);
282 extern  bool_t xdr_guestfs_vgs_full_ret (XDR *, guestfs_vgs_full_ret*);
283 extern  bool_t xdr_guestfs_lvs_full_ret (XDR *, guestfs_lvs_full_ret*);
284 extern  bool_t xdr_guestfs_read_lines_args (XDR *, guestfs_read_lines_args*);
285 extern  bool_t xdr_guestfs_read_lines_ret (XDR *, guestfs_read_lines_ret*);
286 extern  bool_t xdr_guestfs_procedure (XDR *, guestfs_procedure*);
287 extern  bool_t xdr_guestfs_message_direction (XDR *, guestfs_message_direction*);
288 extern  bool_t xdr_guestfs_message_status (XDR *, guestfs_message_status*);
289 extern  bool_t xdr_guestfs_message_error (XDR *, guestfs_message_error*);
290 extern  bool_t xdr_guestfs_message_header (XDR *, guestfs_message_header*);
291
292 #else /* K&R C */
293 extern bool_t xdr_str ();
294 extern bool_t xdr_guestfs_lvm_int_pv ();
295 extern bool_t xdr_guestfs_lvm_int_pv_list ();
296 extern bool_t xdr_guestfs_lvm_int_vg ();
297 extern bool_t xdr_guestfs_lvm_int_vg_list ();
298 extern bool_t xdr_guestfs_lvm_int_lv ();
299 extern bool_t xdr_guestfs_lvm_int_lv_list ();
300 extern bool_t xdr_guestfs_mount_args ();
301 extern bool_t xdr_guestfs_touch_args ();
302 extern bool_t xdr_guestfs_cat_args ();
303 extern bool_t xdr_guestfs_cat_ret ();
304 extern bool_t xdr_guestfs_ll_args ();
305 extern bool_t xdr_guestfs_ll_ret ();
306 extern bool_t xdr_guestfs_ls_args ();
307 extern bool_t xdr_guestfs_ls_ret ();
308 extern bool_t xdr_guestfs_list_devices_ret ();
309 extern bool_t xdr_guestfs_list_partitions_ret ();
310 extern bool_t xdr_guestfs_pvs_ret ();
311 extern bool_t xdr_guestfs_vgs_ret ();
312 extern bool_t xdr_guestfs_lvs_ret ();
313 extern bool_t xdr_guestfs_pvs_full_ret ();
314 extern bool_t xdr_guestfs_vgs_full_ret ();
315 extern bool_t xdr_guestfs_lvs_full_ret ();
316 extern bool_t xdr_guestfs_read_lines_args ();
317 extern bool_t xdr_guestfs_read_lines_ret ();
318 extern bool_t xdr_guestfs_procedure ();
319 extern bool_t xdr_guestfs_message_direction ();
320 extern bool_t xdr_guestfs_message_status ();
321 extern bool_t xdr_guestfs_message_error ();
322 extern bool_t xdr_guestfs_message_header ();
323
324 #endif /* K&R C */
325
326 #ifdef __cplusplus
327 }
328 #endif
329
330 #endif /* !_GUESTFS_PROTOCOL_H_RPCGEN */