*include/imagehlp.h: Comment out IN, OUT and OPTIONAL, throughout. *include/rpcdce.h: Don't define IN, OUT or OPTIONAL if _NO_W32_PSEUDO_MODIFIERS. *include/rpcnsi.h: Comment out IN, OUT and OPTIONAL, throughout. *include/rpcnsip.h: Likewise. *include/windef.h: Don't define IN, OUT or OPTIONAL if _NO_W32_PSEUDO_MODIFIERS. *include/ddk/batclass.h: Comment out IN, OUT and OPTIONAL, throughout. *include/ddk/cfgmgr32.h: Likewise. *include/ddk/ddkmapi.h: Likewise. *include/ddk/hidclass.h: Likewise. *include/ddk/hidpi.h: Likewise. *include/ddk/kbdmou.h: Likewise. *include/ddk/mcd.h: Likewise. *include/ddk/miniport.h: Likewise. *include/ddk/minitape.h: Likewise. *include/ddk/ndis.h: Likewise. *include/ddk/ndistapi.h: Likewise. *include/ddk/ndiswan.h: Likewise. *include/ddk/ntapi.h: Likewise. *include/ddk/ntdd8042.h: Likewise. *include/ddk/ntddpcm.h: Likewise. *include/ddk/ntifs.h: Likewise. *include/ddk/ntpoapi.h: Likewise. *include/ddk/parallel.h: Likewise. *include/ddk/pfhook.h: Likewise. *include/ddk/scsiwmi.h: Likewise. *include/ddk/smbus.h: Likewise. *include/ddk/srb.h: Likewise. *include/ddk/storport.h: Likewise. *include/ddk/tdikrnl.h: Likewise. *include/ddk/upssvc.h: Likewise. *include/ddk/usbcamdi.h: Likewise. *include/ddk/usbscan.h: Likewise. *include/ddk/video.h: Likewise. *include/ddk/videoagp.h: Likewise. *include/ddk/win2k.h: Likewise. *include/ddk/winddi.h: Likewise. *include/ddk/winddk.h: Don't define IN, OUT or OPTIONAL if _NO_W32_PSEUDO_MODIFIERS. Comment out IN, OUT and OPTIONAL, throughout. *include/ddk/winnt4.h: Comment out IN, OUT and OPTIONAL, throughout. *include/ddk/ws2san.h: Likewise.
		
			
				
	
	
		
			423 lines
		
	
	
		
			7.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			423 lines
		
	
	
		
			7.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/*
 | 
						|
 * storport.h
 | 
						|
 *
 | 
						|
 * StorPort interface
 | 
						|
 *
 | 
						|
 * This file is part of the w32api package.
 | 
						|
 *
 | 
						|
 * Contributors:
 | 
						|
 *   Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
 | 
						|
 *
 | 
						|
 * THIS SOFTWARE IS NOT COPYRIGHTED
 | 
						|
 *
 | 
						|
 * This source code is offered for use in the public domain. You may
 | 
						|
 * use, modify or distribute it freely.
 | 
						|
 *
 | 
						|
 * This code is distributed in the hope that it will be useful but
 | 
						|
 * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
 | 
						|
 * DISCLAIMED. This includes but is not limited to warranties of
 | 
						|
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 | 
						|
 *
 | 
						|
 */
 | 
						|
 | 
						|
#ifndef __STORPORT_H
 | 
						|
#define __STORPORT_H
 | 
						|
 | 
						|
#if __GNUC__ >=3
 | 
						|
#pragma GCC system_header
 | 
						|
#endif
 | 
						|
 | 
						|
#ifdef __cplusplus
 | 
						|
