UNPKG

nix-errno-codes

Version:

Constants enumerating POSIX/Linux errno.h error codes.

267 lines (263 loc) 9.04 kB
export const CODES = { E2BIG: 'E2BIG', ECCES: 'EACCES', EADDRINUSE: 'EADDRINUSE', EADDRNOTAVAIL: 'EADDRNOTAVAIL', EAFNOSUPPORT: 'EAFNOSUPPORT', EAGAIN: 'EAGAIN', EALREADY: 'EALREADY', EBADE: 'EBADE', EBADF: 'EBADF', EBADFD: 'EBADFD', EBADMSG: 'EBADMSG', EBADR: 'EBADR', EBADRQC: 'EBADRQC', EBADSLT: 'EBADSLT', EBUSY: 'EBUSY', ECANCELED: 'ECANCELED', ECHILD: 'ECHILD', ECHRNG: 'ECHRNG', ECOMM: 'ECOMM', ECONNABORTED: 'ECONNABORTED', ECONNREFUSED: 'ECONNREFUSED', ECONNRESET: 'ECONNRESET', EDEADLK: 'EDEADLK', EDEADLOCK: 'EDEADLOCK', EDESTADDRREQ: 'EDESTADDRREQ', EDOM: 'EDOM', EDQUOT: 'EDQUOT', EEXIST: 'EEXIST', EFAULT: 'EFAULT', EFBIG: 'EFBIG', EHOSTDOWN: 'EHOSTDOWN', EHOSTUNREACH: 'EHOSTUNREACH', EHWPOISON: 'EHWPOISON', EIDRM: 'EIDRM', EILSEQ: 'EILSEQ', EINPROGRESS: 'EINPROGRESS', EINTR: 'EINTR', EINVAL: 'EINVAL', EIO: 'EIO', EISCONN: 'EISCONN', EISDIR: 'EISDIR', EISNAM: 'EISNAM', EKEYEXPIRED: 'EKEYEXPIRED', EKEYREJECTED: 'EKEYREJECTED', EKEYREVOKED: 'EKEYREVOKED', EL2HLT: 'EL2HLT', EL2NSYNC: 'EL2NSYNC', EL3HLT: 'EL3HLT', EL3RST: 'EL3RST', ELIBACC: 'ELIBACC', ELIBBAD: 'ELIBBAD', ELIBMAX: 'ELIBMAX', ELIBSCN: 'ELIBSCN', ELIBEXEC: 'ELIBEXEC', ELNRANGE: 'ELNRANGE', ELOOP: 'ELOOP', EMEDIUMTYPE: 'EMEDIUMTYPE', EMFILE: 'EMFILE', EMLINK: 'EMLINK', EMSGSIZE: 'EMSGSIZE', EMULTIHOP: 'EMULTIHOP', ENAMETOOLONG: 'ENAMETOOLONG', ENETDOWN: 'ENETDOWN', ENETRESET: 'ENETRESET', ENETUNREACH: 'ENETUNREACH', ENFILE: 'ENFILE', ENOANO: 'ENOANO', ENOBUFS: 'ENOBUFS', ENODATA: 'ENODATA', ENODEV: 'ENODEV', ENOENT: 'ENOENT', ENOEXEC: 'ENOEXEC', ENOKEY: 'ENOKEY', ENOLCK: 'ENOLCK', ENOLINK: 'ENOLINK', ENOMEDIUM: 'ENOMEDIUM', ENOMEM: 'ENOMEM', ENOMSG: 'ENOMSG', ENONET: 'ENONET', ENOPKG: 'ENOPKG', ENOPROTOOPT: 'ENOPROTOOPT', ENOSPC: 'ENOSPC', ENOSR: 'ENOSR', ENOSTR: 'ENOSTR', ENOSYS: 'ENOSYS', ENOTBLK: 'ENOTBLK', ENOTCONN: 'ENOTCONN', ENOTDIR: 'ENOTDIR', ENOTEMPTY: 'ENOTEMPTY', ENOTRECOVERABLE: 'ENOTRECOVERABLE', ENOTSOCK: 'ENOTSOCK', ENOTSUP: 'ENOTSUP', ENOTTY: 'ENOTTY', ENOTUNIQ: 'ENOTUNIQ', ENXIO: 'ENXIO', EOPNOTSUPP: 'EOPNOTSUPP', EOVERFLOW: 'EOVERFLOW', EOWNERDEAD: 'EOWNERDEAD', EPERM: 'EPERM', EPFNOSUPPORT: 'EPFNOSUPPORT', EPIPE: 'EPIPE', EPROTO: 'EPROTO', EPROTONOSUPPORT: 'EPROTONOSUPPORT', EPROTOTYPE: 'EPROTOTYPE', ERANGE: 'ERANGE', EREMCHG: 'EREMCHG', EREMOTE: 'EREMOTE', EREMOTEIO: 'EREMOTEIO', ERESTART: 'ERESTART', ERFKILL: 'ERFKILL', EROFS: 'EROFS', ESHUTDOWN: 'ESHUTDOWN', ESPIPE: 'ESPIPE', ESOCKTNOSUPPORT: 'ESOCKTNOSUPPORT', ESRCH: 'ESRCH', ESTALE: 'ESTALE', ESTRPIPE: 'ESTRPIPE', ETIME: 'ETIME', ETIMEDOUT: 'ETIMEDOUT', ETOOMANYREFS: 'ETOOMANYREFS', ETXTBSY: 'ETXTBSY', EUCLEAN: 'EUCLEAN', EUNATCH: 'EUNATCH', EUSERS: 'EUSERS', EWOULDBLOCK: 'EWOULDBLOCK', EXDEV: 'EXDEV', EXFULL: 'EXFULL', }; const descriptions = { [CODES.E2BIG]: 'Argument list too long', [CODES.ECCES]: 'Permission denied', [CODES.EADDRINUSE]: 'Address already in use', [CODES.EADDRNOTAVAIL]: 'Address not available', [CODES.EAFNOSUPPORT]: 'Address family not supported', [CODES.EAGAIN]: 'Resource temporarily unavailable', [CODES.EALREADY]: 'Connection already in progress', [CODES.EBADE]: 'Invalid exchange', [CODES.EBADF]: 'Bad file descriptor', [CODES.EBADFD]: 'File descriptor in bad state', [CODES.EBADMSG]: 'Bad message', [CODES.EBADR]: 'Invalid request descriptor', [CODES.EBADRQC]: 'Invalid request code', [CODES.EBADSLT]: 'Invalid slot', [CODES.EBUSY]: 'Device or resource busy', [CODES.ECANCELED]: 'Operation canceled', [CODES.ECHILD]: 'No child processes', [CODES.ECHRNG]: 'Channel number out of range', [CODES.ECOMM]: 'Communication error on send', [CODES.ECONNABORTED]: 'Connection aborted', [CODES.ECONNREFUSED]: 'Connection refused', [CODES.ECONNRESET]: 'Connection reset', [CODES.EDEADLK]: 'Resource deadlock avoided', [CODES.EDEADLOCK]: 'Resource deadlock avoided or File locking deadlock error', [CODES.EDESTADDRREQ]: 'Destination address required', [CODES.EDOM]: 'Mathematics argument out of domain of function', [CODES.EDQUOT]: 'Disk quota exceeded', [CODES.EEXIST]: 'File exists', [CODES.EFAULT]: 'Bad address', [CODES.EFBIG]: 'File too large', [CODES.EHOSTDOWN]: 'Host is down', [CODES.EHOSTUNREACH]: 'Host is unreachable', [CODES.EHWPOISON]: 'Memory page has hardware error', [CODES.EIDRM]: 'Identifier removed', [CODES.EILSEQ]: 'Invalid or incomplete multibyte or wide character', [CODES.EINPROGRESS]: 'Operation in progress', [CODES.EINTR]: 'Interrupted function call', [CODES.EINVAL]: 'Invalid argument', [CODES.EIO]: 'Input/output error', [CODES.EISCONN]: 'Socket is connected', [CODES.EISDIR]: 'Is a directory', [CODES.EISNAM]: 'Is a named type file', [CODES.EKEYEXPIRED]: 'Key has expired', [CODES.EKEYREJECTED]: 'Key was rejected by service', [CODES.EKEYREVOKED]: 'Key has been revoked', [CODES.EL2HLT]: 'Level 2 halted', [CODES.EL2NSYNC]: 'Level 2 not synchronized', [CODES.EL3HLT]: 'Level 3 halted', [CODES.EL3RST]: 'Level 3 reset', [CODES.ELIBACC]: 'Cannot access a needed shared library', [CODES.ELIBBAD]: 'Accessing a corrupted shared library', [CODES.ELIBMAX]: 'Attempting to link in too many shared libraries', [CODES.ELIBSCN]: '.lib section in a.out corrupted', [CODES.ELIBEXEC]: 'Cannot exec a shared library directly', [CODES.ELNRANGE]: 'Link number out of range', [CODES.ELOOP]: 'Too many levels of symbolic links', [CODES.EMEDIUMTYPE]: 'Wrong medium type', [CODES.EMFILE]: 'Too many open files', [CODES.EMLINK]: 'Too many links', [CODES.EMSGSIZE]: 'Message too long', [CODES.EMULTIHOP]: 'Multihop attempted', [CODES.ENAMETOOLONG]: 'Filename too long', [CODES.ENETDOWN]: 'Network is down', [CODES.ENETRESET]: 'Connection aborted by network', [CODES.ENETUNREACH]: 'Network unreachable', [CODES.ENFILE]: 'Too many open files in system', [CODES.ENOANO]: 'No anode', [CODES.ENOBUFS]: 'No buffer space available', [CODES.ENODATA]: 'No message is available on the STREAM head read queue', [CODES.ENODEV]: 'No such device', [CODES.ENOENT]: 'No such file or directory', [CODES.ENOEXEC]: 'Exec format error', [CODES.ENOKEY]: 'Required key not available', [CODES.ENOLCK]: 'No locks available', [CODES.ENOLINK]: 'Link has been severed', [CODES.ENOMEDIUM]: 'No medium found', [CODES.ENOMEM]: 'Not enough space/cannot allocate memory', [CODES.ENOMSG]: 'No message of the desired type', [CODES.ENONET]: 'Machine is not on the network', [CODES.ENOPKG]: 'Package not installed', [CODES.ENOPROTOOPT]: 'Protocol not available', [CODES.ENOSPC]: 'No space left on device', [CODES.ENOSR]: 'No STREAM resources', [CODES.ENOSTR]: 'Not a STREAM', [CODES.ENOSYS]: 'Function not implemented', [CODES.ENOTBLK]: 'Block device required', [CODES.ENOTCONN]: 'The socket is not connected', [CODES.ENOTDIR]: 'Not a directory', [CODES.ENOTEMPTY]: 'Directory not empty', [CODES.ENOTRECOVERABLE]: 'State not recoverable', [CODES.ENOTSOCK]: 'Not a socket', [CODES.ENOTSUP]: 'Operation not supported', [CODES.ENOTTY]: 'Inappropriate I/O control operation', [CODES.ENOTUNIQ]: 'Name not unique on network', [CODES.ENXIO]: 'No such device or address', [CODES.EOPNOTSUPP]: 'Operation not supported on socket', [CODES.EOVERFLOW]: 'Value too large to be stored in data type', [CODES.EOWNERDEAD]: 'Owner died', [CODES.EPERM]: 'Operation not permitted', [CODES.EPFNOSUPPORT]: 'Protocol family not supported', [CODES.EPIPE]: 'Broken pipe', [CODES.EPROTO]: 'Protocol error', [CODES.EPROTONOSUPPORT]: 'Protocol not supported', [CODES.EPROTOTYPE]: 'Protocol wrong type for socket', [CODES.ERANGE]: 'Result too large', [CODES.EREMCHG]: 'Remote address changed', [CODES.EREMOTE]: 'Object is remote', [CODES.EREMOTEIO]: 'Remote I/O error', [CODES.ERESTART]: 'Interrupted system call should be restarted', [CODES.ERFKILL]: 'Operation not possible due to RF-kill', [CODES.EROFS]: 'Read-only filesystem', [CODES.ESHUTDOWN]: 'Cannot send after transport endpoint shutdown', [CODES.ESPIPE]: 'Invalid seek', [CODES.ESOCKTNOSUPPORT]: 'Socket type not supported', [CODES.ESRCH]: 'No such process', [CODES.ESTALE]: 'Stale file handle', [CODES.ESTRPIPE]: 'Streams pipe error', [CODES.ETIME]: 'Timer expired', [CODES.ETIMEDOUT]: 'Connection timed out', [CODES.ETOOMANYREFS]: 'Too many references: cannot splice', [CODES.ETXTBSY]: 'Text file busy', [CODES.EUCLEAN]: 'Structure needs cleaning', [CODES.EUNATCH]: 'Protocol driver not attached', [CODES.EUSERS]: 'Too many users', [CODES.EWOULDBLOCK]: 'Operation would block', [CODES.EXDEV]: 'Improper link', [CODES.EXFULL]: 'Exchange full', }; type Codes = typeof CODES; export type ErrNoCode = Extract<Codes[keyof Codes], string>; export function getDescription(code: ErrNoCode): string { return descriptions[code]; }