|
|
@@ -276,4 +276,22 @@ typedef int mbstate_t;
|
|
|
size_t wcrtomb(char *, wchar_t, mbstate_t *);
|
|
|
#endif
|
|
|
|
|
|
+#if defined(_MSC_VER) && _MSC_VER < 1300
|
|
|
+WINBASEAPI BOOL WINAPI GetVolumePathNameW(
|
|
|
+ LPCWSTR lpszFileName,
|
|
|
+ LPWSTR lpszVolumePathName,
|
|
|
+ DWORD cchBufferLength
|
|
|
+ );
|
|
|
+# if _WIN32_WINNT < 0x0500 /* windows.h not providing 0x500 API */
|
|
|
+typedef struct _FILE_ALLOCATED_RANGE_BUFFER {
|
|
|
+ LARGE_INTEGER FileOffset;
|
|
|
+ LARGE_INTEGER Length;
|
|
|
+} FILE_ALLOCATED_RANGE_BUFFER, *PFILE_ALLOCATED_RANGE_BUFFER;
|
|
|
+# define FSCTL_SET_SPARSE \
|
|
|
+ CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 49, METHOD_BUFFERED, FILE_WRITE_DATA)
|
|
|
+# define FSCTL_QUERY_ALLOCATED_RANGES \
|
|
|
+ CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 51, METHOD_NEITHER, FILE_READ_DATA)
|
|
|
+# endif
|
|
|
+#endif
|
|
|
+
|
|
|
#endif /* LIBARCHIVE_ARCHIVE_WINDOWS_H_INCLUDED */
|