apkgfs

package
v0.2.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 3, 2025 License: MIT Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func UnixToMode

func UnixToMode(mode uint32) os.FileMode

Types

type Inode

type Inode interface {
	Mode() os.FileMode
	Lookup(ctx context.Context, name string) (uint64, error)
	FillAttr(attr *fuse.Attr) error
	Readlink() ([]byte, error)

	Open(flags uint32) (uint32, error)
	OpenDir() (uint32, error)
	ReadDir(input *fuse.ReadIn, out *fuse.DirEntryList, plus bool) error

	// functions for refcount
	AddRef(count uint64) uint64
	DelRef(count uint64) uint64
}
func NewSymlink(link []byte) Inode

type PkgFS

type PkgFS struct {
	fuse.RawFileSystem
	// contains filtered or unexported fields
}

func New

func New(mountPoint string, root RootInode) (*PkgFS, error)

func (*PkgFS) Access

func (p *PkgFS) Access(cancel <-chan struct{}, input *fuse.AccessIn) (code fuse.Status)

func (*PkgFS) CopyFileRange

func (p *PkgFS) CopyFileRange(cancel <-chan struct{}, input *fuse.CopyFileRangeIn) (written uint32, code fuse.Status)

func (*PkgFS) Create

func (p *PkgFS) Create(cancel <-chan struct{}, input *fuse.CreateIn, name string, out *fuse.CreateOut) (code fuse.Status)

func (*PkgFS) Fallocate

func (p *PkgFS) Fallocate(cancel <-chan struct{}, input *fuse.FallocateIn) (code fuse.Status)

func (*PkgFS) Flush

func (p *PkgFS) Flush(cancel <-chan struct{}, input *fuse.FlushIn) fuse.Status

func (*PkgFS) Forget

func (p *PkgFS) Forget(nodeid, nlookup uint64)

func (*PkgFS) Fsync

func (p *PkgFS) Fsync(cancel <-chan struct{}, input *fuse.FsyncIn) (code fuse.Status)

func (*PkgFS) GetAttr

func (p *PkgFS) GetAttr(cancel <-chan struct{}, input *fuse.GetAttrIn, out *fuse.AttrOut) (code fuse.Status)
func (p *PkgFS) Link(cancel <-chan struct{}, input *fuse.LinkIn, filename string, out *fuse.EntryOut) (code fuse.Status)

func (*PkgFS) Lookup

func (p *PkgFS) Lookup(cancel <-chan struct{}, header *fuse.InHeader, name string, out *fuse.EntryOut) (code fuse.Status)

func (*PkgFS) Mkdir

func (p *PkgFS) Mkdir(cancel <-chan struct{}, input *fuse.MkdirIn, name string, out *fuse.EntryOut) (code fuse.Status)

func (*PkgFS) Mknod

func (p *PkgFS) Mknod(cancel <-chan struct{}, input *fuse.MknodIn, name string, out *fuse.EntryOut) (code fuse.Status)

func (*PkgFS) NotifyInode added in v0.2.3

func (p *PkgFS) NotifyInode(ino uint64, offt int64, data []byte) error

func (*PkgFS) Open

func (p *PkgFS) Open(cancel <-chan struct{}, input *fuse.OpenIn, out *fuse.OpenOut) (status fuse.Status)

func (*PkgFS) OpenDir

func (p *PkgFS) OpenDir(cancel <-chan struct{}, input *fuse.OpenIn, out *fuse.OpenOut) (status fuse.Status)

Directory handling

func (*PkgFS) Path

func (p *PkgFS) Path() string

func (*PkgFS) Read

func (p *PkgFS) Read(cancel <-chan struct{}, input *fuse.ReadIn, buf []byte) (fuse.ReadResult, fuse.Status)

func (*PkgFS) ReadDir

func (p *PkgFS) ReadDir(cancel <-chan struct{}, input *fuse.ReadIn, out *fuse.DirEntryList) fuse.Status

func (*PkgFS) ReadDirPlus

func (p *PkgFS) ReadDirPlus(cancel <-chan struct{}, input *fuse.ReadIn, out *fuse.DirEntryList) fuse.Status
func (p *PkgFS) Readlink(cancel <-chan struct{}, header *fuse.InHeader) (out []byte, code fuse.Status)

func (*PkgFS) RemoveXAttr

func (p *PkgFS) RemoveXAttr(cancel <-chan struct{}, header *fuse.InHeader, attr string) (code fuse.Status)

func (*PkgFS) Rename

func (p *PkgFS) Rename(cancel <-chan struct{}, input *fuse.RenameIn, oldName string, newName string) (code fuse.Status)

func (*PkgFS) Rmdir

func (p *PkgFS) Rmdir(cancel <-chan struct{}, header *fuse.InHeader, name string) (code fuse.Status)

func (*PkgFS) Serve

func (p *PkgFS) Serve()

func (*PkgFS) SetAttr

func (p *PkgFS) SetAttr(cancel <-chan struct{}, input *fuse.SetAttrIn, out *fuse.AttrOut) (code fuse.Status)

Write methods

func (*PkgFS) SetXAttr

func (p *PkgFS) SetXAttr(cancel <-chan struct{}, input *fuse.SetXAttrIn, attr string, data []byte) fuse.Status

func (*PkgFS) StatFs

func (p *PkgFS) StatFs(cancel <-chan struct{}, input *fuse.InHeader, out *fuse.StatfsOut) (code fuse.Status)

func (*PkgFS) String

func (p *PkgFS) String() string
func (p *PkgFS) Symlink(cancel <-chan struct{}, header *fuse.InHeader, pointedTo string, linkName string, out *fuse.EntryOut) (code fuse.Status)
func (p *PkgFS) Unlink(cancel <-chan struct{}, header *fuse.InHeader, name string) (code fuse.Status)

func (*PkgFS) Unmount

func (p *PkgFS) Unmount()

func (*PkgFS) Write

func (p *PkgFS) Write(cancel <-chan struct{}, input *fuse.WriteIn, data []byte) (written uint32, code fuse.Status)

type RootInode

type RootInode interface {
	Inode

	GetInode(ino uint64) (Inode, error)
	StatFs(out *fuse.StatfsOut) error
}

type Value

type Value int
const (
	Pid Value = iota
	Uid
	Gid
)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL