/* Generated by the protocol buffer compiler.  DO NOT EDIT! */
/* Generated from: modules/pb_tests/pb_tests.proto */

/* Do not generate deprecated warnings for self */
#ifndef PROTOBUF_C__NO_DEPRECATED
#define PROTOBUF_C__NO_DEPRECATED
#endif

#include "modules/pb_tests/pb_tests.pb-c.h"
void test__struct__nested_struct__init(Test__Struct__NestedStruct *message)
{
  static const Test__Struct__NestedStruct init_value =
      TEST__STRUCT__NESTED_STRUCT__INIT;
  *message = init_value;
}
void test__struct__init(Test__Struct *message)
{
  static const Test__Struct init_value = TEST__STRUCT__INIT;
  *message = init_value;
}
size_t test__struct__get_packed_size(const Test__Struct *message)
{
  assert(message->base.descriptor == &test__struct__descriptor);
  return protobuf_c_message_get_packed_size(
      (const ProtobufCMessage *) (message));
}
size_t test__struct__pack(const Test__Struct *message, uint8_t *out)
{
  assert(message->base.descriptor == &test__struct__descriptor);
  return protobuf_c_message_pack((const ProtobufCMessage *) message, out);
}
size_t test__struct__pack_to_buffer(
    const Test__Struct *message,
    ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &test__struct__descriptor);
  return protobuf_c_message_pack_to_buffer(
      (const ProtobufCMessage *) message, buffer);
}
Test__Struct *test__struct__unpack(
    ProtobufCAllocator *allocator,
    size_t len,
    const uint8_t *data)
{
  return (Test__Struct *) protobuf_c_message_unpack(
      &test__struct__descriptor, allocator, len, data);
}
void test__struct__free_unpacked(
    Test__Struct *message,
    ProtobufCAllocator *allocator)
{
  if (!message)
    return;
  assert(message->base.descriptor == &test__struct__descriptor);
  protobuf_c_message_free_unpacked((ProtobufCMessage *) message, allocator);
}
void test__map_struct__init(Test__MapStruct *message)
{
  static const Test__MapStruct init_value = TEST__MAP_STRUCT__INIT;
  *message = init_value;
}
size_t test__map_struct__get_packed_size(const Test__MapStruct *message)
{
  assert(message->base.descriptor == &test__map_struct__descriptor);
  return protobuf_c_message_get_packed_size(
      (const ProtobufCMessage *) (message));
}
size_t test__map_struct__pack(const Test__MapStruct *message, uint8_t *out)
{
  assert(message->base.descriptor == &test__map_struct__descriptor);
  return protobuf_c_message_pack((const ProtobufCMessage *) message, out);
}
size_t test__map_struct__pack_to_buffer(
    const Test__MapStruct *message,
    ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &test__map_struct__descriptor);
  return protobuf_c_message_pack_to_buffer(
      (const ProtobufCMessage *) message, buffer);
}
Test__MapStruct *test__map_struct__unpack(
    ProtobufCAllocator *allocator,
    size_t len,
    const uint8_t *data)
{
  return (Test__MapStruct *) protobuf_c_message_unpack(
      &test__map_struct__descriptor, allocator, len, data);
}
void test__map_struct__free_unpacked(
    Test__MapStruct *message,
    ProtobufCAllocator *allocator)
{
  if (!message)
    return;
  assert(message->base.descriptor == &test__map_struct__descriptor);
  protobuf_c_message_free_unpacked((ProtobufCMessage *) message, allocator);
}
void test__root_message__fmap_int32_entry__init(
    Test__RootMessage__FMapInt32Entry *message)
{
  static const Test__RootMessage__FMapInt32Entry init_value =
      TEST__ROOT_MESSAGE__FMAP_INT32_ENTRY__INIT;
  *message = init_value;
}
void test__root_message__fmap_bool_entry__init(
    Test__RootMessage__FMapBoolEntry *message)
{
  static const Test__RootMessage__FMapBoolEntry init_value =
      TEST__ROOT_MESSAGE__FMAP_BOOL_ENTRY__INIT;
  *message = init_value;
}
void test__root_message__fmap_string_entry__init(
    Test__RootMessage__FMapStringEntry *message)
{
  static const Test__RootMessage__FMapStringEntry init_value =
      TEST__ROOT_MESSAGE__FMAP_STRING_ENTRY__INIT;
  *message = init_value;
}
void test__root_message__fmap_float_entry__init(
    Test__RootMessage__FMapFloatEntry *message)
{
  static const Test__RootMessage__FMapFloatEntry init_value =
      TEST__ROOT_MESSAGE__FMAP_FLOAT_ENTRY__INIT;
  *message = init_value;
}
void test__root_message__fmap_struct_entry__init(
    Test__RootMessage__FMapStructEntry *message)
{
  static const Test__RootMessage__FMapStructEntry init_value =
      TEST__ROOT_MESSAGE__FMAP_STRUCT_ENTRY__INIT;
  *message = init_value;
}
void test__root_message__init(Test__RootMessage *message)
{
  static const Test__RootMessage init_value = TEST__ROOT_MESSAGE__INIT;
  *message = init_value;
}
size_t test__root_message__get_packed_size(const Test__RootMessage *message)
{
  assert(message->base.descriptor == &test__root_message__descriptor);
  return protobuf_c_message_get_packed_size(
      (const ProtobufCMessage *) (message));
}
size_t test__root_message__pack(const Test__RootMessage *message, uint8_t *out)
{
  assert(message->base.descriptor == &test__root_message__descriptor);
  return protobuf_c_message_pack((const ProtobufCMessage *) message, out);
}
size_t test__root_message__pack_to_buffer(
    const Test__RootMessage *message,
    ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &test__root_message__descriptor);
  return protobuf_c_message_pack_to_buffer(
      (const ProtobufCMessage *) message, buffer);
}
Test__RootMessage *test__root_message__unpack(
    ProtobufCAllocator *allocator,
    size_t len,
    const uint8_t *data)
{
  return (Test__RootMessage *) protobuf_c_message_unpack(
      &test__root_message__descriptor, allocator, len, data);
}
void test__root_message__free_unpacked(
    Test__RootMessage *message,
    ProtobufCAllocator *allocator)
{
  if (!message)
    return;
  assert(message->base.descriptor == &test__root_message__descriptor);
  protobuf_c_message_free_unpacked((ProtobufCMessage *) message, allocator);
}
static const ProtobufCFieldDescriptor
    test__struct__nested_struct__field_descriptors[2] = {
        {
            "f_int32",
            1,
            PROTOBUF_C_LABEL_OPTIONAL,
            PROTOBUF_C_TYPE_INT32,
            offsetof(Test__Struct__NestedStruct, has_f_int32),
            offsetof(Test__Struct__NestedStruct, f_int32),
            NULL,
            NULL,
            0, /* flags */
            0,
            NULL,
            NULL /* reserved1,reserved2, etc */
        },
        {
            "f_string",
            2,
            PROTOBUF_C_LABEL_OPTIONAL,
            PROTOBUF_C_TYPE_STRING,
            0, /* quantifier_offset */
            offsetof(Test__Struct__NestedStruct, f_string),
            NULL,
            NULL,
            0, /* flags */
            0,
            NULL,
            NULL /* reserved1,reserved2, etc */
        },
};
static const unsigned test__struct__nested_struct__field_indices_by_name[] = {
    0, /* field[0] = f_int32 */
    1, /* field[1] = f_string */
};
static const ProtobufCIntRange
    test__struct__nested_struct__number_ranges[1 + 1] = {{1, 0}, {0, 2}};
