nfs3

package
v0.0.0-...-1ea2c94 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 25, 2018 License: GPL-3.0 Imports: 10 Imported by: 1

Documentation

Index

Constants

View Source
const (
	MNTPATHLEN = 1024
	MNTNAMLEN  = 255
	FHSIZE3    = 64
	/* READDIR3resok size with XDR overhead = 88 bytes attributes, 8 bytes
	   verifier,4 bytes value_follows for first entry, 4 bytes eof flag */
	READDIRRESOKSIZE = 104
	/* entry3 size with XDR overhead = 8 bytes fileid, 4 bytes name length,
	   8 bytes cookie, 4 byte value_follows */
	ENTRY3SIZE = 24

	NFSMAXPATHLEN uint32 = 4096
)
View Source
const (
	AUTH_NONE int32 = iota
	AUTH_UNIX
)
View Source
const (
	MOUNT_PROGRAM uint32 = 100005
	MOUNT_V3      uint32 = 3
)
View Source
const (
	MOUNT3_NULL uint32 = iota
	MOUNT3_MNT
	MOUNT3_DUMP
	MOUNT3_UMNT
	MOUNT3_UMNTALL
	MOUNT3_EXPORT
)
View Source
const (
	NFS3_FHSIZE         = 64 /* Maximum bytes in a V3 file handle */
	NFS3_WRITEVERFSIZE  = 8
	NFS3_CREATEVERFSIZE = 8
	NFS3_COOKIEVERFSIZE = 8
)
View Source
const (
	ACCESS3_READ uint32 = 1 << iota
	ACCESS3_LOOKUP
	ACCESS3_MODIFY
	ACCESS3_EXTEND
	ACCESS3_DELETE
	ACCESS3_EXECUTE
)
View Source
const (
	FSF3_LINK uint32 = uint32(1) << iota
	FSF3_SYMLINK
	FSF3_HOMOGENEOUS
	FSF3_CANSETTIME
)
View Source
const (
	NFS_PROGRAM uint32 = 100003
	NFS_V3      uint32 = 3
)
View Source
const (
	NFS3_NULL uint32 = iota
	NFS3_GETATTR
	NFS3_SETATTR
	NFS3_LOOKUP
	NFS3_ACCESS
	NFS3_READLINK
	NFS3_READ
	NFS3_WRITE
	NFS3_CREATE
	NFS3_MKDIR
	NFS3_SYMLINK
	NFSPROC3_MKNOD
	NFS3_REMOVE
	NFS3_RMDIR
	FS3_RENAME
	NFS3_LINK
	NFS3_READDIR
	NFS3_READDIRPLUS
	NFS3_FSSTAT
	NFS3_FSINFO
	NFS3_PATHCONF
	NFS3_COMMIT /* No 21 */
)

Variables

View Source
var Mount3ProcList = [...]string{
	0: "NfsProc.Mountproc_null_3_svc",
	1: "NfsProc.Mountproc_mnt_3_svc",
	2: "NfsProc.Mountproc_dump_3_svc",
	3: "NfsProc.Mountproc_umnt_3_svc",
	4: "NfsProc.Mountproc_umntall_3_svc",
	5: "NfsProc.Mountproc_export_3_svc",
}
View Source
var Nfs3ProcList = [...]string{
	0:  "NfsProc.Nfsproc3_null_3_svc",
	1:  "NfsProc.Nfsproc3_getattr_3_svc",
	2:  "NfsProc.Nfsproc3_setattr_3_svc",
	3:  "NfsProc.Nfsproc3_lookup_3_svc",
	4:  "NfsProc.Nfsproc3_access_3_svc",
	5:  "NfsProc.Nfsproc3_readlink_3_svc",
	6:  "NfsProc.Nfsproc3_read_3_svc",
	7:  "NfsProc.Nfsproc3_write_3_svc",
	8:  "NfsProc.Nfsproc3_create_3_svc",
	9:  "NfsProc.Nfsproc3_mkdir_3_svc",
	10: "NfsProc.Nfsproc3_symlink_3_svc",
	11: "NfsProc.Nfsproc3_mknod_3_svc",
	12: "NfsProc.Nfsproc3_remove_3_svc",
	13: "NfsProc.Nfsproc3_rmdir_3_svc",
	14: "NfsProc.Nfsproc3_rename_3_svc",
	15: "NfsProc.Nfsproc3_link_3_svc",
	16: "NfsProc.Nfsproc3_readdir_3_svc",
	17: "NfsProc.Nfsproc3_readdirplus_3_svc",
	18: "NfsProc.Nfsproc3_fsstat_3_svc",
	19: "NfsProc.Nfsproc3_fsinfo_3_svc",
	20: "NfsProc.Nfsproc3_pathconf_3_svc",
	21: "NfsProc.Nfsproc3_commit_3_svc",
}

Functions

This section is empty.

Types

type ACCESS3args

type ACCESS3args struct {
	Object Nfs_fh3
	Access uint32
}

