DOSBox-X
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes
ISAPnPDevice Class Reference
Inheritance diagram for ISAPnPDevice:
ISAPnPIntegrationDevice ViBRA_PnP

List of all members.

Public Types

enum  SmallTags {
  PlugAndPlayVersionNumber = 0x1, LogicalDeviceID = 0x2, CompatibleDeviceID = 0x3, IRQFormat = 0x4,
  DMAFormat = 0x5, StartDependentFunctions = 0x6, EndDependentFunctions = 0x7, IOPortDescriptor = 0x8,
  FixedLocationIOPortDescriptor = 0x9, SmallVendorDefined = 0xE, EndTag = 0xF
}
enum  LargeTags {
  MemoryRangeDescriptor = 0x1, IdentifierStringANSI = 0x2, IdentifierStringUNICODE = 0x3, LargeVendorDefined = 0x4,
  MemoryRange32Descriptor = 0x5, FixedLocationMemoryRangeDescriptor = 0x6
}
enum  DependentFunctionConfig { PreferredDependentConfiguration = 0x0, AcceptableDependentConfiguration = 0x1, SubOptimalDependentConfiguration = 0x2 }
enum  { IRQFormatInfo_HighTrueEdgeSensitive = 0x1, IRQFormatInfo_LowTrueEdgeSensitive = 0x2, IRQFormatInfo_HighTrueLevelSensitive = 0x4, IRQFormatInfo_LowTrueLevelSensitive = 0x8 }
enum  { DMATransferType_8bitOnly = 0, DMATransferType_8_and_16bit = 1, DMATransferType_16bitOnly = 2 }
enum  { DMASpeedSupported_Compat = 0, DMASpeedSupported_TypeA = 1, DMASpeedSupported_TypeB = 2, DMASpeedSupported_TypeF = 3 }

Public Member Functions

void checksum_ident ()
virtual void config (Bitu val)
virtual void wakecsn (Bitu val)
virtual void select_logical_device (Bitu val)
virtual void on_pnp_key ()
virtual uint8_t read (Bitu addr)
virtual void write (Bitu addr, Bitu val)
virtual bool alloc (size_t sz)
void write_begin_SMALLTAG (const ISAPnPDevice::SmallTags stag, unsigned char len)
void write_begin_LARGETAG (const ISAPnPDevice::LargeTags stag, unsigned int len)
void write_nstring (const char *str, const size_t l)
void write_byte (const unsigned char c)
void begin_write_res ()
void end_write_res ()
void write_END ()
void write_ISAPnP_version (unsigned char major, unsigned char minor, unsigned char vendor)
void write_Identifier_String (const char *str)
void write_Logical_Device_ID (const char c1, const char c2, const char c3, const char c4, const char c5, const char c6, const char c7)
void write_Compatible_Device_ID (const char c1, const char c2, const char c3, const char c4, const char c5, const char c6, const char c7)
void write_Device_ID (const char c1, const char c2, const char c3, const char c4, const char c5, const char c6, const char c7)
void write_Dependent_Function_Start (const ISAPnPDevice::DependentFunctionConfig cfg, const bool force=false)
void write_IRQ_Format (const uint16_t IRQ_mask, const unsigned char IRQ_signal_type=0)
void write_DMA_Format (const uint8_t DMA_mask, const unsigned char transfer_type_preference, const bool is_bus_master, const bool byte_mode, const bool word_mode, const unsigned char speed_supported)
void write_IO_Port (const uint16_t min_port, const uint16_t max_port, const uint8_t count, const uint8_t alignment=1, const bool full16bitdecode=true)
void write_End_Dependent_Functions ()

Static Public Member Functions

static uint16_t irq2mask (const int IRQ)
static uint16_t irq2mask (const int a, const int b)
static uint16_t irq2mask (const int a, const int b, const int c)
static uint16_t irq2mask (const int a, const int b, const int c, const int d)
static uint16_t irq2mask (const int a, const int b, const int c, const int d, const int e)
static uint16_t dma2mask (const int DMA)
static uint16_t dma2mask (const int a, const int b)
static uint16_t dma2mask (const int a, const int b, const int c)
static uint16_t dma2mask (const int a, const int b, const int c, const int d)
static uint16_t dma2mask (const int a, const int b, const int c, const int d, const int e)

Public Attributes

unsigned char CSN = 0
unsigned char logical_device = 0
unsigned char ident [9]
unsigned char ident_bp = 0
unsigned char ident_2nd = 0
unsigned char resource_ident = 0
unsigned char * resource_data = NULL
size_t resource_data_len = 0
unsigned int resource_data_pos = 0
size_t alloc_write = 0
unsigned char * alloc_res = NULL
size_t alloc_sz = 0

Detailed Description

Definition at line 204 of file bios.h.


The documentation for this class was generated from the following files: