Sophie

Sophie

distrib > Mandriva > 2010.2 > i586 > by-pkgid > 34546d63baef3ab2a7675f37737b66ab > files > 98

libalsa2-docs-1.0.23-2.1mdv2010.1.i586.rpm

<!-- This comment will put IE 6, 7 and 8 in quirks mode -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>ALSA project - the C library reference: RawMidi Interface</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javaScript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body onload='searchBox.OnSelectItem(0);'>
<!-- Generated by Doxygen 1.6.3 -->
<script type="text/javascript"><!--
var searchBox = new SearchBox("searchBox", "search",false,'Search');
--></script>
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li><a href="examples.html"><span>Examples</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <img id="MSearchSelect" src="search/search.png"
             onmouseover="return searchBox.OnSearchSelectShow()"
             onmouseout="return searchBox.OnSearchSelectHide()"
             alt=""/>
        <input type="text" id="MSearchField" value="Search" accesskey="S"
             onfocus="searchBox.OnSearchFieldFocus(true)" 
             onblur="searchBox.OnSearchFieldFocus(false)" 
             onkeyup="searchBox.OnSearchFieldChange(event)"/>
        <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
        </div>
      </li>
    </ul>
  </div>
</div>
<div class="contents">
<h1>RawMidi Interface</h1><table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Defines</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#ga2b1694b5b3e98514d6b2bc5b824e9adc">SND_RAWMIDI_DLSYM_VERSION</a>&nbsp;&nbsp;&nbsp;_dlsym_rawmidi_001</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#ga7060640f32abcd337239bde2c8749d23">SND_RAWMIDI_APPEND</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#ga31ee35659c82272382ccc3014c8a73f8">SND_RAWMIDI_NONBLOCK</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#gab1a659b38e5174d790d5671739995894">SND_RAWMIDI_SYNC</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#gaaa4c7257d03c396293cffaef02818c35">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#gab0f0f325ab812941e9b81addf0b941d3">snd_rawmidi_info_t</a> using standard alloca  <a href="#gaaa4c7257d03c396293cffaef02818c35"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#ga0a7ab61af3880409ccd9adee0e756210">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#ga98ad06bccfabc646530241d3a0eef5a1">snd_rawmidi_params_t</a> using standard alloca  <a href="#ga0a7ab61af3880409ccd9adee0e756210"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#gaa83c6963d341b0c067764dd1ba2c3d76">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#ga10a44a41000ef7dfe61f712466237aff">snd_rawmidi_status_t</a> using standard alloca  <a href="#gaa83c6963d341b0c067764dd1ba2c3d76"></a><br/></td></tr>
<tr><td colspan="2"><h2>Typedefs</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef struct _snd_rawmidi_info&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#gab0f0f325ab812941e9b81addf0b941d3">snd_rawmidi_info_t</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef struct _snd_rawmidi_params&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#ga98ad06bccfabc646530241d3a0eef5a1">snd_rawmidi_params_t</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef struct _snd_rawmidi_status&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#ga10a44a41000ef7dfe61f712466237aff">snd_rawmidi_status_t</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef struct _snd_rawmidi&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#gaa21972df6ca3ebde0f7225b2472d0095">snd_rawmidi_t</a></td></tr>
<tr><td colspan="2"><h2>Enumerations</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#gac3d11365c928cdfd3176ffede3e6f8c5">snd_rawmidi_stream_t</a> { <a class="el" href="group___raw_midi.html#ggac3d11365c928cdfd3176ffede3e6f8c5a6a57199496cb5a0fa2c635c94fbd2d05">SND_RAWMIDI_STREAM_OUTPUT</a> =  0, 
<a class="el" href="group___raw_midi.html#ggac3d11365c928cdfd3176ffede3e6f8c5a3707a884c8eec9b11bc2c30127d1c4c9">SND_RAWMIDI_STREAM_INPUT</a>, 
<b>SND_RAWMIDI_STREAM_LAST</b> =  SND_RAWMIDI_STREAM_INPUT
 }</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#ga271ccd508f221ec7c99a27b150c657ba">snd_rawmidi_type_t</a> { <a class="el" href="group___raw_midi.html#gga271ccd508f221ec7c99a27b150c657baa77f1b4650305a5d52e686c9ee2768c9e">SND_RAWMIDI_TYPE_HW</a>, 
<a class="el" href="group___raw_midi.html#gga271ccd508f221ec7c99a27b150c657baa3f2311c1769989c17c5949ef01d4e233">SND_RAWMIDI_TYPE_SHM</a>, 
<a class="el" href="group___raw_midi.html#gga271ccd508f221ec7c99a27b150c657baab2e654ca9c1a7bc4253bc5a2d97211bc">SND_RAWMIDI_TYPE_INET</a>, 
<a class="el" href="group___raw_midi.html#gga271ccd508f221ec7c99a27b150c657baae1144b9e6ffe7729d853705687bb3324">SND_RAWMIDI_TYPE_VIRTUAL</a>
 }</td></tr>