type ACCESS3res

type ACCESS3res struct {
	Status  Nfsstat3       `xdr:"union"`
	Resok   ACCESS3resok   `xdr:"unioncase=0"`    /* NFS3_OK */
	Resfail ACCESS3resfail `xdr:"unionnotcase=0"` /* if !NFS3_OK */
}

type ACCESS3resfail

type ACCESS3resfail struct {
	Obj_attributes Post_op_attr
}

type ACCESS3resok

type ACCESS3resok struct {
	Obj_attributes Post_op_attr
	Access         uint32
}

type Backend

type Backend struct {
	ServerStartTime int64
	// contains filtered or unexported fields
}

func GetBEInstance

func GetBEInstance() *Backend

func (*Backend) Access

func (be *Backend) Access(fHandle uint64, access uint32, reply *ACCESS3res) (status Nfsstat3)

func (*Backend) BackendConfigSetup

func (be *Backend) BackendConfigSetup(exportPath string, allowAddr string, writeAccess bool) error

This function is called directly by main

func (*Backend) Commit

func (be *Backend) Commit(fHandle uint64, reply *COMMIT3res) (status Nfsstat3)

func (*Backend) Create

func (be *Backend) Create(dirFHandle uint64, name string, createHow Createhow3, reply *CREATE3res) (status Nfsstat3)

func (*Backend) ExportedMountPoint

func (be *Backend) ExportedMountPoint(reply *Exports)

func (*Backend) GetFileAttr

func (be *Backend) GetFileAttr(fHandle uint64, fattr *Fattr3) (status Nfsstat3)

func (*Backend) GetFileSysInfo

func (be *Backend) GetFileSysInfo(fHandle uint64, reply *FSINFO3res) (status Nfsstat3)

func (*Backend) GetFileSystemAttr

func (be *Backend) GetFileSystemAttr(fHandle uint64, reply *FSSTAT3res) (status Nfsstat3)

func (*Backend) GetPathConf

func (be *Backend) GetPathConf(fHandle uint64, reply *PATHCONF3res) (status Nfsstat3)
func (be *Backend) Link(oldFHandle uint64, linkDirFHandle uint64, newName string, reply *LINK3res) (status Nfsstat3)

func (*Backend) Lookup

func (be *Backend) Lookup(fHandle uint64, name string, reply *LOOKUP3res) (status Nfsstat3)

func (*Backend) Mkdir

func (be *Backend) Mkdir(fHandle uint64, dirname string, attribute *Sattr3, reply *MKDIR3res) (status Nfsstat3)

func (*Backend) Mount

func (be *Backend) Mount(mntPoint string, reply *Mountres3) (status Mountstat3)

func (*Backend) Read

func (be *Backend) Read(fHandle uint64, offset uint64, count uint32, reply *READ3res) (status Nfsstat3)

func (*Backend) ReadDir

func (be *Backend) ReadDir(fHandle uint64, cookie Cookie3, count Count3, reply *READDIR3res) (status Nfsstat3)

func (*Backend) ReadDirPlus

func (be *Backend) ReadDirPlus(fHandle uint64, reply *READDIRPLUS3res) (status Nfsstat3)
func (be *Backend) ReadLink(linkFHandle uint64, reply *READLINK3res) (status Nfsstat3)

func (*Backend) Remove

func (be *Backend) Remove(dirFHandle uint64, name string, reply *REMOVE3res) (status Nfsstat3)

func (*Backend) Rename

func (be *Backend) Rename(fromFHandle uint64, fromName string, toFHandle uint64,
	toName string, reply *RENAME3res) (status Nfsstat3)

func (*Backend) Rmdir

func (be *Backend) Rmdir(dirFHandle uint64, name string, reply *RMDIR3res) (status Nfsstat3)

func (*Backend) Setattr

func (be *Backend) Setattr(fHandle uint64, newattr Sattr3, guard Sattrguard3, reply *SETATTR3res) (status Nfsstat3)
func (be *Backend) SymLink(linkDirFHandle uint64, symLinkName string, symlinkData string,
	newattr Sattr3, reply *SYMLINK3res) (status Nfsstat3)

func (*Backend) UnMount

func (be *Backend) UnMount(mntPoint string)

func (*Backend) Write

func (be *Backend) Write(fHandle uint64, offset uint64, count uint32, stable Stable_how, data []byte, reply *WRITE3res) (status Nfsstat3)

type COMMIT3args

type COMMIT3args struct {
	File   Nfs_fh3
	Offset Offset3
	Count  Count3
}

type COMMIT3res

type COMMIT3res struct {
	Status  Nfsstat3       `xdr:"union"`
	Resok   COMMIT3resok   `xdr:"unioncase=0"`    /* NFS3_OK */
	Resfail COMMIT3resfail `xdr:"unionnotcase=0"` /* if !NFS3_OK */
}

type COMMIT3resfail

type COMMIT3resfail struct {
	File_wcc Wcc_data
}

