aspi.h 2.41 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
/* ASPI definitions used for both WINASPI and WNASPI32
 *
 * Copyright (C) 2000 David Elliott
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the Free Software
17
 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
18
 */
Alexandre Julliard's avatar
Alexandre Julliard committed
19

20 21 22
#ifndef __WINE_ASPI_H
#define __WINE_ASPI_H

23 24
#include <stdarg.h>

25
#include "windef.h"
26
#include "winbase.h"
Alexandre Julliard's avatar
Alexandre Julliard committed
27

28
#include "pshpack1.h"
29 30 31 32 33
#ifdef __cplusplus
extern "C" {
#endif /* #ifdef __cplusplus */

/*********** OLD ****************/
Alexandre Julliard's avatar
Alexandre Julliard committed
34 35

/* Target status codes */
Alexandre Julliard's avatar
Alexandre Julliard committed
36 37 38 39 40 41 42
#define STATUS_GOOD             0x00
#define STATUS_CHKCOND          0x02
#define STATUS_BUSY             0x08
#define STATUS_RESCONF          0x18

#define ASPI_POSTING(prb) (prb->SRB_Flags & 0x1)

43
/* WNASPI32/WINASPI defs */
Alexandre Julliard's avatar
Alexandre Julliard committed
44 45
#define HOST_TO_TARGET(prb) (((prb->SRB_Flags>>3) & 0x3) == 0x2)
#define TARGET_TO_HOST(prb) (((prb->SRB_Flags>>3) & 0x3) == 0x1)
46
#define NO_DATA_TRANSFERRED(prb) (((prb->SRB_Flags>>3) & 0x3) == 0x3)
Alexandre Julliard's avatar
Alexandre Julliard committed
47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78


#define INQUIRY_VENDOR          8

#define MUSTEK_SCSI_AREA_AND_WINDOWS 0x04
#define MUSTEK_SCSI_READ_SCANNED_DATA 0x08
#define MUSTEK_SCSI_GET_IMAGE_STATUS 0x0f
#define MUSTEK_SCSI_ADF_AND_BACKTRACE 0x10
#define MUSTEK_SCSI_CCD_DISTANCE 0x11
#define MUSTEK_SCSI_START_STOP 0x1b

#define CMD_TEST_UNIT_READY 0x00
#define CMD_REQUEST_SENSE 0x03
#define CMD_INQUIRY 0x12

/* scanner commands - just for debug */
#define CMD_SCAN_GET_DATA_BUFFER_STATUS 0x34
#define CMD_SCAN_GET_WINDOW 0x25
#define CMD_SCAN_OBJECT_POSITION 0x31
#define CMD_SCAN_READ 0x28
#define CMD_SCAN_RELEASE_UNIT 0x17
#define CMD_SCAN_RESERVE_UNIT 0x16
#define CMD_SCAN_SCAN 0x1b
#define CMD_SCAN_SEND 0x2a
#define CMD_SCAN_CHANGE_DEFINITION 0x40

#define INQURIY_CMDLEN 6
#define INQURIY_REPLY_LEN 96
#define INQUIRY_VENDOR 8

#define SENSE_BUFFER(prb) (&prb->CDBByte[prb->SRB_CDBLen])

79 80 81
#ifdef __cplusplus
}
#endif /* #ifdef __cplusplus */
82
#include "poppack.h"
83

Alexandre Julliard's avatar
Alexandre Julliard committed
84
#endif