<div dir="ltr">Those are forward declarations as they are being used in defining struct bus_attribute. It&#39;s nothing special about GNU-C. That&#39;s the case for ANSI-C too. Pretty standard.<br><br><div class="gmail_quote">
On Wed, May 30, 2012 at 10:20 PM, harryxiyou <span dir="ltr">&lt;<a href="mailto:harryxiyou@gmail.com" target="_blank">harryxiyou@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi guys,<br>
<br>
When I read the linux/device.h file for some device driver usage, i find some<br>
confusions like following.<br>
<br>
$ head -60 device.h<br>
[...]<br>
<br>
struct device;<br>
struct device_private;<br>
struct device_driver;<br>
struct driver_private;<br>
struct module;<br>
struct class;<br>
struct subsys_private;<br>
struct bus_type;<br>
struct device_node;<br>
struct iommu_ops;<br>
<br>
struct bus_attribute {<br>
        struct attribute        attr;<br>
        ssize_t (*show)(struct bus_type *bus, char *buf);<br>
        ssize_t (*store)(struct bus_type *bus, const char *buf, size_t count);<br>
};<br>
[...]<br>
<br>
I have never seen struct define like<br>
<br>
&quot;struct device;<br>
struct device_private;<br>
struct device_driver;<br>
[...]<br>
struct device_node;<br>
struct iommu_ops;&quot;<br>
<br>
The common define is like this<br>
<br>
&quot;struct a{<br>
   int a;<br>
   int b;<br>
[...]<br>
}&quot;<br>
<br>
Is this just struct declaration or some extension about gcc? Cloud<br>
anyone give me<br>
some explanations?<br>
Thanks in advance ;-)<br>
<br>
Note: my kernel version is 3.0 around.<br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
Thanks<br>
Harry Wei<br>
<br>
_______________________________________________<br>
Kernelnewbies mailing list<br>
<a href="mailto:Kernelnewbies@kernelnewbies.org">Kernelnewbies@kernelnewbies.org</a><br>
<a href="http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies" target="_blank">http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies</a><br>
</font></span></blockquote></div><br><br clear="all"><div><br></div>-- <br><div dir="ltr"><font face="arial, helvetica, sans-serif">Gaurav Jain</font><div><font face="arial, helvetica, sans-serif">Associate Software Engineer</font></div>
<div><font face="arial, helvetica, sans-serif">VxVM Escalations Team, SAMG<br></font></div><div><font face="arial, helvetica, sans-serif">Symantec Software India Pvt. Ltd.</font></div><div><font face="arial, helvetica, sans-serif"><br>
<br></font></div></div><br>
</div>