xref: /inferno-os/os/port/netaux.c (revision 74a4d8c26dd3c1e9febcb717cfd6cb6512991a7a)
1 #include	"u.h"
2 #include	"../port/lib.h"
3 #include	"mem.h"
4 #include	"dat.h"
5 #include	"fns.h"
6 #include	"../port/error.h"
7 #include	"../port/netif.h"
8 
9 
10 void
hnputv(void * p,vlong v)11 hnputv(void *p, vlong v)
12 {
13 	uchar *a;
14 
15 	a = p;
16 	hnputl(a, v>>32);
17 	hnputl(a+4, v);
18 }
19 
20 void
hnputl(void * p,ulong v)21 hnputl(void *p, ulong v)
22 {
23 	uchar *a;
24 
25 	a = p;
26 	a[0] = v>>24;
27 	a[1] = v>>16;
28 	a[2] = v>>8;
29 	a[3] = v;
30 }
31 
32 void
hnputs(void * p,ushort v)33 hnputs(void *p, ushort v)
34 {
35 	uchar *a;
36 
37 	a = p;
38 	a[0] = v>>8;
39 	a[1] = v;
40 }
41 
42 vlong
nhgetv(void * p)43 nhgetv(void *p)
44 {
45 	uchar *a;
46 
47 	a = p;
48 	return ((vlong)nhgetl(a) << 32) | nhgetl(a+4);
49 }
50 
51 ulong
nhgetl(void * p)52 nhgetl(void *p)
53 {
54 	uchar *a;
55 
56 	a = p;
57 	return (a[0]<<24)|(a[1]<<16)|(a[2]<<8)|(a[3]<<0);
58 }
59 
60 ushort
nhgets(void * p)61 nhgets(void *p)
62 {
63 	uchar *a;
64 
65 	a = p;
66 	return (a[0]<<8)|(a[1]<<0);
67 }
68