Sophie

Sophie

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

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: hd_t Struct Reference</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 class="current"><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>
<div class="tabs">
  <ul>
    <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
    <li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
  </ul>
</div>
<h1>hd_t Struct Reference<br>
<small>
[<a class="el" href="group__libhdPublic.html">Public interface</a>]</small>
</h1><!-- doxytag: class="hd_t" -->Individual hardware item.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="hd_8h-source.html">hd.h</a>&gt;</code>
<p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Data Fields</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct s_hd_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structhd__t.html#0d71e415ab3374c0486c431ee37f819a">next</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Link to next hardware item.  <a href="#0d71e415ab3374c0486c431ee37f819a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structhd__t.html#3c0351e3b128aa0b47f239a3c4f01d81">idx</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Unique index, starting at 1.  <a href="#3c0351e3b128aa0b47f239a3c4f01d81"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structhd__t.html#da9bd38fa4d3909e4fc51610af56ea95">broken</a>:1</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Hardware appears to be broken in some way.  <a href="#da9bd38fa4d3909e4fc51610af56ea95"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structhd__id__t.html">hd_id_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structhd__t.html#9835f8f645455517b4070a7ecc80f76f">bus</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Bus type (id and name).  <a href="#9835f8f645455517b4070a7ecc80f76f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structhd__t.html#ea37eb50a01a75a6beafb82d34827a47">slot</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Slot and bus number.  <a href="#ea37eb50a01a75a6beafb82d34827a47"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structhd__t.html#a85b456f8b1cea97a6e02ff7eb051e9a">func</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">(PCI) function.  <a href="#a85b456f8b1cea97a6e02ff7eb051e9a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structhd__id__t.html">hd_id_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structhd__t.html#cd2be1d2c0046253d4f24149830e1b3e">base_class</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Base class (id and name).  <a href="#cd2be1d2c0046253d4f24149830e1b3e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structhd__id__t.html">hd_id_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structhd__t.html#5b98284e8dbc62e15fa3ffc76e599067">sub_class</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sub class (id and name).  <a href="#5b98284e8dbc62e15fa3ffc76e599067"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structhd__id__t.html">hd_id_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structhd__t.html#cfcf4d7f7f8c6a41d528b7ba1c51955e">prog_if</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">(PCI) programming interface (id and name).  <a href="#cfcf4d7f7f8c6a41d528b7ba1c51955e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structhd__id__t.html">hd_id_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structhd__t.html#e456653a2dc5f33da8e46eba559b9b1c">vendor</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Vendor id and name.  <a href="#e456653a2dc5f33da8e46eba559b9b1c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structhd__id__t.html">hd_id_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structhd__t.html#40bea7d8b74db5f36c057b8635f0ca0f">device</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Device id and name.  <a href="#40bea7d8b74db5f36c057b8635f0ca0f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structhd__id__t.html">hd_id_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structhd__t.html#d991674dd0b903a4a14cd1583dfbe81c">sub_vendor</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Subvendor id and name.  <a href="#d991674dd0b903a4a14cd1583dfbe81c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structhd__id__t.html">hd_id_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structhd__t.html#ec1a4f9c2f0cdd1f018f022d72640087">sub_device</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Subdevice id and name.  <a href="#ec1a4f9c2f0cdd1f018f022d72640087"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structhd__id__t.html">hd_id_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structhd__t.html#f236c0d896f3557ca49829d1ebfdb738">revision</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Revision id or string.  <a href="#f236c0d896f3557ca49829d1ebfdb738"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structhd__t.html#d8dc520e1f9006738393cdd952968b50">serial</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Serial id.  <a href="#d8dc520e1f9006738393cdd952968b50"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structhd__id__t.html">hd_id_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structhd__t.html#74ec368996714c71893be55a8170d990">compat_vendor</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Vendor id and name of some compatible hardware.  <a href="#74ec368996714c71893be55a8170d990"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structhd__id__t.html">hd_id_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structhd__t.html#66a50d5e6152b4e6e5dbb8568b5d5251">compat_device</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Device id and name of some compatible hardware.  <a href="#66a50d5e6152b4e6e5dbb8568b5d5251"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__libhdPublic.html#g6792ac1dd1908c87fa5bcb96aa60c7d0">hd_hw_item_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structhd__t.html#e686c2cdd696cbe92359411509a22f86">hw_class</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Hardware class.  <a href="#e686c2cdd696cbe92359411509a22f86"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structhd__t.html#ea930499d8070f5bfb80327d35695b3d">hw_class_list</a> [(hw_all+7)/8]</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Hardware class list.  <a href="#ea930499d8070f5bfb80327d35695b3d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structhd__t.html#bab7fbe5ae4cac65f0336ffe30e756e1">model</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Model name.  <a href="#bab7fbe5ae4cac65f0336ffe30e756e1"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structhd__t.html#70086c08ff844546648f4025383477fc">attached_to</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Device this hardware is attached to.  <a href="#70086c08ff844546648f4025383477fc"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structhd__t.html#6ef7d26032257037d097fe28902ebb79">sysfs_id</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">sysfs entry for this hardware, if any.  <a href="#6ef7d26032257037d097fe28902ebb79"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structhd__t.html#09da71252f170f55fad7aab565377a03">sysfs_bus_id</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">sysfs bus id for this hardware, if any.  <a href="#09da71252f170f55fad7aab565377a03"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structhd__t.html#c31095fe6f080f18caa0b6ea5a395bc1">sysfs_device_link</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">sysfs <a class="el" href="structdevice.html">device</a> link.  <a href="#c31095fe6f080f18caa0b6ea5a395bc1"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structhd__t.html#8b66e84468abe801b4481e23490ce316">unix_dev_name</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Special device file.  <a href="#8b66e84468abe801b4481e23490ce316"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structhd__dev__num__t.html">hd_dev_num_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structhd__t.html#7e18c4bd5d8e99ebf119e7393c283c24">unix_dev_num</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Device type &amp; number according to sysfs.  <a href="#7e18c4bd5d8e99ebf119e7393c283c24"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structstr__list__t.html">str_list_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structhd__t.html#2cc1490a93e59eb4e29c5d7daa616ddb">unix_dev_names</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">List of device names.  <a href="#2cc1490a93e59eb4e29c5d7daa616ddb"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structhd__t.html#48e1ab88018442d64010fe17396a26e8">unix_dev_name2</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Special device file.  <a href="#48e1ab88018442d64010fe17396a26e8"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structhd__dev__num__t.html">hd_dev_num_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structhd__t.html#6982131c6b8b5d59ed7fda74878c6646">unix_dev_num2</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Device type &amp; number according to sysfs.  <a href="#6982131c6b8b5d59ed7fda74878c6646"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structhd__t.html#f6e0452f66eae67111306cdab2ff27f3">rom_id</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">BIOS/PROM id.  <a href="#f6e0452f66eae67111306cdab2ff27f3"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structhd__t.html#f4fb4e0e949d77d1ee6b067be247976a">udi</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">HAL udi.  <a href="#f4fb4e0e949d77d1ee6b067be247976a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structhd__t.html#873246f7d108446de6ba3298cfffa182">parent_udi</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="structhd__t.html#f4fb4e0e949d77d1ee6b067be247976a">udi</a> of parent (<a class="el" href="structhd__t.html#70086c08ff844546648f4025383477fc">attached_to</a>).  <a href="#873246f7d108446de6ba3298cfffa182"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structhd__t.html#20a97f2b6037ccd73cd813e02414410d">unique_id</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Unique id for this hardware.  <a href="#20a97f2b6037ccd73cd813e02414410d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structstr__list__t.html">str_list_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structhd__t.html#1e3a720bd77a91e18760658dbefc606d">unique_ids</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">List of ids.  <a href="#1e3a720bd77a91e18760658dbefc606d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structhd__t.html#41d70cb56e08fe4aede47ded6f591704">module</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">(Internal) Probing module that created this entry.  <a href="#41d70cb56e08fe4aede47ded6f591704"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structhd__t.html#0e7fa57c746981d35db31c80174d2948">line</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">(Internal) Source code line where this entry was created.  <a href="#0e7fa57c746981d35db31c80174d2948"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structhd__t.html#27f349e4659247d1508e43ff7be592f6">count</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">(Internal) Counter, used in combination with <a class="el" href="structhd__t.html#41d70cb56e08fe4aede47ded6f591704">hd_t::module</a> and <a class="el" href="structhd__t.html#0e7fa57c746981d35db31c80174d2948">hd_t::line</a>.  <a href="#27f349e4659247d1508e43ff7be592f6"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="unionhd__res__t.html">hd_res_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structhd__t.html#f010287019416b69c71a89ba0cbab720">res</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Device resources.  <a href="#f010287019416b69c71a89ba0cbab720"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="unionhd__detail__t.html">hd_detail_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structhd__t.html#6c25713d1814ff76dd46e9eb343e480d">detail</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Special info associated with this hardware.  <a href="#6c25713d1814ff76dd46e9eb343e480d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structstr__list__t.html">str_list_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structhd__t.html#987ac4c1cede5a81ad19b687c2950767">extra_info</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">(Internal) Unspecific text info.  <a href="#987ac4c1cede5a81ad19b687c2950767"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structhd__status__t.html">hd_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structhd__t.html#8b22deb34d147e5dde368f2e2dab6624">status</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Hardware status (if available).  <a href="#8b22deb34d147e5dde368f2e2dab6624"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structhd__t.html#d95297ba5bc87b68c4738c07c63b2d10">config_string</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Some config info.  <a href="#d95297ba5bc87b68c4738c07c63b2d10"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__libhdPublic.html#gb2f0cc79d6a3af583cc7535b111cb7b3">hd_hotplug_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structhd__t.html#b4d375e140e3b5adaf0e89ad442d0fe2">hotplug</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Hotplug controller for this device.  <a href="#b4d375e140e3b5adaf0e89ad442d0fe2"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structhd__t.html#5e8d528a73e0f76976efa828cfd46090">hotplug_slot</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Slot the hotplug <a class="el" href="structdevice.html">device</a> is connected to (e.g.  <a href="#5e8d528a73e0f76976efa828cfd46090"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct <a class="el" href="structhd__t_1_1is__s.html">hd_t::is_s</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structhd__t.html#619f63df598aca016d96f524bc1de211">is</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">struct <a class="el" href="structhd__t_1_1tag__s.html">hd_t::tag_s</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structhd__t.html#6225413e396b1a28d4f6e013587f5ff2">tag</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structhd__t.html#d67b98ead3c0542b7a551f4b30505684">block0</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">(Internal) First 512 bytes of block devices.  <a href="#d67b98ead3c0542b7a551f4b30505684"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structhd__t.html#9b7a4434ff8f3b2daa6450714af4ddb6">driver</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Currently active driver.  <a href="#9b7a4434ff8f3b2daa6450714af4ddb6"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structhd__t.html#363f867ec50dd505c2bf232fc37eafbb">driver_module</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Currently active driver module (if any).  <a href="#363f867ec50dd505c2bf232fc37eafbb"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structstr__list__t.html">str_list_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structhd__t.html#7ed276145debfc962fe1f9f852b873ec">drivers</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">List of currently active drivers.  <a href="#7ed276145debfc962fe1f9f852b873ec"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structstr__list__t.html">str_list_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structhd__t.html#9e115498af867bb7182e8903b059ecd7">driver_modules</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">List of currently active driver modules.  <a href="#9e115498af867bb7182e8903b059ecd7"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structhd__t.html#e2da81443b3ccb2e6c956ea2481a847e">old_unique_id</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Old <a class="el" href="structhd__t.html#20a97f2b6037ccd73cd813e02414410d">unique_id</a> for compatibility.  <a href="#e2da81443b3ccb2e6c956ea2481a847e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structhd__t.html#5ac48d84853cbeff0b47511956cfb549">parent_id</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="structhd__t.html#20a97f2b6037ccd73cd813e02414410d">unique_id</a> of parent (<a class="el" href="structhd__t.html#70086c08ff844546648f4025383477fc">attached_to</a>).  <a href="#5ac48d84853cbeff0b47511956cfb549"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structstr__list__t.html">str_list_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structhd__t.html#37369464624d3158febd82ab45df9c57">child_ids</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="structhd__t.html#1e3a720bd77a91e18760658dbefc606d">unique_ids</a> of children (<a class="el" href="structhd__t.html#5ac48d84853cbeff0b47511956cfb549">parent_id</a>).  <a href="#37369464624d3158febd82ab45df9c57"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structhd__t.html#9ed61e1fb2c7c961259e06e0a95bdc8a">unique_id1</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">(Internal) location independent <a class="el" href="structhd__t.html#20a97f2b6037ccd73cd813e02414410d">unique_id</a> part.  <a href="#9ed61e1fb2c7c961259e06e0a95bdc8a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structhd__t.html#136bd1ee05fad2de939fc857a7501429">usb_guid</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">USB Global Unique Identifier.  <a href="#136bd1ee05fad2de939fc857a7501429"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="uniondriver__info__t.html">driver_info_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structhd__t.html#ce987da62335f34af5230981596d6b41">driver_info</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="structdevice.html">device</a> driver info  <a href="#ce987da62335f34af5230981596d6b41"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structstr__list__t.html">str_list_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structhd__t.html#284dce068ceaab115db52aa26009d75f">requires</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">packages/programs required for this hardware  <a href="#284dce068ceaab115db52aa26009d75f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structhal__prop__t.html">hal_prop_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structhd__t.html#4380889137f62de55cf058c779c7170e">hal_prop</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">hal property list  <a href="#4380889137f62de55cf058c779c7170e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structhal__prop__t.html">hal_prop_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structhd__t.html#e5c020ca6f04d36959c77f5c210ed8e9">persistent_prop</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">persistent property list  <a href="#e5c020ca6f04d36959c77f5c210ed8e9"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structhd__t.html#d81f40e9ae3ffaec7780672a64bb6cd0">modalias</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">module alias  <a href="#d81f40e9ae3ffaec7780672a64bb6cd0"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structhd__t.html#716aca30cbdbd9ce8da13f62e0060591">ref_cnt</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">(Internal) memory reference count.  <a href="#716aca30cbdbd9ce8da13f62e0060591"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct s_hd_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structhd__t.html#4ed7a8fb0a997778f94ffe1a083e310d">ref</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">(Internal) if set, this is only a reference.  <a href="#4ed7a8fb0a997778f94ffe1a083e310d"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Data Structures</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structhd__t_1_1is__s.html">is_s</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structhd__t_1_1tag__s.html">tag_s</a></td></tr>

