Lines Matching defs:pFileReader

74     PRTLDRREADERFILE pFileReader = (PRTLDRREADERFILE)pReader;
79 if (pFileReader->off != off)
81 int rc = RTFileSeek(pFileReader->hFile, off, RTFILE_SEEK_BEGIN, NULL);
84 pFileReader->off = -1;
87 pFileReader->off = off;
93 int rc = RTFileRead(pFileReader->hFile, pvBuf, cb, NULL);
95 pFileReader->off += cb;
97 pFileReader->off = -1;
105 PRTLDRREADERFILE pFileReader = (PRTLDRREADERFILE)pReader;
106 return pFileReader->off;
113 PRTLDRREADERFILE pFileReader = (PRTLDRREADERFILE)pReader;
114 return pFileReader->cbFile;
121 PRTLDRREADERFILE pFileReader = (PRTLDRREADERFILE)pReader;
122 return pFileReader->szFilename;
129 PRTLDRREADERFILE pFileReader = (PRTLDRREADERFILE)pReader;
134 if (pFileReader->pvMapping)
136 pFileReader->cMappings++;
137 *ppvBits = pFileReader->pvMapping;
144 size_t cb = (size_t)pFileReader->cbFile;
145 if ((RTFOFF)cb != pFileReader->cbFile)
147 pFileReader->pvMapping = RTMemAlloc(cb);
148 if (!pFileReader->pvMapping)
150 int rc = rtldrFileRead(pReader, pFileReader->pvMapping, cb, 0);
153 pFileReader->cMappings = 1;
154 *ppvBits = pFileReader->pvMapping;
158 RTMemFree(pFileReader->pvMapping);
159 pFileReader->pvMapping = NULL;
169 PRTLDRREADERFILE pFileReader = (PRTLDRREADERFILE)pReader;
170 AssertReturn(pFileReader->cMappings > 0, VERR_INVALID_PARAMETER);
172 if (!--pFileReader->cMappings)
174 RTMemFree(pFileReader->pvMapping);
175 pFileReader->pvMapping = NULL;
187 PRTLDRREADERFILE pFileReader = (PRTLDRREADERFILE)pReader;
188 if (pFileReader->hFile != NIL_RTFILE)
190 rc = RTFileClose(pFileReader->hFile);
192 pFileReader->hFile = NIL_RTFILE;
194 RTMemFree(pFileReader);
210 PRTLDRREADERFILE pFileReader = (PRTLDRREADERFILE)RTMemAlloc(sizeof(*pFileReader) + cchFilename);
211 if (pFileReader)
213 memcpy(pFileReader->szFilename, pszFilename, cchFilename + 1);
214 rc = RTFileOpen(&pFileReader->hFile, pszFilename, RTFILE_O_READ | RTFILE_O_OPEN | RTFILE_O_DENY_WRITE);
217 rc = RTFileGetSize(pFileReader->hFile, (uint64_t *)&pFileReader->cbFile);
220 pFileReader->Core.uMagic = RTLDRREADER_MAGIC;
221 pFileReader->Core.pfnRead = rtldrFileRead;
222 pFileReader->Core.pfnTell = rtldrFileTell;
223 pFileReader->Core.pfnSize = rtldrFileSize;
224 pFileReader->Core.pfnLogName = rtldrFileLogName;
225 pFileReader->Core.pfnMap = rtldrFileMap;
226 pFileReader->Core.pfnUnmap = rtldrFileUnmap;
227 pFileReader->Core.pfnDestroy = rtldrFileDestroy;
228 pFileReader->off = 0;
229 pFileReader->cMappings = 0;
230 pFileReader->pvMapping = NULL;
231 *ppReader = &pFileReader->Core;
235 RTFileClose(pFileReader->hFile);
237 RTMemFree(pFileReader);