nfs_xdr.c 32 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620
  1. /*
  2. * Copyright (c) 2006-2018, RT-Thread Development Team
  3. *
  4. * SPDX-License-Identifier: Apache-2.0
  5. *
  6. * Change Logs:
  7. * Date Author Notes
  8. */
  9. /*
  10. * Please do not edit this file.
  11. * It was generated using rpcgen.
  12. */
  13. #include "nfs.h"
  14. /* This file is copied from RFC1813
  15. * Copyright 1995 Sun Micrososystems (I assume)
  16. */
  17. bool_t
  18. xdr_uint64(register XDR *xdrs, uint64 *objp)
  19. {
  20. if (!xdr_u_longlong_t(xdrs, objp))
  21. return (FALSE);
  22. return (TRUE);
  23. }
  24. bool_t
  25. xdr_int64(register XDR *xdrs, int64 *objp)
  26. {
  27. if (!xdr_longlong_t(xdrs, objp))
  28. return (FALSE);
  29. return (TRUE);
  30. }
  31. bool_t
  32. xdr_uint32(register XDR *xdrs, uint32 *objp)
  33. {
  34. if (!xdr_u_long(xdrs, objp))
  35. return (FALSE);
  36. return (TRUE);
  37. }
  38. bool_t
  39. xdr_int32(register XDR *xdrs, int32 *objp)
  40. {
  41. if (!xdr_long(xdrs, objp))
  42. return (FALSE);
  43. return (TRUE);
  44. }
  45. bool_t
  46. xdr_filename3(register XDR *xdrs, filename3 *objp)
  47. {
  48. if (!xdr_string(xdrs, objp, ~0))
  49. return (FALSE);
  50. return (TRUE);
  51. }
  52. bool_t
  53. xdr_nfspath3(register XDR *xdrs, nfspath3 *objp)
  54. {
  55. if (!xdr_string(xdrs, objp, ~0))
  56. return (FALSE);
  57. return (TRUE);
  58. }
  59. bool_t
  60. xdr_fileid3(register XDR *xdrs, fileid3 *objp)
  61. {
  62. if (!xdr_uint64(xdrs, objp))
  63. return (FALSE);
  64. return (TRUE);
  65. }
  66. bool_t
  67. xdr_cookie3(register XDR *xdrs, cookie3 *objp)
  68. {
  69. if (!xdr_uint64(xdrs, objp))
  70. return (FALSE);
  71. return (TRUE);
  72. }
  73. bool_t
  74. xdr_cookieverf3(register XDR *xdrs, cookieverf3 objp)
  75. {
  76. if (!xdr_opaque(xdrs, objp, NFS3_COOKIEVERFSIZE))
  77. return (FALSE);
  78. return (TRUE);
  79. }
  80. bool_t
  81. xdr_createverf3(register XDR *xdrs, createverf3 objp)
  82. {
  83. if (!xdr_opaque(xdrs, objp, NFS3_CREATEVERFSIZE))
  84. return (FALSE);
  85. return (TRUE);
  86. }
  87. bool_t
  88. xdr_writeverf3(register XDR *xdrs, writeverf3 objp)
  89. {
  90. if (!xdr_opaque(xdrs, objp, NFS3_WRITEVERFSIZE))
  91. return (FALSE);
  92. return (TRUE);
  93. }
  94. bool_t
  95. xdr_uid3(register XDR *xdrs, uid3 *objp)
  96. {
  97. if (!xdr_uint32(xdrs, objp))
  98. return (FALSE);
  99. return (TRUE);
  100. }
  101. bool_t
  102. xdr_gid3(register XDR *xdrs, gid3 *objp)
  103. {
  104. if (!xdr_uint32(xdrs, objp))
  105. return (FALSE);
  106. return (TRUE);
  107. }
  108. bool_t
  109. xdr_size3(register XDR *xdrs, size3 *objp)
  110. {
  111. if (!xdr_uint64(xdrs, objp))
  112. return (FALSE);
  113. return (TRUE);
  114. }
  115. bool_t
  116. xdr_offset3(register XDR *xdrs, offset3 *objp)
  117. {
  118. if (!xdr_uint64(xdrs, objp))
  119. return (FALSE);
  120. return (TRUE);
  121. }
  122. bool_t
  123. xdr_mode3(register XDR *xdrs, mode3 *objp)
  124. {
  125. if (!xdr_uint32(xdrs, objp))
  126. return (FALSE);
  127. return (TRUE);
  128. }
  129. bool_t
  130. xdr_count3(register XDR *xdrs, count3 *objp)
  131. {
  132. if (!xdr_uint32(xdrs, objp))
  133. return (FALSE);
  134. return (TRUE);
  135. }
  136. bool_t
  137. xdr_nfsstat3(register XDR *xdrs, nfsstat3 *objp)
  138. {
  139. int enum_objp;
  140. enum_objp = *objp;
  141. if (!xdr_enum(xdrs, (enum_t *)objp))
  142. {
  143. *objp = (nfsstat3)enum_objp;
  144. return (FALSE);
  145. }
  146. return (TRUE);
  147. }
  148. bool_t
  149. xdr_ftype3(register XDR *xdrs, ftype3 *objp)
  150. {
  151. int enum_objp;
  152. enum_objp = *objp;
  153. if (!xdr_enum(xdrs, (enum_t *)objp))
  154. {
  155. *objp = (ftype3)enum_objp;
  156. return (FALSE);
  157. }
  158. return (TRUE);
  159. }
  160. bool_t
  161. xdr_stable_how(register XDR *xdrs, stable_how *objp)
  162. {
  163. int enum_objp;
  164. enum_objp = *objp;
  165. if (!xdr_enum(xdrs, (enum_t *)objp))
  166. {
  167. *objp = (stable_how)enum_objp;
  168. return (FALSE);
  169. }
  170. return (TRUE);
  171. }
  172. bool_t
  173. xdr_createmode3(register XDR *xdrs, createmode3 *objp)
  174. {
  175. int enum_objp;
  176. enum_objp = *objp;
  177. if (!xdr_enum(xdrs, (enum_t *)objp))
  178. {
  179. *objp = (createmode3)enum_objp;
  180. return (FALSE);
  181. }
  182. return (TRUE);
  183. }
  184. bool_t
  185. xdr_specdata3(register XDR *xdrs, specdata3 *objp)
  186. {
  187. if (!xdr_uint32(xdrs, &objp->specdata1))
  188. return (FALSE);
  189. if (!xdr_uint32(xdrs, &objp->specdata2))
  190. return (FALSE);
  191. return (TRUE);
  192. }
  193. bool_t
  194. xdr_nfs_fh3(register XDR *xdrs, nfs_fh3 *objp)
  195. {
  196. if (!xdr_bytes(xdrs, (char **)&objp->data.data_val, (unsigned int *) &objp->data.data_len, NFS3_FHSIZE))
  197. return (FALSE);
  198. return (TRUE);
  199. }
  200. bool_t
  201. xdr_nfstime3(register XDR *xdrs, nfstime3 *objp)
  202. {
  203. if (!xdr_uint32(xdrs, &objp->seconds))
  204. return (FALSE);
  205. if (!xdr_uint32(xdrs, &objp->nseconds))
  206. return (FALSE);
  207. return (TRUE);
  208. }
  209. bool_t
  210. xdr_fattr3(register XDR *xdrs, fattr3 *objp)
  211. {
  212. if (!xdr_ftype3(xdrs, &objp->type))
  213. return (FALSE);
  214. if (!xdr_mode3(xdrs, &objp->mode))
  215. return (FALSE);
  216. if (!xdr_uint32(xdrs, &objp->nlink))
  217. return (FALSE);
  218. if (!xdr_uid3(xdrs, &objp->uid))
  219. return (FALSE);
  220. if (!xdr_gid3(xdrs, &objp->gid))
  221. return (FALSE);
  222. if (!xdr_size3(xdrs, &objp->size))
  223. return (FALSE);
  224. if (!xdr_size3(xdrs, &objp->used))
  225. return (FALSE);
  226. if (!xdr_specdata3(xdrs, &objp->rdev))
  227. return (FALSE);
  228. if (!xdr_uint64(xdrs, &objp->fsid))
  229. return (FALSE);
  230. if (!xdr_fileid3(xdrs, &objp->fileid))
  231. return (FALSE);
  232. if (!xdr_nfstime3(xdrs, &objp->atime))
  233. return (FALSE);
  234. if (!xdr_nfstime3(xdrs, &objp->mtime))
  235. return (FALSE);
  236. if (!xdr_nfstime3(xdrs, &objp->ctime))
  237. return (FALSE);
  238. return (TRUE);
  239. }
  240. bool_t
  241. xdr_post_op_attr(register XDR *xdrs, post_op_attr *objp)
  242. {
  243. if (!xdr_bool(xdrs, &objp->attributes_follow))
  244. return (FALSE);
  245. switch (objp->attributes_follow) {
  246. case TRUE:
  247. if (!xdr_fattr3(xdrs, &objp->post_op_attr_u.attributes))
  248. return (FALSE);
  249. break;
  250. case FALSE:
  251. break;
  252. default:
  253. return (FALSE);
  254. }
  255. return (TRUE);
  256. }
  257. bool_t
  258. xdr_wcc_attr(register XDR *xdrs, wcc_attr *objp)
  259. {
  260. if (!xdr_size3(xdrs, &objp->size))
  261. return (FALSE);
  262. if (!xdr_nfstime3(xdrs, &objp->mtime))
  263. return (FALSE);
  264. if (!xdr_nfstime3(xdrs, &objp->ctime))
  265. return (FALSE);
  266. return (TRUE);
  267. }
  268. bool_t
  269. xdr_pre_op_attr(register XDR *xdrs, pre_op_attr *objp)
  270. {
  271. if (!xdr_bool(xdrs, &objp->attributes_follow))
  272. return (FALSE);
  273. switch (objp->attributes_follow) {
  274. case TRUE:
  275. if (!xdr_wcc_attr(xdrs, &objp->pre_op_attr_u.attributes))
  276. return (FALSE);
  277. break;
  278. case FALSE:
  279. break;
  280. default:
  281. return (FALSE);
  282. }
  283. return (TRUE);
  284. }
  285. bool_t
  286. xdr_wcc_data(register XDR *xdrs, wcc_data *objp)
  287. {
  288. if (!xdr_pre_op_attr(xdrs, &objp->before))
  289. return (FALSE);
  290. if (!xdr_post_op_attr(xdrs, &objp->after))
  291. return (FALSE);
  292. return (TRUE);
  293. }
  294. bool_t
  295. xdr_post_op_fh3(register XDR *xdrs, post_op_fh3 *objp)
  296. {
  297. if (!xdr_bool(xdrs, &objp->handle_follows))
  298. return (FALSE);
  299. switch (objp->handle_follows) {
  300. case TRUE:
  301. if (!xdr_nfs_fh3(xdrs, &objp->post_op_fh3_u.handle))
  302. return (FALSE);
  303. break;
  304. case FALSE:
  305. break;
  306. default:
  307. return (FALSE);
  308. }
  309. return (TRUE);
  310. }
  311. bool_t
  312. xdr_time_how(register XDR *xdrs, time_how *objp)
  313. {
  314. int enum_objp;
  315. enum_objp = *objp;
  316. if (!xdr_enum(xdrs, (enum_t *)objp))
  317. {
  318. *objp = (time_how)enum_objp;
  319. return (FALSE);
  320. }
  321. return (TRUE);
  322. }
  323. bool_t
  324. xdr_set_mode3(register XDR *xdrs, set_mode3 *objp)
  325. {
  326. if (!xdr_bool(xdrs, &objp->set_it))
  327. return (FALSE);
  328. switch (objp->set_it) {
  329. case TRUE:
  330. if (!xdr_mode3(xdrs, &objp->set_mode3_u.mode))
  331. return (FALSE);
  332. break;
  333. }
  334. return (TRUE);
  335. }
  336. bool_t
  337. xdr_set_uid3(register XDR *xdrs, set_uid3 *objp)
  338. {
  339. if (!xdr_bool(xdrs, &objp->set_it))
  340. return (FALSE);
  341. switch (objp->set_it) {
  342. case TRUE:
  343. if (!xdr_uid3(xdrs, &objp->set_uid3_u.uid))
  344. return (FALSE);
  345. break;
  346. }
  347. return (TRUE);
  348. }
  349. bool_t
  350. xdr_set_gid3(register XDR *xdrs, set_gid3 *objp)
  351. {
  352. if (!xdr_bool(xdrs, &objp->set_it))
  353. return (FALSE);
  354. switch (objp->set_it) {
  355. case TRUE:
  356. if (!xdr_gid3(xdrs, &objp->set_gid3_u.gid))
  357. return (FALSE);
  358. break;
  359. }
  360. return (TRUE);
  361. }
  362. bool_t
  363. xdr_set_size3(register XDR *xdrs, set_size3 *objp)
  364. {
  365. if (!xdr_bool(xdrs, &objp->set_it))
  366. return (FALSE);
  367. switch (objp->set_it) {
  368. case TRUE:
  369. if (!xdr_size3(xdrs, &objp->set_size3_u.size))
  370. return (FALSE);
  371. break;
  372. }
  373. return (TRUE);
  374. }
  375. bool_t
  376. xdr_set_atime(register XDR *xdrs, set_atime *objp)
  377. {
  378. if (!xdr_time_how(xdrs, &objp->set_it))
  379. return (FALSE);
  380. switch (objp->set_it) {
  381. case SET_TO_CLIENT_TIME:
  382. if (!xdr_nfstime3(xdrs, &objp->set_atime_u.atime))
  383. return (FALSE);
  384. break;
  385. }
  386. return (TRUE);
  387. }
  388. bool_t
  389. xdr_set_mtime(register XDR *xdrs, set_mtime *objp)
  390. {
  391. if (!xdr_time_how(xdrs, &objp->set_it))
  392. return (FALSE);
  393. switch (objp->set_it) {
  394. case SET_TO_CLIENT_TIME:
  395. if (!xdr_nfstime3(xdrs, &objp->set_mtime_u.mtime))
  396. return (FALSE);
  397. break;
  398. }
  399. return (TRUE);
  400. }
  401. bool_t
  402. xdr_sattr3(register XDR *xdrs, sattr3 *objp)
  403. {
  404. if (!xdr_set_mode3(xdrs, &objp->mode))
  405. return (FALSE);
  406. if (!xdr_set_uid3(xdrs, &objp->uid))
  407. return (FALSE);
  408. if (!xdr_set_gid3(xdrs, &objp->gid))
  409. return (FALSE);
  410. if (!xdr_set_size3(xdrs, &objp->size))
  411. return (FALSE);
  412. if (!xdr_set_atime(xdrs, &objp->atime))
  413. return (FALSE);
  414. if (!xdr_set_mtime(xdrs, &objp->mtime))
  415. return (FALSE);
  416. return (TRUE);
  417. }
  418. bool_t
  419. xdr_diropargs3(register XDR *xdrs, diropargs3 *objp)
  420. {
  421. if (!xdr_nfs_fh3(xdrs, &objp->dir))
  422. return (FALSE);
  423. if (!xdr_filename3(xdrs, &objp->name))
  424. return (FALSE);
  425. return (TRUE);
  426. }
  427. bool_t
  428. xdr_GETATTR3args(register XDR *xdrs, GETATTR3args *objp)
  429. {
  430. if (!xdr_nfs_fh3(xdrs, &objp->object))
  431. return (FALSE);
  432. return (TRUE);
  433. }
  434. bool_t
  435. xdr_GETATTR3resok(register XDR *xdrs, GETATTR3resok *objp)
  436. {
  437. if (!xdr_fattr3(xdrs, &objp->obj_attributes))
  438. return (FALSE);
  439. return (TRUE);
  440. }
  441. bool_t
  442. xdr_GETATTR3res(register XDR *xdrs, GETATTR3res *objp)
  443. {
  444. if (!xdr_nfsstat3(xdrs, &objp->status))
  445. return (FALSE);
  446. switch (objp->status) {
  447. case NFS3_OK:
  448. if (!xdr_GETATTR3resok(xdrs, &objp->GETATTR3res_u.resok))
  449. return (FALSE);
  450. break;
  451. }
  452. return (TRUE);
  453. }
  454. bool_t
  455. xdr_sattrguard3(register XDR *xdrs, sattrguard3 *objp)
  456. {
  457. if (!xdr_bool(xdrs, &objp->check))
  458. return (FALSE);
  459. switch (objp->check) {
  460. case TRUE:
  461. if (!xdr_nfstime3(xdrs, &objp->sattrguard3_u.obj_ctime))
  462. return (FALSE);
  463. break;
  464. case FALSE:
  465. break;
  466. default:
  467. return (FALSE);
  468. }
  469. return (TRUE);
  470. }
  471. bool_t
  472. xdr_SETATTR3args(register XDR *xdrs, SETATTR3args *objp)
  473. {
  474. if (!xdr_nfs_fh3(xdrs, &objp->object))
  475. return (FALSE);
  476. if (!xdr_sattr3(xdrs, &objp->new_attributes))
  477. return (FALSE);
  478. if (!xdr_sattrguard3(xdrs, &objp->guard))
  479. return (FALSE);
  480. return (TRUE);
  481. }
  482. bool_t
  483. xdr_SETATTR3resok(register XDR *xdrs, SETATTR3resok *objp)
  484. {
  485. if (!xdr_wcc_data(xdrs, &objp->obj_wcc))
  486. return (FALSE);
  487. return (TRUE);
  488. }
  489. bool_t
  490. xdr_SETATTR3resfail(register XDR *xdrs, SETATTR3resfail *objp)
  491. {
  492. if (!xdr_wcc_data(xdrs, &objp->obj_wcc))
  493. return (FALSE);
  494. return (TRUE);
  495. }
  496. bool_t
  497. xdr_SETATTR3res(register XDR *xdrs, SETATTR3res *objp)
  498. {
  499. if (!xdr_nfsstat3(xdrs, &objp->status))
  500. return (FALSE);
  501. switch (objp->status) {
  502. case NFS3_OK:
  503. if (!xdr_SETATTR3resok(xdrs, &objp->SETATTR3res_u.resok))
  504. return (FALSE);
  505. break;
  506. default:
  507. if (!xdr_SETATTR3resfail(xdrs, &objp->SETATTR3res_u.resfail))
  508. return (FALSE);
  509. break;
  510. }
  511. return (TRUE);
  512. }
  513. bool_t
  514. xdr_LOOKUP3args(register XDR *xdrs, LOOKUP3args *objp)
  515. {
  516. if (!xdr_diropargs3(xdrs, &objp->what))
  517. return (FALSE);
  518. return (TRUE);
  519. }
  520. bool_t
  521. xdr_LOOKUP3resok(register XDR *xdrs, LOOKUP3resok *objp)
  522. {
  523. if (!xdr_nfs_fh3(xdrs, &objp->object))
  524. return (FALSE);
  525. if (!xdr_post_op_attr(xdrs, &objp->obj_attributes))
  526. return (FALSE);
  527. if (!xdr_post_op_attr(xdrs, &objp->dir_attributes))
  528. return (FALSE);
  529. return (TRUE);
  530. }
  531. bool_t
  532. xdr_LOOKUP3resfail(register XDR *xdrs, LOOKUP3resfail *objp)
  533. {
  534. if (!xdr_post_op_attr(xdrs, &objp->dir_attributes))
  535. return (FALSE);
  536. return (TRUE);
  537. }
  538. bool_t
  539. xdr_LOOKUP3res(register XDR *xdrs, LOOKUP3res *objp)
  540. {
  541. if (!xdr_nfsstat3(xdrs, &objp->status))
  542. return (FALSE);
  543. switch (objp->status) {
  544. case NFS3_OK:
  545. if (!xdr_LOOKUP3resok(xdrs, &objp->LOOKUP3res_u.resok))
  546. return (FALSE);
  547. break;
  548. default:
  549. if (!xdr_LOOKUP3resfail(xdrs, &objp->LOOKUP3res_u.resfail))
  550. return (FALSE);
  551. break;
  552. }
  553. return (TRUE);
  554. }
  555. bool_t
  556. xdr_ACCESS3args(register XDR *xdrs, ACCESS3args *objp)
  557. {
  558. if (!xdr_nfs_fh3(xdrs, &objp->object))
  559. return (FALSE);
  560. if (!xdr_uint32(xdrs, &objp->access))
  561. return (FALSE);
  562. return (TRUE);
  563. }
  564. bool_t
  565. xdr_ACCESS3resok(register XDR *xdrs, ACCESS3resok *objp)
  566. {
  567. if (!xdr_post_op_attr(xdrs, &objp->obj_attributes))
  568. return (FALSE);
  569. if (!xdr_uint32(xdrs, &objp->access))
  570. return (FALSE);
  571. return (TRUE);
  572. }
  573. bool_t
  574. xdr_ACCESS3resfail(register XDR *xdrs, ACCESS3resfail *objp)
  575. {
  576. if (!xdr_post_op_attr(xdrs, &objp->obj_attributes))
  577. return (FALSE);
  578. return (TRUE);
  579. }
  580. bool_t
  581. xdr_ACCESS3res(register XDR *xdrs, ACCESS3res *objp)
  582. {
  583. if (!xdr_nfsstat3(xdrs, &objp->status))
  584. return (FALSE);
  585. switch (objp->status) {
  586. case NFS3_OK:
  587. if (!xdr_ACCESS3resok(xdrs, &objp->ACCESS3res_u.resok))
  588. return (FALSE);
  589. break;
  590. default:
  591. if (!xdr_ACCESS3resfail(xdrs, &objp->ACCESS3res_u.resfail))
  592. return (FALSE);
  593. break;
  594. }
  595. return (TRUE);
  596. }
  597. bool_t
  598. xdr_READLINK3args(register XDR *xdrs, READLINK3args *objp)
  599. {
  600. if (!xdr_nfs_fh3(xdrs, &objp->symlink))
  601. return (FALSE);
  602. return (TRUE);
  603. }
  604. bool_t
  605. xdr_READLINK3resok(register XDR *xdrs, READLINK3resok *objp)
  606. {
  607. if (!xdr_post_op_attr(xdrs, &objp->symlink_attributes))
  608. return (FALSE);
  609. if (!xdr_nfspath3(xdrs, &objp->data))
  610. return (FALSE);
  611. return (TRUE);
  612. }
  613. bool_t
  614. xdr_READLINK3resfail(register XDR *xdrs, READLINK3resfail *objp)
  615. {
  616. if (!xdr_post_op_attr(xdrs, &objp->symlink_attributes))
  617. return (FALSE);
  618. return (TRUE);
  619. }
  620. bool_t
  621. xdr_READLINK3res(register XDR *xdrs, READLINK3res *objp)
  622. {
  623. if (!xdr_nfsstat3(xdrs, &objp->status))
  624. return (FALSE);
  625. switch (objp->status) {
  626. case NFS3_OK:
  627. if (!xdr_READLINK3resok(xdrs, &objp->READLINK3res_u.resok))
  628. return (FALSE);
  629. break;
  630. default:
  631. if (!xdr_READLINK3resfail(xdrs, &objp->READLINK3res_u.resfail))
  632. return (FALSE);
  633. break;
  634. }
  635. return (TRUE);
  636. }
  637. bool_t
  638. xdr_READ3args(register XDR *xdrs, READ3args *objp)
  639. {
  640. if (!xdr_nfs_fh3(xdrs, &objp->file))
  641. return (FALSE);
  642. if (!xdr_offset3(xdrs, &objp->offset))
  643. return (FALSE);
  644. if (!xdr_count3(xdrs, &objp->count))
  645. return (FALSE);
  646. return (TRUE);
  647. }
  648. bool_t
  649. xdr_READ3resok(register XDR *xdrs, READ3resok *objp)
  650. {
  651. if (!xdr_post_op_attr(xdrs, &objp->file_attributes))
  652. return (FALSE);
  653. if (!xdr_count3(xdrs, &objp->count))
  654. return (FALSE);
  655. if (!xdr_bool(xdrs, &objp->eof))
  656. return (FALSE);
  657. if (!xdr_bytes(xdrs, (char **)&objp->data.data_val, (unsigned int *) &objp->data.data_len, ~0))
  658. return (FALSE);
  659. return (TRUE);
  660. }
  661. bool_t
  662. xdr_READ3resfail(register XDR *xdrs, READ3resfail *objp)
  663. {
  664. if (!xdr_post_op_attr(xdrs, &objp->file_attributes))
  665. return (FALSE);
  666. return (TRUE);
  667. }
  668. bool_t
  669. xdr_READ3res(register XDR *xdrs, READ3res *objp)
  670. {
  671. if (!xdr_nfsstat3(xdrs, &objp->status))
  672. return (FALSE);
  673. switch (objp->status) {
  674. case NFS3_OK:
  675. if (!xdr_READ3resok(xdrs, &objp->READ3res_u.resok))
  676. return (FALSE);
  677. break;
  678. default:
  679. if (!xdr_READ3resfail(xdrs, &objp->READ3res_u.resfail))
  680. return (FALSE);
  681. break;
  682. }
  683. return (TRUE);
  684. }
  685. bool_t
  686. xdr_WRITE3args(register XDR *xdrs, WRITE3args *objp)
  687. {
  688. if (!xdr_nfs_fh3(xdrs, &objp->file))
  689. return (FALSE);
  690. if (!xdr_offset3(xdrs, &objp->offset))
  691. return (FALSE);
  692. if (!xdr_count3(xdrs, &objp->count))
  693. return (FALSE);
  694. if (!xdr_stable_how(xdrs, &objp->stable))
  695. return (FALSE);
  696. if (!xdr_bytes(xdrs, (char **)&objp->data.data_val, (unsigned int *) &objp->data.data_len, ~0))
  697. return (FALSE);
  698. return (TRUE);
  699. }
  700. bool_t
  701. xdr_WRITE3resok(register XDR *xdrs, WRITE3resok *objp)
  702. {
  703. if (!xdr_wcc_data(xdrs, &objp->file_wcc))
  704. return (FALSE);
  705. if (!xdr_count3(xdrs, &objp->count))
  706. return (FALSE);
  707. if (!xdr_stable_how(xdrs, &objp->committed))
  708. return (FALSE);
  709. if (!xdr_writeverf3(xdrs, objp->verf))
  710. return (FALSE);
  711. return (TRUE);
  712. }
  713. bool_t
  714. xdr_WRITE3resfail(register XDR *xdrs, WRITE3resfail *objp)
  715. {
  716. if (!xdr_wcc_data(xdrs, &objp->file_wcc))
  717. return (FALSE);
  718. return (TRUE);
  719. }
  720. bool_t
  721. xdr_WRITE3res(register XDR *xdrs, WRITE3res *objp)
  722. {
  723. if (!xdr_nfsstat3(xdrs, &objp->status))
  724. return (FALSE);
  725. switch (objp->status) {
  726. case NFS3_OK:
  727. if (!xdr_WRITE3resok(xdrs, &objp->WRITE3res_u.resok))
  728. return (FALSE);
  729. break;
  730. default:
  731. if (!xdr_WRITE3resfail(xdrs, &objp->WRITE3res_u.resfail))
  732. return (FALSE);
  733. break;
  734. }
  735. return (TRUE);
  736. }
  737. bool_t
  738. xdr_createhow3(register XDR *xdrs, createhow3 *objp)
  739. {
  740. if (!xdr_createmode3(xdrs, &objp->mode))
  741. return (FALSE);
  742. switch (objp->mode) {
  743. case UNCHECKED:
  744. case GUARDED:
  745. if (!xdr_sattr3(xdrs, &objp->createhow3_u.obj_attributes))
  746. return (FALSE);
  747. break;
  748. case EXCLUSIVE:
  749. if (!xdr_createverf3(xdrs, objp->createhow3_u.verf))
  750. return (FALSE);
  751. break;
  752. default:
  753. return (FALSE);
  754. }
  755. return (TRUE);
  756. }
  757. bool_t
  758. xdr_CREATE3args(register XDR *xdrs, CREATE3args *objp)
  759. {
  760. if (!xdr_diropargs3(xdrs, &objp->where))
  761. return (FALSE);
  762. if (!xdr_createhow3(xdrs, &objp->how))
  763. return (FALSE);
  764. return (TRUE);
  765. }
  766. bool_t
  767. xdr_CREATE3resok(register XDR *xdrs, CREATE3resok *objp)
  768. {
  769. if (!xdr_post_op_fh3(xdrs, &objp->obj))
  770. return (FALSE);
  771. if (!xdr_post_op_attr(xdrs, &objp->obj_attributes))
  772. return (FALSE);
  773. if (!xdr_wcc_data(xdrs, &objp->dir_wcc))
  774. return (FALSE);
  775. return (TRUE);
  776. }
  777. bool_t
  778. xdr_CREATE3resfail(register XDR *xdrs, CREATE3resfail *objp)
  779. {
  780. if (!xdr_wcc_data(xdrs, &objp->dir_wcc))
  781. return (FALSE);
  782. return (TRUE);
  783. }
  784. bool_t
  785. xdr_CREATE3res(register XDR *xdrs, CREATE3res *objp)
  786. {
  787. if (!xdr_nfsstat3(xdrs, &objp->status))
  788. return (FALSE);
  789. switch (objp->status) {
  790. case NFS3_OK:
  791. if (!xdr_CREATE3resok(xdrs, &objp->CREATE3res_u.resok))
  792. return (FALSE);
  793. break;
  794. default:
  795. if (!xdr_CREATE3resfail(xdrs, &objp->CREATE3res_u.resfail))
  796. return (FALSE);
  797. break;
  798. }
  799. return (TRUE);
  800. }
  801. bool_t
  802. xdr_MKDIR3args(register XDR *xdrs, MKDIR3args *objp)
  803. {
  804. if (!xdr_diropargs3(xdrs, &objp->where))
  805. return (FALSE);
  806. if (!xdr_sattr3(xdrs, &objp->attributes))
  807. return (FALSE);
  808. return (TRUE);
  809. }
  810. bool_t
  811. xdr_MKDIR3resok(register XDR *xdrs, MKDIR3resok *objp)
  812. {
  813. if (!xdr_post_op_fh3(xdrs, &objp->obj))
  814. return (FALSE);
  815. if (!xdr_post_op_attr(xdrs, &objp->obj_attributes))
  816. return (FALSE);
  817. if (!xdr_wcc_data(xdrs, &objp->dir_wcc))
  818. return (FALSE);
  819. return (TRUE);
  820. }
  821. bool_t
  822. xdr_MKDIR3resfail(register XDR *xdrs, MKDIR3resfail *objp)
  823. {
  824. if (!xdr_wcc_data(xdrs, &objp->dir_wcc))
  825. return (FALSE);
  826. return (TRUE);
  827. }
  828. bool_t
  829. xdr_MKDIR3res(register XDR *xdrs, MKDIR3res *objp)
  830. {
  831. if (!xdr_nfsstat3(xdrs, &objp->status))
  832. return (FALSE);
  833. switch (objp->status) {
  834. case NFS3_OK:
  835. if (!xdr_MKDIR3resok(xdrs, &objp->MKDIR3res_u.resok))
  836. return (FALSE);
  837. break;
  838. default:
  839. if (!xdr_MKDIR3resfail(xdrs, &objp->MKDIR3res_u.resfail))
  840. return (FALSE);
  841. break;
  842. }
  843. return (TRUE);
  844. }
  845. bool_t
  846. xdr_symlinkdata3(register XDR *xdrs, symlinkdata3 *objp)
  847. {
  848. if (!xdr_sattr3(xdrs, &objp->symlink_attributes))
  849. return (FALSE);
  850. if (!xdr_nfspath3(xdrs, &objp->symlink_data))
  851. return (FALSE);
  852. return (TRUE);
  853. }
  854. bool_t
  855. xdr_SYMLINK3args(register XDR *xdrs, SYMLINK3args *objp)
  856. {
  857. if (!xdr_diropargs3(xdrs, &objp->where))
  858. return (FALSE);
  859. if (!xdr_symlinkdata3(xdrs, &objp->symlink))
  860. return (FALSE);
  861. return (TRUE);
  862. }
  863. bool_t
  864. xdr_SYMLINK3resok(register XDR *xdrs, SYMLINK3resok *objp)
  865. {
  866. if (!xdr_post_op_fh3(xdrs, &objp->obj))
  867. return (FALSE);
  868. if (!xdr_post_op_attr(xdrs, &objp->obj_attributes))
  869. return (FALSE);
  870. if (!xdr_wcc_data(xdrs, &objp->dir_wcc))
  871. return (FALSE);
  872. return (TRUE);
  873. }
  874. bool_t
  875. xdr_SYMLINK3resfail(register XDR *xdrs, SYMLINK3resfail *objp)
  876. {
  877. if (!xdr_wcc_data(xdrs, &objp->dir_wcc))
  878. return (FALSE);
  879. return (TRUE);
  880. }
  881. bool_t
  882. xdr_SYMLINK3res(register XDR *xdrs, SYMLINK3res *objp)
  883. {
  884. if (!xdr_nfsstat3(xdrs, &objp->status))
  885. return (FALSE);
  886. switch (objp->status) {
  887. case NFS3_OK:
  888. if (!xdr_SYMLINK3resok(xdrs, &objp->SYMLINK3res_u.resok))
  889. return (FALSE);
  890. break;
  891. default:
  892. if (!xdr_SYMLINK3resfail(xdrs, &objp->SYMLINK3res_u.resfail))
  893. return (FALSE);
  894. break;
  895. }
  896. return (TRUE);
  897. }
  898. bool_t
  899. xdr_devicedata3(register XDR *xdrs, devicedata3 *objp)
  900. {
  901. if (!xdr_sattr3(xdrs, &objp->dev_attributes))
  902. return (FALSE);
  903. if (!xdr_specdata3(xdrs, &objp->spec))
  904. return (FALSE);
  905. return (TRUE);
  906. }
  907. bool_t
  908. xdr_mknoddata3(register XDR *xdrs, mknoddata3 *objp)
  909. {
  910. if (!xdr_ftype3(xdrs, &objp->type))
  911. return (FALSE);
  912. switch (objp->type) {
  913. case NFS3CHR:
  914. case NFS3BLK:
  915. if (!xdr_devicedata3(xdrs, &objp->mknoddata3_u.device))
  916. return (FALSE);
  917. break;
  918. case NFS3SOCK:
  919. case NFS3FIFO:
  920. if (!xdr_sattr3(xdrs, &objp->mknoddata3_u.pipe_attributes))
  921. return (FALSE);
  922. break;
  923. }
  924. return (TRUE);
  925. }
  926. bool_t
  927. xdr_MKNOD3args(register XDR *xdrs, MKNOD3args *objp)
  928. {
  929. if (!xdr_diropargs3(xdrs, &objp->where))
  930. return (FALSE);
  931. if (!xdr_mknoddata3(xdrs, &objp->what))
  932. return (FALSE);
  933. return (TRUE);
  934. }
  935. bool_t
  936. xdr_MKNOD3resok(register XDR *xdrs, MKNOD3resok *objp)
  937. {
  938. if (!xdr_post_op_fh3(xdrs, &objp->obj))
  939. return (FALSE);
  940. if (!xdr_post_op_attr(xdrs, &objp->obj_attributes))
  941. return (FALSE);
  942. if (!xdr_wcc_data(xdrs, &objp->dir_wcc))
  943. return (FALSE);
  944. return (TRUE);
  945. }
  946. bool_t
  947. xdr_MKNOD3resfail(register XDR *xdrs, MKNOD3resfail *objp)
  948. {
  949. if (!xdr_wcc_data(xdrs, &objp->dir_wcc))
  950. return (FALSE);
  951. return (TRUE);
  952. }
  953. bool_t
  954. xdr_MKNOD3res(register XDR *xdrs, MKNOD3res *objp)
  955. {
  956. if (!xdr_nfsstat3(xdrs, &objp->status))
  957. return (FALSE);
  958. switch (objp->status) {
  959. case NFS3_OK:
  960. if (!xdr_MKNOD3resok(xdrs, &objp->MKNOD3res_u.resok))
  961. return (FALSE);
  962. break;
  963. default:
  964. if (!xdr_MKNOD3resfail(xdrs, &objp->MKNOD3res_u.resfail))
  965. return (FALSE);
  966. break;
  967. }
  968. return (TRUE);
  969. }
  970. bool_t
  971. xdr_REMOVE3args(register XDR *xdrs, REMOVE3args *objp)
  972. {
  973. if (!xdr_diropargs3(xdrs, &objp->object))
  974. return (FALSE);
  975. return (TRUE);
  976. }
  977. bool_t
  978. xdr_REMOVE3resok(register XDR *xdrs, REMOVE3resok *objp)
  979. {
  980. if (!xdr_wcc_data(xdrs, &objp->dir_wcc))
  981. return (FALSE);
  982. return (TRUE);
  983. }
  984. bool_t
  985. xdr_REMOVE3resfail(register XDR *xdrs, REMOVE3resfail *objp)
  986. {
  987. if (!xdr_wcc_data(xdrs, &objp->dir_wcc))
  988. return (FALSE);
  989. return (TRUE);
  990. }
  991. bool_t
  992. xdr_REMOVE3res(register XDR *xdrs, REMOVE3res *objp)
  993. {
  994. if (!xdr_nfsstat3(xdrs, &objp->status))
  995. return (FALSE);
  996. switch (objp->status) {
  997. case NFS3_OK:
  998. if (!xdr_REMOVE3resok(xdrs, &objp->REMOVE3res_u.resok))
  999. return (FALSE);
  1000. break;
  1001. default:
  1002. if (!xdr_REMOVE3resfail(xdrs, &objp->REMOVE3res_u.resfail))
  1003. return (FALSE);
  1004. break;
  1005. }
  1006. return (TRUE);
  1007. }
  1008. bool_t
  1009. xdr_RMDIR3args(register XDR *xdrs, RMDIR3args *objp)
  1010. {
  1011. if (!xdr_diropargs3(xdrs, &objp->object))
  1012. return (FALSE);
  1013. return (TRUE);
  1014. }
  1015. bool_t
  1016. xdr_RMDIR3resok(register XDR *xdrs, RMDIR3resok *objp)
  1017. {
  1018. if (!xdr_wcc_data(xdrs, &objp->dir_wcc))
  1019. return (FALSE);
  1020. return (TRUE);
  1021. }
  1022. bool_t
  1023. xdr_RMDIR3resfail(register XDR *xdrs, RMDIR3resfail *objp)
  1024. {
  1025. if (!xdr_wcc_data(xdrs, &objp->dir_wcc))
  1026. return (FALSE);
  1027. return (TRUE);
  1028. }
  1029. bool_t
  1030. xdr_RMDIR3res(register XDR *xdrs, RMDIR3res *objp)
  1031. {
  1032. if (!xdr_nfsstat3(xdrs, &objp->status))
  1033. return (FALSE);
  1034. switch (objp->status) {
  1035. case NFS3_OK:
  1036. if (!xdr_RMDIR3resok(xdrs, &objp->RMDIR3res_u.resok))
  1037. return (FALSE);
  1038. break;
  1039. default:
  1040. if (!xdr_RMDIR3resfail(xdrs, &objp->RMDIR3res_u.resfail))
  1041. return (FALSE);
  1042. break;
  1043. }
  1044. return (TRUE);
  1045. }
  1046. bool_t
  1047. xdr_RENAME3args(register XDR *xdrs, RENAME3args *objp)
  1048. {
  1049. if (!xdr_diropargs3(xdrs, &objp->from))
  1050. return (FALSE);
  1051. if (!xdr_diropargs3(xdrs, &objp->to))
  1052. return (FALSE);
  1053. return (TRUE);
  1054. }
  1055. bool_t
  1056. xdr_RENAME3resok(register XDR *xdrs, RENAME3resok *objp)
  1057. {
  1058. if (!xdr_wcc_data(xdrs, &objp->fromdir_wcc))
  1059. return (FALSE);
  1060. if (!xdr_wcc_data(xdrs, &objp->todir_wcc))
  1061. return (FALSE);
  1062. return (TRUE);
  1063. }
  1064. bool_t
  1065. xdr_RENAME3resfail(register XDR *xdrs, RENAME3resfail *objp)
  1066. {
  1067. if (!xdr_wcc_data(xdrs, &objp->fromdir_wcc))
  1068. return (FALSE);
  1069. if (!xdr_wcc_data(xdrs, &objp->todir_wcc))
  1070. return (FALSE);
  1071. return (TRUE);
  1072. }
  1073. bool_t
  1074. xdr_RENAME3res(register XDR *xdrs, RENAME3res *objp)
  1075. {
  1076. if (!xdr_nfsstat3(xdrs, &objp->status))
  1077. return (FALSE);
  1078. switch (objp->status) {
  1079. case NFS3_OK:
  1080. if (!xdr_RENAME3resok(xdrs, &objp->RENAME3res_u.resok))
  1081. return (FALSE);
  1082. break;
  1083. default:
  1084. if (!xdr_RENAME3resfail(xdrs, &objp->RENAME3res_u.resfail))
  1085. return (FALSE);
  1086. break;
  1087. }
  1088. return (TRUE);
  1089. }
  1090. bool_t
  1091. xdr_LINK3args(register XDR *xdrs, LINK3args *objp)
  1092. {
  1093. if (!xdr_nfs_fh3(xdrs, &objp->file))
  1094. return (FALSE);
  1095. if (!xdr_diropargs3(xdrs, &objp->link))
  1096. return (FALSE);
  1097. return (TRUE);
  1098. }
  1099. bool_t
  1100. xdr_LINK3resok(register XDR *xdrs, LINK3resok *objp)
  1101. {
  1102. if (!xdr_post_op_attr(xdrs, &objp->file_attributes))
  1103. return (FALSE);
  1104. if (!xdr_wcc_data(xdrs, &objp->linkdir_wcc))
  1105. return (FALSE);
  1106. return (TRUE);
  1107. }
  1108. bool_t
  1109. xdr_LINK3resfail(register XDR *xdrs, LINK3resfail *objp)
  1110. {
  1111. if (!xdr_post_op_attr(xdrs, &objp->file_attributes))
  1112. return (FALSE);
  1113. if (!xdr_wcc_data(xdrs, &objp->linkdir_wcc))
  1114. return (FALSE);
  1115. return (TRUE);
  1116. }
  1117. bool_t
  1118. xdr_LINK3res(register XDR *xdrs, LINK3res *objp)
  1119. {
  1120. if (!xdr_nfsstat3(xdrs, &objp->status))
  1121. return (FALSE);
  1122. switch (objp->status) {
  1123. case NFS3_OK:
  1124. if (!xdr_LINK3resok(xdrs, &objp->LINK3res_u.resok))
  1125. return (FALSE);
  1126. break;
  1127. default:
  1128. if (!xdr_LINK3resfail(xdrs, &objp->LINK3res_u.resfail))
  1129. return (FALSE);
  1130. break;
  1131. }
  1132. return (TRUE);
  1133. }
  1134. bool_t
  1135. xdr_READDIR3args(register XDR *xdrs, READDIR3args *objp)
  1136. {
  1137. if (!xdr_nfs_fh3(xdrs, &objp->dir))
  1138. return (FALSE);
  1139. if (!xdr_cookie3(xdrs, &objp->cookie))
  1140. return (FALSE);
  1141. if (!xdr_cookieverf3(xdrs, objp->cookieverf))
  1142. return (FALSE);
  1143. if (!xdr_count3(xdrs, &objp->count))
  1144. return (FALSE);
  1145. return (TRUE);
  1146. }
  1147. bool_t
  1148. xdr_entry3(register XDR *xdrs, entry3 *objp)
  1149. {
  1150. if (!xdr_fileid3(xdrs, &objp->fileid))
  1151. return (FALSE);
  1152. if (!xdr_filename3(xdrs, &objp->name))
  1153. return (FALSE);
  1154. if (!xdr_cookie3(xdrs, &objp->cookie))
  1155. return (FALSE);
  1156. if (!xdr_pointer(xdrs, (char **)&objp->nextentry, sizeof (entry3), (xdrproc_t) xdr_entry3))
  1157. return (FALSE);
  1158. return (TRUE);
  1159. }
  1160. bool_t
  1161. xdr_dirlist3(register XDR *xdrs, dirlist3 *objp)
  1162. {
  1163. if (!xdr_pointer(xdrs, (char **)&objp->entries, sizeof (entry3), (xdrproc_t) xdr_entry3))
  1164. return (FALSE);
  1165. if (!xdr_bool(xdrs, &objp->eof))
  1166. return (FALSE);
  1167. return (TRUE);
  1168. }
  1169. bool_t
  1170. xdr_READDIR3resok(register XDR *xdrs, READDIR3resok *objp)
  1171. {
  1172. if (!xdr_post_op_attr(xdrs, &objp->dir_attributes))
  1173. return (FALSE);
  1174. if (!xdr_cookieverf3(xdrs, objp->cookieverf))
  1175. return (FALSE);
  1176. if (!xdr_dirlist3(xdrs, &objp->reply))
  1177. return (FALSE);
  1178. return (TRUE);
  1179. }
  1180. bool_t
  1181. xdr_READDIR3resfail(register XDR *xdrs, READDIR3resfail *objp)
  1182. {
  1183. if (!xdr_post_op_attr(xdrs, &objp->dir_attributes))
  1184. return (FALSE);
  1185. return (TRUE);
  1186. }
  1187. bool_t
  1188. xdr_READDIR3res(register XDR *xdrs, READDIR3res *objp)
  1189. {
  1190. if (!xdr_nfsstat3(xdrs, &objp->status))
  1191. return (FALSE);
  1192. switch (objp->status) {
  1193. case NFS3_OK:
  1194. if (!xdr_READDIR3resok(xdrs, &objp->READDIR3res_u.resok))
  1195. return (FALSE);
  1196. break;
  1197. default:
  1198. if (!xdr_READDIR3resfail(xdrs, &objp->READDIR3res_u.resfail))
  1199. return (FALSE);
  1200. break;
  1201. }
  1202. return (TRUE);
  1203. }
  1204. bool_t
  1205. xdr_READDIRPLUS3args(register XDR *xdrs, READDIRPLUS3args *objp)
  1206. {
  1207. if (!xdr_nfs_fh3(xdrs, &objp->dir))
  1208. return (FALSE);
  1209. if (!xdr_cookie3(xdrs, &objp->cookie))
  1210. return (FALSE);
  1211. if (!xdr_cookieverf3(xdrs, objp->cookieverf))
  1212. return (FALSE);
  1213. if (!xdr_count3(xdrs, &objp->dircount))
  1214. return (FALSE);
  1215. if (!xdr_count3(xdrs, &objp->maxcount))
  1216. return (FALSE);
  1217. return (TRUE);
  1218. }
  1219. bool_t
  1220. xdr_entryplus3(register XDR *xdrs, entryplus3 *objp)
  1221. {
  1222. if (!xdr_fileid3(xdrs, &objp->fileid))
  1223. return (FALSE);
  1224. if (!xdr_filename3(xdrs, &objp->name))
  1225. return (FALSE);
  1226. if (!xdr_cookie3(xdrs, &objp->cookie))
  1227. return (FALSE);
  1228. if (!xdr_post_op_attr(xdrs, &objp->name_attributes))
  1229. return (FALSE);
  1230. if (!xdr_post_op_fh3(xdrs, &objp->name_handle))
  1231. return (FALSE);
  1232. if (!xdr_pointer(xdrs, (char **)&objp->nextentry, sizeof (entryplus3), (xdrproc_t) xdr_entryplus3))
  1233. return (FALSE);
  1234. return (TRUE);
  1235. }
  1236. bool_t
  1237. xdr_dirlistplus3(register XDR *xdrs, dirlistplus3 *objp)
  1238. {
  1239. if (!xdr_pointer(xdrs, (char **)&objp->entries, sizeof (entryplus3), (xdrproc_t) xdr_entryplus3))
  1240. return (FALSE);
  1241. if (!xdr_bool(xdrs, &objp->eof))
  1242. return (FALSE);
  1243. return (TRUE);
  1244. }
  1245. bool_t
  1246. xdr_READDIRPLUS3resok(register XDR *xdrs, READDIRPLUS3resok *objp)
  1247. {
  1248. if (!xdr_post_op_attr(xdrs, &objp->dir_attributes))
  1249. return (FALSE);
  1250. if (!xdr_cookieverf3(xdrs, objp->cookieverf))
  1251. return (FALSE);
  1252. if (!xdr_dirlistplus3(xdrs, &objp->reply))
  1253. return (FALSE);
  1254. return (TRUE);
  1255. }
  1256. bool_t
  1257. xdr_READDIRPLUS3resfail(register XDR *xdrs, READDIRPLUS3resfail *objp)
  1258. {
  1259. if (!xdr_post_op_attr(xdrs, &objp->dir_attributes))
  1260. return (FALSE);
  1261. return (TRUE);
  1262. }
  1263. bool_t
  1264. xdr_READDIRPLUS3res(register XDR *xdrs, READDIRPLUS3res *objp)
  1265. {
  1266. if (!xdr_nfsstat3(xdrs, &objp->status))
  1267. return (FALSE);
  1268. switch (objp->status) {
  1269. case NFS3_OK:
  1270. if (!xdr_READDIRPLUS3resok(xdrs, &objp->READDIRPLUS3res_u.resok))
  1271. return (FALSE);
  1272. break;
  1273. default:
  1274. if (!xdr_READDIRPLUS3resfail(xdrs, &objp->READDIRPLUS3res_u.resfail))
  1275. return (FALSE);
  1276. break;
  1277. }
  1278. return (TRUE);
  1279. }
  1280. bool_t
  1281. xdr_FSSTAT3args(register XDR *xdrs, FSSTAT3args *objp)
  1282. {
  1283. if (!xdr_nfs_fh3(xdrs, &objp->fsroot))
  1284. return (FALSE);
  1285. return (TRUE);
  1286. }
  1287. bool_t
  1288. xdr_FSSTAT3resok(register XDR *xdrs, FSSTAT3resok *objp)
  1289. {
  1290. if (!xdr_post_op_attr(xdrs, &objp->obj_attributes))
  1291. return (FALSE);
  1292. if (!xdr_size3(xdrs, &objp->tbytes))
  1293. return (FALSE);
  1294. if (!xdr_size3(xdrs, &objp->fbytes))
  1295. return (FALSE);
  1296. if (!xdr_size3(xdrs, &objp->abytes))
  1297. return (FALSE);
  1298. if (!xdr_size3(xdrs, &objp->tfiles))
  1299. return (FALSE);
  1300. if (!xdr_size3(xdrs, &objp->ffiles))
  1301. return (FALSE);
  1302. if (!xdr_size3(xdrs, &objp->afiles))
  1303. return (FALSE);
  1304. if (!xdr_uint32(xdrs, &objp->invarsec))
  1305. return (FALSE);
  1306. return (TRUE);
  1307. }
  1308. bool_t
  1309. xdr_FSSTAT3resfail(register XDR *xdrs, FSSTAT3resfail *objp)
  1310. {
  1311. if (!xdr_post_op_attr(xdrs, &objp->obj_attributes))
  1312. return (FALSE);
  1313. return (TRUE);
  1314. }
  1315. bool_t
  1316. xdr_FSSTAT3res(register XDR *xdrs, FSSTAT3res *objp)
  1317. {
  1318. if (!xdr_nfsstat3(xdrs, &objp->status))
  1319. return (FALSE);
  1320. switch (objp->status) {
  1321. case NFS3_OK:
  1322. if (!xdr_FSSTAT3resok(xdrs, &objp->FSSTAT3res_u.resok))
  1323. return (FALSE);
  1324. break;
  1325. default:
  1326. if (!xdr_FSSTAT3resfail(xdrs, &objp->FSSTAT3res_u.resfail))
  1327. return (FALSE);
  1328. break;
  1329. }
  1330. return (TRUE);
  1331. }
  1332. bool_t
  1333. xdr_FSINFO3args(register XDR *xdrs, FSINFO3args *objp)
  1334. {
  1335. if (!xdr_nfs_fh3(xdrs, &objp->fsroot))
  1336. return (FALSE);
  1337. return (TRUE);
  1338. }
  1339. bool_t
  1340. xdr_FSINFO3resok(register XDR *xdrs, FSINFO3resok *objp)
  1341. {
  1342. if (!xdr_post_op_attr(xdrs, &objp->obj_attributes))
  1343. return (FALSE);
  1344. if (!xdr_uint32(xdrs, &objp->rtmax))
  1345. return (FALSE);
  1346. if (!xdr_uint32(xdrs, &objp->rtpref))
  1347. return (FALSE);
  1348. if (!xdr_uint32(xdrs, &objp->rtmult))
  1349. return (FALSE);
  1350. if (!xdr_uint32(xdrs, &objp->wtmax))
  1351. return (FALSE);
  1352. if (!xdr_uint32(xdrs, &objp->wtpref))
  1353. return (FALSE);
  1354. if (!xdr_uint32(xdrs, &objp->wtmult))
  1355. return (FALSE);
  1356. if (!xdr_uint32(xdrs, &objp->dtpref))
  1357. return (FALSE);
  1358. if (!xdr_size3(xdrs, &objp->maxfilesize))
  1359. return (FALSE);
  1360. if (!xdr_nfstime3(xdrs, &objp->time_delta))
  1361. return (FALSE);
  1362. if (!xdr_uint32(xdrs, &objp->properties))
  1363. return (FALSE);
  1364. return (TRUE);
  1365. }
  1366. bool_t
  1367. xdr_FSINFO3resfail(register XDR *xdrs, FSINFO3resfail *objp)
  1368. {
  1369. if (!xdr_post_op_attr(xdrs, &objp->obj_attributes))
  1370. return (FALSE);
  1371. return (TRUE);
  1372. }
  1373. bool_t
  1374. xdr_FSINFO3res(register XDR *xdrs, FSINFO3res *objp)
  1375. {
  1376. if (!xdr_nfsstat3(xdrs, &objp->status))
  1377. return (FALSE);
  1378. switch (objp->status) {
  1379. case NFS3_OK:
  1380. if (!xdr_FSINFO3resok(xdrs, &objp->FSINFO3res_u.resok))
  1381. return (FALSE);
  1382. break;
  1383. default:
  1384. if (!xdr_FSINFO3resfail(xdrs, &objp->FSINFO3res_u.resfail))
  1385. return (FALSE);
  1386. break;
  1387. }
  1388. return (TRUE);
  1389. }
  1390. bool_t
  1391. xdr_PATHCONF3args(register XDR *xdrs, PATHCONF3args *objp)
  1392. {
  1393. if (!xdr_nfs_fh3(xdrs, &objp->object))
  1394. return (FALSE);
  1395. return (TRUE);
  1396. }
  1397. bool_t
  1398. xdr_PATHCONF3resok(register XDR *xdrs, PATHCONF3resok *objp)
  1399. {
  1400. if (!xdr_post_op_attr(xdrs, &objp->obj_attributes))
  1401. return (FALSE);
  1402. if (!xdr_uint32(xdrs, &objp->linkmax))
  1403. return (FALSE);
  1404. if (!xdr_uint32(xdrs, &objp->name_max))
  1405. return (FALSE);
  1406. if (!xdr_bool(xdrs, &objp->no_trunc))
  1407. return (FALSE);
  1408. if (!xdr_bool(xdrs, &objp->chown_restricted))
  1409. return (FALSE);
  1410. if (!xdr_bool(xdrs, &objp->case_insensitive))
  1411. return (FALSE);
  1412. if (!xdr_bool(xdrs, &objp->case_preserving))
  1413. return (FALSE);
  1414. return (TRUE);
  1415. }
  1416. bool_t
  1417. xdr_PATHCONF3resfail(register XDR *xdrs, PATHCONF3resfail *objp)
  1418. {
  1419. if (!xdr_post_op_attr(xdrs, &objp->obj_attributes))
  1420. return (FALSE);
  1421. return (TRUE);
  1422. }
  1423. bool_t
  1424. xdr_PATHCONF3res(register XDR *xdrs, PATHCONF3res *objp)
  1425. {
  1426. if (!xdr_nfsstat3(xdrs, &objp->status))
  1427. return (FALSE);
  1428. switch (objp->status) {
  1429. case NFS3_OK:
  1430. if (!xdr_PATHCONF3resok(xdrs, &objp->PATHCONF3res_u.resok))
  1431. return (FALSE);
  1432. break;
  1433. default:
  1434. if (!xdr_PATHCONF3resfail(xdrs, &objp->PATHCONF3res_u.resfail))
  1435. return (FALSE);
  1436. break;
  1437. }
  1438. return (TRUE);
  1439. }
  1440. bool_t
  1441. xdr_COMMIT3args(register XDR *xdrs, COMMIT3args *objp)
  1442. {
  1443. if (!xdr_nfs_fh3(xdrs, &objp->file))
  1444. return (FALSE);
  1445. if (!xdr_offset3(xdrs, &objp->offset))
  1446. return (FALSE);
  1447. if (!xdr_count3(xdrs, &objp->count))
  1448. return (FALSE);
  1449. return (TRUE);
  1450. }
  1451. bool_t
  1452. xdr_COMMIT3resok(register XDR *xdrs, COMMIT3resok *objp)
  1453. {
  1454. if (!xdr_wcc_data(xdrs, &objp->file_wcc))
  1455. return (FALSE);
  1456. if (!xdr_writeverf3(xdrs, objp->verf))
  1457. return (FALSE);
  1458. return (TRUE);
  1459. }
  1460. bool_t
  1461. xdr_COMMIT3resfail(register XDR *xdrs, COMMIT3resfail *objp)
  1462. {
  1463. if (!xdr_wcc_data(xdrs, &objp->file_wcc))
  1464. return (FALSE);
  1465. return (TRUE);
  1466. }
  1467. bool_t
  1468. xdr_COMMIT3res(register XDR *xdrs, COMMIT3res *objp)
  1469. {
  1470. if (!xdr_nfsstat3(xdrs, &objp->status))
  1471. return (FALSE);
  1472. switch (objp->status) {
  1473. case NFS3_OK:
  1474. if (!xdr_COMMIT3resok(xdrs, &objp->COMMIT3res_u.resok))
  1475. return (FALSE);
  1476. break;
  1477. default:
  1478. if (!xdr_COMMIT3resfail(xdrs, &objp->COMMIT3res_u.resfail))
  1479. return (FALSE);
  1480. break;
  1481. }
  1482. return (TRUE);
  1483. }