small refactor*
This commit is contained in:
parent
b6b541e050
commit
24a4d30275
232 changed files with 2164 additions and 1906 deletions
server/pkg/go-nfs
90
server/pkg/go-nfs/mountinterface.go
Normal file
90
server/pkg/go-nfs/mountinterface.go
Normal file
|
@ -0,0 +1,90 @@
|
|||
package nfs
|
||||
|
||||
import (
|
||||
"github.com/willscott/go-nfs-client/nfs/rpc"
|
||||
)
|
||||
|
||||
// FHSize is the maximum size of a FileHandle
|
||||
const FHSize = 64
|
||||
|
||||
// MNTNameLen is the maximum size of a mount name
|
||||
const MNTNameLen = 255
|
||||
|
||||
// MntPathLen is the maximum size of a mount path
|
||||
const MntPathLen = 1024
|
||||
|
||||
// FileHandle maps to a fhandle3
|
||||
type FileHandle []byte
|
||||
|
||||
// MountStatus defines the response to the Mount Procedure
|
||||
type MountStatus uint32
|
||||
|
||||
// MountStatus Codes
|
||||
const (
|
||||
MountStatusOk MountStatus = 0
|
||||
MountStatusErrPerm MountStatus = 1
|
||||
MountStatusErrNoEnt MountStatus = 2
|
||||
MountStatusErrIO MountStatus = 5
|
||||
MountStatusErrAcces MountStatus = 13
|
||||
MountStatusErrNotDir MountStatus = 20
|
||||
MountStatusErrInval MountStatus = 22
|
||||
MountStatusErrNameTooLong MountStatus = 63
|
||||
MountStatusErrNotSupp MountStatus = 10004
|
||||
MountStatusErrServerFault MountStatus = 10006
|
||||
)
|
||||
|
||||
// MountProcedure is the valid RPC calls for the mount service.
|
||||
type MountProcedure uint32
|
||||
|
||||
// MountProcedure Codes
|
||||
const (
|
||||
MountProcNull MountProcedure = iota
|
||||
MountProcMount
|
||||
MountProcDump
|
||||
MountProcUmnt
|
||||
MountProcUmntAll
|
||||
MountProcExport
|
||||
)
|
||||
|
||||
func (m MountProcedure) String() string {
|
||||
switch m {
|
||||
case MountProcNull:
|
||||
return "Null"
|
||||
case MountProcMount:
|
||||
return "Mount"
|
||||
case MountProcDump:
|
||||
return "Dump"
|
||||
case MountProcUmnt:
|
||||
return "Umnt"
|
||||
case MountProcUmntAll:
|
||||
return "UmntAll"
|
||||
case MountProcExport:
|
||||
return "Export"
|
||||
default:
|
||||
return "Unknown"
|
||||
}
|
||||
}
|
||||
|
||||
// AuthFlavor is a form of authentication, per rfc1057 section 7.2
|
||||
type AuthFlavor uint32
|
||||
|
||||
// AuthFlavor Codes
|
||||
const (
|
||||
AuthFlavorNull AuthFlavor = 0
|
||||
AuthFlavorUnix AuthFlavor = 1
|
||||
AuthFlavorShort AuthFlavor = 2
|
||||
AuthFlavorDES AuthFlavor = 3
|
||||
)
|
||||
|
||||
// MountRequest contains the format of a client request to open a mount.
|
||||
type MountRequest struct {
|
||||
rpc.Header
|
||||
Dirpath []byte
|
||||
}
|
||||
|
||||
// MountResponse is the server's response with status `MountStatusOk`
|
||||
type MountResponse struct {
|
||||
rpc.Header
|
||||
FileHandle
|
||||
AuthFlavors []int
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue