LinuxError.cs 8.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  1. namespace Ryujinx.HLE.Utilities
  2. {
  3. enum LinuxError
  4. {
  5. SUCCESS = 0,
  6. EPERM = 1 /* Operation not permitted */,
  7. ENOENT = 2 /* No such file or directory */,
  8. ESRCH = 3 /* No such process */,
  9. EINTR = 4 /* Interrupted system call */,
  10. EIO = 5 /* I/O error */,
  11. ENXIO = 6 /* No such device or address */,
  12. E2BIG = 7 /* Argument list too long */,
  13. ENOEXEC = 8 /* Exec format error */,
  14. EBADF = 9 /* Bad file number */,
  15. ECHILD = 10 /* No child processes */,
  16. EAGAIN = 11 /* Try again */,
  17. ENOMEM = 12 /* Out of memory */,
  18. EACCES = 13 /* Permission denied */,
  19. EFAULT = 14 /* Bad address */,
  20. ENOTBLK = 15 /* Block device required */,
  21. EBUSY = 16 /* Device or resource busy */,
  22. EEXIST = 17 /* File exists */,
  23. EXDEV = 18 /* Cross-device link */,
  24. ENODEV = 19 /* No such device */,
  25. ENOTDIR = 20 /* Not a directory */,
  26. EISDIR = 21 /* Is a directory */,
  27. EINVAL = 22 /* Invalid argument */,
  28. ENFILE = 23 /* File table overflow */,
  29. EMFILE = 24 /* Too many open files */,
  30. ENOTTY = 25 /* Not a typewriter */,
  31. ETXTBSY = 26 /* Text file busy */,
  32. EFBIG = 27 /* File too large */,
  33. ENOSPC = 28 /* No space left on device */,
  34. ESPIPE = 29 /* Illegal seek */,
  35. EROFS = 30 /* Read-only file system */,
  36. EMLINK = 31 /* Too many links */,
  37. EPIPE = 32 /* Broken pipe */,
  38. EDOM = 33 /* Math argument out of domain of func */,
  39. ERANGE = 34 /* Math result not representable */,
  40. EDEADLK = 35 /* Resource deadlock would occur */,
  41. ENAMETOOLONG = 36 /* File name too long */,
  42. ENOLCK = 37 /* No record locks available */,
  43. /*
  44. * This error code is special: arch syscall entry code will return
  45. * -ENOSYS if users try to call a syscall that doesn't exist. To keep
  46. * failures of syscalls that really do exist distinguishable from
  47. * failures due to attempts to use a nonexistent syscall, syscall
  48. * implementations should refrain from returning -ENOSYS.
  49. */
  50. ENOSYS = 38 /* Invalid system call number */,
  51. ENOTEMPTY = 39 /* Directory not empty */,
  52. ELOOP = 40 /* Too many symbolic links encountered */,
  53. EWOULDBLOCK = EAGAIN /* Operation would block */,
  54. ENOMSG = 42 /* No message of desired type */,
  55. EIDRM = 43 /* Identifier removed */,
  56. ECHRNG = 44 /* Channel number out of range */,
  57. EL2NSYNC = 45 /* Level 2 not synchronized */,
  58. EL3HLT = 46 /* Level 3 halted */,
  59. EL3RST = 47 /* Level 3 reset */,
  60. ELNRNG = 48 /* Link number out of range */,
  61. EUNATCH = 49 /* Protocol driver not attached */,
  62. ENOCSI = 50 /* No CSI structure available */,
  63. EL2HLT = 51 /* Level 2 halted */,
  64. EBADE = 52 /* Invalid exchange */,
  65. EBADR = 53 /* Invalid request descriptor */,
  66. EXFULL = 54 /* Exchange full */,
  67. ENOANO = 55 /* No anode */,
  68. EBADRQC = 56 /* Invalid request code */,
  69. EBADSLT = 57 /* Invalid slot */,
  70. EDEADLOCK = EDEADLK,
  71. EBFONT = 59 /* Bad font file format */,
  72. ENOSTR = 60 /* Device not a stream */,
  73. ENODATA = 61 /* No data available */,
  74. ETIME = 62 /* Timer expired */,
  75. ENOSR = 63 /* Out of streams resources */,
  76. ENONET = 64 /* Machine is not on the network */,
  77. ENOPKG = 65 /* Package not installed */,
  78. EREMOTE = 66 /* Object is remote */,
  79. ENOLINK = 67 /* Link has been severed */,
  80. EADV = 68 /* Advertise error */,
  81. ESRMNT = 69 /* Srmount error */,
  82. ECOMM = 70 /* Communication error on send */,
  83. EPROTO = 71 /* Protocol error */,
  84. EMULTIHOP = 72 /* Multihop attempted */,
  85. EDOTDOT = 73 /* RFS specific error */,
  86. EBADMSG = 74 /* Not a data message */,
  87. EOVERFLOW = 75 /* Value too large for defined data type */,
  88. ENOTUNIQ = 76 /* Name not unique on network */,
  89. EBADFD = 77 /* File descriptor in bad state */,
  90. EREMCHG = 78 /* Remote address changed */,
  91. ELIBACC = 79 /* Can not access a needed shared library */,
  92. ELIBBAD = 80 /* Accessing a corrupted shared library */,
  93. ELIBSCN = 81 /* .lib section in a.out corrupted */,
  94. ELIBMAX = 82 /* Attempting to link in too many shared libraries */,
  95. ELIBEXEC = 83 /* Cannot exec a shared library directly */,
  96. EILSEQ = 84 /* Illegal byte sequence */,
  97. ERESTART = 85 /* Interrupted system call should be restarted */,
  98. ESTRPIPE = 86 /* Streams pipe error */,
  99. EUSERS = 87 /* Too many users */,
  100. ENOTSOCK = 88 /* Socket operation on non-socket */,
  101. EDESTADDRREQ = 89 /* Destination address required */,
  102. EMSGSIZE = 90 /* Message too long */,
  103. EPROTOTYPE = 91 /* Protocol wrong type for socket */,
  104. ENOPROTOOPT = 92 /* Protocol not available */,
  105. EPROTONOSUPPORT = 93 /* Protocol not supported */,
  106. ESOCKTNOSUPPORT = 94 /* Socket type not supported */,
  107. EOPNOTSUPP = 95 /* Operation not supported on transport endpoint */,
  108. EPFNOSUPPORT = 96 /* Protocol family not supported */,
  109. EAFNOSUPPORT = 97 /* Address family not supported by protocol */,
  110. EADDRINUSE = 98 /* Address already in use */,
  111. EADDRNOTAVAIL = 99 /* Cannot assign requested address */,
  112. ENETDOWN = 100 /* Network is down */,
  113. ENETUNREACH = 101 /* Network is unreachable */,
  114. ENETRESET = 102 /* Network dropped connection because of reset */,
  115. ECONNABORTED = 103 /* Software caused connection abort */,
  116. ECONNRESET = 104 /* Connection reset by peer */,
  117. ENOBUFS = 105 /* No buffer space available */,
  118. EISCONN = 106 /* Transport endpoint is already connected */,
  119. ENOTCONN = 107 /* Transport endpoint is not connected */,
  120. ESHUTDOWN = 108 /* Cannot send after transport endpoint shutdown */,
  121. ETOOMANYREFS = 109 /* Too many references: cannot splice */,
  122. ETIMEDOUT = 110 /* Connection timed out */,
  123. ECONNREFUSED = 111 /* Connection refused */,
  124. EHOSTDOWN = 112 /* Host is down */,
  125. EHOSTUNREACH = 113 /* No route to host */,
  126. EALREADY = 114 /* Operation already in progress */,
  127. EINPROGRESS = 115 /* Operation now in progress */,
  128. ESTALE = 116 /* Stale file handle */,
  129. EUCLEAN = 117 /* Structure needs cleaning */,
  130. ENOTNAM = 118 /* Not a XENIX named type file */,
  131. ENAVAIL = 119 /* No XENIX semaphores available */,
  132. EISNAM = 120 /* Is a named type file */,
  133. EREMOTEIO = 121 /* Remote I/O error */,
  134. EDQUOT = 122 /* Quota exceeded */,
  135. ENOMEDIUM = 123 /* No medium found */,
  136. EMEDIUMTYPE = 124 /* Wrong medium type */,
  137. ECANCELED = 125 /* Operation Canceled */,
  138. ENOKEY = 126 /* Required key not available */,
  139. EKEYEXPIRED = 127 /* Key has expired */,
  140. EKEYREVOKED = 128 /* Key has been revoked */,
  141. EKEYREJECTED = 129 /* Key was rejected by service */,
  142. /* for robust mutexes */
  143. EOWNERDEAD = 130 /* Owner died */,
  144. ENOTRECOVERABLE = 131 /* State not recoverable */,
  145. ERFKILL = 132 /* Operation not possible due to RF-kill */,
  146. EHWPOISON = 133 /* Memory page has hardware error */,
  147. }
  148. }