1218b434bc0618afcaa3b16c6ab1ca3d9c9c5d3e
[packages.git] / net / nfs-kernel-server / patches / 03-rpcgen_sources.patch
1 diff -urN nfs-utils-1.0.7.old/support/export/mount.h nfs-utils-1.0.7/support/export/mount.h
2 --- nfs-utils-1.0.7.old/support/export/mount.h  1970-01-01 01:00:00.000000000 +0100
3 +++ nfs-utils-1.0.7/support/export/mount.h      2006-03-24 15:39:43.000000000 +0100
4 @@ -0,0 +1,469 @@
5 +/*
6 + * Please do not edit this file.
7 + * It was generated using rpcgen.
8 + */
9 +
10 +#ifndef _MOUNT_H_RPCGEN
11 +#define _MOUNT_H_RPCGEN
12 +
13 +#include <rpc/rpc.h>
14 +
15 +#ifndef IXDR_GET_INT32
16 +#define IXDR_GET_INT32(buf) IXDR_GET_LONG((buf))
17 +#endif
18 +#ifndef IXDR_PUT_INT32
19 +#define IXDR_PUT_INT32(buf, v) IXDR_PUT_LONG((buf), (v))
20 +#endif
21 +#ifndef IXDR_GET_U_INT32
22 +#define IXDR_GET_U_INT32(buf) IXDR_GET_U_LONG((buf))
23 +#endif
24 +#ifndef IXDR_PUT_U_INT32
25 +#define IXDR_PUT_U_INT32(buf, v) IXDR_PUT_U_LONG((buf), (v))
26 +#endif
27 +/*
28 + * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
29 + * unrestricted use provided that this legend is included on all tape
30 + * media and as a part of the software program in whole or part.  Users
31 + * may copy or modify Sun RPC without charge, but are not authorized
32 + * to license or distribute it to anyone else except as part of a product or
33 + * program developed by the user or with the express written consent of
34 + * Sun Microsystems, Inc.
35 + *
36 + * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
37 + * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
38 + * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
39 + *
40 + * Sun RPC is provided with no support and without any obligation on the
41 + * part of Sun Microsystems, Inc. to assist in its use, correction,
42 + * modification or enhancement.
43 + *
44 + * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
45 + * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
46 + * OR ANY PART THEREOF.
47 + *
48 + * In no event will Sun Microsystems, Inc. be liable for any lost revenue
49 + * or profits or other special, indirect and consequential damages, even if
50 + * Sun has been advised of the possibility of such damages.
51 + *
52 + * Sun Microsystems, Inc.
53 + * 2550 Garcia Avenue
54 + * Mountain View, California  94043
55 + */
56 +/*
57 + * Copyright (c) 1985, 1990 by Sun Microsystems, Inc.
58 + */
59 +
60 +/* from @(#)mount.x    1.3 91/03/11 TIRPC 1.0 */
61 +#ifndef _rpcsvc_mount_h
62 +#define _rpcsvc_mount_h
63 +#include <memory.h>
64 +#define MNTPATHLEN 1024
65 +#define MNTNAMLEN 255
66 +#define FHSIZE 32
67 +
68 +typedef char fhandle[FHSIZE];
69 +#ifdef __cplusplus 
70 +extern "C" bool_t xdr_fhandle(XDR *, fhandle);
71 +#elif __STDC__ 
72 +extern  bool_t xdr_fhandle(XDR *, fhandle);
73 +#else /* Old Style C */ 
74 +bool_t xdr_fhandle();
75 +#endif /* Old Style C */ 
76 +
77 +
78 +struct fhstatus {
79 +       u_int fhs_status;
80 +       union {
81 +               fhandle fhs_fhandle;
82 +       } fhstatus_u;
83 +};
84 +typedef struct fhstatus fhstatus;
85 +#ifdef __cplusplus 
86 +extern "C" bool_t xdr_fhstatus(XDR *, fhstatus*);
87 +#elif __STDC__ 
88 +extern  bool_t xdr_fhstatus(XDR *, fhstatus*);
89 +#else /* Old Style C */ 
90 +bool_t xdr_fhstatus();
91 +#endif /* Old Style C */ 
92 +
93 +
94 +typedef char *dirpath;
95 +#ifdef __cplusplus 
96 +extern "C" bool_t xdr_dirpath(XDR *, dirpath*);
97 +#elif __STDC__ 
98 +extern  bool_t xdr_dirpath(XDR *, dirpath*);
99 +#else /* Old Style C */ 
100 +bool_t xdr_dirpath();
101 +#endif /* Old Style C */ 
102 +
103 +
104 +typedef char *name;
105 +#ifdef __cplusplus 
106 +extern "C" bool_t xdr_name(XDR *, name*);
107 +#elif __STDC__ 
108 +extern  bool_t xdr_name(XDR *, name*);
109 +#else /* Old Style C */ 
110 +bool_t xdr_name();
111 +#endif /* Old Style C */ 
112 +
113 +
114 +typedef struct mountbody *mountlist;
115 +#ifdef __cplusplus 
116 +extern "C" bool_t xdr_mountlist(XDR *, mountlist*);
117 +#elif __STDC__ 
118 +extern  bool_t xdr_mountlist(XDR *, mountlist*);
119 +#else /* Old Style C */ 
120 +bool_t xdr_mountlist();
121 +#endif /* Old Style C */ 
122 +
123 +
124 +struct mountbody {
125 +       name ml_hostname;
126 +       dirpath ml_directory;
127 +       mountlist ml_next;
128 +};
129 +typedef struct mountbody mountbody;
130 +#ifdef __cplusplus 
131 +extern "C" bool_t xdr_mountbody(XDR *, mountbody*);
132 +#elif __STDC__ 
133 +extern  bool_t xdr_mountbody(XDR *, mountbody*);
134 +#else /* Old Style C */ 
135 +bool_t xdr_mountbody();
136 +#endif /* Old Style C */ 
137 +
138 +
139 +typedef struct groupnode *groups;
140 +#ifdef __cplusplus 
141 +extern "C" bool_t xdr_groups(XDR *, groups*);
142 +#elif __STDC__ 
143 +extern  bool_t xdr_groups(XDR *, groups*);
144 +#else /* Old Style C */ 
145 +bool_t xdr_groups();
146 +#endif /* Old Style C */ 
147 +
148 +
149 +struct groupnode {
150 +       name gr_name;
151 +       groups gr_next;
152 +};
153 +typedef struct groupnode groupnode;
154 +#ifdef __cplusplus 
155 +extern "C" bool_t xdr_groupnode(XDR *, groupnode*);
156 +#elif __STDC__ 
157 +extern  bool_t xdr_groupnode(XDR *, groupnode*);
158 +#else /* Old Style C */ 
159 +bool_t xdr_groupnode();
160 +#endif /* Old Style C */ 
161 +
162 +
163 +typedef struct exportnode *exports;
164 +#ifdef __cplusplus 
165 +extern "C" bool_t xdr_exports(XDR *, exports*);
166 +#elif __STDC__ 
167 +extern  bool_t xdr_exports(XDR *, exports*);
168 +#else /* Old Style C */ 
169 +bool_t xdr_exports();
170 +#endif /* Old Style C */ 
171 +
172 +
173 +struct exportnode {
174 +       dirpath ex_dir;
175 +       groups ex_groups;
176 +       exports ex_next;
177 +};
178 +typedef struct exportnode exportnode;
179 +#ifdef __cplusplus 
180 +extern "C" bool_t xdr_exportnode(XDR *, exportnode*);
181 +#elif __STDC__ 
182 +extern  bool_t xdr_exportnode(XDR *, exportnode*);
183 +#else /* Old Style C */ 
184 +bool_t xdr_exportnode();
185 +#endif /* Old Style C */ 
186 +
187 +
188 +struct ppathcnf {
189 +       int pc_link_max;
190 +       short pc_max_canon;
191 +       short pc_max_input;
192 +       short pc_name_max;
193 +       short pc_path_max;
194 +       short pc_pipe_buf;
195 +       u_char pc_vdisable;
196 +       char pc_xxx;
197 +       short pc_mask[2];
198 +};
199 +typedef struct ppathcnf ppathcnf;
200 +#ifdef __cplusplus 
201 +extern "C" bool_t xdr_ppathcnf(XDR *, ppathcnf*);
202 +#elif __STDC__ 
203 +extern  bool_t xdr_ppathcnf(XDR *, ppathcnf*);
204 +#else /* Old Style C */ 
205 +bool_t xdr_ppathcnf();
206 +#endif /* Old Style C */ 
207 +
208 +#define FHSIZE3 64
209 +
210 +typedef struct {
211 +       u_int fhandle3_len;
212 +       char *fhandle3_val;
213 +} fhandle3;
214 +#ifdef __cplusplus 
215 +extern "C" bool_t xdr_fhandle3(XDR *, fhandle3*);
216 +#elif __STDC__ 
217 +extern  bool_t xdr_fhandle3(XDR *, fhandle3*);
218 +#else /* Old Style C */ 
219 +bool_t xdr_fhandle3();
220 +#endif /* Old Style C */ 
221 +
222 +
223 +enum mountstat3 {
224 +       MNT_OK = 0,
225 +       MNT3ERR_PERM = 1,
226 +       MNT3ERR_NOENT = 2,
227 +       MNT3ERR_IO = 5,
228 +       MNT3ERR_ACCES = 13,
229 +       MNT3ERR_NOTDIR = 20,
230 +       MNT3ERR_INVAL = 22,
231 +       MNT3ERR_NAMETOOLONG = 63,
232 +       MNT3ERR_NOTSUPP = 10004,
233 +       MNT3ERR_SERVERFAULT = 10006,
234 +};
235 +typedef enum mountstat3 mountstat3;
236 +#ifdef __cplusplus 
237 +extern "C" bool_t xdr_mountstat3(XDR *, mountstat3*);
238 +#elif __STDC__ 
239 +extern  bool_t xdr_mountstat3(XDR *, mountstat3*);
240 +#else /* Old Style C */ 
241 +bool_t xdr_mountstat3();
242 +#endif /* Old Style C */ 
243 +
244 +
245 +struct mountres3_ok {
246 +       fhandle3 fhandle;
247 +       struct {
248 +               u_int auth_flavors_len;
249 +               int *auth_flavors_val;
250 +       } auth_flavors;
251 +};
252 +typedef struct mountres3_ok mountres3_ok;
253 +#ifdef __cplusplus 
254 +extern "C" bool_t xdr_mountres3_ok(XDR *, mountres3_ok*);
255 +#elif __STDC__ 
256 +extern  bool_t xdr_mountres3_ok(XDR *, mountres3_ok*);
257 +#else /* Old Style C */ 
258 +bool_t xdr_mountres3_ok();
259 +#endif /* Old Style C */ 
260 +
261 +
262 +struct mountres3 {
263 +       mountstat3 fhs_status;
264 +       union {
265 +               mountres3_ok mountinfo;
266 +       } mountres3_u;
267 +};
268 +typedef struct mountres3 mountres3;
269 +#ifdef __cplusplus 
270 +extern "C" bool_t xdr_mountres3(XDR *, mountres3*);
271 +#elif __STDC__ 
272 +extern  bool_t xdr_mountres3(XDR *, mountres3*);
273 +#else /* Old Style C */ 
274 +bool_t xdr_mountres3();
275 +#endif /* Old Style C */ 
276 +
277 +#endif /*!_rpcsvc_mount_h*/
278 +
279 +#define MOUNTPROG ((u_int32_t)100005)
280 +#define MOUNTVERS ((u_int32_t)1)
281 +
282 +#ifdef __cplusplus
283 +#define MOUNTPROC_NULL ((u_int32_t)0)
284 +extern "C" void * mountproc_null_1(void *, CLIENT *);
285 +extern "C" void * mountproc_null_1_svc(void *, struct svc_req *);
286 +#define MOUNTPROC_MNT ((u_int32_t)1)
287 +extern "C" fhstatus * mountproc_mnt_1(dirpath *, CLIENT *);
288 +extern "C" fhstatus * mountproc_mnt_1_svc(dirpath *, struct svc_req *);
289 +#define MOUNTPROC_DUMP ((u_int32_t)2)
290 +extern "C" mountlist * mountproc_dump_1(void *, CLIENT *);
291 +extern "C" mountlist * mountproc_dump_1_svc(void *, struct svc_req *);
292 +#define MOUNTPROC_UMNT ((u_int32_t)3)
293 +extern "C" void * mountproc_umnt_1(dirpath *, CLIENT *);
294 +extern "C" void * mountproc_umnt_1_svc(dirpath *, struct svc_req *);
295 +#define MOUNTPROC_UMNTALL ((u_int32_t)4)
296 +extern "C" void * mountproc_umntall_1(void *, CLIENT *);
297 +extern "C" void * mountproc_umntall_1_svc(void *, struct svc_req *);
298 +#define MOUNTPROC_EXPORT ((u_int32_t)5)
299 +extern "C" exports * mountproc_export_1(void *, CLIENT *);
300 +extern "C" exports * mountproc_export_1_svc(void *, struct svc_req *);
301 +#define MOUNTPROC_EXPORTALL ((u_int32_t)6)
302 +extern "C" exports * mountproc_exportall_1(void *, CLIENT *);
303 +extern "C" exports * mountproc_exportall_1_svc(void *, struct svc_req *);
304 +
305 +#elif __STDC__
306 +#define MOUNTPROC_NULL ((u_int32_t)0)
307 +extern  void * mountproc_null_1(void *, CLIENT *);
308 +extern  void * mountproc_null_1_svc(void *, struct svc_req *);
309 +#define MOUNTPROC_MNT ((u_int32_t)1)
310 +extern  fhstatus * mountproc_mnt_1(dirpath *, CLIENT *);
311 +extern  fhstatus * mountproc_mnt_1_svc(dirpath *, struct svc_req *);
312 +#define MOUNTPROC_DUMP ((u_int32_t)2)
313 +extern  mountlist * mountproc_dump_1(void *, CLIENT *);
314 +extern  mountlist * mountproc_dump_1_svc(void *, struct svc_req *);
315 +#define MOUNTPROC_UMNT ((u_int32_t)3)
316 +extern  void * mountproc_umnt_1(dirpath *, CLIENT *);
317 +extern  void * mountproc_umnt_1_svc(dirpath *, struct svc_req *);
318 +#define MOUNTPROC_UMNTALL ((u_int32_t)4)
319 +extern  void * mountproc_umntall_1(void *, CLIENT *);
320 +extern  void * mountproc_umntall_1_svc(void *, struct svc_req *);
321 +#define MOUNTPROC_EXPORT ((u_int32_t)5)
322 +extern  exports * mountproc_export_1(void *, CLIENT *);
323 +extern  exports * mountproc_export_1_svc(void *, struct svc_req *);
324 +#define MOUNTPROC_EXPORTALL ((u_int32_t)6)
325 +extern  exports * mountproc_exportall_1(void *, CLIENT *);
326 +extern  exports * mountproc_exportall_1_svc(void *, struct svc_req *);
327 +
328 +#else /* Old Style C */ 
329 +#define MOUNTPROC_NULL ((u_int32_t)0)
330 +extern  void * mountproc_null_1();
331 +extern  void * mountproc_null_1_svc();
332 +#define MOUNTPROC_MNT ((u_int32_t)1)
333 +extern  fhstatus * mountproc_mnt_1();
334 +extern  fhstatus * mountproc_mnt_1_svc();
335 +#define MOUNTPROC_DUMP ((u_int32_t)2)
336 +extern  mountlist * mountproc_dump_1();
337 +extern  mountlist * mountproc_dump_1_svc();
338 +#define MOUNTPROC_UMNT ((u_int32_t)3)
339 +extern  void * mountproc_umnt_1();
340 +extern  void * mountproc_umnt_1_svc();
341 +#define MOUNTPROC_UMNTALL ((u_int32_t)4)
342 +extern  void * mountproc_umntall_1();
343 +extern  void * mountproc_umntall_1_svc();
344 +#define MOUNTPROC_EXPORT ((u_int32_t)5)
345 +extern  exports * mountproc_export_1();
346 +extern  exports * mountproc_export_1_svc();
347 +#define MOUNTPROC_EXPORTALL ((u_int32_t)6)
348 +extern  exports * mountproc_exportall_1();
349 +extern  exports * mountproc_exportall_1_svc();
350 +#endif /* Old Style C */ 
351 +#define MOUNTVERS_POSIX ((u_int32_t)2)
352 +
353 +#ifdef __cplusplus
354 +extern "C" void * mountproc_null_2(void *, CLIENT *);
355 +extern "C" void * mountproc_null_2_svc(void *, struct svc_req *);
356 +extern "C" fhstatus * mountproc_mnt_2(dirpath *, CLIENT *);
357 +extern "C" fhstatus * mountproc_mnt_2_svc(dirpath *, struct svc_req *);
358 +extern "C" mountlist * mountproc_dump_2(void *, CLIENT *);
359 +extern "C" mountlist * mountproc_dump_2_svc(void *, struct svc_req *);
360 +extern "C" void * mountproc_umnt_2(dirpath *, CLIENT *);
361 +extern "C" void * mountproc_umnt_2_svc(dirpath *, struct svc_req *);
362 +extern "C" void * mountproc_umntall_2(void *, CLIENT *);
363 +extern "C" void * mountproc_umntall_2_svc(void *, struct svc_req *);
364 +extern "C" exports * mountproc_export_2(void *, CLIENT *);
365 +extern "C" exports * mountproc_export_2_svc(void *, struct svc_req *);
366 +extern "C" exports * mountproc_exportall_2(void *, CLIENT *);
367 +extern "C" exports * mountproc_exportall_2_svc(void *, struct svc_req *);
368 +#define MOUNTPROC_PATHCONF ((u_int32_t)7)
369 +extern "C" ppathcnf * mountproc_pathconf_2(dirpath *, CLIENT *);
370 +extern "C" ppathcnf * mountproc_pathconf_2_svc(dirpath *, struct svc_req *);
371 +
372 +#elif __STDC__
373 +extern  void * mountproc_null_2(void *, CLIENT *);
374 +extern  void * mountproc_null_2_svc(void *, struct svc_req *);
375 +extern  fhstatus * mountproc_mnt_2(dirpath *, CLIENT *);
376 +extern  fhstatus * mountproc_mnt_2_svc(dirpath *, struct svc_req *);
377 +extern  mountlist * mountproc_dump_2(void *, CLIENT *);
378 +extern  mountlist * mountproc_dump_2_svc(void *, struct svc_req *);
379 +extern  void * mountproc_umnt_2(dirpath *, CLIENT *);
380 +extern  void * mountproc_umnt_2_svc(dirpath *, struct svc_req *);
381 +extern  void * mountproc_umntall_2(void *, CLIENT *);
382 +extern  void * mountproc_umntall_2_svc(void *, struct svc_req *);
383 +extern  exports * mountproc_export_2(void *, CLIENT *);
384 +extern  exports * mountproc_export_2_svc(void *, struct svc_req *);
385 +extern  exports * mountproc_exportall_2(void *, CLIENT *);
386 +extern  exports * mountproc_exportall_2_svc(void *, struct svc_req *);
387 +#define MOUNTPROC_PATHCONF ((u_int32_t)7)
388 +extern  ppathcnf * mountproc_pathconf_2(dirpath *, CLIENT *);
389 +extern  ppathcnf * mountproc_pathconf_2_svc(dirpath *, struct svc_req *);
390 +
391 +#else /* Old Style C */ 
392 +extern  void * mountproc_null_2();
393 +extern  void * mountproc_null_2_svc();
394 +extern  fhstatus * mountproc_mnt_2();
395 +extern  fhstatus * mountproc_mnt_2_svc();
396 +extern  mountlist * mountproc_dump_2();
397 +extern  mountlist * mountproc_dump_2_svc();
398 +extern  void * mountproc_umnt_2();
399 +extern  void * mountproc_umnt_2_svc();
400 +extern  void * mountproc_umntall_2();
401 +extern  void * mountproc_umntall_2_svc();
402 +extern  exports * mountproc_export_2();
403 +extern  exports * mountproc_export_2_svc();
404 +extern  exports * mountproc_exportall_2();
405 +extern  exports * mountproc_exportall_2_svc();
406 +#define MOUNTPROC_PATHCONF ((u_int32_t)7)
407 +extern  ppathcnf * mountproc_pathconf_2();
408 +extern  ppathcnf * mountproc_pathconf_2_svc();
409 +#endif /* Old Style C */ 
410 +#define MOUNTVERS_NFSV3 ((u_int32_t)3)
411 +
412 +#ifdef __cplusplus
413 +#define MOUNTPROC3_NULL ((u_int32_t)0)
414 +extern "C" void * mountproc3_null_3(void *, CLIENT *);
415 +extern "C" void * mountproc3_null_3_svc(void *, struct svc_req *);
416 +#define MOUNTPROC3_MNT ((u_int32_t)1)
417 +extern "C" mountres3 * mountproc3_mnt_3(dirpath *, CLIENT *);
418 +extern "C" mountres3 * mountproc3_mnt_3_svc(dirpath *, struct svc_req *);
419 +#define MOUNTPROC3_DUMP ((u_int32_t)2)
420 +extern "C" mountlist * mountproc3_dump_3(void *, CLIENT *);
421 +extern "C" mountlist * mountproc3_dump_3_svc(void *, struct svc_req *);
422 +#define MOUNTPROC3_UMNT ((u_int32_t)3)
423 +extern "C" void * mountproc3_umnt_3(dirpath *, CLIENT *);
424 +extern "C" void * mountproc3_umnt_3_svc(dirpath *, struct svc_req *);
425 +#define MOUNTPROC3_UMNTALL ((u_int32_t)4)
426 +extern "C" void * mountproc3_umntall_3(void *, CLIENT *);
427 +extern "C" void * mountproc3_umntall_3_svc(void *, struct svc_req *);
428 +#define MOUNTPROC3_EXPORT ((u_int32_t)5)
429 +extern "C" exports * mountproc3_export_3(void *, CLIENT *);
430 +extern "C" exports * mountproc3_export_3_svc(void *, struct svc_req *);
431 +
432 +#elif __STDC__
433 +#define MOUNTPROC3_NULL ((u_int32_t)0)
434 +extern  void * mountproc3_null_3(void *, CLIENT *);
435 +extern  void * mountproc3_null_3_svc(void *, struct svc_req *);
436 +#define MOUNTPROC3_MNT ((u_int32_t)1)
437 +extern  mountres3 * mountproc3_mnt_3(dirpath *, CLIENT *);
438 +extern  mountres3 * mountproc3_mnt_3_svc(dirpath *, struct svc_req *);
439 +#define MOUNTPROC3_DUMP ((u_int32_t)2)
440 +extern  mountlist * mountproc3_dump_3(void *, CLIENT *);
441 +extern  mountlist * mountproc3_dump_3_svc(void *, struct svc_req *);
442 +#define MOUNTPROC3_UMNT ((u_int32_t)3)
443 +extern  void * mountproc3_umnt_3(dirpath *, CLIENT *);
444 +extern  void * mountproc3_umnt_3_svc(dirpath *, struct svc_req *);
445 +#define MOUNTPROC3_UMNTALL ((u_int32_t)4)
446 +extern  void * mountproc3_umntall_3(void *, CLIENT *);
447 +extern  void * mountproc3_umntall_3_svc(void *, struct svc_req *);
448 +#define MOUNTPROC3_EXPORT ((u_int32_t)5)
449 +extern  exports * mountproc3_export_3(void *, CLIENT *);
450 +extern  exports * mountproc3_export_3_svc(void *, struct svc_req *);
451 +
452 +#else /* Old Style C */ 
453 +#define MOUNTPROC3_NULL ((u_int32_t)0)
454 +extern  void * mountproc3_null_3();
455 +extern  void * mountproc3_null_3_svc();
456 +#define MOUNTPROC3_MNT ((u_int32_t)1)
457 +extern  mountres3 * mountproc3_mnt_3();
458 +extern  mountres3 * mountproc3_mnt_3_svc();
459 +#define MOUNTPROC3_DUMP ((u_int32_t)2)
460 +extern  mountlist * mountproc3_dump_3();
461 +extern  mountlist * mountproc3_dump_3_svc();
462 +#define MOUNTPROC3_UMNT ((u_int32_t)3)
463 +extern  void * mountproc3_umnt_3();
464 +extern  void * mountproc3_umnt_3_svc();
465 +#define MOUNTPROC3_UMNTALL ((u_int32_t)4)
466 +extern  void * mountproc3_umntall_3();
467 +extern  void * mountproc3_umntall_3_svc();
468 +#define MOUNTPROC3_EXPORT ((u_int32_t)5)
469 +extern  exports * mountproc3_export_3();
470 +extern  exports * mountproc3_export_3_svc();
471 +#endif /* Old Style C */ 
472 +
473 +#endif /* !_MOUNT_H_RPCGEN */
474 diff -urN nfs-utils-1.0.7.old/support/export/mount_clnt.c nfs-utils-1.0.7/support/export/mount_clnt.c
475 --- nfs-utils-1.0.7.old/support/export/mount_clnt.c     1970-01-01 01:00:00.000000000 +0100
476 +++ nfs-utils-1.0.7/support/export/mount_clnt.c 2006-03-24 15:39:43.000000000 +0100
477 @@ -0,0 +1,337 @@
478 +/*
479 + * Please do not edit this file.
480 + * It was generated using rpcgen.
481 + */
482 +
483 +#include "mount.h"
484 +/*
485 + * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
486 + * unrestricted use provided that this legend is included on all tape
487 + * media and as a part of the software program in whole or part.  Users
488 + * may copy or modify Sun RPC without charge, but are not authorized
489 + * to license or distribute it to anyone else except as part of a product or
490 + * program developed by the user or with the express written consent of
491 + * Sun Microsystems, Inc.
492 + *
493 + * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
494 + * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
495 + * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
496 + *
497 + * Sun RPC is provided with no support and without any obligation on the
498 + * part of Sun Microsystems, Inc. to assist in its use, correction,
499 + * modification or enhancement.
500 + *
501 + * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
502 + * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
503 + * OR ANY PART THEREOF.
504 + *
505 + * In no event will Sun Microsystems, Inc. be liable for any lost revenue
506 + * or profits or other special, indirect and consequential damages, even if
507 + * Sun has been advised of the possibility of such damages.
508 + *
509 + * Sun Microsystems, Inc.
510 + * 2550 Garcia Avenue
511 + * Mountain View, California  94043
512 + */
513 +/*
514 + * Copyright (c) 1985, 1990 by Sun Microsystems, Inc.
515 + */
516 +
517 +/* from @(#)mount.x    1.3 91/03/11 TIRPC 1.0 */
518 +
519 +/* Default timeout can be changed using clnt_control() */
520 +static struct timeval TIMEOUT = { 25, 0 };
521 +
522 +void *
523 +mountproc_null_1(argp, clnt)
524 +       void *argp;
525 +       CLIENT *clnt;
526 +{
527 +       static char clnt_res;
528 +
529 +       memset((char *)&clnt_res, 0, sizeof(clnt_res));
530 +       if (clnt_call(clnt, MOUNTPROC_NULL, (xdrproc_t) xdr_void, (caddr_t) argp, (xdrproc_t) xdr_void, (caddr_t) &clnt_res, TIMEOUT) != RPC_SUCCESS) {
531 +               return (NULL);
532 +       }
533 +       return ((void *)&clnt_res);
534 +}
535 +
536 +fhstatus *
537 +mountproc_mnt_1(argp, clnt)
538 +       dirpath *argp;
539 +       CLIENT *clnt;
540 +{
541 +       static fhstatus clnt_res;
542 +
543 +       memset((char *)&clnt_res, 0, sizeof(clnt_res));
544 +       if (clnt_call(clnt, MOUNTPROC_MNT, (xdrproc_t) xdr_dirpath, (caddr_t) argp, (xdrproc_t) xdr_fhstatus, (caddr_t) &clnt_res, TIMEOUT) != RPC_SUCCESS) {
545 +               return (NULL);
546 +       }
547 +       return (&clnt_res);
548 +}
549 +
550 +mountlist *
551 +mountproc_dump_1(argp, clnt)
552 +       void *argp;
553 +       CLIENT *clnt;
554 +{
555 +       static mountlist clnt_res;
556 +
557 +       memset((char *)&clnt_res, 0, sizeof(clnt_res));
558 +       if (clnt_call(clnt, MOUNTPROC_DUMP, (xdrproc_t) xdr_void, (caddr_t) argp, (xdrproc_t) xdr_mountlist, (caddr_t) &clnt_res, TIMEOUT) != RPC_SUCCESS) {
559 +               return (NULL);
560 +       }
561 +       return (&clnt_res);
562 +}
563 +
564 +void *
565 +mountproc_umnt_1(argp, clnt)
566 +       dirpath *argp;
567 +       CLIENT *clnt;
568 +{
569 +       static char clnt_res;
570 +
571 +       memset((char *)&clnt_res, 0, sizeof(clnt_res));
572 +       if (clnt_call(clnt, MOUNTPROC_UMNT, (xdrproc_t) xdr_dirpath, (caddr_t) argp, (xdrproc_t) xdr_void, (caddr_t) &clnt_res, TIMEOUT) != RPC_SUCCESS) {
573 +               return (NULL);
574 +       }
575 +       return ((void *)&clnt_res);
576 +}
577 +
578 +void *
579 +mountproc_umntall_1(argp, clnt)
580 +       void *argp;
581 +       CLIENT *clnt;
582 +{
583 +       static char clnt_res;
584 +
585 +       memset((char *)&clnt_res, 0, sizeof(clnt_res));
586 +       if (clnt_call(clnt, MOUNTPROC_UMNTALL, (xdrproc_t) xdr_void, (caddr_t) argp, (xdrproc_t) xdr_void, (caddr_t) &clnt_res, TIMEOUT) != RPC_SUCCESS) {
587 +               return (NULL);
588 +       }
589 +       return ((void *)&clnt_res);
590 +}
591 +
592 +exports *
593 +mountproc_export_1(argp, clnt)
594 +       void *argp;
595 +       CLIENT *clnt;
596 +{
597 +       static exports clnt_res;
598 +
599 +       memset((char *)&clnt_res, 0, sizeof(clnt_res));
600 +       if (clnt_call(clnt, MOUNTPROC_EXPORT, (xdrproc_t) xdr_void, (caddr_t) argp, (xdrproc_t) xdr_exports, (caddr_t) &clnt_res, TIMEOUT) != RPC_SUCCESS) {
601 +               return (NULL);
602 +       }
603 +       return (&clnt_res);
604 +}
605 +
606 +exports *
607 +mountproc_exportall_1(argp, clnt)
608 +       void *argp;
609 +       CLIENT *clnt;
610 +{
611 +       static exports clnt_res;
612 +
613 +       memset((char *)&clnt_res, 0, sizeof(clnt_res));
614 +       if (clnt_call(clnt, MOUNTPROC_EXPORTALL, (xdrproc_t) xdr_void, (caddr_t) argp, (xdrproc_t) xdr_exports, (caddr_t) &clnt_res, TIMEOUT) != RPC_SUCCESS) {
615 +               return (NULL);
616 +       }
617 +       return (&clnt_res);
618 +}
619 +
620 +void *
621 +mountproc_null_2(argp, clnt)
622 +       void *argp;
623 +       CLIENT *clnt;
624 +{
625 +       static char clnt_res;
626 +
627 +       memset((char *)&clnt_res, 0, sizeof(clnt_res));
628 +       if (clnt_call(clnt, MOUNTPROC_NULL, (xdrproc_t) xdr_void, (caddr_t) argp, (xdrproc_t) xdr_void, (caddr_t) &clnt_res, TIMEOUT) != RPC_SUCCESS) {
629 +               return (NULL);
630 +       }
631 +       return ((void *)&clnt_res);
632 +}
633 +
634 +fhstatus *
635 +mountproc_mnt_2(argp, clnt)
636 +       dirpath *argp;
637 +       CLIENT *clnt;
638 +{
639 +       static fhstatus clnt_res;
640 +
641 +       memset((char *)&clnt_res, 0, sizeof(clnt_res));
642 +       if (clnt_call(clnt, MOUNTPROC_MNT, (xdrproc_t) xdr_dirpath, (caddr_t) argp, (xdrproc_t) xdr_fhstatus, (caddr_t) &clnt_res, TIMEOUT) != RPC_SUCCESS) {
643 +               return (NULL);
644 +       }
645 +       return (&clnt_res);
646 +}
647 +
648 +mountlist *
649 +mountproc_dump_2(argp, clnt)
650 +       void *argp;
651 +       CLIENT *clnt;
652 +{
653 +       static mountlist clnt_res;
654 +
655 +       memset((char *)&clnt_res, 0, sizeof(clnt_res));
656 +       if (clnt_call(clnt, MOUNTPROC_DUMP, (xdrproc_t) xdr_void, (caddr_t) argp, (xdrproc_t) xdr_mountlist, (caddr_t) &clnt_res, TIMEOUT) != RPC_SUCCESS) {
657 +               return (NULL);
658 +       }
659 +       return (&clnt_res);
660 +}
661 +
662 +void *
663 +mountproc_umnt_2(argp, clnt)
664 +       dirpath *argp;
665 +       CLIENT *clnt;
666 +{
667 +       static char clnt_res;
668 +
669 +       memset((char *)&clnt_res, 0, sizeof(clnt_res));
670 +       if (clnt_call(clnt, MOUNTPROC_UMNT, (xdrproc_t) xdr_dirpath, (caddr_t) argp, (xdrproc_t) xdr_void, (caddr_t) &clnt_res, TIMEOUT) != RPC_SUCCESS) {
671 +               return (NULL);
672 +       }
673 +       return ((void *)&clnt_res);
674 +}
675 +
676 +void *
677 +mountproc_umntall_2(argp, clnt)
678 +       void *argp;
679 +       CLIENT *clnt;
680 +{
681 +       static char clnt_res;
682 +
683 +       memset((char *)&clnt_res, 0, sizeof(clnt_res));
684 +       if (clnt_call(clnt, MOUNTPROC_UMNTALL, (xdrproc_t) xdr_void, (caddr_t) argp, (xdrproc_t) xdr_void, (caddr_t) &clnt_res, TIMEOUT) != RPC_SUCCESS) {
685 +               return (NULL);
686 +       }
687 +       return ((void *)&clnt_res);
688 +}
689 +
690 +exports *
691 +mountproc_export_2(argp, clnt)
692 +       void *argp;
693 +       CLIENT *clnt;
694 +{
695 +       static exports clnt_res;
696 +
697 +       memset((char *)&clnt_res, 0, sizeof(clnt_res));
698 +       if (clnt_call(clnt, MOUNTPROC_EXPORT, (xdrproc_t) xdr_void, (caddr_t) argp, (xdrproc_t) xdr_exports, (caddr_t) &clnt_res, TIMEOUT) != RPC_SUCCESS) {
699 +               return (NULL);
700 +       }
701 +       return (&clnt_res);
702 +}
703 +
704 +exports *
705 +mountproc_exportall_2(argp, clnt)
706 +       void *argp;
707 +       CLIENT *clnt;
708 +{
709 +       static exports clnt_res;
710 +
711 +       memset((char *)&clnt_res, 0, sizeof(clnt_res));
712 +       if (clnt_call(clnt, MOUNTPROC_EXPORTALL, (xdrproc_t) xdr_void, (caddr_t) argp, (xdrproc_t) xdr_exports, (caddr_t) &clnt_res, TIMEOUT) != RPC_SUCCESS) {
713 +               return (NULL);
714 +       }
715 +       return (&clnt_res);
716 +}
717 +
718 +ppathcnf *
719 +mountproc_pathconf_2(argp, clnt)
720 +       dirpath *argp;
721 +       CLIENT *clnt;
722 +{
723 +       static ppathcnf clnt_res;
724 +
725 +       memset((char *)&clnt_res, 0, sizeof(clnt_res));
726 +       if (clnt_call(clnt, MOUNTPROC_PATHCONF, (xdrproc_t) xdr_dirpath, (caddr_t) argp, (xdrproc_t) xdr_ppathcnf, (caddr_t) &clnt_res, TIMEOUT) != RPC_SUCCESS) {
727 +               return (NULL);
728 +       }
729 +       return (&clnt_res);
730 +}
731 +
732 +void *
733 +mountproc3_null_3(argp, clnt)
734 +       void *argp;
735 +       CLIENT *clnt;
736 +{
737 +       static char clnt_res;
738 +
739 +       memset((char *)&clnt_res, 0, sizeof(clnt_res));
740 +       if (clnt_call(clnt, MOUNTPROC3_NULL, (xdrproc_t) xdr_void, (caddr_t) argp, (xdrproc_t) xdr_void, (caddr_t) &clnt_res, TIMEOUT) != RPC_SUCCESS) {
741 +               return (NULL);
742 +       }
743 +       return ((void *)&clnt_res);
744 +}
745 +
746 +mountres3 *
747 +mountproc3_mnt_3(argp, clnt)
748 +       dirpath *argp;
749 +       CLIENT *clnt;
750 +{
751 +       static mountres3 clnt_res;
752 +
753 +       memset((char *)&clnt_res, 0, sizeof(clnt_res));
754 +       if (clnt_call(clnt, MOUNTPROC3_MNT, (xdrproc_t) xdr_dirpath, (caddr_t) argp, (xdrproc_t) xdr_mountres3, (caddr_t) &clnt_res, TIMEOUT) != RPC_SUCCESS) {
755 +               return (NULL);
756 +       }
757 +       return (&clnt_res);
758 +}
759 +
760 +mountlist *
761 +mountproc3_dump_3(argp, clnt)
762 +       void *argp;
763 +       CLIENT *clnt;
764 +{
765 +       static mountlist clnt_res;
766 +
767 +       memset((char *)&clnt_res, 0, sizeof(clnt_res));
768 +       if (clnt_call(clnt, MOUNTPROC3_DUMP, (xdrproc_t) xdr_void, (caddr_t) argp, (xdrproc_t) xdr_mountlist, (caddr_t) &clnt_res, TIMEOUT) != RPC_SUCCESS) {
769 +               return (NULL);
770 +       }
771 +       return (&clnt_res);
772 +}
773 +
774 +void *
775 +mountproc3_umnt_3(argp, clnt)
776 +       dirpath *argp;
777 +       CLIENT *clnt;
778 +{
779 +       static char clnt_res;
780 +
781 +       memset((char *)&clnt_res, 0, sizeof(clnt_res));
782 +       if (clnt_call(clnt, MOUNTPROC3_UMNT, (xdrproc_t) xdr_dirpath, (caddr_t) argp, (xdrproc_t) xdr_void, (caddr_t) &clnt_res, TIMEOUT) != RPC_SUCCESS) {
783 +               return (NULL);
784 +       }
785 +       return ((void *)&clnt_res);
786 +}
787 +
788 +void *
789 +mountproc3_umntall_3(argp, clnt)
790 +       void *argp;
791 +       CLIENT *clnt;
792 +{
793 +       static char clnt_res;
794 +
795 +       memset((char *)&clnt_res, 0, sizeof(clnt_res));
796 +       if (clnt_call(clnt, MOUNTPROC3_UMNTALL, (xdrproc_t) xdr_void, (caddr_t) argp, (xdrproc_t) xdr_void, (caddr_t) &clnt_res, TIMEOUT) != RPC_SUCCESS) {
797 +               return (NULL);
798 +       }
799 +       return ((void *)&clnt_res);
800 +}
801 +
802 +exports *
803 +mountproc3_export_3(argp, clnt)
804 +       void *argp;
805 +       CLIENT *clnt;
806 +{
807 +       static exports clnt_res;
808 +
809 +       memset((char *)&clnt_res, 0, sizeof(clnt_res));
810 +       if (clnt_call(clnt, MOUNTPROC3_EXPORT, (xdrproc_t) xdr_void, (caddr_t) argp, (xdrproc_t) xdr_exports, (caddr_t) &clnt_res, TIMEOUT) != RPC_SUCCESS) {
811 +               return (NULL);
812 +       }
813 +       return (&clnt_res);
814 +}
815 diff -urN nfs-utils-1.0.7.old/support/export/mount_xdr.c nfs-utils-1.0.7/support/export/mount_xdr.c
816 --- nfs-utils-1.0.7.old/support/export/mount_xdr.c      1970-01-01 01:00:00.000000000 +0100
817 +++ nfs-utils-1.0.7/support/export/mount_xdr.c  2006-03-24 15:39:43.000000000 +0100
818 @@ -0,0 +1,421 @@
819 +/*
820 + * Please do not edit this file.
821 + * It was generated using rpcgen.
822 + */
823 +
824 +#include "mount.h"
825 +/*
826 + * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
827 + * unrestricted use provided that this legend is included on all tape
828 + * media and as a part of the software program in whole or part.  Users
829 + * may copy or modify Sun RPC without charge, but are not authorized
830 + * to license or distribute it to anyone else except as part of a product or
831 + * program developed by the user or with the express written consent of
832 + * Sun Microsystems, Inc.
833 + *
834 + * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
835 + * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
836 + * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
837 + *
838 + * Sun RPC is provided with no support and without any obligation on the
839 + * part of Sun Microsystems, Inc. to assist in its use, correction,
840 + * modification or enhancement.
841 + *
842 + * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
843 + * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
844 + * OR ANY PART THEREOF.
845 + *
846 + * In no event will Sun Microsystems, Inc. be liable for any lost revenue
847 + * or profits or other special, indirect and consequential damages, even if
848 + * Sun has been advised of the possibility of such damages.
849 + *
850 + * Sun Microsystems, Inc.
851 + * 2550 Garcia Avenue
852 + * Mountain View, California  94043
853 + */
854 +/*
855 + * Copyright (c) 1985, 1990 by Sun Microsystems, Inc.
856 + */
857 +
858 +/* from @(#)mount.x    1.3 91/03/11 TIRPC 1.0 */
859 +
860 +bool_t
861 +xdr_fhandle(xdrs, objp)
862 +       XDR *xdrs;
863 +       fhandle objp;
864 +{
865 +
866 +        register int32_t *buf;
867 +
868 +        if (!xdr_opaque(xdrs, objp, FHSIZE)) {
869 +                return (FALSE);
870 +        }
871 +       return (TRUE);
872 +}
873 +
874 +bool_t
875 +xdr_fhstatus(xdrs, objp)
876 +       XDR *xdrs;
877 +       fhstatus *objp;
878 +{
879 +
880 +        register int32_t *buf;
881 +
882 +        if (!xdr_u_int(xdrs, &objp->fhs_status)) {
883 +                return (FALSE);
884 +        }
885 +       switch (objp->fhs_status) {
886 +       case 0:
887 +                if (!xdr_fhandle(xdrs, objp->fhstatus_u.fhs_fhandle)) {
888 +                        return (FALSE);
889 +                }
890 +               break;
891 +       default:
892 +               break;
893 +       }
894 +       return (TRUE);
895 +}
896 +
897 +bool_t
898 +xdr_dirpath(xdrs, objp)
899 +       XDR *xdrs;
900 +       dirpath *objp;
901 +{
902 +
903 +        register int32_t *buf;
904 +
905 +        if (!xdr_string(xdrs, objp, MNTPATHLEN)) {
906 +                return (FALSE);
907 +        }
908 +       return (TRUE);
909 +}
910 +
911 +bool_t
912 +xdr_name(xdrs, objp)
913 +       XDR *xdrs;
914 +       name *objp;
915 +{
916 +
917 +        register int32_t *buf;
918 +
919 +        if (!xdr_string(xdrs, objp, MNTNAMLEN)) {
920 +                return (FALSE);
921 +        }
922 +       return (TRUE);
923 +}
924 +
925 +bool_t
926 +xdr_mountlist(xdrs, objp)
927 +       XDR *xdrs;
928 +       mountlist *objp;
929 +{
930 +
931 +        register int32_t *buf;
932 +
933 +        if (!xdr_pointer(xdrs, (char **)objp, sizeof(struct mountbody), (xdrproc_t)xdr_mountbody)) {
934 +                return (FALSE);
935 +        }
936 +       return (TRUE);
937 +}
938 +
939 +bool_t
940 +xdr_mountbody(xdrs, objp)
941 +       XDR *xdrs;
942 +       mountbody *objp;
943 +{
944 +
945 +        register int32_t *buf;
946 +
947 +        if (!xdr_name(xdrs, &objp->ml_hostname)) {
948 +                return (FALSE);
949 +        }
950 +        if (!xdr_dirpath(xdrs, &objp->ml_directory)) {
951 +                return (FALSE);
952 +        }
953 +        if (!xdr_mountlist(xdrs, &objp->ml_next)) {
954 +                return (FALSE);
955 +        }
956 +       return (TRUE);
957 +}
958 +
959 +bool_t
960 +xdr_groups(xdrs, objp)
961 +       XDR *xdrs;
962 +       groups *objp;
963 +{
964 +
965 +        register int32_t *buf;
966 +
967 +        if (!xdr_pointer(xdrs, (char **)objp, sizeof(struct groupnode), (xdrproc_t)xdr_groupnode)) {
968 +                return (FALSE);
969 +        }
970 +       return (TRUE);
971 +}
972 +
973 +bool_t
974 +xdr_groupnode(xdrs, objp)
975 +       XDR *xdrs;
976 +       groupnode *objp;
977 +{
978 +
979 +        register int32_t *buf;
980 +
981 +        if (!xdr_name(xdrs, &objp->gr_name)) {
982 +                return (FALSE);
983 +        }
984 +        if (!xdr_groups(xdrs, &objp->gr_next)) {
985 +                return (FALSE);
986 +        }
987 +       return (TRUE);
988 +}
989 +
990 +bool_t
991 +xdr_exports(xdrs, objp)
992 +       XDR *xdrs;
993 +       exports *objp;
994 +{
995 +
996 +        register int32_t *buf;
997 +
998 +        if (!xdr_pointer(xdrs, (char **)objp, sizeof(struct exportnode), (xdrproc_t)xdr_exportnode)) {
999 +                return (FALSE);
1000 +        }
1001 +       return (TRUE);
1002 +}
1003 +
1004 +bool_t
1005 +xdr_exportnode(xdrs, objp)
1006 +       XDR *xdrs;
1007 +       exportnode *objp;
1008 +{
1009 +
1010 +        register int32_t *buf;
1011 +
1012 +        if (!xdr_dirpath(xdrs, &objp->ex_dir)) {
1013 +                return (FALSE);
1014 +        }
1015 +        if (!xdr_groups(xdrs, &objp->ex_groups)) {
1016 +                return (FALSE);
1017 +        }
1018 +        if (!xdr_exports(xdrs, &objp->ex_next)) {
1019 +                return (FALSE);
1020 +        }
1021 +       return (TRUE);
1022 +}
1023 +
1024 +bool_t
1025 +xdr_ppathcnf(xdrs, objp)
1026 +       XDR *xdrs;
1027 +       ppathcnf *objp;
1028 +{
1029 +
1030 +        register int32_t *buf;
1031 +
1032 +        int i;
1033 +
1034 +        if (xdrs->x_op == XDR_ENCODE) {
1035 +        buf = XDR_INLINE(xdrs,6 * BYTES_PER_XDR_UNIT);
1036 +          if (buf == NULL) {
1037 +                if (!xdr_int(xdrs, &objp->pc_link_max)) {
1038 +                        return (FALSE);
1039 +                }
1040 +                if (!xdr_short(xdrs, &objp->pc_max_canon)) {
1041 +                        return (FALSE);
1042 +                }
1043 +                if (!xdr_short(xdrs, &objp->pc_max_input)) {
1044 +                        return (FALSE);
1045 +                }
1046 +                if (!xdr_short(xdrs, &objp->pc_name_max)) {
1047 +                        return (FALSE);
1048 +                }
1049 +                if (!xdr_short(xdrs, &objp->pc_path_max)) {
1050 +                        return (FALSE);
1051 +                }
1052 +                if (!xdr_short(xdrs, &objp->pc_pipe_buf)) {
1053 +                        return (FALSE);
1054 +                }
1055 +
1056 +         }
1057 +         else {
1058 +                IXDR_PUT_INT32(buf,objp->pc_link_max);
1059 +                IXDR_PUT_SHORT(buf,objp->pc_max_canon);
1060 +                IXDR_PUT_SHORT(buf,objp->pc_max_input);
1061 +                IXDR_PUT_SHORT(buf,objp->pc_name_max);
1062 +                IXDR_PUT_SHORT(buf,objp->pc_path_max);
1063 +                IXDR_PUT_SHORT(buf,objp->pc_pipe_buf);
1064 +         }
1065 +        if (!xdr_u_char(xdrs, &objp->pc_vdisable)) {
1066 +                return (FALSE);
1067 +        }
1068 +        if (!xdr_char(xdrs, &objp->pc_xxx)) {
1069 +                return (FALSE);
1070 +        }
1071 +               buf = XDR_INLINE(xdrs,   2  * BYTES_PER_XDR_UNIT);
1072 +               if (buf == NULL) {
1073 +                if (!xdr_vector(xdrs, (char *)objp->pc_mask, 2, sizeof(short), (xdrproc_t)xdr_short)) {
1074 +                        return (FALSE);
1075 +                }
1076 +
1077 +         }
1078 +         else {
1079 +               { register short *genp; 
1080 +                 for ( i = 0,genp=objp->pc_mask;
1081 +                       i < 2; i++){
1082 +                                IXDR_PUT_SHORT(buf,*genp++);
1083 +                  }
1084 +                };
1085 +         }
1086 +
1087 +        return (TRUE);
1088 +       } else if (xdrs->x_op == XDR_DECODE) {
1089 +        buf = XDR_INLINE(xdrs,6 * BYTES_PER_XDR_UNIT);
1090 +          if (buf == NULL) {
1091 +                if (!xdr_int(xdrs, &objp->pc_link_max)) {
1092 +                        return (FALSE);
1093 +                }
1094 +                if (!xdr_short(xdrs, &objp->pc_max_canon)) {
1095 +                        return (FALSE);
1096 +                }
1097 +                if (!xdr_short(xdrs, &objp->pc_max_input)) {
1098 +                        return (FALSE);
1099 +                }
1100 +                if (!xdr_short(xdrs, &objp->pc_name_max)) {
1101 +                        return (FALSE);
1102 +                }
1103 +                if (!xdr_short(xdrs, &objp->pc_path_max)) {
1104 +                        return (FALSE);
1105 +                }
1106 +                if (!xdr_short(xdrs, &objp->pc_pipe_buf)) {
1107 +                        return (FALSE);
1108 +                }
1109 +
1110 +         }
1111 +         else {
1112 +                objp->pc_link_max = IXDR_GET_INT32(buf);
1113 +                objp->pc_max_canon = IXDR_GET_SHORT(buf);
1114 +                objp->pc_max_input = IXDR_GET_SHORT(buf);
1115 +                objp->pc_name_max = IXDR_GET_SHORT(buf);
1116 +                objp->pc_path_max = IXDR_GET_SHORT(buf);
1117 +                objp->pc_pipe_buf = IXDR_GET_SHORT(buf);
1118 +         }
1119 +        if (!xdr_u_char(xdrs, &objp->pc_vdisable)) {
1120 +                return (FALSE);
1121 +        }
1122 +        if (!xdr_char(xdrs, &objp->pc_xxx)) {
1123 +                return (FALSE);
1124 +        }
1125 +               buf = XDR_INLINE(xdrs,   2  * BYTES_PER_XDR_UNIT);
1126 +               if (buf == NULL) {
1127 +                if (!xdr_vector(xdrs, (char *)objp->pc_mask, 2, sizeof(short), (xdrproc_t)xdr_short)) {
1128 +                        return (FALSE);
1129 +                }
1130 +
1131 +         }
1132 +         else {
1133 +               { register short *genp; 
1134 +                 for ( i = 0,genp=objp->pc_mask;
1135 +                       i < 2; i++){
1136 +                                *genp++ = IXDR_GET_SHORT(buf);
1137 +                  }
1138 +                };
1139 +         }
1140 +        return(TRUE);
1141 +       }
1142 +
1143 +        if (!xdr_int(xdrs, &objp->pc_link_max)) {
1144 +                return (FALSE);
1145 +        }
1146 +        if (!xdr_short(xdrs, &objp->pc_max_canon)) {
1147 +                return (FALSE);
1148 +        }
1149 +        if (!xdr_short(xdrs, &objp->pc_max_input)) {
1150 +                return (FALSE);
1151 +        }
1152 +        if (!xdr_short(xdrs, &objp->pc_name_max)) {
1153 +                return (FALSE);
1154 +        }
1155 +        if (!xdr_short(xdrs, &objp->pc_path_max)) {
1156 +                return (FALSE);
1157 +        }
1158 +        if (!xdr_short(xdrs, &objp->pc_pipe_buf)) {
1159 +                return (FALSE);
1160 +        }
1161 +        if (!xdr_u_char(xdrs, &objp->pc_vdisable)) {
1162 +                return (FALSE);
1163 +        }
1164 +        if (!xdr_char(xdrs, &objp->pc_xxx)) {
1165 +                return (FALSE);
1166 +        }
1167 +        if (!xdr_vector(xdrs, (char *)objp->pc_mask, 2, sizeof(short), (xdrproc_t)xdr_short)) {
1168 +                return (FALSE);
1169 +        }
1170 +       return (TRUE);
1171 +}
1172 +
1173 +bool_t
1174 +xdr_fhandle3(xdrs, objp)
1175 +       XDR *xdrs;
1176 +       fhandle3 *objp;
1177 +{
1178 +
1179 +        register int32_t *buf;
1180 +
1181 +        if (!xdr_bytes(xdrs, (char **)&objp->fhandle3_val, (u_int *)&objp->fhandle3_len, FHSIZE3)) {
1182 +                return (FALSE);
1183 +        }
1184 +       return (TRUE);
1185 +}
1186 +
1187 +bool_t
1188 +xdr_mountstat3(xdrs, objp)
1189 +       XDR *xdrs;
1190 +       mountstat3 *objp;
1191 +{
1192 +
1193 +        register int32_t *buf;
1194 +
1195 +        if (!xdr_enum(xdrs, (enum_t *)objp)) {
1196 +                return (FALSE);
1197 +        }
1198 +       return (TRUE);
1199 +}
1200 +
1201 +bool_t
1202 +xdr_mountres3_ok(xdrs, objp)
1203 +       XDR *xdrs;
1204 +       mountres3_ok *objp;
1205 +{
1206 +
1207 +        register int32_t *buf;
1208 +
1209 +        if (!xdr_fhandle3(xdrs, &objp->fhandle)) {
1210 +                return (FALSE);
1211 +        }
1212 +        if (!xdr_array(xdrs, (char **)&objp->auth_flavors.auth_flavors_val, (u_int *)&objp->auth_flavors.auth_flavors_len, ~0, sizeof(int), (xdrproc_t)xdr_int)) {
1213 +                return (FALSE);
1214 +        }
1215 +       return (TRUE);
1216 +}
1217 +
1218 +bool_t
1219 +xdr_mountres3(xdrs, objp)
1220 +       XDR *xdrs;
1221 +       mountres3 *objp;
1222 +{
1223 +
1224 +        register int32_t *buf;
1225 +
1226 +        if (!xdr_mountstat3(xdrs, &objp->fhs_status)) {
1227 +                return (FALSE);
1228 +        }
1229 +       switch (objp->fhs_status) {
1230 +       case MNT_OK:
1231 +                if (!xdr_mountres3_ok(xdrs, &objp->mountres3_u.mountinfo)) {
1232 +                        return (FALSE);
1233 +                }
1234 +               break;
1235 +       default:
1236 +               break;
1237 +       }
1238 +       return (TRUE);
1239 +}
1240 diff -urN nfs-utils-1.0.7.old/support/include/mount.h nfs-utils-1.0.7/support/include/mount.h
1241 --- nfs-utils-1.0.7.old/support/include/mount.h 1970-01-01 01:00:00.000000000 +0100
1242 +++ nfs-utils-1.0.7/support/include/mount.h     2006-03-24 15:39:43.000000000 +0100
1243 @@ -0,0 +1,469 @@
1244 +/*
1245 + * Please do not edit this file.
1246 + * It was generated using rpcgen.
1247 + */
1248 +
1249 +#ifndef _MOUNT_H_RPCGEN
1250 +#define _MOUNT_H_RPCGEN
1251 +
1252 +#include <rpc/rpc.h>
1253 +
1254 +#ifndef IXDR_GET_INT32
1255 +#define IXDR_GET_INT32(buf) IXDR_GET_LONG((buf))
1256 +#endif
1257 +#ifndef IXDR_PUT_INT32
1258 +#define IXDR_PUT_INT32(buf, v) IXDR_PUT_LONG((buf), (v))
1259 +#endif
1260 +#ifndef IXDR_GET_U_INT32
1261 +#define IXDR_GET_U_INT32(buf) IXDR_GET_U_LONG((buf))
1262 +#endif
1263 +#ifndef IXDR_PUT_U_INT32
1264 +#define IXDR_PUT_U_INT32(buf, v) IXDR_PUT_U_LONG((buf), (v))
1265 +#endif
1266 +/*
1267 + * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
1268 + * unrestricted use provided that this legend is included on all tape
1269 + * media and as a part of the software program in whole or part.  Users
1270 + * may copy or modify Sun RPC without charge, but are not authorized
1271 + * to license or distribute it to anyone else except as part of a product or
1272 + * program developed by the user or with the express written consent of
1273 + * Sun Microsystems, Inc.
1274 + *
1275 + * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
1276 + * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
1277 + * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
1278 + *
1279 + * Sun RPC is provided with no support and without any obligation on the
1280 + * part of Sun Microsystems, Inc. to assist in its use, correction,
1281 + * modification or enhancement.
1282 + *
1283 + * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
1284 + * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
1285 + * OR ANY PART THEREOF.
1286 + *
1287 + * In no event will Sun Microsystems, Inc. be liable for any lost revenue
1288 + * or profits or other special, indirect and consequential damages, even if
1289 + * Sun has been advised of the possibility of such damages.
1290 + *
1291 + * Sun Microsystems, Inc.
1292 + * 2550 Garcia Avenue
1293 + * Mountain View, California  94043
1294 + */
1295 +/*
1296 + * Copyright (c) 1985, 1990 by Sun Microsystems, Inc.
1297 + */
1298 +
1299 +/* from @(#)mount.x    1.3 91/03/11 TIRPC 1.0 */
1300 +#ifndef _rpcsvc_mount_h
1301 +#define _rpcsvc_mount_h
1302 +#include <memory.h>
1303 +#define MNTPATHLEN 1024
1304 +#define MNTNAMLEN 255
1305 +#define FHSIZE 32
1306 +
1307 +typedef char fhandle[FHSIZE];
1308 +#ifdef __cplusplus 
1309 +extern "C" bool_t xdr_fhandle(XDR *, fhandle);
1310 +#elif __STDC__ 
1311 +extern  bool_t xdr_fhandle(XDR *, fhandle);
1312 +#else /* Old Style C */ 
1313 +bool_t xdr_fhandle();
1314 +#endif /* Old Style C */ 
1315 +
1316 +
1317 +struct fhstatus {
1318 +       u_int fhs_status;
1319 +       union {
1320 +               fhandle fhs_fhandle;
1321 +       } fhstatus_u;
1322 +};
1323 +typedef struct fhstatus fhstatus;
1324 +#ifdef __cplusplus 
1325 +extern "C" bool_t xdr_fhstatus(XDR *, fhstatus*);
1326 +#elif __STDC__ 
1327 +extern  bool_t xdr_fhstatus(XDR *, fhstatus*);
1328 +#else /* Old Style C */ 
1329 +bool_t xdr_fhstatus();
1330 +#endif /* Old Style C */ 
1331 +
1332 +
1333 +typedef char *dirpath;
1334 +#ifdef __cplusplus 
1335 +extern "C" bool_t xdr_dirpath(XDR *, dirpath*);
1336 +#elif __STDC__ 
1337 +extern  bool_t xdr_dirpath(XDR *, dirpath*);
1338 +#else /* Old Style C */ 
1339 +bool_t xdr_dirpath();
1340 +#endif /* Old Style C */ 
1341 +
1342 +
1343 +typedef char *name;
1344 +#ifdef __cplusplus 
1345 +extern "C" bool_t xdr_name(XDR *, name*);
1346 +#elif __STDC__ 
1347 +extern  bool_t xdr_name(XDR *, name*);
1348 +#else /* Old Style C */ 
1349 +bool_t xdr_name();
1350 +#endif /* Old Style C */ 
1351 +
1352 +
1353 +typedef struct mountbody *mountlist;
1354 +#ifdef __cplusplus 
1355 +extern "C" bool_t xdr_mountlist(XDR *, mountlist*);
1356 +#elif __STDC__ 
1357 +extern  bool_t xdr_mountlist(XDR *, mountlist*);
1358 +#else /* Old Style C */ 
1359 +bool_t xdr_mountlist();
1360 +#endif /* Old Style C */ 
1361 +
1362 +
1363 +struct mountbody {
1364 +       name ml_hostname;
1365 +       dirpath ml_directory;
1366 +       mountlist ml_next;
1367 +};
1368 +typedef struct mountbody mountbody;
1369 +#ifdef __cplusplus 
1370 +extern "C" bool_t xdr_mountbody(XDR *, mountbody*);
1371 +#elif __STDC__ 
1372 +extern  bool_t xdr_mountbody(XDR *, mountbody*);
1373 +#else /* Old Style C */ 
1374 +bool_t xdr_mountbody();
1375 +#endif /* Old Style C */ 
1376 +
1377 +
1378 +typedef struct groupnode *groups;
1379 +#ifdef __cplusplus 
1380 +extern "C" bool_t xdr_groups(XDR *, groups*);
1381 +#elif __STDC__ 
1382 +extern  bool_t xdr_groups(XDR *, groups*);
1383 +#else /* Old Style C */ 
1384 +bool_t xdr_groups();
1385 +#endif /* Old Style C */ 
1386 +
1387 +
1388 +struct groupnode {
1389 +       name gr_name;
1390 +       groups gr_next;
1391 +};
1392 +typedef struct groupnode groupnode;
1393 +#ifdef __cplusplus 
1394 +extern "C" bool_t xdr_groupnode(XDR *, groupnode*);
1395 +#elif __STDC__ 
1396 +extern  bool_t xdr_groupnode(XDR *, groupnode*);
1397 +#else /* Old Style C */ 
1398 +bool_t xdr_groupnode();
1399 +#endif /* Old Style C */ 
1400 +
1401 +
1402 +typedef struct exportnode *exports;
1403 +#ifdef __cplusplus 
1404 +extern "C" bool_t xdr_exports(XDR *, exports*);
1405 +#elif __STDC__ 
1406 +extern  bool_t xdr_exports(XDR *, exports*);
1407 +#else /* Old Style C */ 
1408 +bool_t xdr_exports();
1409 +#endif /* Old Style C */ 
1410 +
1411 +
1412 +struct exportnode {
1413 +       dirpath ex_dir;
1414 +       groups ex_groups;
1415 +       exports ex_next;
1416 +};
1417 +typedef struct exportnode exportnode;
1418 +#ifdef __cplusplus 
1419 +extern "C" bool_t xdr_exportnode(XDR *, exportnode*);
1420 +#elif __STDC__ 
1421 +extern  bool_t xdr_exportnode(XDR *, exportnode*);
1422 +#else /* Old Style C */ 
1423 +bool_t xdr_exportnode();
1424 +#endif /* Old Style C */ 
1425 +
1426 +
1427 +struct ppathcnf {
1428 +       int pc_link_max;
1429 +       short pc_max_canon;
1430 +       short pc_max_input;
1431 +       short pc_name_max;
1432 +       short pc_path_max;
1433 +       short pc_pipe_buf;
1434 +       u_char pc_vdisable;
1435 +       char pc_xxx;
1436 +       short pc_mask[2];
1437 +};
1438 +typedef struct ppathcnf ppathcnf;
1439 +#ifdef __cplusplus 
1440 +extern "C" bool_t xdr_ppathcnf(XDR *, ppathcnf*);
1441 +#elif __STDC__ 
1442 +extern  bool_t xdr_ppathcnf(XDR *, ppathcnf*);
1443 +#else /* Old Style C */ 
1444 +bool_t xdr_ppathcnf();
1445 +#endif /* Old Style C */ 
1446 +
1447 +#define FHSIZE3 64
1448 +
1449 +typedef struct {
1450 +       u_int fhandle3_len;
1451 +       char *fhandle3_val;
1452 +} fhandle3;
1453 +#ifdef __cplusplus 
1454 +extern "C" bool_t xdr_fhandle3(XDR *, fhandle3*);
1455 +#elif __STDC__ 
1456 +extern  bool_t xdr_fhandle3(XDR *, fhandle3*);
1457 +#else /* Old Style C */ 
1458 +bool_t xdr_fhandle3();
1459 +#endif /* Old Style C */ 
1460 +
1461 +
1462 +enum mountstat3 {
1463 +       MNT_OK = 0,
1464 +       MNT3ERR_PERM = 1,
1465 +       MNT3ERR_NOENT = 2,
1466 +       MNT3ERR_IO = 5,
1467 +       MNT3ERR_ACCES = 13,
1468 +       MNT3ERR_NOTDIR = 20,
1469 +       MNT3ERR_INVAL = 22,
1470 +       MNT3ERR_NAMETOOLONG = 63,
1471 +       MNT3ERR_NOTSUPP = 10004,
1472 +       MNT3ERR_SERVERFAULT = 10006,
1473 +};
1474 +typedef enum mountstat3 mountstat3;
1475 +#ifdef __cplusplus 
1476 +extern "C" bool_t xdr_mountstat3(XDR *, mountstat3*);
1477 +#elif __STDC__ 
1478 +extern  bool_t xdr_mountstat3(XDR *, mountstat3*);
1479 +#else /* Old Style C */ 
1480 +bool_t xdr_mountstat3();
1481 +#endif /* Old Style C */ 
1482 +
1483 +
1484 +struct mountres3_ok {
1485 +       fhandle3 fhandle;
1486 +       struct {
1487 +               u_int auth_flavors_len;
1488 +               int *auth_flavors_val;
1489 +       } auth_flavors;
1490 +};
1491 +typedef struct mountres3_ok mountres3_ok;
1492 +#ifdef __cplusplus 
1493 +extern "C" bool_t xdr_mountres3_ok(XDR *, mountres3_ok*);
1494 +#elif __STDC__ 
1495 +extern  bool_t xdr_mountres3_ok(XDR *, mountres3_ok*);
1496 +#else /* Old Style C */ 
1497 +bool_t xdr_mountres3_ok();
1498 +#endif /* Old Style C */ 
1499 +
1500 +
1501 +struct mountres3 {
1502 +       mountstat3 fhs_status;
1503 +       union {
1504 +               mountres3_ok mountinfo;
1505 +       } mountres3_u;
1506 +};
1507 +typedef struct mountres3 mountres3;
1508 +#ifdef __cplusplus 
1509 +extern "C" bool_t xdr_mountres3(XDR *, mountres3*);
1510 +#elif __STDC__ 
1511 +extern  bool_t xdr_mountres3(XDR *, mountres3*);
1512 +#else /* Old Style C */ 
1513 +bool_t xdr_mountres3();
1514 +#endif /* Old Style C */ 
1515 +
1516 +#endif /*!_rpcsvc_mount_h*/
1517 +
1518 +#define MOUNTPROG ((u_int32_t)100005)
1519 +#define MOUNTVERS ((u_int32_t)1)
1520 +
1521 +#ifdef __cplusplus
1522 +#define MOUNTPROC_NULL ((u_int32_t)0)
1523 +extern "C" void * mountproc_null_1(void *, CLIENT *);
1524 +extern "C" void * mountproc_null_1_svc(void *, struct svc_req *);
1525 +#define MOUNTPROC_MNT ((u_int32_t)1)
1526 +extern "C" fhstatus * mountproc_mnt_1(dirpath *, CLIENT *);
1527 +extern "C" fhstatus * mountproc_mnt_1_svc(dirpath *, struct svc_req *);
1528 +#define MOUNTPROC_DUMP ((u_int32_t)2)
1529 +extern "C" mountlist * mountproc_dump_1(void *, CLIENT *);
1530 +extern "C" mountlist * mountproc_dump_1_svc(void *, struct svc_req *);
1531 +#define MOUNTPROC_UMNT ((u_int32_t)3)
1532 +extern "C" void * mountproc_umnt_1(dirpath *, CLIENT *);
1533 +extern "C" void * mountproc_umnt_1_svc(dirpath *, struct svc_req *);
1534 +#define MOUNTPROC_UMNTALL ((u_int32_t)4)
1535 +extern "C" void * mountproc_umntall_1(void *, CLIENT *);
1536 +extern "C" void * mountproc_umntall_1_svc(void *, struct svc_req *);
1537 +#define MOUNTPROC_EXPORT ((u_int32_t)5)
1538 +extern "C" exports * mountproc_export_1(void *, CLIENT *);
1539 +extern "C" exports * mountproc_export_1_svc(void *, struct svc_req *);
1540 +#define MOUNTPROC_EXPORTALL ((u_int32_t)6)
1541 +extern "C" exports * mountproc_exportall_1(void *, CLIENT *);
1542 +extern "C" exports * mountproc_exportall_1_svc(void *, struct svc_req *);
1543 +
1544 +#elif __STDC__
1545 +#define MOUNTPROC_NULL ((u_int32_t)0)
1546 +extern  void * mountproc_null_1(void *, CLIENT *);
1547 +extern  void * mountproc_null_1_svc(void *, struct svc_req *);
1548 +#define MOUNTPROC_MNT ((u_int32_t)1)
1549 +extern  fhstatus * mountproc_mnt_1(dirpath *, CLIENT *);
1550 +extern  fhstatus * mountproc_mnt_1_svc(dirpath *, struct svc_req *);
1551 +#define MOUNTPROC_DUMP ((u_int32_t)2)
1552 +extern  mountlist * mountproc_dump_1(void *, CLIENT *);
1553 +extern  mountlist * mountproc_dump_1_svc(void *, struct svc_req *);
1554 +#define MOUNTPROC_UMNT ((u_int32_t)3)
1555 +extern  void * mountproc_umnt_1(dirpath *, CLIENT *);
1556 +extern  void * mountproc_umnt_1_svc(dirpath *, struct svc_req *);
1557 +#define MOUNTPROC_UMNTALL ((u_int32_t)4)
1558 +extern  void * mountproc_umntall_1(void *, CLIENT *);
1559 +extern  void * mountproc_umntall_1_svc(void *, struct svc_req *);
1560 +#define MOUNTPROC_EXPORT ((u_int32_t)5)
1561 +extern  exports * mountproc_export_1(void *, CLIENT *);
1562 +extern  exports * mountproc_export_1_svc(void *, struct svc_req *);
1563 +#define MOUNTPROC_EXPORTALL ((u_int32_t)6)
1564 +extern  exports * mountproc_exportall_1(void *, CLIENT *);
1565 +extern  exports * mountproc_exportall_1_svc(void *, struct svc_req *);
1566 +
1567 +#else /* Old Style C */ 
1568 +#define MOUNTPROC_NULL ((u_int32_t)0)
1569 +extern  void * mountproc_null_1();
1570 +extern  void * mountproc_null_1_svc();
1571 +#define MOUNTPROC_MNT ((u_int32_t)1)
1572 +extern  fhstatus * mountproc_mnt_1();
1573 +extern  fhstatus * mountproc_mnt_1_svc();
1574 +#define MOUNTPROC_DUMP ((u_int32_t)2)
1575 +extern  mountlist * mountproc_dump_1();
1576 +extern  mountlist * mountproc_dump_1_svc();
1577 +#define MOUNTPROC_UMNT ((u_int32_t)3)
1578 +extern  void * mountproc_umnt_1();
1579 +extern  void * mountproc_umnt_1_svc();
1580 +#define MOUNTPROC_UMNTALL ((u_int32_t)4)
1581 +extern  void * mountproc_umntall_1();
1582 +extern  void * mountproc_umntall_1_svc();
1583 +#define MOUNTPROC_EXPORT ((u_int32_t)5)
1584 +extern  exports * mountproc_export_1();
1585 +extern  exports * mountproc_export_1_svc();
1586 +#define MOUNTPROC_EXPORTALL ((u_int32_t)6)
1587 +extern  exports * mountproc_exportall_1();
1588 +extern  exports * mountproc_exportall_1_svc();
1589 +#endif /* Old Style C */ 
1590 +#define MOUNTVERS_POSIX ((u_int32_t)2)
1591 +
1592 +#ifdef __cplusplus
1593 +extern "C" void * mountproc_null_2(void *, CLIENT *);
1594 +extern "C" void * mountproc_null_2_svc(void *, struct svc_req *);
1595 +extern "C" fhstatus * mountproc_mnt_2(dirpath *, CLIENT *);
1596 +extern "C" fhstatus * mountproc_mnt_2_svc(dirpath *, struct svc_req *);
1597 +extern "C" mountlist * mountproc_dump_2(void *, CLIENT *);
1598 +extern "C" mountlist * mountproc_dump_2_svc(void *, struct svc_req *);
1599 +extern "C" void * mountproc_umnt_2(dirpath *, CLIENT *);
1600 +extern "C" void * mountproc_umnt_2_svc(dirpath *, struct svc_req *);
1601 +extern "C" void * mountproc_umntall_2(void *, CLIENT *);
1602 +extern "C" void * mountproc_umntall_2_svc(void *, struct svc_req *);
1603 +extern "C" exports * mountproc_export_2(void *, CLIENT *);
1604 +extern "C" exports * mountproc_export_2_svc(void *, struct svc_req *);
1605 +extern "C" exports * mountproc_exportall_2(void *, CLIENT *);
1606 +extern "C" exports * mountproc_exportall_2_svc(void *, struct svc_req *);
1607 +#define MOUNTPROC_PATHCONF ((u_int32_t)7)
1608 +extern "C" ppathcnf * mountproc_pathconf_2(dirpath *, CLIENT *);
1609 +extern "C" ppathcnf * mountproc_pathconf_2_svc(dirpath *, struct svc_req *);
1610 +
1611 +#elif __STDC__
1612 +extern  void * mountproc_null_2(void *, CLIENT *);
1613 +extern  void * mountproc_null_2_svc(void *, struct svc_req *);
1614 +extern  fhstatus * mountproc_mnt_2(dirpath *, CLIENT *);
1615 +extern  fhstatus * mountproc_mnt_2_svc(dirpath *, struct svc_req *);
1616 +extern  mountlist * mountproc_dump_2(void *, CLIENT *);
1617 +extern  mountlist * mountproc_dump_2_svc(void *, struct svc_req *);
1618 +extern  void * mountproc_umnt_2(dirpath *, CLIENT *);
1619 +extern  void * mountproc_umnt_2_svc(dirpath *, struct svc_req *);
1620 +extern  void * mountproc_umntall_2(void *, CLIENT *);
1621 +extern  void * mountproc_umntall_2_svc(void *, struct svc_req *);
1622 +extern  exports * mountproc_export_2(void *, CLIENT *);
1623 +extern  exports * mountproc_export_2_svc(void *, struct svc_req *);
1624 +extern  exports * mountproc_exportall_2(void *, CLIENT *);
1625 +extern  exports * mountproc_exportall_2_svc(void *, struct svc_req *);
1626 +#define MOUNTPROC_PATHCONF ((u_int32_t)7)
1627 +extern  ppathcnf * mountproc_pathconf_2(dirpath *, CLIENT *);
1628 +extern  ppathcnf * mountproc_pathconf_2_svc(dirpath *, struct svc_req *);
1629 +
1630 +#else /* Old Style C */ 
1631 +extern  void * mountproc_null_2();
1632 +extern  void * mountproc_null_2_svc();
1633 +extern  fhstatus * mountproc_mnt_2();
1634 +extern  fhstatus * mountproc_mnt_2_svc();
1635 +extern  mountlist * mountproc_dump_2();
1636 +extern  mountlist * mountproc_dump_2_svc();
1637 +extern  void * mountproc_umnt_2();
1638 +extern  void * mountproc_umnt_2_svc();
1639 +extern  void * mountproc_umntall_2();
1640 +extern  void * mountproc_umntall_2_svc();
1641 +extern  exports * mountproc_export_2();
1642 +extern  exports * mountproc_export_2_svc();
1643 +extern  exports * mountproc_exportall_2();
1644 +extern  exports * mountproc_exportall_2_svc();
1645 +#define MOUNTPROC_PATHCONF ((u_int32_t)7)
1646 +extern  ppathcnf * mountproc_pathconf_2();
1647 +extern  ppathcnf * mountproc_pathconf_2_svc();
1648 +#endif /* Old Style C */ 
1649 +#define MOUNTVERS_NFSV3 ((u_int32_t)3)
1650 +
1651 +#ifdef __cplusplus
1652 +#define MOUNTPROC3_NULL ((u_int32_t)0)
1653 +extern "C" void * mountproc3_null_3(void *, CLIENT *);
1654 +extern "C" void * mountproc3_null_3_svc(void *, struct svc_req *);
1655 +#define MOUNTPROC3_MNT ((u_int32_t)1)
1656 +extern "C" mountres3 * mountproc3_mnt_3(dirpath *, CLIENT *);
1657 +extern "C" mountres3 * mountproc3_mnt_3_svc(dirpath *, struct svc_req *);
1658 +#define MOUNTPROC3_DUMP ((u_int32_t)2)
1659 +extern "C" mountlist * mountproc3_dump_3(void *, CLIENT *);
1660 +extern "C" mountlist * mountproc3_dump_3_svc(void *, struct svc_req *);
1661 +#define MOUNTPROC3_UMNT ((u_int32_t)3)
1662 +extern "C" void * mountproc3_umnt_3(dirpath *, CLIENT *);
1663 +extern "C" void * mountproc3_umnt_3_svc(dirpath *, struct svc_req *);
1664 +#define MOUNTPROC3_UMNTALL ((u_int32_t)4)
1665 +extern "C" void * mountproc3_umntall_3(void *, CLIENT *);
1666 +extern "C" void * mountproc3_umntall_3_svc(void *, struct svc_req *);
1667 +#define MOUNTPROC3_EXPORT ((u_int32_t)5)
1668 +extern "C" exports * mountproc3_export_3(void *, CLIENT *);
1669 +extern "C" exports * mountproc3_export_3_svc(void *, struct svc_req *);
1670 +
1671 +#elif __STDC__
1672 +#define MOUNTPROC3_NULL ((u_int32_t)0)
1673 +extern  void * mountproc3_null_3(void *, CLIENT *);
1674 +extern  void * mountproc3_null_3_svc(void *, struct svc_req *);
1675 +#define MOUNTPROC3_MNT ((u_int32_t)1)
1676 +extern  mountres3 * mountproc3_mnt_3(dirpath *, CLIENT *);
1677 +extern  mountres3 * mountproc3_mnt_3_svc(dirpath *, struct svc_req *);
1678 +#define MOUNTPROC3_DUMP ((u_int32_t)2)
1679 +extern  mountlist * mountproc3_dump_3(void *, CLIENT *);
1680 +extern  mountlist * mountproc3_dump_3_svc(void *, struct svc_req *);
1681 +#define MOUNTPROC3_UMNT ((u_int32_t)3)
1682 +extern  void * mountproc3_umnt_3(dirpath *, CLIENT *);
1683 +extern  void * mountproc3_umnt_3_svc(dirpath *, struct svc_req *);
1684 +#define MOUNTPROC3_UMNTALL ((u_int32_t)4)
1685 +extern  void * mountproc3_umntall_3(void *, CLIENT *);
1686 +extern  void * mountproc3_umntall_3_svc(void *, struct svc_req *);
1687 +#define MOUNTPROC3_EXPORT ((u_int32_t)5)
1688 +extern  exports * mountproc3_export_3(void *, CLIENT *);
1689 +extern  exports * mountproc3_export_3_svc(void *, struct svc_req *);
1690 +
1691 +#else /* Old Style C */ 
1692 +#define MOUNTPROC3_NULL ((u_int32_t)0)
1693 +extern  void * mountproc3_null_3();
1694 +extern  void * mountproc3_null_3_svc();
1695 +#define MOUNTPROC3_MNT ((u_int32_t)1)
1696 +extern  mountres3 * mountproc3_mnt_3();
1697 +extern  mountres3 * mountproc3_mnt_3_svc();
1698 +#define MOUNTPROC3_DUMP ((u_int32_t)2)
1699 +extern  mountlist * mountproc3_dump_3();
1700 +extern  mountlist * mountproc3_dump_3_svc();
1701 +#define MOUNTPROC3_UMNT ((u_int32_t)3)
1702 +extern  void * mountproc3_umnt_3();
1703 +extern  void * mountproc3_umnt_3_svc();
1704 +#define MOUNTPROC3_UMNTALL ((u_int32_t)4)
1705 +extern  void * mountproc3_umntall_3();
1706 +extern  void * mountproc3_umntall_3_svc();
1707 +#define MOUNTPROC3_EXPORT ((u_int32_t)5)
1708 +extern  exports * mountproc3_export_3();
1709 +extern  exports * mountproc3_export_3_svc();
1710 +#endif /* Old Style C */ 
1711 +
1712 +#endif /* !_MOUNT_H_RPCGEN */
1713 diff -urN nfs-utils-1.0.7.old/utils/statd/sm_inter.h nfs-utils-1.0.7/utils/statd/sm_inter.h
1714 --- nfs-utils-1.0.7.old/utils/statd/sm_inter.h  1970-01-01 01:00:00.000000000 +0100
1715 +++ nfs-utils-1.0.7/utils/statd/sm_inter.h      2006-03-24 15:39:44.000000000 +0100
1716 @@ -0,0 +1,218 @@
1717 +/*
1718 + * Please do not edit this file.
1719 + * It was generated using rpcgen.
1720 + */
1721 +
1722 +#ifndef _SM_INTER_H_RPCGEN
1723 +#define _SM_INTER_H_RPCGEN
1724 +
1725 +#include <rpc/rpc.h>
1726 +
1727 +#ifndef IXDR_GET_INT32
1728 +#define IXDR_GET_INT32(buf) IXDR_GET_LONG((buf))
1729 +#endif
1730 +#ifndef IXDR_PUT_INT32
1731 +#define IXDR_PUT_INT32(buf, v) IXDR_PUT_LONG((buf), (v))
1732 +#endif
1733 +#ifndef IXDR_GET_U_INT32
1734 +#define IXDR_GET_U_INT32(buf) IXDR_GET_U_LONG((buf))
1735 +#endif
1736 +#ifndef IXDR_PUT_U_INT32
1737 +#define IXDR_PUT_U_INT32(buf, v) IXDR_PUT_U_LONG((buf), (v))
1738 +#endif
1739 +#define SM_MAXSTRLEN 1024
1740 +#define SM_PRIV_SIZE 16
1741 +
1742 +struct sm_name {
1743 +       char *mon_name;
1744 +};
1745 +typedef struct sm_name sm_name;
1746 +#ifdef __cplusplus 
1747 +extern "C" bool_t xdr_sm_name(XDR *, sm_name*);
1748 +#elif __STDC__ 
1749 +extern  bool_t xdr_sm_name(XDR *, sm_name*);
1750 +#else /* Old Style C */ 
1751 +bool_t xdr_sm_name();
1752 +#endif /* Old Style C */ 
1753 +
1754 +
1755 +struct my_id {
1756 +       char *my_name;
1757 +       int my_prog;
1758 +       int my_vers;
1759 +       int my_proc;
1760 +};
1761 +typedef struct my_id my_id;
1762 +#ifdef __cplusplus 
1763 +extern "C" bool_t xdr_my_id(XDR *, my_id*);
1764 +#elif __STDC__ 
1765 +extern  bool_t xdr_my_id(XDR *, my_id*);
1766 +#else /* Old Style C */ 
1767 +bool_t xdr_my_id();
1768 +#endif /* Old Style C */ 
1769 +
1770 +
1771 +struct mon_id {
1772 +       char *mon_name;
1773 +       struct my_id my_id;
1774 +};
1775 +typedef struct mon_id mon_id;
1776 +#ifdef __cplusplus 
1777 +extern "C" bool_t xdr_mon_id(XDR *, mon_id*);
1778 +#elif __STDC__ 
1779 +extern  bool_t xdr_mon_id(XDR *, mon_id*);
1780 +#else /* Old Style C */ 
1781 +bool_t xdr_mon_id();
1782 +#endif /* Old Style C */ 
1783 +
1784 +
1785 +struct mon {
1786 +       struct mon_id mon_id;
1787 +       char priv[SM_PRIV_SIZE];
1788 +};
1789 +typedef struct mon mon;
1790 +#ifdef __cplusplus 
1791 +extern "C" bool_t xdr_mon(XDR *, mon*);
1792 +#elif __STDC__ 
1793 +extern  bool_t xdr_mon(XDR *, mon*);
1794 +#else /* Old Style C */ 
1795 +bool_t xdr_mon();
1796 +#endif /* Old Style C */ 
1797 +
1798 +
1799 +struct stat_chge {
1800 +       char *mon_name;
1801 +       int state;
1802 +};
1803 +typedef struct stat_chge stat_chge;
1804 +#ifdef __cplusplus 
1805 +extern "C" bool_t xdr_stat_chge(XDR *, stat_chge*);
1806 +#elif __STDC__ 
1807 +extern  bool_t xdr_stat_chge(XDR *, stat_chge*);
1808 +#else /* Old Style C */ 
1809 +bool_t xdr_stat_chge();
1810 +#endif /* Old Style C */ 
1811 +
1812 +
1813 +struct sm_stat {
1814 +       int state;
1815 +};
1816 +typedef struct sm_stat sm_stat;
1817 +#ifdef __cplusplus 
1818 +extern "C" bool_t xdr_sm_stat(XDR *, sm_stat*);
1819 +#elif __STDC__ 
1820 +extern  bool_t xdr_sm_stat(XDR *, sm_stat*);
1821 +#else /* Old Style C */ 
1822 +bool_t xdr_sm_stat();
1823 +#endif /* Old Style C */ 
1824 +
1825 +
1826 +enum res {
1827 +       stat_succ = 0,
1828 +       stat_fail = 1,
1829 +};
1830 +typedef enum res res;
1831 +#ifdef __cplusplus 
1832 +extern "C" bool_t xdr_res(XDR *, res*);
1833 +#elif __STDC__ 
1834 +extern  bool_t xdr_res(XDR *, res*);
1835 +#else /* Old Style C */ 
1836 +bool_t xdr_res();
1837 +#endif /* Old Style C */ 
1838 +
1839 +
1840 +struct sm_stat_res {
1841 +       res res_stat;
1842 +       int state;
1843 +};
1844 +typedef struct sm_stat_res sm_stat_res;
1845 +#ifdef __cplusplus 
1846 +extern "C" bool_t xdr_sm_stat_res(XDR *, sm_stat_res*);
1847 +#elif __STDC__ 
1848 +extern  bool_t xdr_sm_stat_res(XDR *, sm_stat_res*);
1849 +#else /* Old Style C */ 
1850 +bool_t xdr_sm_stat_res();
1851 +#endif /* Old Style C */ 
1852 +
1853 +
1854 +struct status {
1855 +       char *mon_name;
1856 +       int state;
1857 +       char priv[SM_PRIV_SIZE];
1858 +};
1859 +typedef struct status status;
1860 +#ifdef __cplusplus 
1861 +extern "C" bool_t xdr_status(XDR *, status*);
1862 +#elif __STDC__ 
1863 +extern  bool_t xdr_status(XDR *, status*);
1864 +#else /* Old Style C */ 
1865 +bool_t xdr_status();
1866 +#endif /* Old Style C */ 
1867 +
1868 +#define SM_INTER_X
1869 +
1870 +#define SM_PROG ((u_int32_t)100024)
1871 +#define SM_VERS ((u_int32_t)1)
1872 +
1873 +#ifdef __cplusplus
1874 +#define SM_STAT ((u_int32_t)1)
1875 +extern "C" struct sm_stat_res * sm_stat_1(struct sm_name *, CLIENT *);
1876 +extern "C" struct sm_stat_res * sm_stat_1_svc(struct sm_name *, struct svc_req *);
1877 +#define SM_MON ((u_int32_t)2)
1878 +extern "C" struct sm_stat_res * sm_mon_1(struct mon *, CLIENT *);
1879 +extern "C" struct sm_stat_res * sm_mon_1_svc(struct mon *, struct svc_req *);
1880 +#define SM_UNMON ((u_int32_t)3)
1881 +extern "C" struct sm_stat * sm_unmon_1(struct mon_id *, CLIENT *);
1882 +extern "C" struct sm_stat * sm_unmon_1_svc(struct mon_id *, struct svc_req *);
1883 +#define SM_UNMON_ALL ((u_int32_t)4)
1884 +extern "C" struct sm_stat * sm_unmon_all_1(struct my_id *, CLIENT *);
1885 +extern "C" struct sm_stat * sm_unmon_all_1_svc(struct my_id *, struct svc_req *);
1886 +#define SM_SIMU_CRASH ((u_int32_t)5)
1887 +extern "C" void * sm_simu_crash_1(void *, CLIENT *);
1888 +extern "C" void * sm_simu_crash_1_svc(void *, struct svc_req *);
1889 +#define SM_NOTIFY ((u_int32_t)6)
1890 +extern "C" void * sm_notify_1(struct stat_chge *, CLIENT *);
1891 +extern "C" void * sm_notify_1_svc(struct stat_chge *, struct svc_req *);
1892 +
1893 +#elif __STDC__
1894 +#define SM_STAT ((u_int32_t)1)
1895 +extern  struct sm_stat_res * sm_stat_1(struct sm_name *, CLIENT *);
1896 +extern  struct sm_stat_res * sm_stat_1_svc(struct sm_name *, struct svc_req *);
1897 +#define SM_MON ((u_int32_t)2)
1898 +extern  struct sm_stat_res * sm_mon_1(struct mon *, CLIENT *);
1899 +extern  struct sm_stat_res * sm_mon_1_svc(struct mon *, struct svc_req *);
1900 +#define SM_UNMON ((u_int32_t)3)
1901 +extern  struct sm_stat * sm_unmon_1(struct mon_id *, CLIENT *);
1902 +extern  struct sm_stat * sm_unmon_1_svc(struct mon_id *, struct svc_req *);
1903 +#define SM_UNMON_ALL ((u_int32_t)4)
1904 +extern  struct sm_stat * sm_unmon_all_1(struct my_id *, CLIENT *);
1905 +extern  struct sm_stat * sm_unmon_all_1_svc(struct my_id *, struct svc_req *);
1906 +#define SM_SIMU_CRASH ((u_int32_t)5)
1907 +extern  void * sm_simu_crash_1(void *, CLIENT *);
1908 +extern  void * sm_simu_crash_1_svc(void *, struct svc_req *);
1909 +#define SM_NOTIFY ((u_int32_t)6)
1910 +extern  void * sm_notify_1(struct stat_chge *, CLIENT *);
1911 +extern  void * sm_notify_1_svc(struct stat_chge *, struct svc_req *);
1912 +
1913 +#else /* Old Style C */ 
1914 +#define SM_STAT ((u_int32_t)1)
1915 +extern  struct sm_stat_res * sm_stat_1();
1916 +extern  struct sm_stat_res * sm_stat_1_svc();
1917 +#define SM_MON ((u_int32_t)2)
1918 +extern  struct sm_stat_res * sm_mon_1();
1919 +extern  struct sm_stat_res * sm_mon_1_svc();
1920 +#define SM_UNMON ((u_int32_t)3)
1921 +extern  struct sm_stat * sm_unmon_1();
1922 +extern  struct sm_stat * sm_unmon_1_svc();
1923 +#define SM_UNMON_ALL ((u_int32_t)4)
1924 +extern  struct sm_stat * sm_unmon_all_1();
1925 +extern  struct sm_stat * sm_unmon_all_1_svc();
1926 +#define SM_SIMU_CRASH ((u_int32_t)5)
1927 +extern  void * sm_simu_crash_1();
1928 +extern  void * sm_simu_crash_1_svc();
1929 +#define SM_NOTIFY ((u_int32_t)6)
1930 +extern  void * sm_notify_1();
1931 +extern  void * sm_notify_1_svc();
1932 +#endif /* Old Style C */ 
1933 +
1934 +#endif /* !_SM_INTER_H_RPCGEN */
1935 diff -urN nfs-utils-1.0.7.old/utils/statd/sm_inter_clnt.c nfs-utils-1.0.7/utils/statd/sm_inter_clnt.c
1936 --- nfs-utils-1.0.7.old/utils/statd/sm_inter_clnt.c     1970-01-01 01:00:00.000000000 +0100
1937 +++ nfs-utils-1.0.7/utils/statd/sm_inter_clnt.c 2006-03-24 15:39:44.000000000 +0100
1938 @@ -0,0 +1,95 @@
1939 +/*
1940 + * Please do not edit this file.
1941 + * It was generated using rpcgen.
1942 + */
1943 +
1944 +#include "sm_inter.h"
1945 +#include <string.h>
1946 +#define SM_INTER_X
1947 +
1948 +/* Default timeout can be changed using clnt_control() */
1949 +static struct timeval TIMEOUT = { 25, 0 };
1950 +
1951 +struct sm_stat_res *
1952 +sm_stat_1(argp, clnt)
1953 +       struct sm_name *argp;
1954 +       CLIENT *clnt;
1955 +{
1956 +       static struct sm_stat_res clnt_res;
1957 +
1958 +       memset((char *)&clnt_res, 0, sizeof(clnt_res));
1959 +       if (clnt_call(clnt, SM_STAT, (xdrproc_t) xdr_sm_name, (caddr_t) argp, (xdrproc_t) xdr_sm_stat_res, (caddr_t) &clnt_res, TIMEOUT) != RPC_SUCCESS) {
1960 +               return (NULL);
1961 +       }
1962 +       return (&clnt_res);
1963 +}
1964 +
1965 +struct sm_stat_res *
1966 +sm_mon_1(argp, clnt)
1967 +       struct mon *argp;
1968 +       CLIENT *clnt;
1969 +{
1970 +       static struct sm_stat_res clnt_res;
1971 +
1972 +       memset((char *)&clnt_res, 0, sizeof(clnt_res));
1973 +       if (clnt_call(clnt, SM_MON, (xdrproc_t) xdr_mon, (caddr_t) argp, (xdrproc_t) xdr_sm_stat_res, (caddr_t) &clnt_res, TIMEOUT) != RPC_SUCCESS) {
1974 +               return (NULL);
1975 +       }
1976 +       return (&clnt_res);
1977 +}
1978 +
1979 +struct sm_stat *
1980 +sm_unmon_1(argp, clnt)
1981 +       struct mon_id *argp;
1982 +       CLIENT *clnt;
1983 +{
1984 +       static struct sm_stat clnt_res;
1985 +
1986 +       memset((char *)&clnt_res, 0, sizeof(clnt_res));
1987 +       if (clnt_call(clnt, SM_UNMON, (xdrproc_t) xdr_mon_id, (caddr_t) argp, (xdrproc_t) xdr_sm_stat, (caddr_t) &clnt_res, TIMEOUT) != RPC_SUCCESS) {
1988 +               return (NULL);
1989 +       }
1990 +       return (&clnt_res);
1991 +}
1992 +
1993 +struct sm_stat *
1994 +sm_unmon_all_1(argp, clnt)
1995 +       struct my_id *argp;
1996 +       CLIENT *clnt;
1997 +{
1998 +       static struct sm_stat clnt_res;
1999 +
2000 +       memset((char *)&clnt_res, 0, sizeof(clnt_res));
2001 +       if (clnt_call(clnt, SM_UNMON_ALL, (xdrproc_t) xdr_my_id, (caddr_t) argp, (xdrproc_t) xdr_sm_stat, (caddr_t) &clnt_res, TIMEOUT) != RPC_SUCCESS) {
2002 +               return (NULL);
2003 +       }
2004 +       return (&clnt_res);
2005 +}
2006 +
2007 +void *
2008 +sm_simu_crash_1(argp, clnt)
2009 +       void *argp;
2010 +       CLIENT *clnt;
2011 +{
2012 +       static char clnt_res;
2013 +
2014 +       memset((char *)&clnt_res, 0, sizeof(clnt_res));
2015 +       if (clnt_call(clnt, SM_SIMU_CRASH, (xdrproc_t) xdr_void, (caddr_t) argp, (xdrproc_t) xdr_void, (caddr_t) &clnt_res, TIMEOUT) != RPC_SUCCESS) {
2016 +               return (NULL);
2017 +       }
2018 +       return ((void *)&clnt_res);
2019 +}
2020 +
2021 +void *
2022 +sm_notify_1(argp, clnt)
2023 +       struct stat_chge *argp;
2024 +       CLIENT *clnt;
2025 +{
2026 +       static char clnt_res;
2027 +
2028 +       memset((char *)&clnt_res, 0, sizeof(clnt_res));
2029 +       if (clnt_call(clnt, SM_NOTIFY, (xdrproc_t) xdr_stat_chge, (caddr_t) argp, (xdrproc_t) xdr_void, (caddr_t) &clnt_res, TIMEOUT) != RPC_SUCCESS) {
2030 +               return (NULL);
2031 +       }
2032 +       return ((void *)&clnt_res);
2033 +}
2034 diff -urN nfs-utils-1.0.7.old/utils/statd/sm_inter_svc.c nfs-utils-1.0.7/utils/statd/sm_inter_svc.c
2035 --- nfs-utils-1.0.7.old/utils/statd/sm_inter_svc.c      1970-01-01 01:00:00.000000000 +0100
2036 +++ nfs-utils-1.0.7/utils/statd/sm_inter_svc.c  2006-03-24 15:39:44.000000000 +0100
2037 @@ -0,0 +1,123 @@
2038 +/*
2039 + * Please do not edit this file.
2040 + * It was generated using rpcgen.
2041 + */
2042 +
2043 +#include "sm_inter.h"
2044 +#include <stdio.h>
2045 +#include <stdlib.h>/* getenv, exit */
2046 +#include <signal.h>
2047 +#include <memory.h>
2048 +#include <sys/socket.h>
2049 +#include <netinet/in.h>
2050 +#include <syslog.h>
2051 +
2052 +#ifdef __STDC__
2053 +#define SIG_PF void(*)(int)
2054 +#endif
2055 +
2056 +#ifdef DEBUG
2057 +#define RPC_SVC_FG
2058 +#endif
2059 +
2060 +#define _RPCSVC_CLOSEDOWN 120
2061 +#define SM_INTER_X
2062 +extern int _rpcpmstart;                /* Started by a port monitor ? */
2063 +extern int _rpcfdtype;         /* Whether Stream or Datagram ? */
2064 +extern int _rpcsvcdirty;       /* Still serving ? */
2065 +
2066 +static
2067 +void _msgout(msg)
2068 +       char *msg;
2069 +{
2070 +#ifdef RPC_SVC_FG
2071 +       if (_rpcpmstart)
2072 +               syslog(LOG_ERR, "%s", msg);
2073 +       else
2074 +               (void) fprintf(stderr, "%s\n", msg);
2075 +#else
2076 +       syslog(LOG_ERR, "%s", msg);
2077 +#endif
2078 +}
2079 +
2080 +void
2081 +sm_prog_1(rqstp, transp)
2082 +       struct svc_req *rqstp;
2083 +       register SVCXPRT *transp;
2084 +{
2085 +       union {
2086 +               struct sm_name sm_stat_1_arg;
2087 +               struct mon sm_mon_1_arg;
2088 +               struct mon_id sm_unmon_1_arg;
2089 +               struct my_id sm_unmon_all_1_arg;
2090 +               struct stat_chge sm_notify_1_arg;
2091 +       } argument;
2092 +       char *result;
2093 +       bool_t (*xdr_argument)(), (*xdr_result)();
2094 +       char *(*local)();
2095 +
2096 +       _rpcsvcdirty = 1;
2097 +       switch (rqstp->rq_proc) {
2098 +       case NULLPROC:
2099 +               (void) svc_sendreply(transp, (xdrproc_t) xdr_void, (char *)NULL);
2100 +               _rpcsvcdirty = 0;
2101 +               return;
2102 +
2103 +       case SM_STAT:
2104 +               xdr_argument = xdr_sm_name;
2105 +               xdr_result = xdr_sm_stat_res;
2106 +               local = (char *(*)()) sm_stat_1_svc;
2107 +               break;
2108 +
2109 +       case SM_MON:
2110 +               xdr_argument = xdr_mon;
2111 +               xdr_result = xdr_sm_stat_res;
2112 +               local = (char *(*)()) sm_mon_1_svc;
2113 +               break;
2114 +
2115 +       case SM_UNMON:
2116 +               xdr_argument = xdr_mon_id;
2117 +               xdr_result = xdr_sm_stat;
2118 +               local = (char *(*)()) sm_unmon_1_svc;
2119 +               break;
2120 +
2121 +       case SM_UNMON_ALL:
2122 +               xdr_argument = xdr_my_id;
2123 +               xdr_result = xdr_sm_stat;
2124 +               local = (char *(*)()) sm_unmon_all_1_svc;
2125 +               break;
2126 +
2127 +       case SM_SIMU_CRASH:
2128 +               xdr_argument = xdr_void;
2129 +               xdr_result = xdr_void;
2130 +               local = (char *(*)()) sm_simu_crash_1_svc;
2131 +               break;
2132 +
2133 +       case SM_NOTIFY:
2134 +               xdr_argument = xdr_stat_chge;
2135 +               xdr_result = xdr_void;
2136 +               local = (char *(*)()) sm_notify_1_svc;
2137 +               break;
2138 +
2139 +       default:
2140 +               svcerr_noproc(transp);
2141 +               _rpcsvcdirty = 0;
2142 +               return;
2143 +       }
2144 +       (void) memset((char *)&argument, 0, sizeof (argument));
2145 +       if (!svc_getargs(transp, (xdrproc_t) xdr_argument, (caddr_t) &argument)) {
2146 +               svcerr_decode(transp);
2147 +               _rpcsvcdirty = 0;
2148 +               return;
2149 +       }
2150 +       result = (*local)(&argument, rqstp);
2151 +       if (result != NULL && !svc_sendreply(transp, (xdrproc_t) xdr_result, result)) {
2152 +               svcerr_systemerr(transp);
2153 +       }
2154 +       if (!svc_freeargs(transp, (xdrproc_t) xdr_argument, (caddr_t) &argument)) {
2155 +               _msgout("unable to free arguments");
2156 +               exit(1);
2157 +       }
2158 +       _rpcsvcdirty = 0;
2159 +       return;
2160 +}
2161 diff -urN nfs-utils-1.0.7.old/utils/statd/sm_inter_xdr.c nfs-utils-1.0.7/utils/statd/sm_inter_xdr.c
2162 --- nfs-utils-1.0.7.old/utils/statd/sm_inter_xdr.c      1970-01-01 01:00:00.000000000 +0100
2163 +++ nfs-utils-1.0.7/utils/statd/sm_inter_xdr.c  2006-03-24 15:39:44.000000000 +0100
2164 @@ -0,0 +1,162 @@
2165 +/*
2166 + * Please do not edit this file.
2167 + * It was generated using rpcgen.
2168 + */
2169 +
2170 +#include "sm_inter.h"
2171 +
2172 +bool_t
2173 +xdr_sm_name(xdrs, objp)
2174 +       XDR *xdrs;
2175 +       sm_name *objp;
2176 +{
2177 +
2178 +        register int32_t *buf;
2179 +
2180 +        if (!xdr_string(xdrs, &objp->mon_name, SM_MAXSTRLEN)) {
2181 +                return (FALSE);
2182 +        }
2183 +       return (TRUE);
2184 +}
2185 +
2186 +bool_t
2187 +xdr_my_id(xdrs, objp)
2188 +       XDR *xdrs;
2189 +       my_id *objp;
2190 +{
2191 +
2192 +        register int32_t *buf;
2193 +
2194 +        if (!xdr_string(xdrs, &objp->my_name, SM_MAXSTRLEN)) {
2195 +                return (FALSE);
2196 +        }
2197 +        if (!xdr_int(xdrs, &objp->my_prog)) {
2198 +                return (FALSE);
2199 +        }
2200 +        if (!xdr_int(xdrs, &objp->my_vers)) {
2201 +                return (FALSE);
2202 +        }
2203 +        if (!xdr_int(xdrs, &objp->my_proc)) {
2204 +                return (FALSE);
2205 +        }
2206 +       return (TRUE);
2207 +}
2208 +
2209 +bool_t
2210 +xdr_mon_id(xdrs, objp)
2211 +       XDR *xdrs;
2212 +       mon_id *objp;
2213 +{
2214 +
2215 +        register int32_t *buf;
2216 +
2217 +        if (!xdr_string(xdrs, &objp->mon_name, SM_MAXSTRLEN)) {
2218 +                return (FALSE);
2219 +        }
2220 +        if (!xdr_my_id(xdrs, &objp->my_id)) {
2221 +                return (FALSE);
2222 +        }
2223 +       return (TRUE);
2224 +}
2225 +
2226 +bool_t
2227 +xdr_mon(xdrs, objp)
2228 +       XDR *xdrs;
2229 +       mon *objp;
2230 +{
2231 +
2232 +        register int32_t *buf;
2233 +
2234 +        int i;
2235 +        if (!xdr_mon_id(xdrs, &objp->mon_id)) {
2236 +                return (FALSE);
2237 +        }
2238 +        if (!xdr_opaque(xdrs, objp->priv, SM_PRIV_SIZE)) {
2239 +                return (FALSE);
2240 +        }
2241 +       return (TRUE);
2242 +}
2243 +
2244 +bool_t
2245 +xdr_stat_chge(xdrs, objp)
2246 +       XDR *xdrs;
2247 +       stat_chge *objp;
2248 +{
2249 +
2250 +        register int32_t *buf;
2251 +
2252 +        if (!xdr_string(xdrs, &objp->mon_name, SM_MAXSTRLEN)) {
2253 +                return (FALSE);
2254 +        }
2255 +        if (!xdr_int(xdrs, &objp->state)) {
2256 +                return (FALSE);
2257 +        }
2258 +       return (TRUE);
2259 +}
2260 +
2261 +bool_t
2262 +xdr_sm_stat(xdrs, objp)
2263 +       XDR *xdrs;
2264 +       sm_stat *objp;
2265 +{
2266 +
2267 +        register int32_t *buf;
2268 +
2269 +        if (!xdr_int(xdrs, &objp->state)) {
2270 +                return (FALSE);
2271 +        }
2272 +       return (TRUE);
2273 +}
2274 +
2275 +bool_t
2276 +xdr_res(xdrs, objp)
2277 +       XDR *xdrs;
2278 +       res *objp;
2279 +{
2280 +
2281 +        register int32_t *buf;
2282 +
2283 +        if (!xdr_enum(xdrs, (enum_t *)objp)) {
2284 +                return (FALSE);
2285 +        }
2286 +       return (TRUE);
2287 +}
2288 +
2289 +bool_t
2290 +xdr_sm_stat_res(xdrs, objp)
2291 +       XDR *xdrs;
2292 +       sm_stat_res *objp;
2293 +{
2294 +
2295 +        register int32_t *buf;
2296 +
2297 +        if (!xdr_res(xdrs, &objp->res_stat)) {
2298 +                return (FALSE);
2299 +        }
2300 +        if (!xdr_int(xdrs, &objp->state)) {
2301 +                return (FALSE);
2302 +        }
2303 +       return (TRUE);
2304 +}
2305 +
2306 +bool_t
2307 +xdr_status(xdrs, objp)
2308 +       XDR *xdrs;
2309 +       status *objp;
2310 +{
2311 +
2312 +        register int32_t *buf;
2313 +
2314 +        int i;
2315 +        if (!xdr_string(xdrs, &objp->mon_name, SM_MAXSTRLEN)) {
2316 +                return (FALSE);
2317 +        }
2318 +        if (!xdr_int(xdrs, &objp->state)) {
2319 +                return (FALSE);
2320 +        }
2321 +        if (!xdr_opaque(xdrs, objp->priv, SM_PRIV_SIZE)) {
2322 +                return (FALSE);
2323 +        }
2324 +       return (TRUE);
2325 +}
2326 +#define SM_INTER_X