Lines Matching refs:Read
519 /** Read data. */
593 } Read;
1049 if (fIsHostMsc32 != pSSM->u.Read.fIsHostMsc32)
1051 LogRel(("SSM: (fIsHostMsc32 %RTbool => %RTbool)\n", pSSM->u.Read.fIsHostMsc32, fIsHostMsc32));
1052 pSSM->u.Read.fIsHostMsc32 = fIsHostMsc32;
1056 size_t cchCopy = RT_MIN(cchValue, sizeof(pSSM->u.Read.szHostOSAndArch) - 1);
1058 memcpy(pSSM->u.Read.szHostOSAndArch, szValue, cchCopy);
1059 pSSM->u.Read.szHostOSAndArch[cchCopy] = '\0';
2606 * Read more from the stream.
2688 * Read from the current buffer if we got one.
2747 * Read data from the buffer.
3078 * Read until end of file, error or termination.
3202 uint32_t cBits = pSSM->u.Read.cHostBits;
3221 return pSSM->u.Read.fIsHostMsc32;
5071 FileHdr.cbMaxDecompr = RT_SIZEOFMEMB(SSMHANDLE, u.Read.abDataBuffer);
5793 if (pSSM->u.Read.pZipDecompV1)
5795 int rc = RTZipDecompDestroy(pSSM->u.Read.pZipDecompV1);
5797 pSSM->u.Read.pZipDecompV1 = NULL;
5855 if (!pSSM->u.Read.pZipDecompV1)
5857 pSSM->rc = RTZipDecompCreate(&pSSM->u.Read.pZipDecompV1, pSSM, ssmR3ReadInV1);
5865 int rc = pSSM->rc = RTZipDecompress(pSSM->u.Read.pZipDecompV1, pvBuf, cbBuf, NULL);
5887 Assert(!pSSM->u.Read.cbDataBuffer || pSSM->u.Read.cbDataBuffer == pSSM->u.Read.offDataBuffer);
5888 Assert(!pSSM->u.Read.cbRecLeft);
5892 pSSM->u.Read.cbRecLeft = 0;
5893 pSSM->u.Read.cbDataBuffer = 0;
5894 pSSM->u.Read.offDataBuffer = 0;
5895 pSSM->u.Read.fEndOfData = false;
5896 pSSM->u.Read.u8TypeAndFlags = 0;
5915 if ( !pSSM->u.Read.fEndOfData
5918 if ( pSSM->u.Read.cbDataBuffer != pSSM->u.Read.offDataBuffer
5919 && pSSM->u.Read.cbDataBuffer > 0)
5921 LogRel(("SSM: At least %#x bytes left to read\n", pSSM->u.Read.cbDataBuffer - pSSM->u.Read.offDataBuffer));
5928 && !pSSM->u.Read.fEndOfData)
5930 LogRel(("SSM: At least %#x bytes left to read\n", pSSM->u.Read.cbDataBuffer));
5943 * Read raw record bytes, work the progress indicator and unit offset.
5979 AssertLogRelMsgReturn( pSSM->u.Read.cbRecLeft > 1
5980 && pSSM->u.Read.cbRecLeft <= RT_SIZEOFMEMB(SSMHANDLE, u.Read.abComprBuffer) + 2,
5981 ("%#x\n", pSSM->u.Read.cbRecLeft),
5988 pSSM->u.Read.cbRecLeft -= sizeof(cKB);
5991 AssertLogRelMsgReturn( cbDecompr >= pSSM->u.Read.cbRecLeft
5992 && cbDecompr <= RT_SIZEOFMEMB(SSMHANDLE, u.Read.abDataBuffer),
6013 uint32_t cbCompr = pSSM->u.Read.cbRecLeft;
6014 pSSM->u.Read.cbRecLeft = 0;
6027 rc = ssmR3DataReadV2Raw(pSSM, &pSSM->u.Read.abComprBuffer[0], cbCompr);
6030 pb = &pSSM->u.Read.abComprBuffer[0];
6061 AssertLogRelMsgReturn(pSSM->u.Read.cbRecLeft == 1, ("%#x\n", pSSM->u.Read.cbRecLeft), pSSM->rc = VERR_SSM_INTEGRITY_DECOMPRESSION);
6067 pSSM->u.Read.cbRecLeft = 0;
6070 AssertLogRelMsgReturn(cbZero <= RT_SIZEOFMEMB(SSMHANDLE, u.Read.abDataBuffer),
6081 * It sets pSSM->u.Read.cbRecLeft, pSSM->u.Read.u8TypeAndFlags and
6082 * pSSM->u.Read.fEndOfData. When a termination record is encounter, it will be
6091 AssertLogRelReturn(!pSSM->u.Read.fEndOfData, VERR_SSM_LOADED_TOO_MUCH);
6094 * Read the two mandatory bytes.
6104 pSSM->u.Read.u8TypeAndFlags = abHdr[0];
6108 pSSM->u.Read.cbRecLeft = 0;
6109 pSSM->u.Read.fEndOfData = true;
6142 pSSM->u.Read.cbRecLeft = cb;
6234 pSSM->u.Read.cbRecLeft = cb;
6238 ssmR3StrmTell(&pSSM->Strm), pSSM->offUnit, pSSM->u.Read.cbRecLeft,
6239 pSSM->u.Read.u8TypeAndFlags & SSM_REC_TYPE_MASK,
6240 !!(pSSM->u.Read.u8TypeAndFlags & SSM_REC_FLAGS_IMPORTANT),
6263 uint32_t off = pSSM->u.Read.offDataBuffer;
6264 int32_t cbInBuffer = pSSM->u.Read.cbDataBuffer - off;
6265 Log4(("ssmR3DataReadUnbufferedV2: %08llx|%08llx/%08x/%08x: cbBuf=%#x\n", ssmR3StrmTell(&pSSM->Strm), pSSM->offUnit, pSSM->u.Read.cbRecLeft, cbInBuffer, cbBufOrg));
6270 memcpy(pvBuf, &pSSM->u.Read.abDataBuffer[off], cbToCopy);
6273 pSSM->u.Read.cbDataBuffer = 0;
6274 pSSM->u.Read.offDataBuffer = 0;
6278 * Read data.
6283 * Read the next record header if no more data.
6285 if (!pSSM->u.Read.cbRecLeft)
6291 AssertLogRelMsgReturn(!pSSM->u.Read.fEndOfData, ("cbBuf=%zu", cbBuf), pSSM->rc = VERR_SSM_LOADED_TOO_MUCH);
6294 * Read data from the current record.
6297 switch (pSSM->u.Read.u8TypeAndFlags & SSM_REC_TYPE_MASK)
6301 cbToRead = (uint32_t)RT_MIN(cbBuf, pSSM->u.Read.cbRecLeft);
6305 pSSM->u.Read.cbRecLeft -= cbToRead;
6323 rc = ssmR3DataReadV2RawLzf(pSSM, &pSSM->u.Read.abDataBuffer[0], cbToRead);
6326 pSSM->u.Read.cbDataBuffer = cbToRead;
6328 pSSM->u.Read.offDataBuffer = cbToRead;
6329 memcpy(pvBuf, &pSSM->u.Read.abDataBuffer[0], cbToRead);
6342 memset(&pSSM->u.Read.abDataBuffer[0], 0, cbToRead - cbBuf);
6343 pSSM->u.Read.cbDataBuffer = cbToRead - (uint32_t)cbBuf;
6344 pSSM->u.Read.offDataBuffer = 0;
6352 AssertMsgFailedReturn(("%x\n", pSSM->u.Read.u8TypeAndFlags), pSSM->rc = VERR_SSM_BAD_REC_TYPE);
6361 ssmR3StrmTell(&pSSM->Strm), pSSM->offUnit, pSSM->u.Read.cbRecLeft, 0, cbBufOrg, RT_MIN(SSM_LOG_BYTES, cbBufOrg), pvBufOrg, cbBufOrg > SSM_LOG_BYTES ? "..." : ""));
6383 uint32_t off = pSSM->u.Read.offDataBuffer;
6384 int32_t cbInBuffer = pSSM->u.Read.cbDataBuffer - off;
6385 Log4(("ssmR3DataReadBufferedV2: %08llx|%08llx/%08x/%08x: cbBuf=%#x\n", ssmR3StrmTell(&pSSM->Strm), pSSM->offUnit, pSSM->u.Read.cbRecLeft, cbInBuffer, cbBufOrg));
6390 memcpy(pvBuf, &pSSM->u.Read.abDataBuffer[off], cbToCopy);
6394 pSSM->u.Read.cbDataBuffer = 0;
6395 pSSM->u.Read.offDataBuffer = 0;
6404 * Read the next record header if no more data.
6406 if (!pSSM->u.Read.cbRecLeft)
6412 AssertLogRelMsgReturn(!pSSM->u.Read.fEndOfData, ("cbBuf=%zu", cbBuf), pSSM->rc = VERR_SSM_LOADED_TOO_MUCH);
6415 * Read data from the current record.
6419 switch (pSSM->u.Read.u8TypeAndFlags & SSM_REC_TYPE_MASK)
6423 cbToRead = RT_MIN(sizeof(pSSM->u.Read.abDataBuffer), pSSM->u.Read.cbRecLeft);
6424 int rc = ssmR3DataReadV2Raw(pSSM, &pSSM->u.Read.abDataBuffer[0], cbToRead);
6427 pSSM->u.Read.cbRecLeft -= cbToRead;
6428 pSSM->u.Read.cbDataBuffer = cbToRead;
6437 rc = ssmR3DataReadV2RawLzf(pSSM, &pSSM->u.Read.abDataBuffer[0], cbToRead);
6440 pSSM->u.Read.cbDataBuffer = cbToRead;
6449 memset(&pSSM->u.Read.abDataBuffer[0], 0, cbToRead);
6450 pSSM->u.Read.cbDataBuffer = cbToRead;
6455 AssertMsgFailedReturn(("%x\n", pSSM->u.Read.u8TypeAndFlags), pSSM->rc = VERR_SSM_BAD_REC_TYPE);
6457 /*pSSM->u.Read.offDataBuffer = 0;*/
6463 memcpy(pvBuf, &pSSM->u.Read.abDataBuffer[0], cbToCopy);
6467 pSSM->u.Read.offDataBuffer = cbToCopy;
6471 ssmR3StrmTell(&pSSM->Strm), pSSM->offUnit, pSSM->u.Read.cbRecLeft, pSSM->u.Read.cbDataBuffer - pSSM->u.Read.offDataBuffer,
6491 if (RT_UNLIKELY(pSSM->u.Read.uFmtVerMajor == 1))
6497 uint32_t off = pSSM->u.Read.offDataBuffer;
6498 if ( off + cbBuf > pSSM->u.Read.cbDataBuffer
6499 || cbBuf > sizeof(pSSM->u.Read.abDataBuffer))
6501 if (cbBuf <= sizeof(pSSM->u.Read.abDataBuffer) / 8)
6506 memcpy(pvBuf, &pSSM->u.Read.abDataBuffer[off], cbBuf);
6507 pSSM->u.Read.offDataBuffer = off + (uint32_t)cbBuf;
6512 ssmR3StrmTell(&pSSM->Strm), pSSM->offUnit, pSSM->u.Read.cbRecLeft, pSSM->u.Read.cbDataBuffer - pSSM->u.Read.offDataBuffer,
6787 rc = SSMR3Skip(pSSM, pSSM->u.Read.cbGCPhys);
6793 rc = SSMR3Skip(pSSM, pSSM->u.Read.cbGCPtr);
6816 rc = SSMR3Skip(pSSM, pSSM->u.Read.cbGCPhys);
6821 rc = SSMR3Skip(pSSM, pSSM->u.Read.cbGCPtr);
7195 if (RT_LIKELY(sizeof(*pGCPhys) == pSSM->u.Read.cbGCPhys))
7202 Assert(pSSM->u.Read.cbGCPhys == sizeof(uint64_t) || pSSM->u.Read.cbGCPhys == sizeof(uint32_t));
7203 if (pSSM->u.Read.cbGCPhys == sizeof(uint64_t))
7243 if (!pSSM->u.Read.fFixedGCPtrSize)
7245 Log(("SSMR3SetGCPtrSize: %u -> %u bytes\n", pSSM->u.Read.cbGCPtr, cbGCPtr));
7246 pSSM->u.Read.cbGCPtr = cbGCPtr;
7247 pSSM->u.Read.fFixedGCPtrSize = true;
7249 else if ( pSSM->u.Read.cbGCPtr != cbGCPtr
7250 && pSSM->u.Read.uFmtVerMajor == 1
7251 && pSSM->u.Read.uFmtVerMinor == 1)
7252 AssertMsgFailed(("SSMR3SetGCPtrSize: already fixed at %u bytes; requested %u bytes\n", pSSM->u.Read.cbGCPtr, cbGCPtr));
7273 if (RT_LIKELY(sizeof(*pGCPtr) == pSSM->u.Read.cbGCPtr))
7280 Assert(pSSM->u.Read.cbGCPtr == sizeof(uint64_t) || pSSM->u.Read.cbGCPtr == sizeof(uint32_t));
7281 if (pSSM->u.Read.cbGCPtr == sizeof(uint64_t))
7461 if (pSSM->u.Read.uFmtVerMajor >= 2)
7464 * Read until we the end of data condition is raised.
7466 pSSM->u.Read.cbDataBuffer = 0;
7467 pSSM->u.Read.offDataBuffer = 0;
7468 if (!pSSM->u.Read.fEndOfData)
7473 while (pSSM->u.Read.cbRecLeft)
7476 uint32_t cbToRead = RT_MIN(pSSM->u.Read.cbRecLeft, sizeof(abBuf));
7480 pSSM->u.Read.cbRecLeft -= cbToRead;
7487 } while (!pSSM->u.Read.fEndOfData);
7617 Assert(pSSM->u.Read.cbFileHdr < 256 && pSSM->u.Read.cbFileHdr > 32);
7618 Assert(pSSM->u.Read.uFmtVerMajor == 1 || pSSM->u.Read.uFmtVerMajor == 2);
7619 Assert(pSSM->u.Read.uFmtVerMinor <= 2);
7623 if ( pSSM->u.Read.u16VerMajor == 0
7624 || pSSM->u.Read.u16VerMajor > 1000
7625 || pSSM->u.Read.u16VerMinor > 1000
7626 || pSSM->u.Read.u32VerBuild > _1M
7627 || pSSM->u.Read.u32SvnRev == 0
7628 || pSSM->u.Read.u32SvnRev > 10000000 /*100M*/)
7631 pSSM->u.Read.u16VerMajor, pSSM->u.Read.u16VerMinor, pSSM->u.Read.u32VerBuild, pSSM->u.Read.u32SvnRev));
7636 AssertLogRelReturn( pSSM->u.Read.u16VerMajor == 0
7637 && pSSM->u.Read.u16VerMinor == 0
7638 && pSSM->u.Read.u32VerBuild == 0
7639 && pSSM->u.Read.u32SvnRev == 0,
7644 if ( pSSM->u.Read.cHostBits != 32
7645 && pSSM->u.Read.cHostBits != 64)
7647 LogRel(("SSM: Incorrect cHostBits value: %u\n", pSSM->u.Read.cHostBits));
7652 AssertLogRelReturn(pSSM->u.Read.cHostBits == 0, VERR_SSM_INTEGRITY_HEADER);
7654 if ( pSSM->u.Read.cbGCPhys != sizeof(uint32_t)
7655 && pSSM->u.Read.cbGCPhys != sizeof(uint64_t))
7657 LogRel(("SSM: Incorrect cbGCPhys value: %d\n", pSSM->u.Read.cbGCPhys));
7660 if ( pSSM->u.Read.cbGCPtr != sizeof(uint32_t)
7661 && pSSM->u.Read.cbGCPtr != sizeof(uint64_t))
7663 LogRel(("SSM: Incorrect cbGCPtr value: %d\n", pSSM->u.Read.cbGCPtr));
7689 * Read and check the header magic.
7733 pSSM->u.Read.uFmtVerMajor = s_aVers[iVer].uFmtVerMajor;
7734 pSSM->u.Read.uFmtVerMinor = s_aVers[iVer].uFmtVerMinor;
7735 pSSM->u.Read.cbFileHdr = s_aVers[iVer].cbHdr;
7737 rc = ssmR3StrmRead(&pSSM->Strm, (uint8_t *)&uHdr + sizeof(uHdr.v2_0.szMagic), pSSM->u.Read.cbFileHdr - sizeof(uHdr.v2_0.szMagic));
7747 if (pSSM->u.Read.uFmtVerMajor >= 2)
7752 if (pSSM->u.Read.uFmtVerMinor == 0)
7766 if ( uHdr.v2_0.cbMaxDecompr > sizeof(pSSM->u.Read.abDataBuffer)
7775 pSSM->u.Read.cHostBits = uHdr.v2_0.cHostBits;
7776 pSSM->u.Read.u16VerMajor = uHdr.v2_0.u16VerMajor;
7777 pSSM->u.Read.u16VerMinor = uHdr.v2_0.u16VerMinor;
7778 pSSM->u.Read.u32VerBuild = uHdr.v2_0.u32VerBuild;
7779 pSSM->u.Read.u32SvnRev = uHdr.v2_0.u32SvnRev;
7780 pSSM->u.Read.cbGCPhys = uHdr.v2_0.cbGCPhys;
7781 pSSM->u.Read.cbGCPtr = uHdr.v2_0.cbGCPtr;
7782 pSSM->u.Read.fFixedGCPtrSize= true;
7783 pSSM->u.Read.fStreamCrc32 = !!(uHdr.v2_0.fFlags & SSMFILEHDR_FLAGS_STREAM_CRC32);
7788 if (!pSSM->u.Read.fStreamCrc32)
7792 * Read and validate the footer if it's a file.
7801 rc = ssmR3ValidateFooter(&Footer, offFooter, UINT32_MAX, pSSM->u.Read.fStreamCrc32, Footer.u32StreamCRC);
7805 pSSM->u.Read.cbLoadFile = offFooter + sizeof(Footer);
7806 pSSM->u.Read.u32LoadCRC = Footer.u32StreamCRC;
7810 pSSM->u.Read.cbLoadFile = UINT64_MAX;
7811 pSSM->u.Read.u32LoadCRC = 0;
7824 if ( pSSM->u.Read.fStreamCrc32
7830 rc = ssmR3CalcChecksum(&pSSM->Strm, 0, pSSM->u.Read.cbLoadFile - sizeof(SSMFILEFTR), &u32CRC);
7833 if (u32CRC != pSSM->u.Read.u32LoadCRC)
7835 LogRel(("SSM: Invalid CRC! Calculated %#010x, in footer %#010x\n", u32CRC, pSSM->u.Read.u32LoadCRC));
7850 if (pSSM->u.Read.uFmtVerMinor == 1)
7852 pSSM->u.Read.cHostBits = 0; /* unknown */
7853 pSSM->u.Read.u16VerMajor = 0;
7854 pSSM->u.Read.u16VerMinor = 0;
7855 pSSM->u.Read.u32VerBuild = 0;
7856 pSSM->u.Read.u32SvnRev = 0;
7857 pSSM->u.Read.cbLoadFile = uHdr.v1_1.cbFile;
7858 pSSM->u.Read.u32LoadCRC = uHdr.v1_1.u32CRC;
7859 pSSM->u.Read.cbGCPhys = sizeof(RTGCPHYS);
7860 pSSM->u.Read.cbGCPtr = sizeof(RTGCPTR);
7861 pSSM->u.Read.fFixedGCPtrSize = false; /* settable */
7862 pSSM->u.Read.fStreamCrc32 = false;
7867 else if (pSSM->u.Read.uFmtVerMinor == 2)
7869 pSSM->u.Read.cHostBits = uHdr.v1_2.cHostBits;
7870 pSSM->u.Read.u16VerMajor = uHdr.v1_2.u16VerMajor;
7871 pSSM->u.Read.u16VerMinor = uHdr.v1_2.u16VerMinor;
7872 pSSM->u.Read.u32VerBuild = uHdr.v1_2.u32VerBuild;
7873 pSSM->u.Read.u32SvnRev = uHdr.v1_2.u32SvnRev;
7874 pSSM->u.Read.cbLoadFile = uHdr.v1_2.cbFile;
7875 pSSM->u.Read.u32LoadCRC = uHdr.v1_2.u32CRC;
7876 pSSM->u.Read.cbGCPhys = uHdr.v1_2.cbGCPhys;
7877 pSSM->u.Read.cbGCPtr = uHdr.v1_2.cbGCPtr;
7878 pSSM->u.Read.fFixedGCPtrSize = true;
7879 pSSM->u.Read.fStreamCrc32 = false;
7900 if (cbFile != pSSM->u.Read.cbLoadFile)
7902 LogRel(("SSM: File size mismatch. hdr.cbFile=%lld actual %lld\n", pSSM->u.Read.cbLoadFile, cbFile));
7926 cbFile - pSSM->u.Read.cbFileHdr,
7930 if (u32CRC != pSSM->u.Read.u32LoadCRC)
7932 LogRel(("SSM: Invalid CRC! Calculated %#010x, in header %#010x\n", u32CRC, pSSM->u.Read.u32LoadCRC));
7990 pSSM->u.Read.pZipDecompV1 = NULL;
7991 pSSM->u.Read.uFmtVerMajor = UINT32_MAX;
7992 pSSM->u.Read.uFmtVerMinor = UINT32_MAX;
7993 pSSM->u.Read.cbFileHdr = UINT32_MAX;
7994 pSSM->u.Read.cbGCPhys = UINT8_MAX;
7995 pSSM->u.Read.cbGCPtr = UINT8_MAX;
7996 pSSM->u.Read.fFixedGCPtrSize= false;
7997 pSSM->u.Read.fIsHostMsc32 = SSM_HOST_IS_MSC_32;
7998 RT_ZERO(pSSM->u.Read.szHostOSAndArch);
7999 pSSM->u.Read.u16VerMajor = UINT16_MAX;
8000 pSSM->u.Read.u16VerMinor = UINT16_MAX;
8001 pSSM->u.Read.u32VerBuild = UINT32_MAX;
8002 pSSM->u.Read.u32SvnRev = UINT32_MAX;
8003 pSSM->u.Read.cHostBits = UINT8_MAX;
8004 pSSM->u.Read.cbLoadFile = UINT64_MAX;
8006 pSSM->u.Read.cbRecLeft = 0;
8007 pSSM->u.Read.cbDataBuffer = 0;
8008 pSSM->u.Read.offDataBuffer = 0;
8009 pSSM->u.Read.fEndOfData = 0;
8010 pSSM->u.Read.u8TypeAndFlags = 0;
8012 pSSM->u.Read.pCurUnit = NULL;
8013 pSSM->u.Read.uCurUnitVer = UINT32_MAX;
8014 pSSM->u.Read.uCurUnitPass = 0;
8015 pSSM->u.Read.fHaveSetError = false;
8141 * Read the name.
8176 pSSM->u.Read.uCurUnitVer = UnitHdr.u32Version;
8177 pSSM->u.Read.uCurUnitPass = SSM_PASS_FINAL;
8178 pSSM->u.Read.pCurUnit = pUnit;
8236 if (!ASMAtomicXchgBool(&pSSM->u.Read.fHaveSetError, true))
8249 if (!ASMAtomicXchgBool(&pSSM->u.Read.fHaveSetError, true))
8261 pSSM->u.Read.pCurUnit = NULL;
8262 pSSM->u.Read.uCurUnitVer = UINT32_MAX;
8263 pSSM->u.Read.uCurUnitPass = 0;
8343 rc = ssmR3ValidateDirectory(pDir, cbDir, off, DirHdr.cEntries, pSSM->u.Read.cbFileHdr, pSSM->u.Read.u32SvnRev);
8349 * Read and validate the footer.
8357 return ssmR3ValidateFooter(&Footer, off, DirHdr.cEntries, pSSM->u.Read.fStreamCrc32, u32StreamCRC);
8375 * Read the unit header and check its integrity.
8388 pSSM->u.Read.fHaveSetError = true;
8449 pSSM->u.Read.uCurUnitVer = UnitHdr.u32Version;
8450 pSSM->u.Read.uCurUnitPass = UnitHdr.u32Pass;
8451 pSSM->u.Read.pCurUnit = pUnit;
8489 if (!ASMAtomicXchgBool(&pSSM->u.Read.fHaveSetError, true))
8508 pSSM->u.Read.fHaveSetError = true;
8597 if (Handle.u.Read.u16VerMajor)
8599 Handle.u.Read.uFmtVerMajor, Handle.u.Read.uFmtVerMinor,
8600 Handle.u.Read.u16VerMajor, Handle.u.Read.u16VerMinor, Handle.u.Read.u32VerBuild, Handle.u.Read.u32SvnRev,
8601 Handle.u.Read.cHostBits, Handle.u.Read.cbGCPhys, Handle.u.Read.cbGCPtr));
8604 Handle.u.Read.uFmtVerMajor, Handle.u.Read.uFmtVerMinor,
8605 Handle.u.Read.cHostBits, Handle.u.Read.cbGCPhys, Handle.u.Read.cbGCPtr));
8626 Handle.u.Read.pCurUnit = pUnit;
8651 Handle.u.Read.pCurUnit = NULL;
8668 Handle.cbEstTotal = Handle.u.Read.cbLoadFile;
8669 Handle.offEstUnitEnd = Handle.u.Read.cbLoadFile;
8676 if (Handle.u.Read.uFmtVerMajor >= 2)
8680 Handle.u.Read.pCurUnit = NULL;
8681 Handle.u.Read.uCurUnitVer = UINT32_MAX;
8682 Handle.u.Read.uCurUnitPass = 0;
8701 Handle.u.Read.pCurUnit = pUnit;
8727 Handle.u.Read.pCurUnit = NULL;
8734 if (!ASMAtomicXchgBool(&Handle.u.Read.fHaveSetError, true))
8820 PSSMUNIT pUnit = pSSM->u.Read.pCurUnit;
8824 && pSSM->u.Read.uCurUnitPass == SSM_PASS_FINAL)
8826 pszName, uInstance, pszMsg, pSSM->u.Read.uCurUnitVer);
8829 pszName, uInstance, pszMsg, pSSM->u.Read.uCurUnitVer, pSSM->u.Read.uCurUnitPass);
8841 pSSM->u.Read.fHaveSetError = true;
8973 if (pSSM->u.Read.pZipDecompV1)
8975 RTZipDecompDestroy(pSSM->u.Read.pZipDecompV1);
8976 pSSM->u.Read.pZipDecompV1 = NULL;
9001 for (RTFOFF off = pSSM->u.Read.cbFileHdr; ; off += UnitHdr.cbUnit)
9004 * Read the unit header and verify it.
9065 * Read it.
9069 rc = ssmR3ValidateDirectory(pDir, (uint32_t)cbDir, offDir, cDirEntries, pSSM->u.Read.cbFileHdr, pSSM->u.Read.u32SvnRev);
9086 * Read and validate the unit header.
9151 * Read the footer, allocate a temporary buffer for the dictionary and
9206 if (pSSM->u.Read.pZipDecompV1)
9208 RTZipDecompDestroy(pSSM->u.Read.pZipDecompV1);
9209 pSSM->u.Read.pZipDecompV1 = NULL;
9218 if (pSSM->u.Read.uFmtVerMajor >= 2)
9360 return pSSM->u.Read.u32SvnRev;
9385 if ( !pSSM->u.Read.u16VerMajor
9386 && !pSSM->u.Read.u16VerMinor
9387 && !pSSM->u.Read.u32VerBuild)
9389 AssertReturn(pSSM->u.Read.u16VerMajor <= 0xff, UINT32_MAX);
9390 AssertReturn(pSSM->u.Read.u16VerMinor <= 0xff, UINT32_MAX);
9391 AssertReturn(pSSM->u.Read.u32VerBuild <= 0xffff, UINT32_MAX);
9392 return VBOX_FULL_VERSION_MAKE(pSSM->u.Read.u16VerMajor, pSSM->u.Read.u16VerMinor, pSSM->u.Read.u32VerBuild);
9412 return pSSM->u.Read.szHostOSAndArch;