blob: bf1e5aef17c98ccf054b8ad09cf107fe81ba506a [file] [log] [blame]
Stephen Barber27c58232019-12-09 17:20:28 -08001/* automatically generated by rust-bindgen */
2
3pub type __rlim64_t = u64;
4pub type __u8 = u8;
5pub type __u16 = u16;
6pub type __u32 = u32;
7
8pub type __uid_t = ::std::os::raw::c_uint;
9pub type __gid_t = ::std::os::raw::c_uint;
10pub type __pid_t = ::std::os::raw::c_int;
11pub type rlim_t = __rlim64_t;
12pub type gid_t = __gid_t;
13pub type uid_t = __uid_t;
14pub type pid_t = __pid_t;
15#[repr(C)]
16pub struct sock_filter {
17 pub code: __u16,
18 pub jt: __u8,
19 pub jf: __u8,
20 pub k: __u32,
21}
22#[repr(C)]
23#[derive(Debug, Copy, Clone)]
24pub struct sock_fprog {
25 pub len: ::std::os::raw::c_ushort,
26 pub filter: *mut sock_filter,
27}
28pub const MINIJAIL_ERR_NO_ACCESS: _bindgen_ty_1 = _bindgen_ty_1::MINIJAIL_ERR_NO_ACCESS;
29pub const MINIJAIL_ERR_NO_COMMAND: _bindgen_ty_1 = _bindgen_ty_1::MINIJAIL_ERR_NO_COMMAND;
30pub const MINIJAIL_ERR_SIG_BASE: _bindgen_ty_1 = _bindgen_ty_1::MINIJAIL_ERR_SIG_BASE;
31pub const MINIJAIL_ERR_PRELOAD: _bindgen_ty_1 = _bindgen_ty_1::MINIJAIL_ERR_PRELOAD;
32pub const MINIJAIL_ERR_JAIL: _bindgen_ty_1 = _bindgen_ty_1::MINIJAIL_ERR_JAIL;
33pub const MINIJAIL_ERR_INIT: _bindgen_ty_1 = _bindgen_ty_1::MINIJAIL_ERR_INIT;
34#[repr(u32)]
35#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
36pub enum _bindgen_ty_1 {
37 MINIJAIL_ERR_NO_ACCESS = 126,
38 MINIJAIL_ERR_NO_COMMAND = 127,
39 MINIJAIL_ERR_SIG_BASE = 128,
40 MINIJAIL_ERR_PRELOAD = 252,
41 MINIJAIL_ERR_JAIL = 253,
42 MINIJAIL_ERR_INIT = 254,
43}
44#[repr(C)]
45#[derive(Debug, Copy, Clone)]
46pub struct minijail {
47 _unused: [u8; 0],
48}
49pub 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, PartialEq, Eq, Hash)]
54pub 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}
60extern "C" {
61 pub fn minijail_new() -> *mut minijail;
62}
63extern "C" {
64 pub fn minijail_change_uid(j: *mut minijail, uid: uid_t);
65}
66extern "C" {
67 pub fn minijail_change_gid(j: *mut minijail, gid: gid_t);
68}
69extern "C" {
70 pub fn minijail_set_supplementary_gids(j: *mut minijail, size: usize, list: *const gid_t);
71}
72extern "C" {
73 pub fn minijail_keep_supplementary_gids(j: *mut minijail);
74}
75extern "C" {
76 pub fn minijail_change_user(
77 j: *mut minijail,
78 user: *const ::std::os::raw::c_char,
79 ) -> ::std::os::raw::c_int;
80}
81extern "C" {
82 pub fn minijail_change_group(
83 j: *mut minijail,
84 group: *const ::std::os::raw::c_char,
85 ) -> ::std::os::raw::c_int;
86}
87extern "C" {
88 pub fn minijail_use_seccomp(j: *mut minijail);
89}
90extern "C" {
91 pub fn minijail_no_new_privs(j: *mut minijail);
92}
93extern "C" {
94 pub fn minijail_use_seccomp_filter(j: *mut minijail);
95}
96extern "C" {
97 pub fn minijail_set_seccomp_filter_tsync(j: *mut minijail);
98}
99extern "C" {
100 pub fn minijail_set_seccomp_filters(j: *mut minijail, filter: *const sock_fprog);
101}
102extern "C" {
103 pub fn minijail_parse_seccomp_filters(j: *mut minijail, path: *const ::std::os::raw::c_char);
104}
105extern "C" {
106 pub fn minijail_parse_seccomp_filters_from_fd(j: *mut minijail, fd: ::std::os::raw::c_int);
107}
108extern "C" {
109 pub fn minijail_log_seccomp_filter_failures(j: *mut minijail);
110}
111extern "C" {
112 pub fn minijail_use_caps(j: *mut minijail, capmask: u64);
113}
114extern "C" {
115 pub fn minijail_capbset_drop(j: *mut minijail, capmask: u64);
116}
117extern "C" {
118 pub fn minijail_set_ambient_caps(j: *mut minijail);
119}
120extern "C" {
121 pub fn minijail_reset_signal_mask(j: *mut minijail);
122}
123extern "C" {
124 pub fn minijail_reset_signal_handlers(j: *mut minijail);
125}
126extern "C" {
127 pub fn minijail_namespace_vfs(j: *mut minijail);
128}
129extern "C" {
130 pub fn minijail_namespace_enter_vfs(j: *mut minijail, ns_path: *const ::std::os::raw::c_char);
131}
132extern "C" {
133 pub fn minijail_new_session_keyring(j: *mut minijail);
134}
135extern "C" {
136 pub fn minijail_skip_setting_securebits(j: *mut minijail, securebits_skip_mask: u64);
137}
138extern "C" {
139 pub fn minijail_skip_remount_private(j: *mut minijail);
140}
141extern "C" {
142 pub fn minijail_remount_mode(j: *mut minijail, mode: ::std::os::raw::c_ulong);
143}
144extern "C" {
145 pub fn minijail_namespace_ipc(j: *mut minijail);
146}
147extern "C" {
148 pub fn minijail_namespace_uts(j: *mut minijail);
149}
150extern "C" {
151 pub fn minijail_namespace_set_hostname(
152 j: *mut minijail,
153 name: *const ::std::os::raw::c_char,
154 ) -> ::std::os::raw::c_int;
155}
156extern "C" {
157 pub fn minijail_namespace_net(j: *mut minijail);
158}
159extern "C" {
160 pub fn minijail_namespace_enter_net(j: *mut minijail, ns_path: *const ::std::os::raw::c_char);
161}
162extern "C" {
163 pub fn minijail_namespace_cgroups(j: *mut minijail);
164}
165extern "C" {
166 pub fn minijail_close_open_fds(j: *mut minijail);
167}
168extern "C" {
169 pub fn minijail_namespace_pids(j: *mut minijail);
170}
171extern "C" {
172 pub fn minijail_namespace_pids_rw_proc(j: *mut minijail);
173}
174extern "C" {
175 pub fn minijail_namespace_user(j: *mut minijail);
176}
177extern "C" {
178 pub fn minijail_namespace_user_disable_setgroups(j: *mut minijail);
179}
180extern "C" {
181 pub fn minijail_uidmap(
182 j: *mut minijail,
183 uidmap: *const ::std::os::raw::c_char,
184 ) -> ::std::os::raw::c_int;
185}
186extern "C" {
187 pub fn minijail_gidmap(
188 j: *mut minijail,
189 gidmap: *const ::std::os::raw::c_char,
190 ) -> ::std::os::raw::c_int;
191}
192extern "C" {
193 pub fn minijail_remount_proc_readonly(j: *mut minijail);
194}
195extern "C" {
196 pub fn minijail_run_as_init(j: *mut minijail);
197}
198extern "C" {
199 pub fn minijail_write_pid_file(
200 j: *mut minijail,
201 path: *const ::std::os::raw::c_char,
202 ) -> ::std::os::raw::c_int;
203}
204extern "C" {
205 pub fn minijail_inherit_usergroups(j: *mut minijail);
206}
207extern "C" {
208 pub fn minijail_use_alt_syscall(
209 j: *mut minijail,
210 table: *const ::std::os::raw::c_char,
211 ) -> ::std::os::raw::c_int;
212}
213extern "C" {
214 pub fn minijail_rlimit(
215 j: *mut minijail,
216 type_: ::std::os::raw::c_int,
217 cur: rlim_t,
218 max: rlim_t,
219 ) -> ::std::os::raw::c_int;
220}
221extern "C" {
222 pub fn minijail_add_to_cgroup(
223 j: *mut minijail,
224 path: *const ::std::os::raw::c_char,
225 ) -> ::std::os::raw::c_int;
226}
227extern "C" {
228 pub fn minijail_forward_signals(j: *mut minijail) -> ::std::os::raw::c_int;
229}
230extern "C" {
231 pub fn minijail_create_session(j: *mut minijail) -> ::std::os::raw::c_int;
232}
233extern "C" {
234 pub fn minijail_enter_chroot(
235 j: *mut minijail,
236 dir: *const ::std::os::raw::c_char,
237 ) -> ::std::os::raw::c_int;
238}
239extern "C" {
240 pub fn minijail_enter_pivot_root(
241 j: *mut minijail,
242 dir: *const ::std::os::raw::c_char,
243 ) -> ::std::os::raw::c_int;
244}
245extern "C" {
246 pub fn minijail_get_original_path(
247 j: *mut minijail,
248 chroot_path: *const ::std::os::raw::c_char,
249 ) -> *mut ::std::os::raw::c_char;
250}
251extern "C" {
252 pub fn minijail_mount_tmp(j: *mut minijail);
253}
254extern "C" {
255 pub fn minijail_mount_tmp_size(j: *mut minijail, size: usize);
256}
257extern "C" {
258 pub fn minijail_mount_dev(j: *mut minijail);
259}
260extern "C" {
261 pub fn minijail_mount_with_data(
262 j: *mut minijail,
263 src: *const ::std::os::raw::c_char,
264 dest: *const ::std::os::raw::c_char,
265 type_: *const ::std::os::raw::c_char,
266 flags: ::std::os::raw::c_ulong,
267 data: *const ::std::os::raw::c_char,
268 ) -> ::std::os::raw::c_int;
269}
270extern "C" {
271 pub fn minijail_mount(
272 j: *mut minijail,
273 src: *const ::std::os::raw::c_char,
274 dest: *const ::std::os::raw::c_char,
275 type_: *const ::std::os::raw::c_char,
276 flags: ::std::os::raw::c_ulong,
277 ) -> ::std::os::raw::c_int;
278}
279extern "C" {
280 pub fn minijail_bind(
281 j: *mut minijail,
282 src: *const ::std::os::raw::c_char,
283 dest: *const ::std::os::raw::c_char,
284 writeable: ::std::os::raw::c_int,
285 ) -> ::std::os::raw::c_int;
286}
287extern "C" {
288 pub fn minijail_add_hook(
289 j: *mut minijail,
290 hook: minijail_hook_t,
291 payload: *mut ::std::os::raw::c_void,
292 event: minijail_hook_event_t,
293 ) -> ::std::os::raw::c_int;
294}
295extern "C" {
296 pub fn minijail_preserve_fd(
297 j: *mut minijail,
298 parent_fd: ::std::os::raw::c_int,
299 child_fd: ::std::os::raw::c_int,
300 ) -> ::std::os::raw::c_int;
301}
302extern "C" {
303 pub fn minijail_set_preload_path(
304 j: *mut minijail,
305 preload_path: *const ::std::os::raw::c_char,
306 ) -> ::std::os::raw::c_int;
307}
308extern "C" {
309 pub fn minijail_enter(j: *const minijail);
310}
311extern "C" {
312 pub fn minijail_run(
313 j: *mut minijail,
314 filename: *const ::std::os::raw::c_char,
315 argv: *const *mut ::std::os::raw::c_char,
316 ) -> ::std::os::raw::c_int;
317}
318extern "C" {
319 pub fn minijail_run_no_preload(
320 j: *mut minijail,
321 filename: *const ::std::os::raw::c_char,
322 argv: *const *mut ::std::os::raw::c_char,
323 ) -> ::std::os::raw::c_int;
324}
325extern "C" {
326 pub fn minijail_run_pid(
327 j: *mut minijail,
328 filename: *const ::std::os::raw::c_char,
329 argv: *const *mut ::std::os::raw::c_char,
330 pchild_pid: *mut pid_t,
331 ) -> ::std::os::raw::c_int;
332}
333extern "C" {
334 pub fn minijail_run_pipe(
335 j: *mut minijail,
336 filename: *const ::std::os::raw::c_char,
337 argv: *const *mut ::std::os::raw::c_char,
338 pstdin_fd: *mut ::std::os::raw::c_int,
339 ) -> ::std::os::raw::c_int;
340}
341extern "C" {
342 pub fn minijail_run_pid_pipes(
343 j: *mut minijail,
344 filename: *const ::std::os::raw::c_char,
345 argv: *const *mut ::std::os::raw::c_char,
346 pchild_pid: *mut pid_t,
347 pstdin_fd: *mut ::std::os::raw::c_int,
348 pstdout_fd: *mut ::std::os::raw::c_int,
349 pstderr_fd: *mut ::std::os::raw::c_int,
350 ) -> ::std::os::raw::c_int;
351}
352extern "C" {
353 pub fn minijail_run_pid_pipes_no_preload(
354 j: *mut minijail,
355 filename: *const ::std::os::raw::c_char,
356 argv: *const *mut ::std::os::raw::c_char,
357 pchild_pid: *mut pid_t,
358 pstdin_fd: *mut ::std::os::raw::c_int,
359 pstdout_fd: *mut ::std::os::raw::c_int,
360 pstderr_fd: *mut ::std::os::raw::c_int,
361 ) -> ::std::os::raw::c_int;
362}
363extern "C" {
364 pub fn minijail_run_env_pid_pipes_no_preload(
365 j: *mut minijail,
366 filename: *const ::std::os::raw::c_char,
367 argv: *const *mut ::std::os::raw::c_char,
368 envp: *const *mut ::std::os::raw::c_char,
369 pchild_pid: *mut pid_t,
370 pstdin_fd: *mut ::std::os::raw::c_int,
371 pstdout_fd: *mut ::std::os::raw::c_int,
372 pstderr_fd: *mut ::std::os::raw::c_int,
373 ) -> ::std::os::raw::c_int;
374}
375extern "C" {
376 pub fn minijail_fork(j: *mut minijail) -> pid_t;
377}
378extern "C" {
379 pub fn minijail_kill(j: *mut minijail) -> ::std::os::raw::c_int;
380}
381extern "C" {
382 pub fn minijail_wait(j: *mut minijail) -> ::std::os::raw::c_int;
383}
384extern "C" {
385 pub fn minijail_destroy(j: *mut minijail);
386}
387extern "C" {
388 pub fn minijail_log_to_fd(fd: ::std::os::raw::c_int, min_priority: ::std::os::raw::c_int);
389}