kernelnewbies.kernelnewbies.org archive mirror
 help / color / mirror / Atom feed
* [RFC]confusions about 'struct' define
@ 2012-05-30 18:41 Rajat Sharma
  0 siblings, 0 replies; 7+ messages in thread
From: Rajat Sharma @ 2012-05-30 18:41 UTC (permalink / raw)
  To: kernelnewbies

This might be the case of cyclic dependency where header files defining
these structures are also including this .h file.

-Rajat
From: harryxiyou
Sent: 30-05-2012 23:08
To: Gaurav Jain
Cc: Greg-Kroah-Hartman; Harry Wei; kernelnewbies at kernelnewbies.org
Subject: Re: [RFC]confusions about 'struct' define
On Thu, May 31, 2012 at 1:20 AM, Gaurav Jain <gjainroorkee@gmail.com> wrote:
Hi Gaurav,

> Those are forward declarations as they are being used in defining struct
> bus_attribute. It's nothing special about GNU-C. That's the case for ANSI-C
> too. Pretty standard.
>

Hmmm.., that is to say, they may be used before definitions in this file or
defined in other files like 'struct iommu_ops;' field (Actually, i can
not find this field's
definition in this file). However, if it has been defined in other
header files, we need
not declare here, right?



-- 
Thanks
Harry Wei

_______________________________________________
Kernelnewbies mailing list
Kernelnewbies at kernelnewbies.org
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies

^ permalink raw reply	[flat|nested] 7+ messages in thread
* [RFC]confusions about 'struct' define
@ 2012-05-30 16:50 harryxiyou
  2012-05-30 17:20 ` Gaurav Jain
  2012-05-31 16:40 ` michi1 at michaelblizek.twilightparadox.com
  0 siblings, 2 replies; 7+ messages in thread
From: harryxiyou @ 2012-05-30 16:50 UTC (permalink / raw)
  To: kernelnewbies

Hi guys,

When I read the linux/device.h file for some device driver usage, i find some
confusions like following.

$ head -60 device.h
[...]

struct device;
struct device_private;
struct device_driver;
struct driver_private;
struct module;
struct class;
struct subsys_private;
struct bus_type;
struct device_node;
struct iommu_ops;

struct bus_attribute {
	struct attribute	attr;
	ssize_t (*show)(struct bus_type *bus, char *buf);
	ssize_t (*store)(struct bus_type *bus, const char *buf, size_t count);
};
[...]

I have never seen struct define like

"struct device;
struct device_private;
struct device_driver;
[...]
struct device_node;
struct iommu_ops;"

The common define is like this

"struct a{
   int a;
   int b;
[...]
}"

Is this just struct declaration or some extension about gcc? Cloud
anyone give me
some explanations?
Thanks in advance ;-)

Note: my kernel version is 3.0 around.

-- 
Thanks
Harry Wei

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2012-06-04 14:18 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-05-30 18:41 [RFC]confusions about 'struct' define Rajat Sharma
  -- strict thread matches above, loose matches on Subject: below --
2012-05-30 16:50 harryxiyou
2012-05-30 17:20 ` Gaurav Jain
2012-05-30 17:37   ` harryxiyou
2012-06-01  9:30     ` Bernd Petrovitsch
2012-06-04 14:18       ` Sarbojit Ganguly
2012-05-31 16:40 ` michi1 at michaelblizek.twilightparadox.com

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).