[BACK]Return to ntohs.c CVS log [TXT][DIR] Up to [local] / sys / lib / libkern

File: [local] / sys / lib / libkern / ntohs.c (download)

Revision 1.1, Tue Mar 4 16:15:06 2008 UTC (16 years, 1 month ago) by nbrk
Branch point for: MAIN

Initial revision

/*
 * Written by J.T. Conklin <jtc@netbsd.org>.
 * Public domain.
 */

#if defined(LIBC_SCCS) && !defined(lint)
static char *rcsid = "$OpenBSD: ntohs.c,v 1.5 2004/11/28 07:23:41 mickey Exp $";
#endif /* LIBC_SCCS and not lint */

#include <sys/types.h>
#include <machine/endian.h>

#undef ntohs

u_int16_t
ntohs(u_int16_t x)
{
#if BYTE_ORDER == LITTLE_ENDIAN
	u_char *s = (u_char *) &x;
	return (u_int16_t)(s[0] << 8 | s[1]);
#else
	return x;
#endif
}