560 lines
15 KiB
C
560 lines
15 KiB
C
#ifndef _PARSTL_H_
|
|
#define _PARSTL_H_
|
|
|
|
// Define 1284 Commands
|
|
#define CPP_QUERY_PRODID 0x10
|
|
|
|
// 1284 related SHTL prod id equates
|
|
#define SHTL_EPAT_PRODID 0xAAFF
|
|
#define SHTL_EPST_PRODID 0xA8FF
|
|
|
|
// typedefs for device type
|
|
typedef unsigned char DEVICE_STATE ;
|
|
typedef unsigned int STL_DEVICE_TYPE ;
|
|
typedef unsigned int IMPACT_DEVICE_TYPE ;
|
|
|
|
// device type equates
|
|
#define DEVICE_TYPE_AUTO_DETECT -1
|
|
#define TRUE 1
|
|
#define FALSE 0
|
|
|
|
#define DEVICE_TYPE_NONE 0x0000
|
|
#define DEVICE_TYPE_ATA 0x0001
|
|
#define DEVICE_TYPE_ATAPI 0x0002
|
|
#define DEVICE_TYPE_SCSI 0x0003
|
|
#define DEVICE_TYPE_SSFDC 0x0004
|
|
#define DEVICE_TYPE_MMC 0x0005
|
|
#define DEVICE_TYPE_FLASH 0x0006
|
|
#define DEVICE_TYPE_EPP_DEVICE 0x0007
|
|
#define DEVICE_TYPE_SOUND 0x0008
|
|
#define DEVICE_TYPE_HIFD 0x0009
|
|
#define DEVICE_TYPE_LS120 0x000A
|
|
#define DEVICE_TYPE_PCMCIA_CF 0x000B
|
|
#define DEVICE_TYPE_FLP_TAPE_DSK 0x000C
|
|
#define DEVICE_TYPE_ATA_ATAPI_8BIT 0x000D
|
|
#define DEVICE_TYPE_UMAX 0x000E
|
|
#define DEVICE_TYPE_AVISION 0x000F
|
|
#define DEVICE_TYPE_DAZZLE 0x0010
|
|
#define DEVICE_TYPE_EXT_HWDETECT 0x40000000 // to OR with expected pers.
|
|
|
|
#define DEVICE_TYPE_ATA_BIT 1 << ( DEVICE_TYPE_ATA - 1 )
|
|
#define DEVICE_TYPE_ATAPI_BIT 1 << ( DEVICE_TYPE_ATAPI - 1 )
|
|
#define DEVICE_TYPE_SCSI_BIT 1 << ( DEVICE_TYPE_SCSI - 1 )
|
|
#define DEVICE_TYPE_SSFDC_BIT 1 << ( DEVICE_TYPE_SSFDC - 1 )
|
|
#define DEVICE_TYPE_MMC_BIT 1 << ( DEVICE_TYPE_MMC - 1 )
|
|
#define DEVICE_TYPE_FLASH_BIT 1 << ( DEVICE_TYPE_FLASH - 1 )
|
|
#define DEVICE_TYPE_EPP_DEVICE_BIT 1 << ( DEVICE_TYPE_EPP_DEVICE - 1 )
|
|
#define DEVICE_TYPE_SOUND_BIT 1 << ( DEVICE_TYPE_SOUND - 1 )
|
|
#define DEVICE_TYPE_HIFD_BIT 1 << ( DEVICE_TYPE_HIFD - 1 )
|
|
#define DEVICE_TYPE_LS120_BIT 1 << ( DEVICE_TYPE_LS120 - 1 )
|
|
#define DEVICE_TYPE_PCMCIA_CF_BIT 1 << ( DEVICE_TYPE_PCMCIA_CF - 1 )
|
|
#define DEVICE_TYPE_FLP_TAPE_DSK_BIT 1 << ( DEVICE_TYPE_FLP_TAPE_DSK - 1 )
|
|
#define DEVICE_TYPE_ATA_ATAPI_8BIT_BIT 1 << ( DEVICE_TYPE_ATA_ATAPI_8BIT - 1 )
|
|
#define DEVICE_TYPE_UMAX_BIT 1 << ( DEVICE_TYPE_UMAX - 1 )
|
|
#define DEVICE_TYPE_AVISION_BIT 1 << ( DEVICE_TYPE_AVISION - 1 )
|
|
#define DEVICE_TYPE_DAZZLE_BIT 1 << ( DEVICE_TYPE_DAZZLE - 1 )
|
|
|
|
// possible Device states
|
|
#define DEVICE_STATE_INVALID 0
|
|
#define DEVICE_STATE_VALID 1
|
|
#define DEVICE_STATE_ATAPI 2
|
|
|
|
// epp dev equates
|
|
#define EPPDEV_SIGN 0x03
|
|
#define PERSONALITY_MASK 0x03
|
|
|
|
// flash related equates
|
|
#define FLASH_SIGN 0x01
|
|
#define FLASH_PERSONALITY_MASK 0x03
|
|
|
|
// dazzle related equates
|
|
#define DAZ_SELECT_BLK 0x18
|
|
#define DAZ_BLK0 0x00
|
|
#define DAZ_REG1 0x19
|
|
#define DAZ_CONFIGURED 0x5A
|
|
#define DAZ_NOT_CONFIGURED 0xBC
|
|
|
|
// umax related equates
|
|
#define BUSY 0x20
|
|
#define PE 0x08
|
|
|
|
#define DATAPORT 0x18
|
|
#define STATUSPORT 0x19
|
|
#define CONTROLPORT 0x1A
|
|
#define EPPADDRPORT 0x1B
|
|
#define EPPDATA0PORT 0x1C
|
|
#define EPPDATA1PORT 0x1D
|
|
#define EPPDATA2PORT 0x1E
|
|
#define EPPDATA3PORT 0x1F
|
|
|
|
// HIFD related equates
|
|
#define HIFD_CONTROLLER_READY_STATUS 0x80
|
|
#define HIFD_DIGITAL_OUTPUT_REGISTER 0x02
|
|
#define HIFD_DOR_RESET_BIT 0x04
|
|
#define HIFD_ENABLE_DMA_BIT 0x08
|
|
#define HIFD_MAIN_STATUS_REGISTER 0x04
|
|
#define HIFD_DATA_RATE_SELECT_REGISTER 0x04
|
|
#define HIFD_STATUS_REGISTER_A 0x00
|
|
#define HIFD_STATUS_REGISTER_B 0x01
|
|
|
|
#define HIFD_COMMAND_TO_CONTROLLER 0x55
|
|
#define HIFD_TERMINATE_SEQUENCE 0xAA
|
|
#define HIFD_CTL_REG_0D 0x0D
|
|
#define HIFD_CTL_REG_03 0x03
|
|
#define HIFD_WAIT_10_MILLISEC 10000 // 10 * 1000
|
|
#define HIFD_WAIT_1_MILLISEC 1000 // 1 * 1000
|
|
|
|
#define SMC_ENABLE_MODE2 0x72
|
|
#define SMC_DEVICE_ID 0x78
|
|
|
|
// LS120 related equates
|
|
#define LS120_ENGINE_VERSION 0xE2
|
|
#define LS120_ENGINE_VERSION_REGISTER 0x07
|
|
|
|
// MMC engine specific equates
|
|
#define MMC_ENGINE_INDEX 0x1E
|
|
#define MMC_ENGINE_DATA 0x1F
|
|
#define MMC_FREQ_SELECT_REG 0x00
|
|
#define MMC_BLOCK_SIZE_REG 0x06
|
|
|
|
// Though these are test patterns, they may be possible commands
|
|
// for ATA/ATAPI devices, as they are written to a possible
|
|
// ATA/ATAPI command register. These values have been fixed
|
|
// carefully, to minimize, if not eliminate, possible failure.
|
|
#define MMC_TEST_PATTERN_1 0x00 // ATA Nop commands for ATA/ATAPI type devices.
|
|
#define MMC_TEST_PATTERN_2 0xA1 // ATAPI Ident. command for ATAPI type devices.
|
|
#define MMC_TEST_PATTERN_3 0x00 // ATA Nop commands for ATA/ATAPI type devices.
|
|
|
|
// some IO register equates that are inevitable
|
|
#define CYLLOW_REG 0x0004
|
|
#define CYLHIGH_REG 0x0005
|
|
|
|
// ATAPI signature equates
|
|
#define ATAPI_SIGN_LOW 0x14
|
|
#define ATAPI_SIGN_HI 0xEB
|
|
|
|
// delay equates
|
|
#define MAX_RETRIES_FOR_5_SECS 5 * 1000 // 5 secs
|
|
#define MAX_RETRIES_FOR_10_SECS 10 * 1000 // 10 secs
|
|
#define DELAY_10MICROSECONDS 10 // 10 mu sec.
|
|
#define DELAY_1MILLISECONDS 1000 // 1 milli sec.
|
|
#define DELAY_1SECOND 1000*1000 // 1 sec.
|
|
|
|
// ATA/ATAPI command opcodes
|
|
#define ATA_NOP_COMMAND 0x00
|
|
#define ATAPI_IDENTIFY 0xA1
|
|
|
|
// ATA/ATAPI drive select values
|
|
#define ATAPI_MASTER 0xA0
|
|
#define ATAPI_SLAVE 0xB0
|
|
#define ATAPI_MAX_DRIVES 2
|
|
|
|
// ATA register definitions
|
|
#define ATA_DATA_REG 0x0000
|
|
#define ATA_ERROR_REG 0x0001
|
|
#define ATA_PRECOMP_REG 0x0001
|
|
#define ATA_SECCNT_REG 0x0002
|
|
#define ATA_SECNUM_REG 0x0003
|
|
#define ATA_CYLLOW_REG 0x0004
|
|
#define ATA_CYLHIGH_REG 0x0005
|
|
#define ATA_DRVHD_REG 0x0006
|
|
#define ATA_TASK_STAT_REG 0x0007
|
|
#define ATA_TASK_CMD_REG 0x0007
|
|
#define ATA_ALT_STAT_REG 0x0008
|
|
|
|
// ATA status register equates
|
|
#define ATA_ST_ERROR 0x01
|
|
#define ATA_ST_INDEX 0x02
|
|
#define ATA_ST_CORRCTD 0x04
|
|
#define ATA_ST_DRQ 0x08
|
|
#define ATA_ST_SEEK_COMPL 0x10
|
|
#define ATA_ST_WRT_FLT 0x20
|
|
#define ATA_ST_READY 0x40
|
|
#define ATA_ST_BUSY 0x80
|
|
|
|
// ATA error register equates
|
|
#define ATA_ERROR_ABORTED_COMMAND 0x04
|
|
|
|
// miscellaneous equates
|
|
#define BUS_LINES_IN_HIGH_IMPEDANCE 0xFF
|
|
#define SKIP_MEMORY_ADDRESS ((unsigned long)(-1L))
|
|
#define SHTL_NO_ERROR 0x0000
|
|
|
|
#define IsShtlError(x) (x & 0x8000)
|
|
#define IsImpactPresent() ( IMPACT_VERSION == ParStlReadReg ( Extension, VERSION_REGISTER ) )
|
|
#define IsImpactSPresent() ( IMPACTS_VERSION <= ParStlReadReg ( Extension, VERSION_REGISTER ) )
|
|
#define IsEp1284Present() ( EP1284_VERSION == ParStlReadReg ( Extension, VERSION_REGISTER ) )
|
|
#define IsEpatPlusPresent() ( EPATP_VERSION == ParStlReadReg ( Extension, VERSION_REGISTER ) )
|
|
#define IsEpezPresent() ( EPEZ_VERSION == ParStlReadReg ( Extension, VERSION_REGISTER ) )
|
|
#define IsEpatPresent() ( EPAT_VERSION == ParStlReadReg ( Extension, VERSION_REGISTER ) )
|
|
#define IsEpstPresent() ( EPST_VERSION == ParStlReadReg ( Extension, VERSION_REGISTER ) )
|
|
#define NeedToEnableIoPads() ( EP1284_VERSION <= ParStlReadReg ( Extension, VERSION_REGISTER ) )
|
|
|
|
// Identify command processing related defines..
|
|
#define ATAPI_IDENTIFY_LENGTH 512
|
|
#define ATAPI_NAME_LENGTH 10
|
|
#define ATAPI_NAME_OFFSET 84
|
|
|
|
// EP1284 related equates
|
|
#define EP1284_BLK_ADDR_REGISTER 0x0A
|
|
#define EP1284_MODE_REGISTER 0x0C
|
|
#define VERSION_REGISTER 0x0B
|
|
#define EP1284_TRANSFER_CONTROL_REG 0x12
|
|
#define EP1284_PERSONALITY_REG 0x01
|
|
#define EPAT_MODE_REGISTER 0x0C
|
|
#define SOCKET_CONTROL_REGISTER 0x0C
|
|
#define ISA_CONTROL_REGISTER 0x0D
|
|
#define CONFIG_INDEX_REGISTER 0x0E
|
|
#define CONFIG_DATA_REGISTER 0x0F
|
|
#define SHTL_CARD_INSERTED_STATUS 0x02
|
|
#define XFER_IRQ_BIT 0x20
|
|
#define EP1284_POWER_CONTROL_REG 0x0F
|
|
#define ENABLE_IOPADS 0x04
|
|
|
|
// IMPACT related equates
|
|
#define IMPACT_PERSONALITY_REG 0x01
|
|
|
|
// IMPACT-S related equates
|
|
#define IMPACTS_EXT_PERSONALITY_PRESENT 0x0A // 0xA0 >> 4
|
|
#define IMPACTS_EXT_PERSONALITY_XREG 0x29
|
|
|
|
// shuttle version number related equates
|
|
#define EPST_VERSION 0xB2
|
|
#define EPAT_VERSION 0xC3
|
|
#define EPEZ_VERSION 0xC5
|
|
#define EPATP_VERSION 0xC6
|
|
#define EP1284_VERSION 0xC7
|
|
#define IMPACT_VERSION 0xC8
|
|
#define IMPACTS_VERSION 0xC9
|
|
#define EP1284_ENABLE_16BIT 0x10
|
|
#define EPAT_RESET_POLARITY 0x20
|
|
#define ISA_IO_SWAP 0x20
|
|
#define SOCKET_0 0x00
|
|
#define SOCKET_1 0x01
|
|
#define PERIPHERAL_RESET_1 0x20
|
|
#define PERIPHERAL_RESET_0 0x10
|
|
|
|
// block xfer related op-codes
|
|
#define OP_NIBBLE_BLOCK_READ 0x07
|
|
|
|
// test pattern equates
|
|
#define TEST_PATTERN_1 0x55
|
|
#define TEST_PATTERN_2 0xAA
|
|
|
|
// Memory detection related equates
|
|
#define SELECT_DRAM 0x80
|
|
#define SELECT_SRAM 0x7F
|
|
#define RESET_PTR 0x01
|
|
#define ENABLE_MEM 0x04
|
|
#define EP1284_CONTROL_REG 0x13
|
|
#define EP1284_BUFFER_DATA_REG 0x10
|
|
|
|
// IMPACT device type defines
|
|
#define IMPACT_DEVICE_TYPE_NONE 0
|
|
#define IMPACT_DEVICE_TYPE_ATA_ATAPI 1
|
|
#define IMPACT_DEVICE_TYPE_PCMCIA_CF 2
|
|
#define IMPACT_DEVICE_TYPE_SSFDC 3
|
|
#define IMPACT_DEVICE_TYPE_MMC 4
|
|
#define IMPACT_DEVICE_TYPE_HIFD 5
|
|
#define IMPACT_DEVICE_TYPE_SOUND 6
|
|
#define IMPACT_DEVICE_TYPE_FLP_TAPE_DSK 7
|
|
#define IMPACT_DEVICE_TYPE_CF 8
|
|
#define IMPACT_DEVICE_TYPE_ATA_ATAPI_8BIT 9
|
|
|
|
// parallel port signal equates
|
|
#define SLCT_IN_DISABLE 0x04
|
|
#define SLCT_IN_ENABLE 0x0C
|
|
#define STB_INIT_LOW 0x01
|
|
#define STB_INIT_AFXT_LO 0x03
|
|
#define INIT_AFXT_HIGH 0x05
|
|
#define STB_INIT_AFXT_HI 0x04
|
|
#define STB_INIT_HIGH 0x04
|
|
|
|
#define AFXT_HI_STB_HI 0x04
|
|
#define AFXT_LO_STB_HI 0x06
|
|
#define AFXT_HI_STB_LO 0x05
|
|
#define AFXT_LO_STB_LO 0x07
|
|
|
|
// structure definitions
|
|
|
|
typedef struct _ATAPI_PARAMS{
|
|
DEVICE_STATE dsDeviceState[ATAPI_MAX_DRIVES];
|
|
char szAtapiNameString [ ATAPI_NAME_LENGTH ] ;
|
|
} ATAPIPARAMS, *PATAPIPARAMS ;
|
|
|
|
// function prototypes
|
|
BOOLEAN
|
|
ParStlCheckIfStl(
|
|
IN PDEVICE_EXTENSION Extension,
|
|
IN ULONG ulDaisyIndex
|
|
) ;
|
|
|
|
BOOLEAN
|
|
ParStlCheckIfNon1284_3Present(
|
|
IN PDEVICE_EXTENSION Extension
|
|
) ;
|
|
|
|
BOOLEAN
|
|
ParStlCheckIfStl1284_3(
|
|
IN PDEVICE_EXTENSION Extension,
|
|
IN ULONG ulDaisyIndex,
|
|
IN BOOLEAN bNoStrobe
|
|
) ;
|
|
|
|
BOOLEAN
|
|
ParStlCheckIfStlProductId(
|
|
IN PDEVICE_EXTENSION Extension,
|
|
IN ULONG ulDaisyIndex
|
|
) ;
|
|
|
|
PCHAR
|
|
ParQueryStlDeviceId(
|
|
IN PDEVICE_EXTENSION Extension,
|
|
OUT PCHAR CallerDeviceIdBuffer, OPTIONAL
|
|
IN ULONG CallerBufferSize,
|
|
OUT PULONG DeviceIdSize,
|
|
IN BOOLEAN bReturnRawString
|
|
) ;
|
|
|
|
PCHAR
|
|
ParBuildStlDeviceId(
|
|
IN PDEVICE_EXTENSION Extension
|
|
) ;
|
|
|
|
STL_DEVICE_TYPE __cdecl
|
|
ParStlGetDeviceType (
|
|
IN PDEVICE_EXTENSION Extension,
|
|
IN int nPreferredDeviceType
|
|
) ;
|
|
|
|
VOID
|
|
ParStlSet16BitOperation (
|
|
IN PDEVICE_EXTENSION Extension
|
|
) ;
|
|
|
|
BOOLEAN
|
|
ParStlCheckDrivePresent (
|
|
IN PDEVICE_EXTENSION Extension,
|
|
IN OUT PATAPIPARAMS atapiParams
|
|
) ;
|
|
|
|
BOOLEAN
|
|
ParStlWaitForBusyToClear (
|
|
IN PDEVICE_EXTENSION Extension,
|
|
IN int nRegisterToWaitOn
|
|
) ;
|
|
|
|
BOOLEAN
|
|
ParStlWaitForDrq (
|
|
IN PDEVICE_EXTENSION Extension
|
|
) ;
|
|
|
|
BOOLEAN
|
|
ParStlWaitForIrq (
|
|
IN PDEVICE_EXTENSION Extension
|
|
) ;
|
|
|
|
BOOLEAN
|
|
ParStlCheckIfAtaAtapiDevice (
|
|
IN PDEVICE_EXTENSION Extension,
|
|
IN OUT PATAPIPARAMS atapiParams
|
|
) ;
|
|
|
|
BOOLEAN
|
|
ParStlAtapiInitialize (
|
|
IN PDEVICE_EXTENSION Extension,
|
|
IN OUT PATAPIPARAMS atapiParams
|
|
);
|
|
|
|
BOOLEAN
|
|
ParStlAtaInitialize (
|
|
IN PDEVICE_EXTENSION Extension,
|
|
IN OUT PATAPIPARAMS atapiParams
|
|
) ;
|
|
|
|
BOOLEAN
|
|
ParStlCheckIfScsiDevice (
|
|
IN PDEVICE_EXTENSION Extension
|
|
) ;
|
|
|
|
BOOLEAN
|
|
ParStlCheckIfSSFDC (
|
|
IN PDEVICE_EXTENSION Extension
|
|
) ;
|
|
|
|
BOOLEAN
|
|
ParStlCheckIfMMC (
|
|
IN PDEVICE_EXTENSION Extension,
|
|
IN OUT PATAPIPARAMS atapiParams
|
|
) ;
|
|
|
|
BOOLEAN
|
|
ParStlCheckIfFlash (
|
|
IN PDEVICE_EXTENSION Extension
|
|
) ;
|
|
|
|
BOOLEAN
|
|
ParStlCheckIfDazzle (
|
|
IN PDEVICE_EXTENSION Extension
|
|
) ;
|
|
|
|
BOOLEAN
|
|
ParStlCheckIfAtapiDevice (
|
|
IN PDEVICE_EXTENSION Extension,
|
|
IN OUT PATAPIPARAMS atapiParams
|
|
) ;
|
|
|
|
BOOLEAN
|
|
ParStlCheckIfLS120 (
|
|
IN PDEVICE_EXTENSION Extension
|
|
) ;
|
|
|
|
BOOLEAN
|
|
ParStlCheckIfImpactLS120 (
|
|
IN PDEVICE_EXTENSION Extension,
|
|
IN OUT PATAPIPARAMS atapiParams
|
|
) ;
|
|
|
|
BOOLEAN
|
|
ParStlCheckIfHiFD (
|
|
IN PDEVICE_EXTENSION Extension
|
|
) ;
|
|
|
|
BOOLEAN
|
|
ParStlCheckIfAtaDevice (
|
|
IN PDEVICE_EXTENSION Extension,
|
|
IN OUT PATAPIPARAMS atapiParams
|
|
) ;
|
|
|
|
BOOLEAN
|
|
ParStlCheckCardInsertionStatus (
|
|
IN PDEVICE_EXTENSION Extension
|
|
) ;
|
|
|
|
BOOLEAN
|
|
ParStlSelectAdapterSocket (
|
|
IN PDEVICE_EXTENSION Extension,
|
|
int nSocketNumber
|
|
) ;
|
|
|
|
VOID
|
|
ParStlWaitForMicroSeconds (
|
|
int nMicroSecondsToWait
|
|
) ;
|
|
|
|
STL_DEVICE_TYPE
|
|
ParStlGetImpactDeviceType (
|
|
IN PDEVICE_EXTENSION Extension,
|
|
IN OUT PATAPIPARAMS atapiParams,
|
|
IN int nPreferredDeviceType
|
|
) ;
|
|
|
|
STL_DEVICE_TYPE
|
|
ParStlGetImpactSDeviceType (
|
|
IN PDEVICE_EXTENSION Extension,
|
|
IN OUT PATAPIPARAMS atapiParams,
|
|
IN int nPreferredDeviceType
|
|
) ;
|
|
|
|
BOOLEAN
|
|
ParStlCheckIfEppDevice (
|
|
IN PDEVICE_EXTENSION Extension
|
|
) ;
|
|
|
|
BOOLEAN
|
|
ParStlCheckPersonalityForEppDevice (
|
|
IN PDEVICE_EXTENSION Extension
|
|
) ;
|
|
|
|
BOOLEAN
|
|
ParStlCheckFlashPersonality (
|
|
IN PDEVICE_EXTENSION Extension
|
|
) ;
|
|
|
|
BOOLEAN
|
|
ParStlHIFDCheckIfControllerReady (
|
|
IN PDEVICE_EXTENSION Extension
|
|
) ;
|
|
|
|
BOOLEAN
|
|
ParStlHIFDCheckSMCController (
|
|
IN PDEVICE_EXTENSION Extension
|
|
) ;
|
|
|
|
BOOLEAN
|
|
ParStlIsMMCEnginePresent(
|
|
IN PDEVICE_EXTENSION Extension
|
|
);
|
|
|
|
VOID
|
|
ParStlAssertIdleState (
|
|
IN PDEVICE_EXTENSION Extension
|
|
) ;
|
|
|
|
BOOLEAN
|
|
ParStlCheckUMAXScannerPresence(
|
|
IN PDEVICE_EXTENSION Extension
|
|
) ;
|
|
|
|
BOOLEAN
|
|
ParStlCheckAvisionScannerPresence(
|
|
IN PDEVICE_EXTENSION Extension
|
|
) ;
|
|
|
|
BOOLEAN
|
|
ParStlSetEPPMode(
|
|
IN PDEVICE_EXTENSION Extension
|
|
) ;
|
|
|
|
USHORT
|
|
ParStlEPPWrite(
|
|
IN PDEVICE_EXTENSION Extension,
|
|
IN UCHAR value
|
|
) ;
|
|
|
|
USHORT
|
|
ParStlEPPRead(
|
|
IN PDEVICE_EXTENSION
|
|
) ;
|
|
|
|
int __cdecl
|
|
ParStlReadReg(
|
|
IN PDEVICE_EXTENSION Extension,
|
|
IN unsigned int reg
|
|
) ;
|
|
|
|
int __cdecl
|
|
ParStlWriteReg(
|
|
IN PDEVICE_EXTENSION Extension,
|
|
IN unsigned int reg,
|
|
IN int databyte
|
|
) ;
|
|
|
|
int __cdecl
|
|
ParStlReadIoPort(
|
|
IN PDEVICE_EXTENSION Extension,
|
|
IN unsigned int reg
|
|
) ;
|
|
|
|
int __cdecl
|
|
ParStlWriteIoPort(
|
|
IN PDEVICE_EXTENSION Extension,
|
|
IN unsigned int reg,
|
|
IN int databyte
|
|
) ;
|
|
|
|
int __cdecl
|
|
ParStlReceiveData(
|
|
IN PDEVICE_EXTENSION Extension,
|
|
OUT void *hostBufferPointer,
|
|
IN long shuttleMemoryAddress,
|
|
IN unsigned count
|
|
) ;
|
|
|
|
int __cdecl
|
|
ParStlGetMemorySize (
|
|
IN PDEVICE_EXTENSION Extension
|
|
) ;
|
|
|
|
#endif // for _PARSTL_H_
|