xref: /original-bsd/sys/vax/vax/dkbad.c (revision 26e4b21d)
1 /*	dkbad.c	4.3	81/05/10	*/
2 
3 #ifndef NOBADSECT
4 #include "../h/param.h"
5 #include "../h/buf.h"
6 #include "../h/dkbad.h"
7 
8 /*
9  * Search the bad sector table looking for
10  * the specified sector.  Return index if found.
11  * Return -1 if not found.
12  */
13 
14 isbad(bt, cyl, trk, sec)
15 	register struct dkbad *bt;
16 {
17 	register int i;
18 	register long blk, bblk;
19 
20 	blk = ((long)cyl << 16) + (trk << 8) + sec;
21 	for (i = 0; i < 126; i++) {
22 		bblk = ((long)bt->bt_bad[i].bt_cyl << 16) + bt->bt_bad[i].bt_trksec;
23 		if (blk == bblk)
24 			return (i);
25 		if (blk < bblk || bblk < 0)
26 			break;
27 	}
28 	return (-1);
29 }
30 #endif
31