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

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

#include "rpc.pb-c.h"
void   criu_page_server_info__init
                     (CriuPageServerInfo         *message)
{
  static const CriuPageServerInfo init_value = CRIU_PAGE_SERVER_INFO__INIT;
  *message = init_value;
}
size_t criu_page_server_info__get_packed_size
                     (const CriuPageServerInfo *message)
{
  assert(message->base.descriptor == &criu_page_server_info__descriptor);
  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
}
size_t criu_page_server_info__pack
                     (const CriuPageServerInfo *message,
                      uint8_t       *out)
{
  assert(message->base.descriptor == &criu_page_server_info__descriptor);
  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
}
size_t criu_page_server_info__pack_to_buffer
                     (const CriuPageServerInfo *message,
                      ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &criu_page_server_info__descriptor);
  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
}
CriuPageServerInfo *
       criu_page_server_info__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data)
{
  return (CriuPageServerInfo *)
     protobuf_c_message_unpack (&criu_page_server_info__descriptor,
                                allocator, len, data);
}
void   criu_page_server_info__free_unpacked
                     (CriuPageServerInfo *message,
                      ProtobufCAllocator *allocator)
{
  if(!message)
    return;
  assert(message->base.descriptor == &criu_page_server_info__descriptor);
  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
void   criu_veth_pair__init
                     (CriuVethPair         *message)
{
  static const CriuVethPair init_value = CRIU_VETH_PAIR__INIT;
  *message = init_value;
}
size_t criu_veth_pair__get_packed_size
                     (const CriuVethPair *message)
{
  assert(message->base.descriptor == &criu_veth_pair__descriptor);
  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
}
size_t criu_veth_pair__pack
                     (const CriuVethPair *message,
                      uint8_t       *out)
{
  assert(message->base.descriptor == &criu_veth_pair__descriptor);
  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
}
size_t criu_veth_pair__pack_to_buffer
                     (const CriuVethPair *message,
                      ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &criu_veth_pair__descriptor);
  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
}
CriuVethPair *
       criu_veth_pair__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data)
{
  return (CriuVethPair *)
     protobuf_c_message_unpack (&criu_veth_pair__descriptor,
                                allocator, len, data);
}
void   criu_veth_pair__free_unpacked
                     (CriuVethPair *message,
                      ProtobufCAllocator *allocator)
{
  if(!message)
    return;
  assert(message->base.descriptor == &criu_veth_pair__descriptor);
  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
void   ext_mount_map__init
                     (ExtMountMap         *message)
{
  static const ExtMountMap init_value = EXT_MOUNT_MAP__INIT;
  *message = init_value;
}
size_t ext_mount_map__get_packed_size
                     (const ExtMountMap *message)
{
  assert(message->base.descriptor == &ext_mount_map__descriptor);
  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
}
size_t ext_mount_map__pack
                     (const ExtMountMap *message,
                      uint8_t       *out)
{
  assert(message->base.descriptor == &ext_mount_map__descriptor);
  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
}
size_t ext_mount_map__pack_to_buffer
                     (const ExtMountMap *message,
                      ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &ext_mount_map__descriptor);
  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
}
ExtMountMap *
       ext_mount_map__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data)
{
  return (ExtMountMap *)
     protobuf_c_message_unpack (&ext_mount_map__descriptor,
                                allocator, len, data);
}
void   ext_mount_map__free_unpacked
                     (ExtMountMap *message,
                      ProtobufCAllocator *allocator)
{
  if(!message)
    return;
  assert(message->base.descriptor == &ext_mount_map__descriptor);
  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
void   join_namespace__init
                     (JoinNamespace         *message)
{
  static const JoinNamespace init_value = JOIN_NAMESPACE__INIT;
  *message = init_value;
}
size_t join_namespace__get_packed_size
                     (const JoinNamespace *message)
{
  assert(message->base.descriptor == &join_namespace__descriptor);
  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
}
size_t join_namespace__pack
                     (const JoinNamespace *message,
                      uint8_t       *out)
{
  assert(message->base.descriptor == &join_namespace__descriptor);
  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
}
size_t join_namespace__pack_to_buffer
                     (const JoinNamespace *message,
                      ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &join_namespace__descriptor);
  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
}
JoinNamespace *
       join_namespace__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data)
{
  return (JoinNamespace *)
     protobuf_c_message_unpack (&join_namespace__descriptor,
                                allocator, len, data);
}
void   join_namespace__free_unpacked
                     (JoinNamespace *message,
                      ProtobufCAllocator *allocator)
{
  if(!message)
    return;
  assert(message->base.descriptor == &join_namespace__descriptor);
  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
void   inherit_fd__init
                     (InheritFd         *message)
{
  static const InheritFd init_value = INHERIT_FD__INIT;
  *message = init_value;
}
size_t inherit_fd__get_packed_size
                     (const InheritFd *message)
{
  assert(message->base.descriptor == &inherit_fd__descriptor);
  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
}
size_t inherit_fd__pack
                     (const InheritFd *message,
                      uint8_t       *out)
{
  assert(message->base.descriptor == &inherit_fd__descriptor);
  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
}
size_t inherit_fd__pack_to_buffer
                     (const InheritFd *message,
                      ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &inherit_fd__descriptor);
  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
}
InheritFd *
       inherit_fd__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data)
{
  return (InheritFd *)
     protobuf_c_message_unpack (&inherit_fd__descriptor,
                                allocator, len, data);
}
void   inherit_fd__free_unpacked
                     (InheritFd *message,
                      ProtobufCAllocator *allocator)
{
  if(!message)
    return;
  assert(message->base.descriptor == &inherit_fd__descriptor);
  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
void   cgroup_root__init
                     (CgroupRoot         *message)
{
  static const CgroupRoot init_value = CGROUP_ROOT__INIT;
  *message = init_value;
}
size_t cgroup_root__get_packed_size
                     (const CgroupRoot *message)
{
  assert(message->base.descriptor == &cgroup_root__descriptor);
  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
}
size_t cgroup_root__pack
                     (const CgroupRoot *message,
                      uint8_t       *out)
{
  assert(message->base.descriptor == &cgroup_root__descriptor);
  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
}
size_t cgroup_root__pack_to_buffer
                     (const CgroupRoot *message,
                      ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &cgroup_root__descriptor);
  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
}
CgroupRoot *
       cgroup_root__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data)
{
  return (CgroupRoot *)
     protobuf_c_message_unpack (&cgroup_root__descriptor,
                                allocator, len, data);
}
void   cgroup_root__free_unpacked
                     (CgroupRoot *message,
                      ProtobufCAllocator *allocator)
{
  if(!message)
    return;
  assert(message->base.descriptor == &cgroup_root__descriptor);
  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
void   unix_sk__init
                     (UnixSk         *message)
{
  static const UnixSk init_value = UNIX_SK__INIT;
  *message = init_value;
}
size_t unix_sk__get_packed_size
                     (const UnixSk *message)
{
  assert(message->base.descriptor == &unix_sk__descriptor);
  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
}
size_t unix_sk__pack
                     (const UnixSk *message,
                      uint8_t       *out)
{
  assert(message->base.descriptor == &unix_sk__descriptor);
  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
}
size_t unix_sk__pack_to_buffer
                     (const UnixSk *message,
                      ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &unix_sk__descriptor);
  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
}
UnixSk *
       unix_sk__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data)
{
  return (UnixSk *)
     protobuf_c_message_unpack (&unix_sk__descriptor,
                                allocator, len, data);
}
void   unix_sk__free_unpacked
                     (UnixSk *message,
                      ProtobufCAllocator *allocator)
{
  if(!message)
    return;
  assert(message->base.descriptor == &unix_sk__descriptor);
  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
void   criu_opts__init
                     (CriuOpts         *message)
{
  static const CriuOpts init_value = CRIU_OPTS__INIT;
  *message = init_value;
}
size_t criu_opts__get_packed_size
                     (const CriuOpts *message)
{
  assert(message->base.descriptor == &criu_opts__descriptor);
  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
}
size_t criu_opts__pack
                     (const CriuOpts *message,
                      uint8_t       *out)
{
  assert(message->base.descriptor == &criu_opts__descriptor);
  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
}
size_t criu_opts__pack_to_buffer
                     (const CriuOpts *message,
                      ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &criu_opts__descriptor);
  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
}
CriuOpts *
       criu_opts__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data)
{
  return (CriuOpts *)
     protobuf_c_message_unpack (&criu_opts__descriptor,
                                allocator, len, data);
}
void   criu_opts__free_unpacked
                     (CriuOpts *message,
                      ProtobufCAllocator *allocator)
{
  if(!message)
    return;
  assert(message->base.descriptor == &criu_opts__descriptor);
  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
void   criu_dump_resp__init
                     (CriuDumpResp         *message)
{
  static const CriuDumpResp init_value = CRIU_DUMP_RESP__INIT;
  *message = init_value;
}
size_t criu_dump_resp__get_packed_size
                     (const CriuDumpResp *message)
{
  assert(message->base.descriptor == &criu_dump_resp__descriptor);
  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
}
size_t criu_dump_resp__pack
                     (const CriuDumpResp *message,
                      uint8_t       *out)
{
  assert(message->base.descriptor == &criu_dump_resp__descriptor);
  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
}
size_t criu_dump_resp__pack_to_buffer
                     (const CriuDumpResp *message,
                      ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &criu_dump_resp__descriptor);
  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
}
CriuDumpResp *
       criu_dump_resp__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data)
{
  return (CriuDumpResp *)
     protobuf_c_message_unpack (&criu_dump_resp__descriptor,
                                allocator, len, data);
}
void   criu_dump_resp__free_unpacked
                     (CriuDumpResp *message,
                      ProtobufCAllocator *allocator)
{
  if(!message)
    return;
  assert(message->base.descriptor == &criu_dump_resp__descriptor);
  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
void   criu_restore_resp__init
                     (CriuRestoreResp         *message)
{
  static const CriuRestoreResp init_value = CRIU_RESTORE_RESP__INIT;
  *message = init_value;
}
size_t criu_restore_resp__get_packed_size
                     (const CriuRestoreResp *message)
{
  assert(message->base.descriptor == &criu_restore_resp__descriptor);
  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
}
size_t criu_restore_resp__pack
                     (const CriuRestoreResp *message,
                      uint8_t       *out)
{
  assert(message->base.descriptor == &criu_restore_resp__descriptor);
  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
}
size_t criu_restore_resp__pack_to_buffer
                     (const CriuRestoreResp *message,
                      ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &criu_restore_resp__descriptor);
  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
}
CriuRestoreResp *
       criu_restore_resp__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data)
{
  return (CriuRestoreResp *)
     protobuf_c_message_unpack (&criu_restore_resp__descriptor,
                                allocator, len, data);
}
void   criu_restore_resp__free_unpacked
                     (CriuRestoreResp *message,
                      ProtobufCAllocator *allocator)
{
  if(!message)
    return;
  assert(message->base.descriptor == &criu_restore_resp__descriptor);
  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
void   criu_notify__init
                     (CriuNotify         *message)
{
  static const CriuNotify init_value = CRIU_NOTIFY__INIT;
  *message = init_value;
}
size_t criu_notify__get_packed_size
                     (const CriuNotify *message)
{
  assert(message->base.descriptor == &criu_notify__descriptor);
  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
}
size_t criu_notify__pack
                     (const CriuNotify *message,
                      uint8_t       *out)
{
  assert(message->base.descriptor == &criu_notify__descriptor);
  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
}
size_t criu_notify__pack_to_buffer
                     (const CriuNotify *message,
                      ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &criu_notify__descriptor);
  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
}
CriuNotify *
       criu_notify__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data)
{
  return (CriuNotify *)
     protobuf_c_message_unpack (&criu_notify__descriptor,
                                allocator, len, data);
}
void   criu_notify__free_unpacked
                     (CriuNotify *message,
                      ProtobufCAllocator *allocator)
{
  if(!message)
    return;
  assert(message->base.descriptor == &criu_notify__descriptor);
  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
void   criu_features__init
                     (CriuFeatures         *message)
{
  static const CriuFeatures init_value = CRIU_FEATURES__INIT;
  *message = init_value;
}
size_t criu_features__get_packed_size
                     (const CriuFeatures *message)
{
  assert(message->base.descriptor == &criu_features__descriptor);
  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
}
size_t criu_features__pack
                     (const CriuFeatures *message,
                      uint8_t       *out)
{
  assert(message->base.descriptor == &criu_features__descriptor);
  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
}
size_t criu_features__pack_to_buffer
                     (const CriuFeatures *message,
                      ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &criu_features__descriptor);
  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
}
CriuFeatures *
       criu_features__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data)
{
  return (CriuFeatures *)
     protobuf_c_message_unpack (&criu_features__descriptor,
                                allocator, len, data);
}
void   criu_features__free_unpacked
                     (CriuFeatures *message,
                      ProtobufCAllocator *allocator)
{
  if(!message)
    return;
  assert(message->base.descriptor == &criu_features__descriptor);
  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
void   criu_req__init
                     (CriuReq         *message)
{
  static const CriuReq init_value = CRIU_REQ__INIT;
  *message = init_value;
}
size_t criu_req__get_packed_size
                     (const CriuReq *message)
{
  assert(message->base.descriptor == &criu_req__descriptor);
  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
}
size_t criu_req__pack
                     (const CriuReq *message,
                      uint8_t       *out)
{
  assert(message->base.descriptor == &criu_req__descriptor);
  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
}
size_t criu_req__pack_to_buffer
                     (const CriuReq *message,
                      ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &criu_req__descriptor);
  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
}
CriuReq *
       criu_req__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data)
{
  return (CriuReq *)
     protobuf_c_message_unpack (&criu_req__descriptor,
                                allocator, len, data);
}
void   criu_req__free_unpacked
                     (CriuReq *message,
                      ProtobufCAllocator *allocator)
{
  if(!message)
    return;
  assert(message->base.descriptor == &criu_req__descriptor);
  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
void   criu_resp__init
                     (CriuResp         *message)
{
  static const CriuResp init_value = CRIU_RESP__INIT;
  *message = init_value;
}
size_t criu_resp__get_packed_size
                     (const CriuResp *message)
{
  assert(message->base.descriptor == &criu_resp__descriptor);
  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
}
size_t criu_resp__pack
                     (const CriuResp *message,
                      uint8_t       *out)
{
  assert(message->base.descriptor == &criu_resp__descriptor);
  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
}
size_t criu_resp__pack_to_buffer
                     (const CriuResp *message,
                      ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &criu_resp__descriptor);
  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
}
CriuResp *
       criu_resp__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data)
{
  return (CriuResp *)
     protobuf_c_message_unpack (&criu_resp__descriptor,
                                allocator, len, data);
}
void   criu_resp__free_unpacked
                     (CriuResp *message,
                      ProtobufCAllocator *allocator)
{
  if(!message)
    return;
  assert(message->base.descriptor == &criu_resp__descriptor);
  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
void   criu_version__init
                     (CriuVersion         *message)
{
  static const CriuVersion init_value = CRIU_VERSION__INIT;
  *message = init_value;
}
size_t criu_version__get_packed_size
                     (const CriuVersion *message)
{
  assert(message->base.descriptor == &criu_version__descriptor);
  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
}
size_t criu_version__pack
                     (const CriuVersion *message,
                      uint8_t       *out)
{
  assert(message->base.descriptor == &criu_version__descriptor);
  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
}
size_t criu_version__pack_to_buffer
                     (const CriuVersion *message,
                      ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &criu_version__descriptor);
  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
}
CriuVersion *
       criu_version__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data)
{
  return (CriuVersion *)
     protobuf_c_message_unpack (&criu_version__descriptor,
                                allocator, len, data);
}
void   criu_version__free_unpacked
                     (CriuVersion *message,
                      ProtobufCAllocator *allocator)
{
  if(!message)
    return;
  assert(message->base.descriptor == &criu_version__descriptor);
  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
static const ProtobufCFieldDescriptor criu_page_server_info__field_descriptors[4] =
{
  {
    "address",
    1,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_STRING,
    0,   /* quantifier_offset */
    offsetof(CriuPageServerInfo, address),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "port",
    2,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_INT32,
    offsetof(CriuPageServerInfo, has_port),
    offsetof(CriuPageServerInfo, port),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "pid",
    3,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_INT32,
    offsetof(CriuPageServerInfo, has_pid),
    offsetof(CriuPageServerInfo, pid),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "fd",
    4,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_INT32,
    offsetof(CriuPageServerInfo, has_fd),
    offsetof(CriuPageServerInfo, fd),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned criu_page_server_info__field_indices_by_name[] = {
  0,   /* field[0] = address */
  3,   /* field[3] = fd */
  2,   /* field[2] = pid */
  1,   /* field[1] = port */
};
static const ProtobufCIntRange criu_page_server_info__number_ranges[1 + 1] =
{
  { 1, 0 },
  { 0, 4 }
};
const ProtobufCMessageDescriptor criu_page_server_info__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "criu_page_server_info",
  "CriuPageServerInfo",
  "CriuPageServerInfo",
  "",
  sizeof(CriuPageServerInfo),
  4,
  criu_page_server_info__field_descriptors,
  criu_page_server_info__field_indices_by_name,
  1,  criu_page_server_info__number_ranges,
  (ProtobufCMessageInit) criu_page_server_info__init,
  NULL,NULL,NULL    /* reserved[123] */
};
static const ProtobufCFieldDescriptor criu_veth_pair__field_descriptors[2] =
{
  {
    "if_in",
    1,
    PROTOBUF_C_LABEL_REQUIRED,
    PROTOBUF_C_TYPE_STRING,
    0,   /* quantifier_offset */
    offsetof(CriuVethPair, if_in),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "if_out",
    2,
    PROTOBUF_C_LABEL_REQUIRED,
    PROTOBUF_C_TYPE_STRING,
    0,   /* quantifier_offset */
    offsetof(CriuVethPair, if_out),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned criu_veth_pair__field_indices_by_name[] = {
  0,   /* field[0] = if_in */
  1,   /* field[1] = if_out */
};
static const ProtobufCIntRange criu_veth_pair__number_ranges[1 + 1] =
{
  { 1, 0 },
  { 0, 2 }
};
const ProtobufCMessageDescriptor criu_veth_pair__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "criu_veth_pair",
  "CriuVethPair",
  "CriuVethPair",
  "",
  sizeof(CriuVethPair),
  2,
  criu_veth_pair__field_descriptors,
  criu_veth_pair__field_indices_by_name,
  1,  criu_veth_pair__number_ranges,
  (ProtobufCMessageInit) criu_veth_pair__init,
  NULL,NULL,NULL    /* reserved[123] */
};
static const ProtobufCFieldDescriptor ext_mount_map__field_descriptors[2] =
{
  {
    "key",
    1,
    PROTOBUF_C_LABEL_REQUIRED,
    PROTOBUF_C_TYPE_STRING,
    0,   /* quantifier_offset */
    offsetof(ExtMountMap, key),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "val",
    2,
    PROTOBUF_C_LABEL_REQUIRED,
    PROTOBUF_C_TYPE_STRING,
    0,   /* quantifier_offset */
    offsetof(ExtMountMap, val),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned ext_mount_map__field_indices_by_name[] = {
  0,   /* field[0] = key */
  1,   /* field[1] = val */
};
static const ProtobufCIntRange ext_mount_map__number_ranges[1 + 1] =
{
  { 1, 0 },
  { 0, 2 }
};
const ProtobufCMessageDescriptor ext_mount_map__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "ext_mount_map",
  "ExtMountMap",
  "ExtMountMap",
  "",
  sizeof(ExtMountMap),
  2,
  ext_mount_map__field_descriptors,
  ext_mount_map__field_indices_by_name,
  1,  ext_mount_map__number_ranges,
  (ProtobufCMessageInit) ext_mount_map__init,
  NULL,NULL,NULL    /* reserved[123] */
};
static const ProtobufCFieldDescriptor join_namespace__field_descriptors[3] =
{
  {
    "ns",
    1,
    PROTOBUF_C_LABEL_REQUIRED,
    PROTOBUF_C_TYPE_STRING,
    0,   /* quantifier_offset */
    offsetof(JoinNamespace, ns),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "ns_file",
    2,
    PROTOBUF_C_LABEL_REQUIRED,
    PROTOBUF_C_TYPE_STRING,
    0,   /* quantifier_offset */
    offsetof(JoinNamespace, ns_file),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "extra_opt",
    3,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_STRING,
    0,   /* quantifier_offset */
    offsetof(JoinNamespace, extra_opt),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned join_namespace__field_indices_by_name[] = {
  2,   /* field[2] = extra_opt */
  0,   /* field[0] = ns */
  1,   /* field[1] = ns_file */
};
static const ProtobufCIntRange join_namespace__number_ranges[1 + 1] =
{
  { 1, 0 },
  { 0, 3 }
};
const ProtobufCMessageDescriptor join_namespace__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "join_namespace",
  "JoinNamespace",
  "JoinNamespace",
  "",
  sizeof(JoinNamespace),
  3,
  join_namespace__field_descriptors,
  join_namespace__field_indices_by_name,
  1,  join_namespace__number_ranges,
  (ProtobufCMessageInit) join_namespace__init,
  NULL,NULL,NULL    /* reserved[123] */
};
static const ProtobufCFieldDescriptor inherit_fd__field_descriptors[2] =
{
  {
    "key",
    1,
    PROTOBUF_C_LABEL_REQUIRED,
    PROTOBUF_C_TYPE_STRING,
    0,   /* quantifier_offset */
    offsetof(InheritFd, key),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "fd",
    2,
    PROTOBUF_C_LABEL_REQUIRED,
    PROTOBUF_C_TYPE_INT32,
    0,   /* quantifier_offset */
    offsetof(InheritFd, fd),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned inherit_fd__field_indices_by_name[] = {
  1,   /* field[1] = fd */
  0,   /* field[0] = key */
};
static const ProtobufCIntRange inherit_fd__number_ranges[1 + 1] =
{
  { 1, 0 },
  { 0, 2 }
};
const ProtobufCMessageDescriptor inherit_fd__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "inherit_fd",
  "InheritFd",
  "InheritFd",
  "",
  sizeof(InheritFd),
  2,
  inherit_fd__field_descriptors,
  inherit_fd__field_indices_by_name,
  1,  inherit_fd__number_ranges,
  (ProtobufCMessageInit) inherit_fd__init,
  NULL,NULL,NULL    /* reserved[123] */
};
static const ProtobufCFieldDescriptor cgroup_root__field_descriptors[2] =
{
  {
    "ctrl",
    1,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_STRING,
    0,   /* quantifier_offset */
    offsetof(CgroupRoot, ctrl),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "path",
    2,
    PROTOBUF_C_LABEL_REQUIRED,
    PROTOBUF_C_TYPE_STRING,
    0,   /* quantifier_offset */
    offsetof(CgroupRoot, path),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned cgroup_root__field_indices_by_name[] = {
  0,   /* field[0] = ctrl */
  1,   /* field[1] = path */
};
static const ProtobufCIntRange cgroup_root__number_ranges[1 + 1] =
{
  { 1, 0 },
  { 0, 2 }
};
const ProtobufCMessageDescriptor cgroup_root__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "cgroup_root",
  "CgroupRoot",
  "CgroupRoot",
  "",
  sizeof(CgroupRoot),
  2,
  cgroup_root__field_descriptors,
  cgroup_root__field_indices_by_name,
  1,  cgroup_root__number_ranges,
  (ProtobufCMessageInit) cgroup_root__init,
  NULL,NULL,NULL    /* reserved[123] */
};
static const ProtobufCFieldDescriptor unix_sk__field_descriptors[1] =
{
  {
    "inode",
    1,
    PROTOBUF_C_LABEL_REQUIRED,
    PROTOBUF_C_TYPE_UINT32,
    0,   /* quantifier_offset */
    offsetof(UnixSk, inode),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned unix_sk__field_indices_by_name[] = {
  0,   /* field[0] = inode */
};
static const ProtobufCIntRange unix_sk__number_ranges[1 + 1] =
{
  { 1, 0 },
  { 0, 1 }
};
const ProtobufCMessageDescriptor unix_sk__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "unix_sk",
  "UnixSk",
  "UnixSk",
  "",
  sizeof(UnixSk),
  1,
  unix_sk__field_descriptors,
  unix_sk__field_indices_by_name,
  1,  unix_sk__number_ranges,
  (ProtobufCMessageInit) unix_sk__init,
  NULL,NULL,NULL    /* reserved[123] */
};
static const int32_t criu_opts__images_dir_fd__default_value = -1;
static const int32_t criu_opts__log_level__default_value = 2;
static const uint32_t criu_opts__cpu_cap__default_value = 4294967295u;
static const uint32_t criu_opts__ghost_limit__default_value = 1048576u;
static const CriuPreDumpMode criu_opts__pre_dump_mode__default_value = CRIU_PRE_DUMP_MODE__SPLICE;
static const CriuNetworkLockMethod criu_opts__network_lock__default_value = CRIU_NETWORK_LOCK_METHOD__IPTABLES;
static const ProtobufCFieldDescriptor criu_opts__field_descriptors[70] =
{
  {
    "images_dir_fd",
    1,
    PROTOBUF_C_LABEL_REQUIRED,
    PROTOBUF_C_TYPE_INT32,
    0,   /* quantifier_offset */
    offsetof(CriuOpts, images_dir_fd),
    NULL,
    &criu_opts__images_dir_fd__default_value,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "pid",
    2,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_INT32,
    offsetof(CriuOpts, has_pid),
    offsetof(CriuOpts, pid),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "leave_running",
    3,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_BOOL,
    offsetof(CriuOpts, has_leave_running),
    offsetof(CriuOpts, leave_running),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "ext_unix_sk",
    4,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_BOOL,
    offsetof(CriuOpts, has_ext_unix_sk),
    offsetof(CriuOpts, ext_unix_sk),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "tcp_established",
    5,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_BOOL,
    offsetof(CriuOpts, has_tcp_established),
    offsetof(CriuOpts, tcp_established),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "evasive_devices",
    6,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_BOOL,
    offsetof(CriuOpts, has_evasive_devices),
    offsetof(CriuOpts, evasive_devices),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "shell_job",
    7,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_BOOL,
    offsetof(CriuOpts, has_shell_job),
    offsetof(CriuOpts, shell_job),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "file_locks",
    8,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_BOOL,
    offsetof(CriuOpts, has_file_locks),
    offsetof(CriuOpts, file_locks),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "log_level",
    9,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_INT32,
    offsetof(CriuOpts, has_log_level),
    offsetof(CriuOpts, log_level),
    NULL,
    &criu_opts__log_level__default_value,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "log_file",
    10,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_STRING,
    0,   /* quantifier_offset */
    offsetof(CriuOpts, log_file),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "ps",
    11,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_MESSAGE,
    0,   /* quantifier_offset */
    offsetof(CriuOpts, ps),
    &criu_page_server_info__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "notify_scripts",
    12,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_BOOL,
    offsetof(CriuOpts, has_notify_scripts),
    offsetof(CriuOpts, notify_scripts),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "root",
    13,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_STRING,
    0,   /* quantifier_offset */
    offsetof(CriuOpts, root),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "parent_img",
    14,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_STRING,
    0,   /* quantifier_offset */
    offsetof(CriuOpts, parent_img),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "track_mem",
    15,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_BOOL,
    offsetof(CriuOpts, has_track_mem),
    offsetof(CriuOpts, track_mem),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "auto_dedup",
    16,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_BOOL,
    offsetof(CriuOpts, has_auto_dedup),
    offsetof(CriuOpts, auto_dedup),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "work_dir_fd",
    17,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_INT32,
    offsetof(CriuOpts, has_work_dir_fd),
    offsetof(CriuOpts, work_dir_fd),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "link_remap",
    18,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_BOOL,
    offsetof(CriuOpts, has_link_remap),
    offsetof(CriuOpts, link_remap),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "veths",
    19,
    PROTOBUF_C_LABEL_REPEATED,
    PROTOBUF_C_TYPE_MESSAGE,
    offsetof(CriuOpts, n_veths),
    offsetof(CriuOpts, veths),
    &criu_veth_pair__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "cpu_cap",
    20,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_UINT32,
    offsetof(CriuOpts, has_cpu_cap),
    offsetof(CriuOpts, cpu_cap),
    NULL,
    &criu_opts__cpu_cap__default_value,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "force_irmap",
    21,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_BOOL,
    offsetof(CriuOpts, has_force_irmap),
    offsetof(CriuOpts, force_irmap),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "exec_cmd",
    22,
    PROTOBUF_C_LABEL_REPEATED,
    PROTOBUF_C_TYPE_STRING,
    offsetof(CriuOpts, n_exec_cmd),
    offsetof(CriuOpts, exec_cmd),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "ext_mnt",
    23,
    PROTOBUF_C_LABEL_REPEATED,
    PROTOBUF_C_TYPE_MESSAGE,
    offsetof(CriuOpts, n_ext_mnt),
    offsetof(CriuOpts, ext_mnt),
    &ext_mount_map__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "manage_cgroups",
    24,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_BOOL,
    offsetof(CriuOpts, has_manage_cgroups),
    offsetof(CriuOpts, manage_cgroups),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "cg_root",
    25,
    PROTOBUF_C_LABEL_REPEATED,
    PROTOBUF_C_TYPE_MESSAGE,
    offsetof(CriuOpts, n_cg_root),
    offsetof(CriuOpts, cg_root),
    &cgroup_root__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "rst_sibling",
    26,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_BOOL,
    offsetof(CriuOpts, has_rst_sibling),
    offsetof(CriuOpts, rst_sibling),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "inherit_fd",
    27,
    PROTOBUF_C_LABEL_REPEATED,
    PROTOBUF_C_TYPE_MESSAGE,
    offsetof(CriuOpts, n_inherit_fd),
    offsetof(CriuOpts, inherit_fd),
    &inherit_fd__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "auto_ext_mnt",
    28,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_BOOL,
    offsetof(CriuOpts, has_auto_ext_mnt),
    offsetof(CriuOpts, auto_ext_mnt),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "ext_sharing",
    29,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_BOOL,
    offsetof(CriuOpts, has_ext_sharing),
    offsetof(CriuOpts, ext_sharing),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "ext_masters",
    30,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_BOOL,
    offsetof(CriuOpts, has_ext_masters),
    offsetof(CriuOpts, ext_masters),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "skip_mnt",
    31,
    PROTOBUF_C_LABEL_REPEATED,
    PROTOBUF_C_TYPE_STRING,
    offsetof(CriuOpts, n_skip_mnt),
    offsetof(CriuOpts, skip_mnt),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "enable_fs",
    32,
    PROTOBUF_C_LABEL_REPEATED,
    PROTOBUF_C_TYPE_STRING,
    offsetof(CriuOpts, n_enable_fs),
    offsetof(CriuOpts, enable_fs),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "unix_sk_ino",
    33,
    PROTOBUF_C_LABEL_REPEATED,
    PROTOBUF_C_TYPE_MESSAGE,
    offsetof(CriuOpts, n_unix_sk_ino),
    offsetof(CriuOpts, unix_sk_ino),
    &unix_sk__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "manage_cgroups_mode",
    34,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_ENUM,
    offsetof(CriuOpts, has_manage_cgroups_mode),
    offsetof(CriuOpts, manage_cgroups_mode),
    &criu_cg_mode__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "ghost_limit",
    35,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_UINT32,
    offsetof(CriuOpts, has_ghost_limit),
    offsetof(CriuOpts, ghost_limit),
    NULL,
    &criu_opts__ghost_limit__default_value,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "irmap_scan_paths",
    36,
    PROTOBUF_C_LABEL_REPEATED,
    PROTOBUF_C_TYPE_STRING,
    offsetof(CriuOpts, n_irmap_scan_paths),
    offsetof(CriuOpts, irmap_scan_paths),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "external",
    37,
    PROTOBUF_C_LABEL_REPEATED,
    PROTOBUF_C_TYPE_STRING,
    offsetof(CriuOpts, n_external),
    offsetof(CriuOpts, external),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "empty_ns",
    38,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_UINT32,
    offsetof(CriuOpts, has_empty_ns),
    offsetof(CriuOpts, empty_ns),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "join_ns",
    39,
    PROTOBUF_C_LABEL_REPEATED,
    PROTOBUF_C_TYPE_MESSAGE,
    offsetof(CriuOpts, n_join_ns),
    offsetof(CriuOpts, join_ns),
    &join_namespace__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "cgroup_props",
    41,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_STRING,
    0,   /* quantifier_offset */
    offsetof(CriuOpts, cgroup_props),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "cgroup_props_file",
    42,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_STRING,
    0,   /* quantifier_offset */
    offsetof(CriuOpts, cgroup_props_file),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "cgroup_dump_controller",
    43,
    PROTOBUF_C_LABEL_REPEATED,
    PROTOBUF_C_TYPE_STRING,
    offsetof(CriuOpts, n_cgroup_dump_controller),
    offsetof(CriuOpts, cgroup_dump_controller),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "freeze_cgroup",
    44,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_STRING,
    0,   /* quantifier_offset */
    offsetof(CriuOpts, freeze_cgroup),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "timeout",
    45,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_UINT32,
    offsetof(CriuOpts, has_timeout),
    offsetof(CriuOpts, timeout),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "tcp_skip_in_flight",
    46,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_BOOL,
    offsetof(CriuOpts, has_tcp_skip_in_flight),
    offsetof(CriuOpts, tcp_skip_in_flight),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "weak_sysctls",
    47,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_BOOL,
    offsetof(CriuOpts, has_weak_sysctls),
    offsetof(CriuOpts, weak_sysctls),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "lazy_pages",
    48,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_BOOL,
    offsetof(CriuOpts, has_lazy_pages),
    offsetof(CriuOpts, lazy_pages),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "status_fd",
    49,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_INT32,
    offsetof(CriuOpts, has_status_fd),
    offsetof(CriuOpts, status_fd),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "orphan_pts_master",
    50,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_BOOL,
    offsetof(CriuOpts, has_orphan_pts_master),
    offsetof(CriuOpts, orphan_pts_master),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "config_file",
    51,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_STRING,
    0,   /* quantifier_offset */
    offsetof(CriuOpts, config_file),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "tcp_close",
    52,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_BOOL,
    offsetof(CriuOpts, has_tcp_close),
    offsetof(CriuOpts, tcp_close),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "lsm_profile",
    53,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_STRING,
    0,   /* quantifier_offset */
    offsetof(CriuOpts, lsm_profile),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "tls_cacert",
    54,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_STRING,
    0,   /* quantifier_offset */
    offsetof(CriuOpts, tls_cacert),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "tls_cacrl",
    55,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_STRING,
    0,   /* quantifier_offset */
    offsetof(CriuOpts, tls_cacrl),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "tls_cert",
    56,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_STRING,
    0,   /* quantifier_offset */
    offsetof(CriuOpts, tls_cert),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "tls_key",
    57,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_STRING,
    0,   /* quantifier_offset */
    offsetof(CriuOpts, tls_key),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "tls",
    58,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_BOOL,
    offsetof(CriuOpts, has_tls),
    offsetof(CriuOpts, tls),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "tls_no_cn_verify",
    59,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_BOOL,
    offsetof(CriuOpts, has_tls_no_cn_verify),
    offsetof(CriuOpts, tls_no_cn_verify),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "cgroup_yard",
    60,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_STRING,
    0,   /* quantifier_offset */
    offsetof(CriuOpts, cgroup_yard),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "pre_dump_mode",
    61,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_ENUM,
    offsetof(CriuOpts, has_pre_dump_mode),
    offsetof(CriuOpts, pre_dump_mode),
    &criu_pre_dump_mode__descriptor,
    &criu_opts__pre_dump_mode__default_value,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "pidfd_store_sk",
    62,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_INT32,
    offsetof(CriuOpts, has_pidfd_store_sk),
    offsetof(CriuOpts, pidfd_store_sk),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "lsm_mount_context",
    63,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_STRING,
    0,   /* quantifier_offset */
    offsetof(CriuOpts, lsm_mount_context),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "network_lock",
    64,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_ENUM,
    offsetof(CriuOpts, has_network_lock),
    offsetof(CriuOpts, network_lock),
    &criu_network_lock_method__descriptor,
    &criu_opts__network_lock__default_value,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "mntns_compat_mode",
    65,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_BOOL,
    offsetof(CriuOpts, has_mntns_compat_mode),
    offsetof(CriuOpts, mntns_compat_mode),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "skip_file_rwx_check",
    66,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_BOOL,
    offsetof(CriuOpts, has_skip_file_rwx_check),
    offsetof(CriuOpts, skip_file_rwx_check),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "unprivileged",
    67,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_BOOL,
    offsetof(CriuOpts, has_unprivileged),
    offsetof(CriuOpts, unprivileged),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "images_dir",
    68,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_STRING,
    0,   /* quantifier_offset */
    offsetof(CriuOpts, images_dir),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "leave_stopped",
    69,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_BOOL,
    offsetof(CriuOpts, has_leave_stopped),
    offsetof(CriuOpts, leave_stopped),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "display_stats",
    70,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_BOOL,
    offsetof(CriuOpts, has_display_stats),
    offsetof(CriuOpts, display_stats),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "log_to_stderr",
    71,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_BOOL,
    offsetof(CriuOpts, has_log_to_stderr),
    offsetof(CriuOpts, log_to_stderr),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned criu_opts__field_indices_by_name[] = {
  15,   /* field[15] = auto_dedup */
  27,   /* field[27] = auto_ext_mnt */
  24,   /* field[24] = cg_root */
  41,   /* field[41] = cgroup_dump_controller */
  39,   /* field[39] = cgroup_props */
  40,   /* field[40] = cgroup_props_file */
  58,   /* field[58] = cgroup_yard */
  49,   /* field[49] = config_file */
  19,   /* field[19] = cpu_cap */
  68,   /* field[68] = display_stats */
  37,   /* field[37] = empty_ns */
  31,   /* field[31] = enable_fs */
  5,   /* field[5] = evasive_devices */
  21,   /* field[21] = exec_cmd */
  29,   /* field[29] = ext_masters */
  22,   /* field[22] = ext_mnt */
  28,   /* field[28] = ext_sharing */
  3,   /* field[3] = ext_unix_sk */
  36,   /* field[36] = external */
  7,   /* field[7] = file_locks */
  20,   /* field[20] = force_irmap */
  42,   /* field[42] = freeze_cgroup */
  34,   /* field[34] = ghost_limit */
  66,   /* field[66] = images_dir */
  0,   /* field[0] = images_dir_fd */
  26,   /* field[26] = inherit_fd */
  35,   /* field[35] = irmap_scan_paths */
  38,   /* field[38] = join_ns */
  46,   /* field[46] = lazy_pages */
  2,   /* field[2] = leave_running */
  67,   /* field[67] = leave_stopped */
  17,   /* field[17] = link_remap */
  9,   /* field[9] = log_file */
  8,   /* field[8] = log_level */
  69,   /* field[69] = log_to_stderr */
  61,   /* field[61] = lsm_mount_context */
  51,   /* field[51] = lsm_profile */
  23,   /* field[23] = manage_cgroups */
  33,   /* field[33] = manage_cgroups_mode */
  63,   /* field[63] = mntns_compat_mode */
  62,   /* field[62] = network_lock */
  11,   /* field[11] = notify_scripts */
  48,   /* field[48] = orphan_pts_master */
  13,   /* field[13] = parent_img */
  1,   /* field[1] = pid */
  60,   /* field[60] = pidfd_store_sk */
  59,   /* field[59] = pre_dump_mode */
  10,   /* field[10] = ps */
  12,   /* field[12] = root */
  25,   /* field[25] = rst_sibling */
  6,   /* field[6] = shell_job */
  64,   /* field[64] = skip_file_rwx_check */
  30,   /* field[30] = skip_mnt */
  47,   /* field[47] = status_fd */
  50,   /* field[50] = tcp_close */
  4,   /* field[4] = tcp_established */
  44,   /* field[44] = tcp_skip_in_flight */
  43,   /* field[43] = timeout */
  56,   /* field[56] = tls */
  52,   /* field[52] = tls_cacert */
  53,   /* field[53] = tls_cacrl */
  54,   /* field[54] = tls_cert */
  55,   /* field[55] = tls_key */
  57,   /* field[57] = tls_no_cn_verify */
  14,   /* field[14] = track_mem */
  32,   /* field[32] = unix_sk_ino */
  65,   /* field[65] = unprivileged */
  18,   /* field[18] = veths */
  45,   /* field[45] = weak_sysctls */
  16,   /* field[16] = work_dir_fd */
};
static const ProtobufCIntRange criu_opts__number_ranges[2 + 1] =
{
  { 1, 0 },
  { 41, 39 },
  { 0, 70 }
};
const ProtobufCMessageDescriptor criu_opts__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "criu_opts",
  "CriuOpts",
  "CriuOpts",
  "",
  sizeof(CriuOpts),
  70,
  criu_opts__field_descriptors,
  criu_opts__field_indices_by_name,
  2,  criu_opts__number_ranges,
  (ProtobufCMessageInit) criu_opts__init,
  NULL,NULL,NULL    /* reserved[123] */
};
static const ProtobufCFieldDescriptor criu_dump_resp__field_descriptors[1] =
{
  {
    "restored",
    1,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_BOOL,
    offsetof(CriuDumpResp, has_restored),
    offsetof(CriuDumpResp, restored),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned criu_dump_resp__field_indices_by_name[] = {
  0,   /* field[0] = restored */
};
static const ProtobufCIntRange criu_dump_resp__number_ranges[1 + 1] =
{
  { 1, 0 },
  { 0, 1 }
};
const ProtobufCMessageDescriptor criu_dump_resp__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "criu_dump_resp",
  "CriuDumpResp",
  "CriuDumpResp",
  "",
  sizeof(CriuDumpResp),
  1,
  criu_dump_resp__field_descriptors,
  criu_dump_resp__field_indices_by_name,
  1,  criu_dump_resp__number_ranges,
  (ProtobufCMessageInit) criu_dump_resp__init,
  NULL,NULL,NULL    /* reserved[123] */
};
static const ProtobufCFieldDescriptor criu_restore_resp__field_descriptors[1] =
{
  {
    "pid",
    1,
    PROTOBUF_C_LABEL_REQUIRED,
    PROTOBUF_C_TYPE_INT32,
    0,   /* quantifier_offset */
    offsetof(CriuRestoreResp, pid),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned criu_restore_resp__field_indices_by_name[] = {
  0,   /* field[0] = pid */
};
static const ProtobufCIntRange criu_restore_resp__number_ranges[1 + 1] =
{
  { 1, 0 },
  { 0, 1 }
};
const ProtobufCMessageDescriptor criu_restore_resp__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "criu_restore_resp",
  "CriuRestoreResp",
  "CriuRestoreResp",
  "",
  sizeof(CriuRestoreResp),
  1,
  criu_restore_resp__field_descriptors,
  criu_restore_resp__field_indices_by_name,
  1,  criu_restore_resp__number_ranges,
  (ProtobufCMessageInit) criu_restore_resp__init,
  NULL,NULL,NULL    /* reserved[123] */
};
static const ProtobufCFieldDescriptor criu_notify__field_descriptors[2] =
{
  {
    "script",
    1,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_STRING,
    0,   /* quantifier_offset */
    offsetof(CriuNotify, script),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "pid",
    2,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_INT32,
    offsetof(CriuNotify, has_pid),
    offsetof(CriuNotify, pid),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned criu_notify__field_indices_by_name[] = {
  1,   /* field[1] = pid */
  0,   /* field[0] = script */
};
static const ProtobufCIntRange criu_notify__number_ranges[1 + 1] =
{
  { 1, 0 },
  { 0, 2 }
};
const ProtobufCMessageDescriptor criu_notify__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "criu_notify",
  "CriuNotify",
  "CriuNotify",
  "",
  sizeof(CriuNotify),
  2,
  criu_notify__field_descriptors,
  criu_notify__field_indices_by_name,
  1,  criu_notify__number_ranges,
  (ProtobufCMessageInit) criu_notify__init,
  NULL,NULL,NULL    /* reserved[123] */
};
static const ProtobufCFieldDescriptor criu_features__field_descriptors[3] =
{
  {
    "mem_track",
    1,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_BOOL,
    offsetof(CriuFeatures, has_mem_track),
    offsetof(CriuFeatures, mem_track),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "lazy_pages",
    2,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_BOOL,
    offsetof(CriuFeatures, has_lazy_pages),
    offsetof(CriuFeatures, lazy_pages),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "pidfd_store",
    3,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_BOOL,
    offsetof(CriuFeatures, has_pidfd_store),
    offsetof(CriuFeatures, pidfd_store),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned criu_features__field_indices_by_name[] = {
  1,   /* field[1] = lazy_pages */
  0,   /* field[0] = mem_track */
  2,   /* field[2] = pidfd_store */
};
static const ProtobufCIntRange criu_features__number_ranges[1 + 1] =
{
  { 1, 0 },
  { 0, 3 }
};
const ProtobufCMessageDescriptor criu_features__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "criu_features",
  "CriuFeatures",
  "CriuFeatures",
  "",
  sizeof(CriuFeatures),
  3,
  criu_features__field_descriptors,
  criu_features__field_indices_by_name,
  1,  criu_features__number_ranges,
  (ProtobufCMessageInit) criu_features__init,
  NULL,NULL,NULL    /* reserved[123] */
};
static const ProtobufCFieldDescriptor criu_req__field_descriptors[6] =
{
  {
    "type",
    1,
    PROTOBUF_C_LABEL_REQUIRED,
    PROTOBUF_C_TYPE_ENUM,
    0,   /* quantifier_offset */
    offsetof(CriuReq, type),
    &criu_req_type__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "opts",
    2,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_MESSAGE,
    0,   /* quantifier_offset */
    offsetof(CriuReq, opts),
    &criu_opts__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "notify_success",
    3,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_BOOL,
    offsetof(CriuReq, has_notify_success),
    offsetof(CriuReq, notify_success),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "keep_open",
    4,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_BOOL,
    offsetof(CriuReq, has_keep_open),
    offsetof(CriuReq, keep_open),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "features",
    5,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_MESSAGE,
    0,   /* quantifier_offset */
    offsetof(CriuReq, features),
    &criu_features__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "pid",
    6,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_UINT32,
    offsetof(CriuReq, has_pid),
    offsetof(CriuReq, pid),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned criu_req__field_indices_by_name[] = {
  4,   /* field[4] = features */
  3,   /* field[3] = keep_open */
  2,   /* field[2] = notify_success */
  1,   /* field[1] = opts */
  5,   /* field[5] = pid */
  0,   /* field[0] = type */
};
static const ProtobufCIntRange criu_req__number_ranges[1 + 1] =
{
  { 1, 0 },
  { 0, 6 }
};
const ProtobufCMessageDescriptor criu_req__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "criu_req",
  "CriuReq",
  "CriuReq",
  "",
  sizeof(CriuReq),
  6,
  criu_req__field_descriptors,
  criu_req__field_indices_by_name,
  1,  criu_req__number_ranges,
  (ProtobufCMessageInit) criu_req__init,
  NULL,NULL,NULL    /* reserved[123] */
};
static const ProtobufCFieldDescriptor criu_resp__field_descriptors[11] =
{
  {
    "type",
    1,
    PROTOBUF_C_LABEL_REQUIRED,
    PROTOBUF_C_TYPE_ENUM,
    0,   /* quantifier_offset */
    offsetof(CriuResp, type),
    &criu_req_type__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "success",
    2,
    PROTOBUF_C_LABEL_REQUIRED,
    PROTOBUF_C_TYPE_BOOL,
    0,   /* quantifier_offset */
    offsetof(CriuResp, success),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "dump",
    3,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_MESSAGE,
    0,   /* quantifier_offset */
    offsetof(CriuResp, dump),
    &criu_dump_resp__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "restore",
    4,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_MESSAGE,
    0,   /* quantifier_offset */
    offsetof(CriuResp, restore),
    &criu_restore_resp__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "notify",
    5,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_MESSAGE,
    0,   /* quantifier_offset */
    offsetof(CriuResp, notify),
    &criu_notify__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "ps",
    6,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_MESSAGE,
    0,   /* quantifier_offset */
    offsetof(CriuResp, ps),
    &criu_page_server_info__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "cr_errno",
    7,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_INT32,
    offsetof(CriuResp, has_cr_errno),
    offsetof(CriuResp, cr_errno),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "features",
    8,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_MESSAGE,
    0,   /* quantifier_offset */
    offsetof(CriuResp, features),
    &criu_features__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "cr_errmsg",
    9,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_STRING,
    0,   /* quantifier_offset */
    offsetof(CriuResp, cr_errmsg),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "version",
    10,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_MESSAGE,
    0,   /* quantifier_offset */
    offsetof(CriuResp, version),
    &criu_version__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "status",
    11,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_INT32,
    offsetof(CriuResp, has_status),
    offsetof(CriuResp, status),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned criu_resp__field_indices_by_name[] = {
  8,   /* field[8] = cr_errmsg */
  6,   /* field[6] = cr_errno */
  2,   /* field[2] = dump */
  7,   /* field[7] = features */
  4,   /* field[4] = notify */
  5,   /* field[5] = ps */
  3,   /* field[3] = restore */
  10,   /* field[10] = status */
  1,   /* field[1] = success */
  0,   /* field[0] = type */
  9,   /* field[9] = version */
};
static const ProtobufCIntRange criu_resp__number_ranges[1 + 1] =
{
  { 1, 0 },
  { 0, 11 }
};
const ProtobufCMessageDescriptor criu_resp__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "criu_resp",
  "CriuResp",
  "CriuResp",
  "",
  sizeof(CriuResp),
  11,
  criu_resp__field_descriptors,
  criu_resp__field_indices_by_name,
  1,  criu_resp__number_ranges,
  (ProtobufCMessageInit) criu_resp__init,
  NULL,NULL,NULL    /* reserved[123] */
};
static const ProtobufCFieldDescriptor criu_version__field_descriptors[6] =
{
  {
    "major_number",
    1,
    PROTOBUF_C_LABEL_REQUIRED,
    PROTOBUF_C_TYPE_INT32,
    0,   /* quantifier_offset */
    offsetof(CriuVersion, major_number),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "minor_number",
    2,
    PROTOBUF_C_LABEL_REQUIRED,
    PROTOBUF_C_TYPE_INT32,
    0,   /* quantifier_offset */
    offsetof(CriuVersion, minor_number),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "gitid",
    3,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_STRING,
    0,   /* quantifier_offset */
    offsetof(CriuVersion, gitid),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "sublevel",
    4,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_INT32,
    offsetof(CriuVersion, has_sublevel),
    offsetof(CriuVersion, sublevel),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "extra",
    5,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_INT32,
    offsetof(CriuVersion, has_extra),
    offsetof(CriuVersion, extra),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "name",
    6,
    PROTOBUF_C_LABEL_OPTIONAL,
    PROTOBUF_C_TYPE_STRING,
    0,   /* quantifier_offset */
    offsetof(CriuVersion, name),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned criu_version__field_indices_by_name[] = {
  4,   /* field[4] = extra */
  2,   /* field[2] = gitid */
  0,   /* field[0] = major_number */
  1,   /* field[1] = minor_number */
  5,   /* field[5] = name */
  3,   /* field[3] = sublevel */
};
static const ProtobufCIntRange criu_version__number_ranges[1 + 1] =
{
  { 1, 0 },
  { 0, 6 }
};
const ProtobufCMessageDescriptor criu_version__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "criu_version",
  "CriuVersion",
  "CriuVersion",
  "",
  sizeof(CriuVersion),
  6,
  criu_version__field_descriptors,
  criu_version__field_indices_by_name,
  1,  criu_version__number_ranges,
  (ProtobufCMessageInit) criu_version__init,
  NULL,NULL,NULL    /* reserved[123] */
};
static const ProtobufCEnumValue criu_cg_mode__enum_values_by_number[7] =
{
  { "IGNORE", "CRIU_CG_MODE__IGNORE", 0 },
  { "CG_NONE", "CRIU_CG_MODE__CG_NONE", 1 },
  { "PROPS", "CRIU_CG_MODE__PROPS", 2 },
  { "SOFT", "CRIU_CG_MODE__SOFT", 3 },
  { "FULL", "CRIU_CG_MODE__FULL", 4 },
  { "STRICT", "CRIU_CG_MODE__STRICT", 5 },
  { "DEFAULT", "CRIU_CG_MODE__DEFAULT", 6 },
};
static const ProtobufCIntRange criu_cg_mode__value_ranges[] = {
{0, 0},{0, 7}
};
static const ProtobufCEnumValueIndex criu_cg_mode__enum_values_by_name[7] =
{
  { "CG_NONE", 1 },
  { "DEFAULT", 6 },
  { "FULL", 4 },
  { "IGNORE", 0 },
  { "PROPS", 2 },
  { "SOFT", 3 },
  { "STRICT", 5 },
};
const ProtobufCEnumDescriptor criu_cg_mode__descriptor =
{
  PROTOBUF_C__ENUM_DESCRIPTOR_MAGIC,
  "criu_cg_mode",
  "criu_cg_mode",
  "CriuCgMode",
  "",
  7,
  criu_cg_mode__enum_values_by_number,
  7,
  criu_cg_mode__enum_values_by_name,
  1,
  criu_cg_mode__value_ranges,
  NULL,NULL,NULL,NULL   /* reserved[1234] */
};
static const ProtobufCEnumValue criu_network_lock_method__enum_values_by_number[3] =
{
  { "IPTABLES", "CRIU_NETWORK_LOCK_METHOD__IPTABLES", 1 },
  { "NFTABLES", "CRIU_NETWORK_LOCK_METHOD__NFTABLES", 2 },
  { "SKIP", "CRIU_NETWORK_LOCK_METHOD__SKIP", 3 },
};
static const ProtobufCIntRange criu_network_lock_method__value_ranges[] = {
{1, 0},{0, 3}
};
static const ProtobufCEnumValueIndex criu_network_lock_method__enum_values_by_name[3] =
{
  { "IPTABLES", 0 },
  { "NFTABLES", 1 },
  { "SKIP", 2 },
};
const ProtobufCEnumDescriptor criu_network_lock_method__descriptor =
{
  PROTOBUF_C__ENUM_DESCRIPTOR_MAGIC,
  "criu_network_lock_method",
  "criu_network_lock_method",
  "CriuNetworkLockMethod",
  "",
  3,
  criu_network_lock_method__enum_values_by_number,
  3,
  criu_network_lock_method__enum_values_by_name,
  1,
  criu_network_lock_method__value_ranges,
  NULL,NULL,NULL,NULL   /* reserved[1234] */
};
static const ProtobufCEnumValue criu_pre_dump_mode__enum_values_by_number[2] =
{
  { "SPLICE", "CRIU_PRE_DUMP_MODE__SPLICE", 1 },
  { "VM_READ", "CRIU_PRE_DUMP_MODE__VM_READ", 2 },
};
static const ProtobufCIntRange criu_pre_dump_mode__value_ranges[] = {
{1, 0},{0, 2}
};
static const ProtobufCEnumValueIndex criu_pre_dump_mode__enum_values_by_name[2] =
{
  { "SPLICE", 0 },
  { "VM_READ", 1 },
};
const ProtobufCEnumDescriptor criu_pre_dump_mode__descriptor =
{
  PROTOBUF_C__ENUM_DESCRIPTOR_MAGIC,
  "criu_pre_dump_mode",
  "criu_pre_dump_mode",
  "CriuPreDumpMode",
  "",
  2,
  criu_pre_dump_mode__enum_values_by_number,
  2,
  criu_pre_dump_mode__enum_values_by_name,
  1,
  criu_pre_dump_mode__value_ranges,
  NULL,NULL,NULL,NULL   /* reserved[1234] */
};
static const ProtobufCEnumValue criu_req_type__enum_values_by_number[14] =
{
  { "EMPTY", "CRIU_REQ_TYPE__EMPTY", 0 },
  { "DUMP", "CRIU_REQ_TYPE__DUMP", 1 },
  { "RESTORE", "CRIU_REQ_TYPE__RESTORE", 2 },
  { "CHECK", "CRIU_REQ_TYPE__CHECK", 3 },
  { "PRE_DUMP", "CRIU_REQ_TYPE__PRE_DUMP", 4 },
  { "PAGE_SERVER", "CRIU_REQ_TYPE__PAGE_SERVER", 5 },
  { "NOTIFY", "CRIU_REQ_TYPE__NOTIFY", 6 },
  { "CPUINFO_DUMP", "CRIU_REQ_TYPE__CPUINFO_DUMP", 7 },
  { "CPUINFO_CHECK", "CRIU_REQ_TYPE__CPUINFO_CHECK", 8 },
  { "FEATURE_CHECK", "CRIU_REQ_TYPE__FEATURE_CHECK", 9 },
  { "VERSION", "CRIU_REQ_TYPE__VERSION", 10 },
  { "WAIT_PID", "CRIU_REQ_TYPE__WAIT_PID", 11 },
  { "PAGE_SERVER_CHLD", "CRIU_REQ_TYPE__PAGE_SERVER_CHLD", 12 },
  { "SINGLE_PRE_DUMP", "CRIU_REQ_TYPE__SINGLE_PRE_DUMP", 13 },
};
static const ProtobufCIntRange criu_req_type__value_ranges[] = {
{0, 0},{0, 14}
};
static const ProtobufCEnumValueIndex criu_req_type__enum_values_by_name[14] =
{
  { "CHECK", 3 },
  { "CPUINFO_CHECK", 8 },
  { "CPUINFO_DUMP", 7 },
  { "DUMP", 1 },
  { "EMPTY", 0 },
  { "FEATURE_CHECK", 9 },
  { "NOTIFY", 6 },
  { "PAGE_SERVER", 5 },
  { "PAGE_SERVER_CHLD", 12 },
  { "PRE_DUMP", 4 },
  { "RESTORE", 2 },
  { "SINGLE_PRE_DUMP", 13 },
  { "VERSION", 10 },
  { "WAIT_PID", 11 },
};
const ProtobufCEnumDescriptor criu_req_type__descriptor =
{
  PROTOBUF_C__ENUM_DESCRIPTOR_MAGIC,
  "criu_req_type",
  "criu_req_type",
  "CriuReqType",
  "",
  14,
  criu_req_type__enum_values_by_number,
  14,
  criu_req_type__enum_values_by_name,
  1,
  criu_req_type__value_ranges,
  NULL,NULL,NULL,NULL   /* reserved[1234] */
};
