コード例 #1
0
        public static SocketError?ErrorToSocketError(int errno)
        {
            var err = NativeConvert.ToErrno(errno);

            switch (err)
            {
            case Errno.EAFNOSUPPORT:
                return(SocketError.AddressFamilyNotSupported);

            case Errno.EMFILE:
            case Errno.ENFILE:
                return(SocketError.TooManyOpenSockets);

            case Errno.EPROTONOSUPPORT:
                return(SocketError.ProtocolNotSupported);

            case Errno.EPROTOTYPE:
                return(SocketError.ProtocolType);

            case Errno.EOPNOTSUPP:
                return(SocketError.OperationNotSupported);

            case Errno.ENOTCONN:
                return(SocketError.NotConnected);

            case Errno.EADDRINUSE:
                return(SocketError.AddressAlreadyInUse);

            case Errno.EADDRNOTAVAIL:
                return(SocketError.AddressNotAvailable);

            case Errno.EISCONN:
                return(SocketError.IsConnected);

            case Errno.ECONNRESET:
                return(SocketError.ConnectionReset);

            case Errno.ENETDOWN:
                return(SocketError.NetworkDown);

            case Errno.EHOSTUNREACH:
                return(SocketError.HostUnreachable);

            case Errno.ENETUNREACH:
                return(SocketError.NetworkUnreachable);

            case Errno.EALREADY:
                return(SocketError.AlreadyInProgress);

            case Errno.ECONNREFUSED:
                return(SocketError.ConnectionRefused);

            case Errno.ETIMEDOUT:
                return(SocketError.TimedOut);

            default:
                return(null);
            }
        }
コード例 #2
0
 public UnixIOException(int errno, Exception inner) : base(UnixIOException.GetMessage(NativeConvert.ToErrno(errno)), inner)
 {
     this.errno = errno;
 }
コード例 #3
0
 public static string ErrorToString(int errno)
 {
     return(Syscall.strerror(NativeConvert.ToErrno(errno)));
 }