Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > 874255f3b26b44feb57fbe38a7384518 > files > 238

gmerlin-0.4.1-2mdv2010.0.i586.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>gmerlin: /home/mandrake/rpm/BUILD/gmerlin-0.4.1/include/gmerlin/msgqueue.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.5.9 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <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="modules.html"><span>Modules</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="dirs.html"><span>Directories</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
    </ul>
  </div>
  <div class="navpath"><a class="el" href="dir_9de5cad15617e449f29680677e022ed8.html">include</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_4a3f2046eda2c9424010fb7393a61021.html">gmerlin</a>
  </div>
</div>
<div class="contents">
<h1>msgqueue.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*****************************************************************</span>
<a name="l00002"></a>00002 <span class="comment"> * gmerlin - a general purpose multimedia framework and applications</span>
<a name="l00003"></a>00003 <span class="comment"> *</span>
<a name="l00004"></a>00004 <span class="comment"> * Copyright (c) 2001 - 2008 Members of the Gmerlin project</span>
<a name="l00005"></a>00005 <span class="comment"> * gmerlin-general@lists.sourceforge.net</span>
<a name="l00006"></a>00006 <span class="comment"> * http://gmerlin.sourceforge.net</span>
<a name="l00007"></a>00007 <span class="comment"> *</span>
<a name="l00008"></a>00008 <span class="comment"> * This program is free software: you can redistribute it and/or modify</span>
<a name="l00009"></a>00009 <span class="comment"> * it under the terms of the GNU General Public License as published by</span>
<a name="l00010"></a>00010 <span class="comment"> * the Free Software Foundation, either version 2 of the License, or</span>
<a name="l00011"></a>00011 <span class="comment"> * (at your option) any later version.</span>
<a name="l00012"></a>00012 <span class="comment"> *</span>
<a name="l00013"></a>00013 <span class="comment"> * This program is distributed in the hope that it will be useful,</span>
<a name="l00014"></a>00014 <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
<a name="l00015"></a>00015 <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</span>
<a name="l00016"></a>00016 <span class="comment"> * GNU General Public License for more details.</span>
<a name="l00017"></a>00017 <span class="comment"> *</span>
<a name="l00018"></a>00018 <span class="comment"> * You should have received a copy of the GNU General Public License</span>
<a name="l00019"></a>00019 <span class="comment"> * along with this program.  If not, see &lt;http://www.gnu.org/licenses/&gt;.</span>
<a name="l00020"></a>00020 <span class="comment"> * *****************************************************************/</span>
<a name="l00021"></a>00021 
<a name="l00022"></a>00022 <span class="preprocessor">#ifndef __BG_MSGQUEUE_H_</span>
<a name="l00023"></a>00023 <span class="preprocessor"></span><span class="preprocessor">#define __BG_MSGQUEUE_H_</span>
<a name="l00024"></a>00024 <span class="preprocessor"></span>
<a name="l00025"></a>00025 <span class="preprocessor">#include &lt;<a class="codeRef" doxygen="gavl.tags:http://gmerlin.sourceforge.net/doc/gavl//" href="http://gmerlin.sourceforge.net/doc/gavl//gavl_8h.html">gavl/gavl.h</a>&gt;</span>
<a name="l00026"></a>00026 <span class="preprocessor">#include &lt;gavl/gavldsp.h&gt;</span>
<a name="l00027"></a>00027 <span class="preprocessor">#include &lt;gmerlin/streaminfo.h&gt;</span>
<a name="l00028"></a>00028 
<a name="l00029"></a>00029 
<a name="l00048"></a><a class="code" href="group__messages.html#g1559ebedae1fc152426d198594fd1880">00048</a> <span class="preprocessor">#define BG_MSG_NONE     -1 </span>
<a name="l00049"></a><a class="code" href="group__messages.html#gef7cb493c76dcfb6b3d812da9f5bb99a">00049</a> <span class="preprocessor">#define BG_MSG_MAX_ARGS  4 </span>
<a name="l00050"></a>00050 <span class="preprocessor"></span>
<a name="l00051"></a>00051 <span class="preprocessor"></span>
<a name="l00054"></a><a class="code" href="group__messages.html#ga2fddc144a544250c092c7aeebeaa439">00054</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>bg_msg_s <a class="code" href="group__messages.html#ga2fddc144a544250c092c7aeebeaa439" title="Opaque message type, you don&amp;#39;t want to know what&amp;#39;s inside.">bg_msg_t</a>;
<a name="l00055"></a>00055 
<a name="l00063"></a><a class="code" href="group__messages.html#g87e18cb717e0a14a6c82cddf07925b2d">00063</a> <span class="keyword">typedef</span> int (*<a class="code" href="group__messages.html#g87e18cb717e0a14a6c82cddf07925b2d" title="Callback for bg_msg_read.">bg_msg_read_callback_t</a>)(<span class="keywordtype">void</span> * priv, uint8_t * data, <span class="keywordtype">int</span> len);
<a name="l00064"></a>00064 
<a name="l00072"></a><a class="code" href="group__messages.html#g740fc4294f649704d8f47a36086c4375">00072</a> <span class="keyword">typedef</span> int (*<a class="code" href="group__messages.html#g740fc4294f649704d8f47a36086c4375" title="Callback for bg_msg_write.">bg_msg_write_callback_t</a>)(<span class="keywordtype">void</span> * priv, <span class="keyword">const</span> uint8_t * data, <span class="keywordtype">int</span> len);
<a name="l00073"></a>00073 
<a name="l00078"></a>00078 <a class="code" href="group__messages.html#ga2fddc144a544250c092c7aeebeaa439" title="Opaque message type, you don&amp;#39;t want to know what&amp;#39;s inside.">bg_msg_t</a> * <a class="code" href="group__messages.html#g7fbfe89c68fd83c75892dd8d9736d543" title="Create a message.">bg_msg_create</a>();
<a name="l00079"></a>00079 
<a name="l00084"></a>00084 <span class="keywordtype">void</span> <a class="code" href="group__messages.html#gf07688ec87ec28a20a46d4679a465933" title="Destroy a message.">bg_msg_destroy</a>(<a class="code" href="group__messages.html#ga2fddc144a544250c092c7aeebeaa439" title="Opaque message type, you don&amp;#39;t want to know what&amp;#39;s inside.">bg_msg_t</a> * msg);
<a name="l00085"></a>00085 
<a name="l00093"></a>00093 <span class="keywordtype">void</span> <a class="code" href="group__messages.html#g8035b88ad4a07d37db377a0f0015a5ec" title="Free internal memory of the message.">bg_msg_free</a>(<a class="code" href="group__messages.html#ga2fddc144a544250c092c7aeebeaa439" title="Opaque message type, you don&amp;#39;t want to know what&amp;#39;s inside.">bg_msg_t</a> * msg);
<a name="l00094"></a>00094 
<a name="l00095"></a>00095 <span class="comment">/* Functions for messages */</span>
<a name="l00096"></a>00096 
<a name="l00102"></a>00102 <span class="keywordtype">void</span> <a class="code" href="group__messages.html#gdd7c8df3dfc021c7c28052d8397b16ce" title="Set the ID of a message.">bg_msg_set_id</a>(<a class="code" href="group__messages.html#ga2fddc144a544250c092c7aeebeaa439" title="Opaque message type, you don&amp;#39;t want to know what&amp;#39;s inside.">bg_msg_t</a> * msg, <span class="keywordtype">int</span> <span class="keywordtype">id</span>);
<a name="l00103"></a>00103 
<a name="l00109"></a>00109 <span class="keywordtype">int</span>    <a class="code" href="group__messages.html#ge92b3b5d1d0d1ee5e126e294de930a4a" title="Get the ID of a message.">bg_msg_get_id</a>(<a class="code" href="group__messages.html#ga2fddc144a544250c092c7aeebeaa439" title="Opaque message type, you don&amp;#39;t want to know what&amp;#39;s inside.">bg_msg_t</a> * msg);
<a name="l00110"></a>00110 
<a name="l00111"></a>00111 
<a name="l00118"></a>00118 <span class="keywordtype">void</span> <a class="code" href="group__messages.html#gd2dd885a2ed7c0636fe64135047e4433" title="Set an integer argument.">bg_msg_set_arg_int</a>(<a class="code" href="group__messages.html#ga2fddc144a544250c092c7aeebeaa439" title="Opaque message type, you don&amp;#39;t want to know what&amp;#39;s inside.">bg_msg_t</a> * msg, <span class="keywordtype">int</span> arg, <span class="keywordtype">int</span> value);
<a name="l00119"></a>00119 
<a name="l00126"></a>00126 <span class="keywordtype">int</span> <a class="code" href="group__messages.html#gc4969a081919f0ad16eabdba73aed132" title="Get an integer argument.">bg_msg_get_arg_int</a>(<a class="code" href="group__messages.html#ga2fddc144a544250c092c7aeebeaa439" title="Opaque message type, you don&amp;#39;t want to know what&amp;#39;s inside.">bg_msg_t</a> * msg, <span class="keywordtype">int</span> arg);
<a name="l00127"></a>00127 
<a name="l00134"></a>00134 <span class="keywordtype">void</span> <a class="code" href="group__messages.html#g84ba2a6c296ddaa68d85ab9b7e27db2e" title="Set a time argument.">bg_msg_set_arg_time</a>(<a class="code" href="group__messages.html#ga2fddc144a544250c092c7aeebeaa439" title="Opaque message type, you don&amp;#39;t want to know what&amp;#39;s inside.">bg_msg_t</a> * msg, <span class="keywordtype">int</span> arg, <a class="codeRef" doxygen="gavl.tags:http://gmerlin.sourceforge.net/doc/gavl//" href="http://gmerlin.sourceforge.net/doc/gavl//group__time.html#ga0">gavl_time_t</a> value);
<a name="l00135"></a>00135 
<a name="l00142"></a>00142 <a class="codeRef" doxygen="gavl.tags:http://gmerlin.sourceforge.net/doc/gavl//" href="http://gmerlin.sourceforge.net/doc/gavl//group__time.html#ga0">gavl_time_t</a> <a class="code" href="group__messages.html#ga052c843016df65a44c947fc68f9d4b5" title="Get a time argument.">bg_msg_get_arg_time</a>(<a class="code" href="group__messages.html#ga2fddc144a544250c092c7aeebeaa439" title="Opaque message type, you don&amp;#39;t want to know what&amp;#39;s inside.">bg_msg_t</a> * msg, <span class="keywordtype">int</span> arg);
<a name="l00143"></a>00143 
<a name="l00150"></a>00150 <span class="keywordtype">void</span> <a class="code" href="group__messages.html#g9cfd8ecd1c0d1b8624e0acf17c705428" title="Set a string argument.">bg_msg_set_arg_string</a>(<a class="code" href="group__messages.html#ga2fddc144a544250c092c7aeebeaa439" title="Opaque message type, you don&amp;#39;t want to know what&amp;#39;s inside.">bg_msg_t</a> * msg, <span class="keywordtype">int</span> arg, <span class="keyword">const</span> <span class="keywordtype">char</span> * value);
<a name="l00151"></a>00151 
<a name="l00161"></a>00161 <span class="keywordtype">char</span> * <a class="code" href="group__messages.html#g72c9af047298b6aff882a3df112fb81f" title="Get a string argument.">bg_msg_get_arg_string</a>(<a class="code" href="group__messages.html#ga2fddc144a544250c092c7aeebeaa439" title="Opaque message type, you don&amp;#39;t want to know what&amp;#39;s inside.">bg_msg_t</a> * msg, <span class="keywordtype">int</span> arg);
<a name="l00162"></a>00162 
<a name="l00163"></a>00163 
<a name="l00169"></a>00169 <span class="keywordtype">void</span> <a class="code" href="group__messages.html#g66a75ed3e166cd1177e818d994740c5b" title="Set a float argument.">bg_msg_set_arg_float</a>(<a class="code" href="group__messages.html#ga2fddc144a544250c092c7aeebeaa439" title="Opaque message type, you don&amp;#39;t want to know what&amp;#39;s inside.">bg_msg_t</a> * msg, <span class="keywordtype">int</span> arg, <span class="keywordtype">double</span> value);
<a name="l00170"></a>00170 
<a name="l00177"></a>00177 <span class="keywordtype">double</span>  <a class="code" href="group__messages.html#gcb96e919b12c455bf7ab9c0b3996000f" title="Get a float argument.">bg_msg_get_arg_float</a>(<a class="code" href="group__messages.html#ga2fddc144a544250c092c7aeebeaa439" title="Opaque message type, you don&amp;#39;t want to know what&amp;#39;s inside.">bg_msg_t</a> * msg, <span class="keywordtype">int</span> arg);
<a name="l00178"></a>00178 
<a name="l00184"></a>00184 <span class="keywordtype">void</span> <a class="code" href="group__messages.html#gab6a8309e915eafca594bf9c2f6c7fec" title="Set an RGB color argument.">bg_msg_set_arg_color_rgb</a>(<a class="code" href="group__messages.html#ga2fddc144a544250c092c7aeebeaa439" title="Opaque message type, you don&amp;#39;t want to know what&amp;#39;s inside.">bg_msg_t</a> * msg, <span class="keywordtype">int</span> arg, <span class="keyword">const</span> <span class="keywordtype">float</span> * value);
<a name="l00185"></a>00185 
<a name="l00191"></a>00191 <span class="keywordtype">void</span> <a class="code" href="group__messages.html#g5774f92d37a77723b99ad94db5fbeed6" title="Get an RGB color argument.">bg_msg_get_arg_color_rgb</a>(<a class="code" href="group__messages.html#ga2fddc144a544250c092c7aeebeaa439" title="Opaque message type, you don&amp;#39;t want to know what&amp;#39;s inside.">bg_msg_t</a> * msg, <span class="keywordtype">int</span> arg, <span class="keywordtype">float</span> * value);
<a name="l00192"></a>00192 
<a name="l00193"></a>00193 
<a name="l00199"></a>00199 <span class="keywordtype">void</span> <a class="code" href="group__messages.html#g13397c3ab69993a4c049b53833202803" title="Set an RGBA color argument.">bg_msg_set_arg_color_rgba</a>(<a class="code" href="group__messages.html#ga2fddc144a544250c092c7aeebeaa439" title="Opaque message type, you don&amp;#39;t want to know what&amp;#39;s inside.">bg_msg_t</a> * msg, <span class="keywordtype">int</span> arg, <span class="keyword">const</span> <span class="keywordtype">float</span> * value);
<a name="l00200"></a>00200 
<a name="l00206"></a>00206 <span class="keywordtype">void</span> <a class="code" href="group__messages.html#gdb7fa5a90c5711eb1ca23d013c7dd58c" title="Get an RGBA color argument.">bg_msg_get_arg_color_rgba</a>(<a class="code" href="group__messages.html#ga2fddc144a544250c092c7aeebeaa439" title="Opaque message type, you don&amp;#39;t want to know what&amp;#39;s inside.">bg_msg_t</a> * msg, <span class="keywordtype">int</span> arg, <span class="keywordtype">float</span> * value);
<a name="l00207"></a>00207 
<a name="l00213"></a>00213 <span class="keywordtype">void</span> <a class="code" href="group__messages.html#g98f4c42db33e03b3077e6eb59cb4862b" title="Set a position argument.">bg_msg_set_arg_position</a>(<a class="code" href="group__messages.html#ga2fddc144a544250c092c7aeebeaa439" title="Opaque message type, you don&amp;#39;t want to know what&amp;#39;s inside.">bg_msg_t</a> * msg, <span class="keywordtype">int</span> arg, <span class="keyword">const</span> <span class="keywordtype">double</span> * value);
<a name="l00214"></a>00214 
<a name="l00215"></a>00215 
<a name="l00221"></a>00221 <span class="keywordtype">void</span> <a class="code" href="group__messages.html#g647d9da021da984d9f5296526e30155a" title="Get a position argument.">bg_msg_get_arg_position</a>(<a class="code" href="group__messages.html#ga2fddc144a544250c092c7aeebeaa439" title="Opaque message type, you don&amp;#39;t want to know what&amp;#39;s inside.">bg_msg_t</a> * msg, <span class="keywordtype">int</span> arg, <span class="keywordtype">double</span> * value);
<a name="l00222"></a>00222 
<a name="l00229"></a>00229 <span class="keywordtype">void</span> * <a class="code" href="group__messages.html#g578b284da8b0dec7df794b73a2114604" title="Set a binary data argument.">bg_msg_set_arg_ptr</a>(<a class="code" href="group__messages.html#ga2fddc144a544250c092c7aeebeaa439" title="Opaque message type, you don&amp;#39;t want to know what&amp;#39;s inside.">bg_msg_t</a> * msg, <span class="keywordtype">int</span> arg, <span class="keywordtype">int</span> len);
<a name="l00230"></a>00230 
<a name="l00241"></a>00241 <span class="keywordtype">void</span> * <a class="code" href="group__messages.html#ga808de8f46bc7ff245de610f1eb9c2d5" title="Set a binary data argument.">bg_msg_get_arg_ptr</a>(<a class="code" href="group__messages.html#ga2fddc144a544250c092c7aeebeaa439" title="Opaque message type, you don&amp;#39;t want to know what&amp;#39;s inside.">bg_msg_t</a> * msg, <span class="keywordtype">int</span> arg, <span class="keywordtype">int</span> * len);
<a name="l00242"></a>00242   
<a name="l00251"></a>00251 <span class="keywordtype">void</span> <a class="code" href="group__messages.html#g9e0c98ca43f06adf0f50e30564a1f514" title="Set a pointer argument without copying data.">bg_msg_set_arg_ptr_nocopy</a>(<a class="code" href="group__messages.html#ga2fddc144a544250c092c7aeebeaa439" title="Opaque message type, you don&amp;#39;t want to know what&amp;#39;s inside.">bg_msg_t</a> * msg, <span class="keywordtype">int</span> arg, <span class="keywordtype">void</span> * ptr);
<a name="l00252"></a>00252 
<a name="l00261"></a>00261 <span class="keywordtype">void</span> * <a class="code" href="group__messages.html#gb89b9aa795c1875ddbf85c80aa992ebb" title="Get a pointer argument without copying data.">bg_msg_get_arg_ptr_nocopy</a>(<a class="code" href="group__messages.html#ga2fddc144a544250c092c7aeebeaa439" title="Opaque message type, you don&amp;#39;t want to know what&amp;#39;s inside.">bg_msg_t</a> * msg, <span class="keywordtype">int</span> arg);
<a name="l00262"></a>00262 
<a name="l00263"></a>00263 
<a name="l00270"></a>00270 <span class="keywordtype">void</span> <a class="code" href="group__messages.html#g6e9890ac704b17e41d31b7a419fa71e1" title="Set an audio format argument.">bg_msg_set_arg_audio_format</a>(<a class="code" href="group__messages.html#ga2fddc144a544250c092c7aeebeaa439" title="Opaque message type, you don&amp;#39;t want to know what&amp;#39;s inside.">bg_msg_t</a> * msg, <span class="keywordtype">int</span> arg,
<a name="l00271"></a>00271                                  <span class="keyword">const</span> <a class="codeRef" doxygen="gavl.tags:http://gmerlin.sourceforge.net/doc/gavl//" href="http://gmerlin.sourceforge.net/doc/gavl//structgavl__audio__format__s.html">gavl_audio_format_t</a> * format);
<a name="l00272"></a>00272 
<a name="l00280"></a>00280 <span class="keywordtype">void</span> <a class="code" href="group__messages.html#g2917c5f10d22f0191228ce4ade5e8093" title="Get an audio format argument.">bg_msg_get_arg_audio_format</a>(<a class="code" href="group__messages.html#ga2fddc144a544250c092c7aeebeaa439" title="Opaque message type, you don&amp;#39;t want to know what&amp;#39;s inside.">bg_msg_t</a> * msg, <span class="keywordtype">int</span> arg,
<a name="l00281"></a>00281                                  <a class="codeRef" doxygen="gavl.tags:http://gmerlin.sourceforge.net/doc/gavl//" href="http://gmerlin.sourceforge.net/doc/gavl//structgavl__audio__format__s.html">gavl_audio_format_t</a> * format, <span class="keywordtype">int</span> * big_endian);
<a name="l00282"></a>00282 
<a name="l00283"></a>00283 
<a name="l00290"></a>00290 <span class="keywordtype">void</span> <a class="code" href="group__messages.html#ga5b790d792f6dbc50b48998f1e7cd8c0" title="Set a video format argument.">bg_msg_set_arg_video_format</a>(<a class="code" href="group__messages.html#ga2fddc144a544250c092c7aeebeaa439" title="Opaque message type, you don&amp;#39;t want to know what&amp;#39;s inside.">bg_msg_t</a> * msg, <span class="keywordtype">int</span> arg,
<a name="l00291"></a>00291                                  <span class="keyword">const</span> <a class="codeRef" doxygen="gavl.tags:http://gmerlin.sourceforge.net/doc/gavl//" href="http://gmerlin.sourceforge.net/doc/gavl//structgavl__video__format__s.html">gavl_video_format_t</a> * format);
<a name="l00292"></a>00292 
<a name="l00300"></a>00300 <span class="keywordtype">void</span> <a class="code" href="group__messages.html#g59f10ee0cf14b66294ed218016d548be" title="Get a video format argument.">bg_msg_get_arg_video_format</a>(<a class="code" href="group__messages.html#ga2fddc144a544250c092c7aeebeaa439" title="Opaque message type, you don&amp;#39;t want to know what&amp;#39;s inside.">bg_msg_t</a> * msg, <span class="keywordtype">int</span> arg,
<a name="l00301"></a>00301                                  <a class="codeRef" doxygen="gavl.tags:http://gmerlin.sourceforge.net/doc/gavl//" href="http://gmerlin.sourceforge.net/doc/gavl//structgavl__video__format__s.html">gavl_video_format_t</a> * format, <span class="keywordtype">int</span> * big_endian);
<a name="l00302"></a>00302 
<a name="l00303"></a>00303 
<a name="l00310"></a>00310 <span class="keywordtype">void</span> <a class="code" href="group__messages.html#g8442c3d20733bc2a24369f6281e4ca03" title="Set a matadata argument.">bg_msg_set_arg_metadata</a>(<a class="code" href="group__messages.html#ga2fddc144a544250c092c7aeebeaa439" title="Opaque message type, you don&amp;#39;t want to know what&amp;#39;s inside.">bg_msg_t</a> * msg, <span class="keywordtype">int</span> arg,
<a name="l00311"></a>00311                              <span class="keyword">const</span> <a class="code" href="structbg__metadata__t.html" title="Description of metadata.">bg_metadata_t</a> * m);
<a name="l00312"></a>00312 
<a name="l00321"></a>00321 <span class="keywordtype">void</span> <a class="code" href="group__messages.html#gcaa531d3ce3d7d35d290bdbc743df920" title="Get a matadata argument.">bg_msg_get_arg_metadata</a>(<a class="code" href="group__messages.html#ga2fddc144a544250c092c7aeebeaa439" title="Opaque message type, you don&amp;#39;t want to know what&amp;#39;s inside.">bg_msg_t</a> * msg, <span class="keywordtype">int</span> arg,
<a name="l00322"></a>00322                              <a class="code" href="structbg__metadata__t.html" title="Description of metadata.">bg_metadata_t</a> * m);
<a name="l00323"></a>00323 
<a name="l00324"></a>00324 <span class="comment">/*</span>
<a name="l00325"></a>00325 <span class="comment"> *  This on will be used for remote controls,</span>
<a name="l00326"></a>00326 <span class="comment"> *  return FALSE on error</span>
<a name="l00327"></a>00327 <span class="comment"> */</span>
<a name="l00328"></a>00328 
<a name="l00336"></a>00336 <span class="keywordtype">int</span> <a class="code" href="group__messages.html#gb1b5d8499e39639058eac79fc24e2ba6" title="Read a message using a callback.">bg_msg_read</a>(<a class="code" href="group__messages.html#ga2fddc144a544250c092c7aeebeaa439" title="Opaque message type, you don&amp;#39;t want to know what&amp;#39;s inside.">bg_msg_t</a> * ret, <a class="code" href="group__messages.html#g87e18cb717e0a14a6c82cddf07925b2d" title="Callback for bg_msg_read.">bg_msg_read_callback_t</a> cb, <span class="keywordtype">void</span> * cb_data);
<a name="l00337"></a>00337 
<a name="l00345"></a>00345 <span class="keywordtype">int</span> <a class="code" href="group__messages.html#gf04cb7f724839f3965cb19dc94765df8" title="Write a message using a callback.">bg_msg_write</a>(<a class="code" href="group__messages.html#ga2fddc144a544250c092c7aeebeaa439" title="Opaque message type, you don&amp;#39;t want to know what&amp;#39;s inside.">bg_msg_t</a> * msg, <a class="code" href="group__messages.html#g740fc4294f649704d8f47a36086c4375" title="Callback for bg_msg_write.">bg_msg_write_callback_t</a> cb, <span class="keywordtype">void</span> * cb_data);
<a name="l00346"></a>00346 
<a name="l00347"></a>00347 
<a name="l00355"></a>00355 <span class="keywordtype">int</span> <a class="code" href="group__messages.html#g5959113b1988a2fe5a57a2cccb59da40" title="Read a message from a socket.">bg_msg_read_socket</a>(<a class="code" href="group__messages.html#ga2fddc144a544250c092c7aeebeaa439" title="Opaque message type, you don&amp;#39;t want to know what&amp;#39;s inside.">bg_msg_t</a> * ret,  <span class="keywordtype">int</span> fd, <span class="keywordtype">int</span> milliseconds);
<a name="l00356"></a>00356 
<a name="l00363"></a>00363 <span class="keywordtype">int</span> <a class="code" href="group__messages.html#g0d449deb1974b5db83129f5cebe6970b" title="Write a message to a socket.">bg_msg_write_socket</a>(<a class="code" href="group__messages.html#ga2fddc144a544250c092c7aeebeaa439" title="Opaque message type, you don&amp;#39;t want to know what&amp;#39;s inside.">bg_msg_t</a> * msg, <span class="keywordtype">int</span> fd);
<a name="l00364"></a>00364 
<a name="l00365"></a>00365 <span class="comment">/*</span>
<a name="l00366"></a>00366 <span class="comment"> *  Read/Write audio frame over sockets</span>
<a name="l00367"></a>00367 <span class="comment"> */</span>
<a name="l00368"></a>00368 
<a name="l00380"></a>00380 <span class="keywordtype">int</span> <a class="code" href="group__messages.html#gbad1b4528974f7e42566c954b6501294" title="Write an audio frame.">bg_msg_write_audio_frame</a>(<a class="code" href="group__messages.html#ga2fddc144a544250c092c7aeebeaa439" title="Opaque message type, you don&amp;#39;t want to know what&amp;#39;s inside.">bg_msg_t</a> * msg,
<a name="l00381"></a>00381                              <span class="keyword">const</span> <a class="codeRef" doxygen="gavl.tags:http://gmerlin.sourceforge.net/doc/gavl//" href="http://gmerlin.sourceforge.net/doc/gavl//structgavl__audio__format__s.html">gavl_audio_format_t</a> * format,
<a name="l00382"></a>00382                              <span class="keyword">const</span> <a class="codeRef" doxygen="gavl.tags:http://gmerlin.sourceforge.net/doc/gavl//" href="http://gmerlin.sourceforge.net/doc/gavl//structgavl__audio__frame__s.html">gavl_audio_frame_t</a> * frame,
<a name="l00383"></a>00383                              <a class="code" href="group__messages.html#g740fc4294f649704d8f47a36086c4375" title="Callback for bg_msg_write.">bg_msg_write_callback_t</a> cb, <span class="keywordtype">void</span> * cb_data);
<a name="l00384"></a>00384 
<a name="l00399"></a>00399 <span class="keywordtype">int</span> <a class="code" href="group__messages.html#g1c07768035d5cb7a3e42513a035fca99" title="Read an audio frame.">bg_msg_read_audio_frame</a>(gavl_dsp_context_t * ctx,
<a name="l00400"></a>00400                             <a class="code" href="group__messages.html#ga2fddc144a544250c092c7aeebeaa439" title="Opaque message type, you don&amp;#39;t want to know what&amp;#39;s inside.">bg_msg_t</a> * msg,
<a name="l00401"></a>00401                             <span class="keyword">const</span> <a class="codeRef" doxygen="gavl.tags:http://gmerlin.sourceforge.net/doc/gavl//" href="http://gmerlin.sourceforge.net/doc/gavl//structgavl__audio__format__s.html">gavl_audio_format_t</a> * format,
<a name="l00402"></a>00402                             <a class="codeRef" doxygen="gavl.tags:http://gmerlin.sourceforge.net/doc/gavl//" href="http://gmerlin.sourceforge.net/doc/gavl//structgavl__audio__frame__s.html">gavl_audio_frame_t</a> * frame,
<a name="l00403"></a>00403                             <a class="code" href="group__messages.html#g87e18cb717e0a14a6c82cddf07925b2d" title="Callback for bg_msg_read.">bg_msg_read_callback_t</a> cb,
<a name="l00404"></a>00404                             <span class="keywordtype">void</span> * cb_data, <span class="keywordtype">int</span> big_endian);
<a name="l00405"></a>00405 
<a name="l00413"></a>00413 <span class="keywordtype">void</span> <a class="code" href="group__messages.html#gedff4f5d4cbb17114461d89a119a9eee" title="Set a parameter.">bg_msg_set_parameter</a>(<a class="code" href="group__messages.html#ga2fddc144a544250c092c7aeebeaa439" title="Opaque message type, you don&amp;#39;t want to know what&amp;#39;s inside.">bg_msg_t</a> * msg,
<a name="l00414"></a>00414                           <span class="keyword">const</span> <span class="keywordtype">char</span> * name,
<a name="l00415"></a>00415                           <a class="code" href="group__parameter.html#g485cb1ae1f850f1d28241425e9555a2c" title="Parameter type.">bg_parameter_type_t</a> type,
<a name="l00416"></a>00416                           <span class="keyword">const</span> <a class="code" href="unionbg__parameter__value__t.html" title="Container for a parameter value.">bg_parameter_value_t</a> * val);
<a name="l00417"></a>00417   
<a name="l00418"></a>00418 
<a name="l00428"></a>00428 <span class="keywordtype">void</span> <a class="code" href="group__messages.html#g050f94139845c63ea96588c5b2c81bb2" title="Get a parameter.">bg_msg_get_parameter</a>(<a class="code" href="group__messages.html#ga2fddc144a544250c092c7aeebeaa439" title="Opaque message type, you don&amp;#39;t want to know what&amp;#39;s inside.">bg_msg_t</a> * msg,
<a name="l00429"></a>00429                           <span class="keywordtype">char</span> ** name,
<a name="l00430"></a>00430                           <a class="code" href="group__parameter.html#g485cb1ae1f850f1d28241425e9555a2c" title="Parameter type.">bg_parameter_type_t</a> * type,
<a name="l00431"></a>00431                           <a class="code" href="unionbg__parameter__value__t.html" title="Container for a parameter value.">bg_parameter_value_t</a> * val);
<a name="l00432"></a>00432 
<a name="l00433"></a>00433 
<a name="l00446"></a><a class="code" href="group__message__queues.html#g06c6bfc0f61ce4013b6d4117d299fa5a">00446</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>bg_msg_queue_s <a class="code" href="group__message__queues.html#g06c6bfc0f61ce4013b6d4117d299fa5a" title="Opaque message queue type. You don&amp;#39;t want to know what&amp;#39;s inside.">bg_msg_queue_t</a>;
<a name="l00447"></a>00447 
<a name="l00452"></a>00452 <a class="code" href="group__message__queues.html#g06c6bfc0f61ce4013b6d4117d299fa5a" title="Opaque message queue type. You don&amp;#39;t want to know what&amp;#39;s inside.">bg_msg_queue_t</a> * <a class="code" href="group__message__queues.html#g56b5ebc79908b280326cf12139c41a3d" title="Create a message queue.">bg_msg_queue_create</a>();
<a name="l00453"></a>00453 
<a name="l00458"></a>00458 <span class="keywordtype">void</span> <a class="code" href="group__message__queues.html#g85532741b87fef453a681570cbf85277" title="Destroy a message queue.">bg_msg_queue_destroy</a>(<a class="code" href="group__message__queues.html#g06c6bfc0f61ce4013b6d4117d299fa5a" title="Opaque message queue type. You don&amp;#39;t want to know what&amp;#39;s inside.">bg_msg_queue_t</a> * mq);
<a name="l00459"></a>00459 
<a name="l00460"></a>00460 <span class="comment">/*</span>
<a name="l00461"></a>00461 <span class="comment"> *  Lock message queue for reading, block until something arrives,</span>
<a name="l00462"></a>00462 <span class="comment"> *  return the message ID</span>
<a name="l00463"></a>00463 <span class="comment"> */</span>
<a name="l00464"></a>00464 
<a name="l00476"></a>00476 <a class="code" href="group__messages.html#ga2fddc144a544250c092c7aeebeaa439" title="Opaque message type, you don&amp;#39;t want to know what&amp;#39;s inside.">bg_msg_t</a> * <a class="code" href="group__message__queues.html#g8968cd687bfe0017ee58292bef9eb179" title="Lock a message queue for reading.">bg_msg_queue_lock_read</a>(<a class="code" href="group__message__queues.html#g06c6bfc0f61ce4013b6d4117d299fa5a" title="Opaque message queue type. You don&amp;#39;t want to know what&amp;#39;s inside.">bg_msg_queue_t</a> * mq);
<a name="l00477"></a>00477 
<a name="l00487"></a>00487 <a class="code" href="group__messages.html#ga2fddc144a544250c092c7aeebeaa439" title="Opaque message type, you don&amp;#39;t want to know what&amp;#39;s inside.">bg_msg_t</a> * <a class="code" href="group__message__queues.html#g77d8eecbc26d1542f5e398b01307267b" title="Try to lock a message queue for reading.">bg_msg_queue_try_lock_read</a>(<a class="code" href="group__message__queues.html#g06c6bfc0f61ce4013b6d4117d299fa5a" title="Opaque message queue type. You don&amp;#39;t want to know what&amp;#39;s inside.">bg_msg_queue_t</a> * mq);
<a name="l00488"></a>00488 
<a name="l00495"></a>00495 <span class="keywordtype">void</span> <a class="code" href="group__message__queues.html#g8d7cafc5f8b351cc3031fb8116ee36a9" title="Unlock a message queue for reading.">bg_msg_queue_unlock_read</a>(<a class="code" href="group__message__queues.html#g06c6bfc0f61ce4013b6d4117d299fa5a" title="Opaque message queue type. You don&amp;#39;t want to know what&amp;#39;s inside.">bg_msg_queue_t</a> * mq);
<a name="l00496"></a>00496 
<a name="l00504"></a>00504 <a class="code" href="group__messages.html#ga2fddc144a544250c092c7aeebeaa439" title="Opaque message type, you don&amp;#39;t want to know what&amp;#39;s inside.">bg_msg_t</a> * <a class="code" href="group__message__queues.html#gc0f54e996d393d8b01536b77c229fd5a" title="Lock a message queue for writing.">bg_msg_queue_lock_write</a>(<a class="code" href="group__message__queues.html#g06c6bfc0f61ce4013b6d4117d299fa5a" title="Opaque message queue type. You don&amp;#39;t want to know what&amp;#39;s inside.">bg_msg_queue_t</a> * mq);
<a name="l00505"></a>00505 
<a name="l00512"></a>00512 <span class="keywordtype">void</span> <a class="code" href="group__message__queues.html#g48ca4e564791fcad9cbb36cb7e4528f3" title="Unlock a message queue for writing.">bg_msg_queue_unlock_write</a>(<a class="code" href="group__message__queues.html#g06c6bfc0f61ce4013b6d4117d299fa5a" title="Opaque message queue type. You don&amp;#39;t want to know what&amp;#39;s inside.">bg_msg_queue_t</a> * mq);
<a name="l00513"></a>00513 
<a name="l00520"></a>00520 <span class="keywordtype">int</span> <a class="code" href="group__message__queues.html#g3ad330cad20e24017fc07db72360d2df" title="Check, if there is a message for readinbg available and get the ID.">bg_msg_queue_peek</a>(<a class="code" href="group__message__queues.html#g06c6bfc0f61ce4013b6d4117d299fa5a" title="Opaque message queue type. You don&amp;#39;t want to know what&amp;#39;s inside.">bg_msg_queue_t</a> * mq, uint32_t * <span class="keywordtype">id</span>);
<a name="l00521"></a>00521 
<a name="l00537"></a><a class="code" href="group__message__queue__list.html#g3b0fe6370dc69545467e56d41682996b">00537</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>bg_msg_queue_list_s <a class="code" href="group__message__queue__list.html#g3b0fe6370dc69545467e56d41682996b" title="Opaque message queue list type. You don&amp;#39;t want to know what&amp;#39;s inside.">bg_msg_queue_list_t</a>;
<a name="l00538"></a>00538 
<a name="l00543"></a>00543 <a class="code" href="group__message__queue__list.html#g3b0fe6370dc69545467e56d41682996b" title="Opaque message queue list type. You don&amp;#39;t want to know what&amp;#39;s inside.">bg_msg_queue_list_t</a> * <a class="code" href="group__message__queue__list.html#gb2fb2ef14ab4d2794ef20685d82eb413" title="Create a message queue list.">bg_msg_queue_list_create</a>();
<a name="l00544"></a>00544 
<a name="l00549"></a>00549 <span class="keywordtype">void</span> <a class="code" href="group__message__queue__list.html#g493ae69f7920dd9eadfd7d82f94301dc" title="Destroy a message queue list.">bg_msg_queue_list_destroy</a>(<a class="code" href="group__message__queue__list.html#g3b0fe6370dc69545467e56d41682996b" title="Opaque message queue list type. You don&amp;#39;t want to know what&amp;#39;s inside.">bg_msg_queue_list_t</a> * list);
<a name="l00550"></a>00550 
<a name="l00557"></a>00557 <span class="keywordtype">void</span> 
<a name="l00558"></a>00558 <a class="code" href="group__message__queue__list.html#ge0fe8395b04bfea89af4cc6b1b6b939f" title="Send a message to all queues in the list.">bg_msg_queue_list_send</a>(<a class="code" href="group__message__queue__list.html#g3b0fe6370dc69545467e56d41682996b" title="Opaque message queue list type. You don&amp;#39;t want to know what&amp;#39;s inside.">bg_msg_queue_list_t</a> * list,
<a name="l00559"></a>00559                        <span class="keywordtype">void</span> (*set_message)(<a class="code" href="group__messages.html#ga2fddc144a544250c092c7aeebeaa439" title="Opaque message type, you don&amp;#39;t want to know what&amp;#39;s inside.">bg_msg_t</a> * message,
<a name="l00560"></a>00560                                            <span class="keyword">const</span> <span class="keywordtype">void</span> * data),
<a name="l00561"></a>00561                        <span class="keyword">const</span> <span class="keywordtype">void</span> * data);
<a name="l00562"></a>00562 
<a name="l00568"></a>00568 <span class="keywordtype">void</span> <a class="code" href="group__message__queue__list.html#ge57560632a54611d1dfff5524f8af863" title="Add a queue to the list.">bg_msg_queue_list_add</a>(<a class="code" href="group__message__queue__list.html#g3b0fe6370dc69545467e56d41682996b" title="Opaque message queue list type. You don&amp;#39;t want to know what&amp;#39;s inside.">bg_msg_queue_list_t</a> * list,
<a name="l00569"></a>00569                         <a class="code" href="group__message__queues.html#g06c6bfc0f61ce4013b6d4117d299fa5a" title="Opaque message queue type. You don&amp;#39;t want to know what&amp;#39;s inside.">bg_msg_queue_t</a> * queue);
<a name="l00570"></a>00570 
<a name="l00576"></a>00576 <span class="keywordtype">void</span> <a class="code" href="group__message__queue__list.html#g30ff3b72f597a9a8566d6905e5cec892" title="Remove a queue from the list.">bg_msg_queue_list_remove</a>(<a class="code" href="group__message__queue__list.html#g3b0fe6370dc69545467e56d41682996b" title="Opaque message queue list type. You don&amp;#39;t want to know what&amp;#39;s inside.">bg_msg_queue_list_t</a> * list,
<a name="l00577"></a>00577                            <a class="code" href="group__message__queues.html#g06c6bfc0f61ce4013b6d4117d299fa5a" title="Opaque message queue type. You don&amp;#39;t want to know what&amp;#39;s inside.">bg_msg_queue_t</a> * queue);
<a name="l00578"></a>00578 
<a name="l00582"></a>00582 <span class="preprocessor">#endif </span><span class="comment">/* __BG_MSGQUEUE_H_ */</span>
</pre></div></div>
<hr size="1"><address style="text-align: right;"><small>Generated on Sat Aug 22 01:28:04 2009 for gmerlin by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
</body>
</html>