diff options
Diffstat (limited to 'src/libdiskfs/disk.c')
-rw-r--r-- | src/libdiskfs/disk.c | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/src/libdiskfs/disk.c b/src/libdiskfs/disk.c new file mode 100644 index 00000000..001a19de --- /dev/null +++ b/src/libdiskfs/disk.c @@ -0,0 +1,39 @@ +#include <u.h> +#include <libc.h> +#include <bio.h> +#include <diskfs.h> + +Block* +diskread(Disk *disk, u32int count, u64int offset) +{ + if(disk == nil) + return nil; + + if(!disk->_read){ + werrstr("no disk read dispatch function"); + return nil; + } + return (*disk->_read)(disk, count, offset); +} + +int +disksync(Disk *disk) +{ + if(disk == nil) + return 0; + if(!disk->_sync) + return 0; + return (*disk->_sync)(disk); +} + +void +diskclose(Disk *disk) +{ + if(disk == nil) + return; + if(!disk->_close){ + fprint(2, "no diskClose\n"); + abort(); + } + (*disk->_close)(disk); +} |