You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

blockdev.h 716B

123456789101112131415161718192021222324252627282930313233343536373839
  1. #ifndef _GPXE_BLOCKDEV_H
  2. #define _GPXE_BLOCKDEV_H
  3. /**
  4. * @file
  5. *
  6. * Block devices
  7. *
  8. */
  9. /** A block device */
  10. struct block_device {
  11. /** Block size */
  12. size_t blksize;
  13. /** Total number of blocks */
  14. uint64_t blocks;
  15. /**
  16. * Read block
  17. *
  18. * @v blockdev Block device
  19. * @v block Block number
  20. * @v buffer Data buffer
  21. * @ret rc Return status code
  22. */
  23. int ( * read ) ( struct block_device *blockdev, uint64_t block,
  24. void *buffer );
  25. /**
  26. * Write block
  27. *
  28. * @v blockdev Block device
  29. * @v block Block number
  30. * @v buffer Data buffer
  31. * @ret rc Return status code
  32. */
  33. int ( * write ) ( struct block_device *blockdev, uint64_t block,
  34. const void *buffer );
  35. };
  36. #endif /* _GPXE_BLOCKDEV_H */