#define __bswap32(x) \
	((((x) & 0xff000000) >> 24) | (((x) & 0x00ff0000) >>  8) | \
	(((x) & 0x0000ff00) <<  8) | (((x) & 0x000000ff) << 24))

static int little_endian(void)
{
	static short one=1;
	return *(char *)&one==1;
}

static unsigned int ntohl(unsigned int netlong)
{
	if(little_endian())
		return __bswap32(netlong);

	return netlong;
}