<tr><td colspan="2"><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#ga2ab783051deeb7eb37eb568b76448889">snd_rawmidi_open</a> (<a class="el" href="group___raw_midi.html#gaa21972df6ca3ebde0f7225b2472d0095">snd_rawmidi_t</a> **in_rmidi, <a class="el" href="group___raw_midi.html#gaa21972df6ca3ebde0f7225b2472d0095">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="#ga2ab783051deeb7eb37eb568b76448889"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#gaa7e3daf5cf4dd36b2534d2f1d6309477">snd_rawmidi_open_lconf</a> (<a class="el" href="group___raw_midi.html#gaa21972df6ca3ebde0f7225b2472d0095">snd_rawmidi_t</a> **in_rmidi, <a class="el" href="group___raw_midi.html#gaa21972df6ca3ebde0f7225b2472d0095">snd_rawmidi_t</a> **out_rmidi, const char *name, int mode, <a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">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="#gaa7e3daf5cf4dd36b2534d2f1d6309477"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#gabc6bd5922151fb50196f62b9a4ab9f56">snd_rawmidi_close</a> (<a class="el" href="group___raw_midi.html#gaa21972df6ca3ebde0f7225b2472d0095">snd_rawmidi_t</a> *rmidi)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">close RawMidi handle  <a href="#gabc6bd5922151fb50196f62b9a4ab9f56"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#ga39ac11df7e520e753b26ab4eceabe6de">snd_rawmidi_poll_descriptors_count</a> (<a class="el" href="group___raw_midi.html#gaa21972df6ca3ebde0f7225b2472d0095">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="#ga39ac11df7e520e753b26ab4eceabe6de"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#ga22fcc3fc5c62c9db88d79a0b91e3a75f">snd_rawmidi_poll_descriptors</a> (<a class="el" href="group___raw_midi.html#gaa21972df6ca3ebde0f7225b2472d0095">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="#ga22fcc3fc5c62c9db88d79a0b91e3a75f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#ga38f15766f77c0bb50fec6cdcd87254b0">snd_rawmidi_poll_descriptors_revents</a> (<a class="el" href="group___raw_midi.html#gaa21972df6ca3ebde0f7225b2472d0095">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="#ga38f15766f77c0bb50fec6cdcd87254b0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#gafe714a54fdb6083eb003bcc21da89553">snd_rawmidi_nonblock</a> (<a class="el" href="group___raw_midi.html#gaa21972df6ca3ebde0f7225b2472d0095">snd_rawmidi_t</a> *rmidi, int nonblock)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">set nonblock mode  <a href="#gafe714a54fdb6083eb003bcc21da89553"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#ga383592eddf099559822357678fbe7d8c">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="#ga383592eddf099559822357678fbe7d8c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#ga11f8d3832ec7ea7fd6e8445338704528">snd_rawmidi_info_malloc</a> (<a class="el" href="group___raw_midi.html#gab0f0f325ab812941e9b81addf0b941d3">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="#ga11f8d3832ec7ea7fd6e8445338704528"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#gaa84495bee993f34fb9bac33b5a9cf65f">snd_rawmidi_info_free</a> (<a class="el" href="group___raw_midi.html#gab0f0f325ab812941e9b81addf0b941d3">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="#gaa84495bee993f34fb9bac33b5a9cf65f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#gabfb769e2aaf0a6b8274b5e0c3e9141d8">snd_rawmidi_info_copy</a> (<a class="el" href="group___raw_midi.html#gab0f0f325ab812941e9b81addf0b941d3">snd_rawmidi_info_t</a> *dst, const <a class="el" href="group___raw_midi.html#gab0f0f325ab812941e9b81addf0b941d3">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="#gabfb769e2aaf0a6b8274b5e0c3e9141d8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#gacfb2e65475c314f5f1dde0c5d7a05a7b">snd_rawmidi_info_get_device</a> (const <a class="el" href="group___raw_midi.html#gab0f0f325ab812941e9b81addf0b941d3">snd_rawmidi_info_t</a> *obj)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get rawmidi device number  <a href="#gacfb2e65475c314f5f1dde0c5d7a05a7b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#ga3fea97d5bff26c54831e95b2200f857c">snd_rawmidi_info_get_subdevice</a> (const <a class="el" href="group___raw_midi.html#gab0f0f325ab812941e9b81addf0b941d3">snd_rawmidi_info_t</a> *obj)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get rawmidi subdevice number  <a href="#ga3fea97d5bff26c54831e95b2200f857c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___raw_midi.html#gac3d11365c928cdfd3176ffede3e6f8c5">snd_rawmidi_stream_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#ga760552af30a089ddacc3af79985e24f6">snd_rawmidi_info_get_stream</a> (const <a class="el" href="group___raw_midi.html#gab0f0f325ab812941e9b81addf0b941d3">snd_rawmidi_info_t</a> *obj)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get rawmidi stream identification  <a href="#ga760552af30a089ddacc3af79985e24f6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#ga463916bd78a0ab5a96a053edca05a8d3">snd_rawmidi_info_get_card</a> (const <a class="el" href="group___raw_midi.html#gab0f0f325ab812941e9b81addf0b941d3">snd_rawmidi_info_t</a> *obj)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get rawmidi card number  <a href="#ga463916bd78a0ab5a96a053edca05a8d3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#gaf9ede5bbc9abc9124910c2612363de30">snd_rawmidi_info_get_flags</a> (const <a class="el" href="group___raw_midi.html#gab0f0f325ab812941e9b81addf0b941d3">snd_rawmidi_info_t</a> *obj)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get rawmidi flags  <a href="#gaf9ede5bbc9abc9124910c2612363de30"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#gac7ac90e99759ee7b2dddd3613219c798">snd_rawmidi_info_get_id</a> (const <a class="el" href="group___raw_midi.html#gab0f0f325ab812941e9b81addf0b941d3">snd_rawmidi_info_t</a> *obj)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get rawmidi hardware driver identifier  <a href="#gac7ac90e99759ee7b2dddd3613219c798"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#gafd809c976c1dab23957e338b5af2a353">snd_rawmidi_info_get_name</a> (const <a class="el" href="group___raw_midi.html#gab0f0f325ab812941e9b81addf0b941d3">snd_rawmidi_info_t</a> *obj)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get rawmidi hardware driver name  <a href="#gafd809c976c1dab23957e338b5af2a353"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#ga428398f23118575aa4f62eed860132cf">snd_rawmidi_info_get_subdevice_name</a> (const <a class="el" href="group___raw_midi.html#gab0f0f325ab812941e9b81addf0b941d3">snd_rawmidi_info_t</a> *obj)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get rawmidi subdevice name  <a href="#ga428398f23118575aa4f62eed860132cf"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#gac0b33eb2f54cd6fc9b34002fe28ca9fe">snd_rawmidi_info_get_subdevices_count</a> (const <a class="el" href="group___raw_midi.html#gab0f0f325ab812941e9b81addf0b941d3">snd_rawmidi_info_t</a> *obj)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get rawmidi count of subdevices  <a href="#gac0b33eb2f54cd6fc9b34002fe28ca9fe"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#ga71717ea1f35bf2a59548d3d106278336">snd_rawmidi_info_get_subdevices_avail</a> (const <a class="el" href="group___raw_midi.html#gab0f0f325ab812941e9b81addf0b941d3">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="#ga71717ea1f35bf2a59548d3d106278336"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#ga98fcdcb94c12baf65dd0ec8f9d52ef59">snd_rawmidi_info_set_device</a> (<a class="el" href="group___raw_midi.html#gab0f0f325ab812941e9b81addf0b941d3">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="#ga98fcdcb94c12baf65dd0ec8f9d52ef59"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#ga49eff1cd1b62e0399826740863cdcce3">snd_rawmidi_info_set_subdevice</a> (<a class="el" href="group___raw_midi.html#gab0f0f325ab812941e9b81addf0b941d3">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="#ga49eff1cd1b62e0399826740863cdcce3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#gad704ac98c8313235c73c23d374bf6831">snd_rawmidi_info_set_stream</a> (<a class="el" href="group___raw_midi.html#gab0f0f325ab812941e9b81addf0b941d3">snd_rawmidi_info_t</a> *obj, <a class="el" href="group___raw_midi.html#gac3d11365c928cdfd3176ffede3e6f8c5">snd_rawmidi_stream_t</a> val)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">set rawmidi stream identifier  <a href="#gad704ac98c8313235c73c23d374bf6831"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#ga3c3595d2907ee30754f6a1d5ceb2d97f">snd_rawmidi_info</a> (<a class="el" href="group___raw_midi.html#gaa21972df6ca3ebde0f7225b2472d0095">snd_rawmidi_t</a> *rmidi, <a class="el" href="group___raw_midi.html#gab0f0f325ab812941e9b81addf0b941d3">snd_rawmidi_info_t</a> *info)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get information about RawMidi handle  <a href="#ga3c3595d2907ee30754f6a1d5ceb2d97f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#gaeb5767a318d349a4d2a100191c3cf8d8">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="#gaeb5767a318d349a4d2a100191c3cf8d8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#gaedc01312384764d02b6bc946cb1e79a9">snd_rawmidi_params_malloc</a> (<a class="el" href="group___raw_midi.html#ga98ad06bccfabc646530241d3a0eef5a1">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="#gaedc01312384764d02b6bc946cb1e79a9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#gad8c735ed6a8533655dabd7318f25a6fc">snd_rawmidi_params_free</a> (<a class="el" href="group___raw_midi.html#ga98ad06bccfabc646530241d3a0eef5a1">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="#gad8c735ed6a8533655dabd7318f25a6fc"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#ga533710a31f6b6b4f6791baa27e69089f">snd_rawmidi_params_copy</a> (<a class="el" href="group___raw_midi.html#ga98ad06bccfabc646530241d3a0eef5a1">snd_rawmidi_params_t</a> *dst, const <a class="el" href="group___raw_midi.html#ga98ad06bccfabc646530241d3a0eef5a1">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="#ga533710a31f6b6b4f6791baa27e69089f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#ga612c96757e2f81fda5b6cd6dec826de1">snd_rawmidi_params_set_buffer_size</a> (<a class="el" href="group___raw_midi.html#gaa21972df6ca3ebde0f7225b2472d0095">snd_rawmidi_t</a> *rmidi, <a class="el" href="group___raw_midi.html#ga98ad06bccfabc646530241d3a0eef5a1">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="#ga612c96757e2f81fda5b6cd6dec826de1"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#ga0bd9629686062562b88bfd2a3eadc1bd">snd_rawmidi_params_get_buffer_size</a> (const <a class="el" href="group___raw_midi.html#ga98ad06bccfabc646530241d3a0eef5a1">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="#ga0bd9629686062562b88bfd2a3eadc1bd"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#ga89782681ce86b3d5cbebb5136d25439f">snd_rawmidi_params_set_avail_min</a> (<a class="el" href="group___raw_midi.html#gaa21972df6ca3ebde0f7225b2472d0095">snd_rawmidi_t</a> *rmidi, <a class="el" href="group___raw_midi.html#ga98ad06bccfabc646530241d3a0eef5a1">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="#ga89782681ce86b3d5cbebb5136d25439f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#gae629f2ef814eda39dc081dff65bf7d20">snd_rawmidi_params_get_avail_min</a> (const <a class="el" href="group___raw_midi.html#ga98ad06bccfabc646530241d3a0eef5a1">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="#gae629f2ef814eda39dc081dff65bf7d20"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#gab717719be70fe4396dc84f3f895d6e12">snd_rawmidi_params_set_no_active_sensing</a> (<a class="el" href="group___raw_midi.html#gaa21972df6ca3ebde0f7225b2472d0095">snd_rawmidi_t</a> *rmidi, <a class="el" href="group___raw_midi.html#ga98ad06bccfabc646530241d3a0eef5a1">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#gabc6bd5922151fb50196f62b9a4ab9f56" title="close RawMidi handle">snd_rawmidi_close()</a>  <a href="#gab717719be70fe4396dc84f3f895d6e12"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#ga6a057d467faa2b65ddace364fde985fd">snd_rawmidi_params_get_no_active_sensing</a> (const <a class="el" href="group___raw_midi.html#ga98ad06bccfabc646530241d3a0eef5a1">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="#ga6a057d467faa2b65ddace364fde985fd"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#ga458d8ad22277645d9b65fa47c011465c">snd_rawmidi_params</a> (<a class="el" href="group___raw_midi.html#gaa21972df6ca3ebde0f7225b2472d0095">snd_rawmidi_t</a> *rmidi, <a class="el" href="group___raw_midi.html#ga98ad06bccfabc646530241d3a0eef5a1">snd_rawmidi_params_t</a> *params)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">set parameters about rawmidi stream  <a href="#ga458d8ad22277645d9b65fa47c011465c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#ga86eabf81acd7c43fc100c67fbda5085d">snd_rawmidi_params_current</a> (<a class="el" href="group___raw_midi.html#gaa21972df6ca3ebde0f7225b2472d0095">snd_rawmidi_t</a> *rmidi, <a class="el" href="group___raw_midi.html#ga98ad06bccfabc646530241d3a0eef5a1">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="#ga86eabf81acd7c43fc100c67fbda5085d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#ga7933bdb7eea04815be0bba98261865e4">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="#ga7933bdb7eea04815be0bba98261865e4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#gac1035208bbdf81852dbcf2e14ce4a8dc">snd_rawmidi_status_malloc</a> (<a class="el" href="group___raw_midi.html#ga10a44a41000ef7dfe61f712466237aff">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="#gac1035208bbdf81852dbcf2e14ce4a8dc"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#gac9852f68911bbb8aef21d2e20c3ff2c0">snd_rawmidi_status_free</a> (<a class="el" href="group___raw_midi.html#ga10a44a41000ef7dfe61f712466237aff">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="#gac9852f68911bbb8aef21d2e20c3ff2c0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#gab62e8a4ca0033166f906a969048d935c">snd_rawmidi_status_copy</a> (<a class="el" href="group___raw_midi.html#ga10a44a41000ef7dfe61f712466237aff">snd_rawmidi_status_t</a> *dst, const <a class="el" href="group___raw_midi.html#ga10a44a41000ef7dfe61f712466237aff">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="#gab62e8a4ca0033166f906a969048d935c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#gaeb867dbf1d4d5fb3bdcad36a86565837">snd_rawmidi_status_get_tstamp</a> (const <a class="el" href="group___raw_midi.html#ga10a44a41000ef7dfe61f712466237aff">snd_rawmidi_status_t</a> *obj, <a class="el" href="group___global.html#ga3a3f5b65c40f498cdbc26944bd9855cf">snd_htimestamp_t</a> *ptr)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get the start timestamp  <a href="#gaeb867dbf1d4d5fb3bdcad36a86565837"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#ga7ff63a2376b2df549698296d37b532ed">snd_rawmidi_status_get_avail</a> (const <a class="el" href="group___raw_midi.html#ga10a44a41000ef7dfe61f712466237aff">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="#ga7ff63a2376b2df549698296d37b532ed"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#gae4f69ac10574cfc2cd5c848628e75f9b">snd_rawmidi_status_get_xruns</a> (const <a class="el" href="group___raw_midi.html#ga10a44a41000ef7dfe61f712466237aff">snd_rawmidi_status_t</a> *obj)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get count of xruns  <a href="#gae4f69ac10574cfc2cd5c848628e75f9b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#gab888bce923769882931f77603327231d">snd_rawmidi_status</a> (<a class="el" href="group___raw_midi.html#gaa21972df6ca3ebde0f7225b2472d0095">snd_rawmidi_t</a> *rmidi, <a class="el" href="group___raw_midi.html#ga10a44a41000ef7dfe61f712466237aff">snd_rawmidi_status_t</a> *status)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get status of rawmidi stream  <a href="#gab888bce923769882931f77603327231d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#gabfff7417ec957b7ee07882f91d73d7be">snd_rawmidi_drain</a> (<a class="el" href="group___raw_midi.html#gaa21972df6ca3ebde0f7225b2472d0095">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="#gabfff7417ec957b7ee07882f91d73d7be"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#ga01076c87d169cf77334d35bd094abd0a">snd_rawmidi_drop</a> (<a class="el" href="group___raw_midi.html#gaa21972df6ca3ebde0f7225b2472d0095">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="#ga01076c87d169cf77334d35bd094abd0a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">ssize_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#ga0a30e482efec57f4ea74c533a0f9b134">snd_rawmidi_write</a> (<a class="el" href="group___raw_midi.html#gaa21972df6ca3ebde0f7225b2472d0095">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="#ga0a30e482efec57f4ea74c533a0f9b134"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">ssize_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#ga9b0952fc04facda83cdf1521325ca475">snd_rawmidi_read</a> (<a class="el" href="group___raw_midi.html#gaa21972df6ca3ebde0f7225b2472d0095">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="#ga9b0952fc04facda83cdf1521325ca475"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#gaa4bf6540f3f36c5878d31abd34a341d3">snd_rawmidi_name</a> (<a class="el" href="group___raw_midi.html#gaa21972df6ca3ebde0f7225b2472d0095">snd_rawmidi_t</a> *rmidi)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get identifier of RawMidi handle  <a href="#gaa4bf6540f3f36c5878d31abd34a341d3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___raw_midi.html#ga271ccd508f221ec7c99a27b150c657ba">snd_rawmidi_type_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#ga5984e0c61995c8184a0e6e0a68a6faaf">snd_rawmidi_type</a> (<a class="el" href="group___raw_midi.html#gaa21972df6ca3ebde0f7225b2472d0095">snd_rawmidi_t</a> *rmidi)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get type of RawMidi handle  <a href="#ga5984e0c61995c8184a0e6e0a68a6faaf"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___raw_midi.html#gac3d11365c928cdfd3176ffede3e6f8c5">snd_rawmidi_stream_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___raw_midi.html#ga295d2f3ce9e992919f205b929fcb83ee">snd_rawmidi_stream</a> (<a class="el" href="group___raw_midi.html#gaa21972df6ca3ebde0f7225b2472d0095">snd_rawmidi_t</a> *rawmidi)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get stream (direction) of RawMidi handle  <a href="#ga295d2f3ce9e992919f205b929fcb83ee"></a><br/></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>The RawMidi Interface. See <a class="el" href="rawmidi.html">RawMidi interface</a> page for more details. </p>
<hr/><h2>Define Documentation</h2>
<a class="anchor" id="ga7060640f32abcd337239bde2c8749d23"></a><!-- doxytag: member="rawmidi.h::SND_RAWMIDI_APPEND" ref="ga7060640f32abcd337239bde2c8749d23" 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) </p>

