diff options
author | Theo de Raadt <deraadt@cvs.openbsd.org> | 1995-10-18 08:53:40 +0000 |
---|---|---|
committer | Theo de Raadt <deraadt@cvs.openbsd.org> | 1995-10-18 08:53:40 +0000 |
commit | d6583bb2a13f329cf0332ef2570eb8bb8fc0e39c (patch) | |
tree | ece253b876159b39c620e62b6c9b1174642e070e /sys/lib/libkern/htonl.c |
initial import of NetBSD tree
Diffstat (limited to 'sys/lib/libkern/htonl.c')
-rw-r--r-- | sys/lib/libkern/htonl.c | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/sys/lib/libkern/htonl.c b/sys/lib/libkern/htonl.c new file mode 100644 index 00000000000..971757f2028 --- /dev/null +++ b/sys/lib/libkern/htonl.c @@ -0,0 +1,29 @@ +/* $NetBSD: htonl.c,v 1.6 1995/10/07 09:26:26 mycroft Exp $ */ + +/* + * Written by J.T. Conklin <jtc@netbsd.org>. + * Public domain. + */ + +#if defined(LIBC_SCCS) && !defined(lint) +static char *rcsid = "$NetBSD: htonl.c,v 1.6 1995/10/07 09:26:26 mycroft Exp $"; +#endif + +#include <sys/types.h> +#include <machine/endian.h> + +#undef htonl + +unsigned long +htonl(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 +} |