Documentation
¶
Overview ¶
Package templatefs provides template p9.Files.
NoopFile can be used to leave some methods unimplemented in incomplete p9.File implementations.
NilCloser, ReadOnlyFile, NotDirectoryFile, and NotSymlinkFile can be used as templates for commonly implemented file types. They are careful not to conflict with each others' methods, so they can be embedded together.
Index ¶
- type IsDir
- type NilCloser
- type NoopFile
- func (NoopFile) Create(name string, mode p9.OpenFlags, permissions p9.FileMode, _ p9.UID, _ p9.GID) (p9.File, p9.QID, uint32, error)
- func (NoopFile) FSync() error
- func (NoopFile) GetAttr(req p9.AttrMask) (p9.QID, p9.AttrMask, p9.Attr, error)
- func (NoopFile) Link(target p9.File, newname string) error
- func (NoopFile) Mkdir(name string, permissions p9.FileMode, _ p9.UID, _ p9.GID) (p9.QID, error)
- func (NoopFile) Mknod(name string, mode p9.FileMode, major uint32, minor uint32, _ p9.UID, _ p9.GID) (p9.QID, error)
- func (NoopFile) Open(mode p9.OpenFlags) (p9.QID, uint32, error)
- func (NoopFile) ReadAt(p []byte, offset int64) (int, error)
- func (NoopFile) Readdir(offset uint64, count uint32) (p9.Dirents, error)
- func (NoopFile) Readlink() (string, error)
- func (NoopFile) Remove() error
- func (NoopFile) Rename(directory p9.File, name string) error
- func (NoopFile) RenameAt(oldname string, newdir p9.File, newname string) error
- func (NoopFile) SetAttr(valid p9.SetAttrMask, attr p9.SetAttr) error
- func (NoopFile) StatFS() (p9.FSStat, error)
- func (NoopFile) Symlink(oldname string, newname string, _ p9.UID, _ p9.GID) (p9.QID, error)
- func (NoopFile) UnlinkAt(name string, flags uint32) error
- func (NoopFile) Walk(names []string) ([]p9.QID, p9.File, error)
- func (NoopFile) WriteAt(p []byte, offset int64) (int, error)
- type NoopRenamed
- type NotDirectoryFile
- func (NotDirectoryFile) Create(name string, mode p9.OpenFlags, permissions p9.FileMode, _ p9.UID, _ p9.GID) (p9.File, p9.QID, uint32, error)
- func (NotDirectoryFile) Link(target p9.File, newname string) error
- func (NotDirectoryFile) Mkdir(name string, permissions p9.FileMode, _ p9.UID, _ p9.GID) (p9.QID, error)
- func (NotDirectoryFile) Mknod(name string, mode p9.FileMode, major uint32, minor uint32, _ p9.UID, _ p9.GID) (p9.QID, error)
- func (NotDirectoryFile) Readdir(offset uint64, count uint32) (p9.Dirents, error)
- func (NotDirectoryFile) RenameAt(oldname string, newdir p9.File, newname string) error
- func (NotDirectoryFile) Symlink(oldname string, newname string, _ p9.UID, _ p9.GID) (p9.QID, error)
- func (NotDirectoryFile) UnlinkAt(name string, flags uint32) error
- type NotSymlinkFile
- type ReadOnlyDir
- func (ReadOnlyDir) Create(name string, mode p9.OpenFlags, permissions p9.FileMode, _ p9.UID, _ p9.GID) (p9.File, p9.QID, uint32, error)
- func (ReadOnlyDir) FSync() error
- func (ReadOnlyDir) Link(target p9.File, newname string) error
- func (ReadOnlyDir) Mkdir(name string, permissions p9.FileMode, _ p9.UID, _ p9.GID) (p9.QID, error)
- func (ReadOnlyDir) Mknod(name string, mode p9.FileMode, major uint32, minor uint32, _ p9.UID, _ p9.GID) (p9.QID, error)
- func (ReadOnlyDir) Readdir(offset uint64, count uint32) (p9.Dirents, error)
- func (ReadOnlyDir) Remove() error
- func (ReadOnlyDir) Rename(directory p9.File, name string) error
- func (ReadOnlyDir) RenameAt(oldname string, newdir p9.File, newname string) error
- func (ReadOnlyDir) SetAttr(valid p9.SetAttrMask, attr p9.SetAttr) error
- func (ReadOnlyDir) Symlink(oldname string, newname string, _ p9.UID, _ p9.GID) (p9.QID, error)
- func (ReadOnlyDir) UnlinkAt(name string, flags uint32) error
- type ReadOnlyFile
- func (ReadOnlyFile) FSync() error
- func (ReadOnlyFile) Flush() error
- func (ReadOnlyFile) Remove() error
- func (ReadOnlyFile) Rename(directory p9.File, name string) error
- func (ReadOnlyFile) SetAttr(valid p9.SetAttrMask, attr p9.SetAttr) error
- func (ReadOnlyFile) WriteAt(p []byte, offset int64) (int, error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type IsDir ¶
type IsDir struct{}
IsDir returns EISDIR for ReadAt and WriteAt.
type NoopFile ¶
type NoopFile struct { p9.DefaultWalkGetAttr NilCloser NoopRenamed }
NoopFile is a p9.File that returns ENOSYS for every method.
func (NoopFile) Create ¶
func (NoopFile) Create(name string, mode p9.OpenFlags, permissions p9.FileMode, _ p9.UID, _ p9.GID) (p9.File, p9.QID, uint32, error)
Create implements p9.File.Create.
func (NoopFile) Mknod ¶
func (NoopFile) Mknod(name string, mode p9.FileMode, major uint32, minor uint32, _ p9.UID, _ p9.GID) (p9.QID, error)
Mknod implements p9.File.Mknod.
type NotDirectoryFile ¶
type NotDirectoryFile struct{}
NotDirectoryFile denies any directory operations with ENOTDIR.
Those operations are Create, Mkdir, Symlink, Link, Mknod, RenameAt, UnlinkAt, and Readdir.
func (NotDirectoryFile) Create ¶
func (NotDirectoryFile) Create(name string, mode p9.OpenFlags, permissions p9.FileMode, _ p9.UID, _ p9.GID) (p9.File, p9.QID, uint32, error)
Create implements p9.File.Create.
func (NotDirectoryFile) Link ¶
func (NotDirectoryFile) Link(target p9.File, newname string) error
Link implements p9.File.Link.
func (NotDirectoryFile) Mkdir ¶
func (NotDirectoryFile) Mkdir(name string, permissions p9.FileMode, _ p9.UID, _ p9.GID) (p9.QID, error)
Mkdir implements p9.File.Mkdir.
func (NotDirectoryFile) Mknod ¶
func (NotDirectoryFile) Mknod(name string, mode p9.FileMode, major uint32, minor uint32, _ p9.UID, _ p9.GID) (p9.QID, error)
Mknod implements p9.File.Mknod.
type NotSymlinkFile ¶
type NotSymlinkFile struct{}
NotSymlinkFile denies Readlink with EINVAL.
EINVAL is returned by readlink(2) when the file is not a symlink.
func (NotSymlinkFile) Readlink ¶
func (NotSymlinkFile) Readlink() (string, error)
Readlink implements p9.File.Readlink.
type ReadOnlyDir ¶
type ReadOnlyDir struct{}
ReadOnlyDir denies any directory and file operations with EROFS
Those operations are Create, Mkdir, Symlink, Link, Mknod, RenameAt, UnlinkAt, Readdir, Rename, SetAttr, FSync, and Remove.
func (ReadOnlyDir) Create ¶
func (ReadOnlyDir) Create(name string, mode p9.OpenFlags, permissions p9.FileMode, _ p9.UID, _ p9.GID) (p9.File, p9.QID, uint32, error)
Create implements p9.File.Create.
func (ReadOnlyDir) Link ¶
func (ReadOnlyDir) Link(target p9.File, newname string) error
Link implements p9.File.Link.
func (ReadOnlyDir) Mknod ¶
func (ReadOnlyDir) Mknod(name string, mode p9.FileMode, major uint32, minor uint32, _ p9.UID, _ p9.GID) (p9.QID, error)
Mknod implements p9.File.Mknod.
func (ReadOnlyDir) Rename ¶
func (ReadOnlyDir) Rename(directory p9.File, name string) error
Rename implements p9.File.Rename.
func (ReadOnlyDir) SetAttr ¶
func (ReadOnlyDir) SetAttr(valid p9.SetAttrMask, attr p9.SetAttr) error
SetAttr implements p9.File.SetAttr.
type ReadOnlyFile ¶
type ReadOnlyFile struct{}
ReadOnlyFile returns EROFS for FSync, SetAttr, Remove, Rename, WriteAt, and nil for Flush.
func (ReadOnlyFile) Rename ¶
func (ReadOnlyFile) Rename(directory p9.File, name string) error
Rename implements p9.File.Rename.
func (ReadOnlyFile) SetAttr ¶
func (ReadOnlyFile) SetAttr(valid p9.SetAttrMask, attr p9.SetAttr) error
SetAttr implements p9.File.SetAttr.