type COMMIT3resok

type COMMIT3resok struct {
	File_wcc Wcc_data
	Verf     Writeverf3
}

type CREATE3args

type CREATE3args struct {
	Where Diropargs3
	How   Createhow3
}

type CREATE3res

type CREATE3res struct {
	Status  Nfsstat3       `xdr:"union"`
	Resok   CREATE3resok   `xdr:"unioncase=0"`    /* NFS3_OK */
	Resfail CREATE3resfail `xdr:"unionnotcase=0"` /* if !NFS3_OK */
}

type CREATE3resfail

type CREATE3resfail struct {
	Dir_wcc Wcc_data
}

type CREATE3resok

type CREATE3resok struct {
	Obj            Post_op_fh3
	Obj_attributes Post_op_attr
	Dir_wcc        Wcc_data
}

type Cookie3

type Cookie3 uint64

type Cookieverf3

type Cookieverf3 [NFS3_COOKIEVERFSIZE]byte

type Count3

type Count3 uint32

type Createhow3

type Createhow3 struct {
	Mode           Createmode3 `xdr:"union"`
	Verf           Createverf3 `xdr:"unioncase=2"`    /* EXCLUSIVE*/
	Obj_attributes Sattr3      `xdr:"unionnotcase=2"` /* if UNCHECKED or GUARDED */
}

type Createmode3

type Createmode3 int32
const (
	UNCHECKED Createmode3 = iota
	GUARDED
	EXCLUSIVE
)

type Createverf3

type Createverf3 [NFS3_CREATEVERFSIZE]byte

type Devicedata3

type Devicedata3 struct {
	Dev_attributes Sattr3
	Spec           Specdata3
}

type Dirlist3

type Dirlist3 struct {
	Entries *Entry3 `xdr:"optional"`
	Eof     bool
}

type Dirlistplus3

type Dirlistplus3 struct {
	Entries *Entryplus3
	Eof     bool
}

type Diropargs3

type Diropargs3 struct {
	Dir  Nfs_fh3
	Name Filename3
}

type Entry3

type Entry3 struct {
	Fileid    Fileid3
	Name      Filename3
	Cookie    Cookie3
	Nextentry *Entry3 `xdr:"optional"`
}

type Entryplus3

type Entryplus3 struct {
	Fileid          Fileid3
	Name            Filename3
	Cookie          Cookie3
	Name_attributes Post_op_attr
	Name_handle     Post_op_fh3
	Nextentry       *Entryplus3
}

type Exportnode

type Exportnode struct {
	Ex_dir    string      //Dirpath
	Ex_groups *Groupnode  `xdr:"optional"`
	Ex_next   *Exportnode `xdr:"optional"`
}

type Exports

type Exports struct {
	Exp_node *Exportnode `xdr:"optional"`
}

type FSINFO3args

type FSINFO3args struct {
	Fsroot Nfs_fh3
}

type FSINFO3res

type FSINFO3res struct {
	Status  Nfsstat3       `xdr:"union"`
	Resok   FSINFO3resok   `xdr:"unioncase=0"`    /* NFS3_OK */
	Resfail FSINFO3resfail `xdr:"unionnotcase=0"` /* if !NFS3_OK */
}

type FSINFO3resfail

type FSINFO3resfail struct {
	Obj_attributes Post_op_attr
}

type FSINFO3resok

type FSINFO3resok struct {
	Obj_attributes Post_op_attr
	Rtmax          uint32
	Rtpref         uint32
	Rtmult         uint32
	Wtmax          uint32
	Wtpref         uint32
	Wtmult         uint32
	Dtpref         uint32
	Maxfilesize    Size3
	Time_delta     Nfstime3
	Properties     uint32
}

type FSSTAT3args

type FSSTAT3args struct {
	Fsroot Nfs_fh3
}

type FSSTAT3res

type FSSTAT3res struct {
	Status  Nfsstat3       `xdr:"union"`
	Resok   FSSTAT3resok   `xdr:"unioncase=0"`    /* NFS3_OK */
	Resfail FSSTAT3resfail `xdr:"unionnotcase=0"` /* if !NFS3_OK */
}

type FSSTAT3resfail

type FSSTAT3resfail struct {
	Obj_attributes Post_op_attr
}

type FSSTAT3resok

type FSSTAT3resok struct {
	Obj_attributes Post_op_attr
	Tbytes         Size3
	Fbytes         Size3
	Abytes         Size3
	Tfiles         Size3
	Ffiles         Size3
	Afiles         Size3
	Invarsec       uint32
}

type Fattr3

type Fattr3 struct {
	Type   Ftype3
	Mode   Mode3
	Nlink  uint32
	Uid    Uid3
	Gid    Gid3
	Size   Size3
	Used   Size3
	Rdev   Specdata3
	Fsid   uint64
	Fileid Fileid3
	Atime  Nfstime3
	Mtime  Nfstime3
	Ctime  Nfstime3
}

type Fhandle3

