------------- ToDo ------------------
$Id: ToDo,v 1.1.1.2 1994/02/23 17:22:37 mike Exp $
$Source: /var/CVS/ibcs/ToDo,v $

Repository: tsx-11.mit.edu:/pub/linux/ALPHA/ibcs2/private/.devel

This file contains a partial list of tasks that need doing
with iBCS2 emulation.  It is not yet complete.  Please
send bug fixes, suggestions, new code to me.
(Known bugs are flagged as ===BUG=== in comments.)

Drew Sullivan -- <drew@lethe.north.net>

------------- Who's Who ------------------
Drew Sullivan <drew@lethe.north.net>
	Emulator source maintainer.

Joseph L. Portman III <baron@hebron.connected.com>
	Major emulator developer.
	libc_s
	
Alfred Longyear <longyear@netcom.com>
	iBCS2 loader
	Emulator as of pl12
	? Xenix loader
	libc_s

Brandon S. Allbery <bsa@kf8nh.wariat.org>

Eric Youngdale <eric@tantalus.nrl.navy.mil>
	First cut of the emulator.
	ELF loader.
	Keeper of the tsx-11 archive
	libc_s (elf version)

Philip Balister <balister@vt.edu>
	Emulator as of pl13
	gdb for coff
Tor Arnsen 
	Emulator as of pl13

Graham Adams <gadams@ddrive.demon.co.uk>
------------- ToDo ------------------
* Priority
+ Must do to be complete
- Wish item

------------- Kernel ------------------
------------- Loader ------------------
* Get current patches into standard distribution.
  (There is a patch still left as of 14x)
- Look into adding 286 xenix binaries to the
  the loader.
------------- Emulator ------------------
* iBCS2 syscalls
	+ mount
	+ stty
	+ gtty
	+ lock/plock
	+ msgsys
	+ sysi86/sys3b
	+ advfs
	+ unadvfs
	+ rmount
	+ rumount
	+ rfstart
	+ rdebug
	+ rfstop
	+ rfsys
	+ sysfs
	+ getmsg
	+ putmsg

+ Ioctl
  A list of ones that are missing is needed.
+ Xenix
	* xnx_locking(int fd, int mode, long size)
	+ xnx_creatsem(char *sem_name, int mode)
	+ xnx_opensem(char *sem_name)
	+ xnx_sigsem(int sem_num)
	+ xnx_waitsem(int sem_num)
	+ xnx_nbwaitsem(int sem_num)
	* xnx_rdchk(int fd)
	* xnx_chsize(int fd, long size)
	+ xnx_ftime(struct timeb * tp)
	* xnx_nap(long period)
	+ xnx_sdget(char *path, int flags, long size, int mode)
	+ xnx_sdfree(char* addr)
	+ xnx_sdenter(char *addr, int flags)
	+ xnx_sdleave(char *addr)
	+ xnx_sdgetv(char *addr)
	+ xnx_sdwaitv(char *addr, int vnum)
	+ xnx_proctl(int pid, int command, char *arg)
	+ xnx_execseg(excode_t oldaddr, unsigned size)
	+ xnx_unexecseg(excode_t addr)
	+ xnx_select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *execptfds, struct timeval *timeout)
	* xnx_eaccess(char *path, int mode)
	* xnx_paccess(int pid, int cmd, int offset, int count, char *ptr)
	* xnx_sigaction(int sig, struct sco_sigaction *act, struct sco_sigaction *oact)
	* xnx_sigprocmask(int how, sigset_t *set, sigset_t *oset)
	* xnx_sigpending(sigset_t *set)
	* xnx_sigsuspend(sigset_t *sigmask)
	* xnx_getgroups(int gidsetsize, gid_t *grouplist[])
	* xnx_setgroups(int gidsetsize, gid_t *grouplist[])
	* xnx_sysconf(int name)
	* xnx_pathconf(char *path, int name)
	* xnx_fpathconf(int fildes, int name)

? Do we need to support the "luid" or login user id C2 security stuff.

------------- Shared Library ------------------
* Finish the libc_s libary
	+ Test SVr4 versions with more and more applications.  Add missing
	  functions here and there as required by applications.
	* Get COFF version of library working.
+ Create a networking library (COFF only.  SVr4 binaries use Wyse socket
	calls, and shared library now exists).
+ Create X11R4 and X11R5 library (COFF only - SVr4 binaries can use
	XFree86 libraries).

------------- Testing ------------------
* Create a complete set of test programs
  so that we can do regression tests.
  The perl code is a good start.
