#ifndef _NETDB_H
#define _NETDB_H
#ifdef __cplusplus
extern "C" {
#endif
#define _PATH_HEQUIV "/etc/hosts.equiv"
#define _PATH_HOSTS "/etc/hosts"
#define _PATH_NETWORKS "/etc/networks"
#define _PATH_PROTOCOLS "/etc/protocols"
#define _PATH_SERVICES "/etc/services"
struct hostent {
char *h_name;
char **h_aliases;
int h_addrtype;
int h_length;
char **h_addr_list;
#define h_addr h_addr_list[0]
};
struct netent {
char *n_name;
char **n_aliases;
int n_addrtype;
unsigned long n_net;
};
struct servent {
char *s_name;
char **s_aliases;
int s_port;
char *s_proto;
};
struct protoent {
char *p_name;
char **p_aliases;
int p_proto;
};
#ifdef __STDC__
struct hostent *gethostbyname_r
(const char *, struct hostent *, char *, int, int *h_errnop);
struct hostent *gethostbyaddr_r
(const char *, int, int, struct hostent *, char *, int, int *h_errnop);
struct hostent *gethostent_r(struct hostent *, char *, int, int *h_errnop);
struct servent *getservbyname_r
(const char *name, const char *, struct servent *, char *, int);
struct servent *getservbyport_r
(int port, const char *, struct servent *, char *, int);
struct servent *getservent_r(struct servent *, char *, int);
struct netent *getnetbyname_r
(const char *, struct netent *, char *, int);
struct netent *getnetbyaddr_r(long, int, struct netent *, char *, int);
struct netent *getnetent_r(struct netent *, char *, int);
struct protoent *getprotobyname_r
(const char *, struct protoent *, char *, int);
struct protoent *getprotobynumber_r
(int, struct protoent *, char *, int);
struct protoent *getprotoent_r(struct protoent *, char *, int);
int getnetgrent_r(char **, char **, char **, char *, int);
int innetgr(const char *, const char *, const char *, const char *);
struct hostent *gethostbyname(const char *);
struct hostent *gethostbyaddr(const char *, int, int);
struct hostent *gethostent(void);
struct netent *getnetbyname(const char *);
struct netent *getnetbyaddr(long, int);
struct netent *getnetent(void);
struct servent *getservbyname(const char *, const char *);
struct servent *getservbyport(int, const char *);
struct servent *getservent(void);
struct protoent *getprotobyname(const char *);
struct protoent *getprotobynumber(int);
struct protoent *getprotoent(void);
int getnetgrent(char **, char **, char **);
int sethostent(int);
int endhostent(void);
int setnetent(int);
int endnetent(void);
int setservent(int);
int endservent(void);
int setprotoent(int);
int endprotoent(void);
int setnetgrent(const char *);
int endnetgrent(void);
int rcmd(char **ahost, unsigned short inport,
const char *luser, const char *ruser, const char *cmd, int *fd2p);
int rexec(char **ahost, unsigned short inport,
const char *user, const char *passwd, const char *cmd, int *fd2p);
int rresvport(int *);
int ruserok(const char *rhost, int suser, const char *ruser, const char *luser);
#else
struct hostent *gethostbyname_r();
struct hostent *gethostbyaddr_r();
struct hostent *gethostent_r();
struct servent *getservbyname_r();
struct servent *getservbyport_r();
struct servent *getservent_r();
struct netent *getnetbyname_r();
struct netent *getnetbyaddr_r();
struct netent *getnetent_r();
struct protoent *getprotobyname_r();
struct protoent *getprotobynumber_r();
struct protoent *getprotoent_r();
int getnetgrent_r();
int innetgr();
struct hostent *gethostbyname();
struct hostent *gethostbyaddr();
struct hostent *gethostent();
struct netent *getnetbyname();
struct netent *getnetbyaddr();
struct netent *getnetent();
struct servent *getservbyname();
struct servent *getservbyport();
struct servent *getservent();
struct protoent *getprotobyname();
struct protoent *getprotobynumber();
struct protoent *getprotoent();
int getnetgrent();
int sethostent();
int endhostent();
int setnetent();
int endnetent();
int setservent();
int endservent();
int setprotoent();
int endprotoent();
int setnetgrent();
int endnetgrent();
int rcmd();
int rexec();
int rresvport();
int ruserok();
#endif
extern int h_errno;
#define HOST_NOT_FOUND 1
#define TRY_AGAIN 2
#define NO_RECOVERY 3
#define NO_DATA 4
#define NO_ADDRESS NO_DATA
#define MAXHOSTNAMELEN 256
#define MAXALIASES 35
#define MAXADDRS 35
#ifdef __cplusplus
}
#endif
#endif