| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | /*************************************************************************** | 
 | 2 |                           dpti_ioctl.h  -  description | 
 | 3 |                              ------------------- | 
 | 4 |     begin                : Thu Sep 7 2000 | 
 | 5 |     copyright            : (C) 2001 by Adaptec | 
 | 6 |  | 
 | 7 |     See Documentation/scsi/dpti.txt for history, notes, license info | 
 | 8 |     and credits | 
 | 9 |  ***************************************************************************/ | 
 | 10 |  | 
 | 11 | /*************************************************************************** | 
 | 12 |  *                                                                         * | 
 | 13 |  *   This program is free software; you can redistribute it and/or modify  * | 
 | 14 |  *   it under the terms of the GNU General Public License as published by  * | 
 | 15 |  *   the Free Software Foundation; either version 2 of the License, or     * | 
 | 16 |  *   (at your option) any later version.                                   * | 
 | 17 |  *                                                                         * | 
 | 18 |  ***************************************************************************/ | 
 | 19 |  | 
 | 20 | /*************************************************************************** | 
 | 21 |  * This file is generated from  osd_unix.h                                 * | 
 | 22 |  * *************************************************************************/ | 
 | 23 |  | 
 | 24 | #ifndef _dpti_ioctl_h | 
 | 25 | #define _dpti_ioctl_h | 
 | 26 |  | 
 | 27 | // IOCTL interface commands | 
 | 28 |  | 
 | 29 | #ifndef _IOWR | 
 | 30 | # define _IOWR(x,y,z)	(((x)<<8)|y) | 
 | 31 | #endif | 
 | 32 | #ifndef _IOW | 
 | 33 | # define _IOW(x,y,z)	(((x)<<8)|y) | 
 | 34 | #endif | 
 | 35 | #ifndef _IOR | 
 | 36 | # define _IOR(x,y,z)	(((x)<<8)|y) | 
 | 37 | #endif | 
 | 38 | #ifndef _IO | 
 | 39 | # define _IO(x,y)	(((x)<<8)|y) | 
 | 40 | #endif | 
 | 41 | /* EATA PassThrough Command	*/ | 
 | 42 | #define EATAUSRCMD      _IOWR('D',65,EATA_CP) | 
 | 43 | /* Set Debug Level If Enabled	*/ | 
 | 44 | #define DPT_DEBUG       _IOW('D',66,int) | 
 | 45 | /* Get Signature Structure	*/ | 
 | 46 | #define DPT_SIGNATURE   _IOR('D',67,dpt_sig_S) | 
 | 47 | #if defined __bsdi__ | 
 | 48 | #define DPT_SIGNATURE_PACKED   _IOR('D',67,dpt_sig_S_Packed) | 
 | 49 | #endif | 
 | 50 | /* Get Number Of DPT Adapters	*/ | 
 | 51 | #define DPT_NUMCTRLS    _IOR('D',68,int) | 
 | 52 | /* Get Adapter Info Structure	*/ | 
 | 53 | #define DPT_CTRLINFO    _IOR('D',69,CtrlInfo) | 
 | 54 | /* Get Statistics If Enabled	*/ | 
 | 55 | #define DPT_STATINFO    _IO('D',70) | 
 | 56 | /* Clear Stats If Enabled	*/ | 
 | 57 | #define DPT_CLRSTAT     _IO('D',71) | 
 | 58 | /* Get System Info Structure	*/ | 
 | 59 | #define DPT_SYSINFO     _IOR('D',72,sysInfo_S) | 
 | 60 | /* Set Timeout Value		*/ | 
 | 61 | #define DPT_TIMEOUT     _IO('D',73) | 
 | 62 | /* Get config Data  		*/ | 
 | 63 | #define DPT_CONFIG      _IO('D',74) | 
 | 64 | /* Get Blink LED Code	        */ | 
 | 65 | #define DPT_BLINKLED    _IOR('D',75,int) | 
 | 66 | /* Get Statistical information (if available) */ | 
 | 67 | #define DPT_STATS_INFO        _IOR('D',80,STATS_DATA) | 
 | 68 | /* Clear the statistical information          */ | 
 | 69 | #define DPT_STATS_CLEAR       _IO('D',81) | 
 | 70 | /* Get Performance metrics */ | 
 | 71 | #define DPT_PERF_INFO        _IOR('D',82,dpt_perf_t) | 
 | 72 | /* Send an I2O command */ | 
 | 73 | #define I2OUSRCMD	_IO('D',76) | 
 | 74 | /* Inform driver to re-acquire LCT information */ | 
 | 75 | #define I2ORESCANCMD	_IO('D',77) | 
 | 76 | /* Inform driver to reset adapter */ | 
 | 77 | #define I2ORESETCMD	_IO('D',78) | 
 | 78 | /* See if the target is mounted */ | 
 | 79 | #define DPT_TARGET_BUSY	_IOR('D',79, TARGET_BUSY_T) | 
 | 80 |  | 
 | 81 |  | 
 | 82 |   /* Structure Returned From Get Controller Info                             */ | 
 | 83 |  | 
 | 84 | typedef struct { | 
 | 85 | 	uCHAR    state;            /* Operational state               */ | 
 | 86 | 	uCHAR    id;               /* Host adapter SCSI id            */ | 
 | 87 | 	int      vect;             /* Interrupt vector number         */ | 
 | 88 | 	int      base;             /* Base I/O address                */ | 
 | 89 | 	int      njobs;            /* # of jobs sent to HA            */ | 
 | 90 | 	int      qdepth;           /* Controller queue depth.         */ | 
 | 91 | 	int      wakebase;         /* mpx wakeup base index.          */ | 
| Miquel van Smoorenburg | 62ac5ae | 2008-05-02 01:07:27 +0200 | [diff] [blame] | 92 | 	uINT     SGsize;           /* Scatter/Gather list size.       */ | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 93 | 	unsigned heads;            /* heads for drives on cntlr.      */ | 
 | 94 | 	unsigned sectors;          /* sectors for drives on cntlr.    */ | 
 | 95 | 	uCHAR    do_drive32;       /* Flag for Above 16 MB Ability    */ | 
 | 96 | 	uCHAR    BusQuiet;         /* SCSI Bus Quiet Flag             */ | 
 | 97 | 	char     idPAL[4];         /* 4 Bytes Of The ID Pal           */ | 
 | 98 | 	uCHAR    primary;          /* 1 For Primary, 0 For Secondary  */ | 
 | 99 | 	uCHAR    eataVersion;      /* EATA Version                    */ | 
| Miquel van Smoorenburg | 62ac5ae | 2008-05-02 01:07:27 +0200 | [diff] [blame] | 100 | 	uINT     cpLength;         /* EATA Command Packet Length      */ | 
 | 101 | 	uINT     spLength;         /* EATA Status Packet Length       */ | 
| Henne | 0d06b28 | 2007-03-26 21:59:28 -0800 | [diff] [blame] | 102 | 	uCHAR    drqNum;           /* DRQ Index (0,5,6,7)             */ | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 103 | 	uCHAR    flag1;            /* EATA Flags 1 (Byte 9)           */ | 
 | 104 | 	uCHAR    flag2;            /* EATA Flags 2 (Byte 30)          */ | 
 | 105 | } CtrlInfo; | 
 | 106 |  | 
 | 107 | typedef struct { | 
 | 108 | 	uSHORT length;		// Remaining length of this | 
 | 109 | 	uSHORT drvrHBAnum;	// Relative HBA # used by the driver | 
| Miquel van Smoorenburg | 62ac5ae | 2008-05-02 01:07:27 +0200 | [diff] [blame] | 110 | 	uINT baseAddr;		// Base I/O address | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 111 | 	uSHORT blinkState;	// Blink LED state (0=Not in blink LED) | 
 | 112 | 	uCHAR pciBusNum;	// PCI Bus # (Optional) | 
 | 113 | 	uCHAR pciDeviceNum;	// PCI Device # (Optional) | 
 | 114 | 	uSHORT hbaFlags;	// Miscellaneous HBA flags | 
 | 115 | 	uSHORT Interrupt;	// Interrupt set for this device. | 
 | 116 | #   if (defined(_DPT_ARC)) | 
| Miquel van Smoorenburg | 62ac5ae | 2008-05-02 01:07:27 +0200 | [diff] [blame] | 117 | 	uINT baseLength; | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 118 | 	ADAPTER_OBJECT *AdapterObject; | 
 | 119 | 	LARGE_INTEGER DmaLogicalAddress; | 
 | 120 | 	PVOID DmaVirtualAddress; | 
 | 121 | 	LARGE_INTEGER ReplyLogicalAddress; | 
 | 122 | 	PVOID ReplyVirtualAddress; | 
 | 123 | #   else | 
| Miquel van Smoorenburg | 62ac5ae | 2008-05-02 01:07:27 +0200 | [diff] [blame] | 124 | 	uINT reserved1;		// Reserved for future expansion | 
 | 125 | 	uINT reserved2;		// Reserved for future expansion | 
 | 126 | 	uINT reserved3;		// Reserved for future expansion | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 127 | #   endif | 
 | 128 | } drvrHBAinfo_S; | 
 | 129 |  | 
 | 130 | typedef struct TARGET_BUSY | 
 | 131 | { | 
 | 132 |   uLONG channel; | 
 | 133 |   uLONG id; | 
 | 134 |   uLONG lun; | 
 | 135 |   uLONG isBusy; | 
 | 136 | } TARGET_BUSY_T; | 
 | 137 |  | 
 | 138 | #endif | 
 | 139 |  |