Sophie

Sophie

distrib > Mandriva > 2008.1 > x86_64 > media > main-release > by-pkgid > cc8cc92380afe5f7d24b47e42f17406c > files > 261

lib64hd-devel-13.57-1mdv2008.1.x86_64.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>libhd: ID macros</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.5.3 -->
<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>
  </ul>
</div>
<h1>ID macros<br>
<small>
[<a class="el" href="group__libhdPublic.html">Public interface</a>]</small>
</h1>Macros to handle <a class="el" href="structdevice.html">device</a> and vendor ids.  
<a href="#_details">More...</a><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__idmacros.html#g971cef60a459a9d27cae4e686e3c5243">TAG_PCI</a>&nbsp;&nbsp;&nbsp;1</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">PCI ids.  <a href="#g971cef60a459a9d27cae4e686e3c5243"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__idmacros.html#g1607ac0ea653facaccb74c6d0c4bb2b5">TAG_EISA</a>&nbsp;&nbsp;&nbsp;2</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">EISA ids (monitors, ISA-PnP, modems, mice etc).  <a href="#g1607ac0ea653facaccb74c6d0c4bb2b5"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__idmacros.html#g916d59354ccc6b8b975e009b779e19b2">TAG_USB</a>&nbsp;&nbsp;&nbsp;3</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">USB ids.  <a href="#g916d59354ccc6b8b975e009b779e19b2"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__idmacros.html#gc029b51beeba8e79651dfe0482164302">TAG_SPECIAL</a>&nbsp;&nbsp;&nbsp;4</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Internally used ids.  <a href="#gc029b51beeba8e79651dfe0482164302"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__idmacros.html#gd32f11ea574bb76428be95d3ca43f8dd">TAG_PCMCIA</a>&nbsp;&nbsp;&nbsp;5</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">PCMCIA ids.  <a href="#gd32f11ea574bb76428be95d3ca43f8dd"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__idmacros.html#g1f9e4dd369718763459faf1c19ae917d">ID_VALUE</a>(id)&nbsp;&nbsp;&nbsp;((id) &amp; 0xffff)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the real id value.  <a href="#g1f9e4dd369718763459faf1c19ae917d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__idmacros.html#g1f889c3da3198a177a19e553248a6ffd">ID_TAG</a>(id)&nbsp;&nbsp;&nbsp;(((id) &gt;&gt; 16) &amp; 0xf)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the tag value.  <a href="#g1f889c3da3198a177a19e553248a6ffd"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__idmacros.html#g09250526a4cc5db1940625d5f39106cb">MAKE_ID</a>(tag, id_val)&nbsp;&nbsp;&nbsp;((tag &lt;&lt; 16) | (id_val))</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Combine tag and id value.  <a href="#g09250526a4cc5db1940625d5f39106cb"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Macros to handle <a class="el" href="structdevice.html">device</a> and vendor ids. 
<p>
Example: to check if an id is a pci id and get its value, do something like this: <div class="fragment"><pre class="fragment"> <span class="keywordflow">if</span>(<a class="code" href="group__idmacros.html#g1f889c3da3198a177a19e553248a6ffd" title="Get the tag value.">ID_TAG</a>(hd-&gt;dev) == <a class="code" href="group__idmacros.html#g971cef60a459a9d27cae4e686e3c5243" title="PCI ids.">TAG_PCI</a>) {
   pci_id = <a class="code" href="group__idmacros.html#g1f9e4dd369718763459faf1c19ae917d" title="Get the real id value.">ID_VALUE</a>(hd-&gt;dev)
 }
</pre></div> <hr><h2>Define Documentation</h2>
<a class="anchor" name="g1f889c3da3198a177a19e553248a6ffd"></a><!-- doxytag: member="hd.h::ID_TAG" ref="g1f889c3da3198a177a19e553248a6ffd" args="(id)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ID_TAG          </td>
          <td>(</td>
          <td class="paramtype">id&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%">&nbsp;&nbsp;&nbsp;(((id) &gt;&gt; 16) &amp; 0xf)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the tag value. 
<p>

</div>
</div><p>
<a class="anchor" name="g1f9e4dd369718763459faf1c19ae917d"></a><!-- doxytag: member="hd.h::ID_VALUE" ref="g1f9e4dd369718763459faf1c19ae917d" args="(id)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ID_VALUE          </td>
          <td>(</td>
          <td class="paramtype">id&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%">&nbsp;&nbsp;&nbsp;((id) &amp; 0xffff)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the real id value. 
<p>

</div>
</div><p>
<a class="anchor" name="g09250526a4cc5db1940625d5f39106cb"></a><!-- doxytag: member="hd.h::MAKE_ID" ref="g09250526a4cc5db1940625d5f39106cb" args="(tag, id_val)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MAKE_ID          </td>
          <td>(</td>
          <td class="paramtype">tag,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">id_val&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%">&nbsp;&nbsp;&nbsp;((tag &lt;&lt; 16) | (id_val))</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Combine tag and id value. 
<p>

</div>
</div><p>
<a class="anchor" name="g1607ac0ea653facaccb74c6d0c4bb2b5"></a><!-- doxytag: member="hd.h::TAG_EISA" ref="g1607ac0ea653facaccb74c6d0c4bb2b5" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define TAG_EISA&nbsp;&nbsp;&nbsp;2          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
EISA ids (monitors, ISA-PnP, modems, mice etc). 
<p>

</div>
</div><p>
<a class="anchor" name="g971cef60a459a9d27cae4e686e3c5243"></a><!-- doxytag: member="hd.h::TAG_PCI" ref="g971cef60a459a9d27cae4e686e3c5243" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define TAG_PCI&nbsp;&nbsp;&nbsp;1          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
PCI ids. 
<p>

</div>
</div><p>
<a class="anchor" name="gd32f11ea574bb76428be95d3ca43f8dd"></a><!-- doxytag: member="hd.h::TAG_PCMCIA" ref="gd32f11ea574bb76428be95d3ca43f8dd" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define TAG_PCMCIA&nbsp;&nbsp;&nbsp;5          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
PCMCIA ids. 
<p>

</div>
</div><p>
<a class="anchor" name="gc029b51beeba8e79651dfe0482164302"></a><!-- doxytag: member="hd.h::TAG_SPECIAL" ref="gc029b51beeba8e79651dfe0482164302" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define TAG_SPECIAL&nbsp;&nbsp;&nbsp;4          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Internally used ids. 
<p>

</div>
</div><p>
<a class="anchor" name="g916d59354ccc6b8b975e009b779e19b2"></a><!-- doxytag: member="hd.h::TAG_USB" ref="g916d59354ccc6b8b975e009b779e19b2" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define TAG_USB&nbsp;&nbsp;&nbsp;3          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
USB ids. 
<p>

</div>
</div><p>
</body></html>