mirror of https://github.com/gkostka/lwext4.git
ngkaho1234
9 years ago
3 changed files with 272 additions and 0 deletions
@ -0,0 +1,124 @@ |
|||
--- include/ext4_errno.h 2016-01-25 09:51:20.605385376 +0000
|
|||
+++ include/ext4_errno.h 2016-01-25 09:19:09.410384455 +0000
|
|||
@@ -43,47 +43,95 @@ 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
|
|||
+
|
|||
+#define LWEXT4_EPERM EPERM /* Operation not permitted */
|
|||
+#define LWEXT4_ENOENT ENOENT /* No such file or directory */
|
|||
+#define LWEXT4_EIO EIO /* I/O error */
|
|||
+#define LWEXT4_ENXIO ENXIO /* No such device or address */
|
|||
+#define LWEXT4_E2BIG E2BIG /* Argument list too long */
|
|||
+#define LWEXT4_ENOMEM ENOMEM /* Out of memory */
|
|||
+#define LWEXT4_EACCES EACCES /* Permission denied */
|
|||
+#define LWEXT4_EFAULT EFAULT /* Bad address */
|
|||
+#define LWEXT4_EEXIST EEXIST /* File exists */
|
|||
+#define LWEXT4_ENODEV ENODEV /* No such device */
|
|||
+#define LWEXT4_ENOTDIR ENOTDIR /* Not a directory */
|
|||
+#define LWEXT4_EISDIR EISDIR /* Is a directory */
|
|||
+#define LWEXT4_EINVAL EINVAL /* Invalid argument */
|
|||
+#define LWEXT4_EFBIG EFBIG /* File too large */
|
|||
+#define LWEXT4_ENOSPC ENOSPC /* No space left on device */
|
|||
+#define LWEXT4_EROFS EROFS /* Read-only file system */
|
|||
+#define LWEXT4_EMLINK EMLINK /* Too many links */
|
|||
+#define LWEXT4_ERANGE ERANGE /* Math result not representable */
|
|||
+#define LWEXT4_ENOTEMPTY ENOTEMPTY /* Directory not empty */
|
|||
|
|||
#ifndef ENODATA |
|||
#ifdef ENOATTR |
|||
- #define ENODATA ENOATTR
|
|||
+ #define LWEXT4_ENODATA ENOATTR
|
|||
#else |
|||
- #define ENODATA 61
|
|||
+ #define LWEXT4_ENODATA 61
|
|||
#endif |
|||
+#else
|
|||
+#define LWEXT4_ENODATA ENODATA
|
|||
#endif |
|||
|
|||
#ifndef ENOTSUP |
|||
-#define ENOTSUP 95
|
|||
+#define LWEXT4_ENOTSUP 95
|
|||
+#else
|
|||
+#define LWEXT4_ENOTSUP ENOTSUP
|
|||
#endif |
|||
|
|||
#ifndef EOK |
|||
#define EOK 0 |
|||
#endif |
|||
|
|||
+#define LWEXT4_EOK EOK
|
|||
+
|
|||
+#else /* CONFIG_HAVE_OWN_ERRNO */
|
|||
+
|
|||
+#define LWEXT4_EOK 0
|
|||
+#define LWEXT4_EPERM 1 /* Operation not permitted */
|
|||
+#define LWEXT4_ENOENT 2 /* No such file or directory */
|
|||
+#define LWEXT4_ESRCH 3 /* No such process */
|
|||
+#define LWEXT4_EINTR 4 /* Interrupted system call */
|
|||
+#define LWEXT4_EIO 5 /* I/O error */
|
|||
+#define LWEXT4_ENXIO 6 /* No such device or address */
|
|||
+#define LWEXT4_E2BIG 7 /* Argument list too long */
|
|||
+#define LWEXT4_ENOEXEC 8 /* Exec format error */
|
|||
+#define LWEXT4_EBADF 9 /* Bad file number */
|
|||
+#define LWEXT4_ECHILD 10 /* No child processes */
|
|||
+#define LWEXT4_EAGAIN 11 /* Try again */
|
|||
+#define LWEXT4_ENOMEM 12 /* Out of memory */
|
|||
+#define LWEXT4_EACCES 13 /* Permission denied */
|
|||
+#define LWEXT4_EFAULT 14 /* Bad address */
|
|||
+#define LWEXT4_ENOTBLK 15 /* Block device required */
|
|||
+#define LWEXT4_EBUSY 16 /* Device or resource busy */
|
|||
+#define LWEXT4_EEXIST 17 /* File exists */
|
|||
+#define LWEXT4_EXDEV 18 /* Cross-device link */
|
|||
+#define LWEXT4_ENODEV 19 /* No such device */
|
|||
+#define LWEXT4_ENOTDIR 20 /* Not a directory */
|
|||
+#define LWEXT4_EISDIR 21 /* Is a directory */
|
|||
+#define LWEXT4_EINVAL 22 /* Invalid argument */
|
|||
+#define LWEXT4_ENFILE 23 /* File table overflow */
|
|||
+#define LWEXT4_EMFILE 24 /* Too many open files */
|
|||
+#define LWEXT4_ENOTTY 25 /* Not a typewriter */
|
|||
+#define LWEXT4_ETXTBSY 26 /* Text file busy */
|
|||
+#define LWEXT4_EFBIG 27 /* File too large */
|
|||
+#define LWEXT4_ENOSPC 28 /* No space left on device */
|
|||
+#define LWEXT4_ESPIPE 29 /* Illegal seek */
|
|||
+#define LWEXT4_EROFS 30 /* Read-only file system */
|
|||
+#define LWEXT4_EMLINK 31 /* Too many links */
|
|||
+#define LWEXT4_EPIPE 32 /* Broken pipe */
|
|||
+#define LWEXT4_EDOM 33 /* Math argument out of domain of func */
|
|||
+#define LWEXT4_ERANGE 34 /* Math result not representable */
|
|||
+#define LWEXT4_ENOTEMPTY 39 /* Directory not empty */
|
|||
+#define LWEXT4_ENODATA 61 /* No data available */
|
|||
+#define LWEXT4_ENOTSUP 95 /* Not supported */
|
|||
+
|
|||
+#endif /* CONFIG_HAVE_OWN_ERRNO */
|
|||
+
|
|||
+
|
|||
#ifdef __cplusplus |
|||
} |
|||
#endif |
@ -0,0 +1,83 @@ |
|||
--- include/ext4_oflags.h 2016-01-25 09:51:20.615385376 +0000
|
|||
+++ include/ext4_oflags.h 2016-01-25 09:19:09.420384455 +0000
|
|||
@@ -45,51 +45,37 @@ extern "C" {
|
|||
|
|||
#if CONFIG_HAVE_OWN_OFLAGS |
|||
|
|||
- #ifndef O_RDONLY
|
|||
- #define O_RDONLY 00
|
|||
- #endif
|
|||
-
|
|||
- #ifndef O_WRONLY
|
|||
- #define O_WRONLY 01
|
|||
- #endif
|
|||
-
|
|||
- #ifndef O_RDWR
|
|||
- #define O_RDWR 02
|
|||
- #endif
|
|||
-
|
|||
- #ifndef O_CREAT
|
|||
- #define O_CREAT 0100
|
|||
- #endif
|
|||
-
|
|||
- #ifndef O_EXCL
|
|||
- #define O_EXCL 0200
|
|||
- #endif
|
|||
-
|
|||
- #ifndef O_TRUNC
|
|||
- #define O_TRUNC 01000
|
|||
- #endif
|
|||
-
|
|||
- #ifndef O_APPEND
|
|||
- #define O_APPEND 02000
|
|||
- #endif
|
|||
+ #define LWEXT4_O_RDONLY 00
|
|||
+ #define LWEXT4_O_WRONLY 01
|
|||
+ #define LWEXT4_O_RDWR 02
|
|||
+ #define LWEXT4_O_CREAT 0100
|
|||
+ #define LWEXT4_O_EXCL 0200
|
|||
+ #define LWEXT4_O_TRUNC 01000
|
|||
+ #define LWEXT4_O_APPEND 02000
|
|||
|
|||
/********************************FILE SEEK FLAGS*****************************/ |
|||
|
|||
- #ifndef SEEK_SET
|
|||
- #define SEEK_SET 0
|
|||
- #endif
|
|||
-
|
|||
- #ifndef SEEK_CUR
|
|||
- #define SEEK_CUR 1
|
|||
- #endif
|
|||
-
|
|||
- #ifndef SEEK_END
|
|||
- #define SEEK_END 2
|
|||
- #endif
|
|||
+ #define LWEXT4_SEEK_SET 0
|
|||
+ #define LWEXT4_SEEK_CUR 1
|
|||
+ #define LWEXT4_SEEK_END 2
|
|||
|
|||
#else |
|||
+
|
|||
#include <unistd.h> |
|||
#include <fcntl.h> |
|||
+
|
|||
+ #define LWEXT4_O_RDONLY O_RDONLY
|
|||
+ #define LWEXT4_O_WRONLY O_WRONLY
|
|||
+ #define LWEXT4_O_RDWR O_RDWR
|
|||
+ #define LWEXT4_O_CREAT O_CREAT
|
|||
+ #define LWEXT4_O_EXCL O_EXCL
|
|||
+ #define LWEXT4_O_TRUNC O_TRUNC
|
|||
+ #define LWEXT4_O_APPEND O_APPEND
|
|||
+
|
|||
+ #define LWEXT4_SEEK_SET SEEK_SET
|
|||
+ #define LWEXT4_SEEK_CUR SEEK_CUR
|
|||
+ #define LWEXT4_SEEK_END SEEK_END
|
|||
+
|
|||
#endif |
|||
|
|||
#ifdef __cplusplus |
|||
@@ -101,3 +87,4 @@ extern "C" {
|
|||
/** |
|||
* @} |
|||
*/ |
|||
+
|
@ -0,0 +1,65 @@ |
|||
#!/bin/sh |
|||
|
|||
PREFIX_TO_ADD=LWEXT4 |
|||
EXT4_ERRNO_H=ext4_errno.h |
|||
EXT4_OFLAGS_H=ext4_oflags.h |
|||
USED_ERRNO_FILE=/tmp/used_errno |
|||
USED_OFLAGS_FILE=/tmp/used_oflags |
|||
|
|||
usage() |
|||
{ |
|||
printf "Usage: %s <lwext4_source_patch>" $1 |
|||
exit 1 |
|||
} |
|||
|
|||
if [[ $# -ne 1 ]];then |
|||
usage $0 |
|||
fi |
|||
|
|||
# First change the working directory to destination. |
|||
cd $1 |
|||
if [[ $? -ne 0 ]];then |
|||
exit $? |
|||
fi |
|||
|
|||
# Extract definitions from 2 files. |
|||
sed -n "s/[[:blank:]]*#define \(E[[:alnum:]]\+\)[[:blank:]]\+[[:alnum:]]\+[[:blank:]]*.*/\1/gp" ./include/$EXT4_ERRNO_H > $USED_ERRNO_FILE |
|||
sed -n "s/[[:blank:]]*#define \(O_[[:alpha:]]\+\)[[:blank:]]\+[[:alnum:]]\+[[:blank:]]*.*/\1/gp" ./include/$EXT4_OFLAGS_H > $USED_OFLAGS_FILE |
|||
sed -n "s/[[:blank:]]*#define \(SEEK_[[:alpha:]]\+\)[[:blank:]]\+[[:alnum:]]\+[[:blank:]]*.*/\1/gp" ./include/$EXT4_OFLAGS_H >> $USED_OFLAGS_FILE |
|||
|
|||
# Add prefix to those definjtions. |
|||
|
|||
for errno in $(cat $USED_ERRNO_FILE);do |
|||
echo "For $errno" |
|||
for file in $(find . -name "*.c" | xargs -n 1);do |
|||
if [[ $(basename $file) != $EXT4_ERRNO_H ]];then |
|||
sed -i "s/\\<${errno}\\>/${PREFIX_TO_ADD}_${errno}/g" $file |
|||
fi |
|||
done |
|||
for file in $(find . -name "*.h" | xargs -n 1);do |
|||
if [[ $(basename $file) != $EXT4_ERRNO_H ]];then |
|||
sed -i "s/\\<${errno}\\>/${PREFIX_TO_ADD}_${errno}/g" $file |
|||
fi |
|||
done |
|||
done |
|||
|
|||
for oflags in $(cat $USED_OFLAGS_FILE);do |
|||
echo "For $oflags" |
|||
for file in $(find . -name "*.c" | xargs -n 1);do |
|||
if [[ $(dirname $file) != "./blockdev/"* && \ |
|||
$(basename $file) != $EXT4_OFLAGS_H ]];then |
|||
sed -i "s/\\<${oflags}\\>/${PREFIX_TO_ADD}_${oflags}/g" $file |
|||
fi |
|||
done |
|||
for file in $(find . -name "*.h" | xargs -n 1);do |
|||
if [[ $(dirname $file) != "./blockdev/"* && \ |
|||
$(basename $file) != $EXT4_OFLAGS_H ]];then |
|||
sed -i "s/\\<${oflags}\\>/${PREFIX_TO_ADD}_${oflags}/g" $file |
|||
fi |
|||
done |
|||
done |
|||
|
|||
# Do final patching. |
|||
for patches in $(dirname $0)/*.patch ;do |
|||
patch -p0 < $patches |
|||
done |
Loading…
Reference in new issue