Lines Matching +full:device +full:- +full:version
1 /*-
2 * SPDX-License-Identifier: BSD-2-Clause
50 * Version of this interface.
52 * check HPT_INTERFACE_VERSION. When an utility using newer version interface
53 * is used with old version drivers, it must call only the functions that
55 * A new version interface should only add ioctl functions; it should implement
56 * all old version functions without change their definition.
70 * Logical device --- a device that can be accessed by OS.
71 * Physical device --- device attached to the controller.
72 * A logical device can be simply a physical device.
74 * Each logical and physical device has a 32bit ID. GUI will use this ID
77 * 2. The ID must be immutable. Once an ID is assigned to a device, it
78 * must not change when system is running and the device exists.
79 * 3. The ID of logical device must be NOT reusable. If a device is
80 * removed, other newly created logical device must not use the same ID.
86 * logical device type.
87 * Identify array (logical device) and physical device.
94 * GUI will treat all array as 1-level RAID. No RAID0/1 or RAID1/0.
95 * A RAID0/1 device is type AT_RAID1. A RAID1/0 device is type AT_RAID0.
109 * physical device type
155 #define ARRAY_FLAG_NEED_AUTOREBUILD 0x00000080 /* auto-rebuild should start */
167 * device flags
169 #define DEVICE_FLAG_DISABLED 0x00000001 /* device is disabled */
173 #define DEVICE_FLAG_SATA 0x00000010 /* SATA or SAS device */
175 #define DEVICE_FLAG_SAS 0x00000040 /* SAS device */
177 #define DEVICE_FLAG_TAPE 0x00000200 /* SAS Tape device */
178 #define DEVICE_FLAG_CHANGER 0x00000400 /* SAS Changer device */
179 #define DEVICE_FLAG_UNINITIALIZED 0x00010000 /* device is not initialized, can't be used to creat…
186 #define DEVICE_FLAG_SSD 0x00000100 /* SSD device */
222 #define HPT_CTL_CODE_LINUX_TO_IOP(x) ((x)-0xff00)
230 #define HPT_CTL_CODE_WIN32_TO_IOP(x) ((((x) & 0xffff)>>2)-0x900)
384 HPT_U8 SupportCrossControllerRAID; /* 1-support, 0-not support */
540 typedef char check_CONTROLLER_INFO_V3[sizeof(CONTROLLER_INFO_V3)==256? 1:-1];
549 DEVICEID Devices[2]; /* device connected to this channel */
557 DEVICEID Devices[2+13]; /* device connected to this channel, PMPort max=15 */
673 HPT_U32 seconds:6; /* 0 - 59 */
674 HPT_U32 minutes:6; /* 0 - 59 */
675 HPT_U32 month:4; /* 1 - 12 */
676 HPT_U32 hours:6; /* 0 - 59 */
677 HPT_U32 day:5; /* 1 - 31 */
752 DEVICEID TransformTarget; /* destination device ID */
784 DEVICEID TransformTarget; /* destination device ID */
796 * ATA/ATAPI Device identify data without the Reserved4.
846 * physical device information.
847 * IdentifyData.ModelNumber[] is HPT_U8-swapped from the original identify data.
853 HPT_U8 DeviceModeSetting; /* Current Data Transfer mode: 0-4 PIO 0-4 */
854 /* 5-7 MW DMA0-2, 8-13 UDMA0-5 */
855 HPT_U8 DeviceType; /* device type */
884 IDENTIFY_DATA2 IdentifyData; /* Identify Data of this device */
892 * physical device information.
893 * IdentifyData.ModelNumber[] is HPT_U8-swapped from the original identify data.
899 HPT_U8 DeviceModeSetting; /* Current Data Transfer mode: 0-4 PIO 0-4 */
900 /* 5-7 MW DMA0-2, 8-13 UDMA0-5 */
901 HPT_U8 DeviceType; /* device type */
930 IDENTIFY_DATA2 IdentifyData; /* Identify Data of this device */
960 HPT_U16 BeeperControl; /* bit4: beeper control bit. bit0-3: frequency bits */
961 HPT_U16 LED1Control; /* bit4: twinkling control bit. bit0-3: frequency bits */
962 HPT_U16 LED2Control; /* bit4: twinkling control bit. bit0-3: frequency bits */
976 * Logical device information.
978 * Common properties will be put in logical device information.
989 DEVICE_INFO device; member
1000 DEVICEID ParentArray; /* for physical device, Please don't use this field.
1006 DEVICE_INFO device; member
1022 DEVICEID ParentArray; /* for physical device, don't use this field.
1032 DEVICE_INFO_V2 device; member
1051 DEVICEID ParentArray; /* for physical device, don't use this field.
1061 DEVICE_INFO_V3 device; member
1098 HPT_U8 DeviceModeSetting; /* 0-4 PIO 0-4, 5-7 MW DMA0-2, 8-13 UDMA0-5 */
1103 HPT_U8 DeviceModeSetting; /* 0-4 PIO 0-4, 5-7 MW DMA0-2, 8-13 UDMA0-5 */
1157 HPT_U8 ArrayType; /* 1-level array type */
1173 HPT_U8 ArrayType; /* 1-level array type */
1197 HPT_U8 ArrayType; /* 1-level array type */
1269 #define ET_DEVICE_REMOVED 1 /* device removed */
1270 #define ET_DEVICE_PLUGGED 2 /* device plugged */
1271 #define ET_DEVICE_ERROR 3 /* device I/O error */
1312 * IDE pass-through command. Use it at your own risk!
1324 HPT_U8 protocol; /* IO_COMMAND_(READ,WRITE) or zero for non-DATA */
1341 HPT_U8 protocol; /* IO_COMMAND_(READ,WRITE) or zero for non-DATA */
1371 * device io packet format
1397 HPT_U8 location; /* 0 - system */
1474 /* for 32-bit app running on 64-bit system */
1488 * User-mode ioctl parameter passing conventions:
1495 * 4) Pass the structure to driver through a platform-specific method.
1496 * This is implemented in the mid-layer user-mode library. The UI
1505 * Version compatibility: all versions
1509 * interface version. 0 when fail.
1515 * Version compatibility: v1.0.0.2 or later
1521 * 0 - Success
1528 * Version compatibility: v1.0.0.1 or later
1537 * Version compatibility: v1.0.0.1 or later
1548 * Version compatibility: v2.0.0.0 or later
1558 * Version compatibility: v2.0.0.0 or later
1568 * Version compatibility: v2.0.0.0 or later
1579 * Version compatibility: v1.0.0.1 or later
1590 * Version compatibility: v1.0.0.1 or later
1601 * Version compatibility: v1.0.0.1 or later
1606 * Number of ID returned. All logical device IDs are put into pIds array.
1607 * Note: A spare disk is not a logical device.
1612 * Version compatibility: v2.1.0.0 or later
1617 * Number of ID returned. All physical device IDs are put into pIds array.
1622 * Version compatibility: v1.0.0.1 or later
1624 * id logical device id
1627 * 0 - Success
1632 * Version compatibility: v1.0.0.1 or later
1642 * Version compatibility: v1.0.0.1 or later
1651 * Read/write data on array and physcal device.
1652 * Version compatibility: v1.0.0.1 or later
1654 * id device id. If it's an array ID, IO will be performed on the array.
1655 * If it's a physical device ID, IO will be performed on the device.
1666 * Auto-rebuild will start.
1667 * Version compatibility: v1.0.0.1 or later
1677 * Version compatibility: v1.0.0.1 or later
1687 * Version compatibility: v1.0.0.3 or later
1699 * Version compatibility: v1.0.0.1 or later
1709 * Version compatibility: v1.0.0.1 or later
1719 * Version compatibility: v1.0.0.1 or later
1733 * Version compatibility: v1.0.0.1 or later
1752 * Version compatibility: v1.0.0.1 or later
1763 * set device info.
1764 * Version compatibility: v1.0.0.1 or later
1766 * idDisk device ID
1783 * Version compatibility: v1.0.0.1 or later
1793 * Version compatibiilty: v1.0.0.3 or later
1795 * idDisk - Disk handle
1796 * PHPT601_INFO - pointer to HPT601 info buffer
1804 * Version compatibiilty: v1.0.0.3 or later
1806 * idDisk - Disk handle
1807 * PHPT601_INFO - pointer to HPT601 info buffer
1814 * Lock a block on a device (prevent OS accessing it)
1815 * Version compatibiilty: v1.0.0.3 or later
1817 * idDisk - Disk handle
1818 * Lba - Start LBA
1819 * nSectors - number of sectors
1826 * Unlock a device
1827 * Version compatibiilty: v1.0.0.3 or later
1829 * idDisk - Disk handle
1836 * send a ATA passthrough command to a device.
1837 * Version compatibility: v1.0.0.3 or later
1839 * p - IDE_PASS_THROUGH header pointer
1847 * send a SCSI passthrough command to a device.
1848 * Version compatibility: v2.0.0.0 or later
1850 * in - HPT_SCSI_PASSTHROUGH_IN header pointer
1851 * out - PHPT_SCSI_PASSTHROUGH_OUT header pointer
1852 * insize, outsize - in/out buffer size
1861 * Version compatibility: v1.0.0.3 or later
1863 * idArray - Array ID
1864 * Lba - block number (on each array member, not logical block!)
1865 * nSectors - Sectors for each member (RAID 5 will ignore this parameter)
1875 * Version compatibility: v1.0.0.3 or later
1877 * idArray - Array ID
1878 * Lba - block number (on each array member, not logical block!)
1879 * nSectors - Sectors for each member (RAID 5 will ignore this parameter)
1886 * extended device I/O function
1887 * Version compatibility: v1.0.0.3 or later
1889 * idArray - Array ID
1890 * Lba - block number (on each array member, not logical block!)
1891 * nSectors - Sectors for each member
1892 * buffer - I/O buffer or s/g address
1899 * select boot device
1900 * Version compatibility: v1.0.0.3 or later
1902 * id - logical device ID. If id is 0 the boot mark will be removed.
1909 * check if device can be removed safely
1910 * Version compatibility: v1.0.0.4 or later
1912 * ndev - number of devices
1913 * pIds - device ID list
1915 * 0 - Success
1916 * -1 - unknown error
1917 * n - the n-th device that can't be removed
1923 * Version compatibility: v1.0.0.4 or later
1925 * ndev - number of devices
1926 * pIds - device ID list
1928 * 0 - Success
1929 * -1 - unknown error
1930 * n - the n-th device that can't be removed
1935 * Version compatibility: v1.1.0.0 or later
1947 * Version compatibility: v2.0.0.1 or later
1959 * Version compatibility: v1.1.0.0 or later
1961 * id logical device id
1964 * 0 - Success
1971 * Version compatibility: v1.2.0.0 or later
1973 * id logical device id
1976 * 0 - Success
1983 * Version compatibility: v2.0.0.1 or later
1985 * id logical device id
1988 * 0 - Success
1996 * Version compatibility: v2.0.0.0 or later
1998 * idArray - source array
1999 * destInfo - destination array info
2009 * Version compatibility: v2.0.0.1 or later
2011 * idArray - source array
2012 * destInfo - destination array info
2022 * This function is called by mid-layer, not GUI (which uses set_array_state instead).
2023 * Version compatibility: v2.0.0.0 or later
2025 * idArray - destination array ID
2028 * 0 - Success
2036 * Version compatibility: v1.2.0.0 or later
2038 * dev - destination device
2041 * 0 - Success
2049 * Version compatibility: v2.0.0.0 or later
2051 * ndev - number of disks to initialize
2052 * pIds - array of DEVICEID
2055 * 0 - Success
2063 * Version compatibility: v1.2.0.0 or later
2065 * source - if transform, this is the source array, otherwise, it should be zero
2066 * destInfo - target array params
2068 * 0 - Success
2069 * cap - max capacity of the target array
2077 * Version compatibility: v2.0.0.1 or later
2079 * source - if transform, this is the source array, otherwise, it should be zero
2080 * destInfo - target array params
2082 * 0 - Success
2083 * cap - max capacity of the target array
2091 * Version compatibility: v1.1.0.0 or later
2106 * Version compatibility: v1.1.0.0 or later
2108 * idArray - Array ID
2109 * Lba - block number (on each array member, not logical block!)
2110 * nSectors - Sectors for each member (RAID 5 will ignore this parameter)
2122 * Version compatibility: v1.1.0.0 or later
2124 * idArray - Array ID
2125 * Lba - block number (on each array member, not logical block!)
2126 * nSectors - Sectors for each member (RAID 5 will ignore this parameter)
2136 * Version compatibility: v2.0.0.0 or later
2138 * indata[0] - controller ID
2148 * Version compatibility: v1.0.0.0 or later
2150 * location - parameter location
2151 * outBuffer - a buffer to hold the output
2152 * outBufferSize - size of outBuffer
2162 * Version compatibility: v1.0.0.0 or later
2164 * pParam - a pointer to HPT_DRIVER_PARAMETER.
2174 * Version compatibility: v2.1.0.0 or later
2183 * Version compatibility: v2.1.0.0 or later
2200 * Version compatibility: v2.1.0.0 or later
2207 * Version compatibility: v1.0.0.0 or later
2214 * p - ACCESS_CONFIG_REG_PARAMS header pointer
2223 * p - PDUMP_METADATA_PARAMS header pointer