diff options
Diffstat (limited to 'debian/grub-extras/disabled/gpxe/src/include/gpxe/blockdev.h')
-rw-r--r-- | debian/grub-extras/disabled/gpxe/src/include/gpxe/blockdev.h | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/debian/grub-extras/disabled/gpxe/src/include/gpxe/blockdev.h b/debian/grub-extras/disabled/gpxe/src/include/gpxe/blockdev.h new file mode 100644 index 0000000..cf28524 --- /dev/null +++ b/debian/grub-extras/disabled/gpxe/src/include/gpxe/blockdev.h @@ -0,0 +1,53 @@ +#ifndef _GPXE_BLOCKDEV_H +#define _GPXE_BLOCKDEV_H + +/** + * @file + * + * Block devices + * + */ + +FILE_LICENCE ( GPL2_OR_LATER ); + +#include <gpxe/uaccess.h> + +struct block_device; + +/** Block device operations */ +struct block_device_operations { + /** + * Read block + * + * @v blockdev Block device + * @v block Block number + * @v count Block count + * @v buffer Data buffer + * @ret rc Return status code + */ + int ( * read ) ( struct block_device *blockdev, uint64_t block, + unsigned long count, userptr_t buffer ); + /** + * Write block + * + * @v blockdev Block device + * @v block Block number + * @v count Block count + * @v buffer Data buffer + * @ret rc Return status code + */ + int ( * write ) ( struct block_device *blockdev, uint64_t block, + unsigned long count, userptr_t buffer ); +}; + +/** A block device */ +struct block_device { + /** Block device operations */ + struct block_device_operations *op; + /** Block size */ + size_t blksize; + /** Total number of blocks */ + uint64_t blocks; +}; + +#endif /* _GPXE_BLOCKDEV_H */ |