13e12c5d1SDavid du Colombier typedef struct Disk Disk; 23e12c5d1SDavid du Colombier 33e12c5d1SDavid du Colombier /* 43e12c5d1SDavid du Colombier * Reference to the disk 53e12c5d1SDavid du Colombier */ 63e12c5d1SDavid du Colombier struct Disk 73e12c5d1SDavid du Colombier { 83e12c5d1SDavid du Colombier Bcache; 941fb754aSDavid du Colombier ulong nb; /* number of blocks */ 1041fb754aSDavid du Colombier ulong nab; /* number of allocation blocks */ 113e12c5d1SDavid du Colombier int b2b; /* allocation bits to a block */ 123e12c5d1SDavid du Colombier int p2b; /* Dptr's per page */ 13*7c70c028SDavid du Colombier char name[CACHENAMELEN]; 143e12c5d1SDavid du Colombier }; 153e12c5d1SDavid du Colombier 16*7c70c028SDavid du Colombier int dinit(Disk*, int, int, char*); 173e12c5d1SDavid du Colombier int dformat(Disk*, int, char*, ulong, ulong); 183e12c5d1SDavid du Colombier ulong dalloc(Disk*, Dptr*); 193e12c5d1SDavid du Colombier ulong dpalloc(Disk*, Dptr*); 203e12c5d1SDavid du Colombier int dfree(Disk*, Dptr*); 213e12c5d1SDavid du Colombier 223e12c5d1SDavid du Colombier extern int debug; 233e12c5d1SDavid du Colombier 243e12c5d1SDavid du Colombier #define DPRINT if(debug)fprint 25