707391baba
Create Reader Pulled back in Inode decoding and superblock New Data and Metadata readers Added getting of id, fragment, and export table data lazily Added README to squashfs/squashfs
47 lines
817 B
Go
47 lines
817 B
Go
package inode
|
|
|
|
import (
|
|
"encoding/binary"
|
|
"io"
|
|
)
|
|
|
|
type symlinkInit struct {
|
|
LinkCount uint32
|
|
TargetSize uint32
|
|
}
|
|
|
|
type Symlink struct {
|
|
symlinkInit
|
|
Target []byte
|
|
}
|
|
|
|
type ESymlink struct {
|
|
symlinkInit
|
|
Target []byte
|
|
XattrInd uint32
|
|
}
|
|
|
|
func ReadSym(r io.Reader) (s Symlink, err error) {
|
|
err = binary.Read(r, binary.LittleEndian, &s.symlinkInit)
|
|
if err != nil {
|
|
return
|
|
}
|
|
s.Target = make([]byte, s.TargetSize)
|
|
err = binary.Read(r, binary.LittleEndian, &s.Target)
|
|
return
|
|
}
|
|
|
|
func ReadESym(r io.Reader) (s ESymlink, err error) {
|
|
err = binary.Read(r, binary.LittleEndian, &s.symlinkInit)
|
|
if err != nil {
|
|
return
|
|
}
|
|
s.Target = make([]byte, s.TargetSize)
|
|
err = binary.Read(r, binary.LittleEndian, &s.Target)
|
|
if err != nil {
|
|
return
|
|
}
|
|
err = binary.Read(r, binary.LittleEndian, &s.XattrInd)
|
|
return
|
|
}
|