/* ** (c) COPYRIGHT MIT 1995. ** Please first read the full copyright statement in the file COPYRIGH. */This module defines the read and write functions to and from the network. As we are having reentrant function and a smarter network I/O this will get very small :-)
This module is implemented by HTSocket.c, and it is a part of the W3C Reference Library.
#ifndef HTSOCKET_H #define HTSOCKET_H #include "HTAccess.h" #include "HTStream.h" #include "HTAnchor.h"
extern HTInputSocket* HTInputSocket_new PARAMS((SOCKFD file_number));
extern void HTInputSocket_free PARAMS((HTInputSocket * isoc));
<CRLF>
sequence.
typedef enum _HTSocketEOL { EOL_ERR = -1, EOL_BEGIN = 0, EOL_FCR, EOL_FLF, EOL_DOT, EOL_SCR, EOL_SLF } HTSocketEOL; extern int HTSocketRead PARAMS((HTRequest * request, HTStream * target));
extern int HTFileRead PARAMS((FILE * fp, HTRequest * request, HTStream * target));
extern int HTCopy PARAMS((SOCKFD file_number, HTStream * sink));
extern void HTFileCopy PARAMS(( FILE* fp, HTStream* sink));
extern void HTCopyNoCR PARAMS(( SOCKFD file_number, HTStream* sink));
extern int HTParseSocket PARAMS(( HTFormat format_in, SOCKFD file_number, HTRequest * request));
#if 0 extern int HTParseFile PARAMS(( HTFormat format_in, FILE *fp, HTRequest * request)); #endif
extern int HTInputSocket_getCharacter PARAMS((HTInputSocket* isoc));
extern char * HTInputSocket_getBlock PARAMS((HTInputSocket * isoc, int * len)); extern char * HTInputSocket_getLine PARAMS((HTInputSocket * isoc)); extern char * HTInputSocket_getUnfoldedLine PARAMS((HTInputSocket * isoc)); extern char * HTInputSocket_getStatusLine PARAMS((HTInputSocket * isoc)); extern BOOL HTInputSocket_seemsBinary PARAMS((HTInputSocket * isoc)); #endifEnd of definition module