Sophie

Sophie

distrib > Fedora > 14 > x86_64 > by-pkgid > 1760bbde8794f5b323299b3a051b5bd6 > files > 184

openchange-devel-0.9-11.fc14.x86_64.rpm

<html>
  <head>
    <title>MAPIClientLibraries 0.9 API Documentation</title>
    <link href="doxygen.css" rel="stylesheet" type="text/css"/>
    <link href="apidocs.css" rel="stylesheet" type="text/css"/>
  </head>
  <body>
    <div id="website">
    <div class="header"></div>
      <div id="middle_side">
	<div id="right_side_home">
<!-- Generated by Doxygen 1.7.1 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
      <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li><a href="examples.html"><span>Examples</span></a></li>
    </ul>
  </div>
  <div class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
      <li><a href="globals.html"><span>Globals</span></a></li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#define-members">Defines</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<h1>libmapi/lzfu.c File Reference</h1>  </div>
</div>
<div class="contents">

<p>Compressed RTF related functions.  
<a href="#_details">More...</a></p>
<code>#include &lt;<a class="el" href="libmapi_8h.html">libmapi/libmapi.h</a>&gt;</code><br/>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="define-members"></a>
Defines</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lzfu_8c.html#a432684604ccad411f83ecc0dc820d6cd">LE16_CPU</a>(x)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lzfu_8c.html#ad8104c8dac0bb93194fd2f454b480a48">LE32_CPU</a>(x)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lzfu_8c.html#af418fd9436a135b4b71e4f218d3735b3">LZFU_COMPRESSED</a>&nbsp;&nbsp;&nbsp;0x75465a4c</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lzfu_8c.html#ade07314d23ce2c0feeaeac8cfc8b91bf">LZFU_DICTLENGTH</a>&nbsp;&nbsp;&nbsp;0x1000</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lzfu_8c.html#a884a89f1903bb15c255bdcbb54ae235b">LZFU_HEADERLENGTH</a>&nbsp;&nbsp;&nbsp;0x10</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lzfu_8c.html#a194bf7d5f259677a93c10ee75125f824">LZFU_INITDICT</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lzfu_8c.html#aec03dab615c42dcf554c32fcf16642b3">LZFU_INITLENGTH</a>&nbsp;&nbsp;&nbsp;207</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lzfu_8c.html#af2f5b18c49cd225c2ccacab341ad044e">LZFU_UNCOMPRESSED</a>&nbsp;&nbsp;&nbsp;0x414c454d</td></tr>
<tr><td colspan="2"><h2><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef struct _lzfuheader&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lzfu_8c.html#ab4c1f0adcff2050d25a579c999ea8d84">lzfuheader</a></td></tr>
<tr><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">_PUBLIC_ enum MAPISTATUS&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lzfu_8c.html#aeaa0ca06836beb49822da4320465efa0">uncompress_rtf</a> (TALLOC_CTX *mem_ctx, uint8_t *rtfcomp, uint32_t in_size, DATA_BLOB *rtf)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">_PUBLIC_ enum MAPISTATUS&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lzfu_8c.html#ac3398d6eb3eea86d47ff109874fcefb6">WrapCompressedRTFStream</a> (<a class="el" href="structmapi__object.html">mapi_object_t</a> *obj_stream, DATA_BLOB *rtf)</td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>Compressed RTF related functions. </p>
<hr/><h2>Define Documentation</h2>
<a class="anchor" id="a432684604ccad411f83ecc0dc820d6cd"></a><!-- doxytag: member="lzfu.c::LE16_CPU" ref="a432684604ccad411f83ecc0dc820d6cd" args="(x)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define LE16_CPU</td>
          <td>(</td>
          <td class="paramtype">&nbsp;</td>
          <td class="paramname">x</td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment">x = ((((x) &amp; 0xff00) &gt;&gt; 8) | \
       (((x) &amp; 0x00ff) &lt;&lt; 8));
</pre></div>
</div>
</div>
<a class="anchor" id="ad8104c8dac0bb93194fd2f454b480a48"></a><!-- doxytag: member="lzfu.c::LE32_CPU" ref="ad8104c8dac0bb93194fd2f454b480a48" args="(x)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define LE32_CPU</td>
          <td>(</td>
          <td class="paramtype">&nbsp;</td>
          <td class="paramname">x</td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment">x = ((((x) &amp; 0xff000000) &gt;&gt; 24) | \
       (((x) &amp; 0x00ff0000) &gt;&gt; 8 ) | \
       (((x) &amp; 0x0000ff00) &lt;&lt; 8 ) | \
       (((x) &amp; 0x000000ff) &lt;&lt; 24));
</pre></div>
<p>Referenced by <a class="el" href="proto_8h.html#a1e3d884ee2f96f82f7b50ff2448b7152">uncompress_rtf()</a>.</p>

</div>
</div>
<a class="anchor" id="af418fd9436a135b4b71e4f218d3735b3"></a><!-- doxytag: member="lzfu.c::LZFU_COMPRESSED" ref="af418fd9436a135b4b71e4f218d3735b3" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define LZFU_COMPRESSED&nbsp;&nbsp;&nbsp;0x75465a4c</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Referenced by <a class="el" href="proto_8h.html#a1e3d884ee2f96f82f7b50ff2448b7152">uncompress_rtf()</a>.</p>

</div>
</div>
<a class="anchor" id="ade07314d23ce2c0feeaeac8cfc8b91bf"></a><!-- doxytag: member="lzfu.c::LZFU_DICTLENGTH" ref="ade07314d23ce2c0feeaeac8cfc8b91bf" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define LZFU_DICTLENGTH&nbsp;&nbsp;&nbsp;0x1000</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Referenced by <a class="el" href="proto_8h.html#a1e3d884ee2f96f82f7b50ff2448b7152">uncompress_rtf()</a>.</p>

</div>
</div>
<a class="anchor" id="a884a89f1903bb15c255bdcbb54ae235b"></a><!-- doxytag: member="lzfu.c::LZFU_HEADERLENGTH" ref="a884a89f1903bb15c255bdcbb54ae235b" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define LZFU_HEADERLENGTH&nbsp;&nbsp;&nbsp;0x10</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Referenced by <a class="el" href="proto_8h.html#a1e3d884ee2f96f82f7b50ff2448b7152">uncompress_rtf()</a>.</p>

</div>
</div>
<a class="anchor" id="a194bf7d5f259677a93c10ee75125f824"></a><!-- doxytag: member="lzfu.c::LZFU_INITDICT" ref="a194bf7d5f259677a93c10ee75125f824" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define LZFU_INITDICT</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="stringliteral">&quot;{\\rtf1\\ansi\\mac\\deff0\\deftab720{\\fonttbl;}&quot;</span>      \
  <span class="stringliteral">&quot;{\\f0\\fnil \\froman \\fswiss \\fmodern \\fscrip&quot;</span>    \
  <span class="stringliteral">&quot;t \\fdecor MS Sans SerifSymbolArialTimes Ne&quot;</span>         \
  <span class="stringliteral">&quot;w RomanCourier{\\colortbl\\red0\\green0\\blue0&quot;</span>      \
  <span class="stringliteral">&quot;\r\n\\par \\pard\\plain\\f0\\fs20\\b\\i\\u\\tab&quot;</span>     \
  <span class="stringliteral">&quot;\\tx&quot;</span>
</pre></div>
<p>Referenced by <a class="el" href="proto_8h.html#a1e3d884ee2f96f82f7b50ff2448b7152">uncompress_rtf()</a>.</p>

</div>
</div>
<a class="anchor" id="aec03dab615c42dcf554c32fcf16642b3"></a><!-- doxytag: member="lzfu.c::LZFU_INITLENGTH" ref="aec03dab615c42dcf554c32fcf16642b3" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define LZFU_INITLENGTH&nbsp;&nbsp;&nbsp;207</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Referenced by <a class="el" href="proto_8h.html#a1e3d884ee2f96f82f7b50ff2448b7152">uncompress_rtf()</a>.</p>

</div>
</div>
<a class="anchor" id="af2f5b18c49cd225c2ccacab341ad044e"></a><!-- doxytag: member="lzfu.c::LZFU_UNCOMPRESSED" ref="af2f5b18c49cd225c2ccacab341ad044e" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define LZFU_UNCOMPRESSED&nbsp;&nbsp;&nbsp;0x414c454d</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Referenced by <a class="el" href="proto_8h.html#a1e3d884ee2f96f82f7b50ff2448b7152">uncompress_rtf()</a>.</p>

</div>
</div>
<hr/><h2>Typedef Documentation</h2>
<a class="anchor" id="ab4c1f0adcff2050d25a579c999ea8d84"></a><!-- doxytag: member="lzfu.c::lzfuheader" ref="ab4c1f0adcff2050d25a579c999ea8d84" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct _lzfuheader  <a class="el" href="lzfu_8c.html#ab4c1f0adcff2050d25a579c999ea8d84">lzfuheader</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="aeaa0ca06836beb49822da4320465efa0"></a><!-- doxytag: member="lzfu.c::uncompress_rtf" ref="aeaa0ca06836beb49822da4320465efa0" args="(TALLOC_CTX *mem_ctx, uint8_t *rtfcomp, uint32_t in_size, DATA_BLOB *rtf)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">_PUBLIC_ enum MAPISTATUS uncompress_rtf </td>
          <td>(</td>
          <td class="paramtype">TALLOC_CTX *&nbsp;</td>
          <td class="paramname"> <em>mem_ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t *&nbsp;</td>
          <td class="paramname"> <em>rtfcomp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&nbsp;</td>
          <td class="paramname"> <em>in_size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">DATA_BLOB *&nbsp;</td>
          <td class="paramname"> <em>rtf</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>References <a class="el" href="lzfu_8c.html#ad8104c8dac0bb93194fd2f454b480a48">LE32_CPU</a>, <a class="el" href="lzfu_8c.html#af418fd9436a135b4b71e4f218d3735b3">LZFU_COMPRESSED</a>, <a class="el" href="lzfu_8c.html#ade07314d23ce2c0feeaeac8cfc8b91bf">LZFU_DICTLENGTH</a>, <a class="el" href="lzfu_8c.html#a884a89f1903bb15c255bdcbb54ae235b">LZFU_HEADERLENGTH</a>, <a class="el" href="lzfu_8c.html#a194bf7d5f259677a93c10ee75125f824">LZFU_INITDICT</a>, <a class="el" href="lzfu_8c.html#aec03dab615c42dcf554c32fcf16642b3">LZFU_INITLENGTH</a>, <a class="el" href="lzfu_8c.html#af2f5b18c49cd225c2ccacab341ad044e">LZFU_UNCOMPRESSED</a>, and <a class="el" href="mapicode_8h.html#a7a4b9d7d8598946434a984fdb461eddb">OPENCHANGE_RETVAL_ERR</a>.</p>

<p>Referenced by <a class="el" href="proto_8h.html#a4b8479efbbc1fff738126b9fa6a2f791">WrapCompressedRTFStream()</a>.</p>

</div>
</div>
<a class="anchor" id="ac3398d6eb3eea86d47ff109874fcefb6"></a><!-- doxytag: member="lzfu.c::WrapCompressedRTFStream" ref="ac3398d6eb3eea86d47ff109874fcefb6" args="(mapi_object_t *obj_stream, DATA_BLOB *rtf)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">_PUBLIC_ enum MAPISTATUS WrapCompressedRTFStream </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmapi__object.html">mapi_object_t</a> *&nbsp;</td>
          <td class="paramname"> <em>obj_stream</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">DATA_BLOB *&nbsp;</td>
          <td class="paramname"> <em>rtf</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>creates a DATA_BLOB in uncompressed Rich Text Format (RTF) from the compressed format used in the PR_RTF_COMPRESSED property opened in the stream.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>obj_stream</em>&nbsp;</td><td>stream object with RTF stream content </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>rtf</em>&nbsp;</td><td>the output blob with uncompressed content</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>MAPI_E_SUCCESS on success, otherwise MAPI error. Possible MAPI error codes are:<ul>
<li>MAPI_E_NOT_INITIALIZED: MAPI subsystem has not been initialized</li>
<li>MAPI_E_INVALID_PARAMETER: obj_stream is not a valid pointer</li>
<li>MAPI_E_CORRUPT_DATA: a problem was encountered while decompressing the RTF compressed data</li>
<li>MAPI_E_CALL_FAILED: A network problem was encountered during the transaction</li>
</ul>
</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>Developers may also call <a class="el" href="IUnknown_8c.html#a8237c7fc76377cb07f3f55920d6f20de">GetLastError()</a> to retrieve the last MAPI error code.</dd>
<dd>
rtf-&gt;data needs to be freed with MAPIFreeBuffer</dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="proto_8h.html#a2be8f10c82ffcf8070e105f1a0d8c998">OpenStream</a> </dd></dl>

<p>References <a class="el" href="IUnknown_8c.html#a8237c7fc76377cb07f3f55920d6f20de">GetLastError()</a>, <a class="el" href="cdo__mapi_8c.html#aa3c2b68912988f290961037c76478495">global_mapi_ctx</a>, <a class="el" href="structmapi__ctx.html#ada2a491501fdb736ced986fec5ffedc2">mapi_ctx::mem_ctx</a>, <a class="el" href="mapicode_8h.html#a72f77c7e5d097e7b47c57c0405070d0c">OPENCHANGE_RETVAL_IF</a>, <a class="el" href="IStream_8c.html#a8e1a787eb5909c9e4792ec994409abd6">ReadStream()</a>, and <a class="el" href="lzfu_8c.html#aeaa0ca06836beb49822da4320465efa0">uncompress_rtf()</a>.</p>

</div>
</div>
</div>
</div>
<br/>
<table style="clear:both; margin: 0.5em auto; width:80%; text-align: center; background-color:#f8f8f8; border:2px solid #e0e0e0; padding:5px;">
<tr>
<td> 
  <img alt="Creative Commons License" src="CC_SomeRightsReserved.png" width="90" height="30" border="0" /><br />
  <img alt="Creative Commons Attribution icon" src="24px-Cc-by_white.svg.png" width="24" height="24" border="0" />
  <img alt="Creative Commons Share Alike icon" src="24px-Cc-sa_white.svg.png" width="24" height="24" border="0" />
</td>
<td> <i><strong class="selflink">This content</strong> is licensed under the Creative Commons<br />
Attribution ShareAlike License v. 3.0:<br />
<a href="http://creativecommons.org/licenses/by-sa/3.0/" class="external free" title="http://creativecommons.org/licenses/by-sa/3.0/" rel="nofollow">http://creativecommons.org/licenses/by-sa/3.0/</a></i>
</td></tr></table>
<br/>
</div>
</div>
</body>
</html>