const HChar* VG_(strerror) ( UWord errnum )
{
switch (errnum) {
- case VKI_EPERM: return "Operation not permitted";
- case VKI_ENOENT: return "No such file or directory";
- case VKI_ESRCH: return "No such process";
- case VKI_EINTR: return "Interrupted system call";
- case VKI_EBADF: return "Bad file number";
- case VKI_EAGAIN: return "Try again";
- case VKI_ENOMEM: return "Out of memory";
- case VKI_EACCES: return "Permission denied";
- case VKI_EFAULT: return "Bad address";
- case VKI_EEXIST: return "File exists";
- case VKI_EINVAL: return "Invalid argument";
- case VKI_EMFILE: return "Too many open files";
- case VKI_ENOSYS: return "Function not implemented";
- case VKI_EOVERFLOW: return "Value too large for defined data type";
+ case VKI_EPERM: return "Operation not permitted";
+ case VKI_ENOENT: return "No such file or directory";
+ case VKI_ESRCH: return "No such process";
+ case VKI_EINTR: return "Interrupted system call";
+ case VKI_EIO: return "Input/output error";
+ case VKI_ENXIO: return "No such device or address";
+ case VKI_E2BIG: return "Argument list too long";
+ case VKI_ENOEXEC: return "Exec format error";
+ case VKI_EBADF: return "Bad file descriptor";
+ case VKI_ECHILD: return "No child processes";
+ case VKI_EAGAIN: return "Resource temporarily unavailable";
+ case VKI_ENOMEM: return "Cannot allocate memory";
+ case VKI_EACCES: return "Permission denied";
+ case VKI_EFAULT: return "Bad address";
+ case VKI_ENOTBLK: return "Block device required";
+ case VKI_EBUSY: return "Device or resource busy";
+ case VKI_EEXIST: return "File exists";
+ case VKI_EXDEV: return "Invalid cross-device link";
+ case VKI_ENODEV: return "No such device";
+ case VKI_ENOTDIR: return "Not a directory";
+ case VKI_EISDIR: return "Is a directory";
+ case VKI_EINVAL: return "Invalid argument";
+ case VKI_ENFILE: return "Too many open files in system";
+ case VKI_EMFILE: return "Too many open files";
+ case VKI_ENOTTY: return "Inappropriate ioctl for device";
+ case VKI_ETXTBSY: return "Text file busy";
+ case VKI_EFBIG: return "File too large";
+ case VKI_ENOSPC: return "No space left on device";
+ case VKI_ESPIPE: return "Illegal seek";
+ case VKI_EROFS: return "Read-only file system";
+ case VKI_EMLINK: return "Too many links";
+ case VKI_EPIPE: return "Broken pipe";
+ case VKI_EDOM: return "Numerical argument out of domain";
+ case VKI_ERANGE: return "Numerical result out of range";
+
+ case VKI_ENOSYS: return "Function not implemented";
+ case VKI_EOVERFLOW: return "Value too large for defined data type";
# if defined(VKI_ERESTARTSYS)
case VKI_ERESTARTSYS: return "ERESTARTSYS";
# endif
- default: return "VG_(strerror): unknown error";
+ default: return "VG_(strerror): unknown error";
}
}
/*--------------------------------------------------------------------*/
-/*--- end ---*/
+/*--- end ---*/
/*--------------------------------------------------------------------*/
#define VKI_ENOENT 2 /* No such file or directory */
#define VKI_ESRCH 3 /* No such process */
#define VKI_EINTR 4 /* Interrupted system call */
-#define VKI_ENOEXEC 8 /* Exec format error */
+#define VKI_EIO 5 /* I/O error */
+#define VKI_ENXIO 6 /* No such device or address */
+#define VKI_E2BIG 7 /* Argument list too long */
+#define VKI_ENOEXEC 8 /* Exec format error */
#define VKI_EBADF 9 /* Bad file number */
-#define VKI_ECHILD 10 /* No child processes */
-#define VKI_EAGAIN 11 /* Try again */
-#define VKI_EWOULDBLOCK VKI_EAGAIN
+#define VKI_ECHILD 10 /* No child processes */
+#define VKI_EAGAIN 11 /* Try again */
#define VKI_ENOMEM 12 /* Out of memory */
#define VKI_EACCES 13 /* Permission denied */
#define VKI_EFAULT 14 /* Bad address */
+#define VKI_ENOTBLK 15 /* Block device required */
+#define VKI_EBUSY 16 /* Device or resource busy */
#define VKI_EEXIST 17 /* File exists */
+#define VKI_EXDEV 18 /* Cross-device link */
+#define VKI_ENODEV 19 /* No such device */
+#define VKI_ENOTDIR 20 /* Not a directory */
+#define VKI_EISDIR 21 /* Is a directory */
#define VKI_EINVAL 22 /* Invalid argument */
+#define VKI_ENFILE 23 /* File table overflow */
#define VKI_EMFILE 24 /* Too many open files */
+#define VKI_ENOTTY 25 /* Not a typewriter */
+#define VKI_ETXTBSY 26 /* Text file busy */
+#define VKI_EFBIG 27 /* File too large */
+#define VKI_ENOSPC 28 /* No space left on device */
+#define VKI_ESPIPE 29 /* Illegal seek */
+#define VKI_EROFS 30 /* Read-only file system */
+#define VKI_EMLINK 31 /* Too many links */
+#define VKI_EPIPE 32 /* Broken pipe */
+#define VKI_EDOM 33 /* Math argument out of domain of func */
+#define VKI_ERANGE 34 /* Math result not representable */
//----------------------------------------------------------------------
// From linux-2.6.8.1/include/asm-generic/errno.h
//----------------------------------------------------------------------
+#define VKI_EWOULDBLOCK VKI_EAGAIN
+
#define VKI_ENOSYS 38 /* Function not implemented */
#define VKI_EOVERFLOW 75 /* Value too large for defined data type */