memtar

package
v0.0.0-...-f589a4c Latest Latest
Warning

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

Go to latest
Published: May 30, 2024 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ArrayReader

type ArrayReader []Entry

func (ArrayReader) Entries

func (a ArrayReader) Entries() []Entry

Entries implements TarReader.

type CacheEntry

type CacheEntry struct {
	HTypeflag byte      `json:"t"`
	HName     string    `json:"n"`
	HLinkname string    `json:"l"`
	HSize     int64     `json:"s"`
	HMode     int64     `json:"m"`
	HUid      int       `json:"u"`
	HGid      int       `json:"g"`
	HModTime  time.Time `json:"mt"`
	HDevMajor int64     `json:"da"`
	HDevMinor int64     `json:"di"`

	HFilename string `json:"f"`
	Offset    int64  `json:"o"`
	// contains filtered or unexported fields
}

func (*CacheEntry) FileMode

func (e *CacheEntry) FileMode() fs.FileMode

func (*CacheEntry) Filename

func (e *CacheEntry) Filename() string

Filename implements Entry.

func (*CacheEntry) Gid

func (e *CacheEntry) Gid() int

func (*CacheEntry) Linkname

func (e *CacheEntry) Linkname() string

func (*CacheEntry) ModTime

func (e *CacheEntry) ModTime() time.Time

func (*CacheEntry) Mode

func (e *CacheEntry) Mode() int64

func (*CacheEntry) Name

func (e *CacheEntry) Name() string

func (*CacheEntry) Open

func (e *CacheEntry) Open() io.Reader

Open implements Entry.

func (*CacheEntry) Size

func (e *CacheEntry) Size() int64

func (*CacheEntry) TarHeader

func (e *CacheEntry) TarHeader() *tar.Header

func (*CacheEntry) Typeflag

func (e *CacheEntry) Typeflag() byte

func (*CacheEntry) Uid

func (e *CacheEntry) Uid() int

type Entry

type Entry interface {
	Header
	// Full filename including path.
	Filename() string
	Open() io.Reader
}

type FileInfo

type FileInfo interface {
	fs.FileInfo
	OwnerGroup() (int, int)
	Linkname() string
}

func FileInfoFromEntry

func FileInfoFromEntry(ent Entry) (FileInfo, error)
type Header interface {
	TarHeader() *tar.Header

	Typeflag() byte
	Name() string
	Linkname() string
	Size() int64
	Mode() int64
	FileMode() fs.FileMode
	Uid() int
	Gid() int
	ModTime() time.Time
}

func HeaderFromTarHeader

func HeaderFromTarHeader(hdr *tar.Header) Header

type IndexedReader

type IndexedReader struct {
	// contains filtered or unexported fields
}

func (*IndexedReader) Entries

func (i *IndexedReader) Entries() []Entry

Entries implements TarReader.

type MemoryEntry

type MemoryEntry struct {
	Header
	EntFilename string
	Body        []byte
}

func (*MemoryEntry) Filename

func (e *MemoryEntry) Filename() string

func (*MemoryEntry) Open

func (e *MemoryEntry) Open() io.Reader

type MemoryTarReader

type MemoryTarReader struct {
	// contains filtered or unexported fields
}

func NewReader

func NewReader() *MemoryTarReader

func ReadTarIntoMemory

func ReadTarIntoMemory(r io.Reader) (*MemoryTarReader, error)

func (*MemoryTarReader) AddEntries

func (m *MemoryTarReader) AddEntries(r io.Reader) error

func (*MemoryTarReader) CopyFrom

func (m *MemoryTarReader) CopyFrom(r TarReader) error

func (*MemoryTarReader) Entries

func (m *MemoryTarReader) Entries() []Entry

func (*MemoryTarReader) ReadSeekableTar

func (m *MemoryTarReader) ReadSeekableTar(r SeekableReader) error

func (*MemoryTarReader) ReadTar

func (m *MemoryTarReader) ReadTar(r io.Reader) error

type SeekableReader

type SeekableReader interface {
	io.Reader
	io.Seeker
	io.ReaderAt
}

type TarReader

type TarReader interface {
	Entries() []Entry
}

func CreateTarIndex

func CreateTarIndex(r SeekableReader, w io.Writer) (TarReader, error)

func LoadTarIndex

func LoadTarIndex(underlying SeekableReader, cache io.Reader) (TarReader, error)

Jump to

Keyboard shortcuts

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