1 /* $NetBSD: htonl.c,v 1.3 2012/03/21 20:02:56 he Exp $ */ 2 3 /* 4 * Written by J.T. Conklin <jtc@NetBSD.org>. 5 * Public domain. 6 */ 7 8 #include <sys/cdefs.h> 9 #if defined(LIBC_SCCS) && !defined(lint) 10 __RCSID("$NetBSD: htonl.c,v 1.3 2012/03/21 20:02:56 he Exp $"); 11 #endif 12 13 #include <sys/types.h> 14 15 #undef htonl 16 17 uint32_t 18 htonl(uint32_t x) 19 { 20 #if BYTE_ORDER == LITTLE_ENDIAN 21 u_char *s = (void *)&x; 22 return (uint32_t)(s[0] << 24 | s[1] << 16 | s[2] << 8 | s[3]); 23 #else 24 return x; 25 #endif 26 } 27