summaryrefslogtreecommitdiff
path: root/src/lib/libc/net/htons.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libc/net/htons.c')
-rw-r--r--src/lib/libc/net/htons.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/lib/libc/net/htons.c b/src/lib/libc/net/htons.c
new file mode 100644
index 0000000000..ded70712ea
--- /dev/null
+++ b/src/lib/libc/net/htons.c
@@ -0,0 +1,24 @@
1/*
2 * Written by J.T. Conklin <jtc@netbsd.org>.
3 * Public domain.
4 */
5
6#if defined(LIBC_SCCS) && !defined(lint)
7static char *rcsid = "$OpenBSD: htons.c,v 1.7 2002/02/19 19:39:36 millert Exp $";
8#endif /* LIBC_SCCS and not lint */
9
10#include <sys/types.h>
11#include <machine/endian.h>
12
13#undef htons
14
15u_int16_t
16htons(u_int16_t x)
17{
18#if BYTE_ORDER == LITTLE_ENDIAN
19 u_char *s = (u_char *) &x;
20 return (u_int16_t)(s[0] << 8 | s[1]);
21#else
22 return x;
23#endif
24}