<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <title>libpst.so.4: pst_file Struct Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <link href="doxygen.css" rel="stylesheet" type="text/css"/> </head> <body> <!-- Generated by Doxygen 1.6.1 --> <div class="navigation" id="top"> <div class="tabs"> <ul> <li><a href="main.html"><span>Main Page</span></a></li> <li class="current"><a href="annotated.html"><span>Data Structures</span></a></li> <li><a href="files.html"><span>Files</span></a></li> <li><a href="dirs.html"><span>Directories</span></a></li> </ul> </div> <div class="tabs"> <ul> <li><a href="annotated.html"><span>Data Structures</span></a></li> <li><a href="classes.html"><span>Data Structure Index</span></a></li> <li><a href="functions.html"><span>Data Fields</span></a></li> </ul> </div> </div> <div class="contents"> <h1>pst_file Struct Reference</h1><!-- doxytag: class="pst_file" --> <p><code>#include <<a class="el" href="libpst_8h_source.html">libpst/libpst.h</a>></code></p> <div class="dynheader"> Collaboration diagram for pst_file:</div> <div class="dynsection"> <div class="center"><img src="structpst__file__coll__graph.png" border="0" usemap="#pst__file_coll__map" alt="Collaboration graph"/></div> <map name="pst__file_coll__map" id="pst__file_coll__map"> <area shape="rect" id="node2" href="structpst__x__attrib__ll.html" title="Linked list of extended attributes." alt="" coords="5,145,123,175"/><area shape="rect" id="node5" href="structpst__index__ll.html" title="pst_index_ll" alt="" coords="221,5,320,35"/><area shape="rect" id="node10" href="structpst__desc__tree.html" title="pst_desc_tree" alt="" coords="297,145,417,175"/><area shape="rect" id="node7" href="structpst__block__recorder.html" title="this is only used for internal debugging" alt="" coords="524,145,673,175"/></map> <center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div> <table border="0" cellpadding="0" cellspacing="0"> <tr><td colspan="2"><h2>Data Fields</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">FILE * </td><td class="memItemRight" valign="bottom"><a class="el" href="structpst__file.html#ac8c07003c5e5e92867eafe821299b360">fp</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">file pointer to opened PST file <a href="#ac8c07003c5e5e92867eafe821299b360"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="structpst__file.html#a0836103b6046b555d147bf44584102fa">cwd</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">original cwd when the file was opened <a href="#a0836103b6046b555d147bf44584102fa"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="structpst__file.html#af7375fa8b9abddd13d173719a2f761e6">fname</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">original file name when the file was opened <a href="#af7375fa8b9abddd13d173719a2f761e6"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="structpst__file.html#afc0abf894b46f0582d651eddcbe3541e">charset</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">default character set for items without one <a href="#afc0abf894b46f0582d651eddcbe3541e"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structpst__index__ll.html">pst_index_ll</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structpst__file.html#a4845afe25be80a71761ea02acf52ae66">i_table</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">the array of index structures <a href="#a4845afe25be80a71761ea02acf52ae66"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structpst__file.html#aba1ff8472f8475cf5ac9790f3014d63d">i_count</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structpst__file.html#a11624a5943c5e84269818d2842f5cb15">i_capacity</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structpst__desc__tree.html">pst_desc_tree</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structpst__file.html#aaf5344f31e149ff0afb64074b81d67ab">d_head</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">the head and tail of the top level of the descriptor tree <a href="#aaf5344f31e149ff0afb64074b81d67ab"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structpst__desc__tree.html">pst_desc_tree</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structpst__file.html#ab4381d0030463db64a7cec4aef274088">d_tail</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structpst__x__attrib__ll.html">pst_x_attrib_ll</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structpst__file.html#acf892ef2183fc8c6f295253a74e13134">x_head</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">the head of the extended attributes linked list <a href="#acf892ef2183fc8c6f295253a74e13134"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structpst__block__recorder.html">pst_block_recorder</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structpst__file.html#a7769614d85bf8359bb017813e8c8bd4f">block_head</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">the head of the block recorder, a debug artifact used to detect cases where we might read the same block multiple times while processing a pst file. <a href="#a7769614d85bf8359bb017813e8c8bd4f"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="structpst__file.html#a934b0e620cd8117f6f78e0f27d60a2f6">do_read64</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top">uint64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structpst__file.html#a236d987098be87aca4c8425a1b439124">index1</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">file offset of the first b-tree node in the index tree <a href="#a236d987098be87aca4c8425a1b439124"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">uint64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structpst__file.html#a3428239190356ce61ea1c49e6901aa35">index1_back</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">back pointer value in the first b-tree node in the index tree <a href="#a3428239190356ce61ea1c49e6901aa35"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">uint64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structpst__file.html#a24fb10af30360d9a1990cf546a532154">index2</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">file offset of the first b-tree node in the descriptor tree <a href="#a24fb10af30360d9a1990cf546a532154"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">uint64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structpst__file.html#a970a48d4514ca456fa61f1448821ba99">index2_back</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">back pointer value in the first b-tree node in the descriptor tree <a href="#a970a48d4514ca456fa61f1448821ba99"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">uint64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structpst__file.html#a6d71d43bcb98b353f7f3e7b648407546">size</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">size of the pst file <a href="#a6d71d43bcb98b353f7f3e7b648407546"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="structpst__file.html#a5c0c653118d15ab375e9ad4b5bf32a16">encryption</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top">unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="structpst__file.html#a6d2ea97bf1dd4c699307f7a0d2d0b241">ind_type</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">index type or file type <a href="#a6d2ea97bf1dd4c699307f7a0d2d0b241"></a><br/></td></tr> </table> <hr/><a name="_details"></a><h2>Detailed Description</h2> <p>Definition at line <a class="el" href="libpst_8h_source.html#l00889">889</a> of file <a class="el" href="libpst_8h_source.html">libpst.h</a>.</p> <hr/><h2>Field Documentation</h2> <a class="anchor" id="a7769614d85bf8359bb017813e8c8bd4f"></a><!-- doxytag: member="pst_file::block_head" ref="a7769614d85bf8359bb017813e8c8bd4f" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="structpst__block__recorder.html">pst_block_recorder</a>* <a class="el" href="structpst__file.html#a7769614d85bf8359bb017813e8c8bd4f">pst_file::block_head</a></td> </tr> </table> </div> <div class="memdoc"> <p>the head of the block recorder, a debug artifact used to detect cases where we might read the same block multiple times while processing a pst file. </p> <p>Definition at line <a class="el" href="libpst_8h_source.html#l00908">908</a> of file <a class="el" href="libpst_8h_source.html">libpst.h</a>.</p> </div> </div> <a class="anchor" id="afc0abf894b46f0582d651eddcbe3541e"></a><!-- doxytag: member="pst_file::charset" ref="afc0abf894b46f0582d651eddcbe3541e" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const char* <a class="el" href="structpst__file.html#afc0abf894b46f0582d651eddcbe3541e">pst_file::charset</a></td> </tr> </table> </div> <div class="memdoc"> <p>default character set for items without one </p> <p>Definition at line <a class="el" href="libpst_8h_source.html#l00897">897</a> of file <a class="el" href="libpst_8h_source.html">libpst.h</a>.</p> </div> </div> <a class="anchor" id="a0836103b6046b555d147bf44584102fa"></a><!-- doxytag: member="pst_file::cwd" ref="a0836103b6046b555d147bf44584102fa" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">char* <a class="el" href="structpst__file.html#a0836103b6046b555d147bf44584102fa">pst_file::cwd</a></td> </tr> </table> </div> <div class="memdoc"> <p>original cwd when the file was opened </p> <p>Definition at line <a class="el" href="libpst_8h_source.html#l00893">893</a> of file <a class="el" href="libpst_8h_source.html">libpst.h</a>.</p> </div> </div> <a class="anchor" id="aaf5344f31e149ff0afb64074b81d67ab"></a><!-- doxytag: member="pst_file::d_head" ref="aaf5344f31e149ff0afb64074b81d67ab" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="structpst__desc__tree.html">pst_desc_tree</a>* <a class="el" href="structpst__file.html#aaf5344f31e149ff0afb64074b81d67ab">pst_file::d_head</a></td> </tr> </table> </div> <div class="memdoc"> <p>the head and tail of the top level of the descriptor tree </p> <p>Definition at line <a class="el" href="libpst_8h_source.html#l00902">902</a> of file <a class="el" href="libpst_8h_source.html">libpst.h</a>.</p> </div> </div> <a class="anchor" id="ab4381d0030463db64a7cec4aef274088"></a><!-- doxytag: member="pst_file::d_tail" ref="ab4381d0030463db64a7cec4aef274088" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="structpst__desc__tree.html">pst_desc_tree</a> * <a class="el" href="structpst__file.html#ab4381d0030463db64a7cec4aef274088">pst_file::d_tail</a></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="libpst_8h_source.html#l00902">902</a> of file <a class="el" href="libpst_8h_source.html">libpst.h</a>.</p> </div> </div> <a class="anchor" id="a934b0e620cd8117f6f78e0f27d60a2f6"></a><!-- doxytag: member="pst_file::do_read64" ref="a934b0e620cd8117f6f78e0f27d60a2f6" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int <a class="el" href="structpst__file.html#a934b0e620cd8117f6f78e0f27d60a2f6">pst_file::do_read64</a></td> </tr> </table> </div> <div class="memdoc"> <ul> <li>0 is 32-bit pst file, pre Outlook 2003; </li> <li>1 is 64-bit pst file, Outlook 2003 or later; </li> <li>2 is 64-bit OST file, Outlook 2013 or later </li> </ul> <p>Definition at line <a class="el" href="libpst_8h_source.html#l00913">913</a> of file <a class="el" href="libpst_8h_source.html">libpst.h</a>.</p> </div> </div> <a class="anchor" id="a5c0c653118d15ab375e9ad4b5bf32a16"></a><!-- doxytag: member="pst_file::encryption" ref="a5c0c653118d15ab375e9ad4b5bf32a16" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">unsigned char <a class="el" href="structpst__file.html#a5c0c653118d15ab375e9ad4b5bf32a16">pst_file::encryption</a></td> </tr> </table> </div> <div class="memdoc"> <ul> <li>0 PST_NO_ENCRYPT, none </li> <li>1 PST_COMP_ENCRYPT, simple byte substitution cipher with fixed key </li> <li>2 PST_ENCRYPT, german enigma 3 rotor cipher with fixed key </li> </ul> <p>Definition at line <a class="el" href="libpst_8h_source.html#l00927">927</a> of file <a class="el" href="libpst_8h_source.html">libpst.h</a>.</p> </div> </div> <a class="anchor" id="af7375fa8b9abddd13d173719a2f761e6"></a><!-- doxytag: member="pst_file::fname" ref="af7375fa8b9abddd13d173719a2f761e6" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">char* <a class="el" href="structpst__file.html#af7375fa8b9abddd13d173719a2f761e6">pst_file::fname</a></td> </tr> </table> </div> <div class="memdoc"> <p>original file name when the file was opened </p> <p>Definition at line <a class="el" href="libpst_8h_source.html#l00895">895</a> of file <a class="el" href="libpst_8h_source.html">libpst.h</a>.</p> </div> </div> <a class="anchor" id="ac8c07003c5e5e92867eafe821299b360"></a><!-- doxytag: member="pst_file::fp" ref="ac8c07003c5e5e92867eafe821299b360" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">FILE* <a class="el" href="structpst__file.html#ac8c07003c5e5e92867eafe821299b360">pst_file::fp</a></td> </tr> </table> </div> <div class="memdoc"> <p>file pointer to opened PST file </p> <p>Definition at line <a class="el" href="libpst_8h_source.html#l00891">891</a> of file <a class="el" href="libpst_8h_source.html">libpst.h</a>.</p> </div> </div> <a class="anchor" id="a11624a5943c5e84269818d2842f5cb15"></a><!-- doxytag: member="pst_file::i_capacity" ref="a11624a5943c5e84269818d2842f5cb15" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">size_t <a class="el" href="structpst__file.html#a11624a5943c5e84269818d2842f5cb15">pst_file::i_capacity</a></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="libpst_8h_source.html#l00900">900</a> of file <a class="el" href="libpst_8h_source.html">libpst.h</a>.</p> </div> </div> <a class="anchor" id="aba1ff8472f8475cf5ac9790f3014d63d"></a><!-- doxytag: member="pst_file::i_count" ref="aba1ff8472f8475cf5ac9790f3014d63d" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">size_t <a class="el" href="structpst__file.html#aba1ff8472f8475cf5ac9790f3014d63d">pst_file::i_count</a></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="libpst_8h_source.html#l00900">900</a> of file <a class="el" href="libpst_8h_source.html">libpst.h</a>.</p> </div> </div> <a class="anchor" id="a4845afe25be80a71761ea02acf52ae66"></a><!-- doxytag: member="pst_file::i_table" ref="a4845afe25be80a71761ea02acf52ae66" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="structpst__index__ll.html">pst_index_ll</a>* <a class="el" href="structpst__file.html#a4845afe25be80a71761ea02acf52ae66">pst_file::i_table</a></td> </tr> </table> </div> <div class="memdoc"> <p>the array of index structures </p> <p>Definition at line <a class="el" href="libpst_8h_source.html#l00899">899</a> of file <a class="el" href="libpst_8h_source.html">libpst.h</a>.</p> </div> </div> <a class="anchor" id="a6d2ea97bf1dd4c699307f7a0d2d0b241"></a><!-- doxytag: member="pst_file::ind_type" ref="a6d2ea97bf1dd4c699307f7a0d2d0b241" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">unsigned char <a class="el" href="structpst__file.html#a6d2ea97bf1dd4c699307f7a0d2d0b241">pst_file::ind_type</a></td> </tr> </table> </div> <div class="memdoc"> <p>index type or file type </p> <ul> <li>0x0e 32 bit pre Outlook 2003 </li> <li>0x0f 32 bit pre Outlook 2003 </li> <li>0x15 64 bit Outlook 2003 or later </li> <li>0x17 64 bit Outlook 2003 or later </li> </ul> <p>Definition at line <a class="el" href="libpst_8h_source.html#l00933">933</a> of file <a class="el" href="libpst_8h_source.html">libpst.h</a>.</p> </div> </div> <a class="anchor" id="a236d987098be87aca4c8425a1b439124"></a><!-- doxytag: member="pst_file::index1" ref="a236d987098be87aca4c8425a1b439124" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">uint64_t <a class="el" href="structpst__file.html#a236d987098be87aca4c8425a1b439124">pst_file::index1</a></td> </tr> </table> </div> <div class="memdoc"> <p>file offset of the first b-tree node in the index tree </p> <p>Definition at line <a class="el" href="libpst_8h_source.html#l00915">915</a> of file <a class="el" href="libpst_8h_source.html">libpst.h</a>.</p> </div> </div> <a class="anchor" id="a3428239190356ce61ea1c49e6901aa35"></a><!-- doxytag: member="pst_file::index1_back" ref="a3428239190356ce61ea1c49e6901aa35" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">uint64_t <a class="el" href="structpst__file.html#a3428239190356ce61ea1c49e6901aa35">pst_file::index1_back</a></td> </tr> </table> </div> <div class="memdoc"> <p>back pointer value in the first b-tree node in the index tree </p> <p>Definition at line <a class="el" href="libpst_8h_source.html#l00917">917</a> of file <a class="el" href="libpst_8h_source.html">libpst.h</a>.</p> </div> </div> <a class="anchor" id="a24fb10af30360d9a1990cf546a532154"></a><!-- doxytag: member="pst_file::index2" ref="a24fb10af30360d9a1990cf546a532154" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">uint64_t <a class="el" href="structpst__file.html#a24fb10af30360d9a1990cf546a532154">pst_file::index2</a></td> </tr> </table> </div> <div class="memdoc"> <p>file offset of the first b-tree node in the descriptor tree </p> <p>Definition at line <a class="el" href="libpst_8h_source.html#l00919">919</a> of file <a class="el" href="libpst_8h_source.html">libpst.h</a>.</p> </div> </div> <a class="anchor" id="a970a48d4514ca456fa61f1448821ba99"></a><!-- doxytag: member="pst_file::index2_back" ref="a970a48d4514ca456fa61f1448821ba99" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">uint64_t <a class="el" href="structpst__file.html#a970a48d4514ca456fa61f1448821ba99">pst_file::index2_back</a></td> </tr> </table> </div> <div class="memdoc"> <p>back pointer value in the first b-tree node in the descriptor tree </p> <p>Definition at line <a class="el" href="libpst_8h_source.html#l00921">921</a> of file <a class="el" href="libpst_8h_source.html">libpst.h</a>.</p> </div> </div> <a class="anchor" id="a6d71d43bcb98b353f7f3e7b648407546"></a><!-- doxytag: member="pst_file::size" ref="a6d71d43bcb98b353f7f3e7b648407546" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">uint64_t <a class="el" href="structpst__file.html#a6d71d43bcb98b353f7f3e7b648407546">pst_file::size</a></td> </tr> </table> </div> <div class="memdoc"> <p>size of the pst file </p> <p>Definition at line <a class="el" href="libpst_8h_source.html#l00923">923</a> of file <a class="el" href="libpst_8h_source.html">libpst.h</a>.</p> </div> </div> <a class="anchor" id="acf892ef2183fc8c6f295253a74e13134"></a><!-- doxytag: member="pst_file::x_head" ref="acf892ef2183fc8c6f295253a74e13134" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="structpst__x__attrib__ll.html">pst_x_attrib_ll</a>* <a class="el" href="structpst__file.html#acf892ef2183fc8c6f295253a74e13134">pst_file::x_head</a></td> </tr> </table> </div> <div class="memdoc"> <p>the head of the extended attributes linked list </p> <p>Definition at line <a class="el" href="libpst_8h_source.html#l00904">904</a> of file <a class="el" href="libpst_8h_source.html">libpst.h</a>.</p> </div> </div> <hr/>The documentation for this struct was generated from the following file:<ul> <li>libpst/<a class="el" href="libpst_8h_source.html">libpst.h</a></li> </ul> </div> <hr size="1"/><address style="text-align: right;"><small>Generated on 1 Aug 2018 for libpst.so.4 by <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address> </body> </html>