Class ChmPmgiHeader

  • All Implemented Interfaces:
    Serializable, ChmAccessor<ChmPmgiHeader>

    public class ChmPmgiHeader
    extends Object
    implements ChmAccessor<ChmPmgiHeader>
    Description Note: not always exists An index chunk has the following format: 0000: char[4] 'PMGI' 0004: DWORD Length of quickref/free area at end of directory chunk 0008: Directory index entries (to quickref/free area) The quickref area in an PMGI is the same as in an PMGL The format of a directory index entry is as follows: BYTE: length of name BYTEs: name (UTF-8 encoded) ENCINT: directory listing chunk which starts with name Encoded Integers aka ENCINT An ENCINT is a variable-length integer. The high bit of each byte indicates "continued to the next byte". Bytes are stored most significant to least significant. So, for example, $EA $15 is (((0xEA&0x7F)<<7)|0x15) = 0x3515.

    Note: This class is not in use

    See Also:
    Serialized Form
    • Constructor Detail

      • ChmPmgiHeader

        public ChmPmgiHeader()
    • Method Detail

      • getSignature

        public byte[] getSignature()
        Returns pmgi signature if exists
        Returns:
        signature
      • setSignature

        protected void setSignature​(byte[] signature)
        Sets pmgi signature
        Parameters:
        signature -
      • getFreeSpace

        public long getFreeSpace()
        Returns pmgi free space
        Returns:
        free_space
      • setFreeSpace

        protected void setFreeSpace​(long free_space)
        Sets pmgi free space
        Parameters:
        free_space -
      • toString

        public String toString()
        Returns textual representation of the pmgi header
        Overrides:
        toString in class Object