summaryrefslogtreecommitdiffstats
path: root/private/mvdm/fax/faxcomm.h
diff options
context:
space:
mode:
Diffstat (limited to 'private/mvdm/fax/faxcomm.h')
-rw-r--r--private/mvdm/fax/faxcomm.h64
1 files changed, 64 insertions, 0 deletions
diff --git a/private/mvdm/fax/faxcomm.h b/private/mvdm/fax/faxcomm.h
new file mode 100644
index 000000000..df4d7bc05
--- /dev/null
+++ b/private/mvdm/fax/faxcomm.h
@@ -0,0 +1,64 @@
+//************************************************************************
+// Common header file for generic Win 3.1 fax printer driver support.
+//
+// History:
+// 02-jan-95 nandurir created.
+// 01-feb-95 reedb Clean-up, support printer install and bug fixes.
+// 14-mar-95 reedb Use GDI hooks to move most functionality to UI.
+// 16-aug-95 reedb Move to kernel mode. Move many declarations and
+// definitions to WOWFAXDD.H and WOWFAXUI.H.
+//
+//************************************************************************
+
+#include "wowfax.h"
+
+// The following structure ID appears as wfax when dumping byte (db) a FAXDEV:
+#define FAXDEV_ID ((DWORD)'xafw')
+
+//
+// This structure is shared between wowfax and wowfaxui - this keeps
+// the interface reliable, consistent and easy to maintain
+//
+
+typedef struct _FAXDEV {
+ ULONG id; // String to verify what we have
+ struct _FAXDEV *lpNext;
+ struct _FAXDEV *lpClient; // Pointer to client side FAXDEV
+ HDEV hdev; // Engine's handle to this structure
+
+ DWORD idMap; // Unique ID
+ DWORD cbMapLow; // Loword of size of mapped area
+ HANDLE hMap; // Handle to mapped file
+ TCHAR szMap[16]; // Name of mapped file
+
+ LPWOWFAXINFO lpMap;
+ DWORD offbits;
+
+ HBITMAP hbm; // Handle to bitmap for drawing
+ DWORD cPixPerByte;
+ DWORD bmFormat;
+ DWORD bmWidthBytes;
+ HSURF hbmSurf; // Associated surface
+
+ HWND hwnd;
+ DWORD tid;
+ DWORD lpinfo16;
+
+ HANDLE hDriver; // For access to spooler data
+ GDIINFO gdiinfo;
+ DEVINFO devinfo;
+ PDEVMODE pdevmode;
+} FAXDEV, *LPFAXDEV;
+
+// Macro to dword align for RISC
+//#define DRVFAX_DWORDALIGN(dw) ((dw) += ((dw) % 4) ? (4 - ((dw) % 4)) : 0)
+#define DRVFAX_DWORDALIGN(dw) ((dw) = (((dw) + 3) & ~3))
+
+// DrvEscape escape/action codes:
+
+#define DRV_ESC_GET_FAXDEV_PTR 0x8000
+#define DRV_ESC_GET_DEVMODE_PTR 0x8001
+#define DRV_ESC_GET_BITMAP_BITS 0x8002
+#define DRV_ESC_GET_SURF_INFO 0x8003
+
+