124 lines
2.1 KiB
C
124 lines
2.1 KiB
C
/*++
|
||
|
||
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
|
||
|