📄 error_str.c
字号:
#include <errno.h>#include "error.h"#define X(e,s) if (i == e) return s;char *error_str(int i){ X(0,"no error") X(error_intr,"interrupted system call") X(error_nomem,"out of memory") X(error_noent,"file does not exist") X(error_txtbsy,"text busy") X(error_io,"input/output error") X(error_exist,"file already exists") X(error_timeout,"timed out") X(error_inprogress,"operation in progress") X(error_again,"temporary failure") X(error_wouldblock,"input/output would block") X(error_pipe,"broken pipe") X(error_perm,"permission denied") X(error_acces,"access denied") X(error_nodevice,"device not configured") X(error_proto,"protocol error") X(error_isdir,"is a directory")#ifdef ESRCH X(ESRCH,"no such process")#endif#ifdef E2BIG X(E2BIG,"argument list too long")#endif#ifdef ENOEXEC X(ENOEXEC,"exec format error")#endif#ifdef EBADF X(EBADF,"file descriptor not open")#endif#ifdef ECHILD X(ECHILD,"no child processes")#endif#ifdef EDEADLK X(EDEADLK,"operation would cause deadlock")#endif#ifdef EFAULT X(EFAULT,"bad address")#endif#ifdef ENOTBLK X(ENOTBLK,"not a block device")#endif#ifdef EBUSY X(EBUSY,"device busy")#endif#ifdef EXDEV X(EXDEV,"cross-device link")#endif#ifdef ENODEV X(ENODEV,"device does not support operation")#endif#ifdef ENOTDIR X(ENOTDIR,"not a directory")#endif#ifdef EINVAL X(EINVAL,"invalid argument")#endif#ifdef ENFILE X(ENFILE,"system cannot open more files")#endif#ifdef EMFILE X(EMFILE,"process cannot open more files")#endif#ifdef ENOTTY X(ENOTTY,"not a tty")#endif#ifdef EFBIG X(EFBIG,"file too big")#endif#ifdef ENOSPC X(ENOSPC,"out of disk space")#endif#ifdef ESPIPE X(ESPIPE,"unseekable descriptor")#endif#ifdef EROFS X(EROFS,"read-only file system")#endif#ifdef EMLINK X(EMLINK,"too many links")#endif#ifdef EDOM X(EDOM,"input out of range")#endif#ifdef ERANGE X(ERANGE,"output out of range")#endif#ifdef EALREADY X(EALREADY,"operation already in progress")#endif#ifdef ENOTSOCK X(ENOTSOCK,"not a socket")#endif#ifdef EDESTADDRREQ X(EDESTADDRREQ,"destination address required")#endif#ifdef EMSGSIZE X(EMSGSIZE,"message too long")#endif#ifdef EPROTOTYPE X(EPROTOTYPE,"incorrect protocol type")#endif#ifdef ENOPROTOOPT X(ENOPROTOOPT,"protocol not available")#endif#ifdef EPROTONOSUPPORT X(EPROTONOSUPPORT,"protocol not supported")#endif#ifdef ESOCKTNOSUPPORT X(ESOCKTNOSUPPORT,"socket type not supported")#endif#ifdef EOPNOTSUPP X(EOPNOTSUPP,"operation not supported")#endif#ifdef EPFNOSUPPORT X(EPFNOSUPPORT,"protocol family not supported")#endif#ifdef EAFNOSUPPORT X(EAFNOSUPPORT,"address family not supported")#endif#ifdef EADDRINUSE X(EADDRINUSE,"address already used")#endif#ifdef EADDRNOTAVAIL X(EADDRNOTAVAIL,"address not available")#endif#ifdef ENETDOWN X(ENETDOWN,"network down")#endif#ifdef ENETUNREACH X(ENETUNREACH,"network unreachable")#endif#ifdef ENETRESET X(ENETRESET,"network reset")#endif#ifdef ECONNABORTED X(ECONNABORTED,"connection aborted")#endif#ifdef ECONNRESET X(ECONNRESET,"connection reset")#endif#ifdef ENOBUFS X(ENOBUFS,"out of buffer space")#endif#ifdef EISCONN X(EISCONN,"already connected")#endif#ifdef ENOTCONN X(ENOTCONN,"not connected")#endif#ifdef ESHUTDOWN X(ESHUTDOWN,"socket shut down")#endif#ifdef ETOOMANYREFS X(ETOOMANYREFS,"too many references")#endif#ifdef ECONNREFUSED X(ECONNREFUSED,"connection refused")#endif#ifdef ELOOP X(ELOOP,"symbolic link loop")#endif#ifdef ENAMETOOLONG X(ENAMETOOLONG,"file name too long")#endif#ifdef EHOSTDOWN X(EHOSTDOWN,"host down")#endif#ifdef EHOSTUNREACH X(EHOSTUNREACH,"host unreachable")#endif#ifdef ENOTEMPTY X(ENOTEMPTY,"directory not empty")#endif#ifdef EPROCLIM X(EPROCLIM,"too many processes")#endif#ifdef EUSERS X(EUSERS,"too many users")#endif#ifdef EDQUOT X(EDQUOT,"disk quota exceeded")#endif#ifdef ESTALE X(ESTALE,"stale NFS file handle")#endif#ifdef EREMOTE X(EREMOTE,"too many levels of remote in path")#endif#ifdef EBADRPC X(EBADRPC,"RPC structure is bad")#endif#ifdef ERPCMISMATCH X(ERPCMISMATCH,"RPC version mismatch")#endif#ifdef EPROGUNAVAIL X(EPROGUNAVAIL,"RPC program unavailable")#endif#ifdef EPROGMISMATCH X(EPROGMISMATCH,"program version mismatch")#endif#ifdef EPROCUNAVAIL X(EPROCUNAVAIL,"bad procedure for program")#endif#ifdef ENOLCK X(ENOLCK,"no locks available")#endif#ifdef ENOSYS X(ENOSYS,"system call not available")#endif#ifdef EFTYPE X(EFTYPE,"bad file type")#endif#ifdef EAUTH X(EAUTH,"authentication error")#endif#ifdef ENEEDAUTH X(ENEEDAUTH,"not authenticated")#endif#ifdef ENOSTR X(ENOSTR,"not a stream device")#endif#ifdef ETIME X(ETIME,"timer expired")#endif#ifdef ENOSR X(ENOSR,"out of stream resources")#endif#ifdef ENOMSG X(ENOMSG,"no message of desired type")#endif#ifdef EBADMSG X(EBADMSG,"bad message type")#endif#ifdef EIDRM X(EIDRM,"identifier removed")#endif#ifdef ENONET X(ENONET,"machine not on network")#endif#ifdef ERREMOTE X(ERREMOTE,"object not local")#endif#ifdef ENOLINK X(ENOLINK,"link severed")#endif#ifdef EADV X(EADV,"advertise error")#endif#ifdef ESRMNT X(ESRMNT,"srmount error")#endif#ifdef ECOMM X(ECOMM,"communication error")#endif#ifdef EMULTIHOP X(EMULTIHOP,"multihop attempted")#endif#ifdef EREMCHG X(EREMCHG,"remote address changed")#endif return "unknown error";}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -