@@ -3,36 +3,36 @@ use dox::{mem, Option};
3
3
pub type c_char = i8 ;
4
4
pub type c_long = i64 ;
5
5
pub type c_ulong = u64 ;
6
- pub type clockid_t = :: c_int ;
7
6
8
- pub type blkcnt_t = i64 ;
9
- pub type clock_t = i64 ;
10
- pub type daddr_t = i64 ;
11
- pub type dev_t = u64 ;
12
- pub type fsblkcnt_t = u64 ;
13
- pub type fsfilcnt_t = u64 ;
14
- pub type ino_t = i64 ;
15
- pub type key_t = i32 ;
16
- pub type major_t = u32 ;
17
- pub type minor_t = u32 ;
18
- pub type mode_t = u32 ;
19
- pub type nlink_t = u32 ;
20
- pub type rlim_t = u64 ;
21
- pub type speed_t = u32 ;
22
- pub type tcflag_t = u32 ;
23
- pub type time_t = i64 ;
24
- pub type wchar_t = i32 ;
7
+ pub type clockid_t = :: c_int ;
8
+ pub type blkcnt_t = :: c_long ;
9
+ pub type clock_t = :: c_long ;
10
+ pub type daddr_t = :: c_long ;
11
+ pub type dev_t = :: c_ulong ;
12
+ pub type fsblkcnt_t = :: c_ulong ;
13
+ pub type fsfilcnt_t = :: c_ulong ;
14
+ pub type ino_t = :: c_ulong ;
15
+ pub type key_t = :: c_int ;
16
+ pub type major_t = :: c_uint ;
17
+ pub type minor_t = :: c_uint ;
18
+ pub type mode_t = :: c_uint ;
19
+ pub type nlink_t = :: c_uint ;
20
+ pub type rlim_t = :: c_ulong ;
21
+ pub type speed_t = :: c_uint ;
22
+ pub type tcflag_t = :: c_uint ;
23
+ pub type time_t = :: c_long ;
24
+ pub type wchar_t = :: c_int ;
25
25
pub type nfds_t = :: c_ulong ;
26
26
27
27
pub type suseconds_t = :: c_long ;
28
- pub type off_t = i64 ;
28
+ pub type off_t = :: c_long ;
29
29
pub type useconds_t = :: c_uint ;
30
- pub type socklen_t = u32 ;
30
+ pub type socklen_t = :: c_uint ;
31
31
pub type sa_family_t = u16 ;
32
32
pub type pthread_t = :: c_uint ;
33
33
pub type pthread_key_t = :: c_uint ;
34
- pub type blksize_t = u32 ;
35
- pub type fflags_t = u32 ;
34
+ pub type blksize_t = :: c_int ;
35
+ pub type fflags_t = :: c_int ;
36
36
pub type nl_item = :: c_int ;
37
37
pub type id_t = :: c_int ;
38
38
pub type idtype_t = :: c_uint ;
@@ -340,6 +340,14 @@ s! {
340
340
pub if_index: :: c_uint,
341
341
pub if_name: * mut :: c_char,
342
342
}
343
+
344
+ pub struct port_event {
345
+ pub portev_events: :: c_int,
346
+ pub portev_source: :: c_ushort,
347
+ pub portev_pad: :: c_ushort,
348
+ pub portev_object: :: uintptr_t,
349
+ pub portev_user: :: uintptr_t,
350
+ }
343
351
}
344
352
345
353
pub const LC_CTYPE : :: c_int = 0 ;
@@ -617,7 +625,7 @@ pub const E2BIG: ::c_int = 7;
617
625
pub const ENOEXEC : :: c_int = 8 ;
618
626
pub const EBADF : :: c_int = 9 ;
619
627
pub const ECHILD : :: c_int = 10 ;
620
- pub const EDEADLK : :: c_int = 45 ;
628
+ pub const EAGAIN : :: c_int = 11 ;
621
629
pub const ENOMEM : :: c_int = 12 ;
622
630
pub const EACCES : :: c_int = 13 ;
623
631
pub const EFAULT : :: c_int = 14 ;
@@ -641,11 +649,65 @@ pub const EMLINK: ::c_int = 31;
641
649
pub const EPIPE : :: c_int = 32 ;
642
650
pub const EDOM : :: c_int = 33 ;
643
651
pub const ERANGE : :: c_int = 34 ;
652
+ pub const ENOMSG : :: c_int = 35 ;
653
+ pub const EIDRM : :: c_int = 36 ;
654
+ pub const ECHRNG : :: c_int = 37 ;
655
+ pub const EL2NSYNC : :: c_int = 38 ;
656
+ pub const EL3HLT : :: c_int = 39 ;
657
+ pub const EL3RST : :: c_int = 40 ;
658
+ pub const ELNRNG : :: c_int = 41 ;
659
+ pub const EUNATCH : :: c_int = 42 ;
660
+ pub const ENOCSI : :: c_int = 43 ;
661
+ pub const EL2HLT : :: c_int = 44 ;
662
+ pub const EDEADLK : :: c_int = 45 ;
663
+ pub const ENOLCK : :: c_int = 46 ;
664
+ pub const ECANCELED : :: c_int = 47 ;
644
665
pub const ENOTSUP : :: c_int = 48 ;
645
- pub const EAGAIN : :: c_int = 11 ;
646
- pub const EWOULDBLOCK : :: c_int = 11 ;
647
- pub const EINPROGRESS : :: c_int = 150 ;
648
- pub const EALREADY : :: c_int = 149 ;
666
+ pub const EDQUOT : :: c_int = 49 ;
667
+ pub const EBADE : :: c_int = 50 ;
668
+ pub const EBADR : :: c_int = 51 ;
669
+ pub const EXFULL : :: c_int = 52 ;
670
+ pub const ENOANO : :: c_int = 53 ;
671
+ pub const EBADRQC : :: c_int = 54 ;
672
+ pub const EBADSLT : :: c_int = 55 ;
673
+ pub const EDEADLOCK : :: c_int = 56 ;
674
+ pub const EBFONT : :: c_int = 57 ;
675
+ pub const EOWNERDEAD : :: c_int = 58 ;
676
+ pub const ENOTRECOVERABLE : :: c_int = 59 ;
677
+ pub const ENOSTR : :: c_int = 60 ;
678
+ pub const ENODATA : :: c_int = 61 ;
679
+ pub const ETIME : :: c_int = 62 ;
680
+ pub const ENOSR : :: c_int = 63 ;
681
+ pub const ENONET : :: c_int = 64 ;
682
+ pub const ENOPKG : :: c_int = 65 ;
683
+ pub const EREMOTE : :: c_int = 66 ;
684
+ pub const ENOLINK : :: c_int = 67 ;
685
+ pub const EADV : :: c_int = 68 ;
686
+ pub const ESRMNT : :: c_int = 69 ;
687
+ pub const ECOMM : :: c_int = 70 ;
688
+ pub const EPROTO : :: c_int = 71 ;
689
+ pub const ELOCKUNMAPPED : :: c_int = 72 ;
690
+ pub const ENOTACTIVE : :: c_int = 73 ;
691
+ pub const EMULTIHOP : :: c_int = 74 ;
692
+ pub const EADI : :: c_int = 75 ;
693
+ pub const EBADMSG : :: c_int = 77 ;
694
+ pub const ENAMETOOLONG : :: c_int = 78 ;
695
+ pub const EOVERFLOW : :: c_int = 79 ;
696
+ pub const ENOTUNIQ : :: c_int = 80 ;
697
+ pub const EBADFD : :: c_int = 81 ;
698
+ pub const EREMCHG : :: c_int = 82 ;
699
+ pub const ELIBACC : :: c_int = 83 ;
700
+ pub const ELIBBAD : :: c_int = 84 ;
701
+ pub const ELIBSCN : :: c_int = 85 ;
702
+ pub const ELIBMAX : :: c_int = 86 ;
703
+ pub const ELIBEXEC : :: c_int = 87 ;
704
+ pub const EILSEQ : :: c_int = 88 ;
705
+ pub const ENOSYS : :: c_int = 89 ;
706
+ pub const ELOOP : :: c_int = 90 ;
707
+ pub const ERESTART : :: c_int = 91 ;
708
+ pub const ESTRPIPE : :: c_int = 92 ;
709
+ pub const ENOTEMPTY : :: c_int = 93 ;
710
+ pub const EUSERS : :: c_int = 94 ;
649
711
pub const ENOTSOCK : :: c_int = 95 ;
650
712
pub const EDESTADDRREQ : :: c_int = 96 ;
651
713
pub const EMSGSIZE : :: c_int = 97 ;
@@ -670,26 +732,11 @@ pub const ESHUTDOWN: ::c_int = 143;
670
732
pub const ETOOMANYREFS : :: c_int = 144 ;
671
733
pub const ETIMEDOUT : :: c_int = 145 ;
672
734
pub const ECONNREFUSED : :: c_int = 146 ;
673
- pub const ELOOP : :: c_int = 90 ;
674
- pub const ENAMETOOLONG : :: c_int = 78 ;
675
735
pub const EHOSTDOWN : :: c_int = 147 ;
676
736
pub const EHOSTUNREACH : :: c_int = 148 ;
677
- pub const ENOTEMPTY : :: c_int = 93 ;
678
- pub const EUSERS : :: c_int = 94 ;
679
- pub const EDQUOT : :: c_int = 49 ;
680
- pub const ESTALE : :: c_int = 151 ;
681
- pub const EREMOTE : :: c_int = 66 ;
682
- pub const ENOLCK : :: c_int = 46 ;
683
- pub const ENOSYS : :: c_int = 89 ;
684
- pub const EIDRM : :: c_int = 36 ;
685
- pub const ENOMSG : :: c_int = 35 ;
686
- pub const EOVERFLOW : :: c_int = 79 ;
687
- pub const ECANCELED : :: c_int = 47 ;
688
- pub const EILSEQ : :: c_int = 88 ;
689
- pub const EBADMSG : :: c_int = 77 ;
690
- pub const EMULTIHOP : :: c_int = 74 ;
691
- pub const ENOLINK : :: c_int = 67 ;
692
- pub const EPROTO : :: c_int = 71 ;
737
+ pub const EWOULDBLOCK : :: c_int = EAGAIN ;
738
+ pub const EALREADY : :: c_int = 149 ;
739
+ pub const EINPROGRESS : :: c_int = 150 ;
693
740
694
741
pub const EAI_SYSTEM : :: c_int = 11 ;
695
742
@@ -965,6 +1012,16 @@ pub const RTLD_NODELETE: ::c_int = 0x1000;
965
1012
pub const RTLD_FIRST : :: c_int = 0x2000 ;
966
1013
pub const RTLD_CONFGEN : :: c_int = 0x10000 ;
967
1014
1015
+ pub const PORT_SOURCE_AIO : :: c_int = 1 ;
1016
+ pub const PORT_SOURCE_TIMER : :: c_int = 2 ;
1017
+ pub const PORT_SOURCE_USER : :: c_int = 3 ;
1018
+ pub const PORT_SOURCE_FD : :: c_int = 4 ;
1019
+ pub const PORT_SOURCE_ALERT : :: c_int = 5 ;
1020
+ pub const PORT_SOURCE_MQ : :: c_int = 6 ;
1021
+ pub const PORT_SOURCE_FILE : :: c_int = 7 ;
1022
+ pub const PORT_SOURCE_POSTWAIT : :: c_int = 8 ;
1023
+ pub const PORT_SOURCE_SIGNAL : :: c_int = 9 ;
1024
+
968
1025
f ! {
969
1026
pub fn FD_CLR ( fd: :: c_int, set: * mut fd_set) -> ( ) {
970
1027
let bits = mem:: size_of_val( & ( * set) . fds_bits[ 0 ] ) * 8 ;
@@ -1123,4 +1180,15 @@ extern {
1123
1180
flags : :: c_int ) -> :: ssize_t ;
1124
1181
pub fn recvmsg ( fd : :: c_int , msg : * mut :: msghdr , flags : :: c_int )
1125
1182
-> :: ssize_t ;
1183
+
1184
+ pub fn port_create ( ) -> :: c_int ;
1185
+ pub fn port_associate ( port : :: c_int , source : :: c_int , object : :: uintptr_t ,
1186
+ events : :: c_int , user : :: uintptr_t ) -> :: c_int ;
1187
+ pub fn port_dissociate ( port : :: c_int , source : :: c_int , object : :: uintptr_t )
1188
+ -> :: c_int ;
1189
+ pub fn port_get ( port : :: c_int , pe : * mut port_event ,
1190
+ timeout : * const :: timespec ) -> :: c_int ;
1191
+ pub fn port_getn ( port : :: c_int , pe_list : * mut port_event , max : :: c_uint ,
1192
+ nget : * mut :: c_uint , timeout : * const :: timespec )
1193
+ -> :: c_int ;
1126
1194
}
0 commit comments