-1) optional arguments
+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
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
-chroot
-clone
-connect
-creat
-create_module
-delete_module
-execve
-exit
-fcntl
-fdatasync
-flock
-fork
-fstat
-fstatfs
-fsync
-ftime
-ftruncate
-getcontext
-getdents
-getdomainname
-getdtablesize
-getgroups
-gethostid
-gethostname
-getitimer
-getpagesize
-getpeername
-getpriority
-getrlimit
-getrusage
-getsockname
-getsockopt
-gettimeofday
-gtty
-idle
-init_module
-ioctl
-ioctl_list
-ioperm
-iopl
-listen
-llseek
-lock
-lseek
-lstat
-madvise
-mincore
-mknod
-mlock
-mlockall
-mmap
-modify_ldt
-mount
-mprotect
-mpx
-mremap
-msgctl
-msgget
-msgop
-msgrcv
-msgsnd
-msync
-munlock
-munlockall
-munmap
-nanosleep
-nice
-open
-pause
-pipe
-poll
-prctl
-pread
-prof
-profil
-pselect
-ptrace
-pwrite
-query_module
-quotactl
-read
-readdir
-readlink
-readv
-reboot
-recv
-recvfrom
-recvmsg
-rename
-rmdir
-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
-setpgrp
-setpriority
-setrlimit
-setsid
-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
-stat
-statfs
-stime
-stty
-swapoff
-swapon
-symlink
-sync
-syscalls
-sysctl
-sysfs
-sysinfo
-syslog
-time
-times
-truncate
-ulimit
-umask
-umount
-uname
-ustat
-utime
-utimes
-vfork
-vhangup
-wait
-wait3
-wait4
-waitpid
-write
-writev
+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 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 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).