Changeset View
Changeset View
Standalone View
Standalone View
sys/boot/common/disk.c
Show First 20 Lines • Show All 227 Lines • ▼ Show 20 Lines | disk_print(struct disk_devdesc *dev, char *prefix, int verbose) | ||||
od = (struct open_disk *)dev->d_opendata; | od = (struct open_disk *)dev->d_opendata; | ||||
pa.dev = dev; | pa.dev = dev; | ||||
pa.prefix = prefix; | pa.prefix = prefix; | ||||
pa.verbose = verbose; | pa.verbose = verbose; | ||||
ptable_iterate(od->table, &pa, ptable_print); | ptable_iterate(od->table, &pa, ptable_print); | ||||
} | } | ||||
int | int | ||||
disk_read(struct disk_devdesc *dev, void *buf, off_t offset, u_int blocks) | |||||
{ | |||||
struct open_disk *od; | |||||
int ret; | |||||
od = (struct open_disk *)dev->d_opendata; | |||||
ret = dev->d_dev->dv_strategy(dev, F_READ, dev->d_offset + offset, | |||||
blocks * od->sectorsize, buf, NULL); | |||||
return (ret); | |||||
} | |||||
int | |||||
disk_write(struct disk_devdesc *dev, void *buf, off_t offset, u_int blocks) | |||||
{ | |||||
struct open_disk *od; | |||||
int ret; | |||||
od = (struct open_disk *)dev->d_opendata; | |||||
ret = dev->d_dev->dv_strategy(dev, F_WRITE, dev->d_offset + offset, | |||||
blocks * od->sectorsize, buf, NULL); | |||||
return (ret); | |||||
} | |||||
int | |||||
disk_ioctl(struct disk_devdesc *dev, u_long cmd, void *buf) | |||||
{ | |||||
if (dev->d_dev->dv_ioctl) | |||||
return ((*dev->d_dev->dv_ioctl)(dev, cmd, buf)); | |||||
return (ENXIO); | |||||
} | |||||
int | |||||
disk_open(struct disk_devdesc *dev, off_t mediasize, u_int sectorsize, | disk_open(struct disk_devdesc *dev, off_t mediasize, u_int sectorsize, | ||||
u_int flags) | u_int flags) | ||||
{ | { | ||||
struct open_disk *od; | struct open_disk *od; | ||||
struct ptable *table; | struct ptable *table; | ||||
struct ptable_entry part; | struct ptable_entry part; | ||||
int rc, slice, partition; | int rc, slice, partition; | ||||
▲ Show 20 Lines • Show All 250 Lines • Show Last 20 Lines |