In8, In16, and In32

Takes a bus identifier and an I/O address in that bus's I/O address space and performs whatever operations are necessary to acquire and return the requested data.

Thread Context:Non-Blocking

Syntax

    BYTE In8 (
       LONG   busTag,
       void  *ioAddress);
    
    WORD In16 (
       LONG   busTag,
       void  *ioAddress
    );
    
    LONG In32 (
       LONG   busTag,
       void  *ioAddress
    );
    
    

Parameters

busTag
(IN) A value returned by NPAB_Search_Adapter or by parsing the Product ID option of the ISAInfoStructure. This value specifies the bus on which the operation is to be performed.
ioAddress
(IN) The I/O address in the bus architecture of the adapter where the input is to occur.

Return Values

An unsigned value of the size and data type defined by each respective function.

Remarks

These functions are used only by HAMs written for adapters intended for bus architectures that have an I/O address space. The HAM is expected to use the function appropriate to the data width of the port where the input is to occur.

The value of ioAddress should be the port address the HAM would normally expect for the given bus architecture. For example, if an ISA board with a base port address of 300h is placed on an EISA bus, the HAM sets ioAddress to 300h when it wants to input from that base port.