This site is a static rendering of the Trac instance that was used by R7RS-WG1 for its work on R7RS-small (PDF), which was ratified in 2013. For more information, see Home. For a version of this page that may be more recent, see SimplePosixCowan in WG2's repo for R7RS-large.


2012-04-15 04:34:18


WG2 voted to provide a Posix package, but rejected a "full Posix" package that would provide all 1191 interfaces from POSIX.1-2008. What is proposed here is a subset of 209 interfaces that are provided primitively (that is, as a system call) in at least one of FreeBSD, NetBSD, OpenBSD, Linux, and Solaris. The links are to the OpenGroup page describing the interface.

_exit, accept, access, aio_cancel, aio_error, aio_fsync, aio_read, aio_return, aio_suspend, aio_write, alarm, bind, chdir, chmod, chown, clock_getres, clock_gettime, clock_settime, close, connect, creat, dup, dup2, execl, execle, execlp, execv, execve, execvp, exit, faccessat, fchdir, fchmod, fchmodat, fchown, fchownat, fcntl, fdatasync, fexecve, fork, fpathconf, fstat, fstatat, fstatvfs, fsync, ftruncate, getegid, geteuid, getgid, getgroups, gethostid, gethostname, getitimer, getlogin, getmsg, getpeername, getpgid, getpgrp, getpid, getpmsg, getppid, getpriority, getrlimit, getrusage, getsid, getsockname, getsockopt, gettimeofday, getuid, ioctl, kill, killpg, lchown, link, linkat, lio_listio, listen, lseek, lstat, mkdir, mkdirat, mkfifo, mkfifoat, mknod, mknodat, mlock, mlockall, mmap, mprotect, mq_close, mq_getattr, mq_notify, mq_open, mq_receive, mq_send, mq_setattr, mq_timedreceive, mq_timedsend, mq_unlink, msgctl, msgget, msgrcv, msgsnd, msync, munlock, munlockall, munmap, nanosleep, nice, open, openat, pathconf, pause, pipe, poll, posix_fadvise, posix_fallocate, posix_madvise, posix_openpt, pread, pselect, putmsg, putpmsg, pwrite, read, readdir, readlink, readlinkat, readv, recv, recvfrom, recvmsg, rename, renameat, rmdir, sched_get_priority_max, sched_get_priority_min, sched_getparam, sched_getscheduler, sched_rr_get_interval, sched_setparam, sched_setscheduler, sched_yield, select, semctl, semget, semop, send, sendmsg, sendto, setegid, seteuid, setgid, setitimer, setpgid, setpgrp, setpriority, setregid, setreuid, setrlimit, setsid, setsockopt, setuid, shm_open, shm_unlink, shmat, shmctl, shmdt, shmget, shutdown, sigaction, sigaltstack, signal, sigpause, sigpending, sigprocmask, sigqueue, sigsuspend, sigtimedwait, sigwait, sigwaitinfo, socket, socketpair, stat, statvfs, symlink, symlinkat, sync, syslog, time, timer_create, timer_delete, timer_getoverrun, timer_gettime, timer_settime, times, truncate, ulimit, umask, uname, unlink, unlinkat, utime, utimes, wait, waitid, waitpid, write, writev.


Types defined in the following header files must have Scheme representations (not necessarily opaque ones): assert.h, dirent.h, errno.h, fcntl.h, grp.h, langinfo.h, limits.h, locale.h, mqueue.h, poll.h, pthread.h, pwd.h, signal.h, stdint.h, stdio.h, stdlib.h, string.h, stropts.h, sys/ipc.h, sys/mman.h, sys/msg.h, sys/resource.h, sys/sem.h, sys/stat.h, sys/statvfs.h, sys/times.h, sys/types.h, sys/uio.h, sys/wait.h, syslog.h, time.h, unistd.h.