error_str.c
changeset 0 c045670f36e9
equal deleted inserted replaced
-1:000000000000 0:c045670f36e9
       
     1 #include <errno.h>
       
     2 #include "error.h"
       
     3 
       
     4 #define X(e,s) if (i == e) return s;
       
     5 
       
     6 char *error_str(i)
       
     7 int i;
       
     8 {
       
     9   X(0,"no error")
       
    10   X(error_intr,"interrupted system call")
       
    11   X(error_nomem,"out of memory")
       
    12   X(error_noent,"file does not exist")
       
    13   X(error_txtbsy,"text busy")
       
    14   X(error_io,"input/output error")
       
    15   X(error_exist,"file already exists")
       
    16   X(error_timeout,"timed out")
       
    17   X(error_inprogress,"operation in progress")
       
    18   X(error_again,"temporary failure")
       
    19   X(error_wouldblock,"input/output would block")
       
    20   X(error_pipe,"broken pipe")
       
    21   X(error_perm,"permission denied")
       
    22   X(error_acces,"access denied")
       
    23 #ifdef ESRCH
       
    24   X(ESRCH,"no such process")
       
    25 #endif
       
    26 #ifdef ENXIO
       
    27   X(ENXIO,"device not configured")
       
    28 #endif
       
    29 #ifdef E2BIG
       
    30   X(E2BIG,"argument list too long")
       
    31 #endif
       
    32 #ifdef ENOEXEC
       
    33   X(ENOEXEC,"exec format error")
       
    34 #endif
       
    35 #ifdef EBADF
       
    36   X(EBADF,"file descriptor not open")
       
    37 #endif
       
    38 #ifdef ECHILD
       
    39   X(ECHILD,"no child processes")
       
    40 #endif
       
    41 #ifdef EDEADLK
       
    42   X(EDEADLK,"operation would cause deadlock")
       
    43 #endif
       
    44 #ifdef EFAULT
       
    45   X(EFAULT,"bad address")
       
    46 #endif
       
    47 #ifdef ENOTBLK
       
    48   X(ENOTBLK,"not a block device")
       
    49 #endif
       
    50 #ifdef EBUSY
       
    51   X(EBUSY,"device busy")
       
    52 #endif
       
    53 #ifdef EXDEV
       
    54   X(EXDEV,"cross-device link")
       
    55 #endif
       
    56 #ifdef ENODEV
       
    57   X(ENODEV,"device does not support operation")
       
    58 #endif
       
    59 #ifdef ENOTDIR
       
    60   X(ENOTDIR,"not a directory")
       
    61 #endif
       
    62 #ifdef EISDIR
       
    63   X(EISDIR,"is a directory")
       
    64 #endif
       
    65 #ifdef EINVAL
       
    66   X(EINVAL,"invalid argument")
       
    67 #endif
       
    68 #ifdef ENFILE
       
    69   X(ENFILE,"system cannot open more files")
       
    70 #endif
       
    71 #ifdef EMFILE
       
    72   X(EMFILE,"process cannot open more files")
       
    73 #endif
       
    74 #ifdef ENOTTY
       
    75   X(ENOTTY,"not a tty")
       
    76 #endif
       
    77 #ifdef EFBIG
       
    78   X(EFBIG,"file too big")
       
    79 #endif
       
    80 #ifdef ENOSPC
       
    81   X(ENOSPC,"out of disk space")
       
    82 #endif
       
    83 #ifdef ESPIPE
       
    84   X(ESPIPE,"unseekable descriptor")
       
    85 #endif
       
    86 #ifdef EROFS
       
    87   X(EROFS,"read-only file system")
       
    88 #endif
       
    89 #ifdef EMLINK
       
    90   X(EMLINK,"too many links")
       
    91 #endif
       
    92 #ifdef EDOM
       
    93   X(EDOM,"input out of range")
       
    94 #endif
       
    95 #ifdef ERANGE
       
    96   X(ERANGE,"output out of range")
       
    97 #endif
       
    98 #ifdef EALREADY
       
    99   X(EALREADY,"operation already in progress")
       
   100 #endif
       
   101 #ifdef ENOTSOCK
       
   102   X(ENOTSOCK,"not a socket")
       
   103 #endif
       
   104 #ifdef EDESTADDRREQ
       
   105   X(EDESTADDRREQ,"destination address required")
       
   106 #endif
       
   107 #ifdef EMSGSIZE
       
   108   X(EMSGSIZE,"message too long")
       
   109 #endif
       
   110 #ifdef EPROTOTYPE
       
   111   X(EPROTOTYPE,"incorrect protocol type")
       
   112 #endif
       
   113 #ifdef ENOPROTOOPT
       
   114   X(ENOPROTOOPT,"protocol not available")
       
   115 #endif
       
   116 #ifdef EPROTONOSUPPORT
       
   117   X(EPROTONOSUPPORT,"protocol not supported")
       
   118 #endif
       
   119 #ifdef ESOCKTNOSUPPORT
       
   120   X(ESOCKTNOSUPPORT,"socket type not supported")
       
   121 #endif
       
   122 #ifdef EOPNOTSUPP
       
   123   X(EOPNOTSUPP,"operation not supported")
       
   124 #endif
       
   125 #ifdef EPFNOSUPPORT
       
   126   X(EPFNOSUPPORT,"protocol family not supported")
       
   127 #endif
       
   128 #ifdef EAFNOSUPPORT
       
   129   X(EAFNOSUPPORT,"address family not supported")
       
   130 #endif
       
   131 #ifdef EADDRINUSE
       
   132   X(EADDRINUSE,"address already used")
       
   133 #endif
       
   134 #ifdef EADDRNOTAVAIL
       
   135   X(EADDRNOTAVAIL,"address not available")
       
   136 #endif
       
   137 #ifdef ENETDOWN
       
   138   X(ENETDOWN,"network down")
       
   139 #endif
       
   140 #ifdef ENETUNREACH
       
   141   X(ENETUNREACH,"network unreachable")
       
   142 #endif
       
   143 #ifdef ENETRESET
       
   144   X(ENETRESET,"network reset")
       
   145 #endif
       
   146 #ifdef ECONNABORTED
       
   147   X(ECONNABORTED,"connection aborted")
       
   148 #endif
       
   149 #ifdef ECONNRESET
       
   150   X(ECONNRESET,"connection reset")
       
   151 #endif
       
   152 #ifdef ENOBUFS
       
   153   X(ENOBUFS,"out of buffer space")
       
   154 #endif
       
   155 #ifdef EISCONN
       
   156   X(EISCONN,"already connected")
       
   157 #endif
       
   158 #ifdef ENOTCONN
       
   159   X(ENOTCONN,"not connected")
       
   160 #endif
       
   161 #ifdef ESHUTDOWN
       
   162   X(ESHUTDOWN,"socket shut down")
       
   163 #endif
       
   164 #ifdef ETOOMANYREFS
       
   165   X(ETOOMANYREFS,"too many references")
       
   166 #endif
       
   167 #ifdef ECONNREFUSED
       
   168   X(ECONNREFUSED,"connection refused")
       
   169 #endif
       
   170 #ifdef ELOOP
       
   171   X(ELOOP,"symbolic link loop")
       
   172 #endif
       
   173 #ifdef ENAMETOOLONG
       
   174   X(ENAMETOOLONG,"file name too long")
       
   175 #endif
       
   176 #ifdef EHOSTDOWN
       
   177   X(EHOSTDOWN,"host down")
       
   178 #endif
       
   179 #ifdef EHOSTUNREACH
       
   180   X(EHOSTUNREACH,"host unreachable")
       
   181 #endif
       
   182 #ifdef ENOTEMPTY
       
   183   X(ENOTEMPTY,"directory not empty")
       
   184 #endif
       
   185 #ifdef EPROCLIM
       
   186   X(EPROCLIM,"too many processes")
       
   187 #endif
       
   188 #ifdef EUSERS
       
   189   X(EUSERS,"too many users")
       
   190 #endif
       
   191 #ifdef EDQUOT
       
   192   X(EDQUOT,"disk quota exceeded")
       
   193 #endif
       
   194 #ifdef ESTALE
       
   195   X(ESTALE,"stale NFS file handle")
       
   196 #endif
       
   197 #ifdef EREMOTE
       
   198   X(EREMOTE,"too many levels of remote in path")
       
   199 #endif
       
   200 #ifdef EBADRPC
       
   201   X(EBADRPC,"RPC structure is bad")
       
   202 #endif
       
   203 #ifdef ERPCMISMATCH
       
   204   X(ERPCMISMATCH,"RPC version mismatch")
       
   205 #endif
       
   206 #ifdef EPROGUNAVAIL
       
   207   X(EPROGUNAVAIL,"RPC program unavailable")
       
   208 #endif
       
   209 #ifdef EPROGMISMATCH
       
   210   X(EPROGMISMATCH,"program version mismatch")
       
   211 #endif
       
   212 #ifdef EPROCUNAVAIL
       
   213   X(EPROCUNAVAIL,"bad procedure for program")
       
   214 #endif
       
   215 #ifdef ENOLCK
       
   216   X(ENOLCK,"no locks available")
       
   217 #endif
       
   218 #ifdef ENOSYS
       
   219   X(ENOSYS,"system call not available")
       
   220 #endif
       
   221 #ifdef EFTYPE
       
   222   X(EFTYPE,"bad file type")
       
   223 #endif
       
   224 #ifdef EAUTH
       
   225   X(EAUTH,"authentication error")
       
   226 #endif
       
   227 #ifdef ENEEDAUTH
       
   228   X(ENEEDAUTH,"not authenticated")
       
   229 #endif
       
   230 #ifdef ENOSTR
       
   231   X(ENOSTR,"not a stream device")
       
   232 #endif
       
   233 #ifdef ETIME
       
   234   X(ETIME,"timer expired")
       
   235 #endif
       
   236 #ifdef ENOSR
       
   237   X(ENOSR,"out of stream resources")
       
   238 #endif
       
   239 #ifdef ENOMSG
       
   240   X(ENOMSG,"no message of desired type")
       
   241 #endif
       
   242 #ifdef EBADMSG
       
   243   X(EBADMSG,"bad message type")
       
   244 #endif
       
   245 #ifdef EIDRM
       
   246   X(EIDRM,"identifier removed")
       
   247 #endif
       
   248 #ifdef ENONET
       
   249   X(ENONET,"machine not on network")
       
   250 #endif
       
   251 #ifdef ERREMOTE
       
   252   X(ERREMOTE,"object not local")
       
   253 #endif
       
   254 #ifdef ENOLINK
       
   255   X(ENOLINK,"link severed")
       
   256 #endif
       
   257 #ifdef EADV
       
   258   X(EADV,"advertise error")
       
   259 #endif
       
   260 #ifdef ESRMNT
       
   261   X(ESRMNT,"srmount error")
       
   262 #endif
       
   263 #ifdef ECOMM
       
   264   X(ECOMM,"communication error")
       
   265 #endif
       
   266 #ifdef EPROTO
       
   267   X(EPROTO,"protocol error")
       
   268 #endif
       
   269 #ifdef EMULTIHOP
       
   270   X(EMULTIHOP,"multihop attempted")
       
   271 #endif
       
   272 #ifdef EREMCHG
       
   273   X(EREMCHG,"remote address changed")
       
   274 #endif
       
   275   return "unknown error";
       
   276 }