nsjail/config.pb-c.h

213 lines
8.7 KiB
C
Raw Normal View History

2017-05-26 07:55:02 +08:00
/* 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
2017-05-26 08:24:36 +08:00
#error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
2017-05-26 07:55:02 +08:00
#elif 1002001 < PROTOBUF_C_MIN_COMPILER_VERSION
2017-05-26 08:24:36 +08:00
#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.
2017-05-26 07:55:02 +08:00
#endif
2017-05-26 23:50:28 +08:00
typedef struct _Nsjail__IdMap Nsjail__IdMap;
2017-05-27 07:16:12 +08:00
typedef struct _Nsjail__MountPt Nsjail__MountPt;
2017-05-27 08:24:41 +08:00
typedef struct _Nsjail__Exe Nsjail__Exe;
2017-05-26 07:55:02 +08:00
typedef struct _Nsjail__NsJailConfig Nsjail__NsJailConfig;
/* --- enums --- */
2017-05-26 10:37:50 +08:00
typedef enum _Nsjail__Mode {
NSJAIL__MODE__LISTEN = 0,
NSJAIL__MODE__ONCE = 1,
NSJAIL__MODE__RERUN = 2,
NSJAIL__MODE__EXECVE = 3 PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(NSJAIL__MODE)
} Nsjail__Mode;
2017-05-26 20:08:09 +08:00
typedef enum _Nsjail__LogLevel {
NSJAIL__LOG_LEVEL__DEBUG = 0,
NSJAIL__LOG_LEVEL__INFO = 1,
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;
2017-05-26 10:37:50 +08:00
2017-05-26 07:55:02 +08:00
/* --- messages --- */
2017-05-26 23:50:28 +08:00
struct _Nsjail__IdMap {
ProtobufCMessage base;
char *inside_id;
char *outside_id;
2017-05-26 23:50:28 +08:00
uint32_t count;
protobuf_c_boolean use_newidmap;
2017-05-26 23:50:28 +08:00
};
extern char nsjail__id_map__inside_id__default_value[];
extern char nsjail__id_map__outside_id__default_value[];
2017-05-26 23:50:28 +08:00
#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 }
2017-05-26 23:50:28 +08:00
2017-05-27 07:16:12 +08:00
struct _Nsjail__MountPt {
ProtobufCMessage base;
char *src;
char *dst;
char *fstype;
char *options;
protobuf_c_boolean is_bind;
protobuf_c_boolean is_ro;
protobuf_c_boolean has_is_dir;
protobuf_c_boolean is_dir;
};
extern char nsjail__mount_pt__options__default_value[];
#define NSJAIL__MOUNT_PT__INIT \
{ PROTOBUF_C_MESSAGE_INIT (&nsjail__mount_pt__descriptor) \
, NULL, NULL, NULL, nsjail__mount_pt__options__default_value, 0, 0, 0,0 }
2017-05-27 08:24:41 +08:00
struct _Nsjail__Exe {
ProtobufCMessage base;
char *path;
size_t n_arg;
char **arg;
};
#define NSJAIL__EXE__INIT \
{ PROTOBUF_C_MESSAGE_INIT (&nsjail__exe__descriptor) \
, NULL, 0,NULL }
2017-05-26 08:24:36 +08:00
struct _Nsjail__NsJailConfig {
ProtobufCMessage base;
2017-05-26 10:37:50 +08:00
Nsjail__Mode mode;
char *chroot_dir;
2017-05-26 11:01:22 +08:00
protobuf_c_boolean is_root_rw;
char *hostname;
char *cwd;
2017-05-26 11:01:22 +08:00
uint32_t port;
char *bindhost;
2017-05-26 11:01:22 +08:00
uint32_t max_conns_per_ip;
2017-05-26 11:12:01 +08:00
uint32_t time_limit;
protobuf_c_boolean daemon;
char *log_file;
2017-05-26 21:22:59 +08:00
protobuf_c_boolean has_log_level;
2017-05-26 20:08:09 +08:00
Nsjail__LogLevel log_level;
protobuf_c_boolean keep_env;
protobuf_c_boolean silent;
protobuf_c_boolean skip_setsid;
size_t n_pass_fd;
int32_t *pass_fd;
protobuf_c_boolean pivot_root_only;
protobuf_c_boolean disable_no_new_privs;
uint64_t rlimit_as;
uint64_t rlimit_core;
uint64_t rlimit_cpu;
uint64_t rlimit_fsize;
uint64_t rlimit_nofile;
protobuf_c_boolean has_rlimit_nproc;
uint64_t rlimit_nproc;
protobuf_c_boolean has_rlimit_stack;
uint64_t rlimit_stack;
2017-05-26 23:50:28 +08:00
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;
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;
protobuf_c_boolean clone_newcgroup;
2017-05-27 05:26:07 +08:00
size_t n_uidmap;
Nsjail__IdMap **uidmap;
size_t n_gidmap;
Nsjail__IdMap **gidmap;
2017-05-27 07:16:12 +08:00
size_t n_mount;
Nsjail__MountPt **mount;
2017-05-27 07:35:00 +08:00
protobuf_c_boolean mount_proc;
char *seccomp_policy_file;
char *seccomp_string;
2017-05-27 08:09:21 +08:00
uint64_t cgroup_mem_max;
char *cgroup_mem_mount;
char *cgroup_mem_parent;
uint64_t cgroup_pids_max;
char *cgroup_pids_mount;
char *cgroup_pids_parent;
protobuf_c_boolean iface_no_lo;
char *macvlan_iface;
char *macvlan_vs_ip;
char *macvlan_vs_nm;
char *macvlan_vs_gw;
2017-05-27 08:24:41 +08:00
Nsjail__Exe *exec_bin;
2017-05-26 07:55:02 +08:00
};
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[];
2017-05-27 08:09:21 +08:00
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[];
2017-05-26 07:55:02 +08:00
#define NSJAIL__NS_JAIL_CONFIG__INIT \
{ PROTOBUF_C_MESSAGE_INIT (&nsjail__ns_jail_config__descriptor) \
2017-05-27 08:24:41 +08:00
, 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, 0, 0,NULL, 0, 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,NULL, 1, 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 }
2017-05-26 07:55:02 +08:00
2017-05-26 23:50:28 +08:00
/* 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);
2017-05-27 07:16:12 +08:00
/* 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);
2017-05-27 08:24:41 +08:00
/* 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);
2017-05-26 07:55:02 +08:00
/* Nsjail__NsJailConfig methods */
2017-05-26 08:24:36 +08:00
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);
2017-05-26 07:55:02 +08:00
size_t nsjail__ns_jail_config__pack_to_buffer
2017-05-26 08:24:36 +08:00
(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);
2017-05-26 07:55:02 +08:00
/* --- per-message closures --- */
2017-05-26 23:50:28 +08:00
typedef void (*Nsjail__IdMap_Closure)
(const Nsjail__IdMap * message, void *closure_data);
2017-05-27 07:16:12 +08:00
typedef void (*Nsjail__MountPt_Closure)
(const Nsjail__MountPt * message, void *closure_data);
2017-05-27 08:24:41 +08:00
typedef void (*Nsjail__Exe_Closure)
(const Nsjail__Exe * message, void *closure_data);
2017-05-26 07:55:02 +08:00
typedef void (*Nsjail__NsJailConfig_Closure)
2017-05-26 08:24:36 +08:00
(const Nsjail__NsJailConfig * message, void *closure_data);
2017-05-26 07:55:02 +08:00
/* --- services --- */
/* --- descriptors --- */
2017-05-26 10:37:50 +08:00
extern const ProtobufCEnumDescriptor nsjail__mode__descriptor;
2017-05-26 20:08:09 +08:00
extern const ProtobufCEnumDescriptor nsjail__log_level__descriptor;
2017-05-26 23:50:28 +08:00
extern const ProtobufCMessageDescriptor nsjail__id_map__descriptor;
2017-05-27 07:16:12 +08:00
extern const ProtobufCMessageDescriptor nsjail__mount_pt__descriptor;
2017-05-27 08:24:41 +08:00
extern const ProtobufCMessageDescriptor nsjail__exe__descriptor;
2017-05-26 07:55:02 +08:00
extern const ProtobufCMessageDescriptor nsjail__ns_jail_config__descriptor;
PROTOBUF_C__END_DECLS
2017-05-26 08:24:36 +08:00
#endif /* PROTOBUF_C_config_2eproto__INCLUDED */