ref: 06382010385758c11ab9e643751c88c7e969ca34
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 }