Windows NT 4.0 source code leak
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

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