2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>

* disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
        (struct grub_biosdisk_dap): Likewise.

        * include/grub/i386/pc/biosdisk.h: ... to here.  Also corrected
        linkage settings for all functions.
This commit is contained in:
chaac 2006-07-29 10:11:01 +00:00
parent 90ce5d5630
commit 5915059b61
3 changed files with 65 additions and 46 deletions

View file

@ -26,46 +26,6 @@
#include <grub/err.h>
#include <grub/term.h>
/* Drive Parameters. */
struct grub_biosdisk_drp
{
grub_uint16_t size;
grub_uint16_t flags;
grub_uint32_t cylinders;
grub_uint32_t heads;
grub_uint32_t sectors;
grub_uint64_t total_sectors;
grub_uint16_t bytes_per_sector;
/* ver 2.0 or higher */
grub_uint32_t EDD_configuration_parameters;
/* ver 3.0 or higher */
grub_uint16_t signature_dpi;
grub_uint8_t length_dpi;
grub_uint8_t reserved[3];
grub_uint8_t name_of_host_bus[4];
grub_uint8_t name_of_interface_type[8];
grub_uint8_t interface_path[8];
grub_uint8_t device_path[8];
grub_uint8_t reserved2;
grub_uint8_t checksum;
/* XXX: This is necessary, because the BIOS of Thinkpad X20
writes a garbage to the tail of drive parameters,
regardless of a size specified in a caller. */
grub_uint8_t dummy[16];
} __attribute__ ((packed));
/* Disk Address Packet. */
struct grub_biosdisk_dap
{
grub_uint8_t length;
grub_uint8_t reserved;
grub_uint16_t blocks;
grub_uint32_t buffer;
grub_uint64_t block;
} __attribute__ ((packed));
static int
grub_biosdisk_get_drive (const char *name)
{