* autoload.cc: Add load statement for `NtOpenFile'.
* fhandler.h (fhandler_dev_raw::get_unit): New method. (fhandler_dev_tape::norewind): Eliminate. (fhandler_dev_tape::is_rewind_device): New method. * fhandler_raw.cc (fhandler_dev_raw::open): Open new fixed device name devices using NT internal method. Keep calling fhandler_base::open() for old mount table device mapping compatibility devices. (fhandler_dev_raw::fstat): Eliminate. Settings are done by fhandler_base::fstat() already. * fhandler_tape.cc: Remove `norewind' usage throughout. * ntdll.h: Define FILE_SYNCHRONOUS_IO_NONALERT. Define struct _IO_STATUS_BLOCK. Declare NtOpenFile(). * path.cc (get_raw_device_number): Add new approach for using fixed device names. (win32_device_name): Ditto. (get_device_number): Ditto. Require POSIX path to begin with "/dev/". (mount_info::conv_to_win32_path): Call win32_device_name() instead of get_device_number() after evaluating mount points to allow changing the win32 destination path again. * security.cc (str2buf2uni): Remove `static' to be able to call function from fhandler_dev_raw::open(). * wincap.cc: Set flag has_raw_devices appropriately. * wincap.h: Add flag has_raw_devices.
This commit is contained in:
@@ -29,7 +29,6 @@ details. */
|
||||
void
|
||||
fhandler_dev_tape::clear (void)
|
||||
{
|
||||
norewind = 0;
|
||||
lasterr = 0;
|
||||
fhandler_dev_raw::clear ();
|
||||
}
|
||||
@@ -66,7 +65,6 @@ fhandler_dev_tape::open (path_conv *real_path, int flags, mode_t)
|
||||
{
|
||||
int ret;
|
||||
|
||||
norewind = (real_path->get_unitn () >= 128);
|
||||
devbufsiz = 1L;
|
||||
|
||||
ret = fhandler_dev_raw::open (real_path, flags);
|
||||
@@ -132,7 +130,7 @@ fhandler_dev_tape::close (void)
|
||||
// To protected reads on signaling (e.g. Ctrl-C)
|
||||
eof_detected = 1;
|
||||
|
||||
if (! norewind)
|
||||
if (is_rewind_device ())
|
||||
{
|
||||
debug_printf ("rewinding\n");
|
||||
op.mt_op = MTREW;
|
||||
@@ -153,7 +151,7 @@ fhandler_dev_tape::fstat (struct stat *buf, path_conv *pc)
|
||||
{
|
||||
int ret;
|
||||
|
||||
if (!(ret = fhandler_dev_raw::fstat (buf, pc)))
|
||||
if (!(ret = fhandler_base::fstat (buf, pc)))
|
||||
{
|
||||
struct mtget get;
|
||||
|
||||
@@ -227,7 +225,6 @@ fhandler_dev_tape::dup (fhandler_base *child)
|
||||
{
|
||||
fhandler_dev_tape *fhc = (fhandler_dev_tape *) child;
|
||||
|
||||
fhc->norewind = norewind;
|
||||
fhc->lasterr = lasterr;
|
||||
return fhandler_dev_raw::dup (child);
|
||||
}
|
||||
|
Reference in New Issue
Block a user