</div>
</div>
<a class="anchor" id="ga2b1694b5b3e98514d6b2bc5b824e9adc"></a><!-- doxytag: member="rawmidi.h::SND_RAWMIDI_DLSYM_VERSION" ref="ga2b1694b5b3e98514d6b2bc5b824e9adc" 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 </p>

</div>
</div>
<a class="anchor" id="gaaa4c7257d03c396293cffaef02818c35"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_info_alloca" ref="gaaa4c7257d03c396293cffaef02818c35" 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></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>allocate an invalid <a class="el" href="group___raw_midi.html#gab0f0f325ab812941e9b81addf0b941d3">snd_rawmidi_info_t</a> using standard alloca </p>
<dl><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>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga31ee35659c82272382ccc3014c8a73f8"></a><!-- doxytag: member="rawmidi.h::SND_RAWMIDI_NONBLOCK" ref="ga31ee35659c82272382ccc3014c8a73f8" 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) </p>

</div>
</div>
<a class="anchor" id="ga0a7ab61af3880409ccd9adee0e756210"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_params_alloca" ref="ga0a7ab61af3880409ccd9adee0e756210" 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></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>allocate an invalid <a class="el" href="group___raw_midi.html#ga98ad06bccfabc646530241d3a0eef5a1">snd_rawmidi_params_t</a> using standard alloca </p>
<dl><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>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gaa83c6963d341b0c067764dd1ba2c3d76"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_status_alloca" ref="gaa83c6963d341b0c067764dd1ba2c3d76" 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></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>allocate an invalid <a class="el" href="group___raw_midi.html#ga10a44a41000ef7dfe61f712466237aff">snd_rawmidi_status_t</a> using standard alloca </p>
<dl><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>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gab1a659b38e5174d790d5671739995894"></a><!-- doxytag: member="rawmidi.h::SND_RAWMIDI_SYNC" ref="gab1a659b38e5174d790d5671739995894" 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) </p>

