2 pub fn slice_to_be16(v: &[u8]) -> u16 {
3 ((v[0] as u16) << 8*1) |
7 pub fn slice_to_be32(v: &[u8]) -> u32 {
8 ((v[0] as u32) << 8*3) |
9 ((v[1] as u32) << 8*2) |
10 ((v[2] as u32) << 8*1) |
11 ((v[3] as u32) << 8*0)
14 pub fn slice_to_be48(v: &[u8]) -> u64 {
15 ((v[0] as u64) << 8*5) |
16 ((v[1] as u64) << 8*4) |
17 ((v[2] as u64) << 8*3) |
18 ((v[3] as u64) << 8*2) |
19 ((v[4] as u64) << 8*1) |
20 ((v[5] as u64) << 8*0)
23 pub fn slice_to_be64(v: &[u8]) -> u64 {
24 ((v[0] as u64) << 8*7) |
25 ((v[1] as u64) << 8*6) |
26 ((v[2] as u64) << 8*5) |
27 ((v[3] as u64) << 8*4) |
28 ((v[4] as u64) << 8*3) |
29 ((v[5] as u64) << 8*2) |
30 ((v[6] as u64) << 8*1) |
31 ((v[7] as u64) << 8*0)
35 pub fn be16_to_array(u: u16) -> [u8; 2] {
37 v[0] = ((u >> 8*1) & 0xff) as u8;
38 v[1] = ((u >> 8*0) & 0xff) as u8;
42 pub fn be32_to_array(u: u32) -> [u8; 4] {
44 v[0] = ((u >> 8*3) & 0xff) as u8;
45 v[1] = ((u >> 8*2) & 0xff) as u8;
46 v[2] = ((u >> 8*1) & 0xff) as u8;
47 v[3] = ((u >> 8*0) & 0xff) as u8;
51 pub fn be48_to_array(u: u64) -> [u8; 6] {
52 assert!(u & 0xffff_0000_0000_0000 == 0);
54 v[0] = ((u >> 8*5) & 0xff) as u8;
55 v[1] = ((u >> 8*4) & 0xff) as u8;
56 v[2] = ((u >> 8*3) & 0xff) as u8;
57 v[3] = ((u >> 8*2) & 0xff) as u8;
58 v[4] = ((u >> 8*1) & 0xff) as u8;
59 v[5] = ((u >> 8*0) & 0xff) as u8;
63 pub fn be64_to_array(u: u64) -> [u8; 8] {
65 v[0] = ((u >> 8*7) & 0xff) as u8;
66 v[1] = ((u >> 8*6) & 0xff) as u8;
67 v[2] = ((u >> 8*5) & 0xff) as u8;
68 v[3] = ((u >> 8*4) & 0xff) as u8;
69 v[4] = ((u >> 8*3) & 0xff) as u8;
70 v[5] = ((u >> 8*2) & 0xff) as u8;
71 v[6] = ((u >> 8*1) & 0xff) as u8;
72 v[7] = ((u >> 8*0) & 0xff) as u8;
77 pub fn le64_to_array(u: u64) -> [u8; 8] {
79 v[0] = ((u >> 8*0) & 0xff) as u8;
80 v[1] = ((u >> 8*1) & 0xff) as u8;
81 v[2] = ((u >> 8*2) & 0xff) as u8;
82 v[3] = ((u >> 8*3) & 0xff) as u8;
83 v[4] = ((u >> 8*4) & 0xff) as u8;
84 v[5] = ((u >> 8*5) & 0xff) as u8;
85 v[6] = ((u >> 8*6) & 0xff) as u8;
86 v[7] = ((u >> 8*7) & 0xff) as u8;