@@ -35,6 +35,9 @@ pub type mqd_t = *mut ::c_void;
35
35
pub type id_t = :: c_int ;
36
36
pub type idtype_t = :: c_uint ;
37
37
38
+ pub type door_attr_t = :: c_uint ;
39
+ pub type door_id_t = :: c_ulonglong ;
40
+
38
41
#[ cfg_attr( feature = "extra_traits" , derive( Debug ) ) ]
39
42
pub enum timezone { }
40
43
impl :: Copy for timezone { }
@@ -338,6 +341,11 @@ s! {
338
341
pub portev_object: :: uintptr_t,
339
342
pub portev_user: * mut :: c_void,
340
343
}
344
+
345
+ pub struct door_desc_t__d_data__d_desc {
346
+ pub d_descriptor: :: c_int,
347
+ pub d_id: :: door_id_t
348
+ }
341
349
}
342
350
343
351
s_no_extra_traits ! {
@@ -401,6 +409,25 @@ s_no_extra_traits! {
401
409
pub sigev_notify_attributes: * const :: pthread_attr_t,
402
410
__sigev_pad2: :: c_int,
403
411
}
412
+
413
+ pub union door_desc_t__d_data {
414
+ pub d_desc: door_desc_t__d_data__d_desc,
415
+ d_resv: [ :: c_int; 5 ] , /* Check out /usr/include/sys/door.h */
416
+ }
417
+
418
+ pub struct door_desc_t {
419
+ pub d_attributes: door_attr_t,
420
+ pub d_data: door_desc_t__d_data,
421
+ }
422
+
423
+ pub struct door_arg_t {
424
+ pub data_ptr: * const :: c_char,
425
+ pub data_size: :: size_t,
426
+ pub desc_ptr: * const door_desc_t,
427
+ pub dec_num: :: c_uint,
428
+ pub rbuf: * const :: c_char,
429
+ pub rsize: :: size_t,
430
+ }
404
431
}
405
432
406
433
cfg_if ! {
@@ -2108,6 +2135,19 @@ extern {
2108
2135
pub fn dup3 ( src : :: c_int , dst : :: c_int , flags : :: c_int ) -> :: c_int ;
2109
2136
pub fn uname ( buf : * mut :: utsname ) -> :: c_int ;
2110
2137
pub fn pipe2 ( fds : * mut :: c_int , flags : :: c_int ) -> :: c_int ;
2138
+ pub fn door_call ( d : :: c_int , params : * const door_arg_t ) -> :: c_int ;
2139
+ pub fn door_return ( data_ptr : * const :: c_char ,
2140
+ data_size : :: size_t ,
2141
+ desc_ptr : * const door_desc_t ,
2142
+ num_desc : :: c_uint ) ;
2143
+ pub fn door_create ( server_procedure : extern fn ( cookie : * const :: c_void ,
2144
+ argp : * const :: c_char ,
2145
+ arg_size : :: size_t ,
2146
+ dp : * const door_desc_t ,
2147
+ n_desc : :: c_uint ) ,
2148
+ cookie : * const :: c_void ,
2149
+ attributes : door_attr_t ) -> :: c_int ;
2150
+ pub fn fattach ( fildes : :: c_int , path : * const :: c_char ) -> :: c_int ;
2111
2151
}
2112
2152
2113
2153
mod compat;
0 commit comments