]> wimlib.net Git - wimlib/blobdiff - src/util.h
Preliminary support for native fds (UNIX only so far)
[wimlib] / src / util.h
index ee9598e0909d1f0176595e20e41c10b449509c44..04020e14b455879c0b7eb11ba3f3b0c0e1124411 100644 (file)
@@ -129,7 +129,7 @@ tstr_to_utf8_simple(const tchar *tstr, char **out);
 #define ZERO_ARRAY(array) memset(array, 0, sizeof(array))
 
 /* Used for buffering FILE IO in a few places */
-#define BUFFER_SIZE 4096
+#define BUFFER_SIZE 32768
 
 static inline void FORMAT(printf, 1, 2)
 dummy_tprintf(const tchar *format, ...)
@@ -285,4 +285,23 @@ hash_u64(u64 n)
        return n * 0x9e37fffffffc0001ULL;
 }
 
+typedef int filedes_t;
+
+extern size_t
+full_read(filedes_t fd, void *buf, size_t n);
+
+extern size_t
+full_write(filedes_t fd, const void *buf, size_t n);
+
+extern size_t
+full_pread(filedes_t fd, void *buf, size_t nbyte, off_t offset);
+
+extern size_t
+full_pwrite(int fd, const void *buf, size_t count, off_t offset);
+
+extern off_t
+filedes_offset(filedes_t fd);
+
+#define INVALID_FILEDES (-1)
+
 #endif /* _WIMLIB_UTIL_H */