MOON
Server: Apache/2.2.31 (Unix) mod_ssl/2.2.31 OpenSSL/0.9.8e-fips-rhel5 mod_bwlimited/1.4
System: Linux csr818.wilogic.com 2.6.18-419.el5xen #1 SMP Fri Feb 24 22:50:37 UTC 2017 x86_64
User: digitals (531)
PHP: 5.4.45
Disabled: NONE
Upload Files
File: //usr/share/doc/alsa-lib-devel-1.0.17/lib64/html/group___raw_midi.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ALSA project - the C library reference: RawMidi Interface</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.4.7 -->
<div class="tabs">
  <ul>
    <li><a href="index.html"><span>Main&nbsp;Page</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><a href="files.html"><span>Files</span></a></li>
    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
    <li><a href="examples.html"><span>Examples</span></a></li>
  </ul></div>
<h1>RawMidi Interface</h1><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#ge775419a5fc83663cc286a33632d9815">SND_RAWMIDI_DLSYM_VERSION</a>&nbsp;&nbsp;&nbsp;_dlsym_rawmidi_001</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#g7b5e6933e2eb7e116f3cb0ba2dbf55b9">SND_RAWMIDI_APPEND</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#gd4047106579e3023b7814654832fde6b">SND_RAWMIDI_NONBLOCK</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#gf78fb035a2cac729c324131b033119cb">SND_RAWMIDI_SYNC</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#gd794e6581f550d2997fd7759f644d2cd">snd_rawmidi_info_alloca</a>(ptr)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">allocate an invalid <a class="el" href="group___raw_midi.html#g89e908db6ee86804d5a72373d2c4952f">snd_rawmidi_info_t</a> using standard alloca  <a href="#gd794e6581f550d2997fd7759f644d2cd"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#g8a9771b6c61d95d5738dd6ef99756411">snd_rawmidi_params_alloca</a>(ptr)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">allocate an invalid <a class="el" href="group___raw_midi.html#g3634ea06f06caef3fc956f2b6c084c17">snd_rawmidi_params_t</a> using standard alloca  <a href="#g8a9771b6c61d95d5738dd6ef99756411"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#g0ebec15243dbbbf59ac9f9e2271ae25a">snd_rawmidi_status_alloca</a>(ptr)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">allocate an invalid <a class="el" href="group___raw_midi.html#gd5b67a8d237ea604b03fc3d9068dfb62">snd_rawmidi_status_t</a> using standard alloca  <a href="#g0ebec15243dbbbf59ac9f9e2271ae25a"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef _snd_rawmidi_info&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#g89e908db6ee86804d5a72373d2c4952f">snd_rawmidi_info_t</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef _snd_rawmidi_params&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#g3634ea06f06caef3fc956f2b6c084c17">snd_rawmidi_params_t</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef _snd_rawmidi_status&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#gd5b67a8d237ea604b03fc3d9068dfb62">snd_rawmidi_status_t</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef enum <a class="el" href="group___raw_midi.html#gf583c1b4e1f50de00a5cc2ab39346443">_snd_rawmidi_stream</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#gaaa9ac8e5468e56e94d2b5c85ed19192">snd_rawmidi_stream_t</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef _snd_rawmidi&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#g79ab77768f9ad62df167e1fec2be5afe">snd_rawmidi_t</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef enum <a class="el" href="group___raw_midi.html#gf135befc326007ae823f33d7d826ab93">_snd_rawmidi_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#g0ea24aa200a63a5a295eddb5e47957c5">snd_rawmidi_type_t</a></td></tr>

<tr><td colspan="2"><br><h2>Enumerations</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#gf583c1b4e1f50de00a5cc2ab39346443">_snd_rawmidi_stream</a> { <a class="el" href="group___raw_midi.html#ggf583c1b4e1f50de00a5cc2ab39346443075b165fff56b6e3b94e1f8e32f6ee47">SND_RAWMIDI_STREAM_OUTPUT</a> =  0, 
<a class="el" href="group___raw_midi.html#ggf583c1b4e1f50de00a5cc2ab3934644358a65823a8559340a0a343b6ef4445c6">SND_RAWMIDI_STREAM_INPUT</a>, 
<b>SND_RAWMIDI_STREAM_LAST</b> =  SND_RAWMIDI_STREAM_INPUT
 }</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#gf135befc326007ae823f33d7d826ab93">_snd_rawmidi_type</a> { <a class="el" href="group___raw_midi.html#ggf135befc326007ae823f33d7d826ab93ae5fa03d0518c6872ab0d14ca32e49e6">SND_RAWMIDI_TYPE_HW</a>, 
<a class="el" href="group___raw_midi.html#ggf135befc326007ae823f33d7d826ab93a857bf11ee2f5f640df36a0da175eca5">SND_RAWMIDI_TYPE_SHM</a>, 
<a class="el" href="group___raw_midi.html#ggf135befc326007ae823f33d7d826ab93b8065a7d3a3535b08cad767d592d6ea5">SND_RAWMIDI_TYPE_INET</a>, 
<a class="el" href="group___raw_midi.html#ggf135befc326007ae823f33d7d826ab93a056f8449ac2d8d9ac11dca835ae5b29">SND_RAWMIDI_TYPE_VIRTUAL</a>
 }</td></tr>

