- forward.c, call to select()
  - according to the Solaris man pages:

     int select(int nfds, fd_set *readfds, fd_set *writefds,
                fd_set *exceptfds, struct timeval *timeout);

     select()  examines  the  I/O  file  descriptor  sets   whose
     addresses  are passed in readfds, writefds, and exceptfds to
     see if any of their file descriptors are ready for  reading,
     are  ready  for  writing,  or  have an exceptional condition
     pending, respectively.  Out-of-band data is the only  excep-
     tional  condition.  nfds is the number of bits to be checked
     in each bit mask that represents a file descriptor; the file
     descriptors  from  0  to nfds -1 in the file descriptor sets
     are examined.  On return, select() replaces the  given  file
     descriptor  sets  with  subsets  consisting  of  those  file
     descriptors that are ready for the requested operation.  The
     return  value  from  the  call  to select() is the number of
     ready file descriptors.

  - So select() waits for data to be available for reading.  Any
    equivalent in Win32?  BTW, using the FD_ZERO() macro to define
	the NULL set of file descriptors probably asks select() to
	check all files.  NO, I think it is as the comments describe.
	It is simply a cheap sleep().  Since the file descriptor set
	is the null set, it simply waits until the timeout expires.

- mmap()
  - CreateFile() to get file handle
  - CreateFileMapping() to get file mapping handle 
  - MapViewOfFile() to get pointer
  - use the pointer
  - UnmapViewOfFile() to close view
  - CloseHandle() to close File Mapping handle
  - CloseHandle() to close file handle