</div>
</div>
<hr/><h2>Typedef Documentation</h2>
<a class="anchor" id="gab0f0f325ab812941e9b81addf0b941d3"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_info_t" ref="gab0f0f325ab812941e9b81addf0b941d3" 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#gab0f0f325ab812941e9b81addf0b941d3">snd_rawmidi_info_t</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>RawMidi information container </p>

</div>
</div>
<a class="anchor" id="ga98ad06bccfabc646530241d3a0eef5a1"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_params_t" ref="ga98ad06bccfabc646530241d3a0eef5a1" 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#ga98ad06bccfabc646530241d3a0eef5a1">snd_rawmidi_params_t</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>RawMidi settings container </p>

</div>
</div>
<a class="anchor" id="ga10a44a41000ef7dfe61f712466237aff"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_status_t" ref="ga10a44a41000ef7dfe61f712466237aff" 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#ga10a44a41000ef7dfe61f712466237aff">snd_rawmidi_status_t</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>RawMidi status container </p>

</div>
</div>
<a class="anchor" id="gaa21972df6ca3ebde0f7225b2472d0095"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_t" ref="gaa21972df6ca3ebde0f7225b2472d0095" 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#gaa21972df6ca3ebde0f7225b2472d0095">snd_rawmidi_t</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>RawMidi handle </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="_2test_2rawmidi_8c-example.html#a0">/test/rawmidi.c</a>.</dd>
</dl>
</div>
</div>
<hr/><h2>Enumeration Type Documentation</h2>
<a class="anchor" id="gac3d11365c928cdfd3176ffede3e6f8c5"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_stream_t" ref="gac3d11365c928cdfd3176ffede3e6f8c5" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group___raw_midi.html#gac3d11365c928cdfd3176ffede3e6f8c5">snd_rawmidi_stream_t</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>RawMidi stream (direction) </p>
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="ggac3d11365c928cdfd3176ffede3e6f8c5a6a57199496cb5a0fa2c635c94fbd2d05"></a><!-- doxytag: member="SND_RAWMIDI_STREAM_OUTPUT" ref="ggac3d11365c928cdfd3176ffede3e6f8c5a6a57199496cb5a0fa2c635c94fbd2d05" args="" -->SND_RAWMIDI_STREAM_OUTPUT</em>&nbsp;</td><td>
<p>Output stream </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ggac3d11365c928cdfd3176ffede3e6f8c5a3707a884c8eec9b11bc2c30127d1c4c9"></a><!-- doxytag: member="SND_RAWMIDI_STREAM_INPUT" ref="ggac3d11365c928cdfd3176ffede3e6f8c5a3707a884c8eec9b11bc2c30127d1c4c9" args="" -->SND_RAWMIDI_STREAM_INPUT</em>&nbsp;</td><td>
<p>Input stream </p>
</td></tr>
</table>
</dd>
</dl>

