diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2011-01-11 17:50:45 +0300 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2011-01-11 17:50:45 +0300 |
commit | 95a5c969ab3016e3ea79ef2c3ea705cb12dc69e5 (patch) | |
tree | f890a7b4d90f6d03cfea7d6cc37009489056199b /winsup/cygwin/wincap.cc | |
parent | 5837aa428fd812d89e54ebccdbe96bafd271b453 (diff) |
* fhandler.h (MAX_PARTITIONS): New definition.
(class fhandler_dev_floppy): Add partitions array member. Add close
method.
* fhandler_floppy.cc (fhandler_dev_floppy::fhandler_dev_floppy): Zero
out partitions array.
(fhandler_dev_floppy::open): Fix "entire disk" condition for call to
DeviceIoControl (FSCTL_ALLOW_EXTENDED_DASD_IO).
When opening disks for writing, call DeviceIoControl (FSCTL_LOCK_VOLUME)
on all affected disk partitions starting with Vista.
(fhandler_dev_floppy::close): New method.
(fhandler_dev_floppy::dup): Duplicate handles in partitions, if any.
* wincap.h (wincaps::has_restricted_raw_disk_access): New element.
* wincap.cc: Implement above element throughout.
Diffstat (limited to 'winsup/cygwin/wincap.cc')
-rw-r--r-- | winsup/cygwin/wincap.cc | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/winsup/cygwin/wincap.cc b/winsup/cygwin/wincap.cc index 7f1688516..c6fe7cde3 100644 --- a/winsup/cygwin/wincap.cc +++ b/winsup/cygwin/wincap.cc @@ -2,7 +2,7 @@ capability class to the appropriate values. Copyright 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, - 2009, 2010 Red Hat, Inc. + 2009, 2010, 2011 Red Hat, Inc. This file is part of Cygwin. @@ -61,6 +61,7 @@ wincaps wincap_nt4sp4 __attribute__((section (".cygwin_dll_common"), shared)) = has_mwmo_inputavailable:false, has_buggy_thread_startup:false, has_fast_cwd:false, + has_restricted_raw_disk_access:false, }; wincaps wincap_2000 __attribute__((section (".cygwin_dll_common"), shared)) = { @@ -101,6 +102,7 @@ wincaps wincap_2000 __attribute__((section (".cygwin_dll_common"), shared)) = { has_mwmo_inputavailable:true, has_buggy_thread_startup:false, has_fast_cwd:false, + has_restricted_raw_disk_access:false, }; wincaps wincap_2000sp4 __attribute__((section (".cygwin_dll_common"), shared)) = { @@ -141,6 +143,7 @@ wincaps wincap_2000sp4 __attribute__((section (".cygwin_dll_common"), shared)) = has_mwmo_inputavailable:true, has_buggy_thread_startup:false, has_fast_cwd:false, + has_restricted_raw_disk_access:false, }; wincaps wincap_xp __attribute__((section (".cygwin_dll_common"), shared)) = { @@ -181,6 +184,7 @@ wincaps wincap_xp __attribute__((section (".cygwin_dll_common"), shared)) = { has_mwmo_inputavailable:true, has_buggy_thread_startup:false, has_fast_cwd:false, + has_restricted_raw_disk_access:false, }; wincaps wincap_xpsp1 __attribute__((section (".cygwin_dll_common"), shared)) = { @@ -221,6 +225,7 @@ wincaps wincap_xpsp1 __attribute__((section (".cygwin_dll_common"), shared)) = { has_mwmo_inputavailable:true, has_buggy_thread_startup:false, has_fast_cwd:false, + has_restricted_raw_disk_access:false, }; wincaps wincap_xpsp2 __attribute__((section (".cygwin_dll_common"), shared)) = { @@ -261,6 +266,7 @@ wincaps wincap_xpsp2 __attribute__((section (".cygwin_dll_common"), shared)) = { has_mwmo_inputavailable:true, has_buggy_thread_startup:false, has_fast_cwd:false, + has_restricted_raw_disk_access:false, }; wincaps wincap_2003 __attribute__((section (".cygwin_dll_common"), shared)) = { @@ -301,6 +307,7 @@ wincaps wincap_2003 __attribute__((section (".cygwin_dll_common"), shared)) = { has_mwmo_inputavailable:true, has_buggy_thread_startup:false, has_fast_cwd:false, + has_restricted_raw_disk_access:false, }; wincaps wincap_vista __attribute__((section (".cygwin_dll_common"), shared)) = { @@ -341,6 +348,7 @@ wincaps wincap_vista __attribute__((section (".cygwin_dll_common"), shared)) = { has_mwmo_inputavailable:true, has_buggy_thread_startup:true, has_fast_cwd:true, + has_restricted_raw_disk_access:true, }; wincaps wincap_7 __attribute__((section (".cygwin_dll_common"), shared)) = { @@ -381,6 +389,7 @@ wincaps wincap_7 __attribute__((section (".cygwin_dll_common"), shared)) = { has_mwmo_inputavailable:true, has_buggy_thread_startup:false, has_fast_cwd:true, + has_restricted_raw_disk_access:true, }; wincapc wincap __attribute__((section (".cygwin_dll_common"), shared)); |