blob: de3b4e045056226851006d58c383193bd51d19e7 [file] [log] [blame]
rscd7094232003-11-23 18:23:20 +00001#include <u.h>
2#include <libc.h>
3#include <ip.h>
4
rsc66209ac2004-12-26 23:42:38 +00005void
6hnputv(void *p, uvlong v)
7{
8 uchar *a;
9
10 a = p;
11 a[0] = v>>56;
12 a[1] = v>>48;
13 a[2] = v>>40;
14 a[3] = v>>32;
15 a[4] = v>>24;
16 a[5] = v>>16;
17 a[6] = v>>8;
18 a[7] = v;
19}
rscd7094232003-11-23 18:23:20 +000020
21void
22hnputl(void *p, uint v)
23{
24 uchar *a;
25
26 a = p;
27 a[0] = v>>24;
28 a[1] = v>>16;
29 a[2] = v>>8;
30 a[3] = v;
31}
32
33void
34hnputs(void *p, ushort v)
35{
36 uchar *a;
37
38 a = p;
39 a[0] = v>>8;
40 a[1] = v;
41}
42
rsc66209ac2004-12-26 23:42:38 +000043uvlong
44nhgetv(void *p)
45{
46 uchar *a;
47 uvlong v;
48
49 a = p;
50 v = (uvlong)a[0]<<56;
51 v |= (uvlong)a[1]<<48;
52 v |= (uvlong)a[2]<<40;
53 v |= (uvlong)a[3]<<32;
Russ Cox0f815462008-03-22 10:06:26 -070054 v |= (uvlong)a[4]<<24;
55 v |= (uvlong)a[5]<<16;
56 v |= (uvlong)a[6]<<8;
57 v |= (uvlong)a[7]<<0;
rsc66209ac2004-12-26 23:42:38 +000058 return v;
59}
60
rscd7094232003-11-23 18:23:20 +000061uint
62nhgetl(void *p)
63{
64 uchar *a;
65
66 a = p;
67 return (a[0]<<24)|(a[1]<<16)|(a[2]<<8)|(a[3]<<0);
68}
69
70ushort
71nhgets(void *p)
72{
73 uchar *a;
74
75 a = p;
76 return (a[0]<<8)|(a[1]<<0);
77}