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(
47         addr: *const ::c_void,
48         len: ::size_t,
49         vec: *mut ::c_char,
50     ) -> ::c_int;
51 
door_call(d: ::c_int, params: *const door_arg_t) -> ::c_int52     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, )53     pub fn door_return(
54         data_ptr: *const ::c_char,
55         data_size: ::size_t,
56         desc_ptr: *const door_desc_t,
57         num_desc: ::c_uint,
58     );
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_int59     pub fn door_create(
60         server_procedure: extern "C" fn(
61             cookie: *const ::c_void,
62             argp: *const ::c_char,
63             arg_size: ::size_t,
64             dp: *const door_desc_t,
65             n_desc: ::c_uint,
66         ),
67         cookie: *const ::c_void,
68         attributes: door_attr_t,
69     ) -> ::c_int;
70 
fattach(fildes: ::c_int, path: *const ::c_char) -> ::c_int71     pub fn fattach(fildes: ::c_int, path: *const ::c_char) -> ::c_int;
72 
pthread_getattr_np( thread: ::pthread_t, attr: *mut ::pthread_attr_t, ) -> ::c_int73     pub fn pthread_getattr_np(
74         thread: ::pthread_t,
75         attr: *mut ::pthread_attr_t,
76     ) -> ::c_int;
77 }
78 
79 s_no_extra_traits! {
80     #[cfg_attr(feature = "extra_traits", allow(missing_debug_implementations))]
81     pub union door_desc_t__d_data {
82         pub d_desc: door_desc_t__d_data__d_desc,
83         d_resv: [::c_int; 5], /* Check out /usr/include/sys/door.h */
84     }
85 
86     #[cfg_attr(feature = "extra_traits", allow(missing_debug_implementations))]
87     pub struct door_desc_t {
88         pub d_attributes: door_attr_t,
89         pub d_data: door_desc_t__d_data,
90     }
91 
92     #[cfg_attr(feature = "extra_traits", allow(missing_debug_implementations))]
93     pub struct door_arg_t {
94         pub data_ptr: *const ::c_char,
95         pub data_size: ::size_t,
96         pub desc_ptr: *const door_desc_t,
97         pub dec_num: ::c_uint,
98         pub rbuf: *const ::c_char,
99         pub rsize: ::size_t,
100     }
101 }
102