</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Individual hardware item. 
<p>
Every hardware component gets an <a class="el" href="structhd__t.html">hd_t</a> entry. A list of all hardware items is in <a class="el" href="structhd__data__t.html#915195ab06ff5ad161c093b89e18a4d8">hd_data_t::hd</a>. <hr><h2>Field Documentation</h2>
<a class="anchor" name="0d71e415ab3374c0486c431ee37f819a"></a><!-- doxytag: member="hd_t::next" ref="0d71e415ab3374c0486c431ee37f819a" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct s_hd_t* <a class="el" href="structhd__t.html#0d71e415ab3374c0486c431ee37f819a">hd_t::next</a><code> [read]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Link to next hardware item. 
<p>

</div>
</div><p>
<a class="anchor" name="3c0351e3b128aa0b47f239a3c4f01d81"></a><!-- doxytag: member="hd_t::idx" ref="3c0351e3b128aa0b47f239a3c4f01d81" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned <a class="el" href="structhd__t.html#3c0351e3b128aa0b47f239a3c4f01d81">hd_t::idx</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Unique index, starting at 1. 
<p>
Use <a class="el" href="group__libhdInternals.html#gccacf38d4334d841c660478d6af9b41b">hd_get_device_by_idx()</a> to look up an hardware entry by index. And don't free the result! 
</div>
</div><p>
<a class="anchor" name="da9bd38fa4d3909e4fc51610af56ea95"></a><!-- doxytag: member="hd_t::broken" ref="da9bd38fa4d3909e4fc51610af56ea95" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned <a class="el" href="structhd__t.html#da9bd38fa4d3909e4fc51610af56ea95">hd_t::broken</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Hardware appears to be broken in some way. 
<p>
This was used to indicate broken framebuffer support of some graphics cards. Currently unused. 
</div>
</div><p>
<a class="anchor" name="9835f8f645455517b4070a7ecc80f76f"></a><!-- doxytag: member="hd_t::bus" ref="9835f8f645455517b4070a7ecc80f76f" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structhd__id__t.html">hd_id_t</a> <a class="el" href="structhd__t.html#9835f8f645455517b4070a7ecc80f76f">hd_t::bus</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Bus type (id and name). 
<p>

