[SYS2]Parcourir partition logique

Voir le sujet précédent Voir le sujet suivant Aller en bas

[SYS2]Parcourir partition logique

Message  Florent le Mar 12 Fév 2013, 16:08

Bonjour,

Je tente de parcourir les partitions logiques en plus des primaires mais mon programme revient à chaque fois sur la même!

Pour se faire j'ai modifier la structure ETP
Code:

typedef struct ETP {   // Entrée Table des Partitions
   unsigned char fill[8];
   int f; //n secteur<
   int s; //taille en secteur
} __attribute__ ((packed)) ETP;  //éviter l'alignement des données

typedef struct MBR {
    unsigned char code[442];
    unsigned char signature[4];
    ETP TablePart[4];
    unsigned char bootable[2];
} __attribute__ ((packed)) MBR;

afin d'avoir sur 2 int ou se trouve la partition en secteur et sa taille

Ensuite je récupère le EBR de la première partition logique et j'avance au fur et à mesure

Code:

f = struMBR.TablePart[i].f*512struEBR.TablePart[1].f*512;
while (f != 0{
lseek64(h,f,SEEK_SET);
read(h,&struEBR,512);
printf("partiton etendue %d taille %d next %d\n",struEBR.TablePart[0].f,struEBR.TablePart[0].s,struEBR.TablePart[1].f);
f = struEBR.TablePart[1].f*512         
}

Merci de votre aide Smile

Florent

Nombre de messages : 93
Prénom : Florent
Date d'inscription : 02/02/2010

Revenir en haut Aller en bas

Re: [SYS2]Parcourir partition logique

Message  mvh le Mar 12 Fév 2013, 16:26

[quelques questions en marge]
  • cela existe ... des partitions logiques ?
  • ne doit-on pas dire unités logiques ?
  • quelle est la différence entre partition et unité ?

[/quelques questions en marge]

_________________

La fête c'est nul sans Kidibul !
... (vieux proverbe local)



mvh

Nombre de messages : 5973
Age : 104
Prénom : Marcel VANHAELEN
Statut : (fin de bail)
Win 3.1 à reprendre
Localisation : Koekeliek de Baselberg
Date d'inscription : 06/12/2006

Revenir en haut Aller en bas

Re: [SYS2]Parcourir partition logique

Message  mba le Mer 13 Fév 2013, 23:03

Code:

f = struMBR.TablePart[i].f*512struEBR.TablePart[1].f*512;

et quelle est la taille de ta variable f ? pour bien faire tu dois prévoir 64 bits :
pour exprimer 2exp32 secteurs de 512 bytes en bytes

Code:

printf("partiton etendue %d taille %d next %d\n",struEBR.TablePart[0].f,struEBR.TablePart[0].s,struEBR.TablePart[1].f);
le %d du printf ne marchera sans doute pas pour une valeur sur 64 bits ...

mba

Nombre de messages : 1493
Statut : prof
Localisation : Lessines
Date d'inscription : 07/10/2006

Revenir en haut Aller en bas

Re: [SYS2]Parcourir partition logique

Message  nvs le Jeu 14 Fév 2013, 10:24

mba a écrit:
Code:

f = struMBR.TablePart[i].f*512struEBR.TablePart[1].f*512;

et quelle est la taille de ta variable f ? pour bien faire tu dois prévoir 64 bits :
pour exprimer 2exp32 secteurs de 512 bytes en bytes

Code:

printf("partiton etendue %d taille %d next %d\n",struEBR.TablePart[0].f,struEBR.TablePart[0].s,struEBR.TablePart[1].f);
le %d du printf ne marchera sans doute pas pour une valeur sur 64 bits ...
pour se garantir un entier sur 64 bits, un petit tour par ici et ici semble s'imposer...





cyclops

_________________

nvs

Nombre de messages : 5238
Age : 44
Prénom : Nicolas
Statut : prof
Localisation : bxl
Date d'inscription : 24/11/2005

http://nvansteenkiste.googlepages.com

Revenir en haut Aller en bas

Re: [SYS2]Parcourir partition logique

Message  Florent le Ven 15 Fév 2013, 15:50

Merci de votre aide j'en prends notes!

Florent

Nombre de messages : 93
Prénom : Florent
Date d'inscription : 02/02/2010

Revenir en haut Aller en bas

Re: [SYS2]Parcourir partition logique

Message  Contenu sponsorisé Aujourd'hui à 01:08


Contenu sponsorisé


Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum