aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorHarvey Harrison <harvey.harrison@gmail.com>2008-08-12 15:09:04 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2008-08-12 16:07:30 -0700
commit40c9f22210f2d22f45d4fb430c94f472d19407d6 (patch)
treedf633e4af23a8060aa3557d2910bdec16f717f06 /lib
parentf18e439d1035d059534d261c414af33f89aee89a (diff)
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>
Diffstat (limited to 'lib')
0 files changed, 0 insertions, 0 deletions