> > one more question, for bit field, if we use long xyz:n, will that be an > issue in 32/64bit arch? i feel no, just to make sure. first of all, you almost always want to make the bitfield an "unsigned" type; either "unsigned int" or "unsigned long". (there are exceptions to this, but if you need them you should ask yourself if you really really want bitfields in that case) I'm not sure it matters much, but I suspect that as long as your fields aren't bigger than 32 bits, you should go for "unsigned int". This gives the compiler more freedom to deal with them... -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/