123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- package fsdef
- /*
- fsdef.go
- This package handle error related to file systems.
- See comments below for usage.
- */
- import (
- "errors"
- "io"
- "os"
- )
- type File interface {
- Chdir() error
- Chmod(mode os.FileMode) error
- Chown(uid, gid int) error
- Close() error
- Name() string
- Read(b []byte) (n int, err error)
- ReadAt(b []byte, off int64) (n int, err error)
- ReadDir(n int) ([]os.DirEntry, error)
- ReadFrom(r io.Reader) (n int64, err error)
- Readdir(n int) ([]os.FileInfo, error)
- Seek(offset int64, whence int) (ret int64, err error)
- Stat() (os.FileInfo, error)
- Truncate(size int64) error
- Write(b []byte) (n int, err error)
- WriteString(s string) (n int, err error)
- }
- var (
- /*
- READ WRITE PERMISSIONS
- */
- FsReadOnly = "readonly"
- FsWriteOnly = "writeonly"
- FsReadWrite = "readwrite"
- FsDenied = "denied"
- /*
- ERROR TYPES
- */
- //Redirective Error
- ErrRedirectParent = errors.New("Redirect:parent")
- ErrRedirectCurrentRoot = errors.New("Redirect:root")
- ErrRedirectUserRoot = errors.New("Redirect:userroot")
- //Resolve errors
- ErrVpathResolveFailed = errors.New("FS_VPATH_RESOLVE_FAILED")
- ErrRpathResolveFailed = errors.New("FS_RPATH_RESOLVE_FAILED")
- ErrFSHNotFOund = errors.New("FS_FILESYSTEM_HANDLER_NOT_FOUND")
- //Operation errors
- ErrOperationNotSupported = errors.New("FS_OPR_NOT_SUPPORTED")
- ErrNullOperation = errors.New("FS_NULL_OPR")
- )
- //Generate a File Manager redirection error message
- func NewRedirectionError(targetVpath string) error {
- return errors.New("Redirect:" + targetVpath)
- }
- //Check if a file system is network drive
- func IsNetworkDrive(fstype string) bool {
- if fstype == "webdav" || fstype == "ftp" {
- return true
- }
- return false
- }
|