Lines Matching full:footer
223 CFooter Footer;
254 bool NeedParent() const { return Footer.Type == kDiskType_Diff; }
256 …{ return Footer.ThereIsDynamic() ? ((UInt64)NumUsedBlocks << Dyn.BlockSizeLog) : Footer.CurrentSiz…
351 // Fixed archive uses only footer
358 bool headerIsOK = Footer.Parse(header);
359 _size = Footer.CurrentSize;
361 if (headerIsOK && !Footer.ThereIsDynamic())
364 if (startPos < Footer.CurrentSize)
366 _posInArcLimit = Footer.CurrentSize;
367 _phySize = Footer.CurrentSize + kHeaderSize;
368 _startOffset = startPos - Footer.CurrentSize;
386 if (!Footer.Parse(buf))
388 _size = Footer.CurrentSize;
389 if (Footer.ThereIsDynamic())
392 _posInArcLimit = Footer.CurrentSize;
393 _phySize = Footer.CurrentSize + kHeaderSize;
394 _startOffset = fileSize - kHeaderSize - Footer.CurrentSize;
410 RINOK(ReadPhy(Footer.DataOffset, buf, kDynSize))
414 UpdatePhySize(Footer.DataOffset + kDynSize);
456 if (Footer.CurrentSize == 0)
461 else if (((Footer.CurrentSize - 1) >> Dyn.BlockSizeLog) + 1 != Dyn.NumBlocks)
509 We skip that sector and check footer again. */
526 AddErrorMessage("Can't find footer");
534 if (_virtPos >= Footer.CurrentSize)
537 const UInt64 rem = Footer.CurrentSize - _virtPos;
544 if (Footer.IsFixed())
700 case kpidCTime: VhdTimeToFileTime(Footer.CTime, prop); break;
701 case kpidClusterSize: if (Footer.ThereIsDynamic()) prop = (UInt32)1 << Dyn.BlockSizeLog; break;
706 Footer.AddTypeString(s);
716 p->Footer.AddTypeString(s);
724 StringToAString(s, Footer.CreatorApp);
728 res.Add_UInt32(Footer.CreatorVersion >> 16);
730 res.Add_UInt32(Footer.CreatorVersion & 0xFFFF);
736 if (Footer.CreatorHostOS == 0x5769326B)
741 StringToAString(s, Footer.CreatorHostOS);
748 char s[sizeof(Footer.Id) * 2 + 2];
749 ConvertDataToHex_Upper(s, Footer.Id, sizeof(Footer.Id));
753 case kpidSavedState: prop = Footer.SavedState ? true : false; break;
801 if (child && memcmp(child->Dyn.ParentId, Footer.Id, 16) != 0)
803 if (Footer.Type != kDiskType_Diff)
917 case kpidSize: prop = Footer.CurrentSize; break;
919 case kpidCTime: VhdTimeToFileTime(Footer.CTime, prop); break;
923 case kpidNumCyls: prop = Footer.NumCyls(); break;
924 case kpidNumHeads: prop = Footer.NumHeads(); break;
925 case kpidSectorsPerTrack: prop = Footer.NumSectorsPerTrack(); break;
939 if (Footer.IsFixed())
945 streamSpec->InitAndSeek(_startOffset, Footer.CurrentSize);
950 if (!Footer.ThereIsDynamic() || !AreParentsOK())