w32api:
* include/winioctl.h (FSCTL_SET_SPARSE): Define. cygwin: * wincap.h (wincaps::supports_sparse_files): New flag. (wincapc::supports_sparse_files): New method. * wincap.cc (wincap_unknown): Define value for the new flag. (wincap_95): Ditto. (wincap_95osr2): Ditto. (wincap_98): Ditto. (wincap_98se): Ditto. (wincap_me): Ditto. (wincap_nt3): Ditto. (wincap_nt4): Ditto. (wincap_nt4sp4): Ditto. (wincap_2000): Ditto. (wincap_xp): Ditto. * path.h (path_conv::fs_flags): New method. * fhandler_disk_file.cc: Include winioctl.h for DeviceIoControl. (fhandler_disk_file::open): Set newly created and truncated files as sparse on platforms that support it.
This commit is contained in:
@@ -49,6 +49,7 @@ struct wincaps
|
||||
unsigned has_process_io_counters : 1;
|
||||
unsigned supports_reading_modem_output_lines : 1;
|
||||
unsigned needs_memory_protection : 1;
|
||||
unsigned supports_sparse_files : 1;
|
||||
};
|
||||
|
||||
class wincapc
|
||||
@@ -102,6 +103,7 @@ public:
|
||||
bool IMPLEMENT (has_process_io_counters)
|
||||
bool IMPLEMENT (supports_reading_modem_output_lines)
|
||||
bool IMPLEMENT (needs_memory_protection)
|
||||
bool IMPLEMENT (supports_sparse_files)
|
||||
|
||||
#undef IMPLEMENT
|
||||
};
|
||||
|
Reference in New Issue
Block a user