protected unsafe void ProcessLinkLayerAddress(Interop.Sys.LinkLayerAddressInfo *llAddr) { byte[] macAddress = new byte[llAddr->NumAddressBytes]; fixed(byte *macAddressPtr = macAddress) { Buffer.MemoryCopy(llAddr->AddressBytes, macAddressPtr, llAddr->NumAddressBytes, llAddr->NumAddressBytes); } PhysicalAddress physicalAddress = new PhysicalAddress(macAddress); _index = llAddr->InterfaceIndex; _physicalAddress = physicalAddress; _networkInterfaceType = (NetworkInterfaceType)llAddr->HardwareType; }
protected static unsafe void ProcessLinkLayerAddress(UnixNetworkInterface uni, Interop.Sys.LinkLayerAddressInfo *llAddr) { byte[] macAddress = new byte[llAddr->NumAddressBytes]; fixed(byte *macAddressPtr = macAddress) { Buffer.MemoryCopy(llAddr->AddressBytes, macAddressPtr, llAddr->NumAddressBytes, llAddr->NumAddressBytes); } PhysicalAddress physicalAddress = new PhysicalAddress(macAddress); uni._index = llAddr->InterfaceIndex; uni._id = uni._index.ToString(); uni._physicalAddress = physicalAddress; uni._networkInterfaceType = (NetworkInterfaceType)llAddr->HardwareType; }