diff options
Diffstat (limited to 'sys/lib/libkern/ntohl.c')
-rw-r--r-- | sys/lib/libkern/ntohl.c | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/sys/lib/libkern/ntohl.c b/sys/lib/libkern/ntohl.c new file mode 100644 index 00000000000..6f9f2de0f22 --- /dev/null +++ b/sys/lib/libkern/ntohl.c @@ -0,0 +1,29 @@ +/* $NetBSD: ntohl.c,v 1.6 1995/10/07 09:26:38 mycroft Exp $ */ + +/* + * Written by J.T. Conklin <jtc@netbsd.org>. + * Public domain. + */ + +#if defined(LIBC_SCCS) && !defined(lint) +static char *rcsid = "$NetBSD: ntohl.c,v 1.6 1995/10/07 09:26:38 mycroft Exp $"; +#endif + +#include <sys/types.h> +#include <machine/endian.h> + +#undef ntohl + +unsigned long +ntohl(x) + unsigned long x; +{ + u_int32_t y = x; + +#if BYTE_ORDER == LITTLE_ENDIAN + u_char *s = (u_char *)&y; + return s[0] << 24 | s[1] << 16 | s[2] << 8 | s[3]; +#else + return y; +#endif +} |