source: trunk/third/nmh/h/netdb.h @ 12455

Revision 12455, 2.3 KB checked in by danw, 26 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r12454, which included commits to RCS files with non-trunk default branches.
Line 
1/*
2 * netdb.h
3 *
4 * Copyright (c) 1980,1983,1988 Regents of the University of California.
5 * All rights reserved.
6 *
7 * Redistribution and use in source and binary forms are permitted
8 * provided that this notice is preserved and that due credit is given
9 * to the University of California at Berkeley. The name of the University
10 * may not be used to endorse or promote products derived from this
11 * software without specific prior written permission. This software
12 * is provided ``as is'' without express or implied warranty.
13 *
14 * $Id: netdb.h,v 1.1.1.1 1999-02-07 18:14:06 danw Exp $
15 */
16
17/*
18 * Structures returned by network
19 * data base library.  All addresses
20 * are supplied in host order, and
21 * returned in network order (suitable
22 * for use in system calls).
23 */
24struct  hostent {
25        char    *h_name;        /* official name of host */
26        char    **h_aliases;    /* alias list */
27        int     h_addrtype;     /* host address type */
28        int     h_length;       /* length of address */
29        char    **h_addr_list;  /* list of addresses from name server */
30#define h_addr  h_addr_list[0]  /* address, for backward compatiblity */
31};
32
33/*
34 * Assumption here is that a network number
35 * fits in 32 bits -- probably a poor one.
36 */
37struct  netent {
38        char            *n_name;        /* official name of net */
39        char            **n_aliases;    /* alias list */
40        int             n_addrtype;     /* net address type */
41        unsigned long   n_net;          /* network # */
42};
43
44struct  servent {
45        char    *s_name;        /* official service name */
46        char    **s_aliases;    /* alias list */
47        int     s_port;         /* port # */
48        char    *s_proto;       /* protocol to use */
49};
50
51struct  protoent {
52        char    *p_name;        /* official protocol name */
53        char    **p_aliases;    /* alias list */
54        int     p_proto;        /* protocol # */
55};
56
57struct hostent  *gethostbyname(), *gethostbyaddr(), *gethostent();
58struct netent   *getnetbyname(), *getnetbyaddr(), *getnetent();
59struct servent  *getservbyname(), *getservbyport(), *getservent();
60struct protoent *getprotobyname(), *getprotobynumber(), *getprotoent();
61
62/*
63 * Error return codes from gethostbyname() and gethostbyaddr()
64 * (left in extern int h_errno).
65 */
66
67#define HOST_NOT_FOUND  1 /* Authoritative Answer Host not found */
68#define TRY_AGAIN       2 /* Non-Authoritive Host not found, or SERVERFAIL */
69#define NO_RECOVERY     3 /* Non recoverable errors, FORMERR, REFUSED, NOTIMP */
70#define NO_DATA         4 /* Valid name, no data record of requested type */
71#define NO_ADDRESS      NO_DATA         /* no address, look for MX record */
Note: See TracBrowser for help on using the repository browser.