Files
squashfs/unsquash.go
T
2020-11-10 06:03:56 -06:00

33 lines
687 B
Go

package squashfs
import (
"encoding/binary"
"io"
)
//Squashfs is a squashfs backed by a ReadSeeker.
type Squashfs struct {
rdr *io.ReadSeeker //underlying reader
super Superblock
}
//NewSquashfs creates a new Squashfs backed by the given reader
func NewSquashfs(reader io.ReadSeeker) (*Squashfs, error) {
var superblock Superblock
err := binary.Read(reader, binary.LittleEndian, &superblock)
if err != nil {
return nil, err
}
//TODO: check magic
//TODO: parse more info
return &Squashfs{
rdr: &reader,
super: superblock,
}, nil
}
//GetFlags return the SuperblockFlags of the Squashfs
func (s *Squashfs) GetFlags() SuperblockFlags {
return s.super.GetFlags()
}