</div>
</div>
<a class="anchor" id="ga271ccd508f221ec7c99a27b150c657ba"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_type_t" ref="ga271ccd508f221ec7c99a27b150c657ba" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group___raw_midi.html#ga271ccd508f221ec7c99a27b150c657ba">snd_rawmidi_type_t</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>RawMidi type </p>
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="gga271ccd508f221ec7c99a27b150c657baa77f1b4650305a5d52e686c9ee2768c9e"></a><!-- doxytag: member="SND_RAWMIDI_TYPE_HW" ref="gga271ccd508f221ec7c99a27b150c657baa77f1b4650305a5d52e686c9ee2768c9e" args="" -->SND_RAWMIDI_TYPE_HW</em>&nbsp;</td><td>
<p>Kernel level RawMidi </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="gga271ccd508f221ec7c99a27b150c657baa3f2311c1769989c17c5949ef01d4e233"></a><!-- doxytag: member="SND_RAWMIDI_TYPE_SHM" ref="gga271ccd508f221ec7c99a27b150c657baa3f2311c1769989c17c5949ef01d4e233" args="" -->SND_RAWMIDI_TYPE_SHM</em>&nbsp;</td><td>
<p>Shared memory client RawMidi (not yet implemented) </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="gga271ccd508f221ec7c99a27b150c657baab2e654ca9c1a7bc4253bc5a2d97211bc"></a><!-- doxytag: member="SND_RAWMIDI_TYPE_INET" ref="gga271ccd508f221ec7c99a27b150c657baab2e654ca9c1a7bc4253bc5a2d97211bc" args="" -->SND_RAWMIDI_TYPE_INET</em>&nbsp;</td><td>
<p>INET client RawMidi (not yet implemented) </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="gga271ccd508f221ec7c99a27b150c657baae1144b9e6ffe7729d853705687bb3324"></a><!-- doxytag: member="SND_RAWMIDI_TYPE_VIRTUAL" ref="gga271ccd508f221ec7c99a27b150c657baae1144b9e6ffe7729d853705687bb3324" args="" -->SND_RAWMIDI_TYPE_VIRTUAL</em>&nbsp;</td><td>
<p>Virtual (sequencer) RawMidi </p>
</td></tr>
</table>
</dd>
</dl>

</div>
</div>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="gabc6bd5922151fb50196f62b9a4ab9f56"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_close" ref="gabc6bd5922151fb50196f62b9a4ab9f56" 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#gaa21972df6ca3ebde0f7225b2472d0095">snd_rawmidi_t</a> *&nbsp;</td>
          <td class="paramname"> <em>rawmidi</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>close RawMidi handle </p>
<dl><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>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 on success otherwise a negative error code</dd></dl>
<p>Closes the specified RawMidi handle and frees all associated resources. </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="_2test_2rawmidi_8c-example.html#a5">/test/rawmidi.c</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="gabfff7417ec957b7ee07882f91d73d7be"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_drain" ref="gabfff7417ec957b7ee07882f91d73d7be" 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#gaa21972df6ca3ebde0f7225b2472d0095">snd_rawmidi_t</a> *&nbsp;</td>
          <td class="paramname"> <em>rawmidi</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>drain all bytes in the rawmidi I/O ring buffer </p>
<dl><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>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 on success otherwise a negative error code</dd></dl>
<p>Waits until all MIDI bytes are not drained (sent) to the hardware device. </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="_2test_2rawmidi_8c-example.html#a4">/test/rawmidi.c</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga01076c87d169cf77334d35bd094abd0a"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_drop" ref="ga01076c87d169cf77334d35bd094abd0a" 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#gaa21972df6ca3ebde0f7225b2472d0095">snd_rawmidi_t</a> *&nbsp;</td>
          <td class="paramname"> <em>rawmidi</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>drop all bytes in the rawmidi I/O ring buffer immediately </p>
<dl><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>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 on success otherwise a negative error code </dd></dl>

</div>
</div>
<a class="anchor" id="ga3c3595d2907ee30754f6a1d5ceb2d97f"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_info" ref="ga3c3595d2907ee30754f6a1d5ceb2d97f" 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#gaa21972df6ca3ebde0f7225b2472d0095">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#gab0f0f325ab812941e9b81addf0b941d3">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></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>get information about RawMidi handle </p>
<dl><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>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 on success otherwise a negative error code </dd></dl>

</div>
</div>
<a class="anchor" id="gabfb769e2aaf0a6b8274b5e0c3e9141d8"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_info_copy" ref="gabfb769e2aaf0a6b8274b5e0c3e9141d8" 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#gab0f0f325ab812941e9b81addf0b941d3">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#gab0f0f325ab812941e9b81addf0b941d3">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></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>copy one snd_rawmidi_info_t structure to another </p>
<dl><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>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gaa84495bee993f34fb9bac33b5a9cf65f"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_info_free" ref="gaa84495bee993f34fb9bac33b5a9cf65f" 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#gab0f0f325ab812941e9b81addf0b941d3">snd_rawmidi_info_t</a> *&nbsp;</td>
          <td class="paramname"> <em>info</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>frees the snd_rawmidi_info_t structure </p>
<dl><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>
  </dd>
</dl>
<p>Frees the given snd_rawmidi_params_t structure using the standard free C library function. </p>

</div>
</div>
<a class="anchor" id="ga463916bd78a0ab5a96a053edca05a8d3"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_info_get_card" ref="ga463916bd78a0ab5a96a053edca05a8d3" 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#gab0f0f325ab812941e9b81addf0b941d3">snd_rawmidi_info_t</a> *&nbsp;</td>
          <td class="paramname"> <em>info</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>get rawmidi card number </p>
<dl><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>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>rawmidi card number </dd></dl>

</div>
</div>
<a class="anchor" id="gacfb2e65475c314f5f1dde0c5d7a05a7b"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_info_get_device" ref="gacfb2e65475c314f5f1dde0c5d7a05a7b" 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#gab0f0f325ab812941e9b81addf0b941d3">snd_rawmidi_info_t</a> *&nbsp;</td>
          <td class="paramname"> <em>info</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>get rawmidi device number </p>
<dl><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>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>rawmidi device number </dd></dl>

</div>
</div>
<a class="anchor" id="gaf9ede5bbc9abc9124910c2612363de30"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_info_get_flags" ref="gaf9ede5bbc9abc9124910c2612363de30" 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#gab0f0f325ab812941e9b81addf0b941d3">snd_rawmidi_info_t</a> *&nbsp;</td>
          <td class="paramname"> <em>info</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>get rawmidi flags </p>
<dl><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>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>rawmidi flags </dd></dl>

