<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> <title>libpst.so.4: pst_file Struct Reference</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> </head><body> <!-- Generated by Doxygen 1.3.9.1 --> <div class="qindex"><a class="qindex" href="main.html">Main Page</a> | <a class="qindex" href="classes.html">Alphabetical List</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a></div> <h1>pst_file Struct Reference</h1><code>#include <<a class="el" href="libpst_8h-source.html">libpst/libpst.h</a>></code> <p> Collaboration diagram for pst_file:<p><center><img src="structpst__file__coll__graph.png" border="0" usemap="#pst__file__coll__map" alt="Collaboration graph"></center> <map name="pst__file__coll__map"> <area href="structpst__x__attrib__ll.html" shape="rect" coords="7,136,111,160" alt=""> <area href="structpst__index__ll.html" shape="rect" coords="207,9,298,33" alt=""> <area href="structpst__desc__tree.html" shape="rect" coords="273,136,379,160" alt=""> <area href="structpst__block__recorder.html" shape="rect" coords="479,136,615,160" alt=""> </map> <center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center><table border="0" cellpadding="0" cellspacing="0"> <tr><td></td></tr> <tr><td colspan="2"><br><h2>Data Fields</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">FILE * </td><td class="memItemRight" valign="bottom"><a class="el" href="structpst__file.html#o0">fp</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">file pointer to opened PST file <a href="#o0"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="structpst__file.html#o1">cwd</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">original cwd when the file was opened <a href="#o1"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="structpst__file.html#o2">fname</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">original file name when the file was opened <a href="#o2"></a><br></td></tr> <tr><td class="memItemLeft" nowrap 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#o3">i_head</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">the head and tail of the linked list of index structures <a href="#o3"></a><br></td></tr> <tr><td class="memItemLeft" nowrap 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#o4">i_tail</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">the head and tail of the linked list of index structures <a href="#o4"></a><br></td></tr> <tr><td class="memItemLeft" nowrap 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#o5">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="#o5"></a><br></td></tr> <tr><td class="memItemLeft" nowrap 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#o6">d_tail</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="#o6"></a><br></td></tr> <tr><td class="memItemLeft" nowrap 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#o7">x_head</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">the head of the extended attributes linked list <a href="#o7"></a><br></td></tr> <tr><td class="memItemLeft" nowrap 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#o8">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="#o8"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="structpst__file.html#o9">do_read64</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight"><ul> <li>0 is 32-bit pst file, pre Outlook 2003; </li> <li>1 is 64-bit pst file, Outlook 2003 or later </li> </ul> <a href="#o9"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">uint64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structpst__file.html#o10">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="#o10"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">uint64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structpst__file.html#o11">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="#o11"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">uint64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structpst__file.html#o12">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="#o12"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">uint64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structpst__file.html#o13">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="#o13"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">uint64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structpst__file.html#o14">size</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">size of the pst file <a href="#o14"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="structpst__file.html#o15">encryption</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight"><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> <a href="#o15"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="structpst__file.html#o16">ind_type</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">index type or file type <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> <a href="#o16"></a><br></td></tr> </table> <hr><h2>Field Documentation</h2> <a class="anchor" name="o8" doxytag="pst_file::block_head"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"><a class="el" href="structpst__block__recorder.html">pst_block_recorder</a>* <a class="el" href="structpst__file.html#o8">pst_file::block_head</a> </td> </tr> </table> </td> </tr> </table> <table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td> <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#l00876">876</a> of file <a class="el" href="libpst_8h-source.html">libpst.h</a>. </td> </tr> </table> <a class="anchor" name="o1" doxytag="pst_file::cwd"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top">char* <a class="el" href="structpst__file.html#o1">pst_file::cwd</a> </td> </tr> </table> </td> </tr> </table> <table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td> <p> original cwd when the file was opened <p> <p> Definition at line <a class="el" href="libpst_8h-source.html#l00864">864</a> of file <a class="el" href="libpst_8h-source.html">libpst.h</a>. </td> </tr> </table> <a class="anchor" name="o5" doxytag="pst_file::d_head"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"><a class="el" href="structpst__desc__tree.html">pst_desc_tree</a>* <a class="el" href="structpst__file.html#o5">pst_file::d_head</a> </td> </tr> </table> </td> </tr> </table> <table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td> <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#l00870">870</a> of file <a class="el" href="libpst_8h-source.html">libpst.h</a>. </td> </tr> </table> <a class="anchor" name="o6" doxytag="pst_file::d_tail"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"><a class="el" href="structpst__desc__tree.html">pst_desc_tree</a> * <a class="el" href="structpst__file.html#o6">pst_file::d_tail</a> </td> </tr> </table> </td> </tr> </table> <table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td> <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#l00870">870</a> of file <a class="el" href="libpst_8h-source.html">libpst.h</a>. </td> </tr> </table> <a class="anchor" name="o9" doxytag="pst_file::do_read64"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top">int <a class="el" href="structpst__file.html#o9">pst_file::do_read64</a> </td> </tr> </table> </td> </tr> </table> <table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td> <p> <ul> <li>0 is 32-bit pst file, pre Outlook 2003; </li> <li>1 is 64-bit pst file, Outlook 2003 or later </li> </ul> <p> <p> Definition at line <a class="el" href="libpst_8h-source.html#l00880">880</a> of file <a class="el" href="libpst_8h-source.html">libpst.h</a>. </td> </tr> </table> <a class="anchor" name="o15" doxytag="pst_file::encryption"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top">unsigned char <a class="el" href="structpst__file.html#o15">pst_file::encryption</a> </td> </tr> </table> </td> </tr> </table> <table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td> <p> <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> <p> Definition at line <a class="el" href="libpst_8h-source.html#l00894">894</a> of file <a class="el" href="libpst_8h-source.html">libpst.h</a>. </td> </tr> </table> <a class="anchor" name="o2" doxytag="pst_file::fname"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top">char* <a class="el" href="structpst__file.html#o2">pst_file::fname</a> </td> </tr> </table> </td> </tr> </table> <table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td> <p> original file name when the file was opened <p> <p> Definition at line <a class="el" href="libpst_8h-source.html#l00866">866</a> of file <a class="el" href="libpst_8h-source.html">libpst.h</a>. </td> </tr> </table> <a class="anchor" name="o0" doxytag="pst_file::fp"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top">FILE* <a class="el" href="structpst__file.html#o0">pst_file::fp</a> </td> </tr> </table> </td> </tr> </table> <table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td> <p> file pointer to opened PST file <p> <p> Definition at line <a class="el" href="libpst_8h-source.html#l00862">862</a> of file <a class="el" href="libpst_8h-source.html">libpst.h</a>. </td> </tr> </table> <a class="anchor" name="o3" doxytag="pst_file::i_head"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"><a class="el" href="structpst__index__ll.html">pst_index_ll</a>* <a class="el" href="structpst__file.html#o3">pst_file::i_head</a> </td> </tr> </table> </td> </tr> </table> <table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td> <p> the head and tail of the linked list of index structures <p> <p> Definition at line <a class="el" href="libpst_8h-source.html#l00868">868</a> of file <a class="el" href="libpst_8h-source.html">libpst.h</a>. </td> </tr> </table> <a class="anchor" name="o4" doxytag="pst_file::i_tail"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"><a class="el" href="structpst__index__ll.html">pst_index_ll</a> * <a class="el" href="structpst__file.html#o4">pst_file::i_tail</a> </td> </tr> </table> </td> </tr> </table> <table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td> <p> the head and tail of the linked list of index structures <p> <p> Definition at line <a class="el" href="libpst_8h-source.html#l00868">868</a> of file <a class="el" href="libpst_8h-source.html">libpst.h</a>. </td> </tr> </table> <a class="anchor" name="o16" doxytag="pst_file::ind_type"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top">unsigned char <a class="el" href="structpst__file.html#o16">pst_file::ind_type</a> </td> </tr> </table> </td> </tr> </table> <table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td> <p> index type or file type <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> <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>. </td> </tr> </table> <a class="anchor" name="o10" doxytag="pst_file::index1"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top">uint64_t <a class="el" href="structpst__file.html#o10">pst_file::index1</a> </td> </tr> </table> </td> </tr> </table> <table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td> <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#l00882">882</a> of file <a class="el" href="libpst_8h-source.html">libpst.h</a>. </td> </tr> </table> <a class="anchor" name="o11" doxytag="pst_file::index1_back"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top">uint64_t <a class="el" href="structpst__file.html#o11">pst_file::index1_back</a> </td> </tr> </table> </td> </tr> </table> <table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td> <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#l00884">884</a> of file <a class="el" href="libpst_8h-source.html">libpst.h</a>. </td> </tr> </table> <a class="anchor" name="o12" doxytag="pst_file::index2"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top">uint64_t <a class="el" href="structpst__file.html#o12">pst_file::index2</a> </td> </tr> </table> </td> </tr> </table> <table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td> <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#l00886">886</a> of file <a class="el" href="libpst_8h-source.html">libpst.h</a>. </td> </tr> </table> <a class="anchor" name="o13" doxytag="pst_file::index2_back"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top">uint64_t <a class="el" href="structpst__file.html#o13">pst_file::index2_back</a> </td> </tr> </table> </td> </tr> </table> <table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td> <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#l00888">888</a> of file <a class="el" href="libpst_8h-source.html">libpst.h</a>. </td> </tr> </table> <a class="anchor" name="o14" doxytag="pst_file::size"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top">uint64_t <a class="el" href="structpst__file.html#o14">pst_file::size</a> </td> </tr> </table> </td> </tr> </table> <table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td> <p> size of the pst file <p> <p> Definition at line <a class="el" href="libpst_8h-source.html#l00890">890</a> of file <a class="el" href="libpst_8h-source.html">libpst.h</a>. </td> </tr> </table> <a class="anchor" name="o7" doxytag="pst_file::x_head"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"><a class="el" href="structpst__x__attrib__ll.html">pst_x_attrib_ll</a>* <a class="el" href="structpst__file.html#o7">pst_file::x_head</a> </td> </tr> </table> </td> </tr> </table> <table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td> <p> the head of the extended attributes linked list <p> <p> Definition at line <a class="el" href="libpst_8h-source.html#l00872">872</a> of file <a class="el" href="libpst_8h-source.html">libpst.h</a>. </td> </tr> </table> <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></ul> <hr size="1"><address style="align: right;"><small>Generated on Sun Sep 20 11:20:25 2009 for libpst.so.4 by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address> </body> </html>