示例#1
0
        public static void setIntOption0(FileDescriptor fd, bool mayNeedConversion, int level, int opt, int arg, bool isIPv6)
        {
#if !FIRST_PASS
            if (level == global::[email protected]_IPV6 && opt == global::[email protected]_TCLASS)
            {
                return;
            }
            System.Net.Sockets.SocketOptionLevel sol = (System.Net.Sockets.SocketOptionLevel)level;
            System.Net.Sockets.SocketOptionName  son = (System.Net.Sockets.SocketOptionName)opt;
            if (mayNeedConversion)
            {
                const int IPTOS_TOS_MASK  = 0x1e;
                const int IPTOS_PREC_MASK = 0xe0;
                if (sol == System.Net.Sockets.SocketOptionLevel.IP &&
                    son == System.Net.Sockets.SocketOptionName.TypeOfService)
                {
                    arg &= (IPTOS_TOS_MASK | IPTOS_PREC_MASK);
                }
            }
            try
            {
                fd.getSocket().SetSocketOption(sol, son, arg);
            }
            catch (System.Net.Sockets.SocketException x)
            {
                if (mayNeedConversion)
                {
                    if (x.ErrorCode == global::java.net.SocketUtil.WSAENOPROTOOPT &&
                        sol == System.Net.Sockets.SocketOptionLevel.IP &&
                        (son == System.Net.Sockets.SocketOptionName.TypeOfService || son == System.Net.Sockets.SocketOptionName.MulticastLoopback))
                    {
                        return;
                    }
                    if (x.ErrorCode == global::java.net.SocketUtil.WSAEINVAL &&
                        sol == System.Net.Sockets.SocketOptionLevel.IP &&
                        son == System.Net.Sockets.SocketOptionName.TypeOfService)
                    {
                        return;
                    }
                }
                throw global::java.net.SocketUtil.convertSocketExceptionToIOException(x);
            }
            catch (System.ObjectDisposedException)
            {
                throw new global::java.net.SocketException("Socket is closed");
            }
#endif
        }
示例#2
0
        public static bool _GetSocketOption_System_Net_Sockets_Socket_System_Net_Sockets_SocketOptionLevel_System_Net_Sockets_SocketOptionName_System_Int32( )
        {
            //Parameters
            System.Net.Sockets.SocketOptionLevel optionLevel = null;
            System.Net.Sockets.SocketOptionName  optionName  = null;
            System.Int32 optionLength = null;

            //ReturnType/Value
            System.Byte[] returnVal_Real        = null;
            System.Byte[] returnVal_Intercepted = null;

            //Exception
            Exception exception_Real        = null;
            Exception exception_Intercepted = null;

            InterceptionMaintenance.disableInterception( );

            try
            {
                returnValue_Real = System.Net.Sockets.Socket.GetSocketOption(optionLevel, optionName, optionLength);
            }

            catch (Exception e)
            {
                exception_Real = e;
            }


            InterceptionMaintenance.enableInterception( );

            try
            {
                returnValue_Intercepted = System.Net.Sockets.Socket.GetSocketOption(optionLevel, optionName, optionLength);
            }

            catch (Exception e)
            {
                exception_Intercepted = e;
            }


            Return((exception_Real.Messsage == exception_Intercepted.Message) && (returnValue_Real == returnValue_Intercepted));
        }
示例#3
0
        public static int getIntOption0(FileDescriptor fd, bool mayNeedConversion, int level, int opt)
        {
#if FIRST_PASS
            return(0);
#else
            if (level == global::[email protected]_IPV6 && opt == global::[email protected]_TCLASS)
            {
                return(0);
            }
            System.Net.Sockets.SocketOptionLevel sol = (System.Net.Sockets.SocketOptionLevel)level;
            System.Net.Sockets.SocketOptionName  son = (System.Net.Sockets.SocketOptionName)opt;
            try
            {
                object obj = fd.getSocket().GetSocketOption(sol, son);
                System.Net.Sockets.LingerOption linger = obj as System.Net.Sockets.LingerOption;
                if (linger != null)
                {
                    return(linger.Enabled ? linger.LingerTime : -1);
                }
                return((int)obj);
            }
            catch (System.Net.Sockets.SocketException x)
            {
                if (mayNeedConversion)
                {
                    if (x.ErrorCode == global::java.net.SocketUtil.WSAENOPROTOOPT &&
                        sol == System.Net.Sockets.SocketOptionLevel.IP &&
                        son == System.Net.Sockets.SocketOptionName.TypeOfService)
                    {
                        return(0);
                    }
                }
                throw global::java.net.SocketUtil.convertSocketExceptionToIOException(x);
            }
            catch (System.ObjectDisposedException)
            {
                throw new global::java.net.SocketException("Socket is closed");
            }
#endif
        }