</div>
</div><p>
<a class="anchor" name="ea37eb50a01a75a6beafb82d34827a47"></a><!-- doxytag: member="hd_t::slot" ref="ea37eb50a01a75a6beafb82d34827a47" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned <a class="el" href="structhd__t.html#ea37eb50a01a75a6beafb82d34827a47">hd_t::slot</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Slot and bus number. 
<p>
Bits 0-7: slot number, 8-31 bus number. 
</div>
</div><p>
<a class="anchor" name="a85b456f8b1cea97a6e02ff7eb051e9a"></a><!-- doxytag: member="hd_t::func" ref="a85b456f8b1cea97a6e02ff7eb051e9a" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned <a class="el" href="structhd__t.html#a85b456f8b1cea97a6e02ff7eb051e9a">hd_t::func</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
(PCI) function. 
<p>

</div>
</div><p>
<a class="anchor" name="cd2be1d2c0046253d4f24149830e1b3e"></a><!-- doxytag: member="hd_t::base_class" ref="cd2be1d2c0046253d4f24149830e1b3e" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structhd__id__t.html">hd_id_t</a> <a class="el" href="structhd__t.html#cd2be1d2c0046253d4f24149830e1b3e">hd_t::base_class</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Base class (id and name). 
<p>

</div>
</div><p>
<a class="anchor" name="5b98284e8dbc62e15fa3ffc76e599067"></a><!-- doxytag: member="hd_t::sub_class" ref="5b98284e8dbc62e15fa3ffc76e599067" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structhd__id__t.html">hd_id_t</a> <a class="el" href="structhd__t.html#5b98284e8dbc62e15fa3ffc76e599067">hd_t::sub_class</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Sub class (id and name). 
<p>

