Import Upstream version 1.8.5
[hcoop/debian/openafs.git] / src / rx / xdr_int32.c
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
30 #include <afsconfig.h>
31 #include <afs/param.h>
32
33
34 #ifndef NeXT
35
36 #if defined(KERNEL) && !defined(UKERNEL)
37 # if !defined(AFS_LINUX26_ENV)
38 # include <sys/param.h>
39 # endif
40 #else
41 # include <roken.h>
42 #endif
43 #include "xdr.h"
44
45 /*
46 * XDR afs_int32 integers
47 * same as xdr_u_long - open coded to save a proc call!
48 */
49 bool_t
50 xdr_afs_int32(XDR * xdrs, afs_int32 * lp)
51 {
52
53 if (xdrs->x_op == XDR_ENCODE)
54 return (XDR_PUTINT32(xdrs, lp));
55
56 if (xdrs->x_op == XDR_DECODE)
57 return (XDR_GETINT32(xdrs, lp));
58
59 if (xdrs->x_op == XDR_FREE)
60 return (TRUE);
61
62 return (FALSE);
63 }
64
65 /*
66 * XDR unsigned afs_int32 integers
67 * same as xdr_long - open coded to save a proc call!
68 */
69 bool_t
70 xdr_afs_uint32(XDR * xdrs, afs_uint32 * ulp)
71 {
72
73 if (xdrs->x_op == XDR_DECODE)
74 return (XDR_GETINT32(xdrs, (afs_int32 *)ulp));
75 if (xdrs->x_op == XDR_ENCODE)
76 return (XDR_PUTINT32(xdrs, (afs_int32 *)ulp));
77 if (xdrs->x_op == XDR_FREE)
78 return (TRUE);
79 return (FALSE);
80 }
81
82 #endif /* NeXT */