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