nfs-ganesha 1.4
|
00001 /* 00002 * Please do not edit this file. 00003 * It was generated using rpcgen. 00004 */ 00005 00006 #ifndef _NFS4_H_RPCGEN 00007 #define _NFS4_H_RPCGEN 00008 00009 #ifndef _USE_SWIG 00010 00011 00012 #endif 00013 00014 #ifdef _SOLARIS 00015 #include "solaris_port.h" 00016 #endif /* _SOLARIS */ 00017 00018 #define NFS4_FHSIZE 128 00019 #define NFS4_VERIFIER_SIZE 8 00020 #define NFS4_OPAQUE_LIMIT 1024 00021 00022 enum nfs_ftype4 00023 { 00024 NF4REG = 1, 00025 NF4DIR = 2, 00026 NF4BLK = 3, 00027 NF4CHR = 4, 00028 NF4LNK = 5, 00029 NF4SOCK = 6, 00030 NF4FIFO = 7, 00031 NF4ATTRDIR = 8, 00032 NF4NAMEDATTR = 9 00033 }; 00034 typedef enum nfs_ftype4 nfs_ftype4; 00035 00036 enum nfsstat4 00037 { 00038 NFS4_OK = 0, 00039 NFS4ERR_PERM = 1, 00040 NFS4ERR_NOENT = 2, 00041 NFS4ERR_IO = 5, 00042 NFS4ERR_NXIO = 6, 00043 NFS4ERR_ACCESS = 13, 00044 NFS4ERR_EXIST = 17, 00045 NFS4ERR_XDEV = 18, 00046 NFS4ERR_NOTDIR = 20, 00047 NFS4ERR_ISDIR = 21, 00048 NFS4ERR_INVAL = 22, 00049 NFS4ERR_FBIG = 27, 00050 NFS4ERR_NOSPC = 28, 00051 NFS4ERR_ROFS = 30, 00052 NFS4ERR_MLINK = 31, 00053 NFS4ERR_NAMETOOLONG = 63, 00054 NFS4ERR_NOTEMPTY = 66, 00055 NFS4ERR_DQUOT = 69, 00056 NFS4ERR_STALE = 70, 00057 NFS4ERR_BADHANDLE = 10001, 00058 NFS4ERR_BAD_COOKIE = 10003, 00059 NFS4ERR_NOTSUPP = 10004, 00060 NFS4ERR_TOOSMALL = 10005, 00061 NFS4ERR_SERVERFAULT = 10006, 00062 NFS4ERR_BADTYPE = 10007, 00063 NFS4ERR_DELAY = 10008, 00064 NFS4ERR_SAME = 10009, 00065 NFS4ERR_DENIED = 10010, 00066 NFS4ERR_EXPIRED = 10011, 00067 NFS4ERR_LOCKED = 10012, 00068 NFS4ERR_GRACE = 10013, 00069 NFS4ERR_FHEXPIRED = 10014, 00070 NFS4ERR_SHARE_DENIED = 10015, 00071 NFS4ERR_WRONGSEC = 10016, 00072 NFS4ERR_CLID_INUSE = 10017, 00073 NFS4ERR_RESOURCE = 10018, 00074 NFS4ERR_MOVED = 10019, 00075 NFS4ERR_NOFILEHANDLE = 10020, 00076 NFS4ERR_MINOR_VERS_MISMATCH = 10021, 00077 NFS4ERR_STALE_CLIENTID = 10022, 00078 NFS4ERR_STALE_STATEID = 10023, 00079 NFS4ERR_OLD_STATEID = 10024, 00080 NFS4ERR_BAD_STATEID = 10025, 00081 NFS4ERR_BAD_SEQID = 10026, 00082 NFS4ERR_NOT_SAME = 10027, 00083 NFS4ERR_LOCK_RANGE = 10028, 00084 NFS4ERR_SYMLINK = 10029, 00085 NFS4ERR_RESTOREFH = 10030, 00086 NFS4ERR_LEASE_MOVED = 10031, 00087 NFS4ERR_ATTRNOTSUPP = 10032, 00088 NFS4ERR_NO_GRACE = 10033, 00089 NFS4ERR_RECLAIM_BAD = 10034, 00090 NFS4ERR_RECLAIM_CONFLICT = 10035, 00091 NFS4ERR_BADXDR = 10036, 00092 NFS4ERR_LOCKS_HELD = 10037, 00093 NFS4ERR_OPENMODE = 10038, 00094 NFS4ERR_BADOWNER = 10039, 00095 NFS4ERR_BADCHAR = 10040, 00096 NFS4ERR_BADNAME = 10041, 00097 NFS4ERR_BAD_RANGE = 10042, 00098 NFS4ERR_LOCK_NOTSUPP = 10043, 00099 NFS4ERR_OP_ILLEGAL = 10044, 00100 NFS4ERR_DEADLOCK = 10045, 00101 NFS4ERR_FILE_OPEN = 10046, 00102 NFS4ERR_ADMIN_REVOKED = 10047, 00103 NFS4ERR_CB_PATH_DOWN = 10048 00104 }; 00105 typedef enum nfsstat4 nfsstat4; 00106 00107 typedef struct 00108 { 00109 u_int bitmap4_len; 00110 uint32_t *bitmap4_val; 00111 } bitmap4; 00112 00113 typedef uint64_t offset4; 00114 00115 typedef uint32_t count4; 00116 00117 typedef uint64_t length4; 00118 00119 typedef uint64_t clientid4; 00120 00121 typedef uint32_t seqid4; 00122 00123 typedef struct 00124 { 00125 u_int utf8string_len; 00126 char *utf8string_val; 00127 } utf8string; 00128 00129 typedef utf8string utf8str_cis; 00130 00131 typedef utf8string utf8str_cs; 00132 00133 typedef utf8string utf8str_mixed; 00134 00135 typedef utf8str_cs component4; 00136 00137 typedef struct 00138 { 00139 u_int pathname4_len; 00140 component4 *pathname4_val; 00141 } pathname4; 00142 00143 typedef uint64_t nfs_lockid4; 00144 00145 typedef uint64_t nfs_cookie4; 00146 00147 typedef utf8str_cs linktext4; 00148 00149 typedef struct 00150 { 00151 u_int sec_oid4_len; 00152 char *sec_oid4_val; 00153 } sec_oid4; 00154 00155 typedef uint32_t qop4; 00156 00157 typedef uint32_t mode4; 00158 00159 typedef uint64_t changeid4; 00160 00161 typedef char verifier4[NFS4_VERIFIER_SIZE]; 00162 00163 struct nfstime4 00164 { 00165 int64_t seconds; 00166 uint32_t nseconds; 00167 }; 00168 typedef struct nfstime4 nfstime4; 00169 00170 enum time_how4 00171 { 00172 SET_TO_SERVER_TIME4 = 0, 00173 SET_TO_CLIENT_TIME4 = 1 00174 }; 00175 typedef enum time_how4 time_how4; 00176 00177 struct settime4 00178 { 00179 time_how4 set_it; 00180 union 00181 { 00182 nfstime4 time; 00183 } settime4_u; 00184 }; 00185 typedef struct settime4 settime4; 00186 00187 typedef struct 00188 { 00189 u_int nfs_fh4_len; 00190 char *nfs_fh4_val; 00191 } nfs_fh4; 00192 00193 struct fsid4 00194 { 00195 uint64_t major; 00196 uint64_t minor; 00197 }; 00198 typedef struct fsid4 fsid4; 00199 00200 struct fs_location4 00201 { 00202 struct 00203 { 00204 u_int server_len; 00205 utf8str_cis *server_val; 00206 } server; 00207 pathname4 rootpath; 00208 }; 00209 typedef struct fs_location4 fs_location4; 00210 00211 struct fs_locations4 00212 { 00213 pathname4 fs_root; 00214 struct 00215 { 00216 u_int locations_len; 00217 fs_location4 *locations_val; 00218 } locations; 00219 }; 00220 typedef struct fs_locations4 fs_locations4; 00221 #define ACL4_SUPPORT_ALLOW_ACL 0x00000001 00222 #define ACL4_SUPPORT_DENY_ACL 0x00000002 00223 #define ACL4_SUPPORT_AUDIT_ACL 0x00000004 00224 #define ACL4_SUPPORT_ALARM_ACL 0x00000008 00225 00226 typedef uint32_t acetype4; 00227 #define ACE4_ACCESS_ALLOWED_ACE_TYPE 0x00000000 00228 #define ACE4_ACCESS_DENIED_ACE_TYPE 0x00000001 00229 #define ACE4_SYSTEM_AUDIT_ACE_TYPE 0x00000002 00230 #define ACE4_SYSTEM_ALARM_ACE_TYPE 0x00000003 00231 00232 typedef uint32_t aceflag4; 00233 #define ACE4_FILE_INHERIT_ACE 0x00000001 00234 #define ACE4_DIRECTORY_INHERIT_ACE 0x00000002 00235 #define ACE4_NO_PROPAGATE_INHERIT_ACE 0x00000004 00236 #define ACE4_INHERIT_ONLY_ACE 0x00000008 00237 #define ACE4_SUCCESSFUL_ACCESS_ACE_FLAG 0x00000010 00238 #define ACE4_FAILED_ACCESS_ACE_FLAG 0x00000020 00239 #define ACE4_IDENTIFIER_GROUP 0x00000040 00240 00241 typedef uint32_t acemask4; 00242 #define ACE4_READ_DATA 0x00000001 00243 #define ACE4_LIST_DIRECTORY 0x00000001 00244 #define ACE4_WRITE_DATA 0x00000002 00245 #define ACE4_ADD_FILE 0x00000002 00246 #define ACE4_APPEND_DATA 0x00000004 00247 #define ACE4_ADD_SUBDIRECTORY 0x00000004 00248 #define ACE4_READ_NAMED_ATTRS 0x00000008 00249 #define ACE4_WRITE_NAMED_ATTRS 0x00000010 00250 #define ACE4_EXECUTE 0x00000020 00251 #define ACE4_DELETE_CHILD 0x00000040 00252 #define ACE4_READ_ATTRIBUTES 0x00000080 00253 #define ACE4_WRITE_ATTRIBUTES 0x00000100 00254 #define ACE4_DELETE 0x00010000 00255 #define ACE4_READ_ACL 0x00020000 00256 #define ACE4_WRITE_ACL 0x00040000 00257 #define ACE4_WRITE_OWNER 0x00080000 00258 #define ACE4_SYNCHRONIZE 0x00100000 00259 #define ACE4_GENERIC_READ 0x00120081 00260 #define ACE4_GENERIC_WRITE 0x00160106 00261 #define ACE4_GENERIC_EXECUTE 0x001200A0 00262 00263 struct nfsace4 00264 { 00265 acetype4 type; 00266 aceflag4 flag; 00267 acemask4 access_mask; 00268 utf8str_mixed who; 00269 }; 00270 typedef struct nfsace4 nfsace4; 00271 #define MODE4_SUID 0x800 00272 #define MODE4_SGID 0x400 00273 #define MODE4_SVTX 0x200 00274 #define MODE4_RUSR 0x100 00275 #define MODE4_WUSR 0x080 00276 #define MODE4_XUSR 0x040 00277 #define MODE4_RGRP 0x020 00278 #define MODE4_WGRP 0x010 00279 #define MODE4_XGRP 0x008 00280 #define MODE4_ROTH 0x004 00281 #define MODE4_WOTH 0x002 00282 #define MODE4_XOTH 0x001 00283 00284 struct specdata4 00285 { 00286 uint32_t specdata1; 00287 uint32_t specdata2; 00288 }; 00289 typedef struct specdata4 specdata4; 00290 #define FH4_PERSISTENT 0x00000000 00291 #define FH4_NOEXPIRE_WITH_OPEN 0x00000001 00292 #define FH4_VOLATILE_ANY 0x00000002 00293 #define FH4_VOL_MIGRATION 0x00000004 00294 #define FH4_VOL_RENAME 0x00000008 00295 00296 typedef bitmap4 fattr4_supported_attrs; 00297 00298 typedef nfs_ftype4 fattr4_type; 00299 00300 typedef uint32_t fattr4_fh_expire_type; 00301 00302 typedef changeid4 fattr4_change; 00303 00304 typedef uint64_t fattr4_size; 00305 00306 typedef bool_t fattr4_link_support; 00307 00308 typedef bool_t fattr4_symlink_support; 00309 00310 typedef bool_t fattr4_named_attr; 00311 00312 typedef fsid4 fattr4_fsid; 00313 00314 typedef bool_t fattr4_unique_handles; 00315 00316 typedef uint32_t fattr4_lease_time; 00317 00318 typedef nfsstat4 fattr4_rdattr_error; 00319 00320 typedef struct 00321 { 00322 u_int fattr4_acl_len; 00323 nfsace4 *fattr4_acl_val; 00324 } fattr4_acl; 00325 00326 typedef uint32_t fattr4_aclsupport; 00327 00328 typedef bool_t fattr4_archive; 00329 00330 typedef bool_t fattr4_cansettime; 00331 00332 typedef bool_t fattr4_case_insensitive; 00333 00334 typedef bool_t fattr4_case_preserving; 00335 00336 typedef bool_t fattr4_chown_restricted; 00337 00338 typedef uint64_t fattr4_fileid; 00339 00340 typedef uint64_t fattr4_files_avail; 00341 00342 typedef nfs_fh4 fattr4_filehandle; 00343 00344 typedef uint64_t fattr4_files_free; 00345 00346 typedef uint64_t fattr4_files_total; 00347 00348 typedef fs_locations4 fattr4_fs_locations; 00349 00350 typedef bool_t fattr4_hidden; 00351 00352 typedef bool_t fattr4_homogeneous; 00353 00354 typedef uint64_t fattr4_maxfilesize; 00355 00356 typedef uint32_t fattr4_maxlink; 00357 00358 typedef uint32_t fattr4_maxname; 00359 00360 typedef uint64_t fattr4_maxread; 00361 00362 typedef uint64_t fattr4_maxwrite; 00363 00364 typedef utf8str_cs fattr4_mimetype; 00365 00366 typedef mode4 fattr4_mode; 00367 00368 typedef uint64_t fattr4_mounted_on_fileid; 00369 00370 typedef bool_t fattr4_no_trunc; 00371 00372 typedef uint32_t fattr4_numlinks; 00373 00374 typedef utf8str_mixed fattr4_owner; 00375 00376 typedef utf8str_mixed fattr4_owner_group; 00377 00378 typedef uint64_t fattr4_quota_avail_hard; 00379 00380 typedef uint64_t fattr4_quota_avail_soft; 00381 00382 typedef uint64_t fattr4_quota_used; 00383 00384 typedef specdata4 fattr4_rawdev; 00385 00386 typedef uint64_t fattr4_space_avail; 00387 00388 typedef uint64_t fattr4_space_free; 00389 00390 typedef uint64_t fattr4_space_total; 00391 00392 typedef uint64_t fattr4_space_used; 00393 00394 typedef bool_t fattr4_system; 00395 00396 typedef nfstime4 fattr4_time_access; 00397 00398 typedef settime4 fattr4_time_access_set; 00399 00400 typedef nfstime4 fattr4_time_backup; 00401 00402 typedef nfstime4 fattr4_time_create; 00403 00404 typedef nfstime4 fattr4_time_delta; 00405 00406 typedef nfstime4 fattr4_time_metadata; 00407 00408 typedef nfstime4 fattr4_time_modify; 00409 00410 typedef settime4 fattr4_time_modify_set; 00411 #define FATTR4_SUPPORTED_ATTRS 0 00412 #define FATTR4_TYPE 1 00413 #define FATTR4_FH_EXPIRE_TYPE 2 00414 #define FATTR4_CHANGE 3 00415 #define FATTR4_SIZE 4 00416 #define FATTR4_LINK_SUPPORT 5 00417 #define FATTR4_SYMLINK_SUPPORT 6 00418 #define FATTR4_NAMED_ATTR 7 00419 #define FATTR4_FSID 8 00420 #define FATTR4_UNIQUE_HANDLES 9 00421 #define FATTR4_LEASE_TIME 10 00422 #define FATTR4_RDATTR_ERROR 11 00423 #define FATTR4_FILEHANDLE 19 00424 #define FATTR4_ACL 12 00425 #define FATTR4_ACLSUPPORT 13 00426 #define FATTR4_ARCHIVE 14 00427 #define FATTR4_CANSETTIME 15 00428 #define FATTR4_CASE_INSENSITIVE 16 00429 #define FATTR4_CASE_PRESERVING 17 00430 #define FATTR4_CHOWN_RESTRICTED 18 00431 #define FATTR4_FILEID 20 00432 #define FATTR4_FILES_AVAIL 21 00433 #define FATTR4_FILES_FREE 22 00434 #define FATTR4_FILES_TOTAL 23 00435 #define FATTR4_FS_LOCATIONS 24 00436 #define FATTR4_HIDDEN 25 00437 #define FATTR4_HOMOGENEOUS 26 00438 #define FATTR4_MAXFILESIZE 27 00439 #define FATTR4_MAXLINK 28 00440 #define FATTR4_MAXNAME 29 00441 #define FATTR4_MAXREAD 30 00442 #define FATTR4_MAXWRITE 31 00443 #define FATTR4_MIMETYPE 32 00444 #define FATTR4_MODE 33 00445 #define FATTR4_NO_TRUNC 34 00446 #define FATTR4_NUMLINKS 35 00447 #define FATTR4_OWNER 36 00448 #define FATTR4_OWNER_GROUP 37 00449 #define FATTR4_QUOTA_AVAIL_HARD 38 00450 #define FATTR4_QUOTA_AVAIL_SOFT 39 00451 #define FATTR4_QUOTA_USED 40 00452 #define FATTR4_RAWDEV 41 00453 #define FATTR4_SPACE_AVAIL 42 00454 #define FATTR4_SPACE_FREE 43 00455 #define FATTR4_SPACE_TOTAL 44 00456 #define FATTR4_SPACE_USED 45 00457 #define FATTR4_SYSTEM 46 00458 #define FATTR4_TIME_ACCESS 47 00459 #define FATTR4_TIME_ACCESS_SET 48 00460 #define FATTR4_TIME_BACKUP 49 00461 #define FATTR4_TIME_CREATE 50 00462 #define FATTR4_TIME_DELTA 51 00463 #define FATTR4_TIME_METADATA 52 00464 #define FATTR4_TIME_MODIFY 53 00465 #define FATTR4_TIME_MODIFY_SET 54 00466 #define FATTR4_MOUNTED_ON_FILEID 55 00467 00468 typedef struct 00469 { 00470 u_int attrlist4_len; 00471 char *attrlist4_val; 00472 } attrlist4; 00473 00474 struct fattr4 00475 { 00476 bitmap4 attrmask; 00477 attrlist4 attr_vals; 00478 }; 00479 typedef struct fattr4 fattr4; 00480 00481 struct change_info4 00482 { 00483 bool_t atomic; 00484 changeid4 before; 00485 changeid4 after; 00486 }; 00487 typedef struct change_info4 change_info4; 00488 00489 struct clientaddr4 00490 { 00491 char *r_netid; 00492 char *r_addr; 00493 }; 00494 typedef struct clientaddr4 clientaddr4; 00495 00496 struct cb_client4 00497 { 00498 uint32_t cb_program; 00499 clientaddr4 cb_location; 00500 }; 00501 typedef struct cb_client4 cb_client4; 00502 00503 struct stateid4 00504 { 00505 uint32_t seqid; 00506 char other[12]; 00507 }; 00508 typedef struct stateid4 stateid4; 00509 00510 struct nfs_client_id4 00511 { 00512 verifier4 verifier; 00513 struct 00514 { 00515 u_int id_len; 00516 char *id_val; 00517 } id; 00518 }; 00519 typedef struct nfs_client_id4 nfs_client_id4; 00520 00521 struct open_owner4 00522 { 00523 clientid4 clientid; 00524 struct 00525 { 00526 u_int owner_len; 00527 char *owner_val; 00528 } owner; 00529 }; 00530 typedef struct open_owner4 open_owner4; 00531 00532 struct lock_owner4 00533 { 00534 clientid4 clientid; 00535 struct 00536 { 00537 u_int owner_len; 00538 char *owner_val; 00539 } owner; 00540 }; 00541 typedef struct lock_owner4 lock_owner4; 00542 00543 enum nfs_lock_type4 00544 { 00545 READ_LT = 1, 00546 WRITE_LT = 2, 00547 READW_LT = 3, 00548 WRITEW_LT = 4 00549 }; 00550 typedef enum nfs_lock_type4 nfs_lock_type4; 00551 #define ACCESS4_READ 0x00000001 00552 #define ACCESS4_LOOKUP 0x00000002 00553 #define ACCESS4_MODIFY 0x00000004 00554 #define ACCESS4_EXTEND 0x00000008 00555 #define ACCESS4_DELETE 0x00000010 00556 #define ACCESS4_EXECUTE 0x00000020 00557 00558 struct ACCESS4args 00559 { 00560 uint32_t access; 00561 }; 00562 typedef struct ACCESS4args ACCESS4args; 00563 00564 struct ACCESS4resok 00565 { 00566 uint32_t supported; 00567 uint32_t access; 00568 }; 00569 typedef struct ACCESS4resok ACCESS4resok; 00570 00571 struct ACCESS4res 00572 { 00573 nfsstat4 status; 00574 union 00575 { 00576 ACCESS4resok resok4; 00577 } ACCESS4res_u; 00578 }; 00579 typedef struct ACCESS4res ACCESS4res; 00580 00581 struct CLOSE4args 00582 { 00583 seqid4 seqid; 00584 stateid4 open_stateid; 00585 }; 00586 typedef struct CLOSE4args CLOSE4args; 00587 00588 struct CLOSE4res 00589 { 00590 nfsstat4 status; 00591 union 00592 { 00593 stateid4 open_stateid; 00594 } CLOSE4res_u; 00595 }; 00596 typedef struct CLOSE4res CLOSE4res; 00597 00598 struct COMMIT4args 00599 { 00600 offset4 offset; 00601 count4 count; 00602 }; 00603 typedef struct COMMIT4args COMMIT4args; 00604 00605 struct COMMIT4resok 00606 { 00607 verifier4 writeverf; 00608 }; 00609 typedef struct COMMIT4resok COMMIT4resok; 00610 00611 struct COMMIT4res 00612 { 00613 nfsstat4 status; 00614 union 00615 { 00616 COMMIT4resok resok4; 00617 } COMMIT4res_u; 00618 }; 00619 typedef struct COMMIT4res COMMIT4res; 00620 00621 struct createtype4 00622 { 00623 nfs_ftype4 type; 00624 union 00625 { 00626 linktext4 linkdata; 00627 specdata4 devdata; 00628 } createtype4_u; 00629 }; 00630 typedef struct createtype4 createtype4; 00631 00632 struct CREATE4args 00633 { 00634 createtype4 objtype; 00635 component4 objname; 00636 fattr4 createattrs; 00637 }; 00638 typedef struct CREATE4args CREATE4args; 00639 00640 struct CREATE4resok 00641 { 00642 change_info4 cinfo; 00643 bitmap4 attrset; 00644 }; 00645 typedef struct CREATE4resok CREATE4resok; 00646 00647 struct CREATE4res 00648 { 00649 nfsstat4 status; 00650 union 00651 { 00652 CREATE4resok resok4; 00653 } CREATE4res_u; 00654 }; 00655 typedef struct CREATE4res CREATE4res; 00656 00657 struct DELEGPURGE4args 00658 { 00659 clientid4 clientid; 00660 }; 00661 typedef struct DELEGPURGE4args DELEGPURGE4args; 00662 00663 struct DELEGPURGE4res 00664 { 00665 nfsstat4 status; 00666 }; 00667 typedef struct DELEGPURGE4res DELEGPURGE4res; 00668 00669 struct DELEGRETURN4args 00670 { 00671 stateid4 deleg_stateid; 00672 }; 00673 typedef struct DELEGRETURN4args DELEGRETURN4args; 00674 00675 struct DELEGRETURN4res 00676 { 00677 nfsstat4 status; 00678 }; 00679 typedef struct DELEGRETURN4res DELEGRETURN4res; 00680 00681 struct GETATTR4args 00682 { 00683 bitmap4 attr_request; 00684 }; 00685 typedef struct GETATTR4args GETATTR4args; 00686 00687 struct GETATTR4resok 00688 { 00689 fattr4 obj_attributes; 00690 }; 00691 typedef struct GETATTR4resok GETATTR4resok; 00692 00693 struct GETATTR4res 00694 { 00695 nfsstat4 status; 00696 union 00697 { 00698 GETATTR4resok resok4; 00699 } GETATTR4res_u; 00700 }; 00701 typedef struct GETATTR4res GETATTR4res; 00702 00703 struct GETFH4resok 00704 { 00705 nfs_fh4 object; 00706 }; 00707 typedef struct GETFH4resok GETFH4resok; 00708 00709 struct GETFH4res 00710 { 00711 nfsstat4 status; 00712 union 00713 { 00714 GETFH4resok resok4; 00715 } GETFH4res_u; 00716 }; 00717 typedef struct GETFH4res GETFH4res; 00718 00719 struct LINK4args 00720 { 00721 component4 newname; 00722 }; 00723 typedef struct LINK4args LINK4args; 00724 00725 struct LINK4resok 00726 { 00727 change_info4 cinfo; 00728 }; 00729 typedef struct LINK4resok LINK4resok; 00730 00731 struct LINK4res 00732 { 00733 nfsstat4 status; 00734 union 00735 { 00736 LINK4resok resok4; 00737 } LINK4res_u; 00738 }; 00739 typedef struct LINK4res LINK4res; 00740 00741 struct open_to_lock_owner4 00742 { 00743 seqid4 open_seqid; 00744 stateid4 open_stateid; 00745 seqid4 lock_seqid; 00746 lock_owner4 lock_owner; 00747 }; 00748 typedef struct open_to_lock_owner4 open_to_lock_owner4; 00749 00750 struct exist_lock_owner4 00751 { 00752 stateid4 lock_stateid; 00753 seqid4 lock_seqid; 00754 }; 00755 typedef struct exist_lock_owner4 exist_lock_owner4; 00756 00757 struct locker4 00758 { 00759 bool_t new_lock_owner; 00760 union 00761 { 00762 open_to_lock_owner4 open_owner; 00763 exist_lock_owner4 lock_owner; 00764 } locker4_u; 00765 }; 00766 typedef struct locker4 locker4; 00767 00768 struct LOCK4args 00769 { 00770 nfs_lock_type4 locktype; 00771 bool_t reclaim; 00772 offset4 offset; 00773 length4 length; 00774 locker4 locker; 00775 }; 00776 typedef struct LOCK4args LOCK4args; 00777 00778 struct LOCK4denied 00779 { 00780 offset4 offset; 00781 length4 length; 00782 nfs_lock_type4 locktype; 00783 lock_owner4 owner; 00784 }; 00785 typedef struct LOCK4denied LOCK4denied; 00786 00787 struct LOCK4resok 00788 { 00789 stateid4 lock_stateid; 00790 }; 00791 typedef struct LOCK4resok LOCK4resok; 00792 00793 struct LOCK4res 00794 { 00795 nfsstat4 status; 00796 union 00797 { 00798 LOCK4resok resok4; 00799 LOCK4denied denied; 00800 } LOCK4res_u; 00801 }; 00802 typedef struct LOCK4res LOCK4res; 00803 00804 struct LOCKT4args 00805 { 00806 nfs_lock_type4 locktype; 00807 offset4 offset; 00808 length4 length; 00809 lock_owner4 owner; 00810 }; 00811 typedef struct LOCKT4args LOCKT4args; 00812 00813 struct LOCKT4res 00814 { 00815 nfsstat4 status; 00816 union 00817 { 00818 LOCK4denied denied; 00819 } LOCKT4res_u; 00820 }; 00821 typedef struct LOCKT4res LOCKT4res; 00822 00823 struct LOCKU4args 00824 { 00825 nfs_lock_type4 locktype; 00826 seqid4 seqid; 00827 stateid4 lock_stateid; 00828 offset4 offset; 00829 length4 length; 00830 }; 00831 typedef struct LOCKU4args LOCKU4args; 00832 00833 struct LOCKU4res 00834 { 00835 nfsstat4 status; 00836 union 00837 { 00838 stateid4 lock_stateid; 00839 } LOCKU4res_u; 00840 }; 00841 typedef struct LOCKU4res LOCKU4res; 00842 00843 struct LOOKUP4args 00844 { 00845 component4 objname; 00846 }; 00847 typedef struct LOOKUP4args LOOKUP4args; 00848 00849 struct LOOKUP4res 00850 { 00851 nfsstat4 status; 00852 }; 00853 typedef struct LOOKUP4res LOOKUP4res; 00854 00855 struct LOOKUPP4res 00856 { 00857 nfsstat4 status; 00858 }; 00859 typedef struct LOOKUPP4res LOOKUPP4res; 00860 00861 struct NVERIFY4args 00862 { 00863 fattr4 obj_attributes; 00864 }; 00865 typedef struct NVERIFY4args NVERIFY4args; 00866 00867 struct NVERIFY4res 00868 { 00869 nfsstat4 status; 00870 }; 00871 typedef struct NVERIFY4res NVERIFY4res; 00872 00873 enum createmode4 00874 { 00875 UNCHECKED4 = 0, 00876 GUARDED4 = 1, 00877 EXCLUSIVE4 = 2 00878 }; 00879 typedef enum createmode4 createmode4; 00880 00881 struct createhow4 00882 { 00883 createmode4 mode; 00884 union 00885 { 00886 fattr4 createattrs; 00887 verifier4 createverf; 00888 } createhow4_u; 00889 }; 00890 typedef struct createhow4 createhow4; 00891 00892 enum opentype4 00893 { 00894 OPEN4_NOCREATE = 0, 00895 OPEN4_CREATE = 1 00896 }; 00897 typedef enum opentype4 opentype4; 00898 00899 struct openflag4 00900 { 00901 opentype4 opentype; 00902 union 00903 { 00904 createhow4 how; 00905 } openflag4_u; 00906 }; 00907 typedef struct openflag4 openflag4; 00908 00909 enum limit_by4 00910 { 00911 NFS_LIMIT_SIZE = 1, 00912 NFS_LIMIT_BLOCKS = 2 00913 }; 00914 typedef enum limit_by4 limit_by4; 00915 00916 struct nfs_modified_limit4 00917 { 00918 uint32_t num_blocks; 00919 uint32_t bytes_per_block; 00920 }; 00921 typedef struct nfs_modified_limit4 nfs_modified_limit4; 00922 00923 struct nfs_space_limit4 00924 { 00925 limit_by4 limitby; 00926 union 00927 { 00928 uint64_t filesize; 00929 nfs_modified_limit4 mod_blocks; 00930 } nfs_space_limit4_u; 00931 }; 00932 typedef struct nfs_space_limit4 nfs_space_limit4; 00933 #define OPEN4_SHARE_ACCESS_READ 0x00000001 00934 #define OPEN4_SHARE_ACCESS_WRITE 0x00000002 00935 #define OPEN4_SHARE_ACCESS_BOTH 0x00000003 00936 #define OPEN4_SHARE_DENY_NONE 0x00000000 00937 #define OPEN4_SHARE_DENY_READ 0x00000001 00938 #define OPEN4_SHARE_DENY_WRITE 0x00000002 00939 #define OPEN4_SHARE_DENY_BOTH 0x00000003 00940 00941 enum open_delegation_type4 00942 { 00943 OPEN_DELEGATE_NONE = 0, 00944 OPEN_DELEGATE_READ = 1, 00945 OPEN_DELEGATE_WRITE = 2 00946 }; 00947 typedef enum open_delegation_type4 open_delegation_type4; 00948 00949 enum open_claim_type4 00950 { 00951 CLAIM_NULL = 0, 00952 CLAIM_PREVIOUS = 1, 00953 CLAIM_DELEGATE_CUR = 2, 00954 CLAIM_DELEGATE_PREV = 3 00955 }; 00956 typedef enum open_claim_type4 open_claim_type4; 00957 00958 struct open_claim_delegate_cur4 00959 { 00960 stateid4 delegate_stateid; 00961 component4 file; 00962 }; 00963 typedef struct open_claim_delegate_cur4 open_claim_delegate_cur4; 00964 00965 struct open_claim4 00966 { 00967 open_claim_type4 claim; 00968 union 00969 { 00970 component4 file; 00971 open_delegation_type4 delegate_type; 00972 open_claim_delegate_cur4 delegate_cur_info; 00973 component4 file_delegate_prev; 00974 } open_claim4_u; 00975 }; 00976 typedef struct open_claim4 open_claim4; 00977 00978 struct OPEN4args 00979 { 00980 seqid4 seqid; 00981 uint32_t share_access; 00982 uint32_t share_deny; 00983 open_owner4 owner; 00984 openflag4 openhow; 00985 open_claim4 claim; 00986 }; 00987 typedef struct OPEN4args OPEN4args; 00988 00989 struct open_read_delegation4 00990 { 00991 stateid4 stateid; 00992 bool_t recall; 00993 nfsace4 permissions; 00994 }; 00995 typedef struct open_read_delegation4 open_read_delegation4; 00996 00997 struct open_write_delegation4 00998 { 00999 stateid4 stateid; 01000 bool_t recall; 01001 nfs_space_limit4 space_limit; 01002 nfsace4 permissions; 01003 }; 01004 typedef struct open_write_delegation4 open_write_delegation4; 01005 01006 struct open_delegation4 01007 { 01008 open_delegation_type4 delegation_type; 01009 union 01010 { 01011 open_read_delegation4 read; 01012 open_write_delegation4 write; 01013 } open_delegation4_u; 01014 }; 01015 typedef struct open_delegation4 open_delegation4; 01016 #define OPEN4_RESULT_CONFIRM 0x00000002 01017 #define OPEN4_RESULT_LOCKTYPE_POSIX 0x00000004 01018 01019 struct OPEN4resok 01020 { 01021 stateid4 stateid; 01022 change_info4 cinfo; 01023 uint32_t rflags; 01024 bitmap4 attrset; 01025 open_delegation4 delegation; 01026 }; 01027 typedef struct OPEN4resok OPEN4resok; 01028 01029 struct OPEN4res 01030 { 01031 nfsstat4 status; 01032 union 01033 { 01034 OPEN4resok resok4; 01035 } OPEN4res_u; 01036 }; 01037 typedef struct OPEN4res OPEN4res; 01038 01039 struct OPENATTR4args 01040 { 01041 bool_t createdir; 01042 }; 01043 typedef struct OPENATTR4args OPENATTR4args; 01044 01045 struct OPENATTR4res 01046 { 01047 nfsstat4 status; 01048 }; 01049 typedef struct OPENATTR4res OPENATTR4res; 01050 01051 struct OPEN_CONFIRM4args 01052 { 01053 stateid4 open_stateid; 01054 seqid4 seqid; 01055 }; 01056 typedef struct OPEN_CONFIRM4args OPEN_CONFIRM4args; 01057 01058 struct OPEN_CONFIRM4resok 01059 { 01060 stateid4 open_stateid; 01061 }; 01062 typedef struct OPEN_CONFIRM4resok OPEN_CONFIRM4resok; 01063 01064 struct OPEN_CONFIRM4res 01065 { 01066 nfsstat4 status; 01067 union 01068 { 01069 OPEN_CONFIRM4resok resok4; 01070 } OPEN_CONFIRM4res_u; 01071 }; 01072 typedef struct OPEN_CONFIRM4res OPEN_CONFIRM4res; 01073 01074 struct OPEN_DOWNGRADE4args 01075 { 01076 stateid4 open_stateid; 01077 seqid4 seqid; 01078 uint32_t share_access; 01079 uint32_t share_deny; 01080 }; 01081 typedef struct OPEN_DOWNGRADE4args OPEN_DOWNGRADE4args; 01082 01083 struct OPEN_DOWNGRADE4resok 01084 { 01085 stateid4 open_stateid; 01086 }; 01087 typedef struct OPEN_DOWNGRADE4resok OPEN_DOWNGRADE4resok; 01088 01089 struct OPEN_DOWNGRADE4res 01090 { 01091 nfsstat4 status; 01092 union 01093 { 01094 OPEN_DOWNGRADE4resok resok4; 01095 } OPEN_DOWNGRADE4res_u; 01096 }; 01097 typedef struct OPEN_DOWNGRADE4res OPEN_DOWNGRADE4res; 01098 01099 struct PUTFH4args 01100 { 01101 nfs_fh4 object; 01102 }; 01103 typedef struct PUTFH4args PUTFH4args; 01104 01105 struct PUTFH4res 01106 { 01107 nfsstat4 status; 01108 }; 01109 typedef struct PUTFH4res PUTFH4res; 01110 01111 struct PUTPUBFH4res 01112 { 01113 nfsstat4 status; 01114 }; 01115 typedef struct PUTPUBFH4res PUTPUBFH4res; 01116 01117 struct PUTROOTFH4res 01118 { 01119 nfsstat4 status; 01120 }; 01121 typedef struct PUTROOTFH4res PUTROOTFH4res; 01122 01123 struct READ4args 01124 { 01125 stateid4 stateid; 01126 offset4 offset; 01127 count4 count; 01128 }; 01129 typedef struct READ4args READ4args; 01130 01131 struct READ4resok 01132 { 01133 bool_t eof; 01134 struct 01135 { 01136 u_int data_len; 01137 char *data_val; 01138 } data; 01139 }; 01140 typedef struct READ4resok READ4resok; 01141 01142 struct READ4res 01143 { 01144 nfsstat4 status; 01145 union 01146 { 01147 READ4resok resok4; 01148 } READ4res_u; 01149 }; 01150 typedef struct READ4res READ4res; 01151 01152 struct READDIR4args 01153 { 01154 nfs_cookie4 cookie; 01155 verifier4 cookieverf; 01156 count4 dircount; 01157 count4 maxcount; 01158 bitmap4 attr_request; 01159 }; 01160 typedef struct READDIR4args READDIR4args; 01161 01162 struct entry4 01163 { 01164 nfs_cookie4 cookie; 01165 component4 name; 01166 fattr4 attrs; 01167 struct entry4 *nextentry; 01168 }; 01169 typedef struct entry4 entry4; 01170 01171 struct dirlist4 01172 { 01173 entry4 *entries; 01174 bool_t eof; 01175 }; 01176 typedef struct dirlist4 dirlist4; 01177 01178 struct READDIR4resok 01179 { 01180 verifier4 cookieverf; 01181 dirlist4 reply; 01182 }; 01183 typedef struct READDIR4resok READDIR4resok; 01184 01185 struct READDIR4res 01186 { 01187 nfsstat4 status; 01188 union 01189 { 01190 READDIR4resok resok4; 01191 } READDIR4res_u; 01192 }; 01193 typedef struct READDIR4res READDIR4res; 01194 01195 struct READLINK4resok 01196 { 01197 linktext4 link; 01198 }; 01199 typedef struct READLINK4resok READLINK4resok; 01200 01201 struct READLINK4res 01202 { 01203 nfsstat4 status; 01204 union 01205 { 01206 READLINK4resok resok4; 01207 } READLINK4res_u; 01208 }; 01209 typedef struct READLINK4res READLINK4res; 01210 01211 struct REMOVE4args 01212 { 01213 component4 target; 01214 }; 01215 typedef struct REMOVE4args REMOVE4args; 01216 01217 struct REMOVE4resok 01218 { 01219 change_info4 cinfo; 01220 }; 01221 typedef struct REMOVE4resok REMOVE4resok; 01222 01223 struct REMOVE4res 01224 { 01225 nfsstat4 status; 01226 union 01227 { 01228 REMOVE4resok resok4; 01229 } REMOVE4res_u; 01230 }; 01231 typedef struct REMOVE4res REMOVE4res; 01232 01233 struct RENAME4args 01234 { 01235 component4 oldname; 01236 component4 newname; 01237 }; 01238 typedef struct RENAME4args RENAME4args; 01239 01240 struct RENAME4resok 01241 { 01242 change_info4 source_cinfo; 01243 change_info4 target_cinfo; 01244 }; 01245 typedef struct RENAME4resok RENAME4resok; 01246 01247 struct RENAME4res 01248 { 01249 nfsstat4 status; 01250 union 01251 { 01252 RENAME4resok resok4; 01253 } RENAME4res_u; 01254 }; 01255 typedef struct RENAME4res RENAME4res; 01256 01257 struct RENEW4args 01258 { 01259 clientid4 clientid; 01260 }; 01261 typedef struct RENEW4args RENEW4args; 01262 01263 struct RENEW4res 01264 { 01265 nfsstat4 status; 01266 }; 01267 typedef struct RENEW4res RENEW4res; 01268 01269 struct RESTOREFH4res 01270 { 01271 nfsstat4 status; 01272 }; 01273 typedef struct RESTOREFH4res RESTOREFH4res; 01274 01275 struct SAVEFH4res 01276 { 01277 nfsstat4 status; 01278 }; 01279 typedef struct SAVEFH4res SAVEFH4res; 01280 01281 struct SECINFO4args 01282 { 01283 component4 name; 01284 }; 01285 typedef struct SECINFO4args SECINFO4args; 01286 01287 struct rpcsec_gss_info 01288 { 01289 sec_oid4 oid; 01290 qop4 qop; 01291 rpc_gss_svc_t service; 01292 }; 01293 typedef struct rpcsec_gss_info rpcsec_gss_info; 01294 01295 struct secinfo4 01296 { 01297 uint32_t flavor; 01298 union 01299 { 01300 rpcsec_gss_info flavor_info; 01301 } secinfo4_u; 01302 }; 01303 typedef struct secinfo4 secinfo4; 01304 01305 typedef struct 01306 { 01307 u_int SECINFO4resok_len; 01308 secinfo4 *SECINFO4resok_val; 01309 } SECINFO4resok; 01310 01311 struct SECINFO4res 01312 { 01313 nfsstat4 status; 01314 union 01315 { 01316 SECINFO4resok resok4; 01317 } SECINFO4res_u; 01318 }; 01319 typedef struct SECINFO4res SECINFO4res; 01320 01321 struct SETATTR4args 01322 { 01323 stateid4 stateid; 01324 fattr4 obj_attributes; 01325 }; 01326 typedef struct SETATTR4args SETATTR4args; 01327 01328 struct SETATTR4res 01329 { 01330 nfsstat4 status; 01331 bitmap4 attrsset; 01332 }; 01333 typedef struct SETATTR4res SETATTR4res; 01334 01335 struct SETCLIENTID4args 01336 { 01337 nfs_client_id4 client; 01338 cb_client4 callback; 01339 uint32_t callback_ident; 01340 }; 01341 typedef struct SETCLIENTID4args SETCLIENTID4args; 01342 01343 struct SETCLIENTID4resok 01344 { 01345 clientid4 clientid; 01346 verifier4 setclientid_confirm; 01347 }; 01348 typedef struct SETCLIENTID4resok SETCLIENTID4resok; 01349 01350 struct SETCLIENTID4res 01351 { 01352 nfsstat4 status; 01353 union 01354 { 01355 SETCLIENTID4resok resok4; 01356 clientaddr4 client_using; 01357 } SETCLIENTID4res_u; 01358 }; 01359 typedef struct SETCLIENTID4res SETCLIENTID4res; 01360 01361 struct SETCLIENTID_CONFIRM4args 01362 { 01363 clientid4 clientid; 01364 verifier4 setclientid_confirm; 01365 }; 01366 typedef struct SETCLIENTID_CONFIRM4args SETCLIENTID_CONFIRM4args; 01367 01368 struct SETCLIENTID_CONFIRM4res 01369 { 01370 nfsstat4 status; 01371 }; 01372 typedef struct SETCLIENTID_CONFIRM4res SETCLIENTID_CONFIRM4res; 01373 01374 struct VERIFY4args 01375 { 01376 fattr4 obj_attributes; 01377 }; 01378 typedef struct VERIFY4args VERIFY4args; 01379 01380 struct VERIFY4res 01381 { 01382 nfsstat4 status; 01383 }; 01384 typedef struct VERIFY4res VERIFY4res; 01385 01386 enum stable_how4 01387 { 01388 UNSTABLE4 = 0, 01389 DATA_SYNC4 = 1, 01390 FILE_SYNC4 = 2 01391 }; 01392 typedef enum stable_how4 stable_how4; 01393 01394 struct WRITE4args 01395 { 01396 stateid4 stateid; 01397 offset4 offset; 01398 stable_how4 stable; 01399 struct 01400 { 01401 u_int data_len; 01402 char *data_val; 01403 } data; 01404 }; 01405 typedef struct WRITE4args WRITE4args; 01406 01407 struct WRITE4resok 01408 { 01409 count4 count; 01410 stable_how4 committed; 01411 verifier4 writeverf; 01412 }; 01413 typedef struct WRITE4resok WRITE4resok; 01414 01415 struct WRITE4res 01416 { 01417 nfsstat4 status; 01418 union 01419 { 01420 WRITE4resok resok4; 01421 } WRITE4res_u; 01422 }; 01423 typedef struct WRITE4res WRITE4res; 01424 01425 struct RELEASE_LOCKOWNER4args 01426 { 01427 lock_owner4 lock_owner; 01428 }; 01429 typedef struct RELEASE_LOCKOWNER4args RELEASE_LOCKOWNER4args; 01430 01431 struct RELEASE_LOCKOWNER4res 01432 { 01433 nfsstat4 status; 01434 }; 01435 typedef struct RELEASE_LOCKOWNER4res RELEASE_LOCKOWNER4res; 01436 01437 struct ILLEGAL4res 01438 { 01439 nfsstat4 status; 01440 }; 01441 typedef struct ILLEGAL4res ILLEGAL4res; 01442 01443 enum nfs_opnum4 01444 { 01445 NFS4_OP_ACCESS = 3, 01446 NFS4_OP_CLOSE = 4, 01447 NFS4_OP_COMMIT = 5, 01448 NFS4_OP_CREATE = 6, 01449 NFS4_OP_DELEGPURGE = 7, 01450 NFS4_OP_DELEGRETURN = 8, 01451 NFS4_OP_GETATTR = 9, 01452 NFS4_OP_GETFH = 10, 01453 NFS4_OP_LINK = 11, 01454 NFS4_OP_LOCK = 12, 01455 NFS4_OP_LOCKT = 13, 01456 NFS4_OP_LOCKU = 14, 01457 NFS4_OP_LOOKUP = 15, 01458 NFS4_OP_LOOKUPP = 16, 01459 NFS4_OP_NVERIFY = 17, 01460 NFS4_OP_OPEN = 18, 01461 NFS4_OP_OPENATTR = 19, 01462 NFS4_OP_OPEN_CONFIRM = 20, 01463 NFS4_OP_OPEN_DOWNGRADE = 21, 01464 NFS4_OP_PUTFH = 22, 01465 NFS4_OP_PUTPUBFH = 23, 01466 NFS4_OP_PUTROOTFH = 24, 01467 NFS4_OP_READ = 25, 01468 NFS4_OP_READDIR = 26, 01469 NFS4_OP_READLINK = 27, 01470 NFS4_OP_REMOVE = 28, 01471 NFS4_OP_RENAME = 29, 01472 NFS4_OP_RENEW = 30, 01473 NFS4_OP_RESTOREFH = 31, 01474 NFS4_OP_SAVEFH = 32, 01475 NFS4_OP_SECINFO = 33, 01476 NFS4_OP_SETATTR = 34, 01477 NFS4_OP_SETCLIENTID = 35, 01478 NFS4_OP_SETCLIENTID_CONFIRM = 36, 01479 NFS4_OP_VERIFY = 37, 01480 NFS4_OP_WRITE = 38, 01481 NFS4_OP_RELEASE_LOCKOWNER = 39, 01482 NFS4_OP_ILLEGAL = 10044 01483 }; 01484 typedef enum nfs_opnum4 nfs_opnum4; 01485 01486 struct nfs_argop4 01487 { 01488 nfs_opnum4 argop; 01489 union 01490 { 01491 ACCESS4args opaccess; 01492 CLOSE4args opclose; 01493 COMMIT4args opcommit; 01494 CREATE4args opcreate; 01495 DELEGPURGE4args opdelegpurge; 01496 DELEGRETURN4args opdelegreturn; 01497 GETATTR4args opgetattr; 01498 LINK4args oplink; 01499 LOCK4args oplock; 01500 LOCKT4args oplockt; 01501 LOCKU4args oplocku; 01502 LOOKUP4args oplookup; 01503 NVERIFY4args opnverify; 01504 OPEN4args opopen; 01505 OPENATTR4args opopenattr; 01506 OPEN_CONFIRM4args opopen_confirm; 01507 OPEN_DOWNGRADE4args opopen_downgrade; 01508 PUTFH4args opputfh; 01509 READ4args opread; 01510 READDIR4args opreaddir; 01511 REMOVE4args opremove; 01512 RENAME4args oprename; 01513 RENEW4args oprenew; 01514 SECINFO4args opsecinfo; 01515 SETATTR4args opsetattr; 01516 SETCLIENTID4args opsetclientid; 01517 SETCLIENTID_CONFIRM4args opsetclientid_confirm; 01518 VERIFY4args opverify; 01519 WRITE4args opwrite; 01520 RELEASE_LOCKOWNER4args oprelease_lockowner; 01521 char padding[1024]; 01522 } nfs_argop4_u; 01523 }; 01524 typedef struct nfs_argop4 nfs_argop4; 01525 01526 struct nfs_resop4 01527 { 01528 nfs_opnum4 resop; 01529 union 01530 { 01531 ACCESS4res opaccess; 01532 CLOSE4res opclose; 01533 COMMIT4res opcommit; 01534 CREATE4res opcreate; 01535 DELEGPURGE4res opdelegpurge; 01536 DELEGRETURN4res opdelegreturn; 01537 GETATTR4res opgetattr; 01538 GETFH4res opgetfh; 01539 LINK4res oplink; 01540 LOCK4res oplock; 01541 LOCKT4res oplockt; 01542 LOCKU4res oplocku; 01543 LOOKUP4res oplookup; 01544 LOOKUPP4res oplookupp; 01545 NVERIFY4res opnverify; 01546 OPEN4res opopen; 01547 OPENATTR4res opopenattr; 01548 OPEN_CONFIRM4res opopen_confirm; 01549 OPEN_DOWNGRADE4res opopen_downgrade; 01550 PUTFH4res opputfh; 01551 PUTPUBFH4res opputpubfh; 01552 PUTROOTFH4res opputrootfh; 01553 READ4res opread; 01554 READDIR4res opreaddir; 01555 READLINK4res opreadlink; 01556 REMOVE4res opremove; 01557 RENAME4res oprename; 01558 RENEW4res oprenew; 01559 RESTOREFH4res oprestorefh; 01560 SAVEFH4res opsavefh; 01561 SECINFO4res opsecinfo; 01562 SETATTR4res opsetattr; 01563 SETCLIENTID4res opsetclientid; 01564 SETCLIENTID_CONFIRM4res opsetclientid_confirm; 01565 VERIFY4res opverify; 01566 WRITE4res opwrite; 01567 RELEASE_LOCKOWNER4res oprelease_lockowner; 01568 ILLEGAL4res opillegal; 01569 } nfs_resop4_u; 01570 }; 01571 typedef struct nfs_resop4 nfs_resop4; 01572 01573 struct COMPOUND4args 01574 { 01575 utf8str_cs tag; 01576 uint32_t minorversion; 01577 struct 01578 { 01579 u_int argarray_len; 01580 nfs_argop4 *argarray_val; 01581 } argarray; 01582 }; 01583 typedef struct COMPOUND4args COMPOUND4args; 01584 01585 struct COMPOUND4res 01586 { 01587 nfsstat4 status; 01588 utf8str_cs tag; 01589 struct 01590 { 01591 u_int resarray_len; 01592 nfs_resop4 *resarray_val; 01593 } resarray; 01594 }; 01595 typedef struct COMPOUND4res COMPOUND4res; 01596 01597 struct CB_GETATTR4args 01598 { 01599 nfs_fh4 fh; 01600 bitmap4 attr_request; 01601 }; 01602 typedef struct CB_GETATTR4args CB_GETATTR4args; 01603 01604 struct CB_GETATTR4resok 01605 { 01606 fattr4 obj_attributes; 01607 }; 01608 typedef struct CB_GETATTR4resok CB_GETATTR4resok; 01609 01610 struct CB_GETATTR4res 01611 { 01612 nfsstat4 status; 01613 union 01614 { 01615 CB_GETATTR4resok resok4; 01616 } CB_GETATTR4res_u; 01617 }; 01618 typedef struct CB_GETATTR4res CB_GETATTR4res; 01619 01620 struct CB_RECALL4args 01621 { 01622 stateid4 stateid; 01623 bool_t truncate; 01624 nfs_fh4 fh; 01625 }; 01626 typedef struct CB_RECALL4args CB_RECALL4args; 01627 01628 struct CB_RECALL4res 01629 { 01630 nfsstat4 status; 01631 }; 01632 typedef struct CB_RECALL4res CB_RECALL4res; 01633 01634 struct CB_ILLEGAL4res 01635 { 01636 nfsstat4 status; 01637 }; 01638 typedef struct CB_ILLEGAL4res CB_ILLEGAL4res; 01639 01640 enum nfs_cb_opnum4 01641 { 01642 NFS4_OP_CB_GETATTR = 3, 01643 NFS4_OP_CB_RECALL = 4, 01644 NFS4_OP_CB_ILLEGAL = 10044 01645 }; 01646 typedef enum nfs_cb_opnum4 nfs_cb_opnum4; 01647 01648 struct nfs_cb_argop4 01649 { 01650 u_int argop; 01651 union 01652 { 01653 CB_GETATTR4args opcbgetattr; 01654 CB_RECALL4args opcbrecall; 01655 } nfs_cb_argop4_u; 01656 }; 01657 typedef struct nfs_cb_argop4 nfs_cb_argop4; 01658 01659 struct nfs_cb_resop4 01660 { 01661 u_int resop; 01662 union 01663 { 01664 CB_GETATTR4res opcbgetattr; 01665 CB_RECALL4res opcbrecall; 01666 CB_ILLEGAL4res opcbillegal; 01667 } nfs_cb_resop4_u; 01668 }; 01669 typedef struct nfs_cb_resop4 nfs_cb_resop4; 01670 01671 struct CB_COMPOUND4args 01672 { 01673 utf8str_cs tag; 01674 uint32_t minorversion; 01675 uint32_t callback_ident; 01676 struct 01677 { 01678 u_int argarray_len; 01679 nfs_cb_argop4 *argarray_val; 01680 } argarray; 01681 }; 01682 typedef struct CB_COMPOUND4args CB_COMPOUND4args; 01683 01684 struct CB_COMPOUND4res 01685 { 01686 nfsstat4 status; 01687 utf8str_cs tag; 01688 struct 01689 { 01690 u_int resarray_len; 01691 nfs_cb_resop4 *resarray_val; 01692 } resarray; 01693 }; 01694 typedef struct CB_COMPOUND4res CB_COMPOUND4res; 01695 01696 #define NFS4_PROGRAM 100003 01697 #define NFS_V4 4 01698 #define NFSPROC4_NULL 0 01699 #define NFSPROC4_COMPOUND 1 01700 01701 #define NFS4_CALLBACK 0x40000000 01702 #define NFS_CB 1 01703 #define CB_NULL 0 01704 #define CB_COMPOUND 1 01705 01706 #ifndef _USE_SWIG 01707 /* the xdr functions */ 01708 extern bool_t xdr_int32_t(); 01709 extern bool_t xdr_uint32_t(); 01710 extern bool_t xdr_int64_t(); 01711 extern bool_t xdr_uint64_t(); 01712 extern bool_t xdr_nfs_ftype4(); 01713 extern bool_t xdr_nfsstat4(); 01714 extern bool_t xdr_bitmap4(); 01715 extern bool_t xdr_offset4(); 01716 extern bool_t xdr_count4(); 01717 extern bool_t xdr_length4(); 01718 extern bool_t xdr_clientid4(); 01719 extern bool_t xdr_seqid4(); 01720 extern bool_t xdr_utf8string(); 01721 extern bool_t xdr_utf8str_cis(); 01722 extern bool_t xdr_utf8str_cs(); 01723 extern bool_t xdr_utf8str_mixed(); 01724 extern bool_t xdr_component4(); 01725 extern bool_t xdr_pathname4(); 01726 extern bool_t xdr_nfs_lockid4(); 01727 extern bool_t xdr_nfs_cookie4(); 01728 extern bool_t xdr_linktext4(); 01729 extern bool_t xdr_sec_oid4(); 01730 extern bool_t xdr_qop4(); 01731 extern bool_t xdr_mode4(); 01732 extern bool_t xdr_changeid4(); 01733 extern bool_t xdr_verifier4(); 01734 extern bool_t xdr_nfstime4(); 01735 extern bool_t xdr_time_how4(); 01736 extern bool_t xdr_settime4(); 01737 extern bool_t xdr_nfs_fh4(); 01738 extern bool_t xdr_fsid4(); 01739 extern bool_t xdr_fs_location4(); 01740 extern bool_t xdr_fs_locations4(); 01741 extern bool_t xdr_acetype4(); 01742 extern bool_t xdr_aceflag4(); 01743 extern bool_t xdr_acemask4(); 01744 extern bool_t xdr_nfsace4(); 01745 extern bool_t xdr_specdata4(); 01746 extern bool_t xdr_fattr4_supported_attrs(); 01747 extern bool_t xdr_fattr4_type(); 01748 extern bool_t xdr_fattr4_fh_expire_type(); 01749 extern bool_t xdr_fattr4_change(); 01750 extern bool_t xdr_fattr4_size(); 01751 extern bool_t xdr_fattr4_link_support(); 01752 extern bool_t xdr_fattr4_symlink_support(); 01753 extern bool_t xdr_fattr4_named_attr(); 01754 extern bool_t xdr_fattr4_fsid(); 01755 extern bool_t xdr_fattr4_unique_handles(); 01756 extern bool_t xdr_fattr4_lease_time(); 01757 extern bool_t xdr_fattr4_rdattr_error(); 01758 extern bool_t xdr_fattr4_acl(); 01759 extern bool_t xdr_fattr4_aclsupport(); 01760 extern bool_t xdr_fattr4_archive(); 01761 extern bool_t xdr_fattr4_cansettime(); 01762 extern bool_t xdr_fattr4_case_insensitive(); 01763 extern bool_t xdr_fattr4_case_preserving(); 01764 extern bool_t xdr_fattr4_chown_restricted(); 01765 extern bool_t xdr_fattr4_fileid(); 01766 extern bool_t xdr_fattr4_files_avail(); 01767 extern bool_t xdr_fattr4_filehandle(); 01768 extern bool_t xdr_fattr4_files_free(); 01769 extern bool_t xdr_fattr4_files_total(); 01770 extern bool_t xdr_fattr4_fs_locations(); 01771 extern bool_t xdr_fattr4_hidden(); 01772 extern bool_t xdr_fattr4_homogeneous(); 01773 extern bool_t xdr_fattr4_maxfilesize(); 01774 extern bool_t xdr_fattr4_maxlink(); 01775 extern bool_t xdr_fattr4_maxname(); 01776 extern bool_t xdr_fattr4_maxread(); 01777 extern bool_t xdr_fattr4_maxwrite(); 01778 extern bool_t xdr_fattr4_mimetype(); 01779 extern bool_t xdr_fattr4_mode(); 01780 extern bool_t xdr_fattr4_mounted_on_fileid(); 01781 extern bool_t xdr_fattr4_no_trunc(); 01782 extern bool_t xdr_fattr4_numlinks(); 01783 extern bool_t xdr_fattr4_owner(); 01784 extern bool_t xdr_fattr4_owner_group(); 01785 extern bool_t xdr_fattr4_quota_avail_hard(); 01786 extern bool_t xdr_fattr4_quota_avail_soft(); 01787 extern bool_t xdr_fattr4_quota_used(); 01788 extern bool_t xdr_fattr4_rawdev(); 01789 extern bool_t xdr_fattr4_space_avail(); 01790 extern bool_t xdr_fattr4_space_free(); 01791 extern bool_t xdr_fattr4_space_total(); 01792 extern bool_t xdr_fattr4_space_used(); 01793 extern bool_t xdr_fattr4_system(); 01794 extern bool_t xdr_fattr4_time_access(); 01795 extern bool_t xdr_fattr4_time_access_set(); 01796 extern bool_t xdr_fattr4_time_backup(); 01797 extern bool_t xdr_fattr4_time_create(); 01798 extern bool_t xdr_fattr4_time_delta(); 01799 extern bool_t xdr_fattr4_time_metadata(); 01800 extern bool_t xdr_fattr4_time_modify(); 01801 extern bool_t xdr_fattr4_time_modify_set(); 01802 extern bool_t xdr_attrlist4(); 01803 extern bool_t xdr_fattr4(); 01804 extern bool_t xdr_change_info4(); 01805 extern bool_t xdr_clientaddr4(); 01806 extern bool_t xdr_cb_client4(); 01807 extern bool_t xdr_stateid4(); 01808 extern bool_t xdr_nfs_client_id4(); 01809 extern bool_t xdr_open_owner4(); 01810 extern bool_t xdr_lock_owner4(); 01811 extern bool_t xdr_nfs_lock_type4(); 01812 extern bool_t xdr_ACCESS4args(); 01813 extern bool_t xdr_ACCESS4resok(); 01814 extern bool_t xdr_ACCESS4res(); 01815 extern bool_t xdr_CLOSE4args(); 01816 extern bool_t xdr_CLOSE4res(); 01817 extern bool_t xdr_COMMIT4args(); 01818 extern bool_t xdr_COMMIT4resok(); 01819 extern bool_t xdr_COMMIT4res(); 01820 extern bool_t xdr_createtype4(); 01821 extern bool_t xdr_CREATE4args(); 01822 extern bool_t xdr_CREATE4resok(); 01823 extern bool_t xdr_CREATE4res(); 01824 extern bool_t xdr_DELEGPURGE4args(); 01825 extern bool_t xdr_DELEGPURGE4res(); 01826 extern bool_t xdr_DELEGRETURN4args(); 01827 extern bool_t xdr_DELEGRETURN4res(); 01828 extern bool_t xdr_GETATTR4args(); 01829 extern bool_t xdr_GETATTR4resok(); 01830 extern bool_t xdr_GETATTR4res(); 01831 extern bool_t xdr_GETFH4resok(); 01832 extern bool_t xdr_GETFH4res(); 01833 extern bool_t xdr_LINK4args(); 01834 extern bool_t xdr_LINK4resok(); 01835 extern bool_t xdr_LINK4res(); 01836 extern bool_t xdr_open_to_lock_owner4(); 01837 extern bool_t xdr_exist_lock_owner4(); 01838 extern bool_t xdr_locker4(); 01839 extern bool_t xdr_LOCK4args(); 01840 extern bool_t xdr_LOCK4denied(); 01841 extern bool_t xdr_LOCK4resok(); 01842 extern bool_t xdr_LOCK4res(); 01843 extern bool_t xdr_LOCKT4args(); 01844 extern bool_t xdr_LOCKT4res(); 01845 extern bool_t xdr_LOCKU4args(); 01846 extern bool_t xdr_LOCKU4res(); 01847 extern bool_t xdr_LOOKUP4args(); 01848 extern bool_t xdr_LOOKUP4res(); 01849 extern bool_t xdr_LOOKUPP4res(); 01850 extern bool_t xdr_NVERIFY4args(); 01851 extern bool_t xdr_NVERIFY4res(); 01852 extern bool_t xdr_createmode4(); 01853 extern bool_t xdr_createhow4(); 01854 extern bool_t xdr_opentype4(); 01855 extern bool_t xdr_openflag4(); 01856 extern bool_t xdr_limit_by4(); 01857 extern bool_t xdr_nfs_modified_limit4(); 01858 extern bool_t xdr_nfs_space_limit4(); 01859 extern bool_t xdr_open_delegation_type4(); 01860 extern bool_t xdr_open_claim_type4(); 01861 extern bool_t xdr_open_claim_delegate_cur4(); 01862 extern bool_t xdr_open_claim4(); 01863 extern bool_t xdr_OPEN4args(); 01864 extern bool_t xdr_open_read_delegation4(); 01865 extern bool_t xdr_open_write_delegation4(); 01866 extern bool_t xdr_open_delegation4(); 01867 extern bool_t xdr_OPEN4resok(); 01868 extern bool_t xdr_OPEN4res(); 01869 extern bool_t xdr_OPENATTR4args(); 01870 extern bool_t xdr_OPENATTR4res(); 01871 extern bool_t xdr_OPEN_CONFIRM4args(); 01872 extern bool_t xdr_OPEN_CONFIRM4resok(); 01873 extern bool_t xdr_OPEN_CONFIRM4res(); 01874 extern bool_t xdr_OPEN_DOWNGRADE4args(); 01875 extern bool_t xdr_OPEN_DOWNGRADE4resok(); 01876 extern bool_t xdr_OPEN_DOWNGRADE4res(); 01877 extern bool_t xdr_PUTFH4args(); 01878 extern bool_t xdr_PUTFH4res(); 01879 extern bool_t xdr_PUTPUBFH4res(); 01880 extern bool_t xdr_PUTROOTFH4res(); 01881 extern bool_t xdr_READ4args(); 01882 extern bool_t xdr_READ4resok(); 01883 extern bool_t xdr_READ4res(); 01884 extern bool_t xdr_READDIR4args(); 01885 extern bool_t xdr_entry4(); 01886 extern bool_t xdr_dirlist4(); 01887 extern bool_t xdr_READDIR4resok(); 01888 extern bool_t xdr_READDIR4res(); 01889 extern bool_t xdr_READLINK4resok(); 01890 extern bool_t xdr_READLINK4res(); 01891 extern bool_t xdr_REMOVE4args(); 01892 extern bool_t xdr_REMOVE4resok(); 01893 extern bool_t xdr_REMOVE4res(); 01894 extern bool_t xdr_RENAME4args(); 01895 extern bool_t xdr_RENAME4resok(); 01896 extern bool_t xdr_RENAME4res(); 01897 extern bool_t xdr_RENEW4args(); 01898 extern bool_t xdr_RENEW4res(); 01899 extern bool_t xdr_RESTOREFH4res(); 01900 extern bool_t xdr_SAVEFH4res(); 01901 extern bool_t xdr_SECINFO4args(); 01902 extern bool_t xdr_rpc_gss_svc_t(); 01903 extern bool_t xdr_rpcsec_gss_info(); 01904 extern bool_t xdr_secinfo4(); 01905 extern bool_t xdr_SECINFO4resok(); 01906 extern bool_t xdr_SECINFO4res(); 01907 extern bool_t xdr_SETATTR4args(); 01908 extern bool_t xdr_SETATTR4res(); 01909 extern bool_t xdr_SETCLIENTID4args(); 01910 extern bool_t xdr_SETCLIENTID4resok(); 01911 extern bool_t xdr_SETCLIENTID4res(); 01912 extern bool_t xdr_SETCLIENTID_CONFIRM4args(); 01913 extern bool_t xdr_SETCLIENTID_CONFIRM4res(); 01914 extern bool_t xdr_VERIFY4args(); 01915 extern bool_t xdr_VERIFY4res(); 01916 extern bool_t xdr_stable_how4(); 01917 extern bool_t xdr_WRITE4args(); 01918 extern bool_t xdr_WRITE4resok(); 01919 extern bool_t xdr_WRITE4res(); 01920 extern bool_t xdr_RELEASE_LOCKOWNER4args(); 01921 extern bool_t xdr_RELEASE_LOCKOWNER4res(); 01922 extern bool_t xdr_ILLEGAL4res(); 01923 extern bool_t xdr_nfs_opnum4(); 01924 extern bool_t xdr_nfs_argop4(); 01925 extern bool_t xdr_nfs_resop4(); 01926 extern bool_t xdr_COMPOUND4args(); 01927 extern bool_t xdr_COMPOUND4res(); 01928 extern bool_t xdr_CB_GETATTR4args(); 01929 extern bool_t xdr_CB_GETATTR4resok(); 01930 extern bool_t xdr_CB_GETATTR4res(); 01931 extern bool_t xdr_CB_RECALL4args(); 01932 extern bool_t xdr_CB_RECALL4res(); 01933 extern bool_t xdr_CB_ILLEGAL4res(); 01934 extern bool_t xdr_nfs_cb_opnum4(); 01935 extern bool_t xdr_nfs_cb_argop4(); 01936 extern bool_t xdr_nfs_cb_resop4(); 01937 extern bool_t xdr_CB_COMPOUND4args(); 01938 extern bool_t xdr_CB_COMPOUND4res(); 01939 #endif /* SWIG */ 01940 01941 #endif /* !_NFS4_H_RPCGEN */