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