MOON
Server: Apache/2.2.31 (Unix) mod_ssl/2.2.31 OpenSSL/0.9.8e-fips-rhel5 mod_bwlimited/1.4
System: Linux csr818.wilogic.com 2.6.18-419.el5xen #1 SMP Fri Feb 24 22:50:37 UTC 2017 x86_64
User: digitals (531)
PHP: 5.4.45
Disabled: NONE
Upload Files
File: //usr/share/doc/alsa-lib-devel-1.0.17/lib64/html/group___seq_port.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ALSA project - the C library reference: Sequencer Port Interface</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.4.7 -->
<div class="tabs">
  <ul>
    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
    <li><a href="modules.html"><span>Modules</span></a></li>
    <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
    <li><a href="files.html"><span>Files</span></a></li>
    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
    <li><a href="examples.html"><span>Examples</span></a></li>
  </ul></div>
<h1>Sequencer Port Interface<br>
<small>
[<a class="el" href="group___sequencer.html">MIDI Sequencer</a>]</small>
</h1><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_port.html#gcbbb71e7d502167e46824e29f667172b">SND_SEQ_PORT_SYSTEM_TIMER</a>&nbsp;&nbsp;&nbsp;0</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_port.html#g467661580637f8e128343791f8a081e0">SND_SEQ_PORT_SYSTEM_ANNOUNCE</a>&nbsp;&nbsp;&nbsp;1</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_port.html#gf8314cee6b67d917323efc80111c3416">SND_SEQ_PORT_CAP_READ</a>&nbsp;&nbsp;&nbsp;(1&lt;&lt;0)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_port.html#gc6ebc62833e1e38fc7bdd359d03ba351">SND_SEQ_PORT_CAP_WRITE</a>&nbsp;&nbsp;&nbsp;(1&lt;&lt;1)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_port.html#gba364ab6d25f5dae8939706c7a068ddc">SND_SEQ_PORT_CAP_SYNC_READ</a>&nbsp;&nbsp;&nbsp;(1&lt;&lt;2)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_port.html#g187bf5d820b26da23988ef4bb782990b">SND_SEQ_PORT_CAP_SYNC_WRITE</a>&nbsp;&nbsp;&nbsp;(1&lt;&lt;3)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_port.html#g4d3fdf118035a36c28b81018956fc899">SND_SEQ_PORT_CAP_DUPLEX</a>&nbsp;&nbsp;&nbsp;(1&lt;&lt;4)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_port.html#g918034026d74475a7798d574caad0e0f">SND_SEQ_PORT_CAP_SUBS_READ</a>&nbsp;&nbsp;&nbsp;(1&lt;&lt;5)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_port.html#g8e75c69db458cd159879f6f4644c77fd">SND_SEQ_PORT_CAP_SUBS_WRITE</a>&nbsp;&nbsp;&nbsp;(1&lt;&lt;6)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_port.html#g974f18adf231901c5052e0ce8acc1415">SND_SEQ_PORT_CAP_NO_EXPORT</a>&nbsp;&nbsp;&nbsp;(1&lt;&lt;7)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_port.html#g84ef79ec908e392de2d4dddebc176270">SND_SEQ_PORT_TYPE_SPECIFIC</a>&nbsp;&nbsp;&nbsp;(1&lt;&lt;0)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_port.html#g43e52ce669add7af811a5c59abe25faa">SND_SEQ_PORT_TYPE_MIDI_GENERIC</a>&nbsp;&nbsp;&nbsp;(1&lt;&lt;1)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_port.html#g851b0f63874a74af8e3a23c8ba216dc6">SND_SEQ_PORT_TYPE_MIDI_GM</a>&nbsp;&nbsp;&nbsp;(1&lt;&lt;2)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_port.html#gebd107b026364b29c154ba72dca54233">SND_SEQ_PORT_TYPE_MIDI_GS</a>&nbsp;&nbsp;&nbsp;(1&lt;&lt;3)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_port.html#g659b0caa65fbd77083ed6e8a09bf0644">SND_SEQ_PORT_TYPE_MIDI_XG</a>&nbsp;&nbsp;&nbsp;(1&lt;&lt;4)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_port.html#g4f433fbf9d28f5700c140e6b5f6e87f5">SND_SEQ_PORT_TYPE_MIDI_MT32</a>&nbsp;&nbsp;&nbsp;(1&lt;&lt;5)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_port.html#g64e8919c3df3bc23a7929941849191c1">SND_SEQ_PORT_TYPE_MIDI_GM2</a>&nbsp;&nbsp;&nbsp;(1&lt;&lt;6)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_port.html#gd760ab6d4d1696d6e7609bca584e8415">SND_SEQ_PORT_TYPE_SYNTH</a>&nbsp;&nbsp;&nbsp;(1&lt;&lt;10)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_port.html#gc3f9e34ebd359fbbf275fbe4c083bf15">SND_SEQ_PORT_TYPE_DIRECT_SAMPLE</a>&nbsp;&nbsp;&nbsp;(1&lt;&lt;11)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_port.html#gd6c4fa189f8be3f58df29baf56cf63ab">SND_SEQ_PORT_TYPE_SAMPLE</a>&nbsp;&nbsp;&nbsp;(1&lt;&lt;12)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_port.html#g57e19aaa4cc708ae25eb0ec153f3369b">SND_SEQ_PORT_TYPE_HARDWARE</a>&nbsp;&nbsp;&nbsp;(1&lt;&lt;16)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_port.html#gbbaaa072399868e951cf1df3b898b2ff">SND_SEQ_PORT_TYPE_SOFTWARE</a>&nbsp;&nbsp;&nbsp;(1&lt;&lt;17)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_port.html#g1f16762ec93baf9e8ea06ac2808f13d6">SND_SEQ_PORT_TYPE_SYNTHESIZER</a>&nbsp;&nbsp;&nbsp;(1&lt;&lt;18)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_port.html#g3456090c440a75af5a9564a29137f1a1">SND_SEQ_PORT_TYPE_PORT</a>&nbsp;&nbsp;&nbsp;(1&lt;&lt;19)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_port.html#g003257f11c7c69e4cf0aad8e3ccf054d">SND_SEQ_PORT_TYPE_APPLICATION</a>&nbsp;&nbsp;&nbsp;(1&lt;&lt;20)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_port.html#gc4ec556a115e1e7ce4b2c58872d3428d">snd_seq_port_info_alloca</a>(ptr)&nbsp;&nbsp;&nbsp;__snd_alloca(ptr, snd_seq_port_info)</td></tr>

<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef _snd_seq_port_info&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_port.html#g8965bd807641910cedcf97b666c4df47">snd_seq_port_info_t</a></td></tr>

<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_port.html#ga0a54c2edc390afe7a579b2e63c74473">snd_seq_port_info_sizeof</a> (void)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get size of <a class="el" href="group___seq_port.html#g8965bd807641910cedcf97b666c4df47">snd_seq_port_info_t</a>  <a href="#ga0a54c2edc390afe7a579b2e63c74473"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_port.html#ge73e8de284fa53e14b599ba021475a62">snd_seq_port_info_malloc</a> (<a class="el" href="group___seq_port.html#g8965bd807641910cedcf97b666c4df47">snd_seq_port_info_t</a> **ptr)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">allocate an empty <a class="el" href="group___seq_port.html#g8965bd807641910cedcf97b666c4df47">snd_seq_port_info_t</a> using standard malloc  <a href="#ge73e8de284fa53e14b599ba021475a62"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_port.html#g9164b08b5969cc917bed8717c4a060de">snd_seq_port_info_free</a> (<a class="el" href="group___seq_port.html#g8965bd807641910cedcf97b666c4df47">snd_seq_port_info_t</a> *ptr)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">frees a previously allocated <a class="el" href="group___seq_port.html#g8965bd807641910cedcf97b666c4df47">snd_seq_port_info_t</a>  <a href="#g9164b08b5969cc917bed8717c4a060de"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_port.html#g8d084bcb7a30abb52881633eb765202a">snd_seq_port_info_copy</a> (<a class="el" href="group___seq_port.html#g8965bd807641910cedcf97b666c4df47">snd_seq_port_info_t</a> *dst, const <a class="el" href="group___seq_port.html#g8965bd807641910cedcf97b666c4df47">snd_seq_port_info_t</a> *src)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">copy one <a class="el" href="group___seq_port.html#g8965bd807641910cedcf97b666c4df47">snd_seq_port_info_t</a> to another  <a href="#g8d084bcb7a30abb52881633eb765202a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_port.html#gacbdec1f4e74eae6d808fca6fb9b8c78">snd_seq_port_info_get_client</a> (const <a class="el" href="group___seq_port.html#g8965bd807641910cedcf97b666c4df47">snd_seq_port_info_t</a> *info)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get client id of a port_info container.  <a href="#gacbdec1f4e74eae6d808fca6fb9b8c78"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_port.html#g832df910bb1997b0bd6484ec71c0cf74">snd_seq_port_info_get_port</a> (const <a class="el" href="group___seq_port.html#g8965bd807641910cedcf97b666c4df47">snd_seq_port_info_t</a> *info)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get port id of a port_info container.  <a href="#g832df910bb1997b0bd6484ec71c0cf74"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="structsnd__seq__addr.html">snd_seq_addr_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_port.html#ge17bebc26b990ba9c2ceb3634e4fb420">snd_seq_port_info_get_addr</a> (const <a class="el" href="group___seq_port.html#g8965bd807641910cedcf97b666c4df47">snd_seq_port_info_t</a> *info)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get client/port address of a port_info container.  <a href="#ge17bebc26b990ba9c2ceb3634e4fb420"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_port.html#g95ddb79c20a5feef834756855403c308">snd_seq_port_info_get_name</a> (const <a class="el" href="group___seq_port.html#g8965bd807641910cedcf97b666c4df47">snd_seq_port_info_t</a> *info)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the name of a port_info container.  <a href="#g95ddb79c20a5feef834756855403c308"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_port.html#ge7204d3cf8982fe086128de3a912b97e">snd_seq_port_info_get_capability</a> (const <a class="el" href="group___seq_port.html#g8965bd807641910cedcf97b666c4df47">snd_seq_port_info_t</a> *info)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the capability bits of a port_info container.  <a href="#ge7204d3cf8982fe086128de3a912b97e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_port.html#g3171324b482f9343000e6a8fd0ddeb60">snd_seq_port_info_get_type</a> (const <a class="el" href="group___seq_port.html#g8965bd807641910cedcf97b666c4df47">snd_seq_port_info_t</a> *info)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the type bits of a port_info container.  <a href="#g3171324b482f9343000e6a8fd0ddeb60"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_port.html#g9be28773770e0e8889f11483f901154b">snd_seq_port_info_get_midi_channels</a> (const <a class="el" href="group___seq_port.html#g8965bd807641910cedcf97b666c4df47">snd_seq_port_info_t</a> *info)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the midi channels of a port_info container.  <a href="#g9be28773770e0e8889f11483f901154b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_port.html#g20e828a6f90f85240619bd561c4d8c0a">snd_seq_port_info_get_midi_voices</a> (const <a class="el" href="group___seq_port.html#g8965bd807641910cedcf97b666c4df47">snd_seq_port_info_t</a> *info)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the midi voices of a port_info container.  <a href="#g20e828a6f90f85240619bd561c4d8c0a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_port.html#g68ec8e7989c5d97ee2eef375d169f64f">snd_seq_port_info_get_synth_voices</a> (const <a class="el" href="group___seq_port.html#g8965bd807641910cedcf97b666c4df47">snd_seq_port_info_t</a> *info)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the synth voices of a port_info container.  <a href="#g68ec8e7989c5d97ee2eef375d169f64f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_port.html#g1e6079b17184de0a57fea9d7291a2e32">snd_seq_port_info_get_read_use</a> (const <a class="el" href="group___seq_port.html#g8965bd807641910cedcf97b666c4df47">snd_seq_port_info_t</a> *info)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the number of read subscriptions of a port_info container.  <a href="#g1e6079b17184de0a57fea9d7291a2e32"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_port.html#g015c24d840c2478b44c8687cad45d1bf">snd_seq_port_info_get_write_use</a> (const <a class="el" href="group___seq_port.html#g8965bd807641910cedcf97b666c4df47">snd_seq_port_info_t</a> *info)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the number of write subscriptions of a port_info container.  <a href="#g015c24d840c2478b44c8687cad45d1bf"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_port.html#g7ed0fe19efadd4ed6a08fa54ffeb9328">snd_seq_port_info_get_port_specified</a> (const <a class="el" href="group___seq_port.html#g8965bd807641910cedcf97b666c4df47">snd_seq_port_info_t</a> *info)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the port-specified mode of a port_info container.  <a href="#g7ed0fe19efadd4ed6a08fa54ffeb9328"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_port.html#gba28218a6a55ec826ed847cea3d69c0a">snd_seq_port_info_get_timestamping</a> (const <a class="el" href="group___seq_port.html#g8965bd807641910cedcf97b666c4df47">snd_seq_port_info_t</a> *info)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the time-stamping mode of the given port in a port_info container.  <a href="#gba28218a6a55ec826ed847cea3d69c0a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_port.html#g366417f29861ee1a7a51fc33651cfc03">snd_seq_port_info_get_timestamp_real</a> (const <a class="el" href="group___seq_port.html#g8965bd807641910cedcf97b666c4df47">snd_seq_port_info_t</a> *info)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get whether the time-stamping of the given port is real-time mode.  <a href="#g366417f29861ee1a7a51fc33651cfc03"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_port.html#gef57005f1f713d024736395427f005f0">snd_seq_port_info_get_timestamp_queue</a> (const <a class="el" href="group___seq_port.html#g8965bd807641910cedcf97b666c4df47">snd_seq_port_info_t</a> *info)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the queue id to update timestamps.  <a href="#gef57005f1f713d024736395427f005f0"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_port.html#g0395e3e1265efbe0dafb479dcb6dc416">snd_seq_port_info_set_client</a> (<a class="el" href="group___seq_port.html#g8965bd807641910cedcf97b666c4df47">snd_seq_port_info_t</a> *info, int client)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the client id of a port_info container.  <a href="#g0395e3e1265efbe0dafb479dcb6dc416"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_port.html#g9b917fab91edf323bd8674803680140b">snd_seq_port_info_set_port</a> (<a class="el" href="group___seq_port.html#g8965bd807641910cedcf97b666c4df47">snd_seq_port_info_t</a> *info, int port)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the port id of a port_info container.  <a href="#g9b917fab91edf323bd8674803680140b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_port.html#gbfc664df083b441db8ad5dea00f4fa6b">snd_seq_port_info_set_addr</a> (<a class="el" href="group___seq_port.html#g8965bd807641910cedcf97b666c4df47">snd_seq_port_info_t</a> *info, const <a class="el" href="structsnd__seq__addr.html">snd_seq_addr_t</a> *addr)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the client/port address of a port_info container.  <a href="#gbfc664df083b441db8ad5dea00f4fa6b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_port.html#g0935aad2ca42526e4b4fdc468e7af2f8">snd_seq_port_info_set_name</a> (<a class="el" href="group___seq_port.html#g8965bd807641910cedcf97b666c4df47">snd_seq_port_info_t</a> *info, const char *name)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the name of a port_info container.  <a href="#g0935aad2ca42526e4b4fdc468e7af2f8"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_port.html#gb03413b638c4c857b18b7e630bf0302f">snd_seq_port_info_set_capability</a> (<a class="el" href="group___seq_port.html#g8965bd807641910cedcf97b666c4df47">snd_seq_port_info_t</a> *info, unsigned int capability)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">set the capability bits of a port_info container  <a href="#gb03413b638c4c857b18b7e630bf0302f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_port.html#g8bb3260f863a02999fd8f206868caeea">snd_seq_port_info_set_type</a> (<a class="el" href="group___seq_port.html#g8965bd807641910cedcf97b666c4df47">snd_seq_port_info_t</a> *info, unsigned int type)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the type bits of a port_info container.  <a href="#g8bb3260f863a02999fd8f206868caeea"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_port.html#ge663770f4e8bf08f2a6fbfd4a7c04a25">snd_seq_port_info_set_midi_channels</a> (<a class="el" href="group___seq_port.html#g8965bd807641910cedcf97b666c4df47">snd_seq_port_info_t</a> *info, int channels)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">set the midi channels of a port_info container  <a href="#ge663770f4e8bf08f2a6fbfd4a7c04a25"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_port.html#gd8bb103f8783ada671ae1eac9e5b792c">snd_seq_port_info_set_midi_voices</a> (<a class="el" href="group___seq_port.html#g8965bd807641910cedcf97b666c4df47">snd_seq_port_info_t</a> *info, int voices)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">set the midi voices of a port_info container  <a href="#gd8bb103f8783ada671ae1eac9e5b792c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_port.html#gd08e81bba281c0832a3613c5a0ab8830">snd_seq_port_info_set_synth_voices</a> (<a class="el" href="group___seq_port.html#g8965bd807641910cedcf97b666c4df47">snd_seq_port_info_t</a> *info, int voices)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">set the synth voices of a port_info container  <a href="#gd08e81bba281c0832a3613c5a0ab8830"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_port.html#gb1fc8e73e42c85ff58116ac5f1297528">snd_seq_port_info_set_port_specified</a> (<a class="el" href="group___seq_port.html#g8965bd807641910cedcf97b666c4df47">snd_seq_port_info_t</a> *info, int val)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the port-specified mode of a port_info container.  <a href="#gb1fc8e73e42c85ff58116ac5f1297528"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_port.html#gaa2420696044f805f4172be758f56b45">snd_seq_port_info_set_timestamping</a> (<a class="el" href="group___seq_port.html#g8965bd807641910cedcf97b666c4df47">snd_seq_port_info_t</a> *info, int enable)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the time-stamping mode of the given port.  <a href="#gaa2420696044f805f4172be758f56b45"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_port.html#g0353b5b0c642c038d63ff2efd4637e69">snd_seq_port_info_set_timestamp_real</a> (<a class="el" href="group___seq_port.html#g8965bd807641910cedcf97b666c4df47">snd_seq_port_info_t</a> *info, int realtime)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set whether the timestime is updated in the real-time mode.  <a href="#g0353b5b0c642c038d63ff2efd4637e69"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_port.html#ge307b68f9b30760eb0334b48e05239a4">snd_seq_port_info_set_timestamp_queue</a> (<a class="el" href="group___seq_port.html#g8965bd807641910cedcf97b666c4df47">snd_seq_port_info_t</a> *info, int queue)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the queue id for timestamping.  <a href="#ge307b68f9b30760eb0334b48e05239a4"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_port.html#ge670627e559f1c7892aa30df8febf722">snd_seq_create_port</a> (<a class="el" href="group___sequencer.html#g527eff2e3b3c7dd45cac6fdd2ceee964">snd_seq_t</a> *handle, <a class="el" href="group___seq_port.html#g8965bd807641910cedcf97b666c4df47">snd_seq_port_info_t</a> *info)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">create a sequencer port on the current client  <a href="#ge670627e559f1c7892aa30df8febf722"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_port.html#gaa13a372738845ee9fe66ca8c7147611">snd_seq_delete_port</a> (<a class="el" href="group___sequencer.html#g527eff2e3b3c7dd45cac6fdd2ceee964">snd_seq_t</a> *handle, int port)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">delete a sequencer port on the current client  <a href="#gaa13a372738845ee9fe66ca8c7147611"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_port.html#gd7c9b36c15c7685c9e18264f934fa7f7">snd_seq_get_port_info</a> (<a class="el" href="group___sequencer.html#g527eff2e3b3c7dd45cac6fdd2ceee964">snd_seq_t</a> *handle, int port, <a class="el" href="group___seq_port.html#g8965bd807641910cedcf97b666c4df47">snd_seq_port_info_t</a> *info)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">obtain the information of a port on the current client  <a href="#gd7c9b36c15c7685c9e18264f934fa7f7"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_port.html#g4b26329eba9f2c2a99ee285a92763808">snd_seq_get_any_port_info</a> (<a class="el" href="group___sequencer.html#g527eff2e3b3c7dd45cac6fdd2ceee964">snd_seq_t</a> *handle, int client, int port, <a class="el" href="group___seq_port.html#g8965bd807641910cedcf97b666c4df47">snd_seq_port_info_t</a> *info)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">obtain the information of a port on an arbitrary client  <a href="#g4b26329eba9f2c2a99ee285a92763808"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_port.html#ge93b22b6f8040686a3322632ced3e55c">snd_seq_set_port_info</a> (<a class="el" href="group___sequencer.html#g527eff2e3b3c7dd45cac6fdd2ceee964">snd_seq_t</a> *handle, int port, <a class="el" href="group___seq_port.html#g8965bd807641910cedcf97b666c4df47">snd_seq_port_info_t</a> *info)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">set the information of a port on the current client  <a href="#ge93b22b6f8040686a3322632ced3e55c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_port.html#g29193cdddb64a4504f75ce40eabf36b9">snd_seq_query_next_port</a> (<a class="el" href="group___sequencer.html#g527eff2e3b3c7dd45cac6fdd2ceee964">snd_seq_t</a> *handle, <a class="el" href="group___seq_port.html#g8965bd807641910cedcf97b666c4df47">snd_seq_port_info_t</a> *info)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">query the next matching port  <a href="#g29193cdddb64a4504f75ce40eabf36b9"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Sequencer Port Interface <hr><h2>Define Documentation</h2>
<a class="anchor" name="g4d3fdf118035a36c28b81018956fc899"></a><!-- doxytag: member="seq.h::SND_SEQ_PORT_CAP_DUPLEX" ref="g4d3fdf118035a36c28b81018956fc899" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SND_SEQ_PORT_CAP_DUPLEX&nbsp;&nbsp;&nbsp;(1&lt;&lt;4)          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
allow read/write duplex 
</div>
</div><p>
<a class="anchor" name="g974f18adf231901c5052e0ce8acc1415"></a><!-- doxytag: member="seq.h::SND_SEQ_PORT_CAP_NO_EXPORT" ref="g974f18adf231901c5052e0ce8acc1415" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SND_SEQ_PORT_CAP_NO_EXPORT&nbsp;&nbsp;&nbsp;(1&lt;&lt;7)          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
routing not allowed 
</div>
</div><p>
<a class="anchor" name="gf8314cee6b67d917323efc80111c3416"></a><!-- doxytag: member="seq.h::SND_SEQ_PORT_CAP_READ" ref="gf8314cee6b67d917323efc80111c3416" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SND_SEQ_PORT_CAP_READ&nbsp;&nbsp;&nbsp;(1&lt;&lt;0)          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
port capabilities (32 bits) readable from this port 
</div>
</div><p>
<a class="anchor" name="g918034026d74475a7798d574caad0e0f"></a><!-- doxytag: member="seq.h::SND_SEQ_PORT_CAP_SUBS_READ" ref="g918034026d74475a7798d574caad0e0f" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SND_SEQ_PORT_CAP_SUBS_READ&nbsp;&nbsp;&nbsp;(1&lt;&lt;5)          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
allow read subscription 
</div>
</div><p>
<a class="anchor" name="g8e75c69db458cd159879f6f4644c77fd"></a><!-- doxytag: member="seq.h::SND_SEQ_PORT_CAP_SUBS_WRITE" ref="g8e75c69db458cd159879f6f4644c77fd" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SND_SEQ_PORT_CAP_SUBS_WRITE&nbsp;&nbsp;&nbsp;(1&lt;&lt;6)          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
allow write subscription 
</div>
</div><p>
<a class="anchor" name="gba364ab6d25f5dae8939706c7a068ddc"></a><!-- doxytag: member="seq.h::SND_SEQ_PORT_CAP_SYNC_READ" ref="gba364ab6d25f5dae8939706c7a068ddc" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SND_SEQ_PORT_CAP_SYNC_READ&nbsp;&nbsp;&nbsp;(1&lt;&lt;2)          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
allow read subscriptions 
</div>
</div><p>
<a class="anchor" name="g187bf5d820b26da23988ef4bb782990b"></a><!-- doxytag: member="seq.h::SND_SEQ_PORT_CAP_SYNC_WRITE" ref="g187bf5d820b26da23988ef4bb782990b" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SND_SEQ_PORT_CAP_SYNC_WRITE&nbsp;&nbsp;&nbsp;(1&lt;&lt;3)          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
allow write subscriptions 
</div>
</div><p>
<a class="anchor" name="gc6ebc62833e1e38fc7bdd359d03ba351"></a><!-- doxytag: member="seq.h::SND_SEQ_PORT_CAP_WRITE" ref="gc6ebc62833e1e38fc7bdd359d03ba351" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SND_SEQ_PORT_CAP_WRITE&nbsp;&nbsp;&nbsp;(1&lt;&lt;1)          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
writable to this port 
</div>
</div><p>
<a class="anchor" name="gc4ec556a115e1e7ce4b2c58872d3428d"></a><!-- doxytag: member="seq.h::snd_seq_port_info_alloca" ref="gc4ec556a115e1e7ce4b2c58872d3428d" args="(ptr)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define snd_seq_port_info_alloca          </td>
          <td>(</td>
          <td class="paramtype">ptr&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%">&nbsp;&nbsp;&nbsp;__snd_alloca(ptr, snd_seq_port_info)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
allocate a <a class="el" href="group___seq_port.html#g8965bd807641910cedcf97b666c4df47">snd_seq_port_info_t</a> container on stack 
</div>
</div><p>
<a class="anchor" name="g467661580637f8e128343791f8a081e0"></a><!-- doxytag: member="seq.h::SND_SEQ_PORT_SYSTEM_ANNOUNCE" ref="g467661580637f8e128343791f8a081e0" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SND_SEQ_PORT_SYSTEM_ANNOUNCE&nbsp;&nbsp;&nbsp;1          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
system announce port 
</div>
</div><p>
<a class="anchor" name="gcbbb71e7d502167e46824e29f667172b"></a><!-- doxytag: member="seq.h::SND_SEQ_PORT_SYSTEM_TIMER" ref="gcbbb71e7d502167e46824e29f667172b" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SND_SEQ_PORT_SYSTEM_TIMER&nbsp;&nbsp;&nbsp;0          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
known port numbers system timer port 
</div>
</div><p>
<a class="anchor" name="g003257f11c7c69e4cf0aad8e3ccf054d"></a><!-- doxytag: member="seq.h::SND_SEQ_PORT_TYPE_APPLICATION" ref="g003257f11c7c69e4cf0aad8e3ccf054d" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SND_SEQ_PORT_TYPE_APPLICATION&nbsp;&nbsp;&nbsp;(1&lt;&lt;20)          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
This port belongs to an application, such as a sequencer or editor. 
</div>
</div><p>
<a class="anchor" name="gc3f9e34ebd359fbbf275fbe4c083bf15"></a><!-- doxytag: member="seq.h::SND_SEQ_PORT_TYPE_DIRECT_SAMPLE" ref="gc3f9e34ebd359fbbf275fbe4c083bf15" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SND_SEQ_PORT_TYPE_DIRECT_SAMPLE&nbsp;&nbsp;&nbsp;(1&lt;&lt;11)          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Instruments can be downloaded to this port (with SND_SEQ_EVENT_INSTR_xxx messages sent directly). 
</div>
</div><p>
<a class="anchor" name="g57e19aaa4cc708ae25eb0ec153f3369b"></a><!-- doxytag: member="seq.h::SND_SEQ_PORT_TYPE_HARDWARE" ref="g57e19aaa4cc708ae25eb0ec153f3369b" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SND_SEQ_PORT_TYPE_HARDWARE&nbsp;&nbsp;&nbsp;(1&lt;&lt;16)          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
This port is implemented in hardware. 
</div>
</div><p>
<a class="anchor" name="g43e52ce669add7af811a5c59abe25faa"></a><!-- doxytag: member="seq.h::SND_SEQ_PORT_TYPE_MIDI_GENERIC" ref="g43e52ce669add7af811a5c59abe25faa" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SND_SEQ_PORT_TYPE_MIDI_GENERIC&nbsp;&nbsp;&nbsp;(1&lt;&lt;1)          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
This port understands MIDI messages. 
</div>
</div><p>
<a class="anchor" name="g851b0f63874a74af8e3a23c8ba216dc6"></a><!-- doxytag: member="seq.h::SND_SEQ_PORT_TYPE_MIDI_GM" ref="g851b0f63874a74af8e3a23c8ba216dc6" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SND_SEQ_PORT_TYPE_MIDI_GM&nbsp;&nbsp;&nbsp;(1&lt;&lt;2)          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
This port is compatible with the General MIDI specification. 
</div>
</div><p>
<a class="anchor" name="g64e8919c3df3bc23a7929941849191c1"></a><!-- doxytag: member="seq.h::SND_SEQ_PORT_TYPE_MIDI_GM2" ref="g64e8919c3df3bc23a7929941849191c1" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SND_SEQ_PORT_TYPE_MIDI_GM2&nbsp;&nbsp;&nbsp;(1&lt;&lt;6)          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
This port is compatible with the General MIDI 2 specification. 
</div>
</div><p>
<a class="anchor" name="gebd107b026364b29c154ba72dca54233"></a><!-- doxytag: member="seq.h::SND_SEQ_PORT_TYPE_MIDI_GS" ref="gebd107b026364b29c154ba72dca54233" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SND_SEQ_PORT_TYPE_MIDI_GS&nbsp;&nbsp;&nbsp;(1&lt;&lt;3)          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
This port is compatible with the Roland GS standard. 
</div>
</div><p>
<a class="anchor" name="g4f433fbf9d28f5700c140e6b5f6e87f5"></a><!-- doxytag: member="seq.h::SND_SEQ_PORT_TYPE_MIDI_MT32" ref="g4f433fbf9d28f5700c140e6b5f6e87f5" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SND_SEQ_PORT_TYPE_MIDI_MT32&nbsp;&nbsp;&nbsp;(1&lt;&lt;5)          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
This port is compatible with the Roland MT-32. 
</div>
</div><p>
<a class="anchor" name="g659b0caa65fbd77083ed6e8a09bf0644"></a><!-- doxytag: member="seq.h::SND_SEQ_PORT_TYPE_MIDI_XG" ref="g659b0caa65fbd77083ed6e8a09bf0644" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SND_SEQ_PORT_TYPE_MIDI_XG&nbsp;&nbsp;&nbsp;(1&lt;&lt;4)          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
This port is compatible with the Yamaha XG specification. 
</div>
</div><p>
<a class="anchor" name="g3456090c440a75af5a9564a29137f1a1"></a><!-- doxytag: member="seq.h::SND_SEQ_PORT_TYPE_PORT" ref="g3456090c440a75af5a9564a29137f1a1" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SND_SEQ_PORT_TYPE_PORT&nbsp;&nbsp;&nbsp;(1&lt;&lt;19)          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
This port may connect to other devices (whose characteristics are not known). 
</div>
</div><p>
<a class="anchor" name="gd6c4fa189f8be3f58df29baf56cf63ab"></a><!-- doxytag: member="seq.h::SND_SEQ_PORT_TYPE_SAMPLE" ref="gd6c4fa189f8be3f58df29baf56cf63ab" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SND_SEQ_PORT_TYPE_SAMPLE&nbsp;&nbsp;&nbsp;(1&lt;&lt;12)          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Instruments can be downloaded to this port (with SND_SEQ_EVENT_INSTR_xxx messages sent directly or through a queue). 
</div>
</div><p>
<a class="anchor" name="gbbaaa072399868e951cf1df3b898b2ff"></a><!-- doxytag: member="seq.h::SND_SEQ_PORT_TYPE_SOFTWARE" ref="gbbaaa072399868e951cf1df3b898b2ff" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SND_SEQ_PORT_TYPE_SOFTWARE&nbsp;&nbsp;&nbsp;(1&lt;&lt;17)          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
This port is implemented in software. 
</div>
</div><p>
<a class="anchor" name="g84ef79ec908e392de2d4dddebc176270"></a><!-- doxytag: member="seq.h::SND_SEQ_PORT_TYPE_SPECIFIC" ref="g84ef79ec908e392de2d4dddebc176270" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SND_SEQ_PORT_TYPE_SPECIFIC&nbsp;&nbsp;&nbsp;(1&lt;&lt;0)          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Messages sent from/to this port have device-specific semantics. 
</div>
</div><p>
<a class="anchor" name="gd760ab6d4d1696d6e7609bca584e8415"></a><!-- doxytag: member="seq.h::SND_SEQ_PORT_TYPE_SYNTH" ref="gd760ab6d4d1696d6e7609bca584e8415" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SND_SEQ_PORT_TYPE_SYNTH&nbsp;&nbsp;&nbsp;(1&lt;&lt;10)          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
This port understands SND_SEQ_EVENT_SAMPLE_xxx messages (these are not MIDI messages). 
</div>
</div><p>
<a class="anchor" name="g1f16762ec93baf9e8ea06ac2808f13d6"></a><!-- doxytag: member="seq.h::SND_SEQ_PORT_TYPE_SYNTHESIZER" ref="g1f16762ec93baf9e8ea06ac2808f13d6" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SND_SEQ_PORT_TYPE_SYNTHESIZER&nbsp;&nbsp;&nbsp;(1&lt;&lt;18)          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Messages sent to this port will generate sounds. 
</div>
</div><p>
<hr><h2>Typedef Documentation</h2>
<a class="anchor" name="g8965bd807641910cedcf97b666c4df47"></a><!-- doxytag: member="seq.h::snd_seq_port_info_t" ref="g8965bd807641910cedcf97b666c4df47" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct _snd_seq_port_info <a class="el" href="group___seq_port.html#g8965bd807641910cedcf97b666c4df47">snd_seq_port_info_t</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
port information container 
</div>
</div><p>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="ge670627e559f1c7892aa30df8febf722"></a><!-- doxytag: member="seq.h::snd_seq_create_port" ref="ge670627e559f1c7892aa30df8febf722" args="(snd_seq_t *handle, snd_seq_port_info_t *info)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_seq_create_port           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___sequencer.html#g527eff2e3b3c7dd45cac6fdd2ceee964">snd_seq_t</a> *&nbsp;</td>
          <td class="paramname"> <em>seq</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___seq_port.html#g8965bd807641910cedcf97b666c4df47">snd_seq_port_info_t</a> *&nbsp;</td>
          <td class="paramname"> <em>port</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
create a sequencer port on the current client 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>seq</em>&nbsp;</td><td>sequencer handle </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>port</em>&nbsp;</td><td>port information for the new port </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>0 on success otherwise a negative error code</dd></dl>
Creates a sequencer port on the current client. The attributes of created port is specified in <em>info</em> argument.<p>
The client field in <em>info</em> argument is overwritten with the current client id. The port id to be created can be specified via <a class="el" href="group___seq_port.html#gb1fc8e73e42c85ff58116ac5f1297528">snd_seq_port_info_set_port_specified</a>. You can get the created port id by reading the port pointer via <a class="el" href="group___seq_port.html#g832df910bb1997b0bd6484ec71c0cf74">snd_seq_port_info_get_port</a>.<p>
Each port has the capability bit-masks to specify the access capability of the port from other clients. The capability bit flags are defined as follows:<ul>
<li><a class="el" href="group___seq_port.html#gf8314cee6b67d917323efc80111c3416">SND_SEQ_PORT_CAP_READ</a> Readable from this port</li><li><a class="el" href="group___seq_port.html#gc6ebc62833e1e38fc7bdd359d03ba351">SND_SEQ_PORT_CAP_WRITE</a> Writable to this port.</li><li><a class="el" href="group___seq_port.html#gba364ab6d25f5dae8939706c7a068ddc">SND_SEQ_PORT_CAP_SYNC_READ</a> For synchronization (not implemented)</li><li><a class="el" href="group___seq_port.html#g187bf5d820b26da23988ef4bb782990b">SND_SEQ_PORT_CAP_SYNC_WRITE</a> For synchronization (not implemented)</li><li><a class="el" href="group___seq_port.html#g4d3fdf118035a36c28b81018956fc899">SND_SEQ_PORT_CAP_DUPLEX</a> Read/write duplex access is supported</li><li><a class="el" href="group___seq_port.html#g918034026d74475a7798d574caad0e0f">SND_SEQ_PORT_CAP_SUBS_READ</a> Read subscription is allowed</li><li><a class="el" href="group___seq_port.html#g8e75c69db458cd159879f6f4644c77fd">SND_SEQ_PORT_CAP_SUBS_WRITE</a> Write subscription is allowed</li><li><a class="el" href="group___seq_port.html#g974f18adf231901c5052e0ce8acc1415">SND_SEQ_PORT_CAP_NO_EXPORT</a> Subscription management from 3rd client is disallowed</li></ul>
<p>
Each port has also the type bitmasks defined as follows:<ul>
<li><a class="el" href="group___seq_port.html#g84ef79ec908e392de2d4dddebc176270">SND_SEQ_PORT_TYPE_SPECIFIC</a> Hardware specific port</li><li><a class="el" href="group___seq_port.html#g43e52ce669add7af811a5c59abe25faa">SND_SEQ_PORT_TYPE_MIDI_GENERIC</a> Generic MIDI device</li><li><a class="el" href="group___seq_port.html#g851b0f63874a74af8e3a23c8ba216dc6">SND_SEQ_PORT_TYPE_MIDI_GM</a> General MIDI compatible device</li><li><a class="el" href="group___seq_port.html#g64e8919c3df3bc23a7929941849191c1">SND_SEQ_PORT_TYPE_MIDI_GM2</a> General MIDI 2 compatible device</li><li><a class="el" href="group___seq_port.html#gebd107b026364b29c154ba72dca54233">SND_SEQ_PORT_TYPE_MIDI_GS</a> GS compatible device</li><li><a class="el" href="group___seq_port.html#g659b0caa65fbd77083ed6e8a09bf0644">SND_SEQ_PORT_TYPE_MIDI_XG</a> XG compatible device</li><li><a class="el" href="group___seq_port.html#g4f433fbf9d28f5700c140e6b5f6e87f5">SND_SEQ_PORT_TYPE_MIDI_MT32</a> MT-32 compatible device</li><li><a class="el" href="group___seq_port.html#g57e19aaa4cc708ae25eb0ec153f3369b">SND_SEQ_PORT_TYPE_HARDWARE</a> Implemented in hardware</li><li><a class="el" href="group___seq_port.html#gbbaaa072399868e951cf1df3b898b2ff">SND_SEQ_PORT_TYPE_SOFTWARE</a> Implemented in software</li><li><a class="el" href="group___seq_port.html#g1f16762ec93baf9e8ea06ac2808f13d6">SND_SEQ_PORT_TYPE_SYNTHESIZER</a> Generates sound</li><li><a class="el" href="group___seq_port.html#g3456090c440a75af5a9564a29137f1a1">SND_SEQ_PORT_TYPE_PORT</a> Connects to other device(s)</li><li><a class="el" href="group___seq_port.html#g003257f11c7c69e4cf0aad8e3ccf054d">SND_SEQ_PORT_TYPE_APPLICATION</a> Application (sequencer/editor)</li></ul>
<p>
A port may contain specific midi channels, midi voices and synth voices. These values could be zero as default.<p>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group___seq_port.html#gaa13a372738845ee9fe66ca8c7147611">snd_seq_delete_port()</a>, <a class="el" href="group___seq_port.html#gd7c9b36c15c7685c9e18264f934fa7f7">snd_seq_get_port_info()</a>, <a class="el" href="group___seq_middle.html#ge399e1fd02759dd7ac143ecb774fce12">snd_seq_create_simple_port()</a> </dd></dl>

</div>
</div><p>
<a class="anchor" name="gaa13a372738845ee9fe66ca8c7147611"></a><!-- doxytag: member="seq.h::snd_seq_delete_port" ref="gaa13a372738845ee9fe66ca8c7147611" args="(snd_seq_t *handle, int port)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_seq_delete_port           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___sequencer.html#g527eff2e3b3c7dd45cac6fdd2ceee964">snd_seq_t</a> *&nbsp;</td>
          <td class="paramname"> <em>seq</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>port</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
delete a sequencer port on the current client 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>seq</em>&nbsp;</td><td>sequencer handle </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>port</em>&nbsp;</td><td>port to be deleted </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>0 on success otherwise a negative error code</dd></dl>
Deletes the existing sequencer port on the current client.<p>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group___seq_port.html#ge670627e559f1c7892aa30df8febf722">snd_seq_create_port()</a>, <a class="el" href="group___seq_middle.html#g6b8748467dd79245cdefb9960cb17440">snd_seq_delete_simple_port()</a> </dd></dl>

</div>
</div><p>
<a class="anchor" name="g4b26329eba9f2c2a99ee285a92763808"></a><!-- doxytag: member="seq.h::snd_seq_get_any_port_info" ref="g4b26329eba9f2c2a99ee285a92763808" args="(snd_seq_t *handle, int client, int port, snd_seq_port_info_t *info)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_seq_get_any_port_info           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___sequencer.html#g527eff2e3b3c7dd45cac6fdd2ceee964">snd_seq_t</a> *&nbsp;</td>
          <td class="paramname"> <em>seq</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>client</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>port</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___seq_port.html#g8965bd807641910cedcf97b666c4df47">snd_seq_port_info_t</a> *&nbsp;</td>
          <td class="paramname"> <em>info</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
obtain the information of a port on an arbitrary client 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>seq</em>&nbsp;</td><td>sequencer handle </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>client</em>&nbsp;</td><td>client id to get </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>port</em>&nbsp;</td><td>port id to get </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>info</em>&nbsp;</td><td>pointer information returns </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>0 on success otherwise a negative error code</dd></dl>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group___seq_port.html#gd7c9b36c15c7685c9e18264f934fa7f7">snd_seq_get_port_info()</a> </dd></dl>

</div>
</div><p>
<a class="anchor" name="gd7c9b36c15c7685c9e18264f934fa7f7"></a><!-- doxytag: member="seq.h::snd_seq_get_port_info" ref="gd7c9b36c15c7685c9e18264f934fa7f7" args="(snd_seq_t *handle, int port, snd_seq_port_info_t *info)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_seq_get_port_info           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___sequencer.html#g527eff2e3b3c7dd45cac6fdd2ceee964">snd_seq_t</a> *&nbsp;</td>
          <td class="paramname"> <em>seq</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>port</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___seq_port.html#g8965bd807641910cedcf97b666c4df47">snd_seq_port_info_t</a> *&nbsp;</td>
          <td class="paramname"> <em>info</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
obtain the information of a port on the current client 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>seq</em>&nbsp;</td><td>sequencer handle </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>port</em>&nbsp;</td><td>port id to get </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>info</em>&nbsp;</td><td>pointer information returns </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>0 on success otherwise a negative error code</dd></dl>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group___seq_port.html#ge670627e559f1c7892aa30df8febf722">snd_seq_create_port()</a>, <a class="el" href="group___seq_port.html#g4b26329eba9f2c2a99ee285a92763808">snd_seq_get_any_port_info()</a>, <a class="el" href="group___seq_port.html#ge93b22b6f8040686a3322632ced3e55c">snd_seq_set_port_info()</a>, <a class="el" href="group___seq_port.html#g29193cdddb64a4504f75ce40eabf36b9">snd_seq_query_next_port()</a> </dd></dl>

</div>
</div><p>
<a class="anchor" name="g8d084bcb7a30abb52881633eb765202a"></a><!-- doxytag: member="seq.h::snd_seq_port_info_copy" ref="g8d084bcb7a30abb52881633eb765202a" args="(snd_seq_port_info_t *dst, const snd_seq_port_info_t *src)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void snd_seq_port_info_copy           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___seq_port.html#g8965bd807641910cedcf97b666c4df47">snd_seq_port_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___seq_port.html#g8965bd807641910cedcf97b666c4df47">snd_seq_port_info_t</a> *&nbsp;</td>
          <td class="paramname"> <em>src</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
copy one <a class="el" href="group___seq_port.html#g8965bd807641910cedcf97b666c4df47">snd_seq_port_info_t</a> to another 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>dst</em>&nbsp;</td><td>pointer to destination </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>src</em>&nbsp;</td><td>pointer to source </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="g9164b08b5969cc917bed8717c4a060de"></a><!-- doxytag: member="seq.h::snd_seq_port_info_free" ref="g9164b08b5969cc917bed8717c4a060de" args="(snd_seq_port_info_t *ptr)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void snd_seq_port_info_free           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___seq_port.html#g8965bd807641910cedcf97b666c4df47">snd_seq_port_info_t</a> *&nbsp;</td>
          <td class="paramname"> <em>obj</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
frees a previously allocated <a class="el" href="group___seq_port.html#g8965bd807641910cedcf97b666c4df47">snd_seq_port_info_t</a> 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>pointer to object to free </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="ge17bebc26b990ba9c2ceb3634e4fb420"></a><!-- doxytag: member="seq.h::snd_seq_port_info_get_addr" ref="ge17bebc26b990ba9c2ceb3634e4fb420" args="(const snd_seq_port_info_t *info)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="structsnd__seq__addr.html">snd_seq_addr_t</a>* snd_seq_port_info_get_addr           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group___seq_port.html#g8965bd807641910cedcf97b666c4df47">snd_seq_port_info_t</a> *&nbsp;</td>
          <td class="paramname"> <em>info</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get client/port address of a port_info container. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>info</em>&nbsp;</td><td>port_info container </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>client/port address pointer</dd></dl>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group___seq_port.html#gd7c9b36c15c7685c9e18264f934fa7f7">snd_seq_get_port_info()</a>, <a class="el" href="group___seq_port.html#gbfc664df083b441db8ad5dea00f4fa6b">snd_seq_port_info_set_addr()</a> </dd></dl>

</div>
</div><p>
<a class="anchor" name="ge7204d3cf8982fe086128de3a912b97e"></a><!-- doxytag: member="seq.h::snd_seq_port_info_get_capability" ref="ge7204d3cf8982fe086128de3a912b97e" args="(const snd_seq_port_info_t *info)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int snd_seq_port_info_get_capability           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group___seq_port.html#g8965bd807641910cedcf97b666c4df47">snd_seq_port_info_t</a> *&nbsp;</td>
          <td class="paramname"> <em>info</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the capability bits of a port_info container. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>info</em>&nbsp;</td><td>port_info container </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>capability bits</dd></dl>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group___seq_port.html#gd7c9b36c15c7685c9e18264f934fa7f7">snd_seq_get_port_info()</a>, <a class="el" href="group___seq_port.html#gb03413b638c4c857b18b7e630bf0302f">snd_seq_port_info_set_capability()</a> </dd></dl>

</div>
</div><p>
<a class="anchor" name="gacbdec1f4e74eae6d808fca6fb9b8c78"></a><!-- doxytag: member="seq.h::snd_seq_port_info_get_client" ref="gacbdec1f4e74eae6d808fca6fb9b8c78" args="(const snd_seq_port_info_t *info)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_seq_port_info_get_client           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group___seq_port.html#g8965bd807641910cedcf97b666c4df47">snd_seq_port_info_t</a> *&nbsp;</td>
          <td class="paramname"> <em>info</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get client id of a port_info container. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>info</em>&nbsp;</td><td>port_info container </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>client id</dd></dl>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group___seq_port.html#gd7c9b36c15c7685c9e18264f934fa7f7">snd_seq_get_port_info()</a>, <a class="el" href="group___seq_port.html#g0395e3e1265efbe0dafb479dcb6dc416">snd_seq_port_info_set_client()</a> </dd></dl>

</div>
</div><p>
<a class="anchor" name="g9be28773770e0e8889f11483f901154b"></a><!-- doxytag: member="seq.h::snd_seq_port_info_get_midi_channels" ref="g9be28773770e0e8889f11483f901154b" args="(const snd_seq_port_info_t *info)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_seq_port_info_get_midi_channels           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group___seq_port.html#g8965bd807641910cedcf97b666c4df47">snd_seq_port_info_t</a> *&nbsp;</td>
          <td class="paramname"> <em>info</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the midi channels of a port_info container. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>info</em>&nbsp;</td><td>port_info container </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>number of midi channels (default 0)</dd></dl>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group___seq_port.html#gd7c9b36c15c7685c9e18264f934fa7f7">snd_seq_get_port_info()</a>, <a class="el" href="group___seq_port.html#ge663770f4e8bf08f2a6fbfd4a7c04a25">snd_seq_port_info_set_midi_channels()</a> </dd></dl>

</div>
</div><p>
<a class="anchor" name="g20e828a6f90f85240619bd561c4d8c0a"></a><!-- doxytag: member="seq.h::snd_seq_port_info_get_midi_voices" ref="g20e828a6f90f85240619bd561c4d8c0a" args="(const snd_seq_port_info_t *info)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_seq_port_info_get_midi_voices           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group___seq_port.html#g8965bd807641910cedcf97b666c4df47">snd_seq_port_info_t</a> *&nbsp;</td>
          <td class="paramname"> <em>info</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the midi voices of a port_info container. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>info</em>&nbsp;</td><td>port_info container </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>number of midi voices (default 0)</dd></dl>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group___seq_port.html#gd7c9b36c15c7685c9e18264f934fa7f7">snd_seq_get_port_info()</a>, <a class="el" href="group___seq_port.html#gd8bb103f8783ada671ae1eac9e5b792c">snd_seq_port_info_set_midi_voices()</a> </dd></dl>

</div>
</div><p>
<a class="anchor" name="g95ddb79c20a5feef834756855403c308"></a><!-- doxytag: member="seq.h::snd_seq_port_info_get_name" ref="g95ddb79c20a5feef834756855403c308" args="(const snd_seq_port_info_t *info)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* snd_seq_port_info_get_name           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group___seq_port.html#g8965bd807641910cedcf97b666c4df47">snd_seq_port_info_t</a> *&nbsp;</td>
          <td class="paramname"> <em>info</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the name of a port_info container. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>info</em>&nbsp;</td><td>port_info container </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>name string</dd></dl>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group___seq_port.html#gd7c9b36c15c7685c9e18264f934fa7f7">snd_seq_get_port_info()</a>, <a class="el" href="group___seq_port.html#g0935aad2ca42526e4b4fdc468e7af2f8">snd_seq_port_info_set_name()</a> </dd></dl>

</div>
</div><p>
<a class="anchor" name="g832df910bb1997b0bd6484ec71c0cf74"></a><!-- doxytag: member="seq.h::snd_seq_port_info_get_port" ref="g832df910bb1997b0bd6484ec71c0cf74" args="(const snd_seq_port_info_t *info)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_seq_port_info_get_port           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group___seq_port.html#g8965bd807641910cedcf97b666c4df47">snd_seq_port_info_t</a> *&nbsp;</td>
          <td class="paramname"> <em>info</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get port id of a port_info container. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>info</em>&nbsp;</td><td>port_info container </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>port id</dd></dl>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group___seq_port.html#gd7c9b36c15c7685c9e18264f934fa7f7">snd_seq_get_port_info()</a>, <a class="el" href="group___seq_port.html#g9b917fab91edf323bd8674803680140b">snd_seq_port_info_set_port()</a> </dd></dl>

</div>
</div><p>
<a class="anchor" name="g7ed0fe19efadd4ed6a08fa54ffeb9328"></a><!-- doxytag: member="seq.h::snd_seq_port_info_get_port_specified" ref="g7ed0fe19efadd4ed6a08fa54ffeb9328" args="(const snd_seq_port_info_t *info)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_seq_port_info_get_port_specified           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group___seq_port.html#g8965bd807641910cedcf97b666c4df47">snd_seq_port_info_t</a> *&nbsp;</td>
          <td class="paramname"> <em>info</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the port-specified mode of a port_info container. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>info</em>&nbsp;</td><td>port_info container </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>1 if port id is specified at creation</dd></dl>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group___seq_port.html#gd7c9b36c15c7685c9e18264f934fa7f7">snd_seq_get_port_info()</a>, <a class="el" href="group___seq_port.html#gb1fc8e73e42c85ff58116ac5f1297528">snd_seq_port_info_set_port_specified()</a> </dd></dl>

</div>
</div><p>
<a class="anchor" name="g1e6079b17184de0a57fea9d7291a2e32"></a><!-- doxytag: member="seq.h::snd_seq_port_info_get_read_use" ref="g1e6079b17184de0a57fea9d7291a2e32" args="(const snd_seq_port_info_t *info)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_seq_port_info_get_read_use           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group___seq_port.html#g8965bd807641910cedcf97b666c4df47">snd_seq_port_info_t</a> *&nbsp;</td>
          <td class="paramname"> <em>info</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the number of read subscriptions of a port_info container. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>info</em>&nbsp;</td><td>port_info container </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>number of read subscriptions</dd></dl>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group___seq_port.html#gd7c9b36c15c7685c9e18264f934fa7f7">snd_seq_get_port_info()</a> </dd></dl>

</div>
</div><p>
<a class="anchor" name="g68ec8e7989c5d97ee2eef375d169f64f"></a><!-- doxytag: member="seq.h::snd_seq_port_info_get_synth_voices" ref="g68ec8e7989c5d97ee2eef375d169f64f" args="(const snd_seq_port_info_t *info)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_seq_port_info_get_synth_voices           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group___seq_port.html#g8965bd807641910cedcf97b666c4df47">snd_seq_port_info_t</a> *&nbsp;</td>
          <td class="paramname"> <em>info</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the synth voices of a port_info container. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>info</em>&nbsp;</td><td>port_info container </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>number of synth voices (default 0)</dd></dl>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group___seq_port.html#gd7c9b36c15c7685c9e18264f934fa7f7">snd_seq_get_port_info()</a>, <a class="el" href="group___seq_port.html#gd08e81bba281c0832a3613c5a0ab8830">snd_seq_port_info_set_synth_voices()</a> </dd></dl>

</div>
</div><p>
<a class="anchor" name="gef57005f1f713d024736395427f005f0"></a><!-- doxytag: member="seq.h::snd_seq_port_info_get_timestamp_queue" ref="gef57005f1f713d024736395427f005f0" args="(const snd_seq_port_info_t *info)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_seq_port_info_get_timestamp_queue           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group___seq_port.html#g8965bd807641910cedcf97b666c4df47">snd_seq_port_info_t</a> *&nbsp;</td>
          <td class="paramname"> <em>info</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the queue id to update timestamps. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>info</em>&nbsp;</td><td>port_info container </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>the queue id to get the timestamps</dd></dl>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group___seq_port.html#gd7c9b36c15c7685c9e18264f934fa7f7">snd_seq_get_port_info()</a>, <a class="el" href="group___seq_port.html#ge307b68f9b30760eb0334b48e05239a4">snd_seq_port_info_set_timestamp_queue()</a> </dd></dl>

</div>
</div><p>
<a class="anchor" name="g366417f29861ee1a7a51fc33651cfc03"></a><!-- doxytag: member="seq.h::snd_seq_port_info_get_timestamp_real" ref="g366417f29861ee1a7a51fc33651cfc03" args="(const snd_seq_port_info_t *info)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_seq_port_info_get_timestamp_real           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group___seq_port.html#g8965bd807641910cedcf97b666c4df47">snd_seq_port_info_t</a> *&nbsp;</td>
          <td class="paramname"> <em>info</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get whether the time-stamping of the given port is real-time mode. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>info</em>&nbsp;</td><td>port_info container </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>1 if the time-stamping is in the real-time mode</dd></dl>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group___seq_port.html#gd7c9b36c15c7685c9e18264f934fa7f7">snd_seq_get_port_info()</a>, <a class="el" href="group___seq_port.html#g0353b5b0c642c038d63ff2efd4637e69">snd_seq_port_info_set_timestamp_real()</a> </dd></dl>

</div>
</div><p>
<a class="anchor" name="gba28218a6a55ec826ed847cea3d69c0a"></a><!-- doxytag: member="seq.h::snd_seq_port_info_get_timestamping" ref="gba28218a6a55ec826ed847cea3d69c0a" args="(const snd_seq_port_info_t *info)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_seq_port_info_get_timestamping           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group___seq_port.html#g8965bd807641910cedcf97b666c4df47">snd_seq_port_info_t</a> *&nbsp;</td>
          <td class="paramname"> <em>info</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the time-stamping mode of the given port in a port_info container. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>info</em>&nbsp;</td><td>port_info container </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>1 if the port updates timestamps of incoming events</dd></dl>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group___seq_port.html#gd7c9b36c15c7685c9e18264f934fa7f7">snd_seq_get_port_info()</a>, <a class="el" href="group___seq_port.html#gaa2420696044f805f4172be758f56b45">snd_seq_port_info_set_timestamping()</a> </dd></dl>

</div>
</div><p>
<a class="anchor" name="g3171324b482f9343000e6a8fd0ddeb60"></a><!-- doxytag: member="seq.h::snd_seq_port_info_get_type" ref="g3171324b482f9343000e6a8fd0ddeb60" args="(const snd_seq_port_info_t *info)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int snd_seq_port_info_get_type           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group___seq_port.html#g8965bd807641910cedcf97b666c4df47">snd_seq_port_info_t</a> *&nbsp;</td>
          <td class="paramname"> <em>info</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the type bits of a port_info container. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>info</em>&nbsp;</td><td>port_info container </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>port type bits</dd></dl>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group___seq_port.html#gd7c9b36c15c7685c9e18264f934fa7f7">snd_seq_get_port_info()</a>, <a class="el" href="group___seq_port.html#g8bb3260f863a02999fd8f206868caeea">snd_seq_port_info_set_type()</a> </dd></dl>

</div>
</div><p>
<a class="anchor" name="g015c24d840c2478b44c8687cad45d1bf"></a><!-- doxytag: member="seq.h::snd_seq_port_info_get_write_use" ref="g015c24d840c2478b44c8687cad45d1bf" args="(const snd_seq_port_info_t *info)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_seq_port_info_get_write_use           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group___seq_port.html#g8965bd807641910cedcf97b666c4df47">snd_seq_port_info_t</a> *&nbsp;</td>
          <td class="paramname"> <em>info</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the number of write subscriptions of a port_info container. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>info</em>&nbsp;</td><td>port_info container </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>number of write subscriptions</dd></dl>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group___seq_port.html#gd7c9b36c15c7685c9e18264f934fa7f7">snd_seq_get_port_info()</a> </dd></dl>

</div>
</div><p>
<a class="anchor" name="ge73e8de284fa53e14b599ba021475a62"></a><!-- doxytag: member="seq.h::snd_seq_port_info_malloc" ref="ge73e8de284fa53e14b599ba021475a62" args="(snd_seq_port_info_t **ptr)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_seq_port_info_malloc           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___seq_port.html#g8965bd807641910cedcf97b666c4df47">snd_seq_port_info_t</a> **&nbsp;</td>
          <td class="paramname"> <em>ptr</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
allocate an empty <a class="el" href="group___seq_port.html#g8965bd807641910cedcf97b666c4df47">snd_seq_port_info_t</a> using standard malloc 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>ptr</em>&nbsp;</td><td>returned pointer </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>0 on success otherwise negative error code </dd></dl>

</div>
</div><p>
<a class="anchor" name="gbfc664df083b441db8ad5dea00f4fa6b"></a><!-- doxytag: member="seq.h::snd_seq_port_info_set_addr" ref="gbfc664df083b441db8ad5dea00f4fa6b" args="(snd_seq_port_info_t *info, const snd_seq_addr_t *addr)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void snd_seq_port_info_set_addr           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___seq_port.html#g8965bd807641910cedcf97b666c4df47">snd_seq_port_info_t</a> *&nbsp;</td>
          <td class="paramname"> <em>info</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structsnd__seq__addr.html">snd_seq_addr_t</a> *&nbsp;</td>
          <td class="paramname"> <em>addr</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set the client/port address of a port_info container. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>info</em>&nbsp;</td><td>port_info container </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>addr</em>&nbsp;</td><td>client/port address</td></tr>
  </table>
</dl>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group___seq_port.html#gd7c9b36c15c7685c9e18264f934fa7f7">snd_seq_get_port_info()</a>, <a class="el" href="group___seq_port.html#ge17bebc26b990ba9c2ceb3634e4fb420">snd_seq_port_info_get_addr()</a> </dd></dl>

</div>
</div><p>
<a class="anchor" name="gb03413b638c4c857b18b7e630bf0302f"></a><!-- doxytag: member="seq.h::snd_seq_port_info_set_capability" ref="gb03413b638c4c857b18b7e630bf0302f" args="(snd_seq_port_info_t *info, unsigned int capability)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void snd_seq_port_info_set_capability           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___seq_port.html#g8965bd807641910cedcf97b666c4df47">snd_seq_port_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>capability</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
set the capability bits of a port_info container 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>info</em>&nbsp;</td><td>port_info container </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>capability</em>&nbsp;</td><td>capability bits</td></tr>
  </table>
</dl>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group___seq_port.html#gd7c9b36c15c7685c9e18264f934fa7f7">snd_seq_get_port_info()</a>, <a class="el" href="group___seq_port.html#ge7204d3cf8982fe086128de3a912b97e">snd_seq_port_info_get_capability()</a> </dd></dl>

</div>
</div><p>
<a class="anchor" name="g0395e3e1265efbe0dafb479dcb6dc416"></a><!-- doxytag: member="seq.h::snd_seq_port_info_set_client" ref="g0395e3e1265efbe0dafb479dcb6dc416" args="(snd_seq_port_info_t *info, int client)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void snd_seq_port_info_set_client           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___seq_port.html#g8965bd807641910cedcf97b666c4df47">snd_seq_port_info_t</a> *&nbsp;</td>
          <td class="paramname"> <em>info</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>client</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set the client id of a port_info container. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>info</em>&nbsp;</td><td>port_info container </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>client</em>&nbsp;</td><td>client id</td></tr>
  </table>
</dl>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group___seq_port.html#gd7c9b36c15c7685c9e18264f934fa7f7">snd_seq_get_port_info()</a>, <a class="el" href="group___seq_port.html#gacbdec1f4e74eae6d808fca6fb9b8c78">snd_seq_port_info_get_client()</a> </dd></dl>

</div>
</div><p>
<a class="anchor" name="ge663770f4e8bf08f2a6fbfd4a7c04a25"></a><!-- doxytag: member="seq.h::snd_seq_port_info_set_midi_channels" ref="ge663770f4e8bf08f2a6fbfd4a7c04a25" args="(snd_seq_port_info_t *info, int channels)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void snd_seq_port_info_set_midi_channels           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___seq_port.html#g8965bd807641910cedcf97b666c4df47">snd_seq_port_info_t</a> *&nbsp;</td>
          <td class="paramname"> <em>info</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>channels</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
set the midi channels of a port_info container 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>info</em>&nbsp;</td><td>port_info container </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>channels</em>&nbsp;</td><td>midi channels (default 0)</td></tr>
  </table>
</dl>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group___seq_port.html#gd7c9b36c15c7685c9e18264f934fa7f7">snd_seq_get_port_info()</a>, <a class="el" href="group___seq_port.html#g9be28773770e0e8889f11483f901154b">snd_seq_port_info_get_midi_channels()</a> </dd></dl>

</div>
</div><p>
<a class="anchor" name="gd8bb103f8783ada671ae1eac9e5b792c"></a><!-- doxytag: member="seq.h::snd_seq_port_info_set_midi_voices" ref="gd8bb103f8783ada671ae1eac9e5b792c" args="(snd_seq_port_info_t *info, int voices)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void snd_seq_port_info_set_midi_voices           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___seq_port.html#g8965bd807641910cedcf97b666c4df47">snd_seq_port_info_t</a> *&nbsp;</td>
          <td class="paramname"> <em>info</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>voices</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
set the midi voices of a port_info container 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>info</em>&nbsp;</td><td>port_info container </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>voices</em>&nbsp;</td><td>midi voices (default 0)</td></tr>
  </table>
</dl>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group___seq_port.html#gd7c9b36c15c7685c9e18264f934fa7f7">snd_seq_get_port_info()</a>, <a class="el" href="group___seq_port.html#g20e828a6f90f85240619bd561c4d8c0a">snd_seq_port_info_get_midi_voices()</a> </dd></dl>

</div>
</div><p>
<a class="anchor" name="g0935aad2ca42526e4b4fdc468e7af2f8"></a><!-- doxytag: member="seq.h::snd_seq_port_info_set_name" ref="g0935aad2ca42526e4b4fdc468e7af2f8" args="(snd_seq_port_info_t *info, const char *name)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void snd_seq_port_info_set_name           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___seq_port.html#g8965bd807641910cedcf97b666c4df47">snd_seq_port_info_t</a> *&nbsp;</td>
          <td class="paramname"> <em>info</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>name</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set the name of a port_info container. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>info</em>&nbsp;</td><td>port_info container </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>name string</td></tr>
  </table>
</dl>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group___seq_port.html#gd7c9b36c15c7685c9e18264f934fa7f7">snd_seq_get_port_info()</a>, <a class="el" href="group___seq_port.html#g95ddb79c20a5feef834756855403c308">snd_seq_port_info_get_name()</a> </dd></dl>

</div>
</div><p>
<a class="anchor" name="g9b917fab91edf323bd8674803680140b"></a><!-- doxytag: member="seq.h::snd_seq_port_info_set_port" ref="g9b917fab91edf323bd8674803680140b" args="(snd_seq_port_info_t *info, int port)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void snd_seq_port_info_set_port           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___seq_port.html#g8965bd807641910cedcf97b666c4df47">snd_seq_port_info_t</a> *&nbsp;</td>
          <td class="paramname"> <em>info</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>port</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set the port id of a port_info container. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>info</em>&nbsp;</td><td>port_info container </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>port</em>&nbsp;</td><td>port id</td></tr>
  </table>
</dl>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group___seq_port.html#gd7c9b36c15c7685c9e18264f934fa7f7">snd_seq_get_port_info()</a>, <a class="el" href="group___seq_port.html#g832df910bb1997b0bd6484ec71c0cf74">snd_seq_port_info_get_port()</a> </dd></dl>

</div>
</div><p>
<a class="anchor" name="gb1fc8e73e42c85ff58116ac5f1297528"></a><!-- doxytag: member="seq.h::snd_seq_port_info_set_port_specified" ref="gb1fc8e73e42c85ff58116ac5f1297528" args="(snd_seq_port_info_t *info, int val)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void snd_seq_port_info_set_port_specified           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___seq_port.html#g8965bd807641910cedcf97b666c4df47">snd_seq_port_info_t</a> *&nbsp;</td>
          <td class="paramname"> <em>info</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>val</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set the port-specified mode of a port_info container. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>info</em>&nbsp;</td><td>port_info container </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>val</em>&nbsp;</td><td>non-zero if specifying the port id at creation</td></tr>
  </table>
</dl>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group___seq_port.html#gd7c9b36c15c7685c9e18264f934fa7f7">snd_seq_get_port_info()</a>, <a class="el" href="group___seq_port.html#g7ed0fe19efadd4ed6a08fa54ffeb9328">snd_seq_port_info_get_port_specified()</a> </dd></dl>

</div>
</div><p>
<a class="anchor" name="gd08e81bba281c0832a3613c5a0ab8830"></a><!-- doxytag: member="seq.h::snd_seq_port_info_set_synth_voices" ref="gd08e81bba281c0832a3613c5a0ab8830" args="(snd_seq_port_info_t *info, int voices)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void snd_seq_port_info_set_synth_voices           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___seq_port.html#g8965bd807641910cedcf97b666c4df47">snd_seq_port_info_t</a> *&nbsp;</td>
          <td class="paramname"> <em>info</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>voices</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
set the synth voices of a port_info container 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>info</em>&nbsp;</td><td>port_info container </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>voices</em>&nbsp;</td><td>synth voices (default 0)</td></tr>
  </table>
</dl>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group___seq_port.html#gd7c9b36c15c7685c9e18264f934fa7f7">snd_seq_get_port_info()</a>, snd_seq_port_info_get_synth_voice() </dd></dl>

</div>
</div><p>
<a class="anchor" name="ge307b68f9b30760eb0334b48e05239a4"></a><!-- doxytag: member="seq.h::snd_seq_port_info_set_timestamp_queue" ref="ge307b68f9b30760eb0334b48e05239a4" args="(snd_seq_port_info_t *info, int queue)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void snd_seq_port_info_set_timestamp_queue           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___seq_port.html#g8965bd807641910cedcf97b666c4df47">snd_seq_port_info_t</a> *&nbsp;</td>
          <td class="paramname"> <em>info</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>queue</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set the queue id for timestamping. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>info</em>&nbsp;</td><td>port_info container </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>queue</em>&nbsp;</td><td>the queue id to get timestamps</td></tr>
  </table>
</dl>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group___seq_port.html#gd7c9b36c15c7685c9e18264f934fa7f7">snd_seq_get_port_info()</a>, <a class="el" href="group___seq_port.html#gef57005f1f713d024736395427f005f0">snd_seq_port_info_get_timestamp_queue()</a> </dd></dl>

</div>
</div><p>
<a class="anchor" name="g0353b5b0c642c038d63ff2efd4637e69"></a><!-- doxytag: member="seq.h::snd_seq_port_info_set_timestamp_real" ref="g0353b5b0c642c038d63ff2efd4637e69" args="(snd_seq_port_info_t *info, int realtime)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void snd_seq_port_info_set_timestamp_real           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___seq_port.html#g8965bd807641910cedcf97b666c4df47">snd_seq_port_info_t</a> *&nbsp;</td>
          <td class="paramname"> <em>info</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>enable</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set whether the timestime is updated in the real-time mode. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>info</em>&nbsp;</td><td>port_info container </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>enable</em>&nbsp;</td><td>non-zero if updating the timestamps in real-time mode</td></tr>
  </table>
</dl>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group___seq_port.html#gd7c9b36c15c7685c9e18264f934fa7f7">snd_seq_get_port_info()</a>, <a class="el" href="group___seq_port.html#g366417f29861ee1a7a51fc33651cfc03">snd_seq_port_info_get_timestamp_real()</a> </dd></dl>

</div>
</div><p>
<a class="anchor" name="gaa2420696044f805f4172be758f56b45"></a><!-- doxytag: member="seq.h::snd_seq_port_info_set_timestamping" ref="gaa2420696044f805f4172be758f56b45" args="(snd_seq_port_info_t *info, int enable)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void snd_seq_port_info_set_timestamping           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___seq_port.html#g8965bd807641910cedcf97b666c4df47">snd_seq_port_info_t</a> *&nbsp;</td>
          <td class="paramname"> <em>info</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>enable</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set the time-stamping mode of the given port. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>info</em>&nbsp;</td><td>port_info container </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>enable</em>&nbsp;</td><td>non-zero if updating the timestamps of incoming events</td></tr>
  </table>
</dl>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group___seq_port.html#gd7c9b36c15c7685c9e18264f934fa7f7">snd_seq_get_port_info()</a>, <a class="el" href="group___seq_port.html#gba28218a6a55ec826ed847cea3d69c0a">snd_seq_port_info_get_timestamping()</a> </dd></dl>

</div>
</div><p>
<a class="anchor" name="g8bb3260f863a02999fd8f206868caeea"></a><!-- doxytag: member="seq.h::snd_seq_port_info_set_type" ref="g8bb3260f863a02999fd8f206868caeea" args="(snd_seq_port_info_t *info, unsigned int type)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void snd_seq_port_info_set_type           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___seq_port.html#g8965bd807641910cedcf97b666c4df47">snd_seq_port_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>type</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the type bits of a port_info container. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>info</em>&nbsp;</td><td>port_info container </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>type</em>&nbsp;</td><td>port type bits</td></tr>
  </table>
</dl>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group___seq_port.html#gd7c9b36c15c7685c9e18264f934fa7f7">snd_seq_get_port_info()</a>, <a class="el" href="group___seq_port.html#g3171324b482f9343000e6a8fd0ddeb60">snd_seq_port_info_get_type()</a> </dd></dl>

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

<p>
get size of <a class="el" href="group___seq_port.html#g8965bd807641910cedcf97b666c4df47">snd_seq_port_info_t</a> 
<p>
<dl compact><dt><b>Returns:</b></dt><dd>size in bytes </dd></dl>

</div>
</div><p>
<a class="anchor" name="g29193cdddb64a4504f75ce40eabf36b9"></a><!-- doxytag: member="seq.h::snd_seq_query_next_port" ref="g29193cdddb64a4504f75ce40eabf36b9" args="(snd_seq_t *handle, snd_seq_port_info_t *info)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_seq_query_next_port           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___sequencer.html#g527eff2e3b3c7dd45cac6fdd2ceee964">snd_seq_t</a> *&nbsp;</td>
          <td class="paramname"> <em>seq</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___seq_port.html#g8965bd807641910cedcf97b666c4df47">snd_seq_port_info_t</a> *&nbsp;</td>
          <td class="paramname"> <em>info</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
query the next matching port 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>seq</em>&nbsp;</td><td>sequencer handle </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>info</em>&nbsp;</td><td>query pattern and result</td></tr>
  </table>
</dl>
Queries the next matching port on the client specified in <em>info</em> argument. The search begins at the next port specified in port field of <em>info</em> argument. For finding the first port at a certain client, give -1.<p>
If a matching port is found, its attributes are stored on <em>info</em> and function returns zero. Otherwise, a negative error code is returned.<p>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group___seq_port.html#gd7c9b36c15c7685c9e18264f934fa7f7">snd_seq_get_port_info()</a> </dd></dl>

</div>
</div><p>
<a class="anchor" name="ge93b22b6f8040686a3322632ced3e55c"></a><!-- doxytag: member="seq.h::snd_seq_set_port_info" ref="ge93b22b6f8040686a3322632ced3e55c" args="(snd_seq_t *handle, int port, snd_seq_port_info_t *info)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_seq_set_port_info           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___sequencer.html#g527eff2e3b3c7dd45cac6fdd2ceee964">snd_seq_t</a> *&nbsp;</td>
          <td class="paramname"> <em>seq</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>port</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___seq_port.html#g8965bd807641910cedcf97b666c4df47">snd_seq_port_info_t</a> *&nbsp;</td>
          <td class="paramname"> <em>info</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
set the information of a port on the current client 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>seq</em>&nbsp;</td><td>sequencer handle </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>port</em>&nbsp;</td><td>port to be set </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>info</em>&nbsp;</td><td>port information to be set </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>0 on success otherwise a negative error code</dd></dl>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group___seq_port.html#ge93b22b6f8040686a3322632ced3e55c">snd_seq_set_port_info()</a> </dd></dl>

</div>
</div><p>
<hr size="1"><address style="align: right;"><small>Generated on Tue Jan 20 22:42:10 2009 for ALSA project - the C library reference by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
</body>
</html>