X-Git-Url: https://wimlib.net/git/?p=wimlib;a=blobdiff_plain;f=include%2Fwimlib%2Ffile_io.h;h=61ae78b9e270aee622376346a68e0eff7ad18af0;hp=de59cfa07d8b9be48d0a1efcb123c1b5f1723c91;hb=723d5dbc1705200082f640453f19233a386bc655;hpb=61db93f82eca3fe9f7676355c709c58cc425a6ad diff --git a/include/wimlib/file_io.h b/include/wimlib/file_io.h index de59cfa0..61ae78b9 100644 --- a/include/wimlib/file_io.h +++ b/include/wimlib/file_io.h @@ -1,9 +1,13 @@ #ifndef _WIMLIB_FILE_IO_H #define _WIMLIB_FILE_IO_H +#include #include #include +/* Wrapper around a file descriptor that keeps track of offset (including in + * pipes, which don't support lseek()) and a cached flag that tells whether the + * file descriptor is a pipe or not. */ struct filedes { int fd; unsigned int is_pipe : 1; @@ -22,24 +26,6 @@ full_write(struct filedes *fd, const void *buf, size_t n); extern int full_pwrite(struct filedes *fd, const void *buf, size_t count, off_t offset); -extern ssize_t -raw_pread(struct filedes *fd, void *buf, size_t nbyte, off_t offset); - -extern ssize_t -raw_pwrite(struct filedes *fd, const void *buf, size_t count, off_t offset); - -#ifdef __WIN32__ -struct iovec { - void *iov_base; - size_t iov_len; -}; -#else -struct iovec; -#endif - -extern int -full_writev(struct filedes *fd, struct iovec *iov, int iovcnt); - #ifndef __WIN32__ # define O_BINARY 0 #endif @@ -62,11 +48,6 @@ static inline void filedes_invalidate(struct filedes *fd) fd->fd = -1; } -static inline void filedes_copy(struct filedes *dst, const struct filedes *src) -{ - *dst = *src; -} - #define filedes_close(f) close((f)->fd) static inline bool