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