NT4/private/ntos/miniport/scsiwdl/ncrcam/intercam.h
2020-09-30 17:12:29 +02:00

72 lines
2.2 KiB
C

/////////////////////////////////////////////////////////////////////////////
//
// Copyright (c) 1992 NCR Corporation
//
// INTERCAM.H
//
// Revisions:
//
/////////////////////////////////////////////////////////////////////////////
#ifndef INTERCAM_H
#define INTERCAM_H
/* this define keeps the SCSIRequestCCB the correct length for internal use */
#define FROMCAM /* not defining this will cause a filler added to
SCSIRequestCCB structure in CAM.H and cause us to have a
negative subscript for our filler in the ROMscsiCCB structure. */
#include "cam.h" /* CAM CCB structures */
#pragma pack(1) /* pack structures, cannot do it with compiler option
Zp because structures shared with the NT MiniPort
driver and NT upper layer drivers will be messed up.
We must pack only the structures shared with the
CAMcore. */
/* ROMCCBFields.Flags flags */
#define REAL_MODE 0x0001
#define SEL_ALLOCED 0x0002
#define SHAD_FLAG 0x0004
/*#define DEFAULT_TIMEOUT 2 /*seconds*/ /* Now defined in cam.c */
typedef struct
{
/* 0 */ ushort Flags; /* not used in 700 cores */
/* 2 */ ushort DMAChannel; /* not used in 700 cores */
/* 4 */ ulong DataPhys;
/* 8 */ ulong DataVirt;
/* C */ ulong SensePhys;
/* 10 */ ulong SenseVirt; /* not used in 700 cores */
/* 14 */ ushort CDBLength;
/* 16 */ uchar CDB[16];
/* 26 */ ulong camlink; /* not used in 700 cores */
/* 2A */ ulong CCBPhys; /* not used in 700 cores */
/* 2E */
} ROMCCBFields; /* 46 bytes */
#define MAX_CCB_LEN 192
/* Changing defn below as it is negative */
#define ROMscsiCCB_FILLER_LEN \
(MAX_CCB_LEN - (sizeof(SCSIRequestCCB)+sizeof(ROMCCBFields)))
typedef struct
{
/* 0 */ SCSIRequestCCB SCSIReq; /* CAM CCB data structure */
/* 4F */ ROMCCBFields ROMFields; /* Unique fields used in CAMcores */
/* Try to get rid of this in 3.0*/
/* 7D */ uchar filler[ROMscsiCCB_FILLER_LEN]; /* 66 bytes */
} ROMscsiCCB, *PROMscsiCCB;
/* not needed for Windows NT */
/* ulong CAMInterrupt(uchar far * GlobalData);
ushort CAMInit( CAMGlobals far *cgp);
ulong CAMStart( CAMGlobals far *cgp, ROMscsiCCB far *rsp);
*/
#pragma pack( )
#endif