type Fhandle3 []byte

type Fileid3

type Fileid3 uint64

type Filename3

type Filename3 string

type Ftype3

type Ftype3 int32
const (
	NF3REG Ftype3 = iota + 1
	NF3DIR
	NF3BLK
	NF3CHR
	NF3LNK
	NF3SOCK
	NF3FIFO
)

type GETATTR3args

type GETATTR3args struct {
	Object Nfs_fh3
}

type GETATTR3res

type GETATTR3res struct {
	Status Nfsstat3      `xdr:"union"`
	Resok  GETATTR3resok `xdr:"unioncase=0"` /* NFS3_OK */
}

type GETATTR3resok

type GETATTR3resok struct {
	Obj_attributes Fattr3
}

type Gid3

type Gid3 uint32

type Groupnode

type Groupnode struct {
	Gr_name Name
	Gr_next *Groupnode `xdr:"optional"`
}

type LINK3args

type LINK3args struct {
	File Nfs_fh3
	Link Diropargs3
}

type LINK3res

type LINK3res struct {
	Status  Nfsstat3     `xdr:"union"`
	Resok   LINK3resok   `xdr:"unioncase=0"`    /* NFS3_OK */
	Resfail LINK3resfail `xdr:"unionnotcase=0"` /* if !NFS3_OK */
}

type LINK3resfail

type LINK3resfail struct {
	File_attributes Post_op_attr
	Linkdir_wcc     Wcc_data
}

type LINK3resok

type LINK3resok struct {
	File_attributes Post_op_attr
	Linkdir_wcc     Wcc_data
}

type LOOKUP3args

type LOOKUP3args struct {
	What Diropargs3
}

type LOOKUP3res

type LOOKUP3res struct {
	Status  Nfsstat3       `xdr:"union"`
	Resok   LOOKUP3resok   `xdr:"unioncase=0"`    /* NFS3_OK */
	Resfail LOOKUP3resfail `xdr:"unionnotcase=0"` /* if !NFS3_OK */
}

type LOOKUP3resfail

type LOOKUP3resfail struct {
	Dir_attributes Post_op_attr
}

type LOOKUP3resok

type LOOKUP3resok struct {
	Object         Nfs_fh3
	Obj_attributes Post_op_attr
	Dir_attributes Post_op_attr
}

type MKDIR3args

type MKDIR3args struct {
	Where      Diropargs3
	Attributes Sattr3
}

type MKDIR3res

type MKDIR3res struct {
	Status  Nfsstat3      `xdr:"union"`
	Resok   MKDIR3resok   `xdr:"unioncase=0"`    /* NFS3_OK */
	Resfail MKDIR3resfail `xdr:"unionnotcase=0"` /* if !NFS3_OK */
}

type MKDIR3resfail

type MKDIR3resfail struct {
	Dir_wcc Wcc_data
}

type MKDIR3resok

type MKDIR3resok struct {
	Obj            Post_op_fh3
	Obj_attributes Post_op_attr
	Dir_wcc        Wcc_data
}

type MKNOD3args

type MKNOD3args struct {
	Where Diropargs3
	What  Mknoddata3
}

type MKNOD3res

type MKNOD3res struct {
	Status  Nfsstat3      `xdr:"union"`
	Resok   MKNOD3resok   `xdr:"unioncase=0"`    /* NFS3_OK */
	Resfail MKNOD3resfail `xdr:"unionnotcase=0"` /* if !NFS3_OK */
}

type MKNOD3resfail

type MKNOD3resfail struct {
	Dir_wcc Wcc_data
}

type MKNOD3resok

type MKNOD3resok struct {
	Obj            Post_op_fh3
	Obj_attributes Post_op_attr
	Dir_wcc        Wcc_data
}

type Mknoddata3

type Mknoddata3 struct {
	Type             Ftype3      `xdr:"union"`
	Device1          Devicedata3 `xdr:"unioncase=3"` /* NF3BLK  */
	Device2          Devicedata3 `xdr:"unioncase=4"` /* NF3BLK  */
	Pipe_attributes1 Sattr3      `xdr:"unioncase=6"` /* NF3SOCK  */
	Pipe_attributes2 Sattr3      `xdr:"unioncase=7"` /* NF3FIFO  */
}

type Mode3

type Mode3 uint32

type Mountbody

type Mountbody struct {
	Ml_hostname  Name
	Ml_directory string
	Ml_next      Mountlist
}

type Mountlist

type Mountlist *Mountbody

type Mountres3

type Mountres3 struct {
	Fhs_status Mountstat3   `xdr:"union"`
	Mountinfo  Mountres3_ok `xdr:"unioncase=0"` /*  MNT3_OK */
}

type Mountres3_ok

type Mountres3_ok struct {
	Fhandle Fhandle3
	//	Sized_auth_flavors []int32
	Auth_flavors []int32
}

type Mountstat3

