xref: /original-bsd/sys/sys/dkbad.h (revision 6c57d260)
1 /*	dkbad.h	4.3	81/05/10	*/
2 
3 /*
4  * Definitions needed to perform bad sector
5  * revectoring ala DEC STD 144.
6  *
7  * The bad sector information is located in the
8  * first 5 even numbered sectors of the last
9  * track of the disk pack.  There are five
10  * identical copies of the information, described
11  * by the dkbad structure.
12  *
13  * Replacement sectors are allocated starting with
14  * the first sector before the bad sector information
15  * and working backwards towards the beginning of
16  * the disk.  A maximum of 126 bad sectors are supported.
17  * The position of the bad sector in the bad sector table
18  * determines which replacement sector it corresponds to.
19  *
20  * The bad sector information and replacement sectors
21  * are conventionally only accessible through the
22  * 'c' file system partition of the disk.  If that
23  * partition is used for a file system, the user is
24  * responsible for making sure that it does not overlap
25  * the bad sector information or any replacement sector.s
26  */
27 
28 struct dkbad {
29 	long	bt_csn;			/* cartridge serial number */
30 	u_short	bt_mbz;			/* unused; should be 0 */
31 	u_short	bt_flag;		/* -1 => alignment cartridge */
32 	struct bt_bad {
33 		u_short	bt_cyl;		/* cylinder number of bad sector */
34 		u_short	bt_trksec;	/* track and sector number */
35 	} bt_bad[126];
36 };
37 
38 #define	ECC	0
39 #define	SSE	1
40 #define	BSE	2
41 #define	CONT	3
42