Esempio n. 1
0
 public static function parse(BinaryStreamParser $parser)
 {
     $header = new Header();
     $header->size = $parser->readUInt32();
     $header->archiveSize = $parser->readUInt32();
     $header->formatVersion = $parser->readUInt16();
     $header->blockSize = $parser->readUInt16();
     $header->hashTablePos = $parser->readUInt32();
     $header->blockTablePos = $parser->readUInt32();
     $header->hashTableSize = $parser->readUInt32();
     $header->blockTableSize = $parser->readUInt32();
     if ($header->formatVersion >= self::ARCHIVE_FORMAT_2) {
         $parser->skip(8);
         //FIXME HiBlockTablePos64
         $header->hashTablePosHi = $parser->readUInt16();
         $header->blockTablePosHi = $parser->readUInt16();
     }
     // TODO implement other formats
     return $header;
 }