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