diff options
author | alm <alm@FreeBSD.org> | 1994-02-07 22:12:45 +0000 |
---|---|---|
committer | alm <alm@FreeBSD.org> | 1994-02-07 22:12:45 +0000 |
commit | 4c1e7c072c989ed6879361f969396755d5e4d42a (patch) | |
tree | e039d0181aa18308b9b22a1d2ee57e2caad4e7d0 /sys/isa/fdc.h | |
parent | 60fda7adb150fcace6c4fcdfb4f64f763c76ae46 (diff) | |
download | FreeBSD-src-4c1e7c072c989ed6879361f969396755d5e4d42a.zip FreeBSD-src-4c1e7c072c989ed6879361f969396755d5e4d42a.tar.gz |
Tentative fdc patches...
Diffstat (limited to 'sys/isa/fdc.h')
-rw-r--r-- | sys/isa/fdc.h | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/sys/isa/fdc.h b/sys/isa/fdc.h new file mode 100644 index 0000000..3320de3 --- /dev/null +++ b/sys/isa/fdc.h @@ -0,0 +1,38 @@ + +/***********************************************************************\ +* Per controller structure. * +\***********************************************************************/ +struct fdc_data +{ + int fdcu; /* our unit number */ + int baseport; + int dmachan; + int flags; +#define FDC_ATTACHED 0x01 +#define FDC_HASFTAPE 0x02 +#define FDC_TAPE_BUSY 0x04 + struct fd_data *fd; + int fdu; /* the active drive */ + struct buf head; /* Head of buf chain */ + struct buf rhead; /* Raw head of buf chain */ + int state; + int retry; + int status[7]; /* copy of the registers */ +}; + +/***********************************************************************\ +* Throughout this file the following conventions will be used: * +* fd is a pointer to the fd_data struct for the drive in question * +* fdc is a pointer to the fdc_data struct for the controller * +* fdu is the floppy drive unit number * +* fdcu is the floppy controller unit number * +* fdsu is the floppy drive unit number on that controller. (sub-unit) * +\***********************************************************************/ +typedef int fdu_t; +typedef int fdcu_t; +typedef int fdsu_t; +typedef struct fd_data *fd_p; +typedef struct fdc_data *fdc_p; + +#define FDUNIT(s) (((s)>>6)&03) +#define FDTYPE(s) ((s)&077) |