123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- package nl
- import (
- "unsafe"
- "golang.org/x/sys/unix"
- )
- type IfAddrmsg struct {
- unix.IfAddrmsg
- }
- func NewIfAddrmsg(family int) *IfAddrmsg {
- return &IfAddrmsg{
- IfAddrmsg: unix.IfAddrmsg{
- Family: uint8(family),
- },
- }
- }
- // struct ifaddrmsg {
- // __u8 ifa_family;
- // __u8 ifa_prefixlen; /* The prefix length */
- // __u8 ifa_flags; /* Flags */
- // __u8 ifa_scope; /* Address scope */
- // __u32 ifa_index; /* Link index */
- // };
- // type IfAddrmsg struct {
- // Family uint8
- // Prefixlen uint8
- // Flags uint8
- // Scope uint8
- // Index uint32
- // }
- // SizeofIfAddrmsg = 0x8
- func DeserializeIfAddrmsg(b []byte) *IfAddrmsg {
- return (*IfAddrmsg)(unsafe.Pointer(&b[0:unix.SizeofIfAddrmsg][0]))
- }
- func (msg *IfAddrmsg) Serialize() []byte {
- return (*(*[unix.SizeofIfAddrmsg]byte)(unsafe.Pointer(msg)))[:]
- }
- func (msg *IfAddrmsg) Len() int {
- return unix.SizeofIfAddrmsg
- }
- // struct ifa_cacheinfo {
- // __u32 ifa_prefered;
- // __u32 ifa_valid;
- // __u32 cstamp; /* created timestamp, hundredths of seconds */
- // __u32 tstamp; /* updated timestamp, hundredths of seconds */
- // };
- const IFA_CACHEINFO = 6
- const SizeofIfaCacheInfo = 0x10
- type IfaCacheInfo struct {
- IfaPrefered uint32
- IfaValid uint32
- Cstamp uint32
- Tstamp uint32
- }
- func (msg *IfaCacheInfo) Len() int {
- return SizeofIfaCacheInfo
- }
- func DeserializeIfaCacheInfo(b []byte) *IfaCacheInfo {
- return (*IfaCacheInfo)(unsafe.Pointer(&b[0:SizeofIfaCacheInfo][0]))
- }
- func (msg *IfaCacheInfo) Serialize() []byte {
- return (*(*[SizeofIfaCacheInfo]byte)(unsafe.Pointer(msg)))[:]
- }
|