//************************************************************************** // // PORTIO.H -- Xena Gaming Project // // Version 3.XX // // Copyright (c) 1997 Microsoft Corporation. All rights reserved. // // @doc // @header PORTIO.H | Global includes and definitions for port I/O functions //************************************************************************** #ifndef __PORTIO_H__ #define __PORTIO_H__ //--------------------------------------------------------------------------- // Procedures //--------------------------------------------------------------------------- NTSTATUS PORTIO_DriverEntry (VOID); VOID PORTIO_MaskInterrupts (VOID); VOID PORTIO_UnMaskInterrupts (VOID); BOOLEAN PORTIO_AcquirePort ( IN PGAMEPORT PortInfo ); VOID PORTIO_ReleasePort ( IN PGAMEPORT PortInfo ); VOID PORTIO_CalibrateTimeOut ( IN PGAMEPORT PortInfo ); UCHAR PORTIO_Read ( IN PGAMEPORT PortInfo ); VOID PORTIO_Write ( IN PGAMEPORT PortInfo, IN UCHAR Value ); BOOLEAN PORTIO_GetAckNak ( IN PGAMEPORT PortInfo, IN ULONG Timeout, OUT PUCHAR AckNak ); BOOLEAN PORTIO_GetNakAck ( IN PGAMEPORT PortInfo, IN ULONG Timeout, OUT PUCHAR NakAck ); BOOLEAN PORTIO_IsClockActive ( IN PGAMEPORT PortInfo, IN ULONG DutyCycle ); BOOLEAN PORTIO_WaitClockInActive ( IN PGAMEPORT PortInfo, IN ULONG DutyCycle ); BOOLEAN PORTIO_WaitClockLow ( IN PGAMEPORT PortInfo ); BOOLEAN PORTIO_WaitClockHigh ( IN PGAMEPORT PortInfo ); BOOLEAN PORTIO_WaitDataLow ( IN PGAMEPORT PortInfo ); BOOLEAN PORTIO_WaitXA_HighLow ( IN PGAMEPORT PortInfo ); BOOLEAN PORTIO_WaitForIdle ( IN PGAMEPORT PortInfo ); BOOLEAN PORTIO_WaitForStatusGate ( IN PGAMEPORT PortInfo, IN UCHAR Mask, IN ULONG Timeout ); BOOLEAN PORTIO_WaitForHandshake ( IN PGAMEPORT PortInfo, IN ULONG DutyCycle ); BOOLEAN PORTIO_WaitForIdleHandshake ( IN PGAMEPORT PortInfo, IN ULONG DutyCycle ); BOOLEAN PORTIO_PulseAndWaitForHandshake ( IN PGAMEPORT PortInfo, IN ULONG DutyCycle, IN ULONG Pulses ); BOOLEAN PORTIO_PulseAndWaitForIdleHandshake ( IN PGAMEPORT PortInfo, IN ULONG DutyCycle, IN ULONG Pulses ); //=========================================================================== // End //=========================================================================== #endif __PORTIO_H__