Rename PB_HTYPE_ARRAY -> PB_HTYPE_REPEATED.
authorPetteri Aimonen <jpa@git.mail.kapsi.fi>
Wed, 20 Feb 2013 19:58:18 +0000 (21:58 +0200)
committerPetteri Aimonen <jpa@git.mail.kapsi.fi>
Wed, 20 Feb 2013 19:58:18 +0000 (21:58 +0200)
This is a more logical name in parallel with PB_HTYPE_REQUIRED and PB_HTYPE_OPTIONAL.

Warning: This breaks backwards-compatibility of generated .pb.c files.
You will have to regenerate the files and recompile.

pb.h
pb_decode.c
pb_encode.c
tests/bc_alltypes.pb.c
tests/bc_alltypes.pb.h

diff --git a/pb.h b/pb.h
index 3d4323a..cd3f465 100644 (file)
--- a/pb.h
+++ b/pb.h
@@ -97,7 +97,7 @@ typedef uint8_t pb_type_t;
 /* Read to pre-allocated array
  * Maximum number of entries is array_size,
  * actual number is stored at size_offset */
-#define PB_HTYPE_ARRAY 0x20
+#define PB_HTYPE_REPEATED 0x20
 
 /* Works for all required/optional/repeated fields.
  * data_offset points to pb_callback_t structure.
@@ -226,7 +226,7 @@ typedef enum {
 
 /* Repeated fields have a _count field and also the maximum number of entries. */
 #define PB_REPEATED_STATIC(tag, st, m, pm, ltype, ptr) \
