| /*************************************************************************** | 
 |                           dpti_ioctl.h  -  description | 
 |                              ------------------- | 
 |     begin                : Thu Sep 7 2000 | 
 |     copyright            : (C) 2001 by Adaptec | 
 |  | 
 |     See Documentation/scsi/dpti.txt for history, notes, license info | 
 |     and credits | 
 |  ***************************************************************************/ | 
 |  | 
 | /*************************************************************************** | 
 |  *                                                                         * | 
 |  *   This program is free software; you can redistribute it and/or modify  * | 
 |  *   it under the terms of the GNU General Public License as published by  * | 
 |  *   the Free Software Foundation; either version 2 of the License, or     * | 
 |  *   (at your option) any later version.                                   * | 
 |  *                                                                         * | 
 |  ***************************************************************************/ | 
 |  | 
 | /*************************************************************************** | 
 |  * This file is generated from  osd_unix.h                                 * | 
 |  * *************************************************************************/ | 
 |  | 
 | #ifndef _dpti_ioctl_h | 
 | #define _dpti_ioctl_h | 
 |  | 
 | // IOCTL interface commands | 
 |  | 
 | #ifndef _IOWR | 
 | # define _IOWR(x,y,z)	(((x)<<8)|y) | 
 | #endif | 
 | #ifndef _IOW | 
 | # define _IOW(x,y,z)	(((x)<<8)|y) | 
 | #endif | 
 | #ifndef _IOR | 
 | # define _IOR(x,y,z)	(((x)<<8)|y) | 
 | #endif | 
 | #ifndef _IO | 
 | # define _IO(x,y)	(((x)<<8)|y) | 
 | #endif | 
 | /* EATA PassThrough Command	*/ | 
 | #define EATAUSRCMD      _IOWR('D',65,EATA_CP) | 
 | /* Set Debug Level If Enabled	*/ | 
 | #define DPT_DEBUG       _IOW('D',66,int) | 
 | /* Get Signature Structure	*/ | 
 | #define DPT_SIGNATURE   _IOR('D',67,dpt_sig_S) | 
 | #if defined __bsdi__ | 
 | #define DPT_SIGNATURE_PACKED   _IOR('D',67,dpt_sig_S_Packed) | 
 | #endif | 
 | /* Get Number Of DPT Adapters	*/ | 
 | #define DPT_NUMCTRLS    _IOR('D',68,int) | 
 | /* Get Adapter Info Structure	*/ | 
 | #define DPT_CTRLINFO    _IOR('D',69,CtrlInfo) | 
 | /* Get Statistics If Enabled	*/ | 
 | #define DPT_STATINFO    _IO('D',70) | 
 | /* Clear Stats If Enabled	*/ | 
 | #define DPT_CLRSTAT     _IO('D',71) | 
 | /* Get System Info Structure	*/ | 
 | #define DPT_SYSINFO     _IOR('D',72,sysInfo_S) | 
 | /* Set Timeout Value		*/ | 
 | #define DPT_TIMEOUT     _IO('D',73) | 
 | /* Get config Data  		*/ | 
 | #define DPT_CONFIG      _IO('D',74) | 
 | /* Get Blink LED Code	        */ | 
 | #define DPT_BLINKLED    _IOR('D',75,int) | 
 | /* Get Statistical information (if available) */ | 
 | #define DPT_STATS_INFO        _IOR('D',80,STATS_DATA) | 
 | /* Clear the statistical information          */ | 
 | #define DPT_STATS_CLEAR       _IO('D',81) | 
 | /* Get Performance metrics */ | 
 | #define DPT_PERF_INFO        _IOR('D',82,dpt_perf_t) | 
 | /* Send an I2O command */ | 
 | #define I2OUSRCMD	_IO('D',76) | 
 | /* Inform driver to re-acquire LCT information */ | 
 | #define I2ORESCANCMD	_IO('D',77) | 
 | /* Inform driver to reset adapter */ | 
 | #define I2ORESETCMD	_IO('D',78) | 
 | /* See if the target is mounted */ | 
 | #define DPT_TARGET_BUSY	_IOR('D',79, TARGET_BUSY_T) | 
 |  | 
 |  | 
 |   /* Structure Returned From Get Controller Info                             */ | 
 |  | 
 | typedef struct { | 
 | 	uCHAR    state;            /* Operational state               */ | 
 | 	uCHAR    id;               /* Host adapter SCSI id            */ | 
 | 	int      vect;             /* Interrupt vector number         */ | 
 | 	int      base;             /* Base I/O address                */ | 
 | 	int      njobs;            /* # of jobs sent to HA            */ | 
 | 	int      qdepth;           /* Controller queue depth.         */ | 
 | 	int      wakebase;         /* mpx wakeup base index.          */ | 
 | 	uINT     SGsize;           /* Scatter/Gather list size.       */ | 
 | 	unsigned heads;            /* heads for drives on cntlr.      */ | 
 | 	unsigned sectors;          /* sectors for drives on cntlr.    */ | 
 | 	uCHAR    do_drive32;       /* Flag for Above 16 MB Ability    */ | 
 | 	uCHAR    BusQuiet;         /* SCSI Bus Quiet Flag             */ | 
 | 	char     idPAL[4];         /* 4 Bytes Of The ID Pal           */ | 
 | 	uCHAR    primary;          /* 1 For Primary, 0 For Secondary  */ | 
 | 	uCHAR    eataVersion;      /* EATA Version                    */ | 
 | 	uINT     cpLength;         /* EATA Command Packet Length      */ | 
 | 	uINT     spLength;         /* EATA Status Packet Length       */ | 
 | 	uCHAR    drqNum;           /* DRQ Index (0,5,6,7)             */ | 
 | 	uCHAR    flag1;            /* EATA Flags 1 (Byte 9)           */ | 
 | 	uCHAR    flag2;            /* EATA Flags 2 (Byte 30)          */ | 
 | } CtrlInfo; | 
 |  | 
 | typedef struct { | 
 | 	uSHORT length;		// Remaining length of this | 
 | 	uSHORT drvrHBAnum;	// Relative HBA # used by the driver | 
 | 	uINT baseAddr;		// Base I/O address | 
 | 	uSHORT blinkState;	// Blink LED state (0=Not in blink LED) | 
 | 	uCHAR pciBusNum;	// PCI Bus # (Optional) | 
 | 	uCHAR pciDeviceNum;	// PCI Device # (Optional) | 
 | 	uSHORT hbaFlags;	// Miscellaneous HBA flags | 
 | 	uSHORT Interrupt;	// Interrupt set for this device. | 
 | #   if (defined(_DPT_ARC)) | 
 | 	uINT baseLength; | 
 | 	ADAPTER_OBJECT *AdapterObject; | 
 | 	LARGE_INTEGER DmaLogicalAddress; | 
 | 	PVOID DmaVirtualAddress; | 
 | 	LARGE_INTEGER ReplyLogicalAddress; | 
 | 	PVOID ReplyVirtualAddress; | 
 | #   else | 
 | 	uINT reserved1;		// Reserved for future expansion | 
 | 	uINT reserved2;		// Reserved for future expansion | 
 | 	uINT reserved3;		// Reserved for future expansion | 
 | #   endif | 
 | } drvrHBAinfo_S; | 
 |  | 
 | typedef struct TARGET_BUSY | 
 | { | 
 |   uLONG channel; | 
 |   uLONG id; | 
 |   uLONG lun; | 
 |   uLONG isBusy; | 
 | } TARGET_BUSY_T; | 
 |  | 
 | #endif | 
 |  |