public int GetSocketOption(SOL_SOCKET_SocketOptions option, IntPtr value, int valueLength) => WinSock.getsockopt(Socket, WinSock.SOL_SOCKET, (int)option, (char *)value.ToPointer(), &valueLength);
public int GetSocketOption(IPPROTO_UDP_SocketOptions option, IntPtr value, int valueLength) => WinSock.getsockopt(Socket, WinSock.IPPROTO_UDP, (int)option, (char *)value.ToPointer(), &valueLength);
public int GetSocketOption(SOL_SOCKET_SocketOptions option, void *value, int *valueLength) => WinSock.getsockopt(Socket, WinSock.SOL_SOCKET, (int)option, value, valueLength);
public int GetSocketOption(IPPROTO_TCP_SocketOptions option, IntPtr value, int valueLength) { return(WinSock.getsockopt(Socket, WinSock.IPPROTO_TCP, (int)option, (char *)value.ToPointer(), &valueLength)); }
public int GetSocketOption(IPPROTO_UDP_SocketOptions option, void *value, int *valueLength) => WinSock.getsockopt(Socket, WinSock.IPPROTO_UDP, (int)option, value, valueLength);