2N/A/*
2N/A * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
2N/A * Use is subject to license terms.
2N/A */
2N/A
2N/A
2N/A#ifndef _PORT_NETDB_H
2N/A#define _PORT_NETDB_H
2N/A
2N/A#ifdef __cplusplus
2N/Aextern "C" {
2N/A#endif
2N/A
2N/A/* AI_NUMERICSERV is not a valid flag for getaddrinfo */
2N/A#define AI_MASK 0x0038 /* mask of valid flags */
2N/A
2N/A/* EAI_OVERFLOW was removed from ISC */
2N/A#define EAI_BADHINTS 12
2N/A
2N/A/*
2N/A * these are libresolv2 functions that were renamed in previous versions to
2N/A * res_* because they conflict with libnsl or libsocket
2N/A */
2N/A
2N/A#define endhostent res_endhostent /* libnsl */
2N/Avoid endhostent __P((void));
2N/A#define endnetent res_endnetent /* libsocket */
2N/Avoid endnetent __P((void));
2N/A#define freeaddrinfo res_freeaddrinfo /* libsocket */
2N/Avoid freeaddrinfo __P((struct addrinfo *));
2N/A#define freehostent res_freehostent /* libsocket and libnsl */
2N/Avoid freehostent __P((struct hostent *));
2N/A#define getaddrinfo res_getaddrinfo /* libsocket */
2N/Aint getaddrinfo __P((const char *, const char *,
2N/A const struct addrinfo *, struct addrinfo **));
2N/A#define gethostbyaddr res_gethostbyaddr /* libnsl */
2N/Astruct hostent *gethostbyaddr __P((const char *, int, int));
2N/A#define gethostbyname res_gethostbyname /* libnsl */
2N/Astruct hostent *gethostbyname __P((const char *));
2N/A#define gethostbyname2 res_gethostbyname2 /* lib/nsswitch/dns */
2N/Astruct hostent *gethostbyname2 __P((const char *, int));
2N/A#define gethostent res_gethostent /* libnsl */
2N/Astruct hostent *gethostent __P((void));
2N/A#define getipnodebyaddr res_getipnodebyaddr /* libnsl and libsocket */
2N/Astruct hostent *getipnodebyaddr __P((const void *, size_t, int, int *));
2N/A#define getipnodebyname res_getipnodebyname /* libnsl and libsocket */
2N/Astruct hostent *getipnodebyname __P((const char *, int, int, int *));
2N/A
2N/A#define getnetbyaddr res_getnetbyaddr /* libsocket */
2N/Astruct netent *getnetbyaddr __P((unsigned long, int));
2N/A#define getnetbyname res_getnetbyname /* libsocket */
2N/Astruct netent *getnetbyname __P((const char *));
2N/A#define getnetent res_getnetent /* libsocket */
2N/Astruct netent *getnetent __P((void));
2N/A#define sethostent res_sethostent /* libnsl */
2N/Avoid sethostent __P((int));
2N/A#define setnetent res_setnetent /* libsocket */
2N/Avoid setnetent __P((int));
2N/A
2N/A/*
2N/A * these are other irs functions now included in libresolv.so.2. We rename the
2N/A * ones that overlap with libsocket or libnsl
2N/A */
2N/A
2N/A/* endprotoent is in libsocket.so.1 */
2N/A#define endprotoent res_endprotoent
2N/Avoid endprotoent __P((void));
2N/A
2N/A/* endservent is in libsocket.so.1 */
2N/A#define endservent res_endservent
2N/Avoid endservent __P((void));
2N/A
2N/A/* note: the next two symbols are variables, not functions */
2N/A
2N/A/* gai_errlist is in libsocket.so.1 */
2N/A#define gai_errlist res_gai_errlist
2N/A
2N/A/* gai_nerr is in libsocket.so.1 */
2N/A#define gai_nerr res_gai_nerr
2N/A
2N/A/* gai_strerror is in libsocket.so.1 */
2N/A#define gai_strerror res_gai_strerror
2N/Aconst char *gai_strerror __P((int ecode));
2N/A
2N/A/* gethostbyaddr_r is in libnsl.so.1 */
2N/A#define gethostbyaddr_r res_gethostbyaddr_r
2N/Astruct hostent *gethostbyaddr_r __P((const char *addr, int len, int type,
2N/A struct hostent *hptr, char *buf,
2N/A int buflen, int *h_errnop));
2N/A
2N/A/* gethostbyname_r is in libnsl.so.1 */
2N/A#define gethostbyname_r res_gethostbyname_r
2N/Astruct hostent *gethostbyname_r __P((const char *name, struct hostent *hptr,
2N/A char *buf, int buflen, int *h_errnop));
2N/A
2N/A/* gethostent_r is in libnsl.so.1 */
2N/A#define gethostent_r res_gethostent_r
2N/Astruct hostent *gethostent_r __P((struct hostent *hptr, char *buf, int buflen,
2N/A int *h_errnop));
2N/A
2N/A/* getnameinfo is in libsocket.so.1 */
2N/A#define getnameinfo res_getnameinfo
2N/Aint getnameinfo __P((const struct sockaddr *, size_t, char *,
2N/A size_t, char *, size_t, int));
2N/A
2N/A/* getnetbyaddr_r is in libsocket.so.1 */
2N/A#define getnetbyaddr_r res_getnetbyaddr_r
2N/Astruct netent *getnetbyaddr_r __P((long, int, struct netent *, char *, int));
2N/A
2N/A/* getnetbyname_r is in libsocket.so.1 */
2N/A#define getnetbyname_r res_getnetbyname_r
2N/Astruct netent *getnetbyname_r __P((const char *, struct netent *, char *, int));
2N/A
2N/A/* getnetent_r is in libsocket.so.1 */
2N/A#define getnetent_r res_getnetent_r
2N/Astruct netent *getnetent_r __P((struct netent *, char *, int));
2N/A
2N/A/* getprotobyname is in libsocket.so.1 */
2N/A#define getprotobyname res_getprotobyname
2N/Astruct protoent *getprotobyname __P((const char *));
2N/A
2N/A/* getprotobyname_r is in libsocket.so.1 */
2N/A#define getprotobyname_r res_getprotobyname_r
2N/Astruct protoent *getprotobyname_r __P((const char *, struct protoent *,
2N/A char *, int));
2N/A
2N/A/* getprotobynumber is in libsocket.so.1 */
2N/A#define getprotobynumber res_getprotobynumber
2N/Astruct protoent *getprotobynumber __P((int));
2N/A
2N/A/* getprotobynumber_r is in libsocket.so.1 */
2N/A#define getprotobynumber_r res_getprotobynumber_r
2N/Astruct protoent *getprotobynumber_r __P((int,
2N/A struct protoent *, char *, int));
2N/A
2N/A/* getprotoent is in libsocket.so.1 */
2N/A#define getprotoent res_getprotoent
2N/Astruct protoent *getprotoent __P((void));
2N/A
2N/A/* getprotoent_r is in libsocket.so.1 */
2N/A#define getprotoent_r res_getprotoent_r
2N/Astruct protoent *getprotoent_r __P((struct protoent *, char *, int));
2N/A
2N/A/* getservbyname is in libsocket.so.1 and libnsl.so.1 */
2N/A#define getservbyname res_getservbyname
2N/Astruct servent *getservbyname __P((const char *, const char *));
2N/A
2N/A/* getservbyname_r is in libsocket.so.1 and libnsl.so.1 */
2N/A#define getservbyname_r res_getservbyname_r
2N/Astruct servent *getservbyname_r __P((const char *name, const char *,
2N/A struct servent *, char *, int));
2N/A
2N/A/* getservbyport is in libsocket.so.1 and libnsl.so.1 */
2N/A#define getservbyport res_getservbyport
2N/Astruct servent *getservbyport __P((int, const char *));
2N/A
2N/A/* getservbyport_r is in libsocket.so.1 and libnsl.so.1 */
2N/A#define getservbyport_r res_getservbyport_r
2N/Astruct servent *getservbyport_r __P((int port, const char *,
2N/A struct servent *, char *, int));
2N/A
2N/A/* getservent is in libsocket.so.1 */
2N/A#define getservent res_getservent
2N/Astruct servent *getservent __P((void));
2N/A
2N/A/* getservent_r is in libsocket.so.1 */
2N/A#define getservent_r res_getservent_r
2N/Astruct servent *getservent_r __P((struct servent *, char *, int));
2N/A
2N/A/* innetgr is in libsocket.so.1 */
2N/A#define innetgr res_innetgr
2N/Aint innetgr __P((const char *, const char *, const char *, const char *));
2N/A
2N/A/* setprotoent is in libsocket.so.1 */
2N/A#define setprotoent res_setprotoent
2N/Avoid setprotoent __P((int));
2N/A
2N/A/* setservent is in libsocket.so.1 */
2N/A#define setservent res_setservent
2N/Avoid setservent __P((int));
2N/A
2N/A
2N/A
2N/A#ifdef __cplusplus
2N/A}
2N/A#endif
2N/A
2N/A#endif /* _PORT_NETDB_H */