111 lines
2.9 KiB
C
111 lines
2.9 KiB
C
/*
|
|
* $LynxId: HTTCP.h,v 1.27 2018/05/16 19:48:16 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.
|
|
*/
|
|
extern const char *HTInetString(LY_SOCKADDR * mysin);
|
|
|
|
/* 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;
|
|
|
|
extern BOOLEAN LYCheckHostByName(char *host);
|
|
|
|
#ifdef INET6
|
|
extern BOOLEAN HTCheckAddrInfo(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 */
|