From 80c74a5f38a4b1dfe3eaf072cc5ac6f5379d9a5d Mon Sep 17 00:00:00 2001 From: Corinna Vinschen Date: Mon, 15 Mar 2004 11:37:37 +0000 Subject: Fix ChangeLog dates. * fhandler.h (fhandler_dev_tape::tape_get_pos): Declare with extra parameter for partition number. (fhandler_dev_tape::_tape_set_pos): Ditto. (fhandler_dev_tape::tape_partition): New method. (fhandler_dev_tape::tape_set_partition): New method. * fhandler_tape.cc (fhandler_dev_tape::open): Call private methods directly instead of ioctl. (fhandler_dev_tape::ioctl): Use long erase on MTERASE by default. Don't use absolute positioning on MTSEEK. Call tape_set_partition on MTSETPART, tape_partition on MTMKPART. (fhandler_dev_tape::tape_get_pos): Add partition number parameter. Prefer logical position information over absolute position information. Return partition number. (fhandler_dev_tape::_tape_set_pos): Add partition number parameter. Use in SetTapePosition. (fhandler_dev_tape::tape_set_pos): Remove special TAPE_ABSOLUTE_BLOCK handling. (fhandler_dev_tape::tape_erase): Rewind before erasing. (fhandler_dev_tape::tape_status): Rearrange slightly. Try to get a MediaType even if no tape is loaded. Store active partition in mt_resid as on Linux. (fhandler_dev_tape::tape_partition): New method. (fhandler_dev_tape::tape_set_partition): New method. * include/cygwin/mtio.h: Fix copyright. Add comment to explain mt_resid content. * include/cygwin/version.h: Bump API minor number. --- winsup/cygwin/fhandler.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'winsup/cygwin/fhandler.h') diff --git a/winsup/cygwin/fhandler.h b/winsup/cygwin/fhandler.h index dbbac2c12..9d3a56ac0 100644 --- a/winsup/cygwin/fhandler.h +++ b/winsup/cygwin/fhandler.h @@ -607,14 +607,16 @@ class fhandler_dev_tape: public fhandler_dev_raw } int tape_error (const char *txt); int tape_write_marks (int marktype, DWORD len); - int tape_get_pos (unsigned long *ret); + int tape_get_pos (unsigned long *block, unsigned long *partition = NULL); int tape_set_pos (int mode, long count, bool sfm_func = false); - int _tape_set_pos (int mode, long count); + int _tape_set_pos (int mode, long count, int partition = 0); int tape_erase (int mode); int tape_prepare (int action); int tape_set_blocksize (long count); int tape_status (struct mtget *get); int tape_compression (long count); + int tape_partition (long count); + int tape_set_partition (long count); }; /* Standard disk file */ -- cgit v1.2.3