ata.h (1664B)
1 #ifndef STOCKAGE_ATA_ATA_H 2 #define STOCKAGE_ATA_ATA_H 3 4 #define PORT_ATA 0x1f0 5 6 #define PORT_ATA_DONNEES PORT_ATA + 0 7 8 #define PORT_ATA_ERREUR PORT_ATA + 1 9 10 #define PORT_ATA_NOMBRE_SECTEURS PORT_ATA + 2 11 12 #define PORT_ATA_ADRESSE_PARTIELLE_SECTEUR PORT_ATA + 3 13 #define PORT_ATA_ADRESSE_PARTIELLE_SECTEUR_1 PORT_ATA_ADRESSE_PARTIELLE_SECTEUR + 0 14 #define PORT_ATA_ADRESSE_PARTIELLE_SECTEUR_2 PORT_ATA_ADRESSE_PARTIELLE_SECTEUR + 1 15 #define PORT_ATA_ADRESSE_PARTIELLE_SECTEUR_3 PORT_ATA_ADRESSE_PARTIELLE_SECTEUR + 2 16 17 18 #define PORT_ATA_DIVERS PORT_ATA + 6 19 #define PORT_ATA_SELECTION_LECTEUR PORT_ATA_DIVERS 20 #define PORT_ATA_DRAPEAUX PORT_ATA_DIVERS 21 #define PORT_ATA_FIN_ADRESSE_SECTEUR PORT_ATA_DIVERS 22 23 #define PORT_ATA_COMMANDE_ETAT PORT_ATA + 7 24 #define PORT_ATA_COMMANDE PORT_ATA_COMMANDE_ETAT 25 #define PORT_ATA_ETAT PORT_ATA_COMMANDE_ETAT 26 27 #define PORT_ATA_CONTROLE_ETAT_ALTERNATIF 0x3f6 28 #define PORT_ATA_CONTROLE PORT_ATA_CONTROLE_ETAT_ALTERNATIF 29 #define PORT_ATA_ETAT_ALTERNATIF PORT_ATA_CONTROLE_ETAT_ALTERNATIF 30 31 typedef struct AtaOctetEtat { 32 bool srv:1; /* TODO : traduire "Overlapped mode service request" */ 33 bool erreurDisque:1; 34 bool pret:1; 35 bool occupe:1; 36 bool transfertPret:1; 37 uint8 reserve:2; 38 bool erreur; 39 } AtaOctetEtat; 40 41 typedef struct AtaControle { 42 uint8 reserve_b:1; 43 bool interruptions:1; 44 bool reInitialisation:1; 45 uint8 reserve_a:4; 46 bool octetHaut:1; 47 } AtaControle; 48 49 50 typedef struct EtatAta { 51 } EtatAta; 52 53 #endif