Since we ran into a problem in absolutely non-IRDA-related code when CONFIG_IRDA is enabled (conflicting definitions of the ASSERT macro) we examined the reason for this and found that include/net/sock.h includes various headers just for the purpose of getting definitions of structures for which forward declarations would be entirely sufficient (as is done, at least in the 2.4 kernels, for CONFIG_ATM and the respective atm_vcc structure). The question here really is - why are the fuill headers included for all these configuration options? There must be historical reasons, or otherwise the bare potential for naming conflicts (as we encountered them) as well as the increased compile time and debug info size should have long warranted redoing this. Thank you very much for any insight, Jan (As I'm not subscribed to this mailing list, please CC me on any reply.) - : send the line "unsubscribe linux-net" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html