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

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

#include "sk-netlink.pb-c.h"
void   netlink_sk_entry__init
                     (NetlinkSkEntry         *message)
{
  static const NetlinkSkEntry init_value = NETLINK_SK_ENTRY__INIT;
  *message = init_value;
}
size_t netlink_sk_entry__get_packed_size
                     (const NetlinkSkEntry *message)
{
  assert(message->base.descriptor == &netlink_sk_entry__descriptor);
  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
}
size_t netlink_sk_entry__pack
                     (const NetlinkSkEntry *message,
                      uint8_t       *out)
{
  assert(message->base.descriptor == &netlink_sk_entry__descriptor);
  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
}
size_t netlink_sk_entry__pack_to_buffer
                     (const NetlinkSkEntry *message,
                      ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &netlink_sk_entry__descriptor);
  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
}
NetlinkSkEntry *
       netlink_sk_entry__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data)
{
  return (NetlinkSkEntry *)
     protobuf_c_message_unpack (&netlink_sk_entry__descriptor,
                                allocator, len, data);
}
void   netlink_sk_entry__free_unpacked
                     (NetlinkSkEntry *message,
                      ProtobufCAllocator *allocator)
{
  if(!message)
    return;
  assert(message->base.descriptor == &netlink_sk_entry__descriptor);
  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
static const ProtobufCFieldDescriptor netlink_sk_entry__field_descriptors[12] =
{
  {
    "id",
    1,
    PROTOBUF_C_LABEL_REQUIRED,
    PROTOBUF_C_TYPE_UINT32,
    0,   /* quantifier_offset */
    offsetof(NetlinkSkEntry, id),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "ino",
    2,
    PROTOBUF_C_LABEL_REQUIRED,
    PROTOBUF_C_TYPE_UINT32,
    0,   /* quantifier_offset */
    offsetof(NetlinkSkEntry, ino),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "protocol",
    3,
    PROTOBUF_C_LABEL_REQUIRED,
    PROTOBUF_C_TYPE_UINT32,
    0,   /* quantifier_offset */
    offsetof(NetlinkSkEntry, protocol),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "state",
    4,
    PROTOBUF_C_LABEL_REQUIRED,
    PROTOBUF_C_TYPE_UINT32,
    0,   /* quantifier_offset */
    offsetof(NetlinkSkEntry, state),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "flags",
    6,
    PROTOBUF_C_LABEL_REQUIRED,
    PROTOBUF_C_TYPE_UINT32,
    0,   /* quantifier_offset */
    offsetof(NetlinkSkEntry, flags),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "portid",
    7,
    PROTOBUF_C_LABEL_REQUIRED,
    PROTOBUF_C_TYPE_UINT32,
    0,   /* quantifier_offset */
    offsetof(NetlinkSkEntry, portid),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "groups",
    8,
    PROTOBUF_C_LABEL_REPEATED,
    PROTOBUF_C_TYPE_UINT32,
    offsetof(NetlinkSkEntry, n_groups),
    offsetof(NetlinkSkEntry, groups),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "dst_portid",
    9,
    PROTOBUF_C_LABEL_REQUIRED,
    PROTOBUF_C_TYPE_UINT32,
    0,   /* quantifier_offset */
    offsetof(NetlinkSkEntry, dst_portid),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "dst_group",
    10,
    PROTOBUF_C_LABEL_REQUIRED,
    PROTOBUF_C_TYPE_UINT32,
    0,   /* quantifier_offset */
    offsetof(NetlinkSkEntry, dst_group),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "fown",
    11,
    PROTOBUF_C_LABEL_REQUIRED,
    PROTOBUF_C_TYPE_MESSAGE,
    0,   /* quantifier_offset */
    offsetof(NetlinkSkEntry, fown),
    &fown_entry__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "opts",
    12,
    PROTOBUF_C_LABEL_REQUIRED,
    PROTOBUF_C_TYPE_MESSAGE,
    0,   /* quantifier_offset */
    offsetof(NetlinkSkEntry, opts),
    &sk_opts_entry__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "ns_id",
    13,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_UINT32,
    offsetof(NetlinkSkEntry, has_ns_id),
    offsetof(NetlinkSkEntry, ns_id),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned netlink_sk_entry__field_indices_by_name[] = {
  8,   /* field[8] = dst_group */
  7,   /* field[7] = dst_portid */
  4,   /* field[4] = flags */
  9,   /* field[9] = fown */
  6,   /* field[6] = groups */
  0,   /* field[0] = id */
  1,   /* field[1] = ino */
  11,   /* field[11] = ns_id */
  10,   /* field[10] = opts */
  5,   /* field[5] = portid */
  2,   /* field[2] = protocol */
  3,   /* field[3] = state */
};
static const ProtobufCIntRange netlink_sk_entry__number_ranges[2 + 1] =
{
  { 1, 0 },
  { 6, 4 },
  { 0, 12 }
};
const ProtobufCMessageDescriptor netlink_sk_entry__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "netlink_sk_entry",
  "NetlinkSkEntry",
  "NetlinkSkEntry",
  "",
  sizeof(NetlinkSkEntry),
  12,
  netlink_sk_entry__field_descriptors,
  netlink_sk_entry__field_indices_by_name,
  2,  netlink_sk_entry__number_ranges,
  (ProtobufCMessageInit) netlink_sk_entry__init,
  NULL,NULL,NULL    /* reserved[123] */
};
