aboutsummaryrefslogtreecommitdiff
path: root/sys/sys/aac_ioctl.h
diff options
context:
space:
mode:
authorMike Smith <msmith@FreeBSD.org>2000-09-13 03:20:35 +0000
committerMike Smith <msmith@FreeBSD.org>2000-09-13 03:20:35 +0000
commit358637397e27108084efceb0c42bc0e5b05df024 (patch)
tree38da88700e14c71a5536260c6238a7739879add5 /sys/sys/aac_ioctl.h
parent553427fc01a2bd2130e8502488f6932cc1cd6a70 (diff)
downloadsrc-358637397e27108084efceb0c42bc0e5b05df024.tar.gz
src-358637397e27108084efceb0c42bc0e5b05df024.zip
A new driver for PCI:SCSI RAID controllers based on the Adaptec FSA
design. This includes integrated Dell RAID controllers, the Dell PERC 2/QC and the HP NetRAID-4M.
Notes
Notes: svn path=/head/; revision=65793
Diffstat (limited to 'sys/sys/aac_ioctl.h')
-rw-r--r--sys/sys/aac_ioctl.h78
1 files changed, 78 insertions, 0 deletions
diff --git a/sys/sys/aac_ioctl.h b/sys/sys/aac_ioctl.h
new file mode 100644
index 000000000000..354c0aa5cddc
--- /dev/null
+++ b/sys/sys/aac_ioctl.h
@@ -0,0 +1,78 @@
+/*-
+ * Copyright (c) 2000 Michael Smith
+ * Copyright (c) 2000 Scott Long
+ * Copyright (c) 2000 BSDi
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * $FreeBSD$
+ */
+
+#ifdef AAC_COMPAT_LINUX
+
+/*
+ * Ioctl commands likely to be submitted from a Linux management application.
+ * These bit encodings are actually descended from Windows NT. Ick.
+ */
+
+#define CTL_CODE(devType, func, meth, acc) (((devType) << 16) | ((acc) << 14) | ((func) << 2) | (meth))
+#define METHOD_BUFFERED 0
+#define METHOD_IN_DIRECT 1
+#define METHOD_OUT_DIRECT 2
+#define METHOD_NEITHER 3
+#define FILE_ANY_ACCESS 0
+#define FILE_READ_ACCESS ( 0x0001 )
+#define FILE_WRITE_ACCESS ( 0x0002 )
+#define FILE_DEVICE_CONTROLLER 0x00000004
+
+#define FSACTL_SENDFIB CTL_CODE(FILE_DEVICE_CONTROLLER, 2050, METHOD_BUFFERED, FILE_ANY_ACCESS)
+#define FSACTL_AIF_THREAD CTL_CODE(FILE_DEVICE_CONTROLLER, 2127, METHOD_NEITHER, FILE_ANY_ACCESS)
+#define FSACTL_OPEN_GET_ADAPTER_FIB CTL_CODE(FILE_DEVICE_CONTROLLER, 2100, METHOD_BUFFERED, FILE_ANY_ACCESS)
+#define FSACTL_GET_NEXT_ADAPTER_FIB CTL_CODE(FILE_DEVICE_CONTROLLER, 2101, METHOD_BUFFERED, FILE_ANY_ACCESS)
+#define FSACTL_CLOSE_GET_ADAPTER_FIB CTL_CODE(FILE_DEVICE_CONTROLLER, 2102, METHOD_BUFFERED, FILE_ANY_ACCESS)
+#define FSACTL_MINIPORT_REV_CHECK CTL_CODE(FILE_DEVICE_CONTROLLER, 2107, METHOD_BUFFERED, FILE_ANY_ACCESS)
+
+/*
+ * Support for faking the "miniport" version.
+ */
+struct aac_rev_check {
+ RevComponent callingComponent;
+ struct FsaRevision callingRevision;
+};
+
+struct aac_rev_check_resp {
+ int possiblyCompatible;
+ struct FsaRevision adapterSWRevision;
+};
+
+/*
+ * Context passed in by a consumer looking to collect an AIF.
+ */
+#define AAC_AIF_SILLYMAGIC 0xdeadbeef
+struct get_adapter_fib_ioctl {
+ u_int32_t AdapterFibContext;
+ int Wait;
+ caddr_t AifFib;
+};
+
+#endif