ref: 02eb05014ff09bbadca174a2924ff2bdbc69b97e
dir: /prefix_patch/ext4_errno.patch/
diff --git a/include/ext4_errno.h b/include/ext4_errno.h
index edf89a9..a4408c7 100644
--- a/include/ext4_errno.h
+++ b/include/ext4_errno.h
@@ -43,46 +43,74 @@ extern "C" {
#include "ext4_config.h"
#if !CONFIG_HAVE_OWN_ERRNO
-#include <errno.h>
-#else
-#define EPERM 1 /* Operation not permitted */
-#define ENOENT 2 /* No such file or directory */
-#define EIO 5 /* I/O error */
-#define ENXIO 6 /* No such device or address */
-#define E2BIG 7 /* Argument list too long */
-#define ENOMEM 12 /* Out of memory */
-#define EACCES 13 /* Permission denied */
-#define EFAULT 14 /* Bad address */
-#define EEXIST 17 /* File exists */
-#define ENODEV 19 /* No such device */
-#define ENOTDIR 20 /* Not a directory */
-#define EISDIR 21 /* Is a directory */
-#define EINVAL 22 /* Invalid argument */
-#define EFBIG 27 /* File too large */
-#define ENOSPC 28 /* No space left on device */
-#define EROFS 30 /* Read-only file system */
-#define EMLINK 31 /* Too many links */
-#define ERANGE 34 /* Math result not representable */
-#define ENOTEMPTY 39 /* Directory not empty */
-#define ENODATA 61 /* No data available */
-#define ENOTSUP 95 /* Not supported */
-#endif
-#ifndef ENODATA
- #ifdef ENOATTR
- #define ENODATA ENOATTR
- #else
- #define ENODATA 61
+ #include <errno.h>
+
+ #define LWEXT4_ERRNO(errno) (errno)
+
+ #ifndef ENODATA
+ #ifdef ENOATTR
+ #define ENOATTR ENOATTR
+ #else
+ #define ENODATA 61
+ #endif
#endif
-#endif
-#ifndef ENOTSUP
-#define ENOTSUP 95
-#endif
+ #ifndef ENOTSUP
+ #define ENOTSUP 95
+ #endif
+
+ #ifndef EOK
+ #define EOK 0
+ #endif
+
+#else /* CONFIG_HAVE_OWN_ERRNO */
+
+ #define LWEXT4_ERRNO(errno) LWEXT4_##errno
+
+ enum ext4_errno {
+ LWEXT4_ERRNO(EOK) = 0,
+ LWEXT4_ERRNO(EPERM) = 1, /* Operation not permitted */
+ LWEXT4_ERRNO(ENOENT) = 2, /* No such file or directory */
+ LWEXT4_ERRNO(ESRCH) = 3, /* No such process */
+ LWEXT4_ERRNO(EINTR) = 4, /* Interrupted system call */
+ LWEXT4_ERRNO(EIO) = 5, /* I/O error */
+ LWEXT4_ERRNO(ENXIO) = 6, /* No such device or address */
+ LWEXT4_ERRNO(E2BIG) = 7, /* Argument list too long */
+ LWEXT4_ERRNO(ENOEXEC) = 8, /* Exec format error */
+ LWEXT4_ERRNO(EBADF) = 9, /* Bad file number */
+ LWEXT4_ERRNO(ECHILD) = 10, /* No child processes */
+ LWEXT4_ERRNO(EAGAIN) = 11, /* Try again */
+ LWEXT4_ERRNO(ENOMEM) = 12, /* Out of memory */
+ LWEXT4_ERRNO(EACCES) = 13, /* Permission denied */
+ LWEXT4_ERRNO(EFAULT) = 14, /* Bad address */
+ LWEXT4_ERRNO(ENOTBLK) = 15, /* Block device required */
+ LWEXT4_ERRNO(EBUSY) = 16, /* Device or resource busy */
+ LWEXT4_ERRNO(EEXIST) = 17, /* File exists */
+ LWEXT4_ERRNO(EXDEV) = 18, /* Cross-device link */
+ LWEXT4_ERRNO(ENODEV) = 19, /* No such device */
+ LWEXT4_ERRNO(ENOTDIR) = 20, /* Not a directory */
+ LWEXT4_ERRNO(EISDIR) = 21, /* Is a directory */
+ LWEXT4_ERRNO(EINVAL) = 22, /* Invalid argument */
+ LWEXT4_ERRNO(ENFILE) = 23, /* File table overflow */
+ LWEXT4_ERRNO(EMFILE) = 24, /* Too many open files */
+ LWEXT4_ERRNO(ENOTTY) = 25, /* Not a typewriter */
+ LWEXT4_ERRNO(ETXTBSY) = 26, /* Text file busy */
+ LWEXT4_ERRNO(EFBIG) = 27, /* File too large */
+ LWEXT4_ERRNO(ENOSPC) = 28, /* No space left on device */
+ LWEXT4_ERRNO(ESPIPE) = 29, /* Illegal seek */
+ LWEXT4_ERRNO(EROFS) = 30, /* Read-only file system */
+ LWEXT4_ERRNO(EMLINK) = 31, /* Too many links */
+ LWEXT4_ERRNO(EPIPE) = 32, /* Broken pipe */
+ LWEXT4_ERRNO(EDOM) = 33, /* Math argument out of domain of func */
+ LWEXT4_ERRNO(ERANGE) = 34, /* Math result not representable */
+ LWEXT4_ERRNO(ENOTEMPTY) = 39, /* Directory not empty */
+ LWEXT4_ERRNO(ENODATA) = 61, /* No data available */
+ LWEXT4_ERRNO(ENOTSUP) = 95 /* Not supported */
+ };
+
+#endif /* CONFIG_HAVE_OWN_ERRNO */
-#ifndef EOK
-#define EOK 0
-#endif
#ifdef __cplusplus
}