From: Michael Brown Date: Sat, 13 May 2006 11:36:30 +0000 (+0000) Subject: Defined a block device interface. X-Git-Tag: v0.9.3~1425 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8638a5e4719cbea018ebe24340f2cdcb3bc70582;p=thirdparty%2Fipxe.git Defined a block device interface. --- diff --git a/src/include/gpxe/blockdev.h b/src/include/gpxe/blockdev.h new file mode 100644 index 000000000..59f5bf746 --- /dev/null +++ b/src/include/gpxe/blockdev.h @@ -0,0 +1,39 @@ +#ifndef _GPXE_BLOCKDEV_H +#define _GPXE_BLOCKDEV_H + +/** + * @file + * + * Block devices + * + */ + +/** A block device */ +struct block_device { + /** Block size */ + size_t blksize; + /** Total number of blocks */ + uint64_t blocks; + /** + * Read block + * + * @v blockdev Block device + * @v block Block number + * @v buffer Data buffer + * @ret rc Return status code + */ + int ( * read ) ( struct block_device *blockdev, uint64_t block, + void *buffer ); + /** + * Write block + * + * @v blockdev Block device + * @v block Block number + * @v buffer Data buffer + * @ret rc Return status code + */ + int ( * write ) ( struct block_device *blockdev, uint64_t block, + const void *buffer ); +}; + +#endif /* _GPXE_BLOCKDEV_H */