diff options
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 |
commit | b71e6024f9ac1bf2c8068a20c93af6a0be630a11 (patch) | |
tree | 950358988089069ceae599d89faf0d3e1e5833b6 /e2fsprogs/ext2fs | |
parent | 54deebf4e41fd8cee3b5800a08844adc985d2c03 (diff) | |
download | busybox-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.h | 29 | ||||
-rw-r--r-- | e2fsprogs/ext2fs/llseek.c | 55 |
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; -} |