00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 
00022 
00023 
00024 
00025 
00026 
#ifndef _DZPORT
00027 
#define _DZPORT
00028 
00029 
00030 
00031 
00032 
00033 #define IOCTL_MN_DZPORT_CONNECT 0          // connect line
00034 #define IOCTL_MN_DZPORT_DISCONNECT 4       // disconnect line
00035 
00036 
00037 
00038 
00039 
00040 
typedef
00041 
VOID
00042 (*PDZPORT_INPUT_SERVICE) (
00043     IN PVOID ClientContext,
00044     IN UCHAR InputByte
00045     );
00046 
00047 
typedef
00048 BOOLEAN
00049 (*PDZPORT_OUTPUT_SERVICE) (
00050     IN PVOID ClientContext
00051     );
00052 
00053 
00054 
00055 
00056 
00057 
typedef
00058 
VOID
00059 (*PDZPORT_DISABLE_LINE) (
00060     IN PVOID PortContext
00061     );
00062 
00063 
typedef
00064 
VOID
00065 (*PDZPORT_ENABLE_LINE) (
00066     IN PVOID PortContext
00067     );
00068 
00069 
typedef
00070 
VOID
00071 (*PDZPORT_ENABLE_TRANSMIT) (
00072     IN PVOID PortContext
00073     );
00074 
00075 
typedef
00076 
VOID
00077 (*PDZPORT_OUTPUT_BYTE) (
00078     IN PVOID PortContext,
00079     IN UCHAR OutputByte
00080     );
00081 
00082 
typedef
00083 BOOLEAN
00084 (*PDZPORT_SET_LINE_PARAMETERS) (
00085     IN PVOID PortContext,
00086     IN ULONG BaudRate,
00087     IN ULONG CharacterLength,
00088     IN ULONG StopBits,
00089     IN ULONG Polarity,
00090     IN BOOLEAN ParityEnable
00091     );
00092 
00093 
00094 
00095 
00096 
00097 typedef struct _DZPORT_ACCEPT {
00098     PVOID PortContext;
00099     PDZPORT_ENABLE_LINE EnableLine;
00100     PDZPORT_DISABLE_LINE DisableLine;
00101     PDZPORT_ENABLE_TRANSMIT EnableTransmit;
00102     PDZPORT_OUTPUT_BYTE OutputByte;
00103     PDZPORT_SET_LINE_PARAMETERS SetLineParameters;
00104     PKINTERRUPT Interrupt;
00105 } 
DZPORT_ACCEPT, *
PDZPORT_ACCEPT;
00106 
00107 typedef struct _DZPORT_CONNECT {
00108     PVOID ClientContext;
00109     PDZPORT_INPUT_SERVICE InputService;
00110     PDZPORT_OUTPUT_SERVICE OutputService;
00111     ULONG 
LineNumber;
00112     ULONG BaudRate;
00113     ULONG CharacterLength;
00114     ULONG StopBits;
00115     ULONG Polarity;
00116     BOOLEAN 
ParityEnable;
00117 } 
DZPORT_CONNECT, *
PDZPORT_CONNECT;
00118 
00119 typedef struct _DZPORT_DISCONNECT {
00120     ULONG 
LineNumber;
00121 } 
DZPORT_DISCONNECT, *
PDZPORT_DISCONNECT;
00122 
00123 
#endif // _DZPORT
00124