int13_drive Struct Reference

An INT 13 emulated drive. More...

#include <int13.h>


Data Fields

struct list_head list
 List of all registered drives.
struct block_deviceblockdev
 Underlying block device.
unsigned int drive
 BIOS in-use drive number (0x80-0xff).
unsigned int natural_drive
 BIOS natural drive number (0x80-0xff).
unsigned int cylinders
 Number of cylinders.
unsigned int heads
 Number of heads.
unsigned int sectors_per_track
 Number of sectors per track.
int last_status
 Status of last operation.


Detailed Description

An INT 13 emulated drive.

Definition at line 68 of file int13.h.


Field Documentation

List of all registered drives.

Definition at line 70 of file int13.h.

Referenced by int13(), int13_set_num_drives(), register_int13_drive(), and unregister_int13_drive().

unsigned int int13_drive::drive

BIOS in-use drive number (0x80-0xff).

Definition at line 76 of file int13.h.

Referenced by aoeboot(), eltorito_exec(), ib_srpboot(), int13(), int13_set_num_drives(), iscsiboot(), register_int13_drive(), and unregister_int13_drive().

BIOS natural drive number (0x80-0xff).

This is the drive number that would have been assigned by 'naturally' appending the drive to the end of the BIOS drive list.

If the emulated drive replaces a preexisting drive, this is the drive number that the preexisting drive gets remapped to.

Definition at line 87 of file int13.h.

Referenced by int13(), and register_int13_drive().

unsigned int int13_drive::cylinders

Number of cylinders.

The cylinder number field in an INT 13 call is ten bits wide, giving a maximum of 1024 cylinders. Conventionally, when the 7.8GB limit of a CHS address is exceeded, it is the number of cylinders that is increased beyond the addressable limit.

Definition at line 97 of file int13.h.

Referenced by guess_int13_geometry(), int13_get_extended_parameters(), int13_get_parameters(), and register_int13_drive().

unsigned int int13_drive::heads

Number of heads.

The head number field in an INT 13 call is eight bits wide, giving a maximum of 256 heads. However, apparently all versions of MS-DOS up to and including Win95 fail with 256 heads, so the maximum encountered in practice is 255.

Definition at line 105 of file int13.h.

Referenced by guess_int13_geometry(), int13_get_extended_parameters(), int13_get_parameters(), int13_rw_sectors(), and register_int13_drive().

Number of sectors per track.

The sector number field in an INT 13 call is six bits wide, giving a maximum of 63 sectors, since sector numbering (unlike head and cylinder numbering) starts at 1, not 0.

Definition at line 112 of file int13.h.

Referenced by guess_int13_geometry(), int13_get_extended_parameters(), int13_get_parameters(), int13_rw_sectors(), and register_int13_drive().

Status of last operation.

Definition at line 115 of file int13.h.

Referenced by int13(), and int13_get_last_status().


The documentation for this struct was generated from the following file:

Generated on Tue Apr 6 20:02:06 2010 for gPXE by  doxygen 1.5.7.1