Skip to content
Snippets Groups Projects
Select Git revision
  • e018ea72accb001951f34763c4629a6a9f27a80c
  • master default protected
  • dev-vol
  • tp2
  • tp1
5 results

vol.h

Blame
  • vol.h 925 B
    #if !defined(VOL_H)
    #define VOL_H
    
    #define VOLS_MAX 8
    #define MBR_MAGIC 0xCAFE /* Savoir si le mbr a déjà été initialisé ou non */
    #define FMT_DATA 0xCAFEBABE
    #define FMT_SIZE 0x1
    
    typedef enum
    {
        BASE,
        ANNEXE,
        OTHER
    } vtypes_t; /* Volume type */
    
    typedef struct vol_s
    {
        unsigned int sector;
        unsigned int cylinder;
        unsigned int nb_blocs;
        vtypes_t type;
    } vol_t;
    
    typedef struct mbr_s
    {
        unsigned int magic;
        unsigned int nb_vols; /* nombre de volumes actuels */
        vol_t vols[VOLS_MAX];
    } mbr_t;
    
    mbr_t mbr;
    
    void load_mbr(void);
    void save_mbr(void);
    void get_sector_cylinder(unsigned int vol, unsigned int nbloc, unsigned int *sector_cylinder);
    void read_bloc(unsigned int vol, unsigned int nbloc, unsigned char *buffer);
    void write_bloc(unsigned int vol, unsigned int nbloc, unsigned char *buffer);
    
    void read_sector_n(unsigned char *buf, int cylinder, int sector, int size);
    
    #endif