#ifndef _HD_H #define _HD_H #define hdData 0x0 #define hdError 0x1 #define hdSecCount 0x2 #define hdSecNum 0x3 #define hdCylLow 0x4 #define hdCylHi 0x5 #define hdHead 0x6 #define hdStat 0x7 #define hdCmd 0x7 struct driveInfo { char hdSector[512]; char hdEnable; char hdDev; char hdFlags; char hdShift; long hdMask; long hdMulti; long hdPort; long hdSize; long hdCalc; }; void initHardDisk(); int initDrive(struct driveInfo *); void hdWrite(struct driveInfo *hdd,long startSector,long sectorCount,void *baseAddr); void hdRead(struct driveInfo *hdd,long startSector,long sectorCount,void *baseAddr); extern struct driveInfo *hdd0; extern struct driveInfo *hdd1; extern struct driveInfo *hdd2; extern struct driveInfo *hdd3; #endif