<areahref="classcrashpad_1_1FileReaderInterface.html"title="An interface to read to files and other file-like objects with semantics matching the underlying plat..."alt="crashpad::FileReaderInterface"shape="rect"coords="0,56,225,80"/>
<areahref="classcrashpad_1_1FileSeekerInterface.html"title="An interface to seek in files and other file-like objects with semantics matching the underlying plat..."alt="crashpad::FileSeekerInterface"shape="rect"coords="0,0,225,24"/>
<trclass="memdesc:adabfaf3549ac5a3269475a567645e095"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Wraps <aclass="el"href="namespacecrashpad.html#a8599600814a17d622766decd5f122a96"title="Reads from a file, retrying when interrupted on POSIX or following a short read. ">ReadFile()</a>, or provides an implementation with identical semantics. <ahref="#adabfaf3549ac5a3269475a567645e095">More...</a><br/></td></tr>
<trclass="memitem:a8374ad1eb0a03bfb5f36d6a5e8959f98"><tdclass="memItemLeft"align="right"valign="top"><aclass="el"href="namespacecrashpad.html#a1e53a1957d9edcba8b406ea632b6daf2">FileOffset</a> </td><tdclass="memItemRight"valign="bottom"><aclass="el"href="classcrashpad_1_1WeakFileHandleFileReader.html#a8374ad1eb0a03bfb5f36d6a5e8959f98">Seek</a> (<aclass="el"href="namespacecrashpad.html#a1e53a1957d9edcba8b406ea632b6daf2">FileOffset</a> offset, int whence) override</td></tr>
<trclass="memdesc:a8374ad1eb0a03bfb5f36d6a5e8959f98"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Wraps <aclass="el"href="namespacecrashpad.html#a3d6cedc10e24145d4a0c1000c33f8a10"title="Wraps lseek() or SetFilePointerEx(). Logs an error if the operation fails. ">LoggingSeekFile()</a> or provides an alternate implementation with identical semantics. <ahref="#a8374ad1eb0a03bfb5f36d6a5e8959f98">More...</a><br/></td></tr>
<trclass="inherit_header pub_methods_classcrashpad_1_1FileReaderInterface"><tdcolspan="2"onclick="javascript:toggleInherit('pub_methods_classcrashpad_1_1FileReaderInterface')"><imgsrc="closed.png"alt="-"/> Public Member Functions inherited from <aclass="el"href="classcrashpad_1_1FileReaderInterface.html">crashpad::FileReaderInterface</a></td></tr>
<trclass="memdesc:ad046f1ebf1071eb6b92a2a8d06c14a56 inherit pub_methods_classcrashpad_1_1FileReaderInterface"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Wraps <aclass="el"href="classcrashpad_1_1FileReaderInterface.html#ad9035ff345274f33cef248712d53d9e1"title="Wraps ReadFile(), or provides an implementation with identical semantics. ">Read()</a>, ensuring that the read succeeded and exactly <em>size</em> bytes were read. <ahref="classcrashpad_1_1FileReaderInterface.html#ad046f1ebf1071eb6b92a2a8d06c14a56">More...</a><br/></td></tr>
<trclass="inherit_header pub_methods_classcrashpad_1_1FileSeekerInterface"><tdcolspan="2"onclick="javascript:toggleInherit('pub_methods_classcrashpad_1_1FileSeekerInterface')"><imgsrc="closed.png"alt="-"/> Public Member Functions inherited from <aclass="el"href="classcrashpad_1_1FileSeekerInterface.html">crashpad::FileSeekerInterface</a></td></tr>
<trclass="memdesc:a49a884bfb0a61461b0291c975aa15382 inherit pub_methods_classcrashpad_1_1FileSeekerInterface"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Wraps <aclass="el"href="classcrashpad_1_1FileSeekerInterface.html#a8d56f7d12dfcce3e4a39ad1524302aa1"title="Wraps LoggingSeekFile() or provides an alternate implementation with identical semantics. ">Seek()</a>, using <code>SEEK_CUR</code> to obtain the file’s current position. <ahref="classcrashpad_1_1FileSeekerInterface.html#a49a884bfb0a61461b0291c975aa15382">More...</a><br/></td></tr>
<trclass="memdesc:add2e1ee642d94c91ef722911e9aee250 inherit pub_methods_classcrashpad_1_1FileSeekerInterface"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Wraps <aclass="el"href="classcrashpad_1_1FileSeekerInterface.html#a8d56f7d12dfcce3e4a39ad1524302aa1"title="Wraps LoggingSeekFile() or provides an alternate implementation with identical semantics. ">Seek()</a>, using <code>SEEK_SET</code>, ensuring that the seek succeeded and the file is positioned as desired. <ahref="classcrashpad_1_1FileSeekerInterface.html#add2e1ee642d94c91ef722911e9aee250">More...</a><br/></td></tr>
<divclass="textblock"><p>A file reader backed by a FileHandle. </p>
<p><aclass="el"href="classcrashpad_1_1FileReader.html"title="A file reader implementation that wraps traditional system file operations on files accessed through ...">FileReader</a> requires users to provide a FilePath to open, but this class accepts an already-open FileHandle instead. Like <aclass="el"href="classcrashpad_1_1FileReader.html"title="A file reader implementation that wraps traditional system file operations on files accessed through ...">FileReader</a>, this class may read from a filesystem-based file, but unlike <aclass="el"href="classcrashpad_1_1FileReader.html"title="A file reader implementation that wraps traditional system file operations on files accessed through ...">FileReader</a>, this class is not responsible for opening or closing the file. Users of this class must ensure that the file handle is closed appropriately elsewhere. Objects of this class may be used to read from file handles not associated with filesystem-based files, although special attention should be paid to the <aclass="el"href="classcrashpad_1_1WeakFileHandleFileReader.html#a8374ad1eb0a03bfb5f36d6a5e8959f98"title="Wraps LoggingSeekFile() or provides an alternate implementation with identical semantics. ">Seek()</a> method, which may not function on file handles that do not refer to disk-based files.</p>
<p>This class is expected to be used when other code is responsible for opening files and already provides file handles. </p>
</div><h2class="groupheader">Member Function Documentation</h2>
<p>Wraps <aclass="el"href="namespacecrashpad.html#a8599600814a17d622766decd5f122a96"title="Reads from a file, retrying when interrupted on POSIX or following a short read. ">ReadFile()</a>, or provides an implementation with identical semantics. </p>
<dlclass="section return"><dt>Returns</dt><dd>The number of bytes actually read if the operation succeeded, which may be <code>0</code> or any positive value less than or equal to <em>size</em>. <code>-1</code> if the operation failed, with an error message logged. </dd></dl>
<p>Wraps <aclass="el"href="namespacecrashpad.html#a3d6cedc10e24145d4a0c1000c33f8a10"title="Wraps lseek() or SetFilePointerEx(). Logs an error if the operation fails. ">LoggingSeekFile()</a> or provides an alternate implementation with identical semantics. </p>
<dlclass="section return"><dt>Returns</dt><dd>The return value of <aclass="el"href="namespacecrashpad.html#a3d6cedc10e24145d4a0c1000c33f8a10"title="Wraps lseek() or SetFilePointerEx(). Logs an error if the operation fails. ">LoggingSeekFile()</a>. <code>-1</code> on failure, with an error message logged.</dd></dl>
<dlclass="section note"><dt>Note</dt><dd>This method is only guaranteed to function on file handles referring to disk-based files. </dd></dl>