Fix make-array transforms.
[sbcl.git] / contrib / sb-posix / TODO
index b67b9d9..9c0ce34 100644 (file)
@@ -1,4 +1,4 @@
-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
@@ -7,192 +7,50 @@ 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
-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).