+wimlib_printf(const tchar *format, ...) FORMAT(printf, 1, 2);
+#endif /* !__WIN32__ */
+
+extern void
+zap_backslashes(tchar *s);
+
+extern tchar *
+canonicalize_wim_path(const tchar *wim_path);
+
+extern tchar *
+canonicalize_fs_path(const tchar *fs_path);
+
+static inline u64
+hash_u64(u64 n)
+{
+ return n * 0x9e37fffffffc0001ULL;
+}
+
+extern size_t
+full_read(int fd, void *buf, size_t n);
+
+extern size_t
+full_write(int fd, const void *buf, size_t n);
+
+extern size_t
+full_pread(int 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);
+
+#ifdef __WIN32__
+struct iovec {
+ void *iov_base;
+ size_t iov_len;
+};
+#else
+struct iovec;
+#endif
+
+extern size_t
+full_writev(int fd, struct iovec *iov, int iovcnt);
+
+extern off_t
+filedes_offset(int fd);
+
+#ifndef __WIN32__
+# define O_BINARY 0
+#endif