windows-nt/Source/XPSP1/NT/base/mvdm/fax/faxcomm.h
2020-09-26 16:20:57 +08:00

65 lines
2.1 KiB
C

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