</div>
</div><p>
<a class="anchor" name="cfcf4d7f7f8c6a41d528b7ba1c51955e"></a><!-- doxytag: member="hd_t::prog_if" ref="cfcf4d7f7f8c6a41d528b7ba1c51955e" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structhd__id__t.html">hd_id_t</a> <a class="el" href="structhd__t.html#cfcf4d7f7f8c6a41d528b7ba1c51955e">hd_t::prog_if</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
(PCI) programming interface (id and name). 
<p>

</div>
</div><p>
<a class="anchor" name="e456653a2dc5f33da8e46eba559b9b1c"></a><!-- doxytag: member="hd_t::vendor" ref="e456653a2dc5f33da8e46eba559b9b1c" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structhd__id__t.html">hd_id_t</a> <a class="el" href="structhd__t.html#e456653a2dc5f33da8e46eba559b9b1c">hd_t::vendor</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Vendor id and name. 
<p>
Id is actually a combination of some tag to differentiate the various id types and the real id. Use the <a class="el" href="group__idmacros.html#g1f9e4dd369718763459faf1c19ae917d">ID_VALUE</a> macro to get e.g. the real PCI id value for a PCI device. 
</div>
</div><p>
<a class="anchor" name="40bea7d8b74db5f36c057b8635f0ca0f"></a><!-- doxytag: member="hd_t::device" ref="40bea7d8b74db5f36c057b8635f0ca0f" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structhd__id__t.html">hd_id_t</a> <a class="el" href="structhd__t.html#40bea7d8b74db5f36c057b8635f0ca0f">hd_t::device</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Device id and name. 
<p>
Id is actually a combination of some tag to differentiate the various id types and the real id. Use the <a class="el" href="group__idmacros.html#g1f9e4dd369718763459faf1c19ae917d">ID_VALUE</a> macro to get e.g. the real PCI id value for a PCI device. <dl class="note" compact><dt><b>Note:</b></dt><dd>If you're looking or something printable, you might want to use <a class="el" href="structhd__t.html#bab7fbe5ae4cac65f0336ffe30e756e1">hd_t::model</a> instead. </dd></dl>

</div>
</div><p>
<a class="anchor" name="d991674dd0b903a4a14cd1583dfbe81c"></a><!-- doxytag: member="hd_t::sub_vendor" ref="d991674dd0b903a4a14cd1583dfbe81c" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structhd__id__t.html">hd_id_t</a> <a class="el" href="structhd__t.html#d991674dd0b903a4a14cd1583dfbe81c">hd_t::sub_vendor</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Subvendor id and name. 
<p>
Id is actually a combination of some tag to differentiate the various id types and the real id. Use the <a class="el" href="group__idmacros.html#g1f9e4dd369718763459faf1c19ae917d">ID_VALUE</a> macro to get e.g. the real PCI id value for a PCI device. 
</div>
</div><p>
<a class="anchor" name="ec1a4f9c2f0cdd1f018f022d72640087"></a><!-- doxytag: member="hd_t::sub_device" ref="ec1a4f9c2f0cdd1f018f022d72640087" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structhd__id__t.html">hd_id_t</a> <a class="el" href="structhd__t.html#ec1a4f9c2f0cdd1f018f022d72640087">hd_t::sub_device</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Subdevice id and name. 
<p>
Id is actually a combination of some tag to differentiate the various id types and the real id. Use the <a class="el" href="group__idmacros.html#g1f9e4dd369718763459faf1c19ae917d">ID_VALUE</a> macro to get e.g. the real PCI id value for a PCI device. 
</div>
</div><p>
<a class="anchor" name="f236c0d896f3557ca49829d1ebfdb738"></a><!-- doxytag: member="hd_t::revision" ref="f236c0d896f3557ca49829d1ebfdb738" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structhd__id__t.html">hd_id_t</a> <a class="el" href="structhd__t.html#f236c0d896f3557ca49829d1ebfdb738">hd_t::revision</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Revision id or string. 
<p>
If revision is numerical (e.g. PCI) <a class="el" href="structhd__id__t.html#2303bac33cef01f804256a7400c4a847">hd_id_t::id</a> is used. If revision is some char data (e.g. disk drives) it is stored in <a class="el" href="structhd__id__t.html#0c8910a613346d2acc79c34194786320">hd_id_t::name</a>. 
</div>
</div><p>
<a class="anchor" name="d8dc520e1f9006738393cdd952968b50"></a><!-- doxytag: member="hd_t::serial" ref="d8dc520e1f9006738393cdd952968b50" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* <a class="el" href="structhd__t.html#d8dc520e1f9006738393cdd952968b50">hd_t::serial</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Serial id. 
<p>

