Last Updated: Jan 19, 2011

== BACKGROUND ==

The IO module provides an abstracted IO interface to FreeTDM. 

== SHUTDOWN ==
Upon global shutdown, for each channel FIO_CLOSE_FUNCTION will be called. 
When FIO_CLOSE_FUNCTION is called, all waiters on this channel shall be signalled.
If FIO_WAIT_FUNCTION is called on a function that has already been closed, this function shall return FTDM_TIMEOUT without blocking.
FIO_CHANNEL_DESTROY will eventually be called, and IO module is responsible for clearing all internal states and free allocated memory upon channel destroy.