...
1 package nl
2
3 import (
4 "unsafe"
5
6 "golang.org/x/sys/unix"
7 )
8
9 type IfAddrmsg struct {
10 unix.IfAddrmsg
11 }
12
13 func NewIfAddrmsg(family int) *IfAddrmsg {
14 return &IfAddrmsg{
15 IfAddrmsg: unix.IfAddrmsg{
16 Family: uint8(family),
17 },
18 }
19 }
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38 func DeserializeIfAddrmsg(b []byte) *IfAddrmsg {
39 return (*IfAddrmsg)(unsafe.Pointer(&b[0:unix.SizeofIfAddrmsg][0]))
40 }
41
42 func (msg *IfAddrmsg) Serialize() []byte {
43 return (*(*[unix.SizeofIfAddrmsg]byte)(unsafe.Pointer(msg)))[:]
44 }
45
46 func (msg *IfAddrmsg) Len() int {
47 return unix.SizeofIfAddrmsg
48 }
49
50
51
52
53
54
55
56
57 type IfaCacheInfo struct {
58 unix.IfaCacheinfo
59 }
60
61 func (msg *IfaCacheInfo) Len() int {
62 return unix.SizeofIfaCacheinfo
63 }
64
65 func DeserializeIfaCacheInfo(b []byte) *IfaCacheInfo {
66 return (*IfaCacheInfo)(unsafe.Pointer(&b[0:unix.SizeofIfaCacheinfo][0]))
67 }
68
69 func (msg *IfaCacheInfo) Serialize() []byte {
70 return (*(*[unix.SizeofIfaCacheinfo]byte)(unsafe.Pointer(msg)))[:]
71 }
72
View as plain text