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
)
13 #:condition-info-mixin
20 ;; Condition accessors
27 #:get-posix-error-condition
36 #:pointer-or-nil-designator
41 #:repeat-upon-condition
43 #:repeat-decreasing-timeout
44 #:repeat-upon-condition-decreasing-timeout
46 ;; Syscall return wrapper
56 #:signal-posix-error-kw
57 #:signal-posix-error
/restart
64 ;;;--------------------------------------------------------------------------
66 ;;;--------------------------------------------------------------------------
72 ;; Errno-related functions
76 ;; Memory manipulation functions
137 #+linux
#:%sys-epoll-create
138 #+linux
#:%sys-epoll-ctl
139 #+linux
#:%sys-epoll-wait
156 ;; Process creation and info
186 #:%sys-get-monotonic-time
212 ;;;--------------------------------------------------------------------------
213 ;;; Foreign types and constants
214 ;;;--------------------------------------------------------------------------
216 ;; Primitive type sizes
225 #:size-t
#:size-of-size-t
226 #:ssize-t
#:size-of-ssize-t
227 #:pid-t
#:size-of-pid-t
228 #:gid-t
#:size-of-gid-t
229 #:uid-t
#:size-of-uid-t
230 #:off-t
#:size-of-off-t
231 #:mode-t
#:size-of-mode-t
232 #:time-t
#:size-of-time-t
233 #:useconds-t
#:size-of-useconds-t
234 #:suseconds-t
#:size-of-suseconds-t
235 #:dev-t
#:size-of-dev-t
236 #:ino-t
#:size-of-ino-t
237 #:nlink-t
#:size-of-nlink-t
238 #:blksize-t
#:size-of-blksize-t
239 #:blkcnt-t
#:size-of-blkcnt-t
240 #:nfds-t
#:size-of-nfds-t
344 #+linux
#:epoll-ctl-add
345 #+linux
#:epoll-ctl-del
346 #+linux
#:epoll-ctl-mod
348 #+linux
#:epollrdnorm
349 #+linux
#:epollrdband
352 #+linux
#:epollwrnorm
353 #+linux
#:epollwrband
357 #+linux
#:epolloneshot
374 #+bsd
#:evfilt-signal
376 #+(and bsd
(not darwin
)) #:evfilt-netdev
388 #+bsd
#:note-trackerr
389 #+(and bsd
(not darwin
)) #:note-linkup
390 #+(and bsd
(not darwin
)) #:note-linkdown
391 #+(and bsd
(not darwin
)) #:note-linkinv
414 #+linux
#:rlim-saved-max
415 #+linux
#:rlim-saved-cur
416 #+linux
#:rlimit-locks
417 #+linux
#:rlimit-msgqueue
418 #+linux
#:rlimit-nlimits
419 #+linux
#:rlimit-nice
420 #+linux
#:rlimit-rtprio
421 #+linux
#:rlimit-sigpending
422 #+bsd
#:rlimit-sbsize
427 #:timespec
#:size-of-timespec
432 #:timeval
#:size-of-timeval
437 #:stat
#:size-of-stat
446 #:blksize
#:stat-blksize
447 #:blocks
#:stat-blocks
453 #:fd-set
#:size-of-fd-set
456 #:pollfd
#:size-of-pollfd
462 #+linux
#:epoll-data
#+linux
#:size-of-epoll-data
469 #+linux
#:epoll-event
#+linux
#:size-of-epoll-event
474 #+bsd
#:kevent
#+bsd
#:size-of-kevent
482 ;; Syscall error codes
484 #:eperm
#:enoent
#:esrch
#:eintr
#:eio
#:enxio
#:e2big
#:enoexec
485 #:ebadf
#:echild
#:eagain
#:enomem
#:eacces
#:efault
#:ebusy
#:eexist
486 #:exdev
#:enodev
#:enotdir
#:eisdir
#:einval
#:enfile
#:emfile
487 #:enotty
#:efbig
#:enospc
#:espipe
#:erofs
#:emlink
#:epipe
#:edom
488 #:erange
#:edeadlk
#:enametoolong
#:enolck
#:enosys
#:enotempty
489 #:echrng
#:el2nsync
#:el3hlt
#:el3rst
#:elnrng
#:eunatch
#:enocsi
490 #:el2hlt
#:ebade
#:ebadr
#:exfull
#:enoano
#:ebadrqc
#:ebadslt
491 #:edeadlock
#:ebfont
#:enostr
#:enodata
#:etime
#:enosr
#:enopkg
492 #:eadv
#:esrmnt
#:ecomm
#:edotdot
#:enotuniq
#:ebadfd
#:elibscn
493 #:elibmax
#:elibexec
#:eilseq
#:erestart
#:estrpipe
#:euclean
494 #:enotnam
#:enavail
#:eremoteio
#:enomedium
#:emediumtype
#:estale
495 #:enotblk
#:etxtbsy
#:eusers
#:eloop
#:ewouldblock
#:enomsg
#:eidrm
496 #:eproto
#:emultihop
#:ebadmsg
#:eoverflow
#:edquot
#:einprogress
497 #:ealready
#:eprotonosupport
#:esocktnosupport
#:enotsock
498 #:edestaddrreq
#:emsgsize
#:eprototype
#:enoprotoopt
#:eremote
499 #:enolink
#:epfnosupport
#:eafnosupport
#:eaddrinuse
#:eaddrnotavail
500 #:enetdown
#:enetunreach
#:enetreset
#:econnaborted
#:econnreset
501 #:eisconn
#:enotconn
#:eshutdown
#:etoomanyrefs
#:etimedout
502 #:econnrefused
#:ehostdown
#:ehostunreach
#:enonet
#:enobufs