const ProtobufCMessageDescriptor test__struct__nested_struct__descriptor = {
    PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
    "test.Struct.NestedStruct",
    "NestedStruct",
    "Test__Struct__NestedStruct",
    "test",
    sizeof(Test__Struct__NestedStruct),
    2,
    test__struct__nested_struct__field_descriptors,
    test__struct__nested_struct__field_indices_by_name,
    1,
    test__struct__nested_struct__number_ranges,
    (ProtobufCMessageInit) test__struct__nested_struct__init,
    NULL,
    NULL,
    NULL /* reserved[123] */
};
static const ProtobufCEnumValue test__struct__enum__enum_values_by_number[2] = {
    {"FIRST", "TEST__STRUCT__ENUM__FIRST", 0},
    {"SECOND", "TEST__STRUCT__ENUM__SECOND", 1},
};
static const ProtobufCIntRange test__struct__enum__value_ranges[] = {
    {0, 0},
    {0, 2}};
static const ProtobufCEnumValueIndex
    test__struct__enum__enum_values_by_name[2] = {
        {"FIRST", 0},
        {"SECOND", 1},
};
const ProtobufCEnumDescriptor test__struct__enum__descriptor = {
    PROTOBUF_C__ENUM_DESCRIPTOR_MAGIC,
    "test.Struct.Enum",
    "Enum",
    "Test__Struct__Enum",
    "test",
    2,
    test__struct__enum__enum_values_by_number,
    2,
    test__struct__enum__enum_values_by_name,
    1,
    test__struct__enum__value_ranges,
    NULL,
    NULL,
    NULL,
    NULL /* reserved[1234] */
};
static const ProtobufCFieldDescriptor test__struct__field_descriptors[4] = {
    {
        "f_string",
        1,
        PROTOBUF_C_LABEL_REQUIRED,
        PROTOBUF_C_TYPE_STRING,
        0, /* quantifier_offset */
        offsetof(Test__Struct, f_string),
        NULL,
        NULL,
        0, /* flags */
        0,
        NULL,
        NULL /* reserved1,reserved2, etc */
    },
    {
        "f_enum",
        2,
        PROTOBUF_C_LABEL_OPTIONAL,
        PROTOBUF_C_TYPE_ENUM,
        offsetof(Test__Struct, has_f_enum),
        offsetof(Test__Struct, f_enum),
        &test__struct__enum__descriptor,
        NULL,
        0, /* flags */
        0,
        NULL,
        NULL /* reserved1,reserved2, etc */
    },
    {
        "f_nested_struct",
        3,
        PROTOBUF_C_LABEL_OPTIONAL,
        PROTOBUF_C_TYPE_MESSAGE,
        0, /* quantifier_offset */
        offsetof(Test__Struct, f_nested_struct),
        &test__struct__nested_struct__descriptor,
        NULL,
        0, /* flags */
        0,
        NULL,
        NULL /* reserved1,reserved2, etc */
    },
    {
        "f_nested_struct_array",
        4,
        PROTOBUF_C_LABEL_REPEATED,
        PROTOBUF_C_TYPE_MESSAGE,
        offsetof(Test__Struct, n_f_nested_struct_array),
        offsetof(Test__Struct, f_nested_struct_array),
        &test__struct__nested_struct__descriptor,
        NULL,
        0, /* flags */
        0,
        NULL,
        NULL /* reserved1,reserved2, etc */
    },
};
static const unsigned test__struct__field_indices_by_name[] = {
    1, /* field[1] = f_enum */
    2, /* field[2] = f_nested_struct */
    3, /* field[3] = f_nested_struct_array */
    0, /* field[0] = f_string */
};
static const ProtobufCIntRange test__struct__number_ranges[1 + 1] = {
    {1, 0},
    {0, 4}};
