mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
- Add newlines where missing to match sys/errno.h error groups separation - Prefer single-line comments to C-style comments - Align most comments to same column - Add comment following #endif at EOF to show what it ends - Remove extraneous whitespace
148 lines
8.0 KiB
Swift
148 lines
8.0 KiB
Swift
// FIXME: Only defining _POSIXError for Darwin at the moment.
|
|
|
|
#if os(OSX) || os(iOS) || os(tvOS) || os(watchOS)
|
|
/// Enumeration describing POSIX error codes.
|
|
@objc public enum POSIXError : CInt {
|
|
// FIXME: These are the values for Darwin. We need to get the Linux
|
|
// values as well.
|
|
case EPERM = 1 /// Operation not permitted.
|
|
case ENOENT = 2 /// No such file or directory.
|
|
case ESRCH = 3 /// No such process.
|
|
case EINTR = 4 /// Interrupted system call.
|
|
case EIO = 5 /// Input/output error.
|
|
case ENXIO = 6 /// Device not configured.
|
|
case E2BIG = 7 /// Argument list too long.
|
|
case ENOEXEC = 8 /// Exec format error.
|
|
case EBADF = 9 /// Bad file descriptor.
|
|
case ECHILD = 10 /// No child processes.
|
|
case EDEADLK = 11 /// Resource deadlock avoided.
|
|
/// 11 was EAGAIN.
|
|
case ENOMEM = 12 /// Cannot allocate memory.
|
|
case EACCES = 13 /// Permission denied.
|
|
case EFAULT = 14 /// Bad address.
|
|
case ENOTBLK = 15 /// Block device required.
|
|
case EBUSY = 16 /// Device / Resource busy.
|
|
case EEXIST = 17 /// File exists.
|
|
case EXDEV = 18 /// Cross-device link.
|
|
case ENODEV = 19 /// Operation not supported by device.
|
|
case ENOTDIR = 20 /// Not a directory.
|
|
case EISDIR = 21 /// Is a directory.
|
|
case EINVAL = 22 /// Invalid argument.
|
|
case ENFILE = 23 /// Too many open files in system.
|
|
case EMFILE = 24 /// Too many open files.
|
|
case ENOTTY = 25 /// Inappropriate ioctl for device.
|
|
case ETXTBSY = 26 /// Text file busy.
|
|
case EFBIG = 27 /// File too large.
|
|
case ENOSPC = 28 /// No space left on device.
|
|
case ESPIPE = 29 /// Illegal seek.
|
|
case EROFS = 30 /// Read-only file system.
|
|
case EMLINK = 31 /// Too many links.
|
|
case EPIPE = 32 /// Broken pipe.
|
|
|
|
/// math software.
|
|
case EDOM = 33 /// Numerical argument out of domain.
|
|
case ERANGE = 34 /// Result too large.
|
|
|
|
/// non-blocking and interrupt i/o.
|
|
case EAGAIN = 35 /// Resource temporarily unavailable.
|
|
public static var EWOULDBLOCK: POSIXError { return EAGAIN } /// Operation would block.
|
|
case EINPROGRESS = 36 /// Operation now in progress.
|
|
case EALREADY = 37 /// Operation already in progress.
|
|
|
|
/// ipc/network software -- argument errors.
|
|
case ENOTSOCK = 38 /// Socket operation on non-socket.
|
|
case EDESTADDRREQ = 39 /// Destination address required.
|
|
case EMSGSIZE = 40 /// Message too long.
|
|
case EPROTOTYPE = 41 /// Protocol wrong type for socket.
|
|
case ENOPROTOOPT = 42 /// Protocol not available.
|
|
case EPROTONOSUPPORT = 43 /// Protocol not supported.
|
|
case ESOCKTNOSUPPORT = 44 /// Socket type not supported.
|
|
case ENOTSUP = 45 /// Operation not supported.
|
|
case EPFNOSUPPORT = 46 /// Protocol family not supported.
|
|
case EAFNOSUPPORT = 47 /// Address family not supported by protocol family.
|
|
case EADDRINUSE = 48 /// Address already in use.
|
|
case EADDRNOTAVAIL = 49 /// Can't assign requested address.
|
|
|
|
/// ipc/network software -- operational errors
|
|
case ENETDOWN = 50 /// Network is down.
|
|
case ENETUNREACH = 51 /// Network is unreachable.
|
|
case ENETRESET = 52 /// Network dropped connection on reset.
|
|
case ECONNABORTED = 53 /// Software caused connection abort.
|
|
case ECONNRESET = 54 /// Connection reset by peer.
|
|
case ENOBUFS = 55 /// No buffer space available.
|
|
case EISCONN = 56 /// Socket is already connected.
|
|
case ENOTCONN = 57 /// Socket is not connected.
|
|
case ESHUTDOWN = 58 /// Can't send after socket shutdown.
|
|
case ETOOMANYREFS = 59 /// Too many references: can't splice.
|
|
case ETIMEDOUT = 60 /// Operation timed out.
|
|
case ECONNREFUSED = 61 /// Connection refused.
|
|
|
|
case ELOOP = 62 /// Too many levels of symbolic links.
|
|
case ENAMETOOLONG = 63 /// File name too long.
|
|
|
|
case EHOSTDOWN = 64 /// Host is down.
|
|
case EHOSTUNREACH = 65 /// No route to host.
|
|
case ENOTEMPTY = 66 /// Directory not empty.
|
|
|
|
/// quotas & mush.
|
|
case EPROCLIM = 67 /// Too many processes.
|
|
case EUSERS = 68 /// Too many users.
|
|
case EDQUOT = 69 /// Disc quota exceeded.
|
|
|
|
/// Network File System.
|
|
case ESTALE = 70 /// Stale NFS file handle.
|
|
case EREMOTE = 71 /// Too many levels of remote in path.
|
|
case EBADRPC = 72 /// RPC struct is bad.
|
|
case ERPCMISMATCH = 73 /// RPC version wrong.
|
|
case EPROGUNAVAIL = 74 /// RPC prog. not avail.
|
|
case EPROGMISMATCH = 75 /// Program version wrong.
|
|
case EPROCUNAVAIL = 76 /// Bad procedure for program.
|
|
|
|
case ENOLCK = 77 /// No locks available.
|
|
case ENOSYS = 78 /// Function not implemented.
|
|
|
|
case EFTYPE = 79 /// Inappropriate file type or format.
|
|
case EAUTH = 80 /// Authentication error.
|
|
case ENEEDAUTH = 81 /// Need authenticator.
|
|
|
|
/// Intelligent device errors.
|
|
case EPWROFF = 82 /// Device power is off.
|
|
case EDEVERR = 83 /// Device error, e.g. paper out.
|
|
|
|
case EOVERFLOW = 84 /// Value too large to be stored in data type.
|
|
|
|
/// Program loading errors.
|
|
case EBADEXEC = 85 /// Bad executable.
|
|
case EBADARCH = 86 /// Bad CPU type in executable.
|
|
case ESHLIBVERS = 87 /// Shared library version mismatch.
|
|
case EBADMACHO = 88 /// Malformed Macho file.
|
|
|
|
case ECANCELED = 89 /// Operation canceled.
|
|
|
|
case EIDRM = 90 /// Identifier removed.
|
|
case ENOMSG = 91 /// No message of desired type.
|
|
case EILSEQ = 92 /// Illegal byte sequence.
|
|
case ENOATTR = 93 /// Attribute not found.
|
|
|
|
case EBADMSG = 94 /// Bad message.
|
|
case EMULTIHOP = 95 /// Reserved.
|
|
case ENODATA = 96 /// No message available on STREAM.
|
|
case ENOLINK = 97 /// Reserved.
|
|
case ENOSR = 98 /// No STREAM resources.
|
|
case ENOSTR = 99 /// Not a STREAM.
|
|
case EPROTO = 100 /// Protocol error.
|
|
case ETIME = 101 /// STREAM ioctl timeout.
|
|
|
|
case ENOPOLICY = 103 /// No such policy registered.
|
|
|
|
case ENOTRECOVERABLE = 104 /// State not recoverable.
|
|
case EOWNERDEAD = 105 /// Previous owner died.
|
|
|
|
case EQFULL = 106 /// Interface output queue is full.
|
|
public static var ELAST: POSIXError { return EQFULL } /// Must be equal largest errno.
|
|
|
|
// FIXME: EOPNOTSUPP has different values depending on __DARWIN_UNIX03 and
|
|
// KERNEL.
|
|
}
|
|
#endif // os(OSX) || os(iOS) || os(tvOS) || os(watchOS)
|