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
2017-05-27 09:20:10 +08:00
2017-05-26 07:55:02 +08:00
# if PROTOBUF_C_VERSION_NUMBER < 1000000
2017-05-27 09:20:10 +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-27 09:20:10 +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-27 09:20:10 +08:00
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 ;
2017-05-27 09:20:10 +08:00
2017-05-26 07:55:02 +08:00
/* --- enums --- */
2017-05-26 10:37:50 +08:00
typedef enum _Nsjail__Mode {
2017-05-27 09:20:10 +08:00
/*
* 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 )
2017-05-26 10:37:50 +08:00
} Nsjail__Mode ;
2017-05-27 09:20:10 +08:00
/*
* Should be self explanatory
*/
2017-05-26 20:08:09 +08:00
typedef enum _Nsjail__LogLevel {
2017-05-27 09:20:10 +08:00
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 )
2017-05-26 20:08:09 +08:00
} Nsjail__LogLevel ;
2017-05-26 10:37:50 +08:00
2017-05-26 07:55:02 +08:00
/* --- messages --- */
2017-05-27 09:20:10 +08:00
struct _Nsjail__IdMap
{
ProtobufCMessage base ;
/*
* Empty string means " current uid/gid "
*/
char * inside_id ;
char * outside_id ;
/*
* ' 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 ;
2017-05-26 23:50:28 +08:00
} ;
2017-05-27 06:16: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 ) \
2017-05-27 06:33:25 +08:00
, 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 09:20:10 +08:00
struct _Nsjail__MountPt
{
ProtobufCMessage base ;
/*
* Can be empty string for filesystems like ' proc '
*/
char * src ;
char * dst ;
/*
* 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 RO mount
*/
protobuf_c_boolean is_ro ;
/*
* 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 ;
2017-05-27 07:16:12 +08:00
} ;
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 09:20:10 +08:00
struct _Nsjail__Exe
{
ProtobufCMessage base ;
char * path ;
size_t n_arg ;
char * * arg ;
2017-05-27 08:24:41 +08:00
} ;
# define NSJAIL__EXE__INIT \
{ PROTOBUF_C_MESSAGE_INIT ( & nsjail__exe__descriptor ) \
, NULL , 0 , NULL }
2017-05-27 09:20:10 +08:00
struct _Nsjail__NsJailConfig
{
ProtobufCMessage base ;
Nsjail__Mode mode ;
char * chroot_dir ;
protobuf_c_boolean is_root_rw ;
char * hostname ;
char * cwd ;
uint32_t port ;
char * bindhost ;
uint32_t max_conns_per_ip ;
uint32_t time_limit ;
protobuf_c_boolean daemon ;
char * log_file ;
protobuf_c_boolean has_log_level ;
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 ;
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 ;
size_t n_uidmap ;
Nsjail__IdMap * * uidmap ;
size_t n_gidmap ;
Nsjail__IdMap * * gidmap ;
size_t n_mount ;
Nsjail__MountPt * * mount ;
protobuf_c_boolean mount_proc ;
char * seccomp_policy_file ;
char * seccomp_string ;
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 ;
Nsjail__Exe * exec_bin ;
2017-05-26 07:55:02 +08:00
} ;
2017-05-27 06:09:08 +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-27 09:20:10 +08:00
2017-05-26 23:50:28 +08:00
/* Nsjail__IdMap methods */
2017-05-27 09:20:10 +08:00
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 */
2017-05-27 09:20:10 +08:00
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 */
2017-05-27 09:20:10 +08:00
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-27 09:20:10 +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-27 09:20:10 +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 )
2017-05-27 09:20:10 +08:00
( const Nsjail__IdMap * message ,
void * closure_data ) ;
2017-05-27 07:16:12 +08:00
typedef void ( * Nsjail__MountPt_Closure )
2017-05-27 09:20:10 +08:00
( const Nsjail__MountPt * message ,
void * closure_data ) ;
2017-05-27 08:24:41 +08:00
typedef void ( * Nsjail__Exe_Closure )
2017-05-27 09:20:10 +08:00
( const Nsjail__Exe * message ,
void * closure_data ) ;
2017-05-26 07:55:02 +08:00
typedef void ( * Nsjail__NsJailConfig_Closure )
2017-05-27 09:20:10 +08:00
( const Nsjail__NsJailConfig * message ,
void * closure_data ) ;
2017-05-26 07:55:02 +08:00
/* --- services --- */
2017-05-27 09:20:10 +08:00
2017-05-26 07:55:02 +08:00
/* --- descriptors --- */
2017-05-27 09:20:10 +08:00
extern const ProtobufCEnumDescriptor nsjail__mode__descriptor ;
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-27 09:20:10 +08:00
# endif /* PROTOBUF_C_config_2eproto__INCLUDED */