struct tSocket {
   char *sHostName;   // the hostname to connectg to
   int iPort;
   int iSocketHandle;
   int iIsConnected;
   struct sockaddr_in *aHostAddress;
   struct hostent *aHostEntry;
};

// create socket handle
tSocket *createSocket(tSocket *aInSocket, char *sInHostName, int iInPort);

// Connect the socket
// returns the socket handle
tSocket *connectSocket(tSocket *aInSocket);

// read one character from socket
char readCharFromSocket(tSocket *aInSocket);

// puts a NULL-terminated String out to the socket 
//identified by aInSocket handle
tSocket *writeLineToSocket(tSocket *aInSocket, const char *sMessage);