1*219b2ee8SDavid du Colombier unsigned long 2*219b2ee8SDavid du Colombier ntohl(int x) 3*219b2ee8SDavid du Colombier { 4*219b2ee8SDavid du Colombier unsigned long n; 5*219b2ee8SDavid du Colombier unsigned char *p; 6*219b2ee8SDavid du Colombier 7*219b2ee8SDavid du Colombier n = x; 8*219b2ee8SDavid du Colombier p = (unsigned char*)&n; 9*219b2ee8SDavid du Colombier return (p[0]<<24)|(p[1]<<16)|(p[2]<<8)|p[3]; 10*219b2ee8SDavid du Colombier } 11*219b2ee8SDavid du Colombier 12*219b2ee8SDavid du Colombier unsigned long 13*219b2ee8SDavid du Colombier htonl(unsigned long h) 14*219b2ee8SDavid du Colombier { 15*219b2ee8SDavid du Colombier unsigned long n; 16*219b2ee8SDavid du Colombier unsigned char *p; 17*219b2ee8SDavid du Colombier 18*219b2ee8SDavid du Colombier p = (unsigned char*)&n; 19*219b2ee8SDavid du Colombier p[0] = h>>24; 20*219b2ee8SDavid du Colombier p[1] = h>>16; 21*219b2ee8SDavid du Colombier p[2] = h>>8; 22*219b2ee8SDavid du Colombier p[3] = h; 23*219b2ee8SDavid du Colombier return n; 24*219b2ee8SDavid du Colombier } 25*219b2ee8SDavid du Colombier 26*219b2ee8SDavid du Colombier unsigned short 27*219b2ee8SDavid du Colombier ntohs(int x) 28*219b2ee8SDavid du Colombier { 29*219b2ee8SDavid du Colombier unsigned short n; 30*219b2ee8SDavid du Colombier unsigned char *p; 31*219b2ee8SDavid du Colombier 32*219b2ee8SDavid du Colombier n = x; 33*219b2ee8SDavid du Colombier p = (unsigned char*)&n; 34*219b2ee8SDavid du Colombier return (p[0]<<8)|p[1]; 35*219b2ee8SDavid du Colombier } 36*219b2ee8SDavid du Colombier 37*219b2ee8SDavid du Colombier unsigned short 38*219b2ee8SDavid du Colombier htons(unsigned short h) 39*219b2ee8SDavid du Colombier { 40*219b2ee8SDavid du Colombier unsigned short n; 41*219b2ee8SDavid du Colombier unsigned char *p; 42*219b2ee8SDavid du Colombier 43*219b2ee8SDavid du Colombier p = (unsigned char*)&n; 44*219b2ee8SDavid du Colombier p[0] = h>>8; 45*219b2ee8SDavid du Colombier p[1] = h; 46*219b2ee8SDavid du Colombier return n; 47*219b2ee8SDavid du Colombier } 48