extern "C" {
 | 
						|
#endif
 | 
						|
 | 
						|
#include "ntddk.h"
 | 
						|
#include "srb.h"
 | 
						|
 | 
						|
#if defined(_STORPORT_)
 | 
						|
  #define STORPORTAPI DECLSPEC_EXPORT
 | 
						|
#else
 | 
						|
  #define STORPORTAPI DECLSPEC_IMPORT
 | 
						|
#endif
 | 
						|
 | 
						|
 | 
						|
typedef PHYSICAL_ADDRESS STOR_PHYSICAL_ADDRESS;
 | 
						|
 | 
						|
typedef struct _STOR_SCATTER_GATHER_ELEMENT {
 | 
						|
	STOR_PHYSICAL_ADDRESS  PhysicalAddress;
 | 
						|
	ULONG  Length;
 | 
						|
	ULONG_PTR  Reserved;
 | 
						|
} STOR_SCATTER_GATHER_ELEMENT, *PSTOR_SCATTER_GATHER_ELEMENT;
 | 
						|
 | 
						|
typedef struct _STOR_SCATTER_GATHER_LIST {
 | 
						|
    ULONG  NumberOfElements;
 | 
						|
    ULONG_PTR  Reserved;
 | 
						|
    STOR_SCATTER_GATHER_ELEMENT  List[0];
 | 
						|
} STOR_SCATTER_GATHER_LIST, *PSTOR_SCATTER_GATHER_LIST;
 | 
						|
 | 
						|
typedef struct _SCSI_WMI_REQUEST_BLOCK {
 | 
						|
  USHORT  Length;
 | 
						|
  UCHAR  Function;
 | 
						|
  UCHAR  SrbStatus;
 | 
						|
  UCHAR  WMISubFunction;
 | 
						|
  UCHAR  PathId;
 | 
						|
  UCHAR  TargetId;
 | 
						|
  UCHAR  Lun;
 | 
						|
  UCHAR  Reserved1;
 | 
						|
  UCHAR  WMIFlags;
 | 
						|
  UCHAR  Reserved2[2];
 | 
						|
  ULONG  SrbFlags;
 | 
						|
  ULONG  DataTransferLength;
 | 
						|
  ULONG  TimeOutValue;
 | 
						|
  PVOID  DataBuffer;
 | 
						|
  PVOID  DataPath;
 | 
						|
  PVOID  Reserved3;
 | 
						|
  PVOID  OriginalRequest;
 | 
						|
  PVOID  SrbExtension;
 | 
						|
  ULONG  Reserved4;
 | 
						|
  UCHAR  Reserved5[16];
 | 
						|
} SCSI_WMI_REQUEST_BLOCK, *PSCSI_WMI_REQUEST_BLOCK;
 | 
						|
 | 
						|
 | 
						|
STORPORTAPI
 | 
						|
ULONG
 | 
						|
DDKAPI
 | 
						|
StorPortInitialize(
 | 
						|
  /*IN*/ PVOID  Argument1,
 | 
						|
  /*IN*/ PVOID  Argument2,
 | 
						|
  /*IN*/ PHW_INITIALIZATION_DATA  HwInitializationData,
 | 
						|
  /*IN*/ PVOID  Unused);
 | 
						|
 | 
						|
STORPORTAPI
 | 
						|
VOID
 | 
						|
DDKAPI
 | 
						|
StorPortFreeDeviceBase(
 | 
						|
  /*IN*/ PVOID  HwDeviceExtension,
 | 
						|
  /*IN*/ PVOID  MappedAddress);
 | 
						|
 | 
						|
STORPORTAPI
 | 
						|
ULONG
 | 
						|
DDKAPI
 | 
						|
StorPortGetBusData(
 | 
						|
  /*IN*/ PVOID  DeviceExtension,
 | 
						|
  /*IN*/ ULONG  BusDataType,
 | 
						|
  /*IN*/ ULONG  SystemIoBusNumber,
 | 
						|
  /*IN*/ ULONG  SlotNumber,
 | 
						|
  /*IN*/ PVOID  Buffer,
 | 
						|
  /*IN*/ ULONG  Length);
 | 
						|
 | 
						|
STORPORTAPI
 | 
						|
ULONG
 | 
						|
DDKAPI
 | 
						|
StorPortSetBusDataByOffset(
 | 
						|
  /*IN*/ PVOID  DeviceExtension,
 | 
						|
  /*IN*/ ULONG   BusDataType,
 | 
						|
  /*IN*/ ULONG  SystemIoBusNumber,
 | 
						|
  /*IN*/ ULONG  SlotNumber,
 | 
						|
  /*IN*/ PVOID  Buffer,
 | 
						|
  /*IN*/ ULONG  Offset,
 | 
						|
  /*IN*/ ULONG  Length);
 | 
						|
 | 
						|
STORPORTAPI
 | 
						|
PVOID
 | 
						|
DDKAPI
 | 
						|
StorPortGetDeviceBase(
 | 
						|
  /*IN*/ PVOID  HwDeviceExtension,
 | 
						|
  /*IN*/ INTERFACE_TYPE  BusType,
 | 
						|
  /*IN*/ ULONG  SystemIoBusNumber,
 | 
						|
  /*IN*/ SCSI_PHYSICAL_ADDRESS  IoAddress,
 | 
						|
  /*IN*/ ULONG  NumberOfBytes,
 | 
						|
  /*IN*/ BOOLEAN  InIoSpace);
 | 
						|
 | 
						|
STORPORTAPI
 | 
						|
PVOID
 | 
						|
DDKAPI
 | 
						|
StorPortGetLogicalUnit(
 | 
						|
  /*IN*/ PVOID  HwDeviceExtension,
 | 
						|
  /*IN*/ UCHAR  PathId,
 | 
						|
  /*IN*/ UCHAR  TargetId,
 | 
						|
  /*IN*/ UCHAR  Lun);
 | 
						|
 | 
						|
STORPORTAPI
 | 
						|
PSCSI_REQUEST_BLOCK
 | 
						|
DDKAPI
 | 
						|
StorPortGetSrb(
 | 
						|
  /*IN*/ PVOID  DeviceExtension,
 | 
						|
  /*IN*/ UCHAR  PathId,
 | 
						|
  /*IN*/ UCHAR  TargetId,
 | 
						|
  /*IN*/ UCHAR  Lun,
 | 
						|
  /*IN*/ LONG  QueueTag);
 | 
						|
 | 
						|
STORPORTAPI
 | 
						|
STOR_PHYSICAL_ADDRESS
 | 
						|
DDKAPI
 | 
						|
StorPortGetPhysicalAddress(
 | 
						|
  /*IN*/ PVOID  HwDeviceExtension,
 | 
						|
  /*IN*/ PSCSI_REQUEST_BLOCK  Srb,
 | 
						|
  /*IN*/ PVOID  VirtualAddress,
 | 
						|
  /*OUT*/ ULONG  *Length);
 | 
						|
 | 
						|
STORPORTAPI
 | 
						|
PVOID
 | 
						|
DDKAPI
 | 
						|
StorPortGetVirtualAddress(
 | 
						|
  /*IN*/ PVOID  HwDeviceExtension,
 | 
						|
  /*IN*/ STOR_PHYSICAL_ADDRESS  PhysicalAddress);
 | 
						|
 | 
						|
STORPORTAPI
 | 
						|
PVOID
 | 
						|
DDKAPI
 | 
						|
StorPortGetUncachedExtension(
 | 
						|
  /*IN*/ PVOID HwDeviceExtension,
 | 
						|
  /*IN*/ PPORT_CONFIGURATION_INFORMATION ConfigInfo,
 | 
						|
  /*IN*/ ULONG NumberOfBytes);
 | 
						|
 | 
						|
STORPORTAPI
 | 
						|
VOID
 | 
						|
DDKCDECLAPI
 | 
						|
StorPortNotification(
 | 
						|
  /*IN*/ SCSI_NOTIFICATION_TYPE  NotificationType,
 | 
						|
  /*IN*/ PVOID  HwDeviceExtension,
 | 
						|
  /*IN*/ ...);
 | 
						|
 | 
						|
STORPORTAPI
 | 
						|
VOID
 | 
						|
DDKAPI
 | 
						|
StorPortLogError(
 | 
						|
  /*IN*/ PVOID  HwDeviceExtension,
 | 
						|
  /*IN*/ PSCSI_REQUEST_BLOCK  Srb /*OPTIONAL*/,
 | 
						|
  /*IN*/ UCHAR  PathId,
 | 
						|
  /*IN*/ UCHAR  TargetId,
 | 
						|
  /*IN*/ UCHAR  Lun,
 | 
						|
  /*IN*/ ULONG  ErrorCode,
 | 
						|
  /*IN*/ ULONG  UniqueId);
 | 
						|
 | 
						|
STORPORTAPI
 | 
						|
VOID
 | 
						|
DDKAPI
 | 
						|
StorPortCompleteRequest(
 | 
						|
  /*IN*/ PVOID  HwDeviceExtension,
 | 
						|
  /*IN*/ UCHAR  PathId,
 | 
						|
  /*IN*/ UCHAR  TargetId,
 | 
						|
  /*IN*/ UCHAR  Lun,
 | 
						|
  /*IN*/ UCHAR  SrbStatus);
 | 
						|
 | 
						|
STORPORTAPI
 | 
						|
VOID
 | 
						|
DDKAPI
 | 
						|
StorPortMoveMemory(
 | 
						|
  /*IN*/ PVOID  WriteBuffer,
 | 
						|
  /*IN*/ PVOID  ReadBuffer,
 | 
						|
  /*IN*/ ULONG  Length);
 | 
						|
 | 
						|
STORPORTAPI
 | 
						|
VOID
 | 
						|
DDKAPI
 | 
						|
StorPortStallExecution(
 | 
						|
  /*IN*/ ULONG  Delay);
 | 
						|
 | 
						|
STORPORTAPI
 | 
						|
STOR_PHYSICAL_ADDRESS
 | 
						|
DDKAPI
 | 
						|
StorPortConvertUlong64ToPhysicalAddress(
 | 
						|
  /*IN*/ ULONG64  UlongAddress);
 | 
						|
 | 
						|
STORPORTAPI
 | 
						|
ULONG64
 | 
						|
DDKAPI
 | 
						|
StorPortConvertPhysicalAddressToUlong64(
 | 
						|
  /*IN*/ STOR_PHYSICAL_ADDRESS  Address);
 | 
						|
 | 
						|
STORPORTAPI
 | 
						|
BOOLEAN
 | 
						|
DDKAPI
 | 
						|
StorPortValidateRange(
 | 
						|
  /*IN*/ PVOID  HwDeviceExtension,
 | 
						|
  /*IN*/ INTERFACE_TYPE  BusType,
 | 
						|
  /*IN*/ ULONG  SystemIoBusNumber,
 | 
						|
  /*IN*/ STOR_PHYSICAL_ADDRESS  IoAddress,
 | 
						|
  /*IN*/ ULONG  NumberOfBytes,
 | 
						|
  /*IN*/ BOOLEAN  InIoSpace);
 | 
						|
 | 
						|
STORPORTAPI
 | 
						|
VOID
 | 
						|
DDKCDECLAPI
 | 
						|
StorPortDebugPrint(
 | 
						|
  /*IN*/ ULONG  DebugPrintLevel,
 | 
						|
  /*IN*/ PCCHAR  DebugMessage,
 | 
						|
  /*IN*/ ...);
 | 
						|
 | 
						|
STORPORTAPI
 | 
						|
UCHAR
 | 
						|
DDKAPI
 | 
						|
StorPortReadPortUchar(
 | 
						|
  /*IN*/ PUCHAR  Port);
 | 
						|
 | 
						|
STORPORTAPI
 | 
						|
ULONG
 | 
						|
DDKAPI
 | 
						|
StorPortReadPortUlong(
 | 
						|
  /*IN*/ PULONG  Port);
 | 
						|
 | 
						|
STORPORTAPI
 | 
						|
USHORT
 | 
						|
DDKAPI
 | 
						|
StorPortReadPortUshort(
 | 
						|
  /*IN*/ PUSHORT  Port);
 | 
						|
 | 
						|
STORPORTAPI
 | 
						|
UCHAR
 | 
						|
DDKAPI
 | 
						|
StorPortReadRegisterUchar(
 | 
						|
  /*IN*/ PUCHAR  Register);
 | 
						|
 | 
						|
STORPORTAPI
 | 
						|
ULONG
 | 
						|
DDKAPI
 | 
						|
StorPortReadRegisterUlong(
 | 
						|
  /*IN*/ PULONG  Register);
 | 
						|
 | 
						|
STORPORTAPI
 | 
						|
USHORT
 | 
						|
DDKAPI
 | 
						|
StorPortReadRegisterUshort(
 | 
						|
  /*IN*/ PUSHORT  Register);
 | 
						|
 | 
						|
STORPORTAPI
 | 
						|
VOID
 | 
						|
DDKAPI
 | 
						|
StorPortWritePortUchar(
 | 
						|
  /*IN*/ PUCHAR  Port,
 | 
						|
  /*IN*/ UCHAR  Value);
 | 
						|
 | 
						|
STORPORTAPI
 | 
						|
VOID
 | 
						|
DDKAPI
 | 
						|
StorPortWritePortUlong(
 | 
						|
  /*IN*/ PULONG  Port,
 | 
						|
  /*IN*/ ULONG  Value);
 | 
						|
 | 
						|
STORPORTAPI
 | 
						|
VOID
 | 
						|
DDKAPI
 | 
						|
StorPortWritePortUshort(
 | 
						|
  /*IN*/ PUSHORT  Port,
 | 
						|
  /*IN*/ USHORT  Value);
 | 
						|
 | 
						|
STORPORTAPI
 | 
						|
VOID
 | 
						|
DDKAPI
 | 
						|
StorPortWriteRegisterUchar(
 | 
						|
  /*IN*/ PUCHAR  Port,
 | 
						|
  /*IN*/ UCHAR  Value);
 | 
						|
 | 
						|
STORPORTAPI
 | 
						|
VOID
 | 
						|
DDKAPI
 | 
						|
StorPortWriteRegisterUlong(
 | 
						|
  /*IN*/ PULONG  Port,
 | 
						|
  /*IN*/ ULONG  Value);
 | 
						|
 | 
						|
STORPORTAPI
 | 
						|
VOID
 | 
						|
DDKAPI
 | 
						|
StorPortWriteRegisterUshort(
 | 
						|
  /*IN*/ PUSHORT  Port,
 | 
						|
  /*IN*/ USHORT  Value);
 | 
						|
 | 
						|
STORPORTAPI
 | 
						|
BOOLEAN
 | 
						|
DDKAPI
 | 
						|
StorPortPauseDevice(
 | 
						|
  /*IN*/ PVOID  HwDeviceExtension,
 | 
						|
  /*IN*/ UCHAR  PathId,
 | 
						|
  /*IN*/ UCHAR  TargetId,
 | 
						|
  /*IN*/ UCHAR  Lun,
 | 
						|
  /*IN*/ ULONG  TimeOut);
 | 
						|
 | 
						|
STORPORTAPI
 | 
						|
BOOLEAN
 | 
						|
DDKAPI
 | 
						|
StorPortResumeDevice(
 | 
						|
  /*IN*/ PVOID  HwDeviceExtension,
 | 
						|
  /*IN*/ UCHAR  PathId,
 | 
						|
  /*IN*/ UCHAR  TargetId,
 | 
						|
  /*IN*/ UCHAR  Lun);
 | 
						|
 | 
						|
STORPORTAPI
 | 
						|
BOOLEAN
 | 
						|
DDKAPI
 | 
						|
StorPortPause(
 | 
						|
  /*IN*/ PVOID  HwDeviceExtension,
 | 
						|
  /*IN*/ ULONG  TimeOut);
 | 
						|
 | 
						|
STORPORTAPI
 | 
						|
BOOLEAN
 | 
						|
DDKAPI
 | 
						|
StorPortResume(
 | 
						|
  /*IN*/ PVOID  HwDeviceExtension);
 | 
						|
 | 
						|
STORPORTAPI
 | 
						|
BOOLEAN
 | 
						|
DDKAPI
 | 
						|
StorPortDeviceBusy(
 | 
						|
  /*IN*/ PVOID  HwDeviceExtension,
 | 
						|
  /*IN*/ UCHAR  PathId,
 | 
						|
  /*IN*/ UCHAR  TargetId,
 | 
						|
  /*IN*/ UCHAR  Lun,
 | 
						|
  /*IN*/ ULONG  RequestsToComplete);
 | 
						|
 | 
						|
STORPORTAPI
 | 
						|
BOOLEAN
 | 
						|
DDKAPI
 | 
						|
StorPortDeviceReady(
 | 
						|
  /*IN*/ PVOID  HwDeviceExtension,
 | 
						|
  /*IN*/ UCHAR  PathId,
 | 
						|
  /*IN*/ UCHAR  TargetId,
 | 
						|
  /*IN*/ UCHAR  Lun);
 | 
						|
 | 
						|
STORPORTAPI
 | 
						|
BOOLEAN
 | 
						|
DDKAPI
 | 
						|
StorPortBusy(
 | 
						|
  /*IN*/ PVOID  HwDeviceExtension,
 | 
						|
  /*IN*/ ULONG  RequestsToComplete);
 | 
						|
 | 
						|
STORPORTAPI
 | 
						|
BOOLEAN
 | 
						|
DDKAPI
 | 
						|
StorPortReady(
 | 
						|
  /*IN*/ PVOID  HwDeviceExtension);
 | 
						|
 | 
						|
STORPORTAPI
 | 
						|
PSTOR_SCATTER_GATHER_LIST
 | 
						|
DDKAPI
 | 
						|
StorPortGetScatterGatherList(
 | 
						|
  /*IN*/ PVOID  DeviceExtension,
 | 
						|
  /*IN*/ PSCSI_REQUEST_BLOCK  Srb);
 | 
						|
 | 
						|
typedef BOOLEAN DDKAPI
 | 
						|
(*PSTOR_SYNCHRONIZED_ACCESS)(
 | 
						|
  /*IN*/ PVOID  HwDeviceExtension,
 | 
						|
  /*IN*/ PVOID  Context);
 | 
						|
 | 
						|
STORPORTAPI
 | 
						|
VOID
 | 
						|
DDKAPI
 | 
						|
StorPortSynchronizeAccess(
 | 
						|
  /*IN*/ PVOID  HwDeviceExtension,
 | 
						|
  /*IN*/ PSTOR_SYNCHRONIZED_ACCESS  SynchronizedAccessRoutine,
 | 
						|
  /*IN*/ PVOID  Context);
 | 
						|
 | 
						|
#ifdef DBG
 | 
						|
#define DebugPrint(x) StorPortDebugPrint x
 | 
						|
#else
 | 
						|
#define DebugPrint(x)
 | 
						|
#endif
 | 
						|
 | 
						|
#ifdef __cplusplus
 | 
						|
}
 | 
						|
#endif
 | 
						|
 | 
						|
#endif /* __STORPORT_H */
 |