Implement list-devices and list-partitions.
[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_mount_args {
20         char *device;
21         char *mountpoint;
22 };
23 typedef struct guestfs_mount_args guestfs_mount_args;
24
25 struct guestfs_touch_args {
26         char *path;
27 };
28 typedef struct guestfs_touch_args guestfs_touch_args;
29
30 struct guestfs_cat_args {
31         char *path;
32 };
33 typedef struct guestfs_cat_args guestfs_cat_args;
34
35 struct guestfs_cat_ret {
36         char *content;
37 };
38 typedef struct guestfs_cat_ret guestfs_cat_ret;
39
40 struct guestfs_ll_args {
41         char *directory;
42 };
43 typedef struct guestfs_ll_args guestfs_ll_args;
44
45 struct guestfs_ll_ret {
46         char *listing;
47 };
48 typedef struct guestfs_ll_ret guestfs_ll_ret;
49
50 struct guestfs_ls_args {
51         char *directory;
52 };
53 typedef struct guestfs_ls_args guestfs_ls_args;
54
55 struct guestfs_ls_ret {
56         struct {
57                 u_int listing_len;
58                 str *listing_val;
59         } listing;
60 };
61 typedef struct guestfs_ls_ret guestfs_ls_ret;
62
63 struct guestfs_list_devices_ret {
64         struct {
65                 u_int devices_len;
66                 str *devices_val;
67         } devices;
68 };
69 typedef struct guestfs_list_devices_ret guestfs_list_devices_ret;
70
71 struct guestfs_list_partitions_ret {
72         struct {
73                 u_int partitions_len;
74                 str *partitions_val;
75         } partitions;
76 };
77 typedef struct guestfs_list_partitions_ret guestfs_list_partitions_ret;
78
79 enum guestfs_procedure {
80         GUESTFS_PROC_MOUNT = 1,
81         GUESTFS_PROC_SYNC = 2,
82         GUESTFS_PROC_TOUCH = 3,
83         GUESTFS_PROC_CAT = 4,
84         GUESTFS_PROC_LL = 5,
85         GUESTFS_PROC_LS = 6,
86         GUESTFS_PROC_LIST_DEVICES = 7,
87         GUESTFS_PROC_LIST_PARTITIONS = 8,
88         GUESTFS_PROC_dummy = 8 + 1,
89 };
90 typedef enum guestfs_procedure guestfs_procedure;
91 #define GUESTFS_MESSAGE_MAX 4194304
92 #define GUESTFS_PROGRAM 0x2000F5F5
93 #define GUESTFS_PROTOCOL_VERSION 1
94
95 enum guestfs_message_direction {
96         GUESTFS_DIRECTION_CALL = 0,
97         GUESTFS_DIRECTION_REPLY = 1,
98 };
99 typedef enum guestfs_message_direction guestfs_message_direction;
100
101 enum guestfs_message_status {
102         GUESTFS_STATUS_OK = 0,
103         GUESTFS_STATUS_ERROR = 1,
104 };
105 typedef enum guestfs_message_status guestfs_message_status;
106 #define GUESTFS_ERROR_LEN 256
107
108 struct guestfs_message_error {
109         char *error;
110 };
111 typedef struct guestfs_message_error guestfs_message_error;
112
113 struct guestfs_message_header {
114         u_int prog;
115         u_int vers;
116         guestfs_procedure proc;
117         guestfs_message_direction direction;
118         u_int serial;
119         guestfs_message_status status;
120 };
121 typedef struct guestfs_message_header guestfs_message_header;
122
123 /* the xdr functions */
124
125 #if defined(__STDC__) || defined(__cplusplus)
126 extern  bool_t xdr_str (XDR *, str*);
127 extern  bool_t xdr_guestfs_mount_args (XDR *, guestfs_mount_args*);
128 extern  bool_t xdr_guestfs_touch_args (XDR *, guestfs_touch_args*);
129 extern  bool_t xdr_guestfs_cat_args (XDR *, guestfs_cat_args*);
130 extern  bool_t xdr_guestfs_cat_ret (XDR *, guestfs_cat_ret*);
131 extern  bool_t xdr_guestfs_ll_args (XDR *, guestfs_ll_args*);
132 extern  bool_t xdr_guestfs_ll_ret (XDR *, guestfs_ll_ret*);
133 extern  bool_t xdr_guestfs_ls_args (XDR *, guestfs_ls_args*);
134 extern  bool_t xdr_guestfs_ls_ret (XDR *, guestfs_ls_ret*);
135 extern  bool_t xdr_guestfs_list_devices_ret (XDR *, guestfs_list_devices_ret*);
136 extern  bool_t xdr_guestfs_list_partitions_ret (XDR *, guestfs_list_partitions_ret*);
137 extern  bool_t xdr_guestfs_procedure (XDR *, guestfs_procedure*);
138 extern  bool_t xdr_guestfs_message_direction (XDR *, guestfs_message_direction*);
139 extern  bool_t xdr_guestfs_message_status (XDR *, guestfs_message_status*);
140 extern  bool_t xdr_guestfs_message_error (XDR *, guestfs_message_error*);
141 extern  bool_t xdr_guestfs_message_header (XDR *, guestfs_message_header*);
142
143 #else /* K&R C */
144 extern bool_t xdr_str ();
145 extern bool_t xdr_guestfs_mount_args ();
146 extern bool_t xdr_guestfs_touch_args ();
147 extern bool_t xdr_guestfs_cat_args ();
148 extern bool_t xdr_guestfs_cat_ret ();
149 extern bool_t xdr_guestfs_ll_args ();
150 extern bool_t xdr_guestfs_ll_ret ();
151 extern bool_t xdr_guestfs_ls_args ();
152 extern bool_t xdr_guestfs_ls_ret ();
153 extern bool_t xdr_guestfs_list_devices_ret ();
154 extern bool_t xdr_guestfs_list_partitions_ret ();
155 extern bool_t xdr_guestfs_procedure ();
156 extern bool_t xdr_guestfs_message_direction ();
157 extern bool_t xdr_guestfs_message_status ();
158 extern bool_t xdr_guestfs_message_error ();
159 extern bool_t xdr_guestfs_message_header ();
160
161 #endif /* K&R C */
162
163 #ifdef __cplusplus
164 }
165 #endif
166
167 #endif /* !_GUESTFS_PROTOCOL_H_RPCGEN */