mirror of https://github.com/lianthony/NT4.0
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.
98 lines
2.9 KiB
98 lines
2.9 KiB
/**--------------------------------------------------**
|
|
** HPSCAN32.H: HP Scanner Application-based VDD.
|
|
** Environment: Windows NT.
|
|
** (C) Hewlett-Packard Company 1993.
|
|
** Author: Paula Tomlinson
|
|
**--------------------------------------------------**/
|
|
|
|
/**--------- HPSCAN32.DLL revision number ----------**/
|
|
#define HPSCAN32_MINOR_VERSION 0
|
|
#define HPSCAN32_MAJOR_VERSION 2
|
|
|
|
|
|
/**----------------- misc defines ------------------**/
|
|
#define MAX_SCANNERS 7
|
|
|
|
|
|
/**-------- DOS Device Driver Status Codes ---------**/
|
|
#define STAT_OK 0x0000 /* SUCCESS */
|
|
#define STAT_CE 0x8003 /* invalid command */
|
|
#define STAT_GF 0x800C /* general failure */
|
|
|
|
|
|
/**------- DOS Device Driver Command Codes ---------**/
|
|
#define CMD_IN_IOCTL 3
|
|
#define CMD_READ 4 /* read command */
|
|
#define CMD_IN_NOWAIT 5
|
|
#define CMD_IN_STAT 6
|
|
#define CMD_IN_FLUSH 7
|
|
#define CMD_WRITE 8 /* write command */
|
|
#define CMD_WRITE_VFY 9 /* write with verify */
|
|
#define CMD_OUT_STAT 10
|
|
#define CMD_OUT_FLUSH 11
|
|
#define CMD_OUT_IOCTL 12 /* output I/O control */
|
|
#define CMD_DEV_OPEN 13
|
|
#define CMD_DEV_CLOSE 14
|
|
|
|
|
|
/**------ DOS Device Driver SubCommand Codes -------**/
|
|
#define CMD_IOCTL_RESET 0x00
|
|
#define CMD_IOCTL_SCANJET01 0x01
|
|
#define CMD_IOCTL_SCANJET02 0x02
|
|
#define CMD_IOCTL_SCANJET03 0x03
|
|
#define CMD_IOCTL_SCANJET04 0x04
|
|
#define CMD_IOCTL_SCANJET05 0x05
|
|
#define CMD_IOCTL_REQSENSE 0x06
|
|
#define CMD_IOCTL_TESTUNITRDY 0x07
|
|
#define CMD_IOCTL_SENDDIAG 0x08
|
|
#define CMD_IOCTL_READBUFFER 0x09
|
|
#define CMD_IOCTL_WRITEBUFFER 0x0A
|
|
#define CMD_IOCTL_GETSCSI 0x0B
|
|
#define CMD_IOCTL_SETSCSI 0x0C
|
|
#define CMD_IOCTL_SCSIINQ 0x0D
|
|
#define CMD_IOCTL_GETCARD 0x0E
|
|
#define CMD_IOCTL_SETCARD 0x0F
|
|
#define CMD_IOCTL_GETALLCARDS 0x10
|
|
#define CMD_IOCTL_INTERNALERR 0x11
|
|
#define CMD_IOCTL_RAMTEST 0x12
|
|
#define CMD_IOCTL_GETDRVSEG 0x13
|
|
#define CMD_IOCTL_GETDRVREV 0x14
|
|
#define CMD_IOCTL_RESETDRV 0x15
|
|
#define CMD_IOCTL_SPII 0x16
|
|
|
|
|
|
/**---------- PASS_THROUGH_STRUCT ------------------**/
|
|
typedef struct
|
|
{
|
|
SCSI_PASS_THROUGH_DIRECT sptCmd;
|
|
UCHAR ucSenseBuf[32];
|
|
} PASS_THROUGH_STRUCT;
|
|
|
|
|
|
/**---- IOCTL Structure from the DOS Stub driver ---**/
|
|
typedef struct
|
|
{
|
|
USHORT Command;
|
|
USHORT Status;
|
|
USHORT Count;
|
|
USHORT Offset;
|
|
USHORT Segment;
|
|
} HPSCAN_IOCTL;
|
|
typedef HPSCAN_IOCTL *PHPSCAN_IOCTL;
|
|
|
|
|
|
/**-------- HPSCAN32.C, private prototypes ---------**/
|
|
HANDLE HPScannerOpen(VOID);
|
|
BOOL HPScannerClose(HANDLE);
|
|
ULONG HPScannerRead(HANDLE, PCHAR, ULONG);
|
|
ULONG HPScannerWrite(HANDLE, PCHAR, ULONG);
|
|
ULONG HPScannerIOCTL(HANDLE, USHORT, PCHAR, ULONG);
|
|
VOID HPVDD_DebugPrint(ULONG, LPTSTR);
|
|
|
|
|
|
/**-------- HPSCAN32.C, public prototypes ----------**/
|
|
BOOL VDDLibMain(HINSTANCE, ULONG, LPVOID);
|
|
VOID VDDInit(VOID);
|
|
VOID VDDDispatch(VOID);
|
|
ULONG APIENTRY VDDScannerCommand(USHORT, PCHAR, ULONG);
|
|
|