windows-nt/Source/XPSP1/NT/printscan/fax/provider/t30/class1/class1.h

124 lines
5.1 KiB
C
Raw Normal View History

2020-09-26 03:20:57 -05:00
/***************************************************************************
Name : CLASS1.H
Comment : Main include file for Windows Comm Class-1 Modem driver
Copyright (c) Microsoft Corp. 1991 1992 1993
Revision Log
Date Name Description
-------- ----- ---------------------------------------------------------
***************************************************************************/
/**---------------------- #define of sizes of things ---------------------
Frames can be at most 2.55 secs (sent) or 3.45 secs (recvd) long, or
2.55 * 300/8 = 96 bytes and 132 bytes long respectively
Dialstrings are limited to 60 bytes (arbitrarily)
Commands (except dial) are never more than about 10-20 bytes long, so
we use a buffer of 40 bytes. Replies are never big at all, but we
might hold a frame in there, so keep it same size as a Framebuffer
The Dial command is ATDT <string><CR>, so we use 60+10 bytes buffer
---------------------- #define of sizes of things ---------------------**/
/**---------------------- #define of other things ---------------------
FAX_CLASSn is used in Modem.FaxClass.
CHECK_PATTERN is used in the Guard elements.
ECM_FRAMESIZE in T30.C
---------------------- #define of other things ---------------------**/
#define CR 0x0d
#define LF 0x0a
#define DLE 0x10 // DLE = ^P = 16d = 10h
#define ETX 0x03
#ifdef MDDI
# define MDDISTMT(x) x
# define HLINE_2 ((HLINE)2)
# define HMODEM_3 ((HMODEM)3)
#else // MDDI
# define MDDISTMT(x)
#endif //MDDI
extern BYTE bDLEETX[];
extern BYTE bDLEETXOK[];
#define EndMode(pTG) { pTG->Class1Modem.DriverMode = IDLE; \
pTG->Class1Modem.ModemMode = COMMAND; \
pTG->Class1Modem.CurMod = 0; }
/****************** begin prototypes from framing.c *****************/
BOOL SWFramingSendSetup(PThrdGlbl pTG, BOOL fOn);
BOOL SWFramingRecvSetup(PThrdGlbl pTG, BOOL fOn);
BOOL SWFramingSendFrame(PThrdGlbl pTG, LPBYTE lpb, USHORT uCount, USHORT uFlags);
BOOL SWFramingSendFlags(PThrdGlbl pTG, USHORT uHowMany);
USHORT SWFramingRecvFrame(PThrdGlbl pTG, LPBYTE lpb, USHORT cbMax, ULONG ulTimeout, USHORT far* lpcbRecv);
BOOL SWFramingSendPreamble(PThrdGlbl pTG, USHORT uCurMod);
BOOL SWFramingSendPostamble(PThrdGlbl pTG, USHORT uCurMod);
/***************** end of prototypes from framing.c *****************/
// from ddi.c
void SendZeros1(PThrdGlbl pTG, USHORT uCount);
BOOL iModemDrain(PThrdGlbl pTG);
#define iModemNoPauseDialog(pTG, s, l, t, w) \
iiModemDialog(pTG, s, l, t, FALSE, 1, FALSE, (CBPSTR)w, (CBPSTR)(NULL))
#define iModemNoPauseDialog2(pTG, s, l, t, w1, w2) \
iiModemDialog(pTG, s, l, t, FALSE, 1, FALSE, (CBPSTR)w1, (CBPSTR)w2, (CBPSTR)(NULL))
#define iModemNoPauseDialog3(pTG, s, l, t, w1, w2, w3) \
iiModemDialog(pTG, s, l, t, FALSE, 1, FALSE, (CBPSTR)w1, (CBPSTR)w2, (CBPSTR)w3, (CBPSTR)(NULL))
#define iModemPauseDialog(pTG, s, l, t, w) \
iiModemDialog(pTG, s, l, t, FALSE, 1, TRUE, (CBPSTR)w, (CBPSTR)(NULL))
#define iModemPauseDialog2(pTG, s, l, t, w1, w2) \
iiModemDialog(pTG, s, l, t, FALSE, 1, TRUE, (CBPSTR)w1, (CBPSTR)w2, (CBPSTR)(NULL))
#define iModemPauseDialog3(pTG, s, l, t, w1, w2, w3) \
iiModemDialog(pTG, s, l, t, FALSE, 1, TRUE, (CBPSTR)w1, (CBPSTR)w2, (CBPSTR)w3, (CBPSTR)(NULL))
#define iModemResp1( pTG, t, w) \
iiModemDialog(pTG, NULL, 0, t, FALSE, 1, FALSE, (CBPSTR)w, (CBPSTR)(NULL))
#define iModemResp2(pTG, t, w1, w2) \
iiModemDialog(pTG, NULL, 0, t, FALSE, 1, FALSE, (CBPSTR)w1, (CBPSTR)w2, (CBPSTR)(NULL))
#define iModemResp3(pTG, t, w1, w2, w3) \
iiModemDialog(pTG, NULL, 0, t, FALSE, 1, FALSE, (CBPSTR)w1, (CBPSTR)w2, (CBPSTR)w3, (CBPSTR)(NULL))
#define iModemResp4( pTG, t, w1, w2, w3, w4) \
iiModemDialog(pTG, NULL, 0, t, FALSE, 1, FALSE, (CBPSTR)w1, (CBPSTR)w2, (CBPSTR)w3, (CBPSTR)w4, (CBPSTR)(NULL))
#ifdef CL0
/****************** begin prototypes from class0.c *****************/
BOOL Class0ModemSendMode(PThrdGlbl pTG, HMODEM hModem, BOOL fHDLC);
BOOL Class0ModemSendMem(PThrdGlbl pTG, HMODEM hModem, LPBYTE lpb, USHORT uCount, USHORT uFlags);
USHORT Class0ModemRecvMode(PThrdGlbl pTG, HMODEM hModem, BOOL fHDLC, ULONG ulTimeout);
USHORT Class0ModemRecvMem(PThrdGlbl pTG, HMODEM hModem, LPBYTE lpb, USHORT cbMax, ULONG ulTimeout, USHORT far* lpcbRecv);
BOOL Class0SendData(PThrdGlbl pTG, LPB lpb, USHORT uCount, USHORT uFlags);
USHORT Class0RecvData(PThrdGlbl pTG, LPB lpb, USHORT cbMax, ULONG ulTimeout, USHORT far* lpcbRecv);
void Class0ModemEndRecv(PThrdGlbl pTG, HMODEM hModem);
/***************** end of prototypes from class0.c *****************/
#endif //CL0