home *** CD-ROM | disk | FTP | other *** search
/ Amiga Developer CD v1.2 / amidev_cd_12.iso / devcon / milan_1991 / devcon91.2 / network / socket / include / netdb.h < prev    next >
C/C++ Source or Header  |  1992-09-01  |  3KB  |  97 lines

  1. /*
  2.  * Copyright (c) 1980, 1983, 1988 Regents of the University of California.
  3.  * All rights reserved.
  4.  *
  5.  * Redistribution and use in source and binary forms are permitted
  6.  * provided that the above copyright notice and this paragraph are
  7.  * duplicated in all such forms and that any documentation,
  8.  * advertising materials, and other materials related to such
  9.  * distribution and use acknowledge that the software was developed
  10.  * by the University of California, Berkeley.  The name of the
  11.  * University may not be used to endorse or promote products derived
  12.  * from this software without specific prior written permission.
  13.  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
  14.  * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
  15.  * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  16.  *
  17.  *    @(#)netdb.h    5.10 (Berkeley) 6/27/88
  18.  */
  19.  
  20. #ifndef NETDB_H
  21. #define NETDB_H
  22.  
  23. /*
  24.  * Structures returned by network
  25.  * data base library.  All addresses
  26.  * are supplied in host order, and
  27.  * returned in network order (suitable
  28.  * for use in system calls).
  29.  */
  30. struct    hostent {
  31.     char    *h_name;    /* official name of host */
  32.     char    **h_aliases;    /* alias list */
  33.     int    h_addrtype;    /* host address type */
  34.     int    h_length;    /* length of address */
  35.     char    **h_addr_list;    /* list of addresses from name server */
  36. #define    h_addr    h_addr_list[0]    /* address, for backward compatiblity */
  37. };
  38.  
  39. /*
  40.  * Assumption here is that a network number
  41.  * fits in 32 bits -- probably a poor one.
  42.  */
  43. struct    netent {
  44.     char        *n_name;    /* official name of net */
  45.     char        **n_aliases;    /* alias list */
  46.     int        n_addrtype;    /* net address type */
  47.     unsigned long    n_net;        /* network # */
  48. };
  49.  
  50. struct    servent {
  51.     char    *s_name;    /* official service name */
  52.     char    **s_aliases;    /* alias list */
  53.     int    s_port;        /* port # */
  54.     char    *s_proto;    /* protocol to use */
  55. };
  56.  
  57. struct    protoent {
  58.     char    *p_name;    /* official protocol name */
  59.     char    **p_aliases;    /* alias list */
  60.     int    p_proto;    /* protocol # */
  61. };
  62.  
  63. struct rpcent {
  64.     char    *r_name;    /* name of server for this rpc program */
  65.     char    **r_aliases;    /* alias list */
  66.     long    r_number;    /* rpc program number */
  67. };
  68.  
  69. /* these are also declared in ss/socket.h */
  70.  
  71. struct netent *getnetbyaddr ( long, int );
  72. struct netent *getnetbyname ( char * );
  73. struct netent *getnetent ( void );
  74. struct protoent *getprotobyname ( char * );
  75. struct protoent *getprotobynumber ( int );
  76. struct protoent *getprotoent ( void );
  77. struct servent *getservent ( void );
  78. struct servent *getservbyname ( char *, char * );
  79. struct servent *getservbyport ( u_short, char * );
  80.  
  81.  
  82.  
  83. /*
  84.  * Error return codes from gethostbyname() and gethostbyaddr()
  85.  * (left in extern int h_errno).
  86.  */
  87.  
  88. /* not currently implemented for the Amiga */
  89.  
  90. /*#define    HOST_NOT_FOUND    1  Authoritative Answer Host not found */
  91. /*#define    TRY_AGAIN    2  Non-Authoritive Host not found, or SERVERFAIL */
  92. /*#define    NO_RECOVERY    3  Non recoverable errors, FORMERR, REFUSED, NOTIMP */
  93. /*#define    NO_DATA        4  Valid name, no data record of requested type */
  94. /*#define    NO_ADDRESS    NO_DATA         no address, look for MX record */
  95.  
  96. #endif /* NETDB_H */
  97.