message SubMessage {
    required string substuff1 = 1 [default = "1"];
    required int32 substuff2 = 2 [default = 2];
    optional fixed32 substuff3 = 65535 [default = 3];
}

message EmptyMessage {

}

enum HugeEnum {
    Negative = -2147483647; /* protoc doesn't accept -2147483648 here */
    Positive =  2147483647;
}

message Limits {
    required int32      int32_min  =  1;
    required int32      int32_max  =  2;
    required uint32     uint32_min =  3;
    required uint32     uint32_max =  4;
    required int64      int64_min  =  5;
    required int64      int64_max  =  6;
    required uint64     uint64_min =  7;
    required uint64     uint64_max =  8;
    required HugeEnum   enum_min   =  9;
    required HugeEnum   enum_max   = 10;
}

enum MyEnum {
    Zero = 0;
    First = 1;
    Second = 2;
    Truth = 42;
}

message AllTypes {
    required int32      req_int32   = 1;
    required int64      req_int64   = 2;
    required uint32     req_uint32  = 3;
    required uint64     req_uint64  = 4;
    required sint32     req_sint32  = 5;
    required sint64     req_sint64  = 6;
    required bool       req_bool    = 7;
    
    required fixed32    req_fixed32 = 8;
    required sfixed32   req_sfixed32= 9;
    required float      req_float   = 10;
    
    required fixed64    req_fixed64 = 11;
    required sfixed64   req_sfixed64= 12;
    required double     req_double  = 13;
    
    required string     req_string  = 14;
    required bytes      req_bytes   = 15;
    required SubMessage req_submsg  = 16;
    required MyEnum     req_enum    = 17;
    required EmptyMessage req_emptymsg = 18;
    
    
    repeated int32      rep_int32   = 21;
    repeated int64      rep_int64   = 22;
    repeated uint32     rep_uint32  = 23;
    repeated uint64     rep_uint64  = 24;
    repeated sint32     rep_sint32  = 25;
    repeated sint64     rep_sint64  = 26;
    repeated bool       rep_bool    = 27;
    
    repeated fixed32    rep_fixed32 = 28;
    repeated sfixed32   rep_sfixed32= 29;
    repeated float      rep_float   = 30;
    
    repeated fixed64    rep_fixed64 = 10031;
    repeated sfixed64   rep_sfixed64= 10032;
    repeated double     rep_double  = 10033;
    
    repeated string     rep_string  = 10034;
    repeated bytes      rep_bytes   = 10035;
    repeated SubMessage rep_submsg  = 10036;
    repeated MyEnum     rep_enum    = 10037;
    repeated EmptyMessage rep_emptymsg = 10038;
    
    optional int32      opt_int32   = 10041 [default = 4041];
    optional int64      opt_int64   = 10042 [default = 4042];
    optional uint32     opt_uint32  = 10043 [default = 4043];
    optional uint64     opt_uint64  = 10044 [default = 4044];
    optional sint32     opt_sint32  = 10045 [default = 4045];
    optional sint64     opt_sint64  = 10046 [default = 4046];
    optional bool       opt_bool    = 10047 [default = false];
    
    optional fixed32    opt_fixed32 = 10048 [default = 4048];
    optional sfixed32   opt_sfixed32= 10049 [default = 4049];
    optional float      opt_float   = 10050 [default = 4050];
    
    optional fixed64    opt_fixed64 = 10051 [default = 4051];
    optional sfixed64   opt_sfixed64= 10052 [default = 4052];
    optional double     opt_double  = 10053 [default = 4053];
    
    optional string     opt_string  = 10054 [default = "4054"];
    optional bytes      opt_bytes   = 10055 [default = "4055"];
    optional SubMessage opt_submsg  = 10056;
    optional MyEnum     opt_enum    = 10057 [default = Second];
    optional EmptyMessage opt_emptymsg = 10058;

    // Check that extreme integer values are handled correctly
    required 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.
    required int32      end = 10099;
}

