2025-04-27 07:49:33 -04:00

55 lines
2.2 KiB
C

//
// Filename : nt_com.h
// Contains : function and structure definitions used external to nt_com.c
// Author : D.A.Bartlett
//
/*::::::::::::::::::::::::::: Functions called from which thread identifiers */
#define RX /* Called from RX input thread only */
#define CPU /* Called from the CPU thread only */
#define RXCPU /* Called from the RX and CPU thread */
/*::::::::::::::::::::::::::::: Function protocols used by other host modules */
IMPORT void CPU host_com_heart_beat IPT0();
IMPORT void host_com_state IPT1(int, adapter);
IMPORT CPU void host_com_close_all IPT0();
IMPORT void host_com_disable_open IPT2(int, adapter, int, DisableOpen);
// from nt_ntfun.c
IMPORT void *AddNewIOStatusBlockToList(void **firstBlock,void **lastBlock,void *new);
IMPORT int RemoveCompletedIOCTLs(void **firstBlock, void **lastBlock);
IMPORT void *AllocStatusElement(void);
IMPORT int SendXOFFIoctl(HANDLE FileHandle,HANDLE Event,int Timeout,int Count,
int XoffChar, void *StatusElem);
IMPORT BOOL EnableMSRLSRRXmode(HANDLE FileHandle, HANDLE Event,
unsigned char EscapeChar);
IMPORT int FastSetCommMask(HANDLE FileHandle, HANDLE Event, ULONG CommMask);
IMPORT int FastGetCommModemStatus(HANDLE FileHandle,HANDLE Event,PULONG ModemStatus);
IMPORT BOOL FastWaitCommsOrCpuEvent(HANDLE FileHandle,PHANDLE CommsCPUWaitEvents,
int CommsEventInx, PULONG EvtMask,
PULONG Signalled);
// from nt_wcom.c
typedef HANDLE (*GCHfn)(WORD);
typedef BYTE (*GCSfn)(WORD);
extern HANDLE (*GetCommHandle)(WORD);
extern BYTE (*GetCommShadowMSR)(WORD);
#ifdef _RS232_H
IMPORT BOOL SyncLineSettings(HANDLE FileHandle, DCB *pdcb,
DIVISOR_LATCH *divisor_latch, LINE_CONTROL_REG *LCR_reg);
#endif
extern BOOL FastCommSetBaudRate(HANDLE FileHandle, int BaudRate);
extern BOOL FastCommSetLineControl(HANDLE FileHandle, UCHAR StopBits,
UCHAR Parity, UCHAR DataBits);
extern BOOL FastCommGetLineControl(HANDLE FileHandle, UCHAR *StopBits,
UCHAR *Parity, UCHAR *DataBits);
extern void com_int_data(int adapter, int *controller, int *line);
extern void setup_RTSDTR(int adapter);