</div>
</div>
<a class="anchor" id="gac7ac90e99759ee7b2dddd3613219c798"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_info_get_id" ref="gac7ac90e99759ee7b2dddd3613219c798" 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#gab0f0f325ab812941e9b81addf0b941d3">snd_rawmidi_info_t</a> *&nbsp;</td>
          <td class="paramname"> <em>info</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>get rawmidi hardware driver identifier </p>
<dl><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>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>rawmidi hardware driver identifier </dd></dl>

</div>
</div>
<a class="anchor" id="gafd809c976c1dab23957e338b5af2a353"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_info_get_name" ref="gafd809c976c1dab23957e338b5af2a353" 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#gab0f0f325ab812941e9b81addf0b941d3">snd_rawmidi_info_t</a> *&nbsp;</td>
          <td class="paramname"> <em>info</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>get rawmidi hardware driver name </p>
<dl><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>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>rawmidi hardware driver name </dd></dl>

</div>
</div>
<a class="anchor" id="ga760552af30a089ddacc3af79985e24f6"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_info_get_stream" ref="ga760552af30a089ddacc3af79985e24f6" 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#gac3d11365c928cdfd3176ffede3e6f8c5">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#gab0f0f325ab812941e9b81addf0b941d3">snd_rawmidi_info_t</a> *&nbsp;</td>
          <td class="paramname"> <em>info</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>get rawmidi stream identification </p>
<dl><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>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>rawmidi stream identification </dd></dl>

</div>
</div>
<a class="anchor" id="ga3fea97d5bff26c54831e95b2200f857c"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_info_get_subdevice" ref="ga3fea97d5bff26c54831e95b2200f857c" 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#gab0f0f325ab812941e9b81addf0b941d3">snd_rawmidi_info_t</a> *&nbsp;</td>
          <td class="paramname"> <em>info</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>get rawmidi subdevice number </p>
<dl><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>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>rawmidi subdevice number </dd></dl>

</div>
</div>
<a class="anchor" id="ga428398f23118575aa4f62eed860132cf"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_info_get_subdevice_name" ref="ga428398f23118575aa4f62eed860132cf" 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#gab0f0f325ab812941e9b81addf0b941d3">snd_rawmidi_info_t</a> *&nbsp;</td>
          <td class="paramname"> <em>info</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>get rawmidi subdevice name </p>
<dl><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>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>rawmidi subdevice name </dd></dl>

</div>
</div>
<a class="anchor" id="ga71717ea1f35bf2a59548d3d106278336"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_info_get_subdevices_avail" ref="ga71717ea1f35bf2a59548d3d106278336" 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#gab0f0f325ab812941e9b81addf0b941d3">snd_rawmidi_info_t</a> *&nbsp;</td>
          <td class="paramname"> <em>info</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>get rawmidi available count of subdevices </p>
<dl><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>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>rawmidi available count of subdevices </dd></dl>

</div>
</div>
<a class="anchor" id="gac0b33eb2f54cd6fc9b34002fe28ca9fe"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_info_get_subdevices_count" ref="gac0b33eb2f54cd6fc9b34002fe28ca9fe" 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#gab0f0f325ab812941e9b81addf0b941d3">snd_rawmidi_info_t</a> *&nbsp;</td>
          <td class="paramname"> <em>info</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>get rawmidi count of subdevices </p>
<dl><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>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>rawmidi count of subdevices </dd></dl>

</div>
</div>
<a class="anchor" id="ga11f8d3832ec7ea7fd6e8445338704528"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_info_malloc" ref="ga11f8d3832ec7ea7fd6e8445338704528" 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#gab0f0f325ab812941e9b81addf0b941d3">snd_rawmidi_info_t</a> **&nbsp;</td>
          <td class="paramname"> <em>info</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>allocate a new snd_rawmidi_info_t structure </p>
<dl><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>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 on success otherwise a negative error code if fails</dd></dl>
<p>Allocates a new snd_rawmidi_params_t structure using the standard malloc C library function. </p>

</div>
</div>
<a class="anchor" id="ga98fcdcb94c12baf65dd0ec8f9d52ef59"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_info_set_device" ref="ga98fcdcb94c12baf65dd0ec8f9d52ef59" 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#gab0f0f325ab812941e9b81addf0b941d3">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></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>set rawmidi device number </p>
<dl><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>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gad704ac98c8313235c73c23d374bf6831"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_info_set_stream" ref="gad704ac98c8313235c73c23d374bf6831" 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#gab0f0f325ab812941e9b81addf0b941d3">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#gac3d11365c928cdfd3176ffede3e6f8c5">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></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>set rawmidi stream identifier </p>
<dl><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>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga49eff1cd1b62e0399826740863cdcce3"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_info_set_subdevice" ref="ga49eff1cd1b62e0399826740863cdcce3" 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#gab0f0f325ab812941e9b81addf0b941d3">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></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>set rawmidi subdevice number </p>
<dl><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>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga383592eddf099559822357678fbe7d8c"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_info_sizeof" ref="ga383592eddf099559822357678fbe7d8c" 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></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>get size of the snd_rawmidi_info_t structure in bytes </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>size of the snd_rawmidi_info_t structure in bytes </dd></dl>

</div>
</div>
<a class="anchor" id="gaa4bf6540f3f36c5878d31abd34a341d3"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_name" ref="gaa4bf6540f3f36c5878d31abd34a341d3" 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#gaa21972df6ca3ebde0f7225b2472d0095">snd_rawmidi_t</a> *&nbsp;</td>
          <td class="paramname"> <em>rawmidi</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>get identifier of RawMidi handle </p>
<dl><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>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>ascii identifier of RawMidi handle</dd></dl>
<p>Returns the ASCII identifier of given RawMidi handle. It's the same identifier specified in <a class="el" href="group___raw_midi.html#ga2ab783051deeb7eb37eb568b76448889" title="Opens a new connection to the RawMidi interface.">snd_rawmidi_open()</a>. </p>

</div>
</div>
<a class="anchor" id="gafe714a54fdb6083eb003bcc21da89553"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_nonblock" ref="gafe714a54fdb6083eb003bcc21da89553" 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#gaa21972df6ca3ebde0f7225b2472d0095">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></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>set nonblock mode </p>
<dl><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>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 on success otherwise a negative error code</dd></dl>
<p>The nonblock mode cannot be used when the stream is in <a class="el" href="group___raw_midi.html#ga7060640f32abcd337239bde2c8749d23">SND_RAWMIDI_APPEND</a> state. </p>