-    {tag, PB_HTYPE_ARRAY | ltype, \
+    {tag, PB_HTYPE_REPEATED | ltype, \
     pb_delta_end(st, m, pm), \
     pb_delta(st, m ## _count, m), \
     pb_membersize(st, m[0]), \
index d474113..351c8ec 100644 (file)
@@ -303,7 +303,7 @@ static bool pb_field_next(pb_field_iterator_t *iter)
     bool notwrapped = true;
     size_t prev_size = iter->current->data_size;
     
-    if (PB_HTYPE(iter->current->type) == PB_HTYPE_ARRAY)
+    if (PB_HTYPE(iter->current->type) == PB_HTYPE_REPEATED)
         prev_size *= iter->current->array_size;
     
     if (PB_HTYPE(iter->current->type) == PB_HTYPE_REQUIRED)
@@ -356,7 +356,7 @@ static bool checkreturn decode_field(pb_istream_t *stream, pb_wire_type_t wire_t
             *(bool*)iter->pSize = true;
             return func(stream, iter->current, iter->pData);
     
-        case PB_HTYPE_ARRAY:
+        case PB_HTYPE_REPEATED:
             if (wire_type == PB_WT_STRING
                 && PB_LTYPE(iter->current->type) <= PB_LTYPE_LAST_PACKABLE)
             {
@@ -459,7 +459,7 @@ static void pb_message_set_to_defaults(const pb_field_t fields[], void *dest_str
         {
             *(bool*)iter.pSize = false;
         }
-        else if (PB_HTYPE(iter.current->type) == PB_HTYPE_ARRAY)
+        else if (PB_HTYPE(iter.current->type) == PB_HTYPE_REPEATED)
         {
             *(size_t*)iter.pSize = 0;
             continue; /* Array is empty, no need to initialize contents */
@@ -715,7 +715,7 @@ bool checkreturn pb_dec_submessage(pb_istream_t *stream, const pb_field_t *field
     
     /* New array entries need to be initialized, while required and optional
      * submessages have already been initialized in the top-level pb_decode. */
-    if (PB_HTYPE(field->type) == PB_HTYPE_ARRAY)
+    if (PB_HTYPE(field->type) == PB_HTYPE_REPEATED)
         status = pb_decode(&substream, submsg_fields, dest);
     else
         status = pb_decode_noinit(&substream, submsg_fields, dest);
index bba5dc1..85d6578 100644 (file)
@@ -167,7 +167,7 @@ bool checkreturn pb_encode(pb_ostream_t *stream, const pb_field_t fields[], cons
         pSize = (const char*)pData + field->size_offset;
         
         prev_size = field->data_size;
-        if (PB_HTYPE(field->type) == PB_HTYPE_ARRAY)
+        if (PB_HTYPE(field->type) == PB_HTYPE_REPEATED)
             prev_size *= field->array_size;
                 
         switch (PB_HTYPE(field->type))
@@ -190,7 +190,7 @@ bool checkreturn pb_encode(pb_ostream_t *stream, const pb_field_t fields[], cons
                 }
                 break;
             
-            case PB_HTYPE_ARRAY:
+            case PB_HTYPE_REPEATED:
                 if (!encode_array(stream, field, pData, *(const size_t*)pSize, func))
                     return false;
                 break;
index 322b634..7d1edf5 100644 (file)
@@ -1,7 +1,13 @@
 /* Automatically generated nanopb constant definitions */
-#include "bc_alltypes.pb.h"
+/* Generated by 0.2.0-dev at Sun Feb 17 00:09:53 2013. */
+/* This is a file generated using nanopb-0.2.0-dev.
+ * It is used as a part of test suite in order to detect any
+ * incompatible changes made to the generator in future versions.
+ */
 
-const char SubMessage_substuff1_default[17] = "1";
+#include "alltypes.pb.h"
+
+const char SubMessage_substuff1_default[16] = "1";
 const int32_t SubMessage_substuff2_default = 2;
 const uint32_t SubMessage_substuff3_default = 3;
 const int32_t AllTypes_opt_int32_default = 4041;
@@ -17,310 +23,71 @@ const float AllTypes_opt_float_default = 4050;
 const uint64_t AllTypes_opt_fixed64_default = 4051;
 const int64_t AllTypes_opt_sfixed64_default = 4052;
 const double AllTypes_opt_double_default = 4053;
-const char AllTypes_opt_string_default[17] = "4054";
+const char AllTypes_opt_string_default[16] = "4054";
 const AllTypes_opt_bytes_t AllTypes_opt_bytes_default = {4, {0x34,0x30,0x35,0x35}};
 const MyEnum AllTypes_opt_enum_default = MyEnum_Second;
 
 
 const pb_field_t SubMessage_fields[4] = {
-    {1, PB_HTYPE_REQUIRED | PB_LTYPE_STRING,
-    offsetof(SubMessage, substuff1), 0,
-    pb_membersize(SubMessage, substuff1), 0,
-    &SubMessage_substuff1_default},
-
-    {2, PB_HTYPE_REQUIRED | PB_LTYPE_VARINT,
-    pb_delta_end(SubMessage, substuff2, substuff1), 0,
-    pb_membersize(SubMessage, substuff2), 0,
-    &SubMessage_substuff2_default},
-
-    {3, PB_HTYPE_OPTIONAL | PB_LTYPE_FIXED32,
-    pb_delta_end(SubMessage, substuff3, substuff2),
-    pb_delta(SubMessage, has_substuff3, substuff3),
-    pb_membersize(SubMessage, substuff3), 0,
-    &SubMessage_substuff3_default},
-
+    PB_FIELD(  1, STRING  , REQUIRED, STATIC, SubMessage, substuff1, substuff1, &SubMessage_substuff1_default),
+    PB_FIELD(  2, INT32   , REQUIRED, STATIC, SubMessage, substuff2, substuff1, &SubMessage_substuff2_default),
+    PB_FIELD(  3, FIXED32 , OPTIONAL, STATIC, SubMessage, substuff3, substuff2, &SubMessage_substuff3_default),
     PB_LAST_FIELD
 };
 
 const pb_field_t AllTypes_fields[53] = {
-    {1, PB_HTYPE_REQUIRED | PB_LTYPE_VARINT,
-    offsetof(AllTypes, req_int32), 0,
-    pb_membersize(AllTypes, req_int32), 0, 0},
-
-    {2, PB_HTYPE_REQUIRED | PB_LTYPE_VARINT,
-    pb_delta_end(AllTypes, req_int64, req_int32), 0,
-    pb_membersize(AllTypes, req_int64), 0, 0},
-
-    {3, PB_HTYPE_REQUIRED | PB_LTYPE_VARINT,
-    pb_delta_end(AllTypes, req_uint32, req_int64), 0,
-    pb_membersize(AllTypes, req_uint32), 0, 0},
-
-    {4, PB_HTYPE_REQUIRED | PB_LTYPE_VARINT,
-    pb_delta_end(AllTypes, req_uint64, req_uint32), 0,
-    pb_membersize(AllTypes, req_uint64), 0, 0},
-
-    {5, PB_HTYPE_REQUIRED | PB_LTYPE_SVARINT,
-    pb_delta_end(AllTypes, req_sint32, req_uint64), 0,
-    pb_membersize(AllTypes, req_sint32), 0, 0},
-
-    {6, PB_HTYPE_REQUIRED | PB_LTYPE_SVARINT,
-    pb_delta_end(AllTypes, req_sint64, req_sint32), 0,
-    pb_membersize(AllTypes, req_sint64), 0, 0},
-
-    {7, PB_HTYPE_REQUIRED | PB_LTYPE_VARINT,
-    pb_delta_end(AllTypes, req_bool, req_sint64), 0,
-    pb_membersize(AllTypes, req_bool), 0, 0},
-
-    {8, PB_HTYPE_REQUIRED | PB_LTYPE_FIXED32,
-    pb_delta_end(AllTypes, req_fixed32, req_bool), 0,
-    pb_membersize(AllTypes, req_fixed32), 0, 0},
-
-    {9, PB_HTYPE_REQUIRED | PB_LTYPE_FIXED32,
-    pb_delta_end(AllTypes, req_sfixed32, req_fixed32), 0,
-    pb_membersize(AllTypes, req_sfixed32), 0, 0},
-
-    {10, PB_HTYPE_REQUIRED | PB_LTYPE_FIXED32,
-    pb_delta_end(AllTypes, req_float, req_sfixed32), 0,
-    pb_membersize(AllTypes, req_float), 0, 0},
-
-    {11, PB_HTYPE_REQUIRED | PB_LTYPE_FIXED64,
-    pb_delta_end(AllTypes, req_fixed64, req_float), 0,
-    pb_membersize(AllTypes, req_fixed64), 0, 0},
-
-    {12, PB_HTYPE_REQUIRED | PB_LTYPE_FIXED64,
-    pb_delta_end(AllTypes, req_sfixed64, req_fixed64), 0,
-    pb_membersize(AllTypes, req_sfixed64), 0, 0},
-
-    {13, PB_HTYPE_REQUIRED | PB_LTYPE_FIXED64,
-    pb_delta_end(AllTypes, req_double, req_sfixed64), 0,
-    pb_membersize(AllTypes, req_double), 0, 0},
-
-    {14, PB_HTYPE_REQUIRED | PB_LTYPE_STRING,
-    pb_delta_end(AllTypes, req_string, req_double), 0,
-    pb_membersize(AllTypes, req_string), 0, 0},
-
-    {15, PB_HTYPE_REQUIRED | PB_LTYPE_BYTES,
-    pb_delta_end(AllTypes, req_bytes, req_string), 0,
-    pb_membersize(AllTypes, req_bytes), 0, 0},
-
-    {16, PB_HTYPE_REQUIRED | PB_LTYPE_SUBMESSAGE,
-    pb_delta_end(AllTypes, req_submsg, req_bytes), 0,
-    pb_membersize(AllTypes, req_submsg), 0,
-    &SubMessage_fields},
-
-    {17, PB_HTYPE_REQUIRED | PB_LTYPE_VARINT,
-    pb_delta_end(AllTypes, req_enum, req_submsg), 0,
-    pb_membersize(AllTypes, req_enum), 0, 0},
-
-    {21, PB_HTYPE_ARRAY | PB_LTYPE_VARINT,
-    pb_delta_end(AllTypes, rep_int32, req_enum),
-    pb_delta(AllTypes, rep_int32_count, rep_int32),
-    pb_membersize(AllTypes, rep_int32[0]),
-    pb_membersize(AllTypes, rep_int32) / pb_membersize(AllTypes, rep_int32[0]), 0},
-
-    {22, PB_HTYPE_ARRAY | PB_LTYPE_VARINT,
-    pb_delta_end(AllTypes, rep_int64, rep_int32),
-    pb_delta(AllTypes, rep_int64_count, rep_int64),
-    pb_membersize(AllTypes, rep_int64[0]),
-    pb_membersize(AllTypes, rep_int64) / pb_membersize(AllTypes, rep_int64[0]), 0},
-
-    {23, PB_HTYPE_ARRAY | PB_LTYPE_VARINT,
-    pb_delta_end(AllTypes, rep_uint32, rep_int64),
-    pb_delta(AllTypes, rep_uint32_count, rep_uint32),
-    pb_membersize(AllTypes, rep_uint32[0]),
-    pb_membersize(AllTypes, rep_uint32) / pb_membersize(AllTypes, rep_uint32[0]), 0},
-
-    {24, PB_HTYPE_ARRAY | PB_LTYPE_VARINT,
-    pb_delta_end(AllTypes, rep_uint64, rep_uint32),
-    pb_delta(AllTypes, rep_uint64_count, rep_uint64),
-    pb_membersize(AllTypes, rep_uint64[0]),
-    pb_membersize(AllTypes, rep_uint64) / pb_membersize(AllTypes, rep_uint64[0]), 0},
-
-    {25, PB_HTYPE_ARRAY | PB_LTYPE_SVARINT,
-    pb_delta_end(AllTypes, rep_sint32, rep_uint64),
-    pb_delta(AllTypes, rep_sint32_count, rep_sint32),
-    pb_membersize(AllTypes, rep_sint32[0]),
-    pb_membersize(AllTypes, rep_sint32) / pb_membersize(AllTypes, rep_sint32[0]), 0},
-
-    {26, PB_HTYPE_ARRAY | PB_LTYPE_SVARINT,
-    pb_delta_end(AllTypes, rep_sint64, rep_sint32),
-    pb_delta(AllTypes, rep_sint64_count, rep_sint64),
-    pb_membersize(AllTypes, rep_sint64[0]),
-    pb_membersize(AllTypes, rep_sint64) / pb_membersize(AllTypes, rep_sint64[0]), 0},
-
-    {27, PB_HTYPE_ARRAY | PB_LTYPE_VARINT,
-    pb_delta_end(AllTypes, rep_bool, rep_sint64),
-    pb_delta(AllTypes, rep_bool_count, rep_bool),
-    pb_membersize(AllTypes, rep_bool[0]),
-    pb_membersize(AllTypes, rep_bool) / pb_membersize(AllTypes, rep_bool[0]), 0},
-
-    {28, PB_HTYPE_ARRAY | PB_LTYPE_FIXED32,
-    pb_delta_end(AllTypes, rep_fixed32, rep_bool),
-    pb_delta(AllTypes, rep_fixed32_count, rep_fixed32),
-    pb_membersize(AllTypes, rep_fixed32[0]),
-    pb_membersize(AllTypes, rep_fixed32) / pb_membersize(AllTypes, rep_fixed32[0]), 0},
-
-    {29, PB_HTYPE_ARRAY | PB_LTYPE_FIXED32,
-    pb_delta_end(AllTypes, rep_sfixed32, rep_fixed32),
-    pb_delta(AllTypes, rep_sfixed32_count, rep_sfixed32),
-    pb_membersize(AllTypes, rep_sfixed32[0]),
-    pb_membersize(AllTypes, rep_sfixed32) / pb_membersize(AllTypes, rep_sfixed32[0]), 0},
-
-    {30, PB_HTYPE_ARRAY | PB_LTYPE_FIXED32,
-    pb_delta_end(AllTypes, rep_float, rep_sfixed32),
-    pb_delta(AllTypes, rep_float_count, rep_float),
-    pb_membersize(AllTypes, rep_float[0]),
-    pb_membersize(AllTypes, rep_float) / pb_membersize(AllTypes, rep_float[0]), 0},
-
-    {31, PB_HTYPE_ARRAY | PB_LTYPE_FIXED64,
-    pb_delta_end(AllTypes, rep_fixed64, rep_float),
-    pb_delta(AllTypes, rep_fixed64_count, rep_fixed64),
-    pb_membersize(AllTypes, rep_fixed64[0]),
-    pb_membersize(AllTypes, rep_fixed64) / pb_membersize(AllTypes, rep_fixed64[0]), 0},
-
-    {32, PB_HTYPE_ARRAY | PB_LTYPE_FIXED64,
-    pb_delta_end(AllTypes, rep_sfixed64, rep_fixed64),
-    pb_delta(AllTypes, rep_sfixed64_count, rep_sfixed64),
-    pb_membersize(AllTypes, rep_sfixed64[0]),
-    pb_membersize(AllTypes, rep_sfixed64) / pb_membersize(AllTypes, rep_sfixed64[0]), 0},
-
-    {33, PB_HTYPE_ARRAY | PB_LTYPE_FIXED64,
-    pb_delta_end(AllTypes, rep_double, rep_sfixed64),
-    pb_delta(AllTypes, rep_double_count, rep_double),
-    pb_membersize(AllTypes, rep_double[0]),
-    pb_membersize(AllTypes, rep_double) / pb_membersize(AllTypes, rep_double[0]), 0},
-
-    {34, PB_HTYPE_ARRAY | PB_LTYPE_STRING,
-    pb_delta_end(AllTypes, rep_string, rep_double),
-    pb_delta(AllTypes, rep_string_count, rep_string),
-    pb_membersize(AllTypes, rep_string[0]),
-    pb_membersize(AllTypes, rep_string) / pb_membersize(AllTypes, rep_string[0]), 0},
-
-    {35, PB_HTYPE_ARRAY | PB_LTYPE_BYTES,
-    pb_delta_end(AllTypes, rep_bytes, rep_string),
-    pb_delta(AllTypes, rep_bytes_count, rep_bytes),
-    pb_membersize(AllTypes, rep_bytes[0]),
-    pb_membersize(AllTypes, rep_bytes) / pb_membersize(AllTypes, rep_bytes[0]), 0},
-
-    {36, PB_HTYPE_ARRAY | PB_LTYPE_SUBMESSAGE,
-    pb_delta_end(AllTypes, rep_submsg, rep_bytes),
-    pb_delta(AllTypes, rep_submsg_count, rep_submsg),
-    pb_membersize(AllTypes, rep_submsg[0]),
-    pb_membersize(AllTypes, rep_submsg) / pb_membersize(AllTypes, rep_submsg[0]),
-    &SubMessage_fields},
-
-    {37, PB_HTYPE_ARRAY | PB_LTYPE_VARINT,
-    pb_delta_end(AllTypes, rep_enum, rep_submsg),
-    pb_delta(AllTypes, rep_enum_count, rep_enum),
-    pb_membersize(AllTypes, rep_enum[0]),
-    pb_membersize(AllTypes, rep_enum) / pb_membersize(AllTypes, rep_enum[0]), 0},
-
-    {41, PB_HTYPE_OPTIONAL | PB_LTYPE_VARINT,
-    pb_delta_end(AllTypes, opt_int32, rep_enum),
-    pb_delta(AllTypes, has_opt_int32, opt_int32),
-    pb_membersize(AllTypes, opt_int32), 0,
-    &AllTypes_opt_int32_default},
-
-    {42, PB_HTYPE_OPTIONAL | PB_LTYPE_VARINT,
-    pb_delta_end(AllTypes, opt_int64, opt_int32),
-    pb_delta(AllTypes, has_opt_int64, opt_int64),
-    pb_membersize(AllTypes, opt_int64), 0,
-    &AllTypes_opt_int64_default},
-
-    {43, PB_HTYPE_OPTIONAL | PB_LTYPE_VARINT,
-    pb_delta_end(AllTypes, opt_uint32, opt_int64),
-    pb_delta(AllTypes, has_opt_uint32, opt_uint32),
-    pb_membersize(AllTypes, opt_uint32), 0,
-    &AllTypes_opt_uint32_default},
-
-    {44, PB_HTYPE_OPTIONAL | PB_LTYPE_VARINT,
-    pb_delta_end(AllTypes, opt_uint64, opt_uint32),
-    pb_delta(AllTypes, has_opt_uint64, opt_uint64),
-    pb_membersize(AllTypes, opt_uint64), 0,
-    &AllTypes_opt_uint64_default},
-
-    {45, PB_HTYPE_OPTIONAL | PB_LTYPE_SVARINT,
-    pb_delta_end(AllTypes, opt_sint32, opt_uint64),
-    pb_delta(AllTypes, has_opt_sint32, opt_sint32),
-    pb_membersize(AllTypes, opt_sint32), 0,
-    &AllTypes_opt_sint32_default},
-
-    {46, PB_HTYPE_OPTIONAL | PB_LTYPE_SVARINT,
-    pb_delta_end(AllTypes, opt_sint64, opt_sint32),
-    pb_delta(AllTypes, has_opt_sint64, opt_sint64),
-    pb_membersize(AllTypes, opt_sint64), 0,
-    &AllTypes_opt_sint64_default},
-
-    {47, PB_HTYPE_OPTIONAL | PB_LTYPE_VARINT,
-    pb_delta_end(AllTypes, opt_bool, opt_sint64),
-    pb_delta(AllTypes, has_opt_bool, opt_bool),
-    pb_membersize(AllTypes, opt_bool), 0,
-    &AllTypes_opt_bool_default},
-
-    {48, PB_HTYPE_OPTIONAL | PB_LTYPE_FIXED32,
-    pb_delta_end(AllTypes, opt_fixed32, opt_bool),
-    pb_delta(AllTypes, has_opt_fixed32, opt_fixed32),
-    pb_membersize(AllTypes, opt_fixed32), 0,
-    &AllTypes_opt_fixed32_default},
-
-    {49, PB_HTYPE_OPTIONAL | PB_LTYPE_FIXED32,
-    pb_delta_end(AllTypes, opt_sfixed32, opt_fixed32),
-    pb_delta(AllTypes, has_opt_sfixed32, opt_sfixed32),
-    pb_membersize(AllTypes, opt_sfixed32), 0,
-    &AllTypes_opt_sfixed32_default},
-
-    {50, PB_HTYPE_OPTIONAL | PB_LTYPE_FIXED32,
-    pb_delta_end(AllTypes, opt_float, opt_sfixed32),
-    pb_delta(AllTypes, has_opt_float, opt_float),
-    pb_membersize(AllTypes, opt_float), 0,
-    &AllTypes_opt_float_default},
-
-    {51, PB_HTYPE_OPTIONAL | PB_LTYPE_FIXED64,
-    pb_delta_end(AllTypes, opt_fixed64, opt_float),
-    pb_delta(AllTypes, has_opt_fixed64, opt_fixed64),
-    pb_membersize(AllTypes, opt_fixed64), 0,
-    &AllTypes_opt_fixed64_default},
-
-    {52, PB_HTYPE_OPTIONAL | PB_LTYPE_FIXED64,
-    pb_delta_end(AllTypes, opt_sfixed64, opt_fixed64),
-    pb_delta(AllTypes, has_opt_sfixed64, opt_sfixed64),
-    pb_membersize(AllTypes, opt_sfixed64), 0,
-    &AllTypes_opt_sfixed64_default},
-
-    {53, PB_HTYPE_OPTIONAL | PB_LTYPE_FIXED64,
-    pb_delta_end(AllTypes, opt_double, opt_sfixed64),
-    pb_delta(AllTypes, has_opt_double, opt_double),
-    pb_membersize(AllTypes, opt_double), 0,
-    &AllTypes_opt_double_default},
-
-    {54, PB_HTYPE_OPTIONAL | PB_LTYPE_STRING,
-    pb_delta_end(AllTypes, opt_string, opt_double),
-    pb_delta(AllTypes, has_opt_string, opt_string),
-    pb_membersize(AllTypes, opt_string), 0,
-    &AllTypes_opt_string_default},
-
-    {55, PB_HTYPE_OPTIONAL | PB_LTYPE_BYTES,
-    pb_delta_end(AllTypes, opt_bytes, opt_string),
-    pb_delta(AllTypes, has_opt_bytes, opt_bytes),
-    pb_membersize(AllTypes, opt_bytes), 0,
-    &AllTypes_opt_bytes_default},
-
-    {56, PB_HTYPE_OPTIONAL | PB_LTYPE_SUBMESSAGE,
-    pb_delta_end(AllTypes, opt_submsg, opt_bytes),
-    pb_delta(AllTypes, has_opt_submsg, opt_submsg),
-    pb_membersize(AllTypes, opt_submsg), 0,
-    &SubMessage_fields},
-
-    {57, PB_HTYPE_OPTIONAL | PB_LTYPE_VARINT,
-    pb_delta_end(AllTypes, opt_enum, opt_submsg),
-    pb_delta(AllTypes, has_opt_enum, opt_enum),
-    pb_membersize(AllTypes, opt_enum), 0,
-    &AllTypes_opt_enum_default},
-
-    {99, PB_HTYPE_REQUIRED | PB_LTYPE_VARINT,
-    pb_delta_end(AllTypes, end, opt_enum), 0,
-    pb_membersize(AllTypes, end), 0, 0},
-
+    PB_FIELD(  1, INT32   , REQUIRED, STATIC, AllTypes, req_int32, req_int32, 0),
+    PB_FIELD(  2, INT64   , REQUIRED, STATIC, AllTypes, req_int64, req_int32, 0),
+    PB_FIELD(  3, UINT32  , REQUIRED, STATIC, AllTypes, req_uint32, req_int64, 0),
+    PB_FIELD(  4, UINT64  , REQUIRED, STATIC, AllTypes, req_uint64, req_uint32, 0),
+    PB_FIELD(  5, SINT32  , REQUIRED, STATIC, AllTypes, req_sint32, req_uint64, 0),
+    PB_FIELD(  6, SINT64  , REQUIRED, STATIC, AllTypes, req_sint64, req_sint32, 0),
+    PB_FIELD(  7, BOOL    , REQUIRED, STATIC, AllTypes, req_bool, req_sint64, 0),
+    PB_FIELD(  8, FIXED32 , REQUIRED, STATIC, AllTypes, req_fixed32, req_bool, 0),
+    PB_FIELD(  9, SFIXED32, REQUIRED, STATIC, AllTypes, req_sfixed32, req_fixed32, 0),
+    PB_FIELD( 10, FLOAT   , REQUIRED, STATIC, AllTypes, req_float, req_sfixed32, 0),
+    PB_FIELD( 11, FIXED64 , REQUIRED, STATIC, AllTypes, req_fixed64, req_float, 0),
+    PB_FIELD( 12, SFIXED64, REQUIRED, STATIC, AllTypes, req_sfixed64, req_fixed64, 0),
+    PB_FIELD( 13, DOUBLE  , REQUIRED, STATIC, AllTypes, req_double, req_sfixed64, 0),
+    PB_FIELD( 14, STRING  , REQUIRED, STATIC, AllTypes, req_string, req_double, 0),
+    PB_FIELD( 15, BYTES   , REQUIRED, STATIC, AllTypes, req_bytes, req_string, 0),
+    PB_FIELD( 16, MESSAGE , REQUIRED, STATIC, AllTypes, req_submsg, req_bytes, &SubMessage_fields),
+    PB_FIELD( 17, ENUM    , REQUIRED, STATIC, AllTypes, req_enum, req_submsg, 0),
+    PB_FIELD( 21, INT32   , REPEATED, STATIC, AllTypes, rep_int32, req_enum, 0),
+    PB_FIELD( 22, INT64   , REPEATED, STATIC, AllTypes, rep_int64, rep_int32, 0),
+    PB_FIELD( 23, UINT32  , REPEATED, STATIC, AllTypes, rep_uint32, rep_int64, 0),
+    PB_FIELD( 24, UINT64  , REPEATED, STATIC, AllTypes, rep_uint64, rep_uint32, 0),
+    PB_FIELD( 25, SINT32  , REPEATED, STATIC, AllTypes, rep_sint32, rep_uint64, 0),
+    PB_FIELD( 26, SINT64  , REPEATED, STATIC, AllTypes, rep_sint64, rep_sint32, 0),
+    PB_FIELD( 27, BOOL    , REPEATED, STATIC, AllTypes, rep_bool, rep_sint64, 0),
+    PB_FIELD( 28, FIXED32 , REPEATED, STATIC, AllTypes, rep_fixed32, rep_bool, 0),
+    PB_FIELD( 29, SFIXED32, REPEATED, STATIC, AllTypes, rep_sfixed32, rep_fixed32, 0),
+    PB_FIELD( 30, FLOAT   , REPEATED, STATIC, AllTypes, rep_float, rep_sfixed32, 0),
+    PB_FIELD( 31, FIXED64 , REPEATED, STATIC, AllTypes, rep_fixed64, rep_float, 0),
+    PB_FIELD( 32, SFIXED64, REPEATED, STATIC, AllTypes, rep_sfixed64, rep_fixed64, 0),
+    PB_FIELD( 33, DOUBLE  , REPEATED, STATIC, AllTypes, rep_double, rep_sfixed64, 0),
+    PB_FIELD( 34, STRING  , REPEATED, STATIC, AllTypes, rep_string, rep_double, 0),
+    PB_FIELD( 35, BYTES   , REPEATED, STATIC, AllTypes, rep_bytes, rep_string, 0),
+    PB_FIELD( 36, MESSAGE , REPEATED, STATIC, AllTypes, rep_submsg, rep_bytes, &SubMessage_fields),
+    PB_FIELD( 37, ENUM    , REPEATED, STATIC, AllTypes, rep_enum, rep_submsg, 0),
+    PB_FIELD( 41, INT32   , OPTIONAL, STATIC, AllTypes, opt_int32, rep_enum, &AllTypes_opt_int32_default),
+    PB_FIELD( 42, INT64   , OPTIONAL, STATIC, AllTypes, opt_int64, opt_int32, &AllTypes_opt_int64_default),
+    PB_FIELD( 43, UINT32  , OPTIONAL, STATIC, AllTypes, opt_uint32, opt_int64, &AllTypes_opt_uint32_default),
+    PB_FIELD( 44, UINT64  , OPTIONAL, STATIC, AllTypes, opt_uint64, opt_uint32, &AllTypes_opt_uint64_default),
+    PB_FIELD( 45, SINT32  , OPTIONAL, STATIC, AllTypes, opt_sint32, opt_uint64, &AllTypes_opt_sint32_default),
+    PB_FIELD( 46, SINT64  , OPTIONAL, STATIC, AllTypes, opt_sint64, opt_sint32, &AllTypes_opt_sint64_default),
+    PB_FIELD( 47, BOOL    , OPTIONAL, STATIC, AllTypes, opt_bool, opt_sint64, &AllTypes_opt_bool_default),
+    PB_FIELD( 48, FIXED32 , OPTIONAL, STATIC, AllTypes, opt_fixed32, opt_bool, &AllTypes_opt_fixed32_default),
+    PB_FIELD( 49, SFIXED32, OPTIONAL, STATIC, AllTypes, opt_sfixed32, opt_fixed32, &AllTypes_opt_sfixed32_default),
+    PB_FIELD( 50, FLOAT   , OPTIONAL, STATIC, AllTypes, opt_float, opt_sfixed32, &AllTypes_opt_float_default),
+    PB_FIELD( 51, FIXED64 , OPTIONAL, STATIC, AllTypes, opt_fixed64, opt_float, &AllTypes_opt_fixed64_default),
+    PB_FIELD( 52, SFIXED64, OPTIONAL, STATIC, AllTypes, opt_sfixed64, opt_fixed64, &AllTypes_opt_sfixed64_default),
+    PB_FIELD( 53, DOUBLE  , OPTIONAL, STATIC, AllTypes, opt_double, opt_sfixed64, &AllTypes_opt_double_default),
+    PB_FIELD( 54, STRING  , OPTIONAL, STATIC, AllTypes, opt_string, opt_double, &AllTypes_opt_string_default),
+    PB_FIELD( 55, BYTES   , OPTIONAL, STATIC, AllTypes, opt_bytes, opt_string, &AllTypes_opt_bytes_default),
+    PB_FIELD( 56, MESSAGE , OPTIONAL, STATIC, AllTypes, opt_submsg, opt_bytes, &SubMessage_fields),
+    PB_FIELD( 57, ENUM    , OPTIONAL, STATIC, AllTypes, opt_enum, opt_submsg, &AllTypes_opt_enum_default),
+    PB_FIELD( 99, INT32   , REQUIRED, STATIC, AllTypes, end, opt_enum, 0),
     PB_LAST_FIELD
 };
 
index fe0b8f7..037b347 100644 (file)
@@ -1,14 +1,19 @@
 /* Automatically generated nanopb header */
-/* This is a file generated using nanopb-0.1.1.
+/* This is a file generated using nanopb-0.2.0-dev.
  * It is used as a part of test suite in order to detect any
  * incompatible changes made to the generator in future versions.
  */
-#ifndef _PB_BC_ALLTYPES_PB_H_
-#define _PB_BC_ALLTYPES_PB_H_
+
+#ifndef _PB_ALLTYPES_PB_H_
+#define _PB_ALLTYPES_PB_H_
 #include <pb.h>
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 /* Enum definitions */
-typedef enum {
+typedef enum _MyEnum {
     MyEnum_Zero = 0,
     MyEnum_First = 1,
     MyEnum_Second = 2,
@@ -16,7 +21,7 @@ typedef enum {
 } MyEnum;
 
 /* Struct definitions */
-typedef struct {
+typedef struct _SubMessage {
     char substuff1[16];
     int32_t substuff2;
     bool has_substuff3;
@@ -38,7 +43,7 @@ typedef struct {
     uint8_t bytes[16];
 } AllTypes_opt_bytes_t;
 
-typedef struct {
+typedef struct _AllTypes {
     int32_t req_int32;
     int64_t req_int64;
     uint32_t req_uint32;
@@ -128,7 +133,7 @@ typedef struct {
 } AllTypes;
 
 /* Default values for struct fields */
-extern const char SubMessage_substuff1_default[17];
+extern const char SubMessage_substuff1_default[16];
 extern const int32_t SubMessage_substuff2_default;
 extern const uint32_t SubMessage_substuff3_default;
 extern const int32_t AllTypes_opt_int32_default;
@@ -144,7 +149,7 @@ extern const float AllTypes_opt_float_default;
 extern const uint64_t AllTypes_opt_fixed64_default;
 extern const int64_t AllTypes_opt_sfixed64_default;
 extern const double AllTypes_opt_double_default;
-extern const char AllTypes_opt_string_default[17];
+extern const char AllTypes_opt_string_default[16];
 extern const AllTypes_opt_bytes_t AllTypes_opt_bytes_default;
 extern const MyEnum AllTypes_opt_enum_default;
 
@@ -152,4 +157,22 @@ extern const MyEnum AllTypes_opt_enum_default;
 extern const pb_field_t SubMessage_fields[4];
 extern const pb_field_t AllTypes_fields[53];
 
+/* Check that field information fits in pb_field_t */
+#if !defined(PB_FIELD_16BIT) && !defined(PB_FIELD_32BIT)
+STATIC_ASSERT((pb_membersize(AllTypes, req_submsg) < 256 && pb_membersize(AllTypes, rep_submsg[0]) < 256 && pb_membersize(AllTypes, opt_submsg) < 256), YOU_MUST_DEFINE_PB_FIELD_16BIT_FOR_MESSAGES_SubMessage_AllTypes)
+#endif
+
+#if !defined(PB_FIELD_32BIT)
+STATIC_ASSERT((pb_membersize(AllTypes, req_submsg) < 65536 && pb_membersize(AllTypes, rep_submsg[0]) < 65536 && pb_membersize(AllTypes, opt_submsg) < 65536), YOU_MUST_DEFINE_PB_FIELD_32BIT_FOR_MESSAGES_SubMessage_AllTypes)
+#endif
+
+/* On some platforms (such as AVR), double is really float.
+ * These are not directly supported by nanopb, but see example_avr_double.
+ */
+STATIC_ASSERT(sizeof(double) == 8, DOUBLE_MUST_BE_8_BYTES)
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
 #endif