// Code generated by goxdr -B -p nfs4 nfs4/nfs4.x; DO NOT EDIT. package internal import( "bytes" "context" "encoding/binary" "fmt" "io" "math" "strings" ) var _ = fmt.Sprintf var _ context.Context // // Data types defined in XDR file // /* * Sizes */ const NFS4_FHSIZE = 128 const NFS4_VERIFIER_SIZE = 8 const NFS4_OPAQUE_LIMIT = 1024 const NFS4_SESSIONID_SIZE = 16 /* * File types */ type Nfs_ftype4 int32 const ( /* Regular File */ NF4REG Nfs_ftype4 = 1 /* Directory */ NF4DIR Nfs_ftype4 = 2 /* Special File - block device */ NF4BLK Nfs_ftype4 = 3 /* Special File - character device */ NF4CHR Nfs_ftype4 = 4 /* Symbolic Link */ NF4LNK Nfs_ftype4 = 5 /* Special File - socket */ NF4SOCK Nfs_ftype4 = 6 /* Special File - fifo */ NF4FIFO Nfs_ftype4 = 7 /* Attribute Directory */ NF4ATTRDIR Nfs_ftype4 = 8 /* Named Attribute */ NF4NAMEDATTR Nfs_ftype4 = 9 ) /* * Error status */ type Nfsstat4 int32 const ( /* everything is okay */ NFS4_OK Nfsstat4 = 0 /* caller not privileged */ NFS4ERR_PERM Nfsstat4 = 1 /* no such file/directory */ NFS4ERR_NOENT Nfsstat4 = 2 /* hard I/O error */ NFS4ERR_IO Nfsstat4 = 5 /* no such device */ NFS4ERR_NXIO Nfsstat4 = 6 /* access denied */ NFS4ERR_ACCESS Nfsstat4 = 13 /* file already exists */ NFS4ERR_EXIST Nfsstat4 = 17 /* different filesystems */ NFS4ERR_XDEV Nfsstat4 = 18 /* should be a directory */ NFS4ERR_NOTDIR Nfsstat4 = 20 /* should not be directory */ NFS4ERR_ISDIR Nfsstat4 = 21 /* invalid argument */ NFS4ERR_INVAL Nfsstat4 = 22 /* file exceeds server max */ NFS4ERR_FBIG Nfsstat4 = 27 /* no space on filesystem */ NFS4ERR_NOSPC Nfsstat4 = 28 /* read-only filesystem */ NFS4ERR_ROFS Nfsstat4 = 30 /* too many hard links */ NFS4ERR_MLINK Nfsstat4 = 31 /* name exceeds server max */ NFS4ERR_NAMETOOLONG Nfsstat4 = 63 /* directory not empty */ NFS4ERR_NOTEMPTY Nfsstat4 = 66 /* hard quota limit reached*/ NFS4ERR_DQUOT Nfsstat4 = 69 /* file no longer exists */ NFS4ERR_STALE Nfsstat4 = 70 /* Illegal filehandle */ NFS4ERR_BADHANDLE Nfsstat4 = 10001 /* READDIR cookie is stale */ NFS4ERR_BAD_COOKIE Nfsstat4 = 10003 /* operation not supported */ NFS4ERR_NOTSUPP Nfsstat4 = 10004 /* response limit exceeded */ NFS4ERR_TOOSMALL Nfsstat4 = 10005 /* undefined server error */ NFS4ERR_SERVERFAULT Nfsstat4 = 10006 /* type invalid for CREATE */ NFS4ERR_BADTYPE Nfsstat4 = 10007 /* file "busy" - retry */ NFS4ERR_DELAY Nfsstat4 = 10008 /* nverify says attrs same */ NFS4ERR_SAME Nfsstat4 = 10009 /* lock unavailable */ NFS4ERR_DENIED Nfsstat4 = 10010 /* lock lease expired */ NFS4ERR_EXPIRED Nfsstat4 = 10011 /* I/O failed due to lock */ NFS4ERR_LOCKED Nfsstat4 = 10012 /* in grace period */ NFS4ERR_GRACE Nfsstat4 = 10013 /* filehandle expired */ NFS4ERR_FHEXPIRED Nfsstat4 = 10014 /* share reserve denied */ NFS4ERR_SHARE_DENIED Nfsstat4 = 10015 /* wrong security flavor */ NFS4ERR_WRONGSEC Nfsstat4 = 10016 /* clientid in use */ NFS4ERR_CLID_INUSE Nfsstat4 = 10017 /* resource exhaustion */ NFS4ERR_RESOURCE Nfsstat4 = 10018 /* filesystem relocated */ NFS4ERR_MOVED Nfsstat4 = 10019 /* current FH is not set */ NFS4ERR_NOFILEHANDLE Nfsstat4 = 10020 /* minor vers not supp */ NFS4ERR_MINOR_VERS_MISMATCH Nfsstat4 = 10021 /* server has rebooted */ NFS4ERR_STALE_CLIENTID Nfsstat4 = 10022 /* server has rebooted */ NFS4ERR_STALE_STATEID Nfsstat4 = 10023 /* state is out of sync */ NFS4ERR_OLD_STATEID Nfsstat4 = 10024 /* incorrect stateid */ NFS4ERR_BAD_STATEID Nfsstat4 = 10025 /* request is out of seq. */ NFS4ERR_BAD_SEQID Nfsstat4 = 10026 /* verify - attrs not same */ NFS4ERR_NOT_SAME Nfsstat4 = 10027 /* lock range not supported*/ NFS4ERR_LOCK_RANGE Nfsstat4 = 10028 /* should be file/directory*/ NFS4ERR_SYMLINK Nfsstat4 = 10029 /* no saved filehandle */ NFS4ERR_RESTOREFH Nfsstat4 = 10030 /* some filesystem moved */ NFS4ERR_LEASE_MOVED Nfsstat4 = 10031 /* recommended attr not sup*/ NFS4ERR_ATTRNOTSUPP Nfsstat4 = 10032 /* reclaim outside of grace*/ NFS4ERR_NO_GRACE Nfsstat4 = 10033 /* reclaim error at server */ NFS4ERR_RECLAIM_BAD Nfsstat4 = 10034 /* conflict on reclaim */ NFS4ERR_RECLAIM_CONFLICT Nfsstat4 = 10035 /* XDR decode failed */ NFS4ERR_BADXDR Nfsstat4 = 10036 /* file locks held at CLOSE*/ NFS4ERR_LOCKS_HELD Nfsstat4 = 10037 /* conflict in OPEN and I/O*/ NFS4ERR_OPENMODE Nfsstat4 = 10038 /* owner translation bad */ NFS4ERR_BADOWNER Nfsstat4 = 10039 /* utf-8 char not supported*/ NFS4ERR_BADCHAR Nfsstat4 = 10040 /* name not supported */ NFS4ERR_BADNAME Nfsstat4 = 10041 /* lock range not supported*/ NFS4ERR_BAD_RANGE Nfsstat4 = 10042 /* no atomic up/downgrade */ NFS4ERR_LOCK_NOTSUPP Nfsstat4 = 10043 /* undefined operation */ NFS4ERR_OP_ILLEGAL Nfsstat4 = 10044 /* file locking deadlock */ NFS4ERR_DEADLOCK Nfsstat4 = 10045 /* open file blocks op. */ NFS4ERR_FILE_OPEN Nfsstat4 = 10046 /* lockowner state revoked */ NFS4ERR_ADMIN_REVOKED Nfsstat4 = 10047 /* callback path down */ NFS4ERR_CB_PATH_DOWN Nfsstat4 = 10048 NFS4ERR_BADIOMODE Nfsstat4 = 10049 NFS4ERR_BADLAYOUT Nfsstat4 = 10050 NFS4ERR_BAD_SESSION_DIGEST Nfsstat4 = 10051 NFS4ERR_BADSESSION Nfsstat4 = 10052 NFS4ERR_BADSLOT Nfsstat4 = 10053 NFS4ERR_COMPLETE_ALREADY Nfsstat4 = 10054 NFS4ERR_CONN_NOT_BOUND_TO_SESSION Nfsstat4 = 10055 NFS4ERR_DELEG_ALREADY_WANTED Nfsstat4 = 10056 NFS4ERR_BACK_CHAN_BUSY Nfsstat4 = 10057 NFS4ERR_LAYOUTTRYLATER Nfsstat4 = 10058 NFS4ERR_LAYOUTUNAVAILABLE Nfsstat4 = 10059 NFS4ERR_NOMATCHING_LAYOUT Nfsstat4 = 10060 NFS4ERR_RECALLCONFLICT Nfsstat4 = 10061 ) /* * Basic data types */ type Bitmap4 = []Uint32_t type Offset4 = Uint64_t type Count4 = Uint32_t type Length4 = Uint64_t type Clientid4 = Uint64_t type Sequenceid4 = Uint32_t type Seqid4 = Uint32_t type Slotid4 = Uint32_t type Utf8string = []byte type Utf8str_cis = Utf8string type Utf8str_cs = Utf8string type Utf8str_mixed = Utf8string type Component4 = Utf8str_cs type Pathname4 = []Component4 type Nfs_lockid4 = Uint64_t type Nfs_cookie4 = Uint64_t type Linktext4 = Utf8str_cs type Sec_oid4 = []byte type Qop4 = Uint32_t type Mode4 = Uint32_t type Changeid4 = Uint64_t type Verifier4 = [NFS4_VERIFIER_SIZE]byte type Sessionid4 = [NFS4_SESSIONID_SIZE]byte /* * Authsys_parms */ type Authsys_parms struct { Stamp uint32 Machinename string // bound 255 Uid uint32 Gid uint32 Gids []uint32 // bound 16 } const NFS4_DEVICEID4_SIZE = 16 type Deviceid4 = [NFS4_DEVICEID4_SIZE]byte type Layouttype4 int32 const ( LAYOUT4_NFSV4_1_FILES Layouttype4 = Layouttype4(0x1) LAYOUT4_OSD2_OBJECTS Layouttype4 = Layouttype4(0x2) LAYOUT4_BLOCK_VOLUME Layouttype4 = Layouttype4(0x3) ) type Layoutupdate4 struct { Lou_type Layouttype4 Lou_body []byte } type Device_addr4 struct { Da_layout_type Layouttype4 Da_addr_body []byte } /* * Timeval */ type Nfstime4 struct { Seconds Int64_t Nseconds Uint32_t } type Time_how4 int32 const ( SET_TO_SERVER_TIME4 Time_how4 = 0 SET_TO_CLIENT_TIME4 Time_how4 = 1 ) type Layoutiomode4 int32 const ( LAYOUTIOMODE4_READ Layoutiomode4 = 1 LAYOUTIOMODE4_RW Layoutiomode4 = 2 LAYOUTIOMODE4_ANY Layoutiomode4 = 3 ) type Layout_content4 struct { Loc_type Layouttype4 Loc_body []byte } type Layout4 struct { Lo_offset Offset4 Lo_length Length4 Lo_iomode Layoutiomode4 Lo_content Layout_content4 } type Settime4 struct { // The union discriminant Set_it selects among the following arms: // SET_TO_CLIENT_TIME4: // Time() *Nfstime4 // default: // void Set_it Time_how4 U interface{} } /* * File access handle */ type Nfs_fh4 = []byte // bound NFS4_FHSIZE /* * FSID structure for major/minor */ type Fsid4 struct { Major Uint64_t Minor Uint64_t } /* * Filesystem locations attribute for relocation/migration */ type Fs_location4 struct { Server []Utf8str_cis Rootpath Pathname4 } type Fs_locations4 struct { Fs_root Pathname4 Locations []Fs_location4 } /* * Mask that indicates which Access Control Entries are supported. * Values for the fattr4_aclsupport attribute. */ const ACL4_SUPPORT_ALLOW_ACL = 0x00000001 const ACL4_SUPPORT_DENY_ACL = 0x00000002 const ACL4_SUPPORT_AUDIT_ACL = 0x00000004 const ACL4_SUPPORT_ALARM_ACL = 0x00000008 type Acetype4 = Uint32_t /* * acetype4 values, others can be added as needed. */ const ACE4_ACCESS_ALLOWED_ACE_TYPE = 0x00000000 const ACE4_ACCESS_DENIED_ACE_TYPE = 0x00000001 const ACE4_SYSTEM_AUDIT_ACE_TYPE = 0x00000002 const ACE4_SYSTEM_ALARM_ACE_TYPE = 0x00000003 /* * ACE flag */ type Aceflag4 = Uint32_t /* * ACE flag values */ const ACE4_FILE_INHERIT_ACE = 0x00000001 const ACE4_DIRECTORY_INHERIT_ACE = 0x00000002 const ACE4_NO_PROPAGATE_INHERIT_ACE = 0x00000004 const ACE4_INHERIT_ONLY_ACE = 0x00000008 const ACE4_SUCCESSFUL_ACCESS_ACE_FLAG = 0x00000010 const ACE4_FAILED_ACCESS_ACE_FLAG = 0x00000020 const ACE4_IDENTIFIER_GROUP = 0x00000040 /* * ACE mask */ type Acemask4 = Uint32_t /* * ACE mask values */ const ACE4_READ_DATA = 0x00000001 const ACE4_LIST_DIRECTORY = 0x00000001 const ACE4_WRITE_DATA = 0x00000002 const ACE4_ADD_FILE = 0x00000002 const ACE4_APPEND_DATA = 0x00000004 const ACE4_ADD_SUBDIRECTORY = 0x00000004 const ACE4_READ_NAMED_ATTRS = 0x00000008 const ACE4_WRITE_NAMED_ATTRS = 0x00000010 const ACE4_EXECUTE = 0x00000020 const ACE4_DELETE_CHILD = 0x00000040 const ACE4_READ_ATTRIBUTES = 0x00000080 const ACE4_WRITE_ATTRIBUTES = 0x00000100 const ACE4_DELETE = 0x00010000 const ACE4_READ_ACL = 0x00020000 const ACE4_WRITE_ACL = 0x00040000 const ACE4_WRITE_OWNER = 0x00080000 const ACE4_SYNCHRONIZE = 0x00100000 /* * ACE4_GENERIC_READ -- defined as combination of * ACE4_READ_ACL | * ACE4_READ_DATA | * ACE4_READ_ATTRIBUTES | * ACE4_SYNCHRONIZE */ const ACE4_GENERIC_READ = 0x00120081 /* * ACE4_GENERIC_WRITE -- defined as combination of * ACE4_READ_ACL | * ACE4_WRITE_DATA | * ACE4_WRITE_ATTRIBUTES | * ACE4_WRITE_ACL | * ACE4_APPEND_DATA | * ACE4_SYNCHRONIZE */ const ACE4_GENERIC_WRITE = 0x00160106 /* * ACE4_GENERIC_EXECUTE -- defined as combination of * ACE4_READ_ACL * ACE4_READ_ATTRIBUTES * ACE4_EXECUTE * ACE4_SYNCHRONIZE */ const ACE4_GENERIC_EXECUTE = 0x001200A0 /* * Access Control Entry definition */ type Nfsace4 struct { Type Acetype4 Flag Aceflag4 Access_mask Acemask4 Who Utf8str_mixed } /* * Field definitions for the fattr4_mode attribute */ const MODE4_SUID = 0x800 /* set group id on execution */ const MODE4_SGID = 0x400 /* save text even after use */ const MODE4_SVTX = 0x200 /* read permission: owner */ const MODE4_RUSR = 0x100 /* write permission: owner */ const MODE4_WUSR = 0x080 /* execute permission: owner */ const MODE4_XUSR = 0x040 /* read permission: group */ const MODE4_RGRP = 0x020 /* write permission: group */ const MODE4_WGRP = 0x010 /* execute permission: group */ const MODE4_XGRP = 0x008 /* read permission: other */ const MODE4_ROTH = 0x004 /* write permission: other */ const MODE4_WOTH = 0x002 /* execute permission: other */ const MODE4_XOTH = 0x001 /* * Special data/attribute associated with * file types NF4BLK and NF4CHR. */ type Specdata4 struct { /* major device number */ Specdata1 Uint32_t /* minor device number */ Specdata2 Uint32_t } /* * Values for fattr4_fh_expire_type */ const FH4_PERSISTENT = 0x00000000 const FH4_NOEXPIRE_WITH_OPEN = 0x00000001 const FH4_VOLATILE_ANY = 0x00000002 const FH4_VOL_MIGRATION = 0x00000004 const FH4_VOL_RENAME = 0x00000008 type Fattr4_supported_attrs = Bitmap4 type Fattr4_type = Nfs_ftype4 type Fattr4_fh_expire_type = Uint32_t type Fattr4_change = Changeid4 type Fattr4_size = Uint64_t type Fattr4_link_support = bool type Fattr4_symlink_support = bool type Fattr4_named_attr = bool type Fattr4_fsid = Fsid4 type Fattr4_unique_handles = bool type Fattr4_lease_time = Uint32_t type Fattr4_rdattr_error = Nfsstat4 type Fattr4_acl = []Nfsace4 type Fattr4_aclsupport = Uint32_t type Fattr4_archive = bool type Fattr4_cansettime = bool type Fattr4_case_insensitive = bool type Fattr4_case_preserving = bool type Fattr4_chown_restricted = bool type Fattr4_fileid = Uint64_t type Fattr4_files_avail = Uint64_t type Fattr4_filehandle = Nfs_fh4 type Fattr4_files_free = Uint64_t type Fattr4_files_total = Uint64_t type Fattr4_fs_locations = Fs_locations4 type Fattr4_hidden = bool type Fattr4_homogeneous = bool type Fattr4_maxfilesize = Uint64_t type Fattr4_maxlink = Uint32_t type Fattr4_maxname = Uint32_t type Fattr4_maxread = Uint64_t type Fattr4_maxwrite = Uint64_t type Fattr4_mimetype = Utf8str_cs type Fattr4_mode = Mode4 type Fattr4_mounted_on_fileid = Uint64_t type Fattr4_no_trunc = bool type Fattr4_numlinks = Uint32_t type Fattr4_owner = Utf8str_mixed type Fattr4_owner_group = Utf8str_mixed type Fattr4_quota_avail_hard = Uint64_t type Fattr4_quota_avail_soft = Uint64_t type Fattr4_quota_used = Uint64_t type Fattr4_rawdev = Specdata4 type Fattr4_space_avail = Uint64_t type Fattr4_space_free = Uint64_t type Fattr4_space_total = Uint64_t type Fattr4_space_used = Uint64_t type Fattr4_system = bool type Fattr4_time_access = Nfstime4 type Fattr4_time_access_set = Settime4 type Fattr4_time_backup = Nfstime4 type Fattr4_time_create = Nfstime4 type Fattr4_time_delta = Nfstime4 type Fattr4_time_metadata = Nfstime4 type Fattr4_time_modify = Nfstime4 type Fattr4_time_modify_set = Settime4 /* * Mandatory Attributes */ const FATTR4_SUPPORTED_ATTRS = 0 const FATTR4_TYPE = 1 const FATTR4_FH_EXPIRE_TYPE = 2 const FATTR4_CHANGE = 3 const FATTR4_SIZE = 4 const FATTR4_LINK_SUPPORT = 5 const FATTR4_SYMLINK_SUPPORT = 6 const FATTR4_NAMED_ATTR = 7 const FATTR4_FSID = 8 const FATTR4_UNIQUE_HANDLES = 9 const FATTR4_LEASE_TIME = 10 const FATTR4_RDATTR_ERROR = 11 const FATTR4_FILEHANDLE = 19 /* * Recommended Attributes */ const FATTR4_ACL = 12 const FATTR4_ACLSUPPORT = 13 const FATTR4_ARCHIVE = 14 const FATTR4_CANSETTIME = 15 const FATTR4_CASE_INSENSITIVE = 16 const FATTR4_CASE_PRESERVING = 17 const FATTR4_CHOWN_RESTRICTED = 18 const FATTR4_FILEID = 20 const FATTR4_FILES_AVAIL = 21 const FATTR4_FILES_FREE = 22 const FATTR4_FILES_TOTAL = 23 const FATTR4_FS_LOCATIONS = 24 const FATTR4_HIDDEN = 25 const FATTR4_HOMOGENEOUS = 26 const FATTR4_MAXFILESIZE = 27 const FATTR4_MAXLINK = 28 const FATTR4_MAXNAME = 29 const FATTR4_MAXREAD = 30 const FATTR4_MAXWRITE = 31 const FATTR4_MIMETYPE = 32 const FATTR4_MODE = 33 const FATTR4_NO_TRUNC = 34 const FATTR4_NUMLINKS = 35 const FATTR4_OWNER = 36 const FATTR4_OWNER_GROUP = 37 const FATTR4_QUOTA_AVAIL_HARD = 38 const FATTR4_QUOTA_AVAIL_SOFT = 39 const FATTR4_QUOTA_USED = 40 const FATTR4_RAWDEV = 41 const FATTR4_SPACE_AVAIL = 42 const FATTR4_SPACE_FREE = 43 const FATTR4_SPACE_TOTAL = 44 const FATTR4_SPACE_USED = 45 const FATTR4_SYSTEM = 46 const FATTR4_TIME_ACCESS = 47 const FATTR4_TIME_ACCESS_SET = 48 const FATTR4_TIME_BACKUP = 49 const FATTR4_TIME_CREATE = 50 const FATTR4_TIME_DELTA = 51 const FATTR4_TIME_METADATA = 52 const FATTR4_TIME_MODIFY = 53 const FATTR4_TIME_MODIFY_SET = 54 const FATTR4_MOUNTED_ON_FILEID = 55 type Attrlist4 = []byte /* * File attribute container */ type Fattr4 struct { Attrmask Bitmap4 Attr_vals Attrlist4 } /* * Change info for the client */ type Change_info4 struct { Atomic bool Before Changeid4 After Changeid4 } type Clientaddr4 struct { /* see struct rpcb in RFC 1833 */ R_netid string /* universal address */ R_addr string } /* * Callback program info as provided by the client */ type Cb_client4 struct { Cb_program Uint32_t Cb_location Clientaddr4 } /* * Stateid */ type Stateid4 struct { Seqid Uint32_t Other [12]byte } /* * Client ID */ type Nfs_client_id4 struct { Verifier Verifier4 Id []byte // bound NFS4_OPAQUE_LIMIT } type Open_owner4 struct { Clientid Clientid4 Owner []byte // bound NFS4_OPAQUE_LIMIT } type Lock_owner4 struct { Clientid Clientid4 Owner []byte // bound NFS4_OPAQUE_LIMIT } type Nfs_lock_type4 int32 const ( READ_LT Nfs_lock_type4 = 1 WRITE_LT Nfs_lock_type4 = 2 /* blocking read */ READW_LT Nfs_lock_type4 = 3 /* blocking write */ WRITEW_LT Nfs_lock_type4 = 4 ) /* * ACCESS: Check access permission */ const ACCESS4_READ = 0x00000001 const ACCESS4_LOOKUP = 0x00000002 const ACCESS4_MODIFY = 0x00000004 const ACCESS4_EXTEND = 0x00000008 const ACCESS4_DELETE = 0x00000010 const ACCESS4_EXECUTE = 0x00000020 type ACCESS4args struct { /* CURRENT_FH: object */ Access Uint32_t } type ACCESS4resok struct { Supported Uint32_t Access Uint32_t } type ACCESS4res struct { // The union discriminant Status selects among the following arms: // NFS4_OK: // Resok4() *ACCESS4resok // default: // void Status Nfsstat4 U interface{} } /* * CLOSE: Close a file and release share reservations */ type CLOSE4args struct { /* CURRENT_FH: object */ Seqid Seqid4 Open_stateid Stateid4 } type CLOSE4res struct { // The union discriminant Status selects among the following arms: // NFS4_OK: // Open_stateid() *Stateid4 // default: // void Status Nfsstat4 U interface{} } /* * COMMIT: Commit cached data on server to stable storage */ type COMMIT4args struct { /* CURRENT_FH: file */ Offset Offset4 Count Count4 } type COMMIT4resok struct { Writeverf Verifier4 } type COMMIT4res struct { // The union discriminant Status selects among the following arms: // NFS4_OK: // Resok4() *COMMIT4resok // default: // void Status Nfsstat4 U interface{} } /* * CREATE: Create a non-regular file */ type Createtype4 struct { // The union discriminant Type selects among the following arms: // NF4LNK: // Linkdata() *Linktext4 // NF4BLK, NF4CHR: // Devdata() *Specdata4 // NF4SOCK, NF4FIFO, NF4DIR: // void // default: // void Type Nfs_ftype4 U interface{} } type CREATE4args struct { /* CURRENT_FH: directory for creation */ Objtype Createtype4 Objname Component4 Createattrs Fattr4 } type CREATE4resok struct { Cinfo Change_info4 /* attributes set */ Attrset Bitmap4 } type CREATE4res struct { // The union discriminant Status selects among the following arms: // NFS4_OK: // Resok4() *CREATE4resok // default: // void Status Nfsstat4 U interface{} } /* * DELEGPURGE: Purge Delegations Awaiting Recovery */ type DELEGPURGE4args struct { Clientid Clientid4 } type DELEGPURGE4res struct { Status Nfsstat4 } /* * DELEGRETURN: Return a delegation */ type DELEGRETURN4args struct { /* CURRENT_FH: delegated file */ Deleg_stateid Stateid4 } type DELEGRETURN4res struct { Status Nfsstat4 } /* * GETATTR: Get file attributes */ type GETATTR4args struct { /* CURRENT_FH: directory or file */ Attr_request Bitmap4 } type GETATTR4resok struct { Obj_attributes Fattr4 } type GETATTR4res struct { // The union discriminant Status selects among the following arms: // NFS4_OK: // Resok4() *GETATTR4resok // default: // void Status Nfsstat4 U interface{} } /* * GETFH: Get current filehandle */ type GETFH4resok struct { Object Nfs_fh4 } type GETFH4res struct { // The union discriminant Status selects among the following arms: // NFS4_OK: // Resok4() *GETFH4resok // default: // void Status Nfsstat4 U interface{} } /* * LINK: Create link to an object */ type LINK4args struct { /* CURRENT_FH: target directory */ Newname Component4 } type LINK4resok struct { Cinfo Change_info4 } type LINK4res struct { // The union discriminant Status selects among the following arms: // NFS4_OK: // Resok4() *LINK4resok // default: // void Status Nfsstat4 U interface{} } /* * For LOCK, transition from open_owner to new lock_owner */ type Open_to_lock_owner4 struct { Open_seqid Seqid4 Open_stateid Stateid4 Lock_seqid Seqid4 Lock_owner Lock_owner4 } /* * For LOCK, existing lock_owner continues to request file locks */ type Exist_lock_owner4 struct { Lock_stateid Stateid4 Lock_seqid Seqid4 } type Locker4 struct { // The union discriminant New_lock_owner selects among the following arms: // true: // Open_owner() *Open_to_lock_owner4 // false: // Lock_owner() *Exist_lock_owner4 New_lock_owner bool U interface{} } /* * LOCK/LOCKT/LOCKU: Record lock management */ type LOCK4args struct { /* CURRENT_FH: file */ Locktype Nfs_lock_type4 Reclaim bool Offset Offset4 Length Length4 Locker Locker4 } type LOCK4denied struct { Offset Offset4 Length Length4 Locktype Nfs_lock_type4 Owner Lock_owner4 } type LOCK4resok struct { Lock_stateid Stateid4 } type LOCK4res struct { // The union discriminant Status selects among the following arms: // NFS4_OK: // Resok4() *LOCK4resok // NFS4ERR_DENIED: // Denied() *LOCK4denied // default: // void Status Nfsstat4 U interface{} } type LOCKT4args struct { /* CURRENT_FH: file */ Locktype Nfs_lock_type4 Offset Offset4 Length Length4 Owner Lock_owner4 } type LOCKT4res struct { // The union discriminant Status selects among the following arms: // NFS4ERR_DENIED: // Denied() *LOCK4denied // NFS4_OK: // void // default: // void Status Nfsstat4 U interface{} } type LOCKU4args struct { /* CURRENT_FH: file */ Locktype Nfs_lock_type4 Seqid Seqid4 Lock_stateid Stateid4 Offset Offset4 Length Length4 } type LOCKU4res struct { // The union discriminant Status selects among the following arms: // NFS4_OK: // Lock_stateid() *Stateid4 // default: // void Status Nfsstat4 U interface{} } /* * LOOKUP: Lookup filename */ type LOOKUP4args struct { /* CURRENT_FH: directory */ Objname Component4 } type LOOKUP4res struct { /* CURRENT_FH: object */ Status Nfsstat4 } /* * LOOKUPP: Lookup parent directory */ type LOOKUPP4res struct { /* CURRENT_FH: directory */ Status Nfsstat4 } /* * NVERIFY: Verify attributes different */ type NVERIFY4args struct { /* CURRENT_FH: object */ Obj_attributes Fattr4 } type NVERIFY4res struct { Status Nfsstat4 } /* * Various definitions for OPEN */ type Createmode4 int32 const ( UNCHECKED4 Createmode4 = 0 GUARDED4 Createmode4 = 1 EXCLUSIVE4 Createmode4 = 2 ) type Createhow4 struct { // The union discriminant Mode selects among the following arms: // UNCHECKED4, GUARDED4: // Createattrs() *Fattr4 // EXCLUSIVE4: // Createverf() *Verifier4 Mode Createmode4 U interface{} } type Opentype4 int32 const ( OPEN4_NOCREATE Opentype4 = 0 OPEN4_CREATE Opentype4 = 1 ) type Openflag4 struct { // The union discriminant Opentype selects among the following arms: // OPEN4_CREATE: // How() *Createhow4 // default: // void Opentype Opentype4 U interface{} } /* Next definitions used for OPEN delegation */ type Limit_by4 int32 const ( NFS_LIMIT_SIZE Limit_by4 = 1 NFS_LIMIT_BLOCKS Limit_by4 = 2 ) type Nfs_modified_limit4 struct { Num_blocks Uint32_t Bytes_per_block Uint32_t } type Nfs_space_limit4 struct { // The union discriminant Limitby selects among the following arms: // NFS_LIMIT_SIZE: // Filesize() *Uint64_t // NFS_LIMIT_BLOCKS: // Mod_blocks() *Nfs_modified_limit4 Limitby Limit_by4 U interface{} } /* * Share Access and Deny constants for open argument */ const OPEN4_SHARE_ACCESS_READ = 0x00000001 const OPEN4_SHARE_ACCESS_WRITE = 0x00000002 const OPEN4_SHARE_ACCESS_BOTH = 0x00000003 const OPEN4_SHARE_DENY_NONE = 0x00000000 const OPEN4_SHARE_DENY_READ = 0x00000001 const OPEN4_SHARE_DENY_WRITE = 0x00000002 const OPEN4_SHARE_DENY_BOTH = 0x00000003 type Open_delegation_type4 int32 const ( OPEN_DELEGATE_NONE Open_delegation_type4 = 0 OPEN_DELEGATE_READ Open_delegation_type4 = 1 OPEN_DELEGATE_WRITE Open_delegation_type4 = 2 ) type Open_claim_type4 int32 const ( CLAIM_NULL Open_claim_type4 = 0 CLAIM_PREVIOUS Open_claim_type4 = 1 CLAIM_DELEGATE_CUR Open_claim_type4 = 2 CLAIM_DELEGATE_PREV Open_claim_type4 = 3 /* new to v4.1 */ CLAIM_FH Open_claim_type4 = 4 /* new to v4.1 */ CLAIM_DELEG_CUR_FH Open_claim_type4 = 5 /* new to v4.1 */ CLAIM_DELEG_PREV_FH Open_claim_type4 = 6 ) type Open_claim_delegate_cur4 struct { Delegate_stateid Stateid4 File Component4 } type Open_claim4 struct { // The union discriminant Claim selects among the following arms: // CLAIM_NULL: // File() *Component4 // CLAIM_PREVIOUS: // Delegate_type() *Open_delegation_type4 // CLAIM_DELEGATE_CUR: // Delegate_cur_info() *Open_claim_delegate_cur4 // CLAIM_DELEGATE_PREV: // File_delegate_prev() *Component4 Claim Open_claim_type4 U interface{} } /* * OPEN: Open a file, potentially receiving an open delegation */ type OPEN4args struct { Seqid Seqid4 Share_access Uint32_t Share_deny Uint32_t Owner Open_owner4 Openhow Openflag4 Claim Open_claim4 } type Open_read_delegation4 struct { /* Stateid for delegation*/ Stateid Stateid4 Recall bool Permissions Nfsace4 } type Open_write_delegation4 struct { /* Stateid for delegation */ Stateid Stateid4 Recall bool Space_limit Nfs_space_limit4 Permissions Nfsace4 } type Open_delegation4 struct { // The union discriminant Delegation_type selects among the following arms: // OPEN_DELEGATE_NONE: // void // OPEN_DELEGATE_READ: // Read() *Open_read_delegation4 // OPEN_DELEGATE_WRITE: // Write() *Open_write_delegation4 Delegation_type Open_delegation_type4 U interface{} } /* Client must confirm open */ const OPEN4_RESULT_CONFIRM = 0x00000002 /* Type of file locking behavior at the server */ const OPEN4_RESULT_LOCKTYPE_POSIX = 0x00000004 type OPEN4resok struct { /* Stateid for open */ Stateid Stateid4 /* Directory Change Info */ Cinfo Change_info4 /* Result flags */ Rflags Uint32_t /* attribute set for create*/ Attrset Bitmap4 Delegation Open_delegation4 } type OPEN4res struct { // The union discriminant Status selects among the following arms: // NFS4_OK: // Resok4() *OPEN4resok // default: // void Status Nfsstat4 U interface{} } /* * OPENATTR: open named attributes directory */ type OPENATTR4args struct { /* CURRENT_FH: object */ Createdir bool } type OPENATTR4res struct { /* CURRENT_FH: named attr directory */ Status Nfsstat4 } /* * OPEN_CONFIRM: confirm the open */ type OPEN_CONFIRM4args struct { /* CURRENT_FH: opened file */ Open_stateid Stateid4 Seqid Seqid4 } type OPEN_CONFIRM4resok struct { Open_stateid Stateid4 } type OPEN_CONFIRM4res struct { // The union discriminant Status selects among the following arms: // NFS4_OK: // Resok4() *OPEN_CONFIRM4resok // default: // void Status Nfsstat4 U interface{} } /* * OPEN_DOWNGRADE: downgrade the access/deny for a file */ type OPEN_DOWNGRADE4args struct { /* CURRENT_FH: opened file */ Open_stateid Stateid4 Seqid Seqid4 Share_access Uint32_t Share_deny Uint32_t } type OPEN_DOWNGRADE4resok struct { Open_stateid Stateid4 } type OPEN_DOWNGRADE4res struct { // The union discriminant Status selects among the following arms: // NFS4_OK: // Resok4() *OPEN_DOWNGRADE4resok // default: // void Status Nfsstat4 U interface{} } /* * PUTFH: Set current filehandle */ type PUTFH4args struct { Object Nfs_fh4 } type PUTFH4res struct { /* CURRENT_FH: */ Status Nfsstat4 } /* * PUTPUBFH: Set public filehandle */ type PUTPUBFH4res struct { /* CURRENT_FH: public fh */ Status Nfsstat4 } /* * PUTROOTFH: Set root filehandle */ type PUTROOTFH4res struct { /* CURRENT_FH: root fh */ Status Nfsstat4 } /* * READ: Read from file */ type READ4args struct { /* CURRENT_FH: file */ Stateid Stateid4 Offset Offset4 Count Count4 } type READ4resok struct { Eof bool Data []byte } type READ4res struct { // The union discriminant Status selects among the following arms: // NFS4_OK: // Resok4() *READ4resok // default: // void Status Nfsstat4 U interface{} } /* * READDIR: Read directory */ type READDIR4args struct { /* CURRENT_FH: directory */ Cookie Nfs_cookie4 Cookieverf Verifier4 Dircount Count4 Maxcount Count4 Attr_request Bitmap4 } type Entry4 struct { Cookie Nfs_cookie4 Name Component4 Attrs Fattr4 Nextentry *Entry4 } type Dirlist4 struct { Entries *Entry4 Eof bool } type READDIR4resok struct { Cookieverf Verifier4 Reply Dirlist4 } type READDIR4res struct { // The union discriminant Status selects among the following arms: // NFS4_OK: // Resok4() *READDIR4resok // default: // void Status Nfsstat4 U interface{} } /* * READLINK: Read symbolic link */ type READLINK4resok struct { Link Linktext4 } type READLINK4res struct { // The union discriminant Status selects among the following arms: // NFS4_OK: // Resok4() *READLINK4resok // default: // void Status Nfsstat4 U interface{} } /* * REMOVE: Remove filesystem object */ type REMOVE4args struct { /* CURRENT_FH: directory */ Target Component4 } type REMOVE4resok struct { Cinfo Change_info4 } type REMOVE4res struct { // The union discriminant Status selects among the following arms: // NFS4_OK: // Resok4() *REMOVE4resok // default: // void Status Nfsstat4 U interface{} } /* * RENAME: Rename directory entry */ type RENAME4args struct { /* SAVED_FH: source directory */ Oldname Component4 Newname Component4 } type RENAME4resok struct { Source_cinfo Change_info4 Target_cinfo Change_info4 } type RENAME4res struct { // The union discriminant Status selects among the following arms: // NFS4_OK: // Resok4() *RENAME4resok // default: // void Status Nfsstat4 U interface{} } /* * RENEW: Renew a Lease */ type RENEW4args struct { Clientid Clientid4 } type RENEW4res struct { Status Nfsstat4 } type RESTOREFH4res struct { /* CURRENT_FH: value of saved fh */ Status Nfsstat4 } /* * SAVEFH: Save current filehandle */ type SAVEFH4res struct { /* SAVED_FH: value of current fh */ Status Nfsstat4 } /* * SECINFO: Obtain Available Security Mechanisms */ type SECINFO4args struct { Name Component4 } type Rpc_gss_svc_t int32 const ( RPC_GSS_SVC_NONE Rpc_gss_svc_t = 1 RPC_GSS_SVC_INTEGRITY Rpc_gss_svc_t = 2 RPC_GSS_SVC_PRIVACY Rpc_gss_svc_t = 3 ) type Rpcsec_gss_info struct { Oid Sec_oid4 Qop Qop4 Service Rpc_gss_svc_t } const RPCSEC_GSS = 6 type Secinfo4 struct { // The union discriminant Flavor selects among the following arms: // RPCSEC_GSS: // Flavor_info() *Rpcsec_gss_info // default: // void Flavor Uint32_t U interface{} } type SECINFO4resok = []Secinfo4 type SECINFO4res struct { // The union discriminant Status selects among the following arms: // NFS4_OK: // Resok4() *SECINFO4resok // default: // void Status Nfsstat4 U interface{} } /* * SETATTR: Set attributes */ type SETATTR4args struct { /* CURRENT_FH: target object */ Stateid Stateid4 Obj_attributes Fattr4 } type SETATTR4res struct { Status Nfsstat4 Attrsset Bitmap4 } /* * SETCLIENTID */ type SETCLIENTID4args struct { Client Nfs_client_id4 Callback Cb_client4 Callback_ident Uint32_t } type SETCLIENTID4resok struct { Clientid Clientid4 Setclientid_confirm Verifier4 } type SETCLIENTID4res struct { // The union discriminant Status selects among the following arms: // NFS4_OK: // Resok4() *SETCLIENTID4resok // NFS4ERR_CLID_INUSE: // Client_using() *Clientaddr4 // default: // void Status Nfsstat4 U interface{} } type SETCLIENTID_CONFIRM4args struct { Clientid Clientid4 Setclientid_confirm Verifier4 } type SETCLIENTID_CONFIRM4res struct { Status Nfsstat4 } /* * VERIFY: Verify attributes same */ type VERIFY4args struct { /* CURRENT_FH: object */ Obj_attributes Fattr4 } type VERIFY4res struct { Status Nfsstat4 } /* * WRITE: Write to file */ type Stable_how4 int32 const ( UNSTABLE4 Stable_how4 = 0 DATA_SYNC4 Stable_how4 = 1 FILE_SYNC4 Stable_how4 = 2 ) type WRITE4args struct { /* CURRENT_FH: file */ Stateid Stateid4 Offset Offset4 Stable Stable_how4 Data []byte } type WRITE4resok struct { Count Count4 Committed Stable_how4 Writeverf Verifier4 } type WRITE4res struct { // The union discriminant Status selects among the following arms: // NFS4_OK: // Resok4() *WRITE4resok // default: // void Status Nfsstat4 U interface{} } /* * RELEASE_LOCKOWNER: Notify server to release lockowner */ type RELEASE_LOCKOWNER4args struct { Lock_owner Lock_owner4 } type RELEASE_LOCKOWNER4res struct { Status Nfsstat4 } type Callback_sec_parms4 struct { // The union discriminant Cb_secflavor selects among the following arms: // AUTH_NONE: // void // AUTH_SYS: // Cbsp_sys_cred() *Authsys_parms Cb_secflavor Uint32_t U interface{} } /* * CREATE_SESSION */ type Channel_attrs4 struct { Ca_headerpadsize Count4 Ca_maxrequestsize Count4 Ca_maxresponsesize Count4 Ca_maxresponsesize_cached Count4 Ca_maxoperations Count4 Ca_maxrequests Count4 Ca_rdma_ird []Uint32_t // bound 1 } const CREATE_SESSION4_FLAG_PERSIST = 0x00000001 const CREATE_SESSION4_FLAG_CONN_BACK_CHAN = 0x00000002 const CREATE_SESSION4_FLAG_CONN_RDMA = 0x00000004 type CREATE_SESSION4args struct { Csa_clientid Clientid4 Csa_sequence Sequenceid4 Csa_flags Uint32_t Csa_fore_chan_attrs Channel_attrs4 Csa_back_chan_attrs Channel_attrs4 Csa_cb_program Uint32_t Csa_sec_parms []Callback_sec_parms4 } type CREATE_SESSION4resok struct { Csr_sessionid Sessionid4 Csr_sequence Sequenceid4 Csr_flags Uint32_t Csr_fore_chan_attrs Channel_attrs4 Csr_back_chan_attrs Channel_attrs4 } type CREATE_SESSION4res struct { // The union discriminant Csr_status selects among the following arms: // NFS4_OK: // Csr_resok4() *CREATE_SESSION4resok // default: // void Csr_status Nfsstat4 U interface{} } /* * DESTROY_SESSION */ type DESTROY_SESSION4args struct { Dsa_sessionid Sessionid4 } type DESTROY_SESSION4res struct { Dsr_status Nfsstat4 } /* * FREE_STATEID */ type FREE_STATEID4args struct { Fsa_stateid Stateid4 } type FREE_STATEID4res struct { Fsr_status Nfsstat4 } /* * GET_DIR_DELEGATION */ type Attr_notice4 = Nfstime4 type GET_DIR_DELEGATION4args struct { Gdda_signal_deleg_avail bool Gdda_notification_types Bitmap4 Gdda_child_attr_delay Attr_notice4 Gdda_dir_attr_delay Attr_notice4 Gdda_child_attributes Bitmap4 Gdda_dir_attributes Bitmap4 } type GET_DIR_DELEGATION4resok struct { Gddr_cookieverf Verifier4 Gddr_stateid Stateid4 Gddr_notification Bitmap4 Gddr_child_attributes Bitmap4 Gddr_dir_attributes Bitmap4 } type Gddrnf4_status int32 const ( GDD4_OK Gddrnf4_status = 0 GDD4_UNAVAIL Gddrnf4_status = 1 ) type GET_DIR_DELEGATION4res_non_fatal struct { // The union discriminant Gddrnf_status selects among the following arms: // GDD4_OK: // Gddrnf_resok4() *GET_DIR_DELEGATION4resok // GDD4_UNAVAIL: // Gddrnf_will_signal_deleg_avail() *bool Gddrnf_status Gddrnf4_status U interface{} } type GET_DIR_DELEGATION4res struct { // The union discriminant Gddr_status selects among the following arms: // NFS4_OK: // Gddr_res_non_fatal4() *GET_DIR_DELEGATION4res_non_fatal // default: // void Gddr_status Nfsstat4 U interface{} } /* * GETDEVICEINFO */ type GETDEVICEINFO4args struct { Gdia_device_id Deviceid4 Gdia_layout_type Layouttype4 Gdia_maxcount Count4 Gdia_notify_types Bitmap4 } type GETDEVICEINFO4resok struct { Gdir_device_addr Device_addr4 Gdir_notification Bitmap4 } type GETDEVICEINFO4res struct { // The union discriminant Gdir_status selects among the following arms: // NFS4_OK: // Gdir_resok4() *GETDEVICEINFO4resok // NFS4ERR_TOOSMALL: // Gdir_mincount() *Count4 // default: // void Gdir_status Nfsstat4 U interface{} } /* * GETDEVICELIST */ type GETDEVICELIST4args struct { Gdla_layout_type Layouttype4 Gdla_maxdevices Count4 Gdla_cookie Nfs_cookie4 Gdla_cookieverf Verifier4 } type GETDEVICELIST4resok struct { Gdlr_cookie Nfs_cookie4 Gdlr_cookieverf Verifier4 Gdlr_deviceid_list []Deviceid4 Gdlr_eof bool } type GETDEVICELIST4res struct { // The union discriminant Gdlr_status selects among the following arms: // NFS4_OK: // Gdlr_resok4() *GETDEVICELIST4resok // default: // void Gdlr_status Nfsstat4 U interface{} } /* * LAYOUTCOMMIT */ type Newtime4 struct { // The union discriminant Nt_timechanged selects among the following arms: // true: // Nt_time() *Nfstime4 // false: // void Nt_timechanged bool U interface{} } type Newoffset4 struct { // The union discriminant No_newoffset selects among the following arms: // true: // No_offset() *Offset4 // false: // void No_newoffset bool U interface{} } type LAYOUTCOMMIT4args struct { Loca_offset Offset4 Loca_length Length4 Loca_reclaim bool Loca_stateid Stateid4 Loca_last_write_offset Newoffset4 Loca_time_modify Newtime4 Loca_layoutupdate Layoutupdate4 } type Newsize4 struct { // The union discriminant Ns_sizechanged selects among the following arms: // true: // Ns_size() *Length4 // false: // void Ns_sizechanged bool U interface{} } type LAYOUTCOMMIT4resok struct { Locr_newsize Newsize4 } type LAYOUTCOMMIT4res struct { // The union discriminant Locr_status selects among the following arms: // NFS4_OK: // Locr_resok4() *LAYOUTCOMMIT4resok // default: // void Locr_status Nfsstat4 U interface{} } /* * LAYOUTGET */ type LAYOUTGET4args struct { Loga_signal_layout_avail bool Loga_layout_type Layouttype4 Loga_iomode Layoutiomode4 Loga_offset Offset4 Loga_length Length4 Loga_minlength Length4 Loga_stateid Stateid4 Loga_maxcount Count4 } type LAYOUTGET4resok struct { Logr_return_on_close bool Logr_stateid Stateid4 Logr_layout []Layout4 } type LAYOUTGET4res struct { // The union discriminant Logr_status selects among the following arms: // NFS4_OK: // Logr_resok4() *LAYOUTGET4resok // NFS4ERR_LAYOUTTRYLATER: // Logr_will_signal_layout_avail() *bool // default: // void Logr_status Nfsstat4 U interface{} } /* * LAYOUTRETURN */ const LAYOUT4_RET_REC_FILE = 1 const LAYOUT4_RET_REC_FSID = 2 const LAYOUT4_RET_REC_ALL = 3 type Layoutreturn_type4 int32 const ( LAYOUTRETURN4_FILE Layoutreturn_type4 = Layoutreturn_type4(LAYOUT4_RET_REC_FILE) LAYOUTRETURN4_FSID Layoutreturn_type4 = Layoutreturn_type4(LAYOUT4_RET_REC_FSID) LAYOUTRETURN4_ALL Layoutreturn_type4 = Layoutreturn_type4(LAYOUT4_RET_REC_ALL) ) type Layoutreturn_file4 struct { Lrf_offset Offset4 Lrf_length Length4 Lrf_stateid Stateid4 Lrf_body []byte } type Layoutreturn4 struct { // The union discriminant Lr_returntype selects among the following arms: // LAYOUTRETURN4_FILE: // Lr_layout() *Layoutreturn_file4 // default: // void Lr_returntype Layoutreturn_type4 U interface{} } type LAYOUTRETURN4args struct { Lora_reclaim bool Lora_layout_type Layouttype4 Lora_iomode Layoutiomode4 Lora_layoutreturn Layoutreturn4 } type Layoutreturn_stateid struct { // The union discriminant Lrs_present selects among the following arms: // true: // Lrs_stateid() *Stateid4 // false: // void Lrs_present bool U interface{} } type LAYOUTRETURN4res struct { // The union discriminant Lorr_status selects among the following arms: // NFS4_OK: // Lorr_stateid() *Layoutreturn_stateid // default: // void Lorr_status Nfsstat4 U interface{} } /* * SECINFO_NO_NAME */ type Secinfo_style4 int32 const ( SECINFO_STYLE4_CURRENT_FH Secinfo_style4 = 0 SECINFO_STYLE4_PARENT Secinfo_style4 = 1 ) type SECINFO_NO_NAME4args = Secinfo_style4 type SECINFO_NO_NAME4res = SECINFO4res /* * SEQUENCE */ type SEQUENCE4args struct { Sa_sessionid Sessionid4 Sa_sequenceid Sequenceid4 Sa_slotid Slotid4 Sa_highest_slotid Slotid4 Sa_cachethis bool } const SEQ4_STATUS_CB_PATH_DOWN = 0x00000001 const SEQ4_STATUS_CB_GSS_CONTEXTS_EXPIRING = 0x00000002 const SEQ4_STATUS_CB_GSS_CONTEXTS_EXPIRED = 0x00000004 const SEQ4_STATUS_EXPIRED_ALL_STATE_REVOKED = 0x00000008 const SEQ4_STATUS_EXPIRED_SOME_STATE_REVOKED = 0x00000010 const SEQ4_STATUS_ADMIN_STATE_REVOKED = 0x00000020 const SEQ4_STATUS_RECALLABLE_STATE_REVOKED = 0x00000040 const SEQ4_STATUS_LEASE_MOVED = 0x00000080 const SEQ4_STATUS_RESTART_RECLAIM_NEEDED = 0x00000100 const SEQ4_STATUS_CB_PATH_DOWN_SESSION = 0x00000200 const SEQ4_STATUS_BACKCHANNEL_FAULT = 0x00000400 const SEQ4_STATUS_DEVID_CHANGED = 0x00000800 const SEQ4_STATUS_DEVID_DELETED = 0x00001000 type SEQUENCE4resok struct { Sr_sessionid Sessionid4 Sr_sequenceid Sequenceid4 Sr_slotid Slotid4 Sr_highest_slotid Slotid4 Sr_target_highest_slotid Slotid4 Sr_status_flags Uint32_t } type SEQUENCE4res struct { // The union discriminant Sr_status selects among the following arms: // NFS4_OK: // Sr_resok4() *SEQUENCE4resok // default: // void Sr_status Nfsstat4 U interface{} } /* * SET_SSV */ type Ssa_digest_input4 struct { Sdi_seqargs SEQUENCE4args } type SET_SSV4args struct { Ssa_ssv []byte Ssa_digest []byte } type Ssr_digest_input4 struct { Sdi_seqres SEQUENCE4res } type SET_SSV4resok struct { Ssr_digest []byte } type SET_SSV4res struct { // The union discriminant Ssr_status selects among the following arms: // NFS4_OK: // Ssr_resok4() *SET_SSV4resok // default: // void Ssr_status Nfsstat4 U interface{} } /* * TEST_STATEID */ type TEST_STATEID4args struct { Ts_stateids []Stateid4 } type TEST_STATEID4resok struct { Tsr_status_codes []Nfsstat4 } type TEST_STATEID4res struct { // The union discriminant Tsr_status selects among the following arms: // NFS4_OK: // Tsr_resok4() *TEST_STATEID4resok // default: // void Tsr_status Nfsstat4 U interface{} } /* * WANT_DELEGATION */ type Deleg_claim4 struct { // The union discriminant Dc_claim selects among the following arms: // CLAIM_FH: // void // CLAIM_DELEG_PREV_FH: // void // CLAIM_PREVIOUS: // Dc_delegate_type() *Open_delegation_type4 Dc_claim Open_claim_type4 U interface{} } type WANT_DELEGATION4args struct { Wda_want Uint32_t Wda_claim Deleg_claim4 } type WANT_DELEGATION4res struct { // The union discriminant Wdr_status selects among the following arms: // NFS4_OK: // Wdr_resok4() *Open_delegation4 // default: // void Wdr_status Nfsstat4 U interface{} } /* * DESTROY_CLIENTID */ type DESTROY_CLIENTID4args struct { Dca_clientid Clientid4 } type DESTROY_CLIENTID4res struct { Dcr_status Nfsstat4 } /* * RECLAIM_COMPLETE */ type RECLAIM_COMPLETE4args struct { Rca_one_fs bool } type RECLAIM_COMPLETE4res struct { Rcr_status Nfsstat4 } /* * ILLEGAL: Response for illegal operation numbers */ type ILLEGAL4res struct { Status Nfsstat4 } type Nfs_opnum4 int32 const ( OP_ACCESS Nfs_opnum4 = 3 OP_CLOSE Nfs_opnum4 = 4 OP_COMMIT Nfs_opnum4 = 5 OP_CREATE Nfs_opnum4 = 6 OP_DELEGPURGE Nfs_opnum4 = 7 OP_DELEGRETURN Nfs_opnum4 = 8 OP_GETATTR Nfs_opnum4 = 9 OP_GETFH Nfs_opnum4 = 10 OP_LINK Nfs_opnum4 = 11 OP_LOCK Nfs_opnum4 = 12 OP_LOCKT Nfs_opnum4 = 13 OP_LOCKU Nfs_opnum4 = 14 OP_LOOKUP Nfs_opnum4 = 15 OP_LOOKUPP Nfs_opnum4 = 16 OP_NVERIFY Nfs_opnum4 = 17 OP_OPEN Nfs_opnum4 = 18 OP_OPENATTR Nfs_opnum4 = 19 OP_OPEN_CONFIRM Nfs_opnum4 = 20 OP_OPEN_DOWNGRADE Nfs_opnum4 = 21 OP_PUTFH Nfs_opnum4 = 22 OP_PUTPUBFH Nfs_opnum4 = 23 OP_PUTROOTFH Nfs_opnum4 = 24 OP_READ Nfs_opnum4 = 25 OP_READDIR Nfs_opnum4 = 26 OP_READLINK Nfs_opnum4 = 27 OP_REMOVE Nfs_opnum4 = 28 OP_RENAME Nfs_opnum4 = 29 OP_RENEW Nfs_opnum4 = 30 OP_RESTOREFH Nfs_opnum4 = 31 OP_SAVEFH Nfs_opnum4 = 32 OP_SECINFO Nfs_opnum4 = 33 OP_SETATTR Nfs_opnum4 = 34 OP_SETCLIENTID Nfs_opnum4 = 35 OP_SETCLIENTID_CONFIRM Nfs_opnum4 = 36 OP_VERIFY Nfs_opnum4 = 37 OP_WRITE Nfs_opnum4 = 38 OP_RELEASE_LOCKOWNER Nfs_opnum4 = 39 OP_CREATE_SESSION Nfs_opnum4 = 43 OP_DESTROY_SESSION Nfs_opnum4 = 44 OP_FREE_STATEID Nfs_opnum4 = 45 OP_GET_DIR_DELEGATION Nfs_opnum4 = 46 OP_GETDEVICEINFO Nfs_opnum4 = 47 OP_GETDEVICELIST Nfs_opnum4 = 48 OP_LAYOUTCOMMIT Nfs_opnum4 = 49 OP_LAYOUTGET Nfs_opnum4 = 50 OP_LAYOUTRETURN Nfs_opnum4 = 51 OP_SECINFO_NO_NAME Nfs_opnum4 = 52 OP_SEQUENCE Nfs_opnum4 = 53 OP_SET_SSV Nfs_opnum4 = 54 OP_TEST_STATEID Nfs_opnum4 = 55 OP_WANT_DELEGATION Nfs_opnum4 = 56 OP_DESTROY_CLIENTID Nfs_opnum4 = 57 OP_RECLAIM_COMPLETE Nfs_opnum4 = 58 OP_ILLEGAL Nfs_opnum4 = 10044 ) type Nfs_argop4 struct { // The union discriminant Argop selects among the following arms: // OP_ACCESS: // Opaccess() *ACCESS4args // OP_CLOSE: // Opclose() *CLOSE4args // OP_COMMIT: // Opcommit() *COMMIT4args // OP_CREATE: // Opcreate() *CREATE4args // OP_DELEGPURGE: // Opdelegpurge() *DELEGPURGE4args // OP_DELEGRETURN: // Opdelegreturn() *DELEGRETURN4args // OP_GETATTR: // Opgetattr() *GETATTR4args // OP_GETFH: // void // OP_LINK: // Oplink() *LINK4args // OP_LOCK: // Oplock() *LOCK4args // OP_LOCKT: // Oplockt() *LOCKT4args // OP_LOCKU: // Oplocku() *LOCKU4args // OP_LOOKUP: // Oplookup() *LOOKUP4args // OP_LOOKUPP: // void // OP_NVERIFY: // Opnverify() *NVERIFY4args // OP_OPEN: // Opopen() *OPEN4args // OP_OPENATTR: // Opopenattr() *OPENATTR4args // OP_OPEN_CONFIRM: // Opopen_confirm() *OPEN_CONFIRM4args // OP_OPEN_DOWNGRADE: // Opopen_downgrade() *OPEN_DOWNGRADE4args // OP_PUTFH: // Opputfh() *PUTFH4args // OP_PUTPUBFH: // void // OP_PUTROOTFH: // void // OP_READ: // Opread() *READ4args // OP_READDIR: // Opreaddir() *READDIR4args // OP_READLINK: // void // OP_REMOVE: // Opremove() *REMOVE4args // OP_RENAME: // Oprename() *RENAME4args // OP_RENEW: // Oprenew() *RENEW4args // OP_RESTOREFH: // void // OP_SAVEFH: // void // OP_SECINFO: // Opsecinfo() *SECINFO4args // OP_SETATTR: // Opsetattr() *SETATTR4args // OP_SETCLIENTID: // Opsetclientid() *SETCLIENTID4args // OP_SETCLIENTID_CONFIRM: // Opsetclientid_confirm() *SETCLIENTID_CONFIRM4args // OP_VERIFY: // Opverify() *VERIFY4args // OP_WRITE: // Opwrite() *WRITE4args // OP_RELEASE_LOCKOWNER: // Oprelease_lockowner() *RELEASE_LOCKOWNER4args // OP_CREATE_SESSION: // Opcreatesession() *CREATE_SESSION4args // OP_DESTROY_SESSION: // Opdestroysession() *DESTROY_SESSION4args // OP_FREE_STATEID: // Opfreestateid() *FREE_STATEID4args // OP_GET_DIR_DELEGATION: // Opgetdirdelegation() *GET_DIR_DELEGATION4args // OP_GETDEVICEINFO: // Opgetdeviceinfo() *GETDEVICEINFO4args // OP_GETDEVICELIST: // Opgetdevicelist() *GETDEVICELIST4args // OP_LAYOUTCOMMIT: // Oplayoutcommit() *LAYOUTCOMMIT4args // OP_LAYOUTGET: // Oplayoutget() *LAYOUTGET4args // OP_LAYOUTRETURN: // Oplayoutreturn() *LAYOUTRETURN4args // OP_SECINFO_NO_NAME: // Opsecinfononame() *SECINFO_NO_NAME4args // OP_SEQUENCE: // Opsequence() *SEQUENCE4args // OP_SET_SSV: // Opsetssv() *SET_SSV4args // OP_TEST_STATEID: // Opteststateid() *TEST_STATEID4args // OP_WANT_DELEGATION: // Opwantdelegation() *WANT_DELEGATION4args // OP_DESTROY_CLIENTID: // Opdestroyclientid() *DESTROY_CLIENTID4args // OP_RECLAIM_COMPLETE: // Opreclaimcomplete() *RECLAIM_COMPLETE4args // OP_ILLEGAL: // void Argop Nfs_opnum4 U interface{} } type Nfs_resop4 struct { // The union discriminant Resop selects among the following arms: // OP_ACCESS: // Opaccess() *ACCESS4res // OP_CLOSE: // Opclose() *CLOSE4res // OP_COMMIT: // Opcommit() *COMMIT4res // OP_CREATE: // Opcreate() *CREATE4res // OP_DELEGPURGE: // Opdelegpurge() *DELEGPURGE4res // OP_DELEGRETURN: // Opdelegreturn() *DELEGRETURN4res // OP_GETATTR: // Opgetattr() *GETATTR4res // OP_GETFH: // Opgetfh() *GETFH4res // OP_LINK: // Oplink() *LINK4res // OP_LOCK: // Oplock() *LOCK4res // OP_LOCKT: // Oplockt() *LOCKT4res // OP_LOCKU: // Oplocku() *LOCKU4res // OP_LOOKUP: // Oplookup() *LOOKUP4res // OP_LOOKUPP: // Oplookupp() *LOOKUPP4res // OP_NVERIFY: // Opnverify() *NVERIFY4res // OP_OPEN: // Opopen() *OPEN4res // OP_OPENATTR: // Opopenattr() *OPENATTR4res // OP_OPEN_CONFIRM: // Opopen_confirm() *OPEN_CONFIRM4res // OP_OPEN_DOWNGRADE: // Opopen_downgrade() *OPEN_DOWNGRADE4res // OP_PUTFH: // Opputfh() *PUTFH4res // OP_PUTPUBFH: // Opputpubfh() *PUTPUBFH4res // OP_PUTROOTFH: // Opputrootfh() *PUTROOTFH4res // OP_READ: // Opread() *READ4res // OP_READDIR: // Opreaddir() *READDIR4res // OP_READLINK: // Opreadlink() *READLINK4res // OP_REMOVE: // Opremove() *REMOVE4res // OP_RENAME: // Oprename() *RENAME4res // OP_RENEW: // Oprenew() *RENEW4res // OP_RESTOREFH: // Oprestorefh() *RESTOREFH4res // OP_SAVEFH: // Opsavefh() *SAVEFH4res // OP_SECINFO: // Opsecinfo() *SECINFO4res // OP_SETATTR: // Opsetattr() *SETATTR4res // OP_SETCLIENTID: // Opsetclientid() *SETCLIENTID4res // OP_SETCLIENTID_CONFIRM: // Opsetclientid_confirm() *SETCLIENTID_CONFIRM4res // OP_VERIFY: // Opverify() *VERIFY4res // OP_WRITE: // Opwrite() *WRITE4res // OP_RELEASE_LOCKOWNER: // Oprelease_lockowner() *RELEASE_LOCKOWNER4res // OP_CREATE_SESSION: // Opcreatesession() *CREATE_SESSION4res // OP_DESTROY_SESSION: // Opdestroysession() *DESTROY_SESSION4res // OP_FREE_STATEID: // Opfreestateid() *FREE_STATEID4res // OP_GET_DIR_DELEGATION: // Opgetdirdelegation() *GET_DIR_DELEGATION4res // OP_GETDEVICEINFO: // Opgetdeviceinfo() *GETDEVICEINFO4res // OP_GETDEVICELIST: // Opgetdevicelist() *GETDEVICELIST4res // OP_LAYOUTCOMMIT: // Oplayoutcommit() *LAYOUTCOMMIT4res // OP_LAYOUTGET: // Oplayoutget() *LAYOUTGET4res // OP_LAYOUTRETURN: // Oplayoutreturn() *LAYOUTRETURN4res // OP_SECINFO_NO_NAME: // Opsecinfononame() *SECINFO_NO_NAME4res // OP_SEQUENCE: // Opsequence() *SEQUENCE4res // OP_SET_SSV: // Opsetssv() *SET_SSV4res // OP_TEST_STATEID: // Opteststateid() *TEST_STATEID4res // OP_WANT_DELEGATION: // Opwantdelegation() *WANT_DELEGATION4res // OP_DESTROY_CLIENTID: // Opdestroyclientid() *DESTROY_CLIENTID4res // OP_RECLAIM_COMPLETE: // Opreclaimcomplete() *RECLAIM_COMPLETE4res // OP_ILLEGAL: // Opillegal() *ILLEGAL4res Resop Nfs_opnum4 U interface{} } type COMPOUND4args struct { Tag Utf8str_cs Minorversion Uint32_t Argarray []Nfs_argop4 } type COMPOUND4res struct { Status Nfsstat4 Tag Utf8str_cs Resarray []Nfs_resop4 } type NFS_V4 interface { NFSPROC4_NULL() NFSPROC4_COMPOUND(COMPOUND4args) COMPOUND4res } /* * CB_GETATTR: Get Current Attributes */ type CB_GETATTR4args struct { Fh Nfs_fh4 Attr_request Bitmap4 } type CB_GETATTR4resok struct { Obj_attributes Fattr4 } type CB_GETATTR4res struct { // The union discriminant Status selects among the following arms: // NFS4_OK: // Resok4() *CB_GETATTR4resok // default: // void Status Nfsstat4 U interface{} } /* * CB_RECALL: Recall an Open Delegation */ type CB_RECALL4args struct { Stateid Stateid4 Truncate bool Fh Nfs_fh4 } type CB_RECALL4res struct { Status Nfsstat4 } /* * CB_ILLEGAL: Response for illegal operation numbers */ type CB_ILLEGAL4res struct { Status Nfsstat4 } /* * Various definitions for CB_COMPOUND */ type Nfs_cb_opnum4 int32 const ( OP_CB_GETATTR Nfs_cb_opnum4 = 3 OP_CB_RECALL Nfs_cb_opnum4 = 4 OP_CB_ILLEGAL Nfs_cb_opnum4 = 10044 ) type Nfs_cb_argop4 struct { // The union discriminant Argop selects among the following arms: // OP_CB_GETATTR: // Opcbgetattr() *CB_GETATTR4args // OP_CB_RECALL: // Opcbrecall() *CB_RECALL4args // OP_CB_ILLEGAL: // void Argop uint32 U interface{} } type Nfs_cb_resop4 struct { // The union discriminant Resop selects among the following arms: // OP_CB_GETATTR: // Opcbgetattr() *CB_GETATTR4res // OP_CB_RECALL: // Opcbrecall() *CB_RECALL4res // OP_CB_ILLEGAL: // Opcbillegal() *CB_ILLEGAL4res Resop uint32 U interface{} } type CB_COMPOUND4args struct { Tag Utf8str_cs Minorversion Uint32_t Callback_ident Uint32_t Argarray []Nfs_cb_argop4 } type CB_COMPOUND4res struct { Status Nfsstat4 Tag Utf8str_cs Resarray []Nfs_cb_resop4 } type NFS_CB interface { CB_NULL() CB_COMPOUND(CB_COMPOUND4args) CB_COMPOUND4res } // // Helper types and generated marshaling functions // var _XdrNames_Nfs_ftype4 = map[int32]string{ int32(NF4REG): "NF4REG", int32(NF4DIR): "NF4DIR", int32(NF4BLK): "NF4BLK", int32(NF4CHR): "NF4CHR", int32(NF4LNK): "NF4LNK", int32(NF4SOCK): "NF4SOCK", int32(NF4FIFO): "NF4FIFO", int32(NF4ATTRDIR): "NF4ATTRDIR", int32(NF4NAMEDATTR): "NF4NAMEDATTR", } var _XdrValues_Nfs_ftype4 = map[string]int32{ "NF4REG": int32(NF4REG), "NF4DIR": int32(NF4DIR), "NF4BLK": int32(NF4BLK), "NF4CHR": int32(NF4CHR), "NF4LNK": int32(NF4LNK), "NF4SOCK": int32(NF4SOCK), "NF4FIFO": int32(NF4FIFO), "NF4ATTRDIR": int32(NF4ATTRDIR), "NF4NAMEDATTR": int32(NF4NAMEDATTR), } func (Nfs_ftype4) XdrEnumNames() map[int32]string { return _XdrNames_Nfs_ftype4 } func (v Nfs_ftype4) String() string { if s, ok := _XdrNames_Nfs_ftype4[int32(v)]; ok { return s } return fmt.Sprintf("Nfs_ftype4#%d", v) } func (v *Nfs_ftype4) Scan(ss fmt.ScanState, _ rune) error { if tok, err := ss.Token(true, XdrSymChar); err != nil { return err } else { stok := string(tok) if val, ok := _XdrValues_Nfs_ftype4[stok]; ok { *v = Nfs_ftype4(val) return nil } else if stok == "Nfs_ftype4" { if n, err := fmt.Fscanf(ss, "#%d", (*int32)(v)); n == 1 && err == nil { return nil } } return XdrError(fmt.Sprintf("%s is not a valid Nfs_ftype4.", stok)) } } func (v Nfs_ftype4) GetU32() uint32 { return uint32(v) } func (v *Nfs_ftype4) SetU32(n uint32) { *v = Nfs_ftype4(n) } func (v *Nfs_ftype4) XdrPointer() interface{} { return v } func (Nfs_ftype4) XdrTypeName() string { return "Nfs_ftype4" } func (v Nfs_ftype4) XdrValue() interface{} { return v } func (v *Nfs_ftype4) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } type XdrType_Nfs_ftype4 = *Nfs_ftype4 func XDR_Nfs_ftype4(v *Nfs_ftype4) *Nfs_ftype4 { return v } func (v *Nfs_ftype4) XdrInitialize() { switch Nfs_ftype4(0) { case NF4REG, NF4DIR, NF4BLK, NF4CHR, NF4LNK, NF4SOCK, NF4FIFO, NF4ATTRDIR, NF4NAMEDATTR: default: if *v == Nfs_ftype4(0) { *v = NF4REG } } } var _XdrNames_Nfsstat4 = map[int32]string{ int32(NFS4_OK): "NFS4_OK", int32(NFS4ERR_PERM): "NFS4ERR_PERM", int32(NFS4ERR_NOENT): "NFS4ERR_NOENT", int32(NFS4ERR_IO): "NFS4ERR_IO", int32(NFS4ERR_NXIO): "NFS4ERR_NXIO", int32(NFS4ERR_ACCESS): "NFS4ERR_ACCESS", int32(NFS4ERR_EXIST): "NFS4ERR_EXIST", int32(NFS4ERR_XDEV): "NFS4ERR_XDEV", int32(NFS4ERR_NOTDIR): "NFS4ERR_NOTDIR", int32(NFS4ERR_ISDIR): "NFS4ERR_ISDIR", int32(NFS4ERR_INVAL): "NFS4ERR_INVAL", int32(NFS4ERR_FBIG): "NFS4ERR_FBIG", int32(NFS4ERR_NOSPC): "NFS4ERR_NOSPC", int32(NFS4ERR_ROFS): "NFS4ERR_ROFS", int32(NFS4ERR_MLINK): "NFS4ERR_MLINK", int32(NFS4ERR_NAMETOOLONG): "NFS4ERR_NAMETOOLONG", int32(NFS4ERR_NOTEMPTY): "NFS4ERR_NOTEMPTY", int32(NFS4ERR_DQUOT): "NFS4ERR_DQUOT", int32(NFS4ERR_STALE): "NFS4ERR_STALE", int32(NFS4ERR_BADHANDLE): "NFS4ERR_BADHANDLE", int32(NFS4ERR_BAD_COOKIE): "NFS4ERR_BAD_COOKIE", int32(NFS4ERR_NOTSUPP): "NFS4ERR_NOTSUPP", int32(NFS4ERR_TOOSMALL): "NFS4ERR_TOOSMALL", int32(NFS4ERR_SERVERFAULT): "NFS4ERR_SERVERFAULT", int32(NFS4ERR_BADTYPE): "NFS4ERR_BADTYPE", int32(NFS4ERR_DELAY): "NFS4ERR_DELAY", int32(NFS4ERR_SAME): "NFS4ERR_SAME", int32(NFS4ERR_DENIED): "NFS4ERR_DENIED", int32(NFS4ERR_EXPIRED): "NFS4ERR_EXPIRED", int32(NFS4ERR_LOCKED): "NFS4ERR_LOCKED", int32(NFS4ERR_GRACE): "NFS4ERR_GRACE", int32(NFS4ERR_FHEXPIRED): "NFS4ERR_FHEXPIRED", int32(NFS4ERR_SHARE_DENIED): "NFS4ERR_SHARE_DENIED", int32(NFS4ERR_WRONGSEC): "NFS4ERR_WRONGSEC", int32(NFS4ERR_CLID_INUSE): "NFS4ERR_CLID_INUSE", int32(NFS4ERR_RESOURCE): "NFS4ERR_RESOURCE", int32(NFS4ERR_MOVED): "NFS4ERR_MOVED", int32(NFS4ERR_NOFILEHANDLE): "NFS4ERR_NOFILEHANDLE", int32(NFS4ERR_MINOR_VERS_MISMATCH): "NFS4ERR_MINOR_VERS_MISMATCH", int32(NFS4ERR_STALE_CLIENTID): "NFS4ERR_STALE_CLIENTID", int32(NFS4ERR_STALE_STATEID): "NFS4ERR_STALE_STATEID", int32(NFS4ERR_OLD_STATEID): "NFS4ERR_OLD_STATEID", int32(NFS4ERR_BAD_STATEID): "NFS4ERR_BAD_STATEID", int32(NFS4ERR_BAD_SEQID): "NFS4ERR_BAD_SEQID", int32(NFS4ERR_NOT_SAME): "NFS4ERR_NOT_SAME", int32(NFS4ERR_LOCK_RANGE): "NFS4ERR_LOCK_RANGE", int32(NFS4ERR_SYMLINK): "NFS4ERR_SYMLINK", int32(NFS4ERR_RESTOREFH): "NFS4ERR_RESTOREFH", int32(NFS4ERR_LEASE_MOVED): "NFS4ERR_LEASE_MOVED", int32(NFS4ERR_ATTRNOTSUPP): "NFS4ERR_ATTRNOTSUPP", int32(NFS4ERR_NO_GRACE): "NFS4ERR_NO_GRACE", int32(NFS4ERR_RECLAIM_BAD): "NFS4ERR_RECLAIM_BAD", int32(NFS4ERR_RECLAIM_CONFLICT): "NFS4ERR_RECLAIM_CONFLICT", int32(NFS4ERR_BADXDR): "NFS4ERR_BADXDR", int32(NFS4ERR_LOCKS_HELD): "NFS4ERR_LOCKS_HELD", int32(NFS4ERR_OPENMODE): "NFS4ERR_OPENMODE", int32(NFS4ERR_BADOWNER): "NFS4ERR_BADOWNER", int32(NFS4ERR_BADCHAR): "NFS4ERR_BADCHAR", int32(NFS4ERR_BADNAME): "NFS4ERR_BADNAME", int32(NFS4ERR_BAD_RANGE): "NFS4ERR_BAD_RANGE", int32(NFS4ERR_LOCK_NOTSUPP): "NFS4ERR_LOCK_NOTSUPP", int32(NFS4ERR_OP_ILLEGAL): "NFS4ERR_OP_ILLEGAL", int32(NFS4ERR_DEADLOCK): "NFS4ERR_DEADLOCK", int32(NFS4ERR_FILE_OPEN): "NFS4ERR_FILE_OPEN", int32(NFS4ERR_ADMIN_REVOKED): "NFS4ERR_ADMIN_REVOKED", int32(NFS4ERR_CB_PATH_DOWN): "NFS4ERR_CB_PATH_DOWN", int32(NFS4ERR_BADIOMODE): "NFS4ERR_BADIOMODE", int32(NFS4ERR_BADLAYOUT): "NFS4ERR_BADLAYOUT", int32(NFS4ERR_BAD_SESSION_DIGEST): "NFS4ERR_BAD_SESSION_DIGEST", int32(NFS4ERR_BADSESSION): "NFS4ERR_BADSESSION", int32(NFS4ERR_BADSLOT): "NFS4ERR_BADSLOT", int32(NFS4ERR_COMPLETE_ALREADY): "NFS4ERR_COMPLETE_ALREADY", int32(NFS4ERR_CONN_NOT_BOUND_TO_SESSION): "NFS4ERR_CONN_NOT_BOUND_TO_SESSION", int32(NFS4ERR_DELEG_ALREADY_WANTED): "NFS4ERR_DELEG_ALREADY_WANTED", int32(NFS4ERR_BACK_CHAN_BUSY): "NFS4ERR_BACK_CHAN_BUSY", int32(NFS4ERR_LAYOUTTRYLATER): "NFS4ERR_LAYOUTTRYLATER", int32(NFS4ERR_LAYOUTUNAVAILABLE): "NFS4ERR_LAYOUTUNAVAILABLE", int32(NFS4ERR_NOMATCHING_LAYOUT): "NFS4ERR_NOMATCHING_LAYOUT", int32(NFS4ERR_RECALLCONFLICT): "NFS4ERR_RECALLCONFLICT", } var _XdrValues_Nfsstat4 = map[string]int32{ "NFS4_OK": int32(NFS4_OK), "NFS4ERR_PERM": int32(NFS4ERR_PERM), "NFS4ERR_NOENT": int32(NFS4ERR_NOENT), "NFS4ERR_IO": int32(NFS4ERR_IO), "NFS4ERR_NXIO": int32(NFS4ERR_NXIO), "NFS4ERR_ACCESS": int32(NFS4ERR_ACCESS), "NFS4ERR_EXIST": int32(NFS4ERR_EXIST), "NFS4ERR_XDEV": int32(NFS4ERR_XDEV), "NFS4ERR_NOTDIR": int32(NFS4ERR_NOTDIR), "NFS4ERR_ISDIR": int32(NFS4ERR_ISDIR), "NFS4ERR_INVAL": int32(NFS4ERR_INVAL), "NFS4ERR_FBIG": int32(NFS4ERR_FBIG), "NFS4ERR_NOSPC": int32(NFS4ERR_NOSPC), "NFS4ERR_ROFS": int32(NFS4ERR_ROFS), "NFS4ERR_MLINK": int32(NFS4ERR_MLINK), "NFS4ERR_NAMETOOLONG": int32(NFS4ERR_NAMETOOLONG), "NFS4ERR_NOTEMPTY": int32(NFS4ERR_NOTEMPTY), "NFS4ERR_DQUOT": int32(NFS4ERR_DQUOT), "NFS4ERR_STALE": int32(NFS4ERR_STALE), "NFS4ERR_BADHANDLE": int32(NFS4ERR_BADHANDLE), "NFS4ERR_BAD_COOKIE": int32(NFS4ERR_BAD_COOKIE), "NFS4ERR_NOTSUPP": int32(NFS4ERR_NOTSUPP), "NFS4ERR_TOOSMALL": int32(NFS4ERR_TOOSMALL), "NFS4ERR_SERVERFAULT": int32(NFS4ERR_SERVERFAULT), "NFS4ERR_BADTYPE": int32(NFS4ERR_BADTYPE), "NFS4ERR_DELAY": int32(NFS4ERR_DELAY), "NFS4ERR_SAME": int32(NFS4ERR_SAME), "NFS4ERR_DENIED": int32(NFS4ERR_DENIED), "NFS4ERR_EXPIRED": int32(NFS4ERR_EXPIRED), "NFS4ERR_LOCKED": int32(NFS4ERR_LOCKED), "NFS4ERR_GRACE": int32(NFS4ERR_GRACE), "NFS4ERR_FHEXPIRED": int32(NFS4ERR_FHEXPIRED), "NFS4ERR_SHARE_DENIED": int32(NFS4ERR_SHARE_DENIED), "NFS4ERR_WRONGSEC": int32(NFS4ERR_WRONGSEC), "NFS4ERR_CLID_INUSE": int32(NFS4ERR_CLID_INUSE), "NFS4ERR_RESOURCE": int32(NFS4ERR_RESOURCE), "NFS4ERR_MOVED": int32(NFS4ERR_MOVED), "NFS4ERR_NOFILEHANDLE": int32(NFS4ERR_NOFILEHANDLE), "NFS4ERR_MINOR_VERS_MISMATCH": int32(NFS4ERR_MINOR_VERS_MISMATCH), "NFS4ERR_STALE_CLIENTID": int32(NFS4ERR_STALE_CLIENTID), "NFS4ERR_STALE_STATEID": int32(NFS4ERR_STALE_STATEID), "NFS4ERR_OLD_STATEID": int32(NFS4ERR_OLD_STATEID), "NFS4ERR_BAD_STATEID": int32(NFS4ERR_BAD_STATEID), "NFS4ERR_BAD_SEQID": int32(NFS4ERR_BAD_SEQID), "NFS4ERR_NOT_SAME": int32(NFS4ERR_NOT_SAME), "NFS4ERR_LOCK_RANGE": int32(NFS4ERR_LOCK_RANGE), "NFS4ERR_SYMLINK": int32(NFS4ERR_SYMLINK), "NFS4ERR_RESTOREFH": int32(NFS4ERR_RESTOREFH), "NFS4ERR_LEASE_MOVED": int32(NFS4ERR_LEASE_MOVED), "NFS4ERR_ATTRNOTSUPP": int32(NFS4ERR_ATTRNOTSUPP), "NFS4ERR_NO_GRACE": int32(NFS4ERR_NO_GRACE), "NFS4ERR_RECLAIM_BAD": int32(NFS4ERR_RECLAIM_BAD), "NFS4ERR_RECLAIM_CONFLICT": int32(NFS4ERR_RECLAIM_CONFLICT), "NFS4ERR_BADXDR": int32(NFS4ERR_BADXDR), "NFS4ERR_LOCKS_HELD": int32(NFS4ERR_LOCKS_HELD), "NFS4ERR_OPENMODE": int32(NFS4ERR_OPENMODE), "NFS4ERR_BADOWNER": int32(NFS4ERR_BADOWNER), "NFS4ERR_BADCHAR": int32(NFS4ERR_BADCHAR), "NFS4ERR_BADNAME": int32(NFS4ERR_BADNAME), "NFS4ERR_BAD_RANGE": int32(NFS4ERR_BAD_RANGE), "NFS4ERR_LOCK_NOTSUPP": int32(NFS4ERR_LOCK_NOTSUPP), "NFS4ERR_OP_ILLEGAL": int32(NFS4ERR_OP_ILLEGAL), "NFS4ERR_DEADLOCK": int32(NFS4ERR_DEADLOCK), "NFS4ERR_FILE_OPEN": int32(NFS4ERR_FILE_OPEN), "NFS4ERR_ADMIN_REVOKED": int32(NFS4ERR_ADMIN_REVOKED), "NFS4ERR_CB_PATH_DOWN": int32(NFS4ERR_CB_PATH_DOWN), "NFS4ERR_BADIOMODE": int32(NFS4ERR_BADIOMODE), "NFS4ERR_BADLAYOUT": int32(NFS4ERR_BADLAYOUT), "NFS4ERR_BAD_SESSION_DIGEST": int32(NFS4ERR_BAD_SESSION_DIGEST), "NFS4ERR_BADSESSION": int32(NFS4ERR_BADSESSION), "NFS4ERR_BADSLOT": int32(NFS4ERR_BADSLOT), "NFS4ERR_COMPLETE_ALREADY": int32(NFS4ERR_COMPLETE_ALREADY), "NFS4ERR_CONN_NOT_BOUND_TO_SESSION": int32(NFS4ERR_CONN_NOT_BOUND_TO_SESSION), "NFS4ERR_DELEG_ALREADY_WANTED": int32(NFS4ERR_DELEG_ALREADY_WANTED), "NFS4ERR_BACK_CHAN_BUSY": int32(NFS4ERR_BACK_CHAN_BUSY), "NFS4ERR_LAYOUTTRYLATER": int32(NFS4ERR_LAYOUTTRYLATER), "NFS4ERR_LAYOUTUNAVAILABLE": int32(NFS4ERR_LAYOUTUNAVAILABLE), "NFS4ERR_NOMATCHING_LAYOUT": int32(NFS4ERR_NOMATCHING_LAYOUT), "NFS4ERR_RECALLCONFLICT": int32(NFS4ERR_RECALLCONFLICT), } func (Nfsstat4) XdrEnumNames() map[int32]string { return _XdrNames_Nfsstat4 } func (v Nfsstat4) String() string { if s, ok := _XdrNames_Nfsstat4[int32(v)]; ok { return s } return fmt.Sprintf("Nfsstat4#%d", v) } func (v *Nfsstat4) Scan(ss fmt.ScanState, _ rune) error { if tok, err := ss.Token(true, XdrSymChar); err != nil { return err } else { stok := string(tok) if val, ok := _XdrValues_Nfsstat4[stok]; ok { *v = Nfsstat4(val) return nil } else if stok == "Nfsstat4" { if n, err := fmt.Fscanf(ss, "#%d", (*int32)(v)); n == 1 && err == nil { return nil } } return XdrError(fmt.Sprintf("%s is not a valid Nfsstat4.", stok)) } } func (v Nfsstat4) GetU32() uint32 { return uint32(v) } func (v *Nfsstat4) SetU32(n uint32) { *v = Nfsstat4(n) } func (v *Nfsstat4) XdrPointer() interface{} { return v } func (Nfsstat4) XdrTypeName() string { return "Nfsstat4" } func (v Nfsstat4) XdrValue() interface{} { return v } func (v *Nfsstat4) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } type XdrType_Nfsstat4 = *Nfsstat4 func XDR_Nfsstat4(v *Nfsstat4) *Nfsstat4 { return v } type _XdrVec_unbounded_Uint32_t []Uint32_t func (_XdrVec_unbounded_Uint32_t) XdrBound() uint32 { const bound uint32 = 4294967295 // Force error if not const or doesn't fit return bound } func (_XdrVec_unbounded_Uint32_t) XdrCheckLen(length uint32) { if length > uint32(4294967295) { XdrPanic("_XdrVec_unbounded_Uint32_t length %d exceeds bound 4294967295", length) } else if int(length) < 0 { XdrPanic("_XdrVec_unbounded_Uint32_t length %d exceeds max int", length) } } func (v _XdrVec_unbounded_Uint32_t) GetVecLen() uint32 { return uint32(len(v)) } func (v *_XdrVec_unbounded_Uint32_t) SetVecLen(length uint32) { v.XdrCheckLen(length) if int(length) <= cap(*v) { if int(length) != len(*v) { *v = (*v)[:int(length)] } return } newcap := 2*cap(*v) if newcap < int(length) { // also catches overflow where 2*cap < 0 newcap = int(length) } else if bound := uint(4294967295); uint(newcap) > bound { if int(bound) < 0 { bound = ^uint(0) >> 1 } newcap = int(bound) } nv := make([]Uint32_t, int(length), newcap) copy(nv, *v) *v = nv } func (v *_XdrVec_unbounded_Uint32_t) XdrMarshalN(x XDR, name string, n uint32) { v.XdrCheckLen(n) for i := 0; i < int(n); i++ { if (i >= len(*v)) { v.SetVecLen(uint32(i+1)) } XDR_Uint32_t(&(*v)[i]).XdrMarshal(x, x.Sprintf("%s[%d]", name, i)) } if int(n) < len(*v) { *v = (*v)[:int(n)] } } func (v *_XdrVec_unbounded_Uint32_t) XdrRecurse(x XDR, name string) { size := XdrSize{ Size: uint32(len(*v)), Bound: 4294967295 } x.Marshal(name, &size) v.XdrMarshalN(x, name, size.Size) } func (_XdrVec_unbounded_Uint32_t) XdrTypeName() string { return "Uint32_t<>" } func (v *_XdrVec_unbounded_Uint32_t) XdrPointer() interface{} { return (*[]Uint32_t)(v) } func (v _XdrVec_unbounded_Uint32_t) XdrValue() interface{} { return ([]Uint32_t)(v) } func (v *_XdrVec_unbounded_Uint32_t) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } type XdrType_Bitmap4 struct { *_XdrVec_unbounded_Uint32_t } func XDR_Bitmap4(v *Bitmap4) XdrType_Bitmap4 { return XdrType_Bitmap4{(*_XdrVec_unbounded_Uint32_t)(v)} } func (XdrType_Bitmap4) XdrTypeName() string { return "Bitmap4" } func (v XdrType_Bitmap4) XdrUnwrap() XdrType { return v._XdrVec_unbounded_Uint32_t } type XdrType_Offset4 struct { XdrType_Uint64_t } func XDR_Offset4(v *Offset4) *XdrType_Offset4 { return &XdrType_Offset4{XDR_Uint64_t(v)} } func (XdrType_Offset4) XdrTypeName() string { return "Offset4" } func (v XdrType_Offset4) XdrUnwrap() XdrType { return v.XdrType_Uint64_t } type XdrType_Count4 struct { XdrType_Uint32_t } func XDR_Count4(v *Count4) *XdrType_Count4 { return &XdrType_Count4{XDR_Uint32_t(v)} } func (XdrType_Count4) XdrTypeName() string { return "Count4" } func (v XdrType_Count4) XdrUnwrap() XdrType { return v.XdrType_Uint32_t } type XdrType_Length4 struct { XdrType_Uint64_t } func XDR_Length4(v *Length4) *XdrType_Length4 { return &XdrType_Length4{XDR_Uint64_t(v)} } func (XdrType_Length4) XdrTypeName() string { return "Length4" } func (v XdrType_Length4) XdrUnwrap() XdrType { return v.XdrType_Uint64_t } type XdrType_Clientid4 struct { XdrType_Uint64_t } func XDR_Clientid4(v *Clientid4) *XdrType_Clientid4 { return &XdrType_Clientid4{XDR_Uint64_t(v)} } func (XdrType_Clientid4) XdrTypeName() string { return "Clientid4" } func (v XdrType_Clientid4) XdrUnwrap() XdrType { return v.XdrType_Uint64_t } type XdrType_Sequenceid4 struct { XdrType_Uint32_t } func XDR_Sequenceid4(v *Sequenceid4) *XdrType_Sequenceid4 { return &XdrType_Sequenceid4{XDR_Uint32_t(v)} } func (XdrType_Sequenceid4) XdrTypeName() string { return "Sequenceid4" } func (v XdrType_Sequenceid4) XdrUnwrap() XdrType { return v.XdrType_Uint32_t } type XdrType_Seqid4 struct { XdrType_Uint32_t } func XDR_Seqid4(v *Seqid4) *XdrType_Seqid4 { return &XdrType_Seqid4{XDR_Uint32_t(v)} } func (XdrType_Seqid4) XdrTypeName() string { return "Seqid4" } func (v XdrType_Seqid4) XdrUnwrap() XdrType { return v.XdrType_Uint32_t } type XdrType_Slotid4 struct { XdrType_Uint32_t } func XDR_Slotid4(v *Slotid4) *XdrType_Slotid4 { return &XdrType_Slotid4{XDR_Uint32_t(v)} } func (XdrType_Slotid4) XdrTypeName() string { return "Slotid4" } func (v XdrType_Slotid4) XdrUnwrap() XdrType { return v.XdrType_Uint32_t } type XdrType_Utf8string struct { XdrVecOpaque } func XDR_Utf8string(v *Utf8string) XdrType_Utf8string { return XdrType_Utf8string{XdrVecOpaque{v, 0xffffffff}} } func (XdrType_Utf8string) XdrTypeName() string { return "Utf8string" } func (v XdrType_Utf8string) XdrUnwrap() XdrType { return v.XdrVecOpaque } type XdrType_Utf8str_cis struct { XdrType_Utf8string } func XDR_Utf8str_cis(v *Utf8str_cis) XdrType_Utf8str_cis { return XdrType_Utf8str_cis{XDR_Utf8string(v)} } func (XdrType_Utf8str_cis) XdrTypeName() string { return "Utf8str_cis" } func (v XdrType_Utf8str_cis) XdrUnwrap() XdrType { return v.XdrType_Utf8string } type XdrType_Utf8str_cs struct { XdrType_Utf8string } func XDR_Utf8str_cs(v *Utf8str_cs) XdrType_Utf8str_cs { return XdrType_Utf8str_cs{XDR_Utf8string(v)} } func (XdrType_Utf8str_cs) XdrTypeName() string { return "Utf8str_cs" } func (v XdrType_Utf8str_cs) XdrUnwrap() XdrType { return v.XdrType_Utf8string } type XdrType_Utf8str_mixed struct { XdrType_Utf8string } func XDR_Utf8str_mixed(v *Utf8str_mixed) XdrType_Utf8str_mixed { return XdrType_Utf8str_mixed{XDR_Utf8string(v)} } func (XdrType_Utf8str_mixed) XdrTypeName() string { return "Utf8str_mixed" } func (v XdrType_Utf8str_mixed) XdrUnwrap() XdrType { return v.XdrType_Utf8string } type XdrType_Component4 struct { XdrType_Utf8str_cs } func XDR_Component4(v *Component4) XdrType_Component4 { return XdrType_Component4{XDR_Utf8str_cs(v)} } func (XdrType_Component4) XdrTypeName() string { return "Component4" } func (v XdrType_Component4) XdrUnwrap() XdrType { return v.XdrType_Utf8str_cs } type _XdrVec_unbounded_Component4 []Component4 func (_XdrVec_unbounded_Component4) XdrBound() uint32 { const bound uint32 = 4294967295 // Force error if not const or doesn't fit return bound } func (_XdrVec_unbounded_Component4) XdrCheckLen(length uint32) { if length > uint32(4294967295) { XdrPanic("_XdrVec_unbounded_Component4 length %d exceeds bound 4294967295", length) } else if int(length) < 0 { XdrPanic("_XdrVec_unbounded_Component4 length %d exceeds max int", length) } } func (v _XdrVec_unbounded_Component4) GetVecLen() uint32 { return uint32(len(v)) } func (v *_XdrVec_unbounded_Component4) SetVecLen(length uint32) { v.XdrCheckLen(length) if int(length) <= cap(*v) { if int(length) != len(*v) { *v = (*v)[:int(length)] } return } newcap := 2*cap(*v) if newcap < int(length) { // also catches overflow where 2*cap < 0 newcap = int(length) } else if bound := uint(4294967295); uint(newcap) > bound { if int(bound) < 0 { bound = ^uint(0) >> 1 } newcap = int(bound) } nv := make([]Component4, int(length), newcap) copy(nv, *v) *v = nv } func (v *_XdrVec_unbounded_Component4) XdrMarshalN(x XDR, name string, n uint32) { v.XdrCheckLen(n) for i := 0; i < int(n); i++ { if (i >= len(*v)) { v.SetVecLen(uint32(i+1)) } XDR_Component4(&(*v)[i]).XdrMarshal(x, x.Sprintf("%s[%d]", name, i)) } if int(n) < len(*v) { *v = (*v)[:int(n)] } } func (v *_XdrVec_unbounded_Component4) XdrRecurse(x XDR, name string) { size := XdrSize{ Size: uint32(len(*v)), Bound: 4294967295 } x.Marshal(name, &size) v.XdrMarshalN(x, name, size.Size) } func (_XdrVec_unbounded_Component4) XdrTypeName() string { return "Component4<>" } func (v *_XdrVec_unbounded_Component4) XdrPointer() interface{} { return (*[]Component4)(v) } func (v _XdrVec_unbounded_Component4) XdrValue() interface{} { return ([]Component4)(v) } func (v *_XdrVec_unbounded_Component4) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } type XdrType_Pathname4 struct { *_XdrVec_unbounded_Component4 } func XDR_Pathname4(v *Pathname4) XdrType_Pathname4 { return XdrType_Pathname4{(*_XdrVec_unbounded_Component4)(v)} } func (XdrType_Pathname4) XdrTypeName() string { return "Pathname4" } func (v XdrType_Pathname4) XdrUnwrap() XdrType { return v._XdrVec_unbounded_Component4 } type XdrType_Nfs_lockid4 struct { XdrType_Uint64_t } func XDR_Nfs_lockid4(v *Nfs_lockid4) XdrType_Nfs_lockid4 { return XdrType_Nfs_lockid4{XDR_Uint64_t(v)} } func (XdrType_Nfs_lockid4) XdrTypeName() string { return "Nfs_lockid4" } func (v XdrType_Nfs_lockid4) XdrUnwrap() XdrType { return v.XdrType_Uint64_t } type XdrType_Nfs_cookie4 struct { XdrType_Uint64_t } func XDR_Nfs_cookie4(v *Nfs_cookie4) *XdrType_Nfs_cookie4 { return &XdrType_Nfs_cookie4{XDR_Uint64_t(v)} } func (XdrType_Nfs_cookie4) XdrTypeName() string { return "Nfs_cookie4" } func (v XdrType_Nfs_cookie4) XdrUnwrap() XdrType { return v.XdrType_Uint64_t } type XdrType_Linktext4 struct { XdrType_Utf8str_cs } func XDR_Linktext4(v *Linktext4) XdrType_Linktext4 { return XdrType_Linktext4{XDR_Utf8str_cs(v)} } func (XdrType_Linktext4) XdrTypeName() string { return "Linktext4" } func (v XdrType_Linktext4) XdrUnwrap() XdrType { return v.XdrType_Utf8str_cs } type XdrType_Sec_oid4 struct { XdrVecOpaque } func XDR_Sec_oid4(v *Sec_oid4) XdrType_Sec_oid4 { return XdrType_Sec_oid4{XdrVecOpaque{v, 0xffffffff}} } func (XdrType_Sec_oid4) XdrTypeName() string { return "Sec_oid4" } func (v XdrType_Sec_oid4) XdrUnwrap() XdrType { return v.XdrVecOpaque } type XdrType_Qop4 struct { XdrType_Uint32_t } func XDR_Qop4(v *Qop4) *XdrType_Qop4 { return &XdrType_Qop4{XDR_Uint32_t(v)} } func (XdrType_Qop4) XdrTypeName() string { return "Qop4" } func (v XdrType_Qop4) XdrUnwrap() XdrType { return v.XdrType_Uint32_t } type XdrType_Mode4 struct { XdrType_Uint32_t } func XDR_Mode4(v *Mode4) XdrType_Mode4 { return XdrType_Mode4{XDR_Uint32_t(v)} } func (XdrType_Mode4) XdrTypeName() string { return "Mode4" } func (v XdrType_Mode4) XdrUnwrap() XdrType { return v.XdrType_Uint32_t } type XdrType_Changeid4 struct { XdrType_Uint64_t } func XDR_Changeid4(v *Changeid4) *XdrType_Changeid4 { return &XdrType_Changeid4{XDR_Uint64_t(v)} } func (XdrType_Changeid4) XdrTypeName() string { return "Changeid4" } func (v XdrType_Changeid4) XdrUnwrap() XdrType { return v.XdrType_Uint64_t } type _XdrArray_8_opaque [8]byte func (v *_XdrArray_8_opaque) GetByteSlice() []byte { return v[:] } func (v *_XdrArray_8_opaque) XdrTypeName() string { return "opaque[]" } func (v *_XdrArray_8_opaque) XdrValue() interface{} { return v[:] } func (v *_XdrArray_8_opaque) XdrPointer() interface{} { return (*[8]byte)(v) } func (v *_XdrArray_8_opaque) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *_XdrArray_8_opaque) String() string { return fmt.Sprintf("%x", v[:]) } func (v *_XdrArray_8_opaque) Scan(ss fmt.ScanState, c rune) error { return XdrArrayOpaqueScan(v[:], ss, c) } func (_XdrArray_8_opaque) XdrArraySize() uint32 { const bound uint32 = 8 // Force error if not const or doesn't fit return bound } type XdrType_Verifier4 struct { *_XdrArray_8_opaque } func XDR_Verifier4(v *Verifier4) XdrType_Verifier4 { return XdrType_Verifier4{(*_XdrArray_8_opaque)(v)} } func (XdrType_Verifier4) XdrTypeName() string { return "Verifier4" } func (v XdrType_Verifier4) XdrUnwrap() XdrType { return v._XdrArray_8_opaque } type _XdrArray_16_opaque [16]byte func (v *_XdrArray_16_opaque) GetByteSlice() []byte { return v[:] } func (v *_XdrArray_16_opaque) XdrTypeName() string { return "opaque[]" } func (v *_XdrArray_16_opaque) XdrValue() interface{} { return v[:] } func (v *_XdrArray_16_opaque) XdrPointer() interface{} { return (*[16]byte)(v) } func (v *_XdrArray_16_opaque) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *_XdrArray_16_opaque) String() string { return fmt.Sprintf("%x", v[:]) } func (v *_XdrArray_16_opaque) Scan(ss fmt.ScanState, c rune) error { return XdrArrayOpaqueScan(v[:], ss, c) } func (_XdrArray_16_opaque) XdrArraySize() uint32 { const bound uint32 = 16 // Force error if not const or doesn't fit return bound } type XdrType_Sessionid4 struct { *_XdrArray_16_opaque } func XDR_Sessionid4(v *Sessionid4) XdrType_Sessionid4 { return XdrType_Sessionid4{(*_XdrArray_16_opaque)(v)} } func (XdrType_Sessionid4) XdrTypeName() string { return "Sessionid4" } func (v XdrType_Sessionid4) XdrUnwrap() XdrType { return v._XdrArray_16_opaque } type _XdrVec_16_uint32 []uint32 func (_XdrVec_16_uint32) XdrBound() uint32 { const bound uint32 = 16 // Force error if not const or doesn't fit return bound } func (_XdrVec_16_uint32) XdrCheckLen(length uint32) { if length > uint32(16) { XdrPanic("_XdrVec_16_uint32 length %d exceeds bound 16", length) } else if int(length) < 0 { XdrPanic("_XdrVec_16_uint32 length %d exceeds max int", length) } } func (v _XdrVec_16_uint32) GetVecLen() uint32 { return uint32(len(v)) } func (v *_XdrVec_16_uint32) SetVecLen(length uint32) { v.XdrCheckLen(length) if int(length) <= cap(*v) { if int(length) != len(*v) { *v = (*v)[:int(length)] } return } newcap := 2*cap(*v) if newcap < int(length) { // also catches overflow where 2*cap < 0 newcap = int(length) } else if bound := uint(16); uint(newcap) > bound { if int(bound) < 0 { bound = ^uint(0) >> 1 } newcap = int(bound) } nv := make([]uint32, int(length), newcap) copy(nv, *v) *v = nv } func (v *_XdrVec_16_uint32) XdrMarshalN(x XDR, name string, n uint32) { v.XdrCheckLen(n) for i := 0; i < int(n); i++ { if (i >= len(*v)) { v.SetVecLen(uint32(i+1)) } XDR_uint32(&(*v)[i]).XdrMarshal(x, x.Sprintf("%s[%d]", name, i)) } if int(n) < len(*v) { *v = (*v)[:int(n)] } } func (v *_XdrVec_16_uint32) XdrRecurse(x XDR, name string) { size := XdrSize{ Size: uint32(len(*v)), Bound: 16 } x.Marshal(name, &size) v.XdrMarshalN(x, name, size.Size) } func (_XdrVec_16_uint32) XdrTypeName() string { return "uint32<>" } func (v *_XdrVec_16_uint32) XdrPointer() interface{} { return (*[]uint32)(v) } func (v _XdrVec_16_uint32) XdrValue() interface{} { return ([]uint32)(v) } func (v *_XdrVec_16_uint32) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } type XdrType_Authsys_parms = *Authsys_parms func (v *Authsys_parms) XdrPointer() interface{} { return v } func (Authsys_parms) XdrTypeName() string { return "Authsys_parms" } func (v Authsys_parms) XdrValue() interface{} { return v } func (v *Authsys_parms) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *Authsys_parms) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%sstamp", name), XDR_uint32(&v.Stamp)) x.Marshal(x.Sprintf("%smachinename", name), XdrString{&v.Machinename, 255}) x.Marshal(x.Sprintf("%suid", name), XDR_uint32(&v.Uid)) x.Marshal(x.Sprintf("%sgid", name), XDR_uint32(&v.Gid)) x.Marshal(x.Sprintf("%sgids", name), (*_XdrVec_16_uint32)(&v.Gids)) } func XDR_Authsys_parms(v *Authsys_parms) *Authsys_parms { return v } type XdrType_Deviceid4 struct { *_XdrArray_16_opaque } func XDR_Deviceid4(v *Deviceid4) *XdrType_Deviceid4 { return &XdrType_Deviceid4{(*_XdrArray_16_opaque)(v)} } func (XdrType_Deviceid4) XdrTypeName() string { return "Deviceid4" } func (v XdrType_Deviceid4) XdrUnwrap() XdrType { return v._XdrArray_16_opaque } var _XdrNames_Layouttype4 = map[int32]string{ int32(LAYOUT4_NFSV4_1_FILES): "LAYOUT4_NFSV4_1_FILES", int32(LAYOUT4_OSD2_OBJECTS): "LAYOUT4_OSD2_OBJECTS", int32(LAYOUT4_BLOCK_VOLUME): "LAYOUT4_BLOCK_VOLUME", } var _XdrValues_Layouttype4 = map[string]int32{ "LAYOUT4_NFSV4_1_FILES": int32(LAYOUT4_NFSV4_1_FILES), "LAYOUT4_OSD2_OBJECTS": int32(LAYOUT4_OSD2_OBJECTS), "LAYOUT4_BLOCK_VOLUME": int32(LAYOUT4_BLOCK_VOLUME), } func (Layouttype4) XdrEnumNames() map[int32]string { return _XdrNames_Layouttype4 } func (v Layouttype4) String() string { if s, ok := _XdrNames_Layouttype4[int32(v)]; ok { return s } return fmt.Sprintf("Layouttype4#%d", v) } func (v *Layouttype4) Scan(ss fmt.ScanState, _ rune) error { if tok, err := ss.Token(true, XdrSymChar); err != nil { return err } else { stok := string(tok) if val, ok := _XdrValues_Layouttype4[stok]; ok { *v = Layouttype4(val) return nil } else if stok == "Layouttype4" { if n, err := fmt.Fscanf(ss, "#%d", (*int32)(v)); n == 1 && err == nil { return nil } } return XdrError(fmt.Sprintf("%s is not a valid Layouttype4.", stok)) } } func (v Layouttype4) GetU32() uint32 { return uint32(v) } func (v *Layouttype4) SetU32(n uint32) { *v = Layouttype4(n) } func (v *Layouttype4) XdrPointer() interface{} { return v } func (Layouttype4) XdrTypeName() string { return "Layouttype4" } func (v Layouttype4) XdrValue() interface{} { return v } func (v *Layouttype4) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } type XdrType_Layouttype4 = *Layouttype4 func XDR_Layouttype4(v *Layouttype4) *Layouttype4 { return v } func (v *Layouttype4) XdrInitialize() { switch Layouttype4(0) { case LAYOUT4_NFSV4_1_FILES, LAYOUT4_OSD2_OBJECTS, LAYOUT4_BLOCK_VOLUME: default: if *v == Layouttype4(0) { *v = LAYOUT4_NFSV4_1_FILES } } } type XdrType_Layoutupdate4 = *Layoutupdate4 func (v *Layoutupdate4) XdrPointer() interface{} { return v } func (Layoutupdate4) XdrTypeName() string { return "Layoutupdate4" } func (v Layoutupdate4) XdrValue() interface{} { return v } func (v *Layoutupdate4) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *Layoutupdate4) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%slou_type", name), XDR_Layouttype4(&v.Lou_type)) x.Marshal(x.Sprintf("%slou_body", name), XdrVecOpaque{&v.Lou_body, 0xffffffff}) } func XDR_Layoutupdate4(v *Layoutupdate4) *Layoutupdate4 { return v } type XdrType_Device_addr4 = *Device_addr4 func (v *Device_addr4) XdrPointer() interface{} { return v } func (Device_addr4) XdrTypeName() string { return "Device_addr4" } func (v Device_addr4) XdrValue() interface{} { return v } func (v *Device_addr4) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *Device_addr4) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%sda_layout_type", name), XDR_Layouttype4(&v.Da_layout_type)) x.Marshal(x.Sprintf("%sda_addr_body", name), XdrVecOpaque{&v.Da_addr_body, 0xffffffff}) } func XDR_Device_addr4(v *Device_addr4) *Device_addr4 { return v } type XdrType_Nfstime4 = *Nfstime4 func (v *Nfstime4) XdrPointer() interface{} { return v } func (Nfstime4) XdrTypeName() string { return "Nfstime4" } func (v Nfstime4) XdrValue() interface{} { return v } func (v *Nfstime4) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *Nfstime4) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%sseconds", name), XDR_Int64_t(&v.Seconds)) x.Marshal(x.Sprintf("%snseconds", name), XDR_Uint32_t(&v.Nseconds)) } func XDR_Nfstime4(v *Nfstime4) *Nfstime4 { return v } var _XdrNames_Time_how4 = map[int32]string{ int32(SET_TO_SERVER_TIME4): "SET_TO_SERVER_TIME4", int32(SET_TO_CLIENT_TIME4): "SET_TO_CLIENT_TIME4", } var _XdrValues_Time_how4 = map[string]int32{ "SET_TO_SERVER_TIME4": int32(SET_TO_SERVER_TIME4), "SET_TO_CLIENT_TIME4": int32(SET_TO_CLIENT_TIME4), } func (Time_how4) XdrEnumNames() map[int32]string { return _XdrNames_Time_how4 } func (v Time_how4) String() string { if s, ok := _XdrNames_Time_how4[int32(v)]; ok { return s } return fmt.Sprintf("Time_how4#%d", v) } func (v *Time_how4) Scan(ss fmt.ScanState, _ rune) error { if tok, err := ss.Token(true, XdrSymChar); err != nil { return err } else { stok := string(tok) if val, ok := _XdrValues_Time_how4[stok]; ok { *v = Time_how4(val) return nil } else if stok == "Time_how4" { if n, err := fmt.Fscanf(ss, "#%d", (*int32)(v)); n == 1 && err == nil { return nil } } return XdrError(fmt.Sprintf("%s is not a valid Time_how4.", stok)) } } func (v Time_how4) GetU32() uint32 { return uint32(v) } func (v *Time_how4) SetU32(n uint32) { *v = Time_how4(n) } func (v *Time_how4) XdrPointer() interface{} { return v } func (Time_how4) XdrTypeName() string { return "Time_how4" } func (v Time_how4) XdrValue() interface{} { return v } func (v *Time_how4) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } type XdrType_Time_how4 = *Time_how4 func XDR_Time_how4(v *Time_how4) *Time_how4 { return v } var _XdrNames_Layoutiomode4 = map[int32]string{ int32(LAYOUTIOMODE4_READ): "LAYOUTIOMODE4_READ", int32(LAYOUTIOMODE4_RW): "LAYOUTIOMODE4_RW", int32(LAYOUTIOMODE4_ANY): "LAYOUTIOMODE4_ANY", } var _XdrValues_Layoutiomode4 = map[string]int32{ "LAYOUTIOMODE4_READ": int32(LAYOUTIOMODE4_READ), "LAYOUTIOMODE4_RW": int32(LAYOUTIOMODE4_RW), "LAYOUTIOMODE4_ANY": int32(LAYOUTIOMODE4_ANY), } func (Layoutiomode4) XdrEnumNames() map[int32]string { return _XdrNames_Layoutiomode4 } func (v Layoutiomode4) String() string { if s, ok := _XdrNames_Layoutiomode4[int32(v)]; ok { return s } return fmt.Sprintf("Layoutiomode4#%d", v) } func (v *Layoutiomode4) Scan(ss fmt.ScanState, _ rune) error { if tok, err := ss.Token(true, XdrSymChar); err != nil { return err } else { stok := string(tok) if val, ok := _XdrValues_Layoutiomode4[stok]; ok { *v = Layoutiomode4(val) return nil } else if stok == "Layoutiomode4" { if n, err := fmt.Fscanf(ss, "#%d", (*int32)(v)); n == 1 && err == nil { return nil } } return XdrError(fmt.Sprintf("%s is not a valid Layoutiomode4.", stok)) } } func (v Layoutiomode4) GetU32() uint32 { return uint32(v) } func (v *Layoutiomode4) SetU32(n uint32) { *v = Layoutiomode4(n) } func (v *Layoutiomode4) XdrPointer() interface{} { return v } func (Layoutiomode4) XdrTypeName() string { return "Layoutiomode4" } func (v Layoutiomode4) XdrValue() interface{} { return v } func (v *Layoutiomode4) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } type XdrType_Layoutiomode4 = *Layoutiomode4 func XDR_Layoutiomode4(v *Layoutiomode4) *Layoutiomode4 { return v } func (v *Layoutiomode4) XdrInitialize() { switch Layoutiomode4(0) { case LAYOUTIOMODE4_READ, LAYOUTIOMODE4_RW, LAYOUTIOMODE4_ANY: default: if *v == Layoutiomode4(0) { *v = LAYOUTIOMODE4_READ } } } type XdrType_Layout_content4 = *Layout_content4 func (v *Layout_content4) XdrPointer() interface{} { return v } func (Layout_content4) XdrTypeName() string { return "Layout_content4" } func (v Layout_content4) XdrValue() interface{} { return v } func (v *Layout_content4) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *Layout_content4) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%sloc_type", name), XDR_Layouttype4(&v.Loc_type)) x.Marshal(x.Sprintf("%sloc_body", name), XdrVecOpaque{&v.Loc_body, 0xffffffff}) } func XDR_Layout_content4(v *Layout_content4) *Layout_content4 { return v } type XdrType_Layout4 = *Layout4 func (v *Layout4) XdrPointer() interface{} { return v } func (Layout4) XdrTypeName() string { return "Layout4" } func (v Layout4) XdrValue() interface{} { return v } func (v *Layout4) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *Layout4) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%slo_offset", name), XDR_Offset4(&v.Lo_offset)) x.Marshal(x.Sprintf("%slo_length", name), XDR_Length4(&v.Lo_length)) x.Marshal(x.Sprintf("%slo_iomode", name), XDR_Layoutiomode4(&v.Lo_iomode)) x.Marshal(x.Sprintf("%slo_content", name), XDR_Layout_content4(&v.Lo_content)) } func XDR_Layout4(v *Layout4) *Layout4 { return v } func (u *Settime4) Time() *Nfstime4 { switch u.Set_it { case SET_TO_CLIENT_TIME4: if v, ok := u.U.(*Nfstime4); ok { return v } else { var zero Nfstime4 u.U = &zero return &zero } default: XdrPanic("Settime4.Time accessed when Set_it == %v", u.Set_it) return nil } } func (u Settime4) XdrValid() bool { return true } func (u *Settime4) XdrUnionTag() XdrNum32 { return XDR_Time_how4(&u.Set_it) } func (u *Settime4) XdrUnionTagName() string { return "Set_it" } func (u *Settime4) XdrUnionBody() XdrType { switch u.Set_it { case SET_TO_CLIENT_TIME4: return XDR_Nfstime4(u.Time()) default: return nil } } func (u *Settime4) XdrUnionBodyName() string { switch u.Set_it { case SET_TO_CLIENT_TIME4: return "Time" default: return "" } } type XdrType_Settime4 = *Settime4 func (v *Settime4) XdrPointer() interface{} { return v } func (Settime4) XdrTypeName() string { return "Settime4" } func (v Settime4) XdrValue() interface{} { return v } func (v *Settime4) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (u *Settime4) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } XDR_Time_how4(&u.Set_it).XdrMarshal(x, x.Sprintf("%sset_it", name)) switch u.Set_it { case SET_TO_CLIENT_TIME4: x.Marshal(x.Sprintf("%stime", name), XDR_Nfstime4(u.Time())) return default: return } } func XDR_Settime4(v *Settime4) *Settime4 { return v} type XdrType_Nfs_fh4 struct { XdrVecOpaque } func XDR_Nfs_fh4(v *Nfs_fh4) XdrType_Nfs_fh4 { return XdrType_Nfs_fh4{XdrVecOpaque{v, NFS4_FHSIZE}} } func (XdrType_Nfs_fh4) XdrTypeName() string { return "Nfs_fh4" } func (v XdrType_Nfs_fh4) XdrUnwrap() XdrType { return v.XdrVecOpaque } type XdrType_Fsid4 = *Fsid4 func (v *Fsid4) XdrPointer() interface{} { return v } func (Fsid4) XdrTypeName() string { return "Fsid4" } func (v Fsid4) XdrValue() interface{} { return v } func (v *Fsid4) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *Fsid4) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%smajor", name), XDR_Uint64_t(&v.Major)) x.Marshal(x.Sprintf("%sminor", name), XDR_Uint64_t(&v.Minor)) } func XDR_Fsid4(v *Fsid4) *Fsid4 { return v } type _XdrVec_unbounded_Utf8str_cis []Utf8str_cis func (_XdrVec_unbounded_Utf8str_cis) XdrBound() uint32 { const bound uint32 = 4294967295 // Force error if not const or doesn't fit return bound } func (_XdrVec_unbounded_Utf8str_cis) XdrCheckLen(length uint32) { if length > uint32(4294967295) { XdrPanic("_XdrVec_unbounded_Utf8str_cis length %d exceeds bound 4294967295", length) } else if int(length) < 0 { XdrPanic("_XdrVec_unbounded_Utf8str_cis length %d exceeds max int", length) } } func (v _XdrVec_unbounded_Utf8str_cis) GetVecLen() uint32 { return uint32(len(v)) } func (v *_XdrVec_unbounded_Utf8str_cis) SetVecLen(length uint32) { v.XdrCheckLen(length) if int(length) <= cap(*v) { if int(length) != len(*v) { *v = (*v)[:int(length)] } return } newcap := 2*cap(*v) if newcap < int(length) { // also catches overflow where 2*cap < 0 newcap = int(length) } else if bound := uint(4294967295); uint(newcap) > bound { if int(bound) < 0 { bound = ^uint(0) >> 1 } newcap = int(bound) } nv := make([]Utf8str_cis, int(length), newcap) copy(nv, *v) *v = nv } func (v *_XdrVec_unbounded_Utf8str_cis) XdrMarshalN(x XDR, name string, n uint32) { v.XdrCheckLen(n) for i := 0; i < int(n); i++ { if (i >= len(*v)) { v.SetVecLen(uint32(i+1)) } XDR_Utf8str_cis(&(*v)[i]).XdrMarshal(x, x.Sprintf("%s[%d]", name, i)) } if int(n) < len(*v) { *v = (*v)[:int(n)] } } func (v *_XdrVec_unbounded_Utf8str_cis) XdrRecurse(x XDR, name string) { size := XdrSize{ Size: uint32(len(*v)), Bound: 4294967295 } x.Marshal(name, &size) v.XdrMarshalN(x, name, size.Size) } func (_XdrVec_unbounded_Utf8str_cis) XdrTypeName() string { return "Utf8str_cis<>" } func (v *_XdrVec_unbounded_Utf8str_cis) XdrPointer() interface{} { return (*[]Utf8str_cis)(v) } func (v _XdrVec_unbounded_Utf8str_cis) XdrValue() interface{} { return ([]Utf8str_cis)(v) } func (v *_XdrVec_unbounded_Utf8str_cis) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } type XdrType_Fs_location4 = *Fs_location4 func (v *Fs_location4) XdrPointer() interface{} { return v } func (Fs_location4) XdrTypeName() string { return "Fs_location4" } func (v Fs_location4) XdrValue() interface{} { return v } func (v *Fs_location4) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *Fs_location4) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%sserver", name), (*_XdrVec_unbounded_Utf8str_cis)(&v.Server)) x.Marshal(x.Sprintf("%srootpath", name), XDR_Pathname4(&v.Rootpath)) } func XDR_Fs_location4(v *Fs_location4) *Fs_location4 { return v } type _XdrVec_unbounded_Fs_location4 []Fs_location4 func (_XdrVec_unbounded_Fs_location4) XdrBound() uint32 { const bound uint32 = 4294967295 // Force error if not const or doesn't fit return bound } func (_XdrVec_unbounded_Fs_location4) XdrCheckLen(length uint32) { if length > uint32(4294967295) { XdrPanic("_XdrVec_unbounded_Fs_location4 length %d exceeds bound 4294967295", length) } else if int(length) < 0 { XdrPanic("_XdrVec_unbounded_Fs_location4 length %d exceeds max int", length) } } func (v _XdrVec_unbounded_Fs_location4) GetVecLen() uint32 { return uint32(len(v)) } func (v *_XdrVec_unbounded_Fs_location4) SetVecLen(length uint32) { v.XdrCheckLen(length) if int(length) <= cap(*v) { if int(length) != len(*v) { *v = (*v)[:int(length)] } return } newcap := 2*cap(*v) if newcap < int(length) { // also catches overflow where 2*cap < 0 newcap = int(length) } else if bound := uint(4294967295); uint(newcap) > bound { if int(bound) < 0 { bound = ^uint(0) >> 1 } newcap = int(bound) } nv := make([]Fs_location4, int(length), newcap) copy(nv, *v) *v = nv } func (v *_XdrVec_unbounded_Fs_location4) XdrMarshalN(x XDR, name string, n uint32) { v.XdrCheckLen(n) for i := 0; i < int(n); i++ { if (i >= len(*v)) { v.SetVecLen(uint32(i+1)) } XDR_Fs_location4(&(*v)[i]).XdrMarshal(x, x.Sprintf("%s[%d]", name, i)) } if int(n) < len(*v) { *v = (*v)[:int(n)] } } func (v *_XdrVec_unbounded_Fs_location4) XdrRecurse(x XDR, name string) { size := XdrSize{ Size: uint32(len(*v)), Bound: 4294967295 } x.Marshal(name, &size) v.XdrMarshalN(x, name, size.Size) } func (_XdrVec_unbounded_Fs_location4) XdrTypeName() string { return "Fs_location4<>" } func (v *_XdrVec_unbounded_Fs_location4) XdrPointer() interface{} { return (*[]Fs_location4)(v) } func (v _XdrVec_unbounded_Fs_location4) XdrValue() interface{} { return ([]Fs_location4)(v) } func (v *_XdrVec_unbounded_Fs_location4) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } type XdrType_Fs_locations4 = *Fs_locations4 func (v *Fs_locations4) XdrPointer() interface{} { return v } func (Fs_locations4) XdrTypeName() string { return "Fs_locations4" } func (v Fs_locations4) XdrValue() interface{} { return v } func (v *Fs_locations4) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *Fs_locations4) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%sfs_root", name), XDR_Pathname4(&v.Fs_root)) x.Marshal(x.Sprintf("%slocations", name), (*_XdrVec_unbounded_Fs_location4)(&v.Locations)) } func XDR_Fs_locations4(v *Fs_locations4) *Fs_locations4 { return v } type XdrType_Acetype4 struct { XdrType_Uint32_t } func XDR_Acetype4(v *Acetype4) *XdrType_Acetype4 { return &XdrType_Acetype4{XDR_Uint32_t(v)} } func (XdrType_Acetype4) XdrTypeName() string { return "Acetype4" } func (v XdrType_Acetype4) XdrUnwrap() XdrType { return v.XdrType_Uint32_t } type XdrType_Aceflag4 struct { XdrType_Uint32_t } func XDR_Aceflag4(v *Aceflag4) *XdrType_Aceflag4 { return &XdrType_Aceflag4{XDR_Uint32_t(v)} } func (XdrType_Aceflag4) XdrTypeName() string { return "Aceflag4" } func (v XdrType_Aceflag4) XdrUnwrap() XdrType { return v.XdrType_Uint32_t } type XdrType_Acemask4 struct { XdrType_Uint32_t } func XDR_Acemask4(v *Acemask4) *XdrType_Acemask4 { return &XdrType_Acemask4{XDR_Uint32_t(v)} } func (XdrType_Acemask4) XdrTypeName() string { return "Acemask4" } func (v XdrType_Acemask4) XdrUnwrap() XdrType { return v.XdrType_Uint32_t } type XdrType_Nfsace4 = *Nfsace4 func (v *Nfsace4) XdrPointer() interface{} { return v } func (Nfsace4) XdrTypeName() string { return "Nfsace4" } func (v Nfsace4) XdrValue() interface{} { return v } func (v *Nfsace4) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *Nfsace4) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%stype", name), XDR_Acetype4(&v.Type)) x.Marshal(x.Sprintf("%sflag", name), XDR_Aceflag4(&v.Flag)) x.Marshal(x.Sprintf("%saccess_mask", name), XDR_Acemask4(&v.Access_mask)) x.Marshal(x.Sprintf("%swho", name), XDR_Utf8str_mixed(&v.Who)) } func XDR_Nfsace4(v *Nfsace4) *Nfsace4 { return v } type XdrType_Specdata4 = *Specdata4 func (v *Specdata4) XdrPointer() interface{} { return v } func (Specdata4) XdrTypeName() string { return "Specdata4" } func (v Specdata4) XdrValue() interface{} { return v } func (v *Specdata4) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *Specdata4) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%sspecdata1", name), XDR_Uint32_t(&v.Specdata1)) x.Marshal(x.Sprintf("%sspecdata2", name), XDR_Uint32_t(&v.Specdata2)) } func XDR_Specdata4(v *Specdata4) *Specdata4 { return v } type XdrType_Fattr4_supported_attrs struct { XdrType_Bitmap4 } func XDR_Fattr4_supported_attrs(v *Fattr4_supported_attrs) XdrType_Fattr4_supported_attrs { return XdrType_Fattr4_supported_attrs{XDR_Bitmap4(v)} } func (XdrType_Fattr4_supported_attrs) XdrTypeName() string { return "Fattr4_supported_attrs" } func (v XdrType_Fattr4_supported_attrs) XdrUnwrap() XdrType { return v.XdrType_Bitmap4 } type XdrType_Fattr4_type struct { XdrType_Nfs_ftype4 } func XDR_Fattr4_type(v *Fattr4_type) XdrType_Fattr4_type { return XdrType_Fattr4_type{XDR_Nfs_ftype4(v)} } func (XdrType_Fattr4_type) XdrTypeName() string { return "Fattr4_type" } func (v XdrType_Fattr4_type) XdrUnwrap() XdrType { return v.XdrType_Nfs_ftype4 } type XdrType_Fattr4_fh_expire_type struct { XdrType_Uint32_t } func XDR_Fattr4_fh_expire_type(v *Fattr4_fh_expire_type) XdrType_Fattr4_fh_expire_type { return XdrType_Fattr4_fh_expire_type{XDR_Uint32_t(v)} } func (XdrType_Fattr4_fh_expire_type) XdrTypeName() string { return "Fattr4_fh_expire_type" } func (v XdrType_Fattr4_fh_expire_type) XdrUnwrap() XdrType { return v.XdrType_Uint32_t } type XdrType_Fattr4_change struct { XdrType_Changeid4 } func XDR_Fattr4_change(v *Fattr4_change) *XdrType_Fattr4_change { return &XdrType_Fattr4_change{*XDR_Changeid4(v)} } func (XdrType_Fattr4_change) XdrTypeName() string { return "Fattr4_change" } func (v XdrType_Fattr4_change) XdrUnwrap() XdrType { return &v.XdrType_Changeid4 } type XdrType_Fattr4_size struct { XdrType_Uint64_t } func XDR_Fattr4_size(v *Fattr4_size) XdrType_Fattr4_size { return XdrType_Fattr4_size{XDR_Uint64_t(v)} } func (XdrType_Fattr4_size) XdrTypeName() string { return "Fattr4_size" } func (v XdrType_Fattr4_size) XdrUnwrap() XdrType { return v.XdrType_Uint64_t } type XdrType_Fattr4_link_support struct { XdrType_bool } func XDR_Fattr4_link_support(v *Fattr4_link_support) XdrType_Fattr4_link_support { return XdrType_Fattr4_link_support{XDR_bool(v)} } func (XdrType_Fattr4_link_support) XdrTypeName() string { return "Fattr4_link_support" } func (v XdrType_Fattr4_link_support) XdrUnwrap() XdrType { return v.XdrType_bool } type XdrType_Fattr4_symlink_support struct { XdrType_bool } func XDR_Fattr4_symlink_support(v *Fattr4_symlink_support) XdrType_Fattr4_symlink_support { return XdrType_Fattr4_symlink_support{XDR_bool(v)} } func (XdrType_Fattr4_symlink_support) XdrTypeName() string { return "Fattr4_symlink_support" } func (v XdrType_Fattr4_symlink_support) XdrUnwrap() XdrType { return v.XdrType_bool } type XdrType_Fattr4_named_attr struct { XdrType_bool } func XDR_Fattr4_named_attr(v *Fattr4_named_attr) XdrType_Fattr4_named_attr { return XdrType_Fattr4_named_attr{XDR_bool(v)} } func (XdrType_Fattr4_named_attr) XdrTypeName() string { return "Fattr4_named_attr" } func (v XdrType_Fattr4_named_attr) XdrUnwrap() XdrType { return v.XdrType_bool } type XdrType_Fattr4_fsid struct { XdrType_Fsid4 } func XDR_Fattr4_fsid(v *Fattr4_fsid) XdrType_Fattr4_fsid { return XdrType_Fattr4_fsid{XDR_Fsid4(v)} } func (XdrType_Fattr4_fsid) XdrTypeName() string { return "Fattr4_fsid" } func (v XdrType_Fattr4_fsid) XdrUnwrap() XdrType { return v.XdrType_Fsid4 } type XdrType_Fattr4_unique_handles struct { XdrType_bool } func XDR_Fattr4_unique_handles(v *Fattr4_unique_handles) XdrType_Fattr4_unique_handles { return XdrType_Fattr4_unique_handles{XDR_bool(v)} } func (XdrType_Fattr4_unique_handles) XdrTypeName() string { return "Fattr4_unique_handles" } func (v XdrType_Fattr4_unique_handles) XdrUnwrap() XdrType { return v.XdrType_bool } type XdrType_Fattr4_lease_time struct { XdrType_Uint32_t } func XDR_Fattr4_lease_time(v *Fattr4_lease_time) XdrType_Fattr4_lease_time { return XdrType_Fattr4_lease_time{XDR_Uint32_t(v)} } func (XdrType_Fattr4_lease_time) XdrTypeName() string { return "Fattr4_lease_time" } func (v XdrType_Fattr4_lease_time) XdrUnwrap() XdrType { return v.XdrType_Uint32_t } type XdrType_Fattr4_rdattr_error struct { XdrType_Nfsstat4 } func XDR_Fattr4_rdattr_error(v *Fattr4_rdattr_error) XdrType_Fattr4_rdattr_error { return XdrType_Fattr4_rdattr_error{XDR_Nfsstat4(v)} } func (XdrType_Fattr4_rdattr_error) XdrTypeName() string { return "Fattr4_rdattr_error" } func (v XdrType_Fattr4_rdattr_error) XdrUnwrap() XdrType { return v.XdrType_Nfsstat4 } type _XdrVec_unbounded_Nfsace4 []Nfsace4 func (_XdrVec_unbounded_Nfsace4) XdrBound() uint32 { const bound uint32 = 4294967295 // Force error if not const or doesn't fit return bound } func (_XdrVec_unbounded_Nfsace4) XdrCheckLen(length uint32) { if length > uint32(4294967295) { XdrPanic("_XdrVec_unbounded_Nfsace4 length %d exceeds bound 4294967295", length) } else if int(length) < 0 { XdrPanic("_XdrVec_unbounded_Nfsace4 length %d exceeds max int", length) } } func (v _XdrVec_unbounded_Nfsace4) GetVecLen() uint32 { return uint32(len(v)) } func (v *_XdrVec_unbounded_Nfsace4) SetVecLen(length uint32) { v.XdrCheckLen(length) if int(length) <= cap(*v) { if int(length) != len(*v) { *v = (*v)[:int(length)] } return } newcap := 2*cap(*v) if newcap < int(length) { // also catches overflow where 2*cap < 0 newcap = int(length) } else if bound := uint(4294967295); uint(newcap) > bound { if int(bound) < 0 { bound = ^uint(0) >> 1 } newcap = int(bound) } nv := make([]Nfsace4, int(length), newcap) copy(nv, *v) *v = nv } func (v *_XdrVec_unbounded_Nfsace4) XdrMarshalN(x XDR, name string, n uint32) { v.XdrCheckLen(n) for i := 0; i < int(n); i++ { if (i >= len(*v)) { v.SetVecLen(uint32(i+1)) } XDR_Nfsace4(&(*v)[i]).XdrMarshal(x, x.Sprintf("%s[%d]", name, i)) } if int(n) < len(*v) { *v = (*v)[:int(n)] } } func (v *_XdrVec_unbounded_Nfsace4) XdrRecurse(x XDR, name string) { size := XdrSize{ Size: uint32(len(*v)), Bound: 4294967295 } x.Marshal(name, &size) v.XdrMarshalN(x, name, size.Size) } func (_XdrVec_unbounded_Nfsace4) XdrTypeName() string { return "Nfsace4<>" } func (v *_XdrVec_unbounded_Nfsace4) XdrPointer() interface{} { return (*[]Nfsace4)(v) } func (v _XdrVec_unbounded_Nfsace4) XdrValue() interface{} { return ([]Nfsace4)(v) } func (v *_XdrVec_unbounded_Nfsace4) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } type XdrType_Fattr4_acl struct { *_XdrVec_unbounded_Nfsace4 } func XDR_Fattr4_acl(v *Fattr4_acl) XdrType_Fattr4_acl { return XdrType_Fattr4_acl{(*_XdrVec_unbounded_Nfsace4)(v)} } func (XdrType_Fattr4_acl) XdrTypeName() string { return "Fattr4_acl" } func (v XdrType_Fattr4_acl) XdrUnwrap() XdrType { return v._XdrVec_unbounded_Nfsace4 } type XdrType_Fattr4_aclsupport struct { XdrType_Uint32_t } func XDR_Fattr4_aclsupport(v *Fattr4_aclsupport) XdrType_Fattr4_aclsupport { return XdrType_Fattr4_aclsupport{XDR_Uint32_t(v)} } func (XdrType_Fattr4_aclsupport) XdrTypeName() string { return "Fattr4_aclsupport" } func (v XdrType_Fattr4_aclsupport) XdrUnwrap() XdrType { return v.XdrType_Uint32_t } type XdrType_Fattr4_archive struct { XdrType_bool } func XDR_Fattr4_archive(v *Fattr4_archive) XdrType_Fattr4_archive { return XdrType_Fattr4_archive{XDR_bool(v)} } func (XdrType_Fattr4_archive) XdrTypeName() string { return "Fattr4_archive" } func (v XdrType_Fattr4_archive) XdrUnwrap() XdrType { return v.XdrType_bool } type XdrType_Fattr4_cansettime struct { XdrType_bool } func XDR_Fattr4_cansettime(v *Fattr4_cansettime) XdrType_Fattr4_cansettime { return XdrType_Fattr4_cansettime{XDR_bool(v)} } func (XdrType_Fattr4_cansettime) XdrTypeName() string { return "Fattr4_cansettime" } func (v XdrType_Fattr4_cansettime) XdrUnwrap() XdrType { return v.XdrType_bool } type XdrType_Fattr4_case_insensitive struct { XdrType_bool } func XDR_Fattr4_case_insensitive(v *Fattr4_case_insensitive) XdrType_Fattr4_case_insensitive { return XdrType_Fattr4_case_insensitive{XDR_bool(v)} } func (XdrType_Fattr4_case_insensitive) XdrTypeName() string { return "Fattr4_case_insensitive" } func (v XdrType_Fattr4_case_insensitive) XdrUnwrap() XdrType { return v.XdrType_bool } type XdrType_Fattr4_case_preserving struct { XdrType_bool } func XDR_Fattr4_case_preserving(v *Fattr4_case_preserving) XdrType_Fattr4_case_preserving { return XdrType_Fattr4_case_preserving{XDR_bool(v)} } func (XdrType_Fattr4_case_preserving) XdrTypeName() string { return "Fattr4_case_preserving" } func (v XdrType_Fattr4_case_preserving) XdrUnwrap() XdrType { return v.XdrType_bool } type XdrType_Fattr4_chown_restricted struct { XdrType_bool } func XDR_Fattr4_chown_restricted(v *Fattr4_chown_restricted) XdrType_Fattr4_chown_restricted { return XdrType_Fattr4_chown_restricted{XDR_bool(v)} } func (XdrType_Fattr4_chown_restricted) XdrTypeName() string { return "Fattr4_chown_restricted" } func (v XdrType_Fattr4_chown_restricted) XdrUnwrap() XdrType { return v.XdrType_bool } type XdrType_Fattr4_fileid struct { XdrType_Uint64_t } func XDR_Fattr4_fileid(v *Fattr4_fileid) XdrType_Fattr4_fileid { return XdrType_Fattr4_fileid{XDR_Uint64_t(v)} } func (XdrType_Fattr4_fileid) XdrTypeName() string { return "Fattr4_fileid" } func (v XdrType_Fattr4_fileid) XdrUnwrap() XdrType { return v.XdrType_Uint64_t } type XdrType_Fattr4_files_avail struct { XdrType_Uint64_t } func XDR_Fattr4_files_avail(v *Fattr4_files_avail) XdrType_Fattr4_files_avail { return XdrType_Fattr4_files_avail{XDR_Uint64_t(v)} } func (XdrType_Fattr4_files_avail) XdrTypeName() string { return "Fattr4_files_avail" } func (v XdrType_Fattr4_files_avail) XdrUnwrap() XdrType { return v.XdrType_Uint64_t } type XdrType_Fattr4_filehandle struct { XdrType_Nfs_fh4 } func XDR_Fattr4_filehandle(v *Fattr4_filehandle) XdrType_Fattr4_filehandle { return XdrType_Fattr4_filehandle{XDR_Nfs_fh4(v)} } func (XdrType_Fattr4_filehandle) XdrTypeName() string { return "Fattr4_filehandle" } func (v XdrType_Fattr4_filehandle) XdrUnwrap() XdrType { return v.XdrType_Nfs_fh4 } type XdrType_Fattr4_files_free struct { XdrType_Uint64_t } func XDR_Fattr4_files_free(v *Fattr4_files_free) XdrType_Fattr4_files_free { return XdrType_Fattr4_files_free{XDR_Uint64_t(v)} } func (XdrType_Fattr4_files_free) XdrTypeName() string { return "Fattr4_files_free" } func (v XdrType_Fattr4_files_free) XdrUnwrap() XdrType { return v.XdrType_Uint64_t } type XdrType_Fattr4_files_total struct { XdrType_Uint64_t } func XDR_Fattr4_files_total(v *Fattr4_files_total) XdrType_Fattr4_files_total { return XdrType_Fattr4_files_total{XDR_Uint64_t(v)} } func (XdrType_Fattr4_files_total) XdrTypeName() string { return "Fattr4_files_total" } func (v XdrType_Fattr4_files_total) XdrUnwrap() XdrType { return v.XdrType_Uint64_t } type XdrType_Fattr4_fs_locations struct { XdrType_Fs_locations4 } func XDR_Fattr4_fs_locations(v *Fattr4_fs_locations) XdrType_Fattr4_fs_locations { return XdrType_Fattr4_fs_locations{XDR_Fs_locations4(v)} } func (XdrType_Fattr4_fs_locations) XdrTypeName() string { return "Fattr4_fs_locations" } func (v XdrType_Fattr4_fs_locations) XdrUnwrap() XdrType { return v.XdrType_Fs_locations4 } type XdrType_Fattr4_hidden struct { XdrType_bool } func XDR_Fattr4_hidden(v *Fattr4_hidden) XdrType_Fattr4_hidden { return XdrType_Fattr4_hidden{XDR_bool(v)} } func (XdrType_Fattr4_hidden) XdrTypeName() string { return "Fattr4_hidden" } func (v XdrType_Fattr4_hidden) XdrUnwrap() XdrType { return v.XdrType_bool } type XdrType_Fattr4_homogeneous struct { XdrType_bool } func XDR_Fattr4_homogeneous(v *Fattr4_homogeneous) XdrType_Fattr4_homogeneous { return XdrType_Fattr4_homogeneous{XDR_bool(v)} } func (XdrType_Fattr4_homogeneous) XdrTypeName() string { return "Fattr4_homogeneous" } func (v XdrType_Fattr4_homogeneous) XdrUnwrap() XdrType { return v.XdrType_bool } type XdrType_Fattr4_maxfilesize struct { XdrType_Uint64_t } func XDR_Fattr4_maxfilesize(v *Fattr4_maxfilesize) XdrType_Fattr4_maxfilesize { return XdrType_Fattr4_maxfilesize{XDR_Uint64_t(v)} } func (XdrType_Fattr4_maxfilesize) XdrTypeName() string { return "Fattr4_maxfilesize" } func (v XdrType_Fattr4_maxfilesize) XdrUnwrap() XdrType { return v.XdrType_Uint64_t } type XdrType_Fattr4_maxlink struct { XdrType_Uint32_t } func XDR_Fattr4_maxlink(v *Fattr4_maxlink) XdrType_Fattr4_maxlink { return XdrType_Fattr4_maxlink{XDR_Uint32_t(v)} } func (XdrType_Fattr4_maxlink) XdrTypeName() string { return "Fattr4_maxlink" } func (v XdrType_Fattr4_maxlink) XdrUnwrap() XdrType { return v.XdrType_Uint32_t } type XdrType_Fattr4_maxname struct { XdrType_Uint32_t } func XDR_Fattr4_maxname(v *Fattr4_maxname) XdrType_Fattr4_maxname { return XdrType_Fattr4_maxname{XDR_Uint32_t(v)} } func (XdrType_Fattr4_maxname) XdrTypeName() string { return "Fattr4_maxname" } func (v XdrType_Fattr4_maxname) XdrUnwrap() XdrType { return v.XdrType_Uint32_t } type XdrType_Fattr4_maxread struct { XdrType_Uint64_t } func XDR_Fattr4_maxread(v *Fattr4_maxread) XdrType_Fattr4_maxread { return XdrType_Fattr4_maxread{XDR_Uint64_t(v)} } func (XdrType_Fattr4_maxread) XdrTypeName() string { return "Fattr4_maxread" } func (v XdrType_Fattr4_maxread) XdrUnwrap() XdrType { return v.XdrType_Uint64_t } type XdrType_Fattr4_maxwrite struct { XdrType_Uint64_t } func XDR_Fattr4_maxwrite(v *Fattr4_maxwrite) XdrType_Fattr4_maxwrite { return XdrType_Fattr4_maxwrite{XDR_Uint64_t(v)} } func (XdrType_Fattr4_maxwrite) XdrTypeName() string { return "Fattr4_maxwrite" } func (v XdrType_Fattr4_maxwrite) XdrUnwrap() XdrType { return v.XdrType_Uint64_t } type XdrType_Fattr4_mimetype struct { XdrType_Utf8str_cs } func XDR_Fattr4_mimetype(v *Fattr4_mimetype) XdrType_Fattr4_mimetype { return XdrType_Fattr4_mimetype{XDR_Utf8str_cs(v)} } func (XdrType_Fattr4_mimetype) XdrTypeName() string { return "Fattr4_mimetype" } func (v XdrType_Fattr4_mimetype) XdrUnwrap() XdrType { return v.XdrType_Utf8str_cs } type XdrType_Fattr4_mode struct { XdrType_Mode4 } func XDR_Fattr4_mode(v *Fattr4_mode) XdrType_Fattr4_mode { return XdrType_Fattr4_mode{XDR_Mode4(v)} } func (XdrType_Fattr4_mode) XdrTypeName() string { return "Fattr4_mode" } func (v XdrType_Fattr4_mode) XdrUnwrap() XdrType { return &v.XdrType_Mode4 } type XdrType_Fattr4_mounted_on_fileid struct { XdrType_Uint64_t } func XDR_Fattr4_mounted_on_fileid(v *Fattr4_mounted_on_fileid) XdrType_Fattr4_mounted_on_fileid { return XdrType_Fattr4_mounted_on_fileid{XDR_Uint64_t(v)} } func (XdrType_Fattr4_mounted_on_fileid) XdrTypeName() string { return "Fattr4_mounted_on_fileid" } func (v XdrType_Fattr4_mounted_on_fileid) XdrUnwrap() XdrType { return v.XdrType_Uint64_t } type XdrType_Fattr4_no_trunc struct { XdrType_bool } func XDR_Fattr4_no_trunc(v *Fattr4_no_trunc) XdrType_Fattr4_no_trunc { return XdrType_Fattr4_no_trunc{XDR_bool(v)} } func (XdrType_Fattr4_no_trunc) XdrTypeName() string { return "Fattr4_no_trunc" } func (v XdrType_Fattr4_no_trunc) XdrUnwrap() XdrType { return v.XdrType_bool } type XdrType_Fattr4_numlinks struct { XdrType_Uint32_t } func XDR_Fattr4_numlinks(v *Fattr4_numlinks) XdrType_Fattr4_numlinks { return XdrType_Fattr4_numlinks{XDR_Uint32_t(v)} } func (XdrType_Fattr4_numlinks) XdrTypeName() string { return "Fattr4_numlinks" } func (v XdrType_Fattr4_numlinks) XdrUnwrap() XdrType { return v.XdrType_Uint32_t } type XdrType_Fattr4_owner struct { XdrType_Utf8str_mixed } func XDR_Fattr4_owner(v *Fattr4_owner) XdrType_Fattr4_owner { return XdrType_Fattr4_owner{XDR_Utf8str_mixed(v)} } func (XdrType_Fattr4_owner) XdrTypeName() string { return "Fattr4_owner" } func (v XdrType_Fattr4_owner) XdrUnwrap() XdrType { return v.XdrType_Utf8str_mixed } type XdrType_Fattr4_owner_group struct { XdrType_Utf8str_mixed } func XDR_Fattr4_owner_group(v *Fattr4_owner_group) XdrType_Fattr4_owner_group { return XdrType_Fattr4_owner_group{XDR_Utf8str_mixed(v)} } func (XdrType_Fattr4_owner_group) XdrTypeName() string { return "Fattr4_owner_group" } func (v XdrType_Fattr4_owner_group) XdrUnwrap() XdrType { return v.XdrType_Utf8str_mixed } type XdrType_Fattr4_quota_avail_hard struct { XdrType_Uint64_t } func XDR_Fattr4_quota_avail_hard(v *Fattr4_quota_avail_hard) XdrType_Fattr4_quota_avail_hard { return XdrType_Fattr4_quota_avail_hard{XDR_Uint64_t(v)} } func (XdrType_Fattr4_quota_avail_hard) XdrTypeName() string { return "Fattr4_quota_avail_hard" } func (v XdrType_Fattr4_quota_avail_hard) XdrUnwrap() XdrType { return v.XdrType_Uint64_t } type XdrType_Fattr4_quota_avail_soft struct { XdrType_Uint64_t } func XDR_Fattr4_quota_avail_soft(v *Fattr4_quota_avail_soft) XdrType_Fattr4_quota_avail_soft { return XdrType_Fattr4_quota_avail_soft{XDR_Uint64_t(v)} } func (XdrType_Fattr4_quota_avail_soft) XdrTypeName() string { return "Fattr4_quota_avail_soft" } func (v XdrType_Fattr4_quota_avail_soft) XdrUnwrap() XdrType { return v.XdrType_Uint64_t } type XdrType_Fattr4_quota_used struct { XdrType_Uint64_t } func XDR_Fattr4_quota_used(v *Fattr4_quota_used) XdrType_Fattr4_quota_used { return XdrType_Fattr4_quota_used{XDR_Uint64_t(v)} } func (XdrType_Fattr4_quota_used) XdrTypeName() string { return "Fattr4_quota_used" } func (v XdrType_Fattr4_quota_used) XdrUnwrap() XdrType { return v.XdrType_Uint64_t } type XdrType_Fattr4_rawdev struct { XdrType_Specdata4 } func XDR_Fattr4_rawdev(v *Fattr4_rawdev) XdrType_Fattr4_rawdev { return XdrType_Fattr4_rawdev{XDR_Specdata4(v)} } func (XdrType_Fattr4_rawdev) XdrTypeName() string { return "Fattr4_rawdev" } func (v XdrType_Fattr4_rawdev) XdrUnwrap() XdrType { return v.XdrType_Specdata4 } type XdrType_Fattr4_space_avail struct { XdrType_Uint64_t } func XDR_Fattr4_space_avail(v *Fattr4_space_avail) XdrType_Fattr4_space_avail { return XdrType_Fattr4_space_avail{XDR_Uint64_t(v)} } func (XdrType_Fattr4_space_avail) XdrTypeName() string { return "Fattr4_space_avail" } func (v XdrType_Fattr4_space_avail) XdrUnwrap() XdrType { return v.XdrType_Uint64_t } type XdrType_Fattr4_space_free struct { XdrType_Uint64_t } func XDR_Fattr4_space_free(v *Fattr4_space_free) XdrType_Fattr4_space_free { return XdrType_Fattr4_space_free{XDR_Uint64_t(v)} } func (XdrType_Fattr4_space_free) XdrTypeName() string { return "Fattr4_space_free" } func (v XdrType_Fattr4_space_free) XdrUnwrap() XdrType { return v.XdrType_Uint64_t } type XdrType_Fattr4_space_total struct { XdrType_Uint64_t } func XDR_Fattr4_space_total(v *Fattr4_space_total) XdrType_Fattr4_space_total { return XdrType_Fattr4_space_total{XDR_Uint64_t(v)} } func (XdrType_Fattr4_space_total) XdrTypeName() string { return "Fattr4_space_total" } func (v XdrType_Fattr4_space_total) XdrUnwrap() XdrType { return v.XdrType_Uint64_t } type XdrType_Fattr4_space_used struct { XdrType_Uint64_t } func XDR_Fattr4_space_used(v *Fattr4_space_used) XdrType_Fattr4_space_used { return XdrType_Fattr4_space_used{XDR_Uint64_t(v)} } func (XdrType_Fattr4_space_used) XdrTypeName() string { return "Fattr4_space_used" } func (v XdrType_Fattr4_space_used) XdrUnwrap() XdrType { return v.XdrType_Uint64_t } type XdrType_Fattr4_system struct { XdrType_bool } func XDR_Fattr4_system(v *Fattr4_system) XdrType_Fattr4_system { return XdrType_Fattr4_system{XDR_bool(v)} } func (XdrType_Fattr4_system) XdrTypeName() string { return "Fattr4_system" } func (v XdrType_Fattr4_system) XdrUnwrap() XdrType { return v.XdrType_bool } type XdrType_Fattr4_time_access struct { XdrType_Nfstime4 } func XDR_Fattr4_time_access(v *Fattr4_time_access) XdrType_Fattr4_time_access { return XdrType_Fattr4_time_access{XDR_Nfstime4(v)} } func (XdrType_Fattr4_time_access) XdrTypeName() string { return "Fattr4_time_access" } func (v XdrType_Fattr4_time_access) XdrUnwrap() XdrType { return v.XdrType_Nfstime4 } type XdrType_Fattr4_time_access_set struct { XdrType_Settime4 } func XDR_Fattr4_time_access_set(v *Fattr4_time_access_set) XdrType_Fattr4_time_access_set { return XdrType_Fattr4_time_access_set{XDR_Settime4(v)} } func (XdrType_Fattr4_time_access_set) XdrTypeName() string { return "Fattr4_time_access_set" } func (v XdrType_Fattr4_time_access_set) XdrUnwrap() XdrType { return v.XdrType_Settime4 } type XdrType_Fattr4_time_backup struct { XdrType_Nfstime4 } func XDR_Fattr4_time_backup(v *Fattr4_time_backup) XdrType_Fattr4_time_backup { return XdrType_Fattr4_time_backup{XDR_Nfstime4(v)} } func (XdrType_Fattr4_time_backup) XdrTypeName() string { return "Fattr4_time_backup" } func (v XdrType_Fattr4_time_backup) XdrUnwrap() XdrType { return v.XdrType_Nfstime4 } type XdrType_Fattr4_time_create struct { XdrType_Nfstime4 } func XDR_Fattr4_time_create(v *Fattr4_time_create) XdrType_Fattr4_time_create { return XdrType_Fattr4_time_create{XDR_Nfstime4(v)} } func (XdrType_Fattr4_time_create) XdrTypeName() string { return "Fattr4_time_create" } func (v XdrType_Fattr4_time_create) XdrUnwrap() XdrType { return v.XdrType_Nfstime4 } type XdrType_Fattr4_time_delta struct { XdrType_Nfstime4 } func XDR_Fattr4_time_delta(v *Fattr4_time_delta) XdrType_Fattr4_time_delta { return XdrType_Fattr4_time_delta{XDR_Nfstime4(v)} } func (XdrType_Fattr4_time_delta) XdrTypeName() string { return "Fattr4_time_delta" } func (v XdrType_Fattr4_time_delta) XdrUnwrap() XdrType { return v.XdrType_Nfstime4 } type XdrType_Fattr4_time_metadata struct { XdrType_Nfstime4 } func XDR_Fattr4_time_metadata(v *Fattr4_time_metadata) XdrType_Fattr4_time_metadata { return XdrType_Fattr4_time_metadata{XDR_Nfstime4(v)} } func (XdrType_Fattr4_time_metadata) XdrTypeName() string { return "Fattr4_time_metadata" } func (v XdrType_Fattr4_time_metadata) XdrUnwrap() XdrType { return v.XdrType_Nfstime4 } type XdrType_Fattr4_time_modify struct { XdrType_Nfstime4 } func XDR_Fattr4_time_modify(v *Fattr4_time_modify) XdrType_Fattr4_time_modify { return XdrType_Fattr4_time_modify{XDR_Nfstime4(v)} } func (XdrType_Fattr4_time_modify) XdrTypeName() string { return "Fattr4_time_modify" } func (v XdrType_Fattr4_time_modify) XdrUnwrap() XdrType { return v.XdrType_Nfstime4 } type XdrType_Fattr4_time_modify_set struct { XdrType_Settime4 } func XDR_Fattr4_time_modify_set(v *Fattr4_time_modify_set) XdrType_Fattr4_time_modify_set { return XdrType_Fattr4_time_modify_set{XDR_Settime4(v)} } func (XdrType_Fattr4_time_modify_set) XdrTypeName() string { return "Fattr4_time_modify_set" } func (v XdrType_Fattr4_time_modify_set) XdrUnwrap() XdrType { return v.XdrType_Settime4 } type XdrType_Attrlist4 struct { XdrVecOpaque } func XDR_Attrlist4(v *Attrlist4) XdrType_Attrlist4 { return XdrType_Attrlist4{XdrVecOpaque{v, 0xffffffff}} } func (XdrType_Attrlist4) XdrTypeName() string { return "Attrlist4" } func (v XdrType_Attrlist4) XdrUnwrap() XdrType { return v.XdrVecOpaque } type XdrType_Fattr4 = *Fattr4 func (v *Fattr4) XdrPointer() interface{} { return v } func (Fattr4) XdrTypeName() string { return "Fattr4" } func (v Fattr4) XdrValue() interface{} { return v } func (v *Fattr4) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *Fattr4) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%sattrmask", name), XDR_Bitmap4(&v.Attrmask)) x.Marshal(x.Sprintf("%sattr_vals", name), XDR_Attrlist4(&v.Attr_vals)) } func XDR_Fattr4(v *Fattr4) *Fattr4 { return v } type XdrType_Change_info4 = *Change_info4 func (v *Change_info4) XdrPointer() interface{} { return v } func (Change_info4) XdrTypeName() string { return "Change_info4" } func (v Change_info4) XdrValue() interface{} { return v } func (v *Change_info4) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *Change_info4) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%satomic", name), XDR_bool(&v.Atomic)) x.Marshal(x.Sprintf("%sbefore", name), XDR_Changeid4(&v.Before)) x.Marshal(x.Sprintf("%safter", name), XDR_Changeid4(&v.After)) } func XDR_Change_info4(v *Change_info4) *Change_info4 { return v } type XdrType_Clientaddr4 = *Clientaddr4 func (v *Clientaddr4) XdrPointer() interface{} { return v } func (Clientaddr4) XdrTypeName() string { return "Clientaddr4" } func (v Clientaddr4) XdrValue() interface{} { return v } func (v *Clientaddr4) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *Clientaddr4) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%sr_netid", name), XdrString{&v.R_netid, 0xffffffff}) x.Marshal(x.Sprintf("%sr_addr", name), XdrString{&v.R_addr, 0xffffffff}) } func XDR_Clientaddr4(v *Clientaddr4) *Clientaddr4 { return v } type XdrType_Cb_client4 = *Cb_client4 func (v *Cb_client4) XdrPointer() interface{} { return v } func (Cb_client4) XdrTypeName() string { return "Cb_client4" } func (v Cb_client4) XdrValue() interface{} { return v } func (v *Cb_client4) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *Cb_client4) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%scb_program", name), XDR_Uint32_t(&v.Cb_program)) x.Marshal(x.Sprintf("%scb_location", name), XDR_Clientaddr4(&v.Cb_location)) } func XDR_Cb_client4(v *Cb_client4) *Cb_client4 { return v } type _XdrArray_12_opaque [12]byte func (v *_XdrArray_12_opaque) GetByteSlice() []byte { return v[:] } func (v *_XdrArray_12_opaque) XdrTypeName() string { return "opaque[]" } func (v *_XdrArray_12_opaque) XdrValue() interface{} { return v[:] } func (v *_XdrArray_12_opaque) XdrPointer() interface{} { return (*[12]byte)(v) } func (v *_XdrArray_12_opaque) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *_XdrArray_12_opaque) String() string { return fmt.Sprintf("%x", v[:]) } func (v *_XdrArray_12_opaque) Scan(ss fmt.ScanState, c rune) error { return XdrArrayOpaqueScan(v[:], ss, c) } func (_XdrArray_12_opaque) XdrArraySize() uint32 { const bound uint32 = 12 // Force error if not const or doesn't fit return bound } type XdrType_Stateid4 = *Stateid4 func (v *Stateid4) XdrPointer() interface{} { return v } func (Stateid4) XdrTypeName() string { return "Stateid4" } func (v Stateid4) XdrValue() interface{} { return v } func (v *Stateid4) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *Stateid4) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%sseqid", name), XDR_Uint32_t(&v.Seqid)) x.Marshal(x.Sprintf("%sother", name), (*_XdrArray_12_opaque)(&v.Other)) } func XDR_Stateid4(v *Stateid4) *Stateid4 { return v } type XdrType_Nfs_client_id4 = *Nfs_client_id4 func (v *Nfs_client_id4) XdrPointer() interface{} { return v } func (Nfs_client_id4) XdrTypeName() string { return "Nfs_client_id4" } func (v Nfs_client_id4) XdrValue() interface{} { return v } func (v *Nfs_client_id4) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *Nfs_client_id4) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%sverifier", name), XDR_Verifier4(&v.Verifier)) x.Marshal(x.Sprintf("%sid", name), XdrVecOpaque{&v.Id, NFS4_OPAQUE_LIMIT}) } func XDR_Nfs_client_id4(v *Nfs_client_id4) *Nfs_client_id4 { return v } type XdrType_Open_owner4 = *Open_owner4 func (v *Open_owner4) XdrPointer() interface{} { return v } func (Open_owner4) XdrTypeName() string { return "Open_owner4" } func (v Open_owner4) XdrValue() interface{} { return v } func (v *Open_owner4) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *Open_owner4) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%sclientid", name), XDR_Clientid4(&v.Clientid)) x.Marshal(x.Sprintf("%sowner", name), XdrVecOpaque{&v.Owner, NFS4_OPAQUE_LIMIT}) } func XDR_Open_owner4(v *Open_owner4) *Open_owner4 { return v } type XdrType_Lock_owner4 = *Lock_owner4 func (v *Lock_owner4) XdrPointer() interface{} { return v } func (Lock_owner4) XdrTypeName() string { return "Lock_owner4" } func (v Lock_owner4) XdrValue() interface{} { return v } func (v *Lock_owner4) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *Lock_owner4) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%sclientid", name), XDR_Clientid4(&v.Clientid)) x.Marshal(x.Sprintf("%sowner", name), XdrVecOpaque{&v.Owner, NFS4_OPAQUE_LIMIT}) } func XDR_Lock_owner4(v *Lock_owner4) *Lock_owner4 { return v } var _XdrNames_Nfs_lock_type4 = map[int32]string{ int32(READ_LT): "READ_LT", int32(WRITE_LT): "WRITE_LT", int32(READW_LT): "READW_LT", int32(WRITEW_LT): "WRITEW_LT", } var _XdrValues_Nfs_lock_type4 = map[string]int32{ "READ_LT": int32(READ_LT), "WRITE_LT": int32(WRITE_LT), "READW_LT": int32(READW_LT), "WRITEW_LT": int32(WRITEW_LT), } func (Nfs_lock_type4) XdrEnumNames() map[int32]string { return _XdrNames_Nfs_lock_type4 } func (v Nfs_lock_type4) String() string { if s, ok := _XdrNames_Nfs_lock_type4[int32(v)]; ok { return s } return fmt.Sprintf("Nfs_lock_type4#%d", v) } func (v *Nfs_lock_type4) Scan(ss fmt.ScanState, _ rune) error { if tok, err := ss.Token(true, XdrSymChar); err != nil { return err } else { stok := string(tok) if val, ok := _XdrValues_Nfs_lock_type4[stok]; ok { *v = Nfs_lock_type4(val) return nil } else if stok == "Nfs_lock_type4" { if n, err := fmt.Fscanf(ss, "#%d", (*int32)(v)); n == 1 && err == nil { return nil } } return XdrError(fmt.Sprintf("%s is not a valid Nfs_lock_type4.", stok)) } } func (v Nfs_lock_type4) GetU32() uint32 { return uint32(v) } func (v *Nfs_lock_type4) SetU32(n uint32) { *v = Nfs_lock_type4(n) } func (v *Nfs_lock_type4) XdrPointer() interface{} { return v } func (Nfs_lock_type4) XdrTypeName() string { return "Nfs_lock_type4" } func (v Nfs_lock_type4) XdrValue() interface{} { return v } func (v *Nfs_lock_type4) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } type XdrType_Nfs_lock_type4 = *Nfs_lock_type4 func XDR_Nfs_lock_type4(v *Nfs_lock_type4) *Nfs_lock_type4 { return v } func (v *Nfs_lock_type4) XdrInitialize() { switch Nfs_lock_type4(0) { case READ_LT, WRITE_LT, READW_LT, WRITEW_LT: default: if *v == Nfs_lock_type4(0) { *v = READ_LT } } } type XdrType_ACCESS4args = *ACCESS4args func (v *ACCESS4args) XdrPointer() interface{} { return v } func (ACCESS4args) XdrTypeName() string { return "ACCESS4args" } func (v ACCESS4args) XdrValue() interface{} { return v } func (v *ACCESS4args) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *ACCESS4args) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%saccess", name), XDR_Uint32_t(&v.Access)) } func XDR_ACCESS4args(v *ACCESS4args) *ACCESS4args { return v } type XdrType_ACCESS4resok = *ACCESS4resok func (v *ACCESS4resok) XdrPointer() interface{} { return v } func (ACCESS4resok) XdrTypeName() string { return "ACCESS4resok" } func (v ACCESS4resok) XdrValue() interface{} { return v } func (v *ACCESS4resok) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *ACCESS4resok) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%ssupported", name), XDR_Uint32_t(&v.Supported)) x.Marshal(x.Sprintf("%saccess", name), XDR_Uint32_t(&v.Access)) } func XDR_ACCESS4resok(v *ACCESS4resok) *ACCESS4resok { return v } func (u *ACCESS4res) Resok4() *ACCESS4resok { switch u.Status { case NFS4_OK: if v, ok := u.U.(*ACCESS4resok); ok { return v } else { var zero ACCESS4resok u.U = &zero return &zero } default: XdrPanic("ACCESS4res.Resok4 accessed when Status == %v", u.Status) return nil } } func (u ACCESS4res) XdrValid() bool { return true } func (u *ACCESS4res) XdrUnionTag() XdrNum32 { return XDR_Nfsstat4(&u.Status) } func (u *ACCESS4res) XdrUnionTagName() string { return "Status" } func (u *ACCESS4res) XdrUnionBody() XdrType { switch u.Status { case NFS4_OK: return XDR_ACCESS4resok(u.Resok4()) default: return nil } } func (u *ACCESS4res) XdrUnionBodyName() string { switch u.Status { case NFS4_OK: return "Resok4" default: return "" } } type XdrType_ACCESS4res = *ACCESS4res func (v *ACCESS4res) XdrPointer() interface{} { return v } func (ACCESS4res) XdrTypeName() string { return "ACCESS4res" } func (v ACCESS4res) XdrValue() interface{} { return v } func (v *ACCESS4res) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (u *ACCESS4res) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } XDR_Nfsstat4(&u.Status).XdrMarshal(x, x.Sprintf("%sstatus", name)) switch u.Status { case NFS4_OK: x.Marshal(x.Sprintf("%sresok4", name), XDR_ACCESS4resok(u.Resok4())) return default: return } } func XDR_ACCESS4res(v *ACCESS4res) *ACCESS4res { return v} type XdrType_CLOSE4args = *CLOSE4args func (v *CLOSE4args) XdrPointer() interface{} { return v } func (CLOSE4args) XdrTypeName() string { return "CLOSE4args" } func (v CLOSE4args) XdrValue() interface{} { return v } func (v *CLOSE4args) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *CLOSE4args) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%sseqid", name), XDR_Seqid4(&v.Seqid)) x.Marshal(x.Sprintf("%sopen_stateid", name), XDR_Stateid4(&v.Open_stateid)) } func XDR_CLOSE4args(v *CLOSE4args) *CLOSE4args { return v } func (u *CLOSE4res) Open_stateid() *Stateid4 { switch u.Status { case NFS4_OK: if v, ok := u.U.(*Stateid4); ok { return v } else { var zero Stateid4 u.U = &zero return &zero } default: XdrPanic("CLOSE4res.Open_stateid accessed when Status == %v", u.Status) return nil } } func (u CLOSE4res) XdrValid() bool { return true } func (u *CLOSE4res) XdrUnionTag() XdrNum32 { return XDR_Nfsstat4(&u.Status) } func (u *CLOSE4res) XdrUnionTagName() string { return "Status" } func (u *CLOSE4res) XdrUnionBody() XdrType { switch u.Status { case NFS4_OK: return XDR_Stateid4(u.Open_stateid()) default: return nil } } func (u *CLOSE4res) XdrUnionBodyName() string { switch u.Status { case NFS4_OK: return "Open_stateid" default: return "" } } type XdrType_CLOSE4res = *CLOSE4res func (v *CLOSE4res) XdrPointer() interface{} { return v } func (CLOSE4res) XdrTypeName() string { return "CLOSE4res" } func (v CLOSE4res) XdrValue() interface{} { return v } func (v *CLOSE4res) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (u *CLOSE4res) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } XDR_Nfsstat4(&u.Status).XdrMarshal(x, x.Sprintf("%sstatus", name)) switch u.Status { case NFS4_OK: x.Marshal(x.Sprintf("%sopen_stateid", name), XDR_Stateid4(u.Open_stateid())) return default: return } } func XDR_CLOSE4res(v *CLOSE4res) *CLOSE4res { return v} type XdrType_COMMIT4args = *COMMIT4args func (v *COMMIT4args) XdrPointer() interface{} { return v } func (COMMIT4args) XdrTypeName() string { return "COMMIT4args" } func (v COMMIT4args) XdrValue() interface{} { return v } func (v *COMMIT4args) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *COMMIT4args) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%soffset", name), XDR_Offset4(&v.Offset)) x.Marshal(x.Sprintf("%scount", name), XDR_Count4(&v.Count)) } func XDR_COMMIT4args(v *COMMIT4args) *COMMIT4args { return v } type XdrType_COMMIT4resok = *COMMIT4resok func (v *COMMIT4resok) XdrPointer() interface{} { return v } func (COMMIT4resok) XdrTypeName() string { return "COMMIT4resok" } func (v COMMIT4resok) XdrValue() interface{} { return v } func (v *COMMIT4resok) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *COMMIT4resok) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%swriteverf", name), XDR_Verifier4(&v.Writeverf)) } func XDR_COMMIT4resok(v *COMMIT4resok) *COMMIT4resok { return v } func (u *COMMIT4res) Resok4() *COMMIT4resok { switch u.Status { case NFS4_OK: if v, ok := u.U.(*COMMIT4resok); ok { return v } else { var zero COMMIT4resok u.U = &zero return &zero } default: XdrPanic("COMMIT4res.Resok4 accessed when Status == %v", u.Status) return nil } } func (u COMMIT4res) XdrValid() bool { return true } func (u *COMMIT4res) XdrUnionTag() XdrNum32 { return XDR_Nfsstat4(&u.Status) } func (u *COMMIT4res) XdrUnionTagName() string { return "Status" } func (u *COMMIT4res) XdrUnionBody() XdrType { switch u.Status { case NFS4_OK: return XDR_COMMIT4resok(u.Resok4()) default: return nil } } func (u *COMMIT4res) XdrUnionBodyName() string { switch u.Status { case NFS4_OK: return "Resok4" default: return "" } } type XdrType_COMMIT4res = *COMMIT4res func (v *COMMIT4res) XdrPointer() interface{} { return v } func (COMMIT4res) XdrTypeName() string { return "COMMIT4res" } func (v COMMIT4res) XdrValue() interface{} { return v } func (v *COMMIT4res) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (u *COMMIT4res) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } XDR_Nfsstat4(&u.Status).XdrMarshal(x, x.Sprintf("%sstatus", name)) switch u.Status { case NFS4_OK: x.Marshal(x.Sprintf("%sresok4", name), XDR_COMMIT4resok(u.Resok4())) return default: return } } func XDR_COMMIT4res(v *COMMIT4res) *COMMIT4res { return v} func (u *Createtype4) Linkdata() *Linktext4 { switch u.Type { case NF4LNK: if v, ok := u.U.(*Linktext4); ok { return v } else { var zero Linktext4 u.U = &zero return &zero } default: XdrPanic("Createtype4.Linkdata accessed when Type == %v", u.Type) return nil } } func (u *Createtype4) Devdata() *Specdata4 { switch u.Type { case NF4BLK, NF4CHR: if v, ok := u.U.(*Specdata4); ok { return v } else { var zero Specdata4 u.U = &zero return &zero } default: XdrPanic("Createtype4.Devdata accessed when Type == %v", u.Type) return nil } } func (u Createtype4) XdrValid() bool { return true } func (u *Createtype4) XdrUnionTag() XdrNum32 { return XDR_Nfs_ftype4(&u.Type) } func (u *Createtype4) XdrUnionTagName() string { return "Type" } func (u *Createtype4) XdrUnionBody() XdrType { switch u.Type { case NF4LNK: return XDR_Linktext4(u.Linkdata()) case NF4BLK, NF4CHR: return XDR_Specdata4(u.Devdata()) case NF4SOCK, NF4FIFO, NF4DIR: return nil default: return nil } } func (u *Createtype4) XdrUnionBodyName() string { switch u.Type { case NF4LNK: return "Linkdata" case NF4BLK, NF4CHR: return "Devdata" case NF4SOCK, NF4FIFO, NF4DIR: return "" default: return "" } } type XdrType_Createtype4 = *Createtype4 func (v *Createtype4) XdrPointer() interface{} { return v } func (Createtype4) XdrTypeName() string { return "Createtype4" } func (v Createtype4) XdrValue() interface{} { return v } func (v *Createtype4) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (u *Createtype4) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } XDR_Nfs_ftype4(&u.Type).XdrMarshal(x, x.Sprintf("%stype", name)) switch u.Type { case NF4LNK: x.Marshal(x.Sprintf("%slinkdata", name), XDR_Linktext4(u.Linkdata())) return case NF4BLK, NF4CHR: x.Marshal(x.Sprintf("%sdevdata", name), XDR_Specdata4(u.Devdata())) return case NF4SOCK, NF4FIFO, NF4DIR: return default: return } } func XDR_Createtype4(v *Createtype4) *Createtype4 { return v} type XdrType_CREATE4args = *CREATE4args func (v *CREATE4args) XdrPointer() interface{} { return v } func (CREATE4args) XdrTypeName() string { return "CREATE4args" } func (v CREATE4args) XdrValue() interface{} { return v } func (v *CREATE4args) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *CREATE4args) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%sobjtype", name), XDR_Createtype4(&v.Objtype)) x.Marshal(x.Sprintf("%sobjname", name), XDR_Component4(&v.Objname)) x.Marshal(x.Sprintf("%screateattrs", name), XDR_Fattr4(&v.Createattrs)) } func XDR_CREATE4args(v *CREATE4args) *CREATE4args { return v } type XdrType_CREATE4resok = *CREATE4resok func (v *CREATE4resok) XdrPointer() interface{} { return v } func (CREATE4resok) XdrTypeName() string { return "CREATE4resok" } func (v CREATE4resok) XdrValue() interface{} { return v } func (v *CREATE4resok) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *CREATE4resok) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%scinfo", name), XDR_Change_info4(&v.Cinfo)) x.Marshal(x.Sprintf("%sattrset", name), XDR_Bitmap4(&v.Attrset)) } func XDR_CREATE4resok(v *CREATE4resok) *CREATE4resok { return v } func (u *CREATE4res) Resok4() *CREATE4resok { switch u.Status { case NFS4_OK: if v, ok := u.U.(*CREATE4resok); ok { return v } else { var zero CREATE4resok u.U = &zero return &zero } default: XdrPanic("CREATE4res.Resok4 accessed when Status == %v", u.Status) return nil } } func (u CREATE4res) XdrValid() bool { return true } func (u *CREATE4res) XdrUnionTag() XdrNum32 { return XDR_Nfsstat4(&u.Status) } func (u *CREATE4res) XdrUnionTagName() string { return "Status" } func (u *CREATE4res) XdrUnionBody() XdrType { switch u.Status { case NFS4_OK: return XDR_CREATE4resok(u.Resok4()) default: return nil } } func (u *CREATE4res) XdrUnionBodyName() string { switch u.Status { case NFS4_OK: return "Resok4" default: return "" } } type XdrType_CREATE4res = *CREATE4res func (v *CREATE4res) XdrPointer() interface{} { return v } func (CREATE4res) XdrTypeName() string { return "CREATE4res" } func (v CREATE4res) XdrValue() interface{} { return v } func (v *CREATE4res) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (u *CREATE4res) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } XDR_Nfsstat4(&u.Status).XdrMarshal(x, x.Sprintf("%sstatus", name)) switch u.Status { case NFS4_OK: x.Marshal(x.Sprintf("%sresok4", name), XDR_CREATE4resok(u.Resok4())) return default: return } } func XDR_CREATE4res(v *CREATE4res) *CREATE4res { return v} type XdrType_DELEGPURGE4args = *DELEGPURGE4args func (v *DELEGPURGE4args) XdrPointer() interface{} { return v } func (DELEGPURGE4args) XdrTypeName() string { return "DELEGPURGE4args" } func (v DELEGPURGE4args) XdrValue() interface{} { return v } func (v *DELEGPURGE4args) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *DELEGPURGE4args) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%sclientid", name), XDR_Clientid4(&v.Clientid)) } func XDR_DELEGPURGE4args(v *DELEGPURGE4args) *DELEGPURGE4args { return v } type XdrType_DELEGPURGE4res = *DELEGPURGE4res func (v *DELEGPURGE4res) XdrPointer() interface{} { return v } func (DELEGPURGE4res) XdrTypeName() string { return "DELEGPURGE4res" } func (v DELEGPURGE4res) XdrValue() interface{} { return v } func (v *DELEGPURGE4res) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *DELEGPURGE4res) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%sstatus", name), XDR_Nfsstat4(&v.Status)) } func XDR_DELEGPURGE4res(v *DELEGPURGE4res) *DELEGPURGE4res { return v } type XdrType_DELEGRETURN4args = *DELEGRETURN4args func (v *DELEGRETURN4args) XdrPointer() interface{} { return v } func (DELEGRETURN4args) XdrTypeName() string { return "DELEGRETURN4args" } func (v DELEGRETURN4args) XdrValue() interface{} { return v } func (v *DELEGRETURN4args) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *DELEGRETURN4args) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%sdeleg_stateid", name), XDR_Stateid4(&v.Deleg_stateid)) } func XDR_DELEGRETURN4args(v *DELEGRETURN4args) *DELEGRETURN4args { return v } type XdrType_DELEGRETURN4res = *DELEGRETURN4res func (v *DELEGRETURN4res) XdrPointer() interface{} { return v } func (DELEGRETURN4res) XdrTypeName() string { return "DELEGRETURN4res" } func (v DELEGRETURN4res) XdrValue() interface{} { return v } func (v *DELEGRETURN4res) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *DELEGRETURN4res) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%sstatus", name), XDR_Nfsstat4(&v.Status)) } func XDR_DELEGRETURN4res(v *DELEGRETURN4res) *DELEGRETURN4res { return v } type XdrType_GETATTR4args = *GETATTR4args func (v *GETATTR4args) XdrPointer() interface{} { return v } func (GETATTR4args) XdrTypeName() string { return "GETATTR4args" } func (v GETATTR4args) XdrValue() interface{} { return v } func (v *GETATTR4args) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *GETATTR4args) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%sattr_request", name), XDR_Bitmap4(&v.Attr_request)) } func XDR_GETATTR4args(v *GETATTR4args) *GETATTR4args { return v } type XdrType_GETATTR4resok = *GETATTR4resok func (v *GETATTR4resok) XdrPointer() interface{} { return v } func (GETATTR4resok) XdrTypeName() string { return "GETATTR4resok" } func (v GETATTR4resok) XdrValue() interface{} { return v } func (v *GETATTR4resok) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *GETATTR4resok) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%sobj_attributes", name), XDR_Fattr4(&v.Obj_attributes)) } func XDR_GETATTR4resok(v *GETATTR4resok) *GETATTR4resok { return v } func (u *GETATTR4res) Resok4() *GETATTR4resok { switch u.Status { case NFS4_OK: if v, ok := u.U.(*GETATTR4resok); ok { return v } else { var zero GETATTR4resok u.U = &zero return &zero } default: XdrPanic("GETATTR4res.Resok4 accessed when Status == %v", u.Status) return nil } } func (u GETATTR4res) XdrValid() bool { return true } func (u *GETATTR4res) XdrUnionTag() XdrNum32 { return XDR_Nfsstat4(&u.Status) } func (u *GETATTR4res) XdrUnionTagName() string { return "Status" } func (u *GETATTR4res) XdrUnionBody() XdrType { switch u.Status { case NFS4_OK: return XDR_GETATTR4resok(u.Resok4()) default: return nil } } func (u *GETATTR4res) XdrUnionBodyName() string { switch u.Status { case NFS4_OK: return "Resok4" default: return "" } } type XdrType_GETATTR4res = *GETATTR4res func (v *GETATTR4res) XdrPointer() interface{} { return v } func (GETATTR4res) XdrTypeName() string { return "GETATTR4res" } func (v GETATTR4res) XdrValue() interface{} { return v } func (v *GETATTR4res) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (u *GETATTR4res) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } XDR_Nfsstat4(&u.Status).XdrMarshal(x, x.Sprintf("%sstatus", name)) switch u.Status { case NFS4_OK: x.Marshal(x.Sprintf("%sresok4", name), XDR_GETATTR4resok(u.Resok4())) return default: return } } func XDR_GETATTR4res(v *GETATTR4res) *GETATTR4res { return v} type XdrType_GETFH4resok = *GETFH4resok func (v *GETFH4resok) XdrPointer() interface{} { return v } func (GETFH4resok) XdrTypeName() string { return "GETFH4resok" } func (v GETFH4resok) XdrValue() interface{} { return v } func (v *GETFH4resok) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *GETFH4resok) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%sobject", name), XDR_Nfs_fh4(&v.Object)) } func XDR_GETFH4resok(v *GETFH4resok) *GETFH4resok { return v } func (u *GETFH4res) Resok4() *GETFH4resok { switch u.Status { case NFS4_OK: if v, ok := u.U.(*GETFH4resok); ok { return v } else { var zero GETFH4resok u.U = &zero return &zero } default: XdrPanic("GETFH4res.Resok4 accessed when Status == %v", u.Status) return nil } } func (u GETFH4res) XdrValid() bool { return true } func (u *GETFH4res) XdrUnionTag() XdrNum32 { return XDR_Nfsstat4(&u.Status) } func (u *GETFH4res) XdrUnionTagName() string { return "Status" } func (u *GETFH4res) XdrUnionBody() XdrType { switch u.Status { case NFS4_OK: return XDR_GETFH4resok(u.Resok4()) default: return nil } } func (u *GETFH4res) XdrUnionBodyName() string { switch u.Status { case NFS4_OK: return "Resok4" default: return "" } } type XdrType_GETFH4res = *GETFH4res func (v *GETFH4res) XdrPointer() interface{} { return v } func (GETFH4res) XdrTypeName() string { return "GETFH4res" } func (v GETFH4res) XdrValue() interface{} { return v } func (v *GETFH4res) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (u *GETFH4res) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } XDR_Nfsstat4(&u.Status).XdrMarshal(x, x.Sprintf("%sstatus", name)) switch u.Status { case NFS4_OK: x.Marshal(x.Sprintf("%sresok4", name), XDR_GETFH4resok(u.Resok4())) return default: return } } func XDR_GETFH4res(v *GETFH4res) *GETFH4res { return v} type XdrType_LINK4args = *LINK4args func (v *LINK4args) XdrPointer() interface{} { return v } func (LINK4args) XdrTypeName() string { return "LINK4args" } func (v LINK4args) XdrValue() interface{} { return v } func (v *LINK4args) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *LINK4args) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%snewname", name), XDR_Component4(&v.Newname)) } func XDR_LINK4args(v *LINK4args) *LINK4args { return v } type XdrType_LINK4resok = *LINK4resok func (v *LINK4resok) XdrPointer() interface{} { return v } func (LINK4resok) XdrTypeName() string { return "LINK4resok" } func (v LINK4resok) XdrValue() interface{} { return v } func (v *LINK4resok) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *LINK4resok) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%scinfo", name), XDR_Change_info4(&v.Cinfo)) } func XDR_LINK4resok(v *LINK4resok) *LINK4resok { return v } func (u *LINK4res) Resok4() *LINK4resok { switch u.Status { case NFS4_OK: if v, ok := u.U.(*LINK4resok); ok { return v } else { var zero LINK4resok u.U = &zero return &zero } default: XdrPanic("LINK4res.Resok4 accessed when Status == %v", u.Status) return nil } } func (u LINK4res) XdrValid() bool { return true } func (u *LINK4res) XdrUnionTag() XdrNum32 { return XDR_Nfsstat4(&u.Status) } func (u *LINK4res) XdrUnionTagName() string { return "Status" } func (u *LINK4res) XdrUnionBody() XdrType { switch u.Status { case NFS4_OK: return XDR_LINK4resok(u.Resok4()) default: return nil } } func (u *LINK4res) XdrUnionBodyName() string { switch u.Status { case NFS4_OK: return "Resok4" default: return "" } } type XdrType_LINK4res = *LINK4res func (v *LINK4res) XdrPointer() interface{} { return v } func (LINK4res) XdrTypeName() string { return "LINK4res" } func (v LINK4res) XdrValue() interface{} { return v } func (v *LINK4res) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (u *LINK4res) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } XDR_Nfsstat4(&u.Status).XdrMarshal(x, x.Sprintf("%sstatus", name)) switch u.Status { case NFS4_OK: x.Marshal(x.Sprintf("%sresok4", name), XDR_LINK4resok(u.Resok4())) return default: return } } func XDR_LINK4res(v *LINK4res) *LINK4res { return v} type XdrType_Open_to_lock_owner4 = *Open_to_lock_owner4 func (v *Open_to_lock_owner4) XdrPointer() interface{} { return v } func (Open_to_lock_owner4) XdrTypeName() string { return "Open_to_lock_owner4" } func (v Open_to_lock_owner4) XdrValue() interface{} { return v } func (v *Open_to_lock_owner4) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *Open_to_lock_owner4) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%sopen_seqid", name), XDR_Seqid4(&v.Open_seqid)) x.Marshal(x.Sprintf("%sopen_stateid", name), XDR_Stateid4(&v.Open_stateid)) x.Marshal(x.Sprintf("%slock_seqid", name), XDR_Seqid4(&v.Lock_seqid)) x.Marshal(x.Sprintf("%slock_owner", name), XDR_Lock_owner4(&v.Lock_owner)) } func XDR_Open_to_lock_owner4(v *Open_to_lock_owner4) *Open_to_lock_owner4 { return v } type XdrType_Exist_lock_owner4 = *Exist_lock_owner4 func (v *Exist_lock_owner4) XdrPointer() interface{} { return v } func (Exist_lock_owner4) XdrTypeName() string { return "Exist_lock_owner4" } func (v Exist_lock_owner4) XdrValue() interface{} { return v } func (v *Exist_lock_owner4) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *Exist_lock_owner4) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%slock_stateid", name), XDR_Stateid4(&v.Lock_stateid)) x.Marshal(x.Sprintf("%slock_seqid", name), XDR_Seqid4(&v.Lock_seqid)) } func XDR_Exist_lock_owner4(v *Exist_lock_owner4) *Exist_lock_owner4 { return v } var _XdrTags_Locker4 = map[int32]bool{ XdrToI32(true): true, XdrToI32(false): true, } func (_ Locker4) XdrValidTags() map[int32]bool { return _XdrTags_Locker4 } func (u *Locker4) Open_owner() *Open_to_lock_owner4 { switch u.New_lock_owner { case true: if v, ok := u.U.(*Open_to_lock_owner4); ok { return v } else { var zero Open_to_lock_owner4 u.U = &zero return &zero } default: XdrPanic("Locker4.Open_owner accessed when New_lock_owner == %v", u.New_lock_owner) return nil } } func (u *Locker4) Lock_owner() *Exist_lock_owner4 { switch u.New_lock_owner { case false: if v, ok := u.U.(*Exist_lock_owner4); ok { return v } else { var zero Exist_lock_owner4 u.U = &zero return &zero } default: XdrPanic("Locker4.Lock_owner accessed when New_lock_owner == %v", u.New_lock_owner) return nil } } func (u Locker4) XdrValid() bool { switch u.New_lock_owner { case true,false: return true } return false } func (u *Locker4) XdrUnionTag() XdrNum32 { return XDR_bool(&u.New_lock_owner) } func (u *Locker4) XdrUnionTagName() string { return "New_lock_owner" } func (u *Locker4) XdrUnionBody() XdrType { switch u.New_lock_owner { case true: return XDR_Open_to_lock_owner4(u.Open_owner()) case false: return XDR_Exist_lock_owner4(u.Lock_owner()) } return nil } func (u *Locker4) XdrUnionBodyName() string { switch u.New_lock_owner { case true: return "Open_owner" case false: return "Lock_owner" } return "" } type XdrType_Locker4 = *Locker4 func (v *Locker4) XdrPointer() interface{} { return v } func (Locker4) XdrTypeName() string { return "Locker4" } func (v Locker4) XdrValue() interface{} { return v } func (v *Locker4) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (u *Locker4) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } XDR_bool(&u.New_lock_owner).XdrMarshal(x, x.Sprintf("%snew_lock_owner", name)) switch u.New_lock_owner { case true: x.Marshal(x.Sprintf("%sopen_owner", name), XDR_Open_to_lock_owner4(u.Open_owner())) return case false: x.Marshal(x.Sprintf("%slock_owner", name), XDR_Exist_lock_owner4(u.Lock_owner())) return } XdrPanic("invalid New_lock_owner (%v) in Locker4", u.New_lock_owner) } func XDR_Locker4(v *Locker4) *Locker4 { return v} type XdrType_LOCK4args = *LOCK4args func (v *LOCK4args) XdrPointer() interface{} { return v } func (LOCK4args) XdrTypeName() string { return "LOCK4args" } func (v LOCK4args) XdrValue() interface{} { return v } func (v *LOCK4args) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *LOCK4args) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%slocktype", name), XDR_Nfs_lock_type4(&v.Locktype)) x.Marshal(x.Sprintf("%sreclaim", name), XDR_bool(&v.Reclaim)) x.Marshal(x.Sprintf("%soffset", name), XDR_Offset4(&v.Offset)) x.Marshal(x.Sprintf("%slength", name), XDR_Length4(&v.Length)) x.Marshal(x.Sprintf("%slocker", name), XDR_Locker4(&v.Locker)) } func XDR_LOCK4args(v *LOCK4args) *LOCK4args { return v } type XdrType_LOCK4denied = *LOCK4denied func (v *LOCK4denied) XdrPointer() interface{} { return v } func (LOCK4denied) XdrTypeName() string { return "LOCK4denied" } func (v LOCK4denied) XdrValue() interface{} { return v } func (v *LOCK4denied) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *LOCK4denied) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%soffset", name), XDR_Offset4(&v.Offset)) x.Marshal(x.Sprintf("%slength", name), XDR_Length4(&v.Length)) x.Marshal(x.Sprintf("%slocktype", name), XDR_Nfs_lock_type4(&v.Locktype)) x.Marshal(x.Sprintf("%sowner", name), XDR_Lock_owner4(&v.Owner)) } func XDR_LOCK4denied(v *LOCK4denied) *LOCK4denied { return v } type XdrType_LOCK4resok = *LOCK4resok func (v *LOCK4resok) XdrPointer() interface{} { return v } func (LOCK4resok) XdrTypeName() string { return "LOCK4resok" } func (v LOCK4resok) XdrValue() interface{} { return v } func (v *LOCK4resok) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *LOCK4resok) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%slock_stateid", name), XDR_Stateid4(&v.Lock_stateid)) } func XDR_LOCK4resok(v *LOCK4resok) *LOCK4resok { return v } func (u *LOCK4res) Resok4() *LOCK4resok { switch u.Status { case NFS4_OK: if v, ok := u.U.(*LOCK4resok); ok { return v } else { var zero LOCK4resok u.U = &zero return &zero } default: XdrPanic("LOCK4res.Resok4 accessed when Status == %v", u.Status) return nil } } func (u *LOCK4res) Denied() *LOCK4denied { switch u.Status { case NFS4ERR_DENIED: if v, ok := u.U.(*LOCK4denied); ok { return v } else { var zero LOCK4denied u.U = &zero return &zero } default: XdrPanic("LOCK4res.Denied accessed when Status == %v", u.Status) return nil } } func (u LOCK4res) XdrValid() bool { return true } func (u *LOCK4res) XdrUnionTag() XdrNum32 { return XDR_Nfsstat4(&u.Status) } func (u *LOCK4res) XdrUnionTagName() string { return "Status" } func (u *LOCK4res) XdrUnionBody() XdrType { switch u.Status { case NFS4_OK: return XDR_LOCK4resok(u.Resok4()) case NFS4ERR_DENIED: return XDR_LOCK4denied(u.Denied()) default: return nil } } func (u *LOCK4res) XdrUnionBodyName() string { switch u.Status { case NFS4_OK: return "Resok4" case NFS4ERR_DENIED: return "Denied" default: return "" } } type XdrType_LOCK4res = *LOCK4res func (v *LOCK4res) XdrPointer() interface{} { return v } func (LOCK4res) XdrTypeName() string { return "LOCK4res" } func (v LOCK4res) XdrValue() interface{} { return v } func (v *LOCK4res) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (u *LOCK4res) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } XDR_Nfsstat4(&u.Status).XdrMarshal(x, x.Sprintf("%sstatus", name)) switch u.Status { case NFS4_OK: x.Marshal(x.Sprintf("%sresok4", name), XDR_LOCK4resok(u.Resok4())) return case NFS4ERR_DENIED: x.Marshal(x.Sprintf("%sdenied", name), XDR_LOCK4denied(u.Denied())) return default: return } } func XDR_LOCK4res(v *LOCK4res) *LOCK4res { return v} type XdrType_LOCKT4args = *LOCKT4args func (v *LOCKT4args) XdrPointer() interface{} { return v } func (LOCKT4args) XdrTypeName() string { return "LOCKT4args" } func (v LOCKT4args) XdrValue() interface{} { return v } func (v *LOCKT4args) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *LOCKT4args) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%slocktype", name), XDR_Nfs_lock_type4(&v.Locktype)) x.Marshal(x.Sprintf("%soffset", name), XDR_Offset4(&v.Offset)) x.Marshal(x.Sprintf("%slength", name), XDR_Length4(&v.Length)) x.Marshal(x.Sprintf("%sowner", name), XDR_Lock_owner4(&v.Owner)) } func XDR_LOCKT4args(v *LOCKT4args) *LOCKT4args { return v } func (u *LOCKT4res) Denied() *LOCK4denied { switch u.Status { case NFS4ERR_DENIED: if v, ok := u.U.(*LOCK4denied); ok { return v } else { var zero LOCK4denied u.U = &zero return &zero } default: XdrPanic("LOCKT4res.Denied accessed when Status == %v", u.Status) return nil } } func (u LOCKT4res) XdrValid() bool { return true } func (u *LOCKT4res) XdrUnionTag() XdrNum32 { return XDR_Nfsstat4(&u.Status) } func (u *LOCKT4res) XdrUnionTagName() string { return "Status" } func (u *LOCKT4res) XdrUnionBody() XdrType { switch u.Status { case NFS4ERR_DENIED: return XDR_LOCK4denied(u.Denied()) case NFS4_OK: return nil default: return nil } } func (u *LOCKT4res) XdrUnionBodyName() string { switch u.Status { case NFS4ERR_DENIED: return "Denied" case NFS4_OK: return "" default: return "" } } type XdrType_LOCKT4res = *LOCKT4res func (v *LOCKT4res) XdrPointer() interface{} { return v } func (LOCKT4res) XdrTypeName() string { return "LOCKT4res" } func (v LOCKT4res) XdrValue() interface{} { return v } func (v *LOCKT4res) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (u *LOCKT4res) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } XDR_Nfsstat4(&u.Status).XdrMarshal(x, x.Sprintf("%sstatus", name)) switch u.Status { case NFS4ERR_DENIED: x.Marshal(x.Sprintf("%sdenied", name), XDR_LOCK4denied(u.Denied())) return case NFS4_OK: return default: return } } func XDR_LOCKT4res(v *LOCKT4res) *LOCKT4res { return v} type XdrType_LOCKU4args = *LOCKU4args func (v *LOCKU4args) XdrPointer() interface{} { return v } func (LOCKU4args) XdrTypeName() string { return "LOCKU4args" } func (v LOCKU4args) XdrValue() interface{} { return v } func (v *LOCKU4args) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *LOCKU4args) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%slocktype", name), XDR_Nfs_lock_type4(&v.Locktype)) x.Marshal(x.Sprintf("%sseqid", name), XDR_Seqid4(&v.Seqid)) x.Marshal(x.Sprintf("%slock_stateid", name), XDR_Stateid4(&v.Lock_stateid)) x.Marshal(x.Sprintf("%soffset", name), XDR_Offset4(&v.Offset)) x.Marshal(x.Sprintf("%slength", name), XDR_Length4(&v.Length)) } func XDR_LOCKU4args(v *LOCKU4args) *LOCKU4args { return v } func (u *LOCKU4res) Lock_stateid() *Stateid4 { switch u.Status { case NFS4_OK: if v, ok := u.U.(*Stateid4); ok { return v } else { var zero Stateid4 u.U = &zero return &zero } default: XdrPanic("LOCKU4res.Lock_stateid accessed when Status == %v", u.Status) return nil } } func (u LOCKU4res) XdrValid() bool { return true } func (u *LOCKU4res) XdrUnionTag() XdrNum32 { return XDR_Nfsstat4(&u.Status) } func (u *LOCKU4res) XdrUnionTagName() string { return "Status" } func (u *LOCKU4res) XdrUnionBody() XdrType { switch u.Status { case NFS4_OK: return XDR_Stateid4(u.Lock_stateid()) default: return nil } } func (u *LOCKU4res) XdrUnionBodyName() string { switch u.Status { case NFS4_OK: return "Lock_stateid" default: return "" } } type XdrType_LOCKU4res = *LOCKU4res func (v *LOCKU4res) XdrPointer() interface{} { return v } func (LOCKU4res) XdrTypeName() string { return "LOCKU4res" } func (v LOCKU4res) XdrValue() interface{} { return v } func (v *LOCKU4res) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (u *LOCKU4res) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } XDR_Nfsstat4(&u.Status).XdrMarshal(x, x.Sprintf("%sstatus", name)) switch u.Status { case NFS4_OK: x.Marshal(x.Sprintf("%slock_stateid", name), XDR_Stateid4(u.Lock_stateid())) return default: return } } func XDR_LOCKU4res(v *LOCKU4res) *LOCKU4res { return v} type XdrType_LOOKUP4args = *LOOKUP4args func (v *LOOKUP4args) XdrPointer() interface{} { return v } func (LOOKUP4args) XdrTypeName() string { return "LOOKUP4args" } func (v LOOKUP4args) XdrValue() interface{} { return v } func (v *LOOKUP4args) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *LOOKUP4args) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%sobjname", name), XDR_Component4(&v.Objname)) } func XDR_LOOKUP4args(v *LOOKUP4args) *LOOKUP4args { return v } type XdrType_LOOKUP4res = *LOOKUP4res func (v *LOOKUP4res) XdrPointer() interface{} { return v } func (LOOKUP4res) XdrTypeName() string { return "LOOKUP4res" } func (v LOOKUP4res) XdrValue() interface{} { return v } func (v *LOOKUP4res) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *LOOKUP4res) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%sstatus", name), XDR_Nfsstat4(&v.Status)) } func XDR_LOOKUP4res(v *LOOKUP4res) *LOOKUP4res { return v } type XdrType_LOOKUPP4res = *LOOKUPP4res func (v *LOOKUPP4res) XdrPointer() interface{} { return v } func (LOOKUPP4res) XdrTypeName() string { return "LOOKUPP4res" } func (v LOOKUPP4res) XdrValue() interface{} { return v } func (v *LOOKUPP4res) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *LOOKUPP4res) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%sstatus", name), XDR_Nfsstat4(&v.Status)) } func XDR_LOOKUPP4res(v *LOOKUPP4res) *LOOKUPP4res { return v } type XdrType_NVERIFY4args = *NVERIFY4args func (v *NVERIFY4args) XdrPointer() interface{} { return v } func (NVERIFY4args) XdrTypeName() string { return "NVERIFY4args" } func (v NVERIFY4args) XdrValue() interface{} { return v } func (v *NVERIFY4args) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *NVERIFY4args) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%sobj_attributes", name), XDR_Fattr4(&v.Obj_attributes)) } func XDR_NVERIFY4args(v *NVERIFY4args) *NVERIFY4args { return v } type XdrType_NVERIFY4res = *NVERIFY4res func (v *NVERIFY4res) XdrPointer() interface{} { return v } func (NVERIFY4res) XdrTypeName() string { return "NVERIFY4res" } func (v NVERIFY4res) XdrValue() interface{} { return v } func (v *NVERIFY4res) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *NVERIFY4res) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%sstatus", name), XDR_Nfsstat4(&v.Status)) } func XDR_NVERIFY4res(v *NVERIFY4res) *NVERIFY4res { return v } var _XdrNames_Createmode4 = map[int32]string{ int32(UNCHECKED4): "UNCHECKED4", int32(GUARDED4): "GUARDED4", int32(EXCLUSIVE4): "EXCLUSIVE4", } var _XdrValues_Createmode4 = map[string]int32{ "UNCHECKED4": int32(UNCHECKED4), "GUARDED4": int32(GUARDED4), "EXCLUSIVE4": int32(EXCLUSIVE4), } func (Createmode4) XdrEnumNames() map[int32]string { return _XdrNames_Createmode4 } func (v Createmode4) String() string { if s, ok := _XdrNames_Createmode4[int32(v)]; ok { return s } return fmt.Sprintf("Createmode4#%d", v) } func (v *Createmode4) Scan(ss fmt.ScanState, _ rune) error { if tok, err := ss.Token(true, XdrSymChar); err != nil { return err } else { stok := string(tok) if val, ok := _XdrValues_Createmode4[stok]; ok { *v = Createmode4(val) return nil } else if stok == "Createmode4" { if n, err := fmt.Fscanf(ss, "#%d", (*int32)(v)); n == 1 && err == nil { return nil } } return XdrError(fmt.Sprintf("%s is not a valid Createmode4.", stok)) } } func (v Createmode4) GetU32() uint32 { return uint32(v) } func (v *Createmode4) SetU32(n uint32) { *v = Createmode4(n) } func (v *Createmode4) XdrPointer() interface{} { return v } func (Createmode4) XdrTypeName() string { return "Createmode4" } func (v Createmode4) XdrValue() interface{} { return v } func (v *Createmode4) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } type XdrType_Createmode4 = *Createmode4 func XDR_Createmode4(v *Createmode4) *Createmode4 { return v } var _XdrTags_Createhow4 = map[int32]bool{ XdrToI32(UNCHECKED4): true, XdrToI32(GUARDED4): true, XdrToI32(EXCLUSIVE4): true, } func (_ Createhow4) XdrValidTags() map[int32]bool { return _XdrTags_Createhow4 } func (u *Createhow4) Createattrs() *Fattr4 { switch u.Mode { case UNCHECKED4, GUARDED4: if v, ok := u.U.(*Fattr4); ok { return v } else { var zero Fattr4 u.U = &zero return &zero } default: XdrPanic("Createhow4.Createattrs accessed when Mode == %v", u.Mode) return nil } } func (u *Createhow4) Createverf() *Verifier4 { switch u.Mode { case EXCLUSIVE4: if v, ok := u.U.(*Verifier4); ok { return v } else { var zero Verifier4 u.U = &zero return &zero } default: XdrPanic("Createhow4.Createverf accessed when Mode == %v", u.Mode) return nil } } func (u Createhow4) XdrValid() bool { switch u.Mode { case UNCHECKED4, GUARDED4,EXCLUSIVE4: return true } return false } func (u *Createhow4) XdrUnionTag() XdrNum32 { return XDR_Createmode4(&u.Mode) } func (u *Createhow4) XdrUnionTagName() string { return "Mode" } func (u *Createhow4) XdrUnionBody() XdrType { switch u.Mode { case UNCHECKED4, GUARDED4: return XDR_Fattr4(u.Createattrs()) case EXCLUSIVE4: return XDR_Verifier4(u.Createverf()) } return nil } func (u *Createhow4) XdrUnionBodyName() string { switch u.Mode { case UNCHECKED4, GUARDED4: return "Createattrs" case EXCLUSIVE4: return "Createverf" } return "" } type XdrType_Createhow4 = *Createhow4 func (v *Createhow4) XdrPointer() interface{} { return v } func (Createhow4) XdrTypeName() string { return "Createhow4" } func (v Createhow4) XdrValue() interface{} { return v } func (v *Createhow4) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (u *Createhow4) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } XDR_Createmode4(&u.Mode).XdrMarshal(x, x.Sprintf("%smode", name)) switch u.Mode { case UNCHECKED4, GUARDED4: x.Marshal(x.Sprintf("%screateattrs", name), XDR_Fattr4(u.Createattrs())) return case EXCLUSIVE4: x.Marshal(x.Sprintf("%screateverf", name), XDR_Verifier4(u.Createverf())) return } XdrPanic("invalid Mode (%v) in Createhow4", u.Mode) } func XDR_Createhow4(v *Createhow4) *Createhow4 { return v} var _XdrNames_Opentype4 = map[int32]string{ int32(OPEN4_NOCREATE): "OPEN4_NOCREATE", int32(OPEN4_CREATE): "OPEN4_CREATE", } var _XdrValues_Opentype4 = map[string]int32{ "OPEN4_NOCREATE": int32(OPEN4_NOCREATE), "OPEN4_CREATE": int32(OPEN4_CREATE), } func (Opentype4) XdrEnumNames() map[int32]string { return _XdrNames_Opentype4 } func (v Opentype4) String() string { if s, ok := _XdrNames_Opentype4[int32(v)]; ok { return s } return fmt.Sprintf("Opentype4#%d", v) } func (v *Opentype4) Scan(ss fmt.ScanState, _ rune) error { if tok, err := ss.Token(true, XdrSymChar); err != nil { return err } else { stok := string(tok) if val, ok := _XdrValues_Opentype4[stok]; ok { *v = Opentype4(val) return nil } else if stok == "Opentype4" { if n, err := fmt.Fscanf(ss, "#%d", (*int32)(v)); n == 1 && err == nil { return nil } } return XdrError(fmt.Sprintf("%s is not a valid Opentype4.", stok)) } } func (v Opentype4) GetU32() uint32 { return uint32(v) } func (v *Opentype4) SetU32(n uint32) { *v = Opentype4(n) } func (v *Opentype4) XdrPointer() interface{} { return v } func (Opentype4) XdrTypeName() string { return "Opentype4" } func (v Opentype4) XdrValue() interface{} { return v } func (v *Opentype4) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } type XdrType_Opentype4 = *Opentype4 func XDR_Opentype4(v *Opentype4) *Opentype4 { return v } func (u *Openflag4) How() *Createhow4 { switch u.Opentype { case OPEN4_CREATE: if v, ok := u.U.(*Createhow4); ok { return v } else { var zero Createhow4 u.U = &zero return &zero } default: XdrPanic("Openflag4.How accessed when Opentype == %v", u.Opentype) return nil } } func (u Openflag4) XdrValid() bool { return true } func (u *Openflag4) XdrUnionTag() XdrNum32 { return XDR_Opentype4(&u.Opentype) } func (u *Openflag4) XdrUnionTagName() string { return "Opentype" } func (u *Openflag4) XdrUnionBody() XdrType { switch u.Opentype { case OPEN4_CREATE: return XDR_Createhow4(u.How()) default: return nil } } func (u *Openflag4) XdrUnionBodyName() string { switch u.Opentype { case OPEN4_CREATE: return "How" default: return "" } } type XdrType_Openflag4 = *Openflag4 func (v *Openflag4) XdrPointer() interface{} { return v } func (Openflag4) XdrTypeName() string { return "Openflag4" } func (v Openflag4) XdrValue() interface{} { return v } func (v *Openflag4) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (u *Openflag4) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } XDR_Opentype4(&u.Opentype).XdrMarshal(x, x.Sprintf("%sopentype", name)) switch u.Opentype { case OPEN4_CREATE: x.Marshal(x.Sprintf("%show", name), XDR_Createhow4(u.How())) return default: return } } func XDR_Openflag4(v *Openflag4) *Openflag4 { return v} var _XdrNames_Limit_by4 = map[int32]string{ int32(NFS_LIMIT_SIZE): "NFS_LIMIT_SIZE", int32(NFS_LIMIT_BLOCKS): "NFS_LIMIT_BLOCKS", } var _XdrValues_Limit_by4 = map[string]int32{ "NFS_LIMIT_SIZE": int32(NFS_LIMIT_SIZE), "NFS_LIMIT_BLOCKS": int32(NFS_LIMIT_BLOCKS), } func (Limit_by4) XdrEnumNames() map[int32]string { return _XdrNames_Limit_by4 } func (v Limit_by4) String() string { if s, ok := _XdrNames_Limit_by4[int32(v)]; ok { return s } return fmt.Sprintf("Limit_by4#%d", v) } func (v *Limit_by4) Scan(ss fmt.ScanState, _ rune) error { if tok, err := ss.Token(true, XdrSymChar); err != nil { return err } else { stok := string(tok) if val, ok := _XdrValues_Limit_by4[stok]; ok { *v = Limit_by4(val) return nil } else if stok == "Limit_by4" { if n, err := fmt.Fscanf(ss, "#%d", (*int32)(v)); n == 1 && err == nil { return nil } } return XdrError(fmt.Sprintf("%s is not a valid Limit_by4.", stok)) } } func (v Limit_by4) GetU32() uint32 { return uint32(v) } func (v *Limit_by4) SetU32(n uint32) { *v = Limit_by4(n) } func (v *Limit_by4) XdrPointer() interface{} { return v } func (Limit_by4) XdrTypeName() string { return "Limit_by4" } func (v Limit_by4) XdrValue() interface{} { return v } func (v *Limit_by4) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } type XdrType_Limit_by4 = *Limit_by4 func XDR_Limit_by4(v *Limit_by4) *Limit_by4 { return v } func (v *Limit_by4) XdrInitialize() { switch Limit_by4(0) { case NFS_LIMIT_SIZE, NFS_LIMIT_BLOCKS: default: if *v == Limit_by4(0) { *v = NFS_LIMIT_SIZE } } } type XdrType_Nfs_modified_limit4 = *Nfs_modified_limit4 func (v *Nfs_modified_limit4) XdrPointer() interface{} { return v } func (Nfs_modified_limit4) XdrTypeName() string { return "Nfs_modified_limit4" } func (v Nfs_modified_limit4) XdrValue() interface{} { return v } func (v *Nfs_modified_limit4) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *Nfs_modified_limit4) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%snum_blocks", name), XDR_Uint32_t(&v.Num_blocks)) x.Marshal(x.Sprintf("%sbytes_per_block", name), XDR_Uint32_t(&v.Bytes_per_block)) } func XDR_Nfs_modified_limit4(v *Nfs_modified_limit4) *Nfs_modified_limit4 { return v } var _XdrTags_Nfs_space_limit4 = map[int32]bool{ XdrToI32(NFS_LIMIT_SIZE): true, XdrToI32(NFS_LIMIT_BLOCKS): true, } func (_ Nfs_space_limit4) XdrValidTags() map[int32]bool { return _XdrTags_Nfs_space_limit4 } func (u *Nfs_space_limit4) Filesize() *Uint64_t { switch u.Limitby { case NFS_LIMIT_SIZE: if v, ok := u.U.(*Uint64_t); ok { return v } else { var zero Uint64_t u.U = &zero return &zero } default: XdrPanic("Nfs_space_limit4.Filesize accessed when Limitby == %v", u.Limitby) return nil } } func (u *Nfs_space_limit4) Mod_blocks() *Nfs_modified_limit4 { switch u.Limitby { case NFS_LIMIT_BLOCKS: if v, ok := u.U.(*Nfs_modified_limit4); ok { return v } else { var zero Nfs_modified_limit4 u.U = &zero return &zero } default: XdrPanic("Nfs_space_limit4.Mod_blocks accessed when Limitby == %v", u.Limitby) return nil } } func (u Nfs_space_limit4) XdrValid() bool { switch u.Limitby { case NFS_LIMIT_SIZE,NFS_LIMIT_BLOCKS: return true } return false } func (u *Nfs_space_limit4) XdrUnionTag() XdrNum32 { return XDR_Limit_by4(&u.Limitby) } func (u *Nfs_space_limit4) XdrUnionTagName() string { return "Limitby" } func (u *Nfs_space_limit4) XdrUnionBody() XdrType { switch u.Limitby { case NFS_LIMIT_SIZE: return XDR_Uint64_t(u.Filesize()) case NFS_LIMIT_BLOCKS: return XDR_Nfs_modified_limit4(u.Mod_blocks()) } return nil } func (u *Nfs_space_limit4) XdrUnionBodyName() string { switch u.Limitby { case NFS_LIMIT_SIZE: return "Filesize" case NFS_LIMIT_BLOCKS: return "Mod_blocks" } return "" } type XdrType_Nfs_space_limit4 = *Nfs_space_limit4 func (v *Nfs_space_limit4) XdrPointer() interface{} { return v } func (Nfs_space_limit4) XdrTypeName() string { return "Nfs_space_limit4" } func (v Nfs_space_limit4) XdrValue() interface{} { return v } func (v *Nfs_space_limit4) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (u *Nfs_space_limit4) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } XDR_Limit_by4(&u.Limitby).XdrMarshal(x, x.Sprintf("%slimitby", name)) switch u.Limitby { case NFS_LIMIT_SIZE: x.Marshal(x.Sprintf("%sfilesize", name), XDR_Uint64_t(u.Filesize())) return case NFS_LIMIT_BLOCKS: x.Marshal(x.Sprintf("%smod_blocks", name), XDR_Nfs_modified_limit4(u.Mod_blocks())) return } XdrPanic("invalid Limitby (%v) in Nfs_space_limit4", u.Limitby) } func (v *Nfs_space_limit4) XdrInitialize() { var zero Limit_by4 switch zero { case NFS_LIMIT_SIZE, NFS_LIMIT_BLOCKS: default: if v.Limitby == zero { v.Limitby = NFS_LIMIT_SIZE } } } func XDR_Nfs_space_limit4(v *Nfs_space_limit4) *Nfs_space_limit4 { return v} var _XdrNames_Open_delegation_type4 = map[int32]string{ int32(OPEN_DELEGATE_NONE): "OPEN_DELEGATE_NONE", int32(OPEN_DELEGATE_READ): "OPEN_DELEGATE_READ", int32(OPEN_DELEGATE_WRITE): "OPEN_DELEGATE_WRITE", } var _XdrValues_Open_delegation_type4 = map[string]int32{ "OPEN_DELEGATE_NONE": int32(OPEN_DELEGATE_NONE), "OPEN_DELEGATE_READ": int32(OPEN_DELEGATE_READ), "OPEN_DELEGATE_WRITE": int32(OPEN_DELEGATE_WRITE), } func (Open_delegation_type4) XdrEnumNames() map[int32]string { return _XdrNames_Open_delegation_type4 } func (v Open_delegation_type4) String() string { if s, ok := _XdrNames_Open_delegation_type4[int32(v)]; ok { return s } return fmt.Sprintf("Open_delegation_type4#%d", v) } func (v *Open_delegation_type4) Scan(ss fmt.ScanState, _ rune) error { if tok, err := ss.Token(true, XdrSymChar); err != nil { return err } else { stok := string(tok) if val, ok := _XdrValues_Open_delegation_type4[stok]; ok { *v = Open_delegation_type4(val) return nil } else if stok == "Open_delegation_type4" { if n, err := fmt.Fscanf(ss, "#%d", (*int32)(v)); n == 1 && err == nil { return nil } } return XdrError(fmt.Sprintf("%s is not a valid Open_delegation_type4.", stok)) } } func (v Open_delegation_type4) GetU32() uint32 { return uint32(v) } func (v *Open_delegation_type4) SetU32(n uint32) { *v = Open_delegation_type4(n) } func (v *Open_delegation_type4) XdrPointer() interface{} { return v } func (Open_delegation_type4) XdrTypeName() string { return "Open_delegation_type4" } func (v Open_delegation_type4) XdrValue() interface{} { return v } func (v *Open_delegation_type4) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } type XdrType_Open_delegation_type4 = *Open_delegation_type4 func XDR_Open_delegation_type4(v *Open_delegation_type4) *Open_delegation_type4 { return v } var _XdrNames_Open_claim_type4 = map[int32]string{ int32(CLAIM_NULL): "CLAIM_NULL", int32(CLAIM_PREVIOUS): "CLAIM_PREVIOUS", int32(CLAIM_DELEGATE_CUR): "CLAIM_DELEGATE_CUR", int32(CLAIM_DELEGATE_PREV): "CLAIM_DELEGATE_PREV", int32(CLAIM_FH): "CLAIM_FH", int32(CLAIM_DELEG_CUR_FH): "CLAIM_DELEG_CUR_FH", int32(CLAIM_DELEG_PREV_FH): "CLAIM_DELEG_PREV_FH", } var _XdrValues_Open_claim_type4 = map[string]int32{ "CLAIM_NULL": int32(CLAIM_NULL), "CLAIM_PREVIOUS": int32(CLAIM_PREVIOUS), "CLAIM_DELEGATE_CUR": int32(CLAIM_DELEGATE_CUR), "CLAIM_DELEGATE_PREV": int32(CLAIM_DELEGATE_PREV), "CLAIM_FH": int32(CLAIM_FH), "CLAIM_DELEG_CUR_FH": int32(CLAIM_DELEG_CUR_FH), "CLAIM_DELEG_PREV_FH": int32(CLAIM_DELEG_PREV_FH), } func (Open_claim_type4) XdrEnumNames() map[int32]string { return _XdrNames_Open_claim_type4 } func (v Open_claim_type4) String() string { if s, ok := _XdrNames_Open_claim_type4[int32(v)]; ok { return s } return fmt.Sprintf("Open_claim_type4#%d", v) } func (v *Open_claim_type4) Scan(ss fmt.ScanState, _ rune) error { if tok, err := ss.Token(true, XdrSymChar); err != nil { return err } else { stok := string(tok) if val, ok := _XdrValues_Open_claim_type4[stok]; ok { *v = Open_claim_type4(val) return nil } else if stok == "Open_claim_type4" { if n, err := fmt.Fscanf(ss, "#%d", (*int32)(v)); n == 1 && err == nil { return nil } } return XdrError(fmt.Sprintf("%s is not a valid Open_claim_type4.", stok)) } } func (v Open_claim_type4) GetU32() uint32 { return uint32(v) } func (v *Open_claim_type4) SetU32(n uint32) { *v = Open_claim_type4(n) } func (v *Open_claim_type4) XdrPointer() interface{} { return v } func (Open_claim_type4) XdrTypeName() string { return "Open_claim_type4" } func (v Open_claim_type4) XdrValue() interface{} { return v } func (v *Open_claim_type4) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } type XdrType_Open_claim_type4 = *Open_claim_type4 func XDR_Open_claim_type4(v *Open_claim_type4) *Open_claim_type4 { return v } type XdrType_Open_claim_delegate_cur4 = *Open_claim_delegate_cur4 func (v *Open_claim_delegate_cur4) XdrPointer() interface{} { return v } func (Open_claim_delegate_cur4) XdrTypeName() string { return "Open_claim_delegate_cur4" } func (v Open_claim_delegate_cur4) XdrValue() interface{} { return v } func (v *Open_claim_delegate_cur4) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *Open_claim_delegate_cur4) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%sdelegate_stateid", name), XDR_Stateid4(&v.Delegate_stateid)) x.Marshal(x.Sprintf("%sfile", name), XDR_Component4(&v.File)) } func XDR_Open_claim_delegate_cur4(v *Open_claim_delegate_cur4) *Open_claim_delegate_cur4 { return v } var _XdrTags_Open_claim4 = map[int32]bool{ XdrToI32(CLAIM_NULL): true, XdrToI32(CLAIM_PREVIOUS): true, XdrToI32(CLAIM_DELEGATE_CUR): true, XdrToI32(CLAIM_DELEGATE_PREV): true, } func (_ Open_claim4) XdrValidTags() map[int32]bool { return _XdrTags_Open_claim4 } /* CURRENT_FH: directory */ func (u *Open_claim4) File() *Component4 { switch u.Claim { case CLAIM_NULL: if v, ok := u.U.(*Component4); ok { return v } else { var zero Component4 u.U = &zero return &zero } default: XdrPanic("Open_claim4.File accessed when Claim == %v", u.Claim) return nil } } /* CURRENT_FH: file being reclaimed */ func (u *Open_claim4) Delegate_type() *Open_delegation_type4 { switch u.Claim { case CLAIM_PREVIOUS: if v, ok := u.U.(*Open_delegation_type4); ok { return v } else { var zero Open_delegation_type4 u.U = &zero return &zero } default: XdrPanic("Open_claim4.Delegate_type accessed when Claim == %v", u.Claim) return nil } } /* CURRENT_FH: directory */ func (u *Open_claim4) Delegate_cur_info() *Open_claim_delegate_cur4 { switch u.Claim { case CLAIM_DELEGATE_CUR: if v, ok := u.U.(*Open_claim_delegate_cur4); ok { return v } else { var zero Open_claim_delegate_cur4 u.U = &zero return &zero } default: XdrPanic("Open_claim4.Delegate_cur_info accessed when Claim == %v", u.Claim) return nil } } /* CURRENT_FH: directory */ func (u *Open_claim4) File_delegate_prev() *Component4 { switch u.Claim { case CLAIM_DELEGATE_PREV: if v, ok := u.U.(*Component4); ok { return v } else { var zero Component4 u.U = &zero return &zero } default: XdrPanic("Open_claim4.File_delegate_prev accessed when Claim == %v", u.Claim) return nil } } func (u Open_claim4) XdrValid() bool { switch u.Claim { case CLAIM_NULL,CLAIM_PREVIOUS,CLAIM_DELEGATE_CUR,CLAIM_DELEGATE_PREV: return true } return false } func (u *Open_claim4) XdrUnionTag() XdrNum32 { return XDR_Open_claim_type4(&u.Claim) } func (u *Open_claim4) XdrUnionTagName() string { return "Claim" } func (u *Open_claim4) XdrUnionBody() XdrType { switch u.Claim { case CLAIM_NULL: return XDR_Component4(u.File()) case CLAIM_PREVIOUS: return XDR_Open_delegation_type4(u.Delegate_type()) case CLAIM_DELEGATE_CUR: return XDR_Open_claim_delegate_cur4(u.Delegate_cur_info()) case CLAIM_DELEGATE_PREV: return XDR_Component4(u.File_delegate_prev()) } return nil } func (u *Open_claim4) XdrUnionBodyName() string { switch u.Claim { case CLAIM_NULL: return "File" case CLAIM_PREVIOUS: return "Delegate_type" case CLAIM_DELEGATE_CUR: return "Delegate_cur_info" case CLAIM_DELEGATE_PREV: return "File_delegate_prev" } return "" } type XdrType_Open_claim4 = *Open_claim4 func (v *Open_claim4) XdrPointer() interface{} { return v } func (Open_claim4) XdrTypeName() string { return "Open_claim4" } func (v Open_claim4) XdrValue() interface{} { return v } func (v *Open_claim4) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (u *Open_claim4) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } XDR_Open_claim_type4(&u.Claim).XdrMarshal(x, x.Sprintf("%sclaim", name)) switch u.Claim { case CLAIM_NULL: x.Marshal(x.Sprintf("%sfile", name), XDR_Component4(u.File())) return case CLAIM_PREVIOUS: x.Marshal(x.Sprintf("%sdelegate_type", name), XDR_Open_delegation_type4(u.Delegate_type())) return case CLAIM_DELEGATE_CUR: x.Marshal(x.Sprintf("%sdelegate_cur_info", name), XDR_Open_claim_delegate_cur4(u.Delegate_cur_info())) return case CLAIM_DELEGATE_PREV: x.Marshal(x.Sprintf("%sfile_delegate_prev", name), XDR_Component4(u.File_delegate_prev())) return } XdrPanic("invalid Claim (%v) in Open_claim4", u.Claim) } func XDR_Open_claim4(v *Open_claim4) *Open_claim4 { return v} type XdrType_OPEN4args = *OPEN4args func (v *OPEN4args) XdrPointer() interface{} { return v } func (OPEN4args) XdrTypeName() string { return "OPEN4args" } func (v OPEN4args) XdrValue() interface{} { return v } func (v *OPEN4args) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *OPEN4args) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%sseqid", name), XDR_Seqid4(&v.Seqid)) x.Marshal(x.Sprintf("%sshare_access", name), XDR_Uint32_t(&v.Share_access)) x.Marshal(x.Sprintf("%sshare_deny", name), XDR_Uint32_t(&v.Share_deny)) x.Marshal(x.Sprintf("%sowner", name), XDR_Open_owner4(&v.Owner)) x.Marshal(x.Sprintf("%sopenhow", name), XDR_Openflag4(&v.Openhow)) x.Marshal(x.Sprintf("%sclaim", name), XDR_Open_claim4(&v.Claim)) } func XDR_OPEN4args(v *OPEN4args) *OPEN4args { return v } type XdrType_Open_read_delegation4 = *Open_read_delegation4 func (v *Open_read_delegation4) XdrPointer() interface{} { return v } func (Open_read_delegation4) XdrTypeName() string { return "Open_read_delegation4" } func (v Open_read_delegation4) XdrValue() interface{} { return v } func (v *Open_read_delegation4) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *Open_read_delegation4) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%sstateid", name), XDR_Stateid4(&v.Stateid)) x.Marshal(x.Sprintf("%srecall", name), XDR_bool(&v.Recall)) x.Marshal(x.Sprintf("%spermissions", name), XDR_Nfsace4(&v.Permissions)) } func XDR_Open_read_delegation4(v *Open_read_delegation4) *Open_read_delegation4 { return v } type XdrType_Open_write_delegation4 = *Open_write_delegation4 func (v *Open_write_delegation4) XdrPointer() interface{} { return v } func (Open_write_delegation4) XdrTypeName() string { return "Open_write_delegation4" } func (v Open_write_delegation4) XdrValue() interface{} { return v } func (v *Open_write_delegation4) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *Open_write_delegation4) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%sstateid", name), XDR_Stateid4(&v.Stateid)) x.Marshal(x.Sprintf("%srecall", name), XDR_bool(&v.Recall)) x.Marshal(x.Sprintf("%sspace_limit", name), XDR_Nfs_space_limit4(&v.Space_limit)) x.Marshal(x.Sprintf("%spermissions", name), XDR_Nfsace4(&v.Permissions)) } func XDR_Open_write_delegation4(v *Open_write_delegation4) *Open_write_delegation4 { return v } var _XdrTags_Open_delegation4 = map[int32]bool{ XdrToI32(OPEN_DELEGATE_NONE): true, XdrToI32(OPEN_DELEGATE_READ): true, XdrToI32(OPEN_DELEGATE_WRITE): true, } func (_ Open_delegation4) XdrValidTags() map[int32]bool { return _XdrTags_Open_delegation4 } func (u *Open_delegation4) Read() *Open_read_delegation4 { switch u.Delegation_type { case OPEN_DELEGATE_READ: if v, ok := u.U.(*Open_read_delegation4); ok { return v } else { var zero Open_read_delegation4 u.U = &zero return &zero } default: XdrPanic("Open_delegation4.Read accessed when Delegation_type == %v", u.Delegation_type) return nil } } func (u *Open_delegation4) Write() *Open_write_delegation4 { switch u.Delegation_type { case OPEN_DELEGATE_WRITE: if v, ok := u.U.(*Open_write_delegation4); ok { return v } else { var zero Open_write_delegation4 u.U = &zero return &zero } default: XdrPanic("Open_delegation4.Write accessed when Delegation_type == %v", u.Delegation_type) return nil } } func (u Open_delegation4) XdrValid() bool { switch u.Delegation_type { case OPEN_DELEGATE_NONE,OPEN_DELEGATE_READ,OPEN_DELEGATE_WRITE: return true } return false } func (u *Open_delegation4) XdrUnionTag() XdrNum32 { return XDR_Open_delegation_type4(&u.Delegation_type) } func (u *Open_delegation4) XdrUnionTagName() string { return "Delegation_type" } func (u *Open_delegation4) XdrUnionBody() XdrType { switch u.Delegation_type { case OPEN_DELEGATE_NONE: return nil case OPEN_DELEGATE_READ: return XDR_Open_read_delegation4(u.Read()) case OPEN_DELEGATE_WRITE: return XDR_Open_write_delegation4(u.Write()) } return nil } func (u *Open_delegation4) XdrUnionBodyName() string { switch u.Delegation_type { case OPEN_DELEGATE_NONE: return "" case OPEN_DELEGATE_READ: return "Read" case OPEN_DELEGATE_WRITE: return "Write" } return "" } type XdrType_Open_delegation4 = *Open_delegation4 func (v *Open_delegation4) XdrPointer() interface{} { return v } func (Open_delegation4) XdrTypeName() string { return "Open_delegation4" } func (v Open_delegation4) XdrValue() interface{} { return v } func (v *Open_delegation4) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (u *Open_delegation4) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } XDR_Open_delegation_type4(&u.Delegation_type).XdrMarshal(x, x.Sprintf("%sdelegation_type", name)) switch u.Delegation_type { case OPEN_DELEGATE_NONE: return case OPEN_DELEGATE_READ: x.Marshal(x.Sprintf("%sread", name), XDR_Open_read_delegation4(u.Read())) return case OPEN_DELEGATE_WRITE: x.Marshal(x.Sprintf("%swrite", name), XDR_Open_write_delegation4(u.Write())) return } XdrPanic("invalid Delegation_type (%v) in Open_delegation4", u.Delegation_type) } func XDR_Open_delegation4(v *Open_delegation4) *Open_delegation4 { return v} type XdrType_OPEN4resok = *OPEN4resok func (v *OPEN4resok) XdrPointer() interface{} { return v } func (OPEN4resok) XdrTypeName() string { return "OPEN4resok" } func (v OPEN4resok) XdrValue() interface{} { return v } func (v *OPEN4resok) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *OPEN4resok) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%sstateid", name), XDR_Stateid4(&v.Stateid)) x.Marshal(x.Sprintf("%scinfo", name), XDR_Change_info4(&v.Cinfo)) x.Marshal(x.Sprintf("%srflags", name), XDR_Uint32_t(&v.Rflags)) x.Marshal(x.Sprintf("%sattrset", name), XDR_Bitmap4(&v.Attrset)) x.Marshal(x.Sprintf("%sdelegation", name), XDR_Open_delegation4(&v.Delegation)) } func XDR_OPEN4resok(v *OPEN4resok) *OPEN4resok { return v } /* CURRENT_FH: opened file */ func (u *OPEN4res) Resok4() *OPEN4resok { switch u.Status { case NFS4_OK: if v, ok := u.U.(*OPEN4resok); ok { return v } else { var zero OPEN4resok u.U = &zero return &zero } default: XdrPanic("OPEN4res.Resok4 accessed when Status == %v", u.Status) return nil } } func (u OPEN4res) XdrValid() bool { return true } func (u *OPEN4res) XdrUnionTag() XdrNum32 { return XDR_Nfsstat4(&u.Status) } func (u *OPEN4res) XdrUnionTagName() string { return "Status" } func (u *OPEN4res) XdrUnionBody() XdrType { switch u.Status { case NFS4_OK: return XDR_OPEN4resok(u.Resok4()) default: return nil } } func (u *OPEN4res) XdrUnionBodyName() string { switch u.Status { case NFS4_OK: return "Resok4" default: return "" } } type XdrType_OPEN4res = *OPEN4res func (v *OPEN4res) XdrPointer() interface{} { return v } func (OPEN4res) XdrTypeName() string { return "OPEN4res" } func (v OPEN4res) XdrValue() interface{} { return v } func (v *OPEN4res) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (u *OPEN4res) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } XDR_Nfsstat4(&u.Status).XdrMarshal(x, x.Sprintf("%sstatus", name)) switch u.Status { case NFS4_OK: x.Marshal(x.Sprintf("%sresok4", name), XDR_OPEN4resok(u.Resok4())) return default: return } } func XDR_OPEN4res(v *OPEN4res) *OPEN4res { return v} type XdrType_OPENATTR4args = *OPENATTR4args func (v *OPENATTR4args) XdrPointer() interface{} { return v } func (OPENATTR4args) XdrTypeName() string { return "OPENATTR4args" } func (v OPENATTR4args) XdrValue() interface{} { return v } func (v *OPENATTR4args) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *OPENATTR4args) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%screatedir", name), XDR_bool(&v.Createdir)) } func XDR_OPENATTR4args(v *OPENATTR4args) *OPENATTR4args { return v } type XdrType_OPENATTR4res = *OPENATTR4res func (v *OPENATTR4res) XdrPointer() interface{} { return v } func (OPENATTR4res) XdrTypeName() string { return "OPENATTR4res" } func (v OPENATTR4res) XdrValue() interface{} { return v } func (v *OPENATTR4res) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *OPENATTR4res) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%sstatus", name), XDR_Nfsstat4(&v.Status)) } func XDR_OPENATTR4res(v *OPENATTR4res) *OPENATTR4res { return v } type XdrType_OPEN_CONFIRM4args = *OPEN_CONFIRM4args func (v *OPEN_CONFIRM4args) XdrPointer() interface{} { return v } func (OPEN_CONFIRM4args) XdrTypeName() string { return "OPEN_CONFIRM4args" } func (v OPEN_CONFIRM4args) XdrValue() interface{} { return v } func (v *OPEN_CONFIRM4args) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *OPEN_CONFIRM4args) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%sopen_stateid", name), XDR_Stateid4(&v.Open_stateid)) x.Marshal(x.Sprintf("%sseqid", name), XDR_Seqid4(&v.Seqid)) } func XDR_OPEN_CONFIRM4args(v *OPEN_CONFIRM4args) *OPEN_CONFIRM4args { return v } type XdrType_OPEN_CONFIRM4resok = *OPEN_CONFIRM4resok func (v *OPEN_CONFIRM4resok) XdrPointer() interface{} { return v } func (OPEN_CONFIRM4resok) XdrTypeName() string { return "OPEN_CONFIRM4resok" } func (v OPEN_CONFIRM4resok) XdrValue() interface{} { return v } func (v *OPEN_CONFIRM4resok) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *OPEN_CONFIRM4resok) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%sopen_stateid", name), XDR_Stateid4(&v.Open_stateid)) } func XDR_OPEN_CONFIRM4resok(v *OPEN_CONFIRM4resok) *OPEN_CONFIRM4resok { return v } func (u *OPEN_CONFIRM4res) Resok4() *OPEN_CONFIRM4resok { switch u.Status { case NFS4_OK: if v, ok := u.U.(*OPEN_CONFIRM4resok); ok { return v } else { var zero OPEN_CONFIRM4resok u.U = &zero return &zero } default: XdrPanic("OPEN_CONFIRM4res.Resok4 accessed when Status == %v", u.Status) return nil } } func (u OPEN_CONFIRM4res) XdrValid() bool { return true } func (u *OPEN_CONFIRM4res) XdrUnionTag() XdrNum32 { return XDR_Nfsstat4(&u.Status) } func (u *OPEN_CONFIRM4res) XdrUnionTagName() string { return "Status" } func (u *OPEN_CONFIRM4res) XdrUnionBody() XdrType { switch u.Status { case NFS4_OK: return XDR_OPEN_CONFIRM4resok(u.Resok4()) default: return nil } } func (u *OPEN_CONFIRM4res) XdrUnionBodyName() string { switch u.Status { case NFS4_OK: return "Resok4" default: return "" } } type XdrType_OPEN_CONFIRM4res = *OPEN_CONFIRM4res func (v *OPEN_CONFIRM4res) XdrPointer() interface{} { return v } func (OPEN_CONFIRM4res) XdrTypeName() string { return "OPEN_CONFIRM4res" } func (v OPEN_CONFIRM4res) XdrValue() interface{} { return v } func (v *OPEN_CONFIRM4res) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (u *OPEN_CONFIRM4res) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } XDR_Nfsstat4(&u.Status).XdrMarshal(x, x.Sprintf("%sstatus", name)) switch u.Status { case NFS4_OK: x.Marshal(x.Sprintf("%sresok4", name), XDR_OPEN_CONFIRM4resok(u.Resok4())) return default: return } } func XDR_OPEN_CONFIRM4res(v *OPEN_CONFIRM4res) *OPEN_CONFIRM4res { return v} type XdrType_OPEN_DOWNGRADE4args = *OPEN_DOWNGRADE4args func (v *OPEN_DOWNGRADE4args) XdrPointer() interface{} { return v } func (OPEN_DOWNGRADE4args) XdrTypeName() string { return "OPEN_DOWNGRADE4args" } func (v OPEN_DOWNGRADE4args) XdrValue() interface{} { return v } func (v *OPEN_DOWNGRADE4args) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *OPEN_DOWNGRADE4args) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%sopen_stateid", name), XDR_Stateid4(&v.Open_stateid)) x.Marshal(x.Sprintf("%sseqid", name), XDR_Seqid4(&v.Seqid)) x.Marshal(x.Sprintf("%sshare_access", name), XDR_Uint32_t(&v.Share_access)) x.Marshal(x.Sprintf("%sshare_deny", name), XDR_Uint32_t(&v.Share_deny)) } func XDR_OPEN_DOWNGRADE4args(v *OPEN_DOWNGRADE4args) *OPEN_DOWNGRADE4args { return v } type XdrType_OPEN_DOWNGRADE4resok = *OPEN_DOWNGRADE4resok func (v *OPEN_DOWNGRADE4resok) XdrPointer() interface{} { return v } func (OPEN_DOWNGRADE4resok) XdrTypeName() string { return "OPEN_DOWNGRADE4resok" } func (v OPEN_DOWNGRADE4resok) XdrValue() interface{} { return v } func (v *OPEN_DOWNGRADE4resok) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *OPEN_DOWNGRADE4resok) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%sopen_stateid", name), XDR_Stateid4(&v.Open_stateid)) } func XDR_OPEN_DOWNGRADE4resok(v *OPEN_DOWNGRADE4resok) *OPEN_DOWNGRADE4resok { return v } func (u *OPEN_DOWNGRADE4res) Resok4() *OPEN_DOWNGRADE4resok { switch u.Status { case NFS4_OK: if v, ok := u.U.(*OPEN_DOWNGRADE4resok); ok { return v } else { var zero OPEN_DOWNGRADE4resok u.U = &zero return &zero } default: XdrPanic("OPEN_DOWNGRADE4res.Resok4 accessed when Status == %v", u.Status) return nil } } func (u OPEN_DOWNGRADE4res) XdrValid() bool { return true } func (u *OPEN_DOWNGRADE4res) XdrUnionTag() XdrNum32 { return XDR_Nfsstat4(&u.Status) } func (u *OPEN_DOWNGRADE4res) XdrUnionTagName() string { return "Status" } func (u *OPEN_DOWNGRADE4res) XdrUnionBody() XdrType { switch u.Status { case NFS4_OK: return XDR_OPEN_DOWNGRADE4resok(u.Resok4()) default: return nil } } func (u *OPEN_DOWNGRADE4res) XdrUnionBodyName() string { switch u.Status { case NFS4_OK: return "Resok4" default: return "" } } type XdrType_OPEN_DOWNGRADE4res = *OPEN_DOWNGRADE4res func (v *OPEN_DOWNGRADE4res) XdrPointer() interface{} { return v } func (OPEN_DOWNGRADE4res) XdrTypeName() string { return "OPEN_DOWNGRADE4res" } func (v OPEN_DOWNGRADE4res) XdrValue() interface{} { return v } func (v *OPEN_DOWNGRADE4res) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (u *OPEN_DOWNGRADE4res) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } XDR_Nfsstat4(&u.Status).XdrMarshal(x, x.Sprintf("%sstatus", name)) switch u.Status { case NFS4_OK: x.Marshal(x.Sprintf("%sresok4", name), XDR_OPEN_DOWNGRADE4resok(u.Resok4())) return default: return } } func XDR_OPEN_DOWNGRADE4res(v *OPEN_DOWNGRADE4res) *OPEN_DOWNGRADE4res { return v} type XdrType_PUTFH4args = *PUTFH4args func (v *PUTFH4args) XdrPointer() interface{} { return v } func (PUTFH4args) XdrTypeName() string { return "PUTFH4args" } func (v PUTFH4args) XdrValue() interface{} { return v } func (v *PUTFH4args) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *PUTFH4args) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%sobject", name), XDR_Nfs_fh4(&v.Object)) } func XDR_PUTFH4args(v *PUTFH4args) *PUTFH4args { return v } type XdrType_PUTFH4res = *PUTFH4res func (v *PUTFH4res) XdrPointer() interface{} { return v } func (PUTFH4res) XdrTypeName() string { return "PUTFH4res" } func (v PUTFH4res) XdrValue() interface{} { return v } func (v *PUTFH4res) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *PUTFH4res) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%sstatus", name), XDR_Nfsstat4(&v.Status)) } func XDR_PUTFH4res(v *PUTFH4res) *PUTFH4res { return v } type XdrType_PUTPUBFH4res = *PUTPUBFH4res func (v *PUTPUBFH4res) XdrPointer() interface{} { return v } func (PUTPUBFH4res) XdrTypeName() string { return "PUTPUBFH4res" } func (v PUTPUBFH4res) XdrValue() interface{} { return v } func (v *PUTPUBFH4res) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *PUTPUBFH4res) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%sstatus", name), XDR_Nfsstat4(&v.Status)) } func XDR_PUTPUBFH4res(v *PUTPUBFH4res) *PUTPUBFH4res { return v } type XdrType_PUTROOTFH4res = *PUTROOTFH4res func (v *PUTROOTFH4res) XdrPointer() interface{} { return v } func (PUTROOTFH4res) XdrTypeName() string { return "PUTROOTFH4res" } func (v PUTROOTFH4res) XdrValue() interface{} { return v } func (v *PUTROOTFH4res) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *PUTROOTFH4res) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%sstatus", name), XDR_Nfsstat4(&v.Status)) } func XDR_PUTROOTFH4res(v *PUTROOTFH4res) *PUTROOTFH4res { return v } type XdrType_READ4args = *READ4args func (v *READ4args) XdrPointer() interface{} { return v } func (READ4args) XdrTypeName() string { return "READ4args" } func (v READ4args) XdrValue() interface{} { return v } func (v *READ4args) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *READ4args) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%sstateid", name), XDR_Stateid4(&v.Stateid)) x.Marshal(x.Sprintf("%soffset", name), XDR_Offset4(&v.Offset)) x.Marshal(x.Sprintf("%scount", name), XDR_Count4(&v.Count)) } func XDR_READ4args(v *READ4args) *READ4args { return v } type XdrType_READ4resok = *READ4resok func (v *READ4resok) XdrPointer() interface{} { return v } func (READ4resok) XdrTypeName() string { return "READ4resok" } func (v READ4resok) XdrValue() interface{} { return v } func (v *READ4resok) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *READ4resok) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%seof", name), XDR_bool(&v.Eof)) x.Marshal(x.Sprintf("%sdata", name), XdrVecOpaque{&v.Data, 0xffffffff}) } func XDR_READ4resok(v *READ4resok) *READ4resok { return v } func (u *READ4res) Resok4() *READ4resok { switch u.Status { case NFS4_OK: if v, ok := u.U.(*READ4resok); ok { return v } else { var zero READ4resok u.U = &zero return &zero } default: XdrPanic("READ4res.Resok4 accessed when Status == %v", u.Status) return nil } } func (u READ4res) XdrValid() bool { return true } func (u *READ4res) XdrUnionTag() XdrNum32 { return XDR_Nfsstat4(&u.Status) } func (u *READ4res) XdrUnionTagName() string { return "Status" } func (u *READ4res) XdrUnionBody() XdrType { switch u.Status { case NFS4_OK: return XDR_READ4resok(u.Resok4()) default: return nil } } func (u *READ4res) XdrUnionBodyName() string { switch u.Status { case NFS4_OK: return "Resok4" default: return "" } } type XdrType_READ4res = *READ4res func (v *READ4res) XdrPointer() interface{} { return v } func (READ4res) XdrTypeName() string { return "READ4res" } func (v READ4res) XdrValue() interface{} { return v } func (v *READ4res) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (u *READ4res) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } XDR_Nfsstat4(&u.Status).XdrMarshal(x, x.Sprintf("%sstatus", name)) switch u.Status { case NFS4_OK: x.Marshal(x.Sprintf("%sresok4", name), XDR_READ4resok(u.Resok4())) return default: return } } func XDR_READ4res(v *READ4res) *READ4res { return v} type XdrType_READDIR4args = *READDIR4args func (v *READDIR4args) XdrPointer() interface{} { return v } func (READDIR4args) XdrTypeName() string { return "READDIR4args" } func (v READDIR4args) XdrValue() interface{} { return v } func (v *READDIR4args) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *READDIR4args) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%scookie", name), XDR_Nfs_cookie4(&v.Cookie)) x.Marshal(x.Sprintf("%scookieverf", name), XDR_Verifier4(&v.Cookieverf)) x.Marshal(x.Sprintf("%sdircount", name), XDR_Count4(&v.Dircount)) x.Marshal(x.Sprintf("%smaxcount", name), XDR_Count4(&v.Maxcount)) x.Marshal(x.Sprintf("%sattr_request", name), XDR_Bitmap4(&v.Attr_request)) } func XDR_READDIR4args(v *READDIR4args) *READDIR4args { return v } type _XdrPtr_Entry4 struct { p **Entry4 } type _ptrflag_Entry4 _XdrPtr_Entry4 func (v _ptrflag_Entry4) String() string { if *v.p == nil { return "nil" } return "non-nil" } func (v _ptrflag_Entry4) Scan(ss fmt.ScanState, r rune) error { tok, err := ss.Token(true, func(c rune) bool { return c == '-' || (c >= 'a' && c <= 'z') }) if err != nil { return err } switch string(tok) { case "nil": v.SetU32(0) case "non-nil": v.SetU32(1) default: return XdrError("Entry4 flag should be \"nil\" or \"non-nil\"") } return nil } func (v _ptrflag_Entry4) GetU32() uint32 { if *v.p == nil { return 0 } return 1 } func (v _ptrflag_Entry4) SetU32(nv uint32) { switch nv { case 0: *v.p = nil case 1: if *v.p == nil { *v.p = new(Entry4) } default: XdrPanic("*Entry4 present flag value %d should be 0 or 1", nv) } } func (_ptrflag_Entry4) XdrTypeName() string { return "Entry4?" } func (v _ptrflag_Entry4) XdrPointer() interface{} { return nil } func (v _ptrflag_Entry4) XdrValue() interface{} { return v.GetU32() != 0 } func (v _ptrflag_Entry4) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v _ptrflag_Entry4) XdrBound() uint32 { return 1 } func (v _XdrPtr_Entry4) GetPresent() bool { return *v.p != nil } func (v _XdrPtr_Entry4) SetPresent(present bool) { if !present { *v.p = nil } else if *v.p == nil { *v.p = new(Entry4) } } func (v _XdrPtr_Entry4) XdrMarshalValue(x XDR, name string) { if *v.p != nil { XDR_Entry4(*v.p).XdrMarshal(x, name) } } func (v _XdrPtr_Entry4) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v _XdrPtr_Entry4) XdrRecurse(x XDR, name string) { x.Marshal(name, _ptrflag_Entry4(v)) v.XdrMarshalValue(x, name) } func (_XdrPtr_Entry4) XdrTypeName() string { return "Entry4*" } func (v _XdrPtr_Entry4) XdrPointer() interface{} { return v.p } func (v _XdrPtr_Entry4) XdrValue() interface{} { return *v.p } type XdrType_Entry4 = *Entry4 func (v *Entry4) XdrPointer() interface{} { return v } func (Entry4) XdrTypeName() string { return "Entry4" } func (v Entry4) XdrValue() interface{} { return v } func (v *Entry4) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *Entry4) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%scookie", name), XDR_Nfs_cookie4(&v.Cookie)) x.Marshal(x.Sprintf("%sname", name), XDR_Component4(&v.Name)) x.Marshal(x.Sprintf("%sattrs", name), XDR_Fattr4(&v.Attrs)) x.Marshal(x.Sprintf("%snextentry", name), _XdrPtr_Entry4{&v.Nextentry}) } func XDR_Entry4(v *Entry4) *Entry4 { return v } type XdrType_Dirlist4 = *Dirlist4 func (v *Dirlist4) XdrPointer() interface{} { return v } func (Dirlist4) XdrTypeName() string { return "Dirlist4" } func (v Dirlist4) XdrValue() interface{} { return v } func (v *Dirlist4) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *Dirlist4) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%sentries", name), _XdrPtr_Entry4{&v.Entries}) x.Marshal(x.Sprintf("%seof", name), XDR_bool(&v.Eof)) } func XDR_Dirlist4(v *Dirlist4) *Dirlist4 { return v } type XdrType_READDIR4resok = *READDIR4resok func (v *READDIR4resok) XdrPointer() interface{} { return v } func (READDIR4resok) XdrTypeName() string { return "READDIR4resok" } func (v READDIR4resok) XdrValue() interface{} { return v } func (v *READDIR4resok) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *READDIR4resok) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%scookieverf", name), XDR_Verifier4(&v.Cookieverf)) x.Marshal(x.Sprintf("%sreply", name), XDR_Dirlist4(&v.Reply)) } func XDR_READDIR4resok(v *READDIR4resok) *READDIR4resok { return v } func (u *READDIR4res) Resok4() *READDIR4resok { switch u.Status { case NFS4_OK: if v, ok := u.U.(*READDIR4resok); ok { return v } else { var zero READDIR4resok u.U = &zero return &zero } default: XdrPanic("READDIR4res.Resok4 accessed when Status == %v", u.Status) return nil } } func (u READDIR4res) XdrValid() bool { return true } func (u *READDIR4res) XdrUnionTag() XdrNum32 { return XDR_Nfsstat4(&u.Status) } func (u *READDIR4res) XdrUnionTagName() string { return "Status" } func (u *READDIR4res) XdrUnionBody() XdrType { switch u.Status { case NFS4_OK: return XDR_READDIR4resok(u.Resok4()) default: return nil } } func (u *READDIR4res) XdrUnionBodyName() string { switch u.Status { case NFS4_OK: return "Resok4" default: return "" } } type XdrType_READDIR4res = *READDIR4res func (v *READDIR4res) XdrPointer() interface{} { return v } func (READDIR4res) XdrTypeName() string { return "READDIR4res" } func (v READDIR4res) XdrValue() interface{} { return v } func (v *READDIR4res) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (u *READDIR4res) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } XDR_Nfsstat4(&u.Status).XdrMarshal(x, x.Sprintf("%sstatus", name)) switch u.Status { case NFS4_OK: x.Marshal(x.Sprintf("%sresok4", name), XDR_READDIR4resok(u.Resok4())) return default: return } } func XDR_READDIR4res(v *READDIR4res) *READDIR4res { return v} type XdrType_READLINK4resok = *READLINK4resok func (v *READLINK4resok) XdrPointer() interface{} { return v } func (READLINK4resok) XdrTypeName() string { return "READLINK4resok" } func (v READLINK4resok) XdrValue() interface{} { return v } func (v *READLINK4resok) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *READLINK4resok) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%slink", name), XDR_Linktext4(&v.Link)) } func XDR_READLINK4resok(v *READLINK4resok) *READLINK4resok { return v } func (u *READLINK4res) Resok4() *READLINK4resok { switch u.Status { case NFS4_OK: if v, ok := u.U.(*READLINK4resok); ok { return v } else { var zero READLINK4resok u.U = &zero return &zero } default: XdrPanic("READLINK4res.Resok4 accessed when Status == %v", u.Status) return nil } } func (u READLINK4res) XdrValid() bool { return true } func (u *READLINK4res) XdrUnionTag() XdrNum32 { return XDR_Nfsstat4(&u.Status) } func (u *READLINK4res) XdrUnionTagName() string { return "Status" } func (u *READLINK4res) XdrUnionBody() XdrType { switch u.Status { case NFS4_OK: return XDR_READLINK4resok(u.Resok4()) default: return nil } } func (u *READLINK4res) XdrUnionBodyName() string { switch u.Status { case NFS4_OK: return "Resok4" default: return "" } } type XdrType_READLINK4res = *READLINK4res func (v *READLINK4res) XdrPointer() interface{} { return v } func (READLINK4res) XdrTypeName() string { return "READLINK4res" } func (v READLINK4res) XdrValue() interface{} { return v } func (v *READLINK4res) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (u *READLINK4res) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } XDR_Nfsstat4(&u.Status).XdrMarshal(x, x.Sprintf("%sstatus", name)) switch u.Status { case NFS4_OK: x.Marshal(x.Sprintf("%sresok4", name), XDR_READLINK4resok(u.Resok4())) return default: return } } func XDR_READLINK4res(v *READLINK4res) *READLINK4res { return v} type XdrType_REMOVE4args = *REMOVE4args func (v *REMOVE4args) XdrPointer() interface{} { return v } func (REMOVE4args) XdrTypeName() string { return "REMOVE4args" } func (v REMOVE4args) XdrValue() interface{} { return v } func (v *REMOVE4args) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *REMOVE4args) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%starget", name), XDR_Component4(&v.Target)) } func XDR_REMOVE4args(v *REMOVE4args) *REMOVE4args { return v } type XdrType_REMOVE4resok = *REMOVE4resok func (v *REMOVE4resok) XdrPointer() interface{} { return v } func (REMOVE4resok) XdrTypeName() string { return "REMOVE4resok" } func (v REMOVE4resok) XdrValue() interface{} { return v } func (v *REMOVE4resok) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *REMOVE4resok) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%scinfo", name), XDR_Change_info4(&v.Cinfo)) } func XDR_REMOVE4resok(v *REMOVE4resok) *REMOVE4resok { return v } func (u *REMOVE4res) Resok4() *REMOVE4resok { switch u.Status { case NFS4_OK: if v, ok := u.U.(*REMOVE4resok); ok { return v } else { var zero REMOVE4resok u.U = &zero return &zero } default: XdrPanic("REMOVE4res.Resok4 accessed when Status == %v", u.Status) return nil } } func (u REMOVE4res) XdrValid() bool { return true } func (u *REMOVE4res) XdrUnionTag() XdrNum32 { return XDR_Nfsstat4(&u.Status) } func (u *REMOVE4res) XdrUnionTagName() string { return "Status" } func (u *REMOVE4res) XdrUnionBody() XdrType { switch u.Status { case NFS4_OK: return XDR_REMOVE4resok(u.Resok4()) default: return nil } } func (u *REMOVE4res) XdrUnionBodyName() string { switch u.Status { case NFS4_OK: return "Resok4" default: return "" } } type XdrType_REMOVE4res = *REMOVE4res func (v *REMOVE4res) XdrPointer() interface{} { return v } func (REMOVE4res) XdrTypeName() string { return "REMOVE4res" } func (v REMOVE4res) XdrValue() interface{} { return v } func (v *REMOVE4res) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (u *REMOVE4res) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } XDR_Nfsstat4(&u.Status).XdrMarshal(x, x.Sprintf("%sstatus", name)) switch u.Status { case NFS4_OK: x.Marshal(x.Sprintf("%sresok4", name), XDR_REMOVE4resok(u.Resok4())) return default: return } } func XDR_REMOVE4res(v *REMOVE4res) *REMOVE4res { return v} type XdrType_RENAME4args = *RENAME4args func (v *RENAME4args) XdrPointer() interface{} { return v } func (RENAME4args) XdrTypeName() string { return "RENAME4args" } func (v RENAME4args) XdrValue() interface{} { return v } func (v *RENAME4args) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *RENAME4args) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%soldname", name), XDR_Component4(&v.Oldname)) x.Marshal(x.Sprintf("%snewname", name), XDR_Component4(&v.Newname)) } func XDR_RENAME4args(v *RENAME4args) *RENAME4args { return v } type XdrType_RENAME4resok = *RENAME4resok func (v *RENAME4resok) XdrPointer() interface{} { return v } func (RENAME4resok) XdrTypeName() string { return "RENAME4resok" } func (v RENAME4resok) XdrValue() interface{} { return v } func (v *RENAME4resok) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *RENAME4resok) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%ssource_cinfo", name), XDR_Change_info4(&v.Source_cinfo)) x.Marshal(x.Sprintf("%starget_cinfo", name), XDR_Change_info4(&v.Target_cinfo)) } func XDR_RENAME4resok(v *RENAME4resok) *RENAME4resok { return v } func (u *RENAME4res) Resok4() *RENAME4resok { switch u.Status { case NFS4_OK: if v, ok := u.U.(*RENAME4resok); ok { return v } else { var zero RENAME4resok u.U = &zero return &zero } default: XdrPanic("RENAME4res.Resok4 accessed when Status == %v", u.Status) return nil } } func (u RENAME4res) XdrValid() bool { return true } func (u *RENAME4res) XdrUnionTag() XdrNum32 { return XDR_Nfsstat4(&u.Status) } func (u *RENAME4res) XdrUnionTagName() string { return "Status" } func (u *RENAME4res) XdrUnionBody() XdrType { switch u.Status { case NFS4_OK: return XDR_RENAME4resok(u.Resok4()) default: return nil } } func (u *RENAME4res) XdrUnionBodyName() string { switch u.Status { case NFS4_OK: return "Resok4" default: return "" } } type XdrType_RENAME4res = *RENAME4res func (v *RENAME4res) XdrPointer() interface{} { return v } func (RENAME4res) XdrTypeName() string { return "RENAME4res" } func (v RENAME4res) XdrValue() interface{} { return v } func (v *RENAME4res) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (u *RENAME4res) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } XDR_Nfsstat4(&u.Status).XdrMarshal(x, x.Sprintf("%sstatus", name)) switch u.Status { case NFS4_OK: x.Marshal(x.Sprintf("%sresok4", name), XDR_RENAME4resok(u.Resok4())) return default: return } } func XDR_RENAME4res(v *RENAME4res) *RENAME4res { return v} type XdrType_RENEW4args = *RENEW4args func (v *RENEW4args) XdrPointer() interface{} { return v } func (RENEW4args) XdrTypeName() string { return "RENEW4args" } func (v RENEW4args) XdrValue() interface{} { return v } func (v *RENEW4args) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *RENEW4args) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%sclientid", name), XDR_Clientid4(&v.Clientid)) } func XDR_RENEW4args(v *RENEW4args) *RENEW4args { return v } type XdrType_RENEW4res = *RENEW4res func (v *RENEW4res) XdrPointer() interface{} { return v } func (RENEW4res) XdrTypeName() string { return "RENEW4res" } func (v RENEW4res) XdrValue() interface{} { return v } func (v *RENEW4res) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *RENEW4res) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%sstatus", name), XDR_Nfsstat4(&v.Status)) } func XDR_RENEW4res(v *RENEW4res) *RENEW4res { return v } type XdrType_RESTOREFH4res = *RESTOREFH4res func (v *RESTOREFH4res) XdrPointer() interface{} { return v } func (RESTOREFH4res) XdrTypeName() string { return "RESTOREFH4res" } func (v RESTOREFH4res) XdrValue() interface{} { return v } func (v *RESTOREFH4res) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *RESTOREFH4res) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%sstatus", name), XDR_Nfsstat4(&v.Status)) } func XDR_RESTOREFH4res(v *RESTOREFH4res) *RESTOREFH4res { return v } type XdrType_SAVEFH4res = *SAVEFH4res func (v *SAVEFH4res) XdrPointer() interface{} { return v } func (SAVEFH4res) XdrTypeName() string { return "SAVEFH4res" } func (v SAVEFH4res) XdrValue() interface{} { return v } func (v *SAVEFH4res) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *SAVEFH4res) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%sstatus", name), XDR_Nfsstat4(&v.Status)) } func XDR_SAVEFH4res(v *SAVEFH4res) *SAVEFH4res { return v } type XdrType_SECINFO4args = *SECINFO4args func (v *SECINFO4args) XdrPointer() interface{} { return v } func (SECINFO4args) XdrTypeName() string { return "SECINFO4args" } func (v SECINFO4args) XdrValue() interface{} { return v } func (v *SECINFO4args) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *SECINFO4args) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%sname", name), XDR_Component4(&v.Name)) } func XDR_SECINFO4args(v *SECINFO4args) *SECINFO4args { return v } var _XdrNames_Rpc_gss_svc_t = map[int32]string{ int32(RPC_GSS_SVC_NONE): "RPC_GSS_SVC_NONE", int32(RPC_GSS_SVC_INTEGRITY): "RPC_GSS_SVC_INTEGRITY", int32(RPC_GSS_SVC_PRIVACY): "RPC_GSS_SVC_PRIVACY", } var _XdrValues_Rpc_gss_svc_t = map[string]int32{ "RPC_GSS_SVC_NONE": int32(RPC_GSS_SVC_NONE), "RPC_GSS_SVC_INTEGRITY": int32(RPC_GSS_SVC_INTEGRITY), "RPC_GSS_SVC_PRIVACY": int32(RPC_GSS_SVC_PRIVACY), } func (Rpc_gss_svc_t) XdrEnumNames() map[int32]string { return _XdrNames_Rpc_gss_svc_t } func (v Rpc_gss_svc_t) String() string { if s, ok := _XdrNames_Rpc_gss_svc_t[int32(v)]; ok { return s } return fmt.Sprintf("Rpc_gss_svc_t#%d", v) } func (v *Rpc_gss_svc_t) Scan(ss fmt.ScanState, _ rune) error { if tok, err := ss.Token(true, XdrSymChar); err != nil { return err } else { stok := string(tok) if val, ok := _XdrValues_Rpc_gss_svc_t[stok]; ok { *v = Rpc_gss_svc_t(val) return nil } else if stok == "Rpc_gss_svc_t" { if n, err := fmt.Fscanf(ss, "#%d", (*int32)(v)); n == 1 && err == nil { return nil } } return XdrError(fmt.Sprintf("%s is not a valid Rpc_gss_svc_t.", stok)) } } func (v Rpc_gss_svc_t) GetU32() uint32 { return uint32(v) } func (v *Rpc_gss_svc_t) SetU32(n uint32) { *v = Rpc_gss_svc_t(n) } func (v *Rpc_gss_svc_t) XdrPointer() interface{} { return v } func (Rpc_gss_svc_t) XdrTypeName() string { return "Rpc_gss_svc_t" } func (v Rpc_gss_svc_t) XdrValue() interface{} { return v } func (v *Rpc_gss_svc_t) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } type XdrType_Rpc_gss_svc_t = *Rpc_gss_svc_t func XDR_Rpc_gss_svc_t(v *Rpc_gss_svc_t) *Rpc_gss_svc_t { return v } func (v *Rpc_gss_svc_t) XdrInitialize() { switch Rpc_gss_svc_t(0) { case RPC_GSS_SVC_NONE, RPC_GSS_SVC_INTEGRITY, RPC_GSS_SVC_PRIVACY: default: if *v == Rpc_gss_svc_t(0) { *v = RPC_GSS_SVC_NONE } } } type XdrType_Rpcsec_gss_info = *Rpcsec_gss_info func (v *Rpcsec_gss_info) XdrPointer() interface{} { return v } func (Rpcsec_gss_info) XdrTypeName() string { return "Rpcsec_gss_info" } func (v Rpcsec_gss_info) XdrValue() interface{} { return v } func (v *Rpcsec_gss_info) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *Rpcsec_gss_info) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%soid", name), XDR_Sec_oid4(&v.Oid)) x.Marshal(x.Sprintf("%sqop", name), XDR_Qop4(&v.Qop)) x.Marshal(x.Sprintf("%sservice", name), XDR_Rpc_gss_svc_t(&v.Service)) } func XDR_Rpcsec_gss_info(v *Rpcsec_gss_info) *Rpcsec_gss_info { return v } func (u *Secinfo4) Flavor_info() *Rpcsec_gss_info { switch u.Flavor { case RPCSEC_GSS: if v, ok := u.U.(*Rpcsec_gss_info); ok { return v } else { var zero Rpcsec_gss_info u.U = &zero return &zero } default: XdrPanic("Secinfo4.Flavor_info accessed when Flavor == %v", u.Flavor) return nil } } func (u Secinfo4) XdrValid() bool { return true } func (u *Secinfo4) XdrUnionTag() XdrNum32 { return XDR_Uint32_t(&u.Flavor) } func (u *Secinfo4) XdrUnionTagName() string { return "Flavor" } func (u *Secinfo4) XdrUnionBody() XdrType { switch u.Flavor { case RPCSEC_GSS: return XDR_Rpcsec_gss_info(u.Flavor_info()) default: return nil } } func (u *Secinfo4) XdrUnionBodyName() string { switch u.Flavor { case RPCSEC_GSS: return "Flavor_info" default: return "" } } type XdrType_Secinfo4 = *Secinfo4 func (v *Secinfo4) XdrPointer() interface{} { return v } func (Secinfo4) XdrTypeName() string { return "Secinfo4" } func (v Secinfo4) XdrValue() interface{} { return v } func (v *Secinfo4) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (u *Secinfo4) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } XDR_Uint32_t(&u.Flavor).XdrMarshal(x, x.Sprintf("%sflavor", name)) switch u.Flavor { case RPCSEC_GSS: x.Marshal(x.Sprintf("%sflavor_info", name), XDR_Rpcsec_gss_info(u.Flavor_info())) return default: return } } func XDR_Secinfo4(v *Secinfo4) *Secinfo4 { return v} type _XdrVec_unbounded_Secinfo4 []Secinfo4 func (_XdrVec_unbounded_Secinfo4) XdrBound() uint32 { const bound uint32 = 4294967295 // Force error if not const or doesn't fit return bound } func (_XdrVec_unbounded_Secinfo4) XdrCheckLen(length uint32) { if length > uint32(4294967295) { XdrPanic("_XdrVec_unbounded_Secinfo4 length %d exceeds bound 4294967295", length) } else if int(length) < 0 { XdrPanic("_XdrVec_unbounded_Secinfo4 length %d exceeds max int", length) } } func (v _XdrVec_unbounded_Secinfo4) GetVecLen() uint32 { return uint32(len(v)) } func (v *_XdrVec_unbounded_Secinfo4) SetVecLen(length uint32) { v.XdrCheckLen(length) if int(length) <= cap(*v) { if int(length) != len(*v) { *v = (*v)[:int(length)] } return } newcap := 2*cap(*v) if newcap < int(length) { // also catches overflow where 2*cap < 0 newcap = int(length) } else if bound := uint(4294967295); uint(newcap) > bound { if int(bound) < 0 { bound = ^uint(0) >> 1 } newcap = int(bound) } nv := make([]Secinfo4, int(length), newcap) copy(nv, *v) *v = nv } func (v *_XdrVec_unbounded_Secinfo4) XdrMarshalN(x XDR, name string, n uint32) { v.XdrCheckLen(n) for i := 0; i < int(n); i++ { if (i >= len(*v)) { v.SetVecLen(uint32(i+1)) } XDR_Secinfo4(&(*v)[i]).XdrMarshal(x, x.Sprintf("%s[%d]", name, i)) } if int(n) < len(*v) { *v = (*v)[:int(n)] } } func (v *_XdrVec_unbounded_Secinfo4) XdrRecurse(x XDR, name string) { size := XdrSize{ Size: uint32(len(*v)), Bound: 4294967295 } x.Marshal(name, &size) v.XdrMarshalN(x, name, size.Size) } func (_XdrVec_unbounded_Secinfo4) XdrTypeName() string { return "Secinfo4<>" } func (v *_XdrVec_unbounded_Secinfo4) XdrPointer() interface{} { return (*[]Secinfo4)(v) } func (v _XdrVec_unbounded_Secinfo4) XdrValue() interface{} { return ([]Secinfo4)(v) } func (v *_XdrVec_unbounded_Secinfo4) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } type XdrType_SECINFO4resok struct { *_XdrVec_unbounded_Secinfo4 } func XDR_SECINFO4resok(v *SECINFO4resok) XdrType_SECINFO4resok { return XdrType_SECINFO4resok{(*_XdrVec_unbounded_Secinfo4)(v)} } func (XdrType_SECINFO4resok) XdrTypeName() string { return "SECINFO4resok" } func (v XdrType_SECINFO4resok) XdrUnwrap() XdrType { return v._XdrVec_unbounded_Secinfo4 } func (u *SECINFO4res) Resok4() *SECINFO4resok { switch u.Status { case NFS4_OK: if v, ok := u.U.(*SECINFO4resok); ok { return v } else { var zero SECINFO4resok u.U = &zero return &zero } default: XdrPanic("SECINFO4res.Resok4 accessed when Status == %v", u.Status) return nil } } func (u SECINFO4res) XdrValid() bool { return true } func (u *SECINFO4res) XdrUnionTag() XdrNum32 { return XDR_Nfsstat4(&u.Status) } func (u *SECINFO4res) XdrUnionTagName() string { return "Status" } func (u *SECINFO4res) XdrUnionBody() XdrType { switch u.Status { case NFS4_OK: return XDR_SECINFO4resok(u.Resok4()) default: return nil } } func (u *SECINFO4res) XdrUnionBodyName() string { switch u.Status { case NFS4_OK: return "Resok4" default: return "" } } type XdrType_SECINFO4res = *SECINFO4res func (v *SECINFO4res) XdrPointer() interface{} { return v } func (SECINFO4res) XdrTypeName() string { return "SECINFO4res" } func (v SECINFO4res) XdrValue() interface{} { return v } func (v *SECINFO4res) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (u *SECINFO4res) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } XDR_Nfsstat4(&u.Status).XdrMarshal(x, x.Sprintf("%sstatus", name)) switch u.Status { case NFS4_OK: x.Marshal(x.Sprintf("%sresok4", name), XDR_SECINFO4resok(u.Resok4())) return default: return } } func XDR_SECINFO4res(v *SECINFO4res) *SECINFO4res { return v} type XdrType_SETATTR4args = *SETATTR4args func (v *SETATTR4args) XdrPointer() interface{} { return v } func (SETATTR4args) XdrTypeName() string { return "SETATTR4args" } func (v SETATTR4args) XdrValue() interface{} { return v } func (v *SETATTR4args) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *SETATTR4args) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%sstateid", name), XDR_Stateid4(&v.Stateid)) x.Marshal(x.Sprintf("%sobj_attributes", name), XDR_Fattr4(&v.Obj_attributes)) } func XDR_SETATTR4args(v *SETATTR4args) *SETATTR4args { return v } type XdrType_SETATTR4res = *SETATTR4res func (v *SETATTR4res) XdrPointer() interface{} { return v } func (SETATTR4res) XdrTypeName() string { return "SETATTR4res" } func (v SETATTR4res) XdrValue() interface{} { return v } func (v *SETATTR4res) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *SETATTR4res) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%sstatus", name), XDR_Nfsstat4(&v.Status)) x.Marshal(x.Sprintf("%sattrsset", name), XDR_Bitmap4(&v.Attrsset)) } func XDR_SETATTR4res(v *SETATTR4res) *SETATTR4res { return v } type XdrType_SETCLIENTID4args = *SETCLIENTID4args func (v *SETCLIENTID4args) XdrPointer() interface{} { return v } func (SETCLIENTID4args) XdrTypeName() string { return "SETCLIENTID4args" } func (v SETCLIENTID4args) XdrValue() interface{} { return v } func (v *SETCLIENTID4args) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *SETCLIENTID4args) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%sclient", name), XDR_Nfs_client_id4(&v.Client)) x.Marshal(x.Sprintf("%scallback", name), XDR_Cb_client4(&v.Callback)) x.Marshal(x.Sprintf("%scallback_ident", name), XDR_Uint32_t(&v.Callback_ident)) } func XDR_SETCLIENTID4args(v *SETCLIENTID4args) *SETCLIENTID4args { return v } type XdrType_SETCLIENTID4resok = *SETCLIENTID4resok func (v *SETCLIENTID4resok) XdrPointer() interface{} { return v } func (SETCLIENTID4resok) XdrTypeName() string { return "SETCLIENTID4resok" } func (v SETCLIENTID4resok) XdrValue() interface{} { return v } func (v *SETCLIENTID4resok) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *SETCLIENTID4resok) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%sclientid", name), XDR_Clientid4(&v.Clientid)) x.Marshal(x.Sprintf("%ssetclientid_confirm", name), XDR_Verifier4(&v.Setclientid_confirm)) } func XDR_SETCLIENTID4resok(v *SETCLIENTID4resok) *SETCLIENTID4resok { return v } func (u *SETCLIENTID4res) Resok4() *SETCLIENTID4resok { switch u.Status { case NFS4_OK: if v, ok := u.U.(*SETCLIENTID4resok); ok { return v } else { var zero SETCLIENTID4resok u.U = &zero return &zero } default: XdrPanic("SETCLIENTID4res.Resok4 accessed when Status == %v", u.Status) return nil } } func (u *SETCLIENTID4res) Client_using() *Clientaddr4 { switch u.Status { case NFS4ERR_CLID_INUSE: if v, ok := u.U.(*Clientaddr4); ok { return v } else { var zero Clientaddr4 u.U = &zero return &zero } default: XdrPanic("SETCLIENTID4res.Client_using accessed when Status == %v", u.Status) return nil } } func (u SETCLIENTID4res) XdrValid() bool { return true } func (u *SETCLIENTID4res) XdrUnionTag() XdrNum32 { return XDR_Nfsstat4(&u.Status) } func (u *SETCLIENTID4res) XdrUnionTagName() string { return "Status" } func (u *SETCLIENTID4res) XdrUnionBody() XdrType { switch u.Status { case NFS4_OK: return XDR_SETCLIENTID4resok(u.Resok4()) case NFS4ERR_CLID_INUSE: return XDR_Clientaddr4(u.Client_using()) default: return nil } } func (u *SETCLIENTID4res) XdrUnionBodyName() string { switch u.Status { case NFS4_OK: return "Resok4" case NFS4ERR_CLID_INUSE: return "Client_using" default: return "" } } type XdrType_SETCLIENTID4res = *SETCLIENTID4res func (v *SETCLIENTID4res) XdrPointer() interface{} { return v } func (SETCLIENTID4res) XdrTypeName() string { return "SETCLIENTID4res" } func (v SETCLIENTID4res) XdrValue() interface{} { return v } func (v *SETCLIENTID4res) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (u *SETCLIENTID4res) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } XDR_Nfsstat4(&u.Status).XdrMarshal(x, x.Sprintf("%sstatus", name)) switch u.Status { case NFS4_OK: x.Marshal(x.Sprintf("%sresok4", name), XDR_SETCLIENTID4resok(u.Resok4())) return case NFS4ERR_CLID_INUSE: x.Marshal(x.Sprintf("%sclient_using", name), XDR_Clientaddr4(u.Client_using())) return default: return } } func XDR_SETCLIENTID4res(v *SETCLIENTID4res) *SETCLIENTID4res { return v} type XdrType_SETCLIENTID_CONFIRM4args = *SETCLIENTID_CONFIRM4args func (v *SETCLIENTID_CONFIRM4args) XdrPointer() interface{} { return v } func (SETCLIENTID_CONFIRM4args) XdrTypeName() string { return "SETCLIENTID_CONFIRM4args" } func (v SETCLIENTID_CONFIRM4args) XdrValue() interface{} { return v } func (v *SETCLIENTID_CONFIRM4args) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *SETCLIENTID_CONFIRM4args) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%sclientid", name), XDR_Clientid4(&v.Clientid)) x.Marshal(x.Sprintf("%ssetclientid_confirm", name), XDR_Verifier4(&v.Setclientid_confirm)) } func XDR_SETCLIENTID_CONFIRM4args(v *SETCLIENTID_CONFIRM4args) *SETCLIENTID_CONFIRM4args { return v } type XdrType_SETCLIENTID_CONFIRM4res = *SETCLIENTID_CONFIRM4res func (v *SETCLIENTID_CONFIRM4res) XdrPointer() interface{} { return v } func (SETCLIENTID_CONFIRM4res) XdrTypeName() string { return "SETCLIENTID_CONFIRM4res" } func (v SETCLIENTID_CONFIRM4res) XdrValue() interface{} { return v } func (v *SETCLIENTID_CONFIRM4res) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *SETCLIENTID_CONFIRM4res) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%sstatus", name), XDR_Nfsstat4(&v.Status)) } func XDR_SETCLIENTID_CONFIRM4res(v *SETCLIENTID_CONFIRM4res) *SETCLIENTID_CONFIRM4res { return v } type XdrType_VERIFY4args = *VERIFY4args func (v *VERIFY4args) XdrPointer() interface{} { return v } func (VERIFY4args) XdrTypeName() string { return "VERIFY4args" } func (v VERIFY4args) XdrValue() interface{} { return v } func (v *VERIFY4args) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *VERIFY4args) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%sobj_attributes", name), XDR_Fattr4(&v.Obj_attributes)) } func XDR_VERIFY4args(v *VERIFY4args) *VERIFY4args { return v } type XdrType_VERIFY4res = *VERIFY4res func (v *VERIFY4res) XdrPointer() interface{} { return v } func (VERIFY4res) XdrTypeName() string { return "VERIFY4res" } func (v VERIFY4res) XdrValue() interface{} { return v } func (v *VERIFY4res) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *VERIFY4res) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%sstatus", name), XDR_Nfsstat4(&v.Status)) } func XDR_VERIFY4res(v *VERIFY4res) *VERIFY4res { return v } var _XdrNames_Stable_how4 = map[int32]string{ int32(UNSTABLE4): "UNSTABLE4", int32(DATA_SYNC4): "DATA_SYNC4", int32(FILE_SYNC4): "FILE_SYNC4", } var _XdrValues_Stable_how4 = map[string]int32{ "UNSTABLE4": int32(UNSTABLE4), "DATA_SYNC4": int32(DATA_SYNC4), "FILE_SYNC4": int32(FILE_SYNC4), } func (Stable_how4) XdrEnumNames() map[int32]string { return _XdrNames_Stable_how4 } func (v Stable_how4) String() string { if s, ok := _XdrNames_Stable_how4[int32(v)]; ok { return s } return fmt.Sprintf("Stable_how4#%d", v) } func (v *Stable_how4) Scan(ss fmt.ScanState, _ rune) error { if tok, err := ss.Token(true, XdrSymChar); err != nil { return err } else { stok := string(tok) if val, ok := _XdrValues_Stable_how4[stok]; ok { *v = Stable_how4(val) return nil } else if stok == "Stable_how4" { if n, err := fmt.Fscanf(ss, "#%d", (*int32)(v)); n == 1 && err == nil { return nil } } return XdrError(fmt.Sprintf("%s is not a valid Stable_how4.", stok)) } } func (v Stable_how4) GetU32() uint32 { return uint32(v) } func (v *Stable_how4) SetU32(n uint32) { *v = Stable_how4(n) } func (v *Stable_how4) XdrPointer() interface{} { return v } func (Stable_how4) XdrTypeName() string { return "Stable_how4" } func (v Stable_how4) XdrValue() interface{} { return v } func (v *Stable_how4) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } type XdrType_Stable_how4 = *Stable_how4 func XDR_Stable_how4(v *Stable_how4) *Stable_how4 { return v } type XdrType_WRITE4args = *WRITE4args func (v *WRITE4args) XdrPointer() interface{} { return v } func (WRITE4args) XdrTypeName() string { return "WRITE4args" } func (v WRITE4args) XdrValue() interface{} { return v } func (v *WRITE4args) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *WRITE4args) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%sstateid", name), XDR_Stateid4(&v.Stateid)) x.Marshal(x.Sprintf("%soffset", name), XDR_Offset4(&v.Offset)) x.Marshal(x.Sprintf("%sstable", name), XDR_Stable_how4(&v.Stable)) x.Marshal(x.Sprintf("%sdata", name), XdrVecOpaque{&v.Data, 0xffffffff}) } func XDR_WRITE4args(v *WRITE4args) *WRITE4args { return v } type XdrType_WRITE4resok = *WRITE4resok func (v *WRITE4resok) XdrPointer() interface{} { return v } func (WRITE4resok) XdrTypeName() string { return "WRITE4resok" } func (v WRITE4resok) XdrValue() interface{} { return v } func (v *WRITE4resok) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *WRITE4resok) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%scount", name), XDR_Count4(&v.Count)) x.Marshal(x.Sprintf("%scommitted", name), XDR_Stable_how4(&v.Committed)) x.Marshal(x.Sprintf("%swriteverf", name), XDR_Verifier4(&v.Writeverf)) } func XDR_WRITE4resok(v *WRITE4resok) *WRITE4resok { return v } func (u *WRITE4res) Resok4() *WRITE4resok { switch u.Status { case NFS4_OK: if v, ok := u.U.(*WRITE4resok); ok { return v } else { var zero WRITE4resok u.U = &zero return &zero } default: XdrPanic("WRITE4res.Resok4 accessed when Status == %v", u.Status) return nil } } func (u WRITE4res) XdrValid() bool { return true } func (u *WRITE4res) XdrUnionTag() XdrNum32 { return XDR_Nfsstat4(&u.Status) } func (u *WRITE4res) XdrUnionTagName() string { return "Status" } func (u *WRITE4res) XdrUnionBody() XdrType { switch u.Status { case NFS4_OK: return XDR_WRITE4resok(u.Resok4()) default: return nil } } func (u *WRITE4res) XdrUnionBodyName() string { switch u.Status { case NFS4_OK: return "Resok4" default: return "" } } type XdrType_WRITE4res = *WRITE4res func (v *WRITE4res) XdrPointer() interface{} { return v } func (WRITE4res) XdrTypeName() string { return "WRITE4res" } func (v WRITE4res) XdrValue() interface{} { return v } func (v *WRITE4res) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (u *WRITE4res) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } XDR_Nfsstat4(&u.Status).XdrMarshal(x, x.Sprintf("%sstatus", name)) switch u.Status { case NFS4_OK: x.Marshal(x.Sprintf("%sresok4", name), XDR_WRITE4resok(u.Resok4())) return default: return } } func XDR_WRITE4res(v *WRITE4res) *WRITE4res { return v} type XdrType_RELEASE_LOCKOWNER4args = *RELEASE_LOCKOWNER4args func (v *RELEASE_LOCKOWNER4args) XdrPointer() interface{} { return v } func (RELEASE_LOCKOWNER4args) XdrTypeName() string { return "RELEASE_LOCKOWNER4args" } func (v RELEASE_LOCKOWNER4args) XdrValue() interface{} { return v } func (v *RELEASE_LOCKOWNER4args) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *RELEASE_LOCKOWNER4args) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%slock_owner", name), XDR_Lock_owner4(&v.Lock_owner)) } func XDR_RELEASE_LOCKOWNER4args(v *RELEASE_LOCKOWNER4args) *RELEASE_LOCKOWNER4args { return v } type XdrType_RELEASE_LOCKOWNER4res = *RELEASE_LOCKOWNER4res func (v *RELEASE_LOCKOWNER4res) XdrPointer() interface{} { return v } func (RELEASE_LOCKOWNER4res) XdrTypeName() string { return "RELEASE_LOCKOWNER4res" } func (v RELEASE_LOCKOWNER4res) XdrValue() interface{} { return v } func (v *RELEASE_LOCKOWNER4res) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *RELEASE_LOCKOWNER4res) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%sstatus", name), XDR_Nfsstat4(&v.Status)) } func XDR_RELEASE_LOCKOWNER4res(v *RELEASE_LOCKOWNER4res) *RELEASE_LOCKOWNER4res { return v } var _XdrTags_Callback_sec_parms4 = map[int32]bool{ XdrToI32(AUTH_NONE): true, XdrToI32(AUTH_SYS): true, } func (_ Callback_sec_parms4) XdrValidTags() map[int32]bool { return _XdrTags_Callback_sec_parms4 } /* RFC 1831 */ func (u *Callback_sec_parms4) Cbsp_sys_cred() *Authsys_parms { switch Auth_flavor(u.Cb_secflavor) { case AUTH_SYS: if v, ok := u.U.(*Authsys_parms); ok { return v } else { var zero Authsys_parms u.U = &zero return &zero } default: XdrPanic("Callback_sec_parms4.Cbsp_sys_cred accessed when Cb_secflavor == %v", u.Cb_secflavor) return nil } } func (u Callback_sec_parms4) XdrValid() bool { switch Auth_flavor(u.Cb_secflavor) { case AUTH_NONE,AUTH_SYS: return true } return false } func (u *Callback_sec_parms4) XdrUnionTag() XdrNum32 { return XDR_Uint32_t(&u.Cb_secflavor) } func (u *Callback_sec_parms4) XdrUnionTagName() string { return "Cb_secflavor" } func (u *Callback_sec_parms4) XdrUnionBody() XdrType { switch Auth_flavor(u.Cb_secflavor) { case AUTH_NONE: return nil case AUTH_SYS: return XDR_Authsys_parms(u.Cbsp_sys_cred()) } return nil } func (u *Callback_sec_parms4) XdrUnionBodyName() string { switch Auth_flavor(u.Cb_secflavor) { case AUTH_NONE: return "" case AUTH_SYS: return "Cbsp_sys_cred" } return "" } type XdrType_Callback_sec_parms4 = *Callback_sec_parms4 func (v *Callback_sec_parms4) XdrPointer() interface{} { return v } func (Callback_sec_parms4) XdrTypeName() string { return "Callback_sec_parms4" } func (v Callback_sec_parms4) XdrValue() interface{} { return v } func (v *Callback_sec_parms4) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (u *Callback_sec_parms4) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } XDR_Uint32_t(&u.Cb_secflavor).XdrMarshal(x, x.Sprintf("%scb_secflavor", name)) switch Auth_flavor(u.Cb_secflavor) { case AUTH_NONE: return case AUTH_SYS: x.Marshal(x.Sprintf("%scbsp_sys_cred", name), XDR_Authsys_parms(u.Cbsp_sys_cred())) return } XdrPanic("invalid Cb_secflavor (%v) in Callback_sec_parms4", u.Cb_secflavor) } func (v *Callback_sec_parms4) XdrInitialize() { var zero Uint32_t switch Auth_flavor(zero) { case AUTH_NONE, AUTH_SYS: default: if v.Cb_secflavor == zero { v.Cb_secflavor = uint32(AUTH_NONE) } } } func XDR_Callback_sec_parms4(v *Callback_sec_parms4) *Callback_sec_parms4 { return v} type _XdrVec_1_Uint32_t []Uint32_t func (_XdrVec_1_Uint32_t) XdrBound() uint32 { const bound uint32 = 1 // Force error if not const or doesn't fit return bound } func (_XdrVec_1_Uint32_t) XdrCheckLen(length uint32) { if length > uint32(1) { XdrPanic("_XdrVec_1_Uint32_t length %d exceeds bound 1", length) } else if int(length) < 0 { XdrPanic("_XdrVec_1_Uint32_t length %d exceeds max int", length) } } func (v _XdrVec_1_Uint32_t) GetVecLen() uint32 { return uint32(len(v)) } func (v *_XdrVec_1_Uint32_t) SetVecLen(length uint32) { v.XdrCheckLen(length) if int(length) <= cap(*v) { if int(length) != len(*v) { *v = (*v)[:int(length)] } return } newcap := 2*cap(*v) if newcap < int(length) { // also catches overflow where 2*cap < 0 newcap = int(length) } else if bound := uint(1); uint(newcap) > bound { if int(bound) < 0 { bound = ^uint(0) >> 1 } newcap = int(bound) } nv := make([]Uint32_t, int(length), newcap) copy(nv, *v) *v = nv } func (v *_XdrVec_1_Uint32_t) XdrMarshalN(x XDR, name string, n uint32) { v.XdrCheckLen(n) for i := 0; i < int(n); i++ { if (i >= len(*v)) { v.SetVecLen(uint32(i+1)) } XDR_Uint32_t(&(*v)[i]).XdrMarshal(x, x.Sprintf("%s[%d]", name, i)) } if int(n) < len(*v) { *v = (*v)[:int(n)] } } func (v *_XdrVec_1_Uint32_t) XdrRecurse(x XDR, name string) { size := XdrSize{ Size: uint32(len(*v)), Bound: 1 } x.Marshal(name, &size) v.XdrMarshalN(x, name, size.Size) } func (_XdrVec_1_Uint32_t) XdrTypeName() string { return "Uint32_t<>" } func (v *_XdrVec_1_Uint32_t) XdrPointer() interface{} { return (*[]Uint32_t)(v) } func (v _XdrVec_1_Uint32_t) XdrValue() interface{} { return ([]Uint32_t)(v) } func (v *_XdrVec_1_Uint32_t) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } type XdrType_Channel_attrs4 = *Channel_attrs4 func (v *Channel_attrs4) XdrPointer() interface{} { return v } func (Channel_attrs4) XdrTypeName() string { return "Channel_attrs4" } func (v Channel_attrs4) XdrValue() interface{} { return v } func (v *Channel_attrs4) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *Channel_attrs4) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%sca_headerpadsize", name), XDR_Count4(&v.Ca_headerpadsize)) x.Marshal(x.Sprintf("%sca_maxrequestsize", name), XDR_Count4(&v.Ca_maxrequestsize)) x.Marshal(x.Sprintf("%sca_maxresponsesize", name), XDR_Count4(&v.Ca_maxresponsesize)) x.Marshal(x.Sprintf("%sca_maxresponsesize_cached", name), XDR_Count4(&v.Ca_maxresponsesize_cached)) x.Marshal(x.Sprintf("%sca_maxoperations", name), XDR_Count4(&v.Ca_maxoperations)) x.Marshal(x.Sprintf("%sca_maxrequests", name), XDR_Count4(&v.Ca_maxrequests)) x.Marshal(x.Sprintf("%sca_rdma_ird", name), (*_XdrVec_1_Uint32_t)(&v.Ca_rdma_ird)) } func XDR_Channel_attrs4(v *Channel_attrs4) *Channel_attrs4 { return v } type _XdrVec_unbounded_Callback_sec_parms4 []Callback_sec_parms4 func (_XdrVec_unbounded_Callback_sec_parms4) XdrBound() uint32 { const bound uint32 = 4294967295 // Force error if not const or doesn't fit return bound } func (_XdrVec_unbounded_Callback_sec_parms4) XdrCheckLen(length uint32) { if length > uint32(4294967295) { XdrPanic("_XdrVec_unbounded_Callback_sec_parms4 length %d exceeds bound 4294967295", length) } else if int(length) < 0 { XdrPanic("_XdrVec_unbounded_Callback_sec_parms4 length %d exceeds max int", length) } } func (v _XdrVec_unbounded_Callback_sec_parms4) GetVecLen() uint32 { return uint32(len(v)) } func (v *_XdrVec_unbounded_Callback_sec_parms4) SetVecLen(length uint32) { v.XdrCheckLen(length) if int(length) <= cap(*v) { if int(length) != len(*v) { *v = (*v)[:int(length)] } return } newcap := 2*cap(*v) if newcap < int(length) { // also catches overflow where 2*cap < 0 newcap = int(length) } else if bound := uint(4294967295); uint(newcap) > bound { if int(bound) < 0 { bound = ^uint(0) >> 1 } newcap = int(bound) } nv := make([]Callback_sec_parms4, int(length), newcap) copy(nv, *v) *v = nv } func (v *_XdrVec_unbounded_Callback_sec_parms4) XdrMarshalN(x XDR, name string, n uint32) { v.XdrCheckLen(n) for i := 0; i < int(n); i++ { if (i >= len(*v)) { v.SetVecLen(uint32(i+1)) } XDR_Callback_sec_parms4(&(*v)[i]).XdrMarshal(x, x.Sprintf("%s[%d]", name, i)) } if int(n) < len(*v) { *v = (*v)[:int(n)] } } func (v *_XdrVec_unbounded_Callback_sec_parms4) XdrRecurse(x XDR, name string) { size := XdrSize{ Size: uint32(len(*v)), Bound: 4294967295 } x.Marshal(name, &size) v.XdrMarshalN(x, name, size.Size) } func (_XdrVec_unbounded_Callback_sec_parms4) XdrTypeName() string { return "Callback_sec_parms4<>" } func (v *_XdrVec_unbounded_Callback_sec_parms4) XdrPointer() interface{} { return (*[]Callback_sec_parms4)(v) } func (v _XdrVec_unbounded_Callback_sec_parms4) XdrValue() interface{} { return ([]Callback_sec_parms4)(v) } func (v *_XdrVec_unbounded_Callback_sec_parms4) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } type XdrType_CREATE_SESSION4args = *CREATE_SESSION4args func (v *CREATE_SESSION4args) XdrPointer() interface{} { return v } func (CREATE_SESSION4args) XdrTypeName() string { return "CREATE_SESSION4args" } func (v CREATE_SESSION4args) XdrValue() interface{} { return v } func (v *CREATE_SESSION4args) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *CREATE_SESSION4args) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%scsa_clientid", name), XDR_Clientid4(&v.Csa_clientid)) x.Marshal(x.Sprintf("%scsa_sequence", name), XDR_Sequenceid4(&v.Csa_sequence)) x.Marshal(x.Sprintf("%scsa_flags", name), XDR_Uint32_t(&v.Csa_flags)) x.Marshal(x.Sprintf("%scsa_fore_chan_attrs", name), XDR_Channel_attrs4(&v.Csa_fore_chan_attrs)) x.Marshal(x.Sprintf("%scsa_back_chan_attrs", name), XDR_Channel_attrs4(&v.Csa_back_chan_attrs)) x.Marshal(x.Sprintf("%scsa_cb_program", name), XDR_Uint32_t(&v.Csa_cb_program)) x.Marshal(x.Sprintf("%scsa_sec_parms", name), (*_XdrVec_unbounded_Callback_sec_parms4)(&v.Csa_sec_parms)) } func XDR_CREATE_SESSION4args(v *CREATE_SESSION4args) *CREATE_SESSION4args { return v } type XdrType_CREATE_SESSION4resok = *CREATE_SESSION4resok func (v *CREATE_SESSION4resok) XdrPointer() interface{} { return v } func (CREATE_SESSION4resok) XdrTypeName() string { return "CREATE_SESSION4resok" } func (v CREATE_SESSION4resok) XdrValue() interface{} { return v } func (v *CREATE_SESSION4resok) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *CREATE_SESSION4resok) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%scsr_sessionid", name), XDR_Sessionid4(&v.Csr_sessionid)) x.Marshal(x.Sprintf("%scsr_sequence", name), XDR_Sequenceid4(&v.Csr_sequence)) x.Marshal(x.Sprintf("%scsr_flags", name), XDR_Uint32_t(&v.Csr_flags)) x.Marshal(x.Sprintf("%scsr_fore_chan_attrs", name), XDR_Channel_attrs4(&v.Csr_fore_chan_attrs)) x.Marshal(x.Sprintf("%scsr_back_chan_attrs", name), XDR_Channel_attrs4(&v.Csr_back_chan_attrs)) } func XDR_CREATE_SESSION4resok(v *CREATE_SESSION4resok) *CREATE_SESSION4resok { return v } func (u *CREATE_SESSION4res) Csr_resok4() *CREATE_SESSION4resok { switch u.Csr_status { case NFS4_OK: if v, ok := u.U.(*CREATE_SESSION4resok); ok { return v } else { var zero CREATE_SESSION4resok u.U = &zero return &zero } default: XdrPanic("CREATE_SESSION4res.Csr_resok4 accessed when Csr_status == %v", u.Csr_status) return nil } } func (u CREATE_SESSION4res) XdrValid() bool { return true } func (u *CREATE_SESSION4res) XdrUnionTag() XdrNum32 { return XDR_Nfsstat4(&u.Csr_status) } func (u *CREATE_SESSION4res) XdrUnionTagName() string { return "Csr_status" } func (u *CREATE_SESSION4res) XdrUnionBody() XdrType { switch u.Csr_status { case NFS4_OK: return XDR_CREATE_SESSION4resok(u.Csr_resok4()) default: return nil } } func (u *CREATE_SESSION4res) XdrUnionBodyName() string { switch u.Csr_status { case NFS4_OK: return "Csr_resok4" default: return "" } } type XdrType_CREATE_SESSION4res = *CREATE_SESSION4res func (v *CREATE_SESSION4res) XdrPointer() interface{} { return v } func (CREATE_SESSION4res) XdrTypeName() string { return "CREATE_SESSION4res" } func (v CREATE_SESSION4res) XdrValue() interface{} { return v } func (v *CREATE_SESSION4res) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (u *CREATE_SESSION4res) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } XDR_Nfsstat4(&u.Csr_status).XdrMarshal(x, x.Sprintf("%scsr_status", name)) switch u.Csr_status { case NFS4_OK: x.Marshal(x.Sprintf("%scsr_resok4", name), XDR_CREATE_SESSION4resok(u.Csr_resok4())) return default: return } } func XDR_CREATE_SESSION4res(v *CREATE_SESSION4res) *CREATE_SESSION4res { return v} type XdrType_DESTROY_SESSION4args = *DESTROY_SESSION4args func (v *DESTROY_SESSION4args) XdrPointer() interface{} { return v } func (DESTROY_SESSION4args) XdrTypeName() string { return "DESTROY_SESSION4args" } func (v DESTROY_SESSION4args) XdrValue() interface{} { return v } func (v *DESTROY_SESSION4args) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *DESTROY_SESSION4args) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%sdsa_sessionid", name), XDR_Sessionid4(&v.Dsa_sessionid)) } func XDR_DESTROY_SESSION4args(v *DESTROY_SESSION4args) *DESTROY_SESSION4args { return v } type XdrType_DESTROY_SESSION4res = *DESTROY_SESSION4res func (v *DESTROY_SESSION4res) XdrPointer() interface{} { return v } func (DESTROY_SESSION4res) XdrTypeName() string { return "DESTROY_SESSION4res" } func (v DESTROY_SESSION4res) XdrValue() interface{} { return v } func (v *DESTROY_SESSION4res) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *DESTROY_SESSION4res) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%sdsr_status", name), XDR_Nfsstat4(&v.Dsr_status)) } func XDR_DESTROY_SESSION4res(v *DESTROY_SESSION4res) *DESTROY_SESSION4res { return v } type XdrType_FREE_STATEID4args = *FREE_STATEID4args func (v *FREE_STATEID4args) XdrPointer() interface{} { return v } func (FREE_STATEID4args) XdrTypeName() string { return "FREE_STATEID4args" } func (v FREE_STATEID4args) XdrValue() interface{} { return v } func (v *FREE_STATEID4args) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *FREE_STATEID4args) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%sfsa_stateid", name), XDR_Stateid4(&v.Fsa_stateid)) } func XDR_FREE_STATEID4args(v *FREE_STATEID4args) *FREE_STATEID4args { return v } type XdrType_FREE_STATEID4res = *FREE_STATEID4res func (v *FREE_STATEID4res) XdrPointer() interface{} { return v } func (FREE_STATEID4res) XdrTypeName() string { return "FREE_STATEID4res" } func (v FREE_STATEID4res) XdrValue() interface{} { return v } func (v *FREE_STATEID4res) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *FREE_STATEID4res) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%sfsr_status", name), XDR_Nfsstat4(&v.Fsr_status)) } func XDR_FREE_STATEID4res(v *FREE_STATEID4res) *FREE_STATEID4res { return v } type XdrType_Attr_notice4 struct { XdrType_Nfstime4 } func XDR_Attr_notice4(v *Attr_notice4) *XdrType_Attr_notice4 { return &XdrType_Attr_notice4{XDR_Nfstime4(v)} } func (XdrType_Attr_notice4) XdrTypeName() string { return "Attr_notice4" } func (v XdrType_Attr_notice4) XdrUnwrap() XdrType { return v.XdrType_Nfstime4 } type XdrType_GET_DIR_DELEGATION4args = *GET_DIR_DELEGATION4args func (v *GET_DIR_DELEGATION4args) XdrPointer() interface{} { return v } func (GET_DIR_DELEGATION4args) XdrTypeName() string { return "GET_DIR_DELEGATION4args" } func (v GET_DIR_DELEGATION4args) XdrValue() interface{} { return v } func (v *GET_DIR_DELEGATION4args) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *GET_DIR_DELEGATION4args) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%sgdda_signal_deleg_avail", name), XDR_bool(&v.Gdda_signal_deleg_avail)) x.Marshal(x.Sprintf("%sgdda_notification_types", name), XDR_Bitmap4(&v.Gdda_notification_types)) x.Marshal(x.Sprintf("%sgdda_child_attr_delay", name), XDR_Attr_notice4(&v.Gdda_child_attr_delay)) x.Marshal(x.Sprintf("%sgdda_dir_attr_delay", name), XDR_Attr_notice4(&v.Gdda_dir_attr_delay)) x.Marshal(x.Sprintf("%sgdda_child_attributes", name), XDR_Bitmap4(&v.Gdda_child_attributes)) x.Marshal(x.Sprintf("%sgdda_dir_attributes", name), XDR_Bitmap4(&v.Gdda_dir_attributes)) } func XDR_GET_DIR_DELEGATION4args(v *GET_DIR_DELEGATION4args) *GET_DIR_DELEGATION4args { return v } type XdrType_GET_DIR_DELEGATION4resok = *GET_DIR_DELEGATION4resok func (v *GET_DIR_DELEGATION4resok) XdrPointer() interface{} { return v } func (GET_DIR_DELEGATION4resok) XdrTypeName() string { return "GET_DIR_DELEGATION4resok" } func (v GET_DIR_DELEGATION4resok) XdrValue() interface{} { return v } func (v *GET_DIR_DELEGATION4resok) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *GET_DIR_DELEGATION4resok) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%sgddr_cookieverf", name), XDR_Verifier4(&v.Gddr_cookieverf)) x.Marshal(x.Sprintf("%sgddr_stateid", name), XDR_Stateid4(&v.Gddr_stateid)) x.Marshal(x.Sprintf("%sgddr_notification", name), XDR_Bitmap4(&v.Gddr_notification)) x.Marshal(x.Sprintf("%sgddr_child_attributes", name), XDR_Bitmap4(&v.Gddr_child_attributes)) x.Marshal(x.Sprintf("%sgddr_dir_attributes", name), XDR_Bitmap4(&v.Gddr_dir_attributes)) } func XDR_GET_DIR_DELEGATION4resok(v *GET_DIR_DELEGATION4resok) *GET_DIR_DELEGATION4resok { return v } var _XdrNames_Gddrnf4_status = map[int32]string{ int32(GDD4_OK): "GDD4_OK", int32(GDD4_UNAVAIL): "GDD4_UNAVAIL", } var _XdrValues_Gddrnf4_status = map[string]int32{ "GDD4_OK": int32(GDD4_OK), "GDD4_UNAVAIL": int32(GDD4_UNAVAIL), } func (Gddrnf4_status) XdrEnumNames() map[int32]string { return _XdrNames_Gddrnf4_status } func (v Gddrnf4_status) String() string { if s, ok := _XdrNames_Gddrnf4_status[int32(v)]; ok { return s } return fmt.Sprintf("Gddrnf4_status#%d", v) } func (v *Gddrnf4_status) Scan(ss fmt.ScanState, _ rune) error { if tok, err := ss.Token(true, XdrSymChar); err != nil { return err } else { stok := string(tok) if val, ok := _XdrValues_Gddrnf4_status[stok]; ok { *v = Gddrnf4_status(val) return nil } else if stok == "Gddrnf4_status" { if n, err := fmt.Fscanf(ss, "#%d", (*int32)(v)); n == 1 && err == nil { return nil } } return XdrError(fmt.Sprintf("%s is not a valid Gddrnf4_status.", stok)) } } func (v Gddrnf4_status) GetU32() uint32 { return uint32(v) } func (v *Gddrnf4_status) SetU32(n uint32) { *v = Gddrnf4_status(n) } func (v *Gddrnf4_status) XdrPointer() interface{} { return v } func (Gddrnf4_status) XdrTypeName() string { return "Gddrnf4_status" } func (v Gddrnf4_status) XdrValue() interface{} { return v } func (v *Gddrnf4_status) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } type XdrType_Gddrnf4_status = *Gddrnf4_status func XDR_Gddrnf4_status(v *Gddrnf4_status) *Gddrnf4_status { return v } var _XdrTags_GET_DIR_DELEGATION4res_non_fatal = map[int32]bool{ XdrToI32(GDD4_OK): true, XdrToI32(GDD4_UNAVAIL): true, } func (_ GET_DIR_DELEGATION4res_non_fatal) XdrValidTags() map[int32]bool { return _XdrTags_GET_DIR_DELEGATION4res_non_fatal } func (u *GET_DIR_DELEGATION4res_non_fatal) Gddrnf_resok4() *GET_DIR_DELEGATION4resok { switch u.Gddrnf_status { case GDD4_OK: if v, ok := u.U.(*GET_DIR_DELEGATION4resok); ok { return v } else { var zero GET_DIR_DELEGATION4resok u.U = &zero return &zero } default: XdrPanic("GET_DIR_DELEGATION4res_non_fatal.Gddrnf_resok4 accessed when Gddrnf_status == %v", u.Gddrnf_status) return nil } } func (u *GET_DIR_DELEGATION4res_non_fatal) Gddrnf_will_signal_deleg_avail() *bool { switch u.Gddrnf_status { case GDD4_UNAVAIL: if v, ok := u.U.(*bool); ok { return v } else { var zero bool u.U = &zero return &zero } default: XdrPanic("GET_DIR_DELEGATION4res_non_fatal.Gddrnf_will_signal_deleg_avail accessed when Gddrnf_status == %v", u.Gddrnf_status) return nil } } func (u GET_DIR_DELEGATION4res_non_fatal) XdrValid() bool { switch u.Gddrnf_status { case GDD4_OK,GDD4_UNAVAIL: return true } return false } func (u *GET_DIR_DELEGATION4res_non_fatal) XdrUnionTag() XdrNum32 { return XDR_Gddrnf4_status(&u.Gddrnf_status) } func (u *GET_DIR_DELEGATION4res_non_fatal) XdrUnionTagName() string { return "Gddrnf_status" } func (u *GET_DIR_DELEGATION4res_non_fatal) XdrUnionBody() XdrType { switch u.Gddrnf_status { case GDD4_OK: return XDR_GET_DIR_DELEGATION4resok(u.Gddrnf_resok4()) case GDD4_UNAVAIL: return XDR_bool(u.Gddrnf_will_signal_deleg_avail()) } return nil } func (u *GET_DIR_DELEGATION4res_non_fatal) XdrUnionBodyName() string { switch u.Gddrnf_status { case GDD4_OK: return "Gddrnf_resok4" case GDD4_UNAVAIL: return "Gddrnf_will_signal_deleg_avail" } return "" } type XdrType_GET_DIR_DELEGATION4res_non_fatal = *GET_DIR_DELEGATION4res_non_fatal func (v *GET_DIR_DELEGATION4res_non_fatal) XdrPointer() interface{} { return v } func (GET_DIR_DELEGATION4res_non_fatal) XdrTypeName() string { return "GET_DIR_DELEGATION4res_non_fatal" } func (v GET_DIR_DELEGATION4res_non_fatal) XdrValue() interface{} { return v } func (v *GET_DIR_DELEGATION4res_non_fatal) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (u *GET_DIR_DELEGATION4res_non_fatal) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } XDR_Gddrnf4_status(&u.Gddrnf_status).XdrMarshal(x, x.Sprintf("%sgddrnf_status", name)) switch u.Gddrnf_status { case GDD4_OK: x.Marshal(x.Sprintf("%sgddrnf_resok4", name), XDR_GET_DIR_DELEGATION4resok(u.Gddrnf_resok4())) return case GDD4_UNAVAIL: x.Marshal(x.Sprintf("%sgddrnf_will_signal_deleg_avail", name), XDR_bool(u.Gddrnf_will_signal_deleg_avail())) return } XdrPanic("invalid Gddrnf_status (%v) in GET_DIR_DELEGATION4res_non_fatal", u.Gddrnf_status) } func XDR_GET_DIR_DELEGATION4res_non_fatal(v *GET_DIR_DELEGATION4res_non_fatal) *GET_DIR_DELEGATION4res_non_fatal { return v} func (u *GET_DIR_DELEGATION4res) Gddr_res_non_fatal4() *GET_DIR_DELEGATION4res_non_fatal { switch u.Gddr_status { case NFS4_OK: if v, ok := u.U.(*GET_DIR_DELEGATION4res_non_fatal); ok { return v } else { var zero GET_DIR_DELEGATION4res_non_fatal u.U = &zero return &zero } default: XdrPanic("GET_DIR_DELEGATION4res.Gddr_res_non_fatal4 accessed when Gddr_status == %v", u.Gddr_status) return nil } } func (u GET_DIR_DELEGATION4res) XdrValid() bool { return true } func (u *GET_DIR_DELEGATION4res) XdrUnionTag() XdrNum32 { return XDR_Nfsstat4(&u.Gddr_status) } func (u *GET_DIR_DELEGATION4res) XdrUnionTagName() string { return "Gddr_status" } func (u *GET_DIR_DELEGATION4res) XdrUnionBody() XdrType { switch u.Gddr_status { case NFS4_OK: return XDR_GET_DIR_DELEGATION4res_non_fatal(u.Gddr_res_non_fatal4()) default: return nil } } func (u *GET_DIR_DELEGATION4res) XdrUnionBodyName() string { switch u.Gddr_status { case NFS4_OK: return "Gddr_res_non_fatal4" default: return "" } } type XdrType_GET_DIR_DELEGATION4res = *GET_DIR_DELEGATION4res func (v *GET_DIR_DELEGATION4res) XdrPointer() interface{} { return v } func (GET_DIR_DELEGATION4res) XdrTypeName() string { return "GET_DIR_DELEGATION4res" } func (v GET_DIR_DELEGATION4res) XdrValue() interface{} { return v } func (v *GET_DIR_DELEGATION4res) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (u *GET_DIR_DELEGATION4res) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } XDR_Nfsstat4(&u.Gddr_status).XdrMarshal(x, x.Sprintf("%sgddr_status", name)) switch u.Gddr_status { case NFS4_OK: x.Marshal(x.Sprintf("%sgddr_res_non_fatal4", name), XDR_GET_DIR_DELEGATION4res_non_fatal(u.Gddr_res_non_fatal4())) return default: return } } func XDR_GET_DIR_DELEGATION4res(v *GET_DIR_DELEGATION4res) *GET_DIR_DELEGATION4res { return v} type XdrType_GETDEVICEINFO4args = *GETDEVICEINFO4args func (v *GETDEVICEINFO4args) XdrPointer() interface{} { return v } func (GETDEVICEINFO4args) XdrTypeName() string { return "GETDEVICEINFO4args" } func (v GETDEVICEINFO4args) XdrValue() interface{} { return v } func (v *GETDEVICEINFO4args) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *GETDEVICEINFO4args) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%sgdia_device_id", name), XDR_Deviceid4(&v.Gdia_device_id)) x.Marshal(x.Sprintf("%sgdia_layout_type", name), XDR_Layouttype4(&v.Gdia_layout_type)) x.Marshal(x.Sprintf("%sgdia_maxcount", name), XDR_Count4(&v.Gdia_maxcount)) x.Marshal(x.Sprintf("%sgdia_notify_types", name), XDR_Bitmap4(&v.Gdia_notify_types)) } func XDR_GETDEVICEINFO4args(v *GETDEVICEINFO4args) *GETDEVICEINFO4args { return v } type XdrType_GETDEVICEINFO4resok = *GETDEVICEINFO4resok func (v *GETDEVICEINFO4resok) XdrPointer() interface{} { return v } func (GETDEVICEINFO4resok) XdrTypeName() string { return "GETDEVICEINFO4resok" } func (v GETDEVICEINFO4resok) XdrValue() interface{} { return v } func (v *GETDEVICEINFO4resok) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *GETDEVICEINFO4resok) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%sgdir_device_addr", name), XDR_Device_addr4(&v.Gdir_device_addr)) x.Marshal(x.Sprintf("%sgdir_notification", name), XDR_Bitmap4(&v.Gdir_notification)) } func XDR_GETDEVICEINFO4resok(v *GETDEVICEINFO4resok) *GETDEVICEINFO4resok { return v } func (u *GETDEVICEINFO4res) Gdir_resok4() *GETDEVICEINFO4resok { switch u.Gdir_status { case NFS4_OK: if v, ok := u.U.(*GETDEVICEINFO4resok); ok { return v } else { var zero GETDEVICEINFO4resok u.U = &zero return &zero } default: XdrPanic("GETDEVICEINFO4res.Gdir_resok4 accessed when Gdir_status == %v", u.Gdir_status) return nil } } func (u *GETDEVICEINFO4res) Gdir_mincount() *Count4 { switch u.Gdir_status { case NFS4ERR_TOOSMALL: if v, ok := u.U.(*Count4); ok { return v } else { var zero Count4 u.U = &zero return &zero } default: XdrPanic("GETDEVICEINFO4res.Gdir_mincount accessed when Gdir_status == %v", u.Gdir_status) return nil } } func (u GETDEVICEINFO4res) XdrValid() bool { return true } func (u *GETDEVICEINFO4res) XdrUnionTag() XdrNum32 { return XDR_Nfsstat4(&u.Gdir_status) } func (u *GETDEVICEINFO4res) XdrUnionTagName() string { return "Gdir_status" } func (u *GETDEVICEINFO4res) XdrUnionBody() XdrType { switch u.Gdir_status { case NFS4_OK: return XDR_GETDEVICEINFO4resok(u.Gdir_resok4()) case NFS4ERR_TOOSMALL: return XDR_Count4(u.Gdir_mincount()) default: return nil } } func (u *GETDEVICEINFO4res) XdrUnionBodyName() string { switch u.Gdir_status { case NFS4_OK: return "Gdir_resok4" case NFS4ERR_TOOSMALL: return "Gdir_mincount" default: return "" } } type XdrType_GETDEVICEINFO4res = *GETDEVICEINFO4res func (v *GETDEVICEINFO4res) XdrPointer() interface{} { return v } func (GETDEVICEINFO4res) XdrTypeName() string { return "GETDEVICEINFO4res" } func (v GETDEVICEINFO4res) XdrValue() interface{} { return v } func (v *GETDEVICEINFO4res) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (u *GETDEVICEINFO4res) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } XDR_Nfsstat4(&u.Gdir_status).XdrMarshal(x, x.Sprintf("%sgdir_status", name)) switch u.Gdir_status { case NFS4_OK: x.Marshal(x.Sprintf("%sgdir_resok4", name), XDR_GETDEVICEINFO4resok(u.Gdir_resok4())) return case NFS4ERR_TOOSMALL: x.Marshal(x.Sprintf("%sgdir_mincount", name), XDR_Count4(u.Gdir_mincount())) return default: return } } func XDR_GETDEVICEINFO4res(v *GETDEVICEINFO4res) *GETDEVICEINFO4res { return v} type XdrType_GETDEVICELIST4args = *GETDEVICELIST4args func (v *GETDEVICELIST4args) XdrPointer() interface{} { return v } func (GETDEVICELIST4args) XdrTypeName() string { return "GETDEVICELIST4args" } func (v GETDEVICELIST4args) XdrValue() interface{} { return v } func (v *GETDEVICELIST4args) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *GETDEVICELIST4args) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%sgdla_layout_type", name), XDR_Layouttype4(&v.Gdla_layout_type)) x.Marshal(x.Sprintf("%sgdla_maxdevices", name), XDR_Count4(&v.Gdla_maxdevices)) x.Marshal(x.Sprintf("%sgdla_cookie", name), XDR_Nfs_cookie4(&v.Gdla_cookie)) x.Marshal(x.Sprintf("%sgdla_cookieverf", name), XDR_Verifier4(&v.Gdla_cookieverf)) } func XDR_GETDEVICELIST4args(v *GETDEVICELIST4args) *GETDEVICELIST4args { return v } type _XdrVec_unbounded_Deviceid4 []Deviceid4 func (_XdrVec_unbounded_Deviceid4) XdrBound() uint32 { const bound uint32 = 4294967295 // Force error if not const or doesn't fit return bound } func (_XdrVec_unbounded_Deviceid4) XdrCheckLen(length uint32) { if length > uint32(4294967295) { XdrPanic("_XdrVec_unbounded_Deviceid4 length %d exceeds bound 4294967295", length) } else if int(length) < 0 { XdrPanic("_XdrVec_unbounded_Deviceid4 length %d exceeds max int", length) } } func (v _XdrVec_unbounded_Deviceid4) GetVecLen() uint32 { return uint32(len(v)) } func (v *_XdrVec_unbounded_Deviceid4) SetVecLen(length uint32) { v.XdrCheckLen(length) if int(length) <= cap(*v) { if int(length) != len(*v) { *v = (*v)[:int(length)] } return } newcap := 2*cap(*v) if newcap < int(length) { // also catches overflow where 2*cap < 0 newcap = int(length) } else if bound := uint(4294967295); uint(newcap) > bound { if int(bound) < 0 { bound = ^uint(0) >> 1 } newcap = int(bound) } nv := make([]Deviceid4, int(length), newcap) copy(nv, *v) *v = nv } func (v *_XdrVec_unbounded_Deviceid4) XdrMarshalN(x XDR, name string, n uint32) { v.XdrCheckLen(n) for i := 0; i < int(n); i++ { if (i >= len(*v)) { v.SetVecLen(uint32(i+1)) } XDR_Deviceid4(&(*v)[i]).XdrMarshal(x, x.Sprintf("%s[%d]", name, i)) } if int(n) < len(*v) { *v = (*v)[:int(n)] } } func (v *_XdrVec_unbounded_Deviceid4) XdrRecurse(x XDR, name string) { size := XdrSize{ Size: uint32(len(*v)), Bound: 4294967295 } x.Marshal(name, &size) v.XdrMarshalN(x, name, size.Size) } func (_XdrVec_unbounded_Deviceid4) XdrTypeName() string { return "Deviceid4<>" } func (v *_XdrVec_unbounded_Deviceid4) XdrPointer() interface{} { return (*[]Deviceid4)(v) } func (v _XdrVec_unbounded_Deviceid4) XdrValue() interface{} { return ([]Deviceid4)(v) } func (v *_XdrVec_unbounded_Deviceid4) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } type XdrType_GETDEVICELIST4resok = *GETDEVICELIST4resok func (v *GETDEVICELIST4resok) XdrPointer() interface{} { return v } func (GETDEVICELIST4resok) XdrTypeName() string { return "GETDEVICELIST4resok" } func (v GETDEVICELIST4resok) XdrValue() interface{} { return v } func (v *GETDEVICELIST4resok) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *GETDEVICELIST4resok) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%sgdlr_cookie", name), XDR_Nfs_cookie4(&v.Gdlr_cookie)) x.Marshal(x.Sprintf("%sgdlr_cookieverf", name), XDR_Verifier4(&v.Gdlr_cookieverf)) x.Marshal(x.Sprintf("%sgdlr_deviceid_list", name), (*_XdrVec_unbounded_Deviceid4)(&v.Gdlr_deviceid_list)) x.Marshal(x.Sprintf("%sgdlr_eof", name), XDR_bool(&v.Gdlr_eof)) } func XDR_GETDEVICELIST4resok(v *GETDEVICELIST4resok) *GETDEVICELIST4resok { return v } func (u *GETDEVICELIST4res) Gdlr_resok4() *GETDEVICELIST4resok { switch u.Gdlr_status { case NFS4_OK: if v, ok := u.U.(*GETDEVICELIST4resok); ok { return v } else { var zero GETDEVICELIST4resok u.U = &zero return &zero } default: XdrPanic("GETDEVICELIST4res.Gdlr_resok4 accessed when Gdlr_status == %v", u.Gdlr_status) return nil } } func (u GETDEVICELIST4res) XdrValid() bool { return true } func (u *GETDEVICELIST4res) XdrUnionTag() XdrNum32 { return XDR_Nfsstat4(&u.Gdlr_status) } func (u *GETDEVICELIST4res) XdrUnionTagName() string { return "Gdlr_status" } func (u *GETDEVICELIST4res) XdrUnionBody() XdrType { switch u.Gdlr_status { case NFS4_OK: return XDR_GETDEVICELIST4resok(u.Gdlr_resok4()) default: return nil } } func (u *GETDEVICELIST4res) XdrUnionBodyName() string { switch u.Gdlr_status { case NFS4_OK: return "Gdlr_resok4" default: return "" } } type XdrType_GETDEVICELIST4res = *GETDEVICELIST4res func (v *GETDEVICELIST4res) XdrPointer() interface{} { return v } func (GETDEVICELIST4res) XdrTypeName() string { return "GETDEVICELIST4res" } func (v GETDEVICELIST4res) XdrValue() interface{} { return v } func (v *GETDEVICELIST4res) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (u *GETDEVICELIST4res) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } XDR_Nfsstat4(&u.Gdlr_status).XdrMarshal(x, x.Sprintf("%sgdlr_status", name)) switch u.Gdlr_status { case NFS4_OK: x.Marshal(x.Sprintf("%sgdlr_resok4", name), XDR_GETDEVICELIST4resok(u.Gdlr_resok4())) return default: return } } func XDR_GETDEVICELIST4res(v *GETDEVICELIST4res) *GETDEVICELIST4res { return v} var _XdrTags_Newtime4 = map[int32]bool{ XdrToI32(true): true, XdrToI32(false): true, } func (_ Newtime4) XdrValidTags() map[int32]bool { return _XdrTags_Newtime4 } func (u *Newtime4) Nt_time() *Nfstime4 { switch u.Nt_timechanged { case true: if v, ok := u.U.(*Nfstime4); ok { return v } else { var zero Nfstime4 u.U = &zero return &zero } default: XdrPanic("Newtime4.Nt_time accessed when Nt_timechanged == %v", u.Nt_timechanged) return nil } } func (u Newtime4) XdrValid() bool { switch u.Nt_timechanged { case true,false: return true } return false } func (u *Newtime4) XdrUnionTag() XdrNum32 { return XDR_bool(&u.Nt_timechanged) } func (u *Newtime4) XdrUnionTagName() string { return "Nt_timechanged" } func (u *Newtime4) XdrUnionBody() XdrType { switch u.Nt_timechanged { case true: return XDR_Nfstime4(u.Nt_time()) case false: return nil } return nil } func (u *Newtime4) XdrUnionBodyName() string { switch u.Nt_timechanged { case true: return "Nt_time" case false: return "" } return "" } type XdrType_Newtime4 = *Newtime4 func (v *Newtime4) XdrPointer() interface{} { return v } func (Newtime4) XdrTypeName() string { return "Newtime4" } func (v Newtime4) XdrValue() interface{} { return v } func (v *Newtime4) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (u *Newtime4) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } XDR_bool(&u.Nt_timechanged).XdrMarshal(x, x.Sprintf("%snt_timechanged", name)) switch u.Nt_timechanged { case true: x.Marshal(x.Sprintf("%snt_time", name), XDR_Nfstime4(u.Nt_time())) return case false: return } XdrPanic("invalid Nt_timechanged (%v) in Newtime4", u.Nt_timechanged) } func XDR_Newtime4(v *Newtime4) *Newtime4 { return v} var _XdrTags_Newoffset4 = map[int32]bool{ XdrToI32(true): true, XdrToI32(false): true, } func (_ Newoffset4) XdrValidTags() map[int32]bool { return _XdrTags_Newoffset4 } func (u *Newoffset4) No_offset() *Offset4 { switch u.No_newoffset { case true: if v, ok := u.U.(*Offset4); ok { return v } else { var zero Offset4 u.U = &zero return &zero } default: XdrPanic("Newoffset4.No_offset accessed when No_newoffset == %v", u.No_newoffset) return nil } } func (u Newoffset4) XdrValid() bool { switch u.No_newoffset { case true,false: return true } return false } func (u *Newoffset4) XdrUnionTag() XdrNum32 { return XDR_bool(&u.No_newoffset) } func (u *Newoffset4) XdrUnionTagName() string { return "No_newoffset" } func (u *Newoffset4) XdrUnionBody() XdrType { switch u.No_newoffset { case true: return XDR_Offset4(u.No_offset()) case false: return nil } return nil } func (u *Newoffset4) XdrUnionBodyName() string { switch u.No_newoffset { case true: return "No_offset" case false: return "" } return "" } type XdrType_Newoffset4 = *Newoffset4 func (v *Newoffset4) XdrPointer() interface{} { return v } func (Newoffset4) XdrTypeName() string { return "Newoffset4" } func (v Newoffset4) XdrValue() interface{} { return v } func (v *Newoffset4) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (u *Newoffset4) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } XDR_bool(&u.No_newoffset).XdrMarshal(x, x.Sprintf("%sno_newoffset", name)) switch u.No_newoffset { case true: x.Marshal(x.Sprintf("%sno_offset", name), XDR_Offset4(u.No_offset())) return case false: return } XdrPanic("invalid No_newoffset (%v) in Newoffset4", u.No_newoffset) } func XDR_Newoffset4(v *Newoffset4) *Newoffset4 { return v} type XdrType_LAYOUTCOMMIT4args = *LAYOUTCOMMIT4args func (v *LAYOUTCOMMIT4args) XdrPointer() interface{} { return v } func (LAYOUTCOMMIT4args) XdrTypeName() string { return "LAYOUTCOMMIT4args" } func (v LAYOUTCOMMIT4args) XdrValue() interface{} { return v } func (v *LAYOUTCOMMIT4args) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *LAYOUTCOMMIT4args) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%sloca_offset", name), XDR_Offset4(&v.Loca_offset)) x.Marshal(x.Sprintf("%sloca_length", name), XDR_Length4(&v.Loca_length)) x.Marshal(x.Sprintf("%sloca_reclaim", name), XDR_bool(&v.Loca_reclaim)) x.Marshal(x.Sprintf("%sloca_stateid", name), XDR_Stateid4(&v.Loca_stateid)) x.Marshal(x.Sprintf("%sloca_last_write_offset", name), XDR_Newoffset4(&v.Loca_last_write_offset)) x.Marshal(x.Sprintf("%sloca_time_modify", name), XDR_Newtime4(&v.Loca_time_modify)) x.Marshal(x.Sprintf("%sloca_layoutupdate", name), XDR_Layoutupdate4(&v.Loca_layoutupdate)) } func XDR_LAYOUTCOMMIT4args(v *LAYOUTCOMMIT4args) *LAYOUTCOMMIT4args { return v } var _XdrTags_Newsize4 = map[int32]bool{ XdrToI32(true): true, XdrToI32(false): true, } func (_ Newsize4) XdrValidTags() map[int32]bool { return _XdrTags_Newsize4 } func (u *Newsize4) Ns_size() *Length4 { switch u.Ns_sizechanged { case true: if v, ok := u.U.(*Length4); ok { return v } else { var zero Length4 u.U = &zero return &zero } default: XdrPanic("Newsize4.Ns_size accessed when Ns_sizechanged == %v", u.Ns_sizechanged) return nil } } func (u Newsize4) XdrValid() bool { switch u.Ns_sizechanged { case true,false: return true } return false } func (u *Newsize4) XdrUnionTag() XdrNum32 { return XDR_bool(&u.Ns_sizechanged) } func (u *Newsize4) XdrUnionTagName() string { return "Ns_sizechanged" } func (u *Newsize4) XdrUnionBody() XdrType { switch u.Ns_sizechanged { case true: return XDR_Length4(u.Ns_size()) case false: return nil } return nil } func (u *Newsize4) XdrUnionBodyName() string { switch u.Ns_sizechanged { case true: return "Ns_size" case false: return "" } return "" } type XdrType_Newsize4 = *Newsize4 func (v *Newsize4) XdrPointer() interface{} { return v } func (Newsize4) XdrTypeName() string { return "Newsize4" } func (v Newsize4) XdrValue() interface{} { return v } func (v *Newsize4) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (u *Newsize4) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } XDR_bool(&u.Ns_sizechanged).XdrMarshal(x, x.Sprintf("%sns_sizechanged", name)) switch u.Ns_sizechanged { case true: x.Marshal(x.Sprintf("%sns_size", name), XDR_Length4(u.Ns_size())) return case false: return } XdrPanic("invalid Ns_sizechanged (%v) in Newsize4", u.Ns_sizechanged) } func XDR_Newsize4(v *Newsize4) *Newsize4 { return v} type XdrType_LAYOUTCOMMIT4resok = *LAYOUTCOMMIT4resok func (v *LAYOUTCOMMIT4resok) XdrPointer() interface{} { return v } func (LAYOUTCOMMIT4resok) XdrTypeName() string { return "LAYOUTCOMMIT4resok" } func (v LAYOUTCOMMIT4resok) XdrValue() interface{} { return v } func (v *LAYOUTCOMMIT4resok) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *LAYOUTCOMMIT4resok) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%slocr_newsize", name), XDR_Newsize4(&v.Locr_newsize)) } func XDR_LAYOUTCOMMIT4resok(v *LAYOUTCOMMIT4resok) *LAYOUTCOMMIT4resok { return v } func (u *LAYOUTCOMMIT4res) Locr_resok4() *LAYOUTCOMMIT4resok { switch u.Locr_status { case NFS4_OK: if v, ok := u.U.(*LAYOUTCOMMIT4resok); ok { return v } else { var zero LAYOUTCOMMIT4resok u.U = &zero return &zero } default: XdrPanic("LAYOUTCOMMIT4res.Locr_resok4 accessed when Locr_status == %v", u.Locr_status) return nil } } func (u LAYOUTCOMMIT4res) XdrValid() bool { return true } func (u *LAYOUTCOMMIT4res) XdrUnionTag() XdrNum32 { return XDR_Nfsstat4(&u.Locr_status) } func (u *LAYOUTCOMMIT4res) XdrUnionTagName() string { return "Locr_status" } func (u *LAYOUTCOMMIT4res) XdrUnionBody() XdrType { switch u.Locr_status { case NFS4_OK: return XDR_LAYOUTCOMMIT4resok(u.Locr_resok4()) default: return nil } } func (u *LAYOUTCOMMIT4res) XdrUnionBodyName() string { switch u.Locr_status { case NFS4_OK: return "Locr_resok4" default: return "" } } type XdrType_LAYOUTCOMMIT4res = *LAYOUTCOMMIT4res func (v *LAYOUTCOMMIT4res) XdrPointer() interface{} { return v } func (LAYOUTCOMMIT4res) XdrTypeName() string { return "LAYOUTCOMMIT4res" } func (v LAYOUTCOMMIT4res) XdrValue() interface{} { return v } func (v *LAYOUTCOMMIT4res) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (u *LAYOUTCOMMIT4res) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } XDR_Nfsstat4(&u.Locr_status).XdrMarshal(x, x.Sprintf("%slocr_status", name)) switch u.Locr_status { case NFS4_OK: x.Marshal(x.Sprintf("%slocr_resok4", name), XDR_LAYOUTCOMMIT4resok(u.Locr_resok4())) return default: return } } func XDR_LAYOUTCOMMIT4res(v *LAYOUTCOMMIT4res) *LAYOUTCOMMIT4res { return v} type XdrType_LAYOUTGET4args = *LAYOUTGET4args func (v *LAYOUTGET4args) XdrPointer() interface{} { return v } func (LAYOUTGET4args) XdrTypeName() string { return "LAYOUTGET4args" } func (v LAYOUTGET4args) XdrValue() interface{} { return v } func (v *LAYOUTGET4args) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *LAYOUTGET4args) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%sloga_signal_layout_avail", name), XDR_bool(&v.Loga_signal_layout_avail)) x.Marshal(x.Sprintf("%sloga_layout_type", name), XDR_Layouttype4(&v.Loga_layout_type)) x.Marshal(x.Sprintf("%sloga_iomode", name), XDR_Layoutiomode4(&v.Loga_iomode)) x.Marshal(x.Sprintf("%sloga_offset", name), XDR_Offset4(&v.Loga_offset)) x.Marshal(x.Sprintf("%sloga_length", name), XDR_Length4(&v.Loga_length)) x.Marshal(x.Sprintf("%sloga_minlength", name), XDR_Length4(&v.Loga_minlength)) x.Marshal(x.Sprintf("%sloga_stateid", name), XDR_Stateid4(&v.Loga_stateid)) x.Marshal(x.Sprintf("%sloga_maxcount", name), XDR_Count4(&v.Loga_maxcount)) } func XDR_LAYOUTGET4args(v *LAYOUTGET4args) *LAYOUTGET4args { return v } type _XdrVec_unbounded_Layout4 []Layout4 func (_XdrVec_unbounded_Layout4) XdrBound() uint32 { const bound uint32 = 4294967295 // Force error if not const or doesn't fit return bound } func (_XdrVec_unbounded_Layout4) XdrCheckLen(length uint32) { if length > uint32(4294967295) { XdrPanic("_XdrVec_unbounded_Layout4 length %d exceeds bound 4294967295", length) } else if int(length) < 0 { XdrPanic("_XdrVec_unbounded_Layout4 length %d exceeds max int", length) } } func (v _XdrVec_unbounded_Layout4) GetVecLen() uint32 { return uint32(len(v)) } func (v *_XdrVec_unbounded_Layout4) SetVecLen(length uint32) { v.XdrCheckLen(length) if int(length) <= cap(*v) { if int(length) != len(*v) { *v = (*v)[:int(length)] } return } newcap := 2*cap(*v) if newcap < int(length) { // also catches overflow where 2*cap < 0 newcap = int(length) } else if bound := uint(4294967295); uint(newcap) > bound { if int(bound) < 0 { bound = ^uint(0) >> 1 } newcap = int(bound) } nv := make([]Layout4, int(length), newcap) copy(nv, *v) *v = nv } func (v *_XdrVec_unbounded_Layout4) XdrMarshalN(x XDR, name string, n uint32) { v.XdrCheckLen(n) for i := 0; i < int(n); i++ { if (i >= len(*v)) { v.SetVecLen(uint32(i+1)) } XDR_Layout4(&(*v)[i]).XdrMarshal(x, x.Sprintf("%s[%d]", name, i)) } if int(n) < len(*v) { *v = (*v)[:int(n)] } } func (v *_XdrVec_unbounded_Layout4) XdrRecurse(x XDR, name string) { size := XdrSize{ Size: uint32(len(*v)), Bound: 4294967295 } x.Marshal(name, &size) v.XdrMarshalN(x, name, size.Size) } func (_XdrVec_unbounded_Layout4) XdrTypeName() string { return "Layout4<>" } func (v *_XdrVec_unbounded_Layout4) XdrPointer() interface{} { return (*[]Layout4)(v) } func (v _XdrVec_unbounded_Layout4) XdrValue() interface{} { return ([]Layout4)(v) } func (v *_XdrVec_unbounded_Layout4) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } type XdrType_LAYOUTGET4resok = *LAYOUTGET4resok func (v *LAYOUTGET4resok) XdrPointer() interface{} { return v } func (LAYOUTGET4resok) XdrTypeName() string { return "LAYOUTGET4resok" } func (v LAYOUTGET4resok) XdrValue() interface{} { return v } func (v *LAYOUTGET4resok) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *LAYOUTGET4resok) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%slogr_return_on_close", name), XDR_bool(&v.Logr_return_on_close)) x.Marshal(x.Sprintf("%slogr_stateid", name), XDR_Stateid4(&v.Logr_stateid)) x.Marshal(x.Sprintf("%slogr_layout", name), (*_XdrVec_unbounded_Layout4)(&v.Logr_layout)) } func XDR_LAYOUTGET4resok(v *LAYOUTGET4resok) *LAYOUTGET4resok { return v } func (u *LAYOUTGET4res) Logr_resok4() *LAYOUTGET4resok { switch u.Logr_status { case NFS4_OK: if v, ok := u.U.(*LAYOUTGET4resok); ok { return v } else { var zero LAYOUTGET4resok u.U = &zero return &zero } default: XdrPanic("LAYOUTGET4res.Logr_resok4 accessed when Logr_status == %v", u.Logr_status) return nil } } func (u *LAYOUTGET4res) Logr_will_signal_layout_avail() *bool { switch u.Logr_status { case NFS4ERR_LAYOUTTRYLATER: if v, ok := u.U.(*bool); ok { return v } else { var zero bool u.U = &zero return &zero } default: XdrPanic("LAYOUTGET4res.Logr_will_signal_layout_avail accessed when Logr_status == %v", u.Logr_status) return nil } } func (u LAYOUTGET4res) XdrValid() bool { return true } func (u *LAYOUTGET4res) XdrUnionTag() XdrNum32 { return XDR_Nfsstat4(&u.Logr_status) } func (u *LAYOUTGET4res) XdrUnionTagName() string { return "Logr_status" } func (u *LAYOUTGET4res) XdrUnionBody() XdrType { switch u.Logr_status { case NFS4_OK: return XDR_LAYOUTGET4resok(u.Logr_resok4()) case NFS4ERR_LAYOUTTRYLATER: return XDR_bool(u.Logr_will_signal_layout_avail()) default: return nil } } func (u *LAYOUTGET4res) XdrUnionBodyName() string { switch u.Logr_status { case NFS4_OK: return "Logr_resok4" case NFS4ERR_LAYOUTTRYLATER: return "Logr_will_signal_layout_avail" default: return "" } } type XdrType_LAYOUTGET4res = *LAYOUTGET4res func (v *LAYOUTGET4res) XdrPointer() interface{} { return v } func (LAYOUTGET4res) XdrTypeName() string { return "LAYOUTGET4res" } func (v LAYOUTGET4res) XdrValue() interface{} { return v } func (v *LAYOUTGET4res) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (u *LAYOUTGET4res) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } XDR_Nfsstat4(&u.Logr_status).XdrMarshal(x, x.Sprintf("%slogr_status", name)) switch u.Logr_status { case NFS4_OK: x.Marshal(x.Sprintf("%slogr_resok4", name), XDR_LAYOUTGET4resok(u.Logr_resok4())) return case NFS4ERR_LAYOUTTRYLATER: x.Marshal(x.Sprintf("%slogr_will_signal_layout_avail", name), XDR_bool(u.Logr_will_signal_layout_avail())) return default: return } } func XDR_LAYOUTGET4res(v *LAYOUTGET4res) *LAYOUTGET4res { return v} var _XdrNames_Layoutreturn_type4 = map[int32]string{ int32(LAYOUTRETURN4_FILE): "LAYOUTRETURN4_FILE", int32(LAYOUTRETURN4_FSID): "LAYOUTRETURN4_FSID", int32(LAYOUTRETURN4_ALL): "LAYOUTRETURN4_ALL", } var _XdrValues_Layoutreturn_type4 = map[string]int32{ "LAYOUTRETURN4_FILE": int32(LAYOUTRETURN4_FILE), "LAYOUTRETURN4_FSID": int32(LAYOUTRETURN4_FSID), "LAYOUTRETURN4_ALL": int32(LAYOUTRETURN4_ALL), } func (Layoutreturn_type4) XdrEnumNames() map[int32]string { return _XdrNames_Layoutreturn_type4 } func (v Layoutreturn_type4) String() string { if s, ok := _XdrNames_Layoutreturn_type4[int32(v)]; ok { return s } return fmt.Sprintf("Layoutreturn_type4#%d", v) } func (v *Layoutreturn_type4) Scan(ss fmt.ScanState, _ rune) error { if tok, err := ss.Token(true, XdrSymChar); err != nil { return err } else { stok := string(tok) if val, ok := _XdrValues_Layoutreturn_type4[stok]; ok { *v = Layoutreturn_type4(val) return nil } else if stok == "Layoutreturn_type4" { if n, err := fmt.Fscanf(ss, "#%d", (*int32)(v)); n == 1 && err == nil { return nil } } return XdrError(fmt.Sprintf("%s is not a valid Layoutreturn_type4.", stok)) } } func (v Layoutreturn_type4) GetU32() uint32 { return uint32(v) } func (v *Layoutreturn_type4) SetU32(n uint32) { *v = Layoutreturn_type4(n) } func (v *Layoutreturn_type4) XdrPointer() interface{} { return v } func (Layoutreturn_type4) XdrTypeName() string { return "Layoutreturn_type4" } func (v Layoutreturn_type4) XdrValue() interface{} { return v } func (v *Layoutreturn_type4) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } type XdrType_Layoutreturn_type4 = *Layoutreturn_type4 func XDR_Layoutreturn_type4(v *Layoutreturn_type4) *Layoutreturn_type4 { return v } func (v *Layoutreturn_type4) XdrInitialize() { switch Layoutreturn_type4(0) { case LAYOUTRETURN4_FILE, LAYOUTRETURN4_FSID, LAYOUTRETURN4_ALL: default: if *v == Layoutreturn_type4(0) { *v = LAYOUTRETURN4_FILE } } } type XdrType_Layoutreturn_file4 = *Layoutreturn_file4 func (v *Layoutreturn_file4) XdrPointer() interface{} { return v } func (Layoutreturn_file4) XdrTypeName() string { return "Layoutreturn_file4" } func (v Layoutreturn_file4) XdrValue() interface{} { return v } func (v *Layoutreturn_file4) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *Layoutreturn_file4) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%slrf_offset", name), XDR_Offset4(&v.Lrf_offset)) x.Marshal(x.Sprintf("%slrf_length", name), XDR_Length4(&v.Lrf_length)) x.Marshal(x.Sprintf("%slrf_stateid", name), XDR_Stateid4(&v.Lrf_stateid)) x.Marshal(x.Sprintf("%slrf_body", name), XdrVecOpaque{&v.Lrf_body, 0xffffffff}) } func XDR_Layoutreturn_file4(v *Layoutreturn_file4) *Layoutreturn_file4 { return v } func (u *Layoutreturn4) Lr_layout() *Layoutreturn_file4 { switch u.Lr_returntype { case LAYOUTRETURN4_FILE: if v, ok := u.U.(*Layoutreturn_file4); ok { return v } else { var zero Layoutreturn_file4 u.U = &zero return &zero } default: XdrPanic("Layoutreturn4.Lr_layout accessed when Lr_returntype == %v", u.Lr_returntype) return nil } } func (u Layoutreturn4) XdrValid() bool { return true } func (u *Layoutreturn4) XdrUnionTag() XdrNum32 { return XDR_Layoutreturn_type4(&u.Lr_returntype) } func (u *Layoutreturn4) XdrUnionTagName() string { return "Lr_returntype" } func (u *Layoutreturn4) XdrUnionBody() XdrType { switch u.Lr_returntype { case LAYOUTRETURN4_FILE: return XDR_Layoutreturn_file4(u.Lr_layout()) default: return nil } } func (u *Layoutreturn4) XdrUnionBodyName() string { switch u.Lr_returntype { case LAYOUTRETURN4_FILE: return "Lr_layout" default: return "" } } type XdrType_Layoutreturn4 = *Layoutreturn4 func (v *Layoutreturn4) XdrPointer() interface{} { return v } func (Layoutreturn4) XdrTypeName() string { return "Layoutreturn4" } func (v Layoutreturn4) XdrValue() interface{} { return v } func (v *Layoutreturn4) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (u *Layoutreturn4) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } XDR_Layoutreturn_type4(&u.Lr_returntype).XdrMarshal(x, x.Sprintf("%slr_returntype", name)) switch u.Lr_returntype { case LAYOUTRETURN4_FILE: x.Marshal(x.Sprintf("%slr_layout", name), XDR_Layoutreturn_file4(u.Lr_layout())) return default: return } } func XDR_Layoutreturn4(v *Layoutreturn4) *Layoutreturn4 { return v} type XdrType_LAYOUTRETURN4args = *LAYOUTRETURN4args func (v *LAYOUTRETURN4args) XdrPointer() interface{} { return v } func (LAYOUTRETURN4args) XdrTypeName() string { return "LAYOUTRETURN4args" } func (v LAYOUTRETURN4args) XdrValue() interface{} { return v } func (v *LAYOUTRETURN4args) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *LAYOUTRETURN4args) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%slora_reclaim", name), XDR_bool(&v.Lora_reclaim)) x.Marshal(x.Sprintf("%slora_layout_type", name), XDR_Layouttype4(&v.Lora_layout_type)) x.Marshal(x.Sprintf("%slora_iomode", name), XDR_Layoutiomode4(&v.Lora_iomode)) x.Marshal(x.Sprintf("%slora_layoutreturn", name), XDR_Layoutreturn4(&v.Lora_layoutreturn)) } func XDR_LAYOUTRETURN4args(v *LAYOUTRETURN4args) *LAYOUTRETURN4args { return v } var _XdrTags_Layoutreturn_stateid = map[int32]bool{ XdrToI32(true): true, XdrToI32(false): true, } func (_ Layoutreturn_stateid) XdrValidTags() map[int32]bool { return _XdrTags_Layoutreturn_stateid } func (u *Layoutreturn_stateid) Lrs_stateid() *Stateid4 { switch u.Lrs_present { case true: if v, ok := u.U.(*Stateid4); ok { return v } else { var zero Stateid4 u.U = &zero return &zero } default: XdrPanic("Layoutreturn_stateid.Lrs_stateid accessed when Lrs_present == %v", u.Lrs_present) return nil } } func (u Layoutreturn_stateid) XdrValid() bool { switch u.Lrs_present { case true,false: return true } return false } func (u *Layoutreturn_stateid) XdrUnionTag() XdrNum32 { return XDR_bool(&u.Lrs_present) } func (u *Layoutreturn_stateid) XdrUnionTagName() string { return "Lrs_present" } func (u *Layoutreturn_stateid) XdrUnionBody() XdrType { switch u.Lrs_present { case true: return XDR_Stateid4(u.Lrs_stateid()) case false: return nil } return nil } func (u *Layoutreturn_stateid) XdrUnionBodyName() string { switch u.Lrs_present { case true: return "Lrs_stateid" case false: return "" } return "" } type XdrType_Layoutreturn_stateid = *Layoutreturn_stateid func (v *Layoutreturn_stateid) XdrPointer() interface{} { return v } func (Layoutreturn_stateid) XdrTypeName() string { return "Layoutreturn_stateid" } func (v Layoutreturn_stateid) XdrValue() interface{} { return v } func (v *Layoutreturn_stateid) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (u *Layoutreturn_stateid) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } XDR_bool(&u.Lrs_present).XdrMarshal(x, x.Sprintf("%slrs_present", name)) switch u.Lrs_present { case true: x.Marshal(x.Sprintf("%slrs_stateid", name), XDR_Stateid4(u.Lrs_stateid())) return case false: return } XdrPanic("invalid Lrs_present (%v) in Layoutreturn_stateid", u.Lrs_present) } func XDR_Layoutreturn_stateid(v *Layoutreturn_stateid) *Layoutreturn_stateid { return v} func (u *LAYOUTRETURN4res) Lorr_stateid() *Layoutreturn_stateid { switch u.Lorr_status { case NFS4_OK: if v, ok := u.U.(*Layoutreturn_stateid); ok { return v } else { var zero Layoutreturn_stateid u.U = &zero return &zero } default: XdrPanic("LAYOUTRETURN4res.Lorr_stateid accessed when Lorr_status == %v", u.Lorr_status) return nil } } func (u LAYOUTRETURN4res) XdrValid() bool { return true } func (u *LAYOUTRETURN4res) XdrUnionTag() XdrNum32 { return XDR_Nfsstat4(&u.Lorr_status) } func (u *LAYOUTRETURN4res) XdrUnionTagName() string { return "Lorr_status" } func (u *LAYOUTRETURN4res) XdrUnionBody() XdrType { switch u.Lorr_status { case NFS4_OK: return XDR_Layoutreturn_stateid(u.Lorr_stateid()) default: return nil } } func (u *LAYOUTRETURN4res) XdrUnionBodyName() string { switch u.Lorr_status { case NFS4_OK: return "Lorr_stateid" default: return "" } } type XdrType_LAYOUTRETURN4res = *LAYOUTRETURN4res func (v *LAYOUTRETURN4res) XdrPointer() interface{} { return v } func (LAYOUTRETURN4res) XdrTypeName() string { return "LAYOUTRETURN4res" } func (v LAYOUTRETURN4res) XdrValue() interface{} { return v } func (v *LAYOUTRETURN4res) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (u *LAYOUTRETURN4res) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } XDR_Nfsstat4(&u.Lorr_status).XdrMarshal(x, x.Sprintf("%slorr_status", name)) switch u.Lorr_status { case NFS4_OK: x.Marshal(x.Sprintf("%slorr_stateid", name), XDR_Layoutreturn_stateid(u.Lorr_stateid())) return default: return } } func XDR_LAYOUTRETURN4res(v *LAYOUTRETURN4res) *LAYOUTRETURN4res { return v} var _XdrNames_Secinfo_style4 = map[int32]string{ int32(SECINFO_STYLE4_CURRENT_FH): "SECINFO_STYLE4_CURRENT_FH", int32(SECINFO_STYLE4_PARENT): "SECINFO_STYLE4_PARENT", } var _XdrValues_Secinfo_style4 = map[string]int32{ "SECINFO_STYLE4_CURRENT_FH": int32(SECINFO_STYLE4_CURRENT_FH), "SECINFO_STYLE4_PARENT": int32(SECINFO_STYLE4_PARENT), } func (Secinfo_style4) XdrEnumNames() map[int32]string { return _XdrNames_Secinfo_style4 } func (v Secinfo_style4) String() string { if s, ok := _XdrNames_Secinfo_style4[int32(v)]; ok { return s } return fmt.Sprintf("Secinfo_style4#%d", v) } func (v *Secinfo_style4) Scan(ss fmt.ScanState, _ rune) error { if tok, err := ss.Token(true, XdrSymChar); err != nil { return err } else { stok := string(tok) if val, ok := _XdrValues_Secinfo_style4[stok]; ok { *v = Secinfo_style4(val) return nil } else if stok == "Secinfo_style4" { if n, err := fmt.Fscanf(ss, "#%d", (*int32)(v)); n == 1 && err == nil { return nil } } return XdrError(fmt.Sprintf("%s is not a valid Secinfo_style4.", stok)) } } func (v Secinfo_style4) GetU32() uint32 { return uint32(v) } func (v *Secinfo_style4) SetU32(n uint32) { *v = Secinfo_style4(n) } func (v *Secinfo_style4) XdrPointer() interface{} { return v } func (Secinfo_style4) XdrTypeName() string { return "Secinfo_style4" } func (v Secinfo_style4) XdrValue() interface{} { return v } func (v *Secinfo_style4) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } type XdrType_Secinfo_style4 = *Secinfo_style4 func XDR_Secinfo_style4(v *Secinfo_style4) *Secinfo_style4 { return v } type XdrType_SECINFO_NO_NAME4args struct { XdrType_Secinfo_style4 } func XDR_SECINFO_NO_NAME4args(v *SECINFO_NO_NAME4args) *XdrType_SECINFO_NO_NAME4args { return &XdrType_SECINFO_NO_NAME4args{XDR_Secinfo_style4(v)} } func (XdrType_SECINFO_NO_NAME4args) XdrTypeName() string { return "SECINFO_NO_NAME4args" } func (v XdrType_SECINFO_NO_NAME4args) XdrUnwrap() XdrType { return v.XdrType_Secinfo_style4 } type XdrType_SECINFO_NO_NAME4res struct { XdrType_SECINFO4res } func XDR_SECINFO_NO_NAME4res(v *SECINFO_NO_NAME4res) *XdrType_SECINFO_NO_NAME4res { return &XdrType_SECINFO_NO_NAME4res{XDR_SECINFO4res(v)} } func (XdrType_SECINFO_NO_NAME4res) XdrTypeName() string { return "SECINFO_NO_NAME4res" } func (v XdrType_SECINFO_NO_NAME4res) XdrUnwrap() XdrType { return v.XdrType_SECINFO4res } type XdrType_SEQUENCE4args = *SEQUENCE4args func (v *SEQUENCE4args) XdrPointer() interface{} { return v } func (SEQUENCE4args) XdrTypeName() string { return "SEQUENCE4args" } func (v SEQUENCE4args) XdrValue() interface{} { return v } func (v *SEQUENCE4args) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *SEQUENCE4args) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%ssa_sessionid", name), XDR_Sessionid4(&v.Sa_sessionid)) x.Marshal(x.Sprintf("%ssa_sequenceid", name), XDR_Sequenceid4(&v.Sa_sequenceid)) x.Marshal(x.Sprintf("%ssa_slotid", name), XDR_Slotid4(&v.Sa_slotid)) x.Marshal(x.Sprintf("%ssa_highest_slotid", name), XDR_Slotid4(&v.Sa_highest_slotid)) x.Marshal(x.Sprintf("%ssa_cachethis", name), XDR_bool(&v.Sa_cachethis)) } func XDR_SEQUENCE4args(v *SEQUENCE4args) *SEQUENCE4args { return v } type XdrType_SEQUENCE4resok = *SEQUENCE4resok func (v *SEQUENCE4resok) XdrPointer() interface{} { return v } func (SEQUENCE4resok) XdrTypeName() string { return "SEQUENCE4resok" } func (v SEQUENCE4resok) XdrValue() interface{} { return v } func (v *SEQUENCE4resok) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *SEQUENCE4resok) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%ssr_sessionid", name), XDR_Sessionid4(&v.Sr_sessionid)) x.Marshal(x.Sprintf("%ssr_sequenceid", name), XDR_Sequenceid4(&v.Sr_sequenceid)) x.Marshal(x.Sprintf("%ssr_slotid", name), XDR_Slotid4(&v.Sr_slotid)) x.Marshal(x.Sprintf("%ssr_highest_slotid", name), XDR_Slotid4(&v.Sr_highest_slotid)) x.Marshal(x.Sprintf("%ssr_target_highest_slotid", name), XDR_Slotid4(&v.Sr_target_highest_slotid)) x.Marshal(x.Sprintf("%ssr_status_flags", name), XDR_Uint32_t(&v.Sr_status_flags)) } func XDR_SEQUENCE4resok(v *SEQUENCE4resok) *SEQUENCE4resok { return v } func (u *SEQUENCE4res) Sr_resok4() *SEQUENCE4resok { switch u.Sr_status { case NFS4_OK: if v, ok := u.U.(*SEQUENCE4resok); ok { return v } else { var zero SEQUENCE4resok u.U = &zero return &zero } default: XdrPanic("SEQUENCE4res.Sr_resok4 accessed when Sr_status == %v", u.Sr_status) return nil } } func (u SEQUENCE4res) XdrValid() bool { return true } func (u *SEQUENCE4res) XdrUnionTag() XdrNum32 { return XDR_Nfsstat4(&u.Sr_status) } func (u *SEQUENCE4res) XdrUnionTagName() string { return "Sr_status" } func (u *SEQUENCE4res) XdrUnionBody() XdrType { switch u.Sr_status { case NFS4_OK: return XDR_SEQUENCE4resok(u.Sr_resok4()) default: return nil } } func (u *SEQUENCE4res) XdrUnionBodyName() string { switch u.Sr_status { case NFS4_OK: return "Sr_resok4" default: return "" } } type XdrType_SEQUENCE4res = *SEQUENCE4res func (v *SEQUENCE4res) XdrPointer() interface{} { return v } func (SEQUENCE4res) XdrTypeName() string { return "SEQUENCE4res" } func (v SEQUENCE4res) XdrValue() interface{} { return v } func (v *SEQUENCE4res) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (u *SEQUENCE4res) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } XDR_Nfsstat4(&u.Sr_status).XdrMarshal(x, x.Sprintf("%ssr_status", name)) switch u.Sr_status { case NFS4_OK: x.Marshal(x.Sprintf("%ssr_resok4", name), XDR_SEQUENCE4resok(u.Sr_resok4())) return default: return } } func XDR_SEQUENCE4res(v *SEQUENCE4res) *SEQUENCE4res { return v} type XdrType_Ssa_digest_input4 = *Ssa_digest_input4 func (v *Ssa_digest_input4) XdrPointer() interface{} { return v } func (Ssa_digest_input4) XdrTypeName() string { return "Ssa_digest_input4" } func (v Ssa_digest_input4) XdrValue() interface{} { return v } func (v *Ssa_digest_input4) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *Ssa_digest_input4) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%ssdi_seqargs", name), XDR_SEQUENCE4args(&v.Sdi_seqargs)) } func XDR_Ssa_digest_input4(v *Ssa_digest_input4) *Ssa_digest_input4 { return v } type XdrType_SET_SSV4args = *SET_SSV4args func (v *SET_SSV4args) XdrPointer() interface{} { return v } func (SET_SSV4args) XdrTypeName() string { return "SET_SSV4args" } func (v SET_SSV4args) XdrValue() interface{} { return v } func (v *SET_SSV4args) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *SET_SSV4args) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%sssa_ssv", name), XdrVecOpaque{&v.Ssa_ssv, 0xffffffff}) x.Marshal(x.Sprintf("%sssa_digest", name), XdrVecOpaque{&v.Ssa_digest, 0xffffffff}) } func XDR_SET_SSV4args(v *SET_SSV4args) *SET_SSV4args { return v } type XdrType_Ssr_digest_input4 = *Ssr_digest_input4 func (v *Ssr_digest_input4) XdrPointer() interface{} { return v } func (Ssr_digest_input4) XdrTypeName() string { return "Ssr_digest_input4" } func (v Ssr_digest_input4) XdrValue() interface{} { return v } func (v *Ssr_digest_input4) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *Ssr_digest_input4) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%ssdi_seqres", name), XDR_SEQUENCE4res(&v.Sdi_seqres)) } func XDR_Ssr_digest_input4(v *Ssr_digest_input4) *Ssr_digest_input4 { return v } type XdrType_SET_SSV4resok = *SET_SSV4resok func (v *SET_SSV4resok) XdrPointer() interface{} { return v } func (SET_SSV4resok) XdrTypeName() string { return "SET_SSV4resok" } func (v SET_SSV4resok) XdrValue() interface{} { return v } func (v *SET_SSV4resok) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *SET_SSV4resok) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%sssr_digest", name), XdrVecOpaque{&v.Ssr_digest, 0xffffffff}) } func XDR_SET_SSV4resok(v *SET_SSV4resok) *SET_SSV4resok { return v } func (u *SET_SSV4res) Ssr_resok4() *SET_SSV4resok { switch u.Ssr_status { case NFS4_OK: if v, ok := u.U.(*SET_SSV4resok); ok { return v } else { var zero SET_SSV4resok u.U = &zero return &zero } default: XdrPanic("SET_SSV4res.Ssr_resok4 accessed when Ssr_status == %v", u.Ssr_status) return nil } } func (u SET_SSV4res) XdrValid() bool { return true } func (u *SET_SSV4res) XdrUnionTag() XdrNum32 { return XDR_Nfsstat4(&u.Ssr_status) } func (u *SET_SSV4res) XdrUnionTagName() string { return "Ssr_status" } func (u *SET_SSV4res) XdrUnionBody() XdrType { switch u.Ssr_status { case NFS4_OK: return XDR_SET_SSV4resok(u.Ssr_resok4()) default: return nil } } func (u *SET_SSV4res) XdrUnionBodyName() string { switch u.Ssr_status { case NFS4_OK: return "Ssr_resok4" default: return "" } } type XdrType_SET_SSV4res = *SET_SSV4res func (v *SET_SSV4res) XdrPointer() interface{} { return v } func (SET_SSV4res) XdrTypeName() string { return "SET_SSV4res" } func (v SET_SSV4res) XdrValue() interface{} { return v } func (v *SET_SSV4res) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (u *SET_SSV4res) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } XDR_Nfsstat4(&u.Ssr_status).XdrMarshal(x, x.Sprintf("%sssr_status", name)) switch u.Ssr_status { case NFS4_OK: x.Marshal(x.Sprintf("%sssr_resok4", name), XDR_SET_SSV4resok(u.Ssr_resok4())) return default: return } } func XDR_SET_SSV4res(v *SET_SSV4res) *SET_SSV4res { return v} type _XdrVec_unbounded_Stateid4 []Stateid4 func (_XdrVec_unbounded_Stateid4) XdrBound() uint32 { const bound uint32 = 4294967295 // Force error if not const or doesn't fit return bound } func (_XdrVec_unbounded_Stateid4) XdrCheckLen(length uint32) { if length > uint32(4294967295) { XdrPanic("_XdrVec_unbounded_Stateid4 length %d exceeds bound 4294967295", length) } else if int(length) < 0 { XdrPanic("_XdrVec_unbounded_Stateid4 length %d exceeds max int", length) } } func (v _XdrVec_unbounded_Stateid4) GetVecLen() uint32 { return uint32(len(v)) } func (v *_XdrVec_unbounded_Stateid4) SetVecLen(length uint32) { v.XdrCheckLen(length) if int(length) <= cap(*v) { if int(length) != len(*v) { *v = (*v)[:int(length)] } return } newcap := 2*cap(*v) if newcap < int(length) { // also catches overflow where 2*cap < 0 newcap = int(length) } else if bound := uint(4294967295); uint(newcap) > bound { if int(bound) < 0 { bound = ^uint(0) >> 1 } newcap = int(bound) } nv := make([]Stateid4, int(length), newcap) copy(nv, *v) *v = nv } func (v *_XdrVec_unbounded_Stateid4) XdrMarshalN(x XDR, name string, n uint32) { v.XdrCheckLen(n) for i := 0; i < int(n); i++ { if (i >= len(*v)) { v.SetVecLen(uint32(i+1)) } XDR_Stateid4(&(*v)[i]).XdrMarshal(x, x.Sprintf("%s[%d]", name, i)) } if int(n) < len(*v) { *v = (*v)[:int(n)] } } func (v *_XdrVec_unbounded_Stateid4) XdrRecurse(x XDR, name string) { size := XdrSize{ Size: uint32(len(*v)), Bound: 4294967295 } x.Marshal(name, &size) v.XdrMarshalN(x, name, size.Size) } func (_XdrVec_unbounded_Stateid4) XdrTypeName() string { return "Stateid4<>" } func (v *_XdrVec_unbounded_Stateid4) XdrPointer() interface{} { return (*[]Stateid4)(v) } func (v _XdrVec_unbounded_Stateid4) XdrValue() interface{} { return ([]Stateid4)(v) } func (v *_XdrVec_unbounded_Stateid4) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } type XdrType_TEST_STATEID4args = *TEST_STATEID4args func (v *TEST_STATEID4args) XdrPointer() interface{} { return v } func (TEST_STATEID4args) XdrTypeName() string { return "TEST_STATEID4args" } func (v TEST_STATEID4args) XdrValue() interface{} { return v } func (v *TEST_STATEID4args) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *TEST_STATEID4args) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%sts_stateids", name), (*_XdrVec_unbounded_Stateid4)(&v.Ts_stateids)) } func XDR_TEST_STATEID4args(v *TEST_STATEID4args) *TEST_STATEID4args { return v } type _XdrVec_unbounded_Nfsstat4 []Nfsstat4 func (_XdrVec_unbounded_Nfsstat4) XdrBound() uint32 { const bound uint32 = 4294967295 // Force error if not const or doesn't fit return bound } func (_XdrVec_unbounded_Nfsstat4) XdrCheckLen(length uint32) { if length > uint32(4294967295) { XdrPanic("_XdrVec_unbounded_Nfsstat4 length %d exceeds bound 4294967295", length) } else if int(length) < 0 { XdrPanic("_XdrVec_unbounded_Nfsstat4 length %d exceeds max int", length) } } func (v _XdrVec_unbounded_Nfsstat4) GetVecLen() uint32 { return uint32(len(v)) } func (v *_XdrVec_unbounded_Nfsstat4) SetVecLen(length uint32) { v.XdrCheckLen(length) if int(length) <= cap(*v) { if int(length) != len(*v) { *v = (*v)[:int(length)] } return } newcap := 2*cap(*v) if newcap < int(length) { // also catches overflow where 2*cap < 0 newcap = int(length) } else if bound := uint(4294967295); uint(newcap) > bound { if int(bound) < 0 { bound = ^uint(0) >> 1 } newcap = int(bound) } nv := make([]Nfsstat4, int(length), newcap) copy(nv, *v) *v = nv } func (v *_XdrVec_unbounded_Nfsstat4) XdrMarshalN(x XDR, name string, n uint32) { v.XdrCheckLen(n) for i := 0; i < int(n); i++ { if (i >= len(*v)) { v.SetVecLen(uint32(i+1)) } XDR_Nfsstat4(&(*v)[i]).XdrMarshal(x, x.Sprintf("%s[%d]", name, i)) } if int(n) < len(*v) { *v = (*v)[:int(n)] } } func (v *_XdrVec_unbounded_Nfsstat4) XdrRecurse(x XDR, name string) { size := XdrSize{ Size: uint32(len(*v)), Bound: 4294967295 } x.Marshal(name, &size) v.XdrMarshalN(x, name, size.Size) } func (_XdrVec_unbounded_Nfsstat4) XdrTypeName() string { return "Nfsstat4<>" } func (v *_XdrVec_unbounded_Nfsstat4) XdrPointer() interface{} { return (*[]Nfsstat4)(v) } func (v _XdrVec_unbounded_Nfsstat4) XdrValue() interface{} { return ([]Nfsstat4)(v) } func (v *_XdrVec_unbounded_Nfsstat4) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } type XdrType_TEST_STATEID4resok = *TEST_STATEID4resok func (v *TEST_STATEID4resok) XdrPointer() interface{} { return v } func (TEST_STATEID4resok) XdrTypeName() string { return "TEST_STATEID4resok" } func (v TEST_STATEID4resok) XdrValue() interface{} { return v } func (v *TEST_STATEID4resok) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *TEST_STATEID4resok) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%stsr_status_codes", name), (*_XdrVec_unbounded_Nfsstat4)(&v.Tsr_status_codes)) } func XDR_TEST_STATEID4resok(v *TEST_STATEID4resok) *TEST_STATEID4resok { return v } func (u *TEST_STATEID4res) Tsr_resok4() *TEST_STATEID4resok { switch u.Tsr_status { case NFS4_OK: if v, ok := u.U.(*TEST_STATEID4resok); ok { return v } else { var zero TEST_STATEID4resok u.U = &zero return &zero } default: XdrPanic("TEST_STATEID4res.Tsr_resok4 accessed when Tsr_status == %v", u.Tsr_status) return nil } } func (u TEST_STATEID4res) XdrValid() bool { return true } func (u *TEST_STATEID4res) XdrUnionTag() XdrNum32 { return XDR_Nfsstat4(&u.Tsr_status) } func (u *TEST_STATEID4res) XdrUnionTagName() string { return "Tsr_status" } func (u *TEST_STATEID4res) XdrUnionBody() XdrType { switch u.Tsr_status { case NFS4_OK: return XDR_TEST_STATEID4resok(u.Tsr_resok4()) default: return nil } } func (u *TEST_STATEID4res) XdrUnionBodyName() string { switch u.Tsr_status { case NFS4_OK: return "Tsr_resok4" default: return "" } } type XdrType_TEST_STATEID4res = *TEST_STATEID4res func (v *TEST_STATEID4res) XdrPointer() interface{} { return v } func (TEST_STATEID4res) XdrTypeName() string { return "TEST_STATEID4res" } func (v TEST_STATEID4res) XdrValue() interface{} { return v } func (v *TEST_STATEID4res) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (u *TEST_STATEID4res) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } XDR_Nfsstat4(&u.Tsr_status).XdrMarshal(x, x.Sprintf("%stsr_status", name)) switch u.Tsr_status { case NFS4_OK: x.Marshal(x.Sprintf("%stsr_resok4", name), XDR_TEST_STATEID4resok(u.Tsr_resok4())) return default: return } } func XDR_TEST_STATEID4res(v *TEST_STATEID4res) *TEST_STATEID4res { return v} var _XdrTags_Deleg_claim4 = map[int32]bool{ XdrToI32(CLAIM_FH): true, XdrToI32(CLAIM_DELEG_PREV_FH): true, XdrToI32(CLAIM_PREVIOUS): true, } func (_ Deleg_claim4) XdrValidTags() map[int32]bool { return _XdrTags_Deleg_claim4 } func (u *Deleg_claim4) Dc_delegate_type() *Open_delegation_type4 { switch u.Dc_claim { case CLAIM_PREVIOUS: if v, ok := u.U.(*Open_delegation_type4); ok { return v } else { var zero Open_delegation_type4 u.U = &zero return &zero } default: XdrPanic("Deleg_claim4.Dc_delegate_type accessed when Dc_claim == %v", u.Dc_claim) return nil } } func (u Deleg_claim4) XdrValid() bool { switch u.Dc_claim { case CLAIM_FH,CLAIM_DELEG_PREV_FH,CLAIM_PREVIOUS: return true } return false } func (u *Deleg_claim4) XdrUnionTag() XdrNum32 { return XDR_Open_claim_type4(&u.Dc_claim) } func (u *Deleg_claim4) XdrUnionTagName() string { return "Dc_claim" } func (u *Deleg_claim4) XdrUnionBody() XdrType { switch u.Dc_claim { case CLAIM_FH: return nil case CLAIM_DELEG_PREV_FH: return nil case CLAIM_PREVIOUS: return XDR_Open_delegation_type4(u.Dc_delegate_type()) } return nil } func (u *Deleg_claim4) XdrUnionBodyName() string { switch u.Dc_claim { case CLAIM_FH: return "" case CLAIM_DELEG_PREV_FH: return "" case CLAIM_PREVIOUS: return "Dc_delegate_type" } return "" } type XdrType_Deleg_claim4 = *Deleg_claim4 func (v *Deleg_claim4) XdrPointer() interface{} { return v } func (Deleg_claim4) XdrTypeName() string { return "Deleg_claim4" } func (v Deleg_claim4) XdrValue() interface{} { return v } func (v *Deleg_claim4) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (u *Deleg_claim4) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } XDR_Open_claim_type4(&u.Dc_claim).XdrMarshal(x, x.Sprintf("%sdc_claim", name)) switch u.Dc_claim { case CLAIM_FH: return case CLAIM_DELEG_PREV_FH: return case CLAIM_PREVIOUS: x.Marshal(x.Sprintf("%sdc_delegate_type", name), XDR_Open_delegation_type4(u.Dc_delegate_type())) return } XdrPanic("invalid Dc_claim (%v) in Deleg_claim4", u.Dc_claim) } func (v *Deleg_claim4) XdrInitialize() { var zero Open_claim_type4 switch zero { case CLAIM_FH, CLAIM_DELEG_PREV_FH, CLAIM_PREVIOUS: default: if v.Dc_claim == zero { v.Dc_claim = CLAIM_FH } } } func XDR_Deleg_claim4(v *Deleg_claim4) *Deleg_claim4 { return v} type XdrType_WANT_DELEGATION4args = *WANT_DELEGATION4args func (v *WANT_DELEGATION4args) XdrPointer() interface{} { return v } func (WANT_DELEGATION4args) XdrTypeName() string { return "WANT_DELEGATION4args" } func (v WANT_DELEGATION4args) XdrValue() interface{} { return v } func (v *WANT_DELEGATION4args) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *WANT_DELEGATION4args) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%swda_want", name), XDR_Uint32_t(&v.Wda_want)) x.Marshal(x.Sprintf("%swda_claim", name), XDR_Deleg_claim4(&v.Wda_claim)) } func XDR_WANT_DELEGATION4args(v *WANT_DELEGATION4args) *WANT_DELEGATION4args { return v } func (u *WANT_DELEGATION4res) Wdr_resok4() *Open_delegation4 { switch u.Wdr_status { case NFS4_OK: if v, ok := u.U.(*Open_delegation4); ok { return v } else { var zero Open_delegation4 u.U = &zero return &zero } default: XdrPanic("WANT_DELEGATION4res.Wdr_resok4 accessed when Wdr_status == %v", u.Wdr_status) return nil } } func (u WANT_DELEGATION4res) XdrValid() bool { return true } func (u *WANT_DELEGATION4res) XdrUnionTag() XdrNum32 { return XDR_Nfsstat4(&u.Wdr_status) } func (u *WANT_DELEGATION4res) XdrUnionTagName() string { return "Wdr_status" } func (u *WANT_DELEGATION4res) XdrUnionBody() XdrType { switch u.Wdr_status { case NFS4_OK: return XDR_Open_delegation4(u.Wdr_resok4()) default: return nil } } func (u *WANT_DELEGATION4res) XdrUnionBodyName() string { switch u.Wdr_status { case NFS4_OK: return "Wdr_resok4" default: return "" } } type XdrType_WANT_DELEGATION4res = *WANT_DELEGATION4res func (v *WANT_DELEGATION4res) XdrPointer() interface{} { return v } func (WANT_DELEGATION4res) XdrTypeName() string { return "WANT_DELEGATION4res" } func (v WANT_DELEGATION4res) XdrValue() interface{} { return v } func (v *WANT_DELEGATION4res) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (u *WANT_DELEGATION4res) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } XDR_Nfsstat4(&u.Wdr_status).XdrMarshal(x, x.Sprintf("%swdr_status", name)) switch u.Wdr_status { case NFS4_OK: x.Marshal(x.Sprintf("%swdr_resok4", name), XDR_Open_delegation4(u.Wdr_resok4())) return default: return } } func XDR_WANT_DELEGATION4res(v *WANT_DELEGATION4res) *WANT_DELEGATION4res { return v} type XdrType_DESTROY_CLIENTID4args = *DESTROY_CLIENTID4args func (v *DESTROY_CLIENTID4args) XdrPointer() interface{} { return v } func (DESTROY_CLIENTID4args) XdrTypeName() string { return "DESTROY_CLIENTID4args" } func (v DESTROY_CLIENTID4args) XdrValue() interface{} { return v } func (v *DESTROY_CLIENTID4args) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *DESTROY_CLIENTID4args) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%sdca_clientid", name), XDR_Clientid4(&v.Dca_clientid)) } func XDR_DESTROY_CLIENTID4args(v *DESTROY_CLIENTID4args) *DESTROY_CLIENTID4args { return v } type XdrType_DESTROY_CLIENTID4res = *DESTROY_CLIENTID4res func (v *DESTROY_CLIENTID4res) XdrPointer() interface{} { return v } func (DESTROY_CLIENTID4res) XdrTypeName() string { return "DESTROY_CLIENTID4res" } func (v DESTROY_CLIENTID4res) XdrValue() interface{} { return v } func (v *DESTROY_CLIENTID4res) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *DESTROY_CLIENTID4res) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%sdcr_status", name), XDR_Nfsstat4(&v.Dcr_status)) } func XDR_DESTROY_CLIENTID4res(v *DESTROY_CLIENTID4res) *DESTROY_CLIENTID4res { return v } type XdrType_RECLAIM_COMPLETE4args = *RECLAIM_COMPLETE4args func (v *RECLAIM_COMPLETE4args) XdrPointer() interface{} { return v } func (RECLAIM_COMPLETE4args) XdrTypeName() string { return "RECLAIM_COMPLETE4args" } func (v RECLAIM_COMPLETE4args) XdrValue() interface{} { return v } func (v *RECLAIM_COMPLETE4args) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *RECLAIM_COMPLETE4args) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%srca_one_fs", name), XDR_bool(&v.Rca_one_fs)) } func XDR_RECLAIM_COMPLETE4args(v *RECLAIM_COMPLETE4args) *RECLAIM_COMPLETE4args { return v } type XdrType_RECLAIM_COMPLETE4res = *RECLAIM_COMPLETE4res func (v *RECLAIM_COMPLETE4res) XdrPointer() interface{} { return v } func (RECLAIM_COMPLETE4res) XdrTypeName() string { return "RECLAIM_COMPLETE4res" } func (v RECLAIM_COMPLETE4res) XdrValue() interface{} { return v } func (v *RECLAIM_COMPLETE4res) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *RECLAIM_COMPLETE4res) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%srcr_status", name), XDR_Nfsstat4(&v.Rcr_status)) } func XDR_RECLAIM_COMPLETE4res(v *RECLAIM_COMPLETE4res) *RECLAIM_COMPLETE4res { return v } type XdrType_ILLEGAL4res = *ILLEGAL4res func (v *ILLEGAL4res) XdrPointer() interface{} { return v } func (ILLEGAL4res) XdrTypeName() string { return "ILLEGAL4res" } func (v ILLEGAL4res) XdrValue() interface{} { return v } func (v *ILLEGAL4res) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *ILLEGAL4res) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%sstatus", name), XDR_Nfsstat4(&v.Status)) } func XDR_ILLEGAL4res(v *ILLEGAL4res) *ILLEGAL4res { return v } var _XdrNames_Nfs_opnum4 = map[int32]string{ int32(OP_ACCESS): "OP_ACCESS", int32(OP_CLOSE): "OP_CLOSE", int32(OP_COMMIT): "OP_COMMIT", int32(OP_CREATE): "OP_CREATE", int32(OP_DELEGPURGE): "OP_DELEGPURGE", int32(OP_DELEGRETURN): "OP_DELEGRETURN", int32(OP_GETATTR): "OP_GETATTR", int32(OP_GETFH): "OP_GETFH", int32(OP_LINK): "OP_LINK", int32(OP_LOCK): "OP_LOCK", int32(OP_LOCKT): "OP_LOCKT", int32(OP_LOCKU): "OP_LOCKU", int32(OP_LOOKUP): "OP_LOOKUP", int32(OP_LOOKUPP): "OP_LOOKUPP", int32(OP_NVERIFY): "OP_NVERIFY", int32(OP_OPEN): "OP_OPEN", int32(OP_OPENATTR): "OP_OPENATTR", int32(OP_OPEN_CONFIRM): "OP_OPEN_CONFIRM", int32(OP_OPEN_DOWNGRADE): "OP_OPEN_DOWNGRADE", int32(OP_PUTFH): "OP_PUTFH", int32(OP_PUTPUBFH): "OP_PUTPUBFH", int32(OP_PUTROOTFH): "OP_PUTROOTFH", int32(OP_READ): "OP_READ", int32(OP_READDIR): "OP_READDIR", int32(OP_READLINK): "OP_READLINK", int32(OP_REMOVE): "OP_REMOVE", int32(OP_RENAME): "OP_RENAME", int32(OP_RENEW): "OP_RENEW", int32(OP_RESTOREFH): "OP_RESTOREFH", int32(OP_SAVEFH): "OP_SAVEFH", int32(OP_SECINFO): "OP_SECINFO", int32(OP_SETATTR): "OP_SETATTR", int32(OP_SETCLIENTID): "OP_SETCLIENTID", int32(OP_SETCLIENTID_CONFIRM): "OP_SETCLIENTID_CONFIRM", int32(OP_VERIFY): "OP_VERIFY", int32(OP_WRITE): "OP_WRITE", int32(OP_RELEASE_LOCKOWNER): "OP_RELEASE_LOCKOWNER", int32(OP_CREATE_SESSION): "OP_CREATE_SESSION", int32(OP_DESTROY_SESSION): "OP_DESTROY_SESSION", int32(OP_FREE_STATEID): "OP_FREE_STATEID", int32(OP_GET_DIR_DELEGATION): "OP_GET_DIR_DELEGATION", int32(OP_GETDEVICEINFO): "OP_GETDEVICEINFO", int32(OP_GETDEVICELIST): "OP_GETDEVICELIST", int32(OP_LAYOUTCOMMIT): "OP_LAYOUTCOMMIT", int32(OP_LAYOUTGET): "OP_LAYOUTGET", int32(OP_LAYOUTRETURN): "OP_LAYOUTRETURN", int32(OP_SECINFO_NO_NAME): "OP_SECINFO_NO_NAME", int32(OP_SEQUENCE): "OP_SEQUENCE", int32(OP_SET_SSV): "OP_SET_SSV", int32(OP_TEST_STATEID): "OP_TEST_STATEID", int32(OP_WANT_DELEGATION): "OP_WANT_DELEGATION", int32(OP_DESTROY_CLIENTID): "OP_DESTROY_CLIENTID", int32(OP_RECLAIM_COMPLETE): "OP_RECLAIM_COMPLETE", int32(OP_ILLEGAL): "OP_ILLEGAL", } var _XdrValues_Nfs_opnum4 = map[string]int32{ "OP_ACCESS": int32(OP_ACCESS), "OP_CLOSE": int32(OP_CLOSE), "OP_COMMIT": int32(OP_COMMIT), "OP_CREATE": int32(OP_CREATE), "OP_DELEGPURGE": int32(OP_DELEGPURGE), "OP_DELEGRETURN": int32(OP_DELEGRETURN), "OP_GETATTR": int32(OP_GETATTR), "OP_GETFH": int32(OP_GETFH), "OP_LINK": int32(OP_LINK), "OP_LOCK": int32(OP_LOCK), "OP_LOCKT": int32(OP_LOCKT), "OP_LOCKU": int32(OP_LOCKU), "OP_LOOKUP": int32(OP_LOOKUP), "OP_LOOKUPP": int32(OP_LOOKUPP), "OP_NVERIFY": int32(OP_NVERIFY), "OP_OPEN": int32(OP_OPEN), "OP_OPENATTR": int32(OP_OPENATTR), "OP_OPEN_CONFIRM": int32(OP_OPEN_CONFIRM), "OP_OPEN_DOWNGRADE": int32(OP_OPEN_DOWNGRADE), "OP_PUTFH": int32(OP_PUTFH), "OP_PUTPUBFH": int32(OP_PUTPUBFH), "OP_PUTROOTFH": int32(OP_PUTROOTFH), "OP_READ": int32(OP_READ), "OP_READDIR": int32(OP_READDIR), "OP_READLINK": int32(OP_READLINK), "OP_REMOVE": int32(OP_REMOVE), "OP_RENAME": int32(OP_RENAME), "OP_RENEW": int32(OP_RENEW), "OP_RESTOREFH": int32(OP_RESTOREFH), "OP_SAVEFH": int32(OP_SAVEFH), "OP_SECINFO": int32(OP_SECINFO), "OP_SETATTR": int32(OP_SETATTR), "OP_SETCLIENTID": int32(OP_SETCLIENTID), "OP_SETCLIENTID_CONFIRM": int32(OP_SETCLIENTID_CONFIRM), "OP_VERIFY": int32(OP_VERIFY), "OP_WRITE": int32(OP_WRITE), "OP_RELEASE_LOCKOWNER": int32(OP_RELEASE_LOCKOWNER), "OP_CREATE_SESSION": int32(OP_CREATE_SESSION), "OP_DESTROY_SESSION": int32(OP_DESTROY_SESSION), "OP_FREE_STATEID": int32(OP_FREE_STATEID), "OP_GET_DIR_DELEGATION": int32(OP_GET_DIR_DELEGATION), "OP_GETDEVICEINFO": int32(OP_GETDEVICEINFO), "OP_GETDEVICELIST": int32(OP_GETDEVICELIST), "OP_LAYOUTCOMMIT": int32(OP_LAYOUTCOMMIT), "OP_LAYOUTGET": int32(OP_LAYOUTGET), "OP_LAYOUTRETURN": int32(OP_LAYOUTRETURN), "OP_SECINFO_NO_NAME": int32(OP_SECINFO_NO_NAME), "OP_SEQUENCE": int32(OP_SEQUENCE), "OP_SET_SSV": int32(OP_SET_SSV), "OP_TEST_STATEID": int32(OP_TEST_STATEID), "OP_WANT_DELEGATION": int32(OP_WANT_DELEGATION), "OP_DESTROY_CLIENTID": int32(OP_DESTROY_CLIENTID), "OP_RECLAIM_COMPLETE": int32(OP_RECLAIM_COMPLETE), "OP_ILLEGAL": int32(OP_ILLEGAL), } func (Nfs_opnum4) XdrEnumNames() map[int32]string { return _XdrNames_Nfs_opnum4 } func (v Nfs_opnum4) String() string { if s, ok := _XdrNames_Nfs_opnum4[int32(v)]; ok { return s } return fmt.Sprintf("Nfs_opnum4#%d", v) } func (v *Nfs_opnum4) Scan(ss fmt.ScanState, _ rune) error { if tok, err := ss.Token(true, XdrSymChar); err != nil { return err } else { stok := string(tok) if val, ok := _XdrValues_Nfs_opnum4[stok]; ok { *v = Nfs_opnum4(val) return nil } else if stok == "Nfs_opnum4" { if n, err := fmt.Fscanf(ss, "#%d", (*int32)(v)); n == 1 && err == nil { return nil } } return XdrError(fmt.Sprintf("%s is not a valid Nfs_opnum4.", stok)) } } func (v Nfs_opnum4) GetU32() uint32 { return uint32(v) } func (v *Nfs_opnum4) SetU32(n uint32) { *v = Nfs_opnum4(n) } func (v *Nfs_opnum4) XdrPointer() interface{} { return v } func (Nfs_opnum4) XdrTypeName() string { return "Nfs_opnum4" } func (v Nfs_opnum4) XdrValue() interface{} { return v } func (v *Nfs_opnum4) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } type XdrType_Nfs_opnum4 = *Nfs_opnum4 func XDR_Nfs_opnum4(v *Nfs_opnum4) *Nfs_opnum4 { return v } func (v *Nfs_opnum4) XdrInitialize() { switch Nfs_opnum4(0) { case OP_ACCESS, OP_CLOSE, OP_COMMIT, OP_CREATE, OP_DELEGPURGE, OP_DELEGRETURN, OP_GETATTR, OP_GETFH, OP_LINK, OP_LOCK, OP_LOCKT, OP_LOCKU, OP_LOOKUP, OP_LOOKUPP, OP_NVERIFY, OP_OPEN, OP_OPENATTR, OP_OPEN_CONFIRM, OP_OPEN_DOWNGRADE, OP_PUTFH, OP_PUTPUBFH, OP_PUTROOTFH, OP_READ, OP_READDIR, OP_READLINK, OP_REMOVE, OP_RENAME, OP_RENEW, OP_RESTOREFH, OP_SAVEFH, OP_SECINFO, OP_SETATTR, OP_SETCLIENTID, OP_SETCLIENTID_CONFIRM, OP_VERIFY, OP_WRITE, OP_RELEASE_LOCKOWNER, OP_CREATE_SESSION, OP_DESTROY_SESSION, OP_FREE_STATEID, OP_GET_DIR_DELEGATION, OP_GETDEVICEINFO, OP_GETDEVICELIST, OP_LAYOUTCOMMIT, OP_LAYOUTGET, OP_LAYOUTRETURN, OP_SECINFO_NO_NAME, OP_SEQUENCE, OP_SET_SSV, OP_TEST_STATEID, OP_WANT_DELEGATION, OP_DESTROY_CLIENTID, OP_RECLAIM_COMPLETE, OP_ILLEGAL: default: if *v == Nfs_opnum4(0) { *v = OP_ACCESS } } } var _XdrTags_Nfs_argop4 = map[int32]bool{ XdrToI32(OP_ACCESS): true, XdrToI32(OP_CLOSE): true, XdrToI32(OP_COMMIT): true, XdrToI32(OP_CREATE): true, XdrToI32(OP_DELEGPURGE): true, XdrToI32(OP_DELEGRETURN): true, XdrToI32(OP_GETATTR): true, XdrToI32(OP_GETFH): true, XdrToI32(OP_LINK): true, XdrToI32(OP_LOCK): true, XdrToI32(OP_LOCKT): true, XdrToI32(OP_LOCKU): true, XdrToI32(OP_LOOKUP): true, XdrToI32(OP_LOOKUPP): true, XdrToI32(OP_NVERIFY): true, XdrToI32(OP_OPEN): true, XdrToI32(OP_OPENATTR): true, XdrToI32(OP_OPEN_CONFIRM): true, XdrToI32(OP_OPEN_DOWNGRADE): true, XdrToI32(OP_PUTFH): true, XdrToI32(OP_PUTPUBFH): true, XdrToI32(OP_PUTROOTFH): true, XdrToI32(OP_READ): true, XdrToI32(OP_READDIR): true, XdrToI32(OP_READLINK): true, XdrToI32(OP_REMOVE): true, XdrToI32(OP_RENAME): true, XdrToI32(OP_RENEW): true, XdrToI32(OP_RESTOREFH): true, XdrToI32(OP_SAVEFH): true, XdrToI32(OP_SECINFO): true, XdrToI32(OP_SETATTR): true, XdrToI32(OP_SETCLIENTID): true, XdrToI32(OP_SETCLIENTID_CONFIRM): true, XdrToI32(OP_VERIFY): true, XdrToI32(OP_WRITE): true, XdrToI32(OP_RELEASE_LOCKOWNER): true, XdrToI32(OP_CREATE_SESSION): true, XdrToI32(OP_DESTROY_SESSION): true, XdrToI32(OP_FREE_STATEID): true, XdrToI32(OP_GET_DIR_DELEGATION): true, XdrToI32(OP_GETDEVICEINFO): true, XdrToI32(OP_GETDEVICELIST): true, XdrToI32(OP_LAYOUTCOMMIT): true, XdrToI32(OP_LAYOUTGET): true, XdrToI32(OP_LAYOUTRETURN): true, XdrToI32(OP_SECINFO_NO_NAME): true, XdrToI32(OP_SEQUENCE): true, XdrToI32(OP_SET_SSV): true, XdrToI32(OP_TEST_STATEID): true, XdrToI32(OP_WANT_DELEGATION): true, XdrToI32(OP_DESTROY_CLIENTID): true, XdrToI32(OP_RECLAIM_COMPLETE): true, XdrToI32(OP_ILLEGAL): true, } func (_ Nfs_argop4) XdrValidTags() map[int32]bool { return _XdrTags_Nfs_argop4 } func (u *Nfs_argop4) Opaccess() *ACCESS4args { switch u.Argop { case OP_ACCESS: if v, ok := u.U.(*ACCESS4args); ok { return v } else { var zero ACCESS4args u.U = &zero return &zero } default: XdrPanic("Nfs_argop4.Opaccess accessed when Argop == %v", u.Argop) return nil } } func (u *Nfs_argop4) Opclose() *CLOSE4args { switch u.Argop { case OP_CLOSE: if v, ok := u.U.(*CLOSE4args); ok { return v } else { var zero CLOSE4args u.U = &zero return &zero } default: XdrPanic("Nfs_argop4.Opclose accessed when Argop == %v", u.Argop) return nil } } func (u *Nfs_argop4) Opcommit() *COMMIT4args { switch u.Argop { case OP_COMMIT: if v, ok := u.U.(*COMMIT4args); ok { return v } else { var zero COMMIT4args u.U = &zero return &zero } default: XdrPanic("Nfs_argop4.Opcommit accessed when Argop == %v", u.Argop) return nil } } func (u *Nfs_argop4) Opcreate() *CREATE4args { switch u.Argop { case OP_CREATE: if v, ok := u.U.(*CREATE4args); ok { return v } else { var zero CREATE4args u.U = &zero return &zero } default: XdrPanic("Nfs_argop4.Opcreate accessed when Argop == %v", u.Argop) return nil } } func (u *Nfs_argop4) Opdelegpurge() *DELEGPURGE4args { switch u.Argop { case OP_DELEGPURGE: if v, ok := u.U.(*DELEGPURGE4args); ok { return v } else { var zero DELEGPURGE4args u.U = &zero return &zero } default: XdrPanic("Nfs_argop4.Opdelegpurge accessed when Argop == %v", u.Argop) return nil } } func (u *Nfs_argop4) Opdelegreturn() *DELEGRETURN4args { switch u.Argop { case OP_DELEGRETURN: if v, ok := u.U.(*DELEGRETURN4args); ok { return v } else { var zero DELEGRETURN4args u.U = &zero return &zero } default: XdrPanic("Nfs_argop4.Opdelegreturn accessed when Argop == %v", u.Argop) return nil } } func (u *Nfs_argop4) Opgetattr() *GETATTR4args { switch u.Argop { case OP_GETATTR: if v, ok := u.U.(*GETATTR4args); ok { return v } else { var zero GETATTR4args u.U = &zero return &zero } default: XdrPanic("Nfs_argop4.Opgetattr accessed when Argop == %v", u.Argop) return nil } } func (u *Nfs_argop4) Oplink() *LINK4args { switch u.Argop { case OP_LINK: if v, ok := u.U.(*LINK4args); ok { return v } else { var zero LINK4args u.U = &zero return &zero } default: XdrPanic("Nfs_argop4.Oplink accessed when Argop == %v", u.Argop) return nil } } func (u *Nfs_argop4) Oplock() *LOCK4args { switch u.Argop { case OP_LOCK: if v, ok := u.U.(*LOCK4args); ok { return v } else { var zero LOCK4args u.U = &zero return &zero } default: XdrPanic("Nfs_argop4.Oplock accessed when Argop == %v", u.Argop) return nil } } func (u *Nfs_argop4) Oplockt() *LOCKT4args { switch u.Argop { case OP_LOCKT: if v, ok := u.U.(*LOCKT4args); ok { return v } else { var zero LOCKT4args u.U = &zero return &zero } default: XdrPanic("Nfs_argop4.Oplockt accessed when Argop == %v", u.Argop) return nil } } func (u *Nfs_argop4) Oplocku() *LOCKU4args { switch u.Argop { case OP_LOCKU: if v, ok := u.U.(*LOCKU4args); ok { return v } else { var zero LOCKU4args u.U = &zero return &zero } default: XdrPanic("Nfs_argop4.Oplocku accessed when Argop == %v", u.Argop) return nil } } func (u *Nfs_argop4) Oplookup() *LOOKUP4args { switch u.Argop { case OP_LOOKUP: if v, ok := u.U.(*LOOKUP4args); ok { return v } else { var zero LOOKUP4args u.U = &zero return &zero } default: XdrPanic("Nfs_argop4.Oplookup accessed when Argop == %v", u.Argop) return nil } } func (u *Nfs_argop4) Opnverify() *NVERIFY4args { switch u.Argop { case OP_NVERIFY: if v, ok := u.U.(*NVERIFY4args); ok { return v } else { var zero NVERIFY4args u.U = &zero return &zero } default: XdrPanic("Nfs_argop4.Opnverify accessed when Argop == %v", u.Argop) return nil } } func (u *Nfs_argop4) Opopen() *OPEN4args { switch u.Argop { case OP_OPEN: if v, ok := u.U.(*OPEN4args); ok { return v } else { var zero OPEN4args u.U = &zero return &zero } default: XdrPanic("Nfs_argop4.Opopen accessed when Argop == %v", u.Argop) return nil } } func (u *Nfs_argop4) Opopenattr() *OPENATTR4args { switch u.Argop { case OP_OPENATTR: if v, ok := u.U.(*OPENATTR4args); ok { return v } else { var zero OPENATTR4args u.U = &zero return &zero } default: XdrPanic("Nfs_argop4.Opopenattr accessed when Argop == %v", u.Argop) return nil } } func (u *Nfs_argop4) Opopen_confirm() *OPEN_CONFIRM4args { switch u.Argop { case OP_OPEN_CONFIRM: if v, ok := u.U.(*OPEN_CONFIRM4args); ok { return v } else { var zero OPEN_CONFIRM4args u.U = &zero return &zero } default: XdrPanic("Nfs_argop4.Opopen_confirm accessed when Argop == %v", u.Argop) return nil } } func (u *Nfs_argop4) Opopen_downgrade() *OPEN_DOWNGRADE4args { switch u.Argop { case OP_OPEN_DOWNGRADE: if v, ok := u.U.(*OPEN_DOWNGRADE4args); ok { return v } else { var zero OPEN_DOWNGRADE4args u.U = &zero return &zero } default: XdrPanic("Nfs_argop4.Opopen_downgrade accessed when Argop == %v", u.Argop) return nil } } func (u *Nfs_argop4) Opputfh() *PUTFH4args { switch u.Argop { case OP_PUTFH: if v, ok := u.U.(*PUTFH4args); ok { return v } else { var zero PUTFH4args u.U = &zero return &zero } default: XdrPanic("Nfs_argop4.Opputfh accessed when Argop == %v", u.Argop) return nil } } func (u *Nfs_argop4) Opread() *READ4args { switch u.Argop { case OP_READ: if v, ok := u.U.(*READ4args); ok { return v } else { var zero READ4args u.U = &zero return &zero } default: XdrPanic("Nfs_argop4.Opread accessed when Argop == %v", u.Argop) return nil } } func (u *Nfs_argop4) Opreaddir() *READDIR4args { switch u.Argop { case OP_READDIR: if v, ok := u.U.(*READDIR4args); ok { return v } else { var zero READDIR4args u.U = &zero return &zero } default: XdrPanic("Nfs_argop4.Opreaddir accessed when Argop == %v", u.Argop) return nil } } func (u *Nfs_argop4) Opremove() *REMOVE4args { switch u.Argop { case OP_REMOVE: if v, ok := u.U.(*REMOVE4args); ok { return v } else { var zero REMOVE4args u.U = &zero return &zero } default: XdrPanic("Nfs_argop4.Opremove accessed when Argop == %v", u.Argop) return nil } } func (u *Nfs_argop4) Oprename() *RENAME4args { switch u.Argop { case OP_RENAME: if v, ok := u.U.(*RENAME4args); ok { return v } else { var zero RENAME4args u.U = &zero return &zero } default: XdrPanic("Nfs_argop4.Oprename accessed when Argop == %v", u.Argop) return nil } } func (u *Nfs_argop4) Oprenew() *RENEW4args { switch u.Argop { case OP_RENEW: if v, ok := u.U.(*RENEW4args); ok { return v } else { var zero RENEW4args u.U = &zero return &zero } default: XdrPanic("Nfs_argop4.Oprenew accessed when Argop == %v", u.Argop) return nil } } func (u *Nfs_argop4) Opsecinfo() *SECINFO4args { switch u.Argop { case OP_SECINFO: if v, ok := u.U.(*SECINFO4args); ok { return v } else { var zero SECINFO4args u.U = &zero return &zero } default: XdrPanic("Nfs_argop4.Opsecinfo accessed when Argop == %v", u.Argop) return nil } } func (u *Nfs_argop4) Opsetattr() *SETATTR4args { switch u.Argop { case OP_SETATTR: if v, ok := u.U.(*SETATTR4args); ok { return v } else { var zero SETATTR4args u.U = &zero return &zero } default: XdrPanic("Nfs_argop4.Opsetattr accessed when Argop == %v", u.Argop) return nil } } func (u *Nfs_argop4) Opsetclientid() *SETCLIENTID4args { switch u.Argop { case OP_SETCLIENTID: if v, ok := u.U.(*SETCLIENTID4args); ok { return v } else { var zero SETCLIENTID4args u.U = &zero return &zero } default: XdrPanic("Nfs_argop4.Opsetclientid accessed when Argop == %v", u.Argop) return nil } } func (u *Nfs_argop4) Opsetclientid_confirm() *SETCLIENTID_CONFIRM4args { switch u.Argop { case OP_SETCLIENTID_CONFIRM: if v, ok := u.U.(*SETCLIENTID_CONFIRM4args); ok { return v } else { var zero SETCLIENTID_CONFIRM4args u.U = &zero return &zero } default: XdrPanic("Nfs_argop4.Opsetclientid_confirm accessed when Argop == %v", u.Argop) return nil } } func (u *Nfs_argop4) Opverify() *VERIFY4args { switch u.Argop { case OP_VERIFY: if v, ok := u.U.(*VERIFY4args); ok { return v } else { var zero VERIFY4args u.U = &zero return &zero } default: XdrPanic("Nfs_argop4.Opverify accessed when Argop == %v", u.Argop) return nil } } func (u *Nfs_argop4) Opwrite() *WRITE4args { switch u.Argop { case OP_WRITE: if v, ok := u.U.(*WRITE4args); ok { return v } else { var zero WRITE4args u.U = &zero return &zero } default: XdrPanic("Nfs_argop4.Opwrite accessed when Argop == %v", u.Argop) return nil } } func (u *Nfs_argop4) Oprelease_lockowner() *RELEASE_LOCKOWNER4args { switch u.Argop { case OP_RELEASE_LOCKOWNER: if v, ok := u.U.(*RELEASE_LOCKOWNER4args); ok { return v } else { var zero RELEASE_LOCKOWNER4args u.U = &zero return &zero } default: XdrPanic("Nfs_argop4.Oprelease_lockowner accessed when Argop == %v", u.Argop) return nil } } func (u *Nfs_argop4) Opcreatesession() *CREATE_SESSION4args { switch u.Argop { case OP_CREATE_SESSION: if v, ok := u.U.(*CREATE_SESSION4args); ok { return v } else { var zero CREATE_SESSION4args u.U = &zero return &zero } default: XdrPanic("Nfs_argop4.Opcreatesession accessed when Argop == %v", u.Argop) return nil } } func (u *Nfs_argop4) Opdestroysession() *DESTROY_SESSION4args { switch u.Argop { case OP_DESTROY_SESSION: if v, ok := u.U.(*DESTROY_SESSION4args); ok { return v } else { var zero DESTROY_SESSION4args u.U = &zero return &zero } default: XdrPanic("Nfs_argop4.Opdestroysession accessed when Argop == %v", u.Argop) return nil } } func (u *Nfs_argop4) Opfreestateid() *FREE_STATEID4args { switch u.Argop { case OP_FREE_STATEID: if v, ok := u.U.(*FREE_STATEID4args); ok { return v } else { var zero FREE_STATEID4args u.U = &zero return &zero } default: XdrPanic("Nfs_argop4.Opfreestateid accessed when Argop == %v", u.Argop) return nil } } func (u *Nfs_argop4) Opgetdirdelegation() *GET_DIR_DELEGATION4args { switch u.Argop { case OP_GET_DIR_DELEGATION: if v, ok := u.U.(*GET_DIR_DELEGATION4args); ok { return v } else { var zero GET_DIR_DELEGATION4args u.U = &zero return &zero } default: XdrPanic("Nfs_argop4.Opgetdirdelegation accessed when Argop == %v", u.Argop) return nil } } func (u *Nfs_argop4) Opgetdeviceinfo() *GETDEVICEINFO4args { switch u.Argop { case OP_GETDEVICEINFO: if v, ok := u.U.(*GETDEVICEINFO4args); ok { return v } else { var zero GETDEVICEINFO4args u.U = &zero return &zero } default: XdrPanic("Nfs_argop4.Opgetdeviceinfo accessed when Argop == %v", u.Argop) return nil } } func (u *Nfs_argop4) Opgetdevicelist() *GETDEVICELIST4args { switch u.Argop { case OP_GETDEVICELIST: if v, ok := u.U.(*GETDEVICELIST4args); ok { return v } else { var zero GETDEVICELIST4args u.U = &zero return &zero } default: XdrPanic("Nfs_argop4.Opgetdevicelist accessed when Argop == %v", u.Argop) return nil } } func (u *Nfs_argop4) Oplayoutcommit() *LAYOUTCOMMIT4args { switch u.Argop { case OP_LAYOUTCOMMIT: if v, ok := u.U.(*LAYOUTCOMMIT4args); ok { return v } else { var zero LAYOUTCOMMIT4args u.U = &zero return &zero } default: XdrPanic("Nfs_argop4.Oplayoutcommit accessed when Argop == %v", u.Argop) return nil } } func (u *Nfs_argop4) Oplayoutget() *LAYOUTGET4args { switch u.Argop { case OP_LAYOUTGET: if v, ok := u.U.(*LAYOUTGET4args); ok { return v } else { var zero LAYOUTGET4args u.U = &zero return &zero } default: XdrPanic("Nfs_argop4.Oplayoutget accessed when Argop == %v", u.Argop) return nil } } func (u *Nfs_argop4) Oplayoutreturn() *LAYOUTRETURN4args { switch u.Argop { case OP_LAYOUTRETURN: if v, ok := u.U.(*LAYOUTRETURN4args); ok { return v } else { var zero LAYOUTRETURN4args u.U = &zero return &zero } default: XdrPanic("Nfs_argop4.Oplayoutreturn accessed when Argop == %v", u.Argop) return nil } } func (u *Nfs_argop4) Opsecinfononame() *SECINFO_NO_NAME4args { switch u.Argop { case OP_SECINFO_NO_NAME: if v, ok := u.U.(*SECINFO_NO_NAME4args); ok { return v } else { var zero SECINFO_NO_NAME4args u.U = &zero return &zero } default: XdrPanic("Nfs_argop4.Opsecinfononame accessed when Argop == %v", u.Argop) return nil } } func (u *Nfs_argop4) Opsequence() *SEQUENCE4args { switch u.Argop { case OP_SEQUENCE: if v, ok := u.U.(*SEQUENCE4args); ok { return v } else { var zero SEQUENCE4args u.U = &zero return &zero } default: XdrPanic("Nfs_argop4.Opsequence accessed when Argop == %v", u.Argop) return nil } } func (u *Nfs_argop4) Opsetssv() *SET_SSV4args { switch u.Argop { case OP_SET_SSV: if v, ok := u.U.(*SET_SSV4args); ok { return v } else { var zero SET_SSV4args u.U = &zero return &zero } default: XdrPanic("Nfs_argop4.Opsetssv accessed when Argop == %v", u.Argop) return nil } } func (u *Nfs_argop4) Opteststateid() *TEST_STATEID4args { switch u.Argop { case OP_TEST_STATEID: if v, ok := u.U.(*TEST_STATEID4args); ok { return v } else { var zero TEST_STATEID4args u.U = &zero return &zero } default: XdrPanic("Nfs_argop4.Opteststateid accessed when Argop == %v", u.Argop) return nil } } func (u *Nfs_argop4) Opwantdelegation() *WANT_DELEGATION4args { switch u.Argop { case OP_WANT_DELEGATION: if v, ok := u.U.(*WANT_DELEGATION4args); ok { return v } else { var zero WANT_DELEGATION4args u.U = &zero return &zero } default: XdrPanic("Nfs_argop4.Opwantdelegation accessed when Argop == %v", u.Argop) return nil } } func (u *Nfs_argop4) Opdestroyclientid() *DESTROY_CLIENTID4args { switch u.Argop { case OP_DESTROY_CLIENTID: if v, ok := u.U.(*DESTROY_CLIENTID4args); ok { return v } else { var zero DESTROY_CLIENTID4args u.U = &zero return &zero } default: XdrPanic("Nfs_argop4.Opdestroyclientid accessed when Argop == %v", u.Argop) return nil } } func (u *Nfs_argop4) Opreclaimcomplete() *RECLAIM_COMPLETE4args { switch u.Argop { case OP_RECLAIM_COMPLETE: if v, ok := u.U.(*RECLAIM_COMPLETE4args); ok { return v } else { var zero RECLAIM_COMPLETE4args u.U = &zero return &zero } default: XdrPanic("Nfs_argop4.Opreclaimcomplete accessed when Argop == %v", u.Argop) return nil } } func (u Nfs_argop4) XdrValid() bool { switch u.Argop { case OP_ACCESS,OP_CLOSE,OP_COMMIT,OP_CREATE,OP_DELEGPURGE,OP_DELEGRETURN,OP_GETATTR,OP_GETFH,OP_LINK,OP_LOCK,OP_LOCKT,OP_LOCKU,OP_LOOKUP,OP_LOOKUPP,OP_NVERIFY,OP_OPEN,OP_OPENATTR,OP_OPEN_CONFIRM,OP_OPEN_DOWNGRADE,OP_PUTFH,OP_PUTPUBFH,OP_PUTROOTFH,OP_READ,OP_READDIR,OP_READLINK,OP_REMOVE,OP_RENAME,OP_RENEW,OP_RESTOREFH,OP_SAVEFH,OP_SECINFO,OP_SETATTR,OP_SETCLIENTID,OP_SETCLIENTID_CONFIRM,OP_VERIFY,OP_WRITE,OP_RELEASE_LOCKOWNER,OP_CREATE_SESSION,OP_DESTROY_SESSION,OP_FREE_STATEID,OP_GET_DIR_DELEGATION,OP_GETDEVICEINFO,OP_GETDEVICELIST,OP_LAYOUTCOMMIT,OP_LAYOUTGET,OP_LAYOUTRETURN,OP_SECINFO_NO_NAME,OP_SEQUENCE,OP_SET_SSV,OP_TEST_STATEID,OP_WANT_DELEGATION,OP_DESTROY_CLIENTID,OP_RECLAIM_COMPLETE,OP_ILLEGAL: return true } return false } func (u *Nfs_argop4) XdrUnionTag() XdrNum32 { return XDR_Nfs_opnum4(&u.Argop) } func (u *Nfs_argop4) XdrUnionTagName() string { return "Argop" } func (u *Nfs_argop4) XdrUnionBody() XdrType { switch u.Argop { case OP_ACCESS: return XDR_ACCESS4args(u.Opaccess()) case OP_CLOSE: return XDR_CLOSE4args(u.Opclose()) case OP_COMMIT: return XDR_COMMIT4args(u.Opcommit()) case OP_CREATE: return XDR_CREATE4args(u.Opcreate()) case OP_DELEGPURGE: return XDR_DELEGPURGE4args(u.Opdelegpurge()) case OP_DELEGRETURN: return XDR_DELEGRETURN4args(u.Opdelegreturn()) case OP_GETATTR: return XDR_GETATTR4args(u.Opgetattr()) case OP_GETFH: return nil case OP_LINK: return XDR_LINK4args(u.Oplink()) case OP_LOCK: return XDR_LOCK4args(u.Oplock()) case OP_LOCKT: return XDR_LOCKT4args(u.Oplockt()) case OP_LOCKU: return XDR_LOCKU4args(u.Oplocku()) case OP_LOOKUP: return XDR_LOOKUP4args(u.Oplookup()) case OP_LOOKUPP: return nil case OP_NVERIFY: return XDR_NVERIFY4args(u.Opnverify()) case OP_OPEN: return XDR_OPEN4args(u.Opopen()) case OP_OPENATTR: return XDR_OPENATTR4args(u.Opopenattr()) case OP_OPEN_CONFIRM: return XDR_OPEN_CONFIRM4args(u.Opopen_confirm()) case OP_OPEN_DOWNGRADE: return XDR_OPEN_DOWNGRADE4args(u.Opopen_downgrade()) case OP_PUTFH: return XDR_PUTFH4args(u.Opputfh()) case OP_PUTPUBFH: return nil case OP_PUTROOTFH: return nil case OP_READ: return XDR_READ4args(u.Opread()) case OP_READDIR: return XDR_READDIR4args(u.Opreaddir()) case OP_READLINK: return nil case OP_REMOVE: return XDR_REMOVE4args(u.Opremove()) case OP_RENAME: return XDR_RENAME4args(u.Oprename()) case OP_RENEW: return XDR_RENEW4args(u.Oprenew()) case OP_RESTOREFH: return nil case OP_SAVEFH: return nil case OP_SECINFO: return XDR_SECINFO4args(u.Opsecinfo()) case OP_SETATTR: return XDR_SETATTR4args(u.Opsetattr()) case OP_SETCLIENTID: return XDR_SETCLIENTID4args(u.Opsetclientid()) case OP_SETCLIENTID_CONFIRM: return XDR_SETCLIENTID_CONFIRM4args(u.Opsetclientid_confirm()) case OP_VERIFY: return XDR_VERIFY4args(u.Opverify()) case OP_WRITE: return XDR_WRITE4args(u.Opwrite()) case OP_RELEASE_LOCKOWNER: return XDR_RELEASE_LOCKOWNER4args(u.Oprelease_lockowner()) case OP_CREATE_SESSION: return XDR_CREATE_SESSION4args(u.Opcreatesession()) case OP_DESTROY_SESSION: return XDR_DESTROY_SESSION4args(u.Opdestroysession()) case OP_FREE_STATEID: return XDR_FREE_STATEID4args(u.Opfreestateid()) case OP_GET_DIR_DELEGATION: return XDR_GET_DIR_DELEGATION4args(u.Opgetdirdelegation()) case OP_GETDEVICEINFO: return XDR_GETDEVICEINFO4args(u.Opgetdeviceinfo()) case OP_GETDEVICELIST: return XDR_GETDEVICELIST4args(u.Opgetdevicelist()) case OP_LAYOUTCOMMIT: return XDR_LAYOUTCOMMIT4args(u.Oplayoutcommit()) case OP_LAYOUTGET: return XDR_LAYOUTGET4args(u.Oplayoutget()) case OP_LAYOUTRETURN: return XDR_LAYOUTRETURN4args(u.Oplayoutreturn()) case OP_SECINFO_NO_NAME: return XDR_SECINFO_NO_NAME4args(u.Opsecinfononame()) case OP_SEQUENCE: return XDR_SEQUENCE4args(u.Opsequence()) case OP_SET_SSV: return XDR_SET_SSV4args(u.Opsetssv()) case OP_TEST_STATEID: return XDR_TEST_STATEID4args(u.Opteststateid()) case OP_WANT_DELEGATION: return XDR_WANT_DELEGATION4args(u.Opwantdelegation()) case OP_DESTROY_CLIENTID: return XDR_DESTROY_CLIENTID4args(u.Opdestroyclientid()) case OP_RECLAIM_COMPLETE: return XDR_RECLAIM_COMPLETE4args(u.Opreclaimcomplete()) case OP_ILLEGAL: return nil } return nil } func (u *Nfs_argop4) XdrUnionBodyName() string { switch u.Argop { case OP_ACCESS: return "Opaccess" case OP_CLOSE: return "Opclose" case OP_COMMIT: return "Opcommit" case OP_CREATE: return "Opcreate" case OP_DELEGPURGE: return "Opdelegpurge" case OP_DELEGRETURN: return "Opdelegreturn" case OP_GETATTR: return "Opgetattr" case OP_GETFH: return "" case OP_LINK: return "Oplink" case OP_LOCK: return "Oplock" case OP_LOCKT: return "Oplockt" case OP_LOCKU: return "Oplocku" case OP_LOOKUP: return "Oplookup" case OP_LOOKUPP: return "" case OP_NVERIFY: return "Opnverify" case OP_OPEN: return "Opopen" case OP_OPENATTR: return "Opopenattr" case OP_OPEN_CONFIRM: return "Opopen_confirm" case OP_OPEN_DOWNGRADE: return "Opopen_downgrade" case OP_PUTFH: return "Opputfh" case OP_PUTPUBFH: return "" case OP_PUTROOTFH: return "" case OP_READ: return "Opread" case OP_READDIR: return "Opreaddir" case OP_READLINK: return "" case OP_REMOVE: return "Opremove" case OP_RENAME: return "Oprename" case OP_RENEW: return "Oprenew" case OP_RESTOREFH: return "" case OP_SAVEFH: return "" case OP_SECINFO: return "Opsecinfo" case OP_SETATTR: return "Opsetattr" case OP_SETCLIENTID: return "Opsetclientid" case OP_SETCLIENTID_CONFIRM: return "Opsetclientid_confirm" case OP_VERIFY: return "Opverify" case OP_WRITE: return "Opwrite" case OP_RELEASE_LOCKOWNER: return "Oprelease_lockowner" case OP_CREATE_SESSION: return "Opcreatesession" case OP_DESTROY_SESSION: return "Opdestroysession" case OP_FREE_STATEID: return "Opfreestateid" case OP_GET_DIR_DELEGATION: return "Opgetdirdelegation" case OP_GETDEVICEINFO: return "Opgetdeviceinfo" case OP_GETDEVICELIST: return "Opgetdevicelist" case OP_LAYOUTCOMMIT: return "Oplayoutcommit" case OP_LAYOUTGET: return "Oplayoutget" case OP_LAYOUTRETURN: return "Oplayoutreturn" case OP_SECINFO_NO_NAME: return "Opsecinfononame" case OP_SEQUENCE: return "Opsequence" case OP_SET_SSV: return "Opsetssv" case OP_TEST_STATEID: return "Opteststateid" case OP_WANT_DELEGATION: return "Opwantdelegation" case OP_DESTROY_CLIENTID: return "Opdestroyclientid" case OP_RECLAIM_COMPLETE: return "Opreclaimcomplete" case OP_ILLEGAL: return "" } return "" } type XdrType_Nfs_argop4 = *Nfs_argop4 func (v *Nfs_argop4) XdrPointer() interface{} { return v } func (Nfs_argop4) XdrTypeName() string { return "Nfs_argop4" } func (v Nfs_argop4) XdrValue() interface{} { return v } func (v *Nfs_argop4) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (u *Nfs_argop4) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } XDR_Nfs_opnum4(&u.Argop).XdrMarshal(x, x.Sprintf("%sargop", name)) switch u.Argop { case OP_ACCESS: x.Marshal(x.Sprintf("%sopaccess", name), XDR_ACCESS4args(u.Opaccess())) return case OP_CLOSE: x.Marshal(x.Sprintf("%sopclose", name), XDR_CLOSE4args(u.Opclose())) return case OP_COMMIT: x.Marshal(x.Sprintf("%sopcommit", name), XDR_COMMIT4args(u.Opcommit())) return case OP_CREATE: x.Marshal(x.Sprintf("%sopcreate", name), XDR_CREATE4args(u.Opcreate())) return case OP_DELEGPURGE: x.Marshal(x.Sprintf("%sopdelegpurge", name), XDR_DELEGPURGE4args(u.Opdelegpurge())) return case OP_DELEGRETURN: x.Marshal(x.Sprintf("%sopdelegreturn", name), XDR_DELEGRETURN4args(u.Opdelegreturn())) return case OP_GETATTR: x.Marshal(x.Sprintf("%sopgetattr", name), XDR_GETATTR4args(u.Opgetattr())) return case OP_GETFH: return case OP_LINK: x.Marshal(x.Sprintf("%soplink", name), XDR_LINK4args(u.Oplink())) return case OP_LOCK: x.Marshal(x.Sprintf("%soplock", name), XDR_LOCK4args(u.Oplock())) return case OP_LOCKT: x.Marshal(x.Sprintf("%soplockt", name), XDR_LOCKT4args(u.Oplockt())) return case OP_LOCKU: x.Marshal(x.Sprintf("%soplocku", name), XDR_LOCKU4args(u.Oplocku())) return case OP_LOOKUP: x.Marshal(x.Sprintf("%soplookup", name), XDR_LOOKUP4args(u.Oplookup())) return case OP_LOOKUPP: return case OP_NVERIFY: x.Marshal(x.Sprintf("%sopnverify", name), XDR_NVERIFY4args(u.Opnverify())) return case OP_OPEN: x.Marshal(x.Sprintf("%sopopen", name), XDR_OPEN4args(u.Opopen())) return case OP_OPENATTR: x.Marshal(x.Sprintf("%sopopenattr", name), XDR_OPENATTR4args(u.Opopenattr())) return case OP_OPEN_CONFIRM: x.Marshal(x.Sprintf("%sopopen_confirm", name), XDR_OPEN_CONFIRM4args(u.Opopen_confirm())) return case OP_OPEN_DOWNGRADE: x.Marshal(x.Sprintf("%sopopen_downgrade", name), XDR_OPEN_DOWNGRADE4args(u.Opopen_downgrade())) return case OP_PUTFH: x.Marshal(x.Sprintf("%sopputfh", name), XDR_PUTFH4args(u.Opputfh())) return case OP_PUTPUBFH: return case OP_PUTROOTFH: return case OP_READ: x.Marshal(x.Sprintf("%sopread", name), XDR_READ4args(u.Opread())) return case OP_READDIR: x.Marshal(x.Sprintf("%sopreaddir", name), XDR_READDIR4args(u.Opreaddir())) return case OP_READLINK: return case OP_REMOVE: x.Marshal(x.Sprintf("%sopremove", name), XDR_REMOVE4args(u.Opremove())) return case OP_RENAME: x.Marshal(x.Sprintf("%soprename", name), XDR_RENAME4args(u.Oprename())) return case OP_RENEW: x.Marshal(x.Sprintf("%soprenew", name), XDR_RENEW4args(u.Oprenew())) return case OP_RESTOREFH: return case OP_SAVEFH: return case OP_SECINFO: x.Marshal(x.Sprintf("%sopsecinfo", name), XDR_SECINFO4args(u.Opsecinfo())) return case OP_SETATTR: x.Marshal(x.Sprintf("%sopsetattr", name), XDR_SETATTR4args(u.Opsetattr())) return case OP_SETCLIENTID: x.Marshal(x.Sprintf("%sopsetclientid", name), XDR_SETCLIENTID4args(u.Opsetclientid())) return case OP_SETCLIENTID_CONFIRM: x.Marshal(x.Sprintf("%sopsetclientid_confirm", name), XDR_SETCLIENTID_CONFIRM4args(u.Opsetclientid_confirm())) return case OP_VERIFY: x.Marshal(x.Sprintf("%sopverify", name), XDR_VERIFY4args(u.Opverify())) return case OP_WRITE: x.Marshal(x.Sprintf("%sopwrite", name), XDR_WRITE4args(u.Opwrite())) return case OP_RELEASE_LOCKOWNER: x.Marshal(x.Sprintf("%soprelease_lockowner", name), XDR_RELEASE_LOCKOWNER4args(u.Oprelease_lockowner())) return case OP_CREATE_SESSION: x.Marshal(x.Sprintf("%sopcreatesession", name), XDR_CREATE_SESSION4args(u.Opcreatesession())) return case OP_DESTROY_SESSION: x.Marshal(x.Sprintf("%sopdestroysession", name), XDR_DESTROY_SESSION4args(u.Opdestroysession())) return case OP_FREE_STATEID: x.Marshal(x.Sprintf("%sopfreestateid", name), XDR_FREE_STATEID4args(u.Opfreestateid())) return case OP_GET_DIR_DELEGATION: x.Marshal(x.Sprintf("%sopgetdirdelegation", name), XDR_GET_DIR_DELEGATION4args(u.Opgetdirdelegation())) return case OP_GETDEVICEINFO: x.Marshal(x.Sprintf("%sopgetdeviceinfo", name), XDR_GETDEVICEINFO4args(u.Opgetdeviceinfo())) return case OP_GETDEVICELIST: x.Marshal(x.Sprintf("%sopgetdevicelist", name), XDR_GETDEVICELIST4args(u.Opgetdevicelist())) return case OP_LAYOUTCOMMIT: x.Marshal(x.Sprintf("%soplayoutcommit", name), XDR_LAYOUTCOMMIT4args(u.Oplayoutcommit())) return case OP_LAYOUTGET: x.Marshal(x.Sprintf("%soplayoutget", name), XDR_LAYOUTGET4args(u.Oplayoutget())) return case OP_LAYOUTRETURN: x.Marshal(x.Sprintf("%soplayoutreturn", name), XDR_LAYOUTRETURN4args(u.Oplayoutreturn())) return case OP_SECINFO_NO_NAME: x.Marshal(x.Sprintf("%sopsecinfononame", name), XDR_SECINFO_NO_NAME4args(u.Opsecinfononame())) return case OP_SEQUENCE: x.Marshal(x.Sprintf("%sopsequence", name), XDR_SEQUENCE4args(u.Opsequence())) return case OP_SET_SSV: x.Marshal(x.Sprintf("%sopsetssv", name), XDR_SET_SSV4args(u.Opsetssv())) return case OP_TEST_STATEID: x.Marshal(x.Sprintf("%sopteststateid", name), XDR_TEST_STATEID4args(u.Opteststateid())) return case OP_WANT_DELEGATION: x.Marshal(x.Sprintf("%sopwantdelegation", name), XDR_WANT_DELEGATION4args(u.Opwantdelegation())) return case OP_DESTROY_CLIENTID: x.Marshal(x.Sprintf("%sopdestroyclientid", name), XDR_DESTROY_CLIENTID4args(u.Opdestroyclientid())) return case OP_RECLAIM_COMPLETE: x.Marshal(x.Sprintf("%sopreclaimcomplete", name), XDR_RECLAIM_COMPLETE4args(u.Opreclaimcomplete())) return case OP_ILLEGAL: return } XdrPanic("invalid Argop (%v) in Nfs_argop4", u.Argop) } func (v *Nfs_argop4) XdrInitialize() { var zero Nfs_opnum4 switch zero { case OP_ACCESS, OP_CLOSE, OP_COMMIT, OP_CREATE, OP_DELEGPURGE, OP_DELEGRETURN, OP_GETATTR, OP_GETFH, OP_LINK, OP_LOCK, OP_LOCKT, OP_LOCKU, OP_LOOKUP, OP_LOOKUPP, OP_NVERIFY, OP_OPEN, OP_OPENATTR, OP_OPEN_CONFIRM, OP_OPEN_DOWNGRADE, OP_PUTFH, OP_PUTPUBFH, OP_PUTROOTFH, OP_READ, OP_READDIR, OP_READLINK, OP_REMOVE, OP_RENAME, OP_RENEW, OP_RESTOREFH, OP_SAVEFH, OP_SECINFO, OP_SETATTR, OP_SETCLIENTID, OP_SETCLIENTID_CONFIRM, OP_VERIFY, OP_WRITE, OP_RELEASE_LOCKOWNER, OP_CREATE_SESSION, OP_DESTROY_SESSION, OP_FREE_STATEID, OP_GET_DIR_DELEGATION, OP_GETDEVICEINFO, OP_GETDEVICELIST, OP_LAYOUTCOMMIT, OP_LAYOUTGET, OP_LAYOUTRETURN, OP_SECINFO_NO_NAME, OP_SEQUENCE, OP_SET_SSV, OP_TEST_STATEID, OP_WANT_DELEGATION, OP_DESTROY_CLIENTID, OP_RECLAIM_COMPLETE, OP_ILLEGAL: default: if v.Argop == zero { v.Argop = OP_ACCESS } } } func XDR_Nfs_argop4(v *Nfs_argop4) *Nfs_argop4 { return v} var _XdrTags_Nfs_resop4 = map[int32]bool{ XdrToI32(OP_ACCESS): true, XdrToI32(OP_CLOSE): true, XdrToI32(OP_COMMIT): true, XdrToI32(OP_CREATE): true, XdrToI32(OP_DELEGPURGE): true, XdrToI32(OP_DELEGRETURN): true, XdrToI32(OP_GETATTR): true, XdrToI32(OP_GETFH): true, XdrToI32(OP_LINK): true, XdrToI32(OP_LOCK): true, XdrToI32(OP_LOCKT): true, XdrToI32(OP_LOCKU): true, XdrToI32(OP_LOOKUP): true, XdrToI32(OP_LOOKUPP): true, XdrToI32(OP_NVERIFY): true, XdrToI32(OP_OPEN): true, XdrToI32(OP_OPENATTR): true, XdrToI32(OP_OPEN_CONFIRM): true, XdrToI32(OP_OPEN_DOWNGRADE): true, XdrToI32(OP_PUTFH): true, XdrToI32(OP_PUTPUBFH): true, XdrToI32(OP_PUTROOTFH): true, XdrToI32(OP_READ): true, XdrToI32(OP_READDIR): true, XdrToI32(OP_READLINK): true, XdrToI32(OP_REMOVE): true, XdrToI32(OP_RENAME): true, XdrToI32(OP_RENEW): true, XdrToI32(OP_RESTOREFH): true, XdrToI32(OP_SAVEFH): true, XdrToI32(OP_SECINFO): true, XdrToI32(OP_SETATTR): true, XdrToI32(OP_SETCLIENTID): true, XdrToI32(OP_SETCLIENTID_CONFIRM): true, XdrToI32(OP_VERIFY): true, XdrToI32(OP_WRITE): true, XdrToI32(OP_RELEASE_LOCKOWNER): true, XdrToI32(OP_CREATE_SESSION): true, XdrToI32(OP_DESTROY_SESSION): true, XdrToI32(OP_FREE_STATEID): true, XdrToI32(OP_GET_DIR_DELEGATION): true, XdrToI32(OP_GETDEVICEINFO): true, XdrToI32(OP_GETDEVICELIST): true, XdrToI32(OP_LAYOUTCOMMIT): true, XdrToI32(OP_LAYOUTGET): true, XdrToI32(OP_LAYOUTRETURN): true, XdrToI32(OP_SECINFO_NO_NAME): true, XdrToI32(OP_SEQUENCE): true, XdrToI32(OP_SET_SSV): true, XdrToI32(OP_TEST_STATEID): true, XdrToI32(OP_WANT_DELEGATION): true, XdrToI32(OP_DESTROY_CLIENTID): true, XdrToI32(OP_RECLAIM_COMPLETE): true, XdrToI32(OP_ILLEGAL): true, } func (_ Nfs_resop4) XdrValidTags() map[int32]bool { return _XdrTags_Nfs_resop4 } func (u *Nfs_resop4) Opaccess() *ACCESS4res { switch u.Resop { case OP_ACCESS: if v, ok := u.U.(*ACCESS4res); ok { return v } else { var zero ACCESS4res u.U = &zero return &zero } default: XdrPanic("Nfs_resop4.Opaccess accessed when Resop == %v", u.Resop) return nil } } func (u *Nfs_resop4) Opclose() *CLOSE4res { switch u.Resop { case OP_CLOSE: if v, ok := u.U.(*CLOSE4res); ok { return v } else { var zero CLOSE4res u.U = &zero return &zero } default: XdrPanic("Nfs_resop4.Opclose accessed when Resop == %v", u.Resop) return nil } } func (u *Nfs_resop4) Opcommit() *COMMIT4res { switch u.Resop { case OP_COMMIT: if v, ok := u.U.(*COMMIT4res); ok { return v } else { var zero COMMIT4res u.U = &zero return &zero } default: XdrPanic("Nfs_resop4.Opcommit accessed when Resop == %v", u.Resop) return nil } } func (u *Nfs_resop4) Opcreate() *CREATE4res { switch u.Resop { case OP_CREATE: if v, ok := u.U.(*CREATE4res); ok { return v } else { var zero CREATE4res u.U = &zero return &zero } default: XdrPanic("Nfs_resop4.Opcreate accessed when Resop == %v", u.Resop) return nil } } func (u *Nfs_resop4) Opdelegpurge() *DELEGPURGE4res { switch u.Resop { case OP_DELEGPURGE: if v, ok := u.U.(*DELEGPURGE4res); ok { return v } else { var zero DELEGPURGE4res u.U = &zero return &zero } default: XdrPanic("Nfs_resop4.Opdelegpurge accessed when Resop == %v", u.Resop) return nil } } func (u *Nfs_resop4) Opdelegreturn() *DELEGRETURN4res { switch u.Resop { case OP_DELEGRETURN: if v, ok := u.U.(*DELEGRETURN4res); ok { return v } else { var zero DELEGRETURN4res u.U = &zero return &zero } default: XdrPanic("Nfs_resop4.Opdelegreturn accessed when Resop == %v", u.Resop) return nil } } func (u *Nfs_resop4) Opgetattr() *GETATTR4res { switch u.Resop { case OP_GETATTR: if v, ok := u.U.(*GETATTR4res); ok { return v } else { var zero GETATTR4res u.U = &zero return &zero } default: XdrPanic("Nfs_resop4.Opgetattr accessed when Resop == %v", u.Resop) return nil } } func (u *Nfs_resop4) Opgetfh() *GETFH4res { switch u.Resop { case OP_GETFH: if v, ok := u.U.(*GETFH4res); ok { return v } else { var zero GETFH4res u.U = &zero return &zero } default: XdrPanic("Nfs_resop4.Opgetfh accessed when Resop == %v", u.Resop) return nil } } func (u *Nfs_resop4) Oplink() *LINK4res { switch u.Resop { case OP_LINK: if v, ok := u.U.(*LINK4res); ok { return v } else { var zero LINK4res u.U = &zero return &zero } default: XdrPanic("Nfs_resop4.Oplink accessed when Resop == %v", u.Resop) return nil } } func (u *Nfs_resop4) Oplock() *LOCK4res { switch u.Resop { case OP_LOCK: if v, ok := u.U.(*LOCK4res); ok { return v } else { var zero LOCK4res u.U = &zero return &zero } default: XdrPanic("Nfs_resop4.Oplock accessed when Resop == %v", u.Resop) return nil } } func (u *Nfs_resop4) Oplockt() *LOCKT4res { switch u.Resop { case OP_LOCKT: if v, ok := u.U.(*LOCKT4res); ok { return v } else { var zero LOCKT4res u.U = &zero return &zero } default: XdrPanic("Nfs_resop4.Oplockt accessed when Resop == %v", u.Resop) return nil } } func (u *Nfs_resop4) Oplocku() *LOCKU4res { switch u.Resop { case OP_LOCKU: if v, ok := u.U.(*LOCKU4res); ok { return v } else { var zero LOCKU4res u.U = &zero return &zero } default: XdrPanic("Nfs_resop4.Oplocku accessed when Resop == %v", u.Resop) return nil } } func (u *Nfs_resop4) Oplookup() *LOOKUP4res { switch u.Resop { case OP_LOOKUP: if v, ok := u.U.(*LOOKUP4res); ok { return v } else { var zero LOOKUP4res u.U = &zero return &zero } default: XdrPanic("Nfs_resop4.Oplookup accessed when Resop == %v", u.Resop) return nil } } func (u *Nfs_resop4) Oplookupp() *LOOKUPP4res { switch u.Resop { case OP_LOOKUPP: if v, ok := u.U.(*LOOKUPP4res); ok { return v } else { var zero LOOKUPP4res u.U = &zero return &zero } default: XdrPanic("Nfs_resop4.Oplookupp accessed when Resop == %v", u.Resop) return nil } } func (u *Nfs_resop4) Opnverify() *NVERIFY4res { switch u.Resop { case OP_NVERIFY: if v, ok := u.U.(*NVERIFY4res); ok { return v } else { var zero NVERIFY4res u.U = &zero return &zero } default: XdrPanic("Nfs_resop4.Opnverify accessed when Resop == %v", u.Resop) return nil } } func (u *Nfs_resop4) Opopen() *OPEN4res { switch u.Resop { case OP_OPEN: if v, ok := u.U.(*OPEN4res); ok { return v } else { var zero OPEN4res u.U = &zero return &zero } default: XdrPanic("Nfs_resop4.Opopen accessed when Resop == %v", u.Resop) return nil } } func (u *Nfs_resop4) Opopenattr() *OPENATTR4res { switch u.Resop { case OP_OPENATTR: if v, ok := u.U.(*OPENATTR4res); ok { return v } else { var zero OPENATTR4res u.U = &zero return &zero } default: XdrPanic("Nfs_resop4.Opopenattr accessed when Resop == %v", u.Resop) return nil } } func (u *Nfs_resop4) Opopen_confirm() *OPEN_CONFIRM4res { switch u.Resop { case OP_OPEN_CONFIRM: if v, ok := u.U.(*OPEN_CONFIRM4res); ok { return v } else { var zero OPEN_CONFIRM4res u.U = &zero return &zero } default: XdrPanic("Nfs_resop4.Opopen_confirm accessed when Resop == %v", u.Resop) return nil } } func (u *Nfs_resop4) Opopen_downgrade() *OPEN_DOWNGRADE4res { switch u.Resop { case OP_OPEN_DOWNGRADE: if v, ok := u.U.(*OPEN_DOWNGRADE4res); ok { return v } else { var zero OPEN_DOWNGRADE4res u.U = &zero return &zero } default: XdrPanic("Nfs_resop4.Opopen_downgrade accessed when Resop == %v", u.Resop) return nil } } func (u *Nfs_resop4) Opputfh() *PUTFH4res { switch u.Resop { case OP_PUTFH: if v, ok := u.U.(*PUTFH4res); ok { return v } else { var zero PUTFH4res u.U = &zero return &zero } default: XdrPanic("Nfs_resop4.Opputfh accessed when Resop == %v", u.Resop) return nil } } func (u *Nfs_resop4) Opputpubfh() *PUTPUBFH4res { switch u.Resop { case OP_PUTPUBFH: if v, ok := u.U.(*PUTPUBFH4res); ok { return v } else { var zero PUTPUBFH4res u.U = &zero return &zero } default: XdrPanic("Nfs_resop4.Opputpubfh accessed when Resop == %v", u.Resop) return nil } } func (u *Nfs_resop4) Opputrootfh() *PUTROOTFH4res { switch u.Resop { case OP_PUTROOTFH: if v, ok := u.U.(*PUTROOTFH4res); ok { return v } else { var zero PUTROOTFH4res u.U = &zero return &zero } default: XdrPanic("Nfs_resop4.Opputrootfh accessed when Resop == %v", u.Resop) return nil } } func (u *Nfs_resop4) Opread() *READ4res { switch u.Resop { case OP_READ: if v, ok := u.U.(*READ4res); ok { return v } else { var zero READ4res u.U = &zero return &zero } default: XdrPanic("Nfs_resop4.Opread accessed when Resop == %v", u.Resop) return nil } } func (u *Nfs_resop4) Opreaddir() *READDIR4res { switch u.Resop { case OP_READDIR: if v, ok := u.U.(*READDIR4res); ok { return v } else { var zero READDIR4res u.U = &zero return &zero } default: XdrPanic("Nfs_resop4.Opreaddir accessed when Resop == %v", u.Resop) return nil } } func (u *Nfs_resop4) Opreadlink() *READLINK4res { switch u.Resop { case OP_READLINK: if v, ok := u.U.(*READLINK4res); ok { return v } else { var zero READLINK4res u.U = &zero return &zero } default: XdrPanic("Nfs_resop4.Opreadlink accessed when Resop == %v", u.Resop) return nil } } func (u *Nfs_resop4) Opremove() *REMOVE4res { switch u.Resop { case OP_REMOVE: if v, ok := u.U.(*REMOVE4res); ok { return v } else { var zero REMOVE4res u.U = &zero return &zero } default: XdrPanic("Nfs_resop4.Opremove accessed when Resop == %v", u.Resop) return nil } } func (u *Nfs_resop4) Oprename() *RENAME4res { switch u.Resop { case OP_RENAME: if v, ok := u.U.(*RENAME4res); ok { return v } else { var zero RENAME4res u.U = &zero return &zero } default: XdrPanic("Nfs_resop4.Oprename accessed when Resop == %v", u.Resop) return nil } } func (u *Nfs_resop4) Oprenew() *RENEW4res { switch u.Resop { case OP_RENEW: if v, ok := u.U.(*RENEW4res); ok { return v } else { var zero RENEW4res u.U = &zero return &zero } default: XdrPanic("Nfs_resop4.Oprenew accessed when Resop == %v", u.Resop) return nil } } func (u *Nfs_resop4) Oprestorefh() *RESTOREFH4res { switch u.Resop { case OP_RESTOREFH: if v, ok := u.U.(*RESTOREFH4res); ok { return v } else { var zero RESTOREFH4res u.U = &zero return &zero } default: XdrPanic("Nfs_resop4.Oprestorefh accessed when Resop == %v", u.Resop) return nil } } func (u *Nfs_resop4) Opsavefh() *SAVEFH4res { switch u.Resop { case OP_SAVEFH: if v, ok := u.U.(*SAVEFH4res); ok { return v } else { var zero SAVEFH4res u.U = &zero return &zero } default: XdrPanic("Nfs_resop4.Opsavefh accessed when Resop == %v", u.Resop) return nil } } func (u *Nfs_resop4) Opsecinfo() *SECINFO4res { switch u.Resop { case OP_SECINFO: if v, ok := u.U.(*SECINFO4res); ok { return v } else { var zero SECINFO4res u.U = &zero return &zero } default: XdrPanic("Nfs_resop4.Opsecinfo accessed when Resop == %v", u.Resop) return nil } } func (u *Nfs_resop4) Opsetattr() *SETATTR4res { switch u.Resop { case OP_SETATTR: if v, ok := u.U.(*SETATTR4res); ok { return v } else { var zero SETATTR4res u.U = &zero return &zero } default: XdrPanic("Nfs_resop4.Opsetattr accessed when Resop == %v", u.Resop) return nil } } func (u *Nfs_resop4) Opsetclientid() *SETCLIENTID4res { switch u.Resop { case OP_SETCLIENTID: if v, ok := u.U.(*SETCLIENTID4res); ok { return v } else { var zero SETCLIENTID4res u.U = &zero return &zero } default: XdrPanic("Nfs_resop4.Opsetclientid accessed when Resop == %v", u.Resop) return nil } } func (u *Nfs_resop4) Opsetclientid_confirm() *SETCLIENTID_CONFIRM4res { switch u.Resop { case OP_SETCLIENTID_CONFIRM: if v, ok := u.U.(*SETCLIENTID_CONFIRM4res); ok { return v } else { var zero SETCLIENTID_CONFIRM4res u.U = &zero return &zero } default: XdrPanic("Nfs_resop4.Opsetclientid_confirm accessed when Resop == %v", u.Resop) return nil } } func (u *Nfs_resop4) Opverify() *VERIFY4res { switch u.Resop { case OP_VERIFY: if v, ok := u.U.(*VERIFY4res); ok { return v } else { var zero VERIFY4res u.U = &zero return &zero } default: XdrPanic("Nfs_resop4.Opverify accessed when Resop == %v", u.Resop) return nil } } func (u *Nfs_resop4) Opwrite() *WRITE4res { switch u.Resop { case OP_WRITE: if v, ok := u.U.(*WRITE4res); ok { return v } else { var zero WRITE4res u.U = &zero return &zero } default: XdrPanic("Nfs_resop4.Opwrite accessed when Resop == %v", u.Resop) return nil } } func (u *Nfs_resop4) Oprelease_lockowner() *RELEASE_LOCKOWNER4res { switch u.Resop { case OP_RELEASE_LOCKOWNER: if v, ok := u.U.(*RELEASE_LOCKOWNER4res); ok { return v } else { var zero RELEASE_LOCKOWNER4res u.U = &zero return &zero } default: XdrPanic("Nfs_resop4.Oprelease_lockowner accessed when Resop == %v", u.Resop) return nil } } func (u *Nfs_resop4) Opcreatesession() *CREATE_SESSION4res { switch u.Resop { case OP_CREATE_SESSION: if v, ok := u.U.(*CREATE_SESSION4res); ok { return v } else { var zero CREATE_SESSION4res u.U = &zero return &zero } default: XdrPanic("Nfs_resop4.Opcreatesession accessed when Resop == %v", u.Resop) return nil } } func (u *Nfs_resop4) Opdestroysession() *DESTROY_SESSION4res { switch u.Resop { case OP_DESTROY_SESSION: if v, ok := u.U.(*DESTROY_SESSION4res); ok { return v } else { var zero DESTROY_SESSION4res u.U = &zero return &zero } default: XdrPanic("Nfs_resop4.Opdestroysession accessed when Resop == %v", u.Resop) return nil } } func (u *Nfs_resop4) Opfreestateid() *FREE_STATEID4res { switch u.Resop { case OP_FREE_STATEID: if v, ok := u.U.(*FREE_STATEID4res); ok { return v } else { var zero FREE_STATEID4res u.U = &zero return &zero } default: XdrPanic("Nfs_resop4.Opfreestateid accessed when Resop == %v", u.Resop) return nil } } func (u *Nfs_resop4) Opgetdirdelegation() *GET_DIR_DELEGATION4res { switch u.Resop { case OP_GET_DIR_DELEGATION: if v, ok := u.U.(*GET_DIR_DELEGATION4res); ok { return v } else { var zero GET_DIR_DELEGATION4res u.U = &zero return &zero } default: XdrPanic("Nfs_resop4.Opgetdirdelegation accessed when Resop == %v", u.Resop) return nil } } func (u *Nfs_resop4) Opgetdeviceinfo() *GETDEVICEINFO4res { switch u.Resop { case OP_GETDEVICEINFO: if v, ok := u.U.(*GETDEVICEINFO4res); ok { return v } else { var zero GETDEVICEINFO4res u.U = &zero return &zero } default: XdrPanic("Nfs_resop4.Opgetdeviceinfo accessed when Resop == %v", u.Resop) return nil } } func (u *Nfs_resop4) Opgetdevicelist() *GETDEVICELIST4res { switch u.Resop { case OP_GETDEVICELIST: if v, ok := u.U.(*GETDEVICELIST4res); ok { return v } else { var zero GETDEVICELIST4res u.U = &zero return &zero } default: XdrPanic("Nfs_resop4.Opgetdevicelist accessed when Resop == %v", u.Resop) return nil } } func (u *Nfs_resop4) Oplayoutcommit() *LAYOUTCOMMIT4res { switch u.Resop { case OP_LAYOUTCOMMIT: if v, ok := u.U.(*LAYOUTCOMMIT4res); ok { return v } else { var zero LAYOUTCOMMIT4res u.U = &zero return &zero } default: XdrPanic("Nfs_resop4.Oplayoutcommit accessed when Resop == %v", u.Resop) return nil } } func (u *Nfs_resop4) Oplayoutget() *LAYOUTGET4res { switch u.Resop { case OP_LAYOUTGET: if v, ok := u.U.(*LAYOUTGET4res); ok { return v } else { var zero LAYOUTGET4res u.U = &zero return &zero } default: XdrPanic("Nfs_resop4.Oplayoutget accessed when Resop == %v", u.Resop) return nil } } func (u *Nfs_resop4) Oplayoutreturn() *LAYOUTRETURN4res { switch u.Resop { case OP_LAYOUTRETURN: if v, ok := u.U.(*LAYOUTRETURN4res); ok { return v } else { var zero LAYOUTRETURN4res u.U = &zero return &zero } default: XdrPanic("Nfs_resop4.Oplayoutreturn accessed when Resop == %v", u.Resop) return nil } } func (u *Nfs_resop4) Opsecinfononame() *SECINFO_NO_NAME4res { switch u.Resop { case OP_SECINFO_NO_NAME: if v, ok := u.U.(*SECINFO_NO_NAME4res); ok { return v } else { var zero SECINFO_NO_NAME4res u.U = &zero return &zero } default: XdrPanic("Nfs_resop4.Opsecinfononame accessed when Resop == %v", u.Resop) return nil } } func (u *Nfs_resop4) Opsequence() *SEQUENCE4res { switch u.Resop { case OP_SEQUENCE: if v, ok := u.U.(*SEQUENCE4res); ok { return v } else { var zero SEQUENCE4res u.U = &zero return &zero } default: XdrPanic("Nfs_resop4.Opsequence accessed when Resop == %v", u.Resop) return nil } } func (u *Nfs_resop4) Opsetssv() *SET_SSV4res { switch u.Resop { case OP_SET_SSV: if v, ok := u.U.(*SET_SSV4res); ok { return v } else { var zero SET_SSV4res u.U = &zero return &zero } default: XdrPanic("Nfs_resop4.Opsetssv accessed when Resop == %v", u.Resop) return nil } } func (u *Nfs_resop4) Opteststateid() *TEST_STATEID4res { switch u.Resop { case OP_TEST_STATEID: if v, ok := u.U.(*TEST_STATEID4res); ok { return v } else { var zero TEST_STATEID4res u.U = &zero return &zero } default: XdrPanic("Nfs_resop4.Opteststateid accessed when Resop == %v", u.Resop) return nil } } func (u *Nfs_resop4) Opwantdelegation() *WANT_DELEGATION4res { switch u.Resop { case OP_WANT_DELEGATION: if v, ok := u.U.(*WANT_DELEGATION4res); ok { return v } else { var zero WANT_DELEGATION4res u.U = &zero return &zero } default: XdrPanic("Nfs_resop4.Opwantdelegation accessed when Resop == %v", u.Resop) return nil } } func (u *Nfs_resop4) Opdestroyclientid() *DESTROY_CLIENTID4res { switch u.Resop { case OP_DESTROY_CLIENTID: if v, ok := u.U.(*DESTROY_CLIENTID4res); ok { return v } else { var zero DESTROY_CLIENTID4res u.U = &zero return &zero } default: XdrPanic("Nfs_resop4.Opdestroyclientid accessed when Resop == %v", u.Resop) return nil } } func (u *Nfs_resop4) Opreclaimcomplete() *RECLAIM_COMPLETE4res { switch u.Resop { case OP_RECLAIM_COMPLETE: if v, ok := u.U.(*RECLAIM_COMPLETE4res); ok { return v } else { var zero RECLAIM_COMPLETE4res u.U = &zero return &zero } default: XdrPanic("Nfs_resop4.Opreclaimcomplete accessed when Resop == %v", u.Resop) return nil } } func (u *Nfs_resop4) Opillegal() *ILLEGAL4res { switch u.Resop { case OP_ILLEGAL: if v, ok := u.U.(*ILLEGAL4res); ok { return v } else { var zero ILLEGAL4res u.U = &zero return &zero } default: XdrPanic("Nfs_resop4.Opillegal accessed when Resop == %v", u.Resop) return nil } } func (u Nfs_resop4) XdrValid() bool { switch u.Resop { case OP_ACCESS,OP_CLOSE,OP_COMMIT,OP_CREATE,OP_DELEGPURGE,OP_DELEGRETURN,OP_GETATTR,OP_GETFH,OP_LINK,OP_LOCK,OP_LOCKT,OP_LOCKU,OP_LOOKUP,OP_LOOKUPP,OP_NVERIFY,OP_OPEN,OP_OPENATTR,OP_OPEN_CONFIRM,OP_OPEN_DOWNGRADE,OP_PUTFH,OP_PUTPUBFH,OP_PUTROOTFH,OP_READ,OP_READDIR,OP_READLINK,OP_REMOVE,OP_RENAME,OP_RENEW,OP_RESTOREFH,OP_SAVEFH,OP_SECINFO,OP_SETATTR,OP_SETCLIENTID,OP_SETCLIENTID_CONFIRM,OP_VERIFY,OP_WRITE,OP_RELEASE_LOCKOWNER,OP_CREATE_SESSION,OP_DESTROY_SESSION,OP_FREE_STATEID,OP_GET_DIR_DELEGATION,OP_GETDEVICEINFO,OP_GETDEVICELIST,OP_LAYOUTCOMMIT,OP_LAYOUTGET,OP_LAYOUTRETURN,OP_SECINFO_NO_NAME,OP_SEQUENCE,OP_SET_SSV,OP_TEST_STATEID,OP_WANT_DELEGATION,OP_DESTROY_CLIENTID,OP_RECLAIM_COMPLETE,OP_ILLEGAL: return true } return false } func (u *Nfs_resop4) XdrUnionTag() XdrNum32 { return XDR_Nfs_opnum4(&u.Resop) } func (u *Nfs_resop4) XdrUnionTagName() string { return "Resop" } func (u *Nfs_resop4) XdrUnionBody() XdrType { switch u.Resop { case OP_ACCESS: return XDR_ACCESS4res(u.Opaccess()) case OP_CLOSE: return XDR_CLOSE4res(u.Opclose()) case OP_COMMIT: return XDR_COMMIT4res(u.Opcommit()) case OP_CREATE: return XDR_CREATE4res(u.Opcreate()) case OP_DELEGPURGE: return XDR_DELEGPURGE4res(u.Opdelegpurge()) case OP_DELEGRETURN: return XDR_DELEGRETURN4res(u.Opdelegreturn()) case OP_GETATTR: return XDR_GETATTR4res(u.Opgetattr()) case OP_GETFH: return XDR_GETFH4res(u.Opgetfh()) case OP_LINK: return XDR_LINK4res(u.Oplink()) case OP_LOCK: return XDR_LOCK4res(u.Oplock()) case OP_LOCKT: return XDR_LOCKT4res(u.Oplockt()) case OP_LOCKU: return XDR_LOCKU4res(u.Oplocku()) case OP_LOOKUP: return XDR_LOOKUP4res(u.Oplookup()) case OP_LOOKUPP: return XDR_LOOKUPP4res(u.Oplookupp()) case OP_NVERIFY: return XDR_NVERIFY4res(u.Opnverify()) case OP_OPEN: return XDR_OPEN4res(u.Opopen()) case OP_OPENATTR: return XDR_OPENATTR4res(u.Opopenattr()) case OP_OPEN_CONFIRM: return XDR_OPEN_CONFIRM4res(u.Opopen_confirm()) case OP_OPEN_DOWNGRADE: return XDR_OPEN_DOWNGRADE4res(u.Opopen_downgrade()) case OP_PUTFH: return XDR_PUTFH4res(u.Opputfh()) case OP_PUTPUBFH: return XDR_PUTPUBFH4res(u.Opputpubfh()) case OP_PUTROOTFH: return XDR_PUTROOTFH4res(u.Opputrootfh()) case OP_READ: return XDR_READ4res(u.Opread()) case OP_READDIR: return XDR_READDIR4res(u.Opreaddir()) case OP_READLINK: return XDR_READLINK4res(u.Opreadlink()) case OP_REMOVE: return XDR_REMOVE4res(u.Opremove()) case OP_RENAME: return XDR_RENAME4res(u.Oprename()) case OP_RENEW: return XDR_RENEW4res(u.Oprenew()) case OP_RESTOREFH: return XDR_RESTOREFH4res(u.Oprestorefh()) case OP_SAVEFH: return XDR_SAVEFH4res(u.Opsavefh()) case OP_SECINFO: return XDR_SECINFO4res(u.Opsecinfo()) case OP_SETATTR: return XDR_SETATTR4res(u.Opsetattr()) case OP_SETCLIENTID: return XDR_SETCLIENTID4res(u.Opsetclientid()) case OP_SETCLIENTID_CONFIRM: return XDR_SETCLIENTID_CONFIRM4res(u.Opsetclientid_confirm()) case OP_VERIFY: return XDR_VERIFY4res(u.Opverify()) case OP_WRITE: return XDR_WRITE4res(u.Opwrite()) case OP_RELEASE_LOCKOWNER: return XDR_RELEASE_LOCKOWNER4res(u.Oprelease_lockowner()) case OP_CREATE_SESSION: return XDR_CREATE_SESSION4res(u.Opcreatesession()) case OP_DESTROY_SESSION: return XDR_DESTROY_SESSION4res(u.Opdestroysession()) case OP_FREE_STATEID: return XDR_FREE_STATEID4res(u.Opfreestateid()) case OP_GET_DIR_DELEGATION: return XDR_GET_DIR_DELEGATION4res(u.Opgetdirdelegation()) case OP_GETDEVICEINFO: return XDR_GETDEVICEINFO4res(u.Opgetdeviceinfo()) case OP_GETDEVICELIST: return XDR_GETDEVICELIST4res(u.Opgetdevicelist()) case OP_LAYOUTCOMMIT: return XDR_LAYOUTCOMMIT4res(u.Oplayoutcommit()) case OP_LAYOUTGET: return XDR_LAYOUTGET4res(u.Oplayoutget()) case OP_LAYOUTRETURN: return XDR_LAYOUTRETURN4res(u.Oplayoutreturn()) case OP_SECINFO_NO_NAME: return XDR_SECINFO_NO_NAME4res(u.Opsecinfononame()) case OP_SEQUENCE: return XDR_SEQUENCE4res(u.Opsequence()) case OP_SET_SSV: return XDR_SET_SSV4res(u.Opsetssv()) case OP_TEST_STATEID: return XDR_TEST_STATEID4res(u.Opteststateid()) case OP_WANT_DELEGATION: return XDR_WANT_DELEGATION4res(u.Opwantdelegation()) case OP_DESTROY_CLIENTID: return XDR_DESTROY_CLIENTID4res(u.Opdestroyclientid()) case OP_RECLAIM_COMPLETE: return XDR_RECLAIM_COMPLETE4res(u.Opreclaimcomplete()) case OP_ILLEGAL: return XDR_ILLEGAL4res(u.Opillegal()) } return nil } func (u *Nfs_resop4) XdrUnionBodyName() string { switch u.Resop { case OP_ACCESS: return "Opaccess" case OP_CLOSE: return "Opclose" case OP_COMMIT: return "Opcommit" case OP_CREATE: return "Opcreate" case OP_DELEGPURGE: return "Opdelegpurge" case OP_DELEGRETURN: return "Opdelegreturn" case OP_GETATTR: return "Opgetattr" case OP_GETFH: return "Opgetfh" case OP_LINK: return "Oplink" case OP_LOCK: return "Oplock" case OP_LOCKT: return "Oplockt" case OP_LOCKU: return "Oplocku" case OP_LOOKUP: return "Oplookup" case OP_LOOKUPP: return "Oplookupp" case OP_NVERIFY: return "Opnverify" case OP_OPEN: return "Opopen" case OP_OPENATTR: return "Opopenattr" case OP_OPEN_CONFIRM: return "Opopen_confirm" case OP_OPEN_DOWNGRADE: return "Opopen_downgrade" case OP_PUTFH: return "Opputfh" case OP_PUTPUBFH: return "Opputpubfh" case OP_PUTROOTFH: return "Opputrootfh" case OP_READ: return "Opread" case OP_READDIR: return "Opreaddir" case OP_READLINK: return "Opreadlink" case OP_REMOVE: return "Opremove" case OP_RENAME: return "Oprename" case OP_RENEW: return "Oprenew" case OP_RESTOREFH: return "Oprestorefh" case OP_SAVEFH: return "Opsavefh" case OP_SECINFO: return "Opsecinfo" case OP_SETATTR: return "Opsetattr" case OP_SETCLIENTID: return "Opsetclientid" case OP_SETCLIENTID_CONFIRM: return "Opsetclientid_confirm" case OP_VERIFY: return "Opverify" case OP_WRITE: return "Opwrite" case OP_RELEASE_LOCKOWNER: return "Oprelease_lockowner" case OP_CREATE_SESSION: return "Opcreatesession" case OP_DESTROY_SESSION: return "Opdestroysession" case OP_FREE_STATEID: return "Opfreestateid" case OP_GET_DIR_DELEGATION: return "Opgetdirdelegation" case OP_GETDEVICEINFO: return "Opgetdeviceinfo" case OP_GETDEVICELIST: return "Opgetdevicelist" case OP_LAYOUTCOMMIT: return "Oplayoutcommit" case OP_LAYOUTGET: return "Oplayoutget" case OP_LAYOUTRETURN: return "Oplayoutreturn" case OP_SECINFO_NO_NAME: return "Opsecinfononame" case OP_SEQUENCE: return "Opsequence" case OP_SET_SSV: return "Opsetssv" case OP_TEST_STATEID: return "Opteststateid" case OP_WANT_DELEGATION: return "Opwantdelegation" case OP_DESTROY_CLIENTID: return "Opdestroyclientid" case OP_RECLAIM_COMPLETE: return "Opreclaimcomplete" case OP_ILLEGAL: return "Opillegal" } return "" } type XdrType_Nfs_resop4 = *Nfs_resop4 func (v *Nfs_resop4) XdrPointer() interface{} { return v } func (Nfs_resop4) XdrTypeName() string { return "Nfs_resop4" } func (v Nfs_resop4) XdrValue() interface{} { return v } func (v *Nfs_resop4) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (u *Nfs_resop4) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } XDR_Nfs_opnum4(&u.Resop).XdrMarshal(x, x.Sprintf("%sresop", name)) switch u.Resop { case OP_ACCESS: x.Marshal(x.Sprintf("%sopaccess", name), XDR_ACCESS4res(u.Opaccess())) return case OP_CLOSE: x.Marshal(x.Sprintf("%sopclose", name), XDR_CLOSE4res(u.Opclose())) return case OP_COMMIT: x.Marshal(x.Sprintf("%sopcommit", name), XDR_COMMIT4res(u.Opcommit())) return case OP_CREATE: x.Marshal(x.Sprintf("%sopcreate", name), XDR_CREATE4res(u.Opcreate())) return case OP_DELEGPURGE: x.Marshal(x.Sprintf("%sopdelegpurge", name), XDR_DELEGPURGE4res(u.Opdelegpurge())) return case OP_DELEGRETURN: x.Marshal(x.Sprintf("%sopdelegreturn", name), XDR_DELEGRETURN4res(u.Opdelegreturn())) return case OP_GETATTR: x.Marshal(x.Sprintf("%sopgetattr", name), XDR_GETATTR4res(u.Opgetattr())) return case OP_GETFH: x.Marshal(x.Sprintf("%sopgetfh", name), XDR_GETFH4res(u.Opgetfh())) return case OP_LINK: x.Marshal(x.Sprintf("%soplink", name), XDR_LINK4res(u.Oplink())) return case OP_LOCK: x.Marshal(x.Sprintf("%soplock", name), XDR_LOCK4res(u.Oplock())) return case OP_LOCKT: x.Marshal(x.Sprintf("%soplockt", name), XDR_LOCKT4res(u.Oplockt())) return case OP_LOCKU: x.Marshal(x.Sprintf("%soplocku", name), XDR_LOCKU4res(u.Oplocku())) return case OP_LOOKUP: x.Marshal(x.Sprintf("%soplookup", name), XDR_LOOKUP4res(u.Oplookup())) return case OP_LOOKUPP: x.Marshal(x.Sprintf("%soplookupp", name), XDR_LOOKUPP4res(u.Oplookupp())) return case OP_NVERIFY: x.Marshal(x.Sprintf("%sopnverify", name), XDR_NVERIFY4res(u.Opnverify())) return case OP_OPEN: x.Marshal(x.Sprintf("%sopopen", name), XDR_OPEN4res(u.Opopen())) return case OP_OPENATTR: x.Marshal(x.Sprintf("%sopopenattr", name), XDR_OPENATTR4res(u.Opopenattr())) return case OP_OPEN_CONFIRM: x.Marshal(x.Sprintf("%sopopen_confirm", name), XDR_OPEN_CONFIRM4res(u.Opopen_confirm())) return case OP_OPEN_DOWNGRADE: x.Marshal(x.Sprintf("%sopopen_downgrade", name), XDR_OPEN_DOWNGRADE4res(u.Opopen_downgrade())) return case OP_PUTFH: x.Marshal(x.Sprintf("%sopputfh", name), XDR_PUTFH4res(u.Opputfh())) return case OP_PUTPUBFH: x.Marshal(x.Sprintf("%sopputpubfh", name), XDR_PUTPUBFH4res(u.Opputpubfh())) return case OP_PUTROOTFH: x.Marshal(x.Sprintf("%sopputrootfh", name), XDR_PUTROOTFH4res(u.Opputrootfh())) return case OP_READ: x.Marshal(x.Sprintf("%sopread", name), XDR_READ4res(u.Opread())) return case OP_READDIR: x.Marshal(x.Sprintf("%sopreaddir", name), XDR_READDIR4res(u.Opreaddir())) return case OP_READLINK: x.Marshal(x.Sprintf("%sopreadlink", name), XDR_READLINK4res(u.Opreadlink())) return case OP_REMOVE: x.Marshal(x.Sprintf("%sopremove", name), XDR_REMOVE4res(u.Opremove())) return case OP_RENAME: x.Marshal(x.Sprintf("%soprename", name), XDR_RENAME4res(u.Oprename())) return case OP_RENEW: x.Marshal(x.Sprintf("%soprenew", name), XDR_RENEW4res(u.Oprenew())) return case OP_RESTOREFH: x.Marshal(x.Sprintf("%soprestorefh", name), XDR_RESTOREFH4res(u.Oprestorefh())) return case OP_SAVEFH: x.Marshal(x.Sprintf("%sopsavefh", name), XDR_SAVEFH4res(u.Opsavefh())) return case OP_SECINFO: x.Marshal(x.Sprintf("%sopsecinfo", name), XDR_SECINFO4res(u.Opsecinfo())) return case OP_SETATTR: x.Marshal(x.Sprintf("%sopsetattr", name), XDR_SETATTR4res(u.Opsetattr())) return case OP_SETCLIENTID: x.Marshal(x.Sprintf("%sopsetclientid", name), XDR_SETCLIENTID4res(u.Opsetclientid())) return case OP_SETCLIENTID_CONFIRM: x.Marshal(x.Sprintf("%sopsetclientid_confirm", name), XDR_SETCLIENTID_CONFIRM4res(u.Opsetclientid_confirm())) return case OP_VERIFY: x.Marshal(x.Sprintf("%sopverify", name), XDR_VERIFY4res(u.Opverify())) return case OP_WRITE: x.Marshal(x.Sprintf("%sopwrite", name), XDR_WRITE4res(u.Opwrite())) return case OP_RELEASE_LOCKOWNER: x.Marshal(x.Sprintf("%soprelease_lockowner", name), XDR_RELEASE_LOCKOWNER4res(u.Oprelease_lockowner())) return case OP_CREATE_SESSION: x.Marshal(x.Sprintf("%sopcreatesession", name), XDR_CREATE_SESSION4res(u.Opcreatesession())) return case OP_DESTROY_SESSION: x.Marshal(x.Sprintf("%sopdestroysession", name), XDR_DESTROY_SESSION4res(u.Opdestroysession())) return case OP_FREE_STATEID: x.Marshal(x.Sprintf("%sopfreestateid", name), XDR_FREE_STATEID4res(u.Opfreestateid())) return case OP_GET_DIR_DELEGATION: x.Marshal(x.Sprintf("%sopgetdirdelegation", name), XDR_GET_DIR_DELEGATION4res(u.Opgetdirdelegation())) return case OP_GETDEVICEINFO: x.Marshal(x.Sprintf("%sopgetdeviceinfo", name), XDR_GETDEVICEINFO4res(u.Opgetdeviceinfo())) return case OP_GETDEVICELIST: x.Marshal(x.Sprintf("%sopgetdevicelist", name), XDR_GETDEVICELIST4res(u.Opgetdevicelist())) return case OP_LAYOUTCOMMIT: x.Marshal(x.Sprintf("%soplayoutcommit", name), XDR_LAYOUTCOMMIT4res(u.Oplayoutcommit())) return case OP_LAYOUTGET: x.Marshal(x.Sprintf("%soplayoutget", name), XDR_LAYOUTGET4res(u.Oplayoutget())) return case OP_LAYOUTRETURN: x.Marshal(x.Sprintf("%soplayoutreturn", name), XDR_LAYOUTRETURN4res(u.Oplayoutreturn())) return case OP_SECINFO_NO_NAME: x.Marshal(x.Sprintf("%sopsecinfononame", name), XDR_SECINFO_NO_NAME4res(u.Opsecinfononame())) return case OP_SEQUENCE: x.Marshal(x.Sprintf("%sopsequence", name), XDR_SEQUENCE4res(u.Opsequence())) return case OP_SET_SSV: x.Marshal(x.Sprintf("%sopsetssv", name), XDR_SET_SSV4res(u.Opsetssv())) return case OP_TEST_STATEID: x.Marshal(x.Sprintf("%sopteststateid", name), XDR_TEST_STATEID4res(u.Opteststateid())) return case OP_WANT_DELEGATION: x.Marshal(x.Sprintf("%sopwantdelegation", name), XDR_WANT_DELEGATION4res(u.Opwantdelegation())) return case OP_DESTROY_CLIENTID: x.Marshal(x.Sprintf("%sopdestroyclientid", name), XDR_DESTROY_CLIENTID4res(u.Opdestroyclientid())) return case OP_RECLAIM_COMPLETE: x.Marshal(x.Sprintf("%sopreclaimcomplete", name), XDR_RECLAIM_COMPLETE4res(u.Opreclaimcomplete())) return case OP_ILLEGAL: x.Marshal(x.Sprintf("%sopillegal", name), XDR_ILLEGAL4res(u.Opillegal())) return } XdrPanic("invalid Resop (%v) in Nfs_resop4", u.Resop) } func (v *Nfs_resop4) XdrInitialize() { var zero Nfs_opnum4 switch zero { case OP_ACCESS, OP_CLOSE, OP_COMMIT, OP_CREATE, OP_DELEGPURGE, OP_DELEGRETURN, OP_GETATTR, OP_GETFH, OP_LINK, OP_LOCK, OP_LOCKT, OP_LOCKU, OP_LOOKUP, OP_LOOKUPP, OP_NVERIFY, OP_OPEN, OP_OPENATTR, OP_OPEN_CONFIRM, OP_OPEN_DOWNGRADE, OP_PUTFH, OP_PUTPUBFH, OP_PUTROOTFH, OP_READ, OP_READDIR, OP_READLINK, OP_REMOVE, OP_RENAME, OP_RENEW, OP_RESTOREFH, OP_SAVEFH, OP_SECINFO, OP_SETATTR, OP_SETCLIENTID, OP_SETCLIENTID_CONFIRM, OP_VERIFY, OP_WRITE, OP_RELEASE_LOCKOWNER, OP_CREATE_SESSION, OP_DESTROY_SESSION, OP_FREE_STATEID, OP_GET_DIR_DELEGATION, OP_GETDEVICEINFO, OP_GETDEVICELIST, OP_LAYOUTCOMMIT, OP_LAYOUTGET, OP_LAYOUTRETURN, OP_SECINFO_NO_NAME, OP_SEQUENCE, OP_SET_SSV, OP_TEST_STATEID, OP_WANT_DELEGATION, OP_DESTROY_CLIENTID, OP_RECLAIM_COMPLETE, OP_ILLEGAL: default: if v.Resop == zero { v.Resop = OP_ACCESS } } } func XDR_Nfs_resop4(v *Nfs_resop4) *Nfs_resop4 { return v} type _XdrVec_unbounded_Nfs_argop4 []Nfs_argop4 func (_XdrVec_unbounded_Nfs_argop4) XdrBound() uint32 { const bound uint32 = 4294967295 // Force error if not const or doesn't fit return bound } func (_XdrVec_unbounded_Nfs_argop4) XdrCheckLen(length uint32) { if length > uint32(4294967295) { XdrPanic("_XdrVec_unbounded_Nfs_argop4 length %d exceeds bound 4294967295", length) } else if int(length) < 0 { XdrPanic("_XdrVec_unbounded_Nfs_argop4 length %d exceeds max int", length) } } func (v _XdrVec_unbounded_Nfs_argop4) GetVecLen() uint32 { return uint32(len(v)) } func (v *_XdrVec_unbounded_Nfs_argop4) SetVecLen(length uint32) { v.XdrCheckLen(length) if int(length) <= cap(*v) { if int(length) != len(*v) { *v = (*v)[:int(length)] } return } newcap := 2*cap(*v) if newcap < int(length) { // also catches overflow where 2*cap < 0 newcap = int(length) } else if bound := uint(4294967295); uint(newcap) > bound { if int(bound) < 0 { bound = ^uint(0) >> 1 } newcap = int(bound) } nv := make([]Nfs_argop4, int(length), newcap) copy(nv, *v) *v = nv } func (v *_XdrVec_unbounded_Nfs_argop4) XdrMarshalN(x XDR, name string, n uint32) { v.XdrCheckLen(n) for i := 0; i < int(n); i++ { if (i >= len(*v)) { v.SetVecLen(uint32(i+1)) } XDR_Nfs_argop4(&(*v)[i]).XdrMarshal(x, x.Sprintf("%s[%d]", name, i)) } if int(n) < len(*v) { *v = (*v)[:int(n)] } } func (v *_XdrVec_unbounded_Nfs_argop4) XdrRecurse(x XDR, name string) { size := XdrSize{ Size: uint32(len(*v)), Bound: 4294967295 } x.Marshal(name, &size) v.XdrMarshalN(x, name, size.Size) } func (_XdrVec_unbounded_Nfs_argop4) XdrTypeName() string { return "Nfs_argop4<>" } func (v *_XdrVec_unbounded_Nfs_argop4) XdrPointer() interface{} { return (*[]Nfs_argop4)(v) } func (v _XdrVec_unbounded_Nfs_argop4) XdrValue() interface{} { return ([]Nfs_argop4)(v) } func (v *_XdrVec_unbounded_Nfs_argop4) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } type XdrType_COMPOUND4args = *COMPOUND4args func (v *COMPOUND4args) XdrPointer() interface{} { return v } func (COMPOUND4args) XdrTypeName() string { return "COMPOUND4args" } func (v COMPOUND4args) XdrValue() interface{} { return v } func (v *COMPOUND4args) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *COMPOUND4args) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%stag", name), XDR_Utf8str_cs(&v.Tag)) x.Marshal(x.Sprintf("%sminorversion", name), XDR_Uint32_t(&v.Minorversion)) x.Marshal(x.Sprintf("%sargarray", name), (*_XdrVec_unbounded_Nfs_argop4)(&v.Argarray)) } func XDR_COMPOUND4args(v *COMPOUND4args) *COMPOUND4args { return v } type _XdrVec_unbounded_Nfs_resop4 []Nfs_resop4 func (_XdrVec_unbounded_Nfs_resop4) XdrBound() uint32 { const bound uint32 = 4294967295 // Force error if not const or doesn't fit return bound } func (_XdrVec_unbounded_Nfs_resop4) XdrCheckLen(length uint32) { if length > uint32(4294967295) { XdrPanic("_XdrVec_unbounded_Nfs_resop4 length %d exceeds bound 4294967295", length) } else if int(length) < 0 { XdrPanic("_XdrVec_unbounded_Nfs_resop4 length %d exceeds max int", length) } } func (v _XdrVec_unbounded_Nfs_resop4) GetVecLen() uint32 { return uint32(len(v)) } func (v *_XdrVec_unbounded_Nfs_resop4) SetVecLen(length uint32) { v.XdrCheckLen(length) if int(length) <= cap(*v) { if int(length) != len(*v) { *v = (*v)[:int(length)] } return } newcap := 2*cap(*v) if newcap < int(length) { // also catches overflow where 2*cap < 0 newcap = int(length) } else if bound := uint(4294967295); uint(newcap) > bound { if int(bound) < 0 { bound = ^uint(0) >> 1 } newcap = int(bound) } nv := make([]Nfs_resop4, int(length), newcap) copy(nv, *v) *v = nv } func (v *_XdrVec_unbounded_Nfs_resop4) XdrMarshalN(x XDR, name string, n uint32) { v.XdrCheckLen(n) for i := 0; i < int(n); i++ { if (i >= len(*v)) { v.SetVecLen(uint32(i+1)) } XDR_Nfs_resop4(&(*v)[i]).XdrMarshal(x, x.Sprintf("%s[%d]", name, i)) } if int(n) < len(*v) { *v = (*v)[:int(n)] } } func (v *_XdrVec_unbounded_Nfs_resop4) XdrRecurse(x XDR, name string) { size := XdrSize{ Size: uint32(len(*v)), Bound: 4294967295 } x.Marshal(name, &size) v.XdrMarshalN(x, name, size.Size) } func (_XdrVec_unbounded_Nfs_resop4) XdrTypeName() string { return "Nfs_resop4<>" } func (v *_XdrVec_unbounded_Nfs_resop4) XdrPointer() interface{} { return (*[]Nfs_resop4)(v) } func (v _XdrVec_unbounded_Nfs_resop4) XdrValue() interface{} { return ([]Nfs_resop4)(v) } func (v *_XdrVec_unbounded_Nfs_resop4) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } type XdrType_COMPOUND4res = *COMPOUND4res func (v *COMPOUND4res) XdrPointer() interface{} { return v } func (COMPOUND4res) XdrTypeName() string { return "COMPOUND4res" } func (v COMPOUND4res) XdrValue() interface{} { return v } func (v *COMPOUND4res) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *COMPOUND4res) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%sstatus", name), XDR_Nfsstat4(&v.Status)) x.Marshal(x.Sprintf("%stag", name), XDR_Utf8str_cs(&v.Tag)) x.Marshal(x.Sprintf("%sresarray", name), (*_XdrVec_unbounded_Nfs_resop4)(&v.Resarray)) } func XDR_COMPOUND4res(v *COMPOUND4res) *COMPOUND4res { return v } type XdrProc_NFSPROC4_NULL struct { Arg *XdrVoid Res *XdrVoid } func (XdrProc_NFSPROC4_NULL) Prog() uint32 { return 100003 } func (XdrProc_NFSPROC4_NULL) Vers() uint32 { return 4 } func (XdrProc_NFSPROC4_NULL) Proc() uint32 { return 0 } func (XdrProc_NFSPROC4_NULL) ProgName() string { return "NFS4_PROGRAM" } func (XdrProc_NFSPROC4_NULL) VersName() string { return "NFS_V4" } func (XdrProc_NFSPROC4_NULL) ProcName() string { return "NFSPROC4_NULL" } func (p *XdrProc_NFSPROC4_NULL) GetArg() XdrType { if p.Arg == nil { p.Arg = new(XdrVoid) } return XDR_XdrVoid(p.Arg) } func (p *XdrProc_NFSPROC4_NULL) GetRes() XdrType { if p.Res == nil { p.Res = new(XdrVoid) } return XDR_XdrVoid(p.Res) } var _ XdrProc = &XdrProc_NFSPROC4_NULL{} // XXX type xdrSrvProc_NFSPROC4_NULL struct { XdrProc_NFSPROC4_NULL Srv NFS_V4 } func (p *xdrSrvProc_NFSPROC4_NULL) SetContext(ctx context.Context) { if wc, ok := p.Srv.(interface { WithContext(context.Context) NFS_V4 }); ok { p.Srv = wc.WithContext(ctx) } } func (p *xdrSrvProc_NFSPROC4_NULL) Do() { p.Srv.NFSPROC4_NULL() } var _ XdrSrvProc = &xdrSrvProc_NFSPROC4_NULL{} // XXX type XdrProc_NFSPROC4_COMPOUND struct { Arg *COMPOUND4args Res *COMPOUND4res } func (XdrProc_NFSPROC4_COMPOUND) Prog() uint32 { return 100003 } func (XdrProc_NFSPROC4_COMPOUND) Vers() uint32 { return 4 } func (XdrProc_NFSPROC4_COMPOUND) Proc() uint32 { return 1 } func (XdrProc_NFSPROC4_COMPOUND) ProgName() string { return "NFS4_PROGRAM" } func (XdrProc_NFSPROC4_COMPOUND) VersName() string { return "NFS_V4" } func (XdrProc_NFSPROC4_COMPOUND) ProcName() string { return "NFSPROC4_COMPOUND" } func (p *XdrProc_NFSPROC4_COMPOUND) GetArg() XdrType { if p.Arg == nil { p.Arg = new(COMPOUND4args) } return XDR_COMPOUND4args(p.Arg) } func (p *XdrProc_NFSPROC4_COMPOUND) GetRes() XdrType { if p.Res == nil { p.Res = new(COMPOUND4res) } return XDR_COMPOUND4res(p.Res) } var _ XdrProc = &XdrProc_NFSPROC4_COMPOUND{} // XXX type xdrSrvProc_NFSPROC4_COMPOUND struct { XdrProc_NFSPROC4_COMPOUND Srv NFS_V4 } func (p *xdrSrvProc_NFSPROC4_COMPOUND) SetContext(ctx context.Context) { if wc, ok := p.Srv.(interface { WithContext(context.Context) NFS_V4 }); ok { p.Srv = wc.WithContext(ctx) } } func (p *xdrSrvProc_NFSPROC4_COMPOUND) Do() { r := p.Srv.NFSPROC4_COMPOUND(*p.Arg) p.Res = &r } var _ XdrSrvProc = &xdrSrvProc_NFSPROC4_COMPOUND{} // XXX func init() { XdrCatalog[100003<<32|4] = func(p uint32) XdrProc { switch(p) { case 0: return &XdrProc_NFSPROC4_NULL{} case 1: return &XdrProc_NFSPROC4_COMPOUND{} } return nil } } type NFS_V4_Server struct { Srv NFS_V4 } func (NFS_V4_Server) Prog() uint32 { return 100003 } func (NFS_V4_Server) Vers() uint32 { return 4 } func (NFS_V4_Server) ProgName() string { return "NFS4_PROGRAM" } func (NFS_V4_Server) VersName() string { return "NFS_V4" } func (s NFS_V4_Server) GetProc(p uint32) XdrSrvProc { switch p { case 0: // NFSPROC4_NULL return &xdrSrvProc_NFSPROC4_NULL{ Srv: s.Srv } case 1: // NFSPROC4_COMPOUND return &xdrSrvProc_NFSPROC4_COMPOUND{ Srv: s.Srv } default: return nil } } var _ XdrSrv = NFS_V4_Server{} // XXX type NFS_V4_Client struct { Send XdrSendCall Ctx context.Context } var _ NFS_V4 = NFS_V4_Client{} // XXX func (c NFS_V4_Client) WithContext(ctx context.Context) NFS_V4 { c.Ctx = ctx return c } func (c NFS_V4_Client) NFSPROC4_NULL() { var proc XdrProc_NFSPROC4_NULL if err := c.Send.SendCall(c.Ctx, &proc); err != nil { panic(err) } } func (c NFS_V4_Client) NFSPROC4_COMPOUND(a1 COMPOUND4args) COMPOUND4res { var proc XdrProc_NFSPROC4_COMPOUND proc.Arg = &a1 if err := c.Send.SendCall(c.Ctx, &proc); err != nil { panic(err) } return *proc.Res } type XdrType_CB_GETATTR4args = *CB_GETATTR4args func (v *CB_GETATTR4args) XdrPointer() interface{} { return v } func (CB_GETATTR4args) XdrTypeName() string { return "CB_GETATTR4args" } func (v CB_GETATTR4args) XdrValue() interface{} { return v } func (v *CB_GETATTR4args) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *CB_GETATTR4args) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%sfh", name), XDR_Nfs_fh4(&v.Fh)) x.Marshal(x.Sprintf("%sattr_request", name), XDR_Bitmap4(&v.Attr_request)) } func XDR_CB_GETATTR4args(v *CB_GETATTR4args) *CB_GETATTR4args { return v } type XdrType_CB_GETATTR4resok = *CB_GETATTR4resok func (v *CB_GETATTR4resok) XdrPointer() interface{} { return v } func (CB_GETATTR4resok) XdrTypeName() string { return "CB_GETATTR4resok" } func (v CB_GETATTR4resok) XdrValue() interface{} { return v } func (v *CB_GETATTR4resok) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *CB_GETATTR4resok) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%sobj_attributes", name), XDR_Fattr4(&v.Obj_attributes)) } func XDR_CB_GETATTR4resok(v *CB_GETATTR4resok) *CB_GETATTR4resok { return v } func (u *CB_GETATTR4res) Resok4() *CB_GETATTR4resok { switch u.Status { case NFS4_OK: if v, ok := u.U.(*CB_GETATTR4resok); ok { return v } else { var zero CB_GETATTR4resok u.U = &zero return &zero } default: XdrPanic("CB_GETATTR4res.Resok4 accessed when Status == %v", u.Status) return nil } } func (u CB_GETATTR4res) XdrValid() bool { return true } func (u *CB_GETATTR4res) XdrUnionTag() XdrNum32 { return XDR_Nfsstat4(&u.Status) } func (u *CB_GETATTR4res) XdrUnionTagName() string { return "Status" } func (u *CB_GETATTR4res) XdrUnionBody() XdrType { switch u.Status { case NFS4_OK: return XDR_CB_GETATTR4resok(u.Resok4()) default: return nil } } func (u *CB_GETATTR4res) XdrUnionBodyName() string { switch u.Status { case NFS4_OK: return "Resok4" default: return "" } } type XdrType_CB_GETATTR4res = *CB_GETATTR4res func (v *CB_GETATTR4res) XdrPointer() interface{} { return v } func (CB_GETATTR4res) XdrTypeName() string { return "CB_GETATTR4res" } func (v CB_GETATTR4res) XdrValue() interface{} { return v } func (v *CB_GETATTR4res) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (u *CB_GETATTR4res) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } XDR_Nfsstat4(&u.Status).XdrMarshal(x, x.Sprintf("%sstatus", name)) switch u.Status { case NFS4_OK: x.Marshal(x.Sprintf("%sresok4", name), XDR_CB_GETATTR4resok(u.Resok4())) return default: return } } func XDR_CB_GETATTR4res(v *CB_GETATTR4res) *CB_GETATTR4res { return v} type XdrType_CB_RECALL4args = *CB_RECALL4args func (v *CB_RECALL4args) XdrPointer() interface{} { return v } func (CB_RECALL4args) XdrTypeName() string { return "CB_RECALL4args" } func (v CB_RECALL4args) XdrValue() interface{} { return v } func (v *CB_RECALL4args) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *CB_RECALL4args) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%sstateid", name), XDR_Stateid4(&v.Stateid)) x.Marshal(x.Sprintf("%struncate", name), XDR_bool(&v.Truncate)) x.Marshal(x.Sprintf("%sfh", name), XDR_Nfs_fh4(&v.Fh)) } func XDR_CB_RECALL4args(v *CB_RECALL4args) *CB_RECALL4args { return v } type XdrType_CB_RECALL4res = *CB_RECALL4res func (v *CB_RECALL4res) XdrPointer() interface{} { return v } func (CB_RECALL4res) XdrTypeName() string { return "CB_RECALL4res" } func (v CB_RECALL4res) XdrValue() interface{} { return v } func (v *CB_RECALL4res) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *CB_RECALL4res) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%sstatus", name), XDR_Nfsstat4(&v.Status)) } func XDR_CB_RECALL4res(v *CB_RECALL4res) *CB_RECALL4res { return v } type XdrType_CB_ILLEGAL4res = *CB_ILLEGAL4res func (v *CB_ILLEGAL4res) XdrPointer() interface{} { return v } func (CB_ILLEGAL4res) XdrTypeName() string { return "CB_ILLEGAL4res" } func (v CB_ILLEGAL4res) XdrValue() interface{} { return v } func (v *CB_ILLEGAL4res) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *CB_ILLEGAL4res) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%sstatus", name), XDR_Nfsstat4(&v.Status)) } func XDR_CB_ILLEGAL4res(v *CB_ILLEGAL4res) *CB_ILLEGAL4res { return v } var _XdrNames_Nfs_cb_opnum4 = map[int32]string{ int32(OP_CB_GETATTR): "OP_CB_GETATTR", int32(OP_CB_RECALL): "OP_CB_RECALL", int32(OP_CB_ILLEGAL): "OP_CB_ILLEGAL", } var _XdrValues_Nfs_cb_opnum4 = map[string]int32{ "OP_CB_GETATTR": int32(OP_CB_GETATTR), "OP_CB_RECALL": int32(OP_CB_RECALL), "OP_CB_ILLEGAL": int32(OP_CB_ILLEGAL), } func (Nfs_cb_opnum4) XdrEnumNames() map[int32]string { return _XdrNames_Nfs_cb_opnum4 } func (v Nfs_cb_opnum4) String() string { if s, ok := _XdrNames_Nfs_cb_opnum4[int32(v)]; ok { return s } return fmt.Sprintf("Nfs_cb_opnum4#%d", v) } func (v *Nfs_cb_opnum4) Scan(ss fmt.ScanState, _ rune) error { if tok, err := ss.Token(true, XdrSymChar); err != nil { return err } else { stok := string(tok) if val, ok := _XdrValues_Nfs_cb_opnum4[stok]; ok { *v = Nfs_cb_opnum4(val) return nil } else if stok == "Nfs_cb_opnum4" { if n, err := fmt.Fscanf(ss, "#%d", (*int32)(v)); n == 1 && err == nil { return nil } } return XdrError(fmt.Sprintf("%s is not a valid Nfs_cb_opnum4.", stok)) } } func (v Nfs_cb_opnum4) GetU32() uint32 { return uint32(v) } func (v *Nfs_cb_opnum4) SetU32(n uint32) { *v = Nfs_cb_opnum4(n) } func (v *Nfs_cb_opnum4) XdrPointer() interface{} { return v } func (Nfs_cb_opnum4) XdrTypeName() string { return "Nfs_cb_opnum4" } func (v Nfs_cb_opnum4) XdrValue() interface{} { return v } func (v *Nfs_cb_opnum4) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } type XdrType_Nfs_cb_opnum4 = *Nfs_cb_opnum4 func XDR_Nfs_cb_opnum4(v *Nfs_cb_opnum4) *Nfs_cb_opnum4 { return v } func (v *Nfs_cb_opnum4) XdrInitialize() { switch Nfs_cb_opnum4(0) { case OP_CB_GETATTR, OP_CB_RECALL, OP_CB_ILLEGAL: default: if *v == Nfs_cb_opnum4(0) { *v = OP_CB_GETATTR } } } var _XdrTags_Nfs_cb_argop4 = map[int32]bool{ XdrToI32(OP_CB_GETATTR): true, XdrToI32(OP_CB_RECALL): true, XdrToI32(OP_CB_ILLEGAL): true, } func (_ Nfs_cb_argop4) XdrValidTags() map[int32]bool { return _XdrTags_Nfs_cb_argop4 } func (u *Nfs_cb_argop4) Opcbgetattr() *CB_GETATTR4args { switch Nfs_cb_opnum4(u.Argop) { case OP_CB_GETATTR: if v, ok := u.U.(*CB_GETATTR4args); ok { return v } else { var zero CB_GETATTR4args u.U = &zero return &zero } default: XdrPanic("Nfs_cb_argop4.Opcbgetattr accessed when Argop == %v", u.Argop) return nil } } func (u *Nfs_cb_argop4) Opcbrecall() *CB_RECALL4args { switch Nfs_cb_opnum4(u.Argop) { case OP_CB_RECALL: if v, ok := u.U.(*CB_RECALL4args); ok { return v } else { var zero CB_RECALL4args u.U = &zero return &zero } default: XdrPanic("Nfs_cb_argop4.Opcbrecall accessed when Argop == %v", u.Argop) return nil } } func (u Nfs_cb_argop4) XdrValid() bool { switch Nfs_cb_opnum4(u.Argop) { case OP_CB_GETATTR,OP_CB_RECALL,OP_CB_ILLEGAL: return true } return false } func (u *Nfs_cb_argop4) XdrUnionTag() XdrNum32 { return XDR_uint32(&u.Argop) } func (u *Nfs_cb_argop4) XdrUnionTagName() string { return "Argop" } func (u *Nfs_cb_argop4) XdrUnionBody() XdrType { switch Nfs_cb_opnum4(u.Argop) { case OP_CB_GETATTR: return XDR_CB_GETATTR4args(u.Opcbgetattr()) case OP_CB_RECALL: return XDR_CB_RECALL4args(u.Opcbrecall()) case OP_CB_ILLEGAL: return nil } return nil } func (u *Nfs_cb_argop4) XdrUnionBodyName() string { switch Nfs_cb_opnum4(u.Argop) { case OP_CB_GETATTR: return "Opcbgetattr" case OP_CB_RECALL: return "Opcbrecall" case OP_CB_ILLEGAL: return "" } return "" } type XdrType_Nfs_cb_argop4 = *Nfs_cb_argop4 func (v *Nfs_cb_argop4) XdrPointer() interface{} { return v } func (Nfs_cb_argop4) XdrTypeName() string { return "Nfs_cb_argop4" } func (v Nfs_cb_argop4) XdrValue() interface{} { return v } func (v *Nfs_cb_argop4) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (u *Nfs_cb_argop4) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } XDR_uint32(&u.Argop).XdrMarshal(x, x.Sprintf("%sargop", name)) switch Nfs_cb_opnum4(u.Argop) { case OP_CB_GETATTR: x.Marshal(x.Sprintf("%sopcbgetattr", name), XDR_CB_GETATTR4args(u.Opcbgetattr())) return case OP_CB_RECALL: x.Marshal(x.Sprintf("%sopcbrecall", name), XDR_CB_RECALL4args(u.Opcbrecall())) return case OP_CB_ILLEGAL: return } XdrPanic("invalid Argop (%v) in Nfs_cb_argop4", u.Argop) } func (v *Nfs_cb_argop4) XdrInitialize() { var zero uint32 switch Nfs_cb_opnum4(zero) { case OP_CB_GETATTR, OP_CB_RECALL, OP_CB_ILLEGAL: default: if v.Argop == zero { v.Argop = uint32(OP_CB_GETATTR) } } } func XDR_Nfs_cb_argop4(v *Nfs_cb_argop4) *Nfs_cb_argop4 { return v} var _XdrTags_Nfs_cb_resop4 = map[int32]bool{ XdrToI32(OP_CB_GETATTR): true, XdrToI32(OP_CB_RECALL): true, XdrToI32(OP_CB_ILLEGAL): true, } func (_ Nfs_cb_resop4) XdrValidTags() map[int32]bool { return _XdrTags_Nfs_cb_resop4 } func (u *Nfs_cb_resop4) Opcbgetattr() *CB_GETATTR4res { switch Nfs_cb_opnum4(u.Resop) { case OP_CB_GETATTR: if v, ok := u.U.(*CB_GETATTR4res); ok { return v } else { var zero CB_GETATTR4res u.U = &zero return &zero } default: XdrPanic("Nfs_cb_resop4.Opcbgetattr accessed when Resop == %v", u.Resop) return nil } } func (u *Nfs_cb_resop4) Opcbrecall() *CB_RECALL4res { switch Nfs_cb_opnum4(u.Resop) { case OP_CB_RECALL: if v, ok := u.U.(*CB_RECALL4res); ok { return v } else { var zero CB_RECALL4res u.U = &zero return &zero } default: XdrPanic("Nfs_cb_resop4.Opcbrecall accessed when Resop == %v", u.Resop) return nil } } func (u *Nfs_cb_resop4) Opcbillegal() *CB_ILLEGAL4res { switch Nfs_cb_opnum4(u.Resop) { case OP_CB_ILLEGAL: if v, ok := u.U.(*CB_ILLEGAL4res); ok { return v } else { var zero CB_ILLEGAL4res u.U = &zero return &zero } default: XdrPanic("Nfs_cb_resop4.Opcbillegal accessed when Resop == %v", u.Resop) return nil } } func (u Nfs_cb_resop4) XdrValid() bool { switch Nfs_cb_opnum4(u.Resop) { case OP_CB_GETATTR,OP_CB_RECALL,OP_CB_ILLEGAL: return true } return false } func (u *Nfs_cb_resop4) XdrUnionTag() XdrNum32 { return XDR_uint32(&u.Resop) } func (u *Nfs_cb_resop4) XdrUnionTagName() string { return "Resop" } func (u *Nfs_cb_resop4) XdrUnionBody() XdrType { switch Nfs_cb_opnum4(u.Resop) { case OP_CB_GETATTR: return XDR_CB_GETATTR4res(u.Opcbgetattr()) case OP_CB_RECALL: return XDR_CB_RECALL4res(u.Opcbrecall()) case OP_CB_ILLEGAL: return XDR_CB_ILLEGAL4res(u.Opcbillegal()) } return nil } func (u *Nfs_cb_resop4) XdrUnionBodyName() string { switch Nfs_cb_opnum4(u.Resop) { case OP_CB_GETATTR: return "Opcbgetattr" case OP_CB_RECALL: return "Opcbrecall" case OP_CB_ILLEGAL: return "Opcbillegal" } return "" } type XdrType_Nfs_cb_resop4 = *Nfs_cb_resop4 func (v *Nfs_cb_resop4) XdrPointer() interface{} { return v } func (Nfs_cb_resop4) XdrTypeName() string { return "Nfs_cb_resop4" } func (v Nfs_cb_resop4) XdrValue() interface{} { return v } func (v *Nfs_cb_resop4) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (u *Nfs_cb_resop4) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } XDR_uint32(&u.Resop).XdrMarshal(x, x.Sprintf("%sresop", name)) switch Nfs_cb_opnum4(u.Resop) { case OP_CB_GETATTR: x.Marshal(x.Sprintf("%sopcbgetattr", name), XDR_CB_GETATTR4res(u.Opcbgetattr())) return case OP_CB_RECALL: x.Marshal(x.Sprintf("%sopcbrecall", name), XDR_CB_RECALL4res(u.Opcbrecall())) return case OP_CB_ILLEGAL: x.Marshal(x.Sprintf("%sopcbillegal", name), XDR_CB_ILLEGAL4res(u.Opcbillegal())) return } XdrPanic("invalid Resop (%v) in Nfs_cb_resop4", u.Resop) } func (v *Nfs_cb_resop4) XdrInitialize() { var zero uint32 switch Nfs_cb_opnum4(zero) { case OP_CB_GETATTR, OP_CB_RECALL, OP_CB_ILLEGAL: default: if v.Resop == zero { v.Resop = uint32(OP_CB_GETATTR) } } } func XDR_Nfs_cb_resop4(v *Nfs_cb_resop4) *Nfs_cb_resop4 { return v} type _XdrVec_unbounded_Nfs_cb_argop4 []Nfs_cb_argop4 func (_XdrVec_unbounded_Nfs_cb_argop4) XdrBound() uint32 { const bound uint32 = 4294967295 // Force error if not const or doesn't fit return bound } func (_XdrVec_unbounded_Nfs_cb_argop4) XdrCheckLen(length uint32) { if length > uint32(4294967295) { XdrPanic("_XdrVec_unbounded_Nfs_cb_argop4 length %d exceeds bound 4294967295", length) } else if int(length) < 0 { XdrPanic("_XdrVec_unbounded_Nfs_cb_argop4 length %d exceeds max int", length) } } func (v _XdrVec_unbounded_Nfs_cb_argop4) GetVecLen() uint32 { return uint32(len(v)) } func (v *_XdrVec_unbounded_Nfs_cb_argop4) SetVecLen(length uint32) { v.XdrCheckLen(length) if int(length) <= cap(*v) { if int(length) != len(*v) { *v = (*v)[:int(length)] } return } newcap := 2*cap(*v) if newcap < int(length) { // also catches overflow where 2*cap < 0 newcap = int(length) } else if bound := uint(4294967295); uint(newcap) > bound { if int(bound) < 0 { bound = ^uint(0) >> 1 } newcap = int(bound) } nv := make([]Nfs_cb_argop4, int(length), newcap) copy(nv, *v) *v = nv } func (v *_XdrVec_unbounded_Nfs_cb_argop4) XdrMarshalN(x XDR, name string, n uint32) { v.XdrCheckLen(n) for i := 0; i < int(n); i++ { if (i >= len(*v)) { v.SetVecLen(uint32(i+1)) } XDR_Nfs_cb_argop4(&(*v)[i]).XdrMarshal(x, x.Sprintf("%s[%d]", name, i)) } if int(n) < len(*v) { *v = (*v)[:int(n)] } } func (v *_XdrVec_unbounded_Nfs_cb_argop4) XdrRecurse(x XDR, name string) { size := XdrSize{ Size: uint32(len(*v)), Bound: 4294967295 } x.Marshal(name, &size) v.XdrMarshalN(x, name, size.Size) } func (_XdrVec_unbounded_Nfs_cb_argop4) XdrTypeName() string { return "Nfs_cb_argop4<>" } func (v *_XdrVec_unbounded_Nfs_cb_argop4) XdrPointer() interface{} { return (*[]Nfs_cb_argop4)(v) } func (v _XdrVec_unbounded_Nfs_cb_argop4) XdrValue() interface{} { return ([]Nfs_cb_argop4)(v) } func (v *_XdrVec_unbounded_Nfs_cb_argop4) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } type XdrType_CB_COMPOUND4args = *CB_COMPOUND4args func (v *CB_COMPOUND4args) XdrPointer() interface{} { return v } func (CB_COMPOUND4args) XdrTypeName() string { return "CB_COMPOUND4args" } func (v CB_COMPOUND4args) XdrValue() interface{} { return v } func (v *CB_COMPOUND4args) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *CB_COMPOUND4args) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%stag", name), XDR_Utf8str_cs(&v.Tag)) x.Marshal(x.Sprintf("%sminorversion", name), XDR_Uint32_t(&v.Minorversion)) x.Marshal(x.Sprintf("%scallback_ident", name), XDR_Uint32_t(&v.Callback_ident)) x.Marshal(x.Sprintf("%sargarray", name), (*_XdrVec_unbounded_Nfs_cb_argop4)(&v.Argarray)) } func XDR_CB_COMPOUND4args(v *CB_COMPOUND4args) *CB_COMPOUND4args { return v } type _XdrVec_unbounded_Nfs_cb_resop4 []Nfs_cb_resop4 func (_XdrVec_unbounded_Nfs_cb_resop4) XdrBound() uint32 { const bound uint32 = 4294967295 // Force error if not const or doesn't fit return bound } func (_XdrVec_unbounded_Nfs_cb_resop4) XdrCheckLen(length uint32) { if length > uint32(4294967295) { XdrPanic("_XdrVec_unbounded_Nfs_cb_resop4 length %d exceeds bound 4294967295", length) } else if int(length) < 0 { XdrPanic("_XdrVec_unbounded_Nfs_cb_resop4 length %d exceeds max int", length) } } func (v _XdrVec_unbounded_Nfs_cb_resop4) GetVecLen() uint32 { return uint32(len(v)) } func (v *_XdrVec_unbounded_Nfs_cb_resop4) SetVecLen(length uint32) { v.XdrCheckLen(length) if int(length) <= cap(*v) { if int(length) != len(*v) { *v = (*v)[:int(length)] } return } newcap := 2*cap(*v) if newcap < int(length) { // also catches overflow where 2*cap < 0 newcap = int(length) } else if bound := uint(4294967295); uint(newcap) > bound { if int(bound) < 0 { bound = ^uint(0) >> 1 } newcap = int(bound) } nv := make([]Nfs_cb_resop4, int(length), newcap) copy(nv, *v) *v = nv } func (v *_XdrVec_unbounded_Nfs_cb_resop4) XdrMarshalN(x XDR, name string, n uint32) { v.XdrCheckLen(n) for i := 0; i < int(n); i++ { if (i >= len(*v)) { v.SetVecLen(uint32(i+1)) } XDR_Nfs_cb_resop4(&(*v)[i]).XdrMarshal(x, x.Sprintf("%s[%d]", name, i)) } if int(n) < len(*v) { *v = (*v)[:int(n)] } } func (v *_XdrVec_unbounded_Nfs_cb_resop4) XdrRecurse(x XDR, name string) { size := XdrSize{ Size: uint32(len(*v)), Bound: 4294967295 } x.Marshal(name, &size) v.XdrMarshalN(x, name, size.Size) } func (_XdrVec_unbounded_Nfs_cb_resop4) XdrTypeName() string { return "Nfs_cb_resop4<>" } func (v *_XdrVec_unbounded_Nfs_cb_resop4) XdrPointer() interface{} { return (*[]Nfs_cb_resop4)(v) } func (v _XdrVec_unbounded_Nfs_cb_resop4) XdrValue() interface{} { return ([]Nfs_cb_resop4)(v) } func (v *_XdrVec_unbounded_Nfs_cb_resop4) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } type XdrType_CB_COMPOUND4res = *CB_COMPOUND4res func (v *CB_COMPOUND4res) XdrPointer() interface{} { return v } func (CB_COMPOUND4res) XdrTypeName() string { return "CB_COMPOUND4res" } func (v CB_COMPOUND4res) XdrValue() interface{} { return v } func (v *CB_COMPOUND4res) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v *CB_COMPOUND4res) XdrRecurse(x XDR, name string) { if name != "" { name = x.Sprintf("%s.", name) } x.Marshal(x.Sprintf("%sstatus", name), XDR_Nfsstat4(&v.Status)) x.Marshal(x.Sprintf("%stag", name), XDR_Utf8str_cs(&v.Tag)) x.Marshal(x.Sprintf("%sresarray", name), (*_XdrVec_unbounded_Nfs_cb_resop4)(&v.Resarray)) } func XDR_CB_COMPOUND4res(v *CB_COMPOUND4res) *CB_COMPOUND4res { return v } type xdrProc_CB_NULL struct { Arg *XdrVoid Res *XdrVoid } func (xdrProc_CB_NULL) Prog() uint32 { return 1073741824 } func (xdrProc_CB_NULL) Vers() uint32 { return 1 } func (xdrProc_CB_NULL) Proc() uint32 { return 0 } func (xdrProc_CB_NULL) ProgName() string { return "NFS4_CALLBACK" } func (xdrProc_CB_NULL) VersName() string { return "NFS_CB" } func (xdrProc_CB_NULL) ProcName() string { return "CB_NULL" } func (p *xdrProc_CB_NULL) GetArg() XdrType { if p.Arg == nil { p.Arg = new(XdrVoid) } return XDR_XdrVoid(p.Arg) } func (p *xdrProc_CB_NULL) GetRes() XdrType { if p.Res == nil { p.Res = new(XdrVoid) } return XDR_XdrVoid(p.Res) } var _ XdrProc = &xdrProc_CB_NULL{} // XXX type xdrSrvProc_CB_NULL struct { xdrProc_CB_NULL Srv NFS_CB } func (p *xdrSrvProc_CB_NULL) SetContext(ctx context.Context) { if wc, ok := p.Srv.(interface { WithContext(context.Context) NFS_CB }); ok { p.Srv = wc.WithContext(ctx) } } func (p *xdrSrvProc_CB_NULL) Do() { p.Srv.CB_NULL() } var _ XdrSrvProc = &xdrSrvProc_CB_NULL{} // XXX type xdrProc_CB_COMPOUND struct { Arg *CB_COMPOUND4args Res *CB_COMPOUND4res } func (xdrProc_CB_COMPOUND) Prog() uint32 { return 1073741824 } func (xdrProc_CB_COMPOUND) Vers() uint32 { return 1 } func (xdrProc_CB_COMPOUND) Proc() uint32 { return 1 } func (xdrProc_CB_COMPOUND) ProgName() string { return "NFS4_CALLBACK" } func (xdrProc_CB_COMPOUND) VersName() string { return "NFS_CB" } func (xdrProc_CB_COMPOUND) ProcName() string { return "CB_COMPOUND" } func (p *xdrProc_CB_COMPOUND) GetArg() XdrType { if p.Arg == nil { p.Arg = new(CB_COMPOUND4args) } return XDR_CB_COMPOUND4args(p.Arg) } func (p *xdrProc_CB_COMPOUND) GetRes() XdrType { if p.Res == nil { p.Res = new(CB_COMPOUND4res) } return XDR_CB_COMPOUND4res(p.Res) } var _ XdrProc = &xdrProc_CB_COMPOUND{} // XXX type xdrSrvProc_CB_COMPOUND struct { xdrProc_CB_COMPOUND Srv NFS_CB } func (p *xdrSrvProc_CB_COMPOUND) SetContext(ctx context.Context) { if wc, ok := p.Srv.(interface { WithContext(context.Context) NFS_CB }); ok { p.Srv = wc.WithContext(ctx) } } func (p *xdrSrvProc_CB_COMPOUND) Do() { r := p.Srv.CB_COMPOUND(*p.Arg) p.Res = &r } var _ XdrSrvProc = &xdrSrvProc_CB_COMPOUND{} // XXX func init() { XdrCatalog[1073741824<<32|1] = func(p uint32) XdrProc { switch(p) { case 0: return &xdrProc_CB_NULL{} case 1: return &xdrProc_CB_COMPOUND{} } return nil } } type NFS_CB_Server struct { Srv NFS_CB } func (NFS_CB_Server) Prog() uint32 { return 1073741824 } func (NFS_CB_Server) Vers() uint32 { return 1 } func (NFS_CB_Server) ProgName() string { return "NFS4_CALLBACK" } func (NFS_CB_Server) VersName() string { return "NFS_CB" } func (s NFS_CB_Server) GetProc(p uint32) XdrSrvProc { switch p { case 0: // CB_NULL return &xdrSrvProc_CB_NULL{ Srv: s.Srv } case 1: // CB_COMPOUND return &xdrSrvProc_CB_COMPOUND{ Srv: s.Srv } default: return nil } } var _ XdrSrv = NFS_CB_Server{} // XXX type NFS_CB_Client struct { Send XdrSendCall Ctx context.Context } var _ NFS_CB = NFS_CB_Client{} // XXX func (c NFS_CB_Client) WithContext(ctx context.Context) NFS_CB { c.Ctx = ctx return c } func (c NFS_CB_Client) CB_NULL() { var proc xdrProc_CB_NULL if err := c.Send.SendCall(c.Ctx, &proc); err != nil { panic(err) } } func (c NFS_CB_Client) CB_COMPOUND(a1 CB_COMPOUND4args) CB_COMPOUND4res { var proc xdrProc_CB_COMPOUND proc.Arg = &a1 if err := c.Send.SendCall(c.Ctx, &proc); err != nil { panic(err) } return *proc.Res } // // begin boilerplate // // Types passed to the XDR Marshal method implementing the XdrType // interface. Pointers to some generated types T already implement // the interface. However, since built-in types such as string and // int32 cannot implement interfaces, each type T has a function // XDR_T(*T) that returns some type implementing XdrType. These // XdrType interfaces also encode limits on string and vector sizes // and simplify code by collapsing similar cases (e.g., all 32-bit // numbers are cast to a pointer implementing XdrNum32). // // For most XdrType instances, XdrPointer() and XdrValue() provide // access to the underlying type (which might not implement XdrType), // with the following exceptions: // // * opaque[] (fixed-length arrays of bytes) are returned as // XdrArrayOpaque (by XdrValue()) or nil (by XdrPointer()). This is // because XdrArrayOpaque wraps a byte slice rather than an actual // array. One generally doesn't want to pass arrays around; moreover, // getting a pointer to the actual array provides less information, // because one can't test for arrays in a type switch without knowing // the exact length of the array, while one can always dynamically // test the length of a slice. // // * Pointer types, in their XdrRecurse methods, marshal a special // XdrNum32 type of 0 or 1 to record whether the pointer is nil or the // value is present. Since this bool does not exist, XdrPointer() // returns nil (while XdrValue returns a bool). // // * For arrays, XdrValue() passes a slice, rather than the full // array, so as to avoid copying the array. type XdrType interface { // Return a string describing the name of the type (which will // reflect the name of a typedef). XdrTypeName() string // Return the underlying native representation of an XdrType // (e.g., int32 for an XdrInt32). XdrValue() interface{} // Return a pointer to the underlying native representation of an // XdrType (often just the same type as the XdrType, but sometimes // not, e.g., for primitive types that can't have methods // defined). XdrPointer() interface{} // Calls x.Marshal(name, v). XdrMarshal(XDR, string) } // The interface through which values are serialized, printed, etc. type XDR interface { // A function that gets called for each value to be marshalled. // The val XdrType argument will be one of the following: // // * A pointer type implementing XdrNum32 for bool, int, unsigned // int, float, the size of variable-length arrays except string // and opaque, and enums. In the case of enums, that instance // will just be a pointer to the enum. In the case of the other // types, it will be a pointer to a defined type that implements // the XdrNum32 interface (since plain go types cannot implement // methods)--e.g., *XdrUint32 for unsigned int. Variable array // sizes are passed as *XdrSize, which enforces the bound. // // * A pointer type implementing XdrNum64 for hyper, unsigned // hyper, and double. These are user-defined versions of int64, // uint64, and float64, called XdrInt64, XdrUint64, and // XdrFloat64, respectively. // // * An instance of XdrBytes for strings and opaque. // Specifically, strings are passed as XdrString, and // variable-length opaque<> vectors are passed as XdrVecOpaque, // both of which implement XdrVarBytes. // // * An XdrArrayOpaque containing a slice referencing a byte array // for fixed-length opaque[]. XdrArrayOpaque implements // XdrBytes, but not XdrVarBytes. // // * An instance of XdrAggregate for structs, unions, and // pointers. Note that structs and unions are just passed as // pointers to the underlying structures (which all implement // XdrAggregate). Pointers are passed as an XdrPtr interface // implemented by a defined pointer type (since plain pointers // cannot have methods). // // Note that the Marshal method is responsible for recursing into // XdrAggregate instance by calling the XdrRecurse method. // Requiring the Marshal method to recurse manually allows it to // refrain from recursing in cases where it needs to special-case // the handling of specific types. Marshal(name string, val XdrType) // This method should just be fmt.Sprintf for XDRs that use name. // Those that don't use name can use a trivial method returning "" Sprintf(string, ...interface{}) string } // The error thrown by marshaling functions when data has a bad value. type XdrError string func (v XdrError) Error() string { return string(v) } // Throws an XdrError. func XdrPanic(s string, args ...interface{}) { panic(XdrError(fmt.Sprintf(s, args...))) } // RFC4506 defines bool as equivalent to an enum with values all-caps // TRUE and FALSE. For convenience, we represent an XDR bool as a Go // bool instead, and so define these constants for use in union cases. // (XDR source files should not use lower-case true and false, as // these will not work in other languages or with other XDR // compilers.) const ( TRUE = true FALSE = false ) // Unfortunately, you can't cast a bool to an int. Hence, in // situations like a union discriminant where we don't know if a type // is equivalent to bool or not, then, short of using reflection, this // is how we have to convert to an integer. Note that this expects // types int, [u]int32, enum, and bool, rather than pointers to these // types. func XdrToI32(i interface{}) int32 { switch v := i.(type) { case interface{ GetU32() uint32 }: return int32(v.GetU32()) case int32: return v case uint32: return int32(v) case int: return int32(v) case bool: if v { return 1 } return 0 } panic(XdrError(fmt.Sprintf("XdrToI32: bad type %T", i))) } // // User-defined types used to place methods on basic types // // All quantities that should be serialized as 32-bit numbers // (including bools, enums, union discriminants, the bit saying // whether or not a pointer is NULL, floats, and vector lenghts) are // passed to the XDR.Marshal function as a pointer to a defined type // implementing the XdrNum32 interface. The one exception is string<> // and opaque<>, for which it is the job of XDR.Marshal to serialize // the 32-bit length. type XdrNum32 interface { XdrType fmt.Stringer fmt.Scanner GetU32() uint32 SetU32(uint32) } // Enums additionally provide access to a map of values to names. You // generally don't need to invoke the XdrEnumNames() method (since the // String and Scan methods already access the underlying maps), but // the presence of this method can be useful to differentiate enums // from other XdrNum32 types. type XdrEnum interface { XdrNum32 XdrEnumNames() map[int32]string } // All 64-bit numbers (hyper, unsigned hyper, and double) are passed // to XDR.Marshal as a pointer to a defined type implementing // XdrNum64. type XdrNum64 interface { XdrType fmt.Stringer fmt.Scanner GetU64() uint64 SetU64(uint64) } // A common interface implemented by XdrString, XdrVecOpaque, and // XdrArrayOpaque (and hence used to operate on the XdrTypes // corresponding to value os ftype string<>, opaque<>, and opaque[]). type XdrBytes interface { XdrType GetByteSlice() []byte } // A common interface implemented by XdrString and XdrVecOpaque, the // XdrTypes for opaque<> and string<>. Since XdrVarBytes is a subtype // of XdrBytes, Marshal functions that want to distinguish between // opaque<> and opaque[] should first try a type assertion for // XdrVarBytes (to check for opaque<>) and then if that fails try // XdrBytes (to check for opaque[]). type XdrVarBytes interface { XdrBytes XdrBound() uint32 SetByteSlice([]byte) } // Any struct, union, pointer, or variable-length array type (except // opaque<> and string<>) is passed to XDR.Marshal as a pointer // implementing the XdrAggregate interface. It is the responsibility // of the XDR.Marshal function to call the XdrRecurse method so as to // recurse into the data structure. Placing reponsibility on // XDR.Marshal for recursing allows a custom XDR to prune the // serialization at particular types (e.g., for pretty-printing a // partucular struct in a non-standard way). type XdrAggregate interface { XdrType XdrRecurse(XDR, string) } // A union type is an XdrAggregate with extra methods for individually // accessing the tag and active branch. type XdrUnion interface { XdrAggregate XdrValid() bool XdrValidTags() map[int32]bool XdrUnionTag() XdrNum32 XdrUnionTagName() string XdrUnionBody() XdrType XdrUnionBodyName() string } // Any pointer type is converted to an XdrType implementing the XdrPtr // interface for marshaling. Note XdrPtr is a subtype of // XdrAggregate. When a Marshal function does nothing special for // XdrPtr and treats the XdrPtr like any other XdrAggregate (calling // XdrRecurse), the Marshal function will then get called one or two // more times, first with an XdrSize (implementing XdrNum32) to // marshal the non-NULL bit, and then again with the underlying value // if the pointer is non-NULL. An XDR.Marshal function that wants to // special case pointers can access the present bit from the // GetPresent and SetPresent methods, then bypass marshaling of the // bit by calling XdrMarshalValue instead of XdrRecurse. type XdrPtr interface { // Marshals first the present/not-present bool, then if true, the // underlying value. XdrAggregate GetPresent() bool SetPresent(bool) // If the present/not-present bool is false, this function does // nothing. Otherwise, it marshals just the value, not the bit. XdrMarshalValue(XDR, string) } // Any vector type is passed as a pointer to a user-defined slice type // that implements the XdrVec interface. XdrVec is a superset of // XdrAggregate, so calling XdrRecurse will recurse to call // XDR.Marshal first on the size (of type XdrSize), then on each // element of the slice. An XDR.Marshal function can manually marshal // the size and then call XdrMarshalN to marshal n vector elements. // (When deserializing, it is advisable *not* to call SetVecLen before // calling XdrMarshalN in case the length is huge and would exhaust // memory; XdrMarshalN gradually grows the slice size as needed so as // to throw a premature EOF error if N is larger than the actual input // data.) type XdrVec interface { XdrAggregate XdrBound() uint32 GetVecLen() uint32 SetVecLen(uint32) XdrMarshalN(XDR, string, uint32) } // Any array type is passed as a pointer to a user-defined array // supporting the XdrArray interface. This is a subtype of // XdrAggregate, and so supports recursing to marshal each individual // array member. type XdrArray interface { XdrAggregate XdrArraySize() uint32 } type XdrTypedef interface { XdrType XdrUnwrap() XdrType } // Unwrap typedefs to obtain the underlying XdrType. func XdrBaseType(v XdrType) XdrType { for { t, ok := v.(XdrTypedef) if !ok { return v } v = t.XdrUnwrap() } } // Returns true for A-Z, a-z, 0-9, and _. (Used by the generated code // that implements Scanner for enums.) func XdrSymChar(r rune) bool { return (r|0x20 >= 'a' && r|0x20 <= 'z') || (r >= '0' && r <= '9') || r == '_' } // An XdrType that marshals as zero bytes, and hence is used to // represent void argument and return types of functions. type XdrVoid struct{} type XdrType_void = *XdrVoid func (XdrVoid) XdrTypeName() string { return "void" } func (XdrVoid) XdrValue() interface{} { return nil } func (XdrVoid) XdrPointer() interface{} { return nil } func (XdrVoid) XdrMarshal(XDR, string) {} func XDR_XdrVoid(v *XdrVoid) XdrType_void { return v } // The XdrType that bool gets turned into for marshaling. type XdrBool bool type XdrType_bool = *XdrBool func (XdrBool) XdrTypeName() string { return "bool" } func (v XdrBool) String() string { return fmt.Sprintf("%v", v.XdrValue()) } func (v *XdrBool) Scan(ss fmt.ScanState, r rune) error { _, err := fmt.Fscanf(ss, string([]rune{'%', r}), v.XdrPointer()) return err } func (v XdrBool) GetU32() uint32 { if v { return 1 }; return 0 } func (v *XdrBool) SetU32(nv uint32) { switch nv { case 0: *v = false case 1: *v = true default: XdrPanic("bool must be 0 or 1") } } func (v *XdrBool) XdrPointer() interface{} { return (*bool)(v) } func (v XdrBool) XdrValue() interface{} { return bool(v) } func (v *XdrBool) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func XDR_bool(v *bool) *XdrBool { return (*XdrBool)(v) } // The XdrType that int gets converted to for marshaling. type XdrInt32 int32 type XdrType_int32 = *XdrInt32 func (XdrInt32) XdrTypeName() string { return "int32" } func (v XdrInt32) String() string { return fmt.Sprintf("%v", v.XdrValue()) } func (v *XdrInt32) Scan(ss fmt.ScanState, r rune) error { _, err := fmt.Fscanf(ss, string([]rune{'%', r}), v.XdrPointer()) return err } func (v XdrInt32) GetU32() uint32 { return uint32(v) } func (v *XdrInt32) SetU32(nv uint32) { *v = XdrInt32(nv) } func (v *XdrInt32) XdrPointer() interface{} { return (*int32)(v) } func (v XdrInt32) XdrValue() interface{} { return int32(v) } func (v *XdrInt32) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func XDR_int32(v *int32) *XdrInt32 { return (*XdrInt32)(v) } // The XdrType that unsigned int gets converted to for marshaling. type XdrUint32 uint32 type XdrType_uint32 = *XdrUint32 func (XdrUint32) XdrTypeName() string { return "uint32" } func (v XdrUint32) String() string { return fmt.Sprintf("%v", v.XdrValue()) } func (v *XdrUint32) Scan(ss fmt.ScanState, r rune) error { _, err := fmt.Fscanf(ss, string([]rune{'%', r}), v.XdrPointer()) return err } func (v XdrUint32) GetU32() uint32 { return uint32(v) } func (v *XdrUint32) SetU32(nv uint32) { *v = XdrUint32(nv) } func (v *XdrUint32) XdrPointer() interface{} { return (*uint32)(v) } func (v XdrUint32) XdrValue() interface{} { return uint32(v) } func (v *XdrUint32) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func XDR_uint32(v *uint32) *XdrUint32 { return (*XdrUint32)(v) } // The XdrType that float gets converted to for marshaling. type XdrFloat32 float32 type XdrType_float32 = *XdrFloat32 func (XdrFloat32) XdrTypeName() string { return "float32" } func (v XdrFloat32) String() string { return fmt.Sprintf("%v", v.XdrValue()) } func (v *XdrFloat32) Scan(ss fmt.ScanState, r rune) error { _, err := fmt.Fscanf(ss, string([]rune{'%', r}), v.XdrPointer()) return err } func (v XdrFloat32) GetU32() uint32 { return math.Float32bits(float32(v)) } func (v *XdrFloat32) SetU32(nv uint32) { *v = XdrFloat32(math.Float32frombits(nv)) } func (v *XdrFloat32) XdrPointer() interface{} { return (*float32)(v) } func (v XdrFloat32) XdrValue() interface{} { return float32(v) } func (v *XdrFloat32) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func XDR_float32(v *float32) *XdrFloat32 { return (*XdrFloat32)(v) } // This XdrType is used to marshal the length of vectors and the // present/not-present value of pointers. type XdrSize struct { Size uint32 Bound uint32 } func (v XdrSize) String() string { return fmt.Sprintf("%v", v.Size) } func (v *XdrSize) Scan(ss fmt.ScanState, r rune) (err error) { defer func() { if err == nil { err = recover().(error) } }() var nv uint32 if _, err := fmt.Fscanf(ss, string([]rune{'%', r}), &nv); err != nil { return err } v.SetU32(nv) return } func (v XdrSize) GetU32() uint32 { return v.Size } func (v *XdrSize) SetU32(nv uint32) { if nv > v.Bound { XdrPanic("size %d greater than bound %d", nv, v.Bound) } else if int(nv) < 0 { XdrPanic("size %d greater than max slice len", nv) } v.Size = nv } func (XdrSize) XdrTypeName() string { return "len" } func (v *XdrSize) XdrPointer() interface{} { return &v.Size } func (v XdrSize) XdrValue() interface{} { return v.Size } func (v *XdrSize) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func (v XdrSize) XdrBound() uint32 { return v.Bound } // The XdrType that hyper gets converted to for marshaling. type XdrInt64 int64 type XdrType_int64 = *XdrInt64 func (XdrInt64) XdrTypeName() string { return "int64" } func (v XdrInt64) String() string { return fmt.Sprintf("%v", v.XdrValue()) } func (v *XdrInt64) Scan(ss fmt.ScanState, r rune) error { _, err := fmt.Fscanf(ss, string([]rune{'%', r}), v.XdrPointer()) return err } func (v XdrInt64) GetU64() uint64 { return uint64(v) } func (v *XdrInt64) SetU64(nv uint64) { *v = XdrInt64(nv) } func (v *XdrInt64) XdrPointer() interface{} { return (*int64)(v) } func (v XdrInt64) XdrValue() interface{} { return int64(v) } func (v *XdrInt64) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func XDR_int64(v *int64) *XdrInt64 { return (*XdrInt64)(v) } // The XdrType that unsigned hyper gets converted to for marshaling. type XdrUint64 uint64 type XdrType_uint64 = *XdrUint64 func (XdrUint64) XdrTypeName() string { return "uint64" } func (v XdrUint64) String() string { return fmt.Sprintf("%v", v.XdrValue()) } func (v *XdrUint64) Scan(ss fmt.ScanState, r rune) error { _, err := fmt.Fscanf(ss, string([]rune{'%', r}), v.XdrPointer()) return err } func (v XdrUint64) GetU64() uint64 { return uint64(v) } func (v *XdrUint64) SetU64(nv uint64) { *v = XdrUint64(nv) } func (v *XdrUint64) XdrPointer() interface{} { return (*uint64)(v) } func (v XdrUint64) XdrValue() interface{} { return uint64(v) } func (v *XdrUint64) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func XDR_uint64(v *uint64) *XdrUint64 { return (*XdrUint64)(v) } // The XdrType that double gets converted to for marshaling. type XdrFloat64 float64 type XdrType_float64 = *XdrFloat64 func (XdrFloat64) XdrTypeName() string { return "float64" } func (v XdrFloat64) String() string { return fmt.Sprintf("%v", v.XdrValue()) } func (v *XdrFloat64) Scan(ss fmt.ScanState, r rune) error { _, err := fmt.Fscanf(ss, string([]rune{'%', r}), v.XdrPointer()) return err } func (v XdrFloat64) GetU64() uint64 { return math.Float64bits(float64(v)) } func (v *XdrFloat64) SetU64(nv uint64) { *v = XdrFloat64(math.Float64frombits(nv)) } func (v *XdrFloat64) XdrPointer() interface{} { return (*float64)(v) } func (v XdrFloat64) XdrValue() interface{} { return float64(v) } func (v *XdrFloat64) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } func XDR_float64(v *float64) *XdrFloat64 { return (*XdrFloat64)(v) } // The XdrType that strings get converted to for marshaling. type XdrString struct { Str *string Bound uint32 } func (v XdrString) String() string { return fmt.Sprintf("%q", *v.Str) } func (v XdrString) Scan(ss fmt.ScanState, _ rune) error { var s string if _, err := fmt.Fscanf(ss, "%q", &s); err != nil { return err } else if int64(len(s)) > int64(v.Bound) { return XdrError(fmt.Sprintf("Cannot store %d bytes in string<%d>", len(s), v.Bound)) } *v.Str = s return nil } func (v XdrString) XdrBound() uint32 { return v.Bound } func (v XdrString) GetString() string { return *v.Str } func (v XdrString) SetString(s string) { if uint(len(s)) > uint(v.Bound) { XdrPanic("Cannot store %d bytes in string<%d>", len(s), v.Bound) } *v.Str = s } func (v XdrString) GetByteSlice() []byte { return ([]byte)(*v.Str) } func (v XdrString) SetByteSlice(bs []byte) { if uint(len(bs)) > uint(v.Bound) { XdrPanic("Cannot store %d bytes in string<%d>", len(bs), v.Bound) } *v.Str = string(bs) } func (XdrString) XdrTypeName() string { return "string" } func (v XdrString) XdrPointer() interface{} { return v.Str } func (v XdrString) XdrValue() interface{} { return *v.Str } func (v XdrString) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } // The XdrType that opaque<> gets converted to for marshaling. type XdrVecOpaque struct { Bytes *[]byte Bound uint32 } func (v XdrVecOpaque) String() string { return fmt.Sprintf("%x", []byte(*v.Bytes)) } func (v XdrVecOpaque) Scan(ss fmt.ScanState, _ rune) error { var bs []byte _, err := fmt.Fscanf(ss, "%x", &bs) if err == nil { v.SetByteSlice(bs) } return err } func (v XdrVecOpaque) GetByteSlice() []byte { return *v.Bytes } func (v XdrVecOpaque) XdrBound() uint32 { return v.Bound } func (v XdrVecOpaque) SetByteSlice(bs []byte) { if uint(len(bs)) > uint(v.Bound) { XdrPanic("Cannot store %d bytes in string<%d>", len(bs), v.Bound) } *v.Bytes = bs } func (XdrVecOpaque) XdrTypeName() string { return "opaque<>" } func (v XdrVecOpaque) XdrPointer() interface{} { return v.Bytes } func (v XdrVecOpaque) XdrValue() interface{} { return *v.Bytes } func (v XdrVecOpaque) XdrMarshal(x XDR, name string) { x.Marshal(name, v) } // Helper function for scanning fix-size opaque arrays. func XdrArrayOpaqueScan(dest []byte, ss fmt.ScanState, _ rune) error { var bs []byte _, err := fmt.Fscanf(ss, "%x", &bs) if err != nil { return err } else if len(bs) != len (dest) { return XdrError("Wrong number of bytes when scanning opaque[]") } copy(dest, bs) return nil } // The interface of XdrTypes of opaque[n] for all n type XdrArrayOpaque interface { XdrBytes XdrArraySize() uint32 } // // Basic implementations of XDR interface // // Back end that renders an XDR data structure as simple text. // Example: // // XDR_MyType(&myVal).XdrMarshal(&XdrPrint{os.Stdout}, "") // type XdrPrint struct { Out io.Writer } // Generic function that converts any compiled XDR type to a // multi-line string. Useful for debugging. func XdrToString(t XdrType) string { out := &strings.Builder{} t.XdrMarshal(&XdrPrint{out}, "") return out.String() } func (xp XdrPrint) Sprintf(f string, args ...interface{}) string { return fmt.Sprintf(f, args...) } func (xp XdrPrint) Marshal(name string, i XdrType) { switch v := i.(type) { case fmt.Stringer: fmt.Fprintf(xp.Out, "%s: %s\n", name, v.String()) case XdrPtr: fmt.Fprintf(xp.Out, "%s.present: %v\n", name, v.GetPresent()) v.XdrMarshalValue(xp, fmt.Sprintf("(*%s)", name)) case XdrVec: fmt.Fprintf(xp.Out, "%s.len: %d\n", name, v.GetVecLen()) v.XdrMarshalN(xp, name, v.GetVecLen()) case XdrAggregate: v.XdrRecurse(xp, name) default: fmt.Fprintf(xp.Out, "%s: %v\n", name, i) } } var xdrZerofill [4][]byte = [...][]byte{ {}, {0,0,0}, {0,0}, {0}, } func xdrPutBytes(out io.Writer, val []byte) { out.Write(val) out.Write(xdrZerofill[len(val)&3]) } func xdrPut32(out io.Writer, val uint32) { b := make([]byte, 4) binary.BigEndian.PutUint32(b, val) out.Write(b) } func xdrPut64(out io.Writer, val uint64) { b := make([]byte, 8) binary.BigEndian.PutUint64(b, val) out.Write(b) } // XDR that marshals to canonical binary format type XdrOut struct { Out io.Writer } func (xp XdrOut) Sprintf(f string, args ...interface{}) string { return "" } func (xo XdrOut) Marshal(name string, i XdrType) { switch v := i.(type) { case XdrNum32: xdrPut32(xo.Out, v.GetU32()) case XdrNum64: xdrPut64(xo.Out, v.GetU64()) case XdrString: s := v.GetString() xdrPut32(xo.Out, uint32(len(s))) io.WriteString(xo.Out, s) xo.Out.Write(xdrZerofill[len(s)&3]) case XdrVarBytes: xdrPut32(xo.Out, uint32(len(v.GetByteSlice()))) xdrPutBytes(xo.Out, v.GetByteSlice()) case XdrBytes: xdrPutBytes(xo.Out, v.GetByteSlice()) case XdrAggregate: v.XdrRecurse(xo, name) default: panic(fmt.Sprintf("XdrOut: unhandled type %T", i)) } } func xdrReadN(in io.Reader, n uint32) []byte { var b bytes.Buffer if _, err := io.CopyN(&b, in, int64(n)); err != nil { XdrPanic(err.Error()) } return b.Bytes() } func xdrReadPad(in io.Reader, n uint32) { if n & 3 != 0 { got := xdrReadN(in, 4-(n&3)) for _, b := range got { if b != 0 { XdrPanic("padding contained non-zero bytes") } } } } func xdrGet32(in io.Reader) uint32 { b := xdrReadN(in, 4) return binary.BigEndian.Uint32(b) } func xdrGet64(in io.Reader) uint64 { b := xdrReadN(in, 8) return binary.BigEndian.Uint64(b) } // XDR that unmarshals from canonical binary format type XdrIn struct { In io.Reader } func (xp XdrIn) Sprintf(f string, args ...interface{}) string { return "" } func (xi XdrIn) Marshal(name string, i XdrType) { switch v := i.(type) { case XdrNum32: v.SetU32(xdrGet32(xi.In)) case XdrNum64: v.SetU64(xdrGet64(xi.In)) case XdrVarBytes: n := xdrGet32(xi.In) v.SetByteSlice(xdrReadN(xi.In, n)) xdrReadPad(xi.In, n) case XdrBytes: if _, err := io.ReadFull(xi.In, v.GetByteSlice()); err != nil { panic(err) } xdrReadPad(xi.In, uint32(len(v.GetByteSlice()))) case XdrAggregate: v.XdrRecurse(xi, name) } } // // RFC5531 RPC support // // Interface for a data structure containing the argument and result // types of a call. type XdrProc interface { Prog() uint32 Vers() uint32 Proc() uint32 ProgName() string VersName() string ProcName() string GetArg() XdrType GetRes() XdrType } // Interface for a data structure containing argument and results of a // procedure plus a way to invoke the procedure on an instance of the // RPC version. In other words, Do() actually performs the work of an // RPC on the server side. type XdrSrvProc interface { XdrProc Do() SetContext(context.Context) } // Interface for an RPC version interface bound to a server // implementation. The result of GetProc() can be used to marshal the // arguments and results as well as actually invoke the function // (though Do()). type XdrSrv interface { Prog() uint32 Vers() uint32 ProgName() string VersName() string GetProc(uint32) XdrSrvProc } // An interface for types that can send remote procedure calls and // await their reply. type XdrSendCall interface { SendCall(context.Context, XdrProc) error } // A catalog of procedures of different RPC programs and versions, // mostly useful for debugging (e.g., pretty-printing a log of RPC // messages). The key to the map is prog<<32|vers. The function // returns a new instance of an appropriate XdrProc. var XdrCatalog = make(map[uint64]func(uint32)XdrProc) // // end boilerplate //