X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=contrib%2Fsb-posix%2Fconstants.lisp;h=0b66705951532e210f8a46c919d5c1f787aea1eb;hb=062283b901155792f65775491aea51481c56faaa;hp=a040ebae1b86e6db2192bb0c1090578e90dcb2b7;hpb=b665ae77fc8e369b8713abf3ca9e3d8455e4c5a7;p=sbcl.git diff --git a/contrib/sb-posix/constants.lisp b/contrib/sb-posix/constants.lisp index a040eba..0b66705 100644 --- a/contrib/sb-posix/constants.lisp +++ b/contrib/sb-posix/constants.lisp @@ -6,6 +6,7 @@ (#||# "sys/types.h" "sys/stat.h" + #-win32 "utime.h" #-win32 "sys/socket.h" #-win32 "sys/un.h" #-win32 "netinet/in.h" @@ -20,8 +21,10 @@ "errno.h" "dirent.h" "signal.h" #-win32 "pwd.h" + #-win32 "grp.h" "unistd.h" - #-win32 "termios.h") + #-win32 "termios.h" + #-win32 "syslog.h") ;;; then the stuff we're looking for ((:integer af-inet "AF_INET" "IP Protocol family" t) @@ -40,178 +43,187 @@ (:type dev-t "dev_t") ;; signals - (:integer SIGHUP "SIGHUP" #+sb-doc "terminal line hangup." t) - (:integer SIGINT "SIGINT" #+sb-doc "interrupt program." t) - (:integer SIGQUIT "SIGQUIT" #+sb-doc "quit program." t) - (:integer SIGILL "SIGILL" #+sb-doc "illegal instruction." t) - (:integer SIGTRAP "SIGTRAP" #+sb-doc "trace trap." t) - (:integer SIGABRT "SIGABRT" #+sb-doc "abort program (formerly SIGIOT)." t) - (:integer SIGEMT "SIGEMT" #+sb-doc "emulate instruction executed." t) - (:integer SIGFPE "SIGFPE" #+sb-doc "floating-point exception." t) - (:integer SIGKILL "SIGKILL" #+sb-doc "kill program." t) - (:integer SIGBUS "SIGBUS" #+sb-doc "bus error." t) - (:integer SIGSEGV "SIGSEGV" #+sb-doc "segmentation violation." t) - (:integer SIGSYS "SIGSYS" #+sb-doc "non-existent system call invoked." t) - (:integer SIGPIPE "SIGPIPE" #+sb-doc "write on a pipe with no reader." t) - (:integer SIGALRM "SIGALRM" #+sb-doc "real-time timer expired." t) - (:integer SIGTERM "SIGTERM" #+sb-doc "software termination signal." t) - (:integer SIGURG "SIGURG" #+sb-doc "urgent condition present on socket." t) - (:integer SIGSTOP "SIGSTOP" #+sb-doc "stop (cannot be caught or ignored)." t) - (:integer SIGTSTP "SIGTSTP" #+sb-doc "stop signal generated from keyboard." t) - (:integer SIGCONT "SIGCONT" #+sb-doc "continue after stop." t) - (:integer SIGCHLD "SIGCHLD" #+sb-doc "child status has changed." t) + (:integer SIGHUP "SIGHUP" "terminal line hangup." t) + (:integer SIGINT "SIGINT" "interrupt program." t) + (:integer SIGQUIT "SIGQUIT" "quit program." t) + (:integer SIGILL "SIGILL" "illegal instruction." t) + (:integer SIGTRAP "SIGTRAP" "trace trap." t) + (:integer SIGABRT "SIGABRT" "abort program (formerly SIGIOT)." t) + (:integer SIGEMT "SIGEMT" "emulate instruction executed." t) + (:integer SIGFPE "SIGFPE" "floating-point exception." t) + (:integer SIGKILL "SIGKILL" "kill program." t) + (:integer SIGBUS "SIGBUS" "bus error." t) + (:integer SIGSEGV "SIGSEGV" "segmentation violation." t) + (:integer SIGSYS "SIGSYS" "non-existent system call invoked." t) + (:integer SIGPIPE "SIGPIPE" "write on a pipe with no reader." t) + (:integer SIGALRM "SIGALRM" "real-time timer expired." t) + (:integer SIGTERM "SIGTERM" "software termination signal." t) + (:integer SIGURG "SIGURG" "urgent condition present on socket." t) + (:integer SIGSTOP "SIGSTOP" "stop (cannot be caught or ignored)." t) + (:integer SIGTSTP "SIGTSTP" "stop signal generated from keyboard." t) + (:integer SIGCONT "SIGCONT" "continue after stop." t) + (:integer SIGCHLD "SIGCHLD" "child status has changed." t) (:integer SIGTTIN "SIGTTIN" - #+sb-doc "background read attempted from control terminal." t) + "background read attempted from control terminal." t) (:integer SIGTTOU "SIGTTOU" - #+sb-doc "background write attempted to control terminal." t) + "background write attempted to control terminal." t) (:integer SIGIO "SIGIO" - #+sb-doc "I/O is possible on a descriptor (see fcntl(2))." t) + "I/O is possible on a descriptor (see fcntl(2))." t) (:integer SIGXCPU "SIGXCPU" - #+sb-doc "cpu time limit exceeded (see setrlimit(2))." t) + "cpu time limit exceeded (see setrlimit(2))." t) (:integer SIGXFSZ "SIGXFSZ" - #+sb-doc "file size limit exceeded (see setrlimit(2))." t) + "file size limit exceeded (see setrlimit(2))." t) (:integer SIGVTALRM "SIGVTALRM" - #+sb-doc "virtual time alarm (see setitimer(2))." t) + "virtual time alarm (see setitimer(2))." t) (:integer SIGPROF "SIGPROF" - #+sb-doc "profiling timer alarm (see setitimer(2))." t) - (:integer SIGWINCH "SIGWINCH" #+sb-doc "Window size change." t) - (:integer SIGINFO "SIGINFO" #+sb-doc "status request from keyboard." t) - (:integer SIGUSR1 "SIGUSR1" #+sb-doc "User defined signal 1." t) - (:integer SIGUSR2 "SIGUSR2" #+sb-doc "User defined signal 2." t) - (:integer SIGRTMIN "SIGRTMIN" #+sb-doc "Smallest real-time signal number." t) - (:integer SIGRTMAX "SIGRTMAX" #+sb-doc "Largest real-time signal number." t) + "profiling timer alarm (see setitimer(2))." t) + (:integer SIGWINCH "SIGWINCH" "Window size change." t) + (:integer SIGPWR "SIGPWR" "Power failure." t) + (:integer SIGUSR1 "SIGUSR1" "User defined signal 1." t) + (:integer SIGUSR2 "SIGUSR2" "User defined signal 2." t) + (:integer SIGRTMIN "SIGRTMIN" "Smallest real-time signal number." t) + (:integer SIGRTMAX "SIGRTMAX" "Largest real-time signal number." t) ;; error numbers - (:integer eperm "EPERM" nil t) - (:integer enoent "ENOENT" nil t) - (:integer esrch "ESRCH" nil t) - (:integer eintr "EINTR" nil t) - (:integer eio "EIO" nil t) - (:integer enxio "ENXIO" nil t) - (:integer e2big "E2BIG" nil t) - (:integer enoexec "ENOEXEC" nil t) - (:integer ebadf "EBADF" nil t) - (:integer echild "ECHILD" nil t) - (:integer eagain "EAGAIN" nil t) - (:integer enomem "ENOMEM" nil t) - (:integer eacces "EACCES" nil t) - (:integer efault "EFAULT" nil t) - (:integer enotblk "ENOTBLK" nil t) - (:integer ebusy "EBUSY" nil t) - (:integer eexist "EEXIST" nil t) - (:integer exdev "EXDEV" nil t) - (:integer enodev "ENODEV" nil t) - (:integer enotdir "ENOTDIR" nil t) - (:integer eisdir "EISDIR" nil t) - (:integer einval "EINVAL" nil t) - (:integer enfile "ENFILE" nil t) - (:integer emfile "EMFILE" nil t) - (:integer enotty "ENOTTY" nil t) - (:integer etxtbsy "ETXTBSY" nil t) - (:integer efbig "EFBIG" nil t) - (:integer enospc "ENOSPC" nil t) - (:integer espipe "ESPIPE" nil t) - (:integer erofs "EROFS" nil t) - (:integer emlink "EMLINK" nil t) - (:integer epipe "EPIPE" nil t) - (:integer edom "EDOM" nil t) - (:integer erange "ERANGE" nil t) - (:integer edeadlk "EDEADLK" nil t) - (:integer enametoolong "ENAMETOOLONG" nil t) - (:integer enolck "ENOLCK" nil t) - (:integer enosys "ENOSYS" nil t) - (:integer enotempty "ENOTEMPTY" nil t) - (:integer eloop "ELOOP" nil t) - (:integer ewouldblock "EWOULDBLOCK" nil t) - (:integer enomsg "ENOMSG" nil t) - (:integer eidrm "EIDRM" nil t) - (:integer echrng "ECHRNG" nil t) - (:integer el2nsync "EL2NSYNC" nil t) - (:integer el3hlt "EL3HLT" nil t) - (:integer el3rst "EL3RST" nil t) - (:integer elnrng "ELNRNG" nil t) - (:integer eunatch "EUNATCH" nil t) - (:integer enocsi "ENOCSI" nil t) - (:integer el2hlt "EL2HLT" nil t) - (:integer ebade "EBADE" nil t) - (:integer ebadr "EBADR" nil t) - (:integer exfull "EXFULL" nil t) - (:integer enoano "ENOANO" nil t) - (:integer ebadrqc "EBADRQC" nil t) - (:integer ebadslt "EBADSLT" nil t) - (:integer edeadlock "EDEADLOCK" nil t) - (:integer ebfont "EBFONT" nil t) - (:integer enostr "ENOSTR" nil t) - (:integer enodata "ENODATA" nil t) - (:integer etime "ETIME" nil t) - (:integer enosr "ENOSR" nil t) - (:integer enonet "ENONET" nil t) - (:integer enopkg "ENOPKG" nil t) - (:integer eremote "EREMOTE" nil t) - (:integer enolink "ENOLINK" nil t) - (:integer eadv "EADV" nil t) - (:integer esrmnt "ESRMNT" nil t) - (:integer ecomm "ECOMM" nil t) - (:integer eproto "EPROTO" nil t) - (:integer emultihop "EMULTIHOP" nil t) - (:integer edotdot "EDOTDOT" nil t) - (:integer ebadmsg "EBADMSG" nil t) - (:integer eoverflow "EOVERFLOW" nil t) - (:integer enotuniq "ENOTUNIQ" nil t) - (:integer ebadfd "EBADFD" nil t) - (:integer eremchg "EREMCHG" nil t) - (:integer elibacc "ELIBACC" nil t) - (:integer elibbad "ELIBBAD" nil t) - (:integer elibscn "ELIBSCN" nil t) - (:integer elibmax "ELIBMAX" nil t) - (:integer elibexec "ELIBEXEC" nil t) - (:integer eilseq "EILSEQ" nil t) - (:integer erestart "ERESTART" nil t) - (:integer estrpipe "ESTRPIPE" nil t) - (:integer eusers "EUSERS" nil t) - (:integer enotsock "ENOTSOCK" nil t) - (:integer edestaddrreq "EDESTADDRREQ" nil t) - (:integer emsgsize "EMSGSIZE" nil t) - (:integer eprototype "EPROTOTYPE" nil t) - (:integer enoprotoopt "ENOPROTOOPT" nil t) - (:integer eprotonosupport "EPROTONOSUPPORT" nil t) - (:integer esocktnosupport "ESOCKTNOSUPPORT" nil t) - (:integer eopnotsupp "EOPNOTSUPP" nil t) - (:integer epfnosupport "EPFNOSUPPORT" nil t) - (:integer eafnosupport "EAFNOSUPPORT" nil t) - (:integer eaddrinuse "EADDRINUSE" nil t) - (:integer eaddrnotavail "EADDRNOTAVAIL" nil t) - (:integer enetdown "ENETDOWN" nil t) - (:integer enetunreach "ENETUNREACH" nil t) - (:integer enetreset "ENETRESET" nil t) - (:integer econnaborted "ECONNABORTED" nil t) - (:integer econnreset "ECONNRESET" nil t) - (:integer enobufs "ENOBUFS" nil t) - (:integer eisconn "EISCONN" nil t) - (:integer enotconn "ENOTCONN" nil t) - (:integer eshutdown "ESHUTDOWN" nil t) - (:integer etoomanyrefs "ETOOMANYREFS" nil t) - (:integer etimedout "ETIMEDOUT" nil t) - (:integer econnrefused "ECONNREFUSED" nil t) - (:integer ehostdown "EHOSTDOWN" nil t) - (:integer ehostunreach "EHOSTUNREACH" nil t) - (:integer ealready "EALREADY" nil t) - (:integer einprogress "EINPROGRESS" nil t) - (:integer estale "ESTALE" nil t) - (:integer euclean "EUCLEAN" nil t) - (:integer enotnam "ENOTNAM" nil t) - (:integer enavail "ENAVAIL" nil t) - (:integer eremoteio "EREMOTEIO" nil t) - (:integer edquot "EDQUOT" nil t) - (:integer enomedium "ENOMEDIUM" nil t) - (:integer emediumtype "EMEDIUMTYPE" nil t) + (:errno eperm "EPERM" nil t) + (:errno enoent "ENOENT" nil t) + (:errno esrch "ESRCH" nil t) + (:errno eintr "EINTR" nil t) + (:errno eio "EIO" nil t) + (:errno enxio "ENXIO" nil t) + (:errno e2big "E2BIG" nil t) + (:errno enoexec "ENOEXEC" nil t) + (:errno ebadf "EBADF" nil t) + (:errno echild "ECHILD" nil t) + (:errno eagain "EAGAIN" nil t) + (:errno enomem "ENOMEM" nil t) + (:errno eacces "EACCES" nil t) + (:errno efault "EFAULT" nil t) + (:errno enotblk "ENOTBLK" nil t) + (:errno ebusy "EBUSY" nil t) + (:errno eexist "EEXIST" nil t) + (:errno exdev "EXDEV" nil t) + (:errno enodev "ENODEV" nil t) + (:errno enotdir "ENOTDIR" nil t) + (:errno eisdir "EISDIR" nil t) + (:errno einval "EINVAL" nil t) + (:errno enfile "ENFILE" nil t) + (:errno emfile "EMFILE" nil t) + (:errno enotty "ENOTTY" nil t) + (:errno etxtbsy "ETXTBSY" nil t) + (:errno efbig "EFBIG" nil t) + (:errno enospc "ENOSPC" nil t) + (:errno espipe "ESPIPE" nil t) + (:errno erofs "EROFS" nil t) + (:errno emlink "EMLINK" nil t) + (:errno epipe "EPIPE" nil t) + (:errno edom "EDOM" nil t) + (:errno erange "ERANGE" nil t) + (:errno edeadlk "EDEADLK" nil t) + (:errno enametoolong "ENAMETOOLONG" nil t) + (:errno enolck "ENOLCK" nil t) + (:errno enosys "ENOSYS" nil t) + (:errno enotempty "ENOTEMPTY" nil t) + (:errno eloop "ELOOP" nil t) + (:errno ewouldblock "EWOULDBLOCK" nil t) + (:errno enomsg "ENOMSG" nil t) + (:errno eidrm "EIDRM" nil t) + (:errno echrng "ECHRNG" nil t) + (:errno el2nsync "EL2NSYNC" nil t) + (:errno el3hlt "EL3HLT" nil t) + (:errno el3rst "EL3RST" nil t) + (:errno elnrng "ELNRNG" nil t) + (:errno eunatch "EUNATCH" nil t) + (:errno enocsi "ENOCSI" nil t) + (:errno el2hlt "EL2HLT" nil t) + (:errno ebade "EBADE" nil t) + (:errno ebadr "EBADR" nil t) + (:errno exfull "EXFULL" nil t) + (:errno enoano "ENOANO" nil t) + (:errno ebadrqc "EBADRQC" nil t) + (:errno ebadslt "EBADSLT" nil t) + (:errno edeadlock "EDEADLOCK" nil t) + (:errno ebfont "EBFONT" nil t) + (:errno enostr "ENOSTR" nil t) + (:errno enodata "ENODATA" nil t) + (:errno etime "ETIME" nil t) + (:errno enosr "ENOSR" nil t) + (:errno enonet "ENONET" nil t) + (:errno enopkg "ENOPKG" nil t) + (:errno eremote "EREMOTE" nil t) + (:errno enolink "ENOLINK" nil t) + (:errno eadv "EADV" nil t) + (:errno esrmnt "ESRMNT" nil t) + (:errno ecomm "ECOMM" nil t) + (:errno eproto "EPROTO" nil t) + (:errno emultihop "EMULTIHOP" nil t) +#-sunos (:errno edotdot "EDOTDOT" nil t) + (:errno ebadmsg "EBADMSG" nil t) + (:errno eoverflow "EOVERFLOW" nil t) + (:errno enotuniq "ENOTUNIQ" nil t) + (:errno ebadfd "EBADFD" nil t) + (:errno eremchg "EREMCHG" nil t) + (:errno elibacc "ELIBACC" nil t) + (:errno elibbad "ELIBBAD" nil t) + (:errno elibscn "ELIBSCN" nil t) + (:errno elibmax "ELIBMAX" nil t) + (:errno elibexec "ELIBEXEC" nil t) + (:errno eilseq "EILSEQ" nil t) + (:errno erestart "ERESTART" nil t) + (:errno estrpipe "ESTRPIPE" nil t) + (:errno eusers "EUSERS" nil t) + (:errno enotsock "ENOTSOCK" nil t) + (:errno edestaddrreq "EDESTADDRREQ" nil t) + (:errno emsgsize "EMSGSIZE" nil t) + (:errno eprototype "EPROTOTYPE" nil t) + (:errno enoprotoopt "ENOPROTOOPT" nil t) + (:errno eprotonosupport "EPROTONOSUPPORT" nil t) + (:errno esocktnosupport "ESOCKTNOSUPPORT" nil t) + (:errno eopnotsupp "EOPNOTSUPP" nil t) + (:errno epfnosupport "EPFNOSUPPORT" nil t) + (:errno eafnosupport "EAFNOSUPPORT" nil t) + (:errno eaddrinuse "EADDRINUSE" nil t) + (:errno eaddrnotavail "EADDRNOTAVAIL" nil t) + (:errno enetdown "ENETDOWN" nil t) + (:errno enetunreach "ENETUNREACH" nil t) + (:errno enetreset "ENETRESET" nil t) + (:errno econnaborted "ECONNABORTED" nil t) + (:errno econnreset "ECONNRESET" nil t) + (:errno enobufs "ENOBUFS" nil t) + (:errno eisconn "EISCONN" nil t) + (:errno enotconn "ENOTCONN" nil t) + (:errno eshutdown "ESHUTDOWN" nil t) + (:errno etoomanyrefs "ETOOMANYREFS" nil t) + (:errno etimedout "ETIMEDOUT" nil t) + (:errno econnrefused "ECONNREFUSED" nil t) + (:errno ehostdown "EHOSTDOWN" nil t) + (:errno ehostunreach "EHOSTUNREACH" nil t) + (:errno ealready "EALREADY" nil t) + (:errno einprogress "EINPROGRESS" nil t) + (:errno estale "ESTALE" nil t) +#-sunos (:errno euclean "EUCLEAN" nil t) +#-sunos (:errno enotnam "ENOTNAM" nil t) +#-sunos (:errno enavail "ENAVAIL" nil t) +#-sunos (:errno eremoteio "EREMOTEIO" nil t) +#-sunos (:errno edquot "EDQUOT" nil t) +#-sunos (:errno enomedium "ENOMEDIUM" nil t) +#-sunos (:errno emediumtype "EMEDIUMTYPE" nil t) ;; wait - (:integer wnohang "WNOHANG") - (:integer wuntraced "WUNTRACED") + (:integer wnohang "WNOHANG" nil t) + (:integer wuntraced "WUNTRACED" nil t) ;; mode_t (:type mode-t "mode_t") + (:integer s-ifmt "S_IFMT" nil t) + (:integer s-ififo "S_IFIFO" nil t) + (:integer s-ifchr "S_IFCHR" nil t) + (:integer s-ifdir "S_IFDIR" nil t) + (:integer s-ifblk "S_IFBLK" nil t) + (:integer s-ifreg "S_IFREG" nil t) + (:integer s-iflnk "S_IFLNK" nil t) + (:integer s-ifsock "S_IFSOCK" nil t) +#-sunos (:integer s-ifwht "S_IFWHT" nil t) (:integer s-isuid "S_ISUID" nil t) (:integer s-isgid "S_ISGID" nil t) (:integer s-isvtx "S_ISVTX" nil t) @@ -236,25 +248,34 @@ ;; mmap() (:type off-t "off_t") - (:integer prot-none "PROT_NONE" #+sb-doc "mmap: no protection" t) - (:integer prot-read "PROT_READ" #+sb-doc "mmap: read protection" t) - (:integer prot-write "PROT_WRITE" #+sb-doc "mmap: write protection" t) - (:integer prot-exec "PROT_EXEC" #+sb-doc "mmap: execute protection" t) - (:integer map-shared "MAP_SHARED" #+sb-doc "mmap: shared memory" t) - (:integer map-private "MAP_PRIVATE" #+sb-doc "mmap: private mapping" t) - (:integer map-fixed "MAP_FIXED" #+sb-doc "mmap: map at given location" t) + (:integer prot-none "PROT_NONE" "mmap: no protection" t) + (:integer prot-read "PROT_READ" "mmap: read protection" t) + (:integer prot-write "PROT_WRITE" "mmap: write protection" t) + (:integer prot-exec "PROT_EXEC" "mmap: execute protection" t) + (:integer map-shared "MAP_SHARED" "mmap: shared memory" t) + (:integer map-private "MAP_PRIVATE" "mmap: private mapping" t) + (:integer map-fixed "MAP_FIXED" "mmap: map at given location" t) + (:integer map-anon "MAP_ANON" "mmap: anonymous mapping not associated with any file" t) ;; msync() - (:integer ms-async "MS_ASYNC" #+sb-doc "msync: return immediately" t) - (:integer ms-sync "MS_SYNC" #+sb-doc "msync: perform synchronous writes" t) + (:integer ms-async "MS_ASYNC" "msync: return immediately" t) + (:integer ms-sync "MS_SYNC" "msync: perform synchronous writes" t) (:integer ms-invalidate "MS_INVALIDATE" - #+sb-doc "msync: invalidate all cached data" t) + "msync: invalidate all cached data" t) + + ;; mlockall() + (:integer mcl-current "MCL_CURRENT" "mlockall: lock all pages which are currently mapped into the address space of the process." t) + (:integer mcl-future "MCL_FUTURE" "mlockall: lock all pages which will become mapped into the address space of the process in the future." t) ;; opendir() (:structure dirent - ("struct dirent" + (#+(and linux largefile) "struct dirent64" + #-(and linux largefile) "struct dirent" + #-win32 (:ino-t ino "ino_t" "d_ino") (:c-string name "char *" "d_name" - :distrust-length #+sunos t #-sunos nil)) t) + ;; FIXME: sunos should really have :distrust-length + ;; t, but this is currently broken. -- Jim Wise 2010-08-31 + :distrust-length nil)) t) ;; password database #-win32 @@ -278,6 +299,14 @@ #+nil (:integer fields "int" "pw_fields"))) + ;; group database + #-win32 + (:structure alien-group + ("struct group" + (c-string-pointer name "char *" "gr_name") + (c-string-pointer passwd "char *" "gr_passwd") + (gid-t gid "gid_t" "gr_gid"))) + (:structure alien-stat ("struct stat" (mode-t mode "mode_t" "st_mode") @@ -289,12 +318,20 @@ ((unsigned 32) dev "dev_t" "st_dev") (nlink-t nlink "nlink_t" "st_nlink") (uid-t uid "uid_t" "st_uid") + #-mips + (dev-t rdev "dev_t" "st_rdev") (gid-t gid "gid_t" "st_gid") (off-t size "off_t" "st_size") (time-t atime "time_t" "st_atime") (time-t mtime "time_t" "st_mtime") (time-t ctime "time_t" "st_ctime"))) + #+darwin + (:structure alien-timespec + ("struct timespec" + (time-t tv-sec "time_t" "tv_sec") + (long tv-nsec "long" "tv_nsec"))) + ;; open() (:integer o-rdonly "O_RDONLY" nil t) (:integer o-wronly "O_WRONLY" nil t) @@ -308,9 +345,9 @@ (:integer o-ndelay "O_NDELAY" nil t) (:integer o-sync "O_SYNC" nil t) (:integer o-nofollow "O_NOFOLLOW" nil t) - (:integer o-directory "O_DIRECTORY" nil t) - (:integer o-direct "O_DIRECT" nil t) - (:integer o-async "O_ASYNC" nil t) +#-sunos (:integer o-directory "O_DIRECTORY" nil t) +#-sunos (:integer o-direct "O_DIRECT" nil t) +#-sunos (:integer o-async "O_ASYNC" nil t) (:integer o-largefile "O_LARGEFILE" nil t) ; hmm... (:integer o-dsync "O_DSYNC" nil t) (:integer o-rsync "O_RSYNC" nil t) @@ -331,6 +368,24 @@ (:integer f-setlkw "F_SETLKW" nil t) (:integer f-getown "F_GETOWN" nil t) (:integer f-setown "F_SETOWN" nil t) + (:integer f-rdlck "F_RDLCK" nil t) + (:integer f-wrlck "F_WRLCK" nil t) + (:integer f-unlck "F_UNLCK" nil t) + + #-win32 + (:structure alien-flock + ("struct flock" + (short type "short" "l_type") + (short whence "short" "l_whence") + (off-t start "off_t" "l_start") + (off-t len "off_t" "l_len") + (pid-t pid "pid_t" "l_pid"))) + + ;; lockf() + (:integer f-lock "F_LOCK" nil t) + (:integer f-tlock "F_TLOCK" nil t) + (:integer f-ulock "F_ULOCK" nil t) + (:integer f-test "F_TEST" nil t) ;; tcgetattr(), tcsetattr() #-win32 @@ -349,6 +404,23 @@ (tcflag-t lflag "tcflag_t" "c_lflag") ((array cc-t) cc "cc_t" "c_cc"))) + ;; utime(), utimes() + #-win32 + (:type suseconds-t ; OAOOM warning: similar kludge in tools-for-build + #+os-provides-suseconds-t "suseconds_t" + #-os-provides-suseconds-t "long") + + #-win32 + (:structure alien-utimbuf + ("struct utimbuf" + (time-t actime "time_t" "actime") + (time-t modtime "time_t" "modtime"))) + #-win32 + (:structure alien-timeval + ("struct timeval" + (time-t sec "time_t" "tv_sec") + (suseconds-t usec "suseconds_t" "tv_usec"))) + (:integer veof "VEOF" nil t) (:integer veol "VEOL" nil t) (:integer verase "VERASE" nil t) @@ -360,6 +432,7 @@ (:integer vstop "VSTOP" nil t) (:integer vsusp "VSUSP" nil t) (:integer vtime "VTIME" nil t) + (:integer vdisable "_POSIX_VDISABLE" nil t) (:integer brkint "BRKINT" nil t) (:integer icrnl "ICRNL" nil t) @@ -379,7 +452,9 @@ #+xsi (:integer onlcr "ONLCR" nil t) (:integer ocrnl "OCRNL" nil t) + (:integer onocr "ONOCR" nil t) (:integer onlret "ONLRET" nil t) + (:integer ofdel "OFDEL" nil t) (:integer ofill "OFILL" nil t) (:integer nldly "NLDLY" nil t) (:integer nl0 "NL0" nil t) @@ -458,4 +533,119 @@ (:integer tcooff "TCOOFF" nil t) (:integer tcoon "TCOON" nil t) - ) + ;; syslog -- does this exist at all on Windows? + + ;; SUSv3-standard openlog() facilities + #-win32 + (:integer log-user "LOG_USER" "Default openlog() faclity." t) + #-win32 + (:integer log-local0 "LOG_LOCAL0" "Locally-defined openlog() facility" t) + #-win32 + (:integer log-local1 "LOG_LOCAL1" "Locally-defined openlog() facility" t) + #-win32 + (:integer log-local2 "LOG_LOCAL2" "Locally-defined openlog() facility" t) + #-win32 + (:integer log-local3 "LOG_LOCAL3" "Locally-defined openlog() facility" t) + #-win32 + (:integer log-local4 "LOG_LOCAL4" "Locally-defined openlog() facility" t) + #-win32 + (:integer log-local5 "LOG_LOCAL5" "Locally-defined openlog() facility" t) + #-win32 + (:integer log-local6 "LOG_LOCAL6" "Locally-defined openlog() facility" t) + #-win32 + (:integer log-local7 "LOG_LOCAL7" "Locally-defined openlog() facility" t) + + ;; Additional, non-standard openlog() facilities (most of which + ;; probably won't be needed by Lisp programs, but here for + ;; completeness). + #-(or win32 sunos) + (:integer + log-authpriv "LOG_AUTHPRIV" "openlog() facility for authorization messages" t) + #-win32 + (:integer + log-cron "LOG_CRON" "openlog() facility for cron and at daemons" t) + #-win32 + (:integer + log-daemon "LOG_DAEMON" "openlog() facility for arbitrary daemons" t) + #-(or win32 sunos) + (:integer + log-ftp "LOG_FTP" "openlog() facility for FTP daemons" t) + #-win32 + (:integer + log-kern "LOG_KERN" "openlog() facility for kernel messages" t) + #-win32 + (:integer + log-lpr "LOG_LPR" "openlog() facility for the printer subsystem" t) + #-win32 + (:integer + log-mail "LOG_MAIL" "openlog() facility for the mail subsystem" t) + #-win32 + (:integer + log-news "LOG_NEWS" "openlog() facility for the usenet subsystem" t) + #-win32 + (:integer + log-syslog "LOG_SYSLOG" "openlog() facility for the syslog subsystem" t) + #-win32 + (:integer + log-uucp "LOG_UUCP" "openlog() facility for the UUCP subsystem" t) + + ;; openlog() options + #-win32 + (:integer + log-pid "LOG_PID" + "If supplied to openlog(), log the process ID with each message" + t) + #-win32 + (:integer + log-cons "LOG_CONS" + "If supplied to openlog(), log to the system console as well as logfiles" + t) + #-win32 + (:integer + log-ndelay "LOG_NDELAY" + "If supplied to openlog(), immediately open the syslog connection." + t) + #-win32 + (:integer + log-odelay "LOG_ODELAY" + "If supplied to openlog(), delay opening the syslog connection to the first syslog() call." + t) + #-win32 + (:integer + log-nowait "LOG_NOWAIT" + "If supplied to openlog(), do not wait for child processes created by calls to syslog()." + t) + ;; Not in SUSv3, but at least Glibc and BSD libc have this + #-(or win32 sunos) + (:integer + log-perror "LOG_PERROR" + "If supplied to openlog(), write log messages to the process's standard error descriptor in addition to the logging facility." + t) + + ;; syslog() severity levels + #-win32 + (:integer + log-emerg "LOG_EMERG" "Log severity level denoting a panic." t) + #-win32 + (:integer + log-alert "LOG_ALERT" "Log severity level denoting a condition that should be corrected immediately." t) + #-win32 + (:integer + log-crit "LOG_CRIT" "Log severity level denoting critical conditions." t) + #-win32 + (:integer + log-err "LOG_ERR" "Log severity level denoting an error." t) + #-win32 + (:integer + log-warning "LOG_WARNING" "Log severity level denoting a warning." t) + #-win32 + (:integer + log-notice "LOG_NOTICE" "Log severity level denoting non-errors that may require special handling." t) + #-win32 + (:integer + log-info "LOG_INFO" "Log severity level denoting informational messages." t) + #-win32 + (:integer + log-debug "LOG_DEBUG" "Log severity level denoting debugging information ." t) + +)