patch-2.1.66 linux/drivers/char/ftape/ftape-rw.h
Next file: linux/drivers/char/ftape/ftape-write.c
Previous file: linux/drivers/char/ftape/ftape-rw.c
Back to the patch index
Back to the overall index
- Lines: 174
- Date:
Wed Dec 31 16:00:00 1969
- Orig file:
v2.1.65/linux/drivers/char/ftape/ftape-rw.h
- Orig date:
Mon Sep 30 00:39:58 1996
diff -u --recursive --new-file v2.1.65/linux/drivers/char/ftape/ftape-rw.h linux/drivers/char/ftape/ftape-rw.h
@@ -1,173 +0,0 @@
-#ifndef _FTAPE_RW_H
-#define _FTAPE_RW_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-rw.h,v $
- $Author: bas $
- *
- $Revision: 1.33 $
- $Date: 1995/04/22 07:30:15 $
- $State: Beta $
- *
- * This file contains the definitions for the read and write
- * functions for the QIC-117 floppy-tape driver for Linux.
- *
- */
-
-#include "fdc-io.h"
-#include "kernel-interface.h"
-
-#define GET2( address, offset) *(short*)(address + offset)
-#define GET4( address, offset) *(long*)(address + offset)
-#define PUT2( address, offset, value) *(short*)(address + offset) = value
-#define PUT4( address, offset, value) *(long*)(address + offset) = value
-
-enum runner_status_enum {
- idle = 0,
- running,
- do_abort,
- aborting,
- logical_eot,
- end_of_tape,
- buffer_overrun,
- buffer_underrun,
-};
-
-typedef struct {
- byte *address;
- volatile buffer_state_enum status;
- volatile byte *ptr;
- volatile unsigned bytes;
- volatile unsigned segment_id;
-
- /* bitmap for remainder of segment not yet handled.
- * one bit set for each bad sector that must be skipped.
- */
- volatile unsigned long bad_sector_map;
-
- /* bitmap with bad data blocks in data buffer.
- * the errors in this map may be retried.
- */
- volatile unsigned long soft_error_map;
-
- /* bitmap with bad data blocks in data buffer
- * the errors in this map may not be retried.
- */
- volatile unsigned long hard_error_map;
-
- /* retry counter for soft errors.
- */
- volatile int retry;
-
- /* sectors to skip on retry ???
- */
- volatile unsigned int skip;
-
- /* nr of data blocks in data buffer
- */
- volatile unsigned data_offset;
-
- /* offset in segment for first sector to be handled.
- */
- volatile unsigned sector_offset;
-
- /* size of cluster of good sectors to be handled.
- */
- volatile unsigned sector_count;
-
- /* size of remaining part of segment to be handled.
- */
- volatile unsigned remaining;
-
- /* points to next segment (contiguous) to be handled,
- * or is zero if no read-ahead is allowed.
- */
- volatile unsigned next_segment;
-
- /* flag being set if deleted data was read.
- */
- volatile int deleted;
-
- volatile byte head;
- volatile byte cyl;
- volatile byte sect;
-} buffer_struct;
-
-typedef struct {
- int active;
- int error;
- int offset;
-} ftape_fast_start_struct;
-
-typedef struct {
- int id;
- int size;
- int free;
-} ftape_last_segment_struct;
-
-typedef struct {
- int track; /* tape head position */
- volatile int known; /* validates bot, segment, sector */
- volatile int bot; /* logical begin of track */
- volatile int eot; /* logical end of track */
- volatile int segment; /* current segment */
- volatile int sector; /* sector offset within current segment */
-} location_record;
-
-typedef enum {
- fmt_normal = 2, fmt_1100ft = 3, fmt_wide = 4, fmt_425ft = 5
-} format_type;
-
-/* ftape-rw.c defined global vars.
- */
-extern int tracing;
-extern byte trace_id;
-extern buffer_struct buffer[];
-extern location_record location;
-extern volatile ftape_fast_start_struct ftape_fast_start;
-extern byte deblock_buffer[(SECTORS_PER_SEGMENT - 3) * SECTOR_SIZE];
-extern byte scratch_buffer[(SECTORS_PER_SEGMENT - 3) * SECTOR_SIZE];
-extern ftape_last_segment_struct ftape_last_segment;
-extern int header_segment_1;
-extern int header_segment_2;
-extern int used_header_segment;
-extern unsigned int fast_seek_segment_time;
-extern volatile int tape_running;
-extern format_type format_code;
-
-/* ftape-rw.c defined global functions.
- */
-extern int count_ones(unsigned long mask);
-extern int valid_segment_no(unsigned segment);
-extern int setup_new_segment(buffer_struct * buff, unsigned int segment_id,
- int offset);
-extern int calc_next_cluster(buffer_struct * buff);
-extern buffer_struct *next_buffer(volatile int *x);
-extern int ftape_read_id(void);
-extern void ftape_tape_parameters(byte drive_configuration);
-extern int wait_segment(buffer_state_enum state);
-extern int ftape_dumb_stop(void);
-extern int ftape_start_tape(int segment_id, int offset);
-
-/* fdc-io.c defined global functions.
- */
-extern int setup_fdc_and_dma(buffer_struct * buff, byte operation);
-
-#endif /* _FTAPE_RW_H */
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov