49 lines
2 KiB
C
49 lines
2 KiB
C
#ifndef _ERRNO_H
|
|
#define _ERRNO_H
|
|
|
|
extern int errno;
|
|
int *__errno_location(void);
|
|
|
|
// Error codes (glibc numbering for portability). C standard requires
|
|
// EDOM, ERANGE, EILSEQ; the rest are common POSIX-style codes that
|
|
// real-world code expects to find even on a minimal runtime.
|
|
#define EPERM 1 // Operation not permitted
|
|
#define ENOENT 2 // No such file or directory
|
|
#define ESRCH 3 // No such process
|
|
#define EINTR 4 // Interrupted system call
|
|
#define EIO 5 // I/O error
|
|
#define ENXIO 6 // No such device or address
|
|
#define E2BIG 7 // Argument list too long
|
|
#define ENOEXEC 8 // Exec format error
|
|
#define EBADF 9 // Bad file descriptor
|
|
#define ECHILD 10 // No child processes
|
|
#define EAGAIN 11 // Resource temporarily unavailable
|
|
#define ENOMEM 12 // Out of memory
|
|
#define EACCES 13 // Permission denied
|
|
#define EFAULT 14 // Bad address
|
|
#define EBUSY 16 // Device or resource busy
|
|
#define EEXIST 17 // File exists
|
|
#define EXDEV 18 // Cross-device link
|
|
#define ENODEV 19 // No such device
|
|
#define ENOTDIR 20 // Not a directory
|
|
#define EISDIR 21 // Is a directory
|
|
#define EINVAL 22 // Invalid argument
|
|
#define ENFILE 23 // Too many open files in system
|
|
#define EMFILE 24 // Too many open files
|
|
#define ENOTTY 25 // Not a typewriter
|
|
#define ETXTBSY 26 // Text file busy
|
|
#define EFBIG 27 // File too large
|
|
#define ENOSPC 28 // No space left on device
|
|
#define ESPIPE 29 // Illegal seek
|
|
#define EROFS 30 // Read-only file system
|
|
#define EMLINK 31 // Too many links
|
|
#define EPIPE 32 // Broken pipe
|
|
#define EDOM 33 // Math argument out of domain (C standard)
|
|
#define ERANGE 34 // Math result out of range (C standard)
|
|
#define ENAMETOOLONG 36 // Filename too long
|
|
#define ENOSYS 38 // Function not implemented
|
|
#define ENOTEMPTY 39 // Directory not empty
|
|
#define ELOOP 40 // Too many symbolic links
|
|
#define EILSEQ 84 // Illegal byte sequence (C standard)
|
|
|
|
#endif
|