private static unsafe void BindToInterface(int fd, string interfaceName) { int idx = GetInterfaceIndex(fd, interfaceName); CanSocketAddress addr = new CanSocketAddress(); addr.can_family = PF_CAN; addr.can_ifindex = idx; if (-1 == BindSocket(fd, ref addr, (uint)Marshal.SizeOf<CanSocketAddress>())) { throw new IOException($"Cannot bind to socket to `{interfaceName}`"); } }
private static extern int BindSocket(int fd, ref CanSocketAddress addr, uint addrlen);