File tree 1 file changed +34
-0
lines changed
1 file changed +34
-0
lines changed Original file line number Diff line number Diff line change 1
1
package main
2
2
3
+ import (
4
+ "encoding/binary"
5
+ "fmt"
6
+ "strings"
7
+ )
8
+
3
9
func sumByteArr (packet []byte ) (sum uint ) {
4
10
for i , _ := range packet {
5
11
if i % 2 == 0 {
@@ -17,3 +23,31 @@ func calcChecksum(packet []byte) []byte {
17
23
// 論理否定を取った値をbyteにして返す
18
24
return uint16ToByte (uint16 (sum ^ 0xffff ))
19
25
}
26
+
27
+ func printMacAddr (macddr [6 ]uint8 ) string {
28
+ var str string
29
+ for _ , v := range macddr {
30
+ str += fmt .Sprintf ("%x:" , v )
31
+ }
32
+ return strings .TrimRight (str , ":" )
33
+ }
34
+
35
+ func byteToUint16 (b []byte ) uint16 {
36
+ return binary .BigEndian .Uint16 (b )
37
+ }
38
+
39
+ func byteToUint32 (b []byte ) uint32 {
40
+ return binary .BigEndian .Uint32 (b )
41
+ }
42
+
43
+ func uint16ToByte (i uint16 ) []byte {
44
+ b := make ([]byte , 2 )
45
+ binary .BigEndian .PutUint16 (b , i )
46
+ return b
47
+ }
48
+
49
+ func uint32ToByte (i uint32 ) []byte {
50
+ b := make ([]byte , 4 )
51
+ binary .BigEndian .PutUint32 (b , i )
52
+ return b
53
+ }
You can’t perform that action at this time.
0 commit comments