<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> <title>Hardware Dependant Interface</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> </head><body> <!-- Generated by Doxygen 1.2.18 --> <center> <a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="modules.html">Modules</a> <a class="qindex" href="annotated.html">Data Structures</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Data Fields</a> <a class="qindex" href="globals.html">Globals</a> <a class="qindex" href="pages.html">Related Pages</a> <a class="qindex" href="examples.html">Examples</a> </center> <hr><h1>Hardware Dependant Interface</h1><table border=0 cellpadding=0 cellspacing=0> <tr><td></td></tr> <tr><td colspan=2><br><h2>Defines</h2></td></tr> <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group___hw_dep.html#a23">SND_HWDEP_DLSYM_VERSION</a> _dlsym_hwdep_001</td></tr> <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group___hw_dep.html#a24">SND_HWDEP_OPEN_READ</a> (O_RDONLY)</td></tr> <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group___hw_dep.html#a25">SND_HWDEP_OPEN_WRITE</a> (O_WRONLY)</td></tr> <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group___hw_dep.html#a26">SND_HWDEP_OPEN_DUPLEX</a> (O_RDWR)</td></tr> <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group___hw_dep.html#a27">SND_HWDEP_OPEN_NONBLOCK</a> (O_NONBLOCK)</td></tr> <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group___hw_dep.html#a28">snd_hwdep_info_alloca</a>(ptr) do { assert(ptr); *ptr = (<a class="el" href="group___hw_dep.html#a0">snd_hwdep_info_t</a> *) alloca(snd_hwdep_info_sizeof()); memset(*ptr, 0, snd_hwdep_info_sizeof()); } while (0)</td></tr> <tr><td colspan=2><br><h2>Typedefs</h2></td></tr> <tr><td nowrap align=right valign=top>typedef _snd_hwdep_info </td><td valign=bottom><a class="el" href="group___hw_dep.html#a0">snd_hwdep_info_t</a></td></tr> <tr><td nowrap align=right valign=top>typedef enum <a class="el" href="group___hw_dep.html#a29">_snd_hwdep_iface</a> </td><td valign=bottom><a class="el" href="group___hw_dep.html#a1">snd_hwdep_iface_t</a></td></tr> <tr><td nowrap align=right valign=top>typedef enum <a class="el" href="group___hw_dep.html#a30">_snd_hwdep_type</a> </td><td valign=bottom><a class="el" href="group___hw_dep.html#a2">snd_hwdep_type_t</a></td></tr> <tr><td nowrap align=right valign=top>typedef _snd_hwdep </td><td valign=bottom><a class="el" href="group___hw_dep.html#a3">snd_hwdep_t</a></td></tr> <tr><td colspan=2><br><h2>Enumerations</h2></td></tr> <tr><td nowrap align=right valign=top>enum </td><td valign=bottom><a class="el" href="group___hw_dep.html#a29">_snd_hwdep_iface</a> { <br> <a class="el" href="group___hw_dep.html#a29a10">SND_HWDEP_IFACE_OPL2</a> = 0, <a class="el" href="group___hw_dep.html#a29a11">SND_HWDEP_IFACE_OPL3</a>, <a class="el" href="group___hw_dep.html#a29a12">SND_HWDEP_IFACE_OPL4</a>, <a class="el" href="group___hw_dep.html#a29a13">SND_HWDEP_IFACE_SB16CSP</a>, <br> <a class="el" href="group___hw_dep.html#a29a14">SND_HWDEP_IFACE_EMU10K1</a>, <a class="el" href="group___hw_dep.html#a29a15">SND_HWDEP_IFACE_YSS225</a>, <a class="el" href="group___hw_dep.html#a29a16">SND_HWDEP_IFACE_ICS2115</a>, <a class="el" href="group___hw_dep.html#a29a17">SND_HWDEP_IFACE_LAST</a> = SND_HWDEP_IFACE_ICS2115 <br> }</td></tr> <tr><td nowrap align=right valign=top>enum </td><td valign=bottom><a class="el" href="group___hw_dep.html#a30">_snd_hwdep_type</a> { <a class="el" href="group___hw_dep.html#a30a18">SND_HWDEP_TYPE_HW</a>, <a class="el" href="group___hw_dep.html#a30a19">SND_HWDEP_TYPE_SHM</a>, <a class="el" href="group___hw_dep.html#a30a20">SND_HWDEP_TYPE_INET</a> }</td></tr> <tr><td colspan=2><br><h2>Functions</h2></td></tr> <tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="group___hw_dep.html#a4">snd_hwdep_open</a> (<a class="el" href="group___hw_dep.html#a3">snd_hwdep_t</a> **hwdep, const char *name, int mode)</td></tr> <tr><td> </td><td><font size=-1><em>Opens a new connection to the HwDep interface.</em> <a href="#a4"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="group___hw_dep.html#a5">snd_hwdep_close</a> (<a class="el" href="group___hw_dep.html#a3">snd_hwdep_t</a> *hwdep)</td></tr> <tr><td> </td><td><font size=-1><em>close HwDep handle</em> <a href="#a5"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="group___hw_dep.html#a6">snd_hwdep_poll_descriptors</a> (<a class="el" href="group___hw_dep.html#a3">snd_hwdep_t</a> *hwdep, struct pollfd *pfds, unsigned int space)</td></tr> <tr><td> </td><td><font size=-1><em>get poll descriptors</em> <a href="#a6"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="group___hw_dep.html#a7">snd_hwdep_poll_descriptors_revents</a> (<a class="el" href="group___hw_dep.html#a3">snd_hwdep_t</a> *hwdep, struct pollfd *pfds, unsigned int nfds, unsigned short *revents)</td></tr> <tr><td> </td><td><font size=-1><em>get returned events from poll descriptors</em> <a href="#a7"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="group___hw_dep.html#a8">snd_hwdep_nonblock</a> (<a class="el" href="group___hw_dep.html#a3">snd_hwdep_t</a> *hwdep, int nonblock)</td></tr> <tr><td> </td><td><font size=-1><em>set nonblock mode</em> <a href="#a8"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="group___hw_dep.html#a9">snd_hwdep_info</a> (<a class="el" href="group___hw_dep.html#a3">snd_hwdep_t</a> *hwdep, <a class="el" href="group___hw_dep.html#a0">snd_hwdep_info_t</a> *info)</td></tr> <tr><td> </td><td><font size=-1><em>get information about HwDep handle</em> <a href="#a9"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="group___hw_dep.html#a10">snd_hwdep_ioctl</a> (<a class="el" href="group___hw_dep.html#a3">snd_hwdep_t</a> *hwdep, unsigned int request, void *arg)</td></tr> <tr><td> </td><td><font size=-1><em>do hardware dependent ioctl</em> <a href="#a10"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>ssize_t </td><td valign=bottom><a class="el" href="group___hw_dep.html#a11">snd_hwdep_write</a> (<a class="el" href="group___hw_dep.html#a3">snd_hwdep_t</a> *hwdep, const void *buffer, size_t size)</td></tr> <tr><td> </td><td><font size=-1><em>write bytes using HwDep handle</em> <a href="#a11"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>ssize_t </td><td valign=bottom><a class="el" href="group___hw_dep.html#a12">snd_hwdep_read</a> (<a class="el" href="group___hw_dep.html#a3">snd_hwdep_t</a> *hwdep, void *buffer, size_t size)</td></tr> <tr><td> </td><td><font size=-1><em>read bytes using HwDep handle</em> <a href="#a12"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>size_t </td><td valign=bottom><a class="el" href="group___hw_dep.html#a13">snd_hwdep_info_sizeof</a> (void)</td></tr> <tr><td> </td><td><font size=-1><em>get size of the snd_hwdep_info_t structure in bytes</em> <a href="#a13"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="group___hw_dep.html#a14">snd_hwdep_info_malloc</a> (<a class="el" href="group___hw_dep.html#a0">snd_hwdep_info_t</a> **ptr)</td></tr> <tr><td> </td><td><font size=-1><em>allocate a new snd_hwdep_info_t structure</em> <a href="#a14"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="group___hw_dep.html#a15">snd_hwdep_info_free</a> (<a class="el" href="group___hw_dep.html#a0">snd_hwdep_info_t</a> *obj)</td></tr> <tr><td> </td><td><font size=-1><em>frees the snd_hwdep_info_t structure</em> <a href="#a15"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="group___hw_dep.html#a16">snd_hwdep_info_copy</a> (<a class="el" href="group___hw_dep.html#a0">snd_hwdep_info_t</a> *dst, const <a class="el" href="group___hw_dep.html#a0">snd_hwdep_info_t</a> *src)</td></tr> <tr><td> </td><td><font size=-1><em>copy one snd_hwdep_info_t structure to another</em> <a href="#a16"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>unsigned int </td><td valign=bottom><a class="el" href="group___hw_dep.html#a17">snd_hwdep_info_get_device</a> (const <a class="el" href="group___hw_dep.html#a0">snd_hwdep_info_t</a> *obj)</td></tr> <tr><td> </td><td><font size=-1><em>get hwdep device number</em> <a href="#a17"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="group___hw_dep.html#a18">snd_hwdep_info_get_card</a> (const <a class="el" href="group___hw_dep.html#a0">snd_hwdep_info_t</a> *obj)</td></tr> <tr><td> </td><td><font size=-1><em>get hwdep card number</em> <a href="#a18"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>const char * </td><td valign=bottom><a class="el" href="group___hw_dep.html#a19">snd_hwdep_info_get_id</a> (const <a class="el" href="group___hw_dep.html#a0">snd_hwdep_info_t</a> *obj)</td></tr> <tr><td> </td><td><font size=-1><em>get hwdep driver identifier</em> <a href="#a19"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>const char * </td><td valign=bottom><a class="el" href="group___hw_dep.html#a20">snd_hwdep_info_get_name</a> (const <a class="el" href="group___hw_dep.html#a0">snd_hwdep_info_t</a> *obj)</td></tr> <tr><td> </td><td><font size=-1><em>get hwdep driver name</em> <a href="#a20"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top><a class="el" href="group___hw_dep.html#a1">snd_hwdep_iface_t</a> </td><td valign=bottom><a class="el" href="group___hw_dep.html#a21">snd_hwdep_info_get_iface</a> (const <a class="el" href="group___hw_dep.html#a0">snd_hwdep_info_t</a> *obj)</td></tr> <tr><td> </td><td><font size=-1><em>get hwdep protocol interface</em> <a href="#a21"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="group___hw_dep.html#a22">snd_hwdep_info_set_device</a> (<a class="el" href="group___hw_dep.html#a0">snd_hwdep_info_t</a> *obj, unsigned int val)</td></tr> <tr><td> </td><td><font size=-1><em>set hwdep device number</em> <a href="#a22"></a><em></em></font><br><br></td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> The Hardware Dependant Interface. <hr><h2>Define Documentation</h2> <a name="a23" doxytag="hwdep.h::SND_HWDEP_DLSYM_VERSION"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> #define SND_HWDEP_DLSYM_VERSION _dlsym_hwdep_001 </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> dlsym version for interface entry callback </td> </tr> </table> <a name="a28" doxytag="hwdep.h::snd_hwdep_info_alloca"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> #define snd_hwdep_info_alloca</td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">ptr </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top">) </td> <td class="md" nowrap> do { assert(ptr); *ptr = (<a class="el" href="group___hw_dep.html#a0">snd_hwdep_info_t</a> *) alloca(snd_hwdep_info_sizeof()); memset(*ptr, 0, snd_hwdep_info_sizeof()); } while (0) </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> allocate <a class="el" href="group___hw_dep.html#a0">snd_hwdep_info_t</a> container on stack </td> </tr> </table> <a name="a26" doxytag="hwdep.h::SND_HWDEP_OPEN_DUPLEX"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> #define SND_HWDEP_OPEN_DUPLEX (O_RDWR) </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> open for reading and writing </td> </tr> </table> <a name="a27" doxytag="hwdep.h::SND_HWDEP_OPEN_NONBLOCK"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> #define SND_HWDEP_OPEN_NONBLOCK (O_NONBLOCK) </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> open mode flag: open in nonblock mode </td> </tr> </table> <a name="a24" doxytag="hwdep.h::SND_HWDEP_OPEN_READ"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> #define SND_HWDEP_OPEN_READ (O_RDONLY) </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> open for reading </td> </tr> </table> <a name="a25" doxytag="hwdep.h::SND_HWDEP_OPEN_WRITE"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> #define SND_HWDEP_OPEN_WRITE (O_WRONLY) </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> open for writing </td> </tr> </table> <hr><h2>Typedef Documentation</h2> <a name="a1" doxytag="hwdep.h::snd_hwdep_iface_t"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> typedef enum <a class="el" href="group___hw_dep.html#a29">_snd_hwdep_iface</a> snd_hwdep_iface_t </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> HwDep interface </td> </tr> </table> <a name="a0" doxytag="hwdep.h::snd_hwdep_info_t"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> typedef struct _snd_hwdep_info snd_hwdep_info_t </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> HwDep information container </td> </tr> </table> <a name="a3" doxytag="hwdep.h::snd_hwdep_t"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> typedef struct _snd_hwdep snd_hwdep_t </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> HwDep handle </td> </tr> </table> <a name="a2" doxytag="hwdep.h::snd_hwdep_type_t"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> typedef enum <a class="el" href="group___hw_dep.html#a30">_snd_hwdep_type</a> snd_hwdep_type_t </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> HwDep handle type </td> </tr> </table> <hr><h2>Enumeration Type Documentation</h2> <a name="a29" doxytag="hwdep.h::_snd_hwdep_iface"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> enum _snd_hwdep_iface </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> HwDep interface <dl compact><dt><b>Enumeration values: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em><a name="a29a10" doxytag="SND_HWDEP_IFACE_OPL2"></a><em>SND_HWDEP_IFACE_OPL2</em></em> </td><td> OPL2 raw driver </td></tr> <tr><td valign=top><em><a name="a29a11" doxytag="SND_HWDEP_IFACE_OPL3"></a><em>SND_HWDEP_IFACE_OPL3</em></em> </td><td> OPL3 raw driver </td></tr> <tr><td valign=top><em><a name="a29a12" doxytag="SND_HWDEP_IFACE_OPL4"></a><em>SND_HWDEP_IFACE_OPL4</em></em> </td><td> OPL4 raw driver </td></tr> <tr><td valign=top><em><a name="a29a13" doxytag="SND_HWDEP_IFACE_SB16CSP"></a><em>SND_HWDEP_IFACE_SB16CSP</em></em> </td><td> SB16CSP driver </td></tr> <tr><td valign=top><em><a name="a29a14" doxytag="SND_HWDEP_IFACE_EMU10K1"></a><em>SND_HWDEP_IFACE_EMU10K1</em></em> </td><td> EMU10K1 driver </td></tr> <tr><td valign=top><em><a name="a29a15" doxytag="SND_HWDEP_IFACE_YSS225"></a><em>SND_HWDEP_IFACE_YSS225</em></em> </td><td> YSS225 driver </td></tr> <tr><td valign=top><em><a name="a29a16" doxytag="SND_HWDEP_IFACE_ICS2115"></a><em>SND_HWDEP_IFACE_ICS2115</em></em> </td><td> ICS2115 driver </td></tr> <tr><td valign=top><em><a name="a29a17" doxytag="SND_HWDEP_IFACE_LAST"></a><em>SND_HWDEP_IFACE_LAST</em></em> </td><td> last know hwdep interface </td></tr> </table> </dl> </td> </tr> </table> <a name="a30" doxytag="hwdep.h::_snd_hwdep_type"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> enum _snd_hwdep_type </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> HwDep handle type <dl compact><dt><b>Enumeration values: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em><a name="a30a18" doxytag="SND_HWDEP_TYPE_HW"></a><em>SND_HWDEP_TYPE_HW</em></em> </td><td> Kernel level HwDep </td></tr> <tr><td valign=top><em><a name="a30a19" doxytag="SND_HWDEP_TYPE_SHM"></a><em>SND_HWDEP_TYPE_SHM</em></em> </td><td> Shared memory client HwDep (not yet implemented) </td></tr> <tr><td valign=top><em><a name="a30a20" doxytag="SND_HWDEP_TYPE_INET"></a><em>SND_HWDEP_TYPE_INET</em></em> </td><td> INET client HwDep (not yet implemented) </td></tr> </table> </dl> </td> </tr> </table> <hr><h2>Function Documentation</h2> <a name="a5" doxytag="hwdep.h::snd_hwdep_close"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> int snd_hwdep_close </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top"><a class="el" href="group___hw_dep.html#a3">snd_hwdep_t</a> * </td> <td class="mdname1" valign="top" nowrap> <em>hwdep</em> </td> <td class="md" valign="top">) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> close HwDep handle <p> <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>hwdep</em> </td><td> HwDep handle </td></tr> </table> </dl><dl compact><dt><b>Returns: </b></dt><dd> 0 on success otherwise a negative error code</dl>Closes the specified HwDep handle and frees all associated resources. </td> </tr> </table> <a name="a9" doxytag="hwdep.h::snd_hwdep_info"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> int snd_hwdep_info </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top"><a class="el" href="group___hw_dep.html#a3">snd_hwdep_t</a> * </td> <td class="mdname" nowrap> <em>hwdep</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap><a class="el" href="group___hw_dep.html#a0">snd_hwdep_info_t</a> * </td> <td class="mdname" nowrap> <em>info</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> get information about HwDep handle <p> <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>hwdep</em> </td><td> HwDep handle </td></tr> <tr><td valign=top><em>info</em> </td><td> pointer to a snd_hwdep_info_t structure to be filled </td></tr> </table> </dl><dl compact><dt><b>Returns: </b></dt><dd> 0 on success otherwise a negative error code </dl> </td> </tr> </table> <a name="a16" doxytag="hwdep.h::snd_hwdep_info_copy"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> void snd_hwdep_info_copy </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top"><a class="el" href="group___hw_dep.html#a0">snd_hwdep_info_t</a> * </td> <td class="mdname" nowrap> <em>dst</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>const <a class="el" href="group___hw_dep.html#a0">snd_hwdep_info_t</a> * </td> <td class="mdname" nowrap> <em>src</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> copy one snd_hwdep_info_t structure to another <p> <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>dst</em> </td><td> destination snd_hwdep_info_t structure </td></tr> <tr><td valign=top><em>src</em> </td><td> source snd_hwdep_info_t structure </td></tr> </table> </dl> </td> </tr> </table> <a name="a15" doxytag="hwdep.h::snd_hwdep_info_free"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> void snd_hwdep_info_free </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top"><a class="el" href="group___hw_dep.html#a0">snd_hwdep_info_t</a> * </td> <td class="mdname1" valign="top" nowrap> <em>info</em> </td> <td class="md" valign="top">) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> frees the snd_hwdep_info_t structure <p> <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>info</em> </td><td> pointer to the snd_hwdep_info_t structure to free</td></tr> </table> </dl>Frees the given snd_hwdep_info_t structure using the standard free C library function. </td> </tr> </table> <a name="a18" doxytag="hwdep.h::snd_hwdep_info_get_card"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> int snd_hwdep_info_get_card </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">const <a class="el" href="group___hw_dep.html#a0">snd_hwdep_info_t</a> * </td> <td class="mdname1" valign="top" nowrap> <em>obj</em> </td> <td class="md" valign="top">) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> get hwdep card number <p> <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>info</em> </td><td> pointer to a snd_hwdep_info_t structure </td></tr> </table> </dl><dl compact><dt><b>Returns: </b></dt><dd> hwdep card number </dl> </td> </tr> </table> <a name="a17" doxytag="hwdep.h::snd_hwdep_info_get_device"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> unsigned int snd_hwdep_info_get_device </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">const <a class="el" href="group___hw_dep.html#a0">snd_hwdep_info_t</a> * </td> <td class="mdname1" valign="top" nowrap> <em>info</em> </td> <td class="md" valign="top">) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> get hwdep device number <p> <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>info</em> </td><td> pointer to a snd_hwdep_info_t structure </td></tr> </table> </dl><dl compact><dt><b>Returns: </b></dt><dd> hwdep device number </dl> </td> </tr> </table> <a name="a19" doxytag="hwdep.h::snd_hwdep_info_get_id"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> const char* snd_hwdep_info_get_id </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">const <a class="el" href="group___hw_dep.html#a0">snd_hwdep_info_t</a> * </td> <td class="mdname1" valign="top" nowrap> <em>obj</em> </td> <td class="md" valign="top">) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> get hwdep driver identifier <p> <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>info</em> </td><td> pointer to a snd_hwdep_info_t structure </td></tr> </table> </dl><dl compact><dt><b>Returns: </b></dt><dd> hwdep driver identifier </dl> </td> </tr> </table> <a name="a21" doxytag="hwdep.h::snd_hwdep_info_get_iface"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> <a class="el" href="group___hw_dep.html#a1">snd_hwdep_iface_t</a> snd_hwdep_info_get_iface </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">const <a class="el" href="group___hw_dep.html#a0">snd_hwdep_info_t</a> * </td> <td class="mdname1" valign="top" nowrap> <em>obj</em> </td> <td class="md" valign="top">) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> get hwdep protocol interface <p> <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>info</em> </td><td> pointer to a snd_hwdep_info_t structure </td></tr> </table> </dl><dl compact><dt><b>Returns: </b></dt><dd> hwdep protocol interface </dl> </td> </tr> </table> <a name="a20" doxytag="hwdep.h::snd_hwdep_info_get_name"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> const char* snd_hwdep_info_get_name </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">const <a class="el" href="group___hw_dep.html#a0">snd_hwdep_info_t</a> * </td> <td class="mdname1" valign="top" nowrap> <em>obj</em> </td> <td class="md" valign="top">) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> get hwdep driver name <p> <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>info</em> </td><td> pointer to a snd_hwdep_info_t structure </td></tr> </table> </dl><dl compact><dt><b>Returns: </b></dt><dd> hwdep driver name </dl> </td> </tr> </table> <a name="a14" doxytag="hwdep.h::snd_hwdep_info_malloc"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> int snd_hwdep_info_malloc </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top"><a class="el" href="group___hw_dep.html#a0">snd_hwdep_info_t</a> ** </td> <td class="mdname1" valign="top" nowrap> <em>info</em> </td> <td class="md" valign="top">) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> allocate a new snd_hwdep_info_t structure <p> <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>ptr</em> </td><td> returned pointer </td></tr> </table> </dl><dl compact><dt><b>Returns: </b></dt><dd> 0 on success otherwise a negative error code if fails</dl>Allocates a new snd_hwdep_info_t structure using the standard malloc C library function. </td> </tr> </table> <a name="a22" doxytag="hwdep.h::snd_hwdep_info_set_device"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> void snd_hwdep_info_set_device </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top"><a class="el" href="group___hw_dep.html#a0">snd_hwdep_info_t</a> * </td> <td class="mdname" nowrap> <em>obj</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>unsigned int </td> <td class="mdname" nowrap> <em>val</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> set hwdep device number <p> <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>info</em> </td><td> pointer to a snd_hwdep_info_t structure </td></tr> <tr><td valign=top><em>val</em> </td><td> hwdep device </td></tr> </table> </dl> </td> </tr> </table> <a name="a13" doxytag="hwdep.h::snd_hwdep_info_sizeof"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> size_t snd_hwdep_info_sizeof </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">void </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top">) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> get size of the snd_hwdep_info_t structure in bytes <p> <dl compact><dt><b>Returns: </b></dt><dd> size of the snd_hwdep_info_t structure in bytes </dl> </td> </tr> </table> <a name="a10" doxytag="hwdep.h::snd_hwdep_ioctl"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> int snd_hwdep_ioctl </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top"><a class="el" href="group___hw_dep.html#a3">snd_hwdep_t</a> * </td> <td class="mdname" nowrap> <em>hwdep</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>unsigned int </td> <td class="mdname" nowrap> <em>request</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>void * </td> <td class="mdname" nowrap> <em>arg</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> do hardware dependent ioctl <p> <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>hwdep</em> </td><td> HwDep handle </td></tr> <tr><td valign=top><em>request</em> </td><td> ioctl command </td></tr> <tr><td valign=top><em>arg</em> </td><td> ioctl argument </td></tr> </table> </dl><dl compact><dt><b>Returns: </b></dt><dd> 0 on success otherwise a negative error code </dl> </td> </tr> </table> <a name="a8" doxytag="hwdep.h::snd_hwdep_nonblock"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> int snd_hwdep_nonblock </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top"><a class="el" href="group___hw_dep.html#a3">snd_hwdep_t</a> * </td> <td class="mdname" nowrap> <em>hwdep</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>int </td> <td class="mdname" nowrap> <em>nonblock</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> set nonblock mode <p> <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>hwdep</em> </td><td> HwDep handle </td></tr> <tr><td valign=top><em>nonblock</em> </td><td> 0 = block, 1 = nonblock mode </td></tr> </table> </dl><dl compact><dt><b>Returns: </b></dt><dd> 0 on success otherwise a negative error code </dl> </td> </tr> </table> <a name="a4" doxytag="hwdep.h::snd_hwdep_open"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> int snd_hwdep_open </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top"><a class="el" href="group___hw_dep.html#a3">snd_hwdep_t</a> ** </td> <td class="mdname" nowrap> <em>hwdep</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>const char * </td> <td class="mdname" nowrap> <em>name</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>int </td> <td class="mdname" nowrap> <em>mode</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Opens a new connection to the HwDep interface. <p> <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>hwdep</em> </td><td> Returned handle (NULL if not wanted) </td></tr> <tr><td valign=top><em>name</em> </td><td> ASCII identifier of the HwDep handle </td></tr> <tr><td valign=top><em>mode</em> </td><td> Open mode </td></tr> </table> </dl><dl compact><dt><b>Returns: </b></dt><dd> 0 on success otherwise a negative error code</dl>Opens a new connection to the HwDep interface specified with an ASCII identifier and mode. </td> </tr> </table> <a name="a6" doxytag="hwdep.h::snd_hwdep_poll_descriptors"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> int snd_hwdep_poll_descriptors </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top"><a class="el" href="group___hw_dep.html#a3">snd_hwdep_t</a> * </td> <td class="mdname" nowrap> <em>hwdep</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>struct pollfd * </td> <td class="mdname" nowrap> <em>pfds</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>unsigned int </td> <td class="mdname" nowrap> <em>space</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> get poll descriptors <p> <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>hwdep</em> </td><td> HwDep handle </td></tr> <tr><td valign=top><em>pfds</em> </td><td> array of poll descriptors </td></tr> <tr><td valign=top><em>space</em> </td><td> space in the poll descriptor array </td></tr> </table> </dl><dl compact><dt><b>Returns: </b></dt><dd> count of filled descriptors </dl> </td> </tr> </table> <a name="a7" doxytag="hwdep.h::snd_hwdep_poll_descriptors_revents"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> int snd_hwdep_poll_descriptors_revents </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top"><a class="el" href="group___hw_dep.html#a3">snd_hwdep_t</a> * </td> <td class="mdname" nowrap> <em>hwdep</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>struct pollfd * </td> <td class="mdname" nowrap> <em>pfds</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>unsigned int </td> <td class="mdname" nowrap> <em>nfds</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>unsigned short * </td> <td class="mdname" nowrap> <em>revents</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> get returned events from poll descriptors <p> <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>hwdep</em> </td><td> HwDep handle </td></tr> <tr><td valign=top><em>pfds</em> </td><td> array of poll descriptors </td></tr> <tr><td valign=top><em>nfds</em> </td><td> count of poll descriptors </td></tr> <tr><td valign=top><em>revents</em> </td><td> returned events </td></tr> </table> </dl><dl compact><dt><b>Returns: </b></dt><dd> zero if success, otherwise a negative error code </dl> </td> </tr> </table> <a name="a12" doxytag="hwdep.h::snd_hwdep_read"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> ssize_t snd_hwdep_read </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top"><a class="el" href="group___hw_dep.html#a3">snd_hwdep_t</a> * </td> <td class="mdname" nowrap> <em>hwdep</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>void * </td> <td class="mdname" nowrap> <em>buffer</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>size_t </td> <td class="mdname" nowrap> <em>size</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> read bytes using HwDep handle <p> <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>hwdep</em> </td><td> HwDep handle </td></tr> <tr><td valign=top><em>buffer</em> </td><td> buffer to store the input bytes </td></tr> <tr><td valign=top><em>size</em> </td><td> input buffer size in bytes </td></tr> </table> </dl> </td> </tr> </table> <a name="a11" doxytag="hwdep.h::snd_hwdep_write"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> ssize_t snd_hwdep_write </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top"><a class="el" href="group___hw_dep.html#a3">snd_hwdep_t</a> * </td> <td class="mdname" nowrap> <em>hwdep</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>const void * </td> <td class="mdname" nowrap> <em>buffer</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>size_t </td> <td class="mdname" nowrap> <em>size</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> write bytes using HwDep handle <p> <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>hwdep</em> </td><td> HwDep handle </td></tr> <tr><td valign=top><em>buffer</em> </td><td> buffer containing bytes to write </td></tr> <tr><td valign=top><em>size</em> </td><td> output buffer size in bytes </td></tr> </table> </dl> </td> </tr> </table> <hr><address style="align: right;"><small>Generated on Wed Apr 2 16:06:38 2003 for ALSA project - the C library reference by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border=0 width=110 height=53></a>1.2.18 </small></address> </body> </html>