Leaked source code of windows server 2003
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
#ifndef _PDEV_H
#define _PDEV_H
#include <minidrv.h>
#include <stdio.h>
#include <prcomoem.h>
//
// OEM Signature and version.
//
#define OEM_SIGNATURE 'CPPL' // CASIO CAPPL/B
#define DLLTEXT(s) "CPPL: " s
#define OEM_VERSION 0x00010000L
#define VALID_PDEVOBJ(pdevobj) \
((pdevobj) && (pdevobj)->dwSize >= sizeof(DEVOBJ) && \ (pdevobj)->hEngine && (pdevobj)->hPrinter && \ (pdevobj)->pPublicDM && (pdevobj)->pDrvProcs )
//
// ASSERT_VALID_PDEVOBJ can be used to verify the passed in "pdevobj". However,
// it does NOT check "pdevOEM" and "pOEMDM" fields since not all OEM DLL's create
// their own pdevice structure or need their own private devmode. If a particular
// OEM DLL does need them, additional checks should be added. For example, if
// an OEM DLL needs a private pdevice structure, then it should use
// ASSERT(VALID_PDEVOBJ(pdevobj) && pdevobj->pdevOEM && ...)
//
#define ASSERT_VALID_PDEVOBJ(pdevobj) ASSERT(VALID_PDEVOBJ(pdevobj))
// Debug text.
#define ERRORTEXT(s) "ERROR " s
////////////////////////////////////////////////////////
// OEM UD Type Defines
////////////////////////////////////////////////////////
// For Cappl/Bace
typedef struct tag_CPPL_EXTRADATA { OEM_DMEXTRAHEADER dmExtraHdr; } CPPL_EXTRADATA, *PCPPL_EXTRADATA;
typedef struct { DWORD dwGeneral; SHORT sRes; BYTE jModel; struct st_cmd { char *cmd; WORD cmdlen; } cmdPaperSize; BYTE jFreePaper; // Yes(1). No(0)
struct st_fps { WORD wX; WORD wY; WORD wXmm; WORD wYmm; } stFreePaperSize; BYTE jMPFSetting; BYTE jAutoSelect; WORD wOldX; WORD wOldY; } MYPDEV, *PMYPDEV;
#define FG_HAS_EMUL 0x00000001
#define MINIPDEV_DATA(p) ((p)->pdevOEM)
#define POEMUD_EXTRADATA PCPPL_EXTRADATA
#define OEMUD_EXTRADATA CPPL_EXTRADATA
// Value for byModel
#define MD_CP2000 0x00
#define MD_CP3000 0x01
// Value for byMPFSetting
#define MPF_NOSET 0x00
#define MPF_A3 0x01
#define MPF_B4 0x02
#define MPF_A4 0x03
#define MPF_B5 0x04
#define MPF_LETTER 0x05
#define MPF_POSTCARD 0x06
#define MPF_A5 0x07
extern BOOL BInitOEMExtraData(POEMUD_EXTRADATA pOEMExtra); extern BMergeOEMExtraData(POEMUD_EXTRADATA pdmIn, POEMUD_EXTRADATA pdmOut);
#endif // _PDEV_H
|