type Mountstat3 int32
const (
	MNT3_OK             Mountstat3 = 0
	MNT3ERR_PERM        Mountstat3 = 1
	MNT3ERR_NOENT       Mountstat3 = 2
	MNT3ERR_IO          Mountstat3 = 5
	MNT3ERR_ACCES       Mountstat3 = 13
	MNT3ERR_NOTDIR      Mountstat3 = 20
	MNT3ERR_INVAL       Mountstat3 = 22
	MNT3ERR_NAMETOOLONG Mountstat3 = 63
	MNT3ERR_NOTSUPP     Mountstat3 = 10004
	MNT3ERR_SERVERFAULT Mountstat3 = 10006
)

type Name

type Name string

type NfsProc

type NfsProc int32
Signature of every RPC method :
  • the method is exported.( start with capital Letter )
  • the method has two arguments, both exported (or builtin) types.
  • the method's second argument is a pointer.
  • the method has return type error. func (t *T) MethodName(argType T1, replyType *T2) error

func (*NfsProc) AuthError

func (p *NfsProc) AuthError(args Void, reply *Void) error

func (*NfsProc) GarbageArgs

func (p *NfsProc) GarbageArgs(args Void, reply *Void) error

func (*NfsProc) Mountproc_dump_3_svc

func (p *NfsProc) Mountproc_dump_3_svc(args Void, reply *Mountlist) error

func (*NfsProc) Mountproc_export_3_svc

func (p *NfsProc) Mountproc_export_3_svc(args Void, reply *Exports) error

func (*NfsProc) Mountproc_mnt_3_svc

func (p *NfsProc) Mountproc_mnt_3_svc(args string, reply *Mountres3) error

func (*NfsProc) Mountproc_null_3_svc

func (p *NfsProc) Mountproc_null_3_svc(args Void, reply *Void) error

func (*NfsProc) Mountproc_umnt_3_svc

func (p *NfsProc) Mountproc_umnt_3_svc(args string, reply *Void) error

func (*NfsProc) Mountproc_umntall_3_svc

func (p *NfsProc) Mountproc_umntall_3_svc(args Void, reply *Void) error

func (*NfsProc) Nfsproc3_access_3_svc

func (t *NfsProc) Nfsproc3_access_3_svc(argp *ACCESS3args, reply *ACCESS3res) error

func (*NfsProc) Nfsproc3_commit_3_svc

func (t *NfsProc) Nfsproc3_commit_3_svc(argp *COMMIT3args, reply *COMMIT3res) error

func (*NfsProc) Nfsproc3_create_3_svc

func (t *NfsProc) Nfsproc3_create_3_svc(argp *CREATE3args, reply *CREATE3res) error

func (*NfsProc) Nfsproc3_fsinfo_3_svc

func (t *NfsProc) Nfsproc3_fsinfo_3_svc(argp *FSINFO3args, reply *FSINFO3res) error

func (*NfsProc) Nfsproc3_fsstat_3_svc

func (t *NfsProc) Nfsproc3_fsstat_3_svc(argp *FSSTAT3args, reply *FSSTAT3res) error

func (*NfsProc) Nfsproc3_getattr_3_svc

func (t *NfsProc) Nfsproc3_getattr_3_svc(argp *GETATTR3args, reply *GETATTR3res) error
func (t *NfsProc) Nfsproc3_link_3_svc(argp *LINK3args, reply *LINK3res) error

func (*NfsProc) Nfsproc3_lookup_3_svc

func (t *NfsProc) Nfsproc3_lookup_3_svc(argp *LOOKUP3args, reply *LOOKUP3res) error

func (*NfsProc) Nfsproc3_mkdir_3_svc

func (t *NfsProc) Nfsproc3_mkdir_3_svc(argp *MKDIR3args, reply *MKDIR3res) error

func (*NfsProc) Nfsproc3_mknod_3_svc

func (t *NfsProc) Nfsproc3_mknod_3_svc(argp *MKNOD3args, reply *MKNOD3res) error

func (*NfsProc) Nfsproc3_null_3_svc

func (t *NfsProc) Nfsproc3_null_3_svc(args Void, reply *Void) error

func (*NfsProc) Nfsproc3_pathconf_3_svc

func (t *NfsProc) Nfsproc3_pathconf_3_svc(argp *PATHCONF3args, reply *PATHCONF3res) error

func (*NfsProc) Nfsproc3_read_3_svc

func (t *NfsProc) Nfsproc3_read_3_svc(argp *READ3args, reply *READ3res) error

func (*NfsProc) Nfsproc3_readdir_3_svc

func (t *NfsProc) Nfsproc3_readdir_3_svc(argp *READDIR3args, reply *READDIR3res) error

func (*NfsProc) Nfsproc3_readdirplus_3_svc

func (t *NfsProc) Nfsproc3_readdirplus_3_svc(argp *READDIRPLUS3args, reply *READDIRPLUS3res) error
func (t *NfsProc) Nfsproc3_readlink_3_svc(argp *READLINK3args, reply *READLINK3res) error

