* of the GNU Lesser General Public License.
*/
-#ifndef _UCW_LFS_H
-#define _UCW_LFS_H
+#ifndef _UCW_IO_H
+#define _UCW_IO_H
#include <fcntl.h>
#include <unistd.h>
-#ifdef CONFIG_LFS
+#ifdef CONFIG_UCW_LARGE_FILES
#define ucw_open open64
#define ucw_seek lseek64
#define ucw_fstat fstat64
typedef struct stat64 ucw_stat_t;
-#else /* !CONFIG_LFS */
+#else /* !CONFIG_UCW_LARGE_FILES */
#define ucw_open open
#define ucw_seek(f,o,w) lseek(f,o,w)
#define ucw_fstat fstat
typedef struct stat ucw_stat_t;
-#endif /* !CONFIG_LFS */
+#endif /* !CONFIG_UCW_LARGE_FILES */
#if defined(_POSIX_SYNCHRONIZED_IO) && (_POSIX_SYNCHRONIZED_IO > 0)
#define ucw_fdatasync fdatasync
#define HAVE_PREAD
-static inline ucw_off_t
-ucw_file_size(const char *name)
-{
- int fd = ucw_open(name, O_RDONLY);
- if (fd < 0)
- die("Cannot open %s: %m", name);
- ucw_off_t len = ucw_seek(fd, 0, SEEK_END);
- close(fd);
- return len;
-}
-
-#endif /* !_UCW_LFS_H */
+/* io-size.c */
+
+ucw_off_t ucw_file_size(const char *name);
+
+/* io-mmap.c */
+
+void *mmap_file(const char *name, unsigned *len, int writeable);
+void munmap_file(void *start, unsigned len);
+
+/* io-careful.c */
+
+int careful_read(int fd, void *buf, int len);
+int careful_write(int fd, const void *buf, int len);
+
+/* io-sync.c */
+
+void sync_dir(const char *name);
+
+#endif /* !_UCW_IO_H */