const ProtobufCMessageDescriptor test__struct__descriptor = {
    PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
    "test.Struct",
    "Struct",
    "Test__Struct",
    "test",
    sizeof(Test__Struct),
    4,
    test__struct__field_descriptors,
    test__struct__field_indices_by_name,
    1,
    test__struct__number_ranges,
    (ProtobufCMessageInit) test__struct__init,
    NULL,
    NULL,
    NULL /* reserved[123] */
};
static const ProtobufCFieldDescriptor test__map_struct__field_descriptors[2] = {
    {
        "f_int32",
        1,
        PROTOBUF_C_LABEL_OPTIONAL,
        PROTOBUF_C_TYPE_INT32,
        offsetof(Test__MapStruct, has_f_int32),
        offsetof(Test__MapStruct, f_int32),
        NULL,
        NULL,
        0, /* flags */
        0,
        NULL,
        NULL /* reserved1,reserved2, etc */
    },
    {
        "f_int64",
        2,
        PROTOBUF_C_LABEL_OPTIONAL,
        PROTOBUF_C_TYPE_INT64,
        offsetof(Test__MapStruct, has_f_int64),
        offsetof(Test__MapStruct, f_int64),
        NULL,
        NULL,
        0, /* flags */
        0,
        NULL,
        NULL /* reserved1,reserved2, etc */
    },
};
static const unsigned test__map_struct__field_indices_by_name[] = {
    0, /* field[0] = f_int32 */
    1, /* field[1] = f_int64 */
};
static const ProtobufCIntRange test__map_struct__number_ranges[1 + 1] = {
    {1, 0},
    {0, 2}};
