Lines Matching +full:device +full:- +full:version
1 /*-
2 * SPDX-License-Identifier: BSD-2-Clause
4 * Copyright (c) 2004-2005 HighPoint Technologies, Inc.
34 * Version of this interface.
36 * check HPT_INTERFACE_VERSION. When an utility using newer version interface
37 * is used with old version drivers, it must call only the functions that
39 * A new version interface should only add ioctl functions; it should implement
40 * all old version functions without change their definition.
54 * Logical device --- a device that can be accessed by OS.
55 * Physical device --- device attached to the controller.
56 * A logical device can be simply a physical device.
58 * Each logical and physical device has a 32bit ID. GUI will use this ID
61 * 2. The ID must be immutable. Once an ID is assigned to a device, it
62 * must not change when system is running and the device exists.
63 * 3. The ID of logical device must be NOT reusable. If a device is
64 * removed, other newly created logical device must not use the same ID.
70 * logical device type.
71 * Identify array (logical device) and physical device.
78 * GUI will treat all array as 1-level RAID. No RAID0/1 or RAID1/0.
79 * A RAID0/1 device is type AT_RAID1. A RAID1/0 device is type AT_RAID0.
89 * physical device type
124 #define ARRAY_FLAG_NEED_AUTOREBUILD 0x00000080 /* auto-rebuild should start */
130 * device flags
132 #define DEVICE_FLAG_DISABLED 0x00000001 /* device is disabled */
136 #define DEVICE_FLAG_SATA 0x00000010 /* S-ATA device */
174 #define HPT_CTL_CODE_WIN32_TO_I960(x) ((((x) & 0xffff)>>2)-0x900)
272 UCHAR SupportCrossControllerRAID; /* 1-support, 0-not support */
295 * Only non-zero values is valid. Bit0-3 represents the lower(child) level RAID type;
296 * bit4-7 represents the top level. i.e.
327 DEVICEID Devices[2]; /* device connected to this channel */
336 UINT seconds:6; /* 0 - 59 */
337 UINT minutes:6; /* 0 - 59 */
338 UINT month:4; /* 1 - 12 */
339 UINT hours:6; /* 0 - 59 */
340 UINT day:5; /* 1 - 31 */
408 * ATA/ATAPI Device identify data without the Reserved4.
419 USHORT VendorUnique1[3]; /* 0E 7-9 */
420 USHORT SerialNumber[10]; /* 14 10-19 */
424 USHORT FirmwareRevision[4]; /* 2E 23-26 */
425 USHORT ModelNumber[20]; /* 36 27-46 */
440 ULONG CurrentSectorCapacity; /* 72 57-58 */
442 ULONG UserAddressableSectors; /* 60-61 */
453 USHORT Reserved5[2]; /* 69-70 */
458 /* USHORT Reserved6[14]; // 75-88 */
463 * physical device information.
464 * IdentifyData.ModelNumber[] is byte-swapped from the original identify data.
470 UCHAR DeviceModeSetting; /* Current Data Transfer mode: 0-4 PIO 0-4 */
471 /* 5-7 MW DMA0-2, 8-13 UDMA0-5 */
472 UCHAR DeviceType; /* device type */
487 IDENTIFY_DATA2 IdentifyData; /* Identify Data of this device */
507 WORD BeeperControl; /* bit4: beeper control bit. bit0-3: frequency bits */
508 WORD LED1Control; /* bit4: twinkling control bit. bit0-3: frequency bits */
509 WORD LED2Control; /* bit4: twinkling control bit. bit0-3: frequency bits */
514 * Logical device information.
516 * Common properties will be put in logical device information.
527 DEVICE_INFO device; member
542 DEVICE_INFO device; member
572 UCHAR DeviceModeSetting; /* 0-4 PIO 0-4, 5-7 MW DMA0-2, 8-13 UDMA0-5 */
578 UCHAR DeviceModeSetting; /* 0-4 PIO 0-4, 5-7 MW DMA0-2, 8-13 UDMA0-5 */
593 UCHAR ArrayType; /* 1-level array type */
609 UCHAR ArrayType; /* 1-level array type */
660 #define ET_DEVICE_REMOVED 1 /* device removed */
661 #define ET_DEVICE_PLUGGED 2 /* device plugged */
662 #define ET_DEVICE_ERROR 3 /* device I/O error */
691 * IDE pass-through command. Use it at your own risk!
706 BYTE protocol; /* IO_COMMAND_(READ,WRITE) or zero for non-DATA */
713 * device io packet format
755 /* for 32-bit app running on 64-bit system */
768 * User-mode ioctl parameter passing conventions:
775 * 4) Pass the structure to driver through a platform-specific method.
776 * This is implemented in the mid-layer user-mode library. The UI
786 * Version compatibility: all versions
790 * interface version. 0 when fail.
794 /*-------------------------------------------------------------------------- */
798 * Version compatibility: v1.0.0.2 or later
804 * 0 - Success
808 /*-------------------------------------------------------------------------- */
812 * Version compatibility: v1.0.0.1 or later
820 /*-------------------------------------------------------------------------- */
823 * Version compatibility: v1.0.0.1 or later
832 /*-------------------------------------------------------------------------- */
835 * Version compatibility: v1.0.0.1 or later
845 /*-------------------------------------------------------------------------- */
848 * Version compatibility: v1.0.0.1 or later
853 * Number of ID returned. All logical device IDs are put into pIds array.
854 * Note: A spare disk is not a logical device.
858 /*-------------------------------------------------------------------------- */
861 * Version compatibility: v1.0.0.1 or later
863 * id logical device id
866 * 0 - Success
874 /*-------------------------------------------------------------------------- */
877 * Version compatibility: v1.0.0.1 or later
890 /*-------------------------------------------------------------------------- */
893 * Version compatibility: v1.0.0.1 or later
901 /*-------------------------------------------------------------------------- */
904 * Read/write data on array and physcal device.
905 * Version compatibility: v1.0.0.1 or later
907 * id device id. If it's an array ID, IO will be performed on the array.
908 * If it's a physical device ID, IO will be performed on the device.
923 * Auto-rebuild will start.
924 * Version compatibility: v1.0.0.1 or later
932 /*-------------------------------------------------------------------------- */
935 * Version compatibility: v1.0.0.1 or later
943 /*-------------------------------------------------------------------------- */
946 * Version compatibility: v1.0.0.3 or later
955 /*-------------------------------------------------------------------------- */
959 * Version compatibility: v1.0.0.1 or later
966 /*-------------------------------------------------------------------------- */
970 * Version compatibility: v1.0.0.1 or later
977 /*-------------------------------------------------------------------------- */
981 * Version compatibility: v1.0.0.1 or later
996 /*-------------------------------------------------------------------------- */
1000 * Version compatibility: v1.0.0.1 or later
1016 /*-------------------------------------------------------------------------- */
1020 * Version compatibility: v1.0.0.1 or later
1029 /*-------------------------------------------------------------------------- */
1032 * set device info.
1033 * Version compatibility: v1.0.0.1 or later
1035 * idDisk device ID
1050 /*-------------------------------------------------------------------------- */
1054 * Version compatibility: v1.0.0.1 or later
1061 /*-------------------------------------------------------------------------- */
1065 * Version compatibiilty: v1.0.0.3 or later
1067 * idDisk - Disk handle
1068 * PHPT601_INFO - pointer to HPT601 info buffer
1073 /*-------------------------------------------------------------------------- */
1077 * Version compatibiilty: v1.0.0.3 or later
1079 * idDisk - Disk handle
1080 * PHPT601_INFO - pointer to HPT601 info buffer
1085 /*-------------------------------------------------------------------------- */
1088 * Lock a block on a device (prevent OS accessing it)
1089 * Version compatibiilty: v1.0.0.3 or later
1091 * idDisk - Disk handle
1092 * Lba - Start LBA
1093 * nSectors - number of sectors
1102 /*-------------------------------------------------------------------------- */
1105 * Unlock a device
1106 * Version compatibiilty: v1.0.0.3 or later
1108 * idDisk - Disk handle
1113 /*-------------------------------------------------------------------------- */
1118 * Version compatibility: v1.0.0.3 or later
1120 * p - IDE_PASS_THROUGH header pointer
1125 /*-------------------------------------------------------------------------- */
1129 * Version compatibility: v1.0.0.3 or later
1131 * idArray - Array ID
1132 * Lba - block number (on each array member, not logical block!)
1133 * nSectors - Sectors for each member (RAID 5 will ignore this parameter)
1144 /*-------------------------------------------------------------------------- */
1148 * Version compatibility: v1.0.0.3 or later
1150 * idArray - Array ID
1151 * Lba - block number (on each array member, not logical block!)
1152 * nSectors - Sectors for each member (RAID 5 will ignore this parameter)
1161 /*-------------------------------------------------------------------------- */
1164 * extended device I/O function
1165 * Version compatibility: v1.0.0.3 or later
1167 * idArray - Array ID
1168 * Lba - block number (on each array member, not logical block!)
1169 * nSectors - Sectors for each member
1170 * buffer - I/O buffer or s/g address
1178 /*-------------------------------------------------------------------------- */
1181 * select boot device
1182 * Version compatibility: v1.0.0.3 or later
1184 * id - logical device ID. If id is 0 the boot mark will be removed.
1189 /*-------------------------------------------------------------------------- */
1192 * check if device can be removed safely
1193 * Version compatibility: v1.0.0.4 or later
1195 * ndev - number of devices
1196 * pIds - device ID list
1198 * 0 - Success
1199 * -1 - unknown error
1200 * n - the n-th device that can't be removed
1203 /*-------------------------------------------------------------------------- */
1207 * Version compatibility: v1.0.0.4 or later
1209 * ndev - number of devices
1210 * pIds - device ID list
1212 * 0 - Success
1213 * -1 - unknown error
1214 * n - the n-th device that can't be removed
1217 /*-------------------------------------------------------------------------- */
1222 * Version compatibility: v1.0.0.3 or later
1224 * p - IDE_PASS_THROUGH header pointer
1229 /*-------------------------------------------------------------------------- */