filestash/server/plugin/plg_backend_nfs4/repo/internal/nfs4.go
2024-01-03 22:44:23 +11:00

14486 lines
435 KiB
Go

// 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
//