From d4522b8e9854178473adcea0fbb84f23f6e744bd Mon Sep 17 00:00:00 2001 From: Felipe Boeira Date: Tue, 8 Jan 2019 18:39:03 +0100 Subject: Initial commit --- src/devices/disk.h | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 src/devices/disk.h (limited to 'src/devices/disk.h') diff --git a/src/devices/disk.h b/src/devices/disk.h new file mode 100644 index 0000000..3bcbb9a --- /dev/null +++ b/src/devices/disk.h @@ -0,0 +1,26 @@ +#ifndef DEVICES_DISK_H +#define DEVICES_DISK_H + +#include +#include + +/* Size of a disk sector in bytes. */ +#define DISK_SECTOR_SIZE 512 + +/* Index of a disk sector within a disk. + Good enough for disks up to 2 TB. */ +typedef uint32_t disk_sector_t; + +/* Format specifier for printf(), e.g.: + printf ("sector=%"PRDSNu"\n", sector); */ +#define PRDSNu PRIu32 + +void disk_init (void); +void disk_print_stats (void); + +struct disk *disk_get (int chan_no, int dev_no); +disk_sector_t disk_size (struct disk *); +void disk_read (struct disk *, disk_sector_t, void *); +void disk_write (struct disk *, disk_sector_t, const void *); + +#endif /* devices/disk.h */ -- cgit v1.2.1