shithub: lwext4

ref: 966cb0dd4ef6fdc79610b147871d39422408e2ee
dir: /prefix_patch/ext4_errno.patch/

View raw version
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
 }