1 /* $NetBSD: htons.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: htons.c,v 1.3 2012/03/21 20:02:56 he Exp $"); 11 #endif 12 13 #include <sys/types.h> 14 15 #undef htons 16 17 uint16_t htons(uint16_t x)18htons(uint16_t x) 19 { 20 #if BYTE_ORDER == LITTLE_ENDIAN 21 u_char *s = (void *) &x; 22 return (uint16_t)(s[0] << 8 | s[1]); 23 #else 24 return x; 25 #endif 26 } 27