</div>
</div><p>
<a class="anchor" name="74ec368996714c71893be55a8170d990"></a><!-- doxytag: member="hd_t::compat_vendor" ref="74ec368996714c71893be55a8170d990" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structhd__id__t.html">hd_id_t</a> <a class="el" href="structhd__t.html#74ec368996714c71893be55a8170d990">hd_t::compat_vendor</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Vendor id and name of some compatible hardware. 
<p>
Used mainly for ISA-PnP devices. 
</div>
</div><p>
<a class="anchor" name="66a50d5e6152b4e6e5dbb8568b5d5251"></a><!-- doxytag: member="hd_t::compat_device" ref="66a50d5e6152b4e6e5dbb8568b5d5251" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structhd__id__t.html">hd_id_t</a> <a class="el" href="structhd__t.html#66a50d5e6152b4e6e5dbb8568b5d5251">hd_t::compat_device</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Device id and name of some compatible hardware. 
<p>
Used mainly for ISA-PnP devices. 
</div>
</div><p>
<a class="anchor" name="e686c2cdd696cbe92359411509a22f86"></a><!-- doxytag: member="hd_t::hw_class" ref="e686c2cdd696cbe92359411509a22f86" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__libhdPublic.html#g6792ac1dd1908c87fa5bcb96aa60c7d0">hd_hw_item_t</a> <a class="el" href="structhd__t.html#e686c2cdd696cbe92359411509a22f86">hd_t::hw_class</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Hardware class. 
<p>
Not to confuse with <a class="el" href="structhd__t.html#cd2be1d2c0046253d4f24149830e1b3e">base_class</a>! 
</div>
</div><p>
<a class="anchor" name="ea930499d8070f5bfb80327d35695b3d"></a><!-- doxytag: member="hd_t::hw_class_list" ref="ea930499d8070f5bfb80327d35695b3d" args="[(hw_all+7)/8]" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned char <a class="el" href="structhd__t.html#ea930499d8070f5bfb80327d35695b3d">hd_t::hw_class_list</a>[(hw_all+7)/8]          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Hardware class list. 
<p>
A <a class="el" href="structdevice.html">device</a> may belong to more than one hardware class. (Internal) bitmask of hw classes. 
</div>
</div><p>
<a class="anchor" name="bab7fbe5ae4cac65f0336ffe30e756e1"></a><!-- doxytag: member="hd_t::model" ref="bab7fbe5ae4cac65f0336ffe30e756e1" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* <a class="el" href="structhd__t.html#bab7fbe5ae4cac65f0336ffe30e756e1">hd_t::model</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Model name. 
<p>
This is a combination of vendor and device names. Some heuristics is used to make it more presentable. Use this instead of <a class="el" href="structhd__t.html#e456653a2dc5f33da8e46eba559b9b1c">hd_t::vendor</a> and <a class="el" href="structhd__t.html#40bea7d8b74db5f36c057b8635f0ca0f">hd_t::device</a>. 
</div>
</div><p>
<a class="anchor" name="70086c08ff844546648f4025383477fc"></a><!-- doxytag: member="hd_t::attached_to" ref="70086c08ff844546648f4025383477fc" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned <a class="el" href="structhd__t.html#70086c08ff844546648f4025383477fc">hd_t::attached_to</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Device this hardware is attached to. 
<p>
Link to some 'parent' device. Use <a class="el" href="group__libhdInternals.html#gccacf38d4334d841c660478d6af9b41b">hd_get_device_by_idx()</a> to get the corresponding hardware entry. 
</div>
</div><p>
<a class="anchor" name="6ef7d26032257037d097fe28902ebb79"></a><!-- doxytag: member="hd_t::sysfs_id" ref="6ef7d26032257037d097fe28902ebb79" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* <a class="el" href="structhd__t.html#6ef7d26032257037d097fe28902ebb79">hd_t::sysfs_id</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
sysfs entry for this hardware, if any. 
<p>

</div>
</div><p>
<a class="anchor" name="09da71252f170f55fad7aab565377a03"></a><!-- doxytag: member="hd_t::sysfs_bus_id" ref="09da71252f170f55fad7aab565377a03" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* <a class="el" href="structhd__t.html#09da71252f170f55fad7aab565377a03">hd_t::sysfs_bus_id</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
sysfs bus id for this hardware, if any. 
<p>

</div>
</div><p>
<a class="anchor" name="c31095fe6f080f18caa0b6ea5a395bc1"></a><!-- doxytag: member="hd_t::sysfs_device_link" ref="c31095fe6f080f18caa0b6ea5a395bc1" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* <a class="el" href="structhd__t.html#c31095fe6f080f18caa0b6ea5a395bc1">hd_t::sysfs_device_link</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
sysfs <a class="el" href="structdevice.html">device</a> link. 
<p>

</div>
</div><p>
<a class="anchor" name="8b66e84468abe801b4481e23490ce316"></a><!-- doxytag: member="hd_t::unix_dev_name" ref="8b66e84468abe801b4481e23490ce316" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* <a class="el" href="structhd__t.html#8b66e84468abe801b4481e23490ce316">hd_t::unix_dev_name</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Special device file. 
<p>
Device file name to access this hardware. Normally something below /dev. For network interfaces this is the interface name. 
</div>
</div><p>
<a class="anchor" name="7e18c4bd5d8e99ebf119e7393c283c24"></a><!-- doxytag: member="hd_t::unix_dev_num" ref="7e18c4bd5d8e99ebf119e7393c283c24" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structhd__dev__num__t.html">hd_dev_num_t</a> <a class="el" href="structhd__t.html#7e18c4bd5d8e99ebf119e7393c283c24">hd_t::unix_dev_num</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Device type &amp; number according to sysfs. 
<p>

</div>
</div><p>
<a class="anchor" name="2cc1490a93e59eb4e29c5d7daa616ddb"></a><!-- doxytag: member="hd_t::unix_dev_names" ref="2cc1490a93e59eb4e29c5d7daa616ddb" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structstr__list__t.html">str_list_t</a>* <a class="el" href="structhd__t.html#2cc1490a93e59eb4e29c5d7daa616ddb">hd_t::unix_dev_names</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
List of device names. 
<p>
Device file names to access this hardware. Normally something below /dev. They should be all equivalent. The preferred name however is <a class="el" href="structhd__t.html#8b66e84468abe801b4481e23490ce316">hd_t::unix_dev_name</a>. 
</div>
</div><p>
<a class="anchor" name="48e1ab88018442d64010fe17396a26e8"></a><!-- doxytag: member="hd_t::unix_dev_name2" ref="48e1ab88018442d64010fe17396a26e8" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* <a class="el" href="structhd__t.html#48e1ab88018442d64010fe17396a26e8">hd_t::unix_dev_name2</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Special device file. 
<p>
Device file name to access this hardware. Most hardware only has one device name stored in <a class="el" href="structhd__t.html#8b66e84468abe801b4481e23490ce316">hd_t::unix_dev_name</a>. But in some cases there's an alternative name. 
</div>
</div><p>
<a class="anchor" name="6982131c6b8b5d59ed7fda74878c6646"></a><!-- doxytag: member="hd_t::unix_dev_num2" ref="6982131c6b8b5d59ed7fda74878c6646" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structhd__dev__num__t.html">hd_dev_num_t</a> <a class="el" href="structhd__t.html#6982131c6b8b5d59ed7fda74878c6646">hd_t::unix_dev_num2</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Device type &amp; number according to sysfs. 
<p>

