Makefile: make compiling with libprotobuf-c more robust under different systems
authorRobert Swiecki <robert@swiecki.net>
Mon, 29 May 2017 14:22:31 +0000 (16:22 +0200)
committerRobert Swiecki <robert@swiecki.net>
Mon, 29 May 2017 14:22:31 +0000 (16:22 +0200)
Makefile
config.pb-c.c [deleted file]
config.pb-c.h [deleted file]

index 237e100d955cc31b835826dad7ccb88f65b29518..f627eb2de390e0f0f25626ea410d3a82b433524e 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -26,9 +26,7 @@ CFLAGS += -O2 -c -std=gnu11 \
        -Wformat -Wformat=2 -Wformat-security -fPIE \
        -Wno-format-nonliteral \
        -Wall -Wextra -Werror \
-       -Ikafel/include \
-       -I/usr/include/google \
-       -Iprotobuf-c-text/protobuf-c-text
+       -Ikafel/include
 
 LDFLAGS += -Wl,-z,now -Wl,-z,relro -pie -Wl,-z,noexecstack
 
@@ -52,16 +50,34 @@ endif
 
 USE_PROTOBUF ?= yes
 ifeq ($(USE_PROTOBUF), yes)
-PROTOBUF_EXISTS ?= $(shell pkg-config --exists libprotobuf-c && echo yes)
-ifeq ($(PROTOBUF_EXISTS), yes)
+ifeq ("$(shell which protoc-c)", "")
+       USE_PROTOBUF := no
+       PROTOC_WARNING := yes
+endif
+endif
+
+ifeq ($(USE_PROTOBUF), no)
+else ifeq ($(shell pkg-config --exists libprotobuf-c && echo yes), yes)
        PROTO_DEPS = config.pb-c.h config.pb-c.c
        SRCS += config.pb-c.c
-       CFLAGS += -DNSJAIL_WITH_PROTOBUF $(shell pkg-config --cflags libprotobuf-c)
+       CFLAGS += -DNSJAIL_WITH_PROTOBUF -Iprotobuf-c-text/protobuf-c-text $(shell pkg-config --cflags libprotobuf-c)
        LIBS += protobuf-c-text/protobuf-c-text/.libs/libprotobuf-c-text.a
        LDFLAGS += $(shell pkg-config --libs libprotobuf-c)
+else ifneq ("$(wildcard /usr/include/google/protobuf-c/protobuf-c.h)", "")
+       PROTO_DEPS = config.pb-c.h config.pb-c.c
+       SRCS += config.pb-c.c
+       CFLAGS += -DNSJAIL_WITH_PROTOBUF -Iprotobuf-c-text/protobuf-c-text -I/usr/include/google
+       LIBS += protobuf-c-text/protobuf-c-text/.libs/libprotobuf-c-text.a
+       LDFLAGS += -Wl,-lprotobuf-c
+else ifneq ("$(wildcard /usr/local/include/google/protobuf-c/protobuf-c.h)", "")
+       PROTO_DEPS = config.pb-c.h config.pb-c.c
+       SRCS += config.pb-c.c
+       CFLAGS += -DNSJAIL_WITH_PROTOBUF -Iprotobuf-c-text/protobuf-c-text -I/usr/local/include/google
+       LIBS += protobuf-c-text/protobuf-c-text/.libs/libprotobuf-c-text.a
+       LDFLAGS += -Wl,--library-path=/usr/local/lib -Wl,-lprotobuf-c
+else
+       USE_PROTOBUF := no
 endif
-endif
-
 
 .PHONY: all clear depend indent
 
@@ -69,7 +85,13 @@ endif
        $(CC) $(CFLAGS) $< -o $@
 
 all: $(PROTO_DEPS) $(BIN)
-ifneq ($(PROTOBUF_EXISTS), yes)
+ifeq ($(PROTOC_WARNING), yes)
+       $(info *********************************************************)
+       $(info *        'protoc-c' is missing on your system           *)
+       $(info *  Install 'protobuf-c-compiler' or a similar package   *)
+       $(info *********************************************************)
+endif
+ifeq ($(USE_PROTOBUF), no)
        $(info *********************************************************)
        $(info * Code compiled without libprotobuf-c/libprotobuf-c-dev *)
        $(info *  The --config commandline option will be unavailable  *)
