2004-04-07 Martin Baulig <martin@ximian.com>
[mono.git] / mcs / class / corlib / Unix / Errno.cs
1 //
2 // Errno.cs: used to provide better information
3 //
4
5 namespace System.Private {
6
7         internal class Errno {
8
9                 internal static string Message (int code)
10                 {
11                         switch (code) {
12                         case Wrapper.EPERM:
13                                 return "Operation not permitted";
14                         case Wrapper.ENOENT:
15                                 return "No such file or directory";
16                         case Wrapper.EISDIR:
17                                 return "Is a directory";
18                         case Wrapper.EBADF:
19                                 return "Bad file descriptor";
20                         case Wrapper.ENOMEM:
21                                 return "Cannot allocate memory";
22                         case Wrapper.EEXIST:
23                                 return "File already exists";
24                         case Wrapper.ENOTEMPTY:
25                                 return "Directory not empty";
26                         case Wrapper.ESRCH:
27                                 return "No such process";
28                         case Wrapper.EINTR:
29                                 return "Interrupted function call";
30                         case Wrapper.EIO:
31                                 return "Input/output error";
32                         case Wrapper.ENXIO:
33                                 return "No such device or address";
34                         case Wrapper.E2BIG:
35                                 return "Argument list too long";
36                         case Wrapper.ENOEXEC:
37                                 return "Exec format error";
38                         case Wrapper.ECHILD:
39                                 return "No child processes";
40                         case Wrapper.EAGAIN:
41                                 return "Resource temporarily unavailable";
42                         case Wrapper.EACCES:
43                                 return "Permission denied";
44                         case Wrapper.EFAULT:
45                                 return "Bad address";
46                         case Wrapper.ENOTBLK:
47                                 return "Block device required";
48                         case Wrapper.EBUSY:
49                                 return "Device or resource busy";
50                         case Wrapper.EXDEV:
51                                 return "Invalid cross-device link";
52                         case Wrapper.ENODEV:
53                                 return "No such device";
54                         case Wrapper.ENOTDIR:
55                                 return "Not a directory";
56                         case Wrapper.EINVAL:
57                                 return "Invalid argument";
58                         case Wrapper.ENFILE:
59                                 return "Too many open files in system";
60                         case Wrapper.EMFILE:
61                                 return "Too many open files";
62                         case Wrapper.ENOTTY:
63                                 return "Inappropriate ioctl for device";
64                         case Wrapper.ETXTBSY:
65                                 return "Text file busy";
66                         case Wrapper.EFBIG:
67                                 return "File too large";
68                         case Wrapper.ENOSPC:
69                                 return "No space left on device";
70                         case Wrapper.ESPIPE:
71                                 return "Illegal seek";
72                         case Wrapper.EROFS:
73                                 return "Read-only file system";
74                         case Wrapper.EMLINK:
75                                 return "Too many links";
76                         case Wrapper.EPIPE:
77                                 return "Broken pipe";
78                         case Wrapper.EDOM:
79                                 return "Numerical argument out of domain";
80                         case Wrapper.ERANGE:
81                                 return "Numerical result out of range";
82                         case Wrapper.EDEADLK:
83                                 return "Resource deadlock avoided";
84                         case Wrapper.ENAMETOOLONG:
85                                 return "File name too long";
86                         case Wrapper.ENOLCK:
87                                 return "No locks available";
88                         case Wrapper.ENOSYS:
89                                 return "Function not implemented";
90                         case Wrapper.ELOOP:
91                                 return "Too many levels of symbolic links";
92                         case Wrapper.EUSERS:
93                                 return "Too many users";
94                         case Wrapper.ENOTSOCK:
95                                 return "Socket operation on non-socket";
96                         case Wrapper.EDESTADDRREQ:
97                                 return "Destination address required";
98                         case Wrapper.EMSGSIZE:
99                                 return "Message too long";
100                         case Wrapper.EPROTOTYPE:
101                                 return "Protocol wrong type for socket";
102                         case Wrapper.ENOPROTOOPT:
103                                 return "Protocol not available";
104                         case Wrapper.EPROTONOSUPPORT:
105                                 return "Protocol not supported";
106                         case Wrapper.ESOCKTNOSUPPORT:
107                                 return "Socket type not supported";
108                         case Wrapper.EOPNOTSUPP:
109                                 return "Operation not supported";
110                         case Wrapper.EPFNOSUPPORT:
111                                 return "Protocol family not supported";
112                         case Wrapper.EAFNOSUPPORT:
113                                 return "Address family not supported by protocol";
114                         case Wrapper.EADDRINUSE:
115                                 return "Address already in use";
116                         case Wrapper.EADDRNOTAVAIL:
117                                 return "Cannot assign requested address";
118                         case Wrapper.ENETDOWN:
119                                 return "Network is down";
120                         case Wrapper.ENETUNREACH:
121                                 return "Network is unreachable";
122                         case Wrapper.ENETRESET:
123                                 return "Network dropped connection on reset";
124                         case Wrapper.ECONNABORTED:
125                                 return "Software caused connection abort";
126                         case Wrapper.ECONNRESET:
127                                 return "Connection reset by peer";
128                         case Wrapper.ENOBUFS:
129                                 return "No buffer space available";
130                         case Wrapper.EISCONN:
131                                 return "Transport endpoint is already connected";
132                         case Wrapper.ENOTCONN:
133                                 return "Transport endpoint is not connected";
134                         case Wrapper.ESHUTDOWN:
135                                 return "Cannot send after transport endpoint shutdown";
136                         case Wrapper.ETOOMANYREFS:
137                                 return "Too many references: cannot splice";
138                         case Wrapper.ETIMEDOUT:
139                                 return "Connection timed out";
140                         case Wrapper.ECONNREFUSED:
141                                 return "Connection refused";
142                         case Wrapper.EHOSTDOWN:
143                                 return "Host is down";
144                         case Wrapper.EHOSTUNREACH:
145                                 return "No route to host";
146                         case Wrapper.EALREADY:
147                                 return "Operation already in progress";
148                         case Wrapper.EINPROGRESS:
149                                 return "Operation now in progress";
150                         case Wrapper.ESTALE:
151                                 return "Stale NFS file handle";
152                         case Wrapper.EDQUOT:
153                                 return "Disk quota exceeded";
154                         case Wrapper.ENOMEDIUM:
155                         case Wrapper.ENOMSG:
156                         case Wrapper.EIDRM:
157                         case Wrapper.ECHRNG:
158                         case Wrapper.EL2NSYNC:
159                         case Wrapper.EL3HLT:
160                         case Wrapper.EL3RST:
161                         case Wrapper.ELNRNG:
162                         case Wrapper.EUNATCH:
163                         case Wrapper.ENOCSI:
164                         case Wrapper.EL2HLT:
165                         case Wrapper.EBADE:
166                         case Wrapper.EBADR:
167                         case Wrapper.EXFULL:
168                         case Wrapper.ENOANO:
169                         case Wrapper.EBADRQC:
170                         case Wrapper.EBADSLT:
171                         case Wrapper.EBFONT:
172                         case Wrapper.ENOSTR:
173                         case Wrapper.ENODATA:
174                         case Wrapper.ETIME:
175                         case Wrapper.ENOSR:
176                         case Wrapper.ENONET:
177                         case Wrapper.ENOPKG:
178                         case Wrapper.EREMOTE:
179                         case Wrapper.ENOLINK:
180                         case Wrapper.EADV:
181                         case Wrapper.ESRMNT:
182                         case Wrapper.ECOMM:
183                         case Wrapper.EPROTO:
184                         case Wrapper.EMULTIHOP:
185                         case Wrapper.EDOTDOT:
186                         case Wrapper.EBADMSG:
187                         case Wrapper.ENOTUNIQ:
188                         case Wrapper.EBADFD:
189                         case Wrapper.EREMCHG:
190                         case Wrapper.ELIBACC:
191                         case Wrapper.ELIBBAD:
192                         case Wrapper.ELIBSCN:
193                         case Wrapper.ELIBMAX:
194                         case Wrapper.ELIBEXEC:
195                                 break;
196                         }
197                         return String.Format ("Errno code={0}", code);
198                 }
199         }
200 }