1 pub type door_attr_t = ::c_uint;
2 pub type door_id_t = ::c_ulonglong;
3 
4 s! {
5     pub struct shmid_ds {
6         pub shm_perm: ::ipc_perm,
7         pub shm_segsz: ::size_t,
8         pub shm_flags: ::uintptr_t,
9         pub shm_lkcnt: ::c_ushort,
10         pub shm_lpid: ::pid_t,
11         pub shm_cpid: ::pid_t,
12         pub shm_nattch: ::shmatt_t,
13         pub shm_cnattch: ::c_ulong,
14         pub shm_atime: ::time_t,
15         pub shm_dtime: ::time_t,
16         pub shm_ctime: ::time_t,
17         pub shm_amp: *mut ::c_void,
18         pub shm_gransize: u64,
19         pub shm_allocated: u64,
20         pub shm_pad4: [i64; 1],
21     }
22 
23     pub struct door_desc_t__d_data__d_desc {
24         pub d_descriptor: ::c_int,
25         pub d_id: ::door_id_t
26     }
27 }
28 
29 pub const PORT_SOURCE_POSTWAIT: ::c_int = 8;
30 pub const PORT_SOURCE_SIGNAL: ::c_int = 9;
31 
32 pub const AF_LOCAL: ::c_int = 0;
33 pub const AF_FILE: ::c_int = 0;
34 
35 pub const TCP_KEEPIDLE: ::c_int = 0x1d;
36 pub const TCP_KEEPCNT: ::c_int = 0x1e;
37 pub const TCP_KEEPINTVL: ::c_int = 0x1f;
38 
39 extern "C" {
fexecve( fd: ::c_int, argv: *const *const ::c_char, envp: *const *const ::c_char, ) -> ::c_int40     pub fn fexecve(
41         fd: ::c_int,
42         argv: *const *const ::c_char,
43         envp: *const *const ::c_char,
44     ) -> ::c_int;
45 
mincore(addr: *const ::c_void, len: ::size_t, vec: *mut ::c_char) -> ::c_int46     pub fn mincore(addr: *const ::c_void, len: ::size_t, vec: *mut ::c_char) -> ::c_int;
47 
door_call(d: ::c_int, params: *const door_arg_t) -> ::c_int48     pub fn door_call(d: ::c_int, params: *const door_arg_t) -> ::c_int;
door_return( data_ptr: *const ::c_char, data_size: ::size_t, desc_ptr: *const door_desc_t, num_desc: ::c_uint, )49     pub fn door_return(
50         data_ptr: *const ::c_char,
51         data_size: ::size_t,
52         desc_ptr: *const door_desc_t,
53         num_desc: ::c_uint,
54     );
door_create( server_procedure: extern "C" fn( cookie: *const ::c_void, argp: *const ::c_char, arg_size: ::size_t, dp: *const door_desc_t, n_desc: ::c_uint, ), cookie: *const ::c_void, attributes: door_attr_t, ) -> ::c_int55     pub fn door_create(
56         server_procedure: extern "C" fn(
57             cookie: *const ::c_void,
58             argp: *const ::c_char,
59             arg_size: ::size_t,
60             dp: *const door_desc_t,
61             n_desc: ::c_uint,
62         ),
63         cookie: *const ::c_void,
64         attributes: door_attr_t,
65     ) -> ::c_int;
66 
fattach(fildes: ::c_int, path: *const ::c_char) -> ::c_int67     pub fn fattach(fildes: ::c_int, path: *const ::c_char) -> ::c_int;
68 
pthread_getattr_np(thread: ::pthread_t, attr: *mut ::pthread_attr_t) -> ::c_int69     pub fn pthread_getattr_np(thread: ::pthread_t, attr: *mut ::pthread_attr_t) -> ::c_int;
70 }
71 
72 s_no_extra_traits! {
73     #[cfg_attr(feature = "extra_traits", allow(missing_debug_implementations))]
74     pub union door_desc_t__d_data {
75         pub d_desc: door_desc_t__d_data__d_desc,
76         d_resv: [::c_int; 5], /* Check out /usr/include/sys/door.h */
77     }
78 
79     #[cfg_attr(feature = "extra_traits", allow(missing_debug_implementations))]
80     pub struct door_desc_t {
81         pub d_attributes: door_attr_t,
82         pub d_data: door_desc_t__d_data,
83     }
84 
85     #[cfg_attr(feature = "extra_traits", allow(missing_debug_implementations))]
86     pub struct door_arg_t {
87         pub data_ptr: *const ::c_char,
88         pub data_size: ::size_t,
89         pub desc_ptr: *const door_desc_t,
90         pub dec_num: ::c_uint,
91         pub rbuf: *const ::c_char,
92         pub rsize: ::size_t,
93     }
94 }
95