diff --git a/config.pb-c.c b/config.pb-c.c
deleted file mode 100644 (file)
index 3c82c3c..0000000
+++ /dev/null
@@ -1,1356 +0,0 @@
-/* Generated by the protocol buffer compiler.  DO NOT EDIT! */
-/* Generated from: config.proto */
-
-/* Do not generate deprecated warnings for self */
-#ifndef PROTOBUF_C__NO_DEPRECATED
-#define PROTOBUF_C__NO_DEPRECATED
-#endif
-
-#include "config.pb-c.h"
-void nsjail__id_map__init(Nsjail__IdMap * message)
-{
-       static Nsjail__IdMap init_value = NSJAIL__ID_MAP__INIT;
-       *message = init_value;
-}
-
-size_t nsjail__id_map__get_packed_size(const Nsjail__IdMap * message)
-{
-       assert(message->base.descriptor == &nsjail__id_map__descriptor);
-       return protobuf_c_message_get_packed_size((const ProtobufCMessage *)(message));
-}
-
-size_t nsjail__id_map__pack(const Nsjail__IdMap * message, uint8_t * out)
-{
-       assert(message->base.descriptor == &nsjail__id_map__descriptor);
-       return protobuf_c_message_pack((const ProtobufCMessage *)message, out);
-}
-
-size_t nsjail__id_map__pack_to_buffer(const Nsjail__IdMap * message, ProtobufCBuffer * buffer)
-{
-       assert(message->base.descriptor == &nsjail__id_map__descriptor);
-       return protobuf_c_message_pack_to_buffer((const ProtobufCMessage *)message, buffer);
-}
-
-Nsjail__IdMap *nsjail__id_map__unpack
-    (ProtobufCAllocator * allocator, size_t len, const uint8_t * data) {
-       return (Nsjail__IdMap *)
-           protobuf_c_message_unpack(&nsjail__id_map__descriptor, allocator, len, data);
-}
-
-void nsjail__id_map__free_unpacked(Nsjail__IdMap * message, ProtobufCAllocator * allocator)
-{
-       assert(message->base.descriptor == &nsjail__id_map__descriptor);
-       protobuf_c_message_free_unpacked((ProtobufCMessage *) message, allocator);
-}
-
-void nsjail__mount_pt__init(Nsjail__MountPt * message)
-{
-       static Nsjail__MountPt init_value = NSJAIL__MOUNT_PT__INIT;
-       *message = init_value;
-}
-
-size_t nsjail__mount_pt__get_packed_size(const Nsjail__MountPt * message)
-{
-       assert(message->base.descriptor == &nsjail__mount_pt__descriptor);
-       return protobuf_c_message_get_packed_size((const ProtobufCMessage *)(message));
-}
-
-size_t nsjail__mount_pt__pack(const Nsjail__MountPt * message, uint8_t * out)
-{
-       assert(message->base.descriptor == &nsjail__mount_pt__descriptor);
-       return protobuf_c_message_pack((const ProtobufCMessage *)message, out);
-}
-
-size_t nsjail__mount_pt__pack_to_buffer(const Nsjail__MountPt * message, ProtobufCBuffer * buffer)
-{
-       assert(message->base.descriptor == &nsjail__mount_pt__descriptor);
-       return protobuf_c_message_pack_to_buffer((const ProtobufCMessage *)message, buffer);
-}
-
-Nsjail__MountPt *nsjail__mount_pt__unpack
-    (ProtobufCAllocator * allocator, size_t len, const uint8_t * data) {
-       return (Nsjail__MountPt *)
-           protobuf_c_message_unpack(&nsjail__mount_pt__descriptor, allocator, len, data);
-}
-
-void nsjail__mount_pt__free_unpacked(Nsjail__MountPt * message, ProtobufCAllocator * allocator)
-{
-       assert(message->base.descriptor == &nsjail__mount_pt__descriptor);
-       protobuf_c_message_free_unpacked((ProtobufCMessage *) message, allocator);
-}
-
-void nsjail__exe__init(Nsjail__Exe * message)
-{
-       static Nsjail__Exe init_value = NSJAIL__EXE__INIT;
-       *message = init_value;
-}
-
-size_t nsjail__exe__get_packed_size(const Nsjail__Exe * message)
-{
-       assert(message->base.descriptor == &nsjail__exe__descriptor);
-       return protobuf_c_message_get_packed_size((const ProtobufCMessage *)(message));
-}
-
-size_t nsjail__exe__pack(const Nsjail__Exe * message, uint8_t * out)
-{
-       assert(message->base.descriptor == &nsjail__exe__descriptor);
-       return protobuf_c_message_pack((const ProtobufCMessage *)message, out);
-}
-
-size_t nsjail__exe__pack_to_buffer(const Nsjail__Exe * message, ProtobufCBuffer * buffer)
-{
-       assert(message->base.descriptor == &nsjail__exe__descriptor);
-       return protobuf_c_message_pack_to_buffer((const ProtobufCMessage *)message, buffer);
-}
-
-Nsjail__Exe *nsjail__exe__unpack(ProtobufCAllocator * allocator, size_t len, const uint8_t * data)
-{
-       return (Nsjail__Exe *)
-           protobuf_c_message_unpack(&nsjail__exe__descriptor, allocator, len, data);
-}
-
-void nsjail__exe__free_unpacked(Nsjail__Exe * message, ProtobufCAllocator * allocator)
-{
-       assert(message->base.descriptor == &nsjail__exe__descriptor);
-       protobuf_c_message_free_unpacked((ProtobufCMessage *) message, allocator);
-}
-
-void nsjail__ns_jail_config__init(Nsjail__NsJailConfig * message)
-{
-       static Nsjail__NsJailConfig init_value = NSJAIL__NS_JAIL_CONFIG__INIT;
-       *message = init_value;
-}
-
-size_t nsjail__ns_jail_config__get_packed_size(const Nsjail__NsJailConfig * message)
-{
-       assert(message->base.descriptor == &nsjail__ns_jail_config__descriptor);
-       return protobuf_c_message_get_packed_size((const ProtobufCMessage *)(message));
-}
-
-size_t nsjail__ns_jail_config__pack(const Nsjail__NsJailConfig * message, uint8_t * out)
-{
-       assert(message->base.descriptor == &nsjail__ns_jail_config__descriptor);
-       return protobuf_c_message_pack((const ProtobufCMessage *)message, out);
-}
-
-size_t nsjail__ns_jail_config__pack_to_buffer
-    (const Nsjail__NsJailConfig * message, ProtobufCBuffer * buffer) {
-       assert(message->base.descriptor == &nsjail__ns_jail_config__descriptor);
-       return protobuf_c_message_pack_to_buffer((const ProtobufCMessage *)message, buffer);
-}
-
-Nsjail__NsJailConfig *nsjail__ns_jail_config__unpack
-    (ProtobufCAllocator * allocator, size_t len, const uint8_t * data) {
-       return (Nsjail__NsJailConfig *)
-           protobuf_c_message_unpack(&nsjail__ns_jail_config__descriptor, allocator, len, data);
-}
-
-void nsjail__ns_jail_config__free_unpacked
-    (Nsjail__NsJailConfig * message, ProtobufCAllocator * allocator) {
-       assert(message->base.descriptor == &nsjail__ns_jail_config__descriptor);
-       protobuf_c_message_free_unpacked((ProtobufCMessage *) message, allocator);
-}
-
-char nsjail__id_map__inside_id__default_value[] = "";
-char nsjail__id_map__outside_id__default_value[] = "";
-static const uint32_t nsjail__id_map__count__default_value = 1u;
-static const protobuf_c_boolean nsjail__id_map__use_newidmap__default_value = 0;
-static const ProtobufCFieldDescriptor nsjail__id_map__field_descriptors[4] = {
-       {
-        "inside_id",
-        1,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_STRING,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__IdMap, inside_id),
-        NULL,
-        &nsjail__id_map__inside_id__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "outside_id",
-        2,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_STRING,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__IdMap, outside_id),
-        NULL,
-        &nsjail__id_map__outside_id__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "count",
-        3,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_UINT32,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__IdMap, count),
-        NULL,
-        &nsjail__id_map__count__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "use_newidmap",
-        4,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_BOOL,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__IdMap, use_newidmap),
-        NULL,
-        &nsjail__id_map__use_newidmap__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-};
-
-static const unsigned nsjail__id_map__field_indices_by_name[] = {
-       2,                      /* field[2] = count */
-       0,                      /* field[0] = inside_id */
-       1,                      /* field[1] = outside_id */
-       3,                      /* field[3] = use_newidmap */
-};
-
-static const ProtobufCIntRange nsjail__id_map__number_ranges[1 + 1] = {
-       {1, 0},
-       {0, 4}
-};
-
-const ProtobufCMessageDescriptor nsjail__id_map__descriptor = {
-       PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
-       "nsjail.IdMap",
-       "IdMap",
-       "Nsjail__IdMap",
-       "nsjail",
-       sizeof(Nsjail__IdMap),
-       4,
-       nsjail__id_map__field_descriptors,
-       nsjail__id_map__field_indices_by_name,
-       1, nsjail__id_map__number_ranges,
-       (ProtobufCMessageInit) nsjail__id_map__init,
-       NULL, NULL, NULL        /* reserved[123] */
-};
-
-char nsjail__mount_pt__fstype__default_value[] = "";
-char nsjail__mount_pt__options__default_value[] = "";
-static const protobuf_c_boolean nsjail__mount_pt__is_bind__default_value = 0;
-static const protobuf_c_boolean nsjail__mount_pt__rw__default_value = 0;
-static const protobuf_c_boolean nsjail__mount_pt__mandatory__default_value = 1;
-static const ProtobufCFieldDescriptor nsjail__mount_pt__field_descriptors[11] = {
-       {
-        "src",
-        1,
-        PROTOBUF_C_LABEL_OPTIONAL,
-        PROTOBUF_C_TYPE_STRING,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__MountPt, src),
-        NULL,
-        NULL,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "prefix_src_env",
-        2,
-        PROTOBUF_C_LABEL_OPTIONAL,
-        PROTOBUF_C_TYPE_STRING,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__MountPt, prefix_src_env),
-        NULL,
-        NULL,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "src_content",
-        3,
-        PROTOBUF_C_LABEL_OPTIONAL,
-        PROTOBUF_C_TYPE_BYTES,
-        offsetof(Nsjail__MountPt, has_src_content),
-        offsetof(Nsjail__MountPt, src_content),
-        NULL,
-        NULL,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "dst",
-        4,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_STRING,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__MountPt, dst),
-        NULL,
-        NULL,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "prefix_dst_env",
-        5,
-        PROTOBUF_C_LABEL_OPTIONAL,
-        PROTOBUF_C_TYPE_STRING,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__MountPt, prefix_dst_env),
-        NULL,
-        NULL,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "fstype",
-        6,
-        PROTOBUF_C_LABEL_OPTIONAL,
-        PROTOBUF_C_TYPE_STRING,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__MountPt, fstype),
-        NULL,
-        &nsjail__mount_pt__fstype__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "options",
-        7,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_STRING,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__MountPt, options),
-        NULL,
-        &nsjail__mount_pt__options__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "is_bind",
-        8,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_BOOL,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__MountPt, is_bind),
-        NULL,
-        &nsjail__mount_pt__is_bind__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "rw",
-        9,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_BOOL,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__MountPt, rw),
-        NULL,
-        &nsjail__mount_pt__rw__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "is_dir",
-        10,
-        PROTOBUF_C_LABEL_OPTIONAL,
-        PROTOBUF_C_TYPE_BOOL,
-        offsetof(Nsjail__MountPt, has_is_dir),
-        offsetof(Nsjail__MountPt, is_dir),
-        NULL,
-        NULL,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "mandatory",
-        11,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_BOOL,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__MountPt, mandatory),
-        NULL,
-        &nsjail__mount_pt__mandatory__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-};
-
-static const unsigned nsjail__mount_pt__field_indices_by_name[] = {
-       3,                      /* field[3] = dst */
-       5,                      /* field[5] = fstype */
-       7,                      /* field[7] = is_bind */
-       9,                      /* field[9] = is_dir */
-       10,                     /* field[10] = mandatory */
-       6,                      /* field[6] = options */
-       4,                      /* field[4] = prefix_dst_env */
-       1,                      /* field[1] = prefix_src_env */
-       8,                      /* field[8] = rw */
-       0,                      /* field[0] = src */
-       2,                      /* field[2] = src_content */
-};
-
-static const ProtobufCIntRange nsjail__mount_pt__number_ranges[1 + 1] = {
-       {1, 0},
-       {0, 11}
-};
-
-const ProtobufCMessageDescriptor nsjail__mount_pt__descriptor = {
-       PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
-       "nsjail.MountPt",
-       "MountPt",
-       "Nsjail__MountPt",
-       "nsjail",
-       sizeof(Nsjail__MountPt),
-       11,
-       nsjail__mount_pt__field_descriptors,
-       nsjail__mount_pt__field_indices_by_name,
-       1, nsjail__mount_pt__number_ranges,
-       (ProtobufCMessageInit) nsjail__mount_pt__init,
-       NULL, NULL, NULL        /* reserved[123] */
-};
-
-static const ProtobufCFieldDescriptor nsjail__exe__field_descriptors[2] = {
-       {
-        "path",
-        1,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_STRING,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__Exe, path),
-        NULL,
-        NULL,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "arg",
-        2,
-        PROTOBUF_C_LABEL_REPEATED,
-        PROTOBUF_C_TYPE_STRING,
-        offsetof(Nsjail__Exe, n_arg),
-        offsetof(Nsjail__Exe, arg),
-        NULL,
-        NULL,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-};
-
-static const unsigned nsjail__exe__field_indices_by_name[] = {
-       1,                      /* field[1] = arg */
-       0,                      /* field[0] = path */
-};
-
-static const ProtobufCIntRange nsjail__exe__number_ranges[1 + 1] = {
-       {1, 0},
-       {0, 2}
-};
-
-const ProtobufCMessageDescriptor nsjail__exe__descriptor = {
-       PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
-       "nsjail.Exe",
-       "Exe",
-       "Nsjail__Exe",
-       "nsjail",
-       sizeof(Nsjail__Exe),
-       2,
-       nsjail__exe__field_descriptors,
-       nsjail__exe__field_indices_by_name,
-       1, nsjail__exe__number_ranges,
-       (ProtobufCMessageInit) nsjail__exe__init,
-       NULL, NULL, NULL        /* reserved[123] */
-};
-
-char nsjail__ns_jail_config__name__default_value[] = "";
-char nsjail__ns_jail_config__description__default_value[] = "";
-char nsjail__ns_jail_config__hostname__default_value[] = "NSJAIL";
-char nsjail__ns_jail_config__cwd__default_value[] = "/";
-char nsjail__ns_jail_config__bindhost__default_value[] = "::";
-char nsjail__ns_jail_config__cgroup_mem_mount__default_value[] = "/sys/fs/cgroup/memory";
-char nsjail__ns_jail_config__cgroup_mem_parent__default_value[] = "NSJAIL";
-char nsjail__ns_jail_config__cgroup_pids_mount__default_value[] = "/sys/fs/cgroup/pids";
-char nsjail__ns_jail_config__cgroup_pids_parent__default_value[] = "NSJAIL";
-char nsjail__ns_jail_config__macvlan_vs_ip__default_value[] = "192.168.0.2";
-char nsjail__ns_jail_config__macvlan_vs_nm__default_value[] = "255.255.255.0";
-char nsjail__ns_jail_config__macvlan_vs_gw__default_value[] = "192.168.0.1";
-static const Nsjail__Mode nsjail__ns_jail_config__mode__default_value = NSJAIL__MODE__ONCE;
-static const protobuf_c_boolean nsjail__ns_jail_config__is_root_rw__default_value = 0;
-static const uint32_t nsjail__ns_jail_config__port__default_value = 0u;
-static const uint32_t nsjail__ns_jail_config__max_conns_per_ip__default_value = 0u;
-static const uint32_t nsjail__ns_jail_config__time_limit__default_value = 600u;
-static const protobuf_c_boolean nsjail__ns_jail_config__daemon__default_value = 0;
-static const protobuf_c_boolean nsjail__ns_jail_config__keep_env__default_value = 0;
-static const protobuf_c_boolean nsjail__ns_jail_config__keep_caps__default_value = 0;
-static const protobuf_c_boolean nsjail__ns_jail_config__silent__default_value = 0;
-static const protobuf_c_boolean nsjail__ns_jail_config__skip_setsid__default_value = 0;
-static const protobuf_c_boolean nsjail__ns_jail_config__disable_no_new_privs__default_value = 0;
-static const uint64_t nsjail__ns_jail_config__rlimit_as__default_value = 512ull;
-static const uint64_t nsjail__ns_jail_config__rlimit_core__default_value = 0ull;
-static const uint64_t nsjail__ns_jail_config__rlimit_cpu__default_value = 600ull;
-static const uint64_t nsjail__ns_jail_config__rlimit_fsize__default_value = 1ull;
-static const uint64_t nsjail__ns_jail_config__rlimit_nofile__default_value = 32ull;
-static const protobuf_c_boolean nsjail__ns_jail_config__persona_addr_compat_layout__default_value =
-    0;
-static const protobuf_c_boolean nsjail__ns_jail_config__persona_mmap_page_zero__default_value = 0;
-static const protobuf_c_boolean nsjail__ns_jail_config__persona_read_implies_exec__default_value =
-    0;
-static const protobuf_c_boolean nsjail__ns_jail_config__persona_addr_limit_3gb__default_value = 0;
-static const protobuf_c_boolean nsjail__ns_jail_config__persona_addr_no_randomize__default_value =
-    0;
-static const protobuf_c_boolean nsjail__ns_jail_config__clone_newnet__default_value = 1;
-static const protobuf_c_boolean nsjail__ns_jail_config__clone_newuser__default_value = 1;
-static const protobuf_c_boolean nsjail__ns_jail_config__clone_newns__default_value = 1;
-static const protobuf_c_boolean nsjail__ns_jail_config__clone_newpid__default_value = 1;
-static const protobuf_c_boolean nsjail__ns_jail_config__clone_newipc__default_value = 1;
-static const protobuf_c_boolean nsjail__ns_jail_config__clone_newuts__default_value = 1;
-static const protobuf_c_boolean nsjail__ns_jail_config__clone_newcgroup__default_value = 0;
-static const protobuf_c_boolean nsjail__ns_jail_config__mount_proc__default_value = 0;
-static const uint64_t nsjail__ns_jail_config__cgroup_mem_max__default_value = 0ull;
-static const uint64_t nsjail__ns_jail_config__cgroup_pids_max__default_value = 0ull;
-static const protobuf_c_boolean nsjail__ns_jail_config__iface_no_lo__default_value = 0;
-static const ProtobufCFieldDescriptor nsjail__ns_jail_config__field_descriptors[58] = {
-       {
-        "name",
-        1,
-        PROTOBUF_C_LABEL_OPTIONAL,
-        PROTOBUF_C_TYPE_STRING,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, name),
-        NULL,
-        &nsjail__ns_jail_config__name__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "description",
-        2,
-        PROTOBUF_C_LABEL_OPTIONAL,
-        PROTOBUF_C_TYPE_STRING,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, description),
-        NULL,
-        &nsjail__ns_jail_config__description__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "mode",
-        3,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_ENUM,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, mode),
-        &nsjail__mode__descriptor,
-        &nsjail__ns_jail_config__mode__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "chroot_dir",
-        4,
-        PROTOBUF_C_LABEL_OPTIONAL,
-        PROTOBUF_C_TYPE_STRING,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, chroot_dir),
-        NULL,
-        NULL,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "is_root_rw",
-        5,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_BOOL,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, is_root_rw),
-        NULL,
-        &nsjail__ns_jail_config__is_root_rw__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "hostname",
-        8,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_STRING,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, hostname),
-        NULL,
-        &nsjail__ns_jail_config__hostname__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "cwd",
-        9,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_STRING,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, cwd),
-        NULL,
-        &nsjail__ns_jail_config__cwd__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "port",
-        10,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_UINT32,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, port),
-        NULL,
-        &nsjail__ns_jail_config__port__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "bindhost",
-        11,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_STRING,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, bindhost),
-        NULL,
-        &nsjail__ns_jail_config__bindhost__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "max_conns_per_ip",
-        12,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_UINT32,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, max_conns_per_ip),
-        NULL,
-        &nsjail__ns_jail_config__max_conns_per_ip__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "time_limit",
-        13,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_UINT32,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, time_limit),
-        NULL,
-        &nsjail__ns_jail_config__time_limit__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "daemon",
-        14,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_BOOL,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, daemon),
-        NULL,
-        &nsjail__ns_jail_config__daemon__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "log_file",
-        15,
-        PROTOBUF_C_LABEL_OPTIONAL,
-        PROTOBUF_C_TYPE_STRING,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, log_file),
-        NULL,
-        NULL,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "log_level",
-        16,
-        PROTOBUF_C_LABEL_OPTIONAL,
-        PROTOBUF_C_TYPE_ENUM,
-        offsetof(Nsjail__NsJailConfig, has_log_level),
-        offsetof(Nsjail__NsJailConfig, log_level),
-        &nsjail__log_level__descriptor,
-        NULL,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "keep_env",
-        17,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_BOOL,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, keep_env),
-        NULL,
-        &nsjail__ns_jail_config__keep_env__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "envar",
-        18,
-        PROTOBUF_C_LABEL_REPEATED,
-        PROTOBUF_C_TYPE_STRING,
-        offsetof(Nsjail__NsJailConfig, n_envar),
-        offsetof(Nsjail__NsJailConfig, envar),
-        NULL,
-        NULL,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "keep_caps",
-        19,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_BOOL,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, keep_caps),
-        NULL,
-        &nsjail__ns_jail_config__keep_caps__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "silent",
-        20,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_BOOL,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, silent),
-        NULL,
-        &nsjail__ns_jail_config__silent__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "skip_setsid",
-        21,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_BOOL,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, skip_setsid),
-        NULL,
-        &nsjail__ns_jail_config__skip_setsid__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "pass_fd",
-        22,
-        PROTOBUF_C_LABEL_REPEATED,
-        PROTOBUF_C_TYPE_INT32,
-        offsetof(Nsjail__NsJailConfig, n_pass_fd),
-        offsetof(Nsjail__NsJailConfig, pass_fd),
-        NULL,
-        NULL,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "disable_no_new_privs",
-        23,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_BOOL,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, disable_no_new_privs),
-        NULL,
-        &nsjail__ns_jail_config__disable_no_new_privs__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "rlimit_as",
-        24,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_UINT64,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, rlimit_as),
-        NULL,
-        &nsjail__ns_jail_config__rlimit_as__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "rlimit_core",
-        25,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_UINT64,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, rlimit_core),
-        NULL,
-        &nsjail__ns_jail_config__rlimit_core__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "rlimit_cpu",
-        26,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_UINT64,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, rlimit_cpu),
-        NULL,
-        &nsjail__ns_jail_config__rlimit_cpu__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "rlimit_fsize",
-        27,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_UINT64,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, rlimit_fsize),
-        NULL,
-        &nsjail__ns_jail_config__rlimit_fsize__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "rlimit_nofile",
-        28,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_UINT64,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, rlimit_nofile),
-        NULL,
-        &nsjail__ns_jail_config__rlimit_nofile__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "rlimit_nproc",
-        29,
-        PROTOBUF_C_LABEL_OPTIONAL,
-        PROTOBUF_C_TYPE_UINT64,
-        offsetof(Nsjail__NsJailConfig, has_rlimit_nproc),
-        offsetof(Nsjail__NsJailConfig, rlimit_nproc),
-        NULL,
-        NULL,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "rlimit_stack",
-        30,
-        PROTOBUF_C_LABEL_OPTIONAL,
-        PROTOBUF_C_TYPE_UINT64,
-        offsetof(Nsjail__NsJailConfig, has_rlimit_stack),
-        offsetof(Nsjail__NsJailConfig, rlimit_stack),
-        NULL,
-        NULL,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "persona_addr_compat_layout",
-        31,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_BOOL,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, persona_addr_compat_layout),
-        NULL,
-        &nsjail__ns_jail_config__persona_addr_compat_layout__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "persona_mmap_page_zero",
-        32,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_BOOL,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, persona_mmap_page_zero),
-        NULL,
-        &nsjail__ns_jail_config__persona_mmap_page_zero__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "persona_read_implies_exec",
-        33,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_BOOL,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, persona_read_implies_exec),
-        NULL,
-        &nsjail__ns_jail_config__persona_read_implies_exec__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "persona_addr_limit_3gb",
-        34,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_BOOL,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, persona_addr_limit_3gb),
-        NULL,
-        &nsjail__ns_jail_config__persona_addr_limit_3gb__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "persona_addr_no_randomize",
-        35,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_BOOL,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, persona_addr_no_randomize),
-        NULL,
-        &nsjail__ns_jail_config__persona_addr_no_randomize__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "clone_newnet",
-        36,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_BOOL,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, clone_newnet),
-        NULL,
-        &nsjail__ns_jail_config__clone_newnet__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "clone_newuser",
-        37,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_BOOL,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, clone_newuser),
-        NULL,
-        &nsjail__ns_jail_config__clone_newuser__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "clone_newns",
-        38,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_BOOL,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, clone_newns),
-        NULL,
-        &nsjail__ns_jail_config__clone_newns__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "clone_newpid",
-        39,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_BOOL,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, clone_newpid),
-        NULL,
-        &nsjail__ns_jail_config__clone_newpid__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "clone_newipc",
-        40,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_BOOL,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, clone_newipc),
-        NULL,
-        &nsjail__ns_jail_config__clone_newipc__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "clone_newuts",
-        41,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_BOOL,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, clone_newuts),
-        NULL,
-        &nsjail__ns_jail_config__clone_newuts__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "clone_newcgroup",
-        42,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_BOOL,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, clone_newcgroup),
-        NULL,
-        &nsjail__ns_jail_config__clone_newcgroup__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "uidmap",
-        43,
-        PROTOBUF_C_LABEL_REPEATED,
-        PROTOBUF_C_TYPE_MESSAGE,
-        offsetof(Nsjail__NsJailConfig, n_uidmap),
-        offsetof(Nsjail__NsJailConfig, uidmap),
-        &nsjail__id_map__descriptor,
-        NULL,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "gidmap",
-        44,
-        PROTOBUF_C_LABEL_REPEATED,
-        PROTOBUF_C_TYPE_MESSAGE,
-        offsetof(Nsjail__NsJailConfig, n_gidmap),
-        offsetof(Nsjail__NsJailConfig, gidmap),
-        &nsjail__id_map__descriptor,
-        NULL,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "mount_proc",
-        45,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_BOOL,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, mount_proc),
-        NULL,
-        &nsjail__ns_jail_config__mount_proc__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "mount",
-        46,
-        PROTOBUF_C_LABEL_REPEATED,
-        PROTOBUF_C_TYPE_MESSAGE,
-        offsetof(Nsjail__NsJailConfig, n_mount),
-        offsetof(Nsjail__NsJailConfig, mount),
-        &nsjail__mount_pt__descriptor,
-        NULL,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "seccomp_policy_file",
-        47,
-        PROTOBUF_C_LABEL_OPTIONAL,
-        PROTOBUF_C_TYPE_STRING,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, seccomp_policy_file),
-        NULL,
-        NULL,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "seccomp_string",
-        48,
-        PROTOBUF_C_LABEL_OPTIONAL,
-        PROTOBUF_C_TYPE_STRING,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, seccomp_string),
-        NULL,
-        NULL,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "cgroup_mem_max",
-        49,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_UINT64,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, cgroup_mem_max),
-        NULL,
-        &nsjail__ns_jail_config__cgroup_mem_max__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "cgroup_mem_mount",
-        50,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_STRING,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, cgroup_mem_mount),
-        NULL,
-        &nsjail__ns_jail_config__cgroup_mem_mount__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "cgroup_mem_parent",
-        51,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_STRING,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, cgroup_mem_parent),
-        NULL,
-        &nsjail__ns_jail_config__cgroup_mem_parent__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "cgroup_pids_max",
-        52,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_UINT64,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, cgroup_pids_max),
-        NULL,
-        &nsjail__ns_jail_config__cgroup_pids_max__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "cgroup_pids_mount",
-        53,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_STRING,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, cgroup_pids_mount),
-        NULL,
-        &nsjail__ns_jail_config__cgroup_pids_mount__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "cgroup_pids_parent",
-        54,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_STRING,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, cgroup_pids_parent),
-        NULL,
-        &nsjail__ns_jail_config__cgroup_pids_parent__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "iface_no_lo",
-        55,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_BOOL,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, iface_no_lo),
-        NULL,
-        &nsjail__ns_jail_config__iface_no_lo__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "macvlan_iface",
-        56,
-        PROTOBUF_C_LABEL_OPTIONAL,
-        PROTOBUF_C_TYPE_STRING,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, macvlan_iface),
-        NULL,
-        NULL,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "macvlan_vs_ip",
-        57,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_STRING,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, macvlan_vs_ip),
-        NULL,
-        &nsjail__ns_jail_config__macvlan_vs_ip__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "macvlan_vs_nm",
-        58,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_STRING,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, macvlan_vs_nm),
-        NULL,
-        &nsjail__ns_jail_config__macvlan_vs_nm__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "macvlan_vs_gw",
-        59,
-        PROTOBUF_C_LABEL_REQUIRED,
-        PROTOBUF_C_TYPE_STRING,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, macvlan_vs_gw),
-        NULL,
-        &nsjail__ns_jail_config__macvlan_vs_gw__default_value,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-       {
-        "exec_bin",
-        60,
-        PROTOBUF_C_LABEL_OPTIONAL,
-        PROTOBUF_C_TYPE_MESSAGE,
-        0,                     /* quantifier_offset */
-        offsetof(Nsjail__NsJailConfig, exec_bin),
-        &nsjail__exe__descriptor,
-        NULL,
-        0,                     /* flags */
-        0, NULL, NULL          /* reserved1,reserved2, etc */
-        },
-};
-
-static const unsigned nsjail__ns_jail_config__field_indices_by_name[] = {
-       8,                      /* field[8] = bindhost */
-       46,                     /* field[46] = cgroup_mem_max */
-       47,                     /* field[47] = cgroup_mem_mount */
-       48,                     /* field[48] = cgroup_mem_parent */
-       49,                     /* field[49] = cgroup_pids_max */
-       50,                     /* field[50] = cgroup_pids_mount */
-       51,                     /* field[51] = cgroup_pids_parent */
-       3,                      /* field[3] = chroot_dir */
-       39,                     /* field[39] = clone_newcgroup */
-       37,                     /* field[37] = clone_newipc */
-       33,                     /* field[33] = clone_newnet */
-       35,                     /* field[35] = clone_newns */
-       36,                     /* field[36] = clone_newpid */
-       34,                     /* field[34] = clone_newuser */
-       38,                     /* field[38] = clone_newuts */
-       6,                      /* field[6] = cwd */
-       11,                     /* field[11] = daemon */
-       1,                      /* field[1] = description */
-       20,                     /* field[20] = disable_no_new_privs */
-       15,                     /* field[15] = envar */
-       57,                     /* field[57] = exec_bin */
-       41,                     /* field[41] = gidmap */
-       5,                      /* field[5] = hostname */
-       52,                     /* field[52] = iface_no_lo */
-       4,                      /* field[4] = is_root_rw */
-       16,                     /* field[16] = keep_caps */
-       14,                     /* field[14] = keep_env */
-       12,                     /* field[12] = log_file */
-       13,                     /* field[13] = log_level */
-       53,                     /* field[53] = macvlan_iface */
-       56,                     /* field[56] = macvlan_vs_gw */
-       54,                     /* field[54] = macvlan_vs_ip */
-       55,                     /* field[55] = macvlan_vs_nm */
-       9,                      /* field[9] = max_conns_per_ip */
-       2,                      /* field[2] = mode */
-       43,                     /* field[43] = mount */
-       42,                     /* field[42] = mount_proc */
-       0,                      /* field[0] = name */
-       19,                     /* field[19] = pass_fd */
-       28,                     /* field[28] = persona_addr_compat_layout */
-       31,                     /* field[31] = persona_addr_limit_3gb */
-       32,                     /* field[32] = persona_addr_no_randomize */
-       29,                     /* field[29] = persona_mmap_page_zero */
-       30,                     /* field[30] = persona_read_implies_exec */
-       7,                      /* field[7] = port */
-       21,                     /* field[21] = rlimit_as */
-       22,                     /* field[22] = rlimit_core */
-       23,                     /* field[23] = rlimit_cpu */
-       24,                     /* field[24] = rlimit_fsize */
-       25,                     /* field[25] = rlimit_nofile */
-       26,                     /* field[26] = rlimit_nproc */
-       27,                     /* field[27] = rlimit_stack */
-       44,                     /* field[44] = seccomp_policy_file */
-       45,                     /* field[45] = seccomp_string */
-       17,                     /* field[17] = silent */
-       18,                     /* field[18] = skip_setsid */
-       10,                     /* field[10] = time_limit */
-       40,                     /* field[40] = uidmap */
-};
-
-static const ProtobufCIntRange nsjail__ns_jail_config__number_ranges[2 + 1] = {
-       {1, 0},
-       {8, 5},
-       {0, 58}
-};
-
-const ProtobufCMessageDescriptor nsjail__ns_jail_config__descriptor = {
-       PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
-       "nsjail.NsJailConfig",
-       "NsJailConfig",
-       "Nsjail__NsJailConfig",
-       "nsjail",
-       sizeof(Nsjail__NsJailConfig),
-       58,
-       nsjail__ns_jail_config__field_descriptors,
-       nsjail__ns_jail_config__field_indices_by_name,
-       2, nsjail__ns_jail_config__number_ranges,
-       (ProtobufCMessageInit) nsjail__ns_jail_config__init,
-       NULL, NULL, NULL        /* reserved[123] */
-};
-
-static const ProtobufCEnumValue nsjail__mode__enum_values_by_number[4] = {
-       {"LISTEN", "NSJAIL__MODE__LISTEN", 0},
-       {"ONCE", "NSJAIL__MODE__ONCE", 1},
-       {"RERUN", "NSJAIL__MODE__RERUN", 2},
-       {"EXECVE", "NSJAIL__MODE__EXECVE", 3},
-};
-
-static const ProtobufCIntRange nsjail__mode__value_ranges[] = {
-       {0, 0}, {0, 4}
-};
-
-static const ProtobufCEnumValueIndex nsjail__mode__enum_values_by_name[4] = {
-       {"EXECVE", 3},
-       {"LISTEN", 0},
-       {"ONCE", 1},
-       {"RERUN", 2},
-};
-
-const ProtobufCEnumDescriptor nsjail__mode__descriptor = {
-       PROTOBUF_C__ENUM_DESCRIPTOR_MAGIC,
-       "nsjail.Mode",
-       "Mode",
-       "Nsjail__Mode",
-       "nsjail",
-       4,
-       nsjail__mode__enum_values_by_number,
-       4,
-       nsjail__mode__enum_values_by_name,
-       1,
-       nsjail__mode__value_ranges,
-       NULL, NULL, NULL, NULL  /* reserved[1234] */
-};
-
-static const ProtobufCEnumValue nsjail__log_level__enum_values_by_number[5] = {
-       {"DEBUG", "NSJAIL__LOG_LEVEL__DEBUG", 0},
-       {"INFO", "NSJAIL__LOG_LEVEL__INFO", 1},
-       {"WARNING", "NSJAIL__LOG_LEVEL__WARNING", 2},
-       {"ERROR", "NSJAIL__LOG_LEVEL__ERROR", 3},
-       {"FATAL", "NSJAIL__LOG_LEVEL__FATAL", 4},
-};
-
-static const ProtobufCIntRange nsjail__log_level__value_ranges[] = {
-       {0, 0}, {0, 5}
-};
-
-static const ProtobufCEnumValueIndex nsjail__log_level__enum_values_by_name[5] = {
-       {"DEBUG", 0},
-       {"ERROR", 3},
-       {"FATAL", 4},
-       {"INFO", 1},
-       {"WARNING", 2},
-};
-
-const ProtobufCEnumDescriptor nsjail__log_level__descriptor = {
-       PROTOBUF_C__ENUM_DESCRIPTOR_MAGIC,
-       "nsjail.LogLevel",
-       "LogLevel",
-       "Nsjail__LogLevel",
-       "nsjail",
-       5,
-       nsjail__log_level__enum_values_by_number,
-       5,
-       nsjail__log_level__enum_values_by_name,
-       1,
-       nsjail__log_level__value_ranges,
-       NULL, NULL, NULL, NULL  /* reserved[1234] */
-};
diff --git a/config.pb-c.h b/config.pb-c.h
deleted file mode 100644 (file)
index 7f0e55d..0000000
+++ /dev/null
@@ -1,440 +0,0 @@
-/* Generated by the protocol buffer compiler.  DO NOT EDIT! */
-/* Generated from: config.proto */
-
-#ifndef PROTOBUF_C_config_2eproto__INCLUDED
-#define PROTOBUF_C_config_2eproto__INCLUDED
-
-#include <protobuf-c/protobuf-c.h>
-
-PROTOBUF_C__BEGIN_DECLS
-#if PROTOBUF_C_VERSION_NUMBER < 1000000
-#error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
-#elif 1002001 < PROTOBUF_C_MIN_COMPILER_VERSION
-#error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
-#endif
-typedef struct _Nsjail__IdMap Nsjail__IdMap;
-typedef struct _Nsjail__MountPt Nsjail__MountPt;
-typedef struct _Nsjail__Exe Nsjail__Exe;
-typedef struct _Nsjail__NsJailConfig Nsjail__NsJailConfig;
-
-/* --- enums --- */
-
-typedef enum _Nsjail__Mode {
-       /*
-        * Listening on a TCP port 
-        */
-       NSJAIL__MODE__LISTEN = 0,
-       /*
-        * Running the command once only 
-        */
-       NSJAIL__MODE__ONCE = 1,
-       /*
-        * Re-executing the command (forever) 
-        */
-       NSJAIL__MODE__RERUN = 2,
-       /*
-        * Executing command w/o the supervisor 
-        */
-       NSJAIL__MODE__EXECVE = 3 PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(NSJAIL__MODE)
-} Nsjail__Mode;
-/*
- * Should be self explanatory 
- */
-typedef enum _Nsjail__LogLevel {
-       /*
-        * Equivalent to the '-v' cmd-line option 
-        */
-       NSJAIL__LOG_LEVEL__DEBUG = 0,
-       /*
-        * Default level 
-        */
-       NSJAIL__LOG_LEVEL__INFO = 1,
-       /*
-        * Equivalent to the '-q' cmd-line option 
-        */
-       NSJAIL__LOG_LEVEL__WARNING = 2,
-       NSJAIL__LOG_LEVEL__ERROR = 3,
-       NSJAIL__LOG_LEVEL__FATAL = 4 PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(NSJAIL__LOG_LEVEL)
-} Nsjail__LogLevel;
-
-/* --- messages --- */
-
-struct _Nsjail__IdMap {
-       ProtobufCMessage base;
-       /*
-        * Empty string means "current uid/gid" 
-        */
-       char *inside_id;
-       char *outside_id;
-       /*
-        * See 'man user_namespaces' for the meaning of count 
-        */
-       uint32_t count;
-       /*
-        * Does this map use /usr/bin/new[u|g]idmap binary? 
-        */
-       protobuf_c_boolean use_newidmap;
-};
-extern char nsjail__id_map__inside_id__default_value[];
-extern char nsjail__id_map__outside_id__default_value[];
-#define NSJAIL__ID_MAP__INIT \
- { PROTOBUF_C_MESSAGE_INIT (&nsjail__id_map__descriptor) \
-    , nsjail__id_map__inside_id__default_value, nsjail__id_map__outside_id__default_value, 1u, 0 }
-
-struct _Nsjail__MountPt {
-       ProtobufCMessage base;
-       /*
-        * Can be skipped for filesystems like 'proc' 
-        */
-       char *src;
-       /*
-        * Should 'src' path be prefixed with this envvar? 
-        */
-       char *prefix_src_env;
-       /*
-        * If specified, contains buffer that will be written to the dst file 
-        */
-       protobuf_c_boolean has_src_content;
-       ProtobufCBinaryData src_content;
-       /*
-        * Mount point inside jail 
-        */
-       char *dst;
-       /*
-        * Should 'dst' path be prefixed with this envvar? 
-        */
-       char *prefix_dst_env;
-       /*
-        * Can be empty for mount --bind mounts 
-        */
-       char *fstype;
-       /*
-        * E.g. size=5000000 for 'tmpfs' 
-        */
-       char *options;
-       /*
-        * Is it 'mount --bind src dst' type of mount 
-        */
-       protobuf_c_boolean is_bind;
-       /*
-        * It it R/W mount 
-        */
-       protobuf_c_boolean rw;
-       /*
-        * Is it directory? If not specified an internal
-        *heuristics will be used to determine that 
-        */
-       protobuf_c_boolean has_is_dir;
-       protobuf_c_boolean is_dir;
-       /*
-        * Should the sandboxing fail if we cannot mount this resource? 
-        */
-       protobuf_c_boolean mandatory;
-};
-extern char nsjail__mount_pt__fstype__default_value[];
-extern char nsjail__mount_pt__options__default_value[];
-#define NSJAIL__MOUNT_PT__INIT \
- { PROTOBUF_C_MESSAGE_INIT (&nsjail__mount_pt__descriptor) \
-    , NULL, NULL, 0,{0,NULL}, NULL, NULL, nsjail__mount_pt__fstype__default_value, nsjail__mount_pt__options__default_value, 0, 0, 0,0, 1 }
-
-struct _Nsjail__Exe {
-       ProtobufCMessage base;
-       /*
-        * Will be used both as execv's path and as argv[0] 
-        */
-       char *path;
-       /*
-        * This will be argv[1] and so on.. 
-        */
-       size_t n_arg;
-       char **arg;
-};
-#define NSJAIL__EXE__INIT \
- { PROTOBUF_C_MESSAGE_INIT (&nsjail__exe__descriptor) \
-    , NULL, 0,NULL }
-
-struct _Nsjail__NsJailConfig {
-       ProtobufCMessage base;
-       /*
-        * Optional name and description for this config 
-        */
-       char *name;
-       char *description;
-       /*
-        * Execution mode: see 'msg Mode' description for more 
-        */
-       Nsjail__Mode mode;
-       /*
-        * Equivalent to a bind mount with dst='/' 
-        */
-       char *chroot_dir;
-       /*
-        * Applies both to the chroot_dir and to /proc mounts 
-        */
-       protobuf_c_boolean is_root_rw;
-       /*
-        * Hostname inside jail 
-        */
-       char *hostname;
-       /*
-        * Initial current working directory for the binary 
-        */
-       char *cwd;
-       /*
-        * TCP port to listen to. Valid with mode=LISTEN only 
-        */
-       uint32_t port;
-       /*
-        * Host to bind to for mode=LISTEN. Must be in IPv6 format 
-        */
-       char *bindhost;
-       /*
-        * For mode=LISTEN, maximum number of connections from a single IP 
-        */
-       uint32_t max_conns_per_ip;
-       /*
-        * Wall-time time limit for commands 
-        */
-       uint32_t time_limit;
-       /*
-        * Should nsjail go into background? 
-        */
-       protobuf_c_boolean daemon;
-       /*
-        * File to save lofs to 
-        */
-       char *log_file;
-       /*
-        * Minimum log level displayed.
-        *See 'msg LogLevel' description for more 
-        */
-       protobuf_c_boolean has_log_level;
-       Nsjail__LogLevel log_level;
-       /*
-        * Should the current environment variables be kept
-        *when executing the binary 
-        */
-       protobuf_c_boolean keep_env;
-       /*
-        * EnvVars to be set before executing binaries 
-        */
-       size_t n_envar;
-       char **envar;
-       /*
-        * Should capabilities be preserved or dropped 
-        */
-       protobuf_c_boolean keep_caps;
-       /*
-        * Should nsjail close FD=0,1,2 before executing the process 
-        */
-       protobuf_c_boolean silent;
-       /*
-        * Should the child process have control over terminal?
-        *Can be useful to allow /bin/sh to provide
-        *job control / signals 
-        */
-       protobuf_c_boolean skip_setsid;
-       /*
-        * Which FDs should be passed to the newly executed process
-        *By default only FD=0,1,2 are passed 
-        */
-       size_t n_pass_fd;
-       int32_t *pass_fd;
-       /*
-        * Setting it to true will allow to have set-uid binaries
-        *inside the jail 
-        */
-       protobuf_c_boolean disable_no_new_privs;
-       /*
-        * In MiB 
-        */
-       uint64_t rlimit_as;
-       /*
-        * In MiB 
-        */
-       uint64_t rlimit_core;
-       /*
-        * In seconds 
-        */
-       uint64_t rlimit_cpu;
-       /*
-        * In MiB 
-        */
-       uint64_t rlimit_fsize;
-       uint64_t rlimit_nofile;
-       /*
-        * This is system-wide: tricky to use 
-        */
-       protobuf_c_boolean has_rlimit_nproc;
-       uint64_t rlimit_nproc;
-       /*
-        * In MiB 
-        */
-       protobuf_c_boolean has_rlimit_stack;
-       uint64_t rlimit_stack;
-       /*
-        * See 'man personality' for more 
-        */
-       protobuf_c_boolean persona_addr_compat_layout;
-       protobuf_c_boolean persona_mmap_page_zero;
-       protobuf_c_boolean persona_read_implies_exec;
-       protobuf_c_boolean persona_addr_limit_3gb;
-       protobuf_c_boolean persona_addr_no_randomize;
-       /*
-        * Which name-spaces should be used? 
-        */
-       protobuf_c_boolean clone_newnet;
-       protobuf_c_boolean clone_newuser;
-       protobuf_c_boolean clone_newns;
-       protobuf_c_boolean clone_newpid;
-       protobuf_c_boolean clone_newipc;
-       protobuf_c_boolean clone_newuts;
-       /*
-        * It's only supported in newer kernels, hence disabled by default 
-        */
-       protobuf_c_boolean clone_newcgroup;
-       /*
-        * Mappings for UIDs and GIDs. See the description for 'msg IdMap'
-        *for more 
-        */
-       size_t n_uidmap;
-       Nsjail__IdMap **uidmap;
-       size_t n_gidmap;
-       Nsjail__IdMap **gidmap;
-       /*
-        * Should /proc be mounted (R/O)? This can also be added in the 'mount'
-        *section below 
-        */
-       protobuf_c_boolean mount_proc;
-       /*
-        * Mount points inside the jail. See the description for 'msg MountPt'
-        *for more 
-        */
-       size_t n_mount;
-       Nsjail__MountPt **mount;
-       /*
-        * Kafel seccomp-bpf policy file or a string:
-        *Homepage of the project: https://github.com/google/kafel 
-        */
-       char *seccomp_policy_file;
-       char *seccomp_string;
-       /*
-        * If > 0, maximum cumulative size of RAM used inside any jail 
-        */
-       /*
-        * In MiB 
-        */
-       uint64_t cgroup_mem_max;
-       /*
-        * Mount point for cgroups-memory in your system 
-        */
-       char *cgroup_mem_mount;
-       /*
-        * Writeable directory (for the nsjail user) under cgroup_mem_mount 
-        */
-       char *cgroup_mem_parent;
-       /*
-        * If > 0, maximum number of PIDs (threads/processes) inside jail 
-        */
-       uint64_t cgroup_pids_max;
-       /*
-        * Mount point for cgroups-pids in your system 
-        */
-       char *cgroup_pids_mount;
-       /*
-        * Writeable directory (for the nsjail user) under cgroup_pids_mount 
-        */
-       char *cgroup_pids_parent;
-       /*
-        * Should the 'lo' interface be brought up (active) inside this jail? 
-        */
-       protobuf_c_boolean iface_no_lo;
-       /*
-        * Parameters for the cloned MACVLAN interface inside jail 
-        */
-       /*
-        * Interface to be cloned, eg 'eth0' 
-        */
-       char *macvlan_iface;
-       char *macvlan_vs_ip;
-       char *macvlan_vs_nm;
-       char *macvlan_vs_gw;
-       /*
-        * Binary path (with arguments) to be executed. If not specified here, it
-        *can be specified with cmd-line as "-- /path/to/command arg1 arg2" 
-        */
-       Nsjail__Exe *exec_bin;
-};
-extern char nsjail__ns_jail_config__name__default_value[];
-extern char nsjail__ns_jail_config__description__default_value[];
-extern char nsjail__ns_jail_config__hostname__default_value[];
-extern char nsjail__ns_jail_config__cwd__default_value[];
-extern char nsjail__ns_jail_config__bindhost__default_value[];
-extern char nsjail__ns_jail_config__cgroup_mem_mount__default_value[];
-extern char nsjail__ns_jail_config__cgroup_mem_parent__default_value[];
-extern char nsjail__ns_jail_config__cgroup_pids_mount__default_value[];
-extern char nsjail__ns_jail_config__cgroup_pids_parent__default_value[];
-extern char nsjail__ns_jail_config__macvlan_vs_ip__default_value[];
-extern char nsjail__ns_jail_config__macvlan_vs_nm__default_value[];
-extern char nsjail__ns_jail_config__macvlan_vs_gw__default_value[];
-#define NSJAIL__NS_JAIL_CONFIG__INIT \
- { PROTOBUF_C_MESSAGE_INIT (&nsjail__ns_jail_config__descriptor) \
-    , nsjail__ns_jail_config__name__default_value, nsjail__ns_jail_config__description__default_value, NSJAIL__MODE__ONCE, NULL, 0, nsjail__ns_jail_config__hostname__default_value, nsjail__ns_jail_config__cwd__default_value, 0u, nsjail__ns_jail_config__bindhost__default_value, 0u, 600u, 0, NULL, 0,0, 0, 0,NULL, 0, 0, 0, 0,NULL, 0, 512ull, 0ull, 600ull, 1ull, 32ull, 0,0, 0,0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0,NULL, 0,NULL, 0, 0,NULL, NULL, NULL, 0ull, nsjail__ns_jail_config__cgroup_mem_mount__default_value, nsjail__ns_jail_config__cgroup_mem_parent__default_value, 0ull, nsjail__ns_jail_config__cgroup_pids_mount__default_value, nsjail__ns_jail_config__cgroup_pids_parent__default_value, 0, NULL, nsjail__ns_jail_config__macvlan_vs_ip__default_value, nsjail__ns_jail_config__macvlan_vs_nm__default_value, nsjail__ns_jail_config__macvlan_vs_gw__default_value, NULL }
-
-/* Nsjail__IdMap methods */
-void nsjail__id_map__init(Nsjail__IdMap * message);
-size_t nsjail__id_map__get_packed_size(const Nsjail__IdMap * message);
-size_t nsjail__id_map__pack(const Nsjail__IdMap * message, uint8_t * out);
-size_t nsjail__id_map__pack_to_buffer(const Nsjail__IdMap * message, ProtobufCBuffer * buffer);
-Nsjail__IdMap *nsjail__id_map__unpack
-    (ProtobufCAllocator * allocator, size_t len, const uint8_t * data);
-void nsjail__id_map__free_unpacked(Nsjail__IdMap * message, ProtobufCAllocator * allocator);
-/* Nsjail__MountPt methods */
-void nsjail__mount_pt__init(Nsjail__MountPt * message);
-size_t nsjail__mount_pt__get_packed_size(const Nsjail__MountPt * message);
-size_t nsjail__mount_pt__pack(const Nsjail__MountPt * message, uint8_t * out);
-size_t nsjail__mount_pt__pack_to_buffer(const Nsjail__MountPt * message, ProtobufCBuffer * buffer);
-Nsjail__MountPt *nsjail__mount_pt__unpack
-    (ProtobufCAllocator * allocator, size_t len, const uint8_t * data);
-void nsjail__mount_pt__free_unpacked(Nsjail__MountPt * message, ProtobufCAllocator * allocator);
-/* Nsjail__Exe methods */
-void nsjail__exe__init(Nsjail__Exe * message);
-size_t nsjail__exe__get_packed_size(const Nsjail__Exe * message);
-size_t nsjail__exe__pack(const Nsjail__Exe * message, uint8_t * out);
-size_t nsjail__exe__pack_to_buffer(const Nsjail__Exe * message, ProtobufCBuffer * buffer);
-Nsjail__Exe *nsjail__exe__unpack(ProtobufCAllocator * allocator, size_t len, const uint8_t * data);
-void nsjail__exe__free_unpacked(Nsjail__Exe * message, ProtobufCAllocator * allocator);
-/* Nsjail__NsJailConfig methods */
-void nsjail__ns_jail_config__init(Nsjail__NsJailConfig * message);
-size_t nsjail__ns_jail_config__get_packed_size(const Nsjail__NsJailConfig * message);
-size_t nsjail__ns_jail_config__pack(const Nsjail__NsJailConfig * message, uint8_t * out);
-size_t nsjail__ns_jail_config__pack_to_buffer
-    (const Nsjail__NsJailConfig * message, ProtobufCBuffer * buffer);
-Nsjail__NsJailConfig *nsjail__ns_jail_config__unpack
-    (ProtobufCAllocator * allocator, size_t len, const uint8_t * data);
-void nsjail__ns_jail_config__free_unpacked
-    (Nsjail__NsJailConfig * message, ProtobufCAllocator * allocator);
-/* --- per-message closures --- */
-
-typedef void (*Nsjail__IdMap_Closure)
- (const Nsjail__IdMap * message, void *closure_data);
-typedef void (*Nsjail__MountPt_Closure)
- (const Nsjail__MountPt * message, void *closure_data);
-typedef void (*Nsjail__Exe_Closure)
- (const Nsjail__Exe * message, void *closure_data);
-typedef void (*Nsjail__NsJailConfig_Closure)
- (const Nsjail__NsJailConfig * message, void *closure_data);
-
-/* --- services --- */
-
-/* --- descriptors --- */
-
-extern const ProtobufCEnumDescriptor nsjail__mode__descriptor;
-extern const ProtobufCEnumDescriptor nsjail__log_level__descriptor;
-extern const ProtobufCMessageDescriptor nsjail__id_map__descriptor;
-extern const ProtobufCMessageDescriptor nsjail__mount_pt__descriptor;
-extern const ProtobufCMessageDescriptor nsjail__exe__descriptor;
-extern const ProtobufCMessageDescriptor nsjail__ns_jail_config__descriptor;
-
-PROTOBUF_C__END_DECLS
-#endif                         /* PROTOBUF_C_config_2eproto__INCLUDED */