Export %SYS-POLL.
[iolib/alendvai.git] / syscalls / pkgdcl.lisp
blob0f278f15ba7b425e168c8ef7e55d8701fc914b85
1 ;;;; -*- Mode: Lisp; Syntax: ANSI-Common-Lisp; indent-tabs-mode: nil -*-
2 ;;;
3 ;;; --- Package definition.
4 ;;;
6 (in-package :common-lisp-user)
8 (defpackage :iolib.syscalls
9 (:nicknames #:isys)
10 (:use :iolib.base :cffi)
11 (:export
12 ;; Conditions
13 #:system-error
14 #:code-of
15 #:identifier-of
16 #:message-of
17 #:syscall-error
18 #:posix-error
19 #:poll-error
20 #:poll-timeout
22 ;; Pathname Functions
23 #:native-namestring
25 ;; Type Designators
26 #:filename
27 #:filename-designator
28 #:pointer-or-nil
29 #:pointer-or-nil-designator
30 #:bool
31 #:bool-designator
33 ;; Misc
34 #:repeat-decreasing-timeout
35 #:repeat-upon-condition-decreasing-timeout
37 ;; Return wrapper
38 #:return-wrapper
39 #:error-predicate-of
40 #:return-filter-of
41 #:error-generator-of
42 #:base-type-of
43 #:never-fails
44 #:signal-posix-error
45 #:signal-posix-error/restart
46 #:return-posix-error/restart
48 ;; Syscall definition
49 #:defentrypoint
50 #:defcfun*
51 #:defsyscall
52 #:defsyscall*
54 ;;;--------------------------------------------------------------------------
55 ;;; Syscalls
56 ;;;--------------------------------------------------------------------------
58 ;; Specials
59 #:*default-open-mode*
60 #:*environ*
62 ;; Errno-related functions
63 #:%sys-strerror
64 #:get-errno
65 #:set-errno
67 ;; Memory manipulation functions
68 #:%sys-memset
69 #:%sys-bzero
70 #:%sys-memcpy
71 #:%sys-memmove
73 ;; Files
74 #:%sys-read
75 #:%sys-write
76 #:%sys-pread
77 #:%sys-pwrite
78 #:%sys-open
79 #:%sys-creat
80 #:%sys-pipe
81 #:%sys-mkfifo
82 #:%sys-umask
83 #:%sys-lseek
84 #:%sys-access
85 #:%sys-truncate
86 #:%sys-ftruncate
87 #:%sys-rename
88 #:%sys-link
89 #:%sys-symlink
90 #:%sys-readlink
91 #:%sys-unlink
92 #:%sys-chown
93 #:%sys-fchown
94 #:%sys-lchown
95 #:%sys-chmod
96 #:%sys-fchmod
97 #:%sys-stat
98 #:%sys-fstat
99 #:%sys-lstat
100 #:%sys-sync
101 #:%sys-fsync
102 #:%sys-mkstemp
104 ;; Directories
105 #:%sys-mkdir
106 #:%sys-rmdir
107 #:%sys-chdir
108 #:%sys-fchdir
109 #:%sys-getcwd
110 #:%sys-mkdtemp
112 ;; File descriptors
113 #:%sys-close
114 #:%sys-dup
115 #:%sys-dup2
116 #:%sys-ioctl
117 #:%sys-fd-open-p
119 ;; I/O Polling
120 #:%sys-poll
122 ;; Memory mapping
123 #:%sys-mmap
124 #:%sys-munmap
126 ;; Time
127 #:%sys-usleep
128 #:%sys-time
129 #:%sys-gettimeofday
130 #:%sys-get-monotonic-time
132 ;; Environment
133 #:%sys-getenv
134 #:%sys-setenv
135 #:%sys-unsetenv
137 ;; Local info
138 #:%sys-gethostname
139 #:%sys-getdomainname
141 ;;;--------------------------------------------------------------------------
142 ;;; Foreign types and constants
143 ;;;--------------------------------------------------------------------------
145 ;; Primitive type sizes
146 #:size-of-char
147 #:size-of-short
148 #:size-of-int
149 #:size-of-long
150 #:size-of-long-long
151 #:size-of-pointer
153 ;; Types
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
171 ;; OPEN()
172 #:o-rdonly
173 #:o-wronly
174 #:o-rdwr
175 #:o-creat
176 #:o-excl
177 #:o-trunc
178 #:o-append
179 #:o-noctty
180 #:o-nonblock
181 #:o-ndelay
182 #:o-sync
183 #:o-nofollow
184 #:o-async
186 ;; LSEEK()
187 #:seek-set
188 #:seek-cur
189 #:seek-end
191 ;; ACCESS()
192 #:r-ok
193 #:w-ok
194 #:x-ok
195 #:f-ok
197 ;; STAT()
198 #:s-irwxu
199 #:s-irusr
200 #:s-iwusr
201 #:s-ixusr
202 #:s-ifmt
203 #:s-ififo
204 #:s-ifchr
205 #:s-ifdir
206 #:s-ifblk
207 #:s-ifreg
208 #:s-ifwht
209 #:s-iread
210 #:s-iwrite
211 #:s-iexec
212 #:s-irwxg
213 #:s-irgrp
214 #:s-iwgrp
215 #:s-ixgrp
216 #:s-irwxo
217 #:s-iroth
218 #:s-iwoth
219 #:s-ixoth
220 #:s-isuid
221 #:s-isgid
222 #:s-isvtx
223 #:s-iflnk
224 #:s-ifsock
225 #:path-max
227 ;; MMAP()
228 #:prot-none
229 #:prot-read
230 #:prot-write
231 #:prot-exec
232 #:map-shared
233 #:map-private
234 #:map-fixed
235 #:map-failed
237 ;; POLL()
238 #:pollin
239 #:pollrdnorm
240 #:pollrdband
241 #:pollpri
242 #:pollout
243 #:pollwrnorm
244 #:pollwrband
245 #:pollerr
246 #:pollrdhup
247 #:pollhup
248 #:pollnval
250 ;;; Structs
252 ;; timespec
253 #:timespec #:size-of-timespec
254 #:sec
255 #:nsec
257 ;; timeval
258 #:timeval #:size-of-timeval
259 #:sec
260 #:usec
262 ;; stat
263 #:stat #:size-of-stat
264 #:dev #:stat-dev
265 #:ino #:stat-ino
266 #:mode #:stat-mode
267 #:nlink #:stat-nlink
268 #:uid #:stat-uid
269 #:gid #:stat-gid
270 #:rdev #:stat-rdev
271 #:size #:stat-size
272 #:blksize #:stat-blksize
273 #:blocks #:stat-blocks
274 #:atime #:stat-atime
275 #:mtime #:stat-mtime
276 #:ctime #:stat-ctime
278 ;; pollfd
279 #:pollfd #:size-of-pollfd
280 #:fd
281 #:events
282 #:revents
284 ;; Syscall error codes
285 #:errno-values
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
305 #:eopnotsupp