summaryrefslogtreecommitdiffstats
path: root/private/mvdm/fax/wowfaxui/wowfaxui.h
diff options
context:
space:
mode:
Diffstat (limited to 'private/mvdm/fax/wowfaxui/wowfaxui.h')
-rw-r--r--private/mvdm/fax/wowfaxui/wowfaxui.h164
1 files changed, 164 insertions, 0 deletions
diff --git a/private/mvdm/fax/wowfaxui/wowfaxui.h b/private/mvdm/fax/wowfaxui/wowfaxui.h
new file mode 100644
index 000000000..1cca71d96
--- /dev/null
+++ b/private/mvdm/fax/wowfaxui/wowfaxui.h
@@ -0,0 +1,164 @@
+//****************************************************************************
+// Generic Win 3.1 fax printer driver support
+//
+// 02-jan-95 nandurir created.
+// 14-mar-95 reedb Use GDI hooks to move most functionality to UI.
+// 16-aug-95 reedb Move to kernel mode. Many declarations and
+// definitions moved from FAXCOMM.H to this file.
+//
+//****************************************************************************
+
+#include "stddef.h"
+#include "windows.h"
+#include "winddi.h"
+
+#include "faxcomm.h"
+#include "winspool.h"
+
+// The following include is to pickup the definitions for
+// the DrvUpgradePrinter private API. These definitions should be in public.
+
+#include "..\..\..\windows\spooler\inc\splapip.h"
+
+// WOWFAX component file names.
+#define WOWFAX_DLL_NAME L"WOWFAX.DLL"
+#define WOWFAXUI_DLL_NAME L"WOWFAXUI.DLL"
+
+// String table constants:
+#define WOWFAX_MAX_USER_MSG_LEN 256
+
+#define WOWFAX_UNKNOWN_PROB_STR 0x100
+#define WOWFAX_NAME_STR 0x101
+#define WOWFAX_NOWOW_STR 0x102
+#define WOWFAX_SELF_CONFIG_STR 0x103
+#define WOWFAX_ENABLE_CONFIG_STR 0x104
+
+// Dialog constants:
+#define IDD_NULLPROP 0x200
+#define IDD_DOCPROP 0x201
+
+// Text control constants:
+#define IDC_STATIC -1
+#define IDC_FEEDBACK 0x300
+
+// InterProcCommHandler command constants
+#define DRVFAX_SETMAPDATA 0x1
+#define DRVFAX_SENDTOWOW 0x2
+#define DRVFAX_SENDNOTIFYWOW 0x3
+#define DRVFAX_CREATEMAP 0x4
+#define DRVFAX_DESTROYMAP 0x5
+#define DRVFAX_CALLWOW 0x6
+
+// Logging macros
+/* XLATOFF */
+// #define IFLOG(l) if (l==iFaxLogLevel && (iFaxLogLevel&1) || l<=iFaxLogLevel && !(iFaxLogLevel&1) || l == 0)
+
+#undef LOG
+#ifdef NOLOG
+#define LOG(l,args)
+#define SETREQLOG(l)
+#else
+#define SETREQLOG(l) iReqFaxLogLevel = l
+#define LOG(l,args) {SETREQLOG(l) ; faxlogprintf args;}
+#endif
+
+#if DBG
+extern INT iReqFaxLogLevel;
+#define LOGDEBUG(l,args) LOG(l,args)
+#else
+#define LOGDEBUG(l,args)
+#endif
+/* XLATON */
+
+
+//
+// This structure is used to hold 16-bit fax driver data stored
+// in the registry.
+//
+
+typedef struct _REGFAXDRVINFO16 {
+ LPTSTR lpDriverName;
+ LPTSTR lpPortName;
+} REGFAXDRVINFO16, *LPREGFAXDRVINFO16;
+
+// The the escapes in the following escape range all need a valid HDC.
+// Range is inclusive lower, exclusive upper bound. See GDISPOOL.H for
+// the actual escape definitions.
+
+#define DOCUMENTEVENT_HDCFIRST 5
+#define DOCUMENTEVENT_HDCLAST 11
+
+// Prototypes for public functions implemented in WFSHEETS.C:
+PVOID MyGetPrinter(HANDLE hPrinter, DWORD level);
+
+// Prototypes for public functions implemented in WFUPGRAD.C:
+
+BOOL DoUpgradePrinter(DWORD dwLevel, LPDRIVER_UPGRADE_INFO_1W lpDrvUpgradeInfo);
+
+// Prototypes for public functions implemented in WFHELPERS.C:
+
+LPREGFAXDRVINFO16 Get16BitDriverInfoFromRegistry(PWSTR pDeviceName);
+
+VOID faxlogprintf(LPTSTR pszFmt, ...);
+VOID LogFaxDev(LPTSTR pszTitle, LPFAXDEV lpFaxDev);
+VOID LogWowFaxInfo(LPWOWFAXINFO lpWowFaxInfo);
+BOOL ValidateFaxDev(LPFAXDEV lpFaxDev);
+VOID Free16BitDriverInfo(LPREGFAXDRVINFO16 lpRegFaxDrvInfo16);
+BOOL FaxMapHandler(LPFAXDEV lpdev, UINT iAction);
+BOOL InterProcCommHandler(LPFAXDEV lpdev, UINT iAction);
+LPVOID WFHeapAlloc(DWORD dwBytes, LPWSTR lpszWhoCalled);
+LPVOID WFLocalAlloc(DWORD dwBytes, LPWSTR lpszWhoCalled);
+HWND FindWowFaxWindow(void);
+LPTSTR DupTokenW(LPTSTR lpTok);
+
+// Prototypes for functions which DrvDocumentEvent dispatches,
+// implemented in WOWFAXUI.C:
+
+int DocEvntCreateDCpre(
+ LPWSTR lpszDevice,
+ DEVMODEW *pDevModIn,
+ DEVMODEW **pDevModOut
+);
+
+int DocEvntResetDCpre(
+ HDC hdc,
+ DEVMODEW *pDevModIn,
+ DEVMODEW **pDevModOut
+);
+
+int DocEvntCreateDCpost(
+ HDC hdc,
+ DEVMODEW *pDevModIn
+);
+
+int DocEvntResetDCpost(
+ HDC hdc,
+ DEVMODEW *pDevModIn
+);
+
+int DocEvntStartDoc(
+HDC hdc
+);
+
+int DocEvntDeleteDC(
+ HDC hdc
+);
+
+int DocEvntEndPage(
+ HDC hdc
+);
+
+int DocEvntEndDoc(
+HDC hdc
+);
+
+//
+// Memory allocation macro.
+//
+
+#if DBG
+#define WFLOCALALLOC(dwBytes, lpszWhoCalled) WFLocalAlloc(dwBytes, lpszWhoCalled)
+#else
+#define WFLOCALALLOC(dwBytes, lpszWhoCalled) LocalAlloc(LPTR, dwBytes)
+#endif
+