#ifndef _FTAPE_CTL_H #define _FTAPE_CTL_H /* * Copyright (C) 1993-1995 Bas Laarhoven. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. * $Source: /home/bas/distr/ftape-2.03b/RCS/ftape-ctl.h,v $ $Author: bas $ * $Revision: 1.4 $ $Date: 1995/05/03 18:04:03 $ $State: Beta $ * * This file contains the non-standard IOCTL related definitions * for the QIC-40/80 floppy-tape driver for Linux. */ #include #include #include "vendors.h" typedef struct { int used; /* any reading or writing done */ /* isr statistics */ unsigned int id_am_errors; /* id address mark not found */ unsigned int id_crc_errors; /* crc error in id address mark */ unsigned int data_am_errors; /* data address mark not found */ unsigned int data_crc_errors; /* crc error in data field */ unsigned int overrun_errors; /* fdc access timing problem */ unsigned int no_data_errors; /* sector not found */ unsigned int retries; /* number of tape retries */ /* ecc statistics */ unsigned int crc_errors; /* crc error in data */ unsigned int crc_failures; /* bad data without crc error */ unsigned int ecc_failures; /* failed to correct */ unsigned int corrected; /* total sectors corrected */ /* general statistics */ unsigned int rewinds; /* number of tape rewinds */ unsigned int defects; /* bad sectors due to media defects */ } history_record; /* * ftape-ctl.c defined global vars. */ extern int ftape_failure; extern int write_protected; extern ftape_offline; extern int formatted; extern int no_tape; extern history_record history; extern int ftape_data_rate; extern int going_offline; extern vendor_struct drive_type; extern int segments_per_track; extern int segments_per_head; extern int segments_per_cylinder; extern int tracks_per_tape; extern int ftape_seg_pos; extern int first_data_segment; extern int ftape_state; extern int read_only; /* * ftape-ctl.c defined global functions. */ extern int _ftape_open(void); extern int _ftape_close(void); extern int _ftape_ioctl(unsigned int command, void *arg); extern int ftape_seek_to_bot(void); extern int ftape_seek_to_eot(void); extern int ftape_new_cartridge(void); extern int ftape_abort_operation(void); extern void ftape_reset_position(void); extern void ftape_calc_timeouts(void); extern void ftape_init_driver(void); #endif