Sophie

Sophie

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

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="#func-members">Functions</a>  </div>
  <div class="headertitle">
<h1>libmapi/IMSProvider.c File Reference</h1>  </div>
</div>
<div class="contents">

<p>Provider operations.  
<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="func-members"></a>
Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum MAPISTATUS&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="IMSProvider_8c.html#a8cf4e89cef4e43d2364ef6f4d2002130">GetNewLogonId</a> (struct <a class="el" href="structmapi__session.html">mapi_session</a> *session, uint8_t *logon_id)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">_PUBLIC_ enum MAPISTATUS&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="IMSProvider_8c.html#a9cd81eb7c3d90eda00c82f2d48915c2f">Logoff</a> (<a class="el" href="structmapi__object.html">mapi_object_t</a> *obj_store)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum MAPISTATUS&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="IMSProvider_8c.html#ad5e7bff24db315bfc51c5cfc0bcb08c3">Logon</a> (struct <a class="el" href="structmapi__session.html">mapi_session</a> *session, struct <a class="el" href="structmapi__provider.html">mapi_provider</a> *provider, enum <a class="el" href="mapi__provider_8h.html#ac4bbe7447bf5f60d55d9953a448c7e69">PROVIDER_ID</a> provider_id)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">_PUBLIC_ enum MAPISTATUS&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="IMSProvider_8c.html#aaccd9111c24e9aac689edf4e614b20a1">RegisterNotification</a> (uint16_t ulEventMask)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">_PUBLIC_ enum MAPISTATUS&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="IMSProvider_8c.html#ac229b2b3eb1bd0e4c2ed8ae8de698ccd">RfrGetFQDNFromLegacyDN</a> (struct <a class="el" href="structmapi__session.html">mapi_session</a> *session, const char **serverFQDN)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">_PUBLIC_ char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="IMSProvider_8c.html#a51eeb3d5445a68adfe93b6839aa3259a">RfrGetNewDSA</a> (struct <a class="el" href="structmapi__session.html">mapi_session</a> *session, const char *server, const char *userDN)</td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>Provider operations. </p>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="a8cf4e89cef4e43d2364ef6f4d2002130"></a><!-- doxytag: member="IMSProvider.c::GetNewLogonId" ref="a8cf4e89cef4e43d2364ef6f4d2002130" args="(struct mapi_session *session, uint8_t *logon_id)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum MAPISTATUS GetNewLogonId </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structmapi__session.html">mapi_session</a> *&nbsp;</td>
          <td class="paramname"> <em>session</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t *&nbsp;</td>
          <td class="paramname"> <em>logon_id</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Retrieve a free logon identifier within the session</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>session</em>&nbsp;</td><td>pointer to the MAPI session context </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>logon_id</em>&nbsp;</td><td>pointer to the logon identifier the function returns</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>MAPI_E_SUCCESS on success, otherwise MAPI eorr </dd></dl>

<p>References <a class="el" href="structmapi__session.html#a7a63adcc415b2220f2efb6cd175f2a67">mapi_session::logon_ids</a>, and <a class="el" href="mapicode_8h.html#a72f77c7e5d097e7b47c57c0405070d0c">OPENCHANGE_RETVAL_IF</a>.</p>

<p>Referenced by <a class="el" href="proto_8h.html#ac27ee071a1b0d8344bb0320a4a647f54">OpenPublicFolder()</a>, and <a class="el" href="proto_8h.html#a7a2978c322cbed08f16de37682cdebde">OpenUserMailbox()</a>.</p>

</div>
</div>
<a class="anchor" id="a9cd81eb7c3d90eda00c82f2d48915c2f"></a><!-- doxytag: member="IMSProvider.c::Logoff" ref="a9cd81eb7c3d90eda00c82f2d48915c2f" args="(mapi_object_t *obj_store)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">_PUBLIC_ enum MAPISTATUS Logoff </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmapi__object.html">mapi_object_t</a> *&nbsp;</td>
          <td class="paramname"> <em>obj_store</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Logoff an Exchange store</p>
