private bool Refresh(bool throwException) { int num = Syscall.statvfs(this.mount_point, out this.stat); if (num == -1 && throwException) { Errno lastError = Stdlib.GetLastError(); throw new InvalidOperationException(UnixMarshal.GetErrorDescription(lastError), new UnixIOException(lastError)); } if (num == -1) { return(false); } return(true); }
private bool Refresh(bool throwException) { int r = Native.Syscall.statvfs(mount_point, out stat); if (r == -1 && throwException) { Native.Errno e = Native.Syscall.GetLastError(); throw new InvalidOperationException( UnixMarshal.GetErrorDescription(e), new UnixIOException(e)); } else if (r == -1) { return(false); } return(true); }
private static string GetMessage(Native.Errno errno) { return(string.Format("{0} [{1}].", UnixMarshal.GetErrorDescription(errno), errno)); }
internal static Exception CreateExceptionForError(Errno errno) { string errorDescription = UnixMarshal.GetErrorDescription(errno); UnixIOException unixIOException = new UnixIOException(errno); Errno errno1 = errno; switch (errno1) { case Errno.EPERM: { return(new InvalidOperationException(errorDescription, unixIOException)); } case Errno.ENOENT: { return(new FileNotFoundException(errorDescription, unixIOException)); } case Errno.EIO: case Errno.ENXIO: { return(new IOException(errorDescription, unixIOException)); } case Errno.ENOEXEC: { return(new InvalidProgramException(errorDescription, unixIOException)); } case Errno.EBADF: case Errno.EINVAL: { return(new ArgumentException(errorDescription, unixIOException)); } case Errno.EACCES: case Errno.EISDIR: { return(new UnauthorizedAccessException(errorDescription, unixIOException)); } case Errno.EFAULT: { return(new NullReferenceException(errorDescription, unixIOException)); } case Errno.ENOTDIR: { return(new DirectoryNotFoundException(errorDescription, unixIOException)); } default: { switch (errno1) { case Errno.ENOSPC: case Errno.ESPIPE: case Errno.EROFS: case Errno.ENOTEMPTY: { return(new IOException(errorDescription, unixIOException)); } case Errno.ERANGE: { return(new ArgumentOutOfRangeException(errorDescription)); } case Errno.ENAMETOOLONG: { return(new PathTooLongException(errorDescription, unixIOException)); } default: { if (errno1 == Errno.EOVERFLOW) { return(new OverflowException(errorDescription, unixIOException)); } if (errno1 == Errno.EOPNOTSUPP) { return(new InvalidOperationException(errorDescription, unixIOException)); } return(unixIOException); } } break; } } }