* header file for standalone package
* inode, cells for the use of seek, etc,
#define F_READ 0x1 /* file opened for reading */
#define F_WRITE 0x2 /* file opened for writing */
#define F_ALLOC 0x4 /* buffer allocated */
#define F_FILE 0x8 /* file instead of device */
#define F_NBSF 0x10 /* no bad sector forwarding */
#define F_ECCLM 0x20 /* limit the number of bad bits accepted in ecc's */
#define F_RDDATA 0x0100 /* read data */
#define F_WRDATA 0x0200 /* write data */
#define F_HDR 0x0400 /* include header on next i/o */
#define F_CHECK 0x0800 /* perform check of data read/write */
#define F_HCHECK 0x1000 /* perform check of header and data */
#define F_TYPEMASK 0xff00
short nsect
; /* number of sectors per track */
short ntrak
; /* number of tracks/surfaces/heads... */
short nspc
; /* number of sectors per cylinder */
short ncyl
; /* number of cylinders */
* request codes. Must be the same a F_XXX above
#define PHYSUBA0 0x20006000
#define PHYSMBA0 0x20010000
#define PHYSMBA1 0x20012000
#define PHYSUMEM 0x2013e000
extern int errno
; /* just like unix */
#define EBADF 1 /* bad file descriptor */
#define EOFFSET 2 /* relative seek not supported */
#define EDEV 3 /* improper device specification on open */
#define ENXIO 4 /* unknown device specified */
#define EUNIT 5 /* improper unit specification */
#define ESRCH 6 /* directory search for file failed */
#define EIO 7 /* generic error */
#define ECMD 10 /* undefined driver command */
#define EBSE 11 /* bad sector error */
#define EWCK 12 /* write check error */
#define EHER 13 /* hard error */
#define EECC 14 /* severe ecc error, sector recorded as bad*/
/* ioctl's -- for disks just now */
#define SAIOHDR (('d'<<8)|1) /* next i/o includes header */
#define SAIOCHECK (('d'<<8)|2) /* next i/o checks data */
#define SAIOHCHECK (('d'<<8)|3) /* next i/o checks header & data */
#define SAIONOBAD (('d'<<8)|4) /* inhibit bad sector forwarding */
#define SAIODOBAD (('d'<<8)|5) /* do bad sector forwarding */
#define SAIOECCLIM (('d'<<8)|6) /* report sectors as bad if more than
* 5 bits are bad in ecc */
#define SAIOECCUNL (('d'<<8)|7) /* use standard ecc procedures */
#define SAIODEVDATA (('d'<<8)|8) /* get device data */
/* codes for sector header word 1 */
#define HDR1_FMT22 0x1000 /* standard 16 bit format */
#define HDR1_OKSCT 0xc000 /* sector ok */