"Fossies" - the Fresh Open Source Software Archive

Member "buildah-1.27.2/vendor/github.com/vishvananda/netlink/nl/addr_linux.go" (20 Sep 2022, 1515 Bytes) of package /linux/misc/buildah-1.27.2.tar.gz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) Go source code syntax highlighting (style: standard) with prefixed line numbers and code folding option. Alternatively you can here view or download the uninterpreted source code file.

    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 // struct ifaddrmsg {
   22 //   __u8    ifa_family;
   23 //   __u8    ifa_prefixlen;  /* The prefix length    */
   24 //   __u8    ifa_flags;  /* Flags      */
   25 //   __u8    ifa_scope;  /* Address scope    */
   26 //   __u32   ifa_index;  /* Link index     */
   27 // };
   28 
   29 // type IfAddrmsg struct {
   30 //  Family    uint8
   31 //  Prefixlen uint8
   32 //  Flags     uint8
   33 //  Scope     uint8
   34 //  Index     uint32
   35 // }
   36 // SizeofIfAddrmsg     = 0x8
   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 // struct ifa_cacheinfo {
   51 //  __u32   ifa_prefered;
   52 //  __u32   ifa_valid;
   53 //  __u32   cstamp; /* created timestamp, hundredths of seconds */
   54 //  __u32   tstamp; /* updated timestamp, hundredths of seconds */
   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 }