NT4/private/ntos/miniport/trantor/include/cardt358.h
2020-09-30 17:12:29 +02:00

116 lines
3.2 KiB
C

//-----------------------------------------------------------------------
//
// CARDT358.H
//
// T358 Adapter Definitions File
//
//
// Revision History:
//
// 03-26-93 KJB First.
// 05-13-93 KJB Added CardParseCommandString for card specific
// standard string parsing across platforms.
// Changed CardCheckAdapter to accept an
// Initialization info from command line, ie
// force bi-directional ports, etc.
// All functions that used to take an PBASE_REGISTER
// parameter now take PWORKSPACE. CardCheckAdapter
// takes the both the PBASE_REGISTER and the
// PWORKSPACE parameters.
// 05-14-93 KJB CardCheckAdapter now does not take a PBASE_REGISTER
// parameter, this parameter is now in the PINIT
// structure.
//
//-----------------------------------------------------------------------
// include general os definitions
#include "osdefs.h"
// the parallel port uses io ports
#include "portio.h"
// the parallel port defs
#include "parallel.h"
//
// Global per Adapter Information
//
typedef struct tagAdapterInfo {
PBASE_REGISTER BaseIoAddress; // address of this card
UCHAR ParallelPortType; // the type of parallel port being used
UCHAR Delay; // amount of delay for t358
BOOLEAN EnableInterrupt; // whether or not interrupt should be enabled
UCHAR SignatureBytes[2]; // signature bytes of T358
// the following routines are all remapped based on the type of
// parallel port detected...
VOID (*EP3CWriteControlRegister)(struct tagAdapterInfo FARP g,
UCHAR reg, UCHAR value);
VOID (*EP3CReadControlRegister)(struct tagAdapterInfo FARP g,
PUCHAR value);
VOID (*EP3CReadDataRegister)(struct tagAdapterInfo FARP g,
UCHAR reg, PUCHAR byte);
VOID (*EP3CWriteDataRegister)(struct tagAdapterInfo FARP g,
UCHAR reg, UCHAR byte);
VOID (*EP3CReadFifo)(PBASE_REGISTER baseIoAddress, PUCHAR buffer);
VOID (*EP3CWriteFifo)(PBASE_REGISTER baseIoAddress, PUCHAR buffer);
VOID (*EP3CSetRegister)(struct tagAdapterInfo FARP g, UCHAR reg);
} ADAPTER_INFO, FARP PADAPTER_INFO;
// the ep3c chip defs
#include "ep3c.h"
// the 386sl and 80360 definitions
#include "sl386.h"
// they have an n5380
#include "n5380.h"
// all of these cards have a 53c400
#include "n53c400.h"
// all 5380 type cards use the scsifnc module
#include "scsifnc.h"
// CARDTYPE definitions file
#include "cardtype.h"
// Functions exported to library
#include "card.h"
//-----------------------------------------------------------------------
//
// Redefined routines
//
//-----------------------------------------------------------------------
#define CardWriteBytesCommand N53C400WriteBytesFast
#define CardWriteBytesFast N53C400WriteBytesFast
#define CardReadBytesFast N53C400ReadBytesFast
//
// Local routines (to the whole lower level driver)
//
VOID CardEnableInterrupt (PADAPTER_INFO g);
VOID CardDisableInterrupt (PADAPTER_INFO g);