58 lines
2.0 KiB
C
58 lines
2.0 KiB
C
/*
|
|
* Copyright (c) 1986 Regents of the University of California.
|
|
* All rights reserved. The Berkeley software License Agreement
|
|
* specifies the terms and conditions for redistribution.
|
|
*
|
|
* @(#)dkbad.h 1.1 (2.10BSD Berkeley) 12/1/86
|
|
*/
|
|
|
|
/*
|
|
* Definitions needed to perform bad sector
|
|
* revectoring ala DEC STD 144.
|
|
*
|
|
* The bad sector information is located in the
|
|
* first 5 even numbered sectors of the last
|
|
* track of the disk pack. There are five
|
|
* identical copies of the information, described
|
|
* by the dkbad structure.
|
|
*
|
|
* Replacement sectors are allocated starting with
|
|
* the first sector before the bad sector information
|
|
* and working backwards towards the beginning of
|
|
* the disk. A maximum of 126 bad sectors are supported.
|
|
* The position of the bad sector in the bad sector table
|
|
* determines which replacement sector it corresponds to.
|
|
*
|
|
* The bad sector information and replacement sectors
|
|
* are conventionally only accessible through the
|
|
* 'c' file system partition of the disk. If that
|
|
* partition is used for a file system, the user is
|
|
* responsible for making sure that it does not overlap
|
|
* the bad sector information or any replacement sector.s
|
|
*/
|
|
|
|
/*
|
|
* The 2.10BSD system defines MAXBAD as 32, not 126, although there
|
|
* should be no problem with increasing that value. It's your basic
|
|
* space tradeoff. Also, 2.10 drivers tend to have the bad sector
|
|
* information available through the 'h' file system partition, although
|
|
* there are exceptions to this rule. Note, this value is also present
|
|
* in the bad144 program.
|
|
*/
|
|
#define MAXBAD 32 /* Maximum bad sectors supported */
|
|
|
|
struct dkbad {
|
|
long bt_csn; /* cartridge serial number */
|
|
u_short bt_mbz; /* unused; should be 0 */
|
|
u_short bt_flag; /* -1 => alignment cartridge */
|
|
struct bt_bad {
|
|
u_short bt_cyl; /* cylinder number of bad sector */
|
|
u_short bt_trksec; /* track and sector number */
|
|
} bt_bad[MAXBAD];
|
|
};
|
|
|
|
#define ECC 0
|
|
#define SSE 1
|
|
#define BSE 2
|
|
#define CONT 3
|