Files
kernel-tenderloin-3.0/include/linux
Harvey Harrison 40c9f22210 byteorder: add a new include/linux/swab.h to define byteswapping functions
Collect the implementations from include/linux/byteorder/swab.h, swabb.h
in swab.h

The functionality provided covers:
u16 swab16(u16 val) - return a byteswapped 16 bit value
u32 swab32(u32 val) - return a byteswapped 32 bit value
u64 swab64(u64 val) - return a byteswapped 64 bit value
u32 swahw32(u32 val) - return a wordswapped 32 bit value
u32 swahb32(u32 val) - return a high/low byteswapped 32 bit value

Similar to above, but return swapped value from a naturally-aligned pointer
u16 swab16p(u16 *p)
u32 swab32p(u32 *p)
u64 swab64p(u64 *p)
u32 swahw32p(u32 *p)
u32 swahb32p(u32 *p)

Similar to above, but swap the value in-place (in-situ)
void swab16s(u16 *p)
void swab32s(u32 *p)
void swab64s(u64 *p)
void swahw32s(u32 *p)
void swahb32s(u32 *p)

Arches can override any of these with an optimized version by defining an
inline in their asm/byteorder.h (example given for swab16()):

u16 __arch_swab16() {}
 #define __arch_swab16 __arch_swab16

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-08-12 16:07:30 -07:00
..
2008-07-25 10:53:30 -07:00
2008-08-10 23:32:07 +02:00
2008-07-27 01:26:17 +02:00
2008-08-05 14:33:46 -07:00
2008-07-01 11:28:06 +10:00
2008-08-12 10:13:38 +10:00
2008-06-19 10:42:17 +10:00
2008-07-24 10:47:24 -07:00
2008-07-24 10:47:33 -07:00
2008-07-24 10:47:33 -07:00
2008-07-03 13:21:14 +02:00
2008-08-04 21:56:09 -07:00
2008-07-04 10:40:05 -07:00
2008-07-25 10:53:33 -07:00
2008-07-20 17:12:38 -07:00
2008-07-22 17:30:57 -07:00
2008-07-21 12:00:37 +01:00
2008-07-21 12:00:37 +01:00
2008-07-24 10:47:29 -07:00
2008-07-24 10:47:41 -07:00
2008-07-08 17:55:41 +02:00
2008-07-16 23:27:03 +02:00
2008-07-26 20:53:20 -04:00
2008-07-11 15:49:21 +02:00
2008-07-25 10:53:48 -07:00
2008-07-20 17:12:36 -07:00
2008-07-25 10:53:30 -07:00
2008-07-20 17:12:36 -07:00
2008-07-23 15:25:21 +02:00
2008-08-08 15:13:27 +01:00
2008-08-05 18:17:01 +02:00
2008-07-25 10:53:42 -07:00
2008-06-11 21:00:38 -07:00
2008-07-18 18:05:19 -07:00
2008-06-11 21:00:38 -07:00
2008-07-14 22:49:06 -07:00
2008-07-03 17:51:57 +09:00
2008-08-02 18:36:10 +01:00
2008-07-25 10:53:39 -07:00
2008-07-30 09:41:43 -07:00
2008-06-11 21:00:38 -07:00
2008-07-20 17:12:37 -07:00
2008-07-30 09:41:45 -07:00
2008-08-12 17:52:54 +10:00
2008-07-24 10:47:17 -07:00
2008-07-04 10:40:05 -07:00
2008-07-23 09:49:56 +01:00
2008-08-08 16:17:16 -07:00
2008-08-11 15:25:07 +02:00
2008-07-24 10:47:41 -07:00
2008-07-27 01:56:38 +02:00
2008-07-27 01:54:58 +02:00
2008-08-02 16:28:50 +02:00
2008-07-28 16:30:21 -07:00
2008-07-28 16:30:21 -07:00
2008-07-24 10:47:24 -07:00
2008-07-25 10:53:34 -07:00
2008-07-25 10:53:29 -07:00
2008-08-04 23:04:08 -07:00
2008-08-04 21:31:34 -07:00
2008-08-04 21:31:34 -07:00
2008-07-26 12:00:03 -07:00
2008-06-10 14:37:03 -07:00
2008-08-07 15:33:36 -07:00
2008-08-05 14:33:50 -07:00
2008-06-11 21:00:38 -07:00
2008-06-11 21:00:38 -07:00
2008-07-26 20:53:12 -04:00
2008-08-07 17:18:47 -07:00
2008-07-25 10:53:29 -07:00
2008-08-11 09:30:24 +02:00
2008-07-25 10:53:29 -07:00
2008-07-25 21:45:49 -07:00
2008-08-11 08:59:03 +02:00
2008-07-25 10:53:42 -07:00
2008-07-24 08:31:21 -04:00
2008-07-24 10:47:24 -07:00
2008-08-05 09:28:47 +03:00
2008-07-25 10:53:30 -07:00
2008-06-20 14:05:53 -06:00
2008-07-27 01:47:00 +02:00
2008-08-11 09:30:24 +02:00
2008-07-20 17:12:37 -07:00
2008-07-26 12:00:12 -07:00
2008-07-26 20:53:12 -04:00
2008-06-12 10:48:00 +02:00
2008-08-07 17:18:47 -07:00
2008-07-22 13:03:28 -07:00
2008-07-20 17:12:34 -07:00
2008-07-22 13:03:27 -07:00
2008-07-21 15:15:55 -07:00
2008-07-24 10:47:14 -07:00
2008-07-25 10:53:40 -07:00