</div>
</div><p>
<a class="anchor" name="f6e0452f66eae67111306cdab2ff27f3"></a><!-- doxytag: member="hd_t::rom_id" ref="f6e0452f66eae67111306cdab2ff27f3" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* <a class="el" href="structhd__t.html#f6e0452f66eae67111306cdab2ff27f3">hd_t::rom_id</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
BIOS/PROM id. 
<p>
Where appropriate, this is a special BIOS/PROM id (e.g. "0x80" for the first harddisk on Intel-PCs). CHPID for s390. 
</div>
</div><p>
<a class="anchor" name="f4fb4e0e949d77d1ee6b067be247976a"></a><!-- doxytag: member="hd_t::udi" ref="f4fb4e0e949d77d1ee6b067be247976a" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* <a class="el" href="structhd__t.html#f4fb4e0e949d77d1ee6b067be247976a">hd_t::udi</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
HAL udi. 
<p>

</div>
</div><p>
<a class="anchor" name="873246f7d108446de6ba3298cfffa182"></a><!-- doxytag: member="hd_t::parent_udi" ref="873246f7d108446de6ba3298cfffa182" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* <a class="el" href="structhd__t.html#873246f7d108446de6ba3298cfffa182">hd_t::parent_udi</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<a class="el" href="structhd__t.html#f4fb4e0e949d77d1ee6b067be247976a">udi</a> of parent (<a class="el" href="structhd__t.html#70086c08ff844546648f4025383477fc">attached_to</a>). 
<p>

</div>
</div><p>
<a class="anchor" name="20a97f2b6037ccd73cd813e02414410d"></a><!-- doxytag: member="hd_t::unique_id" ref="20a97f2b6037ccd73cd813e02414410d" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* <a class="el" href="structhd__t.html#20a97f2b6037ccd73cd813e02414410d">hd_t::unique_id</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Unique id for this hardware. 
<p>
A unique string identifying this hardware. The string consists of two parts separated by a dot ("."). The part before the dot describes the location (where the hardware is attached in the system). The part after the dot identifies the hardware itself. The string must not contain slashes ("/") because we're going to create files with this id as name. Apart from this there are no restrictions on the form of this string. 
</div>
</div><p>
<a class="anchor" name="1e3a720bd77a91e18760658dbefc606d"></a><!-- doxytag: member="hd_t::unique_ids" ref="1e3a720bd77a91e18760658dbefc606d" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structstr__list__t.html">str_list_t</a>* <a class="el" href="structhd__t.html#1e3a720bd77a91e18760658dbefc606d">hd_t::unique_ids</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
List of ids. 
<p>

</div>
</div><p>
<a class="anchor" name="41d70cb56e08fe4aede47ded6f591704"></a><!-- doxytag: member="hd_t::module" ref="41d70cb56e08fe4aede47ded6f591704" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned <a class="el" href="structhd__t.html#41d70cb56e08fe4aede47ded6f591704">hd_t::module</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
(Internal) Probing module that created this entry. 
<p>

</div>
</div><p>
<a class="anchor" name="0e7fa57c746981d35db31c80174d2948"></a><!-- doxytag: member="hd_t::line" ref="0e7fa57c746981d35db31c80174d2948" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned <a class="el" href="structhd__t.html#0e7fa57c746981d35db31c80174d2948">hd_t::line</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
(Internal) Source code line where this entry was created. 
<p>

</div>
</div><p>
<a class="anchor" name="27f349e4659247d1508e43ff7be592f6"></a><!-- doxytag: member="hd_t::count" ref="27f349e4659247d1508e43ff7be592f6" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned <a class="el" href="structhd__t.html#27f349e4659247d1508e43ff7be592f6">hd_t::count</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
(Internal) Counter, used in combination with <a class="el" href="structhd__t.html#41d70cb56e08fe4aede47ded6f591704">hd_t::module</a> and <a class="el" href="structhd__t.html#0e7fa57c746981d35db31c80174d2948">hd_t::line</a>. 
<p>

</div>
</div><p>
<a class="anchor" name="f010287019416b69c71a89ba0cbab720"></a><!-- doxytag: member="hd_t::res" ref="f010287019416b69c71a89ba0cbab720" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="unionhd__res__t.html">hd_res_t</a>* <a class="el" href="structhd__t.html#f010287019416b69c71a89ba0cbab720">hd_t::res</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Device resources. 
<p>

</div>
</div><p>
<a class="anchor" name="6c25713d1814ff76dd46e9eb343e480d"></a><!-- doxytag: member="hd_t::detail" ref="6c25713d1814ff76dd46e9eb343e480d" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="unionhd__detail__t.html">hd_detail_t</a>* <a class="el" href="structhd__t.html#6c25713d1814ff76dd46e9eb343e480d">hd_t::detail</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Special info associated with this hardware. 
<p>
<dl class="note" compact><dt><b>Note:</b></dt><dd>This is going to change! </dd></dl>

</div>
</div><p>
<a class="anchor" name="987ac4c1cede5a81ad19b687c2950767"></a><!-- doxytag: member="hd_t::extra_info" ref="987ac4c1cede5a81ad19b687c2950767" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structstr__list__t.html">str_list_t</a>* <a class="el" href="structhd__t.html#987ac4c1cede5a81ad19b687c2950767">hd_t::extra_info</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
(Internal) Unspecific text info. 
<p>
It is used to track IDE interfaces and assign them to the correct IDE controllers. 
</div>
</div><p>
<a class="anchor" name="8b22deb34d147e5dde368f2e2dab6624"></a><!-- doxytag: member="hd_t::status" ref="8b22deb34d147e5dde368f2e2dab6624" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structhd__status__t.html">hd_status_t</a> <a class="el" href="structhd__t.html#8b22deb34d147e5dde368f2e2dab6624">hd_t::status</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Hardware status (if available). 
<p>
The status is stored in files below /var/lib/hardware/unique-keys/. Every hardware item gets a file there with its unique id as file name. 
</div>
</div><p>
<a class="anchor" name="d95297ba5bc87b68c4738c07c63b2d10"></a><!-- doxytag: member="hd_t::config_string" ref="d95297ba5bc87b68c4738c07c63b2d10" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* <a class="el" href="structhd__t.html#d95297ba5bc87b68c4738c07c63b2d10">hd_t::config_string</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Some config info. 
<p>
Every hardware item may get some string assigned. This string is stored in files below /var/lib/hardware/unique-keys/. There is no meaning associated with this string. 
</div>
</div><p>
<a class="anchor" name="b4d375e140e3b5adaf0e89ad442d0fe2"></a><!-- doxytag: member="hd_t::hotplug" ref="b4d375e140e3b5adaf0e89ad442d0fe2" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__libhdPublic.html#gb2f0cc79d6a3af583cc7535b111cb7b3">hd_hotplug_t</a> <a class="el" href="structhd__t.html#b4d375e140e3b5adaf0e89ad442d0fe2">hd_t::hotplug</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Hotplug controller for this device. 
<p>
It indicates what kind of hotplug device (if any) this is. 
</div>
</div><p>
<a class="anchor" name="5e8d528a73e0f76976efa828cfd46090"></a><!-- doxytag: member="hd_t::hotplug_slot" ref="5e8d528a73e0f76976efa828cfd46090" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned <a class="el" href="structhd__t.html#5e8d528a73e0f76976efa828cfd46090">hd_t::hotplug_slot</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Slot the hotplug <a class="el" href="structdevice.html">device</a> is connected to (e.g. 
<p>
PCMCIA socket). <dl class="note" compact><dt><b>Note:</b></dt><dd><a class="el" href="structhd__t.html#5e8d528a73e0f76976efa828cfd46090">hotplug_slot</a> counts 1-based (0: no information available). </dd></dl>

</div>
</div><p>
<a class="anchor" name="619f63df598aca016d96f524bc1de211"></a><!-- doxytag: member="hd_t::is" ref="619f63df598aca016d96f524bc1de211" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct <a class="el" href="structhd__t_1_1is__s.html">hd_t::is_s</a>  <a class="el" href="structhd__t.html#619f63df598aca016d96f524bc1de211">hd_t::is</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="6225413e396b1a28d4f6e013587f5ff2"></a><!-- doxytag: member="hd_t::tag" ref="6225413e396b1a28d4f6e013587f5ff2" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct <a class="el" href="structhd__t_1_1tag__s.html">hd_t::tag_s</a>  <a class="el" href="structhd__t.html#6225413e396b1a28d4f6e013587f5ff2">hd_t::tag</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="d67b98ead3c0542b7a551f4b30505684"></a><!-- doxytag: member="hd_t::block0" ref="d67b98ead3c0542b7a551f4b30505684" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned char* <a class="el" href="structhd__t.html#d67b98ead3c0542b7a551f4b30505684">hd_t::block0</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
(Internal) First 512 bytes of block devices. 
<p>
To check accessibility of block devices we read the first block. The data is used to identify the boot device. 
</div>
</div><p>
<a class="anchor" name="9b7a4434ff8f3b2daa6450714af4ddb6"></a><!-- doxytag: member="hd_t::driver" ref="9b7a4434ff8f3b2daa6450714af4ddb6" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* <a class="el" href="structhd__t.html#9b7a4434ff8f3b2daa6450714af4ddb6">hd_t::driver</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Currently active driver. 
<p>

</div>
</div><p>
<a class="anchor" name="363f867ec50dd505c2bf232fc37eafbb"></a><!-- doxytag: member="hd_t::driver_module" ref="363f867ec50dd505c2bf232fc37eafbb" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* <a class="el" href="structhd__t.html#363f867ec50dd505c2bf232fc37eafbb">hd_t::driver_module</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Currently active driver module (if any). 
<p>

</div>
</div><p>
<a class="anchor" name="7ed276145debfc962fe1f9f852b873ec"></a><!-- doxytag: member="hd_t::drivers" ref="7ed276145debfc962fe1f9f852b873ec" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structstr__list__t.html">str_list_t</a>* <a class="el" href="structhd__t.html#7ed276145debfc962fe1f9f852b873ec">hd_t::drivers</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
List of currently active drivers. 
<p>

</div>
</div><p>
<a class="anchor" name="9e115498af867bb7182e8903b059ecd7"></a><!-- doxytag: member="hd_t::driver_modules" ref="9e115498af867bb7182e8903b059ecd7" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structstr__list__t.html">str_list_t</a>* <a class="el" href="structhd__t.html#9e115498af867bb7182e8903b059ecd7">hd_t::driver_modules</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
List of currently active driver modules. 
<p>

</div>
</div><p>
<a class="anchor" name="e2da81443b3ccb2e6c956ea2481a847e"></a><!-- doxytag: member="hd_t::old_unique_id" ref="e2da81443b3ccb2e6c956ea2481a847e" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* <a class="el" href="structhd__t.html#e2da81443b3ccb2e6c956ea2481a847e">hd_t::old_unique_id</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Old <a class="el" href="structhd__t.html#20a97f2b6037ccd73cd813e02414410d">unique_id</a> for compatibility. 
<p>
The calculation of unique ids has changed in libhd v3.17. Basically we no longer use the vendor/device names if there are vendor/device ids. (Otherwise a simple device name database update would change the id, which is really not what you want.) 
</div>
</div><p>
<a class="anchor" name="5ac48d84853cbeff0b47511956cfb549"></a><!-- doxytag: member="hd_t::parent_id" ref="5ac48d84853cbeff0b47511956cfb549" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* <a class="el" href="structhd__t.html#5ac48d84853cbeff0b47511956cfb549">hd_t::parent_id</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<a class="el" href="structhd__t.html#20a97f2b6037ccd73cd813e02414410d">unique_id</a> of parent (<a class="el" href="structhd__t.html#70086c08ff844546648f4025383477fc">attached_to</a>). 
<p>
<dl class="note" compact><dt><b>Note:</b></dt><dd>Please do not use it for now. </dd></dl>

