xref: /netbsd-src/common/lib/libc/gen/bswap32.c (revision b45fa494daa2ba02187711d31a4144faf0993066)
1 /*  $NetBSD: bswap32.c,v 1.3 2011/07/04 21:20:27 joerg Exp $    */
2 
3 /*
4  * Written by Manuel Bouyer <bouyer@NetBSD.org>.
5  * Public domain.
6  */
7 
8 #include <sys/cdefs.h>
9 #if defined(LIBC_SCCS) && !defined(lint)
10 __RCSID("$NetBSD: bswap32.c,v 1.3 2011/07/04 21:20:27 joerg Exp $");
11 #endif /* LIBC_SCCS and not lint */
12 
13 #include <sys/types.h>
14 #include <machine/bswap.h>
15 
16 #undef bswap32
17 
18 uint32_t
bswap32(uint32_t x)19 bswap32(uint32_t x)
20 {
21 	return	((x << 24) & 0xff000000 ) |
22 		((x <<  8) & 0x00ff0000 ) |
23 		((x >>  8) & 0x0000ff00 ) |
24 		((x >> 24) & 0x000000ff );
25 }
26