Messages in this thread Patch in this message | | | Subject | [PATCH] linux-libc-headers-2.6.10.0: if_tunnel.h relies on byteorder.h having been included | From | Nix <> | Date | Sun, 13 Feb 2005 16:38:58 +0000 |
| |
In iproute2, ip/iptunnel.c says:
#include <linux/if.h> #include <linux/if_arp.h> #include <linux/ip.h> #include <linux/if_tunnel.h>
Now the original Linux kernel includes byteorder.h as a side-effect of including netdevice.h, which it does inside a __KERNEL__ ifdef when if_arp.h is included.
I think it makes more sense to include it in those headers that actually use the __constant_htons() macro, viz:
diff -durN 2.6.10.0-orig/include/linux/if_pppox.h 2.6.10.0/include/linux/if_pppox.h --- 2.6.10.0-orig/include/linux/if_pppox.h 2004-10-31 19:55:51.000000000 +0000 +++ 2.6.10.0/include/linux/if_pppox.h 2005-02-13 16:28:58.000000000 +0000 @@ -21,6 +21,7 @@ #include <asm/types.h> #include <endian.h> #include <byteswap.h> +#include <asm/byteorder.h> /* For user-space programs to pick up these definitions * which they wouldn't get otherwise without defining __KERNEL__ diff -durN 2.6.10.0-orig/include/linux/if_tunnel.h 2.6.10.0/include/linux/if_tunnel.h --- 2.6.10.0-orig/include/linux/if_tunnel.h 2004-10-31 19:55:26.000000000 +0000 +++ 2.6.10.0/include/linux/if_tunnel.h 2005-02-13 16:28:35.000000000 +0000 @@ -4,6 +4,7 @@ #include <linux/if.h> #include <linux/ip.h> #include <asm/types.h> +#include <asm/byteorder.h> #define SIOCGETTUNNEL (SIOCDEVPRIVATE + 0) #define SIOCADDTUNNEL (SIOCDEVPRIVATE + 1) diff -durN 2.6.10.0-orig/include/linux/sctp.h 2.6.10.0/include/linux/sctp.h --- 2.6.10.0-orig/include/linux/sctp.h 2005-01-08 14:03:26.000000000 +0000 +++ 2.6.10.0/include/linux/sctp.h 2005-02-13 16:29:36.000000000 +0000 @@ -53,6 +53,7 @@ #include <linux/in.h> /* We need in_addr. */ #include <linux/in6.h> /* We need in6_addr. */ +#include <asm/byteorder.h> /* Section 3.1. SCTP Common Header Format */
(With this patch, the header stands alone, and iproute2 compiles again.)
-- Synapsids unite! You have nothing to lose but your eggshells! - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |