summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/wincap.cc
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2004-03-14 18:01:45 +0000
committerCorinna Vinschen <corinna@vinschen.de>2004-03-14 18:01:45 +0000
commit6644f5097cdadf7e1747a7d23418e4ba8d03e350 (patch)
tree9cd2c36465d4457872b68f96a6c293a1d308c46a /winsup/cygwin/wincap.cc
parent83a74ea24a7e60c31858571cb521d2da4ca310f2 (diff)
downloadcygnal-6644f5097cdadf7e1747a7d23418e4ba8d03e350.tar.gz
cygnal-6644f5097cdadf7e1747a7d23418e4ba8d03e350.tar.bz2
cygnal-6644f5097cdadf7e1747a7d23418e4ba8d03e350.zip
* errno.cc (errmap): Map ERROR_BEGINNING_OF_MEDIA and
ERROR_SETMARK_DETECTED to EIO instead of ESPIPE. Handle ERROR_FILEMARK_DETECTED. * fhandler_tape.cc (TAPE_FUNC): Add comment that ERROR_BUS_RESET has still to be handled correctly. (fhandler_dev_tape::open): Accomodate fact that get.mt_dsreg also contains density code. (fhandler_dev_tape::ioctl): Rearrange slightly. Reset devbuf also on MTNOP, MTWSM, MTSETBLK, MTSETDRVBUFFER, MTSETPART and MTMKPART. (fhandler_dev_tape::tape_set_pos): Rearrange. Match behaviour to the Linux tape driver. (fhandler_dev_tape::tape_status): Call IOCTL_STORAGE_GET_MEDIA_TYPES_EX if available. Return device type and density code in appropriate mtget members. * wincap.h (wincaps::has_ioctl_storage_get_media_types_ex): New element. * wincap.cc: Implement above element throughout. * include/cygwin/mtio.h: Add tape device types as returned by IOCTL_STORAGE_GET_MEDIA_TYPES_EX. (MT_TAPE_INFO): Use above type codes. (struct mtget): Change mt_dsreg comment.
Diffstat (limited to 'winsup/cygwin/wincap.cc')
-rw-r--r--winsup/cygwin/wincap.cc36
1 files changed, 24 insertions, 12 deletions
diff --git a/winsup/cygwin/wincap.cc b/winsup/cygwin/wincap.cc
index dfa9a6db2..4018a6e62 100644
--- a/winsup/cygwin/wincap.cc
+++ b/winsup/cygwin/wincap.cc
@@ -52,7 +52,8 @@ static NO_COPY wincaps wincap_unknown = {
pty_needs_alloc_console:false,
has_terminal_services:false,
has_switch_to_thread:false,
- cant_debug_dll_entry:false
+ cant_debug_dll_entry:false,
+ has_ioctl_storage_get_media_types_ex:false
};
static NO_COPY wincaps wincap_95 = {
@@ -96,7 +97,8 @@ static NO_COPY wincaps wincap_95 = {
pty_needs_alloc_console:false,
has_terminal_services:false,
has_switch_to_thread:false,
- cant_debug_dll_entry:true
+ cant_debug_dll_entry:true,
+ has_ioctl_storage_get_media_types_ex:false
};
static NO_COPY wincaps wincap_95osr2 = {
@@ -140,7 +142,8 @@ static NO_COPY wincaps wincap_95osr2 = {
pty_needs_alloc_console:false,
has_terminal_services:false,
has_switch_to_thread:false,
- cant_debug_dll_entry:true
+ cant_debug_dll_entry:true,
+ has_ioctl_storage_get_media_types_ex:false
};
static NO_COPY wincaps wincap_98 = {
@@ -184,7 +187,8 @@ static NO_COPY wincaps wincap_98 = {
pty_needs_alloc_console:false,
has_terminal_services:false,
has_switch_to_thread:false,
- cant_debug_dll_entry:true
+ cant_debug_dll_entry:true,
+ has_ioctl_storage_get_media_types_ex:false
};
static NO_COPY wincaps wincap_98se = {
@@ -228,7 +232,8 @@ static NO_COPY wincaps wincap_98se = {
pty_needs_alloc_console:false,
has_terminal_services:false,
has_switch_to_thread:false,
- cant_debug_dll_entry:true
+ cant_debug_dll_entry:true,
+ has_ioctl_storage_get_media_types_ex:false
};
static NO_COPY wincaps wincap_me = {
@@ -272,7 +277,8 @@ static NO_COPY wincaps wincap_me = {
pty_needs_alloc_console:false,
has_terminal_services:false,
has_switch_to_thread:false,
- cant_debug_dll_entry:true
+ cant_debug_dll_entry:true,
+ has_ioctl_storage_get_media_types_ex:false
};
static NO_COPY wincaps wincap_nt3 = {
@@ -316,7 +322,8 @@ static NO_COPY wincaps wincap_nt3 = {
pty_needs_alloc_console:true,
has_terminal_services:false,
has_switch_to_thread:false,
- cant_debug_dll_entry:false
+ cant_debug_dll_entry:false,
+ has_ioctl_storage_get_media_types_ex:false
};
static NO_COPY wincaps wincap_nt4 = {
@@ -360,7 +367,8 @@ static NO_COPY wincaps wincap_nt4 = {
pty_needs_alloc_console:true,
has_terminal_services:false,
has_switch_to_thread:true,
- cant_debug_dll_entry:false
+ cant_debug_dll_entry:false,
+ has_ioctl_storage_get_media_types_ex:false
};
static NO_COPY wincaps wincap_nt4sp4 = {
@@ -404,7 +412,8 @@ static NO_COPY wincaps wincap_nt4sp4 = {
pty_needs_alloc_console:true,
has_terminal_services:false,
has_switch_to_thread:true,
- cant_debug_dll_entry:false
+ cant_debug_dll_entry:false,
+ has_ioctl_storage_get_media_types_ex:false
};
static NO_COPY wincaps wincap_2000 = {
@@ -448,7 +457,8 @@ static NO_COPY wincaps wincap_2000 = {
pty_needs_alloc_console:true,
has_terminal_services:true,
has_switch_to_thread:true,
- cant_debug_dll_entry:false
+ cant_debug_dll_entry:false,
+ has_ioctl_storage_get_media_types_ex:false
};
static NO_COPY wincaps wincap_xp = {
@@ -492,7 +502,8 @@ static NO_COPY wincaps wincap_xp = {
pty_needs_alloc_console:true,
has_terminal_services:true,
has_switch_to_thread:true,
- cant_debug_dll_entry:false
+ cant_debug_dll_entry:false,
+ has_ioctl_storage_get_media_types_ex:true
};
static NO_COPY wincaps wincap_2003 = {
@@ -536,7 +547,8 @@ static NO_COPY wincaps wincap_2003 = {
pty_needs_alloc_console:true,
has_terminal_services:true,
has_switch_to_thread:true,
- cant_debug_dll_entry:false
+ cant_debug_dll_entry:false,
+ has_ioctl_storage_get_media_types_ex:true
};
wincapc wincap;