1*206fef1cSDavid du Colombier typedef struct Disk Disk; 2*206fef1cSDavid du Colombier 3*206fef1cSDavid du Colombier /* 4*206fef1cSDavid du Colombier * Reference to the disk (now memory cache) 5*206fef1cSDavid du Colombier */ 6*206fef1cSDavid du Colombier struct Disk 7*206fef1cSDavid du Colombier { 8*206fef1cSDavid du Colombier Bcache; 9*206fef1cSDavid du Colombier ulong nb; /* number of blocks */ 10*206fef1cSDavid du Colombier ulong nab; /* number of allocation blocks */ 11*206fef1cSDavid du Colombier int b2b; /* allocation bits to a block */ 12*206fef1cSDavid du Colombier int p2b; /* Dptr's per page */ 13*206fef1cSDavid du Colombier char name[CACHENAMELEN]; 14*206fef1cSDavid du Colombier }; 15*206fef1cSDavid du Colombier 16*206fef1cSDavid du Colombier int dinit(Disk*, char*, int, char*); 17*206fef1cSDavid du Colombier int dformat(Disk*, char*, char*, ulong, ulong); 18*206fef1cSDavid du Colombier ulong dalloc(Disk*, Dptr*); 19*206fef1cSDavid du Colombier ulong dpalloc(Disk*, Dptr*); 20*206fef1cSDavid du Colombier int dfree(Disk*, Dptr*); 21*206fef1cSDavid du Colombier 22*206fef1cSDavid du Colombier extern int debug; 23*206fef1cSDavid du Colombier 24*206fef1cSDavid du Colombier #define DPRINT if(debug)fprint 25