NT4/private/ntos/miniport/trantor/source/cardutil.c
2020-09-30 17:12:29 +02:00

111 lines
3.3 KiB
C

//-----------------------------------------------------------------------
//
// CARDUTIL.C
//
// Utility File for all common card routines.
//
// History:
//
// 02-20-93 KJB/SG First, Placed SG's CardGetNumber function here.
// 03-25-93 JAP Fixed up typedef and prototype inconsistencies
// 05-12-93 JAP Added version control information.
// This file should be updated changing the version numbers
// on EACH significant change to ANY low-level driver.
// The cause of upping a version should be placed in this
// files history. (currently Version 1.0)
// 05-12-93 KJB Moved code from cardtxxx.c to here.
// 05-12-93 KJB Fixed bugs in CardGetVersion.
// 05-15-93 KJB Fixed warnings in CardGetNumber.
//
//-------------------------------------------------------------------------
#include CARDTXXX_H
#define CDRIVER_MAJOR_VERSION 1
#define CDRIVER_MINOR_VERSION 0
//
// Static constant arrays defined in cardtxxx.c
//
extern PBASE_REGISTER AdapterAddresses[];
extern USHORT AdapterInterrupts[];
//-----------------------------------------------------------------------
// CardGetVersion()
//
// Return the CDRIVER version number values.
//
// Input: Pointer to ULONG to be filled with major version number
// Pointer to ULONG to be filled with minor version number
//
// Output: None. Major and minor version variables are filled.
//-----------------------------------------------------------------------
VOID CardGetVersion (PULONG pMajorVersion, PULONG pMinorVersion)
{
*pMajorVersion = CDRIVER_MAJOR_VERSION;
*pMinorVersion = CDRIVER_MINOR_VERSION;
}
//-----------------------------------------------------------------------
// CardGetNumber ()
//
// Returns the index number of the given adapter address from the
// AdapterAddresses table.
// Return -1, if the address is not found in the table.
//-----------------------------------------------------------------------
USHORT CardGetNumber (PBASE_REGISTER basePort)
{
USHORT i;
for (i = 0; AdapterAddresses [i] != 0; i++) {
if (AdapterAddresses [i] == basePort)
return i;
}
return 0xffff;
}
//-----------------------------------------------------------------------
//
// CardGetWorkspaceSize
//
//-----------------------------------------------------------------------
USHORT CardGetWorkspaceSize(void )
{
return sizeof (ADAPTER_INFO);
}
//------------------------------------------------------------------------
// CardGetIRQ
//
// Returns the nth possible adapter interrupt.
// Returns 0 when the last possible interrupt has been exceeded.
//------------------------------------------------------------------------
USHORT CardGetIRQ (USHORT i)
{
return AdapterInterrupts [i];
}
//------------------------------------------------------------------------
// CardAddress
//
// Returns the nth adapter address.
// Returns 0 when the last address has been exceeded.
//------------------------------------------------------------------------
PBASE_REGISTER CardAddress (USHORT i)
{
return ((PBASE_REGISTER)AdapterAddresses [i]);
}
//-----------------------------------------------------------------------
// End Of File.
//-----------------------------------------------------------------------