disk.c (557B)
1 #include <u.h> 2 #include <libc.h> 3 #include <bio.h> 4 #include <diskfs.h> 5 6 Block* 7 diskread(Disk *disk, u32int count, u64int offset) 8 { 9 if(disk == nil) 10 return nil; 11 12 if(!disk->_read){ 13 werrstr("no disk read dispatch function"); 14 return nil; 15 } 16 return (*disk->_read)(disk, count, offset); 17 } 18 19 int 20 disksync(Disk *disk) 21 { 22 if(disk == nil) 23 return 0; 24 if(!disk->_sync) 25 return 0; 26 return (*disk->_sync)(disk); 27 } 28 29 void 30 diskclose(Disk *disk) 31 { 32 if(disk == nil) 33 return; 34 if(!disk->_close){ 35 fprint(2, "no diskClose\n"); 36 abort(); 37 } 38 (*disk->_close)(disk); 39 }