Thomas Graf wrote:
* Randy Dunlap <[EMAIL PROTECTED]> 2006-11-10 10:23
On Fri, 10 Nov 2006 01:08:23 -0500 Paul Moore wrote:
An Introduction To Using Generic Netlink
===============================================================================
3.1.2. The genl_family Structure
Generic Netlink services are defined by the genl_family structure, which is
shown below:
struct genl_family
{
unsigned int id;
unsigned int hdrsize;
char name[GENL_NAMSIZ];
unsigned int version;
unsigned int maxattr;
struct nlattr ** attrbuf;
struct list_head ops_list;
struct list_head family_list;
};
Any alignment/packing concerns here? or that is already
handled, just not presented here?
I thought I chose GENL_NAMESIZ wisely but to be sure I checked
with Mr. Alignment himself, Arnaldo:
Hm, looks OK to me. Am I missing something?
struct genl_family {
unsigned int id; /* 0(0) 4 */
unsigned int hdrsize; /* 4(0) 4 */
char name[16]; /* 8(0) 16 */
unsigned int version; /* 24(0) 4 */
unsigned int maxattr; /* 28(0) 4 */
/* ---------- cacheline 1 boundary ---------- */
struct nlattr * * attrbuf; /* 32(0) 4 */
struct list_head ops_list; /* 36(0) 8 */
struct list_head family_list; /* 44(0) 8 */
}; /* size: 52 */
How about field size issues? Usually for int's etc. that are in
userspace interfaces, we use __u32 etc.
--
~Randy
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html