1 /* Automatically generated nanopb header */ 2 /* This is a file generated using nanopb-0.2.0-dev. 3 * It is used as a part of test suite in order to detect any 4 * incompatible changes made to the generator in future versions. 5 */ 6 7 #ifndef _PB_ALLTYPES_PB_H_ 8 #define _PB_ALLTYPES_PB_H_ 9 #include <pb.h> 10 11 #ifdef __cplusplus 12 extern "C" { 13 #endif 14 15 /* Enum definitions */ 16 typedef enum _MyEnum { 17 MyEnum_Zero = 0, 18 MyEnum_First = 1, 19 MyEnum_Second = 2, 20 MyEnum_Truth = 42 21 } MyEnum; 22 23 /* Struct definitions */ 24 typedef struct _SubMessage { 25 char substuff1[16]; 26 int32_t substuff2; 27 bool has_substuff3; 28 uint32_t substuff3; 29 } SubMessage; 30 31 typedef struct { 32 size_t size; 33 uint8_t bytes[16]; 34 } AllTypes_req_bytes_t; 35 36 typedef struct { 37 size_t size; 38 uint8_t bytes[16]; 39 } AllTypes_rep_bytes_t; 40 41 typedef struct { 42 size_t size; 43 uint8_t bytes[16]; 44 } AllTypes_opt_bytes_t; 45 46 typedef struct _AllTypes { 47 int32_t req_int32; 48 int64_t req_int64; 49 uint32_t req_uint32; 50 uint64_t req_uint64; 51 int32_t req_sint32; 52 int64_t req_sint64; 53 bool req_bool; 54 uint32_t req_fixed32; 55 int32_t req_sfixed32; 56 float req_float; 57 uint64_t req_fixed64; 58 int64_t req_sfixed64; 59 double req_double; 60 char req_string[16]; 61 AllTypes_req_bytes_t req_bytes; 62 SubMessage req_submsg; 63 MyEnum req_enum; 64 size_t rep_int32_count; 65 int32_t rep_int32[5]; 66 size_t rep_int64_count; 67 int64_t rep_int64[5]; 68 size_t rep_uint32_count; 69 uint32_t rep_uint32[5]; 70 size_t rep_uint64_count; 71 uint64_t rep_uint64[5]; 72 size_t rep_sint32_count; 73 int32_t rep_sint32[5]; 74 size_t rep_sint64_count; 75 int64_t rep_sint64[5]; 76 size_t rep_bool_count; 77 bool rep_bool[5]; 78 size_t rep_fixed32_count; 79 uint32_t rep_fixed32[5]; 80 size_t rep_sfixed32_count; 81 int32_t rep_sfixed32[5]; 82 size_t rep_float_count; 83 float rep_float[5]; 84 size_t rep_fixed64_count; 85 uint64_t rep_fixed64[5]; 86 size_t rep_sfixed64_count; 87 int64_t rep_sfixed64[5]; 88 size_t rep_double_count; 89 double rep_double[5]; 90 size_t rep_string_count; 91 char rep_string[5][16]; 92 size_t rep_bytes_count; 93 AllTypes_rep_bytes_t rep_bytes[5]; 94 size_t rep_submsg_count; 95 SubMessage rep_submsg[5]; 96 size_t rep_enum_count; 97 MyEnum rep_enum[5]; 98 bool has_opt_int32; 99 int32_t opt_int32; 100 bool has_opt_int64; 101 int64_t opt_int64; 102 bool has_opt_uint32; 103 uint32_t opt_uint32; 104 bool has_opt_uint64; 105 uint64_t opt_uint64; 106 bool has_opt_sint32; 107 int32_t opt_sint32; 108 bool has_opt_sint64; 109 int64_t opt_sint64; 110 bool has_opt_bool; 111 bool opt_bool; 112 bool has_opt_fixed32; 113 uint32_t opt_fixed32; 114 bool has_opt_sfixed32; 115 int32_t opt_sfixed32; 116 bool has_opt_float; 117 float opt_float; 118 bool has_opt_fixed64; 119 uint64_t opt_fixed64; 120 bool has_opt_sfixed64; 121 int64_t opt_sfixed64; 122 bool has_opt_double; 123 double opt_double; 124 bool has_opt_string; 125 char opt_string[16]; 126 bool has_opt_bytes; 127 AllTypes_opt_bytes_t opt_bytes; 128 bool has_opt_submsg; 129 SubMessage opt_submsg; 130 bool has_opt_enum; 131 MyEnum opt_enum; 132 int32_t end; 133 } AllTypes; 134 135 /* Default values for struct fields */ 136 extern const char SubMessage_substuff1_default[16]; 137 extern const int32_t SubMessage_substuff2_default; 138 extern const uint32_t SubMessage_substuff3_default; 139 extern const int32_t AllTypes_opt_int32_default; 140 extern const int64_t AllTypes_opt_int64_default; 141 extern const uint32_t AllTypes_opt_uint32_default; 142 extern const uint64_t AllTypes_opt_uint64_default; 143 extern const int32_t AllTypes_opt_sint32_default; 144 extern const int64_t AllTypes_opt_sint64_default; 145 extern const bool AllTypes_opt_bool_default; 146 extern const uint32_t AllTypes_opt_fixed32_default; 147 extern const int32_t AllTypes_opt_sfixed32_default; 148 extern const float AllTypes_opt_float_default; 149 extern const uint64_t AllTypes_opt_fixed64_default; 150 extern const int64_t AllTypes_opt_sfixed64_default; 151 extern const double AllTypes_opt_double_default; 152 extern const char AllTypes_opt_string_default[16]; 153 extern const AllTypes_opt_bytes_t AllTypes_opt_bytes_default; 154 extern const MyEnum AllTypes_opt_enum_default; 155 156 /* Struct field encoding specification for nanopb */ 157 extern const pb_field_t SubMessage_fields[4]; 158 extern const pb_field_t AllTypes_fields[53]; 159 160 /* Check that field information fits in pb_field_t */ 161 #if !defined(PB_FIELD_16BIT) && !defined(PB_FIELD_32BIT) 162 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) 163 #endif 164 165 #if !defined(PB_FIELD_32BIT) 166 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) 167 #endif 168 169 /* On some platforms (such as AVR), double is really float. 170 * These are not directly supported by nanopb, but see example_avr_double. 171 */ 172 STATIC_ASSERT(sizeof(double) == 8, DOUBLE_MUST_BE_8_BYTES) 173 174 #ifdef __cplusplus 175 } /* extern "C" */ 176 #endif 177 178 #endif 179