#include <ubixfs/ubixfs.h>
#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 {
struct driveDiskLabel *diskLabel;
char hdSector[512];
char hdEnable;
char hdDev;
char hdFlags;
char hdShift;
long hdMask;
long hdMulti;
long hdPort;
long hdSize;
long hdCalc;
long parOffset;
};
void initHardDisk();
void hdWrite(struct driveInfo *hdd,void *,uInt32,uInt32);
void hdRead(struct driveInfo *hdd,void *,uInt32,uInt32);
int hdReset();
int hdIoctl();
int hdStart();
int hdStop();
int hdStandby();
int hdInit(struct deviceNode *dev);
extern struct driveInfo *hdd0;
extern struct driveInfo *hdd1;
extern struct driveInfo *hdd2;
extern struct driveInfo *hdd3;
#endif