Du kannst nicht mehr als 25 Themen auswählen Themen müssen mit entweder einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

disk.h 1.6KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. #ifndef DISK_H
  2. #define DISK_H
  3. #include "etherboot.h" /* for sector_t */
  4. #include "dev.h"
  5. /*
  6. * Structure returned from disk_probe and passed to other driver
  7. * functions.
  8. */
  9. struct disk
  10. {
  11. struct dev dev; /* This must come first */
  12. int (*read)(struct disk *, sector_t sector);
  13. unsigned int drive;
  14. unsigned long hw_sector_size; /* The hardware sector size for dealing
  15. * with partition tables and the like.
  16. * Must be >= 512
  17. */
  18. unsigned int sectors_per_read; /* The number of 512 byte sectors
  19. * returned by each read call.
  20. * All I/O must be aligned to this size.
  21. */
  22. unsigned int bytes; /* The number of bytes in the read buffer. */
  23. sector_t sectors; /* The number of sectors on the drive. */
  24. sector_t sector; /* The first sector in the driver buffer */
  25. unsigned char *buffer; /* The data read from the drive */
  26. void *priv; /* driver can hang private data here */
  27. unsigned long disk_offset;
  28. int direction;
  29. };
  30. struct disk_operations {
  31. };
  32. extern struct disk disk;
  33. extern int url_file(const char *name,
  34. int (*fnc)(unsigned char *, unsigned int, unsigned int, int));
  35. extern int disk_probe(struct dev *dev);
  36. extern int disk_load_configuration(struct dev *dev);
  37. extern int disk_load(struct dev *dev);
  38. extern void disk_disable(void);
  39. extern struct type_driver disk_driver;
  40. #ifndef DOWNLOAD_PROTO_DISK
  41. #define disk_disable() do { } while(0)
  42. #endif
  43. #define SECTOR_SIZE 512
  44. #define SECTOR_SHIFT 9
  45. /* Maximum block_size that may be set. */
  46. #define DISK_BUFFER_SIZE (18 * SECTOR_SIZE)
  47. #endif /* DISK_H */