1135549Sdes/* $FreeBSD$ */ 2135549Sdes 3135549Sdes/* 4193149Sdougb * Copyright (C) 2004, 2005, 2007, 2009 Internet Systems Consortium, Inc. ("ISC") 5135549Sdes * Copyright (C) 2000, 2001 Internet Software Consortium. 6135549Sdes * 7193149Sdougb * Permission to use, copy, modify, and/or distribute this software for any 8135549Sdes * purpose with or without fee is hereby granted, provided that the above 9135549Sdes * copyright notice and this permission notice appear in all copies. 10135549Sdes * 11135549Sdes * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH 12135549Sdes * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY 13135549Sdes * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, 14135549Sdes * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM 15135549Sdes * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE 16135549Sdes * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 17135549Sdes * PERFORMANCE OF THIS SOFTWARE. 18135549Sdes */ 19135549Sdes 20234010Sdougb/* $Id: netdb.h.in,v 1.41 2009/01/18 23:48:14 tbox Exp $ */ 21135549Sdes 22170224Sdougb/*! \file */ 23170224Sdougb 24135549Sdes#ifndef LWRES_NETDB_H 25135549Sdes#define LWRES_NETDB_H 1 26135549Sdes 27135549Sdes#include <stddef.h> /* Required on FreeBSD (and others?) for size_t. */ 28135549Sdes#include <netdb.h> /* Contractual provision. */ 29135549Sdes 30135549Sdes#include <lwres/lang.h> 31135549Sdes 32135549Sdes/* 33135549Sdes * Define if <netdb.h> does not declare struct addrinfo. 34135549Sdes */ 35135549Sdes#undef ISC_LWRES_NEEDADDRINFO 36135549Sdes 37135549Sdes#ifdef ISC_LWRES_NEEDADDRINFO 38135549Sdesstruct addrinfo { 39135549Sdes int ai_flags; /* AI_PASSIVE, AI_CANONNAME */ 40135549Sdes int ai_family; /* PF_xxx */ 41135549Sdes int ai_socktype; /* SOCK_xxx */ 42135549Sdes int ai_protocol; /* 0 or IPPROTO_xxx for IPv4 and IPv6 */ 43135549Sdes size_t ai_addrlen; /* Length of ai_addr */ 44135549Sdes char *ai_canonname; /* Canonical name for hostname */ 45135549Sdes struct sockaddr *ai_addr; /* Binary address */ 46135549Sdes struct addrinfo *ai_next; /* Next structure in linked list */ 47135549Sdes}; 48135549Sdes#endif 49135549Sdes 50135549Sdes/* 51135549Sdes * Undefine all #defines we are interested in as <netdb.h> may or may not have 52135549Sdes * defined them. 53135549Sdes */ 54135549Sdes 55135549Sdes/* 56135549Sdes * Error return codes from gethostbyname() and gethostbyaddr() 57135549Sdes * (left in extern int h_errno). 58135549Sdes */ 59135549Sdes 60135549Sdes#undef NETDB_INTERNAL 61135549Sdes#undef NETDB_SUCCESS 62135549Sdes#undef HOST_NOT_FOUND 63135549Sdes#undef TRY_AGAIN 64135549Sdes#undef NO_RECOVERY 65135549Sdes#undef NO_DATA 66135549Sdes#undef NO_ADDRESS 67135549Sdes 68135549Sdes#define NETDB_INTERNAL -1 /* see errno */ 69135549Sdes#define NETDB_SUCCESS 0 /* no problem */ 70135549Sdes#define HOST_NOT_FOUND 1 /* Authoritative Answer Host not found */ 71193149Sdougb#define TRY_AGAIN 2 /* Non-Authoritative Host not found, or SERVERFAIL */ 72135549Sdes#define NO_RECOVERY 3 /* Non recoverable errors, FORMERR, REFUSED, NOTIMP */ 73135549Sdes#define NO_DATA 4 /* Valid name, no data record of requested type */ 74135549Sdes#define NO_ADDRESS NO_DATA /* no address, look for MX record */ 75135549Sdes 76135549Sdes/* 77135549Sdes * Error return codes from getaddrinfo() 78135549Sdes */ 79135549Sdes 80135549Sdes#undef EAI_ADDRFAMILY 81135549Sdes#undef EAI_AGAIN 82135549Sdes#undef EAI_BADFLAGS 83135549Sdes#undef EAI_FAIL 84135549Sdes#undef EAI_FAMILY 85135549Sdes#undef EAI_MEMORY 86135549Sdes#undef EAI_NODATA 87135549Sdes#undef EAI_NONAME 88135549Sdes#undef EAI_SERVICE 89135549Sdes#undef EAI_SOCKTYPE 90135549Sdes#undef EAI_SYSTEM 91135549Sdes#undef EAI_BADHINTS 92135549Sdes#undef EAI_PROTOCOL 93135549Sdes#undef EAI_MAX 94135549Sdes 95135549Sdes#define EAI_ADDRFAMILY 1 /* address family for hostname not supported */ 96135549Sdes#define EAI_AGAIN 2 /* temporary failure in name resolution */ 97135549Sdes#define EAI_BADFLAGS 3 /* invalid value for ai_flags */ 98135549Sdes#define EAI_FAIL 4 /* non-recoverable failure in name resolution */ 99135549Sdes#define EAI_FAMILY 5 /* ai_family not supported */ 100135549Sdes#define EAI_MEMORY 6 /* memory allocation failure */ 101135549Sdes#define EAI_NODATA 7 /* no address associated with hostname */ 102135549Sdes#define EAI_NONAME 8 /* hostname nor servname provided, or not known */ 103135549Sdes#define EAI_SERVICE 9 /* servname not supported for ai_socktype */ 104135549Sdes#define EAI_SOCKTYPE 10 /* ai_socktype not supported */ 105135549Sdes#define EAI_SYSTEM 11 /* system error returned in errno */ 106135549Sdes#define EAI_BADHINTS 12 107135549Sdes#define EAI_PROTOCOL 13 108135549Sdes#define EAI_MAX 14 109135549Sdes 110135549Sdes/* 111135549Sdes * Flag values for getaddrinfo() 112135549Sdes */ 113135549Sdes#undef AI_PASSIVE 114135549Sdes#undef AI_CANONNAME 115135549Sdes#undef AI_NUMERICHOST 116135549Sdes 117135549Sdes#define AI_PASSIVE 0x00000001 118135549Sdes#define AI_CANONNAME 0x00000002 119135549Sdes#define AI_NUMERICHOST 0x00000004 120135549Sdes 121135549Sdes/* 122135549Sdes * Flag values for getipnodebyname() 123135549Sdes */ 124135549Sdes#undef AI_V4MAPPED 125135549Sdes#undef AI_ALL 126135549Sdes#undef AI_ADDRCONFIG 127135549Sdes#undef AI_DEFAULT 128135549Sdes 129135549Sdes#define AI_V4MAPPED 0x00000008 130135549Sdes#define AI_ALL 0x00000010 131135549Sdes#define AI_ADDRCONFIG 0x00000020 132135549Sdes#define AI_DEFAULT (AI_V4MAPPED|AI_ADDRCONFIG) 133135549Sdes 134135549Sdes/* 135135549Sdes * Constants for lwres_getnameinfo() 136135549Sdes */ 137135549Sdes#undef NI_MAXHOST 138135549Sdes#undef NI_MAXSERV 139135549Sdes 140135549Sdes#define NI_MAXHOST 1025 141135549Sdes#define NI_MAXSERV 32 142135549Sdes 143135549Sdes/* 144135549Sdes * Flag values for lwres_getnameinfo() 145135549Sdes */ 146135549Sdes#undef NI_NOFQDN 147135549Sdes#undef NI_NUMERICHOST 148135549Sdes#undef NI_NAMEREQD 149135549Sdes#undef NI_NUMERICSERV 150135549Sdes#undef NI_DGRAM 151135549Sdes#undef NI_NUMERICSCOPE 152135549Sdes 153135549Sdes#define NI_NOFQDN 0x00000001 154135549Sdes#define NI_NUMERICHOST 0x00000002 155135549Sdes#define NI_NAMEREQD 0x00000004 156135549Sdes#define NI_NUMERICSERV 0x00000008 157135549Sdes#define NI_DGRAM 0x00000010 158135549Sdes#define NI_NUMERICSCOPE 0x00000020 /*2553bis-00*/ 159135549Sdes 160135549Sdes/* 161135549Sdes * Define if <netdb.h> does not declare struct rrsetinfo. 162135549Sdes */ 163135549Sdes#define ISC_LWRES_NEEDRRSETINFO 1 164135549Sdes 165135549Sdes#ifdef ISC_LWRES_NEEDRRSETINFO 166135549Sdes/* 167135549Sdes * Structures for getrrsetbyname() 168135549Sdes */ 169135549Sdesstruct rdatainfo { 170135549Sdes unsigned int rdi_length; 171135549Sdes unsigned char *rdi_data; 172135549Sdes}; 173135549Sdes 174135549Sdesstruct rrsetinfo { 175135549Sdes unsigned int rri_flags; 176135549Sdes int rri_rdclass; 177135549Sdes int rri_rdtype; 178135549Sdes unsigned int rri_ttl; 179135549Sdes unsigned int rri_nrdatas; 180135549Sdes unsigned int rri_nsigs; 181135549Sdes char *rri_name; 182135549Sdes struct rdatainfo *rri_rdatas; 183135549Sdes struct rdatainfo *rri_sigs; 184135549Sdes}; 185135549Sdes 186135549Sdes/* 187135549Sdes * Flags for getrrsetbyname() 188135549Sdes */ 189135549Sdes#define RRSET_VALIDATED 0x00000001 190135549Sdes /* Set was dnssec validated */ 191135549Sdes 192135549Sdes/* 193135549Sdes * Return codes for getrrsetbyname() 194135549Sdes */ 195135549Sdes#define ERRSET_SUCCESS 0 196135549Sdes#define ERRSET_NOMEMORY 1 197135549Sdes#define ERRSET_FAIL 2 198135549Sdes#define ERRSET_INVAL 3 199135549Sdes#define ERRSET_NONAME 4 200135549Sdes#define ERRSET_NODATA 5 201135549Sdes#endif 202135549Sdes 203135549Sdes/* 204135549Sdes * Define to map into lwres_ namespace. 205135549Sdes */ 206135549Sdes 207135549Sdes#define LWRES_NAMESPACE 208135549Sdes 209135549Sdes#ifdef LWRES_NAMESPACE 210135549Sdes 211135549Sdes/* 212135549Sdes * Use our versions not the ones from the C library. 213135549Sdes */ 214135549Sdes 215135549Sdes#ifdef getnameinfo 216135549Sdes#undef getnameinfo 217135549Sdes#endif 218135549Sdes#define getnameinfo lwres_getnameinfo 219135549Sdes 220135549Sdes#ifdef getaddrinfo 221135549Sdes#undef getaddrinfo 222135549Sdes#endif 223135549Sdes#define getaddrinfo lwres_getaddrinfo 224135549Sdes 225135549Sdes#ifdef freeaddrinfo 226135549Sdes#undef freeaddrinfo 227135549Sdes#endif 228135549Sdes#define freeaddrinfo lwres_freeaddrinfo 229135549Sdes 230135549Sdes#ifdef gai_strerror 231135549Sdes#undef gai_strerror 232135549Sdes#endif 233135549Sdes#define gai_strerror lwres_gai_strerror 234135549Sdes 235135549Sdes#ifdef herror 236135549Sdes#undef herror 237135549Sdes#endif 238135549Sdes#define herror lwres_herror 239135549Sdes 240135549Sdes#ifdef hstrerror 241135549Sdes#undef hstrerror 242135549Sdes#endif 243135549Sdes#define hstrerror lwres_hstrerror 244135549Sdes 245135549Sdes#ifdef getipnodebyname 246135549Sdes#undef getipnodebyname 247135549Sdes#endif 248135549Sdes#define getipnodebyname lwres_getipnodebyname 249135549Sdes 250135549Sdes#ifdef getipnodebyaddr 251135549Sdes#undef getipnodebyaddr 252135549Sdes#endif 253135549Sdes#define getipnodebyaddr lwres_getipnodebyaddr 254135549Sdes 255135549Sdes#ifdef freehostent 256135549Sdes#undef freehostent 257135549Sdes#endif 258135549Sdes#define freehostent lwres_freehostent 259135549Sdes 260135549Sdes#ifdef gethostbyname 261135549Sdes#undef gethostbyname 262135549Sdes#endif 263135549Sdes#define gethostbyname lwres_gethostbyname 264135549Sdes 265135549Sdes#ifdef gethostbyname2 266135549Sdes#undef gethostbyname2 267135549Sdes#endif 268135549Sdes#define gethostbyname2 lwres_gethostbyname2 269135549Sdes 270135549Sdes#ifdef gethostbyaddr 271135549Sdes#undef gethostbyaddr 272135549Sdes#endif 273135549Sdes#define gethostbyaddr lwres_gethostbyaddr 274135549Sdes 275135549Sdes#ifdef gethostent 276135549Sdes#undef gethostent 277135549Sdes#endif 278135549Sdes#define gethostent lwres_gethostent 279135549Sdes 280135549Sdes#ifdef sethostent 281135549Sdes#undef sethostent 282135549Sdes#endif 283135549Sdes#define sethostent lwres_sethostent 284135549Sdes 285135549Sdes#ifdef endhostent 286135549Sdes#undef endhostent 287135549Sdes#endif 288135549Sdes#define endhostent lwres_endhostent 289135549Sdes 290135549Sdes/* #define sethostfile lwres_sethostfile */ 291135549Sdes 292135549Sdes#ifdef gethostbyname_r 293135549Sdes#undef gethostbyname_r 294135549Sdes#endif 295135549Sdes#define gethostbyname_r lwres_gethostbyname_r 296135549Sdes 297135549Sdes#ifdef gethostbyaddr_r 298135549Sdes#undef gethostbyaddr_r 299135549Sdes#endif 300135549Sdes#define gethostbyaddr_r lwres_gethostbyaddr_r 301135549Sdes 302135549Sdes#ifdef gethostent_r 303135549Sdes#undef gethostent_r 304135549Sdes#endif 305135549Sdes#define gethostent_r lwres_gethostent_r 306135549Sdes 307135549Sdes#ifdef sethostent_r 308135549Sdes#undef sethostent_r 309135549Sdes#endif 310135549Sdes#define sethostent_r lwres_sethostent_r 311135549Sdes 312135549Sdes#ifdef endhostent_r 313135549Sdes#undef endhostent_r 314135549Sdes#endif 315135549Sdes#define endhostent_r lwres_endhostent_r 316135549Sdes 317135549Sdes#ifdef getrrsetbyname 318135549Sdes#undef getrrsetbyname 319135549Sdes#endif 320135549Sdes#define getrrsetbyname lwres_getrrsetbyname 321135549Sdes 322135549Sdes#ifdef freerrset 323135549Sdes#undef freerrset 324135549Sdes#endif 325135549Sdes#define freerrset lwres_freerrset 326135549Sdes 327135549Sdes#ifdef notyet 328135549Sdes#define getservbyname lwres_getservbyname 329135549Sdes#define getservbyport lwres_getservbyport 330135549Sdes#define getservent lwres_getservent 331135549Sdes#define setservent lwres_setservent 332135549Sdes#define endservent lwres_endservent 333135549Sdes 334135549Sdes#define getservbyname_r lwres_getservbyname_r 335135549Sdes#define getservbyport_r lwres_getservbyport_r 336135549Sdes#define getservent_r lwres_getservent_r 337135549Sdes#define setservent_r lwres_setservent_r 338135549Sdes#define endservent_r lwres_endservent_r 339135549Sdes 340135549Sdes#define getprotobyname lwres_getprotobyname 341135549Sdes#define getprotobynumber lwres_getprotobynumber 342135549Sdes#define getprotoent lwres_getprotoent 343135549Sdes#define setprotoent lwres_setprotoent 344135549Sdes#define endprotoent lwres_endprotoent 345135549Sdes 346135549Sdes#define getprotobyname_r lwres_getprotobyname_r 347135549Sdes#define getprotobynumber_r lwres_getprotobynumber_r 348135549Sdes#define getprotoent_r lwres_getprotoent_r 349135549Sdes#define setprotoent_r lwres_setprotoent_r 350135549Sdes#define endprotoent_r lwres_endprotoent_r 351135549Sdes 352135549Sdes#ifdef getnetbyname 353135549Sdes#undef getnetbyname 354135549Sdes#endif 355135549Sdes#define getnetbyname lwres_getnetbyname 356135549Sdes 357135549Sdes#ifdef getnetbyaddr 358135549Sdes#undef getnetbyaddr 359135549Sdes#endif 360135549Sdes#define getnetbyaddr lwres_getnetbyaddr 361135549Sdes 362135549Sdes#ifdef getnetent 363135549Sdes#undef getnetent 364135549Sdes#endif 365135549Sdes#define getnetent lwres_getnetent 366135549Sdes 367135549Sdes#ifdef setnetent 368135549Sdes#undef setnetent 369135549Sdes#endif 370135549Sdes#define setnetent lwres_setnetent 371135549Sdes 372135549Sdes#ifdef endnetent 373135549Sdes#undef endnetent 374135549Sdes#endif 375135549Sdes#define endnetent lwres_endnetent 376135549Sdes 377135549Sdes 378135549Sdes#ifdef getnetbyname_r 379135549Sdes#undef getnetbyname_r 380135549Sdes#endif 381135549Sdes#define getnetbyname_r lwres_getnetbyname_r 382135549Sdes 383135549Sdes#ifdef getnetbyaddr_r 384135549Sdes#undef getnetbyaddr_r 385135549Sdes#endif 386135549Sdes#define getnetbyaddr_r lwres_getnetbyaddr_r 387135549Sdes 388135549Sdes#ifdef getnetent_r 389135549Sdes#undef getnetent_r 390135549Sdes#endif 391135549Sdes#define getnetent_r lwres_getnetent_r 392135549Sdes 393135549Sdes#ifdef setnetent_r 394135549Sdes#undef setnetent_r 395135549Sdes#endif 396135549Sdes#define setnetent_r lwres_setnetent_r 397135549Sdes 398135549Sdes#ifdef endnetent_r 399135549Sdes#undef endnetent_r 400135549Sdes#endif 401135549Sdes#define endnetent_r lwres_endnetent_r 402135549Sdes#endif /* notyet */ 403135549Sdes 404135549Sdes#ifdef h_errno 405135549Sdes#undef h_errno 406135549Sdes#endif 407135549Sdes#define h_errno lwres_h_errno 408135549Sdes 409135549Sdes#endif /* LWRES_NAMESPACE */ 410135549Sdes 411135549SdesLWRES_LANG_BEGINDECLS 412135549Sdes 413135549Sdesextern int lwres_h_errno; 414135549Sdes 415135549Sdesint lwres_getaddrinfo(const char *, const char *, 416135549Sdes const struct addrinfo *, struct addrinfo **); 417135549Sdesint lwres_getnameinfo(const struct sockaddr *, size_t, char *, 418135549Sdes size_t, char *, size_t, int); 419135549Sdesvoid lwres_freeaddrinfo(struct addrinfo *); 420135549Sdeschar *lwres_gai_strerror(int); 421135549Sdes 422135549Sdesstruct hostent *lwres_gethostbyaddr(const char *, int, int); 423135549Sdesstruct hostent *lwres_gethostbyname(const char *); 424135549Sdesstruct hostent *lwres_gethostbyname2(const char *, int); 425135549Sdesstruct hostent *lwres_gethostent(void); 426135549Sdesstruct hostent *lwres_getipnodebyname(const char *, int, int, int *); 427135549Sdesstruct hostent *lwres_getipnodebyaddr(const void *, size_t, int, int *); 428135549Sdesvoid lwres_endhostent(void); 429135549Sdesvoid lwres_sethostent(int); 430135549Sdes/* void lwres_sethostfile(const char *); */ 431135549Sdesvoid lwres_freehostent(struct hostent *); 432135549Sdes 433135549Sdesint lwres_getrrsetbyname(const char *, unsigned int, unsigned int, 434135549Sdes unsigned int, struct rrsetinfo **); 435135549Sdesvoid lwres_freerrset(struct rrsetinfo *); 436135549Sdes 437135549Sdes#ifdef notyet 438135549Sdesstruct netent *lwres_getnetbyaddr(unsigned long, int); 439135549Sdesstruct netent *lwres_getnetbyname(const char *); 440135549Sdesstruct netent *lwres_getnetent(void); 441135549Sdesvoid lwres_endnetent(void); 442135549Sdesvoid lwres_setnetent(int); 443135549Sdes 444135549Sdesstruct protoent *lwres_getprotobyname(const char *); 445135549Sdesstruct protoent *lwres_getprotobynumber(int); 446135549Sdesstruct protoent *lwres_getprotoent(void); 447135549Sdesvoid lwres_endprotoent(void); 448135549Sdesvoid lwres_setprotoent(int); 449135549Sdes 450135549Sdesstruct servent *lwres_getservbyname(const char *, const char *); 451135549Sdesstruct servent *lwres_getservbyport(int, const char *); 452135549Sdesstruct servent *lwres_getservent(void); 453135549Sdesvoid lwres_endservent(void); 454135549Sdesvoid lwres_setservent(int); 455135549Sdes#endif /* notyet */ 456135549Sdes 457135549Sdesvoid lwres_herror(const char *); 458135549Sdesconst char *lwres_hstrerror(int); 459135549Sdes 460135549Sdes 461135549Sdesstruct hostent *lwres_gethostbyaddr_r(const char *, int, int, struct hostent *, 462135549Sdes char *, int, int *); 463135549Sdesstruct hostent *lwres_gethostbyname_r(const char *, struct hostent *, 464135549Sdes char *, int, int *); 465135549Sdesstruct hostent *lwres_gethostent_r(struct hostent *, char *, int, int *); 466135549Sdesvoid lwres_sethostent_r(int); 467135549Sdesvoid lwres_endhostent_r(void); 468135549Sdes 469135549Sdes#ifdef notyet 470135549Sdesstruct netent *lwres_getnetbyname_r(const char *, struct netent *, 471135549Sdes char *, int); 472135549Sdesstruct netent *lwres_getnetbyaddr_r(long, int, struct netent *, 473135549Sdes char *, int); 474135549Sdesstruct netent *lwres_getnetent_r(struct netent *, char *, int); 475135549Sdesvoid lwres_setnetent_r(int); 476135549Sdesvoid lwres_endnetent_r(void); 477135549Sdes 478135549Sdesstruct protoent *lwres_getprotobyname_r(const char *, 479135549Sdes struct protoent *, char *, int); 480135549Sdesstruct protoent *lwres_getprotobynumber_r(int, 481135549Sdes struct protoent *, char *, int); 482135549Sdesstruct protoent *lwres_getprotoent_r(struct protoent *, char *, int); 483135549Sdesvoid lwres_setprotoent_r(int); 484135549Sdesvoid lwres_endprotoent_r(void); 485135549Sdes 486135549Sdesstruct servent *lwres_getservbyname_r(const char *name, const char *, 487135549Sdes struct servent *, char *, int); 488135549Sdesstruct servent *lwres_getservbyport_r(int port, const char *, 489135549Sdes struct servent *, char *, int); 490135549Sdesstruct servent *lwres_getservent_r(struct servent *, char *, int); 491135549Sdesvoid lwres_setservent_r(int); 492135549Sdesvoid lwres_endservent_r(void); 493135549Sdes#endif /* notyet */ 494135549Sdes 495135549SdesLWRES_LANG_ENDDECLS 496135549Sdes 497135549Sdes#ifdef notyet 498135549Sdes/* This is nec'y to make this include file properly replace the sun version. */ 499135549Sdes#ifdef sun 500135549Sdes#ifdef __GNU_LIBRARY__ 501135549Sdes#include <rpc/netdb.h> /* Required. */ 502135549Sdes#else /* !__GNU_LIBRARY__ */ 503135549Sdesstruct rpcent { 504135549Sdes char *r_name; /* name of server for this rpc program */ 505135549Sdes char **r_aliases; /* alias list */ 506135549Sdes int r_number; /* rpc program number */ 507135549Sdes}; 508135549Sdesstruct rpcent *lwres_getrpcbyname(); 509135549Sdesstruct rpcent *lwres_getrpcbynumber(), 510135549Sdesstruct rpcent *lwres_getrpcent(); 511135549Sdes#endif /* __GNU_LIBRARY__ */ 512135549Sdes#endif /* sun */ 513135549Sdes#endif /* notyet */ 514135549Sdes 515135549Sdes/* 516135549Sdes * Tell Emacs to use C mode on this file. 517135549Sdes * Local variables: 518135549Sdes * mode: c 519135549Sdes * End: 520135549Sdes */ 521135549Sdes 522135549Sdes#endif /* LWRES_NETDB_H */ 523