1 ! Copyright (C) 2010 Doug Coleman.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: alien.c-types alien.syntax classes.struct unix.time
7 CONSTANT: MAXPATHLEN 1024
9 CONSTANT: O_RDONLY 0x0000
10 CONSTANT: O_WRONLY 0x0001
11 CONSTANT: O_RDWR 0x0002
12 CONSTANT: O_CREAT 0x0040
13 CONSTANT: O_EXCL 0x0080
14 CONSTANT: O_NOCTTY 0x0100
15 CONSTANT: O_TRUNC 0x0200
16 CONSTANT: O_APPEND 0x0400
17 CONSTANT: O_NONBLOCK 0x0800
19 ALIAS: O_NDELAY O_NONBLOCK
21 CONSTANT: SOL_SOCKET 1
23 CONSTANT: FD_SETSIZE 1024
25 CONSTANT: SO_REUSEADDR 2
26 CONSTANT: SO_DONTROUTE 5
27 CONSTANT: SO_BROADCAST 6
30 CONSTANT: SO_KEEPALINE 9
31 CONSTANT: SO_OOBINLINE 10
32 CONSTANT: SO_SNDTIMEO 0x15
33 CONSTANT: SO_RCVTIMEO 0x14
36 CONSTANT: FD_CLOEXEC 1
47 { canonname c-string }
63 CONSTANT: max-un-path 108
67 { path { char max-un-path } } ;
69 CONSTANT: SOCK_STREAM 1
70 CONSTANT: SOCK_DGRAM 2
78 ALIAS: PF_UNSPEC AF_UNSPEC
79 ALIAS: PF_UNIX AF_UNIX
80 ALIAS: PF_INET AF_INET
81 ALIAS: PF_INET6 AF_INET6
83 CONSTANT: IPPROTO_TCP 6
84 CONSTANT: IPPROTO_UDP 17
86 ! Flags only valid in gnu libcs' getaddrinfo
87 CONSTANT: AI_IDN 0x0040
88 CONSTANT: AI_CANONIDN 0x0080
89 CONSTANT: AI_IDN_ALLOW_UNASSIGNED 0x0100
90 CONSTANT: AI_IDN_USE_STD3_ASCII_RULES 0x0200
91 CONSTANT: AI_NUMERICSERV 0x0400
100 { pw_passwd c-string }
103 { pw_gecos c-string }
105 { pw_shell c-string } ;
113 { d_name char[256] } ;
115 FUNCTION: int open64 ( c-string path, int flags, int prot )
116 FUNCTION: dirent* readdir64 ( DIR* dirp )
117 FUNCTION: int readdir64_r ( void* dirp, dirent* entry, dirent** result )
119 FUNCTION: ssize_t sendfile ( int out_fd, int in_fd, off_t* offset, size_t count )
122 CONSTANT: __UT_LINESIZE 32
123 CONSTANT: __UT_NAMESIZE 32
124 CONSTANT: __UT_HOSTSIZE 256
127 { e_termination short }
133 { ut_line char[__UT_LINESIZE] }
135 { ut_user char[__UT_NAMESIZE] }
136 { ut_host char[__UT_HOSTSIZE] }
137 { ut_exit exit_status }
140 { ut_addr_v6 int[4] }
141 { __unused char[20] } ;