</div>
</div><p>
<a class="anchor" name="37369464624d3158febd82ab45df9c57"></a><!-- doxytag: member="hd_t::child_ids" ref="37369464624d3158febd82ab45df9c57" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structstr__list__t.html">str_list_t</a>* <a class="el" href="structhd__t.html#37369464624d3158febd82ab45df9c57">hd_t::child_ids</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<a class="el" href="structhd__t.html#1e3a720bd77a91e18760658dbefc606d">unique_ids</a> of children (<a class="el" href="structhd__t.html#5ac48d84853cbeff0b47511956cfb549">parent_id</a>). 
<p>
<dl class="note" compact><dt><b>Note:</b></dt><dd>Please do not use it for now. </dd></dl>

</div>
</div><p>
<a class="anchor" name="9ed61e1fb2c7c961259e06e0a95bdc8a"></a><!-- doxytag: member="hd_t::unique_id1" ref="9ed61e1fb2c7c961259e06e0a95bdc8a" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* <a class="el" href="structhd__t.html#9ed61e1fb2c7c961259e06e0a95bdc8a">hd_t::unique_id1</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
(Internal) location independent <a class="el" href="structhd__t.html#20a97f2b6037ccd73cd813e02414410d">unique_id</a> part. 
<p>
The speed up some internal searches, we store it here separately. 
</div>
</div><p>
<a class="anchor" name="136bd1ee05fad2de939fc857a7501429"></a><!-- doxytag: member="hd_t::usb_guid" ref="136bd1ee05fad2de939fc857a7501429" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* <a class="el" href="structhd__t.html#136bd1ee05fad2de939fc857a7501429">hd_t::usb_guid</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
USB Global Unique Identifier. 
<p>
Available for USB devices. This may even be set if <a class="el" href="structhd__t.html#9835f8f645455517b4070a7ecc80f76f">hd_t::bus</a> is not <a class="el" href="group__DEVCLASSpub.html#gg1461495ea171a39717524ed8da69fc8c9cf4565796da69b2a1af46024cf1cb28">bus_usb</a> (e.g. USB storage devices will have <a class="el" href="structhd__t.html#9835f8f645455517b4070a7ecc80f76f">hd_t::bus</a> set to <a class="el" href="group__DEVCLASSpub.html#gg1461495ea171a39717524ed8da69fc8c462c40f6c73f41a27844e9bccf8d3f1b">bus_scsi</a> due to SCSI emulation). 
</div>
</div><p>
<a class="anchor" name="ce987da62335f34af5230981596d6b41"></a><!-- doxytag: member="hd_t::driver_info" ref="ce987da62335f34af5230981596d6b41" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="uniondriver__info__t.html">driver_info_t</a>* <a class="el" href="structhd__t.html#ce987da62335f34af5230981596d6b41">hd_t::driver_info</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<a class="el" href="structdevice.html">device</a> driver info 
<p>

</div>
</div><p>
<a class="anchor" name="284dce068ceaab115db52aa26009d75f"></a><!-- doxytag: member="hd_t::requires" ref="284dce068ceaab115db52aa26009d75f" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structstr__list__t.html">str_list_t</a>* <a class="el" href="structhd__t.html#284dce068ceaab115db52aa26009d75f">hd_t::requires</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
packages/programs required for this hardware 
<p>

</div>
</div><p>
<a class="anchor" name="4380889137f62de55cf058c779c7170e"></a><!-- doxytag: member="hd_t::hal_prop" ref="4380889137f62de55cf058c779c7170e" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structhal__prop__t.html">hal_prop_t</a>* <a class="el" href="structhd__t.html#4380889137f62de55cf058c779c7170e">hd_t::hal_prop</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
hal property list 
<p>

</div>
</div><p>
<a class="anchor" name="e5c020ca6f04d36959c77f5c210ed8e9"></a><!-- doxytag: member="hd_t::persistent_prop" ref="e5c020ca6f04d36959c77f5c210ed8e9" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structhal__prop__t.html">hal_prop_t</a>* <a class="el" href="structhd__t.html#e5c020ca6f04d36959c77f5c210ed8e9">hd_t::persistent_prop</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
persistent property list 
<p>

</div>
</div><p>
<a class="anchor" name="d81f40e9ae3ffaec7780672a64bb6cd0"></a><!-- doxytag: member="hd_t::modalias" ref="d81f40e9ae3ffaec7780672a64bb6cd0" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* <a class="el" href="structhd__t.html#d81f40e9ae3ffaec7780672a64bb6cd0">hd_t::modalias</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
module alias 
<p>

</div>
</div><p>
<a class="anchor" name="716aca30cbdbd9ce8da13f62e0060591"></a><!-- doxytag: member="hd_t::ref_cnt" ref="716aca30cbdbd9ce8da13f62e0060591" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned <a class="el" href="structhd__t.html#716aca30cbdbd9ce8da13f62e0060591">hd_t::ref_cnt</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
(Internal) memory reference count. 
<p>

</div>
</div><p>
<a class="anchor" name="4ed7a8fb0a997778f94ffe1a083e310d"></a><!-- doxytag: member="hd_t::ref" ref="4ed7a8fb0a997778f94ffe1a083e310d" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct s_hd_t* <a class="el" href="structhd__t.html#4ed7a8fb0a997778f94ffe1a083e310d">hd_t::ref</a><code> [read]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
(Internal) if set, this is only a reference. 
<p>

</div>
</div><p>
<hr>The documentation for this struct was generated from the following file:<ul>
<li><a class="el" href="hd_8h-source.html">hd.h</a></ul>
</body></html>