Skip to content

Instantly share code, notes, and snippets.

@tschaefer
Created April 9, 2014 07:57
Show Gist options
  • Select an option

  • Save tschaefer/10238450 to your computer and use it in GitHub Desktop.

Select an option

Save tschaefer/10238450 to your computer and use it in GitHub Desktop.
glibc linux error list
#include <stdio.h>
#include <string.h>
#include <errno.h>
int main(void) {
struct error {
int code;
char *define;
};
struct error error_list[] = {
{ EPERM, "EPERM"},
{ ENOENT, "ENOENT"},
{ ESRCH, "ESRCH"},
{ EINTR, "EINTR"},
{ EIO, "EIO"},
{ ENXIO, "ENXIO"},
{ E2BIG, "E2BIG"},
{ ENOEXEC, "ENOEXEC"},
{ EBADF, "EBADF"},
{ ECHILD, "ECHILD"},
{ EAGAIN, "EAGAIN"},
{ EWOULDBLOCK, "EWOULDBLOCK"},
{ ENOMEM, "ENOMEM"},
{ EACCES, "EACCES"},
{ EFAULT, "EFAULT"},
{ ENOTBLK, "ENOTBLK"},
{ EBUSY, "EBUSY"},
{ EEXIST, "EEXIST"},
{ EXDEV, "EXDEV"},
{ ENODEV, "ENODEV"},
{ ENOTDIR, "ENOTDIR"},
{ EISDIR, "EISDIR"},
{ EINVAL, "EINVAL"},
{ ENFILE, "ENFILE"},
{ EMFILE, "EMFILE"},
{ ENOTTY, "ENOTTY"},
{ ETXTBSY, "ETXTBSY"},
{ EFBIG, "EFBIG"},
{ ENOSPC, "ENOSPC"},
{ ESPIPE, "ESPIPE"},
{ EROFS, "EROFS"},
{ EMLINK, "EMLINK"},
{ EPIPE, "EPIPE"},
{ EDOM, "EDOM"},
{ ERANGE, "ERANGE"},
{ EDEADLK, "EDEADLK"},
{ EDEADLOCK, "EDEADLOCK"},
{ ENAMETOOLONG, "ENAMETOOLONG"},
{ ENOLCK, "ENOLCK"},
{ ENOSYS, "ENOSYS"},
{ ENOTEMPTY, "ENOTEMPTY"},
{ ELOOP, "ELOOP"},
{ ENOMSG, "ENOMSG"},
{ EIDRM, "EIDRM"},
{ ECHRNG, "ECHRNG"},
{ EL2NSYNC, "EL2NSYNC"},
{ EL3HLT, "EL3HLT"},
{ EL3RST, "EL3RST"},
{ ELNRNG, "ELNRNG"},
{ EUNATCH, "EUNATCH"},
{ ENOCSI, "ENOCSI"},
{ EL2HLT, "EL2HLT"},
{ EBADE, "EBADE"},
{ EBADR, "EBADR"},
{ EXFULL, "EXFULL"},
{ ENOANO, "ENOANO"},
{ EBADRQC, "EBADRQC"},
{ EBADSLT, "EBADSLT"},
{ EBFONT, "EBFONT"},
{ ENOSTR, "ENOSTR"},
{ ENODATA, "ENODATA"},
{ ETIME, "ETIME"},
{ ENOSR, "ENOSR"},
{ ENONET, "ENONET"},
{ ENOPKG, "ENOPKG"},
{ EREMOTE, "EREMOTE"},
{ ENOLINK, "ENOLINK"},
{ EADV, "EADV"},
{ ESRMNT, "ESRMNT"},
{ ECOMM, "ECOMM"},
{ EPROTO, "EPROTO"},
{ EMULTIHOP, "EMULTIHOP"},
{ EDOTDOT, "EDOTDOT"},
{ EBADMSG, "EBADMSG"},
{ EOVERFLOW, "EOVERFLOW"},
{ ENOTUNIQ, "ENOTUNIQ"},
{ EBADFD, "EBADFD"},
{ EREMCHG, "EREMCHG"},
{ ELIBACC, "ELIBACC"},
{ ELIBBAD, "ELIBBAD"},
{ ELIBSCN, "ELIBSCN"},
{ ELIBMAX, "ELIBMAX"},
{ ELIBEXEC, "ELIBEXEC"},
{ EILSEQ, "EILSEQ"},
{ ERESTART, "ERESTART"},
{ ESTRPIPE, "ESTRPIPE"},
{ EUSERS, "EUSERS"},
{ ENOTSOCK, "ENOTSOCK"},
{ EDESTADDRREQ, "EDESTADDRREQ"},
{ EMSGSIZE, "EMSGSIZE"},
{ EPROTOTYPE, "EPROTOTYPE"},
{ ENOPROTOOPT, "ENOPROTOOPT"},
{ EPROTONOSUPPORT, "EPROTONOSUPPORT"},
{ ESOCKTNOSUPPORT, "ESOCKTNOSUPPORT"},
{ EOPNOTSUPP, "EOPNOTSUPP"},
{ ENOTSUP, "ENOTSUP"},
{ EPFNOSUPPORT, "EPFNOSUPPORT"},
{ EAFNOSUPPORT, "EAFNOSUPPORT"},
{ EADDRINUSE, "EADDRINUSE"},
{ EADDRNOTAVAIL, "EADDRNOTAVAIL"},
{ ENETDOWN, "ENETDOWN"},
{ ENETUNREACH, "ENETUNREACH"},
{ ENETRESET, "ENETRESET"},
{ ECONNABORTED, "ECONNABORTED"},
{ ECONNRESET, "ECONNRESET"},
{ ENOBUFS, "ENOBUFS"},
{ EISCONN, "EISCONN"},
{ ENOTCONN, "ENOTCONN"},
{ ESHUTDOWN, "ESHUTDOWN"},
{ ETOOMANYREFS, "ETOOMANYREFS"},
{ ETIMEDOUT, "ETIMEDOUT"},
{ ECONNREFUSED, "ECONNREFUSED"},
{ EHOSTDOWN, "EHOSTDOWN"},
{ EHOSTUNREACH, "EHOSTUNREACH"},
{ EALREADY, "EALREADY"},
{ EINPROGRESS, "EINPROGRESS"},
{ ESTALE, "ESTALE"},
{ EUCLEAN, "EUCLEAN"},
{ ENOTNAM, "ENOTNAM"},
{ ENAVAIL, "ENAVAIL"},
{ EISNAM, "EISNAM"},
{ EREMOTEIO, "EREMOTEIO"},
{ EDQUOT, "EDQUOT"},
{ ENOMEDIUM, "ENOMEDIUM"},
{ EMEDIUMTYPE, "EMEDIUMTYPE"},
{ ECANCELED, "ECANCELED"},
{ ENOKEY, "ENOKEY"},
{ EKEYEXPIRED, "EKEYEXPIRED"},
{ EKEYREVOKED, "EKEYREVOKED"},
{ EKEYREJECTED, "EKEYREJECTED"},
{ EOWNERDEAD, "EOWNERDEAD"},
{ ENOTRECOVERABLE, "ENOTRECOVERABLE"},
{ ERFKILL, "ERFKILL"},
{ EHWPOISON, "EHWPOISON"},
{ -1, NULL},
};
int loop = 0;
while(error_list[loop].code != -1) {
printf("code[%d] define[%s] str[%s]\n",
error_list[loop].code, error_list[loop].define,
strerror(error_list[loop].code));
loop++;
}
}
@tschaefer
Copy link
Author

$ gcc linux-error.c -o linux-error

@tschaefer
Copy link
Author

@melchisedech333
Copy link

Thank you so much for the list, it helped me a lot.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment