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

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

#include "timens.pb-c.h"
void   timespec__init
                     (Timespec         *message)
{
  static const Timespec init_value = TIMESPEC__INIT;
  *message = init_value;
}
size_t timespec__get_packed_size
                     (const Timespec *message)
{
  assert(message->base.descriptor == &timespec__descriptor);
  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
}
size_t timespec__pack
                     (const Timespec *message,
                      uint8_t       *out)
{
  assert(message->base.descriptor == &timespec__descriptor);
  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
}
size_t timespec__pack_to_buffer
                     (const Timespec *message,
                      ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &timespec__descriptor);
  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
}
Timespec *
       timespec__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data)
{
  return (Timespec *)
     protobuf_c_message_unpack (&timespec__descriptor,
                                allocator, len, data);
}
void   timespec__free_unpacked
                     (Timespec *message,
                      ProtobufCAllocator *allocator)
{
  if(!message)
    return;
  assert(message->base.descriptor == &timespec__descriptor);
  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
void   timens_entry__init
                     (TimensEntry         *message)
{
  static const TimensEntry init_value = TIMENS_ENTRY__INIT;
  *message = init_value;
}
size_t timens_entry__get_packed_size
                     (const TimensEntry *message)
{
  assert(message->base.descriptor == &timens_entry__descriptor);
  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
}
size_t timens_entry__pack
                     (const TimensEntry *message,
                      uint8_t       *out)
{
  assert(message->base.descriptor == &timens_entry__descriptor);
  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
}
size_t timens_entry__pack_to_buffer
                     (const TimensEntry *message,
                      ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &timens_entry__descriptor);
  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
}
TimensEntry *
       timens_entry__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data)
{
  return (TimensEntry *)
     protobuf_c_message_unpack (&timens_entry__descriptor,
                                allocator, len, data);
}
void   timens_entry__free_unpacked
                     (TimensEntry *message,
                      ProtobufCAllocator *allocator)
{
  if(!message)
    return;
  assert(message->base.descriptor == &timens_entry__descriptor);
  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
static const ProtobufCFieldDescriptor timespec__field_descriptors[2] =
{
  {
    "tv_sec",
    1,
    PROTOBUF_C_LABEL_REQUIRED,
    PROTOBUF_C_TYPE_UINT64,
    0,   /* quantifier_offset */
    offsetof(Timespec, tv_sec),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "tv_nsec",
    2,
    PROTOBUF_C_LABEL_REQUIRED,
    PROTOBUF_C_TYPE_UINT64,
    0,   /* quantifier_offset */
    offsetof(Timespec, tv_nsec),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned timespec__field_indices_by_name[] = {
  1,   /* field[1] = tv_nsec */
  0,   /* field[0] = tv_sec */
};
static const ProtobufCIntRange timespec__number_ranges[1 + 1] =
{
  { 1, 0 },
  { 0, 2 }
};
const ProtobufCMessageDescriptor timespec__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "timespec",
  "Timespec",
  "Timespec",
  "",
  sizeof(Timespec),
  2,
  timespec__field_descriptors,
  timespec__field_indices_by_name,
  1,  timespec__number_ranges,
  (ProtobufCMessageInit) timespec__init,
  NULL,NULL,NULL    /* reserved[123] */
};
static const ProtobufCFieldDescriptor timens_entry__field_descriptors[2] =
{
  {
    "monotonic",
    1,
    PROTOBUF_C_LABEL_REQUIRED,
    PROTOBUF_C_TYPE_MESSAGE,
    0,   /* quantifier_offset */
    offsetof(TimensEntry, monotonic),
    &timespec__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "boottime",
    2,
    PROTOBUF_C_LABEL_REQUIRED,
    PROTOBUF_C_TYPE_MESSAGE,
    0,   /* quantifier_offset */
    offsetof(TimensEntry, boottime),
    &timespec__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned timens_entry__field_indices_by_name[] = {
  1,   /* field[1] = boottime */
  0,   /* field[0] = monotonic */
};
static const ProtobufCIntRange timens_entry__number_ranges[1 + 1] =
{
  { 1, 0 },
  { 0, 2 }
};
const ProtobufCMessageDescriptor timens_entry__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "timens_entry",
  "TimensEntry",
  "TimensEntry",
  "",
  sizeof(TimensEntry),
  2,
  timens_entry__field_descriptors,
  timens_entry__field_indices_by_name,
  1,  timens_entry__number_ranges,
  (ProtobufCMessageInit) timens_entry__init,
  NULL,NULL,NULL    /* reserved[123] */
};
