1 /* 2 * Please do not edit this file. 3 * It was generated using rpcgen. 4 */ 5 6 #include "../../head/rpcsvc/mount.h" 7 8 #ifndef _KERNEL 9 #include <stdlib.h> 10 #endif /* !_KERNEL */ 11 12 13 bool_t 14 xdr_fhandle(xdrs, objp) 15 XDR *xdrs; 16 fhandle objp; 17 { 18 19 rpc_inline_t *buf; 20 21 if (!xdr_opaque(xdrs, objp, FHSIZE)) 22 return (FALSE); 23 return (TRUE); 24 } 25 26 bool_t 27 xdr_fhandle3(xdrs, objp) 28 XDR *xdrs; 29 fhandle3 *objp; 30 { 31 32 rpc_inline_t *buf; 33 34 if (!xdr_bytes(xdrs, (char **)&objp->fhandle3_val, (u_int *) &objp->fhandle3_len, FHSIZE3)) 35 return (FALSE); 36 return (TRUE); 37 } 38 39 bool_t 40 xdr_fhstatus(xdrs, objp) 41 XDR *xdrs; 42 fhstatus *objp; 43 { 44 45 rpc_inline_t *buf; 46 47 if (!xdr_u_int(xdrs, &objp->fhs_status)) 48 return (FALSE); 49 switch (objp->fhs_status) { 50 case 0: 51 if (!xdr_fhandle(xdrs, objp->fhstatus_u.fhs_fhandle)) 52 return (FALSE); 53 break; 54 } 55 return (TRUE); 56 } 57 58 #define fhs_fh fhstatus_u.fhs_fhandle 59 60 bool_t 61 xdr_mountstat3(xdrs, objp) 62 XDR *xdrs; 63 mountstat3 *objp; 64 { 65 66 rpc_inline_t *buf; 67 68 if (!xdr_enum(xdrs, (enum_t *)objp)) 69 return (FALSE); 70 return (TRUE); 71 } 72 73 bool_t 74 xdr_mountres3_ok(xdrs, objp) 75 XDR *xdrs; 76 mountres3_ok *objp; 77 { 78 79 rpc_inline_t *buf; 80 81 if (!xdr_fhandle3(xdrs, &objp->fhandle)) 82 return (FALSE); 83 if (!xdr_array(xdrs, (char **)&objp->auth_flavors.auth_flavors_val, (u_int *) &objp->auth_flavors.auth_flavors_len, ~0, 84 sizeof (int), (xdrproc_t)xdr_int)) 85 return (FALSE); 86 return (TRUE); 87 } 88 89 bool_t 90 xdr_mountres3(xdrs, objp) 91 XDR *xdrs; 92 mountres3 *objp; 93 { 94 95 rpc_inline_t *buf; 96 97 if (!xdr_mountstat3(xdrs, &objp->fhs_status)) 98 return (FALSE); 99 switch (objp->fhs_status) { 100 case MNT_OK: 101 if (!xdr_mountres3_ok(xdrs, &objp->mountres3_u.mountinfo)) 102 return (FALSE); 103 break; 104 } 105 return (TRUE); 106 } 107 108 bool_t 109 xdr_dirpath(xdrs, objp) 110 XDR *xdrs; 111 dirpath *objp; 112 { 113 114 rpc_inline_t *buf; 115 116 if (!xdr_string(xdrs, objp, MNTPATHLEN)) 117 return (FALSE); 118 return (TRUE); 119 } 120 121 bool_t 122 xdr_name(xdrs, objp) 123 XDR *xdrs; 124 name *objp; 125 { 126 127 rpc_inline_t *buf; 128 129 if (!xdr_string(xdrs, objp, MNTNAMLEN)) 130 return (FALSE); 131 return (TRUE); 132 } 133 134 bool_t 135 xdr_groups(xdrs, objp) 136 XDR *xdrs; 137 groups *objp; 138 { 139 140 rpc_inline_t *buf; 141 142 if (!xdr_pointer(xdrs, (char **)objp, sizeof (struct groupnode), (xdrproc_t)xdr_groupnode)) 143 return (FALSE); 144 return (TRUE); 145 } 146 147 bool_t 148 xdr_groupnode(xdrs, objp) 149 XDR *xdrs; 150 groupnode *objp; 151 { 152 153 rpc_inline_t *buf; 154 155 groupnode *tmp_groupnode; 156 bool_t more_data = TRUE; 157 bool_t first_objp = TRUE; 158 159 160 if (xdrs->x_op == XDR_DECODE) { 161 162 while (more_data) { 163 164 void bzero(); 165 166 if (!xdr_name(xdrs, &objp->gr_name)) 167 return (FALSE); 168 if (!xdr_bool(xdrs, &more_data)) 169 return (FALSE); 170 171 if (!more_data) { 172 objp->gr_next = NULL; 173 break; 174 } 175 176 if (objp->gr_next == NULL) { 177 objp->gr_next = (groupnode *) 178 mem_alloc(sizeof (groupnode)); 179 if (objp->gr_next == NULL) 180 return (FALSE); 181 bzero(objp->gr_next, sizeof (groupnode)); 182 } 183 objp = objp->gr_next; 184 } 185 186 } else if (xdrs->x_op == XDR_ENCODE) { 187 188 while (more_data) { 189 if (!xdr_name(xdrs, &objp->gr_name)) 190 return (FALSE); 191 objp = objp->gr_next; 192 if (objp == NULL) 193 more_data = FALSE; 194 if (!xdr_bool(xdrs, &more_data)) 195 return (FALSE); 196 } 197 198 } else { 199 200 while (more_data) { 201 if (!xdr_name(xdrs, &objp->gr_name)) 202 return (FALSE); 203 tmp_groupnode = objp; 204 objp = objp->gr_next; 205 if (objp == NULL) 206 more_data = FALSE; 207 if (!first_objp) 208 mem_free(tmp_groupnode, sizeof (groupnode)); 209 else 210 first_objp = FALSE; 211 } 212 213 } 214 return (TRUE); 215 } 216 217 bool_t 218 xdr_exports(xdrs, objp) 219 XDR *xdrs; 220 exports *objp; 221 { 222 223 rpc_inline_t *buf; 224 225 if (!xdr_pointer(xdrs, (char **)objp, sizeof (struct exportnode), (xdrproc_t)xdr_exportnode)) 226 return (FALSE); 227 return (TRUE); 228 } 229 230 bool_t 231 xdr_exportnode(xdrs, objp) 232 XDR *xdrs; 233 exportnode *objp; 234 { 235 236 rpc_inline_t *buf; 237 238 exportnode *tmp_exportnode; 239 bool_t more_data = TRUE; 240 bool_t first_objp = TRUE; 241 242 243 if (xdrs->x_op == XDR_DECODE) { 244 245 while (more_data) { 246 247 void bzero(); 248 249 if (!xdr_dirpath(xdrs, &objp->ex_dir)) 250 return (FALSE); 251 if (!xdr_groups(xdrs, &objp->ex_groups)) 252 return (FALSE); 253 if (!xdr_bool(xdrs, &more_data)) 254 return (FALSE); 255 256 if (!more_data) { 257 objp->ex_next = NULL; 258 break; 259 } 260 261 if (objp->ex_next == NULL) { 262 objp->ex_next = (exportnode *) 263 mem_alloc(sizeof (exportnode)); 264 if (objp->ex_next == NULL) 265 return (FALSE); 266 bzero(objp->ex_next, sizeof (exportnode)); 267 } 268 objp = objp->ex_next; 269 } 270 271 } else if (xdrs->x_op == XDR_ENCODE) { 272 273 while (more_data) { 274 if (!xdr_dirpath(xdrs, &objp->ex_dir)) 275 return (FALSE); 276 if (!xdr_groups(xdrs, &objp->ex_groups)) 277 return (FALSE); 278 objp = objp->ex_next; 279 if (objp == NULL) 280 more_data = FALSE; 281 if (!xdr_bool(xdrs, &more_data)) 282 return (FALSE); 283 } 284 285 } else { 286 287 while (more_data) { 288 if (!xdr_dirpath(xdrs, &objp->ex_dir)) 289 return (FALSE); 290 if (!xdr_groups(xdrs, &objp->ex_groups)) 291 return (FALSE); 292 tmp_exportnode = objp; 293 objp = objp->ex_next; 294 if (objp == NULL) 295 more_data = FALSE; 296 if (!first_objp) 297 mem_free(tmp_exportnode, sizeof (exportnode)); 298 else 299 first_objp = FALSE; 300 } 301 302 } 303 return (TRUE); 304 } 305 306 bool_t 307 xdr_ppathcnf(xdrs, objp) 308 XDR *xdrs; 309 ppathcnf *objp; 310 { 311 312 rpc_inline_t *buf; 313 314 int i; 315 316 if (xdrs->x_op == XDR_ENCODE) { 317 buf = XDR_INLINE(xdrs, 6 * BYTES_PER_XDR_UNIT); 318 if (buf == NULL) { 319 if (!xdr_int(xdrs, &objp->pc_link_max)) 320 return (FALSE); 321 if (!xdr_short(xdrs, &objp->pc_max_canon)) 322 return (FALSE); 323 if (!xdr_short(xdrs, &objp->pc_max_input)) 324 return (FALSE); 325 if (!xdr_short(xdrs, &objp->pc_name_max)) 326 return (FALSE); 327 if (!xdr_short(xdrs, &objp->pc_path_max)) 328 return (FALSE); 329 if (!xdr_short(xdrs, &objp->pc_pipe_buf)) 330 return (FALSE); 331 } else { 332 #if defined(_LP64) || defined(_KERNEL) 333 IXDR_PUT_INT32(buf, objp->pc_link_max); 334 IXDR_PUT_SHORT(buf, objp->pc_max_canon); 335 IXDR_PUT_SHORT(buf, objp->pc_max_input); 336 IXDR_PUT_SHORT(buf, objp->pc_name_max); 337 IXDR_PUT_SHORT(buf, objp->pc_path_max); 338 IXDR_PUT_SHORT(buf, objp->pc_pipe_buf); 339 #else 340 IXDR_PUT_LONG(buf, objp->pc_link_max); 341 IXDR_PUT_SHORT(buf, objp->pc_max_canon); 342 IXDR_PUT_SHORT(buf, objp->pc_max_input); 343 IXDR_PUT_SHORT(buf, objp->pc_name_max); 344 IXDR_PUT_SHORT(buf, objp->pc_path_max); 345 IXDR_PUT_SHORT(buf, objp->pc_pipe_buf); 346 #endif 347 } 348 if (!xdr_u_char(xdrs, &objp->pc_vdisable)) 349 return (FALSE); 350 if (!xdr_char(xdrs, &objp->pc_xxx)) 351 return (FALSE); 352 buf = XDR_INLINE(xdrs, (2) * BYTES_PER_XDR_UNIT); 353 if (buf == NULL) { 354 if (!xdr_vector(xdrs, (char *)objp->pc_mask, 2, 355 sizeof (short), (xdrproc_t)xdr_short)) 356 return (FALSE); 357 } else { 358 #if defined(_LP64) || defined(_KERNEL) 359 { 360 short *genp; 361 362 for (i = 0, genp = objp->pc_mask; 363 i < 2; i++) { 364 IXDR_PUT_SHORT(buf, *genp++); 365 } 366 } 367 #else 368 { 369 short *genp; 370 371 for (i = 0, genp = objp->pc_mask; 372 i < 2; i++) { 373 IXDR_PUT_SHORT(buf, *genp++); 374 } 375 } 376 #endif 377 } 378 return (TRUE); 379 } else if (xdrs->x_op == XDR_DECODE) { 380 buf = XDR_INLINE(xdrs, 6 * BYTES_PER_XDR_UNIT); 381 if (buf == NULL) { 382 if (!xdr_int(xdrs, &objp->pc_link_max)) 383 return (FALSE); 384 if (!xdr_short(xdrs, &objp->pc_max_canon)) 385 return (FALSE); 386 if (!xdr_short(xdrs, &objp->pc_max_input)) 387 return (FALSE); 388 if (!xdr_short(xdrs, &objp->pc_name_max)) 389 return (FALSE); 390 if (!xdr_short(xdrs, &objp->pc_path_max)) 391 return (FALSE); 392 if (!xdr_short(xdrs, &objp->pc_pipe_buf)) 393 return (FALSE); 394 } else { 395 #if defined(_LP64) || defined(_KERNEL) 396 objp->pc_link_max = IXDR_GET_INT32(buf); 397 objp->pc_max_canon = IXDR_GET_SHORT(buf); 398 objp->pc_max_input = IXDR_GET_SHORT(buf); 399 objp->pc_name_max = IXDR_GET_SHORT(buf); 400 objp->pc_path_max = IXDR_GET_SHORT(buf); 401 objp->pc_pipe_buf = IXDR_GET_SHORT(buf); 402 #else 403 objp->pc_link_max = IXDR_GET_LONG(buf); 404 objp->pc_max_canon = IXDR_GET_SHORT(buf); 405 objp->pc_max_input = IXDR_GET_SHORT(buf); 406 objp->pc_name_max = IXDR_GET_SHORT(buf); 407 objp->pc_path_max = IXDR_GET_SHORT(buf); 408 objp->pc_pipe_buf = IXDR_GET_SHORT(buf); 409 #endif 410 } 411 if (!xdr_u_char(xdrs, &objp->pc_vdisable)) 412 return (FALSE); 413 if (!xdr_char(xdrs, &objp->pc_xxx)) 414 return (FALSE); 415 buf = XDR_INLINE(xdrs, (2) * BYTES_PER_XDR_UNIT); 416 if (buf == NULL) { 417 if (!xdr_vector(xdrs, (char *)objp->pc_mask, 2, 418 sizeof (short), (xdrproc_t)xdr_short)) 419 return (FALSE); 420 } else { 421 #if defined(_LP64) || defined(_KERNEL) 422 { 423 short *genp; 424 425 for (i = 0, genp = objp->pc_mask; 426 i < 2; i++) { 427 *genp++ = IXDR_GET_SHORT(buf); 428 } 429 } 430 #else 431 { 432 short *genp; 433 434 for (i = 0, genp = objp->pc_mask; 435 i < 2; i++) { 436 *genp++ = IXDR_GET_SHORT(buf); 437 } 438 } 439 #endif 440 } 441 return (TRUE); 442 } 443 444 if (!xdr_int(xdrs, &objp->pc_link_max)) 445 return (FALSE); 446 if (!xdr_short(xdrs, &objp->pc_max_canon)) 447 return (FALSE); 448 if (!xdr_short(xdrs, &objp->pc_max_input)) 449 return (FALSE); 450 if (!xdr_short(xdrs, &objp->pc_name_max)) 451 return (FALSE); 452 if (!xdr_short(xdrs, &objp->pc_path_max)) 453 return (FALSE); 454 if (!xdr_short(xdrs, &objp->pc_pipe_buf)) 455 return (FALSE); 456 if (!xdr_u_char(xdrs, &objp->pc_vdisable)) 457 return (FALSE); 458 if (!xdr_char(xdrs, &objp->pc_xxx)) 459 return (FALSE); 460 if (!xdr_vector(xdrs, (char *)objp->pc_mask, 2, 461 sizeof (short), (xdrproc_t)xdr_short)) 462 return (FALSE); 463 return (TRUE); 464 } 465