func (IsDir) ReadAt(p []byte, offset int64) (int, error) {
	return 0, linux.EISDIR
}
ReadAt implements p9.File.ReadAt.
package templatefs
import (
	"github.com/hugelgupf/p9/internal/linux"
	"github.com/hugelgupf/p9/p9"
)
type NotSymlinkFile struct{}
func (NotSymlinkFile) Readlink() (string, error) {
	return "", linux.EINVAL
}
type NotDirectoryFile struct{}
func (NotDirectoryFile) Create(name string, mode p9.OpenFlags, permissions p9.FileMode, _ p9.UID, _ p9.GID) (p9.File, p9.QID, uint32, error) {
	return nil, p9.QID{}, 0, linux.ENOTDIR
}
func (NotDirectoryFile) Mkdir(name string, permissions p9.FileMode, _ p9.UID, _ p9.GID) (p9.QID, error) {
	return p9.QID{}, linux.ENOTDIR
}
func (NotDirectoryFile) Symlink(oldname string, newname string, _ p9.UID, _ p9.GID) (p9.QID, error) {
	return p9.QID{}, linux.ENOTDIR
}
func (NotDirectoryFile) Link(target p9.File, newname string) error {
	return linux.ENOTDIR
}
func (NotDirectoryFile) Mknod(name string, mode p9.FileMode, major uint32, minor uint32, _ p9.UID, _ p9.GID) (p9.QID, error) {
	return p9.QID{}, linux.ENOTDIR
}
func (NotDirectoryFile) RenameAt(oldname string, newdir p9.File, newname string) error {
	return linux.ENOTDIR
}
func (NotDirectoryFile) UnlinkAt(name string, flags uint32) error {
	return linux.ENOTDIR
}
func (NotDirectoryFile) Readdir(offset uint64, count uint32) (p9.Dirents, error) {
	return nil, linux.ENOTDIR
}
type ReadOnlyFile struct{}
func (ReadOnlyFile) FSync() error {
	return linux.EROFS
}
func (ReadOnlyFile) SetAttr(valid p9.SetAttrMask, attr p9.SetAttr) error {
	return linux.EROFS
}
func (ReadOnlyFile) Remove() error {
	return linux.EROFS
}
func (ReadOnlyFile) Rename(directory p9.File, name string) error {
	return linux.EROFS
}
func (ReadOnlyFile) WriteAt(p []byte, offset int64) (int, error) {
	return 0, linux.EROFS
}
func (ReadOnlyFile) Flush() error {
	return nil
}
type ReadOnlyDir struct{}
func (ReadOnlyDir) Create(name string, mode p9.OpenFlags, permissions p9.FileMode, _ p9.UID, _ p9.GID) (p9.File, p9.QID, uint32, error) {
	return nil, p9.QID{}, 0, linux.EROFS
}
func (ReadOnlyDir) Mkdir(name string, permissions p9.FileMode, _ p9.UID, _ p9.GID) (p9.QID, error) {
	return p9.QID{}, linux.EROFS
}
func (ReadOnlyDir) Symlink(oldname string, newname string, _ p9.UID, _ p9.GID) (p9.QID, error) {
	return p9.QID{}, linux.EROFS
}
func (ReadOnlyDir) Link(target p9.File, newname string) error {
	return linux.EROFS
}
func (ReadOnlyDir) Mknod(name string, mode p9.FileMode, major uint32, minor uint32, _ p9.UID, _ p9.GID) (p9.QID, error) {
	return p9.QID{}, linux.EROFS
}
func (ReadOnlyDir) RenameAt(oldname string, newdir p9.File, newname string) error {
	return linux.EROFS
}
func (ReadOnlyDir) UnlinkAt(name string, flags uint32) error {
	return linux.EROFS
}
func (ReadOnlyDir) Readdir(offset uint64, count uint32) (p9.Dirents, error) {
	return nil, linux.EROFS
}
func (ReadOnlyDir) FSync() error {
	return linux.EROFS
}
func (ReadOnlyDir) SetAttr(valid p9.SetAttrMask, attr p9.SetAttr) error {
	return linux.EROFS
}
func (ReadOnlyDir) Remove() error {
	return linux.EROFS
}
func (ReadOnlyDir) Rename(directory p9.File, name string) error {
	return linux.EROFS
}
type IsDir struct{}
func (IsDir) WriteAt(p []byte, offset int64) (int, error) {
	return 0, linux.EISDIR
}