Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3245 connectés 

  FORUM HardWare.fr
  Programmation
  C

  Accès à un disque SCSI

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Accès à un disque SCSI

n°1045504
zoran8000
Juste quelques hommes...justes
Posté le 13-04-2005 à 11:07:36  profilanswer
 

Bonjour à tous !
 
Je dispose d'un code source en C qui réalise la chose suivante : il active la première partition d'un disque et désactive les trois autres.
 
Mon problème, c'est qu'il marche très bien pour un disque branché en IDE, mais walou pour un disque en SCSI.
 
Donc est-ce que quelqu'un saurait me dire les modifications à apporter pour le rendre compatible en SCSI ?
 
Merci
 

Code :
  1. #include <dos.h>
  2. // Source pour activer la 1ère partition du premier disque
  3. //  et desactiver les autres partitions du même disque
  4. //  ( IDE0 maître )
  5. struct Partition
  6. {
  7.   unsigned char flag;
  8.   char description[15];
  9. };
  10. struct Mbr
  11. {
  12.   char bootCode[0x1BE];
  13.   struct Partition table[4];
  14.   char signature[2];
  15. };
  16. int main()
  17. {
  18. struct Mbr mbr;
  19. union REGS r, rout;
  20. struct SREGS sr;
  21. sr.es=FP_SEG(&mbr);
  22. r.x.bx=FP_OFF(&mbr);
  23. r.x.ax= 0x201;                  // lecture d'un secteur
  24. r.h.dl= 0x80;                   // 1er disque
  25.    r.x.cx= 1;                      // 1er secteur
  26. r.h.dh= 0;                      // piste 0 et tête 0
  27. int86x(0x13, &r, &rout, &sr);   // 1ère lecture factice au cas où le lecteur serait arrêté
  28. int86x(0x13, &r, &r, &sr);
  29. if( r.x.cflag )
  30.  return 1;           // erreur de lecteur
  31. else
  32. {
  33.  mbr.table[0].flag= 0x80;      // 1ère partition
  34.  mbr.table[1].flag= 0x80;      // 2ème partition
  35.  mbr.table[2].flag= 0x80;      // 3ème partition
  36.  mbr.table[3].flag= 0x80;      // 4ème partition
  37.  sr.es=FP_SEG(&mbr);
  38.  r.x.bx=FP_OFF(&mbr);
  39.  r.x.ax= 0x301;                // écriture d'un secteur
  40.  r.h.dl= 0x80;                 // 1er disque
  41.  r.x.cx= 1;                    // 1er sercteur
  42.  r.h.dh= 0;                    // piste 0 et tête 0
  43.  int86x(0x13, &r, &r, &sr);
  44.  if( r.x.cflag )
  45.   return 2;
  46.  else
  47.   return 0;
  48. }
  49. }

mood
Publicité
Posté le 13-04-2005 à 11:07:36  profilanswer
 

n°1045523
cricri_
Posté le 13-04-2005 à 11:16:36  profilanswer
 

Suis pas spécialiste, mais de mémoire le code n'est pas du tout adapté à du SCSII, ça c'est pour de l'IDE et c'est tout à priori, et encore ça me semble un peu sauvage ..
 
L'accès au SCSII est totalement différent, il faut que tu trouves de la doc, ça se fait avec des sortes de requêtes READ/WRITE il me semble ...

n°1045559
zoran8000
Juste quelques hommes...justes
Posté le 13-04-2005 à 11:29:59  profilanswer
 

cricri_ a écrit :

Suis pas spécialiste, mais de mémoire le code n'est pas du tout adapté à du SCSII, ça c'est pour de l'IDE et c'est tout à priori, et encore ça me semble un peu sauvage ..


C'est bien pour ca que je demande si il est exploitable pour du SCSI : parce qu'il ne marche qu'en IDE !  :sweat:  
 
Je vais taché de trouver de la doc. SI quelqu'un a des adresses ....  :D  

n°1046146
zoran8000
Juste quelques hommes...justes
Posté le 13-04-2005 à 16:49:25  profilanswer
 

up ?

n°1047417
zoran8000
Juste quelques hommes...justes
Posté le 14-04-2005 à 14:44:42  profilanswer
 

up ?


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  Accès à un disque SCSI

 

Sujets relatifs
Modélisation d'une base pour accès optimisé en lectureBloquer l'accès à un dossier SANS Htaccess
login avec acces creation repertoir et uploadCommande pour avoir l'espace disque utilisé ?
[C#.NET]logiciel GNU et acces a une base de données fichier ?solution pour probleme d´applet signé mais sans accés disque ou socket
Probleme d'acces a mon site [urgentissime]Accés lecteur réseaux avec login et pass
[MFC] Violation d'accès en lecture ? pourquoi ? 
Plus de sujets relatifs à : Accès à un disque SCSI


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR