* fhandler_tape.cc (mtinfo_drive::_set_pos): Take additional dont_wait
parameter. Use in call to SetTapePosition. (mtinfo_drive::set_pos): Accomodate _set_pos calls to above change. (mtinfo_drive::set_partition): Ditto. * mtinfo.h (mtinfo_drive::_set_pos): Change declaration accordingly.
This commit is contained in:
parent
6f3375a5bf
commit
1facc71a35
@ -1,3 +1,11 @@
|
||||
2004-04-19 Corinna Vinschen <corinna@vinschen.de>
|
||||
|
||||
* fhandler_tape.cc (mtinfo_drive::_set_pos): Take additional dont_wait
|
||||
parameter. Use in call to SetTapePosition.
|
||||
(mtinfo_drive::set_pos): Accomodate _set_pos calls to above change.
|
||||
(mtinfo_drive::set_partition): Ditto.
|
||||
* mtinfo.h (mtinfo_drive::_set_pos): Change declaration accordingly.
|
||||
|
||||
2004-04-16 Corinna Vinschen <corinna@vinschen.de>
|
||||
|
||||
* autoload.cc (NtCreateFile): Add.
|
||||
|
@ -341,11 +341,11 @@ mtinfo_drive::get_pos (HANDLE mt, long *ppartition, long *pblock)
|
||||
}
|
||||
|
||||
int
|
||||
mtinfo_drive::_set_pos (HANDLE mt, int mode, long count,
|
||||
int partition)
|
||||
mtinfo_drive::_set_pos (HANDLE mt, int mode, long count, int partition,
|
||||
BOOL dont_wait)
|
||||
{
|
||||
TAPE_FUNC (SetTapePosition (mt, mode, partition, count,
|
||||
count < 0 ? -1 : 0, FALSE));
|
||||
TAPE_FUNC (SetTapePosition (mt, mode, partition, count, count < 0 ? -1 : 0,
|
||||
dont_wait));
|
||||
dirty = clean;
|
||||
return lasterr;
|
||||
}
|
||||
@ -378,14 +378,14 @@ mtinfo_drive::set_pos (HANDLE mt, int mode, long count,
|
||||
if (mode == TAPE_SPACE_FILEMARKS)
|
||||
{
|
||||
while (!err && undone > 0)
|
||||
if (!(err = _set_pos (mt, mode, 1, 0)) || IS_SM (err))
|
||||
if (!(err = _set_pos (mt, mode, 1, 0, FALSE)) || IS_SM (err))
|
||||
--undone;
|
||||
while (!err && undone < 0)
|
||||
if (!(err = _set_pos (mt, mode, -1, 0)) || IS_SM (err))
|
||||
if (!(err = _set_pos (mt, mode, -1, 0, FALSE)) || IS_SM (err))
|
||||
++undone;
|
||||
}
|
||||
else
|
||||
err = _set_pos (mt, mode, count, dont_wait);
|
||||
err = _set_pos (mt, mode, count, 0, dont_wait);
|
||||
switch (mode)
|
||||
{
|
||||
case TAPE_ABSOLUTE_BLOCK:
|
||||
@ -546,7 +546,7 @@ mtinfo_drive::set_partition (HANDLE mt, long count)
|
||||
else
|
||||
{
|
||||
int part_block = part (count)->block >= 0 ? part (count)->block : 0;
|
||||
int err = _set_pos (mt, TAPE_LOGICAL_BLOCK, part_block, count + 1);
|
||||
int err = _set_pos (mt, TAPE_LOGICAL_BLOCK, part_block, count + 1, FALSE);
|
||||
if (err)
|
||||
{
|
||||
int sav_block = block;
|
||||
|
@ -91,7 +91,7 @@ class mtinfo_drive
|
||||
: ((_dp.FeaturesLow & parm) != 0));
|
||||
}
|
||||
int get_pos (HANDLE mt, long *ppartition = NULL, long *pblock = NULL);
|
||||
int _set_pos (HANDLE mt, int mode, long count, int partition);
|
||||
int _set_pos (HANDLE mt, int mode, long count, int partition, BOOL dont_wait);
|
||||
int create_partitions (HANDLE mt, long count);
|
||||
int set_partition (HANDLE mt, long count);
|
||||
int write_marks (HANDLE mt, int marktype, DWORD count);
|
||||
|
Loading…
Reference in New Issue
Block a user