htonl.c revision 1.2.2.1
1/*	$NetBSD: htonl.c,v 1.2.2.1 2012/04/17 00:01:39 yamt 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.2.2.1 2012/04/17 00:01:39 yamt Exp $");
11#endif
12
13#include <sys/types.h>
14
15#undef htonl
16
17uint32_t
18htonl(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