Home | History | Annotate | Download | only in decoder

Lines Matching refs:fileDesc

59     int fileDesc;
85 * @param[in] fileDesc A file descriptor.
89 static int FwdLockFile_AcquireSession(int fileDesc) {
91 if (fileDesc < 0) {
97 int candidateSessionId = (fileDesc + i) % MAX_NUM_SESSIONS;
101 sessionPtrs[candidateSessionId]->fileDesc = fileDesc;
121 * @param[in] fileDesc A file descriptor.
125 static int FwdLockFile_FindSession(int fileDesc) {
127 if (fileDesc < 0) {
133 int candidateSessionId = (fileDesc + i) % MAX_NUM_SESSIONS;
135 sessionPtrs[candidateSessionId]->fileDesc == fileDesc) {
255 int FwdLockFile_attach(int fileDesc) {
256 int sessionId = FwdLockFile_AcquireSession(fileDesc);
260 if (read(fileDesc, pSession->topHeader, TOP_HEADER_SIZE) == TOP_HEADER_SIZE &&
266 read(fileDesc, pSession->pContentType, pSession->contentTypeLength) ==
272 read(fileDesc, pSession->pEncryptedSessionKey,
275 read(fileDesc, pSession->dataSignature, SHA1_HASH_SIZE) ==
277 read(fileDesc, pSession->headerSignature, SHA1_HASH_SIZE) ==
297 int fileDesc = open(pFilename, O_RDONLY);
298 if (fileDesc < 0) {
300 return fileDesc;
303 if (FwdLockFile_attach(fileDesc) < 0) {
304 (void)close(fileDesc);
305 fileDesc = -1;
307 return fileDesc;
310 ssize_t FwdLockFile_read(int fileDesc, void *pBuffer, size_t numBytes) {
312 int sessionId = FwdLockFile_FindSession(fileDesc);
318 numBytesRead = read(pSession->fileDesc, pBuffer, numBytes);
327 off64_t FwdLockFile_lseek(int fileDesc, off64_t offset, int whence) {
329 int sessionId = FwdLockFile_FindSession(fileDesc);
336 newFilePos = lseek64(pSession->fileDesc, pSession->dataOffset + offset, whence);
340 newFilePos = lseek64(pSession->fileDesc, offset, whence);
351 (void)lseek64(pSession->fileDesc, pSession->dataOffset + pSession->filePos,
366 int FwdLockFile_detach(int fileDesc) {
367 int sessionId = FwdLockFile_FindSession(fileDesc);
376 int FwdLockFile_close(int fileDesc) {
377 return (FwdLockFile_detach(fileDesc) == 0) ? close(fileDesc) : -1;
380 int FwdLockFile_CheckDataIntegrity(int fileDesc) {
382 int sessionId = FwdLockFile_FindSession(fileDesc);
394 if (lseek64(pSession->fileDesc, pSession->dataOffset, SEEK_SET) !=
401 read(pSession->fileDesc, pData->buffer, SIG_CALC_BUFFER_SIZE)) > 0) {
412 (void)lseek64(pSession->fileDesc, pSession->dataOffset + pSession->filePos,
421 int FwdLockFile_CheckHeaderIntegrity(int fileDesc) {
423 int sessionId = FwdLockFile_FindSession(fileDesc);
444 int FwdLockFile_CheckIntegrity(int fileDesc) {
445 return FwdLockFile_CheckHeaderIntegrity(fileDesc) && FwdLockFile_CheckDataIntegrity(fileDesc);
448 const char *FwdLockFile_GetContentType(int fileDesc) {
449 int sessionId = FwdLockFile_FindSession(fileDesc);