Loading...
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 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 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 | /*************************************************************************** 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. */ uLONG 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 */ uLONG cpLength; /* EATA Command Packet Length */ uLONG 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 uLONG 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)) uLONG baseLength; ADAPTER_OBJECT *AdapterObject; LARGE_INTEGER DmaLogicalAddress; PVOID DmaVirtualAddress; LARGE_INTEGER ReplyLogicalAddress; PVOID ReplyVirtualAddress; # else uLONG reserved1; // Reserved for future expansion uLONG reserved2; // Reserved for future expansion uLONG reserved3; // Reserved for future expansion # endif } drvrHBAinfo_S; typedef struct TARGET_BUSY { uLONG channel; uLONG id; uLONG lun; uLONG isBusy; } TARGET_BUSY_T; #endif |