Notes on ocaml interface to nssock:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

#########
TODO:
- getsockerr() --> how should the errors be raised?

IMPROVEMENTS:
- how should our exception handling work?
#########

* type `ip` is currently an abstract type ==> will actually be whatever the native code defines it as, but this doesn't matter in the ocaml world.

* need to be careful with option types (especially the returning of from the native code). There is a very subtle difference between the representation of a value containing something of type 'a and a value containing something of type 'a option.
	- in theory it is possible to get the return value wrong in the native interface and for things to break in bad ways

* some socket calls are actually ocaml wrappers that do some munging before a call to a private native call (i.e., private = a native call not exported in the libraries interface)

- uses a copy of Xavier's unix and windows error handling code (to raise exceptions via callbacks from C to ocaml)


*** Copyright 2002-2004 The Netsem Team

    * Steve Bishop
    * Michael Compton
    * Matthew Fairbairn
    * Michael Norrish
    * Andrei Serjantov
    * Peter Sewell
    * Michael Smith
    * Keith Wansbrough

All rights reserved.

This file is distributed under the terms of the GNU Lesser General
Public License, with the special exception on linking described in
file NEW-LICENSE.

***
 *
*** Copyright 2002-2004 The Acute Team

  Allen-Williams, Mair
  Bishop, Steven
  Fairbairn, Matthew
  Habouzit, Pierre [*]
  Leifer, James [*]
  Sewell, Peter
  Sjberg, Vilhelm
  Steinruecken, Christian
  Vafeiadis, Viktor
  Wansbrough, Keith
  Zappa Nardelli, Francesco [*]
  Institut National de Recherche en Informatique et en Automatique (INRIA)

  Contributions of authors marked [*] are copyright INRIA.

All rights reserved.

This file is distributed under the terms of the GNU Lesser General
Public License, with the special exception on linking described in
file NEW-LICENSE.

***


