Sophie

Sophie

distrib > Mandriva > 2008.1 > x86_64 > media > main-release > by-pkgid > d4a6745d7fbd92dfb64dce5e91e08f80 > files > 84

lib64meanwhile1-doc-1.0.2-1mdv2008.1.x86_64.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>meanwhile: mw_channel.h Source File</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.4 -->
<div class="tabs">
  <ul>
    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
    <li class="current"><a href="files.html"><span>Files</span></a></li>
    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
  </ul>
</div>
<h1>mw_channel.h</h1><a href="mw__channel_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 
<a name="l00002"></a>00002 <span class="comment">/*</span>
<a name="l00003"></a>00003 <span class="comment">  Meanwhile - Unofficial Lotus Sametime Community Client Library</span>
<a name="l00004"></a>00004 <span class="comment">  Copyright (C) 2004  Christopher (siege) O'Brien</span>
<a name="l00005"></a>00005 <span class="comment">  </span>
<a name="l00006"></a>00006 <span class="comment">  This library is free software; you can redistribute it and/or</span>
<a name="l00007"></a>00007 <span class="comment">  modify it under the terms of the GNU Library General Public</span>
<a name="l00008"></a>00008 <span class="comment">  License as published by the Free Software Foundation; either</span>
<a name="l00009"></a>00009 <span class="comment">  version 2 of the License, or (at your option) any later version.</span>
<a name="l00010"></a>00010 <span class="comment">  </span>
<a name="l00011"></a>00011 <span class="comment">  This library is distributed in the hope that it will be useful,</span>
<a name="l00012"></a>00012 <span class="comment">  but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
<a name="l00013"></a>00013 <span class="comment">  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU</span>
<a name="l00014"></a>00014 <span class="comment">  Library General Public License for more details.</span>
<a name="l00015"></a>00015 <span class="comment">  </span>
<a name="l00016"></a>00016 <span class="comment">  You should have received a copy of the GNU Library General Public</span>
<a name="l00017"></a>00017 <span class="comment">  License along with this library; if not, write to the Free</span>
<a name="l00018"></a>00018 <span class="comment">  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA</span>
<a name="l00019"></a>00019 <span class="comment">*/</span>
<a name="l00020"></a>00020 
<a name="l00021"></a>00021 <span class="preprocessor">#ifndef _MW_CHANNEL_H</span>
<a name="l00022"></a>00022 <span class="preprocessor"></span><span class="preprocessor">#define _MW_CHANNEL_H</span>
<a name="l00023"></a>00023 <span class="preprocessor"></span>
<a name="l00024"></a>00024 
<a name="l00079"></a>00079 <span class="preprocessor">#include &lt;time.h&gt;</span>
<a name="l00080"></a>00080 <span class="preprocessor">#include "<a class="code" href="mw__common_8h.html" title="Common data types and functions for handling those types.">mw_common.h</a>"</span>
<a name="l00081"></a>00081 
<a name="l00082"></a>00082 
<a name="l00083"></a>00083 <span class="preprocessor">#ifdef __cplusplus</span>
<a name="l00084"></a>00084 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">"C"</span> {
<a name="l00085"></a>00085 <span class="preprocessor">#endif</span>
<a name="l00086"></a>00086 <span class="preprocessor"></span>
<a name="l00087"></a>00087 
<a name="l00088"></a>00088 <span class="comment">/* place-holders */</span>
<a name="l00089"></a>00089 <span class="keyword">struct </span><a class="code" href="structmwCipherInstance.html" title="An instance of a cipher.">mwCipherInstance</a>;
<a name="l00090"></a>00090 <span class="keyword">struct </span><a class="code" href="structmwMsgChannelAccept.html">mwMsgChannelAccept</a>;
<a name="l00091"></a>00091 <span class="keyword">struct </span><a class="code" href="structmwMsgChannelCreate.html">mwMsgChannelCreate</a>;
<a name="l00092"></a>00092 <span class="keyword">struct </span><a class="code" href="structmwMsgChannelDestroy.html">mwMsgChannelDestroy</a>;
<a name="l00093"></a>00093 <span class="keyword">struct </span><a class="code" href="structmwMsgChannelSend.html">mwMsgChannelSend</a>;
<a name="l00094"></a>00094 <span class="keyword">struct </span><a class="code" href="structmwService.html" title="A service is the recipient of sendOnCnl messages sent over channels marked with the...">mwService</a>;
<a name="l00095"></a><a class="code" href="structmwChannel.html">00095</a> <span class="keyword">struct </span><a class="code" href="structmwSession.html" title="Represents a Sametime client session.">mwSession</a>;
<a name="l00096"></a>00096 
<a name="l00097"></a>00097 
<a name="l00098"></a>00098 
<a name="l00101"></a><a class="code" href="structmwChannelSet.html">00101</a> <span class="keyword">struct </span><a class="code" href="structmwChannel.html" title="Represents a channel to a service.">mwChannel</a>;
<a name="l00102"></a>00102 
<a name="l00103"></a>00103 
<a name="l00106"></a>00106 <span class="keyword">struct </span><a class="code" href="structmwChannelSet.html" title="Collection of channels.">mwChannelSet</a>;
<a name="l00107"></a>00107 
<a name="l00108"></a>00108 
<a name="l00110"></a><a class="code" href="mw__channel_8h.html#1a2154c83a846c017653a2ee8c1aaa35">00110</a> <span class="preprocessor">#define MW_MASTER_CHANNEL_ID  0x00000000</span>
<a name="l00111"></a>00111 <span class="preprocessor"></span>
<a name="l00112"></a>00112 
<a name="l00114"></a><a class="code" href="mw__channel_8h.html#1c4fa767a8f09e32aaa8b180c1b836f5">00114</a> <span class="preprocessor">#define mwChannel_idIsOutgoing(id) \</span>
<a name="l00115"></a>00115 <span class="preprocessor">  (! (0x80000000 &amp; (id)))</span>
<a name="l00116"></a>00116 <span class="preprocessor"></span>
<a name="l00118"></a><a class="code" href="mw__channel_8h.html#74bd8e3a8a90d421b1a9a7e4b7acec89">00118</a> <span class="preprocessor">#define mwChannel_idIsIncoming(id) \</span>
<a name="l00119"></a>00119 <span class="preprocessor">  (! mwChannel_idIsOutgoing(id))</span>
<a name="l00120"></a>00120 <span class="preprocessor"></span>
<a name="l00122"></a><a class="code" href="mw__channel_8h.html#f8dd8d1088786774775243383f8f8f28">00122</a> <span class="preprocessor">#define mwChannel_isOutgoing(chan) \</span>
<a name="l00123"></a>00123 <span class="preprocessor">  mwChannel_idIsOutgoing(mwChannel_getId(chan))</span>
<a name="l00124"></a>00124 <span class="preprocessor"></span>
<a name="l00126"></a><a class="code" href="mw__channel_8h.html#ea68737cfe6d90e09b13ba1b95b9c633">00126</a> <span class="preprocessor">#define mwChannel_isIncoming(chan) \</span>
<a name="l00127"></a>00127 <span class="preprocessor">  mwChannel_idIsIncoming(mwChannel_getId(chan))</span>
<a name="l00128"></a>00128 <span class="preprocessor"></span>
<a name="l00129"></a>00129 
<a name="l00131"></a><a class="code" href="mw__channel_8h.html#2f9ff901fd7b6e0f92c4f651b209fd11">00131</a> <span class="keyword">enum</span> <a class="code" href="mw__channel_8h.html#2f9ff901fd7b6e0f92c4f651b209fd11" title="channel status">mwChannelState</a> {
<a name="l00132"></a><a class="code" href="mw__channel_8h.html#2f9ff901fd7b6e0f92c4f651b209fd110015e6ab100dcc9072046d4fbccf1c5c">00132</a>   <a class="code" href="mw__channel_8h.html#2f9ff901fd7b6e0f92c4f651b209fd110015e6ab100dcc9072046d4fbccf1c5c" title="channel is newly allocated, in the pool">mwChannel_NEW</a>,      
<a name="l00133"></a><a class="code" href="mw__channel_8h.html#2f9ff901fd7b6e0f92c4f651b209fd1181856c37ab30b5c5dc918230e74b41be">00133</a>   <a class="code" href="mw__channel_8h.html#2f9ff901fd7b6e0f92c4f651b209fd1181856c37ab30b5c5dc918230e74b41be" title="channel is being prepared, out of the pool">mwChannel_INIT</a>,     
<a name="l00134"></a><a class="code" href="mw__channel_8h.html#2f9ff901fd7b6e0f92c4f651b209fd11cc17dbc14dcca5f07db0e1086b1787d7">00134</a>   <a class="code" href="mw__channel_8h.html#2f9ff901fd7b6e0f92c4f651b209fd11cc17dbc14dcca5f07db0e1086b1787d7" title="channel is waiting for accept">mwChannel_WAIT</a>,     
<a name="l00135"></a><a class="code" href="mw__channel_8h.html#2f9ff901fd7b6e0f92c4f651b209fd119b079efae54c7ce19a75cc72bb4bdf1d">00135</a>   <a class="code" href="mw__channel_8h.html#2f9ff901fd7b6e0f92c4f651b209fd119b079efae54c7ce19a75cc72bb4bdf1d" title="channel is accepted and open">mwChannel_OPEN</a>,     
<a name="l00136"></a><a class="code" href="mw__channel_8h.html#2f9ff901fd7b6e0f92c4f651b209fd114dbdbd31d9ff0fb6b973a665ab28a640">00136</a>   <a class="code" href="mw__channel_8h.html#2f9ff901fd7b6e0f92c4f651b209fd114dbdbd31d9ff0fb6b973a665ab28a640" title="channel is being destroyed">mwChannel_DESTROY</a>,  
<a name="l00137"></a><a class="code" href="mw__channel_8h.html#2f9ff901fd7b6e0f92c4f651b209fd1113307644c3c44174b3374e165e4bd609">00137</a>   <a class="code" href="mw__channel_8h.html#2f9ff901fd7b6e0f92c4f651b209fd1113307644c3c44174b3374e165e4bd609" title="channel is being destroyed due to error">mwChannel_ERROR</a>,    
<a name="l00138"></a><a class="code" href="mw__channel_8h.html#2f9ff901fd7b6e0f92c4f651b209fd11037260bf612b5b449b9dfc25f14d863c">00138</a>   <a class="code" href="mw__channel_8h.html#2f9ff901fd7b6e0f92c4f651b209fd11037260bf612b5b449b9dfc25f14d863c" title="unknown state, or error determining state">mwChannel_UNKNOWN</a>,  
<a name="l00139"></a>00139 };
<a name="l00140"></a>00140 
<a name="l00141"></a>00141 
<a name="l00142"></a><a class="code" href="mw__channel_8h.html#cb79280fcff820ba79c7f2a9b9dbe0e0">00142</a> <span class="preprocessor">#define mwChannel_isState(chan, state) \</span>
<a name="l00143"></a>00143 <span class="preprocessor">  (mwChannel_getState(chan) == (state))</span>
<a name="l00144"></a>00144 <span class="preprocessor"></span>
<a name="l00145"></a>00145 
<a name="l00148"></a><a class="code" href="mw__channel_8h.html#e48ef93585f681efb2f9e4eb702c365e">00148</a> <span class="keyword">enum</span> <a class="code" href="mw__channel_8h.html#e48ef93585f681efb2f9e4eb702c365e" title="channel statistic fields.">mwChannelStatField</a> {
<a name="l00149"></a><a class="code" href="mw__channel_8h.html#e48ef93585f681efb2f9e4eb702c365e2fb930374933a4ae3bcbb59c38100453">00149</a>   <a class="code" href="mw__channel_8h.html#e48ef93585f681efb2f9e4eb702c365e2fb930374933a4ae3bcbb59c38100453" title="total send-on-chan messages sent">mwChannelStat_MSG_SENT</a>,      
<a name="l00150"></a><a class="code" href="mw__channel_8h.html#e48ef93585f681efb2f9e4eb702c365e0b9cd0c35eae32dde00d1757863c0c72">00150</a>   <a class="code" href="mw__channel_8h.html#e48ef93585f681efb2f9e4eb702c365e0b9cd0c35eae32dde00d1757863c0c72" title="total send-on-chan messages received">mwChannelStat_MSG_RECV</a>,      
<a name="l00151"></a><a class="code" href="mw__channel_8h.html#e48ef93585f681efb2f9e4eb702c365e5cb8465381680632b7f9f12c35e36b36">00151</a>   <a class="code" href="mw__channel_8h.html#e48ef93585f681efb2f9e4eb702c365e5cb8465381680632b7f9f12c35e36b36" title="total bytes sent, pre-encryption">mwChannelStat_U_BYTES_SENT</a>,  
<a name="l00152"></a><a class="code" href="mw__channel_8h.html#e48ef93585f681efb2f9e4eb702c365e76fcf9b81600e77219e91476087127ca">00152</a>   <a class="code" href="mw__channel_8h.html#e48ef93585f681efb2f9e4eb702c365e76fcf9b81600e77219e91476087127ca" title="total bytes received, post-decryption">mwChannelStat_U_BYTES_RECV</a>,  
<a name="l00153"></a><a class="code" href="mw__channel_8h.html#e48ef93585f681efb2f9e4eb702c365e89b26adcb1a6ecb4cf7f871856c597ce">00153</a>   <a class="code" href="mw__channel_8h.html#e48ef93585f681efb2f9e4eb702c365e89b26adcb1a6ecb4cf7f871856c597ce" title="time when channel was opened">mwChannelStat_OPENED_AT</a>,     
<a name="l00154"></a><a class="code" href="mw__channel_8h.html#e48ef93585f681efb2f9e4eb702c365e5eef1f4cfa0960802e63d5c98c1fc987">00154</a>   <a class="code" href="mw__channel_8h.html#e48ef93585f681efb2f9e4eb702c365e5eef1f4cfa0960802e63d5c98c1fc987" title="time when channel was closed">mwChannelStat_CLOSED_AT</a>,     
<a name="l00155"></a>00155 };
<a name="l00156"></a>00156 
<a name="l00157"></a>00157 
<a name="l00163"></a><a class="code" href="mw__channel_8h.html#f1a96846496c5953b72b8002821778dd">00163</a> <span class="keyword">enum</span> <a class="code" href="mw__channel_8h.html#f1a96846496c5953b72b8002821778dd" title="Policy for a channel, dictating what sort of encryption should be used, if any, and...">mwEncryptPolicy</a> {
<a name="l00164"></a><a class="code" href="mw__channel_8h.html#f1a96846496c5953b72b8002821778dd8fb49fce96dafa93f4574079bcefefcd">00164</a>   <a class="code" href="mw__channel_8h.html#f1a96846496c5953b72b8002821778dd8fb49fce96dafa93f4574079bcefefcd" title="encrypt none">mwEncrypt_NONE</a>      = 0x0000, 
<a name="l00165"></a><a class="code" href="mw__channel_8h.html#f1a96846496c5953b72b8002821778dd23970e8fbf808d49e753b76edd2f7dac">00165</a>   <a class="code" href="mw__channel_8h.html#f1a96846496c5953b72b8002821778dd23970e8fbf808d49e753b76edd2f7dac" title="encrypt whatever you want">mwEncrypt_WHATEVER</a>  = 0x0001, 
<a name="l00166"></a><a class="code" href="mw__channel_8h.html#f1a96846496c5953b72b8002821778dd751e7884abd7fff5bf60df3be83acb49">00166</a>   <a class="code" href="mw__channel_8h.html#f1a96846496c5953b72b8002821778dd751e7884abd7fff5bf60df3be83acb49" title="encrypt all, any cipher">mwEncrypt_ALL</a>       = 0x0002, 
<a name="l00167"></a><a class="code" href="mw__channel_8h.html#f1a96846496c5953b72b8002821778ddb501a631c7ce9cf2afb4c3ae80a5f228">00167</a>   <a class="code" href="mw__channel_8h.html#f1a96846496c5953b72b8002821778ddb501a631c7ce9cf2afb4c3ae80a5f228" title="encrypt all, RC2/40 cipher">mwEncrypt_RC2_40</a>    = 0x1000, 
<a name="l00168"></a><a class="code" href="mw__channel_8h.html#f1a96846496c5953b72b8002821778dd24d43c164f072dfdb19b9b3b739b5e2c">00168</a>   <a class="code" href="mw__channel_8h.html#f1a96846496c5953b72b8002821778dd24d43c164f072dfdb19b9b3b739b5e2c" title="encrypt all, RC2/128 cipher">mwEncrypt_RC2_128</a>   = 0x2000, 
<a name="l00169"></a>00169 };
<a name="l00170"></a>00170 
<a name="l00171"></a>00171 
<a name="l00173"></a>00173 <span class="keyword">struct </span><a class="code" href="structmwChannelSet.html" title="Collection of channels.">mwChannelSet</a> *<a class="code" href="mw__channel_8h.html#78d3c4f046b9b2627f82d9c7a5238048" title="Allocate and initialize a channel set for a session.">mwChannelSet_new</a>(<span class="keyword">struct</span> <a class="code" href="structmwSession.html" title="Represents a Sametime client session.">mwSession</a> *);
<a name="l00174"></a>00174 
<a name="l00175"></a>00175 
<a name="l00178"></a>00178 <span class="keywordtype">void</span> <a class="code" href="mw__channel_8h.html#36ca1279d6e68a1e86a9f0126bc545cc" title="Clear and deallocate a channel set.">mwChannelSet_free</a>(<span class="keyword">struct</span> <a class="code" href="structmwChannelSet.html" title="Collection of channels.">mwChannelSet</a> *);
<a name="l00179"></a>00179 
<a name="l00180"></a>00180 
<a name="l00183"></a>00183 <span class="keyword">struct </span><a class="code" href="structmwChannel.html" title="Represents a channel to a service.">mwChannel</a> *<a class="code" href="mw__channel_8h.html#715a0d9c5d7ed3b81519d586cad7e73b" title="Create an incoming channel with the given channel id.">mwChannel_newIncoming</a>(<span class="keyword">struct</span> <a class="code" href="structmwChannelSet.html" title="Collection of channels.">mwChannelSet</a> *, guint32 <span class="keywordtype">id</span>);
<a name="l00184"></a>00184 
<a name="l00185"></a>00185 
<a name="l00188"></a>00188 <span class="keyword">struct </span><a class="code" href="structmwChannel.html" title="Represents a channel to a service.">mwChannel</a> *<a class="code" href="mw__channel_8h.html#ca14ac73eda43fe18d5aa691c1705e11" title="Create an outgoing channel.">mwChannel_newOutgoing</a>(<span class="keyword">struct</span> <a class="code" href="structmwChannelSet.html" title="Collection of channels.">mwChannelSet</a> *);
<a name="l00189"></a>00189 
<a name="l00190"></a>00190 
<a name="l00193"></a>00193 <span class="keyword">struct </span><a class="code" href="structmwChannel.html" title="Represents a channel to a service.">mwChannel</a> *<a class="code" href="mw__channel_8h.html#dbaba2dd85c52344f8ff813673945664" title="Obtain a reference to a channel by its id.">mwChannel_find</a>(<span class="keyword">struct</span> <a class="code" href="structmwChannelSet.html" title="Collection of channels.">mwChannelSet</a> *cs, guint32 chan);
<a name="l00194"></a>00194 
<a name="l00195"></a>00195 
<a name="l00198"></a>00198 guint32 <a class="code" href="mw__channel_8h.html#205fb45f4f128840da446802a5b8858f" title="get the ID for a channel.">mwChannel_getId</a>(<span class="keyword">struct</span> <a class="code" href="structmwChannel.html" title="Represents a channel to a service.">mwChannel</a> *);
<a name="l00199"></a>00199 
<a name="l00200"></a>00200 
<a name="l00202"></a>00202 <span class="keyword">struct </span><a class="code" href="structmwSession.html" title="Represents a Sametime client session.">mwSession</a> *<a class="code" href="mw__channel_8h.html#92bb2b0deb246e539f96c71f07a88836" title="get the session for a channel.">mwChannel_getSession</a>(<span class="keyword">struct</span> <a class="code" href="structmwChannel.html" title="Represents a channel to a service.">mwChannel</a> *);
<a name="l00203"></a>00203 
<a name="l00204"></a>00204 
<a name="l00207"></a>00207 guint32 <a class="code" href="mw__channel_8h.html#852573bda2f2153ea7bdc3ce4e44ecba" title="get the ID of the service for a channel.">mwChannel_getServiceId</a>(<span class="keyword">struct</span> <a class="code" href="structmwChannel.html" title="Represents a channel to a service.">mwChannel</a> *);
<a name="l00208"></a>00208 
<a name="l00209"></a>00209 
<a name="l00212"></a>00212 <span class="keyword">struct </span><a class="code" href="structmwService.html" title="A service is the recipient of sendOnCnl messages sent over channels marked with the...">mwService</a> *<a class="code" href="mw__channel_8h.html#c1fea86d0accdaf564915e7a3d16084b" title="get the service for a channel.">mwChannel_getService</a>(<span class="keyword">struct</span> <a class="code" href="structmwChannel.html" title="Represents a channel to a service.">mwChannel</a> *);
<a name="l00213"></a>00213 
<a name="l00214"></a>00214 
<a name="l00216"></a>00216 <span class="keywordtype">void</span> <a class="code" href="mw__channel_8h.html#730aaae4bae3fdfe485cf4e62510bdd7" title="associate a channel with an owning service">mwChannel_setService</a>(<span class="keyword">struct</span> <a class="code" href="structmwChannel.html" title="Represents a channel to a service.">mwChannel</a> *chan, <span class="keyword">struct</span> <a class="code" href="structmwService.html" title="A service is the recipient of sendOnCnl messages sent over channels marked with the...">mwService</a> *srvc);
<a name="l00217"></a>00217 
<a name="l00218"></a>00218 
<a name="l00222"></a>00222 gpointer <a class="code" href="mw__channel_8h.html#9edb54daf4ae35b0eb5d622b2b0a2332" title="get service-specific data.">mwChannel_getServiceData</a>(<span class="keyword">struct</span> <a class="code" href="structmwChannel.html" title="Represents a channel to a service.">mwChannel</a> *chan);
<a name="l00223"></a>00223 
<a name="l00224"></a>00224 
<a name="l00228"></a>00228 <span class="keywordtype">void</span> <a class="code" href="mw__channel_8h.html#e424543ba6d270f04d4819a7b77b5d47" title="set service-specific data.">mwChannel_setServiceData</a>(<span class="keyword">struct</span> <a class="code" href="structmwChannel.html" title="Represents a channel to a service.">mwChannel</a> *chan,
<a name="l00229"></a>00229                               gpointer data, GDestroyNotify clean);
<a name="l00230"></a>00230 
<a name="l00231"></a>00231 
<a name="l00232"></a>00232 <span class="keywordtype">void</span> <a class="code" href="mw__channel_8h.html#288a0fc9ee0e2efbe16d6905a2bf158e">mwChannel_removeServiceData</a>(<span class="keyword">struct</span> <a class="code" href="structmwChannel.html" title="Represents a channel to a service.">mwChannel</a> *chan);
<a name="l00233"></a>00233 
<a name="l00234"></a>00234 
<a name="l00235"></a>00235 guint32 <a class="code" href="mw__channel_8h.html#c2d6c9be2a7183b7db1548b737725fa0">mwChannel_getProtoType</a>(<span class="keyword">struct</span> <a class="code" href="structmwChannel.html" title="Represents a channel to a service.">mwChannel</a> *chan);
<a name="l00236"></a>00236 
<a name="l00237"></a>00237 
<a name="l00238"></a>00238 <span class="keywordtype">void</span> <a class="code" href="mw__channel_8h.html#dc7007d3b03fed371cd1f2a51321f04e">mwChannel_setProtoType</a>(<span class="keyword">struct</span> <a class="code" href="structmwChannel.html" title="Represents a channel to a service.">mwChannel</a> *chan, guint32 proto_type);
<a name="l00239"></a>00239 
<a name="l00240"></a>00240 
<a name="l00241"></a>00241 guint32 <a class="code" href="mw__channel_8h.html#a59d3438ea8d7ddaa4aa66e7f96e0d25">mwChannel_getProtoVer</a>(<span class="keyword">struct</span> <a class="code" href="structmwChannel.html" title="Represents a channel to a service.">mwChannel</a> *chan);
<a name="l00242"></a>00242 
<a name="l00243"></a>00243 
<a name="l00244"></a>00244 <span class="keywordtype">void</span> <a class="code" href="mw__channel_8h.html#7f43ceb7857fadd26d24ad1294ba4d8b">mwChannel_setProtoVer</a>(<span class="keyword">struct</span> <a class="code" href="structmwChannel.html" title="Represents a channel to a service.">mwChannel</a> *chan, guint32 proto_ver);
<a name="l00245"></a>00245 
<a name="l00246"></a>00246 
<a name="l00255"></a>00255 guint16 <a class="code" href="mw__channel_8h.html#9eeee87028d25ba9addea3efa02409a4" title="Channel encryption policy.">mwChannel_getEncryptPolicy</a>(<span class="keyword">struct</span> <a class="code" href="structmwChannel.html" title="Represents a channel to a service.">mwChannel</a> *chan);
<a name="l00256"></a>00256 
<a name="l00257"></a>00257 
<a name="l00258"></a>00258 guint32 <a class="code" href="mw__channel_8h.html#6cc4dc53011417c27ad7d34b814ee74d">mwChannel_getOptions</a>(<span class="keyword">struct</span> <a class="code" href="structmwChannel.html" title="Represents a channel to a service.">mwChannel</a> *chan);
<a name="l00259"></a>00259 
<a name="l00260"></a>00260 
<a name="l00261"></a>00261 <span class="keywordtype">void</span> <a class="code" href="mw__channel_8h.html#df361ad42cbffec92a393bc3e059c38e">mwChannel_setOptions</a>(<span class="keyword">struct</span> <a class="code" href="structmwChannel.html" title="Represents a channel to a service.">mwChannel</a> *chan, guint32 options);
<a name="l00262"></a>00262 
<a name="l00263"></a>00263 
<a name="l00266"></a>00266 <span class="keyword">struct </span><a class="code" href="structmwLoginInfo.html">mwLoginInfo</a> *<a class="code" href="mw__channel_8h.html#5049f4cfefc749fca12d8d226f098d00" title="User at the other end of the channel.">mwChannel_getUser</a>(<span class="keyword">struct</span> <a class="code" href="structmwChannel.html" title="Represents a channel to a service.">mwChannel</a> *chan);
<a name="l00267"></a>00267 
<a name="l00268"></a>00268 
<a name="l00270"></a>00270 <span class="keyword">struct </span><a class="code" href="structmwOpaque.html" title="A length of binary data, not null-terminated.">mwOpaque</a> *<a class="code" href="mw__channel_8h.html#b444dcf0acf717ed89658325aa27ced6" title="direct reference to the create addtl information for a channel">mwChannel_getAddtlCreate</a>(<span class="keyword">struct</span> <a class="code" href="structmwChannel.html" title="Represents a channel to a service.">mwChannel</a> *);
<a name="l00271"></a>00271 
<a name="l00272"></a>00272 
<a name="l00274"></a>00274 <span class="keyword">struct </span><a class="code" href="structmwOpaque.html" title="A length of binary data, not null-terminated.">mwOpaque</a> *<a class="code" href="mw__channel_8h.html#8308d484dffecd66a8c102fc81f614a1" title="direct reference to the accept addtl information for a channel">mwChannel_getAddtlAccept</a>(<span class="keyword">struct</span> <a class="code" href="structmwChannel.html" title="Represents a channel to a service.">mwChannel</a> *);
<a name="l00275"></a>00275 
<a name="l00276"></a>00276 
<a name="l00279"></a>00279 <span class="keywordtype">void</span> <a class="code" href="mw__channel_8h.html#d140721caa97992d7e64cd6504965946" title="automatically adds instances of all ciphers in the session to the list of supported...">mwChannel_populateSupportedCipherInstances</a>(<span class="keyword">struct</span> <a class="code" href="structmwChannel.html" title="Represents a channel to a service.">mwChannel</a> *chan);
<a name="l00280"></a>00280 
<a name="l00281"></a>00281 
<a name="l00284"></a>00284 <span class="keywordtype">void</span> <a class="code" href="mw__channel_8h.html#7c85be3b885f7bb2119707e78c9f1c1d" title="add a cipher instance to a channel&amp;#39;s list of supported ciphers.">mwChannel_addSupportedCipherInstance</a>(<span class="keyword">struct</span> <a class="code" href="structmwChannel.html" title="Represents a channel to a service.">mwChannel</a> *chan,
<a name="l00285"></a>00285                                           <span class="keyword">struct</span> <a class="code" href="structmwCipherInstance.html" title="An instance of a cipher.">mwCipherInstance</a> *ci);
<a name="l00286"></a>00286 
<a name="l00287"></a>00287 
<a name="l00290"></a>00290 GList *<a class="code" href="mw__channel_8h.html#f5055c726c6d80ed0e451c5c95cc3794" title="the list of supported ciphers for a channel.">mwChannel_getSupportedCipherInstances</a>(<span class="keyword">struct</span> <a class="code" href="structmwChannel.html" title="Represents a channel to a service.">mwChannel</a> *chan);
<a name="l00291"></a>00291 
<a name="l00292"></a>00292 
<a name="l00295"></a>00295 <span class="keywordtype">void</span> <a class="code" href="mw__channel_8h.html#ae6d4fb911cd040fb277d8caccf21d13" title="select a cipher instance for a channel.">mwChannel_selectCipherInstance</a>(<span class="keyword">struct</span> <a class="code" href="structmwChannel.html" title="Represents a channel to a service.">mwChannel</a> *chan,
<a name="l00296"></a>00296                                     <span class="keyword">struct</span> <a class="code" href="structmwCipherInstance.html" title="An instance of a cipher.">mwCipherInstance</a> *ci);
<a name="l00297"></a>00297 
<a name="l00298"></a>00298 
<a name="l00299"></a>00299 <span class="keyword">struct </span><a class="code" href="structmwCipherInstance.html" title="An instance of a cipher.">mwCipherInstance</a> *
<a name="l00300"></a>00300 <a class="code" href="mw__channel_8h.html#8ac75f17835471f500aa0f1219948765">mwChannel_getCipherInstance</a>(<span class="keyword">struct</span> <a class="code" href="structmwChannel.html" title="Represents a channel to a service.">mwChannel</a> *chan);
<a name="l00301"></a>00301 
<a name="l00302"></a>00302 
<a name="l00304"></a>00304 <span class="keyword">enum</span> <a class="code" href="mw__channel_8h.html#2f9ff901fd7b6e0f92c4f651b209fd11" title="channel status">mwChannelState</a> <a class="code" href="mw__channel_8h.html#7bcf55392672ce5cc803019884f0cf82" title="get the state of a channel">mwChannel_getState</a>(<span class="keyword">struct</span> <a class="code" href="structmwChannel.html" title="Represents a channel to a service.">mwChannel</a> *);
<a name="l00305"></a>00305 
<a name="l00306"></a>00306 
<a name="l00308"></a>00308 gpointer <a class="code" href="mw__channel_8h.html#5d3eb44fd65ec67e7e04c01ea49bdf2c" title="obtain the value for a statistic field as a gpointer">mwChannel_getStatistic</a>(<span class="keyword">struct</span> <a class="code" href="structmwChannel.html" title="Represents a channel to a service.">mwChannel</a> *chan,
<a name="l00309"></a>00309                                 <span class="keyword">enum</span> <a class="code" href="mw__channel_8h.html#e48ef93585f681efb2f9e4eb702c365e" title="channel statistic fields.">mwChannelStatField</a> stat);
<a name="l00310"></a>00310 
<a name="l00311"></a>00311 
<a name="l00322"></a>00322 <span class="keywordtype">int</span> <a class="code" href="mw__channel_8h.html#c0b5dba71d6c2ac2780b094bae9bda13" title="Formally open a channel.">mwChannel_create</a>(<span class="keyword">struct</span> <a class="code" href="structmwChannel.html" title="Represents a channel to a service.">mwChannel</a> *chan);
<a name="l00323"></a>00323 
<a name="l00324"></a>00324 
<a name="l00328"></a>00328 <span class="keywordtype">int</span> <a class="code" href="mw__channel_8h.html#8c72269dfed1ad1a32a2f44501c3961a" title="Formally accept an incoming channel.">mwChannel_accept</a>(<span class="keyword">struct</span> <a class="code" href="structmwChannel.html" title="Represents a channel to a service.">mwChannel</a> *chan);
<a name="l00329"></a>00329 
<a name="l00330"></a>00330 
<a name="l00338"></a>00338 <span class="keywordtype">int</span> <a class="code" href="mw__channel_8h.html#cbfd68a6393902b1e396c19086cb8703" title="Destroy a channel.">mwChannel_destroy</a>(<span class="keyword">struct</span> <a class="code" href="structmwChannel.html" title="Represents a channel to a service.">mwChannel</a> *chan, guint32 reason,
<a name="l00339"></a>00339                       <span class="keyword">struct</span> <a class="code" href="structmwOpaque.html" title="A length of binary data, not null-terminated.">mwOpaque</a> *data);
<a name="l00340"></a>00340 
<a name="l00341"></a>00341 
<a name="l00344"></a>00344 <span class="keywordtype">int</span> <a class="code" href="mw__channel_8h.html#3c5c8c8fc12b5931e97e1456fac726cf" title="Compose a send-on-channel message, encrypt it as per the channel&amp;#39;s specification...">mwChannel_send</a>(<span class="keyword">struct</span> <a class="code" href="structmwChannel.html" title="Represents a channel to a service.">mwChannel</a> *chan, guint32 msg_type,
<a name="l00345"></a>00345                    <span class="keyword">struct</span> <a class="code" href="structmwOpaque.html" title="A length of binary data, not null-terminated.">mwOpaque</a> *msg);
<a name="l00346"></a>00346 
<a name="l00347"></a>00347 
<a name="l00350"></a>00350 <span class="keywordtype">int</span> <a class="code" href="mw__channel_8h.html#9680f1baac754a86449e2f416fa2ac27" title="Compose a send-on-channel message, and if encrypt is TRUE, encrypt it as per the...">mwChannel_sendEncrypted</a>(<span class="keyword">struct</span> <a class="code" href="structmwChannel.html" title="Represents a channel to a service.">mwChannel</a> *chan,
<a name="l00351"></a>00351                             guint32 msg_type, <span class="keyword">struct</span> <a class="code" href="structmwOpaque.html" title="A length of binary data, not null-terminated.">mwOpaque</a> *msg,
<a name="l00352"></a>00352                             gboolean encrypt);
<a name="l00353"></a>00353 
<a name="l00354"></a>00354 
<a name="l00356"></a>00356 <span class="keywordtype">void</span> <a class="code" href="mw__channel_8h.html#1172755c4bb709e9150691848ba4070f" title="pass a create message to a channel for handling">mwChannel_recvCreate</a>(<span class="keyword">struct</span> <a class="code" href="structmwChannel.html" title="Represents a channel to a service.">mwChannel</a> *chan,
<a name="l00357"></a>00357                           <span class="keyword">struct</span> <a class="code" href="structmwMsgChannelCreate.html">mwMsgChannelCreate</a> *msg);
<a name="l00358"></a>00358 
<a name="l00359"></a>00359 
<a name="l00361"></a>00361 <span class="keywordtype">void</span> <a class="code" href="mw__channel_8h.html#cdcc28872711d7b7cb17f403472448e5" title="pass an accept message to a channel for handling">mwChannel_recvAccept</a>(<span class="keyword">struct</span> <a class="code" href="structmwChannel.html" title="Represents a channel to a service.">mwChannel</a> *chan,
<a name="l00362"></a>00362                           <span class="keyword">struct</span> <a class="code" href="structmwMsgChannelAccept.html">mwMsgChannelAccept</a> *msg);
<a name="l00363"></a>00363 
<a name="l00364"></a>00364 
<a name="l00366"></a>00366 <span class="keywordtype">void</span> <a class="code" href="mw__channel_8h.html#0e66613f64ea68bebfae4c3e2fe1a50b" title="pass a destroy message to a channel for handling">mwChannel_recvDestroy</a>(<span class="keyword">struct</span> <a class="code" href="structmwChannel.html" title="Represents a channel to a service.">mwChannel</a> *chan,
<a name="l00367"></a>00367                            <span class="keyword">struct</span> <a class="code" href="structmwMsgChannelDestroy.html">mwMsgChannelDestroy</a> *msg);
<a name="l00368"></a>00368 
<a name="l00369"></a>00369 
<a name="l00371"></a>00371 <span class="keywordtype">void</span> <a class="code" href="mw__channel_8h.html#45bfb6bb37d6db073c593bbfcc48af92" title="Feed data into a channel.">mwChannel_recv</a>(<span class="keyword">struct</span> <a class="code" href="structmwChannel.html" title="Represents a channel to a service.">mwChannel</a> *chan, <span class="keyword">struct</span> <a class="code" href="structmwMsgChannelSend.html">mwMsgChannelSend</a> *msg);
<a name="l00372"></a>00372 
<a name="l00373"></a>00373 
<a name="l00374"></a>00374 <span class="preprocessor">#ifdef __cplusplus</span>
<a name="l00375"></a>00375 <span class="preprocessor"></span>}
<a name="l00376"></a>00376 <span class="preprocessor">#endif</span>
<a name="l00377"></a>00377 <span class="preprocessor"></span>
<a name="l00378"></a>00378 
<a name="l00379"></a>00379 <span class="preprocessor">#endif </span><span class="comment">/* _MW_CHANNEL_H */</span>
<a name="l00380"></a>00380 
</pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Wed Dec 19 09:10:33 2007 for meanwhile by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.4 </small></address>
</body>
</html>