<p>This function uninitializes the MAPI session associated to the object.</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_store</em>&nbsp;</td><td>pointer to the store object</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>MAPI_E_SUCCESS on success, otherwise MAPI_E_NOT_FOUND </dd></dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="fetchappointment_8c-example.html#a24">fetchappointment.c</a>, and <a class="el" href="fetchmail_8c-example.html#a24">fetchmail.c</a>.</dd>
</dl>
<p>References <a class="el" href="dlinklist_8h.html#aa0a965f93e7b5bf2c7c95b380f5af2df">DLIST_REMOVE</a>, <a class="el" href="cdo__mapi_8c.html#aa3c2b68912988f290961037c76478495">global_mapi_ctx</a>, <a class="el" href="mapi__object_8c.html#ae5ef3137838fbc0c3eaedd7da99f8adc">mapi_object_get_session()</a>, <a class="el" href="mapi__object_8c.html#ade2b4701fae8a110c476b894834831b9">mapi_object_release()</a>, <a class="el" href="structmapi__session.html#a71592db9a8e9e26c6057098468b50917">mapi_session::next</a>, <a class="el" href="mapicode_8h.html#a72f77c7e5d097e7b47c57c0405070d0c">OPENCHANGE_RETVAL_IF</a>, and <a class="el" href="structmapi__ctx.html#a50da7cefdb68d32a38e9a48997e440b5">mapi_ctx::session</a>.</p>

</div>
</div>
<a class="anchor" id="ad5e7bff24db315bfc51c5cfc0bcb08c3"></a><!-- doxytag: member="IMSProvider.c::Logon" ref="ad5e7bff24db315bfc51c5cfc0bcb08c3" args="(struct mapi_session *session, struct mapi_provider *provider, enum PROVIDER_ID provider_id)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum MAPISTATUS Logon </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structmapi__session.html">mapi_session</a> *&nbsp;</td>
          <td class="paramname"> <em>session</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct <a class="el" href="structmapi__provider.html">mapi_provider</a> *&nbsp;</td>
          <td class="paramname"> <em>provider</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">enum <a class="el" href="mapi__provider_8h.html#ac4bbe7447bf5f60d55d9953a448c7e69">PROVIDER_ID</a>&nbsp;</td>
          <td class="paramname"> <em>provider_id</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="structmapi__profile.html#ae6fe7c5b0e48326fe74cf2ea0257f7ef">mapi_profile::codepage</a>, <a class="el" href="structmapi__profile.html#a5eba7faf68184dedec3d638ae1658de4">mapi_profile::credentials</a>, <a class="el" href="structmapi__provider.html#aa2906ad67334b042836f003e766d6d64">mapi_provider::ctx</a>, <a class="el" href="emsmdb_8c.html#a7cd3ad8dc8ac91f6dde89d411699afdb">emsmdb_connect()</a>, <a class="el" href="cdo__mapi_8c.html#aa3c2b68912988f290961037c76478495">global_mapi_ctx</a>, <a class="el" href="structmapi__profile.html#a13eac67955d0438d039216b931bc1462">mapi_profile::language</a>, <a class="el" href="structmapi__ctx.html#a959500d050843deb2da3ed0537471b8f">mapi_ctx::lp_ctx</a>, <a class="el" href="structmapi__profile.html#a0d22fa4885a0b8584a3ddaa13de4738a">mapi_profile::mailbox</a>, <a class="el" href="structmapi__profile.html#a45abe5f38da3b8b876f2ec071049f7bc">mapi_profile::method</a>, <a class="el" href="nspi_8c.html#aca5f0fab0e7038bbb255e52d1de5d329">nspi_bind()</a>, <a class="el" href="mapicode_8h.html#a7a4b9d7d8598946434a984fdb461eddb">OPENCHANGE_RETVAL_ERR</a>, <a class="el" href="mapicode_8h.html#a72f77c7e5d097e7b47c57c0405070d0c">OPENCHANGE_RETVAL_IF</a>, <a class="el" href="structmapi__session.html#aaf43b41f2628347b7944827c49334a5a">mapi_session::profile</a>, <a class="el" href="mapi__provider_8h.html#ac4bbe7447bf5f60d55d9953a448c7e69a4dfcba777234e413cc14426e54dc6a72">PROVIDER_ID_EMSMDB</a>, <a class="el" href="mapi__provider_8h.html#ac4bbe7447bf5f60d55d9953a448c7e69ac0899633ef5d7eaaa3d70c2994eb8ae6">PROVIDER_ID_NSPI</a>, <a class="el" href="IMSProvider_8c.html#a51eeb3d5445a68adfe93b6839aa3259a">RfrGetNewDSA()</a>, <a class="el" href="structmapi__profile.html#a39e00b51fa1cff10e55de443e9fbed3b">mapi_profile::seal</a>, and <a class="el" href="structmapi__profile.html#af441484c51740bebe9061fe704caa77b">mapi_profile::server</a>.</p>

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

