1 ;;;; -*- Mode: Lisp; Syntax: ANSI-Common-Lisp; indent-tabs-mode: nil -*-
3 ;;; --- Package definition.
6 (in-package :common-lisp-user
)
8 (defpackage :iolib.syscalls
10 (:use
:iolib.base
:cffi
)
29 #:pointer-or-nil-designator
34 #:repeat-decreasing-timeout
35 #:repeat-upon-condition-decreasing-timeout
45 #:signal-posix-error
/restart
46 #:return-posix-error
/restart
54 ;;;--------------------------------------------------------------------------
56 ;;;--------------------------------------------------------------------------
62 ;; Errno-related functions
67 ;; Memory manipulation functions
130 #:%sys-get-monotonic-time
141 ;;;--------------------------------------------------------------------------
142 ;;; Foreign types and constants
143 ;;;--------------------------------------------------------------------------
145 ;; Primitive type sizes
154 #:size-t
#:size-of-size-t
155 #:ssize-t
#:size-of-ssize-t
156 #:pid-t
#:size-of-pid-t
157 #:gid-t
#:size-of-gid-t
158 #:uid-t
#:size-of-uid-t
159 #:off-t
#:size-of-off-t
160 #:mode-t
#:size-of-mode-t
161 #:time-t
#:size-of-time-t
162 #:useconds-t
#:size-of-useconds-t
163 #:suseconds-t
#:size-of-suseconds-t
164 #:dev-t
#:size-of-dev-t
165 #:ino-t
#:size-of-ino-t
166 #:nlink-t
#:size-of-nlink-t
167 #:blksize-t
#:size-of-blksize-t
168 #:blkcnt-t
#:size-of-blkcnt-t
169 #:nfds-t
#:size-of-nfds-t
253 #:timespec
#:size-of-timespec
258 #:timeval
#:size-of-timeval
263 #:stat
#:size-of-stat
272 #:blksize
#:stat-blksize
273 #:blocks
#:stat-blocks
279 #:pollfd
#:size-of-pollfd
284 ;; Syscall error codes
286 #:eperm
#:enoent
#:esrch
#:eintr
#:eio
#:enxio
#:e2big
#:enoexec
287 #:ebadf
#:echild
#:eagain
#:enomem
#:eacces
#:efault
#:ebusy
#:eexist
288 #:exdev
#:enodev
#:enotdir
#:eisdir
#:einval
#:enfile
#:emfile
289 #:enotty
#:efbig
#:enospc
#:espipe
#:erofs
#:emlink
#:epipe
#:edom
290 #:erange
#:edeadlk
#:enametoolong
#:enolck
#:enosys
#:enotempty
291 #:echrng
#:el2nsync
#:el3hlt
#:el3rst
#:elnrng
#:eunatch
#:enocsi
292 #:el2hlt
#:ebade
#:ebadr
#:exfull
#:enoano
#:ebadrqc
#:ebadslt
293 #:edeadlock
#:ebfont
#:enostr
#:enodata
#:etime
#:enosr
#:enopkg
294 #:eadv
#:esrmnt
#:ecomm
#:edotdot
#:enotuniq
#:ebadfd
#:elibscn
295 #:elibmax
#:elibexec
#:eilseq
#:erestart
#:estrpipe
#:euclean
296 #:enotnam
#:enavail
#:eremoteio
#:enomedium
#:emediumtype
#:estale
297 #:enotblk
#:etxtbsy
#:eusers
#:eloop
#:ewouldblock
#:enomsg
#:eidrm
298 #:eproto
#:emultihop
#:ebadmsg
#:eoverflow
#:edquot
#:einprogress
299 #:ealready
#:eprotonosupport
#:esocktnosupport
#:enotsock
300 #:edestaddrreq
#:emsgsize
#:eprototype
#:enoprotoopt
#:eremote
301 #:enolink
#:epfnosupport
#:eafnosupport
#:eaddrinuse
#:eaddrnotavail
302 #:enetdown
#:enetunreach
#:enetreset
#:econnaborted
#:econnreset
303 #:eisconn
#:enotconn
#:eshutdown
#:etoomanyrefs
#:etimedout
304 #:econnrefused
#:ehostdown
#:ehostunreach
#:enonet
#:enobufs