/* Generated by the protocol buffer compiler.  DO NOT EDIT! */
/* Generated from: core-riscv64.proto */

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

#include "core-riscv64.pb-c.h"
void   user_riscv64_regs_entry__init
                     (UserRiscv64RegsEntry         *message)
{
  static const UserRiscv64RegsEntry init_value = USER_RISCV64_REGS_ENTRY__INIT;
  *message = init_value;
}
size_t user_riscv64_regs_entry__get_packed_size
                     (const UserRiscv64RegsEntry *message)
{
  assert(message->base.descriptor == &user_riscv64_regs_entry__descriptor);
  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
}
size_t user_riscv64_regs_entry__pack
                     (const UserRiscv64RegsEntry *message,
                      uint8_t       *out)
{
  assert(message->base.descriptor == &user_riscv64_regs_entry__descriptor);
  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
}
size_t user_riscv64_regs_entry__pack_to_buffer
                     (const UserRiscv64RegsEntry *message,
                      ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &user_riscv64_regs_entry__descriptor);
  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
}
UserRiscv64RegsEntry *
       user_riscv64_regs_entry__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data)
{
  return (UserRiscv64RegsEntry *)
     protobuf_c_message_unpack (&user_riscv64_regs_entry__descriptor,
                                allocator, len, data);
}
void   user_riscv64_regs_entry__free_unpacked
                     (UserRiscv64RegsEntry *message,
                      ProtobufCAllocator *allocator)
{
  if(!message)
    return;
  assert(message->base.descriptor == &user_riscv64_regs_entry__descriptor);
  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
void   user_riscv64_d_ext_entry__init
                     (UserRiscv64DExtEntry         *message)
{
  static const UserRiscv64DExtEntry init_value = USER_RISCV64_D_EXT_ENTRY__INIT;
  *message = init_value;
}
size_t user_riscv64_d_ext_entry__get_packed_size
                     (const UserRiscv64DExtEntry *message)
{
  assert(message->base.descriptor == &user_riscv64_d_ext_entry__descriptor);
  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
}
size_t user_riscv64_d_ext_entry__pack
                     (const UserRiscv64DExtEntry *message,
                      uint8_t       *out)
{
  assert(message->base.descriptor == &user_riscv64_d_ext_entry__descriptor);
  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
}
size_t user_riscv64_d_ext_entry__pack_to_buffer
                     (const UserRiscv64DExtEntry *message,
                      ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &user_riscv64_d_ext_entry__descriptor);
  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
}
UserRiscv64DExtEntry *
       user_riscv64_d_ext_entry__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data)
{
  return (UserRiscv64DExtEntry *)
     protobuf_c_message_unpack (&user_riscv64_d_ext_entry__descriptor,
                                allocator, len, data);
}
void   user_riscv64_d_ext_entry__free_unpacked
                     (UserRiscv64DExtEntry *message,
                      ProtobufCAllocator *allocator)
{
  if(!message)
    return;
  assert(message->base.descriptor == &user_riscv64_d_ext_entry__descriptor);
  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
void   thread_info_riscv64__init
                     (ThreadInfoRiscv64         *message)
{
  static const ThreadInfoRiscv64 init_value = THREAD_INFO_RISCV64__INIT;
  *message = init_value;
}
size_t thread_info_riscv64__get_packed_size
                     (const ThreadInfoRiscv64 *message)
{
  assert(message->base.descriptor == &thread_info_riscv64__descriptor);
  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
}
size_t thread_info_riscv64__pack
                     (const ThreadInfoRiscv64 *message,
                      uint8_t       *out)
{
  assert(message->base.descriptor == &thread_info_riscv64__descriptor);
  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
}
size_t thread_info_riscv64__pack_to_buffer
                     (const ThreadInfoRiscv64 *message,
                      ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &thread_info_riscv64__descriptor);
  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
}
ThreadInfoRiscv64 *
       thread_info_riscv64__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data)
{
  return (ThreadInfoRiscv64 *)
     protobuf_c_message_unpack (&thread_info_riscv64__descriptor,
                                allocator, len, data);
}
void   thread_info_riscv64__free_unpacked
                     (ThreadInfoRiscv64 *message,
                      ProtobufCAllocator *allocator)
{
  if(!message)
    return;
  assert(message->base.descriptor == &thread_info_riscv64__descriptor);
  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
static const ProtobufCFieldDescriptor user_riscv64_regs_entry__field_descriptors[32] =
{
  {
    "pc",
    1,
    PROTOBUF_C_LABEL_REQUIRED,
    PROTOBUF_C_TYPE_UINT64,
    0,   /* quantifier_offset */
    offsetof(UserRiscv64RegsEntry, pc),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "ra",
    2,
    PROTOBUF_C_LABEL_REQUIRED,
    PROTOBUF_C_TYPE_UINT64,
    0,   /* quantifier_offset */
    offsetof(UserRiscv64RegsEntry, ra),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "sp",
    3,
    PROTOBUF_C_LABEL_REQUIRED,
    PROTOBUF_C_TYPE_UINT64,
    0,   /* quantifier_offset */
    offsetof(UserRiscv64RegsEntry, sp),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "gp",
    4,
    PROTOBUF_C_LABEL_REQUIRED,
    PROTOBUF_C_TYPE_UINT64,
    0,   /* quantifier_offset */
    offsetof(UserRiscv64RegsEntry, gp),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "tp",
    5,
    PROTOBUF_C_LABEL_REQUIRED,
    PROTOBUF_C_TYPE_UINT64,
    0,   /* quantifier_offset */
    offsetof(UserRiscv64RegsEntry, tp),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "t0",
    6,
    PROTOBUF_C_LABEL_REQUIRED,
    PROTOBUF_C_TYPE_UINT64,
    0,   /* quantifier_offset */
    offsetof(UserRiscv64RegsEntry, t0),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "t1",
    7,
    PROTOBUF_C_LABEL_REQUIRED,
    PROTOBUF_C_TYPE_UINT64,
    0,   /* quantifier_offset */
    offsetof(UserRiscv64RegsEntry, t1),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "t2",
    8,
    PROTOBUF_C_LABEL_REQUIRED,
    PROTOBUF_C_TYPE_UINT64,
    0,   /* quantifier_offset */
    offsetof(UserRiscv64RegsEntry, t2),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "s0",
    9,
    PROTOBUF_C_LABEL_REQUIRED,
    PROTOBUF_C_TYPE_UINT64,
    0,   /* quantifier_offset */
    offsetof(UserRiscv64RegsEntry, s0),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "s1",
    10,
    PROTOBUF_C_LABEL_REQUIRED,
    PROTOBUF_C_TYPE_UINT64,
    0,   /* quantifier_offset */
    offsetof(UserRiscv64RegsEntry, s1),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "a0",
    11,
    PROTOBUF_C_LABEL_REQUIRED,
    PROTOBUF_C_TYPE_UINT64,
    0,   /* quantifier_offset */
    offsetof(UserRiscv64RegsEntry, a0),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "a1",
    12,
    PROTOBUF_C_LABEL_REQUIRED,
    PROTOBUF_C_TYPE_UINT64,
    0,   /* quantifier_offset */
    offsetof(UserRiscv64RegsEntry, a1),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "a2",
    13,
    PROTOBUF_C_LABEL_REQUIRED,
    PROTOBUF_C_TYPE_UINT64,
    0,   /* quantifier_offset */
    offsetof(UserRiscv64RegsEntry, a2),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "a3",
    14,
    PROTOBUF_C_LABEL_REQUIRED,
    PROTOBUF_C_TYPE_UINT64,
    0,   /* quantifier_offset */
    offsetof(UserRiscv64RegsEntry, a3),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "a4",
    15,
    PROTOBUF_C_LABEL_REQUIRED,
    PROTOBUF_C_TYPE_UINT64,
    0,   /* quantifier_offset */
    offsetof(UserRiscv64RegsEntry, a4),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "a5",
    16,
    PROTOBUF_C_LABEL_REQUIRED,
    PROTOBUF_C_TYPE_UINT64,
    0,   /* quantifier_offset */
    offsetof(UserRiscv64RegsEntry, a5),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "a6",
    17,
    PROTOBUF_C_LABEL_REQUIRED,
    PROTOBUF_C_TYPE_UINT64,
    0,   /* quantifier_offset */
    offsetof(UserRiscv64RegsEntry, a6),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "a7",
    18,
    PROTOBUF_C_LABEL_REQUIRED,
    PROTOBUF_C_TYPE_UINT64,
    0,   /* quantifier_offset */
    offsetof(UserRiscv64RegsEntry, a7),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "s2",
    19,
    PROTOBUF_C_LABEL_REQUIRED,
    PROTOBUF_C_TYPE_UINT64,
    0,   /* quantifier_offset */
    offsetof(UserRiscv64RegsEntry, s2),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "s3",
    20,
    PROTOBUF_C_LABEL_REQUIRED,
    PROTOBUF_C_TYPE_UINT64,
    0,   /* quantifier_offset */
    offsetof(UserRiscv64RegsEntry, s3),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "s4",
    21,
    PROTOBUF_C_LABEL_REQUIRED,
    PROTOBUF_C_TYPE_UINT64,
    0,   /* quantifier_offset */
    offsetof(UserRiscv64RegsEntry, s4),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "s5",
    22,
    PROTOBUF_C_LABEL_REQUIRED,
    PROTOBUF_C_TYPE_UINT64,
    0,   /* quantifier_offset */
    offsetof(UserRiscv64RegsEntry, s5),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "s6",
    23,
    PROTOBUF_C_LABEL_REQUIRED,
    PROTOBUF_C_TYPE_UINT64,
    0,   /* quantifier_offset */
    offsetof(UserRiscv64RegsEntry, s6),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "s7",
    24,
    PROTOBUF_C_LABEL_REQUIRED,
    PROTOBUF_C_TYPE_UINT64,
    0,   /* quantifier_offset */
    offsetof(UserRiscv64RegsEntry, s7),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "s8",
    25,
    PROTOBUF_C_LABEL_REQUIRED,
    PROTOBUF_C_TYPE_UINT64,
    0,   /* quantifier_offset */
    offsetof(UserRiscv64RegsEntry, s8),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "s9",
    26,
    PROTOBUF_C_LABEL_REQUIRED,
    PROTOBUF_C_TYPE_UINT64,
    0,   /* quantifier_offset */
    offsetof(UserRiscv64RegsEntry, s9),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "s10",
    27,
    PROTOBUF_C_LABEL_REQUIRED,
    PROTOBUF_C_TYPE_UINT64,
    0,   /* quantifier_offset */
    offsetof(UserRiscv64RegsEntry, s10),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "s11",
    28,
    PROTOBUF_C_LABEL_REQUIRED,
    PROTOBUF_C_TYPE_UINT64,
    0,   /* quantifier_offset */
    offsetof(UserRiscv64RegsEntry, s11),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "t3",
    29,
    PROTOBUF_C_LABEL_REQUIRED,
    PROTOBUF_C_TYPE_UINT64,
    0,   /* quantifier_offset */
    offsetof(UserRiscv64RegsEntry, t3),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "t4",
    30,
    PROTOBUF_C_LABEL_REQUIRED,
    PROTOBUF_C_TYPE_UINT64,
    0,   /* quantifier_offset */
    offsetof(UserRiscv64RegsEntry, t4),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "t5",
    31,
    PROTOBUF_C_LABEL_REQUIRED,
    PROTOBUF_C_TYPE_UINT64,
    0,   /* quantifier_offset */
    offsetof(UserRiscv64RegsEntry, t5),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "t6",
    32,
    PROTOBUF_C_LABEL_REQUIRED,
    PROTOBUF_C_TYPE_UINT64,
    0,   /* quantifier_offset */
    offsetof(UserRiscv64RegsEntry, t6),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned user_riscv64_regs_entry__field_indices_by_name[] = {
  10,   /* field[10] = a0 */
  11,   /* field[11] = a1 */
  12,   /* field[12] = a2 */
  13,   /* field[13] = a3 */
  14,   /* field[14] = a4 */
  15,   /* field[15] = a5 */
  16,   /* field[16] = a6 */
  17,   /* field[17] = a7 */
  3,   /* field[3] = gp */
  0,   /* field[0] = pc */
  1,   /* field[1] = ra */
  8,   /* field[8] = s0 */
  9,   /* field[9] = s1 */
  26,   /* field[26] = s10 */
  27,   /* field[27] = s11 */
  18,   /* field[18] = s2 */
  19,   /* field[19] = s3 */
  20,   /* field[20] = s4 */
  21,   /* field[21] = s5 */
  22,   /* field[22] = s6 */
  23,   /* field[23] = s7 */
  24,   /* field[24] = s8 */
  25,   /* field[25] = s9 */
  2,   /* field[2] = sp */
  5,   /* field[5] = t0 */
  6,   /* field[6] = t1 */
  7,   /* field[7] = t2 */
  28,   /* field[28] = t3 */
  29,   /* field[29] = t4 */
  30,   /* field[30] = t5 */
  31,   /* field[31] = t6 */
  4,   /* field[4] = tp */
};
static const ProtobufCIntRange user_riscv64_regs_entry__number_ranges[1 + 1] =
{
  { 1, 0 },
  { 0, 32 }
};
const ProtobufCMessageDescriptor user_riscv64_regs_entry__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "user_riscv64_regs_entry",
  "UserRiscv64RegsEntry",
  "UserRiscv64RegsEntry",
  "",
  sizeof(UserRiscv64RegsEntry),
  32,
  user_riscv64_regs_entry__field_descriptors,
  user_riscv64_regs_entry__field_indices_by_name,
  1,  user_riscv64_regs_entry__number_ranges,
  (ProtobufCMessageInit) user_riscv64_regs_entry__init,
  NULL,NULL,NULL    /* reserved[123] */
};
static const ProtobufCFieldDescriptor user_riscv64_d_ext_entry__field_descriptors[2] =
{
  {
    "f",
    1,
    PROTOBUF_C_LABEL_REPEATED,
    PROTOBUF_C_TYPE_UINT64,
    offsetof(UserRiscv64DExtEntry, n_f),
    offsetof(UserRiscv64DExtEntry, f),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "fcsr",
    2,
    PROTOBUF_C_LABEL_REQUIRED,
    PROTOBUF_C_TYPE_UINT32,
    0,   /* quantifier_offset */
    offsetof(UserRiscv64DExtEntry, fcsr),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned user_riscv64_d_ext_entry__field_indices_by_name[] = {
  0,   /* field[0] = f */
  1,   /* field[1] = fcsr */
};
static const ProtobufCIntRange user_riscv64_d_ext_entry__number_ranges[1 + 1] =
{
  { 1, 0 },
  { 0, 2 }
};
const ProtobufCMessageDescriptor user_riscv64_d_ext_entry__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "user_riscv64_d_ext_entry",
  "UserRiscv64DExtEntry",
  "UserRiscv64DExtEntry",
  "",
  sizeof(UserRiscv64DExtEntry),
  2,
  user_riscv64_d_ext_entry__field_descriptors,
  user_riscv64_d_ext_entry__field_indices_by_name,
  1,  user_riscv64_d_ext_entry__number_ranges,
  (ProtobufCMessageInit) user_riscv64_d_ext_entry__init,
  NULL,NULL,NULL    /* reserved[123] */
};
static const ProtobufCFieldDescriptor thread_info_riscv64__field_descriptors[4] =
{
  {
    "clear_tid_addr",
    1,
    PROTOBUF_C_LABEL_REQUIRED,
    PROTOBUF_C_TYPE_UINT64,
    0,   /* quantifier_offset */
    offsetof(ThreadInfoRiscv64, clear_tid_addr),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "tls",
    2,
    PROTOBUF_C_LABEL_REQUIRED,
    PROTOBUF_C_TYPE_UINT64,
    0,   /* quantifier_offset */
    offsetof(ThreadInfoRiscv64, tls),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "gpregs",
    3,
    PROTOBUF_C_LABEL_REQUIRED,
    PROTOBUF_C_TYPE_MESSAGE,
    0,   /* quantifier_offset */
    offsetof(ThreadInfoRiscv64, gpregs),
    &user_riscv64_regs_entry__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "fpsimd",
    4,
    PROTOBUF_C_LABEL_REQUIRED,
    PROTOBUF_C_TYPE_MESSAGE,
    0,   /* quantifier_offset */
    offsetof(ThreadInfoRiscv64, fpsimd),
    &user_riscv64_d_ext_entry__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned thread_info_riscv64__field_indices_by_name[] = {
  0,   /* field[0] = clear_tid_addr */
  3,   /* field[3] = fpsimd */
  2,   /* field[2] = gpregs */
  1,   /* field[1] = tls */
};
static const ProtobufCIntRange thread_info_riscv64__number_ranges[1 + 1] =
{
  { 1, 0 },
  { 0, 4 }
};
const ProtobufCMessageDescriptor thread_info_riscv64__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "thread_info_riscv64",
  "ThreadInfoRiscv64",
  "ThreadInfoRiscv64",
  "",
  sizeof(ThreadInfoRiscv64),
  4,
  thread_info_riscv64__field_descriptors,
  thread_info_riscv64__field_indices_by_name,
  1,  thread_info_riscv64__number_ranges,
  (ProtobufCMessageInit) thread_info_riscv64__init,
  NULL,NULL,NULL    /* reserved[123] */
};
