Update errno.odin

This commit is contained in:
avanspector
2024-12-21 16:54:45 +01:00
parent be4748831d
commit cb42b88e13
+91 -6
View File
@@ -5,6 +5,9 @@ import "core:sys/posix"
foreign import libroot "system:c"
USE_POSITIVE_POSIX_ERRORS :: posix._HAIKU_USE_POSITIVE_POSIX_ERRORS
POSIX_ERROR_FACTOR :: posix._POSIX_ERROR_FACTOR
Errno :: enum i32 {
// Error baselines
GENERAL_ERROR_BASE = min(i32),
@@ -109,13 +112,95 @@ Errno :: enum i32 {
PARTIAL_READ = STORAGE_ERROR_BASE + 16,
PARTIAL_WRITE = STORAGE_ERROR_BASE + 17,
EIO = posix.EIO,
EACCES = posix.EACCES,
EINVAL = posix.EINVAL,
ETIMEDOUT = posix.ETIMEDOUT,
EINTR = posix.EINTR,
EAGAIN = posix.EAGAIN,
EWOULDBLOCK = posix.EWOULDBLOCK,
EBUSY = posix.EBUSY,
EPERM = posix.EPERM,
EFAULT = posix.EFAULT,
ENOEXEC = posix.ENOEXEC,
EBADF = posix.EBADF,
EEXIST = posix.EEXIST,
ENOENT = posix.ENOENT,
ENAMETOOLONG = posix.ENAMETOOLONG,
ENOTDIR = posix.ENOTDIR,
ENOTEMPTY = posix.ENOTEMPTY,
ENOSPC = posix.ENOSPC,
EROFS = posix.EROFS,
EISDIR = posix.EISDIR,
EMFILE = posix.EMFILE,
EXDEV = posix.EXDEV,
ELOOP = posix.ELOOP,
EPIPE = posix.EPIPE,
ENOMEM = posix.ENOMEM,
E2BIG = posix.E2BIG,
ECHILD = posix.ECHILD,
EDEADLK = posix.EDEADLK,
EFBIG = posix.EFBIG,
EMLINK = posix.EMLINK,
ENFILE = posix.ENFILE,
ENODEV = posix.ENODEV,
ENOLCK = posix.ENOLCK,
ENOSYS = posix.ENOSYS,
ENOTTY = posix.ENOTTY,
ENXIO = posix.ENXIO,
ESPIPE = posix.ESPIPE,
ESRCH = posix.ESRCH,
EDOM = posix.EDOM,
ERANGE = posix.ERANGE,
EPROTOTYPE = posix.EPROTOTYPE,
EPROTONOSUPPORT = posix.EPROTONOSUPPORT,
EAFNOSUPPORT = posix.EAFNOSUPPORT,
EADDRINUSE = posix.EADDRINUSE,
EADDRNOTAVAIL = posix.EADDRNOTAVAIL,
ENETDOWN = posix.ENETDOWN,
ENETUNREACH = posix.ENETUNREACH,
ENETRESET = posix.ENETRESET,
ECONNABORTED = posix.ECONNABORTED,
ECONNRESET = posix.ECONNRESET,
EISCONN = posix.EISCONN,
ENOTCONN = posix.ENOTCONN,
ECONNREFUSED = posix.ECONNREFUSED,
EHOSTUNREACH = posix.EHOSTUNREACH,
ENOPROTOOPT = posix.ENOPROTOOPT,
ENOBUFS = posix.ENOBUFS,
EINPROGRESS = posix.EINPROGRESS,
EALREADY = posix.EALREADY,
EILSEQ = posix.EILSEQ,
ENOMSG = posix.ENOMSG,
ESTALE = posix.ESTALE,
EOVERFLOW = posix.EOVERFLOW,
EMSGSIZE = posix.EMSGSIZE,
EOPNOTSUPP = posix.EOPNOTSUPP,
ENOTSOCK = posix.ENOTSOCK,
EBADMSG = posix.EBADMSG,
ECANCELED = posix.ECANCELED,
EDESTADDRREQ = posix.EDESTADDRREQ,
EDQUOT = posix.EDQUOT,
EIDRM = posix.EIDRM,
EMULTIHOP = posix.EMULTIHOP,
ENODATA = posix.ENODATA,
ENOLINK = posix.ENOLINK,
ENOSR = posix.ENOSR,
ENOSTR = posix.ENOSTR,
ENOTSUP = posix.ENOTSUP,
EPROTO = posix.EPROTO,
ETIME = posix.ETIME,
ETXTBSY = posix.ETXTBSY,
ENOTRECOVERABLE = posix.ENOTRECOVERABLE,
EOWNERDEAD = posix.EOWNERDEAD,
// New error codes that can be mapped to POSIX errors
TOO_MANY_ARGS = posix.E2BIG,
FILE_TOO_LARGE = posix.EFBIG,
DEVICE_NOT_FOUND = posix.ENODEV,
RESULT_NOT_REPRESENTABLE = posix.ERANGE,
BUFFER_OVERFLOW = posix.EOVERFLOW,
NOT_SUPPORTED = posix.EOPNOTSUPP,
TOO_MANY_ARGS = POSIX_ERROR_FACTOR * E2BIG,
FILE_TOO_LARGE = POSIX_ERROR_FACTOR * EFBIG,
DEVICE_NOT_FOUND = POSIX_ERROR_FACTOR * ENODEV,
RESULT_NOT_REPRESENTABLE = POSIX_ERROR_FACTOR * ERANGE,
BUFFER_OVERFLOW = POSIX_ERROR_FACTOR * EOVERFLOW,
NOT_SUPPORTED = POSIX_ERROR_FACTOR * EOPNOTSUPP,
// Media Kit Errors
STREAM_NOT_FOUND = MEDIA_ERROR_BASE + 0,