xref: /plan9/sys/src/libip/bo.c (revision 5fbedc1b5db95b9cb68b97eaeca869f43a32cbb7)
17dd7cddfSDavid du Colombier #include <u.h>
27dd7cddfSDavid du Colombier #include <libc.h>
37dd7cddfSDavid du Colombier #include <ip.h>
47dd7cddfSDavid du Colombier 
5*5fbedc1bSDavid du Colombier void
hnputv(void * p,uvlong v)6*5fbedc1bSDavid du Colombier hnputv(void *p, uvlong v)
7*5fbedc1bSDavid du Colombier {
8*5fbedc1bSDavid du Colombier 	uchar *a;
9*5fbedc1bSDavid du Colombier 
10*5fbedc1bSDavid du Colombier 	a = p;
11*5fbedc1bSDavid du Colombier 	a[0] = v>>56;
12*5fbedc1bSDavid du Colombier 	a[1] = v>>48;
13*5fbedc1bSDavid du Colombier 	a[2] = v>>40;
14*5fbedc1bSDavid du Colombier 	a[3] = v>>32;
15*5fbedc1bSDavid du Colombier 	a[4] = v>>24;
16*5fbedc1bSDavid du Colombier 	a[5] = v>>16;
17*5fbedc1bSDavid du Colombier 	a[6] = v>>8;
18*5fbedc1bSDavid du Colombier 	a[7] = v;
19*5fbedc1bSDavid du Colombier }
207dd7cddfSDavid du Colombier 
217dd7cddfSDavid du Colombier void
hnputl(void * p,uint v)227dd7cddfSDavid du Colombier hnputl(void *p, uint v)
237dd7cddfSDavid du Colombier {
247dd7cddfSDavid du Colombier 	uchar *a;
257dd7cddfSDavid du Colombier 
267dd7cddfSDavid du Colombier 	a = p;
277dd7cddfSDavid du Colombier 	a[0] = v>>24;
287dd7cddfSDavid du Colombier 	a[1] = v>>16;
297dd7cddfSDavid du Colombier 	a[2] = v>>8;
307dd7cddfSDavid du Colombier 	a[3] = v;
317dd7cddfSDavid du Colombier }
327dd7cddfSDavid du Colombier 
337dd7cddfSDavid du Colombier void
hnputs(void * p,ushort v)347dd7cddfSDavid du Colombier hnputs(void *p, ushort v)
357dd7cddfSDavid du Colombier {
367dd7cddfSDavid du Colombier 	uchar *a;
377dd7cddfSDavid du Colombier 
387dd7cddfSDavid du Colombier 	a = p;
397dd7cddfSDavid du Colombier 	a[0] = v>>8;
407dd7cddfSDavid du Colombier 	a[1] = v;
417dd7cddfSDavid du Colombier }
427dd7cddfSDavid du Colombier 
43*5fbedc1bSDavid du Colombier uvlong
nhgetv(void * p)44*5fbedc1bSDavid du Colombier nhgetv(void *p)
45*5fbedc1bSDavid du Colombier {
46*5fbedc1bSDavid du Colombier 	uchar *a;
47*5fbedc1bSDavid du Colombier 	uvlong v;
48*5fbedc1bSDavid du Colombier 
49*5fbedc1bSDavid du Colombier 	a = p;
50*5fbedc1bSDavid du Colombier 	v = (uvlong)a[0]<<56;
51*5fbedc1bSDavid du Colombier 	v |= (uvlong)a[1]<<48;
52*5fbedc1bSDavid du Colombier 	v |= (uvlong)a[2]<<40;
53*5fbedc1bSDavid du Colombier 	v |= (uvlong)a[3]<<32;
54*5fbedc1bSDavid du Colombier 	v |= a[4]<<24;
55*5fbedc1bSDavid du Colombier 	v |= a[5]<<16;
56*5fbedc1bSDavid du Colombier 	v |= a[6]<<8;
57*5fbedc1bSDavid du Colombier 	v |= a[7]<<0;
58*5fbedc1bSDavid du Colombier 	return v;
59*5fbedc1bSDavid du Colombier }
60*5fbedc1bSDavid du Colombier 
617dd7cddfSDavid du Colombier uint
nhgetl(void * p)627dd7cddfSDavid du Colombier nhgetl(void *p)
637dd7cddfSDavid du Colombier {
647dd7cddfSDavid du Colombier 	uchar *a;
657dd7cddfSDavid du Colombier 
667dd7cddfSDavid du Colombier 	a = p;
677dd7cddfSDavid du Colombier 	return (a[0]<<24)|(a[1]<<16)|(a[2]<<8)|(a[3]<<0);
687dd7cddfSDavid du Colombier }
697dd7cddfSDavid du Colombier 
707dd7cddfSDavid du Colombier ushort
nhgets(void * p)717dd7cddfSDavid du Colombier nhgets(void *p)
727dd7cddfSDavid du Colombier {
737dd7cddfSDavid du Colombier 	uchar *a;
747dd7cddfSDavid du Colombier 
757dd7cddfSDavid du Colombier 	a = p;
767dd7cddfSDavid du Colombier 	return (a[0]<<8)|(a[1]<<0);
777dd7cddfSDavid du Colombier }
78