/* INET socket functions */
int 	sslSocketInetConnect (char *pHostname, int port);
int 	sslSocketInetCreate (int *pPort, unsigned queueLen);
int 	sslSocketInetAccept (int fd);
int 	sslSocketInetClose (int fd);

/* UNIX socket functions */
int 	sslSocketUnixConnect (char *pFilename);
int 	sslSocketUnixCreate (char *pFilename, unsigned queueLen);
int 	sslSocketUnixAccept (int fd);
int 	sslSocketUnixClose (int fd, char *pFilename);

/* Query functions */
char * 	sslQuerySocketInetHostname (int fd);
int 	sslQuerySocketInetPort (int fd);
int 	sslQuerySocketInetServicePort (char *pService, char *pProtocol);
int 	sslQueryReadAvail (int fd);

/* Serial functions */
int 	sslSerialOpen (char *serport, int speed, int flowcontrol,
		   int databits, int parity, int stopbits);
int 	sslSerialClose (int fdesc);

/* Read/Write functions */
int 	sslBufferRead (int fd, char *pBuf, unsigned nbytes);
int 	sslBufferReadAvail (int fd, char *pBuf, unsigned maxbytes);
int 	sslBufferReadLine (int fd, char *pBuf,
			   unsigned maxbytes, float to_secs);
int 	sslBufferReadMarker (int fd, char *pBuf,
			     unsigned maxbytes, float to_secs, char marker);
int 	sslBufferReadUntilA (int fd, char *pBuf, unsigned nbytes,
			    float to_secs);
int 	sslBufferReadUntilB (int fd, char *pBuf, unsigned nbytes,
			    float to_secs);
int 	sslBufferWrite (int fd, char *pBuf, unsigned nbytes);
int 	sslBufferWriteString (int fd, char *pString);

/* Message functions */
int 	sslMessageSend (int fd, char *pBuf, unsigned nbytes);
int 	sslMessageRecv (int fd, char *pBuf, unsigned maxbytes);

/* Misc functions */
int 	sslWaitForData (float to_secs, fd_set *pFdset, int fd, ...);
int 	sslWaitForDataV (float to_secs, fd_set *pFdset, int *pFdvec);
int 	sslPrintCommSetting (int fd);
float 	sslCalcTimevalDiff (struct timeval *pT1, struct timeval *pT2);
int	sslKeyboardLineModeSet (void);
int 	sslKeyboardCharModeSet (void);