3bcbb9a10612d223434bae8b81bd75b72de3d4d4
[pintos-anon] / src / devices / disk.h
1 #ifndef DEVICES_DISK_H
2 #define DEVICES_DISK_H
3
4 #include <inttypes.h>
5 #include <stdint.h>
6
7 /* Size of a disk sector in bytes. */
8 #define DISK_SECTOR_SIZE 512
9
10 /* Index of a disk sector within a disk.
11    Good enough for disks up to 2 TB. */
12 typedef uint32_t disk_sector_t;
13
14 /* Format specifier for printf(), e.g.:
15    printf ("sector=%"PRDSNu"\n", sector); */
16 #define PRDSNu PRIu32
17
18 void disk_init (void);
19 void disk_print_stats (void);
20
21 struct disk *disk_get (int chan_no, int dev_no);
22 disk_sector_t disk_size (struct disk *);
23 void disk_read (struct disk *, disk_sector_t, void *);
24 void disk_write (struct disk *, disk_sector_t, const void *);
25
26 #endif /* devices/disk.h */