1) optional arguments (e.g. OPEN)

3) partial list of section 2 manpages from Debian Linux box: functions
we may want to consider interfaces for.  Some of the obviously
unnecessary/dangerous functions have been deleted from this list, as
have the ones we've already got bindings for, but even so, inclusion
in this list does _not_ imply we've definitely decided something needs
adding.

FD_CLR FD_ISSET FD_SET FD_ZERO accept acct adjtime adjtimex bdflush
bind break brk cacheflush capget capset clone connect
create_module delete_module execve exit flock
fstatfs ftime getcontext getdents getdomainname
getdtablesize getgroups gethostid gethostname getitimer 
getpeername getpriority getrlimit getrusage getsockname getsockopt
gettimeofday gtty idle init_module ioctl_list ioperm iopl listen
llseek lock madvise mincore mknod mlock
modify_ldt mount mprotect mpx mremap msgctl msgget msgop msgrcv msgsnd
munlock nanosleep nice pause poll
prctl pread prof profil pselect ptrace pwrite query_module quotactl
read readv reboot recv recvfrom recvmsg
sbrk 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
sendfile sendmsg sendto setcontext setdomainname setgroups sethostid
sethostname setitimer setpriority setrlimit setsockopt
settimeofday sgetmask shmat shmctl shmdt shmget shmop shutdown
sigaction sigaltstack sigblock siggetmask sigmask signal sigpause
sigpending sigprocmask sigreturn sigsetmask sigsuspend sigvec socket
socketcall socketpair ssetmask statfs stime stty swapoff swapon
syscalls sysctl sysfs sysinfo times
ulimit umount uname ustat vfork vhangup wait3
wait4 write writev

4) In the spec but not implemented: 

- buffers

5) fill out TODO/TBD stuff in the spec

6) sort out exports.  All interface functions, all constants, all
  type coercion functions

7) variable-length functions > like execvp()? Do they take a list, or
vector or either? "Either" sounds good. Which is to say, a sequence.

8) In some cases, errno is used for "normal" exit, not just for
exceptional exit. For example, EINTR, EAGAIN, reading or writing big
buffers, etc... It may be more efficient to just compare two integers
than going thru an exception mechanism that will be invoked everytime.

9) proper alien definitions of structures [ possibly an sb-grovel
problem, but the way we define calls exposes the problem -- see
readdir() ] [ isn't this done? ]

10) some functions (e.g. fdatasync, putenv) have a return value which
is purely an error indicator.  Currently we're returning the 0 on
success, but maybe it would make more sense for them to return
(values).
