3 ;;; This isn't really lisp, but it's definitely a source file.
5 ;;; first, the headers necessary to find definitions of everything
10 #-win32 "sys/socket.h"
12 #-win32 "netinet/in.h"
13 #-win32 "netinet/in_systm.h"
14 #-win32 "netinet/ip.h"
16 #-win32 "netinet/tcp.h"
29 ;;; then the stuff we're looking for
30 ((:integer af-inet "AF_INET" "IP Protocol family" t)
32 ;; KLUDGE: These types simply do not seem to exist on Windows,
33 ;; but we'll provide these anyways -- at least in a way that should
35 (:type uid-t #-win32 "uid_t" #+win32 "short")
36 (:type gid-t #-win32 "gid_t" #+win32 "short")
37 (:type nlink-t #-win32 "nlink_t" #+win32 "short")
42 (:type time-t "time_t")
46 (:integer SIGHUP "SIGHUP" #+sb-doc "terminal line hangup." t)
47 (:integer SIGINT "SIGINT" #+sb-doc "interrupt program." t)
48 (:integer SIGQUIT "SIGQUIT" #+sb-doc "quit program." t)
49 (:integer SIGILL "SIGILL" #+sb-doc "illegal instruction." t)
50 (:integer SIGTRAP "SIGTRAP" #+sb-doc "trace trap." t)
51 (:integer SIGABRT "SIGABRT" #+sb-doc "abort program (formerly SIGIOT)." t)
52 (:integer SIGEMT "SIGEMT" #+sb-doc "emulate instruction executed." t)
53 (:integer SIGFPE "SIGFPE" #+sb-doc "floating-point exception." t)
54 (:integer SIGKILL "SIGKILL" #+sb-doc "kill program." t)
55 (:integer SIGBUS "SIGBUS" #+sb-doc "bus error." t)
56 (:integer SIGSEGV "SIGSEGV" #+sb-doc "segmentation violation." t)
57 (:integer SIGSYS "SIGSYS" #+sb-doc "non-existent system call invoked." t)
58 (:integer SIGPIPE "SIGPIPE" #+sb-doc "write on a pipe with no reader." t)
59 (:integer SIGALRM "SIGALRM" #+sb-doc "real-time timer expired." t)
60 (:integer SIGTERM "SIGTERM" #+sb-doc "software termination signal." t)
61 (:integer SIGURG "SIGURG" #+sb-doc "urgent condition present on socket." t)
62 (:integer SIGSTOP "SIGSTOP" #+sb-doc "stop (cannot be caught or ignored)." t)
63 (:integer SIGTSTP "SIGTSTP" #+sb-doc "stop signal generated from keyboard." t)
64 (:integer SIGCONT "SIGCONT" #+sb-doc "continue after stop." t)
65 (:integer SIGCHLD "SIGCHLD" #+sb-doc "child status has changed." t)
66 (:integer SIGTTIN "SIGTTIN"
67 #+sb-doc "background read attempted from control terminal." t)
68 (:integer SIGTTOU "SIGTTOU"
69 #+sb-doc "background write attempted to control terminal." t)
70 (:integer SIGIO "SIGIO"
71 #+sb-doc "I/O is possible on a descriptor (see fcntl(2))." t)
72 (:integer SIGXCPU "SIGXCPU"
73 #+sb-doc "cpu time limit exceeded (see setrlimit(2))." t)
74 (:integer SIGXFSZ "SIGXFSZ"
75 #+sb-doc "file size limit exceeded (see setrlimit(2))." t)
76 (:integer SIGVTALRM "SIGVTALRM"
77 #+sb-doc "virtual time alarm (see setitimer(2))." t)
78 (:integer SIGPROF "SIGPROF"
79 #+sb-doc "profiling timer alarm (see setitimer(2))." t)
80 (:integer SIGWINCH "SIGWINCH" #+sb-doc "Window size change." t)
81 (:integer SIGPWR "SIGPWR" #+sb-doc "Power failure." t)
82 (:integer SIGUSR1 "SIGUSR1" #+sb-doc "User defined signal 1." t)
83 (:integer SIGUSR2 "SIGUSR2" #+sb-doc "User defined signal 2." t)
84 (:integer SIGRTMIN "SIGRTMIN" #+sb-doc "Smallest real-time signal number." t)
85 (:integer SIGRTMAX "SIGRTMAX" #+sb-doc "Largest real-time signal number." t)
88 (:errno eperm "EPERM" nil t)
89 (:errno enoent "ENOENT" nil t)
90 (:errno esrch "ESRCH" nil t)
91 (:errno eintr "EINTR" nil t)
92 (:errno eio "EIO" nil t)
93 (:errno enxio "ENXIO" nil t)
94 (:errno e2big "E2BIG" nil t)
95 (:errno enoexec "ENOEXEC" nil t)
96 (:errno ebadf "EBADF" nil t)
97 (:errno echild "ECHILD" nil t)
98 (:errno eagain "EAGAIN" nil t)
99 (:errno enomem "ENOMEM" nil t)
100 (:errno eacces "EACCES" nil t)
101 (:errno efault "EFAULT" nil t)
102 (:errno enotblk "ENOTBLK" nil t)
103 (:errno ebusy "EBUSY" nil t)
104 (:errno eexist "EEXIST" nil t)
105 (:errno exdev "EXDEV" nil t)
106 (:errno enodev "ENODEV" nil t)
107 (:errno enotdir "ENOTDIR" nil t)
108 (:errno eisdir "EISDIR" nil t)
109 (:errno einval "EINVAL" nil t)
110 (:errno enfile "ENFILE" nil t)
111 (:errno emfile "EMFILE" nil t)
112 (:errno enotty "ENOTTY" nil t)
113 (:errno etxtbsy "ETXTBSY" nil t)
114 (:errno efbig "EFBIG" nil t)
115 (:errno enospc "ENOSPC" nil t)
116 (:errno espipe "ESPIPE" nil t)
117 (:errno erofs "EROFS" nil t)
118 (:errno emlink "EMLINK" nil t)
119 (:errno epipe "EPIPE" nil t)
120 (:errno edom "EDOM" nil t)
121 (:errno erange "ERANGE" nil t)
122 (:errno edeadlk "EDEADLK" nil t)
123 (:errno enametoolong "ENAMETOOLONG" nil t)
124 (:errno enolck "ENOLCK" nil t)
125 (:errno enosys "ENOSYS" nil t)
126 (:errno enotempty "ENOTEMPTY" nil t)
127 (:errno eloop "ELOOP" nil t)
128 (:errno ewouldblock "EWOULDBLOCK" nil t)
129 (:errno enomsg "ENOMSG" nil t)
130 (:errno eidrm "EIDRM" nil t)
131 (:errno echrng "ECHRNG" nil t)
132 (:errno el2nsync "EL2NSYNC" nil t)
133 (:errno el3hlt "EL3HLT" nil t)
134 (:errno el3rst "EL3RST" nil t)
135 (:errno elnrng "ELNRNG" nil t)
136 (:errno eunatch "EUNATCH" nil t)
137 (:errno enocsi "ENOCSI" nil t)
138 (:errno el2hlt "EL2HLT" nil t)
139 (:errno ebade "EBADE" nil t)
140 (:errno ebadr "EBADR" nil t)
141 (:errno exfull "EXFULL" nil t)
142 (:errno enoano "ENOANO" nil t)
143 (:errno ebadrqc "EBADRQC" nil t)
144 (:errno ebadslt "EBADSLT" nil t)
145 (:errno edeadlock "EDEADLOCK" nil t)
146 (:errno ebfont "EBFONT" nil t)
147 (:errno enostr "ENOSTR" nil t)
148 (:errno enodata "ENODATA" nil t)
149 (:errno etime "ETIME" nil t)
150 (:errno enosr "ENOSR" nil t)
151 (:errno enonet "ENONET" nil t)
152 (:errno enopkg "ENOPKG" nil t)
153 (:errno eremote "EREMOTE" nil t)
154 (:errno enolink "ENOLINK" nil t)
155 (:errno eadv "EADV" nil t)
156 (:errno esrmnt "ESRMNT" nil t)
157 (:errno ecomm "ECOMM" nil t)
158 (:errno eproto "EPROTO" nil t)
159 (:errno emultihop "EMULTIHOP" nil t)
160 (:errno edotdot "EDOTDOT" nil t)
161 (:errno ebadmsg "EBADMSG" nil t)
162 (:errno eoverflow "EOVERFLOW" nil t)
163 (:errno enotuniq "ENOTUNIQ" nil t)
164 (:errno ebadfd "EBADFD" nil t)
165 (:errno eremchg "EREMCHG" nil t)
166 (:errno elibacc "ELIBACC" nil t)
167 (:errno elibbad "ELIBBAD" nil t)
168 (:errno elibscn "ELIBSCN" nil t)
169 (:errno elibmax "ELIBMAX" nil t)
170 (:errno elibexec "ELIBEXEC" nil t)
171 (:errno eilseq "EILSEQ" nil t)
172 (:errno erestart "ERESTART" nil t)
173 (:errno estrpipe "ESTRPIPE" nil t)
174 (:errno eusers "EUSERS" nil t)
175 (:errno enotsock "ENOTSOCK" nil t)
176 (:errno edestaddrreq "EDESTADDRREQ" nil t)
177 (:errno emsgsize "EMSGSIZE" nil t)
178 (:errno eprototype "EPROTOTYPE" nil t)
179 (:errno enoprotoopt "ENOPROTOOPT" nil t)
180 (:errno eprotonosupport "EPROTONOSUPPORT" nil t)
181 (:errno esocktnosupport "ESOCKTNOSUPPORT" nil t)
182 (:errno eopnotsupp "EOPNOTSUPP" nil t)
183 (:errno epfnosupport "EPFNOSUPPORT" nil t)
184 (:errno eafnosupport "EAFNOSUPPORT" nil t)
185 (:errno eaddrinuse "EADDRINUSE" nil t)
186 (:errno eaddrnotavail "EADDRNOTAVAIL" nil t)
187 (:errno enetdown "ENETDOWN" nil t)
188 (:errno enetunreach "ENETUNREACH" nil t)
189 (:errno enetreset "ENETRESET" nil t)
190 (:errno econnaborted "ECONNABORTED" nil t)
191 (:errno econnreset "ECONNRESET" nil t)
192 (:errno enobufs "ENOBUFS" nil t)
193 (:errno eisconn "EISCONN" nil t)
194 (:errno enotconn "ENOTCONN" nil t)
195 (:errno eshutdown "ESHUTDOWN" nil t)
196 (:errno etoomanyrefs "ETOOMANYREFS" nil t)
197 (:errno etimedout "ETIMEDOUT" nil t)
198 (:errno econnrefused "ECONNREFUSED" nil t)
199 (:errno ehostdown "EHOSTDOWN" nil t)
200 (:errno ehostunreach "EHOSTUNREACH" nil t)
201 (:errno ealready "EALREADY" nil t)
202 (:errno einprogress "EINPROGRESS" nil t)
203 (:errno estale "ESTALE" nil t)
204 (:errno euclean "EUCLEAN" nil t)
205 (:errno enotnam "ENOTNAM" nil t)
206 (:errno enavail "ENAVAIL" nil t)
207 (:errno eremoteio "EREMOTEIO" nil t)
208 (:errno edquot "EDQUOT" nil t)
209 (:errno enomedium "ENOMEDIUM" nil t)
210 (:errno emediumtype "EMEDIUMTYPE" nil t)
213 (:integer wnohang "WNOHANG")
214 (:integer wuntraced "WUNTRACED")
217 (:type mode-t "mode_t")
218 (:integer s-ifmt "S_IFMT" nil t)
219 (:integer s-ififo "S_IFIFO" nil t)
220 (:integer s-ifchr "S_IFCHR" nil t)
221 (:integer s-ifdir "S_IFDIR" nil t)
222 (:integer s-ifblk "S_IFBLK" nil t)
223 (:integer s-ifreg "S_IFREG" nil t)
224 (:integer s-iflnk "S_IFLNK" nil t)
225 (:integer s-ifsock "S_IFSOCK" nil t)
226 (:integer s-ifwht "S_IFWHT" nil t)
227 (:integer s-isuid "S_ISUID" nil t)
228 (:integer s-isgid "S_ISGID" nil t)
229 (:integer s-isvtx "S_ISVTX" nil t)
230 (:integer s-irusr "S_IRUSR" nil t)
231 (:integer s-iwusr "S_IWUSR" nil t)
232 (:integer s-ixusr "S_IXUSR" nil t)
233 (:integer s-iread "S_IRUSR" nil t)
234 (:integer s-iwrite "S_IWUSR" nil t)
235 (:integer s-iexec "S_IXUSR" nil t)
236 (:integer s-irgrp "S_IRGRP" nil t)
237 (:integer s-iwgrp "S_IWGRP" nil t)
238 (:integer s-ixgrp "S_IXGRP" nil t)
239 (:integer s-iroth "S_IROTH" nil t)
240 (:integer s-iwoth "S_IWOTH" nil t)
241 (:integer s-ixoth "S_IXOTH" nil t)
244 (:integer r-ok "R_OK" nil t)
245 (:integer w-ok "W_OK" nil t)
246 (:integer x-ok "X_OK" nil t)
247 (:integer f-ok "F_OK" nil t)
250 (:type off-t "off_t")
251 (:integer prot-none "PROT_NONE" #+sb-doc "mmap: no protection" t)
252 (:integer prot-read "PROT_READ" #+sb-doc "mmap: read protection" t)
253 (:integer prot-write "PROT_WRITE" #+sb-doc "mmap: write protection" t)
254 (:integer prot-exec "PROT_EXEC" #+sb-doc "mmap: execute protection" t)
255 (:integer map-shared "MAP_SHARED" #+sb-doc "mmap: shared memory" t)
256 (:integer map-private "MAP_PRIVATE" #+sb-doc "mmap: private mapping" t)
257 (:integer map-fixed "MAP_FIXED" #+sb-doc "mmap: map at given location" t)
260 (:integer ms-async "MS_ASYNC" #+sb-doc "msync: return immediately" t)
261 (:integer ms-sync "MS_SYNC" #+sb-doc "msync: perform synchronous writes" t)
262 (:integer ms-invalidate "MS_INVALIDATE"
263 #+sb-doc "msync: invalidate all cached data" t)
266 (:integer mcl-current "MCL_CURRENT" #+sb-doc "mlockall: lock all pages which are currently mapped into the address space of the process." t)
267 (:integer mcl-future "MCL_FUTURE" #+sb-doc "mlockall: lock all pages which will become mapped into the address space of the process in the future." t)
271 (#+(and linux largefile) "struct dirent64"
272 #-(and linux largefile) "struct dirent"
273 (:c-string name "char *" "d_name"
274 :distrust-length #+sunos t #-sunos nil)) t)
278 (:structure alien-passwd
280 (c-string-pointer name "char *" "pw_name")
281 (c-string-pointer passwd "char *" "pw_passwd")
282 (uid-t uid "uid_t" "pw_uid")
283 (gid-t gid "gid_t" "pw_gid")
284 ;; 'change', 'class', and 'expire' are not supported on Linux
286 (time-t change "time_t" "pw_change")
288 (c-string-pointer class "char *" "pw_class")
289 (c-string-pointer gecos "char *" "pw_gecos")
290 (c-string-pointer dir "char *" "pw_dir")
291 (c-string-pointer shell "char *" "pw_shell")
293 (time-t expire "time_t" "pw_expire")
294 ;; OS X manpages say this exists. they lie!
296 (:integer fields "int" "pw_fields")))
300 (:structure alien-group
302 (c-string-pointer name "char *" "gr_name")
303 (c-string-pointer passwd "char *" "gr_passwd")
304 (gid-t gid "gid_t" "gr_gid")))
306 (:structure alien-stat
308 (mode-t mode "mode_t" "st_mode")
309 (ino-t ino "ino_t" "st_ino")
310 ;; Linux/MIPS uses unsigned long instead of dev_t here.
312 (dev-t dev "dev_t" "st_dev")
314 ((unsigned 32) dev "dev_t" "st_dev")
315 (nlink-t nlink "nlink_t" "st_nlink")
316 (uid-t uid "uid_t" "st_uid")
317 (gid-t gid "gid_t" "st_gid")
318 (off-t size "off_t" "st_size")
319 (time-t atime "time_t" "st_atime")
320 (time-t mtime "time_t" "st_mtime")
321 (time-t ctime "time_t" "st_ctime")))
324 (:structure alien-timespec
326 (time-t tv-sec "time_t" "tv_sec")
327 (long tv-nsec "long" "tv_nsec")))
330 (:integer o-rdonly "O_RDONLY" nil t)
331 (:integer o-wronly "O_WRONLY" nil t)
332 (:integer o-rdwr "O_RDWR" nil t)
333 (:integer o-creat "O_CREAT" nil t)
334 (:integer o-excl "O_EXCL" nil t)
335 (:integer o-noctty "O_NOCTTY" nil t)
336 (:integer o-trunc "O_TRUNC" nil t)
337 (:integer o-append "O_APPEND" nil t)
338 (:integer o-nonblock "O_NONBLOCK" nil t)
339 (:integer o-ndelay "O_NDELAY" nil t)
340 (:integer o-sync "O_SYNC" nil t)
341 (:integer o-nofollow "O_NOFOLLOW" nil t)
342 (:integer o-directory "O_DIRECTORY" nil t)
343 (:integer o-direct "O_DIRECT" nil t)
344 (:integer o-async "O_ASYNC" nil t)
345 (:integer o-largefile "O_LARGEFILE" nil t) ; hmm...
346 (:integer o-dsync "O_DSYNC" nil t)
347 (:integer o-rsync "O_RSYNC" nil t)
350 (:integer seek-set "SEEK_SET" nil t)
351 (:integer seek-cur "SEEK_CUR" nil t)
352 (:integer seek-end "SEEK_END" nil t)
355 (:integer f-dupfd "F_DUPFD" nil t)
356 (:integer f-getfd "F_GETFD" nil t)
357 (:integer f-setfd "F_SETFD" nil t)
358 (:integer f-getfl "F_GETFL" nil t)
359 (:integer f-setfl "F_SETFL" nil t)
360 (:integer f-getlk "F_GETLK" nil t)
361 (:integer f-setlk "F_SETLK" nil t)
362 (:integer f-setlkw "F_SETLKW" nil t)
363 (:integer f-getown "F_GETOWN" nil t)
364 (:integer f-setown "F_SETOWN" nil t)
365 (:integer f-rdlck "F_RDLCK" nil t)
366 (:integer f-wrlck "F_WRLCK" nil t)
367 (:integer f-unlck "F_UNLCK" nil t)
370 (:structure alien-flock
372 (short type "short" "l_type")
373 (short whence "short" "l_whence")
374 (off-t start "off_t" "l_start")
375 (off-t len "off_t" "l_len")
376 (pid-t pid "pid_t" "l_pid")))
379 (:integer f-lock "F_LOCK" nil t)
380 (:integer f-tlock "F_TLOCK" nil t)
381 (:integer f-ulock "F_ULOCK" nil t)
382 (:integer f-test "F_TEST" nil t)
384 ;; tcgetattr(), tcsetattr()
388 (:type speed-t "speed_t" nil t)
390 (:type tcflag-t "tcflag_t" nil t)
391 (:integer nccs "NCCS" nil t)
393 (:structure alien-termios
395 (tcflag-t iflag "tcflag_t" "c_iflag")
396 (tcflag-t oflag "tcflag_t" "c_oflag")
397 (tcflag-t cflag "tcflag_t" "c_cflag")
398 (tcflag-t lflag "tcflag_t" "c_lflag")
399 ((array cc-t) cc "cc_t" "c_cc")))
403 (:type suseconds-t ; OAOOM warning: similar kludge in tools-for-build
404 #+os-provides-suseconds-t "suseconds_t"
405 #-os-provides-suseconds-t "long")
408 (:structure alien-utimbuf
410 (time-t actime "time_t" "actime")
411 (time-t modtime "time_t" "modtime")))
413 (:structure alien-timeval
415 (time-t sec "time_t" "tv_sec")
416 (suseconds-t usec "suseconds_t" "tv_usec")))
418 (:integer veof "VEOF" nil t)
419 (:integer veol "VEOL" nil t)
420 (:integer verase "VERASE" nil t)
421 (:integer vintr "VINTR" nil t)
422 (:integer vkill "VKILL" nil t)
423 (:integer vmin "VMIN" nil t)
424 (:integer vquit "VQUIT" nil t)
425 (:integer vstart "VSTART" nil t)
426 (:integer vstop "VSTOP" nil t)
427 (:integer vsusp "VSUSP" nil t)
428 (:integer vtime "VTIME" nil t)
430 (:integer brkint "BRKINT" nil t)
431 (:integer icrnl "ICRNL" nil t)
432 (:integer ignbrk "IGNBRK" nil t)
433 (:integer igncr "IGNCR" nil t)
434 (:integer ignpar "IGNPAR" nil t)
435 (:integer inlcr "INLCR" nil t)
436 (:integer inpck "INPCK" nil t)
437 (:integer istrip "ISTRIP" nil t)
438 #+xsi ; FIXME: an extension, apparently
439 (:integer ixany "IXANY" nil t)
440 (:integer ixoff "IXOFF" nil t)
441 (:integer ixon "IXON" nil t)
442 (:integer parmrk "PARMRK" nil t)
444 (:integer opost "OPOST" nil t)
446 (:integer onlcr "ONLCR" nil t)
447 (:integer ocrnl "OCRNL" nil t)
448 (:integer onlret "ONLRET" nil t)
449 (:integer ofill "OFILL" nil t)
450 (:integer nldly "NLDLY" nil t)
451 (:integer nl0 "NL0" nil t)
452 (:integer nl1 "NL1" nil t)
453 (:integer crdly "CRDLY" nil t)
454 (:integer cr0 "CR0" nil t)
455 (:integer cr1 "CR1" nil t)
456 (:integer cr2 "CR2" nil t)
457 (:integer cr3 "CR3" nil t)
458 (:integer tabdly "TABDLY" nil t)
459 (:integer tab0 "TAB0" nil t)
460 (:integer tab1 "TAB1" nil t)
461 (:integer tab2 "TAB2" nil t)
462 (:integer tab3 "TAB3" nil t)
463 (:integer bsdly "BSDLY" nil t)
464 (:integer bs0 "BS0" nil t)
465 (:integer bs1 "BS1" nil t)
466 (:integer vtdly "VTDLY" nil t)
467 (:integer vt0 "VT0" nil t)
468 (:integer vt1 "VT1" nil t)
469 (:integer ffdly "FFDLY" nil t)
470 (:integer ff0 "FF0" nil t)
471 (:integer ff1 "FF1" nil t)
473 (:integer b0 "B0" nil t)
474 (:integer b50 "B50" nil t)
475 (:integer b75 "B75" nil t)
476 (:integer b110 "B110" nil t)
477 (:integer b134 "B134" nil t)
478 (:integer b150 "B150" nil t)
479 (:integer b200 "B200" nil t)
480 (:integer b300 "B300" nil t)
481 (:integer b600 "B600" nil t)
482 (:integer b1200 "B1200" nil t)
483 (:integer b1800 "B1800" nil t)
484 (:integer b2400 "B2400" nil t)
485 (:integer b4800 "B4800" nil t)
486 (:integer b9600 "B9600" nil t)
487 (:integer b19200 "B19200" nil t)
488 (:integer b38400 "B38400" nil t)
489 (:integer b57600 "B57600" nil t)
490 (:integer b115200 "B115200" nil t)
491 (:integer b230400 "B230400" nil t)
493 (:integer csize "CSIZE" nil t)
494 (:integer cs5 "CS5" nil t)
495 (:integer cs6 "CS6" nil t)
496 (:integer cs7 "CS7" nil t)
497 (:integer cs8 "CS8" nil t)
498 (:integer cstopb "CSTOPB" nil t)
499 (:integer cread "CREAD" nil t)
500 (:integer parenb "PARENB" nil t)
501 (:integer parodd "PARODD" nil t)
502 (:integer hupcl "HUPCL" nil t)
503 (:integer clocal "CLOCAL" nil t)
505 (:integer echo "ECHO" nil t)
506 (:integer echoe "ECHOE" nil t)
507 (:integer echok "ECHOK" nil t)
508 (:integer echonl "ECHONL" nil t)
509 (:integer icanon "ICANON" nil t)
510 (:integer iexten "IEXTEN" nil t)
511 (:integer isig "ISIG" nil t)
512 (:integer noflsh "NOFLSH" nil t)
513 (:integer tostop "TOSTOP" nil t)
515 (:integer tcsanow "TCSANOW" nil t)
516 (:integer tcsadrain "TCSADRAIN" nil t)
517 (:integer tcsaflush "TCSAFLUSH" nil t)
519 (:integer tciflush "TCIFLUSH" nil t)
520 (:integer tcioflush "TCIOFLUSH" nil t)
521 (:integer tcoflush "TCOFLUSH" nil t)
522 (:integer tcioff "TCIOFF" nil t)
523 (:integer tcion "TCION" nil t)
524 (:integer tcooff "TCOOFF" nil t)
525 (:integer tcoon "TCOON" nil t)
527 ;; syslog -- does this exist at all on Windows?
529 ;; SUSv3-standard openlog() facilities
531 (:integer log-user "LOG_USER" "Default openlog() faclity." t)
533 (:integer log-local0 "LOG_LOCAL0" "Locally-defined openlog() facility" t)
535 (:integer log-local1 "LOG_LOCAL1" "Locally-defined openlog() facility" t)
537 (:integer log-local2 "LOG_LOCAL2" "Locally-defined openlog() facility" t)
539 (:integer log-local3 "LOG_LOCAL3" "Locally-defined openlog() facility" t)
541 (:integer log-local4 "LOG_LOCAL4" "Locally-defined openlog() facility" t)
543 (:integer log-local5 "LOG_LOCAL5" "Locally-defined openlog() facility" t)
545 (:integer log-local6 "LOG_LOCAL6" "Locally-defined openlog() facility" t)
547 (:integer log-local7 "LOG_LOCAL7" "Locally-defined openlog() facility" t)
549 ;; Additional, non-standard openlog() facilities (most of which
550 ;; probably won't be needed by Lisp programs, but here for
554 log-authpriv "LOG_AUTHPRIV" "openlog() facility for authorization messages" t)
557 log-cron "LOG_CRON" "openlog() facility for cron and at daemons" t)
560 log-daemon "LOG_DAEMON" "openlog() facility for arbitrary daemons" t)
563 log-ftp "LOG_FTP" "openlog() facility for FTP daemons" t)
566 log-kern "LOG_KERN" "openlog() facility for kernel messages" t)
569 log-lpr "LOG_LPR" "openlog() facility for the printer subsystem" t)
572 log-mail "LOG_MAIL" "openlog() facility for the mail subsystem" t)
575 log-news "LOG_NEWS" "openlog() facility for the usenet subsystem" t)
578 log-syslog "LOG_SYSLOG" "openlog() facility for the syslog subsystem" t)
581 log-uucp "LOG_UUCP" "openlog() facility for the UUCP subsystem" t)
587 "If supplied to openlog(), log the process ID with each message"
592 "If supplied to openlog(), log to the system console as well as logfiles"
596 log-ndelay "LOG_NDELAY"
597 "If supplied to openlog(), immediately open the syslog connection."
601 log-odelay "LOG_ODELAY"
602 "If supplied to openlog(), delay opening the syslog connection to the first syslog() call."
606 log-nowait "LOG_NOWAIT"
607 "If supplied to openlog(), do not wait for child processes created by calls to syslog()."
609 ;; Not in SUSv3, but at least Glibc and BSD libc have this
612 log-perror "LOG_PERROR"
613 "If supplied to openlog(), write log messages to the process's standard error descriptor in addition to the logging facility."
616 ;; syslog() severity levels
619 log-emerg "LOG_EMERG" "Log severity level denoting a panic." t)
622 log-alert "LOG_ALERT" "Log severity level denoting a condition that should be corrected immediately." t)
625 log-crit "LOG_CRIT" "Log severity level denoting critical conditions." t)
628 log-err "LOG_ERR" "Log severity level denoting an error." t)
631 log-warning "LOG_WARNING" "Log severity level denoting a warning." t)
634 log-notice "LOG_NOTICE" "Log severity level denoting non-errors that may require special handling." t)
637 log-info "LOG_INFO" "Log severity level denoting informational messages." t)
640 log-debug "LOG_DEBUG" "Log severity level denoting debugging information ." t)