xref: /plan9/sys/src/cmd/aquarela/smbconv.c (revision 8ccd4a6360d974db7bd7bbd4f37e7018419ea908)
1 #include "headers.h"
2 
3 ushort
smbnhgets(uchar * p)4 smbnhgets(uchar *p)
5 {
6 	return p[0] | (p[1] << 8);
7 }
8 
9 ulong
smbnhgetl(uchar * p)10 smbnhgetl(uchar *p)
11 {
12 	return p[0] | (p[1] << 8) | (p[2] << 16) | (p[3] << 24);
13 }
14 
15 void
smbhnputs(uchar * p,ushort v)16 smbhnputs(uchar *p, ushort v)
17 {
18 	p[0] = v;
19 	p[1] = v >> 8;
20 }
21 
22 void
smbhnputl(uchar * p,ulong v)23 smbhnputl(uchar *p, ulong v)
24 {
25 	p[0] = v;
26 	p[1] = v >> 8;
27 	p[2] = v >> 16;
28 	p[3] = v >> 24;
29 }
30 
31 void
smbhnputv(uchar * p,vlong v)32 smbhnputv(uchar *p, vlong v)
33 {
34 	smbhnputl(p, v);
35 	smbhnputl(p + 4, (v >> 32) & 0xffffffff);
36 }
37 
38 vlong
smbnhgetv(uchar * p)39 smbnhgetv(uchar *p)
40 {
41 	return (vlong)smbnhgetl(p) | ((vlong)smbnhgetl(p + 4) << 32);
42 }
43