• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /* ----------------------------------------------------------------------- *
2  *
3  *   Copyright 2009 Pierre-Alexandre Meyer
4  *
5  *   This file is part of Syslinux, and is made available under
6  *   the terms of the GNU General Public License version 2.
7  *
8  * ----------------------------------------------------------------------- */
9 
10 #ifndef _ERRNO_DISK_H
11 #define _ERRNO_DISK_H
12 
13 extern int errno_disk;
14 
15 /* Prefix with ED to avoid confusion with errno */
16 #define	EDINV	0x01		/* Invalid function in AH or invalid parameter */
17 #define	EDADDR	0x02		/* Address mark not found */
18 #define	EDRO	0x03		/* Disk write-protected */
19 #define	EDNOFND	0x04		/* Sector not found/read error */
20 #define	EDRFAIL	0x05		/* Reset failed (hard disk) */
21 #define	EDCHANG	0x06		/* Disk changed (floppy) */
22 #define	EDFAIL	0x07		/* Drive parameter activity failed (hard disk) */
23 #define	EDDMA	0x08		/* DMA overrun */
24 #define	EDBOUND	0x09		/* Data boundary error (attempted DMA across 64K boundary or >80h sectors) */
25 #define	EDBADS	0x0A		/* Bad sector detected (hard disk) */
26 #define	EDBADT	0x0B		/* Bad track detected (hard disk) */
27 #define	EDINVM	0x0C		/* Unsupported track or invalid media */
28 #define	EDINVS	0x0D		/* Invalid number of sectors on format (PS/2 hard disk) */
29 #define	EDADDRM	0x0E		/* Control data address mark detected (hard disk) */
30 #define	EDDMARG	0x0F		/* DMA arbitration level out of range (hard disk) */
31 #define	EDCRCF	0x10		/* Uncorrectable CRC or ECC error on read */
32 #define	EDCRCV	0x11		/* Data ECC corrected (hard disk) */
33 #define	EDCTRL	0x20		/* Controller failure */
34 #define	EDMEDIA	0x31		/* No media in drive (IBM/MS INT 13 extensions) */
35 #define	EDCMOS	0x32		/* Incorrect drive type stored in CMOS (Compaq) */
36 #define	EDSEEKF	0x40		/* Seek failed */
37 #define	EDTIME	0x80		/* Timeout (not ready) */
38 #define	EDREADY	0xAA		/* Drive not ready (hard disk) */
39 #define	EDNLOCK	0xB0		/* Volume not locked in drive (INT 13 extensions) */
40 #define	EDLOCK	0xB1		/* Volume locked in drive (INT 13 extensions) */
41 #define	EDREMOV	0xB2		/* Volume not removable (INT 13 extensions) */
42 #define	EDUSED	0xB3		/* Volume in use (INT 13 extensions) */
43 #define	EDCOUNT	0xB4		/* Lock count exceeded (INT 13 extensions) */
44 #define	EDEJF	0xB5		/* Valid eject request failed (INT 13 extensions) */
45 #define	EDUNKOWN	0xBB	/* Undefined error (hard disk) */
46 #define	EDWF	0xCC		/* Write fault (hard disk) */
47 #define	EDRF	0xE0		/* Status register error (hard disk) */
48 #define	EDSF	0xFF		/* Sense operation failed (hard disk) */
49 
50 #endif /* _ERRNO_DISK_H */
51