blob: a1e83782046f729a7ce481cb4903d89b5d7f164f (
plain) (
tree)
|
|
/*
* $LynxId: HTTCP.h,v 1.24 2014/12/03 00:27:57 tom Exp $
*
* /Net/dxcern/userd/timbl/hypertext/WWW/Library/src/HTTCP.html
* GENERIC TCP/IP COMMUNICATION
*
* This module has the common code for handling TCP/IP connections etc.
*/
#ifndef HTTCP_H
#define HTTCP_H
#ifndef HTUTILS_H
#include <HTUtils.h>
#endif
#ifdef __cplusplus
extern "C" {
#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 INET6
extern const char *HTInetString(SockA * mysin);
#else
extern const char *HTInetString(struct sockaddr_in *mysin);
#endif /* INET6 */
/* 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.
*/
extern int HTInetStatus(const char *where);
/* Publicly accessible 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
*/
extern unsigned int HTCardinal(int *pstatus,
char **pp,
unsigned int max_value);
/* Check whether string is a valid Internet hostname
* -------------------------------------------------
*/
extern BOOL valid_hostname(char *name);
/* Resolve an internet hostname, like gethostbyname
* ------------------------------------------------
*
* On entry,
* str points to the given host name, not numeric address,
* without colon or port number.
*
* On exit,
* returns a pointer to a struct hostent in static storage,
* or NULL in case of error or user interruption.
*
* The interface is intended to be the same as for gethostbyname(),
* but additional status is returned in lynx_nsl_status.
*/
extern int lynx_nsl_status;
#ifndef LYNX_HOSTENT
#define LYNX_HOSTENT void
#endif
extern LYNX_HOSTENT *LYGetHostByName(char *host);
#ifdef INET6
#ifndef LYNX_ADDRINFO
#define LYNX_ADDRINFO void
#endif
extern LYNX_ADDRINFO *HTGetAddrInfo(const char *str, const int defport);
#endif
/* Get Name of This Machine
* ------------------------
*
*/
extern const char *HTHostName(void);
extern int HTDoConnect(const char *url,
const char *protocol,
int default_port,
int *s);
extern int HTDoRead(int fildes,
void *buf,
unsigned nbyte);
#ifdef __cplusplus
}
#endif
#endif /* HTTCP_H */
|