dosfs.h - vx32 - Local 9vx git repository for patches.
 (HTM) git clone git://r-36.net/vx32
 (DIR) Log
 (DIR) Files
 (DIR) Refs
       ---
       dosfs.h (1467B)
       ---
            1 typedef struct Dosboot        Dosboot;
            2 typedef struct Dos        Dos;
            3 typedef struct Dosdir        Dosdir;
            4 typedef struct Dosfile        Dosfile;
            5 typedef struct Dospart        Dospart;
            6 
            7 struct Dospart
            8 {
            9         uchar flag;                /* active flag */
           10         uchar shead;                /* starting head */
           11         uchar scs[2];                /* starting cylinder/sector */
           12         uchar type;                /* partition type */
           13         uchar ehead;                /* ending head */
           14         uchar ecs[2];                /* ending cylinder/sector */
           15         uchar start[4];                /* starting sector */
           16         uchar len[4];                /* length in sectors */
           17 };
           18 
           19 #define FAT12        0x01
           20 #define FAT16        0x04
           21 #define EXTEND        0x05
           22 #define FATHUGE        0x06
           23 #define FAT32        0x0b
           24 #define FAT32X        0x0c
           25 #define EXTHUGE        0x0f
           26 #define DMDDO        0x54
           27 #define PLAN9        0x39
           28 #define LEXTEND 0x85
           29 
           30 struct Dosfile{
           31         Dos        *dos;                /* owning dos file system */
           32         char        name[8];
           33         char        ext[3];
           34         uchar        attr;
           35         long        length;
           36         long        pstart;                /* physical start cluster address */
           37         long        pcurrent;        /* physical current cluster address */
           38         long        lcurrent;        /* logical current cluster address */
           39         long        offset;
           40 };
           41 
           42 struct Dos{
           43         long        start;                /* start of file system */
           44         int        sectsize;        /* in bytes */
           45         int        clustsize;        /* in sectors */
           46         int        clustbytes;        /* in bytes */
           47         int        nresrv;                /* sectors */
           48         int        nfats;                /* usually 2 */
           49         int        rootsize;        /* number of entries */
           50         int        volsize;        /* in sectors */
           51         int        mediadesc;
           52         int        fatsize;        /* in sectors */
           53         int        fatclusters;
           54         int        fatbits;        /* 12 or 16 */
           55         long        fataddr;        /* sector number */
           56         long        rootaddr;
           57         long        rootclust;
           58         long        dataaddr;
           59         long        freeptr;
           60 };
           61 
           62 extern int        dosinit(Fs*);