|  | @@ -24,78 +24,63 @@ typedef enum _AudioFormat {
 | 
	
		
			
				|  |  |  } AudioFormat;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  /* Struct definitions */
 | 
	
		
			
				|  |  | -typedef PB_BYTES_ARRAY_T(128) Artist_gid_t;
 | 
	
		
			
				|  |  |  typedef struct _Artist { 
 | 
	
		
			
				|  |  | -    bool has_gid;
 | 
	
		
			
				|  |  | -    Artist_gid_t gid; 
 | 
	
		
			
				|  |  | -    bool has_name;
 | 
	
		
			
				|  |  | -    char name[512]; 
 | 
	
		
			
				|  |  | +    pb_bytes_array_t *gid; 
 | 
	
		
			
				|  |  | +    char *name; 
 | 
	
		
			
				|  |  |  } Artist;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -typedef PB_BYTES_ARRAY_T(128) AudioFile_file_id_t;
 | 
	
		
			
				|  |  | -typedef struct _AudioFile { 
 | 
	
		
			
				|  |  | -    bool has_file_id;
 | 
	
		
			
				|  |  | -    AudioFile_file_id_t file_id; 
 | 
	
		
			
				|  |  | -    bool has_format;
 | 
	
		
			
				|  |  | -    AudioFormat format; 
 | 
	
		
			
				|  |  | -} AudioFile;
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -typedef PB_BYTES_ARRAY_T(128) Image_file_id_t;
 | 
	
		
			
				|  |  |  typedef struct _Image { 
 | 
	
		
			
				|  |  | -    bool has_file_id;
 | 
	
		
			
				|  |  | -    Image_file_id_t file_id; 
 | 
	
		
			
				|  |  | +    pb_bytes_array_t *file_id; 
 | 
	
		
			
				|  |  |  } Image;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -typedef struct _Restriction { 
 | 
	
		
			
				|  |  | -    bool has_countries_allowed;
 | 
	
		
			
				|  |  | -    char countries_allowed[32]; 
 | 
	
		
			
				|  |  | -    bool has_countries_forbidden;
 | 
	
		
			
				|  |  | -    char countries_forbidden[32]; 
 | 
	
		
			
				|  |  | -} Restriction;
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |  typedef struct _ImageGroup { 
 | 
	
		
			
				|  |  |      pb_size_t image_count;
 | 
	
		
			
				|  |  | -    Image image[10]; 
 | 
	
		
			
				|  |  | +    struct _Image *image; 
 | 
	
		
			
				|  |  |  } ImageGroup;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +typedef struct _Restriction { 
 | 
	
		
			
				|  |  | +    char *countries_allowed; 
 | 
	
		
			
				|  |  | +    char *countries_forbidden; 
 | 
	
		
			
				|  |  | +} Restriction;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  typedef struct _Album { 
 | 
	
		
			
				|  |  |      pb_callback_t gid; 
 | 
	
		
			
				|  |  | -    bool has_name;
 | 
	
		
			
				|  |  | -    char name[512]; 
 | 
	
		
			
				|  |  | +    char *name; 
 | 
	
		
			
				|  |  |      bool has_cover_group;
 | 
	
		
			
				|  |  |      ImageGroup cover_group; 
 | 
	
		
			
				|  |  |  } Album;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -typedef PB_BYTES_ARRAY_T(64) Episode_gid_t;
 | 
	
		
			
				|  |  | +typedef struct _AudioFile { 
 | 
	
		
			
				|  |  | +    pb_bytes_array_t *file_id; 
 | 
	
		
			
				|  |  | +    bool has_format;
 | 
	
		
			
				|  |  | +    AudioFormat format; 
 | 
	
		
			
				|  |  | +} AudioFile;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  typedef struct _Episode { 
 | 
	
		
			
				|  |  | -    bool has_gid;
 | 
	
		
			
				|  |  | -    Episode_gid_t gid; 
 | 
	
		
			
				|  |  | -    bool has_name;
 | 
	
		
			
				|  |  | -    char name[512]; 
 | 
	
		
			
				|  |  | +    pb_bytes_array_t *gid; 
 | 
	
		
			
				|  |  | +    char *name; 
 | 
	
		
			
				|  |  |      bool has_duration;
 | 
	
		
			
				|  |  |      int32_t duration; 
 | 
	
		
			
				|  |  |      pb_size_t audio_count;
 | 
	
		
			
				|  |  | -    AudioFile audio[10]; 
 | 
	
		
			
				|  |  | -    bool has_covers;
 | 
	
		
			
				|  |  | -    ImageGroup covers; 
 | 
	
		
			
				|  |  | +    struct _AudioFile *audio; 
 | 
	
		
			
				|  |  | +    struct _ImageGroup *covers; 
 | 
	
		
			
				|  |  |  } Episode;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -typedef PB_BYTES_ARRAY_T(64) Track_gid_t;
 | 
	
		
			
				|  |  |  typedef struct _Track { 
 | 
	
		
			
				|  |  | -    bool has_gid;
 | 
	
		
			
				|  |  | -    Track_gid_t gid; 
 | 
	
		
			
				|  |  | -    bool has_name;
 | 
	
		
			
				|  |  | -    char name[512]; 
 | 
	
		
			
				|  |  | +    pb_bytes_array_t *gid; 
 | 
	
		
			
				|  |  | +    char *name; 
 | 
	
		
			
				|  |  |      bool has_album;
 | 
	
		
			
				|  |  |      Album album; 
 | 
	
		
			
				|  |  |      pb_size_t artist_count;
 | 
	
		
			
				|  |  | -    Artist artist[8]; 
 | 
	
		
			
				|  |  | +    struct _Artist *artist; 
 | 
	
		
			
				|  |  |      bool has_duration;
 | 
	
		
			
				|  |  |      int32_t duration; 
 | 
	
		
			
				|  |  | -    pb_callback_t restriction; 
 | 
	
		
			
				|  |  | +    pb_size_t restriction_count;
 | 
	
		
			
				|  |  | +    struct _Restriction *restriction; 
 | 
	
		
			
				|  |  |      pb_size_t file_count;
 | 
	
		
			
				|  |  | -    AudioFile file[16]; 
 | 
	
		
			
				|  |  | -    pb_callback_t alternative; 
 | 
	
		
			
				|  |  | +    struct _AudioFile *file; 
 | 
	
		
			
				|  |  | +    pb_size_t alternative_count;
 | 
	
		
			
				|  |  | +    struct _Track *alternative; 
 | 
	
		
			
				|  |  |  } Track;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -110,35 +95,35 @@ extern "C" {
 | 
	
		
			
				|  |  |  #endif
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  /* Initializer values for message structs */
 | 
	
		
			
				|  |  | -#define AudioFile_init_default                   {false, {0, {0}}, false, _AudioFormat_MIN}
 | 
	
		
			
				|  |  | -#define Restriction_init_default                 {false, "", false, ""}
 | 
	
		
			
				|  |  | -#define Image_init_default                       {false, {0, {0}}}
 | 
	
		
			
				|  |  | -#define ImageGroup_init_default                  {0, {Image_init_default, Image_init_default, Image_init_default, Image_init_default, Image_init_default, Image_init_default, Image_init_default, Image_init_default, Image_init_default, Image_init_default}}
 | 
	
		
			
				|  |  | -#define Album_init_default                       {{{NULL}, NULL}, false, "", false, ImageGroup_init_default}
 | 
	
		
			
				|  |  | -#define Artist_init_default                      {false, {0, {0}}, false, ""}
 | 
	
		
			
				|  |  | -#define Track_init_default                       {false, {0, {0}}, false, "", false, Album_init_default, 0, {Artist_init_default, Artist_init_default, Artist_init_default, Artist_init_default, Artist_init_default, Artist_init_default, Artist_init_default, Artist_init_default}, false, 0, {{NULL}, NULL}, 0, {AudioFile_init_default, AudioFile_init_default, AudioFile_init_default, AudioFile_init_default, AudioFile_init_default, AudioFile_init_default, AudioFile_init_default, AudioFile_init_default, AudioFile_init_default, AudioFile_init_default, AudioFile_init_default, AudioFile_init_default, AudioFile_init_default, AudioFile_init_default, AudioFile_init_default, AudioFile_init_default}, {{NULL}, NULL}}
 | 
	
		
			
				|  |  | -#define Episode_init_default                     {false, {0, {0}}, false, "", false, 0, 0, {AudioFile_init_default, AudioFile_init_default, AudioFile_init_default, AudioFile_init_default, AudioFile_init_default, AudioFile_init_default, AudioFile_init_default, AudioFile_init_default, AudioFile_init_default, AudioFile_init_default}, false, ImageGroup_init_default}
 | 
	
		
			
				|  |  | -#define AudioFile_init_zero                      {false, {0, {0}}, false, _AudioFormat_MIN}
 | 
	
		
			
				|  |  | -#define Restriction_init_zero                    {false, "", false, ""}
 | 
	
		
			
				|  |  | -#define Image_init_zero                          {false, {0, {0}}}
 | 
	
		
			
				|  |  | -#define ImageGroup_init_zero                     {0, {Image_init_zero, Image_init_zero, Image_init_zero, Image_init_zero, Image_init_zero, Image_init_zero, Image_init_zero, Image_init_zero, Image_init_zero, Image_init_zero}}
 | 
	
		
			
				|  |  | -#define Album_init_zero                          {{{NULL}, NULL}, false, "", false, ImageGroup_init_zero}
 | 
	
		
			
				|  |  | -#define Artist_init_zero                         {false, {0, {0}}, false, ""}
 | 
	
		
			
				|  |  | -#define Track_init_zero                          {false, {0, {0}}, false, "", false, Album_init_zero, 0, {Artist_init_zero, Artist_init_zero, Artist_init_zero, Artist_init_zero, Artist_init_zero, Artist_init_zero, Artist_init_zero, Artist_init_zero}, false, 0, {{NULL}, NULL}, 0, {AudioFile_init_zero, AudioFile_init_zero, AudioFile_init_zero, AudioFile_init_zero, AudioFile_init_zero, AudioFile_init_zero, AudioFile_init_zero, AudioFile_init_zero, AudioFile_init_zero, AudioFile_init_zero, AudioFile_init_zero, AudioFile_init_zero, AudioFile_init_zero, AudioFile_init_zero, AudioFile_init_zero, AudioFile_init_zero}, {{NULL}, NULL}}
 | 
	
		
			
				|  |  | -#define Episode_init_zero                        {false, {0, {0}}, false, "", false, 0, 0, {AudioFile_init_zero, AudioFile_init_zero, AudioFile_init_zero, AudioFile_init_zero, AudioFile_init_zero, AudioFile_init_zero, AudioFile_init_zero, AudioFile_init_zero, AudioFile_init_zero, AudioFile_init_zero}, false, ImageGroup_init_zero}
 | 
	
		
			
				|  |  | +#define AudioFile_init_default                   {NULL, false, _AudioFormat_MIN}
 | 
	
		
			
				|  |  | +#define Restriction_init_default                 {NULL, NULL}
 | 
	
		
			
				|  |  | +#define Image_init_default                       {NULL}
 | 
	
		
			
				|  |  | +#define ImageGroup_init_default                  {0, NULL}
 | 
	
		
			
				|  |  | +#define Album_init_default                       {{{NULL}, NULL}, NULL, false, ImageGroup_init_default}
 | 
	
		
			
				|  |  | +#define Artist_init_default                      {NULL, NULL}
 | 
	
		
			
				|  |  | +#define Track_init_default                       {NULL, NULL, false, Album_init_default, 0, NULL, false, 0, 0, NULL, 0, NULL, 0, NULL}
 | 
	
		
			
				|  |  | +#define Episode_init_default                     {NULL, NULL, false, 0, 0, NULL, NULL}
 | 
	
		
			
				|  |  | +#define AudioFile_init_zero                      {NULL, false, _AudioFormat_MIN}
 | 
	
		
			
				|  |  | +#define Restriction_init_zero                    {NULL, NULL}
 | 
	
		
			
				|  |  | +#define Image_init_zero                          {NULL}
 | 
	
		
			
				|  |  | +#define ImageGroup_init_zero                     {0, NULL}
 | 
	
		
			
				|  |  | +#define Album_init_zero                          {{{NULL}, NULL}, NULL, false, ImageGroup_init_zero}
 | 
	
		
			
				|  |  | +#define Artist_init_zero                         {NULL, NULL}
 | 
	
		
			
				|  |  | +#define Track_init_zero                          {NULL, NULL, false, Album_init_zero, 0, NULL, false, 0, 0, NULL, 0, NULL, 0, NULL}
 | 
	
		
			
				|  |  | +#define Episode_init_zero                        {NULL, NULL, false, 0, 0, NULL, NULL}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  /* Field tags (for use in manual encoding/decoding) */
 | 
	
		
			
				|  |  |  #define Artist_gid_tag                           1
 | 
	
		
			
				|  |  |  #define Artist_name_tag                          2
 | 
	
		
			
				|  |  | -#define AudioFile_file_id_tag                    1
 | 
	
		
			
				|  |  | -#define AudioFile_format_tag                     2
 | 
	
		
			
				|  |  |  #define Image_file_id_tag                        1
 | 
	
		
			
				|  |  | +#define ImageGroup_image_tag                     1
 | 
	
		
			
				|  |  |  #define Restriction_countries_allowed_tag        2
 | 
	
		
			
				|  |  |  #define Restriction_countries_forbidden_tag      3
 | 
	
		
			
				|  |  | -#define ImageGroup_image_tag                     1
 | 
	
		
			
				|  |  |  #define Album_gid_tag                            1
 | 
	
		
			
				|  |  |  #define Album_name_tag                           2
 | 
	
		
			
				|  |  |  #define Album_cover_group_tag                    17
 | 
	
		
			
				|  |  | +#define AudioFile_file_id_tag                    1
 | 
	
		
			
				|  |  | +#define AudioFile_format_tag                     2
 | 
	
		
			
				|  |  |  #define Episode_gid_tag                          1
 | 
	
		
			
				|  |  |  #define Episode_name_tag                         2
 | 
	
		
			
				|  |  |  #define Episode_duration_tag                     7
 | 
	
	
		
			
				|  | @@ -155,52 +140,52 @@ extern "C" {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  /* Struct field encoding specification for nanopb */
 | 
	
		
			
				|  |  |  #define AudioFile_FIELDLIST(X, a) \
 | 
	
		
			
				|  |  | -X(a, STATIC,   OPTIONAL, BYTES,    file_id,           1) \
 | 
	
		
			
				|  |  | +X(a, POINTER,  OPTIONAL, BYTES,    file_id,           1) \
 | 
	
		
			
				|  |  |  X(a, STATIC,   OPTIONAL, UENUM,    format,            2)
 | 
	
		
			
				|  |  |  #define AudioFile_CALLBACK NULL
 | 
	
		
			
				|  |  |  #define AudioFile_DEFAULT NULL
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  #define Restriction_FIELDLIST(X, a) \
 | 
	
		
			
				|  |  | -X(a, STATIC,   OPTIONAL, STRING,   countries_allowed,   2) \
 | 
	
		
			
				|  |  | -X(a, STATIC,   OPTIONAL, STRING,   countries_forbidden,   3)
 | 
	
		
			
				|  |  | +X(a, POINTER,  OPTIONAL, STRING,   countries_allowed,   2) \
 | 
	
		
			
				|  |  | +X(a, POINTER,  OPTIONAL, STRING,   countries_forbidden,   3)
 | 
	
		
			
				|  |  |  #define Restriction_CALLBACK NULL
 | 
	
		
			
				|  |  |  #define Restriction_DEFAULT NULL
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  #define Image_FIELDLIST(X, a) \
 | 
	
		
			
				|  |  | -X(a, STATIC,   OPTIONAL, BYTES,    file_id,           1)
 | 
	
		
			
				|  |  | +X(a, POINTER,  OPTIONAL, BYTES,    file_id,           1)
 | 
	
		
			
				|  |  |  #define Image_CALLBACK NULL
 | 
	
		
			
				|  |  |  #define Image_DEFAULT NULL
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  #define ImageGroup_FIELDLIST(X, a) \
 | 
	
		
			
				|  |  | -X(a, STATIC,   REPEATED, MESSAGE,  image,             1)
 | 
	
		
			
				|  |  | +X(a, POINTER,  REPEATED, MESSAGE,  image,             1)
 | 
	
		
			
				|  |  |  #define ImageGroup_CALLBACK NULL
 | 
	
		
			
				|  |  |  #define ImageGroup_DEFAULT NULL
 | 
	
		
			
				|  |  |  #define ImageGroup_image_MSGTYPE Image
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  #define Album_FIELDLIST(X, a) \
 | 
	
		
			
				|  |  |  X(a, CALLBACK, OPTIONAL, BYTES,    gid,               1) \
 | 
	
		
			
				|  |  | -X(a, STATIC,   OPTIONAL, STRING,   name,              2) \
 | 
	
		
			
				|  |  | +X(a, POINTER,  OPTIONAL, STRING,   name,              2) \
 | 
	
		
			
				|  |  |  X(a, STATIC,   OPTIONAL, MESSAGE,  cover_group,      17)
 | 
	
		
			
				|  |  |  #define Album_CALLBACK pb_default_field_callback
 | 
	
		
			
				|  |  |  #define Album_DEFAULT NULL
 | 
	
		
			
				|  |  |  #define Album_cover_group_MSGTYPE ImageGroup
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  #define Artist_FIELDLIST(X, a) \
 | 
	
		
			
				|  |  | -X(a, STATIC,   OPTIONAL, BYTES,    gid,               1) \
 | 
	
		
			
				|  |  | -X(a, STATIC,   OPTIONAL, STRING,   name,              2)
 | 
	
		
			
				|  |  | +X(a, POINTER,  OPTIONAL, BYTES,    gid,               1) \
 | 
	
		
			
				|  |  | +X(a, POINTER,  OPTIONAL, STRING,   name,              2)
 | 
	
		
			
				|  |  |  #define Artist_CALLBACK NULL
 | 
	
		
			
				|  |  |  #define Artist_DEFAULT NULL
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  #define Track_FIELDLIST(X, a) \
 | 
	
		
			
				|  |  | -X(a, STATIC,   OPTIONAL, BYTES,    gid,               1) \
 | 
	
		
			
				|  |  | -X(a, STATIC,   OPTIONAL, STRING,   name,              2) \
 | 
	
		
			
				|  |  | +X(a, POINTER,  OPTIONAL, BYTES,    gid,               1) \
 | 
	
		
			
				|  |  | +X(a, POINTER,  OPTIONAL, STRING,   name,              2) \
 | 
	
		
			
				|  |  |  X(a, STATIC,   OPTIONAL, MESSAGE,  album,             3) \
 | 
	
		
			
				|  |  | -X(a, STATIC,   REPEATED, MESSAGE,  artist,            4) \
 | 
	
		
			
				|  |  | +X(a, POINTER,  REPEATED, MESSAGE,  artist,            4) \
 | 
	
		
			
				|  |  |  X(a, STATIC,   OPTIONAL, SINT32,   duration,          7) \
 | 
	
		
			
				|  |  | -X(a, CALLBACK, REPEATED, MESSAGE,  restriction,      11) \
 | 
	
		
			
				|  |  | -X(a, STATIC,   REPEATED, MESSAGE,  file,             12) \
 | 
	
		
			
				|  |  | -X(a, CALLBACK, REPEATED, MESSAGE,  alternative,      13)
 | 
	
		
			
				|  |  | -#define Track_CALLBACK pb_default_field_callback
 | 
	
		
			
				|  |  | +X(a, POINTER,  REPEATED, MESSAGE,  restriction,      11) \
 | 
	
		
			
				|  |  | +X(a, POINTER,  REPEATED, MESSAGE,  file,             12) \
 | 
	
		
			
				|  |  | +X(a, POINTER,  REPEATED, MESSAGE,  alternative,      13)
 | 
	
		
			
				|  |  | +#define Track_CALLBACK NULL
 | 
	
		
			
				|  |  |  #define Track_DEFAULT NULL
 | 
	
		
			
				|  |  |  #define Track_album_MSGTYPE Album
 | 
	
		
			
				|  |  |  #define Track_artist_MSGTYPE Artist
 | 
	
	
		
			
				|  | @@ -209,11 +194,11 @@ X(a, CALLBACK, REPEATED, MESSAGE,  alternative,      13)
 | 
	
		
			
				|  |  |  #define Track_alternative_MSGTYPE Track
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  #define Episode_FIELDLIST(X, a) \
 | 
	
		
			
				|  |  | -X(a, STATIC,   OPTIONAL, BYTES,    gid,               1) \
 | 
	
		
			
				|  |  | -X(a, STATIC,   OPTIONAL, STRING,   name,              2) \
 | 
	
		
			
				|  |  | +X(a, POINTER,  OPTIONAL, BYTES,    gid,               1) \
 | 
	
		
			
				|  |  | +X(a, POINTER,  OPTIONAL, STRING,   name,              2) \
 | 
	
		
			
				|  |  |  X(a, STATIC,   OPTIONAL, SINT32,   duration,          7) \
 | 
	
		
			
				|  |  | -X(a, STATIC,   REPEATED, MESSAGE,  audio,            12) \
 | 
	
		
			
				|  |  | -X(a, STATIC,   OPTIONAL, MESSAGE,  covers,           68)
 | 
	
		
			
				|  |  | +X(a, POINTER,  REPEATED, MESSAGE,  audio,            12) \
 | 
	
		
			
				|  |  | +X(a, POINTER,  OPTIONAL, MESSAGE,  covers,           68)
 | 
	
		
			
				|  |  |  #define Episode_CALLBACK NULL
 | 
	
		
			
				|  |  |  #define Episode_DEFAULT NULL
 | 
	
		
			
				|  |  |  #define Episode_audio_MSGTYPE AudioFile
 | 
	
	
		
			
				|  | @@ -239,14 +224,14 @@ extern const pb_msgdesc_t Episode_msg;
 | 
	
		
			
				|  |  |  #define Episode_fields &Episode_msg
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  /* Maximum encoded size of messages (where known) */
 | 
	
		
			
				|  |  | +/* AudioFile_size depends on runtime parameters */
 | 
	
		
			
				|  |  | +/* Restriction_size depends on runtime parameters */
 | 
	
		
			
				|  |  | +/* Image_size depends on runtime parameters */
 | 
	
		
			
				|  |  | +/* ImageGroup_size depends on runtime parameters */
 | 
	
		
			
				|  |  |  /* Album_size depends on runtime parameters */
 | 
	
		
			
				|  |  | +/* Artist_size depends on runtime parameters */
 | 
	
		
			
				|  |  |  /* Track_size depends on runtime parameters */
 | 
	
		
			
				|  |  | -#define Artist_size                              645
 | 
	
		
			
				|  |  | -#define AudioFile_size                           133
 | 
	
		
			
				|  |  | -#define Episode_size                             3290
 | 
	
		
			
				|  |  | -#define ImageGroup_size                          1340
 | 
	
		
			
				|  |  | -#define Image_size                               131
 | 
	
		
			
				|  |  | -#define Restriction_size                         66
 | 
	
		
			
				|  |  | +/* Episode_size depends on runtime parameters */
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  #ifdef __cplusplus
 | 
	
		
			
				|  |  |  } /* extern "C" */
 |