/* * This file is part of the UCB release of Plan 9. It is subject to the license * terms in the LICENSE file found in the top-level directory of this * distribution and at http://akaros.cs.berkeley.edu/files/Plan9License. No * part of the UCB release of Plan 9, including this file, may be copied, * modified, propagated, or distributed except according to the terms contained * in the LICENSE file. */unsigned longntohl(unsigned long x){ unsigned long n; unsigned char *p; n = x; p = (unsigned char*)&n; return (p[0]<<24)|(p[1]<<16)|(p[2]<<8)|p[3];}unsigned longhtonl(unsigned long h){ unsigned long n; unsigned char *p; p = (unsigned char*)&n; p[0] = h>>24; p[1] = h>>16; p[2] = h>>8; p[3] = h; return n;}unsigned shortntohs(unsigned short x){ unsigned short n; unsigned char *p; n = x; p = (unsigned char*)&n; return (p[0]<<8)|p[1];}unsigned shorthtons(unsigned short h){ unsigned short n; unsigned char *p; p = (unsigned char*)&n; p[0] = h>>8; p[1] = h; return n;}
/*
* This file is part of the UCB release of Plan 9. It is subject to the license
* terms in the LICENSE file found in the top-level directory of this
* distribution and at http://akaros.cs.berkeley.edu/files/Plan9License. No
* part of the UCB release of Plan 9, including this file, may be copied,
* modified, propagated, or distributed except according to the terms contained
* in the LICENSE file.
*/
unsigned long
ntohl(unsigned long x)
{
unsigned long n;
unsigned char *p;
n = x;
p = (unsigned char*)&n;
return (p[0]<<24)|(p[1]<<16)|(p[2]<<8)|p[3];
}
unsigned long
htonl(unsigned long h)
{
unsigned long n;
unsigned char *p;
p = (unsigned char*)&n;
p[0] = h>>24;
p[1] = h>>16;
p[2] = h>>8;
p[3] = h;
return n;
}
unsigned short
ntohs(unsigned short x)
{
unsigned short n;
unsigned char *p;
n = x;
p = (unsigned char*)&n;
return (p[0]<<8)|p[1];
}
unsigned short
htons(unsigned short h)
{
unsigned short n;
unsigned char *p;
p = (unsigned char*)&n;
p[0] = h>>8;
p[1] = h;
return n;
}