X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?p=pintos-anon;a=blobdiff_plain;f=src%2Fdevices%2Fdisk.h;h=3bcbb9a10612d223434bae8b81bd75b72de3d4d4;hp=1d5fecc7db363408c411f3c6130e021a85b19bb4;hb=bb940d21474958a1d8ee2abffdcb6bac27918398;hpb=f09512e71e50d7be09249e7b87b270906ed8e499 diff --git a/src/devices/disk.h b/src/devices/disk.h index 1d5fecc..3bcbb9a 100644 --- a/src/devices/disk.h +++ b/src/devices/disk.h @@ -1,18 +1,26 @@ -#ifndef HEADER_DISK_H -#define HEADER_DISK_H 1 +#ifndef DEVICES_DISK_H +#define DEVICES_DISK_H #include #include +/* Size of a disk sector in bytes. */ #define DISK_SECTOR_SIZE 512 -typedef uint32_t disk_sector_no; -#define PRDSNu PRId32 /* For use with printk(). */ +/* 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_no disk_size (struct disk *); -void disk_read (struct disk *, disk_sector_no, void *); -void disk_write (struct disk *, disk_sector_no, const void *); +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 /* disk.h */ +#endif /* devices/disk.h */