func (*NfsProc) Nfsproc3_remove_3_svc

func (t *NfsProc) Nfsproc3_remove_3_svc(argp *REMOVE3args, reply *REMOVE3res) error

func (*NfsProc) Nfsproc3_rename_3_svc

func (t *NfsProc) Nfsproc3_rename_3_svc(argp *RENAME3args, reply *RENAME3res) error

func (*NfsProc) Nfsproc3_rmdir_3_svc

func (t *NfsProc) Nfsproc3_rmdir_3_svc(argp *RMDIR3args, reply *RMDIR3res) error

func (*NfsProc) Nfsproc3_setattr_3_svc

func (t *NfsProc) Nfsproc3_setattr_3_svc(argp *SETATTR3args, reply *SETATTR3res) error
func (t *NfsProc) Nfsproc3_symlink_3_svc(argp *SYMLINK3args, reply *SYMLINK3res) error

func (*NfsProc) Nfsproc3_write_3_svc

func (t *NfsProc) Nfsproc3_write_3_svc(argp *WRITE3args, reply *WRITE3res) error

func (*NfsProc) ProcUnavail

func (p *NfsProc) ProcUnavail(args Void, reply *Void) error

func (*NfsProc) ProgMismatch

func (p *NfsProc) ProgMismatch(args Void, reply *Void) error

func (*NfsProc) ProgUnavail

func (p *NfsProc) ProgUnavail(args Void, reply *Void) error

func (*NfsProc) RPCMismatch

func (p *NfsProc) RPCMismatch(args Void, reply *Void) error

func (*NfsProc) SystemErr

func (p *NfsProc) SystemErr(args Void, reply *Void) error

type Nfs_fh3

type Nfs_fh3 struct {
	Data []byte
}

type Nfspath3

type Nfspath3 string

type Nfsstat3

type Nfsstat3 uint32
const (
	NFS3_OK             Nfsstat3 = 0
	NFS3ERR_PERM        Nfsstat3 = 1
	NFS3ERR_NOENT       Nfsstat3 = 2
	NFS3ERR_IO          Nfsstat3 = 5
	NFS3ERR_NXIO        Nfsstat3 = 6
	NFS3ERR_ACCES       Nfsstat3 = 13
	NFS3ERR_EXIST       Nfsstat3 = 17
	NFS3ERR_XDEV        Nfsstat3 = 18
	NFS3ERR_NODEV       Nfsstat3 = 19
	NFS3ERR_NOTDIR      Nfsstat3 = 20
	NFS3ERR_ISDIR       Nfsstat3 = 21
	NFS3ERR_INVAL       Nfsstat3 = 22
	NFS3ERR_FBIG        Nfsstat3 = 27
	NFS3ERR_NOSPC       Nfsstat3 = 28
	NFS3ERR_ROFS        Nfsstat3 = 30
	NFS3ERR_MLINK       Nfsstat3 = 31
	NFS3ERR_NAMETOOLONG Nfsstat3 = 63
	NFS3ERR_NOTEMPTY    Nfsstat3 = 66
	NFS3ERR_DQUOT       Nfsstat3 = 69
	NFS3ERR_STALE       Nfsstat3 = 70
	NFS3ERR_REMOTE      Nfsstat3 = 71
	NFS3ERR_BADHANDLE   Nfsstat3 = 10001
	NFS3ERR_NOT_SYNC    Nfsstat3 = 10002
	NFS3ERR_BAD_COOKIE  Nfsstat3 = 10003
	NFS3ERR_NOTSUPP     Nfsstat3 = 10004
	NFS3ERR_TOOSMALL    Nfsstat3 = 10005
	NFS3ERR_SERVERFAULT Nfsstat3 = 10006
	NFS3ERR_BADTYPE     Nfsstat3 = 10007
	NFS3ERR_JUKEBOX     Nfsstat3 = 10008
)

type Nfstime3

type Nfstime3 struct {
	Seconds  uint32
	Nseconds uint32
}

type Offset3

type Offset3 uint64

type PATHCONF3args

type PATHCONF3args struct {
	Object Nfs_fh3
}

type PATHCONF3res

type PATHCONF3res struct {
	Status  Nfsstat3         `xdr:"union"`
	Resok   PATHCONF3resok   `xdr:"unioncase=0"`    /* NFS3_OK */
	Resfail PATHCONF3resfail `xdr:"unionnotcase=0"` /* if !NFS3_OK */
}

type PATHCONF3resfail

type PATHCONF3resfail struct {
	Obj_attributes Post_op_attr
}

type PATHCONF3resok

type PATHCONF3resok struct {
	Obj_attributes   Post_op_attr
	Linkmax          uint32
	Name_max         uint32
	No_trunc         bool
	Chown_restricted bool
	Case_insensitive bool
	Case_preserving  bool
}

type Post_op_attr

type Post_op_attr struct {
	Attributes_follow bool   `xdr:"union"`
	Attributes        Fattr3 `xdr:"unioncase=1"`
}

