/*++ Copyright (c) 1990 Microsoft Corporation Module Name: d3dzport.h Abstract: This include file defines the interface between the DECstation 5000 DZ port driver and its client class drivers. Author: David N. Cutler (davec) 15-Aug-1990 Environment: Kernel mode Revision History: */ #ifndef _DZPORT #define _DZPORT // Define DZ port internal I/O control functions. #define IOCTL_MN_DZPORT_CONNECT 0 // connect line #define IOCTL_MN_DZPORT_DISCONNECT 4 // disconnect line // Define client procedure types for interrupt routines. typedef VOID (*PDZPORT_INPUT_SERVICE) ( IN PVOID ClientContext, IN UCHAR InputByte ); typedef BOOLEAN (*PDZPORT_OUTPUT_SERVICE) ( IN PVOID ClientContext ); // Define port procedure types for service routines. typedef VOID (*PDZPORT_DISABLE_LINE) ( IN PVOID PortContext ); typedef VOID (*PDZPORT_ENABLE_LINE) ( IN PVOID PortContext ); typedef VOID (*PDZPORT_ENABLE_TRANSMIT) ( IN PVOID PortContext ); typedef VOID (*PDZPORT_OUTPUT_BYTE) ( IN PVOID PortContext, IN UCHAR OutputByte ); typedef BOOLEAN (*PDZPORT_SET_LINE_PARAMETERS) ( IN PVOID PortContext, IN ULONG BaudRate, IN ULONG CharacterLength, IN ULONG StopBits, IN ULONG Polarity, IN BOOLEAN ParityEnable ); // Define I/O request message formats. typedef struct _DZPORT_ACCEPT { PVOID PortContext; PDZPORT_ENABLE_LINE EnableLine; PDZPORT_DISABLE_LINE DisableLine; PDZPORT_ENABLE_TRANSMIT EnableTransmit; PDZPORT_OUTPUT_BYTE OutputByte; PDZPORT_SET_LINE_PARAMETERS SetLineParameters; PKINTERRUPT Interrupt; } DZPORT_ACCEPT, *PDZPORT_ACCEPT; typedef struct _DZPORT_CONNECT { PVOID ClientContext; PDZPORT_INPUT_SERVICE InputService; PDZPORT_OUTPUT_SERVICE OutputService; ULONG LineNumber; ULONG BaudRate; ULONG CharacterLength; ULONG StopBits; ULONG Polarity; BOOLEAN ParityEnable; } DZPORT_CONNECT, *PDZPORT_CONNECT; typedef struct _DZPORT_DISCONNECT { ULONG LineNumber; } DZPORT_DISCONNECT, *PDZPORT_DISCONNECT; #endif // _DZPORT