const ProtobufCMessageDescriptor test__map_struct__descriptor = {
    PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
    "test.MapStruct",
    "MapStruct",
    "Test__MapStruct",
    "test",
    sizeof(Test__MapStruct),
    2,
    test__map_struct__field_descriptors,
    test__map_struct__field_indices_by_name,
    1,
    test__map_struct__number_ranges,
    (ProtobufCMessageInit) test__map_struct__init,
    NULL,
    NULL,
    NULL /* reserved[123] */
};
static const ProtobufCFieldDescriptor
    test__root_message__fmap_int32_entry__field_descriptors[2] = {
        {
            "key",
            1,
            PROTOBUF_C_LABEL_OPTIONAL,
            PROTOBUF_C_TYPE_STRING,
            0, /* quantifier_offset */
            offsetof(Test__RootMessage__FMapInt32Entry, key),
            NULL,
            NULL,
            0, /* flags */
            0,
            NULL,
            NULL /* reserved1,reserved2, etc */
        },
        {
            "value",
            2,
            PROTOBUF_C_LABEL_OPTIONAL,
            PROTOBUF_C_TYPE_INT32,
            offsetof(Test__RootMessage__FMapInt32Entry, has_value),
            offsetof(Test__RootMessage__FMapInt32Entry, value),
            NULL,
            NULL,
            0, /* flags */
            0,
            NULL,
            NULL /* reserved1,reserved2, etc */
        },
};
static const unsigned
    test__root_message__fmap_int32_entry__field_indices_by_name[] = {
        0, /* field[0] = key */
        1, /* field[1] = value */
};
static const ProtobufCIntRange
    test__root_message__fmap_int32_entry__number_ranges[1 + 1] = {
        {1, 0},
        {0, 2}};
const ProtobufCMessageDescriptor
    test__root_message__fmap_int32_entry__descriptor = {
        PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
        "test.RootMessage.FMapInt32Entry",
        "FMapInt32Entry",
        "Test__RootMessage__FMapInt32Entry",
        "test",
        sizeof(Test__RootMessage__FMapInt32Entry),
        2,
        test__root_message__fmap_int32_entry__field_descriptors,
        test__root_message__fmap_int32_entry__field_indices_by_name,
        1,
        test__root_message__fmap_int32_entry__number_ranges,
        (ProtobufCMessageInit) test__root_message__fmap_int32_entry__init,
        NULL,
        NULL,
        NULL /* reserved[123] */
};
static const ProtobufCFieldDescriptor
    test__root_message__fmap_bool_entry__field_descriptors[2] = {
        {
            "key",
            1,
            PROTOBUF_C_LABEL_OPTIONAL,
            PROTOBUF_C_TYPE_STRING,
            0, /* quantifier_offset */
            offsetof(Test__RootMessage__FMapBoolEntry, key),
            NULL,
            NULL,
            0, /* flags */
            0,
            NULL,
            NULL /* reserved1,reserved2, etc */
        },
        {
            "value",
            2,
            PROTOBUF_C_LABEL_OPTIONAL,
            PROTOBUF_C_TYPE_BOOL,
            offsetof(Test__RootMessage__FMapBoolEntry, has_value),
            offsetof(Test__RootMessage__FMapBoolEntry, value),
            NULL,
            NULL,
            0, /* flags */
            0,
            NULL,
            NULL /* reserved1,reserved2, etc */
        },
};
static const unsigned
    test__root_message__fmap_bool_entry__field_indices_by_name[] = {
        0, /* field[0] = key */
        1, /* field[1] = value */
};
static const ProtobufCIntRange
    test__root_message__fmap_bool_entry__number_ranges[1 + 1] = {
        {1, 0},
        {0, 2}};
