syslinux/core/include/disk.h
<<
>>
Prefs
   1#ifndef DISK_H
   2#define DISK_H
   3
   4#include <stddef.h>
   5#include <stdint.h>
   6#include <stdbool.h>
   7
   8typedef uint64_t sector_t;
   9typedef uint64_t block_t;
  10
  11/*
  12 * struct disk: contains the information about a specific disk and also
  13 * contains the I/O function.
  14 */
  15struct disk {
  16    unsigned int disk_number;   /* in BIOS style */
  17    unsigned int sector_size;   /* gener512B or 2048B */
  18    unsigned int sector_shift;
  19    unsigned int maxtransfer;   /* Max sectors per transfer */
  20    
  21    unsigned int h, s;          /* CHS geometry */
  22    unsigned int secpercyl;     /* h*s */
  23    unsigned int _pad;
  24
  25    sector_t part_start;   /* the start address of this partition(in sectors) */
  26
  27    int (*rdwr_sectors)(struct disk *, void *, sector_t, size_t, bool);
  28};
  29
  30extern void read_sectors(char *, sector_t, int);
  31extern void getoneblk(struct disk *, char *, block_t, int);
  32
  33/* diskio.c */
  34struct disk *disk_init(uint8_t, bool, sector_t, uint16_t, uint16_t, uint32_t);
  35struct device *device_init(uint8_t, bool, sector_t, uint16_t, uint16_t, uint32_t);
  36
  37#endif /* DISK_H */
  38
lxr.linux.no kindly hosted by Redpill Linpro AS, provider of Linux consulting and operations services since 1995.