blob: f66109ecd1ca82c43ace6a79619fe9b204a9adb3 [file] [log] [blame]
syntax = "proto3";
// package name placeholder
message SubMessage {
string substuff1 = 1;
int32 substuff2 = 2;
fixed32 substuff3 = 3;
}
message EmptyMessage {
}
enum HugeEnum {
HE_Zero = 0;
Negative = -2147483647; /* protoc doesn't accept -2147483648 here */
Positive = 2147483647;
}
message Limits {
int32 int32_min = 1;
int32 int32_max = 2;
uint32 uint32_min = 3;
uint32 uint32_max = 4;
int64 int64_min = 5;
int64 int64_max = 6;
uint64 uint64_min = 7;
uint64 uint64_max = 8;
HugeEnum enum_min = 9;
HugeEnum enum_max = 10;
}
enum MyEnum {
Zero = 0;
First = 1;
Second = 2;
Truth = 42;
}
message AllTypes {
int32 sng_int32 = 1;
int64 sng_int64 = 2;
uint32 sng_uint32 = 3;
uint64 sng_uint64 = 4;
sint32 sng_sint32 = 5;
sint64 sng_sint64 = 6;
bool sng_bool = 7;
fixed32 sng_fixed32 = 8;
sfixed32 sng_sfixed32= 9;
float sng_float = 10;
fixed64 sng_fixed64 = 11;
sfixed64 sng_sfixed64= 12;
double sng_double = 13;
string sng_string = 14;
bytes sng_bytes = 15;
SubMessage sng_submsg = 16;
MyEnum sng_enum = 17;
EmptyMessage sng_emptymsg = 18;
bytes sng_fbytes = 19;
repeated int32 rep_int32 = 21 [packed = true];
repeated int64 rep_int64 = 22 [packed = true];
repeated uint32 rep_uint32 = 23 [packed = true];
repeated uint64 rep_uint64 = 24 [packed = true];
repeated sint32 rep_sint32 = 25 [packed = true];
repeated sint64 rep_sint64 = 26 [packed = true];
repeated bool rep_bool = 27 [packed = true];
repeated fixed32 rep_fixed32 = 28 [packed = true];
repeated sfixed32 rep_sfixed32= 29 [packed = true];
repeated float rep_float = 30 [packed = true];
repeated fixed64 rep_fixed64 = 31 [packed = true];
repeated sfixed64 rep_sfixed64= 32 [packed = true];
repeated double rep_double = 33 [packed = true];
repeated string rep_string = 34;
repeated bytes rep_bytes = 35;
repeated SubMessage rep_submsg = 36;
repeated MyEnum rep_enum = 37 [packed = true];
repeated EmptyMessage rep_emptymsg = 38;
repeated bytes rep_fbytes = 39;
oneof oneof
{
SubMessage oneof_msg1 = 59;
EmptyMessage oneof_msg2 = 60;
}
// Check that extreme integer values are handled correctly
Limits req_limits = 98;
// Just to make sure that the size of the fields has been calculated
// properly, i.e. otherwise a bug in last field might not be detected.
int32 end = 99;
}