aboutsummaryrefslogtreecommitdiff
path: root/e2fsprogs/ext2fs
diff options
context:
space:
mode:
author"Vladimir N. Oleynik" <dzo@simtreas.ru>2005-09-19 13:48:39 +0000
committer"Vladimir N. Oleynik" <dzo@simtreas.ru>2005-09-19 13:48:39 +0000
commitb71e6024f9ac1bf2c8068a20c93af6a0be630a11 (patch)
tree950358988089069ceae599d89faf0d3e1e5833b6 /e2fsprogs/ext2fs
parent54deebf4e41fd8cee3b5800a08844adc985d2c03 (diff)
downloadbusybox-b71e6024f9ac1bf2c8068a20c93af6a0be630a11.tar.gz
mke2fs.c can compiled for me, more bb_xstrdup and bb_xasprintf usage, remove 1 exporing, ext2fs_llseek/blkid_llseek->llseek
Diffstat (limited to 'e2fsprogs/ext2fs')
-rw-r--r--e2fsprogs/ext2fs/ext2_io.h29
-rw-r--r--e2fsprogs/ext2fs/llseek.c55
2 files changed, 17 insertions, 67 deletions
diff --git a/e2fsprogs/ext2fs/ext2_io.h b/e2fsprogs/ext2fs/ext2_io.h
index e17886c85..190f6c132 100644
--- a/e2fsprogs/ext2fs/ext2_io.h
+++ b/e2fsprogs/ext2fs/ext2_io.h
@@ -1,6 +1,6 @@
/*
* io.h --- the I/O manager abstraction
- *
+ *
* Copyright (C) 1993, 1994, 1995, 1996 Theodore Ts'o.
*
* %Begin-Header%
@@ -22,7 +22,12 @@ typedef long ext2_loff_t;
#endif
/* llseek.c */
-ext2_loff_t ext2fs_llseek (int, ext2_loff_t, int);
+/* ext2_loff_t ext2fs_llseek (int, ext2_loff_t, int); */
+#ifdef CONFIG_LFS
+# define ext2fs_llseek lseek64
+#else
+# define ext2fs_llseek lseek
+#endif
typedef struct struct_io_manager *io_manager;
typedef struct struct_io_channel *io_channel;
@@ -40,8 +45,8 @@ struct struct_io_channel {
void *data,
size_t size,
int actual_bytes_read,
- errcode_t error);
- errcode_t (*write_error)(io_channel channel,
+ errcode_t error);
+ errcode_t (*write_error)(io_channel channel,
unsigned long block,
int count,
const void *data,
@@ -68,9 +73,9 @@ struct struct_io_manager {
errcode_t (*flush)(io_channel channel);
errcode_t (*write_byte)(io_channel channel, unsigned long offset,
int count, const void *data);
- errcode_t (*set_option)(io_channel channel, const char *option,
+ errcode_t (*set_option)(io_channel channel, const char *option,
const char *arg);
- int reserved[14];
+ int reserved[14];
};
#define IO_FLAG_RW 1
@@ -78,17 +83,17 @@ struct struct_io_manager {
/*
* Convenience functions....
*/
-#define io_channel_close(c) ((c)->manager->close((c)))
+#define io_channel_close(c) ((c)->manager->close((c)))
#define io_channel_set_blksize(c,s) ((c)->manager->set_blksize((c),s))
#define io_channel_read_blk(c,b,n,d) ((c)->manager->read_blk((c),b,n,d))
#define io_channel_write_blk(c,b,n,d) ((c)->manager->write_blk((c),b,n,d))
-#define io_channel_flush(c) ((c)->manager->flush((c)))
+#define io_channel_flush(c) ((c)->manager->flush((c)))
#define io_channel_bumpcount(c) ((c)->refcount++)
-
+
/* io_manager.c */
-extern errcode_t io_channel_set_options(io_channel channel,
+extern errcode_t io_channel_set_options(io_channel channel,
const char *options);
-extern errcode_t io_channel_write_byte(io_channel channel,
+extern errcode_t io_channel_write_byte(io_channel channel,
unsigned long offset,
int count, const void *data);
@@ -105,4 +110,4 @@ extern void (*test_io_cb_set_blksize)
(int blksize, errcode_t err);
#endif /* _EXT2FS_EXT2_IO_H */
-
+
diff --git a/e2fsprogs/ext2fs/llseek.c b/e2fsprogs/ext2fs/llseek.c
deleted file mode 100644
index 6bb84bf09..000000000
--- a/e2fsprogs/ext2fs/llseek.c
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * llseek.c -- stub calling the llseek system call
- *
- * Copyright (C) 1994, 1995, 1996, 1997 Theodore Ts'o.
- *
- * %Begin-Header%
- * This file may be redistributed under the terms of the
- * GNU Lesser General Public License.
- * %End-Header%
- */
-
-#if HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-
-#if HAVE_ERRNO_H
-#include <errno.h>
-#endif
-#if HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-
-#include "ext2fs/ext2_io.h"
-
-#ifdef CONFIG_LFS
-# define my_llseek lseek64
-#else
-# define my_llseek lseek
-#endif
-
-ext2_loff_t ext2fs_llseek (int fd, ext2_loff_t offset, int origin)
-{
- ext2_loff_t result;
- static int do_compat = 0;
-
- if ((sizeof(off_t) >= sizeof(ext2_loff_t)) ||
- (offset < ((ext2_loff_t) 1 << ((sizeof(off_t)*8) -1))))
- return lseek(fd, (off_t) offset, origin);
-
- if (do_compat) {
- errno = EINVAL;
- return -1;
- }
-
- result = my_llseek (fd, offset, origin);
- if (result == -1 && errno == ENOSYS) {
- /*
- * Just in case this code runs on top of an old kernel
- * which does not support the llseek system call
- */
- do_compat++;
- errno = EINVAL;
- }
- return result;
-}