<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <title>libmpdclient: mpd/connection.h Source File</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <link href="doxygen.css" rel="stylesheet" type="text/css"/> </head> <body> <!-- Generated by Doxygen 1.6.3 --> <div class="navigation" id="top"> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="annotated.html"><span>Classes</span></a></li> <li class="current"><a href="files.html"><span>Files</span></a></li> </ul> </div> <div class="tabs"> <ul> <li><a href="files.html"><span>File List</span></a></li> <li><a href="globals.html"><span>File Members</span></a></li> </ul> </div> <h1>mpd/connection.h</h1><a href="connection_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* libmpdclient</span> <a name="l00002"></a>00002 <span class="comment"> (c) 2003-2010 The Music Player Daemon Project</span> <a name="l00003"></a>00003 <span class="comment"> This project's homepage is: http://www.musicpd.org</span> <a name="l00004"></a>00004 <span class="comment"></span> <a name="l00005"></a>00005 <span class="comment"> Redistribution and use in source and binary forms, with or without</span> <a name="l00006"></a>00006 <span class="comment"> modification, are permitted provided that the following conditions</span> <a name="l00007"></a>00007 <span class="comment"> are met:</span> <a name="l00008"></a>00008 <span class="comment"></span> <a name="l00009"></a>00009 <span class="comment"> - Redistributions of source code must retain the above copyright</span> <a name="l00010"></a>00010 <span class="comment"> notice, this list of conditions and the following disclaimer.</span> <a name="l00011"></a>00011 <span class="comment"></span> <a name="l00012"></a>00012 <span class="comment"> - Redistributions in binary form must reproduce the above copyright</span> <a name="l00013"></a>00013 <span class="comment"> notice, this list of conditions and the following disclaimer in the</span> <a name="l00014"></a>00014 <span class="comment"> documentation and/or other materials provided with the distribution.</span> <a name="l00015"></a>00015 <span class="comment"></span> <a name="l00016"></a>00016 <span class="comment"> - Neither the name of the Music Player Daemon nor the names of its</span> <a name="l00017"></a>00017 <span class="comment"> contributors may be used to endorse or promote products derived from</span> <a name="l00018"></a>00018 <span class="comment"> this software without specific prior written permission.</span> <a name="l00019"></a>00019 <span class="comment"></span> <a name="l00020"></a>00020 <span class="comment"> THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS</span> <a name="l00021"></a>00021 <span class="comment"> ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT</span> <a name="l00022"></a>00022 <span class="comment"> LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR</span> <a name="l00023"></a>00023 <span class="comment"> A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR</span> <a name="l00024"></a>00024 <span class="comment"> CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,</span> <a name="l00025"></a>00025 <span class="comment"> EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,</span> <a name="l00026"></a>00026 <span class="comment"> PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR</span> <a name="l00027"></a>00027 <span class="comment"> PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF</span> <a name="l00028"></a>00028 <span class="comment"> LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING</span> <a name="l00029"></a>00029 <span class="comment"> NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS</span> <a name="l00030"></a>00030 <span class="comment"> SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span> <a name="l00031"></a>00031 <span class="comment">*/</span> <a name="l00032"></a>00032 <a name="l00039"></a>00039 <span class="preprocessor">#ifndef MPD_CONNECTION_H</span> <a name="l00040"></a>00040 <span class="preprocessor"></span><span class="preprocessor">#define MPD_CONNECTION_H</span> <a name="l00041"></a>00041 <span class="preprocessor"></span> <a name="l00042"></a>00042 <span class="preprocessor">#include <<a class="code" href="protocol_8h.html" title="MPD client library.">mpd/protocol.h</a>></span> <a name="l00043"></a>00043 <span class="preprocessor">#include <<a class="code" href="error_8h.html" title="MPD client library.">mpd/error.h</a>></span> <a name="l00044"></a>00044 <span class="preprocessor">#include <<a class="code" href="compiler_8h.html" title="Compiler specific definitions.">mpd/compiler.h</a>></span> <a name="l00045"></a>00045 <a name="l00046"></a>00046 <span class="preprocessor">#include <stdbool.h></span> <a name="l00047"></a>00047 <a name="l00048"></a><a class="code" href="structmpd__connection.html">00048</a> <span class="keyword">struct </span><a class="code" href="structmpd__async.html">mpd_async</a>; <a name="l00049"></a>00049 <a name="l00072"></a>00072 <span class="keyword">struct </span><a class="code" href="structmpd__connection.html">mpd_connection</a>; <a name="l00073"></a>00073 <a name="l00074"></a>00074 <span class="preprocessor">#ifdef __cplusplus</span> <a name="l00075"></a>00075 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">"C"</span> { <a name="l00076"></a>00076 <span class="preprocessor">#endif</span> <a name="l00077"></a>00077 <span class="preprocessor"></span> <a name="l00099"></a>00099 mpd_malloc <a name="l00100"></a>00100 <span class="keyword">struct </span><a class="code" href="structmpd__connection.html">mpd_connection</a> * <a name="l00101"></a>00101 <a class="code" href="connection_8h.html#a3a5a53bf430ef9e698e72cc629712ebb">mpd_connection_new</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *host, <span class="keywordtype">unsigned</span> port, <span class="keywordtype">unsigned</span> timeout_ms); <a name="l00102"></a>00102 <a name="l00116"></a>00116 mpd_malloc <a name="l00117"></a>00117 <span class="keyword">struct </span><a class="code" href="structmpd__connection.html">mpd_connection</a> * <a name="l00118"></a>00118 <a class="code" href="connection_8h.html#a50d6f780683dcb4e03cff0986ff0ab1b">mpd_connection_new_async</a>(<span class="keyword">struct</span> <a class="code" href="structmpd__async.html">mpd_async</a> *async, <span class="keyword">const</span> <span class="keywordtype">char</span> *welcome); <a name="l00119"></a>00119 <a name="l00125"></a>00125 <span class="keywordtype">void</span> <a class="code" href="connection_8h.html#a59ccf4577a19ad7829dbdc18186b0218">mpd_connection_free</a>(<span class="keyword">struct</span> <a class="code" href="structmpd__connection.html">mpd_connection</a> *connection); <a name="l00126"></a>00126 <a name="l00139"></a>00139 <span class="keywordtype">void</span> <a class="code" href="connection_8h.html#aba4d70da6e9fb8508008281c725e275f">mpd_connection_set_timeout</a>(<span class="keyword">struct</span> <a class="code" href="structmpd__connection.html">mpd_connection</a> *connection, <a name="l00140"></a>00140 <span class="keywordtype">unsigned</span> timeout_ms); <a name="l00141"></a>00141 <a name="l00148"></a>00148 mpd_pure <a name="l00149"></a>00149 <span class="keywordtype">int</span> <a name="l00150"></a>00150 <a class="code" href="connection_8h.html#a7bb008d200c6ec1a92d834f03060d154">mpd_connection_get_fd</a>(<span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="structmpd__connection.html">mpd_connection</a> *connection); <a name="l00151"></a>00151 <a name="l00161"></a>00161 mpd_pure <a name="l00162"></a>00162 <span class="keyword">struct </span><a class="code" href="structmpd__async.html">mpd_async</a> * <a name="l00163"></a>00163 <a class="code" href="connection_8h.html#a8ac8e8973c900cb25da20a2b2061b605">mpd_connection_get_async</a>(<span class="keyword">struct</span> <a class="code" href="structmpd__connection.html">mpd_connection</a> *connection); <a name="l00164"></a>00164 <a name="l00169"></a>00169 mpd_pure <a name="l00170"></a>00170 <span class="keyword">enum</span> <a class="code" href="error_8h.html#a89d9378b765eea5f82efd3cbb20b74e4">mpd_error</a> <a name="l00171"></a>00171 <a class="code" href="connection_8h.html#a9da4d1e881a20fc06ce0b1efbb27ea97">mpd_connection_get_error</a>(<span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="structmpd__connection.html">mpd_connection</a> *connection); <a name="l00172"></a>00172 <a name="l00183"></a>00183 mpd_pure <a name="l00184"></a>00184 <span class="keyword">const</span> <span class="keywordtype">char</span> * <a name="l00185"></a>00185 <a class="code" href="connection_8h.html#a64f743c163557f19d2274ab3ae0f8c7d">mpd_connection_get_error_message</a>(<span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="structmpd__connection.html">mpd_connection</a> *connection); <a name="l00186"></a>00186 <a name="l00192"></a>00192 mpd_pure <a name="l00193"></a>00193 <span class="keyword">enum</span> <a class="code" href="protocol_8h.html#ae6a8b8b538b04a5fc22a063f83634c84">mpd_server_error</a> <a name="l00194"></a>00194 <a class="code" href="connection_8h.html#a8f7565ce766170d5ece48a0ab249f875">mpd_connection_get_server_error</a>(<span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="structmpd__connection.html">mpd_connection</a> *connection); <a name="l00195"></a>00195 <a name="l00203"></a>00203 mpd_pure <a name="l00204"></a>00204 <span class="keywordtype">int</span> <a name="l00205"></a>00205 <a class="code" href="connection_8h.html#a9e043de340aca8680fc171b37b6def5a">mpd_connection_get_system_error</a>(<span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="structmpd__connection.html">mpd_connection</a> *connection); <a name="l00206"></a>00206 <a name="l00215"></a>00215 <span class="keywordtype">bool</span> <a name="l00216"></a>00216 <a class="code" href="connection_8h.html#ae920ded4cf6bc611230f8b67937c7bfd">mpd_connection_clear_error</a>(<span class="keyword">struct</span> <a class="code" href="structmpd__connection.html">mpd_connection</a> *connection); <a name="l00217"></a>00217 <a name="l00222"></a>00222 mpd_pure <a name="l00223"></a>00223 <span class="keyword">const</span> <span class="keywordtype">unsigned</span> * <a name="l00224"></a>00224 <a class="code" href="connection_8h.html#a808b3a4818107fbf97a7c99ec42acca3">mpd_connection_get_server_version</a>(<span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="structmpd__connection.html">mpd_connection</a> *connection); <a name="l00225"></a>00225 <a name="l00232"></a>00232 mpd_pure <a name="l00233"></a>00233 <span class="keywordtype">int</span> <a name="l00234"></a>00234 <a class="code" href="connection_8h.html#a214b8951f08eb57c486711ec524081c4">mpd_connection_cmp_server_version</a>(<span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="structmpd__connection.html">mpd_connection</a> *connection, <a name="l00235"></a>00235 <span class="keywordtype">unsigned</span> major, <span class="keywordtype">unsigned</span> minor, <a name="l00236"></a>00236 <span class="keywordtype">unsigned</span> patch); <a name="l00237"></a>00237 <a name="l00238"></a>00238 <span class="preprocessor">#ifdef __cplusplus</span> <a name="l00239"></a>00239 <span class="preprocessor"></span>} <a name="l00240"></a>00240 <span class="preprocessor">#endif</span> <a name="l00241"></a>00241 <span class="preprocessor"></span> <a name="l00242"></a>00242 <span class="preprocessor">#endif</span> </pre></div></div> <hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Aug 8 15:52:35 2010 for libmpdclient by <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address> </body> </html>