aboutsummaryrefslogtreecommitdiff
path: root/sys/sys/aac_ioctl.h
diff options
context:
space:
mode:
Diffstat (limited to 'sys/sys/aac_ioctl.h')
-rw-r--r--sys/sys/aac_ioctl.h20
1 files changed, 20 insertions, 0 deletions
diff --git a/sys/sys/aac_ioctl.h b/sys/sys/aac_ioctl.h
index e29e5ad79326..ef16a429e043 100644
--- a/sys/sys/aac_ioctl.h
+++ b/sys/sys/aac_ioctl.h
@@ -97,6 +97,8 @@ union aac_statrequest {
METHOD_NEITHER, FILE_ANY_ACCESS)
#define FSACTL_LNX_SEND_LARGE_FIB CTL_CODE(FILE_DEVICE_CONTROLLER, 2138, \
METHOD_BUFFERED, FILE_ANY_ACCESS)
+#define FSACTL_LNX_GET_FEATURES CTL_CODE(FILE_DEVICE_CONTROLLER, 2139, \
+ METHOD_BUFFERED, FILE_ANY_ACCESS)
/* Why these don't follow the previous convention, I don't know */
#define FSACTL_LNX_NULL_IO_TEST 0x43
@@ -134,6 +136,7 @@ union aac_statrequest {
#define FSACTL_FORCE_DELETE_DISK _IO('8', 72)
#define FSACTL_AIF_THREAD _IO('8', 79)
#define FSACTL_SEND_LARGE_FIB _IO('8', 90)
+#define FSACTL_GET_FEATURES _IO('8', 91)
#define FSACTL_NULL_IO_TEST _IO('8', 67)
#define FSACTL_SIM_IO_TEST _IO('8', 83)
@@ -182,4 +185,21 @@ struct aac_query_disk {
char diskDeviceName[10];
u_int32_t UnMapped;
};
+
+/* Features, asked from the tools to know if the driver
+ * supports drives >2TB
+ */
+typedef union {
+ struct {
+ u_int32_t largeLBA : 1; /* disk support greater 2TB */
+ u_int32_t fReserved : 31;
+ } fBits;
+ u_int32_t fValue;
+} featuresState;
+
+struct aac_features {
+ featuresState feat;
+ u_int32_t data[31];
+ u_int32_t reserved[32];
+} __packed;
#endif