Documentation
¶
Index ¶
- Constants
- type AnchorVolumeDescriptorPointer
- type Descriptor
- func (d *Descriptor) AnchorVolumeDescriptorPointer() *AnchorVolumeDescriptorPointer
- func (d *Descriptor) Data() []byte
- func (d *Descriptor) FileEntry() *FileEntry
- func (d *Descriptor) FileIdentifierDescriptor() *FileIdentifierDescriptor
- func (d *Descriptor) FileSetDescriptor() *FileSetDescriptor
- func (d *Descriptor) FromBytes(b []byte) *Descriptor
- func (d *Descriptor) LogicalVolumeDescriptor() *LogicalVolumeDescriptor
- func (d *Descriptor) PartitionDescriptor() *PartitionDescriptor
- func (d *Descriptor) PrimaryVolumeDescriptor() *PrimaryVolumeDescriptor
- type EntityID
- type Extent
- type ExtentLong
- type ExtentSmall
- type File
- func (f *File) FileEntry() *FileEntry
- func (f *File) GetFileEntryPosition() int64
- func (f *File) GetFileOffset() int64
- func (f *File) IsDir() bool
- func (f *File) ModTime() time.Time
- func (f *File) Mode() os.FileMode
- func (f *File) Name() string
- func (f *File) NewReader() *io.SectionReader
- func (f *File) ReadDir() []File
- func (f *File) Size() int64
- func (f *File) Sys() interface{}
- type FileEntry
- type FileIdentifierDescriptor
- type FileSetDescriptor
- type ICBTag
- type LogicalVolumeDescriptor
- type PartitionDescriptor
- type PartitionMap
- type PrimaryVolumeDescriptor
- type Udf
Constants ¶
View Source
const ( DESCRIPTOR_PRIMARY_VOLUME = 0x1 DESCRIPTOR_ANCHOR_VOLUME_POINTER = 0x2 DESCRIPTOR_VOLUME_POINTER = 0x3 DESCRIPTOR_IMPLEMENTATION_USE_VOLUME = 0x4 DESCRIPTOR_PARTITION = 0x5 DESCRIPTOR_LOGICAL_VOLUME = 0x6 DESCRIPTOR_UNALLOCATED = 0x7 DESCRIPTOR_TERMINATING = 0x8 DESCRIPTOR_FILE_SET = 0x100 DESCRIPTOR_IDENTIFIER = 0x101 DESCRIPTOR_ALLOCATION_EXTENT = 0x102 DESCRIPTOR_INDIRECT_ENTRY = 0x103 DESCRIPTOR_TERMINAL_ENTRY = 0x104 DESCRIPTOR_FILE_ENTRY = 0x105 )
View Source
const SECTOR_SIZE = 2048
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AnchorVolumeDescriptorPointer ¶
type AnchorVolumeDescriptorPointer struct {
Descriptor Descriptor
MainVolumeDescriptorSeq Extent
ReserveVolumeDescriptorSeq Extent
}
func NewAnchorVolumeDescriptorPointer ¶
func NewAnchorVolumeDescriptorPointer(b []byte) *AnchorVolumeDescriptorPointer
func (*AnchorVolumeDescriptorPointer) FromBytes ¶
func (ad *AnchorVolumeDescriptorPointer) FromBytes(b []byte) *AnchorVolumeDescriptorPointer
type Descriptor ¶
type Descriptor struct {
TagIdentifier uint16
DescriptorVersion uint16
TagChecksum uint8
TagSerialNumber uint16
DescriptorCRC uint16
DescriptorCRCLength uint16
TagLocation uint32
// contains filtered or unexported fields
}
func NewDescriptor ¶
func NewDescriptor(b []byte) *Descriptor
func (*Descriptor) AnchorVolumeDescriptorPointer ¶
func (d *Descriptor) AnchorVolumeDescriptorPointer() *AnchorVolumeDescriptorPointer
func (*Descriptor) Data ¶
func (d *Descriptor) Data() []byte
func (*Descriptor) FileEntry ¶
func (d *Descriptor) FileEntry() *FileEntry
func (*Descriptor) FileIdentifierDescriptor ¶
func (d *Descriptor) FileIdentifierDescriptor() *FileIdentifierDescriptor
func (*Descriptor) FileSetDescriptor ¶
func (d *Descriptor) FileSetDescriptor() *FileSetDescriptor
func (*Descriptor) FromBytes ¶
func (d *Descriptor) FromBytes(b []byte) *Descriptor
func (*Descriptor) LogicalVolumeDescriptor ¶
func (d *Descriptor) LogicalVolumeDescriptor() *LogicalVolumeDescriptor
func (*Descriptor) PartitionDescriptor ¶
func (d *Descriptor) PartitionDescriptor() *PartitionDescriptor
func (*Descriptor) PrimaryVolumeDescriptor ¶
func (d *Descriptor) PrimaryVolumeDescriptor() *PrimaryVolumeDescriptor
type EntityID ¶
func NewEntityID ¶
type ExtentLong ¶
func NewExtentLong ¶
func NewExtentLong(b []byte) ExtentLong
type ExtentSmall ¶
func NewExtentSmall ¶
func NewExtentSmall(b []byte) ExtentSmall
type File ¶
type File struct {
Udf *Udf
Fid *FileIdentifierDescriptor
// contains filtered or unexported fields
}
func (*File) GetFileEntryPosition ¶
func (*File) GetFileOffset ¶
func (*File) NewReader ¶
func (f *File) NewReader() *io.SectionReader
type FileEntry ¶
type FileEntry struct {
Descriptor Descriptor
ICBTag *ICBTag
Uid uint32
Gid uint32
Permissions uint32
FileLinkCount uint16
RecordFormat uint8
RecordDisplayAttributes uint8
RecordLength uint32
InformationLength uint64
LogicalBlocksRecorded uint64
AccessTime time.Time
ModificationTime time.Time
AttributeTime time.Time
Checkpoint uint32
ExtendedAttributeICB ExtentLong
ImplementationIdentifier EntityID
UniqueId uint64
LengthOfExtendedAttributes uint32
LengthOfAllocationDescriptors uint32
ExtendedAttributes []byte
AllocationDescriptors []Extent
}
func NewFileEntry ¶
type FileIdentifierDescriptor ¶
type FileIdentifierDescriptor struct {
Descriptor Descriptor
FileVersionNumber uint16
FileCharacteristics uint8
LengthOfFileIdentifier uint8
ICB ExtentLong
LengthOfImplementationUse uint16
ImplementationUse EntityID
FileIdentifier string
}
func NewFileIdentifierDescriptor ¶
func NewFileIdentifierDescriptor(b []byte) *FileIdentifierDescriptor
func (*FileIdentifierDescriptor) FromBytes ¶
func (fid *FileIdentifierDescriptor) FromBytes(b []byte) *FileIdentifierDescriptor
func (*FileIdentifierDescriptor) Len ¶
func (fid *FileIdentifierDescriptor) Len() uint64
type FileSetDescriptor ¶
type FileSetDescriptor struct {
Descriptor Descriptor
RecordingDateTime time.Time
InterchangeLevel uint16
MaximumInterchangeLevel uint16
CharacterSetList uint32
MaximumCharacterSetList uint32
FileSetNumber uint32
FileSetDescriptorNumber uint32
LogicalVolumeIdentifier string
FileSetIdentifier string
CopyrightFileIdentifier string
AbstractFileIdentifier string
RootDirectoryICB ExtentLong
DomainIdentifier EntityID
NexExtent ExtentLong
}
func NewFileSetDescriptor ¶
func NewFileSetDescriptor(b []byte) *FileSetDescriptor
func (*FileSetDescriptor) FromBytes ¶
func (fsd *FileSetDescriptor) FromBytes(b []byte) *FileSetDescriptor
type ICBTag ¶
type LogicalVolumeDescriptor ¶
type LogicalVolumeDescriptor struct {
Descriptor Descriptor
VolumeDescriptorSequenceNumber uint32
LogicalVolumeIdentifier string
LogicalBlockSize uint32
DomainIdentifier EntityID
LogicalVolumeContentsUse ExtentLong
MapTableLength uint32
NumberOfPartitionMaps uint32
ImplementationIdentifier EntityID
ImplementationUse []byte
IntegritySequenceExtent Extent
PartitionMaps []PartitionMap
}
func NewLogicalVolumeDescriptor ¶
func NewLogicalVolumeDescriptor(b []byte) *LogicalVolumeDescriptor
func (*LogicalVolumeDescriptor) FromBytes ¶
func (lvd *LogicalVolumeDescriptor) FromBytes(b []byte) *LogicalVolumeDescriptor
type PartitionDescriptor ¶
type PartitionDescriptor struct {
Descriptor Descriptor
VolumeDescriptorSequenceNumber uint32
PartitionFlags uint16
PartitionNumber uint16
PartitionContents EntityID
PartitionContentsUse []byte
AccessType uint32
PartitionStartingLocation uint32
PartitionLength uint32
ImplementationIdentifier EntityID
ImplementationUse []byte
}
func NewPartitionDescriptor ¶
func NewPartitionDescriptor(b []byte) *PartitionDescriptor
func (*PartitionDescriptor) FromBytes ¶
func (pd *PartitionDescriptor) FromBytes(b []byte) *PartitionDescriptor
type PartitionMap ¶
type PartitionMap struct {
PartitionMapType uint8
PartitionMapLength uint8
VolumeSequenceNumber uint16
PartitionNumber uint16
}
func (*PartitionMap) FromBytes ¶
func (pm *PartitionMap) FromBytes(b []byte) *PartitionMap
type PrimaryVolumeDescriptor ¶
type PrimaryVolumeDescriptor struct {
Descriptor Descriptor
VolumeDescriptorSequenceNumber uint32
PrimaryVolumeDescriptorNumber uint32
VolumeIdentifier string
VolumeSequenceNumber uint16
MaximumVolumeSequenceNumber uint16
InterchangeLevel uint16
MaximumInterchangeLevel uint16
CharacterSetList uint32
MaximumCharacterSetList uint32
VolumeSetIdentifier string
VolumeAbstract Extent
VolumeCopyrightNoticeExtent Extent
ApplicationIdentifier EntityID
RecordingDateTime time.Time
ImplementationIdentifier EntityID
ImplementationUse []byte
PredecessorVolumeDescriptorSequenceLocation uint32
Flags uint16
}
func NewPrimaryVolumeDescriptor ¶
func NewPrimaryVolumeDescriptor(b []byte) *PrimaryVolumeDescriptor
func (*PrimaryVolumeDescriptor) FromBytes ¶
func (pvd *PrimaryVolumeDescriptor) FromBytes(b []byte) *PrimaryVolumeDescriptor
type Udf ¶
type Udf struct {
// contains filtered or unexported fields
}
func NewUdfFromReader ¶
func (*Udf) PartitionStart ¶
func (*Udf) ReadSector ¶
Click to show internal directories.
Click to hide internal directories.