1 ;;;; -*- Mode: Lisp; indent-tabs-mode: nil -*-
3 ;;; --- Package definition
6 (in-package :common-lisp-user
)
8 (defpackage :iolib.syscalls
9 (:nicknames
:isys
:iolib
/syscalls
)
10 (:use
:iolib.base
:cffi
)
11 (:shadow
#:open
#:close
#:read
#:write
#:listen
12 #:truncate
#:ftruncate
#:time
)
15 ;; Deprecated, to be removed. 2011-09-05
42 ;;-----------------------------------------
43 ;; Error conditions, wrappers and definers
44 ;;-----------------------------------------
47 #:iolib-condition
#:iolib-error
#:syscall-error
48 #:code-of
#:identifier-of
#:message-of
#:handle-of
#:handle2-of
49 #:make-syscall-error
#:syscall-error-p
#:get-syscall-error-condition
50 #:signal-syscall-error
#:signal-syscall-error
/restart
51 #:poll-error
#:event-type-of
#:poll-timeout
53 ;; Syscall return wrapper
62 #:signal-syscall-error
63 #:signal-syscall-error-kw
64 #:signal-syscall-error
/restart
71 ;; CFFI Type Designators
73 #:pointer-or-nil-designator
77 ;; SSTRING <-> CSTRING
81 #:with-cstring-to-sstring
82 #:with-sstring-to-cstring
85 #:repeat-upon-condition
87 #:repeat-decreasing-timeout
88 #:repeat-upon-condition-decreasing-timeout
)
90 ;;--------------------------------
91 ;; Structs, slots and C constants
92 ;;--------------------------------
95 #:e2big
#:eacces
#:eaddrinuse
#:eaddrnotavail
96 #:eafnosupport
#:ealready
#:ebadf
#:ebadmsg
#:ebusy
#:ecanceled
97 #:echild
#:econnaborted
#:econnrefused
#:econnreset
#:edeadlk
98 #:edestaddrreq
#:edom
#:edquot
#:eexist
#:efault
#:efbig
#:ehostdown
99 #:ehostunreach
#:eidrm
#:eilseq
#:einprogress
#:eintr
#:einval
#:eio
100 #:eisconn
#:eisdir
#:eloop
#:emfile
#:emlink
#:emsgsize
#:emultihop
101 #:enametoolong
#:enetdown
#:enetreset
#:enetunreach
#:enfile
102 #:enobufs
#:enodata
#:enodev
#:enoent
#:enoexec
#:enolck
#:enolink
103 #:enomem
#:enomsg
#:enonet
#:enoprotoopt
#:enospc
#:enosr
#:enostr
104 #:enosys
#:enotconn
#:enotdir
#:enotempty
#:enotsock
#:enotsup
#:enotty
105 #:enxio
#:eopnotsupp
#:eoverflow
#:eperm
#:epipe
#:eproto
106 #:eprotonosupport
#:eprototype
#:erange
#:erofs
#:eshutdown
#:espipe
107 #:esrch
#:estale
#:etime
#:etimedout
#:etxtbsy
#:ewouldblock
#:exdev
142 #+linux
#:f-getlease
)
157 ;; Clock_gettime() et al.
160 (:export
;; sys/stat.h
172 #:blksize
#:stat-blksize
173 #:blocks
#:stat-blocks
205 (:export
;; sys/ioctl.h
208 (:export
;; sys/wait.h
266 (:export
;; sys/mman.h
276 (:export
;; sys/select.h
283 (:export
;; sys/poll.h
286 #:fd
#:events
#:revents
302 #:fileno
#:type
#:name
313 (:export
;; sys/resource.h
319 #:utime
#:stime
#:maxrss
#:ixrss
#:idrss
#:isrss
320 #:minflt
#:majflt
#:nswap
#:inblock
#:outblock
321 #:msgsnd
#:msgrcv
#:nsignals
#:nvcsw
#:nivcsw
339 #+linux
#:rlim-saved-max
340 #+linux
#:rlim-saved-cur
341 #+linux
#:rlimit-locks
342 #+linux
#:rlimit-msgqueue
343 #+linux
#:rlimit-nlimits
344 #+linux
#:rlimit-nice
345 #+linux
#:rlimit-rtprio
346 #+linux
#:rlimit-sigpending
347 #+bsd
#:rlimit-sbsize
)
348 (:export
;; sys/utsname.h
351 #:sysname
#:nodename
#:release
#:version
#:machine
)
355 #:name
#:passwd
#:uid
#:gid
#:gecos
#:dir
#:shell
)
359 #:name
#:passwd
#:gid
#:mem
)
361 (:export
;; sys/epoll.h
362 ;; union epoll_data_t
364 #:ptr
#:fd
#:u32
#:u64
365 ;; struct epoll_event
385 (:export
;; sys/event.h
388 #:ident
#:filter
#:flags
#:fflags
#:data
#:udata
403 #+bsd
#:evfilt-signal
405 #-darwin
#:evfilt-netdev
417 #+bsd
#:note-trackerr
418 #-darwin
#:note-linkup
419 #-darwin
#:note-linkdown
420 #-darwin
#:note-linkinv
)
429 ;; Syslog() facilities
461 (:export
;; CFFI additions
467 (:export
;; Errno-related functions
470 (:export
;; Memory manipulation functions
511 (:export
;; Directories
518 (:export
;; File descriptors
533 (:export
;; I/O Polling
541 #+linux
#:epoll-create
547 (:export
;; Socket message readers
553 (:export
;; Directory walking
560 (:export
;; Memory mapping
563 (:export
;; Process creation and info
599 #:wtermsig
#:wtermsig
*
609 #:get-monotonic-time
)
610 (:export
;; Environment
616 (:export
;; Hostname info
620 (:export
;; User info
623 (:export
;; Group info