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