Add changes from the Linux-2.6 tree.
[linux-2.6.git] / include / linux / byteorder / generic.h
index 5f33f56..e86e4a9 100644 (file)
@@ -5,6 +5,10 @@
  * linux/byteorder_generic.h
  * Generic Byte-reordering support
  *
+ * The "... p" macros, like le64_to_cpup, can be used with pointers
+ * to unaligned data, but there will be a performance penalty on 
+ * some architectures.  Use get_unaligned for unaligned data.
+ *
  * Francois-Rene Rideau <fare@tunes.org> 19970707
  *    gathered all the good ideas from all asm-foo/byteorder.h into one file,
  *    cleaned them up.
  * Do the prototypes. Somebody might want to take the
  * address or some such sick thing..
  */
-extern __u32                   ntohl(__u32);
-extern __u32                   htonl(__u32);
-extern unsigned short int      ntohs(unsigned short int);
-extern unsigned short int      htons(unsigned short int);
+extern __u32                   ntohl(__be32);
+extern __be32                  htonl(__u32);
+extern __u16                   ntohs(__be16);
+extern __be16                  htons(__u16);
 
-#if defined(__GNUC__) && (__GNUC__ >= 2) && defined(__OPTIMIZE__)
+#if defined(__GNUC__) && defined(__OPTIMIZE__)
 
 #define ___htonl(x) __cpu_to_be32(x)
 #define ___htons(x) __cpu_to_be16(x)