earlybrowserreborn - Rev 1

Subversion Repositories:
Rev:
/*                      Generic Communication Code              HTTCP.h
**                      ==========================
**
*/

#include "tcp.h"

#ifdef SHORT_NAMES
#define HTInetStatus            HTInStat
#define HTInetString            HTInStri
#define HTParseInet             HTPaInet
#endif


/*      Produce a string for an internet address
**      ---------------------------------------
**
** On exit,
**      returns a pointer to a static string which must be copied if
**              it is to be kept.
*/

#ifdef __STDC__
extern const char * HTInetString(struct sockaddr_in* sin);
#else
extern char * HTInetString();
#endif


/*      Encode INET status (as in sys/errno.h)                    inet_status()
**      ------------------
**
** On entry,
**      where           gives a description of what caused the error
**      global errno    gives the error number in the unix way.
**
** On return,
**      returns         a negative status in the unix way.
*/

#ifdef __STDC__
extern int HTInetStatus(char *where);
#else
extern int HTInetStatus();
#endif

/*      Publicly accesible variables
*/

/* extern struct sockaddr_in HTHostAddress; */
                        /* The internet address of the host */
                        /* Valid after call to HTHostName() */


/*      Parse a cardinal value                                 parse_cardinal()
**      ----------------------
**
** On entry,
**      *pp         points to first character to be interpreted, terminated by
**                  non 0:9 character.
**      *pstatus    points to status already valid
**      maxvalue    gives the largest allowable value.
**
** On exit,
**      *pp         points to first unread character
**      *pstatus    points to status updated iff bad
*/

#ifdef __STDC__
extern unsigned int HTCardinal(int *pstatus,
        char            **pp,
        unsigned int    max_value);
#else
extern unsigned int HTCardinal();
#endif

/*      Parse an internet node address and port
**      ---------------------------------------
**
** On entry,
**      str     points to a string with a node name or number,
**              with optional trailing colon and port number.
**      sin     points to the binary internet address field.
**
** On exit,
**      *sin    is filled in. If no port is specified in str, that
**              field is left unchanged in *sin.
*/

#ifdef __STDC__
extern int HTParseInet(struct sockaddr_in* sin, const char *str);
#else
extern int HTParseInet();
#endif

/*      Get Name of This Machine
**      ------------------------
**
*/

#ifdef __STDC__
extern const char * HTHostName(void);
#else
extern char * HTHostName();
#endif