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=5f89d1de1c3e1048da31484bcbea371f7f8b83e6;hb=bb940d21474958a1d8ee2abffdcb6bac27918398;hpb=8ed1dcfb47df08fa29070c8543453926cecdcd34 diff --git a/src/devices/disk.h b/src/devices/disk.h index 5f89d1d..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); -struct disk *disk_get (int idx); -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 *); +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 /* disk.h */ +#endif /* devices/disk.h */