type Post_op_fh3

type Post_op_fh3 struct {
	Handle_follows bool    `xdr:"union"`
	Handle         Nfs_fh3 `xdr:"unioncase=1"`
}

type Pre_op_attr

type Pre_op_attr struct {
	Attributes_follow bool     `xdr:"union"`
	Attributes        Wcc_attr `xdr:"unioncase=1"`
}

type READ3args

type READ3args struct {
	File   Nfs_fh3
	Offset Offset3
	Count  Count3
}

type READ3res

type READ3res struct {
	Status  Nfsstat3     `xdr:"union"`
	Resok   READ3resok   `xdr:"unioncase=0"`    /* NFS3_OK */
	Resfail READ3resfail `xdr:"unionnotcase=0"` /* if !NFS3_OK */
}

type READ3resfail

type READ3resfail struct {
	File_attributes Post_op_attr
}

type READ3resok

type READ3resok struct {
	File_attributes Post_op_attr
	Count           Count3
	Eof             bool
	Data            []byte
}

type READDIR3args

type READDIR3args struct {
	Dir        Nfs_fh3
	Cookie     Cookie3
	Cookieverf Cookieverf3
	Count      Count3
}

type READDIR3res

type READDIR3res struct {
	Status  Nfsstat3        `xdr:"union"`
	Resok   READDIR3resok   `xdr:"unioncase=0"`    /* NFS3_OK */
	Resfail READDIR3resfail `xdr:"unionnotcase=0"` /* if !NFS3_OK */
}

type READDIR3resfail

type READDIR3resfail struct {
	Dir_attributes Post_op_attr
}

type READDIR3resok

type READDIR3resok struct {
	Dir_attributes Post_op_attr
	Cookieverf     Cookieverf3
	Reply          Dirlist3
}

type READDIRPLUS3args

type READDIRPLUS3args struct {
	Dir        Nfs_fh3
	Cookie     Cookie3
	Cookieverf Cookieverf3
	Dircount   Count3
	Maxcount   Count3
}

type READDIRPLUS3res

type READDIRPLUS3res struct {
	Status  Nfsstat3            `xdr:"union"`
	Resok   READDIRPLUS3resok   `xdr:"unioncase=0"`    /* NFS3_OK */
	Resfail READDIRPLUS3resfail `xdr:"unionnotcase=0"` /* if !NFS3_OK */
}

type READDIRPLUS3resfail

type READDIRPLUS3resfail struct {
	Dir_attributes Post_op_attr
}

type READDIRPLUS3resok

type READDIRPLUS3resok struct {
	Dir_attributes Post_op_attr
	Cookieverf     Cookieverf3
	Reply          Dirlistplus3
}

type READLINK3args

type READLINK3args struct {
	Symlink Nfs_fh3
}

type READLINK3res

type READLINK3res struct {
	Status  Nfsstat3         `xdr:"union"`
	Resok   READLINK3resok   `xdr:"unioncase=0"`    /* NFS3_OK */
	Resfail READLINK3resfail `xdr:"unionnotcase=0"` /* if !NFS3_OK */
}

type READLINK3resfail

type READLINK3resfail struct {
	Symlink_attributes Post_op_attr
}

type READLINK3resok

type READLINK3resok struct {
	Symlink_attributes Post_op_attr
	Data               Nfspath3
}

type REMOVE3args

type REMOVE3args struct {
	Object Diropargs3
}

type REMOVE3res

type REMOVE3res struct {
	Status  Nfsstat3       `xdr:"union"`
	Resok   REMOVE3resok   `xdr:"unioncase=0"`    /* NFS3_OK */
	Resfail REMOVE3resfail `xdr:"unionnotcase=0"` /* if !NFS3_OK */
}

type REMOVE3resfail

type REMOVE3resfail struct {
	Dir_wcc Wcc_data
}

type REMOVE3resok

type REMOVE3resok struct {
	Dir_wcc Wcc_data
}

type RENAME3args

type RENAME3args struct {
	From Diropargs3
	To   Diropargs3
}

type RENAME3res

type RENAME3res struct {
	Status  Nfsstat3       `xdr:"union"`
	Resok   RENAME3resok   `xdr:"unioncase=0"`    /* NFS3_OK */
	Resfail RENAME3resfail `xdr:"unionnotcase=0"` /* if !NFS3_OK */
}

type RENAME3resfail

type RENAME3resfail struct {
	Fromdir_wcc Wcc_data
	Todir_wcc   Wcc_data
}

type RENAME3resok

type RENAME3resok struct {
	Fromdir_wcc Wcc_data
	Todir_wcc   Wcc_data
}

type RMDIR3args

type RMDIR3args struct {
	Object Diropargs3
}

type RMDIR3res

type RMDIR3res struct {
	Status  Nfsstat3      `xdr:"union"`
	Resok   RMDIR3resok   `xdr:"unioncase=0"`    /* NFS3_OK */
	Resfail RMDIR3resfail `xdr:"unionnotcase=0"` /* if !NFS3_OK */
}

