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