1 /*
   2  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
   3  * Use is subject to license terms.
   4  */
   5 
   6 
   7 #ifndef _PORT_NETDB_H
   8 #define _PORT_NETDB_H
   9 
  10 #ifdef  __cplusplus
  11 extern "C" {
  12 #endif
  13 
  14 /* EAI_OVERFLOW was removed from ISC */
  15 #define EAI_BADHINTS  12
  16 
  17 /*
  18  * these are libresolv2 functions that were renamed in previous versions to
  19  * res_* because they conflict with libnsl or libsocket
  20  */
  21 
  22 #define endhostent res_endhostent /* libnsl */
  23 void endhostent __P((void));
  24 #define endnetent res_endnetent  /* libsocket */
  25 void endnetent __P((void));
  26 #define freeaddrinfo res_freeaddrinfo /* libsocket */
  27 void freeaddrinfo __P((struct addrinfo *));
  28 #define freehostent res_freehostent  /* libsocket and libnsl */
  29 void freehostent __P((struct hostent *));
  30 #define getaddrinfo res_getaddrinfo  /* libsocket */
  31 int getaddrinfo __P((const char *, const char *,
  32                                 const struct addrinfo *, struct addrinfo **));
  33 #define gethostbyaddr res_gethostbyaddr /* libnsl */
  34 struct hostent *gethostbyaddr __P((const char *, int, int));
  35 #define gethostbyname res_gethostbyname /* libnsl */
  36 struct hostent *gethostbyname __P((const char *));
  37 #define gethostbyname2 res_gethostbyname2 /* lib/nsswitch/dns */
  38 struct hostent *gethostbyname2 __P((const char *, int));
  39 #define gethostent res_gethostent  /* libnsl */
  40 struct hostent *gethostent __P((void));
  41 #define getipnodebyaddr res_getipnodebyaddr  /* libnsl and libsocket */
  42 struct hostent *getipnodebyaddr __P((const void *, size_t, int, int *));
  43 #define getipnodebyname res_getipnodebyname  /* libnsl and libsocket */
  44 struct hostent *getipnodebyname __P((const char *, int, int, int *));
  45 
  46 #define getnetbyaddr res_getnetbyaddr /* libsocket */
  47 struct netent *getnetbyaddr __P((unsigned long, int));
  48 #define getnetbyname res_getnetbyname /* libsocket */
  49 struct netent *getnetbyname __P((const char *));
  50 #define getnetent res_getnetent /* libsocket */
  51 struct netent *getnetent __P((void));
  52 #define sethostent res_sethostent /* libnsl */
  53 void sethostent __P((int));
  54 #define setnetent res_setnetent /* libsocket */
  55 void setnetent __P((int));
  56 
  57 /*
  58  * these are other irs functions now included in libresolv.so.2. We rename the
  59  * ones that overlap with libsocket or libnsl
  60  */
  61 
  62 /* endprotoent is in libsocket.so.1 */
  63 #define endprotoent res_endprotoent
  64 void            endprotoent __P((void));
  65 
  66 /* endservent is in libsocket.so.1 */
  67 #define endservent res_endservent
  68 void            endservent __P((void));
  69 
  70 /* note: the next two symbols are variables, not functions */
  71 
  72 /* gai_errlist is in libsocket.so.1 */
  73 #define gai_errlist res_gai_errlist
  74 
  75 /* gai_nerr is in libsocket.so.1 */
  76 #define gai_nerr res_gai_nerr
  77 
  78 /* gai_strerror is in libsocket.so.1 */
  79 #define gai_strerror res_gai_strerror
  80 const char *gai_strerror __P((int ecode));
  81 
  82 /* gethostbyaddr_r is in libnsl.so.1 */
  83 #define gethostbyaddr_r res_gethostbyaddr_r
  84 struct hostent *gethostbyaddr_r __P((const char *addr, int len, int type,
  85                                 struct hostent *hptr, char *buf,
  86                                 int buflen, int *h_errnop));
  87 
  88 /* gethostbyname_r is in libnsl.so.1 */
  89 #define gethostbyname_r res_gethostbyname_r
  90 struct hostent *gethostbyname_r __P((const char *name,   struct hostent *hptr,
  91                                 char *buf, int buflen, int *h_errnop));
  92 
  93 /* gethostent_r is in libnsl.so.1 */
  94 #define gethostent_r res_gethostent_r
  95 struct hostent *gethostent_r __P((struct hostent *hptr, char *buf, int buflen,
  96                                 int *h_errnop));
  97 
  98 /* getnameinfo is in libsocket.so.1 */
  99 #define getnameinfo res_getnameinfo
 100 int getnameinfo __P((const struct sockaddr *, size_t, char *,
 101                                 size_t, char *, size_t, int));
 102 
 103 /* getnetbyaddr_r is in libsocket.so.1 */
 104 #define getnetbyaddr_r res_getnetbyaddr_r
 105 struct netent *getnetbyaddr_r __P((long, int, struct netent *, char *, int));
 106 
 107 /* getnetbyname_r is in libsocket.so.1 */
 108 #define getnetbyname_r res_getnetbyname_r
 109 struct netent *getnetbyname_r __P((const char *, struct netent *, char *, int));
 110 
 111 /* getnetent_r is in libsocket.so.1 */
 112 #define getnetent_r res_getnetent_r
 113 struct netent *getnetent_r __P((struct netent *, char *, int));
 114 
 115 /* getprotobyname is in libsocket.so.1 */
 116 #define getprotobyname res_getprotobyname
 117 struct protoent *getprotobyname __P((const char *));
 118 
 119 /* getprotobyname_r is in libsocket.so.1 */
 120 #define getprotobyname_r res_getprotobyname_r
 121 struct protoent *getprotobyname_r __P((const char *, struct protoent *,
 122                                 char *, int));
 123 
 124 /* getprotobynumber is in libsocket.so.1 */
 125 #define getprotobynumber res_getprotobynumber
 126 struct protoent *getprotobynumber __P((int));
 127 
 128 /* getprotobynumber_r is in libsocket.so.1 */
 129 #define getprotobynumber_r res_getprotobynumber_r
 130 struct protoent *getprotobynumber_r __P((int,
 131                                 struct protoent *, char *, int));
 132 
 133 /* getprotoent is in libsocket.so.1 */
 134 #define getprotoent res_getprotoent
 135 struct protoent *getprotoent __P((void));
 136 
 137 /* getprotoent_r is in libsocket.so.1 */
 138 #define getprotoent_r res_getprotoent_r
 139 struct protoent *getprotoent_r __P((struct protoent *, char *, int));
 140 
 141 /* getservbyname is in libsocket.so.1 and libnsl.so.1 */
 142 #define getservbyname res_getservbyname
 143 struct servent *getservbyname __P((const char *, const char *));
 144 
 145 /* getservbyname_r is in libsocket.so.1 and libnsl.so.1 */
 146 #define getservbyname_r res_getservbyname_r
 147 struct servent *getservbyname_r __P((const char *name, const char *,
 148                                 struct servent *, char *, int));
 149 
 150 /* getservbyport is in libsocket.so.1 and libnsl.so.1 */
 151 #define getservbyport res_getservbyport
 152 struct servent *getservbyport __P((int, const char *));
 153 
 154 /* getservbyport_r is in libsocket.so.1 and libnsl.so.1 */
 155 #define getservbyport_r res_getservbyport_r
 156 struct servent *getservbyport_r __P((int port, const char *,
 157                                 struct servent *, char *, int));
 158 
 159 /* getservent is in libsocket.so.1 */
 160 #define getservent res_getservent
 161 struct servent *getservent __P((void));
 162 
 163 /* getservent_r is in libsocket.so.1 */
 164 #define getservent_r res_getservent_r
 165 struct servent *getservent_r __P((struct servent *, char *, int));
 166 
 167 /* innetgr is in libsocket.so.1 */
 168 #define innetgr res_innetgr
 169 int innetgr __P((const char *, const char *, const char *, const char *));
 170 
 171 /* setprotoent is in libsocket.so.1 */
 172 #define setprotoent res_setprotoent
 173 void setprotoent __P((int));
 174 
 175 /* setservent is in libsocket.so.1 */
 176 #define setservent res_setservent
 177 void setservent __P((int));
 178 
 179 
 180 
 181 #ifdef  __cplusplus
 182 }
 183 #endif
 184 
 185 #endif /* _PORT_NETDB_H */