Add int_size option for generator.
[apps/agl-service-can-low-level.git] / tests / intsizes / intsizes.proto
1 /* Test the integer size overriding in nanopb options.
2  * This allows to use 8- and 16-bit integer variables, which are not supported
3  * directly by Google Protobuf.
4  *
5  * The int_size setting will override the number of bits, but keep the type
6  * otherwise. E.g. uint32 + IS_8 => uint8_t
7  */
8
9 import 'nanopb.proto';
10
11 message IntSizes {
12     required int32  req_int8 =   1  [(nanopb).int_size = IS_8];
13     required uint32 req_uint8 =  2  [(nanopb).int_size = IS_8];
14     required sint32 req_sint8 =  3  [(nanopb).int_size = IS_8];
15     required int32  req_int16 =  4  [(nanopb).int_size = IS_16];
16     required uint32 req_uint16 = 5  [(nanopb).int_size = IS_16];
17     required sint32 req_sint16 = 6  [(nanopb).int_size = IS_16];
18     required int32  req_int32 =  7  [(nanopb).int_size = IS_32];
19     required uint32 req_uint32 = 8  [(nanopb).int_size = IS_32];
20     required sint32 req_sint32 = 9  [(nanopb).int_size = IS_32];
21     required int32  req_int64 =  10 [(nanopb).int_size = IS_64];
22     required uint32 req_uint64 = 11 [(nanopb).int_size = IS_64];
23     required sint32 req_sint64 = 12 [(nanopb).int_size = IS_64];
24 }
25
26 message DefaultSizes {
27     required int32  req_int8 =   1 ;
28     required uint32 req_uint8 =  2 ;
29     required sint32 req_sint8 =  3 ;
30     required int32  req_int16 =  4 ;
31     required uint32 req_uint16 = 5 ;
32     required sint32 req_sint16 = 6 ;
33     required int32  req_int32 =  7 ;
34     required uint32 req_uint32 = 8 ;
35     required sint32 req_sint32 = 9 ;
36     required int64  req_int64 =  10;
37     required uint64 req_uint64 = 11;
38     required sint64 req_sint64 = 12;
39 }