plan9port

[fork] Plan 9 from user space
git clone git://src.adamsgaard.dk/plan9port # fast
git clone https://src.adamsgaard.dk/plan9port.git # slow
Log | Files | Refs | README | LICENSE Back to index

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 }