示例#4
0
        static StackObject *SetSocketOption_0(ILIntepreter __intp, StackObject *__esp, IList <object> __mStack, CLRMethod __method, bool isNewObj)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            StackObject *ptr_of_this_method;
            StackObject *__ret = ILIntepreter.Minus(__esp, 4);

            ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
            System.Int32 optionValue = ptr_of_this_method->Value;
            ptr_of_this_method = ILIntepreter.Minus(__esp, 2);
            System.Net.Sockets.SocketOptionName optionName = (System.Net.Sockets.SocketOptionName) typeof(System.Net.Sockets.SocketOptionName).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
            __intp.Free(ptr_of_this_method);
            ptr_of_this_method = ILIntepreter.Minus(__esp, 3);
            System.Net.Sockets.SocketOptionLevel optionLevel = (System.Net.Sockets.SocketOptionLevel) typeof(System.Net.Sockets.SocketOptionLevel).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
            __intp.Free(ptr_of_this_method);
            ptr_of_this_method = ILIntepreter.Minus(__esp, 4);
            System.Net.Sockets.Socket instance_of_this_method;
            instance_of_this_method = (System.Net.Sockets.Socket) typeof(System.Net.Sockets.Socket).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
            __intp.Free(ptr_of_this_method);

            instance_of_this_method.SetSocketOption(optionLevel, optionName, optionValue);

            return(__ret);
        }
        public static bool _SetSocketOption_System_Net_Sockets_Socket_System_Net_Sockets_SocketOptionLevel_System_Net_Sockets_SocketOptionName_System_Int32( )
        {
            //Parameters
            System.Net.Sockets.SocketOptionLevel optionLevel = null;
            System.Net.Sockets.SocketOptionName  optionName  = null;
            System.Int32 optionValue = null;


            //Exception
            Exception exception_Real        = null;
            Exception exception_Intercepted = null;

            InterceptionMaintenance.disableInterception( );

            try
            {
                returnValue_Real = System.Net.Sockets.Socket.SetSocketOption(optionLevel, optionName, optionValue);
            }

            catch (Exception e)
            {
                exception_Real = e;
            }


            InterceptionMaintenance.enableInterception( );

            try
            {
                returnValue_Intercepted = System.Net.Sockets.Socket.SetSocketOption(optionLevel, optionName, optionValue);
            }

            catch (Exception e)
            {
                exception_Intercepted = e;
            }
        }
示例#6
0
 public void SetSocketOption(System.Net.Sockets.SocketOptionLevel optionLevel, System.Net.Sockets.SocketOptionName optionName, object optionValue)
 {
 }
示例#7
0
 public byte[] GetSocketOption(System.Net.Sockets.SocketOptionLevel optionLevel, System.Net.Sockets.SocketOptionName optionName, int optionLength)
 {
     throw null;
 }
示例#8
0
 public void GetSocketOption(System.Net.Sockets.SocketOptionLevel optionLevel, System.Net.Sockets.SocketOptionName optionName, byte[] optionValue)
 {
 }
示例#9
0
 public object GetSocketOption(System.Net.Sockets.SocketOptionLevel optionLevel, System.Net.Sockets.SocketOptionName optionName)
 {
     throw null;
 }
示例#10
0
 public byte[] GetSocketOption(System.Net.Sockets.SocketOptionLevel optionLevel, System.Net.Sockets.SocketOptionName optionName, int optionLength)
 {
     return(default(byte[]));
 }
示例#11
0
 public object GetSocketOption(System.Net.Sockets.SocketOptionLevel optionLevel, System.Net.Sockets.SocketOptionName optionName)
 {
     return(default(object));
 }