2 // package name placeholder
5 required string substuff1 = 1 [default = "1"];
6 required int32 substuff2 = 2 [default = 2];
7 optional fixed32 substuff3 = 3 [default = 3];
10 message EmptyMessage {
15 Negative = -2147483647; /* protoc doesn't accept -2147483648 here */
16 Positive = 2147483647;
20 required int32 int32_min = 1 [default = 2147483647];
21 required int32 int32_max = 2 [default = -2147483647];
22 required uint32 uint32_min = 3 [default = 4294967295];
23 required uint32 uint32_max = 4 [default = 0];
24 required int64 int64_min = 5 [default = 9223372036854775807];
25 required int64 int64_max = 6 [default = -9223372036854775807];
26 required uint64 uint64_min = 7 [default = 18446744073709551615];
27 required uint64 uint64_max = 8 [default = 0];
28 required HugeEnum enum_min = 9 [default = Positive];
29 required HugeEnum enum_max = 10 [default = Negative];
40 required int32 req_int32 = 1;
41 required int64 req_int64 = 2;
42 required uint32 req_uint32 = 3;
43 required uint64 req_uint64 = 4;
44 required sint32 req_sint32 = 5;
45 required sint64 req_sint64 = 6;
46 required bool req_bool = 7;
48 required fixed32 req_fixed32 = 8;
49 required sfixed32 req_sfixed32= 9;
50 required float req_float = 10;
52 required fixed64 req_fixed64 = 11;
53 required sfixed64 req_sfixed64= 12;
54 required double req_double = 13;
56 required string req_string = 14;
57 required bytes req_bytes = 15;
58 required SubMessage req_submsg = 16;
59 required MyEnum req_enum = 17;
60 required EmptyMessage req_emptymsg = 18;
63 repeated int32 rep_int32 = 21 [packed = true];
64 repeated int64 rep_int64 = 22 [packed = true];
65 repeated uint32 rep_uint32 = 23 [packed = true];
66 repeated uint64 rep_uint64 = 24 [packed = true];
67 repeated sint32 rep_sint32 = 25 [packed = true];
68 repeated sint64 rep_sint64 = 26 [packed = true];
69 repeated bool rep_bool = 27 [packed = true];
71 repeated fixed32 rep_fixed32 = 28 [packed = true];
72 repeated sfixed32 rep_sfixed32= 29 [packed = true];
73 repeated float rep_float = 30 [packed = true];
75 repeated fixed64 rep_fixed64 = 31 [packed = true];
76 repeated sfixed64 rep_sfixed64= 32 [packed = true];
77 repeated double rep_double = 33 [packed = true];
79 repeated string rep_string = 34;
80 repeated bytes rep_bytes = 35;
81 repeated SubMessage rep_submsg = 36;
82 repeated MyEnum rep_enum = 37 [packed = true];
83 repeated EmptyMessage rep_emptymsg = 38;
85 optional int32 opt_int32 = 41 [default = 4041];
86 optional int64 opt_int64 = 42 [default = 4042];
87 optional uint32 opt_uint32 = 43 [default = 4043];
88 optional uint64 opt_uint64 = 44 [default = 4044];
89 optional sint32 opt_sint32 = 45 [default = 4045];
90 optional sint64 opt_sint64 = 46 [default = 4046];
91 optional bool opt_bool = 47 [default = false];
93 optional fixed32 opt_fixed32 = 48 [default = 4048];
94 optional sfixed32 opt_sfixed32= 49 [default = 4049];
95 optional float opt_float = 50 [default = 4050];
97 optional fixed64 opt_fixed64 = 51 [default = 4051];
98 optional sfixed64 opt_sfixed64= 52 [default = 4052];
99 optional double opt_double = 53 [default = 4053];
101 optional string opt_string = 54 [default = "4054"];
102 optional bytes opt_bytes = 55 [default = "4055"];
103 optional SubMessage opt_submsg = 56;
104 optional MyEnum opt_enum = 57 [default = Second];
105 optional EmptyMessage opt_emptymsg = 58;
109 SubMessage oneof_msg1 = 59;
110 EmptyMessage oneof_msg2 = 60;
113 // Check that extreme integer values are handled correctly
114 required Limits req_limits = 98;
116 // Just to make sure that the size of the fields has been calculated
117 // properly, i.e. otherwise a bug in last field might not be detected.
118 required int32 end = 99;
121 extensions 200 to 255;