data SocketRequest = OpenLSocket Port
| OpenSocket Host Port
| WriteSocket Socket String
| CloseSocket Socket
| CloseLSocket LSocket
| GetStdinSocket
| CreateTimer Int Int
| DestroyTimer Timer
| GetLSocketName LSocket
| GetSocketName Socket
| StartProcess String Bool Bool Bool
| DLOpen String
| DLClose DLHandle
| DLSym DLHandle String
| OpenFileAsSocket String String
| WriteSocketPS Socket String
| GetStdoutSocket
instance Read SocketRequest
instance Show SocketRequest
data SocketResponse = LSocket LSocket
| Socket Socket
| Timer Timer
| ProcessSockets (Maybe Socket) (Maybe Socket) (Maybe Socket)
| DLHandle DLHandle
| DLVal DLValue
| Wrote Int
instance Read SocketResponse
instance Show SocketResponse
type AsyncInput = (Descriptor, AEvent)
data AEvent = SocketAccepted Socket Peer
| SocketRead String
| SocketReadBin ByteString
| SocketWritable
| TimerAlarm
| XEvent (WindowId, XEvent)
instance Read AEvent
instance Show AEvent
data Timer = Ti Int
data DLHandle = DL DL
type Peer = Host
Socket resquest and response types.
Performing socket requests: sIO et al.
Fudget low level stream types: FRequest and FResponse.
Incomplete documentation.