const ProtobufCMessageDescriptor
    test__root_message__fmap_bool_entry__descriptor = {
        PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
        "test.RootMessage.FMapBoolEntry",
        "FMapBoolEntry",
        "Test__RootMessage__FMapBoolEntry",
        "test",
        sizeof(Test__RootMessage__FMapBoolEntry),
        2,
        test__root_message__fmap_bool_entry__field_descriptors,
        test__root_message__fmap_bool_entry__field_indices_by_name,
        1,
        test__root_message__fmap_bool_entry__number_ranges,
        (ProtobufCMessageInit) test__root_message__fmap_bool_entry__init,
        NULL,
        NULL,
        NULL /* reserved[123] */
};
static const ProtobufCFieldDescriptor
    test__root_message__fmap_string_entry__field_descriptors[2] = {
        {
            "key",
            1,
            PROTOBUF_C_LABEL_OPTIONAL,
            PROTOBUF_C_TYPE_STRING,
            0, /* quantifier_offset */
            offsetof(Test__RootMessage__FMapStringEntry, key),
            NULL,
            NULL,
            0, /* flags */
            0,
            NULL,
            NULL /* reserved1,reserved2, etc */
        },
        {
            "value",
            2,
            PROTOBUF_C_LABEL_OPTIONAL,
            PROTOBUF_C_TYPE_STRING,
            0, /* quantifier_offset */
            offsetof(Test__RootMessage__FMapStringEntry, value),
            NULL,
            NULL,
            0, /* flags */
            0,
            NULL,
            NULL /* reserved1,reserved2, etc */
        },
};
static const unsigned
    test__root_message__fmap_string_entry__field_indices_by_name[] = {
        0, /* field[0] = key */
        1, /* field[1] = value */
};
static const ProtobufCIntRange
    test__root_message__fmap_string_entry__number_ranges[1 + 1] = {
        {1, 0},
        {0, 2}};
const ProtobufCMessageDescriptor
    test__root_message__fmap_string_entry__descriptor = {
        PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
        "test.RootMessage.FMapStringEntry",
        "FMapStringEntry",
        "Test__RootMessage__FMapStringEntry",
        "test",
        sizeof(Test__RootMessage__FMapStringEntry),
        2,
        test__root_message__fmap_string_entry__field_descriptors,
        test__root_message__fmap_string_entry__field_indices_by_name,
        1,
        test__root_message__fmap_string_entry__number_ranges,
        (ProtobufCMessageInit) test__root_message__fmap_string_entry__init,
        NULL,
        NULL,
        NULL /* reserved[123] */
};
static const ProtobufCFieldDescriptor
    test__root_message__fmap_float_entry__field_descriptors[2] = {
        {
            "key",
            1,
            PROTOBUF_C_LABEL_OPTIONAL,
            PROTOBUF_C_TYPE_STRING,
            0, /* quantifier_offset */
            offsetof(Test__RootMessage__FMapFloatEntry, key),
            NULL,
            NULL,
            0, /* flags */
            0,
            NULL,
            NULL /* reserved1,reserved2, etc */
        },
        {
            "value",
            2,
            PROTOBUF_C_LABEL_OPTIONAL,
            PROTOBUF_C_TYPE_FLOAT,
            offsetof(Test__RootMessage__FMapFloatEntry, has_value),
            offsetof(Test__RootMessage__FMapFloatEntry, value),
            NULL,
            NULL,
            0, /* flags */
            0,
            NULL,
            NULL /* reserved1,reserved2, etc */
        },
};
static const unsigned
    test__root_message__fmap_float_entry__field_indices_by_name[] = {
        0, /* field[0] = key */
        1, /* field[1] = value */
};
static const ProtobufCIntRange
    test__root_message__fmap_float_entry__number_ranges[1 + 1] = {
        {1, 0},
        {0, 2}};
