Esempio n. 1
0
        public static @string String(this HardwareAddr a)
        {
            if (len(a) == 0L)
            {
                return("");
            }

            var buf = make_slice <byte>(0L, len(a) * 3L - 1L);

            foreach (var(i, b) in a)
            {
                if (i > 0L)
                {
                    buf = append(buf, ':');
                }

                buf = append(buf, hexDigit[b >> (int)(4L)]);
                buf = append(buf, hexDigit[b & 0xFUL]);
            }
            return(string(buf));
        }
Esempio n. 2
0
 public Interface(long Index = default, long MTU = default, @string Name = default, HardwareAddr HardwareAddr = default, Flags Flags = default)
 {
     this.Index        = Index;
     this.MTU          = MTU;
     this.Name         = Name;
     this.HardwareAddr = HardwareAddr;
     this.Flags        = Flags;
 }
Esempio n. 3
0
 // ParseMAC parses s as an IEEE 802 MAC-48, EUI-48, EUI-64, or a 20-octet
 // IP over InfiniBand link-layer address using one of the following formats:
 //    00:00:5e:00:53:01
 //    02:00:5e:10:00:00:00:01
 //    00:00:00:00:fe:80:00:00:00:00:00:00:02:00:5e:10:00:00:00:01
 //    00-00-5e-00-53-01
 //    02-00-5e-10-00-00-00-01
 //    00-00-00-00-fe-80-00-00-00-00-00-00-02-00-5e-10-00-00-00-01
 //    0000.5e00.5301
 //    0200.5e10.0000.0001
 //    0000.0000.fe80.0000.0000.0000.0200.5e10.0000.0001
 public static (HardwareAddr, error) ParseMAC(@string s)
 {
     HardwareAddr hw  = default;
     error        err = default !;