xref: /aosp_15_r20/external/minijail/rust/minijail-sys/libminijail.rs (revision 4b9c6d91573e8b3a96609339b46361b5476dd0f9)
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