|
|
/***************************************************************************
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
|