Mercurial > games > semicongine
comparison fuhtark_test/include/ddk/srb.h @ 1500:91c8c3b7cbf0
add: futhark tests for generating vulkan api
| author | sam <sam@basx.dev> |
|---|---|
| date | Wed, 26 Nov 2025 21:36:48 +0700 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| 1499:1f58458b7ef7 | 1500:91c8c3b7cbf0 |
|---|---|
| 1 /* | |
| 2 * scsi.h | |
| 3 * | |
| 4 * Interface between SCSI miniport drivers and the SCSI port driver. | |
| 5 * | |
| 6 * This file is part of the w32api package. | |
| 7 * | |
| 8 * Contributors: | |
| 9 * Created by Casper S. Hornstrup <chorns@users.sourceforge.net> | |
| 10 * | |
| 11 * THIS SOFTWARE IS NOT COPYRIGHTED | |
| 12 * | |
| 13 * This source code is offered for use in the public domain. You may | |
| 14 * use, modify or distribute it freely. | |
| 15 * | |
| 16 * This code is distributed in the hope that it will be useful but | |
| 17 * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY | |
| 18 * DISCLAIMED. This includes but is not limited to warranties of | |
| 19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | |
| 20 * | |
| 21 */ | |
| 22 | |
| 23 #ifndef __SRB_H | |
| 24 #define __SRB_H | |
| 25 | |
| 26 #ifdef __cplusplus | |
| 27 extern "C" { | |
| 28 #endif | |
| 29 | |
| 30 #if defined(_SCSIPORT_) | |
| 31 #define SCSIPORTAPI | |
| 32 #else | |
| 33 #define SCSIPORTAPI DECLSPEC_IMPORT | |
| 34 #endif | |
| 35 | |
| 36 #if DBG | |
| 37 #define DebugPrint(x) ScsiDebugPrint x | |
| 38 #else | |
| 39 #define DebugPrint(x) | |
| 40 #endif | |
| 41 | |
| 42 typedef PHYSICAL_ADDRESS SCSI_PHYSICAL_ADDRESS, *PSCSI_PHYSICAL_ADDRESS; | |
| 43 | |
| 44 #define SP_UNINITIALIZED_VALUE ((ULONG) ~0) | |
| 45 #define SP_UNTAGGED ((UCHAR) ~0) | |
| 46 | |
| 47 #define SRB_SIMPLE_TAG_REQUEST 0x20 | |
| 48 #define SRB_HEAD_OF_QUEUE_TAG_REQUEST 0x21 | |
| 49 #define SRB_ORDERED_QUEUE_TAG_REQUEST 0x22 | |
| 50 | |
| 51 #define SRB_STATUS_QUEUE_FROZEN 0x40 | |
| 52 #define SRB_STATUS_AUTOSENSE_VALID 0x80 | |
| 53 | |
| 54 #define SRB_STATUS(Status) \ | |
| 55 (Status & ~(SRB_STATUS_AUTOSENSE_VALID | SRB_STATUS_QUEUE_FROZEN)) | |
| 56 | |
| 57 #define MAXIMUM_CDB_SIZE 12 | |
| 58 | |
| 59 #if DBG | |
| 60 #define SCSI_PORT_SIGNATURE 0x54524f50 | |
| 61 #endif | |
| 62 | |
| 63 | |
| 64 #define SCSI_MAXIMUM_LOGICAL_UNITS 8 | |
| 65 #define SCSI_MAXIMUM_TARGETS_PER_BUS 128 | |
| 66 #define SCSI_MAXIMUM_LUNS_PER_TARGET 255 | |
| 67 #define SCSI_MAXIMUM_BUSES 8 | |
| 68 #define SCSI_MINIMUM_PHYSICAL_BREAKS 16 | |
| 69 #define SCSI_MAXIMUM_PHYSICAL_BREAKS 255 | |
| 70 #define SCSI_MAXIMUM_TARGETS 8 | |
| 71 | |
| 72 #define SRB_FUNCTION_WMI 0x17 | |
| 73 | |
| 74 #define SRB_WMI_FLAGS_ADAPTER_REQUEST 0x0001 | |
| 75 | |
| 76 #define SP_BUS_PARITY_ERROR 0x0001 | |
| 77 #define SP_UNEXPECTED_DISCONNECT 0x0002 | |
| 78 #define SP_INVALID_RESELECTION 0x0003 | |
| 79 #define SP_BUS_TIME_OUT 0x0004 | |
| 80 #define SP_PROTOCOL_ERROR 0x0005 | |
| 81 #define SP_INTERNAL_ADAPTER_ERROR 0x0006 | |
| 82 #define SP_REQUEST_TIMEOUT 0x0007 | |
| 83 #define SP_IRQ_NOT_RESPONDING 0x0008 | |
| 84 #define SP_BAD_FW_WARNING 0x0009 | |
| 85 #define SP_BAD_FW_ERROR 0x000a | |
| 86 #define SP_LOST_WMI_MINIPORT_REQUEST 0x000b | |
| 87 | |
| 88 /* SCSI_REQUEST_BLOCK.Function constants */ | |
| 89 #define SRB_FUNCTION_EXECUTE_SCSI 0x00 | |
| 90 #define SRB_FUNCTION_CLAIM_DEVICE 0x01 | |
| 91 #define SRB_FUNCTION_IO_CONTROL 0x02 | |
| 92 #define SRB_FUNCTION_RECEIVE_EVENT 0x03 | |
| 93 #define SRB_FUNCTION_RELEASE_QUEUE 0x04 | |
| 94 #define SRB_FUNCTION_ATTACH_DEVICE 0x05 | |
| 95 #define SRB_FUNCTION_RELEASE_DEVICE 0x06 | |
| 96 #define SRB_FUNCTION_SHUTDOWN 0x07 | |
| 97 #define SRB_FUNCTION_FLUSH 0x08 | |
| 98 #define SRB_FUNCTION_ABORT_COMMAND 0x10 | |
| 99 #define SRB_FUNCTION_RELEASE_RECOVERY 0x11 | |
| 100 #define SRB_FUNCTION_RESET_BUS 0x12 | |
| 101 #define SRB_FUNCTION_RESET_DEVICE 0x13 | |
| 102 #define SRB_FUNCTION_TERMINATE_IO 0x14 | |
| 103 #define SRB_FUNCTION_FLUSH_QUEUE 0x15 | |
| 104 #define SRB_FUNCTION_REMOVE_DEVICE 0x16 | |
| 105 #define SRB_FUNCTION_WMI 0x17 | |
| 106 #define SRB_FUNCTION_LOCK_QUEUE 0x18 | |
| 107 #define SRB_FUNCTION_UNLOCK_QUEUE 0x19 | |
| 108 #define SRB_FUNCTION_RESET_LOGICAL_UNIT 0x20 | |
| 109 | |
| 110 /* SCSI_REQUEST_BLOCK.SrbStatus constants */ | |
| 111 #define SRB_STATUS_PENDING 0x00 | |
| 112 #define SRB_STATUS_SUCCESS 0x01 | |
| 113 #define SRB_STATUS_ABORTED 0x02 | |
| 114 #define SRB_STATUS_ABORT_FAILED 0x03 | |
| 115 #define SRB_STATUS_ERROR 0x04 | |
| 116 #define SRB_STATUS_BUSY 0x05 | |
| 117 #define SRB_STATUS_INVALID_REQUEST 0x06 | |
| 118 #define SRB_STATUS_INVALID_PATH_ID 0x07 | |
| 119 #define SRB_STATUS_NO_DEVICE 0x08 | |
| 120 #define SRB_STATUS_TIMEOUT 0x09 | |
| 121 #define SRB_STATUS_SELECTION_TIMEOUT 0x0A | |
| 122 #define SRB_STATUS_COMMAND_TIMEOUT 0x0B | |
| 123 #define SRB_STATUS_MESSAGE_REJECTED 0x0D | |
| 124 #define SRB_STATUS_BUS_RESET 0x0E | |
| 125 #define SRB_STATUS_PARITY_ERROR 0x0F | |
| 126 #define SRB_STATUS_REQUEST_SENSE_FAILED 0x10 | |
| 127 #define SRB_STATUS_NO_HBA 0x11 | |
| 128 #define SRB_STATUS_DATA_OVERRUN 0x12 | |
| 129 #define SRB_STATUS_UNEXPECTED_BUS_FREE 0x13 | |
| 130 #define SRB_STATUS_PHASE_SEQUENCE_FAILURE 0x14 | |
| 131 #define SRB_STATUS_BAD_SRB_BLOCK_LENGTH 0x15 | |
| 132 #define SRB_STATUS_REQUEST_FLUSHED 0x16 | |
| 133 #define SRB_STATUS_INVALID_LUN 0x20 | |
| 134 #define SRB_STATUS_INVALID_TARGET_ID 0x21 | |
| 135 #define SRB_STATUS_BAD_FUNCTION 0x22 | |
| 136 #define SRB_STATUS_ERROR_RECOVERY 0x23 | |
| 137 #define SRB_STATUS_NOT_POWERED 0x24 | |
| 138 #define SRB_STATUS_INTERNAL_ERROR 0x30 | |
| 139 | |
| 140 /* SCSI_REQUEST_BLOCK.SrbFlags constants */ | |
| 141 #define SRB_FLAGS_QUEUE_ACTION_ENABLE 0x00000002 | |
| 142 #define SRB_FLAGS_DISABLE_DISCONNECT 0x00000004 | |
| 143 #define SRB_FLAGS_DISABLE_SYNCH_TRANSFER 0x00000008 | |
| 144 #define SRB_FLAGS_BYPASS_FROZEN_QUEUE 0x00000010 | |
| 145 #define SRB_FLAGS_DISABLE_AUTOSENSE 0x00000020 | |
| 146 #define SRB_FLAGS_DATA_IN 0x00000040 | |
| 147 #define SRB_FLAGS_DATA_OUT 0x00000080 | |
| 148 #define SRB_FLAGS_NO_DATA_TRANSFER 0x00000000 | |
| 149 #define SRB_FLAGS_UNSPECIFIED_DIRECTION (SRB_FLAGS_DATA_IN | SRB_FLAGS_DATA_OUT) | |
| 150 #define SRB_FLAGS_NO_QUEUE_FREEZE 0x00000100 | |
| 151 #define SRB_FLAGS_ADAPTER_CACHE_ENABLE 0x00000200 | |
| 152 #define SRB_FLAGS_FREE_SENSE_BUFFER 0x00000400 | |
| 153 #define SRB_FLAGS_IS_ACTIVE 0x00010000 | |
| 154 #define SRB_FLAGS_ALLOCATED_FROM_ZONE 0x00020000 | |
| 155 #define SRB_FLAGS_SGLIST_FROM_POOL 0x00040000 | |
| 156 #define SRB_FLAGS_BYPASS_LOCKED_QUEUE 0x00080000 | |
| 157 #define SRB_FLAGS_NO_KEEP_AWAKE 0x00100000 | |
| 158 #define SRB_FLAGS_PORT_DRIVER_ALLOCSENSE 0x00200000 | |
| 159 #define SRB_FLAGS_PORT_DRIVER_SENSEHASPORT 0x00400000 | |
| 160 #define SRB_FLAGS_DONT_START_NEXT_PACKET 0x00800000 | |
| 161 #define SRB_FLAGS_PORT_DRIVER_RESERVED 0x0F000000 | |
| 162 #define SRB_FLAGS_CLASS_DRIVER_RESERVED 0xF0000000 | |
| 163 | |
| 164 /* Asynchronous events */ | |
| 165 #define SRBEV_BUS_RESET 0x0001 | |
| 166 #define SRBEV_SCSI_ASYNC_NOTIFICATION 0x0002 | |
| 167 | |
| 168 | |
| 169 typedef struct _SCSI_REQUEST_BLOCK { | |
| 170 USHORT Length; | |
| 171 UCHAR Function; | |
| 172 UCHAR SrbStatus; | |
| 173 UCHAR ScsiStatus; | |
| 174 UCHAR PathId; | |
| 175 UCHAR TargetId; | |
| 176 UCHAR Lun; | |
| 177 UCHAR QueueTag; | |
| 178 UCHAR QueueAction; | |
| 179 UCHAR CdbLength; | |
| 180 UCHAR SenseInfoBufferLength; | |
| 181 ULONG SrbFlags; | |
| 182 ULONG DataTransferLength; | |
| 183 ULONG TimeOutValue; | |
| 184 PVOID DataBuffer; | |
| 185 PVOID SenseInfoBuffer; | |
| 186 struct _SCSI_REQUEST_BLOCK *NextSrb; | |
| 187 PVOID OriginalRequest; | |
| 188 PVOID SrbExtension; | |
| 189 _ANONYMOUS_UNION union { | |
| 190 ULONG InternalStatus; | |
| 191 ULONG QueueSortKey; | |
| 192 } DUMMYUNIONNAME; | |
| 193 #if defined(_WIN64) | |
| 194 ULONG Reserved; | |
| 195 #endif | |
| 196 UCHAR Cdb[16]; | |
| 197 } SCSI_REQUEST_BLOCK, *PSCSI_REQUEST_BLOCK; | |
| 198 | |
| 199 #define SCSI_REQUEST_BLOCK_SIZE sizeof(SCSI_REQUEST_BLOCK) | |
| 200 | |
| 201 typedef struct _ACCESS_RANGE { | |
| 202 SCSI_PHYSICAL_ADDRESS RangeStart; | |
| 203 ULONG RangeLength; | |
| 204 BOOLEAN RangeInMemory; | |
| 205 } ACCESS_RANGE, *PACCESS_RANGE; | |
| 206 | |
| 207 /* PORT_CONFIGURATION_INFORMATION.Dma64BitAddresses constants */ | |
| 208 #define SCSI_DMA64_MINIPORT_SUPPORTED 0x01 | |
| 209 #define SCSI_DMA64_SYSTEM_SUPPORTED 0x80 | |
| 210 | |
| 211 typedef struct _PORT_CONFIGURATION_INFORMATION { | |
| 212 ULONG Length; | |
| 213 ULONG SystemIoBusNumber; | |
| 214 INTERFACE_TYPE AdapterInterfaceType; | |
| 215 ULONG BusInterruptLevel; | |
| 216 ULONG BusInterruptVector; | |
| 217 KINTERRUPT_MODE InterruptMode; | |
| 218 ULONG MaximumTransferLength; | |
| 219 ULONG NumberOfPhysicalBreaks; | |
| 220 ULONG DmaChannel; | |
| 221 ULONG DmaPort; | |
| 222 DMA_WIDTH DmaWidth; | |
| 223 DMA_SPEED DmaSpeed; | |
| 224 ULONG AlignmentMask; | |
| 225 ULONG NumberOfAccessRanges; | |
| 226 ACCESS_RANGE (*AccessRanges)[]; | |
| 227 PVOID Reserved; | |
| 228 UCHAR NumberOfBuses; | |
| 229 UCHAR InitiatorBusId[8]; | |
| 230 BOOLEAN ScatterGather; | |
| 231 BOOLEAN Master; | |
| 232 BOOLEAN CachesData; | |
| 233 BOOLEAN AdapterScansDown; | |
| 234 BOOLEAN AtdiskPrimaryClaimed; | |
| 235 BOOLEAN AtdiskSecondaryClaimed; | |
| 236 BOOLEAN Dma32BitAddresses; | |
| 237 BOOLEAN DemandMode; | |
| 238 BOOLEAN MapBuffers; | |
| 239 BOOLEAN NeedPhysicalAddresses; | |
| 240 BOOLEAN TaggedQueuing; | |
| 241 BOOLEAN AutoRequestSense; | |
| 242 BOOLEAN MultipleRequestPerLu; | |
| 243 BOOLEAN ReceiveEvent; | |
| 244 BOOLEAN RealModeInitialized; | |
| 245 BOOLEAN BufferAccessScsiPortControlled; | |
| 246 UCHAR MaximumNumberOfTargets; | |
| 247 UCHAR ReservedUchars[2]; | |
| 248 ULONG SlotNumber; | |
| 249 ULONG BusInterruptLevel2; | |
| 250 ULONG BusInterruptVector2; | |
| 251 KINTERRUPT_MODE InterruptMode2; | |
| 252 ULONG DmaChannel2; | |
| 253 ULONG DmaPort2; | |
| 254 DMA_WIDTH DmaWidth2; | |
| 255 DMA_SPEED DmaSpeed2; | |
| 256 ULONG DeviceExtensionSize; | |
| 257 ULONG SpecificLuExtensionSize; | |
| 258 ULONG SrbExtensionSize; | |
| 259 UCHAR Dma64BitAddresses; | |
| 260 BOOLEAN ResetTargetSupported; | |
| 261 UCHAR MaximumNumberOfLogicalUnits; | |
| 262 BOOLEAN WmiDataProvider; | |
| 263 } PORT_CONFIGURATION_INFORMATION, *PPORT_CONFIGURATION_INFORMATION; | |
| 264 | |
| 265 #define CONFIG_INFO_VERSION_2 sizeof(PORT_CONFIGURATION_INFORMATION) | |
| 266 | |
| 267 typedef enum _SCSI_NOTIFICATION_TYPE { | |
| 268 RequestComplete, | |
| 269 NextRequest, | |
| 270 NextLuRequest, | |
| 271 ResetDetected, | |
| 272 CallDisableInterrupts, | |
| 273 CallEnableInterrupts, | |
| 274 RequestTimerCall, | |
| 275 BusChangeDetected, | |
| 276 WMIEvent, | |
| 277 WMIReregister | |
| 278 } SCSI_NOTIFICATION_TYPE, *PSCSI_NOTIFICATION_TYPE; | |
| 279 | |
| 280 #ifdef __GNUC__ | |
| 281 __extension__ /* enums limited to range of integer */ | |
| 282 #endif | |
| 283 typedef enum _SCSI_ADAPTER_CONTROL_TYPE { | |
| 284 ScsiQuerySupportedControlTypes = 0, | |
| 285 ScsiStopAdapter, | |
| 286 ScsiRestartAdapter, | |
| 287 ScsiSetBootConfig, | |
| 288 ScsiSetRunningConfig, | |
| 289 ScsiAdapterControlMax, | |
| 290 MakeAdapterControlTypeSizeOfUlong = 0xffffffff | |
| 291 } SCSI_ADAPTER_CONTROL_TYPE, *PSCSI_ADAPTER_CONTROL_TYPE; | |
| 292 | |
| 293 typedef enum _SCSI_ADAPTER_CONTROL_STATUS { | |
| 294 ScsiAdapterControlSuccess = 0, | |
| 295 ScsiAdapterControlUnsuccessful | |
| 296 } SCSI_ADAPTER_CONTROL_STATUS, *PSCSI_ADAPTER_CONTROL_STATUS; | |
| 297 | |
| 298 typedef struct _SCSI_SUPPORTED_CONTROL_TYPE_LIST { | |
| 299 ULONG MaxControlType; | |
| 300 BOOLEAN SupportedTypeList[0]; | |
| 301 } SCSI_SUPPORTED_CONTROL_TYPE_LIST, *PSCSI_SUPPORTED_CONTROL_TYPE_LIST; | |
| 302 | |
| 303 typedef SCSI_ADAPTER_CONTROL_STATUS | |
| 304 (DDKAPI *PHW_ADAPTER_CONTROL)( | |
| 305 IN PVOID DeviceExtension, | |
| 306 IN SCSI_ADAPTER_CONTROL_TYPE ControlType, | |
| 307 IN PVOID Parameters); | |
| 308 | |
| 309 typedef BOOLEAN | |
| 310 (DDKAPI *PHW_ADAPTER_STATE)( | |
| 311 IN PVOID DeviceExtension, | |
| 312 IN PVOID Context, | |
| 313 IN BOOLEAN SaveState); | |
| 314 | |
| 315 #define SP_RETURN_NOT_FOUND 0 | |
| 316 #define SP_RETURN_FOUND 1 | |
| 317 #define SP_RETURN_ERROR 2 | |
| 318 #define SP_RETURN_BAD_CONFIG 3 | |
| 319 | |
| 320 typedef ULONG | |
| 321 (DDKAPI *PHW_FIND_ADAPTER)( | |
| 322 IN PVOID DeviceExtension, | |
| 323 IN PVOID HwContext, | |
| 324 IN PVOID BusInformation, | |
| 325 IN PCHAR ArgumentString, | |
| 326 IN OUT PPORT_CONFIGURATION_INFORMATION ConfigInfo, | |
| 327 OUT PBOOLEAN Again); | |
| 328 | |
| 329 typedef BOOLEAN | |
| 330 (DDKAPI *PHW_INITIALIZE)( | |
| 331 IN PVOID DeviceExtension); | |
| 332 | |
| 333 typedef BOOLEAN | |
| 334 (DDKAPI *PHW_INTERRUPT)( | |
| 335 IN PVOID DeviceExtension); | |
| 336 | |
| 337 typedef BOOLEAN | |
| 338 (DDKAPI *PHW_RESET_BUS)( | |
| 339 IN PVOID DeviceExtension, | |
| 340 IN ULONG PathId); | |
| 341 | |
| 342 typedef VOID | |
| 343 (DDKAPI *PHW_DMA_STARTED)( | |
| 344 IN PVOID DeviceExtension); | |
| 345 | |
| 346 typedef BOOLEAN | |
| 347 (DDKAPI *PHW_STARTIO)( | |
| 348 IN PVOID DeviceExtension, | |
| 349 IN PSCSI_REQUEST_BLOCK Srb); | |
| 350 | |
| 351 typedef VOID | |
| 352 (DDKAPI *PHW_TIMER)( | |
| 353 IN PVOID DeviceExtension); | |
| 354 | |
| 355 typedef struct _HW_INITIALIZATION_DATA { | |
| 356 ULONG HwInitializationDataSize; | |
| 357 INTERFACE_TYPE AdapterInterfaceType; | |
| 358 PHW_INITIALIZE HwInitialize; | |
| 359 PHW_STARTIO HwStartIo; | |
| 360 PHW_INTERRUPT HwInterrupt; | |
| 361 PHW_FIND_ADAPTER HwFindAdapter; | |
| 362 PHW_RESET_BUS HwResetBus; | |
| 363 PHW_DMA_STARTED HwDmaStarted; | |
| 364 PHW_ADAPTER_STATE HwAdapterState; | |
| 365 ULONG DeviceExtensionSize; | |
| 366 ULONG SpecificLuExtensionSize; | |
| 367 ULONG SrbExtensionSize; | |
| 368 ULONG NumberOfAccessRanges; | |
| 369 PVOID Reserved; | |
| 370 BOOLEAN MapBuffers; | |
| 371 BOOLEAN NeedPhysicalAddresses; | |
| 372 BOOLEAN TaggedQueuing; | |
| 373 BOOLEAN AutoRequestSense; | |
| 374 BOOLEAN MultipleRequestPerLu; | |
| 375 BOOLEAN ReceiveEvent; | |
| 376 USHORT VendorIdLength; | |
| 377 PVOID VendorId; | |
| 378 USHORT ReservedUshort; | |
| 379 USHORT DeviceIdLength; | |
| 380 PVOID DeviceId; | |
| 381 PHW_ADAPTER_CONTROL HwAdapterControl; | |
| 382 } HW_INITIALIZATION_DATA, *PHW_INITIALIZATION_DATA; | |
| 383 | |
| 384 SCSIPORTAPI | |
| 385 VOID | |
| 386 DDKAPI | |
| 387 ScsiPortCompleteRequest( | |
| 388 IN PVOID HwDeviceExtension, | |
| 389 IN UCHAR PathId, | |
| 390 IN UCHAR TargetId, | |
| 391 IN UCHAR Lun, | |
| 392 IN UCHAR SrbStatus); | |
| 393 | |
| 394 /* | |
| 395 * ULONG | |
| 396 * ScsiPortConvertPhysicalAddressToUlong( | |
| 397 * IN SCSI_PHYSICAL_ADDRESS Address); | |
| 398 */ | |
| 399 #define ScsiPortConvertPhysicalAddressToUlong(Address) ((Address).LowPart) | |
| 400 | |
| 401 SCSIPORTAPI | |
| 402 SCSI_PHYSICAL_ADDRESS | |
| 403 DDKAPI | |
| 404 ScsiPortConvertUlongToPhysicalAddress( | |
| 405 IN ULONG UlongAddress); | |
| 406 | |
| 407 SCSIPORTAPI | |
| 408 VOID | |
| 409 DDKAPI | |
| 410 ScsiPortFlushDma( | |
| 411 IN PVOID DeviceExtension); | |
| 412 | |
| 413 SCSIPORTAPI | |
| 414 VOID | |
| 415 DDKAPI | |
| 416 ScsiPortFreeDeviceBase( | |
| 417 IN PVOID HwDeviceExtension, | |
| 418 IN PVOID MappedAddress); | |
| 419 | |
| 420 SCSIPORTAPI | |
| 421 ULONG | |
| 422 DDKAPI | |
| 423 ScsiPortGetBusData( | |
| 424 IN PVOID DeviceExtension, | |
| 425 IN ULONG BusDataType, | |
| 426 IN ULONG SystemIoBusNumber, | |
| 427 IN ULONG SlotNumber, | |
| 428 IN PVOID Buffer, | |
| 429 IN ULONG Length); | |
| 430 | |
| 431 SCSIPORTAPI | |
| 432 PVOID | |
| 433 DDKAPI | |
| 434 ScsiPortGetDeviceBase( | |
| 435 IN PVOID HwDeviceExtension, | |
| 436 IN INTERFACE_TYPE BusType, | |
| 437 IN ULONG SystemIoBusNumber, | |
| 438 IN SCSI_PHYSICAL_ADDRESS IoAddress, | |
| 439 IN ULONG NumberOfBytes, | |
| 440 IN BOOLEAN InIoSpace); | |
| 441 | |
| 442 SCSIPORTAPI | |
| 443 PVOID | |
| 444 DDKAPI | |
| 445 ScsiPortGetLogicalUnit( | |
| 446 IN PVOID HwDeviceExtension, | |
| 447 IN UCHAR PathId, | |
| 448 IN UCHAR TargetId, | |
| 449 IN UCHAR Lun); | |
| 450 | |
| 451 SCSIPORTAPI | |
| 452 SCSI_PHYSICAL_ADDRESS | |
| 453 DDKAPI | |
| 454 ScsiPortGetPhysicalAddress( | |
| 455 IN PVOID HwDeviceExtension, | |
| 456 IN PSCSI_REQUEST_BLOCK Srb OPTIONAL, | |
| 457 IN PVOID VirtualAddress, | |
| 458 OUT ULONG *Length); | |
| 459 | |
| 460 SCSIPORTAPI | |
| 461 PSCSI_REQUEST_BLOCK | |
| 462 DDKAPI | |
| 463 ScsiPortGetSrb( | |
| 464 IN PVOID DeviceExtension, | |
| 465 IN UCHAR PathId, | |
| 466 IN UCHAR TargetId, | |
| 467 IN UCHAR Lun, | |
| 468 IN LONG QueueTag); | |
| 469 | |
| 470 SCSIPORTAPI | |
| 471 PVOID | |
| 472 DDKAPI | |
| 473 ScsiPortGetUncachedExtension( | |
| 474 IN PVOID HwDeviceExtension, | |
| 475 IN PPORT_CONFIGURATION_INFORMATION ConfigInfo, | |
| 476 IN ULONG NumberOfBytes); | |
| 477 | |
| 478 SCSIPORTAPI | |
| 479 PVOID | |
| 480 DDKAPI | |
| 481 ScsiPortGetVirtualAddress( | |
| 482 IN PVOID HwDeviceExtension, | |
| 483 IN SCSI_PHYSICAL_ADDRESS PhysicalAddress); | |
| 484 | |
| 485 SCSIPORTAPI | |
| 486 ULONG | |
| 487 DDKAPI | |
| 488 ScsiPortInitialize( | |
| 489 IN PVOID Argument1, | |
| 490 IN PVOID Argument2, | |
| 491 IN struct _HW_INITIALIZATION_DATA *HwInitializationData, | |
| 492 IN PVOID HwContext OPTIONAL); | |
| 493 | |
| 494 SCSIPORTAPI | |
| 495 VOID | |
| 496 DDKAPI | |
| 497 ScsiPortIoMapTransfer( | |
| 498 IN PVOID HwDeviceExtension, | |
| 499 IN PSCSI_REQUEST_BLOCK Srb, | |
| 500 IN PVOID LogicalAddress, | |
| 501 IN ULONG Length); | |
| 502 | |
| 503 SCSIPORTAPI | |
| 504 VOID | |
| 505 DDKAPI | |
| 506 ScsiPortLogError( | |
| 507 IN PVOID HwDeviceExtension, | |
| 508 IN PSCSI_REQUEST_BLOCK Srb OPTIONAL, | |
| 509 IN UCHAR PathId, | |
| 510 IN UCHAR TargetId, | |
| 511 IN UCHAR Lun, | |
| 512 IN ULONG ErrorCode, | |
| 513 IN ULONG UniqueId); | |
| 514 | |
| 515 SCSIPORTAPI | |
| 516 VOID | |
| 517 DDKAPI | |
| 518 ScsiPortMoveMemory( | |
| 519 IN PVOID WriteBuffer, | |
| 520 IN PVOID ReadBuffer, | |
| 521 IN ULONG Length); | |
| 522 | |
| 523 SCSIPORTAPI | |
| 524 VOID | |
| 525 DDKCDECLAPI | |
| 526 ScsiPortNotification( | |
| 527 IN SCSI_NOTIFICATION_TYPE NotificationType, | |
| 528 IN PVOID HwDeviceExtension, | |
| 529 IN ...); | |
| 530 | |
| 531 SCSIPORTAPI | |
| 532 VOID | |
| 533 DDKAPI | |
| 534 ScsiPortQuerySystemTime( | |
| 535 OUT PLARGE_INTEGER CurrentTime); | |
| 536 | |
| 537 SCSIPORTAPI | |
| 538 VOID | |
| 539 DDKAPI | |
| 540 ScsiPortReadPortBufferUchar( | |
| 541 IN PUCHAR Port, | |
| 542 IN PUCHAR Buffer, | |
| 543 IN ULONG Count); | |
| 544 | |
| 545 SCSIPORTAPI | |
| 546 VOID | |
| 547 DDKAPI | |
| 548 ScsiPortReadPortBufferUlong( | |
| 549 IN PULONG Port, | |
| 550 IN PULONG Buffer, | |
| 551 IN ULONG Count); | |
| 552 | |
| 553 SCSIPORTAPI | |
| 554 VOID | |
| 555 DDKAPI | |
| 556 ScsiPortReadPortBufferUshort( | |
| 557 IN PUSHORT Port, | |
| 558 IN PUSHORT Buffer, | |
| 559 IN ULONG Count); | |
| 560 | |
| 561 SCSIPORTAPI | |
| 562 UCHAR | |
| 563 DDKAPI | |
| 564 ScsiPortReadPortUchar( | |
| 565 IN PUCHAR Port); | |
| 566 | |
| 567 SCSIPORTAPI | |
| 568 ULONG | |
| 569 DDKAPI | |
| 570 ScsiPortReadPortUlong( | |
| 571 IN PULONG Port); | |
| 572 | |
| 573 SCSIPORTAPI | |
| 574 USHORT | |
| 575 DDKAPI | |
| 576 ScsiPortReadPortUshort( | |
| 577 IN PUSHORT Port); | |
| 578 | |
| 579 SCSIPORTAPI | |
| 580 VOID | |
| 581 DDKAPI | |
| 582 ScsiPortReadRegisterBufferUchar( | |
| 583 IN PUCHAR Register, | |
| 584 IN PUCHAR Buffer, | |
| 585 IN ULONG Count); | |
| 586 | |
| 587 SCSIPORTAPI | |
| 588 VOID | |
| 589 DDKAPI | |
| 590 ScsiPortReadRegisterBufferUlong( | |
| 591 IN PULONG Register, | |
| 592 IN PULONG Buffer, | |
| 593 IN ULONG Count); | |
| 594 | |
| 595 SCSIPORTAPI | |
| 596 VOID | |
| 597 DDKAPI | |
| 598 ScsiPortReadRegisterBufferUshort( | |
| 599 IN PUSHORT Register, | |
| 600 IN PUSHORT Buffer, | |
| 601 IN ULONG Count); | |
| 602 | |
| 603 SCSIPORTAPI | |
| 604 UCHAR | |
| 605 DDKAPI | |
| 606 ScsiPortReadRegisterUchar( | |
| 607 IN PUCHAR Register); | |
| 608 | |
| 609 SCSIPORTAPI | |
| 610 ULONG | |
| 611 DDKAPI | |
| 612 ScsiPortReadRegisterUlong( | |
| 613 IN PULONG Register); | |
| 614 | |
| 615 SCSIPORTAPI | |
| 616 USHORT | |
| 617 DDKAPI | |
| 618 ScsiPortReadRegisterUshort( | |
| 619 IN PUSHORT Register); | |
| 620 | |
| 621 SCSIPORTAPI | |
| 622 ULONG | |
| 623 DDKAPI | |
| 624 ScsiPortSetBusDataByOffset( | |
| 625 IN PVOID DeviceExtension, | |
| 626 IN ULONG BusDataType, | |
| 627 IN ULONG SystemIoBusNumber, | |
| 628 IN ULONG SlotNumber, | |
| 629 IN PVOID Buffer, | |
| 630 IN ULONG Offset, | |
| 631 IN ULONG Length); | |
| 632 | |
| 633 SCSIPORTAPI | |
| 634 VOID | |
| 635 DDKAPI | |
| 636 ScsiPortStallExecution( | |
| 637 IN ULONG Delay); | |
| 638 | |
| 639 SCSIPORTAPI | |
| 640 BOOLEAN | |
| 641 DDKAPI | |
| 642 ScsiPortValidateRange( | |
| 643 IN PVOID HwDeviceExtension, | |
| 644 IN INTERFACE_TYPE BusType, | |
| 645 IN ULONG SystemIoBusNumber, | |
| 646 IN SCSI_PHYSICAL_ADDRESS IoAddress, | |
| 647 IN ULONG NumberOfBytes, | |
| 648 IN BOOLEAN InIoSpace); | |
| 649 | |
| 650 SCSIPORTAPI | |
| 651 VOID | |
| 652 DDKAPI | |
| 653 ScsiPortWritePortBufferUchar( | |
| 654 IN PUCHAR Port, | |
| 655 IN PUCHAR Buffer, | |
| 656 IN ULONG Count); | |
| 657 | |
| 658 SCSIPORTAPI | |
| 659 VOID | |
| 660 DDKAPI | |
| 661 ScsiPortWritePortBufferUlong( | |
| 662 IN PULONG Port, | |
| 663 IN PULONG Buffer, | |
| 664 IN ULONG Count); | |
| 665 | |
| 666 SCSIPORTAPI | |
| 667 VOID | |
| 668 DDKAPI | |
| 669 ScsiPortWritePortBufferUshort( | |
| 670 IN PUSHORT Port, | |
| 671 IN PUSHORT Buffer, | |
| 672 IN ULONG Count); | |
| 673 | |
| 674 SCSIPORTAPI | |
| 675 VOID | |
| 676 DDKAPI | |
| 677 ScsiPortWritePortUchar( | |
| 678 IN PUCHAR Port, | |
| 679 IN UCHAR Value); | |
| 680 | |
| 681 SCSIPORTAPI | |
| 682 VOID | |
| 683 DDKAPI | |
| 684 ScsiPortWritePortUlong( | |
| 685 IN PULONG Port, | |
| 686 IN ULONG Value); | |
| 687 | |
| 688 SCSIPORTAPI | |
| 689 VOID | |
| 690 DDKAPI | |
| 691 ScsiPortWritePortUshort( | |
| 692 IN PUSHORT Port, | |
| 693 IN USHORT Value); | |
| 694 | |
| 695 SCSIPORTAPI | |
| 696 VOID | |
| 697 DDKAPI | |
| 698 ScsiPortWriteRegisterBufferUchar( | |
| 699 IN PUCHAR Register, | |
| 700 IN PUCHAR Buffer, | |
| 701 IN ULONG Count); | |
| 702 | |
| 703 SCSIPORTAPI | |
| 704 VOID | |
| 705 DDKAPI | |
| 706 ScsiPortWriteRegisterBufferUlong( | |
| 707 IN PULONG Register, | |
| 708 IN PULONG Buffer, | |
| 709 IN ULONG Count); | |
| 710 | |
| 711 SCSIPORTAPI | |
| 712 VOID | |
| 713 DDKAPI | |
| 714 ScsiPortWriteRegisterBufferUshort( | |
| 715 IN PUSHORT Register, | |
| 716 IN PUSHORT Buffer, | |
| 717 IN ULONG Count); | |
| 718 | |
| 719 SCSIPORTAPI | |
| 720 VOID | |
| 721 DDKAPI | |
| 722 ScsiPortWriteRegisterUchar( | |
| 723 IN PUCHAR Register, | |
| 724 IN ULONG Value); | |
| 725 | |
| 726 SCSIPORTAPI | |
| 727 VOID | |
| 728 DDKAPI | |
| 729 ScsiPortWriteRegisterUlong( | |
| 730 IN PULONG Register, | |
| 731 IN ULONG Value); | |
| 732 | |
| 733 SCSIPORTAPI | |
| 734 VOID | |
| 735 DDKAPI | |
| 736 ScsiPortWriteRegisterUshort( | |
| 737 IN PUSHORT Register, | |
| 738 IN USHORT Value); | |
| 739 | |
| 740 SCSIPORTAPI | |
| 741 VOID | |
| 742 DDKCDECLAPI | |
| 743 ScsiDebugPrint( | |
| 744 IN ULONG DebugPrintLevel, | |
| 745 IN PCCHAR DebugMessage, | |
| 746 IN ...); | |
| 747 | |
| 748 #ifdef __cplusplus | |
| 749 } | |
| 750 #endif | |
| 751 | |
| 752 #endif /* __SRB_H */ |
