05f49c33a6b91b34a526be2731765ddfb0c85237
[project/librpc-uclibc.git] / rpc / types.h
1 /*
2  * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
3  * unrestricted use provided that this legend is included on all tape
4  * media and as a part of the software program in whole or part.  Users
5  * may copy or modify Sun RPC without charge, but are not authorized
6  * to license or distribute it to anyone else except as part of a product or
7  * program developed by the user.
8  *
9  * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
10  * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
11  * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
12  *
13  * Sun RPC is provided with no support and without any obligation on the
14  * part of Sun Microsystems, Inc. to assist in its use, correction,
15  * modification or enhancement.
16  *
17  * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
18  * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
19  * OR ANY PART THEREOF.
20  *
21  * In no event will Sun Microsystems, Inc. be liable for any lost revenue
22  * or profits or other special, indirect and consequential damages, even if
23  * Sun has been advised of the possibility of such damages.
24  *
25  * Sun Microsystems, Inc.
26  * 2550 Garcia Avenue
27  * Mountain View, California  94043
28  */
29 /* fixincludes should not add extern "C" to this file */
30 /*
31  * Rpc additions to <sys/types.h>
32  */
33 #ifndef _RPC_TYPES_H
34 #define _RPC_TYPES_H 1
35
36 #ifdef _LIBC
37 /* Some adjustments to make the libc source from glibc
38  * compile more easily with uClibc... */
39 #ifndef __FORCE_GLIBC
40 #define __FORCE_GLIBC
41 #endif
42 #ifndef _GNU_SOURCE
43 #define _GNU_SOURCE
44 #endif
45 #define _(X)    X
46 #endif
47 #include <features.h>
48
49 typedef int bool_t;
50 typedef int enum_t;
51 /* This needs to be changed to uint32_t in the future */
52 typedef unsigned long rpcprog_t;
53 typedef unsigned long rpcvers_t;
54 typedef unsigned long rpcproc_t;
55 typedef unsigned long rpcprot_t;
56 typedef unsigned long rpcport_t;
57
58 #define        __dontcare__    -1
59
60 #ifndef FALSE
61 #      define  FALSE   (0)
62 #endif
63
64 #ifndef TRUE
65 #      define  TRUE    (1)
66 #endif
67
68 #ifndef NULL
69 #      define  NULL 0
70 #endif
71
72 #include <stdlib.h>             /* For malloc decl.  */
73 #define mem_alloc(bsize)        malloc(bsize)
74 #define mem_free(ptr, bsize)    free(ptr)
75
76 #ifndef makedev /* ie, we haven't already included it */
77 #include <sys/types.h>
78 #endif
79
80 #ifndef __u_char_defined
81 typedef __u_char u_char;
82 typedef __u_short u_short;
83 typedef __u_int u_int;
84 typedef __u_long u_long;
85 typedef __quad_t quad_t;
86 typedef __u_quad_t u_quad_t;
87 typedef __fsid_t fsid_t;
88 # define __u_char_defined
89 #endif
90 #ifndef __daddr_t_defined
91 typedef __daddr_t daddr_t;
92 typedef __caddr_t caddr_t;
93 # define __daddr_t_defined
94 #endif
95
96 #include <sys/time.h>
97 #include <sys/param.h>
98
99 #include <netinet/in.h>
100
101 #ifndef INADDR_LOOPBACK
102 #define       INADDR_LOOPBACK         (u_long)0x7F000001
103 #endif
104 #ifndef MAXHOSTNAMELEN
105 #define        MAXHOSTNAMELEN  64
106 #endif
107
108 #endif /* rpc/types.h */