1*4b9c6d91SCole Faust pub type __rlim64_t = u64; 2*4b9c6d91SCole Faust pub type __u8 = u8; 3*4b9c6d91SCole Faust pub type __u16 = u16; 4*4b9c6d91SCole Faust pub type __u32 = u32; 5*4b9c6d91SCole Faust 6*4b9c6d91SCole Faust pub type __uid_t = ::std::os::raw::c_uint; 7*4b9c6d91SCole Faust pub type __gid_t = ::std::os::raw::c_uint; 8*4b9c6d91SCole Faust pub type __pid_t = ::std::os::raw::c_int; 9*4b9c6d91SCole Faust pub type rlim_t = __rlim64_t; 10*4b9c6d91SCole Faust pub type gid_t = __gid_t; 11*4b9c6d91SCole Faust pub type uid_t = __uid_t; 12*4b9c6d91SCole Faust pub type pid_t = __pid_t; 13*4b9c6d91SCole Faust #[repr(C)] 14*4b9c6d91SCole Faust pub struct sock_filter { 15*4b9c6d91SCole Faust pub code: __u16, 16*4b9c6d91SCole Faust pub jt: __u8, 17*4b9c6d91SCole Faust pub jf: __u8, 18*4b9c6d91SCole Faust pub k: __u32, 19*4b9c6d91SCole Faust } 20*4b9c6d91SCole Faust #[repr(C)] 21*4b9c6d91SCole Faust #[derive(Debug, Copy, Clone)] 22*4b9c6d91SCole Faust pub struct sock_fprog { 23*4b9c6d91SCole Faust pub len: ::std::os::raw::c_ushort, 24*4b9c6d91SCole Faust pub filter: *mut sock_filter, 25*4b9c6d91SCole Faust } 26*4b9c6d91SCole Faust pub const MINIJAIL_ERR_NO_ACCESS: _bindgen_ty_1 = _bindgen_ty_1::MINIJAIL_ERR_NO_ACCESS; 27*4b9c6d91SCole Faust pub const MINIJAIL_ERR_NO_COMMAND: _bindgen_ty_1 = _bindgen_ty_1::MINIJAIL_ERR_NO_COMMAND; 28*4b9c6d91SCole Faust pub const MINIJAIL_ERR_SIG_BASE: _bindgen_ty_1 = _bindgen_ty_1::MINIJAIL_ERR_SIG_BASE; 29*4b9c6d91SCole Faust pub const MINIJAIL_ERR_MOUNT: _bindgen_ty_1 = _bindgen_ty_1::MINIJAIL_ERR_MOUNT; 30*4b9c6d91SCole Faust pub const MINIJAIL_ERR_PRELOAD: _bindgen_ty_1 = _bindgen_ty_1::MINIJAIL_ERR_PRELOAD; 31*4b9c6d91SCole Faust pub const MINIJAIL_ERR_JAIL: _bindgen_ty_1 = _bindgen_ty_1::MINIJAIL_ERR_JAIL; 32*4b9c6d91SCole Faust pub const MINIJAIL_ERR_INIT: _bindgen_ty_1 = _bindgen_ty_1::MINIJAIL_ERR_INIT; 33*4b9c6d91SCole Faust #[repr(u32)] 34*4b9c6d91SCole Faust #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] 35*4b9c6d91SCole Faust pub enum _bindgen_ty_1 { 36*4b9c6d91SCole Faust MINIJAIL_ERR_NO_ACCESS = 126, 37*4b9c6d91SCole Faust MINIJAIL_ERR_NO_COMMAND = 127, 38*4b9c6d91SCole Faust MINIJAIL_ERR_SIG_BASE = 128, 39*4b9c6d91SCole Faust MINIJAIL_ERR_MOUNT = 251, 40*4b9c6d91SCole Faust MINIJAIL_ERR_PRELOAD = 252, 41*4b9c6d91SCole Faust MINIJAIL_ERR_JAIL = 253, 42*4b9c6d91SCole Faust MINIJAIL_ERR_INIT = 254, 43*4b9c6d91SCole Faust } 44*4b9c6d91SCole Faust #[repr(C)] 45*4b9c6d91SCole Faust #[derive(Debug, Copy, Clone)] 46*4b9c6d91SCole Faust pub struct minijail { 47*4b9c6d91SCole Faust _unused: [u8; 0], 48*4b9c6d91SCole Faust } 49*4b9c6d91SCole Faust pub type minijail_hook_t = ::std::option::Option< 50*4b9c6d91SCole Faust unsafe extern "C" fn(context: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int, 51*4b9c6d91SCole Faust >; 52*4b9c6d91SCole Faust #[repr(u32)] 53*4b9c6d91SCole Faust #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] 54*4b9c6d91SCole Faust pub enum minijail_hook_event_t { 55*4b9c6d91SCole Faust MINIJAIL_HOOK_EVENT_PRE_DROP_CAPS = 0, 56*4b9c6d91SCole Faust MINIJAIL_HOOK_EVENT_PRE_EXECVE = 1, 57*4b9c6d91SCole Faust MINIJAIL_HOOK_EVENT_PRE_CHROOT = 2, 58*4b9c6d91SCole Faust MINIJAIL_HOOK_EVENT_MAX = 3, 59*4b9c6d91SCole Faust } 60*4b9c6d91SCole Faust extern "C" { minijail_new() -> *mut minijail61*4b9c6d91SCole Faust pub fn minijail_new() -> *mut minijail; 62*4b9c6d91SCole Faust } 63*4b9c6d91SCole Faust extern "C" { minijail_change_uid(j: *mut minijail, uid: uid_t)64*4b9c6d91SCole Faust pub fn minijail_change_uid(j: *mut minijail, uid: uid_t); 65*4b9c6d91SCole Faust } 66*4b9c6d91SCole Faust extern "C" { minijail_change_gid(j: *mut minijail, gid: gid_t)67*4b9c6d91SCole Faust pub fn minijail_change_gid(j: *mut minijail, gid: gid_t); 68*4b9c6d91SCole Faust } 69*4b9c6d91SCole Faust extern "C" { minijail_set_supplementary_gids(j: *mut minijail, size: usize, list: *const gid_t)70*4b9c6d91SCole Faust pub fn minijail_set_supplementary_gids(j: *mut minijail, size: usize, list: *const gid_t); 71*4b9c6d91SCole Faust } 72*4b9c6d91SCole Faust extern "C" { minijail_keep_supplementary_gids(j: *mut minijail)73*4b9c6d91SCole Faust pub fn minijail_keep_supplementary_gids(j: *mut minijail); 74*4b9c6d91SCole Faust } 75*4b9c6d91SCole Faust extern "C" { minijail_change_user( j: *mut minijail, user: *const ::std::os::raw::c_char, ) -> ::std::os::raw::c_int76*4b9c6d91SCole Faust pub fn minijail_change_user( 77*4b9c6d91SCole Faust j: *mut minijail, 78*4b9c6d91SCole Faust user: *const ::std::os::raw::c_char, 79*4b9c6d91SCole Faust ) -> ::std::os::raw::c_int; 80*4b9c6d91SCole Faust } 81*4b9c6d91SCole Faust extern "C" { minijail_change_group( j: *mut minijail, group: *const ::std::os::raw::c_char, ) -> ::std::os::raw::c_int82*4b9c6d91SCole Faust pub fn minijail_change_group( 83*4b9c6d91SCole Faust j: *mut minijail, 84*4b9c6d91SCole Faust group: *const ::std::os::raw::c_char, 85*4b9c6d91SCole Faust ) -> ::std::os::raw::c_int; 86*4b9c6d91SCole Faust } 87*4b9c6d91SCole Faust extern "C" { minijail_use_seccomp(j: *mut minijail)88*4b9c6d91SCole Faust pub fn minijail_use_seccomp(j: *mut minijail); 89*4b9c6d91SCole Faust } 90*4b9c6d91SCole Faust extern "C" { minijail_no_new_privs(j: *mut minijail)91*4b9c6d91SCole Faust pub fn minijail_no_new_privs(j: *mut minijail); 92*4b9c6d91SCole Faust } 93*4b9c6d91SCole Faust extern "C" { minijail_use_seccomp_filter(j: *mut minijail)94*4b9c6d91SCole Faust pub fn minijail_use_seccomp_filter(j: *mut minijail); 95*4b9c6d91SCole Faust } 96*4b9c6d91SCole Faust extern "C" { minijail_set_seccomp_filter_tsync(j: *mut minijail)97*4b9c6d91SCole Faust pub fn minijail_set_seccomp_filter_tsync(j: *mut minijail); 98*4b9c6d91SCole Faust } 99*4b9c6d91SCole Faust extern "C" { minijail_set_using_minimalistic_mountns(j: *mut minijail)100*4b9c6d91SCole Faust pub fn minijail_set_using_minimalistic_mountns(j: *mut minijail); 101*4b9c6d91SCole Faust } 102*4b9c6d91SCole Faust extern "C" { minijail_add_minimalistic_mountns_fs_rules(j: *mut minijail)103*4b9c6d91SCole Faust pub fn minijail_add_minimalistic_mountns_fs_rules(j: *mut minijail); 104*4b9c6d91SCole Faust } 105*4b9c6d91SCole Faust extern "C" { minijail_enable_default_fs_restrictions(j: *mut minijail)106*4b9c6d91SCole Faust pub fn minijail_enable_default_fs_restrictions(j: *mut minijail); 107*4b9c6d91SCole Faust } 108*4b9c6d91SCole Faust extern "C" { minijail_set_seccomp_filter_allow_speculation(j: *mut minijail)109*4b9c6d91SCole Faust pub fn minijail_set_seccomp_filter_allow_speculation(j: *mut minijail); 110*4b9c6d91SCole Faust } 111*4b9c6d91SCole Faust extern "C" { minijail_set_seccomp_filters(j: *mut minijail, filter: *const sock_fprog)112*4b9c6d91SCole Faust pub fn minijail_set_seccomp_filters(j: *mut minijail, filter: *const sock_fprog); 113*4b9c6d91SCole Faust } 114*4b9c6d91SCole Faust extern "C" { minijail_parse_seccomp_filters(j: *mut minijail, path: *const ::std::os::raw::c_char)115*4b9c6d91SCole Faust pub fn minijail_parse_seccomp_filters(j: *mut minijail, path: *const ::std::os::raw::c_char); 116*4b9c6d91SCole Faust } 117*4b9c6d91SCole Faust extern "C" { minijail_parse_seccomp_filters_from_fd(j: *mut minijail, fd: ::std::os::raw::c_int)118*4b9c6d91SCole Faust pub fn minijail_parse_seccomp_filters_from_fd(j: *mut minijail, fd: ::std::os::raw::c_int); 119*4b9c6d91SCole Faust } 120*4b9c6d91SCole Faust extern "C" { minijail_log_seccomp_filter_failures(j: *mut minijail)121*4b9c6d91SCole Faust pub fn minijail_log_seccomp_filter_failures(j: *mut minijail); 122*4b9c6d91SCole Faust } 123*4b9c6d91SCole Faust extern "C" { minijail_use_caps(j: *mut minijail, capmask: u64)124*4b9c6d91SCole Faust pub fn minijail_use_caps(j: *mut minijail, capmask: u64); 125*4b9c6d91SCole Faust } 126*4b9c6d91SCole Faust extern "C" { minijail_capbset_drop(j: *mut minijail, capmask: u64)127*4b9c6d91SCole Faust pub fn minijail_capbset_drop(j: *mut minijail, capmask: u64); 128*4b9c6d91SCole Faust } 129*4b9c6d91SCole Faust extern "C" { minijail_set_ambient_caps(j: *mut minijail)130*4b9c6d91SCole Faust pub fn minijail_set_ambient_caps(j: *mut minijail); 131*4b9c6d91SCole Faust } 132*4b9c6d91SCole Faust extern "C" { minijail_reset_signal_mask(j: *mut minijail)133*4b9c6d91SCole Faust pub fn minijail_reset_signal_mask(j: *mut minijail); 134*4b9c6d91SCole Faust } 135*4b9c6d91SCole Faust extern "C" { minijail_reset_signal_handlers(j: *mut minijail)136*4b9c6d91SCole Faust pub fn minijail_reset_signal_handlers(j: *mut minijail); 137*4b9c6d91SCole Faust } 138*4b9c6d91SCole Faust extern "C" { minijail_namespace_vfs(j: *mut minijail)139*4b9c6d91SCole Faust pub fn minijail_namespace_vfs(j: *mut minijail); 140*4b9c6d91SCole Faust } 141*4b9c6d91SCole Faust extern "C" { minijail_namespace_enter_vfs(j: *mut minijail, ns_path: *const ::std::os::raw::c_char)142*4b9c6d91SCole Faust pub fn minijail_namespace_enter_vfs(j: *mut minijail, ns_path: *const ::std::os::raw::c_char); 143*4b9c6d91SCole Faust } 144*4b9c6d91SCole Faust extern "C" { minijail_new_session_keyring(j: *mut minijail)145*4b9c6d91SCole Faust pub fn minijail_new_session_keyring(j: *mut minijail); 146*4b9c6d91SCole Faust } 147*4b9c6d91SCole Faust extern "C" { minijail_skip_setting_securebits(j: *mut minijail, securebits_skip_mask: u64)148*4b9c6d91SCole Faust pub fn minijail_skip_setting_securebits(j: *mut minijail, securebits_skip_mask: u64); 149*4b9c6d91SCole Faust } 150*4b9c6d91SCole Faust extern "C" { minijail_skip_remount_private(j: *mut minijail)151*4b9c6d91SCole Faust pub fn minijail_skip_remount_private(j: *mut minijail); 152*4b9c6d91SCole Faust } 153*4b9c6d91SCole Faust extern "C" { minijail_remount_mode(j: *mut minijail, mode: ::std::os::raw::c_ulong)154*4b9c6d91SCole Faust pub fn minijail_remount_mode(j: *mut minijail, mode: ::std::os::raw::c_ulong); 155*4b9c6d91SCole Faust } 156*4b9c6d91SCole Faust extern "C" { minijail_namespace_ipc(j: *mut minijail)157*4b9c6d91SCole Faust pub fn minijail_namespace_ipc(j: *mut minijail); 158*4b9c6d91SCole Faust } 159*4b9c6d91SCole Faust extern "C" { minijail_namespace_uts(j: *mut minijail)160*4b9c6d91SCole Faust pub fn minijail_namespace_uts(j: *mut minijail); 161*4b9c6d91SCole Faust } 162*4b9c6d91SCole Faust extern "C" { minijail_namespace_set_hostname( j: *mut minijail, name: *const ::std::os::raw::c_char, ) -> ::std::os::raw::c_int163*4b9c6d91SCole Faust pub fn minijail_namespace_set_hostname( 164*4b9c6d91SCole Faust j: *mut minijail, 165*4b9c6d91SCole Faust name: *const ::std::os::raw::c_char, 166*4b9c6d91SCole Faust ) -> ::std::os::raw::c_int; 167*4b9c6d91SCole Faust } 168*4b9c6d91SCole Faust extern "C" { minijail_namespace_net(j: *mut minijail)169*4b9c6d91SCole Faust pub fn minijail_namespace_net(j: *mut minijail); 170*4b9c6d91SCole Faust } 171*4b9c6d91SCole Faust extern "C" { minijail_namespace_enter_net(j: *mut minijail, ns_path: *const ::std::os::raw::c_char)172*4b9c6d91SCole Faust pub fn minijail_namespace_enter_net(j: *mut minijail, ns_path: *const ::std::os::raw::c_char); 173*4b9c6d91SCole Faust } 174*4b9c6d91SCole Faust extern "C" { minijail_namespace_cgroups(j: *mut minijail)175*4b9c6d91SCole Faust pub fn minijail_namespace_cgroups(j: *mut minijail); 176*4b9c6d91SCole Faust } 177*4b9c6d91SCole Faust extern "C" { minijail_close_open_fds(j: *mut minijail)178*4b9c6d91SCole Faust pub fn minijail_close_open_fds(j: *mut minijail); 179*4b9c6d91SCole Faust } 180*4b9c6d91SCole Faust extern "C" { minijail_namespace_pids(j: *mut minijail)181*4b9c6d91SCole Faust pub fn minijail_namespace_pids(j: *mut minijail); 182*4b9c6d91SCole Faust } 183*4b9c6d91SCole Faust extern "C" { minijail_namespace_pids_rw_proc(j: *mut minijail)184*4b9c6d91SCole Faust pub fn minijail_namespace_pids_rw_proc(j: *mut minijail); 185*4b9c6d91SCole Faust } 186*4b9c6d91SCole Faust extern "C" { minijail_namespace_user(j: *mut minijail)187*4b9c6d91SCole Faust pub fn minijail_namespace_user(j: *mut minijail); 188*4b9c6d91SCole Faust } 189*4b9c6d91SCole Faust extern "C" { minijail_namespace_user_disable_setgroups(j: *mut minijail)190*4b9c6d91SCole Faust pub fn minijail_namespace_user_disable_setgroups(j: *mut minijail); 191*4b9c6d91SCole Faust } 192*4b9c6d91SCole Faust extern "C" { minijail_uidmap( j: *mut minijail, uidmap: *const ::std::os::raw::c_char, ) -> ::std::os::raw::c_int193*4b9c6d91SCole Faust pub fn minijail_uidmap( 194*4b9c6d91SCole Faust j: *mut minijail, 195*4b9c6d91SCole Faust uidmap: *const ::std::os::raw::c_char, 196*4b9c6d91SCole Faust ) -> ::std::os::raw::c_int; 197*4b9c6d91SCole Faust } 198*4b9c6d91SCole Faust extern "C" { minijail_gidmap( j: *mut minijail, gidmap: *const ::std::os::raw::c_char, ) -> ::std::os::raw::c_int199*4b9c6d91SCole Faust pub fn minijail_gidmap( 200*4b9c6d91SCole Faust j: *mut minijail, 201*4b9c6d91SCole Faust gidmap: *const ::std::os::raw::c_char, 202*4b9c6d91SCole Faust ) -> ::std::os::raw::c_int; 203*4b9c6d91SCole Faust } 204*4b9c6d91SCole Faust extern "C" { minijail_remount_proc_readonly(j: *mut minijail)205*4b9c6d91SCole Faust pub fn minijail_remount_proc_readonly(j: *mut minijail); 206*4b9c6d91SCole Faust } 207*4b9c6d91SCole Faust extern "C" { minijail_run_as_init(j: *mut minijail)208*4b9c6d91SCole Faust pub fn minijail_run_as_init(j: *mut minijail); 209*4b9c6d91SCole Faust } 210*4b9c6d91SCole Faust extern "C" { minijail_write_pid_file( j: *mut minijail, path: *const ::std::os::raw::c_char, ) -> ::std::os::raw::c_int211*4b9c6d91SCole Faust pub fn minijail_write_pid_file( 212*4b9c6d91SCole Faust j: *mut minijail, 213*4b9c6d91SCole Faust path: *const ::std::os::raw::c_char, 214*4b9c6d91SCole Faust ) -> ::std::os::raw::c_int; 215*4b9c6d91SCole Faust } 216*4b9c6d91SCole Faust extern "C" { minijail_inherit_usergroups(j: *mut minijail)217*4b9c6d91SCole Faust pub fn minijail_inherit_usergroups(j: *mut minijail); 218*4b9c6d91SCole Faust } 219*4b9c6d91SCole Faust extern "C" { minijail_use_alt_syscall( j: *mut minijail, table: *const ::std::os::raw::c_char, ) -> ::std::os::raw::c_int220*4b9c6d91SCole Faust pub fn minijail_use_alt_syscall( 221*4b9c6d91SCole Faust j: *mut minijail, 222*4b9c6d91SCole Faust table: *const ::std::os::raw::c_char, 223*4b9c6d91SCole Faust ) -> ::std::os::raw::c_int; 224*4b9c6d91SCole Faust } 225*4b9c6d91SCole Faust extern "C" { minijail_rlimit( j: *mut minijail, type_: ::std::os::raw::c_int, cur: rlim_t, max: rlim_t, ) -> ::std::os::raw::c_int226*4b9c6d91SCole Faust pub fn minijail_rlimit( 227*4b9c6d91SCole Faust j: *mut minijail, 228*4b9c6d91SCole Faust type_: ::std::os::raw::c_int, 229*4b9c6d91SCole Faust cur: rlim_t, 230*4b9c6d91SCole Faust max: rlim_t, 231*4b9c6d91SCole Faust ) -> ::std::os::raw::c_int; 232*4b9c6d91SCole Faust } 233*4b9c6d91SCole Faust extern "C" { minijail_add_to_cgroup( j: *mut minijail, path: *const ::std::os::raw::c_char, ) -> ::std::os::raw::c_int234*4b9c6d91SCole Faust pub fn minijail_add_to_cgroup( 235*4b9c6d91SCole Faust j: *mut minijail, 236*4b9c6d91SCole Faust path: *const ::std::os::raw::c_char, 237*4b9c6d91SCole Faust ) -> ::std::os::raw::c_int; 238*4b9c6d91SCole Faust } 239*4b9c6d91SCole Faust extern "C" { minijail_add_fs_restriction_rx( j: *mut minijail, path: *const ::std::os::raw::c_char, ) -> ::std::os::raw::c_int240*4b9c6d91SCole Faust pub fn minijail_add_fs_restriction_rx( 241*4b9c6d91SCole Faust j: *mut minijail, 242*4b9c6d91SCole Faust path: *const ::std::os::raw::c_char, 243*4b9c6d91SCole Faust ) -> ::std::os::raw::c_int; 244*4b9c6d91SCole Faust } 245*4b9c6d91SCole Faust extern "C" { minijail_add_fs_restriction_ro( j: *mut minijail, path: *const ::std::os::raw::c_char, ) -> ::std::os::raw::c_int246*4b9c6d91SCole Faust pub fn minijail_add_fs_restriction_ro( 247*4b9c6d91SCole Faust j: *mut minijail, 248*4b9c6d91SCole Faust path: *const ::std::os::raw::c_char, 249*4b9c6d91SCole Faust ) -> ::std::os::raw::c_int; 250*4b9c6d91SCole Faust } 251*4b9c6d91SCole Faust extern "C" { minijail_add_fs_restriction_rw( j: *mut minijail, path: *const ::std::os::raw::c_char, ) -> ::std::os::raw::c_int252*4b9c6d91SCole Faust pub fn minijail_add_fs_restriction_rw( 253*4b9c6d91SCole Faust j: *mut minijail, 254*4b9c6d91SCole Faust path: *const ::std::os::raw::c_char, 255*4b9c6d91SCole Faust ) -> ::std::os::raw::c_int; 256*4b9c6d91SCole Faust } 257*4b9c6d91SCole Faust extern "C" { minijail_add_fs_restriction_advanced_rw( j: *mut minijail, path: *const ::std::os::raw::c_char, ) -> ::std::os::raw::c_int258*4b9c6d91SCole Faust pub fn minijail_add_fs_restriction_advanced_rw( 259*4b9c6d91SCole Faust j: *mut minijail, 260*4b9c6d91SCole Faust path: *const ::std::os::raw::c_char, 261*4b9c6d91SCole Faust ) -> ::std::os::raw::c_int; 262*4b9c6d91SCole Faust } 263*4b9c6d91SCole Faust extern "C" { minijail_add_fs_restriction_edit( j: *mut minijail, path: *const ::std::os::raw::c_char, ) -> ::std::os::raw::c_int264*4b9c6d91SCole Faust pub fn minijail_add_fs_restriction_edit( 265*4b9c6d91SCole Faust j: *mut minijail, 266*4b9c6d91SCole Faust path: *const ::std::os::raw::c_char, 267*4b9c6d91SCole Faust ) -> ::std::os::raw::c_int; 268*4b9c6d91SCole Faust } 269*4b9c6d91SCole Faust extern "C" { minijail_forward_signals(j: *mut minijail) -> ::std::os::raw::c_int270*4b9c6d91SCole Faust pub fn minijail_forward_signals(j: *mut minijail) -> ::std::os::raw::c_int; 271*4b9c6d91SCole Faust } 272*4b9c6d91SCole Faust extern "C" { minijail_create_session(j: *mut minijail) -> ::std::os::raw::c_int273*4b9c6d91SCole Faust pub fn minijail_create_session(j: *mut minijail) -> ::std::os::raw::c_int; 274*4b9c6d91SCole Faust } 275*4b9c6d91SCole Faust extern "C" { minijail_enter_chroot( j: *mut minijail, dir: *const ::std::os::raw::c_char, ) -> ::std::os::raw::c_int276*4b9c6d91SCole Faust pub fn minijail_enter_chroot( 277*4b9c6d91SCole Faust j: *mut minijail, 278*4b9c6d91SCole Faust dir: *const ::std::os::raw::c_char, 279*4b9c6d91SCole Faust ) -> ::std::os::raw::c_int; 280*4b9c6d91SCole Faust } 281*4b9c6d91SCole Faust extern "C" { minijail_enter_pivot_root( j: *mut minijail, dir: *const ::std::os::raw::c_char, ) -> ::std::os::raw::c_int282*4b9c6d91SCole Faust pub fn minijail_enter_pivot_root( 283*4b9c6d91SCole Faust j: *mut minijail, 284*4b9c6d91SCole Faust dir: *const ::std::os::raw::c_char, 285*4b9c6d91SCole Faust ) -> ::std::os::raw::c_int; 286*4b9c6d91SCole Faust } 287*4b9c6d91SCole Faust extern "C" { minijail_get_original_path( j: *mut minijail, chroot_path: *const ::std::os::raw::c_char, ) -> *mut ::std::os::raw::c_char288*4b9c6d91SCole Faust pub fn minijail_get_original_path( 289*4b9c6d91SCole Faust j: *mut minijail, 290*4b9c6d91SCole Faust chroot_path: *const ::std::os::raw::c_char, 291*4b9c6d91SCole Faust ) -> *mut ::std::os::raw::c_char; 292*4b9c6d91SCole Faust } 293*4b9c6d91SCole Faust extern "C" { minijail_mount_tmp(j: *mut minijail)294*4b9c6d91SCole Faust pub fn minijail_mount_tmp(j: *mut minijail); 295*4b9c6d91SCole Faust } 296*4b9c6d91SCole Faust extern "C" { minijail_mount_tmp_size(j: *mut minijail, size: usize)297*4b9c6d91SCole Faust pub fn minijail_mount_tmp_size(j: *mut minijail, size: usize); 298*4b9c6d91SCole Faust } 299*4b9c6d91SCole Faust extern "C" { minijail_mount_dev(j: *mut minijail)300*4b9c6d91SCole Faust pub fn minijail_mount_dev(j: *mut minijail); 301*4b9c6d91SCole Faust } 302*4b9c6d91SCole Faust extern "C" { minijail_mount_with_data( j: *mut minijail, src: *const ::std::os::raw::c_char, dest: *const ::std::os::raw::c_char, type_: *const ::std::os::raw::c_char, flags: ::std::os::raw::c_ulong, data: *const ::std::os::raw::c_char, ) -> ::std::os::raw::c_int303*4b9c6d91SCole Faust pub fn minijail_mount_with_data( 304*4b9c6d91SCole Faust j: *mut minijail, 305*4b9c6d91SCole Faust src: *const ::std::os::raw::c_char, 306*4b9c6d91SCole Faust dest: *const ::std::os::raw::c_char, 307*4b9c6d91SCole Faust type_: *const ::std::os::raw::c_char, 308*4b9c6d91SCole Faust flags: ::std::os::raw::c_ulong, 309*4b9c6d91SCole Faust data: *const ::std::os::raw::c_char, 310*4b9c6d91SCole Faust ) -> ::std::os::raw::c_int; 311*4b9c6d91SCole Faust } 312*4b9c6d91SCole Faust extern "C" { minijail_mount( j: *mut minijail, src: *const ::std::os::raw::c_char, dest: *const ::std::os::raw::c_char, type_: *const ::std::os::raw::c_char, flags: ::std::os::raw::c_ulong, ) -> ::std::os::raw::c_int313*4b9c6d91SCole Faust pub fn minijail_mount( 314*4b9c6d91SCole Faust j: *mut minijail, 315*4b9c6d91SCole Faust src: *const ::std::os::raw::c_char, 316*4b9c6d91SCole Faust dest: *const ::std::os::raw::c_char, 317*4b9c6d91SCole Faust type_: *const ::std::os::raw::c_char, 318*4b9c6d91SCole Faust flags: ::std::os::raw::c_ulong, 319*4b9c6d91SCole Faust ) -> ::std::os::raw::c_int; 320*4b9c6d91SCole Faust } 321*4b9c6d91SCole Faust extern "C" { minijail_bind( j: *mut minijail, src: *const ::std::os::raw::c_char, dest: *const ::std::os::raw::c_char, writeable: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int322*4b9c6d91SCole Faust pub fn minijail_bind( 323*4b9c6d91SCole Faust j: *mut minijail, 324*4b9c6d91SCole Faust src: *const ::std::os::raw::c_char, 325*4b9c6d91SCole Faust dest: *const ::std::os::raw::c_char, 326*4b9c6d91SCole Faust writeable: ::std::os::raw::c_int, 327*4b9c6d91SCole Faust ) -> ::std::os::raw::c_int; 328*4b9c6d91SCole Faust } 329*4b9c6d91SCole Faust extern "C" { minijail_add_remount( j: *mut minijail, mount_name: *const ::std::os::raw::c_char, remount_mode: ::std::os::raw::c_ulong, ) -> ::std::os::raw::c_int330*4b9c6d91SCole Faust pub fn minijail_add_remount( 331*4b9c6d91SCole Faust j: *mut minijail, 332*4b9c6d91SCole Faust mount_name: *const ::std::os::raw::c_char, 333*4b9c6d91SCole Faust remount_mode: ::std::os::raw::c_ulong, 334*4b9c6d91SCole Faust ) -> ::std::os::raw::c_int; 335*4b9c6d91SCole Faust } 336*4b9c6d91SCole Faust extern "C" { minijail_add_hook( j: *mut minijail, hook: minijail_hook_t, payload: *mut ::std::os::raw::c_void, event: minijail_hook_event_t, ) -> ::std::os::raw::c_int337*4b9c6d91SCole Faust pub fn minijail_add_hook( 338*4b9c6d91SCole Faust j: *mut minijail, 339*4b9c6d91SCole Faust hook: minijail_hook_t, 340*4b9c6d91SCole Faust payload: *mut ::std::os::raw::c_void, 341*4b9c6d91SCole Faust event: minijail_hook_event_t, 342*4b9c6d91SCole Faust ) -> ::std::os::raw::c_int; 343*4b9c6d91SCole Faust } 344*4b9c6d91SCole Faust extern "C" { minijail_preserve_fd( j: *mut minijail, parent_fd: ::std::os::raw::c_int, child_fd: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int345*4b9c6d91SCole Faust pub fn minijail_preserve_fd( 346*4b9c6d91SCole Faust j: *mut minijail, 347*4b9c6d91SCole Faust parent_fd: ::std::os::raw::c_int, 348*4b9c6d91SCole Faust child_fd: ::std::os::raw::c_int, 349*4b9c6d91SCole Faust ) -> ::std::os::raw::c_int; 350*4b9c6d91SCole Faust } 351*4b9c6d91SCole Faust extern "C" { minijail_set_preload_path( j: *mut minijail, preload_path: *const ::std::os::raw::c_char, ) -> ::std::os::raw::c_int352*4b9c6d91SCole Faust pub fn minijail_set_preload_path( 353*4b9c6d91SCole Faust j: *mut minijail, 354*4b9c6d91SCole Faust preload_path: *const ::std::os::raw::c_char, 355*4b9c6d91SCole Faust ) -> ::std::os::raw::c_int; 356*4b9c6d91SCole Faust } 357*4b9c6d91SCole Faust extern "C" { minijail_enter(j: *const minijail)358*4b9c6d91SCole Faust pub fn minijail_enter(j: *const minijail); 359*4b9c6d91SCole Faust } 360*4b9c6d91SCole Faust extern "C" { minijail_run_env( j: *mut minijail, filename: *const ::std::os::raw::c_char, argv: *const *mut ::std::os::raw::c_char, envp: *const *mut ::std::os::raw::c_char, ) -> ::std::os::raw::c_int361*4b9c6d91SCole Faust pub fn minijail_run_env( 362*4b9c6d91SCole Faust j: *mut minijail, 363*4b9c6d91SCole Faust filename: *const ::std::os::raw::c_char, 364*4b9c6d91SCole Faust argv: *const *mut ::std::os::raw::c_char, 365*4b9c6d91SCole Faust envp: *const *mut ::std::os::raw::c_char, 366*4b9c6d91SCole Faust ) -> ::std::os::raw::c_int; 367*4b9c6d91SCole Faust } 368*4b9c6d91SCole Faust extern "C" { minijail_run( j: *mut minijail, filename: *const ::std::os::raw::c_char, argv: *const *mut ::std::os::raw::c_char, ) -> ::std::os::raw::c_int369*4b9c6d91SCole Faust pub fn minijail_run( 370*4b9c6d91SCole Faust j: *mut minijail, 371*4b9c6d91SCole Faust filename: *const ::std::os::raw::c_char, 372*4b9c6d91SCole Faust argv: *const *mut ::std::os::raw::c_char, 373*4b9c6d91SCole Faust ) -> ::std::os::raw::c_int; 374*4b9c6d91SCole Faust } 375*4b9c6d91SCole Faust extern "C" { minijail_run_no_preload( j: *mut minijail, filename: *const ::std::os::raw::c_char, argv: *const *mut ::std::os::raw::c_char, ) -> ::std::os::raw::c_int376*4b9c6d91SCole Faust pub fn minijail_run_no_preload( 377*4b9c6d91SCole Faust j: *mut minijail, 378*4b9c6d91SCole Faust filename: *const ::std::os::raw::c_char, 379*4b9c6d91SCole Faust argv: *const *mut ::std::os::raw::c_char, 380*4b9c6d91SCole Faust ) -> ::std::os::raw::c_int; 381*4b9c6d91SCole Faust } 382*4b9c6d91SCole Faust extern "C" { minijail_run_pid( j: *mut minijail, filename: *const ::std::os::raw::c_char, argv: *const *mut ::std::os::raw::c_char, pchild_pid: *mut pid_t, ) -> ::std::os::raw::c_int383*4b9c6d91SCole Faust pub fn minijail_run_pid( 384*4b9c6d91SCole Faust j: *mut minijail, 385*4b9c6d91SCole Faust filename: *const ::std::os::raw::c_char, 386*4b9c6d91SCole Faust argv: *const *mut ::std::os::raw::c_char, 387*4b9c6d91SCole Faust pchild_pid: *mut pid_t, 388*4b9c6d91SCole Faust ) -> ::std::os::raw::c_int; 389*4b9c6d91SCole Faust } 390*4b9c6d91SCole Faust extern "C" { minijail_run_pipe( j: *mut minijail, filename: *const ::std::os::raw::c_char, argv: *const *mut ::std::os::raw::c_char, pstdin_fd: *mut ::std::os::raw::c_int, ) -> ::std::os::raw::c_int391*4b9c6d91SCole Faust pub fn minijail_run_pipe( 392*4b9c6d91SCole Faust j: *mut minijail, 393*4b9c6d91SCole Faust filename: *const ::std::os::raw::c_char, 394*4b9c6d91SCole Faust argv: *const *mut ::std::os::raw::c_char, 395*4b9c6d91SCole Faust pstdin_fd: *mut ::std::os::raw::c_int, 396*4b9c6d91SCole Faust ) -> ::std::os::raw::c_int; 397*4b9c6d91SCole Faust } 398*4b9c6d91SCole Faust extern "C" { minijail_run_pid_pipes( j: *mut minijail, filename: *const ::std::os::raw::c_char, argv: *const *mut ::std::os::raw::c_char, pchild_pid: *mut pid_t, pstdin_fd: *mut ::std::os::raw::c_int, pstdout_fd: *mut ::std::os::raw::c_int, pstderr_fd: *mut ::std::os::raw::c_int, ) -> ::std::os::raw::c_int399*4b9c6d91SCole Faust pub fn minijail_run_pid_pipes( 400*4b9c6d91SCole Faust j: *mut minijail, 401*4b9c6d91SCole Faust filename: *const ::std::os::raw::c_char, 402*4b9c6d91SCole Faust argv: *const *mut ::std::os::raw::c_char, 403*4b9c6d91SCole Faust pchild_pid: *mut pid_t, 404*4b9c6d91SCole Faust pstdin_fd: *mut ::std::os::raw::c_int, 405*4b9c6d91SCole Faust pstdout_fd: *mut ::std::os::raw::c_int, 406*4b9c6d91SCole Faust pstderr_fd: *mut ::std::os::raw::c_int, 407*4b9c6d91SCole Faust ) -> ::std::os::raw::c_int; 408*4b9c6d91SCole Faust } 409*4b9c6d91SCole Faust extern "C" { minijail_run_env_pid_pipes( j: *mut minijail, filename: *const ::std::os::raw::c_char, argv: *const *mut ::std::os::raw::c_char, envp: *const *mut ::std::os::raw::c_char, pchild_pid: *mut pid_t, pstdin_fd: *mut ::std::os::raw::c_int, pstdout_fd: *mut ::std::os::raw::c_int, pstderr_fd: *mut ::std::os::raw::c_int, ) -> ::std::os::raw::c_int410*4b9c6d91SCole Faust pub fn minijail_run_env_pid_pipes( 411*4b9c6d91SCole Faust j: *mut minijail, 412*4b9c6d91SCole Faust filename: *const ::std::os::raw::c_char, 413*4b9c6d91SCole Faust argv: *const *mut ::std::os::raw::c_char, 414*4b9c6d91SCole Faust envp: *const *mut ::std::os::raw::c_char, 415*4b9c6d91SCole Faust pchild_pid: *mut pid_t, 416*4b9c6d91SCole Faust pstdin_fd: *mut ::std::os::raw::c_int, 417*4b9c6d91SCole Faust pstdout_fd: *mut ::std::os::raw::c_int, 418*4b9c6d91SCole Faust pstderr_fd: *mut ::std::os::raw::c_int, 419*4b9c6d91SCole Faust ) -> ::std::os::raw::c_int; 420*4b9c6d91SCole Faust } 421*4b9c6d91SCole Faust extern "C" { minijail_run_fd_env_pid_pipes( j: *mut minijail, elf_fd: ::std::os::raw::c_int, argv: *const *mut ::std::os::raw::c_char, envp: *const *mut ::std::os::raw::c_char, pchild_pid: *mut pid_t, pstdin_fd: *mut ::std::os::raw::c_int, pstdout_fd: *mut ::std::os::raw::c_int, pstderr_fd: *mut ::std::os::raw::c_int, ) -> ::std::os::raw::c_int422*4b9c6d91SCole Faust pub fn minijail_run_fd_env_pid_pipes( 423*4b9c6d91SCole Faust j: *mut minijail, 424*4b9c6d91SCole Faust elf_fd: ::std::os::raw::c_int, 425*4b9c6d91SCole Faust argv: *const *mut ::std::os::raw::c_char, 426*4b9c6d91SCole Faust envp: *const *mut ::std::os::raw::c_char, 427*4b9c6d91SCole Faust pchild_pid: *mut pid_t, 428*4b9c6d91SCole Faust pstdin_fd: *mut ::std::os::raw::c_int, 429*4b9c6d91SCole Faust pstdout_fd: *mut ::std::os::raw::c_int, 430*4b9c6d91SCole Faust pstderr_fd: *mut ::std::os::raw::c_int, 431*4b9c6d91SCole Faust ) -> ::std::os::raw::c_int; 432*4b9c6d91SCole Faust } 433*4b9c6d91SCole Faust extern "C" { minijail_run_pid_pipes_no_preload( j: *mut minijail, filename: *const ::std::os::raw::c_char, argv: *const *mut ::std::os::raw::c_char, pchild_pid: *mut pid_t, pstdin_fd: *mut ::std::os::raw::c_int, pstdout_fd: *mut ::std::os::raw::c_int, pstderr_fd: *mut ::std::os::raw::c_int, ) -> ::std::os::raw::c_int434*4b9c6d91SCole Faust pub fn minijail_run_pid_pipes_no_preload( 435*4b9c6d91SCole Faust j: *mut minijail, 436*4b9c6d91SCole Faust filename: *const ::std::os::raw::c_char, 437*4b9c6d91SCole Faust argv: *const *mut ::std::os::raw::c_char, 438*4b9c6d91SCole Faust pchild_pid: *mut pid_t, 439*4b9c6d91SCole Faust pstdin_fd: *mut ::std::os::raw::c_int, 440*4b9c6d91SCole Faust pstdout_fd: *mut ::std::os::raw::c_int, 441*4b9c6d91SCole Faust pstderr_fd: *mut ::std::os::raw::c_int, 442*4b9c6d91SCole Faust ) -> ::std::os::raw::c_int; 443*4b9c6d91SCole Faust } 444*4b9c6d91SCole Faust extern "C" { minijail_run_env_pid_pipes_no_preload( j: *mut minijail, filename: *const ::std::os::raw::c_char, argv: *const *mut ::std::os::raw::c_char, envp: *const *mut ::std::os::raw::c_char, pchild_pid: *mut pid_t, pstdin_fd: *mut ::std::os::raw::c_int, pstdout_fd: *mut ::std::os::raw::c_int, pstderr_fd: *mut ::std::os::raw::c_int, ) -> ::std::os::raw::c_int445*4b9c6d91SCole Faust pub fn minijail_run_env_pid_pipes_no_preload( 446*4b9c6d91SCole Faust j: *mut minijail, 447*4b9c6d91SCole Faust filename: *const ::std::os::raw::c_char, 448*4b9c6d91SCole Faust argv: *const *mut ::std::os::raw::c_char, 449*4b9c6d91SCole Faust envp: *const *mut ::std::os::raw::c_char, 450*4b9c6d91SCole Faust pchild_pid: *mut pid_t, 451*4b9c6d91SCole Faust pstdin_fd: *mut ::std::os::raw::c_int, 452*4b9c6d91SCole Faust pstdout_fd: *mut ::std::os::raw::c_int, 453*4b9c6d91SCole Faust pstderr_fd: *mut ::std::os::raw::c_int, 454*4b9c6d91SCole Faust ) -> ::std::os::raw::c_int; 455*4b9c6d91SCole Faust } 456*4b9c6d91SCole Faust extern "C" { minijail_fork(j: *mut minijail) -> pid_t457*4b9c6d91SCole Faust pub fn minijail_fork(j: *mut minijail) -> pid_t; 458*4b9c6d91SCole Faust } 459*4b9c6d91SCole Faust extern "C" { minijail_kill(j: *mut minijail) -> ::std::os::raw::c_int460*4b9c6d91SCole Faust pub fn minijail_kill(j: *mut minijail) -> ::std::os::raw::c_int; 461*4b9c6d91SCole Faust } 462*4b9c6d91SCole Faust extern "C" { minijail_wait(j: *mut minijail) -> ::std::os::raw::c_int463*4b9c6d91SCole Faust pub fn minijail_wait(j: *mut minijail) -> ::std::os::raw::c_int; 464*4b9c6d91SCole Faust } 465*4b9c6d91SCole Faust extern "C" { minijail_destroy(j: *mut minijail)466*4b9c6d91SCole Faust pub fn minijail_destroy(j: *mut minijail); 467*4b9c6d91SCole Faust } 468*4b9c6d91SCole Faust extern "C" { minijail_copy_jail(from: *const minijail, out: *mut minijail) -> ::std::os::raw::c_int469*4b9c6d91SCole Faust pub fn minijail_copy_jail(from: *const minijail, out: *mut minijail) -> ::std::os::raw::c_int; 470*4b9c6d91SCole Faust } 471*4b9c6d91SCole Faust extern "C" { minijail_log_to_fd(fd: ::std::os::raw::c_int, min_priority: ::std::os::raw::c_int)472*4b9c6d91SCole Faust pub fn minijail_log_to_fd(fd: ::std::os::raw::c_int, min_priority: ::std::os::raw::c_int); 473*4b9c6d91SCole Faust } 474