3 char *sys_errlist
[] = {
4 [0] = "Invalid error number",
5 [EPERM
] = "Operation not permitted",
6 [ENOENT
] = "No such file or directory",
7 [ESRCH
] = "No such process",
8 [EINTR
] = "Interrupted system call",
10 [ENXIO
] = "No such device or address",
11 [E2BIG
] = "Argument list too long",
12 [ENOEXEC
] = "Exec format error",
13 [EBADF
] = "Bad file number",
14 [ECHILD
] = "No child processes",
15 [EAGAIN
] = "Operation would block",
16 [ENOMEM
] = "Out of memory",
17 [EACCES
] = "Permission denied",
18 [EFAULT
] = "Bad address",
19 [ENOTBLK
] = "Block device required",
20 [EBUSY
] = "Device or resource busy",
21 [EEXIST
] = "File exists",
22 [EXDEV
] = "Cross-device link",
23 [ENODEV
] = "No such device",
24 [ENOTDIR
] = "Not a directory",
25 [EISDIR
] = "Is a directory",
26 [EINVAL
] = "Invalid argument",
27 [ENFILE
] = "File table overflow",
28 [EMFILE
] = "Too many open files",
29 [ENOTTY
] = "Not a tty",
30 [ETXTBSY
] = "Text file busy",
31 [EFBIG
] = "File too large",
32 [ENOSPC
] = "No space left on device",
33 [ESPIPE
] = "Illegal seek",
34 [EROFS
] = "Read-only file system",
35 [EMLINK
] = "Too many links",
36 [EPIPE
] = "Broken pipe",
37 [EDOM
] = "Argument outside domain",
38 [ERANGE
] = "Result not representable",
41 int sys_nerr
= sizeof(sys_errlist
) / sizeof(sys_errlist
[0]);