</div>
</div>
<a class="anchor" id="ga2ab783051deeb7eb37eb568b76448889"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_open" ref="ga2ab783051deeb7eb37eb568b76448889" 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#gaa21972df6ca3ebde0f7225b2472d0095">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#gaa21972df6ca3ebde0f7225b2472d0095">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></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Opens a new connection to the RawMidi interface. </p>
<dl><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>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 on success otherwise a negative error code</dd></dl>
<p>Opens a new connection to the RawMidi interface specified with an ASCII identifier and mode. </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="_2test_2rawmidi_8c-example.html#a1">/test/rawmidi.c</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="gaa7e3daf5cf4dd36b2534d2f1d6309477"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_open_lconf" ref="gaa7e3daf5cf4dd36b2534d2f1d6309477" 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#gaa21972df6ca3ebde0f7225b2472d0095">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#gaa21972df6ca3ebde0f7225b2472d0095">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#ga1c20905af775ae77d04d1a5696f67985">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></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Opens a new connection to the RawMidi interface using local configuration. </p>
<dl><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>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 on success otherwise a negative error code</dd></dl>
<p>Opens a new connection to the RawMidi interface specified with an ASCII identifier and mode. </p>

</div>
</div>
<a class="anchor" id="ga458d8ad22277645d9b65fa47c011465c"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_params" ref="ga458d8ad22277645d9b65fa47c011465c" 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#gaa21972df6ca3ebde0f7225b2472d0095">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#ga98ad06bccfabc646530241d3a0eef5a1">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></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>set parameters about rawmidi stream </p>
<dl><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>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 on success otherwise a negative error code </dd></dl>

</div>
</div>
<a class="anchor" id="ga533710a31f6b6b4f6791baa27e69089f"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_params_copy" ref="ga533710a31f6b6b4f6791baa27e69089f" 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#ga98ad06bccfabc646530241d3a0eef5a1">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#ga98ad06bccfabc646530241d3a0eef5a1">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></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>copy one snd_rawmidi_params_t structure to another </p>
<dl><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>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga86eabf81acd7c43fc100c67fbda5085d"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_params_current" ref="ga86eabf81acd7c43fc100c67fbda5085d" 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#gaa21972df6ca3ebde0f7225b2472d0095">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#ga98ad06bccfabc646530241d3a0eef5a1">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></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>get current parameters about rawmidi stream </p>
<dl><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>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 on success otherwise a negative error code </dd></dl>

</div>
</div>
<a class="anchor" id="gad8c735ed6a8533655dabd7318f25a6fc"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_params_free" ref="gad8c735ed6a8533655dabd7318f25a6fc" 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#ga98ad06bccfabc646530241d3a0eef5a1">snd_rawmidi_params_t</a> *&nbsp;</td>
          <td class="paramname"> <em>params</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>frees the snd_rawmidi_params_t structure </p>
<dl><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#ga98ad06bccfabc646530241d3a0eef5a1">snd_rawmidi_params_t</a> structure to free</td></tr>
  </table>
  </dd>
</dl>
<p>Frees the given snd_rawmidi_params_t structure using the standard free C library function. </p>

</div>
</div>
<a class="anchor" id="gae629f2ef814eda39dc081dff65bf7d20"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_params_get_avail_min" ref="gae629f2ef814eda39dc081dff65bf7d20" 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#ga98ad06bccfabc646530241d3a0eef5a1">snd_rawmidi_params_t</a> *&nbsp;</td>
          <td class="paramname"> <em>params</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>get minimum available bytes in rawmidi I/O ring buffer for wakeup </p>
<dl><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>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>minimum available bytes </dd></dl>

</div>
</div>
<a class="anchor" id="ga0bd9629686062562b88bfd2a3eadc1bd"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_params_get_buffer_size" ref="ga0bd9629686062562b88bfd2a3eadc1bd" 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#ga98ad06bccfabc646530241d3a0eef5a1">snd_rawmidi_params_t</a> *&nbsp;</td>
          <td class="paramname"> <em>params</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>get rawmidi I/O ring buffer size </p>
<dl><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>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>size of rawmidi I/O ring buffer in bytes </dd></dl>

</div>
</div>
<a class="anchor" id="ga6a057d467faa2b65ddace364fde985fd"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_params_get_no_active_sensing" ref="ga6a057d467faa2b65ddace364fde985fd" 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#ga98ad06bccfabc646530241d3a0eef5a1">snd_rawmidi_params_t</a> *&nbsp;</td>
          <td class="paramname"> <em>params</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>get no-active-sensing action status </p>
<dl><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>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the current status (0 = enable, 1 = disable the active sensing message) </dd></dl>

</div>
</div>
<a class="anchor" id="gaedc01312384764d02b6bc946cb1e79a9"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_params_malloc" ref="gaedc01312384764d02b6bc946cb1e79a9" 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#ga98ad06bccfabc646530241d3a0eef5a1">snd_rawmidi_params_t</a> **&nbsp;</td>
          <td class="paramname"> <em>params</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>allocate the snd_rawmidi_params_t structure </p>
<dl><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>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 on success otherwise a negative error code if fails</dd></dl>
<p>Allocates a new snd_rawmidi_params_t structure using the standard malloc C library function. </p>

</div>
</div>
<a class="anchor" id="ga89782681ce86b3d5cbebb5136d25439f"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_params_set_avail_min" ref="ga89782681ce86b3d5cbebb5136d25439f" 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#gaa21972df6ca3ebde0f7225b2472d0095">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#ga98ad06bccfabc646530241d3a0eef5a1">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></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>set minimum available bytes in rawmidi I/O ring buffer for wakeup </p>
<dl><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>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga612c96757e2f81fda5b6cd6dec826de1"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_params_set_buffer_size" ref="ga612c96757e2f81fda5b6cd6dec826de1" 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#gaa21972df6ca3ebde0f7225b2472d0095">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#ga98ad06bccfabc646530241d3a0eef5a1">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></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>set rawmidi I/O ring buffer size </p>
<dl><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>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 on success otherwise a negative error code </dd></dl>

</div>
</div>
<a class="anchor" id="gab717719be70fe4396dc84f3f895d6e12"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_params_set_no_active_sensing" ref="gab717719be70fe4396dc84f3f895d6e12" 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#gaa21972df6ca3ebde0f7225b2472d0095">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#ga98ad06bccfabc646530241d3a0eef5a1">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></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>set no-active-sensing action on <a class="el" href="group___raw_midi.html#gabc6bd5922151fb50196f62b9a4ab9f56" title="close RawMidi handle">snd_rawmidi_close()</a> </p>
<dl><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>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 on success otherwise a negative error code </dd></dl>

</div>
</div>
<a class="anchor" id="gaeb5767a318d349a4d2a100191c3cf8d8"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_params_sizeof" ref="gaeb5767a318d349a4d2a100191c3cf8d8" 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></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>get size of the snd_rawmidi_params_t structure in bytes </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>size of the snd_rawmidi_params_t structure in bytes </dd></dl>

</div>
</div>
<a class="anchor" id="ga22fcc3fc5c62c9db88d79a0b91e3a75f"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_poll_descriptors" ref="ga22fcc3fc5c62c9db88d79a0b91e3a75f" 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#gaa21972df6ca3ebde0f7225b2472d0095">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></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>get poll descriptors </p>
<dl><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>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>count of filled descriptors </dd></dl>

