0.8.11.77:
[sbcl.git] / contrib / sb-posix / constants.lisp
1 ;;; -*- Lisp -*-
2
3 ;;; This isn't really lisp, but it's definitely a source file.
4
5 ;;; first, the headers necessary to find definitions of everything
6 (#||#
7  "sys/types.h"
8  "unistd.h"
9  "sys/stat.h"
10  
11  "sys/socket.h" "sys/un.h" "netinet/in.h" "netinet/in_systm.h"
12  "netinet/ip.h" "net/if.h" "netdb.h" "errno.h" "netinet/tcp.h"
13  "fcntl.h" "sys/mman.h"
14  "dirent.h" "signal.h"
15
16  "termios.h")
17
18 ;;; then the stuff we're looking for
19 ((:integer af-inet "AF_INET" "IP Protocol family" t)
20
21  (:type uid-t "uid_t")
22  (:type gid-t "gid_t")
23
24  (:type pid-t "pid_t")
25  (:type ino-t "ino_t")
26
27  (:type nlink-t "nlink_t")
28  (:type time-t "time_t")
29  (:type dev-t "dev_t")
30  
31  ;; signals
32  (:integer SIGHUP "SIGHUP" #+sb-doc "terminal line hangup." t)
33  (:integer SIGINT "SIGINT" #+sb-doc "interrupt program." t)
34  (:integer SIGQUIT "SIGQUIT" #+sb-doc "quit program." t)
35  (:integer SIGILL "SIGILL" #+sb-doc "illegal instruction." t)
36  (:integer SIGTRAP "SIGTRAP" #+sb-doc "trace trap." t)
37  (:integer SIGABRT "SIGABRT" #+sb-doc "abort program (formerly SIGIOT)." t)
38  (:integer SIGEMT "SIGEMT" #+sb-doc "emulate instruction executed." t)
39  (:integer SIGFPE "SIGFPE" #+sb-doc "floating-point exception." t)
40  (:integer SIGKILL "SIGKILL" #+sb-doc "kill program." t)
41  (:integer SIGBUS "SIGBUS" #+sb-doc "bus error." t)
42  (:integer SIGSEGV "SIGSEGV" #+sb-doc "segmentation violation." t)
43  (:integer SIGSYS "SIGSYS" #+sb-doc "non-existent system call invoked." t)
44  (:integer SIGPIPE "SIGPIPE" #+sb-doc "write on a pipe with no reader." t)
45  (:integer SIGALRM "SIGALRM" #+sb-doc "real-time timer expired." t)
46  (:integer SIGTERM "SIGTERM" #+sb-doc "software termination signal." t)
47  (:integer SIGURG "SIGURG" #+sb-doc "urgent condition present on socket." t)
48  (:integer SIGSTOP "SIGSTOP" #+sb-doc "stop (cannot be caught or ignored)." t)
49  (:integer SIGTSTP "SIGTSTP" #+sb-doc "stop signal generated from keyboard." t)
50  (:integer SIGCONT "SIGCONT" #+sb-doc "continue after stop." t)
51  (:integer SIGCHLD "SIGCHLD" #+sb-doc "child status has changed." t)
52  (:integer SIGTTIN "SIGTTIN"
53            #+sb-doc "background read attempted from control terminal." t)
54  (:integer SIGTTOU "SIGTTOU"
55            #+sb-doc "background write attempted to control terminal." t)
56  (:integer SIGIO "SIGIO"
57            #+sb-doc "I/O is possible on a descriptor (see fcntl(2))." t)
58  (:integer SIGXCPU "SIGXCPU"
59            #+sb-doc "cpu time limit exceeded (see setrlimit(2))." t)
60  (:integer SIGXFSZ "SIGXFSZ"
61            #+sb-doc "file size limit exceeded (see setrlimit(2))." t)
62  (:integer SIGVTALRM "SIGVTALRM"
63            #+sb-doc "virtual time alarm (see setitimer(2))." t)
64  (:integer SIGPROF "SIGPROF"
65            #+sb-doc "profiling timer alarm (see setitimer(2))." t)
66  (:integer SIGWINCH "SIGWINCH" #+sb-doc "Window size change." t)
67  (:integer SIGINFO "SIGINFO" #+sb-doc "status request from keyboard." t)
68  (:integer SIGUSR1 "SIGUSR1" #+sb-doc "User defined signal 1." t)
69  (:integer SIGUSR2 "SIGUSR2" #+sb-doc "User defined signal 2." t)
70  (:integer SIGRTMIN "SIGRTMIN" #+sb-doc "Smallest real-time signal number." t)
71  (:integer SIGRTMAX "SIGRTMAX" #+sb-doc "Largest real-time signal number." t)
72
73  ;; error numbers
74  (:integer eperm "EPERM" nil t)
75  (:integer enoent "ENOENT" nil t)
76  (:integer esrch "ESRCH" nil t)
77  (:integer eintr "EINTR" nil t)
78  (:integer eio "EIO" nil t)
79  (:integer enxio "ENXIO" nil t)
80  (:integer e2big "E2BIG" nil t)
81  (:integer enoexec "ENOEXEC" nil t)
82  (:integer ebadf "EBADF" nil t)
83  (:integer echild "ECHILD" nil t)
84  (:integer eagain "EAGAIN" nil t)
85  (:integer enomem "ENOMEM" nil t)
86  (:integer eacces "EACCES" nil t)
87  (:integer efault "EFAULT" nil t)
88  (:integer enotblk "ENOTBLK" nil t)
89  (:integer ebusy "EBUSY" nil t)
90  (:integer eexist "EEXIST" nil t)
91  (:integer exdev "EXDEV" nil t)
92  (:integer enodev "ENODEV" nil t)
93  (:integer enotdir "ENOTDIR" nil t)
94  (:integer eisdir "EISDIR" nil t)
95  (:integer einval "EINVAL" nil t)
96  (:integer enfile "ENFILE" nil t)
97  (:integer emfile "EMFILE" nil t)
98  (:integer enotty "ENOTTY" nil t)
99  (:integer etxtbsy "ETXTBSY" nil t)
100  (:integer efbig "EFBIG" nil t)
101  (:integer enospc "ENOSPC" nil t)
102  (:integer espipe "ESPIPE" nil t)
103  (:integer erofs "EROFS" nil t)
104  (:integer emlink "EMLINK" nil t)
105  (:integer epipe "EPIPE" nil t)
106  (:integer edom "EDOM" nil t)
107  (:integer erange "ERANGE" nil t)
108  (:integer edeadlk "EDEADLK" nil t)
109  (:integer enametoolong "ENAMETOOLONG" nil t)
110  (:integer enolck "ENOLCK" nil t)
111  (:integer enosys "ENOSYS" nil t)
112  (:integer enotempty "ENOTEMPTY" nil t)
113  (:integer eloop "ELOOP" nil t)
114  (:integer ewouldblock "EWOULDBLOCK" nil t)
115  (:integer enomsg "ENOMSG" nil t)
116  (:integer eidrm "EIDRM" nil t)
117  (:integer echrng "ECHRNG" nil t)
118  (:integer el2nsync "EL2NSYNC" nil t)
119  (:integer el3hlt "EL3HLT" nil t)
120  (:integer el3rst "EL3RST" nil t)
121  (:integer elnrng "ELNRNG" nil t)
122  (:integer eunatch "EUNATCH" nil t)
123  (:integer enocsi "ENOCSI" nil t)
124  (:integer el2hlt "EL2HLT" nil t)
125  (:integer ebade "EBADE" nil t)
126  (:integer ebadr "EBADR" nil t)
127  (:integer exfull "EXFULL" nil t)
128  (:integer enoano "ENOANO" nil t)
129  (:integer ebadrqc "EBADRQC" nil t)
130  (:integer ebadslt "EBADSLT" nil t)
131  (:integer edeadlock "EDEADLOCK" nil t)
132  (:integer ebfont "EBFONT" nil t)
133  (:integer enostr "ENOSTR" nil t)
134  (:integer enodata "ENODATA" nil t)
135  (:integer etime "ETIME" nil t)
136  (:integer enosr "ENOSR" nil t)
137  (:integer enonet "ENONET" nil t)
138  (:integer enopkg "ENOPKG" nil t)
139  (:integer eremote "EREMOTE" nil t)
140  (:integer enolink "ENOLINK" nil t)
141  (:integer eadv "EADV" nil t)
142  (:integer esrmnt "ESRMNT" nil t)
143  (:integer ecomm "ECOMM" nil t)
144  (:integer eproto "EPROTO" nil t)
145  (:integer emultihop "EMULTIHOP" nil t)
146  (:integer edotdot "EDOTDOT" nil t)
147  (:integer ebadmsg "EBADMSG" nil t)
148  (:integer eoverflow "EOVERFLOW" nil t)
149  (:integer enotuniq "ENOTUNIQ" nil t)
150  (:integer ebadfd "EBADFD" nil t)
151  (:integer eremchg "EREMCHG" nil t)
152  (:integer elibacc "ELIBACC" nil t)
153  (:integer elibbad "ELIBBAD" nil t)
154  (:integer elibscn "ELIBSCN" nil t)
155  (:integer elibmax "ELIBMAX" nil t)
156  (:integer elibexec "ELIBEXEC" nil t)
157  (:integer eilseq "EILSEQ" nil t)
158  (:integer erestart "ERESTART" nil t)
159  (:integer estrpipe "ESTRPIPE" nil t)
160  (:integer eusers "EUSERS" nil t)
161  (:integer enotsock "ENOTSOCK" nil t)
162  (:integer edestaddrreq "EDESTADDRREQ" nil t)
163  (:integer emsgsize "EMSGSIZE" nil t)
164  (:integer eprototype "EPROTOTYPE" nil t)
165  (:integer enoprotoopt "ENOPROTOOPT" nil t)
166  (:integer eprotonosupport "EPROTONOSUPPORT" nil t)
167  (:integer esocktnosupport "ESOCKTNOSUPPORT" nil t)
168  (:integer eopnotsupp "EOPNOTSUPP" nil t)
169  (:integer epfnosupport "EPFNOSUPPORT" nil t)
170  (:integer eafnosupport "EAFNOSUPPORT" nil t)
171  (:integer eaddrinuse "EADDRINUSE" nil t)
172  (:integer eaddrnotavail "EADDRNOTAVAIL" nil t)
173  (:integer enetdown "ENETDOWN" nil t)
174  (:integer enetunreach "ENETUNREACH" nil t)
175  (:integer enetreset "ENETRESET" nil t)
176  (:integer econnaborted "ECONNABORTED" nil t)
177  (:integer econnreset "ECONNRESET" nil t)
178  (:integer enobufs "ENOBUFS" nil t)
179  (:integer eisconn "EISCONN" nil t)
180  (:integer enotconn "ENOTCONN" nil t)
181  (:integer eshutdown "ESHUTDOWN" nil t)
182  (:integer etoomanyrefs "ETOOMANYREFS" nil t)
183  (:integer etimedout "ETIMEDOUT" nil t)
184  (:integer econnrefused "ECONNREFUSED" nil t)
185  (:integer ehostdown "EHOSTDOWN" nil t)
186  (:integer ehostunreach "EHOSTUNREACH" nil t)
187  (:integer ealready "EALREADY" nil t)
188  (:integer einprogress "EINPROGRESS" nil t)
189  (:integer estale "ESTALE" nil t)
190  (:integer euclean "EUCLEAN" nil t)
191  (:integer enotnam "ENOTNAM" nil t)
192  (:integer enavail "ENAVAIL" nil t)
193  (:integer eremoteio "EREMOTEIO" nil t)
194  (:integer edquot "EDQUOT" nil t)
195  (:integer enomedium "ENOMEDIUM" nil t)
196  (:integer emediumtype "EMEDIUMTYPE" nil t)
197  
198  ;; mode_t
199  (:type mode-t "mode_t")
200  (:integer s-isuid "S_ISUID" nil t)
201  (:integer s-isgid "S_ISGID" nil t)
202  (:integer s-isvtx "S_ISVTX" nil t)
203  (:integer s-irusr "S_IRUSR" nil t)
204  (:integer s-iwusr "S_IWUSR" nil t)
205  (:integer s-ixusr "S_IXUSR" nil t)
206  (:integer s-iread "S_IRUSR" nil t)
207  (:integer s-iwrite "S_IWUSR" nil t)
208  (:integer s-iexec "S_IXUSR" nil t)
209  (:integer s-irgrp "S_IRGRP" nil t)
210  (:integer s-iwgrp "S_IWGRP" nil t)
211  (:integer s-ixgrp "S_IXGRP" nil t)
212  (:integer s-iroth "S_IROTH" nil t)
213  (:integer s-iwoth "S_IWOTH" nil t)
214  (:integer s-ixoth "S_IXOTH" nil t)
215
216  ;; access()
217  (:integer r-ok "R_OK" nil t)
218  (:integer w-ok "W_OK" nil t)
219  (:integer x-ok "X_OK" nil t)
220  (:integer f-ok "F_OK" nil t)
221
222  ;; mmap()
223  (:type off-t "off_t")
224  (:integer prot-none "PROT_NONE" #+sb-doc "mmap: no protection" t)
225  (:integer prot-read "PROT_READ" #+sb-doc "mmap: read protection" t)
226  (:integer prot-write "PROT_WRITE" #+sb-doc "mmap: write protection" t)
227  (:integer prot-exec "PROT_EXEC" #+sb-doc "mmap: execute protection" t)
228  (:integer map-shared "MAP_SHARED" #+sb-doc "mmap: shared memory" t)
229  (:integer map-private "MAP_PRIVATE" #+sb-doc "mmap: private mapping" t)
230  (:integer map-fixed "MAP_FIXED" #+sb-doc "mmap: map at given location" t)
231
232  ;; msync()
233  (:integer ms-async "MS_ASYNC" #+sb-doc "msync: return immediately" t)
234  (:integer ms-sync "MS_SYNC" #+sb-doc "msync: perform synchronous writes" t)
235  (:integer ms-invalidate "MS_INVALIDATE"
236            #+sb-doc "msync: invalidate all cached data" t)
237
238  ;; opendir()
239  (:structure dirent
240              ("struct dirent"
241               (:c-string name "char *" "d_name"
242                          :distrust-length #+sunos t #-sunos nil)) t)
243
244  (:structure alien-stat
245              ("struct stat"
246               (mode-t mode "mode_t" "st_mode")
247               (ino-t ino "ino_t" "st_ino")
248               (dev-t dev "dev_t" "st_dev")
249               (nlink-t nlink "nlink_t" "st_nlink")
250               (uid-t uid "uid_t" "st_uid")
251               (gid-t gid "gid_t" "st_gid")
252               (off-t size "off_t" "st_size")
253               (time-t atime "time_t" "st_atime")
254               (time-t mtime "time_t" "st_mtime")
255               (time-t ctime "time_t" "st_ctime")))
256
257  ;; open()
258  (:integer o-rdonly "O_RDONLY" nil t)
259  (:integer o-wronly "O_WRONLY" nil t)
260  (:integer o-rdwr "O_RDWR" nil t)
261  (:integer o-creat "O_CREAT" nil t)
262  (:integer o-excl "O_EXCL" nil t)
263  (:integer o-noctty "O_NOCTTY" nil t)
264  (:integer o-trunc "O_TRUNC" nil t)
265  (:integer o-append "O_APPEND" nil t)
266  (:integer o-nonblock "O_NONBLOCK" nil t)
267  (:integer o-ndelay "O_NDELAY" nil t)
268  (:integer o-sync "O_SYNC" nil t)
269  (:integer o-nofollow "O_NOFOLLOW" nil t)
270  (:integer o-directory "O_DIRECTORY" nil t)
271  (:integer o-direct "O_DIRECT" nil t)
272  (:integer o-async "O_ASYNC" nil t)
273  (:integer o-largefile "O_LARGEFILE" nil t)     ; hmm...
274  (:integer o-dsync "O_DSYNC" nil t)
275  (:integer o-rsync "O_RSYNC" nil t)
276
277  ;; lseek()
278  (:integer seek-set "SEEK_SET" nil t)
279  (:integer seek-cur "SEEK_CUR" nil t)
280  (:integer seek-end "SEEK_END" nil t)
281
282  ;; fcntl()
283  (:integer f-dupfd "F_DUPFD" nil t)
284  (:integer f-getfd "F_GETFD" nil t)
285  (:integer f-setfd "F_SETFD" nil t)
286  (:integer f-getfl "F_GETFL" nil t)
287  (:integer f-setfl "F_SETFL" nil t)
288  (:integer f-getlk "F_GETLK" nil t)
289  (:integer f-setlk "F_SETLK" nil t)
290  (:integer f-setlkw "F_SETLKW" nil t)
291  (:integer f-getown "F_GETOWN" nil t)
292  (:integer f-setown "F_SETOWN" nil t)
293
294  ;; tcgetattr(), tcsetattr()
295  (:type cc-t "cc_t")
296  (:type speed-t "speed_t" nil t)
297  (:type tcflag-t "tcflag_t" nil t)
298  (:integer nccs "NCCS" nil t)
299  
300  (:structure alien-termios
301              ("struct termios"
302               (tcflag-t iflag "tcflag_t" "c_iflag")
303               (tcflag-t oflag "tcflag_t" "c_oflag")
304               (tcflag-t cflag "tcflag_t" "c_cflag")
305               (tcflag-t lflag "tcflag_t" "c_lflag")
306               ((array cc-t) cc "cc_t" "c_cc")))
307  
308  (:integer veof "VEOF" nil t)
309  (:integer veol "VEOL" nil t)
310  (:integer verase "VERASE" nil t)
311  (:integer vintr "VINTR" nil t)
312  (:integer vkill "VKILL" nil t)
313  (:integer vmin "VMIN" nil t)
314  (:integer vquit "VQUIT" nil t)
315  (:integer vstart "VSTART" nil t)
316  (:integer vstop "VSTOP" nil t)
317  (:integer vsusp "VSUSP" nil t)
318  (:integer vtime "VTIME" nil t)
319
320  (:integer brkint "BRKINT" nil t)
321  (:integer icrnl "ICRNL" nil t)
322  (:integer ignbrk "IGNBRK" nil t)
323  (:integer igncr "IGNCR" nil t)
324  (:integer ignpar "IGNPAR" nil t)
325  (:integer inlcr "INLCR" nil t)
326  (:integer inpck "INPCK" nil t)
327  (:integer istrip "ISTRIP" nil t)
328  #+xsi                               ; FIXME: an extension, apparently
329  (:integer ixany "IXANY" nil t)
330  (:integer ixoff "IXOFF" nil t)
331  (:integer ixon "IXON" nil t)
332  (:integer parmrk "PARMRK" nil t)
333
334  (:integer opost "OPOST" nil t)
335  #+xsi
336  (:integer onlcr "ONLCR" nil t)
337  (:integer ocrnl "OCRNL" nil t)
338  (:integer onlret "ONLRET" nil t)
339  (:integer ofill "OFILL" nil t)
340  (:integer nldly "NLDLY" nil t)
341  (:integer nl0 "NL0" nil t)
342  (:integer nl1 "NL1" nil t)
343  (:integer crdly "CRDLY" nil t)
344  (:integer cr0 "CR0" nil t)
345  (:integer cr1 "CR1" nil t)
346  (:integer cr2 "CR2" nil t)
347  (:integer cr3 "CR3" nil t)
348  (:integer tabdly "TABDLY" nil t)
349  (:integer tab0 "TAB0" nil t)
350  (:integer tab1 "TAB1" nil t)
351  (:integer tab2 "TAB2" nil t)
352  (:integer tab3 "TAB3" nil t)
353  (:integer bsdly "BSDLY" nil t)
354  (:integer bs0 "BS0" nil t)
355  (:integer bs1 "BS1" nil t)
356  (:integer vtdly "VTDLY" nil t)
357  (:integer vt0 "VT0" nil t)
358  (:integer vt1 "VT1" nil t)
359  (:integer ffdly "FFDLY" nil t)
360  (:integer ff0 "FF0" nil t)
361  (:integer ff1 "FF1" nil t)
362
363  (:integer b0 "B0" nil t)
364  (:integer b50 "B50" nil t)
365  (:integer b75 "B75" nil t)
366  (:integer b110 "B110" nil t)
367  (:integer b134 "B134" nil t)
368  (:integer b150 "B150" nil t)
369  (:integer b200 "B200" nil t)
370  (:integer b300 "B300" nil t)
371  (:integer b600 "B600" nil t)
372  (:integer b1200 "B1200" nil t)
373  (:integer b1800 "B1800" nil t)
374  (:integer b2400 "B2400" nil t)
375  (:integer b4800 "B4800" nil t)
376  (:integer b9600 "B9600" nil t)
377  (:integer b19200 "B19200" nil t)
378  (:integer b38400 "B38400" nil t)
379
380  (:integer csize "CSIZE" nil t)
381  (:integer cs5 "CS5" nil t)
382  (:integer cs6 "CS6" nil t)
383  (:integer cs7 "CS7" nil t)
384  (:integer cs8 "CS8" nil t)
385  (:integer cstopb "CSTOPB" nil t)
386  (:integer cread "CREAD" nil t)
387  (:integer parenb "PARENB" nil t)
388  (:integer parodd "PARODD" nil t)
389  (:integer hupcl "HUPCL" nil t)
390  (:integer clocal "CLOCAL" nil t)
391
392  (:integer echo "ECHO" nil t)
393  (:integer echoe "ECHOE" nil t)
394  (:integer echok "ECHOK" nil t)
395  (:integer echonl "ECHONL" nil t)
396  (:integer icanon "ICANON" nil t)
397  (:integer iexten "IEXTEN" nil t)
398  (:integer isig "ISIG" nil t)
399  (:integer noflsh "NOFLSH" nil t)
400  (:integer tostop "TOSTOP" nil t)
401
402  (:integer tcsanow "TCSANOW" nil t)
403  (:integer tcsadrain "TCSADRAIN" nil t)
404  (:integer tcsaflush "TCSAFLUSH" nil t)
405
406  (:integer tciflush "TCIFLUSH" nil t)
407  (:integer tcioflush "TCIOFLUSH" nil t)
408  (:integer tcoflush "TCOFLUSH" nil t)
409  (:integer tcioff "TCIOFF" nil t)
410  (:integer tcion "TCION" nil t)
411  (:integer tcooff "TCOOFF" nil t)
412  (:integer tcoon "TCOON" nil t)
413  
414  )