Lines Matching defs:pInt

202     PFILESTORAGEINTERNAL pInt = (PFILESTORAGEINTERNAL)RTMemAllocZ(sizeof(FILESTORAGEINTERNAL));
203 if (!pInt)
206 pInt->pfnCompleted = pfnCompleted;
208 int rc = RTFileOpen(&pInt->file, pszLocation, fOpen);
211 RTMemFree(pInt);
213 *ppInt = pInt;
223 PFILESTORAGEINTERNAL pInt = (PFILESTORAGEINTERNAL)pvStorage;
227 int rc = RTFileClose(pInt->file);
230 RTMemFree(pInt);
276 PFILESTORAGEINTERNAL pInt = (PFILESTORAGEINTERNAL)pvStorage;
280 return RTFileGetSize(pInt->file, pcbSize);
288 PFILESTORAGEINTERNAL pInt = (PFILESTORAGEINTERNAL)pvStorage;
292 return RTFileSetSize(pInt->file, cbSize);
301 PFILESTORAGEINTERNAL pInt = (PFILESTORAGEINTERNAL)pvStorage;
303 return RTFileWriteAt(pInt->file, uOffset, pvBuf, cbWrite, pcbWritten);
314 PFILESTORAGEINTERNAL pInt = (PFILESTORAGEINTERNAL)pvStorage;
316 return RTFileReadAt(pInt->file, uOffset, pvBuf, cbRead, pcbRead);
326 PFILESTORAGEINTERNAL pInt = (PFILESTORAGEINTERNAL)pvStorage;
328 return RTFileFlush(pInt->file);
350 PTARSTORAGEINTERNAL pInt = (PTARSTORAGEINTERNAL)RTMemAllocZ(sizeof(TARSTORAGEINTERNAL));
351 if (pInt)
353 pInt->pfnCompleted = pfnCompleted;
358 rc = RTTarFileOpen((RTTAR)pvUser, &pInt->hTarFile, RTPathFilename(pszLocation), fOpen);
360 *ppInt = pInt;
362 RTMemFree(pInt);
375 PTARSTORAGEINTERNAL pInt = (PTARSTORAGEINTERNAL)pvStorage;
379 int rc = RTTarFileClose(pInt->hTarFile);
380 pInt->hTarFile = NIL_RTTARFILE;
383 RTMemFree(pInt);
396 PTARSTORAGEINTERNAL pInt = (PTARSTORAGEINTERNAL)pvStorage;
400 return RTTarFileGetSize(pInt->hTarFile, pcbSize);
409 PTARSTORAGEINTERNAL pInt = (PTARSTORAGEINTERNAL)pvStorage;
413 return RTTarFileSetSize(pInt->hTarFile, cbSize);
423 PTARSTORAGEINTERNAL pInt = (PTARSTORAGEINTERNAL)pvStorage;
427 return RTTarFileWriteAt(pInt->hTarFile, uOffset, pvBuf, cbWrite, pcbWritten);
439 PTARSTORAGEINTERNAL pInt = (PTARSTORAGEINTERNAL)pvStorage;
443 return RTTarFileReadAt(pInt->hTarFile, uOffset, pvBuf, cbRead, pcbRead);
822 PSHASTORAGEINTERNAL pInt = (PSHASTORAGEINTERNAL)pvUser;
824 PVDINTERFACEIO pIfIo = VDIfIoGet(pInt->pShaStorage->pVDImageIfaces);
832 uint32_t u32Status = ASMAtomicReadU32(&pInt->u32Status);
839 rc = RTSemEventWait(pInt->newStatusEvent, 100);
847 ASMAtomicCmpXchgU32(&pInt->u32Status, STATUS_WRITING, STATUS_WRITE);
848 size_t cbAvail = RTCircBufUsed(pInt->pCircBuf);
861 RTCircBufAcquireReadBlock(pInt->pCircBuf, cbMemToRead, (void**)&pcBuf, &cbMemRead);
872 rc = vdIfIoFileWriteSync(pIfIo, pInt->pvStorage, pInt->cbCurFile, &pcBuf[cbAllWritten],
874 // RTPrintf ("%lu %lu %lu %Rrc\n", pInt->cbCurFile, cbToRead, cbRead, rc);
881 pInt->cbCurFile += cbWritten;
885 && pInt->pShaStorage->fCreateDigest)
887 if (pInt->pShaStorage->fSha256)
888 RTSha256Update(&pInt->ctx.Sha256, pcBuf, cbAllWritten);
890 RTSha1Update(&pInt->ctx.Sha1, pcBuf, cbAllWritten);
893 RTCircBufReleaseReadBlock(pInt->pCircBuf, cbAllWritten);
899 if (ASMAtomicCmpXchgU32(&pInt->u32Status, STATUS_WAIT, STATUS_WRITING))
900 rc = RTSemEventSignal(pInt->workFinishedEvent);
905 ASMAtomicCmpXchgU32(&pInt->u32Status, STATUS_READING, STATUS_READ);
906 size_t cbAvail = RTCircBufFree(pInt->pCircBuf);
919 RTCircBufAcquireWriteBlock(pInt->pCircBuf, cbMemToWrite, (void**)&pcBuf, &cbMemWrite);
930 rc = vdIfIoFileReadSync(pIfIo, pInt->pvStorage, pInt->cbCurFile, &pcBuf[cbAllRead], cbToRead, &cbRead);
931 // RTPrintf ("%lu %lu %lu %Rrc\n", pInt->cbCurFile, cbToRead, cbRead, rc);
941 ASMAtomicWriteBool(&pInt->fEOF, true);
945 pInt->cbCurFile += cbRead;
949 && pInt->pShaStorage->fCreateDigest)
951 if (pInt->pShaStorage->fSha256)
952 RTSha256Update(&pInt->ctx.Sha256, pcBuf, cbAllRead);
954 RTSha1Update(&pInt->ctx.Sha1, pcBuf, cbAllRead);
957 RTCircBufReleaseWriteBlock(pInt->pCircBuf, cbAllRead);
963 if (ASMAtomicCmpXchgU32(&pInt->u32Status, STATUS_WAIT, STATUS_READING))
964 rc = RTSemEventSignal(pInt->workFinishedEvent);
976 ASMAtomicWriteU32(&pInt->u32Status, STATUS_END);
977 rc = RTSemEventSignal(pInt->workFinishedEvent);
981 DECLINLINE(int) shaSignalManifestThread(PSHASTORAGEINTERNAL pInt, uint32_t uStatus)
983 ASMAtomicWriteU32(&pInt->u32Status, uStatus);
984 return RTSemEventSignal(pInt->newStatusEvent);
987 DECLINLINE(int) shaWaitForManifestThreadFinished(PSHASTORAGEINTERNAL pInt)
994 uint32_t u32Status = ASMAtomicReadU32(&pInt->u32Status);
1000 rc = RTSemEventWait(pInt->workFinishedEvent, 100);
1007 DECLINLINE(int) shaFlushCurBuf(PSHASTORAGEINTERNAL pInt)
1010 if (pInt->fOpenMode & RTFILE_O_WRITE)
1013 rc = shaSignalManifestThread(pInt, STATUS_WRITE);
1018 rc = shaWaitForManifestThreadFinished(pInt);
1040 PSHASTORAGEINTERNAL pInt = (PSHASTORAGEINTERNAL)RTMemAllocZ(sizeof(SHASTORAGEINTERNAL));
1041 if (!pInt)
1047 pInt->pfnCompleted = pfnCompleted;
1048 pInt->pShaStorage = pShaStorage;
1049 pInt->fEOF = false;
1050 pInt->fOpenMode = fOpen;
1051 pInt->u32Status = STATUS_WAIT;
1054 rc = RTCircBufCreate(&pInt->pCircBuf, _1M * 2);
1063 pInt->cbZeroBuf = _1K;
1064 pInt->pvZeroBuf = RTMemAllocZ(pInt->cbZeroBuf);
1065 if (!pInt->pvZeroBuf)
1074 rc = RTSemEventCreate(&pInt->newStatusEvent);
1079 rc = RTSemEventCreate(&pInt->workFinishedEvent);
1083 rc = RTThreadCreate(&pInt->pWorkerThread, shaCalcWorkerThread, pInt, 0, RTTHREADTYPE_MAIN_HEAVY_WORKER,
1092 RTSha256Init(&pInt->ctx.Sha256);
1094 RTSha1Init(&pInt->ctx.Sha1);
1098 rc = vdIfIoFileOpen(pIfIo, pszLocation, fOpen, pInt->pfnCompleted,
1099 &pInt->pvStorage);
1106 rc = shaSignalManifestThread(pInt, STATUS_READ);
1113 if (pInt->pWorkerThread)
1115 shaSignalManifestThread(pInt, STATUS_END);
1116 RTThreadWait(pInt->pWorkerThread, RT_INDEFINITE_WAIT, 0);
1118 if (pInt->workFinishedEvent)
1119 RTSemEventDestroy(pInt->workFinishedEvent);
1120 if (pInt->newStatusEvent)
1121 RTSemEventDestroy(pInt->newStatusEvent);
1122 if (pInt->pCircBuf)
1123 RTCircBufDestroy(pInt->pCircBuf);
1124 if (pInt->pvZeroBuf)
1125 RTMemFree(pInt->pvZeroBuf);
1126 RTMemFree(pInt);
1129 *ppInt = pInt;
1144 PSHASTORAGEINTERNAL pInt = (PSHASTORAGEINTERNAL)pvStorage;
1151 rc = shaFlushCurBuf(pInt);
1153 if (pInt->pWorkerThread)
1156 rc = shaSignalManifestThread(pInt, STATUS_END);
1158 rc = RTThreadWait(pInt->pWorkerThread, RT_INDEFINITE_WAIT, 0);
1170 RTSha256Final(&pInt->ctx.Sha256, auchDig);
1175 RTSha1Final(&pInt->ctx.Sha1, auchDig);
1192 rc = vdIfIoFileClose(pIfIo, pInt->pvStorage);
1194 // RTPrintf("%lu %lu\n", pInt->calls, pInt->waits);
1197 if (pInt->workFinishedEvent)
1198 RTSemEventDestroy(pInt->workFinishedEvent);
1199 if (pInt->newStatusEvent)
1200 RTSemEventDestroy(pInt->newStatusEvent);
1201 if (pInt->pCircBuf)
1202 RTCircBufDestroy(pInt->pCircBuf);
1203 if (pInt->pvZeroBuf)
1204 RTMemFree(pInt->pvZeroBuf);
1205 RTMemFree(pInt);
1278 PSHASTORAGEINTERNAL pInt = (PSHASTORAGEINTERNAL)pvStorage;
1283 int rc = vdIfIoFileGetSize(pIfIo, pInt->pvStorage, &cbSize);
1287 *pcbSize = RT_MAX(pInt->cbCurAll, cbSize);
1302 PSHASTORAGEINTERNAL pInt = (PSHASTORAGEINTERNAL)pvStorage;
1306 return vdIfIoFileSetSize(pIfIo, pInt->pvStorage, cbSize);
1320 PSHASTORAGEINTERNAL pInt = (PSHASTORAGEINTERNAL)pvStorage;
1325 AssertMsgReturn(pInt->cbCurAll <= uOffset, ("Backward seeking is not allowed (uOffset: %7lu cbCurAll: %7lu)!",
1326 uOffset, pInt->cbCurAll), VERR_INVALID_PARAMETER);
1332 if (pInt->cbCurAll < uOffset)
1334 size_t cbSize = (size_t)(uOffset - pInt->cbCurAll);
1341 size_t cbToWrite = RT_MIN(pInt->cbZeroBuf, cbSize - cbAllWritten);
1343 rc = shaWriteSyncCallback(pvUser, pvStorage, pInt->cbCurAll,
1344 pInt->pvZeroBuf, cbToWrite, &cbWritten);
1360 size_t cbAvail = RTCircBufFree(pInt->pCircBuf);
1362 && pInt->fEOF)
1368 rc = shaSignalManifestThread(pInt, STATUS_WRITE);
1374 rc = shaWaitForManifestThreadFinished(pInt);
1377 cbAvail = RTCircBufFree(pInt->pCircBuf);
1379 // pInt->waits++;
1386 RTCircBufAcquireWriteBlock(pInt->pCircBuf, cbToWrite, (void**)&pcBuf, &cbMemWritten);
1389 RTCircBufReleaseWriteBlock(pInt->pCircBuf, cbMemWritten);
1391 pInt->cbCurAll += cbMemWritten;
1399 && RTCircBufUsed(pInt->pCircBuf) >= (RTCircBufSize(pInt->pCircBuf) / 2))
1400 rc = shaSignalManifestThread(pInt, STATUS_WRITE);
1418 PSHASTORAGEINTERNAL pInt = (PSHASTORAGEINTERNAL)pvStorage;
1422 // pInt->calls++;
1427 if (pInt->cbCurAll < uOffset)
1429 rc = shaReadSyncCallback(pvUser, pvStorage, pInt->cbCurAll, 0,
1430 (size_t)(uOffset - pInt->cbCurAll), 0);
1435 else if (uOffset < pInt->cbCurAll)
1446 cbAvail = RTCircBufUsed(pInt->pCircBuf);
1449 && pInt->fEOF
1450 && !RTCircBufIsWriting(pInt->pCircBuf))
1460 rc = shaSignalManifestThread(pInt, STATUS_READ);
1466 rc = shaWaitForManifestThreadFinished(pInt);
1469 cbAvail = RTCircBufUsed(pInt->pCircBuf);
1471 // pInt->waits++;
1478 RTCircBufAcquireReadBlock(pInt->pCircBuf, cbToRead, (void**)&pcBuf, &cbMemRead);
1482 RTCircBufReleaseReadBlock(pInt->pCircBuf, cbMemRead);
1485 pInt->cbCurAll += cbMemRead;
1497 && RTCircBufFree(pInt->pCircBuf) >= (RTCircBufSize(pInt->pCircBuf) / 2))
1498 rc = shaSignalManifestThread(pInt, STATUS_READ);
1515 PSHASTORAGEINTERNAL pInt = (PSHASTORAGEINTERNAL)pvStorage;
1518 int rc = shaFlushCurBuf(pInt);
1522 return vdIfIoFileFlushSync(pIfIo, pInt->pvStorage);