1 /* @(#)netdb.h	2.1 88/07/29 3.9 RPCSRC */
2 /*
3  * Copyright (c) 2010, Oracle America, Inc.
4  * Redistribution and use in source and binary forms, with or without
5  * modification, are permitted provided that the following conditions are
6  * met:
7  *
8  *     * Redistributions of source code must retain the above copyright
9  *       notice, this list of conditions and the following disclaimer.
10  *     * Redistributions in binary form must reproduce the above
11  *       copyright notice, this list of conditions and the following
12  *       disclaimer in the documentation and/or other materials
13  *       provided with the distribution.
14  *     * Neither the name of the "Oracle America, Inc." nor the names of its
15  *       contributors may be used to endorse or promote products derived
16  *       from this software without specific prior written permission.
17  *
18  *   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19  *   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20  *   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
21  *   FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
22  *   COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
23  *   INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
24  *   DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
25  *   GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
26  *   INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
27  *   WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
28  *   NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
29  *   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30  */
31 
32 /* Cleaned up for GNU C library roland@gnu.ai.mit.edu:
33    added multiple inclusion protection and use of <sys/cdefs.h>.
34    In GNU this file is #include'd by <netdb.h>.  */
35 
36 #ifndef _RPC_NETDB_H
37 #define _RPC_NETDB_H	1
38 
39 #include <features.h>
40 
41 #define __need_size_t
42 #include <stddef.h>
43 
44 __BEGIN_DECLS
45 
46 struct rpcent
47 {
48   char *r_name;		/* Name of server for this rpc program.  */
49   char **r_aliases;	/* Alias list.  */
50   int r_number;		/* RPC program number.  */
51 };
52 
53 extern void setrpcent (int __stayopen) __THROW;
54 extern void endrpcent (void) __THROW;
55 extern struct rpcent *getrpcbyname (const char *__name) __THROW;
56 extern struct rpcent *getrpcbynumber (int __number) __THROW;
57 extern struct rpcent *getrpcent (void) __THROW;
58 
59 #ifdef __USE_MISC
60 extern int getrpcbyname_r (const char *__name, struct rpcent *__result_buf,
61 			   char *__buffer, size_t __buflen,
62 			   struct rpcent **__result) __THROW;
63 
64 extern int getrpcbynumber_r (int __number, struct rpcent *__result_buf,
65 			     char *__buffer, size_t __buflen,
66 			     struct rpcent **__result) __THROW;
67 
68 extern int getrpcent_r (struct rpcent *__result_buf, char *__buffer,
69 			size_t __buflen, struct rpcent **__result) __THROW;
70 #endif
71 
72 __END_DECLS
73 
74 #endif /* rpc/netdb.h */
75