const ProtobufCMessageDescriptor
    test__root_message__fmap_float_entry__descriptor = {
        PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
        "test.RootMessage.FMapFloatEntry",
        "FMapFloatEntry",
        "Test__RootMessage__FMapFloatEntry",
        "test",
        sizeof(Test__RootMessage__FMapFloatEntry),
        2,
        test__root_message__fmap_float_entry__field_descriptors,
        test__root_message__fmap_float_entry__field_indices_by_name,
        1,
        test__root_message__fmap_float_entry__number_ranges,
        (ProtobufCMessageInit) test__root_message__fmap_float_entry__init,
        NULL,
        NULL,
        NULL /* reserved[123] */
};
static const ProtobufCFieldDescriptor
    test__root_message__fmap_struct_entry__field_descriptors[2] = {
        {
            "key",
            1,
            PROTOBUF_C_LABEL_OPTIONAL,
            PROTOBUF_C_TYPE_STRING,
            0, /* quantifier_offset */
            offsetof(Test__RootMessage__FMapStructEntry, key),
            NULL,
            NULL,
            0, /* flags */
            0,
            NULL,
            NULL /* reserved1,reserved2, etc */
        },
        {
            "value",
            2,
            PROTOBUF_C_LABEL_OPTIONAL,
            PROTOBUF_C_TYPE_MESSAGE,
            0, /* quantifier_offset */
            offsetof(Test__RootMessage__FMapStructEntry, value),
            &test__map_struct__descriptor,
            NULL,
            0, /* flags */
            0,
            NULL,
            NULL /* reserved1,reserved2, etc */
        },
};
static const unsigned
    test__root_message__fmap_struct_entry__field_indices_by_name[] = {
        0, /* field[0] = key */
        1, /* field[1] = value */
};
static const ProtobufCIntRange
    test__root_message__fmap_struct_entry__number_ranges[1 + 1] = {
        {1, 0},
        {0, 2}};
