00001 #include <ubixfs/ubixfs.h>
00002
00003 #ifndef _HD_H
00004 #define _HD_H
00005
00006 #define hdData 0x0
00007 #define hdError 0x1
00008 #define hdSecCount 0x2
00009 #define hdSecNum 0x3
00010 #define hdCylLow 0x4
00011 #define hdCylHi 0x5
00012 #define hdHead 0x6
00013 #define hdStat 0x7
00014 #define hdCmd 0x7
00015
00016
00017 struct driveInfo {
00018 struct driveDiskLabel *diskLabel;
00019 char hdSector[512];
00020 char hdEnable;
00021 char hdDev;
00022 char hdFlags;
00023 char hdShift;
00024 long hdMask;
00025 long hdMulti;
00026 long hdPort;
00027 long hdSize;
00028 long hdCalc;
00029 };
00030
00031 void initHardDisk();
00032 void hdWrite(struct driveInfo *hdd,void *,uInt32,uInt32);
00033 void hdRead(struct driveInfo *hdd,void *,uInt32,uInt32);
00034 int hdReset();
00035 int hdIoctl();
00036 int hdStart();
00037 int hdStop();
00038 int hdStandby();
00039 int hdInit(struct deviceNode *dev);
00040
00041 extern struct driveInfo *hdd0;
00042 extern struct driveInfo *hdd1;
00043 extern struct driveInfo *hdd2;
00044 extern struct driveInfo *hdd3;
00045
00046 #endif
00047