Esempio n. 1
0
 internal static extern SocketError setsockopt(
     [In] SafeSocketHandle socketHandle,
     [In] SocketOptionLevel optionLevel,
     [In] SocketOptionName optionName,
     [In] ref IPMulticastRequest mreq,
     [In] int optionLength);
Esempio n. 2
0
 internal static extern SocketError getsockopt(
     [In] SafeCloseSocket socketHandle,
     [In] SocketOptionLevel optionLevel,
     [In] SocketOptionName optionName,
     [Out] out IPMulticastRequest optionValue,
     [In, Out] ref int optionLength);
Esempio n. 3
0
 internal static partial SocketError setsockopt(
     SafeSocketHandle socketHandle,
     SocketOptionLevel optionLevel,
     SocketOptionName optionName,
     ref IPMulticastRequest mreq,
     int optionLength);
Esempio n. 4
0
        private void SetMulticastOption(SocketOptionName optionName, MulticastOption mr)
        {
            IPMulticastRequest mreq = new IPMulticastRequest();
            mreq.MulticastAddress = (int)mr.Group.Address;
            if (mr.LocalAddress != null)
            {
                mreq.InterfaceAddress = (int)mr.LocalAddress.Address;
            }
            else
            {
                int num = IPAddress.HostToNetworkOrder(mr.InterfaceIndex);
                mreq.InterfaceAddress = num;
            }

            if (UnsafeMethods.setsockopt(Handle, SocketOptionLevel.IPv6, optionName, ref mreq, IPv6MulticastRequest.Size) ==
               SocketError.SocketError)
            {
                throw new SocketException();
            }
        }
Esempio n. 5
0
 internal static partial SocketError getsockopt(
     SafeSocketHandle socketHandle,
     SocketOptionLevel optionLevel,
     SocketOptionName optionName,
     out IPMulticastRequest optionValue,
     ref int optionLength);