/* * 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