const ProtobufCMessageDescriptor
    test__root_message__fmap_struct_entry__descriptor = {
        PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
        "test.RootMessage.FMapStructEntry",
        "FMapStructEntry",
        "Test__RootMessage__FMapStructEntry",
        "test",
        sizeof(Test__RootMessage__FMapStructEntry),
        2,
        test__root_message__fmap_struct_entry__field_descriptors,
        test__root_message__fmap_struct_entry__field_indices_by_name,
        1,
        test__root_message__fmap_struct_entry__number_ranges,
        (ProtobufCMessageInit) test__root_message__fmap_struct_entry__init,
        NULL,
        NULL,
        NULL /* reserved[123] */
};
static const ProtobufCFieldDescriptor
    test__root_message__field_descriptors[19] = {
        {
            "f_int32",
            1,
            PROTOBUF_C_LABEL_OPTIONAL,
            PROTOBUF_C_TYPE_INT32,
            offsetof(Test__RootMessage, has_f_int32),
            offsetof(Test__RootMessage, f_int32),
            NULL,
            NULL,
            0, /* flags */
            0,
            NULL,
            NULL /* reserved1,reserved2, etc */
        },
        {
            "f_int64",
            2,
            PROTOBUF_C_LABEL_OPTIONAL,
            PROTOBUF_C_TYPE_INT64,
            offsetof(Test__RootMessage, has_f_int64),
            offsetof(Test__RootMessage, f_int64),
            NULL,
            NULL,
            0, /* flags */
            0,
            NULL,
            NULL /* reserved1,reserved2, etc */
        },
        {
            "f_sint32",
            5,
            PROTOBUF_C_LABEL_OPTIONAL,
            PROTOBUF_C_TYPE_SINT32,
            offsetof(Test__RootMessage, has_f_sint32),
            offsetof(Test__RootMessage, f_sint32),
            NULL,
            NULL,
            0, /* flags */
            0,
            NULL,
            NULL /* reserved1,reserved2, etc */
        },
        {
            "f_sint64",
            6,
            PROTOBUF_C_LABEL_OPTIONAL,
            PROTOBUF_C_TYPE_SINT64,
            offsetof(Test__RootMessage, has_f_sint64),
            offsetof(Test__RootMessage, f_sint64),
            NULL,
            NULL,
            0, /* flags */
            0,
            NULL,
            NULL /* reserved1,reserved2, etc */
        },
        {
            "f_sfixed32",
            9,
            PROTOBUF_C_LABEL_OPTIONAL,
            PROTOBUF_C_TYPE_SFIXED32,
            offsetof(Test__RootMessage, has_f_sfixed32),
            offsetof(Test__RootMessage, f_sfixed32),
            NULL,
            NULL,
            0, /* flags */
            0,
            NULL,
            NULL /* reserved1,reserved2, etc */
        },
        {
            "f_sfixed64",
            10,
            PROTOBUF_C_LABEL_OPTIONAL,
            PROTOBUF_C_TYPE_SFIXED64,
            offsetof(Test__RootMessage, has_f_sfixed64),
            offsetof(Test__RootMessage, f_sfixed64),
            NULL,
            NULL,
            0, /* flags */
            0,
            NULL,
            NULL /* reserved1,reserved2, etc */
        },
        {
            "f_bool",
            11,
            PROTOBUF_C_LABEL_OPTIONAL,
            PROTOBUF_C_TYPE_BOOL,
            offsetof(Test__RootMessage, has_f_bool),
            offsetof(Test__RootMessage, f_bool),
            NULL,
            NULL,
            0, /* flags */
            0,
            NULL,
            NULL /* reserved1,reserved2, etc */
        },
        {
            "f_string",
            12,
            PROTOBUF_C_LABEL_OPTIONAL,
            PROTOBUF_C_TYPE_STRING,
            0, /* quantifier_offset */
            offsetof(Test__RootMessage, f_string),
            NULL,
            NULL,
            0, /* flags */
            0,
            NULL,
            NULL /* reserved1,reserved2, etc */
        },
        {
            "f_bytes",
            13,
            PROTOBUF_C_LABEL_OPTIONAL,
            PROTOBUF_C_TYPE_BYTES,
            offsetof(Test__RootMessage, has_f_bytes),
            offsetof(Test__RootMessage, f_bytes),
            NULL,
            NULL,
            0, /* flags */
            0,
            NULL,
            NULL /* reserved1,reserved2, etc */
        },
        {
            "f_struct_array",
            14,
            PROTOBUF_C_LABEL_REPEATED,
            PROTOBUF_C_TYPE_MESSAGE,
            offsetof(Test__RootMessage, n_f_struct_array),
            offsetof(Test__RootMessage, f_struct_array),
            &test__struct__descriptor,
            NULL,
            0, /* flags */
            0,
            NULL,
            NULL /* reserved1,reserved2, etc */
        },
        {
            "f_map_int32",
            15,
            PROTOBUF_C_LABEL_REPEATED,
            PROTOBUF_C_TYPE_MESSAGE,
            offsetof(Test__RootMessage, n_f_map_int32),
            offsetof(Test__RootMessage, f_map_int32),
            &test__root_message__fmap_int32_entry__descriptor,
            NULL,
            0, /* flags */
            0,
            NULL,
            NULL /* reserved1,reserved2, etc */
        },
        {
            "f_map_bool",
            16,
            PROTOBUF_C_LABEL_REPEATED,
            PROTOBUF_C_TYPE_MESSAGE,
            offsetof(Test__RootMessage, n_f_map_bool),
            offsetof(Test__RootMessage, f_map_bool),
            &test__root_message__fmap_bool_entry__descriptor,
            NULL,
            0, /* flags */
            0,
            NULL,
            NULL /* reserved1,reserved2, etc */
        },
        {
            "f_map_string",
            17,
            PROTOBUF_C_LABEL_REPEATED,
            PROTOBUF_C_TYPE_MESSAGE,
            offsetof(Test__RootMessage, n_f_map_string),
            offsetof(Test__RootMessage, f_map_string),
            &test__root_message__fmap_string_entry__descriptor,
            NULL,
            0, /* flags */
            0,
            NULL,
            NULL /* reserved1,reserved2, etc */
        },
        {
            "f_map_float",
            18,
            PROTOBUF_C_LABEL_REPEATED,
            PROTOBUF_C_TYPE_MESSAGE,
            offsetof(Test__RootMessage, n_f_map_float),
            offsetof(Test__RootMessage, f_map_float),
            &test__root_message__fmap_float_entry__descriptor,
            NULL,
            0, /* flags */
            0,
            NULL,
            NULL /* reserved1,reserved2, etc */
        },
        {
            "f_map_struct",
            19,
            PROTOBUF_C_LABEL_REPEATED,
            PROTOBUF_C_TYPE_MESSAGE,
            offsetof(Test__RootMessage, n_f_map_struct),
            offsetof(Test__RootMessage, f_map_struct),
            &test__root_message__fmap_struct_entry__descriptor,
            NULL,
            0, /* flags */
            0,
            NULL,
            NULL /* reserved1,reserved2, etc */
        },
        {
            "f_oneof_string",
            20,
            PROTOBUF_C_LABEL_OPTIONAL,
            PROTOBUF_C_TYPE_STRING,
            offsetof(Test__RootMessage, f_oneof_case),
            offsetof(Test__RootMessage, f_oneof_string),
            NULL,
            NULL,
            0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */
            0,
            NULL,
            NULL /* reserved1,reserved2, etc */
        },
        {
            "f_oneof_struct",
            21,
            PROTOBUF_C_LABEL_OPTIONAL,
            PROTOBUF_C_TYPE_MESSAGE,
            offsetof(Test__RootMessage, f_oneof_case),
            offsetof(Test__RootMessage, f_oneof_struct),
            &test__map_struct__descriptor,
            NULL,
            0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */
            0,
            NULL,
            NULL /* reserved1,reserved2, etc */
        },
        {
            "f_ignored",
            22,
            PROTOBUF_C_LABEL_OPTIONAL,
            PROTOBUF_C_TYPE_STRING,
            0, /* quantifier_offset */
            offsetof(Test__RootMessage, f_ignored),
            NULL,
            NULL,
            0, /* flags */
            0,
            NULL,
            NULL /* reserved1,reserved2, etc */
        },
        {
            "f_renamed",
            23,
            PROTOBUF_C_LABEL_OPTIONAL,
            PROTOBUF_C_TYPE_STRING,
            0, /* quantifier_offset */
            offsetof(Test__RootMessage, f_renamed),
            NULL,
            NULL,
            0, /* flags */
            0,
            NULL,
            NULL /* reserved1,reserved2, etc */
        },
};
static const unsigned test__root_message__field_indices_by_name[] = {
    6,  /* field[6] = f_bool */
    8,  /* field[8] = f_bytes */
    17, /* field[17] = f_ignored */
    0,  /* field[0] = f_int32 */
    1,  /* field[1] = f_int64 */
    11, /* field[11] = f_map_bool */
    13, /* field[13] = f_map_float */
    10, /* field[10] = f_map_int32 */
    12, /* field[12] = f_map_string */
    14, /* field[14] = f_map_struct */
    15, /* field[15] = f_oneof_string */
    16, /* field[16] = f_oneof_struct */
    18, /* field[18] = f_renamed */
    4,  /* field[4] = f_sfixed32 */
    5,  /* field[5] = f_sfixed64 */
    2,  /* field[2] = f_sint32 */
    3,  /* field[3] = f_sint64 */
    7,  /* field[7] = f_string */
    9,  /* field[9] = f_struct_array */
};
static const ProtobufCIntRange test__root_message__number_ranges[3 + 1] = {
    {1, 0},
    {5, 2},
    {9, 4},
    {0, 19}};
const ProtobufCMessageDescriptor test__root_message__descriptor = {
    PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
    "test.RootMessage",
    "RootMessage",
    "Test__RootMessage",
    "test",
    sizeof(Test__RootMessage),
    19,
    test__root_message__field_descriptors,
    test__root_message__field_indices_by_name,
    3,
    test__root_message__number_ranges,
    (ProtobufCMessageInit) test__root_message__init,
    NULL,
    NULL,
    NULL /* reserved[123] */
};
