Annotation of 43BSD/include/netdb.h, revision 1.1.1.1

1.1       root        1: /*
                      2:  * Copyright (c) 1980 Regents of the University of California.
                      3:  * All rights reserved.  The Berkeley software License Agreement
                      4:  * specifies the terms and conditions for redistribution.
                      5:  *
                      6:  *     @(#)netdb.h     5.7 (Berkeley) 5/12/86
                      7:  */
                      8: 
                      9: /*
                     10:  * Structures returned by network
                     11:  * data base library.  All addresses
                     12:  * are supplied in host order, and
                     13:  * returned in network order (suitable
                     14:  * for use in system calls).
                     15:  */
                     16: struct hostent {
                     17:        char    *h_name;        /* official name of host */
                     18:        char    **h_aliases;    /* alias list */
                     19:        int     h_addrtype;     /* host address type */
                     20:        int     h_length;       /* length of address */
                     21:        char    **h_addr_list;  /* list of addresses from name server */
                     22: #define        h_addr  h_addr_list[0]  /* address, for backward compatiblity */
                     23: };
                     24: 
                     25: /*
                     26:  * Assumption here is that a network number
                     27:  * fits in 32 bits -- probably a poor one.
                     28:  */
                     29: struct netent {
                     30:        char            *n_name;        /* official name of net */
                     31:        char            **n_aliases;    /* alias list */
                     32:        int             n_addrtype;     /* net address type */
                     33:        unsigned long   n_net;          /* network # */
                     34: };
                     35: 
                     36: struct servent {
                     37:        char    *s_name;        /* official service name */
                     38:        char    **s_aliases;    /* alias list */
                     39:        int     s_port;         /* port # */
                     40:        char    *s_proto;       /* protocol to use */
                     41: };
                     42: 
                     43: struct protoent {
                     44:        char    *p_name;        /* official protocol name */
                     45:        char    **p_aliases;    /* alias list */
                     46:        int     p_proto;        /* protocol # */
                     47: };
                     48: 
                     49: struct hostent *gethostbyname(), *gethostbyaddr(), *gethostent();
                     50: struct netent  *getnetbyname(), *getnetbyaddr(), *getnetent();
                     51: struct servent *getservbyname(), *getservbyport(), *getservent();
                     52: struct protoent        *getprotobyname(), *getprotobynumber(), *getprotoent();
                     53: 
                     54: /*
                     55:  * Error return codes from gethostbyname() and gethostbyaddr()
                     56:  */
                     57: 
                     58: extern  int h_errno;   
                     59: 
                     60: #define        HOST_NOT_FOUND  1 /* Authoritive Answer Host not found */
                     61: #define        TRY_AGAIN       2 /* Non-Authoritive Host not found, or SERVERFAIL */
                     62: #define        NO_RECOVERY     3 /* Non recoverable errors, FORMERR, REFUSED, NOTIMP */
                     63: #define NO_ADDRESS     4 /* Valid host name, no address, look for MX record */

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.