Print this page
8654 unused local typedef in rpc code
Split |
Close |
Expand all |
Collapse all |
--- old/usr/src/uts/common/rpc/xdr_sizeof.c
+++ new/usr/src/uts/common/rpc/xdr_sizeof.c
1 1 /*
2 2 * CDDL HEADER START
3 3 *
4 4 * The contents of this file are subject to the terms of the
5 5 * Common Development and Distribution License, Version 1.0 only
6 6 * (the "License"). You may not use this file except in compliance
7 7 * with the License.
8 8 *
9 9 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10 10 * or http://www.opensolaris.org/os/licensing.
11 11 * See the License for the specific language governing permissions
12 12 * and limitations under the License.
13 13 *
14 14 * When distributing Covered Code, include this CDDL HEADER in each
15 15 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16 16 * If applicable, add the following below this CDDL HEADER, with the
17 17 * fields enclosed by brackets "[]" replaced with your own identifying
↓ open down ↓ |
17 lines elided |
↑ open up ↑ |
18 18 * information: Portions Copyright [yyyy] [name of copyright owner]
19 19 *
20 20 * CDDL HEADER END
21 21 */
22 22 /*
23 23 * Copyright 2004 Sun Microsystems, Inc. All rights reserved.
24 24 * Use is subject to license terms.
25 25 */
26 26 /*
27 27 * Copyright 2012 Nexenta Systems, Inc. All rights reserved.
28 + * Copyright 2017 RackTop Systems.
28 29 */
29 30
30 31 #include <rpc/types.h>
31 32 #include <rpc/xdr.h>
32 33 #include <sys/types.h>
33 34
34 35 /* ARGSUSED */
35 36 static bool_t
36 37 x_putint32_t(XDR *xdrs, int32_t *ip)
37 38 {
38 39 xdrs->x_handy += BYTES_PER_XDR_UNIT;
39 40 return (TRUE);
40 41 }
41 42
42 43 /* ARGSUSED */
43 44 static bool_t
44 45 x_putbytes(XDR *xdrs, char *bp, int len)
45 46 {
46 47 xdrs->x_handy += len;
47 48 return (TRUE);
48 49 }
49 50
50 51 static uint_t
51 52 x_getpostn(XDR *xdrs)
52 53 {
53 54 return (xdrs->x_handy);
54 55 }
55 56
56 57 /* ARGSUSED */
57 58 static bool_t
58 59 x_setpostn(XDR *xdrs, uint_t pos)
59 60 {
60 61 /* This is not allowed */
61 62 return (FALSE);
62 63 }
63 64
64 65 static rpc_inline_t *
65 66 x_inline(XDR *xdrs, int len)
66 67 {
67 68 if (len == 0) {
68 69 return (NULL);
69 70 }
70 71 if (xdrs->x_op != XDR_ENCODE) {
71 72 return (NULL);
72 73 }
73 74 if (len < (uintptr_t)xdrs->x_base) {
74 75 /* x_private was already allocated */
75 76 xdrs->x_handy += len;
76 77 return ((rpc_inline_t *)xdrs->x_private);
77 78 } else {
78 79 /* Free the earlier space and allocate new area */
79 80 if (xdrs->x_private)
80 81 mem_free(xdrs->x_private, (uintptr_t)xdrs->x_base);
81 82 if ((xdrs->x_private = (caddr_t)mem_alloc(len)) == NULL) {
82 83 xdrs->x_base = 0;
83 84 return (NULL);
84 85 }
85 86 xdrs->x_base = (caddr_t)(uintptr_t)len;
86 87 xdrs->x_handy += len;
87 88 return ((rpc_inline_t *)xdrs->x_private);
88 89 }
89 90 }
90 91
91 92 static int
92 93 harmless()
93 94 {
94 95 /* Always return FALSE/NULL, as the case may be */
95 96 return (0);
96 97 }
97 98
98 99 static void
99 100 x_destroy(XDR *xdrs)
100 101 {
101 102 xdrs->x_handy = 0;
102 103 if (xdrs->x_private) {
103 104 mem_free(xdrs->x_private, (uintptr_t)xdrs->x_base);
104 105 xdrs->x_private = NULL;
105 106 }
↓ open down ↓ |
68 lines elided |
↑ open up ↑ |
106 107 xdrs->x_base = 0;
107 108 }
108 109
109 110 unsigned int
110 111 xdr_sizeof(xdrproc_t func, void *data)
111 112 {
112 113 XDR x;
113 114 struct xdr_ops ops;
114 115 bool_t stat;
115 116 /* to stop ANSI-C compiler from complaining */
116 - typedef bool_t (* dummyfunc1)(XDR *, long *);
117 - typedef bool_t (* dummyfunc2)(XDR *, caddr_t, int);
117 + typedef bool_t (* dummyfunc1)(XDR *, caddr_t, int);
118 + typedef bool_t (* dummyfunc2)(XDR *, int, void *);
119 +#if defined(_LP64) || defined(_KERNEL)
118 120 typedef bool_t (* dummyfunc3)(XDR *, int32_t *);
119 - typedef bool_t (* dummyfunc4)(XDR *, int, void *);
121 +#endif
120 122
121 123 ops.x_putbytes = x_putbytes;
122 124 ops.x_inline = x_inline;
123 125 ops.x_getpostn = x_getpostn;
124 126 ops.x_setpostn = x_setpostn;
125 127 ops.x_destroy = x_destroy;
126 128
127 129 #if defined(_LP64) || defined(_KERNEL)
128 130 ops.x_getint32 = (dummyfunc3)harmless;
129 131 ops.x_putint32 = x_putint32_t;
130 132 #endif
131 133
132 134 /* the other harmless ones */
133 - ops.x_getbytes = (dummyfunc2)harmless;
134 - ops.x_control = (dummyfunc4)harmless;
135 + ops.x_getbytes = (dummyfunc1)harmless;
136 + ops.x_control = (dummyfunc2)harmless;
135 137
136 138 x.x_op = XDR_ENCODE;
137 139 x.x_ops = &ops;
138 140 x.x_handy = 0;
139 141 x.x_private = (caddr_t)NULL;
140 142 x.x_base = NULL;
141 143
142 144 stat = func(&x, data);
143 145 if (x.x_private)
144 146 mem_free(x.x_private, (uintptr_t)x.x_base);
145 147 return (stat == TRUE ? (unsigned int)x.x_handy: 0);
146 148 }
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX