|
|
/***************************************************************************
Name : CAS.C Comment :
Copyright (c) Microsoft Corp. 1991, 1992, 1993
Revision Log Date Name Description -------- ----- --------------------------------------------------------- ***************************************************************************/
#ifdef CAS
// Copy of the DCX and PCX header from dcx.h in \wfw\efaxpump
#define MAX_DCX_PAGES 1023
typedef struct DCXHDR_s { DWORD id; // 4 byte integer =987654321
DWORD Offset[MAX_DCX_PAGES+1];// array of 4 byte integers showing page offsets
} DCXHDR;
typedef struct PCXHDR_s { char id; // always = 0Ah
char version; // value of 2 is suggested, higher allowed
char encode_method; // always = 1
char bitsperpixel; // =1 for fax mode transfer
short xtopleft; short ytopleft; short width; short height; short hDPI; short vDPI; char pal[48]; char reserv; char colorplanes; // must be 1 for fax mode
short horiz; short nPaletteInfo; // palette info. must be 1
char filler[58]; } PCXHDR;
/***------------------ Interface to CAS.C ------------------***/
BOOL __export WINAPI CASModemFind(void); typedef BOOL (WINAPI *LPFN_CASMODEMFIND)(void); // returns TRUE if CAS is installed, FALSE if not
VOID __export WINAPI CASInit(void); typedef BOOL (WINAPI *LPFN_CASINIT)(void); // init stuff, if any
VOID __export WINAPI CASDeInit(void); typedef VOID (WINAPI *LPFN_CASDEINIT)(void); // if you want to down any shutdown-cleanup
// (e.g. if there are pending receives, does CAS
// save them for you across a reboot?)
BOOL __export WINAPI CASSendFile(ATOM aPhone, ATOM aFileMG3, ATOM aFileIFX, ATOM aFileEFX, ATOM aFileDCX); typedef BOOL (WINAPI *LPFN_CASSENDFILE)(ATOM aPhone, ATOM aFileMG3, ATOM aFileIFX, ATOM aFileEFX, ATOM aFileDCX); // Send. Returns immediately with TRUE unless
// some internal DEBUGCHK-like error or multiple
// sends. Handles only one at a time & saves CAS handle
// internally
WORD __export WINAPI CASCheckSent(void); typedef WORD (WINAPI *LPFN_CASCHECKSENT)(void); // Checks if pending send (only one at any time), was sent.
// Returns 0 if still pending, non-zero if done, with success/error.
// The return value should be in LOBYTE=result HIBYTE=extended-error
// form. See FILET30.H, line 29-38 for valid values/combinations.
USHORT __export WINAPI CASGetNumReceived(void); typedef USHORT (WINAPI *LPFN_CASGETNUMRECEIVED)(void); // Get *number* of pending receives (successful or failure) only.
// Don't actually dequeue any.
DWORD __export WINAPI CASGetNextRecv(LPSTR szPath, LPSTR szFile); typedef DWORD (WINAPI *LPFN_CASGETNEXTRECV)(LPSTR szPath, LPSTR szFile); // gives the spool dir (recvd file in all forms _must_ be put
// there for pump to get it) and a suggested filename (8.3 format)
// which has been checked to be "safe" to create in that directory.
// File name/extension can be changed as neccesary.
// Return value must be a DWORD with the return filename atom
// in LOWORD and result/extendederr in HIWORD (i.e result
// is LOBYTE(HIWORD()) and exterr is HIBYTE(HIWORD()).
// See lines 54--66 of FILET30.H for valid return values
VOID __export WINAPI CASAbort(void); typedef VOID (WINAPI *LPFN_CASABORT)(void); // Abort current Send/Recv if possible.
// Return when abort is **complete**. Can stub it out currently
BOOL __export WINAPI CASSetAutoAnswer(BOOL fOn, USHORT uNumRings); typedef BOOL (WINAPI *LPFN_CASSETAUTOANSWER)(BOOL fOn, USHORT uNumRings); // fOn==TRUE--answer On, FALSE--answer Off
// uNumRings == after X rings. (0 or more)
BOOL __export WINAPI CASSetBC(LPBC lpbc, BCTYPE bctype); typedef BOOL (WINAPI *LPFN_CASSETBC)(LPBC lpbc, BCTYPE bctype);
// Finally, we should also see if we can implement any of Mike
// Ginsberg's INI settings on a CAS board.
#endif // CAS
|