xref: /plan9/sys/src/cmd/unix/drawterm/libip/bo.c (revision 58da3067adcdccaaa043d0bfde28ba83b7ced07d)
1*58da3067SDavid du Colombier #include <u.h>
2*58da3067SDavid du Colombier #include <libc.h>
3*58da3067SDavid du Colombier #include <ip.h>
4*58da3067SDavid du Colombier 
5*58da3067SDavid du Colombier void
hnputv(void * p,uvlong v)6*58da3067SDavid du Colombier hnputv(void *p, uvlong v)
7*58da3067SDavid du Colombier {
8*58da3067SDavid du Colombier 	uchar *a;
9*58da3067SDavid du Colombier 
10*58da3067SDavid du Colombier 	a = p;
11*58da3067SDavid du Colombier 	a[0] = v>>56;
12*58da3067SDavid du Colombier 	a[1] = v>>48;
13*58da3067SDavid du Colombier 	a[2] = v>>40;
14*58da3067SDavid du Colombier 	a[3] = v>>32;
15*58da3067SDavid du Colombier 	a[4] = v>>24;
16*58da3067SDavid du Colombier 	a[5] = v>>16;
17*58da3067SDavid du Colombier 	a[6] = v>>8;
18*58da3067SDavid du Colombier 	a[7] = v;
19*58da3067SDavid du Colombier }
20*58da3067SDavid du Colombier 
21*58da3067SDavid du Colombier void
hnputl(void * p,uint v)22*58da3067SDavid du Colombier hnputl(void *p, uint v)
23*58da3067SDavid du Colombier {
24*58da3067SDavid du Colombier 	uchar *a;
25*58da3067SDavid du Colombier 
26*58da3067SDavid du Colombier 	a = p;
27*58da3067SDavid du Colombier 	a[0] = v>>24;
28*58da3067SDavid du Colombier 	a[1] = v>>16;
29*58da3067SDavid du Colombier 	a[2] = v>>8;
30*58da3067SDavid du Colombier 	a[3] = v;
31*58da3067SDavid du Colombier }
32*58da3067SDavid du Colombier 
33*58da3067SDavid du Colombier void
hnputs(void * p,ushort v)34*58da3067SDavid du Colombier hnputs(void *p, ushort v)
35*58da3067SDavid du Colombier {
36*58da3067SDavid du Colombier 	uchar *a;
37*58da3067SDavid du Colombier 
38*58da3067SDavid du Colombier 	a = p;
39*58da3067SDavid du Colombier 	a[0] = v>>8;
40*58da3067SDavid du Colombier 	a[1] = v;
41*58da3067SDavid du Colombier }
42*58da3067SDavid du Colombier 
43*58da3067SDavid du Colombier uvlong
nhgetv(void * p)44*58da3067SDavid du Colombier nhgetv(void *p)
45*58da3067SDavid du Colombier {
46*58da3067SDavid du Colombier 	uchar *a;
47*58da3067SDavid du Colombier 	uvlong v;
48*58da3067SDavid du Colombier 
49*58da3067SDavid du Colombier 	a = p;
50*58da3067SDavid du Colombier 	v = (uvlong)a[0]<<56;
51*58da3067SDavid du Colombier 	v |= (uvlong)a[1]<<48;
52*58da3067SDavid du Colombier 	v |= (uvlong)a[2]<<40;
53*58da3067SDavid du Colombier 	v |= (uvlong)a[3]<<32;
54*58da3067SDavid du Colombier 	v |= a[4]<<24;
55*58da3067SDavid du Colombier 	v |= a[5]<<16;
56*58da3067SDavid du Colombier 	v |= a[6]<<8;
57*58da3067SDavid du Colombier 	v |= a[7]<<0;
58*58da3067SDavid du Colombier 	return v;
59*58da3067SDavid du Colombier }
60*58da3067SDavid du Colombier 
61*58da3067SDavid du Colombier uint
nhgetl(void * p)62*58da3067SDavid du Colombier nhgetl(void *p)
63*58da3067SDavid du Colombier {
64*58da3067SDavid du Colombier 	uchar *a;
65*58da3067SDavid du Colombier 
66*58da3067SDavid du Colombier 	a = p;
67*58da3067SDavid du Colombier 	return (a[0]<<24)|(a[1]<<16)|(a[2]<<8)|(a[3]<<0);
68*58da3067SDavid du Colombier }
69*58da3067SDavid du Colombier 
70*58da3067SDavid du Colombier ushort
nhgets(void * p)71*58da3067SDavid du Colombier nhgets(void *p)
72*58da3067SDavid du Colombier {
73*58da3067SDavid du Colombier 	uchar *a;
74*58da3067SDavid du Colombier 
75*58da3067SDavid du Colombier 	a = p;
76*58da3067SDavid du Colombier 	return (a[0]<<8)|(a[1]<<0);
77*58da3067SDavid du Colombier }
78