1/* Automatically generated nanopb header */
2/* Generated by nanopb-0.4.9-dev */
3
4#ifndef PB_MOSRPC_BLOCKDEV_BLOCKDEV_PB_H_INCLUDED
5#define PB_MOSRPC_BLOCKDEV_BLOCKDEV_PB_H_INCLUDED
6#include <pb.h>
7#include "mosrpc.pb.h"
8
9#if PB_PROTO_HEADER_VERSION != 40
10#error Regenerate this file with the current version of nanopb generator.
11#endif
12
13/* Struct definitions */
14typedef struct _mosrpc_blockdev_blockdev {
15 uint32_t devid;
16} mosrpc_blockdev_blockdev;
17
18typedef struct _mosrpc_blockdev_partition {
19 uint32_t partid;
20} mosrpc_blockdev_partition;
21
22typedef struct _mosrpc_blockdev_blockdev_info {
23 char *name;
24 uint64_t size;
25 uint32_t block_size;
26 uint64_t n_blocks;
27} mosrpc_blockdev_blockdev_info;
28
29typedef struct _mosrpc_blockdev_partition_info {
30 char *name;
31 uint64_t size;
32 uint32_t partid;
33} mosrpc_blockdev_partition_info;
34
35typedef struct _mosrpc_blockdev_register_device_request {
36 char *server_name;
37 mosrpc_blockdev_blockdev_info device_info;
38} mosrpc_blockdev_register_device_request;
39
40typedef struct _mosrpc_blockdev_register_device_response {
41 mosrpc_result result;
42 uint32_t id;
43} mosrpc_blockdev_register_device_response;
44
45typedef struct _mosrpc_blockdev_register_layer_server_request {
46 char *server_name;
47 pb_size_t partitions_count;
48 struct _mosrpc_blockdev_partition_info *partitions;
49} mosrpc_blockdev_register_layer_server_request;
50
51typedef struct _mosrpc_blockdev_register_layer_server_response {
52 mosrpc_result result;
53 uint32_t id;
54} mosrpc_blockdev_register_layer_server_response;
55
56/* ! read */
57typedef struct _mosrpc_blockdev_read_block_request {
58 mosrpc_blockdev_blockdev device; /* caller only */
59 uint64_t n_boffset;
60 uint32_t n_blocks;
61} mosrpc_blockdev_read_block_request;
62
63typedef struct _mosrpc_blockdev_read_block_response {
64 mosrpc_result result;
65 pb_bytes_array_t *data;
66} mosrpc_blockdev_read_block_response;
67
68/* ! write */
69typedef struct _mosrpc_blockdev_write_block_request {
70 mosrpc_blockdev_blockdev device; /* caller only */
71 pb_bytes_array_t *data;
72 uint64_t n_boffset;
73 uint32_t n_blocks;
74} mosrpc_blockdev_write_block_request;
75
76typedef struct _mosrpc_blockdev_write_block_response {
77 mosrpc_result result;
78 uint32_t n_blocks;
79} mosrpc_blockdev_write_block_response;
80
81/* ! open device */
82typedef struct _mosrpc_blockdev_open_device_request {
83 char *device_name;
84} mosrpc_blockdev_open_device_request;
85
86typedef struct _mosrpc_blockdev_open_device_response {
87 mosrpc_result result;
88 mosrpc_blockdev_blockdev device;
89} mosrpc_blockdev_open_device_response;
90
91typedef struct _mosrpc_blockdev_read_partition_block_request {
92 mosrpc_blockdev_blockdev device;
93 mosrpc_blockdev_partition partition;
94 uint64_t n_boffset;
95 uint32_t n_blocks;
96} mosrpc_blockdev_read_partition_block_request;
97
98typedef struct _mosrpc_blockdev_write_partition_block_request {
99 mosrpc_blockdev_blockdev device;
100 mosrpc_blockdev_partition partition;
101 pb_bytes_array_t *data;
102 uint64_t n_boffset;
103 uint32_t n_blocks;
104} mosrpc_blockdev_write_partition_block_request;
105
106
107#ifdef __cplusplus
108extern "C" {
109#endif
110
111/* Initializer values for message structs */
112#define mosrpc_blockdev_blockdev_init_default {0}
113#define mosrpc_blockdev_partition_init_default {0}
114#define mosrpc_blockdev_blockdev_info_init_default {NULL, 0, 0, 0}
115#define mosrpc_blockdev_partition_info_init_default {NULL, 0, 0}
116#define mosrpc_blockdev_register_device_request_init_default {NULL, mosrpc_blockdev_blockdev_info_init_default}
117#define mosrpc_blockdev_register_device_response_init_default {mosrpc_result_init_default, 0}
118#define mosrpc_blockdev_register_layer_server_request_init_default {NULL, 0, NULL}
119#define mosrpc_blockdev_register_layer_server_response_init_default {mosrpc_result_init_default, 0}
120#define mosrpc_blockdev_read_block_request_init_default {mosrpc_blockdev_blockdev_init_default, 0, 0}
121#define mosrpc_blockdev_read_block_response_init_default {mosrpc_result_init_default, NULL}
122#define mosrpc_blockdev_write_block_request_init_default {mosrpc_blockdev_blockdev_init_default, NULL, 0, 0}
123#define mosrpc_blockdev_write_block_response_init_default {mosrpc_result_init_default, 0}
124#define mosrpc_blockdev_open_device_request_init_default {NULL}
125#define mosrpc_blockdev_open_device_response_init_default {mosrpc_result_init_default, mosrpc_blockdev_blockdev_init_default}
126#define mosrpc_blockdev_read_partition_block_request_init_default {mosrpc_blockdev_blockdev_init_default, mosrpc_blockdev_partition_init_default, 0, 0}
127#define mosrpc_blockdev_write_partition_block_request_init_default {mosrpc_blockdev_blockdev_init_default, mosrpc_blockdev_partition_init_default, NULL, 0, 0}
128#define mosrpc_blockdev_blockdev_init_zero {0}
129#define mosrpc_blockdev_partition_init_zero {0}
130#define mosrpc_blockdev_blockdev_info_init_zero {NULL, 0, 0, 0}
131#define mosrpc_blockdev_partition_info_init_zero {NULL, 0, 0}
132#define mosrpc_blockdev_register_device_request_init_zero {NULL, mosrpc_blockdev_blockdev_info_init_zero}
133#define mosrpc_blockdev_register_device_response_init_zero {mosrpc_result_init_zero, 0}
134#define mosrpc_blockdev_register_layer_server_request_init_zero {NULL, 0, NULL}
135#define mosrpc_blockdev_register_layer_server_response_init_zero {mosrpc_result_init_zero, 0}
136#define mosrpc_blockdev_read_block_request_init_zero {mosrpc_blockdev_blockdev_init_zero, 0, 0}
137#define mosrpc_blockdev_read_block_response_init_zero {mosrpc_result_init_zero, NULL}
138#define mosrpc_blockdev_write_block_request_init_zero {mosrpc_blockdev_blockdev_init_zero, NULL, 0, 0}
139#define mosrpc_blockdev_write_block_response_init_zero {mosrpc_result_init_zero, 0}
140#define mosrpc_blockdev_open_device_request_init_zero {NULL}
141#define mosrpc_blockdev_open_device_response_init_zero {mosrpc_result_init_zero, mosrpc_blockdev_blockdev_init_zero}
142#define mosrpc_blockdev_read_partition_block_request_init_zero {mosrpc_blockdev_blockdev_init_zero, mosrpc_blockdev_partition_init_zero, 0, 0}
143#define mosrpc_blockdev_write_partition_block_request_init_zero {mosrpc_blockdev_blockdev_init_zero, mosrpc_blockdev_partition_init_zero, NULL, 0, 0}
144
145/* Field tags (for use in manual encoding/decoding) */
146#define mosrpc_blockdev_blockdev_devid_tag 1
147#define mosrpc_blockdev_partition_partid_tag 1
148#define mosrpc_blockdev_blockdev_info_name_tag 1
149#define mosrpc_blockdev_blockdev_info_size_tag 2
150#define mosrpc_blockdev_blockdev_info_block_size_tag 3
151#define mosrpc_blockdev_blockdev_info_n_blocks_tag 4
152#define mosrpc_blockdev_partition_info_name_tag 1
153#define mosrpc_blockdev_partition_info_size_tag 2
154#define mosrpc_blockdev_partition_info_partid_tag 3
155#define mosrpc_blockdev_register_device_request_server_name_tag 1
156#define mosrpc_blockdev_register_device_request_device_info_tag 2
157#define mosrpc_blockdev_register_device_response_result_tag 1
158#define mosrpc_blockdev_register_device_response_id_tag 2
159#define mosrpc_blockdev_register_layer_server_request_server_name_tag 1
160#define mosrpc_blockdev_register_layer_server_request_partitions_tag 2
161#define mosrpc_blockdev_register_layer_server_response_result_tag 1
162#define mosrpc_blockdev_register_layer_server_response_id_tag 2
163#define mosrpc_blockdev_read_block_request_device_tag 1
164#define mosrpc_blockdev_read_block_request_n_boffset_tag 2
165#define mosrpc_blockdev_read_block_request_n_blocks_tag 3
166#define mosrpc_blockdev_read_block_response_result_tag 1
167#define mosrpc_blockdev_read_block_response_data_tag 2
168#define mosrpc_blockdev_write_block_request_device_tag 1
169#define mosrpc_blockdev_write_block_request_data_tag 2
170#define mosrpc_blockdev_write_block_request_n_boffset_tag 3
171#define mosrpc_blockdev_write_block_request_n_blocks_tag 4
172#define mosrpc_blockdev_write_block_response_result_tag 1
173#define mosrpc_blockdev_write_block_response_n_blocks_tag 2
174#define mosrpc_blockdev_open_device_request_device_name_tag 1
175#define mosrpc_blockdev_open_device_response_result_tag 1
176#define mosrpc_blockdev_open_device_response_device_tag 2
177#define mosrpc_blockdev_read_partition_block_request_device_tag 1
178#define mosrpc_blockdev_read_partition_block_request_partition_tag 2
179#define mosrpc_blockdev_read_partition_block_request_n_boffset_tag 3
180#define mosrpc_blockdev_read_partition_block_request_n_blocks_tag 4
181#define mosrpc_blockdev_write_partition_block_request_device_tag 1
182#define mosrpc_blockdev_write_partition_block_request_partition_tag 2
183#define mosrpc_blockdev_write_partition_block_request_data_tag 3
184#define mosrpc_blockdev_write_partition_block_request_n_boffset_tag 4
185#define mosrpc_blockdev_write_partition_block_request_n_blocks_tag 5
186
187/* Struct field encoding specification for nanopb */
188#define mosrpc_blockdev_blockdev_FIELDLIST(X, a) \
189X(a, STATIC, SINGULAR, UINT32, devid, 1)
190#define mosrpc_blockdev_blockdev_CALLBACK NULL
191#define mosrpc_blockdev_blockdev_DEFAULT NULL
192
193#define mosrpc_blockdev_partition_FIELDLIST(X, a) \
194X(a, STATIC, SINGULAR, UINT32, partid, 1)
195#define mosrpc_blockdev_partition_CALLBACK NULL
196#define mosrpc_blockdev_partition_DEFAULT NULL
197
198#define mosrpc_blockdev_blockdev_info_FIELDLIST(X, a) \
199X(a, POINTER, SINGULAR, STRING, name, 1) \
200X(a, STATIC, SINGULAR, UINT64, size, 2) \
201X(a, STATIC, SINGULAR, UINT32, block_size, 3) \
202X(a, STATIC, SINGULAR, UINT64, n_blocks, 4)
203#define mosrpc_blockdev_blockdev_info_CALLBACK NULL
204#define mosrpc_blockdev_blockdev_info_DEFAULT NULL
205
206#define mosrpc_blockdev_partition_info_FIELDLIST(X, a) \
207X(a, POINTER, SINGULAR, STRING, name, 1) \
208X(a, STATIC, SINGULAR, UINT64, size, 2) \
209X(a, STATIC, SINGULAR, UINT32, partid, 3)
210#define mosrpc_blockdev_partition_info_CALLBACK NULL
211#define mosrpc_blockdev_partition_info_DEFAULT NULL
212
213#define mosrpc_blockdev_register_device_request_FIELDLIST(X, a) \
214X(a, POINTER, SINGULAR, STRING, server_name, 1) \
215X(a, STATIC, SINGULAR, MESSAGE, device_info, 2)
216#define mosrpc_blockdev_register_device_request_CALLBACK NULL
217#define mosrpc_blockdev_register_device_request_DEFAULT NULL
218#define mosrpc_blockdev_register_device_request_device_info_MSGTYPE mosrpc_blockdev_blockdev_info
219
220#define mosrpc_blockdev_register_device_response_FIELDLIST(X, a) \
221X(a, STATIC, SINGULAR, MESSAGE, result, 1) \
222X(a, STATIC, SINGULAR, UINT32, id, 2)
223#define mosrpc_blockdev_register_device_response_CALLBACK NULL
224#define mosrpc_blockdev_register_device_response_DEFAULT NULL
225#define mosrpc_blockdev_register_device_response_result_MSGTYPE mosrpc_result
226
227#define mosrpc_blockdev_register_layer_server_request_FIELDLIST(X, a) \
228X(a, POINTER, SINGULAR, STRING, server_name, 1) \
229X(a, POINTER, REPEATED, MESSAGE, partitions, 2)
230#define mosrpc_blockdev_register_layer_server_request_CALLBACK NULL
231#define mosrpc_blockdev_register_layer_server_request_DEFAULT NULL
232#define mosrpc_blockdev_register_layer_server_request_partitions_MSGTYPE mosrpc_blockdev_partition_info
233
234#define mosrpc_blockdev_register_layer_server_response_FIELDLIST(X, a) \
235X(a, STATIC, SINGULAR, MESSAGE, result, 1) \
236X(a, STATIC, SINGULAR, UINT32, id, 2)
237#define mosrpc_blockdev_register_layer_server_response_CALLBACK NULL
238#define mosrpc_blockdev_register_layer_server_response_DEFAULT NULL
239#define mosrpc_blockdev_register_layer_server_response_result_MSGTYPE mosrpc_result
240
241#define mosrpc_blockdev_read_block_request_FIELDLIST(X, a) \
242X(a, STATIC, SINGULAR, MESSAGE, device, 1) \
243X(a, STATIC, SINGULAR, UINT64, n_boffset, 2) \
244X(a, STATIC, SINGULAR, UINT32, n_blocks, 3)
245#define mosrpc_blockdev_read_block_request_CALLBACK NULL
246#define mosrpc_blockdev_read_block_request_DEFAULT NULL
247#define mosrpc_blockdev_read_block_request_device_MSGTYPE mosrpc_blockdev_blockdev
248
249#define mosrpc_blockdev_read_block_response_FIELDLIST(X, a) \
250X(a, STATIC, SINGULAR, MESSAGE, result, 1) \
251X(a, POINTER, SINGULAR, BYTES, data, 2)
252#define mosrpc_blockdev_read_block_response_CALLBACK NULL
253#define mosrpc_blockdev_read_block_response_DEFAULT NULL
254#define mosrpc_blockdev_read_block_response_result_MSGTYPE mosrpc_result
255
256#define mosrpc_blockdev_write_block_request_FIELDLIST(X, a) \
257X(a, STATIC, SINGULAR, MESSAGE, device, 1) \
258X(a, POINTER, SINGULAR, BYTES, data, 2) \
259X(a, STATIC, SINGULAR, UINT64, n_boffset, 3) \
260X(a, STATIC, SINGULAR, UINT32, n_blocks, 4)
261#define mosrpc_blockdev_write_block_request_CALLBACK NULL
262#define mosrpc_blockdev_write_block_request_DEFAULT NULL
263#define mosrpc_blockdev_write_block_request_device_MSGTYPE mosrpc_blockdev_blockdev
264
265#define mosrpc_blockdev_write_block_response_FIELDLIST(X, a) \
266X(a, STATIC, SINGULAR, MESSAGE, result, 1) \
267X(a, STATIC, SINGULAR, UINT32, n_blocks, 2)
268#define mosrpc_blockdev_write_block_response_CALLBACK NULL
269#define mosrpc_blockdev_write_block_response_DEFAULT NULL
270#define mosrpc_blockdev_write_block_response_result_MSGTYPE mosrpc_result
271
272#define mosrpc_blockdev_open_device_request_FIELDLIST(X, a) \
273X(a, POINTER, SINGULAR, STRING, device_name, 1)
274#define mosrpc_blockdev_open_device_request_CALLBACK NULL
275#define mosrpc_blockdev_open_device_request_DEFAULT NULL
276
277#define mosrpc_blockdev_open_device_response_FIELDLIST(X, a) \
278X(a, STATIC, SINGULAR, MESSAGE, result, 1) \
279X(a, STATIC, SINGULAR, MESSAGE, device, 2)
280#define mosrpc_blockdev_open_device_response_CALLBACK NULL
281#define mosrpc_blockdev_open_device_response_DEFAULT NULL
282#define mosrpc_blockdev_open_device_response_result_MSGTYPE mosrpc_result
283#define mosrpc_blockdev_open_device_response_device_MSGTYPE mosrpc_blockdev_blockdev
284
285#define mosrpc_blockdev_read_partition_block_request_FIELDLIST(X, a) \
286X(a, STATIC, SINGULAR, MESSAGE, device, 1) \
287X(a, STATIC, SINGULAR, MESSAGE, partition, 2) \
288X(a, STATIC, SINGULAR, UINT64, n_boffset, 3) \
289X(a, STATIC, SINGULAR, UINT32, n_blocks, 4)
290#define mosrpc_blockdev_read_partition_block_request_CALLBACK NULL
291#define mosrpc_blockdev_read_partition_block_request_DEFAULT NULL
292#define mosrpc_blockdev_read_partition_block_request_device_MSGTYPE mosrpc_blockdev_blockdev
293#define mosrpc_blockdev_read_partition_block_request_partition_MSGTYPE mosrpc_blockdev_partition
294
295#define mosrpc_blockdev_write_partition_block_request_FIELDLIST(X, a) \
296X(a, STATIC, SINGULAR, MESSAGE, device, 1) \
297X(a, STATIC, SINGULAR, MESSAGE, partition, 2) \
298X(a, POINTER, SINGULAR, BYTES, data, 3) \
299X(a, STATIC, SINGULAR, UINT64, n_boffset, 4) \
300X(a, STATIC, SINGULAR, UINT32, n_blocks, 5)
301#define mosrpc_blockdev_write_partition_block_request_CALLBACK NULL
302#define mosrpc_blockdev_write_partition_block_request_DEFAULT NULL
303#define mosrpc_blockdev_write_partition_block_request_device_MSGTYPE mosrpc_blockdev_blockdev
304#define mosrpc_blockdev_write_partition_block_request_partition_MSGTYPE mosrpc_blockdev_partition
305
306extern const pb_msgdesc_t mosrpc_blockdev_blockdev_msg;
307extern const pb_msgdesc_t mosrpc_blockdev_partition_msg;
308extern const pb_msgdesc_t mosrpc_blockdev_blockdev_info_msg;
309extern const pb_msgdesc_t mosrpc_blockdev_partition_info_msg;
310extern const pb_msgdesc_t mosrpc_blockdev_register_device_request_msg;
311extern const pb_msgdesc_t mosrpc_blockdev_register_device_response_msg;
312extern const pb_msgdesc_t mosrpc_blockdev_register_layer_server_request_msg;
313extern const pb_msgdesc_t mosrpc_blockdev_register_layer_server_response_msg;
314extern const pb_msgdesc_t mosrpc_blockdev_read_block_request_msg;
315extern const pb_msgdesc_t mosrpc_blockdev_read_block_response_msg;
316extern const pb_msgdesc_t mosrpc_blockdev_write_block_request_msg;
317extern const pb_msgdesc_t mosrpc_blockdev_write_block_response_msg;
318extern const pb_msgdesc_t mosrpc_blockdev_open_device_request_msg;
319extern const pb_msgdesc_t mosrpc_blockdev_open_device_response_msg;
320extern const pb_msgdesc_t mosrpc_blockdev_read_partition_block_request_msg;
321extern const pb_msgdesc_t mosrpc_blockdev_write_partition_block_request_msg;
322
323/* Defines for backwards compatibility with code written before nanopb-0.4.0 */
324#define mosrpc_blockdev_blockdev_fields &mosrpc_blockdev_blockdev_msg
325#define mosrpc_blockdev_partition_fields &mosrpc_blockdev_partition_msg
326#define mosrpc_blockdev_blockdev_info_fields &mosrpc_blockdev_blockdev_info_msg
327#define mosrpc_blockdev_partition_info_fields &mosrpc_blockdev_partition_info_msg
328#define mosrpc_blockdev_register_device_request_fields &mosrpc_blockdev_register_device_request_msg
329#define mosrpc_blockdev_register_device_response_fields &mosrpc_blockdev_register_device_response_msg
330#define mosrpc_blockdev_register_layer_server_request_fields &mosrpc_blockdev_register_layer_server_request_msg
331#define mosrpc_blockdev_register_layer_server_response_fields &mosrpc_blockdev_register_layer_server_response_msg
332#define mosrpc_blockdev_read_block_request_fields &mosrpc_blockdev_read_block_request_msg
333#define mosrpc_blockdev_read_block_response_fields &mosrpc_blockdev_read_block_response_msg
334#define mosrpc_blockdev_write_block_request_fields &mosrpc_blockdev_write_block_request_msg
335#define mosrpc_blockdev_write_block_response_fields &mosrpc_blockdev_write_block_response_msg
336#define mosrpc_blockdev_open_device_request_fields &mosrpc_blockdev_open_device_request_msg
337#define mosrpc_blockdev_open_device_response_fields &mosrpc_blockdev_open_device_response_msg
338#define mosrpc_blockdev_read_partition_block_request_fields &mosrpc_blockdev_read_partition_block_request_msg
339#define mosrpc_blockdev_write_partition_block_request_fields &mosrpc_blockdev_write_partition_block_request_msg
340
341/* Maximum encoded size of messages (where known) */
342/* mosrpc_blockdev_blockdev_info_size depends on runtime parameters */
343/* mosrpc_blockdev_partition_info_size depends on runtime parameters */
344/* mosrpc_blockdev_register_device_request_size depends on runtime parameters */
345/* mosrpc_blockdev_register_layer_server_request_size depends on runtime parameters */
346/* mosrpc_blockdev_read_block_response_size depends on runtime parameters */
347/* mosrpc_blockdev_write_block_request_size depends on runtime parameters */
348/* mosrpc_blockdev_open_device_request_size depends on runtime parameters */
349/* mosrpc_blockdev_write_partition_block_request_size depends on runtime parameters */
350#define MOSRPC_BLOCKDEV_BLOCKDEV_PB_H_MAX_SIZE mosrpc_blockdev_read_partition_block_request_size
351#define mosrpc_blockdev_blockdev_size 6
352#define mosrpc_blockdev_partition_size 6
353#define mosrpc_blockdev_read_block_request_size 25
354#define mosrpc_blockdev_read_partition_block_request_size 33
355#if defined(mosrpc_result_size)
356#define mosrpc_blockdev_open_device_response_size (14 + mosrpc_result_size)
357#define mosrpc_blockdev_register_device_response_size (12 + mosrpc_result_size)
358#define mosrpc_blockdev_register_layer_server_response_size (12 + mosrpc_result_size)
359#define mosrpc_blockdev_write_block_response_size (12 + mosrpc_result_size)
360#endif
361
362#ifdef __cplusplus
363} /* extern "C" */
364#endif
365
366#endif
367