+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.
}
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;
}
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:
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;
: ((_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);