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  }