mirror of
https://github.com/xcat2/xNBA.git
synced 2024-12-16 08:11:31 +00:00
3dbdeb588f
thinks they are. Other bus drivers modified for consistency.
70 lines
1.0 KiB
C
70 lines
1.0 KiB
C
#ifndef BIOS_DISKS_H
|
|
#define BIOS_DISKS_H
|
|
|
|
#include "dev.h"
|
|
|
|
/*
|
|
* Constants
|
|
*
|
|
*/
|
|
|
|
#define BIOS_DISK_MAX_NAME_LEN 6
|
|
|
|
struct bios_disk_sector {
|
|
char data[512];
|
|
};
|
|
|
|
/*
|
|
* The location of a BIOS disk
|
|
*
|
|
*/
|
|
struct bios_disk_loc {
|
|
uint8_t drive;
|
|
};
|
|
|
|
/*
|
|
* A physical BIOS disk device
|
|
*
|
|
*/
|
|
struct bios_disk_device {
|
|
char name[BIOS_DISK_MAX_NAME_LEN];
|
|
uint8_t drive;
|
|
uint8_t type;
|
|
};
|
|
|
|
/*
|
|
* A BIOS disk driver, with a valid device ID range and naming
|
|
* function.
|
|
*
|
|
*/
|
|
struct bios_disk_driver {
|
|
void ( *fill_drive_name ) ( char *buf, uint8_t drive );
|
|
uint8_t min_drive;
|
|
uint8_t max_drive;
|
|
};
|
|
|
|
/*
|
|
* Define a BIOS disk driver
|
|
*
|
|
*/
|
|
#define BIOS_DISK_DRIVER( _name, _fill_drive_name, _min_drive, _max_drive ) \
|
|
static struct bios_disk_driver _name = { \
|
|
.fill_drive_name = _fill_drive_name, \
|
|
.min_drive = _min_drive, \
|
|
.max_drive = _max_drive, \
|
|
}
|
|
|
|
/*
|
|
* Functions in bios_disks.c
|
|
*
|
|
*/
|
|
|
|
|
|
/*
|
|
* bios_disk bus global definition
|
|
*
|
|
*/
|
|
extern struct bus_driver bios_disk_driver;
|
|
|
|
#endif /* BIOS_DISKS_H */
|