</div>
</div>
<a class="anchor" id="aaccd9111c24e9aac689edf4e614b20a1"></a><!-- doxytag: member="IMSProvider.c::RegisterNotification" ref="aaccd9111c24e9aac689edf4e614b20a1" args="(uint16_t ulEventMask)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">_PUBLIC_ enum MAPISTATUS RegisterNotification </td>
          <td>(</td>
          <td class="paramtype">uint16_t&nbsp;</td>
          <td class="paramname"> <em>ulEventMask</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Initialize the notification subsystem</p>
<p>This function initializes the notification subsystem, binds a local UDP port to receive Exchange (server side) notifications and configures the server to send notifications on this port.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>ulEventMask</em>&nbsp;</td><td>the mask of events to provide notifications for.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>MAPI_E_SUCCESS on success, otherwise MAPI error.</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. Possible MAPI error codes are:<ul>
<li>MAPI_E_NOT_INITIALIZED: MAPI subsystem has not been initialized</li>
<li>MAPI_E_CALL_FAILED: A network problem was encountered during the transaction</li>
</ul>
</dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="proto_8h.html#a73891d48327dd1afee64dba5b7cfddc0">Subscribe</a>, <a class="el" href="proto_8h.html#ade9573642b24da1b4fbdbde2092f6048">Unsubscribe</a>, <a class="el" href="proto_8h.html#a875788729bf87923b16b1d2cab952d59">MonitorNotification</a>, <a class="el" href="proto_8h.html#a8237c7fc76377cb07f3f55920d6f20de">GetLastError</a> </dd></dl>

<p>References <a class="el" href="structmapi__provider.html#aa2906ad67334b042836f003e766d6d64">mapi_provider::ctx</a>, <a class="el" href="structmapi__session.html#a0d032340047573649b7527e660cac594">mapi_session::emsmdb</a>, <a class="el" href="emsmdb_8c.html#a3ceb606e3d9b8d34e0f243b19d6a8373">emsmdb_bind_notification()</a>, <a class="el" href="emsmdb_8c.html#a500b279eff945d3ee9ef15d2f5d53cf2">emsmdb_register_notification()</a>, <a class="el" href="cdo__mapi_8c.html#aa3c2b68912988f290961037c76478495">global_mapi_ctx</a>, <a class="el" href="structemsmdb__context.html#a33b1ba33ce27889bf178ba7ebb7979c7">emsmdb_context::mem_ctx</a>, <a class="el" href="structmapi__session.html#aac9c83fd213feed2c69ca8300551a44f">mapi_session::notify_ctx</a>, <a class="el" href="mapicode_8h.html#a72f77c7e5d097e7b47c57c0405070d0c">OPENCHANGE_RETVAL_IF</a>, and <a class="el" href="structmapi__ctx.html#a50da7cefdb68d32a38e9a48997e440b5">mapi_ctx::session</a>.</p>

</div>
</div>
<a class="anchor" id="ac229b2b3eb1bd0e4c2ed8ae8de698ccd"></a><!-- doxytag: member="IMSProvider.c::RfrGetFQDNFromLegacyDN" ref="ac229b2b3eb1bd0e4c2ed8ae8de698ccd" args="(struct mapi_session *session, const char **serverFQDN)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">_PUBLIC_ enum MAPISTATUS RfrGetFQDNFromLegacyDN </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structmapi__session.html">mapi_session</a> *&nbsp;</td>
          <td class="paramname"> <em>session</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char **&nbsp;</td>
          <td class="paramname"> <em>serverFQDN</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Returns the FQDN of the NSPI server corresponding to a DN</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>session</em>&nbsp;</td><td>pointer to the MAPI session context </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>serverFQDN</em>&nbsp;</td><td>pointer to the server FQDN string (return value)</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>MAPI_E_SUCCESS on success, otherwise a MAPI error and serverFQDN content set to NULL. </dd></dl>

<p>References <a class="el" href="structmapi__profile.html#a5eba7faf68184dedec3d638ae1658de4">mapi_profile::credentials</a>, <a class="el" href="cdo__mapi_8c.html#aa3c2b68912988f290961037c76478495">global_mapi_ctx</a>, <a class="el" href="structmapi__profile.html#a1d32b066e6f631919a9b21eaf4ac6e98">mapi_profile::homemdb</a>, <a class="el" href="structmapi__ctx.html#a959500d050843deb2da3ed0537471b8f">mapi_ctx::lp_ctx</a>, <a class="el" href="mapicode_8h.html#a72f77c7e5d097e7b47c57c0405070d0c">OPENCHANGE_RETVAL_IF</a>, <a class="el" href="structmapi__session.html#aaf43b41f2628347b7944827c49334a5a">mapi_session::profile</a>, <a class="el" href="IMSProvider_8c.html#ac229b2b3eb1bd0e4c2ed8ae8de698ccd">RfrGetFQDNFromLegacyDN()</a>, and <a class="el" href="structmapi__profile.html#af441484c51740bebe9061fe704caa77b">mapi_profile::server</a>.</p>

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

</div>
</div>
<a class="anchor" id="a51eeb3d5445a68adfe93b6839aa3259a"></a><!-- doxytag: member="IMSProvider.c::RfrGetNewDSA" ref="a51eeb3d5445a68adfe93b6839aa3259a" args="(struct mapi_session *session, const char *server, const char *userDN)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">_PUBLIC_ char* RfrGetNewDSA </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structmapi__session.html">mapi_session</a> *&nbsp;</td>
          <td class="paramname"> <em>session</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>server</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>userDN</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Returns the name of an NSPI server</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>session</em>&nbsp;</td><td>pointer to the MAPI session context </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>server</em>&nbsp;</td><td>the Exchange server address (IP or FQDN) </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>userDN</em>&nbsp;</td><td>optional user mailbox DN</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>a valid allocated string on success, otherwise NULL.</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>The string returned can either be RfrGetNewDSA one on success, or a copy of the server's argument one on failure. If no server string is provided, NULL is returned.</dd></dl>
<p>It is up to the developer to free the returned string when not needed anymore. </p>

<p>References <a class="el" href="structmapi__profile.html#a5eba7faf68184dedec3d638ae1658de4">mapi_profile::credentials</a>, <a class="el" href="cdo__mapi_8c.html#aa3c2b68912988f290961037c76478495">global_mapi_ctx</a>, <a class="el" href="structmapi__ctx.html#a959500d050843deb2da3ed0537471b8f">mapi_ctx::lp_ctx</a>, <a class="el" href="structmapi__session.html#aaf43b41f2628347b7944827c49334a5a">mapi_session::profile</a>, <a class="el" href="IMSProvider_8c.html#a51eeb3d5445a68adfe93b6839aa3259a">RfrGetNewDSA()</a>, and <a class="el" href="structmapi__ctx.html#a50da7cefdb68d32a38e9a48997e440b5">mapi_ctx::session</a>.</p>

<p>Referenced by <a class="el" href="IMSProvider_8c.html#ad5e7bff24db315bfc51c5cfc0bcb08c3">Logon()</a>, and <a class="el" href="proto_8h.html#a4b0204ca9b8ea9514474fa78b051075c">RfrGetNewDSA()</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>