int socket ( int family , int type , int protocol );
family  --  always set to AF_INET
type  --  SOCK_STREAM, SOCK_DGRAM, or SOCK_RAW
protocol  --  set to zero (let the system decide)
returns --  socket number allocated (zero is a legal socket number)
int bind ( int socket , struct sockaddr * addr , int addrlen );
socket  --  socket number from socket() call
addr  --  struct sockaddr_in type. must be cast in call.
addrlen  --  length of structure
returns -- zero on success
int listen ( int socket , int backlog );
socket  --  socket number from socket() call
backlog  --  maximum queue length for pending connections. use SOMAXCONN. Defined to 5 for 16 bit stack, 1024 for 32 bit stack
returns  --  zero on success
int accept ( int socket , struct sockaddr * client , int * addrlen );
socket  --  socket number from socket() call
client  --  struct sockaddr_in type. Must be cast in call.
addrlen  --  length of structure
returns  --  Non-negative value is a new socket descriptor