Blame


1 551445b9 2004-04-21 devnull /*
2 551445b9 2004-04-21 devnull * SUN NFSv3 Mounter. See RFC 1813
3 551445b9 2004-04-21 devnull */
4 551445b9 2004-04-21 devnull
5 551445b9 2004-04-21 devnull #include <u.h>
6 551445b9 2004-04-21 devnull #include <libc.h>
7 551445b9 2004-04-21 devnull #include <thread.h>
8 551445b9 2004-04-21 devnull #include <sunrpc.h>
9 551445b9 2004-04-21 devnull #include <nfs3.h>
10 551445b9 2004-04-21 devnull
11 551445b9 2004-04-21 devnull void
12 551445b9 2004-04-21 devnull nfsmount3tnullprint(Fmt *fmt, NfsMount3TNull *x)
13 551445b9 2004-04-21 devnull {
14 551445b9 2004-04-21 devnull USED(x);
15 551445b9 2004-04-21 devnull fmtprint(fmt, "%s\n", "NfsMount3TNull");
16 551445b9 2004-04-21 devnull }
17 551445b9 2004-04-21 devnull uint
18 551445b9 2004-04-21 devnull nfsmount3tnullsize(NfsMount3TNull *x)
19 551445b9 2004-04-21 devnull {
20 551445b9 2004-04-21 devnull uint a;
21 551445b9 2004-04-21 devnull USED(x);
22 551445b9 2004-04-21 devnull a = 0;
23 551445b9 2004-04-21 devnull return a;
24 551445b9 2004-04-21 devnull }
25 551445b9 2004-04-21 devnull int
26 551445b9 2004-04-21 devnull nfsmount3tnullpack(uchar *a, uchar *ea, uchar **pa, NfsMount3TNull *x)
27 551445b9 2004-04-21 devnull {
28 551445b9 2004-04-21 devnull USED(ea);
29 551445b9 2004-04-21 devnull USED(x);
30 551445b9 2004-04-21 devnull *pa = a;
31 551445b9 2004-04-21 devnull return 0;
32 551445b9 2004-04-21 devnull }
33 551445b9 2004-04-21 devnull int
34 551445b9 2004-04-21 devnull nfsmount3tnullunpack(uchar *a, uchar *ea, uchar **pa, NfsMount3TNull *x)
35 551445b9 2004-04-21 devnull {
36 551445b9 2004-04-21 devnull USED(ea);
37 551445b9 2004-04-21 devnull USED(x);
38 551445b9 2004-04-21 devnull *pa = a;
39 551445b9 2004-04-21 devnull return 0;
40 551445b9 2004-04-21 devnull }
41 551445b9 2004-04-21 devnull void
42 551445b9 2004-04-21 devnull nfsmount3rnullprint(Fmt *fmt, NfsMount3RNull *x)
43 551445b9 2004-04-21 devnull {
44 551445b9 2004-04-21 devnull USED(x);
45 551445b9 2004-04-21 devnull fmtprint(fmt, "%s\n", "NfsMount3RNull");
46 551445b9 2004-04-21 devnull }
47 551445b9 2004-04-21 devnull uint
48 551445b9 2004-04-21 devnull nfsmount3rnullsize(NfsMount3RNull *x)
49 551445b9 2004-04-21 devnull {
50 551445b9 2004-04-21 devnull uint a;
51 551445b9 2004-04-21 devnull USED(x);
52 551445b9 2004-04-21 devnull a = 0;
53 551445b9 2004-04-21 devnull return a;
54 551445b9 2004-04-21 devnull }
55 551445b9 2004-04-21 devnull int
56 551445b9 2004-04-21 devnull nfsmount3rnullpack(uchar *a, uchar *ea, uchar **pa, NfsMount3RNull *x)
57 551445b9 2004-04-21 devnull {
58 551445b9 2004-04-21 devnull USED(ea);
59 551445b9 2004-04-21 devnull USED(x);
60 551445b9 2004-04-21 devnull *pa = a;
61 551445b9 2004-04-21 devnull return 0;
62 551445b9 2004-04-21 devnull }
63 551445b9 2004-04-21 devnull int
64 551445b9 2004-04-21 devnull nfsmount3rnullunpack(uchar *a, uchar *ea, uchar **pa, NfsMount3RNull *x)
65 551445b9 2004-04-21 devnull {
66 551445b9 2004-04-21 devnull USED(ea);
67 551445b9 2004-04-21 devnull USED(x);
68 551445b9 2004-04-21 devnull *pa = a;
69 551445b9 2004-04-21 devnull return 0;
70 551445b9 2004-04-21 devnull }
71 551445b9 2004-04-21 devnull void
72 551445b9 2004-04-21 devnull nfsmount3tmntprint(Fmt *fmt, NfsMount3TMnt *x)
73 551445b9 2004-04-21 devnull {
74 551445b9 2004-04-21 devnull fmtprint(fmt, "%s\n", "NfsMount3TMnt");
75 551445b9 2004-04-21 devnull fmtprint(fmt, "\t%s=", "path");
76 551445b9 2004-04-21 devnull fmtprint(fmt, "\"%s\"", x->path);
77 551445b9 2004-04-21 devnull fmtprint(fmt, "\n");
78 551445b9 2004-04-21 devnull }
79 551445b9 2004-04-21 devnull uint
80 551445b9 2004-04-21 devnull nfsmount3tmntsize(NfsMount3TMnt *x)
81 551445b9 2004-04-21 devnull {
82 551445b9 2004-04-21 devnull uint a;
83 551445b9 2004-04-21 devnull USED(x);
84 551445b9 2004-04-21 devnull a = 0 + sunstringsize(x->path);
85 551445b9 2004-04-21 devnull return a;
86 551445b9 2004-04-21 devnull }
87 551445b9 2004-04-21 devnull int
88 551445b9 2004-04-21 devnull nfsmount3tmntpack(uchar *a, uchar *ea, uchar **pa, NfsMount3TMnt *x)
89 551445b9 2004-04-21 devnull {
90 551445b9 2004-04-21 devnull if(sunstringpack(a, ea, &a, &x->path, 1024) < 0) goto Err;
91 551445b9 2004-04-21 devnull *pa = a;
92 551445b9 2004-04-21 devnull return 0;
93 551445b9 2004-04-21 devnull Err:
94 551445b9 2004-04-21 devnull *pa = ea;
95 551445b9 2004-04-21 devnull return -1;
96 551445b9 2004-04-21 devnull }
97 551445b9 2004-04-21 devnull int
98 551445b9 2004-04-21 devnull nfsmount3tmntunpack(uchar *a, uchar *ea, uchar **pa, NfsMount3TMnt *x)
99 551445b9 2004-04-21 devnull {
100 551445b9 2004-04-21 devnull if(sunstringunpack(a, ea, &a, &x->path, 1024) < 0) goto Err;
101 551445b9 2004-04-21 devnull *pa = a;
102 551445b9 2004-04-21 devnull return 0;
103 551445b9 2004-04-21 devnull Err:
104 551445b9 2004-04-21 devnull *pa = ea;
105 551445b9 2004-04-21 devnull return -1;
106 551445b9 2004-04-21 devnull }
107 551445b9 2004-04-21 devnull void
108 551445b9 2004-04-21 devnull nfsmount3rmntprint(Fmt *fmt, NfsMount3RMnt *x)
109 551445b9 2004-04-21 devnull {
110 551445b9 2004-04-21 devnull fmtprint(fmt, "%s\n", "NfsMount3RMnt");
111 551445b9 2004-04-21 devnull fmtprint(fmt, "\t%s=", "status");
112 551445b9 2004-04-21 devnull fmtprint(fmt, "%ud", x->status);
113 551445b9 2004-04-21 devnull fmtprint(fmt, "\n");
114 551445b9 2004-04-21 devnull switch(x->status){
115 551445b9 2004-04-21 devnull case 0:
116 551445b9 2004-04-21 devnull fmtprint(fmt, "\t%s=", "handle");
117 551445b9 2004-04-21 devnull fmtprint(fmt, "%.*H", x->len, x->handle);
118 551445b9 2004-04-21 devnull fmtprint(fmt, "\n");
119 551445b9 2004-04-21 devnull break;
120 551445b9 2004-04-21 devnull }
121 551445b9 2004-04-21 devnull }
122 551445b9 2004-04-21 devnull uint
123 551445b9 2004-04-21 devnull nfsmount3rmntsize(NfsMount3RMnt *x)
124 551445b9 2004-04-21 devnull {
125 551445b9 2004-04-21 devnull uint a;
126 551445b9 2004-04-21 devnull USED(x);
127 551445b9 2004-04-21 devnull a = 0 + 4;
128 551445b9 2004-04-21 devnull switch(x->status){
129 551445b9 2004-04-21 devnull case 0:
130 551445b9 2004-04-21 devnull a = a + sunvaropaquesize(x->len);
131 551445b9 2004-04-21 devnull a = a + 4 + 4 * x->nauth;
132 551445b9 2004-04-21 devnull break;
133 551445b9 2004-04-21 devnull }
134 551445b9 2004-04-21 devnull a = a;
135 551445b9 2004-04-21 devnull return a;
136 551445b9 2004-04-21 devnull }
137 551445b9 2004-04-21 devnull uint
138 551445b9 2004-04-21 devnull nfsmount1rmntsize(NfsMount3RMnt *x)
139 551445b9 2004-04-21 devnull {
140 551445b9 2004-04-21 devnull uint a;
141 551445b9 2004-04-21 devnull USED(x);
142 551445b9 2004-04-21 devnull a = 0 + 4;
143 551445b9 2004-04-21 devnull switch(x->status){
144 551445b9 2004-04-21 devnull case 0:
145 551445b9 2004-04-21 devnull a = a + NfsMount1HandleSize;
146 551445b9 2004-04-21 devnull break;
147 551445b9 2004-04-21 devnull }
148 551445b9 2004-04-21 devnull return a;
149 551445b9 2004-04-21 devnull }
150 551445b9 2004-04-21 devnull
151 551445b9 2004-04-21 devnull int
152 551445b9 2004-04-21 devnull nfsmount3rmntpack(uchar *a, uchar *ea, uchar **pa, NfsMount3RMnt *x)
153 551445b9 2004-04-21 devnull {
154 551445b9 2004-04-21 devnull int i;
155 551445b9 2004-04-21 devnull if(sunuint32pack(a, ea, &a, &x->status) < 0) goto Err;
156 551445b9 2004-04-21 devnull switch(x->status){
157 551445b9 2004-04-21 devnull case 0:
158 551445b9 2004-04-21 devnull if(sunvaropaquepack(a, ea, &a, &x->handle, &x->len, NfsMount3MaxHandleSize) < 0) goto Err;
159 551445b9 2004-04-21 devnull if(sunuint32pack(a, ea, &a, &x->nauth) < 0) goto Err;
160 551445b9 2004-04-21 devnull for(i=0; i<x->nauth; i++)
161 551445b9 2004-04-21 devnull if(sunuint32pack(a, ea, &a, &x->auth[i]) < 0) goto Err;
162 551445b9 2004-04-21 devnull break;
163 551445b9 2004-04-21 devnull }
164 551445b9 2004-04-21 devnull *pa = a;
165 551445b9 2004-04-21 devnull return 0;
166 551445b9 2004-04-21 devnull Err:
167 551445b9 2004-04-21 devnull *pa = ea;
168 551445b9 2004-04-21 devnull return -1;
169 551445b9 2004-04-21 devnull }
170 551445b9 2004-04-21 devnull int
171 551445b9 2004-04-21 devnull nfsmount1rmntpack(uchar *a, uchar *ea, uchar **pa, NfsMount3RMnt *x)
172 551445b9 2004-04-21 devnull {
173 551445b9 2004-04-21 devnull if(sunuint32pack(a, ea, &a, &x->status) < 0) goto Err;
174 551445b9 2004-04-21 devnull switch(x->status){
175 551445b9 2004-04-21 devnull case 0:
176 551445b9 2004-04-21 devnull if(x->len != NfsMount1HandleSize)
177 551445b9 2004-04-21 devnull goto Err;
178 551445b9 2004-04-21 devnull if(sunfixedopaquepack(a, ea, &a, x->handle, NfsMount1HandleSize) < 0) goto Err;
179 551445b9 2004-04-21 devnull if(x->nauth != 0)
180 551445b9 2004-04-21 devnull goto Err;
181 551445b9 2004-04-21 devnull break;
182 551445b9 2004-04-21 devnull }
183 551445b9 2004-04-21 devnull *pa = a;
184 551445b9 2004-04-21 devnull return 0;
185 551445b9 2004-04-21 devnull Err:
186 551445b9 2004-04-21 devnull *pa = ea;
187 551445b9 2004-04-21 devnull return -1;
188 551445b9 2004-04-21 devnull }
189 551445b9 2004-04-21 devnull int
190 551445b9 2004-04-21 devnull nfsmount1rmntunpack(uchar *a, uchar *ea, uchar **pa, NfsMount3RMnt *x)
191 551445b9 2004-04-21 devnull {
192 551445b9 2004-04-21 devnull if(sunuint32unpack(a, ea, &a, &x->status) < 0) goto Err;
193 551445b9 2004-04-21 devnull switch(x->status){
194 551445b9 2004-04-21 devnull case 0:
195 551445b9 2004-04-21 devnull x->len = NfsMount1HandleSize;
196 551445b9 2004-04-21 devnull x->nauth = 0;
197 551445b9 2004-04-21 devnull x->auth = 0;
198 551445b9 2004-04-21 devnull if(sunfixedopaqueunpack(a, ea, &a, x->handle, NfsMount1HandleSize) < 0) goto Err;
199 551445b9 2004-04-21 devnull if(x->nauth != 0)
200 551445b9 2004-04-21 devnull goto Err;
201 551445b9 2004-04-21 devnull break;
202 551445b9 2004-04-21 devnull }
203 551445b9 2004-04-21 devnull *pa = a;
204 551445b9 2004-04-21 devnull return 0;
205 551445b9 2004-04-21 devnull Err:
206 551445b9 2004-04-21 devnull *pa = ea;
207 551445b9 2004-04-21 devnull return -1;
208 551445b9 2004-04-21 devnull }
209 551445b9 2004-04-21 devnull
210 551445b9 2004-04-21 devnull int
211 551445b9 2004-04-21 devnull nfsmount3rmntunpack(uchar *a, uchar *ea, uchar **pa, NfsMount3RMnt *x)
212 551445b9 2004-04-21 devnull {
213 551445b9 2004-04-21 devnull int i;
214 551445b9 2004-04-21 devnull
215 551445b9 2004-04-21 devnull if(sunuint32unpack(a, ea, &a, &x->status) < 0) goto Err;
216 551445b9 2004-04-21 devnull switch(x->status){
217 551445b9 2004-04-21 devnull case 0:
218 551445b9 2004-04-21 devnull if(sunvaropaqueunpack(a, ea, &a, &x->handle, &x->len, NfsMount3MaxHandleSize) < 0) goto Err;
219 551445b9 2004-04-21 devnull if(sunuint32unpack(a, ea, &a, &x->nauth) < 0) goto Err;
220 551445b9 2004-04-21 devnull x->auth = (u32int*)a;
221 551445b9 2004-04-21 devnull for(i=0; i<x->nauth; i++)
222 551445b9 2004-04-21 devnull if(sunuint32unpack(a, ea, &a, &x->auth[i]) < 0) goto Err;
223 551445b9 2004-04-21 devnull break;
224 551445b9 2004-04-21 devnull }
225 551445b9 2004-04-21 devnull *pa = a;
226 551445b9 2004-04-21 devnull return 0;
227 551445b9 2004-04-21 devnull Err:
228 551445b9 2004-04-21 devnull *pa = ea;
229 551445b9 2004-04-21 devnull return -1;
230 551445b9 2004-04-21 devnull }
231 551445b9 2004-04-21 devnull void
232 551445b9 2004-04-21 devnull nfsmount3tdumpprint(Fmt *fmt, NfsMount3TDump *x)
233 551445b9 2004-04-21 devnull {
234 551445b9 2004-04-21 devnull USED(x);
235 551445b9 2004-04-21 devnull fmtprint(fmt, "%s\n", "NfsMount3TDump");
236 551445b9 2004-04-21 devnull }
237 551445b9 2004-04-21 devnull uint
238 551445b9 2004-04-21 devnull nfsmount3tdumpsize(NfsMount3TDump *x)
239 551445b9 2004-04-21 devnull {
240 551445b9 2004-04-21 devnull uint a;
241 551445b9 2004-04-21 devnull USED(x);
242 551445b9 2004-04-21 devnull a = 0;
243 551445b9 2004-04-21 devnull return a;
244 551445b9 2004-04-21 devnull }
245 551445b9 2004-04-21 devnull int
246 551445b9 2004-04-21 devnull nfsmount3tdumppack(uchar *a, uchar *ea, uchar **pa, NfsMount3TDump *x)
247 551445b9 2004-04-21 devnull {
248 551445b9 2004-04-21 devnull USED(ea);
249 551445b9 2004-04-21 devnull USED(x);
250 551445b9 2004-04-21 devnull *pa = a;
251 551445b9 2004-04-21 devnull return 0;
252 551445b9 2004-04-21 devnull }
253 551445b9 2004-04-21 devnull int
254 551445b9 2004-04-21 devnull nfsmount3tdumpunpack(uchar *a, uchar *ea, uchar **pa, NfsMount3TDump *x)
255 551445b9 2004-04-21 devnull {
256 551445b9 2004-04-21 devnull USED(ea);
257 551445b9 2004-04-21 devnull USED(x);
258 551445b9 2004-04-21 devnull *pa = a;
259 551445b9 2004-04-21 devnull return 0;
260 551445b9 2004-04-21 devnull }
261 551445b9 2004-04-21 devnull void
262 551445b9 2004-04-21 devnull nfsmount3entryprint(Fmt *fmt, NfsMount3Entry *x)
263 551445b9 2004-04-21 devnull {
264 551445b9 2004-04-21 devnull fmtprint(fmt, "%s\n", "NfsMount3Entry");
265 551445b9 2004-04-21 devnull fmtprint(fmt, "\t%s=", "host");
266 551445b9 2004-04-21 devnull fmtprint(fmt, "\"%s\"", x->host);
267 551445b9 2004-04-21 devnull fmtprint(fmt, "\n");
268 551445b9 2004-04-21 devnull fmtprint(fmt, "\t%s=", "path");
269 551445b9 2004-04-21 devnull fmtprint(fmt, "\"%s\"", x->path);
270 551445b9 2004-04-21 devnull fmtprint(fmt, "\n");
271 551445b9 2004-04-21 devnull }
272 551445b9 2004-04-21 devnull uint
273 551445b9 2004-04-21 devnull nfsmount3entrysize(NfsMount3Entry *x)
274 551445b9 2004-04-21 devnull {
275 551445b9 2004-04-21 devnull uint a;
276 551445b9 2004-04-21 devnull USED(x);
277 551445b9 2004-04-21 devnull a = 0 + sunstringsize(x->host) + sunstringsize(x->path);
278 551445b9 2004-04-21 devnull return a;
279 551445b9 2004-04-21 devnull }
280 551445b9 2004-04-21 devnull int
281 551445b9 2004-04-21 devnull nfsmount3entrypack(uchar *a, uchar *ea, uchar **pa, NfsMount3Entry *x)
282 551445b9 2004-04-21 devnull {
283 551445b9 2004-04-21 devnull u1int one;
284 551445b9 2004-04-21 devnull
285 551445b9 2004-04-21 devnull one = 1;
286 551445b9 2004-04-21 devnull if(sunuint1pack(a, ea, &a, &one) < 0) goto Err;
287 551445b9 2004-04-21 devnull if(sunstringpack(a, ea, &a, &x->host, 255) < 0) goto Err;
288 551445b9 2004-04-21 devnull if(sunstringpack(a, ea, &a, &x->path, 1024) < 0) goto Err;
289 551445b9 2004-04-21 devnull *pa = a;
290 551445b9 2004-04-21 devnull return 0;
291 551445b9 2004-04-21 devnull Err:
292 551445b9 2004-04-21 devnull *pa = ea;
293 551445b9 2004-04-21 devnull return -1;
294 551445b9 2004-04-21 devnull }
295 551445b9 2004-04-21 devnull int
296 551445b9 2004-04-21 devnull nfsmount3entryunpack(uchar *a, uchar *ea, uchar **pa, NfsMount3Entry *x)
297 551445b9 2004-04-21 devnull {
298 551445b9 2004-04-21 devnull u1int one;
299 551445b9 2004-04-21 devnull
300 551445b9 2004-04-21 devnull if(sunuint1unpack(a, ea, &a, &one) < 0 || one != 1) goto Err;
301 551445b9 2004-04-21 devnull if(sunstringunpack(a, ea, &a, &x->host, NfsMount3MaxNameSize) < 0) goto Err;
302 551445b9 2004-04-21 devnull if(sunstringunpack(a, ea, &a, &x->path, NfsMount3MaxPathSize) < 0) goto Err;
303 551445b9 2004-04-21 devnull *pa = a;
304 551445b9 2004-04-21 devnull return 0;
305 551445b9 2004-04-21 devnull Err:
306 551445b9 2004-04-21 devnull *pa = ea;
307 551445b9 2004-04-21 devnull return -1;
308 551445b9 2004-04-21 devnull }
309 551445b9 2004-04-21 devnull void
310 551445b9 2004-04-21 devnull nfsmount3rdumpprint(Fmt *fmt, NfsMount3RDump *x)
311 551445b9 2004-04-21 devnull {
312 551445b9 2004-04-21 devnull USED(x);
313 551445b9 2004-04-21 devnull fmtprint(fmt, "%s\n", "NfsMount3RDump");
314 551445b9 2004-04-21 devnull }
315 551445b9 2004-04-21 devnull uint
316 551445b9 2004-04-21 devnull nfsmount3rdumpsize(NfsMount3RDump *x)
317 551445b9 2004-04-21 devnull {
318 551445b9 2004-04-21 devnull uint a;
319 551445b9 2004-04-21 devnull USED(x);
320 551445b9 2004-04-21 devnull a = 0;
321 551445b9 2004-04-21 devnull a += x->count;
322 551445b9 2004-04-21 devnull a += 4;
323 551445b9 2004-04-21 devnull return a;
324 551445b9 2004-04-21 devnull }
325 551445b9 2004-04-21 devnull int
326 551445b9 2004-04-21 devnull nfsmount3rdumppack(uchar *a, uchar *ea, uchar **pa, NfsMount3RDump *x)
327 551445b9 2004-04-21 devnull {
328 551445b9 2004-04-21 devnull u1int zero;
329 551445b9 2004-04-21 devnull
330 551445b9 2004-04-21 devnull zero = 0;
331 551445b9 2004-04-21 devnull if(a+x->count > ea) goto Err;
332 551445b9 2004-04-21 devnull memmove(a, x->data, x->count);
333 551445b9 2004-04-21 devnull a += x->count;
334 551445b9 2004-04-21 devnull if(sunuint1pack(a, ea, &a, &zero) < 0)
335 551445b9 2004-04-21 devnull goto Err;
336 551445b9 2004-04-21 devnull *pa = a;
337 551445b9 2004-04-21 devnull return 0;
338 551445b9 2004-04-21 devnull Err:
339 551445b9 2004-04-21 devnull *pa = ea;
340 551445b9 2004-04-21 devnull return -1;
341 551445b9 2004-04-21 devnull }
342 551445b9 2004-04-21 devnull int
343 551445b9 2004-04-21 devnull nfsmount3rdumpunpack(uchar *a, uchar *ea, uchar **pa, NfsMount3RDump *x)
344 551445b9 2004-04-21 devnull {
345 551445b9 2004-04-21 devnull int i;
346 551445b9 2004-04-21 devnull uchar *oa;
347 551445b9 2004-04-21 devnull u1int u1;
348 551445b9 2004-04-21 devnull u32int u32;
349 551445b9 2004-04-21 devnull
350 551445b9 2004-04-21 devnull oa = a;
351 551445b9 2004-04-21 devnull for(i=0;; i++){
352 551445b9 2004-04-21 devnull if(sunuint1unpack(a, ea, &a, &u1) < 0)
353 551445b9 2004-04-21 devnull goto Err;
354 551445b9 2004-04-21 devnull if(u1 == 0)
355 551445b9 2004-04-21 devnull break;
356 551445b9 2004-04-21 devnull if(sunuint32unpack(a, ea, &a, &u32) < 0
357 551445b9 2004-04-21 devnull || u32 > NfsMount3MaxNameSize
358 551445b9 2004-04-21 devnull || (a+=u32) >= ea
359 551445b9 2004-04-21 devnull || sunuint32unpack(a, ea, &a, &u32) < 0
360 551445b9 2004-04-21 devnull || u32 > NfsMount3MaxPathSize
361 551445b9 2004-04-21 devnull || (a+=u32) >= ea)
362 551445b9 2004-04-21 devnull goto Err;
363 551445b9 2004-04-21 devnull }
364 551445b9 2004-04-21 devnull x->count = (a-4) - oa;
365 551445b9 2004-04-21 devnull x->data = oa;
366 551445b9 2004-04-21 devnull *pa = a;
367 551445b9 2004-04-21 devnull return 0;
368 551445b9 2004-04-21 devnull Err:
369 551445b9 2004-04-21 devnull *pa = ea;
370 551445b9 2004-04-21 devnull return -1;
371 551445b9 2004-04-21 devnull }
372 551445b9 2004-04-21 devnull void
373 551445b9 2004-04-21 devnull nfsmount3tumntprint(Fmt *fmt, NfsMount3TUmnt *x)
374 551445b9 2004-04-21 devnull {
375 551445b9 2004-04-21 devnull fmtprint(fmt, "%s\n", "NfsMount3TUmnt");
376 551445b9 2004-04-21 devnull fmtprint(fmt, "\t%s=", "path");
377 551445b9 2004-04-21 devnull fmtprint(fmt, "\"%s\"", x->path);
378 551445b9 2004-04-21 devnull fmtprint(fmt, "\n");
379 551445b9 2004-04-21 devnull }
380 551445b9 2004-04-21 devnull uint
381 551445b9 2004-04-21 devnull nfsmount3tumntsize(NfsMount3TUmnt *x)
382 551445b9 2004-04-21 devnull {
383 551445b9 2004-04-21 devnull uint a;
384 551445b9 2004-04-21 devnull USED(x);
385 551445b9 2004-04-21 devnull a = 0 + sunstringsize(x->path);
386 551445b9 2004-04-21 devnull return a;
387 551445b9 2004-04-21 devnull }
388 551445b9 2004-04-21 devnull int
389 551445b9 2004-04-21 devnull nfsmount3tumntpack(uchar *a, uchar *ea, uchar **pa, NfsMount3TUmnt *x)
390 551445b9 2004-04-21 devnull {
391 551445b9 2004-04-21 devnull if(sunstringpack(a, ea, &a, &x->path, 1024) < 0) goto Err;
392 551445b9 2004-04-21 devnull *pa = a;
393 551445b9 2004-04-21 devnull return 0;
394 551445b9 2004-04-21 devnull Err:
395 551445b9 2004-04-21 devnull *pa = ea;
396 551445b9 2004-04-21 devnull return -1;
397 551445b9 2004-04-21 devnull }
398 551445b9 2004-04-21 devnull int
399 551445b9 2004-04-21 devnull nfsmount3tumntunpack(uchar *a, uchar *ea, uchar **pa, NfsMount3TUmnt *x)
400 551445b9 2004-04-21 devnull {
401 551445b9 2004-04-21 devnull if(sunstringunpack(a, ea, &a, &x->path, 1024) < 0) goto Err;
402 551445b9 2004-04-21 devnull *pa = a;
403 551445b9 2004-04-21 devnull return 0;
404 551445b9 2004-04-21 devnull Err:
405 551445b9 2004-04-21 devnull *pa = ea;
406 551445b9 2004-04-21 devnull return -1;
407 551445b9 2004-04-21 devnull }
408 551445b9 2004-04-21 devnull void
409 551445b9 2004-04-21 devnull nfsmount3rumntprint(Fmt *fmt, NfsMount3RUmnt *x)
410 551445b9 2004-04-21 devnull {
411 551445b9 2004-04-21 devnull USED(x);
412 551445b9 2004-04-21 devnull fmtprint(fmt, "%s\n", "NfsMount3RUmnt");
413 551445b9 2004-04-21 devnull }
414 551445b9 2004-04-21 devnull uint
415 551445b9 2004-04-21 devnull nfsmount3rumntsize(NfsMount3RUmnt *x)
416 551445b9 2004-04-21 devnull {
417 551445b9 2004-04-21 devnull uint a;
418 551445b9 2004-04-21 devnull USED(x);
419 551445b9 2004-04-21 devnull a = 0;
420 551445b9 2004-04-21 devnull return a;
421 551445b9 2004-04-21 devnull }
422 551445b9 2004-04-21 devnull int
423 551445b9 2004-04-21 devnull nfsmount3rumntpack(uchar *a, uchar *ea, uchar **pa, NfsMount3RUmnt *x)
424 551445b9 2004-04-21 devnull {
425 551445b9 2004-04-21 devnull USED(ea);
426 551445b9 2004-04-21 devnull USED(x);
427 551445b9 2004-04-21 devnull *pa = a;
428 551445b9 2004-04-21 devnull return 0;
429 551445b9 2004-04-21 devnull }
430 551445b9 2004-04-21 devnull int
431 551445b9 2004-04-21 devnull nfsmount3rumntunpack(uchar *a, uchar *ea, uchar **pa, NfsMount3RUmnt *x)
432 551445b9 2004-04-21 devnull {
433 551445b9 2004-04-21 devnull USED(ea);
434 551445b9 2004-04-21 devnull USED(x);
435 551445b9 2004-04-21 devnull *pa = a;
436 551445b9 2004-04-21 devnull return 0;
437 551445b9 2004-04-21 devnull }
438 551445b9 2004-04-21 devnull void
439 551445b9 2004-04-21 devnull nfsmount3tumntallprint(Fmt *fmt, NfsMount3TUmntall *x)
440 551445b9 2004-04-21 devnull {
441 551445b9 2004-04-21 devnull USED(x);
442 551445b9 2004-04-21 devnull fmtprint(fmt, "%s\n", "NfsMount3TUmntall");
443 551445b9 2004-04-21 devnull }
444 551445b9 2004-04-21 devnull uint
445 551445b9 2004-04-21 devnull nfsmount3tumntallsize(NfsMount3TUmntall *x)
446 551445b9 2004-04-21 devnull {
447 551445b9 2004-04-21 devnull uint a;
448 551445b9 2004-04-21 devnull USED(x);
449 551445b9 2004-04-21 devnull a = 0;
450 551445b9 2004-04-21 devnull return a;
451 551445b9 2004-04-21 devnull }
452 551445b9 2004-04-21 devnull int
453 551445b9 2004-04-21 devnull nfsmount3tumntallpack(uchar *a, uchar *ea, uchar **pa, NfsMount3TUmntall *x)
454 551445b9 2004-04-21 devnull {
455 551445b9 2004-04-21 devnull USED(ea);
456 551445b9 2004-04-21 devnull USED(x);
457 551445b9 2004-04-21 devnull *pa = a;
458 551445b9 2004-04-21 devnull return 0;
459 551445b9 2004-04-21 devnull }
460 551445b9 2004-04-21 devnull int
461 551445b9 2004-04-21 devnull nfsmount3tumntallunpack(uchar *a, uchar *ea, uchar **pa, NfsMount3TUmntall *x)
462 551445b9 2004-04-21 devnull {
463 551445b9 2004-04-21 devnull USED(ea);
464 551445b9 2004-04-21 devnull USED(x);
465 551445b9 2004-04-21 devnull *pa = a;
466 551445b9 2004-04-21 devnull return 0;
467 551445b9 2004-04-21 devnull }
468 551445b9 2004-04-21 devnull void
469 551445b9 2004-04-21 devnull nfsmount3rumntallprint(Fmt *fmt, NfsMount3RUmntall *x)
470 551445b9 2004-04-21 devnull {
471 551445b9 2004-04-21 devnull USED(x);
472 551445b9 2004-04-21 devnull fmtprint(fmt, "%s\n", "NfsMount3RUmntall");
473 551445b9 2004-04-21 devnull }
474 551445b9 2004-04-21 devnull uint
475 551445b9 2004-04-21 devnull nfsmount3rumntallsize(NfsMount3RUmntall *x)
476 551445b9 2004-04-21 devnull {
477 551445b9 2004-04-21 devnull uint a;
478 551445b9 2004-04-21 devnull USED(x);
479 551445b9 2004-04-21 devnull a = 0;
480 551445b9 2004-04-21 devnull return a;
481 551445b9 2004-04-21 devnull }
482 551445b9 2004-04-21 devnull int
483 551445b9 2004-04-21 devnull nfsmount3rumntallpack(uchar *a, uchar *ea, uchar **pa, NfsMount3RUmntall *x)
484 551445b9 2004-04-21 devnull {
485 551445b9 2004-04-21 devnull USED(ea);
486 551445b9 2004-04-21 devnull USED(x);
487 551445b9 2004-04-21 devnull *pa = a;
488 551445b9 2004-04-21 devnull return 0;
489 551445b9 2004-04-21 devnull }
490 551445b9 2004-04-21 devnull int
491 551445b9 2004-04-21 devnull nfsmount3rumntallunpack(uchar *a, uchar *ea, uchar **pa, NfsMount3RUmntall *x)
492 551445b9 2004-04-21 devnull {
493 551445b9 2004-04-21 devnull USED(ea);
494 551445b9 2004-04-21 devnull USED(x);
495 551445b9 2004-04-21 devnull *pa = a;
496 551445b9 2004-04-21 devnull return 0;
497 551445b9 2004-04-21 devnull }
498 551445b9 2004-04-21 devnull void
499 551445b9 2004-04-21 devnull nfsmount3texportprint(Fmt *fmt, NfsMount3TExport *x)
500 551445b9 2004-04-21 devnull {
501 551445b9 2004-04-21 devnull USED(x);
502 551445b9 2004-04-21 devnull fmtprint(fmt, "%s\n", "NfsMount3TExport");
503 551445b9 2004-04-21 devnull }
504 551445b9 2004-04-21 devnull uint
505 551445b9 2004-04-21 devnull nfsmount3texportsize(NfsMount3TExport *x)
506 551445b9 2004-04-21 devnull {
507 551445b9 2004-04-21 devnull uint a;
508 551445b9 2004-04-21 devnull USED(x);
509 551445b9 2004-04-21 devnull a = 0;
510 551445b9 2004-04-21 devnull return a;
511 551445b9 2004-04-21 devnull }
512 551445b9 2004-04-21 devnull int
513 551445b9 2004-04-21 devnull nfsmount3texportpack(uchar *a, uchar *ea, uchar **pa, NfsMount3TExport *x)
514 551445b9 2004-04-21 devnull {
515 551445b9 2004-04-21 devnull USED(ea);
516 551445b9 2004-04-21 devnull USED(x);
517 551445b9 2004-04-21 devnull *pa = a;
518 551445b9 2004-04-21 devnull return 0;
519 551445b9 2004-04-21 devnull }
520 551445b9 2004-04-21 devnull int
521 551445b9 2004-04-21 devnull nfsmount3texportunpack(uchar *a, uchar *ea, uchar **pa, NfsMount3TExport *x)
522 551445b9 2004-04-21 devnull {
523 551445b9 2004-04-21 devnull USED(ea);
524 551445b9 2004-04-21 devnull USED(x);
525 551445b9 2004-04-21 devnull *pa = a;
526 551445b9 2004-04-21 devnull return 0;
527 551445b9 2004-04-21 devnull }
528 551445b9 2004-04-21 devnull void
529 551445b9 2004-04-21 devnull nfsmount3rexportprint(Fmt *fmt, NfsMount3RExport *x)
530 551445b9 2004-04-21 devnull {
531 551445b9 2004-04-21 devnull USED(x);
532 551445b9 2004-04-21 devnull fmtprint(fmt, "%s\n", "NfsMount3RExport");
533 551445b9 2004-04-21 devnull fmtprint(fmt, "\n");
534 551445b9 2004-04-21 devnull }
535 551445b9 2004-04-21 devnull uint
536 551445b9 2004-04-21 devnull nfsmount3rexportsize(NfsMount3RExport *x)
537 551445b9 2004-04-21 devnull {
538 551445b9 2004-04-21 devnull uint a;
539 551445b9 2004-04-21 devnull USED(x);
540 551445b9 2004-04-21 devnull a = 0;
541 551445b9 2004-04-21 devnull a += x->count;
542 551445b9 2004-04-21 devnull a += 4; /* end of export list */
543 551445b9 2004-04-21 devnull return a;
544 551445b9 2004-04-21 devnull }
545 551445b9 2004-04-21 devnull int
546 551445b9 2004-04-21 devnull nfsmount3rexportpack(uchar *a, uchar *ea, uchar **pa, NfsMount3RExport *x)
547 551445b9 2004-04-21 devnull {
548 551445b9 2004-04-21 devnull u1int zero;
549 551445b9 2004-04-21 devnull
550 551445b9 2004-04-21 devnull zero = 0;
551 551445b9 2004-04-21 devnull if(a+x->count > ea) goto Err;
552 551445b9 2004-04-21 devnull memmove(a, x->data, x->count);
553 551445b9 2004-04-21 devnull a += x->count;
554 551445b9 2004-04-21 devnull if(sunuint1pack(a, ea, &a, &zero) < 0)
555 551445b9 2004-04-21 devnull goto Err;
556 551445b9 2004-04-21 devnull *pa = a;
557 551445b9 2004-04-21 devnull return 0;
558 551445b9 2004-04-21 devnull Err:
559 551445b9 2004-04-21 devnull *pa = ea;
560 551445b9 2004-04-21 devnull return -1;
561 551445b9 2004-04-21 devnull }
562 551445b9 2004-04-21 devnull int
563 551445b9 2004-04-21 devnull nfsmount3rexportunpack(uchar *a, uchar *ea, uchar **pa, NfsMount3RExport *x)
564 551445b9 2004-04-21 devnull {
565 551445b9 2004-04-21 devnull int ng, ne;
566 551445b9 2004-04-21 devnull uchar *oa;
567 551445b9 2004-04-21 devnull u1int u1;
568 551445b9 2004-04-21 devnull u32int u32;
569 551445b9 2004-04-21 devnull
570 551445b9 2004-04-21 devnull oa = a;
571 551445b9 2004-04-21 devnull ng = 0;
572 551445b9 2004-04-21 devnull for(ne=0;; ne++){
573 551445b9 2004-04-21 devnull if(sunuint1unpack(a, ea, &a, &u1) < 0)
574 551445b9 2004-04-21 devnull goto Err;
575 551445b9 2004-04-21 devnull if(u1 == 0)
576 551445b9 2004-04-21 devnull break;
577 551445b9 2004-04-21 devnull if(sunuint32unpack(a, ea, &a, &u32) < 0
578 551445b9 2004-04-21 devnull || (a += (u32+3)&~3) >= ea)
579 551445b9 2004-04-21 devnull goto Err;
580 551445b9 2004-04-21 devnull for(;; ng++){
581 551445b9 2004-04-21 devnull if(sunuint1unpack(a, ea, &a, &u1) < 0)
582 551445b9 2004-04-21 devnull goto Err;
583 551445b9 2004-04-21 devnull if(u1 == 0)
584 551445b9 2004-04-21 devnull break;
585 551445b9 2004-04-21 devnull if(sunuint32unpack(a, ea, &a, &u32) < 0
586 551445b9 2004-04-21 devnull || (a += (u32+3)&~3) >= ea)
587 551445b9 2004-04-21 devnull goto Err;
588 551445b9 2004-04-21 devnull }
589 551445b9 2004-04-21 devnull }
590 551445b9 2004-04-21 devnull x->data = oa;
591 551445b9 2004-04-21 devnull x->count = (a-4) - oa;
592 551445b9 2004-04-21 devnull *pa = a;
593 551445b9 2004-04-21 devnull return 0;
594 551445b9 2004-04-21 devnull Err:
595 551445b9 2004-04-21 devnull *pa = ea;
596 551445b9 2004-04-21 devnull return -1;
597 551445b9 2004-04-21 devnull }
598 551445b9 2004-04-21 devnull uint
599 551445b9 2004-04-21 devnull nfsmount3exportgroupsize(uchar *a)
600 551445b9 2004-04-21 devnull {
601 551445b9 2004-04-21 devnull int ng;
602 551445b9 2004-04-21 devnull u1int have;
603 551445b9 2004-04-21 devnull u32int n;
604 551445b9 2004-04-21 devnull
605 551445b9 2004-04-21 devnull a += 4;
606 551445b9 2004-04-21 devnull sunuint32unpack(a, a+4, &a, &n);
607 551445b9 2004-04-21 devnull a += (n+3)&~3;
608 551445b9 2004-04-21 devnull ng = 0;
609 551445b9 2004-04-21 devnull for(;;){
610 551445b9 2004-04-21 devnull sunuint1unpack(a, a+4, &a, &have);
611 551445b9 2004-04-21 devnull if(have == 0)
612 551445b9 2004-04-21 devnull break;
613 551445b9 2004-04-21 devnull ng++;
614 551445b9 2004-04-21 devnull sunuint32unpack(a, a+4, &a, &n);
615 551445b9 2004-04-21 devnull a += (n+3)&~3;
616 551445b9 2004-04-21 devnull }
617 551445b9 2004-04-21 devnull return ng;
618 551445b9 2004-04-21 devnull }
619 551445b9 2004-04-21 devnull int
620 551445b9 2004-04-21 devnull nfsmount3exportunpack(uchar *a, uchar *ea, uchar **pa, char **gp, char ***pgp, NfsMount3Export *x)
621 551445b9 2004-04-21 devnull {
622 551445b9 2004-04-21 devnull int ng;
623 551445b9 2004-04-21 devnull u1int u1;
624 551445b9 2004-04-21 devnull
625 551445b9 2004-04-21 devnull if(sunuint1unpack(a, ea, &a, &u1) < 0 || u1 != 1) goto Err;
626 551445b9 2004-04-21 devnull if(sunstringunpack(a, ea, &a, &x->path, NfsMount3MaxPathSize) < 0) goto Err;
627 551445b9 2004-04-21 devnull x->g = gp;
628 551445b9 2004-04-21 devnull ng = 0;
629 551445b9 2004-04-21 devnull for(;;){
630 551445b9 2004-04-21 devnull if(sunuint1unpack(a, ea, &a, &u1) < 0) goto Err;
631 551445b9 2004-04-21 devnull if(u1 == 0)
632 551445b9 2004-04-21 devnull break;
633 551445b9 2004-04-21 devnull if(sunstringunpack(a, ea, &a, &gp[ng++], NfsMount3MaxNameSize) < 0) goto Err;
634 551445b9 2004-04-21 devnull }
635 551445b9 2004-04-21 devnull x->ng = ng;
636 551445b9 2004-04-21 devnull *pgp = gp+ng;
637 551445b9 2004-04-21 devnull *pa = a;
638 551445b9 2004-04-21 devnull return 0;
639 551445b9 2004-04-21 devnull
640 551445b9 2004-04-21 devnull Err:
641 551445b9 2004-04-21 devnull *pa = ea;
642 551445b9 2004-04-21 devnull return -1;
643 551445b9 2004-04-21 devnull }
644 551445b9 2004-04-21 devnull uint
645 551445b9 2004-04-21 devnull nfsmount3exportsize(NfsMount3Export *x)
646 551445b9 2004-04-21 devnull {
647 551445b9 2004-04-21 devnull int i;
648 551445b9 2004-04-21 devnull uint a;
649 551445b9 2004-04-21 devnull
650 551445b9 2004-04-21 devnull a = 4 + sunstringsize(x->path);
651 551445b9 2004-04-21 devnull for(i=0; i<x->ng; i++)
652 551445b9 2004-04-21 devnull a += 4 + sunstringsize(x->g[i]);
653 551445b9 2004-04-21 devnull a += 4;
654 551445b9 2004-04-21 devnull return a;
655 551445b9 2004-04-21 devnull }
656 551445b9 2004-04-21 devnull int
657 551445b9 2004-04-21 devnull nfsmount3exportpack(uchar *a, uchar *ea, uchar **pa, NfsMount3Export *x)
658 551445b9 2004-04-21 devnull {
659 551445b9 2004-04-21 devnull int i;
660 551445b9 2004-04-21 devnull u1int u1;
661 551445b9 2004-04-21 devnull
662 551445b9 2004-04-21 devnull u1 = 1;
663 551445b9 2004-04-21 devnull if(sunuint1pack(a, ea, &a, &u1) < 0) goto Err;
664 551445b9 2004-04-21 devnull if(sunstringpack(a, ea, &a, &x->path, NfsMount3MaxPathSize) < 0) goto Err;
665 551445b9 2004-04-21 devnull for(i=0; i<x->ng; i++){
666 551445b9 2004-04-21 devnull if(sunuint1pack(a, ea, &a, &u1) < 0) goto Err;
667 551445b9 2004-04-21 devnull if(sunstringpack(a, ea, &a, &x->g[i], NfsMount3MaxNameSize) < 0) goto Err;
668 551445b9 2004-04-21 devnull }
669 551445b9 2004-04-21 devnull u1 = 0;
670 551445b9 2004-04-21 devnull if(sunuint1pack(a, ea, &a, &u1) < 0) goto Err;
671 551445b9 2004-04-21 devnull *pa = a;
672 551445b9 2004-04-21 devnull return 0;
673 551445b9 2004-04-21 devnull
674 551445b9 2004-04-21 devnull Err:
675 551445b9 2004-04-21 devnull *pa = ea;
676 551445b9 2004-04-21 devnull return -1;
677 551445b9 2004-04-21 devnull }
678 551445b9 2004-04-21 devnull
679 551445b9 2004-04-21 devnull typedef int (*P)(uchar*, uchar*, uchar**, SunCall*);
680 551445b9 2004-04-21 devnull typedef void (*F)(Fmt*, SunCall*);
681 551445b9 2004-04-21 devnull typedef uint (*S)(SunCall*);
682 551445b9 2004-04-21 devnull
683 551445b9 2004-04-21 devnull static SunProc proc3[] = {
684 551445b9 2004-04-21 devnull (P)nfsmount3tnullpack, (P)nfsmount3tnullunpack, (S)nfsmount3tnullsize, (F)nfsmount3tnullprint, sizeof(NfsMount3TNull),
685 551445b9 2004-04-21 devnull (P)nfsmount3rnullpack, (P)nfsmount3rnullunpack, (S)nfsmount3rnullsize, (F)nfsmount3rnullprint, sizeof(NfsMount3RNull),
686 551445b9 2004-04-21 devnull (P)nfsmount3tmntpack, (P)nfsmount3tmntunpack, (S)nfsmount3tmntsize, (F)nfsmount3tmntprint, sizeof(NfsMount3TMnt),
687 551445b9 2004-04-21 devnull (P)nfsmount3rmntpack, (P)nfsmount3rmntunpack, (S)nfsmount3rmntsize, (F)nfsmount3rmntprint, sizeof(NfsMount3RMnt),
688 551445b9 2004-04-21 devnull (P)nfsmount3tdumppack, (P)nfsmount3tdumpunpack, (S)nfsmount3tdumpsize, (F)nfsmount3tdumpprint, sizeof(NfsMount3TDump),
689 551445b9 2004-04-21 devnull (P)nfsmount3rdumppack, (P)nfsmount3rdumpunpack, (S)nfsmount3rdumpsize, (F)nfsmount3rdumpprint, sizeof(NfsMount3RDump),
690 551445b9 2004-04-21 devnull (P)nfsmount3tumntpack, (P)nfsmount3tumntunpack, (S)nfsmount3tumntsize, (F)nfsmount3tumntprint, sizeof(NfsMount3TUmnt),
691 551445b9 2004-04-21 devnull (P)nfsmount3rumntpack, (P)nfsmount3rumntunpack, (S)nfsmount3rumntsize, (F)nfsmount3rumntprint, sizeof(NfsMount3RUmnt),
692 551445b9 2004-04-21 devnull (P)nfsmount3tumntallpack, (P)nfsmount3tumntallunpack, (S)nfsmount3tumntallsize, (F)nfsmount3tumntallprint, sizeof(NfsMount3TUmntall),
693 551445b9 2004-04-21 devnull (P)nfsmount3rumntallpack, (P)nfsmount3rumntallunpack, (S)nfsmount3rumntallsize, (F)nfsmount3rumntallprint, sizeof(NfsMount3RUmntall),
694 551445b9 2004-04-21 devnull (P)nfsmount3texportpack, (P)nfsmount3texportunpack, (S)nfsmount3texportsize, (F)nfsmount3texportprint, sizeof(NfsMount3TExport),
695 551445b9 2004-04-21 devnull (P)nfsmount3rexportpack, (P)nfsmount3rexportunpack, (S)nfsmount3rexportsize, (F)nfsmount3rexportprint, sizeof(NfsMount3RExport),
696 551445b9 2004-04-21 devnull };
697 551445b9 2004-04-21 devnull
698 551445b9 2004-04-21 devnull static SunProc proc1[] = {
699 551445b9 2004-04-21 devnull (P)nfsmount3tnullpack, (P)nfsmount3tnullunpack, (S)nfsmount3tnullsize, (F)nfsmount3tnullprint, sizeof(NfsMount3TNull),
700 551445b9 2004-04-21 devnull (P)nfsmount3rnullpack, (P)nfsmount3rnullunpack, (S)nfsmount3rnullsize, (F)nfsmount3rnullprint, sizeof(NfsMount3RNull),
701 551445b9 2004-04-21 devnull (P)nfsmount3tmntpack, (P)nfsmount3tmntunpack, (S)nfsmount3tmntsize, (F)nfsmount3tmntprint, sizeof(NfsMount3TMnt),
702 551445b9 2004-04-21 devnull (P)nfsmount1rmntpack, (P)nfsmount1rmntunpack, (S)nfsmount1rmntsize, (F)nfsmount3rmntprint, sizeof(NfsMount3RMnt),
703 551445b9 2004-04-21 devnull (P)nfsmount3tdumppack, (P)nfsmount3tdumpunpack, (S)nfsmount3tdumpsize, (F)nfsmount3tdumpprint, sizeof(NfsMount3TDump),
704 551445b9 2004-04-21 devnull (P)nfsmount3rdumppack, (P)nfsmount3rdumpunpack, (S)nfsmount3rdumpsize, (F)nfsmount3rdumpprint, sizeof(NfsMount3RDump),
705 551445b9 2004-04-21 devnull (P)nfsmount3tumntpack, (P)nfsmount3tumntunpack, (S)nfsmount3tumntsize, (F)nfsmount3tumntprint, sizeof(NfsMount3TUmnt),
706 551445b9 2004-04-21 devnull (P)nfsmount3rumntpack, (P)nfsmount3rumntunpack, (S)nfsmount3rumntsize, (F)nfsmount3rumntprint, sizeof(NfsMount3RUmnt),
707 551445b9 2004-04-21 devnull (P)nfsmount3tumntallpack, (P)nfsmount3tumntallunpack, (S)nfsmount3tumntallsize, (F)nfsmount3tumntallprint, sizeof(NfsMount3TUmntall),
708 551445b9 2004-04-21 devnull (P)nfsmount3rumntallpack, (P)nfsmount3rumntallunpack, (S)nfsmount3rumntallsize, (F)nfsmount3rumntallprint, sizeof(NfsMount3RUmntall),
709 551445b9 2004-04-21 devnull (P)nfsmount3texportpack, (P)nfsmount3texportunpack, (S)nfsmount3texportsize, (F)nfsmount3texportprint, sizeof(NfsMount3TExport),
710 551445b9 2004-04-21 devnull (P)nfsmount3rexportpack, (P)nfsmount3rexportunpack, (S)nfsmount3rexportsize, (F)nfsmount3rexportprint, sizeof(NfsMount3RExport),
711 551445b9 2004-04-21 devnull };
712 551445b9 2004-04-21 devnull
713 551445b9 2004-04-21 devnull SunProg nfsmount3prog =
714 551445b9 2004-04-21 devnull {
715 551445b9 2004-04-21 devnull NfsMount3Program,
716 551445b9 2004-04-21 devnull NfsMount3Version,
717 551445b9 2004-04-21 devnull proc3,
718 551445b9 2004-04-21 devnull nelem(proc3),
719 551445b9 2004-04-21 devnull };
720 551445b9 2004-04-21 devnull
721 551445b9 2004-04-21 devnull SunProg nfsmount1prog =
722 551445b9 2004-04-21 devnull {
723 551445b9 2004-04-21 devnull NfsMount1Program,
724 551445b9 2004-04-21 devnull NfsMount1Version,
725 551445b9 2004-04-21 devnull proc1,
726 551445b9 2004-04-21 devnull nelem(proc1),
727 551445b9 2004-04-21 devnull };