</div>
</div>
<a class="anchor" id="ga39ac11df7e520e753b26ab4eceabe6de"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_poll_descriptors_count" ref="ga39ac11df7e520e753b26ab4eceabe6de" 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#gaa21972df6ca3ebde0f7225b2472d0095">snd_rawmidi_t</a> *&nbsp;</td>
          <td class="paramname"> <em>rawmidi</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>get count of poll descriptors for RawMidi handle </p>
<dl><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>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>count of poll descriptors </dd></dl>

</div>
</div>
<a class="anchor" id="ga38f15766f77c0bb50fec6cdcd87254b0"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_poll_descriptors_revents" ref="ga38f15766f77c0bb50fec6cdcd87254b0" 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#gaa21972df6ca3ebde0f7225b2472d0095">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></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>get returned events from poll descriptors </p>
<dl><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>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>zero if success, otherwise a negative error code </dd></dl>

</div>
</div>
<a class="anchor" id="ga9b0952fc04facda83cdf1521325ca475"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_read" ref="ga9b0952fc04facda83cdf1521325ca475" 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#gaa21972df6ca3ebde0f7225b2472d0095">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></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>read MIDI bytes from MIDI stream </p>
<dl><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>
  </dd>
</dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="_2test_2rawmidi_8c-example.html#a2">/test/rawmidi.c</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="gab888bce923769882931f77603327231d"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_status" ref="gab888bce923769882931f77603327231d" 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#gaa21972df6ca3ebde0f7225b2472d0095">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#ga10a44a41000ef7dfe61f712466237aff">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></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>get status of rawmidi stream </p>
<dl><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>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 on success otherwise a negative error code </dd></dl>

</div>
</div>
<a class="anchor" id="gab62e8a4ca0033166f906a969048d935c"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_status_copy" ref="gab62e8a4ca0033166f906a969048d935c" 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#ga10a44a41000ef7dfe61f712466237aff">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#ga10a44a41000ef7dfe61f712466237aff">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></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>copy one snd_rawmidi_status_t structure to another </p>
<dl><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>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gac9852f68911bbb8aef21d2e20c3ff2c0"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_status_free" ref="gac9852f68911bbb8aef21d2e20c3ff2c0" 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#ga10a44a41000ef7dfe61f712466237aff">snd_rawmidi_status_t</a> *&nbsp;</td>
          <td class="paramname"> <em>status</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>frees the snd_rawmidi_status_t structure </p>
<dl><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>
  </dd>
</dl>
<p>Frees the given snd_rawmidi_status_t structure using the standard free C library function. </p>

</div>
</div>
<a class="anchor" id="ga7ff63a2376b2df549698296d37b532ed"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_status_get_avail" ref="ga7ff63a2376b2df549698296d37b532ed" 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#ga10a44a41000ef7dfe61f712466237aff">snd_rawmidi_status_t</a> *&nbsp;</td>
          <td class="paramname"> <em>status</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>get current available bytes in the rawmidi I/O ring buffer </p>
<dl><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>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>current available bytes in the rawmidi I/O ring buffer </dd></dl>

</div>
</div>
<a class="anchor" id="gaeb867dbf1d4d5fb3bdcad36a86565837"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_status_get_tstamp" ref="gaeb867dbf1d4d5fb3bdcad36a86565837" 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#ga10a44a41000ef7dfe61f712466237aff">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#ga3a3f5b65c40f498cdbc26944bd9855cf">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></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>get the start timestamp </p>
<dl><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>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gae4f69ac10574cfc2cd5c848628e75f9b"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_status_get_xruns" ref="gae4f69ac10574cfc2cd5c848628e75f9b" 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#ga10a44a41000ef7dfe61f712466237aff">snd_rawmidi_status_t</a> *&nbsp;</td>
          <td class="paramname"> <em>status</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>get count of xruns </p>
<dl><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>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>count of xruns </dd></dl>

</div>
</div>
<a class="anchor" id="gac1035208bbdf81852dbcf2e14ce4a8dc"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_status_malloc" ref="gac1035208bbdf81852dbcf2e14ce4a8dc" 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#ga10a44a41000ef7dfe61f712466237aff">snd_rawmidi_status_t</a> **&nbsp;</td>
          <td class="paramname"> <em>ptr</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>allocate the snd_rawmidi_status_t structure </p>
<dl><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>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 on success otherwise a negative error code if fails</dd></dl>
<p>Allocates a new snd_rawmidi_status_t structure using the standard malloc C library function. </p>

</div>
</div>
<a class="anchor" id="ga7933bdb7eea04815be0bba98261865e4"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_status_sizeof" ref="ga7933bdb7eea04815be0bba98261865e4" 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></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>get size of the snd_rawmidi_status_t structure in bytes </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>size of the snd_rawmidi_status_t structure in bytes </dd></dl>

</div>
</div>
<a class="anchor" id="ga295d2f3ce9e992919f205b929fcb83ee"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_stream" ref="ga295d2f3ce9e992919f205b929fcb83ee" 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#gac3d11365c928cdfd3176ffede3e6f8c5">snd_rawmidi_stream_t</a> snd_rawmidi_stream </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___raw_midi.html#gaa21972df6ca3ebde0f7225b2472d0095">snd_rawmidi_t</a> *&nbsp;</td>
          <td class="paramname"> <em>rawmidi</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>get stream (direction) of RawMidi handle </p>
<dl><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>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>stream of RawMidi handle</dd></dl>
<p>Returns the stream <a class="el" href="group___raw_midi.html#gac3d11365c928cdfd3176ffede3e6f8c5">snd_rawmidi_stream_t</a> of given RawMidi handle. </p>

</div>
</div>
<a class="anchor" id="ga5984e0c61995c8184a0e6e0a68a6faaf"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_type" ref="ga5984e0c61995c8184a0e6e0a68a6faaf" 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#ga271ccd508f221ec7c99a27b150c657ba">snd_rawmidi_type_t</a> snd_rawmidi_type </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___raw_midi.html#gaa21972df6ca3ebde0f7225b2472d0095">snd_rawmidi_t</a> *&nbsp;</td>
          <td class="paramname"> <em>rawmidi</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>get type of RawMidi handle </p>
<dl><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>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>type of RawMidi handle</dd></dl>
<p>Returns the type <a class="el" href="group___raw_midi.html#ga271ccd508f221ec7c99a27b150c657ba">snd_rawmidi_type_t</a> of given RawMidi handle. </p>

</div>
</div>
<a class="anchor" id="ga0a30e482efec57f4ea74c533a0f9b134"></a><!-- doxytag: member="rawmidi.h::snd_rawmidi_write" ref="ga0a30e482efec57f4ea74c533a0f9b134" 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#gaa21972df6ca3ebde0f7225b2472d0095">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></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>write MIDI bytes to MIDI stream </p>
<dl><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>
  </dd>
</dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="_2test_2rawmidi_8c-example.html#a3">/test/rawmidi.c</a>.</dd>
</dl>
</div>
</div>
</div>
<!--- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&nbsp;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&nbsp;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&nbsp;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&nbsp;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&nbsp;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&nbsp;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&nbsp;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&nbsp;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&nbsp;</span>Defines</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Nov 20 07:42:24 2010 for ALSA project - the C library reference by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
</body>
</html>