xref: /aosp_15_r20/external/nanopb-c/tests/intsizes/intsizes.proto (revision c8d645cafcee3f91213d30caa0fe303887010b9b)
1*c8d645caSAndroid Build Coastguard Worker/* Test the integer size overriding in nanopb options.
2*c8d645caSAndroid Build Coastguard Worker * This allows to use 8- and 16-bit integer variables, which are not supported
3*c8d645caSAndroid Build Coastguard Worker * directly by Google Protobuf.
4*c8d645caSAndroid Build Coastguard Worker *
5*c8d645caSAndroid Build Coastguard Worker * The int_size setting will override the number of bits, but keep the type
6*c8d645caSAndroid Build Coastguard Worker * otherwise. E.g. uint32 + IS_8 => uint8_t
7*c8d645caSAndroid Build Coastguard Worker */
8*c8d645caSAndroid Build Coastguard Worker
9*c8d645caSAndroid Build Coastguard Workersyntax = "proto2";
10*c8d645caSAndroid Build Coastguard Worker
11*c8d645caSAndroid Build Coastguard Workerimport 'nanopb.proto';
12*c8d645caSAndroid Build Coastguard Worker
13*c8d645caSAndroid Build Coastguard Workermessage IntSizes {
14*c8d645caSAndroid Build Coastguard Worker    required int32  req_int8 =   1  [(nanopb).int_size = IS_8];
15*c8d645caSAndroid Build Coastguard Worker    required uint32 req_uint8 =  2  [(nanopb).int_size = IS_8];
16*c8d645caSAndroid Build Coastguard Worker    required sint32 req_sint8 =  3  [(nanopb).int_size = IS_8];
17*c8d645caSAndroid Build Coastguard Worker    required int32  req_int16 =  4  [(nanopb).int_size = IS_16];
18*c8d645caSAndroid Build Coastguard Worker    required uint32 req_uint16 = 5  [(nanopb).int_size = IS_16];
19*c8d645caSAndroid Build Coastguard Worker    required sint32 req_sint16 = 6  [(nanopb).int_size = IS_16];
20*c8d645caSAndroid Build Coastguard Worker    required int32  req_int32 =  7  [(nanopb).int_size = IS_32];
21*c8d645caSAndroid Build Coastguard Worker    required uint32 req_uint32 = 8  [(nanopb).int_size = IS_32];
22*c8d645caSAndroid Build Coastguard Worker    required sint32 req_sint32 = 9  [(nanopb).int_size = IS_32];
23*c8d645caSAndroid Build Coastguard Worker    required int32  req_int64 =  10 [(nanopb).int_size = IS_64];
24*c8d645caSAndroid Build Coastguard Worker    required uint32 req_uint64 = 11 [(nanopb).int_size = IS_64];
25*c8d645caSAndroid Build Coastguard Worker    required sint32 req_sint64 = 12 [(nanopb).int_size = IS_64];
26*c8d645caSAndroid Build Coastguard Worker}
27*c8d645caSAndroid Build Coastguard Worker
28*c8d645caSAndroid Build Coastguard Workermessage DefaultSizes {
29*c8d645caSAndroid Build Coastguard Worker    required int32  req_int8 =   1 ;
30*c8d645caSAndroid Build Coastguard Worker    required uint32 req_uint8 =  2 ;
31*c8d645caSAndroid Build Coastguard Worker    required sint32 req_sint8 =  3 ;
32*c8d645caSAndroid Build Coastguard Worker    required int32  req_int16 =  4 ;
33*c8d645caSAndroid Build Coastguard Worker    required uint32 req_uint16 = 5 ;
34*c8d645caSAndroid Build Coastguard Worker    required sint32 req_sint16 = 6 ;
35*c8d645caSAndroid Build Coastguard Worker    required int32  req_int32 =  7 ;
36*c8d645caSAndroid Build Coastguard Worker    required uint32 req_uint32 = 8 ;
37*c8d645caSAndroid Build Coastguard Worker    required sint32 req_sint32 = 9 ;
38*c8d645caSAndroid Build Coastguard Worker    required int64  req_int64 =  10;
39*c8d645caSAndroid Build Coastguard Worker    required uint64 req_uint64 = 11;
40*c8d645caSAndroid Build Coastguard Worker    required sint64 req_sint64 = 12;
41*c8d645caSAndroid Build Coastguard Worker}
42