]> gitweb.factorcode.org Git - factor.git/blob - basis/unix/ffi/bsd/macosx/macosx.factor
a7c47f0ff8a110027463c475d601591e12aaf96e
[factor.git] / basis / unix / ffi / bsd / macosx / macosx.factor
1 USING: alien alien.c-types alien.libraries alien.syntax
2 classes.struct combinators kernel system unix unix.time
3 unix.types vocabs vocabs.loader ;
4 IN: unix.ffi
5
6 CONSTANT: FD_SETSIZE 1024
7
8 STRUCT: addrinfo
9     { flags int }
10     { family int } 
11     { socktype int }
12     { protocol int }
13     { addrlen socklen_t }
14     { canonname char* }
15     { addr void* }
16     { next addrinfo* } ;
17
18 CONSTANT: _UTX_USERSIZE 256
19 CONSTANT: _UTX_LINESIZE 32
20 CONSTANT: _UTX_IDSIZE 4
21 CONSTANT: _UTX_HOSTSIZE 256
22     
23 STRUCT: utmpx
24     { ut_user { char _UTX_USERSIZE } }
25     { ut_id   { char _UTX_IDSIZE   } }
26     { ut_line { char _UTX_LINESIZE } }
27     { ut_pid  pid_t }
28     { ut_type short }
29     { ut_tv   timeval }
30     { ut_host { char _UTX_HOSTSIZE } }
31     { ut_pad  { uint 16 } } ;
32
33 CONSTANT: __DARWIN_MAXPATHLEN 1024
34 CONSTANT: __DARWIN_MAXNAMELEN 255
35 CONSTANT: __DARWIN_MAXNAMELEN+1 256
36
37 STRUCT: dirent
38     { d_ino ino_t }
39     { d_reclen __uint16_t }
40     { d_type __uint8_t }
41     { d_namlen __uint8_t }
42     { d_name { char __DARWIN_MAXNAMELEN+1 } } ;
43
44 CONSTANT: EPERM 1
45 CONSTANT: ENOENT 2
46 CONSTANT: ESRCH 3
47 CONSTANT: EINTR 4
48 CONSTANT: EIO 5
49 CONSTANT: ENXIO 6
50 CONSTANT: E2BIG 7
51 CONSTANT: ENOEXEC 8
52 CONSTANT: EBADF 9
53 CONSTANT: ECHILD 10
54 CONSTANT: EDEADLK 11
55 CONSTANT: ENOMEM 12
56 CONSTANT: EACCES 13
57 CONSTANT: EFAULT 14
58 CONSTANT: ENOTBLK 15
59 CONSTANT: EBUSY 16
60 CONSTANT: EEXIST 17
61 CONSTANT: EXDEV 18
62 CONSTANT: ENODEV 19
63 CONSTANT: ENOTDIR 20
64 CONSTANT: EISDIR 21
65 CONSTANT: EINVAL 22
66 CONSTANT: ENFILE 23
67 CONSTANT: EMFILE 24
68 CONSTANT: ENOTTY 25
69 CONSTANT: ETXTBSY 26
70 CONSTANT: EFBIG 27
71 CONSTANT: ENOSPC 28
72 CONSTANT: ESPIPE 29
73 CONSTANT: EROFS 30
74 CONSTANT: EMLINK 31
75 CONSTANT: EPIPE 32
76 CONSTANT: EDOM 33
77 CONSTANT: ERANGE 34
78 CONSTANT: EAGAIN 35
79 ALIAS: EWOULDBLOCK EAGAIN
80 CONSTANT: EINPROGRESS 36
81 CONSTANT: EALREADY 37
82 CONSTANT: ENOTSOCK 38
83 CONSTANT: EDESTADDRREQ 39
84 CONSTANT: EMSGSIZE 40
85 CONSTANT: EPROTOTYPE 41
86 CONSTANT: ENOPROTOOPT 42
87 CONSTANT: EPROTONOSUPPORT 43
88 CONSTANT: ESOCKTNOSUPPORT 44
89 CONSTANT: ENOTSUP 45
90 CONSTANT: EPFNOSUPPORT 46
91 CONSTANT: EAFNOSUPPORT 47
92 CONSTANT: EADDRINUSE 48
93 CONSTANT: EADDRNOTAVAIL 49
94 CONSTANT: ENETDOWN 50
95 CONSTANT: ENETUNREACH 51
96 CONSTANT: ENETRESET 52
97 CONSTANT: ECONNABORTED 53
98 CONSTANT: ECONNRESET 54
99 CONSTANT: ENOBUFS 55
100 CONSTANT: EISCONN 56
101 CONSTANT: ENOTCONN 57
102 CONSTANT: ESHUTDOWN 58
103 CONSTANT: ETOOMANYREFS 59
104 CONSTANT: ETIMEDOUT 60
105 CONSTANT: ECONNREFUSED 61
106 CONSTANT: ELOOP 62
107 CONSTANT: ENAMETOOLONG 63
108 CONSTANT: EHOSTDOWN 64
109 CONSTANT: EHOSTUNREACH 65
110 CONSTANT: ENOTEMPTY 66
111 CONSTANT: EPROCLIM 67
112 CONSTANT: EUSERS 68
113 CONSTANT: EDQUOT 69
114 CONSTANT: ESTALE 70
115 CONSTANT: EREMOTE 71
116 CONSTANT: EBADRPC 72
117 CONSTANT: ERPCMISMATCH 73
118 CONSTANT: EPROGUNAVAIL 74
119 CONSTANT: EPROGMISMATCH 75
120 CONSTANT: EPROCUNAVAIL 76
121 CONSTANT: ENOLCK 77
122 CONSTANT: ENOSYS 78
123 CONSTANT: EFTYPE 79
124 CONSTANT: EAUTH 80
125 CONSTANT: ENEEDAUTH 81
126 CONSTANT: EPWROFF 82
127 CONSTANT: EDEVERR 83
128 CONSTANT: EOVERFLOW 84
129 CONSTANT: EBADEXEC 85
130 CONSTANT: EBADARCH 86
131 CONSTANT: ESHLIBVERS 87
132 CONSTANT: EBADMACHO 88
133 CONSTANT: ECANCELED 89
134 CONSTANT: EIDRM 90
135 CONSTANT: ENOMSG 91
136 CONSTANT: EILSEQ 92
137 CONSTANT: ENOATTR 93
138 CONSTANT: EBADMSG 94
139 CONSTANT: EMULTIHOP 95
140 CONSTANT: ENODATA 96
141 CONSTANT: ENOLINK 97
142 CONSTANT: ENOSR 98
143 CONSTANT: ENOSTR 99
144 CONSTANT: EPROTO 100
145 CONSTANT: ETIME 101
146 CONSTANT: EOPNOTSUPP 102
147 CONSTANT: ENOPOLICY 103