<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#g9312991c57e0327531e9d43a468e8d44">snd_rawmidi_open</a> (<a class="el" href="group___raw_midi.html#g79ab77768f9ad62df167e1fec2be5afe">snd_rawmidi_t</a> **in_rmidi, <a class="el" href="group___raw_midi.html#g79ab77768f9ad62df167e1fec2be5afe">snd_rawmidi_t</a> **out_rmidi, const char *name, int mode)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Opens a new connection to the RawMidi interface.  <a href="#g9312991c57e0327531e9d43a468e8d44"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#g063688a2a13a29d70ada5dac3cb032ca">snd_rawmidi_open_lconf</a> (<a class="el" href="group___raw_midi.html#g79ab77768f9ad62df167e1fec2be5afe">snd_rawmidi_t</a> **in_rmidi, <a class="el" href="group___raw_midi.html#g79ab77768f9ad62df167e1fec2be5afe">snd_rawmidi_t</a> **out_rmidi, const char *name, int mode, <a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> *lconf)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Opens a new connection to the RawMidi interface using local configuration.  <a href="#g063688a2a13a29d70ada5dac3cb032ca"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#g7d211d11a52fa5577eab4903d7e5f8aa">snd_rawmidi_close</a> (<a class="el" href="group___raw_midi.html#g79ab77768f9ad62df167e1fec2be5afe">snd_rawmidi_t</a> *rmidi)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">close RawMidi handle  <a href="#g7d211d11a52fa5577eab4903d7e5f8aa"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#g09f69bc79fbc9c9b92434671d2154957">snd_rawmidi_poll_descriptors_count</a> (<a class="el" href="group___raw_midi.html#g79ab77768f9ad62df167e1fec2be5afe">snd_rawmidi_t</a> *rmidi)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get count of poll descriptors for RawMidi handle  <a href="#g09f69bc79fbc9c9b92434671d2154957"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#gd9640b83a02ec9e530c33f2b72e8cae9">snd_rawmidi_poll_descriptors</a> (<a class="el" href="group___raw_midi.html#g79ab77768f9ad62df167e1fec2be5afe">snd_rawmidi_t</a> *rmidi, struct pollfd *pfds, unsigned int space)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get poll descriptors  <a href="#gd9640b83a02ec9e530c33f2b72e8cae9"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#gae0fa2c62b1c9ec4d39ddf6aa69b24c0">snd_rawmidi_poll_descriptors_revents</a> (<a class="el" href="group___raw_midi.html#g79ab77768f9ad62df167e1fec2be5afe">snd_rawmidi_t</a> *rawmidi, struct pollfd *pfds, unsigned int nfds, unsigned short *revent)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get returned events from poll descriptors  <a href="#gae0fa2c62b1c9ec4d39ddf6aa69b24c0"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#gad4b97532b738584fb1eb57e3b198776">snd_rawmidi_nonblock</a> (<a class="el" href="group___raw_midi.html#g79ab77768f9ad62df167e1fec2be5afe">snd_rawmidi_t</a> *rmidi, int nonblock)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">set nonblock mode  <a href="#gad4b97532b738584fb1eb57e3b198776"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#gfefdd8a96c2eb52c7195207cd3b22210">snd_rawmidi_info_sizeof</a> (void)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get size of the snd_rawmidi_info_t structure in bytes  <a href="#gfefdd8a96c2eb52c7195207cd3b22210"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#g9b77e73551903db7e4c9c6eaff81838b">snd_rawmidi_info_malloc</a> (<a class="el" href="group___raw_midi.html#g89e908db6ee86804d5a72373d2c4952f">snd_rawmidi_info_t</a> **ptr)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">allocate a new snd_rawmidi_info_t structure  <a href="#g9b77e73551903db7e4c9c6eaff81838b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#geeffca7c9d3fbb5d30fdcd138d1f33d8">snd_rawmidi_info_free</a> (<a class="el" href="group___raw_midi.html#g89e908db6ee86804d5a72373d2c4952f">snd_rawmidi_info_t</a> *obj)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">frees the snd_rawmidi_info_t structure  <a href="#geeffca7c9d3fbb5d30fdcd138d1f33d8"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#g5c1fb388c0e6f177112e74863c211010">snd_rawmidi_info_copy</a> (<a class="el" href="group___raw_midi.html#g89e908db6ee86804d5a72373d2c4952f">snd_rawmidi_info_t</a> *dst, const <a class="el" href="group___raw_midi.html#g89e908db6ee86804d5a72373d2c4952f">snd_rawmidi_info_t</a> *src)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">copy one snd_rawmidi_info_t structure to another  <a href="#g5c1fb388c0e6f177112e74863c211010"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#g674dad4575100b0be1da11f58bab2286">snd_rawmidi_info_get_device</a> (const <a class="el" href="group___raw_midi.html#g89e908db6ee86804d5a72373d2c4952f">snd_rawmidi_info_t</a> *obj)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get rawmidi device number  <a href="#g674dad4575100b0be1da11f58bab2286"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#gfea729ce613b7a26c190449d75c3c536">snd_rawmidi_info_get_subdevice</a> (const <a class="el" href="group___raw_midi.html#g89e908db6ee86804d5a72373d2c4952f">snd_rawmidi_info_t</a> *obj)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get rawmidi subdevice number  <a href="#gfea729ce613b7a26c190449d75c3c536"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group___raw_midi.html#gaaa9ac8e5468e56e94d2b5c85ed19192">snd_rawmidi_stream_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#g92c88a72aa2b6cdbc3773738e4f34218">snd_rawmidi_info_get_stream</a> (const <a class="el" href="group___raw_midi.html#g89e908db6ee86804d5a72373d2c4952f">snd_rawmidi_info_t</a> *obj)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get rawmidi stream identification  <a href="#g92c88a72aa2b6cdbc3773738e4f34218"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#g04243d05be04d11738c208c9b0893722">snd_rawmidi_info_get_card</a> (const <a class="el" href="group___raw_midi.html#g89e908db6ee86804d5a72373d2c4952f">snd_rawmidi_info_t</a> *obj)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get rawmidi card number  <a href="#g04243d05be04d11738c208c9b0893722"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#gd5509668d487c7393f87f8ec64b5d890">snd_rawmidi_info_get_flags</a> (const <a class="el" href="group___raw_midi.html#g89e908db6ee86804d5a72373d2c4952f">snd_rawmidi_info_t</a> *obj)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get rawmidi flags  <a href="#gd5509668d487c7393f87f8ec64b5d890"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#gc76afc2219e9942a02f4721e50edfa86">snd_rawmidi_info_get_id</a> (const <a class="el" href="group___raw_midi.html#g89e908db6ee86804d5a72373d2c4952f">snd_rawmidi_info_t</a> *obj)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get rawmidi hardware driver identifier  <a href="#gc76afc2219e9942a02f4721e50edfa86"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#gcb1f37e995e987b20fd2da691595e66d">snd_rawmidi_info_get_name</a> (const <a class="el" href="group___raw_midi.html#g89e908db6ee86804d5a72373d2c4952f">snd_rawmidi_info_t</a> *obj)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get rawmidi hardware driver name  <a href="#gcb1f37e995e987b20fd2da691595e66d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#g03076ab74710a1833b4047855f00d46e">snd_rawmidi_info_get_subdevice_name</a> (const <a class="el" href="group___raw_midi.html#g89e908db6ee86804d5a72373d2c4952f">snd_rawmidi_info_t</a> *obj)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get rawmidi subdevice name  <a href="#g03076ab74710a1833b4047855f00d46e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#ge023daa9d3502f0a8d26899f2a0ab43c">snd_rawmidi_info_get_subdevices_count</a> (const <a class="el" href="group___raw_midi.html#g89e908db6ee86804d5a72373d2c4952f">snd_rawmidi_info_t</a> *obj)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get rawmidi count of subdevices  <a href="#ge023daa9d3502f0a8d26899f2a0ab43c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#gc1a87a14498b40d5969788ffb36e0be4">snd_rawmidi_info_get_subdevices_avail</a> (const <a class="el" href="group___raw_midi.html#g89e908db6ee86804d5a72373d2c4952f">snd_rawmidi_info_t</a> *obj)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get rawmidi available count of subdevices  <a href="#gc1a87a14498b40d5969788ffb36e0be4"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#g838b460772cb288d351d837c056b8345">snd_rawmidi_info_set_device</a> (<a class="el" href="group___raw_midi.html#g89e908db6ee86804d5a72373d2c4952f">snd_rawmidi_info_t</a> *obj, unsigned int val)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">set rawmidi device number  <a href="#g838b460772cb288d351d837c056b8345"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#g88b57d664c57af2f016a15ea95be4fb0">snd_rawmidi_info_set_subdevice</a> (<a class="el" href="group___raw_midi.html#g89e908db6ee86804d5a72373d2c4952f">snd_rawmidi_info_t</a> *obj, unsigned int val)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">set rawmidi subdevice number  <a href="#g88b57d664c57af2f016a15ea95be4fb0"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#g48235412265881280d89c1b649a03fc5">snd_rawmidi_info_set_stream</a> (<a class="el" href="group___raw_midi.html#g89e908db6ee86804d5a72373d2c4952f">snd_rawmidi_info_t</a> *obj, <a class="el" href="group___raw_midi.html#gaaa9ac8e5468e56e94d2b5c85ed19192">snd_rawmidi_stream_t</a> val)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">set rawmidi stream identifier  <a href="#g48235412265881280d89c1b649a03fc5"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#gbb2a401dcd2f251e02a791ea6719e131">snd_rawmidi_info</a> (<a class="el" href="group___raw_midi.html#g79ab77768f9ad62df167e1fec2be5afe">snd_rawmidi_t</a> *rmidi, <a class="el" href="group___raw_midi.html#g89e908db6ee86804d5a72373d2c4952f">snd_rawmidi_info_t</a> *info)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get information about RawMidi handle  <a href="#gbb2a401dcd2f251e02a791ea6719e131"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#g1e8a7003e995305111468f0c6805102a">snd_rawmidi_params_sizeof</a> (void)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get size of the snd_rawmidi_params_t structure in bytes  <a href="#g1e8a7003e995305111468f0c6805102a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#gdccf299e2fb2a80211103b43c2d9c3c4">snd_rawmidi_params_malloc</a> (<a class="el" href="group___raw_midi.html#g3634ea06f06caef3fc956f2b6c084c17">snd_rawmidi_params_t</a> **ptr)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">allocate the snd_rawmidi_params_t structure  <a href="#gdccf299e2fb2a80211103b43c2d9c3c4"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#g13b671d28377887d9f2306bf19b45655">snd_rawmidi_params_free</a> (<a class="el" href="group___raw_midi.html#g3634ea06f06caef3fc956f2b6c084c17">snd_rawmidi_params_t</a> *obj)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">frees the snd_rawmidi_params_t structure  <a href="#g13b671d28377887d9f2306bf19b45655"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#g73c0dd2d42a452413e60e87a3a5b7242">snd_rawmidi_params_copy</a> (<a class="el" href="group___raw_midi.html#g3634ea06f06caef3fc956f2b6c084c17">snd_rawmidi_params_t</a> *dst, const <a class="el" href="group___raw_midi.html#g3634ea06f06caef3fc956f2b6c084c17">snd_rawmidi_params_t</a> *src)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">copy one snd_rawmidi_params_t structure to another  <a href="#g73c0dd2d42a452413e60e87a3a5b7242"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#gc29e4cfcdcf819349be0c517be4cd096">snd_rawmidi_params_set_buffer_size</a> (<a class="el" href="group___raw_midi.html#g79ab77768f9ad62df167e1fec2be5afe">snd_rawmidi_t</a> *rmidi, <a class="el" href="group___raw_midi.html#g3634ea06f06caef3fc956f2b6c084c17">snd_rawmidi_params_t</a> *params, size_t val)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">set rawmidi I/O ring buffer size  <a href="#gc29e4cfcdcf819349be0c517be4cd096"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#ga79d3654b4ccb1a52171c35aab3c8ef4">snd_rawmidi_params_get_buffer_size</a> (const <a class="el" href="group___raw_midi.html#g3634ea06f06caef3fc956f2b6c084c17">snd_rawmidi_params_t</a> *params)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get rawmidi I/O ring buffer size  <a href="#ga79d3654b4ccb1a52171c35aab3c8ef4"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#gd9e98d7f39e99fef567f8d5759a14bcb">snd_rawmidi_params_set_avail_min</a> (<a class="el" href="group___raw_midi.html#g79ab77768f9ad62df167e1fec2be5afe">snd_rawmidi_t</a> *rmidi, <a class="el" href="group___raw_midi.html#g3634ea06f06caef3fc956f2b6c084c17">snd_rawmidi_params_t</a> *params, size_t val)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">set minimum available bytes in rawmidi I/O ring buffer for wakeup  <a href="#gd9e98d7f39e99fef567f8d5759a14bcb"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#g85aa87a56cf0734e9f6c0278e181a319">snd_rawmidi_params_get_avail_min</a> (const <a class="el" href="group___raw_midi.html#g3634ea06f06caef3fc956f2b6c084c17">snd_rawmidi_params_t</a> *params)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get minimum available bytes in rawmidi I/O ring buffer for wakeup  <a href="#g85aa87a56cf0734e9f6c0278e181a319"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#g449204f4209a5c48504247729cf22d28">snd_rawmidi_params_set_no_active_sensing</a> (<a class="el" href="group___raw_midi.html#g79ab77768f9ad62df167e1fec2be5afe">snd_rawmidi_t</a> *rmidi, <a class="el" href="group___raw_midi.html#g3634ea06f06caef3fc956f2b6c084c17">snd_rawmidi_params_t</a> *params, int val)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">set no-active-sensing action on <a class="el" href="group___raw_midi.html#g7d211d11a52fa5577eab4903d7e5f8aa">snd_rawmidi_close()</a>  <a href="#g449204f4209a5c48504247729cf22d28"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#g549d3fabea8506e9956cddd61402d78a">snd_rawmidi_params_get_no_active_sensing</a> (const <a class="el" href="group___raw_midi.html#g3634ea06f06caef3fc956f2b6c084c17">snd_rawmidi_params_t</a> *params)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get no-active-sensing action status  <a href="#g549d3fabea8506e9956cddd61402d78a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#g5335f92447f739f90e7ecee8a29316b9">snd_rawmidi_params</a> (<a class="el" href="group___raw_midi.html#g79ab77768f9ad62df167e1fec2be5afe">snd_rawmidi_t</a> *rmidi, <a class="el" href="group___raw_midi.html#g3634ea06f06caef3fc956f2b6c084c17">snd_rawmidi_params_t</a> *params)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">set parameters about rawmidi stream  <a href="#g5335f92447f739f90e7ecee8a29316b9"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#g1fc54e7dc9ac78581fbf07e8ddc9e384">snd_rawmidi_params_current</a> (<a class="el" href="group___raw_midi.html#g79ab77768f9ad62df167e1fec2be5afe">snd_rawmidi_t</a> *rmidi, <a class="el" href="group___raw_midi.html#g3634ea06f06caef3fc956f2b6c084c17">snd_rawmidi_params_t</a> *params)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get current parameters about rawmidi stream  <a href="#g1fc54e7dc9ac78581fbf07e8ddc9e384"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#gdeec26f69dc45ea08888c9546dc20bf5">snd_rawmidi_status_sizeof</a> (void)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get size of the snd_rawmidi_status_t structure in bytes  <a href="#gdeec26f69dc45ea08888c9546dc20bf5"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#g17915bd2845da1acb34e775b855327f3">snd_rawmidi_status_malloc</a> (<a class="el" href="group___raw_midi.html#gd5b67a8d237ea604b03fc3d9068dfb62">snd_rawmidi_status_t</a> **ptr)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">allocate the snd_rawmidi_status_t structure  <a href="#g17915bd2845da1acb34e775b855327f3"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#g00b7b636749c5a1199e2609d46abd8ac">snd_rawmidi_status_free</a> (<a class="el" href="group___raw_midi.html#gd5b67a8d237ea604b03fc3d9068dfb62">snd_rawmidi_status_t</a> *obj)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">frees the snd_rawmidi_status_t structure  <a href="#g00b7b636749c5a1199e2609d46abd8ac"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#g1190481d71e3327206adaf27257d25b2">snd_rawmidi_status_copy</a> (<a class="el" href="group___raw_midi.html#gd5b67a8d237ea604b03fc3d9068dfb62">snd_rawmidi_status_t</a> *dst, const <a class="el" href="group___raw_midi.html#gd5b67a8d237ea604b03fc3d9068dfb62">snd_rawmidi_status_t</a> *src)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">copy one snd_rawmidi_status_t structure to another  <a href="#g1190481d71e3327206adaf27257d25b2"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#g6b180e1de8d56b2c254e71aed1bda94e">snd_rawmidi_status_get_tstamp</a> (const <a class="el" href="group___raw_midi.html#gd5b67a8d237ea604b03fc3d9068dfb62">snd_rawmidi_status_t</a> *obj, <a class="el" href="group___global.html#g9ec799950aa7da856cf805705197c390">snd_htimestamp_t</a> *ptr)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get the start timestamp  <a href="#g6b180e1de8d56b2c254e71aed1bda94e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#g06cdf1aad44576fb5a547579e9ba7d3d">snd_rawmidi_status_get_avail</a> (const <a class="el" href="group___raw_midi.html#gd5b67a8d237ea604b03fc3d9068dfb62">snd_rawmidi_status_t</a> *obj)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get current available bytes in the rawmidi I/O ring buffer  <a href="#g06cdf1aad44576fb5a547579e9ba7d3d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#g8e13b55f1bfab6fdc3d948ca2d7dc8e5">snd_rawmidi_status_get_xruns</a> (const <a class="el" href="group___raw_midi.html#gd5b67a8d237ea604b03fc3d9068dfb62">snd_rawmidi_status_t</a> *obj)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get count of xruns  <a href="#g8e13b55f1bfab6fdc3d948ca2d7dc8e5"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#g3300ad0eba01fdf078e0b9dceefd4464">snd_rawmidi_status</a> (<a class="el" href="group___raw_midi.html#g79ab77768f9ad62df167e1fec2be5afe">snd_rawmidi_t</a> *rmidi, <a class="el" href="group___raw_midi.html#gd5b67a8d237ea604b03fc3d9068dfb62">snd_rawmidi_status_t</a> *status)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get status of rawmidi stream  <a href="#g3300ad0eba01fdf078e0b9dceefd4464"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#g4714ac531bba8f7fd7d8d4e0a23ef55a">snd_rawmidi_drain</a> (<a class="el" href="group___raw_midi.html#g79ab77768f9ad62df167e1fec2be5afe">snd_rawmidi_t</a> *rmidi)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">drain all bytes in the rawmidi I/O ring buffer  <a href="#g4714ac531bba8f7fd7d8d4e0a23ef55a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#g675655e04aa53c47071b28f2e35c0d24">snd_rawmidi_drop</a> (<a class="el" href="group___raw_midi.html#g79ab77768f9ad62df167e1fec2be5afe">snd_rawmidi_t</a> *rmidi)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">drop all bytes in the rawmidi I/O ring buffer immediately  <a href="#g675655e04aa53c47071b28f2e35c0d24"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">ssize_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#ge509ef02b192acf078ebc8577f0d644f">snd_rawmidi_write</a> (<a class="el" href="group___raw_midi.html#g79ab77768f9ad62df167e1fec2be5afe">snd_rawmidi_t</a> *rmidi, const void *buffer, size_t size)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">write MIDI bytes to MIDI stream  <a href="#ge509ef02b192acf078ebc8577f0d644f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">ssize_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#g5354686379cfd1e033b42b7b1c1b83a5">snd_rawmidi_read</a> (<a class="el" href="group___raw_midi.html#g79ab77768f9ad62df167e1fec2be5afe">snd_rawmidi_t</a> *rmidi, void *buffer, size_t size)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">read MIDI bytes from MIDI stream  <a href="#g5354686379cfd1e033b42b7b1c1b83a5"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#g38348f4956f9ccef67bbaf40f81a0e59">snd_rawmidi_name</a> (<a class="el" href="group___raw_midi.html#g79ab77768f9ad62df167e1fec2be5afe">snd_rawmidi_t</a> *rmidi)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get identifier of RawMidi handle  <a href="#g38348f4956f9ccef67bbaf40f81a0e59"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group___raw_midi.html#g0ea24aa200a63a5a295eddb5e47957c5">snd_rawmidi_type_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#gb9ff5e6d4b8e2fb7447eb3b1be8334bb">snd_rawmidi_type</a> (<a class="el" href="group___raw_midi.html#g79ab77768f9ad62df167e1fec2be5afe">snd_rawmidi_t</a> *rmidi)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get type of RawMidi handle  <a href="#gb9ff5e6d4b8e2fb7447eb3b1be8334bb"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group___raw_midi.html#gaaa9ac8e5468e56e94d2b5c85ed19192">snd_rawmidi_stream_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#g025ec1d6eaba9d5afd147c66f2ee3de8">snd_rawmidi_stream</a> (<a class="el" href="group___raw_midi.html#g79ab77768f9ad62df167e1fec2be5afe">snd_rawmidi_t</a> *rawmidi)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get stream (direction) of RawMidi handle  <a href="#g025ec1d6eaba9d5afd147c66f2ee3de8"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
The RawMidi Interface. See <a class="el" href="rawmidi.html">RawMidi interface</a> page for more details. <hr><h2>Define Documentation</h2>
<a class="anchor" name="g7b5e6933e2eb7e116f3cb0ba2dbf55b9"></a><!-- doxytag: member="rawmidi.h::SND_RAWMIDI_APPEND" ref="g7b5e6933e2eb7e116f3cb0ba2dbf55b9" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SND_RAWMIDI_APPEND          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Append (flag to open mode) 
</div>
</div><p>
<a class="anchor" name="ge775419a5fc83663cc286a33632d9815"></a><!-- doxytag: member="rawmidi.h::SND_RAWMIDI_DLSYM_VERSION" ref="ge775419a5fc83663cc286a33632d9815" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SND_RAWMIDI_DLSYM_VERSION&nbsp;&nbsp;&nbsp;_dlsym_rawmidi_001          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
dlsym version for interface entry callback 
</div>
</div><p>
<a class="anchor" name="gd794e6581f550d2997fd7759f644d2cd"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_info_alloca" ref="gd794e6581f550d2997fd7759f644d2cd" args="(ptr)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define snd_rawmidi_info_alloca          </td>
          <td>(</td>
          <td class="paramtype">ptr&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
allocate an invalid <a class="el" href="group___raw_midi.html#g89e908db6ee86804d5a72373d2c4952f">snd_rawmidi_info_t</a> using standard alloca 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>ptr</em>&nbsp;</td><td>returned pointer </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="gd4047106579e3023b7814654832fde6b"></a><!-- doxytag: member="rawmidi.h::SND_RAWMIDI_NONBLOCK" ref="gd4047106579e3023b7814654832fde6b" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SND_RAWMIDI_NONBLOCK          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Non blocking mode (flag to open mode) 
</div>
</div><p>
<a class="anchor" name="g8a9771b6c61d95d5738dd6ef99756411"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_params_alloca" ref="g8a9771b6c61d95d5738dd6ef99756411" args="(ptr)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define snd_rawmidi_params_alloca          </td>
          <td>(</td>
          <td class="paramtype">ptr&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
allocate an invalid <a class="el" href="group___raw_midi.html#g3634ea06f06caef3fc956f2b6c084c17">snd_rawmidi_params_t</a> using standard alloca 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>ptr</em>&nbsp;</td><td>returned pointer </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="g0ebec15243dbbbf59ac9f9e2271ae25a"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_status_alloca" ref="g0ebec15243dbbbf59ac9f9e2271ae25a" args="(ptr)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define snd_rawmidi_status_alloca          </td>
          <td>(</td>
          <td class="paramtype">ptr&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
allocate an invalid <a class="el" href="group___raw_midi.html#gd5b67a8d237ea604b03fc3d9068dfb62">snd_rawmidi_status_t</a> using standard alloca 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>ptr</em>&nbsp;</td><td>returned pointer </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="gf78fb035a2cac729c324131b033119cb"></a><!-- doxytag: member="rawmidi.h::SND_RAWMIDI_SYNC" ref="gf78fb035a2cac729c324131b033119cb" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SND_RAWMIDI_SYNC          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Write sync mode (Flag to open mode) 
</div>
</div><p>
<hr><h2>Typedef Documentation</h2>
<a class="anchor" name="g89e908db6ee86804d5a72373d2c4952f"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_info_t" ref="g89e908db6ee86804d5a72373d2c4952f" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct _snd_rawmidi_info <a class="el" href="group___raw_midi.html#g89e908db6ee86804d5a72373d2c4952f">snd_rawmidi_info_t</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
RawMidi information container 
</div>
</div><p>
<a class="anchor" name="g3634ea06f06caef3fc956f2b6c084c17"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_params_t" ref="g3634ea06f06caef3fc956f2b6c084c17" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct _snd_rawmidi_params <a class="el" href="group___raw_midi.html#g3634ea06f06caef3fc956f2b6c084c17">snd_rawmidi_params_t</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
RawMidi settings container 
</div>
</div><p>
<a class="anchor" name="gd5b67a8d237ea604b03fc3d9068dfb62"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_status_t" ref="gd5b67a8d237ea604b03fc3d9068dfb62" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct _snd_rawmidi_status <a class="el" href="group___raw_midi.html#gd5b67a8d237ea604b03fc3d9068dfb62">snd_rawmidi_status_t</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
RawMidi status container 
</div>
</div><p>
<a class="anchor" name="gaaa9ac8e5468e56e94d2b5c85ed19192"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_stream_t" ref="gaaa9ac8e5468e56e94d2b5c85ed19192" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef enum <a class="el" href="group___raw_midi.html#gf583c1b4e1f50de00a5cc2ab39346443">_snd_rawmidi_stream</a>  <a class="el" href="group___raw_midi.html#gaaa9ac8e5468e56e94d2b5c85ed19192">snd_rawmidi_stream_t</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
RawMidi stream (direction) 
</div>
</div><p>
<a class="anchor" name="g79ab77768f9ad62df167e1fec2be5afe"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_t" ref="g79ab77768f9ad62df167e1fec2be5afe" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct _snd_rawmidi <a class="el" href="group___raw_midi.html#g79ab77768f9ad62df167e1fec2be5afe">snd_rawmidi_t</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
RawMidi handle <dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="_2test_2rawmidi_8c-example.html#a132">/test/rawmidi.c</a>.</dl>
</div>
</div><p>
<a class="anchor" name="g0ea24aa200a63a5a295eddb5e47957c5"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_type_t" ref="g0ea24aa200a63a5a295eddb5e47957c5" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef enum <a class="el" href="group___raw_midi.html#gf135befc326007ae823f33d7d826ab93">_snd_rawmidi_type</a>  <a class="el" href="group___raw_midi.html#g0ea24aa200a63a5a295eddb5e47957c5">snd_rawmidi_type_t</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
RawMidi type 
</div>
</div><p>
<hr><h2>Enumeration Type Documentation</h2>
<a class="anchor" name="gf583c1b4e1f50de00a5cc2ab39346443"></a><!-- doxytag: member="rawmidi.h::_snd_rawmidi_stream" ref="gf583c1b4e1f50de00a5cc2ab39346443" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group___raw_midi.html#gf583c1b4e1f50de00a5cc2ab39346443">_snd_rawmidi_stream</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
RawMidi stream (direction) <dl compact><dt><b>Enumerator: </b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" name="ggf583c1b4e1f50de00a5cc2ab39346443075b165fff56b6e3b94e1f8e32f6ee47"></a><!-- doxytag: member="SND_RAWMIDI_STREAM_OUTPUT" ref="ggf583c1b4e1f50de00a5cc2ab39346443075b165fff56b6e3b94e1f8e32f6ee47" args="" -->SND_RAWMIDI_STREAM_OUTPUT</em>&nbsp;</td><td>
Output stream </td></tr>
<tr><td valign="top"><em><a class="anchor" name="ggf583c1b4e1f50de00a5cc2ab3934644358a65823a8559340a0a343b6ef4445c6"></a><!-- doxytag: member="SND_RAWMIDI_STREAM_INPUT" ref="ggf583c1b4e1f50de00a5cc2ab3934644358a65823a8559340a0a343b6ef4445c6" args="" -->SND_RAWMIDI_STREAM_INPUT</em>&nbsp;</td><td>
Input stream </td></tr>
</table>
</dl>

</div>
</div><p>
<a class="anchor" name="gf135befc326007ae823f33d7d826ab93"></a><!-- doxytag: member="rawmidi.h::_snd_rawmidi_type" ref="gf135befc326007ae823f33d7d826ab93" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group___raw_midi.html#gf135befc326007ae823f33d7d826ab93">_snd_rawmidi_type</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
RawMidi type <dl compact><dt><b>Enumerator: </b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" name="ggf135befc326007ae823f33d7d826ab93ae5fa03d0518c6872ab0d14ca32e49e6"></a><!-- doxytag: member="SND_RAWMIDI_TYPE_HW" ref="ggf135befc326007ae823f33d7d826ab93ae5fa03d0518c6872ab0d14ca32e49e6" args="" -->SND_RAWMIDI_TYPE_HW</em>&nbsp;</td><td>
Kernel level RawMidi </td></tr>
<tr><td valign="top"><em><a class="anchor" name="ggf135befc326007ae823f33d7d826ab93a857bf11ee2f5f640df36a0da175eca5"></a><!-- doxytag: member="SND_RAWMIDI_TYPE_SHM" ref="ggf135befc326007ae823f33d7d826ab93a857bf11ee2f5f640df36a0da175eca5" args="" -->SND_RAWMIDI_TYPE_SHM</em>&nbsp;</td><td>
Shared memory client RawMidi (not yet implemented) </td></tr>
<tr><td valign="top"><em><a class="anchor" name="ggf135befc326007ae823f33d7d826ab93b8065a7d3a3535b08cad767d592d6ea5"></a><!-- doxytag: member="SND_RAWMIDI_TYPE_INET" ref="ggf135befc326007ae823f33d7d826ab93b8065a7d3a3535b08cad767d592d6ea5" args="" -->SND_RAWMIDI_TYPE_INET</em>&nbsp;</td><td>
INET client RawMidi (not yet implemented) </td></tr>
<tr><td valign="top"><em><a class="anchor" name="ggf135befc326007ae823f33d7d826ab93a056f8449ac2d8d9ac11dca835ae5b29"></a><!-- doxytag: member="SND_RAWMIDI_TYPE_VIRTUAL" ref="ggf135befc326007ae823f33d7d826ab93a056f8449ac2d8d9ac11dca835ae5b29" args="" -->SND_RAWMIDI_TYPE_VIRTUAL</em>&nbsp;</td><td>
Virtual (sequencer) RawMidi </td></tr>
</table>
</dl>

</div>
</div><p>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="g7d211d11a52fa5577eab4903d7e5f8aa"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_close" ref="g7d211d11a52fa5577eab4903d7e5f8aa" args="(snd_rawmidi_t *rmidi)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_rawmidi_close           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___raw_midi.html#g79ab77768f9ad62df167e1fec2be5afe">snd_rawmidi_t</a> *&nbsp;</td>
          <td class="paramname"> <em>rawmidi</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
close RawMidi handle 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rawmidi</em>&nbsp;</td><td>RawMidi handle </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>0 on success otherwise a negative error code</dd></dl>
Closes the specified RawMidi handle and frees all associated resources. <dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="_2test_2rawmidi_8c-example.html#a137">/test/rawmidi.c</a>.</dl>
</div>
</div><p>
<a class="anchor" name="g4714ac531bba8f7fd7d8d4e0a23ef55a"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_drain" ref="g4714ac531bba8f7fd7d8d4e0a23ef55a" args="(snd_rawmidi_t *rmidi)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_rawmidi_drain           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___raw_midi.html#g79ab77768f9ad62df167e1fec2be5afe">snd_rawmidi_t</a> *&nbsp;</td>
          <td class="paramname"> <em>rawmidi</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
drain all bytes in the rawmidi I/O ring buffer 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rawmidi</em>&nbsp;</td><td>RawMidi handle </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>0 on success otherwise a negative error code</dd></dl>
Waits until all MIDI bytes are not drained (sent) to the hardware device. <dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="_2test_2rawmidi_8c-example.html#a136">/test/rawmidi.c</a>.</dl>
</div>
</div><p>
<a class="anchor" name="g675655e04aa53c47071b28f2e35c0d24"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_drop" ref="g675655e04aa53c47071b28f2e35c0d24" args="(snd_rawmidi_t *rmidi)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_rawmidi_drop           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___raw_midi.html#g79ab77768f9ad62df167e1fec2be5afe">snd_rawmidi_t</a> *&nbsp;</td>
          <td class="paramname"> <em>rawmidi</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
drop all bytes in the rawmidi I/O ring buffer immediately 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rawmidi</em>&nbsp;</td><td>RawMidi handle </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>0 on success otherwise a negative error code </dd></dl>

</div>
</div><p>
<a class="anchor" name="gbb2a401dcd2f251e02a791ea6719e131"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_info" ref="gbb2a401dcd2f251e02a791ea6719e131" args="(snd_rawmidi_t *rmidi, snd_rawmidi_info_t *info)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_rawmidi_info           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___raw_midi.html#g79ab77768f9ad62df167e1fec2be5afe">snd_rawmidi_t</a> *&nbsp;</td>
          <td class="paramname"> <em>rawmidi</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___raw_midi.html#g89e908db6ee86804d5a72373d2c4952f">snd_rawmidi_info_t</a> *&nbsp;</td>
          <td class="paramname"> <em>info</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
get information about RawMidi handle 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rawmidi</em>&nbsp;</td><td>RawMidi handle </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>info</em>&nbsp;</td><td>pointer to a snd_rawmidi_info_t structure to be filled </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>0 on success otherwise a negative error code </dd></dl>

</div>
</div><p>
<a class="anchor" name="g5c1fb388c0e6f177112e74863c211010"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_info_copy" ref="g5c1fb388c0e6f177112e74863c211010" args="(snd_rawmidi_info_t *dst, const snd_rawmidi_info_t *src)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void snd_rawmidi_info_copy           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___raw_midi.html#g89e908db6ee86804d5a72373d2c4952f">snd_rawmidi_info_t</a> *&nbsp;</td>
          <td class="paramname"> <em>dst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="group___raw_midi.html#g89e908db6ee86804d5a72373d2c4952f">snd_rawmidi_info_t</a> *&nbsp;</td>
          <td class="paramname"> <em>src</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
copy one snd_rawmidi_info_t structure to another 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>dst</em>&nbsp;</td><td>destination snd_rawmidi_info_t structure </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>src</em>&nbsp;</td><td>source snd_rawmidi_info_t structure </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="geeffca7c9d3fbb5d30fdcd138d1f33d8"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_info_free" ref="geeffca7c9d3fbb5d30fdcd138d1f33d8" args="(snd_rawmidi_info_t *obj)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void snd_rawmidi_info_free           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___raw_midi.html#g89e908db6ee86804d5a72373d2c4952f">snd_rawmidi_info_t</a> *&nbsp;</td>
          <td class="paramname"> <em>info</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
frees the snd_rawmidi_info_t structure 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>info</em>&nbsp;</td><td>pointer to the snd_rawmidi_info_t structure to free</td></tr>
  </table>
</dl>
Frees the given snd_rawmidi_params_t structure using the standard free C library function. 
</div>
</div><p>
<a class="anchor" name="g04243d05be04d11738c208c9b0893722"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_info_get_card" ref="g04243d05be04d11738c208c9b0893722" args="(const snd_rawmidi_info_t *obj)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_rawmidi_info_get_card           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group___raw_midi.html#g89e908db6ee86804d5a72373d2c4952f">snd_rawmidi_info_t</a> *&nbsp;</td>
          <td class="paramname"> <em>info</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
get rawmidi card number 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>info</em>&nbsp;</td><td>pointer to a snd_rawmidi_info_t structure </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>rawmidi card number </dd></dl>

</div>
</div><p>
<a class="anchor" name="g674dad4575100b0be1da11f58bab2286"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_info_get_device" ref="g674dad4575100b0be1da11f58bab2286" args="(const snd_rawmidi_info_t *obj)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int snd_rawmidi_info_get_device           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group___raw_midi.html#g89e908db6ee86804d5a72373d2c4952f">snd_rawmidi_info_t</a> *&nbsp;</td>
          <td class="paramname"> <em>info</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
get rawmidi device number 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>info</em>&nbsp;</td><td>pointer to a snd_rawmidi_info_t structure </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>rawmidi device number </dd></dl>

</div>
</div><p>
<a class="anchor" name="gd5509668d487c7393f87f8ec64b5d890"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_info_get_flags" ref="gd5509668d487c7393f87f8ec64b5d890" args="(const snd_rawmidi_info_t *obj)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int snd_rawmidi_info_get_flags           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group___raw_midi.html#g89e908db6ee86804d5a72373d2c4952f">snd_rawmidi_info_t</a> *&nbsp;</td>
          <td class="paramname"> <em>info</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
get rawmidi flags 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>info</em>&nbsp;</td><td>pointer to a snd_rawmidi_info_t structure </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>rawmidi flags </dd></dl>

</div>
</div><p>
<a class="anchor" name="gc76afc2219e9942a02f4721e50edfa86"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_info_get_id" ref="gc76afc2219e9942a02f4721e50edfa86" args="(const snd_rawmidi_info_t *obj)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* snd_rawmidi_info_get_id           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group___raw_midi.html#g89e908db6ee86804d5a72373d2c4952f">snd_rawmidi_info_t</a> *&nbsp;</td>
          <td class="paramname"> <em>info</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
get rawmidi hardware driver identifier 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>info</em>&nbsp;</td><td>pointer to a snd_rawmidi_info_t structure </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>rawmidi hardware driver identifier </dd></dl>

</div>
</div><p>
<a class="anchor" name="gcb1f37e995e987b20fd2da691595e66d"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_info_get_name" ref="gcb1f37e995e987b20fd2da691595e66d" args="(const snd_rawmidi_info_t *obj)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* snd_rawmidi_info_get_name           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group___raw_midi.html#g89e908db6ee86804d5a72373d2c4952f">snd_rawmidi_info_t</a> *&nbsp;</td>
          <td class="paramname"> <em>info</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
get rawmidi hardware driver name 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>info</em>&nbsp;</td><td>pointer to a snd_rawmidi_info_t structure </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>rawmidi hardware driver name </dd></dl>

</div>
</div><p>
<a class="anchor" name="g92c88a72aa2b6cdbc3773738e4f34218"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_info_get_stream" ref="g92c88a72aa2b6cdbc3773738e4f34218" args="(const snd_rawmidi_info_t *obj)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group___raw_midi.html#gaaa9ac8e5468e56e94d2b5c85ed19192">snd_rawmidi_stream_t</a> snd_rawmidi_info_get_stream           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group___raw_midi.html#g89e908db6ee86804d5a72373d2c4952f">snd_rawmidi_info_t</a> *&nbsp;</td>
          <td class="paramname"> <em>info</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
get rawmidi stream identification 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>info</em>&nbsp;</td><td>pointer to a snd_rawmidi_info_t structure </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>rawmidi stream identification </dd></dl>

</div>
</div><p>
<a class="anchor" name="gfea729ce613b7a26c190449d75c3c536"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_info_get_subdevice" ref="gfea729ce613b7a26c190449d75c3c536" args="(const snd_rawmidi_info_t *obj)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int snd_rawmidi_info_get_subdevice           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group___raw_midi.html#g89e908db6ee86804d5a72373d2c4952f">snd_rawmidi_info_t</a> *&nbsp;</td>
          <td class="paramname"> <em>info</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
get rawmidi subdevice number 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>info</em>&nbsp;</td><td>pointer to a snd_rawmidi_info_t structure </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>rawmidi subdevice number </dd></dl>

</div>
</div><p>
<a class="anchor" name="g03076ab74710a1833b4047855f00d46e"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_info_get_subdevice_name" ref="g03076ab74710a1833b4047855f00d46e" args="(const snd_rawmidi_info_t *obj)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* snd_rawmidi_info_get_subdevice_name           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group___raw_midi.html#g89e908db6ee86804d5a72373d2c4952f">snd_rawmidi_info_t</a> *&nbsp;</td>
          <td class="paramname"> <em>info</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
get rawmidi subdevice name 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>info</em>&nbsp;</td><td>pointer to a snd_rawmidi_info_t structure </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>rawmidi subdevice name </dd></dl>

</div>
</div><p>
<a class="anchor" name="gc1a87a14498b40d5969788ffb36e0be4"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_info_get_subdevices_avail" ref="gc1a87a14498b40d5969788ffb36e0be4" args="(const snd_rawmidi_info_t *obj)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int snd_rawmidi_info_get_subdevices_avail           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group___raw_midi.html#g89e908db6ee86804d5a72373d2c4952f">snd_rawmidi_info_t</a> *&nbsp;</td>
          <td class="paramname"> <em>info</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
get rawmidi available count of subdevices 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>info</em>&nbsp;</td><td>pointer to a snd_rawmidi_info_t structure </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>rawmidi available count of subdevices </dd></dl>

</div>
</div><p>
<a class="anchor" name="ge023daa9d3502f0a8d26899f2a0ab43c"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_info_get_subdevices_count" ref="ge023daa9d3502f0a8d26899f2a0ab43c" args="(const snd_rawmidi_info_t *obj)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int snd_rawmidi_info_get_subdevices_count           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group___raw_midi.html#g89e908db6ee86804d5a72373d2c4952f">snd_rawmidi_info_t</a> *&nbsp;</td>
          <td class="paramname"> <em>info</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
get rawmidi count of subdevices 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>info</em>&nbsp;</td><td>pointer to a snd_rawmidi_info_t structure </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>rawmidi count of subdevices </dd></dl>

</div>
</div><p>
<a class="anchor" name="g9b77e73551903db7e4c9c6eaff81838b"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_info_malloc" ref="g9b77e73551903db7e4c9c6eaff81838b" args="(snd_rawmidi_info_t **ptr)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_rawmidi_info_malloc           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___raw_midi.html#g89e908db6ee86804d5a72373d2c4952f">snd_rawmidi_info_t</a> **&nbsp;</td>
          <td class="paramname"> <em>info</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
allocate a new snd_rawmidi_info_t structure 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>info</em>&nbsp;</td><td>returned pointer </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>0 on success otherwise a negative error code if fails</dd></dl>
Allocates a new snd_rawmidi_params_t structure using the standard malloc C library function. 
</div>
</div><p>
<a class="anchor" name="g838b460772cb288d351d837c056b8345"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_info_set_device" ref="g838b460772cb288d351d837c056b8345" args="(snd_rawmidi_info_t *obj, unsigned int val)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void snd_rawmidi_info_set_device           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___raw_midi.html#g89e908db6ee86804d5a72373d2c4952f">snd_rawmidi_info_t</a> *&nbsp;</td>
          <td class="paramname"> <em>info</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>val</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
set rawmidi device number 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>info</em>&nbsp;</td><td>pointer to a snd_rawmidi_info_t structure </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>val</em>&nbsp;</td><td>device number </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="g48235412265881280d89c1b649a03fc5"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_info_set_stream" ref="g48235412265881280d89c1b649a03fc5" args="(snd_rawmidi_info_t *obj, snd_rawmidi_stream_t val)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void snd_rawmidi_info_set_stream           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___raw_midi.html#g89e908db6ee86804d5a72373d2c4952f">snd_rawmidi_info_t</a> *&nbsp;</td>
          <td class="paramname"> <em>info</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___raw_midi.html#gaaa9ac8e5468e56e94d2b5c85ed19192">snd_rawmidi_stream_t</a>&nbsp;</td>
          <td class="paramname"> <em>val</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
set rawmidi stream identifier 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>info</em>&nbsp;</td><td>pointer to a snd_rawmidi_info_t structure </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>val</em>&nbsp;</td><td>rawmidi stream identifier </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="g88b57d664c57af2f016a15ea95be4fb0"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_info_set_subdevice" ref="g88b57d664c57af2f016a15ea95be4fb0" args="(snd_rawmidi_info_t *obj, unsigned int val)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void snd_rawmidi_info_set_subdevice           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___raw_midi.html#g89e908db6ee86804d5a72373d2c4952f">snd_rawmidi_info_t</a> *&nbsp;</td>
          <td class="paramname"> <em>info</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>val</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
set rawmidi subdevice number 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>info</em>&nbsp;</td><td>pointer to a snd_rawmidi_info_t structure </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>val</em>&nbsp;</td><td>subdevice number </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="gfefdd8a96c2eb52c7195207cd3b22210"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_info_sizeof" ref="gfefdd8a96c2eb52c7195207cd3b22210" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t snd_rawmidi_info_sizeof           </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
get size of the snd_rawmidi_info_t structure in bytes 
<p>
<dl compact><dt><b>Returns:</b></dt><dd>size of the snd_rawmidi_info_t structure in bytes </dd></dl>

</div>
</div><p>
<a class="anchor" name="g38348f4956f9ccef67bbaf40f81a0e59"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_name" ref="g38348f4956f9ccef67bbaf40f81a0e59" args="(snd_rawmidi_t *rmidi)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* snd_rawmidi_name           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___raw_midi.html#g79ab77768f9ad62df167e1fec2be5afe">snd_rawmidi_t</a> *&nbsp;</td>
          <td class="paramname"> <em>rawmidi</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
get identifier of RawMidi handle 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rawmidi</em>&nbsp;</td><td>a RawMidi handle </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>ascii identifier of RawMidi handle</dd></dl>
Returns the ASCII identifier of given RawMidi handle. It's the same identifier specified in <a class="el" href="group___raw_midi.html#g9312991c57e0327531e9d43a468e8d44">snd_rawmidi_open()</a>. 
</div>
</div><p>
<a class="anchor" name="gad4b97532b738584fb1eb57e3b198776"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_nonblock" ref="gad4b97532b738584fb1eb57e3b198776" args="(snd_rawmidi_t *rmidi, int nonblock)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_rawmidi_nonblock           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___raw_midi.html#g79ab77768f9ad62df167e1fec2be5afe">snd_rawmidi_t</a> *&nbsp;</td>
          <td class="paramname"> <em>rawmidi</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>nonblock</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
set nonblock mode 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rawmidi</em>&nbsp;</td><td>RawMidi handle </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>nonblock</em>&nbsp;</td><td>0 = block, 1 = nonblock mode </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>0 on success otherwise a negative error code</dd></dl>
The nonblock mode cannot be used when the stream is in <a class="el" href="group___raw_midi.html#g7b5e6933e2eb7e116f3cb0ba2dbf55b9">SND_RAWMIDI_APPEND</a> state. 
</div>
</div><p>
<a class="anchor" name="g9312991c57e0327531e9d43a468e8d44"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_open" ref="g9312991c57e0327531e9d43a468e8d44" args="(snd_rawmidi_t **in_rmidi, snd_rawmidi_t **out_rmidi, const char *name, int mode)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_rawmidi_open           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___raw_midi.html#g79ab77768f9ad62df167e1fec2be5afe">snd_rawmidi_t</a> **&nbsp;</td>
          <td class="paramname"> <em>inputp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___raw_midi.html#g79ab77768f9ad62df167e1fec2be5afe">snd_rawmidi_t</a> **&nbsp;</td>
          <td class="paramname"> <em>outputp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>mode</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Opens a new connection to the RawMidi interface. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>inputp</em>&nbsp;</td><td>Returned input handle (NULL if not wanted) </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>outputp</em>&nbsp;</td><td>Returned output handle (NULL if not wanted) </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>ASCII identifier of the RawMidi handle </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>mode</em>&nbsp;</td><td>Open mode </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>0 on success otherwise a negative error code</dd></dl>
Opens a new connection to the RawMidi interface specified with an ASCII identifier and mode. <dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="_2test_2rawmidi_8c-example.html#a133">/test/rawmidi.c</a>.</dl>
</div>
</div><p>
<a class="anchor" name="g063688a2a13a29d70ada5dac3cb032ca"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_open_lconf" ref="g063688a2a13a29d70ada5dac3cb032ca" args="(snd_rawmidi_t **in_rmidi, snd_rawmidi_t **out_rmidi, const char *name, int mode, snd_config_t *lconf)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_rawmidi_open_lconf           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___raw_midi.html#g79ab77768f9ad62df167e1fec2be5afe">snd_rawmidi_t</a> **&nbsp;</td>
          <td class="paramname"> <em>inputp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___raw_midi.html#g79ab77768f9ad62df167e1fec2be5afe">snd_rawmidi_t</a> **&nbsp;</td>
          <td class="paramname"> <em>outputp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>mode</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___config.html#gb7dc173feea5bedcd999bba678eb53a7">snd_config_t</a> *&nbsp;</td>
          <td class="paramname"> <em>lconf</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Opens a new connection to the RawMidi interface using local configuration. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>inputp</em>&nbsp;</td><td>Returned input handle (NULL if not wanted) </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>outputp</em>&nbsp;</td><td>Returned output handle (NULL if not wanted) </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>ASCII identifier of the RawMidi handle </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>mode</em>&nbsp;</td><td>Open mode </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>lconf</em>&nbsp;</td><td>Local configuration </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>0 on success otherwise a negative error code</dd></dl>
Opens a new connection to the RawMidi interface specified with an ASCII identifier and mode. 
</div>
</div><p>
<a class="anchor" name="g5335f92447f739f90e7ecee8a29316b9"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_params" ref="g5335f92447f739f90e7ecee8a29316b9" args="(snd_rawmidi_t *rmidi, snd_rawmidi_params_t *params)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_rawmidi_params           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___raw_midi.html#g79ab77768f9ad62df167e1fec2be5afe">snd_rawmidi_t</a> *&nbsp;</td>
          <td class="paramname"> <em>rawmidi</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___raw_midi.html#g3634ea06f06caef3fc956f2b6c084c17">snd_rawmidi_params_t</a> *&nbsp;</td>
          <td class="paramname"> <em>params</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
set parameters about rawmidi stream 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rawmidi</em>&nbsp;</td><td>RawMidi handle </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>params</em>&nbsp;</td><td>pointer to a snd_rawmidi_params_t structure to be filled </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>0 on success otherwise a negative error code </dd></dl>

</div>
</div><p>
<a class="anchor" name="g73c0dd2d42a452413e60e87a3a5b7242"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_params_copy" ref="g73c0dd2d42a452413e60e87a3a5b7242" args="(snd_rawmidi_params_t *dst, const snd_rawmidi_params_t *src)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void snd_rawmidi_params_copy           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___raw_midi.html#g3634ea06f06caef3fc956f2b6c084c17">snd_rawmidi_params_t</a> *&nbsp;</td>
          <td class="paramname"> <em>dst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="group___raw_midi.html#g3634ea06f06caef3fc956f2b6c084c17">snd_rawmidi_params_t</a> *&nbsp;</td>
          <td class="paramname"> <em>src</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
copy one snd_rawmidi_params_t structure to another 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>dst</em>&nbsp;</td><td>destination snd_rawmidi_params_t structure </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>src</em>&nbsp;</td><td>source snd_rawmidi_params_t structure </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="g1fc54e7dc9ac78581fbf07e8ddc9e384"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_params_current" ref="g1fc54e7dc9ac78581fbf07e8ddc9e384" args="(snd_rawmidi_t *rmidi, snd_rawmidi_params_t *params)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_rawmidi_params_current           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___raw_midi.html#g79ab77768f9ad62df167e1fec2be5afe">snd_rawmidi_t</a> *&nbsp;</td>
          <td class="paramname"> <em>rawmidi</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___raw_midi.html#g3634ea06f06caef3fc956f2b6c084c17">snd_rawmidi_params_t</a> *&nbsp;</td>
          <td class="paramname"> <em>params</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
get current parameters about rawmidi stream 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rawmidi</em>&nbsp;</td><td>RawMidi handle </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>params</em>&nbsp;</td><td>pointer to a snd_rawmidi_params_t structure to be filled </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>0 on success otherwise a negative error code </dd></dl>

</div>
</div><p>
<a class="anchor" name="g13b671d28377887d9f2306bf19b45655"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_params_free" ref="g13b671d28377887d9f2306bf19b45655" args="(snd_rawmidi_params_t *obj)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void snd_rawmidi_params_free           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___raw_midi.html#g3634ea06f06caef3fc956f2b6c084c17">snd_rawmidi_params_t</a> *&nbsp;</td>
          <td class="paramname"> <em>params</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
frees the snd_rawmidi_params_t structure 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>params</em>&nbsp;</td><td>pointer to the <a class="el" href="group___raw_midi.html#g3634ea06f06caef3fc956f2b6c084c17">snd_rawmidi_params_t</a> structure to free</td></tr>
  </table>
</dl>
Frees the given snd_rawmidi_params_t structure using the standard free C library function. 
</div>
</div><p>
<a class="anchor" name="g85aa87a56cf0734e9f6c0278e181a319"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_params_get_avail_min" ref="g85aa87a56cf0734e9f6c0278e181a319" args="(const snd_rawmidi_params_t *params)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t snd_rawmidi_params_get_avail_min           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group___raw_midi.html#g3634ea06f06caef3fc956f2b6c084c17">snd_rawmidi_params_t</a> *&nbsp;</td>
          <td class="paramname"> <em>params</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
get minimum available bytes in rawmidi I/O ring buffer for wakeup 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>params</em>&nbsp;</td><td>pointer to snd_rawmidi_params_t structure </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>minimum available bytes </dd></dl>

</div>
</div><p>
<a class="anchor" name="ga79d3654b4ccb1a52171c35aab3c8ef4"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_params_get_buffer_size" ref="ga79d3654b4ccb1a52171c35aab3c8ef4" args="(const snd_rawmidi_params_t *params)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t snd_rawmidi_params_get_buffer_size           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group___raw_midi.html#g3634ea06f06caef3fc956f2b6c084c17">snd_rawmidi_params_t</a> *&nbsp;</td>
          <td class="paramname"> <em>params</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
get rawmidi I/O ring buffer size 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>params</em>&nbsp;</td><td>pointer to a snd_rawmidi_params_t structure </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>size of rawmidi I/O ring buffer in bytes </dd></dl>

</div>
</div><p>
<a class="anchor" name="g549d3fabea8506e9956cddd61402d78a"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_params_get_no_active_sensing" ref="g549d3fabea8506e9956cddd61402d78a" args="(const snd_rawmidi_params_t *params)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_rawmidi_params_get_no_active_sensing           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group___raw_midi.html#g3634ea06f06caef3fc956f2b6c084c17">snd_rawmidi_params_t</a> *&nbsp;</td>
          <td class="paramname"> <em>params</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
get no-active-sensing action status 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>params</em>&nbsp;</td><td>pointer to snd_rawmidi_params_t structure </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>the current status (0 = enable, 1 = disable the active sensing message) </dd></dl>

</div>
</div><p>
<a class="anchor" name="gdccf299e2fb2a80211103b43c2d9c3c4"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_params_malloc" ref="gdccf299e2fb2a80211103b43c2d9c3c4" args="(snd_rawmidi_params_t **ptr)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_rawmidi_params_malloc           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___raw_midi.html#g3634ea06f06caef3fc956f2b6c084c17">snd_rawmidi_params_t</a> **&nbsp;</td>
          <td class="paramname"> <em>params</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
allocate the snd_rawmidi_params_t structure 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>params</em>&nbsp;</td><td>returned pointer </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>0 on success otherwise a negative error code if fails</dd></dl>
Allocates a new snd_rawmidi_params_t structure using the standard malloc C library function. 
</div>
</div><p>
<a class="anchor" name="gd9e98d7f39e99fef567f8d5759a14bcb"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_params_set_avail_min" ref="gd9e98d7f39e99fef567f8d5759a14bcb" args="(snd_rawmidi_t *rmidi, snd_rawmidi_params_t *params, size_t val)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_rawmidi_params_set_avail_min           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___raw_midi.html#g79ab77768f9ad62df167e1fec2be5afe">snd_rawmidi_t</a> *&nbsp;</td>
          <td class="paramname"> <em>rawmidi</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___raw_midi.html#g3634ea06f06caef3fc956f2b6c084c17">snd_rawmidi_params_t</a> *&nbsp;</td>
          <td class="paramname"> <em>params</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>val</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
set minimum available bytes in rawmidi I/O ring buffer for wakeup 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rawmidi</em>&nbsp;</td><td>RawMidi handle </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>params</em>&nbsp;</td><td>pointer to a snd_rawmidi_params_t structure </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>val</em>&nbsp;</td><td>desired value </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="gc29e4cfcdcf819349be0c517be4cd096"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_params_set_buffer_size" ref="gc29e4cfcdcf819349be0c517be4cd096" args="(snd_rawmidi_t *rmidi, snd_rawmidi_params_t *params, size_t val)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_rawmidi_params_set_buffer_size           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___raw_midi.html#g79ab77768f9ad62df167e1fec2be5afe">snd_rawmidi_t</a> *&nbsp;</td>
          <td class="paramname"> <em>rawmidi</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___raw_midi.html#g3634ea06f06caef3fc956f2b6c084c17">snd_rawmidi_params_t</a> *&nbsp;</td>
          <td class="paramname"> <em>params</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>val</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
set rawmidi I/O ring buffer size 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rawmidi</em>&nbsp;</td><td>RawMidi handle </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>params</em>&nbsp;</td><td>pointer to a snd_rawmidi_params_t structure </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>val</em>&nbsp;</td><td>size in bytes </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>0 on success otherwise a negative error code </dd></dl>

</div>
</div><p>
<a class="anchor" name="g449204f4209a5c48504247729cf22d28"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_params_set_no_active_sensing" ref="g449204f4209a5c48504247729cf22d28" args="(snd_rawmidi_t *rmidi, snd_rawmidi_params_t *params, int val)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_rawmidi_params_set_no_active_sensing           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___raw_midi.html#g79ab77768f9ad62df167e1fec2be5afe">snd_rawmidi_t</a> *&nbsp;</td>
          <td class="paramname"> <em>rawmidi</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___raw_midi.html#g3634ea06f06caef3fc956f2b6c084c17">snd_rawmidi_params_t</a> *&nbsp;</td>
          <td class="paramname"> <em>params</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>val</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
set no-active-sensing action on <a class="el" href="group___raw_midi.html#g7d211d11a52fa5577eab4903d7e5f8aa">snd_rawmidi_close()</a> 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rawmidi</em>&nbsp;</td><td>RawMidi handle </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>params</em>&nbsp;</td><td>pointer to snd_rawmidi_params_t structure </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>val</em>&nbsp;</td><td>value: 0 = enable to send the active sensing message, 1 = disable </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>0 on success otherwise a negative error code </dd></dl>

</div>
</div><p>
<a class="anchor" name="g1e8a7003e995305111468f0c6805102a"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_params_sizeof" ref="g1e8a7003e995305111468f0c6805102a" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t snd_rawmidi_params_sizeof           </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
get size of the snd_rawmidi_params_t structure in bytes 
<p>
<dl compact><dt><b>Returns:</b></dt><dd>size of the snd_rawmidi_params_t structure in bytes </dd></dl>

</div>
</div><p>
<a class="anchor" name="gd9640b83a02ec9e530c33f2b72e8cae9"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_poll_descriptors" ref="gd9640b83a02ec9e530c33f2b72e8cae9" args="(snd_rawmidi_t *rmidi, struct pollfd *pfds, unsigned int space)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_rawmidi_poll_descriptors           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___raw_midi.html#g79ab77768f9ad62df167e1fec2be5afe">snd_rawmidi_t</a> *&nbsp;</td>
          <td class="paramname"> <em>rawmidi</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct pollfd *&nbsp;</td>
          <td class="paramname"> <em>pfds</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>space</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
get poll descriptors 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rawmidi</em>&nbsp;</td><td>RawMidi handle </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>pfds</em>&nbsp;</td><td>array of poll descriptors </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>space</em>&nbsp;</td><td>space in the poll descriptor array </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>count of filled descriptors </dd></dl>

</div>
</div><p>
<a class="anchor" name="g09f69bc79fbc9c9b92434671d2154957"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_poll_descriptors_count" ref="g09f69bc79fbc9c9b92434671d2154957" args="(snd_rawmidi_t *rmidi)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_rawmidi_poll_descriptors_count           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___raw_midi.html#g79ab77768f9ad62df167e1fec2be5afe">snd_rawmidi_t</a> *&nbsp;</td>
          <td class="paramname"> <em>rawmidi</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
get count of poll descriptors for RawMidi handle 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rawmidi</em>&nbsp;</td><td>RawMidi handle </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>count of poll descriptors </dd></dl>

</div>
</div><p>
<a class="anchor" name="gae0fa2c62b1c9ec4d39ddf6aa69b24c0"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_poll_descriptors_revents" ref="gae0fa2c62b1c9ec4d39ddf6aa69b24c0" args="(snd_rawmidi_t *rawmidi, struct pollfd *pfds, unsigned int nfds, unsigned short *revent)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_rawmidi_poll_descriptors_revents           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___raw_midi.html#g79ab77768f9ad62df167e1fec2be5afe">snd_rawmidi_t</a> *&nbsp;</td>
          <td class="paramname"> <em>rawmidi</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct pollfd *&nbsp;</td>
          <td class="paramname"> <em>pfds</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>nfds</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned short *&nbsp;</td>
          <td class="paramname"> <em>revents</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
get returned events from poll descriptors 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rawmidi</em>&nbsp;</td><td>rawmidi RawMidi handle </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>pfds</em>&nbsp;</td><td>array of poll descriptors </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>nfds</em>&nbsp;</td><td>count of poll descriptors </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>revents</em>&nbsp;</td><td>returned events </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>zero if success, otherwise a negative error code </dd></dl>

</div>
</div><p>
<a class="anchor" name="g5354686379cfd1e033b42b7b1c1b83a5"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_read" ref="g5354686379cfd1e033b42b7b1c1b83a5" args="(snd_rawmidi_t *rmidi, void *buffer, size_t size)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ssize_t snd_rawmidi_read           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___raw_midi.html#g79ab77768f9ad62df167e1fec2be5afe">snd_rawmidi_t</a> *&nbsp;</td>
          <td class="paramname"> <em>rawmidi</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&nbsp;</td>
          <td class="paramname"> <em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>size</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
read MIDI bytes from MIDI stream 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rawmidi</em>&nbsp;</td><td>RawMidi handle </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>buffer</em>&nbsp;</td><td>buffer to store the input MIDI bytes </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>size</em>&nbsp;</td><td>input buffer size in bytes </td></tr>
  </table>
</dl>
<dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="_2test_2rawmidi_8c-example.html#a134">/test/rawmidi.c</a>.</dl>
</div>
</div><p>
<a class="anchor" name="g3300ad0eba01fdf078e0b9dceefd4464"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_status" ref="g3300ad0eba01fdf078e0b9dceefd4464" args="(snd_rawmidi_t *rmidi, snd_rawmidi_status_t *status)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_rawmidi_status           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___raw_midi.html#g79ab77768f9ad62df167e1fec2be5afe">snd_rawmidi_t</a> *&nbsp;</td>
          <td class="paramname"> <em>rawmidi</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___raw_midi.html#gd5b67a8d237ea604b03fc3d9068dfb62">snd_rawmidi_status_t</a> *&nbsp;</td>
          <td class="paramname"> <em>status</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
get status of rawmidi stream 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rawmidi</em>&nbsp;</td><td>RawMidi handle </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>status</em>&nbsp;</td><td>pointer to a snd_rawmidi_status_t structure to be filled </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>0 on success otherwise a negative error code </dd></dl>

</div>
</div><p>
<a class="anchor" name="g1190481d71e3327206adaf27257d25b2"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_status_copy" ref="g1190481d71e3327206adaf27257d25b2" args="(snd_rawmidi_status_t *dst, const snd_rawmidi_status_t *src)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void snd_rawmidi_status_copy           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___raw_midi.html#gd5b67a8d237ea604b03fc3d9068dfb62">snd_rawmidi_status_t</a> *&nbsp;</td>
          <td class="paramname"> <em>dst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="group___raw_midi.html#gd5b67a8d237ea604b03fc3d9068dfb62">snd_rawmidi_status_t</a> *&nbsp;</td>
          <td class="paramname"> <em>src</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
copy one snd_rawmidi_status_t structure to another 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>dst</em>&nbsp;</td><td>destination snd_rawmidi_status_t structure </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>src</em>&nbsp;</td><td>source snd_rawmidi_status_t structure </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="g00b7b636749c5a1199e2609d46abd8ac"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_status_free" ref="g00b7b636749c5a1199e2609d46abd8ac" args="(snd_rawmidi_status_t *obj)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void snd_rawmidi_status_free           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___raw_midi.html#gd5b67a8d237ea604b03fc3d9068dfb62">snd_rawmidi_status_t</a> *&nbsp;</td>
          <td class="paramname"> <em>status</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
frees the snd_rawmidi_status_t structure 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>status</em>&nbsp;</td><td>pointer to the snd_rawmidi_status_t structure to free</td></tr>
  </table>
</dl>
Frees the given snd_rawmidi_status_t structure using the standard free C library function. 
</div>
</div><p>
<a class="anchor" name="g06cdf1aad44576fb5a547579e9ba7d3d"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_status_get_avail" ref="g06cdf1aad44576fb5a547579e9ba7d3d" args="(const snd_rawmidi_status_t *obj)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t snd_rawmidi_status_get_avail           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group___raw_midi.html#gd5b67a8d237ea604b03fc3d9068dfb62">snd_rawmidi_status_t</a> *&nbsp;</td>
          <td class="paramname"> <em>status</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
get current available bytes in the rawmidi I/O ring buffer 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>status</em>&nbsp;</td><td>pointer to a snd_rawmidi_status_t structure </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>current available bytes in the rawmidi I/O ring buffer </dd></dl>

</div>
</div><p>
<a class="anchor" name="g6b180e1de8d56b2c254e71aed1bda94e"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_status_get_tstamp" ref="g6b180e1de8d56b2c254e71aed1bda94e" args="(const snd_rawmidi_status_t *obj, snd_htimestamp_t *ptr)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void snd_rawmidi_status_get_tstamp           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group___raw_midi.html#gd5b67a8d237ea604b03fc3d9068dfb62">snd_rawmidi_status_t</a> *&nbsp;</td>
          <td class="paramname"> <em>status</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___global.html#g9ec799950aa7da856cf805705197c390">snd_htimestamp_t</a> *&nbsp;</td>
          <td class="paramname"> <em>tstamp</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
get the start timestamp 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>status</em>&nbsp;</td><td>pointer to a snd_rawmidi_status_t structure </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>tstamp</em>&nbsp;</td><td>returned timestamp value </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="g8e13b55f1bfab6fdc3d948ca2d7dc8e5"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_status_get_xruns" ref="g8e13b55f1bfab6fdc3d948ca2d7dc8e5" args="(const snd_rawmidi_status_t *obj)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t snd_rawmidi_status_get_xruns           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group___raw_midi.html#gd5b67a8d237ea604b03fc3d9068dfb62">snd_rawmidi_status_t</a> *&nbsp;</td>
          <td class="paramname"> <em>status</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
get count of xruns 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>status</em>&nbsp;</td><td>pointer to a snd_rawmidi_status_t structure </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>count of xruns </dd></dl>

</div>
</div><p>
<a class="anchor" name="g17915bd2845da1acb34e775b855327f3"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_status_malloc" ref="g17915bd2845da1acb34e775b855327f3" args="(snd_rawmidi_status_t **ptr)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_rawmidi_status_malloc           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___raw_midi.html#gd5b67a8d237ea604b03fc3d9068dfb62">snd_rawmidi_status_t</a> **&nbsp;</td>
          <td class="paramname"> <em>ptr</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
allocate the snd_rawmidi_status_t structure 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>ptr</em>&nbsp;</td><td>returned pointer </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>0 on success otherwise a negative error code if fails</dd></dl>
Allocates a new snd_rawmidi_status_t structure using the standard malloc C library function. 
</div>
</div><p>
<a class="anchor" name="gdeec26f69dc45ea08888c9546dc20bf5"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_status_sizeof" ref="gdeec26f69dc45ea08888c9546dc20bf5" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t snd_rawmidi_status_sizeof           </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
get size of the snd_rawmidi_status_t structure in bytes 
<p>
<dl compact><dt><b>Returns:</b></dt><dd>size of the snd_rawmidi_status_t structure in bytes </dd></dl>

</div>
</div><p>
<a class="anchor" name="g025ec1d6eaba9d5afd147c66f2ee3de8"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_stream" ref="g025ec1d6eaba9d5afd147c66f2ee3de8" args="(snd_rawmidi_t *rawmidi)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group___raw_midi.html#gaaa9ac8e5468e56e94d2b5c85ed19192">snd_rawmidi_stream_t</a> snd_rawmidi_stream           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___raw_midi.html#g79ab77768f9ad62df167e1fec2be5afe">snd_rawmidi_t</a> *&nbsp;</td>
          <td class="paramname"> <em>rawmidi</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
get stream (direction) of RawMidi handle 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rawmidi</em>&nbsp;</td><td>a RawMidi handle </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>stream of RawMidi handle</dd></dl>
Returns the stream <a class="el" href="group___raw_midi.html#gaaa9ac8e5468e56e94d2b5c85ed19192">snd_rawmidi_stream_t</a> of given RawMidi handle. 
</div>
</div><p>
<a class="anchor" name="gb9ff5e6d4b8e2fb7447eb3b1be8334bb"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_type" ref="gb9ff5e6d4b8e2fb7447eb3b1be8334bb" args="(snd_rawmidi_t *rmidi)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group___raw_midi.html#g0ea24aa200a63a5a295eddb5e47957c5">snd_rawmidi_type_t</a> snd_rawmidi_type           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___raw_midi.html#g79ab77768f9ad62df167e1fec2be5afe">snd_rawmidi_t</a> *&nbsp;</td>
          <td class="paramname"> <em>rawmidi</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
get type of RawMidi handle 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rawmidi</em>&nbsp;</td><td>a RawMidi handle </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>type of RawMidi handle</dd></dl>
Returns the type <a class="el" href="group___raw_midi.html#g0ea24aa200a63a5a295eddb5e47957c5">snd_rawmidi_type_t</a> of given RawMidi handle. 
</div>
</div><p>
<a class="anchor" name="ge509ef02b192acf078ebc8577f0d644f"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_write" ref="ge509ef02b192acf078ebc8577f0d644f" args="(snd_rawmidi_t *rmidi, const void *buffer, size_t size)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ssize_t snd_rawmidi_write           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___raw_midi.html#g79ab77768f9ad62df167e1fec2be5afe">snd_rawmidi_t</a> *&nbsp;</td>
          <td class="paramname"> <em>rawmidi</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const void *&nbsp;</td>
          <td class="paramname"> <em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>size</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
write MIDI bytes to MIDI stream 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rawmidi</em>&nbsp;</td><td>RawMidi handle </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>buffer</em>&nbsp;</td><td>buffer containing MIDI bytes </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>size</em>&nbsp;</td><td>output buffer size in bytes </td></tr>
  </table>
</dl>
<dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="_2test_2rawmidi_8c-example.html#a135">/test/rawmidi.c</a>.</dl>
</div>
</div><p>
<hr size="1"><address style="align: right;"><small>Generated on Tue Jan 20 22:42:10 2009 for ALSA project - the C library reference by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
</body>
</html>