linuxkit/pkg/metadata/vendor/github.com/diskfs/go-diskfs/filesystem/filesystem.go
Itxaka ea6268dd74
Bump go-diskfs to latest (#3902)
Also fix cdrom provider use of the new diskfs

Signed-off-by: Itxaka <itxaka@spectrocloud.com>

Signed-off-by: Itxaka <itxaka@spectrocloud.com>
Co-authored-by: Itxaka <itxaka@spectrocloud.com>
2023-01-23 16:19:32 +02:00

38 lines
1.2 KiB
Go
Vendored

// Package filesystem provides interfaces and constants required for filesystem implementations.
// All interesting implementations are in subpackages, e.g. github.com/diskfs/go-diskfs/filesystem/fat32
package filesystem
import (
"os"
)
// FileSystem is a reference to a single filesystem on a disk
type FileSystem interface {
// Type return the type of filesystem
Type() Type
// Mkdir make a directory
Mkdir(string) error
// ReadDir read the contents of a directory
ReadDir(string) ([]os.FileInfo, error)
// OpenFile open a handle to read or write to a file
OpenFile(string, int) (File, error)
// Label get the label for the filesystem, or "" if none. Be careful to trim it, as it may contain
// leading or following whitespace. The label is passed as-is and not cleaned up at all.
Label() string
// SetLabel changes the label on the writable filesystem. Different file system may hav different
// length constraints.
SetLabel(string) error
}
// Type represents the type of disk this is
type Type int
const (
// TypeFat32 is a FAT32 compatible filesystem
TypeFat32 Type = iota
// TypeISO9660 is an iso filesystem
TypeISO9660
// TypeSquashfs is a squashfs filesystem
TypeSquashfs
)