Class: Cabriolet::Binary::HLPStructures::WinHelpBTreeHeader

Inherits:
BinData::Record
  • Object
show all
Defined in:
lib/cabriolet/binary/hlp_structures.rb

Overview

WinHelp B+ tree header (from FILEHEADER of directory)

Structure from helpdeco:

  • 2 bytes: Magic (0x293B)

  • 2 bytes: Flags (bit 0x0002 always 1, bit 0x0400 1 if directory)

  • 2 bytes: PageSize (0x0400=1k if directory, 0x0800=2k else)

  • 16 bytes: Structure (string describing structure of data)

  • 2 bytes: MustBeZero (0)

  • 2 bytes: PageSplits (number of page splits Btree has suffered)

  • 2 bytes: RootPage (page number of Btree root page)

  • 2 bytes: MustBeNegOne (0xFFFF)

  • 2 bytes: TotalPages (number of Btree pages)

  • 2 bytes: NLevels (number of levels of Btree)

  • 4 bytes: TotalBtreeEntries (number of entries in Btree)

Total: 38 bytes (not 30!)