1 ! Copyright (C) 2005, 2008 Slava Pestov.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: alien.syntax alien system classes.struct ;
8 CONSTANT: MAXPATHLEN 1024
10 CONSTANT: O_RDONLY HEX: 0000
11 CONSTANT: O_WRONLY HEX: 0001
12 CONSTANT: O_RDWR HEX: 0002
13 CONSTANT: O_CREAT HEX: 0040
14 CONSTANT: O_EXCL HEX: 0080
15 CONSTANT: O_NOCTTY HEX: 0100
16 CONSTANT: O_TRUNC HEX: 0200
17 CONSTANT: O_APPEND HEX: 0400
18 CONSTANT: O_NONBLOCK HEX: 0800
20 ALIAS: O_NDELAY O_NONBLOCK
22 CONSTANT: SOL_SOCKET 1
24 CONSTANT: FD_SETSIZE 1024
26 CONSTANT: SO_REUSEADDR 2
27 CONSTANT: SO_OOBINLINE 10
28 CONSTANT: SO_SNDTIMEO HEX: 15
29 CONSTANT: SO_RCVTIMEO HEX: 14
32 CONSTANT: FD_CLOEXEC 1
59 CONSTANT: max-un-path 108
63 { path { "char" max-un-path } } ;
65 CONSTANT: SOCK_STREAM 1
66 CONSTANT: SOCK_DGRAM 2
73 ALIAS: PF_UNSPEC AF_UNSPEC
74 ALIAS: PF_UNIX AF_UNIX
75 ALIAS: PF_INET AF_INET
76 ALIAS: PF_INET6 AF_INET6
78 CONSTANT: IPPROTO_TCP 6
79 CONSTANT: IPPROTO_UDP 17
81 CONSTANT: AI_PASSIVE 1
102 { d_name char[256] } ;
104 FUNCTION: int open64 ( char* path, int flags, int prot ) ;
105 FUNCTION: dirent64* readdir64 ( DIR* dirp ) ;
106 FUNCTION: int readdir64_r ( void* dirp, dirent* entry, dirent** result ) ;
108 M: linux open-file [ open64 ] unix-system-call ;
145 CONSTANT: ENAMETOOLONG 36
148 CONSTANT: ENOTEMPTY 39
150 ALIAS: EWOULDBLOCK EAGAIN
154 CONSTANT: EL2NSYNC 45
167 ALIAS: EDEADLOCK EDEADLK
181 CONSTANT: EMULTIHOP 72
184 CONSTANT: EOVERFLOW 75
185 CONSTANT: ENOTUNIQ 76
192 CONSTANT: ELIBEXEC 83
194 CONSTANT: ERESTART 85
195 CONSTANT: ESTRPIPE 86
197 CONSTANT: ENOTSOCK 88
198 CONSTANT: EDESTADDRREQ 89
199 CONSTANT: EMSGSIZE 90
200 CONSTANT: EPROTOTYPE 91
201 CONSTANT: ENOPROTOOPT 92
202 CONSTANT: EPROTONOSUPPORT 93
203 CONSTANT: ESOCKTNOSUPPORT 94
204 CONSTANT: EOPNOTSUPP 95
205 CONSTANT: EPFNOSUPPORT 96
206 CONSTANT: EAFNOSUPPORT 97
207 CONSTANT: EADDRINUSE 98
208 CONSTANT: EADDRNOTAVAIL 99
209 CONSTANT: ENETDOWN 100
210 CONSTANT: ENETUNREACH 101
211 CONSTANT: ENETRESET 102
212 CONSTANT: ECONNABORTED 103
213 CONSTANT: ECONNRESET 104
214 CONSTANT: ENOBUFS 105
215 CONSTANT: EISCONN 106
216 CONSTANT: ENOTCONN 107
217 CONSTANT: ESHUTDOWN 108
218 CONSTANT: ETOOMANYREFS 109
219 CONSTANT: ETIMEDOUT 110
220 CONSTANT: ECONNREFUSED 111
221 CONSTANT: EHOSTDOWN 112
222 CONSTANT: EHOSTUNREACH 113
223 CONSTANT: EALREADY 114
224 CONSTANT: EINPROGRESS 115
226 CONSTANT: EUCLEAN 117
227 CONSTANT: ENOTNAM 118
228 CONSTANT: ENAVAIL 119
230 CONSTANT: EREMOTEIO 121
232 CONSTANT: ENOMEDIUM 123
233 CONSTANT: EMEDIUMTYPE 124
234 CONSTANT: ECANCELED 125
236 CONSTANT: EKEYEXPIRED 127
237 CONSTANT: EKEYREVOKED 128
238 CONSTANT: EKEYREJECTED 129
239 CONSTANT: EOWNERDEAD 130
240 CONSTANT: ENOTRECOVERABLE 131