type RMDIR3resfail

type RMDIR3resfail struct {
	Dir_wcc Wcc_data
}

type RMDIR3resok

type RMDIR3resok struct {
	Dir_wcc Wcc_data
}

type SETATTR3args

type SETATTR3args struct {
	Object         Nfs_fh3
	New_attributes Sattr3
	Guard          Sattrguard3
}

type SETATTR3res

type SETATTR3res struct {
	Status  Nfsstat3        `xdr:"union"`
	Resok   SETATTR3resok   `xdr:"unioncase=0"`    /* NFS3_OK */
	Resfail SETATTR3resfail `xdr:"unionnotcase=0"` /* if !NFS3_OK */
}

type SETATTR3resfail

type SETATTR3resfail struct {
	Obj_wcc Wcc_data
}

type SETATTR3resok

type SETATTR3resok struct {
	Obj_wcc Wcc_data
}

type SYMLINK3args

type SYMLINK3args struct {
	Where   Diropargs3
	Symlink Symlinkdata3
}

type SYMLINK3res

type SYMLINK3res struct {
	Status  Nfsstat3        `xdr:"union"`
	Resok   SYMLINK3resok   `xdr:"unioncase=0"`    /* NFS3_OK */
	Resfail SYMLINK3resfail `xdr:"unionnotcase=0"` /* if !NFS3_OK */
}

type SYMLINK3resfail

type SYMLINK3resfail struct {
	Dir_wcc Wcc_data
}

type SYMLINK3resok

type SYMLINK3resok struct {
	Obj            Post_op_fh3
	Obj_attributes Post_op_attr
	Dir_wcc        Wcc_data
}

type Sattr3

type Sattr3 struct {
	Mode  Set_mode3
	Uid   Set_uid3
	Gid   Set_gid3
	Size  Set_size3
	Atime Set_atime
	Mtime Set_mtime
}

type Sattrguard3

type Sattrguard3 struct {
	Check     bool     `xdr:"union"`
	Obj_ctime Nfstime3 `xdr:"unioncase=1"`
}

type Set_atime

type Set_atime struct {
	Set_it Time_how `xdr:"union"`
	Atime  Nfstime3 `xdr:"unioncase=2"` /* SET_TO_CLIENT_TIME */
}

type Set_gid3

type Set_gid3 struct {
	Set_it bool `xdr:"union"`
	Gid    Gid3 `xdr:"unioncase=1"`
}

type Set_mode3

type Set_mode3 struct {
	Set_it bool  `xdr:"union"`
	Mode   Mode3 `xdr:"unioncase=1"`
}

type Set_mtime

type Set_mtime struct {
	Set_it Time_how `xdr:"union"`
	Mtime  Nfstime3 `xdr:"unioncase=2"` /* SET_TO_CLIENT_TIME */
}

type Set_size3

type Set_size3 struct {
	Set_it bool  `xdr:"union"`
	Size   Size3 `xdr:"unioncase=1"`
}

type Set_uid3

type Set_uid3 struct {
	Set_it bool `xdr:"union"`
	Uid    Uid3 `xdr:"unioncase=1"`
}

type Size3

type Size3 uint64

type Specdata3

type Specdata3 struct {
	Specdata1 uint32
	Specdata2 uint32
}

type Stable_how

type Stable_how int32
const (
	UNSTABLE Stable_how = iota
	DATA_SYNC
	FILE_SYNC
)

type Symlinkdata3

type Symlinkdata3 struct {
	Symlink_attributes Sattr3
	Symlink_data       Nfspath3
}

type Time_how

type Time_how uint32
const (
	DONT_CHANGE Time_how = iota
	SET_TO_SERVER_TIME
	SET_TO_CLIENT_TIME
)

type Uid3

type Uid3 uint32

type Void

type Void struct{}

type WRITE3args

type WRITE3args struct {
	File   Nfs_fh3
	Offset Offset3
	Count  Count3
	Stable Stable_how
	Data   []byte
}

type WRITE3res

type WRITE3res struct {
	Status  Nfsstat3      `xdr:"union"`
	Resok   WRITE3resok   `xdr:"unioncase=0"`    /* NFS3_OK */
	Resfail WRITE3resfail `xdr:"unionnotcase=0"` /* if !NFS3_OK */
}

type WRITE3resfail

type WRITE3resfail struct {
	File_wcc Wcc_data
}

type WRITE3resok

type WRITE3resok struct {
	File_wcc  Wcc_data
	Count     Count3
	Committed Stable_how
	Verf      Writeverf3
}

type Wcc_attr

type Wcc_attr struct {
	Size  Size3
	Mtime Nfstime3
	Ctime Nfstime3
}

type Wcc_data

type Wcc_data struct {
	Before Pre_op_attr
	After  Post_op_attr
}

type Writeverf3

type Writeverf3 [NFS3_WRITEVERFSIZE]byte

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL