package sys

import (
	

	
)

// UnimplementedFS is an FS that returns ENOSYS for all functions,
// This should be embedded to have forward compatible implementations.
type UnimplementedFS struct{}

// OpenFile implements FS.OpenFile
func (UnimplementedFS) ( string,  Oflag,  fs.FileMode) (File, Errno) {
	return nil, ENOSYS
}

// Lstat implements FS.Lstat
func (UnimplementedFS) ( string) (sys.Stat_t, Errno) {
	return sys.Stat_t{}, ENOSYS
}

// Stat implements FS.Stat
func (UnimplementedFS) ( string) (sys.Stat_t, Errno) {
	return sys.Stat_t{}, ENOSYS
}

// Readlink implements FS.Readlink
func (UnimplementedFS) ( string) (string, Errno) {
	return "", ENOSYS
}

// Mkdir implements FS.Mkdir
func (UnimplementedFS) ( string,  fs.FileMode) Errno {
	return ENOSYS
}

// Chmod implements FS.Chmod
func (UnimplementedFS) ( string,  fs.FileMode) Errno {
	return ENOSYS
}

// Rename implements FS.Rename
func (UnimplementedFS) (,  string) Errno {
	return ENOSYS
}

// Rmdir implements FS.Rmdir
func (UnimplementedFS) ( string) Errno {
	return ENOSYS
}

// Link implements FS.Link
func (UnimplementedFS) (,  string) Errno {
	return ENOSYS
}

// Symlink implements FS.Symlink
func (UnimplementedFS) (,  string) Errno {
	return ENOSYS
}

// Unlink implements FS.Unlink
func (UnimplementedFS) ( string) Errno {
	return ENOSYS
}

// Utimens implements FS.Utimens
func (UnimplementedFS) ( string, ,  int64) Errno {
	return ENOSYS
}

// UnimplementedFile is a File that returns ENOSYS for all functions,
// except where no-op are otherwise documented.
//
// This should be embedded to have forward compatible implementations.
type UnimplementedFile struct{}

// Dev implements File.Dev
func (UnimplementedFile) () (uint64, Errno) {
	return 0, 0
}

// Ino implements File.Ino
func (UnimplementedFile) () (sys.Inode, Errno) {
	return 0, 0
}

// IsDir implements File.IsDir
func (UnimplementedFile) () (bool, Errno) {
	return false, 0
}

// IsAppend implements File.IsAppend
func (UnimplementedFile) () bool {
	return false
}

// SetAppend implements File.SetAppend
func (UnimplementedFile) (bool) Errno {
	return ENOSYS
}

// Stat implements File.Stat
func (UnimplementedFile) () (sys.Stat_t, Errno) {
	return sys.Stat_t{}, ENOSYS
}

// Read implements File.Read
func (UnimplementedFile) ([]byte) (int, Errno) {
	return 0, ENOSYS
}

// Pread implements File.Pread
func (UnimplementedFile) ([]byte, int64) (int, Errno) {
	return 0, ENOSYS
}

// Seek implements File.Seek
func (UnimplementedFile) (int64, int) (int64, Errno) {
	return 0, ENOSYS
}

// Readdir implements File.Readdir
func (UnimplementedFile) (int) ( []Dirent,  Errno) {
	return nil, ENOSYS
}

// Write implements File.Write
func (UnimplementedFile) ([]byte) (int, Errno) {
	return 0, ENOSYS
}

// Pwrite implements File.Pwrite
func (UnimplementedFile) ([]byte, int64) (int, Errno) {
	return 0, ENOSYS
}

// Truncate implements File.Truncate
func (UnimplementedFile) (int64) Errno {
	return ENOSYS
}

// Sync implements File.Sync
func (UnimplementedFile) () Errno {
	return 0 // not ENOSYS
}

// Datasync implements File.Datasync
func (UnimplementedFile) () Errno {
	return 0 // not ENOSYS
}

// Utimens implements File.Utimens
func (UnimplementedFile) (int64, int64) Errno {
	return ENOSYS
}

// Close implements File.Close
func (UnimplementedFile) () ( Errno) { return }