Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/w32api/include/ddk')
-rw-r--r--winsup/w32api/include/ddk/atm.h507
-rw-r--r--winsup/w32api/include/ddk/batclass.h298
-rw-r--r--winsup/w32api/include/ddk/cfg.h139
-rw-r--r--winsup/w32api/include/ddk/cfgmgr32.h1533
-rw-r--r--winsup/w32api/include/ddk/d4drvif.h104
-rw-r--r--winsup/w32api/include/ddk/d4iface.h84
-rw-r--r--winsup/w32api/include/ddk/ddkmapi.h334
-rw-r--r--winsup/w32api/include/ddk/hidclass.h153
-rw-r--r--winsup/w32api/include/ddk/hidpi.h604
-rwxr-xr-xwinsup/w32api/include/ddk/hidsdi.h73
-rw-r--r--winsup/w32api/include/ddk/hidusage.h210
-rw-r--r--winsup/w32api/include/ddk/kbdmou.h91
-rw-r--r--winsup/w32api/include/ddk/mcd.h143
-rw-r--r--winsup/w32api/include/ddk/miniport.h77
-rw-r--r--winsup/w32api/include/ddk/minitape.h223
-rw-r--r--winsup/w32api/include/ddk/mountdev.h79
-rw-r--r--winsup/w32api/include/ddk/mountmgr.h139
-rw-r--r--winsup/w32api/include/ddk/ndis.h5317
-rw-r--r--winsup/w32api/include/ddk/ndisguid.h439
-rw-r--r--winsup/w32api/include/ddk/ndistapi.h1308
-rw-r--r--winsup/w32api/include/ddk/ndiswan.h251
-rw-r--r--winsup/w32api/include/ddk/netevent.h42
-rw-r--r--winsup/w32api/include/ddk/netpnp.h69
-rw-r--r--winsup/w32api/include/ddk/newdev.h66
-rw-r--r--winsup/w32api/include/ddk/ntapi.h2906
-rw-r--r--winsup/w32api/include/ddk/ntdd8042.h213
-rw-r--r--winsup/w32api/include/ddk/ntddbeep.h54
-rw-r--r--winsup/w32api/include/ddk/ntddcdrm.h347
-rw-r--r--winsup/w32api/include/ddk/ntddcdvd.h213
-rw-r--r--winsup/w32api/include/ddk/ntddchgr.h353
-rw-r--r--winsup/w32api/include/ddk/ntdddisk.h521
-rw-r--r--winsup/w32api/include/ddk/ntddk.h91
-rw-r--r--winsup/w32api/include/ddk/ntddkbd.h135
-rw-r--r--winsup/w32api/include/ddk/ntddmou.h115
-rw-r--r--winsup/w32api/include/ddk/ntddndis.h188
-rw-r--r--winsup/w32api/include/ddk/ntddpar.h119
-rw-r--r--winsup/w32api/include/ddk/ntddpcm.h165
-rw-r--r--winsup/w32api/include/ddk/ntddscsi.h171
-rw-r--r--winsup/w32api/include/ddk/ntddser.h449
-rw-r--r--winsup/w32api/include/ddk/ntddstor.h333
-rw-r--r--winsup/w32api/include/ddk/ntddtape.h79
-rw-r--r--winsup/w32api/include/ddk/ntddtdi.h61
-rw-r--r--winsup/w32api/include/ddk/ntddvdeo.h440
-rw-r--r--winsup/w32api/include/ddk/ntddvol.h141
-rw-r--r--winsup/w32api/include/ddk/ntifs.h4726
-rw-r--r--winsup/w32api/include/ddk/ntpoapi.h229
-rw-r--r--winsup/w32api/include/ddk/ntstatus.h1105
-rw-r--r--winsup/w32api/include/ddk/parallel.h277
-rw-r--r--winsup/w32api/include/ddk/pfhook.h76
-rw-r--r--winsup/w32api/include/ddk/poclass.h118
-rw-r--r--winsup/w32api/include/ddk/scsi.h1701
-rw-r--r--winsup/w32api/include/ddk/scsiscan.h130
-rw-r--r--winsup/w32api/include/ddk/scsiwmi.h215
-rw-r--r--winsup/w32api/include/ddk/smbus.h190
-rw-r--r--winsup/w32api/include/ddk/srb.h753
-rw-r--r--winsup/w32api/include/ddk/storport.h422
-rw-r--r--winsup/w32api/include/ddk/tdi.h593
-rw-r--r--winsup/w32api/include/ddk/tdiinfo.h110
-rw-r--r--winsup/w32api/include/ddk/tdikrnl.h1162
-rw-r--r--winsup/w32api/include/ddk/tdistat.h83
-rw-r--r--winsup/w32api/include/ddk/tvout.h116
-rw-r--r--winsup/w32api/include/ddk/upssvc.h94
-rw-r--r--winsup/w32api/include/ddk/usb.h471
-rw-r--r--winsup/w32api/include/ddk/usb100.h237
-rw-r--r--winsup/w32api/include/ddk/usbcamdi.h404
-rw-r--r--winsup/w32api/include/ddk/usbdi.h407
-rw-r--r--winsup/w32api/include/ddk/usbioctl.h353
-rw-r--r--winsup/w32api/include/ddk/usbiodef.h106
-rw-r--r--winsup/w32api/include/ddk/usbscan.h158
-rw-r--r--winsup/w32api/include/ddk/usbuser.h328
-rw-r--r--winsup/w32api/include/ddk/video.h1566
-rw-r--r--winsup/w32api/include/ddk/videoagp.h129
-rw-r--r--winsup/w32api/include/ddk/win2k.h106
-rw-r--r--winsup/w32api/include/ddk/winddi.h4258
-rw-r--r--winsup/w32api/include/ddk/winddk.h9240
-rw-r--r--winsup/w32api/include/ddk/winnt4.h623
-rw-r--r--winsup/w32api/include/ddk/winxp.h38
-rw-r--r--winsup/w32api/include/ddk/ws2san.h248
-rw-r--r--winsup/w32api/include/ddk/xfilter.h239
79 files changed, 0 insertions, 50388 deletions
diff --git a/winsup/w32api/include/ddk/atm.h b/winsup/w32api/include/ddk/atm.h
deleted file mode 100644
index d30229385..000000000
--- a/winsup/w32api/include/ddk/atm.h
+++ /dev/null
@@ -1,507 +0,0 @@
-/*
- * atm.h
- *
- * ATM support
- *
- * 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 __ATM_H
-#define __ATM_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef ULONG ATM_ADDRESSTYPE;
-
-#define SAP_TYPE_NSAP 1
-#define SAP_TYPE_E164 2
-
-#define ATM_MEDIA_SPECIFIC 1
-
-#define CALLMGR_SPECIFIC_Q2931 1
-
-#define ATM_NSAP 0
-#define ATM_E164 1
-
-#define ATM_MAC_ADDRESS_LENGTH 6
-#define ATM_ADDRESS_LENGTH 20
-
-typedef ULONG ATM_AAL_TYPE, *PATM_AAL_TYPE;
-
-#define AAL_TYPE_AAL0 1
-#define AAL_TYPE_AAL1 2
-#define AAL_TYPE_AAL34 4
-#define AAL_TYPE_AAL5 8
-
-#define ATM_ADDR_BLANK_CHAR L' '
-#define ATM_ADDR_E164_START_CHAR L'+'
-#define ATM_ADDR_PUNCTUATION_CHAR L'.'
-
-typedef enum {
- IE_AALParameters,
- IE_TrafficDescriptor,
- IE_BroadbandBearerCapability,
- IE_BHLI,
- IE_BLLI,
- IE_CalledPartyNumber,
- IE_CalledPartySubaddress,
- IE_CallingPartyNumber,
- IE_CallingPartySubaddress,
- IE_Cause,
- IE_QOSClass,
- IE_TransitNetworkSelection,
- IE_BroadbandSendingComplete,
- IE_LIJCallId,
- IE_Raw
-} Q2931_IE_TYPE;
-
-typedef struct _Q2931_IE {
- Q2931_IE_TYPE IEType;
- ULONG IELength;
- UCHAR IE[1];
-} Q2931_IE, *PQ2931_IE;
-
-typedef struct _AAL1_PARAMETERS {
- UCHAR Subtype;
- UCHAR CBRRate;
- USHORT Multiplier;
- UCHAR SourceClockRecoveryMethod;
- UCHAR ErrorCorrectionMethod;
- USHORT StructuredDataTransferBlocksize;
- UCHAR PartiallyFilledCellsMethod;
-} AAL1_PARAMETERS, *PAAL1_PARAMETERS;
-
-typedef struct _AAL34_PARAMETERS {
- USHORT ForwardMaxCPCSSDUSize;
- USHORT BackwardMaxCPCSSDUSize;
- USHORT LowestMID;
- USHORT HighestMID;
- UCHAR SSCSType;
-} AAL34_PARAMETERS, *PAAL34_PARAMETERS;
-
-/* AAL5_PARAMETERS.Mode constants */
-#define AAL5_MODE_MESSAGE 0x01
-#define AAL5_MODE_STREAMING 0x02
-
-/* AAL5_PARAMETERS.SSCSType constants */
-#define AAL5_SSCS_NULL 0x00
-#define AAL5_SSCS_SSCOP_ASSURED 0x01
-#define AAL5_SSCS_SSCOP_NON_ASSURED 0x02
-#define AAL5_SSCS_FRAME_RELAY 0x04
-
-typedef struct _AAL5_PARAMETERS {
- ULONG ForwardMaxCPCSSDUSize;
- ULONG BackwardMaxCPCSSDUSize;
- UCHAR Mode;
- UCHAR SSCSType;
-} AAL5_PARAMETERS, *PAAL5_PARAMETERS;
-
-typedef struct _AALUSER_PARAMETERS {
- ULONG UserDefined;
-} AALUSER_PARAMETERS, *PAALUSER_PARAMETERS;
-
-typedef struct _AAL_PARAMETERS_IE {
- ATM_AAL_TYPE AALType;
- union {
- AAL1_PARAMETERS AAL1Parameters;
- AAL34_PARAMETERS AAL34Parameters;
- AAL5_PARAMETERS AAL5Parameters;
- AALUSER_PARAMETERS AALUserParameters;
- } AALSpecificParameters;
-} AAL_PARAMETERS_IE, *PAAL_PARAMETERS_IE;
-
-
-/* FIXME: Should the union be anonymous in C++ too? If so,
- can't define named types _ATM_AAL5_INFO and _ATM_AAL0_INFO
- within anonymous union for C++. */
-typedef struct _ATM_AAL_OOB_INFO
-{
- ATM_AAL_TYPE AalType;
-#ifndef __cplusplus
- _ANONYMOUS_UNION
-#endif
- union {
- struct _ATM_AAL5_INFO {
- BOOLEAN CellLossPriority;
- UCHAR UserToUserIndication;
- UCHAR CommonPartIndicator;
- } ATM_AAL5_INFO;
-
- struct _ATM_AAL0_INFO {
- BOOLEAN CellLossPriority;
- UCHAR PayLoadTypeIdentifier;
- } ATM_AAL0_INFO;
-#ifndef __cplusplus
- } DUMMYUNIONNAME;
-#else
- } u;
-#endif
-} ATM_AAL_OOB_INFO, *PATM_AAL_OOB_INFO;
-
-typedef struct _ATM_ADDRESS {
- ATM_ADDRESSTYPE AddressType;
- ULONG NumberOfDigits;
- UCHAR Address[ATM_ADDRESS_LENGTH];
-} ATM_ADDRESS, *PATM_ADDRESS;
-
-/* ATM_BHLI_IE.HighLayerInfoType constants */
-#define BHLI_ISO 0x00
-#define BHLI_UserSpecific 0x01
-#define BHLI_HighLayerProfile 0x02
-#define BHLI_VendorSpecificAppId 0x03
-
-typedef struct _ATM_BHLI_IE {
- ULONG HighLayerInfoType;
- ULONG HighLayerInfoLength;
- UCHAR HighLayerInfo[8];
-} ATM_BHLI_IE, *PATM_BHLI_IE;
-
-/* ATM_BLLI_IE.Layer2Protocol constants */
-#define BLLI_L2_ISO_1745 0x01
-#define BLLI_L2_Q921 0x02
-#define BLLI_L2_X25L 0x06
-#define BLLI_L2_X25M 0x07
-#define BLLI_L2_ELAPB 0x08
-#define BLLI_L2_HDLC_ARM 0x09
-#define BLLI_L2_HDLC_NRM 0x0A
-#define BLLI_L2_HDLC_ABM 0x0B
-#define BLLI_L2_LLC 0x0C
-#define BLLI_L2_X75 0x0D
-#define BLLI_L2_Q922 0x0E
-#define BLLI_L2_USER_SPECIFIED 0x10
-#define BLLI_L2_ISO_7776 0x11
-
-/* ATM_BLLI_IE.Layer3Protocol constants */
-#define BLLI_L3_X25 0x06
-#define BLLI_L3_ISO_8208 0x07
-#define BLLI_L3_X223 0x08
-#define BLLI_L3_SIO_8473 0x09
-#define BLLI_L3_T70 0x0A
-#define BLLI_L3_ISO_TR9577 0x0B
-#define BLLI_L3_USER_SPECIFIED 0x10
-
-/* ATM_BLLI_IE.Layer3IPI constants */
-#define BLLI_L3_IPI_SNAP 0x80
-#define BLLI_L3_IPI_IP 0xCC
-
-typedef struct _ATM_BLLI_IE {
- ULONG Layer2Protocol;
- UCHAR Layer2Mode;
- UCHAR Layer2WindowSize;
- ULONG Layer2UserSpecifiedProtocol;
- ULONG Layer3Protocol;
- UCHAR Layer3Mode;
- UCHAR Layer3DefaultPacketSize;
- UCHAR Layer3PacketWindowSize;
- ULONG Layer3UserSpecifiedProtocol;
- ULONG Layer3IPI;
- UCHAR SnapId[5];
-} ATM_BLLI_IE, *PATM_BLLI_IE;
-
-/* ATM_BROADBAND_BEARER_CAPABILITY_IE.BearerClass constants */
-#define BCOB_A 0x00
-#define BCOB_C 0x01
-#define BCOB_X 0x02
-
-/* ATM_BROADBAND_BEARER_CAPABILITY_IE.TrafficType constants */
-#define TT_NOIND 0x00
-#define TT_CBR 0x04
-#define TT_VBR 0x08
-
-/* ATM_BROADBAND_BEARER_CAPABILITY_IE.TimingRequirements constants */
-#define TR_NOIND 0x00
-#define TR_END_TO_END 0x01
-#define TR_NO_END_TO_END 0x02
-
-/* ATM_BROADBAND_BEARER_CAPABILITY_IE.ClippingSusceptability constants */
-#define CLIP_NOT 0x00
-#define CLIP_SUS 0x20
-
-/* ATM_BROADBAND_BEARER_CAPABILITY_IE.UserPlaneConnectionConfig constants */
-#define UP_P2P 0x00
-#define UP_P2MP 0x01
-
-typedef struct _ATM_BROADBAND_BEARER_CAPABILITY_IE {
- UCHAR BearerClass;
- UCHAR TrafficType;
- UCHAR TimingRequirements;
- UCHAR ClippingSusceptability;
- UCHAR UserPlaneConnectionConfig;
-} ATM_BROADBAND_BEARER_CAPABILITY_IE, *PATM_BROADBAND_BEARER_CAPABILITY_IE;
-
-typedef struct _ATM_BROADBAND_SENDING_COMPLETE_IE {
- UCHAR SendingComplete;
-} ATM_BROADBAND_SENDING_COMPLETE_IE, *PATM_BROADBAND_SENDING_COMPLETE_IE;
-
-typedef struct _ATM_CALLING_PARTY_NUMBER_IE {
- ATM_ADDRESS Number;
- UCHAR PresentationIndication;
- UCHAR ScreeningIndicator;
-} ATM_CALLING_PARTY_NUMBER_IE, *PATM_CALLING_PARTY_NUMBER_IE;
-
-/* ATM_CAUSE_IE.Location constants */
-#define ATM_CAUSE_LOC_USER 0x00
-#define ATM_CAUSE_LOC_PRIVATE_LOCAL 0x01
-#define ATM_CAUSE_LOC_PUBLIC_LOCAL 0x02
-#define ATM_CAUSE_LOC_TRANSIT_NETWORK 0x03
-#define ATM_CAUSE_LOC_PUBLIC_REMOTE 0x04
-#define ATM_CAUSE_LOC_PRIVATE_REMOTE 0x05
-#define ATM_CAUSE_LOC_INTERNATIONAL_NETWORK 0x07
-#define ATM_CAUSE_LOC_BEYOND_INTERWORKING 0x0A
-
-/* ATM_CAUSE_IE.Cause constants */
-#define ATM_CAUSE_UNALLOCATED_NUMBER 0x01
-#define ATM_CAUSE_NO_ROUTE_TO_TRANSIT_NETWORK 0x02
-#define ATM_CAUSE_NO_ROUTE_TO_DESTINATION 0x03
-#define ATM_CAUSE_VPI_VCI_UNACCEPTABLE 0x0A
-#define ATM_CAUSE_NORMAL_CALL_CLEARING 0x10
-#define ATM_CAUSE_USER_BUSY 0x11
-#define ATM_CAUSE_NO_USER_RESPONDING 0x12
-#define ATM_CAUSE_CALL_REJECTED 0x15
-#define ATM_CAUSE_NUMBER_CHANGED 0x16
-#define ATM_CAUSE_USER_REJECTS_CLIR 0x17
-#define ATM_CAUSE_DESTINATION_OUT_OF_ORDER 0x1B
-#define ATM_CAUSE_INVALID_NUMBER_FORMAT 0x1C
-#define ATM_CAUSE_STATUS_ENQUIRY_RESPONSE 0x1E
-#define ATM_CAUSE_NORMAL_UNSPECIFIED 0x1F
-#define ATM_CAUSE_VPI_VCI_UNAVAILABLE 0x23
-#define ATM_CAUSE_NETWORK_OUT_OF_ORDER 0x26
-#define ATM_CAUSE_TEMPORARY_FAILURE 0x29
-#define ATM_CAUSE_ACCESS_INFORMAION_DISCARDED 0x2B
-#define ATM_CAUSE_NO_VPI_VCI_AVAILABLE 0x2D
-#define ATM_CAUSE_RESOURCE_UNAVAILABLE 0x2F
-#define ATM_CAUSE_QOS_UNAVAILABLE 0x31
-#define ATM_CAUSE_USER_CELL_RATE_UNAVAILABLE 0x33
-#define ATM_CAUSE_BEARER_CAPABILITY_UNAUTHORIZED 0x39
-#define ATM_CAUSE_BEARER_CAPABILITY_UNAVAILABLE 0x3A
-#define ATM_CAUSE_OPTION_UNAVAILABLE 0x3F
-#define ATM_CAUSE_BEARER_CAPABILITY_UNIMPLEMENTED 0x41
-#define ATM_CAUSE_UNSUPPORTED_TRAFFIC_PARAMETERS 0x49
-#define ATM_CAUSE_INVALID_CALL_REFERENCE 0x51
-#define ATM_CAUSE_CHANNEL_NONEXISTENT 0x52
-#define ATM_CAUSE_INCOMPATIBLE_DESTINATION 0x58
-#define ATM_CAUSE_INVALID_ENDPOINT_REFERENCE 0x59
-#define ATM_CAUSE_INVALID_TRANSIT_NETWORK_SELECTION 0x5B
-#define ATM_CAUSE_TOO_MANY_PENDING_ADD_PARTY 0x5C
-#define ATM_CAUSE_AAL_PARAMETERS_UNSUPPORTED 0x5D
-#define ATM_CAUSE_MANDATORY_IE_MISSING 0x60
-#define ATM_CAUSE_UNIMPLEMENTED_MESSAGE_TYPE 0x61
-#define ATM_CAUSE_UNIMPLEMENTED_IE 0x63
-#define ATM_CAUSE_INVALID_IE_CONTENTS 0x64
-#define ATM_CAUSE_INVALID_STATE_FOR_MESSAGE 0x65
-#define ATM_CAUSE_RECOVERY_ON_TIMEOUT 0x66
-#define ATM_CAUSE_INCORRECT_MESSAGE_LENGTH 0x68
-#define ATM_CAUSE_PROTOCOL_ERROR 0x6F
-
-/* ATM_CAUSE_IE.Diagnostics constants */
-#define ATM_CAUSE_COND_UNKNOWN 0x00
-#define ATM_CAUSE_COND_PERMANENT 0x01
-#define ATM_CAUSE_COND_TRANSIENT 0x02
-#define ATM_CAUSE_REASON_USER 0x00
-#define ATM_CAUSE_REASON_IE_MISSING 0x04
-#define ATM_CAUSE_REASON_IE_INSUFFICIENT 0x08
-#define ATM_CAUSE_PU_PROVIDER 0x00
-#define ATM_CAUSE_PU_USER 0x08
-#define ATM_CAUSE_NA_NORMAL 0x00
-#define ATM_CAUSE_NA_ABNORMAL 0x04
-
-typedef struct _ATM_CAUSE_IE {
- UCHAR Location;
- UCHAR Cause;
- UCHAR DiagnosticsLength;
- UCHAR Diagnostics[4];
-} ATM_CAUSE_IE, *PATM_CAUSE_IE;
-
-
-typedef ULONG ATM_SERVICE_CATEGORY, *PATM_SERVICE_CATEGORY;
-
-/* ATM_FLOW_PARAMETERS.ServiceCategory constants */
-#define ATM_SERVICE_CATEGORY_CBR 1
-#define ATM_SERVICE_CATEGORY_VBR 2
-#define ATM_SERVICE_CATEGORY_UBR 4
-#define ATM_SERVICE_CATEGORY_ABR 8
-
-/* ATM_FLOW_PARAMETERS.Reserved1 constants */
-#define ATM_FLOW_PARAMS_RSVD1_MPP 0x01
-
-typedef struct _ATM_FLOW_PARAMETERS {
- ATM_SERVICE_CATEGORY ServiceCategory;
- ULONG AverageCellRate;
- ULONG PeakCellRate;
- ULONG MinimumCellRate;
- ULONG InitialCellRate;
- ULONG BurstLengthCells;
- ULONG MaxSduSize;
- ULONG TransientBufferExposure;
- ULONG CumulativeRMFixedRTT;
- UCHAR RateIncreaseFactor;
- UCHAR RateDecreaseFactor;
- USHORT ACRDecreaseTimeFactor;
- UCHAR MaximumCellsPerForwardRMCell;
- UCHAR MaximumForwardRMCellInterval;
- UCHAR CutoffDecreaseFactor;
- UCHAR Reserved1;
- ULONG MissingRMCellCount;
- ULONG Reserved2;
- ULONG Reserved3;
-} ATM_FLOW_PARAMETERS, *PATM_FLOW_PARAMETERS;
-
-typedef struct _ATM_VPIVCI {
- ULONG Vpi;
- ULONG Vci;
-} ATM_VPIVCI, *PATM_VPIVCI;
-
-typedef struct _ATM_MEDIA_PARAMETERS {
- ATM_VPIVCI ConnectionId;
- ATM_AAL_TYPE AALType;
- ULONG CellDelayVariationCLP0;
- ULONG CellDelayVariationCLP1;
- ULONG CellLossRatioCLP0;
- ULONG CellLossRatioCLP1;
- ULONG CellTransferDelayCLP0;
- ULONG CellTransferDelayCLP1;
- ULONG DefaultCLP;
- ATM_FLOW_PARAMETERS Transmit;
- ATM_FLOW_PARAMETERS Receive;
-} ATM_MEDIA_PARAMETERS, *PATM_MEDIA_PARAMETERS;
-
-typedef struct _ATM_PVC_SAP {
- ATM_BLLI_IE Blli;
- ATM_BHLI_IE Bhli;
-} ATM_PVC_SAP, *PATM_PVC_SAP;
-
-/* ATM_QOS_CLASS_IE constants */
-#define QOS_CLASS0 0x00
-#define QOS_CLASS1 0x01
-#define QOS_CLASS2 0x02
-#define QOS_CLASS3 0x03
-#define QOS_CLASS4 0x04
-
-typedef struct _ATM_QOS_CLASS_IE {
- UCHAR QOSClassForward;
- UCHAR QOSClassBackward;
-} ATM_QOS_CLASS_IE, *PATM_QOS_CLASS_IE;
-
-typedef struct _ATM_RAW_IE {
- ULONG RawIELength;
- ULONG RawIEType;
- UCHAR RawIEValue[1];
-} ATM_RAW_IE, *PATM_RAW_IE;
-
-typedef struct _ATM_SAP {
- ATM_BLLI_IE Blli;
- ATM_BHLI_IE Bhli;
- ULONG NumberOfAddresses;
- UCHAR Addresses[1];
-} ATM_SAP, *PATM_SAP;
-
-typedef struct _ATM_TRAFFIC_DESCRIPTOR {
- ULONG PeakCellRateCLP0;
- ULONG PeakCellRateCLP01;
- ULONG SustainableCellRateCLP0;
- ULONG SustainableCellRateCLP01;
- ULONG MaximumBurstSizeCLP0;
- ULONG MaximumBurstSizeCLP01;
- BOOLEAN BestEffort;
- BOOLEAN Tagging;
-} ATM_TRAFFIC_DESCRIPTOR, *PATM_TRAFFIC_DESCRIPTOR;
-
-typedef struct _ATM_TRAFFIC_DESCRIPTOR_IE {
- ATM_TRAFFIC_DESCRIPTOR ForwardTD;
- ATM_TRAFFIC_DESCRIPTOR BackwardTD;
- BOOLEAN BestEffort;
-} ATM_TRAFFIC_DESCRIPTOR_IE, *PATM_TRAFFIC_DESCRIPTOR_IE;
-
-/* ATM_TRANSIT_NETWORK_SELECTION_IE.TypeOfNetworkId constants */
-#define TNS_TYPE_NATIONAL 0x40
-
-/* ATM_TRANSIT_NETWORK_SELECTION_IE.NetworkIdPlan constants */
-#define TNS_PLAN_CARRIER_ID_CODE 0x01
-
-typedef struct _ATM_TRANSIT_NETWORK_SELECTION_IE {
- UCHAR TypeOfNetworkId;
- UCHAR NetworkIdPlan;
- UCHAR NetworkIdLength;
- UCHAR NetworkId[1];
-} ATM_TRANSIT_NETWORK_SELECTION_IE, *PATM_TRANSIT_NETWORK_SELECTION_IE;
-
-typedef struct _ATM_LIJ_CALLID_IE {
- ULONG Identifier;
-} ATM_LIJ_CALLID_IE, *PATM_LIJ_CALLID_IE;
-
-/* Q2931_ADD_PVC.Flags constants */
-#define CO_FLAG_SIGNALING_VC 0x00000001
-#define CO_FLAG_NO_DEST_SAP 0x00000002
-
-typedef struct _Q2931_ADD_PVC {
- ATM_ADDRESS CalledParty;
- ATM_ADDRESS CallingParty;
- ATM_VPIVCI ConnectionId;
- ATM_AAL_TYPE AALType;
- ATM_FLOW_PARAMETERS ForwardFP;
- ATM_FLOW_PARAMETERS BackwardFP;
- ULONG Flags;
- ATM_PVC_SAP LocalSap;
- ATM_PVC_SAP DestinationSap;
- BOOLEAN LIJIdPresent;
- ATM_LIJ_CALLID_IE LIJId;
-} Q2931_ADD_PVC, *PQ2931_ADD_PVC;
-
-typedef struct _Q2931_DELETE_PVC {
- ATM_VPIVCI ConnectionId;
-} Q2931_DELETE_PVC, *PQ2931_DELETE_PVC;
-
-typedef ATM_ADDRESS ATM_CALLED_PARTY_NUMBER_IE;
-typedef ATM_ADDRESS ATM_CALLED_PARTY_SUBADDRESS_IE;
-typedef ATM_ADDRESS ATM_CALLING_PARTY_SUBADDRESS_IE;
-
-typedef struct _Q2931_CALLMGR_PARAMETERS {
- ATM_ADDRESS CalledParty;
- ATM_ADDRESS CallingParty;
- ULONG InfoElementCount;
- UCHAR InfoElements[1];
-} Q2931_CALLMGR_PARAMETERS, *PQ2931_CALLMGR_PARAMETERS;
-
-typedef struct _ATM_VC_RATES_SUPPORTED {
- ULONG MinCellRate;
- ULONG MaxCellRate;
-} ATM_VC_RATES_SUPPORTED, *PATM_VC_RATES_SUPPORTED;
-
-typedef ULONG ATM_SERVICE_REGISTRY_TYPE;
-
-/* ATM_SERVICE_ADDRESS_LIST.ServiceRegistryType constants */
-#define ATM_SERVICE_REGISTRY_LECS 1
-#define ATM_SERVICE_REGISTRY_ANS 2
-
-typedef struct _ATM_SERVICE_ADDRESS_LIST {
- ATM_SERVICE_REGISTRY_TYPE ServiceRegistryType;
- ULONG NumberOfAddressesAvailable;
- ULONG NumberOfAddressesReturned;
- ATM_ADDRESS Address[1];
-} ATM_SERVICE_ADDRESS_LIST, *PATM_SERVICE_ADDRESS_LIST;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __ATM_H */
diff --git a/winsup/w32api/include/ddk/batclass.h b/winsup/w32api/include/ddk/batclass.h
deleted file mode 100644
index d92a9edd2..000000000
--- a/winsup/w32api/include/ddk/batclass.h
+++ /dev/null
@@ -1,298 +0,0 @@
-/*
- * batclass.h
- *
- * Battery class driver 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 __BATCLASS_H
-#define __BATCLASS_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-
-#if defined(_BATTERYCLASS_)
- #define BCLASSAPI DECLSPEC_EXPORT
-#else
- #define BCLASSAPI DECLSPEC_IMPORT
-#endif
-
-
-/* Battery device GUIDs */
-
-DEFINE_GUID(GUID_DEVICE_BATTERY,
- 0x72631e54L, 0x78A4, 0x11d0, 0xbc, 0xf7, 0x00, 0xaa, 0x00, 0xb7, 0xb3, 0x2a);
-
-DEFINE_GUID(BATTERY_STATUS_WMI_GUID,
- 0xfc4670d1, 0xebbf, 0x416e, 0x87, 0xce, 0x37, 0x4a, 0x4e, 0xbc, 0x11, 0x1a);
-
-DEFINE_GUID(BATTERY_RUNTIME_WMI_GUID,
- 0x535a3767, 0x1ac2, 0x49bc, 0xa0, 0x77, 0x3f, 0x7a, 0x02, 0xe4, 0x0a, 0xec);
-
-DEFINE_GUID(BATTERY_TEMPERATURE_WMI_GUID,
- 0x1a52a14d, 0xadce, 0x4a44, 0x9a, 0x3e, 0xc8, 0xd8, 0xf1, 0x5f, 0xf2, 0xc2);
-
-DEFINE_GUID(BATTERY_FULL_CHARGED_CAPACITY_WMI_GUID,
- 0x40b40565, 0x96f7, 0x4435, 0x86, 0x94, 0x97, 0xe0, 0xe4, 0x39, 0x59, 0x05);
-
-DEFINE_GUID(BATTERY_CYCLE_COUNT_WMI_GUID,
- 0xef98db24, 0x0014, 0x4c25, 0xa5, 0x0b, 0xc7, 0x24, 0xae, 0x5c, 0xd3, 0x71);
-
-DEFINE_GUID(BATTERY_STATIC_DATA_WMI_GUID,
- 0x05e1e463, 0xe4e2, 0x4ea9, 0x80, 0xcb, 0x9b, 0xd4, 0xb3, 0xca, 0x06, 0x55);
-
-DEFINE_GUID(BATTERY_STATUS_CHANGE_WMI_GUID,
- 0xcddfa0c3, 0x7c5b, 0x4e43, 0xa0, 0x34, 0x05, 0x9f, 0xa5, 0xb8, 0x43, 0x64);
-
-DEFINE_GUID(BATTERY_TAG_CHANGE_WMI_GUID,
- 0x5e1f6e19, 0x8786, 0x4d23, 0x94, 0xfc, 0x9e, 0x74, 0x6b, 0xd5, 0xd8, 0x88);
-
-
-/* BATTERY_INFORMATION.Capabilities constants */
-#define BATTERY_SET_CHARGE_SUPPORTED 0x00000001
-#define BATTERY_SET_DISCHARGE_SUPPORTED 0x00000002
-#define BATTERY_SET_RESUME_SUPPORTED 0x00000004
-#define BATTERY_IS_SHORT_TERM 0x20000000
-#define BATTERY_CAPACITY_RELATIVE 0x40000000
-#define BATTERY_SYSTEM_BATTERY 0x80000000
-
-typedef struct _BATTERY_INFORMATION {
- ULONG Capabilities;
- UCHAR Technology;
- UCHAR Reserved[3];
- UCHAR Chemistry[4];
- ULONG DesignedCapacity;
- ULONG FullChargedCapacity;
- ULONG DefaultAlert1;
- ULONG DefaultAlert2;
- ULONG CriticalBias;
- ULONG CycleCount;
-} BATTERY_INFORMATION, *PBATTERY_INFORMATION;
-
-typedef struct _BATTERY_MANUFACTURE_DATE {
- UCHAR Day;
- UCHAR Month;
- USHORT Year;
-} BATTERY_MANUFACTURE_DATE, *PBATTERY_MANUFACTURE_DATE;
-
-typedef struct _BATTERY_NOTIFY {
- ULONG PowerState;
- ULONG LowCapacity;
- ULONG HighCapacity;
-} BATTERY_NOTIFY, *PBATTERY_NOTIFY;
-
-/* BATTERY_STATUS.PowerState flags */
-#define BATTERY_POWER_ON_LINE 0x00000001
-#define BATTERY_DISCHARGING 0x00000002
-#define BATTERY_CHARGING 0x00000004
-#define BATTERY_CRITICAL 0x00000008
-
-/* BATTERY_STATUS.Voltage constant */
-#define BATTERY_UNKNOWN_VOLTAGE 0xFFFFFFFF
-
-/* BATTERY_STATUS.Rate constant */
-#define BATTERY_UNKNOWN_RATE 0x80000000
-
-typedef struct _BATTERY_STATUS {
- ULONG PowerState;
- ULONG Capacity;
- ULONG Voltage;
- LONG Rate;
-} BATTERY_STATUS, *PBATTERY_STATUS;
-
-/* BATTERY_INFORMATION.Capacity constants */
-#define BATTERY_UNKNOWN_CAPACITY 0xFFFFFFFF
-
-typedef enum _BATTERY_QUERY_INFORMATION_LEVEL {
- BatteryInformation = 0,
- BatteryGranularityInformation,
- BatteryTemperature,
- BatteryEstimatedTime,
- BatteryDeviceName,
- BatteryManufactureDate,
- BatteryManufactureName,
- BatteryUniqueID,
- BatterySerialNumber
-} BATTERY_QUERY_INFORMATION_LEVEL;
-
-/* BatteryEstimatedTime constant */
-#define BATTERY_UNKNOWN_TIME 0x80000000
-
-/* NTSTATUS possibly returned by BCLASS_QUERY_STATUS */
-#define BATTERY_TAG_INVALID 0
-
-typedef struct _BATTERY_QUERY_INFORMATION {
- ULONG BatteryTag;
- BATTERY_QUERY_INFORMATION_LEVEL InformationLevel;
- LONG AtRate;
-} BATTERY_QUERY_INFORMATION, *PBATTERY_QUERY_INFORMATION;
-
-typedef enum _BATTERY_SET_INFORMATION_LEVEL {
- BatteryCriticalBias = 0,
- BatteryCharge,
- BatteryDischarge
-} BATTERY_SET_INFORMATION_LEVEL;
-
-#define MAX_BATTERY_STRING_SIZE 128
-
-typedef struct _BATTERY_SET_INFORMATION {
- ULONG BatteryTag;
- BATTERY_SET_INFORMATION_LEVEL InformationLevel;
- UCHAR Buffer[1];
-} BATTERY_SET_INFORMATION, *PBATTERY_SET_INFORMATION;
-
-typedef struct _BATTERY_WAIT_STATUS {
- ULONG BatteryTag;
- ULONG Timeout;
- ULONG PowerState;
- ULONG LowCapacity;
- ULONG HighCapacity;
-} BATTERY_WAIT_STATUS, *PBATTERY_WAIT_STATUS;
-
-
-#define IOCTL_BATTERY_QUERY_TAG \
- CTL_CODE(FILE_DEVICE_BATTERY, 0x10, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_BATTERY_QUERY_INFORMATION \
- CTL_CODE(FILE_DEVICE_BATTERY, 0x11, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_BATTERY_SET_INFORMATION \
- CTL_CODE(FILE_DEVICE_BATTERY, 0x12, METHOD_BUFFERED, FILE_WRITE_ACCESS)
-
-#define IOCTL_BATTERY_QUERY_STATUS \
- CTL_CODE(FILE_DEVICE_BATTERY, 0x13, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-
-typedef NTSTATUS DDKAPI
-(*BCLASS_DISABLE_STATUS_NOTIFY)(
- /*IN*/ PVOID Context);
-
-typedef NTSTATUS DDKAPI
-(*BCLASS_QUERY_INFORMATION)(
- /*IN*/ PVOID Context,
- /*IN*/ ULONG BatteryTag,
- /*IN*/ BATTERY_QUERY_INFORMATION_LEVEL Level,
- /*IN*/ LONG AtRate /*OPTIONAL*/,
- /*OUT*/ PVOID Buffer,
- /*IN*/ ULONG BufferLength,
- /*OUT*/ PULONG ReturnedLength);
-
-typedef NTSTATUS DDKAPI
-(*BCLASS_QUERY_STATUS)(
- /*IN*/ PVOID Context,
- /*IN*/ ULONG BatteryTag,
- /*OUT*/ PBATTERY_STATUS BatteryStatus);
-
-typedef NTSTATUS DDKAPI
-(*BCLASS_QUERY_TAG)(
- /*IN*/ PVOID Context,
- /*OUT*/ PULONG BatteryTag);
-
-typedef NTSTATUS DDKAPI
-(*BCLASS_SET_INFORMATION)(
- /*IN*/ PVOID Context,
- /*IN*/ ULONG BatteryTag,
- /*IN*/ BATTERY_SET_INFORMATION_LEVEL Level,
- /*IN*/ PVOID Buffer /*OPTIONAL*/);
-
-typedef NTSTATUS DDKAPI
-(*BCLASS_SET_STATUS_NOTIFY)(
- /*IN*/ PVOID Context,
- /*IN*/ ULONG BatteryTag,
- /*IN*/ PBATTERY_NOTIFY BatteryNotify);
-
-
-typedef struct _BATTERY_MINIPORT_INFO {
- USHORT MajorVersion;
- USHORT MinorVersion;
- PVOID Context;
- BCLASS_QUERY_TAG QueryTag;
- BCLASS_QUERY_INFORMATION QueryInformation;
- BCLASS_SET_INFORMATION SetInformation;
- BCLASS_QUERY_STATUS QueryStatus;
- BCLASS_SET_STATUS_NOTIFY SetStatusNotify;
- BCLASS_DISABLE_STATUS_NOTIFY DisableStatusNotify;
- PDEVICE_OBJECT Pdo;
- PUNICODE_STRING DeviceName;
-} BATTERY_MINIPORT_INFO, *PBATTERY_MINIPORT_INFO;
-
-/* BATTERY_MINIPORT_INFO.XxxVersion */
-#define BATTERY_CLASS_MAJOR_VERSION 0x0001
-#define BATTERY_CLASS_MINOR_VERSION 0x0000
-
-
-BCLASSAPI
-NTSTATUS
-DDKAPI
-BatteryClassInitializeDevice(
- /*IN*/ PBATTERY_MINIPORT_INFO MiniportInfo,
- /*IN*/ PVOID *ClassData);
-
-BCLASSAPI
-NTSTATUS
-DDKAPI
-BatteryClassIoctl(
- /*IN*/ PVOID ClassData,
- /*IN*/ PIRP Irp);
-
-BCLASSAPI
-NTSTATUS
-DDKAPI
-BatteryClassQueryWmiDataBlock(
- /*IN*/ PVOID ClassData,
- /*IN*/ PDEVICE_OBJECT DeviceObject,
- /*IN*/ PIRP Irp,
- /*IN*/ ULONG GuidIndex,
- /*IN OUT*/ PULONG InstanceLengthArray,
- /*IN*/ ULONG OutBufferSize,
- /*OUT*/ PUCHAR Buffer);
-
-BCLASSAPI
-NTSTATUS
-DDKAPI
-BatteryClassStatusNotify(
- /*IN*/ PVOID ClassData);
-
-BCLASSAPI
-NTSTATUS
-DDKAPI
-BatteryClassSystemControl(
- /*IN*/ PVOID ClassData,
- /*IN*/ PWMILIB_CONTEXT WmiLibContext,
- /*IN*/ PDEVICE_OBJECT DeviceObject,
- /*IN*/ PIRP Irp,
- /*OUT*/ PSYSCTL_IRP_DISPOSITION Disposition);
-
-BCLASSAPI
-NTSTATUS
-DDKAPI
-BatteryClassUnload(
- /*IN*/ PVOID ClassData);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __BATCLASS_H */
diff --git a/winsup/w32api/include/ddk/cfg.h b/winsup/w32api/include/ddk/cfg.h
deleted file mode 100644
index 107bd4aae..000000000
--- a/winsup/w32api/include/ddk/cfg.h
+++ /dev/null
@@ -1,139 +0,0 @@
-/*
- * cfg.h
- *
- * PnP Configuration Manager shared definitions between user mode and kernel mode code
- *
- * 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 __CFG_H
-#define __CFG_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define CM_PROB_NOT_CONFIGURED 0x00000001
-#define CM_PROB_DEVLOADER_FAILED 0x00000002
-#define CM_PROB_OUT_OF_MEMORY 0x00000003
-#define CM_PROB_ENTRY_IS_WRONG_TYPE 0x00000004
-#define CM_PROB_LACKED_ARBITRATOR 0x00000005
-#define CM_PROB_BOOT_CONFIG_CONFLICT 0x00000006
-#define CM_PROB_FAILED_FILTER 0x00000007
-#define CM_PROB_DEVLOADER_NOT_FOUND 0x00000008
-#define CM_PROB_INVALID_DATA 0x00000009
-#define CM_PROB_FAILED_START 0x0000000A
-#define CM_PROB_LIAR 0x0000000B
-#define CM_PROB_NORMAL_CONFLICT 0x0000000C
-#define CM_PROB_NOT_VERIFIED 0x0000000D
-#define CM_PROB_NEED_RESTART 0x0000000E
-#define CM_PROB_REENUMERATION 0x0000000F
-#define CM_PROB_PARTIAL_LOG_CONF 0x00000010
-#define CM_PROB_UNKNOWN_RESOURCE 0x00000011
-#define CM_PROB_REINSTALL 0x00000012
-#define CM_PROB_REGISTRY 0x00000013
-#define CM_PROB_VXDLDR 0x00000014
-#define CM_PROB_WILL_BE_REMOVED 0x00000015
-#define CM_PROB_DISABLED 0x00000016
-#define CM_PROB_DEVLOADER_NOT_READY 0x00000017
-#define CM_PROB_DEVICE_NOT_THERE 0x00000018
-#define CM_PROB_MOVED 0x00000019
-#define CM_PROB_TOO_EARLY 0x0000001A
-#define CM_PROB_NO_VALID_LOG_CONF 0x0000001B
-#define CM_PROB_FAILED_INSTALL 0x0000001C
-#define CM_PROB_HARDWARE_DISABLED 0x0000001D
-#define CM_PROB_CANT_SHARE_IRQ 0x0000001E
-#define CM_PROB_FAILED_ADD 0x0000001F
-#define CM_PROB_DISABLED_SERVICE 0x00000020
-#define CM_PROB_TRANSLATION_FAILED 0x00000021
-#define CM_PROB_NO_SOFTCONFIG 0x00000022
-#define CM_PROB_BIOS_TABLE 0x00000023
-#define CM_PROB_IRQ_TRANSLATION_FAILED 0x00000024
-#define CM_PROB_FAILED_DRIVER_ENTRY 0x00000025
-#define CM_PROB_DRIVER_FAILED_PRIOR_UNLOAD 0x00000026
-#define CM_PROB_DRIVER_FAILED_LOAD 0x00000027
-#define CM_PROB_DRIVER_SERVICE_KEY_INVALID 0x00000028
-#define CM_PROB_LEGACY_SERVICE_NO_DEVICES 0x00000029
-#define CM_PROB_DUPLICATE_DEVICE 0x0000002A
-#define CM_PROB_FAILED_POST_START 0x0000002B
-#define CM_PROB_HALTED 0x0000002C
-#define CM_PROB_PHANTOM 0x0000002D
-#define CM_PROB_SYSTEM_SHUTDOWN 0x0000002E
-#define CM_PROB_HELD_FOR_EJECT 0x0000002F
-#define CM_PROB_DRIVER_BLOCKED 0x00000030
-#define CM_PROB_REGISTRY_TOO_LARGE 0x00000031
-
-#define LCPRI_FORCECONFIG 0x00000000
-#define LCPRI_BOOTCONFIG 0x00000001
-#define LCPRI_DESIRED 0x00002000
-#define LCPRI_NORMAL 0x00003000
-#define LCPRI_LASTBESTCONFIG 0x00003FFF
-#define LCPRI_SUBOPTIMAL 0x00005000
-#define LCPRI_LASTSOFTCONFIG 0x00007FFF
-#define LCPRI_RESTART 0x00008000
-#define LCPRI_REBOOT 0x00009000
-#define LCPRI_POWEROFF 0x0000A000
-#define LCPRI_HARDRECONFIG 0x0000C000
-#define LCPRI_HARDWIRED 0x0000E000
-#define LCPRI_IMPOSSIBLE 0x0000F000
-#define LCPRI_DISABLED 0x0000FFFF
-#define MAX_LCPRI 0x0000FFFF
-
-#define DN_ROOT_ENUMERATED 0x00000001 /* Was enumerated by ROOT */
-#define DN_DRIVER_LOADED 0x00000002 /* Has Register_Device_Driver */
-#define DN_ENUM_LOADED 0x00000004 /* Has Register_Enumerator */
-#define DN_STARTED 0x00000008 /* Is currently configured */
-#define DN_MANUAL 0x00000010 /* Manually installed */
-#define DN_NEED_TO_ENUM 0x00000020 /* May need reenumeration */
-#define DN_NOT_FIRST_TIME 0x00000040 /* Has received a config */
-#define DN_HARDWARE_ENUM 0x00000080 /* Enum generates hardware ID */
-#define DN_LIAR 0x00000100 /* Lied about can reconfig once */
-#define DN_HAS_MARK 0x00000200 /* Not CM_Create_DevNode lately */
-#define DN_HAS_PROBLEM 0x00000400 /* Need device installer */
-#define DN_FILTERED 0x00000800 /* Is filtered */
-#define DN_MOVED 0x00001000 /* Has been moved */
-#define DN_DISABLEABLE 0x00002000 /* Can be rebalanced */
-#define DN_REMOVABLE 0x00004000 /* Can be removed */
-#define DN_PRIVATE_PROBLEM 0x00008000 /* Has a private problem */
-#define DN_MF_PARENT 0x00010000 /* Multi function parent */
-#define DN_MF_CHILD 0x00020000 /* Multi function child */
-#define DN_WILL_BE_REMOVED 0x00040000 /* Devnode is being removed */
-
-typedef enum _PNP_VETO_TYPE {
- PNP_VetoTypeUnknown,
- PNP_VetoLegacyDevice,
- PNP_VetoPendingClose,
- PNP_VetoWindowsApp,
- PNP_VetoWindowsService,
- PNP_VetoOutstandingOpen,
- PNP_VetoDevice,
- PNP_VetoDriver,
- PNP_VetoIllegalDeviceRequest,
- PNP_VetoInsufficientPower,
- PNP_VetoNonDisableable,
- PNP_VetoLegacyDriver
-} PNP_VETO_TYPE, *PPNP_VETO_TYPE;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __CFG_H */
diff --git a/winsup/w32api/include/ddk/cfgmgr32.h b/winsup/w32api/include/ddk/cfgmgr32.h
deleted file mode 100644
index 4595ce7ad..000000000
--- a/winsup/w32api/include/ddk/cfgmgr32.h
+++ /dev/null
@@ -1,1533 +0,0 @@
-/*
- * cfgmgr32.h
- *
- * PnP configuration manager
- *
- * 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 __CFGMGR32_H
-#define __CFGMGR32_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-
-#if defined(_CFGMGR32_)
-#define CMAPI DECLSPEC_EXPORT
-#else
-#define CMAPI DECLSPEC_IMPORT
-#endif
-
-#include "cfg.h"
-
-#include <pshpack1.h>
-
-#define CR_SUCCESS 0x00000000
-#define CR_DEFAULT 0x00000001
-#define CR_OUT_OF_MEMORY 0x00000002
-#define CR_INVALID_POINTER 0x00000003
-#define CR_INVALID_FLAG 0x00000004
-#define CR_INVALID_DEVNODE 0x00000005
-#define CR_INVALID_DEVINST CR_INVALID_DEVNODE
-#define CR_INVALID_RES_DES 0x00000006
-#define CR_INVALID_LOG_CONF 0x00000007
-#define CR_INVALID_ARBITRATOR 0x00000008
-#define CR_INVALID_NODELIST 0x00000009
-#define CR_DEVNODE_HAS_REQS 0x0000000A
-#define CR_DEVINST_HAS_REQS CR_DEVNODE_HAS_REQS
-#define CR_INVALID_RESOURCEID 0x0000000B
-#define CR_DLVXD_NOT_FOUND 0x0000000C
-#define CR_NO_SUCH_DEVNODE 0x0000000D
-#define CR_NO_SUCH_DEVINST CR_NO_SUCH_DEVNODE
-#define CR_NO_MORE_LOG_CONF 0x0000000E
-#define CR_NO_MORE_RES_DES 0x0000000F
-#define CR_ALREADY_SUCH_DEVNODE 0x00000010
-#define CR_ALREADY_SUCH_DEVINST CR_ALREADY_SUCH_DEVNODE
-#define CR_INVALID_RANGE_LIST 0x00000011
-#define CR_INVALID_RANGE 0x00000012
-#define CR_FAILURE 0x00000013
-#define CR_NO_SUCH_LOGICAL_DEV 0x00000014
-#define CR_CREATE_BLOCKED 0x00000015
-#define CR_NOT_SYSTEM_VM 0x00000016
-#define CR_REMOVE_VETOED 0x00000017
-#define CR_APM_VETOED 0x00000018
-#define CR_INVALID_LOAD_TYPE 0x00000019
-#define CR_BUFFER_SMALL 0x0000001A
-#define CR_NO_ARBITRATOR 0x0000001B
-#define CR_NO_REGISTRY_HANDLE 0x0000001C
-#define CR_REGISTRY_ERROR 0x0000001D
-#define CR_INVALID_DEVICE_ID 0x0000001E
-#define CR_INVALID_DATA 0x0000001F
-#define CR_INVALID_API 0x00000020
-#define CR_DEVLOADER_NOT_READY 0x00000021
-#define CR_NEED_RESTART 0x00000022
-#define CR_NO_MORE_HW_PROFILES 0x00000023
-#define CR_DEVICE_NOT_THERE 0x00000024
-#define CR_NO_SUCH_VALUE 0x00000025
-#define CR_WRONG_TYPE 0x00000026
-#define CR_INVALID_PRIORITY 0x00000027
-#define CR_NOT_DISABLEABLE 0x00000028
-#define CR_FREE_RESOURCES 0x00000029
-#define CR_QUERY_VETOED 0x0000002A
-#define CR_CANT_SHARE_IRQ 0x0000002B
-#define CR_NO_DEPENDENT 0x0000002C
-#define CR_SAME_RESOURCES 0x0000002D
-#define CR_NO_SUCH_REGISTRY_KEY 0x0000002E
-#define CR_INVALID_MACHINENAME 0x0000002F
-#define CR_REMOTE_COMM_FAILURE 0x00000030
-#define CR_MACHINE_UNAVAILABLE 0x00000031
-#define CR_NO_CM_SERVICES 0x00000032
-#define CR_ACCESS_DENIED 0x00000033
-#define CR_CALL_NOT_IMPLEMENTED 0x00000034
-#define CR_INVALID_PROPERTY 0x00000035
-#define CR_DEVICE_INTERFACE_ACTIVE 0x00000036
-#define CR_NO_SUCH_DEVICE_INTERFACE 0x00000037
-#define CR_INVALID_REFERENCE_STRING 0x00000038
-#define CR_INVALID_CONFLICT_LIST 0x00000039
-#define CR_INVALID_INDEX 0x0000003A
-#define CR_INVALID_STRUCTURE_SIZE 0x0000003B
-
-
-typedef DWORD RETURN_TYPE;
-typedef RETURN_TYPE CONFIGRET;
-
-typedef HANDLE HMACHINE;
-typedef HMACHINE *PHMACHINE;
-
-typedef DWORD_PTR RES_DES;
-typedef RES_DES *PRES_DES;
-
-typedef DWORD_PTR RANGE_ELEMENT;
-typedef RANGE_ELEMENT *PRANGE_ELEMENT;
-
-typedef ULONG_PTR CONFLICT_LIST;
-typedef CONFLICT_LIST *PCONFLICT_LIST;
-
-typedef DWORD_PTR LOG_CONF;
-typedef LOG_CONF *PLOG_CONF;
-
-typedef ULONG PRIORITY;
-typedef PRIORITY *PPRIORITY;
-
-typedef DWORD_PTR RANGE_LIST;
-typedef RANGE_LIST *PRANGE_LIST;
-
-typedef DWORD DEVNODE, DEVINST;
-typedef DEVNODE *PDEVNODE, *PDEVINST;
-
-typedef CHAR *DEVNODEID_A, *DEVINSTID_A;
-typedef WCHAR *DEVNODEID_W, *DEVINSTID_W;
-
-#ifdef UNICODE
-typedef DEVNODEID_W DEVNODEID;
-typedef DEVINSTID_W DEVINSTID;
-#else
-typedef DEVNODEID_A DEVNODEID;
-typedef DEVINSTID_A DEVINSTID;
-#endif
-
-typedef ULONG REGDISPOSITION;
-
-typedef ULONG RESOURCEID;
-typedef RESOURCEID *PRESOURCEID;
-
-#define CM_RESDES_WIDTH_DEFAULT 0x00000000
-#define CM_RESDES_WIDTH_32 0x00000001
-#define CM_RESDES_WIDTH_64 0x00000002
-#define CM_RESDES_WIDTH_BITS 0x00000003
-
-
-#define MAX_CONFIG_VALUE 9999
-#define MAX_INSTANCE_VALUE 9999
-
-#define MAX_DEVICE_ID_LEN 200
-#define MAX_DEVNODE_ID_LEN MAX_DEVICE_ID_LEN
-
-#define MAX_CLASS_NAME_LEN 32
-#define MAX_GUID_STRING_LEN 39
-#define MAX_PROFILE_LEN 80
-
-
-#define ResType_All 0x00000000
-#define ResType_None 0x00000000
-#define ResType_Mem 0x00000001
-#define ResType_IO 0x00000002
-#define ResType_DMA 0x00000003
-#define ResType_IRQ 0x00000004
-#define ResType_DoNotUse 0x00000005
-#define ResType_BusNumber 0x00000006
-#define ResType_MAX 0x00000006
-#define ResType_Ignored_Bit 0x00008000
-#define ResType_ClassSpecific 0x0000FFFF
-#define ResType_Reserved 0x00008000
-#define ResType_DevicePrivate 0x00008001
-#define ResType_PcCardConfig 0x00008002
-#define ResType_MfCardConfig 0x00008003
-
-#define CM_GETIDLIST_FILTER_NONE 0x00000000
-#define CM_GETIDLIST_FILTER_ENUMERATOR 0x00000001
-#define CM_GETIDLIST_FILTER_SERVICE 0x00000002
-#define CM_GETIDLIST_FILTER_EJECTRELATIONS 0x00000004
-#define CM_GETIDLIST_FILTER_REMOVALRELATIONS 0x00000008
-#define CM_GETIDLIST_FILTER_POWERRELATIONS 0x00000010
-#define CM_GETIDLIST_FILTER_BUSRELATIONS 0x00000020
-#define CM_GETIDLIST_DONOTGENERATE 0x10000040
-#define CM_GETIDLIST_FILTER_BITS 0x1000007F
-
-#define CM_GET_DEVICE_INTERFACE_LIST_PRESENT 0x00000000
-#define CM_GET_DEVICE_INTERFACE_LIST_ALL_DEVICES 0x00000001
-#define CM_GET_DEVICE_INTERFACE_LIST_BITS 0x00000001
-
-
-typedef struct BusNumber_Des_s {
- DWORD BUSD_Count;
- DWORD BUSD_Type;
- DWORD BUSD_Flags;
- ULONG BUSD_Alloc_Base;
- ULONG BUSD_Alloc_End;
-} BUSNUMBER_DES, *PBUSNUMBER_DES;
-
-typedef struct BusNumber_Range_s {
- ULONG BUSR_Min;
- ULONG BUSR_Max;
- ULONG BUSR_nBusNumbers;
- ULONG BUSR_Flags;
-} BUSNUMBER_RANGE, *PBUSNUMBER_RANGE;
-
-#define BusNumberType_Range sizeof(BUSNUMBER_RANGE)
-
-typedef struct BusNumber_Resource_s {
- BUSNUMBER_DES BusNumber_Header;
- BUSNUMBER_RANGE BusNumber_Data[ANYSIZE_ARRAY];
-} BUSNUMBER_RESOURCE, *PBUSNUMBER_RESOURCE;
-
-typedef struct CS_Des_s {
- DWORD CSD_SignatureLength;
- DWORD CSD_LegacyDataOffset;
- DWORD CSD_LegacyDataSize;
- DWORD CSD_Flags;
- GUID CSD_ClassGuid;
- BYTE CSD_Signature[ANYSIZE_ARRAY];
-} CS_DES, *PCS_DES;
-
-typedef struct CS_Resource_s {
- CS_DES CS_Header;
-} CS_RESOURCE, *PCS_RESOURCE;
-
-typedef struct DevPrivate_Des_s {
- DWORD PD_Count;
- DWORD PD_Type;
- DWORD PD_Data1;
- DWORD PD_Data2;
- DWORD PD_Data3;
- DWORD PD_Flags;
-} DEVPRIVATE_DES, *PDEVPRIVATE_DES;
-
-typedef struct DevPrivate_Range_s {
- DWORD PR_Data1;
- DWORD PR_Data2;
- DWORD PR_Data3;
-} DEVPRIVATE_RANGE, *PDEVPRIVATE_RANGE;
-
-#define PType_Range sizeof(DEVPRIVATE_RANGE)
-
-typedef struct DevPrivate_Resource_s {
- DEVPRIVATE_DES PRV_Header;
- DEVPRIVATE_RANGE PRV_Data[ANYSIZE_ARRAY];
-} DEVPRIVATE_RESOURCE, *PDEVPRIVATE_RESOURCE;
-
-/* DMA_DES.DD_Flags constants and masks */
-#define mDD_Width 0x3
-#define fDD_BYTE 0x0
-#define fDD_WORD 0x1
-#define fDD_DWORD 0x2
-#define fDD_BYTE_AND_WORD 0x3
-
-#define mDD_BusMaster 0x4
-#define fDD_NoBusMaster 0x0
-#define fDD_BusMaster 0x4
-
-#define mDD_Type 0x18
-#define fDD_TypeStandard 0x00
-#define fDD_TypeA 0x08
-#define fDD_TypeB 0x10
-#define fDD_TypeF 0x18
-
-typedef struct DMA_Des_s {
- DWORD DD_Count;
- DWORD DD_Type;
- DWORD DD_Flags;
- ULONG DD_Alloc_Chan;
-} DMA_DES, *PDMA_DES;
-
-typedef struct DMA_Range_s {
- ULONG DR_Min;
- ULONG DR_Max;
- ULONG DR_Flags;
-} DMA_RANGE, *PDMA_RANGE;
-
-#define DType_Range sizeof(DMA_RANGE)
-
-typedef struct DMA_Resource_s {
- DMA_DES DMA_Header;
- DMA_RANGE DMA_Data[ANYSIZE_ARRAY];
-} DMA_RESOURCE, *PDMA_RESOURCE;
-
-/* IO_DES.Type constants and masks */
-#define fIOD_PortType 0x1
-#define fIOD_Memory 0x0
-#define fIOD_IO 0x1
-#define fIOD_DECODE 0x00fc
-#define fIOD_10_BIT_DECODE 0x0004
-#define fIOD_12_BIT_DECODE 0x0008
-#define fIOD_16_BIT_DECODE 0x0010
-#define fIOD_POSITIVE_DECODE 0x0020
-#define fIOD_PASSIVE_DECODE 0x0040
-#define fIOD_WINDOW_DECODE 0x0080
-
-typedef struct IO_Des_s {
- DWORD IOD_Count;
- DWORD IOD_Type;
- DWORDLONG IOD_Alloc_Base;
- DWORDLONG IOD_Alloc_End;
- DWORD IOD_DesFlags;
-} IO_DES, *PIO_DES;
-
-/* IO_RANGE.IOR_Alias constants */
-#define IO_ALIAS_10_BIT_DECODE 0x00000004
-#define IO_ALIAS_12_BIT_DECODE 0x00000010
-#define IO_ALIAS_16_BIT_DECODE 0x00000000
-#define IO_ALIAS_POSITIVE_DECODE 0x000000FF
-
-typedef struct IO_Range_s {
- DWORDLONG IOR_Align;
- DWORD IOR_nPorts;
- DWORDLONG IOR_Min;
- DWORDLONG IOR_Max;
- DWORD IOR_RangeFlags;
- DWORDLONG IOR_Alias;
-} IO_RANGE, *PIO_RANGE;
-
-#define IOType_Range sizeof(IO_RANGE)
-
-typedef struct IO_Resource_s {
- IO_DES IO_Header;
- IO_RANGE IO_Data[ANYSIZE_ARRAY];
-} IO_RESOURCE, *PIO_RESOURCE;
-
-/* IRQ_DES.IRQD_flags constants */
-#define mIRQD_Share 0x1
-#define fIRQD_Exclusive 0x0
-#define fIRQD_Share 0x1
-
-#define fIRQD_Share_Bit 0
-#define fIRQD_Level_Bit 1
-
-#define mIRQD_Edge_Level 0x2
-#define fIRQD_Level 0x0
-#define fIRQD_Edge 0x2
-
-typedef struct IRQ_Des_32_s {
- DWORD IRQD_Count;
- DWORD IRQD_Type;
- DWORD IRQD_Flags;
- ULONG IRQD_Alloc_Num;
- ULONG32 IRQD_Affinity;
-} IRQ_DES_32, *PIRQ_DES_32;
-
-typedef struct IRQ_Des_64_s {
- DWORD IRQD_Count;
- DWORD IRQD_Type;
- DWORD IRQD_Flags;
- ULONG IRQD_Alloc_Num;
- ULONG64 IRQD_Affinity;
-} IRQ_DES_64, *PIRQ_DES_64;
-
-#ifdef _WIN64
-typedef IRQ_DES_64 IRQ_DES;
-typedef PIRQ_DES_64 PIRQ_DES;
-#else
-typedef IRQ_DES_32 IRQ_DES;
-typedef PIRQ_DES_32 PIRQ_DES;
-#endif
-
-typedef struct IRQ_Range_s {
- ULONG IRQR_Min;
- ULONG IRQR_Max;
- ULONG IRQR_Flags;
-} IRQ_RANGE, *PIRQ_RANGE;
-
-#define IRQType_Range sizeof(IRQ_RANGE)
-
-typedef struct IRQ_Resource_s {
- IRQ_DES IRQ_Header;
- IRQ_RANGE IRQ_Data[ANYSIZE_ARRAY];
-} IRQ_RESOURCE, *PIRQ_RESOURCE;
-
-/* MEM_DES.MD_Flags constants */
-#define mMD_MemoryType 0x1
-#define fMD_MemoryType mMD_MemoryType
-#define fMD_ROM 0x0
-#define fMD_RAM 0x1
-
-#define mMD_32_24 0x2
-#define fMD_32_24 mMD_32_24
-#define fMD_24 0x0
-#define fMD_32 0x2
-
-#define mMD_Prefetchable 0x4
-#define fMD_Prefetchable mMD_Prefetchable
-#define fMD_Pref mMD_Prefetchable
-#define fMD_PrefetchDisallowed 0x0
-#define fMD_PrefetchAllowed 0x4
-
-#define mMD_Readable 0x8
-#define fMD_Readable mMD_Readable
-#define fMD_ReadAllowed 0x0
-#define fMD_ReadDisallowed 0x8
-
-#define mMD_CombinedWrite 0x10
-#define fMD_CombinedWrite mMD_CombinedWrite
-#define fMD_CombinedWriteDisallowed 0x0
-#define fMD_CombinedWriteAllowed 0x10
-
-#define mMD_Cacheable 0x20
-#define fMD_NonCacheable 0x0
-#define fMD_Cacheable 0x20
-
-typedef struct Mem_Des_s {
- DWORD MD_Count;
- DWORD MD_Type;
- DWORDLONG MD_Alloc_Base;
- DWORDLONG MD_Alloc_End;
- DWORD MD_Flags;
- DWORD MD_Reserved;
-} MEM_DES, *PMEM_DES;
-
-typedef struct Mem_Range_s {
- DWORDLONG MR_Align;
- ULONG MR_nBytes;
- DWORDLONG MR_Min;
- DWORDLONG MR_Max;
- DWORD MR_Flags;
- DWORD MR_Reserved;
-} MEM_RANGE, *PMEM_RANGE;
-
-#define MType_Range sizeof(MEM_RANGE)
-
-typedef struct Mem_Resource_s {
- MEM_DES MEM_Header;
- MEM_RANGE MEM_Data[ANYSIZE_ARRAY];
-} MEM_RESOURCE, *PMEM_RESOURCE;
-
-/* MFCARD_DES.PMF_Flags constants */
-#define fPMF_AUDIO_ENABLE 0x8
-#define mPMF_AUDIO_ENABLE fPMF_AUDIO_ENABLE
-
-typedef struct MfCard_Des_s {
- DWORD PMF_Count;
- DWORD PMF_Type;
- DWORD PMF_Flags;
- BYTE PMF_ConfigOptions;
- BYTE PMF_IoResourceIndex;
- BYTE PMF_Reserved[2];
- DWORD PMF_ConfigRegisterBase;
-} MFCARD_DES, *PMFCARD_DES;
-
-typedef struct MfCard_Resource_s {
- MFCARD_DES MfCard_Header;
-} MFCARD_RESOURCE, *PMFCARD_RESOURCE;
-
-/* PCCARD_DES.PCD_Flags constants */
-
-typedef struct PcCard_Des_s {
- DWORD PCD_Count;
- DWORD PCD_Type;
- DWORD PCD_Flags;
- BYTE PCD_ConfigIndex;
- BYTE PCD_Reserved[3];
- DWORD PCD_MemoryCardBase1;
- DWORD PCD_MemoryCardBase2;
-} PCCARD_DES, *PPCCARD_DES;
-
-#define mPCD_IO_8_16 0x1
-#define fPCD_IO_8 0x0
-#define fPCD_IO_16 0x1
-#define mPCD_MEM_8_16 0x2
-#define fPCD_MEM_8 0x0
-#define fPCD_MEM_16 0x2
-#define mPCD_MEM_A_C 0xC
-#define fPCD_MEM1_A 0x4
-#define fPCD_MEM2_A 0x8
-#define fPCD_IO_ZW_8 0x10
-#define fPCD_IO_SRC_16 0x20
-#define fPCD_IO_WS_16 0x40
-#define mPCD_MEM_WS 0x300
-#define fPCD_MEM_WS_ONE 0x100
-#define fPCD_MEM_WS_TWO 0x200
-#define fPCD_MEM_WS_THREE 0x300
-
-#define fPCD_MEM_A 0x4
-
-#define fPCD_ATTRIBUTES_PER_WINDOW 0x8000
-
-#define fPCD_IO1_16 0x00010000
-#define fPCD_IO1_ZW_8 0x00020000
-#define fPCD_IO1_SRC_16 0x00040000
-#define fPCD_IO1_WS_16 0x00080000
-
-#define fPCD_IO2_16 0x00100000
-#define fPCD_IO2_ZW_8 0x00200000
-#define fPCD_IO2_SRC_16 0x00400000
-#define fPCD_IO2_WS_16 0x00800000
-
-#define mPCD_MEM1_WS 0x03000000
-#define fPCD_MEM1_WS_ONE 0x01000000
-#define fPCD_MEM1_WS_TWO 0x02000000
-#define fPCD_MEM1_WS_THREE 0x03000000
-#define fPCD_MEM1_16 0x04000000
-
-#define mPCD_MEM2_WS 0x30000000
-#define fPCD_MEM2_WS_ONE 0x10000000
-#define fPCD_MEM2_WS_TWO 0x20000000
-#define fPCD_MEM2_WS_THREE 0x30000000
-#define fPCD_MEM2_16 0x40000000
-
-#define PCD_MAX_MEMORY 2
-#define PCD_MAX_IO 2
-
-typedef struct PcCard_Resource_s {
- PCCARD_DES PcCard_Header;
-} PCCARD_RESOURCE, *PPCCARD_RESOURCE;
-
-
-/* CONFLICT_DETAILS.CD.ulMask constants */
-#define CM_CDMASK_DEVINST 0x00000001
-#define CM_CDMASK_RESDES 0x00000002
-#define CM_CDMASK_FLAGS 0x00000004
-#define CM_CDMASK_DESCRIPTION 0x00000008
-#define CM_CDMASK_VALID 0x0000000F
-
-/* CONFLICT_DETAILS.CD.ulFlags constants */
-#define CM_CDFLAGS_DRIVER 0x00000001
-#define CM_CDFLAGS_ROOT_OWNED 0x00000002
-#define CM_CDFLAGS_RESERVED 0x00000004
-
-typedef struct _CONFLICT_DETAILS_A {
- ULONG CD_ulSize;
- ULONG CD_ulMask;
- DEVINST CD_dnDevInst;
- RES_DES CD_rdResDes;
- ULONG CD_ulFlags;
- CHAR CD_szDescription[MAX_PATH];
-} CONFLICT_DETAILS_A , *PCONFLICT_DETAILS_A;
-
-typedef struct _CONFLICT_DETAILS_W {
- ULONG CD_ulSize;
- ULONG CD_ulMask;
- DEVINST CD_dnDevInst;
- RES_DES CD_rdResDes;
- ULONG CD_ulFlags;
- WCHAR CD_szDescription[MAX_PATH];
-} CONFLICT_DETAILS_W , *PCONFLICT_DETAILS_W;
-
-#ifdef UNICODE
-typedef CONFLICT_DETAILS_W CONFLICT_DETAILS;
-typedef PCONFLICT_DETAILS_W PCONFLICT_DETAILS;
-#else
-typedef CONFLICT_DETAILS_A CONFLICT_DETAILS;
-typedef PCONFLICT_DETAILS_A PCONFLICT_DETAILS;
-#endif
-
-
-
-/* CM_Add_Empty_Log_Conf.ulFlags constants */
-#define PRIORITY_EQUAL_FIRST 0x00000008
-#define PRIORITY_EQUAL_LAST 0x00000000
-#define PRIORITY_BIT 0x00000008
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Add_Empty_Log_Conf(
- /*OUT*/ PLOG_CONF plcLogConf,
- /*IN*/ DEVINST dnDevInst,
- /*IN*/ PRIORITY Priority,
- /*IN*/ ULONG ulFlags);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Add_Empty_Log_Conf_Ex(
- /*OUT*/ PLOG_CONF plcLogConf,
- /*IN*/ DEVINST dnDevInst,
- /*IN*/ PRIORITY Priority,
- /*IN*/ ULONG ulFlags,
- /*IN*/ HMACHINE hMachine);
-
-/* CM_Add_ID.ulFlags constants */
-#define CM_ADD_ID_HARDWARE 0x00000000
-#define CM_ADD_ID_COMPATIBLE 0x00000001
-#define CM_ADD_ID_BITS 0x00000001
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Add_IDA(
- /*IN*/ DEVINST dnDevInst,
- /*IN*/ PSTR pszID,
- /*IN*/ ULONG ulFlags,
- /*IN*/ HMACHINE hMachine);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Add_ID_ExA(
- /*IN*/ DEVINST dnDevInst,
- /*IN*/ PSTR pszID,
- /*IN*/ ULONG ulFlags,
- /*IN*/ HMACHINE hMachine);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Add_ID_ExW(
- /*IN*/ DEVINST dnDevInst,
- /*IN*/ PWSTR pszID,
- /*IN*/ ULONG ulFlags,
- /*IN*/ HMACHINE hMachine);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Add_IDW(
- /*IN*/ DEVINST dnDevInst,
- /*IN*/ PWSTR pszID,
- /*IN*/ ULONG ulFlags,
- /*IN*/ HMACHINE hMachine);
-
-#ifdef UNICODE
-#define CM_Add_ID CM_Add_IDW
-#define CM_Add_ID_Ex CM_Add_ID_ExW
-#else
-#define CM_Add_ID CM_Add_IDA
-#define CM_Add_ID_Ex CM_Add_ID_ExA
-#endif /* UNICODE */
-
-/* FIXME: Obsolete CM_Add_Range */
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Add_Res_Des(
- /*OUT*/ PRES_DES prdResDes,
- /*IN*/ LOG_CONF lcLogConf,
- /*IN*/ RESOURCEID ResourceID,
- /*IN*/ PCVOID ResourceData,
- /*IN*/ ULONG ResourceLen,
- /*IN*/ ULONG ulFlags);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Add_Res_Des_Ex(
- /*OUT*/ PRES_DES prdResDes,
- /*IN*/ LOG_CONF lcLogConf,
- /*IN*/ RESOURCEID ResourceID,
- /*IN*/ PCVOID ResourceData,
- /*IN*/ ULONG ResourceLen,
- /*IN*/ ULONG ulFlags,
- /*IN*/ HMACHINE hMachine);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Connect_MachineA(
- /*IN*/ PCSTR UNCServerName,
- /*OUT*/ PHMACHINE phMachine);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Connect_MachineW(
- /*IN*/ PCWSTR UNCServerName,
- /*OUT*/ PHMACHINE phMachine);
-
-#ifdef UNICODE
-#define CM_Connect_Machine CM_Connect_MachineW
-#else
-#define CM_Connect_Machine CM_Connect_MachineA
-#endif /* UNICODE */
-
-/* FIXME: Obsolete CM_Create_DevNode */
-/* FIXME: Obsolete CM_Create_DevNodeEx */
-/* FIXME: Obsolete CM_Create_Range_List */
-/* FIXME: Obsolete CM_Delete_Class_Key */
-/* FIXME: Obsolete CM_Delete_Class_Key_Ex */
-/* FIXME: Obsolete CM_Delete_DevNode_Key */
-/* FIXME: Obsolete CM_Delete_DevNode_Key_Ex */
-/* FIXME: Obsolete CM_Delete_Range */
-/* FIXME: Obsolete CM_Detected_Resource_Conflict */
-/* FIXME: Obsolete CM_Detected_Resource_Conflict_Ex */
-/* FIXME: Obsolete CM_Disable_DevNode */
-/* FIXME: Obsolete CM_Disable_DevNodeEx */
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Disconnect_Machine(
- /*IN*/ HMACHINE hMachine);
-
-/* FIXME: Obsolete CM_Enable_DevNode */
-/* FIXME: Obsolete CM_Enable_DevNodeEx */
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Enumerate_Classes(
- /*IN*/ ULONG ulClassIndex,
- /*OUT*/ LPGUID ClassGuid,
- /*IN*/ ULONG ulFlags);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Enumerate_Classes_Ex(
- /*IN*/ ULONG ulClassIndex,
- /*OUT*/ LPGUID ClassGuid,
- /*IN*/ ULONG ulFlags,
- /*IN*/ HMACHINE hMachine);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Enumerate_EnumeratorsA(
- /*IN*/ ULONG ulEnumIndex,
- /*OUT*/ PCHAR Buffer,
- /*IN OUT*/ PULONG pulLength,
- /*IN*/ ULONG ulFlags);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Enumerate_Enumerators_ExA(
- /*IN*/ ULONG ulEnumIndex,
- /*OUT*/ PCHAR Buffer,
- /*IN OUT*/ PULONG pulLength,
- /*IN*/ ULONG ulFlags,
- /*IN*/ HMACHINE hMachine);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Enumerate_Enumerators_ExW(
- /*IN*/ ULONG ulEnumIndex,
- /*OUT*/ PWCHAR Buffer,
- /*IN OUT*/ PULONG pulLength,
- /*IN*/ ULONG ulFlags,
- /*IN*/ HMACHINE hMachine);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Enumerate_EnumeratorsW(
- /*IN*/ ULONG ulEnumIndex,
- /*OUT*/ PWCHAR Buffer,
- /*IN OUT*/ PULONG pulLength,
- /*IN*/ ULONG ulFlags);
-
-#ifdef UNICODE
-#define CM_Enumerate_Enumerators CM_Enumerate_EnumeratorsW
-#define CM_Enumerate_Enumerators_Ex CM_Enumerate_Enumerators_ExW
-#else
-#define CM_Enumerate_Enumerators CM_Enumerate_EnumeratorsA
-#define CM_Enumerate_Enumerators_Ex CM_Enumerate_Enumerators_ExW
-#endif /* UNICODE */
-
-/* FIXME: Obsolete CM_Find_Range */
-/* FIXME: Obsolete CM_First_Range */
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Free_Log_Conf(
- /*IN*/ LOG_CONF lcLogConfToBeFreed,
- /*IN*/ ULONG ulFlags);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Free_Log_Conf_Ex(
- /*IN*/ LOG_CONF lcLogConfToBeFreed,
- /*IN*/ ULONG ulFlags,
- /*IN*/ HMACHINE hMachine);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Free_Log_Conf_Handle(
- /*IN*/ LOG_CONF lcLogConf);
-
-/* FIXME: Obsolete CM_Free_Range_List */
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Free_Res_Des(
- /*OUT*/ PRES_DES prdResDes,
- /*IN*/ RES_DES rdResDes,
- /*IN*/ ULONG ulFlags);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Free_Res_Des_Ex(
- /*OUT*/ PRES_DES prdResDes,
- /*IN*/ RES_DES rdResDes,
- /*IN*/ ULONG ulFlags,
- /*IN*/ HMACHINE hMachine);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Free_Res_Des_Handle(
- /*IN*/ RES_DES rdResDes);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Free_Resource_Conflict_Handle(
- /*IN*/ CONFLICT_LIST clConflictList);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Child(
- /*OUT*/ PDEVINST pdnDevInst,
- /*IN*/ DEVINST dnDevInst,
- /*IN*/ ULONG ulFlags);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Child_Ex(
- /*OUT*/ PDEVINST pdnDevInst,
- /*IN*/ DEVINST dnDevInst,
- /*IN*/ ULONG ulFlags,
- /*IN*/ HMACHINE hMachine);
-
-/* FIXME: Obsolete CM_Get_Class_Name */
-/* FIXME: Obsolete CM_Get_Class_Name_Ex */
-/* FIXME: Obsolete CM_Get_Class_Key_Name */
-/* FIXME: Obsolete CM_Get_Class_Key_Name_Ex */
-/* FIXME: Obsolete CM_Get_Class_Registry_Property */
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Depth(
- /*OUT*/ PULONG pulDepth,
- /*IN*/ DEVINST dnDevInst,
- /*IN*/ ULONG ulFlags);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Depth_Ex(
- /*OUT*/ PULONG pulDepth,
- /*IN*/ DEVINST dnDevInst,
- /*IN*/ ULONG ulFlags,
- /*IN*/ HMACHINE hMachine);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Device_IDA(
- /*IN*/ DEVINST dnDevInst,
- /*OUT*/ PCHAR Buffer,
- /*IN*/ ULONG BufferLen,
- /*IN*/ ULONG ulFlags);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Device_ID_ExA(
- /*IN*/ DEVINST dnDevInst,
- /*OUT*/ PCHAR Buffer,
- /*IN*/ ULONG BufferLen,
- /*IN*/ ULONG ulFlags,
- /*IN*/ HMACHINE hMachine);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Device_ID_ExW(
- /*IN*/ DEVINST dnDevInst,
- /*OUT*/ PWCHAR Buffer,
- /*IN*/ ULONG BufferLen,
- /*IN*/ ULONG ulFlags,
- /*IN*/ HMACHINE hMachine);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Device_IDW(
- /*IN*/ DEVINST dnDevInst,
- /*OUT*/ PWCHAR Buffer,
- /*IN*/ ULONG BufferLen,
- /*IN*/ ULONG ulFlags);
-
-#ifdef UNICODE
-#define CM_Get_Device_ID CM_Get_Device_IDW
-#define CM_Get_Device_ID_Ex CM_Get_Device_ID_ExW
-#else
-#define CM_Get_Device_ID CM_Get_Device_IDA
-#define CM_Get_Device_ID_Ex CM_Get_Device_ID_ExW
-#endif /* UNICODE */
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Device_ID_ListA(
- /*IN*/ PCSTR pszFilter, /*OPTIONAL*/
- /*OUT*/ PCHAR Buffer,
- /*IN*/ ULONG BufferLen,
- /*IN*/ ULONG ulFlags);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Device_ID_List_ExA(
- /*IN*/ PCSTR pszFilter, /*OPTIONAL*/
- /*OUT*/ PCHAR Buffer,
- /*IN*/ ULONG BufferLen,
- /*IN*/ ULONG ulFlags,
- /*IN*/ HMACHINE hMachine);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Device_ID_List_ExW(
- /*IN*/ PCWSTR pszFilter, /*OPTIONAL*/
- /*OUT*/ PWCHAR Buffer,
- /*IN*/ ULONG BufferLen,
- /*IN*/ ULONG ulFlags,
- /*IN*/ HMACHINE hMachine);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Device_ID_ListW(
- /*IN*/ PCWSTR pszFilter, /*OPTIONAL*/
- /*OUT*/ PWCHAR Buffer,
- /*IN*/ ULONG BufferLen,
- /*IN*/ ULONG ulFlags);
-
-#ifdef UNICODE
-#define CM_Get_Device_ID_List CM_Get_Device_ID_ListW
-#define CM_Get_Device_ID_List_Ex CM_Get_Device_ID_List_ExW
-#else
-#define CM_Get_Device_ID_List CM_Get_Device_ID_ListA
-#define CM_Get_Device_ID_List_Ex CM_Get_Device_ID_List_ExA
-#endif /* UNICODE */
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Device_ID_List_SizeA(
- /*OUT*/ PULONG pulLen,
- /*IN*/ PCSTR pszFilter, /*OPTIONAL*/
- /*IN*/ ULONG ulFlags);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Device_ID_List_Size_ExA(
- /*OUT*/ PULONG pulLen,
- /*IN*/ PCSTR pszFilter, /*OPTIONAL*/
- /*IN*/ ULONG ulFlags,
- /*IN*/ HMACHINE hMachine);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Device_ID_List_Size_ExW(
- /*OUT*/ PULONG pulLen,
- /*IN*/ PCWSTR pszFilter, /*OPTIONAL*/
- /*IN*/ ULONG ulFlags,
- /*IN*/ HMACHINE hMachine);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Device_ID_List_SizeW(
- /*OUT*/ PULONG pulLen,
- /*IN*/ PCWSTR pszFilter, /*OPTIONAL*/
- /*IN*/ ULONG ulFlags);
-
-#ifdef UNICODE
-#define CM_Get_Device_ID_List_Size CM_Get_Device_ID_List_SizeW
-#define CM_Get_Device_ID_List_Size_Ex CM_Get_Device_ID_List_Size_ExW
-#else
-#define CM_Get_Device_ID_List_Size CM_Get_Device_ID_List_SizeA
-#define CM_Get_Device_ID_List_Size_Ex CM_Get_Device_ID_List_Size_ExA
-#endif /* UNICODE */
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Device_ID_Size(
- /*OUT*/ PULONG pulLen,
- /*IN*/ DEVINST dnDevInst,
- /*IN*/ ULONG ulFlags);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Device_ID_Size_Ex(
- /*OUT*/ PULONG pulLen,
- /*IN*/ DEVINST dnDevInst,
- /*IN*/ ULONG ulFlags,
- /*IN*/ HMACHINE hMachine);
-
-/* FIXME: Obsolete CM_Get_Device_Interface_Alias */
-/* FIXME: Obsolete CM_Get_Device_Interface_Alias_Ex */
-/* FIXME: Obsolete CM_Get_Device_Interface_List */
-/* FIXME: Obsolete CM_Get_Device_Interface_List_Ex */
-/* FIXME: Obsolete CM_Get_Device_Interface_List_Size */
-/* FIXME: Obsolete CM_Get_Device_Interface_List_Size_Ex */
-/* FIXME: Obsolete CM_Get_DevNode_Custom_Property */
-/* FIXME: Obsolete CM_Get_DevNode_Custom_Property_Ex */
-/* FIXME: Obsolete CM_Get_DevNode_Registry_Property */
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_DevNode_Status(
- /*OUT*/ PULONG pulStatus,
- /*OUT*/ PULONG pulProblemNumber,
- /*IN*/ DEVINST dnDevInst,
- /*IN*/ ULONG ulFlags);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_DevNode_Status_Ex(
- /*OUT*/ PULONG pulStatus,
- /*OUT*/ PULONG pulProblemNumber,
- /*IN*/ DEVINST dnDevInst,
- /*IN*/ ULONG ulFlags,
- /*IN*/ HMACHINE hMachine);
-
-#define CM_Get_DevInst_Status CM_Get_DevNode_Status
-#define CM_Get_DevInst_Status_Ex CM_Get_DevNode_Status_Ex
-
-/* CM_Get_First_Log_Conf.ulFlags constants */
-#define BASIC_LOG_CONF 0x00000000 /* Specifies the req list. */
-#define FILTERED_LOG_CONF 0x00000001 /* Specifies the filtered req list. */
-#define ALLOC_LOG_CONF 0x00000002 /* Specifies the Alloc Element. */
-#define BOOT_LOG_CONF 0x00000003 /* Specifies the RM Alloc Element. */
-#define FORCED_LOG_CONF 0x00000004 /* Specifies the Forced Log Conf */
-#define OVERRIDE_LOG_CONF 0x00000005 /* Specifies the Override req list. */
-#define NUM_LOG_CONF 0x00000006 /* Number of Log Conf type */
-#define LOG_CONF_BITS 0x00000007 /* The bits of the log conf type. */
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_First_Log_Conf(
- /*OUT*/ PLOG_CONF plcLogConf, /*OPTIONAL*/
- /*IN*/ DEVINST dnDevInst,
- /*IN*/ ULONG ulFlags);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_First_Log_Conf_Ex(
- /*OUT*/ PLOG_CONF plcLogConf, /*OPTIONAL*/
- /*IN*/ DEVINST dnDevInst,
- /*IN*/ ULONG ulFlags,
- /*IN*/ HMACHINE hMachine);
-
-/* FIXME: Obsolete CM_Get_Global_State */
-/* FIXME: Obsolete CM_Get_Global_State_Ex */
-/* FIXME: Obsolete CM_Get_Hardware_Profile_Info */
-/* FIXME: Obsolete CM_Get_Hardware_Profile_Info_Ex */
-/* FIXME: Obsolete CM_Get_HW_Prof_Flags */
-/* FIXME: Obsolete CM_Get_HW_Prof_Flags_Ex */
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Log_Conf_Priority(
- /*IN*/ LOG_CONF lcLogConf,
- /*OUT*/ PPRIORITY pPriority,
- /*IN*/ ULONG ulFlags);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Log_Conf_Priority_Ex(
- /*IN*/ LOG_CONF lcLogConf,
- /*OUT*/ PPRIORITY pPriority,
- /*IN*/ ULONG ulFlags,
- /*IN*/ HMACHINE hMachine);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Next_Log_Conf(
- /*OUT*/ PLOG_CONF plcLogConf, /*OPTIONAL*/
- /*IN*/ LOG_CONF lcLogConf,
- /*IN*/ ULONG ulFlags);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Next_Log_Conf_Ex(
- /*OUT*/ PLOG_CONF plcLogConf, /*OPTIONAL*/
- /*IN*/ LOG_CONF lcLogConf,
- /*IN*/ ULONG ulFlags,
- /*IN*/ HMACHINE hMachine);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Next_Res_Des(
- /*OUT*/ PRES_DES prdResDes,
- /*IN*/ RES_DES rdResDes,
- /*IN*/ RESOURCEID ForResource,
- /*OUT*/ PRESOURCEID pResourceID,
- /*IN*/ ULONG ulFlags);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Next_Res_Des_Ex(
- /*OUT*/ PRES_DES prdResDes,
- /*IN*/ RES_DES rdResDes,
- /*IN*/ RESOURCEID ForResource,
- /*OUT*/ PRESOURCEID pResourceID,
- /*IN*/ ULONG ulFlags,
- /*IN*/ HMACHINE hMachine);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Parent(
- /*OUT*/ PDEVINST pdnDevInst,
- /*IN*/ DEVINST dnDevInst,
- /*IN*/ ULONG ulFlags);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Parent_Ex(
- /*OUT*/ PDEVINST pdnDevInst,
- /*IN*/ DEVINST dnDevInst,
- /*IN*/ ULONG ulFlags,
- /*IN*/ HMACHINE hMachine);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Res_Des_Data(
- /*IN*/ RES_DES rdResDes,
- /*OUT*/ PVOID Buffer,
- /*IN*/ ULONG BufferLen,
- /*IN*/ ULONG ulFlags);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Res_Des_Data_Ex(
- /*IN*/ RES_DES rdResDes,
- /*OUT*/ PVOID Buffer,
- /*IN*/ ULONG BufferLen,
- /*IN*/ ULONG ulFlags,
- /*IN*/ HMACHINE hMachine);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Res_Des_Data_Size(
- /*OUT*/ PULONG pulSize,
- /*IN*/ RES_DES rdResDes,
- /*IN*/ ULONG ulFlags);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Res_Des_Data_Size_Ex(
- /*OUT*/ PULONG pulSize,
- /*IN*/ RES_DES rdResDes,
- /*IN*/ ULONG ulFlags,
- /*IN*/ HMACHINE hMachine);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Resource_Conflict_Count(
- /*IN*/ CONFLICT_LIST clConflictList,
- /*OUT*/ PULONG pulCount);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Resource_Conflict_DetailsA(
- /*IN*/ CONFLICT_LIST clConflictList,
- /*IN*/ ULONG ulIndex,
- /*IN OUT*/ PCONFLICT_DETAILS_A pConflictDetails);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Resource_Conflict_DetailsW(
- /*IN*/ CONFLICT_LIST clConflictList,
- /*IN*/ ULONG ulIndex,
- /*IN OUT*/ PCONFLICT_DETAILS_W pConflictDetails);
-
-#ifdef UNICODE
-#define CM_Get_Resource_Conflict_Details CM_Get_Resource_Conflict_DetailsW
-#else
-#define CM_Get_Resource_Conflict_Details CM_Get_Resource_Conflict_DetailsA
-#endif /* UNICODE */
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Sibling(
- /*OUT*/ PDEVINST pdnDevInst,
- /*IN*/ DEVINST DevInst,
- /*IN*/ ULONG ulFlags);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Sibling_Ex(
- /*OUT*/ PDEVINST pdnDevInst,
- /*IN*/ DEVINST DevInst,
- /*IN*/ ULONG ulFlags,
- /*IN*/ HMACHINE hMachine);
-
-CMAPI
-WORD
-WINAPI
-CM_Get_Version(
- VOID);
-
-CMAPI
-WORD
-WINAPI
-CM_Get_Version_Ex(
- /*IN*/ HMACHINE hMachine);
-
-/* FIXME: Obsolete CM_Intersect_Range_List */
-/* FIXME: Obsolete CM_Invert_Range_List */
-/* FIXME: Obsolete CM_Is_Dock_Station_Present */
-/* FIXME: Obsolete CM_Is_Dock_Station_Present_Ex */
-
-/* CM_Locate_DevNode.ulFlags constants */
-#define CM_LOCATE_DEVNODE_NORMAL 0x00000000
-#define CM_LOCATE_DEVNODE_PHANTOM 0x00000001
-#define CM_LOCATE_DEVNODE_CANCELREMOVE 0x00000002
-#define CM_LOCATE_DEVNODE_NOVALIDATION 0x00000004
-#define CM_LOCATE_DEVNODE_BITS 0x00000007
-
-#define CM_LOCATE_DEVINST_NORMAL CM_LOCATE_DEVNODE_NORMAL
-#define CM_LOCATE_DEVINST_PHANTOM CM_LOCATE_DEVNODE_PHANTOM
-#define CM_LOCATE_DEVINST_CANCELREMOVE CM_LOCATE_DEVNODE_CANCELREMOVE
-#define CM_LOCATE_DEVINST_NOVALIDATION CM_LOCATE_DEVNODE_NOVALIDATION
-#define CM_LOCATE_DEVINST_BITS CM_LOCATE_DEVNODE_BITS
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Locate_DevNodeA(
- /*OUT*/ PDEVINST pdnDevInst,
- /*IN*/ DEVINSTID_A pDeviceID, /*OPTIONAL*/
- /*IN*/ ULONG ulFlags);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Locate_DevNode_ExA(
- /*OUT*/ PDEVINST pdnDevInst,
- /*IN*/ DEVINSTID_A pDeviceID, /*OPTIONAL*/
- /*IN*/ ULONG ulFlags,
- /*IN*/ HMACHINE hMachine);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Locate_DevNode_ExW(
- /*OUT*/ PDEVINST pdnDevInst,
- /*IN*/ DEVINSTID_W pDeviceID, /*OPTIONAL*/
- /*IN*/ ULONG ulFlags,
- /*IN*/ HMACHINE hMachine);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Locate_DevNodeW(
- /*OUT*/ PDEVINST pdnDevInst,
- /*IN*/ DEVINSTID_W pDeviceID, /*OPTIONAL*/
- /*IN*/ ULONG ulFlags);
-
-#define CM_Locate_DevInstA CM_Locate_DevNodeA
-#define CM_Locate_DevInstW CM_Locate_DevNodeW
-#define CM_Locate_DevInst_ExA CM_Locate_DevNode_ExA
-#define CM_Locate_DevInst_ExW CM_Locate_DevNode_ExW
-
-#ifdef UNICODE
-#define CM_Locate_DevNode CM_Locate_DevNodeW
-#define CM_Locate_DevInst CM_Locate_DevNodeW
-#define CM_Locate_DevNode_Ex CM_Locate_DevNode_ExW
-#define CM_Locate_DevInst_Ex CM_Locate_DevNode_ExW
-#else
-#define CM_Locate_DevNode CM_Locate_DevNodeA
-#define CM_Locate_DevInst CM_Locate_DevNodeA
-#define CM_Locate_DevNode_Ex CM_Locate_DevNode_ExA
-#define CM_Locate_DevInst_Ex CM_Locate_DevNode_ExA
-#endif /* UNICODE */
-
-/* FIXME: Obsolete CM_Merge_Range_List */
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Modify_Res_Des(
- /*OUT*/ PRES_DES prdResDes,
- /*IN*/ RES_DES rdResDes,
- /*IN*/ RESOURCEID ResourceID,
- /*IN*/ PCVOID ResourceData,
- /*IN*/ ULONG ResourceLen,
- /*IN*/ ULONG ulFlags);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Modify_Res_Des_Ex(
- /*OUT*/ PRES_DES prdResDes,
- /*IN*/ RES_DES rdResDes,
- /*IN*/ RESOURCEID ResourceID,
- /*IN*/ PCVOID ResourceData,
- /*IN*/ ULONG ResourceLen,
- /*IN*/ ULONG ulFlags,
- /*IN*/ HMACHINE hMachine);
-
-/* FIXME: Obsolete CM_Move_DevNode */
-/* FIXME: Obsolete CM_Move_DevNode_Ex */
-/* FIXME: Obsolete CM_Next_Range */
-/* FIXME: Obsolete CM_Open_Class_Key */
-/* FIXME: Obsolete CM_Open_Class_Key_Ex */
-/* FIXME: Obsolete CM_Open_DevNode_Key */
-/* FIXME: Obsolete CM_Open_DevNode_Key_Ex */
-
-/* CM_Query_And_Remove_SubTree.ulFlags constants */
-#define CM_REMOVE_UI_OK 0x00000000
-#define CM_REMOVE_UI_NOT_OK 0x00000001
-#define CM_REMOVE_NO_RESTART 0x00000002
-#define CM_REMOVE_BITS 0x00000003
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Query_And_Remove_SubTreeA(
- /*IN*/ DEVINST dnAncestor,
- /*OUT*/ PPNP_VETO_TYPE pVetoType,
- /*OUT*/ LPSTR pszVetoName,
- /*IN*/ ULONG ulNameLength,
- /*IN*/ ULONG ulFlags);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Query_And_Remove_SubTreeW(
- /*IN*/ DEVINST dnAncestor,
- /*OUT*/ PPNP_VETO_TYPE pVetoType,
- /*OUT*/ LPWSTR pszVetoName,
- /*IN*/ ULONG ulNameLength,
- /*IN*/ ULONG ulFlags);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Query_And_Remove_SubTree_ExA(
- /*IN*/ DEVINST dnAncestor,
- /*OUT*/ PPNP_VETO_TYPE pVetoType,
- /*OUT*/ LPSTR pszVetoName,
- /*IN*/ ULONG ulNameLength,
- /*IN*/ ULONG ulFlags,
- /*IN*/ HMACHINE hMachine);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Query_And_Remove_SubTree_ExW(
- /*IN*/ DEVINST dnAncestor,
- /*OUT*/ PPNP_VETO_TYPE pVetoType,
- /*OUT*/ LPWSTR pszVetoName,
- /*IN*/ ULONG ulNameLength,
- /*IN*/ ULONG ulFlags,
- /*IN*/ HMACHINE hMachine);
-
-/* FIXME: Obsolete CM_Query_Arbitrator_Free_Data */
-/* FIXME: Obsolete CM_Query_Arbitrator_Free_Data_Ex */
-/* FIXME: Obsolete CM_Query_Arbitrator_Free_Size */
-/* FIXME: Obsolete CM_Query_Arbitrator_Free_Size_Ex */
-/* FIXME: Obsolete CM_Query_Arbitrator_Free_Size_Ex */
-/* FIXME: Obsolete CM_Query_Remove_SubTree */
-/* FIXME: Obsolete CM_Query_Remove_SubTree_Ex */
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Query_Resource_Conflict_List(
- /*OUT*/ PCONFLICT_LIST pclConflictList,
- /*IN*/ DEVINST dnDevInst,
- /*IN*/ RESOURCEID ResourceID,
- /*IN*/ PCVOID ResourceData,
- /*IN*/ ULONG ResourceLen,
- /*IN*/ ULONG ulFlags,
- /*IN*/ HMACHINE hMachine);
-
-/* CM_Reenumerate_DevNode.ulFlags constants */
-#define CM_REENUMERATE_NORMAL 0x00000000
-#define CM_REENUMERATE_SYNCHRONOUS 0x00000001
-#define CM_REENUMERATE_RETRY_INSTALLATION 0x00000002
-#define CM_REENUMERATE_ASYNCHRONOUS 0x00000004
-#define CM_REENUMERATE_BITS 0x00000007
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Reenumerate_DevNode(
- /*IN*/ DEVINST dnDevInst,
- /*IN*/ ULONG ulFlags);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Reenumerate_DevNode_Ex(
- /*IN*/ DEVINST dnDevInst,
- /*IN*/ ULONG ulFlags,
- /*IN*/ HMACHINE hMachine);
-
-#define CM_Reenumerate_DevInst CM_Reenumerate_DevNode
-#define CM_Reenumerate_DevInst_Ex CM_Reenumerate_DevNode_Ex
-
-/* FIXME: Obsolete CM_Register_Device_Driver */
-/* FIXME: Obsolete CM_Register_Device_Driver_Ex */
-/* FIXME: Obsolete CM_Register_Device_Interface */
-/* FIXME: Obsolete CM_Register_Device_Interface_Ex */
-/* FIXME: Obsolete CM_Remove_SubTree */
-/* FIXME: Obsolete CM_Remove_SubTree_Ex */
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Request_Device_EjectA(
- /*IN*/ DEVINST dnDevInst,
- /*OUT*/ PPNP_VETO_TYPE pVetoType,
- /*OUT*/ LPSTR pszVetoName,
- /*IN*/ ULONG ulNameLength,
- /*IN*/ ULONG ulFlags);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Request_Device_Eject_ExW(
- /*IN*/ DEVINST dnDevInst,
- /*OUT*/ PPNP_VETO_TYPE pVetoType,
- /*OUT*/ LPWSTR pszVetoName,
- /*IN*/ ULONG ulNameLength,
- /*IN*/ ULONG ulFlags,
- /*IN*/ HMACHINE hMachine);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Request_Device_Eject_ExA(
- /*IN*/ DEVINST dnDevInst,
- /*OUT*/ PPNP_VETO_TYPE pVetoType,
- /*OUT*/ LPSTR pszVetoName,
- /*IN*/ ULONG ulNameLength,
- /*IN*/ ULONG ulFlags,
- /*IN*/ HMACHINE hMachine);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Request_Device_EjectW(
- /*IN*/ DEVINST dnDevInst,
- /*OUT*/ PPNP_VETO_TYPE pVetoType,
- /*OUT*/ LPWSTR pszVetoName,
- /*IN*/ ULONG ulNameLength,
- /*IN*/ ULONG ulFlags);
-
-#ifdef UNICODE
-#define CM_Request_Device_Eject CM_Request_Device_EjectW
-#define CM_Request_Device_Eject_Ex CM_Request_Device_Eject_ExW
-#else
-#define CM_Request_Device_Eject CM_Request_Device_EjectA
-#define CM_Request_Device_Eject_Ex CM_Request_Device_Eject_ExA
-#endif /* UNICODE */
-
-/* FIXME: Obsolete CM_Request_Eject_PC */
-/* FIXME: Obsolete CM_Request_Eject_PC_Ex */
-/* FIXME: Obsolete CM_Run_Detection */
-/* FIXME: Obsolete CM_Run_Detection_Ex */
-/* FIXME: Obsolete CM_Set_Class_Registry_Property */
-/* FIXME: Obsolete CM_Set_DevNode_Problem */
-/* FIXME: Obsolete CM_Set_DevNode_Problem_Ex */
-/* FIXME: Obsolete CM_Set_DevNode_Registry_Property */
-/* FIXME: Obsolete CM_Set_DevNode_Registry_Property_Ex */
-/* FIXME: Obsolete CM_Set_HW_Prof */
-/* FIXME: Obsolete CM_Set_HW_Prof_Ex */
-/* FIXME: Obsolete CM_Set_HW_Prof_Flags */
-/* FIXME: Obsolete CM_Set_HW_Prof_Flags_Ex */
-/* FIXME: Obsolete CM_Setup_DevNode */
-/* FIXME: Obsolete CM_Setup_DevNode_Ex */
-/* FIXME: Obsolete CM_Test_Range_Available */
-/* FIXME: Obsolete CM_Uninstall_DevNode */
-/* FIXME: Obsolete CM_Uninstall_DevNode_Ex */
-/* FIXME: Obsolete CM_Unregister_Device_Interface */
-/* FIXME: Obsolete CM_Unregister_Device_Interface_Ex */
-
-#define CM_WaitNoPendingInstallEvents CMP_WaitNoPendingInstallEvents
-
-CMAPI
-DWORD
-WINAPI
-CMP_WaitNoPendingInstallEvents(
- /*IN*/ DWORD dwTimeout);
-
-#include <poppack.h>
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __CFGMGR32_H */
diff --git a/winsup/w32api/include/ddk/d4drvif.h b/winsup/w32api/include/ddk/d4drvif.h
deleted file mode 100644
index c10e78170..000000000
--- a/winsup/w32api/include/ddk/d4drvif.h
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * d4drvif.h
- *
- * DOT4 driver IOCTL 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 __D4DRVIF_H
-#define __D4DRVIF_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-#include "d4iface.h"
-
-#define FILE_DEVICE_DOT4 0x3a
-#define IOCTL_DOT4_USER_BASE 2049
-
-#define IOCTL_DOT4_ADD_ACTIVITY_BROADCAST \
- CTL_CODE(FILE_DEVICE_DOT4, IOCTL_DOT4_USER_BASE + 4, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_DOT4_CLOSE_CHANNEL \
- CTL_CODE(FILE_DEVICE_DOT4, IOCTL_DOT4_USER_BASE + 1, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_DOT4_CREATE_SOCKET \
- CTL_CODE(FILE_DEVICE_DOT4, IOCTL_DOT4_USER_BASE + 7, METHOD_OUT_DIRECT, FILE_ANY_ACCESS)
-
-#define IOCTL_DOT4_DESTROY_SOCKET \
- CTL_CODE(FILE_DEVICE_DOT4, IOCTL_DOT4_USER_BASE + 9, METHOD_OUT_DIRECT, FILE_ANY_ACCESS)
-
-#define IOCTL_DOT4_OPEN_CHANNEL \
- CTL_CODE(FILE_DEVICE_DOT4, IOCTL_DOT4_USER_BASE + 0, METHOD_OUT_DIRECT, FILE_ANY_ACCESS)
-
-#define IOCTL_DOT4_READ \
- CTL_CODE(FILE_DEVICE_DOT4, IOCTL_DOT4_USER_BASE + 2, METHOD_OUT_DIRECT, FILE_ANY_ACCESS)
-
-#define IOCTL_DOT4_REMOVE_ACTIVITY_BROADCAST \
- CTL_CODE(FILE_DEVICE_DOT4, IOCTL_DOT4_USER_BASE + 5, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_DOT4_WAIT_ACTIVITY_BROADCAST \
- CTL_CODE(FILE_DEVICE_DOT4, IOCTL_DOT4_USER_BASE + 6, METHOD_OUT_DIRECT, FILE_ANY_ACCESS)
-
-#define IOCTL_DOT4_WAIT_FOR_CHANNEL \
- CTL_CODE(FILE_DEVICE_DOT4, IOCTL_DOT4_USER_BASE + 8, METHOD_OUT_DIRECT, FILE_ANY_ACCESS)
-
-#define IOCTL_DOT4_WRITE \
- CTL_CODE(FILE_DEVICE_DOT4, IOCTL_DOT4_USER_BASE + 3, METHOD_IN_DIRECT, FILE_ANY_ACCESS)
-
-
-#define MAX_SERVICE_LENGTH 40
-
-typedef struct _DOT4_DC_CREATE_DATA {
- unsigned char bPsid;
- CHAR pServiceName[MAX_SERVICE_LENGTH + 1];
- unsigned char bType;
- ULONG ulBufferSize;
- USHORT usMaxHtoPPacketSize;
- USHORT usMaxPtoHPacketSize;
- unsigned char bHsid;
-} DOT4_DC_CREATE_DATA, *PDOT4_DC_CREATE_DATA;
-
-typedef struct _DOT4_DC_DESTROY_DATA {
- unsigned char bHsid;
-} DOT4_DC_DESTROY_DATA, *PDOT4_DC_DESTROY_DATA;
-
-typedef struct _DOT4_DC_OPEN_DATA {
- unsigned char bHsid;
- unsigned char fAddActivity;
- CHANNEL_HANDLE hChannelHandle;
-} DOT4_DC_OPEN_DATA, *PDOT4_DC_OPEN_DATA;
-
-typedef struct _DOT4_DRIVER_CMD {
- CHANNEL_HANDLE hChannelHandle;
- ULONG ulSize;
- ULONG ulOffset;
- ULONG ulTimeout;
-} DOT4_DRIVER_CMD, *PDOT4_DRIVER_CMD;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __D4DRVIF_H */
diff --git a/winsup/w32api/include/ddk/d4iface.h b/winsup/w32api/include/ddk/d4iface.h
deleted file mode 100644
index 245bc4c82..000000000
--- a/winsup/w32api/include/ddk/d4iface.h
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * d4iface.h
- *
- * DOT4 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 __D4IFACE_H
-#define __D4IFACE_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-
-#define DOT4_MAX_CHANNELS 128
-#define NO_TIMEOUT 0
-
-#define DOT4_CHANNEL 0
-#define HP_MESSAGE_PROCESSOR 1
-#define PRINTER_CHANNEL 2
-#define SCANNER_CHANNEL 4
-#define MIO_COMMAND_PROCESSOR 5
-#define ECHO_CHANNEL 6
-#define FAX_SEND_CHANNEL 7
-#define FAX_RECV_CHANNEL 8
-#define DIAGNOSTIC_CHANNEL 9
-#define HP_RESERVED 10
-#define IMAGE_DOWNLOAD 11
-#define HOST_DATASTORE_UPLOAD 12
-#define HOST_DATASTORE_DOWNLOAD 13
-#define CONFIG_UPLOAD 14
-#define CONFIG_DOWNLOAD 15
-
-#define STREAM_TYPE_CHANNEL 1
-#define PACKET_TYPE_CHANNEL 2
-
-/* DOT4_ACTIVITY.ulMessage flags */
-#define DOT4_STREAM_RECEIVED 0x100
-#define DOT4_STREAM_CREDITS 0x101
-#define DOT4_MESSAGE_RECEIVED 0x102
-#define DOT4_DISCONNECT 0x103
-#define DOT4_CHANNEL_CLOSED 0x105
-
-typedef unsigned long CHANNEL_HANDLE, *PCHANNEL_HANDLE;
-
-typedef struct _DOT4_ACTIVITY {
- ULONG ulMessage;
- ULONG ulByteCount;
- CHANNEL_HANDLE hChannel;
-} DOT4_ACTIVITY, *PDOT4_ACTIVITY;
-
-typedef struct _DOT4_WMI_XFER_INFO {
- ULONG ulStreamBytesWritten;
- ULONG ulStreamBytesRead;
- ULONG ulPacketBytesWritten;
- ULONG ulPacketBytesRead;
-} DOT4_WMI_XFER_INFO, *PDOT4_WMI_XFER_INFO;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __D4IFACE_H */
diff --git a/winsup/w32api/include/ddk/ddkmapi.h b/winsup/w32api/include/ddk/ddkmapi.h
deleted file mode 100644
index 7772b34a8..000000000
--- a/winsup/w32api/include/ddk/ddkmapi.h
+++ /dev/null
@@ -1,334 +0,0 @@
-/*
- * ddkmapi.h
- *
- * DirectDraw support for DxApi function
- *
- * 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 __DDKMAPI_H
-#define __DDKMAPI_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-
-#if defined(_DXAPI_)
- #define DXAPI DECLSPEC_EXPORT
-#else
- #define DXAPI DECLSPEC_IMPORT
-#endif
-
-DXAPI
-DWORD
-FAR PASCAL
-DxApi(
- /*IN*/ DWORD dwFunctionNum,
- /*IN*/ LPVOID lpvInBuffer,
- /*IN*/ DWORD cbInBuffer,
- /*OUT*/ LPVOID lpvOutBuffer,
- /*OUT*/ DWORD cbOutBuffer);
-
-typedef DWORD (FAR PASCAL *LPDXAPI)(
- DWORD dwFunctionNum,
- LPVOID lpvInBuffer,
- DWORD cbInBuffer,
- LPVOID lpvOutBuffer,
- DWORD cbOutBuffer);
-
-
-#define DXAPI_MAJORVERSION 1
-#define DXAPI_MINORVERSION 0
-
-#define DD_FIRST_DXAPI 0x500
-
-#define DD_DXAPI_GETVERSIONNUMBER (DD_FIRST_DXAPI)
-#define DD_DXAPI_CLOSEHANDLE (DD_FIRST_DXAPI+1)
-#define DD_DXAPI_OPENDIRECTDRAW (DD_FIRST_DXAPI+2)
-#define DD_DXAPI_OPENSURFACE (DD_FIRST_DXAPI+3)
-#define DD_DXAPI_OPENVIDEOPORT (DD_FIRST_DXAPI+4)
-#define DD_DXAPI_GETKERNELCAPS (DD_FIRST_DXAPI+5)
-#define DD_DXAPI_GET_VP_FIELD_NUMBER (DD_FIRST_DXAPI+6)
-#define DD_DXAPI_SET_VP_FIELD_NUMBER (DD_FIRST_DXAPI+7)
-#define DD_DXAPI_SET_VP_SKIP_FIELD (DD_FIRST_DXAPI+8)
-#define DD_DXAPI_GET_SURFACE_STATE (DD_FIRST_DXAPI+9)
-#define DD_DXAPI_SET_SURFACE_STATE (DD_FIRST_DXAPI+10)
-#define DD_DXAPI_LOCK (DD_FIRST_DXAPI+11)
-#define DD_DXAPI_FLIP_OVERLAY (DD_FIRST_DXAPI+12)
-#define DD_DXAPI_FLIP_VP (DD_FIRST_DXAPI+13)
-#define DD_DXAPI_GET_CURRENT_VP_AUTOFLIP_SURFACE (DD_FIRST_DXAPI+14)
-#define DD_DXAPI_GET_LAST_VP_AUTOFLIP_SURFACE (DD_FIRST_DXAPI+15)
-#define DD_DXAPI_REGISTER_CALLBACK (DD_FIRST_DXAPI+16)
-#define DD_DXAPI_UNREGISTER_CALLBACK (DD_FIRST_DXAPI+17)
-#define DD_DXAPI_GET_POLARITY (DD_FIRST_DXAPI+18)
-#define DD_DXAPI_OPENVPCAPTUREDEVICE (DD_FIRST_DXAPI+19)
-#define DD_DXAPI_ADDVPCAPTUREBUFFER (DD_FIRST_DXAPI+20)
-#define DD_DXAPI_FLUSHVPCAPTUREBUFFERS (DD_FIRST_DXAPI+21)
-
-
-typedef struct _DDCAPBUFFINFO {
- DWORD dwFieldNumber;
- DWORD bPolarity;
- LARGE_INTEGER liTimeStamp;
- DWORD ddRVal;
-} DDCAPBUFFINFO, FAR * LPDDCAPBUFFINFO;
-
-/* DDADDVPCAPTUREBUFF.dwFlags constants */
-#define DDADDBUFF_SYSTEMMEMORY 0x0001
-#define DDADDBUFF_NONLOCALVIDMEM 0x0002
-#define DDADDBUFF_INVERT 0x0004
-
-typedef struct _DDADDVPCAPTUREBUFF {
- HANDLE hCapture;
- DWORD dwFlags;
- PMDL pMDL;
- PKEVENT pKEvent;
- LPDDCAPBUFFINFO lpBuffInfo;
-} DDADDVPCAPTUREBUFF, FAR * LPDDADDVPCAPTUREBUFF;
-
-typedef struct _DDCLOSEHANDLE {
- HANDLE hHandle;
-} DDCLOSEHANDLE, FAR *LPDDCLOSEHANDLE;
-
-typedef struct _DDFLIPOVERLAY {
- HANDLE hDirectDraw;
- HANDLE hCurrentSurface;
- HANDLE hTargetSurface;
- DWORD dwFlags;
-} DDFLIPOVERLAY, FAR *LPDDFLIPOVERLAY;
-
-typedef struct _DDFLIPVIDEOPORT {
- HANDLE hDirectDraw;
- HANDLE hVideoPort;
- HANDLE hCurrentSurface;
- HANDLE hTargetSurface;
- DWORD dwFlags;
-} DDFLIPVIDEOPORT, FAR *LPDDFLIPVIDEOPORT;
-
-typedef struct _DDGETAUTOFLIPIN {
- HANDLE hDirectDraw;
- HANDLE hVideoPort;
-} DDGETAUTOFLIPIN, FAR *LPDDGETAUTOFLIPIN;
-
-typedef struct _DDGETAUTOFLIPOUT {
- DWORD ddRVal;
- HANDLE hVideoSurface;
- HANDLE hVBISurface;
- BOOL bPolarity;
-} DDGETAUTOFLIPOUT, FAR *LPDDGETAUTOFLIPOUT;
-
-typedef struct _DDGETPOLARITYIN {
- HANDLE hDirectDraw;
- HANDLE hVideoPort;
-} DDGETPOLARITYIN, FAR *LPDDGETPOLARITYIN;
-
-typedef struct _DDGETPOLARITYOUT {
- DWORD ddRVal;
- BOOL bPolarity;
-} DDGETPOLARITYOUT, FAR *LPDDGETPOLARITYOUT;
-
-typedef struct _DDGETSURFACESTATEIN {
- HANDLE hDirectDraw;
- HANDLE hSurface;
-} DDGETSURFACESTATEIN, FAR *LPDDGETSURFACESTATEIN;
-
-/* DDGETSURFACESTATEOUT.dwStateCaps/dwStateStatus constants */
-#define DDSTATE_BOB 0x0001
-#define DDSTATE_WEAVE 0x0002
-#define DDSTATE_EXPLICITLY_SET 0x0004
-#define DDSTATE_SOFTWARE_AUTOFLIP 0x0008
-#define DDSTATE_SKIPEVENFIELDS 0x0010
-
-typedef struct _DDGETSURFACESTATEOUT {
- DWORD ddRVal;
- DWORD dwStateCaps;
- DWORD dwStateStatus;
-} DDGETSURFACESTATEOUT, FAR *LPDDGETSURFACESTATEOUT;
-
-typedef struct _DDGETFIELDNUMIN {
- HANDLE hDirectDraw;
- HANDLE hVideoPort;
-} DDGETFIELDNUMIN, FAR *LPDDGETFIELDNUMIN;
-
-typedef struct _DDGETFIELDNUMOUT {
- DWORD ddRVal;
- DWORD dwFieldNum;
-} DDGETFIELDNUMOUT, FAR *LPDDGETFIELDNUMOUT;
-
-typedef struct _DDGETKERNELCAPSOUT {
- DWORD ddRVal;
- DWORD dwCaps;
- DWORD dwIRQCaps;
-} DDGETKERNELCAPSOUT, FAR *LPDDGETKERNELCAPSOUT;
-
-typedef struct _DDGETVERSIONNUMBER {
- DWORD ddRVal;
- DWORD dwMajorVersion;
- DWORD dwMinorVersion;
-} DDGETVERSIONNUMBER, FAR *LPDDGETVERSIONNUMBER;
-
-typedef struct _DDLOCKIN {
- HANDLE hDirectDraw;
- HANDLE hSurface;
-} DDLOCKIN, FAR *LPDDLOCKIN;
-
-typedef struct _DDLOCKOUT {
- DWORD ddRVal;
- DWORD dwSurfHeight;
- DWORD dwSurfWidth;
- LONG lSurfPitch;
- PVOID lpSurface;
- DWORD SurfaceCaps;
- DWORD dwFormatFlags;
- DWORD dwFormatFourCC;
- DWORD dwFormatBitCount;
- _ANONYMOUS_UNION union {
- DWORD dwRBitMask;
- DWORD dwYBitMask;
- } DUMMYUNIONNAME;
- _ANONYMOUS_UNION union {
- DWORD dwGBitMask;
- DWORD dwUBitMask;
- } DUMMYUNIONNAME2;
- _ANONYMOUS_UNION union {
- DWORD dwBBitMask;
- DWORD dwVBitMask;
- } DUMMYUNIONNAME3;
-} DDLOCKOUT, FAR *LPDDLOCKOUT;
-
-/* LPDD_NOTIFYCALLBACK.dwFlags constants */
-#define DDNOTIFY_DISPLAY_VSYNC 0x0001
-#define DDNOTIFY_VP_VSYNC 0x0002
-#define DDNOTIFY_VP_LINE 0x0004
-#define DDNOTIFY_PRERESCHANGE 0x0008
-#define DDNOTIFY_POSTRESCHANGE 0x0010
-#define DDNOTIFY_PREDOSBOX 0x0020
-#define DDNOTIFY_POSTDOSBOX 0x0040
-#define DDNOTIFY_CLOSEDIRECTDRAW 0x0080
-#define DDNOTIFY_CLOSESURFACE 0x0100
-#define DDNOTIFY_CLOSEVIDEOPORT 0x0200
-#define DDNOTIFY_CLOSECAPTURE 0x0400
-
-typedef ULONG (FAR PASCAL *LPDD_NOTIFYCALLBACK)(
- DWORD dwFlags,
- PVOID pContext,
- DWORD dwParam1,
- DWORD dwParam2);
-
-typedef struct _DDOPENDIRECTDRAWIN {
- ULONG_PTR dwDirectDrawHandle;
- LPDD_NOTIFYCALLBACK pfnDirectDrawClose;
- PVOID pContext;
-} DDOPENDIRECTDRAWIN, FAR *LPDDOPENDIRECTDRAWIN;
-
-typedef struct _DDOPENDIRECTDRAWOUT {
- DWORD ddRVal;
- HANDLE hDirectDraw;
-} DDOPENDIRECTDRAWOUT, FAR *LPDDOPENDIRECTDRAWOUT;
-
-typedef struct _DDOPENSURFACEIN {
- HANDLE hDirectDraw;
- ULONG_PTR dwSurfaceHandle;
- LPDD_NOTIFYCALLBACK pfnSurfaceClose;
- PVOID pContext;
-} DDOPENSURFACEIN, FAR *LPDDOPENSURFACEIN;
-
-typedef struct _DDOPENSURFACEOUT {
- DWORD ddRVal;
- HANDLE hSurface;
-} DDOPENSURFACEOUT, FAR *LPDDOPENSURFACEOUT;
-
-typedef struct _DDOPENVIDEOPORTIN {
- HANDLE hDirectDraw;
- ULONG dwVideoPortHandle;
- LPDD_NOTIFYCALLBACK pfnVideoPortClose;
- PVOID pContext;
-} DDOPENVIDEOPORTIN, FAR *LPDDOPENVIDEOPORTIN;
-
-typedef struct _DDOPENVIDEOPORTOUT {
- DWORD ddRVal;
- HANDLE hVideoPort;
-} DDOPENVIDEOPORTOUT, FAR *LPDDOPENVIDEOPORTOUT;
-
-/* DDOPENVPCAPTUREDEVICEIN.dwFlags constants */
-#define DDOPENCAPTURE_VIDEO 0x0001
-#define DDOPENCAPTURE_VBI 0x0002
-
-typedef struct _DDOPENVPCAPTUREDEVICEIN {
- HANDLE hDirectDraw;
- HANDLE hVideoPort;
- DWORD dwStartLine;
- DWORD dwEndLine;
- DWORD dwCaptureEveryNFields;
- LPDD_NOTIFYCALLBACK pfnCaptureClose;
- PVOID pContext;
- DWORD dwFlags;
-} DDOPENVPCAPTUREDEVICEIN, FAR * LPDDOPENVPCAPTUREDEVICEIN;
-
-typedef struct _DDOPENVPCAPTUREDEVICEOUT {
- DWORD ddRVal;
- HANDLE hCapture;
-} DDOPENVPCAPTUREDEVICEOUT, FAR * LPDDOPENVPCAPTUREDEVICEOUT;
-
-/* DDREGISTERCALLBACK.dwEvents constants */
-#define DDEVENT_DISPLAY_VSYNC 0x0001
-#define DDEVENT_VP_VSYNC 0x0002
-#define DDEVENT_VP_LINE 0x0004
-#define DDEVENT_PRERESCHANGE 0x0008
-#define DDEVENT_POSTRESCHANGE 0x0010
-#define DDEVENT_PREDOSBOX 0x0020
-#define DDEVENT_POSTDOSBOX 0x0040
-
-typedef struct _DDREGISTERCALLBACK {
- HANDLE hDirectDraw;
- ULONG dwEvents;
- LPDD_NOTIFYCALLBACK pfnCallback;
- ULONG_PTR dwParam1;
- ULONG_PTR dwParam2;
- PVOID pContext;
-} DDREGISTERCALLBACK, FAR *LPDDREGISTERCALLBACK;
-
-typedef struct _DDSETSURFACETATE {
- HANDLE hDirectDraw;
- HANDLE hSurface;
- DWORD dwState;
- DWORD dwStartField;
-} DDSETSURFACESTATE, FAR *LPDDSETSURFACESTATE;
-
-typedef struct _DDSETFIELDNUM {
- HANDLE hDirectDraw;
- HANDLE hVideoPort;
- DWORD dwFieldNum;
-} DDSETFIELDNUM, FAR *LPDDSETFIELDNUM;
-
-typedef struct _DDSETSKIPFIELD {
- HANDLE hDirectDraw;
- HANDLE hVideoPort;
- DWORD dwStartField;
-} DDSETSKIPFIELD, FAR *LPDDSETSKIPFIELD;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __DDKMAPI_H */
diff --git a/winsup/w32api/include/ddk/hidclass.h b/winsup/w32api/include/ddk/hidclass.h
deleted file mode 100644
index 4cbc6fc94..000000000
--- a/winsup/w32api/include/ddk/hidclass.h
+++ /dev/null
@@ -1,153 +0,0 @@
-/*
- * hidclass.h
- *
- * HID class driver 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 __HIDCLASS_H
-#define __HIDCLASS_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-#include "hidpi.h"
-
-#define HID_REVISION 0x00000001
-
-DEFINE_GUID (GUID_DEVINTERFACE_HID, \
- 0x4D1E55B2L, 0xF16F, 0x11CF, 0x88, 0xCB, 0x00, 0x11, 0x11, 0x00, 0x00, 0x30);
-DEFINE_GUID (GUID_HID_INTERFACE_NOTIFY, \
- 0x2c4e2e88L, 0x25e6, 0x4c33, 0x88, 0x2f, 0x3d, 0x82, 0xe6, 0x07, 0x36, 0x81);
-DEFINE_GUID (GUID_HID_INTERFACE_HIDPARSE, \
- 0xf5c315a5, 0x69ac, 0x4bc2, 0x92, 0x79, 0xd0, 0xb6, 0x45, 0x76, 0xf4, 0x4b);
-
-#define GUID_CLASS_INPUT GUID_DEVINTERFACE_HID
-
-#define GUID_CLASS_INPUT_STR "4D1E55B2-F16F-11CF-88CB-001111000030"
-
-
-#define HID_CTL_CODE(id) \
- CTL_CODE (FILE_DEVICE_KEYBOARD, (id), METHOD_NEITHER, FILE_ANY_ACCESS)
-#define HID_BUFFER_CTL_CODE(id) \
- CTL_CODE (FILE_DEVICE_KEYBOARD, (id), METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define HID_IN_CTL_CODE(id) \
- CTL_CODE (FILE_DEVICE_KEYBOARD, (id), METHOD_IN_DIRECT, FILE_ANY_ACCESS)
-#define HID_OUT_CTL_CODE(id) \
- CTL_CODE (FILE_DEVICE_KEYBOARD, (id), METHOD_OUT_DIRECT, FILE_ANY_ACCESS)
-
-
-#define IOCTL_GET_PHYSICAL_DESCRIPTOR HID_OUT_CTL_CODE(102)
-#define IOCTL_HID_FLUSH_QUEUE HID_CTL_CODE(101)
-#define IOCTL_HID_GET_COLLECTION_DESCRIPTOR HID_CTL_CODE(100)
-#define IOCTL_HID_GET_COLLECTION_INFORMATION HID_BUFFER_CTL_CODE(106)
-#define IOCTL_HID_GET_FEATURE HID_OUT_CTL_CODE(100)
-#define IOCTL_HID_GET_HARDWARE_ID HID_OUT_CTL_CODE(103)
-#define IOCTL_HID_GET_INDEXED_STRING HID_OUT_CTL_CODE(120)
-#define IOCTL_HID_GET_INPUT_REPORT HID_OUT_CTL_CODE(104)
-#define IOCTL_HID_GET_MANUFACTURER_STRING HID_OUT_CTL_CODE(110)
-#define IOCTL_GET_NUM_DEVICE_INPUT_BUFFERS HID_BUFFER_CTL_CODE(104)
-#define IOCTL_HID_GET_POLL_FREQUENCY_MSEC HID_BUFFER_CTL_CODE(102)
-#define IOCTL_HID_GET_PRODUCT_STRING HID_OUT_CTL_CODE(111)
-#define IOCTL_HID_GET_SERIALNUMBER_STRING HID_OUT_CTL_CODE(112)
-#define IOCTL_HID_SET_FEATURE HID_IN_CTL_CODE(100)
-#define IOCTL_SET_NUM_DEVICE_INPUT_BUFFERS HID_BUFFER_CTL_CODE(105)
-#define IOCTL_HID_SET_OUTPUT_REPORT HID_IN_CTL_CODE(101)
-#define IOCTL_HID_SET_POLL_FREQUENCY_MSEC HID_BUFFER_CTL_CODE(103)
-
-#define IOCTL_HID_GET_DRIVER_CONFIG HID_BUFFER_CTL_CODE(100)
-#define IOCTL_HID_SET_DRIVER_CONFIG HID_BUFFER_CTL_CODE(101)
-#define IOCTL_HID_GET_MS_GENRE_DESCRIPTOR HID_OUT_CTL_CODE(121)
-
-
-enum DeviceObjectState {
- DeviceObjectStarted = 0,
- DeviceObjectStopped,
- DeviceObjectRemoved
-};
-
-typedef VOID DDKAPI (*PHID_STATUS_CHANGE)(
- PVOID Context,
- enum DeviceObjectState State);
-
-typedef NTSTATUS DDKAPI (*PHIDP_GETCAPS)(
- /*IN*/ PHIDP_PREPARSED_DATA PreparsedData,
- /*OUT*/ PHIDP_CAPS Capabilities);
-
-typedef struct _HID_COLLECTION_INFORMATION {
- ULONG DescriptorSize;
- BOOLEAN Polled;
- UCHAR Reserved1[1];
- USHORT VendorID;
- USHORT ProductID;
- USHORT VersionNumber;
-} HID_COLLECTION_INFORMATION, *PHID_COLLECTION_INFORMATION;
-
-typedef struct _HID_DRIVER_CONFIG {
- ULONG Size;
- ULONG RingBufferSize;
-} HID_DRIVER_CONFIG, *PHID_DRIVER_CONFIG;
-
-typedef struct _HID_INTERFACE_HIDPARSE {
-#ifdef __cplusplus
- INTERFACE i;
-#else
- /* GCC doesn't support including unnamed structs, so INTERFACE is
- expanded here */
- USHORT Size;
- USHORT Version;
- PVOID Context;
- PINTERFACE_REFERENCE InterfaceReference;
- PINTERFACE_DEREFERENCE InterfaceDereference;
-#endif
- PHIDP_GETCAPS HidpGetCaps;
-} HID_INTERFACE_HIDPARSE, *PHID_INTERFACE_HIDPARSE;
-
-typedef struct _HID_INTERFACE_NOTIFY_PNP {
-#ifdef __cplusplus
- INTERFACE i;
-#else
- /* GCC doesn't support including unnamed structs, so INTERFACE is
- expanded here */
- USHORT Size;
- USHORT Version;
- PVOID Context;
- PINTERFACE_REFERENCE InterfaceReference;
- PINTERFACE_DEREFERENCE InterfaceDereference;
-#endif
- PHID_STATUS_CHANGE StatusChangeFn;
- PVOID CallbackContext;
-} HID_INTERFACE_NOTIFY_PNP, *PHID_INTERFACE_NOTIFY_PNP;
-
-typedef struct _HID_XFER_PACKET {
- PUCHAR reportBuffer;
- ULONG reportBufferLen;
- UCHAR reportId;
-} HID_XFER_PACKET, *PHID_XFER_PACKET;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __HIDCLASS_H */
diff --git a/winsup/w32api/include/ddk/hidpi.h b/winsup/w32api/include/ddk/hidpi.h
deleted file mode 100644
index 10ea48c0c..000000000
--- a/winsup/w32api/include/ddk/hidpi.h
+++ /dev/null
@@ -1,604 +0,0 @@
-/*
- * hidpi.h
- *
- * Public Interface for HID parsing library.
- *
- * 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 __HIDPI_H
-#define __HIDPI_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-#include "hidusage.h"
-
-#if defined(_HIDPI_)
- #define HIDAPI DECLSPEC_EXPORT
-#else
- #define HIDAPI DECLSPEC_IMPORT
-#endif
-
-typedef PUCHAR PHIDP_REPORT_DESCRIPTOR;
-typedef struct _HIDP_PREPARSED_DATA * PHIDP_PREPARSED_DATA;
-
-typedef struct _HIDP_UNKNOWN_TOKEN {
- UCHAR Token;
- UCHAR Reserved[3];
- ULONG BitField;
-} HIDP_UNKNOWN_TOKEN, *PHIDP_UNKNOWN_TOKEN;
-
-typedef enum _HIDP_KEYBOARD_DIRECTION {
- HidP_Keyboard_Break,
- HidP_Keyboard_Make
-} HIDP_KEYBOARD_DIRECTION;
-
-typedef struct _HIDP_KEYBOARD_MODIFIER_STATE {
- _ANONYMOUS_UNION union {
- _ANONYMOUS_STRUCT struct {
- ULONG LeftControl : 1;
- ULONG LeftShift : 1;
- ULONG LeftAlt : 1;
- ULONG LeftGUI : 1;
- ULONG RightControl : 1;
- ULONG RightShift : 1;
- ULONG RightAlt : 1;
- ULONG RigthGUI : 1;
- ULONG CapsLock : 1;
- ULONG ScollLock : 1;
- ULONG NumLock : 1;
- ULONG Reserved : 21;
- } DUMMYSTRUCTNAME;
- ULONG ul;
- } DUMMYUNIONNAME;
-} HIDP_KEYBOARD_MODIFIER_STATE, *PHIDP_KEYBOARD_MODIFIER_STATE;
-
-typedef BOOLEAN (DDKAPI *PHIDP_INSERT_SCANCODES)(
- /*IN*/ PVOID Context,
- /*IN*/ PCHAR NewScanCodes,
- /*IN*/ ULONG Length);
-
-typedef struct _USAGE_AND_PAGE {
- USAGE Usage;
- USAGE UsagePage;
-} USAGE_AND_PAGE, *PUSAGE_AND_PAGE;
-
-HIDAPI
-NTSTATUS
-DDKAPI
-HidP_TranslateUsageAndPagesToI8042ScanCodes(
- /*IN*/ PUSAGE_AND_PAGE ChangedUsageList,
- /*IN*/ ULONG UsageListLength,
- /*IN*/ HIDP_KEYBOARD_DIRECTION KeyAction,
- /*IN OUT*/ PHIDP_KEYBOARD_MODIFIER_STATE ModifierState,
- /*IN*/ PHIDP_INSERT_SCANCODES InsertCodesProcedure,
- /*IN*/ PVOID InsertCodesContext);
-
-HIDAPI
-NTSTATUS
-DDKAPI
-HidP_TranslateUsagesToI8042ScanCodes(
- /*IN*/ PUSAGE ChangedUsageList,
- /*IN*/ ULONG UsageListLength,
- /*IN*/ HIDP_KEYBOARD_DIRECTION KeyAction,
- /*IN OUT*/ PHIDP_KEYBOARD_MODIFIER_STATE ModifierState,
- /*IN*/ PHIDP_INSERT_SCANCODES InsertCodesProcedure,
- /*IN*/ PVOID InsertCodesContext);
-
-typedef struct _HIDP_BUTTON_CAPS {
- USAGE UsagePage;
- UCHAR ReportID;
- BOOLEAN IsAlias;
- USHORT BitField;
- USHORT LinkCollection;
- USAGE LinkUsage;
- USAGE LinkUsagePage;
- BOOLEAN IsRange;
- BOOLEAN IsStringRange;
- BOOLEAN IsDesignatorRange;
- BOOLEAN IsAbsolute;
- ULONG Reserved[10];
- _ANONYMOUS_UNION union {
- struct {
- USAGE UsageMin, UsageMax;
- USHORT StringMin, StringMax;
- USHORT DesignatorMin, DesignatorMax;
- USHORT DataIndexMin, DataIndexMax;
- } Range;
- struct {
- USAGE Usage, Reserved1;
- USHORT StringIndex, Reserved2;
- USHORT DesignatorIndex, Reserved3;
- USHORT DataIndex, Reserved4;
- } NotRange;
- } DUMMYUNIONNAME;
-} HIDP_BUTTON_CAPS, *PHIDP_BUTTON_CAPS;
-
-typedef struct _HIDP_CAPS {
- USAGE Usage;
- USAGE UsagePage;
- USHORT InputReportByteLength;
- USHORT OutputReportByteLength;
- USHORT FeatureReportByteLength;
- USHORT Reserved[17];
- USHORT NumberLinkCollectionNodes;
- USHORT NumberInputButtonCaps;
- USHORT NumberInputValueCaps;
- USHORT NumberInputDataIndices;
- USHORT NumberOutputButtonCaps;
- USHORT NumberOutputValueCaps;
- USHORT NumberOutputDataIndices;
- USHORT NumberFeatureButtonCaps;
- USHORT NumberFeatureValueCaps;
- USHORT NumberFeatureDataIndices;
-} HIDP_CAPS, *PHIDP_CAPS;
-
-typedef struct _HIDP_DATA {
- USHORT DataIndex;
- USHORT Reserved;
- _ANONYMOUS_UNION union {
- ULONG RawValue;
- BOOLEAN On;
- } DUMMYUNIONNAME;
-} HIDP_DATA, *PHIDP_DATA;
-
-typedef struct _HIDP_EXTENDED_ATTRIBUTES {
- UCHAR NumGlobalUnknowns;
- UCHAR Reserved[3];
- PHIDP_UNKNOWN_TOKEN GlobalUnknowns;
- ULONG Data[1];
-} HIDP_EXTENDED_ATTRIBUTES, *PHIDP_EXTENDED_ATTRIBUTES;
-
-#define HIDP_LINK_COLLECTION_ROOT ((USHORT) -1)
-#define HIDP_LINK_COLLECTION_UNSPECIFIED ((USHORT) 0)
-
-typedef struct _HIDP_LINK_COLLECTION_NODE {
- USAGE LinkUsage;
- USAGE LinkUsagePage;
- USHORT Parent;
- USHORT NumberOfChildren;
- USHORT NextSibling;
- USHORT FirstChild;
- ULONG CollectionType: 8;
- ULONG IsAlias: 1;
- ULONG Reserved: 23;
- PVOID UserContext;
-} HIDP_LINK_COLLECTION_NODE, *PHIDP_LINK_COLLECTION_NODE;
-
-typedef struct _HIDP_VALUE_CAPS {
- USAGE UsagePage;
- UCHAR ReportID;
- BOOLEAN IsAlias;
- USHORT BitField;
- USHORT LinkCollection;
- USAGE LinkUsage;
- USAGE LinkUsagePage;
- BOOLEAN IsRange;
- BOOLEAN IsStringRange;
- BOOLEAN IsDesignatorRange;
- BOOLEAN IsAbsolute;
- BOOLEAN HasNull;
- UCHAR Reserved;
- USHORT BitSize;
- USHORT ReportCount;
- USHORT Reserved2[5];
- ULONG UnitsExp;
- ULONG Units;
- LONG LogicalMin, LogicalMax;
- LONG PhysicalMin, PhysicalMax;
- _ANONYMOUS_UNION union {
- struct {
- USAGE UsageMin, UsageMax;
- USHORT StringMin, StringMax;
- USHORT DesignatorMin, DesignatorMax;
- USHORT DataIndexMin, DataIndexMax;
- } Range;
- struct {
- USAGE Usage, Reserved1;
- USHORT StringIndex, Reserved2;
- USHORT DesignatorIndex, Reserved3;
- USHORT DataIndex, Reserved4;
- } NotRange;
- } DUMMYUNIONNAME;
-} HIDP_VALUE_CAPS, *PHIDP_VALUE_CAPS;
-
-typedef enum _HIDP_REPORT_TYPE {
- HidP_Input,
- HidP_Output,
- HidP_Feature
-} HIDP_REPORT_TYPE;
-
-#define FACILITY_HID_ERROR_CODE 0x11
-
-#define HIDP_ERROR_CODES(SEV, CODE) \
- ((NTSTATUS) (((SEV) << 28) | (FACILITY_HID_ERROR_CODE << 16) | (CODE)))
-
-#define HIDP_STATUS_SUCCESS (HIDP_ERROR_CODES(0x0, 0))
-#define HIDP_STATUS_NULL (HIDP_ERROR_CODES(0x8, 1))
-#define HIDP_STATUS_INVALID_PREPARSED_DATA (HIDP_ERROR_CODES(0xC, 1))
-#define HIDP_STATUS_INVALID_REPORT_TYPE (HIDP_ERROR_CODES(0xC, 2))
-#define HIDP_STATUS_INVALID_REPORT_LENGTH (HIDP_ERROR_CODES(0xC, 3))
-#define HIDP_STATUS_USAGE_NOT_FOUND (HIDP_ERROR_CODES(0xC, 4))
-#define HIDP_STATUS_VALUE_OUT_OF_RANGE (HIDP_ERROR_CODES(0xC, 5))
-#define HIDP_STATUS_BAD_LOG_PHY_VALUES (HIDP_ERROR_CODES(0xC, 6))
-#define HIDP_STATUS_BUFFER_TOO_SMALL (HIDP_ERROR_CODES(0xC, 7))
-#define HIDP_STATUS_INTERNAL_ERROR (HIDP_ERROR_CODES(0xC, 8))
-#define HIDP_STATUS_I8042_TRANS_UNKNOWN (HIDP_ERROR_CODES(0xC, 9))
-#define HIDP_STATUS_INCOMPATIBLE_REPORT_ID (HIDP_ERROR_CODES(0xC, 0xA))
-#define HIDP_STATUS_NOT_VALUE_ARRAY (HIDP_ERROR_CODES(0xC, 0xB))
-#define HIDP_STATUS_IS_VALUE_ARRAY (HIDP_ERROR_CODES(0xC, 0xC))
-#define HIDP_STATUS_DATA_INDEX_NOT_FOUND (HIDP_ERROR_CODES(0xC, 0xD))
-#define HIDP_STATUS_DATA_INDEX_OUT_OF_RANGE (HIDP_ERROR_CODES(0xC, 0xE))
-#define HIDP_STATUS_BUTTON_NOT_PRESSED (HIDP_ERROR_CODES(0xC, 0xF))
-#define HIDP_STATUS_REPORT_DOES_NOT_EXIST (HIDP_ERROR_CODES(0xC, 0x10))
-#define HIDP_STATUS_NOT_IMPLEMENTED (HIDP_ERROR_CODES(0xC, 0x20))
-#define HIDP_STATUS_I8242_TRANS_UNKNOWN HIDP_STATUS_I8042_TRANS_UNKNOWN
-
-
-
-/*
- * NTSTATUS
- * HidP_GetButtonCaps(
- * IN HIDP_REPORT_TYPE ReportType,
- * OUT PHIDP_BUTTON_CAPS ButtonCaps,
- * IN OUT PULONG ButtonCapsLength,
- * IN PHIDP_PREPARSED_DATA PreparsedData);
- */
-#define HidP_GetButtonCaps(_Type_, _Caps_, _Len_, _Data_) \
- HidP_GetSpecificButtonCaps(_Type_, 0, 0, 0, _Caps_, _Len_, _Data_)
-
-/*
- * NTSTATUS
- * HidP_GetButtons(
- * IN HIDP_REPORT_TYPE ReportType,
- * IN USAGE UsagePage,
- * IN USHORT LinkCollection,
- * OUT USAGE *UsageList,
- * IN OUT ULONG *UsageLength,
- * IN PHIDP_PREPARSED_DATA PreparsedData,
- * IN PCHAR Report,
- * IN ULONG ReportLength);
- */
-#define HidP_GetButtons(Rty, UPa, LCo, ULi, ULe, Ppd, Rep, RLe) \
- HidP_GetUsages(Rty, UPa, LCo, ULi, ULe, Ppd, Rep, RLe)
-
-#define HidP_GetButtonListLength(RTy, UPa, Ppd) \
- HidP_GetUsageListLength(Rty, UPa, Ppd)
-
-
-/*
- * NTSTATUS
- * HidP_GetButtonsEx(
- * IN HIDP_REPORT_TYPE ReportType,
- * IN USHORT LinkCollection,
- * OUT PUSAGE_AND_PAGE ButtonList,
- * IN OUT ULONG *UsageLength,
- * IN PHIDP_PREPARSED_DATA PreparsedData,
- * IN PCHAR Report,
- * IN ULONG ReportLength);
- */
-#define HidP_GetButtonsEx(RT, LC, BL, UL, PD, R, RL) \
- HidP_GetUsagesEx(RT, LC, BL, UL, PD, R, RL)
-
-HIDAPI
-NTSTATUS
-DDKAPI
-HidP_GetCaps(
- /*IN*/ PHIDP_PREPARSED_DATA PreparsedData,
- /*OUT*/ PHIDP_CAPS Capabilities);
-
-HIDAPI
-NTSTATUS
-DDKAPI
-HidP_GetData(
- /*IN*/ HIDP_REPORT_TYPE ReportType,
- /*OUT*/ PHIDP_DATA DataList,
- /*IN OUT*/ PULONG DataLength,
- /*IN*/ PHIDP_PREPARSED_DATA PreparsedData,
- /*IN*/ PCHAR Report,
- /*IN*/ ULONG ReportLength);
-
-HIDAPI
-NTSTATUS
-DDKAPI
-HidP_GetExtendedAttributes(
- /*IN*/ HIDP_REPORT_TYPE ReportType,
- /*IN*/ USHORT DataIndex,
- /*IN*/ PHIDP_PREPARSED_DATA PreparsedData,
- /*OUT*/ PHIDP_EXTENDED_ATTRIBUTES Attributes,
- /*IN OUT*/ PULONG LengthAttributes);
-
-HIDAPI
-NTSTATUS
-DDKAPI
-HidP_GetLinkCollectionNodes(
- /*OUT*/ PHIDP_LINK_COLLECTION_NODE LinkCollectionNodes,
- /*IN OUT*/ PULONG LinkCollectionNodesLength,
- /*IN*/ PHIDP_PREPARSED_DATA PreparsedData);
-
-HIDAPI
-NTSTATUS
-DDKAPI
-HidP_GetScaledUsageValue(
- /*IN*/ HIDP_REPORT_TYPE ReportType,
- /*IN*/ USAGE UsagePage,
- /*IN*/ USHORT LinkCollection /*OPTIONAL*/,
- /*IN*/ USAGE Usage,
- /*OUT*/ PLONG UsageValue,
- /*IN*/ PHIDP_PREPARSED_DATA PreparsedData,
- /*IN*/ PCHAR Report,
- /*IN*/ ULONG ReportLength);
-
-HIDAPI
-NTSTATUS
-DDKAPI
-HidP_GetSpecificButtonCaps(
- /*IN*/ HIDP_REPORT_TYPE ReportType,
- /*IN*/ USAGE UsagePage,
- /*IN*/ USHORT LinkCollection,
- /*IN*/ USAGE Usage,
- /*OUT*/ PHIDP_BUTTON_CAPS ButtonCaps,
- /*IN OUT*/ PULONG ButtonCapsLength,
- /*IN*/ PHIDP_PREPARSED_DATA PreparsedData);
-
-HIDAPI
-NTSTATUS
-DDKAPI
-HidP_GetSpecificValueCaps(
- /*IN*/ HIDP_REPORT_TYPE ReportType,
- /*IN*/ USAGE UsagePage,
- /*IN*/ USHORT LinkCollection,
- /*IN*/ USAGE Usage,
- /*OUT*/ PHIDP_VALUE_CAPS ValueCaps,
- /*IN OUT*/ PULONG ValueCapsLength,
- /*IN*/ PHIDP_PREPARSED_DATA PreparsedData);
-
-HIDAPI
-NTSTATUS
-DDKAPI
-HidP_GetUsages(
- /*IN*/ HIDP_REPORT_TYPE ReportType,
- /*IN*/ USAGE UsagePage,
- /*IN*/ USHORT LinkCollection /*OPTIONAL*/,
- /*OUT*/ USAGE *UsageList,
- /*IN OUT*/ ULONG *UsageLength,
- /*IN*/ PHIDP_PREPARSED_DATA PreparsedData,
- /*IN*/ PCHAR Report,
- /*IN*/ ULONG ReportLength);
-
-HIDAPI
-NTSTATUS
-DDKAPI
-HidP_GetUsagesEx(
- /*IN*/ HIDP_REPORT_TYPE ReportType,
- /*IN*/ USHORT LinkCollection,
- /*OUT*/ PUSAGE_AND_PAGE ButtonList,
- /*IN OUT*/ ULONG *UsageLength,
- /*IN*/ PHIDP_PREPARSED_DATA PreparsedData,
- /*IN*/ PCHAR Report,
- /*IN*/ ULONG ReportLength);
-
-HIDAPI
-NTSTATUS
-DDKAPI
-HidP_GetUsageValue(
- /*IN*/ HIDP_REPORT_TYPE ReportType,
- /*IN*/ USAGE UsagePage,
- /*IN*/ USHORT LinkCollection,
- /*IN*/ USAGE Usage,
- /*OUT*/ PULONG UsageValue,
- /*IN*/ PHIDP_PREPARSED_DATA PreparsedData,
- /*IN*/ PCHAR Report,
- /*IN*/ ULONG ReportLength);
-
-HIDAPI
-NTSTATUS
-DDKAPI
-HidP_GetUsageValueArray(
- /*IN*/ HIDP_REPORT_TYPE ReportType,
- /*IN*/ USAGE UsagePage,
- /*IN*/ USHORT LinkCollection /*OPTIONAL*/,
- /*IN*/ USAGE Usage,
- /*OUT*/ PCHAR UsageValue,
- /*IN*/ USHORT UsageValueByteLength,
- /*IN*/ PHIDP_PREPARSED_DATA PreparsedData,
- /*IN*/ PCHAR Report,
- /*IN*/ ULONG ReportLength);
-
-/*
- * NTSTATUS
- * HidP_GetValueCaps(
- * IN HIDP_REPORT_TYPE ReportType,
- * OUT PHIDP_VALUE_CAPS ValueCaps,
- * IN OUT PULONG ValueCapsLength,
- * IN PHIDP_PREPARSED_DATA PreparsedData);
- */
-#define HidP_GetValueCaps(_Type_, _Caps_, _Len_, _Data_) \
- HidP_GetSpecificValueCaps (_Type_, 0, 0, 0, _Caps_, _Len_, _Data_)
-
-HIDAPI
-NTSTATUS
-DDKAPI
-HidP_InitializeReportForID(
- /*IN*/ HIDP_REPORT_TYPE ReportType,
- /*IN*/ UCHAR ReportID,
- /*IN*/ PHIDP_PREPARSED_DATA PreparsedData,
- /*IN OUT*/ PCHAR Report,
- /*IN*/ ULONG ReportLength);
-
-/*
- * BOOLEAN
- * HidP_IsSameUsageAndPage(
- * USAGE_AND_PAGE u1,
- * USAGE_AND_PAGE u2);
- */
-#define HidP_IsSameUsageAndPage(u1, u2) ((* (PULONG) &u1) == (* (PULONG) &u2))
-
-HIDAPI
-ULONG
-DDKAPI
-HidP_MaxDataListLength(
- /*IN*/ HIDP_REPORT_TYPE ReportType,
- /*IN*/ PHIDP_PREPARSED_DATA PreparsedData);
-
-HIDAPI
-ULONG
-DDKAPI
-HidP_MaxUsageListLength(
- /*IN*/ HIDP_REPORT_TYPE ReportType,
- /*IN*/ USAGE UsagePage /*OPTIONAL*/,
- /*IN*/ PHIDP_PREPARSED_DATA PreparsedData);
-
-/*
- * NTSTATUS
- * HidP_SetButtons(
- * IN HIDP_REPORT_TYPE ReportType,
- * IN USAGE UsagePage,
- * IN USHORT LinkCollection,
- * IN PUSAGE UsageList,
- * IN OUT PULONG UsageLength,
- * IN PHIDP_PREPARSED_DATA PreparsedData,
- * IN OUT PCHAR Report,
- * IN ULONG ReportLength);
- */
-#define HidP_SetButtons(RT, UP, LC, UL1, UL2, PD, R, RL) \
- HidP_SetUsages(RT, UP, LC, UL1, UL2, PD, R, RL)
-
-HIDAPI
-NTSTATUS
-DDKAPI
-HidP_SetData(
- /*IN*/ HIDP_REPORT_TYPE ReportType,
- /*IN*/ PHIDP_DATA DataList,
- /*IN OUT*/ PULONG DataLength,
- /*IN*/ PHIDP_PREPARSED_DATA PreparsedData,
- /*IN OUT*/ PCHAR Report,
- /*IN*/ ULONG ReportLength);
-
-HIDAPI
-NTSTATUS
-DDKAPI
-HidP_SetScaledUsageValue(
- /*IN*/ HIDP_REPORT_TYPE ReportType,
- /*IN*/ USAGE UsagePage,
- /*IN*/ USHORT LinkCollection /*OPTIONAL*/,
- /*IN*/ USAGE Usage,
- /*IN*/ LONG UsageValue,
- /*IN*/ PHIDP_PREPARSED_DATA PreparsedData,
- /*IN OUT*/ PCHAR Report,
- /*IN*/ ULONG ReportLength);
-
-HIDAPI
-NTSTATUS
-DDKAPI
-HidP_SetUsages(
- /*IN*/ HIDP_REPORT_TYPE ReportType,
- /*IN*/ USAGE UsagePage,
- /*IN*/ USHORT LinkCollection /*OPTIONAL*/,
- /*IN*/ PUSAGE UsageList,
- /*IN OUT*/ PULONG UsageLength,
- /*IN*/ PHIDP_PREPARSED_DATA PreparsedData,
- /*IN OUT*/ PCHAR Report,
- /*IN*/ ULONG ReportLength);
-
-HIDAPI
-NTSTATUS
-DDKAPI
-HidP_SetUsageValue(
- /*IN*/ HIDP_REPORT_TYPE ReportType,
- /*IN*/ USAGE UsagePage,
- /*IN*/ USHORT LinkCollection,
- /*IN*/ USAGE Usage,
- /*IN*/ ULONG UsageValue,
- /*IN*/ PHIDP_PREPARSED_DATA PreparsedData,
- /*IN OUT*/ PCHAR Report,
- /*IN*/ ULONG ReportLength);
-
-HIDAPI
-NTSTATUS
-DDKAPI
-HidP_SetUsageValueArray(
- /*IN*/ HIDP_REPORT_TYPE ReportType,
- /*IN*/ USAGE UsagePage,
- /*IN*/ USHORT LinkCollection /*OPTIONAL*/,
- /*IN*/ USAGE Usage,
- /*IN*/ PCHAR UsageValue,
- /*IN*/ USHORT UsageValueByteLength,
- /*IN*/ PHIDP_PREPARSED_DATA PreparsedData,
- /*OUT*/ PCHAR Report,
- /*IN*/ ULONG ReportLength);
-
-/*
- * NTSTATUS
- * HidP_UnsetButtons(
- * IN HIDP_REPORT_TYPE ReportType,
- * IN USAGE UsagePage,
- * IN USHORT LinkCollection,
- * IN PUSAGE UsageList,
- * IN OUT PULONG UsageLength,
- * IN PHIDP_PREPARSED_DATA PreparsedData,
- * IN OUT PCHAR Report,
- * IN ULONG ReportLength);
- */
-#define HidP_UnsetButtons(RT, UP, LC, UL1, UL2, PD, R, RL) \
- HidP_UnsetUsages(RT, UP, LC, UL1, UL2, PD, R, RL)
-
-HIDAPI
-NTSTATUS
-DDKAPI
-HidP_UnsetUsages(
- /*IN*/ HIDP_REPORT_TYPE ReportType,
- /*IN*/ USAGE UsagePage,
- /*IN*/ USHORT LinkCollection,
- /*IN*/ PUSAGE UsageList,
- /*IN OUT*/ PULONG UsageLength,
- /*IN*/ PHIDP_PREPARSED_DATA PreparsedData,
- /*IN OUT*/ PCHAR Report,
- /*IN*/ ULONG ReportLength);
-
-HIDAPI
-NTSTATUS
-DDKAPI
-HidP_UsageAndPageListDifference(
- /*IN*/ PUSAGE_AND_PAGE PreviousUsageList,
- /*IN*/ PUSAGE_AND_PAGE CurrentUsageList,
- /*OUT*/ PUSAGE_AND_PAGE BreakUsageList,
- /*OUT*/ PUSAGE_AND_PAGE MakeUsageList,
- /*IN*/ ULONG UsageListLength);
-
-HIDAPI
-NTSTATUS
-DDKAPI
-HidP_UsageListDifference(
- /*IN*/ PUSAGE PreviousUsageList,
- /*IN*/ PUSAGE CurrentUsageList,
- /*OUT*/ PUSAGE BreakUsageList,
- /*OUT*/ PUSAGE MakeUsageList,
- /*IN*/ ULONG UsageListLength);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __HIDPI_H */
diff --git a/winsup/w32api/include/ddk/hidsdi.h b/winsup/w32api/include/ddk/hidsdi.h
deleted file mode 100755
index eee6a9611..000000000
--- a/winsup/w32api/include/ddk/hidsdi.h
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * hidsdi.h
- *
- * This file is part of the w32api package.
- *
- * 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 _HIDSDI_H
-#define _HIDSDI_H
-
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <ddk/hidusage.h>
-#include <ddk/hidpi.h>
-
-#ifndef WINHIDSDI
-#define WINHIDSDI DECLSPEC_IMPORT
-#endif
-
-#include <pshpack4.h>
-
-typedef struct _HIDD_CONFIGURATION {
- PVOID cookie;
- ULONG size;
- ULONG RingBufferSize;
-} HIDD_CONFIGURATION, *PHIDD_CONFIGURATION;
-
-typedef struct _HIDD_ATTRIBUTES {
- ULONG Size;
- USHORT VendorID;
- USHORT ProductID;
- USHORT VersionNumber;
-} HIDD_ATTRIBUTES, *PHIDD_ATTRIBUTES;
-
-WINHIDSDI BOOL WINAPI HidD_GetAttributes (HANDLE, PHIDD_ATTRIBUTES);
-WINHIDSDI VOID WINAPI HidD_GetHidGuid (LPGUID);
-WINHIDSDI BOOL WINAPI HidD_GetPreparsedData(HANDLE, PHIDP_PREPARSED_DATA *);
-WINHIDSDI BOOL WINAPI HidD_FreePreparsedData(PHIDP_PREPARSED_DATA);
-WINHIDSDI BOOL WINAPI HidD_FlushQueue (HANDLE);
-WINHIDSDI BOOL WINAPI HidD_GetConfiguration (HANDLE, PHIDD_CONFIGURATION, ULONG);
-WINHIDSDI BOOL WINAPI HidD_SetConfiguration (HANDLE, PHIDD_CONFIGURATION, ULONG);
-WINHIDSDI BOOL WINAPI HidD_GetFeature (HANDLE, PVOID, ULONG);
-WINHIDSDI BOOL WINAPI HidD_SetFeature (HANDLE, PVOID, ULONG);
-WINHIDSDI BOOL WINAPI HidD_GetNumInputBuffers (HANDLE, PULONG);
-WINHIDSDI BOOL WINAPI HidD_SetNumInputBuffers (HANDLE HidDeviceObject, ULONG);
-WINHIDSDI BOOL WINAPI HidD_GetPhysicalDescriptor (HANDLE, PVOID, ULONG);
-WINHIDSDI BOOL WINAPI HidD_GetManufacturerString (HANDLE, PVOID, ULONG);
-WINHIDSDI BOOL WINAPI HidD_GetProductString ( HANDLE, PVOID, ULONG);
-WINHIDSDI BOOL WINAPI HidD_GetIndexedString ( HANDLE, ULONG, PVOID, ULONG);
-WINHIDSDI BOOL WINAPI HidD_GetSerialNumberString (HANDLE, PVOID, ULONG);
-
-#include <poppack.h>
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _HIDSDI_H */
diff --git a/winsup/w32api/include/ddk/hidusage.h b/winsup/w32api/include/ddk/hidusage.h
deleted file mode 100644
index 1f82af98d..000000000
--- a/winsup/w32api/include/ddk/hidusage.h
+++ /dev/null
@@ -1,210 +0,0 @@
-/*
- * hidusage.h
- *
- * HID usages
- *
- * 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 __HIDUSAGE_H
-#define __HIDUSAGE_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef USHORT USAGE, *PUSAGE;
-
-#define HID_USAGE_GENERIC_POINTER ((USAGE) 0x01)
-#define HID_USAGE_GENERIC_MOUSE ((USAGE) 0x02)
-#define HID_USAGE_GENERIC_JOYSTICK ((USAGE) 0x04)
-#define HID_USAGE_GENERIC_GAMEPAD ((USAGE) 0x05)
-#define HID_USAGE_GENERIC_KEYBOARD ((USAGE) 0x06)
-#define HID_USAGE_GENERIC_KEYPAD ((USAGE) 0x07)
-#define HID_USAGE_GENERIC_SYSTEM_CTL ((USAGE) 0x80)
-#define HID_USAGE_GENERIC_X ((USAGE) 0x30)
-#define HID_USAGE_GENERIC_Y ((USAGE) 0x31)
-#define HID_USAGE_GENERIC_Z ((USAGE) 0x32)
-#define HID_USAGE_GENERIC_RX ((USAGE) 0x33)
-#define HID_USAGE_GENERIC_RY ((USAGE) 0x34)
-#define HID_USAGE_GENERIC_RZ ((USAGE) 0x35)
-#define HID_USAGE_GENERIC_SLIDER ((USAGE) 0x36)
-#define HID_USAGE_GENERIC_DIAL ((USAGE) 0x37)
-#define HID_USAGE_GENERIC_WHEEL ((USAGE) 0x38)
-#define HID_USAGE_GENERIC_HATSWITCH ((USAGE) 0x39)
-#define HID_USAGE_GENERIC_COUNTED_BUFFER ((USAGE) 0x3A)
-#define HID_USAGE_GENERIC_BYTE_COUNT ((USAGE) 0x3B)
-#define HID_USAGE_GENERIC_MOTION_WAKEUP ((USAGE) 0x3C)
-#define HID_USAGE_GENERIC_VX ((USAGE) 0x40)
-#define HID_USAGE_GENERIC_VY ((USAGE) 0x41)
-#define HID_USAGE_GENERIC_VZ ((USAGE) 0x42)
-#define HID_USAGE_GENERIC_VBRX ((USAGE) 0x43)
-#define HID_USAGE_GENERIC_VBRY ((USAGE) 0x44)
-#define HID_USAGE_GENERIC_VBRZ ((USAGE) 0x45)
-#define HID_USAGE_GENERIC_VNO ((USAGE) 0x46)
-#define HID_USAGE_GENERIC_SYSCTL_POWER ((USAGE) 0x81)
-#define HID_USAGE_GENERIC_SYSCTL_SLEEP ((USAGE) 0x82)
-#define HID_USAGE_GENERIC_SYSCTL_WAKE ((USAGE) 0x83)
-#define HID_USAGE_GENERIC_SYSCTL_CONTEXT_MENU ((USAGE) 0x84)
-#define HID_USAGE_GENERIC_SYSCTL_MAIN_MENU ((USAGE) 0x85)
-#define HID_USAGE_GENERIC_SYSCTL_APP_MENU ((USAGE) 0x86)
-#define HID_USAGE_GENERIC_SYSCTL_HELP_MENU ((USAGE) 0x87)
-#define HID_USAGE_GENERIC_SYSCTL_MENU_EXIT ((USAGE) 0x88)
-#define HID_USAGE_GENERIC_SYSCTL_MENU_SELECT ((USAGE) 0x89)
-#define HID_USAGE_GENERIC_SYSCTL_MENU_RIGHT ((USAGE) 0x8A)
-#define HID_USAGE_GENERIC_SYSCTL_MENU_LEFT ((USAGE) 0x8B)
-#define HID_USAGE_GENERIC_SYSCTL_MENU_UP ((USAGE) 0x8C)
-#define HID_USAGE_GENERIC_SYSCTL_MENU_DOWN ((USAGE) 0x8D)
-
-#define HID_USAGE_KEYBOARD_NOEVENT ((USAGE) 0x00)
-#define HID_USAGE_KEYBOARD_ROLLOVER ((USAGE) 0x01)
-#define HID_USAGE_KEYBOARD_POSTFAIL ((USAGE) 0x02)
-#define HID_USAGE_KEYBOARD_UNDEFINED ((USAGE) 0x03)
-#define HID_USAGE_KEYBOARD_aA ((USAGE) 0x04)
-#define HID_USAGE_KEYBOARD_zZ ((USAGE) 0x1D)
-#define HID_USAGE_KEYBOARD_ONE ((USAGE) 0x1E)
-#define HID_USAGE_KEYBOARD_ZERO ((USAGE) 0x27)
-#define HID_USAGE_KEYBOARD_LCTRL ((USAGE) 0xE0)
-#define HID_USAGE_KEYBOARD_LSHFT ((USAGE) 0xE1)
-#define HID_USAGE_KEYBOARD_LALT ((USAGE) 0xE2)
-#define HID_USAGE_KEYBOARD_LGUI ((USAGE) 0xE3)
-#define HID_USAGE_KEYBOARD_RCTRL ((USAGE) 0xE4)
-#define HID_USAGE_KEYBOARD_RSHFT ((USAGE) 0xE5)
-#define HID_USAGE_KEYBOARD_RALT ((USAGE) 0xE6)
-#define HID_USAGE_KEYBOARD_RGUI ((USAGE) 0xE7)
-#define HID_USAGE_KEYBOARD_SCROLL_LOCK ((USAGE) 0x47)
-#define HID_USAGE_KEYBOARD_NUM_LOCK ((USAGE) 0x53)
-#define HID_USAGE_KEYBOARD_CAPS_LOCK ((USAGE) 0x39)
-#define HID_USAGE_KEYBOARD_F1 ((USAGE) 0x3A)
-#define HID_USAGE_KEYBOARD_F12 ((USAGE) 0x45)
-#define HID_USAGE_KEYBOARD_RETURN ((USAGE) 0x28)
-#define HID_USAGE_KEYBOARD_ESCAPE ((USAGE) 0x29)
-#define HID_USAGE_KEYBOARD_DELETE ((USAGE) 0x2A)
-#define HID_USAGE_KEYBOARD_PRINT_SCREEN ((USAGE) 0x46)
-
-#define HID_USAGE_LED_NUM_LOCK ((USAGE) 0x01)
-#define HID_USAGE_LED_CAPS_LOCK ((USAGE) 0x02)
-#define HID_USAGE_LED_SCROLL_LOCK ((USAGE) 0x03)
-#define HID_USAGE_LED_COMPOSE ((USAGE) 0x04)
-#define HID_USAGE_LED_KANA ((USAGE) 0x05)
-#define HID_USAGE_LED_POWER ((USAGE) 0x06)
-#define HID_USAGE_LED_SHIFT ((USAGE) 0x07)
-#define HID_USAGE_LED_DO_NOT_DISTURB ((USAGE) 0x08)
-#define HID_USAGE_LED_MUTE ((USAGE) 0x09)
-#define HID_USAGE_LED_TONE_ENABLE ((USAGE) 0x0A)
-#define HID_USAGE_LED_HIGH_CUT_FILTER ((USAGE) 0x0B)
-#define HID_USAGE_LED_LOW_CUT_FILTER ((USAGE) 0x0C)
-#define HID_USAGE_LED_EQUALIZER_ENABLE ((USAGE) 0x0D)
-#define HID_USAGE_LED_SOUND_FIELD_ON ((USAGE) 0x0E)
-#define HID_USAGE_LED_SURROUND_FIELD_ON ((USAGE) 0x0F)
-#define HID_USAGE_LED_REPEAT ((USAGE) 0x10)
-#define HID_USAGE_LED_STEREO ((USAGE) 0x11)
-#define HID_USAGE_LED_SAMPLING_RATE_DETECT ((USAGE) 0x12)
-#define HID_USAGE_LED_SPINNING ((USAGE) 0x13)
-#define HID_USAGE_LED_CAV ((USAGE) 0x14)
-#define HID_USAGE_LED_CLV ((USAGE) 0x15)
-#define HID_USAGE_LED_RECORDING_FORMAT_DET ((USAGE) 0x16)
-#define HID_USAGE_LED_OFF_HOOK ((USAGE) 0x17)
-#define HID_USAGE_LED_RING ((USAGE) 0x18)
-#define HID_USAGE_LED_MESSAGE_WAITING ((USAGE) 0x19)
-#define HID_USAGE_LED_DATA_MODE ((USAGE) 0x1A)
-#define HID_USAGE_LED_BATTERY_OPERATION ((USAGE) 0x1B)
-#define HID_USAGE_LED_BATTERY_OK ((USAGE) 0x1C)
-#define HID_USAGE_LED_BATTERY_LOW ((USAGE) 0x1D)
-#define HID_USAGE_LED_SPEAKER ((USAGE) 0x1E)
-#define HID_USAGE_LED_HEAD_SET ((USAGE) 0x1F)
-#define HID_USAGE_LED_HOLD ((USAGE) 0x20)
-#define HID_USAGE_LED_MICROPHONE ((USAGE) 0x21)
-#define HID_USAGE_LED_COVERAGE ((USAGE) 0x22)
-#define HID_USAGE_LED_NIGHT_MODE ((USAGE) 0x23)
-#define HID_USAGE_LED_SEND_CALLS ((USAGE) 0x24)
-#define HID_USAGE_LED_CALL_PICKUP ((USAGE) 0x25)
-#define HID_USAGE_LED_CONFERENCE ((USAGE) 0x26)
-#define HID_USAGE_LED_STAND_BY ((USAGE) 0x27)
-#define HID_USAGE_LED_CAMERA_ON ((USAGE) 0x28)
-#define HID_USAGE_LED_CAMERA_OFF ((USAGE) 0x29)
-#define HID_USAGE_LED_ON_LINE ((USAGE) 0x2A)
-#define HID_USAGE_LED_OFF_LINE ((USAGE) 0x2B)
-#define HID_USAGE_LED_BUSY ((USAGE) 0x2C)
-#define HID_USAGE_LED_READY ((USAGE) 0x2D)
-#define HID_USAGE_LED_PAPER_OUT ((USAGE) 0x2E)
-#define HID_USAGE_LED_PAPER_JAM ((USAGE) 0x2F)
-#define HID_USAGE_LED_REMOTE ((USAGE) 0x30)
-#define HID_USAGE_LED_FORWARD ((USAGE) 0x31)
-#define HID_USAGE_LED_REVERSE ((USAGE) 0x32)
-#define HID_USAGE_LED_STOP ((USAGE) 0x33)
-#define HID_USAGE_LED_REWIND ((USAGE) 0x34)
-#define HID_USAGE_LED_FAST_FORWARD ((USAGE) 0x35)
-#define HID_USAGE_LED_PLAY ((USAGE) 0x36)
-#define HID_USAGE_LED_PAUSE ((USAGE) 0x37)
-#define HID_USAGE_LED_RECORD ((USAGE) 0x38)
-#define HID_USAGE_LED_ERROR ((USAGE) 0x39)
-#define HID_USAGE_LED_SELECTED_INDICATOR ((USAGE) 0x3A)
-#define HID_USAGE_LED_IN_USE_INDICATOR ((USAGE) 0x3B)
-#define HID_USAGE_LED_MULTI_MODE_INDICATOR ((USAGE) 0x3C)
-#define HID_USAGE_LED_INDICATOR_ON ((USAGE) 0x3D)
-#define HID_USAGE_LED_INDICATOR_FLASH ((USAGE) 0x3E)
-#define HID_USAGE_LED_INDICATOR_SLOW_BLINK ((USAGE) 0x3F)
-#define HID_USAGE_LED_INDICATOR_FAST_BLINK ((USAGE) 0x40)
-#define HID_USAGE_LED_INDICATOR_OFF ((USAGE) 0x41)
-#define HID_USAGE_LED_FLASH_ON_TIME ((USAGE) 0x42)
-#define HID_USAGE_LED_SLOW_BLINK_ON_TIME ((USAGE) 0x43)
-#define HID_USAGE_LED_SLOW_BLINK_OFF_TIME ((USAGE) 0x44)
-#define HID_USAGE_LED_FAST_BLINK_ON_TIME ((USAGE) 0x45)
-#define HID_USAGE_LED_FAST_BLINK_OFF_TIME ((USAGE) 0x46)
-#define HID_USAGE_LED_INDICATOR_COLOR ((USAGE) 0x47)
-#define HID_USAGE_LED_RED ((USAGE) 0x48)
-#define HID_USAGE_LED_GREEN ((USAGE) 0x49)
-#define HID_USAGE_LED_AMBER ((USAGE) 0x4A)
-#define HID_USAGE_LED_GENERIC_INDICATOR ((USAGE) 0x3B)
-
-#define HID_USAGE_PAGE_UNDEFINED ((USAGE) 0x00)
-#define HID_USAGE_PAGE_GENERIC ((USAGE) 0x01)
-#define HID_USAGE_PAGE_SIMULATION ((USAGE) 0x02)
-#define HID_USAGE_PAGE_VR ((USAGE) 0x03)
-#define HID_USAGE_PAGE_SPORT ((USAGE) 0x04)
-#define HID_USAGE_PAGE_GAME ((USAGE) 0x05)
-#define HID_USAGE_PAGE_KEYBOARD ((USAGE) 0x07)
-#define HID_USAGE_PAGE_LED ((USAGE) 0x08)
-#define HID_USAGE_PAGE_BUTTON ((USAGE) 0x09)
-#define HID_USAGE_PAGE_ORDINAL ((USAGE) 0x0A)
-#define HID_USAGE_PAGE_TELEPHONY ((USAGE) 0x0B)
-#define HID_USAGE_PAGE_CONSUMER ((USAGE) 0x0C)
-#define HID_USAGE_PAGE_DIGITIZER ((USAGE) 0x0D)
-#define HID_USAGE_PAGE_UNICODE ((USAGE) 0x10)
-#define HID_USAGE_PAGE_ALPHANUMERIC ((USAGE) 0x14)
-
-#define HID_USAGE_TELEPHONY_PHONE ((USAGE) 0x01)
-#define HID_USAGE_TELEPHONY_ANSWERING_MACHINE ((USAGE) 0x02)
-#define HID_USAGE_TELEPHONY_MESSAGE_CONTROLS ((USAGE) 0x03)
-#define HID_USAGE_TELEPHONY_HANDSET ((USAGE) 0x04)
-#define HID_USAGE_TELEPHONY_HEADSET ((USAGE) 0x05)
-#define HID_USAGE_TELEPHONY_KEYPAD ((USAGE) 0x06)
-#define HID_USAGE_TELEPHONY_PROGRAMMABLE_BUTTON ((USAGE) 0x07)
-
-#define HID_USAGE_SIMULATION_RUDDER ((USAGE) 0xBA)
-#define HID_USAGE_SIMULATION_THROTTLE ((USAGE) 0xBB)
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __HIDUSAGE_H */
diff --git a/winsup/w32api/include/ddk/kbdmou.h b/winsup/w32api/include/ddk/kbdmou.h
deleted file mode 100644
index 400eac69c..000000000
--- a/winsup/w32api/include/ddk/kbdmou.h
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * kbdmou.h
- *
- * Structures and definitions for Keyboard/Mouse class and port drivers.
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- * Created by Filip Navara <xnavara@volny.cz>
- *
- * 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 __KBDMOU_H
-#define __KBDMOU_H
-
-#include <ddk/ntddkbd.h>
-#include <ddk/ntddmou.h>
-
-#define DD_KEYBOARD_PORT_DEVICE_NAME "\\Device\\KeyboardPort"
-#define DD_KEYBOARD_PORT_DEVICE_NAME_U L"\\Device\\KeyboardPort"
-#define DD_KEYBOARD_PORT_BASE_NAME_U L"KeyboardPort"
-#define DD_POINTER_PORT_DEVICE_NAME "\\Device\\PointerPort"
-#define DD_POINTER_PORT_DEVICE_NAME_U L"\\Device\\PointerPort"
-#define DD_POINTER_PORT_BASE_NAME_U L"PointerPort"
-
-#define DD_KEYBOARD_CLASS_BASE_NAME_U L"KeyboardClass"
-#define DD_POINTER_CLASS_BASE_NAME_U L"PointerClass"
-
-#define DD_KEYBOARD_RESOURCE_CLASS_NAME_U L"Keyboard"
-#define DD_POINTER_RESOURCE_CLASS_NAME_U L"Pointer"
-#define DD_KEYBOARD_MOUSE_COMBO_RESOURCE_CLASS_NAME_U L"Keyboard/Pointer"
-
-#define POINTER_PORTS_MAXIMUM 8
-#define KEYBOARD_PORTS_MAXIMUM 8
-
-#define KBDMOU_COULD_NOT_SEND_COMMAND 0x0000
-#define KBDMOU_COULD_NOT_SEND_PARAM 0x0001
-#define KBDMOU_NO_RESPONSE 0x0002
-#define KBDMOU_INCORRECT_RESPONSE 0x0004
-
-#define I8042_ERROR_VALUE_BASE 1000
-#define INPORT_ERROR_VALUE_BASE 2000
-#define SERIAL_MOUSE_ERROR_VALUE_BASE 3000
-
-#define IOCTL_INTERNAL_KEYBOARD_CONNECT \
- CTL_CODE(FILE_DEVICE_KEYBOARD, 0x0080, METHOD_NEITHER, FILE_ANY_ACCESS)
-
-#define IOCTL_INTERNAL_KEYBOARD_DISCONNECT \
- CTL_CODE(FILE_DEVICE_KEYBOARD,0x0100, METHOD_NEITHER, FILE_ANY_ACCESS)
-
-#define IOCTL_INTERNAL_KEYBOARD_ENABLE \
- CTL_CODE(FILE_DEVICE_KEYBOARD, 0x0200, METHOD_NEITHER, FILE_ANY_ACCESS)
-
-#define IOCTL_INTERNAL_KEYBOARD_DISABLE \
- CTL_CODE(FILE_DEVICE_KEYBOARD, 0x0400, METHOD_NEITHER, FILE_ANY_ACCESS)
-
-#define IOCTL_INTERNAL_MOUSE_CONNECT \
- CTL_CODE(FILE_DEVICE_MOUSE, 0x0080, METHOD_NEITHER, FILE_ANY_ACCESS)
-
-#define IOCTL_INTERNAL_MOUSE_DISCONNECT \
- CTL_CODE(FILE_DEVICE_MOUSE, 0x0100, METHOD_NEITHER, FILE_ANY_ACCESS)
-
-#define IOCTL_INTERNAL_MOUSE_ENABLE \
- CTL_CODE(FILE_DEVICE_MOUSE, 0x0200, METHOD_NEITHER, FILE_ANY_ACCESS)
-
-#define IOCTL_INTERNAL_MOUSE_DISABLE \
- CTL_CODE(FILE_DEVICE_MOUSE, 0x0400, METHOD_NEITHER, FILE_ANY_ACCESS)
-
-typedef struct _CONNECT_DATA {
- PDEVICE_OBJECT ClassDeviceObject;
- PVOID ClassService;
-} CONNECT_DATA, *PCONNECT_DATA;
-
-typedef VOID
-(STDAPICALLTYPE *PSERVICE_CALLBACK_ROUTINE)(
- /*IN*/ PVOID NormalContext,
- /*IN*/ PVOID SystemArgument1,
- /*IN*/ PVOID SystemArgument2,
- /*IN OUT*/ PVOID SystemArgument3);
-
-#endif /* __KBDMOU_H */
diff --git a/winsup/w32api/include/ddk/mcd.h b/winsup/w32api/include/ddk/mcd.h
deleted file mode 100644
index dcf13d658..000000000
--- a/winsup/w32api/include/ddk/mcd.h
+++ /dev/null
@@ -1,143 +0,0 @@
-/*
- * mcd.h
- *
- * Media changer driver 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 __MCD_H
-#define __MCD_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-#include "srb.h"
-#include "scsi.h"
-#include "ntddchgr.h"
-
-#if defined(_MCD_)
- #define CHANGERAPI DECLSPEC_EXPORT
-#else
- #define CHANGERAPI DECLSPEC_IMPORT
-#endif
-
-#ifdef DebugPrint
-#undef DebugPrint
-#endif
-
-#ifdef DBG
-#define DebugPrint(x) ChangerClassDebugPrint x
-#else
-#define DebugPrint(x)
-#endif
-
-#define MAXIMUM_CHANGER_INQUIRY_DATA 252
-
-CHANGERAPI
-PVOID
-DDKAPI
-ChangerClassAllocatePool(
- /*IN*/ POOL_TYPE PoolType,
- /*IN*/ ULONG NumberOfBytes);
-
-VOID
-ChangerClassDebugPrint(
- ULONG DebugPrintLevel,
- PCCHAR DebugMessage,
- ...);
-
-CHANGERAPI
-PVOID
-DDKAPI
-ChangerClassFreePool(
- /*IN*/ PVOID PoolToFree);
-
-CHANGERAPI
-NTSTATUS
-DDKAPI
-ChangerClassSendSrbSynchronous(
- /*IN*/ PDEVICE_OBJECT DeviceObject,
- /*IN*/ PSCSI_REQUEST_BLOCK Srb,
- /*IN*/ PVOID Buffer,
- /*IN*/ ULONG BufferSize,
- /*IN*/ BOOLEAN WriteToDevice);
-
-
-typedef NTSTATUS DDKAPI
-(*CHANGER_INITIALIZE)(
- /*IN*/ PDEVICE_OBJECT DeviceObject);
-
-typedef ULONG DDKAPI
-(*CHANGER_EXTENSION_SIZE)(
- VOID);
-
-typedef VOID DDKAPI
-(*CHANGER_ERROR_ROUTINE)(
- PDEVICE_OBJECT DeviceObject,
- PSCSI_REQUEST_BLOCK Srb,
- NTSTATUS *Status,
- BOOLEAN *Retry);
-
-typedef NTSTATUS DDKAPI
-(*CHANGER_COMMAND_ROUTINE)(
- /*IN*/ PDEVICE_OBJECT DeviceObject,
- /*IN*/ PIRP Irp);
-
-typedef NTSTATUS DDKAPI
-(*CHANGER_PERFORM_DIAGNOSTICS)(
- /*IN*/ PDEVICE_OBJECT DeviceObject,
- /*OUT*/ PWMI_CHANGER_PROBLEM_DEVICE_ERROR ChangerDeviceError);
-
-typedef struct _MCD_INIT_DATA {
- ULONG InitDataSize;
- CHANGER_EXTENSION_SIZE ChangerAdditionalExtensionSize;
- CHANGER_INITIALIZE ChangerInitialize;
- CHANGER_ERROR_ROUTINE ChangerError;
- CHANGER_PERFORM_DIAGNOSTICS ChangerPerformDiagnostics;
- CHANGER_COMMAND_ROUTINE ChangerGetParameters;
- CHANGER_COMMAND_ROUTINE ChangerGetStatus;
- CHANGER_COMMAND_ROUTINE ChangerGetProductData;
- CHANGER_COMMAND_ROUTINE ChangerSetAccess;
- CHANGER_COMMAND_ROUTINE ChangerGetElementStatus;
- CHANGER_COMMAND_ROUTINE ChangerInitializeElementStatus;
- CHANGER_COMMAND_ROUTINE ChangerSetPosition;
- CHANGER_COMMAND_ROUTINE ChangerExchangeMedium;
- CHANGER_COMMAND_ROUTINE ChangerMoveMedium;
- CHANGER_COMMAND_ROUTINE ChangerReinitializeUnit;
- CHANGER_COMMAND_ROUTINE ChangerQueryVolumeTags;
-} MCD_INIT_DATA, *PMCD_INIT_DATA;
-
-CHANGERAPI
-NTSTATUS
-DDKAPI
-ChangerClassInitialize(
- /*IN*/ PDRIVER_OBJECT DriverObject,
- /*IN*/ PUNICODE_STRING RegistryPath,
- /*IN*/ PMCD_INIT_DATA MCDInitData);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __MCD_H */
diff --git a/winsup/w32api/include/ddk/miniport.h b/winsup/w32api/include/ddk/miniport.h
deleted file mode 100644
index d5a7017aa..000000000
--- a/winsup/w32api/include/ddk/miniport.h
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * miniport.h
- *
- * Type definitions for miniport drivers
- *
- * 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 __MINIPORT_H
-#define __MINIPORT_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-
-#define EMULATOR_READ_ACCESS 0x01
-#define EMULATOR_WRITE_ACCESS 0x02
-
-typedef enum _EMULATOR_PORT_ACCESS_TYPE {
- Uchar,
- Ushort,
- Ulong
-} EMULATOR_PORT_ACCESS_TYPE, *PEMULATOR_PORT_ACCESS_TYPE;
-
-
-typedef struct _EMULATOR_ACCESS_ENTRY {
- ULONG BasePort;
- ULONG NumConsecutivePorts;
- EMULATOR_PORT_ACCESS_TYPE AccessType;
- UCHAR AccessMode;
- UCHAR StringSupport;
- PVOID Routine;
-} EMULATOR_ACCESS_ENTRY, *PEMULATOR_ACCESS_ENTRY;
-
-#ifndef VIDEO_ACCESS_RANGE_DEFINED /* also in video.h */
-#define VIDEO_ACCESS_RANGE_DEFINED
-typedef struct _VIDEO_ACCESS_RANGE {
- PHYSICAL_ADDRESS RangeStart;
- ULONG RangeLength;
- UCHAR RangeInIoSpace;
- UCHAR RangeVisible;
- UCHAR RangeShareable;
- UCHAR RangePassive;
-} VIDEO_ACCESS_RANGE, *PVIDEO_ACCESS_RANGE;
-#endif
-
-typedef VOID DDKAPI
-(*PBANKED_SECTION_ROUTINE)(
- /*IN*/ ULONG ReadBank,
- /*IN*/ ULONG WriteBank,
- /*IN*/ PVOID Context);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __MINIPORT_H */
diff --git a/winsup/w32api/include/ddk/minitape.h b/winsup/w32api/include/ddk/minitape.h
deleted file mode 100644
index fef88a05d..000000000
--- a/winsup/w32api/include/ddk/minitape.h
+++ /dev/null
@@ -1,223 +0,0 @@
-/*
- * minitape.h
- *
- * Minitape driver 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 __MINITAPE_H
-#define __MINITAPE_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#pragma pack(push,4)
-
-#include "ntddk.h"
-
-#define MEDIA_ERASEABLE 0x00000001
-#define MEDIA_WRITE_ONCE 0x00000002
-#define MEDIA_READ_ONLY 0x00000004
-#define MEDIA_READ_WRITE 0x00000008
-#define MEDIA_WRITE_PROTECTED 0x00000100
-#define MEDIA_CURRENTLY_MOUNTED 0x80000000
-
-typedef enum _TAPE_STATUS {
- TAPE_STATUS_SEND_SRB_AND_CALLBACK,
- TAPE_STATUS_CALLBACK,
- TAPE_STATUS_CHECK_TEST_UNIT_READY,
- TAPE_STATUS_SUCCESS,
- TAPE_STATUS_INSUFFICIENT_RESOURCES,
- TAPE_STATUS_NOT_IMPLEMENTED,
- TAPE_STATUS_INVALID_DEVICE_REQUEST,
- TAPE_STATUS_INVALID_PARAMETER,
- TAPE_STATUS_MEDIA_CHANGED,
- TAPE_STATUS_BUS_RESET,
- TAPE_STATUS_SETMARK_DETECTED,
- TAPE_STATUS_FILEMARK_DETECTED,
- TAPE_STATUS_BEGINNING_OF_MEDIA,
- TAPE_STATUS_END_OF_MEDIA,
- TAPE_STATUS_BUFFER_OVERFLOW,
- TAPE_STATUS_NO_DATA_DETECTED,
- TAPE_STATUS_EOM_OVERFLOW,
- TAPE_STATUS_NO_MEDIA,
- TAPE_STATUS_IO_DEVICE_ERROR,
- TAPE_STATUS_UNRECOGNIZED_MEDIA,
- TAPE_STATUS_DEVICE_NOT_READY,
- TAPE_STATUS_MEDIA_WRITE_PROTECTED,
- TAPE_STATUS_DEVICE_DATA_ERROR,
- TAPE_STATUS_NO_SUCH_DEVICE,
- TAPE_STATUS_INVALID_BLOCK_LENGTH,
- TAPE_STATUS_IO_TIMEOUT,
- TAPE_STATUS_DEVICE_NOT_CONNECTED,
- TAPE_STATUS_DATA_OVERRUN,
- TAPE_STATUS_DEVICE_BUSY,
- TAPE_STATUS_REQUIRES_CLEANING,
- TAPE_STATUS_CLEANER_CARTRIDGE_INSTALLED
-} TAPE_STATUS, *PTAPE_STATUS;
-
-#define INQUIRYDATABUFFERSIZE 36
-#ifndef _INQUIRYDATA_DEFINED /* also in scsi.h */
-#define _INQUIRYDATA_DEFINED
-typedef struct _INQUIRYDATA {
- UCHAR DeviceType : 5;
- UCHAR DeviceTypeQualifier : 3;
- UCHAR DeviceTypeModifier : 7;
- UCHAR RemovableMedia : 1;
- union {
- UCHAR Versions;
- struct {
- UCHAR ANSIVersion : 3;
- UCHAR ECMAVersion : 3;
- UCHAR ISOVersion : 2;
- };
- };
- UCHAR ResponseDataFormat : 4;
- UCHAR HiSupport : 1;
- UCHAR NormACA : 1;
- UCHAR TerminateTask : 1;
- UCHAR AERC : 1;
- UCHAR AdditionalLength;
- UCHAR Reserved;
- UCHAR Addr16 : 1;
- UCHAR Addr32 : 1;
- UCHAR AckReqQ: 1;
- UCHAR MediumChanger : 1;
- UCHAR MultiPort : 1;
- UCHAR ReservedBit2 : 1;
- UCHAR EnclosureServices : 1;
- UCHAR ReservedBit3 : 1;
- UCHAR SoftReset : 1;
- UCHAR CommandQueue : 1;
- UCHAR TransferDisable : 1;
- UCHAR LinkedCommands : 1;
- UCHAR Synchronous : 1;
- UCHAR Wide16Bit : 1;
- UCHAR Wide32Bit : 1;
- UCHAR RelativeAddressing : 1;
- UCHAR VendorId[8];
- UCHAR ProductId[16];
- UCHAR ProductRevisionLevel[4];
- UCHAR VendorSpecific[20];
- UCHAR Reserved3[40];
-} INQUIRYDATA, *PINQUIRYDATA;
-#endif
-
-typedef struct _MODE_CAPABILITIES_PAGE {
- UCHAR PageCode : 6;
- UCHAR Reserved1 : 2;
- UCHAR PageLength;
- UCHAR Reserved2[2];
- UCHAR RO : 1;
- UCHAR Reserved3 : 4;
- UCHAR SPREV : 1;
- UCHAR Reserved4 : 2;
- UCHAR Reserved5 : 3;
- UCHAR EFMT : 1;
- UCHAR Reserved6 : 1;
- UCHAR QFA : 1;
- UCHAR Reserved7 : 2;
- UCHAR LOCK : 1;
- UCHAR LOCKED : 1;
- UCHAR PREVENT : 1;
- UCHAR UNLOAD : 1;
- UCHAR Reserved8 : 2;
- UCHAR ECC : 1;
- UCHAR CMPRS : 1;
- UCHAR Reserved9 : 1;
- UCHAR BLK512 : 1;
- UCHAR BLK1024 : 1;
- UCHAR Reserved10 : 4;
- UCHAR SLOWB : 1;
- UCHAR MaximumSpeedSupported[2];
- UCHAR MaximumStoredDefectedListEntries[2];
- UCHAR ContinuousTransferLimit[2];
- UCHAR CurrentSpeedSelected[2];
- UCHAR BufferSize[2];
- UCHAR Reserved11[2];
-} MODE_CAPABILITIES_PAGE, *PMODE_CAPABILITIES_PAGE;
-
-typedef BOOLEAN DDKAPI
-(*TAPE_VERIFY_INQUIRY_ROUTINE)(
- /*IN*/ PINQUIRYDATA InquiryData,
- /*IN*/ PMODE_CAPABILITIES_PAGE ModeCapabilitiesPage);
-
-typedef VOID DDKAPI
-(*TAPE_EXTENSION_INIT_ROUTINE)(
- /*IN*/ PVOID MinitapeExtension,
- /*IN*/ PINQUIRYDATA InquiryData,
- /*IN*/ PMODE_CAPABILITIES_PAGE ModeCapabilitiesPage);
-
-typedef VOID DDKAPI
-(*TAPE_ERROR_ROUTINE)(
- /*IN*/ PVOID MinitapeExtension,
- /*IN*/ PSCSI_REQUEST_BLOCK Srb,
- /*IN OUT*/ PTAPE_STATUS TapeStatus);
-
-typedef TAPE_STATUS DDKAPI
-(*TAPE_PROCESS_COMMAND_ROUTINE)(
- /*IN OUT*/ PVOID MinitapeExtension,
- /*IN OUT*/ PVOID CommandExtension,
- /*IN OUT*/ PVOID CommandParameters,
- /*IN OUT*/ PSCSI_REQUEST_BLOCK Srb,
- /*IN*/ ULONG CallNumber,
- /*IN*/ TAPE_STATUS StatusOfLastCommand,
- /*IN OUT*/ PULONG RetryFlags);
-
-#define TAPE_RETRY_MASK 0x0000FFFF
-#define IGNORE_ERRORS 0x00010000
-#define RETURN_ERRORS 0x00020000
-
-typedef struct _TAPE_INIT_DATA {
- TAPE_VERIFY_INQUIRY_ROUTINE VerifyInquiry;
- BOOLEAN QueryModeCapabilitiesPage;
- ULONG MinitapeExtensionSize;
- TAPE_EXTENSION_INIT_ROUTINE ExtensionInit;
- ULONG DefaultTimeOutValue;
- TAPE_ERROR_ROUTINE TapeError;
- ULONG CommandExtensionSize;
- TAPE_PROCESS_COMMAND_ROUTINE CreatePartition;
- TAPE_PROCESS_COMMAND_ROUTINE Erase;
- TAPE_PROCESS_COMMAND_ROUTINE GetDriveParameters;
- TAPE_PROCESS_COMMAND_ROUTINE GetMediaParameters;
- TAPE_PROCESS_COMMAND_ROUTINE GetPosition;
- TAPE_PROCESS_COMMAND_ROUTINE GetStatus;
- TAPE_PROCESS_COMMAND_ROUTINE Prepare;
- TAPE_PROCESS_COMMAND_ROUTINE SetDriveParameters;
- TAPE_PROCESS_COMMAND_ROUTINE SetMediaParameters;
- TAPE_PROCESS_COMMAND_ROUTINE SetPosition;
- TAPE_PROCESS_COMMAND_ROUTINE WriteMarks;
- TAPE_PROCESS_COMMAND_ROUTINE PreProcessReadWrite /* OPTIONAL */;
-} TAPE_INIT_DATA, *PTAPE_INIT_DATA;
-
-typedef struct _TAPE_PHYS_POSITION {
- ULONG SeekBlockAddress;
- ULONG SpaceBlockCount;
-} TAPE_PHYS_POSITION, PTAPE_PHYS_POSITION;
-
-#pragma pack(pop)
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __MINITAPE_H */
diff --git a/winsup/w32api/include/ddk/mountdev.h b/winsup/w32api/include/ddk/mountdev.h
deleted file mode 100644
index 1bfed03f3..000000000
--- a/winsup/w32api/include/ddk/mountdev.h
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * mountdev.h
- *
- * Mount point manager/mounted devices 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 __MOUNTDEV_H
-#define __MOUNTDEV_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-#include "mountmgr.h"
-
-#define IOCTL_MOUNTDEV_QUERY_DEVICE_NAME \
- CTL_CODE(MOUNTDEVCONTROLTYPE, 2, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_MOUNTDEV_QUERY_UNIQUE_ID \
- CTL_CODE(MOUNTDEVCONTROLTYPE, 0, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_MOUNTDEV_UNIQUE_ID_CHANGE_NOTIFY \
- CTL_CODE(MOUNTDEVCONTROLTYPE, 1, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_MOUNTDEV_QUERY_SUGGESTED_LINK_NAME \
- CTL_CODE(MOUNTDEVCONTROLTYPE, 3, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_MOUNTDEV_LINK_CREATED \
- CTL_CODE(MOUNTDEVCONTROLTYPE, 4, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_MOUNTDEV_LINK_DELETED \
- CTL_CODE(MOUNTDEVCONTROLTYPE, 5, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-
-typedef struct _MOUNTDEV_SUGGESTED_LINK_NAME {
- BOOLEAN UseOnlyIfThereAreNoOtherLinks;
- USHORT NameLength;
- WCHAR Name[1];
-} MOUNTDEV_SUGGESTED_LINK_NAME, *PMOUNTDEV_SUGGESTED_LINK_NAME;
-
-typedef struct _MOUNTDEV_UNIQUE_ID {
- USHORT UniqueIdLength;
- UCHAR UniqueId[1];
-} MOUNTDEV_UNIQUE_ID, *PMOUNTDEV_UNIQUE_ID;
-
-typedef struct _MOUNTDEV_UNIQUE_ID_CHANGE_NOTIFY_OUTPUT {
- ULONG Size;
- USHORT OldUniqueIdOffset;
- USHORT OldUniqueIdLength;
- USHORT NewUniqueIdOffset;
- USHORT NewUniqueIdLength;
-} MOUNTDEV_UNIQUE_ID_CHANGE_NOTIFY_OUTPUT;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __MOUNTDEV_H */
diff --git a/winsup/w32api/include/ddk/mountmgr.h b/winsup/w32api/include/ddk/mountmgr.h
deleted file mode 100644
index 6a56db868..000000000
--- a/winsup/w32api/include/ddk/mountmgr.h
+++ /dev/null
@@ -1,139 +0,0 @@
-/*
- * mountmgr.h
- *
- * Mount point manager 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 __MOUNTMGR_H
-#define __MOUNTMGR_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-
-DEFINE_GUID(MOUNTDEV_MOUNTED_DEVICE_GUID,
- 0x53f5630d, 0xb6bf, 0x11d0, 0x94, 0xf2, 0x00, 0xa0, 0xc9, 0x1e, 0xfb, 0x8b);
-
-#define MOUNTMGRCONTROLTYPE ((ULONG)'m')
-#define MOUNTDEVCONTROLTYPE ((ULONG)'M')
-
-#define MOUNTMGR_DEVICE_NAME L"\\Device\\MountPointManager"
-#define MOUNTMGR_DOS_DEVICE_NAME L"\\\\.\\MountPointManager"
-
-#define IOCTL_MOUNTMGR_CREATE_POINT \
- CTL_CODE(MOUNTMGRCONTROLTYPE, 0, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-
-#define IOCTL_MOUNTMGR_QUERY_POINTS \
- CTL_CODE(MOUNTMGRCONTROLTYPE, 2, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_MOUNTMGR_DELETE_POINTS \
- CTL_CODE(MOUNTMGRCONTROLTYPE, 1, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-
-#define IOCTL_MOUNTMGR_DELETE_POINTS_DBONLY \
- CTL_CODE(MOUNTMGRCONTROLTYPE, 3, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-
-#define IOCTL_MOUNTMGR_NEXT_DRIVE_LETTER \
- CTL_CODE(MOUNTMGRCONTROLTYPE, 4, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-
-#define IOCTL_MOUNTMGR_AUTO_DL_ASSIGNMENTS \
- CTL_CODE(MOUNTMGRCONTROLTYPE, 5, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-
-#define IOCTL_MOUNTMGR_VOLUME_MOUNT_POINT_CREATED \
- CTL_CODE(MOUNTMGRCONTROLTYPE, 6, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-
-#define IOCTL_MOUNTMGR_VOLUME_MOUNT_POINT_DELETED \
- CTL_CODE(MOUNTMGRCONTROLTYPE, 7, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-
-#define IOCTL_MOUNTMGR_CHANGE_NOTIFY \
- CTL_CODE(MOUNTMGRCONTROLTYPE, 8, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_MOUNTMGR_KEEP_LINKS_WHEN_OFFLINE \
- CTL_CODE(MOUNTMGRCONTROLTYPE, 9, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-
-#define IOCTL_MOUNTMGR_CHECK_UNPROCESSED_VOLUMES \
- CTL_CODE(MOUNTMGRCONTROLTYPE, 10, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_MOUNTMGR_VOLUME_ARRIVAL_NOTIFICATION \
- CTL_CODE(MOUNTMGRCONTROLTYPE, 11, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-
-typedef struct _MOUNTDEV_NAME {
- USHORT NameLength;
- WCHAR Name[1];
-} MOUNTDEV_NAME, *PMOUNTDEV_NAME;
-
-typedef struct _MOUNTMGR_CHANGE_NOTIFY_INFO {
- ULONG EpicNumber;
-} MOUNTMGR_CHANGE_NOTIFY_INFO, *PMOUNTMGR_CHANGE_NOTIFY_INFO;
-
-typedef struct _MOUNTMGR_CREATE_POINT_INPUT {
- USHORT SymbolicLinkNameOffset;
- USHORT SymbolicLinkNameLength;
- USHORT DeviceNameOffset;
- USHORT DeviceNameLength;
-} MOUNTMGR_CREATE_POINT_INPUT, *PMOUNTMGR_CREATE_POINT_INPUT;
-
-typedef struct _MOUNTMGR_DRIVE_LETTER_INFORMATION {
- BOOLEAN DriveLetterWasAssigned;
- UCHAR CurrentDriveLetter;
-} MOUNTMGR_DRIVE_LETTER_INFORMATION, *PMOUNTMGR_DRIVE_LETTER_INFORMATION;
-
-typedef struct _MOUNTMGR_DRIVE_LETTER_TARGET {
- USHORT DeviceNameLength;
- WCHAR DeviceName[1];
-} MOUNTMGR_DRIVE_LETTER_TARGET, *PMOUNTMGR_DRIVE_LETTER_TARGET;
-
-typedef struct _MOUNTMGR_MOUNT_POINT {
- ULONG SymbolicLinkNameOffset;
- USHORT SymbolicLinkNameLength;
- ULONG UniqueIdOffset;
- USHORT UniqueIdLength;
- ULONG DeviceNameOffset;
- USHORT DeviceNameLength;
-} MOUNTMGR_MOUNT_POINT, *PMOUNTMGR_MOUNT_POINT;
-
-typedef struct _MOUNTMGR_MOUNT_POINTS {
- ULONG Size;
- ULONG NumberOfMountPoints;
- MOUNTMGR_MOUNT_POINT MountPoints[1];
-} MOUNTMGR_MOUNT_POINTS, *PMOUNTMGR_MOUNT_POINTS;
-
-typedef struct _MOUNTMGR_TARGET_NAME {
- USHORT DeviceNameLength;
- WCHAR DeviceName[1];
-} MOUNTMGR_TARGET_NAME, *PMOUNTMGR_TARGET_NAME;
-
-typedef struct _MOUNTMGR_VOLUME_MOUNT_POINT {
- USHORT SourceVolumeNameOffset;
- USHORT SourceVolumeNameLength;
- USHORT TargetVolumeNameOffset;
- USHORT TargetVolumeNameLength;
-} MOUNTMGR_VOLUME_MOUNT_POINT, *PMOUNTMGR_VOLUME_MOUNT_POINT;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __MOUNTMGR_H */
diff --git a/winsup/w32api/include/ddk/ndis.h b/winsup/w32api/include/ddk/ndis.h
deleted file mode 100644
index 2e61beaa1..000000000
--- a/winsup/w32api/include/ddk/ndis.h
+++ /dev/null
@@ -1,5317 +0,0 @@
-/*
- * ndis.h
- *
- * Network Device Interface Specification definitions
- *
- * 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.
- *
- * DEFINES: i386 - Target platform is i386
- * _NDIS_ - Define only for NDIS library
- * NDIS_MINIPORT_DRIVER - Define only for NDIS miniport drivers
- * NDIS40 - Use NDIS 4.0 structures by default
- * NDIS50 - Use NDIS 5.0 structures by default
- * NDIS50_MINIPORT - Building NDIS 5.0 miniport driver
- * NDIS51_MINIPORT - Building NDIS 5.1 miniport driver
- */
-#ifndef __NDIS_H
-#define __NDIS_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-#include "ntddndis.h"
-#include "netpnp.h"
-#include "netevent.h"
-#include <winsock2.h>
-
-#if defined(_NDIS_)
- #define NDISAPI DECLSPEC_EXPORT
-#else
- #define NDISAPI DECLSPEC_IMPORT
-#endif
-
-#if defined(NDIS50_MINIPORT)
-#ifndef NDIS50
-#define NDIS50
-#define NDIS_MINIPORT_MAJOR_VERSION 5
-#define NDIS_MINIPORT_MINOR_VERSION 0
-#endif
-#endif /* NDIS50_MINIPORT */
-
-#if defined(NDIS51_MINIPORT)
-#ifndef NDIS51
-#define NDIS51
-#define NDIS_MINIPORT_MAJOR_VERSION 5
-#define NDIS_MINIPORT_MINOR_VERSION 1
-#endif
-#endif /* NDIS51_MINIPORT */
-
-/* NDIS 3.0 is default */
-#if !defined(NDIS30) || !defined(NDIS40) || !defined(NDIS50) || !defined(NDIS51)
-#define NDIS30
-#endif /* !NDIS30 || !NDIS40 || !NDIS50 || !NDIS51 */
-
-#if 1
-/* FIXME: */
-typedef PVOID QUEUED_CLOSE;
-#endif
-
-typedef ULONG NDIS_OID, *PNDIS_OID;
-
-typedef struct _X_FILTER FDDI_FILTER, *PFDDI_FILTER;
-typedef struct _X_FILTER TR_FILTER, *PTR_FILTER;
-typedef struct _X_FILTER NULL_FILTER, *PNULL_FILTER;
-
-typedef struct _REFERENCE {
- KSPIN_LOCK SpinLock;
- USHORT ReferenceCount;
- BOOLEAN Closing;
-} REFERENCE, * PREFERENCE;
-
-
-/* NDIS base types */
-
-typedef struct _NDIS_SPIN_LOCK {
- KSPIN_LOCK SpinLock;
- KIRQL OldIrql;
-} NDIS_SPIN_LOCK, * PNDIS_SPIN_LOCK;
-
-typedef struct _NDIS_EVENT {
- KEVENT Event;
-} NDIS_EVENT, *PNDIS_EVENT;
-
-typedef PVOID NDIS_HANDLE, *PNDIS_HANDLE;
-typedef int NDIS_STATUS, *PNDIS_STATUS;
-
-typedef ANSI_STRING NDIS_ANSI_STRING, *PNDIS_ANSI_STRING;
-typedef UNICODE_STRING NDIS_STRING, *PNDIS_STRING;
-
-typedef MDL NDIS_BUFFER, *PNDIS_BUFFER;
-typedef ULONG NDIS_ERROR_CODE, *PNDIS_ERROR_CODE;
-
-
-/* NDIS_STATUS constants */
-#define NDIS_STATUS_SUCCESS ((NDIS_STATUS)STATUS_SUCCESS)
-#define NDIS_STATUS_PENDING ((NDIS_STATUS)STATUS_PENDING)
-#define NDIS_STATUS_NOT_RECOGNIZED ((NDIS_STATUS)0x00010001L)
-#define NDIS_STATUS_NOT_COPIED ((NDIS_STATUS)0x00010002L)
-#define NDIS_STATUS_NOT_ACCEPTED ((NDIS_STATUS)0x00010003L)
-#define NDIS_STATUS_CALL_ACTIVE ((NDIS_STATUS)0x00010007L)
-#define NDIS_STATUS_ONLINE ((NDIS_STATUS)0x40010003L)
-#define NDIS_STATUS_RESET_START ((NDIS_STATUS)0x40010004L)
-#define NDIS_STATUS_RESET_END ((NDIS_STATUS)0x40010005L)
-#define NDIS_STATUS_RING_STATUS ((NDIS_STATUS)0x40010006L)
-#define NDIS_STATUS_CLOSED ((NDIS_STATUS)0x40010007L)
-#define NDIS_STATUS_WAN_LINE_UP ((NDIS_STATUS)0x40010008L)
-#define NDIS_STATUS_WAN_LINE_DOWN ((NDIS_STATUS)0x40010009L)
-#define NDIS_STATUS_WAN_FRAGMENT ((NDIS_STATUS)0x4001000AL)
-#define NDIS_STATUS_MEDIA_CONNECT ((NDIS_STATUS)0x4001000BL)
-#define NDIS_STATUS_MEDIA_DISCONNECT ((NDIS_STATUS)0x4001000CL)
-#define NDIS_STATUS_HARDWARE_LINE_UP ((NDIS_STATUS)0x4001000DL)
-#define NDIS_STATUS_HARDWARE_LINE_DOWN ((NDIS_STATUS)0x4001000EL)
-#define NDIS_STATUS_INTERFACE_UP ((NDIS_STATUS)0x4001000FL)
-#define NDIS_STATUS_INTERFACE_DOWN ((NDIS_STATUS)0x40010010L)
-#define NDIS_STATUS_MEDIA_BUSY ((NDIS_STATUS)0x40010011L)
-#define NDIS_STATUS_MEDIA_SPECIFIC_INDICATION ((NDIS_STATUS)0x40010012L)
-#define NDIS_STATUS_WW_INDICATION NDIS_STATUS_MEDIA_SPECIFIC_INDICATION
-#define NDIS_STATUS_LINK_SPEED_CHANGE ((NDIS_STATUS)0x40010013L)
-#define NDIS_STATUS_WAN_GET_STATS ((NDIS_STATUS)0x40010014L)
-#define NDIS_STATUS_WAN_CO_FRAGMENT ((NDIS_STATUS)0x40010015L)
-#define NDIS_STATUS_WAN_CO_LINKPARAMS ((NDIS_STATUS)0x40010016L)
-
-#define NDIS_STATUS_NOT_RESETTABLE ((NDIS_STATUS)0x80010001L)
-#define NDIS_STATUS_SOFT_ERRORS ((NDIS_STATUS)0x80010003L)
-#define NDIS_STATUS_HARD_ERRORS ((NDIS_STATUS)0x80010004L)
-#define NDIS_STATUS_BUFFER_OVERFLOW ((NDIS_STATUS)STATUS_BUFFER_OVERFLOW)
-
-#define NDIS_STATUS_FAILURE ((NDIS_STATUS)STATUS_UNSUCCESSFUL)
-#define NDIS_STATUS_RESOURCES ((NDIS_STATUS)STATUS_INSUFFICIENT_RESOURCES)
-#define NDIS_STATUS_CLOSING ((NDIS_STATUS)0xC0010002L)
-#define NDIS_STATUS_BAD_VERSION ((NDIS_STATUS)0xC0010004L)
-#define NDIS_STATUS_BAD_CHARACTERISTICS ((NDIS_STATUS)0xC0010005L)
-#define NDIS_STATUS_ADAPTER_NOT_FOUND ((NDIS_STATUS)0xC0010006L)
-#define NDIS_STATUS_OPEN_FAILED ((NDIS_STATUS)0xC0010007L)
-#define NDIS_STATUS_DEVICE_FAILED ((NDIS_STATUS)0xC0010008L)
-#define NDIS_STATUS_MULTICAST_FULL ((NDIS_STATUS)0xC0010009L)
-#define NDIS_STATUS_MULTICAST_EXISTS ((NDIS_STATUS)0xC001000AL)
-#define NDIS_STATUS_MULTICAST_NOT_FOUND ((NDIS_STATUS)0xC001000BL)
-#define NDIS_STATUS_REQUEST_ABORTED ((NDIS_STATUS)0xC001000CL)
-#define NDIS_STATUS_RESET_IN_PROGRESS ((NDIS_STATUS)0xC001000DL)
-#define NDIS_STATUS_CLOSING_INDICATING ((NDIS_STATUS)0xC001000EL)
-#define NDIS_STATUS_NOT_SUPPORTED ((NDIS_STATUS)STATUS_NOT_SUPPORTED)
-#define NDIS_STATUS_INVALID_PACKET ((NDIS_STATUS)0xC001000FL)
-#define NDIS_STATUS_OPEN_LIST_FULL ((NDIS_STATUS)0xC0010010L)
-#define NDIS_STATUS_ADAPTER_NOT_READY ((NDIS_STATUS)0xC0010011L)
-#define NDIS_STATUS_ADAPTER_NOT_OPEN ((NDIS_STATUS)0xC0010012L)
-#define NDIS_STATUS_NOT_INDICATING ((NDIS_STATUS)0xC0010013L)
-#define NDIS_STATUS_INVALID_LENGTH ((NDIS_STATUS)0xC0010014L)
-#define NDIS_STATUS_INVALID_DATA ((NDIS_STATUS)0xC0010015L)
-#define NDIS_STATUS_BUFFER_TOO_SHORT ((NDIS_STATUS)0xC0010016L)
-#define NDIS_STATUS_INVALID_OID ((NDIS_STATUS)0xC0010017L)
-#define NDIS_STATUS_ADAPTER_REMOVED ((NDIS_STATUS)0xC0010018L)
-#define NDIS_STATUS_UNSUPPORTED_MEDIA ((NDIS_STATUS)0xC0010019L)
-#define NDIS_STATUS_GROUP_ADDRESS_IN_USE ((NDIS_STATUS)0xC001001AL)
-#define NDIS_STATUS_FILE_NOT_FOUND ((NDIS_STATUS)0xC001001BL)
-#define NDIS_STATUS_ERROR_READING_FILE ((NDIS_STATUS)0xC001001CL)
-#define NDIS_STATUS_ALREADY_MAPPED ((NDIS_STATUS)0xC001001DL)
-#define NDIS_STATUS_RESOURCE_CONFLICT ((NDIS_STATUS)0xC001001EL)
-#define NDIS_STATUS_NO_CABLE ((NDIS_STATUS)0xC001001FL)
-
-#define NDIS_STATUS_INVALID_SAP ((NDIS_STATUS)0xC0010020L)
-#define NDIS_STATUS_SAP_IN_USE ((NDIS_STATUS)0xC0010021L)
-#define NDIS_STATUS_INVALID_ADDRESS ((NDIS_STATUS)0xC0010022L)
-#define NDIS_STATUS_VC_NOT_ACTIVATED ((NDIS_STATUS)0xC0010023L)
-#define NDIS_STATUS_DEST_OUT_OF_ORDER ((NDIS_STATUS)0xC0010024L)
-#define NDIS_STATUS_VC_NOT_AVAILABLE ((NDIS_STATUS)0xC0010025L)
-#define NDIS_STATUS_CELLRATE_NOT_AVAILABLE ((NDIS_STATUS)0xC0010026L)
-#define NDIS_STATUS_INCOMPATABLE_QOS ((NDIS_STATUS)0xC0010027L)
-#define NDIS_STATUS_AAL_PARAMS_UNSUPPORTED ((NDIS_STATUS)0xC0010028L)
-#define NDIS_STATUS_NO_ROUTE_TO_DESTINATION ((NDIS_STATUS)0xC0010029L)
-
-#define NDIS_STATUS_TOKEN_RING_OPEN_ERROR ((NDIS_STATUS)0xC0011000L)
-#define NDIS_STATUS_INVALID_DEVICE_REQUEST ((NDIS_STATUS)STATUS_INVALID_DEVICE_REQUEST)
-#define NDIS_STATUS_NETWORK_UNREACHABLE ((NDIS_STATUS)STATUS_NETWORK_UNREACHABLE)
-
-
-/* NDIS error codes for error logging */
-
-#define NDIS_ERROR_CODE_RESOURCE_CONFLICT EVENT_NDIS_RESOURCE_CONFLICT
-#define NDIS_ERROR_CODE_OUT_OF_RESOURCES EVENT_NDIS_OUT_OF_RESOURCE
-#define NDIS_ERROR_CODE_HARDWARE_FAILURE EVENT_NDIS_HARDWARE_FAILURE
-#define NDIS_ERROR_CODE_ADAPTER_NOT_FOUND EVENT_NDIS_ADAPTER_NOT_FOUND
-#define NDIS_ERROR_CODE_INTERRUPT_CONNECT EVENT_NDIS_INTERRUPT_CONNECT
-#define NDIS_ERROR_CODE_DRIVER_FAILURE EVENT_NDIS_DRIVER_FAILURE
-#define NDIS_ERROR_CODE_BAD_VERSION EVENT_NDIS_BAD_VERSION
-#define NDIS_ERROR_CODE_TIMEOUT EVENT_NDIS_TIMEOUT
-#define NDIS_ERROR_CODE_NETWORK_ADDRESS EVENT_NDIS_NETWORK_ADDRESS
-#define NDIS_ERROR_CODE_UNSUPPORTED_CONFIGURATION EVENT_NDIS_UNSUPPORTED_CONFIGURATION
-#define NDIS_ERROR_CODE_INVALID_VALUE_FROM_ADAPTER EVENT_NDIS_INVALID_VALUE_FROM_ADAPTER
-#define NDIS_ERROR_CODE_MISSING_CONFIGURATION_PARAMETER EVENT_NDIS_MISSING_CONFIGURATION_PARAMETER
-#define NDIS_ERROR_CODE_BAD_IO_BASE_ADDRESS EVENT_NDIS_BAD_IO_BASE_ADDRESS
-#define NDIS_ERROR_CODE_RECEIVE_SPACE_SMALL EVENT_NDIS_RECEIVE_SPACE_SMALL
-#define NDIS_ERROR_CODE_ADAPTER_DISABLED EVENT_NDIS_ADAPTER_DISABLED
-
-
-/* Memory allocation flags. Used by Ndis[Allocate|Free]Memory */
-#define NDIS_MEMORY_CONTIGUOUS 0x00000001
-#define NDIS_MEMORY_NONCACHED 0x00000002
-
-/* NIC attribute flags. Used by NdisMSetAttributes(Ex) */
-#define NDIS_ATTRIBUTE_IGNORE_PACKET_TIMEOUT 0x00000001
-#define NDIS_ATTRIBUTE_IGNORE_REQUEST_TIMEOUT 0x00000002
-#define NDIS_ATTRIBUTE_IGNORE_TOKEN_RING_ERRORS 0x00000004
-#define NDIS_ATTRIBUTE_BUS_MASTER 0x00000008
-#define NDIS_ATTRIBUTE_INTERMEDIATE_DRIVER 0x00000010
-#define NDIS_ATTRIBUTE_DESERIALIZE 0x00000020
-#define NDIS_ATTRIBUTE_NO_HALT_ON_SUSPEND 0x00000040
-#define NDIS_ATTRIBUTE_SURPRISE_REMOVE_OK 0x00000080
-#define NDIS_ATTRIBUTE_NOT_CO_NDIS 0x00000100
-#define NDIS_ATTRIBUTE_USES_SAFE_BUFFER_APIS 0x00000200
-
-
-/* Lock */
-
-typedef union _NDIS_RW_LOCK_REFCOUNT {
- UINT RefCount;
- UCHAR cacheLine[16];
-} NDIS_RW_LOCK_REFCOUNT;
-
-typedef struct _NDIS_RW_LOCK {
- union {
- struct {
- KSPIN_LOCK SpinLock;
- PVOID Context;
- } s;
- UCHAR Reserved[16];
- } u;
-
- NDIS_RW_LOCK_REFCOUNT RefCount[MAXIMUM_PROCESSORS];
-} NDIS_RW_LOCK, *PNDIS_RW_LOCK;
-
-typedef struct _LOCK_STATE {
- USHORT LockState;
- KIRQL OldIrql;
-} LOCK_STATE, *PLOCK_STATE;
-
-
-
-/* Timer */
-
-typedef VOID DDKAPI
-(*PNDIS_TIMER_FUNCTION)(
- /*IN*/ PVOID SystemSpecific1,
- /*IN*/ PVOID FunctionContext,
- /*IN*/ PVOID SystemSpecific2,
- /*IN*/ PVOID SystemSpecific3);
-
-typedef struct _NDIS_TIMER {
- KTIMER Timer;
- KDPC Dpc;
-} NDIS_TIMER, *PNDIS_TIMER;
-
-
-
-/* Hardware */
-
-typedef CM_MCA_POS_DATA NDIS_MCA_POS_DATA, *PNDIS_MCA_POS_DATA;
-typedef CM_EISA_SLOT_INFORMATION NDIS_EISA_SLOT_INFORMATION, *PNDIS_EISA_SLOT_INFORMATION;
-typedef CM_EISA_FUNCTION_INFORMATION NDIS_EISA_FUNCTION_INFORMATION, *PNDIS_EISA_FUNCTION_INFORMATION;
-typedef CM_PARTIAL_RESOURCE_LIST NDIS_RESOURCE_LIST, *PNDIS_RESOURCE_LIST;
-
-/* Hardware status codes (OID_GEN_HARDWARE_STATUS) */
-typedef enum _NDIS_HARDWARE_STATUS {
- NdisHardwareStatusReady,
- NdisHardwareStatusInitializing,
- NdisHardwareStatusReset,
- NdisHardwareStatusClosing,
- NdisHardwareStatusNotReady
-} NDIS_HARDWARE_STATUS, *PNDIS_HARDWARE_STATUS;
-
-/* OID_GEN_GET_TIME_CAPS */
-typedef struct _GEN_GET_TIME_CAPS {
- ULONG Flags;
- ULONG ClockPrecision;
-} GEN_GET_TIME_CAPS, *PGEN_GET_TIME_CAPS;
-
-/* Flag bits */
-#define READABLE_LOCAL_CLOCK 0x00000001
-#define CLOCK_NETWORK_DERIVED 0x00000002
-#define CLOCK_PRECISION 0x00000004
-#define RECEIVE_TIME_INDICATION_CAPABLE 0x00000008
-#define TIMED_SEND_CAPABLE 0x00000010
-#define TIME_STAMP_CAPABLE 0x00000020
-
-/* OID_GEN_GET_NETCARD_TIME */
-typedef struct _GEN_GET_NETCARD_TIME {
- ULONGLONG ReadTime;
-} GEN_GET_NETCARD_TIME, *PGEN_GET_NETCARD_TIME;
-
-/* NDIS driver medium (OID_GEN_MEDIA_SUPPORTED / OID_GEN_MEDIA_IN_USE) */
-typedef enum _NDIS_MEDIUM {
- NdisMedium802_3,
- NdisMedium802_5,
- NdisMediumFddi,
- NdisMediumWan,
- NdisMediumLocalTalk,
- NdisMediumDix,
- NdisMediumArcnetRaw,
- NdisMediumArcnet878_2,
- NdisMediumAtm,
- NdisMediumWirelessWan,
- NdisMediumIrda,
- NdisMediumBpc,
- NdisMediumCoWan,
- NdisMedium1394,
- NdisMediumMax
-} NDIS_MEDIUM, *PNDIS_MEDIUM;
-
-/* NDIS packet filter bits (OID_GEN_CURRENT_PACKET_FILTER) */
-#define NDIS_PACKET_TYPE_DIRECTED 0x00000001
-#define NDIS_PACKET_TYPE_MULTICAST 0x00000002
-#define NDIS_PACKET_TYPE_ALL_MULTICAST 0x00000004
-#define NDIS_PACKET_TYPE_BROADCAST 0x00000008
-#define NDIS_PACKET_TYPE_SOURCE_ROUTING 0x00000010
-#define NDIS_PACKET_TYPE_PROMISCUOUS 0x00000020
-#define NDIS_PACKET_TYPE_SMT 0x00000040
-#define NDIS_PACKET_TYPE_ALL_LOCAL 0x00000080
-#define NDIS_PACKET_TYPE_GROUP 0x00001000
-#define NDIS_PACKET_TYPE_ALL_FUNCTIONAL 0x00002000
-#define NDIS_PACKET_TYPE_FUNCTIONAL 0x00004000
-#define NDIS_PACKET_TYPE_MAC_FRAME 0x00008000
-
-/* NDIS protocol option bits (OID_GEN_PROTOCOL_OPTIONS) */
-#define NDIS_PROT_OPTION_ESTIMATED_LENGTH 0x00000001
-#define NDIS_PROT_OPTION_NO_LOOPBACK 0x00000002
-#define NDIS_PROT_OPTION_NO_RSVD_ON_RCVPKT 0x00000004
-
-/* NDIS MAC option bits (OID_GEN_MAC_OPTIONS) */
-#define NDIS_MAC_OPTION_COPY_LOOKAHEAD_DATA 0x00000001
-#define NDIS_MAC_OPTION_RECEIVE_SERIALIZED 0x00000002
-#define NDIS_MAC_OPTION_TRANSFERS_NOT_PEND 0x00000004
-#define NDIS_MAC_OPTION_NO_LOOPBACK 0x00000008
-#define NDIS_MAC_OPTION_FULL_DUPLEX 0x00000010
-#define NDIS_MAC_OPTION_EOTX_INDICATION 0x00000020
-#define NDIS_MAC_OPTION_8021P_PRIORITY 0x00000040
-#define NDIS_MAC_OPTION_RESERVED 0x80000000
-
-/* State of the LAN media (OID_GEN_MEDIA_CONNECT_STATUS) */
-typedef enum _NDIS_MEDIA_STATE {
- NdisMediaStateConnected,
- NdisMediaStateDisconnected
-} NDIS_MEDIA_STATE, *PNDIS_MEDIA_STATE;
-
-/* OID_GEN_SUPPORTED_GUIDS */
-typedef struct _NDIS_GUID {
- GUID Guid;
- union {
- NDIS_OID Oid;
- NDIS_STATUS Status;
- } u;
- ULONG Size;
- ULONG Flags;
-} NDIS_GUID, *PNDIS_GUID;
-
-#define NDIS_GUID_TO_OID 0x00000001
-#define NDIS_GUID_TO_STATUS 0x00000002
-#define NDIS_GUID_ANSI_STRING 0x00000004
-#define NDIS_GUID_UNICODE_STRING 0x00000008
-#define NDIS_GUID_ARRAY 0x00000010
-
-
-typedef struct _NDIS_PACKET_POOL {
- NDIS_SPIN_LOCK SpinLock;
- struct _NDIS_PACKET *FreeList;
- UINT PacketLength;
- UCHAR Buffer[1];
-} NDIS_PACKET_POOL, * PNDIS_PACKET_POOL;
-
-/* NDIS_PACKET_PRIVATE.Flags constants */
-#define fPACKET_CONTAINS_MEDIA_SPECIFIC_INFO 0x40
-#define fPACKET_ALLOCATED_BY_NDIS 0x80
-
-typedef struct _NDIS_PACKET_PRIVATE {
- UINT PhysicalCount;
- UINT TotalLength;
- PNDIS_BUFFER Head;
- PNDIS_BUFFER Tail;
- PNDIS_PACKET_POOL Pool;
- UINT Count;
- ULONG Flags;
- BOOLEAN ValidCounts;
- UCHAR NdisPacketFlags;
- USHORT NdisPacketOobOffset;
-} NDIS_PACKET_PRIVATE, * PNDIS_PACKET_PRIVATE;
-
-typedef struct _NDIS_PACKET {
- NDIS_PACKET_PRIVATE Private;
- _ANONYMOUS_UNION union {
- _ANONYMOUS_STRUCT struct {
- UCHAR MiniportReserved[2 * sizeof(PVOID)];
- UCHAR WrapperReserved[2 * sizeof(PVOID)];
- } DUMMYSTRUCTNAME;
- _ANONYMOUS_STRUCT struct {
- UCHAR MiniportReservedEx[3 * sizeof(PVOID)];
- UCHAR WrapperReservedEx[sizeof(PVOID)];
- } DUMMYSTRUCTNAME;
- _ANONYMOUS_STRUCT struct {
- UCHAR MacReserved[4 * sizeof(PVOID)];
- } DUMMYSTRUCTNAME;
- } DUMMYUNIONNAME;
- ULONG_PTR Reserved[2];
- UCHAR ProtocolReserved[1];
-} NDIS_PACKET, *PNDIS_PACKET, **PPNDIS_PACKET;
-
-typedef enum _NDIS_CLASS_ID {
- NdisClass802_3Priority,
- NdisClassWirelessWanMbxMailbox,
- NdisClassIrdaPacketInfo,
- NdisClassAtmAALInfo
-} NDIS_CLASS_ID;
-
-typedef struct MediaSpecificInformation {
- UINT NextEntryOffset;
- NDIS_CLASS_ID ClassId;
- UINT Size;
- UCHAR ClassInformation[1];
-} MEDIA_SPECIFIC_INFORMATION;
-
-typedef struct _NDIS_PACKET_OOB_DATA {
- _ANONYMOUS_UNION union {
- ULONGLONG TimeToSend;
- ULONGLONG TimeSent;
- } DUMMYUNIONNAME;
- ULONGLONG TimeReceived;
- UINT HeaderSize;
- UINT SizeMediaSpecificInfo;
- PVOID MediaSpecificInformation;
- NDIS_STATUS Status;
-} NDIS_PACKET_OOB_DATA, *PNDIS_PACKET_OOB_DATA;
-
-typedef struct _NDIS_PM_PACKET_PATTERN {
- ULONG Priority;
- ULONG Reserved;
- ULONG MaskSize;
- ULONG PatternOffset;
- ULONG PatternSize;
- ULONG PatternFlags;
-} NDIS_PM_PACKET_PATTERN, *PNDIS_PM_PACKET_PATTERN;
-
-
-/* Request types used by NdisRequest */
-typedef enum _NDIS_REQUEST_TYPE {
- NdisRequestQueryInformation,
- NdisRequestSetInformation,
- NdisRequestQueryStatistics,
- NdisRequestOpen,
- NdisRequestClose,
- NdisRequestSend,
- NdisRequestTransferData,
- NdisRequestReset,
- NdisRequestGeneric1,
- NdisRequestGeneric2,
- NdisRequestGeneric3,
- NdisRequestGeneric4
-} NDIS_REQUEST_TYPE, *PNDIS_REQUEST_TYPE;
-
-typedef struct _NDIS_REQUEST {
- UCHAR MacReserved[4 * sizeof(PVOID)];
- NDIS_REQUEST_TYPE RequestType;
- union _DATA {
- struct QUERY_INFORMATION {
- NDIS_OID Oid;
- PVOID InformationBuffer;
- UINT InformationBufferLength;
- UINT BytesWritten;
- UINT BytesNeeded;
- } QUERY_INFORMATION;
- struct SET_INFORMATION {
- NDIS_OID Oid;
- PVOID InformationBuffer;
- UINT InformationBufferLength;
- UINT BytesRead;
- UINT BytesNeeded;
- } SET_INFORMATION;
- } DATA;
-#if (defined(NDIS50) || defined(NDIS51))
- UCHAR NdisReserved[9 * sizeof(PVOID)];
- union {
- UCHAR CallMgrReserved[2 * sizeof(PVOID)];
- UCHAR ProtocolReserved[2 * sizeof(PVOID)];
- };
- UCHAR MiniportReserved[2 * sizeof(PVOID)];
-#endif
-} NDIS_REQUEST, *PNDIS_REQUEST;
-
-
-
-/* Wide Area Networks definitions */
-
-typedef struct _NDIS_WAN_PACKET {
- LIST_ENTRY WanPacketQueue;
- PUCHAR CurrentBuffer;
- ULONG CurrentLength;
- PUCHAR StartBuffer;
- PUCHAR EndBuffer;
- PVOID ProtocolReserved1;
- PVOID ProtocolReserved2;
- PVOID ProtocolReserved3;
- PVOID ProtocolReserved4;
- PVOID MacReserved1;
- PVOID MacReserved2;
- PVOID MacReserved3;
- PVOID MacReserved4;
-} NDIS_WAN_PACKET, *PNDIS_WAN_PACKET;
-
-
-
-/* DMA channel information */
-
-typedef struct _NDIS_DMA_DESCRIPTION {
- BOOLEAN DemandMode;
- BOOLEAN AutoInitialize;
- BOOLEAN DmaChannelSpecified;
- DMA_WIDTH DmaWidth;
- DMA_SPEED DmaSpeed;
- ULONG DmaPort;
- ULONG DmaChannel;
-} NDIS_DMA_DESCRIPTION, *PNDIS_DMA_DESCRIPTION;
-
-typedef struct _NDIS_DMA_BLOCK {
- PVOID MapRegisterBase;
- KEVENT AllocationEvent;
- PADAPTER_OBJECT SystemAdapterObject;
- PVOID Miniport;
- BOOLEAN InProgress;
-} NDIS_DMA_BLOCK, *PNDIS_DMA_BLOCK;
-
-
-/* Possible hardware architecture */
-typedef enum _NDIS_INTERFACE_TYPE {
- NdisInterfaceInternal = Internal,
- NdisInterfaceIsa = Isa,
- NdisInterfaceEisa = Eisa,
- NdisInterfaceMca = MicroChannel,
- NdisInterfaceTurboChannel = TurboChannel,
- NdisInterfacePci = PCIBus,
- NdisInterfacePcMcia = PCMCIABus,
- NdisInterfaceCBus = CBus,
- NdisInterfaceMPIBus = MPIBus,
- NdisInterfaceMPSABus = MPSABus,
- NdisInterfaceProcessorInternal = ProcessorInternal,
- NdisInterfaceInternalPowerBus = InternalPowerBus,
- NdisInterfacePNPISABus = PNPISABus,
- NdisInterfacePNPBus = PNPBus,
- NdisMaximumInterfaceType
-} NDIS_INTERFACE_TYPE, *PNDIS_INTERFACE_TYPE;
-
-#define NdisInterruptLevelSensitive LevelSensitive
-#define NdisInterruptLatched Latched
-typedef KINTERRUPT_MODE NDIS_INTERRUPT_MODE, *PNDIS_INTERRUPT_MODE;
-
-
-typedef enum _NDIS_PARAMETER_TYPE {
- NdisParameterInteger,
- NdisParameterHexInteger,
- NdisParameterString,
- NdisParameterMultiString,
- NdisParameterBinary
-} NDIS_PARAMETER_TYPE, *PNDIS_PARAMETER_TYPE;
-
-typedef struct {
- USHORT Length;
- PVOID Buffer;
-} BINARY_DATA;
-
-typedef struct _NDIS_CONFIGURATION_PARAMETER {
- NDIS_PARAMETER_TYPE ParameterType;
- union {
- ULONG IntegerData;
- NDIS_STRING StringData;
- BINARY_DATA BinaryData;
- } ParameterData;
-} NDIS_CONFIGURATION_PARAMETER, *PNDIS_CONFIGURATION_PARAMETER;
-
-
-typedef PHYSICAL_ADDRESS NDIS_PHYSICAL_ADDRESS, *PNDIS_PHYSICAL_ADDRESS;
-
-typedef struct _NDIS_PHYSICAL_ADDRESS_UNIT {
- NDIS_PHYSICAL_ADDRESS PhysicalAddress;
- UINT Length;
-} NDIS_PHYSICAL_ADDRESS_UNIT, *PNDIS_PHYSICAL_ADDRESS_UNIT;
-
-typedef struct _NDIS_WAN_LINE_DOWN {
- UCHAR RemoteAddress[6];
- UCHAR LocalAddress[6];
-} NDIS_WAN_LINE_DOWN, *PNDIS_WAN_LINE_DOWN;
-
-typedef struct _NDIS_WAN_LINE_UP {
- ULONG LinkSpeed;
- ULONG MaximumTotalSize;
- NDIS_WAN_QUALITY Quality;
- USHORT SendWindow;
- UCHAR RemoteAddress[6];
- /*OUT*/ UCHAR LocalAddress[6];
- ULONG ProtocolBufferLength;
- PUCHAR ProtocolBuffer;
- USHORT ProtocolType;
- NDIS_STRING DeviceName;
-} NDIS_WAN_LINE_UP, *PNDIS_WAN_LINE_UP;
-
-
-typedef VOID DDKAPI
-(*ADAPTER_SHUTDOWN_HANDLER)(
- /*IN*/ PVOID ShutdownContext);
-
-
-typedef struct _OID_LIST OID_LIST, *POID_LIST;
-
-/* PnP state */
-
-typedef enum _NDIS_PNP_DEVICE_STATE {
- NdisPnPDeviceAdded,
- NdisPnPDeviceStarted,
- NdisPnPDeviceQueryStopped,
- NdisPnPDeviceStopped,
- NdisPnPDeviceQueryRemoved,
- NdisPnPDeviceRemoved,
- NdisPnPDeviceSurpriseRemoved
-} NDIS_PNP_DEVICE_STATE;
-
-#define NDIS_DEVICE_NOT_STOPPABLE 0x00000001
-#define NDIS_DEVICE_NOT_REMOVEABLE 0x00000002
-#define NDIS_DEVICE_NOT_SUSPENDABLE 0x00000004
-#define NDIS_DEVICE_DISABLE_PM 0x00000008
-#define NDIS_DEVICE_DISABLE_WAKE_UP 0x00000010
-#define NDIS_DEVICE_DISABLE_WAKE_ON_RECONNECT 0x00000020
-#define NDIS_DEVICE_RESERVED 0x00000040
-#define NDIS_DEVICE_DISABLE_WAKE_ON_MAGIC_PACKET 0x00000080
-#define NDIS_DEVICE_DISABLE_WAKE_ON_PATTERN_MATCH 0x00000100
-
-
-/* OID_GEN_NETWORK_LAYER_ADDRESSES */
-typedef struct _NETWORK_ADDRESS {
- USHORT AddressLength;
- USHORT AddressType;
- UCHAR Address[1];
-} NETWORK_ADDRESS, *PNETWORK_ADDRESS;
-
-typedef struct _NETWORK_ADDRESS_LIST {
- LONG AddressCount;
- USHORT AddressType;
- NETWORK_ADDRESS Address[1];
-} NETWORK_ADDRESS_LIST, *PNETWORK_ADDRESS_LIST;
-
-/* Protocol types supported by NDIS */
-#define NDIS_PROTOCOL_ID_DEFAULT 0x00
-#define NDIS_PROTOCOL_ID_TCP_IP 0x02
-#define NDIS_PROTOCOL_ID_IPX 0x06
-#define NDIS_PROTOCOL_ID_NBF 0x07
-#define NDIS_PROTOCOL_ID_MAX 0x0F
-#define NDIS_PROTOCOL_ID_MASK 0x0F
-
-
-/* OID_GEN_TRANSPORT_HEADER_OFFSET */
-typedef struct _TRANSPORT_HEADER_OFFSET {
- USHORT ProtocolType;
- USHORT HeaderOffset;
-} TRANSPORT_HEADER_OFFSET, *PTRANSPORT_HEADER_OFFSET;
-
-
-/* OID_GEN_CO_LINK_SPEED / OID_GEN_CO_MINIMUM_LINK_SPEED */
-typedef struct _NDIS_CO_LINK_SPEED {
- ULONG Outbound;
- ULONG Inbound;
-} NDIS_CO_LINK_SPEED, *PNDIS_CO_LINK_SPEED;
-
-typedef ULONG NDIS_AF, *PNDIS_AF;
-#define CO_ADDRESS_FAMILY_Q2931 ((NDIS_AF)0x1)
-#define CO_ADDRESS_FAMILY_PSCHED ((NDIS_AF)0x2)
-#define CO_ADDRESS_FAMILY_L2TP ((NDIS_AF)0x3)
-#define CO_ADDRESS_FAMILY_IRDA ((NDIS_AF)0x4)
-#define CO_ADDRESS_FAMILY_1394 ((NDIS_AF)0x5)
-#define CO_ADDRESS_FAMILY_PPP ((NDIS_AF)0x6)
-#define CO_ADDRESS_FAMILY_TAPI ((NDIS_AF)0x800)
-#define CO_ADDRESS_FAMILY_TAPI_PROXY ((NDIS_AF)0x801)
-
-#define CO_ADDRESS_FAMILY_PROXY 0x80000000
-
-typedef struct {
- NDIS_AF AddressFamily;
- ULONG MajorVersion;
- ULONG MinorVersion;
-} CO_ADDRESS_FAMILY, *PCO_ADDRESS_FAMILY;
-
-typedef struct _CO_FLOW_PARAMETERS {
- ULONG TokenRate;
- ULONG TokenBucketSize;
- ULONG PeakBandwidth;
- ULONG Latency;
- ULONG DelayVariation;
- SERVICETYPE ServiceType;
- ULONG MaxSduSize;
- ULONG MinimumPolicedSize;
-} CO_FLOW_PARAMETERS, *PCO_FLOW_PARAMETERS;
-
-typedef struct _CO_SPECIFIC_PARAMETERS {
- ULONG ParamType;
- ULONG Length;
- UCHAR Parameters[1];
-} CO_SPECIFIC_PARAMETERS, *PCO_SPECIFIC_PARAMETERS;
-
-typedef struct _CO_CALL_MANAGER_PARAMETERS {
- CO_FLOW_PARAMETERS Transmit;
- CO_FLOW_PARAMETERS Receive;
- CO_SPECIFIC_PARAMETERS CallMgrSpecific;
-} CO_CALL_MANAGER_PARAMETERS, *PCO_CALL_MANAGER_PARAMETERS;
-
-/* CO_MEDIA_PARAMETERS.Flags constants */
-#define RECEIVE_TIME_INDICATION 0x00000001
-#define USE_TIME_STAMPS 0x00000002
-#define TRANSMIT_VC 0x00000004
-#define RECEIVE_VC 0x00000008
-#define INDICATE_ERRED_PACKETS 0x00000010
-#define INDICATE_END_OF_TX 0x00000020
-#define RESERVE_RESOURCES_VC 0x00000040
-#define ROUND_DOWN_FLOW 0x00000080
-#define ROUND_UP_FLOW 0x00000100
-
-typedef struct _CO_MEDIA_PARAMETERS {
- ULONG Flags;
- ULONG ReceivePriority;
- ULONG ReceiveSizeHint;
- CO_SPECIFIC_PARAMETERS MediaSpecific;
-} CO_MEDIA_PARAMETERS, *PCO_MEDIA_PARAMETERS;
-
-/* CO_CALL_PARAMETERS.Flags constants */
-#define PERMANENT_VC 0x00000001
-#define CALL_PARAMETERS_CHANGED 0x00000002
-#define QUERY_CALL_PARAMETERS 0x00000004
-#define BROADCAST_VC 0x00000008
-#define MULTIPOINT_VC 0x00000010
-
-typedef struct _CO_CALL_PARAMETERS {
- ULONG Flags;
- PCO_CALL_MANAGER_PARAMETERS CallMgrParameters;
- PCO_MEDIA_PARAMETERS MediaParameters;
-} CO_CALL_PARAMETERS, *PCO_CALL_PARAMETERS;
-
-typedef struct _CO_SAP {
- ULONG SapType;
- ULONG SapLength;
- UCHAR Sap[1];
-} CO_SAP, *PCO_SAP;
-
-typedef struct _NDIS_IPSEC_PACKET_INFO {
- _ANONYMOUS_UNION union {
- struct {
- NDIS_HANDLE OffloadHandle;
- NDIS_HANDLE NextOffloadHandle;
- } Transmit;
- struct {
- ULONG SA_DELETE_REQ : 1;
- ULONG CRYPTO_DONE : 1;
- ULONG NEXT_CRYPTO_DONE : 1;
- ULONG CryptoStatus;
- } Receive;
- } DUMMYUNIONNAME;
-} NDIS_IPSEC_PACKET_INFO, *PNDIS_IPSEC_PACKET_INFO;
-
-/* NDIS_MAC_FRAGMENT.Errors constants */
-#define WAN_ERROR_CRC 0x00000001
-#define WAN_ERROR_FRAMING 0x00000002
-#define WAN_ERROR_HARDWAREOVERRUN 0x00000004
-#define WAN_ERROR_BUFFEROVERRUN 0x00000008
-#define WAN_ERROR_TIMEOUT 0x00000010
-#define WAN_ERROR_ALIGNMENT 0x00000020
-
-typedef struct _NDIS_MAC_FRAGMENT {
- NDIS_HANDLE NdisLinkContext;
- ULONG Errors;
-} NDIS_MAC_FRAGMENT, *PNDIS_MAC_FRAGMENT;
-
-typedef struct _NDIS_MAC_LINE_DOWN {
- NDIS_HANDLE NdisLinkContext;
-} NDIS_MAC_LINE_DOWN, *PNDIS_MAC_LINE_DOWN;
-
-typedef struct _NDIS_MAC_LINE_UP {
- ULONG LinkSpeed;
- NDIS_WAN_QUALITY Quality;
- USHORT SendWindow;
- NDIS_HANDLE ConnectionWrapperID;
- NDIS_HANDLE NdisLinkHandle;
- NDIS_HANDLE NdisLinkContext;
-} NDIS_MAC_LINE_UP, *PNDIS_MAC_LINE_UP;
-
-typedef struct _NDIS_PACKET_8021Q_INFO {
- _ANONYMOUS_UNION union {
- struct {
- UINT32 UserPriority : 3;
- UINT32 CanonicalFormatId : 1;
- UINT32 VlanId : 12;
- UINT32 Reserved : 16;
- } TagHeader;
- PVOID Value;
- } DUMMYUNIONNAME;
-} NDIS_PACKET_8021Q_INFO, *PNDIS_PACKET_8021Q_INFO;
-
-typedef enum _NDIS_PER_PACKET_INFO {
- TcpIpChecksumPacketInfo,
- IpSecPacketInfo,
- TcpLargeSendPacketInfo,
- ClassificationHandlePacketInfo,
- NdisReserved,
- ScatterGatherListPacketInfo,
- Ieee8021QInfo,
- OriginalPacketInfo,
- PacketCancelId,
- MaxPerPacketInfo
-} NDIS_PER_PACKET_INFO, *PNDIS_PER_PACKET_INFO;
-
-typedef struct _NDIS_PACKET_EXTENSION {
- PVOID NdisPacketInfo[MaxPerPacketInfo];
-} NDIS_PACKET_EXTENSION, *PNDIS_PACKET_EXTENSION;
-
-/*
- * PNDIS_PACKET
- * NDIS_GET_ORIGINAL_PACKET(
- * IN PNDIS_PACKET Packet);
- */
-#define NDIS_GET_ORIGINAL_PACKET(Packet) \
- NDIS_PER_PACKET_INFO_FROM_PACKET(Packet, OriginalPacketInfo)
-
-/*
- * PVOID
- * NDIS_GET_PACKET_CANCEL_ID(
- * IN PNDIS_PACKET Packet);
- */
-#define NDIS_GET_PACKET_CANCEL_ID(Packet) \
- NDIS_PER_PACKET_INFO_FROM_PACKET(Packet, PacketCancelId)
-
-/*
- * PNDIS_PACKET_EXTENSION
- * NDIS_PACKET_EXTENSION_FROM_PACKET(
- * IN PNDIS_PACKET Packet);
- */
-#define NDIS_PACKET_EXTENSION_FROM_PACKET(Packet) \
- ((PNDIS_PACKET_EXTENSION)((PUCHAR)(Packet) \
- + (Packet)->Private.NdisPacketOobOffset + sizeof(NDIS_PACKET_OOB_DATA)))
-
-/*
- * PVOID
- * NDIS_PER_PACKET_INFO_FROM_PACKET(
- * IN OUT PNDIS_PACKET Packet,
- * IN NDIS_PER_PACKET_INFO InfoType);
- */
-#define NDIS_PER_PACKET_INFO_FROM_PACKET(Packet, InfoType) \
- ((PNDIS_PACKET_EXTENSION)((PUCHAR)(Packet) + (Packet)->Private.NdisPacketOobOffset \
- + sizeof(NDIS_PACKET_OOB_DATA)))->NdisPacketInfo[(InfoType)]
-
-/*
- * VOID
- * NDIS_SET_ORIGINAL_PACKET(
- * IN OUT PNDIS_PACKET Packet,
- * IN PNDIS_PACKET OriginalPacket);
- */
-#define NDIS_SET_ORIGINAL_PACKET(Packet, OriginalPacket) \
- NDIS_PER_PACKET_INFO_FROM_PACKET(Packet, OriginalPacketInfo) = (OriginalPacket)
-
-/*
- * VOID
- * NDIS_SET_PACKET_CANCEL_ID(
- * IN PNDIS_PACKET Packet
- * IN ULONG_PTR CancelId);
- */
-#define NDIS_SET_PACKET_CANCEL_ID(Packet, CancelId) \
- NDIS_PER_PACKET_INFO_FROM_PACKET(Packet, PacketCancelId) = (CancelId)
-
-typedef enum _NDIS_TASK {
- TcpIpChecksumNdisTask,
- IpSecNdisTask,
- TcpLargeSendNdisTask,
- MaxNdisTask
-} NDIS_TASK, *PNDIS_TASK;
-
-typedef struct _NDIS_TASK_IPSEC {
- struct {
- ULONG AH_ESP_COMBINED;
- ULONG TRANSPORT_TUNNEL_COMBINED;
- ULONG V4_OPTIONS;
- ULONG RESERVED;
- } Supported;
-
- struct {
- ULONG MD5 : 1;
- ULONG SHA_1 : 1;
- ULONG Transport : 1;
- ULONG Tunnel : 1;
- ULONG Send : 1;
- ULONG Receive : 1;
- } V4AH;
-
- struct {
- ULONG DES : 1;
- ULONG RESERVED : 1;
- ULONG TRIPLE_DES : 1;
- ULONG NULL_ESP : 1;
- ULONG Transport : 1;
- ULONG Tunnel : 1;
- ULONG Send : 1;
- ULONG Receive : 1;
- } V4ESP;
-} NDIS_TASK_IPSEC, *PNDIS_TASK_IPSEC;
-
-typedef enum _NDIS_ENCAPSULATION {
- UNSPECIFIED_Encapsulation,
- NULL_Encapsulation,
- IEEE_802_3_Encapsulation,
- IEEE_802_5_Encapsulation,
- LLC_SNAP_ROUTED_Encapsulation,
- LLC_SNAP_BRIDGED_Encapsulation
-} NDIS_ENCAPSULATION;
-
-typedef struct _NDIS_ENCAPSULATION_FORMAT {
- NDIS_ENCAPSULATION Encapsulation;
- struct {
- ULONG FixedHeaderSize : 1;
- ULONG Reserved : 31;
- } Flags;
- ULONG EncapsulationHeaderSize;
-} NDIS_ENCAPSULATION_FORMAT, *PNDIS_ENCAPSULATION_FORMAT;
-
-typedef struct _NDIS_TASK_OFFLOAD_HEADER
-{
- ULONG Version;
- ULONG Size;
- ULONG Reserved;
- UCHAR OffsetFirstTask;
- NDIS_ENCAPSULATION_FORMAT EncapsulationFormat;
-} NDIS_TASK_OFFLOAD_HEADER, *PNDIS_TASK_OFFLOAD_HEADER;
-
-typedef struct _NDIS_TASK_OFFLOAD {
- ULONG Version;
- ULONG Size;
- NDIS_TASK Task;
- ULONG OffsetNextTask;
- ULONG TaskBufferLength;
- UCHAR TaskBuffer[1];
-} NDIS_TASK_OFFLOAD, *PNDIS_TASK_OFFLOAD;
-
-/* NDIS_TASK_OFFLOAD_HEADER.Version constants */
-#define NDIS_TASK_OFFLOAD_VERSION 1
-
-typedef struct _NDIS_TASK_TCP_IP_CHECKSUM {
- struct {
- ULONG IpOptionsSupported:1;
- ULONG TcpOptionsSupported:1;
- ULONG TcpChecksum:1;
- ULONG UdpChecksum:1;
- ULONG IpChecksum:1;
- } V4Transmit;
-
- struct {
- ULONG IpOptionsSupported : 1;
- ULONG TcpOptionsSupported : 1;
- ULONG TcpChecksum : 1;
- ULONG UdpChecksum : 1;
- ULONG IpChecksum : 1;
- } V4Receive;
-
- struct {
- ULONG IpOptionsSupported : 1;
- ULONG TcpOptionsSupported : 1;
- ULONG TcpChecksum : 1;
- ULONG UdpChecksum : 1;
- } V6Transmit;
-
- struct {
- ULONG IpOptionsSupported : 1;
- ULONG TcpOptionsSupported : 1;
- ULONG TcpChecksum : 1;
- ULONG UdpChecksum : 1;
- } V6Receive;
-} NDIS_TASK_TCP_IP_CHECKSUM, *PNDIS_TASK_TCP_IP_CHECKSUM;
-
-typedef struct _NDIS_TASK_TCP_LARGE_SEND {
- ULONG Version;
- ULONG MaxOffLoadSize;
- ULONG MinSegmentCount;
- BOOLEAN TcpOptions;
- BOOLEAN IpOptions;
-} NDIS_TASK_TCP_LARGE_SEND, *PNDIS_TASK_TCP_LARGE_SEND;
-
-typedef struct _NDIS_TCP_IP_CHECKSUM_PACKET_INFO {
- _ANONYMOUS_UNION union {
- struct {
- ULONG NdisPacketChecksumV4 : 1;
- ULONG NdisPacketChecksumV6 : 1;
- ULONG NdisPacketTcpChecksum : 1;
- ULONG NdisPacketUdpChecksum : 1;
- ULONG NdisPacketIpChecksum : 1;
- } Transmit;
-
- struct {
- ULONG NdisPacketTcpChecksumFailed : 1;
- ULONG NdisPacketUdpChecksumFailed : 1;
- ULONG NdisPacketIpChecksumFailed : 1;
- ULONG NdisPacketTcpChecksumSucceeded : 1;
- ULONG NdisPacketUdpChecksumSucceeded : 1;
- ULONG NdisPacketIpChecksumSucceeded : 1;
- ULONG NdisPacketLoopback : 1;
- } Receive;
- ULONG Value;
- } DUMMYUNIONNAME;
-} NDIS_TCP_IP_CHECKSUM_PACKET_INFO, *PNDIS_TCP_IP_CHECKSUM_PACKET_INFO;
-
-typedef struct _NDIS_WAN_CO_FRAGMENT {
- ULONG Errors;
-} NDIS_WAN_CO_FRAGMENT, *PNDIS_WAN_CO_FRAGMENT;
-
-typedef struct _NDIS_WAN_FRAGMENT {
- UCHAR RemoteAddress[6];
- UCHAR LocalAddress[6];
-} NDIS_WAN_FRAGMENT, *PNDIS_WAN_FRAGMENT;
-
-typedef struct _WAN_CO_LINKPARAMS {
- ULONG TransmitSpeed;
- ULONG ReceiveSpeed;
- ULONG SendWindow;
-} WAN_CO_LINKPARAMS, *PWAN_CO_LINKPARAMS;
-
-
-/* Call Manager */
-
-typedef VOID DDKAPI
-(*CM_ACTIVATE_VC_COMPLETE_HANDLER)(
- /*IN*/ NDIS_STATUS Status,
- /*IN*/ NDIS_HANDLE CallMgrVcContext,
- /*IN*/ PCO_CALL_PARAMETERS CallParameters);
-
-typedef NDIS_STATUS DDKAPI
-(*CM_ADD_PARTY_HANDLER)(
- /*IN*/ NDIS_HANDLE CallMgrVcContext,
- /*IN OUT*/ PCO_CALL_PARAMETERS CallParameters,
- /*IN*/ NDIS_HANDLE NdisPartyHandle,
- /*OUT*/ PNDIS_HANDLE CallMgrPartyContext);
-
-typedef NDIS_STATUS DDKAPI
-(*CM_CLOSE_AF_HANDLER)(
- /*IN*/ NDIS_HANDLE CallMgrAfContext);
-
-typedef NDIS_STATUS DDKAPI
-(*CM_CLOSE_CALL_HANDLER)(
- /*IN*/ NDIS_HANDLE CallMgrVcContext,
- /*IN*/ NDIS_HANDLE CallMgrPartyContext /*OPTIONAL*/,
- /*IN*/ PVOID CloseData /*OPTIONAL*/,
- /*IN*/ UINT Size /*OPTIONAL*/);
-
-typedef NDIS_STATUS DDKAPI
-(*CM_DEREG_SAP_HANDLER)(
- /*IN*/ NDIS_HANDLE CallMgrSapContext);
-
-typedef VOID DDKAPI
-(*CM_DEACTIVATE_VC_COMPLETE_HANDLER)(
- /*IN*/ NDIS_STATUS Status,
- /*IN*/ NDIS_HANDLE CallMgrVcContext);
-
-typedef NDIS_STATUS DDKAPI
-(*CM_DROP_PARTY_HANDLER)(
- /*IN*/ NDIS_HANDLE CallMgrPartyContext,
- /*IN*/ PVOID CloseData /*OPTIONAL*/,
- /*IN*/ UINT Size /*OPTIONAL*/);
-
-typedef VOID DDKAPI
-(*CM_INCOMING_CALL_COMPLETE_HANDLER)(
- /*IN*/ NDIS_STATUS Status,
- /*IN*/ NDIS_HANDLE CallMgrVcContext,
- /*IN*/ PCO_CALL_PARAMETERS CallParameters);
-
-typedef NDIS_STATUS DDKAPI
-(*CM_MAKE_CALL_HANDLER)(
- /*IN*/ NDIS_HANDLE CallMgrVcContext,
- /*IN OUT*/ PCO_CALL_PARAMETERS CallParameters,
- /*IN*/ NDIS_HANDLE NdisPartyHandle /*OPTIONAL*/,
- /*OUT*/ PNDIS_HANDLE CallMgrPartyContext /*OPTIONAL*/);
-
-typedef NDIS_STATUS DDKAPI
-(*CM_MODIFY_CALL_QOS_HANDLER)(
- /*IN*/ NDIS_HANDLE CallMgrVcContext,
- /*IN*/ PCO_CALL_PARAMETERS CallParameters);
-
-typedef NDIS_STATUS DDKAPI
-(*CM_OPEN_AF_HANDLER)(
- /*IN*/ NDIS_HANDLE CallMgrBindingContext,
- /*IN*/ PCO_ADDRESS_FAMILY AddressFamily,
- /*IN*/ NDIS_HANDLE NdisAfHandle,
- /*OUT*/ PNDIS_HANDLE CallMgrAfContext);
-
-typedef NDIS_STATUS DDKAPI
-(*CM_REG_SAP_HANDLER)(
- /*IN*/ NDIS_HANDLE CallMgrAfContext,
- /*IN*/ PCO_SAP Sap,
- /*IN*/ NDIS_HANDLE NdisSapHandle,
- /*OUT*/ PNDIS_HANDLE CallMgrSapContext);
-
-typedef NDIS_STATUS DDKAPI
-(*CO_CREATE_VC_HANDLER)(
- /*IN*/ NDIS_HANDLE ProtocolAfContext,
- /*IN*/ NDIS_HANDLE NdisVcHandle,
- /*OUT*/ PNDIS_HANDLE ProtocolVcContext);
-
-typedef NDIS_STATUS DDKAPI
-(*CO_DELETE_VC_HANDLER)(
- /*IN*/ NDIS_HANDLE ProtocolVcContext);
-
-typedef VOID DDKAPI
-(*CO_REQUEST_COMPLETE_HANDLER)(
- /*IN*/ NDIS_STATUS Status,
- /*IN*/ NDIS_HANDLE ProtocolAfContext /*OPTIONAL*/,
- /*IN*/ NDIS_HANDLE ProtocolVcContext /*OPTIONAL*/,
- /*IN*/ NDIS_HANDLE ProtocolPartyContext /*OPTIONAL*/,
- /*IN*/ PNDIS_REQUEST NdisRequest);
-
-typedef NDIS_STATUS DDKAPI
-(*CO_REQUEST_HANDLER)(
- /*IN*/ NDIS_HANDLE ProtocolAfContext,
- /*IN*/ NDIS_HANDLE ProtocolVcContext /*OPTIONAL*/,
- /*IN*/ NDIS_HANDLE ProtocolPartyContext /*OPTIONAL*/,
- /*IN OUT*/ PNDIS_REQUEST NdisRequest);
-
-typedef struct _NDIS_CALL_MANAGER_CHARACTERISTICS {
- UCHAR MajorVersion;
- UCHAR MinorVersion;
- USHORT Filler;
- UINT Reserved;
- CO_CREATE_VC_HANDLER CmCreateVcHandler;
- CO_DELETE_VC_HANDLER CmDeleteVcHandler;
- CM_OPEN_AF_HANDLER CmOpenAfHandler;
- CM_CLOSE_AF_HANDLER CmCloseAfHandler;
- CM_REG_SAP_HANDLER CmRegisterSapHandler;
- CM_DEREG_SAP_HANDLER CmDeregisterSapHandler;
- CM_MAKE_CALL_HANDLER CmMakeCallHandler;
- CM_CLOSE_CALL_HANDLER CmCloseCallHandler;
- CM_INCOMING_CALL_COMPLETE_HANDLER CmIncomingCallCompleteHandler;
- CM_ADD_PARTY_HANDLER CmAddPartyHandler;
- CM_DROP_PARTY_HANDLER CmDropPartyHandler;
- CM_ACTIVATE_VC_COMPLETE_HANDLER CmActivateVcCompleteHandler;
- CM_DEACTIVATE_VC_COMPLETE_HANDLER CmDeactivateVcCompleteHandler;
- CM_MODIFY_CALL_QOS_HANDLER CmModifyCallQoSHandler;
- CO_REQUEST_HANDLER CmRequestHandler;
- CO_REQUEST_COMPLETE_HANDLER CmRequestCompleteHandler;
-} NDIS_CALL_MANAGER_CHARACTERISTICS, *PNDIS_CALL_MANAGER_CHARACTERISTICS;
-
-
-
-/* Call Manager clients */
-
-typedef VOID (*CL_OPEN_AF_COMPLETE_HANDLER)(
- /*IN*/ NDIS_STATUS Status,
- /*IN*/ NDIS_HANDLE ProtocolAfContext,
- /*IN*/ NDIS_HANDLE NdisAfHandle);
-
-typedef VOID DDKAPI
-(*CL_CLOSE_AF_COMPLETE_HANDLER)(
- /*IN*/ NDIS_STATUS Status,
- /*IN*/ NDIS_HANDLE ProtocolAfContext);
-
-typedef VOID DDKAPI
-(*CL_REG_SAP_COMPLETE_HANDLER)(
- /*IN*/ NDIS_STATUS Status,
- /*IN*/ NDIS_HANDLE ProtocolSapContext,
- /*IN*/ PCO_SAP Sap,
- /*IN*/ NDIS_HANDLE NdisSapHandle);
-
-typedef VOID DDKAPI
-(*CL_DEREG_SAP_COMPLETE_HANDLER)(
- /*IN*/ NDIS_STATUS Status,
- /*IN*/ NDIS_HANDLE ProtocolSapContext);
-
-typedef VOID DDKAPI
-(*CL_MAKE_CALL_COMPLETE_HANDLER)(
- /*IN*/ NDIS_STATUS Status,
- /*IN*/ NDIS_HANDLE ProtocolVcContext,
- /*IN*/ NDIS_HANDLE NdisPartyHandle /*OPTIONAL*/,
- /*IN*/ PCO_CALL_PARAMETERS CallParameters);
-
-typedef VOID DDKAPI
-(*CL_MODIFY_CALL_QOS_COMPLETE_HANDLER)(
- /*IN*/ NDIS_STATUS Status,
- /*IN*/ NDIS_HANDLE ProtocolVcContext,
- /*IN*/ PCO_CALL_PARAMETERS CallParameters);
-
-typedef VOID DDKAPI
-(*CL_CLOSE_CALL_COMPLETE_HANDLER)(
- /*IN*/ NDIS_STATUS Status,
- /*IN*/ NDIS_HANDLE ProtocolVcContext,
- /*IN*/ NDIS_HANDLE ProtocolPartyContext /*OPTIONAL*/);
-
-typedef VOID DDKAPI
-(*CL_ADD_PARTY_COMPLETE_HANDLER)(
- /*IN*/ NDIS_STATUS Status,
- /*IN*/ NDIS_HANDLE ProtocolPartyContext,
- /*IN*/ NDIS_HANDLE NdisPartyHandle,
- /*IN*/ PCO_CALL_PARAMETERS CallParameters);
-
-typedef VOID DDKAPI
-(*CL_DROP_PARTY_COMPLETE_HANDLER)(
- /*IN*/ NDIS_STATUS Status,
- /*IN*/ NDIS_HANDLE ProtocolPartyContext);
-
-typedef NDIS_STATUS DDKAPI
-(*CL_INCOMING_CALL_HANDLER)(
- /*IN*/ NDIS_HANDLE ProtocolSapContext,
- /*IN*/ NDIS_HANDLE ProtocolVcContext,
- /*IN OUT*/ PCO_CALL_PARAMETERS CallParameters);
-
-typedef VOID DDKAPI
-(*CL_INCOMING_CALL_QOS_CHANGE_HANDLER)(
- /*IN*/ NDIS_HANDLE ProtocolVcContext,
- /*IN*/ PCO_CALL_PARAMETERS CallParameters);
-
-typedef VOID DDKAPI
-(*CL_INCOMING_CLOSE_CALL_HANDLER)(
- /*IN*/ NDIS_STATUS CloseStatus,
- /*IN*/ NDIS_HANDLE ProtocolVcContext,
- /*IN*/ PVOID CloseData /*OPTIONAL*/,
- /*IN*/ UINT Size /*OPTIONAL*/);
-
-typedef VOID DDKAPI
-(*CL_INCOMING_DROP_PARTY_HANDLER)(
- /*IN*/ NDIS_STATUS DropStatus,
- /*IN*/ NDIS_HANDLE ProtocolPartyContext,
- /*IN*/ PVOID CloseData /*OPTIONAL*/,
- /*IN*/ UINT Size /*OPTIONAL*/);
-
-typedef VOID DDKAPI
-(*CL_CALL_CONNECTED_HANDLER)(
- /*IN*/ NDIS_HANDLE ProtocolVcContext);
-
-
-typedef struct _NDIS_CLIENT_CHARACTERISTICS {
- UCHAR MajorVersion;
- UCHAR MinorVersion;
- USHORT Filler;
- UINT Reserved;
- CO_CREATE_VC_HANDLER ClCreateVcHandler;
- CO_DELETE_VC_HANDLER ClDeleteVcHandler;
- CO_REQUEST_HANDLER ClRequestHandler;
- CO_REQUEST_COMPLETE_HANDLER ClRequestCompleteHandler;
- CL_OPEN_AF_COMPLETE_HANDLER ClOpenAfCompleteHandler;
- CL_CLOSE_AF_COMPLETE_HANDLER ClCloseAfCompleteHandler;
- CL_REG_SAP_COMPLETE_HANDLER ClRegisterSapCompleteHandler;
- CL_DEREG_SAP_COMPLETE_HANDLER ClDeregisterSapCompleteHandler;
- CL_MAKE_CALL_COMPLETE_HANDLER ClMakeCallCompleteHandler;
- CL_MODIFY_CALL_QOS_COMPLETE_HANDLER ClModifyCallQoSCompleteHandler;
- CL_CLOSE_CALL_COMPLETE_HANDLER ClCloseCallCompleteHandler;
- CL_ADD_PARTY_COMPLETE_HANDLER ClAddPartyCompleteHandler;
- CL_DROP_PARTY_COMPLETE_HANDLER ClDropPartyCompleteHandler;
- CL_INCOMING_CALL_HANDLER ClIncomingCallHandler;
- CL_INCOMING_CALL_QOS_CHANGE_HANDLER ClIncomingCallQoSChangeHandler;
- CL_INCOMING_CLOSE_CALL_HANDLER ClIncomingCloseCallHandler;
- CL_INCOMING_DROP_PARTY_HANDLER ClIncomingDropPartyHandler;
- CL_CALL_CONNECTED_HANDLER ClCallConnectedHandler;
-} NDIS_CLIENT_CHARACTERISTICS, *PNDIS_CLIENT_CHARACTERISTICS;
-
-
-/* NDIS protocol structures */
-
-/* Prototypes for NDIS 3.0 protocol characteristics */
-
-typedef VOID DDKAPI
-(*OPEN_ADAPTER_COMPLETE_HANDLER)(
- /*IN*/ NDIS_HANDLE ProtocolBindingContext,
- /*IN*/ NDIS_STATUS Status,
- /*IN*/ NDIS_STATUS OpenErrorStatus);
-
-typedef VOID DDKAPI
-(*CLOSE_ADAPTER_COMPLETE_HANDLER)(
- /*IN*/ NDIS_HANDLE ProtocolBindingContext,
- /*IN*/ NDIS_STATUS Status);
-
-typedef VOID DDKAPI
-(*RESET_COMPLETE_HANDLER)(
- /*IN*/ NDIS_HANDLE ProtocolBindingContext,
- /*IN*/ NDIS_STATUS Status);
-
-typedef VOID DDKAPI
-(*REQUEST_COMPLETE_HANDLER)(
- /*IN*/ NDIS_HANDLE ProtocolBindingContext,
- /*IN*/ PNDIS_REQUEST NdisRequest,
- /*IN*/ NDIS_STATUS Status);
-
-typedef VOID DDKAPI
-(*STATUS_HANDLER)(
- /*IN*/ NDIS_HANDLE ProtocolBindingContext,
- /*IN*/ NDIS_STATUS GeneralStatus,
- /*IN*/ PVOID StatusBuffer,
- /*IN*/ UINT StatusBufferSize);
-
-typedef VOID DDKAPI
-(*STATUS_COMPLETE_HANDLER)(
- /*IN*/ NDIS_HANDLE ProtocolBindingContext);
-
-typedef VOID DDKAPI
-(*SEND_COMPLETE_HANDLER)(
- /*IN*/ NDIS_HANDLE ProtocolBindingContext,
- /*IN*/ PNDIS_PACKET Packet,
- /*IN*/ NDIS_STATUS Status);
-
-typedef VOID DDKAPI
-(*WAN_SEND_COMPLETE_HANDLER)(
- /*IN*/ NDIS_HANDLE ProtocolBindingContext,
- /*IN*/ PNDIS_WAN_PACKET Packet,
- /*IN*/ NDIS_STATUS Status);
-
-typedef VOID DDKAPI
-(*TRANSFER_DATA_COMPLETE_HANDLER)(
- /*IN*/ NDIS_HANDLE ProtocolBindingContext,
- /*IN*/ PNDIS_PACKET Packet,
- /*IN*/ NDIS_STATUS Status,
- /*IN*/ UINT BytesTransferred);
-
-typedef VOID DDKAPI
-(*WAN_TRANSFER_DATA_COMPLETE_HANDLER)(
- VOID);
-
-
-typedef NDIS_STATUS DDKAPI
-(*RECEIVE_HANDLER)(
- /*IN*/ NDIS_HANDLE ProtocolBindingContext,
- /*IN*/ NDIS_HANDLE MacReceiveContext,
- /*IN*/ PVOID HeaderBuffer,
- /*IN*/ UINT HeaderBufferSize,
- /*IN*/ PVOID LookAheadBuffer,
- /*IN*/ UINT LookaheadBufferSize,
- /*IN*/ UINT PacketSize);
-
-typedef NDIS_STATUS DDKAPI
-(*WAN_RECEIVE_HANDLER)(
- /*IN*/ NDIS_HANDLE NdisLinkHandle,
- /*IN*/ PUCHAR Packet,
- /*IN*/ ULONG PacketSize);
-
-typedef VOID DDKAPI
-(*RECEIVE_COMPLETE_HANDLER)(
- /*IN*/ NDIS_HANDLE ProtocolBindingContext);
-
-
-/* Protocol characteristics for NDIS 3.0 protocols */
-
-#define NDIS30_PROTOCOL_CHARACTERISTICS_S \
- UCHAR MajorNdisVersion; \
- UCHAR MinorNdisVersion; \
- _ANONYMOUS_UNION union { \
- UINT Reserved; \
- UINT Flags; \
- } DUMMYUNIONNAME; \
- OPEN_ADAPTER_COMPLETE_HANDLER OpenAdapterCompleteHandler; \
- CLOSE_ADAPTER_COMPLETE_HANDLER CloseAdapterCompleteHandler; \
- _ANONYMOUS_UNION union { \
- SEND_COMPLETE_HANDLER SendCompleteHandler; \
- WAN_SEND_COMPLETE_HANDLER WanSendCompleteHandler; \
- } DUMMYUNIONNAME2; \
- _ANONYMOUS_UNION union { \
- TRANSFER_DATA_COMPLETE_HANDLER TransferDataCompleteHandler; \
- WAN_TRANSFER_DATA_COMPLETE_HANDLER WanTransferDataCompleteHandler; \
- } DUMMYUNIONNAME3; \
- RESET_COMPLETE_HANDLER ResetCompleteHandler; \
- REQUEST_COMPLETE_HANDLER RequestCompleteHandler; \
- _ANONYMOUS_UNION union { \
- RECEIVE_HANDLER ReceiveHandler; \
- WAN_RECEIVE_HANDLER WanReceiveHandler; \
- } DUMMYUNIONNAME4; \
- RECEIVE_COMPLETE_HANDLER ReceiveCompleteHandler; \
- STATUS_HANDLER StatusHandler; \
- STATUS_COMPLETE_HANDLER StatusCompleteHandler; \
- NDIS_STRING Name;
-
-typedef struct _NDIS30_PROTOCOL_CHARACTERISTICS {
- NDIS30_PROTOCOL_CHARACTERISTICS_S
-} NDIS30_PROTOCOL_CHARACTERISTICS, *PNDIS30_PROTOCOL_CHARACTERISTICS;
-
-
-/* Prototypes for NDIS 4.0 protocol characteristics */
-
-typedef INT DDKAPI
-(*RECEIVE_PACKET_HANDLER)(
- /*IN*/ NDIS_HANDLE ProtocolBindingContext,
- /*IN*/ PNDIS_PACKET Packet);
-
-typedef VOID DDKAPI
-(*BIND_HANDLER)(
- /*OUT*/ PNDIS_STATUS Status,
- /*IN*/ NDIS_HANDLE BindContext,
- /*IN*/ PNDIS_STRING DeviceName,
- /*IN*/ PVOID SystemSpecific1,
- /*IN*/ PVOID SystemSpecific2);
-
-typedef VOID DDKAPI
-(*UNBIND_HANDLER)(
- /*OUT*/ PNDIS_STATUS Status,
- /*IN*/ NDIS_HANDLE ProtocolBindingContext,
- /*IN*/ NDIS_HANDLE UnbindContext);
-
-typedef NDIS_STATUS DDKAPI
-(*PNP_EVENT_HANDLER)(
- /*IN*/ NDIS_HANDLE ProtocolBindingContext,
- /*IN*/ PNET_PNP_EVENT NetPnPEvent);
-
-typedef VOID DDKAPI
-(*UNLOAD_PROTOCOL_HANDLER)(
- VOID);
-
-
-/* Protocol characteristics for NDIS 4.0 protocols */
-
-#ifdef __cplusplus
-
-#define NDIS40_PROTOCOL_CHARACTERISTICS_S \
- NDIS30_PROTOCOL_CHARACTERISTICS Ndis30Chars; \
- RECEIVE_PACKET_HANDLER ReceivePacketHandler; \
- BIND_HANDLER BindAdapterHandler; \
- UNBIND_HANDLER UnbindAdapterHandler; \
- PNP_EVENT_HANDLER PnPEventHandler; \
- UNLOAD_PROTOCOL_HANDLER UnloadHandler;
-
-#else /* !__cplusplus */
-
-#define NDIS40_PROTOCOL_CHARACTERISTICS_S \
- NDIS30_PROTOCOL_CHARACTERISTICS_S \
- RECEIVE_PACKET_HANDLER ReceivePacketHandler; \
- BIND_HANDLER BindAdapterHandler; \
- UNBIND_HANDLER UnbindAdapterHandler; \
- PNP_EVENT_HANDLER PnPEventHandler; \
- UNLOAD_PROTOCOL_HANDLER UnloadHandler;
-
-#endif /* __cplusplus */
-
-typedef struct _NDIS40_PROTOCOL_CHARACTERISTICS {
- NDIS40_PROTOCOL_CHARACTERISTICS_S
-} NDIS40_PROTOCOL_CHARACTERISTICS, *PNDIS40_PROTOCOL_CHARACTERISTICS;
-
-/* Prototypes for NDIS 5.0 protocol characteristics */
-
-typedef VOID DDKAPI
-(*CO_SEND_COMPLETE_HANDLER)(
- /*IN*/ NDIS_STATUS Status,
- /*IN*/ NDIS_HANDLE ProtocolVcContext,
- /*IN*/ PNDIS_PACKET Packet);
-
-typedef VOID DDKAPI
-(*CO_STATUS_HANDLER)(
- /*IN*/ NDIS_HANDLE ProtocolBindingContext,
- /*IN*/ NDIS_HANDLE ProtocolVcContext /*OPTIONAL*/,
- /*IN*/ NDIS_STATUS GeneralStatus,
- /*IN*/ PVOID StatusBuffer,
- /*IN*/ UINT StatusBufferSize);
-
-typedef UINT DDKAPI
-(*CO_RECEIVE_PACKET_HANDLER)(
- /*IN*/ NDIS_HANDLE ProtocolBindingContext,
- /*IN*/ NDIS_HANDLE ProtocolVcContext,
- /*IN*/ PNDIS_PACKET Packet);
-
-typedef VOID DDKAPI
-(*CO_AF_REGISTER_NOTIFY_HANDLER)(
- /*IN*/ NDIS_HANDLE ProtocolBindingContext,
- /*IN*/ PCO_ADDRESS_FAMILY AddressFamily);
-
-#ifdef __cplusplus \
-
-#define NDIS50_PROTOCOL_CHARACTERISTICS_S \
- NDIS40_PROTOCOL_CHARACTERISTICS Ndis40Chars; \
- PVOID ReservedHandlers[4]; \
- CO_SEND_COMPLETE_HANDLER CoSendCompleteHandler; \
- CO_STATUS_HANDLER CoStatusHandler; \
- CO_RECEIVE_PACKET_HANDLER CoReceivePacketHandler; \
- CO_AF_REGISTER_NOTIFY_HANDLER CoAfRegisterNotifyHandler;
-
-#else /* !__cplusplus */
-
-#define NDIS50_PROTOCOL_CHARACTERISTICS_S \
- NDIS40_PROTOCOL_CHARACTERISTICS_S \
- PVOID ReservedHandlers[4]; \
- CO_SEND_COMPLETE_HANDLER CoSendCompleteHandler; \
- CO_STATUS_HANDLER CoStatusHandler; \
- CO_RECEIVE_PACKET_HANDLER CoReceivePacketHandler; \
- CO_AF_REGISTER_NOTIFY_HANDLER CoAfRegisterNotifyHandler;
-
-#endif /* !__cplusplus */
-
-typedef struct _NDIS50_PROTOCOL_CHARACTERISTICS {
- NDIS50_PROTOCOL_CHARACTERISTICS_S
-} NDIS50_PROTOCOL_CHARACTERISTICS, *PNDIS50_PROTOCOL_CHARACTERISTICS;
-
-#if defined(NDIS50) || defined(NDIS51)
-typedef struct _NDIS_PROTOCOL_CHARACTERISTICS {
- NDIS50_PROTOCOL_CHARACTERISTICS_S;
-} NDIS_PROTOCOL_CHARACTERISTICS, *PNDIS_PROTOCOL_CHARACTERISTICS;
-#elif defined(NDIS40)
-typedef struct _NDIS_PROTOCOL_CHARACTERISTICS {
- NDIS40_PROTOCOL_CHARACTERISTICS_S;
-} NDIS_PROTOCOL_CHARACTERISTICS, *PNDIS_PROTOCOL_CHARACTERISTICS;
-#elif defined(NDIS30)
-typedef struct _NDIS_PROTOCOL_CHARACTERISTICS {
- NDIS30_PROTOCOL_CHARACTERISTICS_S
-} NDIS_PROTOCOL_CHARACTERISTICS, *PNDIS_PROTOCOL_CHARACTERISTICS;
-#else
-#error Define an NDIS version
-#endif /* NDIS30 */
-
-
-
-/* Buffer management routines */
-
-NDISAPI
-VOID
-DDKAPI
-NdisAllocateBuffer(
- /*OUT*/ PNDIS_STATUS Status,
- /*OUT*/ PNDIS_BUFFER *Buffer,
- /*IN*/ NDIS_HANDLE PoolHandle,
- /*IN*/ PVOID VirtualAddress,
- /*IN*/ UINT Length);
-
-
-NDISAPI
-VOID
-DDKAPI
-NdisAllocateBufferPool(
- /*OUT*/ PNDIS_STATUS Status,
- /*OUT*/ PNDIS_HANDLE PoolHandle,
- /*IN*/ UINT NumberOfDescriptors);
-
-NDISAPI
-VOID
-DDKAPI
-NdisAllocatePacket(
- /*OUT*/ PNDIS_STATUS Status,
- /*OUT*/ PNDIS_PACKET *Packet,
- /*IN*/ NDIS_HANDLE PoolHandle);
-
-NDISAPI
-VOID
-DDKAPI
-NdisAllocatePacketPool(
- /*OUT*/ PNDIS_STATUS Status,
- /*OUT*/ PNDIS_HANDLE PoolHandle,
- /*IN*/ UINT NumberOfDescriptors,
- /*IN*/ UINT ProtocolReservedLength);
-
-#define PROTOCOL_RESERVED_SIZE_IN_PACKET (4 * sizeof(PVOID))
-
-NDISAPI
-VOID
-DDKAPI
-NdisCopyBuffer(
- /*OUT*/ PNDIS_STATUS Status,
- /*OUT*/ PNDIS_BUFFER *Buffer,
- /*IN*/ NDIS_HANDLE PoolHandle,
- /*IN*/ PVOID MemoryDescriptor,
- /*IN*/ UINT Offset,
- /*IN*/ UINT Length);
-
-NDISAPI
-VOID
-DDKAPI
-NdisCopyFromPacketToPacket(
- /*IN*/ PNDIS_PACKET Destination,
- /*IN*/ UINT DestinationOffset,
- /*IN*/ UINT BytesToCopy,
- /*IN*/ PNDIS_PACKET Source,
- /*IN*/ UINT SourceOffset,
- /*OUT*/ PUINT BytesCopied);
-
-NDISAPI
-VOID
-DDKAPI
-NdisDprAllocatePacket(
- /*OUT*/ PNDIS_STATUS Status,
- /*OUT*/ PNDIS_PACKET *Packet,
- /*IN*/ NDIS_HANDLE PoolHandle);
-
-NDISAPI
-VOID
-DDKAPI
-NdisDprAllocatePacketNonInterlocked(
- /*OUT*/ PNDIS_STATUS Status,
- /*OUT*/ PNDIS_PACKET *Packet,
- /*IN*/ NDIS_HANDLE PoolHandle);
-
-NDISAPI
-VOID
-DDKAPI
-NdisDprFreePacket(
- /*IN*/ PNDIS_PACKET Packet);
-
-NDISAPI
-VOID
-DDKAPI
-NdisDprFreePacketNonInterlocked(
- /*IN*/ PNDIS_PACKET Packet);
-
-NDISAPI
-VOID
-DDKAPI
-NdisFreeBufferPool(
- /*IN*/ NDIS_HANDLE PoolHandle);
-
-NDISAPI
-VOID
-DDKAPI
-NdisFreePacket(
- /*IN*/ PNDIS_PACKET Packet);
-
-NDISAPI
-VOID
-DDKAPI
-NdisFreePacketPool(
- /*IN*/ NDIS_HANDLE PoolHandle);
-
-NDISAPI
-VOID
-DDKAPI
-NdisReturnPackets(
- /*IN*/ PNDIS_PACKET *PacketsToReturn,
- /*IN*/ UINT NumberOfPackets);
-
-NDISAPI
-VOID
-DDKAPI
-NdisUnchainBufferAtBack(
- /*IN OUT*/ PNDIS_PACKET Packet,
- /*OUT*/ PNDIS_BUFFER *Buffer);
-
-NDISAPI
-VOID
-DDKAPI
-NdisUnchainBufferAtFront(
- /*IN OUT*/ PNDIS_PACKET Packet,
- /*OUT*/ PNDIS_BUFFER *Buffer);
-
-NDISAPI
-VOID
-DDKAPI
-NdisAdjustBufferLength(
- /*IN*/ PNDIS_BUFFER Buffer,
- /*IN*/ UINT Length);
-
-NDISAPI
-ULONG
-DDKAPI
-NdisBufferLength(
- /*IN*/ PNDIS_BUFFER Buffer);
-
-NDISAPI
-PVOID
-DDKAPI
-NdisBufferVirtualAddress(
- /*IN*/ PNDIS_BUFFER Buffer);
-
-NDISAPI
-ULONG
-DDKAPI
-NDIS_BUFFER_TO_SPAN_PAGES(
- /*IN*/ PNDIS_BUFFER Buffer);
-
-NDISAPI
-VOID
-DDKAPI
-NdisFreeBuffer(
- /*IN*/ PNDIS_BUFFER Buffer);
-
-NDISAPI
-VOID
-DDKAPI
-NdisGetBufferPhysicalArraySize(
- /*IN*/ PNDIS_BUFFER Buffer,
- /*OUT*/ PUINT ArraySize);
-
-NDISAPI
-VOID
-DDKAPI
-NdisGetFirstBufferFromPacket(
- /*IN*/ PNDIS_PACKET _Packet,
- /*OUT*/ PNDIS_BUFFER *_FirstBuffer,
- /*OUT*/ PVOID *_FirstBufferVA,
- /*OUT*/ PUINT _FirstBufferLength,
- /*OUT*/ PUINT _TotalBufferLength);
-
-NDISAPI
-VOID
-DDKAPI
-NdisQueryBuffer(
- /*IN*/ PNDIS_BUFFER Buffer,
- /*OUT*/ PVOID *VirtualAddress /*OPTIONAL*/,
- /*OUT*/ PUINT Length);
-
-NDISAPI
-VOID
-DDKAPI
-NdisQueryBufferOffset(
- /*IN*/ PNDIS_BUFFER Buffer,
- /*OUT*/ PUINT Offset,
- /*OUT*/ PUINT Length);
-
-NDISAPI
-VOID
-DDKAPI
-NdisFreeBuffer(
- /*IN*/ PNDIS_BUFFER Buffer);
-
-
-/*
- * VOID
- * NdisGetBufferPhysicalArraySize(
- * IN PNDIS_BUFFER Buffer,
- * OUT PUINT ArraySize);
- */
-#define NdisGetBufferPhysicalArraySize(Buffer, \
- ArraySize) \
-{ \
- (*(ArraySize) = NDIS_BUFFER_TO_SPAN_PAGES(Buffer)) \
-}
-
-
-/*
- * VOID
- * NdisGetFirstBufferFromPacket(
- * IN PNDIS_PACKET _Packet,
- * OUT PNDIS_BUFFER * _FirstBuffer,
- * OUT PVOID * _FirstBufferVA,
- * OUT PUINT _FirstBufferLength,
- * OUT PUINT _TotalBufferLength)
- */
-#define NdisGetFirstBufferFromPacket(_Packet, \
- _FirstBuffer, \
- _FirstBufferVA, \
- _FirstBufferLength, \
- _TotalBufferLength) \
-{ \
- PNDIS_BUFFER _Buffer; \
- \
- _Buffer = (_Packet)->Private.Head; \
- *(_FirstBuffer) = _Buffer; \
- if (_Buffer != NULL) \
- { \
- *(_FirstBufferVA) = MmGetSystemAddressForMdl(_Buffer); \
- *(_FirstBufferLength) = MmGetMdlByteCount(_Buffer); \
- _Buffer = _Buffer->Next; \
- *(_TotalBufferLength) = *(_FirstBufferLength); \
- while (_Buffer != NULL) { \
- *(_TotalBufferLength) += MmGetMdlByteCount(_Buffer); \
- _Buffer = _Buffer->Next; \
- } \
- } \
- else \
- { \
- *(_FirstBufferVA) = 0; \
- *(_FirstBufferLength) = 0; \
- *(_TotalBufferLength) = 0; \
- } \
-}
-
-/*
- * VOID
- * NdisGetFirstBufferFromPacketSafe(
- * IN PNDIS_PACKET _Packet,
- * OUT PNDIS_BUFFER * _FirstBuffer,
- * OUT PVOID * _FirstBufferVA,
- * OUT PUINT _FirstBufferLength,
- * OUT PUINT _TotalBufferLength),
- * IN MM_PAGE_PRIORITY _Priority)
- */
-#define NdisGetFirstBufferFromPacketSafe(_Packet, \
- _FirstBuffer, \
- _FirstBufferVA, \
- _FirstBufferLength, \
- _TotalBufferLength, \
- _Priority) \
-{ \
- PNDIS_BUFFER _Buffer; \
- \
- _Buffer = (_Packet)->Private.Head; \
- *(_FirstBuffer) = _Buffer; \
- if (_Buffer != NULL) \
- { \
- *(_FirstBufferVA) = MmGetSystemAddressForMdlSafe(_Buffer, _Priority); \
- *(_FirstBufferLength) = MmGetMdlByteCount(_Buffer); \
- _Buffer = _Buffer->Next; \
- *(_TotalBufferLength) = *(_FirstBufferLength); \
- while (_Buffer != NULL) { \
- *(_TotalBufferLength) += MmGetMdlByteCount(_Buffer); \
- _Buffer = _Buffer->Next; \
- } \
- } \
- else \
- { \
- *(_FirstBufferVA) = 0; \
- *(_FirstBufferLength) = 0; \
- *(_TotalBufferLength) = 0; \
- } \
-}
-
-/*
- * VOID
- * NdisQueryBuffer(
- * IN PNDIS_BUFFER Buffer,
- * OUT PVOID *VirtualAddress OPTIONAL,
- * OUT PUINT Length)
- */
-#define NdisQueryBuffer(Buffer, \
- VirtualAddress, \
- Length) \
-{ \
- if (VirtualAddress) \
- *((PVOID*)VirtualAddress) = MmGetSystemAddressForMdl(Buffer); \
- \
- *((PUINT)Length) = MmGetMdlByteCount(Buffer); \
-}
-
-
-/*
- * VOID
- * NdisQueryBufferOffset(
- * IN PNDIS_BUFFER Buffer,
- * OUT PUINT Offset,
- * OUT PUINT Length);
- */
-#define NdisQueryBufferOffset(Buffer, \
- Offset, \
- Length) \
-{ \
- *((PUINT)Offset) = MmGetMdlByteOffset(Buffer); \
- *((PUINT)Length) = MmGetMdlByteCount(Buffer); \
-}
-
-
-/*
- * PVOID
- * NDIS_BUFFER_LINKAGE(
- * IN PNDIS_BUFFER Buffer);
- */
-#define NDIS_BUFFER_LINKAGE(Buffer)(Buffer)->Next;
-
-
-/*
- * VOID
- * NdisChainBufferAtBack(
- * IN OUT PNDIS_PACKET Packet,
- * IN OUT PNDIS_BUFFER Buffer)
- */
-#define NdisChainBufferAtBack(Packet, \
- Buffer) \
-{ \
- PNDIS_BUFFER NdisBuffer = (Buffer); \
- \
- while (NdisBuffer->Next != NULL) \
- NdisBuffer = NdisBuffer->Next; \
- \
- NdisBuffer->Next = NULL; \
- \
- if ((Packet)->Private.Head != NULL) \
- (Packet)->Private.Tail->Next = (Buffer); \
- else \
- (Packet)->Private.Head = (Buffer); \
- \
- (Packet)->Private.Tail = NdisBuffer; \
- (Packet)->Private.ValidCounts = FALSE; \
-}
-
-
-/*
- * VOID
- * NdisChainBufferAtFront(
- * IN OUT PNDIS_PACKET Packet,
- * IN OUT PNDIS_BUFFER Buffer)
- */
-#define NdisChainBufferAtFront(Packet, \
- Buffer) \
-{ \
- PNDIS_BUFFER _NdisBuffer = (Buffer); \
- \
- while (_NdisBuffer->Next != NULL) \
- _NdisBuffer = _NdisBuffer->Next; \
- \
- if ((Packet)->Private.Head == NULL) \
- (Packet)->Private.Tail = _NdisBuffer; \
- \
- _NdisBuffer->Next = (Packet)->Private.Head; \
- (Packet)->Private.Head = (Buffer); \
- (Packet)->Private.ValidCounts = FALSE; \
-}
-
-
-/*
- * VOID
- * NdisGetNextBuffer(
- * IN PNDIS_BUFFER CurrentBuffer,
- * OUT PNDIS_BUFFER * NextBuffer)
- */
-#define NdisGetNextBuffer(CurrentBuffer, \
- NextBuffer) \
-{ \
- *(NextBuffer) = (CurrentBuffer)->Next; \
-}
-
-
-/*
- * UINT
- * NdisGetPacketFlags(
- * IN PNDIS_PACKET Packet);
- */
-#define NdisGetPacketFlags(Packet)(Packet)->Private.Flags;
-
-
-/*
- * VOID
- * NdisClearPacketFlags(
- * IN PNDIS_PACKET Packet,
- * IN UINT Flags);
- */
-#define NdisClearPacketFlags(Packet, Flags) \
- (Packet)->Private.Flags &= ~(Flags)
-
-
-/*
- * VOID
- * NDIS_GET_PACKET_MEDIA_SPECIFIC_INFO(
- * IN PNDIS_PACKET Packet,
- * IN PPVOID pMediaSpecificInfo,
- * IN PUINT pSizeMediaSpecificInfo);
- */
-#define NDIS_GET_PACKET_MEDIA_SPECIFIC_INFO(_Packet, \
- _pMediaSpecificInfo, \
- _pSizeMediaSpecificInfo) \
-{ \
- if (!((_Packet)->Private.NdisPacketFlags & fPACKET_ALLOCATED_BY_NDIS) || \
- !((_Packet)->Private.NdisPacketFlags & fPACKET_CONTAINS_MEDIA_SPECIFIC_INFO)) \
- { \
- *(_pMediaSpecificInfo) = NULL; \
- *(_pSizeMediaSpecificInfo) = 0; \
- } \
- else \
- { \
- *(_pMediaSpecificInfo) = ((PNDIS_PACKET_OOB_DATA)((PUCHAR)(_Packet) + \
- (_Packet)->Private.NdisPacketOobOffset))->MediaSpecificInformation; \
- *(_pSizeMediaSpecificInfo) = ((PNDIS_PACKET_OOB_DATA)((PUCHAR)(_Packet) + \
- (_Packet)->Private.NdisPacketOobOffset))->SizeMediaSpecificInfo; \
- } \
-}
-
-
-/*
- * ULONG
- * NDIS_GET_PACKET_PROTOCOL_TYPE(
- * IN PNDIS_PACKET Packet);
- */
-#define NDIS_GET_PACKET_PROTOCOL_TYPE(_Packet) \
- ((_Packet)->Private.Flags & NDIS_PROTOCOL_ID_MASK)
-
-/*
- * ULONG
- * NDIS_GET_PACKET_HEADER_SIZE(
- * IN PNDIS_PACKET Packet);
- */
-#define NDIS_GET_PACKET_HEADER_SIZE(_Packet) \
- ((PNDIS_PACKET_OOB_DATA)((PUCHAR)(_Packet) + \
- (_Packet)->Private.NdisPacketOobOffset))->HeaderSize
-
-
-/*
- * NDIS_STATUS
- * NDIS_GET_PACKET_STATUS(
- * IN PNDIS_PACKET Packet);
- */
-#define NDIS_GET_PACKET_STATUS(_Packet) \
- ((PNDIS_PACKET_OOB_DATA)((PUCHAR)(_Packet) + \
- (_Packet)->Private.NdisPacketOobOffset))->Status
-
-
-/*
- * ULONGLONG
- * NDIS_GET_PACKET_TIME_RECEIVED(
- * IN PNDIS_PACKET Packet);
- */
-#define NDIS_GET_PACKET_TIME_RECEIVED(_Packet) \
- ((PNDIS_PACKET_OOB_DATA)((PUCHAR)(_Packet) + \
- (_Packet)->Private.NdisPacketOobOffset))->TimeReceived
-
-
-/*
- * ULONGLONG
- * NDIS_GET_PACKET_TIME_SENT(
- * IN PNDIS_PACKET Packet);
- */
-#define NDIS_GET_PACKET_TIME_SENT(_Packet) \
- ((PNDIS_PACKET_OOB_DATA)((PUCHAR)(_Packet) + \
- (_Packet)->Private.NdisPacketOobOffset))->TimeSent
-
-
-/*
- * ULONGLONG
- * NDIS_GET_PACKET_TIME_TO_SEND(
- * IN PNDIS_PACKET Packet);
- */
-#define NDIS_GET_PACKET_TIME_TO_SEND(_Packet) \
- ((PNDIS_PACKET_OOB_DATA)((PUCHAR)(_Packet) + \
- (_Packet)->Private.NdisPacketOobOffset))->TimeToSend
-
-
-/*
- * PNDIS_PACKET_OOB_DATA
- * NDIS_OOB_DATA_FROM_PACKET(
- * IN PNDIS_PACKET Packet);
- */
-#define NDIS_OOB_DATA_FROM_PACKET(_Packet) \
- (PNDIS_PACKET_OOB_DATA)((PUCHAR)(_Packet) + \
- (_Packet)->Private.NdisPacketOobOffset)
-
-
-/*
- * VOID
- * NdisQueryPacket(
- * IN PNDIS_PACKET Packet,
- * OUT PUINT PhysicalBufferCount OPTIONAL,
- * OUT PUINT BufferCount OPTIONAL,
- * OUT PNDIS_BUFFER *FirstBuffer OPTIONAL,
- * OUT PUINT TotalPacketLength OPTIONAL);
- */
-#define NdisQueryPacket(Packet, \
- PhysicalBufferCount, \
- BufferCount, \
- FirstBuffer, \
- TotalPacketLength) \
-{ \
- if (FirstBuffer) \
- *((PNDIS_BUFFER*)FirstBuffer) = (Packet)->Private.Head; \
- if ((TotalPacketLength) || (BufferCount) || (PhysicalBufferCount)) \
- { \
- if (!(Packet)->Private.ValidCounts) { \
- UINT _Offset; \
- UINT _PacketLength; \
- PNDIS_BUFFER _NdisBuffer; \
- UINT _PhysicalBufferCount = 0; \
- UINT _TotalPacketLength = 0; \
- UINT _Count = 0; \
- \
- for (_NdisBuffer = (Packet)->Private.Head; \
- _NdisBuffer != (PNDIS_BUFFER)NULL; \
- _NdisBuffer = _NdisBuffer->Next) \
- { \
- _PhysicalBufferCount += NDIS_BUFFER_TO_SPAN_PAGES(_NdisBuffer); \
- NdisQueryBufferOffset(_NdisBuffer, &_Offset, &_PacketLength); \
- _TotalPacketLength += _PacketLength; \
- _Count++; \
- } \
- (Packet)->Private.PhysicalCount = _PhysicalBufferCount; \
- (Packet)->Private.TotalLength = _TotalPacketLength; \
- (Packet)->Private.Count = _Count; \
- (Packet)->Private.ValidCounts = TRUE; \
- } \
- \
- if (PhysicalBufferCount) \
- *((PUINT)PhysicalBufferCount) = (Packet)->Private.PhysicalCount; \
- \
- if (BufferCount) \
- *((PUINT)BufferCount) = (Packet)->Private.Count; \
- \
- if (TotalPacketLength) \
- *((PUINT)TotalPacketLength) = (Packet)->Private.TotalLength; \
- } \
-}
-
-/*
- * VOID
- * NdisQueryPacketLength(
- * IN PNDIS_PACKET Packet,
- * OUT PUINT PhysicalBufferCount OPTIONAL,
- * OUT PUINT BufferCount OPTIONAL,
- * OUT PNDIS_BUFFER *FirstBuffer OPTIONAL,
- * OUT PUINT TotalPacketLength OPTIONAL);
- */
-#define NdisQueryPacketLength(Packet, \
- TotalPacketLength) \
-{ \
- if ((TotalPacketLength)) \
- { \
- if (!(Packet)->Private.ValidCounts) { \
- UINT _Offset; \
- UINT _PacketLength; \
- PNDIS_BUFFER _NdisBuffer; \
- UINT _PhysicalBufferCount = 0; \
- UINT _TotalPacketLength = 0; \
- UINT _Count = 0; \
- \
- for (_NdisBuffer = (Packet)->Private.Head; \
- _NdisBuffer != (PNDIS_BUFFER)NULL; \
- _NdisBuffer = _NdisBuffer->Next) \
- { \
- _PhysicalBufferCount += NDIS_BUFFER_TO_SPAN_PAGES(_NdisBuffer); \
- NdisQueryBufferOffset(_NdisBuffer, &_Offset, &_PacketLength); \
- _TotalPacketLength += _PacketLength; \
- _Count++; \
- } \
- (Packet)->Private.PhysicalCount = _PhysicalBufferCount; \
- (Packet)->Private.TotalLength = _TotalPacketLength; \
- (Packet)->Private.Count = _Count; \
- (Packet)->Private.ValidCounts = TRUE; \
- } \
- \
- if (TotalPacketLength) \
- *((PUINT)TotalPacketLength) = (Packet)->Private.TotalLength; \
- } \
-}
-
-
-/*
- * VOID
- * NdisRecalculatePacketCounts(
- * IN OUT PNDIS_PACKET Packet);
- */
-#define NdisRecalculatePacketCounts(Packet) \
-{ \
- PNDIS_BUFFER _Buffer = (Packet)->Private.Head; \
- if (_Buffer != NULL) \
- { \
- while (_Buffer->Next != NULL) \
- { \
- ´_Buffer = _Buffer->Next; \
- } \
- (Packet)->Private.Tail = _Buffer; \
- } \
- (Packet)->Private.ValidCounts = FALSE; \
-}
-
-
-/*
- * VOID
- * NdisReinitializePacket(
- * IN OUT PNDIS_PACKET Packet);
- */
-#define NdisReinitializePacket(Packet) \
-{ \
- (Packet)->Private.Head = (PNDIS_BUFFER)NULL; \
- (Packet)->Private.ValidCounts = FALSE; \
-}
-
-
-/*
- * VOID
- * NdisSetPacketFlags(
- * IN PNDIS_PACKET Packet,
- * IN UINT Flags);
- */
-#define NdisSetPacketFlags(Packet, Flags) \
- (Packet)->Private.Flags |= (Flags);
-
-
-/*
- * VOID
- * NDIS_SET_PACKET_HEADER_SIZE(
- * IN PNDIS_PACKET Packet,
- * IN UINT HdrSize);
- */
-#define NDIS_SET_PACKET_HEADER_SIZE(_Packet, _HdrSize) \
- ((PNDIS_PACKET_OOB_DATA)((PUCHAR)(_Packet) + \
- (_Packet)->Private.NdisPacketOobOffset))->HeaderSize = (_HdrSize)
-
-
-/*
- * VOID
- * NDIS_SET_PACKET_MEDIA_SPECIFIC_INFO(
- * IN PNDIS_PACKET Packet,
- * IN PVOID MediaSpecificInfo,
- * IN UINT SizeMediaSpecificInfo);
- */
-#define NDIS_SET_PACKET_MEDIA_SPECIFIC_INFO(_Packet, \
- _MediaSpecificInfo, \
- _SizeMediaSpecificInfo) \
-{ \
- if ((_Packet)->Private.NdisPacketFlags & fPACKET_ALLOCATED_BY_NDIS) \
- { \
- (_Packet)->Private.NdisPacketFlags |= fPACKET_CONTAINS_MEDIA_SPECIFIC_INFO; \
- ((PNDIS_PACKET_OOB_DATA)((PUCHAR)(_Packet) + \
- (_Packet)->Private.NdisPacketOobOffset))->MediaSpecificInformation = \
- (_MediaSpecificInfo); \
- ((PNDIS_PACKET_OOB_DATA)((PUCHAR)(_Packet) + \
- (_Packet)->Private.NdisPacketOobOffset))->SizeMediaSpecificInfo = \
- (_SizeMediaSpecificInfo); \
- } \
-}
-
-
-/*
- * VOID
- * NDIS_SET_PACKET_STATUS(
- * IN PNDIS_PACKET Packet,
- * IN NDIS_STATUS Status);
- */
-#define NDIS_SET_PACKET_STATUS(_Packet, _Status) \
- ((PNDIS_PACKET_OOB_DATA)((PUCHAR)(_Packet) + \
- (_Packet)->Private.NdisPacketOobOffset))->Status = (_Status)
-
-
-/*
- * VOID
- * NDIS_SET_PACKET_TIME_RECEIVED(
- * IN PNDIS_PACKET Packet,
- * IN ULONGLONG TimeReceived);
- */
-#define NDIS_SET_PACKET_TIME_RECEIVED(_Packet, _TimeReceived) \
- ((PNDIS_PACKET_OOB_DATA)((PUCHAR)(_Packet) + \
- (_Packet)->Private.NdisPacketOobOffset))->TimeReceived = (_TimeReceived)
-
-
-/*
- * VOID
- * NDIS_SET_PACKET_TIME_SENT(
- * IN PNDIS_PACKET Packet,
- * IN ULONGLONG TimeSent);
- */
-#define NDIS_SET_PACKET_TIME_SENT(_Packet, _TimeSent) \
- ((PNDIS_PACKET_OOB_DATA)((PUCHAR)(_Packet) + \
- (_Packet)->Private.NdisPacketOobOffset))->TimeSent = (_TimeSent)
-
-
-/*
- * VOID
- * NDIS_SET_PACKET_TIME_TO_SEND(
- * IN PNDIS_PACKET Packet,
- * IN ULONGLONG TimeToSend);
- */
-#define NDIS_SET_PACKET_TIME_TO_SEND(_Packet, _TimeToSend) \
- ((PNDIS_PACKET_OOB_DATA)((PUCHAR)(_Packet) + \
- (_Packet)->Private.NdisPacketOobOffset))->TimeToSend = (_TimeToSend)
-
-
-/*
- * VOID
- * NdisSetSendFlags(
- * IN PNDIS_PACKET Packet,
- * IN UINT Flags);
- */
-#define NdisSetSendFlags(_Packet,_Flags)(_Packet)->Private.Flags = (_Flags)
-
-
-
-/* Memory management routines */
-
-/*
- * VOID
- * NdisCreateLookaheadBufferFromSharedMemory(
- * IN PVOID pSharedMemory,
- * IN UINT LookaheadLength,
- * OUT PVOID *pLookaheadBuffer)
- */
-#define NdisCreateLookaheadBufferFromSharedMemory(_pSharedMemory, \
- _LookaheadLength, \
- _pLookaheadBuffer) \
- ((*(_pLookaheadBuffer)) = (_pSharedMemory))
-
-/*
- * VOID
- * NdisDestroyLookaheadBufferFromSharedMemory(
- * IN PVOID pLookaheadBuffer)
- */
-#define NdisDestroyLookaheadBufferFromSharedMemory(_pLookaheadBuffer)
-
-#if defined(i386)
-
-/*
- * VOID
- * NdisMoveFromMappedMemory(
- * OUT PVOID Destination,
- * IN PVOID Source,
- * IN ULONG Length);
- */
-#define NdisMoveFromMappedMemory(Destination, Source, Length) \
- NdisMoveMappedMemory(Destination, Source, Length)
-
-/*
- * VOID
- * NdisMoveMappedMemory(
- * OUT PVOID Destination,
- * IN PVOID Source,
- * IN ULONG Length);
- */
-#define NdisMoveMappedMemory(Destination, Source, Length) \
- RtlCopyMemory(Destination, Source, Length)
-
-/*
- * VOID
- * NdisMoveToMappedMemory(
- * OUT PVOID Destination,
- * IN PVOID Source,
- * IN ULONG Length);
- */
-#define NdisMoveToMappedMemory(Destination, Source, Length) \
- NdisMoveMappedMemory(Destination, Source, Length)
-
-#endif /* i386 */
-
-/*
- * VOID
- * NdisMUpdateSharedMemory(
- * IN NDIS_HANDLE MiniportAdapterHandle,
- * IN ULONG Length,
- * IN PVOID VirtualAddress,
- * IN NDIS_PHYSICAL_ADDRESS PhysicalAddress);
- */
-#define NdisMUpdateSharedMemory(_H, _L, _V, _P) \
- NdisUpdateSharedMemory(_H, _L, _V, _P)
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisAllocateMemory(
- /*OUT*/ PVOID *VirtualAddress,
- /*IN*/ UINT Length,
- /*IN*/ UINT MemoryFlags,
- /*IN*/ NDIS_PHYSICAL_ADDRESS HighestAcceptableAddress);
-
-NDISAPI
-VOID
-DDKAPI
-NdisFreeMemory(
- /*IN*/ PVOID VirtualAddress,
- /*IN*/ UINT Length,
- /*IN*/ UINT MemoryFlags);
-
-NDISAPI
-VOID
-DDKAPI
-NdisImmediateReadSharedMemory(
- /*IN*/ NDIS_HANDLE WrapperConfigurationContext,
- /*IN*/ ULONG SharedMemoryAddress,
- /*OUT*/ PUCHAR Buffer,
- /*IN*/ ULONG Length);
-
-NDISAPI
-VOID
-DDKAPI
-NdisImmediateWriteSharedMemory(
- /*IN*/ NDIS_HANDLE WrapperConfigurationContext,
- /*IN*/ ULONG SharedMemoryAddress,
- /*IN*/ PUCHAR Buffer,
- /*IN*/ ULONG Length);
-
-NDISAPI
-VOID
-DDKAPI
-NdisMAllocateSharedMemory(
- /*IN*/ NDIS_HANDLE MiniportAdapterHandle,
- /*IN*/ ULONG Length,
- /*IN*/ BOOLEAN Cached,
- /*OUT*/ PVOID *VirtualAddress,
- /*OUT*/ PNDIS_PHYSICAL_ADDRESS PhysicalAddress);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisMAllocateSharedMemoryAsync(
- /*IN*/ NDIS_HANDLE MiniportAdapterHandle,
- /*IN*/ ULONG Length,
- /*IN*/ BOOLEAN Cached,
- /*IN*/ PVOID Context);
-
-#if defined(NDIS50)
-
-#define NdisUpdateSharedMemory(NdisAdapterHandle, \
- Length, \
- VirtualAddress, \
- PhysicalAddress)
-
-#else
-
-NDISAPI
-VOID
-DDKAPI
-NdisUpdateSharedMemory(
- /*IN*/ NDIS_HANDLE NdisAdapterHandle,
- /*IN*/ ULONG Length,
- /*IN*/ PVOID VirtualAddress,
- /*IN*/ NDIS_PHYSICAL_ADDRESS PhysicalAddress);
-
-#endif /* defined(NDIS50) */
-
-/*
- * ULONG
- * NdisGetPhysicalAddressHigh(
- * IN NDIS_PHYSICAL_ADDRESS PhysicalAddress);
- */
-#define NdisGetPhysicalAddressHigh(PhysicalAddress) \
- ((PhysicalAddress).HighPart)
-
-/*
- * VOID
- * NdisSetPhysicalAddressHigh(
- * IN NDIS_PHYSICAL_ADDRESS PhysicalAddress,
- * IN ULONG Value);
- */
-#define NdisSetPhysicalAddressHigh(PhysicalAddress, Value) \
- ((PhysicalAddress).HighPart) = (Value)
-
-/*
- * ULONG
- * NdisGetPhysicalAddressLow(
- * IN NDIS_PHYSICAL_ADDRESS PhysicalAddress);
- */
-#define NdisGetPhysicalAddressLow(PhysicalAddress) \
- ((PhysicalAddress).LowPart)
-
-
-/*
- * VOID
- * NdisSetPhysicalAddressLow(
- * IN NDIS_PHYSICAL_ADDRESS PhysicalAddress,
- * IN ULONG Value);
- */
-#define NdisSetPhysicalAddressLow(PhysicalAddress, Value) \
- ((PhysicalAddress).LowPart) = (Value)
-
-/*
- * VOID
- * NDIS_PHYSICAL_ADDRESS_CONST(
- * IN ULONG Low,
- * IN LONG High);
- */
-#define NDIS_PHYSICAL_ADDRESS_CONST(Low, High) \
- { {(ULONG)(Low), (LONG)(High)} }
-
-/*
- * ULONG
- * NdisEqualMemory(
- * IN CONST VOID *Source1,
- * IN CONST VOID *Source2,
- * IN ULONG Length);
- */
-#define NdisEqualMemory(Source1, Source2, Length) \
- RtlEqualMemory(Source1, Source2, Length)
-
-/*
- * VOID
- * NdisFillMemory(
- * IN PVOID Destination,
- * IN ULONG Length,
- * IN UCHAR Fill);
- */
-#define NdisFillMemory(Destination, Length, Fill) \
- RtlFillMemory(Destination, Length, Fill)
-
-/*
- * VOID
- * NdisZeroMappedMemory(
- * IN PVOID Destination,
- * IN ULONG Length);
- */
-#define NdisZeroMappedMemory(Destination, Length) \
- RtlZeroMemory(Destination, Length)
-
-/*
- * VOID
- * NdisMoveMemory(
- * OUT PVOID Destination,
- * IN PVOID Source,
- * IN ULONG Length);
- */
-#define NdisMoveMemory(Destination, Source, Length) \
- RtlCopyMemory(Destination, Source, Length)
-
-
-/*
- * VOID
- * NdisRetrieveUlong(
- * IN PULONG DestinationAddress,
- * IN PULONG SourceAddress);
- */
-#define NdisRetrieveUlong(DestinationAddress, SourceAddress) \
- RtlRetrieveUlong(DestinationAddress, SourceAddress)
-
-
-/*
- * VOID
- * NdisStoreUlong(
- * IN PULONG DestinationAddress,
- * IN ULONG Value);
- */
-#define NdisStoreUlong(DestinationAddress, Value) \
- RtlStoreUlong(DestinationAddress, Value)
-
-
-/*
- * VOID
- * NdisZeroMemory(
- * IN PVOID Destination,
- * IN ULONG Length)
- */
-#define NdisZeroMemory(Destination, Length) \
- RtlZeroMemory(Destination, Length)
-
-
-
-/* Configuration routines */
-
-NDISAPI
-VOID
-DDKAPI
-NdisOpenConfiguration(
- /*OUT*/ PNDIS_STATUS Status,
- /*OUT*/ PNDIS_HANDLE ConfigurationHandle,
- /*IN*/ NDIS_HANDLE WrapperConfigurationContext);
-
-NDISAPI
-VOID
-DDKAPI
-NdisReadNetworkAddress(
- /*OUT*/ PNDIS_STATUS Status,
- /*OUT*/ PVOID *NetworkAddress,
- /*OUT*/ PUINT NetworkAddressLength,
- /*IN*/ NDIS_HANDLE ConfigurationHandle);
-
-NDISAPI
-VOID
-DDKAPI
-NdisReadEisaSlotInformation(
- /*OUT*/ PNDIS_STATUS Status,
- /*IN*/ NDIS_HANDLE WrapperConfigurationContext,
- /*OUT*/ PUINT SlotNumber,
- /*OUT*/ PNDIS_EISA_FUNCTION_INFORMATION EisaData);
-
-NDISAPI
-VOID
-DDKAPI
-NdisReadEisaSlotInformationEx(
- /*OUT*/ PNDIS_STATUS Status,
- /*IN*/ NDIS_HANDLE WrapperConfigurationContext,
- /*OUT*/ PUINT SlotNumber,
- /*OUT*/ PNDIS_EISA_FUNCTION_INFORMATION *EisaData,
- /*OUT*/ PUINT NumberOfFunctions);
-
-NDISAPI
-ULONG
-DDKAPI
-NdisReadPciSlotInformation(
- /*IN*/ NDIS_HANDLE NdisAdapterHandle,
- /*IN*/ ULONG SlotNumber,
- /*IN*/ ULONG Offset,
- /*IN*/ PVOID Buffer,
- /*IN*/ ULONG Length);
-
-NDISAPI
-ULONG
-DDKAPI
-NdisWritePciSlotInformation(
- /*IN*/ NDIS_HANDLE NdisAdapterHandle,
- /*IN*/ ULONG SlotNumber,
- /*IN*/ ULONG Offset,
- /*IN*/ PVOID Buffer,
- /*IN*/ ULONG Length);
-
-
-
-/* String management routines */
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisAnsiStringToUnicodeString(
- /*IN OUT*/ PNDIS_STRING DestinationString,
- /*IN*/ PNDIS_ANSI_STRING SourceString);
-
-/*
- * BOOLEAN
- * NdisEqualString(
- * IN PNDIS_STRING String1,
- * IN PNDIS_STRING String2,
- * IN BOOLEAN CaseInsensitive);
- */
-#define NdisEqualString(_String1, _String2, _CaseInsensitive) \
- RtlEqualUnicodeString(_String1, _String2, _CaseInsensitive)
-
-NDISAPI
-VOID
-DDKAPI
-NdisInitAnsiString(
- /*IN OUT*/ PNDIS_ANSI_STRING DestinationString,
- /*IN*/ PCSTR SourceString);
-
-NDISAPI
-VOID
-DDKAPI
-NdisInitUnicodeString(
- /*IN OUT*/ PNDIS_STRING DestinationString,
- /*IN*/ PCWSTR SourceString);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisUnicodeStringToAnsiString(
- /*IN OUT*/ PNDIS_ANSI_STRING DestinationString,
- /*IN*/ PNDIS_STRING SourceString);
-
-#define NdisFreeString(_s) NdisFreeMemory((_s).Buffer, (_s).MaximumLength, 0)
-#define NdisPrintString(_s) DbgPrint("%ls", (_s).Buffer)
-
-
-/* Spin lock reoutines */
-
-/*
- * VOID
- * NdisAllocateSpinLock(
- * IN PNDIS_SPIN_LOCK SpinLock);
- */
-#define NdisAllocateSpinLock(_SpinLock) \
- KeInitializeSpinLock(&(_SpinLock)->SpinLock)
-
-/*
- * VOID
- * NdisFreeSpinLock(
- * IN PNDIS_SPIN_LOCK SpinLock);
- */
-#define NdisFreeSpinLock(_SpinLock)
-
-/*
- * VOID
- * NdisAcquireSpinLock(
- * IN PNDIS_SPIN_LOCK SpinLock);
- */
-#define NdisAcquireSpinLock(_SpinLock) \
- KeAcquireSpinLock(&(_SpinLock)->SpinLock, &(_SpinLock)->OldIrql)
-
-/*
- * VOID
- * NdisReleaseSpinLock(
- * IN PNDIS_SPIN_LOCK SpinLock);
- */
-#define NdisReleaseSpinLock(_SpinLock) \
- KeReleaseSpinLock(&(_SpinLock)->SpinLock, (_SpinLock)->OldIrql)
-
-/*
- * VOID
- * NdisDprAcquireSpinLock(
- * IN PNDIS_SPIN_LOCK SpinLock);
- */
-#define NdisDprAcquireSpinLock(_SpinLock) \
-{ \
- KeAcquireSpinLockAtDpcLevel(&(_SpinLock)->SpinLock); \
- (_SpinLock)->OldIrql = DISPATCH_LEVEL; \
-}
-
-/*
- * VOID
- * NdisDprReleaseSpinLock(
- * IN PNDIS_SPIN_LOCK SpinLock);
- */
-#define NdisDprReleaseSpinLock(_SpinLock) \
- KeReleaseSpinLockFromDpcLevel(&(_SpinLock)->SpinLock)
-
-
-
-/* I/O routines */
-
-/*
- * VOID
- * NdisRawReadPortBufferUchar(
- * IN ULONG Port,
- * OUT PUCHAR Buffer,
- * IN ULONG Length);
- */
-#define NdisRawReadPortBufferUchar(Port, Buffer, Length) \
- READ_PORT_BUFFER_UCHAR((PUCHAR)(Port), (PUCHAR)(Buffer), (Length))
-
-/*
- * VOID
- * NdisRawReadPortBufferUlong(
- * IN ULONG Port,
- * OUT PULONG Buffer,
- * IN ULONG Length);
- */
-#define NdisRawReadPortBufferUlong(Port, Buffer, Length) \
- READ_PORT_BUFFER_ULONG((PULONG)(Port), (PULONG)(Buffer), (Length))
-
-/*
- * VOID
- * NdisRawReadPortBufferUshort(
- * IN ULONG Port,
- * OUT PUSHORT Buffer,
- * IN ULONG Length);
- */
-#define NdisRawReadPortBufferUshort(Port, Buffer, Length) \
- READ_PORT_BUFFER_USHORT((PUSHORT)(Port), (PUSHORT)(Buffer), (Length))
-
-
-/*
- * VOID
- * NdisRawReadPortUchar(
- * IN ULONG Port,
- * OUT PUCHAR Data);
- */
-#define NdisRawReadPortUchar(Port, Data) \
- *(Data) = READ_PORT_UCHAR((PUCHAR)(Port))
-
-/*
- * VOID
- * NdisRawReadPortUlong(
- * IN ULONG Port,
- * OUT PULONG Data);
- */
-#define NdisRawReadPortUlong(Port, Data) \
- *(Data) = READ_PORT_ULONG((PULONG)(Port))
-
-/*
- * VOID
- * NdisRawReadPortUshort(
- * IN ULONG Port,
- * OUT PUSHORT Data);
- */
-#define NdisRawReadPortUshort(Port, Data) \
- *(Data) = READ_PORT_USHORT((PUSHORT)(Port))
-
-
-/*
- * VOID
- * NdisRawWritePortBufferUchar(
- * IN ULONG Port,
- * IN PUCHAR Buffer,
- * IN ULONG Length);
- */
-#define NdisRawWritePortBufferUchar(Port, Buffer, Length) \
- WRITE_PORT_BUFFER_UCHAR((PUCHAR)(Port), (PUCHAR)(Buffer), (Length))
-
-/*
- * VOID
- * NdisRawWritePortBufferUlong(
- * IN ULONG Port,
- * IN PULONG Buffer,
- * IN ULONG Length);
- */
-#define NdisRawWritePortBufferUlong(Port, Buffer, Length) \
- WRITE_PORT_BUFFER_ULONG((PULONG)(Port), (PULONG)(Buffer), (Length))
-
-/*
- * VOID
- * NdisRawWritePortBufferUshort(
- * IN ULONG Port,
- * IN PUSHORT Buffer,
- * IN ULONG Length);
- */
-#define NdisRawWritePortBufferUshort(Port, Buffer, Length) \
- WRITE_PORT_BUFFER_USHORT((PUSHORT)(Port), (PUSHORT)(Buffer), (Length))
-
-
-/*
- * VOID
- * NdisRawWritePortUchar(
- * IN ULONG Port,
- * IN UCHAR Data);
- */
-#define NdisRawWritePortUchar(Port, Data) \
- WRITE_PORT_UCHAR((PUCHAR)(Port), (UCHAR)(Data))
-
-/*
- * VOID
- * NdisRawWritePortUlong(
- * IN ULONG Port,
- * IN ULONG Data);
- */
-#define NdisRawWritePortUlong(Port, Data) \
- WRITE_PORT_ULONG((PULONG)(Port), (ULONG)(Data))
-
-/*
- * VOID
- * NdisRawWritePortUshort(
- * IN ULONG Port,
- * IN USHORT Data);
- */
-#define NdisRawWritePortUshort(Port, Data) \
- WRITE_PORT_USHORT((PUSHORT)(Port), (USHORT)(Data))
-
-
-/*
- * VOID
- * NdisReadRegisterUchar(
- * IN PUCHAR Register,
- * OUT PUCHAR Data);
- */
-#define NdisReadRegisterUchar(Register, Data) \
- *(Data) = *(Register)
-
-/*
- * VOID
- * NdisReadRegisterUlong(
- * IN PULONG Register,
- * OUT PULONG Data);
- */
-#define NdisReadRegisterUlong(Register, Data) \
- *(Data) = *(Register)
-
-/*
- * VOID
- * NdisReadRegisterUshort(
- * IN PUSHORT Register,
- * OUT PUSHORT Data);
- */
-#define NdisReadRegisterUshort(Register, Data) \
- *(Data) = *(Register)
-
-/*
- * VOID
- * NdisReadRegisterUchar(
- * IN PUCHAR Register,
- * IN UCHAR Data);
- */
-#define NdisWriteRegisterUchar(Register, Data) \
- WRITE_REGISTER_UCHAR((Register), (Data))
-
-/*
- * VOID
- * NdisReadRegisterUlong(
- * IN PULONG Register,
- * IN ULONG Data);
- */
-#define NdisWriteRegisterUlong(Register, Data) \
- WRITE_REGISTER_ULONG((Register), (Data))
-
-/*
- * VOID
- * NdisReadRegisterUshort(
- * IN PUSHORT Register,
- * IN USHORT Data);
- */
-#define NdisWriteRegisterUshort(Register, Data) \
- WRITE_REGISTER_USHORT((Register), (Data))
-
-
-/* Linked lists */
-
-/*
- * VOID
- * NdisInitializeListHead(
- * IN PLIST_ENTRY ListHead);
- */
-#define NdisInitializeListHead(_ListHead) \
- InitializeListHead(_ListHead)
-
-/*
- * PLIST_ENTRY
- * NdisInterlockedInsertHeadList(
- * IN PLIST_ENTRY ListHead,
- * IN PLIST_ENTRY ListEntry,
- * IN PNDIS_SPIN_LOCK SpinLock);
- */
-#define NdisInterlockedInsertHeadList(_ListHead, _ListEntry, _SpinLock) \
- ExInterlockedInsertHeadList(_ListHead, _ListEntry, &(_SpinLock)->SpinLock)
-
-/*
- * PLIST_ENTRY
- * NdisInterlockedInsertTailList(
- * IN PLIST_ENTRY ListHead,
- * IN PLIST_ENTRY ListEntry,
- * IN PNDIS_SPIN_LOCK SpinLock);
- */
-#define NdisInterlockedInsertTailList(_ListHead, _ListEntry, _SpinLock) \
- ExInterlockedInsertTailList(_ListHead, _ListEntry, &(_SpinLock)->SpinLock)
-
-/*
- * PLIST_ENTRY
- * NdisInterlockedRemoveHeadList(
- * IN PLIST_ENTRY ListHead,
- * IN PNDIS_SPIN_LOCK SpinLock);
-*/
-#define NdisInterlockedRemoveHeadList(_ListHead, _SpinLock) \
- ExInterlockedRemoveHeadList(_ListHead, &(_SpinLock)->SpinLock)
-
-/*
- * VOID
- * NdisInitializeSListHead(
- * IN PSLIST_HEADER SListHead);
- */
-#define NdisInitializeSListHead(SListHead) ExInitializeSListHead(SListHead)
-
-/*
- * USHORT NdisQueryDepthSList(
- * IN PSLIST_HEADER SListHead);
- */
-#define NdisQueryDepthSList(SListHead) ExQueryDepthSList(SListHead)
-
-
-
-/* Interlocked routines */
-
-/*
- * LONG
- * NdisInterlockedDecrement(
- * IN PLONG Addend);
- */
-#define NdisInterlockedDecrement(Addend) InterlockedDecrement(Addend)
-
-/*
- * LONG
- * NdisInterlockedIncrement(
- * IN PLONG Addend);
- */
-#define NdisInterlockedIncrement(Addend) InterlockedIncrement(Addend)
-
-/*
- * VOID
- * NdisInterlockedAddUlong(
- * IN PULONG Addend,
- * IN ULONG Increment,
- * IN PNDIS_SPIN_LOCK SpinLock);
- */
-#define NdisInterlockedAddUlong(_Addend, _Increment, _SpinLock) \
- ExInterlockedAddUlong(_Addend, _Increment, &(_SpinLock)->SpinLock)
-
-
-
-/* Miscellaneous routines */
-
-NDISAPI
-VOID
-DDKAPI
-NdisCloseConfiguration(
- /*IN*/ NDIS_HANDLE ConfigurationHandle);
-
-NDISAPI
-VOID
-DDKAPI
-NdisReadConfiguration(
- /*OUT*/ PNDIS_STATUS Status,
- /*OUT*/ PNDIS_CONFIGURATION_PARAMETER *ParameterValue,
- /*IN*/ NDIS_HANDLE ConfigurationHandle,
- /*IN*/ PNDIS_STRING Keyword,
- /*IN*/ NDIS_PARAMETER_TYPE ParameterType);
-
-NDISAPI
-VOID
-DDKAPI
-NdisWriteConfiguration(
- /*OUT*/ PNDIS_STATUS Status,
- /*IN*/ NDIS_HANDLE WrapperConfigurationContext,
- /*IN*/ PNDIS_STRING Keyword,
- /*IN*/ PNDIS_CONFIGURATION_PARAMETER *ParameterValue);
-
-NDISAPI
-VOID
-DDKCDECLAPI
-NdisWriteErrorLogEntry(
- /*IN*/ NDIS_HANDLE NdisAdapterHandle,
- /*IN*/ NDIS_ERROR_CODE ErrorCode,
- /*IN*/ ULONG NumberOfErrorValues,
- /*IN*/ ...);
-
-/*
- * VOID
- * NdisStallExecution(
- * IN UINT MicrosecondsToStall)
- */
-#define NdisStallExecution KeStallExecutionProcessor
-
-/*
- * VOID
- * NdisGetCurrentSystemTime(
- * IN PLARGE_INTEGER pSystemTime);
- */
-#define NdisGetCurrentSystemTime KeQuerySystemTime
-
-NDISAPI
-VOID
-DDKAPI
-NdisGetCurrentProcessorCpuUsage(
- /*OUT*/ PULONG pCpuUsage);
-
-
-
-/* NDIS helper macros */
-
-/*
- * VOID
- * NDIS_INIT_FUNCTION(FunctionName)
- */
-#define NDIS_INIT_FUNCTION(FunctionName) \
- alloc_text(init, FunctionName)
-
-/*
- * VOID
- * NDIS_PAGABLE_FUNCTION(FunctionName)
- */
-#define NDIS_PAGEABLE_FUNCTION(FunctionName) \
- alloc_text(page, FunctionName)
-
-#define NDIS_PAGABLE_FUNCTION NDIS_PAGEABLE_FUNCTION
-
-
-/* NDIS 4.0 extensions */
-
-NDISAPI
-VOID
-DDKAPI
-NdisMFreeSharedMemory(
- /*IN*/ NDIS_HANDLE MiniportAdapterHandle,
- /*IN*/ ULONG Length,
- /*IN*/ BOOLEAN Cached,
- /*IN*/ PVOID VirtualAddress,
- /*IN*/ NDIS_PHYSICAL_ADDRESS PhysicalAddress);
-
-NDISAPI
-VOID
-DDKAPI
-NdisMWanIndicateReceive(
- /*OUT*/ PNDIS_STATUS Status,
- /*IN*/ NDIS_HANDLE MiniportAdapterHandle,
- /*IN*/ NDIS_HANDLE NdisLinkContext,
- /*IN*/ PUCHAR PacketBuffer,
- /*IN*/ UINT PacketSize);
-
-#define NdisMIndicateReceivePacket(_handle, _packets, _number) \
-{ \
- (*((PNDIS_MINIPORT_BLOCK)(_handle))->PacketIndicateHandler)(_handle, _packets, _number); \
-}
-
-NDISAPI
-VOID
-DDKAPI
-NdisMWanIndicateReceiveComplete(
- /*IN*/ NDIS_HANDLE MiniportAdapterHandle);
-
-NDISAPI
-VOID
-DDKAPI
-NdisMWanSendComplete(
- /*IN*/ NDIS_HANDLE MiniportAdapterHandle,
- /*IN*/ PNDIS_WAN_PACKET Packet,
- /*IN*/ NDIS_STATUS Status);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisPciAssignResources(
- /*IN*/ NDIS_HANDLE NdisMacHandle,
- /*IN*/ NDIS_HANDLE NdisWrapperHandle,
- /*IN*/ NDIS_HANDLE WrapperConfigurationContext,
- /*IN*/ ULONG SlotNumber,
- /*OUT*/ PNDIS_RESOURCE_LIST *AssignedResources);
-
-
-/* NDIS 5.0 extensions */
-
-NDISAPI
-VOID
-DDKAPI
-NdisAcquireReadWriteLock(
- /*IN*/ PNDIS_RW_LOCK Lock,
- /*IN*/ BOOLEAN fWrite,
- /*IN*/ PLOCK_STATE LockState);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisAllocateMemoryWithTag(
- /*OUT*/ PVOID *VirtualAddress,
- /*IN*/ UINT Length,
- /*IN*/ ULONG Tag);
-
-NDISAPI
-VOID
-DDKAPI
-NdisAllocatePacketPoolEx(
- /*OUT*/ PNDIS_STATUS Status,
- /*OUT*/ PNDIS_HANDLE PoolHandle,
- /*IN*/ UINT NumberOfDescriptors,
- /*IN*/ UINT NumberOfOverflowDescriptors,
- /*IN*/ UINT ProtocolReservedLength);
-
-NDISAPI
-VOID
-DDKAPI
-NdisCompletePnPEvent(
- /*IN*/ NDIS_STATUS Status,
- /*IN*/ NDIS_HANDLE NdisBindingHandle,
- /*IN*/ PNET_PNP_EVENT NetPnPEvent);
-
-NDISAPI
-VOID
-DDKAPI
-NdisGetCurrentProcessorCounts(
- /*OUT*/ PULONG pIdleCount,
- /*OUT*/ PULONG pKernelAndUser,
- /*OUT*/ PULONG pIndex);
-
-NDISAPI
-VOID
-DDKAPI
-NdisGetDriverHandle(
- /*IN*/ PNDIS_HANDLE NdisBindingHandle,
- /*OUT*/ PNDIS_HANDLE NdisDriverHandle);
-
-NDISAPI
-PNDIS_PACKET
-DDKAPI
-NdisGetReceivedPacket(
- /*IN*/ PNDIS_HANDLE NdisBindingHandle,
- /*IN*/ PNDIS_HANDLE MacContext);
-
-NDISAPI
-VOID
-DDKAPI
-NdisGetSystemUptime(
- /*OUT*/ PULONG pSystemUpTime);
-
-NDISAPI
-VOID
-DDKAPI
-NdisInitializeReadWriteLock(
- /*IN*/ PNDIS_RW_LOCK Lock);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisMDeregisterDevice(
- /*IN*/ NDIS_HANDLE NdisDeviceHandle);
-
-NDISAPI
-VOID
-DDKAPI
-NdisMGetDeviceProperty(
- /*IN*/ NDIS_HANDLE MiniportAdapterHandle,
- /*IN OUT*/ PDEVICE_OBJECT *PhysicalDeviceObject /*OPTIONAL*/,
- /*IN OUT*/ PDEVICE_OBJECT *FunctionalDeviceObject /*OPTIONAL*/,
- /*IN OUT*/ PDEVICE_OBJECT *NextDeviceObject /*OPTIONAL*/,
- /*IN OUT*/ PCM_RESOURCE_LIST *AllocatedResources /*OPTIONAL*/,
- /*IN OUT*/ PCM_RESOURCE_LIST *AllocatedResourcesTranslated /*OPTIONAL*/);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisMInitializeScatterGatherDma(
- /*IN*/ NDIS_HANDLE MiniportAdapterHandle,
- /*IN*/ BOOLEAN Dma64BitAddresses,
- /*IN*/ ULONG MaximumPhysicalMapping);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisMPromoteMiniport(
- /*IN*/ NDIS_HANDLE MiniportAdapterHandle);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisMQueryAdapterInstanceName(
- /*OUT*/ PNDIS_STRING AdapterInstanceName,
- /*IN*/ NDIS_HANDLE MiniportAdapterHandle);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisMRegisterDevice(
- /*IN*/ NDIS_HANDLE NdisWrapperHandle,
- /*IN*/ PNDIS_STRING DeviceName,
- /*IN*/ PNDIS_STRING SymbolicName,
- /*IN*/ PDRIVER_DISPATCH MajorFunctions[],
- /*OUT*/ PDEVICE_OBJECT *pDeviceObject,
- /*OUT*/ NDIS_HANDLE *NdisDeviceHandle);
-
-NDISAPI
-VOID
-DDKAPI
-NdisMRegisterUnloadHandler(
- /*IN*/ NDIS_HANDLE NdisWrapperHandle,
- /*IN*/ PDRIVER_UNLOAD UnloadHandler);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisMRemoveMiniport(
- /*IN*/ NDIS_HANDLE MiniportAdapterHandle);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisMSetMiniportSecondary(
- /*IN*/ NDIS_HANDLE MiniportAdapterHandle,
- /*IN*/ NDIS_HANDLE PrimaryMiniportAdapterHandle);
-
-NDISAPI
-VOID
-DDKAPI
-NdisOpenConfigurationKeyByIndex(
- /*OUT*/ PNDIS_STATUS Status,
- /*IN*/ NDIS_HANDLE ConfigurationHandle,
- /*IN*/ ULONG Index,
- /*OUT*/ PNDIS_STRING KeyName,
- /*OUT*/ PNDIS_HANDLE KeyHandle);
-
-NDISAPI
-VOID
-DDKAPI
-NdisOpenConfigurationKeyByName(
- /*OUT*/ PNDIS_STATUS Status,
- /*IN*/ NDIS_HANDLE ConfigurationHandle,
- /*IN*/ PNDIS_STRING SubKeyName,
- /*OUT*/ PNDIS_HANDLE SubKeyHandle);
-
-NDISAPI
-UINT
-DDKAPI
-NdisPacketPoolUsage(
- /*IN*/ NDIS_HANDLE PoolHandle);
-
-NTOSAPI
-VOID
-DDKAPI
-NdisSetPacketPoolProtocolId(
- /*IN*/ NDIS_HANDLE PacketPoolHandle,
- /*IN*/ UINT ProtocolId);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisQueryAdapterInstanceName(
- /*OUT*/ PNDIS_STRING AdapterInstanceName,
- /*IN*/ NDIS_HANDLE NdisBindingHandle);
-
-NDISAPI
-ULONG
-DDKAPI
-NdisReadPcmciaAttributeMemory(
- /*IN*/ NDIS_HANDLE NdisAdapterHandle,
- /*IN*/ ULONG Offset,
- /*IN*/ PVOID Buffer,
- /*IN*/ ULONG Length);
-
-NDISAPI
-VOID
-DDKAPI
-NdisReleaseReadWriteLock(
- /*IN*/ PNDIS_RW_LOCK Lock,
- /*IN*/ PLOCK_STATE LockState);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisWriteEventLogEntry(
- /*IN*/ PVOID LogHandle,
- /*IN*/ NDIS_STATUS EventCode,
- /*IN*/ ULONG UniqueEventValue,
- /*IN*/ USHORT NumStrings,
- /*IN*/ PVOID StringsList /*OPTIONAL*/,
- /*IN*/ ULONG DataSize,
- /*IN*/ PVOID Data /*OPTIONAL*/);
-
-NDISAPI
-ULONG
-DDKAPI
-NdisWritePcmciaAttributeMemory(
- /*IN*/ NDIS_HANDLE NdisAdapterHandle,
- /*IN*/ ULONG Offset,
- /*IN*/ PVOID Buffer,
- /*IN*/ ULONG Length);
-
-
-/* Connectionless services */
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisClAddParty(
- /*IN*/ NDIS_HANDLE NdisVcHandle,
- /*IN*/ NDIS_HANDLE ProtocolPartyContext,
- /*IN OUT*/ PCO_CALL_PARAMETERS CallParameters,
- /*OUT*/ PNDIS_HANDLE NdisPartyHandle);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisClCloseAddressFamily(
- /*IN*/ NDIS_HANDLE NdisAfHandle);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisClCloseCall(
- /*IN*/ NDIS_HANDLE NdisVcHandle,
- /*IN*/ NDIS_HANDLE NdisPartyHandle /*OPTIONAL*/,
- /*IN*/ PVOID Buffer /*OPTIONAL*/,
- /*IN*/ UINT Size);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisClDeregisterSap(
- /*IN*/ NDIS_HANDLE NdisSapHandle);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisClDropParty(
- /*IN*/ NDIS_HANDLE NdisPartyHandle,
- /*IN*/ PVOID Buffer /*OPTIONAL*/,
- /*IN*/ UINT Size);
-
-NDISAPI
-VOID
-DDKAPI
-NdisClIncomingCallComplete(
- /*IN*/ NDIS_STATUS Status,
- /*IN*/ NDIS_HANDLE NdisVcHandle,
- /*IN*/ PCO_CALL_PARAMETERS CallParameters);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisClMakeCall(
- /*IN*/ NDIS_HANDLE NdisVcHandle,
- /*IN OUT*/ PCO_CALL_PARAMETERS CallParameters,
- /*IN*/ NDIS_HANDLE ProtocolPartyContext /*OPTIONAL*/,
- /*OUT*/ PNDIS_HANDLE NdisPartyHandle /*OPTIONAL*/);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisClModifyCallQoS(
- /*IN*/ NDIS_HANDLE NdisVcHandle,
- /*IN*/ PCO_CALL_PARAMETERS CallParameters);
-
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisClOpenAddressFamily(
- /*IN*/ NDIS_HANDLE NdisBindingHandle,
- /*IN*/ PCO_ADDRESS_FAMILY AddressFamily,
- /*IN*/ NDIS_HANDLE ProtocolAfContext,
- /*IN*/ PNDIS_CLIENT_CHARACTERISTICS ClCharacteristics,
- /*IN*/ UINT SizeOfClCharacteristics,
- /*OUT*/ PNDIS_HANDLE NdisAfHandle);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisClRegisterSap(
- /*IN*/ NDIS_HANDLE NdisAfHandle,
- /*IN*/ NDIS_HANDLE ProtocolSapContext,
- /*IN*/ PCO_SAP Sap,
- /*OUT*/ PNDIS_HANDLE NdisSapHandle);
-
-
-/* Call Manager services */
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisCmActivateVc(
- /*IN*/ NDIS_HANDLE NdisVcHandle,
- /*IN OUT*/ PCO_CALL_PARAMETERS CallParameters);
-
-NDISAPI
-VOID
-DDKAPI
-NdisCmAddPartyComplete(
- /*IN*/ NDIS_STATUS Status,
- /*IN*/ NDIS_HANDLE NdisPartyHandle,
- /*IN*/ NDIS_HANDLE CallMgrPartyContext /*OPTIONAL*/,
- /*IN*/ PCO_CALL_PARAMETERS CallParameters);
-
-NDISAPI
-VOID
-DDKAPI
-NdisCmCloseAddressFamilyComplete(
- /*IN*/ NDIS_STATUS Status,
- /*IN*/ NDIS_HANDLE NdisAfHandle);
-
-NDISAPI
-VOID
-DDKAPI
-NdisCmCloseCallComplete(
- /*IN*/ NDIS_STATUS Status,
- /*IN*/ NDIS_HANDLE NdisVcHandle,
- /*IN*/ NDIS_HANDLE NdisPartyHandle /*OPTIONAL*/);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisCmDeactivateVc(
- /*IN*/ NDIS_HANDLE NdisVcHandle);
-
-NDISAPI
-VOID
-DDKAPI
-NdisCmDeregisterSapComplete(
- /*IN*/ NDIS_STATUS Status,
- /*IN*/ NDIS_HANDLE NdisSapHandle);
-
-NDISAPI
-VOID
-DDKAPI
-NdisCmDispatchCallConnected(
- /*IN*/ NDIS_HANDLE NdisVcHandle);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisCmDispatchIncomingCall(
- /*IN*/ NDIS_HANDLE NdisSapHandle,
- /*IN*/ NDIS_HANDLE NdisVcHandle,
- /*IN*/ PCO_CALL_PARAMETERS CallParameters);
-
-NDISAPI
-VOID
-DDKAPI
-NdisCmDispatchIncomingCallQoSChange(
- /*IN*/ NDIS_HANDLE NdisVcHandle,
- /*IN*/ PCO_CALL_PARAMETERS CallParameters);
-
-NDISAPI
-VOID
-DDKAPI
-NdisCmDispatchIncomingCloseCall(
- /*IN*/ NDIS_STATUS CloseStatus,
- /*IN*/ NDIS_HANDLE NdisVcHandle,
- /*IN*/ PVOID Buffer /*OPTIONAL*/,
- /*IN*/ UINT Size);
-
-NDISAPI
-VOID
-DDKAPI
-NdisCmDispatchIncomingDropParty(
- /*IN*/ NDIS_STATUS DropStatus,
- /*IN*/ NDIS_HANDLE NdisPartyHandle,
- /*IN*/ PVOID Buffer /*OPTIONAL*/,
- /*IN*/ UINT Size);
-
-NDISAPI
-VOID
-DDKAPI
-NdisCmDropPartyComplete(
- /*IN*/ NDIS_STATUS Status,
- /*IN*/ NDIS_HANDLE NdisPartyHandle);
-
-NDISAPI
-VOID
-DDKAPI
-NdisCmMakeCallComplete(
- /*IN*/ NDIS_STATUS Status,
- /*IN*/ NDIS_HANDLE NdisVcHandle,
- /*IN*/ NDIS_HANDLE NdisPartyHandle /*OPTIONAL*/,
- /*IN*/ NDIS_HANDLE CallMgrPartyContext /*OPTIONAL*/,
- /*IN*/ PCO_CALL_PARAMETERS CallParameters);
-
-NDISAPI
-VOID
-DDKAPI
-NdisCmModifyCallQoSComplete(
- /*IN*/ NDIS_STATUS Status,
- /*IN*/ NDIS_HANDLE NdisVcHandle,
- /*IN*/ PCO_CALL_PARAMETERS CallParameters);
-
-NDISAPI
-VOID
-DDKAPI
-NdisCmOpenAddressFamilyComplete(
- /*IN*/ NDIS_STATUS Status,
- /*IN*/ NDIS_HANDLE NdisAfHandle,
- /*IN*/ NDIS_HANDLE CallMgrAfContext);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisCmRegisterAddressFamily(
- /*IN*/ NDIS_HANDLE NdisBindingHandle,
- /*IN*/ PCO_ADDRESS_FAMILY AddressFamily,
- /*IN*/ PNDIS_CALL_MANAGER_CHARACTERISTICS CmCharacteristics,
- /*IN*/ UINT SizeOfCmCharacteristics);
-
-NDISAPI
-VOID
-DDKAPI
-NdisCmRegisterSapComplete(
- /*IN*/ NDIS_STATUS Status,
- /*IN*/ NDIS_HANDLE NdisSapHandle,
- /*IN*/ NDIS_HANDLE CallMgrSapContext);
-
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisMCmActivateVc(
- /*IN*/ NDIS_HANDLE NdisVcHandle,
- /*IN*/ PCO_CALL_PARAMETERS CallParameters);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisMCmCreateVc(
- /*IN*/ NDIS_HANDLE MiniportAdapterHandle,
- /*IN*/ NDIS_HANDLE NdisAfHandle,
- /*IN*/ NDIS_HANDLE MiniportVcContext,
- /*OUT*/ PNDIS_HANDLE NdisVcHandle);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisMCmDeactivateVc(
- /*IN*/ NDIS_HANDLE NdisVcHandle);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisMCmDeleteVc(
- /*IN*/ NDIS_HANDLE NdisVcHandle);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisMCmRegisterAddressFamily(
- /*IN*/ NDIS_HANDLE MiniportAdapterHandle,
- /*IN*/ PCO_ADDRESS_FAMILY AddressFamily,
- /*IN*/ PNDIS_CALL_MANAGER_CHARACTERISTICS CmCharacteristics,
- /*IN*/ UINT SizeOfCmCharacteristics);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisMCmRequest(
- /*IN*/ NDIS_HANDLE NdisAfHandle,
- /*IN*/ NDIS_HANDLE NdisVcHandle /*OPTIONAL*/,
- /*IN*/ NDIS_HANDLE NdisPartyHandle /*OPTIONAL*/,
- /*IN OUT*/ PNDIS_REQUEST NdisRequest);
-
-
-/* Connection-oriented services */
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisCoCreateVc(
- /*IN*/ NDIS_HANDLE NdisBindingHandle,
- /*IN*/ NDIS_HANDLE NdisAfHandle /*OPTIONAL*/,
- /*IN*/ NDIS_HANDLE ProtocolVcContext,
- /*IN OUT*/ PNDIS_HANDLE NdisVcHandle);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisCoDeleteVc(
- /*IN*/ NDIS_HANDLE NdisVcHandle);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisCoRequest(
- /*IN*/ NDIS_HANDLE NdisBindingHandle,
- /*IN*/ NDIS_HANDLE NdisAfHandle /*OPTIONAL*/,
- /*IN*/ NDIS_HANDLE NdisVcHandle /*OPTIONAL*/,
- /*IN*/ NDIS_HANDLE NdisPartyHandle /*OPTIONAL*/,
- /*IN OUT*/ PNDIS_REQUEST NdisRequest);
-
-NDISAPI
-VOID
-DDKAPI
-NdisCoRequestComplete(
- /*IN*/ NDIS_STATUS Status,
- /*IN*/ NDIS_HANDLE NdisAfHandle,
- /*IN*/ NDIS_HANDLE NdisVcHandle /*OPTIONAL*/,
- /*IN*/ NDIS_HANDLE NdisPartyHandle /*OPTIONAL*/,
- /*IN*/ PNDIS_REQUEST NdisRequest);
-
-NDISAPI
-VOID
-DDKAPI
-NdisCoSendPackets(
- /*IN*/ NDIS_HANDLE NdisVcHandle,
- /*IN*/ PPNDIS_PACKET PacketArray,
- /*IN*/ UINT NumberOfPackets);
-
-NDISAPI
-VOID
-DDKAPI
-NdisMCoActivateVcComplete(
- /*IN*/ NDIS_STATUS Status,
- /*IN*/ NDIS_HANDLE NdisVcHandle,
- /*IN*/ PCO_CALL_PARAMETERS CallParameters);
-
-NDISAPI
-VOID
-DDKAPI
-NdisMCoDeactivateVcComplete(
- /*IN*/ NDIS_STATUS Status,
- /*IN*/ NDIS_HANDLE NdisVcHandle);
-
-NDISAPI
-VOID
-DDKAPI
-NdisMCoIndicateReceivePacket(
- /*IN*/ NDIS_HANDLE NdisVcHandle,
- /*IN*/ PPNDIS_PACKET PacketArray,
- /*IN*/ UINT NumberOfPackets);
-
-NDISAPI
-VOID
-DDKAPI
-NdisMCoIndicateStatus(
- /*IN*/ NDIS_HANDLE MiniportAdapterHandle,
- /*IN*/ NDIS_HANDLE NdisVcHandle /*OPTIONAL*/,
- /*IN*/ NDIS_STATUS GeneralStatus,
- /*IN*/ PVOID StatusBuffer /*OPTIONAL*/,
- /*IN*/ ULONG StatusBufferSize);
-
-NDISAPI
-VOID
-DDKAPI
-NdisMCoReceiveComplete(
- /*IN*/ NDIS_HANDLE MiniportAdapterHandle);
-
-NDISAPI
-VOID
-DDKAPI
-NdisMCoRequestComplete(
- /*IN*/ NDIS_STATUS Status,
- /*IN*/ NDIS_HANDLE MiniportAdapterHandle,
- /*IN*/ PNDIS_REQUEST Request);
-
-NDISAPI
-VOID
-DDKAPI
-NdisMCoSendComplete(
- /*IN*/ NDIS_STATUS Status,
- /*IN*/ NDIS_HANDLE NdisVcHandle,
- /*IN*/ PNDIS_PACKET Packet);
-
-
-/* NDIS 5.0 extensions for intermediate drivers */
-
-NDISAPI
-VOID
-DDKAPI
-NdisIMAssociateMiniport(
- /*IN*/ NDIS_HANDLE DriverHandle,
- /*IN*/ NDIS_HANDLE ProtocolHandle);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisIMCancelInitializeDeviceInstance(
- /*IN*/ NDIS_HANDLE DriverHandle,
- /*IN*/ PNDIS_STRING DeviceInstance);
-
-NDISAPI
-VOID
-DDKAPI
-NdisIMCopySendCompletePerPacketInfo(
- /*IN*/ PNDIS_PACKET DstPacket,
- /*IN*/ PNDIS_PACKET SrcPacket);
-
-NDISAPI
-VOID
-DDKAPI
-NdisIMCopySendPerPacketInfo(
- /*IN*/ PNDIS_PACKET DstPacket,
- /*IN*/ PNDIS_PACKET SrcPacket);
-
-NDISAPI
-VOID
-DDKAPI
-NdisIMDeregisterLayeredMiniport(
- /*IN*/ NDIS_HANDLE DriverHandle);
-
-NDISAPI
-NDIS_HANDLE
-DDKAPI
-NdisIMGetBindingContext(
- /*IN*/ NDIS_HANDLE NdisBindingHandle);
-
-NDISAPI
-NDIS_HANDLE
-DDKAPI
-NdisIMGetDeviceContext(
- /*IN*/ NDIS_HANDLE MiniportAdapterHandle);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisIMInitializeDeviceInstanceEx(
- /*IN*/ NDIS_HANDLE DriverHandle,
- /*IN*/ PNDIS_STRING DriverInstance,
- /*IN*/ NDIS_HANDLE DeviceContext /*OPTIONAL*/);
-
-NDISAPI
-PSINGLE_LIST_ENTRY
-DDKAPI
-NdisInterlockedPopEntrySList(
- /*IN*/ PSLIST_HEADER ListHead,
- /*IN*/ PKSPIN_LOCK Lock);
-
-NDISAPI
-PSINGLE_LIST_ENTRY
-DDKAPI
-NdisInterlockedPushEntrySList(
- /*IN*/ PSLIST_HEADER ListHead,
- /*IN*/ PSINGLE_LIST_ENTRY ListEntry,
- /*IN*/ PKSPIN_LOCK Lock);
-
-NDISAPI
-VOID
-DDKAPI
-NdisQueryBufferSafe(
- /*IN*/ PNDIS_BUFFER Buffer,
- /*OUT*/ PVOID *VirtualAddress /*OPTIONAL*/,
- /*OUT*/ PUINT Length,
- /*IN*/ UINT Priority);
-
-
-/* Prototypes for NDIS_MINIPORT_CHARACTERISTICS */
-
-typedef BOOLEAN DDKAPI
-(*W_CHECK_FOR_HANG_HANDLER)(
- /*IN*/ NDIS_HANDLE MiniportAdapterContext);
-
-typedef VOID DDKAPI
-(*W_DISABLE_INTERRUPT_HANDLER)(
- /*IN*/ NDIS_HANDLE MiniportAdapterContext);
-
-typedef VOID DDKAPI
-(*W_ENABLE_INTERRUPT_HANDLER)(
- /*IN*/ NDIS_HANDLE MiniportAdapterContext);
-
-typedef VOID DDKAPI
-(*W_HALT_HANDLER)(
- /*IN*/ NDIS_HANDLE MiniportAdapterContext);
-
-typedef VOID DDKAPI
-(*W_HANDLE_INTERRUPT_HANDLER)(
- /*IN*/ NDIS_HANDLE MiniportAdapterContext);
-
-typedef NDIS_STATUS DDKAPI
-(*W_INITIALIZE_HANDLER)(
- /*OUT*/ PNDIS_STATUS OpenErrorStatus,
- /*OUT*/ PUINT SelectedMediumIndex,
- /*IN*/ PNDIS_MEDIUM MediumArray,
- /*IN*/ UINT MediumArraySize,
- /*IN*/ NDIS_HANDLE MiniportAdapterContext,
- /*IN*/ NDIS_HANDLE WrapperConfigurationContext);
-
-typedef VOID DDKAPI
-(*W_ISR_HANDLER)(
- /*OUT*/ PBOOLEAN InterruptRecognized,
- /*OUT*/ PBOOLEAN QueueMiniportHandleInterrupt,
- /*IN*/ NDIS_HANDLE MiniportAdapterContext);
-
-typedef NDIS_STATUS DDKAPI
-(*W_QUERY_INFORMATION_HANDLER)(
- /*IN*/ NDIS_HANDLE MiniportAdapterContext,
- /*IN*/ NDIS_OID Oid,
- /*IN*/ PVOID InformationBuffer,
- /*IN*/ ULONG InformationBufferLength,
- /*OUT*/ PULONG BytesWritten,
- /*OUT*/ PULONG BytesNeeded);
-
-typedef NDIS_STATUS DDKAPI
-(*W_RECONFIGURE_HANDLER)(
- /*OUT*/ PNDIS_STATUS OpenErrorStatus,
- /*IN*/ NDIS_HANDLE MiniportAdapterContext,
- /*IN*/ NDIS_HANDLE WrapperConfigurationContext);
-
-typedef NDIS_STATUS DDKAPI
-(*W_RESET_HANDLER)(
- /*OUT*/ PBOOLEAN AddressingReset,
- /*IN*/ NDIS_HANDLE MiniportAdapterContext);
-
-typedef NDIS_STATUS DDKAPI
-(*W_SEND_HANDLER)(
- /*IN*/ NDIS_HANDLE MiniportAdapterContext,
- /*IN*/ PNDIS_PACKET Packet,
- /*IN*/ UINT Flags);
-
-typedef NDIS_STATUS DDKAPI
-(*WM_SEND_HANDLER)(
- /*IN*/ NDIS_HANDLE MiniportAdapterContext,
- /*IN*/ NDIS_HANDLE NdisLinkHandle,
- /*IN*/ PNDIS_WAN_PACKET Packet);
-
-typedef NDIS_STATUS DDKAPI
-(*W_SET_INFORMATION_HANDLER)(
- /*IN*/ NDIS_HANDLE MiniportAdapterContext,
- /*IN*/ NDIS_OID Oid,
- /*IN*/ PVOID InformationBuffer,
- /*IN*/ ULONG InformationBufferLength,
- /*OUT*/ PULONG BytesRead,
- /*OUT*/ PULONG BytesNeeded);
-
-typedef NDIS_STATUS DDKAPI
-(*W_TRANSFER_DATA_HANDLER)(
- /*OUT*/ PNDIS_PACKET Packet,
- /*OUT*/ PUINT BytesTransferred,
- /*IN*/ NDIS_HANDLE MiniportAdapterContext,
- /*IN*/ NDIS_HANDLE MiniportReceiveContext,
- /*IN*/ UINT ByteOffset,
- /*IN*/ UINT BytesToTransfer);
-
-typedef NDIS_STATUS DDKAPI
-(*WM_TRANSFER_DATA_HANDLER)(
- VOID);
-
-
-/* NDIS structures available only to miniport drivers */
-
-#define NDIS30_MINIPORT_CHARACTERISTICS_S \
- UCHAR MajorNdisVersion; \
- UCHAR MinorNdisVersion; \
- UINT Reserved; \
- W_CHECK_FOR_HANG_HANDLER CheckForHangHandler; \
- W_DISABLE_INTERRUPT_HANDLER DisableInterruptHandler; \
- W_ENABLE_INTERRUPT_HANDLER EnableInterruptHandler; \
- W_HALT_HANDLER HaltHandler; \
- W_HANDLE_INTERRUPT_HANDLER HandleInterruptHandler; \
- W_INITIALIZE_HANDLER InitializeHandler; \
- W_ISR_HANDLER ISRHandler; \
- W_QUERY_INFORMATION_HANDLER QueryInformationHandler; \
- W_RECONFIGURE_HANDLER ReconfigureHandler; \
- W_RESET_HANDLER ResetHandler; \
- _ANONYMOUS_UNION union { \
- W_SEND_HANDLER SendHandler; \
- WM_SEND_HANDLER WanSendHandler; \
- } _UNION_NAME(u1); \
- W_SET_INFORMATION_HANDLER SetInformationHandler; \
- _ANONYMOUS_UNION union { \
- W_TRANSFER_DATA_HANDLER TransferDataHandler; \
- WM_TRANSFER_DATA_HANDLER WanTransferDataHandler; \
- } _UNION_NAME(u2);
-
-typedef struct _NDIS30_MINIPORT_CHARACTERISTICS {
- NDIS30_MINIPORT_CHARACTERISTICS_S
-} NDIS30_MINIPORT_CHARACTERISTICS, *PSNDIS30_MINIPORT_CHARACTERISTICS;
-
-
-/* Extensions for NDIS 4.0 miniports */
-
-typedef VOID DDKAPI
-(*W_SEND_PACKETS_HANDLER)(
- /*IN*/ NDIS_HANDLE MiniportAdapterContext,
- /*IN*/ PPNDIS_PACKET PacketArray,
- /*IN*/ UINT NumberOfPackets);
-
-typedef VOID DDKAPI
-(*W_RETURN_PACKET_HANDLER)(
- /*IN*/ NDIS_HANDLE MiniportAdapterContext,
- /*IN*/ PNDIS_PACKET Packet);
-
-typedef VOID DDKAPI
-(*W_ALLOCATE_COMPLETE_HANDLER)(
- /*IN*/ NDIS_HANDLE MiniportAdapterContext,
- /*IN*/ PVOID VirtualAddress,
- /*IN*/ PNDIS_PHYSICAL_ADDRESS PhysicalAddress,
- /*IN*/ ULONG Length,
- /*IN*/ PVOID Context);
-
-#ifdef __cplusplus
-
-#define NDIS40_MINIPORT_CHARACTERISTICS_S \
- NDIS30_MINIPORT_CHARACTERISTICS Ndis30Chars; \
- W_RETURN_PACKET_HANDLER ReturnPacketHandler; \
- W_SEND_PACKETS_HANDLER SendPacketsHandler; \
- W_ALLOCATE_COMPLETE_HANDLER AllocateCompleteHandler;
-
-#else /* !__cplusplus */
-
-#define NDIS40_MINIPORT_CHARACTERISTICS_S \
- NDIS30_MINIPORT_CHARACTERISTICS_S \
- W_RETURN_PACKET_HANDLER ReturnPacketHandler; \
- W_SEND_PACKETS_HANDLER SendPacketsHandler; \
- W_ALLOCATE_COMPLETE_HANDLER AllocateCompleteHandler;
-
-#endif /* !__cplusplus */
-
-typedef struct _NDIS40_MINIPORT_CHARACTERISTICS {
- NDIS40_MINIPORT_CHARACTERISTICS_S
-} NDIS40_MINIPORT_CHARACTERISTICS, *PNDIS40_MINIPORT_CHARACTERISTICS;
-
-
-/* Extensions for NDIS 5.0 miniports */
-
-typedef NDIS_STATUS DDKAPI
-(*W_CO_CREATE_VC_HANDLER)(
- /*IN*/ NDIS_HANDLE MiniportAdapterContext,
- /*IN*/ NDIS_HANDLE NdisVcHandle,
- /*OUT*/ PNDIS_HANDLE MiniportVcContext);
-
-typedef NDIS_STATUS DDKAPI
-(*W_CO_DELETE_VC_HANDLER)(
- /*IN*/ NDIS_HANDLE MiniportVcContext);
-
-typedef NDIS_STATUS DDKAPI
-(*W_CO_ACTIVATE_VC_HANDLER)(
- /*IN*/ NDIS_HANDLE MiniportVcContext,
- /*IN OUT*/ PCO_CALL_PARAMETERS CallParameters);
-
-typedef NDIS_STATUS DDKAPI
-(*W_CO_DEACTIVATE_VC_HANDLER)(
- /*IN*/ NDIS_HANDLE MiniportVcContext);
-
-typedef VOID DDKAPI
-(*W_CO_SEND_PACKETS_HANDLER)(
- /*IN*/ NDIS_HANDLE MiniportVcContext,
- /*IN*/ PPNDIS_PACKET PacketArray,
- /*IN*/ UINT NumberOfPackets);
-
-typedef NDIS_STATUS DDKAPI
-(*W_CO_REQUEST_HANDLER)(
- /*IN*/ NDIS_HANDLE MiniportAdapterContext,
- /*IN*/ NDIS_HANDLE MiniportVcContext /*OPTIONAL*/,
- /*IN OUT*/ PNDIS_REQUEST NdisRequest);
-
-#ifdef __cplusplus
-
-#define NDIS50_MINIPORT_CHARACTERISTICS_S \
- NDIS40_MINIPORT_CHARACTERISTICS Ndis40Chars; \
- W_CO_CREATE_VC_HANDLER CoCreateVcHandler; \
- W_CO_DELETE_VC_HANDLER CoDeleteVcHandler; \
- W_CO_ACTIVATE_VC_HANDLER CoActivateVcHandler; \
- W_CO_DEACTIVATE_VC_HANDLER CoDeactivateVcHandler; \
- W_CO_SEND_PACKETS_HANDLER CoSendPacketsHandler; \
- W_CO_REQUEST_HANDLER CoRequestHandler;
-
-#else /* !__cplusplus */
-
-#define NDIS50_MINIPORT_CHARACTERISTICS_S \
- NDIS40_MINIPORT_CHARACTERISTICS_S \
- W_CO_CREATE_VC_HANDLER CoCreateVcHandler; \
- W_CO_DELETE_VC_HANDLER CoDeleteVcHandler; \
- W_CO_ACTIVATE_VC_HANDLER CoActivateVcHandler; \
- W_CO_DEACTIVATE_VC_HANDLER CoDeactivateVcHandler; \
- W_CO_SEND_PACKETS_HANDLER CoSendPacketsHandler; \
- W_CO_REQUEST_HANDLER CoRequestHandler;
-
-#endif /* !__cplusplus */
-
-typedef struct _NDIS50_MINIPORT_CHARACTERISTICS {
- NDIS50_MINIPORT_CHARACTERISTICS_S
-} NDIS50_MINIPORT_CHARACTERISTICS, *PSNDIS50_MINIPORT_CHARACTERISTICS;
-
-
-/* Extensions for NDIS 5.1 miniports */
-
-typedef VOID DDKAPI
-(*W_CANCEL_SEND_PACKETS_HANDLER)(
- /*IN*/ NDIS_HANDLE MiniportAdapterContext,
- /*IN*/ PVOID CancelId);
-
-
-#if defined(NDIS51)
-typedef struct _NDIS_MINIPORT_CHARACTERISTICS {
- NDIS50_MINIPORT_CHARACTERISTICS_S
-} NDIS_MINIPORT_CHARACTERISTICS, *PNDIS_MINIPORT_CHARACTERISTICS;
-#elif defined(NDIS50)
-typedef struct _NDIS_MINIPORT_CHARACTERISTICS {
- NDIS50_MINIPORT_CHARACTERISTICS_S
-} NDIS_MINIPORT_CHARACTERISTICS, *PNDIS_MINIPORT_CHARACTERISTICS;
-#elif defined(NDIS40)
-typedef struct _NDIS_MINIPORT_CHARACTERISTICS {
- NDIS40_MINIPORT_CHARACTERISTICS_S
-} NDIS_MINIPORT_CHARACTERISTICS, *PNDIS_MINIPORT_CHARACTERISTICS;
-#elif defined(NDIS30)
-typedef struct _NDIS_MINIPORT_CHARACTERISTICS {
- NDIS30_MINIPORT_CHARACTERISTICS_S
-} NDIS_MINIPORT_CHARACTERISTICS, *PNDIS_MINIPORT_CHARACTERISTICS;
-#endif /* NDIS30 */
-
-
-typedef NDIS_STATUS DDKAPI
-(*SEND_HANDLER)(
- /*IN*/ NDIS_HANDLE MacBindingHandle,
- /*IN*/ PNDIS_PACKET Packet);
-
-typedef NDIS_STATUS DDKAPI
-(*TRANSFER_DATA_HANDLER)(
- /*IN*/ NDIS_HANDLE MacBindingHandle,
- /*IN*/ NDIS_HANDLE MacReceiveContext,
- /*IN*/ UINT ByteOffset,
- /*IN*/ UINT BytesToTransfer,
- /*OUT*/ PNDIS_PACKET Packet,
- /*OUT*/ PUINT BytesTransferred);
-
-typedef NDIS_STATUS DDKAPI
-(*RESET_HANDLER)(
- /*IN*/ NDIS_HANDLE MacBindingHandle);
-
-typedef NDIS_STATUS DDKAPI
-(*REQUEST_HANDLER)(
- /*IN*/ NDIS_HANDLE MacBindingHandle,
- /*IN*/ PNDIS_REQUEST NdisRequest);
-
-
-
-/* Structures available only to full MAC drivers */
-
-typedef BOOLEAN DDKAPI
-(*PNDIS_INTERRUPT_SERVICE)(
- /*IN*/ PVOID InterruptContext);
-
-typedef VOID DDKAPI
-(*PNDIS_DEFERRED_PROCESSING)(
- /*IN*/ PVOID SystemSpecific1,
- /*IN*/ PVOID InterruptContext,
- /*IN*/ PVOID SystemSpecific2,
- /*IN*/ PVOID SystemSpecific3);
-
-
-
-typedef struct _NDIS_MINIPORT_BLOCK NDIS_MINIPORT_BLOCK, *PNDIS_MINIPORT_BLOCK;
-typedef struct _NDIS_PROTOCOL_BLOCK NDIS_PROTOCOL_BLOCK, *PNDIS_PROTOCOL_BLOCK;
-typedef struct _NDIS_OPEN_BLOCK NDIS_OPEN_BLOCK, *PNDIS_OPEN_BLOCK;
-typedef struct _NDIS_M_DRIVER_BLOCK NDIS_M_DRIVER_BLOCK, *PNDIS_M_DRIVER_BLOCK;
-typedef struct _NDIS_AF_LIST NDIS_AF_LIST, *PNDIS_AF_LIST;
-
-
-typedef struct _NDIS_MINIPORT_INTERRUPT {
- PKINTERRUPT InterruptObject;
- KSPIN_LOCK DpcCountLock;
- PVOID MiniportIdField;
- W_ISR_HANDLER MiniportIsr;
- W_HANDLE_INTERRUPT_HANDLER MiniportDpc;
- KDPC InterruptDpc;
- PNDIS_MINIPORT_BLOCK Miniport;
- UCHAR DpcCount;
- BOOLEAN Filler1;
- KEVENT DpcsCompletedEvent;
- BOOLEAN SharedInterrupt;
- BOOLEAN IsrRequested;
-} NDIS_MINIPORT_INTERRUPT, *PNDIS_MINIPORT_INTERRUPT;
-
-typedef struct _NDIS_MINIPORT_TIMER {
- KTIMER Timer;
- KDPC Dpc;
- PNDIS_TIMER_FUNCTION MiniportTimerFunction;
- PVOID MiniportTimerContext;
- PNDIS_MINIPORT_BLOCK Miniport;
- struct _NDIS_MINIPORT_TIMER *NextDeferredTimer;
-} NDIS_MINIPORT_TIMER, *PNDIS_MINIPORT_TIMER;
-
-typedef struct _NDIS_INTERRUPT {
- PKINTERRUPT InterruptObject;
- KSPIN_LOCK DpcCountLock;
- PNDIS_INTERRUPT_SERVICE MacIsr;
- PNDIS_DEFERRED_PROCESSING MacDpc;
- KDPC InterruptDpc;
- PVOID InterruptContext;
- UCHAR DpcCount;
- BOOLEAN Removing;
- KEVENT DpcsCompletedEvent;
-} NDIS_INTERRUPT, *PNDIS_INTERRUPT;
-
-
-typedef struct _MAP_REGISTER_ENTRY {
- PVOID MapRegister;
- BOOLEAN WriteToDevice;
-} MAP_REGISTER_ENTRY, *PMAP_REGISTER_ENTRY;
-
-
-typedef enum _NDIS_WORK_ITEM_TYPE {
- NdisWorkItemRequest,
- NdisWorkItemSend,
- NdisWorkItemReturnPackets,
- NdisWorkItemResetRequested,
- NdisWorkItemResetInProgress,
- NdisWorkItemHalt,
- NdisWorkItemSendLoopback,
- NdisWorkItemMiniportCallback,
- NdisMaxWorkItems
-} NDIS_WORK_ITEM_TYPE, *PNDIS_WORK_ITEM_TYPE;
-
-#define NUMBER_OF_WORK_ITEM_TYPES NdisMaxWorkItems
-#define NUMBER_OF_SINGLE_WORK_ITEMS 6
-
-typedef struct _NDIS_MINIPORT_WORK_ITEM {
- SINGLE_LIST_ENTRY Link;
- NDIS_WORK_ITEM_TYPE WorkItemType;
- PVOID WorkItemContext;
-} NDIS_MINIPORT_WORK_ITEM, *PNDIS_MINIPORT_WORK_ITEM;
-
-
-typedef struct _NDIS_BIND_PATHS {
- UINT Number;
- NDIS_STRING Paths[1];
-} NDIS_BIND_PATHS, *PNDIS_BIND_PATHS;
-
-#define DECLARE_UNKNOWN_STRUCT(BaseName) \
- typedef struct _##BaseName BaseName, *P##BaseName;
-
-#define DECLARE_UNKNOWN_PROTOTYPE(Name) \
- typedef VOID (*(Name))(VOID);
-
-#define ETH_LENGTH_OF_ADDRESS 6
-
-DECLARE_UNKNOWN_STRUCT(ETH_BINDING_INFO)
-
-DECLARE_UNKNOWN_PROTOTYPE(ETH_ADDRESS_CHANGE)
-DECLARE_UNKNOWN_PROTOTYPE(ETH_FILTER_CHANGE)
-DECLARE_UNKNOWN_PROTOTYPE(ETH_DEFERRED_CLOSE)
-
-typedef struct _ETH_FILTER {
- PNDIS_SPIN_LOCK Lock;
- CHAR (*MCastAddressBuf)[ETH_LENGTH_OF_ADDRESS];
- struct _NDIS_MINIPORT_BLOCK *Miniport;
- UINT CombinedPacketFilter;
- PETH_BINDING_INFO OpenList;
- ETH_ADDRESS_CHANGE AddressChangeAction;
- ETH_FILTER_CHANGE FilterChangeAction;
- ETH_DEFERRED_CLOSE CloseAction;
- UINT MaxMulticastAddresses;
- UINT NumAddresses;
- UCHAR AdapterAddress[ETH_LENGTH_OF_ADDRESS];
- UINT OldCombinedPacketFilter;
- CHAR (*OldMCastAddressBuf)[ETH_LENGTH_OF_ADDRESS];
- UINT OldNumAddresses;
- PETH_BINDING_INFO DirectedList;
- PETH_BINDING_INFO BMList;
- PETH_BINDING_INFO MCastSet;
-#if defined(_NDIS_)
- UINT NumOpens;
- PVOID BindListLock;
-#endif
-} ETH_FILTER, *PETH_FILTER;
-
-typedef VOID DDKAPI
-(*ETH_RCV_COMPLETE_HANDLER)(
- /*IN*/ PETH_FILTER Filter);
-
-typedef VOID DDKAPI
-(*ETH_RCV_INDICATE_HANDLER)(
- /*IN*/ PETH_FILTER Filter,
- /*IN*/ NDIS_HANDLE MacReceiveContext,
- /*IN*/ PCHAR Address,
- /*IN*/ PVOID HeaderBuffer,
- /*IN*/ UINT HeaderBufferSize,
- /*IN*/ PVOID LookaheadBuffer,
- /*IN*/ UINT LookaheadBufferSize,
- /*IN*/ UINT PacketSize);
-
-typedef VOID DDKAPI
-(*FDDI_RCV_COMPLETE_HANDLER)(
- /*IN*/ PFDDI_FILTER Filter);
-
-typedef VOID DDKAPI
-(*FDDI_RCV_INDICATE_HANDLER)(
- /*IN*/ PFDDI_FILTER Filter,
- /*IN*/ NDIS_HANDLE MacReceiveContext,
- /*IN*/ PCHAR Address,
- /*IN*/ UINT AddressLength,
- /*IN*/ PVOID HeaderBuffer,
- /*IN*/ UINT HeaderBufferSize,
- /*IN*/ PVOID LookaheadBuffer,
- /*IN*/ UINT LookaheadBufferSize,
- /*IN*/ UINT PacketSize);
-
-typedef VOID DDKAPI
-(*FILTER_PACKET_INDICATION_HANDLER)(
- /*IN*/ NDIS_HANDLE Miniport,
- /*IN*/ PPNDIS_PACKET PacketArray,
- /*IN*/ UINT NumberOfPackets);
-
-typedef VOID DDKAPI
-(*TR_RCV_COMPLETE_HANDLER)(
- /*IN*/ PTR_FILTER Filter);
-
-typedef VOID DDKAPI
-(*TR_RCV_INDICATE_HANDLER)(
- /*IN*/ PTR_FILTER Filter,
- /*IN*/ NDIS_HANDLE MacReceiveContext,
- /*IN*/ PVOID HeaderBuffer,
- /*IN*/ UINT HeaderBufferSize,
- /*IN*/ PVOID LookaheadBuffer,
- /*IN*/ UINT LookaheadBufferSize,
- /*IN*/ UINT PacketSize);
-
-typedef VOID DDKAPI
-(*WAN_RCV_COMPLETE_HANDLER)(
- /*IN*/ NDIS_HANDLE MiniportAdapterHandle,
- /*IN*/ NDIS_HANDLE NdisLinkContext);
-
-typedef VOID DDKAPI
-(*WAN_RCV_HANDLER)(
- /*OUT*/ PNDIS_STATUS Status,
- /*IN*/ NDIS_HANDLE MiniportAdapterHandle,
- /*IN*/ NDIS_HANDLE NdisLinkContext,
- /*IN*/ PUCHAR Packet,
- /*IN*/ ULONG PacketSize);
-
-typedef VOID DDKFASTAPI
-(*NDIS_M_DEQUEUE_WORK_ITEM)(
- /*IN*/ PNDIS_MINIPORT_BLOCK Miniport,
- /*IN*/ NDIS_WORK_ITEM_TYPE WorkItemType,
- /*OUT*/ PVOID *WorkItemContext);
-
-typedef NDIS_STATUS DDKFASTAPI
-(*NDIS_M_QUEUE_NEW_WORK_ITEM)(
- /*IN*/ PNDIS_MINIPORT_BLOCK Miniport,
- /*IN*/ NDIS_WORK_ITEM_TYPE WorkItemType,
- /*IN*/ PVOID WorkItemContext);
-
-typedef NDIS_STATUS DDKFASTAPI
-(*NDIS_M_QUEUE_WORK_ITEM)(
- /*IN*/ PNDIS_MINIPORT_BLOCK Miniport,
- /*IN*/ NDIS_WORK_ITEM_TYPE WorkItemType,
- /*IN*/ PVOID WorkItemContext);
-
-typedef VOID DDKAPI
-(*NDIS_M_REQ_COMPLETE_HANDLER)(
- /*IN*/ NDIS_HANDLE MiniportAdapterHandle,
- /*IN*/ NDIS_STATUS Status);
-
-typedef VOID DDKAPI
-(*NDIS_M_RESET_COMPLETE_HANDLER)(
- /*IN*/ NDIS_HANDLE MiniportAdapterHandle,
- /*IN*/ NDIS_STATUS Status,
- /*IN*/ BOOLEAN AddressingReset);
-
-typedef VOID DDKAPI
-(*NDIS_M_SEND_COMPLETE_HANDLER)(
- /*IN*/ NDIS_HANDLE MiniportAdapterHandle,
- /*IN*/ PNDIS_PACKET Packet,
- /*IN*/ NDIS_STATUS Status);
-
-typedef VOID DDKAPI
-(*NDIS_M_SEND_RESOURCES_HANDLER)(
- /*IN*/ NDIS_HANDLE MiniportAdapterHandle);
-
-typedef BOOLEAN DDKFASTAPI
-(*NDIS_M_START_SENDS)(
- /*IN*/ PNDIS_MINIPORT_BLOCK Miniport);
-
-typedef VOID DDKAPI
-(*NDIS_M_STATUS_HANDLER)(
- /*IN*/ NDIS_HANDLE MiniportHandle,
- /*IN*/ NDIS_STATUS GeneralStatus,
- /*IN*/ PVOID StatusBuffer,
- /*IN*/ UINT StatusBufferSize);
-
-typedef VOID DDKAPI
-(*NDIS_M_STS_COMPLETE_HANDLER)(
- /*IN*/ NDIS_HANDLE MiniportAdapterHandle);
-
-typedef VOID DDKAPI
-(*NDIS_M_TD_COMPLETE_HANDLER)(
- /*IN*/ NDIS_HANDLE MiniportAdapterHandle,
- /*IN*/ PNDIS_PACKET Packet,
- /*IN*/ NDIS_STATUS Status,
- /*IN*/ UINT BytesTransferred);
-
-typedef VOID (DDKAPI *NDIS_WM_SEND_COMPLETE_HANDLER)(
- /*IN*/ NDIS_HANDLE MiniportAdapterHandle,
- /*IN*/ PVOID Packet,
- /*IN*/ NDIS_STATUS Status);
-
-
-#if ARCNET
-
-#define ARC_SEND_BUFFERS 8
-#define ARC_HEADER_SIZE 4
-
-typedef struct _NDIS_ARC_BUF {
- NDIS_HANDLE ArcnetBufferPool;
- PUCHAR ArcnetLookaheadBuffer;
- UINT NumFree;
- ARC_BUFFER_LIST ArcnetBuffers[ARC_SEND_BUFFERS];
-} NDIS_ARC_BUF, *PNDIS_ARC_BUF;
-
-#endif /* ARCNET */
-
-#define NDIS_MINIPORT_WORK_QUEUE_SIZE 10
-
-typedef struct _NDIS_LOG {
- PNDIS_MINIPORT_BLOCK Miniport;
- KSPIN_LOCK LogLock;
- PIRP Irp;
- UINT TotalSize;
- UINT CurrentSize;
- UINT InPtr;
- UINT OutPtr;
- UCHAR LogBuf[1];
-} NDIS_LOG, *PNDIS_LOG;
-
-typedef struct _FILTERDBS {
- _ANONYMOUS_UNION union {
- PETH_FILTER EthDB;
- PNULL_FILTER NullDB;
- } DUMMYUNIONNAME;
- PTR_FILTER TrDB;
- PFDDI_FILTER FddiDB;
-#if ARCNET
- PARC_FILTER ArcDB;
-#else /* !ARCNET */
- PVOID XXXDB;
-#endif /* !ARCNET */
-} FILTERDBS, *PFILTERDBS;
-
-
-struct _NDIS_MINIPORT_BLOCK {
- PVOID Signature;
- PNDIS_MINIPORT_BLOCK NextMiniport;
- PNDIS_M_DRIVER_BLOCK DriverHandle;
- NDIS_HANDLE MiniportAdapterContext;
- UNICODE_STRING MiniportName;
- PNDIS_BIND_PATHS BindPaths;
- NDIS_HANDLE OpenQueue;
- REFERENCE Ref;
- NDIS_HANDLE DeviceContext;
- UCHAR Padding1;
- UCHAR LockAcquired;
- UCHAR PmodeOpens;
- UCHAR AssignedProcessor;
- KSPIN_LOCK Lock;
- PNDIS_REQUEST MediaRequest;
- PNDIS_MINIPORT_INTERRUPT Interrupt;
- ULONG Flags;
- ULONG PnPFlags;
- LIST_ENTRY PacketList;
- PNDIS_PACKET FirstPendingPacket;
- PNDIS_PACKET ReturnPacketsQueue;
- ULONG RequestBuffer;
- PVOID SetMCastBuffer;
- PNDIS_MINIPORT_BLOCK PrimaryMiniport;
- PVOID WrapperContext;
- PVOID BusDataContext;
- ULONG PnPCapabilities;
- PCM_RESOURCE_LIST Resources;
- NDIS_TIMER WakeUpDpcTimer;
- UNICODE_STRING BaseName;
- UNICODE_STRING SymbolicLinkName;
- ULONG CheckForHangSeconds;
- USHORT CFHangTicks;
- USHORT CFHangCurrentTick;
- NDIS_STATUS ResetStatus;
- NDIS_HANDLE ResetOpen;
- FILTERDBS FilterDbs;
- FILTER_PACKET_INDICATION_HANDLER PacketIndicateHandler;
- NDIS_M_SEND_COMPLETE_HANDLER SendCompleteHandler;
- NDIS_M_SEND_RESOURCES_HANDLER SendResourcesHandler;
- NDIS_M_RESET_COMPLETE_HANDLER ResetCompleteHandler;
- NDIS_MEDIUM MediaType;
- ULONG BusNumber;
- NDIS_INTERFACE_TYPE BusType;
- NDIS_INTERFACE_TYPE AdapterType;
- PDEVICE_OBJECT DeviceObject;
- PDEVICE_OBJECT PhysicalDeviceObject;
- PDEVICE_OBJECT NextDeviceObject;
- PMAP_REGISTER_ENTRY MapRegisters;
- PNDIS_AF_LIST CallMgrAfList;
- PVOID MiniportThread;
- PVOID SetInfoBuf;
- USHORT SetInfoBufLen;
- USHORT MaxSendPackets;
- NDIS_STATUS FakeStatus;
- PVOID LockHandler;
- PUNICODE_STRING pAdapterInstanceName;
- PNDIS_MINIPORT_TIMER TimerQueue;
- UINT MacOptions;
- PNDIS_REQUEST PendingRequest;
- UINT MaximumLongAddresses;
- UINT MaximumShortAddresses;
- UINT CurrentLookahead;
- UINT MaximumLookahead;
- W_HANDLE_INTERRUPT_HANDLER HandleInterruptHandler;
- W_DISABLE_INTERRUPT_HANDLER DisableInterruptHandler;
- W_ENABLE_INTERRUPT_HANDLER EnableInterruptHandler;
- W_SEND_PACKETS_HANDLER SendPacketsHandler;
- NDIS_M_START_SENDS DeferredSendHandler;
- ETH_RCV_INDICATE_HANDLER EthRxIndicateHandler;
- TR_RCV_INDICATE_HANDLER TrRxIndicateHandler;
- FDDI_RCV_INDICATE_HANDLER FddiRxIndicateHandler;
- ETH_RCV_COMPLETE_HANDLER EthRxCompleteHandler;
- TR_RCV_COMPLETE_HANDLER TrRxCompleteHandler;
- FDDI_RCV_COMPLETE_HANDLER FddiRxCompleteHandler;
- NDIS_M_STATUS_HANDLER StatusHandler;
- NDIS_M_STS_COMPLETE_HANDLER StatusCompleteHandler;
- NDIS_M_TD_COMPLETE_HANDLER TDCompleteHandler;
- NDIS_M_REQ_COMPLETE_HANDLER QueryCompleteHandler;
- NDIS_M_REQ_COMPLETE_HANDLER SetCompleteHandler;
- NDIS_WM_SEND_COMPLETE_HANDLER WanSendCompleteHandler;
- WAN_RCV_HANDLER WanRcvHandler;
- WAN_RCV_COMPLETE_HANDLER WanRcvCompleteHandler;
-#if defined(_NDIS_)
- PNDIS_MINIPORT_BLOCK NextGlobalMiniport;
- SINGLE_LIST_ENTRY WorkQueue[NUMBER_OF_WORK_ITEM_TYPES];
- SINGLE_LIST_ENTRY SingleWorkItems[NUMBER_OF_SINGLE_WORK_ITEMS];
- UCHAR SendFlags;
- UCHAR TrResetRing;
- UCHAR ArcnetAddress;
- UCHAR XState;
- _ANONYMOUS_UNION union {
-#if ARCNET
- PNDIS_ARC_BUF ArcBuf;
-#endif
- PVOID BusInterface;
- } DUMMYUNIONNAME;
- PNDIS_LOG Log;
- ULONG SlotNumber;
- PCM_RESOURCE_LIST AllocatedResources;
- PCM_RESOURCE_LIST AllocatedResourcesTranslated;
- SINGLE_LIST_ENTRY PatternList;
- NDIS_PNP_CAPABILITIES PMCapabilities;
- DEVICE_CAPABILITIES DeviceCaps;
- ULONG WakeUpEnable;
- DEVICE_POWER_STATE CurrentDevicePowerState;
- PIRP pIrpWaitWake;
- SYSTEM_POWER_STATE WaitWakeSystemState;
- LARGE_INTEGER VcIndex;
- KSPIN_LOCK VcCountLock;
- LIST_ENTRY WmiEnabledVcs;
- PNDIS_GUID pNdisGuidMap;
- PNDIS_GUID pCustomGuidMap;
- USHORT VcCount;
- USHORT cNdisGuidMap;
- USHORT cCustomGuidMap;
- USHORT CurrentMapRegister;
- PKEVENT AllocationEvent;
- USHORT BaseMapRegistersNeeded;
- USHORT SGMapRegistersNeeded;
- ULONG MaximumPhysicalMapping;
- NDIS_TIMER MediaDisconnectTimer;
- USHORT MediaDisconnectTimeOut;
- USHORT InstanceNumber;
- NDIS_EVENT OpenReadyEvent;
- NDIS_PNP_DEVICE_STATE PnPDeviceState;
- NDIS_PNP_DEVICE_STATE OldPnPDeviceState;
- PGET_SET_DEVICE_DATA SetBusData;
- PGET_SET_DEVICE_DATA GetBusData;
- KDPC DeferredDpc;
-#if 0
- /* FIXME: */
- NDIS_STATS NdisStats;
-#else
- ULONG NdisStats;
-#endif
- PNDIS_PACKET IndicatedPacket[MAXIMUM_PROCESSORS];
- PKEVENT RemoveReadyEvent;
- PKEVENT AllOpensClosedEvent;
- PKEVENT AllRequestsCompletedEvent;
- ULONG InitTimeMs;
- NDIS_MINIPORT_WORK_ITEM WorkItemBuffer[NUMBER_OF_SINGLE_WORK_ITEMS];
- PDMA_ADAPTER SystemAdapterObject;
- ULONG DriverVerifyFlags;
- POID_LIST OidList;
- USHORT InternalResetCount;
- USHORT MiniportResetCount;
- USHORT MediaSenseConnectCount;
- USHORT MediaSenseDisconnectCount;
- PNDIS_PACKET *xPackets;
- ULONG UserModeOpenReferences;
- _ANONYMOUS_UNION union {
- PVOID SavedSendHandler;
- PVOID SavedWanSendHandler;
- } DUMMYUNIONNAME2;
- PVOID SavedSendPacketsHandler;
- PVOID SavedCancelSendPacketsHandler;
- W_SEND_PACKETS_HANDLER WSendPacketsHandler;
- ULONG MiniportAttributes;
- PDMA_ADAPTER SavedSystemAdapterObject;
- USHORT NumOpens;
- USHORT CFHangXTicks;
- ULONG RequestCount;
- ULONG IndicatedPacketsCount;
- ULONG PhysicalMediumType;
- PNDIS_REQUEST LastRequest;
- LONG DmaAdapterRefCount;
- PVOID FakeMac;
- ULONG LockDbg;
- ULONG LockDbgX;
- PVOID LockThread;
- ULONG InfoFlags;
- KSPIN_LOCK TimerQueueLock;
- PKEVENT ResetCompletedEvent;
- PKEVENT QueuedBindingCompletedEvent;
- PKEVENT DmaResourcesReleasedEvent;
- FILTER_PACKET_INDICATION_HANDLER SavedPacketIndicateHandler;
- ULONG RegisteredInterrupts;
- PNPAGED_LOOKASIDE_LIST SGListLookasideList;
- ULONG ScatterGatherListSize;
-#endif /* _NDIS_ */
-};
-
-
-/* Handler prototypes for NDIS_OPEN_BLOCK */
-
-typedef NDIS_STATUS (DDKAPI *WAN_SEND_HANDLER)(
- /*IN*/ NDIS_HANDLE MacBindingHandle,
- /*IN*/ NDIS_HANDLE LinkHandle,
- /*IN*/ PVOID Packet);
-
-/* NDIS 4.0 extension */
-
-typedef VOID (DDKAPI *SEND_PACKETS_HANDLER)(
- /*IN*/ NDIS_HANDLE MiniportAdapterContext,
- /*IN*/ PPNDIS_PACKET PacketArray,
- /*IN*/ UINT NumberOfPackets);
-
-
-typedef struct _NDIS_COMMON_OPEN_BLOCK {
- PVOID MacHandle;
- NDIS_HANDLE BindingHandle;
- PNDIS_MINIPORT_BLOCK MiniportHandle;
- PNDIS_PROTOCOL_BLOCK ProtocolHandle;
- NDIS_HANDLE ProtocolBindingContext;
- PNDIS_OPEN_BLOCK MiniportNextOpen;
- PNDIS_OPEN_BLOCK ProtocolNextOpen;
- NDIS_HANDLE MiniportAdapterContext;
- BOOLEAN Reserved1;
- BOOLEAN Reserved2;
- BOOLEAN Reserved3;
- BOOLEAN Reserved4;
- PNDIS_STRING BindDeviceName;
- KSPIN_LOCK Reserved5;
- PNDIS_STRING RootDeviceName;
- _ANONYMOUS_UNION union {
- SEND_HANDLER SendHandler;
- WAN_SEND_HANDLER WanSendHandler;
- } DUMMYUNIONNAME;
- TRANSFER_DATA_HANDLER TransferDataHandler;
- SEND_COMPLETE_HANDLER SendCompleteHandler;
- TRANSFER_DATA_COMPLETE_HANDLER TransferDataCompleteHandler;
- RECEIVE_HANDLER ReceiveHandler;
- RECEIVE_COMPLETE_HANDLER ReceiveCompleteHandler;
- WAN_RECEIVE_HANDLER WanReceiveHandler;
- REQUEST_COMPLETE_HANDLER RequestCompleteHandler;
- RECEIVE_PACKET_HANDLER ReceivePacketHandler;
- SEND_PACKETS_HANDLER SendPacketsHandler;
- RESET_HANDLER ResetHandler;
- REQUEST_HANDLER RequestHandler;
- RESET_COMPLETE_HANDLER ResetCompleteHandler;
- STATUS_HANDLER StatusHandler;
- STATUS_COMPLETE_HANDLER StatusCompleteHandler;
-#if defined(_NDIS_)
- ULONG Flags;
- ULONG References;
- KSPIN_LOCK SpinLock;
- NDIS_HANDLE FilterHandle;
- ULONG ProtocolOptions;
- USHORT CurrentLookahead;
- USHORT ConnectDampTicks;
- USHORT DisconnectDampTicks;
- W_SEND_HANDLER WSendHandler;
- W_TRANSFER_DATA_HANDLER WTransferDataHandler;
- W_SEND_PACKETS_HANDLER WSendPacketsHandler;
- W_CANCEL_SEND_PACKETS_HANDLER CancelSendPacketsHandler;
- ULONG WakeUpEnable;
- PKEVENT CloseCompleteEvent;
- QUEUED_CLOSE QC;
- ULONG AfReferences;
- PNDIS_OPEN_BLOCK NextGlobalOpen;
-#endif /* _NDIS_ */
-} NDIS_COMMON_OPEN_BLOCK;
-
-struct _NDIS_OPEN_BLOCK
-{
- NDIS_COMMON_OPEN_BLOCK NdisCommonOpenBlock;
-#if defined(_NDIS_)
- struct _NDIS_OPEN_CO
- {
- struct _NDIS_CO_AF_BLOCK * NextAf;
- W_CO_CREATE_VC_HANDLER MiniportCoCreateVcHandler;
- W_CO_REQUEST_HANDLER MiniportCoRequestHandler;
- CO_CREATE_VC_HANDLER CoCreateVcHandler;
- CO_DELETE_VC_HANDLER CoDeleteVcHandler;
- PVOID CmActivateVcCompleteHandler;
- PVOID CmDeactivateVcCompleteHandler;
- PVOID CoRequestCompleteHandler;
- LIST_ENTRY ActiveVcHead;
- LIST_ENTRY InactiveVcHead;
- LONG PendingAfNotifications;
- PKEVENT AfNotifyCompleteEvent;
- };
-#endif /* _NDIS_ */
-};
-
-
-
-/* Routines for NDIS miniport drivers */
-
-NTOSAPI
-VOID
-DDKAPI
-NdisMInitializeTimer(
- /*IN*/ /*OUT*/ PNDIS_MINIPORT_TIMER Timer,
- /*IN*/ NDIS_HANDLE MiniportAdapterHandle,
- /*IN*/ PNDIS_TIMER_FUNCTION TimerFunction,
- /*IN*/ PVOID FunctionContext);
-
-NTOSAPI
-VOID
-DDKAPI
-NdisMSetPeriodicTimer(
- /*IN*/ PNDIS_MINIPORT_TIMER Timer,
- /*IN*/ UINT MillisecondsPeriod);
-
-NTOSAPI
-VOID
-DDKAPI
-NdisMCancelTimer(
- /*IN*/ PNDIS_MINIPORT_TIMER Timer,
- /*OUT*/ PBOOLEAN TimerCancelled);
-
-NDISAPI
-VOID
-DDKAPI
-NdisInitializeWrapper(
- /*OUT*/ PNDIS_HANDLE NdisWrapperHandle,
- /*IN*/ PVOID SystemSpecific1,
- /*IN*/ PVOID SystemSpecific2,
- /*IN*/ PVOID SystemSpecific3);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisMAllocateMapRegisters(
- /*IN*/ NDIS_HANDLE MiniportAdapterHandle,
- /*IN*/ UINT DmaChannel,
- /*IN*/ BOOLEAN Dma32BitAddresses,
- /*IN*/ ULONG PhysicalMapRegistersNeeded,
- /*IN*/ ULONG MaximumPhysicalMapping);
-
-/*
- * VOID
- * NdisMArcIndicateReceive(
- * IN NDIS_HANDLE MiniportAdapterHandle,
- * IN PUCHAR HeaderBuffer,
- * IN PUCHAR DataBuffer,
- * IN UINT Length);
- */
-#define NdisMArcIndicateReceive(MiniportAdapterHandle, \
- HeaderBuffer, \
- DataBuffer, \
- Length) \
-{ \
- ArcFilterDprIndicateReceive( \
- (((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->FilterDbs.ArcDB), \
- (HeaderBuffer), \
- (DataBuffer), \
- (Length)); \
-}
-
-/*
- * VOID
- * NdisMArcIndicateReceiveComplete(
- * IN NDIS_HANDLE MiniportAdapterHandle);
- */
-#define NdisMArcIndicateReceiveComplete(MiniportAdapterHandle) \
-{ \
- if (((PNDIS_MINIPORT_BLOCK)MiniportAdapterHandle)->EthDB) \
- { \
- NdisMEthIndicateReceiveComplete(_H); \
- } \
- \
- ArcFilterDprIndicateReceiveComplete( \
- ((PNDIS_MINIPORT_BLOCK)MiniportAdapterHandle)->ArcDB); \
-}
-
-NDISAPI
-VOID
-DDKAPI
-NdisMCloseLog(
- /*IN*/ NDIS_HANDLE LogHandle);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisMCreateLog(
- /*IN*/ NDIS_HANDLE MiniportAdapterHandle,
- /*IN*/ UINT Size,
- /*OUT*/ PNDIS_HANDLE LogHandle);
-
-NDISAPI
-VOID
-DDKAPI
-NdisMDeregisterAdapterShutdownHandler(
- /*IN*/ NDIS_HANDLE MiniportHandle);
-
-NDISAPI
-VOID
-DDKAPI
-NdisMDeregisterInterrupt(
- /*IN*/ PNDIS_MINIPORT_INTERRUPT Interrupt);
-
-NDISAPI
-VOID
-DDKAPI
-NdisMDeregisterIoPortRange(
- /*IN*/ NDIS_HANDLE MiniportAdapterHandle,
- /*IN*/ UINT InitialPort,
- /*IN*/ UINT NumberOfPorts,
- /*IN*/ PVOID PortOffset);
-
-/*
- * VOID
- * NdisMEthIndicateReceive(
- * IN NDIS_HANDLE MiniportAdapterHandle,
- * IN NDIS_HANDLE MiniportReceiveContext,
- * IN PVOID HeaderBuffer,
- * IN UINT HeaderBufferSize,
- * IN PVOID LookaheadBuffer,
- * IN UINT LookaheadBufferSize,
- * IN UINT PacketSize);
- */
-#define NdisMEthIndicateReceive(MiniportAdapterHandle, \
- MiniportReceiveContext, \
- HeaderBuffer, \
- HeaderBufferSize, \
- LookaheadBuffer, \
- LookaheadBufferSize, \
- PacketSize) \
-{ \
- (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->EthRxIndicateHandler)( \
- (((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->FilterDbs.EthDB), \
- (MiniportReceiveContext), \
- (HeaderBuffer), \
- (HeaderBuffer), \
- (HeaderBufferSize), \
- (LookaheadBuffer), \
- (LookaheadBufferSize), \
- (PacketSize)); \
-}
-
-/*
- * VOID
- * NdisMEthIndicateReceiveComplete(
- * IN NDIS_HANDLE MiniportAdapterHandle);
- */
-#define NdisMEthIndicateReceiveComplete(MiniportAdapterHandle) \
-{ \
- (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->EthRxCompleteHandler)( \
- ((PNDIS_MINIPORT_BLOCK)MiniportAdapterHandle)->FilterDbs.EthDB); \
-}
-
-/*
- * VOID
- * NdisMFddiIndicateReceive(
- * IN NDIS_HANDLE MiniportAdapterHandle,
- * IN NDIS_HANDLE MiniportReceiveContext,
- * IN PVOID HeaderBuffer,
- * IN UINT HeaderBufferSize,
- * IN PVOID LookaheadBuffer,
- * IN UINT LookaheadBufferSize,
- * IN UINT PacketSize);
- */
-#define NdisMFddiIndicateReceive(MiniportAdapterHandle, \
- MiniportReceiveContext, \
- HeaderBuffer, \
- HeaderBufferSize, \
- LookaheadBuffer, \
- LookaheadBufferSize, \
- PacketSize) \
-{ \
- (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->FddiRxIndicateHandler)( \
- (((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->FilterDbs.FddiDB), \
- (MiniportReceiveContext), \
- (PUCHAR)(HeaderBuffer) + 1, \
- (((*(PUCHAR*)(HeaderBuffer)) & 0x40) ? \
- FDDI_LENGTH_OF_LONG_ADDRESS : \
- FDDI_LENGTH_OF_SHORT_ADDRESS), \
- (HeaderBuffer), \
- (HeaderBufferSize), \
- (LookaheadBuffer), \
- (LookaheadBufferSize), \
- (PacketSize)); \
-}
-
-
-
-/*
- * VOID
- * NdisMFddiIndicateReceiveComplete(
- * IN NDIS_HANDLE MiniportAdapterHandle);
- */
-#define NdisMFddiIndicateReceiveComplete(MiniportAdapterHandle) \
-{ \
- (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->FddiRxCompleteHandler)( \
- ((PNDIS_MINIPORT_BLOCK)MiniportAdapterHandle)->FilterDbs.FddiDB); \
-}
-
-NDISAPI
-VOID
-DDKAPI
-NdisMFlushLog(
- /*IN*/ NDIS_HANDLE LogHandle);
-
-NDISAPI
-VOID
-DDKAPI
-NdisMFreeMapRegisters(
- /*IN*/ NDIS_HANDLE MiniportAdapterHandle);
-
-/*
- * VOID
- * NdisMIndicateStatus(
- * IN NDIS_HANDLE MiniportAdapterHandle,
- * IN NDIS_STATUS GeneralStatus,
- * IN PVOID StatusBuffer,
- * IN UINT StatusBufferSize);
- */
-
-#define NdisMIndicateStatus(MiniportAdapterHandle, \
- GeneralStatus, StatusBuffer, StatusBufferSize) \
- (*((PNDIS_MINIPORT_BLOCK)(_M))->StatusHandler)( \
- MiniportAdapterHandle, GeneralStatus, StatusBuffer, StatusBufferSize)
-
-/*
- * VOID
- * NdisMIndicateStatusComplete(
- * IN NDIS_HANDLE MiniportAdapterHandle);
- */
-#define NdisMIndicateStatusComplete(MiniportAdapterHandle) \
- (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->StatusCompleteHandler)( \
- MiniportAdapterHandle)
-
-/*
- * VOID
- * NdisMInitializeWrapper(
- * OUT PNDIS_HANDLE NdisWrapperHandle,
- * IN PVOID SystemSpecific1,
- * IN PVOID SystemSpecific2,
- * IN PVOID SystemSpecific3);
- */
-#define NdisMInitializeWrapper(NdisWrapperHandle, \
- SystemSpecific1, \
- SystemSpecific2, \
- SystemSpecific3) \
- NdisInitializeWrapper((NdisWrapperHandle), \
- (SystemSpecific1), \
- (SystemSpecific2), \
- (SystemSpecific3))
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisMMapIoSpace(
- /*OUT*/ PVOID *VirtualAddress,
- /*IN*/ NDIS_HANDLE MiniportAdapterHandle,
- /*IN*/ NDIS_PHYSICAL_ADDRESS PhysicalAddress,
- /*IN*/ UINT Length);
-
-/*
- * VOID
- * NdisMQueryInformationComplete(
- * IN NDIS_HANDLE MiniportAdapterHandle,
- * IN NDIS_STATUS Status);
- */
-#define NdisMQueryInformationComplete(MiniportAdapterHandle, Status) \
- (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->QueryCompleteHandler)(MiniportAdapterHandle, Status)
-
-NDISAPI
-VOID
-DDKAPI
-NdisMRegisterAdapterShutdownHandler(
- /*IN*/ NDIS_HANDLE MiniportHandle,
- /*IN*/ PVOID ShutdownContext,
- /*IN*/ ADAPTER_SHUTDOWN_HANDLER ShutdownHandler);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisMRegisterInterrupt(
- /*OUT*/ PNDIS_MINIPORT_INTERRUPT Interrupt,
- /*IN*/ NDIS_HANDLE MiniportAdapterHandle,
- /*IN*/ UINT InterruptVector,
- /*IN*/ UINT InterruptLevel,
- /*IN*/ BOOLEAN RequestIsr,
- /*IN*/ BOOLEAN SharedInterrupt,
- /*IN*/ NDIS_INTERRUPT_MODE InterruptMode);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisMRegisterIoPortRange(
- /*OUT*/ PVOID *PortOffset,
- /*IN*/ NDIS_HANDLE MiniportAdapterHandle,
- /*IN*/ UINT InitialPort,
- /*IN*/ UINT NumberOfPorts);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisMRegisterMiniport(
- /*IN*/ NDIS_HANDLE NdisWrapperHandle,
- /*IN*/ PNDIS_MINIPORT_CHARACTERISTICS MiniportCharacteristics,
- /*IN*/ UINT CharacteristicsLength);
-
-
-#if !defined(_NDIS_)
-
-/*
- * VOID
- * NdisMResetComplete(
- * IN NDIS_HANDLE MiniportAdapterHandle,
- * IN NDIS_STATUS Status,
- * IN BOOLEAN AddressingReset);
- */
-#define NdisMResetComplete(MiniportAdapterHandle, \
- Status, \
- AddressingReset) \
-{ \
- (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->ResetCompleteHandler)( \
- MiniportAdapterHandle, Status, AddressingReset); \
-}
-
-/*
- * VOID
- * NdisMSendComplete(
- * IN NDIS_HANDLE MiniportAdapterHandle,
- * IN PNDIS_PACKET Packet,
- * IN NDIS_STATUS Status);
- */
-#define NdisMSendComplete(MiniportAdapterHandle, \
- Packet, \
- Status) \
-{ \
- (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->SendCompleteHandler)( \
- MiniportAdapterHandle, Packet, Status); \
-}
-
-/*
- * VOID
- * NdisMSendResourcesAvailable(
- * IN NDIS_HANDLE MiniportAdapterHandle);
- */
-#define NdisMSendResourcesAvailable(MiniportAdapterHandle) \
-{ \
- (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->SendResourcesHandler)( \
- MiniportAdapterHandle); \
-}
-
-/*
- * VOID
- * NdisMTransferDataComplete(
- * IN NDIS_HANDLE MiniportAdapterHandle,
- * IN PNDIS_PACKET Packet,
- * IN NDIS_STATUS Status,
- * IN UINT BytesTransferred);
- */
-#define NdisMTransferDataComplete(MiniportAdapterHandle, \
- Packet, \
- Status, \
- BytesTransferred) \
-{ \
- (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->TDCompleteHandler)( \
- MiniportAdapterHandle, Packet, Status, BytesTransferred) \
-}
-
-#endif /* !_NDIS_ */
-
-
-/*
- * VOID
- * NdisMSetAttributes(
- * IN NDIS_HANDLE MiniportAdapterHandle,
- * IN NDIS_HANDLE MiniportAdapterContext,
- * IN BOOLEAN BusMaster,
- * IN NDIS_INTERFACE_TYPE AdapterType);
- */
-#define NdisMSetAttributes(MiniportAdapterHandle, \
- MiniportAdapterContext, \
- BusMaster, \
- AdapterType) \
- NdisMSetAttributesEx(MiniportAdapterHandle, \
- MiniportAdapterContext, \
- 0, \
- (BusMaster) ? NDIS_ATTRIBUTE_BUS_MASTER : 0, \
- AdapterType)
-
-NDISAPI
-VOID
-DDKAPI
-NdisMSetAttributesEx(
- /*IN*/ NDIS_HANDLE MiniportAdapterHandle,
- /*IN*/ NDIS_HANDLE MiniportAdapterContext,
- /*IN*/ UINT CheckForHangTimeInSeconds /*OPTIONAL*/,
- /*IN*/ ULONG AttributeFlags,
- /*IN*/ NDIS_INTERFACE_TYPE AdapterType);
-
-/*
- * VOID
- * NdisMSetInformationComplete(
- * IN NDIS_HANDLE MiniportAdapterHandle,
- * IN NDIS_STATUS Status);
- */
-#define NdisMSetInformationComplete(MiniportAdapterHandle, \
- Status) \
- (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->SetCompleteHandler)( \
- MiniportAdapterHandle, Status)
-
-NDISAPI
-VOID
-DDKAPI
-NdisMSleep(
- /*IN*/ ULONG MicrosecondsToSleep);
-
-NDISAPI
-BOOLEAN
-DDKAPI
-NdisMSynchronizeWithInterrupt(
- /*IN*/ PNDIS_MINIPORT_INTERRUPT Interrupt,
- /*IN*/ PVOID SynchronizeFunction,
- /*IN*/ PVOID SynchronizeContext);
-
-/*
- * VOID
- * NdisMTrIndicateReceive(
- * IN NDIS_HANDLE MiniportAdapterHandle,
- * IN NDIS_HANDLE MiniportReceiveContext,
- * IN PVOID HeaderBuffer,
- * IN UINT HeaderBufferSize,
- * IN PVOID LookaheadBuffer,
- * IN UINT LookaheadBufferSize,
- * IN UINT PacketSize);
- */
-#define NdisMTrIndicateReceive(MiniportAdapterHandle, \
- MiniportReceiveContext, \
- HeaderBuffer, \
- HeaderBufferSize, \
- LookaheadBuffer, \
- LookaheadBufferSize, \
- PacketSize) \
-{ \
- (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->TrRxIndicateHandler)( \
- (((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->FilterDbs.TrDB), \
- (MiniportReceiveContext), \
- (HeaderBuffer), \
- (HeaderBuffer), \
- (HeaderBufferSize), \
- (LookaheadBuffer), \
- (LookaheadBufferSize), \
- (PacketSize)); \
-}
-
-/*
- * VOID
- * NdisMTrIndicateReceiveComplete(
- * IN NDIS_HANDLE MiniportAdapterHandle);
- */
-#define NdisMTrIndicateReceiveComplete(MiniportAdapterHandle) \
-{ \
- (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->TrRxCompleteHandler)( \
- ((PNDIS_MINIPORT_BLOCK)MiniportAdapterHandle)->FilterDbs.TrDB); \
-}
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisMWriteLogData(
- /*IN*/ NDIS_HANDLE LogHandle,
- /*IN*/ PVOID LogBuffer,
- /*IN*/ UINT LogBufferSize);
-
-NDISAPI
-VOID
-DDKAPI
-NdisMQueryAdapterResources(
- /*OUT*/ PNDIS_STATUS Status,
- /*IN*/ NDIS_HANDLE WrapperConfigurationContext,
- /*OUT*/ PNDIS_RESOURCE_LIST ResourceList,
- /*IN OUT*/ PUINT BufferSize);
-
-NDISAPI
-VOID
-DDKAPI
-NdisTerminateWrapper(
- /*IN*/ NDIS_HANDLE NdisWrapperHandle,
- /*IN*/ PVOID SystemSpecific);
-
-NDISAPI
-VOID
-DDKAPI
-NdisMUnmapIoSpace(
- /*IN*/ NDIS_HANDLE MiniportAdapterHandle,
- /*IN*/ PVOID VirtualAddress,
- /*IN*/ UINT Length);
-
-
-
-/* NDIS intermediate miniport structures */
-
-typedef VOID (DDKAPI *W_MINIPORT_CALLBACK)(
- /*IN*/ NDIS_HANDLE MiniportAdapterContext,
- /*IN*/ PVOID CallbackContext);
-
-
-
-/* Routines for intermediate miniport drivers */
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisIMDeInitializeDeviceInstance(
- /*IN*/ NDIS_HANDLE NdisMiniportHandle);
-
-/*
- * NDIS_STATUS
- * NdisIMInitializeDeviceInstance(
- * IN NDIS_HANDLE DriverHandle,
- * IN PNDIS_STRING DeviceInstance);
- */
-#define NdisIMInitializeDeviceInstance(DriverHandle, DeviceInstance) \
- NdisIMInitializeDeviceInstanceEx(DriverHandle, DeviceInstance, NULL)
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisIMRegisterLayeredMiniport(
- /*IN*/ NDIS_HANDLE NdisWrapperHandle,
- /*IN*/ PNDIS_MINIPORT_CHARACTERISTICS MiniportCharacteristics,
- /*IN*/ UINT CharacteristicsLength,
- /*OUT*/ PNDIS_HANDLE DriverHandle);
-
-
-/* Functions obsoleted by NDIS 5.0 */
-
-NDISAPI
-VOID
-DDKAPI
-NdisFreeDmaChannel(
- /*IN*/ PNDIS_HANDLE NdisDmaHandle);
-
-NDISAPI
-VOID
-DDKAPI
-NdisSetupDmaTransfer(
- /*OUT*/ PNDIS_STATUS Status,
- /*IN*/ PNDIS_HANDLE NdisDmaHandle,
- /*IN*/ PNDIS_BUFFER Buffer,
- /*IN*/ ULONG Offset,
- /*IN*/ ULONG Length,
- /*IN*/ BOOLEAN WriteToDevice);
-
-NDISAPI
-NTSTATUS
-DDKAPI
-NdisUpcaseUnicodeString(
- /*OUT*/ PUNICODE_STRING DestinationString,
- /*IN*/ PUNICODE_STRING SourceString);
-
-
-/* Routines for NDIS protocol drivers */
-
-NDISAPI
-VOID
-DDKAPI
-NdisRequest(
- /*OUT*/ PNDIS_STATUS Status,
- /*IN*/ NDIS_HANDLE NdisBindingHandle,
- /*IN*/ PNDIS_REQUEST NdisRequest);
-
-NDISAPI
-VOID
-DDKAPI
-NdisReset(
- /*OUT*/ PNDIS_STATUS Status,
- /*IN*/ NDIS_HANDLE NdisBindingHandle);
-
-NDISAPI
-VOID
-DDKAPI
-NdisSend(
- /*OUT*/ PNDIS_STATUS Status,
- /*IN*/ NDIS_HANDLE NdisBindingHandle,
- /*IN*/ PNDIS_PACKET Packet);
-
-NDISAPI
-VOID
-DDKAPI
-NdisSendPackets(
- /*IN*/ NDIS_HANDLE NdisBindingHandle,
- /*IN*/ PPNDIS_PACKET PacketArray,
- /*IN*/ UINT NumberOfPackets);
-
-NDISAPI
-VOID
-DDKAPI
-NdisTransferData(
- /*OUT*/ PNDIS_STATUS Status,
- /*IN*/ NDIS_HANDLE NdisBindingHandle,
- /*IN*/ NDIS_HANDLE MacReceiveContext,
- /*IN*/ UINT ByteOffset,
- /*IN*/ UINT BytesToTransfer,
- /*IN OUT*/ PNDIS_PACKET Packet,
- /*OUT*/ PUINT BytesTransferred);
-
-NDISAPI
-VOID
-DDKAPI
-NdisCloseAdapter(
- /*OUT*/ PNDIS_STATUS Status,
- /*IN*/ NDIS_HANDLE NdisBindingHandle);
-
-NDISAPI
-VOID
-DDKAPI
-NdisCompleteBindAdapter(
- /*IN*/ NDIS_HANDLE BindAdapterContext,
- /*IN*/ NDIS_STATUS Status,
- /*IN*/ NDIS_STATUS OpenStatus);
-
-NDISAPI
-VOID
-DDKAPI
-NdisCompleteUnbindAdapter(
- /*IN*/ NDIS_HANDLE UnbindAdapterContext,
- /*IN*/ NDIS_STATUS Status);
-
-NDISAPI
-VOID
-DDKAPI
-NdisDeregisterProtocol(
- /*OUT*/ PNDIS_STATUS Status,
- /*IN*/ NDIS_HANDLE NdisProtocolHandle);
-
-NDISAPI
-VOID
-DDKAPI
-NdisOpenAdapter(
- /*OUT*/ PNDIS_STATUS Status,
- /*OUT*/ PNDIS_STATUS OpenErrorStatus,
- /*OUT*/ PNDIS_HANDLE NdisBindingHandle,
- /*OUT*/ PUINT SelectedMediumIndex,
- /*IN*/ PNDIS_MEDIUM MediumArray,
- /*IN*/ UINT MediumArraySize,
- /*IN*/ NDIS_HANDLE NdisProtocolHandle,
- /*IN*/ NDIS_HANDLE ProtocolBindingContext,
- /*IN*/ PNDIS_STRING AdapterName,
- /*IN*/ UINT OpenOptions,
- /*IN*/ PSTRING AddressingInformation);
-
-NDISAPI
-VOID
-DDKAPI
-NdisOpenProtocolConfiguration(
- /*OUT*/ PNDIS_STATUS Status,
- /*OUT*/ PNDIS_HANDLE ConfigurationHandle,
- /*IN*/ PNDIS_STRING ProtocolSection);
-
-NDISAPI
-VOID
-DDKAPI
-NdisRegisterProtocol(
- /*OUT*/ PNDIS_STATUS Status,
- /*OUT*/ PNDIS_HANDLE NdisProtocolHandle,
- /*IN*/ PNDIS_PROTOCOL_CHARACTERISTICS ProtocolCharacteristics,
- /*IN*/ UINT CharacteristicsLength);
-
-/* Obsoleted in Windows XP */
-
-/* Prototypes for NDIS_MAC_CHARACTERISTICS */
-
-typedef NDIS_STATUS (*OPEN_ADAPTER_HANDLER)(
- /*OUT*/ PNDIS_STATUS OpenErrorStatus,
- /*OUT*/ NDIS_HANDLE *MacBindingHandle,
- /*OUT*/ PUINT SelectedMediumIndex,
- /*IN*/ PNDIS_MEDIUM MediumArray,
- /*IN*/ UINT MediumArraySize,
- /*IN*/ NDIS_HANDLE NdisBindingContext,
- /*IN*/ NDIS_HANDLE MacAdapterContext,
- /*IN*/ UINT OpenOptions,
- /*IN*/ PSTRING AddressingInformation /*OPTIONAL*/);
-
-typedef NDIS_STATUS (DDKAPI *CLOSE_ADAPTER_HANDLER)(
- /*IN*/ NDIS_HANDLE MacBindingHandle);
-
-typedef NDIS_STATUS (DDKAPI *WAN_TRANSFER_DATA_HANDLER)(
- VOID);
-
-typedef NDIS_STATUS (DDKAPI *QUERY_GLOBAL_STATISTICS_HANDLER)(
- /*IN*/ NDIS_HANDLE MacAdapterContext,
- /*IN*/ PNDIS_REQUEST NdisRequest);
-
-typedef VOID (DDKAPI *UNLOAD_MAC_HANDLER)(
- /*IN*/ NDIS_HANDLE MacMacContext);
-
-typedef NDIS_STATUS (DDKAPI *ADD_ADAPTER_HANDLER)(
- /*IN*/ NDIS_HANDLE MacMacContext,
- /*IN*/ NDIS_HANDLE WrapperConfigurationContext,
- /*IN*/ PNDIS_STRING AdapterName);
-
-typedef VOID (*REMOVE_ADAPTER_HANDLER)(
- /*IN*/ NDIS_HANDLE MacAdapterContext);
-
-typedef struct _NDIS_MAC_CHARACTERISTICS {
- UCHAR MajorNdisVersion;
- UCHAR MinorNdisVersion;
- UINT Reserved;
- OPEN_ADAPTER_HANDLER OpenAdapterHandler;
- CLOSE_ADAPTER_HANDLER CloseAdapterHandler;
- SEND_HANDLER SendHandler;
- TRANSFER_DATA_HANDLER TransferDataHandler;
- RESET_HANDLER ResetHandler;
- REQUEST_HANDLER RequestHandler;
- QUERY_GLOBAL_STATISTICS_HANDLER QueryGlobalStatisticsHandler;
- UNLOAD_MAC_HANDLER UnloadMacHandler;
- ADD_ADAPTER_HANDLER AddAdapterHandler;
- REMOVE_ADAPTER_HANDLER RemoveAdapterHandler;
- NDIS_STRING Name;
-} NDIS_MAC_CHARACTERISTICS, *PNDIS_MAC_CHARACTERISTICS;
-
-typedef NDIS_MAC_CHARACTERISTICS NDIS_WAN_MAC_CHARACTERISTICS;
-typedef NDIS_WAN_MAC_CHARACTERISTICS *PNDIS_WAN_MAC_CHARACTERISTICS;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NDIS_H */
-
-/* EOF */
diff --git a/winsup/w32api/include/ddk/ndisguid.h b/winsup/w32api/include/ddk/ndisguid.h
deleted file mode 100644
index 27b8777bf..000000000
--- a/winsup/w32api/include/ddk/ndisguid.h
+++ /dev/null
@@ -1,439 +0,0 @@
-/*
- * ndisguid.h
- *
- * GUIDs for NDIS drivers
- *
- * 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 __NDISGUID_H
-#define __NDISGUID_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-DEFINE_GUID(GUID_NDIS_LAN_CLASS,
- 0xad498944, 0x762f, 0x11d0, 0x8d, 0xcb, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_ENUMERATE_ADAPTER,
- 0x981f2d7f, 0xb1f3, 0x11d0, 0x8d, 0xd7, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_ENUMERATE_VC,
- 0x981f2d82, 0xb1f3, 0x11d0, 0x8d, 0xd7, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_NOTIFY_ADAPTER_ARRIVAL,
- 0x981f2d81, 0xb1f3, 0x11d0, 0x8d, 0xd7, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_NOTIFY_ADAPTER_REMOVAL,
- 0x981f2d80, 0xb1f3, 0x11d0, 0x8d, 0xd7, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_NOTIFY_VC_ARRIVAL,
- 0x182f9e0c, 0xb1f3, 0x11d0, 0x8d, 0xd7, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_NOTIFY_VC_REMOVAL,
- 0x981f2d79, 0xb1f3, 0x11d0, 0x8d, 0xd7, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_NOTIFY_BIND,
- 0x5413531c, 0xb1f3, 0x11d0, 0x8d, 0xd7, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_NOTIFY_UNBIND,
- 0x6e3ce1ec, 0xb1f3, 0x11d0, 0x8d, 0xd7, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_WAKE_ON_MAGIC_PACKET_ONLY,
- 0xa14f1c97, 0x8839, 0x4f8a, 0x99, 0x96, 0xa2, 0x89, 0x96, 0xeb, 0xbf, 0x1d);
-
-
-DEFINE_GUID(GUID_NDIS_802_3_CURRENT_ADDRESS,
- 0x44795700, 0xa61b, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_802_3_MAC_OPTIONS,
- 0x44795703, 0xa61b, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_802_3_MAXIMUM_LIST_SIZE,
- 0x44795702, 0xa61b, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_802_3_MULTICAST_LIST,
- 0x44795701, 0xa61b, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_802_3_PERMANENT_ADDRESS,
- 0x447956ff, 0xa61b, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_802_3_RCV_ERROR_ALIGNMENT,
- 0x44795704, 0xa61b, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_802_3_XMIT_MORE_COLLISIONS,
- 0x44795706, 0xa61b, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_802_3_XMIT_ONE_COLLISION,
- 0x44795705, 0xa61b, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_802_5_CURRENT_ADDRESS,
- 0x44795708, 0xa61b, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_802_5_CURRENT_FUNCTIONAL,
- 0x44795709, 0xa61b, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_802_5_CURRENT_GROUP,
- 0x4479570a, 0xa61b, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_802_5_CURRENT_RING_STATE,
- 0xacf14032, 0xa61c, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_802_5_CURRENT_RING_STATUS,
- 0x890a36ec, 0xa61c, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_802_5_LAST_OPEN_STATUS,
- 0x4479570b, 0xa61b, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_802_5_PERMANENT_ADDRESS,
- 0x44795707, 0xa61b, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_802_5_LINE_ERRORS,
- 0xacf14033, 0xa61c, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_802_5_LOST_FRAMES,
- 0xacf14034, 0xa61c, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-
-DEFINE_GUID(GUID_NDIS_802_11_ADD_WEP,
- 0x4307bff0, 0x2129, 0x11d4, 0x97, 0xeb, 0x00, 0xc0, 0x4f, 0x79, 0xc4, 0x03);
-
-DEFINE_GUID(GUID_NDIS_802_11_AUTHENTICATION_MODE,
- 0x43920a24, 0x2129, 0x11d4, 0x97, 0xeb, 0x00, 0xc0, 0x4f, 0x79, 0xc4, 0x03);
-
-DEFINE_GUID(GUID_NDIS_802_11_BSSID,
- 0x2504b6c2, 0x1fa5, 0x11d4, 0x97, 0xeb, 0x00, 0xc0, 0x4f, 0x79, 0xc4, 0x03);
-
-DEFINE_GUID(GUID_NDIS_802_11_BSSID_LIST,
- 0x69526f9a, 0x2062, 0x11d4, 0x97, 0xeb, 0x00, 0xc0, 0x4f, 0x79, 0xc4, 0x03);
-
-DEFINE_GUID(GUID_NDIS_802_11_BASIC_RATES,
- 0x4a198516, 0x2068, 0x11d4, 0x97, 0xeb, 0x00, 0xc0, 0x4f, 0x79, 0xc4, 0x03);
-
-DEFINE_GUID(GUID_NDIS_802_11_CONFIGURATION,
- 0x4a4df982, 0x2068, 0x11d4, 0x97, 0xeb, 0x00, 0xc0, 0x4f, 0x79, 0xc4, 0x03);
-
-DEFINE_GUID(GUID_NDIS_802_11_DESIRED_RATES,
- 0x452ee08e, 0x2536, 0x11d4, 0x97, 0xeb, 0x00, 0xc0, 0x4f, 0x79, 0xc4, 0x03);
-
-DEFINE_GUID(GUID_NDIS_802_11_DISASSOCIATE,
- 0x43671f40, 0x2129, 0x11d4, 0x97, 0xeb, 0x00, 0xc0, 0x4f, 0x79, 0xc4, 0x03);
-
-DEFINE_GUID(GUID_NDIS_802_11_FRAGMENTATION_THRESHOLD,
- 0x69aaa7c4, 0x2062, 0x11d4, 0x97, 0xeb, 0x00, 0xc0, 0x4f, 0x79, 0xc4, 0x03);
-
-DEFINE_GUID(GUID_NDIS_802_11_INFRASTRUCTURE_MODE,
- 0x697d5a7e, 0x2062, 0x11d4, 0x97, 0xeb, 0x00, 0xc0, 0x4f, 0x79, 0xc4, 0x03);
-
-DEFINE_GUID(GUID_NDIS_802_11_NETWORK_TYPES_SUPPORTED,
- 0x8531d6e6, 0x2041, 0x11d4, 0x97, 0xeb, 0x00, 0xc0, 0x4f, 0x79, 0xc4, 0x03);
-
-DEFINE_GUID(GUID_NDIS_802_11_NETWORK_TYPE_IN_USE,
- 0x857e2326, 0x2041, 0x11d4, 0x97, 0xeb, 0x00, 0xc0, 0x4f, 0x79, 0xc4, 0x03);
-
-DEFINE_GUID(GUID_NDIS_802_11_NUMBER_OF_ANTENNAS,
- 0x01779336, 0x2064, 0x11d4, 0x97, 0xeb, 0x00, 0xc0, 0x4f, 0x79, 0xc4, 0x03);
-
-DEFINE_GUID(GUID_NDIS_802_11_POWER_MODE,
- 0x85be837c, 0x2041, 0x11d4, 0x97, 0xeb, 0x00, 0xc0, 0x4f, 0x79, 0xc4, 0x03);
-
-DEFINE_GUID(GUID_NDIS_802_11_RATES_SUPPORTED,
- 0x49db8722, 0x2068, 0x11d4, 0x97, 0xeb, 0x00, 0xc0, 0x4f, 0x79, 0xc4, 0x03);
-
-DEFINE_GUID(GUID_NDIS_802_11_REMOVE_WEP,
- 0x433c345c, 0x2129, 0x11d4, 0x97, 0xeb, 0x00, 0xc0, 0x4f, 0x79, 0xc4, 0x03);
-
-DEFINE_GUID(GUID_NDIS_802_11_PRIVACY_FILTER,
- 0x6733c4e9, 0x4792, 0x11d4, 0x97, 0xf1, 0x00, 0xc0, 0x4f, 0x79, 0xc4, 0x03);
-
-DEFINE_GUID(GUID_NDIS_802_11_RSSI,
- 0x1507db16, 0x2053, 0x11d4, 0x97, 0xeb, 0x00, 0xc0, 0x4f, 0x79, 0xc4, 0x03);
-
-DEFINE_GUID(GUID_NDIS_802_11_RSSI_TRIGGER,
- 0x155689b8, 0x2053, 0x11d4, 0x97, 0xeb, 0x00, 0xc0, 0x4f, 0x79, 0xc4, 0x03);
-
-DEFINE_GUID(GUID_NDIS_802_11_RTS_THRESHOLD,
- 0x0134d07e, 0x2064, 0x11d4, 0x97, 0xeb, 0x00, 0xc0, 0x4f, 0x79, 0xc4, 0x03);
-
-DEFINE_GUID(GUID_NDIS_802_11_RX_ANTENNA_SELECTED,
- 0x01ac07a2, 0x2064, 0x11d4, 0x97, 0xeb, 0x00, 0xc0, 0x4f, 0x79, 0xc4, 0x03);
-
-DEFINE_GUID(GUID_NDIS_802_11_SSID,
- 0x7d2a90ea, 0x2041, 0x11d4, 0x97, 0xeb, 0x00, 0xc0, 0x4f, 0x79, 0xc4, 0x03);
-
-DEFINE_GUID(GUID_NDIS_802_11_STATISTICS,
- 0x42bb73b0, 0x2129, 0x11d4, 0x97, 0xeb, 0x00, 0xc0, 0x4f, 0x79, 0xc4, 0x03);
-
-DEFINE_GUID(GUID_NDIS_802_11_TX_POWER_LEVEL,
- 0x11e6ba76, 0x2053, 0x11d4, 0x97, 0xeb, 0x00, 0xc0, 0x4f, 0x79, 0xc4, 0x03);
-
-DEFINE_GUID(GUID_NDIS_802_11_TX_ANTENNA_SELECTED,
- 0x01dbb74a, 0x2064, 0x11d4, 0x97, 0xeb, 0x00, 0xc0, 0x4f, 0x79, 0xc4, 0x03);
-
-
-DEFINE_GUID(GUID_NDIS_ATM_HW_CURRENT_ADDRESS,
- 0x791ad1a1, 0xe35c, 0x11d0, 0x96, 0x92, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_ATM_MAX_AAL0_PACKET_SIZE,
- 0x791ad1a5, 0xe35c, 0x11d0, 0x96, 0x92, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_ATM_MAX_AAL1_PACKET_SIZE,
- 0x791ad1a6, 0xe35c, 0x11d0, 0x96, 0x92, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_ATM_MAX_AAL34_PACKET_SIZE,
- 0x791ad1a7, 0xe35c, 0x11d0, 0x96, 0x92, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_ATM_MAX_AAL5_PACKET_SIZE,
- 0x791ad191, 0xe35c, 0x11d0, 0x96, 0x92, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_ATM_MAX_ACTIVE_VCI_BITS,
- 0x791ad1a3, 0xe35c, 0x11d0, 0x96, 0x92, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_ATM_MAX_ACTIVE_VCS,
- 0x791ad1a2, 0xe35c, 0x11d0, 0x96, 0x92, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_ATM_MAX_ACTIVE_VPI_BITS,
- 0x791ad1a4, 0xe35c, 0x11d0, 0x96, 0x92, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_ATM_SUPPORTED_AAL_TYPES,
- 0x791ad1a0, 0xe35c, 0x11d0, 0x96, 0x92, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_ATM_SUPPORTED_SERVICE_CATEGORY,
- 0x791ad19f, 0xe35c, 0x11d0, 0x96, 0x92, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_ATM_SUPPORTED_VC_RATES,
- 0x791ad19e, 0xe35c, 0x11d0, 0x96, 0x92, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-
-DEFINE_GUID(GUID_NDIS_ATM_RCV_CELLS_DROPPED,
- 0x0a21480c, 0xe35f, 0x11d0, 0x96, 0x92, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_ATM_RCV_CELLS_OK,
- 0x0a21480a, 0xe35f, 0x11d0, 0x96, 0x92, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_ATM_XMIT_CELLS_OK,
- 0x0a21480b, 0xe35f, 0x11d0, 0x96, 0x92, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-
-DEFINE_GUID(GUID_NDIS_FDDI_LONG_CURRENT_ADDR,
- 0xacf14036, 0xa61c, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_FDDI_LONG_MAX_LIST_SIZE,
- 0xacf14038, 0xa61c, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_FDDI_LONG_MULTICAST_LIST,
- 0xacf14037, 0xa61c, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_FDDI_LONG_PERMANENT_ADDR,
- 0xacf14035, 0xa61c, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_FDDI_SHORT_CURRENT_ADDR,
- 0xacf1403a, 0xa61c, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_FDDI_SHORT_MAX_LIST_SIZE,
- 0xacf1403c, 0xa61c, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_FDDI_SHORT_MULTICAST_LIST,
- 0xacf1403b, 0xa61c, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_FDDI_SHORT_PERMANENT_ADDR,
- 0xacf14039, 0xa61c, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-
-DEFINE_GUID(GUID_NDIS_FDDI_ATTACHMENT_TYPE,
- 0xacf1403d, 0xa61c, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_FDDI_DOWNSTREAM_NODE_LONG,
- 0xacf1403f, 0xa61c, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_FDDI_FRAME_ERRORS,
- 0xacf14040, 0xa61c, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_FDDI_FRAMES_LOST,
- 0xacf14041, 0xa61c, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_FDDI_LCT_FAILURES,
- 0xacf14043, 0xa61c, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_FDDI_LCONNECTION_STATE,
- 0xacf14045, 0xa61c, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_FDDI_LEM_REJECTS,
- 0xacf14044, 0xa61c, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_FDDI_RING_MGT_STATE,
- 0xacf14042, 0xa61c, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_FDDI_UPSTREAM_NODE_LONG,
- 0xacf1403e, 0xa61c, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-
-DEFINE_GUID(GUID_NDIS_GEN_CURRENT_LOOKAHEAD,
- 0x5ec10361, 0xa61a, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_CURRENT_PACKET_FILTER,
- 0x5ec10360, 0xa61a, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_DRIVER_VERSION,
- 0x5ec10362, 0xa61a, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_HARDWARE_STATUS,
- 0x5ec10354, 0xa61a, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_MEDIA_IN_USE,
- 0x5ec10356, 0xa61a, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_MEDIA_SUPPORTED,
- 0x5ec10355, 0xa61a, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_LINK_SPEED,
- 0x5ec10359, 0xa61a, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_MAC_OPTIONS,
- 0x5ec10365, 0xa61a, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_MAXIMUM_LOOKAHEAD,
- 0x5ec10357, 0xa61a, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_MAXIMUM_FRAME_SIZE,
- 0x5ec10358, 0xa61a, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_MAXIMUM_SEND_PACKETS,
- 0x5ec10367, 0xa61a, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_MAXIMUM_TOTAL_SIZE,
- 0x5ec10363, 0xa61a, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_MEDIA_CONNECT_STATUS,
- 0x5ec10366, 0xa61a, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_RECEIVE_BLOCK_SIZE,
- 0x5ec1035d, 0xa61a, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_RECEIVE_BUFFER_SPACE,
- 0x5ec1035b, 0xa61a, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_TRANSMIT_BUFFER_SPACE,
- 0x5ec1035a, 0xa61a, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_TRANSMIT_BLOCK_SIZE,
- 0x5ec1035c, 0xa61a, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_VENDOR_DESCRIPTION,
- 0x5ec1035f, 0xa61a, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_VENDOR_DRIVER_VERSION,
- 0x447956f9, 0xa61b, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_VENDOR_ID,
- 0x5ec1035e, 0xa61a, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-
-DEFINE_GUID(GUID_NDIS_GEN_RCV_ERROR,
- 0x447956fd, 0xa61b, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_RCV_NO_BUFFER,
- 0x447956fe, 0xa61b, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_RCV_OK,
- 0x447956fb, 0xa61b, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_XMIT_ERROR,
- 0x447956fc, 0xa61b, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_XMIT_OK,
- 0x447956fa, 0xa61b, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-
-DEFINE_GUID(GUID_NDIS_GEN_CO_DRIVER_VERSION,
- 0x791ad198, 0xe35c, 0x11d0, 0x96, 0x92, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_CO_HARDWARE_STATUS,
- 0x791ad192, 0xe35c, 0x11d0, 0x96, 0x92, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_CO_LINK_SPEED,
- 0x791ad195, 0xe35c, 0x11d0, 0x96, 0x92, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_CO_MAC_OPTIONS,
- 0x791ad19a, 0xe35c, 0x11d0, 0x96, 0x92, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_CO_MEDIA_SUPPORTED,
- 0x791ad193, 0xe35c, 0x11d0, 0x96, 0x92, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_CO_MEDIA_IN_USE,
- 0x791ad194, 0xe35c, 0x11d0, 0x96, 0x92, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_CO_MEDIA_CONNECT_STATUS,
- 0x791ad19b, 0xe35c, 0x11d0, 0x96, 0x92, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_CO_MINIMUM_LINK_SPEED,
- 0x791ad19d, 0xe35c, 0x11d0, 0x96, 0x92, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_CO_VENDOR_DESCRIPTION,
- 0x791ad197, 0xe35c, 0x11d0, 0x96, 0x92, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_CO_VENDOR_DRIVER_VERSION,
- 0x791ad19c, 0xe35c, 0x11d0, 0x96, 0x92, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_CO_VENDOR_ID,
- 0x791ad196, 0xe35c, 0x11d0, 0x96, 0x92, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-
-DEFINE_GUID(GUID_NDIS_GEN_CO_RCV_PDUS_ERROR,
- 0x0a214808, 0xe35f, 0x11d0, 0x96, 0x92, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_CO_RCV_PDUS_OK,
- 0x0a214806, 0xe35f, 0x11d0, 0x96, 0x92, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_CO_RCV_PDUS_NO_BUFFER,
- 0x0a214809, 0xe35f, 0x11d0, 0x96, 0x92, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_CO_XMIT_PDUS_ERROR,
- 0x0a214807, 0xe35f, 0x11d0, 0x96, 0x92, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_CO_XMIT_PDUS_OK,
- 0x0a214805, 0xe35f, 0x11d0, 0x96, 0x92, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-
-DEFINE_GUID(GUID_NDIS_STATUS_LINK_SPEED_CHANGE,
- 0x981f2d85, 0xb1f3, 0x11d0, 0x8d, 0xd7, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_STATUS_MEDIA_CONNECT,
- 0x981f2d7d, 0xb1f3, 0x11d0, 0x8d, 0xd7, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_STATUS_MEDIA_DISCONNECT,
- 0x981f2d7e, 0xb1f3, 0x11d0, 0x8d, 0xd7, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_STATUS_MEDIA_SPECIFIC_INDICATION,
- 0x981f2d84, 0xb1f3, 0x11d0, 0x8d, 0xd7, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_STATUS_RESET_END,
- 0x981f2d77, 0xb1f3, 0x11d0, 0x8d, 0xd7, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_STATUS_RESET_START,
- 0x981f2d76, 0xb1f3, 0x11d0, 0x8d, 0xd7, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NDISGUID_H */
diff --git a/winsup/w32api/include/ddk/ndistapi.h b/winsup/w32api/include/ddk/ndistapi.h
deleted file mode 100644
index 1a8029e33..000000000
--- a/winsup/w32api/include/ddk/ndistapi.h
+++ /dev/null
@@ -1,1308 +0,0 @@
-/*
- * ndistapi.h
- *
- * NDIS Telephony API
- *
- * 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 __NDISTAPI_H
-#define __NDISTAPI_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ndis.h"
-
-#ifndef NDIS_TAPI_CURRENT_VERSION
-#define NDIS_TAPI_CURRENT_VERSION 0x00010003
-#endif
-
-typedef ULONG_PTR HTAPI_LINE;
-typedef ULONG_PTR HDRV_LINE;
-typedef ULONG_PTR HTAPI_CALL;
-typedef ULONG_PTR HDRV_CALL;
-
-#define NDIS_STATUS_TAPI_ADDRESSBLOCKED ((NDIS_STATUS)0xC0012000L)
-#define NDIS_STATUS_TAPI_BEARERMODEUNAVAIL ((NDIS_STATUS)0xC0012001L)
-#define NDIS_STATUS_TAPI_CALLUNAVAIL ((NDIS_STATUS)0xC0012002L)
-#define NDIS_STATUS_TAPI_DIALBILLING ((NDIS_STATUS)0xC0012003L)
-#define NDIS_STATUS_TAPI_DIALDIALTONE ((NDIS_STATUS)0xC0012004L)
-#define NDIS_STATUS_TAPI_DIALPROMPT ((NDIS_STATUS)0xC0012005L)
-#define NDIS_STATUS_TAPI_DIALQUIET ((NDIS_STATUS)0xC0012006L)
-#define NDIS_STATUS_TAPI_INCOMPATIBLEEXTVERSION ((NDIS_STATUS)0xC0012007L)
-#define NDIS_STATUS_TAPI_INUSE ((NDIS_STATUS)0xC0012008L)
-#define NDIS_STATUS_TAPI_INVALADDRESS ((NDIS_STATUS)0xC0012009L)
-#define NDIS_STATUS_TAPI_INVALADDRESSID ((NDIS_STATUS)0xC001200AL)
-#define NDIS_STATUS_TAPI_INVALADDRESSMODE ((NDIS_STATUS)0xC001200BL)
-#define NDIS_STATUS_TAPI_INVALBEARERMODE ((NDIS_STATUS)0xC001200CL)
-#define NDIS_STATUS_TAPI_INVALCALLHANDLE ((NDIS_STATUS)0xC001200DL)
-#define NDIS_STATUS_TAPI_INVALCALLPARAMS ((NDIS_STATUS)0xC001200EL)
-#define NDIS_STATUS_TAPI_INVALCALLSTATE ((NDIS_STATUS)0xC001200FL)
-#define NDIS_STATUS_TAPI_INVALDEVICECLASS ((NDIS_STATUS)0xC0012010L)
-#define NDIS_STATUS_TAPI_INVALLINEHANDLE ((NDIS_STATUS)0xC0012011L)
-#define NDIS_STATUS_TAPI_INVALLINESTATE ((NDIS_STATUS)0xC0012012L)
-#define NDIS_STATUS_TAPI_INVALMEDIAMODE ((NDIS_STATUS)0xC0012013L)
-#define NDIS_STATUS_TAPI_INVALRATE ((NDIS_STATUS)0xC0012014L)
-#define NDIS_STATUS_TAPI_NODRIVER ((NDIS_STATUS)0xC0012015L)
-#define NDIS_STATUS_TAPI_OPERATIONUNAVAIL ((NDIS_STATUS)0xC0012016L)
-#define NDIS_STATUS_TAPI_RATEUNAVAIL ((NDIS_STATUS)0xC0012017L)
-#define NDIS_STATUS_TAPI_RESOURCEUNAVAIL ((NDIS_STATUS)0xC0012018L)
-#define NDIS_STATUS_TAPI_STRUCTURETOOSMALL ((NDIS_STATUS)0xC0012019L)
-#define NDIS_STATUS_TAPI_USERUSERINFOTOOBIG ((NDIS_STATUS)0xC001201AL)
-#define NDIS_STATUS_TAPI_ALLOCATED ((NDIS_STATUS)0xC001201BL)
-#define NDIS_STATUS_TAPI_INVALADDRESSSTATE ((NDIS_STATUS)0xC001201CL)
-#define NDIS_STATUS_TAPI_INVALPARAM ((NDIS_STATUS)0xC001201DL)
-#define NDIS_STATUS_TAPI_NODEVICE ((NDIS_STATUS)0xC001201EL)
-#define NDIS_STATUS_TAPI_DISCONNECTMODE_NORMAL ((NDIS_STATUS)0xC0012020L)
-#define NDIS_STATUS_TAPI_DISCONNECTMODE_UNKNOWN ((NDIS_STATUS)0xC0012021L)
-#define NDIS_STATUS_TAPI_DISCONNECTMODE_REJECT ((NDIS_STATUS)0xC0012022L)
-#define NDIS_STATUS_TAPI_DISCONNECTMODE_PICKUP ((NDIS_STATUS)0xC0012023L)
-#define NDIS_STATUS_TAPI_DISCONNECTMODE_FORWARDED ((NDIS_STATUS)0xC0012024L)
-#define NDIS_STATUS_TAPI_DISCONNECTMODE_BUSY ((NDIS_STATUS)0xC0012025L)
-#define NDIS_STATUS_TAPI_DISCONNECTMODE_NOANSWER ((NDIS_STATUS)0xC0012026L)
-#define NDIS_STATUS_TAPI_DISCONNECTMODE_BADADDRESS ((NDIS_STATUS)0xC0012027L)
-#define NDIS_STATUS_TAPI_DISCONNECTMODE_UNREACHABLE ((NDIS_STATUS)0xC0012028L)
-#define NDIS_STATUS_TAPI_DISCONNECTMODE_CONGESTION ((NDIS_STATUS)0xC0012029L)
-#define NDIS_STATUS_TAPI_DISCONNECTMODE_INCOMPATIBLE ((NDIS_STATUS)0xC001202AL)
-#define NDIS_STATUS_TAPI_DISCONNECTMODE_UNAVAIL ((NDIS_STATUS)0xC001202BL)
-#define NDIS_STATUS_TAPI_RECV_DIGIT ((NDIS_STATUS)0x40010020L)
-
-#define LINE_ADDRESSSTATE 0L
-#define LINE_CALLINFO 1L
-#define LINE_CALLSTATE 2L
-#define LINE_CLOSE 3L
-#define LINE_DEVSPECIFIC 4L
-#define LINE_DEVSPECIFICFEATURE 5L
-#define LINE_GATHERDIGITS 6L
-#define LINE_GENERATE 7L
-#define LINE_LINEDEVSTATE 8L
-#define LINE_MONITORDIGITS 9L
-#define LINE_MONITORMEDIA 10L
-#define LINE_MONITORTONE 11L
-#define LINE_REPLY 12L
-#define LINE_REQUEST 13L
-#define LINE_CREATE 19L
-#if (NDIS_TAPI_CURRENT_VERSION >= 0x00020000)
-#define LINE_AGENTSPECIFIC 21L
-#define LINE_AGENTSTATUS 22L
-#define LINE_APPNEWCALL 23L
-#define LINE_PROXYREQUEST 24L
-#define LINE_REMOVE 25L
-#endif
-#if (NDIS_TAPI_CURRENT_VERSION >= 0x00020002)
-#define LINE_AGENTSESSIONSTATUS 27L
-#define LINE_QUEUESTATUS 28L
-#define LINE_AGENTSTATUSEX 29L
-#define LINE_GROUPSTATUS 30L
-#define LINE_PROXYSTATUS 31L
-#endif
-#if (TAPI_CURRENT_VERSION >= 0x00030000)
-#define LINE_APPNEWCALLHUB 32L
-#define LINE_CALLHUBCLOSE 33L
-#define LINE_DEVSPECIFICEX 34L
-#endif
-
-#define TSPI_MESSAGE_BASE 500L
-#define LINE_NEWCALL TSPI_MESSAGE_BASE
-#define LINE_CALLDEVSPECIFIC (TSPI_MESSAGE_BASE + 1L)
-#define STRINGFORMAT_ASCII 0x00000001
-#define STRINGFORMAT_DBCS 0x00000002
-#define STRINGFORMAT_UNICODE 0x00000003
-#define STRINGFORMAT_BINARY 0x00000004
-
-#define LINEADDRCAPFLAGS_FWDNUMRINGS 0x00000001
-#define LINEADDRCAPFLAGS_PICKUPGROUPID 0x00000002
-#define LINEADDRCAPFLAGS_SECURE 0x00000004
-#define LINEADDRCAPFLAGS_BLOCKIDDEFAULT 0x00000008
-#define LINEADDRCAPFLAGS_BLOCKIDOVERRIDE 0x00000010
-#define LINEADDRCAPFLAGS_DIALED 0x00000020
-#define LINEADDRCAPFLAGS_ORIGOFFHOOK 0x00000040
-#define LINEADDRCAPFLAGS_DESTOFFHOOK 0x00000080
-#define LINEADDRCAPFLAGS_FWDCONSULT 0x00000100
-#define LINEADDRCAPFLAGS_SETUPCONFNULL 0x00000200
-#define LINEADDRCAPFLAGS_AUTORECONNECT 0x00000400
-#define LINEADDRCAPFLAGS_COMPLETIONID 0x00000800
-#define LINEADDRCAPFLAGS_TRANSFERHELD 0x00001000
-#define LINEADDRCAPFLAGS_TRANSFERMAKE 0x00002000
-#define LINEADDRCAPFLAGS_CONFERENCEHELD 0x00004000
-#define LINEADDRCAPFLAGS_CONFERENCEMAKE 0x00008000
-#define LINEADDRCAPFLAGS_PARTIALDIAL 0x00010000
-#define LINEADDRCAPFLAGS_FWDSTATUSVALID 0x00020000
-#define LINEADDRCAPFLAGS_FWDINTEXTADDR 0x00040000
-#define LINEADDRCAPFLAGS_FWDBUSYNAADDR 0x00080000
-#define LINEADDRCAPFLAGS_ACCEPTTOALERT 0x00100000
-#define LINEADDRCAPFLAGS_CONFDROP 0x00200000
-#define LINEADDRCAPFLAGS_PICKUPCALLWAIT 0x00400000
-#if (NDIS_TAPI_CURRENT_VERSION >= 0x00020000)
-#define LINEADDRCAPFLAGS_PREDICTIVEDIALER 0x00800000
-#define LINEADDRCAPFLAGS_QUEUE 0x01000000
-#define LINEADDRCAPFLAGS_ROUTEPOINT 0x02000000
-#define LINEADDRCAPFLAGS_HOLDMAKESNEW 0x04000000
-#define LINEADDRCAPFLAGS_NOINTERNALCALLS 0x08000000
-#define LINEADDRCAPFLAGS_NOEXTERNALCALLS 0x10000000
-#define LINEADDRCAPFLAGS_SETCALLINGID 0x20000000
-#endif
-#if (NDIS_TAPI_CURRENT_VERSION >= 0x00030000)
-#define LINEADDRCAPFLAGS_ACDGROUP 0x40000000
-#define LINEADDRCAPFLAGS_NOPSTNADDRESSTRANSLATION \
- 0x80000000
-#endif
-
-#define LINEADDRESSMODE_ADDRESSID 0x00000001
-#define LINEADDRESSMODE_DIALABLEADDR 0x00000002
-#define LINEADDRESSSHARING_PRIVATE 0x00000001
-#define LINEADDRESSSHARING_BRIDGEDEXCL 0x00000002
-#define LINEADDRESSSHARING_BRIDGEDNEW 0x00000004
-#define LINEADDRESSSHARING_BRIDGEDSHARED 0x00000008
-#define LINEADDRESSSHARING_MONITORED 0x00000010
-#define LINEADDRESSSTATE_OTHER 0x00000001
-#define LINEADDRESSSTATE_DEVSPECIFIC 0x00000002
-#define LINEADDRESSSTATE_INUSEZERO 0x00000004
-#define LINEADDRESSSTATE_INUSEONE 0x00000008
-#define LINEADDRESSSTATE_INUSEMANY 0x00000010
-#define LINEADDRESSSTATE_NUMCALLS 0x00000020
-#define LINEADDRESSSTATE_FORWARD 0x00000040
-#define LINEADDRESSSTATE_TERMINALS 0x00000080
-
-#if (NDIS_TAPI_CURRENT_VERSION >= 0x00030000)
-#define LINEADDRESSTYPE_PHONENUMBER 0x00000001
-#define LINEADDRESSTYPE_SDP 0x00000002
-#define LINEADDRESSTYPE_EMAILNAME 0x00000004
-#define LINEADDRESSTYPE_DOMAINNAME 0x00000008
-#define LINEADDRESSTYPE_IPADDRESS 0x00000010
-#endif
-
-#define LINEADDRFEATURE_FORWARD 0x00000001
-#define LINEADDRFEATURE_MAKECALL 0x00000002
-#define LINEADDRFEATURE_PICKUP 0x00000004
-#define LINEADDRFEATURE_SETMEDIACONTROL 0x00000008
-#define LINEADDRFEATURE_SETTERMINAL 0x00000010
-#define LINEADDRFEATURE_SETUPCONF 0x00000020
-#define LINEADDRFEATURE_UNCOMPLETECALL 0x00000040
-#define LINEADDRFEATURE_UNPARK 0x00000080
-#if (NDIS_TAPI_CURRENT_VERSION >= 0x00020000)
-#define LINEADDRFEATURE_PICKUPHELD 0x00000100
-#define LINEADDRFEATURE_PICKUPGROUP 0x00000200
-#define LINEADDRFEATURE_PICKUPDIRECT 0x00000400
-#define LINEADDRFEATURE_PICKUPWAITING 0x00000800
-#define LINEADDRFEATURE_FORWARDFWD 0x00001000
-#define LINEADDRFEATURE_FORWARDDND 0x00002000
-#endif
-
-#define LINEANSWERMODE_NONE 0x00000001
-#define LINEANSWERMODE_DROP 0x00000002
-#define LINEANSWERMODE_HOLD 0x00000004
-
-#define LINEBEARERMODE_VOICE 0x00000001
-#define LINEBEARERMODE_SPEECH 0x00000002
-#define LINEBEARERMODE_MULTIUSE 0x00000004
-#define LINEBEARERMODE_DATA 0x00000008
-#define LINEBEARERMODE_ALTSPEECHDATA 0x00000010
-#define LINEBEARERMODE_NONCALLSIGNALING 0x00000020
-#define LINEBEARERMODE_PASSTHROUGH 0x00000040
-#if (NDIS_TAPI_CURRENT_VERSION >= 0x00020000)
-#define LINEBEARERMODE_RESTRICTEDDATA 0x00000080
-#endif
-
-#define LINEBUSYMODE_STATION 0x00000001
-#define LINEBUSYMODE_TRUNK 0x00000002
-#define LINEBUSYMODE_UNKNOWN 0x00000004
-#define LINEBUSYMODE_UNAVAIL 0x00000008
-
-#define LINECALLCOMPLCOND_BUSY 0x00000001
-#define LINECALLCOMPLCOND_NOANSWER 0x00000002
-
-#define LINECALLCOMPLMODE_CAMPON 0x00000001
-#define LINECALLCOMPLMODE_CALLBACK 0x00000002
-#define LINECALLCOMPLMODE_INTRUDE 0x00000004
-#define LINECALLCOMPLMODE_MESSAGE 0x00000008
-
-#define LINECALLFEATURE_ACCEPT 0x00000001
-#define LINECALLFEATURE_ADDTOCONF 0x00000002
-#define LINECALLFEATURE_ANSWER 0x00000004
-#define LINECALLFEATURE_BLINDTRANSFER 0x00000008
-#define LINECALLFEATURE_COMPLETECALL 0x00000010
-#define LINECALLFEATURE_COMPLETETRANSF 0x00000020
-#define LINECALLFEATURE_DIAL 0x00000040
-#define LINECALLFEATURE_DROP 0x00000080
-#define LINECALLFEATURE_GATHERDIGITS 0x00000100
-#define LINECALLFEATURE_GENERATEDIGITS 0x00000200
-#define LINECALLFEATURE_GENERATETONE 0x00000400
-#define LINECALLFEATURE_HOLD 0x00000800
-#define LINECALLFEATURE_MONITORDIGITS 0x00001000
-#define LINECALLFEATURE_MONITORMEDIA 0x00002000
-#define LINECALLFEATURE_MONITORTONES 0x00004000
-#define LINECALLFEATURE_PARK 0x00008000
-#define LINECALLFEATURE_PREPAREADDCONF 0x00010000
-#define LINECALLFEATURE_REDIRECT 0x00020000
-#define LINECALLFEATURE_REMOVEFROMCONF 0x00040000
-#define LINECALLFEATURE_SECURECALL 0x00080000
-#define LINECALLFEATURE_SENDUSERUSER 0x00100000
-#define LINECALLFEATURE_SETCALLPARAMS 0x00200000
-#define LINECALLFEATURE_SETMEDIACONTROL 0x00400000
-#define LINECALLFEATURE_SETTERMINAL 0x00800000
-#define LINECALLFEATURE_SETUPCONF 0x01000000
-#define LINECALLFEATURE_SETUPTRANSFER 0x02000000
-#define LINECALLFEATURE_SWAPHOLD 0x04000000
-#define LINECALLFEATURE_UNHOLD 0x08000000
-#define LINECALLFEATURE_RELEASEUSERUSERINFO \
- 0x10000000
-#if (NDIS_TAPI_CURRENT_VERSION >= 0x00020000)
-#define LINECALLFEATURE_SETTREATMENT 0x20000000
-#define LINECALLFEATURE_SETQOS 0x40000000
-#define LINECALLFEATURE_SETCALLDATA 0x80000000
-#endif
-
-#define LINECALLINFOSTATE_OTHER 0x00000001
-#define LINECALLINFOSTATE_DEVSPECIFIC 0x00000002
-#define LINECALLINFOSTATE_BEARERMODE 0x00000004
-#define LINECALLINFOSTATE_RATE 0x00000008
-#define LINECALLINFOSTATE_MEDIAMODE 0x00000010
-#define LINECALLINFOSTATE_APPSPECIFIC 0x00000020
-#define LINECALLINFOSTATE_CALLID 0x00000040
-#define LINECALLINFOSTATE_RELATEDCALLID 0x00000080
-#define LINECALLINFOSTATE_ORIGIN 0x00000100
-#define LINECALLINFOSTATE_REASON 0x00000200
-#define LINECALLINFOSTATE_COMPLETIONID 0x00000400
-#define LINECALLINFOSTATE_NUMOWNERINCR 0x00000800
-#define LINECALLINFOSTATE_NUMOWNERDECR 0x00001000
-#define LINECALLINFOSTATE_NUMMONITORS 0x00002000
-#define LINECALLINFOSTATE_TRUNK 0x00004000
-#define LINECALLINFOSTATE_CALLERID 0x00008000
-#define LINECALLINFOSTATE_CALLEDID 0x00010000
-#define LINECALLINFOSTATE_CONNECTEDID 0x00020000
-#define LINECALLINFOSTATE_REDIRECTIONID 0x00040000
-#define LINECALLINFOSTATE_REDIRECTINGID 0x00080000
-#define LINECALLINFOSTATE_DISPLAY 0x00100000
-#define LINECALLINFOSTATE_USERUSERINFO 0x00200000
-#define LINECALLINFOSTATE_HIGHLEVELCOMP 0x00400000
-#define LINECALLINFOSTATE_LOWLEVELCOMP 0x00800000
-#define LINECALLINFOSTATE_CHARGINGINFO 0x01000000
-#define LINECALLINFOSTATE_TERMINAL 0x02000000
-#define LINECALLINFOSTATE_DIALPARAMS 0x04000000
-#define LINECALLINFOSTATE_MONITORMODES 0x08000000
-#if (NDIS_TAPI_CURRENT_VERSION >= 0x00020000)
-#define LINECALLINFOSTATE_TREATMENT 0x10000000
-#define LINECALLINFOSTATE_QOS 0x20000000
-#define LINECALLINFOSTATE_CALLDATA 0x40000000
-#endif
-
-#define LINECALLORIGIN_OUTBOUND 0x00000001
-#define LINECALLORIGIN_INTERNAL 0x00000002
-#define LINECALLORIGIN_EXTERNAL 0x00000004
-#define LINECALLORIGIN_UNKNOWN 0x00000010
-#define LINECALLORIGIN_UNAVAIL 0x00000020
-#define LINECALLORIGIN_CONFERENCE 0x00000040
-#define LINECALLORIGIN_INBOUND 0x00000080
-
-#define LINECALLPARAMFLAGS_SECURE 0x00000001
-#define LINECALLPARAMFLAGS_IDLE 0x00000002
-#define LINECALLPARAMFLAGS_BLOCKID 0x00000004
-#define LINECALLPARAMFLAGS_ORIGOFFHOOK 0x00000008
-#define LINECALLPARAMFLAGS_DESTOFFHOOK 0x00000010
-#if (NDIS_TAPI_CURRENT_VERSION >= 0x00020000)
-#define LINECALLPARAMFLAGS_NOHOLDCONFERENCE \
- 0x00000020
-#define LINECALLPARAMFLAGS_PREDICTIVEDIAL 0x00000040
-#define LINECALLPARAMFLAGS_ONESTEPTRANSFER \
- 0x00000080
-#endif
-
-#define LINECALLPARTYID_BLOCKED 0x00000001
-#define LINECALLPARTYID_OUTOFAREA 0x00000002
-#define LINECALLPARTYID_NAME 0x00000004
-#define LINECALLPARTYID_ADDRESS 0x00000008
-#define LINECALLPARTYID_PARTIAL 0x00000010
-#define LINECALLPARTYID_UNKNOWN 0x00000020
-#define LINECALLPARTYID_UNAVAIL 0x00000040
-
-#define LINECALLPRIVILEGE_NONE 0x00000001
-#define LINECALLPRIVILEGE_MONITOR 0x00000002
-#define LINECALLPRIVILEGE_OWNER 0x00000004
-
-#define LINECALLREASON_DIRECT 0x00000001
-#define LINECALLREASON_FWDBUSY 0x00000002
-#define LINECALLREASON_FWDNOANSWER 0x00000004
-#define LINECALLREASON_FWDUNCOND 0x00000008
-#define LINECALLREASON_PICKUP 0x00000010
-#define LINECALLREASON_UNPARK 0x00000020
-#define LINECALLREASON_REDIRECT 0x00000040
-#define LINECALLREASON_CALLCOMPLETION 0x00000080
-#define LINECALLREASON_TRANSFER 0x00000100
-#define LINECALLREASON_REMINDER 0x00000200
-#define LINECALLREASON_UNKNOWN 0x00000400
-#define LINECALLREASON_UNAVAIL 0x00000800
-#define LINECALLREASON_INTRUDE 0x00001000
-#define LINECALLREASON_PARKED 0x00002000
-#if (NDIS_TAPI_CURRENT_VERSION >= 0x00020000)
-#define LINECALLREASON_CAMPEDON 0x00004000
-#define LINECALLREASON_ROUTEREQUEST 0x00008000
-#endif
-
-#define LINECALLSELECT_LINE 0x00000001
-#define LINECALLSELECT_ADDRESS 0x00000002
-#define LINECALLSELECT_CALL 0x00000004
-#if (NDIS_TAPI_CURRENT_VERSION > 0x00020000)
-#define LINECALLSELECT_DEVICEID 0x00000008
-#endif
-#if (NDIS_TAPI_CURRENT_VERSION >= 0x00030000)
-#define LINECALLSELECT_CALLID 0x00000010
-#endif
-
-#define LINECALLSTATE_IDLE 0x00000001
-#define LINECALLSTATE_OFFERING 0x00000002
-#define LINECALLSTATE_ACCEPTED 0x00000004
-#define LINECALLSTATE_DIALTONE 0x00000008
-#define LINECALLSTATE_DIALING 0x00000010
-#define LINECALLSTATE_RINGBACK 0x00000020
-#define LINECALLSTATE_BUSY 0x00000040
-#define LINECALLSTATE_SPECIALINFO 0x00000080
-#define LINECALLSTATE_CONNECTED 0x00000100
-#define LINECALLSTATE_PROCEEDING 0x00000200
-#define LINECALLSTATE_ONHOLD 0x00000400
-#define LINECALLSTATE_CONFERENCED 0x00000800
-#define LINECALLSTATE_ONHOLDPENDCONF 0x00001000
-#define LINECALLSTATE_ONHOLDPENDTRANSFER 0x00002000
-#define LINECALLSTATE_DISCONNECTED 0x00004000
-#define LINECALLSTATE_UNKNOWN 0x00008000
-
-#define LINEDEVCAPFLAGS_CROSSADDRCONF 0x00000001
-#define LINEDEVCAPFLAGS_HIGHLEVCOMP 0x00000002
-#define LINEDEVCAPFLAGS_LOWLEVCOMP 0x00000004
-#define LINEDEVCAPFLAGS_MEDIACONTROL 0x00000008
-#define LINEDEVCAPFLAGS_MULTIPLEADDR 0x00000010
-#define LINEDEVCAPFLAGS_CLOSEDROP 0x00000020
-#define LINEDEVCAPFLAGS_DIALBILLING 0x00000040
-#define LINEDEVCAPFLAGS_DIALQUIET 0x00000080
-#define LINEDEVCAPFLAGS_DIALDIALTONE 0x00000100
-#if (NDIS_TAPI_CURRENT_VERSION >= 0x00030000)
-#define LINEDEVCAPFLAGS_MSP 0x00000200
-#define LINEDEVCAPFLAGS_CALLHUB 0x00000400
-#define LINEDEVCAPFLAGS_CALLHUBTRACKING 0x00000800
-#define LINEDEVCAPFLAGS_PRIVATEOBJECTS 0x00001000
-#endif
-
-#define LINEDEVSTATE_OTHER 0x00000001
-#define LINEDEVSTATE_RINGING 0x00000002
-#define LINEDEVSTATE_CONNECTED 0x00000004
-#define LINEDEVSTATE_DISCONNECTED 0x00000008
-#define LINEDEVSTATE_MSGWAITON 0x00000010
-#define LINEDEVSTATE_MSGWAITOFF 0x00000020
-#define LINEDEVSTATE_INSERVICE 0x00000040
-#define LINEDEVSTATE_OUTOFSERVICE 0x00000080
-#define LINEDEVSTATE_MAINTENANCE 0x00000100
-#define LINEDEVSTATE_OPEN 0x00000200
-#define LINEDEVSTATE_CLOSE 0x00000400
-#define LINEDEVSTATE_NUMCALLS 0x00000800
-#define LINEDEVSTATE_NUMCOMPLETIONS 0x00001000
-#define LINEDEVSTATE_TERMINALS 0x00002000
-#define LINEDEVSTATE_ROAMMODE 0x00004000
-#define LINEDEVSTATE_BATTERY 0x00008000
-#define LINEDEVSTATE_SIGNAL 0x00010000
-#define LINEDEVSTATE_DEVSPECIFIC 0x00020000
-#define LINEDEVSTATE_REINIT 0x00040000
-#define LINEDEVSTATE_LOCK 0x00080000
-
-#define LINEDEVSTATUSFLAGS_CONNECTED 0x00000001
-#define LINEDEVSTATUSFLAGS_MSGWAIT 0x00000002
-#define LINEDEVSTATUSFLAGS_INSERVICE 0x00000004
-#define LINEDEVSTATUSFLAGS_LOCKED 0x00000008
-
-#define LINEDIALTONEMODE_NORMAL 0x00000001
-#define LINEDIALTONEMODE_SPECIAL 0x00000002
-#define LINEDIALTONEMODE_INTERNAL 0x00000004
-#define LINEDIALTONEMODE_EXTERNAL 0x00000008
-#define LINEDIALTONEMODE_UNKNOWN 0x00000010
-#define LINEDIALTONEMODE_UNAVAIL 0x00000020
-
-#define LINEDIGITMODE_PULSE 0x00000001
-#define LINEDIGITMODE_DTMF 0x00000002
-#define LINEDIGITMODE_DTMFEND 0x00000004
-
-#define LINEDISCONNECTMODE_NORMAL 0x00000001
-#define LINEDISCONNECTMODE_UNKNOWN 0x00000002
-#define LINEDISCONNECTMODE_REJECT 0x00000004
-#define LINEDISCONNECTMODE_PICKUP 0x00000008
-#define LINEDISCONNECTMODE_FORWARDED 0x00000010
-#define LINEDISCONNECTMODE_BUSY 0x00000020
-#define LINEDISCONNECTMODE_NOANSWER 0x00000040
-#define LINEDISCONNECTMODE_BADADDRESS 0x00000080
-#define LINEDISCONNECTMODE_UNREACHABLE 0x00000100
-#define LINEDISCONNECTMODE_CONGESTION 0x00000200
-#define LINEDISCONNECTMODE_INCOMPATIBLE 0x00000400
-#define LINEDISCONNECTMODE_UNAVAIL 0x00000800
-#define LINEDISCONNECTMODE_NODIALTONE 0x00001000
-#if (NDIS_TAPI_CURRENT_VERSION >= 0x00020000)
-#define LINEDISCONNECTMODE_NUMBERCHANGED 0x00002000
-#define LINEDISCONNECTMODE_OUTOFORDER 0x00004000
-#define LINEDISCONNECTMODE_TEMPFAILURE 0x00008000
-#define LINEDISCONNECTMODE_QOSUNAVAIL 0x00010000
-#define LINEDISCONNECTMODE_BLOCKED 0x00020000
-#define LINEDISCONNECTMODE_DONOTDISTURB 0x00040000
-#define LINEDISCONNECTMODE_CANCELLED 0x00080000
-#endif
-
-#define LINEFEATURE_DEVSPECIFIC 0x00000001
-#define LINEFEATURE_DEVSPECIFICFEAT 0x00000002
-#define LINEFEATURE_FORWARD 0x00000004
-#define LINEFEATURE_MAKECALL 0x00000008
-#define LINEFEATURE_SETMEDIACONTROL 0x00000010
-#define LINEFEATURE_SETTERMINAL 0x00000020
-#if (NDIS_TAPI_CURRENT_VERSION >= 0x00020000)
-#define LINEFEATURE_SETDEVSTATUS 0x00000040
-#define LINEFEATURE_FORWARDFWD 0x00000080
-#define LINEFEATURE_FORWARDDND 0x00000100
-#endif
-
-#define LINEFORWARDMODE_UNCOND 0x00000001
-#define LINEFORWARDMODE_UNCONDINTERNAL 0x00000002
-#define LINEFORWARDMODE_UNCONDEXTERNAL 0x00000004
-#define LINEFORWARDMODE_UNCONDSPECIFIC 0x00000008
-#define LINEFORWARDMODE_BUSY 0x00000010
-#define LINEFORWARDMODE_BUSYINTERNAL 0x00000020
-#define LINEFORWARDMODE_BUSYEXTERNAL 0x00000040
-#define LINEFORWARDMODE_BUSYSPECIFIC 0x00000080
-#define LINEFORWARDMODE_NOANSW 0x00000100
-#define LINEFORWARDMODE_NOANSWINTERNAL 0x00000200
-#define LINEFORWARDMODE_NOANSWEXTERNAL 0x00000400
-#define LINEFORWARDMODE_NOANSWSPECIFIC 0x00000800
-#define LINEFORWARDMODE_BUSYNA 0x00001000
-#define LINEFORWARDMODE_BUSYNAINTERNAL 0x00002000
-#define LINEFORWARDMODE_BUSYNAEXTERNAL 0x00004000
-#define LINEFORWARDMODE_BUSYNASPECIFIC 0x00008000
-
-#define LINEGATHERTERM_BUFFERFULL 0x00000001
-#define LINEGATHERTERM_TERMDIGIT 0x00000002
-#define LINEGATHERTERM_FIRSTTIMEOUT 0x00000004
-#define LINEGATHERTERM_INTERTIMEOUT 0x00000008
-#define LINEGATHERTERM_CANCEL 0x00000010
-
-#define LINEGENERATETERM_DONE 0x00000001
-#define LINEGENERATETERM_CANCEL 0x00000002
-
-#define LINEMEDIACONTROL_NONE 0x00000001
-#define LINEMEDIACONTROL_START 0x00000002
-#define LINEMEDIACONTROL_RESET 0x00000004
-#define LINEMEDIACONTROL_PAUSE 0x00000008
-#define LINEMEDIACONTROL_RESUME 0x00000010
-#define LINEMEDIACONTROL_RATEUP 0x00000020
-#define LINEMEDIACONTROL_RATEDOWN 0x00000040
-#define LINEMEDIACONTROL_RATENORMAL 0x00000080
-#define LINEMEDIACONTROL_VOLUMEUP 0x00000100
-#define LINEMEDIACONTROL_VOLUMEDOWN 0x00000200
-#define LINEMEDIACONTROL_VOLUMENORMAL 0x00000400
-
-#define LINEMEDIAMODE_UNKNOWN 0x00000002
-#define LINEMEDIAMODE_INTERACTIVEVOICE 0x00000004
-#define LINEMEDIAMODE_AUTOMATEDVOICE 0x00000008
-#define LINEMEDIAMODE_DATAMODEM 0x00000010
-#define LINEMEDIAMODE_G3FAX 0x00000020
-#define LINEMEDIAMODE_TDD 0x00000040
-#define LINEMEDIAMODE_G4FAX 0x00000080
-#define LINEMEDIAMODE_DIGITALDATA 0x00000100
-#define LINEMEDIAMODE_TELETEX 0x00000200
-#define LINEMEDIAMODE_VIDEOTEX 0x00000400
-#define LINEMEDIAMODE_TELEX 0x00000800
-#define LINEMEDIAMODE_MIXED 0x00001000
-#define LINEMEDIAMODE_ADSI 0x00002000
-
-#define LINEMEDIAMODE_VOICEVIEW 0x00004000
-#define LAST_LINEMEDIAMODE 0x00004000
-#if (NDIS_TAPI_CURRENT_VERSION >= 0x00020001)
-#define LINEMEDIAMODE_VIDEO 0x00008000
-#define LAST_LINEMEDIAMODE 0x00008000
-#endif
-
-#define LINEPARKMODE_DIRECTED 0x00000001
-#define LINEPARKMODE_NONDIRECTED 0x00000002
-
-#define LINEREMOVEFROMCONF_NONE 0x00000001
-#define LINEREMOVEFROMCONF_LAST 0x00000002
-#define LINEREMOVEFROMCONF_ANY 0x00000003
-
-#define LINEREQUESTMODE_MAKECALL 0x00000001
-#define LINEREQUESTMODE_MEDIACALL 0x00000002
-#define LINEREQUESTMODE_DROP 0x00000004
-
-#define LAST_LINEREQUESTMODE LINEREQUESTMODE_MEDIACALL
-
-#define LINEROAMMODE_UNKNOWN 0x00000001
-#define LINEROAMMODE_UNAVAIL 0x00000002
-#define LINEROAMMODE_HOME 0x00000004
-#define LINEROAMMODE_ROAMA 0x00000008
-#define LINEROAMMODE_ROAMB 0x00000010
-
-#define LINESPECIALINFO_NOCIRCUIT 0x00000001
-#define LINESPECIALINFO_CUSTIRREG 0x00000002
-#define LINESPECIALINFO_REORDER 0x00000004
-#define LINESPECIALINFO_UNKNOWN 0x00000008
-#define LINESPECIALINFO_UNAVAIL 0x00000010
-
-#define LINETERMDEV_PHONE 0x00000001
-#define LINETERMDEV_HEADSET 0x00000002
-#define LINETERMDEV_SPEAKER 0x00000004
-
-#define LINETERMMODE_BUTTONS 0x00000001
-#define LINETERMMODE_LAMPS 0x00000002
-#define LINETERMMODE_DISPLAY 0x00000004
-#define LINETERMMODE_RINGER 0x00000008
-#define LINETERMMODE_HOOKSWITCH 0x00000010
-#define LINETERMMODE_MEDIATOLINE 0x00000020
-#define LINETERMMODE_MEDIAFROMLINE 0x00000040
-#define LINETERMMODE_MEDIABIDIRECT 0x00000080
-
-#define LINETERMSHARING_PRIVATE 0x00000001
-#define LINETERMSHARING_SHAREDEXCL 0x00000002
-#define LINETERMSHARING_SHAREDCONF 0x00000004
-
-#define LINETONEMODE_CUSTOM 0x00000001
-#define LINETONEMODE_RINGBACK 0x00000002
-#define LINETONEMODE_BUSY 0x00000004
-#define LINETONEMODE_BEEP 0x00000008
-#define LINETONEMODE_BILLING 0x00000010
-
-#define LINETRANSFERMODE_TRANSFER 0x00000001
-#define LINETRANSFERMODE_CONFERENCE 0x00000002
-
-#define LINETOLLLISTOPTION_ADD 0x00000001
-#define LINETOLLLISTOPTION_REMOVE 0x00000002
-
-#define LINETRANSLATEOPTION_CARDOVERRIDE 0x00000001
-
-#define LINETRANSLATERESULT_CANONICAL 0x00000001
-#define LINETRANSLATERESULT_INTERNATIONAL 0x00000002
-#define LINETRANSLATERESULT_LONGDISTANCE 0x00000004
-#define LINETRANSLATERESULT_LOCAL 0x00000008
-#define LINETRANSLATERESULT_INTOLLLIST 0x00000010
-#define LINETRANSLATERESULT_NOTINTOLLLIST 0x00000020
-#define LINETRANSLATERESULT_DIALBILLING 0x00000040
-#define LINETRANSLATERESULT_DIALQUIET 0x00000080
-#define LINETRANSLATERESULT_DIALDIALTONE 0x00000100
-#define LINETRANSLATERESULT_DIALPROMPT 0x00000200
-#if (NDIS_TAPI_CURRENT_VERSION >= 0x00020000)
-#define LINETRANSLATERESULT_VOICEDETECT 0x00000400
-#endif
-
-#if (NDIS_TAPI_CURRENT_VERSION >= 0x00030000)
-#define LINETRANSLATERESULT_NOTRANSLATION 0x00000800
-#endif
-
-
-typedef struct _NDIS_VAR_DATA_DESC {
- USHORT Length;
- USHORT MaximumLength;
- LONG Offset;
-} NDIS_VAR_DATA_DESC, *PNDIS_VAR_DATA_DESC;
-
-typedef struct _LINE_DIAL_PARAMS {
- ULONG ulDialPause;
- ULONG ulDialSpeed;
- ULONG ulDigitDuration;
- ULONG ulWaitForDialtone;
-} LINE_DIAL_PARAMS, *PLINE_DIAL_PARAMS;
-
-typedef struct _LINE_ADDRESS_CAPS {
- ULONG ulTotalSize;
- ULONG ulNeededSize;
- ULONG ulUsedSize;
- ULONG ulLineDeviceID;
- ULONG ulAddressSize;
- ULONG ulAddressOffset;
- ULONG ulDevSpecificSize;
- ULONG ulDevSpecificOffset;
- ULONG ulAddressSharing;
- ULONG ulAddressStates;
- ULONG ulCallInfoStates;
- ULONG ulCallerIDFlags;
- ULONG ulCalledIDFlags;
- ULONG ulConnectedIDFlags;
- ULONG ulRedirectionIDFlags;
- ULONG ulRedirectingIDFlags;
- ULONG ulCallStates;
- ULONG ulDialToneModes;
- ULONG ulBusyModes;
- ULONG ulSpecialInfo;
- ULONG ulDisconnectModes;
- ULONG ulMaxNumActiveCalls;
- ULONG ulMaxNumOnHoldCalls;
- ULONG ulMaxNumOnHoldPendingCalls;
- ULONG ulMaxNumConference;
- ULONG ulMaxNumTransConf;
- ULONG ulAddrCapFlags;
- ULONG ulCallFeatures;
- ULONG ulRemoveFromConfCaps;
- ULONG ulRemoveFromConfState;
- ULONG ulTransferModes;
- ULONG ulParkModes;
- ULONG ulForwardModes;
- ULONG ulMaxForwardEntries;
- ULONG ulMaxSpecificEntries;
- ULONG ulMinFwdNumRings;
- ULONG ulMaxFwdNumRings;
- ULONG ulMaxCallCompletions;
- ULONG ulCallCompletionConds;
- ULONG ulCallCompletionModes;
- ULONG ulNumCompletionMessages;
- ULONG ulCompletionMsgTextEntrySize;
- ULONG ulCompletionMsgTextSize;
- ULONG ulCompletionMsgTextOffset;
-#if (NDIS_TAPI_CURRENT_VERSION >= 0x00010004)
- ULONG ulAddressFeatures;
-#if (NDIS_TAPI_CURRENT_VERSION >= 0x00020000)
- ULONG ulPredictiveAutoTransferStates;
- ULONG ulNumCallTreatments;
- ULONG ulCallTreatmentListSize;
- ULONG ulCallTreatmentListOffset;
- ULONG ulDeviceClassesSize;
- ULONG ulDeviceClassesOffset;
- ULONG ulMaxCallDataSize;
- ULONG ulCallFeatures2;
- ULONG ulMaxNoAnswerTimeout;
- ULONG ulConnectedModes;
- ULONG ulOfferingModes;
- ULONG ulAvailableMediaModes;
-#endif
-#endif
-} LINE_ADDRESS_CAPS, *PLINE_ADDRESS_CAPS;
-
-typedef struct _LINE_ADDRESS_STATUS {
- ULONG ulTotalSize;
- ULONG ulNeededSize;
- ULONG ulUsedSize;
- ULONG ulNumInUse;
- ULONG ulNumActiveCalls;
- ULONG ulNumOnHoldCalls;
- ULONG ulNumOnHoldPendCalls;
- ULONG ulAddressFeatures;
- ULONG ulNumRingsNoAnswer;
- ULONG ulForwardNumEntries;
- ULONG ulForwardSize;
- ULONG ulForwardOffset;
- ULONG ulTerminalModesSize;
- ULONG ulTerminalModesOffset;
- ULONG ulDevSpecificSize;
- ULONG ulDevSpecificOffset;
-} LINE_ADDRESS_STATUS, *PLINE_ADDRESS_STATUS;
-
-typedef struct _LINE_CALL_INFO {
- ULONG ulTotalSize;
- ULONG ulNeededSize;
- ULONG ulUsedSize;
- ULONG hLine;
- ULONG ulLineDeviceID;
- ULONG ulAddressID;
- ULONG ulBearerMode;
- ULONG ulRate;
- ULONG ulMediaMode;
- ULONG ulAppSpecific;
- ULONG ulCallID;
- ULONG ulRelatedCallID;
- ULONG ulCallParamFlags;
- ULONG ulCallStates;
- ULONG ulMonitorDigitModes;
- ULONG ulMonitorMediaModes;
- LINE_DIAL_PARAMS DialParams;
- ULONG ulOrigin;
- ULONG ulReason;
- ULONG ulCompletionID;
- ULONG ulNumOwners;
- ULONG ulNumMonitors;
- ULONG ulCountryCode;
- ULONG ulTrunk;
- ULONG ulCallerIDFlags;
- ULONG ulCallerIDSize;
- ULONG ulCallerIDOffset;
- ULONG ulCallerIDNameSize;
- ULONG ulCallerIDNameOffset;
- ULONG ulCalledIDFlags;
- ULONG ulCalledIDSize;
- ULONG ulCalledIDOffset;
- ULONG ulCalledIDNameSize;
- ULONG ulCalledIDNameOffset;
- ULONG ulConnectedIDFlags;
- ULONG ulConnectedIDSize;
- ULONG ulConnectedIDOffset;
- ULONG ulConnectedIDNameSize;
- ULONG ulConnectedIDNameOffset;
- ULONG ulRedirectionIDFlags;
- ULONG ulRedirectionIDSize;
- ULONG ulRedirectionIDOffset;
- ULONG ulRedirectionIDNameSize;
- ULONG ulRedirectionIDNameOffset;
- ULONG ulRedirectingIDFlags;
- ULONG ulRedirectingIDSize;
- ULONG ulRedirectingIDOffset;
- ULONG ulRedirectingIDNameSize;
- ULONG ulRedirectingIDNameOffset;
- ULONG ulAppNameSize;
- ULONG ulAppNameOffset;
- ULONG ulDisplayableAddressSize;
- ULONG ulDisplayableAddressOffset;
- ULONG ulCalledPartySize;
- ULONG ulCalledPartyOffset;
- ULONG ulCommentSize;
- ULONG ulCommentOffset;
- ULONG ulDisplaySize;
- ULONG ulDisplayOffset;
- ULONG ulUserUserInfoSize;
- ULONG ulUserUserInfoOffset;
- ULONG ulHighLevelCompSize;
- ULONG ulHighLevelCompOffset;
- ULONG ulLowLevelCompSize;
- ULONG ulLowLevelCompOffset;
- ULONG ulChargingInfoSize;
- ULONG ulChargingInfoOffset;
- ULONG ulTerminalModesSize;
- ULONG ulTerminalModesOffset;
- ULONG ulDevSpecificSize;
- ULONG ulDevSpecificOffset;
-#if (NDIS_TAPI_CURRENT_VERSION >= 0x00020000)
- ULONG ulCallTreatment;
- ULONG ulCallDataSize;
- ULONG ulCallDataOffset;
- ULONG ulSendingFlowspecSize;
- ULONG ulSendingFlowspecOffset;
- ULONG ulReceivingFlowspecSize;
- ULONG ulReceivingFlowspecOffset;
-#endif
-#if (NDIS_TAPI_CURRENT_VERSION >= 0x00030000)
- ULONG ulCallerIDAddressType;
- ULONG ulCalledIDAddressType;
- ULONG ulConnectedIDAddressType;
- ULONG ulRedirectionIDAddressType;
- ULONG ulRedirectingIDAddressType;
-#endif
-} LINE_CALL_INFO, *PLINE_CALL_INFO;
-
-typedef struct _LINE_CALL_PARAMS {
- ULONG ulTotalSize;
- ULONG ulBearerMode;
- ULONG ulMinRate;
- ULONG ulMaxRate;
- ULONG ulMediaMode;
- ULONG ulCallParamFlags;
- ULONG ulAddressMode;
- ULONG ulAddressID;
- LINE_DIAL_PARAMS DialParams;
- ULONG ulOrigAddressSize;
- ULONG ulOrigAddressOffset;
- ULONG ulDisplayableAddressSize;
- ULONG ulDisplayableAddressOffset;
- ULONG ulCalledPartySize;
- ULONG ulCalledPartyOffset;
- ULONG ulCommentSize;
- ULONG ulCommentOffset;
- ULONG ulUserUserInfoSize;
- ULONG ulUserUserInfoOffset;
- ULONG ulHighLevelCompSize;
- ULONG ulHighLevelCompOffset;
- ULONG ulLowLevelCompSize;
- ULONG ulLowLevelCompOffset;
- ULONG ulDevSpecificSize;
- ULONG ulDevSpecificOffset;
-#if (NDIS_TAPI_CURRENT_VERSION >= 0x00020000)
- ULONG ulPredictiveAutoTransferStates;
- ULONG ulTargetAddressSize;
- ULONG ulTargetAddressOffset;
- ULONG ulSendingFlowspecSize;
- ULONG ulSendingFlowspecOffset;
- ULONG ulReceivingFlowspecSize;
- ULONG ulReceivingFlowspecOffset;
- ULONG ulDeviceClassSize;
- ULONG ulDeviceClassOffset;
- ULONG ulDeviceConfigSize;
- ULONG ulDeviceConfigOffset;
- ULONG ulCallDataSize;
- ULONG ulCallDataOffset;
- ULONG ulNoAnswerTimeout;
- ULONG ulCallingPartyIDSize;
- ULONG ulCallingPartyIDOffset;
-#endif
-#if (NDIS_TAPI_CURRENT_VERSION >= 0x00030000)
- ULONG ulAddressType;
-#endif
-} LINE_CALL_PARAMS, *PLINE_CALL_PARAMS;
-
-typedef struct _LINE_CALL_STATUS {
- ULONG ulTotalSize;
- ULONG ulNeededSize;
- ULONG ulUsedSize;
- ULONG ulCallState;
- ULONG ulCallStateMode;
- ULONG ulCallPrivilege;
- ULONG ulCallFeatures;
- ULONG ulDevSpecificSize;
- ULONG ulDevSpecificOffset;
-} LINE_CALL_STATUS, *PLINE_CALL_STATUS;
-
-typedef struct _LINE_DEV_CAPS {
- ULONG ulTotalSize;
- ULONG ulNeededSize;
- ULONG ulUsedSize;
- ULONG ulProviderInfoSize;
- ULONG ulProviderInfoOffset;
- ULONG ulSwitchInfoSize;
- ULONG ulSwitchInfoOffset;
- ULONG ulPermanentLineID;
- ULONG ulLineNameSize;
- ULONG ulLineNameOffset;
- ULONG ulStringFormat;
- ULONG ulAddressModes;
- ULONG ulNumAddresses;
- ULONG ulBearerModes;
- ULONG ulMaxRate;
- ULONG ulMediaModes;
- ULONG ulGenerateToneModes;
- ULONG ulGenerateToneMaxNumFreq;
- ULONG ulGenerateDigitModes;
- ULONG ulMonitorToneMaxNumFreq;
- ULONG ulMonitorToneMaxNumEntries;
- ULONG ulMonitorDigitModes;
- ULONG ulGatherDigitsMinTimeout;
- ULONG ulGatherDigitsMaxTimeout;
- ULONG ulMedCtlDigitMaxListSize;
- ULONG ulMedCtlMediaMaxListSize;
- ULONG ulMedCtlToneMaxListSize;
- ULONG ulMedCtlCallStateMaxListSize;
- ULONG ulDevCapFlags;
- ULONG ulMaxNumActiveCalls;
- ULONG ulAnswerMode;
- ULONG ulRingModes;
- ULONG ulLineStates;
- ULONG ulUUIAcceptSize;
- ULONG ulUUIAnswerSize;
- ULONG ulUUIMakeCallSize;
- ULONG ulUUIDropSize;
- ULONG ulUUISendUserUserInfoSize;
- ULONG ulUUICallInfoSize;
- LINE_DIAL_PARAMS MinDialParams;
- LINE_DIAL_PARAMS MaxDialParams;
- LINE_DIAL_PARAMS DefaultDialParams;
- ULONG ulNumTerminals;
- ULONG ulTerminalCapsSize;
- ULONG ulTerminalCapsOffset;
- ULONG ulTerminalTextEntrySize;
- ULONG ulTerminalTextSize;
- ULONG ulTerminalTextOffset;
- ULONG ulDevSpecificSize;
- ULONG ulDevSpecificOffset;
-#if (NDIS_TAPI_CURRENT_VERSION >= 0x00010004)
- ULONG ulLineFeatures;
-#endif
-#if (NDIS_TAPI_CURRENT_VERSION >= 0x00020000)
- ULONG ulSettableDevStatus;
- ULONG ulDeviceClassesSize;
- ULONG ulDeviceClassesOffset;
-#endif
-#if (NDIS_TAPI_CURRENT_VERSION >= 0x00020002)
- GUID PermanentLineGuid;
-#endif
-#if (NDIS_TAPI_CURRENT_VERSION >= 0x00030000)
- ULONG ulAddressTypes;
- GUID ProtocolGuid;
- ULONG ulAvailableTracking;
-#endif
-} LINE_DEV_CAPS, *PLINE_DEV_CAPS;
-
-typedef struct _LINE_DEV_STATUS {
- ULONG ulTotalSize;
- ULONG ulNeededSize;
- ULONG ulUsedSize;
- ULONG ulNumOpens;
- ULONG ulOpenMediaModes;
- ULONG ulNumActiveCalls;
- ULONG ulNumOnHoldCalls;
- ULONG ulNumOnHoldPendCalls;
- ULONG ulLineFeatures;
- ULONG ulNumCallCompletions;
- ULONG ulRingMode;
- ULONG ulSignalLevel;
- ULONG ulBatteryLevel;
- ULONG ulRoamMode;
- ULONG ulDevStatusFlags;
- ULONG ulTerminalModesSize;
- ULONG ulTerminalModesOffset;
- ULONG ulDevSpecificSize;
- ULONG ulDevSpecificOffset;
-} LINE_DEV_STATUS, *PLINE_DEV_STATUS;
-
-typedef struct _LINE_EXTENSION_ID {
- ULONG ulExtensionID0;
- ULONG ulExtensionID1;
- ULONG ulExtensionID2;
- ULONG ulExtensionID3;
-} LINE_EXTENSION_ID, *PLINE_EXTENSION_ID;
-
-typedef struct _VAR_STRING {
- ULONG ulTotalSize;
- ULONG ulNeededSize;
- ULONG ulUsedSize;
- ULONG ulStringFormat;
- ULONG ulStringSize;
- ULONG ulStringOffset;
-} VAR_STRING, *PVAR_STRING;
-
-typedef struct _NDIS_TAPI_ANSWER {
- /*IN*/ ULONG ulRequestID;
- /*IN*/ HDRV_CALL hdCall;
- /*IN*/ ULONG ulUserUserInfoSize;
- /*IN*/ UCHAR UserUserInfo[1];
-} NDIS_TAPI_ANSWER, *PNDIS_TAPI_ANSWER;
-
-typedef struct _NDIS_TAPI_CLOSE {
- /*IN*/ ULONG ulRequestID;
- /*IN*/ HDRV_LINE hdLine;
-} NDIS_TAPI_CLOSE, *PNDIS_TAPI_CLOSE;
-
-typedef struct _NDIS_TAPI_CLOSE_CALL {
- /*IN*/ ULONG ulRequestID;
- /*IN*/ HDRV_CALL hdCall;
-} NDIS_TAPI_CLOSE_CALL, *PNDIS_TAPI_CLOSE_CALL;
-
-typedef struct _NDIS_TAPI_CONDITIONAL_MEDIA_DETECTION {
- /*IN*/ ULONG ulRequestID;
- /*IN*/ HDRV_LINE hdLine;
- /*IN*/ ULONG ulMediaModes;
- /*IN*/ LINE_CALL_PARAMS LineCallParams;
-} NDIS_TAPI_CONDITIONAL_MEDIA_DETECTION, *PNDIS_TAPI_CONDITIONAL_MEDIA_DETECTION;
-
-typedef struct _NDIS_TAPI_DROP {
- /*IN*/ ULONG ulRequestID;
- /*IN*/ HDRV_CALL hdCall;
- /*IN*/ ULONG ulUserUserInfoSize;
- /*IN*/ UCHAR UserUserInfo[1];
-} NDIS_TAPI_DROP, *PNDIS_TAPI_DROP;
-
-typedef struct _NDIS_TAPI_PROVIDER_SHUTDOWN {
- /*IN*/ ULONG ulRequestID;
-} NDIS_TAPI_PROVIDER_SHUTDOWN, *PNDIS_TAPI_PROVIDER_SHUTDOWN;
-
-typedef struct _NDIS_TAPI_SET_APP_SPECIFIC {
- /*IN*/ ULONG ulRequestID;
- /*IN*/ HDRV_CALL hdCall;
- /*IN*/ ULONG ulAppSpecific;
-} NDIS_TAPI_SET_APP_SPECIFIC, *PNDIS_TAPI_SET_APP_SPECIFIC;
-
-typedef struct _NDIS_TAPI_SET_CALL_PARAMS {
- /*IN*/ ULONG ulRequestID;
- /*IN*/ HDRV_CALL hdCall;
- /*IN*/ ULONG ulBearerMode;
- /*IN*/ ULONG ulMinRate;
- /*IN*/ ULONG ulMaxRate;
- /*IN*/ BOOLEAN bSetLineDialParams;
- /*IN*/ LINE_DIAL_PARAMS LineDialParams;
-} NDIS_TAPI_SET_CALL_PARAMS, *PNDIS_TAPI_SET_CALL_PARAMS;
-
-typedef struct _NDIS_TAPI_SET_DEFAULT_MEDIA_DETECTION {
- /*IN*/ ULONG ulRequestID;
- /*IN*/ HDRV_LINE hdLine;
- /*IN*/ ULONG ulMediaModes;
-} NDIS_TAPI_SET_DEFAULT_MEDIA_DETECTION, *PNDIS_TAPI_SET_DEFAULT_MEDIA_DETECTION;
-
-typedef struct _NDIS_TAPI_SET_DEV_CONFIG {
- /*IN*/ ULONG ulRequestID;
- /*IN*/ ULONG ulDeviceID;
- /*IN*/ ULONG ulDeviceClassSize;
- /*IN*/ ULONG ulDeviceClassOffset;
- /*IN*/ ULONG ulDeviceConfigSize;
- /*IN*/ UCHAR DeviceConfig[1];
-} NDIS_TAPI_SET_DEV_CONFIG, *PNDIS_TAPI_SET_DEV_CONFIG;
-
-typedef struct _NDIS_TAPI_SET_MEDIA_MODE {
- /*IN*/ ULONG ulRequestID;
- /*IN*/ HDRV_CALL hdCall;
- /*IN*/ ULONG ulMediaMode;
-} NDIS_TAPI_SET_MEDIA_MODE, *PNDIS_TAPI_SET_MEDIA_MODE;
-
-typedef struct _NDIS_TAPI_SET_STATUS_MESSAGES {
- /*IN*/ ULONG ulRequestID;
- /*IN*/ HDRV_LINE hdLine;
- /*IN*/ ULONG ulLineStates;
- /*IN*/ ULONG ulAddressStates;
-} NDIS_TAPI_SET_STATUS_MESSAGES, *PNDIS_TAPI_SET_STATUS_MESSAGES;
-
-typedef struct _NDIS_TAPI_ACCEPT {
- /*IN*/ ULONG ulRequestID;
- /*IN*/ HDRV_CALL hdCall;
- /*IN*/ ULONG ulUserUserInfoSize;
- /*IN*/ UCHAR UserUserInfo[1];
-} NDIS_TAPI_ACCEPT, *PNDIS_TAPI_ACCEPT;
-
-typedef struct _NDIS_TAPI_DIAL {
- /*IN*/ ULONG ulRequestID;
- /*IN*/ HDRV_CALL hdCall;
- /*IN*/ ULONG ulDestAddressSize;
- /*IN*/ CHAR szDestAddress[1];
-} NDIS_TAPI_DIAL, *PNDIS_TAPI_DIAL;
-
-typedef struct _NDIS_TAPI_EVENT {
- /*IN*/ HTAPI_LINE htLine;
- /*IN*/ HTAPI_CALL htCall;
- /*IN*/ ULONG ulMsg;
- /*IN*/ ULONG ulParam1;
- /*IN*/ ULONG ulParam2;
- /*IN*/ ULONG ulParam3;
-} NDIS_TAPI_EVENT, *PNDIS_TAPI_EVENT;
-
-typedef struct _NDIS_TAPI_OPEN {
- /*IN*/ ULONG ulRequestID;
- /*IN*/ ULONG ulDeviceID;
- /*IN*/ HTAPI_LINE htLine;
- /*OUT*/ HDRV_LINE hdLine;
-} NDIS_TAPI_OPEN, *PNDIS_TAPI_OPEN;
-
-typedef struct _NDIS_TAPI_SECURE_CALL {
- /*IN*/ ULONG ulRequestID;
- /*IN*/ HDRV_CALL hdCall;
-} NDIS_TAPI_SECURE_CALL, *PNDIS_TAPI_SECURE_CALL;
-
-typedef struct _NDIS_TAPI_SELECT_EXT_VERSION {
- /*IN*/ ULONG ulRequestID;
- /*IN*/ HDRV_LINE hdLine;
- /*IN*/ ULONG ulExtVersion;
-} NDIS_TAPI_SELECT_EXT_VERSION, *PNDIS_TAPI_SELECT_EXT_VERSION;
-
-typedef struct _NDIS_TAPI_SEND_USER_USER_INFO {
- /*IN*/ ULONG ulRequestID;
- /*IN*/ HDRV_CALL hdCall;
- /*IN*/ ULONG ulUserUserInfoSize;
- /*IN*/ UCHAR UserUserInfo[1];
-} NDIS_TAPI_SEND_USER_USER_INFO, *PNDIS_TAPI_SEND_USER_USER_INFO;
-
-
-typedef struct _NDIS_TAPI_CONFIG_DIALOG {
- /*IN*/ ULONG ulRequestID;
- /*IN*/ ULONG ulDeviceID;
- /*IN*/ ULONG ulDeviceClassSize;
- /*IN*/ ULONG ulDeviceClassOffset;
- /*IN*/ ULONG ulLibraryNameTotalSize;
- /*OUT*/ ULONG ulLibraryNameNeededSize;
- /*OUT*/ CHAR szLibraryName[1];
-} NDIS_TAPI_CONFIG_DIALOG, *PNDIS_TAPI_CONFIG_DIALOG;
-
-typedef struct _NDIS_TAPI_DEV_SPECIFIC {
- /*IN*/ ULONG ulRequestID;
- /*IN*/ HDRV_LINE hdLine;
- /*IN*/ ULONG ulAddressID;
- /*IN*/ HDRV_CALL hdCall;
- /*IN OUT*/ ULONG ulParamsSize;
- /*IN OUT*/ UCHAR Params[1];
-} NDIS_TAPI_DEV_SPECIFIC, *PNDIS_TAPI_DEV_SPECIFIC;
-
-typedef struct _NDIS_TAPI_GET_ADDRESS_CAPS {
- /*IN*/ ULONG ulRequestID;
- /*IN*/ ULONG ulDeviceID;
- /*IN*/ ULONG ulAddressID;
- /*IN*/ ULONG ulExtVersion;
- /*OUT*/ LINE_ADDRESS_CAPS LineAddressCaps;
-} NDIS_TAPI_GET_ADDRESS_CAPS, *PNDIS_TAPI_GET_ADDRESS_CAPS;
-
-typedef struct _NDIS_TAPI_GET_ADDRESS_ID {
- /*IN*/ ULONG ulRequestID;
- /*IN*/ HDRV_LINE hdLine;
- /*OUT*/ ULONG ulAddressID;
- /*IN*/ ULONG ulAddressMode;
- /*IN*/ ULONG ulAddressSize;
- /*IN*/ CHAR szAddress[1];
-} NDIS_TAPI_GET_ADDRESS_ID, *PNDIS_TAPI_GET_ADDRESS_ID;
-
-typedef struct _NDIS_TAPI_GET_ADDRESS_STATUS {
- /*IN*/ ULONG ulRequestID;
- /*IN*/ HDRV_LINE hdLine;
- /*IN*/ ULONG ulAddressID;
- /*OUT*/ LINE_ADDRESS_STATUS LineAddressStatus;
-} NDIS_TAPI_GET_ADDRESS_STATUS, *PNDIS_TAPI_GET_ADDRESS_STATUS;
-
-typedef struct _NDIS_TAPI_GET_CALL_ADDRESS_ID {
- /*IN*/ ULONG ulRequestID;
- /*IN*/ HDRV_CALL hdCall;
- /*OUT*/ ULONG ulAddressID;
-} NDIS_TAPI_GET_CALL_ADDRESS_ID, *PNDIS_TAPI_GET_CALL_ADDRESS_ID;
-
-typedef struct _NDIS_TAPI_GET_CALL_INFO {
- ULONG ulRequestID;
- /*IN*/ HDRV_CALL hdCall;
- /*OUT*/ LINE_CALL_INFO LineCallInfo;
-} NDIS_TAPI_GET_CALL_INFO, *PNDIS_TAPI_GET_CALL_INFO;
-
-typedef struct _NDIS_TAPI_GET_CALL_STATUS {
- /*IN*/ ULONG ulRequestID;
- /*IN*/ HDRV_CALL hdCall;
- /*OUT*/ LINE_CALL_STATUS LineCallStatus;
-} NDIS_TAPI_GET_CALL_STATUS, *PNDIS_TAPI_GET_CALL_STATUS;
-
-typedef struct _NDIS_TAPI_GET_DEV_CAPS {
- /*IN*/ ULONG ulRequestID;
- /*IN*/ ULONG ulDeviceID;
- /*IN*/ ULONG ulExtVersion;
- /*OUT*/ LINE_DEV_CAPS LineDevCaps;
-} NDIS_TAPI_GET_DEV_CAPS, *PNDIS_TAPI_GET_DEV_CAPS;
-
-typedef struct _NDIS_TAPI_GET_DEV_CONFIG {
- /*IN*/ ULONG ulRequestID;
- /*IN*/ ULONG ulDeviceID;
- /*IN*/ ULONG ulDeviceClassSize;
- /*IN*/ ULONG ulDeviceClassOffset;
- /*OUT*/ VAR_STRING DeviceConfig;
-} NDIS_TAPI_GET_DEV_CONFIG, *PNDIS_TAPI_GET_DEV_CONFIG;
-
-typedef struct _NDIS_TAPI_GET_EXTENSION_ID {
- /*IN*/ ULONG ulRequestID;
- /*IN*/ ULONG ulDeviceID;
- /*OUT*/ LINE_EXTENSION_ID LineExtensionID;
-} NDIS_TAPI_GET_EXTENSION_ID, *PNDIS_TAPI_GET_EXTENSION_ID;
-
-typedef struct _NDIS_TAPI_GET_ID {
- /*IN*/ ULONG ulRequestID;
- /*IN*/ HDRV_LINE hdLine;
- /*IN*/ ULONG ulAddressID;
- /*IN*/ HDRV_CALL hdCall;
- /*IN*/ ULONG ulSelect;
- /*IN*/ ULONG ulDeviceClassSize;
- /*IN*/ ULONG ulDeviceClassOffset;
- /*OUT*/ VAR_STRING DeviceID;
-} NDIS_TAPI_GET_ID, *PNDIS_TAPI_GET_ID;
-
-typedef struct _NDIS_TAPI_GET_LINE_DEV_STATUS {
- /*IN*/ ULONG ulRequestID;
- /*IN*/ HDRV_LINE hdLine;
- /*OUT*/ LINE_DEV_STATUS LineDevStatus;
-} NDIS_TAPI_GET_LINE_DEV_STATUS, *PNDIS_TAPI_GET_LINE_DEV_STATUS;
-
-typedef struct _NDIS_TAPI_MAKE_CALL {
- /*IN*/ ULONG ulRequestID;
- /*IN*/ HDRV_LINE hdLine;
- /*IN*/ HTAPI_CALL htCall;
- /*OUT*/ HDRV_CALL hdCall;
- /*IN*/ ULONG ulDestAddressSize;
- /*IN*/ ULONG ulDestAddressOffset;
- /*IN*/ BOOLEAN bUseDefaultLineCallParams;
- /*IN*/ LINE_CALL_PARAMS LineCallParams;
-} NDIS_TAPI_MAKE_CALL, *PNDIS_TAPI_MAKE_CALL;
-
-typedef struct _NDIS_TAPI_NEGOTIATE_EXT_VERSION {
- /*IN*/ ULONG ulRequestID;
- /*IN*/ ULONG ulDeviceID;
- /*IN*/ ULONG ulLowVersion;
- /*IN*/ ULONG ulHighVersion;
- /*OUT*/ ULONG ulExtVersion;
-} NDIS_TAPI_NEGOTIATE_EXT_VERSION, *PNDIS_TAPI_NEGOTIATE_EXT_VERSION;
-
-typedef struct _NDIS_TAPI_PROVIDER_INITIALIZE {
- /*IN*/ ULONG ulRequestID;
- /*IN*/ ULONG ulDeviceIDBase;
- /*OUT*/ ULONG ulNumLineDevs;
- /*OUT*/ ULONG ulProviderID;
-} NDIS_TAPI_PROVIDER_INITIALIZE, *PNDIS_TAPI_PROVIDER_INITIALIZE;
-
-
-#define CO_TAPI_VERSION NDIS_TAPI_CURRENT_VERSION
-
-#define CO_TAPI_FLAG_OUTGOING_CALL 0x00000001
-#define CO_TAPI_FLAG_INCOMING_CALL 0x00000002
-#define CO_TAPI_FLAG_USE_DEFAULT_CALLPARAMS 0x00000004
-
-#define AF_TAPI_SAP_TYPE 0x00008000
-
-typedef struct _CO_TAPI_ADDRESS_CAPS {
- /*IN*/ ULONG ulLineID;
- /*IN*/ ULONG ulAddressID;
- /*OUT*/ ULONG ulFlags;
- /*OUT*/ LINE_ADDRESS_CAPS LineAddressCaps;
-} CO_TAPI_ADDRESS_CAPS, *PCO_TAPI_ADDRESS_CAPS;
-
-/* CO_TAPI_CM_CAPS.ulFlags constants */
-#define CO_TAPI_FLAG_PER_LINE_CAPS 0x00000001
-
-typedef struct _CO_TAPI_CM_CAPS {
- /*OUT*/ ULONG ulCoTapiVersion;
- /*OUT*/ ULONG ulNumLines;
- /*OUT*/ ULONG ulFlags;
-} CO_TAPI_CM_CAPS, *PCO_TAPI_CM_CAPS;
-
-typedef struct _CO_TAPI_CALL_DIAGNOSTICS {
- /*OUT*/ ULONG ulOrigin;
- /*OUT*/ ULONG ulReason;
- /*OUT*/ NDIS_VAR_DATA_DESC DiagInfo;
-} CO_TAPI_CALL_DIAGNOSTICS, *PCO_TAPI_CALL_DIAGNOSTICS;
-
-
-/* CO_TAPI_LINE_CAPS.ulFlags constants */
-#define CO_TAPI_FLAG_PER_ADDRESS_CAPS 0x00000001
-
-typedef struct _CO_TAPI_LINE_CAPS {
- /*IN*/ ULONG ulLineID;
- /*OUT*/ ULONG ulFlags;
- /*OUT*/ LINE_DEV_CAPS LineDevCaps;
-} CO_TAPI_LINE_CAPS, *PCO_TAPI_LINE_CAPS;
-
-typedef struct _CO_TAPI_TRANSLATE_NDIS_CALLPARAMS {
- /*IN*/ ULONG ulFlags;
- /*IN*/ NDIS_VAR_DATA_DESC NdisCallParams;
- /*OUT*/ NDIS_VAR_DATA_DESC LineCallInfo;
-} CO_TAPI_TRANSLATE_NDIS_CALLPARAMS, *PCO_TAPI_TRANSLATE_NDIS_CALLPARAMS;
-
-typedef struct _CO_TAPI_TRANSLATE_TAPI_CALLPARAMS {
- /*IN*/ ULONG ulLineID;
- /*IN*/ ULONG ulAddressID;
- /*IN*/ ULONG ulFlags;
- /*IN*/ NDIS_VAR_DATA_DESC DestAddress;
- /*IN*/ NDIS_VAR_DATA_DESC LineCallParams;
- /*OUT*/ NDIS_VAR_DATA_DESC NdisCallParams;
-} CO_TAPI_TRANSLATE_TAPI_CALLPARAMS, *PCO_TAPI_TRANSLATE_TAPI_CALLPARAMS;
-
-/* CO_TAPI_TRANSLATE_SAP.ulLineID constants */
-#define CO_TAPI_LINE_ID_UNSPECIFIED 0xFFFFFFFF
-
-/* CO_TAPI_TRANSLATE_SAP.ulAddressID constants */
-#define CO_TAPI_ADDRESS_ID_UNSPECIFIED 0xFFFFFFFF
-
-typedef struct _CO_TAPI_TRANSLATE_SAP {
- /*IN*/ ULONG ulLineID;
- /*IN*/ ULONG ulAddressID;
- /*IN*/ ULONG ulMediaModes;
- /*IN*/ ULONG Reserved;
- /*OUT*/ ULONG NumberOfSaps;
- /*OUT*/ NDIS_VAR_DATA_DESC NdisSapParams[1];
-} CO_AF_TAPI_SAP, *PCO_AF_TAPI_SAP;
-
-typedef struct _CO_AF_TAPI_INCOMING_CALL_PARAMETERS {
- /*IN*/ ULONG ulLineID;
- /*IN*/ ULONG ulAddressID;
- /*IN*/ ULONG ulFlags;
- /*IN*/ NDIS_VAR_DATA_DESC LineCallInfo;
-} CO_AF_TAPI_INCOMING_CALL_PARAMETERS, *PCO_AF_TAPI_INCOMING_CALL_PARAMETERS;
-
-typedef struct _CO_AF_TAPI_MAKE_CALL_PARAMETERS {
- /*IN*/ ULONG ulLineID;
- /*IN*/ ULONG ulAddressID;
- /*IN*/ ULONG ulFlags;
- /*IN*/ NDIS_VAR_DATA_DESC DestAddress;
- /*IN*/ NDIS_VAR_DATA_DESC LineCallParams;
-} CO_AF_TAPI_MAKE_CALL_PARAMETERS, *PCO_AF_TAPI_MAKE_CALL_PARAMETERS;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NDISTAPI_H */
diff --git a/winsup/w32api/include/ddk/ndiswan.h b/winsup/w32api/include/ddk/ndiswan.h
deleted file mode 100644
index 22ea978eb..000000000
--- a/winsup/w32api/include/ddk/ndiswan.h
+++ /dev/null
@@ -1,251 +0,0 @@
-/*
- * ndiswan.h
- *
- * Definitions for NDIS WAN miniport drivers
- *
- * 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 __NDISWAN_H
-#define __NDISWAN_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ndis.h"
-
-#define NDIS_USE_WAN_WRAPPER 0x00000001
-
-#define NDIS_STATUS_TAPI_INDICATION ((NDIS_STATUS)0x40010080L)
-
-/* NDIS_WAN_INFO.FramingBits constants */
-#define RAS_FRAMING 0x00000001
-#define RAS_COMPRESSION 0x00000002
-
-#define ARAP_V1_FRAMING 0x00000004
-#define ARAP_V2_FRAMING 0x00000008
-#define ARAP_FRAMING (ARAP_V1_FRAMING | ARAP_V2_FRAMING)
-
-#define PPP_MULTILINK_FRAMING 0x00000010
-#define PPP_SHORT_SEQUENCE_HDR_FORMAT 0x00000020
-#define PPP_MC_MULTILINK_FRAMING 0x00000040
-
-#define PPP_FRAMING 0x00000100
-#define PPP_COMPRESS_ADDRESS_CONTROL 0x00000200
-#define PPP_COMPRESS_PROTOCOL_FIELD 0x00000400
-#define PPP_ACCM_SUPPORTED 0x00000800
-
-#define SLIP_FRAMING 0x00001000
-#define SLIP_VJ_COMPRESSION 0x00002000
-#define SLIP_VJ_AUTODETECT 0x00004000
-
-#define MEDIA_NRZ_ENCODING 0x00010000
-#define MEDIA_NRZI_ENCODING 0x00020000
-#define MEDIA_NLPID 0x00040000
-
-#define RFC_1356_FRAMING 0x00100000
-#define RFC_1483_FRAMING 0x00200000
-#define RFC_1490_FRAMING 0x00400000
-#define LLC_ENCAPSULATION 0x00800000
-
-#define SHIVA_FRAMING 0x01000000
-#define NBF_PRESERVE_MAC_ADDRESS 0x01000000
-
-#define PASS_THROUGH_MODE 0x10000000
-#define RAW_PASS_THROUGH_MODE 0x20000000
-
-#define TAPI_PROVIDER 0x80000000
-
-typedef struct _NDIS_WAN_INFO {
- /*OUT*/ ULONG MaxFrameSize;
- /*OUT*/ ULONG MaxTransmit;
- /*OUT*/ ULONG HeaderPadding;
- /*OUT*/ ULONG TailPadding;
- /*OUT*/ ULONG Endpoints;
- /*OUT*/ UINT MemoryFlags;
- /*OUT*/ NDIS_PHYSICAL_ADDRESS HighestAcceptableAddress;
- /*OUT*/ ULONG FramingBits;
- /*OUT*/ ULONG DesiredACCM;
-} NDIS_WAN_INFO, *PNDIS_WAN_INFO;
-
-typedef struct _NDIS_WAN_GET_LINK_INFO {
- /*IN*/ NDIS_HANDLE NdisLinkHandle;
- /*OUT*/ ULONG MaxSendFrameSize;
- /*OUT*/ ULONG MaxRecvFrameSize;
- /*OUT*/ ULONG HeaderPadding;
- /*OUT*/ ULONG TailPadding;
- /*OUT*/ ULONG SendFramingBits;
- /*OUT*/ ULONG RecvFramingBits;
- /*OUT*/ ULONG SendCompressionBits;
- /*OUT*/ ULONG RecvCompressionBits;
- /*OUT*/ ULONG SendACCM;
- /*OUT*/ ULONG RecvACCM;
-} NDIS_WAN_GET_LINK_INFO, *PNDIS_WAN_GET_LINK_INFO;
-
-typedef struct _NDIS_WAN_SET_LINK_INFO {
- /*IN*/ NDIS_HANDLE NdisLinkHandle;
- /*IN*/ ULONG MaxSendFrameSize;
- /*IN*/ ULONG MaxRecvFrameSize;
- /*IN*/ ULONG HeaderPadding;
- /*IN*/ ULONG TailPadding;
- /*IN*/ ULONG SendFramingBits;
- /*IN*/ ULONG RecvFramingBits;
- /*IN*/ ULONG SendCompressionBits;
- /*IN*/ ULONG RecvCompressionBits;
- /*IN*/ ULONG SendACCM;
- /*IN*/ ULONG RecvACCM;
-} NDIS_WAN_SET_LINK_INFO, *PNDIS_WAN_SET_LINK_INFO;
-
-/* NDIS_WAN_COMPRESS_INFO.MSCompType constants */
-#define NDISWAN_COMPRESSION 0x00000001
-#define NDISWAN_ENCRYPTION 0x00000010
-#define NDISWAN_40_ENCRYPTION 0x00000020
-#define NDISWAN_128_ENCRYPTION 0x00000040
-#define NDISWAN_56_ENCRYPTION 0x00000080
-#define NDISWAN_HISTORY_LESS 0x01000000
-
-/* NDIS_WAN_COMPRESS_INFO.CompType constants */
-#define COMPTYPE_OUI 0
-#define COMPTYPE_NT31RAS 254
-#define COMPTYPE_NONE 255
-
-typedef struct _NDIS_WAN_COMPRESS_INFO {
- UCHAR SessionKey[8];
- ULONG MSCompType;
- UCHAR CompType;
- USHORT CompLength;
- _ANONYMOUS_UNION union {
- struct {
- UCHAR CompOUI[3];
- UCHAR CompSubType;
- UCHAR CompValues[32];
- } Proprietary;
- struct {
- UCHAR CompValues[32];
- } Public;
- } DUMMYUNIONNAME;
-} NDIS_WAN_COMPRESS_INFO;
-
-typedef NDIS_WAN_COMPRESS_INFO *PNDIS_WAN_COMPRESS_INFO;
-
-typedef struct _NDIS_WAN_GET_COMP_INFO {
- /*IN*/ NDIS_HANDLE NdisLinkHandle;
- /*OUT*/ NDIS_WAN_COMPRESS_INFO SendCapabilities;
- /*OUT*/ NDIS_WAN_COMPRESS_INFO RecvCapabilities;
-} NDIS_WAN_GET_COMP_INFO, *PNDIS_WAN_GET_COMP_INFO;
-
-typedef struct _NDIS_WAN_SET_COMP_INFO {
- /*IN*/ NDIS_HANDLE NdisLinkHandle;
- /*IN*/ NDIS_WAN_COMPRESS_INFO SendCapabilities;
- /*IN*/ NDIS_WAN_COMPRESS_INFO RecvCapabilities;
-} NDIS_WAN_SET_COMP_INFO, *PNDIS_WAN_SET_COMP_INFO;
-
-typedef struct _NDIS_WAN_GET_STATS_INFO {
- /*IN*/ NDIS_HANDLE NdisLinkHandle;
- /*OUT*/ ULONG BytesSent;
- /*OUT*/ ULONG BytesRcvd;
- /*OUT*/ ULONG FramesSent;
- /*OUT*/ ULONG FramesRcvd;
- /*OUT*/ ULONG CRCErrors;
- /*OUT*/ ULONG TimeoutErrors;
- /*OUT*/ ULONG AlignmentErrors;
- /*OUT*/ ULONG SerialOverrunErrors;
- /*OUT*/ ULONG FramingErrors;
- /*OUT*/ ULONG BufferOverrunErrors;
- /*OUT*/ ULONG BytesTransmittedUncompressed;
- /*OUT*/ ULONG BytesReceivedUncompressed;
- /*OUT*/ ULONG BytesTransmittedCompressed;
- /*OUT*/ ULONG BytesReceivedCompressed;
-} NDIS_WAN_GET_STATS_INFO, *PNDIS_WAN_GET_STATS_INFO;
-
-#define NdisMWanInitializeWrapper(NdisWrapperHandle, \
- SystemSpecific1, \
- SystemSpecific2, \
- SystemSpecific3) \
-{ \
- NdisMInitializeWrapper(NdisWrapperHandle, \
- SystemSpecific1, \
- SystemSpecific2, \
- SystemSpecific3); \
-}
-
-typedef struct _NDIS_WAN_CO_INFO {
- /*OUT*/ ULONG MaxFrameSize;
- /*OUT*/ ULONG MaxSendWindow;
- /*OUT*/ ULONG FramingBits;
- /*OUT*/ ULONG DesiredACCM;
-} NDIS_WAN_CO_INFO, *PNDIS_WAN_CO_INFO;
-
-typedef struct _NDIS_WAN_CO_GET_LINK_INFO {
- /*OUT*/ ULONG MaxSendFrameSize;
- /*OUT*/ ULONG MaxRecvFrameSize;
- /*OUT*/ ULONG SendFramingBits;
- /*OUT*/ ULONG RecvFramingBits;
- /*OUT*/ ULONG SendCompressionBits;
- /*OUT*/ ULONG RecvCompressionBits;
- /*OUT*/ ULONG SendACCM;
- /*OUT*/ ULONG RecvACCM;
-} NDIS_WAN_CO_GET_LINK_INFO, *PNDIS_WAN_CO_GET_LINK_INFO;
-
-typedef struct _NDIS_WAN_CO_SET_LINK_INFO {
- /*IN*/ ULONG MaxSendFrameSize;
- /*IN*/ ULONG MaxRecvFrameSize;
- /*IN*/ ULONG SendFramingBits;
- /*IN*/ ULONG RecvFramingBits;
- /*IN*/ ULONG SendCompressionBits;
- /*IN*/ ULONG RecvCompressionBits;
- /*IN*/ ULONG SendACCM;
- /*IN*/ ULONG RecvACCM;
-} NDIS_WAN_CO_SET_LINK_INFO, *PNDIS_WAN_CO_SET_LINK_INFO;
-
-typedef struct _NDIS_WAN_CO_GET_COMP_INFO {
- /*OUT*/ NDIS_WAN_COMPRESS_INFO SendCapabilities;
- /*OUT*/ NDIS_WAN_COMPRESS_INFO RecvCapabilities;
-} NDIS_WAN_CO_GET_COMP_INFO, *PNDIS_WAN_CO_GET_COMP_INFO;
-
-typedef struct _NDIS_WAN_CO_SET_COMP_INFO {
- /*IN*/ NDIS_WAN_COMPRESS_INFO SendCapabilities;
- /*IN*/ NDIS_WAN_COMPRESS_INFO RecvCapabilities;
-} NDIS_WAN_CO_SET_COMP_INFO, *PNDIS_WAN_CO_SET_COMP_INFO;
-
-typedef struct _NDIS_WAN_CO_GET_STATS_INFO {
- /*OUT*/ ULONG BytesSent;
- /*OUT*/ ULONG BytesRcvd;
- /*OUT*/ ULONG FramesSent;
- /*OUT*/ ULONG FramesRcvd;
- /*OUT*/ ULONG CRCErrors;
- /*OUT*/ ULONG TimeoutErrors;
- /*OUT*/ ULONG AlignmentErrors;
- /*OUT*/ ULONG SerialOverrunErrors;
- /*OUT*/ ULONG FramingErrors;
- /*OUT*/ ULONG BufferOverrunErrors;
- /*OUT*/ ULONG BytesTransmittedUncompressed;
- /*OUT*/ ULONG BytesReceivedUncompressed;
- /*OUT*/ ULONG BytesTransmittedCompressed;
- /*OUT*/ ULONG BytesReceivedCompressed;
-} NDIS_WAN_CO_GET_STATS_INFO, *PNDIS_WAN_CO_GET_STATS_INFO;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NDISWAN_H */
diff --git a/winsup/w32api/include/ddk/netevent.h b/winsup/w32api/include/ddk/netevent.h
deleted file mode 100644
index 0cf66e032..000000000
--- a/winsup/w32api/include/ddk/netevent.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * netevent.h
- *
- * Network events
- *
- * 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 __NETEVENT_H
-#define __NETEVENT_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#define EVENT_TRANSPORT_REGISTER_FAILED 0xC000232CL
-
-#define EVENT_TRANSPORT_ADAPTER_NOT_FOUND 0xC000232EL
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NETEVENT_H */
diff --git a/winsup/w32api/include/ddk/netpnp.h b/winsup/w32api/include/ddk/netpnp.h
deleted file mode 100644
index 09ea55e18..000000000
--- a/winsup/w32api/include/ddk/netpnp.h
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * netpnp.h
- *
- * Network Plug and Play event support
- *
- * 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 __NETPNP_H
-#define __NETPNP_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef enum _NET_PNP_EVENT_CODE {
- NetEventSetPower,
- NetEventQueryPower,
- NetEventQueryRemoveDevice,
- NetEventCancelRemoveDevice,
- NetEventReconfigure,
- NetEventBindList,
- NetEventBindsComplete,
- NetEventPnPCapabilities,
- NetEventMaximum
-} NET_PNP_EVENT_CODE, *PNET_PNP_EVENT_CODE;
-
-typedef struct _NET_PNP_EVENT {
- NET_PNP_EVENT_CODE NetEvent;
- PVOID Buffer;
- ULONG BufferLength;
- ULONG_PTR NdisReserved[4];
- ULONG_PTR TransportReserved[4];
- ULONG_PTR TdiReserved[4];
- ULONG_PTR TdiClientReserved[4];
-} NET_PNP_EVENT, *PNET_PNP_EVENT;
-
-typedef enum _NET_DEVICE_POWER_STATE {
- NetDeviceStateUnspecified,
- NetDeviceStateD0,
- NetDeviceStateD1,
- NetDeviceStateD2,
- NetDeviceStateD3,
- NetDeviceStateMaximum
-} NET_DEVICE_POWER_STATE, *PNET_DEVICE_POWER_STATE;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NETPNP_H */
diff --git a/winsup/w32api/include/ddk/newdev.h b/winsup/w32api/include/ddk/newdev.h
deleted file mode 100644
index 9b4b6d1bb..000000000
--- a/winsup/w32api/include/ddk/newdev.h
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * newdev.h
- *
- * Driver installation DLL 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 __NEWDEV_H
-#define __NEWDEV_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* UpdateDriverForPlugAndPlayDevices.InstallFlags constants */
-#define INSTALLFLAG_FORCE 0x00000001
-#define INSTALLFLAG_READONLY 0x00000002
-#define INSTALLFLAG_NONINTERACTIVE 0x00000004
-#define INSTALLFLAG_BITS 0x00000007
-
-BOOL WINAPI
-UpdateDriverForPlugAndPlayDevicesA(
- HWND hwndParent,
- LPCSTR HardwareId,
- LPCSTR FullInfPath,
- DWORD InstallFlags,
- PBOOL bRebootRequired /*OPTIONAL*/);
-
-BOOL WINAPI
-UpdateDriverForPlugAndPlayDevicesW(
- HWND hwndParent,
- LPCWSTR HardwareId,
- LPCWSTR FullInfPath,
- DWORD InstallFlags,
- PBOOL bRebootRequired /*OPTIONAL*/);
-
-#ifdef UNICODE
-#define UpdateDriverForPlugAndPlayDevices UpdateDriverForPlugAndPlayDevicesW
-#else
-#define UpdateDriverForPlugAndPlayDevices UpdateDriverForPlugAndPlayDevicesA
-#endif /* UNICODE */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NEWDEV_H */
diff --git a/winsup/w32api/include/ddk/ntapi.h b/winsup/w32api/include/ddk/ntapi.h
deleted file mode 100644
index 86237722d..000000000
--- a/winsup/w32api/include/ddk/ntapi.h
+++ /dev/null
@@ -1,2906 +0,0 @@
-/*
- * ntapi.h
- *
- * Windows NT Native API
- *
- * Most structures in this file is obtained from Windows NT/2000 Native API
- * Reference by Gary Nebbett, ISBN 1578701996.
- *
- * 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 __NTAPI_H
-#define __NTAPI_H
-
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <stdarg.h>
-#include <winbase.h>
-#include "ntddk.h"
-#include "ntpoapi.h"
-
-#pragma pack(push,4)
-
-typedef struct _PEB *PPEB;
-
-/* FIXME: Unknown definitions */
-typedef PVOID POBJECT_TYPE_LIST;
-typedef PVOID PEXECUTION_STATE;
-typedef PVOID PLANGID;
-
-#ifndef NtCurrentProcess
-#define NtCurrentProcess() ((HANDLE)0xFFFFFFFF)
-#endif /* NtCurrentProcess */
-#ifndef NtCurrentThread
-#define NtCurrentThread() ((HANDLE)0xFFFFFFFE)
-#endif /* NtCurrentThread */
-
-/* System information and control */
-
-typedef enum _SYSTEM_INFORMATION_CLASS {
- SystemInformationClassMin = 0,
- SystemBasicInformation = 0,
- SystemProcessorInformation = 1,
- SystemPerformanceInformation = 2,
- SystemTimeOfDayInformation = 3,
- SystemPathInformation = 4,
- SystemNotImplemented1 = 4,
- SystemProcessInformation = 5,
- SystemProcessesAndThreadsInformation = 5,
- SystemCallCountInfoInformation = 6,
- SystemCallCounts = 6,
- SystemDeviceInformation = 7,
- SystemConfigurationInformation = 7,
- SystemProcessorPerformanceInformation = 8,
- SystemProcessorTimes = 8,
- SystemFlagsInformation = 9,
- SystemGlobalFlag = 9,
- SystemCallTimeInformation = 10,
- SystemNotImplemented2 = 10,
- SystemModuleInformation = 11,
- SystemLocksInformation = 12,
- SystemLockInformation = 12,
- SystemStackTraceInformation = 13,
- SystemNotImplemented3 = 13,
- SystemPagedPoolInformation = 14,
- SystemNotImplemented4 = 14,
- SystemNonPagedPoolInformation = 15,
- SystemNotImplemented5 = 15,
- SystemHandleInformation = 16,
- SystemObjectInformation = 17,
- SystemPageFileInformation = 18,
- SystemPagefileInformation = 18,
- SystemVdmInstemulInformation = 19,
- SystemInstructionEmulationCounts = 19,
- SystemVdmBopInformation = 20,
- SystemInvalidInfoClass1 = 20,
- SystemFileCacheInformation = 21,
- SystemCacheInformation = 21,
- SystemPoolTagInformation = 22,
- SystemInterruptInformation = 23,
- SystemProcessorStatistics = 23,
- SystemDpcBehaviourInformation = 24,
- SystemDpcInformation = 24,
- SystemFullMemoryInformation = 25,
- SystemNotImplemented6 = 25,
- SystemLoadImage = 26,
- SystemUnloadImage = 27,
- SystemTimeAdjustmentInformation = 28,
- SystemTimeAdjustment = 28,
- SystemSummaryMemoryInformation = 29,
- SystemNotImplemented7 = 29,
- SystemNextEventIdInformation = 30,
- SystemNotImplemented8 = 30,
- SystemEventIdsInformation = 31,
- SystemNotImplemented9 = 31,
- SystemCrashDumpInformation = 32,
- SystemExceptionInformation = 33,
- SystemCrashDumpStateInformation = 34,
- SystemKernelDebuggerInformation = 35,
- SystemContextSwitchInformation = 36,
- SystemRegistryQuotaInformation = 37,
- SystemLoadAndCallImage = 38,
- SystemPrioritySeparation = 39,
- SystemPlugPlayBusInformation = 40,
- SystemNotImplemented10 = 40,
- SystemDockInformation = 41,
- SystemNotImplemented11 = 41,
- /* SystemPowerInformation = 42, Conflicts with POWER_INFORMATION_LEVEL 1 */
- SystemInvalidInfoClass2 = 42,
- SystemProcessorSpeedInformation = 43,
- SystemInvalidInfoClass3 = 43,
- SystemCurrentTimeZoneInformation = 44,
- SystemTimeZoneInformation = 44,
- SystemLookasideInformation = 45,
- SystemSetTimeSlipEvent = 46,
- SystemCreateSession = 47,
- SystemDeleteSession = 48,
- SystemInvalidInfoClass4 = 49,
- SystemRangeStartInformation = 50,
- SystemVerifierInformation = 51,
- SystemAddVerifier = 52,
- SystemSessionProcessesInformation = 53,
- SystemInformationClassMax
-} SYSTEM_INFORMATION_CLASS;
-
-typedef struct _SYSTEM_BASIC_INFORMATION {
- ULONG Unknown;
- ULONG MaximumIncrement;
- ULONG PhysicalPageSize;
- ULONG NumberOfPhysicalPages;
- ULONG LowestPhysicalPage;
- ULONG HighestPhysicalPage;
- ULONG AllocationGranularity;
- ULONG LowestUserAddress;
- ULONG HighestUserAddress;
- ULONG ActiveProcessors;
- UCHAR NumberProcessors;
-} SYSTEM_BASIC_INFORMATION, *PSYSTEM_BASIC_INFORMATION;
-
-typedef struct _SYSTEM_PROCESSOR_INFORMATION {
- USHORT ProcessorArchitecture;
- USHORT ProcessorLevel;
- USHORT ProcessorRevision;
- USHORT Unknown;
- ULONG FeatureBits;
-} SYSTEM_PROCESSOR_INFORMATION, *PSYSTEM_PROCESSOR_INFORMATION;
-
-typedef struct _SYSTEM_PERFORMANCE_INFORMATION {
- LARGE_INTEGER IdleTime;
- LARGE_INTEGER ReadTransferCount;
- LARGE_INTEGER WriteTransferCount;
- LARGE_INTEGER OtherTransferCount;
- ULONG ReadOperationCount;
- ULONG WriteOperationCount;
- ULONG OtherOperationCount;
- ULONG AvailablePages;
- ULONG TotalCommittedPages;
- ULONG TotalCommitLimit;
- ULONG PeakCommitment;
- ULONG PageFaults;
- ULONG WriteCopyFaults;
- ULONG TransitionFaults;
- ULONG CacheTransitionFaults;
- ULONG DemandZeroFaults;
- ULONG PagesRead;
- ULONG PageReadIos;
- ULONG CacheReads;
- ULONG CacheIos;
- ULONG PagefilePagesWritten;
- ULONG PagefilePageWriteIos;
- ULONG MappedFilePagesWritten;
- ULONG MappedFilePageWriteIos;
- ULONG PagedPoolUsage;
- ULONG NonPagedPoolUsage;
- ULONG PagedPoolAllocs;
- ULONG PagedPoolFrees;
- ULONG NonPagedPoolAllocs;
- ULONG NonPagedPoolFrees;
- ULONG TotalFreeSystemPtes;
- ULONG SystemCodePage;
- ULONG TotalSystemDriverPages;
- ULONG TotalSystemCodePages;
- ULONG SmallNonPagedLookasideListAllocateHits;
- ULONG SmallPagedLookasideListAllocateHits;
- ULONG Reserved3;
- ULONG MmSystemCachePage;
- ULONG PagedPoolPage;
- ULONG SystemDriverPage;
- ULONG FastReadNoWait;
- ULONG FastReadWait;
- ULONG FastReadResourceMiss;
- ULONG FastReadNotPossible;
- ULONG FastMdlReadNoWait;
- ULONG FastMdlReadWait;
- ULONG FastMdlReadResourceMiss;
- ULONG FastMdlReadNotPossible;
- ULONG MapDataNoWait;
- ULONG MapDataWait;
- ULONG MapDataNoWaitMiss;
- ULONG MapDataWaitMiss;
- ULONG PinMappedDataCount;
- ULONG PinReadNoWait;
- ULONG PinReadWait;
- ULONG PinReadNoWaitMiss;
- ULONG PinReadWaitMiss;
- ULONG CopyReadNoWait;
- ULONG CopyReadWait;
- ULONG CopyReadNoWaitMiss;
- ULONG CopyReadWaitMiss;
- ULONG MdlReadNoWait;
- ULONG MdlReadWait;
- ULONG MdlReadNoWaitMiss;
- ULONG MdlReadWaitMiss;
- ULONG ReadAheadIos;
- ULONG LazyWriteIos;
- ULONG LazyWritePages;
- ULONG DataFlushes;
- ULONG DataPages;
- ULONG ContextSwitches;
- ULONG FirstLevelTbFills;
- ULONG SecondLevelTbFills;
- ULONG SystemCalls;
-} SYSTEM_PERFORMANCE_INFORMATION, *PSYSTEM_PERFORMANCE_INFORMATION;
-
-typedef struct _SYSTEM_TIME_OF_DAY_INFORMATION {
- LARGE_INTEGER BootTime;
- LARGE_INTEGER CurrentTime;
- LARGE_INTEGER TimeZoneBias;
- ULONG CurrentTimeZoneId;
-} SYSTEM_TIME_OF_DAY_INFORMATION, *PSYSTEM_TIME_OF_DAY_INFORMATION;
-
-typedef struct _VM_COUNTERS {
- ULONG PeakVirtualSize;
- ULONG VirtualSize;
- ULONG PageFaultCount;
- ULONG PeakWorkingSetSize;
- ULONG WorkingSetSize;
- ULONG QuotaPeakPagedPoolUsage;
- ULONG QuotaPagedPoolUsage;
- ULONG QuotaPeakNonPagedPoolUsage;
- ULONG QuotaNonPagedPoolUsage;
- ULONG PagefileUsage;
- ULONG PeakPagefileUsage;
-} VM_COUNTERS;
-
-typedef enum _THREAD_STATE {
- StateInitialized,
- StateReady,
- StateRunning,
- StateStandby,
- StateTerminated,
- StateWait,
- StateTransition,
- StateUnknown
-} THREAD_STATE;
-
-typedef struct _SYSTEM_THREADS {
- LARGE_INTEGER KernelTime;
- LARGE_INTEGER UserTime;
- LARGE_INTEGER CreateTime;
- ULONG WaitTime;
- PVOID StartAddress;
- CLIENT_ID ClientId;
- KPRIORITY Priority;
- KPRIORITY BasePriority;
- ULONG ContextSwitchCount;
- THREAD_STATE State;
- KWAIT_REASON WaitReason;
-} SYSTEM_THREADS, *PSYSTEM_THREADS;
-
-typedef struct _SYSTEM_PROCESSES {
- ULONG NextEntryDelta;
- ULONG ThreadCount;
- ULONG Reserved1[6];
- LARGE_INTEGER CreateTime;
- LARGE_INTEGER UserTime;
- LARGE_INTEGER KernelTime;
- UNICODE_STRING ProcessName;
- KPRIORITY BasePriority;
- ULONG ProcessId;
- ULONG InheritedFromProcessId;
- ULONG HandleCount;
- ULONG Reserved2[2];
- VM_COUNTERS VmCounters;
- IO_COUNTERS IoCounters;
- SYSTEM_THREADS Threads[1];
-} SYSTEM_PROCESSES, *PSYSTEM_PROCESSES;
-
-typedef struct _SYSTEM_CALLS_INFORMATION {
- ULONG Size;
- ULONG NumberOfDescriptorTables;
- ULONG NumberOfRoutinesInTable[1];
- ULONG CallCounts[ANYSIZE_ARRAY];
-} SYSTEM_CALLS_INFORMATION, *PSYSTEM_CALLS_INFORMATION;
-
-typedef struct _SYSTEM_CONFIGURATION_INFORMATION {
- ULONG DiskCount;
- ULONG FloppyCount;
- ULONG CdRomCount;
- ULONG TapeCount;
- ULONG SerialCount;
- ULONG ParallelCount;
-} SYSTEM_CONFIGURATION_INFORMATION, *PSYSTEM_CONFIGURATION_INFORMATION;
-
-typedef struct _SYSTEM_PROCESSOR_TIMES {
- LARGE_INTEGER IdleTime;
- LARGE_INTEGER KernelTime;
- LARGE_INTEGER UserTime;
- LARGE_INTEGER DpcTime;
- LARGE_INTEGER InterruptTime;
- ULONG InterruptCount;
-} SYSTEM_PROCESSOR_TIMES, *PSYSTEM_PROCESSOR_TIMES;
-
-/* SYSTEM_GLOBAL_FLAG.GlobalFlag constants */
-#define FLG_STOP_ON_EXCEPTION 0x00000001
-#define FLG_SHOW_LDR_SNAPS 0x00000002
-#define FLG_DEBUG_INITIAL_COMMAND 0x00000004
-#define FLG_STOP_ON_HUNG_GUI 0x00000008
-#define FLG_HEAP_ENABLE_TAIL_CHECK 0x00000010
-#define FLG_HEAP_ENABLE_FREE_CHECK 0x00000020
-#define FLG_HEAP_VALIDATE_PARAMETERS 0x00000040
-#define FLG_HEAP_VALIDATE_ALL 0x00000080
-#define FLG_POOL_ENABLE_TAIL_CHECK 0x00000100
-#define FLG_POOL_ENABLE_FREE_CHECK 0x00000200
-#define FLG_POOL_ENABLE_TAGGING 0x00000400
-#define FLG_HEAP_ENABLE_TAGGING 0x00000800
-#define FLG_USER_STACK_TRACE_DB 0x00001000
-#define FLG_KERNEL_STACK_TRACE_DB 0x00002000
-#define FLG_MAINTAIN_OBJECT_TYPELIST 0x00004000
-#define FLG_HEAP_ENABLE_TAG_BY_DLL 0x00008000
-#define FLG_IGNORE_DEBUG_PRIV 0x00010000
-#define FLG_ENABLE_CSRDEBUG 0x00020000
-#define FLG_ENABLE_KDEBUG_SYMBOL_LOAD 0x00040000
-#define FLG_DISABLE_PAGE_KERNEL_STACKS 0x00080000
-#define FLG_HEAP_ENABLE_CALL_TRACING 0x00100000
-#define FLG_HEAP_DISABLE_COALESCING 0x00200000
-#define FLG_ENABLE_CLOSE_EXCEPTIONS 0x00400000
-#define FLG_ENABLE_EXCEPTION_LOGGING 0x00800000
-#define FLG_ENABLE_DBGPRINT_BUFFERING 0x08000000
-
-typedef struct _SYSTEM_GLOBAL_FLAG {
- ULONG GlobalFlag;
-} SYSTEM_GLOBAL_FLAG, *PSYSTEM_GLOBAL_FLAG;
-
-typedef struct _SYSTEM_MODULE_INFORMATION_ENTRY {
- ULONG Unknown1;
- ULONG Unknown2;
- PVOID Base;
- ULONG Size;
- ULONG Flags;
- USHORT Index;
- /* Length of module name not including the path, this
- field contains valid value only for NTOSKRNL module */
- USHORT NameLength;
- USHORT LoadCount;
- USHORT PathLength;
- CHAR ImageName[256];
-} SYSTEM_MODULE_INFORMATION_ENTRY, *PSYSTEM_MODULE_INFORMATION_ENTRY;
-
-typedef struct _SYSTEM_MODULE_INFORMATION {
- ULONG Count;
- SYSTEM_MODULE_INFORMATION_ENTRY Module[1];
-} SYSTEM_MODULE_INFORMATION, *PSYSTEM_MODULE_INFORMATION;
-
-typedef struct _SYSTEM_LOCK_INFORMATION {
- PVOID Address;
- USHORT Type;
- USHORT Reserved1;
- ULONG ExclusiveOwnerThreadId;
- ULONG ActiveCount;
- ULONG ContentionCount;
- ULONG Reserved2[2];
- ULONG NumberOfSharedWaiters;
- ULONG NumberOfExclusiveWaiters;
-} SYSTEM_LOCK_INFORMATION, *PSYSTEM_LOCK_INFORMATION;
-
-/*SYSTEM_HANDLE_INFORMATION.Flags cosntants */
-#define PROTECT_FROM_CLOSE 0x01
-#define INHERIT 0x02
-
-typedef struct _SYSTEM_HANDLE_INFORMATION {
- ULONG ProcessId;
- UCHAR ObjectTypeNumber;
- UCHAR Flags;
- USHORT Handle;
- PVOID Object;
- ACCESS_MASK GrantedAccess;
-} SYSTEM_HANDLE_INFORMATION, *PSYSTEM_HANDLE_INFORMATION;
-
-typedef struct _SYSTEM_OBJECT_TYPE_INFORMATION {
- ULONG NextEntryOffset;
- ULONG ObjectCount;
- ULONG HandleCount;
- ULONG TypeNumber;
- ULONG InvalidAttributes;
- GENERIC_MAPPING GenericMapping;
- ACCESS_MASK ValidAccessMask;
- POOL_TYPE PoolType;
- UCHAR Unknown;
- UNICODE_STRING Name;
-} SYSTEM_OBJECT_TYPE_INFORMATION, *PSYSTEM_OBJECT_TYPE_INFORMATION;
-
-/* SYSTEM_OBJECT_INFORMATION.Flags constants */
-#define FLG_SYSOBJINFO_SINGLE_HANDLE_ENTRY 0x40
-#define FLG_SYSOBJINFO_DEFAULT_SECURITY_QUOTA 0x20
-#define FLG_SYSOBJINFO_PERMANENT 0x10
-#define FLG_SYSOBJINFO_EXCLUSIVE 0x08
-#define FLG_SYSOBJINFO_CREATOR_INFO 0x04
-#define FLG_SYSOBJINFO_KERNEL_MODE 0x02
-
-typedef struct _SYSTEM_OBJECT_INFORMATION {
- ULONG NextEntryOffset;
- PVOID Object;
- ULONG CreatorProcessId;
- USHORT Unknown;
- USHORT Flags;
- ULONG PointerCount;
- ULONG HandleCount;
- ULONG PagedPoolUsage;
- ULONG NonPagedPoolUsage;
- ULONG ExclusiveProcessId;
- PSECURITY_DESCRIPTOR SecurityDescriptor;
- UNICODE_STRING Name;
-} SYSTEM_OBJECT_INFORMATION, *PSYSTEM_OBJECT_INFORMATION;
-
-typedef struct _SYSTEM_PAGEFILE_INFORMATION {
- ULONG NextEntryOffset;
- ULONG CurrentSize;
- ULONG TotalUsed;
- ULONG PeakUsed;
- UNICODE_STRING FileName;
-} SYSTEM_PAGEFILE_INFORMATION, *PSYSTEM_PAGEFILE_INFORMATION;
-
-typedef struct _SYSTEM_INSTRUCTION_EMULATION_INFORMATION {
- ULONG SegmentNotPresent;
- ULONG TwoByteOpcode;
- ULONG ESprefix;
- ULONG CSprefix;
- ULONG SSprefix;
- ULONG DSprefix;
- ULONG FSPrefix;
- ULONG GSprefix;
- ULONG OPER32prefix;
- ULONG ADDR32prefix;
- ULONG INSB;
- ULONG INSW;
- ULONG OUTSB;
- ULONG OUTSW;
- ULONG PUSHFD;
- ULONG POPFD;
- ULONG INTnn;
- ULONG INTO;
- ULONG IRETD;
- ULONG INBimm;
- ULONG INWimm;
- ULONG OUTBimm;
- ULONG OUTWimm;
- ULONG INB;
- ULONG INW;
- ULONG OUTB;
- ULONG OUTW;
- ULONG LOCKprefix;
- ULONG REPNEprefix;
- ULONG REPprefix;
- ULONG HLT;
- ULONG CLI;
- ULONG STI;
- ULONG GenericInvalidOpcode;
-} SYSTEM_INSTRUCTION_EMULATION_INFORMATION, *PSYSTEM_INSTRUCTION_EMULATION_INFORMATION;
-
-typedef struct _SYSTEM_POOL_TAG_INFORMATION {
- CHAR Tag[4];
- ULONG PagedPoolAllocs;
- ULONG PagedPoolFrees;
- ULONG PagedPoolUsage;
- ULONG NonPagedPoolAllocs;
- ULONG NonPagedPoolFrees;
- ULONG NonPagedPoolUsage;
-} SYSTEM_POOL_TAG_INFORMATION, *PSYSTEM_POOL_TAG_INFORMATION;
-
-typedef struct _SYSTEM_PROCESSOR_STATISTICS {
- ULONG ContextSwitches;
- ULONG DpcCount;
- ULONG DpcRequestRate;
- ULONG TimeIncrement;
- ULONG DpcBypassCount;
- ULONG ApcBypassCount;
-} SYSTEM_PROCESSOR_STATISTICS, *PSYSTEM_PROCESSOR_STATISTICS;
-
-typedef struct _SYSTEM_DPC_INFORMATION {
- ULONG Reserved;
- ULONG MaximumDpcQueueDepth;
- ULONG MinimumDpcRate;
- ULONG AdjustDpcThreshold;
- ULONG IdealDpcRate;
-} SYSTEM_DPC_INFORMATION, *PSYSTEM_DPC_INFORMATION;
-
-typedef struct _SYSTEM_LOAD_IMAGE {
- UNICODE_STRING ModuleName;
- PVOID ModuleBase;
- PVOID SectionPointer;
- PVOID EntryPoint;
- PVOID ExportDirectory;
-} SYSTEM_LOAD_IMAGE, *PSYSTEM_LOAD_IMAGE;
-
-typedef struct _SYSTEM_UNLOAD_IMAGE {
- PVOID ModuleBase;
-} SYSTEM_UNLOAD_IMAGE, *PSYSTEM_UNLOAD_IMAGE;
-
-typedef struct _SYSTEM_QUERY_TIME_ADJUSTMENT {
- ULONG TimeAdjustment;
- ULONG MaximumIncrement;
- BOOLEAN TimeSynchronization;
-} SYSTEM_QUERY_TIME_ADJUSTMENT, *PSYSTEM_QUERY_TIME_ADJUSTMENT;
-
-typedef struct _SYSTEM_SET_TIME_ADJUSTMENT {
- ULONG TimeAdjustment;
- BOOLEAN TimeSynchronization;
-} SYSTEM_SET_TIME_ADJUSTMENT, *PSYSTEM_SET_TIME_ADJUSTMENT;
-
-typedef struct _SYSTEM_CRASH_DUMP_INFORMATION {
- HANDLE CrashDumpSectionHandle;
- HANDLE Unknown;
-} SYSTEM_CRASH_DUMP_INFORMATION, *PSYSTEM_CRASH_DUMP_INFORMATION;
-
-typedef struct _SYSTEM_EXCEPTION_INFORMATION {
- ULONG AlignmentFixupCount;
- ULONG ExceptionDispatchCount;
- ULONG FloatingEmulationCount;
- ULONG Reserved;
-} SYSTEM_EXCEPTION_INFORMATION, *PSYSTEM_EXCEPTION_INFORMATION;
-
-typedef struct _SYSTEM_CRASH_DUMP_STATE_INFORMATION {
- ULONG CrashDumpSectionExists;
- ULONG Unknown;
-} SYSTEM_CRASH_DUMP_STATE_INFORMATION, *PSYSTEM_CRASH_DUMP_STATE_INFORMATION;
-
-typedef struct _SYSTEM_KERNEL_DEBUGGER_INFORMATION {
- BOOLEAN DebuggerEnabled;
- BOOLEAN DebuggerNotPresent;
-} SYSTEM_KERNEL_DEBUGGER_INFORMATION, *PSYSTEM_KERNEL_DEBUGGER_INFORMATION;
-
-typedef struct _SYSTEM_CONTEXT_SWITCH_INFORMATION {
- ULONG ContextSwitches;
- ULONG ContextSwitchCounters[11];
-} SYSTEM_CONTEXT_SWITCH_INFORMATION, *PSYSTEM_CONTEXT_SWITCH_INFORMATION;
-
-typedef struct _SYSTEM_REGISTRY_QUOTA_INFORMATION {
- ULONG RegistryQuota;
- ULONG RegistryQuotaInUse;
- ULONG PagedPoolSize;
-} SYSTEM_REGISTRY_QUOTA_INFORMATION, *PSYSTEM_REGISTRY_QUOTA_INFORMATION;
-
-typedef struct _SYSTEM_LOAD_AND_CALL_IMAGE {
- UNICODE_STRING ModuleName;
-} SYSTEM_LOAD_AND_CALL_IMAGE, *PSYSTEM_LOAD_AND_CALL_IMAGE;
-
-typedef struct _SYSTEM_PRIORITY_SEPARATION {
- ULONG PrioritySeparation;
-} SYSTEM_PRIORITY_SEPARATION, *PSYSTEM_PRIORITY_SEPARATION;
-
-typedef struct _SYSTEM_TIME_ZONE_INFORMATION {
- LONG Bias;
- WCHAR StandardName[32];
- LARGE_INTEGER StandardDate;
- LONG StandardBias;
- WCHAR DaylightName[32];
- LARGE_INTEGER DaylightDate;
- LONG DaylightBias;
-} SYSTEM_TIME_ZONE_INFORMATION, *PSYSTEM_TIME_ZONE_INFORMATION;
-
-typedef struct _SYSTEM_LOOKASIDE_INFORMATION {
- USHORT Depth;
- USHORT MaximumDepth;
- ULONG TotalAllocates;
- ULONG AllocateMisses;
- ULONG TotalFrees;
- ULONG FreeMisses;
- POOL_TYPE Type;
- ULONG Tag;
- ULONG Size;
-} SYSTEM_LOOKASIDE_INFORMATION, *PSYSTEM_LOOKASIDE_INFORMATION;
-
-typedef struct _SYSTEM_SET_TIME_SLIP_EVENT {
- HANDLE TimeSlipEvent;
-} SYSTEM_SET_TIME_SLIP_EVENT, *PSYSTEM_SET_TIME_SLIP_EVENT;
-
-typedef struct _SYSTEM_CREATE_SESSION {
- ULONG SessionId;
-} SYSTEM_CREATE_SESSION, *PSYSTEM_CREATE_SESSION;
-
-typedef struct _SYSTEM_DELETE_SESSION {
- ULONG SessionId;
-} SYSTEM_DELETE_SESSION, *PSYSTEM_DELETE_SESSION;
-
-typedef struct _SYSTEM_RANGE_START_INFORMATION {
- PVOID SystemRangeStart;
-} SYSTEM_RANGE_START_INFORMATION, *PSYSTEM_RANGE_START_INFORMATION;
-
-typedef struct _SYSTEM_SESSION_PROCESSES_INFORMATION {
- ULONG SessionId;
- ULONG BufferSize;
- PVOID Buffer;
-} SYSTEM_SESSION_PROCESSES_INFORMATION, *PSYSTEM_SESSION_PROCESSES_INFORMATION;
-
-typedef struct _SYSTEM_POOL_BLOCK {
- BOOLEAN Allocated;
- USHORT Unknown;
- ULONG Size;
- CHAR Tag[4];
-} SYSTEM_POOL_BLOCK, *PSYSTEM_POOL_BLOCK;
-
-typedef struct _SYSTEM_POOL_BLOCKS_INFORMATION {
- ULONG PoolSize;
- PVOID PoolBase;
- USHORT Unknown;
- ULONG NumberOfBlocks;
- SYSTEM_POOL_BLOCK PoolBlocks[1];
-} SYSTEM_POOL_BLOCKS_INFORMATION, *PSYSTEM_POOL_BLOCKS_INFORMATION;
-
-typedef struct _SYSTEM_MEMORY_USAGE {
- PVOID Name;
- USHORT Valid;
- USHORT Standby;
- USHORT Modified;
- USHORT PageTables;
-} SYSTEM_MEMORY_USAGE, *PSYSTEM_MEMORY_USAGE;
-
-typedef struct _SYSTEM_MEMORY_USAGE_INFORMATION {
- ULONG Reserved;
- PVOID EndOfData;
- SYSTEM_MEMORY_USAGE MemoryUsage[1];
-} SYSTEM_MEMORY_USAGE_INFORMATION, *PSYSTEM_MEMORY_USAGE_INFORMATION;
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtQuerySystemInformation(
- /*IN*/ SYSTEM_INFORMATION_CLASS SystemInformationClass,
- /*IN OUT*/ PVOID SystemInformation,
- /*IN*/ ULONG SystemInformationLength,
- /*OUT*/ PULONG ReturnLength /*OPTIONAL*/);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwQuerySystemInformation(
- /*IN*/ SYSTEM_INFORMATION_CLASS SystemInformationClass,
- /*IN OUT*/ PVOID SystemInformation,
- /*IN*/ ULONG SystemInformationLength,
- /*OUT*/ PULONG ReturnLength /*OPTIONAL*/);
-
-NTOSAPI
-NTAPI
-NTSTATUS
-NtQueryFullAttributesFile(
- /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes,
- /*OUT*/ PFILE_NETWORK_OPEN_INFORMATION FileInformation);
-
-NTOSAPI
-NTAPI
-NTSTATUS
-ZwQueryFullAttributesFile(
- /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes,
- /*OUT*/ PFILE_NETWORK_OPEN_INFORMATION FileInformation);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwSetSystemInformation(
- /*IN*/ SYSTEM_INFORMATION_CLASS SystemInformationClass,
- /*IN OUT*/ PVOID SystemInformation,
- /*IN*/ ULONG SystemInformationLength);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwQuerySystemEnvironmentValue(
- /*IN*/ PUNICODE_STRING Name,
- /*OUT*/ PVOID Value,
- /*IN*/ ULONG ValueLength,
- /*OUT*/ PULONG ReturnLength /*OPTIONAL*/);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwSetSystemEnvironmentValue(
- /*IN*/ PUNICODE_STRING Name,
- /*IN*/ PUNICODE_STRING Value);
-
-typedef enum _SHUTDOWN_ACTION {
- ShutdownNoReboot,
- ShutdownReboot,
- ShutdownPowerOff
-} SHUTDOWN_ACTION;
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtShutdownSystem(
- /*IN*/ SHUTDOWN_ACTION Action);
-
-typedef enum _DEBUG_CONTROL_CODE {
- DebugGetTraceInformation = 1,
- DebugSetInternalBreakpoint,
- DebugSetSpecialCall,
- DebugClearSpecialCalls,
- DebugQuerySpecialCalls,
- DebugDbgBreakPoint,
- DebugMaximum
-} DEBUG_CONTROL_CODE;
-
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwSystemDebugControl(
- /*IN*/ DEBUG_CONTROL_CODE ControlCode,
- /*IN*/ PVOID InputBuffer /*OPTIONAL*/,
- /*IN*/ ULONG InputBufferLength,
- /*OUT*/ PVOID OutputBuffer /*OPTIONAL*/,
- /*IN*/ ULONG OutputBufferLength,
- /*OUT*/ PULONG ReturnLength /*OPTIONAL*/);
-
-
-
-/* Objects, Object directories, and symbolic links */
-
-typedef enum _OBJECT_INFORMATION_CLASS {
- ObjectBasicInformation,
- ObjectNameInformation,
- ObjectTypeInformation,
- ObjectAllTypesInformation,
- ObjectHandleInformation
-} OBJECT_INFORMATION_CLASS;
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwQueryObject(
- /*IN*/ HANDLE ObjectHandle,
- /*IN*/ OBJECT_INFORMATION_CLASS ObjectInformationClass,
- /*OUT*/ PVOID ObjectInformation,
- /*IN*/ ULONG ObjectInformationLength,
- /*OUT*/ PULONG ReturnLength /*OPTIONAL*/);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwSetInformationObject(
- /*IN*/ HANDLE ObjectHandle,
- /*IN*/ OBJECT_INFORMATION_CLASS ObjectInformationClass,
- /*IN*/ PVOID ObjectInformation,
- /*IN*/ ULONG ObjectInformationLength);
-
-/* OBJECT_BASIC_INFORMATION.Attributes constants */
-/* also in winbase.h */
-#define HANDLE_FLAG_INHERIT 0x01
-#define HANDLE_FLAG_PROTECT_FROM_CLOSE 0x02
-/* end winbase.h */
-#define PERMANENT 0x10
-#define EXCLUSIVE 0x20
-
-typedef struct _OBJECT_BASIC_INFORMATION {
- ULONG Attributes;
- ACCESS_MASK GrantedAccess;
- ULONG HandleCount;
- ULONG PointerCount;
- ULONG PagedPoolUsage;
- ULONG NonPagedPoolUsage;
- ULONG Reserved[3];
- ULONG NameInformationLength;
- ULONG TypeInformationLength;
- ULONG SecurityDescriptorLength;
- LARGE_INTEGER CreateTime;
-} OBJECT_BASIC_INFORMATION, *POBJECT_BASIC_INFORMATION;
-#if 0
-/* FIXME: Enable later */
-typedef struct _OBJECT_TYPE_INFORMATION {
- UNICODE_STRING Name;
- ULONG ObjectCount;
- ULONG HandleCount;
- ULONG Reserved1[4];
- ULONG PeakObjectCount;
- ULONG PeakHandleCount;
- ULONG Reserved2[4];
- ULONG InvalidAttributes;
- GENERIC_MAPPING GenericMapping;
- ULONG ValidAccess;
- UCHAR Unknown;
- BOOLEAN MaintainHandleDatabase;
- POOL_TYPE PoolType;
- ULONG PagedPoolUsage;
- ULONG NonPagedPoolUsage;
-} OBJECT_TYPE_INFORMATION, *POBJECT_TYPE_INFORMATION;
-
-typedef struct _OBJECT_ALL_TYPES_INFORMATION {
- ULONG NumberOfTypes;
- OBJECT_TYPE_INFORMATION TypeInformation;
-} OBJECT_ALL_TYPES_INFORMATION, *POBJECT_ALL_TYPES_INFORMATION;
-#endif
-typedef struct _OBJECT_HANDLE_ATTRIBUTE_INFORMATION {
- BOOLEAN Inherit;
- BOOLEAN ProtectFromClose;
-} OBJECT_HANDLE_ATTRIBUTE_INFORMATION, *POBJECT_HANDLE_ATTRIBUTE_INFORMATION;
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtDuplicateObject(
- /*IN*/ HANDLE SourceProcessHandle,
- /*IN*/ HANDLE SourceHandle,
- /*IN*/ HANDLE TargetProcessHandle,
- /*OUT*/ PHANDLE TargetHandle /*OPTIONAL*/,
- /*IN*/ ACCESS_MASK DesiredAccess,
- /*IN*/ ULONG Attributes,
- /*IN*/ ULONG Options);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwDuplicateObject(
- /*IN*/ HANDLE SourceProcessHandle,
- /*IN*/ HANDLE SourceHandle,
- /*IN*/ HANDLE TargetProcessHandle,
- /*OUT*/ PHANDLE TargetHandle /*OPTIONAL*/,
- /*IN*/ ACCESS_MASK DesiredAccess,
- /*IN*/ ULONG Attributes,
- /*IN*/ ULONG Options);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtQuerySecurityObject(
- /*IN*/ HANDLE Handle,
- /*IN*/ SECURITY_INFORMATION SecurityInformation,
- /*OUT*/ PSECURITY_DESCRIPTOR SecurityDescriptor,
- /*IN*/ ULONG SecurityDescriptorLength,
- /*OUT*/ PULONG ReturnLength);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwQuerySecurityObject(
- /*IN*/ HANDLE Handle,
- /*IN*/ SECURITY_INFORMATION SecurityInformation,
- /*OUT*/ PSECURITY_DESCRIPTOR SecurityDescriptor,
- /*IN*/ ULONG SecurityDescriptorLength,
- /*OUT*/ PULONG ReturnLength);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtSetSecurityObject(
- /*IN*/ HANDLE Handle,
- /*IN*/ SECURITY_INFORMATION SecurityInformation,
- /*IN*/ PSECURITY_DESCRIPTOR SecurityDescriptor);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwSetSecurityObject(
- /*IN*/ HANDLE Handle,
- /*IN*/ SECURITY_INFORMATION SecurityInformation,
- /*IN*/ PSECURITY_DESCRIPTOR SecurityDescriptor);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwOpenDirectoryObject(
- /*OUT*/ PHANDLE DirectoryHandle,
- /*IN*/ ACCESS_MASK DesiredAccess,
- /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwQueryDirectoryObject(
- /*IN*/ HANDLE DirectoryHandle,
- /*OUT*/ PVOID Buffer,
- /*IN*/ ULONG BufferLength,
- /*IN*/ BOOLEAN ReturnSingleEntry,
- /*IN*/ BOOLEAN RestartScan,
- /*IN OUT*/ PULONG Context,
- /*OUT*/ PULONG ReturnLength /*OPTIONAL*/);
-
-typedef struct _DIRECTORY_BASIC_INFORMATION {
- UNICODE_STRING ObjectName;
- UNICODE_STRING ObjectTypeName;
-} DIRECTORY_BASIC_INFORMATION, *PDIRECTORY_BASIC_INFORMATION;
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwCreateSymbolicLinkObject(
- /*OUT*/ PHANDLE SymbolicLinkHandle,
- /*IN*/ ACCESS_MASK DesiredAccess,
- /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes,
- /*IN*/ PUNICODE_STRING TargetName);
-
-
-
-
-/* Virtual memory */
-
-typedef enum _MEMORY_INFORMATION_CLASS {
-MemoryBasicInformation,
-MemoryWorkingSetList,
-MemorySectionName,
-MemoryBasicVlmInformation
-} MEMORY_INFORMATION_CLASS;
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtAllocateVirtualMemory(
- /*IN*/ HANDLE ProcessHandle,
- /*IN OUT*/ PVOID *BaseAddress,
- /*IN*/ ULONG ZeroBits,
- /*IN OUT*/ PULONG AllocationSize,
- /*IN*/ ULONG AllocationType,
- /*IN*/ ULONG Protect);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwAllocateVirtualMemory(
- /*IN*/ HANDLE ProcessHandle,
- /*IN OUT*/ PVOID *BaseAddress,
- /*IN*/ ULONG ZeroBits,
- /*IN OUT*/ PULONG AllocationSize,
- /*IN*/ ULONG AllocationType,
- /*IN*/ ULONG Protect);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtFreeVirtualMemory(
- /*IN*/ HANDLE ProcessHandle,
- /*IN OUT*/ PVOID *BaseAddress,
- /*IN OUT*/ PULONG FreeSize,
- /*IN*/ ULONG FreeType);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwFreeVirtualMemory(
- /*IN*/ HANDLE ProcessHandle,
- /*IN OUT*/ PVOID *BaseAddress,
- /*IN OUT*/ PULONG FreeSize,
- /*IN*/ ULONG FreeType);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwQueryVirtualMemory(
- /*IN*/ HANDLE ProcessHandle,
- /*IN*/ PVOID BaseAddress,
- /*IN*/ MEMORY_INFORMATION_CLASS MemoryInformationClass,
- /*OUT*/ PVOID MemoryInformation,
- /*IN*/ ULONG MemoryInformationLength,
- /*OUT*/ PULONG ReturnLength /*OPTIONAL*/);
-
-/* MEMORY_WORKING_SET_LIST.WorkingSetList constants */
-#define WSLE_PAGE_READONLY 0x001
-#define WSLE_PAGE_EXECUTE 0x002
-#define WSLE_PAGE_READWRITE 0x004
-#define WSLE_PAGE_EXECUTE_READ 0x003
-#define WSLE_PAGE_WRITECOPY 0x005
-#define WSLE_PAGE_EXECUTE_READWRITE 0x006
-#define WSLE_PAGE_EXECUTE_WRITECOPY 0x007
-#define WSLE_PAGE_SHARE_COUNT_MASK 0x0E0
-#define WSLE_PAGE_SHAREABLE 0x100
-
-typedef struct _MEMORY_WORKING_SET_LIST {
- ULONG NumberOfPages;
- ULONG WorkingSetList[1];
-} MEMORY_WORKING_SET_LIST, *PMEMORY_WORKING_SET_LIST;
-
-typedef struct _MEMORY_SECTION_NAME {
- UNICODE_STRING SectionFileName;
-} MEMORY_SECTION_NAME, *PMEMORY_SECTION_NAME;
-
-/* Zw[Lock|Unlock]VirtualMemory.LockType constants */
-#define LOCK_VM_IN_WSL 0x01
-#define LOCK_VM_IN_RAM 0x02
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwLockVirtualMemory(
- /*IN*/ HANDLE ProcessHandle,
- /*IN OUT*/ PVOID *BaseAddress,
- /*IN OUT*/ PULONG LockSize,
- /*IN*/ ULONG LockType);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwUnlockVirtualMemory(
- /*IN*/ HANDLE ProcessHandle,
- /*IN OUT*/ PVOID *BaseAddress,
- /*IN OUT*/ PULONG LockSize,
- /*IN*/ ULONG LockType);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwReadVirtualMemory(
- /*IN*/ HANDLE ProcessHandle,
- /*IN*/ PVOID BaseAddress,
- /*OUT*/ PVOID Buffer,
- /*IN*/ ULONG BufferLength,
- /*OUT*/ PULONG ReturnLength /*OPTIONAL*/);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwWriteVirtualMemory(
- /*IN*/ HANDLE ProcessHandle,
- /*IN*/ PVOID BaseAddress,
- /*IN*/ PVOID Buffer,
- /*IN*/ ULONG BufferLength,
- /*OUT*/ PULONG ReturnLength /*OPTIONAL*/);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwProtectVirtualMemory(
- /*IN*/ HANDLE ProcessHandle,
- /*IN OUT*/ PVOID *BaseAddress,
- /*IN OUT*/ PULONG ProtectSize,
- /*IN*/ ULONG NewProtect,
- /*OUT*/ PULONG OldProtect);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwFlushVirtualMemory(
- /*IN*/ HANDLE ProcessHandle,
- /*IN OUT*/ PVOID *BaseAddress,
- /*IN OUT*/ PULONG FlushSize,
- /*OUT*/ PIO_STATUS_BLOCK IoStatusBlock);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwAllocateUserPhysicalPages(
- /*IN*/ HANDLE ProcessHandle,
- /*IN*/ PULONG NumberOfPages,
- /*OUT*/ PULONG PageFrameNumbers);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwFreeUserPhysicalPages(
- /*IN*/ HANDLE ProcessHandle,
- /*IN OUT*/ PULONG NumberOfPages,
- /*IN*/ PULONG PageFrameNumbers);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwMapUserPhysicalPages(
- /*IN*/ PVOID BaseAddress,
- /*IN*/ PULONG NumberOfPages,
- /*IN*/ PULONG PageFrameNumbers);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwMapUserPhysicalPagesScatter(
- /*IN*/ PVOID *BaseAddresses,
- /*IN*/ PULONG NumberOfPages,
- /*IN*/ PULONG PageFrameNumbers);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwGetWriteWatch(
- /*IN*/ HANDLE ProcessHandle,
- /*IN*/ ULONG Flags,
- /*IN*/ PVOID BaseAddress,
- /*IN*/ ULONG RegionSize,
- /*OUT*/ PULONG Buffer,
- /*IN OUT*/ PULONG BufferEntries,
- /*OUT*/ PULONG Granularity);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwResetWriteWatch(
- /*IN*/ HANDLE ProcessHandle,
- /*IN*/ PVOID BaseAddress,
- /*IN*/ ULONG RegionSize);
-
-
-
-
-/* Sections */
-
-typedef enum _SECTION_INFORMATION_CLASS {
- SectionBasicInformation,
- SectionImageInformation
-} SECTION_INFORMATION_CLASS;
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtCreateSection(
- /*OUT*/ PHANDLE SectionHandle,
- /*IN*/ ACCESS_MASK DesiredAccess,
- /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes,
- /*IN*/ PLARGE_INTEGER SectionSize /*OPTIONAL*/,
- /*IN*/ ULONG Protect,
- /*IN*/ ULONG Attributes,
- /*IN*/ HANDLE FileHandle);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwCreateSection(
- /*OUT*/ PHANDLE SectionHandle,
- /*IN*/ ACCESS_MASK DesiredAccess,
- /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes,
- /*IN*/ PLARGE_INTEGER SectionSize /*OPTIONAL*/,
- /*IN*/ ULONG Protect,
- /*IN*/ ULONG Attributes,
- /*IN*/ HANDLE FileHandle);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwQuerySection(
- /*IN*/ HANDLE SectionHandle,
- /*IN*/ SECTION_INFORMATION_CLASS SectionInformationClass,
- /*OUT*/ PVOID SectionInformation,
- /*IN*/ ULONG SectionInformationLength,
- /*OUT*/ PULONG ResultLength /*OPTIONAL*/);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwExtendSection(
- /*IN*/ HANDLE SectionHandle,
- /*IN*/ PLARGE_INTEGER SectionSize);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwAreMappedFilesTheSame(
- /*IN*/ PVOID Address1,
- /*IN*/ PVOID Address2);
-
-
-
-
-/* Threads */
-
-typedef struct _USER_STACK {
- PVOID FixedStackBase;
- PVOID FixedStackLimit;
- PVOID ExpandableStackBase;
- PVOID ExpandableStackLimit;
- PVOID ExpandableStackBottom;
-} USER_STACK, *PUSER_STACK;
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwCreateThread(
- /*OUT*/ PHANDLE ThreadHandle,
- /*IN*/ ACCESS_MASK DesiredAccess,
- /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes,
- /*IN*/ HANDLE ProcessHandle,
- /*OUT*/ PCLIENT_ID ClientId,
- /*IN*/ PCONTEXT ThreadContext,
- /*IN*/ PUSER_STACK UserStack,
- /*IN*/ BOOLEAN CreateSuspended);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtOpenThread(
- /*OUT*/ PHANDLE ThreadHandle,
- /*IN*/ ACCESS_MASK DesiredAccess,
- /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes,
- /*IN*/ PCLIENT_ID ClientId);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwOpenThread(
- /*OUT*/ PHANDLE ThreadHandle,
- /*IN*/ ACCESS_MASK DesiredAccess,
- /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes,
- /*IN*/ PCLIENT_ID ClientId);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwTerminateThread(
- /*IN*/ HANDLE ThreadHandle /*OPTIONAL*/,
- /*IN*/ NTSTATUS ExitStatus);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtQueryInformationThread(
- /*IN*/ HANDLE ThreadHandle,
- /*IN*/ THREADINFOCLASS ThreadInformationClass,
- /*OUT*/ PVOID ThreadInformation,
- /*IN*/ ULONG ThreadInformationLength,
- /*OUT*/ PULONG ReturnLength /*OPTIONAL*/);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwQueryInformationThread(
- /*IN*/ HANDLE ThreadHandle,
- /*IN*/ THREADINFOCLASS ThreadInformationClass,
- /*OUT*/ PVOID ThreadInformation,
- /*IN*/ ULONG ThreadInformationLength,
- /*OUT*/ PULONG ReturnLength /*OPTIONAL*/);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtSetInformationThread(
- /*IN*/ HANDLE ThreadHandle,
- /*IN*/ THREADINFOCLASS ThreadInformationClass,
- /*IN*/ PVOID ThreadInformation,
- /*IN*/ ULONG ThreadInformationLength);
-
-typedef struct _THREAD_BASIC_INFORMATION {
- NTSTATUS ExitStatus;
- PNT_TIB TebBaseAddress;
- CLIENT_ID ClientId;
- KAFFINITY AffinityMask;
- KPRIORITY Priority;
- KPRIORITY BasePriority;
-} THREAD_BASIC_INFORMATION, *PTHREAD_BASIC_INFORMATION;
-
-typedef struct _KERNEL_USER_TIMES {
- LARGE_INTEGER CreateTime;
- LARGE_INTEGER ExitTime;
- LARGE_INTEGER KernelTime;
- LARGE_INTEGER UserTime;
-} KERNEL_USER_TIMES, *PKERNEL_USER_TIMES;
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwSuspendThread(
- /*IN*/ HANDLE ThreadHandle,
- /*OUT*/ PULONG PreviousSuspendCount /*OPTIONAL*/);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwResumeThread(
- /*IN*/ HANDLE ThreadHandle,
- /*OUT*/ PULONG PreviousSuspendCount /*OPTIONAL*/);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwGetContextThread(
- /*IN*/ HANDLE ThreadHandle,
- /*OUT*/ PCONTEXT Context);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwSetContextThread(
- /*IN*/ HANDLE ThreadHandle,
- /*IN*/ PCONTEXT Context);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwQueueApcThread(
- /*IN*/ HANDLE ThreadHandle,
- /*IN*/ PKNORMAL_ROUTINE ApcRoutine,
- /*IN*/ PVOID ApcContext /*OPTIONAL*/,
- /*IN*/ PVOID Argument1 /*OPTIONAL*/,
- /*IN*/ PVOID Argument2 /*OPTIONAL*/);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwTestAlert(
- VOID);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwAlertThread(
- /*IN*/ HANDLE ThreadHandle);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwAlertResumeThread(
- /*IN*/ HANDLE ThreadHandle,
- /*OUT*/ PULONG PreviousSuspendCount /*OPTIONAL*/);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwRegisterThreadTerminatePort(
- /*IN*/ HANDLE PortHandle);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwImpersonateThread(
- /*IN*/ HANDLE ThreadHandle,
- /*IN*/ HANDLE TargetThreadHandle,
- /*IN*/ PSECURITY_QUALITY_OF_SERVICE SecurityQos);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwImpersonateAnonymousToken(
- /*IN*/ HANDLE ThreadHandle);
-
-
-
-
-/* Processes */
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwCreateProcess(
- /*OUT*/ PHANDLE ProcessHandle,
- /*IN*/ ACCESS_MASK DesiredAccess,
- /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes,
- /*IN*/ HANDLE InheritFromProcessHandle,
- /*IN*/ BOOLEAN InheritHandles,
- /*IN*/ HANDLE SectionHandle /*OPTIONAL*/,
- /*IN*/ HANDLE DebugPort /*OPTIONAL*/,
- /*IN*/ HANDLE ExceptionPort /*OPTIONAL*/);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwCreateProcess(
- /*OUT*/ PHANDLE ProcessHandle,
- /*IN*/ ACCESS_MASK DesiredAccess,
- /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes,
- /*IN*/ HANDLE InheritFromProcessHandle,
- /*IN*/ BOOLEAN InheritHandles,
- /*IN*/ HANDLE SectionHandle /*OPTIONAL*/,
- /*IN*/ HANDLE DebugPort /*OPTIONAL*/,
- /*IN*/ HANDLE ExceptionPort /*OPTIONAL*/);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwTerminateProcess(
- /*IN*/ HANDLE ProcessHandle /*OPTIONAL*/,
- /*IN*/ NTSTATUS ExitStatus);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwQueryInformationProcess(
- /*IN*/ HANDLE ProcessHandle,
- /*IN*/ PROCESSINFOCLASS ProcessInformationClass,
- /*OUT*/ PVOID ProcessInformation,
- /*IN*/ ULONG ProcessInformationLength,
- /*OUT*/ PULONG ReturnLength /*OPTIONAL*/);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtSetInformationProcess(
- /*IN*/ HANDLE ProcessHandle,
- /*IN*/ PROCESSINFOCLASS ProcessInformationClass,
- /*IN*/ PVOID ProcessInformation,
- /*IN*/ ULONG ProcessInformationLength);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwSetInformationProcess(
- /*IN*/ HANDLE ProcessHandle,
- /*IN*/ PROCESSINFOCLASS ProcessInformationClass,
- /*IN*/ PVOID ProcessInformation,
- /*IN*/ ULONG ProcessInformationLength);
-
-typedef struct _PROCESS_BASIC_INFORMATION {
- NTSTATUS ExitStatus;
- PPEB PebBaseAddress;
- KAFFINITY AffinityMask;
- KPRIORITY BasePriority;
- ULONG UniqueProcessId;
- ULONG InheritedFromUniqueProcessId;
-} PROCESS_BASIC_INFORMATION, *PPROCESS_BASIC_INFORMATION;
-
-typedef struct _PROCESS_ACCESS_TOKEN {
- HANDLE Token;
- HANDLE Thread;
-} PROCESS_ACCESS_TOKEN, *PPROCESS_ACCESS_TOKEN;
-
-/* DefaultHardErrorMode constants */
-/* also in winbase.h */
-#define SEM_FAILCRITICALERRORS 0x0001
-#define SEM_NOGPFAULTERRORBOX 0x0002
-#define SEM_NOALIGNMENTFAULTEXCEPT 0x0004
-#define SEM_NOOPENFILEERRORBOX 0x8000
-/* end winbase.h */
-typedef struct _POOLED_USAGE_AND_LIMITS {
- ULONG PeakPagedPoolUsage;
- ULONG PagedPoolUsage;
- ULONG PagedPoolLimit;
- ULONG PeakNonPagedPoolUsage;
- ULONG NonPagedPoolUsage;
- ULONG NonPagedPoolLimit;
- ULONG PeakPagefileUsage;
- ULONG PagefileUsage;
- ULONG PagefileLimit;
-} POOLED_USAGE_AND_LIMITS, *PPOOLED_USAGE_AND_LIMITS;
-
-typedef struct _PROCESS_WS_WATCH_INFORMATION {
- PVOID FaultingPc;
- PVOID FaultingVa;
-} PROCESS_WS_WATCH_INFORMATION, *PPROCESS_WS_WATCH_INFORMATION;
-
-/* PROCESS_PRIORITY_CLASS.PriorityClass constants */
-#define PC_IDLE 1
-#define PC_NORMAL 2
-#define PC_HIGH 3
-#define PC_REALTIME 4
-#define PC_BELOW_NORMAL 5
-#define PC_ABOVE_NORMAL 6
-
-typedef struct _PROCESS_PRIORITY_CLASS {
- BOOLEAN Foreground;
- UCHAR PriorityClass;
-} PROCESS_PRIORITY_CLASS, *PPROCESS_PRIORITY_CLASS;
-
-/* PROCESS_DEVICEMAP_INFORMATION.DriveType constants */
-#define DRIVE_UNKNOWN 0
-#define DRIVE_NO_ROOT_DIR 1
-#define DRIVE_REMOVABLE 2
-#define DRIVE_FIXED 3
-#define DRIVE_REMOTE 4
-#define DRIVE_CDROM 5
-#define DRIVE_RAMDISK 6
-
-typedef struct _PROCESS_DEVICEMAP_INFORMATION {
- _ANONYMOUS_UNION union {
- struct {
- HANDLE DirectoryHandle;
- } Set;
- struct {
- ULONG DriveMap;
- UCHAR DriveType[32];
- } Query;
- } DUMMYUNIONNAME;
-} PROCESS_DEVICEMAP_INFORMATION, *PPROCESS_DEVICEMAP_INFORMATION;
-
-typedef struct _PROCESS_SESSION_INFORMATION {
- ULONG SessionId;
-} PROCESS_SESSION_INFORMATION, *PPROCESS_SESSION_INFORMATION;
-
-typedef struct _RTL_USER_PROCESS_PARAMETERS {
- ULONG AllocationSize;
- ULONG Size;
- ULONG Flags;
- ULONG DebugFlags;
- HANDLE hConsole;
- ULONG ProcessGroup;
- HANDLE hStdInput;
- HANDLE hStdOutput;
- HANDLE hStdError;
- UNICODE_STRING CurrentDirectoryName;
- HANDLE CurrentDirectoryHandle;
- UNICODE_STRING DllPath;
- UNICODE_STRING ImagePathName;
- UNICODE_STRING CommandLine;
- PWSTR Environment;
- ULONG dwX;
- ULONG dwY;
- ULONG dwXSize;
- ULONG dwYSize;
- ULONG dwXCountChars;
- ULONG dwYCountChars;
- ULONG dwFillAttribute;
- ULONG dwFlags;
- ULONG wShowWindow;
- UNICODE_STRING WindowTitle;
- UNICODE_STRING DesktopInfo;
- UNICODE_STRING ShellInfo;
- UNICODE_STRING RuntimeInfo;
-} RTL_USER_PROCESS_PARAMETERS, *PRTL_USER_PROCESS_PARAMETERS;
-
-NTSTATUS
-NTAPI
-RtlCreateProcessParameters(
- /*OUT*/ PRTL_USER_PROCESS_PARAMETERS *ProcessParameters,
- /*IN*/ PUNICODE_STRING ImageFile,
- /*IN*/ PUNICODE_STRING DllPath /*OPTIONAL*/,
- /*IN*/ PUNICODE_STRING CurrentDirectory /*OPTIONAL*/,
- /*IN*/ PUNICODE_STRING CommandLine /*OPTIONAL*/,
- /*IN*/ PWSTR Environment /*OPTIONAL*/,
- /*IN*/ PUNICODE_STRING WindowTitle /*OPTIONAL*/,
- /*IN*/ PUNICODE_STRING DesktopInfo /*OPTIONAL*/,
- /*IN*/ PUNICODE_STRING ShellInfo /*OPTIONAL*/,
- /*IN*/ PUNICODE_STRING RuntimeInfo /*OPTIONAL*/);
-
-NTSTATUS
-NTAPI
-RtlDestroyProcessParameters(
- /*IN*/ PRTL_USER_PROCESS_PARAMETERS ProcessParameters);
-
-typedef struct _DEBUG_BUFFER {
- HANDLE SectionHandle;
- PVOID SectionBase;
- PVOID RemoteSectionBase;
- ULONG SectionBaseDelta;
- HANDLE EventPairHandle;
- ULONG Unknown[2];
- HANDLE RemoteThreadHandle;
- ULONG InfoClassMask;
- ULONG SizeOfInfo;
- ULONG AllocatedSize;
- ULONG SectionSize;
- PVOID ModuleInformation;
- PVOID BackTraceInformation;
- PVOID HeapInformation;
- PVOID LockInformation;
- PVOID Reserved[8];
-} DEBUG_BUFFER, *PDEBUG_BUFFER;
-
-PDEBUG_BUFFER
-NTAPI
-RtlCreateQueryDebugBuffer(
- /*IN*/ ULONG Size,
- /*IN*/ BOOLEAN EventPair);
-
-/* RtlQueryProcessDebugInformation.DebugInfoClassMask constants */
-#define PDI_MODULES 0x01
-#define PDI_BACKTRACE 0x02
-#define PDI_HEAPS 0x04
-#define PDI_HEAP_TAGS 0x08
-#define PDI_HEAP_BLOCKS 0x10
-#define PDI_LOCKS 0x20
-
-NTSTATUS
-NTAPI
-RtlQueryProcessDebugInformation(
- /*IN*/ ULONG ProcessId,
- /*IN*/ ULONG DebugInfoClassMask,
- /*IN OUT*/ PDEBUG_BUFFER DebugBuffer);
-
-NTSTATUS
-NTAPI
-RtlDestroyQueryDebugBuffer(
- /*IN*/ PDEBUG_BUFFER DebugBuffer);
-
-/* DEBUG_MODULE_INFORMATION.Flags constants */
-#define LDRP_STATIC_LINK 0x00000002
-#define LDRP_IMAGE_DLL 0x00000004
-#define LDRP_LOAD_IN_PROGRESS 0x00001000
-#define LDRP_UNLOAD_IN_PROGRESS 0x00002000
-#define LDRP_ENTRY_PROCESSED 0x00004000
-#define LDRP_ENTRY_INSERTED 0x00008000
-#define LDRP_CURRENT_LOAD 0x00010000
-#define LDRP_FAILED_BUILTIN_LOAD 0x00020000
-#define LDRP_DONT_CALL_FOR_THREADS 0x00040000
-#define LDRP_PROCESS_ATTACH_CALLED 0x00080000
-#define LDRP_DEBUG_SYMBOLS_LOADED 0x00100000
-#define LDRP_IMAGE_NOT_AT_BASE 0x00200000
-#define LDRP_WX86_IGNORE_MACHINETYPE 0x00400000
-
-typedef struct _DEBUG_MODULE_INFORMATION {
- ULONG Reserved[2];
- ULONG Base;
- ULONG Size;
- ULONG Flags;
- USHORT Index;
- USHORT Unknown;
- USHORT LoadCount;
- USHORT ModuleNameOffset;
- CHAR ImageName[256];
-} DEBUG_MODULE_INFORMATION, *PDEBUG_MODULE_INFORMATION;
-
-typedef struct _DEBUG_HEAP_INFORMATION {
- ULONG Base;
- ULONG Flags;
- USHORT Granularity;
- USHORT Unknown;
- ULONG Allocated;
- ULONG Committed;
- ULONG TagCount;
- ULONG BlockCount;
- ULONG Reserved[7];
- PVOID Tags;
- PVOID Blocks;
-} DEBUG_HEAP_INFORMATION, *PDEBUG_HEAP_INFORMATION;
-
-typedef struct _DEBUG_LOCK_INFORMATION {
- PVOID Address;
- USHORT Type;
- USHORT CreatorBackTraceIndex;
- ULONG OwnerThreadId;
- ULONG ActiveCount;
- ULONG ContentionCount;
- ULONG EntryCount;
- ULONG RecursionCount;
- ULONG NumberOfSharedWaiters;
- ULONG NumberOfExclusiveWaiters;
-} DEBUG_LOCK_INFORMATION, *PDEBUG_LOCK_INFORMATION;
-
-
-
-/* Jobs */
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwCreateJobObject(
- /*OUT*/ PHANDLE JobHandle,
- /*IN*/ ACCESS_MASK DesiredAccess,
- /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwOpenJobObject(
- /*OUT*/ PHANDLE JobHandle,
- /*IN*/ ACCESS_MASK DesiredAccess,
- /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwTerminateJobObject(
- /*IN*/ HANDLE JobHandle,
- /*IN*/ NTSTATUS ExitStatus);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwAssignProcessToJobObject(
- /*IN*/ HANDLE JobHandle,
- /*IN*/ HANDLE ProcessHandle);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwQueryInformationJobObject(
- /*IN*/ HANDLE JobHandle,
- /*IN*/ JOBOBJECTINFOCLASS JobInformationClass,
- /*OUT*/ PVOID JobInformation,
- /*IN*/ ULONG JobInformationLength,
- /*OUT*/ PULONG ReturnLength /*OPTIONAL*/);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwSetInformationJobObject(
- /*IN*/ HANDLE JobHandle,
- /*IN*/ JOBOBJECTINFOCLASS JobInformationClass,
- /*IN*/ PVOID JobInformation,
- /*IN*/ ULONG JobInformationLength);
-
-
-/* Tokens */
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwCreateToken(
- /*OUT*/ PHANDLE TokenHandle,
- /*IN*/ ACCESS_MASK DesiredAccess,
- /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes,
- /*IN*/ TOKEN_TYPE Type,
- /*IN*/ PLUID AuthenticationId,
- /*IN*/ PLARGE_INTEGER ExpirationTime,
- /*IN*/ PTOKEN_USER User,
- /*IN*/ PTOKEN_GROUPS Groups,
- /*IN*/ PTOKEN_PRIVILEGES Privileges,
- /*IN*/ PTOKEN_OWNER Owner,
- /*IN*/ PTOKEN_PRIMARY_GROUP PrimaryGroup,
- /*IN*/ PTOKEN_DEFAULT_DACL DefaultDacl,
- /*IN*/ PTOKEN_SOURCE Source
-);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtOpenProcessToken(
- /*IN*/ HANDLE ProcessHandle,
- /*IN*/ ACCESS_MASK DesiredAccess,
- /*OUT*/ PHANDLE TokenHandle);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwOpenProcessToken(
- /*IN*/ HANDLE ProcessHandle,
- /*IN*/ ACCESS_MASK DesiredAccess,
- /*OUT*/ PHANDLE TokenHandle);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtOpenThreadToken(
- /*IN*/ HANDLE ThreadHandle,
- /*IN*/ ACCESS_MASK DesiredAccess,
- /*IN*/ BOOLEAN OpenAsSelf,
- /*OUT*/ PHANDLE TokenHandle);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwOpenThreadToken(
- /*IN*/ HANDLE ThreadHandle,
- /*IN*/ ACCESS_MASK DesiredAccess,
- /*IN*/ BOOLEAN OpenAsSelf,
- /*OUT*/ PHANDLE TokenHandle);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtDuplicateToken(
- /*IN*/ HANDLE ExistingTokenHandle,
- /*IN*/ ACCESS_MASK DesiredAccess,
- /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes,
- /*IN*/ BOOLEAN EffectiveOnly,
- /*IN*/ TOKEN_TYPE TokenType,
- /*OUT*/ PHANDLE NewTokenHandle);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwDuplicateToken(
- /*IN*/ HANDLE ExistingTokenHandle,
- /*IN*/ ACCESS_MASK DesiredAccess,
- /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes,
- /*IN*/ BOOLEAN EffectiveOnly,
- /*IN*/ TOKEN_TYPE TokenType,
- /*OUT*/ PHANDLE NewTokenHandle);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwFilterToken(
- /*IN*/ HANDLE ExistingTokenHandle,
- /*IN*/ ULONG Flags,
- /*IN*/ PTOKEN_GROUPS SidsToDisable,
- /*IN*/ PTOKEN_PRIVILEGES PrivilegesToDelete,
- /*IN*/ PTOKEN_GROUPS SidsToRestricted,
- /*OUT*/ PHANDLE NewTokenHandle);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtAdjustPrivilegesToken(
- /*IN*/ HANDLE TokenHandle,
- /*IN*/ BOOLEAN DisableAllPrivileges,
- /*IN*/ PTOKEN_PRIVILEGES NewState,
- /*IN*/ ULONG BufferLength,
- /*OUT*/ PTOKEN_PRIVILEGES PreviousState /*OPTIONAL*/,
- /*OUT*/ PULONG ReturnLength);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwAdjustPrivilegesToken(
- /*IN*/ HANDLE TokenHandle,
- /*IN*/ BOOLEAN DisableAllPrivileges,
- /*IN*/ PTOKEN_PRIVILEGES NewState,
- /*IN*/ ULONG BufferLength,
- /*OUT*/ PTOKEN_PRIVILEGES PreviousState /*OPTIONAL*/,
- /*OUT*/ PULONG ReturnLength);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwAdjustGroupsToken(
- /*IN*/ HANDLE TokenHandle,
- /*IN*/ BOOLEAN ResetToDefault,
- /*IN*/ PTOKEN_GROUPS NewState,
- /*IN*/ ULONG BufferLength,
- /*OUT*/ PTOKEN_GROUPS PreviousState /*OPTIONAL*/,
- /*OUT*/ PULONG ReturnLength);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtQueryInformationToken(
- /*IN*/ HANDLE TokenHandle,
- /*IN*/ TOKEN_INFORMATION_CLASS TokenInformationClass,
- /*OUT*/ PVOID TokenInformation,
- /*IN*/ ULONG TokenInformationLength,
- /*OUT*/ PULONG ReturnLength);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwQueryInformationToken(
- /*IN*/ HANDLE TokenHandle,
- /*IN*/ TOKEN_INFORMATION_CLASS TokenInformationClass,
- /*OUT*/ PVOID TokenInformation,
- /*IN*/ ULONG TokenInformationLength,
- /*OUT*/ PULONG ReturnLength);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwSetInformationToken(
- /*IN*/ HANDLE TokenHandle,
- /*IN*/ TOKEN_INFORMATION_CLASS TokenInformationClass,
- /*IN*/ PVOID TokenInformation,
- /*IN*/ ULONG TokenInformationLength);
-
-
-
-
-/* Time */
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwQuerySystemTime(
- /*OUT*/ PLARGE_INTEGER CurrentTime);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwSetSystemTime(
- /*IN*/ PLARGE_INTEGER NewTime,
- /*OUT*/ PLARGE_INTEGER OldTime /*OPTIONAL*/);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwQueryPerformanceCounter(
- /*OUT*/ PLARGE_INTEGER PerformanceCount,
- /*OUT*/ PLARGE_INTEGER PerformanceFrequency /*OPTIONAL*/);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwQueryPerformanceCounter(
- /*OUT*/ PLARGE_INTEGER PerformanceCount,
- /*OUT*/ PLARGE_INTEGER PerformanceFrequency /*OPTIONAL*/);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwQueryTimerResolution(
- /*OUT*/ PULONG CoarsestResolution,
- /*OUT*/ PULONG FinestResolution,
- /*OUT*/ PULONG ActualResolution);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwDelayExecution(
- /*IN*/ BOOLEAN Alertable,
- /*IN*/ PLARGE_INTEGER Interval);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwYieldExecution(
- VOID);
-
-NTOSAPI
-ULONG
-NTAPI
-ZwGetTickCount(
- VOID);
-
-
-
-
-/* Execution profiling */
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwCreateProfile(
- /*OUT*/ PHANDLE ProfileHandle,
- /*IN*/ HANDLE ProcessHandle,
- /*IN*/ PVOID Base,
- /*IN*/ ULONG Size,
- /*IN*/ ULONG BucketShift,
- /*IN*/ PULONG Buffer,
- /*IN*/ ULONG BufferLength,
- /*IN*/ KPROFILE_SOURCE Source,
- /*IN*/ ULONG ProcessorMask);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwSetIntervalProfile(
- /*IN*/ ULONG Interval,
- /*IN*/ KPROFILE_SOURCE Source);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwQueryIntervalProfile(
- /*IN*/ KPROFILE_SOURCE Source,
- /*OUT*/ PULONG Interval);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwStartProfile(
- /*IN*/ HANDLE ProfileHandle);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwStopProfile(
- /*IN*/ HANDLE ProfileHandle);
-
-/* Local Procedure Call (LPC) */
-
-typedef struct _LPC_MESSAGE {
- USHORT DataSize;
- USHORT MessageSize;
- USHORT MessageType;
- USHORT VirtualRangesOffset;
- CLIENT_ID ClientId;
- ULONG MessageId;
- ULONG SectionSize;
- UCHAR Data[ANYSIZE_ARRAY];
-} LPC_MESSAGE, *PLPC_MESSAGE;
-
-#define LPC_MESSAGE_BASE_SIZE 24
-
-typedef enum _LPC_TYPE {
- LPC_NEW_MESSAGE,
- LPC_REQUEST,
- LPC_REPLY,
- LPC_DATAGRAM,
- LPC_LOST_REPLY,
- LPC_PORT_CLOSED,
- LPC_CLIENT_DIED,
- LPC_EXCEPTION,
- LPC_DEBUG_EVENT,
- LPC_ERROR_EVENT,
- LPC_CONNECTION_REQUEST,
- LPC_CONNECTION_REFUSED,
- LPC_MAXIMUM
-} LPC_TYPE;
-
-typedef struct _LPC_SECTION_WRITE {
- ULONG Length;
- HANDLE SectionHandle;
- ULONG SectionOffset;
- ULONG ViewSize;
- PVOID ViewBase;
- PVOID TargetViewBase;
-} LPC_SECTION_WRITE, *PLPC_SECTION_WRITE;
-
-typedef struct _LPC_SECTION_READ {
- ULONG Length;
- ULONG ViewSize;
- PVOID ViewBase;
-} LPC_SECTION_READ, *PLPC_SECTION_READ;
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwCreatePort(
- /*OUT*/ PHANDLE PortHandle,
- /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes,
- /*IN*/ ULONG MaxDataSize,
- /*IN*/ ULONG MaxMessageSize,
- /*IN*/ ULONG Reserved);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwCreateWaitablePort(
- /*OUT*/ PHANDLE PortHandle,
- /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes,
- /*IN*/ ULONG MaxDataSize,
- /*IN*/ ULONG MaxMessageSize,
- /*IN*/ ULONG Reserved);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtConnectPort(
- /*OUT*/ PHANDLE PortHandle,
- /*IN*/ PUNICODE_STRING PortName,
- /*IN*/ PSECURITY_QUALITY_OF_SERVICE SecurityQos,
- /*IN OUT*/ PLPC_SECTION_WRITE WriteSection /*OPTIONAL*/,
- /*IN OUT*/ PLPC_SECTION_READ ReadSection /*OPTIONAL*/,
- /*OUT*/ PULONG MaxMessageSize /*OPTIONAL*/,
- /*IN OUT*/ PVOID ConnectData /*OPTIONAL*/,
- /*IN OUT*/ PULONG ConnectDataLength /*OPTIONAL*/);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwConnectPort(
- /*OUT*/ PHANDLE PortHandle,
- /*IN*/ PUNICODE_STRING PortName,
- /*IN*/ PSECURITY_QUALITY_OF_SERVICE SecurityQos,
- /*IN OUT*/ PLPC_SECTION_WRITE WriteSection /*OPTIONAL*/,
- /*IN OUT*/ PLPC_SECTION_READ ReadSection /*OPTIONAL*/,
- /*OUT*/ PULONG MaxMessageSize /*OPTIONAL*/,
- /*IN OUT*/ PVOID ConnectData /*OPTIONAL*/,
- /*IN OUT*/ PULONG ConnectDataLength /*OPTIONAL*/);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwConnectPort(
- /*OUT*/ PHANDLE PortHandle,
- /*IN*/ PUNICODE_STRING PortName,
- /*IN*/ PSECURITY_QUALITY_OF_SERVICE SecurityQos,
- /*IN OUT*/ PLPC_SECTION_WRITE WriteSection /*OPTIONAL*/,
- /*IN OUT*/ PLPC_SECTION_READ ReadSection /*OPTIONAL*/,
- /*OUT*/ PULONG MaxMessageSize /*OPTIONAL*/,
- /*IN OUT*/ PVOID ConnectData /*OPTIONAL*/,
- /*IN OUT*/ PULONG ConnectDataLength /*OPTIONAL*/);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwListenPort(
- /*IN*/ HANDLE PortHandle,
- /*OUT*/ PLPC_MESSAGE Message);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwAcceptConnectPort(
- /*OUT*/ PHANDLE PortHandle,
- /*IN*/ ULONG PortIdentifier,
- /*IN*/ PLPC_MESSAGE Message,
- /*IN*/ BOOLEAN Accept,
- /*IN OUT*/ PLPC_SECTION_WRITE WriteSection /*OPTIONAL*/,
- /*IN OUT*/ PLPC_SECTION_READ ReadSection /*OPTIONAL*/);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwCompleteConnectPort(
- /*IN*/ HANDLE PortHandle);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtRequestPort(
- /*IN*/ HANDLE PortHandle,
- /*IN*/ PLPC_MESSAGE RequestMessage);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtRequestWaitReplyPort(
- /*IN*/ HANDLE PortHandle,
- /*IN*/ PLPC_MESSAGE RequestMessage,
- /*OUT*/ PLPC_MESSAGE ReplyMessage);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwRequestWaitReplyPort(
- /*IN*/ HANDLE PortHandle,
- /*IN*/ PLPC_MESSAGE RequestMessage,
- /*OUT*/ PLPC_MESSAGE ReplyMessage);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwReplyPort(
- /*IN*/ HANDLE PortHandle,
- /*IN*/ PLPC_MESSAGE ReplyMessage);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwReplyWaitReplyPort(
- /*IN*/ HANDLE PortHandle,
- /*IN OUT*/ PLPC_MESSAGE ReplyMessage);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwReplyWaitReceivePort(
- /*IN*/ HANDLE PortHandle,
- /*OUT*/ PULONG PortIdentifier /*OPTIONAL*/,
- /*IN*/ PLPC_MESSAGE ReplyMessage /*OPTIONAL*/,
- /*OUT*/ PLPC_MESSAGE Message);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwReplyWaitReceivePortEx(
- /*IN*/ HANDLE PortHandle,
- /*OUT*/ PULONG PortIdentifier /*OPTIONAL*/,
- /*IN*/ PLPC_MESSAGE ReplyMessage /*OPTIONAL*/,
- /*OUT*/ PLPC_MESSAGE Message,
- /*IN*/ PLARGE_INTEGER Timeout);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwReadRequestData(
- /*IN*/ HANDLE PortHandle,
- /*IN*/ PLPC_MESSAGE Message,
- /*IN*/ ULONG Index,
- /*OUT*/ PVOID Buffer,
- /*IN*/ ULONG BufferLength,
- /*OUT*/ PULONG ReturnLength /*OPTIONAL*/);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwWriteRequestData(
- /*IN*/ HANDLE PortHandle,
- /*IN*/ PLPC_MESSAGE Message,
- /*IN*/ ULONG Index,
- /*IN*/ PVOID Buffer,
- /*IN*/ ULONG BufferLength,
- /*OUT*/ PULONG ReturnLength /*OPTIONAL*/);
-
-typedef enum _PORT_INFORMATION_CLASS {
- PortBasicInformation
-} PORT_INFORMATION_CLASS;
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwQueryInformationPort(
- /*IN*/ HANDLE PortHandle,
- /*IN*/ PORT_INFORMATION_CLASS PortInformationClass,
- /*OUT*/ PVOID PortInformation,
- /*IN*/ ULONG PortInformationLength,
- /*OUT*/ PULONG ReturnLength /*OPTIONAL*/);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwImpersonateClientOfPort(
- /*IN*/ HANDLE PortHandle,
- /*IN*/ PLPC_MESSAGE Message);
-
-
-
-
-/* Files */
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtDeleteFile(
- /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwDeleteFile(
- /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwFlushBuffersFile(
- /*IN*/ HANDLE FileHandle,
- /*OUT*/ PIO_STATUS_BLOCK IoStatusBlock);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwCancelIoFile(
- /*IN*/ HANDLE FileHandle,
- /*OUT*/ PIO_STATUS_BLOCK IoStatusBlock);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwReadFileScatter(
- /*IN*/ HANDLE FileHandle,
- /*IN*/ HANDLE Event /*OPTIONAL*/,
- /*IN*/ PIO_APC_ROUTINE ApcRoutine /*OPTIONAL*/,
- /*IN*/ PVOID ApcContext /*OPTIONAL*/,
- /*OUT*/ PIO_STATUS_BLOCK IoStatusBlock,
- /*IN*/ PFILE_SEGMENT_ELEMENT Buffer,
- /*IN*/ ULONG Length,
- /*IN*/ PLARGE_INTEGER ByteOffset /*OPTIONAL*/,
- /*IN*/ PULONG Key /*OPTIONAL*/);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwWriteFileGather(
- /*IN*/ HANDLE FileHandle,
- /*IN*/ HANDLE Event /*OPTIONAL*/,
- /*IN*/ PIO_APC_ROUTINE ApcRoutine /*OPTIONAL*/,
- /*IN*/ PVOID ApcContext /*OPTIONAL*/,
- /*OUT*/ PIO_STATUS_BLOCK IoStatusBlock,
- /*IN*/ PFILE_SEGMENT_ELEMENT Buffer,
- /*IN*/ ULONG Length,
- /*IN*/ PLARGE_INTEGER ByteOffset /*OPTIONAL*/,
- /*IN*/ PULONG Key /*OPTIONAL*/);
-
-
-
-
-/* Registry keys */
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwSaveKey(
- /*IN*/ HANDLE KeyHandle,
- /*IN*/ HANDLE FileHandle);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwSaveMergedKeys(
- /*IN*/ HANDLE KeyHandle1,
- /*IN*/ HANDLE KeyHandle2,
- /*IN*/ HANDLE FileHandle);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwRestoreKey(
- /*IN*/ HANDLE KeyHandle,
- /*IN*/ HANDLE FileHandle,
- /*IN*/ ULONG Flags);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwLoadKey(
- /*IN*/ POBJECT_ATTRIBUTES KeyObjectAttributes,
- /*IN*/ POBJECT_ATTRIBUTES FileObjectAttributes);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwLoadKey2(
- /*IN*/ POBJECT_ATTRIBUTES KeyObjectAttributes,
- /*IN*/ POBJECT_ATTRIBUTES FileObjectAttributes,
- /*IN*/ ULONG Flags);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwUnloadKey(
- /*IN*/ POBJECT_ATTRIBUTES KeyObjectAttributes);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwQueryOpenSubKeys(
- /*IN*/ POBJECT_ATTRIBUTES KeyObjectAttributes,
- /*OUT*/ PULONG NumberOfKeys);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwReplaceKey(
- /*IN*/ POBJECT_ATTRIBUTES NewFileObjectAttributes,
- /*IN*/ HANDLE KeyHandle,
- /*IN*/ POBJECT_ATTRIBUTES OldFileObjectAttributes);
-
-typedef enum _KEY_SET_INFORMATION_CLASS {
- KeyLastWriteTimeInformation
-} KEY_SET_INFORMATION_CLASS;
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwSetInformationKey(
- /*IN*/ HANDLE KeyHandle,
- /*IN*/ KEY_SET_INFORMATION_CLASS KeyInformationClass,
- /*IN*/ PVOID KeyInformation,
- /*IN*/ ULONG KeyInformationLength);
-
-typedef struct _KEY_LAST_WRITE_TIME_INFORMATION {
- LARGE_INTEGER LastWriteTime;
-} KEY_LAST_WRITE_TIME_INFORMATION, *PKEY_LAST_WRITE_TIME_INFORMATION;
-
-typedef struct _KEY_NAME_INFORMATION {
- ULONG NameLength;
- WCHAR Name[1];
-} KEY_NAME_INFORMATION, *PKEY_NAME_INFORMATION;
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwNotifyChangeKey(
- /*IN*/ HANDLE KeyHandle,
- /*IN*/ HANDLE EventHandle /*OPTIONAL*/,
- /*IN*/ PIO_APC_ROUTINE ApcRoutine /*OPTIONAL*/,
- /*IN*/ PVOID ApcContext /*OPTIONAL*/,
- /*OUT*/ PIO_STATUS_BLOCK IoStatusBlock,
- /*IN*/ ULONG NotifyFilter,
- /*IN*/ BOOLEAN WatchSubtree,
- /*IN*/ PVOID Buffer,
- /*IN*/ ULONG BufferLength,
- /*IN*/ BOOLEAN Asynchronous);
-
-/* ZwNotifyChangeMultipleKeys.Flags constants */
-#define REG_MONITOR_SINGLE_KEY 0x00
-#define REG_MONITOR_SECOND_KEY 0x01
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwNotifyChangeMultipleKeys(
- /*IN*/ HANDLE KeyHandle,
- /*IN*/ ULONG Flags,
- /*IN*/ POBJECT_ATTRIBUTES KeyObjectAttributes,
- /*IN*/ HANDLE EventHandle /*OPTIONAL*/,
- /*IN*/ PIO_APC_ROUTINE ApcRoutine /*OPTIONAL*/,
- /*IN*/ PVOID ApcContext /*OPTIONAL*/,
- /*OUT*/ PIO_STATUS_BLOCK IoStatusBlock,
- /*IN*/ ULONG NotifyFilter,
- /*IN*/ BOOLEAN WatchSubtree,
- /*IN*/ PVOID Buffer,
- /*IN*/ ULONG BufferLength,
- /*IN*/ BOOLEAN Asynchronous);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwQueryMultipleValueKey(
- /*IN*/ HANDLE KeyHandle,
- /*IN OUT*/ PKEY_VALUE_ENTRY ValueList,
- /*IN*/ ULONG NumberOfValues,
- /*OUT*/ PVOID Buffer,
- /*IN OUT*/ PULONG Length,
- /*OUT*/ PULONG ReturnLength);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwInitializeRegistry(
- /*IN*/ BOOLEAN Setup);
-
-
-
-
-/* Security and auditing */
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwPrivilegeCheck(
- /*IN*/ HANDLE TokenHandle,
- /*IN*/ PPRIVILEGE_SET RequiredPrivileges,
- /*OUT*/ PBOOLEAN Result);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwPrivilegeObjectAuditAlarm(
- /*IN*/ PUNICODE_STRING SubsystemName,
- /*IN*/ PVOID HandleId,
- /*IN*/ HANDLE TokenHandle,
- /*IN*/ ACCESS_MASK DesiredAccess,
- /*IN*/ PPRIVILEGE_SET Privileges,
- /*IN*/ BOOLEAN AccessGranted);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwPrivilegeObjectAuditAlarm(
- /*IN*/ PUNICODE_STRING SubsystemName,
- /*IN*/ PVOID HandleId,
- /*IN*/ HANDLE TokenHandle,
- /*IN*/ ACCESS_MASK DesiredAccess,
- /*IN*/ PPRIVILEGE_SET Privileges,
- /*IN*/ BOOLEAN AccessGranted);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwAccessCheck(
- /*IN*/ PSECURITY_DESCRIPTOR SecurityDescriptor,
- /*IN*/ HANDLE TokenHandle,
- /*IN*/ ACCESS_MASK DesiredAccess,
- /*IN*/ PGENERIC_MAPPING GenericMapping,
- /*IN*/ PPRIVILEGE_SET PrivilegeSet,
- /*IN*/ PULONG PrivilegeSetLength,
- /*OUT*/ PACCESS_MASK GrantedAccess,
- /*OUT*/ PBOOLEAN AccessStatus);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwAccessCheckAndAuditAlarm(
- /*IN*/ PUNICODE_STRING SubsystemName,
- /*IN*/ PVOID HandleId,
- /*IN*/ PUNICODE_STRING ObjectTypeName,
- /*IN*/ PUNICODE_STRING ObjectName,
- /*IN*/ PSECURITY_DESCRIPTOR SecurityDescriptor,
- /*IN*/ ACCESS_MASK DesiredAccess,
- /*IN*/ PGENERIC_MAPPING GenericMapping,
- /*IN*/ BOOLEAN ObjectCreation,
- /*OUT*/ PACCESS_MASK GrantedAccess,
- /*OUT*/ PBOOLEAN AccessStatus,
- /*OUT*/ PBOOLEAN GenerateOnClose);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwAccessCheckByType(
- /*IN*/ PSECURITY_DESCRIPTOR SecurityDescriptor,
- /*IN*/ PSID PrincipalSelfSid,
- /*IN*/ HANDLE TokenHandle,
- /*IN*/ ULONG DesiredAccess,
- /*IN*/ POBJECT_TYPE_LIST ObjectTypeList,
- /*IN*/ ULONG ObjectTypeListLength,
- /*IN*/ PGENERIC_MAPPING GenericMapping,
- /*IN*/ PPRIVILEGE_SET PrivilegeSet,
- /*IN*/ PULONG PrivilegeSetLength,
- /*OUT*/ PACCESS_MASK GrantedAccess,
- /*OUT*/ PULONG AccessStatus);
-
-typedef enum _AUDIT_EVENT_TYPE {
- AuditEventObjectAccess,
- AuditEventDirectoryServiceAccess
-} AUDIT_EVENT_TYPE, *PAUDIT_EVENT_TYPE;
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwAccessCheckByTypeAndAuditAlarm(
- /*IN*/ PUNICODE_STRING SubsystemName,
- /*IN*/ PVOID HandleId,
- /*IN*/ PUNICODE_STRING ObjectTypeName,
- /*IN*/ PUNICODE_STRING ObjectName,
- /*IN*/ PSECURITY_DESCRIPTOR SecurityDescriptor,
- /*IN*/ PSID PrincipalSelfSid,
- /*IN*/ ACCESS_MASK DesiredAccess,
- /*IN*/ AUDIT_EVENT_TYPE AuditType,
- /*IN*/ ULONG Flags,
- /*IN*/ POBJECT_TYPE_LIST ObjectTypeList,
- /*IN*/ ULONG ObjectTypeListLength,
- /*IN*/ PGENERIC_MAPPING GenericMapping,
- /*IN*/ BOOLEAN ObjectCreation,
- /*OUT*/ PACCESS_MASK GrantedAccess,
- /*OUT*/ PULONG AccessStatus,
- /*OUT*/ PBOOLEAN GenerateOnClose);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwAccessCheckByTypeResultList(
- /*IN*/ PSECURITY_DESCRIPTOR SecurityDescriptor,
- /*IN*/ PSID PrincipalSelfSid,
- /*IN*/ HANDLE TokenHandle,
- /*IN*/ ACCESS_MASK DesiredAccess,
- /*IN*/ POBJECT_TYPE_LIST ObjectTypeList,
- /*IN*/ ULONG ObjectTypeListLength,
- /*IN*/ PGENERIC_MAPPING GenericMapping,
- /*IN*/ PPRIVILEGE_SET PrivilegeSet,
- /*IN*/ PULONG PrivilegeSetLength,
- /*OUT*/ PACCESS_MASK GrantedAccessList,
- /*OUT*/ PULONG AccessStatusList);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwAccessCheckByTypeResultListAndAuditAlarm(
- /*IN*/ PUNICODE_STRING SubsystemName,
- /*IN*/ PVOID HandleId,
- /*IN*/ PUNICODE_STRING ObjectTypeName,
- /*IN*/ PUNICODE_STRING ObjectName,
- /*IN*/ PSECURITY_DESCRIPTOR SecurityDescriptor,
- /*IN*/ PSID PrincipalSelfSid,
- /*IN*/ ACCESS_MASK DesiredAccess,
- /*IN*/ AUDIT_EVENT_TYPE AuditType,
- /*IN*/ ULONG Flags,
- /*IN*/ POBJECT_TYPE_LIST ObjectTypeList,
- /*IN*/ ULONG ObjectTypeListLength,
- /*IN*/ PGENERIC_MAPPING GenericMapping,
- /*IN*/ BOOLEAN ObjectCreation,
- /*OUT*/ PACCESS_MASK GrantedAccessList,
- /*OUT*/ PULONG AccessStatusList,
- /*OUT*/ PULONG GenerateOnClose);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwAccessCheckByTypeResultListAndAuditAlarmByHandle(
- /*IN*/ PUNICODE_STRING SubsystemName,
- /*IN*/ PVOID HandleId,
- /*IN*/ HANDLE TokenHandle,
- /*IN*/ PUNICODE_STRING ObjectTypeName,
- /*IN*/ PUNICODE_STRING ObjectName,
- /*IN*/ PSECURITY_DESCRIPTOR SecurityDescriptor,
- /*IN*/ PSID PrincipalSelfSid,
- /*IN*/ ACCESS_MASK DesiredAccess,
- /*IN*/ AUDIT_EVENT_TYPE AuditType,
- /*IN*/ ULONG Flags,
- /*IN*/ POBJECT_TYPE_LIST ObjectTypeList,
- /*IN*/ ULONG ObjectTypeListLength,
- /*IN*/ PGENERIC_MAPPING GenericMapping,
- /*IN*/ BOOLEAN ObjectCreation,
- /*OUT*/ PACCESS_MASK GrantedAccessList,
- /*OUT*/ PULONG AccessStatusList,
- /*OUT*/ PULONG GenerateOnClose);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwOpenObjectAuditAlarm(
- /*IN*/ PUNICODE_STRING SubsystemName,
- /*IN*/ PVOID *HandleId,
- /*IN*/ PUNICODE_STRING ObjectTypeName,
- /*IN*/ PUNICODE_STRING ObjectName,
- /*IN*/ PSECURITY_DESCRIPTOR SecurityDescriptor,
- /*IN*/ HANDLE TokenHandle,
- /*IN*/ ACCESS_MASK DesiredAccess,
- /*IN*/ ACCESS_MASK GrantedAccess,
- /*IN*/ PPRIVILEGE_SET Privileges /*OPTIONAL*/,
- /*IN*/ BOOLEAN ObjectCreation,
- /*IN*/ BOOLEAN AccessGranted,
- /*OUT*/ PBOOLEAN GenerateOnClose);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwCloseObjectAuditAlarm(
- /*IN*/ PUNICODE_STRING SubsystemName,
- /*IN*/ PVOID HandleId,
- /*IN*/ BOOLEAN GenerateOnClose);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwDeleteObjectAuditAlarm(
- /*IN*/ PUNICODE_STRING SubsystemName,
- /*IN*/ PVOID HandleId,
- /*IN*/ BOOLEAN GenerateOnClose);
-
-
-
-
-/* Plug and play and power management */
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwRequestWakeupLatency(
- /*IN*/ LATENCY_TIME Latency);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwRequestDeviceWakeup(
- /*IN*/ HANDLE DeviceHandle);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwCancelDeviceWakeupRequest(
- /*IN*/ HANDLE DeviceHandle);
-
-NTOSAPI
-BOOLEAN
-NTAPI
-ZwIsSystemResumeAutomatic(
- VOID);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwSetThreadExecutionState(
- /*IN*/ EXECUTION_STATE ExecutionState,
- /*OUT*/ PEXECUTION_STATE PreviousExecutionState);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwGetDevicePowerState(
- /*IN*/ HANDLE DeviceHandle,
- /*OUT*/ PDEVICE_POWER_STATE DevicePowerState);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwSetSystemPowerState(
- /*IN*/ POWER_ACTION SystemAction,
- /*IN*/ SYSTEM_POWER_STATE MinSystemState,
- /*IN*/ ULONG Flags);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwInitiatePowerAction(
- /*IN*/ POWER_ACTION SystemAction,
- /*IN*/ SYSTEM_POWER_STATE MinSystemState,
- /*IN*/ ULONG Flags,
- /*IN*/ BOOLEAN Asynchronous);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwPowerInformation(
- /*IN*/ POWER_INFORMATION_LEVEL PowerInformationLevel,
- /*IN*/ PVOID InputBuffer /*OPTIONAL*/,
- /*IN*/ ULONG InputBufferLength,
- /*OUT*/ PVOID OutputBuffer /*OPTIONAL*/,
- /*IN*/ ULONG OutputBufferLength);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwPlugPlayControl(
- /*IN*/ ULONG ControlCode,
- /*IN OUT*/ PVOID Buffer,
- /*IN*/ ULONG BufferLength);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwGetPlugPlayEvent(
- /*IN*/ ULONG Reserved1,
- /*IN*/ ULONG Reserved2,
- /*OUT*/ PVOID Buffer,
- /*IN*/ ULONG BufferLength);
-
-
-
-
-/* Miscellany */
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwRaiseException(
- /*IN*/ PEXCEPTION_RECORD ExceptionRecord,
- /*IN*/ PCONTEXT Context,
- /*IN*/ BOOLEAN SearchFrames);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwContinue(
- /*IN*/ PCONTEXT Context,
- /*IN*/ BOOLEAN TestAlert);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwW32Call(
- /*IN*/ ULONG RoutineIndex,
- /*IN*/ PVOID Argument,
- /*IN*/ ULONG ArgumentLength,
- /*OUT*/ PVOID *Result /*OPTIONAL*/,
- /*OUT*/ PULONG ResultLength /*OPTIONAL*/);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwSetLowWaitHighThread(
- VOID);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwSetHighWaitLowThread(
- VOID);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwLoadDriver(
- /*IN*/ PUNICODE_STRING DriverServiceName);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwUnloadDriver(
- /*IN*/ PUNICODE_STRING DriverServiceName);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwFlushInstructionCache(
- /*IN*/ HANDLE ProcessHandle,
- /*IN*/ PVOID BaseAddress /*OPTIONAL*/,
- /*IN*/ ULONG FlushSize);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwFlushWriteBuffer(
- VOID);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwQueryDefaultLocale(
- /*IN*/ BOOLEAN ThreadOrSystem,
- /*OUT*/ PLCID Locale);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwSetDefaultLocale(
- /*IN*/ BOOLEAN ThreadOrSystem,
- /*IN*/ LCID Locale);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwQueryDefaultUILanguage(
- /*OUT*/ PLANGID LanguageId);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwSetDefaultUILanguage(
- /*IN*/ LANGID LanguageId);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwQueryInstallUILanguage(
- /*OUT*/ PLANGID LanguageId);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtAllocateLocallyUniqueId(
- /*OUT*/ PLUID Luid);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtAllocateUuids(
- /*OUT*/ PLARGE_INTEGER UuidLastTimeAllocated,
- /*OUT*/ PULONG UuidDeltaTime,
- /*OUT*/ PULONG UuidSequenceNumber,
- /*OUT*/ PUCHAR UuidSeed);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwSetUuidSeed(
- /*IN*/ PUCHAR UuidSeed);
-
-typedef enum _HARDERROR_RESPONSE_OPTION {
- OptionAbortRetryIgnore,
- OptionOk,
- OptionOkCancel,
- OptionRetryCancel,
- OptionYesNo,
- OptionYesNoCancel,
- OptionShutdownSystem
-} HARDERROR_RESPONSE_OPTION, *PHARDERROR_RESPONSE_OPTION;
-
-typedef enum _HARDERROR_RESPONSE {
- ResponseReturnToCaller,
- ResponseNotHandled,
- ResponseAbort,
- ResponseCancel,
- ResponseIgnore,
- ResponseNo,
- ResponseOk,
- ResponseRetry,
- ResponseYes
-} HARDERROR_RESPONSE, *PHARDERROR_RESPONSE;
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwRaiseHardError(
- /*IN*/ NTSTATUS Status,
- /*IN*/ ULONG NumberOfArguments,
- /*IN*/ ULONG StringArgumentsMask,
- /*IN*/ PULONG Arguments,
- /*IN*/ HARDERROR_RESPONSE_OPTION ResponseOption,
- /*OUT*/ PHARDERROR_RESPONSE Response);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwSetDefaultHardErrorPort(
- /*IN*/ HANDLE PortHandle);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwDisplayString(
- /*IN*/ PUNICODE_STRING String);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwCreatePagingFile(
- /*IN*/ PUNICODE_STRING FileName,
- /*IN*/ PULARGE_INTEGER InitialSize,
- /*IN*/ PULARGE_INTEGER MaximumSize,
- /*IN*/ ULONG Reserved);
-
-typedef USHORT RTL_ATOM, *PRTL_ATOM;
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtAddAtom(
- /*IN*/ PWSTR AtomName,
- /*IN*/ ULONG AtomNameLength,
- /*OUT*/ PRTL_ATOM Atom);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtFindAtom(
- /*IN*/ PWSTR AtomName,
- /*IN*/ ULONG AtomNameLength,
- /*OUT*/ PRTL_ATOM Atom);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtDeleteAtom(
- /*IN*/ RTL_ATOM Atom);
-
-typedef enum _ATOM_INFORMATION_CLASS {
- AtomBasicInformation,
- AtomListInformation
-} ATOM_INFORMATION_CLASS;
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtQueryInformationAtom(
- /*IN*/ RTL_ATOM Atom,
- /*IN*/ ATOM_INFORMATION_CLASS AtomInformationClass,
- /*OUT*/ PVOID AtomInformation,
- /*IN*/ ULONG AtomInformationLength,
- /*OUT*/ PULONG ReturnLength /*OPTIONAL*/);
-
-typedef struct _ATOM_BASIC_INFORMATION {
- USHORT ReferenceCount;
- USHORT Pinned;
- USHORT NameLength;
- WCHAR Name[1];
-} ATOM_BASIC_INFORMATION, *PATOM_BASIC_INFORMATION;
-
-typedef struct _ATOM_LIST_INFORMATION {
- ULONG NumberOfAtoms;
- ATOM Atoms[1];
-} ATOM_LIST_INFORMATION, *PATOM_LIST_INFORMATION;
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwSetLdtEntries(
- /*IN*/ ULONG Selector1,
- /*IN*/ LDT_ENTRY LdtEntry1,
- /*IN*/ ULONG Selector2,
- /*IN*/ LDT_ENTRY LdtEntry2);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtVdmControl(
- /*IN*/ ULONG ControlCode,
- /*IN*/ PVOID ControlData);
-
-#pragma pack(pop)
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NTAPI_H */
diff --git a/winsup/w32api/include/ddk/ntdd8042.h b/winsup/w32api/include/ddk/ntdd8042.h
deleted file mode 100644
index 9701792a7..000000000
--- a/winsup/w32api/include/ddk/ntdd8042.h
+++ /dev/null
@@ -1,213 +0,0 @@
-/*
- * ntdd8042.h
- *
- * i8042 IOCTL 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 __NTDD8042_H
-#define __NTDD8042_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-#include "ntddkbd.h"
-#include "ntddmou.h"
-
-#define IOCTL_INTERNAL_I8042_CONTROLLER_WRITE_BUFFER \
- CTL_CODE(FILE_DEVICE_KEYBOARD, 0x0FF2, METHOD_NEITHER, FILE_ANY_ACCESS)
-
-#define IOCTL_INTERNAL_I8042_HOOK_KEYBOARD \
- CTL_CODE(FILE_DEVICE_KEYBOARD, 0x0FF0, METHOD_NEITHER, FILE_ANY_ACCESS)
-
-#define IOCTL_INTERNAL_I8042_KEYBOARD_START_INFORMATION \
- CTL_CODE(FILE_DEVICE_KEYBOARD, 0x0FF3, METHOD_NEITHER, FILE_ANY_ACCESS)
-
-#define IOCTL_INTERNAL_I8042_KEYBOARD_WRITE_BUFFER \
- CTL_CODE(FILE_DEVICE_KEYBOARD, 0x0FF1, METHOD_NEITHER, FILE_ANY_ACCESS)
-
-#define IOCTL_INTERNAL_I8042_HOOK_MOUSE \
- CTL_CODE(FILE_DEVICE_MOUSE, 0x0FF0, METHOD_NEITHER, FILE_ANY_ACCESS)
-
-#define IOCTL_INTERNAL_I8042_MOUSE_START_INFORMATION \
- CTL_CODE(FILE_DEVICE_MOUSE, 0x0FF3, METHOD_NEITHER, FILE_ANY_ACCESS)
-
-#define IOCTL_INTERNAL_I8042_MOUSE_WRITE_BUFFER \
- CTL_CODE(FILE_DEVICE_MOUSE, 0x0FF1, METHOD_NEITHER, FILE_ANY_ACCESS)
-
-#define I8042_POWER_SYS_BUTTON 0x0001
-#define I8042_SLEEP_SYS_BUTTON 0x0002
-#define I8042_WAKE_SYS_BUTTON 0x0004
-#define I8042_SYS_BUTTONS (I8042_POWER_SYS_BUTTON | \
- I8042_SLEEP_SYS_BUTTON | \
- I8042_WAKE_SYS_BUTTON)
-
-typedef enum _TRANSMIT_STATE {
- Idle = 0,
- SendingBytes
-} TRANSMIT_STATE;
-
-typedef struct _OUTPUT_PACKET {
- PUCHAR Bytes;
- ULONG CurrentByte;
- ULONG ByteCount;
- TRANSMIT_STATE State;
-} OUTPUT_PACKET, *POUTPUT_PACKET;
-
-typedef enum _KEYBOARD_SCAN_STATE {
- Normal,
- GotE0,
- GotE1
-} KEYBOARD_SCAN_STATE, *PKEYBOARD_SCAN_STATE;
-
-typedef enum _MOUSE_STATE {
- MouseIdle,
- XMovement,
- YMovement,
- ZMovement,
- MouseExpectingACK,
- MouseResetting
-} MOUSE_STATE, *PMOUSE_STATE;
-
-typedef enum _MOUSE_RESET_SUBSTATE {
- ExpectingReset,
- ExpectingResetId,
- ExpectingGetDeviceIdACK,
- ExpectingGetDeviceIdValue,
- ExpectingSetResolutionDefaultACK,
- ExpectingSetResolutionDefaultValueACK,
- ExpectingSetResolutionACK,
- ExpectingSetResolutionValueACK,
- ExpectingSetScaling1to1ACK,
- ExpectingSetScaling1to1ACK2,
- ExpectingSetScaling1to1ACK3,
- ExpectingReadMouseStatusACK,
- ExpectingReadMouseStatusByte1,
- ExpectingReadMouseStatusByte2,
- ExpectingReadMouseStatusByte3,
- StartPnPIdDetection,
- ExpectingLoopSetSamplingRateACK,
- ExpectingLoopSetSamplingRateValueACK,
- ExpectingPnpIdByte1,
- ExpectingPnpIdByte2,
- ExpectingPnpIdByte3,
- ExpectingPnpIdByte4,
- ExpectingPnpIdByte5,
- ExpectingPnpIdByte6,
- ExpectingPnpIdByte7,
- EnableWheel,
- Enable5Buttons,
- ExpectingGetDeviceId2ACK,
- ExpectingGetDeviceId2Value,
- ExpectingSetSamplingRateACK,
- ExpectingSetSamplingRateValueACK,
- ExpectingEnableACK,
- ExpectingFinalResolutionACK,
- ExpectingFinalResolutionValueACK,
- ExpectingGetDeviceIdDetectACK,
- ExpectingGetDeviceIdDetectValue,
- CustomHookStateMinimum = 100,
- CustomHookStateMaximum = 999,
- I8042ReservedMinimum = 1000
-} MOUSE_RESET_SUBSTATE, *PMOUSE_RESET_SUBSTATE;
-
-typedef struct _INTERNAL_I8042_START_INFORMATION {
- ULONG Size;
- PKINTERRUPT InterruptObject;
- ULONG Reserved[8];
-} INTERNAL_I8042_START_INFORMATION, *PINTERNAL_I8042_START_INFORMATION;
-
-typedef VOID DDKAPI
-(*PI8042_ISR_WRITE_PORT)(
- /*IN*/ PVOID Context,
- /*IN*/ UCHAR Value);
-
-typedef VOID DDKAPI
-(*PI8042_QUEUE_PACKET)(
- /*IN*/ PVOID Context);
-
-typedef NTSTATUS DDKAPI
-(*PI8042_SYNCH_READ_PORT) (
- /*IN*/ PVOID Context,
- /*OUT*/ PUCHAR Value,
- /*IN*/ BOOLEAN WaitForACK);
-
-typedef NTSTATUS DDKAPI
-(*PI8042_SYNCH_WRITE_PORT)(
- /*IN*/ PVOID Context,
- /*IN*/ UCHAR Value,
- /*IN*/ BOOLEAN WaitForACK);
-
-
-typedef NTSTATUS DDKAPI
-(*PI8042_KEYBOARD_INITIALIZATION_ROUTINE)(
- /*IN*/ PVOID InitializationContext,
- /*IN*/ PVOID SynchFuncContext,
- /*IN*/ PI8042_SYNCH_READ_PORT ReadPort,
- /*IN*/ PI8042_SYNCH_WRITE_PORT WritePort,
- /*OUT*/ PBOOLEAN TurnTranslationOn);
-
-typedef BOOLEAN DDKAPI
-(*PI8042_KEYBOARD_ISR)(
- PVOID IsrContext,
- PKEYBOARD_INPUT_DATA CurrentInput,
- POUTPUT_PACKET CurrentOutput,
- UCHAR StatusByte,
- PUCHAR Byte,
- PBOOLEAN ContinueProcessing,
- PKEYBOARD_SCAN_STATE ScanState);
-
-typedef struct _INTERNAL_I8042_HOOK_KEYBOARD {
- /*OUT*/ PVOID Context;
- /*OUT*/ PI8042_KEYBOARD_INITIALIZATION_ROUTINE InitializationRoutine;
- /*OUT*/ PI8042_KEYBOARD_ISR IsrRoutine;
- /*IN*/ PI8042_ISR_WRITE_PORT IsrWritePort;
- /*IN*/ PI8042_QUEUE_PACKET QueueKeyboardPacket;
- /*IN*/ PVOID CallContext;
-} INTERNAL_I8042_HOOK_KEYBOARD, *PINTERNAL_I8042_HOOK_KEYBOARD;
-
-typedef BOOLEAN DDKAPI
-(*PI8042_MOUSE_ISR)(
- PVOID IsrContext,
- PMOUSE_INPUT_DATA CurrentInput,
- POUTPUT_PACKET CurrentOutput,
- UCHAR StatusByte,
- PUCHAR Byte,
- PBOOLEAN ContinueProcessing,
- PMOUSE_STATE MouseState,
- PMOUSE_RESET_SUBSTATE ResetSubState);
-
-typedef struct _INTERNAL_I8042_HOOK_MOUSE {
- /*OUT*/ PVOID Context;
- /*OUT*/ PI8042_MOUSE_ISR IsrRoutine;
- /*IN*/ PI8042_ISR_WRITE_PORT IsrWritePort;
- /*IN*/ PI8042_QUEUE_PACKET QueueMousePacket;
- /*IN*/ PVOID CallContext;
-} INTERNAL_I8042_HOOK_MOUSE, *PINTERNAL_I8042_HOOK_MOUSE;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NTDD8042_H */
diff --git a/winsup/w32api/include/ddk/ntddbeep.h b/winsup/w32api/include/ddk/ntddbeep.h
deleted file mode 100644
index 6052a0948..000000000
--- a/winsup/w32api/include/ddk/ntddbeep.h
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * ntddbeep.h
- *
- * Beep device IOCTL 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 __NTDDBEEP_H
-#define __NTDDBEEP_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-
-#define DD_BEEP_DEVICE_NAME "\\Device\\Beep"
-#define DD_BEEP_DEVICE_NAME_U L"\\Device\\Beep"
-
-#define IOCTL_BEEP_SET \
- CTL_CODE(FILE_DEVICE_BEEP, 0, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-typedef struct _BEEP_SET_PARAMETERS {
- ULONG Frequency;
- ULONG Duration;
-} BEEP_SET_PARAMETERS, *PBEEP_SET_PARAMETERS;
-
-#define BEEP_FREQUENCY_MINIMUM 0x25
-#define BEEP_FREQUENCY_MAXIMUM 0x7FFF
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NTDDBEEP_H */
diff --git a/winsup/w32api/include/ddk/ntddcdrm.h b/winsup/w32api/include/ddk/ntddcdrm.h
deleted file mode 100644
index 49cf29dd2..000000000
--- a/winsup/w32api/include/ddk/ntddcdrm.h
+++ /dev/null
@@ -1,347 +0,0 @@
-/*
- * ntddcdrm.h
- *
- * CDROM IOCTL 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 __NTDDCDRM_H
-#define __NTDDCDRM_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-#include "ntddstor.h"
-
-#define IOCTL_CDROM_BASE FILE_DEVICE_CD_ROM
-
-#define IOCTL_CDROM_CHECK_VERIFY \
- CTL_CODE(IOCTL_CDROM_BASE, 0x0200, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_CDROM_FIND_NEW_DEVICES \
- CTL_CODE(IOCTL_CDROM_BASE, 0x0206, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_CDROM_GET_CONTROL \
- CTL_CODE(IOCTL_CDROM_BASE, 0x000D, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_CDROM_GET_DRIVE_GEOMETRY \
- CTL_CODE(IOCTL_CDROM_BASE, 0x0013, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_CDROM_GET_LAST_SESSION \
- CTL_CODE(IOCTL_CDROM_BASE, 0x000E, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_CDROM_GET_VOLUME \
- CTL_CODE(IOCTL_CDROM_BASE, 0x0005, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_CDROM_PAUSE_AUDIO \
- CTL_CODE(IOCTL_CDROM_BASE, 0x0003, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_CDROM_PLAY_AUDIO_MSF \
- CTL_CODE(IOCTL_CDROM_BASE, 0x0006, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_CDROM_RAW_READ \
- CTL_CODE(IOCTL_CDROM_BASE, 0x000F, METHOD_OUT_DIRECT, FILE_READ_ACCESS)
-
-#define IOCTL_CDROM_READ_Q_CHANNEL \
- CTL_CODE(IOCTL_CDROM_BASE, 0x000B, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_CDROM_READ_TOC \
- CTL_CODE(IOCTL_CDROM_BASE, 0x0000, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_CDROM_READ_TOC_EX \
- CTL_CODE(IOCTL_CDROM_BASE, 0x0015, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_CDROM_RESUME_AUDIO \
- CTL_CODE(IOCTL_CDROM_BASE, 0x0004, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_CDROM_SEEK_AUDIO_MSF \
- CTL_CODE(IOCTL_CDROM_BASE, 0x0001, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_CDROM_SET_VOLUME \
- CTL_CODE(IOCTL_CDROM_BASE, 0x000A, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_CDROM_SIMBAD \
- CTL_CODE(IOCTL_CDROM_BASE, 0x1003, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_CDROM_STOP_AUDIO \
- CTL_CODE(IOCTL_CDROM_BASE, 0x0002, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-
-#define MAXIMUM_NUMBER_TRACKS 100
-#define MAXIMUM_CDROM_SIZE 804
-#define MINIMUM_CDROM_READ_TOC_EX_SIZE 2
-
-typedef struct _TRACK_DATA {
- UCHAR Reserved;
- UCHAR Control : 4;
- UCHAR Adr : 4;
- UCHAR TrackNumber;
- UCHAR Reserved1;
- UCHAR Address[4];
-} TRACK_DATA, *PTRACK_DATA;
-
-/* CDROM_DISK_DATA.DiskData flags */
-#define CDROM_DISK_AUDIO_TRACK 0x00000001
-#define CDROM_DISK_DATA_TRACK 0x00000002
-
-typedef struct _CDROM_DISK_DATA {
- ULONG DiskData;
-} CDROM_DISK_DATA, *PCDROM_DISK_DATA;
-
-typedef struct _CDROM_PLAY_AUDIO_MSF {
- UCHAR StartingM;
- UCHAR StartingS;
- UCHAR StartingF;
- UCHAR EndingM;
- UCHAR EndingS;
- UCHAR EndingF;
-} CDROM_PLAY_AUDIO_MSF, *PCDROM_PLAY_AUDIO_MSF;
-
-/* CDROM_READ_TOC_EX.Format constants */
-#define CDROM_READ_TOC_EX_FORMAT_TOC 0x00
-#define CDROM_READ_TOC_EX_FORMAT_SESSION 0x01
-#define CDROM_READ_TOC_EX_FORMAT_FULL_TOC 0x02
-#define CDROM_READ_TOC_EX_FORMAT_PMA 0x03
-#define CDROM_READ_TOC_EX_FORMAT_ATIP 0x04
-#define CDROM_READ_TOC_EX_FORMAT_CDTEXT 0x05
-
-typedef struct _CDROM_READ_TOC_EX {
- UCHAR Format : 4;
- UCHAR Reserved1 : 3;
- UCHAR Msf : 1;
- UCHAR SessionTrack;
- UCHAR Reserved2;
- UCHAR Reserved3;
-} CDROM_READ_TOC_EX, *PCDROM_READ_TOC_EX;
-
-typedef struct _CDROM_SEEK_AUDIO_MSF {
- UCHAR M;
- UCHAR S;
- UCHAR F;
-} CDROM_SEEK_AUDIO_MSF, *PCDROM_SEEK_AUDIO_MSF;
-
-/* CDROM_SUB_Q_DATA_FORMAT.Format constants */
-#define IOCTL_CDROM_SUB_Q_CHANNEL 0x00
-#define IOCTL_CDROM_CURRENT_POSITION 0x01
-#define IOCTL_CDROM_MEDIA_CATALOG 0x02
-#define IOCTL_CDROM_TRACK_ISRC 0x03
-
-typedef struct _CDROM_SUB_Q_DATA_FORMAT {
- UCHAR Format;
- UCHAR Track;
-} CDROM_SUB_Q_DATA_FORMAT, *PCDROM_SUB_Q_DATA_FORMAT;
-
-typedef struct _CDROM_TOC {
- UCHAR Length[2];
- UCHAR FirstTrack;
- UCHAR LastTrack;
- TRACK_DATA TrackData[MAXIMUM_NUMBER_TRACKS];
-} CDROM_TOC, *PCDROM_TOC;
-
-#define CDROM_TOC_SIZE sizeof(CDROM_TOC)
-
-typedef struct _CDROM_TOC_ATIP_DATA_BLOCK {
- UCHAR CdrwReferenceSpeed : 3;
- UCHAR Reserved3 : 1;
- UCHAR WritePower : 3;
- UCHAR True1 : 1;
- UCHAR Reserved4 : 6;
- UCHAR UnrestrictedUse : 1;
- UCHAR Reserved5 : 1;
- UCHAR A3Valid : 1;
- UCHAR A2Valid : 1;
- UCHAR A1Valid : 1;
- UCHAR Reserved6 : 3;
- UCHAR IsCdrw : 1;
- UCHAR True2 : 1;
- UCHAR Reserved7;
- UCHAR LeadInMsf[3];
- UCHAR Reserved8;
- UCHAR LeadOutMsf[3];
- UCHAR Reserved9;
- UCHAR A1Values[3];
- UCHAR Reserved10;
- UCHAR A2Values[3];
- UCHAR Reserved11;
- UCHAR A3Values[3];
- UCHAR Reserved12;
-} CDROM_TOC_ATIP_DATA_BLOCK, *PCDROM_TOC_ATIP_DATA_BLOCK;
-
-typedef struct _CDROM_TOC_ATIP_DATA {
- UCHAR Length[2];
- UCHAR Reserved1;
- UCHAR Reserved2;
- CDROM_TOC_ATIP_DATA_BLOCK Descriptors[0];
-} CDROM_TOC_ATIP_DATA, *PCDROM_TOC_ATIP_DATA;
-
-/* CDROM_TOC_CD_TEXT_DATA_BLOCK.PackType constants */
-#define CDROM_CD_TEXT_PACK_ALBUM_NAME 0x80
-#define CDROM_CD_TEXT_PACK_PERFORMER 0x81
-#define CDROM_CD_TEXT_PACK_SONGWRITER 0x82
-#define CDROM_CD_TEXT_PACK_COMPOSER 0x83
-#define CDROM_CD_TEXT_PACK_ARRANGER 0x84
-#define CDROM_CD_TEXT_PACK_MESSAGES 0x85
-#define CDROM_CD_TEXT_PACK_DISC_ID 0x86
-#define CDROM_CD_TEXT_PACK_GENRE 0x87
-#define CDROM_CD_TEXT_PACK_TOC_INFO 0x88
-#define CDROM_CD_TEXT_PACK_TOC_INFO2 0x89
-#define CDROM_CD_TEXT_PACK_UPC_EAN 0x8e
-#define CDROM_CD_TEXT_PACK_SIZE_INFO 0x8f
-
-typedef struct _CDROM_TOC_CD_TEXT_DATA_BLOCK {
- UCHAR PackType;
- UCHAR TrackNumber : 7;
- UCHAR ExtensionFlag : 1;
- UCHAR SequenceNumber;
- UCHAR CharacterPosition : 4;
- UCHAR BlockNumber : 3;
- UCHAR Unicode : 1;
- _ANONYMOUS_UNION union {
- UCHAR Text[12];
- WCHAR WText[6];
- } DUMMYUNIONNAME;
- UCHAR CRC[2];
-} CDROM_TOC_CD_TEXT_DATA_BLOCK, *PCDROM_TOC_CD_TEXT_DATA_BLOCK;
-
-typedef struct _CDROM_TOC_CD_TEXT_DATA {
- UCHAR Length[2];
- UCHAR Reserved1;
- UCHAR Reserved2;
- CDROM_TOC_CD_TEXT_DATA_BLOCK Descriptors[0];
-} CDROM_TOC_CD_TEXT_DATA, *PCDROM_TOC_CD_TEXT_DATA;
-
-/* CDROM_TOC_FULL_TOC_DATA_BLOCK.Adr constants */
-#define ADR_NO_MODE_INFORMATION 0x0
-#define ADR_ENCODES_CURRENT_POSITION 0x1
-#define ADR_ENCODES_MEDIA_CATALOG 0x2
-#define ADR_ENCODES_ISRC 0x3
-
-typedef struct _CDROM_TOC_FULL_TOC_DATA_BLOCK {
- UCHAR SessionNumber;
- UCHAR Control : 4;
- UCHAR Adr : 4;
- UCHAR Reserved1;
- UCHAR Point;
- UCHAR MsfExtra[3];
- UCHAR Zero;
- UCHAR Msf[3];
-} CDROM_TOC_FULL_TOC_DATA_BLOCK, *PCDROM_TOC_FULL_TOC_DATA_BLOCK;
-
-typedef struct _CDROM_TOC_FULL_TOC_DATA {
- UCHAR Length[2];
- UCHAR FirstCompleteSession;
- UCHAR LastCompleteSession;
- CDROM_TOC_FULL_TOC_DATA_BLOCK Descriptors[0];
-} CDROM_TOC_FULL_TOC_DATA, *PCDROM_TOC_FULL_TOC_DATA;
-
-typedef struct _CDROM_TOC_PMA_DATA {
- UCHAR Length[2];
- UCHAR Reserved1;
- UCHAR Reserved2;
- CDROM_TOC_FULL_TOC_DATA_BLOCK Descriptors[0];
-} CDROM_TOC_PMA_DATA, *PCDROM_TOC_PMA_DATA;
-
-/* SUB_Q_HEADER.AudioStatus constants */
-#define AUDIO_STATUS_NOT_SUPPORTED 0x00
-#define AUDIO_STATUS_IN_PROGRESS 0x11
-#define AUDIO_STATUS_PAUSED 0x12
-#define AUDIO_STATUS_PLAY_COMPLETE 0x13
-#define AUDIO_STATUS_PLAY_ERROR 0x14
-#define AUDIO_STATUS_NO_STATUS 0x15
-
-typedef struct _SUB_Q_HEADER {
- UCHAR Reserved;
- UCHAR AudioStatus;
- UCHAR DataLength[2];
-} SUB_Q_HEADER, *PSUB_Q_HEADER;
-
-typedef struct _SUB_Q_MEDIA_CATALOG_NUMBER {
- SUB_Q_HEADER Header;
- UCHAR FormatCode;
- UCHAR Reserved[3];
- UCHAR Reserved1 : 7;
- UCHAR Mcval :1;
- UCHAR MediaCatalog[15];
-} SUB_Q_MEDIA_CATALOG_NUMBER, *PSUB_Q_MEDIA_CATALOG_NUMBER;
-
-typedef struct _SUB_Q_TRACK_ISRC {
- SUB_Q_HEADER Header;
- UCHAR FormatCode;
- UCHAR Reserved0;
- UCHAR Track;
- UCHAR Reserved1;
- UCHAR Reserved2 : 7;
- UCHAR Tcval : 1;
- UCHAR TrackIsrc[15];
-} SUB_Q_TRACK_ISRC, *PSUB_Q_TRACK_ISRC;
-
-typedef struct _SUB_Q_CURRENT_POSITION {
- SUB_Q_HEADER Header;
- UCHAR FormatCode;
- UCHAR Control : 4;
- UCHAR ADR : 4;
- UCHAR TrackNumber;
- UCHAR IndexNumber;
- UCHAR AbsoluteAddress[4];
- UCHAR TrackRelativeAddress[4];
-} SUB_Q_CURRENT_POSITION, *PSUB_Q_CURRENT_POSITION;
-
-typedef union _SUB_Q_CHANNEL_DATA {
- SUB_Q_CURRENT_POSITION CurrentPosition;
- SUB_Q_MEDIA_CATALOG_NUMBER MediaCatalog;
- SUB_Q_TRACK_ISRC TrackIsrc;
-} SUB_Q_CHANNEL_DATA, *PSUB_Q_CHANNEL_DATA;
-
-/* CDROM_AUDIO_CONTROL.LbaFormat constants */
-#define AUDIO_WITH_PREEMPHASIS 0x1
-#define DIGITAL_COPY_PERMITTED 0x2
-#define AUDIO_DATA_TRACK 0x4
-#define TWO_FOUR_CHANNEL_AUDIO 0x8
-
-typedef struct _CDROM_AUDIO_CONTROL {
- UCHAR LbaFormat;
- USHORT LogicalBlocksPerSecond;
-} CDROM_AUDIO_CONTROL, *PCDROM_AUDIO_CONTROL;
-
-typedef struct _VOLUME_CONTROL {
- UCHAR PortVolume[4];
-} VOLUME_CONTROL, *PVOLUME_CONTROL;
-
-typedef enum _TRACK_MODE_TYPE {
- YellowMode2,
- XAForm2,
- CDDA
-} TRACK_MODE_TYPE, *PTRACK_MODE_TYPE;
-
-typedef struct __RAW_READ_INFO {
- LARGE_INTEGER DiskOffset;
- ULONG SectorCount;
- TRACK_MODE_TYPE TrackMode;
-} RAW_READ_INFO, *PRAW_READ_INFO;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NTDDCDRM_H */
diff --git a/winsup/w32api/include/ddk/ntddcdvd.h b/winsup/w32api/include/ddk/ntddcdvd.h
deleted file mode 100644
index 82c2a60ff..000000000
--- a/winsup/w32api/include/ddk/ntddcdvd.h
+++ /dev/null
@@ -1,213 +0,0 @@
-/*
- * ntddcdvd.h
- *
- * DVD IOCTL 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 __NTDDCDVD_H
-#define __NTDDCDVD_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-#include "ntddstor.h"
-
-#define IOCTL_DVD_BASE FILE_DEVICE_DVD
-
-#define IOCTL_DVD_END_SESSION \
- CTL_CODE(IOCTL_DVD_BASE, 0x0403, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_DVD_GET_REGION \
- CTL_CODE(IOCTL_DVD_BASE, 0x0405, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_DVD_READ_KEY \
- CTL_CODE(IOCTL_DVD_BASE, 0x0401, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_DVD_READ_STRUCTURE \
- CTL_CODE(IOCTL_DVD_BASE, 0x0450, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_DVD_SEND_KEY \
- CTL_CODE(IOCTL_DVD_BASE, 0x0402, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_DVD_START_SESSION \
- CTL_CODE(IOCTL_DVD_BASE, 0x0400, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_DVD_SET_READ_AHEAD \
- CTL_CODE(IOCTL_DVD_BASE, 0x0404, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-
-typedef ULONG DVD_SESSION_ID, *PDVD_SESSION_ID;
-
-typedef struct _STORAGE_SET_READ_AHEAD {
- LARGE_INTEGER TriggerAddress;
- LARGE_INTEGER TargetAddress;
-} STORAGE_SET_READ_AHEAD, *PSTORAGE_SET_READ_AHEAD;
-
-typedef enum DVD_STRUCTURE_FORMAT {
- DvdPhysicalDescriptor,
- DvdCopyrightDescriptor,
- DvdDiskKeyDescriptor,
- DvdBCADescriptor,
- DvdManufacturerDescriptor,
- DvdMaxDescriptor
-} DVD_STRUCTURE_FORMAT, *PDVD_STRUCTURE_FORMAT;
-
-#include <pshpack1.h>
-typedef struct DVD_READ_STRUCTURE {
- LARGE_INTEGER BlockByteOffset;
- DVD_STRUCTURE_FORMAT Format;
- DVD_SESSION_ID SessionId;
- UCHAR LayerNumber;
-} DVD_READ_STRUCTURE, *PDVD_READ_STRUCTURE;
-#include <poppack.h>
-
-typedef struct _DVD_DESCRIPTOR_HEADER {
- USHORT Length;
- UCHAR Reserved[2];
- UCHAR Data[0];
-} DVD_DESCRIPTOR_HEADER, *PDVD_DESCRIPTOR_HEADER;
-
-#include <pshpack1.h>
-typedef struct _DVD_LAYER_DESCRIPTOR {
- UCHAR BookVersion : 4;
- UCHAR BookType : 4;
- UCHAR MinimumRate : 4;
- UCHAR DiskSize : 4;
- UCHAR LayerType : 4;
- UCHAR TrackPath : 1;
- UCHAR NumberOfLayers : 2;
- UCHAR Reserved1 : 1;
- UCHAR TrackDensity : 4;
- UCHAR LinearDensity : 4;
- ULONG StartingDataSector;
- ULONG EndDataSector;
- ULONG EndLayerZeroSector;
- UCHAR Reserved5 : 7;
- UCHAR BCAFlag : 1;
- UCHAR Reserved6;
-} DVD_LAYER_DESCRIPTOR, *PDVD_LAYER_DESCRIPTOR;
-#include <poppack.h>
-
-typedef struct _DVD_COPYRIGHT_DESCRIPTOR {
- UCHAR CopyrightProtectionType;
- UCHAR RegionManagementInformation;
- USHORT Reserved;
-} DVD_COPYRIGHT_DESCRIPTOR, *PDVD_COPYRIGHT_DESCRIPTOR;
-
-typedef struct _DVD_DISK_KEY_DESCRIPTOR {
- UCHAR DiskKeyData[2048];
-} DVD_DISK_KEY_DESCRIPTOR, *PDVD_DISK_KEY_DESCRIPTOR;
-
-typedef enum _DVD_KEY_TYPE {
- DvdChallengeKey = 0x01,
- DvdBusKey1,
- DvdBusKey2,
- DvdTitleKey,
- DvdAsf,
- DvdSetRpcKey = 0x6,
- DvdGetRpcKey = 0x8,
- DvdDiskKey = 0x80,
- DvdInvalidateAGID = 0x3f
-} DVD_KEY_TYPE;
-
-typedef struct _DVD_COPY_PROTECT_KEY {
- ULONG KeyLength;
- DVD_SESSION_ID SessionId;
- DVD_KEY_TYPE KeyType;
- ULONG KeyFlags;
- union {
- HANDLE FileHandle;
- LARGE_INTEGER TitleOffset;
- } Parameters;
- UCHAR KeyData[0];
-} DVD_COPY_PROTECT_KEY, *PDVD_COPY_PROTECT_KEY;
-
-#define DVD_CHALLENGE_KEY_LENGTH (12 + sizeof(DVD_COPY_PROTECT_KEY))
-#define DVD_BUS_KEY_LENGTH (8 + sizeof(DVD_COPY_PROTECT_KEY))
-#define DVD_TITLE_KEY_LENGTH (8 + sizeof(DVD_COPY_PROTECT_KEY))
-#define DVD_DISK_KEY_LENGTH (2048 + sizeof(DVD_COPY_PROTECT_KEY))
-#define DVD_RPC_KEY_LENGTH (sizeof(DVD_RPC_KEY) + sizeof(DVD_COPY_PROTECT_KEY))
-#define DVD_SET_RPC_KEY_LENGTH (sizeof(DVD_SET_RPC_KEY) + sizeof(DVD_COPY_PROTECT_KEY))
-#define DVD_ASF_LENGTH (sizeof(DVD_ASF) + sizeof(DVD_COPY_PROTECT_KEY))
-
-#define DVD_END_ALL_SESSIONS ((DVD_SESSION_ID) 0xffffffff)
-
-
-#define DVD_CGMS_RESERVED_MASK 0x00000078
-
-#define DVD_CGMS_COPY_PROTECT_MASK 0x00000018
-#define DVD_CGMS_COPY_PERMITTED 0x00000000
-#define DVD_CGMS_COPY_ONCE 0x00000010
-#define DVD_CGMS_NO_COPY 0x00000018
-
-#define DVD_COPYRIGHT_MASK 0x00000040
-#define DVD_NOT_COPYRIGHTED 0x00000000
-#define DVD_COPYRIGHTED 0x00000040
-
-#define DVD_SECTOR_PROTECT_MASK 0x00000020
-#define DVD_SECTOR_NOT_PROTECTED 0x00000000
-#define DVD_SECTOR_PROTECTED 0x00000020
-
-
-typedef struct _DVD_BCA_DESCRIPTOR {
- UCHAR BCAInformation[0];
-} DVD_BCA_DESCRIPTOR, *PDVD_BCA_DESCRIPTOR;
-
-typedef struct _DVD_MANUFACTURER_DESCRIPTOR {
- UCHAR ManufacturingInformation[2048];
-} DVD_MANUFACTURER_DESCRIPTOR, *PDVD_MANUFACTURER_DESCRIPTOR;
-
-typedef struct _DVD_RPC_KEY {
- UCHAR UserResetsAvailable : 3;
- UCHAR ManufacturerResetsAvailable : 3;
- UCHAR TypeCode : 2;
- UCHAR RegionMask;
- UCHAR RpcScheme;
- UCHAR Reserved2[1];
-} DVD_RPC_KEY, *PDVD_RPC_KEY;
-
-typedef struct _DVD_SET_RPC_KEY {
- UCHAR PreferredDriveRegionCode;
- UCHAR Reserved[3];
-} DVD_SET_RPC_KEY, *PDVD_SET_RPC_KEY;
-
-typedef struct _DVD_ASF {
- UCHAR Reserved0[3];
- UCHAR SuccessFlag : 1;
- UCHAR Reserved1 : 7;
-} DVD_ASF, *PDVD_ASF;
-
-typedef struct _DVD_REGION {
- UCHAR CopySystem;
- UCHAR RegionData;
- UCHAR SystemRegion;
- UCHAR ResetCount;
-} DVD_REGION, *PDVD_REGION;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NTDDCDVD_H */
diff --git a/winsup/w32api/include/ddk/ntddchgr.h b/winsup/w32api/include/ddk/ntddchgr.h
deleted file mode 100644
index 8c9e81e81..000000000
--- a/winsup/w32api/include/ddk/ntddchgr.h
+++ /dev/null
@@ -1,353 +0,0 @@
-/*
- * ntddchgr.h
- *
- * Media changer IOCTL 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 __NTDDCHGR_H
-#define __NTDDCHGR_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-#include "ntddstor.h"
-
-#define DD_CHANGER_DEVICE_NAME "\\Device\\Changer"
-#define DD_CHANGER_DEVICE_NAME_U L"\\Device\\Changer"
-
-#define IOCTL_CHANGER_BASE FILE_DEVICE_CHANGER
-
-#define IOCTL_CHANGER_EXCHANGE_MEDIUM \
- CTL_CODE(IOCTL_CHANGER_BASE, 0x0008, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_CHANGER_GET_ELEMENT_STATUS \
- CTL_CODE(IOCTL_CHANGER_BASE, 0x0005, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-
-#define IOCTL_CHANGER_GET_PARAMETERS \
- CTL_CODE(IOCTL_CHANGER_BASE, 0x0000, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_CHANGER_GET_PRODUCT_DATA \
- CTL_CODE(IOCTL_CHANGER_BASE, 0x0002, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_CHANGER_GET_STATUS \
- CTL_CODE(IOCTL_CHANGER_BASE, 0x0001, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_CHANGER_INITIALIZE_ELEMENT_STATUS \
- CTL_CODE(IOCTL_CHANGER_BASE, 0x0006, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_CHANGER_MOVE_MEDIUM \
- CTL_CODE(IOCTL_CHANGER_BASE, 0x0009, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_CHANGER_QUERY_VOLUME_TAGS \
- CTL_CODE(IOCTL_CHANGER_BASE, 0x000B, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-
-#define IOCTL_CHANGER_REINITIALIZE_TRANSPORT \
- CTL_CODE(IOCTL_CHANGER_BASE, 0x000A, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_CHANGER_SET_ACCESS \
- CTL_CODE(IOCTL_CHANGER_BASE, 0x0004, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-
-#define IOCTL_CHANGER_SET_POSITION \
- CTL_CODE(IOCTL_CHANGER_BASE, 0x0007, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-
-#define MAX_VOLUME_ID_SIZE 36
-#define MAX_VOLUME_TEMPLATE_SIZE 40
-
-typedef enum _ELEMENT_TYPE {
- AllElements,
- ChangerTransport,
- ChangerSlot,
- ChangerIEPort,
- ChangerDrive,
- ChangerDoor,
- ChangerKeypad,
- ChangerMaxElement
-} ELEMENT_TYPE, *PELEMENT_TYPE;
-
-typedef struct _CHANGER_ELEMENT {
- ELEMENT_TYPE ElementType;
- ULONG ElementAddress;
-} CHANGER_ELEMENT, *PCHANGER_ELEMENT;
-
-typedef struct _CHANGER_ELEMENT_LIST {
- CHANGER_ELEMENT Element;
- ULONG NumberOfElements;
-} CHANGER_ELEMENT_LIST, *PCHANGER_ELEMENT_LIST;
-
-typedef struct _CHANGER_INITIALIZE_ELEMENT_STATUS {
- CHANGER_ELEMENT_LIST ElementList;
- BOOLEAN BarCodeScan;
-} CHANGER_INITIALIZE_ELEMENT_STATUS, *PCHANGER_INITIALIZE_ELEMENT_STATUS;
-
-typedef struct _CHANGER_READ_ELEMENT_STATUS {
- CHANGER_ELEMENT_LIST ElementList;
- BOOLEAN VolumeTagInfo;
-} CHANGER_READ_ELEMENT_STATUS, *PCHANGER_READ_ELEMENT_STATUS;
-
-
-typedef struct _CHANGER_SET_POSITION {
- CHANGER_ELEMENT Transport;
- CHANGER_ELEMENT Destination;
- BOOLEAN Flip;
-} CHANGER_SET_POSITION, *PCHANGER_SET_POSITION;
-
-typedef struct _CHANGER_EXCHANGE_MEDIUM {
- CHANGER_ELEMENT Transport;
- CHANGER_ELEMENT Source;
- CHANGER_ELEMENT Destination1;
- CHANGER_ELEMENT Destination2;
- BOOLEAN Flip1;
- BOOLEAN Flip2;
-} CHANGER_EXCHANGE_MEDIUM, *PCHANGER_EXCHANGE_MEDIUM;
-
-typedef struct _CHANGER_MOVE_MEDIUM {
- CHANGER_ELEMENT Transport;
- CHANGER_ELEMENT Source;
- CHANGER_ELEMENT Destination;
- BOOLEAN Flip;
-} CHANGER_MOVE_MEDIUM, *PCHANGER_MOVE_MEDIUM;
-
-#define VENDOR_ID_LENGTH 8
-#define PRODUCT_ID_LENGTH 16
-#define REVISION_LENGTH 4
-#define SERIAL_NUMBER_LENGTH 32
-
-typedef struct _CHANGER_PRODUCT_DATA {
- UCHAR VendorId[VENDOR_ID_LENGTH];
- UCHAR ProductId[PRODUCT_ID_LENGTH];
- UCHAR Revision[REVISION_LENGTH];
- UCHAR SerialNumber[SERIAL_NUMBER_LENGTH];
- UCHAR DeviceType;
-} CHANGER_PRODUCT_DATA, *PCHANGER_PRODUCT_DATA;
-
-/* CHANGER_SET_ACCESS.Control constants */
-#define LOCK_ELEMENT 0
-#define UNLOCK_ELEMENT 1
-#define EXTEND_IEPORT 2
-#define RETRACT_IEPORT 3
-
-typedef struct _CHANGER_SET_ACCESS {
- CHANGER_ELEMENT Element;
- ULONG Control;
-} CHANGER_SET_ACCESS, *PCHANGER_SET_ACCESS;
-
-
-typedef enum _CHANGER_DEVICE_PROBLEM_TYPE {
- DeviceProblemNone,
- DeviceProblemHardware,
- DeviceProblemCHMError,
- DeviceProblemDoorOpen,
- DeviceProblemCalibrationError,
- DeviceProblemTargetFailure,
- DeviceProblemCHMMoveError,
- DeviceProblemCHMZeroError,
- DeviceProblemCartridgeInsertError,
- DeviceProblemPositionError,
- DeviceProblemSensorError,
- DeviceProblemCartridgeEjectError,
- DeviceProblemGripperError,
- DeviceProblemDriveError
-} CHANGER_DEVICE_PROBLEM_TYPE, *PCHANGER_DEVICE_PROBLEM_TYPE;
-
-/* CHANGER_ELEMENT_STATUS(_EX).Flags constants */
-#define ELEMENT_STATUS_FULL 0x00000001
-#define ELEMENT_STATUS_IMPEXP 0x00000002
-#define ELEMENT_STATUS_EXCEPT 0x00000004
-#define ELEMENT_STATUS_ACCESS 0x00000008
-#define ELEMENT_STATUS_EXENAB 0x00000010
-#define ELEMENT_STATUS_INENAB 0x00000020
-#define ELEMENT_STATUS_PRODUCT_DATA 0x00000040
-#define ELEMENT_STATUS_LUN_VALID 0x00001000
-#define ELEMENT_STATUS_ID_VALID 0x00002000
-#define ELEMENT_STATUS_NOT_BUS 0x00008000
-#define ELEMENT_STATUS_INVERT 0x00400000
-#define ELEMENT_STATUS_SVALID 0x00800000
-#define ELEMENT_STATUS_PVOLTAG 0x10000000
-#define ELEMENT_STATUS_AVOLTAG 0x20000000
-
-/* CHANGER_ELEMENT_STATUS(_EX).ExceptionCode constants */
-#define ERROR_LABEL_UNREADABLE 0x00000001
-#define ERROR_LABEL_QUESTIONABLE 0x00000002
-#define ERROR_SLOT_NOT_PRESENT 0x00000004
-#define ERROR_DRIVE_NOT_INSTALLED 0x00000008
-#define ERROR_TRAY_MALFUNCTION 0x00000010
-#define ERROR_INIT_STATUS_NEEDED 0x00000011
-#define ERROR_UNHANDLED_ERROR 0xFFFFFFFF
-
-typedef struct _CHANGER_ELEMENT_STATUS {
- CHANGER_ELEMENT Element;
- CHANGER_ELEMENT SrcElementAddress;
- ULONG Flags;
- ULONG ExceptionCode;
- UCHAR TargetId;
- UCHAR Lun;
- USHORT Reserved;
- UCHAR PrimaryVolumeID[MAX_VOLUME_ID_SIZE];
- UCHAR AlternateVolumeID[MAX_VOLUME_ID_SIZE];
-} CHANGER_ELEMENT_STATUS, *PCHANGER_ELEMENT_STATUS;
-
-typedef struct _CHANGER_ELEMENT_STATUS_EX {
- CHANGER_ELEMENT Element;
- CHANGER_ELEMENT SrcElementAddress;
- ULONG Flags;
- ULONG ExceptionCode;
- UCHAR TargetId;
- UCHAR Lun;
- USHORT Reserved;
- UCHAR PrimaryVolumeID[MAX_VOLUME_ID_SIZE];
- UCHAR AlternateVolumeID[MAX_VOLUME_ID_SIZE];
- UCHAR VendorIdentification[VENDOR_ID_LENGTH];
- UCHAR ProductIdentification[PRODUCT_ID_LENGTH];
- UCHAR SerialNumber[SERIAL_NUMBER_LENGTH];
-} CHANGER_ELEMENT_STATUS_EX, *PCHANGER_ELEMENT_STATUS_EX;
-
-/* CHANGER_SEND_VOLUME_TAG_INFORMATION.ActionCode constants */
-#define SEARCH_ALL 0x0
-#define SEARCH_PRIMARY 0x1
-#define SEARCH_ALTERNATE 0x2
-#define SEARCH_ALL_NO_SEQ 0x4
-#define SEARCH_PRI_NO_SEQ 0x5
-#define SEARCH_ALT_NO_SEQ 0x6
-#define ASSERT_PRIMARY 0x8
-#define ASSERT_ALTERNATE 0x9
-#define REPLACE_PRIMARY 0xA
-#define REPLACE_ALTERNATE 0xB
-#define UNDEFINE_PRIMARY 0xC
-#define UNDEFINE_ALTERNATE 0xD
-
-typedef struct _CHANGER_SEND_VOLUME_TAG_INFORMATION {
- CHANGER_ELEMENT StartingElement;
- ULONG ActionCode;
- UCHAR VolumeIDTemplate[MAX_VOLUME_TEMPLATE_SIZE];
-} CHANGER_SEND_VOLUME_TAG_INFORMATION, *PCHANGER_SEND_VOLUME_TAG_INFORMATION;
-
-/* GET_CHANGER_PARAMETERS.Features0 constants */
-#define CHANGER_BAR_CODE_SCANNER_INSTALLED 0x00000001
-#define CHANGER_INIT_ELEM_STAT_WITH_RANGE 0x00000002
-#define CHANGER_CLOSE_IEPORT 0x00000004
-#define CHANGER_OPEN_IEPORT 0x00000008
-#define CHANGER_STATUS_NON_VOLATILE 0x00000010
-#define CHANGER_EXCHANGE_MEDIA 0x00000020
-#define CHANGER_CLEANER_SLOT 0x00000040
-#define CHANGER_LOCK_UNLOCK 0x00000080
-#define CHANGER_CARTRIDGE_MAGAZINE 0x00000100
-#define CHANGER_MEDIUM_FLIP 0x00000200
-#define CHANGER_POSITION_TO_ELEMENT 0x00000400
-#define CHANGER_REPORT_IEPORT_STATE 0x00000800
-#define CHANGER_STORAGE_DRIVE 0x00001000
-#define CHANGER_STORAGE_IEPORT 0x00002000
-#define CHANGER_STORAGE_SLOT 0x00004000
-#define CHANGER_STORAGE_TRANSPORT 0x00008000
-#define CHANGER_DRIVE_CLEANING_REQUIRED 0x00010000
-#define CHANGER_PREDISMOUNT_EJECT_REQUIRED 0x00020000
-#define CHANGER_CLEANER_ACCESS_NOT_VALID 0x00040000
-#define CHANGER_PREMOUNT_EJECT_REQUIRED 0x00080000
-#define CHANGER_VOLUME_IDENTIFICATION 0x00100000
-#define CHANGER_VOLUME_SEARCH 0x00200000
-#define CHANGER_VOLUME_ASSERT 0x00400000
-#define CHANGER_VOLUME_REPLACE 0x00800000
-#define CHANGER_VOLUME_UNDEFINE 0x01000000
-#define CHANGER_SERIAL_NUMBER_VALID 0x04000000
-#define CHANGER_DEVICE_REINITIALIZE_CAPABLE 0x08000000
-#define CHANGER_KEYPAD_ENABLE_DISABLE 0x10000000
-#define CHANGER_DRIVE_EMPTY_ON_DOOR_ACCESS 0x20000000
-#define CHANGER_RESERVED_BIT 0x80000000
-
-/* GET_CHANGER_PARAMETERS.Features1 constants */
-#define CHANGER_PREDISMOUNT_ALIGN_TO_SLOT 0x80000001
-#define CHANGER_PREDISMOUNT_ALIGN_TO_DRIVE 0x80000002
-#define CHANGER_CLEANER_AUTODISMOUNT 0x80000004
-#define CHANGER_TRUE_EXCHANGE_CAPABLE 0x80000008
-#define CHANGER_SLOTS_USE_TRAYS 0x80000010
-#define CHANGER_RTN_MEDIA_TO_ORIGINAL_ADDR 0x80000020
-#define CHANGER_CLEANER_OPS_NOT_SUPPORTED 0x80000040
-#define CHANGER_IEPORT_USER_CONTROL_OPEN 0x80000080
-#define CHANGER_IEPORT_USER_CONTROL_CLOSE 0x80000100
-#define CHANGER_MOVE_EXTENDS_IEPORT 0x80000200
-#define CHANGER_MOVE_RETRACTS_IEPORT 0x80000400
-
-/* GET_CHANGER_PARAMETERS.MoveFrom,ExchangeFrom,PositionCapabilities constants */
-#define CHANGER_TO_TRANSPORT 0x01
-#define CHANGER_TO_SLOT 0x02
-#define CHANGER_TO_IEPORT 0x04
-#define CHANGER_TO_DRIVE 0x08
-
-/* GET_CHANGER_PARAMETERS.LockUnlockCapabilities constants */
-#define LOCK_UNLOCK_IEPORT 0x01
-#define LOCK_UNLOCK_DOOR 0x02
-#define LOCK_UNLOCK_KEYPAD 0x04
-
-typedef struct _GET_CHANGER_PARAMETERS {
- ULONG Size;
- USHORT NumberTransportElements;
- USHORT NumberStorageElements;
- USHORT NumberCleanerSlots;
- USHORT NumberIEElements;
- USHORT NumberDataTransferElements;
- USHORT NumberOfDoors;
- USHORT FirstSlotNumber;
- USHORT FirstDriveNumber;
- USHORT FirstTransportNumber;
- USHORT FirstIEPortNumber;
- USHORT FirstCleanerSlotAddress;
- USHORT MagazineSize;
- ULONG DriveCleanTimeout;
- ULONG Features0;
- ULONG Features1;
- UCHAR MoveFromTransport;
- UCHAR MoveFromSlot;
- UCHAR MoveFromIePort;
- UCHAR MoveFromDrive;
- UCHAR ExchangeFromTransport;
- UCHAR ExchangeFromSlot;
- UCHAR ExchangeFromIePort;
- UCHAR ExchangeFromDrive;
- UCHAR LockUnlockCapabilities;
- UCHAR PositionCapabilities;
- UCHAR Reserved1[2];
- ULONG Reserved2[2];
-} GET_CHANGER_PARAMETERS, * PGET_CHANGER_PARAMETERS;
-
-typedef struct READ_ELEMENT_ADDRESS_INFO {
- ULONG NumberOfElements;
- CHANGER_ELEMENT_STATUS ElementStatus[1];
-} READ_ELEMENT_ADDRESS_INFO, *PREAD_ELEMENT_ADDRESS_INFO;
-
-typedef struct _TAPE_WMI_OPERATIONS {
- ULONG Method;
- ULONG DataBufferSize;
- PVOID DataBuffer;
-} TAPE_WMI_OPERATIONS, *PTAPE_WMI_OPERATIONS;
-
-typedef struct _WMI_CHANGER_PROBLEM_DEVICE_ERROR {
- ULONG ChangerProblemType;
-} WMI_CHANGER_PROBLEM_DEVICE_ERROR, *PWMI_CHANGER_PROBLEM_DEVICE_ERROR;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NTDDCHGR_H */
diff --git a/winsup/w32api/include/ddk/ntdddisk.h b/winsup/w32api/include/ddk/ntdddisk.h
deleted file mode 100644
index daf75c087..000000000
--- a/winsup/w32api/include/ddk/ntdddisk.h
+++ /dev/null
@@ -1,521 +0,0 @@
-/*
- * ntdddisk.h
- *
- * Disk IOCTL 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 __NTDDDISK_H
-#define __NTDDDISK_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-#include "ntddstor.h"
-
-#define DD_DISK_DEVICE_NAME "\\Device\\UNKNOWN"
-#define DD_DISK_DEVICE_NAME_U L"\\Device\\UNKNOWN"
-
-#define IOCTL_DISK_BASE FILE_DEVICE_DISK
-
-#define IOCTL_DISK_CHECK_VERIFY \
- CTL_CODE(IOCTL_DISK_BASE, 0x0200, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_DISK_CONTROLLER_NUMBER \
- CTL_CODE(IOCTL_DISK_BASE, 0x0011, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_DISK_CREATE_DISK \
- CTL_CODE(IOCTL_DISK_BASE, 0x0016, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-
-#define IOCTL_DISK_DELETE_DRIVE_LAYOUT \
- CTL_CODE(IOCTL_DISK_BASE, 0x0040, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-
-#define IOCTL_DISK_FIND_NEW_DEVICES \
- CTL_CODE(IOCTL_DISK_BASE, 0x0206, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_DISK_FORMAT_TRACKS \
- CTL_CODE(IOCTL_DISK_BASE, 0x0006, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-
-#define IOCTL_DISK_FORMAT_TRACKS_EX \
- CTL_CODE(IOCTL_DISK_BASE, 0x000b, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-
-#define IOCTL_DISK_GET_CACHE_INFORMATION \
- CTL_CODE(IOCTL_DISK_BASE, 0x0035, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_DISK_GET_DRIVE_GEOMETRY \
- CTL_CODE(IOCTL_DISK_BASE, 0x0000, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_DISK_GET_DRIVE_GEOMETRY_EX \
- CTL_CODE(IOCTL_DISK_BASE, 0x0028, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_DISK_GET_DRIVE_LAYOUT \
- CTL_CODE(IOCTL_DISK_BASE, 0x0003, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_DISK_GET_DRIVE_LAYOUT_EX \
- CTL_CODE(IOCTL_DISK_BASE, 0x0014, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_DISK_GET_MEDIA_TYPES \
- CTL_CODE(IOCTL_DISK_BASE, 0x0300, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_DISK_GET_LENGTH_INFO \
- CTL_CODE(IOCTL_DISK_BASE, 0x0017, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_DISK_GET_PARTITION_INFO \
- CTL_CODE(IOCTL_DISK_BASE, 0x0001, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_DISK_GET_PARTITION_INFO_EX \
- CTL_CODE(IOCTL_DISK_BASE, 0x0012, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_DISK_GROW_PARTITION \
- CTL_CODE(IOCTL_DISK_BASE, 0x0034, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-
-#define IOCTL_DISK_INTERNAL_CLEAR_VERIFY \
- CTL_CODE(IOCTL_DISK_BASE, 0x0101, METHOD_NEITHER, FILE_ANY_ACCESS)
-
-#define IOCTL_DISK_INTERNAL_SET_VERIFY \
- CTL_CODE(IOCTL_DISK_BASE, 0x0100, METHOD_NEITHER, FILE_ANY_ACCESS)
-
-#define IOCTL_DISK_IS_WRITABLE \
- CTL_CODE(IOCTL_DISK_BASE, 0x0009, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_DISK_PERFORMANCE \
- CTL_CODE(IOCTL_DISK_BASE, 0x0008, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_DISK_PERFORMANCE_OFF \
- CTL_CODE(IOCTL_DISK_BASE, 0x0018, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_DISK_REASSIGN_BLOCKS \
- CTL_CODE(IOCTL_DISK_BASE, 0x0007, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-
-#define IOCTL_DISK_RESERVE \
- CTL_CODE(IOCTL_DISK_BASE, 0x0204, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_DISK_SET_CACHE_INFORMATION \
- CTL_CODE(IOCTL_DISK_BASE, 0x0036, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-
-#define IOCTL_DISK_SET_DRIVE_LAYOUT \
- CTL_CODE(IOCTL_DISK_BASE, 0x0004, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-
-#define IOCTL_DISK_SET_DRIVE_LAYOUT_EX \
- CTL_CODE(IOCTL_DISK_BASE, 0x0015, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-
-#define IOCTL_DISK_SET_PARTITION_INFO \
- CTL_CODE(IOCTL_DISK_BASE, 0x0002, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-
-#define IOCTL_DISK_SET_PARTITION_INFO_EX \
- CTL_CODE(IOCTL_DISK_BASE, 0x0013, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-
-#define IOCTL_DISK_UPDATE_DRIVE_SIZE \
- CTL_CODE(IOCTL_DISK_BASE, 0x0032, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-
-#define IOCTL_DISK_VERIFY \
- CTL_CODE(IOCTL_DISK_BASE, 0x0005, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define SMART_GET_VERSION \
- CTL_CODE(IOCTL_DISK_BASE, 0x0020, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define SMART_RCV_DRIVE_DATA \
- CTL_CODE(IOCTL_DISK_BASE, 0x0022, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-
-#define SMART_SEND_DRIVE_COMMAND \
- CTL_CODE(IOCTL_DISK_BASE, 0x0021, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-
-
-#define PARTITION_ENTRY_UNUSED 0x00
-#define PARTITION_FAT_12 0x01
-#define PARTITION_XENIX_1 0x02
-#define PARTITION_XENIX_2 0x03
-#define PARTITION_FAT_16 0x04
-#define PARTITION_EXTENDED 0x05
-#define PARTITION_HUGE 0x06
-#define PARTITION_IFS 0x07
-#define PARTITION_OS2BOOTMGR 0x0A
-#define PARTITION_FAT32 0x0B
-#define PARTITION_FAT32_XINT13 0x0C
-#define PARTITION_XINT13 0x0E
-#define PARTITION_XINT13_EXTENDED 0x0F
-#define PARTITION_PREP 0x41
-#define PARTITION_LDM 0x42
-#define PARTITION_UNIX 0x63
-#define VALID_NTFT 0xC0
-#define PARTITION_NTFT 0x80
-
-#define IsFTPartition( PartitionType ) \
- (((PartitionType) & PARTITION_NTFT) && \
- IsRecognizedPartition(PartitionType))
-
-#define IsContainerPartition(PartitionType) \
- (((PartitionType) == PARTITION_EXTENDED) || \
- ((PartitionType) == PARTITION_XINT13_EXTENDED))
-
-#define IsRecognizedPartition(PartitionType) ( \
- (((PartitionType) & PARTITION_NTFT) && (((PartitionType) & ~0xC0) == PARTITION_FAT_12)) || \
- (((PartitionType) & PARTITION_NTFT) && (((PartitionType) & ~0xC0) == PARTITION_HUGE)) || \
- (((PartitionType) & PARTITION_NTFT) && (((PartitionType) & ~0xC0) == PARTITION_IFS)) || \
- (((PartitionType) & PARTITION_NTFT) && (((PartitionType) & ~0xC0) == PARTITION_FAT32)) || \
- (((PartitionType) & PARTITION_NTFT) && (((PartitionType) & ~0xC0) == PARTITION_FAT32_XINT13)) || \
- (((PartitionType) & PARTITION_NTFT) && (((PartitionType) & ~0xC0) == PARTITION_XINT13)) || \
- ((PartitionType) == PARTITION_FAT_12) || \
- ((PartitionType) == PARTITION_FAT_16) || \
- ((PartitionType) == PARTITION_HUGE) || \
- ((PartitionType) == PARTITION_IFS) || \
- ((PartitionType) == PARTITION_FAT32) || \
- ((PartitionType) == PARTITION_FAT32_XINT13) || \
- ((PartitionType) == PARTITION_XINT13))
-
-#define WMI_DISK_GEOMETRY_GUID \
- {0x25007f51, 0x57c2, 0x11d1, {0xa5, 0x28, 0x0, 0xa0, 0xc9, 0x6, 0x29, 0x10}}
-
-typedef USHORT BAD_TRACK_NUMBER;
-typedef USHORT *PBAD_TRACK_NUMBER;
-
-typedef enum _MEDIA_TYPE {
- Unknown,
- F5_1Pt2_512,
- F3_1Pt44_512,
- F3_2Pt88_512,
- F3_20Pt8_512,
- F3_720_512,
- F5_360_512,
- F5_320_512,
- F5_320_1024,
- F5_180_512,
- F5_160_512,
- RemovableMedia,
- FixedMedia,
- F3_120M_512,
- F3_640_512,
- F5_640_512,
- F5_720_512,
- F3_1Pt2_512,
- F3_1Pt23_1024,
- F5_1Pt23_1024,
- F3_128Mb_512,
- F3_230Mb_512,
- F8_256_128
-} MEDIA_TYPE, *PMEDIA_TYPE;
-
-typedef enum _DETECTION_TYPE {
- DetectNone,
- DetectInt13,
- DetectExInt13
-} DETECTION_TYPE;
-
-typedef struct _DISK_CONTROLLER_NUMBER {
- ULONG ControllerNumber;
- ULONG DiskNumber;
-} DISK_CONTROLLER_NUMBER, *PDISK_CONTROLLER_NUMBER;
-
-typedef struct _DISK_INT13_INFO {
- USHORT DriveSelect;
- ULONG MaxCylinders;
- USHORT SectorsPerTrack;
- USHORT MaxHeads;
- USHORT NumberDrives;
-} DISK_INT13_INFO, *PDISK_INT13_INFO;
-
-typedef struct _DISK_EX_INT13_INFO {
- USHORT ExBufferSize;
- USHORT ExFlags;
- ULONG ExCylinders;
- ULONG ExHeads;
- ULONG ExSectorsPerTrack;
- ULONG64 ExSectorsPerDrive;
- USHORT ExSectorSize;
- USHORT ExReserved;
-} DISK_EX_INT13_INFO, *PDISK_EX_INT13_INFO;
-
-typedef struct _DISK_DETECTION_INFO {
- ULONG SizeOfDetectInfo;
- DETECTION_TYPE DetectionType;
- _ANONYMOUS_UNION union {
- _ANONYMOUS_STRUCT struct {
- DISK_INT13_INFO Int13;
- DISK_EX_INT13_INFO ExInt13;
- } DUMMYSTRUCTNAME;
- } DUMMYUNIONNAME;
-} DISK_DETECTION_INFO, *PDISK_DETECTION_INFO;
-
-typedef struct _DISK_GEOMETRY {
- LARGE_INTEGER Cylinders;
- MEDIA_TYPE MediaType;
- ULONG TracksPerCylinder;
- ULONG SectorsPerTrack;
- ULONG BytesPerSector;
-} DISK_GEOMETRY, *PDISK_GEOMETRY;
-
-typedef struct _DISK_GEOMETRY_EX {
- DISK_GEOMETRY Geometry;
- LARGE_INTEGER DiskSize;
- UCHAR Data[1];
-} DISK_GEOMETRY_EX, *PDISK_GEOMETRY_EX;
-
-#define DiskGeometryGetPartition(Geometry) \
- ((PDISK_PARTITION_INFO)((Geometry) + 1))
-
-#define DiskGeometryGetDetect(Geometry)\
- ((PDISK_DETECTION_INFO)(((PBYTE)DiskGeometryGetPartition(Geometry) + \
- DiskGeometryGetPartition(Geometry)->SizeOfPartitionInfo)))
-
-typedef struct _PARTITION_INFORMATION {
- LARGE_INTEGER StartingOffset;
- LARGE_INTEGER PartitionLength;
- DWORD HiddenSectors;
- DWORD PartitionNumber;
- BYTE PartitionType;
- BOOLEAN BootIndicator;
- BOOLEAN RecognizedPartition;
- BOOLEAN RewritePartition;
-} PARTITION_INFORMATION, *PPARTITION_INFORMATION;
-
-typedef struct _PARTITION_INFORMATION_GPT {
- GUID PartitionType;
- GUID PartitionId;
- ULONG64 Attributes;
- WCHAR Name [36];
-} PARTITION_INFORMATION_GPT, *PPARTITION_INFORMATION_GPT;
-
-typedef struct _DISK_PARTITION_INFO {
- ULONG SizeOfPartitionInfo;
- PARTITION_STYLE PartitionStyle;
- _ANONYMOUS_UNION union {
- struct {
- ULONG Signature;
- ULONG CheckSum;
- } Mbr;
- struct {
- GUID DiskId;
- } Gpt;
- } DUMMYUNIONNAME;
-} DISK_PARTITION_INFO, *PDISK_PARTITION_INFO;
-
-typedef struct _DISK_PERFORMANCE {
- LARGE_INTEGER BytesRead;
- LARGE_INTEGER BytesWritten;
- LARGE_INTEGER ReadTime;
- LARGE_INTEGER WriteTime;
- LARGE_INTEGER IdleTime;
- ULONG ReadCount;
- ULONG WriteCount;
- ULONG QueueDepth;
- ULONG SplitCount;
- LARGE_INTEGER QueryTime;
- ULONG StorageDeviceNumber;
- WCHAR StorageManagerName[8];
-} DISK_PERFORMANCE, *PDISK_PERFORMANCE;
-
-typedef struct _PARTITION_INFORMATION_EX {
- PARTITION_STYLE PartitionStyle;
- LARGE_INTEGER StartingOffset;
- LARGE_INTEGER PartitionLength;
- ULONG PartitionNumber;
- BOOLEAN RewritePartition;
- _ANONYMOUS_UNION union {
- PARTITION_INFORMATION_MBR Mbr;
- PARTITION_INFORMATION_GPT Gpt;
- } DUMMYUNIONNAME;
-} PARTITION_INFORMATION_EX, *PPARTITION_INFORMATION_EX;
-
-typedef struct _FORMAT_EX_PARAMETERS {
- MEDIA_TYPE MediaType;
- ULONG StartCylinderNumber;
- ULONG EndCylinderNumber;
- ULONG StartHeadNumber;
- ULONG EndHeadNumber;
- USHORT FormatGapLength;
- USHORT SectorsPerTrack;
- USHORT SectorNumber[1];
-} FORMAT_EX_PARAMETERS, *PFORMAT_EX_PARAMETERS;
-
-typedef struct _FORMAT_PARAMETERS {
- MEDIA_TYPE MediaType;
- ULONG StartCylinderNumber;
- ULONG EndCylinderNumber;
- ULONG StartHeadNumber;
- ULONG EndHeadNumber;
-} FORMAT_PARAMETERS, *PFORMAT_PARAMETERS;
-
-typedef struct _GET_LENGTH_INFORMATION {
- LARGE_INTEGER Length;
-} GET_LENGTH_INFORMATION, *PGET_LENGTH_INFORMATION;
-
-typedef struct _REASSIGN_BLOCKS {
- WORD Reserved;
- WORD Count;
- DWORD BlockNumber[1];
-} REASSIGN_BLOCKS, *PREASSIGN_BLOCKS;
-
-typedef struct _SET_PARTITION_INFORMATION {
- UCHAR PartitionType;
-} SET_PARTITION_INFORMATION, *PSET_PARTITION_INFORMATION;
-
-typedef SET_PARTITION_INFORMATION SET_PARTITION_INFORMATION_MBR;
-typedef PARTITION_INFORMATION_GPT SET_PARTITION_INFORMATION_GPT;
-
-typedef struct _SET_PARTITION_INFORMATION_EX {
- PARTITION_STYLE PartitionStyle;
- _ANONYMOUS_UNION union {
- SET_PARTITION_INFORMATION_MBR Mbr;
- SET_PARTITION_INFORMATION_GPT Gpt;
- } DUMMYUNIONNAME;
-} SET_PARTITION_INFORMATION_EX, *PSET_PARTITION_INFORMATION_EX;
-
-typedef struct _VERIFY_INFORMATION {
- LARGE_INTEGER StartingOffset;
- DWORD Length;
-} VERIFY_INFORMATION, *PVERIFY_INFORMATION;
-
-typedef enum {
- EqualPriority,
- KeepPrefetchedData,
- KeepReadData
-} DISK_CACHE_RETENTION_PRIORITY;
-
-typedef struct _DISK_CACHE_INFORMATION {
- BOOLEAN ParametersSavable;
- BOOLEAN ReadCacheEnabled;
- BOOLEAN WriteCacheEnabled;
- DISK_CACHE_RETENTION_PRIORITY ReadRetentionPriority;
- DISK_CACHE_RETENTION_PRIORITY WriteRetentionPriority;
- USHORT DisablePrefetchTransferLength;
- BOOLEAN PrefetchScalar;
- _ANONYMOUS_UNION union {
- struct {
- USHORT Minimum;
- USHORT Maximum;
- USHORT MaximumBlocks;
- } ScalarPrefetch;
- struct {
- USHORT Minimum;
- USHORT Maximum;
- } BlockPrefetch;
- } DUMMYUNIONNAME;
-} DISK_CACHE_INFORMATION, *PDISK_CACHE_INFORMATION;
-
-typedef struct _DISK_GROW_PARTITION {
- ULONG PartitionNumber;
- LARGE_INTEGER BytesToGrow;
-} DISK_GROW_PARTITION, *PDISK_GROW_PARTITION;
-
-/* GETVERSIONINPARAMS.fCapabilities constants */
-#define CAP_ATA_ID_CMD 1
-#define CAP_ATAPI_ID_CMD 2
-#define CAP_SMART_CMD 4
-
-typedef struct _GETVERSIONINPARAMS {
- UCHAR bVersion;
- UCHAR bRevision;
- UCHAR bReserved;
- UCHAR bIDEDeviceMap;
- ULONG fCapabilities;
- ULONG dwReserved[4];
-} GETVERSIONINPARAMS, *PGETVERSIONINPARAMS, *LPGETVERSIONINPARAMS;
-
-/* IDEREGS.bCommandReg constants */
-#define ATAPI_ID_CMD 0xA1
-#define ID_CMD 0xEC
-#define SMART_CMD 0xB0
-
-#define SMART_CYL_LOW 0x4F
-#define SMART_CYL_HI 0xC2
-
-typedef struct _IDEREGS {
- UCHAR bFeaturesReg;
- UCHAR bSectorCountReg;
- UCHAR bSectorNumberReg;
- UCHAR bCylLowReg;
- UCHAR bCylHighReg;
- UCHAR bDriveHeadReg;
- UCHAR bCommandReg;
- UCHAR bReserved;
-} IDEREGS, *PIDEREGS, *LPIDEREGS;
-
-#include <pshpack1.h>
-typedef struct _SENDCMDINPARAMS {
- ULONG cBufferSize;
- IDEREGS irDriveRegs;
- UCHAR bDriveNumber;
- UCHAR bReserved[3];
- ULONG dwReserved[4];
- UCHAR bBuffer[1];
-} SENDCMDINPARAMS, *PSENDCMDINPARAMS, *LPSENDCMDINPARAMS;
-#include <poppack.h>
-
-/* DRIVERSTATUS.bDriverError constants */
-#define SMART_NO_ERROR 0
-#define SMART_IDE_ERROR 1
-#define SMART_INVALID_FLAG 2
-#define SMART_INVALID_COMMAND 3
-#define SMART_INVALID_BUFFER 4
-#define SMART_INVALID_DRIVE 5
-#define SMART_INVALID_IOCTL 6
-#define SMART_ERROR_NO_MEM 7
-#define SMART_INVALID_REGISTER 8
-#define SMART_NOT_SUPPORTED 9
-#define SMART_NO_IDE_DEVICE 10
-
-#define SMART_OFFLINE_ROUTINE_OFFLINE 0
-#define SMART_SHORT_SELFTEST_OFFLINE 1
-#define SMART_EXTENDED_SELFTEST_OFFLINE 2
-#define SMART_ABORT_OFFLINE_SELFTEST 127
-#define SMART_SHORT_SELFTEST_CAPTIVE 129
-#define SMART_EXTENDED_SELFTEST_CAPTIVE 130
-
-typedef struct _DRIVERSTATUS {
- UCHAR bDriverError;
- UCHAR bIDEError;
- UCHAR bReserved[2];
- ULONG dwReserved[2];
-} DRIVERSTATUS, *PDRIVERSTATUS, *LPDRIVERSTATUS;
-
-#define READ_ATTRIBUTE_BUFFER_SIZE 512
-#define IDENTIFY_BUFFER_SIZE 512
-#define READ_THRESHOLD_BUFFER_SIZE 512
-#define SMART_LOG_SECTOR_SIZE 512
-
-#include <pshpack1.h>
-typedef struct _SENDCMDOUTPARAMS {
- ULONG cBufferSize;
- DRIVERSTATUS DriverStatus;
- UCHAR bBuffer[1];
-} SENDCMDOUTPARAMS, *PSENDCMDOUTPARAMS, *LPSENDCMDOUTPARAMS;
-#include <poppack.h>
-
-#define READ_ATTRIBUTES 0xD0
-#define READ_THRESHOLDS 0xD1
-#define ENABLE_DISABLE_AUTOSAVE 0xD2
-#define SAVE_ATTRIBUTE_VALUES 0xD3
-#define EXECUTE_OFFLINE_DIAGS 0xD4
-#define SMART_READ_LOG 0xD5
-#define SMART_WRITE_LOG 0xd6
-#define ENABLE_SMART 0xD8
-#define DISABLE_SMART 0xD9
-#define RETURN_SMART_STATUS 0xDA
-#define ENABLE_DISABLE_AUTO_OFFLINE 0xDB
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NTDDDISK_H */
diff --git a/winsup/w32api/include/ddk/ntddk.h b/winsup/w32api/include/ddk/ntddk.h
deleted file mode 100644
index 60a99ef37..000000000
--- a/winsup/w32api/include/ddk/ntddk.h
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * ntddk.h
- *
- * Windows Device Driver Kit
- *
- * 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.
- *
- * DEFINES:
- * DBG - Debugging enabled/disabled (0/1)
- * POOL_TAGGING - Enable pool tagging
- * _X86_ - X86 environment
- * __USE_NTOSKRNL__ - Use ntoskrnl.exe exports instead of kernel32.dll
- */
-
-#ifndef __NTDDK_H
-#define __NTDDK_H
-
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifndef __USE_NTOSKRNL__
-#define __USE_NTOSKRNL__ 1
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <stdarg.h>
-#include <windef.h>
-#include <ntdef.h>
-#include <basetyps.h>
-
-/* Base types, structures and definitions */
-typedef short CSHORT;
-typedef CONST int CINT;
-typedef CONST char *PCSZ;
-
-#ifndef STATIC
-#define STATIC static
-#endif
-
-#ifndef CALLBACK
-#define CALLBACK
-#endif
-
-#ifndef DECL_IMPORT
-#define DECL_IMPORT __declspec(dllimport)
-#endif
-
-#ifndef DECL_EXPORT
-#define DECL_EXPORT __declspec(dllexport)
-#endif
-
-/* Windows NT status codes */
-#include "ntstatus.h"
-
-/* Windows NT definitions exported to user mode */
-#include <winnt.h>
-
-/* Windows Device Driver Kit */
-#include "winddk.h"
-
-/* Definitions only in Windows XP */
-#include "winxp.h"
-
-/* Definitions only in Windows 2000 */
-#include "win2k.h"
-
-/* Definitions only in Windows NT 4 */
-#include "winnt4.h"
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NTDDK_H */
diff --git a/winsup/w32api/include/ddk/ntddkbd.h b/winsup/w32api/include/ddk/ntddkbd.h
deleted file mode 100644
index 93bc690b5..000000000
--- a/winsup/w32api/include/ddk/ntddkbd.h
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
- * ntddkbd.h
- *
- * Keyboard IOCTL 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 __NTDDKBD_H
-#define __NTDDKBD_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-
-#define DD_KEYBOARD_DEVICE_NAME "\\Device\\KeyboardClass"
-#define DD_KEYBOARD_DEVICE_NAME_U L"\\Device\\KeyboardClass"
-
-#define IOCTL_KEYBOARD_QUERY_ATTRIBUTES \
- CTL_CODE(FILE_DEVICE_KEYBOARD, 0x0000, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_KEYBOARD_QUERY_INDICATORS \
- CTL_CODE(FILE_DEVICE_KEYBOARD, 0x0010, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_KEYBOARD_QUERY_INDICATOR_TRANSLATION \
- CTL_CODE(FILE_DEVICE_KEYBOARD, 0x0020, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_KEYBOARD_QUERY_TYPEMATIC \
- CTL_CODE(FILE_DEVICE_KEYBOARD, 0x0008, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_KEYBOARD_SET_TYPEMATIC \
- CTL_CODE(FILE_DEVICE_KEYBOARD, 0x0001, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_KEYBOARD_SET_INDICATORS \
- CTL_CODE(FILE_DEVICE_KEYBOARD, 0x0002, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-
-DEFINE_GUID(GUID_DEVINTERFACE_KEYBOARD, \
- 0x884b96c3, 0x56ef, 0x11d1, 0xbc, 0x8c, 0x00, 0xa0, 0xc9, 0x14, 0x05, 0xdd);
-
-#define KEYBOARD_ERROR_VALUE_BASE 10000
-
-/* KEYBOARD_INPUT_DATA.MakeCode constants */
-#define KEYBOARD_OVERRUN_MAKE_CODE 0xFF
-
-/* KEYBOARD_INPUT_DATA.Flags constants */
-#define KEY_MAKE 0
-#define KEY_BREAK 1
-#define KEY_E0 2
-#define KEY_E1 4
-
-typedef struct _KEYBOARD_INPUT_DATA {
- USHORT UnitId;
- USHORT MakeCode;
- USHORT Flags;
- USHORT Reserved;
- ULONG ExtraInformation;
-} KEYBOARD_INPUT_DATA, *PKEYBOARD_INPUT_DATA;
-
-
-typedef struct _KEYBOARD_TYPEMATIC_PARAMETERS {
- USHORT UnitId;
- USHORT Rate;
- USHORT Delay;
-} KEYBOARD_TYPEMATIC_PARAMETERS, *PKEYBOARD_TYPEMATIC_PARAMETERS;
-
-typedef struct _KEYBOARD_ID {
- UCHAR Type;
- UCHAR Subtype;
-} KEYBOARD_ID, *PKEYBOARD_ID;
-
-#define ENHANCED_KEYBOARD(Id) ((Id).Type == 2 || (Id).Type == 4 || FAREAST_KEYBOARD(Id))
-#define FAREAST_KEYBOARD(Id) ((Id).Type == 7 || (Id).Type == 8)
-
-typedef struct _KEYBOARD_INDICATOR_PARAMETERS {
- USHORT UnitId;
- USHORT LedFlags;
-} KEYBOARD_INDICATOR_PARAMETERS, *PKEYBOARD_INDICATOR_PARAMETERS;
-
-typedef struct _INDICATOR_LIST {
- USHORT MakeCode;
- USHORT IndicatorFlags;
-} INDICATOR_LIST, *PINDICATOR_LIST;
-
-typedef struct _KEYBOARD_INDICATOR_TRANSLATION {
- USHORT NumberOfIndicatorKeys;
- INDICATOR_LIST IndicatorList[1];
-} KEYBOARD_INDICATOR_TRANSLATION, *PKEYBOARD_INDICATOR_TRANSLATION;
-
-typedef struct _KEYBOARD_ATTRIBUTES {
- KEYBOARD_ID KeyboardIdentifier;
- USHORT KeyboardMode;
- USHORT NumberOfFunctionKeys;
- USHORT NumberOfIndicators;
- USHORT NumberOfKeysTotal;
- ULONG InputDataQueueLength;
- KEYBOARD_TYPEMATIC_PARAMETERS KeyRepeatMinimum;
- KEYBOARD_TYPEMATIC_PARAMETERS KeyRepeatMaximum;
-} KEYBOARD_ATTRIBUTES, *PKEYBOARD_ATTRIBUTES;
-
-typedef struct _KEYBOARD_UNIT_ID_PARAMETER {
- USHORT UnitId;
-} KEYBOARD_UNIT_ID_PARAMETER, *PKEYBOARD_UNIT_ID_PARAMETER;
-
-typedef struct _KEYBOARD_IME_STATUS {
- USHORT UnitId;
- ULONG ImeOpen;
- ULONG ImeConvMode;
-} KEYBOARD_IME_STATUS, *PKEYBOARD_IME_STATUS;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NTDDKBD_H */
diff --git a/winsup/w32api/include/ddk/ntddmou.h b/winsup/w32api/include/ddk/ntddmou.h
deleted file mode 100644
index fcf9445ab..000000000
--- a/winsup/w32api/include/ddk/ntddmou.h
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
- * ntddmou.h
- *
- * Mouse device IOCTL 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 __NTDDMOU_H
-#define __NTDDMOU_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-
-#define DD_MOUSE_DEVICE_NAME "\\Device\\PointerClass"
-#define DD_MOUSE_DEVICE_NAME_U L"\\Device\\PointerClass"
-
-#define IOCTL_MOUSE_QUERY_ATTRIBUTES \
- CTL_CODE(FILE_DEVICE_MOUSE, 0, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-DEFINE_GUID(GUID_DEVINTERFACE_MOUSE, \
- 0x378de44c, 0x56ef, 0x11d1, 0xbc, 0x8c, 0x00, 0xa0, 0xc9, 0x14, 0x05, 0xdd);
-
-#define MOUSE_ERROR_VALUE_BASE 20000
-
-/* MOUSE_INPUT_DATA.ButtonFlags constants */
-#define MOUSE_LEFT_BUTTON_DOWN 0x0001
-#define MOUSE_LEFT_BUTTON_UP 0x0002
-#define MOUSE_RIGHT_BUTTON_DOWN 0x0004
-#define MOUSE_RIGHT_BUTTON_UP 0x0008
-#define MOUSE_MIDDLE_BUTTON_DOWN 0x0010
-#define MOUSE_MIDDLE_BUTTON_UP 0x0020
-#define MOUSE_BUTTON_4_DOWN 0x0040
-#define MOUSE_BUTTON_4_UP 0x0080
-#define MOUSE_BUTTON_5_DOWN 0x0100
-#define MOUSE_BUTTON_5_UP 0x0200
-#define MOUSE_WHEEL 0x0400
-
-#define MOUSE_BUTTON_1_DOWN MOUSE_LEFT_BUTTON_DOWN
-#define MOUSE_BUTTON_1_UP MOUSE_LEFT_BUTTON_UP
-#define MOUSE_BUTTON_2_DOWN MOUSE_RIGHT_BUTTON_DOWN
-#define MOUSE_BUTTON_2_UP MOUSE_RIGHT_BUTTON_UP
-#define MOUSE_BUTTON_3_DOWN MOUSE_MIDDLE_BUTTON_DOWN
-#define MOUSE_BUTTON_3_UP MOUSE_MIDDLE_BUTTON_UP
-
-/* MOUSE_INPUT_DATA.Flags constants */
-#define MOUSE_MOVE_RELATIVE 0
-#define MOUSE_MOVE_ABSOLUTE 1
-#define MOUSE_VIRTUAL_DESKTOP 0x02
-#define MOUSE_ATTRIBUTES_CHANGED 0x04
-
-typedef struct _MOUSE_INPUT_DATA {
- USHORT UnitId;
- USHORT Flags;
- _ANONYMOUS_UNION union {
- ULONG Buttons;
- _ANONYMOUS_STRUCT struct {
- USHORT ButtonFlags;
- USHORT ButtonData;
- } DUMMYSTRUCTNAME;
- } DUMMYUNIONNAME;
- ULONG RawButtons;
- LONG LastX;
- LONG LastY;
- ULONG ExtraInformation;
-} MOUSE_INPUT_DATA, *PMOUSE_INPUT_DATA;
-
-typedef struct _MOUSE_UNIT_ID_PARAMETER {
- USHORT UnitId;
-} MOUSE_UNIT_ID_PARAMETER, *PMOUSE_UNIT_ID_PARAMETER;
-
-/* MOUSE_ATTRIBUTES.MouseIdentifier constants */
-#define MOUSE_INPORT_HARDWARE 0x0001
-#define MOUSE_I8042_HARDWARE 0x0002
-#define MOUSE_SERIAL_HARDWARE 0x0004
-#define BALLPOINT_I8042_HARDWARE 0x0008
-#define BALLPOINT_SERIAL_HARDWARE 0x0010
-#define WHEELMOUSE_I8042_HARDWARE 0x0020
-#define WHEELMOUSE_SERIAL_HARDWARE 0x0040
-#define MOUSE_HID_HARDWARE 0x0080
-#define WHEELMOUSE_HID_HARDWARE 0x0100
-
-typedef struct _MOUSE_ATTRIBUTES {
- USHORT MouseIdentifier;
- USHORT NumberOfButtons;
- USHORT SampleRate;
- ULONG InputDataQueueLength;
-} MOUSE_ATTRIBUTES, *PMOUSE_ATTRIBUTES;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NTDDMOU_H */
diff --git a/winsup/w32api/include/ddk/ntddndis.h b/winsup/w32api/include/ddk/ntddndis.h
deleted file mode 100644
index 06b2cd045..000000000
--- a/winsup/w32api/include/ddk/ntddndis.h
+++ /dev/null
@@ -1,188 +0,0 @@
-/*
- * ntddndis.h
- *
- * NDIS device driver 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 __NTDDNDIS_H
-#define __NTDDNDIS_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#pragma pack(push,4)
-
-#include "ntddk.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef enum _NDIS_WAN_QUALITY {
- NdisWanRaw,
- NdisWanErrorControl,
- NdisWanReliable
-} NDIS_WAN_QUALITY, *PNDIS_WAN_QUALITY;
-
-typedef enum _NDIS_DEVICE_POWER_STATE {
- NdisDeviceStateUnspecified = 0,
- NdisDeviceStateD0,
- NdisDeviceStateD1,
- NdisDeviceStateD2,
- NdisDeviceStateD3,
- NdisDeviceStateMaximum
-} NDIS_DEVICE_POWER_STATE, *PNDIS_DEVICE_POWER_STATE;
-
-typedef struct _NDIS_PM_WAKE_UP_CAPABILITIES {
- NDIS_DEVICE_POWER_STATE MinMagicPacketWakeUp;
- NDIS_DEVICE_POWER_STATE MinPatternWakeUp;
- NDIS_DEVICE_POWER_STATE MinLinkChangeWakeUp;
-} NDIS_PM_WAKE_UP_CAPABILITIES, *PNDIS_PM_WAKE_UP_CAPABILITIES;
-
-/* NDIS_PNP_CAPABILITIES.Flags constants */
-#define NDIS_DEVICE_WAKE_UP_ENABLE 0x00000001
-#define NDIS_DEVICE_WAKE_ON_PATTERN_MATCH_ENABLE 0x00000002
-#define NDIS_DEVICE_WAKE_ON_MAGIC_PACKET_ENABLE 0x00000004
-
-typedef struct _NDIS_PNP_CAPABILITIES {
- ULONG Flags;
- NDIS_PM_WAKE_UP_CAPABILITIES WakeUpCapabilities;
-} NDIS_PNP_CAPABILITIES, *PNDIS_PNP_CAPABILITIES;
-
-/* Required Object IDs (OIDs) */
-#define OID_GEN_SUPPORTED_LIST 0x00010101
-#define OID_GEN_HARDWARE_STATUS 0x00010102
-#define OID_GEN_MEDIA_SUPPORTED 0x00010103
-#define OID_GEN_MEDIA_IN_USE 0x00010104
-#define OID_GEN_MAXIMUM_LOOKAHEAD 0x00010105
-#define OID_GEN_MAXIMUM_FRAME_SIZE 0x00010106
-#define OID_GEN_LINK_SPEED 0x00010107
-#define OID_GEN_TRANSMIT_BUFFER_SPACE 0x00010108
-#define OID_GEN_RECEIVE_BUFFER_SPACE 0x00010109
-#define OID_GEN_TRANSMIT_BLOCK_SIZE 0x0001010A
-#define OID_GEN_RECEIVE_BLOCK_SIZE 0x0001010B
-#define OID_GEN_VENDOR_ID 0x0001010C
-#define OID_GEN_VENDOR_DESCRIPTION 0x0001010D
-#define OID_GEN_CURRENT_PACKET_FILTER 0x0001010E
-#define OID_GEN_CURRENT_LOOKAHEAD 0x0001010F
-#define OID_GEN_DRIVER_VERSION 0x00010110
-#define OID_GEN_MAXIMUM_TOTAL_SIZE 0x00010111
-#define OID_GEN_PROTOCOL_OPTIONS 0x00010112
-#define OID_GEN_MAC_OPTIONS 0x00010113
-#define OID_GEN_MEDIA_CONNECT_STATUS 0x00010114
-#define OID_GEN_MAXIMUM_SEND_PACKETS 0x00010115
-#define OID_GEN_VENDOR_DRIVER_VERSION 0x00010116
-#define OID_GEN_SUPPORTED_GUIDS 0x00010117
-#define OID_GEN_NETWORK_LAYER_ADDRESSES 0x00010118
-#define OID_GEN_TRANSPORT_HEADER_OFFSET 0x00010119
-#define OID_GEN_MACHINE_NAME 0x0001021A
-#define OID_GEN_RNDIS_CONFIG_PARAMETER 0x0001021B
-#define OID_GEN_VLAN_ID 0x0001021C
-
-/* Optional OIDs */
-#define OID_GEN_MEDIA_CAPABILITIES 0x00010201
-#define OID_GEN_PHYSICAL_MEDIUM 0x00010202
-
-/* Required statistics OIDs */
-#define OID_GEN_XMIT_OK 0x00020101
-#define OID_GEN_RCV_OK 0x00020102
-#define OID_GEN_XMIT_ERROR 0x00020103
-#define OID_GEN_RCV_ERROR 0x00020104
-#define OID_GEN_RCV_NO_BUFFER 0x00020105
-
-/* Optional statistics OIDs */
-#define OID_GEN_DIRECTED_BYTES_XMIT 0x00020201
-#define OID_GEN_DIRECTED_FRAMES_XMIT 0x00020202
-#define OID_GEN_MULTICAST_BYTES_XMIT 0x00020203
-#define OID_GEN_MULTICAST_FRAMES_XMIT 0x00020204
-#define OID_GEN_BROADCAST_BYTES_XMIT 0x00020205
-#define OID_GEN_BROADCAST_FRAMES_XMIT 0x00020206
-#define OID_GEN_DIRECTED_BYTES_RCV 0x00020207
-#define OID_GEN_DIRECTED_FRAMES_RCV 0x00020208
-#define OID_GEN_MULTICAST_BYTES_RCV 0x00020209
-#define OID_GEN_MULTICAST_FRAMES_RCV 0x0002020A
-#define OID_GEN_BROADCAST_BYTES_RCV 0x0002020B
-#define OID_GEN_BROADCAST_FRAMES_RCV 0x0002020C
-#define OID_GEN_RCV_CRC_ERROR 0x0002020D
-#define OID_GEN_TRANSMIT_QUEUE_LENGTH 0x0002020E
-#define OID_GEN_GET_TIME_CAPS 0x0002020F
-#define OID_GEN_GET_NETCARD_TIME 0x00020210
-#define OID_GEN_NETCARD_LOAD 0x00020211
-#define OID_GEN_DEVICE_PROFILE 0x00020212
-#define OID_GEN_INIT_TIME_MS 0x00020213
-#define OID_GEN_RESET_COUNTS 0x00020214
-#define OID_GEN_MEDIA_SENSE_COUNTS 0x00020215
-#define OID_GEN_FRIENDLY_NAME 0x00020216
-#define OID_GEN_MINIPORT_INFO 0x00020217
-#define OID_GEN_RESET_VERIFY_PARAMETERS 0x00020218
-
-/* IEEE 802.3 (Ethernet) OIDs */
-#define NDIS_802_3_MAC_OPTION_PRIORITY 0x00000001
-
-#define OID_802_3_PERMANENT_ADDRESS 0x01010101
-#define OID_802_3_CURRENT_ADDRESS 0x01010102
-#define OID_802_3_MULTICAST_LIST 0x01010103
-#define OID_802_3_MAXIMUM_LIST_SIZE 0x01010104
-#define OID_802_3_MAC_OPTIONS 0x01010105
-#define OID_802_3_RCV_ERROR_ALIGNMENT 0x01020101
-#define OID_802_3_XMIT_ONE_COLLISION 0x01020102
-#define OID_802_3_XMIT_MORE_COLLISIONS 0x01020103
-#define OID_802_3_XMIT_DEFERRED 0x01020201
-#define OID_802_3_XMIT_MAX_COLLISIONS 0x01020202
-#define OID_802_3_RCV_OVERRUN 0x01020203
-#define OID_802_3_XMIT_UNDERRUN 0x01020204
-#define OID_802_3_XMIT_HEARTBEAT_FAILURE 0x01020205
-#define OID_802_3_XMIT_TIMES_CRS_LOST 0x01020206
-#define OID_802_3_XMIT_LATE_COLLISIONS 0x01020207
-
-/* OID_GEN_MINIPORT_INFO constants */
-#define NDIS_MINIPORT_BUS_MASTER 0x00000001
-#define NDIS_MINIPORT_WDM_DRIVER 0x00000002
-#define NDIS_MINIPORT_SG_LIST 0x00000004
-#define NDIS_MINIPORT_SUPPORTS_MEDIA_QUERY 0x00000008
-#define NDIS_MINIPORT_INDICATES_PACKETS 0x00000010
-#define NDIS_MINIPORT_IGNORE_PACKET_QUEUE 0x00000020
-#define NDIS_MINIPORT_IGNORE_REQUEST_QUEUE 0x00000040
-#define NDIS_MINIPORT_IGNORE_TOKEN_RING_ERRORS 0x00000080
-#define NDIS_MINIPORT_INTERMEDIATE_DRIVER 0x00000100
-#define NDIS_MINIPORT_IS_NDIS_5 0x00000200
-#define NDIS_MINIPORT_IS_CO 0x00000400
-#define NDIS_MINIPORT_DESERIALIZE 0x00000800
-#define NDIS_MINIPORT_REQUIRES_MEDIA_POLLING 0x00001000
-#define NDIS_MINIPORT_SUPPORTS_MEDIA_SENSE 0x00002000
-#define NDIS_MINIPORT_NETBOOT_CARD 0x00004000
-#define NDIS_MINIPORT_PM_SUPPORTED 0x00008000
-#define NDIS_MINIPORT_SUPPORTS_MAC_ADDRESS_OVERWRITE 0x00010000
-#define NDIS_MINIPORT_USES_SAFE_BUFFER_APIS 0x00020000
-#define NDIS_MINIPORT_HIDDEN 0x00040000
-#define NDIS_MINIPORT_SWENUM 0x00080000
-#define NDIS_MINIPORT_SURPRISE_REMOVE_OK 0x00100000
-#define NDIS_MINIPORT_NO_HALT_ON_SUSPEND 0x00200000
-#define NDIS_MINIPORT_HARDWARE_DEVICE 0x00400000
-#define NDIS_MINIPORT_SUPPORTS_CANCEL_SEND_PACKETS 0x00800000
-#define NDIS_MINIPORT_64BITS_DMA 0x01000000
-
-#pragma pack(pop)
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NTDDNDIS_H */
diff --git a/winsup/w32api/include/ddk/ntddpar.h b/winsup/w32api/include/ddk/ntddpar.h
deleted file mode 100644
index 1b423650c..000000000
--- a/winsup/w32api/include/ddk/ntddpar.h
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * ntddpar.h
- *
- * Parallel port driver 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 __NTDDPAR_H
-#define __NTDDPAR_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-
-/* Parallel port device GUIDs */
-
-DEFINE_GUID (GUID_DEVINTERFACE_PARALLEL,
- 0x97F76EF0, 0xF883, 0x11D0, 0xAF, 0x1F, 0x00, 0x00, 0xF8, 0x00, 0x84, 0x5C);
-DEFINE_GUID (GUID_DEVINTERFACE_PARCLASS,
- 0x811FC6A5, 0xF728, 0x11D0, 0xA5, 0x37, 0x00, 0x00, 0xF8, 0x75, 0x3E, 0xD1);
-
-#define GUID_PARALLEL_DEVICE GUID_DEVINTERFACE_PARALLEL
-#define GUID_PARCLASS_DEVICE GUID_DEVINTERFACE_PARCLASS
-
-
-#define IOCTL_IEEE1284_GET_MODE \
- CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 5, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_IEEE1284_NEGOTIATE \
- CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 6, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_PAR_GET_DEFAULT_MODES \
- CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 10, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_PAR_GET_DEVICE_CAPS \
- CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 9, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_PAR_IS_PORT_FREE \
- CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 21, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_PAR_QUERY_DEVICE_ID \
- CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 3, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_PAR_QUERY_DEVICE_ID_SIZE \
- CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 4, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_PAR_QUERY_INFORMATION \
- CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 1, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_PAR_QUERY_LOCATION \
- CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 22, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_PAR_QUERY_RAW_DEVICE_ID \
- CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 12, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_PAR_SET_INFORMATION \
- CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 2, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_PAR_SET_READ_ADDRESS \
- CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 8, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_PAR_SET_WRITE_ADDRESS \
- CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 7, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-typedef struct _PAR_DEVICE_ID_SIZE_INFORMATION {
- ULONG DeviceIdSize;
-} PAR_DEVICE_ID_SIZE_INFORMATION, *PPAR_DEVICE_ID_SIZE_INFORMATION;
-
-#define PARALLEL_INIT 0x01
-#define PARALLEL_AUTOFEED 0x02
-#define PARALLEL_PAPER_EMPTY 0x04
-#define PARALLEL_OFF_LINE 0x08
-#define PARALLEL_POWER_OFF 0x10
-#define PARALLEL_NOT_CONNECTED 0x20
-#define PARALLEL_BUSY 0x40
-#define PARALLEL_SELECTED 0x80
-
-typedef struct _PAR_QUERY_INFORMATION {
- UCHAR Status;
-} PAR_QUERY_INFORMATION, *PPAR_QUERY_INFORMATION;
-
-typedef struct _PAR_SET_INFORMATION {
- UCHAR Init;
-} PAR_SET_INFORMATION, *PPAR_SET_INFORMATION;
-
-typedef struct _PARCLASS_NEGOTIATION_MASK {
- USHORT usReadMask;
- USHORT usWriteMask;
-} PARCLASS_NEGOTIATION_MASK, *PPARCLASS_NEGOTIATION_MASK;
-
-#define NONE 0x0000
-#define CENTRONICS 0x0001
-#define IEEE_COMPATIBILITY 0x0002
-#define NIBBLE 0x0004
-#define CHANNEL_NIBBLE 0x0008
-#define BYTE_BIDIR 0x0010
-#define EPP_HW 0x0020
-#define EPP_SW 0x0040
-#define EPP_ANY 0x0060
-#define BOUNDED_ECP 0x0080
-#define ECP_HW_NOIRQ 0x0100
-#define ECP_HW_IRQ 0x0200
-#define ECP_SW 0x0400
-#define ECP_ANY 0x0780
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NTDDPAR_H */
diff --git a/winsup/w32api/include/ddk/ntddpcm.h b/winsup/w32api/include/ddk/ntddpcm.h
deleted file mode 100644
index fc650750c..000000000
--- a/winsup/w32api/include/ddk/ntddpcm.h
+++ /dev/null
@@ -1,165 +0,0 @@
-/*
- * ntddpcm.h
- *
- * PCMCIA IOCTL 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 __NTDDPCM_H
-#define __NTDDPCM_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-
-#define IOCTL_PCMCIA_BASE FILE_DEVICE_CONTROLLER
-
-#define DD_PCMCIA_DEVICE_NAME "\\\\.\\Pcmcia"
-#define DD_PCMCIA_DEVICE_NAME_U L"\\\\.\\Pcmcia"
-
-#define IOCTL_GET_TUPLE_DATA \
- CTL_CODE(IOCTL_PCMCIA_BASE, 3000, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_SOCKET_INFORMATION \
- CTL_CODE(IOCTL_PCMCIA_BASE, 3004, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define DEVICE_IDENTIFIER_LENGTH 64
-#define DRIVER_NAME_LENGTH 32
-#define MANUFACTURER_NAME_LENGTH 64
-
-#define PcmciaInvalidControllerType 0xffffffff
-
-typedef struct _TUPLE_REQUEST {
- USHORT Socket;
-} TUPLE_REQUEST, *PTUPLE_REQUEST;
-
-typedef enum _PCMCIA_CONTROLLER_CLASS {
- PcmciaInvalidControllerClass = -1,
- PcmciaIntelCompatible,
- PcmciaCardBusCompatible,
- PcmciaElcController,
- PcmciaDatabook,
- PcmciaPciPcmciaBridge,
- PcmciaCirrusLogic,
- PcmciaTI,
- PcmciaTopic,
- PcmciaRicoh,
- PcmciaDatabookCB,
- PcmciaOpti,
- PcmciaTrid,
- PcmciaO2Micro,
- PcmciaNEC,
- PcmciaNEC_98
-} PCMCIA_CONTROLLER_CLASS, *PPCMCIA_CONTROLLER_CLASS;
-
-typedef struct _PCMCIA_SOCKET_INFORMATION {
- USHORT Socket;
- USHORT TupleCrc;
- UCHAR Manufacturer[MANUFACTURER_NAME_LENGTH];
- UCHAR Identifier[DEVICE_IDENTIFIER_LENGTH];
- UCHAR DriverName[DRIVER_NAME_LENGTH];
- UCHAR DeviceFunctionId;
- UCHAR Reserved;
- UCHAR CardInSocket;
- UCHAR CardEnabled;
- ULONG ControllerType;
-} PCMCIA_SOCKET_INFORMATION, *PPCMCIA_SOCKET_INFORMATION;
-
-#define PcmciaClassFromControllerType(type) ((PCMCIA_CONTROLLER_CLASS)((type) & 0xff))
-#define PcmciaModelFromControllerType(type) (((type) >> 8) & 0x3ffff)
-#define PcmciaRevisionFromControllerType(type) ((type) >> 26)
-
-
-DEFINE_GUID(GUID_PCMCIA_INTERFACE_STANDARD, \
- 0xbed5dadfL, 0x38fb, 0x11d1, 0x94, 0x62, 0x00, 0xc0, 0x4f, 0xb9, 0x60, 0xee);
-
-typedef ULONG MEMORY_SPACE;
-
-typedef ULONG STDCALL
-(*PPCMCIA_READ_WRITE_CONFIG)(
- /*IN*/ PVOID Context,
- /*IN*/ ULONG WhichSpace,
- /*IN*/ PUCHAR Buffer,
- /*IN*/ ULONG Offset,
- /*IN*/ ULONG Length);
-
-#define PCCARD_PCI_CONFIGURATION_SPACE 0
-#define PCCARD_ATTRIBUTE_MEMORY 1
-#define PCCARD_COMMON_MEMORY 2
-#define PCCARD_ATTRIBUTE_MEMORY_INDIRECT 3
-#define PCCARD_COMMON_MEMORY_INDIRECT 4
-
-typedef struct _PCMCIA_BUS_INTERFACE_STANDARD {
- USHORT Size;
- USHORT Version;
- PVOID Context;
- PINTERFACE_REFERENCE InterfaceReference;
- PINTERFACE_DEREFERENCE InterfaceDereference;
- PPCMCIA_READ_WRITE_CONFIG ReadConfig;
- PPCMCIA_READ_WRITE_CONFIG WriteConfig;
-} PCMCIA_BUS_INTERFACE_STANDARD, *PPCMCIA_BUS_INTERFACE_STANDARD;
-
-#define PCMCIA_MEMORY_8BIT_ACCESS 0
-#define PCMCIA_MEMORY_16BIT_ACCESS 1
-
-typedef BOOLEAN STDCALL
-(*PPCMCIA_MODIFY_MEMORY_WINDOW)(
- /*IN*/ PVOID Context,
- /*IN*/ ULONGLONG HostBase,
- /*IN*/ ULONGLONG CardBase,
- /*IN*/ BOOLEAN Enable,
- /*IN*/ ULONG WindowSize /*OPTIONAL*/,
- /*IN*/ UCHAR AccessSpeed /*OPTIONAL*/,
- /*IN*/ UCHAR BusWidth /*OPTIONAL*/,
- /*IN*/ BOOLEAN IsAttributeMemory /*OPTIONAL*/);
-
-#define PCMCIA_VPP_0V 0
-#define PCMCIA_VPP_12V 1
-#define PCMCIA_VPP_IS_VCC 2
-
-typedef BOOLEAN STDCALL
-(*PPCMCIA_SET_VPP)(
- /*IN*/ PVOID Context,
- /*IN*/ UCHAR VppLevel);
-
-typedef BOOLEAN STDCALL
-(*PPCMCIA_IS_WRITE_PROTECTED)(
- /*IN*/ PVOID Context);
-
-typedef struct _PCMCIA_INTERFACE_STANDARD {
- USHORT Size;
- USHORT Version;
- PINTERFACE_REFERENCE InterfaceReference;
- PINTERFACE_DEREFERENCE InterfaceDereference;
- PVOID Context;
- PPCMCIA_MODIFY_MEMORY_WINDOW ModifyMemoryWindow;
- PPCMCIA_SET_VPP SetVpp;
- PPCMCIA_IS_WRITE_PROTECTED IsWriteProtected;
-} PCMCIA_INTERFACE_STANDARD, *PPCMCIA_INTERFACE_STANDARD;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NTDDPCM_H */
diff --git a/winsup/w32api/include/ddk/ntddscsi.h b/winsup/w32api/include/ddk/ntddscsi.h
deleted file mode 100644
index 11629cbaa..000000000
--- a/winsup/w32api/include/ddk/ntddscsi.h
+++ /dev/null
@@ -1,171 +0,0 @@
-/*
- * ntddscsi.h
- *
- * SCSI port IOCTL 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 __NTDDSCSI_H
-#define __NTDDSCSI_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-
-#define DD_SCSI_DEVICE_NAME "\\Device\\ScsiPort"
-#define DD_SCSI_DEVICE_NAME_U L"\\Device\\ScsiPort"
-
-#define IOCTL_SCSI_BASE FILE_DEVICE_CONTROLLER
-
-#define IOCTL_SCSI_GET_INQUIRY_DATA \
- CTL_CODE(IOCTL_SCSI_BASE, 0x0403, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_SCSI_GET_CAPABILITIES \
- CTL_CODE(IOCTL_SCSI_BASE, 0x0404, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_SCSI_GET_ADDRESS \
- CTL_CODE(IOCTL_SCSI_BASE, 0x0406, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_SCSI_MINIPORT \
- CTL_CODE(IOCTL_SCSI_BASE, 0x0402, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-
-#define IOCTL_SCSI_PASS_THROUGH \
- CTL_CODE(IOCTL_SCSI_BASE, 0x0401, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-
-#define IOCTL_SCSI_PASS_THROUGH_DIRECT \
- CTL_CODE(IOCTL_SCSI_BASE, 0x0405, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-
-#define IOCTL_SCSI_RESCAN_BUS \
- CTL_CODE(IOCTL_SCSI_BASE, 0x0407, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-
-DEFINE_GUID(ScsiRawInterfaceGuid, \
- 0x53f56309L, 0xb6bf, 0x11d0, 0x94, 0xf2, 0x00, 0xa0, 0xc9, 0x1e, 0xfb, 0x8b);
-
-DEFINE_GUID(WmiScsiAddressGuid, \
- 0x53f5630fL, 0xb6bf, 0x11d0, 0x94, 0xf2, 0x00, 0xa0, 0xc9, 0x1e, 0xfb, 0x8b);
-
-typedef struct _SCSI_PASS_THROUGH {
- USHORT Length;
- UCHAR ScsiStatus;
- UCHAR PathId;
- UCHAR TargetId;
- UCHAR Lun;
- UCHAR CdbLength;
- UCHAR SenseInfoLength;
- UCHAR DataIn;
- ULONG DataTransferLength;
- ULONG TimeOutValue;
- ULONG_PTR DataBufferOffset;
- ULONG SenseInfoOffset;
- UCHAR Cdb[16];
-} SCSI_PASS_THROUGH, *PSCSI_PASS_THROUGH;
-
-typedef struct _SCSI_PASS_THROUGH_DIRECT {
- USHORT Length;
- UCHAR ScsiStatus;
- UCHAR PathId;
- UCHAR TargetId;
- UCHAR Lun;
- UCHAR CdbLength;
- UCHAR SenseInfoLength;
- UCHAR DataIn;
- ULONG DataTransferLength;
- ULONG TimeOutValue;
- PVOID DataBuffer;
- ULONG SenseInfoOffset;
- UCHAR Cdb[16];
-} SCSI_PASS_THROUGH_DIRECT, *PSCSI_PASS_THROUGH_DIRECT;
-
-typedef struct _SRB_IO_CONTROL {
- ULONG HeaderLength;
- UCHAR Signature[8];
- ULONG Timeout;
- ULONG ControlCode;
- ULONG ReturnCode;
- ULONG Length;
-} SRB_IO_CONTROL, *PSRB_IO_CONTROL;
-
-typedef struct _SCSI_ADDRESS {
- ULONG Length;
- UCHAR PortNumber;
- UCHAR PathId;
- UCHAR TargetId;
- UCHAR Lun;
-} SCSI_ADDRESS, *PSCSI_ADDRESS;
-
-typedef struct _SCSI_BUS_DATA {
- UCHAR NumberOfLogicalUnits;
- UCHAR InitiatorBusId;
- ULONG InquiryDataOffset;
-}SCSI_BUS_DATA, *PSCSI_BUS_DATA;
-
-typedef struct _SCSI_ADAPTER_BUS_INFO {
- UCHAR NumberOfBuses;
- SCSI_BUS_DATA BusData[1];
-} SCSI_ADAPTER_BUS_INFO, *PSCSI_ADAPTER_BUS_INFO;
-
-typedef struct _IO_SCSI_CAPABILITIES {
- ULONG Length;
- ULONG MaximumTransferLength;
- ULONG MaximumPhysicalPages;
- ULONG SupportedAsynchronousEvents;
- ULONG AlignmentMask;
- BOOLEAN TaggedQueuing;
- BOOLEAN AdapterScansDown;
- BOOLEAN AdapterUsesPio;
-} IO_SCSI_CAPABILITIES, *PIO_SCSI_CAPABILITIES;
-
-typedef struct _SCSI_INQUIRY_DATA {
- UCHAR PathId;
- UCHAR TargetId;
- UCHAR Lun;
- BOOLEAN DeviceClaimed;
- ULONG InquiryDataLength;
- ULONG NextInquiryDataOffset;
- UCHAR InquiryData[1];
-} SCSI_INQUIRY_DATA, *PSCSI_INQUIRY_DATA;
-
-#define SCSI_IOCTL_DATA_OUT 0
-#define SCSI_IOCTL_DATA_IN 1
-#define SCSI_IOCTL_DATA_UNSPECIFIED 2
-
-typedef struct _DUMP_POINTERS {
- PADAPTER_OBJECT AdapterObject;
- PVOID MappedRegisterBase;
- PVOID DumpData;
- PVOID CommonBufferVa;
- LARGE_INTEGER CommonBufferPa;
- ULONG CommonBufferSize;
- BOOLEAN AllocateCommonBuffers;
- BOOLEAN UseDiskDump;
- UCHAR Spare1[2];
- PVOID DeviceObject;
-} DUMP_POINTERS, *PDUMP_POINTERS;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NTDDSCSI_H */
diff --git a/winsup/w32api/include/ddk/ntddser.h b/winsup/w32api/include/ddk/ntddser.h
deleted file mode 100644
index cc0bd2a9f..000000000
--- a/winsup/w32api/include/ddk/ntddser.h
+++ /dev/null
@@ -1,449 +0,0 @@
-/*
- * ntddser.h
- *
- * Serial port driver 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 __NTDDSER_H
-#define __NTDDSER_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-
-/* GUIDs */
-
-DEFINE_GUID(GUID_DEVINTERFACE_COMPORT,
- 0x86e0d1e0L, 0x8089, 0x11d0, 0x9c, 0xe4, 0x08, 0x00, 0x3e, 0x30, 0x1f, 0x73);
-
-DEFINE_GUID(GUID_DEVINTERFACE_SERENUM_BUS_ENUMERATOR,
- 0x4D36E978L, 0xE325, 0x11CE, 0xBF, 0xC1, 0x08, 0x00, 0x2B, 0xE1, 0x03, 0x18);
-
-#define IOCTL_SERIAL_CLEAR_STATS \
- CTL_CODE (FILE_DEVICE_SERIAL_PORT, 36, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_CLR_DTR \
- CTL_CODE (FILE_DEVICE_SERIAL_PORT, 10, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_CLR_RTS \
- CTL_CODE (FILE_DEVICE_SERIAL_PORT, 13, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_CONFIG_SIZE \
- CTL_CODE (FILE_DEVICE_SERIAL_PORT, 32, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_GET_BAUD_RATE \
- CTL_CODE (FILE_DEVICE_SERIAL_PORT, 20, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_GET_CHARS \
- CTL_CODE (FILE_DEVICE_SERIAL_PORT, 22, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_GET_COMMSTATUS \
- CTL_CODE (FILE_DEVICE_SERIAL_PORT, 27, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_GET_DTRRTS \
- CTL_CODE (FILE_DEVICE_SERIAL_PORT, 30, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_GET_HANDFLOW \
- CTL_CODE (FILE_DEVICE_SERIAL_PORT, 24, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_GET_LINE_CONTROL \
- CTL_CODE (FILE_DEVICE_SERIAL_PORT, 21, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_GET_MODEM_CONTROL \
- CTL_CODE (FILE_DEVICE_SERIAL_PORT, 37, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_GET_MODEMSTATUS \
- CTL_CODE (FILE_DEVICE_SERIAL_PORT, 26, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_GET_PROPERTIES \
- CTL_CODE (FILE_DEVICE_SERIAL_PORT, 29, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_GET_STATS \
- CTL_CODE (FILE_DEVICE_SERIAL_PORT, 35, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_GET_TIMEOUTS \
- CTL_CODE (FILE_DEVICE_SERIAL_PORT, 8, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_GET_WAIT_MASK \
- CTL_CODE (FILE_DEVICE_SERIAL_PORT, 16, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_IMMEDIATE_CHAR \
- CTL_CODE (FILE_DEVICE_SERIAL_PORT, 6, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_LSRMST_INSERT \
- CTL_CODE (FILE_DEVICE_SERIAL_PORT, 31, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_PURGE \
- CTL_CODE (FILE_DEVICE_SERIAL_PORT, 19, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_RESET_DEVICE \
- CTL_CODE (FILE_DEVICE_SERIAL_PORT, 11, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_SET_BAUD_RATE \
- CTL_CODE (FILE_DEVICE_SERIAL_PORT, 1, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_SET_BREAK_ON \
- CTL_CODE (FILE_DEVICE_SERIAL_PORT, 4, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_SET_BREAK_OFF \
- CTL_CODE (FILE_DEVICE_SERIAL_PORT, 5, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_SET_CHARS \
- CTL_CODE (FILE_DEVICE_SERIAL_PORT, 23, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_SET_DTR \
- CTL_CODE (FILE_DEVICE_SERIAL_PORT, 9, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_SET_FIFO_CONTROL \
- CTL_CODE (FILE_DEVICE_SERIAL_PORT, 39, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_SET_HANDFLOW \
- CTL_CODE (FILE_DEVICE_SERIAL_PORT, 25, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_SET_LINE_CONTROL \
- CTL_CODE (FILE_DEVICE_SERIAL_PORT, 3, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_SET_MODEM_CONTROL \
- CTL_CODE (FILE_DEVICE_SERIAL_PORT, 38, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_SET_QUEUE_SIZE \
- CTL_CODE (FILE_DEVICE_SERIAL_PORT, 2, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_SET_RTS \
- CTL_CODE (FILE_DEVICE_SERIAL_PORT, 12, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_SET_TIMEOUTS \
- CTL_CODE (FILE_DEVICE_SERIAL_PORT, 7, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_SET_WAIT_MASK \
- CTL_CODE (FILE_DEVICE_SERIAL_PORT, 17, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_SET_XOFF \
- CTL_CODE (FILE_DEVICE_SERIAL_PORT, 14, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_SET_XON \
- CTL_CODE (FILE_DEVICE_SERIAL_PORT, 15, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_WAIT_ON_MASK \
- CTL_CODE (FILE_DEVICE_SERIAL_PORT, 18, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_XOFF_COUNTER \
- CTL_CODE (FILE_DEVICE_SERIAL_PORT, 28, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_SERIAL_INTERNAL_BASIC_SETTINGS \
- CTL_CODE (FILE_DEVICE_SERIAL_PORT, 3, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_INTERNAL_CANCEL_WAIT_WAKE \
- CTL_CODE (FILE_DEVICE_SERIAL_PORT, 2, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_INTERNAL_DO_WAIT_WAKE \
- CTL_CODE (FILE_DEVICE_SERIAL_PORT, 1, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_INTERNAL_RESTORE_SETTINGS \
- CTL_CODE (FILE_DEVICE_SERIAL_PORT, 4, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_SERENUM_PORT_DESC \
- CTL_CODE (FILE_DEVICE_SERENUM, 130, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERENUM_GET_PORT_NAME \
- CTL_CODE (FILE_DEVICE_SERENUM, 131, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_INTERNAL_SERENUM_REMOVE_SELF \
- CTL_CODE (FILE_DEVICE_SERENUM, 129, METHOD_NEITHER, FILE_ANY_ACCESS)
-
-
-typedef struct _SERIAL_BAUD_RATE {
- ULONG BaudRate;
-} SERIAL_BAUD_RATE, *PSERIAL_BAUD_RATE;
-
-/* SERIAL_BAUD_RATE.BaudRate constants */
-#define SERIAL_BAUD_075 0x00000001
-#define SERIAL_BAUD_110 0x00000002
-#define SERIAL_BAUD_134_5 0x00000004
-#define SERIAL_BAUD_150 0x00000008
-#define SERIAL_BAUD_300 0x00000010
-#define SERIAL_BAUD_600 0x00000020
-#define SERIAL_BAUD_1200 0x00000040
-#define SERIAL_BAUD_1800 0x00000080
-#define SERIAL_BAUD_2400 0x00000100
-#define SERIAL_BAUD_4800 0x00000200
-#define SERIAL_BAUD_7200 0x00000400
-#define SERIAL_BAUD_9600 0x00000800
-#define SERIAL_BAUD_14400 0x00001000
-#define SERIAL_BAUD_19200 0x00002000
-#define SERIAL_BAUD_38400 0x00004000
-#define SERIAL_BAUD_56K 0x00008000
-#define SERIAL_BAUD_128K 0x00010000
-#define SERIAL_BAUD_115200 0x00020000
-#define SERIAL_BAUD_57600 0x00040000
-#define SERIAL_BAUD_USER 0x10000000
-
-typedef struct _SERIAL_CHARS {
- UCHAR EofChar;
- UCHAR ErrorChar;
- UCHAR BreakChar;
- UCHAR EventChar;
- UCHAR XonChar;
- UCHAR XoffChar;
-} SERIAL_CHARS, *PSERIAL_CHARS;
-
-typedef struct _SERIAL_STATUS {
- ULONG Errors;
- ULONG HoldReasons;
- ULONG AmountInInQueue;
- ULONG AmountInOutQueue;
- BOOLEAN EofReceived;
- BOOLEAN WaitForImmediate;
-} SERIAL_STATUS, *PSERIAL_STATUS;
-
-typedef struct _SERIAL_HANDFLOW {
- ULONG ControlHandShake;
- ULONG FlowReplace;
- LONG XonLimit;
- LONG XoffLimit;
-} SERIAL_HANDFLOW, *PSERIAL_HANDFLOW;
-
-#define SERIAL_DTR_MASK 0x00000003
-#define SERIAL_DTR_CONTROL 0x00000001
-#define SERIAL_DTR_HANDSHAKE 0x00000002
-#define SERIAL_CTS_HANDSHAKE 0x00000008
-#define SERIAL_DSR_HANDSHAKE 0x00000010
-#define SERIAL_DCD_HANDSHAKE 0x00000020
-#define SERIAL_OUT_HANDSHAKEMASK 0x00000038
-#define SERIAL_DSR_SENSITIVITY 0x00000040
-#define SERIAL_ERROR_ABORT 0x80000000
-#define SERIAL_CONTROL_INVALID 0x7fffff84
-#define SERIAL_AUTO_TRANSMIT 0x00000001
-#define SERIAL_AUTO_RECEIVE 0x00000002
-#define SERIAL_ERROR_CHAR 0x00000004
-#define SERIAL_NULL_STRIPPING 0x00000008
-#define SERIAL_BREAK_CHAR 0x00000010
-#define SERIAL_RTS_MASK 0x000000c0
-#define SERIAL_RTS_CONTROL 0x00000040
-#define SERIAL_RTS_HANDSHAKE 0x00000080
-#define SERIAL_TRANSMIT_TOGGLE 0x000000c0
-#define SERIAL_XOFF_CONTINUE 0x80000000
-#define SERIAL_FLOW_INVALID 0x7fffff20
-
-typedef struct _SERIAL_LINE_CONTROL {
- UCHAR StopBits;
- UCHAR Parity;
- UCHAR WordLength;
-} SERIAL_LINE_CONTROL, *PSERIAL_LINE_CONTROL;
-
-/* SERIAL_LINE_CONTROL.StopBits constants */
-#define STOP_BIT_1 0x00
-#define STOP_BITS_1_5 0x01
-#define STOP_BITS_2 0x02
-
-/* SERIAL_LINE_CONTROL.Parity constants */
-#define NO_PARITY 0x00
-#define ODD_PARITY 0x01
-#define EVEN_PARITY 0x02
-#define MARK_PARITY 0x03
-#define SPACE_PARITY 0x04
-
-/* IOCTL_SERIAL_(GET_MODEM_CONTROL, SET_MODEM_CONTROL) flags */
-#define SERIAL_IOC_MCR_DTR 0x00000001
-#define SERIAL_IOC_MCR_RTS 0x00000002
-#define SERIAL_IOC_MCR_OUT1 0x00000004
-#define SERIAL_IOC_MCR_OUT2 0x00000008
-#define SERIAL_IOC_MCR_LOOP 0x00000010
-
-typedef struct _SERIAL_COMMPROP {
- USHORT PacketLength;
- USHORT PacketVersion;
- ULONG ServiceMask;
- ULONG Reserved1;
- ULONG MaxTxQueue;
- ULONG MaxRxQueue;
- ULONG MaxBaud;
- ULONG ProvSubType;
- ULONG ProvCapabilities;
- ULONG SettableParams;
- ULONG SettableBaud;
- USHORT SettableData;
- USHORT SettableStopParity;
- ULONG CurrentTxQueue;
- ULONG CurrentRxQueue;
- ULONG ProvSpec1;
- ULONG ProvSpec2;
- WCHAR ProvChar[1];
-} SERIAL_COMMPROP, *PSERIAL_COMMPROP;
-
-/* SERIAL_COMMPROP.SettableParams flags */
-#define SERIAL_SP_PARITY 0x0001
-#define SERIAL_SP_BAUD 0x0002
-#define SERIAL_SP_DATABITS 0x0004
-#define SERIAL_SP_STOPBITS 0x0008
-#define SERIAL_SP_HANDSHAKING 0x0010
-#define SERIAL_SP_PARITY_CHECK 0x0020
-#define SERIAL_SP_CARRIER_DETECT 0x0040
-
-/* SERIAL_COMMPROP.ProvCapabilities flags */
-#define SERIAL_PCF_DTRDSR 0x00000001
-#define SERIAL_PCF_RTSCTS 0x00000002
-#define SERIAL_PCF_CD 0x00000004
-#define SERIAL_PCF_PARITY_CHECK 0x00000008
-#define SERIAL_PCF_XONXOFF 0x00000010
-#define SERIAL_PCF_SETXCHAR 0x00000020
-#define SERIAL_PCF_TOTALTIMEOUTS 0x00000040
-#define SERIAL_PCF_INTTIMEOUTS 0x00000080
-#define SERIAL_PCF_SPECIALCHARS 0x00000100
-#define SERIAL_PCF_16BITMODE 0x00000200
-
-/* SERIAL_COMMPROP.SettableData flags */
-#define SERIAL_DATABITS_5 0x0001
-#define SERIAL_DATABITS_6 0x0002
-#define SERIAL_DATABITS_7 0x0004
-#define SERIAL_DATABITS_8 0x0008
-#define SERIAL_DATABITS_16 0x0010
-#define SERIAL_DATABITS_16X 0x0020
-
-/* SERIAL_COMMPROP.SettableStopParity flags */
-#define SERIAL_STOPBITS_10 0x0001
-#define SERIAL_STOPBITS_15 0x0002
-#define SERIAL_STOPBITS_20 0x0004
-#define SERIAL_PARITY_NONE 0x0100
-#define SERIAL_PARITY_ODD 0x0200
-#define SERIAL_PARITY_EVEN 0x0400
-#define SERIAL_PARITY_MARK 0x0800
-#define SERIAL_PARITY_SPACE 0x1000
-
-typedef struct _SERIALPERF_STATS {
- ULONG ReceivedCount;
- ULONG TransmittedCount;
- ULONG FrameErrorCount;
- ULONG SerialOverrunErrorCount;
- ULONG BufferOverrunErrorCount;
- ULONG ParityErrorCount;
-} SERIALPERF_STATS, *PSERIALPERF_STATS;
-
-typedef struct _SERIAL_TIMEOUTS {
- ULONG ReadIntervalTimeout;
- ULONG ReadTotalTimeoutMultiplier;
- ULONG ReadTotalTimeoutConstant;
- ULONG WriteTotalTimeoutMultiplier;
- ULONG WriteTotalTimeoutConstant;
-} SERIAL_TIMEOUTS, *PSERIAL_TIMEOUTS;
-
-/* IOCTL_SERIAL_(GET_WAIT_MASK, SET_WAIT_MASK, WAIT_ON_MASK) flags */
-#define SERIAL_EV_RXCHAR 0x0001
-#define SERIAL_EV_RXFLAG 0x0002
-#define SERIAL_EV_TXEMPTY 0x0004
-#define SERIAL_EV_CTS 0x0008
-#define SERIAL_EV_DSR 0x0010
-#define SERIAL_EV_RLSD 0x0020
-#define SERIAL_EV_BREAK 0x0040
-#define SERIAL_EV_ERR 0x0080
-#define SERIAL_EV_RING 0x0100
-#define SERIAL_EV_PERR 0x0200
-#define SERIAL_EV_RX80FULL 0x0400
-#define SERIAL_EV_EVENT1 0x0800
-#define SERIAL_EV_EVENT2 0x1000
-
-/* IOCTL_SERIAL_LSRMST_INSERT constants */
-#define SERIAL_LSRMST_LSR_DATA 0x01
-#define SERIAL_LSRMST_LSR_NODATA 0x02
-#define SERIAL_LSRMST_MST 0x03
-#define SERIAL_LSRMST_ESCAPE 0x00
-
-/* IOCTL_SERIAL_PURGE constants */
-#define SERIAL_PURGE_TXABORT 0x00000001
-#define SERIAL_PURGE_RXABORT 0x00000002
-#define SERIAL_PURGE_TXCLEAR 0x00000004
-#define SERIAL_PURGE_RXCLEAR 0x00000008
-
-/* IOCTL_SERIAL_SET_FIFO_CONTROL constants */
-#define SERIAL_IOC_FCR_FIFO_ENABLE 0x00000001
-#define SERIAL_IOC_FCR_RCVR_RESET 0x00000002
-#define SERIAL_IOC_FCR_XMIT_RESET 0x00000004
-#define SERIAL_IOC_FCR_DMA_MODE 0x00000008
-#define SERIAL_IOC_FCR_RES1 0x00000010
-#define SERIAL_IOC_FCR_RES2 0x00000020
-#define SERIAL_IOC_FCR_RCVR_TRIGGER_LSB 0x00000040
-#define SERIAL_IOC_FCR_RCVR_TRIGGER_MSB 0x00000080
-
-typedef struct _SERIAL_QUEUE_SIZE {
- ULONG InSize;
- ULONG OutSize;
-} SERIAL_QUEUE_SIZE, *PSERIAL_QUEUE_SIZE;
-
-typedef struct _SERIAL_XOFF_COUNTER {
- ULONG Timeout;
- LONG Counter;
- UCHAR XoffChar;
-} SERIAL_XOFF_COUNTER, *PSERIAL_XOFF_COUNTER;
-
-typedef struct _SERIAL_BASIC_SETTINGS {
- SERIAL_TIMEOUTS Timeouts;
- SERIAL_HANDFLOW HandFlow;
- ULONG RxFifo;
- ULONG TxFifo;
-} SERIAL_BASIC_SETTINGS, *PSERIAL_BASIC_SETTINGS;
-
-typedef struct _SERENUM_PORT_DESC {
- ULONG Size;
- PVOID PortHandle;
- PHYSICAL_ADDRESS PortAddress;
- USHORT Reserved[1];
-} SERENUM_PORT_DESC, *PSERENUM_PORT_DESC;
-
-typedef UCHAR STDCALL
-(*PSERENUM_READPORT)(
- PVOID SerPortAddress);
-
-typedef VOID STDCALL
-(*PSERENUM_WRITEPORT)(
- PVOID SerPortAddress,
- UCHAR Value);
-
-typedef enum _SERENUM_PORTION {
- SerenumFirstHalf,
- SerenumSecondHalf,
- SerenumWhole
-} SERENUM_PORTION;
-
-typedef struct _SERENUM_PORT_PARAMETERS {
- ULONG Size;
- PSERENUM_READPORT ReadAccessor;
- PSERENUM_WRITEPORT WriteAccessor;
- PVOID SerPortAddress;
- PVOID HardwareHandle;
- SERENUM_PORTION Portion;
- USHORT NumberAxis;
- USHORT Reserved[3];
-} SERENUM_PORT_PARAMETERS, *PSERENUM_PORT_PARAMETERS;
-
-#define SERIAL_ERROR_BREAK 0x00000001
-#define SERIAL_ERROR_FRAMING 0x00000002
-#define SERIAL_ERROR_OVERRUN 0x00000004
-#define SERIAL_ERROR_QUEUEOVERRUN 0x00000008
-#define SERIAL_ERROR_PARITY 0x00000010
-
-#define SERIAL_SP_UNSPECIFIED 0x00000000
-#define SERIAL_SP_RS232 0x00000001
-#define SERIAL_SP_PARALLEL 0x00000002
-#define SERIAL_SP_RS422 0x00000003
-#define SERIAL_SP_RS423 0x00000004
-#define SERIAL_SP_RS449 0x00000005
-#define SERIAL_SP_MODEM 0X00000006
-#define SERIAL_SP_FAX 0x00000021
-#define SERIAL_SP_SCANNER 0x00000022
-#define SERIAL_SP_BRIDGE 0x00000100
-#define SERIAL_SP_LAT 0x00000101
-#define SERIAL_SP_TELNET 0x00000102
-#define SERIAL_SP_X25 0x00000103
-#define SERIAL_SP_SERIALCOMM 0x00000001
-
-#define SERIAL_TX_WAITING_FOR_CTS 0x00000001
-#define SERIAL_TX_WAITING_FOR_DSR 0x00000002
-#define SERIAL_TX_WAITING_FOR_DCD 0x00000004
-#define SERIAL_TX_WAITING_FOR_XON 0x00000008
-#define SERIAL_TX_WAITING_XOFF_SENT 0x00000010
-#define SERIAL_TX_WAITING_ON_BREAK 0x00000020
-#define SERIAL_RX_WAITING_FOR_DSR 0x00000040
-
-#define SERIAL_DTR_STATE 0x00000001
-#define SERIAL_RTS_STATE 0x00000002
-#define SERIAL_CTS_STATE 0x00000010
-#define SERIAL_DSR_STATE 0x00000020
-#define SERIAL_RI_STATE 0x00000040
-#define SERIAL_DCD_STATE 0x00000080
-
-typedef struct _SERIALCONFIG {
- ULONG Size;
- USHORT Version;
- ULONG SubType;
- ULONG ProvOffset;
- ULONG ProviderSize;
- WCHAR ProviderData[1];
-} SERIALCONFIG,*PSERIALCONFIG;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NTDDSER_H */
diff --git a/winsup/w32api/include/ddk/ntddstor.h b/winsup/w32api/include/ddk/ntddstor.h
deleted file mode 100644
index 232834aab..000000000
--- a/winsup/w32api/include/ddk/ntddstor.h
+++ /dev/null
@@ -1,333 +0,0 @@
-/*
- * ntddstor.h
- *
- * Storage class IOCTL 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 __NTDDSTOR_H
-#define __NTDDSTOR_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-
-#define IOCTL_STORAGE_BASE FILE_DEVICE_MASS_STORAGE
-
-#define IOCTL_STORAGE_CHECK_VERIFY \
- CTL_CODE(IOCTL_STORAGE_BASE, 0x0200, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_STORAGE_CHECK_VERIFY2 \
- CTL_CODE(IOCTL_STORAGE_BASE, 0x0200, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_STORAGE_EJECT_MEDIA \
- CTL_CODE(IOCTL_STORAGE_BASE, 0x0202, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_STORAGE_EJECTION_CONTROL \
- CTL_CODE(IOCTL_STORAGE_BASE, 0x0250, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_STORAGE_FIND_NEW_DEVICES \
- CTL_CODE(IOCTL_STORAGE_BASE, 0x0206, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_STORAGE_GET_DEVICE_NUMBER \
- CTL_CODE(IOCTL_STORAGE_BASE, 0x0420, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_STORAGE_GET_MEDIA_SERIAL_NUMBER \
- CTL_CODE(IOCTL_STORAGE_BASE, 0x0304, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_STORAGE_GET_MEDIA_TYPES \
- CTL_CODE(IOCTL_STORAGE_BASE, 0x0300, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_STORAGE_GET_MEDIA_TYPES_EX \
- CTL_CODE(IOCTL_STORAGE_BASE, 0x0301, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_STORAGE_LOAD_MEDIA \
- CTL_CODE(IOCTL_STORAGE_BASE, 0x0203, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_STORAGE_LOAD_MEDIA2 \
- CTL_CODE(IOCTL_STORAGE_BASE, 0x0203, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_STORAGE_MCN_CONTROL \
- CTL_CODE(IOCTL_STORAGE_BASE, 0x0251, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_STORAGE_MEDIA_REMOVAL \
- CTL_CODE(IOCTL_STORAGE_BASE, 0x0201, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_STORAGE_PREDICT_FAILURE \
- CTL_CODE(IOCTL_STORAGE_BASE, 0x0440, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_STORAGE_QUERY_PROPERTY \
- CTL_CODE(IOCTL_STORAGE_BASE, 0x0500, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_STORAGE_RELEASE \
- CTL_CODE(IOCTL_STORAGE_BASE, 0x0205, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_STORAGE_RESERVE \
- CTL_CODE(IOCTL_STORAGE_BASE, 0x0204, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_STORAGE_RESET_BUS \
- CTL_CODE(IOCTL_STORAGE_BASE, 0x0400, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-
-#define IOCTL_STORAGE_RESET_DEVICE \
- CTL_CODE(IOCTL_STORAGE_BASE, 0x0401, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-
-
-DEFINE_GUID(GUID_DEVINTERFACE_DISK,
- 0x53f56307L, 0xb6bf, 0x11d0, 0x94, 0xf2, 0x00, 0xa0, 0xc9, 0x1e, 0xfb, 0x8b);
-
-DEFINE_GUID(GUID_DEVINTERFACE_CDROM,
- 0x53f56308L, 0xb6bf, 0x11d0, 0x94, 0xf2, 0x00, 0xa0, 0xc9, 0x1e, 0xfb, 0x8b);
-
-DEFINE_GUID(GUID_DEVINTERFACE_PARTITION,
- 0x53f5630aL, 0xb6bf, 0x11d0, 0x94, 0xf2, 0x00, 0xa0, 0xc9, 0x1e, 0xfb, 0x8b);
-
-DEFINE_GUID(GUID_DEVINTERFACE_TAPE,
- 0x53f5630bL, 0xb6bf, 0x11d0, 0x94, 0xf2, 0x00, 0xa0, 0xc9, 0x1e, 0xfb, 0x8b);
-
-DEFINE_GUID(GUID_DEVINTERFACE_WRITEONCEDISK,
- 0x53f5630cL, 0xb6bf, 0x11d0, 0x94, 0xf2, 0x00, 0xa0, 0xc9, 0x1e, 0xfb, 0x8b);
-
-DEFINE_GUID(GUID_DEVINTERFACE_VOLUME,
- 0x53f5630dL, 0xb6bf, 0x11d0, 0x94, 0xf2, 0x00, 0xa0, 0xc9, 0x1e, 0xfb, 0x8b);
-
-DEFINE_GUID(GUID_DEVINTERFACE_MEDIUMCHANGER,
- 0x53f56310L, 0xb6bf, 0x11d0, 0x94, 0xf2, 0x00, 0xa0, 0xc9, 0x1e, 0xfb, 0x8b);
-
-DEFINE_GUID(GUID_DEVINTERFACE_FLOPPY,
- 0x53f56311L, 0xb6bf, 0x11d0, 0x94, 0xf2, 0x00, 0xa0, 0xc9, 0x1e, 0xfb, 0x8b);
-
-DEFINE_GUID(GUID_DEVINTERFACE_CDCHANGER,
- 0x53f56312L, 0xb6bf, 0x11d0, 0x94, 0xf2, 0x00, 0xa0, 0xc9, 0x1e, 0xfb, 0x8b);
-
-DEFINE_GUID(GUID_DEVINTERFACE_STORAGEPORT,
- 0x2accfe60L, 0xc130, 0x11d2, 0xb0, 0x82, 0x00, 0xa0, 0xc9, 0x1e, 0xfb, 0x8b);
-
-
-typedef enum _STORAGE_MEDIA_TYPE {
- DDS_4mm = 0x20,
- MiniQic,
- Travan,
- QIC,
- MP_8mm,
- AME_8mm,
- AIT1_8mm,
- DLT,
- NCTP,
- IBM_3480,
- IBM_3490E,
- IBM_Magstar_3590,
- IBM_Magstar_MP,
- STK_DATA_D3,
- SONY_DTF,
- DV_6mm,
- DMI,
- SONY_D2,
- CLEANER_CARTRIDGE,
- CD_ROM,
- CD_R,
- CD_RW,
- DVD_ROM,
- DVD_R,
- DVD_RW,
- MO_3_RW,
- MO_5_WO,
- MO_5_RW,
- MO_5_LIMDOW,
- PC_5_WO,
- PC_5_RW,
- PD_5_RW,
- ABL_5_WO,
- PINNACLE_APEX_5_RW,
- SONY_12_WO,
- PHILIPS_12_WO,
- HITACHI_12_WO,
- CYGNET_12_WO,
- KODAK_14_WO,
- MO_NFR_525,
- NIKON_12_RW,
- IOMEGA_ZIP,
- IOMEGA_JAZ,
- SYQUEST_EZ135,
- SYQUEST_EZFLYER,
- SYQUEST_SYJET,
- AVATAR_F2,
- MP2_8mm,
- DST_S,
- DST_M,
- DST_L,
- VXATape_1,
- VXATape_2,
- STK_9840,
- LTO_Ultrium,
- LTO_Accelis,
- DVD_RAM,
- AIT_8mm,
- ADR_1,
- ADR_2
-} STORAGE_MEDIA_TYPE, *PSTORAGE_MEDIA_TYPE;
-
-typedef enum _STORAGE_BUS_TYPE {
- BusTypeUnknown = 0x00,
- BusTypeScsi,
- BusTypeAtapi,
- BusTypeAta,
- BusType1394,
- BusTypeSsa,
- BusTypeFibre,
- BusTypeUsb,
- BusTypeRAID,
- BusTypeMaxReserved = 0x7F
-} STORAGE_BUS_TYPE, *PSTORAGE_BUS_TYPE;
-
-/* DEVICE_MEDIA_INFO.DeviceSpecific.DiskInfo.MediaCharacteristics constants */
-#define MEDIA_ERASEABLE 0x00000001
-#define MEDIA_WRITE_ONCE 0x00000002
-#define MEDIA_READ_ONLY 0x00000004
-#define MEDIA_READ_WRITE 0x00000008
-#define MEDIA_WRITE_PROTECTED 0x00000100
-#define MEDIA_CURRENTLY_MOUNTED 0x80000000
-
-typedef struct _DEVICE_MEDIA_INFO {
- union {
- struct {
- LARGE_INTEGER Cylinders;
- STORAGE_MEDIA_TYPE MediaType;
- ULONG TracksPerCylinder;
- ULONG SectorsPerTrack;
- ULONG BytesPerSector;
- ULONG NumberMediaSides;
- ULONG MediaCharacteristics;
- } DiskInfo;
- struct {
- LARGE_INTEGER Cylinders;
- STORAGE_MEDIA_TYPE MediaType;
- ULONG TracksPerCylinder;
- ULONG SectorsPerTrack;
- ULONG BytesPerSector;
- ULONG NumberMediaSides;
- ULONG MediaCharacteristics;
- } RemovableDiskInfo;
- struct {
- STORAGE_MEDIA_TYPE MediaType;
- ULONG MediaCharacteristics;
- ULONG CurrentBlockSize;
- STORAGE_BUS_TYPE BusType;
- union {
- struct {
- UCHAR MediumType;
- UCHAR DensityCode;
- } ScsiInformation;
- } BusSpecificData;
- } TapeInfo;
- } DeviceSpecific;
-} DEVICE_MEDIA_INFO, *PDEVICE_MEDIA_INFO;
-
-typedef struct _GET_MEDIA_TYPES {
- ULONG DeviceType;
- ULONG MediaInfoCount;
- DEVICE_MEDIA_INFO MediaInfo[1];
-} GET_MEDIA_TYPES, *PGET_MEDIA_TYPES;
-
-typedef struct _STORAGE_ADAPTER_DESCRIPTOR {
- ULONG Version;
- ULONG Size;
- ULONG MaximumTransferLength;
- ULONG MaximumPhysicalPages;
- ULONG AlignmentMask;
- BOOLEAN AdapterUsesPio;
- BOOLEAN AdapterScansDown;
- BOOLEAN CommandQueueing;
- BOOLEAN AcceleratedTransfer;
- STORAGE_BUS_TYPE BusType;
- USHORT BusMajorVersion;
- USHORT BusMinorVersion;
-} STORAGE_ADAPTER_DESCRIPTOR, *PSTORAGE_ADAPTER_DESCRIPTOR;
-
-typedef struct _STORAGE_BUS_RESET_REQUEST {
- UCHAR PathId;
-} STORAGE_BUS_RESET_REQUEST, *PSTORAGE_BUS_RESET_REQUEST;
-
-typedef struct _STORAGE_DESCRIPTOR_HEADER {
- ULONG Version;
- ULONG Size;
-} STORAGE_DESCRIPTOR_HEADER, *PSTORAGE_DESCRIPTOR_HEADER;
-
-typedef struct _STORAGE_DEVICE_DESCRIPTOR {
- ULONG Version;
- ULONG Size;
- UCHAR DeviceType;
- UCHAR DeviceTypeModifier;
- BOOLEAN RemovableMedia;
- BOOLEAN CommandQueueing;
- ULONG VendorIdOffset;
- ULONG ProductIdOffset;
- ULONG ProductRevisionOffset;
- ULONG SerialNumberOffset;
- STORAGE_BUS_TYPE BusType;
- ULONG RawPropertiesLength;
- UCHAR RawDeviceProperties[1];
-} STORAGE_DEVICE_DESCRIPTOR, *PSTORAGE_DEVICE_DESCRIPTOR;
-
-typedef struct _STORAGE_DEVICE_ID_DESCRIPTOR {
- ULONG Version;
- ULONG Size;
- ULONG NumberOfIdentifiers;
- UCHAR Identifiers[1];
-} STORAGE_DEVICE_ID_DESCRIPTOR, *PSTORAGE_DEVICE_ID_DESCRIPTOR;
-
-typedef struct _STORAGE_DEVICE_NUMBER {
- DEVICE_TYPE DeviceType;
- ULONG DeviceNumber;
- ULONG PartitionNumber;
-} STORAGE_DEVICE_NUMBER, *PSTORAGE_DEVICE_NUMBER;
-
-typedef struct _STORAGE_PREDICT_FAILURE {
- ULONG PredictFailure;
- UCHAR VendorSpecific[512];
-} STORAGE_PREDICT_FAILURE, *PSTORAGE_PREDICT_FAILURE;
-
-typedef enum _STORAGE_PROPERTY_ID {
- StorageDeviceProperty = 0,
- StorageAdapterProperty,
- StorageDeviceIdProperty
-} STORAGE_PROPERTY_ID, *PSTORAGE_PROPERTY_ID;
-
-typedef enum _STORAGE_QUERY_TYPE {
- PropertyStandardQuery = 0,
- PropertyExistsQuery,
- PropertyMaskQuery,
- PropertyQueryMaxDefined
-} STORAGE_QUERY_TYPE, *PSTORAGE_QUERY_TYPE;
-
-typedef struct _STORAGE_PROPERTY_QUERY {
- STORAGE_PROPERTY_ID PropertyId;
- STORAGE_QUERY_TYPE QueryType;
- UCHAR AdditionalParameters[1];
-} STORAGE_PROPERTY_QUERY, *PSTORAGE_PROPERTY_QUERY;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NTDDSTOR_H */
diff --git a/winsup/w32api/include/ddk/ntddtape.h b/winsup/w32api/include/ddk/ntddtape.h
deleted file mode 100644
index 1b3b04990..000000000
--- a/winsup/w32api/include/ddk/ntddtape.h
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * ntddtape.h
- *
- * Tape device IOCTL 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 __NTDDTAPE_H
-#define __NTDDTAPE_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-#include "ntddstor.h"
-
-#define DD_TAPE_DEVICE_NAME "\\Device\\Tape"
-#define DD_TAPE_DEVICE_NAME_U L"\\Device\\Tape"
-
-#define IOCTL_TAPE_BASE FILE_DEVICE_TAPE
-
-#define IOCTL_TAPE_CHECK_VERIFY CTL_CODE(IOCTL_TAPE_BASE, 0x0200, METHOD_BUFFERED, FILE_READ_ACCESS)
-#define IOCTL_TAPE_CREATE_PARTITION CTL_CODE(IOCTL_TAPE_BASE, 0x000a, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-#define IOCTL_TAPE_ERASE CTL_CODE(IOCTL_TAPE_BASE, 0x0000, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-#define IOCTL_TAPE_FIND_NEW_DEVICES CTL_CODE(IOCTL_DISK_BASE, 0x0206, METHOD_BUFFERED, FILE_READ_ACCESS)
-#define IOCTL_TAPE_GET_DRIVE_PARAMS CTL_CODE(IOCTL_TAPE_BASE, 0x0005, METHOD_BUFFERED, FILE_READ_ACCESS)
-#define IOCTL_TAPE_GET_MEDIA_PARAMS CTL_CODE(IOCTL_TAPE_BASE, 0x0007, METHOD_BUFFERED, FILE_READ_ACCESS)
-#define IOCTL_TAPE_GET_POSITION CTL_CODE(IOCTL_TAPE_BASE, 0x0003, METHOD_BUFFERED, FILE_READ_ACCESS)
-#define IOCTL_TAPE_GET_STATUS CTL_CODE(IOCTL_TAPE_BASE, 0x0009, METHOD_BUFFERED, FILE_READ_ACCESS )
-
-#define IOCTL_TAPE_PREPARE CTL_CODE(IOCTL_TAPE_BASE, 0x0001, METHOD_BUFFERED, FILE_READ_ACCESS)
-#define IOCTL_TAPE_SET_DRIVE_PARAMS CTL_CODE(IOCTL_TAPE_BASE, 0x0006, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-#define IOCTL_TAPE_SET_MEDIA_PARAMS CTL_CODE(IOCTL_TAPE_BASE, 0x0008, METHOD_BUFFERED, FILE_READ_ACCESS)
-#define IOCTL_TAPE_SET_POSITION CTL_CODE(IOCTL_TAPE_BASE, 0x0004, METHOD_BUFFERED, FILE_READ_ACCESS)
-#define IOCTL_TAPE_WRITE_MARKS CTL_CODE(IOCTL_TAPE_BASE, 0x0002, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-
-
-typedef enum _TAPE_DRIVE_PROBLEM_TYPE {
- TapeDriveProblemNone,
- TapeDriveReadWriteWarning,
- TapeDriveReadWriteError,
- TapeDriveReadWarning,
- TapeDriveWriteWarning,
- TapeDriveReadError,
- TapeDriveWriteError,
- TapeDriveHardwareError,
- TapeDriveUnsupportedMedia,
- TapeDriveScsiConnectionError,
- TapeDriveTimetoClean,
- TapeDriveCleanDriveNow,
- TapeDriveMediaLifeExpired,
- TapeDriveSnappedTape
-} TAPE_DRIVE_PROBLEM_TYPE;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NTDDTAPE_H */
diff --git a/winsup/w32api/include/ddk/ntddtdi.h b/winsup/w32api/include/ddk/ntddtdi.h
deleted file mode 100644
index e90767006..000000000
--- a/winsup/w32api/include/ddk/ntddtdi.h
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * ntddtdi.h
- *
- * TDI IOCTL 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 __NTDDTDI_H
-#define __NTDDTDI_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-
-#define DD_TDI_DEVICE_NAME "\\Device\\UNKNOWN"
-#define DD_TDI_DEVICE_NAME_U L"\\Device\\UNKNOWN"
-
-#define _TDI_CONTROL_CODE(Request, Method) \
- CTL_CODE(FILE_DEVICE_TRANSPORT, Request, Method, FILE_ANY_ACCESS)
-
-#define IOCTL_TDI_ACCEPT _TDI_CONTROL_CODE(0, METHOD_BUFFERED)
-#define IOCTL_TDI_CONNECT _TDI_CONTROL_CODE(1, METHOD_BUFFERED)
-#define IOCTL_TDI_DISCONNECT _TDI_CONTROL_CODE(2, METHOD_BUFFERED)
-#define IOCTL_TDI_LISTEN _TDI_CONTROL_CODE(3, METHOD_BUFFERED)
-#define IOCTL_TDI_QUERY_INFORMATION _TDI_CONTROL_CODE(4, METHOD_OUT_DIRECT)
-#define IOCTL_TDI_RECEIVE _TDI_CONTROL_CODE(5, METHOD_OUT_DIRECT)
-#define IOCTL_TDI_RECEIVE_DATAGRAM _TDI_CONTROL_CODE(6, METHOD_OUT_DIRECT)
-#define IOCTL_TDI_SEND _TDI_CONTROL_CODE(7, METHOD_IN_DIRECT)
-#define IOCTL_TDI_SEND_DATAGRAM _TDI_CONTROL_CODE(8, METHOD_IN_DIRECT)
-#define IOCTL_TDI_SET_EVENT_HANDLER _TDI_CONTROL_CODE(9, METHOD_BUFFERED)
-#define IOCTL_TDI_SET_INFORMATION _TDI_CONTROL_CODE(10, METHOD_IN_DIRECT)
-#define IOCTL_TDI_ASSOCIATE_ADDRESS _TDI_CONTROL_CODE(11, METHOD_BUFFERED)
-#define IOCTL_TDI_DISASSOCIATE_ADDRESS _TDI_CONTROL_CODE(12, METHOD_BUFFERED)
-#define IOCTL_TDI_ACTION _TDI_CONTROL_CODE(13, METHOD_OUT_DIRECT)
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NTDDTDI_H */
diff --git a/winsup/w32api/include/ddk/ntddvdeo.h b/winsup/w32api/include/ddk/ntddvdeo.h
deleted file mode 100644
index 2027de0b0..000000000
--- a/winsup/w32api/include/ddk/ntddvdeo.h
+++ /dev/null
@@ -1,440 +0,0 @@
-/*
- * ntddvdeo.h
- *
- * Definitions for video devices
- *
- * 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 __NTDDVDEO_H
-#define __NTDDVDEO_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-
-
-#define VIDEO_DEVICE_NAME "DISPLAY%d"
-#define WVIDEO_DEVICE_NAME L"DISPLAY%d"
-
-#define DD_FULLSCREEN_VIDEO_DEVICE_NAME L"\\Device\\FSVideo"
-
-DEFINE_GUID(GUID_DEVINTERFACE_DISPLAY_ADAPTER, \
- 0x5b45201d, 0xf2f2, 0x4f3b, 0x85, 0xbb, 0x30, 0xff, 0x1f, 0x95, 0x35, 0x99);
-
-
-#define IOCTL_VIDEO_DISABLE_CURSOR \
- CTL_CODE (FILE_DEVICE_VIDEO, 0x109, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_DISABLE_POINTER \
- CTL_CODE(FILE_DEVICE_VIDEO, 0x10f, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_ENABLE_CURSOR \
- CTL_CODE(FILE_DEVICE_VIDEO, 0x108, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_ENABLE_POINTER \
- CTL_CODE(FILE_DEVICE_VIDEO, 0x10e, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_FREE_PUBLIC_ACCESS_RANGES \
- CTL_CODE(FILE_DEVICE_VIDEO, 0x119, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_GET_BANK_SELECT_CODE \
- CTL_CODE(FILE_DEVICE_VIDEO, 0x115, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_GET_CHILD_STATE \
- CTL_CODE(FILE_DEVICE_VIDEO, 0x120, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_GET_POWER_MANAGEMENT \
- CTL_CODE(FILE_DEVICE_VIDEO, 0x11c, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_HANDLE_VIDEOPARAMETERS \
- CTL_CODE(FILE_DEVICE_VIDEO, 0x08, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_LOAD_AND_SET_FONT \
- CTL_CODE(FILE_DEVICE_VIDEO, 0x105, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_MAP_VIDEO_MEMORY \
- CTL_CODE(FILE_DEVICE_VIDEO, 0x116, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_QUERY_AVAIL_MODES \
- CTL_CODE(FILE_DEVICE_VIDEO, 0x100, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_QUERY_COLOR_CAPABILITIES \
- CTL_CODE(FILE_DEVICE_VIDEO, 0x11a, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_QUERY_CURRENT_MODE \
- CTL_CODE(FILE_DEVICE_VIDEO, 0x102, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_QUERY_CURSOR_ATTR \
- CTL_CODE(FILE_DEVICE_VIDEO, 0x10b, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_QUERY_CURSOR_POSITION \
- CTL_CODE(FILE_DEVICE_VIDEO, 0x10d, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_QUERY_NUM_AVAIL_MODES \
- CTL_CODE(FILE_DEVICE_VIDEO, 0x101, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_QUERY_POINTER_ATTR \
- CTL_CODE(FILE_DEVICE_VIDEO, 0x111, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_QUERY_POINTER_CAPABILITIES \
- CTL_CODE(FILE_DEVICE_VIDEO, 0x114, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_QUERY_POINTER_POSITION \
- CTL_CODE(FILE_DEVICE_VIDEO, 0x113, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_QUERY_PUBLIC_ACCESS_RANGES \
- CTL_CODE(FILE_DEVICE_VIDEO, 0x118, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_RESET_DEVICE \
- CTL_CODE(FILE_DEVICE_VIDEO, 0x104, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_RESTORE_HARDWARE_STATE \
- CTL_CODE(FILE_DEVICE_VIDEO, 0x81, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_SAVE_HARDWARE_STATE \
- CTL_CODE(FILE_DEVICE_VIDEO, 0x80, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_SET_CHILD_STATE_CONFIGURATION \
- CTL_CODE(FILE_DEVICE_VIDEO, 0x122, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_SET_COLOR_REGISTERS \
- CTL_CODE(FILE_DEVICE_VIDEO, 0x107, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_SET_CURRENT_MODE \
- CTL_CODE(FILE_DEVICE_VIDEO, 0x103, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_SET_CURSOR_ATTR \
- CTL_CODE(FILE_DEVICE_VIDEO, 0x10a, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_SET_CURSOR_POSITION \
- CTL_CODE(FILE_DEVICE_VIDEO, 0x10c, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_SET_PALETTE_REGISTERS \
- CTL_CODE(FILE_DEVICE_VIDEO, 0x106, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_SET_POINTER_ATTR \
- CTL_CODE(FILE_DEVICE_VIDEO, 0x110, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_SET_POINTER_POSITION \
- CTL_CODE(FILE_DEVICE_VIDEO, 0x112, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_SET_POWER_MANAGEMENT \
- CTL_CODE(FILE_DEVICE_VIDEO, 0x11b, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_SHARE_VIDEO_MEMORY \
- CTL_CODE(FILE_DEVICE_VIDEO, 0x11d, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_SWITCH_DUALVIEW \
- CTL_CODE(FILE_DEVICE_VIDEO, 0x123, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_UNMAP_VIDEO_MEMORY \
- CTL_CODE(FILE_DEVICE_VIDEO, 0x117, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_UNSHARE_VIDEO_MEMORY \
- CTL_CODE(FILE_DEVICE_VIDEO, 0x11e, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_VALIDATE_CHILD_STATE_CONFIGURATION \
- CTL_CODE(FILE_DEVICE_VIDEO, 0x121, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-
-
-typedef struct _VIDEO_MEMORY {
- PVOID RequestedVirtualAddress;
-} VIDEO_MEMORY, *PVIDEO_MEMORY;
-
-typedef struct _VIDEO_MEMORY_INFORMATION {
- PVOID VideoRamBase;
- ULONG VideoRamLength;
- PVOID FrameBufferBase;
- ULONG FrameBufferLength;
-} VIDEO_MEMORY_INFORMATION, *PVIDEO_MEMORY_INFORMATION;
-
-/* VIDEO_MODE.RequestedMode */
-#define VIDEO_MODE_MAP_MEM_LINEAR 0x40000000
-#define VIDEO_MODE_NO_ZERO_MEMORY 0x80000000
-
-typedef struct _VIDEO_MODE {
- ULONG RequestedMode;
-} VIDEO_MODE, *PVIDEO_MODE;
-
-/* VIDEO_MODE_INFORMATION.AttributeFlags */
-#define VIDEO_MODE_COLOR 0x0001
-#define VIDEO_MODE_GRAPHICS 0x0002
-#define VIDEO_MODE_PALETTE_DRIVEN 0x0004
-#define VIDEO_MODE_MANAGED_PALETTE 0x0008
-#define VIDEO_MODE_INTERLACED 0x0010
-#define VIDEO_MODE_NO_OFF_SCREEN 0x0020
-#define VIDEO_MODE_NO_64_BIT_ACCESS 0x0040
-#define VIDEO_MODE_BANKED 0x0080
-#define VIDEO_MODE_LINEAR 0x0100
-
-typedef struct _VIDEO_MODE_INFORMATION {
- ULONG Length;
- ULONG ModeIndex;
- ULONG VisScreenWidth;
- ULONG VisScreenHeight;
- ULONG ScreenStride;
- ULONG NumberOfPlanes;
- ULONG BitsPerPlane;
- ULONG Frequency;
- ULONG XMillimeter;
- ULONG YMillimeter;
- ULONG NumberRedBits;
- ULONG NumberGreenBits;
- ULONG NumberBlueBits;
- ULONG RedMask;
- ULONG GreenMask;
- ULONG BlueMask;
- ULONG AttributeFlags;
- ULONG VideoMemoryBitmapWidth;
- ULONG VideoMemoryBitmapHeight;
- ULONG DriverSpecificAttributeFlags;
-} VIDEO_MODE_INFORMATION, *PVIDEO_MODE_INFORMATION;
-
-typedef struct _VIDEO_NUM_MODES {
- ULONG NumModes;
- ULONG ModeInformationLength;
-} VIDEO_NUM_MODES, *PVIDEO_NUM_MODES;
-
-typedef enum _VIDEO_POWER_STATE {
- VideoPowerUnspecified = 0,
- VideoPowerOn = 1,
- VideoPowerStandBy,
- VideoPowerSuspend,
- VideoPowerOff,
- VideoPowerHibernate,
- VideoPowerShutdown,
- VideoPowerMaximum
-} VIDEO_POWER_STATE, *PVIDEO_POWER_STATE;
-
-typedef struct _VIDEO_POWER_MANAGEMENT {
- ULONG Length;
- ULONG DPMSVersion;
- ULONG PowerState;
-} VIDEO_POWER_MANAGEMENT, *PVIDEO_POWER_MANAGEMENT;
-
-typedef struct _VIDEO_PUBLIC_ACCESS_RANGES {
- ULONG InIoSpace;
- ULONG MappedInIoSpace;
- PVOID VirtualAddress;
-} VIDEO_PUBLIC_ACCESS_RANGES, *PVIDEO_PUBLIC_ACCESS_RANGES;
-
-typedef struct _VIDEO_SHARE_MEMORY {
- HANDLE ProcessHandle;
- ULONG ViewOffset;
- ULONG ViewSize;
- PVOID RequestedVirtualAddress;
-} VIDEO_SHARE_MEMORY, *PVIDEO_SHARE_MEMORY;
-
-typedef struct _VIDEO_SHARE_MEMORY_INFORMATION {
- ULONG SharedViewOffset;
- ULONG SharedViewSize;
- PVOID VirtualAddress;
-} VIDEO_SHARE_MEMORY_INFORMATION, *PVIDEO_SHARE_MEMORY_INFORMATION;
-
-/* VIDEO_BANK_SELECT.BankingFlags constants */
-#define PLANAR_HC 0x00000001
-
-/* VIDEO_BANK_SELECT.BankingType and PlanarHCBankingType constants */
-typedef enum _VIDEO_BANK_TYPE {
- VideoNotBanked = 0,
- VideoBanked1RW,
- VideoBanked1R1W,
- VideoBanked2RW,
- NumVideoBankTypes
-} VIDEO_BANK_TYPE, *PVIDEO_BANK_TYPE;
-
-typedef struct _VIDEO_BANK_SELECT {
- ULONG Length;
- ULONG Size;
- ULONG BankingFlags;
- ULONG BankingType;
- ULONG PlanarHCBankingType;
- ULONG BitmapWidthInBytes;
- ULONG BitmapSize;
- ULONG Granularity;
- ULONG PlanarHCGranularity;
- ULONG CodeOffset;
- ULONG PlanarHCBankCodeOffset;
- ULONG PlanarHCEnableCodeOffset;
- ULONG PlanarHCDisableCodeOffset;
-} VIDEO_BANK_SELECT, *PVIDEO_BANK_SELECT;
-
-typedef struct _VIDEO_LOAD_FONT_INFORMATION {
- USHORT WidthInPixels;
- USHORT HeightInPixels;
- ULONG FontSize;
- UCHAR Font[1];
-} VIDEO_LOAD_FONT_INFORMATION, *PVIDEO_LOAD_FONT_INFORMATION;
-
-/* VIDEO_COLOR_CAPABILITIES.AttributeFlags constants */
-#define VIDEO_DEVICE_COLOR 0x00000001
-#define VIDEO_OPTIONAL_GAMMET_TABLE 0x00000002
-
-typedef struct _VIDEO_COLOR_CAPABILITIES {
- ULONG Length;
- ULONG AttributeFlags;
- LONG RedPhosphoreDecay;
- LONG GreenPhosphoreDecay;
- LONG BluePhosphoreDecay;
- LONG WhiteChromaticity_x;
- LONG WhiteChromaticity_y;
- LONG WhiteChromaticity_Y;
- LONG RedChromaticity_x;
- LONG RedChromaticity_y;
- LONG GreenChromaticity_x;
- LONG GreenChromaticity_y;
- LONG BlueChromaticity_x;
- LONG BlueChromaticity_y;
- LONG WhiteGamma;
- LONG RedGamma;
- LONG GreenGamma;
- LONG BlueGamma;
-} VIDEO_COLOR_CAPABILITIES, *PVIDEO_COLOR_CAPABILITIES;
-
-typedef struct _VIDEO_CURSOR_ATTRIBUTES {
- USHORT Width;
- USHORT Height;
- SHORT Column;
- SHORT Row;
- UCHAR Rate;
- UCHAR Enable;
-} VIDEO_CURSOR_ATTRIBUTES, *PVIDEO_CURSOR_ATTRIBUTES;
-
-typedef struct _VIDEO_CURSOR_POSITION {
- SHORT Column;
- SHORT Row;
-} VIDEO_CURSOR_POSITION, *PVIDEO_CURSOR_POSITION;
-
-typedef struct _VIDEO_POINTER_ATTRIBUTES {
- ULONG Flags;
- ULONG Width;
- ULONG Height;
- ULONG WidthInBytes;
- ULONG Enable;
- SHORT Column;
- SHORT Row;
- UCHAR Pixels[1];
-} VIDEO_POINTER_ATTRIBUTES, *PVIDEO_POINTER_ATTRIBUTES;
-
-/* VIDEO_POINTER_CAPABILITIES.Flags */
-#define VIDEO_MODE_ASYNC_POINTER 0x01
-#define VIDEO_MODE_MONO_POINTER 0x02
-#define VIDEO_MODE_COLOR_POINTER 0x04
-#define VIDEO_MODE_ANIMATE_START 0x08
-#define VIDEO_MODE_ANIMATE_UPDATE 0x10
-
-typedef struct _VIDEO_POINTER_CAPABILITIES {
- ULONG Flags;
- ULONG MaxWidth;
- ULONG MaxHeight;
- ULONG HWPtrBitmapStart;
- ULONG HWPtrBitmapEnd;
-} VIDEO_POINTER_CAPABILITIES, *PVIDEO_POINTER_CAPABILITIES;
-
-typedef struct _VIDEO_POINTER_POSITION {
- SHORT Column;
- SHORT Row;
-} VIDEO_POINTER_POSITION, *PVIDEO_POINTER_POSITION;
-
-
-/* VIDEO_HARDWARE_STATE_HEADER.VGAStateFlags constants */
-#define VIDEO_STATE_NON_STANDARD_VGA 0x00000001
-#define VIDEO_STATE_UNEMULATED_VGA_STATE 0x00000002
-#define VIDEO_STATE_PACKED_CHAIN4_MODE 0x00000004
-
-typedef struct _VIDEO_HARDWARE_STATE_HEADER {
- ULONG Length;
- UCHAR PortValue[0x30];
- ULONG AttribIndexDataState;
- ULONG BasicSequencerOffset;
- ULONG BasicCrtContOffset;
- ULONG BasicGraphContOffset;
- ULONG BasicAttribContOffset;
- ULONG BasicDacOffset;
- ULONG BasicLatchesOffset;
- ULONG ExtendedSequencerOffset;
- ULONG ExtendedCrtContOffset;
- ULONG ExtendedGraphContOffset;
- ULONG ExtendedAttribContOffset;
- ULONG ExtendedDacOffset;
- ULONG ExtendedValidatorStateOffset;
- ULONG ExtendedMiscDataOffset;
- ULONG PlaneLength;
- ULONG Plane1Offset;
- ULONG Plane2Offset;
- ULONG Plane3Offset;
- ULONG Plane4Offset;
- ULONG VGAStateFlags;
- ULONG DIBOffset;
- ULONG DIBBitsPerPixel;
- ULONG DIBXResolution;
- ULONG DIBYResolution;
- ULONG DIBXlatOffset;
- ULONG DIBXlatLength;
- ULONG VesaInfoOffset;
- PVOID FrameBufferData;
-} VIDEO_HARDWARE_STATE_HEADER, *PVIDEO_HARDWARE_STATE_HEADER;
-
-typedef struct _VIDEO_CLUTDATA {
- UCHAR Red;
- UCHAR Green;
- UCHAR Blue;
- UCHAR Unused;
-} VIDEO_CLUTDATA, *PVIDEO_CLUTDATA;
-
-typedef struct {
- USHORT NumEntries;
- USHORT FirstEntry;
- union {
- VIDEO_CLUTDATA RgbArray;
- ULONG RgbLong;
- } LookupTable[1];
-} VIDEO_CLUT, *PVIDEO_CLUT;
-
-typedef struct _VIDEO_PALETTE_DATA {
- USHORT NumEntries;
- USHORT FirstEntry;
- USHORT Colors[1];
-} VIDEO_PALETTE_DATA, *PVIDEO_PALETTE_DATA;
-
-typedef struct _VIDEO_HARDWARE_STATE {
- PVIDEO_HARDWARE_STATE_HEADER StateHeader;
- ULONG StateLength;
-} VIDEO_HARDWARE_STATE, *PVIDEO_HARDWARE_STATE;
-
-#define VIDEO_CHILD_ACTIVE 0x00000001
-#define VIDEO_CHILD_DETACHED 0x00000002
-#define VIDEO_CHILD_NOPRUNE_FREQ 0x80000000
-#define VIDEO_CHILD_NOPRUNE_RESOLUTION 0x40000000
-
-#define VIDEO_DUALVIEW_REMOVABLE 0x00000001
-#define VIDEO_DUALVIEW_PRIMARY 0x80000000
-#define VIDEO_DUALVIEW_SECONDARY 0x40000000
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NTDDVDEO_H */
diff --git a/winsup/w32api/include/ddk/ntddvol.h b/winsup/w32api/include/ddk/ntddvol.h
deleted file mode 100644
index bc0932a98..000000000
--- a/winsup/w32api/include/ddk/ntddvol.h
+++ /dev/null
@@ -1,141 +0,0 @@
-/*
- * ntddvol.h
- *
- * Volume IOCTL 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 __NTDDVOL_H
-#define __NTDDVOL_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-
-#define IOCTL_VOLUME_BASE ((ULONG) 'V')
-
-#define IOCTL_VOLUME_LOGICAL_TO_PHYSICAL \
- CTL_CODE(IOCTL_VOLUME_BASE, 8, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VOLUME_PHYSICAL_TO_LOGICAL \
- CTL_CODE(IOCTL_VOLUME_BASE, 9, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VOLUME_READ_PLEX \
- CTL_CODE(IOCTL_VOLUME_BASE, 11, METHOD_OUT_DIRECT, FILE_READ_ACCESS)
-
-#define IOCTL_VOLUME_GET_VOLUME_DISK_EXTENTS \
- CTL_CODE(IOCTL_VOLUME_BASE, 0, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VOLUME_IS_CLUSTERED \
- CTL_CODE(IOCTL_VOLUME_BASE, 12, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VOLUME_QUERY_VOLUME_NUMBER \
- CTL_CODE(IOCTL_VOLUME_BASE, 7, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VOLUME_IS_PARTITION \
- CTL_CODE(IOCTL_VOLUME_BASE, 10, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VOLUME_SET_GPT_ATTRIBUTES \
- CTL_CODE(IOCTL_VOLUME_BASE, 13, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VOLUME_GET_GPT_ATTRIBUTES \
- CTL_CODE(IOCTL_VOLUME_BASE, 14, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VOLUME_SUPPORTS_ONLINE_OFFLINE \
- CTL_CODE(IOCTL_VOLUME_BASE, 1, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VOLUME_ONLINE \
- CTL_CODE(IOCTL_VOLUME_BASE, 2, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-
-#define IOCTL_VOLUME_OFFLINE \
- CTL_CODE(IOCTL_VOLUME_BASE, 3, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-
-#define IOCTL_VOLUME_IS_OFFLINE \
- CTL_CODE(IOCTL_VOLUME_BASE, 4, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VOLUME_IS_IO_CAPABLE \
- CTL_CODE(IOCTL_VOLUME_BASE, 5, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VOLUME_QUERY_FAILOVER_SET \
- CTL_CODE(IOCTL_VOLUME_BASE, 6, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-
-typedef struct _VOLUME_LOGICAL_OFFSET {
- LONGLONG LogicalOffset;
-} VOLUME_LOGICAL_OFFSET, *PVOLUME_LOGICAL_OFFSET;
-
-typedef struct _VOLUME_PHYSICAL_OFFSET {
- ULONG DiskNumber;
- LONGLONG Offset;
-} VOLUME_PHYSICAL_OFFSET, *PVOLUME_PHYSICAL_OFFSET;
-
-typedef struct _VOLUME_PHYSICAL_OFFSETS {
- ULONG NumberOfPhysicalOffsets;
- VOLUME_PHYSICAL_OFFSET PhysicalOffset[1];
-} VOLUME_PHYSICAL_OFFSETS, *PVOLUME_PHYSICAL_OFFSETS;
-
-typedef struct _VOLUME_READ_PLEX_INPUT {
- LARGE_INTEGER ByteOffset;
- ULONG Length;
- ULONG PlexNumber;
-} VOLUME_READ_PLEX_INPUT, *PVOLUME_READ_PLEX_INPUT;
-
-typedef struct _VOLUME_GET_GPT_ATTRIBUTES_INFORMATION {
- ULONGLONG GptAttributes;
-} VOLUME_GET_GPT_ATTRIBUTES_INFORMATION, *PVOLUME_GET_GPT_ATTRIBUTES_INFORMATION;
-
-typedef struct _VOLUME_SET_GPT_ATTRIBUTES_INFORMATION {
- ULONGLONG GptAttributes;
- BOOLEAN RevertOnClose;
- BOOLEAN ApplyToAllConnectedVolumes;
- USHORT Reserved1;
- ULONG Reserved2;
-} VOLUME_SET_GPT_ATTRIBUTES_INFORMATION, *PVOLUME_SET_GPT_ATTRIBUTES_INFORMATION;
-
-typedef struct _DISK_EXTENT {
- ULONG DiskNumber;
- LARGE_INTEGER StartingOffset;
- LARGE_INTEGER ExtentLength;
-} DISK_EXTENT, *PDISK_EXTENT;
-
-typedef struct _VOLUME_DISK_EXTENTS {
- ULONG NumberOfDiskExtents;
- DISK_EXTENT Extents[1];
-} VOLUME_DISK_EXTENTS, *PVOLUME_DISK_EXTENTS;
-
-typedef struct _VOLUME_NUMBER {
- ULONG VolumeNumber;
- WCHAR VolumeManagerName[8];
-} VOLUME_NUMBER, *PVOLUME_NUMBER;
-
-typedef struct _VOLUME_FAILOVER_SET {
- ULONG NumberOfDisks;
- ULONG DiskNumbers[1];
-} VOLUME_FAILOVER_SET, *PVOLUME_FAILOVER_SET;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NTDDVOL_H */
diff --git a/winsup/w32api/include/ddk/ntifs.h b/winsup/w32api/include/ddk/ntifs.h
deleted file mode 100644
index 2524e278c..000000000
--- a/winsup/w32api/include/ddk/ntifs.h
+++ /dev/null
@@ -1,4726 +0,0 @@
-/*
- * ntifs.h
- *
- * Windows NT Filesystem Driver Developer Kit
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- * Created by Bo Brantén <bosse@acc.umu.se>
- *
- * 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 _NTIFS_
-#define _NTIFS_
-#define _GNU_NTIFS_
-
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-#include "ntapi.h"
-
-#define VER_PRODUCTBUILD 10000
-
-#ifndef NTSYSAPI
-#define NTSYSAPI
-#endif
-
-#ifndef NTKERNELAPI
-#define NTKERNELAPI STDCALL
-#endif
-
-typedef struct _SE_EXPORTS *PSE_EXPORTS;
-
-extern PUCHAR *FsRtlLegalAnsiCharacterArray;
-extern PSE_EXPORTS SeExports;
-extern PACL SePublicDefaultDacl;
-extern PACL SeSystemDefaultDacl;
-
-#define ANSI_DOS_STAR ('<')
-#define ANSI_DOS_QM ('>')
-#define ANSI_DOS_DOT ('"')
-
-#define DOS_STAR (L'<')
-#define DOS_QM (L'>')
-#define DOS_DOT (L'"')
-
-/* also in winnt.h */
-#define ACCESS_ALLOWED_ACE_TYPE (0x0)
-#define ACCESS_DENIED_ACE_TYPE (0x1)
-#define SYSTEM_AUDIT_ACE_TYPE (0x2)
-#define SYSTEM_ALARM_ACE_TYPE (0x3)
-
-#define COMPRESSION_FORMAT_NONE (0x0000)
-#define COMPRESSION_FORMAT_DEFAULT (0x0001)
-#define COMPRESSION_FORMAT_LZNT1 (0x0002)
-#define COMPRESSION_ENGINE_STANDARD (0x0000)
-#define COMPRESSION_ENGINE_MAXIMUM (0x0100)
-#define COMPRESSION_ENGINE_HIBER (0x0200)
-
-#define FILE_ACTION_ADDED 0x00000001
-#define FILE_ACTION_REMOVED 0x00000002
-#define FILE_ACTION_MODIFIED 0x00000003
-#define FILE_ACTION_RENAMED_OLD_NAME 0x00000004
-#define FILE_ACTION_RENAMED_NEW_NAME 0x00000005
-#define FILE_ACTION_ADDED_STREAM 0x00000006
-#define FILE_ACTION_REMOVED_STREAM 0x00000007
-#define FILE_ACTION_MODIFIED_STREAM 0x00000008
-#define FILE_ACTION_REMOVED_BY_DELETE 0x00000009
-#define FILE_ACTION_ID_NOT_TUNNELLED 0x0000000A
-#define FILE_ACTION_TUNNELLED_ID_COLLISION 0x0000000B
-/* end winnt.h */
-
-#define FILE_EA_TYPE_BINARY 0xfffe
-#define FILE_EA_TYPE_ASCII 0xfffd
-#define FILE_EA_TYPE_BITMAP 0xfffb
-#define FILE_EA_TYPE_METAFILE 0xfffa
-#define FILE_EA_TYPE_ICON 0xfff9
-#define FILE_EA_TYPE_EA 0xffee
-#define FILE_EA_TYPE_MVMT 0xffdf
-#define FILE_EA_TYPE_MVST 0xffde
-#define FILE_EA_TYPE_ASN1 0xffdd
-#define FILE_EA_TYPE_FAMILY_IDS 0xff01
-
-#define FILE_NEED_EA 0x00000080
-
-/* also in winnt.h */
-#define FILE_NOTIFY_CHANGE_FILE_NAME 0x00000001
-#define FILE_NOTIFY_CHANGE_DIR_NAME 0x00000002
-#define FILE_NOTIFY_CHANGE_NAME 0x00000003
-#define FILE_NOTIFY_CHANGE_ATTRIBUTES 0x00000004
-#define FILE_NOTIFY_CHANGE_SIZE 0x00000008
-#define FILE_NOTIFY_CHANGE_LAST_WRITE 0x00000010
-#define FILE_NOTIFY_CHANGE_LAST_ACCESS 0x00000020
-#define FILE_NOTIFY_CHANGE_CREATION 0x00000040
-#define FILE_NOTIFY_CHANGE_EA 0x00000080
-#define FILE_NOTIFY_CHANGE_SECURITY 0x00000100
-#define FILE_NOTIFY_CHANGE_STREAM_NAME 0x00000200
-#define FILE_NOTIFY_CHANGE_STREAM_SIZE 0x00000400
-#define FILE_NOTIFY_CHANGE_STREAM_WRITE 0x00000800
-#define FILE_NOTIFY_VALID_MASK 0x00000fff
-/* end winnt.h */
-
-#define FILE_OPLOCK_BROKEN_TO_LEVEL_2 0x00000007
-#define FILE_OPLOCK_BROKEN_TO_NONE 0x00000008
-
-#define FILE_OPBATCH_BREAK_UNDERWAY 0x00000009
-
-#define FILE_CASE_SENSITIVE_SEARCH 0x00000001
-#define FILE_CASE_PRESERVED_NAMES 0x00000002
-#define FILE_UNICODE_ON_DISK 0x00000004
-#define FILE_PERSISTENT_ACLS 0x00000008
-#define FILE_FILE_COMPRESSION 0x00000010
-#define FILE_VOLUME_QUOTAS 0x00000020
-#define FILE_SUPPORTS_SPARSE_FILES 0x00000040
-#define FILE_SUPPORTS_REPARSE_POINTS 0x00000080
-#define FILE_SUPPORTS_REMOTE_STORAGE 0x00000100
-#define FS_LFN_APIS 0x00004000
-#define FILE_VOLUME_IS_COMPRESSED 0x00008000
-#define FILE_SUPPORTS_OBJECT_IDS 0x00010000
-#define FILE_SUPPORTS_ENCRYPTION 0x00020000
-#define FILE_NAMED_STREAMS 0x00040000
-#define FILE_READ_ONLY_VOLUME 0x00080000
-
-#define FILE_PIPE_BYTE_STREAM_TYPE 0x00000000
-#define FILE_PIPE_MESSAGE_TYPE 0x00000001
-
-#define FILE_PIPE_BYTE_STREAM_MODE 0x00000000
-#define FILE_PIPE_MESSAGE_MODE 0x00000001
-
-#define FILE_PIPE_QUEUE_OPERATION 0x00000000
-#define FILE_PIPE_COMPLETE_OPERATION 0x00000001
-
-#define FILE_PIPE_INBOUND 0x00000000
-#define FILE_PIPE_OUTBOUND 0x00000001
-#define FILE_PIPE_FULL_DUPLEX 0x00000002
-
-#define FILE_PIPE_DISCONNECTED_STATE 0x00000001
-#define FILE_PIPE_LISTENING_STATE 0x00000002
-#define FILE_PIPE_CONNECTED_STATE 0x00000003
-#define FILE_PIPE_CLOSING_STATE 0x00000004
-
-#define FILE_PIPE_CLIENT_END 0x00000000
-#define FILE_PIPE_SERVER_END 0x00000001
-
-#define FILE_PIPE_READ_DATA 0x00000000
-#define FILE_PIPE_WRITE_SPACE 0x00000001
-
-#define FILE_STORAGE_TYPE_SPECIFIED 0x00000041 /* FILE_DIRECTORY_FILE | FILE_NON_DIRECTORY_FILE */
-#define FILE_STORAGE_TYPE_DEFAULT (StorageTypeDefault << FILE_STORAGE_TYPE_SHIFT)
-#define FILE_STORAGE_TYPE_DIRECTORY (StorageTypeDirectory << FILE_STORAGE_TYPE_SHIFT)
-#define FILE_STORAGE_TYPE_FILE (StorageTypeFile << FILE_STORAGE_TYPE_SHIFT)
-#define FILE_STORAGE_TYPE_DOCFILE (StorageTypeDocfile << FILE_STORAGE_TYPE_SHIFT)
-#define FILE_STORAGE_TYPE_JUNCTION_POINT (StorageTypeJunctionPoint << FILE_STORAGE_TYPE_SHIFT)
-#define FILE_STORAGE_TYPE_CATALOG (StorageTypeCatalog << FILE_STORAGE_TYPE_SHIFT)
-#define FILE_STORAGE_TYPE_STRUCTURED_STORAGE (StorageTypeStructuredStorage << FILE_STORAGE_TYPE_SHIFT)
-#define FILE_STORAGE_TYPE_EMBEDDING (StorageTypeEmbedding << FILE_STORAGE_TYPE_SHIFT)
-#define FILE_STORAGE_TYPE_STREAM (StorageTypeStream << FILE_STORAGE_TYPE_SHIFT)
-#define FILE_MINIMUM_STORAGE_TYPE FILE_STORAGE_TYPE_DEFAULT
-#define FILE_MAXIMUM_STORAGE_TYPE FILE_STORAGE_TYPE_STREAM
-#define FILE_STORAGE_TYPE_MASK 0x000f0000
-#define FILE_STORAGE_TYPE_SHIFT 16
-
-#define FILE_VC_QUOTA_NONE 0x00000000
-#define FILE_VC_QUOTA_TRACK 0x00000001
-#define FILE_VC_QUOTA_ENFORCE 0x00000002
-#define FILE_VC_QUOTA_MASK 0x00000003
-
-#define FILE_VC_QUOTAS_LOG_VIOLATIONS 0x00000004
-#define FILE_VC_CONTENT_INDEX_DISABLED 0x00000008
-
-#define FILE_VC_LOG_QUOTA_THRESHOLD 0x00000010
-#define FILE_VC_LOG_QUOTA_LIMIT 0x00000020
-#define FILE_VC_LOG_VOLUME_THRESHOLD 0x00000040
-#define FILE_VC_LOG_VOLUME_LIMIT 0x00000080
-
-#define FILE_VC_QUOTAS_INCOMPLETE 0x00000100
-#define FILE_VC_QUOTAS_REBUILDING 0x00000200
-
-#define FILE_VC_VALID_MASK 0x000003ff
-
-#define FSRTL_FLAG_FILE_MODIFIED (0x01)
-#define FSRTL_FLAG_FILE_LENGTH_CHANGED (0x02)
-#define FSRTL_FLAG_LIMIT_MODIFIED_PAGES (0x04)
-#define FSRTL_FLAG_ACQUIRE_MAIN_RSRC_EX (0x08)
-#define FSRTL_FLAG_ACQUIRE_MAIN_RSRC_SH (0x10)
-#define FSRTL_FLAG_USER_MAPPED_FILE (0x20)
-#define FSRTL_FLAG_EOF_ADVANCE_ACTIVE (0x80)
-
-#define FSRTL_FLAG2_DO_MODIFIED_WRITE (0x01)
-
-#define FSRTL_FSP_TOP_LEVEL_IRP (0x01)
-#define FSRTL_CACHE_TOP_LEVEL_IRP (0x02)
-#define FSRTL_MOD_WRITE_TOP_LEVEL_IRP (0x03)
-#define FSRTL_FAST_IO_TOP_LEVEL_IRP (0x04)
-#define FSRTL_MAX_TOP_LEVEL_IRP_FLAG (0x04)
-
-#define FSRTL_VOLUME_DISMOUNT 1
-#define FSRTL_VOLUME_DISMOUNT_FAILED 2
-#define FSRTL_VOLUME_LOCK 3
-#define FSRTL_VOLUME_LOCK_FAILED 4
-#define FSRTL_VOLUME_UNLOCK 5
-#define FSRTL_VOLUME_MOUNT 6
-
-#define FSRTL_WILD_CHARACTER 0x08
-
-#ifdef _X86_
-#define HARDWARE_PTE HARDWARE_PTE_X86
-#define PHARDWARE_PTE PHARDWARE_PTE_X86
-#else
-#define HARDWARE_PTE ULONG
-#define PHARDWARE_PTE PULONG
-#endif
-
-#define IO_CHECK_CREATE_PARAMETERS 0x0200
-#define IO_ATTACH_DEVICE 0x0400
-
-#define IO_ATTACH_DEVICE_API 0x80000000
-/* also in winnt.h */
-#define IO_COMPLETION_QUERY_STATE 0x0001
-#define IO_COMPLETION_MODIFY_STATE 0x0002
-#define IO_COMPLETION_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|0x3)
-/* end winnt.h */
-#define IO_FILE_OBJECT_NON_PAGED_POOL_CHARGE 64
-#define IO_FILE_OBJECT_PAGED_POOL_CHARGE 1024
-
-#define IO_TYPE_APC 18
-#define IO_TYPE_DPC 19
-#define IO_TYPE_DEVICE_QUEUE 20
-#define IO_TYPE_EVENT_PAIR 21
-#define IO_TYPE_INTERRUPT 22
-#define IO_TYPE_PROFILE 23
-
-#define IRP_BEING_VERIFIED 0x10
-
-#define MAILSLOT_CLASS_FIRSTCLASS 1
-#define MAILSLOT_CLASS_SECONDCLASS 2
-
-#define MAILSLOT_SIZE_AUTO 0
-
-#define MAP_PROCESS 1L
-#define MAP_SYSTEM 2L
-#define MEM_DOS_LIM 0x40000000
-/* also in winnt.h */
-#define MEM_IMAGE SEC_IMAGE
-/* end winnt.h */
-#define OB_TYPE_TYPE 1
-#define OB_TYPE_DIRECTORY 2
-#define OB_TYPE_SYMBOLIC_LINK 3
-#define OB_TYPE_TOKEN 4
-#define OB_TYPE_PROCESS 5
-#define OB_TYPE_THREAD 6
-#define OB_TYPE_EVENT 7
-#define OB_TYPE_EVENT_PAIR 8
-#define OB_TYPE_MUTANT 9
-#define OB_TYPE_SEMAPHORE 10
-#define OB_TYPE_TIMER 11
-#define OB_TYPE_PROFILE 12
-#define OB_TYPE_WINDOW_STATION 13
-#define OB_TYPE_DESKTOP 14
-#define OB_TYPE_SECTION 15
-#define OB_TYPE_KEY 16
-#define OB_TYPE_PORT 17
-#define OB_TYPE_ADAPTER 18
-#define OB_TYPE_CONTROLLER 19
-#define OB_TYPE_DEVICE 20
-#define OB_TYPE_DRIVER 21
-#define OB_TYPE_IO_COMPLETION 22
-#define OB_TYPE_FILE 23
-
-#define PIN_WAIT (1)
-#define PIN_EXCLUSIVE (2)
-#define PIN_NO_READ (4)
-#define PIN_IF_BCB (8)
-
-#define PORT_CONNECT 0x0001
-#define PORT_ALL_ACCESS (STANDARD_RIGHTS_ALL |\
- PORT_CONNECT)
-/* also in winnt.h */
-#define SEC_BASED 0x00200000
-#define SEC_NO_CHANGE 0x00400000
-#define SEC_FILE 0x00800000
-#define SEC_IMAGE 0x01000000
-#define SEC_VLM 0x02000000
-#define SEC_RESERVE 0x04000000
-#define SEC_COMMIT 0x08000000
-#define SEC_NOCACHE 0x10000000
-
-#define SECURITY_WORLD_SID_AUTHORITY {0,0,0,0,0,1}
-#define SECURITY_WORLD_RID (0x00000000L)
-
-#define SID_REVISION 1
-
-#define TOKEN_ASSIGN_PRIMARY (0x0001)
-#define TOKEN_DUPLICATE (0x0002)
-#define TOKEN_IMPERSONATE (0x0004)
-#define TOKEN_QUERY (0x0008)
-#define TOKEN_QUERY_SOURCE (0x0010)
-#define TOKEN_ADJUST_PRIVILEGES (0x0020)
-#define TOKEN_ADJUST_GROUPS (0x0040)
-#define TOKEN_ADJUST_DEFAULT (0x0080)
-
-#define TOKEN_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED |\
- TOKEN_ASSIGN_PRIMARY |\
- TOKEN_DUPLICATE |\
- TOKEN_IMPERSONATE |\
- TOKEN_QUERY |\
- TOKEN_QUERY_SOURCE |\
- TOKEN_ADJUST_PRIVILEGES |\
- TOKEN_ADJUST_GROUPS |\
- TOKEN_ADJUST_DEFAULT)
-
-#define TOKEN_READ (STANDARD_RIGHTS_READ |\
- TOKEN_QUERY)
-
-#define TOKEN_WRITE (STANDARD_RIGHTS_WRITE |\
- TOKEN_ADJUST_PRIVILEGES |\
- TOKEN_ADJUST_GROUPS |\
- TOKEN_ADJUST_DEFAULT)
-
-#define TOKEN_EXECUTE (STANDARD_RIGHTS_EXECUTE)
-
-#define TOKEN_SOURCE_LENGTH 8
-/* end winnt.h */
-
-#define TOKEN_HAS_TRAVERSE_PRIVILEGE 0x01
-#define TOKEN_HAS_BACKUP_PRIVILEGE 0x02
-#define TOKEN_HAS_RESTORE_PRIVILEGE 0x04
-#define TOKEN_HAS_ADMIN_GROUP 0x08
-#define TOKEN_IS_RESTRICTED 0x10
-
-#define VACB_MAPPING_GRANULARITY (0x40000)
-#define VACB_OFFSET_SHIFT (18)
-
-#define FSCTL_REQUEST_OPLOCK_LEVEL_1 CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 0, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_REQUEST_OPLOCK_LEVEL_2 CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 1, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_REQUEST_BATCH_OPLOCK CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 2, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_OPLOCK_BREAK_ACKNOWLEDGE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 3, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_OPBATCH_ACK_CLOSE_PENDING CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 4, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_OPLOCK_BREAK_NOTIFY CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 5, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_LOCK_VOLUME CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 6, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_UNLOCK_VOLUME CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 7, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_DISMOUNT_VOLUME CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 8, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define FSCTL_IS_VOLUME_MOUNTED CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 10, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_IS_PATHNAME_VALID CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 11, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_MARK_VOLUME_DIRTY CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 12, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define FSCTL_QUERY_RETRIEVAL_POINTERS CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 14, METHOD_NEITHER, FILE_ANY_ACCESS)
-#define FSCTL_GET_COMPRESSION CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 15, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_SET_COMPRESSION CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 16, METHOD_BUFFERED, FILE_READ_DATA | FILE_WRITE_DATA)
-
-
-#define FSCTL_MARK_AS_SYSTEM_HIVE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 19, METHOD_NEITHER, FILE_ANY_ACCESS)
-#define FSCTL_OPLOCK_BREAK_ACK_NO_2 CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 20, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_INVALIDATE_VOLUMES CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 21, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_QUERY_FAT_BPB CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 22, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_REQUEST_FILTER_OPLOCK CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 23, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_FILESYSTEM_GET_STATISTICS CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 24, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#if (VER_PRODUCTBUILD >= 1381)
-
-#define FSCTL_GET_NTFS_VOLUME_DATA CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 25, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_GET_NTFS_FILE_RECORD CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 26, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_GET_VOLUME_BITMAP CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 27, METHOD_NEITHER, FILE_ANY_ACCESS)
-#define FSCTL_GET_RETRIEVAL_POINTERS CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 28, METHOD_NEITHER, FILE_ANY_ACCESS)
-#define FSCTL_MOVE_FILE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 29, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_IS_VOLUME_DIRTY CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 30, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_GET_HFS_INFORMATION CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 31, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_ALLOW_EXTENDED_DASD_IO CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 32, METHOD_NEITHER, FILE_ANY_ACCESS)
-
-#endif /* (VER_PRODUCTBUILD >= 1381) */
-
-#if (VER_PRODUCTBUILD >= 2195)
-
-#define FSCTL_READ_PROPERTY_DATA CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 33, METHOD_NEITHER, FILE_ANY_ACCESS)
-#define FSCTL_WRITE_PROPERTY_DATA CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 34, METHOD_NEITHER, FILE_ANY_ACCESS)
-#define FSCTL_FIND_FILES_BY_SID CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 35, METHOD_NEITHER, FILE_ANY_ACCESS)
-
-#define FSCTL_DUMP_PROPERTY_DATA CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 37, METHOD_NEITHER, FILE_ANY_ACCESS)
-#define FSCTL_SET_OBJECT_ID CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 38, METHOD_BUFFERED, FILE_WRITE_DATA)
-#define FSCTL_GET_OBJECT_ID CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 39, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_DELETE_OBJECT_ID CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 40, METHOD_BUFFERED, FILE_WRITE_DATA)
-#define FSCTL_SET_REPARSE_POINT CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 41, METHOD_BUFFERED, FILE_WRITE_DATA)
-#define FSCTL_GET_REPARSE_POINT CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 42, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_DELETE_REPARSE_POINT CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 43, METHOD_BUFFERED, FILE_WRITE_DATA)
-#define FSCTL_ENUM_USN_DATA CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 44, METHOD_NEITHER, FILE_READ_DATA)
-#define FSCTL_SECURITY_ID_CHECK CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 45, METHOD_NEITHER, FILE_READ_DATA)
-#define FSCTL_READ_USN_JOURNAL CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 46, METHOD_NEITHER, FILE_READ_DATA)
-#define FSCTL_SET_OBJECT_ID_EXTENDED CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 47, METHOD_BUFFERED, FILE_WRITE_DATA)
-#define FSCTL_CREATE_OR_GET_OBJECT_ID CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 48, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_SET_SPARSE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 49, METHOD_BUFFERED, FILE_WRITE_DATA)
-#define FSCTL_SET_ZERO_DATA CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 50, METHOD_BUFFERED, FILE_WRITE_DATA)
-#define FSCTL_QUERY_ALLOCATED_RANGES CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 51, METHOD_NEITHER, FILE_READ_DATA)
-#define FSCTL_ENABLE_UPGRADE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 52, METHOD_BUFFERED, FILE_WRITE_DATA)
-#define FSCTL_SET_ENCRYPTION CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 53, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_ENCRYPTION_FSCTL_IO CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 54, METHOD_NEITHER, FILE_ANY_ACCESS)
-#define FSCTL_WRITE_RAW_ENCRYPTED CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 55, METHOD_NEITHER, FILE_ANY_ACCESS)
-#define FSCTL_READ_RAW_ENCRYPTED CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 56, METHOD_NEITHER, FILE_ANY_ACCESS)
-#define FSCTL_CREATE_USN_JOURNAL CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 57, METHOD_NEITHER, FILE_READ_DATA)
-#define FSCTL_READ_FILE_USN_DATA CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 58, METHOD_NEITHER, FILE_READ_DATA)
-#define FSCTL_WRITE_USN_CLOSE_RECORD CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 59, METHOD_NEITHER, FILE_READ_DATA)
-#define FSCTL_EXTEND_VOLUME CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 60, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_QUERY_USN_JOURNAL CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 61, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_DELETE_USN_JOURNAL CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 62, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_MARK_HANDLE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 63, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_SIS_COPYFILE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 64, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_SIS_LINK_FILES CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 65, METHOD_BUFFERED, FILE_READ_DATA | FILE_WRITE_DATA)
-#define FSCTL_HSM_MSG CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 66, METHOD_BUFFERED, FILE_READ_DATA | FILE_WRITE_DATA)
-#define FSCTL_NSS_CONTROL CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 67, METHOD_BUFFERED, FILE_WRITE_DATA)
-#define FSCTL_HSM_DATA CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 68, METHOD_NEITHER, FILE_READ_DATA | FILE_WRITE_DATA)
-#define FSCTL_RECALL_FILE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 69, METHOD_NEITHER, FILE_ANY_ACCESS)
-#define FSCTL_NSS_RCONTROL CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 70, METHOD_BUFFERED, FILE_READ_DATA)
-#define FSCTL_READ_FROM_PLEX CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 71, METHOD_OUT_DIRECT, FILE_READ_DATA)
-#define FSCTL_FILE_PREFETCH CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 72, METHOD_BUFFERED, FILE_SPECIAL_ACCESS)
-
-#endif /* (VER_PRODUCTBUILD >= 2195) */
-
-#define FSCTL_MAILSLOT_PEEK CTL_CODE(FILE_DEVICE_MAILSLOT, 0, METHOD_NEITHER, FILE_READ_DATA)
-
-#define FSCTL_NETWORK_SET_CONFIGURATION_INFO CTL_CODE(FILE_DEVICE_NETWORK_FILE_SYSTEM, 102, METHOD_IN_DIRECT, FILE_ANY_ACCESS)
-#define FSCTL_NETWORK_GET_CONFIGURATION_INFO CTL_CODE(FILE_DEVICE_NETWORK_FILE_SYSTEM, 103, METHOD_OUT_DIRECT, FILE_ANY_ACCESS)
-#define FSCTL_NETWORK_GET_CONNECTION_INFO CTL_CODE(FILE_DEVICE_NETWORK_FILE_SYSTEM, 104, METHOD_NEITHER, FILE_ANY_ACCESS)
-#define FSCTL_NETWORK_ENUMERATE_CONNECTIONS CTL_CODE(FILE_DEVICE_NETWORK_FILE_SYSTEM, 105, METHOD_NEITHER, FILE_ANY_ACCESS)
-#define FSCTL_NETWORK_DELETE_CONNECTION CTL_CODE(FILE_DEVICE_NETWORK_FILE_SYSTEM, 107, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_NETWORK_GET_STATISTICS CTL_CODE(FILE_DEVICE_NETWORK_FILE_SYSTEM, 116, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_NETWORK_SET_DOMAIN_NAME CTL_CODE(FILE_DEVICE_NETWORK_FILE_SYSTEM, 120, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_NETWORK_REMOTE_BOOT_INIT_SCRT CTL_CODE(FILE_DEVICE_NETWORK_FILE_SYSTEM, 250, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define FSCTL_PIPE_ASSIGN_EVENT CTL_CODE(FILE_DEVICE_NAMED_PIPE, 0, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_PIPE_DISCONNECT CTL_CODE(FILE_DEVICE_NAMED_PIPE, 1, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_PIPE_LISTEN CTL_CODE(FILE_DEVICE_NAMED_PIPE, 2, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_PIPE_PEEK CTL_CODE(FILE_DEVICE_NAMED_PIPE, 3, METHOD_BUFFERED, FILE_READ_DATA)
-#define FSCTL_PIPE_QUERY_EVENT CTL_CODE(FILE_DEVICE_NAMED_PIPE, 4, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_PIPE_TRANSCEIVE CTL_CODE(FILE_DEVICE_NAMED_PIPE, 5, METHOD_NEITHER, FILE_READ_DATA | FILE_WRITE_DATA)
-#define FSCTL_PIPE_WAIT CTL_CODE(FILE_DEVICE_NAMED_PIPE, 6, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_PIPE_IMPERSONATE CTL_CODE(FILE_DEVICE_NAMED_PIPE, 7, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_PIPE_SET_CLIENT_PROCESS CTL_CODE(FILE_DEVICE_NAMED_PIPE, 8, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_PIPE_QUERY_CLIENT_PROCESS CTL_CODE(FILE_DEVICE_NAMED_PIPE, 9, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_PIPE_INTERNAL_READ CTL_CODE(FILE_DEVICE_NAMED_PIPE, 2045, METHOD_BUFFERED, FILE_READ_DATA)
-#define FSCTL_PIPE_INTERNAL_WRITE CTL_CODE(FILE_DEVICE_NAMED_PIPE, 2046, METHOD_BUFFERED, FILE_WRITE_DATA)
-#define FSCTL_PIPE_INTERNAL_TRANSCEIVE CTL_CODE(FILE_DEVICE_NAMED_PIPE, 2047, METHOD_NEITHER, FILE_READ_DATA | FILE_WRITE_DATA)
-#define FSCTL_PIPE_INTERNAL_READ_OVFLOW CTL_CODE(FILE_DEVICE_NAMED_PIPE, 2048, METHOD_BUFFERED, FILE_READ_DATA)
-
-#define IOCTL_REDIR_QUERY_PATH CTL_CODE(FILE_DEVICE_NETWORK_FILE_SYSTEM, 99, METHOD_NEITHER, FILE_ANY_ACCESS)
-
-typedef PVOID PEJOB;
-typedef PVOID OPLOCK, *POPLOCK;
-typedef PVOID PWOW64_PROCESS;
-
-typedef struct _CACHE_MANAGER_CALLBACKS *PCACHE_MANAGER_CALLBACKS;
-typedef struct _EPROCESS_QUOTA_BLOCK *PEPROCESS_QUOTA_BLOCK;
-typedef struct _FILE_GET_QUOTA_INFORMATION *PFILE_GET_QUOTA_INFORMATION;
-typedef struct _HANDLE_TABLE *PHANDLE_TABLE;
-typedef struct _KEVENT_PAIR *PKEVENT_PAIR;
-typedef struct _KPROCESS *PKPROCESS;
-typedef struct _KQUEUE *PKQUEUE;
-typedef struct _KTRAP_FRAME *PKTRAP_FRAME;
-typedef struct _MAILSLOT_CREATE_PARAMETERS *PMAILSLOT_CREATE_PARAMETERS;
-typedef struct _MMWSL *PMMWSL;
-typedef struct _NAMED_PIPE_CREATE_PARAMETERS *PNAMED_PIPE_CREATE_PARAMETERS;
-typedef struct _OBJECT_DIRECTORY *POBJECT_DIRECTORY;
-typedef struct _PAGEFAULT_HISTORY *PPAGEFAULT_HISTORY;
-typedef struct _PS_IMPERSONATION_INFORMATION *PPS_IMPERSONATION_INFORMATION;
-typedef struct _SECTION_OBJECT *PSECTION_OBJECT;
-typedef struct _SHARED_CACHE_MAP *PSHARED_CACHE_MAP;
-typedef struct _TERMINATION_PORT *PTERMINATION_PORT;
-typedef struct _VACB *PVACB;
-typedef struct _VAD_HEADER *PVAD_HEADER;
-
-typedef struct _NOTIFY_SYNC
-{
- ULONG Unknown0;
- ULONG Unknown1;
- ULONG Unknown2;
- USHORT Unknown3;
- USHORT Unknown4;
- ULONG Unknown5;
- ULONG Unknown6;
- ULONG Unknown7;
- ULONG Unknown8;
- ULONG Unknown9;
- ULONG Unknown10;
-} NOTIFY_SYNC, * PNOTIFY_SYNC;
-
-typedef enum _FAST_IO_POSSIBLE {
- FastIoIsNotPossible,
- FastIoIsPossible,
- FastIoIsQuestionable
-} FAST_IO_POSSIBLE;
-
-typedef enum _FILE_STORAGE_TYPE {
- StorageTypeDefault = 1,
- StorageTypeDirectory,
- StorageTypeFile,
- StorageTypeJunctionPoint,
- StorageTypeCatalog,
- StorageTypeStructuredStorage,
- StorageTypeEmbedding,
- StorageTypeStream
-} FILE_STORAGE_TYPE;
-
-typedef enum _IO_COMPLETION_INFORMATION_CLASS {
- IoCompletionBasicInformation
-} IO_COMPLETION_INFORMATION_CLASS;
-
-typedef enum _OBJECT_INFO_CLASS {
- ObjectBasicInfo,
- ObjectNameInfo,
- ObjectTypeInfo,
- ObjectAllTypesInfo,
- ObjectProtectionInfo
-} OBJECT_INFO_CLASS;
-
-typedef struct _HARDWARE_PTE_X86 {
- ULONG Valid : 1;
- ULONG Write : 1;
- ULONG Owner : 1;
- ULONG WriteThrough : 1;
- ULONG CacheDisable : 1;
- ULONG Accessed : 1;
- ULONG Dirty : 1;
- ULONG LargePage : 1;
- ULONG Global : 1;
- ULONG CopyOnWrite : 1;
- ULONG Prototype : 1;
- ULONG reserved : 1;
- ULONG PageFrameNumber : 20;
-} HARDWARE_PTE_X86, *PHARDWARE_PTE_X86;
-
-typedef struct _KAPC_STATE {
- LIST_ENTRY ApcListHead[2];
- PKPROCESS Process;
- BOOLEAN KernelApcInProgress;
- BOOLEAN KernelApcPending;
- BOOLEAN UserApcPending;
-} KAPC_STATE, *PKAPC_STATE;
-
-typedef struct _KGDTENTRY {
- USHORT LimitLow;
- USHORT BaseLow;
- union {
- struct {
- UCHAR BaseMid;
- UCHAR Flags1;
- UCHAR Flags2;
- UCHAR BaseHi;
- } Bytes;
- struct {
- ULONG BaseMid : 8;
- ULONG Type : 5;
- ULONG Dpl : 2;
- ULONG Pres : 1;
- ULONG LimitHi : 4;
- ULONG Sys : 1;
- ULONG Reserved_0 : 1;
- ULONG Default_Big : 1;
- ULONG Granularity : 1;
- ULONG BaseHi : 8;
- } Bits;
- } HighWord;
-} KGDTENTRY, *PKGDTENTRY;
-
-typedef struct _KIDTENTRY {
- USHORT Offset;
- USHORT Selector;
- USHORT Access;
- USHORT ExtendedOffset;
-} KIDTENTRY, *PKIDTENTRY;
-
-#if (VER_PRODUCTBUILD >= 2600)
-
-typedef struct _MMSUPPORT_FLAGS {
- ULONG SessionSpace : 1;
- ULONG BeingTrimmed : 1;
- ULONG SessionLeader : 1;
- ULONG TrimHard : 1;
- ULONG WorkingSetHard : 1;
- ULONG AddressSpaceBeingDeleted : 1;
- ULONG Available : 10;
- ULONG AllowWorkingSetAdjustment : 8;
- ULONG MemoryPriority : 8;
-} MMSUPPORT_FLAGS, *PMMSUPPORT_FLAGS;
-
-#else
-
-typedef struct _MMSUPPORT_FLAGS {
- ULONG SessionSpace : 1;
- ULONG BeingTrimmed : 1;
- ULONG ProcessInSession : 1;
- ULONG SessionLeader : 1;
- ULONG TrimHard : 1;
- ULONG WorkingSetHard : 1;
- ULONG WriteWatch : 1;
- ULONG Filler : 25;
-} MMSUPPORT_FLAGS, *PMMSUPPORT_FLAGS;
-
-#endif
-
-#if (VER_PRODUCTBUILD >= 2600)
-
-typedef struct _MMSUPPORT {
- LARGE_INTEGER LastTrimTime;
- MMSUPPORT_FLAGS Flags;
- ULONG PageFaultCount;
- ULONG PeakWorkingSetSize;
- ULONG WorkingSetSize;
- ULONG MinimumWorkingSetSize;
- ULONG MaximumWorkingSetSize;
- PMMWSL VmWorkingSetList;
- LIST_ENTRY WorkingSetExpansionLinks;
- ULONG Claim;
- ULONG NextEstimationSlot;
- ULONG NextAgingSlot;
- ULONG EstimatedAvailable;
- ULONG GrowthSinceLastEstimate;
-} MMSUPPORT, *PMMSUPPORT;
-
-#else
-
-typedef struct _MMSUPPORT {
- LARGE_INTEGER LastTrimTime;
- ULONG LastTrimFaultCount;
- ULONG PageFaultCount;
- ULONG PeakWorkingSetSize;
- ULONG WorkingSetSize;
- ULONG MinimumWorkingSetSize;
- ULONG MaximumWorkingSetSize;
- PMMWSL VmWorkingSetList;
- LIST_ENTRY WorkingSetExpansionLinks;
- BOOLEAN AllowWorkingSetAdjustment;
- BOOLEAN AddressSpaceBeingDeleted;
- UCHAR ForegroundSwitchCount;
- UCHAR MemoryPriority;
-#if (VER_PRODUCTBUILD >= 2195)
- union {
- ULONG LongFlags;
- MMSUPPORT_FLAGS Flags;
- } u;
- ULONG Claim;
- ULONG NextEstimationSlot;
- ULONG NextAgingSlot;
- ULONG EstimatedAvailable;
- ULONG GrowthSinceLastEstimate;
-#endif /* (VER_PRODUCTBUILD >= 2195) */
-} MMSUPPORT, *PMMSUPPORT;
-
-#endif
-
-typedef struct _SE_AUDIT_PROCESS_CREATION_INFO {
- POBJECT_NAME_INFORMATION ImageFileName;
-} SE_AUDIT_PROCESS_CREATION_INFO, *PSE_AUDIT_PROCESS_CREATION_INFO;
-
-typedef struct _BITMAP_RANGE {
- LIST_ENTRY Links;
- LARGE_INTEGER BasePage;
- ULONG FirstDirtyPage;
- ULONG LastDirtyPage;
- ULONG DirtyPages;
- PULONG Bitmap;
-} BITMAP_RANGE, *PBITMAP_RANGE;
-
-typedef struct _CACHE_UNINITIALIZE_EVENT {
- struct _CACHE_UNINITIALIZE_EVENT *Next;
- KEVENT Event;
-} CACHE_UNINITIALIZE_EVENT, *PCACHE_UNINITIALIZE_EVENT;
-
-typedef struct _CC_FILE_SIZES {
- LARGE_INTEGER AllocationSize;
- LARGE_INTEGER FileSize;
- LARGE_INTEGER ValidDataLength;
-} CC_FILE_SIZES, *PCC_FILE_SIZES;
-
-typedef struct _COMPRESSED_DATA_INFO {
- USHORT CompressionFormatAndEngine;
- UCHAR CompressionUnitShift;
- UCHAR ChunkShift;
- UCHAR ClusterShift;
- UCHAR Reserved;
- USHORT NumberOfChunks;
- ULONG CompressedChunkSizes[ANYSIZE_ARRAY];
-} COMPRESSED_DATA_INFO, *PCOMPRESSED_DATA_INFO;
-
-typedef struct _DEVICE_MAP {
- POBJECT_DIRECTORY DosDevicesDirectory;
- POBJECT_DIRECTORY GlobalDosDevicesDirectory;
- ULONG ReferenceCount;
- ULONG DriveMap;
- UCHAR DriveType[32];
-} DEVICE_MAP, *PDEVICE_MAP;
-
-#if (VER_PRODUCTBUILD >= 2600)
-
-typedef struct _EX_FAST_REF {
- _ANONYMOUS_UNION union {
- PVOID Object;
- ULONG RefCnt : 3;
- ULONG Value;
- } DUMMYUNIONNAME;
-} EX_FAST_REF, *PEX_FAST_REF;
-
-typedef struct _EX_PUSH_LOCK {
- _ANONYMOUS_UNION union {
- _ANONYMOUS_STRUCT struct {
- ULONG Waiting : 1;
- ULONG Exclusive : 1;
- ULONG Shared : 30;
- } DUMMYSTRUCTNAME;
- ULONG Value;
- PVOID Ptr;
- } DUMMYUNIONNAME;
-} EX_PUSH_LOCK, *PEX_PUSH_LOCK;
-
-typedef struct _EX_RUNDOWN_REF {
- _ANONYMOUS_UNION union {
- ULONG Count;
- PVOID Ptr;
- } DUMMYUNIONNAME;
-} EX_RUNDOWN_REF, *PEX_RUNDOWN_REF;
-
-#endif
-
-typedef struct _EPROCESS_QUOTA_ENTRY {
- ULONG Usage;
- ULONG Limit;
- ULONG Peak;
- ULONG Return;
-} EPROCESS_QUOTA_ENTRY, *PEPROCESS_QUOTA_ENTRY;
-
-typedef struct _EPROCESS_QUOTA_BLOCK {
- EPROCESS_QUOTA_ENTRY QuotaEntry[3];
- LIST_ENTRY QuotaList;
- ULONG ReferenceCount;
- ULONG ProcessCount;
-} EPROCESS_QUOTA_BLOCK, *PEPROCESS_QUOTA_BLOCK;
-
-/*
- * When needing these parameters cast your PIO_STACK_LOCATION to
- * PEXTENDED_IO_STACK_LOCATION
- */
-#if !defined(_ALPHA_)
-#include <pshpack4.h>
-#endif
-typedef struct _EXTENDED_IO_STACK_LOCATION {
-
- /* Included for padding */
- UCHAR MajorFunction;
- UCHAR MinorFunction;
- UCHAR Flags;
- UCHAR Control;
-
- union {
-
- struct {
- PIO_SECURITY_CONTEXT SecurityContext;
- ULONG Options;
- USHORT Reserved;
- USHORT ShareAccess;
- PMAILSLOT_CREATE_PARAMETERS Parameters;
- } CreateMailslot;
-
- struct {
- PIO_SECURITY_CONTEXT SecurityContext;
- ULONG Options;
- USHORT Reserved;
- USHORT ShareAccess;
- PNAMED_PIPE_CREATE_PARAMETERS Parameters;
- } CreatePipe;
-
- struct {
- ULONG OutputBufferLength;
- ULONG InputBufferLength;
- ULONG FsControlCode;
- PVOID Type3InputBuffer;
- } FileSystemControl;
-
- struct {
- PLARGE_INTEGER Length;
- ULONG Key;
- LARGE_INTEGER ByteOffset;
- } LockControl;
-
- struct {
- ULONG Length;
- ULONG CompletionFilter;
- } NotifyDirectory;
-
- struct {
- ULONG Length;
- PUNICODE_STRING FileName;
- FILE_INFORMATION_CLASS FileInformationClass;
- ULONG FileIndex;
- } QueryDirectory;
-
- struct {
- ULONG Length;
- PVOID EaList;
- ULONG EaListLength;
- ULONG EaIndex;
- } QueryEa;
-
- struct {
- ULONG Length;
- PSID StartSid;
- PFILE_GET_QUOTA_INFORMATION SidList;
- ULONG SidListLength;
- } QueryQuota;
-
- struct {
- ULONG Length;
- } SetEa;
-
- struct {
- ULONG Length;
- } SetQuota;
-
- struct {
- ULONG Length;
- FS_INFORMATION_CLASS FsInformationClass;
- } SetVolume;
-
- } Parameters;
- PDEVICE_OBJECT DeviceObject;
- PFILE_OBJECT FileObject;
- PIO_COMPLETION_ROUTINE CompletionRoutine;
- PVOID Context;
-
-} EXTENDED_IO_STACK_LOCATION, *PEXTENDED_IO_STACK_LOCATION;
-#if !defined(_ALPHA_)
-#include <poppack.h>
-#endif
-
-typedef struct _FILE_ACCESS_INFORMATION {
- ACCESS_MASK AccessFlags;
-} FILE_ACCESS_INFORMATION, *PFILE_ACCESS_INFORMATION;
-
-typedef struct _FILE_ALLOCATION_INFORMATION {
- LARGE_INTEGER AllocationSize;
-} FILE_ALLOCATION_INFORMATION, *PFILE_ALLOCATION_INFORMATION;
-
-typedef struct _FILE_BOTH_DIR_INFORMATION {
- ULONG NextEntryOffset;
- ULONG FileIndex;
- LARGE_INTEGER CreationTime;
- LARGE_INTEGER LastAccessTime;
- LARGE_INTEGER LastWriteTime;
- LARGE_INTEGER ChangeTime;
- LARGE_INTEGER EndOfFile;
- LARGE_INTEGER AllocationSize;
- ULONG FileAttributes;
- ULONG FileNameLength;
- ULONG EaSize;
- CCHAR ShortNameLength;
- WCHAR ShortName[12];
- WCHAR FileName[1];
-} FILE_BOTH_DIR_INFORMATION, *PFILE_BOTH_DIR_INFORMATION;
-
-typedef struct _FILE_COMPLETION_INFORMATION {
- HANDLE Port;
- ULONG Key;
-} FILE_COMPLETION_INFORMATION, *PFILE_COMPLETION_INFORMATION;
-
-typedef struct _FILE_COMPRESSION_INFORMATION {
- LARGE_INTEGER CompressedFileSize;
- USHORT CompressionFormat;
- UCHAR CompressionUnitShift;
- UCHAR ChunkShift;
- UCHAR ClusterShift;
- UCHAR Reserved[3];
-} FILE_COMPRESSION_INFORMATION, *PFILE_COMPRESSION_INFORMATION;
-
-typedef struct _FILE_COPY_ON_WRITE_INFORMATION {
- BOOLEAN ReplaceIfExists;
- HANDLE RootDirectory;
- ULONG FileNameLength;
- WCHAR FileName[1];
-} FILE_COPY_ON_WRITE_INFORMATION, *PFILE_COPY_ON_WRITE_INFORMATION;
-
-typedef struct _FILE_DIRECTORY_INFORMATION {
- ULONG NextEntryOffset;
- ULONG FileIndex;
- LARGE_INTEGER CreationTime;
- LARGE_INTEGER LastAccessTime;
- LARGE_INTEGER LastWriteTime;
- LARGE_INTEGER ChangeTime;
- LARGE_INTEGER EndOfFile;
- LARGE_INTEGER AllocationSize;
- ULONG FileAttributes;
- ULONG FileNameLength;
- WCHAR FileName[1];
-} FILE_DIRECTORY_INFORMATION, *PFILE_DIRECTORY_INFORMATION;
-
-typedef struct _FILE_FULL_DIRECTORY_INFORMATION {
- ULONG NextEntryOffset;
- ULONG FileIndex;
- LARGE_INTEGER CreationTime;
- LARGE_INTEGER LastAccessTime;
- LARGE_INTEGER LastWriteTime;
- LARGE_INTEGER ChangeTime;
- LARGE_INTEGER EndOfFile;
- LARGE_INTEGER AllocationSize;
- ULONG FileAttributes;
- ULONG FileNameLength;
- ULONG EaSize;
- WCHAR FileName[0];
-} FILE_FULL_DIRECTORY_INFORMATION, *PFILE_FULL_DIRECTORY_INFORMATION;
-
-typedef struct _FILE_BOTH_DIRECTORY_INFORMATION {
- ULONG NextEntryOffset;
- ULONG FileIndex;
- LARGE_INTEGER CreationTime;
- LARGE_INTEGER LastAccessTime;
- LARGE_INTEGER LastWriteTime;
- LARGE_INTEGER ChangeTime;
- LARGE_INTEGER EndOfFile;
- LARGE_INTEGER AllocationSize;
- ULONG FileAttributes;
- ULONG FileNameLength;
- ULONG EaSize;
- CHAR ShortNameLength;
- WCHAR ShortName[12];
- WCHAR FileName[0];
-} FILE_BOTH_DIRECTORY_INFORMATION, *PFILE_BOTH_DIRECTORY_INFORMATION;
-
-#if (VER_PRODUCTBUILD >= 2600)
-
-typedef struct _FILE_ID_FULL_DIRECTORY_INFORMATION {
- ULONG NextEntryOffset;
- ULONG FileIndex;
- LARGE_INTEGER CreationTime;
- LARGE_INTEGER LastAccessTime;
- LARGE_INTEGER LastWriteTime;
- LARGE_INTEGER ChangeTime;
- LARGE_INTEGER EndOfFile;
- LARGE_INTEGER AllocationSize;
- ULONG FileAttributes;
- ULONG FileNameLength;
- ULONG EaSize;
- LARGE_INTEGER FileId;
- WCHAR FileName[0];
-} FILE_ID_FULL_DIRECTORY_INFORMATION, *PFILE_ID_FULL_DIRECTORY_INFORMATION;
-
-typedef struct _FILE_ID_BOTH_DIRECTORY_INFORMATION {
- ULONG NextEntryOffset;
- ULONG FileIndex;
- LARGE_INTEGER CreationTime;
- LARGE_INTEGER LastAccessTime;
- LARGE_INTEGER LastWriteTime;
- LARGE_INTEGER ChangeTime;
- LARGE_INTEGER EndOfFile;
- LARGE_INTEGER AllocationSize;
- ULONG FileAttributes;
- ULONG FileNameLength;
- ULONG EaSize;
- CHAR ShortNameLength;
- WCHAR ShortName[12];
- LARGE_INTEGER FileId;
- WCHAR FileName[0];
-} FILE_ID_BOTH_DIRECTORY_INFORMATION, *PFILE_ID_BOTH_DIRECTORY_INFORMATION;
-
-#endif
-
-typedef struct _FILE_EA_INFORMATION {
- ULONG EaSize;
-} FILE_EA_INFORMATION, *PFILE_EA_INFORMATION;
-
-typedef struct _FILE_FS_ATTRIBUTE_INFORMATION {
- ULONG FileSystemAttributes;
- ULONG MaximumComponentNameLength;
- ULONG FileSystemNameLength;
- WCHAR FileSystemName[1];
-} FILE_FS_ATTRIBUTE_INFORMATION, *PFILE_FS_ATTRIBUTE_INFORMATION;
-
-typedef struct _FILE_FS_CONTROL_INFORMATION {
- LARGE_INTEGER FreeSpaceStartFiltering;
- LARGE_INTEGER FreeSpaceThreshold;
- LARGE_INTEGER FreeSpaceStopFiltering;
- LARGE_INTEGER DefaultQuotaThreshold;
- LARGE_INTEGER DefaultQuotaLimit;
- ULONG FileSystemControlFlags;
-} FILE_FS_CONTROL_INFORMATION, *PFILE_FS_CONTROL_INFORMATION;
-
-typedef struct _FILE_FS_FULL_SIZE_INFORMATION {
- LARGE_INTEGER TotalAllocationUnits;
- LARGE_INTEGER CallerAvailableAllocationUnits;
- LARGE_INTEGER ActualAvailableAllocationUnits;
- ULONG SectorsPerAllocationUnit;
- ULONG BytesPerSector;
-} FILE_FS_FULL_SIZE_INFORMATION, *PFILE_FS_FULL_SIZE_INFORMATION;
-
-typedef struct _FILE_FS_LABEL_INFORMATION {
- ULONG VolumeLabelLength;
- WCHAR VolumeLabel[1];
-} FILE_FS_LABEL_INFORMATION, *PFILE_FS_LABEL_INFORMATION;
-
-#if (VER_PRODUCTBUILD >= 2195)
-
-typedef struct _FILE_FS_OBJECT_ID_INFORMATION {
- UCHAR ObjectId[16];
- UCHAR ExtendedInfo[48];
-} FILE_FS_OBJECT_ID_INFORMATION, *PFILE_FS_OBJECT_ID_INFORMATION;
-
-#endif /* (VER_PRODUCTBUILD >= 2195) */
-
-typedef struct _FILE_FS_SIZE_INFORMATION {
- LARGE_INTEGER TotalAllocationUnits;
- LARGE_INTEGER AvailableAllocationUnits;
- ULONG SectorsPerAllocationUnit;
- ULONG BytesPerSector;
-} FILE_FS_SIZE_INFORMATION, *PFILE_FS_SIZE_INFORMATION;
-
-typedef struct _FILE_FS_VOLUME_INFORMATION {
- LARGE_INTEGER VolumeCreationTime;
- ULONG VolumeSerialNumber;
- ULONG VolumeLabelLength;
- BOOLEAN SupportsObjects;
- WCHAR VolumeLabel[1];
-} FILE_FS_VOLUME_INFORMATION, *PFILE_FS_VOLUME_INFORMATION;
-
-typedef struct _FILE_FULL_DIR_INFORMATION {
- ULONG NextEntryOffset;
- ULONG FileIndex;
- LARGE_INTEGER CreationTime;
- LARGE_INTEGER LastAccessTime;
- LARGE_INTEGER LastWriteTime;
- LARGE_INTEGER ChangeTime;
- LARGE_INTEGER EndOfFile;
- LARGE_INTEGER AllocationSize;
- ULONG FileAttributes;
- ULONG FileNameLength;
- ULONG EaSize;
- WCHAR FileName[1];
-} FILE_FULL_DIR_INFORMATION, *PFILE_FULL_DIR_INFORMATION;
-
-typedef struct _FILE_GET_EA_INFORMATION {
- ULONG NextEntryOffset;
- UCHAR EaNameLength;
- CHAR EaName[1];
-} FILE_GET_EA_INFORMATION, *PFILE_GET_EA_INFORMATION;
-
-typedef struct _FILE_GET_QUOTA_INFORMATION {
- ULONG NextEntryOffset;
- ULONG SidLength;
- SID Sid;
-} FILE_GET_QUOTA_INFORMATION, *PFILE_GET_QUOTA_INFORMATION;
-
-typedef struct _FILE_INTERNAL_INFORMATION {
- LARGE_INTEGER IndexNumber;
-} FILE_INTERNAL_INFORMATION, *PFILE_INTERNAL_INFORMATION;
-
-typedef struct _FILE_LINK_INFORMATION {
- BOOLEAN ReplaceIfExists;
- HANDLE RootDirectory;
- ULONG FileNameLength;
- WCHAR FileName[1];
-} FILE_LINK_INFORMATION, *PFILE_LINK_INFORMATION;
-
-typedef struct _FILE_LOCK_INFO {
- LARGE_INTEGER StartingByte;
- LARGE_INTEGER Length;
- BOOLEAN ExclusiveLock;
- ULONG Key;
- PFILE_OBJECT FileObject;
- PEPROCESS Process;
- LARGE_INTEGER EndingByte;
-} FILE_LOCK_INFO, *PFILE_LOCK_INFO;
-
-/* raw internal file lock struct returned from FsRtlGetNextFileLock */
-typedef struct _FILE_SHARED_LOCK_ENTRY {
- PVOID Unknown1;
- PVOID Unknown2;
- FILE_LOCK_INFO FileLock;
-} FILE_SHARED_LOCK_ENTRY, *PFILE_SHARED_LOCK_ENTRY;
-
-/* raw internal file lock struct returned from FsRtlGetNextFileLock */
-typedef struct _FILE_EXCLUSIVE_LOCK_ENTRY {
- LIST_ENTRY ListEntry;
- PVOID Unknown1;
- PVOID Unknown2;
- FILE_LOCK_INFO FileLock;
-} FILE_EXCLUSIVE_LOCK_ENTRY, *PFILE_EXCLUSIVE_LOCK_ENTRY;
-
-typedef NTSTATUS (*PCOMPLETE_LOCK_IRP_ROUTINE) (
- /*IN*/ PVOID Context,
- /*IN*/ PIRP Irp
-);
-
-typedef VOID (NTAPI *PUNLOCK_ROUTINE) (
- /*IN*/ PVOID Context,
- /*IN*/ PFILE_LOCK_INFO FileLockInfo
-);
-
-typedef struct _FILE_LOCK {
- PCOMPLETE_LOCK_IRP_ROUTINE CompleteLockIrpRoutine;
- PUNLOCK_ROUTINE UnlockRoutine;
- BOOLEAN FastIoIsQuestionable;
- BOOLEAN Pad[3];
- PVOID LockInformation;
- FILE_LOCK_INFO LastReturnedLockInfo;
- PVOID LastReturnedLock;
-} FILE_LOCK, *PFILE_LOCK;
-
-typedef struct _FILE_MAILSLOT_PEEK_BUFFER {
- ULONG ReadDataAvailable;
- ULONG NumberOfMessages;
- ULONG MessageLength;
-} FILE_MAILSLOT_PEEK_BUFFER, *PFILE_MAILSLOT_PEEK_BUFFER;
-
-typedef struct _FILE_MAILSLOT_QUERY_INFORMATION {
- ULONG MaximumMessageSize;
- ULONG MailslotQuota;
- ULONG NextMessageSize;
- ULONG MessagesAvailable;
- LARGE_INTEGER ReadTimeout;
-} FILE_MAILSLOT_QUERY_INFORMATION, *PFILE_MAILSLOT_QUERY_INFORMATION;
-
-typedef struct _FILE_MAILSLOT_SET_INFORMATION {
- LARGE_INTEGER ReadTimeout;
-} FILE_MAILSLOT_SET_INFORMATION, *PFILE_MAILSLOT_SET_INFORMATION;
-
-typedef struct _FILE_MODE_INFORMATION {
- ULONG Mode;
-} FILE_MODE_INFORMATION, *PFILE_MODE_INFORMATION;
-
-typedef struct _FILE_ALL_INFORMATION {
- FILE_BASIC_INFORMATION BasicInformation;
- FILE_STANDARD_INFORMATION StandardInformation;
- FILE_INTERNAL_INFORMATION InternalInformation;
- FILE_EA_INFORMATION EaInformation;
- FILE_ACCESS_INFORMATION AccessInformation;
- FILE_POSITION_INFORMATION PositionInformation;
- FILE_MODE_INFORMATION ModeInformation;
- FILE_ALIGNMENT_INFORMATION AlignmentInformation;
- FILE_NAME_INFORMATION NameInformation;
-} FILE_ALL_INFORMATION, *PFILE_ALL_INFORMATION;
-
-typedef struct _FILE_NAMES_INFORMATION {
- ULONG NextEntryOffset;
- ULONG FileIndex;
- ULONG FileNameLength;
- WCHAR FileName[1];
-} FILE_NAMES_INFORMATION, *PFILE_NAMES_INFORMATION;
-
-typedef struct _FILE_OBJECTID_INFORMATION {
- LONGLONG FileReference;
- UCHAR ObjectId[16];
- _ANONYMOUS_UNION union {
- struct {
- UCHAR BirthVolumeId[16];
- UCHAR BirthObjectId[16];
- UCHAR DomainId[16];
- } ;
- UCHAR ExtendedInfo[48];
- } DUMMYUNIONNAME;
-} FILE_OBJECTID_INFORMATION, *PFILE_OBJECTID_INFORMATION;
-
-typedef struct _FILE_OLE_CLASSID_INFORMATION {
- GUID ClassId;
-} FILE_OLE_CLASSID_INFORMATION, *PFILE_OLE_CLASSID_INFORMATION;
-
-typedef struct _FILE_OLE_ALL_INFORMATION {
- FILE_BASIC_INFORMATION BasicInformation;
- FILE_STANDARD_INFORMATION StandardInformation;
- FILE_INTERNAL_INFORMATION InternalInformation;
- FILE_EA_INFORMATION EaInformation;
- FILE_ACCESS_INFORMATION AccessInformation;
- FILE_POSITION_INFORMATION PositionInformation;
- FILE_MODE_INFORMATION ModeInformation;
- FILE_ALIGNMENT_INFORMATION AlignmentInformation;
- USN LastChangeUsn;
- USN ReplicationUsn;
- LARGE_INTEGER SecurityChangeTime;
- FILE_OLE_CLASSID_INFORMATION OleClassIdInformation;
- FILE_OBJECTID_INFORMATION ObjectIdInformation;
- FILE_STORAGE_TYPE StorageType;
- ULONG OleStateBits;
- ULONG OleId;
- ULONG NumberOfStreamReferences;
- ULONG StreamIndex;
- ULONG SecurityId;
- BOOLEAN ContentIndexDisable;
- BOOLEAN InheritContentIndexDisable;
- FILE_NAME_INFORMATION NameInformation;
-} FILE_OLE_ALL_INFORMATION, *PFILE_OLE_ALL_INFORMATION;
-
-typedef struct _FILE_OLE_DIR_INFORMATION {
- ULONG NextEntryOffset;
- ULONG FileIndex;
- LARGE_INTEGER CreationTime;
- LARGE_INTEGER LastAccessTime;
- LARGE_INTEGER LastWriteTime;
- LARGE_INTEGER ChangeTime;
- LARGE_INTEGER EndOfFile;
- LARGE_INTEGER AllocationSize;
- ULONG FileAttributes;
- ULONG FileNameLength;
- FILE_STORAGE_TYPE StorageType;
- GUID OleClassId;
- ULONG OleStateBits;
- BOOLEAN ContentIndexDisable;
- BOOLEAN InheritContentIndexDisable;
- WCHAR FileName[1];
-} FILE_OLE_DIR_INFORMATION, *PFILE_OLE_DIR_INFORMATION;
-
-typedef struct _FILE_OLE_INFORMATION {
- LARGE_INTEGER SecurityChangeTime;
- FILE_OLE_CLASSID_INFORMATION OleClassIdInformation;
- FILE_OBJECTID_INFORMATION ObjectIdInformation;
- FILE_STORAGE_TYPE StorageType;
- ULONG OleStateBits;
- BOOLEAN ContentIndexDisable;
- BOOLEAN InheritContentIndexDisable;
-} FILE_OLE_INFORMATION, *PFILE_OLE_INFORMATION;
-
-typedef struct _FILE_OLE_STATE_BITS_INFORMATION {
- ULONG StateBits;
- ULONG StateBitsMask;
-} FILE_OLE_STATE_BITS_INFORMATION, *PFILE_OLE_STATE_BITS_INFORMATION;
-
-typedef struct _FILE_PIPE_ASSIGN_EVENT_BUFFER {
- HANDLE EventHandle;
- ULONG KeyValue;
-} FILE_PIPE_ASSIGN_EVENT_BUFFER, *PFILE_PIPE_ASSIGN_EVENT_BUFFER;
-
-typedef struct _FILE_PIPE_CLIENT_PROCESS_BUFFER {
- PVOID ClientSession;
- PVOID ClientProcess;
-} FILE_PIPE_CLIENT_PROCESS_BUFFER, *PFILE_PIPE_CLIENT_PROCESS_BUFFER;
-
-typedef struct _FILE_PIPE_EVENT_BUFFER {
- ULONG NamedPipeState;
- ULONG EntryType;
- ULONG ByteCount;
- ULONG KeyValue;
- ULONG NumberRequests;
-} FILE_PIPE_EVENT_BUFFER, *PFILE_PIPE_EVENT_BUFFER;
-
-typedef struct _FILE_PIPE_INFORMATION {
- ULONG ReadMode;
- ULONG CompletionMode;
-} FILE_PIPE_INFORMATION, *PFILE_PIPE_INFORMATION;
-
-typedef struct _FILE_PIPE_LOCAL_INFORMATION {
- ULONG NamedPipeType;
- ULONG NamedPipeConfiguration;
- ULONG MaximumInstances;
- ULONG CurrentInstances;
- ULONG InboundQuota;
- ULONG ReadDataAvailable;
- ULONG OutboundQuota;
- ULONG WriteQuotaAvailable;
- ULONG NamedPipeState;
- ULONG NamedPipeEnd;
-} FILE_PIPE_LOCAL_INFORMATION, *PFILE_PIPE_LOCAL_INFORMATION;
-
-typedef struct _FILE_PIPE_REMOTE_INFORMATION {
- LARGE_INTEGER CollectDataTime;
- ULONG MaximumCollectionCount;
-} FILE_PIPE_REMOTE_INFORMATION, *PFILE_PIPE_REMOTE_INFORMATION;
-
-typedef struct _FILE_PIPE_WAIT_FOR_BUFFER {
- LARGE_INTEGER Timeout;
- ULONG NameLength;
- BOOLEAN TimeoutSpecified;
- WCHAR Name[1];
-} FILE_PIPE_WAIT_FOR_BUFFER, *PFILE_PIPE_WAIT_FOR_BUFFER;
-
-typedef struct _FILE_QUOTA_INFORMATION {
- ULONG NextEntryOffset;
- ULONG SidLength;
- LARGE_INTEGER ChangeTime;
- LARGE_INTEGER QuotaUsed;
- LARGE_INTEGER QuotaThreshold;
- LARGE_INTEGER QuotaLimit;
- SID Sid;
-} FILE_QUOTA_INFORMATION, *PFILE_QUOTA_INFORMATION;
-
-typedef struct _FILE_RENAME_INFORMATION {
- BOOLEAN ReplaceIfExists;
- HANDLE RootDirectory;
- ULONG FileNameLength;
- WCHAR FileName[1];
-} FILE_RENAME_INFORMATION, *PFILE_RENAME_INFORMATION;
-
-typedef struct _FILE_STREAM_INFORMATION {
- ULONG NextEntryOffset;
- ULONG StreamNameLength;
- LARGE_INTEGER StreamSize;
- LARGE_INTEGER StreamAllocationSize;
- WCHAR StreamName[1];
-} FILE_STREAM_INFORMATION, *PFILE_STREAM_INFORMATION;
-
-typedef struct _FILE_TRACKING_INFORMATION {
- HANDLE DestinationFile;
- ULONG ObjectInformationLength;
- CHAR ObjectInformation[1];
-} FILE_TRACKING_INFORMATION, *PFILE_TRACKING_INFORMATION;
-
-typedef struct _FSRTL_COMMON_FCB_HEADER {
- CSHORT NodeTypeCode;
- CSHORT NodeByteSize;
- UCHAR Flags;
- UCHAR IsFastIoPossible;
-#if (VER_PRODUCTBUILD >= 1381)
- UCHAR Flags2;
- UCHAR Reserved;
-#endif /* (VER_PRODUCTBUILD >= 1381) */
- PERESOURCE Resource;
- PERESOURCE PagingIoResource;
- LARGE_INTEGER AllocationSize;
- LARGE_INTEGER FileSize;
- LARGE_INTEGER ValidDataLength;
-} FSRTL_COMMON_FCB_HEADER, *PFSRTL_COMMON_FCB_HEADER;
-
-typedef struct _GENERATE_NAME_CONTEXT {
- USHORT Checksum;
- BOOLEAN CheckSumInserted;
- UCHAR NameLength;
- WCHAR NameBuffer[8];
- ULONG ExtensionLength;
- WCHAR ExtensionBuffer[4];
- ULONG LastIndexValue;
-} GENERATE_NAME_CONTEXT, *PGENERATE_NAME_CONTEXT;
-
-typedef struct _HANDLE_TABLE_ENTRY {
- PVOID Object;
- ULONG ObjectAttributes;
- ULONG GrantedAccess;
- USHORT GrantedAccessIndex;
- USHORT CreatorBackTraceIndex;
- ULONG NextFreeTableEntry;
-} HANDLE_TABLE_ENTRY, *PHANDLE_TABLE_ENTRY;
-
-typedef struct _MAPPING_PAIR {
- ULONGLONG Vcn;
- ULONGLONG Lcn;
-} MAPPING_PAIR, *PMAPPING_PAIR;
-
-typedef struct _GET_RETRIEVAL_DESCRIPTOR {
- ULONG NumberOfPairs;
- ULONGLONG StartVcn;
- MAPPING_PAIR Pair[1];
-} GET_RETRIEVAL_DESCRIPTOR, *PGET_RETRIEVAL_DESCRIPTOR;
-
-typedef struct _IO_CLIENT_EXTENSION {
- struct _IO_CLIENT_EXTENSION *NextExtension;
- PVOID ClientIdentificationAddress;
-} IO_CLIENT_EXTENSION, *PIO_CLIENT_EXTENSION;
-
-typedef struct _IO_COMPLETION_BASIC_INFORMATION {
- LONG Depth;
-} IO_COMPLETION_BASIC_INFORMATION, *PIO_COMPLETION_BASIC_INFORMATION;
-
-typedef struct _KEVENT_PAIR {
- USHORT Type;
- USHORT Size;
- KEVENT Event1;
- KEVENT Event2;
-} KEVENT_PAIR, *PKEVENT_PAIR;
-
-typedef struct _KQUEUE {
- DISPATCHER_HEADER Header;
- LIST_ENTRY EntryListHead;
- ULONG CurrentCount;
- ULONG MaximumCount;
- LIST_ENTRY ThreadListHead;
-} KQUEUE, *PKQUEUE, *RESTRICTED_POINTER PRKQUEUE;
-
-typedef struct _MAILSLOT_CREATE_PARAMETERS {
- ULONG MailslotQuota;
- ULONG MaximumMessageSize;
- LARGE_INTEGER ReadTimeout;
- BOOLEAN TimeoutSpecified;
-} MAILSLOT_CREATE_PARAMETERS, *PMAILSLOT_CREATE_PARAMETERS;
-
-typedef struct _MBCB {
- CSHORT NodeTypeCode;
- CSHORT NodeIsInZone;
- ULONG PagesToWrite;
- ULONG DirtyPages;
- ULONG Reserved;
- LIST_ENTRY BitmapRanges;
- LONGLONG ResumeWritePage;
- BITMAP_RANGE BitmapRange1;
- BITMAP_RANGE BitmapRange2;
- BITMAP_RANGE BitmapRange3;
-} MBCB, *PMBCB;
-
-typedef struct _MOVEFILE_DESCRIPTOR {
- HANDLE FileHandle;
- ULONG Reserved;
- LARGE_INTEGER StartVcn;
- LARGE_INTEGER TargetLcn;
- ULONG NumVcns;
- ULONG Reserved1;
-} MOVEFILE_DESCRIPTOR, *PMOVEFILE_DESCRIPTOR;
-
-typedef struct _NAMED_PIPE_CREATE_PARAMETERS {
- ULONG NamedPipeType;
- ULONG ReadMode;
- ULONG CompletionMode;
- ULONG MaximumInstances;
- ULONG InboundQuota;
- ULONG OutboundQuota;
- LARGE_INTEGER DefaultTimeout;
- BOOLEAN TimeoutSpecified;
-} NAMED_PIPE_CREATE_PARAMETERS, *PNAMED_PIPE_CREATE_PARAMETERS;
-
-typedef struct _OBJECT_BASIC_INFO {
- ULONG Attributes;
- ACCESS_MASK GrantedAccess;
- ULONG HandleCount;
- ULONG ReferenceCount;
- ULONG PagedPoolUsage;
- ULONG NonPagedPoolUsage;
- ULONG Reserved[3];
- ULONG NameInformationLength;
- ULONG TypeInformationLength;
- ULONG SecurityDescriptorLength;
- LARGE_INTEGER CreateTime;
-} OBJECT_BASIC_INFO, *POBJECT_BASIC_INFO;
-
-typedef struct _OBJECT_HANDLE_ATTRIBUTE_INFO {
- BOOLEAN Inherit;
- BOOLEAN ProtectFromClose;
-} OBJECT_HANDLE_ATTRIBUTE_INFO, *POBJECT_HANDLE_ATTRIBUTE_INFO;
-
-typedef struct _OBJECT_NAME_INFO {
- UNICODE_STRING ObjectName;
- WCHAR ObjectNameBuffer[1];
-} OBJECT_NAME_INFO, *POBJECT_NAME_INFO;
-
-typedef struct _OBJECT_PROTECTION_INFO {
- BOOLEAN Inherit;
- BOOLEAN ProtectHandle;
-} OBJECT_PROTECTION_INFO, *POBJECT_PROTECTION_INFO;
-
-typedef struct _OBJECT_TYPE_INFO {
- UNICODE_STRING ObjectTypeName;
- UCHAR Unknown[0x58];
- WCHAR ObjectTypeNameBuffer[1];
-} OBJECT_TYPE_INFO, *POBJECT_TYPE_INFO;
-
-typedef struct _OBJECT_ALL_TYPES_INFO {
- ULONG NumberOfObjectTypes;
- OBJECT_TYPE_INFO ObjectsTypeInfo[1];
-} OBJECT_ALL_TYPES_INFO, *POBJECT_ALL_TYPES_INFO;
-
-typedef struct _PAGEFAULT_HISTORY {
- ULONG CurrentIndex;
- ULONG MaxIndex;
- KSPIN_LOCK SpinLock;
- PVOID Reserved;
- PROCESS_WS_WATCH_INFORMATION WatchInfo[1];
-} PAGEFAULT_HISTORY, *PPAGEFAULT_HISTORY;
-
-typedef struct _PATHNAME_BUFFER {
- ULONG PathNameLength;
- WCHAR Name[1];
-} PATHNAME_BUFFER, *PPATHNAME_BUFFER;
-
-#if (VER_PRODUCTBUILD >= 2600)
-
-typedef struct _PRIVATE_CACHE_MAP_FLAGS {
- ULONG DontUse : 16;
- ULONG ReadAheadActive : 1;
- ULONG ReadAheadEnabled : 1;
- ULONG Available : 14;
-} PRIVATE_CACHE_MAP_FLAGS, *PPRIVATE_CACHE_MAP_FLAGS;
-
-typedef struct _PRIVATE_CACHE_MAP {
- _ANONYMOUS_UNION union {
- CSHORT NodeTypeCode;
- PRIVATE_CACHE_MAP_FLAGS Flags;
- ULONG UlongFlags;
- } DUMMYUNIONNAME;
- ULONG ReadAheadMask;
- PFILE_OBJECT FileObject;
- LARGE_INTEGER FileOffset1;
- LARGE_INTEGER BeyondLastByte1;
- LARGE_INTEGER FileOffset2;
- LARGE_INTEGER BeyondLastByte2;
- LARGE_INTEGER ReadAheadOffset[2];
- ULONG ReadAheadLength[2];
- KSPIN_LOCK ReadAheadSpinLock;
- LIST_ENTRY PrivateLinks;
-} PRIVATE_CACHE_MAP, *PPRIVATE_CACHE_MAP;
-
-#endif
-
-typedef struct _PS_IMPERSONATION_INFORMATION {
- PACCESS_TOKEN Token;
- BOOLEAN CopyOnOpen;
- BOOLEAN EffectiveOnly;
- SECURITY_IMPERSONATION_LEVEL ImpersonationLevel;
-} PS_IMPERSONATION_INFORMATION, *PPS_IMPERSONATION_INFORMATION;
-
-typedef struct _PUBLIC_BCB {
- CSHORT NodeTypeCode;
- CSHORT NodeByteSize;
- ULONG MappedLength;
- LARGE_INTEGER MappedFileOffset;
-} PUBLIC_BCB, *PPUBLIC_BCB;
-
-typedef struct _QUERY_PATH_REQUEST {
- ULONG PathNameLength;
- PIO_SECURITY_CONTEXT SecurityContext;
- WCHAR FilePathName[1];
-} QUERY_PATH_REQUEST, *PQUERY_PATH_REQUEST;
-
-typedef struct _QUERY_PATH_RESPONSE {
- ULONG LengthAccepted;
-} QUERY_PATH_RESPONSE, *PQUERY_PATH_RESPONSE;
-
-typedef struct _RETRIEVAL_POINTERS_BUFFER {
- ULONG ExtentCount;
- LARGE_INTEGER StartingVcn;
- struct {
- LARGE_INTEGER NextVcn;
- LARGE_INTEGER Lcn;
- } Extents[1];
-} RETRIEVAL_POINTERS_BUFFER, *PRETRIEVAL_POINTERS_BUFFER;
-
-typedef struct _RTL_SPLAY_LINKS {
- struct _RTL_SPLAY_LINKS *Parent;
- struct _RTL_SPLAY_LINKS *LeftChild;
- struct _RTL_SPLAY_LINKS *RightChild;
-} RTL_SPLAY_LINKS, *PRTL_SPLAY_LINKS;
-
-typedef struct _SE_EXPORTS {
-
- LUID SeCreateTokenPrivilege;
- LUID SeAssignPrimaryTokenPrivilege;
- LUID SeLockMemoryPrivilege;
- LUID SeIncreaseQuotaPrivilege;
- LUID SeUnsolicitedInputPrivilege;
- LUID SeTcbPrivilege;
- LUID SeSecurityPrivilege;
- LUID SeTakeOwnershipPrivilege;
- LUID SeLoadDriverPrivilege;
- LUID SeCreatePagefilePrivilege;
- LUID SeIncreaseBasePriorityPrivilege;
- LUID SeSystemProfilePrivilege;
- LUID SeSystemtimePrivilege;
- LUID SeProfileSingleProcessPrivilege;
- LUID SeCreatePermanentPrivilege;
- LUID SeBackupPrivilege;
- LUID SeRestorePrivilege;
- LUID SeShutdownPrivilege;
- LUID SeDebugPrivilege;
- LUID SeAuditPrivilege;
- LUID SeSystemEnvironmentPrivilege;
- LUID SeChangeNotifyPrivilege;
- LUID SeRemoteShutdownPrivilege;
-
- PSID SeNullSid;
- PSID SeWorldSid;
- PSID SeLocalSid;
- PSID SeCreatorOwnerSid;
- PSID SeCreatorGroupSid;
-
- PSID SeNtAuthoritySid;
- PSID SeDialupSid;
- PSID SeNetworkSid;
- PSID SeBatchSid;
- PSID SeInteractiveSid;
- PSID SeLocalSystemSid;
- PSID SeAliasAdminsSid;
- PSID SeAliasUsersSid;
- PSID SeAliasGuestsSid;
- PSID SeAliasPowerUsersSid;
- PSID SeAliasAccountOpsSid;
- PSID SeAliasSystemOpsSid;
- PSID SeAliasPrintOpsSid;
- PSID SeAliasBackupOpsSid;
-
- PSID SeAuthenticatedUsersSid;
-
- PSID SeRestrictedSid;
- PSID SeAnonymousLogonSid;
-
- LUID SeUndockPrivilege;
- LUID SeSyncAgentPrivilege;
- LUID SeEnableDelegationPrivilege;
-
-} SE_EXPORTS, *PSE_EXPORTS;
-
-typedef struct _SECTION_BASIC_INFORMATION {
- PVOID BaseAddress;
- ULONG Attributes;
- LARGE_INTEGER Size;
-} SECTION_BASIC_INFORMATION, *PSECTION_BASIC_INFORMATION;
-
-typedef struct _SECTION_IMAGE_INFORMATION {
- PVOID EntryPoint;
- ULONG Unknown1;
- ULONG StackReserve;
- ULONG StackCommit;
- ULONG Subsystem;
- USHORT MinorSubsystemVersion;
- USHORT MajorSubsystemVersion;
- ULONG Unknown2;
- ULONG Characteristics;
- USHORT ImageNumber;
- BOOLEAN Executable;
- UCHAR Unknown3;
- ULONG Unknown4[3];
-} SECTION_IMAGE_INFORMATION, *PSECTION_IMAGE_INFORMATION;
-
-#if (VER_PRODUCTBUILD >= 2600)
-
-typedef struct _SHARED_CACHE_MAP {
- CSHORT NodeTypeCode;
- CSHORT NodeByteSize;
- ULONG OpenCount;
- LARGE_INTEGER FileSize;
- LIST_ENTRY BcbList;
- LARGE_INTEGER SectionSize;
- LARGE_INTEGER ValidDataLength;
- LARGE_INTEGER ValidDataGoal;
- PVACB InitialVacbs[4];
- PVACB *Vacbs;
- PFILE_OBJECT FileObject;
- PVACB ActiveVacb;
- PVOID NeedToZero;
- ULONG ActivePage;
- ULONG NeedToZeroPage;
- KSPIN_LOCK ActiveVacbSpinLock;
- ULONG VacbActiveCount;
- ULONG DirtyPages;
- LIST_ENTRY SharedCacheMapLinks;
- ULONG Flags;
- NTSTATUS Status;
- PMBCB Mbcb;
- PVOID Section;
- PKEVENT CreateEvent;
- PKEVENT WaitOnActiveCount;
- ULONG PagesToWrite;
- LONGLONG BeyondLastFlush;
- PCACHE_MANAGER_CALLBACKS Callbacks;
- PVOID LazyWriteContext;
- LIST_ENTRY PrivateList;
- PVOID LogHandle;
- PVOID FlushToLsnRoutine;
- ULONG DirtyPageThreshold;
- ULONG LazyWritePassCount;
- PCACHE_UNINITIALIZE_EVENT UninitializeEvent;
- PVACB NeedToZeroVacb;
- KSPIN_LOCK BcbSpinLock;
- PVOID Reserved;
- KEVENT Event;
- EX_PUSH_LOCK VacbPushLock;
- PRIVATE_CACHE_MAP PrivateCacheMap;
-} SHARED_CACHE_MAP, *PSHARED_CACHE_MAP;
-
-#endif
-
-typedef struct _STARTING_VCN_INPUT_BUFFER {
- LARGE_INTEGER StartingVcn;
-} STARTING_VCN_INPUT_BUFFER, *PSTARTING_VCN_INPUT_BUFFER;
-
-typedef struct _SYSTEM_CACHE_INFORMATION {
- ULONG CurrentSize;
- ULONG PeakSize;
- ULONG PageFaultCount;
- ULONG MinimumWorkingSet;
- ULONG MaximumWorkingSet;
- ULONG Unused[4];
-} SYSTEM_CACHE_INFORMATION, *PSYSTEM_CACHE_INFORMATION;
-
-typedef struct _TERMINATION_PORT {
- struct _TERMINATION_PORT* Next;
- PVOID Port;
-} TERMINATION_PORT, *PTERMINATION_PORT;
-
-typedef struct _SECURITY_CLIENT_CONTEXT {
- SECURITY_QUALITY_OF_SERVICE SecurityQos;
- PACCESS_TOKEN ClientToken;
- BOOLEAN DirectlyAccessClientToken;
- BOOLEAN DirectAccessEffectiveOnly;
- BOOLEAN ServerIsRemote;
- TOKEN_CONTROL ClientTokenControl;
-} SECURITY_CLIENT_CONTEXT, *PSECURITY_CLIENT_CONTEXT;
-
-typedef struct _TUNNEL {
- FAST_MUTEX Mutex;
- PRTL_SPLAY_LINKS Cache;
- LIST_ENTRY TimerQueue;
- USHORT NumEntries;
-} TUNNEL, *PTUNNEL;
-
-typedef struct _VACB {
- PVOID BaseAddress;
- PSHARED_CACHE_MAP SharedCacheMap;
- union {
- LARGE_INTEGER FileOffset;
- USHORT ActiveCount;
- } Overlay;
- LIST_ENTRY LruList;
-} VACB, *PVACB;
-
-typedef struct _VAD_HEADER {
- PVOID StartVPN;
- PVOID EndVPN;
- PVAD_HEADER ParentLink;
- PVAD_HEADER LeftLink;
- PVAD_HEADER RightLink;
- ULONG Flags; /* LSB = CommitCharge */
- PVOID ControlArea;
- PVOID FirstProtoPte;
- PVOID LastPTE;
- ULONG Unknown;
- LIST_ENTRY Secured;
-} VAD_HEADER, *PVAD_HEADER;
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-CcCanIWrite (
- /*IN*/ PFILE_OBJECT FileObject,
- /*IN*/ ULONG BytesToWrite,
- /*IN*/ BOOLEAN Wait,
- /*IN*/ BOOLEAN Retrying
-);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-CcCopyRead (
- /*IN*/ PFILE_OBJECT FileObject,
- /*IN*/ PLARGE_INTEGER FileOffset,
- /*IN*/ ULONG Length,
- /*IN*/ BOOLEAN Wait,
- /*OUT*/ PVOID Buffer,
- /*OUT*/ PIO_STATUS_BLOCK IoStatus
-);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-CcCopyWrite (
- /*IN*/ PFILE_OBJECT FileObject,
- /*IN*/ PLARGE_INTEGER FileOffset,
- /*IN*/ ULONG Length,
- /*IN*/ BOOLEAN Wait,
- /*IN*/ PVOID Buffer
-);
-
-#define CcCopyWriteWontFlush(FO, FOFF, LEN) ((LEN) <= 0x10000)
-
-typedef VOID (NTAPI *PCC_POST_DEFERRED_WRITE) (
- /*IN*/ PVOID Context1,
- /*IN*/ PVOID Context2
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-CcDeferWrite (
- /*IN*/ PFILE_OBJECT FileObject,
- /*IN*/ PCC_POST_DEFERRED_WRITE PostRoutine,
- /*IN*/ PVOID Context1,
- /*IN*/ PVOID Context2,
- /*IN*/ ULONG BytesToWrite,
- /*IN*/ BOOLEAN Retrying
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-CcFastCopyRead (
- /*IN*/ PFILE_OBJECT FileObject,
- /*IN*/ ULONG FileOffset,
- /*IN*/ ULONG Length,
- /*IN*/ ULONG PageCount,
- /*OUT*/ PVOID Buffer,
- /*OUT*/ PIO_STATUS_BLOCK IoStatus
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-CcFastCopyWrite (
- /*IN*/ PFILE_OBJECT FileObject,
- /*IN*/ ULONG FileOffset,
- /*IN*/ ULONG Length,
- /*IN*/ PVOID Buffer
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-CcFlushCache (
- /*IN*/ PSECTION_OBJECT_POINTERS SectionObjectPointer,
- /*IN*/ PLARGE_INTEGER FileOffset /*OPTIONAL*/,
- /*IN*/ ULONG Length,
- /*OUT*/ PIO_STATUS_BLOCK IoStatus /*OPTIONAL*/
-);
-
-typedef VOID (*PDIRTY_PAGE_ROUTINE) (
- /*IN*/ PFILE_OBJECT FileObject,
- /*IN*/ PLARGE_INTEGER FileOffset,
- /*IN*/ ULONG Length,
- /*IN*/ PLARGE_INTEGER OldestLsn,
- /*IN*/ PLARGE_INTEGER NewestLsn,
- /*IN*/ PVOID Context1,
- /*IN*/ PVOID Context2
-);
-
-NTKERNELAPI
-LARGE_INTEGER
-NTAPI
-CcGetDirtyPages (
- /*IN*/ PVOID LogHandle,
- /*IN*/ PDIRTY_PAGE_ROUTINE DirtyPageRoutine,
- /*IN*/ PVOID Context1,
- /*IN*/ PVOID Context2
-);
-
-NTKERNELAPI
-PFILE_OBJECT
-NTAPI
-CcGetFileObjectFromBcb (
- /*IN*/ PVOID Bcb
-);
-
-NTKERNELAPI
-PFILE_OBJECT
-NTAPI
-CcGetFileObjectFromSectionPtrs (
- /*IN*/ PSECTION_OBJECT_POINTERS SectionObjectPointer
-);
-
-#define CcGetFileSizePointer(FO) ( \
- ((PLARGE_INTEGER)((FO)->SectionObjectPointer->SharedCacheMap) + 1) \
-)
-
-#if (VER_PRODUCTBUILD >= 2195)
-
-NTKERNELAPI
-LARGE_INTEGER
-NTAPI
-CcGetFlushedValidData (
- /*IN*/ PSECTION_OBJECT_POINTERS SectionObjectPointer,
- /*IN*/ BOOLEAN BcbListHeld
-);
-
-#endif /* (VER_PRODUCTBUILD >= 2195) */
-
-NTKERNELAPI
-LARGE_INTEGER
-CcGetLsnForFileObject (
- /*IN*/ PFILE_OBJECT FileObject,
- /*OUT*/ PLARGE_INTEGER OldestLsn /*OPTIONAL*/
-);
-
-typedef BOOLEAN (NTAPI *PACQUIRE_FOR_LAZY_WRITE) (
- /*IN*/ PVOID Context,
- /*IN*/ BOOLEAN Wait
-);
-
-typedef VOID (NTAPI *PRELEASE_FROM_LAZY_WRITE) (
- /*IN*/ PVOID Context
-);
-
-typedef BOOLEAN (NTAPI *PACQUIRE_FOR_READ_AHEAD) (
- /*IN*/ PVOID Context,
- /*IN*/ BOOLEAN Wait
-);
-
-typedef VOID (NTAPI *PRELEASE_FROM_READ_AHEAD) (
- /*IN*/ PVOID Context
-);
-
-typedef struct _CACHE_MANAGER_CALLBACKS {
- PACQUIRE_FOR_LAZY_WRITE AcquireForLazyWrite;
- PRELEASE_FROM_LAZY_WRITE ReleaseFromLazyWrite;
- PACQUIRE_FOR_READ_AHEAD AcquireForReadAhead;
- PRELEASE_FROM_READ_AHEAD ReleaseFromReadAhead;
-} CACHE_MANAGER_CALLBACKS, *PCACHE_MANAGER_CALLBACKS;
-
-NTKERNELAPI
-VOID
-NTAPI
-CcInitializeCacheMap (
- /*IN*/ PFILE_OBJECT FileObject,
- /*IN*/ PCC_FILE_SIZES FileSizes,
- /*IN*/ BOOLEAN PinAccess,
- /*IN*/ PCACHE_MANAGER_CALLBACKS Callbacks,
- /*IN*/ PVOID LazyWriteContext
-);
-
-#define CcIsFileCached(FO) ( \
- ((FO)->SectionObjectPointer != NULL) && \
- (((PSECTION_OBJECT_POINTERS)(FO)->SectionObjectPointer)->SharedCacheMap != NULL) \
-)
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-CcIsThereDirtyData (
- /*IN*/ PVPB Vpb
-);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-CcMapData (
- /*IN*/ PFILE_OBJECT FileObject,
- /*IN*/ PLARGE_INTEGER FileOffset,
- /*IN*/ ULONG Length,
- /*IN*/ BOOLEAN Wait,
- /*OUT*/ PVOID *Bcb,
- /*OUT*/ PVOID *Buffer
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-CcMdlRead (
- /*IN*/ PFILE_OBJECT FileObject,
- /*IN*/ PLARGE_INTEGER FileOffset,
- /*IN*/ ULONG Length,
- /*OUT*/ PMDL *MdlChain,
- /*OUT*/ PIO_STATUS_BLOCK IoStatus
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-CcMdlReadComplete (
- /*IN*/ PFILE_OBJECT FileObject,
- /*IN*/ PMDL MdlChain
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-CcMdlWriteComplete (
- /*IN*/ PFILE_OBJECT FileObject,
- /*IN*/ PLARGE_INTEGER FileOffset,
- /*IN*/ PMDL MdlChain
-);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-CcPinMappedData (
- /*IN*/ PFILE_OBJECT FileObject,
- /*IN*/ PLARGE_INTEGER FileOffset,
- /*IN*/ ULONG Length,
-#if (VER_PRODUCTBUILD >= 2195)
- /*IN*/ ULONG Flags,
-#else
- /*IN*/ BOOLEAN Wait,
-#endif
- /*IN OUT*/ PVOID *Bcb
-);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-CcPinRead (
- /*IN*/ PFILE_OBJECT FileObject,
- /*IN*/ PLARGE_INTEGER FileOffset,
- /*IN*/ ULONG Length,
-#if (VER_PRODUCTBUILD >= 2195)
- /*IN*/ ULONG Flags,
-#else
- /*IN*/ BOOLEAN Wait,
-#endif
- /*OUT*/ PVOID *Bcb,
- /*OUT*/ PVOID *Buffer
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-CcPrepareMdlWrite (
- /*IN*/ PFILE_OBJECT FileObject,
- /*IN*/ PLARGE_INTEGER FileOffset,
- /*IN*/ ULONG Length,
- /*OUT*/ PMDL *MdlChain,
- /*OUT*/ PIO_STATUS_BLOCK IoStatus
-);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-CcPreparePinWrite (
- /*IN*/ PFILE_OBJECT FileObject,
- /*IN*/ PLARGE_INTEGER FileOffset,
- /*IN*/ ULONG Length,
- /*IN*/ BOOLEAN Zero,
-#if (VER_PRODUCTBUILD >= 2195)
- /*IN*/ ULONG Flags,
-#else
- /*IN*/ BOOLEAN Wait,
-#endif
- /*OUT*/ PVOID *Bcb,
- /*OUT*/ PVOID *Buffer
-);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-CcPurgeCacheSection (
- /*IN*/ PSECTION_OBJECT_POINTERS SectionObjectPointer,
- /*IN*/ PLARGE_INTEGER FileOffset /*OPTIONAL*/,
- /*IN*/ ULONG Length,
- /*IN*/ BOOLEAN UninitializeCacheMaps
-);
-
-#define CcReadAhead(FO, FOFF, LEN) ( \
- if ((LEN) >= 256) { \
- CcScheduleReadAhead((FO), (FOFF), (LEN)); \
- } \
-)
-
-#if (VER_PRODUCTBUILD >= 2195)
-
-NTKERNELAPI
-PVOID
-NTAPI
-CcRemapBcb (
- /*IN*/ PVOID Bcb
-);
-
-#endif /* (VER_PRODUCTBUILD >= 2195) */
-
-NTKERNELAPI
-VOID
-NTAPI
-CcRepinBcb (
- /*IN*/ PVOID Bcb
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-CcScheduleReadAhead (
- /*IN*/ PFILE_OBJECT FileObject,
- /*IN*/ PLARGE_INTEGER FileOffset,
- /*IN*/ ULONG Length
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-CcSetAdditionalCacheAttributes (
- /*IN*/ PFILE_OBJECT FileObject,
- /*IN*/ BOOLEAN DisableReadAhead,
- /*IN*/ BOOLEAN DisableWriteBehind
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-CcSetBcbOwnerPointer (
- /*IN*/ PVOID Bcb,
- /*IN*/ PVOID OwnerPointer
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-CcSetDirtyPageThreshold (
- /*IN*/ PFILE_OBJECT FileObject,
- /*IN*/ ULONG DirtyPageThreshold
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-CcSetDirtyPinnedData (
- /*IN*/ PVOID BcbVoid,
- /*IN*/ PLARGE_INTEGER Lsn /*OPTIONAL*/
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-CcSetFileSizes (
- /*IN*/ PFILE_OBJECT FileObject,
- /*IN*/ PCC_FILE_SIZES FileSizes
-);
-
-typedef VOID (NTAPI *PFLUSH_TO_LSN) (
- /*IN*/ PVOID LogHandle,
- /*IN*/ PLARGE_INTEGER Lsn
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-CcSetLogHandleForFile (
- /*IN*/ PFILE_OBJECT FileObject,
- /*IN*/ PVOID LogHandle,
- /*IN*/ PFLUSH_TO_LSN FlushToLsnRoutine
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-CcSetReadAheadGranularity (
- /*IN*/ PFILE_OBJECT FileObject,
- /*IN*/ ULONG Granularity /* default: PAGE_SIZE */
- /* allowed: 2^n * PAGE_SIZE */
-);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-CcUninitializeCacheMap (
- /*IN*/ PFILE_OBJECT FileObject,
- /*IN*/ PLARGE_INTEGER TruncateSize /*OPTIONAL*/,
- /*IN*/ PCACHE_UNINITIALIZE_EVENT UninitializeCompleteEvent /*OPTIONAL*/
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-CcUnpinData (
- /*IN*/ PVOID Bcb
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-CcUnpinDataForThread (
- /*IN*/ PVOID Bcb,
- /*IN*/ ERESOURCE_THREAD ResourceThreadId
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-CcUnpinRepinnedBcb (
- /*IN*/ PVOID Bcb,
- /*IN*/ BOOLEAN WriteThrough,
- /*OUT*/ PIO_STATUS_BLOCK IoStatus
-);
-
-#if (VER_PRODUCTBUILD >= 2195)
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-CcWaitForCurrentLazyWriterActivity (
- VOID
-);
-
-#endif /* (VER_PRODUCTBUILD >= 2195) */
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-CcZeroData (
- /*IN*/ PFILE_OBJECT FileObject,
- /*IN*/ PLARGE_INTEGER StartOffset,
- /*IN*/ PLARGE_INTEGER EndOffset,
- /*IN*/ BOOLEAN Wait
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-ExDisableResourceBoostLite (
- /*IN*/ PERESOURCE Resource
-);
-
-NTKERNELAPI
-ULONG
-NTAPI
-ExQueryPoolBlockSize (
- /*IN*/ PVOID PoolBlock,
- /*OUT*/ PBOOLEAN QuotaCharged
-);
-
-#define FlagOn(x, f) ((x) & (f))
-
-NTKERNELAPI
-VOID
-NTAPI
-FsRtlAddToTunnelCache (
- /*IN*/ PTUNNEL Cache,
- /*IN*/ ULONGLONG DirectoryKey,
- /*IN*/ PUNICODE_STRING ShortName,
- /*IN*/ PUNICODE_STRING LongName,
- /*IN*/ BOOLEAN KeyByShortName,
- /*IN*/ ULONG DataLength,
- /*IN*/ PVOID Data
-);
-
-#if (VER_PRODUCTBUILD >= 2195)
-
-PFILE_LOCK
-NTAPI
-FsRtlAllocateFileLock (
- /*IN*/ PCOMPLETE_LOCK_IRP_ROUTINE CompleteLockIrpRoutine /*OPTIONAL*/,
- /*IN*/ PUNLOCK_ROUTINE UnlockRoutine /*OPTIONAL*/
-);
-
-#endif /* (VER_PRODUCTBUILD >= 2195) */
-
-NTKERNELAPI
-PVOID
-NTAPI
-FsRtlAllocatePool (
- /*IN*/ POOL_TYPE PoolType,
- /*IN*/ ULONG NumberOfBytes
-);
-
-NTKERNELAPI
-PVOID
-NTAPI
-FsRtlAllocatePoolWithQuota (
- /*IN*/ POOL_TYPE PoolType,
- /*IN*/ ULONG NumberOfBytes
-);
-
-NTKERNELAPI
-PVOID
-NTAPI
-FsRtlAllocatePoolWithQuotaTag (
- /*IN*/ POOL_TYPE PoolType,
- /*IN*/ ULONG NumberOfBytes,
- /*IN*/ ULONG Tag
-);
-
-NTKERNELAPI
-PVOID
-NTAPI
-FsRtlAllocatePoolWithTag (
- /*IN*/ POOL_TYPE PoolType,
- /*IN*/ ULONG NumberOfBytes,
- /*IN*/ ULONG Tag
-);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-FsRtlAreNamesEqual (
- /*IN*/ PUNICODE_STRING Name1,
- /*IN*/ PUNICODE_STRING Name2,
- /*IN*/ BOOLEAN IgnoreCase,
- /*IN*/ PWCHAR UpcaseTable /*OPTIONAL*/
-);
-
-#define FsRtlAreThereCurrentFileLocks(FL) ( \
- ((FL)->FastIoIsQuestionable) \
-)
-
-/*
- FsRtlCheckLockForReadAccess:
-
- All this really does is pick out the lock parameters from the irp (io stack
- location?), get IoGetRequestorProcess, and pass values on to
- FsRtlFastCheckLockForRead.
-*/
-NTKERNELAPI
-BOOLEAN
-NTAPI
-FsRtlCheckLockForReadAccess (
- /*IN*/ PFILE_LOCK FileLock,
- /*IN*/ PIRP Irp
-);
-
-/*
- FsRtlCheckLockForWriteAccess:
-
- All this really does is pick out the lock parameters from the irp (io stack
- location?), get IoGetRequestorProcess, and pass values on to
- FsRtlFastCheckLockForWrite.
-*/
-NTKERNELAPI
-BOOLEAN
-NTAPI
-FsRtlCheckLockForWriteAccess (
- /*IN*/ PFILE_LOCK FileLock,
- /*IN*/ PIRP Irp
-);
-
-typedef
-VOID NTAPI
-(*POPLOCK_WAIT_COMPLETE_ROUTINE) (
- /*IN*/ PVOID Context,
- /*IN*/ PIRP Irp
-);
-
-typedef
-VOID NTAPI
-(*POPLOCK_FS_PREPOST_IRP) (
- /*IN*/ PVOID Context,
- /*IN*/ PIRP Irp
-);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-FsRtlCheckOplock (
- /*IN*/ POPLOCK Oplock,
- /*IN*/ PIRP Irp,
- /*IN*/ PVOID Context,
- /*IN*/ POPLOCK_WAIT_COMPLETE_ROUTINE CompletionRoutine /*OPTIONAL*/,
- /*IN*/ POPLOCK_FS_PREPOST_IRP PostIrpRoutine /*OPTIONAL*/
-);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-FsRtlCopyRead (
- /*IN*/ PFILE_OBJECT FileObject,
- /*IN*/ PLARGE_INTEGER FileOffset,
- /*IN*/ ULONG Length,
- /*IN*/ BOOLEAN Wait,
- /*IN*/ ULONG LockKey,
- /*OUT*/ PVOID Buffer,
- /*OUT*/ PIO_STATUS_BLOCK IoStatus,
- /*IN*/ PDEVICE_OBJECT DeviceObject
-);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-FsRtlCopyWrite (
- /*IN*/ PFILE_OBJECT FileObject,
- /*IN*/ PLARGE_INTEGER FileOffset,
- /*IN*/ ULONG Length,
- /*IN*/ BOOLEAN Wait,
- /*IN*/ ULONG LockKey,
- /*IN*/ PVOID Buffer,
- /*OUT*/ PIO_STATUS_BLOCK IoStatus,
- /*IN*/ PDEVICE_OBJECT DeviceObject
-);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-FsRtlCurrentBatchOplock (
- /*IN*/ POPLOCK Oplock
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-FsRtlDeleteKeyFromTunnelCache (
- /*IN*/ PTUNNEL Cache,
- /*IN*/ ULONGLONG DirectoryKey
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-FsRtlDeleteTunnelCache (
- /*IN*/ PTUNNEL Cache
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-FsRtlDeregisterUncProvider (
- /*IN*/ HANDLE Handle
-);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-FsRtlDoesNameContainWildCards (
- /*IN*/ PUNICODE_STRING Name
-);
-
-#define FsRtlEnterFileSystem KeEnterCriticalRegion
-
-#define FsRtlExitFileSystem KeLeaveCriticalRegion
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-FsRtlFastCheckLockForRead (
- /*IN*/ PFILE_LOCK FileLock,
- /*IN*/ PLARGE_INTEGER FileOffset,
- /*IN*/ PLARGE_INTEGER Length,
- /*IN*/ ULONG Key,
- /*IN*/ PFILE_OBJECT FileObject,
- /*IN*/ PEPROCESS Process
-);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-FsRtlFastCheckLockForWrite (
- /*IN*/ PFILE_LOCK FileLock,
- /*IN*/ PLARGE_INTEGER FileOffset,
- /*IN*/ PLARGE_INTEGER Length,
- /*IN*/ ULONG Key,
- /*IN*/ PFILE_OBJECT FileObject,
- /*IN*/ PEPROCESS Process
-);
-
-#define FsRtlFastLock(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11) ( \
- FsRtlPrivateLock(A1, A2, A3, A4, A5, A6, A7, A8, A9, NULL, A10, A11) \
-)
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-FsRtlFastUnlockAll (
- /*IN*/ PFILE_LOCK FileLock,
- /*IN*/ PFILE_OBJECT FileObject,
- /*IN*/ PEPROCESS Process,
- /*IN*/ PVOID Context /*OPTIONAL*/
-);
-/* ret: STATUS_RANGE_NOT_LOCKED */
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-FsRtlFastUnlockAllByKey (
- /*IN*/ PFILE_LOCK FileLock,
- /*IN*/ PFILE_OBJECT FileObject,
- /*IN*/ PEPROCESS Process,
- /*IN*/ ULONG Key,
- /*IN*/ PVOID Context /*OPTIONAL*/
-);
-/* ret: STATUS_RANGE_NOT_LOCKED */
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-FsRtlFastUnlockSingle (
- /*IN*/ PFILE_LOCK FileLock,
- /*IN*/ PFILE_OBJECT FileObject,
- /*IN*/ PLARGE_INTEGER FileOffset,
- /*IN*/ PLARGE_INTEGER Length,
- /*IN*/ PEPROCESS Process,
- /*IN*/ ULONG Key,
- /*IN*/ PVOID Context /*OPTIONAL*/,
- /*IN*/ BOOLEAN AlreadySynchronized
-);
-/* ret: STATUS_RANGE_NOT_LOCKED */
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-FsRtlFindInTunnelCache (
- /*IN*/ PTUNNEL Cache,
- /*IN*/ ULONGLONG DirectoryKey,
- /*IN*/ PUNICODE_STRING Name,
- /*OUT*/ PUNICODE_STRING ShortName,
- /*OUT*/ PUNICODE_STRING LongName,
- /*IN OUT*/ PULONG DataLength,
- /*OUT*/ PVOID Data
-);
-
-#if (VER_PRODUCTBUILD >= 2195)
-
-NTKERNELAPI
-VOID
-NTAPI
-FsRtlFreeFileLock (
- /*IN*/ PFILE_LOCK FileLock
-);
-
-#endif /* (VER_PRODUCTBUILD >= 2195) */
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-FsRtlGetFileSize (
- /*IN*/ PFILE_OBJECT FileObject,
- /*IN OUT*/ PLARGE_INTEGER FileSize
-);
-
-/*
- FsRtlGetNextFileLock:
-
- ret: NULL if no more locks
-
- Internals:
- FsRtlGetNextFileLock uses FileLock->LastReturnedLockInfo and
- FileLock->LastReturnedLock as storage.
- LastReturnedLock is a pointer to the 'raw' lock inkl. double linked
- list, and FsRtlGetNextFileLock needs this to get next lock on subsequent
- calls with Restart = FALSE.
-*/
-NTKERNELAPI
-PFILE_LOCK_INFO
-NTAPI
-FsRtlGetNextFileLock (
- /*IN*/ PFILE_LOCK FileLock,
- /*IN*/ BOOLEAN Restart
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-FsRtlInitializeFileLock (
- /*IN*/ PFILE_LOCK FileLock,
- /*IN*/ PCOMPLETE_LOCK_IRP_ROUTINE CompleteLockIrpRoutine /*OPTIONAL*/,
- /*IN*/ PUNLOCK_ROUTINE UnlockRoutine /*OPTIONAL*/
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-FsRtlInitializeOplock (
- /*IN OUT*/ POPLOCK Oplock
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-FsRtlInitializeTunnelCache (
- /*IN*/ PTUNNEL Cache
-);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-FsRtlIsNameInExpression (
- /*IN*/ PUNICODE_STRING Expression,
- /*IN*/ PUNICODE_STRING Name,
- /*IN*/ BOOLEAN IgnoreCase,
- /*IN*/ PWCHAR UpcaseTable /*OPTIONAL*/
-);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-FsRtlIsNtstatusExpected (
- /*IN*/ NTSTATUS Ntstatus
-);
-
-#define FsRtlIsUnicodeCharacterWild(C) ( \
- (((C) >= 0x40) ? \
- FALSE : \
- FlagOn((*FsRtlLegalAnsiCharacterArray)[(C)], FSRTL_WILD_CHARACTER )) \
-)
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-FsRtlMdlReadComplete (
- /*IN*/ PFILE_OBJECT FileObject,
- /*IN*/ PMDL MdlChain
-);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-FsRtlMdlReadCompleteDev (
- /*IN*/ PFILE_OBJECT FileObject,
- /*IN*/ PMDL MdlChain,
- /*IN*/ PDEVICE_OBJECT DeviceObject
-);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-FsRtlMdlWriteComplete (
- /*IN*/ PFILE_OBJECT FileObject,
- /*IN*/ PLARGE_INTEGER FileOffset,
- /*IN*/ PMDL MdlChain
-);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-FsRtlMdlWriteCompleteDev (
- /*IN*/ PFILE_OBJECT FileObject,
- /*IN*/ PLARGE_INTEGER FileOffset,
- /*IN*/ PMDL MdlChain,
- /*IN*/ PDEVICE_OBJECT DeviceObject
-);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-FsRtlNormalizeNtstatus (
- /*IN*/ NTSTATUS Exception,
- /*IN*/ NTSTATUS GenericException
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-FsRtlNotifyChangeDirectory (
- /*IN*/ PNOTIFY_SYNC NotifySync,
- /*IN*/ PVOID FsContext,
- /*IN*/ PSTRING FullDirectoryName,
- /*IN*/ PLIST_ENTRY NotifyList,
- /*IN*/ BOOLEAN WatchTree,
- /*IN*/ ULONG CompletionFilter,
- /*IN*/ PIRP NotifyIrp
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-FsRtlNotifyCleanup (
- /*IN*/ PNOTIFY_SYNC NotifySync,
- /*IN*/ PLIST_ENTRY NotifyList,
- /*IN*/ PVOID FsContext
-);
-
-typedef BOOLEAN (*PCHECK_FOR_TRAVERSE_ACCESS) (
- /*IN*/ PVOID NotifyContext,
- /*IN*/ PVOID TargetContext,
- /*IN*/ PSECURITY_SUBJECT_CONTEXT SubjectContext
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-FsRtlNotifyFullChangeDirectory (
- /*IN*/ PNOTIFY_SYNC NotifySync,
- /*IN*/ PLIST_ENTRY NotifyList,
- /*IN*/ PVOID FsContext,
- /*IN*/ PSTRING FullDirectoryName,
- /*IN*/ BOOLEAN WatchTree,
- /*IN*/ BOOLEAN IgnoreBuffer,
- /*IN*/ ULONG CompletionFilter,
- /*IN*/ PIRP NotifyIrp,
- /*IN*/ PCHECK_FOR_TRAVERSE_ACCESS TraverseCallback /*OPTIONAL*/,
- /*IN*/ PSECURITY_SUBJECT_CONTEXT SubjectContext /*OPTIONAL*/
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-FsRtlNotifyFullReportChange (
- /*IN*/ PNOTIFY_SYNC NotifySync,
- /*IN*/ PLIST_ENTRY NotifyList,
- /*IN*/ PSTRING FullTargetName,
- /*IN*/ USHORT TargetNameOffset,
- /*IN*/ PSTRING StreamName /*OPTIONAL*/,
- /*IN*/ PSTRING NormalizedParentName /*OPTIONAL*/,
- /*IN*/ ULONG FilterMatch,
- /*IN*/ ULONG Action,
- /*IN*/ PVOID TargetContext
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-FsRtlNotifyInitializeSync (
- /*IN*/ PNOTIFY_SYNC NotifySync
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-FsRtlNotifyReportChange (
- /*IN*/ PNOTIFY_SYNC NotifySync,
- /*IN*/ PLIST_ENTRY NotifyList,
- /*IN*/ PSTRING FullTargetName,
- /*IN*/ PUSHORT FileNamePartLength,
- /*IN*/ ULONG FilterMatch
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-FsRtlNotifyUninitializeSync (
- /*IN*/ PNOTIFY_SYNC NotifySync
-);
-
-#if (VER_PRODUCTBUILD >= 2195)
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-FsRtlNotifyVolumeEvent (
- /*IN*/ PFILE_OBJECT FileObject,
- /*IN*/ ULONG EventCode
-);
-
-#endif /* (VER_PRODUCTBUILD >= 2195) */
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-FsRtlOplockFsctrl (
- /*IN*/ POPLOCK Oplock,
- /*IN*/ PIRP Irp,
- /*IN*/ ULONG OpenCount
-);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-FsRtlOplockIsFastIoPossible (
- /*IN*/ POPLOCK Oplock
-);
-
-/*
- FsRtlPrivateLock:
-
- ret: IoStatus->Status: STATUS_PENDING, STATUS_LOCK_NOT_GRANTED
-
- Internals:
- -Calls IoCompleteRequest if Irp
- -Uses exception handling / ExRaiseStatus with STATUS_INSUFFICIENT_RESOURCES
-*/
-NTKERNELAPI
-BOOLEAN
-NTAPI
-FsRtlPrivateLock (
- /*IN*/ PFILE_LOCK FileLock,
- /*IN*/ PFILE_OBJECT FileObject,
- /*IN*/ PLARGE_INTEGER FileOffset,
- /*IN*/ PLARGE_INTEGER Length,
- /*IN*/ PEPROCESS Process,
- /*IN*/ ULONG Key,
- /*IN*/ BOOLEAN FailImmediately,
- /*IN*/ BOOLEAN ExclusiveLock,
- /*OUT*/ PIO_STATUS_BLOCK IoStatus,
- /*IN*/ PIRP Irp /*OPTIONAL*/,
- /*IN*/ PVOID Context,
- /*IN*/ BOOLEAN AlreadySynchronized
-);
-
-/*
- FsRtlProcessFileLock:
-
- ret:
- -STATUS_INVALID_DEVICE_REQUEST
- -STATUS_RANGE_NOT_LOCKED from unlock routines.
- -STATUS_PENDING, STATUS_LOCK_NOT_GRANTED from FsRtlPrivateLock
- (redirected IoStatus->Status).
-
- Internals:
- -switch ( Irp->CurrentStackLocation->MinorFunction )
- lock: return FsRtlPrivateLock;
- unlocksingle: return FsRtlFastUnlockSingle;
- unlockall: return FsRtlFastUnlockAll;
- unlockallbykey: return FsRtlFastUnlockAllByKey;
- default: IofCompleteRequest with STATUS_INVALID_DEVICE_REQUEST;
- return STATUS_INVALID_DEVICE_REQUEST;
-
- -'AllwaysZero' is passed thru as 'AllwaysZero' to lock / unlock routines.
- -'Irp' is passet thru as 'Irp' to FsRtlPrivateLock.
-*/
-NTKERNELAPI
-NTSTATUS
-NTAPI
-FsRtlProcessFileLock (
- /*IN*/ PFILE_LOCK FileLock,
- /*IN*/ PIRP Irp,
- /*IN*/ PVOID Context /*OPTIONAL*/
-);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-FsRtlRegisterUncProvider (
- /*IN OUT*/ PHANDLE MupHandle,
- /*IN*/ PUNICODE_STRING RedirectorDeviceName,
- /*IN*/ BOOLEAN MailslotsSupported
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-FsRtlUninitializeFileLock (
- /*IN*/ PFILE_LOCK FileLock
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-FsRtlUninitializeOplock (
- /*IN OUT*/ POPLOCK Oplock
-);
-
-NTSYSAPI
-VOID
-NTAPI
-HalDisplayString (
- /*IN*/ PCHAR String
-);
-
-NTSYSAPI
-VOID
-NTAPI
-HalQueryRealTimeClock (
- /*IN OUT*/ PTIME_FIELDS TimeFields
-);
-
-NTSYSAPI
-VOID
-NTAPI
-HalSetRealTimeClock (
- /*IN*/ PTIME_FIELDS TimeFields
-);
-
-#define InitializeMessageHeader(m, l, t) { \
- (m)->Length = (USHORT)(l); \
- (m)->DataLength = (USHORT)(l - sizeof( LPC_MESSAGE )); \
- (m)->MessageType = (USHORT)(t); \
- (m)->DataInfoOffset = 0; \
-}
-
-NTKERNELAPI
-VOID
-NTAPI
-IoAcquireVpbSpinLock (
- /*OUT*/ PKIRQL Irql
-);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-IoCheckDesiredAccess (
- /*IN OUT*/ PACCESS_MASK DesiredAccess,
- /*IN*/ ACCESS_MASK GrantedAccess
-);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-IoCheckEaBufferValidity (
- /*IN*/ PFILE_FULL_EA_INFORMATION EaBuffer,
- /*IN*/ ULONG EaLength,
- /*OUT*/ PULONG ErrorOffset
-);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-IoCheckFunctionAccess (
- /*IN*/ ACCESS_MASK GrantedAccess,
- /*IN*/ UCHAR MajorFunction,
- /*IN*/ UCHAR MinorFunction,
- /*IN*/ ULONG IoControlCode,
- /*IN*/ PFILE_INFORMATION_CLASS FileInformationClass /*OPTIONAL*/,
- /*IN*/ PFS_INFORMATION_CLASS FsInformationClass /*OPTIONAL*/
-);
-
-#if (VER_PRODUCTBUILD >= 2195)
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-IoCheckQuotaBufferValidity (
- /*IN*/ PFILE_QUOTA_INFORMATION QuotaBuffer,
- /*IN*/ ULONG QuotaLength,
- /*OUT*/ PULONG ErrorOffset
-);
-
-#endif /* (VER_PRODUCTBUILD >= 2195) */
-
-NTKERNELAPI
-PFILE_OBJECT
-NTAPI
-IoCreateStreamFileObject (
- /*IN*/ PFILE_OBJECT FileObject /*OPTIONAL*/,
- /*IN*/ PDEVICE_OBJECT DeviceObject /*OPTIONAL*/
-);
-
-#if (VER_PRODUCTBUILD >= 2195)
-
-NTKERNELAPI
-PFILE_OBJECT
-NTAPI
-IoCreateStreamFileObjectLite (
- /*IN*/ PFILE_OBJECT FileObject /*OPTIONAL*/,
- /*IN*/ PDEVICE_OBJECT DeviceObject /*OPTIONAL*/
-);
-
-#endif /* (VER_PRODUCTBUILD >= 2195) */
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-IoFastQueryNetworkAttributes (
- /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes,
- /*IN*/ ACCESS_MASK DesiredAccess,
- /*IN*/ ULONG OpenOptions,
- /*OUT*/ PIO_STATUS_BLOCK IoStatus,
- /*OUT*/ PFILE_NETWORK_OPEN_INFORMATION Buffer
-);
-
-NTKERNELAPI
-PDEVICE_OBJECT
-NTAPI
-IoGetAttachedDevice (
- /*IN*/ PDEVICE_OBJECT DeviceObject
-);
-
-NTKERNELAPI
-PDEVICE_OBJECT
-NTAPI
-IoGetBaseFileSystemDeviceObject (
- /*IN*/ PFILE_OBJECT FileObject
-);
-
-NTKERNELAPI
-PEPROCESS
-NTAPI
-IoGetRequestorProcess (
- /*IN*/ PIRP Irp
-);
-
-#if (VER_PRODUCTBUILD >= 2195)
-
-NTKERNELAPI
-ULONG
-NTAPI
-IoGetRequestorProcessId (
- /*IN*/ PIRP Irp
-);
-
-#endif /* (VER_PRODUCTBUILD >= 2195) */
-
-NTKERNELAPI
-PIRP
-NTAPI
-IoGetTopLevelIrp (
- VOID
-);
-
-#define IoIsFileOpenedExclusively(FileObject) ( \
- (BOOLEAN) !( \
- (FileObject)->SharedRead || \
- (FileObject)->SharedWrite || \
- (FileObject)->SharedDelete \
- ) \
-)
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-IoIsOperationSynchronous (
- /*IN*/ PIRP Irp
-);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-IoIsSystemThread (
- /*IN*/ PETHREAD Thread
-);
-
-#if (VER_PRODUCTBUILD >= 2195)
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-IoIsValidNameGraftingBuffer (
- /*IN*/ PIRP Irp,
- /*IN*/ PREPARSE_DATA_BUFFER ReparseBuffer
-);
-
-#endif /* (VER_PRODUCTBUILD >= 2195) */
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-IoPageRead (
- /*IN*/ PFILE_OBJECT FileObject,
- /*IN*/ PMDL Mdl,
- /*IN*/ PLARGE_INTEGER Offset,
- /*IN*/ PKEVENT Event,
- /*OUT*/ PIO_STATUS_BLOCK IoStatusBlock
-);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-IoQueryFileInformation (
- /*IN*/ PFILE_OBJECT FileObject,
- /*IN*/ FILE_INFORMATION_CLASS FileInformationClass,
- /*IN*/ ULONG Length,
- /*OUT*/ PVOID FileInformation,
- /*OUT*/ PULONG ReturnedLength
-);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-IoQueryVolumeInformation (
- /*IN*/ PFILE_OBJECT FileObject,
- /*IN*/ FS_INFORMATION_CLASS FsInformationClass,
- /*IN*/ ULONG Length,
- /*OUT*/ PVOID FsInformation,
- /*OUT*/ PULONG ReturnedLength
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-IoRegisterFileSystem (
- /*IN OUT*/ PDEVICE_OBJECT DeviceObject
-);
-
-#if (VER_PRODUCTBUILD >= 1381)
-
-typedef VOID (NTAPI *PDRIVER_FS_NOTIFICATION) (
- /*IN*/ PDEVICE_OBJECT DeviceObject,
- /*IN*/ BOOLEAN DriverActive
-);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-IoRegisterFsRegistrationChange (
- /*IN*/ PDRIVER_OBJECT DriverObject,
- /*IN*/ PDRIVER_FS_NOTIFICATION DriverNotificationRoutine
-);
-
-#endif /* (VER_PRODUCTBUILD >= 1381) */
-
-NTKERNELAPI
-VOID
-NTAPI
-IoReleaseVpbSpinLock (
- /*IN*/ KIRQL Irql
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-IoSetDeviceToVerify (
- /*IN*/ PETHREAD Thread,
- /*IN*/ PDEVICE_OBJECT DeviceObject
-);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-IoSetInformation (
- /*IN*/ PFILE_OBJECT FileObject,
- /*IN*/ FILE_INFORMATION_CLASS FileInformationClass,
- /*IN*/ ULONG Length,
- /*IN*/ PVOID FileInformation
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-IoSetTopLevelIrp (
- /*IN*/ PIRP Irp
-);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-IoSynchronousPageWrite (
- /*IN*/ PFILE_OBJECT FileObject,
- /*IN*/ PMDL Mdl,
- /*IN*/ PLARGE_INTEGER FileOffset,
- /*IN*/ PKEVENT Event,
- /*OUT*/ PIO_STATUS_BLOCK IoStatusBlock
-);
-
-NTKERNELAPI
-PEPROCESS
-NTAPI
-IoThreadToProcess (
- /*IN*/ PETHREAD Thread
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-IoUnregisterFileSystem (
- /*IN OUT*/ PDEVICE_OBJECT DeviceObject
-);
-
-#if (VER_PRODUCTBUILD >= 1381)
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-IoUnregisterFsRegistrationChange (
- /*IN*/ PDRIVER_OBJECT DriverObject,
- /*IN*/ PDRIVER_FS_NOTIFICATION DriverNotificationRoutine
-);
-
-#endif /* (VER_PRODUCTBUILD >= 1381) */
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-IoVerifyVolume (
- /*IN*/ PDEVICE_OBJECT DeviceObject,
- /*IN*/ BOOLEAN AllowRawMount
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-KeAttachProcess (
- /*IN*/ PEPROCESS Process
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-KeDetachProcess (
- VOID
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-KeInitializeQueue (
- /*IN*/ PRKQUEUE Queue,
- /*IN*/ ULONG Count /*OPTIONAL*/
-);
-
-NTKERNELAPI
-LONG
-NTAPI
-KeInsertHeadQueue (
- /*IN*/ PRKQUEUE Queue,
- /*IN*/ PLIST_ENTRY Entry
-);
-
-NTKERNELAPI
-LONG
-NTAPI
-KeInsertQueue (
- /*IN*/ PRKQUEUE Queue,
- /*IN*/ PLIST_ENTRY Entry
-);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-KeInsertQueueApc (
- /*IN*/ PKAPC Apc,
- /*IN*/ PVOID SystemArgument1,
- /*IN*/ PVOID SystemArgument2,
- /*IN*/ KPRIORITY PriorityBoost
-);
-
-NTKERNELAPI
-LONG
-NTAPI
-KeReadStateQueue (
- /*IN*/ PRKQUEUE Queue
-);
-
-NTKERNELAPI
-PLIST_ENTRY
-NTAPI
-KeRemoveQueue (
- /*IN*/ PRKQUEUE Queue,
- /*IN*/ KPROCESSOR_MODE WaitMode,
- /*IN*/ PLARGE_INTEGER Timeout /*OPTIONAL*/
-);
-
-NTKERNELAPI
-PLIST_ENTRY
-NTAPI
-KeRundownQueue (
- /*IN*/ PRKQUEUE Queue
-);
-
-#if (VER_PRODUCTBUILD >= 2195)
-
-NTKERNELAPI
-VOID
-NTAPI
-KeStackAttachProcess (
- /*IN*/ PKPROCESS Process,
- /*OUT*/ PKAPC_STATE ApcState
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-KeUnstackDetachProcess (
- /*IN*/ PKAPC_STATE ApcState
-);
-
-#endif /* (VER_PRODUCTBUILD >= 2195) */
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-MmCanFileBeTruncated (
- /*IN*/ PSECTION_OBJECT_POINTERS SectionObjectPointer,
- /*IN*/ PLARGE_INTEGER NewFileSize
-);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-MmFlushImageSection (
- /*IN*/ PSECTION_OBJECT_POINTERS SectionObjectPointer,
- /*IN*/ MMFLUSH_TYPE FlushType
-);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-MmForceSectionClosed (
- /*IN*/ PSECTION_OBJECT_POINTERS SectionObjectPointer,
- /*IN*/ BOOLEAN DelayClose
-);
-
-#if (VER_PRODUCTBUILD >= 1381)
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-MmIsRecursiveIoFault (
- VOID
-);
-
-#else
-
-#define MmIsRecursiveIoFault() ( \
- (PsGetCurrentThread()->DisablePageFaultClustering) | \
- (PsGetCurrentThread()->ForwardClusterOnly) \
-)
-
-#endif
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-MmMapViewOfSection (
- /*IN*/ PVOID SectionObject,
- /*IN*/ PEPROCESS Process,
- /*IN OUT*/ PVOID *BaseAddress,
- /*IN*/ ULONG ZeroBits,
- /*IN*/ ULONG CommitSize,
- /*IN OUT*/ PLARGE_INTEGER SectionOffset /*OPTIONAL*/,
- /*IN OUT*/ PULONG ViewSize,
- /*IN*/ SECTION_INHERIT InheritDisposition,
- /*IN*/ ULONG AllocationType,
- /*IN*/ ULONG Protect
-);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-MmSetAddressRangeModified (
- /*IN*/ PVOID Address,
- /*IN*/ ULONG Length
-);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-ObCreateObject (
- /*IN*/ KPROCESSOR_MODE ObjectAttributesAccessMode /*OPTIONAL*/,
- /*IN*/ POBJECT_TYPE ObjectType,
- /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes /*OPTIONAL*/,
- /*IN*/ KPROCESSOR_MODE AccessMode,
- /*IN OUT*/ PVOID ParseContext /*OPTIONAL*/,
- /*IN*/ ULONG ObjectSize,
- /*IN*/ ULONG PagedPoolCharge /*OPTIONAL*/,
- /*IN*/ ULONG NonPagedPoolCharge /*OPTIONAL*/,
- /*OUT*/ PVOID *Object
-);
-
-NTKERNELAPI
-ULONG
-NTAPI
-ObGetObjectPointerCount (
- /*IN*/ PVOID Object
-);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-ObInsertObject (
- /*IN*/ PVOID Object,
- /*IN*/ PACCESS_STATE PassedAccessState /*OPTIONAL*/,
- /*IN*/ ACCESS_MASK DesiredAccess,
- /*IN*/ ULONG AdditionalReferences,
- /*OUT*/ PVOID *ReferencedObject /*OPTIONAL*/,
- /*OUT*/ PHANDLE Handle
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-ObMakeTemporaryObject (
- /*IN*/ PVOID Object
-);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-ObOpenObjectByPointer (
- /*IN*/ PVOID Object,
- /*IN*/ ULONG HandleAttributes,
- /*IN*/ PACCESS_STATE PassedAccessState /*OPTIONAL*/,
- /*IN*/ ACCESS_MASK DesiredAccess /*OPTIONAL*/,
- /*IN*/ POBJECT_TYPE ObjectType /*OPTIONAL*/,
- /*IN*/ KPROCESSOR_MODE AccessMode,
- /*OUT*/ PHANDLE Handle
-);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-ObQueryNameString (
- /*IN*/ PVOID Object,
- /*OUT*/ POBJECT_NAME_INFORMATION ObjectNameInfo,
- /*IN*/ ULONG Length,
- /*OUT*/ PULONG ReturnLength
-);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-ObQueryObjectAuditingByHandle (
- /*IN*/ HANDLE Handle,
- /*OUT*/ PBOOLEAN GenerateOnClose
-);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-ObReferenceObjectByName (
- /*IN*/ PUNICODE_STRING ObjectName,
- /*IN*/ ULONG Attributes,
- /*IN*/ PACCESS_STATE PassedAccessState /*OPTIONAL*/,
- /*IN*/ ACCESS_MASK DesiredAccess /*OPTIONAL*/,
- /*IN*/ POBJECT_TYPE ObjectType,
- /*IN*/ KPROCESSOR_MODE AccessMode,
- /*IN OUT*/ PVOID ParseContext /*OPTIONAL*/,
- /*OUT*/ PVOID *Object
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-PsChargePoolQuota (
- /*IN*/ PEPROCESS Process,
- /*IN*/ POOL_TYPE PoolType,
- /*IN*/ ULONG Amount
-);
-
-#define PsDereferenceImpersonationToken(T) \
- {if (ARGUMENT_PRESENT(T)) { \
- (ObDereferenceObject((T))); \
- } else { \
- ; \
- } \
-}
-
-#define PsDereferencePrimaryToken(T) (ObDereferenceObject((T)))
-
-NTKERNELAPI
-ULONGLONG
-NTAPI
-PsGetProcessExitTime (
- VOID
-);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-PsIsThreadTerminating (
- /*IN*/ PETHREAD Thread
-);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-PsLookupProcessByProcessId (
- /*IN*/ PVOID ProcessId,
- /*OUT*/ PEPROCESS *Process
-);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-PsLookupProcessThreadByCid (
- /*IN*/ PCLIENT_ID Cid,
- /*OUT*/ PEPROCESS *Process /*OPTIONAL*/,
- /*OUT*/ PETHREAD *Thread
-);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-PsLookupThreadByThreadId (
- /*IN*/ PVOID UniqueThreadId,
- /*OUT*/ PETHREAD *Thread
-);
-
-NTKERNELAPI
-PACCESS_TOKEN
-NTAPI
-PsReferenceImpersonationToken (
- /*IN*/ PETHREAD Thread,
- /*OUT*/ PBOOLEAN CopyOnUse,
- /*OUT*/ PBOOLEAN EffectiveOnly,
- /*OUT*/ PSECURITY_IMPERSONATION_LEVEL Level
-);
-
-NTKERNELAPI
-HANDLE
-NTAPI
-PsReferencePrimaryToken (
- /*IN*/ PEPROCESS Process
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-PsReturnPoolQuota (
- /*IN*/ PEPROCESS Process,
- /*IN*/ POOL_TYPE PoolType,
- /*IN*/ ULONG Amount
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-PsRevertToSelf (
- VOID
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-RtlAbsoluteToSelfRelativeSD (
- /*IN*/ PSECURITY_DESCRIPTOR AbsoluteSecurityDescriptor,
- /*IN OUT*/ PSECURITY_DESCRIPTOR SelfRelativeSecurityDescriptor,
- /*IN*/ PULONG BufferLength
-);
-
-NTSYSAPI
-PVOID
-NTAPI
-RtlAllocateHeap (
- /*IN*/ HANDLE HeapHandle,
- /*IN*/ ULONG Flags,
- /*IN*/ ULONG Size
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-RtlCompressBuffer (
- /*IN*/ USHORT CompressionFormatAndEngine,
- /*IN*/ PUCHAR UncompressedBuffer,
- /*IN*/ ULONG UncompressedBufferSize,
- /*OUT*/ PUCHAR CompressedBuffer,
- /*IN*/ ULONG CompressedBufferSize,
- /*IN*/ ULONG UncompressedChunkSize,
- /*OUT*/ PULONG FinalCompressedSize,
- /*IN*/ PVOID WorkSpace
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-RtlCompressChunks (
- /*IN*/ PUCHAR UncompressedBuffer,
- /*IN*/ ULONG UncompressedBufferSize,
- /*OUT*/ PUCHAR CompressedBuffer,
- /*IN*/ ULONG CompressedBufferSize,
- /*IN OUT*/ PCOMPRESSED_DATA_INFO CompressedDataInfo,
- /*IN*/ ULONG CompressedDataInfoLength,
- /*IN*/ PVOID WorkSpace
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-RtlConvertSidToUnicodeString (
- /*OUT*/ PUNICODE_STRING DestinationString,
- /*IN*/ PSID Sid,
- /*IN*/ BOOLEAN AllocateDestinationString
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-RtlCopySid (
- /*IN*/ ULONG Length,
- /*IN*/ PSID Destination,
- /*IN*/ PSID Source
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-RtlDecompressBuffer (
- /*IN*/ USHORT CompressionFormat,
- /*OUT*/ PUCHAR UncompressedBuffer,
- /*IN*/ ULONG UncompressedBufferSize,
- /*IN*/ PUCHAR CompressedBuffer,
- /*IN*/ ULONG CompressedBufferSize,
- /*OUT*/ PULONG FinalUncompressedSize
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-RtlDecompressChunks (
- /*OUT*/ PUCHAR UncompressedBuffer,
- /*IN*/ ULONG UncompressedBufferSize,
- /*IN*/ PUCHAR CompressedBuffer,
- /*IN*/ ULONG CompressedBufferSize,
- /*IN*/ PUCHAR CompressedTail,
- /*IN*/ ULONG CompressedTailSize,
- /*IN*/ PCOMPRESSED_DATA_INFO CompressedDataInfo
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-RtlDecompressFragment (
- /*IN*/ USHORT CompressionFormat,
- /*OUT*/ PUCHAR UncompressedFragment,
- /*IN*/ ULONG UncompressedFragmentSize,
- /*IN*/ PUCHAR CompressedBuffer,
- /*IN*/ ULONG CompressedBufferSize,
- /*IN*/ ULONG FragmentOffset,
- /*OUT*/ PULONG FinalUncompressedSize,
- /*IN*/ PVOID WorkSpace
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-RtlDescribeChunk (
- /*IN*/ USHORT CompressionFormat,
- /*IN OUT*/ PUCHAR *CompressedBuffer,
- /*IN*/ PUCHAR EndOfCompressedBufferPlus1,
- /*OUT*/ PUCHAR *ChunkBuffer,
- /*OUT*/ PULONG ChunkSize
-);
-
-NTSYSAPI
-BOOLEAN
-NTAPI
-RtlEqualSid (
- /*IN*/ PSID Sid1,
- /*IN*/ PSID Sid2
-);
-
-NTSYSAPI
-VOID
-NTAPI
-RtlFillMemoryUlong (
- /*IN*/ PVOID Destination,
- /*IN*/ ULONG Length,
- /*IN*/ ULONG Fill
-);
-
-NTSYSAPI
-BOOLEAN
-NTAPI
-RtlFreeHeap (
- /*IN*/ HANDLE HeapHandle,
- /*IN*/ ULONG Flags,
- /*IN*/ PVOID P
-);
-
-NTSYSAPI
-VOID
-NTAPI
-RtlGenerate8dot3Name (
- /*IN*/ PUNICODE_STRING Name,
- /*IN*/ BOOLEAN AllowExtendedCharacters,
- /*IN OUT*/ PGENERATE_NAME_CONTEXT Context,
- /*OUT*/ PUNICODE_STRING Name8dot3
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-RtlGetCompressionWorkSpaceSize (
- /*IN*/ USHORT CompressionFormatAndEngine,
- /*OUT*/ PULONG CompressBufferWorkSpaceSize,
- /*OUT*/ PULONG CompressFragmentWorkSpaceSize
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-RtlGetDaclSecurityDescriptor (
- /*IN*/ PSECURITY_DESCRIPTOR SecurityDescriptor,
- /*OUT*/ PBOOLEAN DaclPresent,
- /*OUT*/ PACL *Dacl,
- /*OUT*/ PBOOLEAN DaclDefaulted
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-RtlGetGroupSecurityDescriptor (
- /*IN*/ PSECURITY_DESCRIPTOR SecurityDescriptor,
- /*OUT*/ PSID *Group,
- /*OUT*/ PBOOLEAN GroupDefaulted
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-RtlGetOwnerSecurityDescriptor (
- /*IN*/ PSECURITY_DESCRIPTOR SecurityDescriptor,
- /*OUT*/ PSID *Owner,
- /*OUT*/ PBOOLEAN OwnerDefaulted
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-RtlInitializeSid (
- /*IN OUT*/ PSID Sid,
- /*IN*/ PSID_IDENTIFIER_AUTHORITY IdentifierAuthority,
- /*IN*/ UCHAR SubAuthorityCount
-);
-
-NTSYSAPI
-BOOLEAN
-NTAPI
-RtlIsNameLegalDOS8Dot3 (
- /*IN*/ PUNICODE_STRING UnicodeName,
- /*IN*/ PANSI_STRING AnsiName,
- PBOOLEAN Unknown
-);
-
-NTSYSAPI
-ULONG
-NTAPI
-RtlLengthRequiredSid (
- /*IN*/ UCHAR SubAuthorityCount
-);
-
-NTSYSAPI
-ULONG
-NTAPI
-RtlLengthSid (
- /*IN*/ PSID Sid
-);
-
-NTSYSAPI
-ULONG
-NTAPI
-RtlNtStatusToDosError (
- /*IN*/ NTSTATUS Status
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-RtlReserveChunk (
- /*IN*/ USHORT CompressionFormat,
- /*IN OUT*/ PUCHAR *CompressedBuffer,
- /*IN*/ PUCHAR EndOfCompressedBufferPlus1,
- /*OUT*/ PUCHAR *ChunkBuffer,
- /*IN*/ ULONG ChunkSize
-);
-
-NTSYSAPI
-VOID
-NTAPI
-RtlSecondsSince1970ToTime (
- /*IN*/ ULONG SecondsSince1970,
- /*OUT*/ PLARGE_INTEGER Time
-);
-
-#if (VER_PRODUCTBUILD >= 2195)
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-RtlSelfRelativeToAbsoluteSD (
- /*IN*/ PSECURITY_DESCRIPTOR SelfRelativeSD,
- /*OUT*/ PSECURITY_DESCRIPTOR AbsoluteSD,
- /*IN*/ PULONG AbsoluteSDSize,
- /*IN*/ PACL Dacl,
- /*IN*/ PULONG DaclSize,
- /*IN*/ PACL Sacl,
- /*IN*/ PULONG SaclSize,
- /*IN*/ PSID Owner,
- /*IN*/ PULONG OwnerSize,
- /*IN*/ PSID PrimaryGroup,
- /*IN*/ PULONG PrimaryGroupSize
-);
-
-#endif /* (VER_PRODUCTBUILD >= 2195) */
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-RtlSetGroupSecurityDescriptor (
- /*IN OUT*/ PSECURITY_DESCRIPTOR SecurityDescriptor,
- /*IN*/ PSID Group,
- /*IN*/ BOOLEAN GroupDefaulted
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-RtlSetOwnerSecurityDescriptor (
- /*IN OUT*/ PSECURITY_DESCRIPTOR SecurityDescriptor,
- /*IN*/ PSID Owner,
- /*IN*/ BOOLEAN OwnerDefaulted
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-RtlSetSaclSecurityDescriptor (
- /*IN OUT*/ PSECURITY_DESCRIPTOR SecurityDescriptor,
- /*IN*/ BOOLEAN SaclPresent,
- /*IN*/ PACL Sacl,
- /*IN*/ BOOLEAN SaclDefaulted
-);
-
-NTSYSAPI
-PUCHAR
-NTAPI
-RtlSubAuthorityCountSid (
- /*IN*/ PSID Sid
-);
-
-NTSYSAPI
-PULONG
-NTAPI
-RtlSubAuthoritySid (
- /*IN*/ PSID Sid,
- /*IN*/ ULONG SubAuthority
-);
-
-NTSYSAPI
-BOOLEAN
-NTAPI
-RtlValidSid (
- /*IN*/ PSID Sid
-);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-SeAppendPrivileges (
- PACCESS_STATE AccessState,
- PPRIVILEGE_SET Privileges
-);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-SeAuditingFileEvents (
- /*IN*/ BOOLEAN AccessGranted,
- /*IN*/ PSECURITY_DESCRIPTOR SecurityDescriptor
-);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-SeAuditingFileOrGlobalEvents (
- /*IN*/ BOOLEAN AccessGranted,
- /*IN*/ PSECURITY_DESCRIPTOR SecurityDescriptor,
- /*IN*/ PSECURITY_SUBJECT_CONTEXT SubjectContext
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-SeCaptureSubjectContext (
- /*OUT*/ PSECURITY_SUBJECT_CONTEXT SubjectContext
-);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-SeCreateAccessState (
- /*OUT*/ PACCESS_STATE AccessState,
- /*IN*/ PVOID AuxData,
- /*IN*/ ACCESS_MASK AccessMask,
- /*IN*/ PGENERIC_MAPPING Mapping
-);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-SeCreateClientSecurity (
- /*IN*/ PETHREAD Thread,
- /*IN*/ PSECURITY_QUALITY_OF_SERVICE QualityOfService,
- /*IN*/ BOOLEAN RemoteClient,
- /*OUT*/ PSECURITY_CLIENT_CONTEXT ClientContext
-);
-
-#if (VER_PRODUCTBUILD >= 2195)
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-SeCreateClientSecurityFromSubjectContext (
- /*IN*/ PSECURITY_SUBJECT_CONTEXT SubjectContext,
- /*IN*/ PSECURITY_QUALITY_OF_SERVICE QualityOfService,
- /*IN*/ BOOLEAN ServerIsRemote,
- /*OUT*/ PSECURITY_CLIENT_CONTEXT ClientContext
-);
-
-#endif /* (VER_PRODUCTBUILD >= 2195) */
-
-#define SeDeleteClientSecurity(C) { \
- if (SeTokenType((C)->ClientToken) == TokenPrimary) { \
- PsDereferencePrimaryToken( (C)->ClientToken ); \
- } else { \
- PsDereferenceImpersonationToken( (C)->ClientToken ); \
- } \
-}
-
-NTKERNELAPI
-VOID
-NTAPI
-SeDeleteObjectAuditAlarm (
- /*IN*/ PVOID Object,
- /*IN*/ HANDLE Handle
-);
-
-#define SeEnableAccessToExports() SeExports = *(PSE_EXPORTS *)SeExports;
-
-NTKERNELAPI
-VOID
-NTAPI
-SeFreePrivileges (
- /*IN*/ PPRIVILEGE_SET Privileges
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-SeImpersonateClient (
- /*IN*/ PSECURITY_CLIENT_CONTEXT ClientContext,
- /*IN*/ PETHREAD ServerThread /*OPTIONAL*/
-);
-
-#if (VER_PRODUCTBUILD >= 2195)
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-SeImpersonateClientEx (
- /*IN*/ PSECURITY_CLIENT_CONTEXT ClientContext,
- /*IN*/ PETHREAD ServerThread /*OPTIONAL*/
-);
-
-#endif /* (VER_PRODUCTBUILD >= 2195) */
-
-NTKERNELAPI
-VOID
-NTAPI
-SeLockSubjectContext (
- /*IN*/ PSECURITY_SUBJECT_CONTEXT SubjectContext
-);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-SeMarkLogonSessionForTerminationNotification (
- /*IN*/ PLUID LogonId
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-SeOpenObjectAuditAlarm (
- /*IN*/ PUNICODE_STRING ObjectTypeName,
- /*IN*/ PVOID Object /*OPTIONAL*/,
- /*IN*/ PUNICODE_STRING AbsoluteObjectName /*OPTIONAL*/,
- /*IN*/ PSECURITY_DESCRIPTOR SecurityDescriptor,
- /*IN*/ PACCESS_STATE AccessState,
- /*IN*/ BOOLEAN ObjectCreated,
- /*IN*/ BOOLEAN AccessGranted,
- /*IN*/ KPROCESSOR_MODE AccessMode,
- /*OUT*/ PBOOLEAN GenerateOnClose
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-SeOpenObjectForDeleteAuditAlarm (
- /*IN*/ PUNICODE_STRING ObjectTypeName,
- /*IN*/ PVOID Object /*OPTIONAL*/,
- /*IN*/ PUNICODE_STRING AbsoluteObjectName /*OPTIONAL*/,
- /*IN*/ PSECURITY_DESCRIPTOR SecurityDescriptor,
- /*IN*/ PACCESS_STATE AccessState,
- /*IN*/ BOOLEAN ObjectCreated,
- /*IN*/ BOOLEAN AccessGranted,
- /*IN*/ KPROCESSOR_MODE AccessMode,
- /*OUT*/ PBOOLEAN GenerateOnClose
-);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-SePrivilegeCheck (
- /*IN OUT*/ PPRIVILEGE_SET RequiredPrivileges,
- /*IN*/ PSECURITY_SUBJECT_CONTEXT SubjectContext,
- /*IN*/ KPROCESSOR_MODE AccessMode
-);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-SeQueryAuthenticationIdToken (
- /*IN*/ PACCESS_TOKEN Token,
- /*OUT*/ PLUID LogonId
-);
-
-#if (VER_PRODUCTBUILD >= 2195)
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-SeQueryInformationToken (
- /*IN*/ PACCESS_TOKEN Token,
- /*IN*/ TOKEN_INFORMATION_CLASS TokenInformationClass,
- /*OUT*/ PVOID *TokenInformation
-);
-
-#endif /* (VER_PRODUCTBUILD >= 2195) */
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-SeQuerySecurityDescriptorInfo (
- /*IN*/ PSECURITY_INFORMATION SecurityInformation,
- /*OUT*/ PSECURITY_DESCRIPTOR SecurityDescriptor,
- /*IN OUT*/ PULONG Length,
- /*IN*/ PSECURITY_DESCRIPTOR *ObjectsSecurityDescriptor
-);
-
-#if (VER_PRODUCTBUILD >= 2195)
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-SeQuerySessionIdToken (
- /*IN*/ PACCESS_TOKEN Token,
- /*IN*/ PULONG SessionId
-);
-
-#endif /* (VER_PRODUCTBUILD >= 2195) */
-
-#define SeQuerySubjectContextToken( SubjectContext ) \
- ( ARGUMENT_PRESENT( \
- ((PSECURITY_SUBJECT_CONTEXT) SubjectContext)->ClientToken \
- ) ? \
- ((PSECURITY_SUBJECT_CONTEXT) SubjectContext)->ClientToken : \
- ((PSECURITY_SUBJECT_CONTEXT) SubjectContext)->PrimaryToken )
-
-typedef NTSTATUS (*PSE_LOGON_SESSION_TERMINATED_ROUTINE) (
- /*IN*/ PLUID LogonId
-);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-SeRegisterLogonSessionTerminatedRoutine (
- /*IN*/ PSE_LOGON_SESSION_TERMINATED_ROUTINE CallbackRoutine
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-SeReleaseSubjectContext (
- /*IN*/ PSECURITY_SUBJECT_CONTEXT SubjectContext
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-SeSetAccessStateGenericMapping (
- PACCESS_STATE AccessState,
- PGENERIC_MAPPING GenericMapping
-);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-SeSetSecurityDescriptorInfo (
- /*IN*/ PVOID Object /*OPTIONAL*/,
- /*IN*/ PSECURITY_INFORMATION SecurityInformation,
- /*IN*/ PSECURITY_DESCRIPTOR SecurityDescriptor,
- /*IN OUT*/ PSECURITY_DESCRIPTOR *ObjectsSecurityDescriptor,
- /*IN*/ POOL_TYPE PoolType,
- /*IN*/ PGENERIC_MAPPING GenericMapping
-);
-
-#if (VER_PRODUCTBUILD >= 2195)
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-SeSetSecurityDescriptorInfoEx (
- /*IN*/ PVOID Object /*OPTIONAL*/,
- /*IN*/ PSECURITY_INFORMATION SecurityInformation,
- /*IN*/ PSECURITY_DESCRIPTOR ModificationDescriptor,
- /*IN OUT*/ PSECURITY_DESCRIPTOR *ObjectsSecurityDescriptor,
- /*IN*/ ULONG AutoInheritFlags,
- /*IN*/ POOL_TYPE PoolType,
- /*IN*/ PGENERIC_MAPPING GenericMapping
-);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-SeTokenIsAdmin (
- /*IN*/ PACCESS_TOKEN Token
-);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-SeTokenIsRestricted (
- /*IN*/ PACCESS_TOKEN Token
-);
-
-#endif /* (VER_PRODUCTBUILD >= 2195) */
-
-NTKERNELAPI
-TOKEN_TYPE
-NTAPI
-SeTokenType (
- /*IN*/ PACCESS_TOKEN Token
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-SeUnlockSubjectContext (
- /*IN*/ PSECURITY_SUBJECT_CONTEXT SubjectContext
-);
-
-NTKERNELAPI
-NTSTATUS
-SeUnregisterLogonSessionTerminatedRoutine (
- /*IN*/ PSE_LOGON_SESSION_TERMINATED_ROUTINE CallbackRoutine
-);
-
-#if (VER_PRODUCTBUILD >= 2195)
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwAdjustPrivilegesToken (
- /*IN*/ HANDLE TokenHandle,
- /*IN*/ BOOLEAN DisableAllPrivileges,
- /*IN*/ PTOKEN_PRIVILEGES NewState,
- /*IN*/ ULONG BufferLength,
- /*OUT*/ PTOKEN_PRIVILEGES PreviousState /*OPTIONAL*/,
- /*OUT*/ PULONG ReturnLength
-);
-
-#endif /* (VER_PRODUCTBUILD >= 2195) */
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwAlertThread (
- /*IN*/ HANDLE ThreadHandle
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwAllocateVirtualMemory (
- /*IN*/ HANDLE ProcessHandle,
- /*IN OUT*/ PVOID *BaseAddress,
- /*IN*/ ULONG ZeroBits,
- /*IN OUT*/ PULONG RegionSize,
- /*IN*/ ULONG AllocationType,
- /*IN*/ ULONG Protect
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwAccessCheckAndAuditAlarm (
- /*IN*/ PUNICODE_STRING SubsystemName,
- /*IN*/ PVOID HandleId,
- /*IN*/ PUNICODE_STRING ObjectTypeName,
- /*IN*/ PUNICODE_STRING ObjectName,
- /*IN*/ PSECURITY_DESCRIPTOR SecurityDescriptor,
- /*IN*/ ACCESS_MASK DesiredAccess,
- /*IN*/ PGENERIC_MAPPING GenericMapping,
- /*IN*/ BOOLEAN ObjectCreation,
- /*OUT*/ PACCESS_MASK GrantedAccess,
- /*OUT*/ PBOOLEAN AccessStatus,
- /*OUT*/ PBOOLEAN GenerateOnClose
-);
-
-#if (VER_PRODUCTBUILD >= 2195)
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwCancelIoFile (
- /*IN*/ HANDLE FileHandle,
- /*OUT*/ PIO_STATUS_BLOCK IoStatusBlock
-);
-
-#endif /* (VER_PRODUCTBUILD >= 2195) */
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwClearEvent (
- /*IN*/ HANDLE EventHandle
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwCloseObjectAuditAlarm (
- /*IN*/ PUNICODE_STRING SubsystemName,
- /*IN*/ PVOID HandleId,
- /*IN*/ BOOLEAN GenerateOnClose
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwCreateSection (
- /*OUT*/ PHANDLE SectionHandle,
- /*IN*/ ACCESS_MASK DesiredAccess,
- /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes /*OPTIONAL*/,
- /*IN*/ PLARGE_INTEGER MaximumSize /*OPTIONAL*/,
- /*IN*/ ULONG SectionPageProtection,
- /*IN*/ ULONG AllocationAttributes,
- /*IN*/ HANDLE FileHandle /*OPTIONAL*/
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwCreateSymbolicLinkObject (
- /*OUT*/ PHANDLE SymbolicLinkHandle,
- /*IN*/ ACCESS_MASK DesiredAccess,
- /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes,
- /*IN*/ PUNICODE_STRING TargetName
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwDeleteFile (
- /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwDeleteValueKey (
- /*IN*/ HANDLE Handle,
- /*IN*/ PUNICODE_STRING Name
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwDeviceIoControlFile (
- /*IN*/ HANDLE FileHandle,
- /*IN*/ HANDLE Event /*OPTIONAL*/,
- /*IN*/ PIO_APC_ROUTINE ApcRoutine /*OPTIONAL*/,
- /*IN*/ PVOID ApcContext /*OPTIONAL*/,
- /*OUT*/ PIO_STATUS_BLOCK IoStatusBlock,
- /*IN*/ ULONG IoControlCode,
- /*IN*/ PVOID InputBuffer /*OPTIONAL*/,
- /*IN*/ ULONG InputBufferLength,
- /*OUT*/ PVOID OutputBuffer /*OPTIONAL*/,
- /*IN*/ ULONG OutputBufferLength
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwDisplayString (
- /*IN*/ PUNICODE_STRING String
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwDuplicateObject (
- /*IN*/ HANDLE SourceProcessHandle,
- /*IN*/ HANDLE SourceHandle,
- /*IN*/ HANDLE TargetProcessHandle /*OPTIONAL*/,
- /*OUT*/ PHANDLE TargetHandle /*OPTIONAL*/,
- /*IN*/ ACCESS_MASK DesiredAccess,
- /*IN*/ ULONG HandleAttributes,
- /*IN*/ ULONG Options
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwDuplicateToken (
- /*IN*/ HANDLE ExistingTokenHandle,
- /*IN*/ ACCESS_MASK DesiredAccess,
- /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes,
- /*IN*/ BOOLEAN EffectiveOnly,
- /*IN*/ TOKEN_TYPE TokenType,
- /*OUT*/ PHANDLE NewTokenHandle
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwFlushInstructionCache (
- /*IN*/ HANDLE ProcessHandle,
- /*IN*/ PVOID BaseAddress /*OPTIONAL*/,
- /*IN*/ ULONG FlushSize
-);
-
-#if (VER_PRODUCTBUILD >= 2195)
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwFlushVirtualMemory (
- /*IN*/ HANDLE ProcessHandle,
- /*IN OUT*/ PVOID *BaseAddress,
- /*IN OUT*/ PULONG FlushSize,
- /*OUT*/ PIO_STATUS_BLOCK IoStatusBlock
-);
-
-#endif /* (VER_PRODUCTBUILD >= 2195) */
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwFreeVirtualMemory (
- /*IN*/ HANDLE ProcessHandle,
- /*IN OUT*/ PVOID *BaseAddress,
- /*IN OUT*/ PULONG RegionSize,
- /*IN*/ ULONG FreeType
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwFsControlFile (
- /*IN*/ HANDLE FileHandle,
- /*IN*/ HANDLE Event /*OPTIONAL*/,
- /*IN*/ PIO_APC_ROUTINE ApcRoutine /*OPTIONAL*/,
- /*IN*/ PVOID ApcContext /*OPTIONAL*/,
- /*OUT*/ PIO_STATUS_BLOCK IoStatusBlock,
- /*IN*/ ULONG FsControlCode,
- /*IN*/ PVOID InputBuffer /*OPTIONAL*/,
- /*IN*/ ULONG InputBufferLength,
- /*OUT*/ PVOID OutputBuffer /*OPTIONAL*/,
- /*IN*/ ULONG OutputBufferLength
-);
-
-#if (VER_PRODUCTBUILD >= 2195)
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwInitiatePowerAction (
- /*IN*/ POWER_ACTION SystemAction,
- /*IN*/ SYSTEM_POWER_STATE MinSystemState,
- /*IN*/ ULONG Flags,
- /*IN*/ BOOLEAN Asynchronous
-);
-
-#endif /* (VER_PRODUCTBUILD >= 2195) */
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwLoadDriver (
- /* "\\Registry\\Machine\\System\\CurrentControlSet\\Services\\<DriverName>" */
- /*IN*/ PUNICODE_STRING RegistryPath
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwLoadKey (
- /*IN*/ POBJECT_ATTRIBUTES KeyObjectAttributes,
- /*IN*/ POBJECT_ATTRIBUTES FileObjectAttributes
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwNotifyChangeKey (
- /*IN*/ HANDLE KeyHandle,
- /*IN*/ HANDLE EventHandle /*OPTIONAL*/,
- /*IN*/ PIO_APC_ROUTINE ApcRoutine /*OPTIONAL*/,
- /*IN*/ PVOID ApcContext /*OPTIONAL*/,
- /*OUT*/ PIO_STATUS_BLOCK IoStatusBlock,
- /*IN*/ ULONG NotifyFilter,
- /*IN*/ BOOLEAN WatchSubtree,
- /*IN*/ PVOID Buffer,
- /*IN*/ ULONG BufferLength,
- /*IN*/ BOOLEAN Asynchronous
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwOpenDirectoryObject (
- /*OUT*/ PHANDLE DirectoryHandle,
- /*IN*/ ACCESS_MASK DesiredAccess,
- /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwOpenEvent (
- /*OUT*/ PHANDLE EventHandle,
- /*IN*/ ACCESS_MASK DesiredAccess,
- /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwOpenProcess (
- /*OUT*/ PHANDLE ProcessHandle,
- /*IN*/ ACCESS_MASK DesiredAccess,
- /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes,
- /*IN*/ PCLIENT_ID ClientId /*OPTIONAL*/
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwOpenProcessToken (
- /*IN*/ HANDLE ProcessHandle,
- /*IN*/ ACCESS_MASK DesiredAccess,
- /*OUT*/ PHANDLE TokenHandle
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwOpenThread (
- /*OUT*/ PHANDLE ThreadHandle,
- /*IN*/ ACCESS_MASK DesiredAccess,
- /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes,
- /*IN*/ PCLIENT_ID ClientId
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwOpenThreadToken (
- /*IN*/ HANDLE ThreadHandle,
- /*IN*/ ACCESS_MASK DesiredAccess,
- /*IN*/ BOOLEAN OpenAsSelf,
- /*OUT*/ PHANDLE TokenHandle
-);
-
-#if (VER_PRODUCTBUILD >= 2195)
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwPowerInformation (
- /*IN*/ POWER_INFORMATION_LEVEL PowerInformationLevel,
- /*IN*/ PVOID InputBuffer /*OPTIONAL*/,
- /*IN*/ ULONG InputBufferLength,
- /*OUT*/ PVOID OutputBuffer /*OPTIONAL*/,
- /*IN*/ ULONG OutputBufferLength
-);
-
-#endif /* (VER_PRODUCTBUILD >= 2195) */
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwPulseEvent (
- /*IN*/ HANDLE EventHandle,
- /*OUT*/ PULONG PreviousState /*OPTIONAL*/
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwQueryDefaultLocale (
- /*IN*/ BOOLEAN ThreadOrSystem,
- /*OUT*/ PLCID Locale
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwQueryDirectoryFile (
- /*IN*/ HANDLE FileHandle,
- /*IN*/ HANDLE Event /*OPTIONAL*/,
- /*IN*/ PIO_APC_ROUTINE ApcRoutine /*OPTIONAL*/,
- /*IN*/ PVOID ApcContext /*OPTIONAL*/,
- /*OUT*/ PIO_STATUS_BLOCK IoStatusBlock,
- /*OUT*/ PVOID FileInformation,
- /*IN*/ ULONG Length,
- /*IN*/ FILE_INFORMATION_CLASS FileInformationClass,
- /*IN*/ BOOLEAN ReturnSingleEntry,
- /*IN*/ PUNICODE_STRING FileName /*OPTIONAL*/,
- /*IN*/ BOOLEAN RestartScan
-);
-
-#if (VER_PRODUCTBUILD >= 2195)
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwQueryDirectoryObject (
- /*IN*/ HANDLE DirectoryHandle,
- /*OUT*/ PVOID Buffer,
- /*IN*/ ULONG Length,
- /*IN*/ BOOLEAN ReturnSingleEntry,
- /*IN*/ BOOLEAN RestartScan,
- /*IN OUT*/ PULONG Context,
- /*OUT*/ PULONG ReturnLength /*OPTIONAL*/
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwQueryEaFile (
- /*IN*/ HANDLE FileHandle,
- /*OUT*/ PIO_STATUS_BLOCK IoStatusBlock,
- /*OUT*/ PVOID Buffer,
- /*IN*/ ULONG Length,
- /*IN*/ BOOLEAN ReturnSingleEntry,
- /*IN*/ PVOID EaList /*OPTIONAL*/,
- /*IN*/ ULONG EaListLength,
- /*IN*/ PULONG EaIndex /*OPTIONAL*/,
- /*IN*/ BOOLEAN RestartScan
-);
-
-#endif /* (VER_PRODUCTBUILD >= 2195) */
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwQueryInformationProcess (
- /*IN*/ HANDLE ProcessHandle,
- /*IN*/ PROCESSINFOCLASS ProcessInformationClass,
- /*OUT*/ PVOID ProcessInformation,
- /*IN*/ ULONG ProcessInformationLength,
- /*OUT*/ PULONG ReturnLength /*OPTIONAL*/
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwQueryInformationToken (
- /*IN*/ HANDLE TokenHandle,
- /*IN*/ TOKEN_INFORMATION_CLASS TokenInformationClass,
- /*OUT*/ PVOID TokenInformation,
- /*IN*/ ULONG Length,
- /*OUT*/ PULONG ResultLength
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwQueryObject (
- /*IN*/ HANDLE ObjectHandle,
- /*IN*/ OBJECT_INFORMATION_CLASS ObjectInformationClass,
- /*OUT*/ PVOID ObjectInformation,
- /*IN*/ ULONG Length,
- /*OUT*/ PULONG ResultLength
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwQuerySection (
- /*IN*/ HANDLE SectionHandle,
- /*IN*/ SECTION_INFORMATION_CLASS SectionInformationClass,
- /*OUT*/ PVOID SectionInformation,
- /*IN*/ ULONG SectionInformationLength,
- /*OUT*/ PULONG ResultLength /*OPTIONAL*/
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwQuerySecurityObject (
- /*IN*/ HANDLE FileHandle,
- /*IN*/ SECURITY_INFORMATION SecurityInformation,
- /*OUT*/ PSECURITY_DESCRIPTOR SecurityDescriptor,
- /*IN*/ ULONG Length,
- /*OUT*/ PULONG ResultLength
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwQuerySystemInformation (
- /*IN*/ SYSTEM_INFORMATION_CLASS SystemInformationClass,
- /*OUT*/ PVOID SystemInformation,
- /*IN*/ ULONG Length,
- /*OUT*/ PULONG ReturnLength
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwQueryVolumeInformationFile (
- /*IN*/ HANDLE FileHandle,
- /*OUT*/ PIO_STATUS_BLOCK IoStatusBlock,
- /*OUT*/ PVOID FsInformation,
- /*IN*/ ULONG Length,
- /*IN*/ FS_INFORMATION_CLASS FsInformationClass
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwReplaceKey (
- /*IN*/ POBJECT_ATTRIBUTES NewFileObjectAttributes,
- /*IN*/ HANDLE KeyHandle,
- /*IN*/ POBJECT_ATTRIBUTES OldFileObjectAttributes
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwResetEvent (
- /*IN*/ HANDLE EventHandle,
- /*OUT*/ PULONG PreviousState /*OPTIONAL*/
-);
-
-#if (VER_PRODUCTBUILD >= 2195)
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwRestoreKey (
- /*IN*/ HANDLE KeyHandle,
- /*IN*/ HANDLE FileHandle,
- /*IN*/ ULONG Flags
-);
-
-#endif /* (VER_PRODUCTBUILD >= 2195) */
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwSaveKey (
- /*IN*/ HANDLE KeyHandle,
- /*IN*/ HANDLE FileHandle
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwSetDefaultLocale (
- /*IN*/ BOOLEAN ThreadOrSystem,
- /*IN*/ LCID Locale
-);
-
-#if (VER_PRODUCTBUILD >= 2195)
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwSetDefaultUILanguage (
- /*IN*/ LANGID LanguageId
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwSetEaFile (
- /*IN*/ HANDLE FileHandle,
- /*OUT*/ PIO_STATUS_BLOCK IoStatusBlock,
- /*OUT*/ PVOID Buffer,
- /*IN*/ ULONG Length
-);
-
-#endif /* (VER_PRODUCTBUILD >= 2195) */
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwSetEvent (
- /*IN*/ HANDLE EventHandle,
- /*OUT*/ PULONG PreviousState /*OPTIONAL*/
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwSetInformationObject (
- /*IN*/ HANDLE ObjectHandle,
- /*IN*/ OBJECT_INFORMATION_CLASS ObjectInformationClass,
- /*IN*/ PVOID ObjectInformation,
- /*IN*/ ULONG ObjectInformationLength
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwSetInformationProcess (
- /*IN*/ HANDLE ProcessHandle,
- /*IN*/ PROCESSINFOCLASS ProcessInformationClass,
- /*IN*/ PVOID ProcessInformation,
- /*IN*/ ULONG ProcessInformationLength
-);
-
-#if (VER_PRODUCTBUILD >= 2195)
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwSetSecurityObject (
- /*IN*/ HANDLE Handle,
- /*IN*/ SECURITY_INFORMATION SecurityInformation,
- /*IN*/ PSECURITY_DESCRIPTOR SecurityDescriptor
-);
-
-#endif /* (VER_PRODUCTBUILD >= 2195) */
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwSetSystemInformation (
- /*IN*/ SYSTEM_INFORMATION_CLASS SystemInformationClass,
- /*IN*/ PVOID SystemInformation,
- /*IN*/ ULONG Length
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwSetSystemTime (
- /*IN*/ PLARGE_INTEGER NewTime,
- /*OUT*/ PLARGE_INTEGER OldTime /*OPTIONAL*/
-);
-
-#if (VER_PRODUCTBUILD >= 2195)
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwSetVolumeInformationFile (
- /*IN*/ HANDLE FileHandle,
- /*OUT*/ PIO_STATUS_BLOCK IoStatusBlock,
- /*IN*/ PVOID FsInformation,
- /*IN*/ ULONG Length,
- /*IN*/ FS_INFORMATION_CLASS FsInformationClass
-);
-
-#endif /* (VER_PRODUCTBUILD >= 2195) */
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwTerminateProcess (
- /*IN*/ HANDLE ProcessHandle /*OPTIONAL*/,
- /*IN*/ NTSTATUS ExitStatus
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwUnloadDriver (
- /* "\\Registry\\Machine\\System\\CurrentControlSet\\Services\\<DriverName>" */
- /*IN*/ PUNICODE_STRING RegistryPath
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwUnloadKey (
- /*IN*/ POBJECT_ATTRIBUTES KeyObjectAttributes
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwWaitForSingleObject (
- /*IN*/ HANDLE Handle,
- /*IN*/ BOOLEAN Alertable,
- /*IN*/ PLARGE_INTEGER Timeout /*OPTIONAL*/
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwWaitForMultipleObjects (
- /*IN*/ ULONG HandleCount,
- /*IN*/ PHANDLE Handles,
- /*IN*/ WAIT_TYPE WaitType,
- /*IN*/ BOOLEAN Alertable,
- /*IN*/ PLARGE_INTEGER Timeout /*OPTIONAL*/
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwYieldExecution (
- VOID
-);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _NTIFS_ */
diff --git a/winsup/w32api/include/ddk/ntpoapi.h b/winsup/w32api/include/ddk/ntpoapi.h
deleted file mode 100644
index 5173c6538..000000000
--- a/winsup/w32api/include/ddk/ntpoapi.h
+++ /dev/null
@@ -1,229 +0,0 @@
-/*
- * ntpoapi.h
- *
- * APIs for power management.
- *
- * 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 __NTPOAPI_H
-#define __NTPOAPI_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-#include "batclass.h"
-
-#define POWER_PERF_SCALE 100
-#define PERF_LEVEL_TO_PERCENT(x) (((x) * 1000) / (POWER_PERF_SCALE * 10))
-#define PERCENT_TO_PERF_LEVEL(x) (((x) * POWER_PERF_SCALE * 10) / 1000)
-
-typedef struct _PROCESSOR_IDLE_TIMES {
- ULONGLONG StartTime;
- ULONGLONG EndTime;
- ULONG IdleHandlerReserved[4];
-} PROCESSOR_IDLE_TIMES, *PPROCESSOR_IDLE_TIMES;
-
-typedef BOOLEAN DDKFASTAPI
-(*PPROCESSOR_IDLE_HANDLER)(
- /*IN OUT*/ PPROCESSOR_IDLE_TIMES IdleTimes);
-
-typedef struct _PROCESSOR_IDLE_HANDLER_INFO {
- ULONG HardwareLatency;
- PPROCESSOR_IDLE_HANDLER Handler;
-} PROCESSOR_IDLE_HANDLER_INFO, *PPROCESSOR_IDLE_HANDLER_INFO;
-
-typedef VOID DDKFASTAPI
-(*PSET_PROCESSOR_THROTTLE)(
- /*IN*/ UCHAR Throttle);
-
-typedef NTSTATUS DDKFASTAPI
-(*PSET_PROCESSOR_THROTTLE2)(
- /*IN*/ UCHAR Throttle);
-
-#define MAX_IDLE_HANDLERS 3
-
-typedef struct _PROCESSOR_STATE_HANDLER {
- UCHAR ThrottleScale;
- BOOLEAN ThrottleOnIdle;
- PSET_PROCESSOR_THROTTLE SetThrottle;
- ULONG NumIdleHandlers;
- PROCESSOR_IDLE_HANDLER_INFO IdleHandler[MAX_IDLE_HANDLERS];
-} PROCESSOR_STATE_HANDLER, *PPROCESSOR_STATE_HANDLER;
-
-typedef enum _POWER_STATE_HANDLER_TYPE {
- PowerStateSleeping1,
- PowerStateSleeping2,
- PowerStateSleeping3,
- PowerStateSleeping4,
- PowerStateSleeping4Firmware,
- PowerStateShutdownReset,
- PowerStateShutdownOff,
- PowerStateMaximum
-} POWER_STATE_HANDLER_TYPE, *PPOWER_STATE_HANDLER_TYPE;
-
-typedef NTSTATUS DDKAPI
-(*PENTER_STATE_SYSTEM_HANDLER)(
- /*IN*/ PVOID SystemContext);
-
-typedef NTSTATUS DDKAPI
-(*PENTER_STATE_HANDLER)(
- /*IN*/ PVOID Context,
- /*IN*/ PENTER_STATE_SYSTEM_HANDLER SystemHandler /*OPTIONAL*/,
- /*IN*/ PVOID SystemContext,
- /*IN*/ LONG NumberProcessors,
- /*IN*/ VOLATILE PLONG Number);
-
-typedef struct _POWER_STATE_HANDLER {
- POWER_STATE_HANDLER_TYPE Type;
- BOOLEAN RtcWake;
- UCHAR Spare[3];
- PENTER_STATE_HANDLER Handler;
- PVOID Context;
-} POWER_STATE_HANDLER, *PPOWER_STATE_HANDLER;
-
-typedef NTSTATUS STDCALL
-(*PENTER_STATE_NOTIFY_HANDLER)(
- /*IN*/ POWER_STATE_HANDLER_TYPE State,
- /*IN*/ PVOID Context,
- /*IN*/ BOOLEAN Entering);
-
-typedef struct _POWER_STATE_NOTIFY_HANDLER {
- PENTER_STATE_NOTIFY_HANDLER Handler;
- PVOID Context;
-} POWER_STATE_NOTIFY_HANDLER, *PPOWER_STATE_NOTIFY_HANDLER;
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-NtPowerInformation(
- /*IN*/ POWER_INFORMATION_LEVEL InformationLevel,
- /*IN*/ PVOID InputBuffer /*OPTIONAL*/,
- /*IN*/ ULONG InputBufferLength,
- /*OUT*/ PVOID OutputBuffer /*OPTIONAL*/,
- /*IN*/ ULONG OutputBufferLength);
-
-#define PROCESSOR_STATE_TYPE_PERFORMANCE 1
-#define PROCESSOR_STATE_TYPE_THROTTLE 2
-
-typedef struct _PROCESSOR_PERF_LEVEL {
- UCHAR PercentFrequency;
- UCHAR Reserved;
- USHORT Flags;
-} PROCESSOR_PERF_LEVEL, *PPROCESSOR_PERF_LEVEL;
-
-typedef struct _PROCESSOR_PERF_STATE {
- UCHAR PercentFrequency;
- UCHAR MinCapacity;
- USHORT Power;
- UCHAR IncreaseLevel;
- UCHAR DecreaseLevel;
- USHORT Flags;
- ULONG IncreaseTime;
- ULONG DecreaseTime;
- ULONG IncreaseCount;
- ULONG DecreaseCount;
- ULONGLONG PerformanceTime;
-} PROCESSOR_PERF_STATE, *PPROCESSOR_PERF_STATE;
-
-typedef struct _PROCESSOR_STATE_HANDLER2 {
- ULONG NumIdleHandlers;
- PROCESSOR_IDLE_HANDLER_INFO IdleHandler[MAX_IDLE_HANDLERS];
- PSET_PROCESSOR_THROTTLE2 SetPerfLevel;
- ULONG HardwareLatency;
- UCHAR NumPerfStates;
- PROCESSOR_PERF_LEVEL PerfLevel[1];
-} PROCESSOR_STATE_HANDLER2, *PPROCESSOR_STATE_HANDLER2;
-
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-NtSetThreadExecutionState(
- /*IN*/ EXECUTION_STATE esFlags,
- /*OUT*/ EXECUTION_STATE *PreviousFlags);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-NtRequestWakeupLatency(
- /*IN*/ LATENCY_TIME latency);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-NtInitiatePowerAction(
- /*IN*/ POWER_ACTION SystemAction,
- /*IN*/ SYSTEM_POWER_STATE MinSystemState,
- /*IN*/ ULONG Flags,
- /*IN*/ BOOLEAN Asynchronous);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-NtSetSystemPowerState(
- /*IN*/ POWER_ACTION SystemAction,
- /*IN*/ SYSTEM_POWER_STATE MinSystemState,
- /*IN*/ ULONG Flags);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-NtGetDevicePowerState(
- /*IN*/ HANDLE Device,
- /*OUT*/ DEVICE_POWER_STATE *State);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-NtCancelDeviceWakeupRequest(
- /*IN*/ HANDLE Device);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-NtIsSystemResumeAutomatic(
- VOID);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-NtRequestDeviceWakeup(
- /*IN*/ HANDLE Device);
-
-#define WINLOGON_LOCK_ON_SLEEP 0x00000001
-
-typedef struct _PROCESSOR_POWER_INFORMATION {
- ULONG Number;
- ULONG MaxMhz;
- ULONG CurrentMhz;
- ULONG MhzLimit;
- ULONG MaxIdleState;
- ULONG CurrentIdleState;
-} PROCESSOR_POWER_INFORMATION, *PPROCESSOR_POWER_INFORMATION;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NTPOAPI_H */
diff --git a/winsup/w32api/include/ddk/ntstatus.h b/winsup/w32api/include/ddk/ntstatus.h
deleted file mode 100644
index d325d9f11..000000000
--- a/winsup/w32api/include/ddk/ntstatus.h
+++ /dev/null
@@ -1,1105 +0,0 @@
-/*
- * ntstatus.h
- *
- * Windows NT status codes
- *
- * 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 _NTSTATUS_H
-#define _NTSTATUS_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#if !defined(STATUS_SUCCESS)
-#define STATUS_SUCCESS ((NTSTATUS)0x00000000L)
-#endif /* !STATUS_SUCCESS */
-#define FACILITY_DEBUGGER 0x1
-#define FACILITY_RPC_RUNTIME 0x2
-#define FACILITY_RPC_STUBS 0x3
-#define FACILITY_IO_ERROR_CODE 0x4
-#define FACILITY_TERMINAL_SERVER 0xA
-#define FACILITY_USB_ERROR_CODE 0x10
-#define FACILITY_HID_ERROR_CODE 0x11
-#define FACILITY_FIREWIRE_ERROR_CODE 0x12
-#define FACILITY_CLUSTER_ERROR_CODE 0x13
-#define FACILITY_ACPI_ERROR_CODE 0x14
-#define FACILITY_SXS_ERROR_CODE 0x15
-#define STATUS_SEVERITY_SUCCESS 0x0
-#define STATUS_SEVERITY_INFORMATIONAL 0x1
-#define STATUS_SEVERITY_WARNING 0x2
-#define STATUS_SEVERITY_ERROR 0x3
-#define STATUS_WAIT_0 ((NTSTATUS)0x00000000L)
-#define STATUS_WAIT_1 ((NTSTATUS)0x00000001L)
-#define STATUS_WAIT_2 ((NTSTATUS)0x00000002L)
-#define STATUS_WAIT_3 ((NTSTATUS)0x00000003L)
-#define STATUS_WAIT_63 ((NTSTATUS)0x0000003FL)
-#define STATUS_ABANDONED ((NTSTATUS)0x00000080L)
-#define STATUS_ABANDONED_WAIT_0 ((NTSTATUS)0x00000080L)
-#define STATUS_ABANDONED_WAIT_63 ((NTSTATUS)0x000000BFL)
-#define STATUS_USER_APC ((NTSTATUS)0x000000C0L)
-#define STATUS_KERNEL_APC ((NTSTATUS)0x00000100L)
-#define STATUS_ALERTED ((NTSTATUS)0x00000101L)
-#define STATUS_TIMEOUT ((NTSTATUS)0x00000102L)
-#define STATUS_PENDING ((NTSTATUS)0x00000103L)
-#define STATUS_REPARSE ((NTSTATUS)0x00000104L)
-#define STATUS_MORE_ENTRIES ((NTSTATUS)0x00000105L)
-#define STATUS_NOT_ALL_ASSIGNED ((NTSTATUS)0x00000106L)
-#define STATUS_SOME_NOT_MAPPED ((NTSTATUS)0x00000107L)
-#define STATUS_OPLOCK_BREAK_IN_PROGRESS ((NTSTATUS)0x00000108L)
-#define STATUS_VOLUME_MOUNTED ((NTSTATUS)0x00000109L)
-#define STATUS_RXACT_COMMITTED ((NTSTATUS)0x0000010AL)
-#define STATUS_NOTIFY_CLEANUP ((NTSTATUS)0x0000010BL)
-#define STATUS_NOTIFY_ENUM_DIR ((NTSTATUS)0x0000010CL)
-#define STATUS_NO_QUOTAS_FOR_ACCOUNT ((NTSTATUS)0x0000010DL)
-#define STATUS_PRIMARY_TRANSPORT_CONNECT_FAILED ((NTSTATUS)0x0000010EL)
-#define STATUS_PAGE_FAULT_TRANSITION ((NTSTATUS)0x00000110L)
-#define STATUS_PAGE_FAULT_DEMAND_ZERO ((NTSTATUS)0x00000111L)
-#define STATUS_PAGE_FAULT_COPY_ON_WRITE ((NTSTATUS)0x00000112L)
-#define STATUS_PAGE_FAULT_GUARD_PAGE ((NTSTATUS)0x00000113L)
-#define STATUS_PAGE_FAULT_PAGING_FILE ((NTSTATUS)0x00000114L)
-#define STATUS_CACHE_PAGE_LOCKED ((NTSTATUS)0x00000115L)
-#define STATUS_CRASH_DUMP ((NTSTATUS)0x00000116L)
-#define STATUS_BUFFER_ALL_ZEROS ((NTSTATUS)0x00000117L)
-#define STATUS_REPARSE_OBJECT ((NTSTATUS)0x00000118L)
-#define STATUS_RESOURCE_REQUIREMENTS_CHANGED ((NTSTATUS)0x00000119L)
-#define STATUS_TRANSLATION_COMPLETE ((NTSTATUS)0x00000120L)
-#define STATUS_DS_MEMBERSHIP_EVALUATED_LOCALLY ((NTSTATUS)0x00000121L)
-#define STATUS_NOTHING_TO_TERMINATE ((NTSTATUS)0x00000122L)
-#define STATUS_PROCESS_NOT_IN_JOB ((NTSTATUS)0x00000123L)
-#define STATUS_PROCESS_IN_JOB ((NTSTATUS)0x00000124L)
-#define STATUS_OBJECT_NAME_EXISTS ((NTSTATUS)0x40000000L)
-#define STATUS_THREAD_WAS_SUSPENDED ((NTSTATUS)0x40000001L)
-#define STATUS_WORKING_SET_LIMIT_RANGE ((NTSTATUS)0x40000002L)
-#define STATUS_IMAGE_NOT_AT_BASE ((NTSTATUS)0x40000003L)
-#define STATUS_RXACT_STATE_CREATED ((NTSTATUS)0x40000004L)
-#define STATUS_SEGMENT_NOTIFICATION ((NTSTATUS)0x40000005L)
-#define STATUS_LOCAL_USER_SESSION_KEY ((NTSTATUS)0x40000006L)
-#define STATUS_BAD_CURRENT_DIRECTORY ((NTSTATUS)0x40000007L)
-#define STATUS_SERIAL_MORE_WRITES ((NTSTATUS)0x40000008L)
-#define STATUS_REGISTRY_RECOVERED ((NTSTATUS)0x40000009L)
-#define STATUS_FT_READ_RECOVERY_FROM_BACKUP ((NTSTATUS)0x4000000AL)
-#define STATUS_FT_WRITE_RECOVERY ((NTSTATUS)0x4000000BL)
-#define STATUS_SERIAL_COUNTER_TIMEOUT ((NTSTATUS)0x4000000CL)
-#define STATUS_NULL_LM_PASSWORD ((NTSTATUS)0x4000000DL)
-#define STATUS_IMAGE_MACHINE_TYPE_MISMATCH ((NTSTATUS)0x4000000EL)
-#define STATUS_RECEIVE_PARTIAL ((NTSTATUS)0x4000000FL)
-#define STATUS_RECEIVE_EXPEDITED ((NTSTATUS)0x40000010L)
-#define STATUS_RECEIVE_PARTIAL_EXPEDITED ((NTSTATUS)0x40000011L)
-#define STATUS_EVENT_DONE ((NTSTATUS)0x40000012L)
-#define STATUS_EVENT_PENDING ((NTSTATUS)0x40000013L)
-#define STATUS_CHECKING_FILE_SYSTEM ((NTSTATUS)0x40000014L)
-#define STATUS_FATAL_APP_EXIT ((NTSTATUS)0x40000015L)
-#define STATUS_PREDEFINED_HANDLE ((NTSTATUS)0x40000016L)
-#define STATUS_WAS_UNLOCKED ((NTSTATUS)0x40000017L)
-#define STATUS_SERVICE_NOTIFICATION ((NTSTATUS)0x40000018L)
-#define STATUS_WAS_LOCKED ((NTSTATUS)0x40000019L)
-#define STATUS_LOG_HARD_ERROR ((NTSTATUS)0x4000001AL)
-#define STATUS_ALREADY_WIN32 ((NTSTATUS)0x4000001BL)
-#define STATUS_WX86_UNSIMULATE ((NTSTATUS)0x4000001CL)
-#define STATUS_WX86_CONTINUE ((NTSTATUS)0x4000001DL)
-#define STATUS_WX86_SINGLE_STEP ((NTSTATUS)0x4000001EL)
-#define STATUS_WX86_BREAKPOINT ((NTSTATUS)0x4000001FL)
-#define STATUS_WX86_EXCEPTION_CONTINUE ((NTSTATUS)0x40000020L)
-#define STATUS_WX86_EXCEPTION_LASTCHANCE ((NTSTATUS)0x40000021L)
-#define STATUS_WX86_EXCEPTION_CHAIN ((NTSTATUS)0x40000022L)
-#define STATUS_IMAGE_MACHINE_TYPE_MISMATCH_EXE ((NTSTATUS)0x40000023L)
-#define STATUS_NO_YIELD_PERFORMED ((NTSTATUS)0x40000024L)
-#define STATUS_TIMER_RESUME_IGNORED ((NTSTATUS)0x40000025L)
-#define STATUS_ARBITRATION_UNHANDLED ((NTSTATUS)0x40000026L)
-#define STATUS_CARDBUS_NOT_SUPPORTED ((NTSTATUS)0x40000027L)
-#define STATUS_WX86_CREATEWX86TIB ((NTSTATUS)0x40000028L)
-#define STATUS_MP_PROCESSOR_MISMATCH ((NTSTATUS)0x40000029L)
-#define STATUS_HIBERNATED ((NTSTATUS)0x4000002AL)
-#define STATUS_RESUME_HIBERNATION ((NTSTATUS)0x4000002BL)
-#define STATUS_GUARD_PAGE_VIOLATION ((NTSTATUS)0x80000001L)
-#define STATUS_DATATYPE_MISALIGNMENT ((NTSTATUS)0x80000002L)
-#define STATUS_BREAKPOINT ((NTSTATUS)0x80000003L)
-#define STATUS_SINGLE_STEP ((NTSTATUS)0x80000004L)
-#define STATUS_BUFFER_OVERFLOW ((NTSTATUS)0x80000005L)
-#define STATUS_NO_MORE_FILES ((NTSTATUS)0x80000006L)
-#define STATUS_WAKE_SYSTEM_DEBUGGER ((NTSTATUS)0x80000007L)
-#define STATUS_HANDLES_CLOSED ((NTSTATUS)0x8000000AL)
-#define STATUS_NO_INHERITANCE ((NTSTATUS)0x8000000BL)
-#define STATUS_GUID_SUBSTITUTION_MADE ((NTSTATUS)0x8000000CL)
-#define STATUS_PARTIAL_COPY ((NTSTATUS)0x8000000DL)
-#define STATUS_DEVICE_PAPER_EMPTY ((NTSTATUS)0x8000000EL)
-#define STATUS_DEVICE_POWERED_OFF ((NTSTATUS)0x8000000FL)
-#define STATUS_DEVICE_OFF_LINE ((NTSTATUS)0x80000010L)
-#define STATUS_DEVICE_BUSY ((NTSTATUS)0x80000011L)
-#define STATUS_NO_MORE_EAS ((NTSTATUS)0x80000012L)
-#define STATUS_INVALID_EA_NAME ((NTSTATUS)0x80000013L)
-#define STATUS_EA_LIST_INCONSISTENT ((NTSTATUS)0x80000014L)
-#define STATUS_INVALID_EA_FLAG ((NTSTATUS)0x80000015L)
-#define STATUS_VERIFY_REQUIRED ((NTSTATUS)0x80000016L)
-#define STATUS_EXTRANEOUS_INFORMATION ((NTSTATUS)0x80000017L)
-#define STATUS_RXACT_COMMIT_NECESSARY ((NTSTATUS)0x80000018L)
-#define STATUS_NO_MORE_ENTRIES ((NTSTATUS)0x8000001AL)
-#define STATUS_FILEMARK_DETECTED ((NTSTATUS)0x8000001BL)
-#define STATUS_MEDIA_CHANGED ((NTSTATUS)0x8000001CL)
-#define STATUS_BUS_RESET ((NTSTATUS)0x8000001DL)
-#define STATUS_END_OF_MEDIA ((NTSTATUS)0x8000001EL)
-#define STATUS_BEGINNING_OF_MEDIA ((NTSTATUS)0x8000001FL)
-#define STATUS_MEDIA_CHECK ((NTSTATUS)0x80000020L)
-#define STATUS_SETMARK_DETECTED ((NTSTATUS)0x80000021L)
-#define STATUS_NO_DATA_DETECTED ((NTSTATUS)0x80000022L)
-#define STATUS_REDIRECTOR_HAS_OPEN_HANDLES ((NTSTATUS)0x80000023L)
-#define STATUS_SERVER_HAS_OPEN_HANDLES ((NTSTATUS)0x80000024L)
-#define STATUS_ALREADY_DISCONNECTED ((NTSTATUS)0x80000025L)
-#define STATUS_LONGJUMP ((NTSTATUS)0x80000026L)
-#define STATUS_CLEANER_CARTRIDGE_INSTALLED ((NTSTATUS)0x80000027L)
-#define STATUS_PLUGPLAY_QUERY_VETOED ((NTSTATUS)0x80000028L)
-#define STATUS_UNWIND_CONSOLIDATE ((NTSTATUS)0x80000029L)
-#define STATUS_CLUSTER_NODE_ALREADY_UP ((NTSTATUS)0x80130001L)
-#define STATUS_CLUSTER_NODE_ALREADY_DOWN ((NTSTATUS)0x80130002L)
-#define STATUS_CLUSTER_NETWORK_ALREADY_ONLINE ((NTSTATUS)0x80130003L)
-#define STATUS_CLUSTER_NETWORK_ALREADY_OFFLINE ((NTSTATUS)0x80130004L)
-#define STATUS_CLUSTER_NODE_ALREADY_MEMBER ((NTSTATUS)0x80130005L)
-#define STATUS_UNSUCCESSFUL ((NTSTATUS)0xC0000001L)
-#define STATUS_NOT_IMPLEMENTED ((NTSTATUS)0xC0000002L)
-#define STATUS_INVALID_INFO_CLASS ((NTSTATUS)0xC0000003L)
-#define STATUS_INFO_LENGTH_MISMATCH ((NTSTATUS)0xC0000004L)
-#define STATUS_ACCESS_VIOLATION ((NTSTATUS)0xC0000005L)
-#define STATUS_IN_PAGE_ERROR ((NTSTATUS)0xC0000006L)
-#define STATUS_PAGEFILE_QUOTA ((NTSTATUS)0xC0000007L)
-#define STATUS_INVALID_HANDLE ((NTSTATUS)0xC0000008L)
-#define STATUS_BAD_INITIAL_STACK ((NTSTATUS)0xC0000009L)
-#define STATUS_BAD_INITIAL_PC ((NTSTATUS)0xC000000AL)
-#define STATUS_INVALID_CID ((NTSTATUS)0xC000000BL)
-#define STATUS_TIMER_NOT_CANCELED ((NTSTATUS)0xC000000CL)
-#define STATUS_INVALID_PARAMETER ((NTSTATUS)0xC000000DL)
-#define STATUS_NO_SUCH_DEVICE ((NTSTATUS)0xC000000EL)
-#define STATUS_NO_SUCH_FILE ((NTSTATUS)0xC000000FL)
-#define STATUS_INVALID_DEVICE_REQUEST ((NTSTATUS)0xC0000010L)
-#define STATUS_END_OF_FILE ((NTSTATUS)0xC0000011L)
-#define STATUS_WRONG_VOLUME ((NTSTATUS)0xC0000012L)
-#define STATUS_NO_MEDIA_IN_DEVICE ((NTSTATUS)0xC0000013L)
-#define STATUS_UNRECOGNIZED_MEDIA ((NTSTATUS)0xC0000014L)
-#define STATUS_NONEXISTENT_SECTOR ((NTSTATUS)0xC0000015L)
-#define STATUS_MORE_PROCESSING_REQUIRED ((NTSTATUS)0xC0000016L)
-#define STATUS_NO_MEMORY ((NTSTATUS)0xC0000017L)
-#define STATUS_CONFLICTING_ADDRESSES ((NTSTATUS)0xC0000018L)
-#define STATUS_NOT_MAPPED_VIEW ((NTSTATUS)0xC0000019L)
-#define STATUS_UNABLE_TO_FREE_VM ((NTSTATUS)0xC000001AL)
-#define STATUS_UNABLE_TO_DELETE_SECTION ((NTSTATUS)0xC000001BL)
-#define STATUS_INVALID_SYSTEM_SERVICE ((NTSTATUS)0xC000001CL)
-#define STATUS_ILLEGAL_INSTRUCTION ((NTSTATUS)0xC000001DL)
-#define STATUS_INVALID_LOCK_SEQUENCE ((NTSTATUS)0xC000001EL)
-#define STATUS_INVALID_VIEW_SIZE ((NTSTATUS)0xC000001FL)
-#define STATUS_INVALID_FILE_FOR_SECTION ((NTSTATUS)0xC0000020L)
-#define STATUS_ALREADY_COMMITTED ((NTSTATUS)0xC0000021L)
-#define STATUS_ACCESS_DENIED ((NTSTATUS)0xC0000022L)
-#define STATUS_BUFFER_TOO_SMALL ((NTSTATUS)0xC0000023L)
-#define STATUS_OBJECT_TYPE_MISMATCH ((NTSTATUS)0xC0000024L)
-#define STATUS_NONCONTINUABLE_EXCEPTION ((NTSTATUS)0xC0000025L)
-#define STATUS_INVALID_DISPOSITION ((NTSTATUS)0xC0000026L)
-#define STATUS_UNWIND ((NTSTATUS)0xC0000027L)
-#define STATUS_BAD_STACK ((NTSTATUS)0xC0000028L)
-#define STATUS_INVALID_UNWIND_TARGET ((NTSTATUS)0xC0000029L)
-#define STATUS_NOT_LOCKED ((NTSTATUS)0xC000002AL)
-#define STATUS_PARITY_ERROR ((NTSTATUS)0xC000002BL)
-#define STATUS_UNABLE_TO_DECOMMIT_VM ((NTSTATUS)0xC000002CL)
-#define STATUS_NOT_COMMITTED ((NTSTATUS)0xC000002DL)
-#define STATUS_INVALID_PORT_ATTRIBUTES ((NTSTATUS)0xC000002EL)
-#define STATUS_PORT_MESSAGE_TOO_LONG ((NTSTATUS)0xC000002FL)
-#define STATUS_INVALID_PARAMETER_MIX ((NTSTATUS)0xC0000030L)
-#define STATUS_INVALID_QUOTA_LOWER ((NTSTATUS)0xC0000031L)
-#define STATUS_DISK_CORRUPT_ERROR ((NTSTATUS)0xC0000032L)
-#define STATUS_OBJECT_NAME_INVALID ((NTSTATUS)0xC0000033L)
-#define STATUS_OBJECT_NAME_NOT_FOUND ((NTSTATUS)0xC0000034L)
-#define STATUS_OBJECT_NAME_COLLISION ((NTSTATUS)0xC0000035L)
-#define STATUS_PORT_DISCONNECTED ((NTSTATUS)0xC0000037L)
-#define STATUS_DEVICE_ALREADY_ATTACHED ((NTSTATUS)0xC0000038L)
-#define STATUS_OBJECT_PATH_INVALID ((NTSTATUS)0xC0000039L)
-#define STATUS_OBJECT_PATH_NOT_FOUND ((NTSTATUS)0xC000003AL)
-#define STATUS_OBJECT_PATH_SYNTAX_BAD ((NTSTATUS)0xC000003BL)
-#define STATUS_DATA_OVERRUN ((NTSTATUS)0xC000003CL)
-#define STATUS_DATA_LATE_ERROR ((NTSTATUS)0xC000003DL)
-#define STATUS_DATA_ERROR ((NTSTATUS)0xC000003EL)
-#define STATUS_CRC_ERROR ((NTSTATUS)0xC000003FL)
-#define STATUS_SECTION_TOO_BIG ((NTSTATUS)0xC0000040L)
-#define STATUS_PORT_CONNECTION_REFUSED ((NTSTATUS)0xC0000041L)
-#define STATUS_INVALID_PORT_HANDLE ((NTSTATUS)0xC0000042L)
-#define STATUS_SHARING_VIOLATION ((NTSTATUS)0xC0000043L)
-#define STATUS_QUOTA_EXCEEDED ((NTSTATUS)0xC0000044L)
-#define STATUS_INVALID_PAGE_PROTECTION ((NTSTATUS)0xC0000045L)
-#define STATUS_MUTANT_NOT_OWNED ((NTSTATUS)0xC0000046L)
-#define STATUS_SEMAPHORE_LIMIT_EXCEEDED ((NTSTATUS)0xC0000047L)
-#define STATUS_PORT_ALREADY_SET ((NTSTATUS)0xC0000048L)
-#define STATUS_SECTION_NOT_IMAGE ((NTSTATUS)0xC0000049L)
-#define STATUS_SUSPEND_COUNT_EXCEEDED ((NTSTATUS)0xC000004AL)
-#define STATUS_THREAD_IS_TERMINATING ((NTSTATUS)0xC000004BL)
-#define STATUS_BAD_WORKING_SET_LIMIT ((NTSTATUS)0xC000004CL)
-#define STATUS_INCOMPATIBLE_FILE_MAP ((NTSTATUS)0xC000004DL)
-#define STATUS_SECTION_PROTECTION ((NTSTATUS)0xC000004EL)
-#define STATUS_EAS_NOT_SUPPORTED ((NTSTATUS)0xC000004FL)
-#define STATUS_EA_TOO_LARGE ((NTSTATUS)0xC0000050L)
-#define STATUS_NONEXISTENT_EA_ENTRY ((NTSTATUS)0xC0000051L)
-#define STATUS_NO_EAS_ON_FILE ((NTSTATUS)0xC0000052L)
-#define STATUS_EA_CORRUPT_ERROR ((NTSTATUS)0xC0000053L)
-#define STATUS_FILE_LOCK_CONFLICT ((NTSTATUS)0xC0000054L)
-#define STATUS_LOCK_NOT_GRANTED ((NTSTATUS)0xC0000055L)
-#define STATUS_DELETE_PENDING ((NTSTATUS)0xC0000056L)
-#define STATUS_CTL_FILE_NOT_SUPPORTED ((NTSTATUS)0xC0000057L)
-#define STATUS_UNKNOWN_REVISION ((NTSTATUS)0xC0000058L)
-#define STATUS_REVISION_MISMATCH ((NTSTATUS)0xC0000059L)
-#define STATUS_INVALID_OWNER ((NTSTATUS)0xC000005AL)
-#define STATUS_INVALID_PRIMARY_GROUP ((NTSTATUS)0xC000005BL)
-#define STATUS_NO_IMPERSONATION_TOKEN ((NTSTATUS)0xC000005CL)
-#define STATUS_CANT_DISABLE_MANDATORY ((NTSTATUS)0xC000005DL)
-#define STATUS_NO_LOGON_SERVERS ((NTSTATUS)0xC000005EL)
-#define STATUS_NO_SUCH_LOGON_SESSION ((NTSTATUS)0xC000005FL)
-#define STATUS_NO_SUCH_PRIVILEGE ((NTSTATUS)0xC0000060L)
-#define STATUS_PRIVILEGE_NOT_HELD ((NTSTATUS)0xC0000061L)
-#define STATUS_INVALID_ACCOUNT_NAME ((NTSTATUS)0xC0000062L)
-#define STATUS_USER_EXISTS ((NTSTATUS)0xC0000063L)
-#define STATUS_NO_SUCH_USER ((NTSTATUS)0xC0000064L)
-#define STATUS_GROUP_EXISTS ((NTSTATUS)0xC0000065L)
-#define STATUS_NO_SUCH_GROUP ((NTSTATUS)0xC0000066L)
-#define STATUS_MEMBER_IN_GROUP ((NTSTATUS)0xC0000067L)
-#define STATUS_MEMBER_NOT_IN_GROUP ((NTSTATUS)0xC0000068L)
-#define STATUS_LAST_ADMIN ((NTSTATUS)0xC0000069L)
-#define STATUS_WRONG_PASSWORD ((NTSTATUS)0xC000006AL)
-#define STATUS_ILL_FORMED_PASSWORD ((NTSTATUS)0xC000006BL)
-#define STATUS_PASSWORD_RESTRICTION ((NTSTATUS)0xC000006CL)
-#define STATUS_LOGON_FAILURE ((NTSTATUS)0xC000006DL)
-#define STATUS_ACCOUNT_RESTRICTION ((NTSTATUS)0xC000006EL)
-#define STATUS_INVALID_LOGON_HOURS ((NTSTATUS)0xC000006FL)
-#define STATUS_INVALID_WORKSTATION ((NTSTATUS)0xC0000070L)
-#define STATUS_PASSWORD_EXPIRED ((NTSTATUS)0xC0000071L)
-#define STATUS_ACCOUNT_DISABLED ((NTSTATUS)0xC0000072L)
-#define STATUS_NONE_MAPPED ((NTSTATUS)0xC0000073L)
-#define STATUS_TOO_MANY_LUIDS_REQUESTED ((NTSTATUS)0xC0000074L)
-#define STATUS_LUIDS_EXHAUSTED ((NTSTATUS)0xC0000075L)
-#define STATUS_INVALID_SUB_AUTHORITY ((NTSTATUS)0xC0000076L)
-#define STATUS_INVALID_ACL ((NTSTATUS)0xC0000077L)
-#define STATUS_INVALID_SID ((NTSTATUS)0xC0000078L)
-#define STATUS_INVALID_SECURITY_DESCR ((NTSTATUS)0xC0000079L)
-#define STATUS_PROCEDURE_NOT_FOUND ((NTSTATUS)0xC000007AL)
-#define STATUS_INVALID_IMAGE_FORMAT ((NTSTATUS)0xC000007BL)
-#define STATUS_NO_TOKEN ((NTSTATUS)0xC000007CL)
-#define STATUS_BAD_INHERITANCE_ACL ((NTSTATUS)0xC000007DL)
-#define STATUS_RANGE_NOT_LOCKED ((NTSTATUS)0xC000007EL)
-#define STATUS_DISK_FULL ((NTSTATUS)0xC000007FL)
-#define STATUS_SERVER_DISABLED ((NTSTATUS)0xC0000080L)
-#define STATUS_SERVER_NOT_DISABLED ((NTSTATUS)0xC0000081L)
-#define STATUS_TOO_MANY_GUIDS_REQUESTED ((NTSTATUS)0xC0000082L)
-#define STATUS_GUIDS_EXHAUSTED ((NTSTATUS)0xC0000083L)
-#define STATUS_INVALID_ID_AUTHORITY ((NTSTATUS)0xC0000084L)
-#define STATUS_AGENTS_EXHAUSTED ((NTSTATUS)0xC0000085L)
-#define STATUS_INVALID_VOLUME_LABEL ((NTSTATUS)0xC0000086L)
-#define STATUS_SECTION_NOT_EXTENDED ((NTSTATUS)0xC0000087L)
-#define STATUS_NOT_MAPPED_DATA ((NTSTATUS)0xC0000088L)
-#define STATUS_RESOURCE_DATA_NOT_FOUND ((NTSTATUS)0xC0000089L)
-#define STATUS_RESOURCE_TYPE_NOT_FOUND ((NTSTATUS)0xC000008AL)
-#define STATUS_RESOURCE_NAME_NOT_FOUND ((NTSTATUS)0xC000008BL)
-#define STATUS_ARRAY_BOUNDS_EXCEEDED ((NTSTATUS)0xC000008CL)
-#define STATUS_FLOAT_DENORMAL_OPERAND ((NTSTATUS)0xC000008DL)
-#define STATUS_FLOAT_DIVIDE_BY_ZERO ((NTSTATUS)0xC000008EL)
-#define STATUS_FLOAT_INEXACT_RESULT ((NTSTATUS)0xC000008FL)
-#define STATUS_FLOAT_INVALID_OPERATION ((NTSTATUS)0xC0000090L)
-#define STATUS_FLOAT_OVERFLOW ((NTSTATUS)0xC0000091L)
-#define STATUS_FLOAT_STACK_CHECK ((NTSTATUS)0xC0000092L)
-#define STATUS_FLOAT_UNDERFLOW ((NTSTATUS)0xC0000093L)
-#define STATUS_INTEGER_DIVIDE_BY_ZERO ((NTSTATUS)0xC0000094L)
-#define STATUS_INTEGER_OVERFLOW ((NTSTATUS)0xC0000095L)
-#define STATUS_PRIVILEGED_INSTRUCTION ((NTSTATUS)0xC0000096L)
-#define STATUS_TOO_MANY_PAGING_FILES ((NTSTATUS)0xC0000097L)
-#define STATUS_FILE_INVALID ((NTSTATUS)0xC0000098L)
-#define STATUS_ALLOTTED_SPACE_EXCEEDED ((NTSTATUS)0xC0000099L)
-#define STATUS_INSUFFICIENT_RESOURCES ((NTSTATUS)0xC000009AL)
-#define STATUS_DFS_EXIT_PATH_FOUND ((NTSTATUS)0xC000009BL)
-#define STATUS_DEVICE_DATA_ERROR ((NTSTATUS)0xC000009CL)
-#define STATUS_DEVICE_NOT_CONNECTED ((NTSTATUS)0xC000009DL)
-#define STATUS_DEVICE_POWER_FAILURE ((NTSTATUS)0xC000009EL)
-#define STATUS_FREE_VM_NOT_AT_BASE ((NTSTATUS)0xC000009FL)
-#define STATUS_MEMORY_NOT_ALLOCATED ((NTSTATUS)0xC00000A0L)
-#define STATUS_WORKING_SET_QUOTA ((NTSTATUS)0xC00000A1L)
-#define STATUS_MEDIA_WRITE_PROTECTED ((NTSTATUS)0xC00000A2L)
-#define STATUS_DEVICE_NOT_READY ((NTSTATUS)0xC00000A3L)
-#define STATUS_INVALID_GROUP_ATTRIBUTES ((NTSTATUS)0xC00000A4L)
-#define STATUS_BAD_IMPERSONATION_LEVEL ((NTSTATUS)0xC00000A5L)
-#define STATUS_CANT_OPEN_ANONYMOUS ((NTSTATUS)0xC00000A6L)
-#define STATUS_BAD_VALIDATION_CLASS ((NTSTATUS)0xC00000A7L)
-#define STATUS_BAD_TOKEN_TYPE ((NTSTATUS)0xC00000A8L)
-#define STATUS_BAD_MASTER_BOOT_RECORD ((NTSTATUS)0xC00000A9L)
-#define STATUS_INSTRUCTION_MISALIGNMENT ((NTSTATUS)0xC00000AAL)
-#define STATUS_INSTANCE_NOT_AVAILABLE ((NTSTATUS)0xC00000ABL)
-#define STATUS_PIPE_NOT_AVAILABLE ((NTSTATUS)0xC00000ACL)
-#define STATUS_INVALID_PIPE_STATE ((NTSTATUS)0xC00000ADL)
-#define STATUS_PIPE_BUSY ((NTSTATUS)0xC00000AEL)
-#define STATUS_ILLEGAL_FUNCTION ((NTSTATUS)0xC00000AFL)
-#define STATUS_PIPE_DISCONNECTED ((NTSTATUS)0xC00000B0L)
-#define STATUS_PIPE_CLOSING ((NTSTATUS)0xC00000B1L)
-#define STATUS_PIPE_CONNECTED ((NTSTATUS)0xC00000B2L)
-#define STATUS_PIPE_LISTENING ((NTSTATUS)0xC00000B3L)
-#define STATUS_INVALID_READ_MODE ((NTSTATUS)0xC00000B4L)
-#define STATUS_IO_TIMEOUT ((NTSTATUS)0xC00000B5L)
-#define STATUS_FILE_FORCED_CLOSED ((NTSTATUS)0xC00000B6L)
-#define STATUS_PROFILING_NOT_STARTED ((NTSTATUS)0xC00000B7L)
-#define STATUS_PROFILING_NOT_STOPPED ((NTSTATUS)0xC00000B8L)
-#define STATUS_COULD_NOT_INTERPRET ((NTSTATUS)0xC00000B9L)
-#define STATUS_FILE_IS_A_DIRECTORY ((NTSTATUS)0xC00000BAL)
-#define STATUS_NOT_SUPPORTED ((NTSTATUS)0xC00000BBL)
-#define STATUS_REMOTE_NOT_LISTENING ((NTSTATUS)0xC00000BCL)
-#define STATUS_DUPLICATE_NAME ((NTSTATUS)0xC00000BDL)
-#define STATUS_BAD_NETWORK_PATH ((NTSTATUS)0xC00000BEL)
-#define STATUS_NETWORK_BUSY ((NTSTATUS)0xC00000BFL)
-#define STATUS_DEVICE_DOES_NOT_EXIST ((NTSTATUS)0xC00000C0L)
-#define STATUS_TOO_MANY_COMMANDS ((NTSTATUS)0xC00000C1L)
-#define STATUS_ADAPTER_HARDWARE_ERROR ((NTSTATUS)0xC00000C2L)
-#define STATUS_INVALID_NETWORK_RESPONSE ((NTSTATUS)0xC00000C3L)
-#define STATUS_UNEXPECTED_NETWORK_ERROR ((NTSTATUS)0xC00000C4L)
-#define STATUS_BAD_REMOTE_ADAPTER ((NTSTATUS)0xC00000C5L)
-#define STATUS_PRINT_QUEUE_FULL ((NTSTATUS)0xC00000C6L)
-#define STATUS_NO_SPOOL_SPACE ((NTSTATUS)0xC00000C7L)
-#define STATUS_PRINT_CANCELLED ((NTSTATUS)0xC00000C8L)
-#define STATUS_NETWORK_NAME_DELETED ((NTSTATUS)0xC00000C9L)
-#define STATUS_NETWORK_ACCESS_DENIED ((NTSTATUS)0xC00000CAL)
-#define STATUS_BAD_DEVICE_TYPE ((NTSTATUS)0xC00000CBL)
-#define STATUS_BAD_NETWORK_NAME ((NTSTATUS)0xC00000CCL)
-#define STATUS_TOO_MANY_NAMES ((NTSTATUS)0xC00000CDL)
-#define STATUS_TOO_MANY_SESSIONS ((NTSTATUS)0xC00000CEL)
-#define STATUS_SHARING_PAUSED ((NTSTATUS)0xC00000CFL)
-#define STATUS_REQUEST_NOT_ACCEPTED ((NTSTATUS)0xC00000D0L)
-#define STATUS_REDIRECTOR_PAUSED ((NTSTATUS)0xC00000D1L)
-#define STATUS_NET_WRITE_FAULT ((NTSTATUS)0xC00000D2L)
-#define STATUS_PROFILING_AT_LIMIT ((NTSTATUS)0xC00000D3L)
-#define STATUS_NOT_SAME_DEVICE ((NTSTATUS)0xC00000D4L)
-#define STATUS_FILE_RENAMED ((NTSTATUS)0xC00000D5L)
-#define STATUS_VIRTUAL_CIRCUIT_CLOSED ((NTSTATUS)0xC00000D6L)
-#define STATUS_NO_SECURITY_ON_OBJECT ((NTSTATUS)0xC00000D7L)
-#define STATUS_CANT_WAIT ((NTSTATUS)0xC00000D8L)
-#define STATUS_PIPE_EMPTY ((NTSTATUS)0xC00000D9L)
-#define STATUS_CANT_ACCESS_DOMAIN_INFO ((NTSTATUS)0xC00000DAL)
-#define STATUS_CANT_TERMINATE_SELF ((NTSTATUS)0xC00000DBL)
-#define STATUS_INVALID_SERVER_STATE ((NTSTATUS)0xC00000DCL)
-#define STATUS_INVALID_DOMAIN_STATE ((NTSTATUS)0xC00000DDL)
-#define STATUS_INVALID_DOMAIN_ROLE ((NTSTATUS)0xC00000DEL)
-#define STATUS_NO_SUCH_DOMAIN ((NTSTATUS)0xC00000DFL)
-#define STATUS_DOMAIN_EXISTS ((NTSTATUS)0xC00000E0L)
-#define STATUS_DOMAIN_LIMIT_EXCEEDED ((NTSTATUS)0xC00000E1L)
-#define STATUS_OPLOCK_NOT_GRANTED ((NTSTATUS)0xC00000E2L)
-#define STATUS_INVALID_OPLOCK_PROTOCOL ((NTSTATUS)0xC00000E3L)
-#define STATUS_INTERNAL_DB_CORRUPTION ((NTSTATUS)0xC00000E4L)
-#define STATUS_INTERNAL_ERROR ((NTSTATUS)0xC00000E5L)
-#define STATUS_GENERIC_NOT_MAPPED ((NTSTATUS)0xC00000E6L)
-#define STATUS_BAD_DESCRIPTOR_FORMAT ((NTSTATUS)0xC00000E7L)
-#define STATUS_INVALID_USER_BUFFER ((NTSTATUS)0xC00000E8L)
-#define STATUS_UNEXPECTED_IO_ERROR ((NTSTATUS)0xC00000E9L)
-#define STATUS_UNEXPECTED_MM_CREATE_ERR ((NTSTATUS)0xC00000EAL)
-#define STATUS_UNEXPECTED_MM_MAP_ERROR ((NTSTATUS)0xC00000EBL)
-#define STATUS_UNEXPECTED_MM_EXTEND_ERR ((NTSTATUS)0xC00000ECL)
-#define STATUS_NOT_LOGON_PROCESS ((NTSTATUS)0xC00000EDL)
-#define STATUS_LOGON_SESSION_EXISTS ((NTSTATUS)0xC00000EEL)
-#define STATUS_INVALID_PARAMETER_1 ((NTSTATUS)0xC00000EFL)
-#define STATUS_INVALID_PARAMETER_2 ((NTSTATUS)0xC00000F0L)
-#define STATUS_INVALID_PARAMETER_3 ((NTSTATUS)0xC00000F1L)
-#define STATUS_INVALID_PARAMETER_4 ((NTSTATUS)0xC00000F2L)
-#define STATUS_INVALID_PARAMETER_5 ((NTSTATUS)0xC00000F3L)
-#define STATUS_INVALID_PARAMETER_6 ((NTSTATUS)0xC00000F4L)
-#define STATUS_INVALID_PARAMETER_7 ((NTSTATUS)0xC00000F5L)
-#define STATUS_INVALID_PARAMETER_8 ((NTSTATUS)0xC00000F6L)
-#define STATUS_INVALID_PARAMETER_9 ((NTSTATUS)0xC00000F7L)
-#define STATUS_INVALID_PARAMETER_10 ((NTSTATUS)0xC00000F8L)
-#define STATUS_INVALID_PARAMETER_11 ((NTSTATUS)0xC00000F9L)
-#define STATUS_INVALID_PARAMETER_12 ((NTSTATUS)0xC00000FAL)
-#define STATUS_REDIRECTOR_NOT_STARTED ((NTSTATUS)0xC00000FBL)
-#define STATUS_REDIRECTOR_STARTED ((NTSTATUS)0xC00000FCL)
-#define STATUS_STACK_OVERFLOW ((NTSTATUS)0xC00000FDL)
-#define STATUS_NO_SUCH_PACKAGE ((NTSTATUS)0xC00000FEL)
-#define STATUS_BAD_FUNCTION_TABLE ((NTSTATUS)0xC00000FFL)
-#define STATUS_VARIABLE_NOT_FOUND ((NTSTATUS)0xC0000100L)
-#define STATUS_DIRECTORY_NOT_EMPTY ((NTSTATUS)0xC0000101L)
-#define STATUS_FILE_CORRUPT_ERROR ((NTSTATUS)0xC0000102L)
-#define STATUS_NOT_A_DIRECTORY ((NTSTATUS)0xC0000103L)
-#define STATUS_BAD_LOGON_SESSION_STATE ((NTSTATUS)0xC0000104L)
-#define STATUS_LOGON_SESSION_COLLISION ((NTSTATUS)0xC0000105L)
-#define STATUS_NAME_TOO_LONG ((NTSTATUS)0xC0000106L)
-#define STATUS_FILES_OPEN ((NTSTATUS)0xC0000107L)
-#define STATUS_CONNECTION_IN_USE ((NTSTATUS)0xC0000108L)
-#define STATUS_MESSAGE_NOT_FOUND ((NTSTATUS)0xC0000109L)
-#define STATUS_PROCESS_IS_TERMINATING ((NTSTATUS)0xC000010AL)
-#define STATUS_INVALID_LOGON_TYPE ((NTSTATUS)0xC000010BL)
-#define STATUS_NO_GUID_TRANSLATION ((NTSTATUS)0xC000010CL)
-#define STATUS_CANNOT_IMPERSONATE ((NTSTATUS)0xC000010DL)
-#define STATUS_IMAGE_ALREADY_LOADED ((NTSTATUS)0xC000010EL)
-#define STATUS_ABIOS_NOT_PRESENT ((NTSTATUS)0xC000010FL)
-#define STATUS_ABIOS_LID_NOT_EXIST ((NTSTATUS)0xC0000110L)
-#define STATUS_ABIOS_LID_ALREADY_OWNED ((NTSTATUS)0xC0000111L)
-#define STATUS_ABIOS_NOT_LID_OWNER ((NTSTATUS)0xC0000112L)
-#define STATUS_ABIOS_INVALID_COMMAND ((NTSTATUS)0xC0000113L)
-#define STATUS_ABIOS_INVALID_LID ((NTSTATUS)0xC0000114L)
-#define STATUS_ABIOS_SELECTOR_NOT_AVAILABLE ((NTSTATUS)0xC0000115L)
-#define STATUS_ABIOS_INVALID_SELECTOR ((NTSTATUS)0xC0000116L)
-#define STATUS_NO_LDT ((NTSTATUS)0xC0000117L)
-#define STATUS_INVALID_LDT_SIZE ((NTSTATUS)0xC0000118L)
-#define STATUS_INVALID_LDT_OFFSET ((NTSTATUS)0xC0000119L)
-#define STATUS_INVALID_LDT_DESCRIPTOR ((NTSTATUS)0xC000011AL)
-#define STATUS_INVALID_IMAGE_NE_FORMAT ((NTSTATUS)0xC000011BL)
-#define STATUS_RXACT_INVALID_STATE ((NTSTATUS)0xC000011CL)
-#define STATUS_RXACT_COMMIT_FAILURE ((NTSTATUS)0xC000011DL)
-#define STATUS_MAPPED_FILE_SIZE_ZERO ((NTSTATUS)0xC000011EL)
-#define STATUS_TOO_MANY_OPENED_FILES ((NTSTATUS)0xC000011FL)
-#define STATUS_CANCELLED ((NTSTATUS)0xC0000120L)
-#define STATUS_CANNOT_DELETE ((NTSTATUS)0xC0000121L)
-#define STATUS_INVALID_COMPUTER_NAME ((NTSTATUS)0xC0000122L)
-#define STATUS_FILE_DELETED ((NTSTATUS)0xC0000123L)
-#define STATUS_SPECIAL_ACCOUNT ((NTSTATUS)0xC0000124L)
-#define STATUS_SPECIAL_GROUP ((NTSTATUS)0xC0000125L)
-#define STATUS_SPECIAL_USER ((NTSTATUS)0xC0000126L)
-#define STATUS_MEMBERS_PRIMARY_GROUP ((NTSTATUS)0xC0000127L)
-#define STATUS_FILE_CLOSED ((NTSTATUS)0xC0000128L)
-#define STATUS_TOO_MANY_THREADS ((NTSTATUS)0xC0000129L)
-#define STATUS_THREAD_NOT_IN_PROCESS ((NTSTATUS)0xC000012AL)
-#define STATUS_TOKEN_ALREADY_IN_USE ((NTSTATUS)0xC000012BL)
-#define STATUS_PAGEFILE_QUOTA_EXCEEDED ((NTSTATUS)0xC000012CL)
-#define STATUS_COMMITMENT_LIMIT ((NTSTATUS)0xC000012DL)
-#define STATUS_INVALID_IMAGE_LE_FORMAT ((NTSTATUS)0xC000012EL)
-#define STATUS_INVALID_IMAGE_NOT_MZ ((NTSTATUS)0xC000012FL)
-#define STATUS_INVALID_IMAGE_PROTECT ((NTSTATUS)0xC0000130L)
-#define STATUS_INVALID_IMAGE_WIN_16 ((NTSTATUS)0xC0000131L)
-#define STATUS_LOGON_SERVER_CONFLICT ((NTSTATUS)0xC0000132L)
-#define STATUS_TIME_DIFFERENCE_AT_DC ((NTSTATUS)0xC0000133L)
-#define STATUS_SYNCHRONIZATION_REQUIRED ((NTSTATUS)0xC0000134L)
-#define STATUS_DLL_NOT_FOUND ((NTSTATUS)0xC0000135L)
-#define STATUS_OPEN_FAILED ((NTSTATUS)0xC0000136L)
-#define STATUS_IO_PRIVILEGE_FAILED ((NTSTATUS)0xC0000137L)
-#define STATUS_ORDINAL_NOT_FOUND ((NTSTATUS)0xC0000138L)
-#define STATUS_ENTRYPOINT_NOT_FOUND ((NTSTATUS)0xC0000139L)
-#define STATUS_CONTROL_C_EXIT ((NTSTATUS)0xC000013AL)
-#define STATUS_LOCAL_DISCONNECT ((NTSTATUS)0xC000013BL)
-#define STATUS_REMOTE_DISCONNECT ((NTSTATUS)0xC000013CL)
-#define STATUS_REMOTE_RESOURCES ((NTSTATUS)0xC000013DL)
-#define STATUS_LINK_FAILED ((NTSTATUS)0xC000013EL)
-#define STATUS_LINK_TIMEOUT ((NTSTATUS)0xC000013FL)
-#define STATUS_INVALID_CONNECTION ((NTSTATUS)0xC0000140L)
-#define STATUS_INVALID_ADDRESS ((NTSTATUS)0xC0000141L)
-#define STATUS_DLL_INIT_FAILED ((NTSTATUS)0xC0000142L)
-#define STATUS_MISSING_SYSTEMFILE ((NTSTATUS)0xC0000143L)
-#define STATUS_UNHANDLED_EXCEPTION ((NTSTATUS)0xC0000144L)
-#define STATUS_APP_INIT_FAILURE ((NTSTATUS)0xC0000145L)
-#define STATUS_PAGEFILE_CREATE_FAILED ((NTSTATUS)0xC0000146L)
-#define STATUS_NO_PAGEFILE ((NTSTATUS)0xC0000147L)
-#define STATUS_INVALID_LEVEL ((NTSTATUS)0xC0000148L)
-#define STATUS_WRONG_PASSWORD_CORE ((NTSTATUS)0xC0000149L)
-#define STATUS_ILLEGAL_FLOAT_CONTEXT ((NTSTATUS)0xC000014AL)
-#define STATUS_PIPE_BROKEN ((NTSTATUS)0xC000014BL)
-#define STATUS_REGISTRY_CORRUPT ((NTSTATUS)0xC000014CL)
-#define STATUS_REGISTRY_IO_FAILED ((NTSTATUS)0xC000014DL)
-#define STATUS_NO_EVENT_PAIR ((NTSTATUS)0xC000014EL)
-#define STATUS_UNRECOGNIZED_VOLUME ((NTSTATUS)0xC000014FL)
-#define STATUS_SERIAL_NO_DEVICE_INITED ((NTSTATUS)0xC0000150L)
-#define STATUS_NO_SUCH_ALIAS ((NTSTATUS)0xC0000151L)
-#define STATUS_MEMBER_NOT_IN_ALIAS ((NTSTATUS)0xC0000152L)
-#define STATUS_MEMBER_IN_ALIAS ((NTSTATUS)0xC0000153L)
-#define STATUS_ALIAS_EXISTS ((NTSTATUS)0xC0000154L)
-#define STATUS_LOGON_NOT_GRANTED ((NTSTATUS)0xC0000155L)
-#define STATUS_TOO_MANY_SECRETS ((NTSTATUS)0xC0000156L)
-#define STATUS_SECRET_TOO_LONG ((NTSTATUS)0xC0000157L)
-#define STATUS_INTERNAL_DB_ERROR ((NTSTATUS)0xC0000158L)
-#define STATUS_FULLSCREEN_MODE ((NTSTATUS)0xC0000159L)
-#define STATUS_TOO_MANY_CONTEXT_IDS ((NTSTATUS)0xC000015AL)
-#define STATUS_LOGON_TYPE_NOT_GRANTED ((NTSTATUS)0xC000015BL)
-#define STATUS_NOT_REGISTRY_FILE ((NTSTATUS)0xC000015CL)
-#define STATUS_NT_CROSS_ENCRYPTION_REQUIRED ((NTSTATUS)0xC000015DL)
-#define STATUS_DOMAIN_CTRLR_CONFIG_ERROR ((NTSTATUS)0xC000015EL)
-#define STATUS_FT_MISSING_MEMBER ((NTSTATUS)0xC000015FL)
-#define STATUS_ILL_FORMED_SERVICE_ENTRY ((NTSTATUS)0xC0000160L)
-#define STATUS_ILLEGAL_CHARACTER ((NTSTATUS)0xC0000161L)
-#define STATUS_UNMAPPABLE_CHARACTER ((NTSTATUS)0xC0000162L)
-#define STATUS_UNDEFINED_CHARACTER ((NTSTATUS)0xC0000163L)
-#define STATUS_FLOPPY_VOLUME ((NTSTATUS)0xC0000164L)
-#define STATUS_FLOPPY_ID_MARK_NOT_FOUND ((NTSTATUS)0xC0000165L)
-#define STATUS_FLOPPY_WRONG_CYLINDER ((NTSTATUS)0xC0000166L)
-#define STATUS_FLOPPY_UNKNOWN_ERROR ((NTSTATUS)0xC0000167L)
-#define STATUS_FLOPPY_BAD_REGISTERS ((NTSTATUS)0xC0000168L)
-#define STATUS_DISK_RECALIBRATE_FAILED ((NTSTATUS)0xC0000169L)
-#define STATUS_DISK_OPERATION_FAILED ((NTSTATUS)0xC000016AL)
-#define STATUS_DISK_RESET_FAILED ((NTSTATUS)0xC000016BL)
-#define STATUS_SHARED_IRQ_BUSY ((NTSTATUS)0xC000016CL)
-#define STATUS_FT_ORPHANING ((NTSTATUS)0xC000016DL)
-#define STATUS_BIOS_FAILED_TO_CONNECT_INTERRUPT ((NTSTATUS)0xC000016EL)
-#define STATUS_PARTITION_FAILURE ((NTSTATUS)0xC0000172L)
-#define STATUS_INVALID_BLOCK_LENGTH ((NTSTATUS)0xC0000173L)
-#define STATUS_DEVICE_NOT_PARTITIONED ((NTSTATUS)0xC0000174L)
-#define STATUS_UNABLE_TO_LOCK_MEDIA ((NTSTATUS)0xC0000175L)
-#define STATUS_UNABLE_TO_UNLOAD_MEDIA ((NTSTATUS)0xC0000176L)
-#define STATUS_EOM_OVERFLOW ((NTSTATUS)0xC0000177L)
-#define STATUS_NO_MEDIA ((NTSTATUS)0xC0000178L)
-#define STATUS_NO_SUCH_MEMBER ((NTSTATUS)0xC000017AL)
-#define STATUS_INVALID_MEMBER ((NTSTATUS)0xC000017BL)
-#define STATUS_KEY_DELETED ((NTSTATUS)0xC000017CL)
-#define STATUS_NO_LOG_SPACE ((NTSTATUS)0xC000017DL)
-#define STATUS_TOO_MANY_SIDS ((NTSTATUS)0xC000017EL)
-#define STATUS_LM_CROSS_ENCRYPTION_REQUIRED ((NTSTATUS)0xC000017FL)
-#define STATUS_KEY_HAS_CHILDREN ((NTSTATUS)0xC0000180L)
-#define STATUS_CHILD_MUST_BE_VOLATILE ((NTSTATUS)0xC0000181L)
-#define STATUS_DEVICE_CONFIGURATION_ERROR ((NTSTATUS)0xC0000182L)
-#define STATUS_DRIVER_INTERNAL_ERROR ((NTSTATUS)0xC0000183L)
-#define STATUS_INVALID_DEVICE_STATE ((NTSTATUS)0xC0000184L)
-#define STATUS_IO_DEVICE_ERROR ((NTSTATUS)0xC0000185L)
-#define STATUS_DEVICE_PROTOCOL_ERROR ((NTSTATUS)0xC0000186L)
-#define STATUS_BACKUP_CONTROLLER ((NTSTATUS)0xC0000187L)
-#define STATUS_LOG_FILE_FULL ((NTSTATUS)0xC0000188L)
-#define STATUS_TOO_LATE ((NTSTATUS)0xC0000189L)
-#define STATUS_NO_TRUST_LSA_SECRET ((NTSTATUS)0xC000018AL)
-#define STATUS_NO_TRUST_SAM_ACCOUNT ((NTSTATUS)0xC000018BL)
-#define STATUS_TRUSTED_DOMAIN_FAILURE ((NTSTATUS)0xC000018CL)
-#define STATUS_TRUSTED_RELATIONSHIP_FAILURE ((NTSTATUS)0xC000018DL)
-#define STATUS_EVENTLOG_FILE_CORRUPT ((NTSTATUS)0xC000018EL)
-#define STATUS_EVENTLOG_CANT_START ((NTSTATUS)0xC000018FL)
-#define STATUS_TRUST_FAILURE ((NTSTATUS)0xC0000190L)
-#define STATUS_MUTANT_LIMIT_EXCEEDED ((NTSTATUS)0xC0000191L)
-#define STATUS_NETLOGON_NOT_STARTED ((NTSTATUS)0xC0000192L)
-#define STATUS_ACCOUNT_EXPIRED ((NTSTATUS)0xC0000193L)
-#define STATUS_POSSIBLE_DEADLOCK ((NTSTATUS)0xC0000194L)
-#define STATUS_NETWORK_CREDENTIAL_CONFLICT ((NTSTATUS)0xC0000195L)
-#define STATUS_REMOTE_SESSION_LIMIT ((NTSTATUS)0xC0000196L)
-#define STATUS_EVENTLOG_FILE_CHANGED ((NTSTATUS)0xC0000197L)
-#define STATUS_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT ((NTSTATUS)0xC0000198L)
-#define STATUS_NOLOGON_WORKSTATION_TRUST_ACCOUNT ((NTSTATUS)0xC0000199L)
-#define STATUS_NOLOGON_SERVER_TRUST_ACCOUNT ((NTSTATUS)0xC000019AL)
-#define STATUS_DOMAIN_TRUST_INCONSISTENT ((NTSTATUS)0xC000019BL)
-#define STATUS_FS_DRIVER_REQUIRED ((NTSTATUS)0xC000019CL)
-#define STATUS_NO_USER_SESSION_KEY ((NTSTATUS)0xC0000202L)
-#define STATUS_USER_SESSION_DELETED ((NTSTATUS)0xC0000203L)
-#define STATUS_RESOURCE_LANG_NOT_FOUND ((NTSTATUS)0xC0000204L)
-#define STATUS_INSUFF_SERVER_RESOURCES ((NTSTATUS)0xC0000205L)
-#define STATUS_INVALID_BUFFER_SIZE ((NTSTATUS)0xC0000206L)
-#define STATUS_INVALID_ADDRESS_COMPONENT ((NTSTATUS)0xC0000207L)
-#define STATUS_INVALID_ADDRESS_WILDCARD ((NTSTATUS)0xC0000208L)
-#define STATUS_TOO_MANY_ADDRESSES ((NTSTATUS)0xC0000209L)
-#define STATUS_ADDRESS_ALREADY_EXISTS ((NTSTATUS)0xC000020AL)
-#define STATUS_ADDRESS_CLOSED ((NTSTATUS)0xC000020BL)
-#define STATUS_CONNECTION_DISCONNECTED ((NTSTATUS)0xC000020CL)
-#define STATUS_CONNECTION_RESET ((NTSTATUS)0xC000020DL)
-#define STATUS_TOO_MANY_NODES ((NTSTATUS)0xC000020EL)
-#define STATUS_TRANSACTION_ABORTED ((NTSTATUS)0xC000020FL)
-#define STATUS_TRANSACTION_TIMED_OUT ((NTSTATUS)0xC0000210L)
-#define STATUS_TRANSACTION_NO_RELEASE ((NTSTATUS)0xC0000211L)
-#define STATUS_TRANSACTION_NO_MATCH ((NTSTATUS)0xC0000212L)
-#define STATUS_TRANSACTION_RESPONDED ((NTSTATUS)0xC0000213L)
-#define STATUS_TRANSACTION_INVALID_ID ((NTSTATUS)0xC0000214L)
-#define STATUS_TRANSACTION_INVALID_TYPE ((NTSTATUS)0xC0000215L)
-#define STATUS_NOT_SERVER_SESSION ((NTSTATUS)0xC0000216L)
-#define STATUS_NOT_CLIENT_SESSION ((NTSTATUS)0xC0000217L)
-#define STATUS_CANNOT_LOAD_REGISTRY_FILE ((NTSTATUS)0xC0000218L)
-#define STATUS_DEBUG_ATTACH_FAILED ((NTSTATUS)0xC0000219L)
-#define STATUS_SYSTEM_PROCESS_TERMINATED ((NTSTATUS)0xC000021AL)
-#define STATUS_DATA_NOT_ACCEPTED ((NTSTATUS)0xC000021BL)
-#define STATUS_NO_BROWSER_SERVERS_FOUND ((NTSTATUS)0xC000021CL)
-#define STATUS_VDM_HARD_ERROR ((NTSTATUS)0xC000021DL)
-#define STATUS_DRIVER_CANCEL_TIMEOUT ((NTSTATUS)0xC000021EL)
-#define STATUS_REPLY_MESSAGE_MISMATCH ((NTSTATUS)0xC000021FL)
-#define STATUS_MAPPED_ALIGNMENT ((NTSTATUS)0xC0000220L)
-#define STATUS_IMAGE_CHECKSUM_MISMATCH ((NTSTATUS)0xC0000221L)
-#define STATUS_LOST_WRITEBEHIND_DATA ((NTSTATUS)0xC0000222L)
-#define STATUS_CLIENT_SERVER_PARAMETERS_INVALID ((NTSTATUS)0xC0000223L)
-#define STATUS_PASSWORD_MUST_CHANGE ((NTSTATUS)0xC0000224L)
-#define STATUS_NOT_FOUND ((NTSTATUS)0xC0000225L)
-#define STATUS_NOT_TINY_STREAM ((NTSTATUS)0xC0000226L)
-#define STATUS_RECOVERY_FAILURE ((NTSTATUS)0xC0000227L)
-#define STATUS_STACK_OVERFLOW_READ ((NTSTATUS)0xC0000228L)
-#define STATUS_FAIL_CHECK ((NTSTATUS)0xC0000229L)
-#define STATUS_DUPLICATE_OBJECTID ((NTSTATUS)0xC000022AL)
-#define STATUS_OBJECTID_EXISTS ((NTSTATUS)0xC000022BL)
-#define STATUS_CONVERT_TO_LARGE ((NTSTATUS)0xC000022CL)
-#define STATUS_RETRY ((NTSTATUS)0xC000022DL)
-#define STATUS_FOUND_OUT_OF_SCOPE ((NTSTATUS)0xC000022EL)
-#define STATUS_ALLOCATE_BUCKET ((NTSTATUS)0xC000022FL)
-#define STATUS_PROPSET_NOT_FOUND ((NTSTATUS)0xC0000230L)
-#define STATUS_MARSHALL_OVERFLOW ((NTSTATUS)0xC0000231L)
-#define STATUS_INVALID_VARIANT ((NTSTATUS)0xC0000232L)
-#define STATUS_DOMAIN_CONTROLLER_NOT_FOUND ((NTSTATUS)0xC0000233L)
-#define STATUS_ACCOUNT_LOCKED_OUT ((NTSTATUS)0xC0000234L)
-#define STATUS_HANDLE_NOT_CLOSABLE ((NTSTATUS)0xC0000235L)
-#define STATUS_CONNECTION_REFUSED ((NTSTATUS)0xC0000236L)
-#define STATUS_GRACEFUL_DISCONNECT ((NTSTATUS)0xC0000237L)
-#define STATUS_ADDRESS_ALREADY_ASSOCIATED ((NTSTATUS)0xC0000238L)
-#define STATUS_ADDRESS_NOT_ASSOCIATED ((NTSTATUS)0xC0000239L)
-#define STATUS_CONNECTION_INVALID ((NTSTATUS)0xC000023AL)
-#define STATUS_CONNECTION_ACTIVE ((NTSTATUS)0xC000023BL)
-#define STATUS_NETWORK_UNREACHABLE ((NTSTATUS)0xC000023CL)
-#define STATUS_HOST_UNREACHABLE ((NTSTATUS)0xC000023DL)
-#define STATUS_PROTOCOL_UNREACHABLE ((NTSTATUS)0xC000023EL)
-#define STATUS_PORT_UNREACHABLE ((NTSTATUS)0xC000023FL)
-#define STATUS_REQUEST_ABORTED ((NTSTATUS)0xC0000240L)
-#define STATUS_CONNECTION_ABORTED ((NTSTATUS)0xC0000241L)
-#define STATUS_BAD_COMPRESSION_BUFFER ((NTSTATUS)0xC0000242L)
-#define STATUS_USER_MAPPED_FILE ((NTSTATUS)0xC0000243L)
-#define STATUS_AUDIT_FAILED ((NTSTATUS)0xC0000244L)
-#define STATUS_TIMER_RESOLUTION_NOT_SET ((NTSTATUS)0xC0000245L)
-#define STATUS_CONNECTION_COUNT_LIMIT ((NTSTATUS)0xC0000246L)
-#define STATUS_LOGIN_TIME_RESTRICTION ((NTSTATUS)0xC0000247L)
-#define STATUS_LOGIN_WKSTA_RESTRICTION ((NTSTATUS)0xC0000248L)
-#define STATUS_IMAGE_MP_UP_MISMATCH ((NTSTATUS)0xC0000249L)
-#define STATUS_INSUFFICIENT_LOGON_INFO ((NTSTATUS)0xC0000250L)
-#define STATUS_BAD_DLL_ENTRYPOINT ((NTSTATUS)0xC0000251L)
-#define STATUS_BAD_SERVICE_ENTRYPOINT ((NTSTATUS)0xC0000252L)
-#define STATUS_LPC_REPLY_LOST ((NTSTATUS)0xC0000253L)
-#define STATUS_IP_ADDRESS_CONFLICT1 ((NTSTATUS)0xC0000254L)
-#define STATUS_IP_ADDRESS_CONFLICT2 ((NTSTATUS)0xC0000255L)
-#define STATUS_REGISTRY_QUOTA_LIMIT ((NTSTATUS)0xC0000256L)
-#define STATUS_PATH_NOT_COVERED ((NTSTATUS)0xC0000257L)
-#define STATUS_NO_CALLBACK_ACTIVE ((NTSTATUS)0xC0000258L)
-#define STATUS_LICENSE_QUOTA_EXCEEDED ((NTSTATUS)0xC0000259L)
-#define STATUS_PWD_TOO_SHORT ((NTSTATUS)0xC000025AL)
-#define STATUS_PWD_TOO_RECENT ((NTSTATUS)0xC000025BL)
-#define STATUS_PWD_HISTORY_CONFLICT ((NTSTATUS)0xC000025CL)
-#define STATUS_PLUGPLAY_NO_DEVICE ((NTSTATUS)0xC000025EL)
-#define STATUS_UNSUPPORTED_COMPRESSION ((NTSTATUS)0xC000025FL)
-#define STATUS_INVALID_HW_PROFILE ((NTSTATUS)0xC0000260L)
-#define STATUS_INVALID_PLUGPLAY_DEVICE_PATH ((NTSTATUS)0xC0000261L)
-#define STATUS_DRIVER_ORDINAL_NOT_FOUND ((NTSTATUS)0xC0000262L)
-#define STATUS_DRIVER_ENTRYPOINT_NOT_FOUND ((NTSTATUS)0xC0000263L)
-#define STATUS_RESOURCE_NOT_OWNED ((NTSTATUS)0xC0000264L)
-#define STATUS_TOO_MANY_LINKS ((NTSTATUS)0xC0000265L)
-#define STATUS_QUOTA_LIST_INCONSISTENT ((NTSTATUS)0xC0000266L)
-#define STATUS_FILE_IS_OFFLINE ((NTSTATUS)0xC0000267L)
-#define STATUS_EVALUATION_EXPIRATION ((NTSTATUS)0xC0000268L)
-#define STATUS_ILLEGAL_DLL_RELOCATION ((NTSTATUS)0xC0000269L)
-#define STATUS_LICENSE_VIOLATION ((NTSTATUS)0xC000026AL)
-#define STATUS_DLL_INIT_FAILED_LOGOFF ((NTSTATUS)0xC000026BL)
-#define STATUS_DRIVER_UNABLE_TO_LOAD ((NTSTATUS)0xC000026CL)
-#define STATUS_DFS_UNAVAILABLE ((NTSTATUS)0xC000026DL)
-#define STATUS_VOLUME_DISMOUNTED ((NTSTATUS)0xC000026EL)
-#define STATUS_WX86_INTERNAL_ERROR ((NTSTATUS)0xC000026FL)
-#define STATUS_WX86_FLOAT_STACK_CHECK ((NTSTATUS)0xC0000270L)
-#define STATUS_VALIDATE_CONTINUE ((NTSTATUS)0xC0000271L)
-#define STATUS_NO_MATCH ((NTSTATUS)0xC0000272L)
-#define STATUS_NO_MORE_MATCHES ((NTSTATUS)0xC0000273L)
-#define STATUS_NOT_A_REPARSE_POINT ((NTSTATUS)0xC0000275L)
-#define STATUS_IO_REPARSE_TAG_INVALID ((NTSTATUS)0xC0000276L)
-#define STATUS_IO_REPARSE_TAG_MISMATCH ((NTSTATUS)0xC0000277L)
-#define STATUS_IO_REPARSE_DATA_INVALID ((NTSTATUS)0xC0000278L)
-#define STATUS_IO_REPARSE_TAG_NOT_HANDLED ((NTSTATUS)0xC0000279L)
-#define STATUS_REPARSE_POINT_NOT_RESOLVED ((NTSTATUS)0xC0000280L)
-#define STATUS_DIRECTORY_IS_A_REPARSE_POINT ((NTSTATUS)0xC0000281L)
-#define STATUS_RANGE_LIST_CONFLICT ((NTSTATUS)0xC0000282L)
-#define STATUS_SOURCE_ELEMENT_EMPTY ((NTSTATUS)0xC0000283L)
-#define STATUS_DESTINATION_ELEMENT_FULL ((NTSTATUS)0xC0000284L)
-#define STATUS_ILLEGAL_ELEMENT_ADDRESS ((NTSTATUS)0xC0000285L)
-#define STATUS_MAGAZINE_NOT_PRESENT ((NTSTATUS)0xC0000286L)
-#define STATUS_REINITIALIZATION_NEEDED ((NTSTATUS)0xC0000287L)
-#define STATUS_DEVICE_REQUIRES_CLEANING ((NTSTATUS)0x80000288L)
-#define STATUS_DEVICE_DOOR_OPEN ((NTSTATUS)0x80000289L)
-#define STATUS_ENCRYPTION_FAILED ((NTSTATUS)0xC000028AL)
-#define STATUS_DECRYPTION_FAILED ((NTSTATUS)0xC000028BL)
-#define STATUS_RANGE_NOT_FOUND ((NTSTATUS)0xC000028CL)
-#define STATUS_NO_RECOVERY_POLICY ((NTSTATUS)0xC000028DL)
-#define STATUS_NO_EFS ((NTSTATUS)0xC000028EL)
-#define STATUS_WRONG_EFS ((NTSTATUS)0xC000028FL)
-#define STATUS_NO_USER_KEYS ((NTSTATUS)0xC0000290L)
-#define STATUS_FILE_NOT_ENCRYPTED ((NTSTATUS)0xC0000291L)
-#define STATUS_NOT_EXPORT_FORMAT ((NTSTATUS)0xC0000292L)
-#define STATUS_FILE_ENCRYPTED ((NTSTATUS)0xC0000293L)
-#define STATUS_WAKE_SYSTEM ((NTSTATUS)0x40000294L)
-#define STATUS_WMI_GUID_NOT_FOUND ((NTSTATUS)0xC0000295L)
-#define STATUS_WMI_INSTANCE_NOT_FOUND ((NTSTATUS)0xC0000296L)
-#define STATUS_WMI_ITEMID_NOT_FOUND ((NTSTATUS)0xC0000297L)
-#define STATUS_WMI_TRY_AGAIN ((NTSTATUS)0xC0000298L)
-#define STATUS_SHARED_POLICY ((NTSTATUS)0xC0000299L)
-#define STATUS_POLICY_OBJECT_NOT_FOUND ((NTSTATUS)0xC000029AL)
-#define STATUS_POLICY_ONLY_IN_DS ((NTSTATUS)0xC000029BL)
-#define STATUS_VOLUME_NOT_UPGRADED ((NTSTATUS)0xC000029CL)
-#define STATUS_REMOTE_STORAGE_NOT_ACTIVE ((NTSTATUS)0xC000029DL)
-#define STATUS_REMOTE_STORAGE_MEDIA_ERROR ((NTSTATUS)0xC000029EL)
-#define STATUS_NO_TRACKING_SERVICE ((NTSTATUS)0xC000029FL)
-#define STATUS_SERVER_SID_MISMATCH ((NTSTATUS)0xC00002A0L)
-#define STATUS_DS_NO_ATTRIBUTE_OR_VALUE ((NTSTATUS)0xC00002A1L)
-#define STATUS_DS_INVALID_ATTRIBUTE_SYNTAX ((NTSTATUS)0xC00002A2L)
-#define STATUS_DS_ATTRIBUTE_TYPE_UNDEFINED ((NTSTATUS)0xC00002A3L)
-#define STATUS_DS_ATTRIBUTE_OR_VALUE_EXISTS ((NTSTATUS)0xC00002A4L)
-#define STATUS_DS_BUSY ((NTSTATUS)0xC00002A5L)
-#define STATUS_DS_UNAVAILABLE ((NTSTATUS)0xC00002A6L)
-#define STATUS_DS_NO_RIDS_ALLOCATED ((NTSTATUS)0xC00002A7L)
-#define STATUS_DS_NO_MORE_RIDS ((NTSTATUS)0xC00002A8L)
-#define STATUS_DS_INCORRECT_ROLE_OWNER ((NTSTATUS)0xC00002A9L)
-#define STATUS_DS_RIDMGR_INIT_ERROR ((NTSTATUS)0xC00002AAL)
-#define STATUS_DS_OBJ_CLASS_VIOLATION ((NTSTATUS)0xC00002ABL)
-#define STATUS_DS_CANT_ON_NON_LEAF ((NTSTATUS)0xC00002ACL)
-#define STATUS_DS_CANT_ON_RDN ((NTSTATUS)0xC00002ADL)
-#define STATUS_DS_CANT_MOD_OBJ_CLASS ((NTSTATUS)0xC00002AEL)
-#define STATUS_DS_CROSS_DOM_MOVE_FAILED ((NTSTATUS)0xC00002AFL)
-#define STATUS_DS_GC_NOT_AVAILABLE ((NTSTATUS)0xC00002B0L)
-#define STATUS_DIRECTORY_SERVICE_REQUIRED ((NTSTATUS)0xC00002B1L)
-#define STATUS_REPARSE_ATTRIBUTE_CONFLICT ((NTSTATUS)0xC00002B2L)
-#define STATUS_CANT_ENABLE_DENY_ONLY ((NTSTATUS)0xC00002B3L)
-#define STATUS_FLOAT_MULTIPLE_FAULTS ((NTSTATUS)0xC00002B4L)
-#define STATUS_FLOAT_MULTIPLE_TRAPS ((NTSTATUS)0xC00002B5L)
-#define STATUS_DEVICE_REMOVED ((NTSTATUS)0xC00002B6L)
-#define STATUS_JOURNAL_DELETE_IN_PROGRESS ((NTSTATUS)0xC00002B7L)
-#define STATUS_JOURNAL_NOT_ACTIVE ((NTSTATUS)0xC00002B8L)
-#define STATUS_NOINTERFACE ((NTSTATUS)0xC00002B9L)
-#define STATUS_DS_ADMIN_LIMIT_EXCEEDED ((NTSTATUS)0xC00002C1L)
-#define STATUS_DRIVER_FAILED_SLEEP ((NTSTATUS)0xC00002C2L)
-#define STATUS_MUTUAL_AUTHENTICATION_FAILED ((NTSTATUS)0xC00002C3L)
-#define STATUS_CORRUPT_SYSTEM_FILE ((NTSTATUS)0xC00002C4L)
-#define STATUS_DATATYPE_MISALIGNMENT_ERROR ((NTSTATUS)0xC00002C5L)
-#define STATUS_WMI_READ_ONLY ((NTSTATUS)0xC00002C6L)
-#define STATUS_WMI_SET_FAILURE ((NTSTATUS)0xC00002C7L)
-#define STATUS_COMMITMENT_MINIMUM ((NTSTATUS)0xC00002C8L)
-#define STATUS_REG_NAT_CONSUMPTION ((NTSTATUS)0xC00002C9L)
-#define STATUS_TRANSPORT_FULL ((NTSTATUS)0xC00002CAL)
-#define STATUS_DS_SAM_INIT_FAILURE ((NTSTATUS)0xC00002CBL)
-#define STATUS_ONLY_IF_CONNECTED ((NTSTATUS)0xC00002CCL)
-#define STATUS_DS_SENSITIVE_GROUP_VIOLATION ((NTSTATUS)0xC00002CDL)
-#define STATUS_PNP_RESTART_ENUMERATION ((NTSTATUS)0xC00002CEL)
-#define STATUS_JOURNAL_ENTRY_DELETED ((NTSTATUS)0xC00002CFL)
-#define STATUS_DS_CANT_MOD_PRIMARYGROUPID ((NTSTATUS)0xC00002D0L)
-#define STATUS_SYSTEM_IMAGE_BAD_SIGNATURE ((NTSTATUS)0xC00002D1L)
-#define STATUS_PNP_REBOOT_REQUIRED ((NTSTATUS)0xC00002D2L)
-#define STATUS_POWER_STATE_INVALID ((NTSTATUS)0xC00002D3L)
-#define STATUS_DS_INVALID_GROUP_TYPE ((NTSTATUS)0xC00002D4L)
-#define STATUS_DS_NO_NEST_GLOBALGROUP_IN_MIXEDDOMAIN ((NTSTATUS)0xC00002D5L)
-#define STATUS_DS_NO_NEST_LOCALGROUP_IN_MIXEDDOMAIN ((NTSTATUS)0xC00002D6L)
-#define STATUS_DS_GLOBAL_CANT_HAVE_LOCAL_MEMBER ((NTSTATUS)0xC00002D7L)
-#define STATUS_DS_GLOBAL_CANT_HAVE_UNIVERSAL_MEMBER ((NTSTATUS)0xC00002D8L)
-#define STATUS_DS_UNIVERSAL_CANT_HAVE_LOCAL_MEMBER ((NTSTATUS)0xC00002D9L)
-#define STATUS_DS_GLOBAL_CANT_HAVE_CROSSDOMAIN_MEMBER ((NTSTATUS)0xC00002DAL)
-#define STATUS_DS_LOCAL_CANT_HAVE_CROSSDOMAIN_LOCAL_MEMBER ((NTSTATUS)0xC00002DBL)
-#define STATUS_DS_HAVE_PRIMARY_MEMBERS ((NTSTATUS)0xC00002DCL)
-#define STATUS_WMI_NOT_SUPPORTED ((NTSTATUS)0xC00002DDL)
-#define STATUS_INSUFFICIENT_POWER ((NTSTATUS)0xC00002DEL)
-#define STATUS_SAM_NEED_BOOTKEY_PASSWORD ((NTSTATUS)0xC00002DFL)
-#define STATUS_SAM_NEED_BOOTKEY_FLOPPY ((NTSTATUS)0xC00002E0L)
-#define STATUS_DS_CANT_START ((NTSTATUS)0xC00002E1L)
-#define STATUS_DS_INIT_FAILURE ((NTSTATUS)0xC00002E2L)
-#define STATUS_SAM_INIT_FAILURE ((NTSTATUS)0xC00002E3L)
-#define STATUS_DS_GC_REQUIRED ((NTSTATUS)0xC00002E4L)
-#define STATUS_DS_LOCAL_MEMBER_OF_LOCAL_ONLY ((NTSTATUS)0xC00002E5L)
-#define STATUS_DS_NO_FPO_IN_UNIVERSAL_GROUPS ((NTSTATUS)0xC00002E6L)
-#define STATUS_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED ((NTSTATUS)0xC00002E7L)
-#define STATUS_MULTIPLE_FAULT_VIOLATION ((NTSTATUS)0xC00002E8L)
-#define STATUS_CURRENT_DOMAIN_NOT_ALLOWED ((NTSTATUS)0xC00002E9L)
-#define STATUS_CANNOT_MAKE ((NTSTATUS)0xC00002EAL)
-#define STATUS_SYSTEM_SHUTDOWN ((NTSTATUS)0xC00002EBL)
-#define STATUS_DS_INIT_FAILURE_CONSOLE ((NTSTATUS)0xC00002ECL)
-#define STATUS_DS_SAM_INIT_FAILURE_CONSOLE ((NTSTATUS)0xC00002EDL)
-#define STATUS_UNFINISHED_CONTEXT_DELETED ((NTSTATUS)0xC00002EEL)
-#define STATUS_NO_TGT_REPLY ((NTSTATUS)0xC00002EFL)
-#define STATUS_OBJECTID_NOT_FOUND ((NTSTATUS)0xC00002F0L)
-#define STATUS_NO_IP_ADDRESSES ((NTSTATUS)0xC00002F1L)
-#define STATUS_WRONG_CREDENTIAL_HANDLE ((NTSTATUS)0xC00002F2L)
-#define STATUS_CRYPTO_SYSTEM_INVALID ((NTSTATUS)0xC00002F3L)
-#define STATUS_MAX_REFERRALS_EXCEEDED ((NTSTATUS)0xC00002F4L)
-#define STATUS_MUST_BE_KDC ((NTSTATUS)0xC00002F5L)
-#define STATUS_STRONG_CRYPTO_NOT_SUPPORTED ((NTSTATUS)0xC00002F6L)
-#define STATUS_TOO_MANY_PRINCIPALS ((NTSTATUS)0xC00002F7L)
-#define STATUS_NO_PA_DATA ((NTSTATUS)0xC00002F8L)
-#define STATUS_PKINIT_NAME_MISMATCH ((NTSTATUS)0xC00002F9L)
-#define STATUS_SMARTCARD_LOGON_REQUIRED ((NTSTATUS)0xC00002FAL)
-#define STATUS_KDC_INVALID_REQUEST ((NTSTATUS)0xC00002FBL)
-#define STATUS_KDC_UNABLE_TO_REFER ((NTSTATUS)0xC00002FCL)
-#define STATUS_KDC_UNKNOWN_ETYPE ((NTSTATUS)0xC00002FDL)
-#define STATUS_SHUTDOWN_IN_PROGRESS ((NTSTATUS)0xC00002FEL)
-#define STATUS_SERVER_SHUTDOWN_IN_PROGRESS ((NTSTATUS)0xC00002FFL)
-#define STATUS_NOT_SUPPORTED_ON_SBS ((NTSTATUS)0xC0000300L)
-#define STATUS_WMI_GUID_DISCONNECTED ((NTSTATUS)0xC0000301L)
-#define STATUS_WMI_ALREADY_DISABLED ((NTSTATUS)0xC0000302L)
-#define STATUS_WMI_ALREADY_ENABLED ((NTSTATUS)0xC0000303L)
-#define STATUS_MFT_TOO_FRAGMENTED ((NTSTATUS)0xC0000304L)
-#define STATUS_COPY_PROTECTION_FAILURE ((NTSTATUS)0xC0000305L)
-#define STATUS_CSS_AUTHENTICATION_FAILURE ((NTSTATUS)0xC0000306L)
-#define STATUS_CSS_KEY_NOT_PRESENT ((NTSTATUS)0xC0000307L)
-#define STATUS_CSS_KEY_NOT_ESTABLISHED ((NTSTATUS)0xC0000308L)
-#define STATUS_CSS_SCRAMBLED_SECTOR ((NTSTATUS)0xC0000309L)
-#define STATUS_CSS_REGION_MISMATCH ((NTSTATUS)0xC000030AL)
-#define STATUS_CSS_RESETS_EXHAUSTED ((NTSTATUS)0xC000030BL)
-#define STATUS_PKINIT_FAILURE ((NTSTATUS)0xC0000320L)
-#define STATUS_SMARTCARD_SUBSYSTEM_FAILURE ((NTSTATUS)0xC0000321L)
-#define STATUS_NO_KERB_KEY ((NTSTATUS)0xC0000322L)
-#define STATUS_HOST_DOWN ((NTSTATUS)0xC0000350L)
-#define STATUS_UNSUPPORTED_PREAUTH ((NTSTATUS)0xC0000351L)
-#define STATUS_EFS_ALG_BLOB_TOO_BIG ((NTSTATUS)0xC0000352L)
-#define STATUS_PORT_NOT_SET ((NTSTATUS)0xC0000353L)
-#define STATUS_DEBUGGER_INACTIVE ((NTSTATUS)0xC0000354L)
-#define STATUS_DS_VERSION_CHECK_FAILURE ((NTSTATUS)0xC0000355L)
-#define STATUS_AUDITING_DISABLED ((NTSTATUS)0xC0000356L)
-#define STATUS_PRENT4_MACHINE_ACCOUNT ((NTSTATUS)0xC0000357L)
-#define STATUS_DS_AG_CANT_HAVE_UNIVERSAL_MEMBER ((NTSTATUS)0xC0000358L)
-#define STATUS_INVALID_IMAGE_WIN_32 ((NTSTATUS)0xC0000359L)
-#define STATUS_INVALID_IMAGE_WIN_64 ((NTSTATUS)0xC000035AL)
-#define STATUS_BAD_BINDINGS ((NTSTATUS)0xC000035BL)
-#define STATUS_NETWORK_SESSION_EXPIRED ((NTSTATUS)0xC000035CL)
-#define STATUS_APPHELP_BLOCK ((NTSTATUS)0xC000035DL)
-#define STATUS_ALL_SIDS_FILTERED ((NTSTATUS)0xC000035EL)
-#define STATUS_NOT_SAFE_MODE_DRIVER ((NTSTATUS)0xC000035FL)
-#define STATUS_ACCESS_DISABLED_BY_POLICY_DEFAULT ((NTSTATUS)0xC0000361L)
-#define STATUS_ACCESS_DISABLED_BY_POLICY_PATH ((NTSTATUS)0xC0000362L)
-#define STATUS_ACCESS_DISABLED_BY_POLICY_PUBLISHER ((NTSTATUS)0xC0000363L)
-#define STATUS_ACCESS_DISABLED_BY_POLICY_OTHER ((NTSTATUS)0xC0000364L)
-#define STATUS_FAILED_DRIVER_ENTRY ((NTSTATUS)0xC0000365L)
-#define STATUS_DEVICE_ENUMERATION_ERROR ((NTSTATUS)0xC0000366L)
-#define STATUS_WAIT_FOR_OPLOCK ((NTSTATUS)0x00000367L)
-#define STATUS_MOUNT_POINT_NOT_RESOLVED ((NTSTATUS)0xC0000368L)
-#define STATUS_INVALID_DEVICE_OBJECT_PARAMETER ((NTSTATUS)0xC0000369L)
-#define STATUS_MCA_OCCURED ((NTSTATUS)0xC000036AL)
-#define STATUS_DRIVER_BLOCKED_CRITICAL ((NTSTATUS)0xC000036BL)
-#define STATUS_DRIVER_BLOCKED ((NTSTATUS)0xC000036CL)
-#define STATUS_DRIVER_DATABASE_ERROR ((NTSTATUS)0xC000036DL)
-#define STATUS_SYSTEM_HIVE_TOO_LARGE ((NTSTATUS)0xC000036EL)
-#define STATUS_INVALID_IMPORT_OF_NON_DLL ((NTSTATUS)0xC000036FL)
-#define STATUS_DS_SHUTTING_DOWN ((NTSTATUS)0x40000370L)
-#define STATUS_SMARTCARD_WRONG_PIN ((NTSTATUS)0xC0000380L)
-#define STATUS_SMARTCARD_CARD_BLOCKED ((NTSTATUS)0xC0000381L)
-#define STATUS_SMARTCARD_CARD_NOT_AUTHENTICATED ((NTSTATUS)0xC0000382L)
-#define STATUS_SMARTCARD_NO_CARD ((NTSTATUS)0xC0000383L)
-#define STATUS_SMARTCARD_NO_KEY_CONTAINER ((NTSTATUS)0xC0000384L)
-#define STATUS_SMARTCARD_NO_CERTIFICATE ((NTSTATUS)0xC0000385L)
-#define STATUS_SMARTCARD_NO_KEYSET ((NTSTATUS)0xC0000386L)
-#define STATUS_SMARTCARD_IO_ERROR ((NTSTATUS)0xC0000387L)
-#define STATUS_DOWNGRADE_DETECTED ((NTSTATUS)0xC0000388L)
-#define STATUS_SMARTCARD_CERT_REVOKED ((NTSTATUS)0xC0000389L)
-#define STATUS_ISSUING_CA_UNTRUSTED ((NTSTATUS)0xC000038AL)
-#define STATUS_REVOCATION_OFFLINE_C ((NTSTATUS)0xC000038BL)
-#define STATUS_PKINIT_CLIENT_FAILURE ((NTSTATUS)0xC000038CL)
-#define STATUS_SMARTCARD_CERT_EXPIRED ((NTSTATUS)0xC000038DL)
-#define STATUS_DRIVER_FAILED_PRIOR_UNLOAD ((NTSTATUS)0xC000038EL)
-#define STATUS_WOW_ASSERTION ((NTSTATUS)0xC0009898L)
-#define RPC_NT_INVALID_STRING_BINDING ((NTSTATUS)0xC0020001L)
-#define RPC_NT_WRONG_KIND_OF_BINDING ((NTSTATUS)0xC0020002L)
-#define RPC_NT_INVALID_BINDING ((NTSTATUS)0xC0020003L)
-#define RPC_NT_PROTSEQ_NOT_SUPPORTED ((NTSTATUS)0xC0020004L)
-#define RPC_NT_INVALID_RPC_PROTSEQ ((NTSTATUS)0xC0020005L)
-#define RPC_NT_INVALID_STRING_UUID ((NTSTATUS)0xC0020006L)
-#define RPC_NT_INVALID_ENDPOINT_FORMAT ((NTSTATUS)0xC0020007L)
-#define RPC_NT_INVALID_NET_ADDR ((NTSTATUS)0xC0020008L)
-#define RPC_NT_NO_ENDPOINT_FOUND ((NTSTATUS)0xC0020009L)
-#define RPC_NT_INVALID_TIMEOUT ((NTSTATUS)0xC002000AL)
-#define RPC_NT_OBJECT_NOT_FOUND ((NTSTATUS)0xC002000BL)
-#define RPC_NT_ALREADY_REGISTERED ((NTSTATUS)0xC002000CL)
-#define RPC_NT_TYPE_ALREADY_REGISTERED ((NTSTATUS)0xC002000DL)
-#define RPC_NT_ALREADY_LISTENING ((NTSTATUS)0xC002000EL)
-#define RPC_NT_NO_PROTSEQS_REGISTERED ((NTSTATUS)0xC002000FL)
-#define RPC_NT_NOT_LISTENING ((NTSTATUS)0xC0020010L)
-#define RPC_NT_UNKNOWN_MGR_TYPE ((NTSTATUS)0xC0020011L)
-#define RPC_NT_UNKNOWN_IF ((NTSTATUS)0xC0020012L)
-#define RPC_NT_NO_BINDINGS ((NTSTATUS)0xC0020013L)
-#define RPC_NT_NO_PROTSEQS ((NTSTATUS)0xC0020014L)
-#define RPC_NT_CANT_CREATE_ENDPOINT ((NTSTATUS)0xC0020015L)
-#define RPC_NT_OUT_OF_RESOURCES ((NTSTATUS)0xC0020016L)
-#define RPC_NT_SERVER_UNAVAILABLE ((NTSTATUS)0xC0020017L)
-#define RPC_NT_SERVER_TOO_BUSY ((NTSTATUS)0xC0020018L)
-#define RPC_NT_INVALID_NETWORK_OPTIONS ((NTSTATUS)0xC0020019L)
-#define RPC_NT_NO_CALL_ACTIVE ((NTSTATUS)0xC002001AL)
-#define RPC_NT_CALL_FAILED ((NTSTATUS)0xC002001BL)
-#define RPC_NT_CALL_FAILED_DNE ((NTSTATUS)0xC002001CL)
-#define RPC_NT_PROTOCOL_ERROR ((NTSTATUS)0xC002001DL)
-#define RPC_NT_UNSUPPORTED_TRANS_SYN ((NTSTATUS)0xC002001FL)
-#define RPC_NT_UNSUPPORTED_TYPE ((NTSTATUS)0xC0020021L)
-#define RPC_NT_INVALID_TAG ((NTSTATUS)0xC0020022L)
-#define RPC_NT_INVALID_BOUND ((NTSTATUS)0xC0020023L)
-#define RPC_NT_NO_ENTRY_NAME ((NTSTATUS)0xC0020024L)
-#define RPC_NT_INVALID_NAME_SYNTAX ((NTSTATUS)0xC0020025L)
-#define RPC_NT_UNSUPPORTED_NAME_SYNTAX ((NTSTATUS)0xC0020026L)
-#define RPC_NT_UUID_NO_ADDRESS ((NTSTATUS)0xC0020028L)
-#define RPC_NT_DUPLICATE_ENDPOINT ((NTSTATUS)0xC0020029L)
-#define RPC_NT_UNKNOWN_AUTHN_TYPE ((NTSTATUS)0xC002002AL)
-#define RPC_NT_MAX_CALLS_TOO_SMALL ((NTSTATUS)0xC002002BL)
-#define RPC_NT_STRING_TOO_LONG ((NTSTATUS)0xC002002CL)
-#define RPC_NT_PROTSEQ_NOT_FOUND ((NTSTATUS)0xC002002DL)
-#define RPC_NT_PROCNUM_OUT_OF_RANGE ((NTSTATUS)0xC002002EL)
-#define RPC_NT_BINDING_HAS_NO_AUTH ((NTSTATUS)0xC002002FL)
-#define RPC_NT_UNKNOWN_AUTHN_SERVICE ((NTSTATUS)0xC0020030L)
-#define RPC_NT_UNKNOWN_AUTHN_LEVEL ((NTSTATUS)0xC0020031L)
-#define RPC_NT_INVALID_AUTH_IDENTITY ((NTSTATUS)0xC0020032L)
-#define RPC_NT_UNKNOWN_AUTHZ_SERVICE ((NTSTATUS)0xC0020033L)
-#define EPT_NT_INVALID_ENTRY ((NTSTATUS)0xC0020034L)
-#define EPT_NT_CANT_PERFORM_OP ((NTSTATUS)0xC0020035L)
-#define EPT_NT_NOT_REGISTERED ((NTSTATUS)0xC0020036L)
-#define RPC_NT_NOTHING_TO_EXPORT ((NTSTATUS)0xC0020037L)
-#define RPC_NT_INCOMPLETE_NAME ((NTSTATUS)0xC0020038L)
-#define RPC_NT_INVALID_VERS_OPTION ((NTSTATUS)0xC0020039L)
-#define RPC_NT_NO_MORE_MEMBERS ((NTSTATUS)0xC002003AL)
-#define RPC_NT_NOT_ALL_OBJS_UNEXPORTED ((NTSTATUS)0xC002003BL)
-#define RPC_NT_INTERFACE_NOT_FOUND ((NTSTATUS)0xC002003CL)
-#define RPC_NT_ENTRY_ALREADY_EXISTS ((NTSTATUS)0xC002003DL)
-#define RPC_NT_ENTRY_NOT_FOUND ((NTSTATUS)0xC002003EL)
-#define RPC_NT_NAME_SERVICE_UNAVAILABLE ((NTSTATUS)0xC002003FL)
-#define RPC_NT_INVALID_NAF_ID ((NTSTATUS)0xC0020040L)
-#define RPC_NT_CANNOT_SUPPORT ((NTSTATUS)0xC0020041L)
-#define RPC_NT_NO_CONTEXT_AVAILABLE ((NTSTATUS)0xC0020042L)
-#define RPC_NT_INTERNAL_ERROR ((NTSTATUS)0xC0020043L)
-#define RPC_NT_ZERO_DIVIDE ((NTSTATUS)0xC0020044L)
-#define RPC_NT_ADDRESS_ERROR ((NTSTATUS)0xC0020045L)
-#define RPC_NT_FP_DIV_ZERO ((NTSTATUS)0xC0020046L)
-#define RPC_NT_FP_UNDERFLOW ((NTSTATUS)0xC0020047L)
-#define RPC_NT_FP_OVERFLOW ((NTSTATUS)0xC0020048L)
-#define RPC_NT_NO_MORE_ENTRIES ((NTSTATUS)0xC0030001L)
-#define RPC_NT_SS_CHAR_TRANS_OPEN_FAIL ((NTSTATUS)0xC0030002L)
-#define RPC_NT_SS_CHAR_TRANS_SHORT_FILE ((NTSTATUS)0xC0030003L)
-#define RPC_NT_SS_IN_NULL_CONTEXT ((NTSTATUS)0xC0030004L)
-#define RPC_NT_SS_CONTEXT_MISMATCH ((NTSTATUS)0xC0030005L)
-#define RPC_NT_SS_CONTEXT_DAMAGED ((NTSTATUS)0xC0030006L)
-#define RPC_NT_SS_HANDLES_MISMATCH ((NTSTATUS)0xC0030007L)
-#define RPC_NT_SS_CANNOT_GET_CALL_HANDLE ((NTSTATUS)0xC0030008L)
-#define RPC_NT_NULL_REF_POINTER ((NTSTATUS)0xC0030009L)
-#define RPC_NT_ENUM_VALUE_OUT_OF_RANGE ((NTSTATUS)0xC003000AL)
-#define RPC_NT_BYTE_COUNT_TOO_SMALL ((NTSTATUS)0xC003000BL)
-#define RPC_NT_BAD_STUB_DATA ((NTSTATUS)0xC003000CL)
-#define RPC_NT_CALL_IN_PROGRESS ((NTSTATUS)0xC0020049L)
-#define RPC_NT_NO_MORE_BINDINGS ((NTSTATUS)0xC002004AL)
-#define RPC_NT_GROUP_MEMBER_NOT_FOUND ((NTSTATUS)0xC002004BL)
-#define EPT_NT_CANT_CREATE ((NTSTATUS)0xC002004CL)
-#define RPC_NT_INVALID_OBJECT ((NTSTATUS)0xC002004DL)
-#define RPC_NT_NO_INTERFACES ((NTSTATUS)0xC002004FL)
-#define RPC_NT_CALL_CANCELLED ((NTSTATUS)0xC0020050L)
-#define RPC_NT_BINDING_INCOMPLETE ((NTSTATUS)0xC0020051L)
-#define RPC_NT_COMM_FAILURE ((NTSTATUS)0xC0020052L)
-#define RPC_NT_UNSUPPORTED_AUTHN_LEVEL ((NTSTATUS)0xC0020053L)
-#define RPC_NT_NO_PRINC_NAME ((NTSTATUS)0xC0020054L)
-#define RPC_NT_NOT_RPC_ERROR ((NTSTATUS)0xC0020055L)
-#define RPC_NT_UUID_LOCAL_ONLY ((NTSTATUS)0x40020056L)
-#define RPC_NT_SEC_PKG_ERROR ((NTSTATUS)0xC0020057L)
-#define RPC_NT_NOT_CANCELLED ((NTSTATUS)0xC0020058L)
-#define RPC_NT_INVALID_ES_ACTION ((NTSTATUS)0xC0030059L)
-#define RPC_NT_WRONG_ES_VERSION ((NTSTATUS)0xC003005AL)
-#define RPC_NT_WRONG_STUB_VERSION ((NTSTATUS)0xC003005BL)
-#define RPC_NT_INVALID_PIPE_OBJECT ((NTSTATUS)0xC003005CL)
-#define RPC_NT_INVALID_PIPE_OPERATION ((NTSTATUS)0xC003005DL)
-#define RPC_NT_WRONG_PIPE_VERSION ((NTSTATUS)0xC003005EL)
-#define RPC_NT_PIPE_CLOSED ((NTSTATUS)0xC003005FL)
-#define RPC_NT_PIPE_DISCIPLINE_ERROR ((NTSTATUS)0xC0030060L)
-#define RPC_NT_PIPE_EMPTY ((NTSTATUS)0xC0030061L)
-#define RPC_NT_INVALID_ASYNC_HANDLE ((NTSTATUS)0xC0020062L)
-#define RPC_NT_INVALID_ASYNC_CALL ((NTSTATUS)0xC0020063L)
-#define RPC_NT_SEND_INCOMPLETE ((NTSTATUS)0x400200AFL)
-#define STATUS_ACPI_INVALID_OPCODE ((NTSTATUS)0xC0140001L)
-#define STATUS_ACPI_STACK_OVERFLOW ((NTSTATUS)0xC0140002L)
-#define STATUS_ACPI_ASSERT_FAILED ((NTSTATUS)0xC0140003L)
-#define STATUS_ACPI_INVALID_INDEX ((NTSTATUS)0xC0140004L)
-#define STATUS_ACPI_INVALID_ARGUMENT ((NTSTATUS)0xC0140005L)
-#define STATUS_ACPI_FATAL ((NTSTATUS)0xC0140006L)
-#define STATUS_ACPI_INVALID_SUPERNAME ((NTSTATUS)0xC0140007L)
-#define STATUS_ACPI_INVALID_ARGTYPE ((NTSTATUS)0xC0140008L)
-#define STATUS_ACPI_INVALID_OBJTYPE ((NTSTATUS)0xC0140009L)
-#define STATUS_ACPI_INVALID_TARGETTYPE ((NTSTATUS)0xC014000AL)
-#define STATUS_ACPI_INCORRECT_ARGUMENT_COUNT ((NTSTATUS)0xC014000BL)
-#define STATUS_ACPI_ADDRESS_NOT_MAPPED ((NTSTATUS)0xC014000CL)
-#define STATUS_ACPI_INVALID_EVENTTYPE ((NTSTATUS)0xC014000DL)
-#define STATUS_ACPI_HANDLER_COLLISION ((NTSTATUS)0xC014000EL)
-#define STATUS_ACPI_INVALID_DATA ((NTSTATUS)0xC014000FL)
-#define STATUS_ACPI_INVALID_REGION ((NTSTATUS)0xC0140010L)
-#define STATUS_ACPI_INVALID_ACCESS_SIZE ((NTSTATUS)0xC0140011L)
-#define STATUS_ACPI_ACQUIRE_GLOBAL_LOCK ((NTSTATUS)0xC0140012L)
-#define STATUS_ACPI_ALREADY_INITIALIZED ((NTSTATUS)0xC0140013L)
-#define STATUS_ACPI_NOT_INITIALIZED ((NTSTATUS)0xC0140014L)
-#define STATUS_ACPI_INVALID_MUTEX_LEVEL ((NTSTATUS)0xC0140015L)
-#define STATUS_ACPI_MUTEX_NOT_OWNED ((NTSTATUS)0xC0140016L)
-#define STATUS_ACPI_MUTEX_NOT_OWNER ((NTSTATUS)0xC0140017L)
-#define STATUS_ACPI_RS_ACCESS ((NTSTATUS)0xC0140018L)
-#define STATUS_ACPI_INVALID_TABLE ((NTSTATUS)0xC0140019L)
-#define STATUS_ACPI_REG_HANDLER_FAILED ((NTSTATUS)0xC0140020L)
-#define STATUS_ACPI_POWER_REQUEST_FAILED ((NTSTATUS)0xC0140021L)
-#define STATUS_CTX_WINSTATION_NAME_INVALID ((NTSTATUS)0xC00A0001L)
-#define STATUS_CTX_INVALID_PD ((NTSTATUS)0xC00A0002L)
-#define STATUS_CTX_PD_NOT_FOUND ((NTSTATUS)0xC00A0003L)
-#define STATUS_CTX_CDM_CONNECT ((NTSTATUS)0x400A0004L)
-#define STATUS_CTX_CDM_DISCONNECT ((NTSTATUS)0x400A0005L)
-#define STATUS_CTX_CLOSE_PENDING ((NTSTATUS)0xC00A0006L)
-#define STATUS_CTX_NO_OUTBUF ((NTSTATUS)0xC00A0007L)
-#define STATUS_CTX_MODEM_INF_NOT_FOUND ((NTSTATUS)0xC00A0008L)
-#define STATUS_CTX_INVALID_MODEMNAME ((NTSTATUS)0xC00A0009L)
-#define STATUS_CTX_RESPONSE_ERROR ((NTSTATUS)0xC00A000AL)
-#define STATUS_CTX_MODEM_RESPONSE_TIMEOUT ((NTSTATUS)0xC00A000BL)
-#define STATUS_CTX_MODEM_RESPONSE_NO_CARRIER ((NTSTATUS)0xC00A000CL)
-#define STATUS_CTX_MODEM_RESPONSE_NO_DIALTONE ((NTSTATUS)0xC00A000DL)
-#define STATUS_CTX_MODEM_RESPONSE_BUSY ((NTSTATUS)0xC00A000EL)
-#define STATUS_CTX_MODEM_RESPONSE_VOICE ((NTSTATUS)0xC00A000FL)
-#define STATUS_CTX_TD_ERROR ((NTSTATUS)0xC00A0010L)
-#define STATUS_CTX_LICENSE_CLIENT_INVALID ((NTSTATUS)0xC00A0012L)
-#define STATUS_CTX_LICENSE_NOT_AVAILABLE ((NTSTATUS)0xC00A0013L)
-#define STATUS_CTX_LICENSE_EXPIRED ((NTSTATUS)0xC00A0014L)
-#define STATUS_CTX_WINSTATION_NOT_FOUND ((NTSTATUS)0xC00A0015L)
-#define STATUS_CTX_WINSTATION_NAME_COLLISION ((NTSTATUS)0xC00A0016L)
-#define STATUS_CTX_WINSTATION_BUSY ((NTSTATUS)0xC00A0017L)
-#define STATUS_CTX_BAD_VIDEO_MODE ((NTSTATUS)0xC00A0018L)
-#define STATUS_CTX_GRAPHICS_INVALID ((NTSTATUS)0xC00A0022L)
-#define STATUS_CTX_NOT_CONSOLE ((NTSTATUS)0xC00A0024L)
-#define STATUS_CTX_CLIENT_QUERY_TIMEOUT ((NTSTATUS)0xC00A0026L)
-#define STATUS_CTX_CONSOLE_DISCONNECT ((NTSTATUS)0xC00A0027L)
-#define STATUS_CTX_CONSOLE_CONNECT ((NTSTATUS)0xC00A0028L)
-#define STATUS_CTX_SHADOW_DENIED ((NTSTATUS)0xC00A002AL)
-#define STATUS_CTX_WINSTATION_ACCESS_DENIED ((NTSTATUS)0xC00A002BL)
-#define STATUS_CTX_INVALID_WD ((NTSTATUS)0xC00A002EL)
-#define STATUS_CTX_WD_NOT_FOUND ((NTSTATUS)0xC00A002FL)
-#define STATUS_CTX_SHADOW_INVALID ((NTSTATUS)0xC00A0030L)
-#define STATUS_CTX_SHADOW_DISABLED ((NTSTATUS)0xC00A0031L)
-#define STATUS_RDP_PROTOCOL_ERROR ((NTSTATUS)0xC00A0032L)
-#define STATUS_CTX_CLIENT_LICENSE_NOT_SET ((NTSTATUS)0xC00A0033L)
-#define STATUS_CTX_CLIENT_LICENSE_IN_USE ((NTSTATUS)0xC00A0034L)
-#define STATUS_CTX_SHADOW_ENDED_BY_MODE_CHANGE ((NTSTATUS)0xC00A0035L)
-#define STATUS_CTX_SHADOW_NOT_RUNNING ((NTSTATUS)0xC00A0036L)
-#define STATUS_PNP_BAD_MPS_TABLE ((NTSTATUS)0xC0040035L)
-#define STATUS_PNP_TRANSLATION_FAILED ((NTSTATUS)0xC0040036L)
-#define STATUS_PNP_IRQ_TRANSLATION_FAILED ((NTSTATUS)0xC0040037L)
-#define STATUS_SXS_SECTION_NOT_FOUND ((NTSTATUS)0xC0150001L)
-#define STATUS_SXS_CANT_GEN_ACTCTX ((NTSTATUS)0xC0150002L)
-#define STATUS_SXS_INVALID_ACTCTXDATA_FORMAT ((NTSTATUS)0xC0150003L)
-#define STATUS_SXS_ASSEMBLY_NOT_FOUND ((NTSTATUS)0xC0150004L)
-#define STATUS_SXS_MANIFEST_FORMAT_ERROR ((NTSTATUS)0xC0150005L)
-#define STATUS_SXS_MANIFEST_PARSE_ERROR ((NTSTATUS)0xC0150006L)
-#define STATUS_SXS_ACTIVATION_CONTEXT_DISABLED ((NTSTATUS)0xC0150007L)
-#define STATUS_SXS_KEY_NOT_FOUND ((NTSTATUS)0xC0150008L)
-#define STATUS_SXS_VERSION_CONFLICT ((NTSTATUS)0xC0150009L)
-#define STATUS_SXS_WRONG_SECTION_TYPE ((NTSTATUS)0xC015000AL)
-#define STATUS_SXS_THREAD_QUERIES_DISABLED ((NTSTATUS)0xC015000BL)
-#define STATUS_SXS_ASSEMBLY_MISSING ((NTSTATUS)0xC015000CL)
-#define STATUS_SXS_RELEASE_ACTIVATION_CONTEXT ((NTSTATUS)0x4015000DL)
-#define STATUS_SXS_PROCESS_DEFAULT_ALREADY_SET ((NTSTATUS)0xC015000EL)
-#define STATUS_SXS_EARLY_DEACTIVATION ((NTSTATUS)0xC015000FL)
-#define STATUS_SXS_INVALID_DEACTIVATION ((NTSTATUS)0xC0150010L)
-#define STATUS_SXS_MULTIPLE_DEACTIVATION ((NTSTATUS)0xC0150011L)
-#define STATUS_SXS_SYSTEM_DEFAULT_ACTIVATION_CONTEXT_EMPTY ((NTSTATUS)0xC0150012L)
-#define STATUS_SXS_PROCESS_TERMINATION_REQUESTED ((NTSTATUS)0xC0150013L)
-#define STATUS_CLUSTER_INVALID_NODE ((NTSTATUS)0xC0130001L)
-#define STATUS_CLUSTER_NODE_EXISTS ((NTSTATUS)0xC0130002L)
-#define STATUS_CLUSTER_JOIN_IN_PROGRESS ((NTSTATUS)0xC0130003L)
-#define STATUS_CLUSTER_NODE_NOT_FOUND ((NTSTATUS)0xC0130004L)
-#define STATUS_CLUSTER_LOCAL_NODE_NOT_FOUND ((NTSTATUS)0xC0130005L)
-#define STATUS_CLUSTER_NETWORK_EXISTS ((NTSTATUS)0xC0130006L)
-#define STATUS_CLUSTER_NETWORK_NOT_FOUND ((NTSTATUS)0xC0130007L)
-#define STATUS_CLUSTER_NETINTERFACE_EXISTS ((NTSTATUS)0xC0130008L)
-#define STATUS_CLUSTER_NETINTERFACE_NOT_FOUND ((NTSTATUS)0xC0130009L)
-#define STATUS_CLUSTER_INVALID_REQUEST ((NTSTATUS)0xC013000AL)
-#define STATUS_CLUSTER_INVALID_NETWORK_PROVIDER ((NTSTATUS)0xC013000BL)
-#define STATUS_CLUSTER_NODE_DOWN ((NTSTATUS)0xC013000CL)
-#define STATUS_CLUSTER_NODE_UNREACHABLE ((NTSTATUS)0xC013000DL)
-#define STATUS_CLUSTER_NODE_NOT_MEMBER ((NTSTATUS)0xC013000EL)
-#define STATUS_CLUSTER_JOIN_NOT_IN_PROGRESS ((NTSTATUS)0xC013000FL)
-#define STATUS_CLUSTER_INVALID_NETWORK ((NTSTATUS)0xC0130010L)
-#define STATUS_CLUSTER_NO_NET_ADAPTERS ((NTSTATUS)0xC0130011L)
-#define STATUS_CLUSTER_NODE_UP ((NTSTATUS)0xC0130012L)
-#define STATUS_CLUSTER_NODE_PAUSED ((NTSTATUS)0xC0130013L)
-#define STATUS_CLUSTER_NODE_NOT_PAUSED ((NTSTATUS)0xC0130014L)
-#define STATUS_CLUSTER_NO_SECURITY_CONTEXT ((NTSTATUS)0xC0130015L)
-#define STATUS_CLUSTER_NETWORK_NOT_INTERNAL ((NTSTATUS)0xC0130016L)
-#define STATUS_CLUSTER_POISONED ((NTSTATUS)0xC0130017L)
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/winsup/w32api/include/ddk/parallel.h b/winsup/w32api/include/ddk/parallel.h
deleted file mode 100644
index 06230b81e..000000000
--- a/winsup/w32api/include/ddk/parallel.h
+++ /dev/null
@@ -1,277 +0,0 @@
-/*
- * parallel.h
- *
- * ParPort driver 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 __PARALLEL_H
-#define __PARALLEL_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-#include "ntddpar.h"
-
-#define DD_PARALLEL_PORT_BASE_NAME "ParallelPort"
-#define DD_PARALLEL_PORT_BASE_NAME_U L"ParallelPort"
-
-#define IOCTL_INTERNAL_DESELECT_DEVICE \
- CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 24, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_INTERNAL_GET_MORE_PARALLEL_PORT_INFO \
- CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 17, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_INTERNAL_GET_PARALLEL_PNP_INFO \
- CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 21, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_INTERNAL_GET_PARALLEL_PORT_INFO \
- CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 12, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_INTERNAL_INIT_1284_3_BUS \
- CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 22, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_INTERNAL_PARALLEL_CLEAR_CHIP_MODE \
- CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 20, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_INTERNAL_PARALLEL_CONNECT_INTERRUPT \
- CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 13, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_INTERNAL_PARALLEL_DISCONNECT_INTERRUPT \
- CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 14, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_INTERNAL_PARALLEL_PORT_ALLOCATE \
- CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 11, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_INTERNAL_PARALLEL_PORT_FREE \
- CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 40, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_INTERNAL_PARALLEL_SET_CHIP_MODE \
- CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 19, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_INTERNAL_RELEASE_PARALLEL_PORT_INFO \
- CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 15, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_INTERNAL_SELECT_DEVICE \
- CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 23, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-
-typedef struct _PARALLEL_1284_COMMAND {
- UCHAR ID;
- UCHAR Port;
- ULONG CommandFlags;
-} PARALLEL_1284_COMMAND, *PPARALLEL_1284_COMMAND;
-
-/* PARALLEL_1284_COMMAND.CommandFlags */
-#define PAR_END_OF_CHAIN_DEVICE 0x00000001
-#define PAR_HAVE_PORT_KEEP_PORT 0x00000002
-
-typedef struct _MORE_PARALLEL_PORT_INFORMATION {
- INTERFACE_TYPE InterfaceType;
- ULONG BusNumber;
- ULONG InterruptLevel;
- ULONG InterruptVector;
- KAFFINITY InterruptAffinity;
- KINTERRUPT_MODE InterruptMode;
-} MORE_PARALLEL_PORT_INFORMATION, *PMORE_PARALLEL_PORT_INFORMATION;
-
-typedef NTSTATUS DDKAPI
-(*PPARALLEL_SET_CHIP_MODE)(
- /*IN*/ PVOID SetChipContext,
- /*IN*/ UCHAR ChipMode);
-
-typedef NTSTATUS DDKAPI
-(*PPARALLEL_CLEAR_CHIP_MODE)(
- /*IN*/ PVOID ClearChipContext,
- /*IN*/ UCHAR ChipMode);
-
-typedef NTSTATUS DDKAPI
-(*PPARCHIP_CLEAR_CHIP_MODE)(
- /*IN*/ PVOID ClearChipContext,
- /*IN*/ UCHAR ChipMode);
-
-typedef NTSTATUS DDKAPI
-(*PPARALLEL_TRY_SELECT_ROUTINE)(
- /*IN*/ PVOID TrySelectContext,
- /*IN*/ PVOID TrySelectCommand);
-
-typedef NTSTATUS DDKAPI
-(*PPARALLEL_DESELECT_ROUTINE)(
- /*IN*/ PVOID DeselectContext,
- /*IN*/ PVOID DeselectCommand);
-
-/* PARALLEL_PNP_INFORMATION.HardwareCapabilities */
-#define PPT_NO_HARDWARE_PRESENT 0x00000000
-#define PPT_ECP_PRESENT 0x00000001
-#define PPT_EPP_PRESENT 0x00000002
-#define PPT_EPP_32_PRESENT 0x00000004
-#define PPT_BYTE_PRESENT 0x00000008
-#define PPT_BIDI_PRESENT 0x00000008
-#define PPT_1284_3_PRESENT 0x00000010
-
-typedef struct _PARALLEL_PNP_INFORMATION {
- PHYSICAL_ADDRESS OriginalEcpController;
- PUCHAR EcpController;
- ULONG SpanOfEcpController;
- ULONG PortNumber;
- ULONG HardwareCapabilities;
- PPARALLEL_SET_CHIP_MODE TrySetChipMode;
- PPARALLEL_CLEAR_CHIP_MODE ClearChipMode;
- ULONG FifoDepth;
- ULONG FifoWidth;
- PHYSICAL_ADDRESS EppControllerPhysicalAddress;
- ULONG SpanOfEppController;
- ULONG Ieee1284_3DeviceCount;
- PPARALLEL_TRY_SELECT_ROUTINE TrySelectDevice;
- PPARALLEL_DESELECT_ROUTINE DeselectDevice;
- PVOID Context;
- ULONG CurrentMode;
- PWSTR PortName;
-} PARALLEL_PNP_INFORMATION, *PPARALLEL_PNP_INFORMATION;
-
-typedef BOOLEAN DDKAPI
-(*PPARALLEL_TRY_ALLOCATE_ROUTINE)(
- /*IN*/ PVOID TryAllocateContext);
-
-typedef VOID DDKAPI
-(*PPARALLEL_FREE_ROUTINE)(
- /*IN*/ PVOID FreeContext);
-
-typedef ULONG DDKAPI
-(*PPARALLEL_QUERY_WAITERS_ROUTINE)(
- /*IN*/ PVOID QueryAllocsContext);
-
-typedef struct _PARALLEL_PORT_INFORMATION {
- PHYSICAL_ADDRESS OriginalController;
- PUCHAR Controller;
- ULONG SpanOfController;
- PPARALLEL_TRY_ALLOCATE_ROUTINE TryAllocatePort;
- PPARALLEL_FREE_ROUTINE FreePort;
- PPARALLEL_QUERY_WAITERS_ROUTINE QueryNumWaiters;
- PVOID Context;
-} PARALLEL_PORT_INFORMATION, *PPARALLEL_PORT_INFORMATION;
-
-/* PARALLEL_CHIP_MODE.ModeFlags */
-#define INITIAL_MODE 0x00
-#define PARCHIP_ECR_ARBITRATOR 0x01
-
-typedef struct _PARALLEL_CHIP_MODE {
- UCHAR ModeFlags;
- BOOLEAN success;
-} PARALLEL_CHIP_MODE, *PPARALLEL_CHIP_MODE;
-
-typedef VOID DDKAPI
-(*PPARALLEL_DEFERRED_ROUTINE)(
- /*IN*/ PVOID DeferredContext);
-
-typedef struct _PARALLEL_INTERRUPT_SERVICE_ROUTINE {
- PKSERVICE_ROUTINE InterruptServiceRoutine;
- PVOID InterruptServiceContext;
- PPARALLEL_DEFERRED_ROUTINE DeferredPortCheckRoutine;
- PVOID DeferredPortCheckContext;
-} PARALLEL_INTERRUPT_SERVICE_ROUTINE, *PPARALLEL_INTERRUPT_SERVICE_ROUTINE;
-
-
-#define IOCTL_INTERNAL_DISCONNECT_IDLE \
- CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 32, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_INTERNAL_LOCK_PORT \
- CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 37, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_INTERNAL_LOCK_PORT_NO_SELECT \
- CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 52, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_INTERNAL_PARCLASS_CONNECT \
- CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 30, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_INTERNAL_PARCLASS_DISCONNECT \
- CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 31, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_INTERNAL_UNLOCK_PORT \
- CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 38, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_INTERNAL_UNLOCK_PORT_NO_DESELECT \
- CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 53, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-typedef USHORT DDKAPI
-(*PDETERMINE_IEEE_MODES)(
- /*IN*/ PVOID Context);
-
-typedef enum _PARALLEL_SAFETY {
- SAFE_MODE,
- UNSAFE_MODE
-} PARALLEL_SAFETY;
-
-typedef NTSTATUS DDKAPI
-(*PNEGOTIATE_IEEE_MODE)(
- /*IN*/ PVOID Context,
- /*IN*/ USHORT ModeMaskFwd,
- /*IN*/ USHORT ModeMaskRev,
- /*IN*/ PARALLEL_SAFETY ModeSafety,
- /*IN*/ BOOLEAN IsForward);
-
-typedef NTSTATUS DDKAPI
-(*PTERMINATE_IEEE_MODE)(
- /*IN*/ PVOID Context);
-
-typedef NTSTATUS DDKAPI
-(*PPARALLEL_IEEE_FWD_TO_REV)(
- /*IN*/ PVOID Context);
-
-typedef NTSTATUS DDKAPI
-(*PPARALLEL_IEEE_REV_TO_FWD)(
- /*IN*/ PVOID Context);
-
-typedef NTSTATUS DDKAPI
-(*PPARALLEL_READ)(
- /*IN*/ PVOID Context,
- /*OUT*/ PVOID Buffer,
- /*IN*/ ULONG NumBytesToRead,
- /*OUT*/ PULONG NumBytesRead,
- /*IN*/ UCHAR Channel);
-
-typedef NTSTATUS DDKAPI
-(*PPARALLEL_WRITE)(
- /*IN*/ PVOID Context,
- /*OUT*/ PVOID Buffer,
- /*IN*/ ULONG NumBytesToWrite,
- /*OUT*/ PULONG NumBytesWritten,
- /*IN*/ UCHAR Channel);
-
-typedef NTSTATUS DDKAPI
-(*PPARALLEL_TRYSELECT_DEVICE)(
- /*IN*/ PVOID Context,
- /*IN*/ PARALLEL_1284_COMMAND Command);
-
-typedef NTSTATUS DDKAPI
-(*PPARALLEL_DESELECT_DEVICE)(
- /*IN*/ PVOID Context,
- /*IN*/ PARALLEL_1284_COMMAND Command);
-
-typedef struct _PARCLASS_INFORMATION {
- PUCHAR Controller;
- PUCHAR EcrController;
- ULONG SpanOfController;
- PDETERMINE_IEEE_MODES DetermineIeeeModes;
- PNEGOTIATE_IEEE_MODE NegotiateIeeeMode;
- PTERMINATE_IEEE_MODE TerminateIeeeMode;
- PPARALLEL_IEEE_FWD_TO_REV IeeeFwdToRevMode;
- PPARALLEL_IEEE_REV_TO_FWD IeeeRevToFwdMode;
- PPARALLEL_READ ParallelRead;
- PPARALLEL_WRITE ParallelWrite;
- PVOID ParclassContext;
- ULONG HardwareCapabilities;
- ULONG FifoDepth;
- ULONG FifoWidth;
- PPARALLEL_TRYSELECT_DEVICE ParallelTryselect;
- PPARALLEL_DESELECT_DEVICE ParallelDeSelect;
-} PARCLASS_INFORMATION, *PPARCLASS_INFORMATION;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __PARALLEL_H */
diff --git a/winsup/w32api/include/ddk/pfhook.h b/winsup/w32api/include/ddk/pfhook.h
deleted file mode 100644
index 1b42bfab4..000000000
--- a/winsup/w32api/include/ddk/pfhook.h
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * pfhook.h
- *
- * Packet filter API
- *
- * 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 __PFHOOK_H
-#define __PFHOOK_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-
-#define DD_IPFLTRDRVR_DEVICE_NAME L"\\Device\\IPFILTERDRIVER"
-
-#define INVALID_PF_IF_INDEX 0xffffffff
-#define ZERO_PF_IP_ADDR 0
-
-typedef ULONG IPAddr;
-
-typedef enum _PF_FORWARD_ACTION {
- PF_FORWARD = 0,
- PF_DROP = 1,
- PF_PASS = 2,
- PF_ICMP_ON_DROP = 3
-} PF_FORWARD_ACTION;
-
-typedef PF_FORWARD_ACTION STDCALL
-(*PacketFilterExtensionPtr)(
- /*IN*/ unsigned char *PacketHeader,
- /*IN*/ unsigned char *Packet,
- /*IN*/ unsigned int PacketLength,
- /*IN*/ unsigned int RecvInterfaceIndex,
- /*IN*/ unsigned int SendInterfaceIndex,
- /*IN*/ IPAddr RecvLinkNextHop,
- /*IN*/ IPAddr SendLinkNextHop);
-
-typedef struct _PF_SET_EXTENSION_HOOK_INFO {
- PacketFilterExtensionPtr ExtensionPointer;
-} PF_SET_EXTENSION_HOOK_INFO, *PPF_SET_EXTENSION_HOOK_INFO;
-
-#define FSCTL_IPFLTRDRVR_BASE FILE_DEVICE_NETWORK
-
-#define _IPFLTRDRVR_CTL_CODE(function, method, access) \
- CTL_CODE(FSCTL_IPFLTRDRVR_BASE, function, method, access)
-
-#define IOCTL_PF_SET_EXTENSION_POINTER \
- _IPFLTRDRVR_CTL_CODE(22, METHOD_BUFFERED, FILE_WRITE_ACCESS)
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __PFHOOK_H */
diff --git a/winsup/w32api/include/ddk/poclass.h b/winsup/w32api/include/ddk/poclass.h
deleted file mode 100644
index 2a45ad22e..000000000
--- a/winsup/w32api/include/ddk/poclass.h
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
- * poclass.h
- *
- * Power policy driver 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 __POCLASS_H
-#define __POCLASS_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-#include "batclass.h"
-
-DEFINE_GUID(GUID_CLASS_INPUT,
- 0x4D1E55B2L, 0xF16F, 0x11CF, 0x88, 0xCB, 0x00, 0x11, 0x11, 0x00, 0x00, 0x30);
-
-DEFINE_GUID(GUID_DEVICE_LID,
- 0x4AFA3D52L, 0x74A7, 0x11d0, 0xbe, 0x5e, 0x00, 0xA0, 0xC9, 0x06, 0x28, 0x57);
-
-DEFINE_GUID(GUID_DEVICE_MEMORY,
- 0x3fd0f03dL, 0x92e0, 0x45fb, 0xb7, 0x5c, 0x5e, 0xd8, 0xff, 0xb0, 0x10, 0x21);
-
-DEFINE_GUID(GUID_DEVICE_MESSAGE_INDICATOR,
- 0XCD48A365L, 0xfa94, 0x4ce2, 0xa2, 0x32, 0xa1, 0xb7, 0x64, 0xe5, 0xd8, 0xb4);
-
-DEFINE_GUID(GUID_DEVICE_PROCESSOR,
- 0x97fadb10L, 0x4e33, 0x40ae, 0x35, 0x9c, 0x8b, 0xef, 0x02, 0x9d, 0xbd, 0xd0);
-
-DEFINE_GUID(GUID_DEVICE_SYS_BUTTON,
- 0x4AFA3D53L, 0x74A7, 0x11d0, 0xbe, 0x5e, 0x00, 0xA0, 0xC9, 0x06, 0x28, 0x57);
-
-DEFINE_GUID(GUID_DEVICE_THERMAL_ZONE,
- 0x4AFA3D51L, 0x74A7, 0x11d0, 0xbe, 0x5e, 0x00, 0xA0, 0xC9, 0x06, 0x28, 0x57);
-
-
-#define IOCTL_GET_PROCESSOR_OBJ_INFO \
- CTL_CODE(FILE_DEVICE_BATTERY, 0x60, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_GET_SYS_BUTTON_CAPS \
- CTL_CODE(FILE_DEVICE_BATTERY, 0x50, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_GET_SYS_BUTTON_EVENT \
- CTL_CODE(FILE_DEVICE_BATTERY, 0x51, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_SET_SYS_MESSAGE_INDICATOR \
- CTL_CODE(FILE_DEVICE_BATTERY, 0x70, METHOD_BUFFERED, FILE_WRITE_ACCESS)
-
-#define IOCTL_NOTIFY_SWITCH_EVENT \
- CTL_CODE(FILE_DEVICE_BATTERY, 0x40, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_THERMAL_QUERY_INFORMATION \
- CTL_CODE(FILE_DEVICE_BATTERY, 0x20, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_THERMAL_SET_COOLING_POLICY \
- CTL_CODE(FILE_DEVICE_BATTERY, 0x21, METHOD_BUFFERED, FILE_WRITE_ACCESS)
-
-#define IOCTL_QUERY_LID \
- CTL_CODE(FILE_DEVICE_BATTERY, 0x30, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_RUN_ACTIVE_COOLING_METHOD \
- CTL_CODE(FILE_DEVICE_BATTERY, 0x22, METHOD_BUFFERED, FILE_WRITE_ACCESS)
-
-#define SYS_BUTTON_POWER 0x00000001
-#define SYS_BUTTON_SLEEP 0x00000002
-#define SYS_BUTTON_LID 0x00000004
-#define SYS_BUTTON_WAKE 0x80000000
-
-#define MAX_ACTIVE_COOLING_LEVELS 10
-#define ACTIVE_COOLING 0
-#define PASSIVE_COOLING 1
-
-typedef struct _THERMAL_INFORMATION {
- ULONG ThermalStamp;
- ULONG ThermalConstant1;
- ULONG ThermalConstant2;
- KAFFINITY Processors;
- ULONG SamplingPeriod;
- ULONG CurrentTemperature;
- ULONG PassiveTripPoint;
- ULONG CriticalTripPoint;
- UCHAR ActiveTripPointCount;
- ULONG ActiveTripPoint[MAX_ACTIVE_COOLING_LEVELS];
-} THERMAL_INFORMATION, *PTHERMAL_INFORMATION;
-
-typedef struct _PROCESSOR_OBJECT_INFO {
- ULONG PhysicalID;
- ULONG PBlkAddress;
- UCHAR PBlkLength;
-} PROCESSOR_OBJECT_INFO, *PPROCESSOR_OBJECT_INFO;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __POCLASS_H */
diff --git a/winsup/w32api/include/ddk/scsi.h b/winsup/w32api/include/ddk/scsi.h
deleted file mode 100644
index 885db66ae..000000000
--- a/winsup/w32api/include/ddk/scsi.h
+++ /dev/null
@@ -1,1701 +0,0 @@
-/*
- * scsi.h
- *
- * SCSI port and class 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 __SCSI_H
-#define __SCSI_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-
-typedef union _CDB {
- struct _CDB6GENERIC {
- UCHAR OperationCode;
- UCHAR Immediate : 1;
- UCHAR CommandUniqueBits : 4;
- UCHAR LogicalUnitNumber : 3;
- UCHAR CommandUniqueBytes[3];
- UCHAR Link : 1;
- UCHAR Flag : 1;
- UCHAR Reserved : 4;
- UCHAR VendorUnique : 2;
- } CDB6GENERIC, *PCDB6GENERIC;
-
- struct _CDB6READWRITE {
- UCHAR OperationCode;
- UCHAR LogicalBlockMsb1 : 5;
- UCHAR LogicalUnitNumber : 3;
- UCHAR LogicalBlockMsb0;
- UCHAR LogicalBlockLsb;
- UCHAR TransferBlocks;
- UCHAR Control;
- } CDB6READWRITE, *PCDB6READWRITE;
-
- struct _CDB6INQUIRY {
- UCHAR OperationCode;
- UCHAR Reserved1 : 5;
- UCHAR LogicalUnitNumber : 3;
- UCHAR PageCode;
- UCHAR IReserved;
- UCHAR AllocationLength;
- UCHAR Control;
- } CDB6INQUIRY, *PCDB6INQUIRY;
-
- struct _CDB6INQUIRY3 {
- UCHAR OperationCode;
- UCHAR EnableVitalProductData : 1;
- UCHAR CommandSupportData : 1;
- UCHAR Reserved1 : 6;
- UCHAR PageCode;
- UCHAR Reserved2;
- UCHAR AllocationLength;
- UCHAR Control;
- } CDB6INQUIRY3, *PCDB6INQUIRY3;
-
- struct _CDB6VERIFY {
- UCHAR OperationCode;
- UCHAR Fixed : 1;
- UCHAR ByteCompare : 1;
- UCHAR Immediate : 1;
- UCHAR Reserved : 2;
- UCHAR LogicalUnitNumber : 3;
- UCHAR VerificationLength[3];
- UCHAR Control;
- } CDB6VERIFY, *PCDB6VERIFY;
-
- struct _CDB6FORMAT {
- UCHAR OperationCode;
- UCHAR FormatControl : 5;
- UCHAR LogicalUnitNumber : 3;
- UCHAR FReserved1;
- UCHAR InterleaveMsb;
- UCHAR InterleaveLsb;
- UCHAR FReserved2;
- } CDB6FORMAT, *PCDB6FORMAT;
-
- struct _CDB10 {
- UCHAR OperationCode;
- UCHAR RelativeAddress : 1;
- UCHAR Reserved1 : 2;
- UCHAR ForceUnitAccess : 1;
- UCHAR DisablePageOut : 1;
- UCHAR LogicalUnitNumber : 3;
- UCHAR LogicalBlockByte0;
- UCHAR LogicalBlockByte1;
- UCHAR LogicalBlockByte2;
- UCHAR LogicalBlockByte3;
- UCHAR Reserved2;
- UCHAR TransferBlocksMsb;
- UCHAR TransferBlocksLsb;
- UCHAR Control;
- } CDB10, *PCDB10;
-
- struct _CDB12 {
- UCHAR OperationCode;
- UCHAR RelativeAddress : 1;
- UCHAR Reserved1 : 2;
- UCHAR ForceUnitAccess : 1;
- UCHAR DisablePageOut : 1;
- UCHAR LogicalUnitNumber : 3;
- UCHAR LogicalBlock[4];
- UCHAR TransferLength[4];
- UCHAR Reserved2;
- UCHAR Control;
- } CDB12, *PCDB12;
-
- struct _PAUSE_RESUME {
- UCHAR OperationCode;
- UCHAR Reserved1 : 5;
- UCHAR LogicalUnitNumber : 3;
- UCHAR Reserved2[6];
- UCHAR Action;
- UCHAR Control;
- } PAUSE_RESUME, *PPAUSE_RESUME;
-
- struct _READ_TOC {
- UCHAR OperationCode;
- UCHAR Reserved0 : 1;
- UCHAR Msf : 1;
- UCHAR Reserved1 : 3;
- UCHAR LogicalUnitNumber : 3;
- UCHAR Format2 : 4;
- UCHAR Reserved2 : 4;
- UCHAR Reserved3[3];
- UCHAR StartingTrack;
- UCHAR AllocationLength[2];
- UCHAR Control : 6;
- UCHAR Format : 2;
- } READ_TOC, *PREAD_TOC;
-
- struct _READ_DISK_INFORMATION {
- UCHAR OperationCode;
- UCHAR Reserved1 : 5;
- UCHAR Lun : 3;
- UCHAR Reserved2[5];
- UCHAR AllocationLength[2];
- UCHAR Control;
- } READ_DISK_INFORMATION, *PREAD_DISK_INFORMATION;
-
- struct _READ_TRACK_INFORMATION {
- UCHAR OperationCode;
- UCHAR Track : 1;
- UCHAR Reserved1 : 3;
- UCHAR Reserved2 : 1;
- UCHAR Lun : 3;
- UCHAR BlockAddress[4];
- UCHAR Reserved3;
- UCHAR AllocationLength[2];
- UCHAR Control;
- } READ_TRACK_INFORMATION, *PREAD_TRACK_INFORMATION;
-
- struct _RESERVE_TRACK_RZONE {
- UCHAR OperationCode;
- UCHAR Reserved1[4];
- UCHAR ReservationSize[4];
- UCHAR Control;
- } RESERVE_TRACK_RZONE, *PRESERVE_TRACK_RZONE;
-
- struct _SEND_OPC_INFORMATION {
- UCHAR OperationCode;
- UCHAR DoOpc : 1;
- UCHAR Reserved : 7;
- UCHAR Reserved1[5];
- UCHAR ParameterListLength[2];
- UCHAR Reserved2;
- } SEND_OPC_INFORMATION, *PSEND_OPC_INFORMATION;
-
- struct _CLOSE_TRACK {
- UCHAR OperationCode;
- UCHAR Immediate : 1;
- UCHAR Reserved1 : 7;
- UCHAR Track : 1;
- UCHAR Session : 1;
- UCHAR Reserved2 : 6;
- UCHAR Reserved3;
- UCHAR TrackNumber[2];
- UCHAR Reserved4[3];
- UCHAR Control;
- } CLOSE_TRACK, *PCLOSE_TRACK;
-
- struct _SEND_CUE_SHEET {
- UCHAR OperationCode;
- UCHAR Reserved[5];
- UCHAR CueSheetSize[3];
- UCHAR Control;
- } SEND_CUE_SHEET, *PSEND_CUE_SHEET;
-
- struct _READ_HEADER {
- UCHAR OperationCode;
- UCHAR Reserved1 : 1;
- UCHAR Msf : 1;
- UCHAR Reserved2 : 3;
- UCHAR Lun : 3;
- UCHAR LogicalBlockAddress[4];
- UCHAR Reserved3;
- UCHAR AllocationLength[2];
- UCHAR Control;
- } READ_HEADER, *PREAD_HEADER;
-
- struct _PLAY_AUDIO {
- UCHAR OperationCode;
- UCHAR Reserved1 : 5;
- UCHAR LogicalUnitNumber : 3;
- UCHAR StartingBlockAddress[4];
- UCHAR Reserved2;
- UCHAR PlayLength[2];
- UCHAR Control;
- } PLAY_AUDIO, *PPLAY_AUDIO;
-
- struct _PLAY_AUDIO_MSF {
- UCHAR OperationCode;
- UCHAR Reserved1 : 5;
- UCHAR LogicalUnitNumber : 3;
- UCHAR Reserved2;
- UCHAR StartingM;
- UCHAR StartingS;
- UCHAR StartingF;
- UCHAR EndingM;
- UCHAR EndingS;
- UCHAR EndingF;
- UCHAR Control;
- } PLAY_AUDIO_MSF, *PPLAY_AUDIO_MSF;
-
-/* FIXME: Should the union be anonymous in C++ too? If so,
- can't define named types _LBA and _MSF within anonymous union
- for C++. */
- struct _PLAY_CD {
- UCHAR OperationCode;
- UCHAR Reserved1 : 1;
- UCHAR CMSF : 1;
- UCHAR ExpectedSectorType : 3;
- UCHAR Lun : 3;
-#ifndef __cplusplus
- _ANONYMOUS_UNION
-#endif
- union {
- struct _LBA {
- UCHAR StartingBlockAddress[4];
- UCHAR PlayLength[4];
- } LBA;
-
- struct _MSF {
- UCHAR Reserved1;
- UCHAR StartingM;
- UCHAR StartingS;
- UCHAR StartingF;
- UCHAR EndingM;
- UCHAR EndingS;
- UCHAR EndingF;
- UCHAR Reserved2;
- } MSF;
- #ifndef __cplusplus
- }DUMMYUNIONNAME;
- #else
- }u;
- #endif
-
- UCHAR Audio : 1;
- UCHAR Composite : 1;
- UCHAR Port1 : 1;
- UCHAR Port2 : 1;
- UCHAR Reserved2 : 3;
- UCHAR Speed : 1;
- UCHAR Control;
- } PLAY_CD, *PPLAY_CD;
-
- struct _SCAN_CD {
- UCHAR OperationCode;
- UCHAR RelativeAddress : 1;
- UCHAR Reserved1 : 3;
- UCHAR Direct : 1;
- UCHAR Lun : 3;
- UCHAR StartingAddress[4];
- UCHAR Reserved2[3];
- UCHAR Reserved3 : 6;
- UCHAR Type : 2;
- UCHAR Reserved4;
- UCHAR Control;
- } SCAN_CD, *PSCAN_CD;
-
- struct _STOP_PLAY_SCAN {
- UCHAR OperationCode;
- UCHAR Reserved1 : 5;
- UCHAR Lun : 3;
- UCHAR Reserved2[7];
- UCHAR Control;
- } STOP_PLAY_SCAN, *PSTOP_PLAY_SCAN;
-
- struct _SUBCHANNEL {
- UCHAR OperationCode;
- UCHAR Reserved0 : 1;
- UCHAR Msf : 1;
- UCHAR Reserved1 : 3;
- UCHAR LogicalUnitNumber : 3;
- UCHAR Reserved2 : 6;
- UCHAR SubQ : 1;
- UCHAR Reserved3 : 1;
- UCHAR Format;
- UCHAR Reserved4[2];
- UCHAR TrackNumber;
- UCHAR AllocationLength[2];
- UCHAR Control;
- } SUBCHANNEL, *PSUBCHANNEL;
-
- struct _READ_CD {
- UCHAR OperationCode;
- UCHAR RelativeAddress : 1;
- UCHAR Reserved0 : 1;
- UCHAR ExpectedSectorType : 3;
- UCHAR Lun : 3;
- UCHAR StartingLBA[4];
- UCHAR TransferBlocks[3];
- UCHAR Reserved2 : 1;
- UCHAR ErrorFlags : 2;
- UCHAR IncludeEDC : 1;
- UCHAR IncludeUserData : 1;
- UCHAR HeaderCode : 2;
- UCHAR IncludeSyncData : 1;
- UCHAR SubChannelSelection : 3;
- UCHAR Reserved3 : 5;
- UCHAR Control;
- } READ_CD, *PREAD_CD;
-
- struct _READ_CD_MSF {
- UCHAR OperationCode;
- UCHAR RelativeAddress : 1;
- UCHAR Reserved1 : 1;
- UCHAR ExpectedSectorType : 3;
- UCHAR Lun : 3;
- UCHAR Reserved2;
- UCHAR StartingM;
- UCHAR StartingS;
- UCHAR StartingF;
- UCHAR EndingM;
- UCHAR EndingS;
- UCHAR EndingF;
- UCHAR Reserved3;
- UCHAR Reserved4 : 1;
- UCHAR ErrorFlags : 2;
- UCHAR IncludeEDC : 1;
- UCHAR IncludeUserData : 1;
- UCHAR HeaderCode : 2;
- UCHAR IncludeSyncData : 1;
- UCHAR SubChannelSelection : 3;
- UCHAR Reserved5 : 5;
- UCHAR Control;
- } READ_CD_MSF, *PREAD_CD_MSF;
-
- struct _PLXTR_READ_CDDA {
- UCHAR OperationCode;
- UCHAR Reserved0 : 5;
- UCHAR LogicalUnitNumber : 3;
- UCHAR LogicalBlockByte0;
- UCHAR LogicalBlockByte1;
- UCHAR LogicalBlockByte2;
- UCHAR LogicalBlockByte3;
- UCHAR TransferBlockByte0;
- UCHAR TransferBlockByte1;
- UCHAR TransferBlockByte2;
- UCHAR TransferBlockByte3;
- UCHAR SubCode;
- UCHAR Control;
- } PLXTR_READ_CDDA, *PPLXTR_READ_CDDA;
-
- struct _NEC_READ_CDDA {
- UCHAR OperationCode;
- UCHAR Reserved0;
- UCHAR LogicalBlockByte0;
- UCHAR LogicalBlockByte1;
- UCHAR LogicalBlockByte2;
- UCHAR LogicalBlockByte3;
- UCHAR Reserved1;
- UCHAR TransferBlockByte0;
- UCHAR TransferBlockByte1;
- UCHAR Control;
- } NEC_READ_CDDA, *PNEC_READ_CDDA;
-
- struct _MODE_SENSE {
- UCHAR OperationCode;
- UCHAR Reserved1 : 3;
- UCHAR Dbd : 1;
- UCHAR Reserved2 : 1;
- UCHAR LogicalUnitNumber : 3;
- UCHAR PageCode : 6;
- UCHAR Pc : 2;
- UCHAR Reserved3;
- UCHAR AllocationLength;
- UCHAR Control;
- } MODE_SENSE, *PMODE_SENSE;
-
- struct _MODE_SENSE10 {
- UCHAR OperationCode;
- UCHAR Reserved1 : 3;
- UCHAR Dbd : 1;
- UCHAR Reserved2 : 1;
- UCHAR LogicalUnitNumber : 3;
- UCHAR PageCode : 6;
- UCHAR Pc : 2;
- UCHAR Reserved3[4];
- UCHAR AllocationLength[2];
- UCHAR Control;
- } MODE_SENSE10, *PMODE_SENSE10;
-
- struct _MODE_SELECT {
- UCHAR OperationCode;
- UCHAR SPBit : 1;
- UCHAR Reserved1 : 3;
- UCHAR PFBit : 1;
- UCHAR LogicalUnitNumber : 3;
- UCHAR Reserved2[2];
- UCHAR ParameterListLength;
- UCHAR Control;
- } MODE_SELECT, *PMODE_SELECT;
-
- struct _MODE_SELECT10 {
- UCHAR OperationCode;
- UCHAR SPBit : 1;
- UCHAR Reserved1 : 3;
- UCHAR PFBit : 1;
- UCHAR LogicalUnitNumber : 3;
- UCHAR Reserved2[5];
- UCHAR ParameterListLength[2];
- UCHAR Control;
- } MODE_SELECT10, *PMODE_SELECT10;
-
- struct _LOCATE {
- UCHAR OperationCode;
- UCHAR Immediate : 1;
- UCHAR CPBit : 1;
- UCHAR BTBit : 1;
- UCHAR Reserved1 : 2;
- UCHAR LogicalUnitNumber : 3;
- UCHAR Reserved3;
- UCHAR LogicalBlockAddress[4];
- UCHAR Reserved4;
- UCHAR Partition;
- UCHAR Control;
- } LOCATE, *PLOCATE;
-
- struct _LOGSENSE {
- UCHAR OperationCode;
- UCHAR SPBit : 1;
- UCHAR PPCBit : 1;
- UCHAR Reserved1 : 3;
- UCHAR LogicalUnitNumber : 3;
- UCHAR PageCode : 6;
- UCHAR PCBit : 2;
- UCHAR Reserved2;
- UCHAR Reserved3;
- UCHAR ParameterPointer[2];
- UCHAR AllocationLength[2];
- UCHAR Control;
- } LOGSENSE, *PLOGSENSE;
-
- struct _LOGSELECT {
- UCHAR OperationCode;
- UCHAR SPBit : 1;
- UCHAR PCRBit : 1;
- UCHAR Reserved1 : 3;
- UCHAR LogicalUnitNumber : 3;
- UCHAR Reserved : 6;
- UCHAR PCBit : 2;
- UCHAR Reserved2[4];
- UCHAR ParameterListLength[2];
- UCHAR Control;
- } LOGSELECT, *PLOGSELECT;
-
- struct _PRINT {
- UCHAR OperationCode;
- UCHAR Reserved : 5;
- UCHAR LogicalUnitNumber : 3;
- UCHAR TransferLength[3];
- UCHAR Control;
- } PRINT, *PPRINT;
-
- struct _SEEK {
- UCHAR OperationCode;
- UCHAR Reserved1 : 5;
- UCHAR LogicalUnitNumber : 3;
- UCHAR LogicalBlockAddress[4];
- UCHAR Reserved2[3];
- UCHAR Control;
- } SEEK, *PSEEK;
-
- struct _ERASE {
- UCHAR OperationCode;
- UCHAR Long : 1;
- UCHAR Immediate : 1;
- UCHAR Reserved1 : 3;
- UCHAR LogicalUnitNumber : 3;
- UCHAR Reserved2[3];
- UCHAR Control;
- } ERASE, *PERASE;
-
- struct _START_STOP {
- UCHAR OperationCode;
- UCHAR Immediate: 1;
- UCHAR Reserved1 : 4;
- UCHAR LogicalUnitNumber : 3;
- UCHAR Reserved2[2];
- UCHAR Start : 1;
- UCHAR LoadEject : 1;
- UCHAR Reserved3 : 6;
- UCHAR Control;
- } START_STOP, *PSTART_STOP;
-
- struct _MEDIA_REMOVAL {
- UCHAR OperationCode;
- UCHAR Reserved1 : 5;
- UCHAR LogicalUnitNumber : 3;
- UCHAR Reserved2[2];
-
- UCHAR Prevent : 1;
- UCHAR Persistant : 1;
- UCHAR Reserved3 : 6;
-
- UCHAR Control;
- } MEDIA_REMOVAL, *PMEDIA_REMOVAL;
-
- struct _SEEK_BLOCK {
- UCHAR OperationCode;
- UCHAR Immediate : 1;
- UCHAR Reserved1 : 7;
- UCHAR BlockAddress[3];
- UCHAR Link : 1;
- UCHAR Flag : 1;
- UCHAR Reserved2 : 4;
- UCHAR VendorUnique : 2;
- } SEEK_BLOCK, *PSEEK_BLOCK;
-
- struct _REQUEST_BLOCK_ADDRESS {
- UCHAR OperationCode;
- UCHAR Reserved1[3];
- UCHAR AllocationLength;
- UCHAR Link : 1;
- UCHAR Flag : 1;
- UCHAR Reserved2 : 4;
- UCHAR VendorUnique : 2;
- } REQUEST_BLOCK_ADDRESS, *PREQUEST_BLOCK_ADDRESS;
-
- struct _PARTITION {
- UCHAR OperationCode;
- UCHAR Immediate : 1;
- UCHAR Sel: 1;
- UCHAR PartitionSelect : 6;
- UCHAR Reserved1[3];
- UCHAR Control;
- } PARTITION, *PPARTITION;
-
- struct _WRITE_TAPE_MARKS {
- UCHAR OperationCode;
- UCHAR Immediate : 1;
- UCHAR WriteSetMarks: 1;
- UCHAR Reserved : 3;
- UCHAR LogicalUnitNumber : 3;
- UCHAR TransferLength[3];
- UCHAR Control;
- } WRITE_TAPE_MARKS, *PWRITE_TAPE_MARKS;
-
- struct _SPACE_TAPE_MARKS {
- UCHAR OperationCode;
- UCHAR Code : 3;
- UCHAR Reserved : 2;
- UCHAR LogicalUnitNumber : 3;
- UCHAR NumMarksMSB ;
- UCHAR NumMarks;
- UCHAR NumMarksLSB;
- union {
- UCHAR value;
- struct {
- UCHAR Link : 1;
- UCHAR Flag : 1;
- UCHAR Reserved : 4;
- UCHAR VendorUnique : 2;
- } Fields;
- } Byte6;
- } SPACE_TAPE_MARKS, *PSPACE_TAPE_MARKS;
-
- struct _READ_POSITION {
- UCHAR Operation;
- UCHAR BlockType : 1;
- UCHAR Reserved1 : 4;
- UCHAR Lun : 3;
- UCHAR Reserved2[7];
- UCHAR Control;
- } READ_POSITION, *PREAD_POSITION;
-
- struct _CDB6READWRITETAPE {
- UCHAR OperationCode;
- UCHAR VendorSpecific : 5;
- UCHAR Reserved : 3;
- UCHAR TransferLenMSB;
- UCHAR TransferLen;
- UCHAR TransferLenLSB;
- UCHAR Link : 1;
- UCHAR Flag : 1;
- UCHAR Reserved1 : 4;
- UCHAR VendorUnique : 2;
- } CDB6READWRITETAPE, *PCDB6READWRITETAPE;
-
- struct _INIT_ELEMENT_STATUS {
- UCHAR OperationCode;
- UCHAR Reserved1 : 5;
- UCHAR LogicalUnitNubmer : 3;
- UCHAR Reserved2[3];
- UCHAR Reserved3 : 7;
- UCHAR NoBarCode : 1;
- } INIT_ELEMENT_STATUS, *PINIT_ELEMENT_STATUS;
-
- struct _INITIALIZE_ELEMENT_RANGE {
- UCHAR OperationCode;
- UCHAR Range : 1;
- UCHAR Reserved1 : 4;
- UCHAR LogicalUnitNubmer : 3;
- UCHAR FirstElementAddress[2];
- UCHAR Reserved2[2];
- UCHAR NumberOfElements[2];
- UCHAR Reserved3;
- UCHAR Reserved4 : 7;
- UCHAR NoBarCode : 1;
- } INITIALIZE_ELEMENT_RANGE, *PINITIALIZE_ELEMENT_RANGE;
-
- struct _POSITION_TO_ELEMENT {
- UCHAR OperationCode;
- UCHAR Reserved1 : 5;
- UCHAR LogicalUnitNumber : 3;
- UCHAR TransportElementAddress[2];
- UCHAR DestinationElementAddress[2];
- UCHAR Reserved2[2];
- UCHAR Flip : 1;
- UCHAR Reserved3 : 7;
- UCHAR Control;
- } POSITION_TO_ELEMENT, *PPOSITION_TO_ELEMENT;
-
- struct _MOVE_MEDIUM {
- UCHAR OperationCode;
- UCHAR Reserved1 : 5;
- UCHAR LogicalUnitNumber : 3;
- UCHAR TransportElementAddress[2];
- UCHAR SourceElementAddress[2];
- UCHAR DestinationElementAddress[2];
- UCHAR Reserved2[2];
- UCHAR Flip : 1;
- UCHAR Reserved3 : 7;
- UCHAR Control;
- } MOVE_MEDIUM, *PMOVE_MEDIUM;
-
- struct _EXCHANGE_MEDIUM {
- UCHAR OperationCode;
- UCHAR Reserved1 : 5;
- UCHAR LogicalUnitNumber : 3;
- UCHAR TransportElementAddress[2];
- UCHAR SourceElementAddress[2];
- UCHAR Destination1ElementAddress[2];
- UCHAR Destination2ElementAddress[2];
- UCHAR Flip1 : 1;
- UCHAR Flip2 : 1;
- UCHAR Reserved3 : 6;
- UCHAR Control;
- } EXCHANGE_MEDIUM, *PEXCHANGE_MEDIUM;
-
- struct _READ_ELEMENT_STATUS {
- UCHAR OperationCode;
- UCHAR ElementType : 4;
- UCHAR VolTag : 1;
- UCHAR LogicalUnitNumber : 3;
- UCHAR StartingElementAddress[2];
- UCHAR NumberOfElements[2];
- UCHAR Reserved1;
- UCHAR AllocationLength[3];
- UCHAR Reserved2;
- UCHAR Control;
- } READ_ELEMENT_STATUS, *PREAD_ELEMENT_STATUS;
-
- struct _SEND_VOLUME_TAG {
- UCHAR OperationCode;
- UCHAR ElementType : 4;
- UCHAR Reserved1 : 1;
- UCHAR LogicalUnitNumber : 3;
- UCHAR StartingElementAddress[2];
- UCHAR Reserved2;
- UCHAR ActionCode : 5;
- UCHAR Reserved3 : 3;
- UCHAR Reserved4[2];
- UCHAR ParameterListLength[2];
- UCHAR Reserved5;
- UCHAR Control;
- } SEND_VOLUME_TAG, *PSEND_VOLUME_TAG;
-
- struct _REQUEST_VOLUME_ELEMENT_ADDRESS {
- UCHAR OperationCode;
- UCHAR ElementType : 4;
- UCHAR VolTag : 1;
- UCHAR LogicalUnitNumber : 3;
- UCHAR StartingElementAddress[2];
- UCHAR NumberElements[2];
- UCHAR Reserved1;
- UCHAR AllocationLength[3];
- UCHAR Reserved2;
- UCHAR Control;
- } REQUEST_VOLUME_ELEMENT_ADDRESS, *PREQUEST_VOLUME_ELEMENT_ADDRESS;
-
- struct _LOAD_UNLOAD {
- UCHAR OperationCode;
- UCHAR Immediate : 1;
- UCHAR Reserved1 : 4;
- UCHAR Lun : 3;
- UCHAR Reserved2[2];
- UCHAR Start : 1;
- UCHAR LoadEject : 1;
- UCHAR Reserved3: 6;
- UCHAR Reserved4[3];
- UCHAR Slot;
- UCHAR Reserved5[3];
- } LOAD_UNLOAD, *PLOAD_UNLOAD;
-
- struct _MECH_STATUS {
- UCHAR OperationCode;
- UCHAR Reserved : 5;
- UCHAR Lun : 3;
- UCHAR Reserved1[6];
- UCHAR AllocationLength[2];
- UCHAR Reserved2[1];
- UCHAR Control;
- } MECH_STATUS, *PMECH_STATUS;
-
- struct _SYNCHRONIZE_CACHE10 {
-
- UCHAR OperationCode;
-
- UCHAR RelAddr : 1;
- UCHAR Immediate : 1;
- UCHAR Reserved : 3;
- UCHAR Lun : 3;
-
- UCHAR LogicalBlockAddress[4];
- UCHAR Reserved2;
- UCHAR BlockCount[2];
- UCHAR Control;
- } SYNCHRONIZE_CACHE10, *PSYNCHRONIZE_CACHE10;
-
- struct _GET_EVENT_STATUS_NOTIFICATION {
- UCHAR OperationCode;
-
- UCHAR Immediate : 1;
- UCHAR Reserved : 4;
- UCHAR Lun : 3;
-
- UCHAR Reserved2[2];
- UCHAR NotificationClassRequest;
- UCHAR Reserved3[2];
- UCHAR EventListLength[2];
-
- UCHAR Control;
- } GET_EVENT_STATUS_NOTIFICATION, *PGET_EVENT_STATUS_NOTIFICATION;
-
- struct _READ_DVD_STRUCTURE {
- UCHAR OperationCode;
- UCHAR Reserved1 : 5;
- UCHAR Lun : 3;
- UCHAR RMDBlockNumber[4];
- UCHAR LayerNumber;
- UCHAR Format;
- UCHAR AllocationLength[2];
- UCHAR Reserved3 : 6;
- UCHAR AGID : 2;
- UCHAR Control;
- } READ_DVD_STRUCTURE, *PREAD_DVD_STRUCTURE;
-
- struct _SEND_DVD_STRUCTURE {
- UCHAR OperationCode;
- UCHAR Reserved1 : 5;
- UCHAR Lun : 3;
- UCHAR Reserved2[5];
- UCHAR Format;
- UCHAR ParameterListLength[2];
- UCHAR Reserved3;
- UCHAR Control;
- } SEND_DVD_STRUCTURE, *PSEND_DVD_STRUCTURE;
-
- struct _SEND_KEY {
- UCHAR OperationCode;
- UCHAR Reserved1 : 5;
- UCHAR Lun : 3;
- UCHAR Reserved2[6];
- UCHAR ParameterListLength[2];
- UCHAR KeyFormat : 6;
- UCHAR AGID : 2;
- UCHAR Control;
- } SEND_KEY, *PSEND_KEY;
-
- struct _REPORT_KEY {
- UCHAR OperationCode;
- UCHAR Reserved1 : 5;
- UCHAR Lun : 3;
- UCHAR LogicalBlockAddress[4];
- UCHAR Reserved2[2];
- UCHAR AllocationLength[2];
- UCHAR KeyFormat : 6;
- UCHAR AGID : 2;
- UCHAR Control;
- } REPORT_KEY, *PREPORT_KEY;
-
- struct _SET_READ_AHEAD {
- UCHAR OperationCode;
- UCHAR Reserved1 : 5;
- UCHAR Lun : 3;
- UCHAR TriggerLBA[4];
- UCHAR ReadAheadLBA[4];
- UCHAR Reserved2;
- UCHAR Control;
- } SET_READ_AHEAD, *PSET_READ_AHEAD;
-
- struct _READ_FORMATTED_CAPACITIES {
- UCHAR OperationCode;
- UCHAR Reserved1 : 5;
- UCHAR Lun : 3;
- UCHAR Reserved2[5];
- UCHAR AllocationLength[2];
- UCHAR Control;
- } READ_FORMATTED_CAPACITIES, *PREAD_FORMATTED_CAPACITIES;
-
- struct _REPORT_LUNS {
- UCHAR OperationCode;
- UCHAR Reserved1[5];
- UCHAR AllocationLength[4];
- UCHAR Reserved2[1];
- UCHAR Control;
- } REPORT_LUNS, *PREPORT_LUNS;
-
- struct _PERSISTENT_RESERVE_IN {
- UCHAR OperationCode;
- UCHAR ServiceAction : 5;
- UCHAR Reserved1 : 3;
- UCHAR Reserved2[5];
- UCHAR AllocationLength[2];
- UCHAR Control;
- } PERSISTENT_RESERVE_IN, *PPERSISTENT_RESERVE_IN;
-
- struct _PERSISTENT_RESERVE_OUT {
- UCHAR OperationCode;
- UCHAR ServiceAction : 5;
- UCHAR Reserved1 : 3;
- UCHAR Type : 4;
- UCHAR Scope : 4;
- UCHAR Reserved2[4];
- UCHAR ParameterListLength[2];
- UCHAR Control;
- } PERSISTENT_RESERVE_OUT, *PPERSISTENT_RESERVE_OUT;
-
- struct _GET_CONFIGURATION {
- UCHAR OperationCode;
- UCHAR RequestType : 1;
- UCHAR Reserved1 : 7;
- UCHAR StartingFeature[2];
- UCHAR Reserved2[3];
- UCHAR AllocationLength[2];
- UCHAR Control;
- } GET_CONFIGURATION, *PGET_CONFIGURATION;
-
- struct _SET_CD_SPEED {
- UCHAR OperationCode;
- UCHAR Reserved1;
- UCHAR ReadSpeed[2];
- UCHAR WriteSpeed[2];
- UCHAR Reserved2[5];
- UCHAR Control;
- } SET_CD_SPEED, *PSET_CD_SPEED;
-
- ULONG AsUlong[4];
- UCHAR AsByte[16];
-} CDB, *PCDB;
-
-#ifndef _INQUIRYDATA_DEFINED /* also in minitape.h */
-#define _INQUIRYDATA_DEFINED
-
-#define INQUIRYDATABUFFERSIZE 36
-
-typedef struct _INQUIRYDATA {
- UCHAR DeviceType : 5;
- UCHAR DeviceTypeQualifier : 3;
- UCHAR DeviceTypeModifier : 7;
- UCHAR RemovableMedia : 1;
- _ANONYMOUS_UNION union {
- UCHAR Versions;
- _ANONYMOUS_STRUCT struct {
- UCHAR ANSIVersion : 3;
- UCHAR ECMAVersion : 3;
- UCHAR ISOVersion : 2;
- } DUMMYSTRUCTNAME;
- } DUMMYUNIONNAME;
- UCHAR ResponseDataFormat : 4;
- UCHAR HiSupport : 1;
- UCHAR NormACA : 1;
- UCHAR TerminateTask : 1;
- UCHAR AERC : 1;
- UCHAR AdditionalLength;
- UCHAR Reserved;
- UCHAR Addr16 : 1;
- UCHAR Addr32 : 1;
- UCHAR AckReqQ: 1;
- UCHAR MediumChanger : 1;
- UCHAR MultiPort : 1;
- UCHAR ReservedBit2 : 1;
- UCHAR EnclosureServices : 1;
- UCHAR ReservedBit3 : 1;
- UCHAR SoftReset : 1;
- UCHAR CommandQueue : 1;
- UCHAR TransferDisable : 1;
- UCHAR LinkedCommands : 1;
- UCHAR Synchronous : 1;
- UCHAR Wide16Bit : 1;
- UCHAR Wide32Bit : 1;
- UCHAR RelativeAddressing : 1;
- UCHAR VendorId[8];
- UCHAR ProductId[16];
- UCHAR ProductRevisionLevel[4];
- UCHAR VendorSpecific[20];
- UCHAR Reserved3[40];
-} INQUIRYDATA, *PINQUIRYDATA;
-#endif
-
-/* INQUIRYDATA.DeviceType constants */
-#define DIRECT_ACCESS_DEVICE 0x00
-#define SEQUENTIAL_ACCESS_DEVICE 0x01
-#define PRINTER_DEVICE 0x02
-#define PROCESSOR_DEVICE 0x03
-#define WRITE_ONCE_READ_MULTIPLE_DEVICE 0x04
-#define READ_ONLY_DIRECT_ACCESS_DEVICE 0x05
-#define SCANNER_DEVICE 0x06
-#define OPTICAL_DEVICE 0x07
-#define MEDIUM_CHANGER 0x08
-#define COMMUNICATION_DEVICE 0x09
-#define LOGICAL_UNIT_NOT_PRESENT_DEVICE 0x7F
-#define DEVICE_QUALIFIER_NOT_SUPPORTED 0x03
-
-/* INQUIRYDATA.DeviceTypeQualifier constants */
-#define DEVICE_CONNECTED 0x00
-
-#define SCSISTAT_GOOD 0x00
-#define SCSISTAT_CHECK_CONDITION 0x02
-#define SCSISTAT_CONDITION_MET 0x04
-#define SCSISTAT_BUSY 0x08
-#define SCSISTAT_INTERMEDIATE 0x10
-#define SCSISTAT_INTERMEDIATE_COND_MET 0x14
-#define SCSISTAT_RESERVATION_CONFLICT 0x18
-#define SCSISTAT_COMMAND_TERMINATED 0x22
-#define SCSISTAT_QUEUE_FULL 0x28
-
-/* Mode Sense/Select page constants */
-#define MODE_PAGE_ERROR_RECOVERY 0x01
-#define MODE_PAGE_DISCONNECT 0x02
-#define MODE_PAGE_FORMAT_DEVICE 0x03
-#define MODE_PAGE_RIGID_GEOMETRY 0x04
-#define MODE_PAGE_FLEXIBILE 0x05
-#define MODE_PAGE_WRITE_PARAMETERS 0x05
-#define MODE_PAGE_VERIFY_ERROR 0x07
-#define MODE_PAGE_CACHING 0x08
-#define MODE_PAGE_PERIPHERAL 0x09
-#define MODE_PAGE_CONTROL 0x0A
-#define MODE_PAGE_MEDIUM_TYPES 0x0B
-#define MODE_PAGE_NOTCH_PARTITION 0x0C
-#define MODE_PAGE_CD_AUDIO_CONTROL 0x0E
-#define MODE_PAGE_DATA_COMPRESS 0x0F
-#define MODE_PAGE_DEVICE_CONFIG 0x10
-#define MODE_PAGE_MEDIUM_PARTITION 0x11
-#define MODE_PAGE_CDVD_FEATURE_SET 0x18
-#define MODE_PAGE_POWER_CONDITION 0x1A
-#define MODE_PAGE_FAULT_REPORTING 0x1C
-#define MODE_PAGE_CDVD_INACTIVITY 0x1D
-#define MODE_PAGE_ELEMENT_ADDRESS 0x1D
-#define MODE_PAGE_TRANSPORT_GEOMETRY 0x1E
-#define MODE_PAGE_DEVICE_CAPABILITIES 0x1F
-#define MODE_PAGE_CAPABILITIES 0x2A
-#define MODE_SENSE_RETURN_ALL 0x3f
-#define MODE_SENSE_CURRENT_VALUES 0x00
-#define MODE_SENSE_CHANGEABLE_VALUES 0x40
-#define MODE_SENSE_DEFAULT_VAULES 0x80
-#define MODE_SENSE_SAVED_VALUES 0xc0
-
-/* SCSI CDB operation codes */
-#define SCSIOP_TEST_UNIT_READY 0x00
-#define SCSIOP_REZERO_UNIT 0x01
-#define SCSIOP_REWIND 0x01
-#define SCSIOP_REQUEST_BLOCK_ADDR 0x02
-#define SCSIOP_REQUEST_SENSE 0x03
-#define SCSIOP_FORMAT_UNIT 0x04
-#define SCSIOP_READ_BLOCK_LIMITS 0x05
-#define SCSIOP_REASSIGN_BLOCKS 0x07
-#define SCSIOP_INIT_ELEMENT_STATUS 0x07
-#define SCSIOP_READ6 0x08
-#define SCSIOP_RECEIVE 0x08
-#define SCSIOP_WRITE6 0x0A
-#define SCSIOP_PRINT 0x0A
-#define SCSIOP_SEND 0x0A
-#define SCSIOP_SEEK6 0x0B
-#define SCSIOP_TRACK_SELECT 0x0B
-#define SCSIOP_SLEW_PRINT 0x0B
-#define SCSIOP_SEEK_BLOCK 0x0C
-#define SCSIOP_PARTITION 0x0D
-#define SCSIOP_READ_REVERSE 0x0F
-#define SCSIOP_WRITE_FILEMARKS 0x10
-#define SCSIOP_FLUSH_BUFFER 0x10
-#define SCSIOP_SPACE 0x11
-#define SCSIOP_INQUIRY 0x12
-#define SCSIOP_VERIFY6 0x13
-#define SCSIOP_RECOVER_BUF_DATA 0x14
-#define SCSIOP_MODE_SELECT 0x15
-#define SCSIOP_RESERVE_UNIT 0x16
-#define SCSIOP_RELEASE_UNIT 0x17
-#define SCSIOP_COPY 0x18
-#define SCSIOP_ERASE 0x19
-#define SCSIOP_MODE_SENSE 0x1A
-#define SCSIOP_START_STOP_UNIT 0x1B
-#define SCSIOP_STOP_PRINT 0x1B
-#define SCSIOP_LOAD_UNLOAD 0x1B
-#define SCSIOP_RECEIVE_DIAGNOSTIC 0x1C
-#define SCSIOP_SEND_DIAGNOSTIC 0x1D
-#define SCSIOP_MEDIUM_REMOVAL 0x1E
-
-#define SCSIOP_READ_FORMATTED_CAPACITY 0x23
-#define SCSIOP_READ_CAPACITY 0x25
-#define SCSIOP_READ 0x28
-#define SCSIOP_WRITE 0x2A
-#define SCSIOP_SEEK 0x2B
-#define SCSIOP_LOCATE 0x2B
-#define SCSIOP_POSITION_TO_ELEMENT 0x2B
-#define SCSIOP_WRITE_VERIFY 0x2E
-#define SCSIOP_VERIFY 0x2F
-#define SCSIOP_SEARCH_DATA_HIGH 0x30
-#define SCSIOP_SEARCH_DATA_EQUAL 0x31
-#define SCSIOP_SEARCH_DATA_LOW 0x32
-#define SCSIOP_SET_LIMITS 0x33
-#define SCSIOP_READ_POSITION 0x34
-#define SCSIOP_SYNCHRONIZE_CACHE 0x35
-#define SCSIOP_COMPARE 0x39
-#define SCSIOP_COPY_COMPARE 0x3A
-#define SCSIOP_WRITE_DATA_BUFF 0x3B
-#define SCSIOP_READ_DATA_BUFF 0x3C
-#define SCSIOP_CHANGE_DEFINITION 0x40
-#define SCSIOP_READ_SUB_CHANNEL 0x42
-#define SCSIOP_READ_TOC 0x43
-#define SCSIOP_READ_HEADER 0x44
-#define SCSIOP_PLAY_AUDIO 0x45
-#define SCSIOP_GET_CONFIGURATION 0x46
-#define SCSIOP_PLAY_AUDIO_MSF 0x47
-#define SCSIOP_PLAY_TRACK_INDEX 0x48
-#define SCSIOP_PLAY_TRACK_RELATIVE 0x49
-#define SCSIOP_GET_EVENT_STATUS 0x4A
-#define SCSIOP_PAUSE_RESUME 0x4B
-#define SCSIOP_LOG_SELECT 0x4C
-#define SCSIOP_LOG_SENSE 0x4D
-#define SCSIOP_STOP_PLAY_SCAN 0x4E
-#define SCSIOP_READ_DISK_INFORMATION 0x51
-#define SCSIOP_READ_TRACK_INFORMATION 0x52
-#define SCSIOP_RESERVE_TRACK_RZONE 0x53
-#define SCSIOP_SEND_OPC_INFORMATION 0x54
-#define SCSIOP_MODE_SELECT10 0x55
-#define SCSIOP_MODE_SENSE10 0x5A
-#define SCSIOP_CLOSE_TRACK_SESSION 0x5B
-#define SCSIOP_READ_BUFFER_CAPACITY 0x5C
-#define SCSIOP_SEND_CUE_SHEET 0x5D
-#define SCSIOP_PERSISTENT_RESERVE_IN 0x5E
-#define SCSIOP_PERSISTENT_RESERVE_OUT 0x5F
-
-#define SCSIOP_REPORT_LUNS 0xA0
-#define SCSIOP_BLANK 0xA1
-#define SCSIOP_SEND_KEY 0xA3
-#define SCSIOP_REPORT_KEY 0xA4
-#define SCSIOP_MOVE_MEDIUM 0xA5
-#define SCSIOP_LOAD_UNLOAD_SLOT 0xA6
-#define SCSIOP_EXCHANGE_MEDIUM 0xA6
-#define SCSIOP_SET_READ_AHEAD 0xA7
-#define SCSIOP_READ_DVD_STRUCTURE 0xAD
-#define SCSIOP_REQUEST_VOL_ELEMENT 0xB5
-#define SCSIOP_SEND_VOLUME_TAG 0xB6
-#define SCSIOP_READ_ELEMENT_STATUS 0xB8
-#define SCSIOP_READ_CD_MSF 0xB9
-#define SCSIOP_SCAN_CD 0xBA
-#define SCSIOP_SET_CD_SPEED 0xBB
-#define SCSIOP_PLAY_CD 0xBC
-#define SCSIOP_MECHANISM_STATUS 0xBD
-#define SCSIOP_READ_CD 0xBE
-#define SCSIOP_SEND_DVD_STRUCTURE 0xBF
-#define SCSIOP_INIT_ELEMENT_RANGE 0xE7
-
-#define SCSIOP_DENON_EJECT_DISC 0xE6
-#define SCSIOP_DENON_STOP_AUDIO 0xE7
-#define SCSIOP_DENON_PLAY_AUDIO 0xE8
-#define SCSIOP_DENON_READ_TOC 0xE9
-#define SCSIOP_DENON_READ_SUBCODE 0xEB
-
-#define SCSIMESS_MODIFY_DATA_POINTER 0x00
-#define SCSIMESS_SYNCHRONOUS_DATA_REQ 0x01
-#define SCSIMESS_WIDE_DATA_REQUEST 0x03
-
-#define SCSIMESS_MODIFY_DATA_LENGTH 5
-#define SCSIMESS_SYNCH_DATA_LENGTH 3
-#define SCSIMESS_WIDE_DATA_LENGTH 2
-
-#define SCSIMESS_ABORT 0x06
-#define SCSIMESS_ABORT_WITH_TAG 0x0D
-#define SCSIMESS_BUS_DEVICE_RESET 0x0C
-#define SCSIMESS_CLEAR_QUEUE 0x0E
-#define SCSIMESS_COMMAND_COMPLETE 0x00
-#define SCSIMESS_DISCONNECT 0x04
-#define SCSIMESS_EXTENDED_MESSAGE 0x01
-#define SCSIMESS_IDENTIFY 0x80
-#define SCSIMESS_IDENTIFY_WITH_DISCON 0xC0
-#define SCSIMESS_IGNORE_WIDE_RESIDUE 0x23
-#define SCSIMESS_INITIATE_RECOVERY 0x0F
-#define SCSIMESS_INIT_DETECTED_ERROR 0x05
-#define SCSIMESS_LINK_CMD_COMP 0x0A
-#define SCSIMESS_LINK_CMD_COMP_W_FLAG 0x0B
-#define SCSIMESS_MESS_PARITY_ERROR 0x09
-#define SCSIMESS_MESSAGE_REJECT 0x07
-#define SCSIMESS_NO_OPERATION 0x08
-#define SCSIMESS_HEAD_OF_QUEUE_TAG 0x21
-#define SCSIMESS_ORDERED_QUEUE_TAG 0x22
-#define SCSIMESS_SIMPLE_QUEUE_TAG 0x20
-#define SCSIMESS_RELEASE_RECOVERY 0x10
-#define SCSIMESS_RESTORE_POINTERS 0x03
-#define SCSIMESS_SAVE_DATA_POINTER 0x02
-#define SCSIMESS_TERMINATE_IO_PROCESS 0x11
-
-#define CDB_FORCE_MEDIA_ACCESS 0x08
-
-#define CDB_RETURN_ON_COMPLETION 0
-#define CDB_RETURN_IMMEDIATE 1
-
-#define CDB_INQUIRY_EVPD 0x01
-
-#define LUN0_FORMAT_SAVING_DEFECT_LIST 0
-#define USE_DEFAULTMSB 0
-#define USE_DEFAULTLSB 0
-
-#define START_UNIT_CODE 0x01
-#define STOP_UNIT_CODE 0x00
-
-typedef struct _SENSE_DATA {
- UCHAR ErrorCode : 7;
- UCHAR Valid : 1;
- UCHAR SegmentNumber;
- UCHAR SenseKey : 4;
- UCHAR Reserved : 1;
- UCHAR IncorrectLength : 1;
- UCHAR EndOfMedia : 1;
- UCHAR FileMark : 1;
- UCHAR Information[4];
- UCHAR AdditionalSenseLength;
- UCHAR CommandSpecificInformation[4];
- UCHAR AdditionalSenseCode;
- UCHAR AdditionalSenseCodeQualifier;
- UCHAR FieldReplaceableUnitCode;
- UCHAR SenseKeySpecific[3];
-} SENSE_DATA, *PSENSE_DATA;
-
-#define SENSE_BUFFER_SIZE 18
-
-/* Sense codes */
-#define SCSI_SENSE_NO_SENSE 0x00
-#define SCSI_SENSE_RECOVERED_ERROR 0x01
-#define SCSI_SENSE_NOT_READY 0x02
-#define SCSI_SENSE_MEDIUM_ERROR 0x03
-#define SCSI_SENSE_HARDWARE_ERROR 0x04
-#define SCSI_SENSE_ILLEGAL_REQUEST 0x05
-#define SCSI_SENSE_UNIT_ATTENTION 0x06
-#define SCSI_SENSE_DATA_PROTECT 0x07
-#define SCSI_SENSE_BLANK_CHECK 0x08
-#define SCSI_SENSE_UNIQUE 0x09
-#define SCSI_SENSE_COPY_ABORTED 0x0A
-#define SCSI_SENSE_ABORTED_COMMAND 0x0B
-#define SCSI_SENSE_EQUAL 0x0C
-#define SCSI_SENSE_VOL_OVERFLOW 0x0D
-#define SCSI_SENSE_MISCOMPARE 0x0E
-#define SCSI_SENSE_RESERVED 0x0F
-
-/* Additional tape bit */
-#define SCSI_ILLEGAL_LENGTH 0x20
-#define SCSI_EOM 0x40
-#define SCSI_FILE_MARK 0x80
-
-/* Additional Sense codes */
-#define SCSI_ADSENSE_NO_SENSE 0x00
-#define SCSI_ADSENSE_NO_SEEK_COMPLETE 0x02
-#define SCSI_ADSENSE_LUN_NOT_READY 0x04
-#define SCSI_ADSENSE_WRITE_ERROR 0x0C
-#define SCSI_ADSENSE_TRACK_ERROR 0x14
-#define SCSI_ADSENSE_SEEK_ERROR 0x15
-#define SCSI_ADSENSE_REC_DATA_NOECC 0x17
-#define SCSI_ADSENSE_REC_DATA_ECC 0x18
-#define SCSI_ADSENSE_ILLEGAL_COMMAND 0x20
-#define SCSI_ADSENSE_ILLEGAL_BLOCK 0x21
-#define SCSI_ADSENSE_INVALID_CDB 0x24
-#define SCSI_ADSENSE_INVALID_LUN 0x25
-#define SCSI_ADSENSE_WRITE_PROTECT 0x27
-#define SCSI_ADSENSE_MEDIUM_CHANGED 0x28
-#define SCSI_ADSENSE_BUS_RESET 0x29
-#define SCSI_ADSENSE_INSUFFICIENT_TIME_FOR_OPERATION 0x2E
-#define SCSI_ADSENSE_INVALID_MEDIA 0x30
-#define SCSI_ADSENSE_NO_MEDIA_IN_DEVICE 0x3a
-#define SCSI_ADSENSE_POSITION_ERROR 0x3b
-#define SCSI_ADSENSE_OPERATOR_REQUEST 0x5a
-#define SCSI_ADSENSE_FAILURE_PREDICTION_THRESHOLD_EXCEEDED 0x5d
-#define SCSI_ADSENSE_ILLEGAL_MODE_FOR_THIS_TRACK 0x64
-#define SCSI_ADSENSE_COPY_PROTECTION_FAILURE 0x6f
-#define SCSI_ADSENSE_POWER_CALIBRATION_ERROR 0x73
-#define SCSI_ADSENSE_VENDOR_UNIQUE 0x80
-#define SCSI_ADSENSE_MUSIC_AREA 0xA0
-#define SCSI_ADSENSE_DATA_AREA 0xA1
-#define SCSI_ADSENSE_VOLUME_OVERFLOW 0xA7
-
-#define SCSI_SENSEQ_CAUSE_NOT_REPORTABLE 0x00
-#define SCSI_SENSEQ_BECOMING_READY 0x01
-#define SCSI_SENSEQ_INIT_COMMAND_REQUIRED 0x02
-#define SCSI_SENSEQ_MANUAL_INTERVENTION_REQUIRED 0x03
-#define SCSI_SENSEQ_FORMAT_IN_PROGRESS 0x04
-#define SCSI_SENSEQ_REBUILD_IN_PROGRESS 0x05
-#define SCSI_SENSEQ_RECALCULATION_IN_PROGRESS 0x06
-#define SCSI_SENSEQ_OPERATION_IN_PROGRESS 0x07
-#define SCSI_SENSEQ_LONG_WRITE_IN_PROGRESS 0x08
-#define SCSI_SENSEQ_LOSS_OF_STREAMING 0x09
-#define SCSI_SENSEQ_PADDING_BLOCKS_ADDED 0x0A
-
-
-#define FILE_DEVICE_SCSI 0x0000001b
-
-#define IOCTL_SCSI_EXECUTE_IN ((FILE_DEVICE_SCSI << 16) + 0x0011)
-#define IOCTL_SCSI_EXECUTE_OUT ((FILE_DEVICE_SCSI << 16) + 0x0012)
-#define IOCTL_SCSI_EXECUTE_NONE ((FILE_DEVICE_SCSI << 16) + 0x0013)
-
-/* SMART support in ATAPI */
-#define IOCTL_SCSI_MINIPORT_SMART_VERSION ((FILE_DEVICE_SCSI << 16) + 0x0500)
-#define IOCTL_SCSI_MINIPORT_IDENTIFY ((FILE_DEVICE_SCSI << 16) + 0x0501)
-#define IOCTL_SCSI_MINIPORT_READ_SMART_ATTRIBS ((FILE_DEVICE_SCSI << 16) + 0x0502)
-#define IOCTL_SCSI_MINIPORT_READ_SMART_THRESHOLDS ((FILE_DEVICE_SCSI << 16) + 0x0503)
-#define IOCTL_SCSI_MINIPORT_ENABLE_SMART ((FILE_DEVICE_SCSI << 16) + 0x0504)
-#define IOCTL_SCSI_MINIPORT_DISABLE_SMART ((FILE_DEVICE_SCSI << 16) + 0x0505)
-#define IOCTL_SCSI_MINIPORT_RETURN_STATUS ((FILE_DEVICE_SCSI << 16) + 0x0506)
-#define IOCTL_SCSI_MINIPORT_ENABLE_DISABLE_AUTOSAVE ((FILE_DEVICE_SCSI << 16) + 0x0507)
-#define IOCTL_SCSI_MINIPORT_SAVE_ATTRIBUTE_VALUES ((FILE_DEVICE_SCSI << 16) + 0x0508)
-#define IOCTL_SCSI_MINIPORT_EXECUTE_OFFLINE_DIAGS ((FILE_DEVICE_SCSI << 16) + 0x0509)
-#define IOCTL_SCSI_MINIPORT_ENABLE_DISABLE_AUTO_OFFLINE ((FILE_DEVICE_SCSI << 16) + 0x050a)
-#define IOCTL_SCSI_MINIPORT_READ_SMART_LOG ((FILE_DEVICE_SCSI << 16) + 0x050b)
-#define IOCTL_SCSI_MINIPORT_WRITE_SMART_LOG ((FILE_DEVICE_SCSI << 16) + 0x050c)
-
-/* CLUSTER support */
-#define IOCTL_SCSI_MINIPORT_NOT_QUORUM_CAPABLE ((FILE_DEVICE_SCSI << 16) + 0x0520)
-#define IOCTL_SCSI_MINIPORT_NOT_CLUSTER_CAPABLE ((FILE_DEVICE_SCSI << 16) + 0x0521)
-
-/* READ_TOC formats */
-#define READ_TOC_FORMAT_TOC 0x00
-#define READ_TOC_FORMAT_SESSION 0x01
-#define READ_TOC_FORMAT_FULL_TOC 0x02
-#define READ_TOC_FORMAT_PMA 0x03
-#define READ_TOC_FORMAT_ATIP 0x04
-
-/* Read Capacity Data. Returned in Big Endian format */
-typedef struct _READ_CAPACITY_DATA {
- ULONG LogicalBlockAddress;
- ULONG BytesPerBlock;
-} READ_CAPACITY_DATA, *PREAD_CAPACITY_DATA;
-
-/* Read Block Limits Data. Returned in Big Endian format */
-typedef struct _READ_BLOCK_LIMITS {
- UCHAR Reserved;
- UCHAR BlockMaximumSize[3];
- UCHAR BlockMinimumSize[2];
-} READ_BLOCK_LIMITS_DATA, *PREAD_BLOCK_LIMITS_DATA;
-
-
-typedef struct _MODE_PARAMETER_HEADER {
- UCHAR ModeDataLength;
- UCHAR MediumType;
- UCHAR DeviceSpecificParameter;
- UCHAR BlockDescriptorLength;
-}MODE_PARAMETER_HEADER, *PMODE_PARAMETER_HEADER;
-
-typedef struct _MODE_PARAMETER_HEADER10 {
- UCHAR ModeDataLength[2];
- UCHAR MediumType;
- UCHAR DeviceSpecificParameter;
- UCHAR Reserved[2];
- UCHAR BlockDescriptorLength[2];
-} MODE_PARAMETER_HEADER10, *PMODE_PARAMETER_HEADER10;
-
-#define MODE_FD_SINGLE_SIDE 0x01
-#define MODE_FD_DOUBLE_SIDE 0x02
-#define MODE_FD_MAXIMUM_TYPE 0x1E
-#define MODE_DSP_FUA_SUPPORTED 0x10
-#define MODE_DSP_WRITE_PROTECT 0x80
-
-typedef struct _MODE_PARAMETER_BLOCK {
- UCHAR DensityCode;
- UCHAR NumberOfBlocks[3];
- UCHAR Reserved;
- UCHAR BlockLength[3];
-} MODE_PARAMETER_BLOCK, *PMODE_PARAMETER_BLOCK;
-
-typedef struct _MODE_DISCONNECT_PAGE {
- UCHAR PageCode : 6;
- UCHAR Reserved : 1;
- UCHAR PageSavable : 1;
- UCHAR PageLength;
- UCHAR BufferFullRatio;
- UCHAR BufferEmptyRatio;
- UCHAR BusInactivityLimit[2];
- UCHAR BusDisconnectTime[2];
- UCHAR BusConnectTime[2];
- UCHAR MaximumBurstSize[2];
- UCHAR DataTransferDisconnect : 2;
- UCHAR Reserved2[3];
-}MODE_DISCONNECT_PAGE, *PMODE_DISCONNECT_PAGE;
-
-typedef struct _MODE_CACHING_PAGE {
- UCHAR PageCode : 6;
- UCHAR Reserved : 1;
- UCHAR PageSavable : 1;
- UCHAR PageLength;
- UCHAR ReadDisableCache : 1;
- UCHAR MultiplicationFactor : 1;
- UCHAR WriteCacheEnable : 1;
- UCHAR Reserved2 : 5;
- UCHAR WriteRetensionPriority : 4;
- UCHAR ReadRetensionPriority : 4;
- UCHAR DisablePrefetchTransfer[2];
- UCHAR MinimumPrefetch[2];
- UCHAR MaximumPrefetch[2];
- UCHAR MaximumPrefetchCeiling[2];
-}MODE_CACHING_PAGE, *PMODE_CACHING_PAGE;
-
-typedef struct _MODE_CDROM_WRITE_PARAMETERS_PAGE {
- UCHAR PageLength;
- UCHAR WriteType : 4;
- UCHAR TestWrite : 1;
- UCHAR LinkSizeValid : 1;
- UCHAR BufferUnderrunFreeEnabled : 1;
- UCHAR Reserved2 : 1;
- UCHAR TrackMode : 4;
- UCHAR Copy : 1;
- UCHAR FixedPacket : 1;
- UCHAR MultiSession : 2;
- UCHAR DataBlockType : 4;
- UCHAR Reserved3 : 4;
- UCHAR LinkSize;
- UCHAR Reserved4;
- UCHAR HostApplicationCode : 6;
- UCHAR Reserved5 : 2;
- UCHAR SessionFormat;
- UCHAR Reserved6;
- UCHAR PacketSize[4];
- UCHAR AudioPauseLength[2];
- UCHAR Reserved7 : 7;
- UCHAR MediaCatalogNumberValid : 1;
- UCHAR MediaCatalogNumber[13];
- UCHAR MediaCatalogNumberZero;
- UCHAR MediaCatalogNumberAFrame;
- UCHAR Reserved8 : 7;
- UCHAR ISRCValid : 1;
- UCHAR ISRCCountry[2];
- UCHAR ISRCOwner[3];
- UCHAR ISRCRecordingYear[2];
- UCHAR ISRCSerialNumber[5];
- UCHAR ISRCZero;
- UCHAR ISRCAFrame;
- UCHAR ISRCReserved;
- UCHAR SubHeaderData[4];
-} MODE_CDROM_WRITE_PARAMETERS_PAGE, *PMODE_CDROM_WRITE_PARAMETERS_PAGE;
-
-typedef struct _MODE_FLEXIBLE_DISK_PAGE {
- UCHAR PageCode : 6;
- UCHAR Reserved : 1;
- UCHAR PageSavable : 1;
- UCHAR PageLength;
- UCHAR TransferRate[2];
- UCHAR NumberOfHeads;
- UCHAR SectorsPerTrack;
- UCHAR BytesPerSector[2];
- UCHAR NumberOfCylinders[2];
- UCHAR StartWritePrecom[2];
- UCHAR StartReducedCurrent[2];
- UCHAR StepRate[2];
- UCHAR StepPluseWidth;
- UCHAR HeadSettleDelay[2];
- UCHAR MotorOnDelay;
- UCHAR MotorOffDelay;
- UCHAR Reserved2 : 5;
- UCHAR MotorOnAsserted : 1;
- UCHAR StartSectorNumber : 1;
- UCHAR TrueReadySignal : 1;
- UCHAR StepPlusePerCyclynder : 4;
- UCHAR Reserved3 : 4;
- UCHAR WriteCompenstation;
- UCHAR HeadLoadDelay;
- UCHAR HeadUnloadDelay;
- UCHAR Pin2Usage : 4;
- UCHAR Pin34Usage : 4;
- UCHAR Pin1Usage : 4;
- UCHAR Pin4Usage : 4;
- UCHAR MediumRotationRate[2];
- UCHAR Reserved4[2];
-} MODE_FLEXIBLE_DISK_PAGE, *PMODE_FLEXIBLE_DISK_PAGE;
-
-typedef struct _MODE_FORMAT_PAGE {
- UCHAR PageCode : 6;
- UCHAR Reserved : 1;
- UCHAR PageSavable : 1;
- UCHAR PageLength;
- UCHAR TracksPerZone[2];
- UCHAR AlternateSectorsPerZone[2];
- UCHAR AlternateTracksPerZone[2];
- UCHAR AlternateTracksPerLogicalUnit[2];
- UCHAR SectorsPerTrack[2];
- UCHAR BytesPerPhysicalSector[2];
- UCHAR Interleave[2];
- UCHAR TrackSkewFactor[2];
- UCHAR CylinderSkewFactor[2];
- UCHAR Reserved2 : 4;
- UCHAR SurfaceFirst : 1;
- UCHAR RemovableMedia : 1;
- UCHAR HardSectorFormating : 1;
- UCHAR SoftSectorFormating : 1;
- UCHAR Reserved3[3];
-} MODE_FORMAT_PAGE, *PMODE_FORMAT_PAGE;
-
-typedef struct _MODE_RIGID_GEOMETRY_PAGE {
- UCHAR PageCode : 6;
- UCHAR Reserved : 1;
- UCHAR PageSavable : 1;
- UCHAR PageLength;
- UCHAR NumberOfCylinders[3];
- UCHAR NumberOfHeads;
- UCHAR StartWritePrecom[3];
- UCHAR StartReducedCurrent[3];
- UCHAR DriveStepRate[2];
- UCHAR LandZoneCyclinder[3];
- UCHAR RotationalPositionLock : 2;
- UCHAR Reserved2 : 6;
- UCHAR RotationOffset;
- UCHAR Reserved3;
- UCHAR RoataionRate[2];
- UCHAR Reserved4[2];
-} MODE_RIGID_GEOMETRY_PAGE, *PMODE_RIGID_GEOMETRY_PAGE;
-
-typedef struct _MODE_READ_WRITE_RECOVERY_PAGE {
- UCHAR PageCode : 6;
- UCHAR Reserved1 : 1;
- UCHAR PSBit : 1;
- UCHAR PageLength;
- UCHAR DCRBit : 1;
- UCHAR DTEBit : 1;
- UCHAR PERBit : 1;
- UCHAR EERBit : 1;
- UCHAR RCBit : 1;
- UCHAR TBBit : 1;
- UCHAR ARRE : 1;
- UCHAR AWRE : 1;
- UCHAR ReadRetryCount;
- UCHAR Reserved4[4];
- UCHAR WriteRetryCount;
- UCHAR Reserved5[3];
-} MODE_READ_WRITE_RECOVERY_PAGE, *PMODE_READ_WRITE_RECOVERY_PAGE;
-
-typedef struct _MODE_READ_RECOVERY_PAGE {
- UCHAR PageCode : 6;
- UCHAR Reserved1 : 1;
- UCHAR PSBit : 1;
- UCHAR PageLength;
- UCHAR DCRBit : 1;
- UCHAR DTEBit : 1;
- UCHAR PERBit : 1;
- UCHAR Reserved2 : 1;
- UCHAR RCBit : 1;
- UCHAR TBBit : 1;
- UCHAR Reserved3 : 2;
- UCHAR ReadRetryCount;
- UCHAR Reserved4[4];
-} MODE_READ_RECOVERY_PAGE, *PMODE_READ_RECOVERY_PAGE;
-
-typedef struct _MODE_INFO_EXCEPTIONS {
- UCHAR PageCode : 6;
- UCHAR Reserved1 : 1;
- UCHAR PSBit : 1;
- UCHAR PageLength;
- _ANONYMOUS_UNION union {
- UCHAR Flags;
- _ANONYMOUS_STRUCT struct {
- UCHAR LogErr : 1;
- UCHAR Reserved2 : 1;
- UCHAR Test : 1;
- UCHAR Dexcpt : 1;
- UCHAR Reserved3 : 3;
- UCHAR Perf : 1;
- } DUMMYSTRUCTNAME;
- } DUMMYUNIONNAME;
- UCHAR ReportMethod : 4;
- UCHAR Reserved4 : 4;
- UCHAR IntervalTimer[4];
- UCHAR ReportCount[4];
-} MODE_INFO_EXCEPTIONS, *PMODE_INFO_EXCEPTIONS;
-
-/* CDROM audio control */
-#define CDB_AUDIO_PAUSE 0x00
-#define CDB_AUDIO_RESUME 0x01
-#define CDB_DEVICE_START 0x11
-#define CDB_DEVICE_STOP 0x10
-#define CDB_EJECT_MEDIA 0x10
-#define CDB_LOAD_MEDIA 0x01
-#define CDB_SUBCHANNEL_HEADER 0x00
-#define CDB_SUBCHANNEL_BLOCK 0x01
-
-#define CDROM_AUDIO_CONTROL_PAGE 0x0E
-#define MODE_SELECT_IMMEDIATE 0x04
-#define MODE_SELECT_PFBIT 0x10
-
-#define CDB_USE_MSF 0x01
-
-typedef struct _PORT_OUTPUT {
- UCHAR ChannelSelection;
- UCHAR Volume;
-} PORT_OUTPUT, *PPORT_OUTPUT;
-
-typedef struct _AUDIO_OUTPUT {
- UCHAR CodePage;
- UCHAR ParameterLength;
- UCHAR Immediate;
- UCHAR Reserved[2];
- UCHAR LbaFormat;
- UCHAR LogicalBlocksPerSecond[2];
- PORT_OUTPUT PortOutput[4];
-} AUDIO_OUTPUT, *PAUDIO_OUTPUT;
-
-/* Multisession CDROMs */
-#define GET_LAST_SESSION 0x01
-#define GET_SESSION_DATA 0x02;
-
-/* Atapi 2.5 changers */
-typedef struct _MECHANICAL_STATUS_INFORMATION_HEADER {
- UCHAR CurrentSlot : 5;
- UCHAR ChangerState : 2;
- UCHAR Fault : 1;
- UCHAR Reserved : 5;
- UCHAR MechanismState : 3;
- UCHAR CurrentLogicalBlockAddress[3];
- UCHAR NumberAvailableSlots;
- UCHAR SlotTableLength[2];
-} MECHANICAL_STATUS_INFORMATION_HEADER, *PMECHANICAL_STATUS_INFORMATION_HEADER;
-
-typedef struct _SLOT_TABLE_INFORMATION {
- UCHAR DiscChanged : 1;
- UCHAR Reserved : 6;
- UCHAR DiscPresent : 1;
- UCHAR Reserved2[3];
-} SLOT_TABLE_INFORMATION, *PSLOT_TABLE_INFORMATION;
-
-typedef struct _MECHANICAL_STATUS {
- MECHANICAL_STATUS_INFORMATION_HEADER MechanicalStatusHeader;
- SLOT_TABLE_INFORMATION SlotTableInfo[1];
-} MECHANICAL_STATUS, *PMECHANICAL_STATUS;
-
-
-/* Tape definitions */
-typedef struct _TAPE_POSITION_DATA {
- UCHAR Reserved1 : 2;
- UCHAR BlockPositionUnsupported : 1;
- UCHAR Reserved2 : 3;
- UCHAR EndOfPartition : 1;
- UCHAR BeginningOfPartition : 1;
- UCHAR PartitionNumber;
- USHORT Reserved3;
- UCHAR FirstBlock[4];
- UCHAR LastBlock[4];
- UCHAR Reserved4;
- UCHAR NumberOfBlocks[3];
- UCHAR NumberOfBytes[4];
-} TAPE_POSITION_DATA, *PTAPE_POSITION_DATA;
-
-/* This structure is used to convert little endian ULONGs
- to SCSI CDB big endians values. */
-typedef union _EIGHT_BYTE {
- _ANONYMOUS_STRUCT struct {
- UCHAR Byte0;
- UCHAR Byte1;
- UCHAR Byte2;
- UCHAR Byte3;
- UCHAR Byte4;
- UCHAR Byte5;
- UCHAR Byte6;
- UCHAR Byte7;
- } DUMMYSTRUCTNAME;
- ULONGLONG AsULongLong;
-} EIGHT_BYTE, *PEIGHT_BYTE;
-
-typedef union _FOUR_BYTE {
- _ANONYMOUS_STRUCT struct {
- UCHAR Byte0;
- UCHAR Byte1;
- UCHAR Byte2;
- UCHAR Byte3;
- } DUMMYSTRUCTNAME;
- ULONG AsULong;
-} FOUR_BYTE, *PFOUR_BYTE;
-
-typedef union _TWO_BYTE {
- _ANONYMOUS_STRUCT struct {
- UCHAR Byte0;
- UCHAR Byte1;
- } DUMMYSTRUCTNAME;
- USHORT AsUShort;
-} TWO_BYTE, *PTWO_BYTE;
-
-/* Byte reversing macro for converting between
- big- and little-endian formats */
-#define REVERSE_BYTES_QUAD(Destination, Source) { \
- PEIGHT_BYTE _val1 = (PEIGHT_BYTE)(Destination); \
- PEIGHT_BYTE _val2 = (PEIGHT_BYTE)(Source); \
- _val1->Byte7 = _val2->Byte0; \
- _val1->Byte6 = _val2->Byte1; \
- _val1->Byte5 = _val2->Byte2; \
- _val1->Byte4 = _val2->Byte3; \
- _val1->Byte3 = _val2->Byte4; \
- _val1->Byte2 = _val2->Byte5; \
- _val1->Byte1 = _val2->Byte6; \
- _val1->Byte0 = _val2->Byte7; \
-}
-
-#define REVERSE_BYTES(Destination, Source) { \
- PFOUR_BYTE _val1 = (PFOUR_BYTE)(Destination); \
- PFOUR_BYTE _val2 = (PFOUR_BYTE)(Source); \
- _val1->Byte3 = _val2->Byte0; \
- _val1->Byte2 = _val2->Byte1; \
- _val1->Byte1 = _val2->Byte2; \
- _val1->Byte0 = _val2->Byte3; \
-}
-
-#define REVERSE_BYTES_SHORT(Destination, Source) { \
- PTWO_BYTE _val1 = (PTWO_BYTE)(Destination); \
- PTWO_BYTE _val2 = (PTWO_BYTE)(Source); \
- _val1->Byte1 = _val2->Byte0; \
- _val1->Byte0 = _val2->Byte1; \
-}
-
-#define REVERSE_SHORT(Short) { \
- UCHAR _val; \
- PTWO_BYTE _val2 = (PTWO_BYTE)(Short); \
- _val = _val2->Byte0; \
- _val2->Byte0 = _val2->Byte1; \
- _val2->Byte1 = _val; \
-}
-
-#define REVERSE_LONG(Long) { \
- UCHAR _val; \
- PFOUR_BYTE _val2 = (PFOUR_BYTE)(Long); \
- _val = _val2->Byte3; \
- _val2->Byte3 = _val2->Byte0; \
- _val2->Byte0 = _val; \
- _val = _val2->Byte2; \
- _val2->Byte2 = _val2->Byte1; \
- _val2->Byte1 = _val; \
-}
-
-#define WHICH_BIT(Data, Bit) { \
- UCHAR _val; \
- for (_val = 0; _val < 32; _val++) { \
- if (((Data) >> _val) == 1) { \
- break; \
- } \
- } \
- ASSERT(_val != 32); \
- (Bit) = _val; \
-}
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __SCSI_H */
diff --git a/winsup/w32api/include/ddk/scsiscan.h b/winsup/w32api/include/ddk/scsiscan.h
deleted file mode 100644
index 546832883..000000000
--- a/winsup/w32api/include/ddk/scsiscan.h
+++ /dev/null
@@ -1,130 +0,0 @@
-/*
- * scsiscan.h
- *
- * SCSI scanner driver 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 __SCSISCAN_H
-#define __SCSISCAN_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-
-#define IOCTL_SCSISCAN_CMD \
- CTL_CODE(FILE_DEVICE_SCANNER, SCSISCAN_CMD_CODE, METHOD_OUT_DIRECT, FILE_ANY_ACCESS)
-
-#define IOCTL_SCSISCAN_LOCKDEVICE \
- CTL_CODE(FILE_DEVICE_SCANNER, SCSISCAN_LOCKDEVICE, METHOD_OUT_DIRECT, FILE_ANY_ACCESS)
-
-#define IOCTL_SCSISCAN_SET_TIMEOUT \
- CTL_CODE(FILE_DEVICE_SCANNER, SCSISCAN_SET_TIMEOUT, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_SCSISCAN_GET_INFO \
- CTL_CODE(FILE_DEVICE_SCANNER, SCSISCAN_GET_INFO, METHOD_OUT_DIRECT, FILE_ANY_ACCESS)
-
-#define IOCTL_SCSISCAN_UNLOCKDEVICE \
- CTL_CODE(FILE_DEVICE_SCANNER, SCSISCAN_UNLOCKDEVICE, METHOD_OUT_DIRECT, FILE_ANY_ACCESS)
-
-
-/* SCSISCAN_CMD.SrbFlags constants */
-#define SRB_FLAGS_DISABLE_SYNCH_TRANSFER 0x00000008
-#define SRB_FLAGS_DISABLE_AUTOSENSE 0x00000020
-#define SRB_FLAGS_DATA_IN 0x00000040
-#define SRB_FLAGS_DATA_OUT 0x00000080
-#define SRB_FLAGS_NO_DATA_TRANSFER 0x00000000
-
-/* SCSISCAN_CMD.pSrbStatus constants */
-#define SRB_STATUS_PENDING 0x00
-#define SRB_STATUS_SUCCESS 0x01
-#define SRB_STATUS_ABORTED 0x02
-#define SRB_STATUS_ABORT_FAILED 0x03
-#define SRB_STATUS_ERROR 0x04
-#define SRB_STATUS_BUSY 0x05
-#define SRB_STATUS_INVALID_REQUEST 0x06
-#define SRB_STATUS_INVALID_PATH_ID 0x07
-#define SRB_STATUS_NO_DEVICE 0x08
-#define SRB_STATUS_TIMEOUT 0x09
-#define SRB_STATUS_SELECTION_TIMEOUT 0x0A
-#define SRB_STATUS_COMMAND_TIMEOUT 0x0B
-#define SRB_STATUS_MESSAGE_REJECTED 0x0D
-#define SRB_STATUS_BUS_RESET 0x0E
-#define SRB_STATUS_PARITY_ERROR 0x0F
-#define SRB_STATUS_REQUEST_SENSE_FAILED 0x10
-#define SRB_STATUS_NO_HBA 0x11
-#define SRB_STATUS_DATA_OVERRUN 0x12
-#define SRB_STATUS_UNEXPECTED_BUS_FREE 0x13
-#define SRB_STATUS_PHASE_SEQUENCE_FAILURE 0x14
-#define SRB_STATUS_BAD_SRB_BLOCK_LENGTH 0x15
-#define SRB_STATUS_REQUEST_FLUSHED 0x16
-#define SRB_STATUS_INVALID_LUN 0x20
-#define SRB_STATUS_INVALID_TARGET_ID 0x21
-#define SRB_STATUS_BAD_FUNCTION 0x22
-#define SRB_STATUS_ERROR_RECOVERY 0x23
-#define SRB_STATUS_QUEUE_FROZEN 0x40
-#define SRB_STATUS_AUTOSENSE_VALID 0x80
-
-#define SRB_STATUS(Status) (Status & ~(SRB_STATUS_AUTOSENSE_VALID | SRB_STATUS_QUEUE_FROZEN))
-
-typedef struct _SCSISCAN_CMD {
- ULONG Reserved1;
- ULONG Size;
- ULONG SrbFlags;
- UCHAR CdbLength;
- UCHAR SenseLength;
- UCHAR Reserved2;
- UCHAR Reserved3;
- ULONG TransferLength;
- UCHAR Cdb[16];
- PUCHAR pSrbStatus;
- PUCHAR pSenseBuffer;
-} SCSISCAN_CMD, *PSCSISCAN_CMD;
-
-#define MAX_STRING 128
-
-/* SCSISCAN_INFO.Flags constants */
-#define SCSISCAN_RESERVED 0x000
-#define SCSISCAN_CMD_CODE 0x004
-#define SCSISCAN_LOCKDEVICE 0x005
-#define SCSISCAN_UNLOCKDEVICE 0x006
-#define SCSISCAN_SET_TIMEOUT 0x007
-#define SCSISCAN_GET_INFO 0x008
-
-typedef struct _SCSISCAN_INFO {
- ULONG Size;
- ULONG Flags;
- UCHAR PortNumber;
- UCHAR PathId;
- UCHAR TargetId;
- UCHAR Lun;
- UCHAR AdapterName[MAX_STRING];
- ULONG Reserved;
-} SCSISCAN_INFO, *PSCSISCAN_INFO;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __SCSISCAN_H */
diff --git a/winsup/w32api/include/ddk/scsiwmi.h b/winsup/w32api/include/ddk/scsiwmi.h
deleted file mode 100644
index 7aae2a83a..000000000
--- a/winsup/w32api/include/ddk/scsiwmi.h
+++ /dev/null
@@ -1,215 +0,0 @@
-/*
- * scsiwmi.h
- *
- * SCSI WMILIB 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 __SCSIWMI_H
-#define __SCSIWMI_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#pragma pack(push,4)
-
-#include "ntddk.h"
-#include "srb.h"
-
-
-typedef struct _SCSIWMI_REQUEST_CONTEXT {
- PVOID UserContext;
- ULONG BufferSize;
- PUCHAR Buffer;
- UCHAR MinorFunction;
- UCHAR ReturnStatus;
- ULONG ReturnSize;
-} SCSIWMI_REQUEST_CONTEXT, *PSCSIWMI_REQUEST_CONTEXT;
-
-#ifdef _GUID_DEFINED
-# warning _GUID_DEFINED is deprecated, use GUID_DEFINED instead
-#endif
-
-#if ! (defined _GUID_DEFINED || defined GUID_DEFINED)
-#define GUID_DEFINED
-typedef struct _GUID {
- unsigned long Data1;
- unsigned short Data2;
- unsigned short Data3;
- unsigned char Data4[ 8 ];
-} GUID;
-#endif
-
-#ifndef _LPCGUID_DEFINED
-#define _LPCGUID_DEFINED
-typedef const GUID *LPCGUID;
-#endif
-
-typedef struct _SCSIWMIGUIDREGINFO {
- LPCGUID Guid;
- ULONG InstanceCount;
- ULONG Flags;
-} SCSIWMIGUIDREGINFO, *PSCSIWMIGUIDREGINFO;
-
-typedef UCHAR DDKAPI
-(*PSCSIWMI_QUERY_REGINFO)(
- /*IN*/ PVOID DeviceContext,
- /*IN*/ PSCSIWMI_REQUEST_CONTEXT RequestContext,
- /*OUT*/ PWCHAR *MofResourceName);
-
-typedef BOOLEAN DDKAPI
-(*PSCSIWMI_QUERY_DATABLOCK)(
- /*IN*/ PVOID Context,
- /*IN*/ PSCSIWMI_REQUEST_CONTEXT DispatchContext,
- /*IN*/ ULONG GuidIndex,
- /*IN*/ ULONG InstanceIndex,
- /*IN*/ ULONG InstanceCount,
- /*IN OUT*/ PULONG InstanceLengthArray,
- /*IN*/ ULONG BufferAvail,
- /*OUT*/ PUCHAR Buffer);
-
-typedef BOOLEAN DDKAPI
-(*PSCSIWMI_SET_DATABLOCK)(
- /*IN*/ PVOID DeviceContext,
- /*IN*/ PSCSIWMI_REQUEST_CONTEXT RequestContext,
- /*IN*/ ULONG GuidIndex,
- /*IN*/ ULONG InstanceIndex,
- /*IN*/ ULONG BufferSize,
- /*IN*/ PUCHAR Buffer);
-
-typedef BOOLEAN DDKAPI
-(*PSCSIWMI_SET_DATAITEM)(
- /*IN*/ PVOID DeviceContext,
- /*IN*/ PSCSIWMI_REQUEST_CONTEXT RequestContext,
- /*IN*/ ULONG GuidIndex,
- /*IN*/ ULONG InstanceIndex,
- /*IN*/ ULONG DataItemId,
- /*IN*/ ULONG BufferSize,
- /*IN*/ PUCHAR Buffer);
-
-typedef BOOLEAN DDKAPI
-(*PSCSIWMI_EXECUTE_METHOD)(
- /*IN*/ PVOID DeviceContext,
- /*IN*/ PSCSIWMI_REQUEST_CONTEXT RequestContext,
- /*IN*/ ULONG GuidIndex,
- /*IN*/ ULONG InstanceIndex,
- /*IN*/ ULONG MethodId,
- /*IN*/ ULONG InBufferSize,
- /*IN*/ ULONG OutBufferSize,
- /*IN OUT*/ PUCHAR Buffer);
-
-typedef enum _SCSIWMI_ENABLE_DISABLE_CONTROL {
- ScsiWmiEventControl,
- ScsiWmiDataBlockControl
-} SCSIWMI_ENABLE_DISABLE_CONTROL;
-
-typedef BOOLEAN DDKAPI
-(*PSCSIWMI_FUNCTION_CONTROL)(
- /*IN*/ PVOID DeviceContext,
- /*IN*/ PSCSIWMI_REQUEST_CONTEXT RequestContext,
- /*IN*/ ULONG GuidIndex,
- /*IN*/ SCSIWMI_ENABLE_DISABLE_CONTROL Function,
- /*IN*/ BOOLEAN Enable);
-
-typedef struct _SCSIWMILIB_CONTEXT {
- ULONG GuidCount;
- PSCSIWMIGUIDREGINFO GuidList;
- PSCSIWMI_QUERY_REGINFO QueryWmiRegInfo;
- PSCSIWMI_QUERY_DATABLOCK QueryWmiDataBlock;
- PSCSIWMI_SET_DATABLOCK SetWmiDataBlock;
- PSCSIWMI_SET_DATAITEM SetWmiDataItem;
- PSCSIWMI_EXECUTE_METHOD ExecuteWmiMethod;
- PSCSIWMI_FUNCTION_CONTROL WmiFunctionControl;
-} SCSI_WMILIB_CONTEXT, *PSCSI_WMILIB_CONTEXT;
-
-SCSIPORTAPI
-BOOLEAN
-DDKAPI
-ScsiPortWmiDispatchFunction(
- /*IN*/ PSCSI_WMILIB_CONTEXT WmiLibInfo,
- /*IN*/ UCHAR MinorFunction,
- /*IN*/ PVOID DeviceContext,
- /*IN*/ PSCSIWMI_REQUEST_CONTEXT RequestContext,
- /*IN*/ PVOID DataPath,
- /*IN*/ ULONG BufferSize,
- /*IN*/ PVOID Buffer);
-
-#define ScsiPortWmiFireAdapterEvent( \
- HwDeviceExtension, \
- Guid, \
- InstanceIndex, \
- EventDataSize, \
- EventData) \
- ScsiPortWmiFireLogicalUnitEvent( \
- HwDeviceExtension, \
- 0xff, \
- 0, \
- 0, \
- Guid, \
- InstanceIndex, \
- EventDataSize, \
- EventData)
-
-/*
- * ULONG
- * ScsiPortWmiGetReturnSize(
- * PSCSIWMI_REQUEST_CONTEXT RequestContext);
- */
-#define ScsiPortWmiGetReturnSize(RequestContext) \
- ((RequestContext)->ReturnSize)
-
-/* UCHAR
- * ScsiPortWmiGetReturnStatus(
- * PSCSIWMI_REQUEST_CONTEXT RequestContext);
- */
-#define ScsiPortWmiGetReturnStatus(RequestContext) \
- ((RequestContext)->ReturnStatus)
-
-SCSIPORTAPI
-VOID
-DDKAPI
-ScsiPortWmiPostProcess(
- /*IN*/ PSCSIWMI_REQUEST_CONTEXT RequestContext,
- /*IN*/ UCHAR SrbStatus,
- /*IN*/ ULONG BufferUsed);
-
-SCSIPORTAPI
-VOID
-DDKAPI
-ScsiPortWmiFireLogicalUnitEvent(
- /*IN*/ PVOID HwDeviceExtension,
- /*IN*/ UCHAR PathId,
- /*IN*/ UCHAR TargetId,
- /*IN*/ UCHAR Lun,
- /*IN*/ LPGUID Guid,
- /*IN*/ ULONG InstanceIndex,
- /*IN*/ ULONG EventDataSize,
- /*IN*/ PVOID EventData);
-
-#pragma pack(pop)
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __SCSIWMI_H */
diff --git a/winsup/w32api/include/ddk/smbus.h b/winsup/w32api/include/ddk/smbus.h
deleted file mode 100644
index a88d39736..000000000
--- a/winsup/w32api/include/ddk/smbus.h
+++ /dev/null
@@ -1,190 +0,0 @@
-/*
- * smbus.h
- *
- * System Management Bus driver 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 __SMBUS_H
-#define __SMBUS_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#if !defined(SMBCLASS)
- #define SMBCLASSAPI DECLSPEC_IMPORT
-#else
- #define SMBCLASSAPI DECLSPEC_EXPORT
-#endif
-
-#define SMB_BUS_REQUEST \
- CTL_CODE(FILE_DEVICE_UNKNOWN, 0, METHOD_NEITHER, FILE_ANY_ACCESS)
-
-#define SMB_DEREGISTER_ALARM_NOTIFY \
- CTL_CODE(FILE_DEVICE_UNKNOWN, 2, METHOD_NEITHER, FILE_ANY_ACCESS)
-
-#define SMB_REGISTER_ALARM_NOTIFY \
- CTL_CODE(FILE_DEVICE_UNKNOWN, 1, METHOD_NEITHER, FILE_ANY_ACCESS)
-
-
-struct _SMB_CLASS;
-
-#define SMB_MAX_DATA_SIZE 32
-
-/* SMB_REQUEST.Status constants */
-#define SMB_STATUS_OK 0x00
-#define SMB_UNKNOWN_FAILURE 0x07
-#define SMB_ADDRESS_NOT_ACKNOWLEDGED 0x10
-#define SMB_DEVICE_ERROR 0x11
-#define SMB_COMMAND_ACCESS_DENIED 0x12
-#define SMB_UNKNOWN_ERROR 0x13
-#define SMB_DEVICE_ACCESS_DENIED 0x17
-#define SMB_TIMEOUT 0x18
-#define SMB_UNSUPPORTED_PROTOCOL 0x19
-#define SMB_BUS_BUSY 0x1A
-
-/* SMB_REQUEST.Protocol constants */
-#define SMB_WRITE_QUICK 0x00
-#define SMB_READ_QUICK 0x01
-#define SMB_SEND_BYTE 0x02
-#define SMB_RECEIVE_BYTE 0x03
-#define SMB_WRITE_BYTE 0x04
-#define SMB_READ_BYTE 0x05
-#define SMB_WRITE_WORD 0x06
-#define SMB_READ_WORD 0x07
-#define SMB_WRITE_BLOCK 0x08
-#define SMB_READ_BLOCK 0x09
-#define SMB_PROCESS_CALL 0x0A
-#define SMB_MAXIMUM_PROTOCOL 0x0A
-
-typedef struct _SMB_REQUEST {
- UCHAR Status;
- UCHAR Protocol;
- UCHAR Address;
- UCHAR Command;
- UCHAR BlockLength;
- UCHAR Data[SMB_MAX_DATA_SIZE];
-} SMB_REQUEST, *PSMB_REQUEST;
-
-typedef VOID STDCALL
-(*SMB_ALARM_NOTIFY)(
- PVOID Context,
- UCHAR Address,
- USHORT Data);
-
-typedef struct _SMB_REGISTER_ALARM {
- UCHAR MinAddress;
- UCHAR MaxAddress;
- SMB_ALARM_NOTIFY NotifyFunction;
- PVOID NotifyContext;
-} SMB_REGISTER_ALARM, *PSMB_REGISTER_ALARM;
-
-/* SMB_CLASS.XxxVersion constants */
-#define SMB_CLASS_MAJOR_VERSION 0x0001
-#define SMB_CLASS_MINOR_VERSION 0x0000
-
-typedef NTSTATUS DDKAPI
-(*SMB_RESET_DEVICE)(
- /*IN*/ struct _SMB_CLASS *SmbClass,
- /*IN*/ PVOID SmbMiniport);
-
-typedef VOID DDKAPI
-(*SMB_START_IO)(
- /*IN*/ struct _SMB_CLASS *SmbClass,
- /*IN*/ PVOID SmbMiniport);
-
-typedef NTSTATUS DDKAPI
-(*SMB_STOP_DEVICE)(
- /*IN*/ struct _SMB_CLASS *SmbClass,
- /*IN*/ PVOID SmbMiniport);
-
-typedef struct _SMB_CLASS {
- USHORT MajorVersion;
- USHORT MinorVersion;
- PVOID Miniport;
- PDEVICE_OBJECT DeviceObject;
- PDEVICE_OBJECT PDO;
- PDEVICE_OBJECT LowerDeviceObject;
- PIRP CurrentIrp;
- PSMB_REQUEST CurrentSmb;
- SMB_RESET_DEVICE ResetDevice;
- SMB_START_IO StartIo;
- SMB_STOP_DEVICE StopDevice;
-} SMB_CLASS, *PSMB_CLASS;
-
-SMBCLASSAPI
-VOID
-DDKAPI
-SmbClassAlarm(
- /*IN*/ PSMB_CLASS SmbClass,
- /*IN*/ UCHAR Address,
- /*IN*/ USHORT Data);
-
-SMBCLASSAPI
-VOID
-DDKAPI
-SmbClassCompleteRequest(
- /*IN*/ PSMB_CLASS SmbClass);
-
-typedef NTSTATUS DDKAPI
-(*PSMB_INITIALIZE_MINIPORT)(
- /*IN*/ PSMB_CLASS SmbClass,
- /*IN*/ PVOID MiniportExtension,
- /*IN*/ PVOID MiniportContext);
-
-SMBCLASSAPI
-NTSTATUS
-DDKAPI
-SmbClassCreateFdo(
- /*IN*/ PDRIVER_OBJECT DriverObject,
- /*IN*/ PDEVICE_OBJECT PDO,
- /*IN*/ ULONG MiniportExtensionSize,
- /*IN*/ PSMB_INITIALIZE_MINIPORT MiniportInitialize,
- /*IN*/ PVOID MiniportContext,
- /*OUT*/ PDEVICE_OBJECT *FDO);
-
-SMBCLASSAPI
-NTSTATUS
-DDKAPI
-SmbClassInitializeDevice(
- /*IN*/ ULONG MajorVersion,
- /*IN*/ ULONG MinorVersion,
- /*IN*/ PDRIVER_OBJECT DriverObject);
-
-SMBCLASSAPI
-VOID
-DDKAPI
-SmbClassLockDevice(
- /*IN*/ PSMB_CLASS SmbClass);
-
-SMBCLASSAPI
-VOID
-DDKAPI
-SmbClassUnlockDevice(
- /*IN*/ PSMB_CLASS SmbClass);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __SMBUS_H */
diff --git a/winsup/w32api/include/ddk/srb.h b/winsup/w32api/include/ddk/srb.h
deleted file mode 100644
index a93854c88..000000000
--- a/winsup/w32api/include/ddk/srb.h
+++ /dev/null
@@ -1,753 +0,0 @@
-/*
- * scsi.h
- *
- * Interface between SCSI miniport drivers and the SCSI port driver.
- *
- * 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 __SRB_H
-#define __SRB_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-
-#if defined(_SCSIPORT_)
- #define SCSIPORTAPI DECLSPEC_EXPORT
-#else
- #define SCSIPORTAPI DECLSPEC_IMPORT
-#endif
-
-#ifdef DBG
-#define DebugPrint(x) ScsiDebugPrint x
-#else
-#define DebugPrint(x)
-#endif
-
-typedef PHYSICAL_ADDRESS SCSI_PHYSICAL_ADDRESS, *PSCSI_PHYSICAL_ADDRESS;
-
-#define SP_UNINITIALIZED_VALUE ((ULONG) ~0)
-#define SP_UNTAGGED ((UCHAR) ~0)
-
-#define SRB_SIMPLE_TAG_REQUEST 0x20
-#define SRB_HEAD_OF_QUEUE_TAG_REQUEST 0x21
-#define SRB_ORDERED_QUEUE_TAG_REQUEST 0x22
-
-#define SRB_STATUS_QUEUE_FROZEN 0x40
-#define SRB_STATUS_AUTOSENSE_VALID 0x80
-
-#define SRB_STATUS(Status) \
- (Status & ~(SRB_STATUS_AUTOSENSE_VALID | SRB_STATUS_QUEUE_FROZEN))
-
-#define MAXIMUM_CDB_SIZE 12
-
-#ifdef DBG
-#define SCSI_PORT_SIGNATURE 0x54524f50
-#endif
-
-
-#define SCSI_MAXIMUM_LOGICAL_UNITS 8
-#define SCSI_MAXIMUM_TARGETS_PER_BUS 128
-#define SCSI_MAXIMUM_LUNS_PER_TARGET 255
-#define SCSI_MAXIMUM_BUSES 8
-#define SCSI_MINIMUM_PHYSICAL_BREAKS 16
-#define SCSI_MAXIMUM_PHYSICAL_BREAKS 255
-#define SCSI_MAXIMUM_TARGETS 8
-
-#define SRB_FUNCTION_WMI 0x17
-
-#define SRB_WMI_FLAGS_ADAPTER_REQUEST 0x0001
-
-#define SP_BUS_PARITY_ERROR 0x0001
-#define SP_UNEXPECTED_DISCONNECT 0x0002
-#define SP_INVALID_RESELECTION 0x0003
-#define SP_BUS_TIME_OUT 0x0004
-#define SP_PROTOCOL_ERROR 0x0005
-#define SP_INTERNAL_ADAPTER_ERROR 0x0006
-#define SP_REQUEST_TIMEOUT 0x0007
-#define SP_IRQ_NOT_RESPONDING 0x0008
-#define SP_BAD_FW_WARNING 0x0009
-#define SP_BAD_FW_ERROR 0x000a
-#define SP_LOST_WMI_MINIPORT_REQUEST 0x000b
-
-/* SCSI_REQUEST_BLOCK.Function constants */
-#define SRB_FUNCTION_EXECUTE_SCSI 0x00
-#define SRB_FUNCTION_CLAIM_DEVICE 0x01
-#define SRB_FUNCTION_IO_CONTROL 0x02
-#define SRB_FUNCTION_RECEIVE_EVENT 0x03
-#define SRB_FUNCTION_RELEASE_QUEUE 0x04
-#define SRB_FUNCTION_ATTACH_DEVICE 0x05
-#define SRB_FUNCTION_RELEASE_DEVICE 0x06
-#define SRB_FUNCTION_SHUTDOWN 0x07
-#define SRB_FUNCTION_FLUSH 0x08
-#define SRB_FUNCTION_ABORT_COMMAND 0x10
-#define SRB_FUNCTION_RELEASE_RECOVERY 0x11
-#define SRB_FUNCTION_RESET_BUS 0x12
-#define SRB_FUNCTION_RESET_DEVICE 0x13
-#define SRB_FUNCTION_TERMINATE_IO 0x14
-#define SRB_FUNCTION_FLUSH_QUEUE 0x15
-#define SRB_FUNCTION_REMOVE_DEVICE 0x16
-#define SRB_FUNCTION_WMI 0x17
-#define SRB_FUNCTION_LOCK_QUEUE 0x18
-#define SRB_FUNCTION_UNLOCK_QUEUE 0x19
-#define SRB_FUNCTION_RESET_LOGICAL_UNIT 0x20
-
-/* SCSI_REQUEST_BLOCK.SrbStatus constants */
-#define SRB_STATUS_PENDING 0x00
-#define SRB_STATUS_SUCCESS 0x01
-#define SRB_STATUS_ABORTED 0x02
-#define SRB_STATUS_ABORT_FAILED 0x03
-#define SRB_STATUS_ERROR 0x04
-#define SRB_STATUS_BUSY 0x05
-#define SRB_STATUS_INVALID_REQUEST 0x06
-#define SRB_STATUS_INVALID_PATH_ID 0x07
-#define SRB_STATUS_NO_DEVICE 0x08
-#define SRB_STATUS_TIMEOUT 0x09
-#define SRB_STATUS_SELECTION_TIMEOUT 0x0A
-#define SRB_STATUS_COMMAND_TIMEOUT 0x0B
-#define SRB_STATUS_MESSAGE_REJECTED 0x0D
-#define SRB_STATUS_BUS_RESET 0x0E
-#define SRB_STATUS_PARITY_ERROR 0x0F
-#define SRB_STATUS_REQUEST_SENSE_FAILED 0x10
-#define SRB_STATUS_NO_HBA 0x11
-#define SRB_STATUS_DATA_OVERRUN 0x12
-#define SRB_STATUS_UNEXPECTED_BUS_FREE 0x13
-#define SRB_STATUS_PHASE_SEQUENCE_FAILURE 0x14
-#define SRB_STATUS_BAD_SRB_BLOCK_LENGTH 0x15
-#define SRB_STATUS_REQUEST_FLUSHED 0x16
-#define SRB_STATUS_INVALID_LUN 0x20
-#define SRB_STATUS_INVALID_TARGET_ID 0x21
-#define SRB_STATUS_BAD_FUNCTION 0x22
-#define SRB_STATUS_ERROR_RECOVERY 0x23
-#define SRB_STATUS_NOT_POWERED 0x24
-#define SRB_STATUS_INTERNAL_ERROR 0x30
-
-/* SCSI_REQUEST_BLOCK.SrbFlags constants */
-#define SRB_FLAGS_QUEUE_ACTION_ENABLE 0x00000002
-#define SRB_FLAGS_DISABLE_DISCONNECT 0x00000004
-#define SRB_FLAGS_DISABLE_SYNCH_TRANSFER 0x00000008
-#define SRB_FLAGS_BYPASS_FROZEN_QUEUE 0x00000010
-#define SRB_FLAGS_DISABLE_AUTOSENSE 0x00000020
-#define SRB_FLAGS_DATA_IN 0x00000040
-#define SRB_FLAGS_DATA_OUT 0x00000080
-#define SRB_FLAGS_NO_DATA_TRANSFER 0x00000000
-#define SRB_FLAGS_UNSPECIFIED_DIRECTION (SRB_FLAGS_DATA_IN | SRB_FLAGS_DATA_OUT)
-#define SRB_FLAGS_NO_QUEUE_FREEZE 0x00000100
-#define SRB_FLAGS_ADAPTER_CACHE_ENABLE 0x00000200
-#define SRB_FLAGS_FREE_SENSE_BUFFER 0x00000400
-#define SRB_FLAGS_IS_ACTIVE 0x00010000
-#define SRB_FLAGS_ALLOCATED_FROM_ZONE 0x00020000
-#define SRB_FLAGS_SGLIST_FROM_POOL 0x00040000
-#define SRB_FLAGS_BYPASS_LOCKED_QUEUE 0x00080000
-#define SRB_FLAGS_NO_KEEP_AWAKE 0x00100000
-#define SRB_FLAGS_PORT_DRIVER_ALLOCSENSE 0x00200000
-#define SRB_FLAGS_PORT_DRIVER_SENSEHASPORT 0x00400000
-#define SRB_FLAGS_DONT_START_NEXT_PACKET 0x00800000
-#define SRB_FLAGS_PORT_DRIVER_RESERVED 0x0F000000
-#define SRB_FLAGS_CLASS_DRIVER_RESERVED 0xF0000000
-
-typedef struct _SCSI_REQUEST_BLOCK {
- USHORT Length;
- UCHAR Function;
- UCHAR SrbStatus;
- UCHAR ScsiStatus;
- UCHAR PathId;
- UCHAR TargetId;
- UCHAR Lun;
- UCHAR QueueTag;
- UCHAR QueueAction;
- UCHAR CdbLength;
- UCHAR SenseInfoBufferLength;
- ULONG SrbFlags;
- ULONG DataTransferLength;
- ULONG TimeOutValue;
- PVOID DataBuffer;
- PVOID SenseInfoBuffer;
- struct _SCSI_REQUEST_BLOCK *NextSrb;
- PVOID OriginalRequest;
- PVOID SrbExtension;
- _ANONYMOUS_UNION union {
- ULONG InternalStatus;
- ULONG QueueSortKey;
- } DUMMYUNIONNAME;
-#if defined(_WIN64)
- ULONG Reserved;
-#endif
- UCHAR Cdb[16];
-} SCSI_REQUEST_BLOCK, *PSCSI_REQUEST_BLOCK;
-
-#define SCSI_REQUEST_BLOCK_SIZE sizeof(SCSI_REQUEST_BLOCK)
-
-typedef struct _ACCESS_RANGE {
- SCSI_PHYSICAL_ADDRESS RangeStart;
- ULONG RangeLength;
- BOOLEAN RangeInMemory;
-} ACCESS_RANGE, *PACCESS_RANGE;
-
-/* PORT_CONFIGURATION_INFORMATION.Dma64BitAddresses constants */
-#define SCSI_DMA64_MINIPORT_SUPPORTED 0x01
-#define SCSI_DMA64_SYSTEM_SUPPORTED 0x80
-
-typedef struct _PORT_CONFIGURATION_INFORMATION {
- ULONG Length;
- ULONG SystemIoBusNumber;
- INTERFACE_TYPE AdapterInterfaceType;
- ULONG BusInterruptLevel;
- ULONG BusInterruptVector;
- KINTERRUPT_MODE InterruptMode;
- ULONG MaximumTransferLength;
- ULONG NumberOfPhysicalBreaks;
- ULONG DmaChannel;
- ULONG DmaPort;
- DMA_WIDTH DmaWidth;
- DMA_SPEED DmaSpeed;
- ULONG AlignmentMask;
- ULONG NumberOfAccessRanges;
- ACCESS_RANGE (*AccessRanges)[];
- PVOID Reserved;
- UCHAR NumberOfBuses;
- UCHAR InitiatorBusId[8];
- BOOLEAN ScatterGather;
- BOOLEAN Master;
- BOOLEAN CachesData;
- BOOLEAN AdapterScansDown;
- BOOLEAN AtdiskPrimaryClaimed;
- BOOLEAN AtdiskSecondaryClaimed;
- BOOLEAN Dma32BitAddresses;
- BOOLEAN DemandMode;
- BOOLEAN MapBuffers;
- BOOLEAN NeedPhysicalAddresses;
- BOOLEAN TaggedQueuing;
- BOOLEAN AutoRequestSense;
- BOOLEAN MultipleRequestPerLu;
- BOOLEAN ReceiveEvent;
- BOOLEAN RealModeInitialized;
- BOOLEAN BufferAccessScsiPortControlled;
- UCHAR MaximumNumberOfTargets;
- UCHAR ReservedUchars[2];
- ULONG SlotNumber;
- ULONG BusInterruptLevel2;
- ULONG BusInterruptVector2;
- KINTERRUPT_MODE InterruptMode2;
- ULONG DmaChannel2;
- ULONG DmaPort2;
- DMA_WIDTH DmaWidth2;
- DMA_SPEED DmaSpeed2;
- ULONG DeviceExtensionSize;
- ULONG SpecificLuExtensionSize;
- ULONG SrbExtensionSize;
- UCHAR Dma64BitAddresses;
- BOOLEAN ResetTargetSupported;
- UCHAR MaximumNumberOfLogicalUnits;
- BOOLEAN WmiDataProvider;
-} PORT_CONFIGURATION_INFORMATION, *PPORT_CONFIGURATION_INFORMATION;
-
-#define CONFIG_INFO_VERSION_2 sizeof(PORT_CONFIGURATION_INFORMATION)
-
-typedef enum _SCSI_NOTIFICATION_TYPE {
- RequestComplete,
- NextRequest,
- NextLuRequest,
- ResetDetected,
- CallDisableInterrupts,
- CallEnableInterrupts,
- RequestTimerCall,
- BusChangeDetected,
- WMIEvent,
- WMIReregister
-} SCSI_NOTIFICATION_TYPE, *PSCSI_NOTIFICATION_TYPE;
-
-#ifdef __GNUC__
-__extension__ /* enums limited to range of integer */
-#endif
-typedef enum _SCSI_ADAPTER_CONTROL_TYPE {
- ScsiQuerySupportedControlTypes = 0,
- ScsiStopAdapter,
- ScsiRestartAdapter,
- ScsiSetBootConfig,
- ScsiSetRunningConfig,
- ScsiAdapterControlMax,
- MakeAdapterControlTypeSizeOfUlong = 0xffffffff
-} SCSI_ADAPTER_CONTROL_TYPE, *PSCSI_ADAPTER_CONTROL_TYPE;
-
-typedef enum _SCSI_ADAPTER_CONTROL_STATUS {
- ScsiAdapterControlSuccess = 0,
- ScsiAdapterControlUnsuccessful
-} SCSI_ADAPTER_CONTROL_STATUS, *PSCSI_ADAPTER_CONTROL_STATUS;
-
-typedef struct _SCSI_SUPPORTED_CONTROL_TYPE_LIST {
- ULONG MaxControlType;
- BOOLEAN SupportedTypeList[0];
-} SCSI_SUPPORTED_CONTROL_TYPE_LIST, *PSCSI_SUPPORTED_CONTROL_TYPE_LIST;
-
-typedef SCSI_ADAPTER_CONTROL_STATUS DDKAPI
-(*PHW_ADAPTER_CONTROL)(
- /*IN*/ PVOID DeviceExtension,
- /*IN*/ SCSI_ADAPTER_CONTROL_TYPE ControlType,
- /*IN*/ PVOID Parameters);
-
-typedef BOOLEAN DDKAPI
-(*PHW_ADAPTER_STATE)(
- /*IN*/ PVOID DeviceExtension,
- /*IN*/ PVOID Context,
- /*IN*/ BOOLEAN SaveState);
-
-#define SP_RETURN_NOT_FOUND 0
-#define SP_RETURN_FOUND 1
-#define SP_RETURN_ERROR 2
-#define SP_RETURN_BAD_CONFIG 3
-
-typedef ULONG DDKAPI
-(*PHW_FIND_ADAPTER)(
- /*IN*/ PVOID DeviceExtension,
- /*IN*/ PVOID HwContext,
- /*IN*/ PVOID BusInformation,
- /*IN*/ PCHAR ArgumentString,
- /*IN OUT*/ PPORT_CONFIGURATION_INFORMATION ConfigInfo,
- /*OUT*/ PBOOLEAN Again);
-
-typedef BOOLEAN DDKAPI
-(*PHW_INITIALIZE)(
- /*IN*/ PVOID DeviceExtension);
-
-typedef BOOLEAN DDKAPI
-(*PHW_INTERRUPT)(
- /*IN*/ PVOID DeviceExtension);
-
-typedef BOOLEAN DDKAPI
-(*PHW_RESET_BUS)(
- /*IN*/ PVOID DeviceExtension,
- /*IN*/ ULONG PathId);
-
-typedef VOID DDKAPI
-(*PHW_DMA_STARTED)(
- /*IN*/ PVOID DeviceExtension);
-
-typedef BOOLEAN DDKAPI
-(*PHW_STARTIO)(
- /*IN*/ PVOID DeviceExtension,
- /*IN*/ PSCSI_REQUEST_BLOCK Srb);
-
-typedef VOID DDKAPI
-(*PHW_TIMER)(
- /*IN*/ PVOID DeviceExtension);
-
-typedef struct _HW_INITIALIZATION_DATA {
- ULONG HwInitializationDataSize;
- INTERFACE_TYPE AdapterInterfaceType;
- PHW_INITIALIZE HwInitialize;
- PHW_STARTIO HwStartIo;
- PHW_INTERRUPT HwInterrupt;
- PHW_FIND_ADAPTER HwFindAdapter;
- PHW_RESET_BUS HwResetBus;
- PHW_DMA_STARTED HwDmaStarted;
- PHW_ADAPTER_STATE HwAdapterState;
- ULONG DeviceExtensionSize;
- ULONG SpecificLuExtensionSize;
- ULONG SrbExtensionSize;
- ULONG NumberOfAccessRanges;
- PVOID Reserved;
- BOOLEAN MapBuffers;
- BOOLEAN NeedPhysicalAddresses;
- BOOLEAN TaggedQueuing;
- BOOLEAN AutoRequestSense;
- BOOLEAN MultipleRequestPerLu;
- BOOLEAN ReceiveEvent;
- USHORT VendorIdLength;
- PVOID VendorId;
- USHORT ReservedUshort;
- USHORT DeviceIdLength;
- PVOID DeviceId;
- PHW_ADAPTER_CONTROL HwAdapterControl;
-} HW_INITIALIZATION_DATA, *PHW_INITIALIZATION_DATA;
-
-SCSIPORTAPI
-VOID
-DDKAPI
-ScsiPortCompleteRequest(
- /*IN*/ PVOID HwDeviceExtension,
- /*IN*/ UCHAR PathId,
- /*IN*/ UCHAR TargetId,
- /*IN*/ UCHAR Lun,
- /*IN*/ UCHAR SrbStatus);
-
-/*
- * ULONG
- * ScsiPortConvertPhysicalAddressToUlong(
- * IN SCSI_PHYSICAL_ADDRESS Address);
- */
-#define ScsiPortConvertPhysicalAddressToUlong(Address) ((Address).LowPart)
-
-SCSIPORTAPI
-SCSI_PHYSICAL_ADDRESS
-DDKAPI
-ScsiPortConvertUlongToPhysicalAddress(
- /*IN*/ ULONG UlongAddress);
-
-SCSIPORTAPI
-VOID
-DDKAPI
-ScsiPortFlushDma(
- /*IN*/ PVOID DeviceExtension);
-
-SCSIPORTAPI
-VOID
-DDKAPI
-ScsiPortFreeDeviceBase(
- /*IN*/ PVOID HwDeviceExtension,
- /*IN*/ PVOID MappedAddress);
-
-SCSIPORTAPI
-ULONG
-DDKAPI
-ScsiPortGetBusData(
- /*IN*/ PVOID DeviceExtension,
- /*IN*/ ULONG BusDataType,
- /*IN*/ ULONG SystemIoBusNumber,
- /*IN*/ ULONG SlotNumber,
- /*IN*/ PVOID Buffer,
- /*IN*/ ULONG Length);
-
-SCSIPORTAPI
-PVOID
-DDKAPI
-ScsiPortGetDeviceBase(
- /*IN*/ PVOID HwDeviceExtension,
- /*IN*/ INTERFACE_TYPE BusType,
- /*IN*/ ULONG SystemIoBusNumber,
- /*IN*/ SCSI_PHYSICAL_ADDRESS IoAddress,
- /*IN*/ ULONG NumberOfBytes,
- /*IN*/ BOOLEAN InIoSpace);
-
-SCSIPORTAPI
-PVOID
-DDKAPI
-ScsiPortGetLogicalUnit(
- /*IN*/ PVOID HwDeviceExtension,
- /*IN*/ UCHAR PathId,
- /*IN*/ UCHAR TargetId,
- /*IN*/ UCHAR Lun);
-
-SCSIPORTAPI
-SCSI_PHYSICAL_ADDRESS
-DDKAPI
-ScsiPortGetPhysicalAddress(
- /*IN*/ PVOID HwDeviceExtension,
- /*IN*/ PSCSI_REQUEST_BLOCK Srb /*OPTIONAL*/,
- /*IN*/ PVOID VirtualAddress,
- /*OUT*/ ULONG *Length);
-
-SCSIPORTAPI
-PSCSI_REQUEST_BLOCK
-DDKAPI
-ScsiPortGetSrb(
- /*IN*/ PVOID DeviceExtension,
- /*IN*/ UCHAR PathId,
- /*IN*/ UCHAR TargetId,
- /*IN*/ UCHAR Lun,
- /*IN*/ LONG QueueTag);
-
-SCSIPORTAPI
-PVOID
-DDKAPI
-ScsiPortGetUncachedExtension(
- /*IN*/ PVOID HwDeviceExtension,
- /*IN*/ PPORT_CONFIGURATION_INFORMATION ConfigInfo,
- /*IN*/ ULONG NumberOfBytes);
-
-SCSIPORTAPI
-PVOID
-DDKAPI
-ScsiPortGetVirtualAddress(
- /*IN*/ PVOID HwDeviceExtension,
- /*IN*/ SCSI_PHYSICAL_ADDRESS PhysicalAddress);
-
-SCSIPORTAPI
-ULONG
-DDKAPI
-ScsiPortInitialize(
- /*IN*/ PVOID Argument1,
- /*IN*/ PVOID Argument2,
- /*IN*/ struct _HW_INITIALIZATION_DATA *HwInitializationData,
- /*IN*/ PVOID HwContext /*OPTIONAL*/);
-
-SCSIPORTAPI
-VOID
-DDKAPI
-ScsiPortIoMapTransfer(
- /*IN*/ PVOID HwDeviceExtension,
- /*IN*/ PSCSI_REQUEST_BLOCK Srb,
- /*IN*/ ULONG LogicalAddress,
- /*IN*/ ULONG Length);
-
-SCSIPORTAPI
-VOID
-DDKAPI
-ScsiPortLogError(
- /*IN*/ PVOID HwDeviceExtension,
- /*IN*/ PSCSI_REQUEST_BLOCK Srb /*OPTIONAL*/,
- /*IN*/ UCHAR PathId,
- /*IN*/ UCHAR TargetId,
- /*IN*/ UCHAR Lun,
- /*IN*/ ULONG ErrorCode,
- /*IN*/ ULONG UniqueId);
-
-SCSIPORTAPI
-VOID
-DDKAPI
-ScsiPortMoveMemory(
- /*IN*/ PVOID WriteBuffer,
- /*IN*/ PVOID ReadBuffer,
- /*IN*/ ULONG Length);
-
-SCSIPORTAPI
-VOID
-DDKCDECLAPI
-ScsiPortNotification(
- /*IN*/ SCSI_NOTIFICATION_TYPE NotificationType,
- /*IN*/ PVOID HwDeviceExtension,
- /*IN*/ ...);
-
-SCSIPORTAPI
-VOID
-DDKAPI
-ScsiPortQuerySystemTime(
- /*OUT*/ PLARGE_INTEGER CurrentTime);
-
-SCSIPORTAPI
-VOID
-DDKAPI
-ScsiPortReadPortBufferUchar(
- /*IN*/ PUCHAR Port,
- /*IN*/ PUCHAR Buffer,
- /*IN*/ ULONG Count);
-
-SCSIPORTAPI
-VOID
-DDKAPI
-ScsiPortReadPortBufferUlong(
- /*IN*/ PULONG Port,
- /*IN*/ PULONG Buffer,
- /*IN*/ ULONG Count);
-
-SCSIPORTAPI
-VOID
-DDKAPI
-ScsiPortReadPortBufferUshort(
- /*IN*/ PUSHORT Port,
- /*IN*/ PUSHORT Buffer,
- /*IN*/ ULONG Count);
-
-SCSIPORTAPI
-UCHAR
-DDKAPI
-ScsiPortReadPortUchar(
- /*IN*/ PUCHAR Port);
-
-SCSIPORTAPI
-ULONG
-DDKAPI
-ScsiPortReadPortUlong(
- /*IN*/ PULONG Port);
-
-SCSIPORTAPI
-USHORT
-DDKAPI
-ScsiPortReadPortUshort(
- /*IN*/ PUSHORT Port);
-
-SCSIPORTAPI
-VOID
-DDKAPI
-ScsiPortReadRegisterBufferUchar(
- /*IN*/ PUCHAR Register,
- /*IN*/ PUCHAR Buffer,
- /*IN*/ ULONG Count);
-
-SCSIPORTAPI
-VOID
-DDKAPI
-ScsiPortReadRegisterBufferUlong(
- /*IN*/ PULONG Register,
- /*IN*/ PULONG Buffer,
- /*IN*/ ULONG Count);
-
-SCSIPORTAPI
-VOID
-DDKAPI
-ScsiPortReadRegisterBufferUshort(
- /*IN*/ PUSHORT Register,
- /*IN*/ PUSHORT Buffer,
- /*IN*/ ULONG Count);
-
-SCSIPORTAPI
-UCHAR
-DDKAPI
-ScsiPortReadRegisterUchar(
- /*IN*/ PUCHAR Register);
-
-SCSIPORTAPI
-ULONG
-DDKAPI
-ScsiPortReadRegisterUlong(
- /*IN*/ PULONG Register);
-
-SCSIPORTAPI
-USHORT
-DDKAPI
-ScsiPortReadRegisterUshort(
- /*IN*/ PUSHORT Register);
-
-SCSIPORTAPI
-ULONG
-DDKAPI
-ScsiPortSetBusDataByOffset(
- /*IN*/ PVOID DeviceExtension,
- /*IN*/ ULONG BusDataType,
- /*IN*/ ULONG SystemIoBusNumber,
- /*IN*/ ULONG SlotNumber,
- /*IN*/ PVOID Buffer,
- /*IN*/ ULONG Offset,
- /*IN*/ ULONG Length);
-
-SCSIPORTAPI
-VOID
-DDKAPI
-ScsiPortStallExecution(
- /*IN*/ ULONG Delay);
-
-SCSIPORTAPI
-BOOLEAN
-DDKAPI
-ScsiPortValidateRange(
- /*IN*/ PVOID HwDeviceExtension,
- /*IN*/ INTERFACE_TYPE BusType,
- /*IN*/ ULONG SystemIoBusNumber,
- /*IN*/ SCSI_PHYSICAL_ADDRESS IoAddress,
- /*IN*/ ULONG NumberOfBytes,
- /*IN*/ BOOLEAN InIoSpace);
-
-SCSIPORTAPI
-VOID
-DDKAPI
-ScsiPortWritePortBufferUchar(
- /*IN*/ PUCHAR Port,
- /*IN*/ PUCHAR Buffer,
- /*IN*/ ULONG Count);
-
-SCSIPORTAPI
-VOID
-DDKAPI
-ScsiPortWritePortBufferUlong(
- /*IN*/ PULONG Port,
- /*IN*/ PULONG Buffer,
- /*IN*/ ULONG Count);
-
-SCSIPORTAPI
-VOID
-DDKAPI
-ScsiPortWritePortBufferUshort(
- /*IN*/ PUSHORT Port,
- /*IN*/ PUSHORT Buffer,
- /*IN*/ ULONG Count);
-
-SCSIPORTAPI
-VOID
-DDKAPI
-ScsiPortWritePortUchar(
- /*IN*/ PUCHAR Port,
- /*IN*/ UCHAR Value);
-
-SCSIPORTAPI
-VOID
-DDKAPI
-ScsiPortWritePortUlong(
- /*IN*/ PULONG Port,
- /*IN*/ ULONG Value);
-
-SCSIPORTAPI
-VOID
-DDKAPI
-ScsiPortWritePortUshort(
- /*IN*/ PUSHORT Port,
- /*IN*/ USHORT Value);
-
-SCSIPORTAPI
-VOID
-DDKAPI
-ScsiPortWriteRegisterBufferUchar(
- /*IN*/ PUCHAR Register,
- /*IN*/ PUCHAR Buffer,
- /*IN*/ ULONG Count);
-
-SCSIPORTAPI
-VOID
-DDKAPI
-ScsiPortWriteRegisterBufferUlong(
- /*IN*/ PULONG Register,
- /*IN*/ PULONG Buffer,
- /*IN*/ ULONG Count);
-
-SCSIPORTAPI
-VOID
-DDKAPI
-ScsiPortWriteRegisterBufferUshort(
- /*IN*/ PUSHORT Register,
- /*IN*/ PUSHORT Buffer,
- /*IN*/ ULONG Count);
-
-SCSIPORTAPI
-VOID
-DDKAPI
-ScsiPortWriteRegisterUchar(
- /*IN*/ PUCHAR Register,
- /*IN*/ ULONG Value);
-
-SCSIPORTAPI
-VOID
-DDKAPI
-ScsiPortWriteRegisterUlong(
- /*IN*/ PULONG Register,
- /*IN*/ ULONG Value);
-
-SCSIPORTAPI
-VOID
-DDKAPI
-ScsiPortWriteRegisterUshort(
- /*IN*/ PUSHORT Register,
- /*IN*/ USHORT Value);
-
-SCSIPORTAPI
-VOID
-DDKCDECLAPI
-ScsiDebugPrint(
- /*IN*/ ULONG DebugPrintLevel,
- /*IN*/ PCCHAR DebugMessage,
- /*IN*/ ...);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __SRB_H */
diff --git a/winsup/w32api/include/ddk/storport.h b/winsup/w32api/include/ddk/storport.h
deleted file mode 100644
index a7df9a1f3..000000000
--- a/winsup/w32api/include/ddk/storport.h
+++ /dev/null
@@ -1,422 +0,0 @@
-/*
- * 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 */
diff --git a/winsup/w32api/include/ddk/tdi.h b/winsup/w32api/include/ddk/tdi.h
deleted file mode 100644
index 0a48b41a2..000000000
--- a/winsup/w32api/include/ddk/tdi.h
+++ /dev/null
@@ -1,593 +0,0 @@
-/*
- * tdi.h
- *
- * TDI user mode definitions
- *
- * 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 __TDI_H
-#define __TDI_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-#include "ntddtdi.h"
-#include "tdistat.h"
-#include "netpnp.h"
-
-/* Basic types */
-
-typedef LONG TDI_STATUS;
-typedef PVOID CONNECTION_CONTEXT;
-
-typedef struct _TDI_CONNECTION_INFORMATION {
- LONG UserDataLength;
- PVOID UserData;
- LONG OptionsLength;
- PVOID Options;
- LONG RemoteAddressLength;
- PVOID RemoteAddress;
-} TDI_CONNECTION_INFORMATION, *PTDI_CONNECTION_INFORMATION;
-
-typedef struct _TDI_REQUEST {
- union {
- HANDLE AddressHandle;
- CONNECTION_CONTEXT ConnectionContext;
- HANDLE ControlChannel;
- } Handle;
- PVOID RequestNotifyObject;
- PVOID RequestContext;
- TDI_STATUS TdiStatus;
-} TDI_REQUEST, *PTDI_REQUEST;
-
-typedef struct _TDI_REQUEST_STATUS {
- TDI_STATUS Status;
- PVOID RequestContext;
- ULONG BytesTransferred;
-} TDI_REQUEST_STATUS, *PTDI_REQUEST_STATUS;
-
-typedef struct _TDI_CONNECT_REQUEST {
- TDI_REQUEST Request;
- PTDI_CONNECTION_INFORMATION RequestConnectionInformation;
- PTDI_CONNECTION_INFORMATION ReturnConnectionInformation;
- LARGE_INTEGER Timeout;
-} TDI_REQUEST_CONNECT, *PTDI_REQUEST_CONNECT;
-
-typedef struct _TDI_REQUEST_ACCEPT {
- TDI_REQUEST Request;
- PTDI_CONNECTION_INFORMATION RequestConnectionInformation;
- PTDI_CONNECTION_INFORMATION ReturnConnectionInformation;
-} TDI_REQUEST_ACCEPT, *PTDI_REQUEST_ACCEPT;
-
-typedef struct _TDI_REQUEST_LISTEN {
- TDI_REQUEST Request;
- PTDI_CONNECTION_INFORMATION RequestConnectionInformation;
- PTDI_CONNECTION_INFORMATION ReturnConnectionInformation;
- USHORT ListenFlags;
-} TDI_REQUEST_LISTEN, *PTDI_REQUEST_LISTEN;
-
-typedef struct _TDI_DISCONNECT_REQUEST {
- TDI_REQUEST Request;
- LARGE_INTEGER Timeout;
-} TDI_REQUEST_DISCONNECT, *PTDI_REQUEST_DISCONNECT;
-
-typedef struct _TDI_REQUEST_SEND {
- TDI_REQUEST Request;
- USHORT SendFlags;
-} TDI_REQUEST_SEND, *PTDI_REQUEST_SEND;
-
-typedef struct _TDI_REQUEST_RECEIVE {
- TDI_REQUEST Request;
- USHORT ReceiveFlags;
-} TDI_REQUEST_RECEIVE, *PTDI_REQUEST_RECEIVE;
-
-typedef struct _TDI_REQUEST_SEND_DATAGRAM {
- TDI_REQUEST Request;
- PTDI_CONNECTION_INFORMATION SendDatagramInformation;
-} TDI_REQUEST_SEND_DATAGRAM, *PTDI_REQUEST_SEND_DATAGRAM;
-
-typedef struct _TDI_REQUEST_RECEIVE_DATAGRAM {
- TDI_REQUEST Request;
- PTDI_CONNECTION_INFORMATION ReceiveDatagramInformation;
- PTDI_CONNECTION_INFORMATION ReturnInformation;
- USHORT ReceiveFlags;
-} TDI_REQUEST_RECEIVE_DATAGRAM, *PTDI_REQUEST_RECEIVE_DATAGRAM;
-
-typedef struct _TDI_REQUEST_SET_EVENT {
- TDI_REQUEST Request;
- LONG EventType;
- PVOID EventHandler;
- PVOID EventContext;
-} TDI_REQUEST_SET_EVENT_HANDLER, *PTDI_REQUEST_SET_EVENT_HANDLER;
-
-#define TDI_RECEIVE_BROADCAST 0x00000004
-#define TDI_RECEIVE_MULTICAST 0x00000008
-#define TDI_RECEIVE_PARTIAL 0x00000010
-#define TDI_RECEIVE_NORMAL 0x00000020
-#define TDI_RECEIVE_EXPEDITED 0x00000040
-#define TDI_RECEIVE_PEEK 0x00000080
-#define TDI_RECEIVE_NO_RESPONSE_EXP 0x00000100
-#define TDI_RECEIVE_COPY_LOOKAHEAD 0x00000200
-#define TDI_RECEIVE_ENTIRE_MESSAGE 0x00000400
-#define TDI_RECEIVE_AT_DISPATCH_LEVEL 0x00000800
-#define TDI_RECEIVE_CONTROL_INFO 0x00001000
-
-/* Listen flags */
-#define TDI_QUERY_ACCEPT 0x00000001
-
-/* Options used for both SendOptions and ReceiveIndicators */
-#define TDI_SEND_EXPEDITED 0x0020
-#define TDI_SEND_PARTIAL 0x0040
-#define TDI_SEND_NO_RESPONSE_EXPECTED 0x0080
-#define TDI_SEND_NON_BLOCKING 0x0100
-#define TDI_SEND_AND_DISCONNECT 0x0200
-
-/* Disconnect Flags */
-#define TDI_DISCONNECT_WAIT 0x0001
-#define TDI_DISCONNECT_ABORT 0x0002
-#define TDI_DISCONNECT_RELEASE 0x0004
-
-/* TdiRequest structure for TdiQueryInformation request */
-typedef struct _TDI_REQUEST_QUERY_INFORMATION {
- TDI_REQUEST Request;
- ULONG QueryType;
- PTDI_CONNECTION_INFORMATION RequestConnectionInformation;
-} TDI_REQUEST_QUERY_INFORMATION, *PTDI_REQUEST_QUERY_INFORMATION;
-
-/* TdiRequest structure for TdiSetInformation request */
-typedef struct _TDI_REQUEST_SET_INFORMATION {
- TDI_REQUEST Request;
- ULONG SetType;
- PTDI_CONNECTION_INFORMATION RequestConnectionInformation;
-} TDI_REQUEST_SET_INFORMATION, *PTDI_REQUEST_SET_INFORMATION;
-
-typedef TDI_REQUEST_SET_INFORMATION TDI_REQ_SET_INFORMATION, *PTDI_REQ_SET_INFORMATION;
-
-typedef union _TDI_REQUEST_TYPE {
- TDI_REQUEST_ACCEPT TdiAccept;
- TDI_REQUEST_CONNECT TdiConnect;
- TDI_REQUEST_DISCONNECT TdiDisconnect;
- TDI_REQUEST_LISTEN TdiListen;
- TDI_REQUEST_QUERY_INFORMATION TdiQueryInformation;
- TDI_REQUEST_RECEIVE TdiReceive;
- TDI_REQUEST_RECEIVE_DATAGRAM TdiReceiveDatagram;
- TDI_REQUEST_SEND TdiSend;
- TDI_REQUEST_SEND_DATAGRAM TdiSendDatagram;
- TDI_REQUEST_SET_EVENT_HANDLER TdiSetEventHandler;
- TDI_REQUEST_SET_INFORMATION TdiSetInformation;
-} TDI_REQUEST_TYPE, *PTDI_REQUEST_TYPE;
-
-/* Query information types */
-
-/* Generic query info types that must be supported by all transports */
-#define TDI_QUERY_BROADCAST_ADDRESS 0x00000001
-#define TDI_QUERY_PROVIDER_INFO 0x00000002
-#define TDI_QUERY_ADDRESS_INFO 0x00000003
-#define TDI_QUERY_CONNECTION_INFO 0x00000004
-#define TDI_QUERY_PROVIDER_STATISTICS 0x00000005
-#define TDI_QUERY_DATAGRAM_INFO 0x00000006
-#define TDI_QUERY_DATA_LINK_ADDRESS 0x00000007
-#define TDI_QUERY_NETWORK_ADDRESS 0x00000008
-#define TDI_QUERY_MAX_DATAGRAM_INFO 0x00000009
-
-/* Netbios specific query information types */
-#define TDI_QUERY_ADAPTER_STATUS 0x00000100
-#define TDI_QUERY_SESSION_STATUS 0x00000200
-#define TDI_QUERY_FIND_NAME 0x00000300
-
-/* Structures used for TdiQueryInformation and TdiSetInformation */
-
-typedef struct _TDI_ENDPOINT_INFO {
- ULONG State;
- ULONG Event;
- ULONG TransmittedTsdus;
- ULONG ReceivedTsdus;
- ULONG TransmissionErrors;
- ULONG ReceiveErrors;
- ULONG MinimumLookaheadData;
- ULONG MaximumLookaheadData;
- ULONG PriorityLevel;
- ULONG SecurityLevel;
- ULONG SecurityCompartment;
-} TDI_ENDPOINT_INFO, *PTDI_ENDPOINT_INFO;
-
-typedef struct _TDI_CONNECTION_INFO {
- ULONG State;
- ULONG Event;
- ULONG TransmittedTsdus;
- ULONG ReceivedTsdus;
- ULONG TransmissionErrors;
- ULONG ReceiveErrors;
- LARGE_INTEGER Throughput;
- LARGE_INTEGER Delay;
- ULONG SendBufferSize;
- ULONG ReceiveBufferSize;
- BOOLEAN Unreliable;
-} TDI_CONNECTION_INFO, *PTDI_CONNECTION_INFO;
-
-typedef struct _TDI_DATAGRAM_INFO {
- ULONG MaximumDatagramBytes;
- ULONG MaximumDatagramCount;
-} TDI_DATAGRAM_INFO, *PTDI_DATAGRAM_INFO;
-
-typedef struct _TDI_MAX_DATAGRAM_INFO {
- ULONG MaxDatagramSize;
-} TDI_MAX_DATAGRAM_INFO, *PTDI_MAX_DATAGRAM_INFO;
-
-typedef struct _TDI_PROVIDER_INFO {
- ULONG Version;
- ULONG MaxSendSize;
- ULONG MaxConnectionUserData;
- ULONG MaxDatagramSize;
- ULONG ServiceFlags;
- ULONG MinimumLookaheadData;
- ULONG MaximumLookaheadData;
- ULONG NumberOfResources;
- LARGE_INTEGER StartTime;
-} TDI_PROVIDER_INFO, *PTDI_PROVIDER_INFO;
-
-#define TDI_SERVICE_CONNECTION_MODE 0x00000001
-#define TDI_SERVICE_ORDERLY_RELEASE 0x00000002
-#define TDI_SERVICE_CONNECTIONLESS_MODE 0x00000004
-#define TDI_SERVICE_ERROR_FREE_DELIVERY 0x00000008
-#define TDI_SERVICE_SECURITY_LEVEL 0x00000010
-#define TDI_SERVICE_BROADCAST_SUPPORTED 0x00000020
-#define TDI_SERVICE_MULTICAST_SUPPORTED 0x00000040
-#define TDI_SERVICE_DELAYED_ACCEPTANCE 0x00000080
-#define TDI_SERVICE_EXPEDITED_DATA 0x00000100
-#define TDI_SERVICE_INTERNAL_BUFFERING 0x00000200
-#define TDI_SERVICE_ROUTE_DIRECTED 0x00000400
-#define TDI_SERVICE_NO_ZERO_LENGTH 0x00000800
-#define TDI_SERVICE_POINT_TO_POINT 0x00001000
-#define TDI_SERVICE_MESSAGE_MODE 0x00002000
-#define TDI_SERVICE_HALF_DUPLEX 0x00004000
-#define TDI_SERVICE_DGRAM_CONNECTION 0x00008000
-#define TDI_SERVICE_FORCE_ACCESS_CHECK 0x00010000
-#define TDI_SERVICE_SEND_AND_DISCONNECT 0x00020000
-#define TDI_SERVICE_DIRECT_ACCEPT 0x00040000
-#define TDI_SERVICE_ACCEPT_LOCAL_ADDR 0x00080000
-
-typedef struct _TDI_PROVIDER_RESOURCE_STATS {
- ULONG ResourceId;
- ULONG MaximumResourceUsed;
- ULONG AverageResourceUsed;
- ULONG ResourceExhausted;
-} TDI_PROVIDER_RESOURCE_STATS, *PTDI_PROVIDER_RESOURCE_STATS;
-
-typedef struct _TDI_PROVIDER_STATISTICS {
- ULONG Version;
- ULONG OpenConnections;
- ULONG ConnectionsAfterNoRetry;
- ULONG ConnectionsAfterRetry;
- ULONG LocalDisconnects;
- ULONG RemoteDisconnects;
- ULONG LinkFailures;
- ULONG AdapterFailures;
- ULONG SessionTimeouts;
- ULONG CancelledConnections;
- ULONG RemoteResourceFailures;
- ULONG LocalResourceFailures;
- ULONG NotFoundFailures;
- ULONG NoListenFailures;
- ULONG DatagramsSent;
- LARGE_INTEGER DatagramBytesSent;
- ULONG DatagramsReceived;
- LARGE_INTEGER DatagramBytesReceived;
- ULONG PacketsSent;
- ULONG PacketsReceived;
- ULONG DataFramesSent;
- LARGE_INTEGER DataFrameBytesSent;
- ULONG DataFramesReceived;
- LARGE_INTEGER DataFrameBytesReceived;
- ULONG DataFramesResent;
- LARGE_INTEGER DataFrameBytesResent;
- ULONG DataFramesRejected;
- LARGE_INTEGER DataFrameBytesRejected;
- ULONG ResponseTimerExpirations;
- ULONG AckTimerExpirations;
- ULONG MaximumSendWindow;
- ULONG AverageSendWindow;
- ULONG PiggybackAckQueued;
- ULONG PiggybackAckTimeouts;
- LARGE_INTEGER WastedPacketSpace;
- ULONG WastedSpacePackets;
- ULONG NumberOfResources;
- TDI_PROVIDER_RESOURCE_STATS ResourceStats[1];
-} TDI_PROVIDER_STATISTICS, *PTDI_PROVIDER_STATISTICS;
-
-#define TDI_EVENT_CONNECT 0
-#define TDI_EVENT_DISCONNECT 1
-#define TDI_EVENT_ERROR 2
-#define TDI_EVENT_RECEIVE 3
-#define TDI_EVENT_RECEIVE_DATAGRAM 4
-#define TDI_EVENT_RECEIVE_EXPEDITED 5
-#define TDI_EVENT_SEND_POSSIBLE 6
-
-typedef struct _TDI_REQUEST_ASSOCIATE {
- TDI_REQUEST Request;
- HANDLE AddressHandle;
-} TDI_REQUEST_ASSOCIATE_ADDRESS, *PTDI_REQUEST_ASSOCIATE_ADDRESS;
-
-#define NDIS_PACKET_POOL_TAG_FOR_NWLNKIPX 'iPDN'
-#define NDIS_PACKET_POOL_TAG_FOR_NWLNKSPX 'sPDN'
-#define NDIS_PACKET_POOL_TAG_FOR_NWLNKNB 'nPDN'
-#define NDIS_PACKET_POOL_TAG_FOR_TCPIP 'tPDN'
-#define NDIS_PACKET_POOL_TAG_FOR_NBF 'bPDN'
-#define NDIS_PACKET_POOL_TAG_FOR_APPLETALK 'aPDN'
-
-typedef struct _TA_ADDRESS {
- USHORT AddressLength;
- USHORT AddressType;
- UCHAR Address[1];
-} TA_ADDRESS, *PTA_ADDRESS;
-
-#define TDI_ADDRESS_TYPE_UNSPEC 0
-#define TDI_ADDRESS_TYPE_UNIX 1
-#define TDI_ADDRESS_TYPE_IP 2
-#define TDI_ADDRESS_TYPE_IMPLINK 3
-#define TDI_ADDRESS_TYPE_PUP 4
-#define TDI_ADDRESS_TYPE_CHAOS 5
-#define TDI_ADDRESS_TYPE_NS 6
-#define TDI_ADDRESS_TYPE_IPX 6
-#define TDI_ADDRESS_TYPE_NBS 7
-#define TDI_ADDRESS_TYPE_ECMA 8
-#define TDI_ADDRESS_TYPE_DATAKIT 9
-#define TDI_ADDRESS_TYPE_CCITT 10
-#define TDI_ADDRESS_TYPE_SNA 11
-#define TDI_ADDRESS_TYPE_DECnet 12
-#define TDI_ADDRESS_TYPE_DLI 13
-#define TDI_ADDRESS_TYPE_LAT 14
-#define TDI_ADDRESS_TYPE_HYLINK 15
-#define TDI_ADDRESS_TYPE_APPLETALK 16
-#define TDI_ADDRESS_TYPE_NETBIOS 17
-#define TDI_ADDRESS_TYPE_8022 18
-#define TDI_ADDRESS_TYPE_OSI_TSAP 19
-#define TDI_ADDRESS_TYPE_NETONE 20
-#define TDI_ADDRESS_TYPE_VNS 21
-#define TDI_ADDRESS_TYPE_NETBIOS_EX 22
-#define TDI_ADDRESS_TYPE_IP6 23
-#define TDI_ADDRESS_TYPE_NETBIOS_UNICODE_EX 24
-
-#define TdiTransportAddress "TransportAddress"
-#define TdiConnectionContext "ConnectionContext"
-#define TDI_TRANSPORT_ADDRESS_LENGTH (sizeof(TdiTransportAddress) - 1)
-#define TDI_CONNECTION_CONTEXT_LENGTH (sizeof(TdiConnectionContext) - 1)
-
-typedef struct _TRANSPORT_ADDRESS {
- LONG TAAddressCount;
- TA_ADDRESS Address[1];
-} TRANSPORT_ADDRESS, *PTRANSPORT_ADDRESS;
-
-typedef struct _TDI_ACTION_HEADER {
- ULONG TransportId;
- USHORT ActionCode;
- USHORT Reserved;
-} TDI_ACTION_HEADER, *PTDI_ACTION_HEADER;
-
-typedef struct _TDI_ADDRESS_INFO {
- ULONG ActivityCount;
- TRANSPORT_ADDRESS Address;
-} TDI_ADDRESS_INFO, *PTDI_ADDRESS_INFO;
-
-#include "pshpack1.h"
-
-typedef struct _TDI_ADDRESS_8022 {
- UCHAR MACAddress[6];
-} TDI_ADDRESS_8022, *PTDI_ADDRESS_8022;
-
-#define TDI_ADDRESS_LENGTH_8022 sizeof(TDI_ADDRESS_8022);
-
-typedef struct _TDI_ADDRESS_APPLETALK {
- USHORT Network;
- UCHAR Node;
- UCHAR Socket;
-} TDI_ADDRESS_APPLETALK, *PTDI_ADDRESS_APPLETALK;
-
-#define TDI_ADDRESS_LENGTH_APPLETALK sizeof(TDI_ADDRESS_APPLETALK)
-
-typedef struct _TDI_ADDRESS_IP {
- USHORT sin_port;
- ULONG in_addr;
- UCHAR sin_zero[8];
-} TDI_ADDRESS_IP, *PTDI_ADDRESS_IP;
-
-#define TDI_ADDRESS_LENGTH_IP sizeof(TDI_ADDRESS_IP)
-
-typedef struct _TDI_ADDRESS_IPX {
- ULONG NetworkAddress;
- UCHAR NodeAddress[6];
- USHORT Socket;
-} TDI_ADDRESS_IPX, *PTDI_ADDRESS_IPX;
-
-#define TDI_ADDRESS_LENGTH_IPX sizeof(TDI_ADDRESS_IPX)
-
-/* TDI_ADDRESS_NETBIOS.NetbiosNameType constants */
-#define TDI_ADDRESS_NETBIOS_TYPE_UNIQUE 0x0000
-#define TDI_ADDRESS_NETBIOS_TYPE_GROUP 0x0001
-#define TDI_ADDRESS_NETBIOS_TYPE_QUICK_UNIQUE 0x0002
-#define TDI_ADDRESS_NETBIOS_TYPE_QUICK_GROUP 0x0003
-
-typedef struct _TDI_ADDRESS_NETBIOS {
- USHORT NetbiosNameType;
- UCHAR NetbiosName[16];
-} TDI_ADDRESS_NETBIOS, *PTDI_ADDRESS_NETBIOS;
-
-#define TDI_ADDRESS_LENGTH_NETBIOS sizeof(TDI_ADDRESS_NETBIOS)
-
-typedef struct _TDI_ADDRESS_NETBIOS_EX {
- UCHAR EndpointName[16];
- TDI_ADDRESS_NETBIOS NetbiosAddress;
-} TDI_ADDRESS_NETBIOS_EX, *PTDI_ADDRESS_NETBIOS_EX;
-
-#define TDI_ADDRESS_LENGTH_NETBIOS_EX sizeof(TDI_ADDRESS_NETBIOS_EX)
-
-/* TDI_ADDRESS_NETONE.NetoneNameType constants */
-#define TDI_ADDRESS_NETONE_TYPE_UNIQUE 0x0000
-#define TDI_ADDRESS_NETONE_TYPE_ROTORED 0x0001
-
-typedef struct _TDI_ADDRESS_NETONE {
- USHORT NetoneNameType;
- UCHAR NetoneName[20];
-} TDI_ADDRESS_NETONE, *PTDI_ADDRESS_NETONE;
-
-#define TDI_ADDRESS_LENGTH_NETONE sizeof(TDI_ADDRESS_NETONE)
-
-typedef struct _TDI_ADDRESS_NS
-{
- ULONG NetworkAddress;
- UCHAR NodeAddress[6];
- USHORT Socket;
-} TDI_ADDRESS_NS, *PTDI_ADDRESS_NS;
-
-#define TDI_ADDRESS_LENGTH_NS sizeof(TDI_ADDRESS_NS)
-
-#define ISO_MAX_ADDR_LENGTH 64
-
-/* TDI_ADDRESS_OSI_TSAP.tp_addr_type constants */
-#define ISO_HIERARCHICAL 0
-#define ISO_NON_HIERARCHICAL 1
-
-typedef struct _TDI_ADDRESS_OSI_TSAP {
- USHORT tp_addr_type;
- USHORT tp_taddr_len;
- USHORT tp_tsel_len;
- UCHAR tp_addr[ISO_MAX_ADDR_LENGTH];
-} TDI_ADDRESS_OSI_TSAP, *PTDI_ADDRESS_OSI_TSAP;
-
-#define TDI_ADDRESS_LENGTH_OSI_TSAP sizeof(TDI_ADDRESS_OSI_TSAP)
-
-typedef struct _TDI_ADDRESS_VNS {
- UCHAR net_address[4];
- UCHAR subnet_addr[2];
- UCHAR port[2];
- UCHAR hops;
- UCHAR filler[5];
-} TDI_ADDRESS_VNS, *PTDI_ADDRESS_VNS;
-
-#define TDI_ADDRESS_LENGTH_VNS sizeof(TDI_ADDRESS_VNS)
-
-typedef struct _TDI_ADDRESS_IP6 {
- USHORT sin6_port;
- ULONG sin6_flowinfo;
- USHORT sin6_addr[8];
- ULONG sin6_scope_id;
-} TDI_ADDRESS_IP6, *PTDI_ADDRESS_IP6;
-
-#define TDI_ADDRESS_LENGTH_IP6 sizeof(TDI_ADDRESS_IP6)
-
-enum eNameBufferType {
- NBT_READONLY = 0,
- NBT_WRITEONLY,
- NBT_READWRITE,
- NBT_WRITTEN
-};
-
-typedef struct _TDI_ADDRESS_NETBIOS_UNICODE_EX {
- USHORT NetbiosNameType;
- enum eNameBufferType NameBufferType;
- UNICODE_STRING EndpointName;
- UNICODE_STRING RemoteName;
- WCHAR EndpointBuffer[17];
- WCHAR RemoteNameBuffer[1];
-} TDI_ADDRESS_NETBIOS_UNICODE_EX, *PTDI_ADDRESS_NETBIOS_UNICODE_EX;
-
-typedef struct _TA_APPLETALK_ADDR {
- LONG TAAddressCount;
- struct _AddrAtalk {
- USHORT AddressLength;
- USHORT AddressType;
- TDI_ADDRESS_APPLETALK Address[1];
- } Address[1];
-} TA_APPLETALK_ADDRESS, *PTA_APPLETALK_ADDRESS;
-
-typedef struct _TA_ADDRESS_IP {
- LONG TAAddressCount;
- struct _AddrIp {
- USHORT AddressLength;
- USHORT AddressType;
- TDI_ADDRESS_IP Address[1];
- } Address[1];
-} TA_IP_ADDRESS, *PTA_IP_ADDRESS;
-
-typedef struct _TA_ADDRESS_IPX {
- LONG TAAddressCount;
- struct _AddrIpx {
- USHORT AddressLength;
- USHORT AddressType;
- TDI_ADDRESS_IPX Address[1];
- } Address[1];
-} TA_IPX_ADDRESS, *PTA_IPX_ADDRESS;
-
-typedef struct _TA_NETBIOS_ADDRESS {
- LONG TAAddressCount;
- struct _Addr{
- USHORT AddressLength;
- USHORT AddressType;
- TDI_ADDRESS_NETBIOS Address[1];
- } Address[1];
-} TA_NETBIOS_ADDRESS, *PTA_NETBIOS_ADDRESS;
-
-typedef struct _TA_ADDRESS_NS {
- LONG TAAddressCount;
- struct _AddrNs {
- USHORT AddressLength;
- USHORT AddressType;
- TDI_ADDRESS_NS Address[1];
- } Address[1];
-} TA_NS_ADDRESS, *PTA_NS_ADDRESS;
-
-typedef struct _TA_ADDRESS_VNS {
- LONG TAAddressCount;
- struct _AddrVns {
- USHORT AddressLength;
- USHORT AddressType;
- TDI_ADDRESS_VNS Address[1];
- } Address[1];
-} TA_VNS_ADDRESS, *PTA_VNS_ADDRESS;
-
-typedef struct _TA_ADDRESS_IP6 {
- LONG TAAddressCount;
- struct _AddrIp6 {
- USHORT AddressLength;
- USHORT AddressType;
- TDI_ADDRESS_IP6 Address[1];
- } Address [1];
-} TA_IP6_ADDRESS, *PTA_IP6_ADDRESS;
-
-typedef struct _TA_ADDRESS_NETBIOS_UNICODE_EX {
- LONG TAAddressCount;
- struct _AddrNetbiosWCharEx {
- USHORT AddressLength;
- USHORT AddressType;
- TDI_ADDRESS_NETBIOS_UNICODE_EX Address[1];
- } Address [1];
-} TA_NETBIOS_UNICODE_EX_ADDRESS, *PTA_NETBIOS_UNICODE_EX_ADDRESS;
-
-#include "poppack.h"
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __TDI_H */
diff --git a/winsup/w32api/include/ddk/tdiinfo.h b/winsup/w32api/include/ddk/tdiinfo.h
deleted file mode 100644
index ba7e1e787..000000000
--- a/winsup/w32api/include/ddk/tdiinfo.h
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * tdiinfo.h
- *
- * TDI set and query information 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 __TDIINFO_H
-#define __TDIINFO_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-
-typedef struct TDIEntityID {
- ULONG tei_entity;
- ULONG tei_instance;
-} TDIEntityID;
-
-#define MAX_TDI_ENTITIES 4096
-#define INVALID_ENTITY_INSTANCE -1
-#define GENERIC_ENTITY 0
-#define ENTITY_LIST_ID 0
-#define ENTITY_TYPE_ID 1
-
-#define AT_ENTITY 0x280
-#define CL_NL_ENTITY 0x301
-#define CL_TL_ENTITY 0x401
-#define CO_NL_ENTITY 0x300
-#define CO_TL_ENTITY 0x400
-#define ER_ENTITY 0x380
-#define IF_ENTITY 0x200
-
-#define AT_ARP 0x280
-#define AT_NULL 0x282
-#define CL_TL_NBF 0x401
-#define CL_TL_UDP 0x403
-#define CL_NL_IPX 0x301
-#define CL_NL_IP 0x303
-#define CO_TL_NBF 0x400
-#define CO_TL_SPX 0x402
-#define CO_TL_TCP 0x404
-#define CO_TL_SPP 0x406
-#define ER_ICMP 0x380
-#define IF_GENERIC 0x200
-#define IF_MIB 0x202
-
-/* TDIObjectID.toi_class constants */
-#define INFO_CLASS_GENERIC 0x100
-#define INFO_CLASS_PROTOCOL 0x200
-#define INFO_CLASS_IMPLEMENTATION 0x300
-
-/* TDIObjectID.toi_type constants */
-#define INFO_TYPE_PROVIDER 0x100
-#define INFO_TYPE_ADDRESS_OBJECT 0x200
-#define INFO_TYPE_CONNECTION 0x300
-
-typedef struct _TDIObjectID {
- TDIEntityID toi_entity;
- ULONG toi_class;
- ULONG toi_type;
- ULONG toi_id;
-} TDIObjectID;
-
-#define CONTEXT_SIZE 16
-
-typedef struct _TCP_REQUEST_QUERY_INFORMATION_EX {
- TDIObjectID ID;
- ULONG_PTR Context[CONTEXT_SIZE / sizeof(ULONG_PTR)];
-} TCP_REQUEST_QUERY_INFORMATION_EX, *PTCP_REQUEST_QUERY_INFORMATION_EX;
-
-#if defined(_WIN64)
-typedef struct _TCP_REQUEST_QUERY_INFORMATION_EX32 {
- TDIObjectID ID;
- ULONG32 Context[CONTEXT_SIZE / sizeof(ULONG32)];
-} TCP_REQUEST_QUERY_INFORMATION_EX32, *PTCP_REQUEST_QUERY_INFORMATION_EX32;
-#endif /* _WIN64 */
-
-typedef struct _TCP_REQUEST_SET_INFORMATION_EX {
- TDIObjectID ID;
- UINT BufferSize;
- UCHAR Buffer[1];
-} TCP_REQUEST_SET_INFORMATION_EX, *PTCP_REQUEST_SET_INFORMATION_EX;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __TDIINFO_H */
diff --git a/winsup/w32api/include/ddk/tdikrnl.h b/winsup/w32api/include/ddk/tdikrnl.h
deleted file mode 100644
index 1223c265a..000000000
--- a/winsup/w32api/include/ddk/tdikrnl.h
+++ /dev/null
@@ -1,1162 +0,0 @@
-/*
- * tdikrnl.h
- *
- * TDI kernel mode definitions
- *
- * 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 __TDIKRNL_H
-#define __TDIKRNL_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-#include "tdi.h"
-
-#if defined(_TDI_)
- #define TDIKRNLAPI DECLSPEC_EXPORT
-#else
- #define TDIKRNLAPI DECLSPEC_IMPORT
-#endif
-
-
-typedef struct _TDI_REQUEST_KERNEL {
- ULONG RequestFlags;
- PTDI_CONNECTION_INFORMATION RequestConnectionInformation;
- PTDI_CONNECTION_INFORMATION ReturnConnectionInformation;
- PVOID RequestSpecific;
-} TDI_REQUEST_KERNEL, *PTDI_REQUEST_KERNEL;
-
-/* Request codes */
-#define TDI_ASSOCIATE_ADDRESS 0x01
-#define TDI_DISASSOCIATE_ADDRESS 0x02
-#define TDI_CONNECT 0x03
-#define TDI_LISTEN 0x04
-#define TDI_ACCEPT 0x05
-#define TDI_DISCONNECT 0x06
-#define TDI_SEND 0x07
-#define TDI_RECEIVE 0x08
-#define TDI_SEND_DATAGRAM 0x09
-#define TDI_RECEIVE_DATAGRAM 0x0A
-#define TDI_SET_EVENT_HANDLER 0x0B
-#define TDI_QUERY_INFORMATION 0x0C
-#define TDI_SET_INFORMATION 0x0D
-#define TDI_ACTION 0x0E
-
-#define TDI_DIRECT_SEND 0x27
-#define TDI_DIRECT_SEND_DATAGRAM 0x29
-
-#define TDI_TRANSPORT_ADDRESS_FILE 1
-#define TDI_CONNECTION_FILE 2
-#define TDI_CONTROL_CHANNEL_FILE 3
-
-/* Internal TDI IOCTLS */
-#define IOCTL_TDI_QUERY_DIRECT_SEND_HANDLER _TDI_CONTROL_CODE(0x80, METHOD_NEITHER)
-#define IOCTL_TDI_QUERY_DIRECT_SENDDG_HANDLER _TDI_CONTROL_CODE(0x81, METHOD_NEITHER)
-
-/* TdiAssociateAddress */
-typedef struct _TDI_REQUEST_KERNEL_ASSOCIATE {
- HANDLE AddressHandle;
-} TDI_REQUEST_KERNEL_ASSOCIATE, *PTDI_REQUEST_KERNEL_ASSOCIATE;
-
-/* TdiDisassociateAddress */
-typedef TDI_REQUEST_KERNEL TDI_REQUEST_KERNEL_DISASSOCIATE,
- *PTDI_REQUEST_KERNEL_DISASSOCIATE;
-
-/* TdiAccept */
-typedef struct _TDI_REQUEST_KERNEL_ACCEPT {
- PTDI_CONNECTION_INFORMATION RequestConnectionInformation;
- PTDI_CONNECTION_INFORMATION ReturnConnectionInformation;
-} TDI_REQUEST_KERNEL_ACCEPT, *PTDI_REQUEST_KERNEL_ACCEPT;
-
-/* TdiConnect */
-typedef TDI_REQUEST_KERNEL TDI_REQUEST_KERNEL_CONNECT,
- *PTDI_REQUEST_KERNEL_CONNECT;
-
-/* TdiDisconnect */
-typedef TDI_REQUEST_KERNEL TDI_REQUEST_KERNEL_DISCONNECT,
- *PTDI_REQUEST_KERNEL_DISCONNECT;
-
-/* TdiListen */
-typedef TDI_REQUEST_KERNEL TDI_REQUEST_KERNEL_LISTEN,
- *PTDI_REQUEST_KERNEL_LISTEN;
-
-/* TdiReceive */
-typedef struct _TDI_REQUEST_KERNEL_RECEIVE {
- ULONG ReceiveLength;
- ULONG ReceiveFlags;
-} TDI_REQUEST_KERNEL_RECEIVE, *PTDI_REQUEST_KERNEL_RECEIVE;
-
-/* TdiReceiveDatagram */
-typedef struct _TDI_REQUEST_KERNEL_RECEIVEDG {
- ULONG ReceiveLength;
- PTDI_CONNECTION_INFORMATION ReceiveDatagramInformation;
- PTDI_CONNECTION_INFORMATION ReturnDatagramInformation;
- ULONG ReceiveFlags;
-} TDI_REQUEST_KERNEL_RECEIVEDG, *PTDI_REQUEST_KERNEL_RECEIVEDG;
-
-/* TdiSend */
-typedef struct _TDI_REQUEST_KERNEL_SEND {
- ULONG SendLength;
- ULONG SendFlags;
-} TDI_REQUEST_KERNEL_SEND, *PTDI_REQUEST_KERNEL_SEND;
-
-/* TdiSendDatagram */
-typedef struct _TDI_REQUEST_KERNEL_SENDDG {
- ULONG SendLength;
- PTDI_CONNECTION_INFORMATION SendDatagramInformation;
-} TDI_REQUEST_KERNEL_SENDDG, *PTDI_REQUEST_KERNEL_SENDDG;
-
-/* TdiSetEventHandler */
-typedef struct _TDI_REQUEST_KERNEL_SET_EVENT {
- LONG EventType;
- PVOID EventHandler;
- PVOID EventContext;
-} TDI_REQUEST_KERNEL_SET_EVENT, *PTDI_REQUEST_KERNEL_SET_EVENT;
-
-/* TdiQueryInformation */
-typedef struct _TDI_REQUEST_KERNEL_QUERY_INFO {
- LONG QueryType;
- PTDI_CONNECTION_INFORMATION RequestConnectionInformation;
-} TDI_REQUEST_KERNEL_QUERY_INFORMATION, *PTDI_REQUEST_KERNEL_QUERY_INFORMATION;
-
-/* TdiSetInformation */
-typedef struct _TDI_REQUEST_KERNEL_SET_INFO {
- LONG SetType;
- PTDI_CONNECTION_INFORMATION RequestConnectionInformation;
-} TDI_REQUEST_KERNEL_SET_INFORMATION, *PTDI_REQUEST_KERNEL_SET_INFORMATION;
-
-
-/* Event types */
-#define TDI_EVENT_CONNECT 0
-#define TDI_EVENT_DISCONNECT 1
-#define TDI_EVENT_ERROR 2
-#define TDI_EVENT_RECEIVE 3
-#define TDI_EVENT_RECEIVE_DATAGRAM 4
-#define TDI_EVENT_RECEIVE_EXPEDITED 5
-#define TDI_EVENT_SEND_POSSIBLE 6
-#define TDI_EVENT_CHAINED_RECEIVE 7
-#define TDI_EVENT_CHAINED_RECEIVE_DATAGRAM 8
-#define TDI_EVENT_CHAINED_RECEIVE_EXPEDITED 9
-#define TDI_EVENT_ERROR_EX 10
-
-typedef NTSTATUS DDKAPI
-(*PTDI_IND_CONNECT)(
- /*IN*/ PVOID TdiEventContext,
- /*IN*/ LONG RemoteAddressLength,
- /*IN*/ PVOID RemoteAddress,
- /*IN*/ LONG UserDataLength,
- /*IN*/ PVOID UserData,
- /*IN*/ LONG OptionsLength,
- /*IN*/ PVOID Options,
- /*OUT*/ CONNECTION_CONTEXT *ConnectionContext,
- /*OUT*/ PIRP *AcceptIrp);
-
-TDIKRNLAPI
-NTSTATUS
-DDKAPI
-TdiDefaultConnectHandler(
- /*IN*/ PVOID TdiEventContext,
- /*IN*/ LONG RemoteAddressLength,
- /*IN*/ PVOID RemoteAddress,
- /*IN*/ LONG UserDataLength,
- /*IN*/ PVOID UserData,
- /*IN*/ LONG OptionsLength,
- /*IN*/ PVOID Options,
- /*OUT*/ CONNECTION_CONTEXT *ConnectionContext,
- /*OUT*/ PIRP *AcceptIrp);
-
-typedef NTSTATUS DDKAPI
-(*PTDI_IND_DISCONNECT)(
- /*IN*/ PVOID TdiEventContext,
- /*IN*/ CONNECTION_CONTEXT ConnectionContext,
- /*IN*/ LONG DisconnectDataLength,
- /*IN*/ PVOID DisconnectData,
- /*IN*/ LONG DisconnectInformationLength,
- /*IN*/ PVOID DisconnectInformation,
- /*IN*/ ULONG DisconnectFlags);
-
-TDIKRNLAPI
-NTSTATUS
-DDKAPI
-TdiDefaultDisconnectHandler(
- /*IN*/ PVOID TdiEventContext,
- /*IN*/ CONNECTION_CONTEXT ConnectionContext,
- /*IN*/ LONG DisconnectDataLength,
- /*IN*/ PVOID DisconnectData,
- /*IN*/ LONG DisconnectInformationLength,
- /*IN*/ PVOID DisconnectInformation,
- /*IN*/ ULONG DisconnectFlags);
-
-typedef NTSTATUS DDKAPI
-(*PTDI_IND_ERROR)(
- /*IN*/ PVOID TdiEventContext,
- /*IN*/ NTSTATUS Status);
-
-typedef NTSTATUS DDKAPI
-(*PTDI_IND_ERROR_EX)(
- /*IN*/ PVOID TdiEventContext,
- /*IN*/ NTSTATUS Status,
- /*IN*/ PVOID Buffer);
-
-TDIKRNLAPI
-NTSTATUS
-DDKAPI
-TdiDefaultErrorHandler(
- /*IN*/ PVOID TdiEventContext,
- /*IN*/ NTSTATUS Status);
-
-typedef NTSTATUS DDKAPI
-(*PTDI_IND_RECEIVE)(
- /*IN*/ PVOID TdiEventContext,
- /*IN*/ CONNECTION_CONTEXT ConnectionContext,
- /*IN*/ ULONG ReceiveFlags,
- /*IN*/ ULONG BytesIndicated,
- /*IN*/ ULONG BytesAvailable,
- /*OUT*/ ULONG *BytesTaken,
- /*IN*/ PVOID Tsdu,
- /*OUT*/ PIRP *IoRequestPacket);
-
-TDIKRNLAPI
-NTSTATUS
-DDKAPI
-TdiDefaultReceiveHandler(
- /*IN*/ PVOID TdiEventContext,
- /*IN*/ CONNECTION_CONTEXT ConnectionContext,
- /*IN*/ ULONG ReceiveFlags,
- /*IN*/ ULONG BytesIndicated,
- /*IN*/ ULONG BytesAvailable,
- /*OUT*/ ULONG *BytesTaken,
- /*IN*/ PVOID Tsdu,
- /*OUT*/ PIRP *IoRequestPacket);
-
-typedef NTSTATUS DDKAPI
-(*PTDI_IND_RECEIVE_DATAGRAM)(
- /*IN*/ PVOID TdiEventContext,
- /*IN*/ LONG SourceAddressLength,
- /*IN*/ PVOID SourceAddress,
- /*IN*/ LONG OptionsLength,
- /*IN*/ PVOID Options,
- /*IN*/ ULONG ReceiveDatagramFlags,
- /*IN*/ ULONG BytesIndicated,
- /*IN*/ ULONG BytesAvailable,
- /*OUT*/ ULONG *BytesTaken,
- /*IN*/ PVOID Tsdu,
- /*OUT*/ PIRP *IoRequestPacket);
-
-TDIKRNLAPI
-NTSTATUS DDKAPI
-TdiDefaultRcvDatagramHandler(
- /*IN*/ PVOID TdiEventContext,
- /*IN*/ LONG SourceAddressLength,
- /*IN*/ PVOID SourceAddress,
- /*IN*/ LONG OptionsLength,
- /*IN*/ PVOID Options,
- /*IN*/ ULONG ReceiveDatagramFlags,
- /*IN*/ ULONG BytesIndicated,
- /*IN*/ ULONG BytesAvailable,
- /*OUT*/ ULONG *BytesTaken,
- /*IN*/ PVOID Tsdu,
- /*OUT*/ PIRP *IoRequestPacket);
-
-typedef NTSTATUS DDKAPI
-(*PTDI_IND_RECEIVE_EXPEDITED)(
- /*IN*/ PVOID TdiEventContext,
- /*IN*/ CONNECTION_CONTEXT ConnectionContext,
- /*IN*/ ULONG ReceiveFlags,
- /*IN*/ ULONG BytesIndicated,
- /*IN*/ ULONG BytesAvailable,
- /*OUT*/ ULONG *BytesTaken,
- /*IN*/ PVOID Tsdu,
- /*OUT*/ PIRP *IoRequestPacket);
-
-TDIKRNLAPI
-NTSTATUS
-DDKAPI
-TdiDefaultRcvExpeditedHandler(
- /*IN*/ PVOID TdiEventContext,
- /*IN*/ CONNECTION_CONTEXT ConnectionContext,
- /*IN*/ ULONG ReceiveFlags,
- /*IN*/ ULONG BytesIndicated,
- /*IN*/ ULONG BytesAvailable,
- /*OUT*/ ULONG *BytesTaken,
- /*IN*/ PVOID Tsdu,
- /*OUT*/ PIRP *IoRequestPacket);
-
-typedef NTSTATUS DDKAPI
-(*PTDI_IND_CHAINED_RECEIVE)(
- /*IN*/ PVOID TdiEventContext,
- /*IN*/ CONNECTION_CONTEXT ConnectionContext,
- /*IN*/ ULONG ReceiveFlags,
- /*IN*/ ULONG ReceiveLength,
- /*IN*/ ULONG StartingOffset,
- /*IN*/ PMDL Tsdu,
- /*IN*/ PVOID TsduDescriptor);
-
-TDIKRNLAPI
-NTSTATUS
-DDKAPI
-TdiDefaultChainedReceiveHandler(
- /*IN*/ PVOID TdiEventContext,
- /*IN*/ CONNECTION_CONTEXT ConnectionContext,
- /*IN*/ ULONG ReceiveFlags,
- /*IN*/ ULONG ReceiveLength,
- /*IN*/ ULONG StartingOffset,
- /*IN*/ PMDL Tsdu,
- /*IN*/ PVOID TsduDescriptor);
-
-typedef NTSTATUS DDKAPI
-(*PTDI_IND_CHAINED_RECEIVE_DATAGRAM)(
- /*IN*/ PVOID TdiEventContext,
- /*IN*/ LONG SourceAddressLength,
- /*IN*/ PVOID SourceAddress,
- /*IN*/ LONG OptionsLength,
- /*IN*/ PVOID Options,
- /*IN*/ ULONG ReceiveDatagramFlags,
- /*IN*/ ULONG ReceiveDatagramLength,
- /*IN*/ ULONG StartingOffset,
- /*IN*/ PMDL Tsdu,
- /*IN*/ PVOID TsduDescriptor);
-
-TDIKRNLAPI
-NTSTATUS
-DDKAPI
-TdiDefaultChainedRcvDatagramHandler(
- /*IN*/ PVOID TdiEventContext,
- /*IN*/ LONG SourceAddressLength,
- /*IN*/ PVOID SourceAddress,
- /*IN*/ LONG OptionsLength,
- /*IN*/ PVOID Options,
- /*IN*/ ULONG ReceiveDatagramFlags,
- /*IN*/ ULONG ReceiveDatagramLength,
- /*IN*/ ULONG StartingOffset,
- /*IN*/ PMDL Tsdu,
- /*IN*/ PVOID TsduDescriptor);
-
-typedef NTSTATUS DDKAPI
-(*PTDI_IND_CHAINED_RECEIVE_EXPEDITED)(
- /*IN*/ PVOID TdiEventContext,
- /*IN*/ CONNECTION_CONTEXT ConnectionContext,
- /*IN*/ ULONG ReceiveFlags,
- /*IN*/ ULONG ReceiveLength,
- /*IN*/ ULONG StartingOffset,
- /*IN*/ PMDL Tsdu,
- /*IN*/ PVOID TsduDescriptor);
-
-TDIKRNLAPI
-NTSTATUS
-DDKAPI
-TdiDefaultChainedRcvExpeditedHandler(
- /*IN*/ PVOID TdiEventContext,
- /*IN*/ CONNECTION_CONTEXT ConnectionContext,
- /*IN*/ ULONG ReceiveFlags,
- /*IN*/ ULONG ReceiveLength,
- /*IN*/ ULONG StartingOffset,
- /*IN*/ PMDL Tsdu,
- /*IN*/ PVOID TsduDescriptor);
-
-typedef NTSTATUS DDKAPI
-(*PTDI_IND_SEND_POSSIBLE)(
- /*IN*/ PVOID TdiEventContext,
- /*IN*/ PVOID ConnectionContext,
- /*IN*/ ULONG BytesAvailable);
-
-TDIKRNLAPI
-NTSTATUS
-DDKAPI
-TdiDefaultSendPossibleHandler(
- /*IN*/ PVOID TdiEventContext,
- /*IN*/ PVOID ConnectionContext,
- /*IN*/ ULONG BytesAvailable);
-
-
-
- /* Macros and functions to build IRPs */
-
-#define TdiBuildBaseIrp( \
- bIrp, bDevObj, bFileObj, bCompRoutine, bContxt, bIrpSp, bMinor) \
-{ \
- bIrpSp->MajorFunction = IRP_MJ_INTERNAL_DEVICE_CONTROL; \
- bIrpSp->MinorFunction = (bMinor); \
- bIrpSp->DeviceObject = (bDevObj); \
- bIrpSp->FileObject = (bFileObj); \
- if (bCompRoutine) \
- IoSetCompletionRoutine(bIrp, bCompRoutine, bContxt, TRUE, TRUE, TRUE) \
- else \
- IoSetCompletionRoutine(bIrp, NULL, NULL, FALSE, FALSE, FALSE); \
-}
-
- /*
- * VOID
- * TdiBuildAccept(
- * IN PIRP Irp,
- * IN PDEVICE_OBJECT DevObj,
- * IN PFILE_OBJECT FileObj,
- * IN PVOID CompRoutine,
- * IN PVOID Contxt,
- * IN PTDI_CONNECTION_INFORMATION RequestConnectionInfo,
- * OUT PTDI_CONNECTION_INFORMATION ReturnConnectionInfo);
- */
-#define TdiBuildAccept( \
- Irp, DevObj, FileObj, CompRoutine, Contxt, \
- RequestConnectionInfo, ReturnConnectionInfo) \
-{ \
- PTDI_REQUEST_KERNEL_ACCEPT _Request; \
- PIO_STACK_LOCATION _IrpSp; \
- \
- _IrpSp = IoGetNextIrpStackLocation(Irp); \
- \
- TdiBuildBaseIrp(Irp, DevObj, FileObj, CompRoutine, \
- Contxt, _IrpSp, TDI_ACCEPT); \
- \
- _Request = (PTDI_REQUEST_KERNEL_ACCEPT)&_IrpSp->Parameters; \
- _Request->RequestConnectionInformation = (RequestConnectionInfo); \
- _Request->ReturnConnectionInformation = (ReturnConnectionInfo); \
-}
-
- /*
- * VOID
- * TdiBuildAction(
- * IN PIRP Irp,
- * IN PDEVICE_OBJECT DevObj,
- * IN PFILE_OBJECT FileObj,
- * IN PVOID CompRoutine,
- * IN PVOID Contxt,
- * IN PMDL MdlAddr);
- */
-#define TdiBuildAction( \
- Irp, DevObj, FileObj, CompRoutine, Contxt, MdlAddr) \
-{ \
- PIO_STACK_LOCATION _IrpSp; \
- \
- _IrpSp = IoGetNextIrpStackLocation(Irp); \
- \
- TdiBuildBaseIrp(Irp, DevObj, FileObj, CompRoutine, \
- Contxt, _IrpSp, TDI_ACTION); \
- \
- (Irp)->MdlAddress = (MdlAddr); \
-}
-
- /*
- * VOID
- * TdiBuildAssociateAddress(
- * IN PIRP Irp,
- * IN PDEVICE_OBJECT DevObj,
- * IN PFILE_OBJECT FileObj,
- * IN PVOID CompRoutine,
- * IN PVOID Contxt,
- * IN HANDLE AddrHandle);
- */
-#define TdiBuildAssociateAddress( \
- Irp, DevObj, FileObj, CompRoutine, Contxt, AddrHandle) \
-{ \
- PTDI_REQUEST_KERNEL_ASSOCIATE _Request; \
- PIO_STACK_LOCATION _IrpSp; \
- \
- _IrpSp = IoGetNextIrpStackLocation(Irp); \
- \
- TdiBuildBaseIrp(Irp, DevObj, FileObj, CompRoutine, \
- Contxt, _IrpSp, TDI_ASSOCIATE_ADDRESS); \
- \
- _Request = (PTDI_REQUEST_KERNEL_ASSOCIATE)&_IrpSp->Parameters; \
- _Request->AddressHandle = (HANDLE)(AddrHandle); \
-}
-
- /*
- * VOID
- * TdiBuildConnect(
- * IN PIRP Irp,
- * IN PDEVICE_OBJECT DevObj,
- * IN PFILE_OBJECT FileObj,
- * IN PVOID CompRoutine,
- * IN PVOID Contxt,
- * IN PLARGE_INTEGER Time,
- * IN PTDI_CONNECTION_INFORMATION RequestConnectionInfo,
- * OUT PTDI_CONNECTION_INFORMATION ReturnConnectionInfo);
- */
-#define TdiBuildConnect( \
- Irp, DevObj, FileObj, CompRoutine, Contxt, \
- Time, RequestConnectionInfo, ReturnConnectionInfo) \
-{ \
- PTDI_REQUEST_KERNEL _Request; \
- PIO_STACK_LOCATION _IrpSp; \
- \
- _IrpSp = IoGetNextIrpStackLocation(Irp); \
- \
- TdiBuildBaseIrp(Irp, DevObj, FileObj, CompRoutine, \
- Contxt, _IrpSp, TDI_CONNECT); \
- \
- _Request = (PTDI_REQUEST_KERNEL)&_IrpSp->Parameters; \
- _Request->RequestConnectionInformation = (RequestConnectionInfo); \
- _Request->ReturnConnectionInformation = (ReturnConnectionInfo); \
- _Request->RequestSpecific = (PVOID)(Time); \
-}
-
- /*
- * VOID
- * TdiBuildDisassociateAddress(
- * IN PIRP Irp,
- * IN PDEVICE_OBJECT DevObj,
- * IN PFILE_OBJECT FileObj,
- * IN PVOID CompRoutine,
- * IN PVOID Contxt);
- */
-#define TdiBuildDisassociateAddress( \
- Irp, DevObj, FileObj, CompRoutine, Contxt) \
-{ \
- PIO_STACK_LOCATION _IrpSp; \
- \
- _IrpSp = IoGetNextIrpStackLocation(Irp); \
- \
- TdiBuildBaseIrp(Irp, DevObj, FileObj, CompRoutine, \
- Contxt, _IrpSp, TDI_DISASSOCIATE_ADDRESS); \
-}
-
- /*
- * VOID
- * TdiBuildDisconnect(
- * IN PIRP Irp,
- * IN PDEVICE_OBJECT DevObj,
- * IN PFILE_OBJECT FileObj,
- * IN PVOID CompRoutine,
- * IN PVOID Contxt,
- * IN PLARGE_INTEGER Time,
- * IN PULONG Flags,
- * IN PTDI_CONNECTION_INFORMATION RequestConnectionInfo,
- * OUT PTDI_CONNECTION_INFORMATION ReturnConnectionInfo);
- */
-#define TdiBuildDisconnect( \
- Irp, DevObj, FileObj, CompRoutine, Contxt, Time, \
- Flags, RequestConnectionInfo, ReturnConnectionInfo) \
-{ \
- PTDI_REQUEST_KERNEL _Request; \
- PIO_STACK_LOCATION _IrpSp; \
- \
- _IrpSp = IoGetNextIrpStackLocation(Irp); \
- \
- TdiBuildBaseIrp(Irp, DevObj, FileObj, CompRoutine, \
- Contxt, _IrpSp, TDI_DISCONNECT); \
- \
- _Request = (PTDI_REQUEST_KERNEL)&_IrpSp->Parameters; \
- _Request->RequestConnectionInformation = (RequestConnectionInfo); \
- _Request->ReturnConnectionInformation = (ReturnConnectionInfo); \
- _Request->RequestSpecific = (PVOID)(Time); \
- _Request->RequestFlags = (Flags); \
-}
-
- /*
- * PIRP
- * TdiBuildInternalDeviceControlIrp(
- * IN CCHAR IrpSubFunction,
- * IN PDEVICE_OBJECT DeviceObject,
- * IN PFILE_OBJECT FileObject,
- * IN PKEVENT Event,
- * IN PIO_STATUS_BLOCK IoStatusBlock);
- */
-#define TdiBuildInternalDeviceControlIrp( \
- IrpSubFunction, DeviceObject, \
- FileObject, Event, IoStatusBlock) \
- IoBuildDeviceIoControlRequest( \
- 0x00000003, DeviceObject, \
- NULL, 0, NULL, 0, \
- TRUE, Event, IoStatusBlock)
-
- /*
- * VOID
- * TdiBuildListen(
- * IN PIRP Irp,
- * IN PDEVICE_OBJECT DevObj,
- * IN PFILE_OBJECT FileObj,
- * IN PVOID CompRoutine,
- * IN PVOID Contxt,
- * IN ULONG Flags,
- * IN PTDI_CONNECTION_INFORMATION RequestConnectionInfo,
- * OUT PTDI_CONNECTION_INFORMATION ReturnConnectionInfo);
- */
-#define TdiBuildListen( \
- Irp, DevObj, FileObj, CompRoutine, Contxt, \
- Flags, RequestConnectionInfo, ReturnConnectionInfo) \
-{ \
- PTDI_REQUEST_KERNEL _Request; \
- PIO_STACK_LOCATION _IrpSp; \
- \
- _IrpSp = IoGetNextIrpStackLocation(Irp); \
- \
- TdiBuildBaseIrp(Irp, DevObj, FileObj, CompRoutine, \
- Contxt, _IrpSp, TDI_LISTEN); \
- \
- _Request = (PTDI_REQUEST_KERNEL)&_IrpSp->Parameters; \
- _Request->RequestConnectionInformation = (RequestConnectionInfo); \
- _Request->ReturnConnectionInformation = (ReturnConnectionInfo); \
- _Request->RequestFlags = (Flags); \
-}
-
-TDIKRNLAPI
-VOID
-DDKAPI
-TdiBuildNetbiosAddress(
- /*IN*/ PUCHAR NetbiosName,
- /*IN*/ BOOLEAN IsGroupName,
- /*IN OUT*/ PTA_NETBIOS_ADDRESS NetworkName);
-
-TDIKRNLAPI
-NTSTATUS
-DDKAPI
-TdiBuildNetbiosAddressEa(
- /*IN*/ PUCHAR Buffer,
- /*IN*/ BOOLEAN IsGroupName,
- /*IN*/ PUCHAR NetbiosName);
-
- /*
- * VOID
- * TdiBuildQueryInformation(
- * IN PIRP Irp,
- * IN PDEVICE_OBJECT DevObj,
- * IN PFILE_OBJECT FileObj,
- * IN PVOID CompRoutine,
- * IN PVOID Contxt,
- * IN UINT QType,
- * IN PMDL MdlAddr);
- */
-#define TdiBuildQueryInformation( \
- Irp, DevObj, FileObj, CompRoutine, Contxt, QType, MdlAddr) \
-{ \
- PTDI_REQUEST_KERNEL_QUERY_INFORMATION _Request; \
- PIO_STACK_LOCATION _IrpSp; \
- \
- _IrpSp = IoGetNextIrpStackLocation(Irp); \
- \
- TdiBuildBaseIrp(Irp, DevObj, FileObj, CompRoutine, \
- Contxt, _IrpSp, TDI_QUERY_INFORMATION); \
- \
- _Request = (PTDI_REQUEST_KERNEL_QUERY_INFORMATION)&_IrpSp->Parameters; \
- _Request->RequestConnectionInformation = NULL; \
- _Request->QueryType = (ULONG)(QType); \
- (Irp)->MdlAddress = (MdlAddr); \
-}
-
- /*
- * VOID
- * TdiBuildReceive(
- * IN PIRP Irp,
- * IN PDEVICE_OBJECT DevObj,
- * IN PFILE_OBJECT FileObj,
- * IN PVOID CompRoutine,
- * IN PVOID Contxt,
- * IN PMDL MdlAddr,
- * IN ULONG InFlags,
- * IN ULONG ReceiveLen);
- */
-#define TdiBuildReceive( \
- Irp, DevObj, FileObj, CompRoutine, Contxt, \
- MdlAddr, InFlags, ReceiveLen) \
-{ \
- PTDI_REQUEST_KERNEL_RECEIVE _Request; \
- PIO_STACK_LOCATION _IrpSp; \
- \
- _IrpSp = IoGetNextIrpStackLocation(Irp); \
- \
- TdiBuildBaseIrp(Irp, DevObj, FileObj, CompRoutine, \
- Contxt, _IrpSp, TDI_RECEIVE); \
- \
- _Request = (PTDI_REQUEST_KERNEL_RECEIVE)&_IrpSp->Parameters; \
- _Request->ReceiveFlags = (InFlags); \
- _Request->ReceiveLength = (ReceiveLen); \
- (Irp)->MdlAddress = (MdlAddr); \
-}
-
- /*
- * VOID
- * TdiBuildReceiveDatagram(
- * IN PIRP Irp,
- * IN PDEVICE_OBJECT DevObj,
- * IN PFILE_OBJECT FileObj,
- * IN PVOID CompRoutine,
- * IN PVOID Contxt,
- * IN PMDL MdlAddr,
- * IN ULONG ReceiveLen,
- * IN PTDI_CONNECTION_INFORMATION ReceiveDatagramInfo,
- * OUT PTDI_CONNECTION_INFORMATION ReturnInfo,
- * ULONG InFlags);
- */
-#define TdiBuildReceiveDatagram( \
- Irp, DevObj, FileObj, CompRoutine, Contxt, MdlAddr, \
- ReceiveLen, ReceiveDatagramInfo, ReturnInfo, InFlags) \
-{ \
- PTDI_REQUEST_KERNEL_RECEIVEDG _Request; \
- PIO_STACK_LOCATION _IrpSp; \
- \
- _IrpSp = IoGetNextIrpStackLocation(Irp); \
- \
- TdiBuildBaseIrp(Irp, DevObj, FileObj, CompRoutine, \
- Contxt, _IrpSp, TDI_RECEIVE_DATAGRAM); \
- \
- _Request = (PTDI_REQUEST_KERNEL_RECEIVEDG)&_IrpSp->Parameters; \
- _Request->ReceiveDatagramInformation = (ReceiveDatagramInfo); \
- _Request->ReturnDatagramInformation = (ReturnInfo); \
- _Request->ReceiveLength = (ReceiveLen); \
- _Request->ReceiveFlags = (InFlags); \
- (Irp)->MdlAddress = (MdlAddr); \
-}
-
- /*
- * VOID
- * TdiBuildSend(
- * IN PIRP Irp,
- * IN PDEVICE_OBJECT DevObj,
- * IN PFILE_OBJECT FileObj,
- * IN PVOID CompRoutine,
- * IN PVOID Contxt,
- * IN PMDL MdlAddr,
- * IN ULONG InFlags,
- * IN ULONG SendLen);
- */
-#define TdiBuildSend( \
- Irp, DevObj, FileObj, CompRoutine, Contxt, \
- MdlAddr, InFlags, SendLen) \
-{ \
- PTDI_REQUEST_KERNEL_SEND _Request; \
- PIO_STACK_LOCATION _IrpSp; \
- \
- _IrpSp = IoGetNextIrpStackLocation(Irp); \
- \
- TdiBuildBaseIrp(Irp, DevObj, FileObj, CompRoutine, \
- Contxt, _IrpSp, TDI_SEND); \
- \
- _Request = (PTDI_REQUEST_KERNEL_SEND)&_IrpSp->Parameters; \
- _Request->SendFlags = (InFlags); \
- _Request->SendLength = (SendLen); \
- (Irp)->MdlAddress = (MdlAddr); \
-}
-
- /*
- * VOID
- * TdiBuildSendDatagram(
- * IN PIRP Irp,
- * IN PDEVICE_OBJECT DevObj,
- * IN PFILE_OBJECT FileObj,
- * IN PVOID CompRoutine,
- * IN PVOID Contxt,
- * IN PMDL MdlAddr,
- * IN ULONG SendLen,
- * IN PTDI_CONNECTION_INFORMATION SendDatagramInfo);
- */
-#define TdiBuildSendDatagram( \
- Irp, DevObj, FileObj, CompRoutine, Contxt, \
- MdlAddr, SendLen, SendDatagramInfo) \
-{ \
- PTDI_REQUEST_KERNEL_SENDDG _Request; \
- PIO_STACK_LOCATION _IrpSp; \
- \
- _IrpSp = IoGetNextIrpStackLocation(Irp); \
- \
- TdiBuildBaseIrp(Irp, DevObj, FileObj, CompRoutine, \
- Contxt, _IrpSp, TDI_SEND_DATAGRAM); \
- \
- _Request = (PTDI_REQUEST_KERNEL_SENDDG)&_IrpSp->Parameters; \
- _Request->SendDatagramInformation = (SendDatagramInfo); \
- _Request->SendLength = (SendLen); \
- (Irp)->MdlAddress = (MdlAddr); \
-}
-
- /*
- * VOID
- * TdiBuildSetEventHandler(
- * IN PIRP Irp,
- * IN PDEVICE_OBJECT DevObj,
- * IN PFILE_OBJECT FileObj,
- * IN PVOID CompRoutine,
- * IN PVOID Contxt,
- * IN INT InEventType,
- * IN PVOID InEventHandler,
- * IN PVOID InEventContext);
- */
-#define TdiBuildSetEventHandler( \
- Irp, DevObj, FileObj, CompRoutine, Contxt, \
- InEventType, InEventHandler, InEventContext) \
-{ \
- PTDI_REQUEST_KERNEL_SET_EVENT _Request; \
- PIO_STACK_LOCATION _IrpSp; \
- \
- _IrpSp = IoGetNextIrpStackLocation(Irp); \
- \
- TdiBuildBaseIrp(Irp, DevObj, FileObj, CompRoutine, \
- Contxt, _IrpSp, TDI_SET_EVENT_HANDLER); \
- \
- _Request = (PTDI_REQUEST_KERNEL_SET_EVENT)&_IrpSp->Parameters; \
- _Request->EventType = (InEventType); \
- _Request->EventHandler = (PVOID)(InEventHandler); \
- _Request->EventContext = (PVOID)(InEventContext); \
-}
-
- /*
- * VOID
- * TdiBuildSetInformation(
- * IN PIRP Irp,
- * IN PDEVICE_OBJECT DevObj,
- * IN PFILE_OBJECT FileObj,
- * IN PVOID CompRoutine,
- * IN PVOID Contxt,
- * IN UINT SType,
- * IN PMDL MdlAddr);
- */
-#define TdiBuildSetInformation( \
- Irp, DevObj, FileObj, CompRoutine, Contxt, SType, MdlAddr) \
-{ \
- PTDI_REQUEST_KERNEL_SET_INFORMATION _Request; \
- PIO_STACK_LOCATION _IrpSp; \
- \
- _IrpSp = IoGetNextIrpStackLocation(Irp); \
- \
- TdiBuildBaseIrp(Irp, DevObj, FileObj, CompRoutine, \
- Contxt, _IrpSp, TDI_SET_INFORMATION); \
- \
- _Request = (PTDI_REQUEST_KERNEL_SET_INFORMATION)&_IrpSp->Parameters; \
- _Request->RequestConnectionInformation = NULL; \
- _Request->SetType = (ULONG)(SType); \
- (Irp)->MdlAddress = (MdlAddr); \
-}
-
- /* TDI20_CLIENT_INTERFACE_INFO.TdiVersion constants */
-#define TDI_CURRENT_MAJOR_VERSION 2
-#define TDI_CURRENT_MINOR_VERSION 0
-
-#define TDI_CURRENT_VERSION ((TDI_CURRENT_MINOR_VERSION) << 8 \
- | (TDI_CURRENT_MAJOR_VERSION))
-
-#define TDI_VERSION_ONE 0x0001
-
-typedef enum _TDI_PNP_OPCODE {
- TDI_PNP_OP_MIN,
- TDI_PNP_OP_ADD,
- TDI_PNP_OP_DEL,
- TDI_PNP_OP_UPDATE,
- TDI_PNP_OP_PROVIDERREADY,
- TDI_PNP_OP_NETREADY,
- TDI_PNP_OP_ADD_IGNORE_BINDING,
- TDI_PNP_OP_DELETE_IGNORE_BINDING,
- TDI_PNP_OP_MAX
-} TDI_PNP_OPCODE;
-
- /* TDI_PNP_CONTEXT.ContextType */
-#define TDI_PNP_CONTEXT_TYPE_IF_NAME 0x1
-#define TDI_PNP_CONTEXT_TYPE_IF_ADDR 0x2
-#define TDI_PNP_CONTEXT_TYPE_PDO 0x3
-#define TDI_PNP_CONTEXT_TYPE_FIRST_OR_LAST_IF 0x4
-
-typedef struct _TDI_PNP_CONTEXT {
- USHORT ContextSize;
- USHORT ContextType;
- UCHAR ContextData[1];
-} TDI_PNP_CONTEXT, *PTDI_PNP_CONTEXT;
-
-typedef VOID DDKAPI
-(*TDI_ADD_ADDRESS_HANDLER)(
- /*IN*/ PTA_ADDRESS Address);
-
-typedef VOID DDKAPI
-(*TDI_ADD_ADDRESS_HANDLER_V2)(
- /*IN*/ PTA_ADDRESS Address,
- /*IN*/ PUNICODE_STRING DeviceName,
- /*IN*/ PTDI_PNP_CONTEXT Context);
-
-typedef VOID DDKAPI
-(*TDI_BINDING_HANDLER)(
- /*IN*/ TDI_PNP_OPCODE PnPOpcode,
- /*IN*/ PUNICODE_STRING DeviceName,
- /*IN*/ PWSTR MultiSZBindList);
-
-typedef VOID DDKAPI
-(*TDI_BIND_HANDLER)(
- /*IN*/ PUNICODE_STRING DeviceName);
-
-typedef VOID DDKAPI
-(*TDI_DEL_ADDRESS_HANDLER)(
- /*IN*/ PTA_ADDRESS Address);
-
-typedef VOID DDKAPI
-(*TDI_DEL_ADDRESS_HANDLER_V2)(
- /*IN*/ PTA_ADDRESS Address,
- /*IN*/ PUNICODE_STRING DeviceName,
- /*IN*/ PTDI_PNP_CONTEXT Context);
-
-typedef NTSTATUS DDKAPI
-(*TDI_PNP_POWER_HANDLER)(
- /*IN*/ PUNICODE_STRING DeviceName,
- /*IN*/ PNET_PNP_EVENT PowerEvent,
- /*IN*/ PTDI_PNP_CONTEXT Context1,
- /*IN*/ PTDI_PNP_CONTEXT Context2);
-
-typedef VOID DDKAPI
-(*TDI_UNBIND_HANDLER)(
- /*IN*/ PUNICODE_STRING DeviceName);
-
-typedef VOID DDKAPI
-(*ProviderPnPPowerComplete)(
- /*IN*/ PNET_PNP_EVENT NetEvent,
- /*IN*/ NTSTATUS ProviderStatus);
-
-typedef struct _TDI20_CLIENT_INTERFACE_INFO {
- _ANONYMOUS_UNION union {
- _ANONYMOUS_STRUCT struct {
- UCHAR MajorTdiVersion;
- UCHAR MinorTdiVersion;
- } DUMMYSTRUCTNAME;
- USHORT TdiVersion;
- } DUMMYUNIONNAME;
- USHORT Unused;
- PUNICODE_STRING ClientName;
- TDI_PNP_POWER_HANDLER PnPPowerHandler;
- _ANONYMOUS_UNION union {
- TDI_BINDING_HANDLER BindingHandler;
- _ANONYMOUS_STRUCT struct {
- TDI_BIND_HANDLER BindHandler;
- TDI_UNBIND_HANDLER UnBindHandler;
- } DUMMYSTRUCTNAME;
- }DUMMYUNIONNAME2;
- _ANONYMOUS_UNION union {
- _ANONYMOUS_STRUCT struct {
- TDI_ADD_ADDRESS_HANDLER_V2 AddAddressHandlerV2;
- TDI_DEL_ADDRESS_HANDLER_V2 DelAddressHandlerV2;
- } DUMMYSTRUCTNAME;
- _ANONYMOUS_STRUCT struct {
- TDI_ADD_ADDRESS_HANDLER AddAddressHandler;
- TDI_DEL_ADDRESS_HANDLER DelAddressHandler;
- } DUMMYSTRUCTNAME2;
- } DUMMYUNIONNAME3;
-} TDI20_CLIENT_INTERFACE_INFO, *PTDI20_CLIENT_INTERFACE_INFO;
-
-typedef TDI20_CLIENT_INTERFACE_INFO TDI_CLIENT_INTERFACE_INFO;
-typedef TDI_CLIENT_INTERFACE_INFO *PTDI_CLIENT_INTERFACE_INFO;
-
-
- /* TDI functions */
-
- /*
- * VOID
- * TdiCompleteRequest(
- * IN PIRP Irp,
- * IN NTSTATUS Status);
- */
-#define TdiCompleteRequest(Irp, Status) \
-{ \
- (Irp)->IoStatus.Status = (Status); \
- IoCompleteRequest((Irp), IO_NETWORK_INCREMENT); \
-}
-
-TDIKRNLAPI
-NTSTATUS
-DDKAPI
-TdiCopyBufferToMdl(
- /*IN*/ PVOID SourceBuffer,
- /*IN*/ ULONG SourceOffset,
- /*IN*/ ULONG SourceBytesToCopy,
- /*IN*/ PMDL DestinationMdlChain,
- /*IN*/ ULONG DestinationOffset,
- /*IN*/ PULONG BytesCopied);
-
- /*
- * VOID
- * TdiCopyLookaheadData(
- * IN PVOID Destination,
- * IN PVOID Source,
- * IN ULONG Length,
- * IN ULONG ReceiveFlags);
- */
-#define TdiCopyLookaheadData(Destination, Source, Length, ReceiveFlags) \
- RtlCopyMemory(Destination, Source, Length)
-
-TDIKRNLAPI
-NTSTATUS
-DDKAPI
-TdiCopyMdlChainToMdlChain (
- /*IN*/ PMDL SourceMdlChain,
- /*IN*/ ULONG SourceOffset,
- /*IN*/ PMDL DestinationMdlChain,
- /*IN*/ ULONG DestinationOffset,
- /*OUT*/ PULONG BytesCopied);
-
-TDIKRNLAPI
-NTSTATUS
-DDKAPI
-TdiCopyMdlToBuffer(
- /*IN*/ PMDL SourceMdlChain,
- /*IN*/ ULONG SourceOffset,
- /*IN*/ PVOID DestinationBuffer,
- /*IN*/ ULONG DestinationOffset,
- /*IN*/ ULONG DestinationBufferSize,
- /*OUT*/ PULONG BytesCopied);
-
-TDIKRNLAPI
-NTSTATUS
-DDKAPI
-TdiDeregisterAddressChangeHandler(
- /*IN*/ HANDLE BindingHandle);
-
-TDIKRNLAPI
-NTSTATUS
-DDKAPI
-TdiDeregisterDeviceObject(
- /*IN*/ HANDLE DevRegistrationHandle);
-
-TDIKRNLAPI
-NTSTATUS
-DDKAPI
-TdiDeregisterNetAddress(
- /*IN*/ HANDLE AddrRegistrationHandle);
-
-TDIKRNLAPI
-NTSTATUS
-DDKAPI
-TdiDeregisterPnPHandlers(
- /*IN*/ HANDLE BindingHandle);
-
-TDIKRNLAPI
-NTSTATUS
-DDKAPI
-TdiDeregisterProvider(
- /*IN*/ HANDLE ProviderHandle);
-
-TDIKRNLAPI
-NTSTATUS
-DDKAPI
-TdiEnumerateAddresses(
- /*IN*/ HANDLE BindingHandle);
-
-TDIKRNLAPI
-VOID
-DDKAPI
-TdiInitialize(
- VOID);
-
-TDIKRNLAPI
-VOID
-DDKAPI
-TdiMapBuffer(
- /*IN*/ PMDL MdlChain);
-
-TDIKRNLAPI
-NTSTATUS
-DDKAPI
-TdiMapUserRequest(
- /*IN*/ PDEVICE_OBJECT DeviceObject,
- /*IN*/ PIRP Irp,
- /*IN*/ PIO_STACK_LOCATION IrpSp);
-
-TDIKRNLAPI
-BOOLEAN
-DDKAPI
-TdiMatchPdoWithChainedReceiveContext(
- /*IN*/ PVOID TsduDescriptor,
- /*IN*/ PVOID PDO);
-
-TDIKRNLAPI
-VOID
-DDKAPI
-TdiPnPPowerComplete(
- /*IN*/ HANDLE BindingHandle,
- /*IN*/ PNET_PNP_EVENT PowerEvent,
- /*IN*/ NTSTATUS Status);
-
-TDIKRNLAPI
-NTSTATUS
-DDKAPI
-TdiPnPPowerRequest(
- /*IN*/ PUNICODE_STRING DeviceName,
- /*IN*/ PNET_PNP_EVENT PowerEvent,
- /*IN*/ PTDI_PNP_CONTEXT Context1,
- /*IN*/ PTDI_PNP_CONTEXT Context2,
- /*IN*/ ProviderPnPPowerComplete ProtocolCompletionHandler);
-
-TDIKRNLAPI
-NTSTATUS
-DDKAPI
-TdiProviderReady(
- /*IN*/ HANDLE ProviderHandle);
-
-TDIKRNLAPI
-NTSTATUS
-DDKAPI
-TdiRegisterAddressChangeHandler(
- /*IN*/ TDI_ADD_ADDRESS_HANDLER AddHandler,
- /*IN*/ TDI_DEL_ADDRESS_HANDLER DeleteHandler,
- /*OUT*/ HANDLE *BindingHandle);
-
-TDIKRNLAPI
-NTSTATUS
-DDKAPI
-TdiRegisterDeviceObject(
- /*IN*/ PUNICODE_STRING DeviceName,
- /*OUT*/ HANDLE *DevRegistrationHandle);
-
-TDIKRNLAPI
-NTSTATUS
-DDKAPI
-TdiRegisterNetAddress(
- /*IN*/ PTA_ADDRESS Address,
- /*IN*/ PUNICODE_STRING DeviceName,
- /*IN*/ PTDI_PNP_CONTEXT Context,
- /*OUT*/ HANDLE *AddrRegistrationHandle);
-
-TDIKRNLAPI
-NTSTATUS
-DDKAPI
-TdiRegisterNotificationHandler(
- /*IN*/ TDI_BIND_HANDLER BindHandler,
- /*IN*/ TDI_UNBIND_HANDLER UnbindHandler,
- /*OUT*/ HANDLE *BindingHandle);
-
-TDIKRNLAPI
-NTSTATUS
-DDKAPI
-TdiRegisterPnPHandlers(
- /*IN*/ PTDI_CLIENT_INTERFACE_INFO ClientInterfaceInfo,
- /*IN*/ ULONG InterfaceInfoSize,
- /*OUT*/ HANDLE *BindingHandle);
-
-TDIKRNLAPI
-NTSTATUS
-DDKAPI
-TdiRegisterProvider(
- /*IN*/ PUNICODE_STRING ProviderName,
- /*OUT*/ HANDLE *ProviderHandle);
-
-TDIKRNLAPI
-VOID
-DDKAPI
-TdiReturnChainedReceives(
- /*IN*/ PVOID *TsduDescriptors,
- /*IN*/ ULONG NumberOfTsdus);
-
-TDIKRNLAPI
-VOID
-DDKAPI
-TdiUnmapBuffer(
- /*IN*/ PMDL MdlChain);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __TDIKRNL_H */
diff --git a/winsup/w32api/include/ddk/tdistat.h b/winsup/w32api/include/ddk/tdistat.h
deleted file mode 100644
index f0588d257..000000000
--- a/winsup/w32api/include/ddk/tdistat.h
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * tdistat.h
- *
- * TDI status codes
- *
- * 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 __TDISTAT_H
-#define __TDISTAT_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define TDI_SUCCESS STATUS_SUCCESS
-#define TDI_NO_RESOURCES STATUS_INSUFFICIENT_RESOURCES
-#define TDI_ADDR_IN_USE STATUS_ADDRESS_ALREADY_EXISTS
-#define TDI_BAD_ADDR STATUS_INVALID_ADDRESS_COMPONENT
-#define TDI_NO_FREE_ADDR STATUS_TOO_MANY_ADDRESSES
-#define TDI_ADDR_INVALID STATUS_INVALID_ADDRESS
-#define TDI_ADDR_DELETED STATUS_ADDRESS_CLOSED
-#define TDI_BUFFER_OVERFLOW STATUS_BUFFER_OVERFLOW
-#define TDI_BAD_EVENT_TYPE STATUS_INVALID_PARAMETER
-#define TDI_BAD_OPTION STATUS_INVALID_PARAMETER
-#define TDI_CONN_REFUSED STATUS_CONNECTION_REFUSED
-#define TDI_INVALID_CONNECTION STATUS_CONNECTION_INVALID
-#define TDI_ALREADY_ASSOCIATED STATUS_ADDRESS_ALREADY_ASSOCIATED
-#define TDI_NOT_ASSOCIATED STATUS_ADDRESS_NOT_ASSOCIATED
-#define TDI_CONNECTION_ACTIVE STATUS_CONNECTION_ACTIVE
-#define TDI_CONNECTION_ABORTED STATUS_CONNECTION_ABORTED
-#define TDI_CONNECTION_RESET STATUS_CONNECTION_RESET
-#define TDI_TIMED_OUT STATUS_IO_TIMEOUT
-#define TDI_GRACEFUL_DISC STATUS_GRACEFUL_DISCONNECT
-#define TDI_NOT_ACCEPTED STATUS_DATA_NOT_ACCEPTED
-#define TDI_MORE_PROCESSING STATUS_MORE_PROCESSING_REQUIRED
-#define TDI_INVALID_STATE STATUS_INVALID_DEVICE_STATE
-#define TDI_INVALID_PARAMETER STATUS_INVALID_PARAMETER
-#define TDI_DEST_NET_UNREACH STATUS_NETWORK_UNREACHABLE
-#define TDI_DEST_HOST_UNREACH STATUS_HOST_UNREACHABLE
-#define TDI_DEST_UNREACHABLE TDI_DEST_HOST_UNREACH
-#define TDI_DEST_PROT_UNREACH STATUS_PROTOCOL_UNREACHABLE
-#define TDI_DEST_PORT_UNREACH STATUS_PORT_UNREACHABLE
-#define TDI_INVALID_QUERY STATUS_INVALID_DEVICE_REQUEST
-#define TDI_REQ_ABORTED STATUS_REQUEST_ABORTED
-#define TDI_BUFFER_TOO_SMALL STATUS_BUFFER_TOO_SMALL
-#define TDI_CANCELLED STATUS_CANCELLED
-#define TDI_BUFFER_TOO_BIG STATUS_INVALID_BUFFER_SIZE
-#define TDI_INVALID_REQUEST STATUS_INVALID_DEVICE_REQUEST
-#define TDI_PENDING STATUS_PENDING
-#define TDI_ITEM_NOT_FOUND STATUS_OBJECT_NAME_NOT_FOUND
-
-#define TDI_STATUS_BAD_VERSION 0xC0010004L
-#define TDI_STATUS_BAD_CHARACTERISTICS 0xC0010005L
-
-#define TDI_OPTION_EOL 0
-
-#define TDI_ADDRESS_OPTION_REUSE 1
-#define TDI_ADDRESS_OPTION_DHCP 2
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __TDISTAT_H */
diff --git a/winsup/w32api/include/ddk/tvout.h b/winsup/w32api/include/ddk/tvout.h
deleted file mode 100644
index 0310ae463..000000000
--- a/winsup/w32api/include/ddk/tvout.h
+++ /dev/null
@@ -1,116 +0,0 @@
-/*
- * tvout.h
- *
- * Definitions for TV-out support
- *
- * 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 __TVOUT_H
-#define __TVOUT_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-
-/* VIDEOPARAMETERS.dwCommand constants */
-#define VP_COMMAND_GET 0x00000001
-#define VP_COMMAND_SET 0x00000002
-
-/* VIDEOPARAMETERS.dwFlags constants */
-#define VP_FLAGS_TV_MODE 0x00000001
-#define VP_FLAGS_TV_STANDARD 0x00000002
-#define VP_FLAGS_FLICKER 0x00000004
-#define VP_FLAGS_OVERSCAN 0x00000008
-#define VP_FLAGS_MAX_UNSCALED 0x00000010
-#define VP_FLAGS_POSITION 0x00000020
-#define VP_FLAGS_BRIGHTNESS 0x00000040
-#define VP_FLAGS_CONTRAST 0x00000080
-#define VP_FLAGS_COPYPROTECT 0x00000100
-
-/* VIDEOPARAMETERS.dwMode constants */
-#define VP_MODE_WIN_GRAPHICS 0x00000001
-#define VP_MODE_TV_PLAYBACK 0x00000002
-
-/* VIDEOPARAMETERS.dwTVStandard/dwAvailableTVStandard constants */
-#define VP_TV_STANDARD_NTSC_M 0x00000001
-#define VP_TV_STANDARD_NTSC_M_J 0x00000002
-#define VP_TV_STANDARD_PAL_B 0x00000004
-#define VP_TV_STANDARD_PAL_D 0x00000008
-#define VP_TV_STANDARD_PAL_H 0x00000010
-#define VP_TV_STANDARD_PAL_I 0x00000020
-#define VP_TV_STANDARD_PAL_M 0x00000040
-#define VP_TV_STANDARD_PAL_N 0x00000080
-#define VP_TV_STANDARD_SECAM_B 0x00000100
-#define VP_TV_STANDARD_SECAM_D 0x00000200
-#define VP_TV_STANDARD_SECAM_G 0x00000400
-#define VP_TV_STANDARD_SECAM_H 0x00000800
-#define VP_TV_STANDARD_SECAM_K 0x00001000
-#define VP_TV_STANDARD_SECAM_K1 0x00002000
-#define VP_TV_STANDARD_SECAM_L 0x00004000
-#define VP_TV_STANDARD_WIN_VGA 0x00008000
-#define VP_TV_STANDARD_NTSC_433 0x00010000
-#define VP_TV_STANDARD_PAL_G 0x00020000
-#define VP_TV_STANDARD_PAL_60 0x00040000
-#define VP_TV_STANDARD_SECAM_L1 0x00080000
-
-/* VIDEOPARAMETERS.dwMode constants */
-#define VP_CP_TYPE_APS_TRIGGER 0x00000001
-#define VP_CP_TYPE_MACROVISION 0x00000002
-
-/* VIDEOPARAMETERS.dwCPCommand constants */
-#define VP_CP_CMD_ACTIVATE 0x00000001
-#define VP_CP_CMD_DEACTIVATE 0x00000002
-#define VP_CP_CMD_CHANGE 0x00000004
-
-typedef struct _VIDEOPARAMETERS {
- GUID Guid;
- DWORD dwOffset;
- DWORD dwCommand;
- DWORD dwFlags;
- DWORD dwMode;
- DWORD dwTVStandard;
- DWORD dwAvailableModes;
- DWORD dwAvailableTVStandard;
- DWORD dwFlickerFilter;
- DWORD dwOverScanX;
- DWORD dwOverScanY;
- DWORD dwMaxUnscaledX;
- DWORD dwMaxUnscaledY;
- DWORD dwPositionX;
- DWORD dwPositionY;
- DWORD dwBrightness;
- DWORD dwContrast;
- DWORD dwCPType;
- DWORD dwCPCommand;
- DWORD dwCPStandard;
- DWORD dwCPKey;
- BYTE bCP_APSTriggerBits;
- BYTE bOEMCopyProtection[256];
-} VIDEOPARAMETERS, *PVIDEOPARAMETERS, FAR *LPVIDEOPARAMETERS;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __TVOUT_H */
diff --git a/winsup/w32api/include/ddk/upssvc.h b/winsup/w32api/include/ddk/upssvc.h
deleted file mode 100644
index 561a163ff..000000000
--- a/winsup/w32api/include/ddk/upssvc.h
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * upssvc.h
- *
- * UPS service 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 __UPSSVC_H
-#define __UPSSVC_H
-
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-
-#if defined(_APCUPS_)
- #define UPSAPI DECLSPEC_EXPORT
-#else
- #define UPSAPI DECLSPEC_IMPORT
-#endif
-
-
-#define UPS_ONLINE 1
-#define UPS_ONBATTERY 2
-#define UPS_LOWBATTERY 4
-#define UPS_NOCOMM 8
-#define UPS_CRITICAL 16
-
-UPSAPI
-VOID
-DDKAPI
-UPSCancelWait(VOID);
-
-UPSAPI
-DWORD
-DDKAPI
-UPSGetState(VOID);
-
-#define UPS_INITUNKNOWNERROR 0
-#define UPS_INITOK 1
-#define UPS_INITNOSUCHDRIVER 2
-#define UPS_INITBADINTERFACE 3
-#define UPS_INITREGISTRYERROR 4
-#define UPS_INITCOMMOPENERROR 5
-#define UPS_INITCOMMSETUPERROR 6
-
-UPSAPI
-DWORD
-DDKAPI
-UPSInit(VOID);
-
-UPSAPI
-VOID
-DDKAPI
-UPSStop(VOID);
-
-UPSAPI
-VOID
-DDKAPI
-UPSTurnOff(
- /*IN*/ DWORD aTurnOffDelay);
-
-UPSAPI
-VOID
-DDKAPI
-UPSWaitForStateChange(
- /*IN*/ DWORD aCurrentState,
- /*IN*/ DWORD anInterval);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __UPSSVC_H */
diff --git a/winsup/w32api/include/ddk/usb.h b/winsup/w32api/include/ddk/usb.h
deleted file mode 100644
index 18dac4c8f..000000000
--- a/winsup/w32api/include/ddk/usb.h
+++ /dev/null
@@ -1,471 +0,0 @@
-/*
- * usb.h
- *
- * USB support.
- *
- * 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 __USB_H
-#define __USB_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __USBDI_H
-#error usbdi.h cannot be included with usb.h
-#else
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-#include "usb100.h"
-
-typedef LONG USBD_STATUS;
-typedef PVOID USBD_PIPE_HANDLE;
-typedef PVOID USBD_CONFIGURATION_HANDLE;
-typedef PVOID USBD_INTERFACE_HANDLE;
-
-#define USBD_STATUS_SUCCESS ((USBD_STATUS)0x00000000L)
-#define USBD_STATUS_PENDING ((USBD_STATUS)0x40000000L)
-#define USBD_STATUS_CRC ((USBD_STATUS)0xC0000001L)
-#define USBD_STATUS_BTSTUFF ((USBD_STATUS)0xC0000002L)
-#define USBD_STATUS_DATA_TOGGLE_MISMATCH ((USBD_STATUS)0xC0000003L)
-#define USBD_STATUS_STALL_PID ((USBD_STATUS)0xC0000004L)
-#define USBD_STATUS_DEV_NOT_RESPONDING ((USBD_STATUS)0xC0000005L)
-#define USBD_STATUS_PID_CHECK_FAILURE ((USBD_STATUS)0xC0000006L)
-#define USBD_STATUS_UNEXPECTED_PID ((USBD_STATUS)0xC0000007L)
-#define USBD_STATUS_DATA_OVERRUN ((USBD_STATUS)0xC0000008L)
-#define USBD_STATUS_DATA_UNDERRUN ((USBD_STATUS)0xC0000009L)
-#define USBD_STATUS_RESERVED1 ((USBD_STATUS)0xC000000AL)
-#define USBD_STATUS_RESERVED2 ((USBD_STATUS)0xC000000BL)
-#define USBD_STATUS_BUFFER_OVERRUN ((USBD_STATUS)0xC000000CL)
-#define USBD_STATUS_BUFFER_UNDERRUN ((USBD_STATUS)0xC000000DL)
-#define USBD_STATUS_NOT_ACCESSED ((USBD_STATUS)0xC000000FL)
-#define USBD_STATUS_FIFO ((USBD_STATUS)0xC0000010L)
-#define USBD_STATUS_XACT_ERROR ((USBD_STATUS)0xC0000011L)
-#define USBD_STATUS_BABBLE_DETECTED ((USBD_STATUS)0xC0000012L)
-#define USBD_STATUS_DATA_BUFFER_ERROR ((USBD_STATUS)0xC0000013L)
-#define USBD_STATUS_ENDPOINT_HALTED ((USBD_STATUS)0xC0000030L)
-#define USBD_STATUS_INVALID_URB_FUNCTION ((USBD_STATUS)0x80000200L)
-#define USBD_STATUS_INVALID_PARAMETER ((USBD_STATUS)0x80000300L)
-#define USBD_STATUS_ERROR_BUSY ((USBD_STATUS)0x80000400L)
-#define USBD_STATUS_INVALID_PIPE_HANDLE ((USBD_STATUS)0x80000600L)
-#define USBD_STATUS_NO_BANDWIDTH ((USBD_STATUS)0x80000700L)
-#define USBD_STATUS_INTERNAL_HC_ERROR ((USBD_STATUS)0x80000800L)
-#define USBD_STATUS_ERROR_SHORT_TRANSFER ((USBD_STATUS)0x80000900L)
-#define USBD_STATUS_BAD_START_FRAME ((USBD_STATUS)0xC0000A00L)
-#define USBD_STATUS_ISOCH_REQUEST_FAILED ((USBD_STATUS)0xC0000B00L)
-#define USBD_STATUS_FRAME_CONTROL_OWNED ((USBD_STATUS)0xC0000C00L)
-#define USBD_STATUS_FRAME_CONTROL_NOT_OWNED \
- ((USBD_STATUS)0xC0000D00L)
-#define USBD_STATUS_NOT_SUPPORTED ((USBD_STATUS)0xC0000E00L)
-#define USBD_STATUS_INAVLID_CONFIGURATION_DESCRIPTOR \
- ((USBD_STATUS)0xC0000F00L)
-#define USBD_STATUS_INSUFFICIENT_RESOURCES \
- ((USBD_STATUS)0xC0001000L)
-#define USBD_STATUS_SET_CONFIG_FAILED ((USBD_STATUS)0xC0002000L)
-#define USBD_STATUS_BUFFER_TOO_SMALL ((USBD_STATUS)0xC0003000L)
-#define USBD_STATUS_INTERFACE_NOT_FOUND ((USBD_STATUS)0xC0004000L)
-#define USBD_STATUS_INAVLID_PIPE_FLAGS ((USBD_STATUS)0xC0005000L)
-#define USBD_STATUS_TIMEOUT ((USBD_STATUS)0xC0006000L)
-#define USBD_STATUS_DEVICE_GONE ((USBD_STATUS)0xC0007000L)
-#define USBD_STATUS_STATUS_NOT_MAPPED ((USBD_STATUS)0xC0008000L)
-#define USBD_STATUS_CANCELED ((USBD_STATUS)0xC0010000L)
-#define USBD_STATUS_ISO_NOT_ACCESSED_BY_HW \
- ((USBD_STATUS)0xC0020000L)
-#define USBD_STATUS_ISO_TD_ERROR ((USBD_STATUS)0xC0030000L)
-#define USBD_STATUS_ISO_NA_LATE_USBPORT ((USBD_STATUS)0xC0040000L)
-#define USBD_STATUS_ISO_NOT_ACCESSED_LATE ((USBD_STATUS)0xC0050000L)
-
-#define USBD_SUCCESS(Status) ((USBD_STATUS)(Status) >= 0)
-#define USBD_PENDING(Status) ((ULONG)(Status) >> 30 == 1)
-#define USBD_ERROR(Status) ((USBD_STATUS)(Status) < 0)
-
-/* URB TransferFlags constants */
-#define USBD_TRANSFER_DIRECTION(x) ((x) & USBD_TRANSFER_DIRECTION_IN)
-#define USBD_TRANSFER_DIRECTION_OUT 0
-#define USBD_TRANSFER_DIRECTION_BIT 0
-#define USBD_TRANSFER_DIRECTION_IN (1 << USBD_TRANSFER_DIRECTION_BIT)
-#define USBD_SHORT_TRANSFER_OK_BIT 1
-#define USBD_SHORT_TRANSFER_OK (1 << USBD_SHORT_TRANSFER_OK_BIT)
-#define USBD_START_ISO_TRANSFER_ASAP_BIT 2
-#define USBD_START_ISO_TRANSFER_ASAP (1 << USBD_START_ISO_TRANSFER_ASAP_BIT)
-#define USBD_DEFAULT_PIPE_TRANSFER_BIT 3
-#define USBD_DEFAULT_PIPE_TRANSFER (1 << USBD_DEFAULT_PIPE_TRANSFER_BIT)
-
-#define USBD_TRANSFER_DIRECTION_FLAG(flags) ((flags) & USBD_TRANSFER_DIRECTION)
-
-#define VALID_TRANSFER_FLAGS_MASK \
- (USBD_SHORT_TRANSFER_OK | \
- USBD_TRANSFER_DIRECTION | \
- USBD_START_ISO_TRANSFER_ASAP | \
- USBD_DEFAULT_PIPE_TRANSFER)
-
-#define USB_DEFAULT_DEVICE_ADDRESS 0
-#define USB_DEFAULT_ENDPOINT_ADDRESS 0
-#define USB_DEFAULT_MAX_PACKET 64
-#define USBD_ISO_START_FRAME_RANGE 1024
-#define USBD_DEFAULT_MAXIMUM_TRANSFER_SIZE 0xFFFFFFFF
-
-typedef enum _USB_CONTROLLER_FLAVOR {
- USB_HcGeneric = 0,
- OHCI_Generic = 100,
- OHCI_Hydra,
- OHCI_NEC,
- UHCI_Generic = 200,
- UHCI_Piix4,
- UHCI_Piix3,
- UHCI_Ich2_1,
- UHCI_Ich2_2,
- UHCI_Ich1,
- UHCI_VIA = 250,
- EHCI_Generic = 1000,
- EHCI_NEC = 2000,
- EHCI_Lucent = 3000
-} USB_CONTROLLER_FLAVOR;
-
-struct _URB_HEADER {
- USHORT Length;
- USHORT Function;
- USBD_STATUS Status;
- PVOID UsbdDeviceHandle;
- ULONG UsbdFlags;
-};
-
-typedef struct _USBD_VERSION_INFORMATION {
- ULONG USBDI_Version;
- ULONG Supported_USB_Version;
-} USBD_VERSION_INFORMATION, *PUSBD_VERSION_INFORMATION;
-
-struct _URB_HCD_AREA {
- PVOID Reserved8[8];
-};
-
-struct _URB_BULK_OR_INTERRUPT_TRANSFER {
- struct _URB_HEADER Hdr;
- USBD_PIPE_HANDLE PipeHandle;
- ULONG TransferFlags;
- ULONG TransferBufferLength;
- PVOID TransferBuffer;
- PMDL TransferBufferMDL;
- struct _URB *UrbLink;
- struct _URB_HCD_AREA hca;
-};
-
-struct _URB_CONTROL_DESCRIPTOR_REQUEST {
- struct _URB_HEADER Hdr;
- PVOID Reserved;
- ULONG Reserved0;
- ULONG TransferBufferLength;
- PVOID TransferBuffer;
- PMDL TransferBufferMDL;
- struct _URB *UrbLink;
- struct _URB_HCD_AREA hca;
- USHORT Reserved1;
- UCHAR Index;
- UCHAR DescriptorType;
- USHORT LanguageId;
- USHORT Reserved2;
-};
-
-struct _URB_CONTROL_FEATURE_REQUEST {
- struct _URB_HEADER Hdr;
- PVOID Reserved;
- ULONG Reserved2;
- ULONG Reserved3;
- PVOID Reserved4;
- PMDL Reserved5;
- struct _URB *UrbLink;
- struct _URB_HCD_AREA hca;
- USHORT Reserved0;
- USHORT FeatureSelector;
- USHORT Index;
- USHORT Reserved1;
-};
-
-struct _URB_CONTROL_GET_CONFIGURATION_REQUEST {
- struct _URB_HEADER Hdr;
- PVOID Reserved;
- ULONG Reserved0;
- ULONG TransferBufferLength;
- PVOID TransferBuffer;
- PMDL TransferBufferMDL;
- struct _URB *UrbLink;
- struct _URB_HCD_AREA hca;
- UCHAR Reserved1[8];
-};
-
-struct _URB_CONTROL_GET_INTERFACE_REQUEST {
- struct _URB_HEADER Hdr;
- PVOID Reserved;
- ULONG Reserved0;
- ULONG TransferBufferLength;
- PVOID TransferBuffer;
- PMDL TransferBufferMDL;
- struct _URB *UrbLink;
- struct _URB_HCD_AREA hca;
- UCHAR Reserved1[4];
- USHORT Interface;
- USHORT Reserved2;
-};
-
-struct _URB_CONTROL_GET_STATUS_REQUEST {
- struct _URB_HEADER Hdr;
- PVOID Reserved;
- ULONG Reserved0;
- ULONG TransferBufferLength;
- PVOID TransferBuffer;
- PMDL TransferBufferMDL;
- struct _URB *UrbLink;
- struct _URB_HCD_AREA hca;
- UCHAR Reserved1[4];
- USHORT Index;
- USHORT Reserved2;
-};
-
-struct _URB_CONTROL_TRANSFER {
- struct _URB_HEADER Hdr;
- USBD_PIPE_HANDLE PipeHandle;
- ULONG TransferFlags;
- ULONG TransferBufferLength;
- PVOID TransferBuffer;
- PMDL TransferBufferMDL;
- struct _URB *UrbLink;
- struct _URB_HCD_AREA hca;
- UCHAR SetupPacket[8];
-};
-
-struct _URB_CONTROL_VENDOR_OR_CLASS_REQUEST {
- struct _URB_HEADER Hdr;
- PVOID Reserved;
- ULONG TransferFlags;
- ULONG TransferBufferLength;
- PVOID TransferBuffer;
- PMDL TransferBufferMDL;
- struct _URB *UrbLink;
- struct _URB_HCD_AREA hca;
- UCHAR RequestTypeReservedBits;
- UCHAR Request;
- USHORT Value;
- USHORT Index;
- USHORT Reserved1;
-};
-
-struct _URB_FRAME_LENGTH_CONTROL {
- struct _URB_HEADER Hdr;
-};
-
-struct _URB_GET_CURRENT_FRAME_NUMBER {
- struct _URB_HEADER Hdr;
- ULONG FrameNumber;
-};
-
-struct _URB_GET_FRAME_LENGTH {
- struct _URB_HEADER Hdr;
- ULONG FrameLength;
- ULONG FrameNumber;
-};
-
-typedef struct _USBD_ISO_PACKET_DESCRIPTOR {
- ULONG Offset;
- ULONG Length;
- USBD_STATUS Status;
-} USBD_ISO_PACKET_DESCRIPTOR, *PUSBD_ISO_PACKET_DESCRIPTOR;
-
-struct _URB_ISOCH_TRANSFER {
- struct _URB_HEADER Hdr;
- USBD_PIPE_HANDLE PipeHandle;
- ULONG TransferFlags;
- ULONG TransferBufferLength;
- PVOID TransferBuffer;
- PMDL TransferBufferMDL;
- struct _URB *UrbLink;
- struct _URB_HCD_AREA hca;
- ULONG StartFrame;
- ULONG NumberOfPackets;
- ULONG ErrorCount;
- USBD_ISO_PACKET_DESCRIPTOR IsoPacket[1];
-};
-
-typedef enum _USBD_PIPE_TYPE {
- UsbdPipeTypeControl,
- UsbdPipeTypeIsochronous,
- UsbdPipeTypeBulk,
- UsbdPipeTypeInterrupt
-} USBD_PIPE_TYPE;
-
-typedef struct _USBD_PIPE_INFORMATION {
- USHORT MaximumPacketSize;
- UCHAR EndpointAddress;
- UCHAR Interval;
- USBD_PIPE_TYPE PipeType;
- USBD_PIPE_HANDLE PipeHandle;
- ULONG MaximumTransferSize;
- ULONG PipeFlags;
-} USBD_PIPE_INFORMATION, *PUSBD_PIPE_INFORMATION ;
-
-#define USBD_PIPE_DIRECTION_IN(pipeInformation) \
- ((pipeInformation)->EndpointAddress & USB_ENDPOINT_DIRECTION_MASK)
-
-typedef struct _USBD_INTERFACE_INFORMATION {
- USHORT Length;
- UCHAR InterfaceNumber;
- UCHAR AlternateSetting;
- UCHAR Class;
- UCHAR SubClass;
- UCHAR Protocol;
- UCHAR Reserved;
- USBD_INTERFACE_HANDLE InterfaceHandle;
- ULONG NumberOfPipes;
- USBD_PIPE_INFORMATION Pipes[1];
-} USBD_INTERFACE_INFORMATION, *PUSBD_INTERFACE_INFORMATION;
-
-struct _URB_SELECT_INTERFACE {
- struct _URB_HEADER Hdr;
- USBD_CONFIGURATION_HANDLE ConfigurationHandle;
- USBD_INTERFACE_INFORMATION Interface;
-};
-
-struct _URB_SELECT_CONFIGURATION {
- struct _URB_HEADER Hdr;
- PUSB_CONFIGURATION_DESCRIPTOR ConfigurationDescriptor;
- USBD_CONFIGURATION_HANDLE ConfigurationHandle;
- USBD_INTERFACE_INFORMATION Interface;
-};
-
-struct _URB_PIPE_REQUEST {
- struct _URB_HEADER Hdr;
- USBD_PIPE_HANDLE PipeHandle;
- ULONG Reserved;
-};
-
-struct _URB_SET_FRAME_LENGTH {
- struct _URB_HEADER Hdr;
- LONG FrameLengthDelta;
-};
-
-typedef struct _URB {
- _ANONYMOUS_UNION union {
- struct _URB_HEADER UrbHeader;
- struct _URB_SELECT_INTERFACE UrbSelectInterface;
- struct _URB_SELECT_CONFIGURATION UrbSelectConfiguration;
- struct _URB_PIPE_REQUEST UrbPipeRequest;
- struct _URB_FRAME_LENGTH_CONTROL UrbFrameLengthControl;
- struct _URB_GET_FRAME_LENGTH UrbGetFrameLength;
- struct _URB_SET_FRAME_LENGTH UrbSetFrameLength;
- struct _URB_GET_CURRENT_FRAME_NUMBER UrbGetCurrentFrameNumber;
- struct _URB_CONTROL_TRANSFER UrbControlTransfer;
- struct _URB_BULK_OR_INTERRUPT_TRANSFER UrbBulkOrInterruptTransfer;
- struct _URB_ISOCH_TRANSFER UrbIsochronousTransfer;
- struct _URB_CONTROL_DESCRIPTOR_REQUEST UrbControlDescriptorRequest;
- struct _URB_CONTROL_GET_STATUS_REQUEST UrbControlGetStatusRequest;
- struct _URB_CONTROL_FEATURE_REQUEST UrbControlFeatureRequest;
- struct _URB_CONTROL_VENDOR_OR_CLASS_REQUEST UrbControlVendorClassRequest;
- struct _URB_CONTROL_GET_INTERFACE_REQUEST UrbControlGetInterfaceRequest;
- struct _URB_CONTROL_GET_CONFIGURATION_REQUEST UrbControlGetConfigurationRequest;
- } DUMMYUNIONNAME;
-} URB, *PURB;
-
-#define URB_FROM_IRP(Irp) ((IoGetCurrentIrpStackLocation(Irp))->Parameters.Others.Argument1)
-
-#define URB_FUNCTION_SELECT_CONFIGURATION 0x0000
-#define URB_FUNCTION_SELECT_INTERFACE 0x0001
-#define URB_FUNCTION_ABORT_PIPE 0x0002
-#define URB_FUNCTION_TAKE_FRAME_LENGTH_CONTROL 0x0003
-#define URB_FUNCTION_RELEASE_FRAME_LENGTH_CONTROL 0x0004
-#define URB_FUNCTION_GET_FRAME_LENGTH 0x0005
-#define URB_FUNCTION_SET_FRAME_LENGTH 0x0006
-#define URB_FUNCTION_GET_CURRENT_FRAME_NUMBER 0x0007
-#define URB_FUNCTION_CONTROL_TRANSFER 0x0008
-#define URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER 0x0009
-#define URB_FUNCTION_ISOCH_TRANSFER 0x000A
-#define URB_FUNCTION_GET_DESCRIPTOR_FROM_DEVICE 0x000B
-#define URB_FUNCTION_SET_DESCRIPTOR_TO_DEVICE 0x000C
-#define URB_FUNCTION_SET_FEATURE_TO_DEVICE 0x000D
-#define URB_FUNCTION_SET_FEATURE_TO_INTERFACE 0x000E
-#define URB_FUNCTION_SET_FEATURE_TO_ENDPOINT 0x000F
-#define URB_FUNCTION_CLEAR_FEATURE_TO_DEVICE 0x0010
-#define URB_FUNCTION_CLEAR_FEATURE_TO_INTERFACE 0x0011
-#define URB_FUNCTION_CLEAR_FEATURE_TO_ENDPOINT 0x0012
-#define URB_FUNCTION_GET_STATUS_FROM_DEVICE 0x0013
-#define URB_FUNCTION_GET_STATUS_FROM_INTERFACE 0x0014
-#define URB_FUNCTION_GET_STATUS_FROM_ENDPOINT 0x0015
-#define URB_FUNCTION_RESERVED_0X0016 0x0016
-#define URB_FUNCTION_VENDOR_DEVICE 0x0017
-#define URB_FUNCTION_VENDOR_INTERFACE 0x0018
-#define URB_FUNCTION_VENDOR_ENDPOINT 0x0019
-#define URB_FUNCTION_CLASS_DEVICE 0x001A
-#define URB_FUNCTION_CLASS_INTERFACE 0x001B
-#define URB_FUNCTION_CLASS_ENDPOINT 0x001C
-#define URB_FUNCTION_RESERVE_0X001D 0x001D
-#define URB_FUNCTION_SYNC_RESET_PIPE_AND_CLEAR_STALL 0x001E
-#define URB_FUNCTION_CLASS_OTHER 0x001F
-#define URB_FUNCTION_VENDOR_OTHER 0x0020
-#define URB_FUNCTION_GET_STATUS_FROM_OTHER 0x0021
-#define URB_FUNCTION_CLEAR_FEATURE_TO_OTHER 0x0022
-#define URB_FUNCTION_SET_FEATURE_TO_OTHER 0x0023
-#define URB_FUNCTION_GET_DESCRIPTOR_FROM_ENDPOINT 0x0024
-#define URB_FUNCTION_SET_DESCRIPTOR_TO_ENDPOINT 0x0025
-#define URB_FUNCTION_GET_CONFIGURATION 0x0026
-#define URB_FUNCTION_GET_INTERFACE 0x0027
-#define URB_FUNCTION_GET_DESCRIPTOR_FROM_INTERFACE 0x0028
-#define URB_FUNCTION_SET_DESCRIPTOR_TO_INTERFACE 0x0029
-#define URB_FUNCTION_GET_MS_FEATURE_DESCRIPTOR 0x002A
-#define URB_FUNCTION_RESERVE_0X002B 0x002B
-#define URB_FUNCTION_RESERVE_0X002C 0x002C
-#define URB_FUNCTION_RESERVE_0X002D 0x002D
-#define URB_FUNCTION_RESERVE_0X002E 0x002E
-#define URB_FUNCTION_RESERVE_0X002F 0x002F
-#define URB_FUNCTION_SYNC_RESET_PIPE 0x0030
-#define URB_FUNCTION_SYNC_CLEAR_STALL 0x0031
-
-#define USBD_PF_CHANGE_MAX_PACKET 0x00000001
-#define USBD_PF_SHORT_PACKET_OPT 0x00000002
-#define USBD_PF_ENABLE_RT_THREAD_ACCESS 0x00000004
-#define USBD_PF_MAP_ADD_TRANSFERS 0x00000008
-
-#define USBD_PF_VALID_MASK (USBD_PF_CHANGE_MAX_PACKET | \
- USBD_PF_SHORT_PACKET_OPT | \
- USBD_PF_ENABLE_RT_THREAD_ACCESS | \
- USBD_PF_MAP_ADD_TRANSFERS)
-
-#define OS_STRING_DESCRIPTOR_INDEX 0xEE
-
-#define MS_GENRE_DESCRIPTOR_INDEX 0x0001
-#define MS_POWER_DESCRIPTOR_INDEX 0x0002
-
-#define MS_OS_STRING_SIGNATURE L"MSFT100"
-
-typedef struct _OS_STRING {
- UCHAR bLength;
- UCHAR bDescriptorType;
- WCHAR MicrosoftString[7];
- UCHAR bVendorCode;
- UCHAR bPad;
-} OS_STRING, *POS_STRING;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* defined __USBDI_H */
-
-#endif /* __USB_H */
diff --git a/winsup/w32api/include/ddk/usb100.h b/winsup/w32api/include/ddk/usb100.h
deleted file mode 100644
index 53b774ba2..000000000
--- a/winsup/w32api/include/ddk/usb100.h
+++ /dev/null
@@ -1,237 +0,0 @@
-/*
- * usb100.h
- *
- * USB 1.0 support
- *
- * 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 __USB100_H
-#define __USB100_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-
-#define MAXIMUM_USB_STRING_LENGTH 255
-
-#define USB_DEVICE_CLASS_RESERVED 0x00
-#define USB_DEVICE_CLASS_AUDIO 0x01
-#define USB_DEVICE_CLASS_COMMUNICATIONS 0x02
-#define USB_DEVICE_CLASS_HUMAN_INTERFACE 0x03
-#define USB_DEVICE_CLASS_MONITOR 0x04
-#define USB_DEVICE_CLASS_PHYSICAL_INTERFACE 0x05
-#define USB_DEVICE_CLASS_POWER 0x06
-#define USB_DEVICE_CLASS_PRINTER 0x07
-#define USB_DEVICE_CLASS_STORAGE 0x08
-#define USB_DEVICE_CLASS_HUB 0x09
-#define USB_DEVICE_CLASS_VENDOR_SPECIFIC 0xFF
-
-#define USB_RESERVED_DESCRIPTOR_TYPE 0x06
-#define USB_CONFIG_POWER_DESCRIPTOR_TYPE 0x07
-#define USB_INTERFACE_POWER_DESCRIPTOR_TYPE 0x08
-
-#define USB_REQUEST_GET_STATUS 0x00
-#define USB_REQUEST_CLEAR_FEATURE 0x01
-#define USB_REQUEST_SET_FEATURE 0x03
-#define USB_REQUEST_SET_ADDRESS 0x05
-#define USB_REQUEST_GET_DESCRIPTOR 0x06
-#define USB_REQUEST_SET_DESCRIPTOR 0x07
-#define USB_REQUEST_GET_CONFIGURATION 0x08
-#define USB_REQUEST_SET_CONFIGURATION 0x09
-#define USB_REQUEST_GET_INTERFACE 0x0A
-#define USB_REQUEST_SET_INTERFACE 0x0B
-#define USB_REQUEST_SYNC_FRAME 0x0C
-
-#define USB_GETSTATUS_SELF_POWERED 0x01
-#define USB_GETSTATUS_REMOTE_WAKEUP_ENABLED 0x02
-
-#define BMREQUEST_HOST_TO_DEVICE 0
-#define BMREQUEST_DEVICE_TO_HOST 1
-
-#define BMREQUEST_STANDARD 0
-#define BMREQUEST_CLASS 1
-#define BMREQUEST_VENDOR 2
-
-#define BMREQUEST_TO_DEVICE 0
-#define BMREQUEST_TO_INTERFACE 1
-#define BMREQUEST_TO_ENDPOINT 2
-#define BMREQUEST_TO_OTHER 3
-
-/* USB_COMMON_DESCRIPTOR.bDescriptorType constants */
-#define USB_DEVICE_DESCRIPTOR_TYPE 0x01
-#define USB_CONFIGURATION_DESCRIPTOR_TYPE 0x02
-#define USB_STRING_DESCRIPTOR_TYPE 0x03
-#define USB_INTERFACE_DESCRIPTOR_TYPE 0x04
-#define USB_ENDPOINT_DESCRIPTOR_TYPE 0x05
-
-typedef struct _USB_COMMON_DESCRIPTOR {
- UCHAR bLength;
- UCHAR bDescriptorType;
-} USB_COMMON_DESCRIPTOR, *PUSB_COMMON_DESCRIPTOR;
-
-#define USB_DESCRIPTOR_MAKE_TYPE_AND_INDEX(d, i) ((USHORT)((USHORT)d << 8 | i))
-
-/* USB_CONFIGURATION_DESCRIPTOR.bmAttributes constants */
-#define USB_CONFIG_POWERED_MASK 0xc0
-#define USB_CONFIG_BUS_POWERED 0x80
-#define USB_CONFIG_SELF_POWERED 0x40
-#define USB_CONFIG_REMOTE_WAKEUP 0x20
-
-#include <pshpack1.h>
-typedef struct _USB_CONFIGURATION_DESCRIPTOR {
- UCHAR bLength;
- UCHAR bDescriptorType;
- USHORT wTotalLength;
- UCHAR bNumInterfaces;
- UCHAR bConfigurationValue;
- UCHAR iConfiguration;
- UCHAR bmAttributes;
- UCHAR MaxPower;
-} USB_CONFIGURATION_DESCRIPTOR, *PUSB_CONFIGURATION_DESCRIPTOR;
-#include <poppack.h>
-
-typedef struct _USB_DEVICE_DESCRIPTOR {
- UCHAR bLength;
- UCHAR bDescriptorType;
- USHORT bcdUSB;
- UCHAR bDeviceClass;
- UCHAR bDeviceSubClass;
- UCHAR bDeviceProtocol;
- UCHAR bMaxPacketSize0;
- USHORT idVendor;
- USHORT idProduct;
- USHORT bcdDevice;
- UCHAR iManufacturer;
- UCHAR iProduct;
- UCHAR iSerialNumber;
- UCHAR bNumConfigurations;
-} USB_DEVICE_DESCRIPTOR, *PUSB_DEVICE_DESCRIPTOR;
-
-#define USB_ENDPOINT_DIRECTION_MASK 0x80
-
-#define USB_ENDPOINT_DIRECTION_OUT(x) (!((x) & USB_ENDPOINT_DIRECTION_MASK))
-#define USB_ENDPOINT_DIRECTION_IN(x) ((x) & USB_ENDPOINT_DIRECTION_MASK)
-
-/* USB_ENDPOINT_DESCRIPTOR.bmAttributes constants */
-#define USB_ENDPOINT_TYPE_MASK 0x03
-#define USB_ENDPOINT_TYPE_CONTROL 0x00
-#define USB_ENDPOINT_TYPE_ISOCHRONOUS 0x01
-#define USB_ENDPOINT_TYPE_BULK 0x02
-#define USB_ENDPOINT_TYPE_INTERRUPT 0x03
-
-#include <pshpack1.h>
-typedef struct _USB_ENDPOINT_DESCRIPTOR {
- UCHAR bLength;
- UCHAR bDescriptorType;
- UCHAR bEndpointAddress;
- UCHAR bmAttributes;
- USHORT wMaxPacketSize;
- UCHAR bInterval;
-} USB_ENDPOINT_DESCRIPTOR, *PUSB_ENDPOINT_DESCRIPTOR;
-#include <poppack.h>
-
-#define USB_FEATURE_ENDPOINT_STALL 0x0000
-#define USB_FEATURE_REMOTE_WAKEUP 0x0001
-
-typedef struct _USB_INTERFACE_DESCRIPTOR {
- UCHAR bLength;
- UCHAR bDescriptorType;
- UCHAR bInterfaceNumber;
- UCHAR bAlternateSetting;
- UCHAR bNumEndpoints;
- UCHAR bInterfaceClass;
- UCHAR bInterfaceSubClass;
- UCHAR bInterfaceProtocol;
- UCHAR iInterface;
-} USB_INTERFACE_DESCRIPTOR, *PUSB_INTERFACE_DESCRIPTOR;
-
-typedef struct _USB_STRING_DESCRIPTOR {
- UCHAR bLength;
- UCHAR bDescriptorType;
- WCHAR bString[1];
-} USB_STRING_DESCRIPTOR, *PUSB_STRING_DESCRIPTOR;
-
-#include <pshpack1.h>
-typedef struct _USB_HUB_DESCRIPTOR {
- UCHAR bDescriptorLength;
- UCHAR bDescriptorType;
- UCHAR bNumberOfPorts;
- USHORT wHubCharacteristics;
- UCHAR bPowerOnToPowerGood;
- UCHAR bHubControlCurrent;
- UCHAR bRemoveAndPowerMask[64];
-} USB_HUB_DESCRIPTOR, *PUSB_HUB_DESCRIPTOR;
-#include <poppack.h>
-
-#define USB_SUPPORT_D0_COMMAND 0x01
-#define USB_SUPPORT_D1_COMMAND 0x02
-#define USB_SUPPORT_D2_COMMAND 0x04
-#define USB_SUPPORT_D3_COMMAND 0x08
-
-#define USB_SUPPORT_D1_WAKEUP 0x10
-#define USB_SUPPORT_D2_WAKEUP 0x20
-
-typedef struct _USB_CONFIGURATION_POWER_DESCRIPTOR {
- UCHAR bLength;
- UCHAR bDescriptorType;
- UCHAR SelfPowerConsumedD0[3];
- UCHAR bPowerSummaryId;
- UCHAR bBusPowerSavingD1;
- UCHAR bSelfPowerSavingD1;
- UCHAR bBusPowerSavingD2;
- UCHAR bSelfPowerSavingD2;
- UCHAR bBusPowerSavingD3;
- UCHAR bSelfPowerSavingD3;
- USHORT TransitionTimeFromD1;
- USHORT TransitionTimeFromD2;
- USHORT TransitionTimeFromD3;
-} USB_CONFIGURATION_POWER_DESCRIPTOR, *PUSB_CONFIGURATION_POWER_DESCRIPTOR;
-
-#define USB_FEATURE_INTERFACE_POWER_D0 0x0002
-#define USB_FEATURE_INTERFACE_POWER_D1 0x0003
-#define USB_FEATURE_INTERFACE_POWER_D2 0x0004
-#define USB_FEATURE_INTERFACE_POWER_D3 0x0005
-
-#include <pshpack1.h>
-typedef struct _USB_INTERFACE_POWER_DESCRIPTOR {
- UCHAR bLength;
- UCHAR bDescriptorType;
- UCHAR bmCapabilitiesFlags;
- UCHAR bBusPowerSavingD1;
- UCHAR bSelfPowerSavingD1;
- UCHAR bBusPowerSavingD2;
- UCHAR bSelfPowerSavingD2;
- UCHAR bBusPowerSavingD3;
- UCHAR bSelfPowerSavingD3;
- USHORT TransitionTimeFromD1;
- USHORT TransitionTimeFromD2;
- USHORT TransitionTimeFromD3;
-} USB_INTERFACE_POWER_DESCRIPTOR, *PUSB_INTERFACE_POWER_DESCRIPTOR;
-#include <poppack.h>
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __USB100_H */
diff --git a/winsup/w32api/include/ddk/usbcamdi.h b/winsup/w32api/include/ddk/usbcamdi.h
deleted file mode 100644
index 3a0f9de4d..000000000
--- a/winsup/w32api/include/ddk/usbcamdi.h
+++ /dev/null
@@ -1,404 +0,0 @@
-/*
- * usbcamdi.h
- *
- * USB Camera driver 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 __USBCAMDI_H
-#define __USBCAMDI_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#if !defined(__USB_H) && !defined(__USBDI_H)
-#error include usb.h or usbdi.h before usbcamdi.h
-#else
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#pragma pack(push,4)
-
-#include "ntddk.h"
-
-#if defined(_BATTERYCLASS_)
- #define USBCAMAPI DECLSPEC_EXPORT
-#else
- #define USBCAMAPI DECLSPEC_IMPORT
-#endif
-
-
-/* FIXME: Unknown definition */
-typedef PVOID PHW_STREAM_REQUEST_BLOCK;
-
-DEFINE_GUID(GUID_USBCAMD_INTERFACE,
- 0x2bcb75c0, 0xb27f, 0x11d1, 0xba, 0x41, 0x0, 0xa0, 0xc9, 0xd, 0x2b, 0x5);
-
-#define USBCAMD_PROCESSPACKETEX_DropFrame 0x0002
-#define USBCAMD_PROCESSPACKETEX_NextFrameIsStill 0x0004
-#define USBCAMD_PROCESSPACKETEX_CurrentFrameIsStill 0x0008
-
-#define USBCAMD_DATA_PIPE 0x0001
-#define USBCAMD_MULTIPLEX_PIPE 0x0002
-#define USBCAMD_SYNC_PIPE 0x0004
-#define USBCAMD_DONT_CARE_PIPE 0x0008
-
-#define USBCAMD_VIDEO_STREAM 0x1
-#define USBCAMD_STILL_STREAM 0x2
-#define USBCAMD_VIDEO_STILL_STREAM (USBCAMD_VIDEO_STREAM | USBCAMD_STILL_STREAM)
-
-#define USBCAMD_STOP_STREAM 0x00000001
-#define USBCAMD_START_STREAM 0x00000000
-
-typedef struct _pipe_config_descriptor {
- CHAR StreamAssociation;
- UCHAR PipeConfigFlags;
-} USBCAMD_Pipe_Config_Descriptor, *PUSBCAMD_Pipe_Config_Descriptor;
-
-typedef enum {
- USBCAMD_CamControlFlag_NoVideoRawProcessing = 1,
- USBCAMD_CamControlFlag_NoStillRawProcessing = 2,
- USBCAMD_CamControlFlag_AssociatedFormat = 4,
- USBCAMD_CamControlFlag_EnableDeviceEvents = 8
-} USBCAMD_CamControlFlags;
-
-typedef NTSTATUS DDKAPI
-(*PCAM_ALLOCATE_BW_ROUTINE)(
- PDEVICE_OBJECT BusDeviceObject,
- PVOID DeviceContext,
- PULONG RawFrameLength,
- PVOID Format);
-
-typedef NTSTATUS DDKAPI
-(*PCAM_ALLOCATE_BW_ROUTINE_EX)(
- PDEVICE_OBJECT BusDeviceObject,
- PVOID DeviceContext,
- PULONG RawFrameLength,
- PVOID Format,
- ULONG StreamNumber);
-
-typedef NTSTATUS DDKAPI
-(*PCAM_CONFIGURE_ROUTINE)(
- PDEVICE_OBJECT BusDeviceObject,
- PVOID DeviceContext,
- PUSBD_INTERFACE_INFORMATION Interface,
- PUSB_CONFIGURATION_DESCRIPTOR ConfigurationDescriptor,
- PLONG DataPipeIndex,
- PLONG SyncPipeIndex);
-
-typedef NTSTATUS DDKAPI
-(*PCAM_CONFIGURE_ROUTINE_EX)(
- PDEVICE_OBJECT BusDeviceObject,
- PVOID DeviceContext,
- PUSBD_INTERFACE_INFORMATION Interface,
- PUSB_CONFIGURATION_DESCRIPTOR ConfigurationDescriptor,
- ULONG PipeConfigListSize,
- PUSBCAMD_Pipe_Config_Descriptor PipeConfig,
- PUSB_DEVICE_DESCRIPTOR DeviceDescriptor);
-
-typedef NTSTATUS DDKAPI
-(*PCAM_FREE_BW_ROUTINE)(
- PDEVICE_OBJECT BusDeviceObject,
- PVOID DeviceContext);
-
-typedef NTSTATUS DDKAPI
-(*PCAM_FREE_BW_ROUTINE_EX)(
- PDEVICE_OBJECT BusDeviceObject,
- PVOID DeviceContext,
- ULONG StreamNumber);
-
-typedef NTSTATUS DDKAPI
-(*PCAM_INITIALIZE_ROUTINE)(
- PDEVICE_OBJECT BusDeviceObject,
- PVOID DeviceContext);
-
-typedef VOID DDKAPI
-(*PCAM_NEW_FRAME_ROUTINE)(
- PVOID DeviceContext,
- PVOID FrameContext);
-
-typedef VOID DDKAPI
-(*PCAM_NEW_FRAME_ROUTINE_EX)(
- PVOID DeviceContext,
- PVOID FrameContext,
- ULONG StreamNumber,
- PULONG FrameLength);
-
-typedef NTSTATUS DDKAPI
-(*PCAM_PROCESS_RAW_FRAME_ROUTINE)(
- PDEVICE_OBJECT BusDeviceObject,
- PVOID DeviceContext,
- PVOID FrameContext,
- PVOID FrameBuffer,
- ULONG FrameLength,
- PVOID RawFrameBuffer,
- ULONG RawFrameLength,
- ULONG NumberOfPackets,
- PULONG BytesReturned);
-
-typedef NTSTATUS DDKAPI
-(*PCAM_PROCESS_RAW_FRAME_ROUTINE_EX)(
- PDEVICE_OBJECT BusDeviceObject,
- PVOID DeviceContext,
- PVOID FrameContext,
- PVOID FrameBuffer,
- ULONG FrameLength,
- PVOID RawFrameBuffer,
- ULONG RawFrameLength,
- ULONG NumberOfPackets,
- PULONG BytesReturned,
- ULONG ActualRawFrameLength,
- ULONG StreamNumber);
-
-typedef ULONG DDKAPI
-(*PCAM_PROCESS_PACKET_ROUTINE)(
- PDEVICE_OBJECT BusDeviceObject,
- PVOID DeviceContext,
- PVOID CurrentFrameContext,
- PUSBD_ISO_PACKET_DESCRIPTOR SyncPacket,
- PVOID SyncBuffer,
- PUSBD_ISO_PACKET_DESCRIPTOR DataPacket,
- PVOID DataBuffer,
- PBOOLEAN FrameComplete,
- PBOOLEAN NextFrameIsStill);
-
-typedef ULONG DDKAPI
-(*PCAM_PROCESS_PACKET_ROUTINE_EX)(
- PDEVICE_OBJECT BusDeviceObject,
- PVOID DeviceContext,
- PVOID CurrentFrameContext,
- PUSBD_ISO_PACKET_DESCRIPTOR SyncPacket,
- PVOID SyncBuffer,
- PUSBD_ISO_PACKET_DESCRIPTOR DataPacket,
- PVOID DataBuffer,
- PBOOLEAN FrameComplete,
- PULONG PacketFlag,
- PULONG ValidDataOffset);
-
-typedef NTSTATUS DDKAPI
-(*PCAM_STATE_ROUTINE)(
- PDEVICE_OBJECT BusDeviceObject,
- PVOID DeviceContext);
-
-typedef NTSTATUS DDKAPI
-(*PCAM_START_CAPTURE_ROUTINE)(
- PDEVICE_OBJECT BusDeviceObject,
- PVOID DeviceContext);
-
-typedef NTSTATUS DDKAPI
-(*PCAM_START_CAPTURE_ROUTINE_EX)(
- PDEVICE_OBJECT BusDeviceObject,
- PVOID DeviceContext,
- ULONG StreamNumber);
-
-typedef NTSTATUS DDKAPI
-(*PCAM_STOP_CAPTURE_ROUTINE)(
- PDEVICE_OBJECT BusDeviceObject,
- PVOID DeviceContext);
-
-typedef NTSTATUS DDKAPI
-(*PCAM_STOP_CAPTURE_ROUTINE_EX)(
- PDEVICE_OBJECT BusDeviceObject,
- PVOID DeviceContext,
- ULONG StreamNumber);
-
-typedef struct _USBCAMD_DEVICE_DATA {
- ULONG Sig;
- PCAM_INITIALIZE_ROUTINE CamInitialize;
- PCAM_INITIALIZE_ROUTINE CamUnInitialize;
- PCAM_PROCESS_PACKET_ROUTINE CamProcessUSBPacket;
- PCAM_NEW_FRAME_ROUTINE CamNewVideoFrame;
- PCAM_PROCESS_RAW_FRAME_ROUTINE CamProcessRawVideoFrame;
- PCAM_START_CAPTURE_ROUTINE CamStartCapture;
- PCAM_STOP_CAPTURE_ROUTINE CamStopCapture;
- PCAM_CONFIGURE_ROUTINE CamConfigure;
- PCAM_STATE_ROUTINE CamSaveState;
- PCAM_STATE_ROUTINE CamRestoreState;
- PCAM_ALLOCATE_BW_ROUTINE CamAllocateBandwidth;
- PCAM_FREE_BW_ROUTINE CamFreeBandwidth;
-} USBCAMD_DEVICE_DATA, *PUSBCAMD_DEVICE_DATA;
-
-typedef struct _USBCAMD_DEVICE_DATA2 {
- ULONG Sig;
- PCAM_INITIALIZE_ROUTINE CamInitialize;
- PCAM_INITIALIZE_ROUTINE CamUnInitialize;
- PCAM_PROCESS_PACKET_ROUTINE_EX CamProcessUSBPacketEx;
- PCAM_NEW_FRAME_ROUTINE_EX CamNewVideoFrameEx;
- PCAM_PROCESS_RAW_FRAME_ROUTINE_EX CamProcessRawVideoFrameEx;
- PCAM_START_CAPTURE_ROUTINE_EX CamStartCaptureEx;
- PCAM_STOP_CAPTURE_ROUTINE_EX CamStopCaptureEx;
- PCAM_CONFIGURE_ROUTINE_EX CamConfigureEx;
- PCAM_STATE_ROUTINE CamSaveState;
- PCAM_STATE_ROUTINE CamRestoreState;
- PCAM_ALLOCATE_BW_ROUTINE_EX CamAllocateBandwidthEx;
- PCAM_FREE_BW_ROUTINE_EX CamFreeBandwidthEx;
-} USBCAMD_DEVICE_DATA2, *PUSBCAMD_DEVICE_DATA2;
-
-USBCAMAPI
-ULONG
-DDKAPI
-USBCAMD_InitializeNewInterface(
- /*IN*/ PVOID DeviceContext,
- /*IN*/ PVOID DeviceData,
- /*IN*/ ULONG Version,
- /*IN*/ ULONG CamControlFlag);
-
-typedef VOID DDKAPI
-(*PCOMMAND_COMPLETE_FUNCTION)(
- PVOID DeviceContext,
- PVOID CommandContext,
- NTSTATUS NtStatus);
-
-typedef NTSTATUS DDKAPI
-(*PFNUSBCAMD_BulkReadWrite)(
- /*IN*/ PVOID DeviceContext,
- /*IN*/ USHORT PipeIndex,
- /*IN*/ PVOID Buffer,
- /*IN*/ ULONG BufferLength,
- /*IN*/ PCOMMAND_COMPLETE_FUNCTION CommandComplete,
- /*IN*/ PVOID CommandContext);
-
-typedef NTSTATUS DDKAPI
-(*PFNUSBCAMD_SetIsoPipeState)(
- /*IN*/ PVOID DeviceContext,
- /*IN*/ ULONG PipeStateFlags);
-
-typedef NTSTATUS DDKAPI
-(*PFNUSBCAMD_CancelBulkReadWrite)(
- /*IN*/ PVOID DeviceContext,
- /*IN*/ ULONG PipeIndex);
-
-typedef NTSTATUS DDKAPI
-(*PFNUSBCAMD_SetVideoFormat)(
- /*IN*/ PVOID DeviceContext,
- /*IN*/ PHW_STREAM_REQUEST_BLOCK pSrb);
-
-typedef NTSTATUS DDKAPI
-(*PFNUSBCAMD_WaitOnDeviceEvent)(
- /*IN*/ PVOID DeviceContext,
- /*IN*/ ULONG PipeIndex,
- /*IN*/ PVOID Buffer,
- /*IN*/ ULONG BufferLength,
- /*IN*/ PCOMMAND_COMPLETE_FUNCTION EventComplete,
- /*IN*/ PVOID EventContext,
- /*IN*/ BOOLEAN LoopBack);
-
-USBCAMAPI
-PVOID
-DDKAPI
-USBCAMD_AdapterReceivePacket(
- /*IN*/ PHW_STREAM_REQUEST_BLOCK Srb,
- /*IN*/ PUSBCAMD_DEVICE_DATA DeviceData,
- /*IN*/ PDEVICE_OBJECT *DeviceObject,
- /*IN*/ BOOLEAN NeedsCompletion);
-
-USBCAMAPI
-NTSTATUS
-DDKAPI
-USBCAMD_ControlVendorCommand(
- /*IN*/ PVOID DeviceContext,
- /*IN*/ UCHAR Request,
- /*IN*/ USHORT Value,
- /*IN*/ USHORT Index,
- /*IN*/ PVOID Buffer,
- /*IN OUT*/ PULONG BufferLength,
- /*IN*/ BOOLEAN GetData,
- /*IN*/ PCOMMAND_COMPLETE_FUNCTION CommandComplete,
- /*IN*/ PVOID CommandContext);
-
-typedef VOID DDKAPI
-(*PADAPTER_RECEIVE_PACKET_ROUTINE)(
- /*IN*/ PHW_STREAM_REQUEST_BLOCK Srb);
-
-USBCAMAPI
-ULONG
-DDKAPI
-USBCAMD_DriverEntry(
- PVOID Context1,
- PVOID Context2,
- ULONG DeviceContextSize,
- ULONG FrameContextSize,
- PADAPTER_RECEIVE_PACKET_ROUTINE ReceivePacket);
-
-USBCAMAPI
-NTSTATUS
-DDKAPI
-USBCAMD_GetRegistryKeyValue(
- /*IN*/ HANDLE Handle,
- /*IN*/ PWCHAR KeyNameString,
- /*IN*/ ULONG KeyNameStringLength,
- /*IN*/ PVOID Data,
- /*IN*/ ULONG DataLength);
-
-USBCAMAPI
-NTSTATUS
-DDKAPI
-USBCAMD_SelectAlternateInterface(
- /*IN*/ PVOID DeviceContext,
- /*IN OUT*/ PUSBD_INTERFACE_INFORMATION RequestInterface);
-
-#define USBCAMD_VERSION_200 0x200
-
-typedef struct _USBCAMD_INTERFACE {
- INTERFACE Interface;
- PFNUSBCAMD_WaitOnDeviceEvent USBCAMD_WaitOnDeviceEvent;
- PFNUSBCAMD_BulkReadWrite USBCAMD_BulkReadWrite;
- PFNUSBCAMD_SetVideoFormat USBCAMD_SetVideoFormat;
- PFNUSBCAMD_SetIsoPipeState USBCAMD_SetIsoPipeState;
- PFNUSBCAMD_CancelBulkReadWrite USBCAMD_CancelBulkReadWrite;
-} USBCAMD_INTERFACE, *PUSBCAMD_INTERFACE;
-
-typedef VOID DDKAPI
-(*PSTREAM_RECEIVE_PACKET)(
- /*IN*/ PVOID Srb,
- /*IN*/ PVOID DeviceContext,
- /*IN*/ PBOOLEAN Completed);
-
-#if defined(DEBUG_LOG)
-
-USBCAMAPI
-VOID
-DDKAPI
-USBCAMD_Debug_LogEntry(
- /*IN*/ CHAR *Name,
- /*IN*/ ULONG Info1,
- /*IN*/ ULONG Info2,
- /*IN*/ ULONG Info3);
-
-#define ILOGENTRY(sig, info1, info2, info3) \
- USBCAMD_Debug_LogEntry(sig, (ULONG)info1, (ULONG)info2, (ULONG)info3)
-
-#else
-
-#define ILOGENTRY(sig, info1, info2, info3)
-
-#endif /* DEBUG_LOG */
-
-#pragma pack(pop)
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* !defined(__USB_H) && !defined(__USBDI_H) */
-
-
-#endif /* __USBCAMDI_H */
diff --git a/winsup/w32api/include/ddk/usbdi.h b/winsup/w32api/include/ddk/usbdi.h
deleted file mode 100644
index 99d247541..000000000
--- a/winsup/w32api/include/ddk/usbdi.h
+++ /dev/null
@@ -1,407 +0,0 @@
-/*
- * usbdi.h
- *
- * USBD and USB device driver definitions
- *
- * 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 __USBDI_H
-#define __USBDI_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __USB_H
-#error usb.h cannot be included with usbdi.h
-#else
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-#include "usbioctl.h"
-
-#define USBDI_VERSION 0x300
-
-#define USB_DEFAULT_DEVICE_ADDRESS 0
-#define USB_DEFAULT_ENDPOINT_ADDRESS 0
-#define USB_DEFAULT_MAX_PACKET 64
-
-#define URB_FROM_IRP(Irp) ((IoGetCurrentIrpStackLocation(Irp))->Parameters.Others.Argument1)
-
-#define URB_FUNCTION_SELECT_CONFIGURATION 0x0000
-#define URB_FUNCTION_SELECT_INTERFACE 0x0001
-#define URB_FUNCTION_ABORT_PIPE 0x0002
-#define URB_FUNCTION_TAKE_FRAME_LENGTH_CONTROL 0x0003
-#define URB_FUNCTION_RELEASE_FRAME_LENGTH_CONTROL 0x0004
-#define URB_FUNCTION_GET_FRAME_LENGTH 0x0005
-#define URB_FUNCTION_SET_FRAME_LENGTH 0x0006
-#define URB_FUNCTION_GET_CURRENT_FRAME_NUMBER 0x0007
-#define URB_FUNCTION_CONTROL_TRANSFER 0x0008
-#define URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER 0x0009
-#define URB_FUNCTION_ISOCH_TRANSFER 0x000A
-#define URB_FUNCTION_RESET_PIPE 0x001E
-#define URB_FUNCTION_GET_DESCRIPTOR_FROM_DEVICE 0x000B
-#define URB_FUNCTION_GET_DESCRIPTOR_FROM_ENDPOINT 0x0024
-#define URB_FUNCTION_GET_DESCRIPTOR_FROM_INTERFACE 0x0028
-#define URB_FUNCTION_SET_DESCRIPTOR_TO_DEVICE 0x000C
-#define URB_FUNCTION_SET_DESCRIPTOR_TO_ENDPOINT 0x0025
-#define URB_FUNCTION_SET_DESCRIPTOR_TO_INTERFACE 0x0029
-#define URB_FUNCTION_SET_FEATURE_TO_DEVICE 0x000D
-#define URB_FUNCTION_SET_FEATURE_TO_INTERFACE 0x000E
-#define URB_FUNCTION_SET_FEATURE_TO_ENDPOINT 0x000F
-#define URB_FUNCTION_SET_FEATURE_TO_OTHER 0x0023
-#define URB_FUNCTION_CLEAR_FEATURE_TO_DEVICE 0x0010
-#define URB_FUNCTION_CLEAR_FEATURE_TO_INTERFACE 0x0011
-#define URB_FUNCTION_CLEAR_FEATURE_TO_ENDPOINT 0x0012
-#define URB_FUNCTION_CLEAR_FEATURE_TO_OTHER 0x0022
-#define URB_FUNCTION_GET_STATUS_FROM_DEVICE 0x0013
-#define URB_FUNCTION_GET_STATUS_FROM_INTERFACE 0x0014
-#define URB_FUNCTION_GET_STATUS_FROM_ENDPOINT 0x0015
-#define URB_FUNCTION_GET_STATUS_FROM_OTHER 0x0021
-#define URB_FUNCTION_RESERVED0 0x0016
-#define URB_FUNCTION_VENDOR_DEVICE 0x0017
-#define URB_FUNCTION_VENDOR_INTERFACE 0x0018
-#define URB_FUNCTION_VENDOR_ENDPOINT 0x0019
-#define URB_FUNCTION_VENDOR_OTHER 0x0020
-#define URB_FUNCTION_CLASS_DEVICE 0x001A
-#define URB_FUNCTION_CLASS_INTERFACE 0x001B
-#define URB_FUNCTION_CLASS_ENDPOINT 0x001C
-#define URB_FUNCTION_CLASS_OTHER 0x001F
-#define URB_FUNCTION_RESERVED 0x001D
-#define URB_FUNCTION_GET_CONFIGURATION 0x0026
-#define URB_FUNCTION_GET_INTERFACE 0x0027
-#define URB_FUNCTION_LAST 0x0029
-
-typedef LONG USBD_STATUS;
-typedef PVOID USBD_PIPE_HANDLE;
-typedef PVOID USBD_CONFIGURATION_HANDLE;
-typedef PVOID USBD_INTERFACE_HANDLE;
-
-#define USBD_ERROR(Status) ((USBD_STATUS)(Status) < 0)
-#define USBD_HALTED(Status) ((ULONG)(Status) >> 30 == 3)
-#define USBD_PENDING(Status) ((ULONG)(Status) >> 30 == 1)
-#define USBD_STATUS(Status) ((ULONG)(Status) & 0x0FFFFFFFL)
-#define USBD_SUCCESS(Status) ((USBD_STATUS)(Status) >= 0)
-
-#define USBD_STATUS_SUCCESS ((USBD_STATUS)0x00000000L)
-#define USBD_STATUS_PENDING ((USBD_STATUS)0x40000000L)
-#define USBD_STATUS_HALTED ((USBD_STATUS)0xC0000000L)
-#define USBD_STATUS_ERROR ((USBD_STATUS)0x80000000L)
-#define USBD_STATUS_NO_MEMORY ((USBD_STATUS)0x80000100L)
-#define USBD_STATUS_INVALID_URB_FUNCTION ((USBD_STATUS)0x80000200L)
-#define USBD_STATUS_INVALID_PARAMETER ((USBD_STATUS)0x80000300L)
-#define USBD_STATUS_ERROR_BUSY ((USBD_STATUS)0x80000400L)
-#define USBD_STATUS_REQUEST_FAILED ((USBD_STATUS)0x80000500L)
-#define USBD_STATUS_INVALID_PIPE_HANDLE ((USBD_STATUS)0x80000600L)
-#define USBD_STATUS_NO_BANDWIDTH ((USBD_STATUS)0x80000700L)
-#define USBD_STATUS_INTERNAL_HC_ERROR ((USBD_STATUS)0x80000800L)
-#define USBD_STATUS_ERROR_SHORT_TRANSFER ((USBD_STATUS)0x80000900L)
-#define USBD_STATUS_CRC ((USBD_STATUS)0xC0000001L)
-#define USBD_STATUS_BTSTUFF ((USBD_STATUS)0xC0000002L)
-#define USBD_STATUS_DATA_TOGGLE_MISMATCH ((USBD_STATUS)0xC0000003L)
-#define USBD_STATUS_STALL_PID ((USBD_STATUS)0xC0000004L)
-#define USBD_STATUS_DEV_NOT_RESPONDING ((USBD_STATUS)0xC0000005L)
-#define USBD_STATUS_PID_CHECK_FAILURE ((USBD_STATUS)0xC0000006L)
-#define USBD_STATUS_UNEXPECTED_PID ((USBD_STATUS)0xC0000007L)
-#define USBD_STATUS_DATA_OVERRUN ((USBD_STATUS)0xC0000008L)
-#define USBD_STATUS_DATA_UNDERRUN ((USBD_STATUS)0xC0000009L)
-#define USBD_STATUS_RESERVED1 ((USBD_STATUS)0xC000000AL)
-#define USBD_STATUS_RESERVED2 ((USBD_STATUS)0xC000000BL)
-#define USBD_STATUS_BUFFER_OVERRUN ((USBD_STATUS)0xC000000CL)
-#define USBD_STATUS_BUFFER_UNDERRUN ((USBD_STATUS)0xC000000DL)
-#define USBD_STATUS_NOT_ACCESSED ((USBD_STATUS)0xC000000FL)
-#define USBD_STATUS_FIFO ((USBD_STATUS)0xC0000010L)
-#define USBD_STATUS_ENDPOINT_HALTED ((USBD_STATUS)0xC0000030L)
-#define USBD_STATUS_BAD_START_FRAME ((USBD_STATUS)0xC0000A00L)
-#define USBD_STATUS_ISOCH_REQUEST_FAILED ((USBD_STATUS)0xC0000B00L)
-#define USBD_STATUS_FRAME_CONTROL_OWNED ((USBD_STATUS)0xC0000C00L)
-#define USBD_STATUS_FRAME_CONTROL_NOT_OWNED \
- ((USBD_STATUS)0xC0000D00L)
-#define USBD_STATUS_INAVLID_CONFIGURATION_DESCRIPTOR \
- ((USBD_STATUS)0xC0000F00L)
-#define USBD_STATUS_CANCELING ((USBD_STATUS)0x00020000L)
-
-#define USBD_PIPE_DIRECTION_IN(pipeInformation) \
- ((pipeInformation)->EndpointAddress & USB_ENDPOINT_DIRECTION_MASK)
-
-struct _URB_HEADER {
- USHORT Length;
- USHORT Function;
- USBD_STATUS Status;
- PVOID UsbdDeviceHandle;
- ULONG UsbdFlags;
-};
-
-struct _URB_HCD_AREA {
- PVOID HcdEndpoint;
- PIRP HcdIrp;
- LIST_ENTRY HcdListEntry;
- LIST_ENTRY HcdListEntry2;
- PVOID HcdCurrentIoFlushPointer;
- PVOID HcdExtension;
-};
-
-struct _URB_BULK_OR_INTERRUPT_TRANSFER {
- struct _URB_HEADER Hdr;
- USBD_PIPE_HANDLE PipeHandle;
- ULONG TransferFlags;
- ULONG TransferBufferLength;
- PVOID TransferBuffer;
- PMDL TransferBufferMDL;
- struct _URB *UrbLink;
- struct _URB_HCD_AREA hca;
-};
-
-struct _URB_CONTROL_DESCRIPTOR_REQUEST {
- struct _URB_HEADER Hdr;
- PVOID Reserved;
- ULONG Reserved0;
- ULONG TransferBufferLength;
- PVOID TransferBuffer;
- PMDL TransferBufferMDL;
- struct _URB *UrbLink;
- struct _URB_HCD_AREA hca;
- USHORT Reserved1;
- UCHAR Index;
- UCHAR DescriptorType;
- USHORT LanguageId;
- USHORT Reserved2;
-};
-
-struct _URB_CONTROL_FEATURE_REQUEST {
- struct _URB_HEADER Hdr;
- PVOID Reserved;
- ULONG Reserved2;
- ULONG Reserved3;
- PVOID Reserved4;
- PMDL Reserved5;
- struct _URB *UrbLink;
- struct _URB_HCD_AREA hca;
- USHORT Reserved0;
- USHORT FeatureSelector;
- USHORT Index;
- USHORT Reserved1;
-};
-
-struct _URB_CONTROL_GET_CONFIGURATION_REQUEST {
- struct _URB_HEADER Hdr;
- PVOID Reserved;
- ULONG Reserved0;
- ULONG TransferBufferLength;
- PVOID TransferBuffer;
- PMDL TransferBufferMDL;
- struct _URB *UrbLink;
- struct _URB_HCD_AREA hca;
- UCHAR Reserved1[8];
-};
-
-struct _URB_CONTROL_GET_INTERFACE_REQUEST {
- struct _URB_HEADER Hdr;
- PVOID Reserved;
- ULONG Reserved0;
- ULONG TransferBufferLength;
- PVOID TransferBuffer;
- PMDL TransferBufferMDL;
- struct _URB *UrbLink;
- struct _URB_HCD_AREA hca;
- UCHAR Reserved1[4];
- USHORT Interface;
- USHORT Reserved2;
-};
-
-struct _URB_CONTROL_GET_STATUS_REQUEST {
- struct _URB_HEADER Hdr;
- PVOID Reserved;
- ULONG Reserved0;
- ULONG TransferBufferLength;
- PVOID TransferBuffer;
- PMDL TransferBufferMDL;
- struct _URB *UrbLink;
- struct _URB_HCD_AREA hca;
- UCHAR Reserved1[4];
- USHORT Index;
- USHORT Reserved2;
-};
-
-struct _URB_CONTROL_TRANSFER {
- struct _URB_HEADER Hdr;
- USBD_PIPE_HANDLE PipeHandle;
- ULONG TransferFlags;
- ULONG TransferBufferLength;
- PVOID TransferBuffer;
- PMDL TransferBufferMDL;
- struct _URB *UrbLink;
- struct _URB_HCD_AREA hca;
- UCHAR SetupPacket[8];
-};
-
-struct _URB_CONTROL_VENDOR_OR_CLASS_REQUEST {
- struct _URB_HEADER Hdr;
- PVOID Reserved;
- ULONG TransferFlags;
- ULONG TransferBufferLength;
- PVOID TransferBuffer;
- PMDL TransferBufferMDL;
- struct _URB *UrbLink;
- struct _URB_HCD_AREA hca;
- UCHAR RequestTypeReservedBits;
- UCHAR Request;
- USHORT Value;
- USHORT Index;
- USHORT Reserved1;
-};
-
-struct _URB_FRAME_LENGTH_CONTROL {
- struct _URB_HEADER Hdr;
-};
-
-struct _URB_GET_CURRENT_FRAME_NUMBER {
- struct _URB_HEADER Hdr;
- ULONG FrameNumber;
-};
-
-struct _URB_GET_FRAME_LENGTH {
- struct _URB_HEADER Hdr;
- ULONG FrameLength;
- ULONG FrameNumber;
-};
-
-typedef struct _USBD_ISO_PACKET_DESCRIPTOR {
- ULONG Offset;
- ULONG Length;
- USBD_STATUS Status;
-} USBD_ISO_PACKET_DESCRIPTOR, *PUSBD_ISO_PACKET_DESCRIPTOR;
-
-struct _URB_ISOCH_TRANSFER {
- struct _URB_HEADER Hdr;
- USBD_PIPE_HANDLE PipeHandle;
- ULONG TransferFlags;
- ULONG TransferBufferLength;
- PVOID TransferBuffer;
- PMDL TransferBufferMDL;
- struct _URB *UrbLink;
- struct _URB_HCD_AREA hca;
- ULONG StartFrame;
- ULONG NumberOfPackets;
- ULONG ErrorCount;
- USBD_ISO_PACKET_DESCRIPTOR IsoPacket[1];
-};
-
-struct _URB_PIPE_REQUEST {
- struct _URB_HEADER Hdr;
- USBD_PIPE_HANDLE PipeHandle;
- ULONG Reserved;
-};
-
-struct _URB_SET_FRAME_LENGTH {
- struct _URB_HEADER Hdr;
- LONG FrameLengthDelta;
-};
-
-typedef struct _USBD_DEVICE_INFORMATION {
- ULONG OffsetNext;
- PVOID UsbdDeviceHandle;
- USB_DEVICE_DESCRIPTOR DeviceDescriptor;
-} USBD_DEVICE_INFORMATION, *PUSBD_DEVICE_INFORMATION;
-
-typedef enum _USBD_PIPE_TYPE {
- UsbdPipeTypeControl,
- UsbdPipeTypeIsochronous,
- UsbdPipeTypeBulk,
- UsbdPipeTypeInterrupt
-} USBD_PIPE_TYPE;
-
-/* USBD_PIPE_INFORMATION.PipeFlags constants */
-#define USBD_PF_CHANGE_MAX_PACKET 0x00000001
-#define USBD_PF_DOUBLE_BUFFER 0x00000002
-#define USBD_PF_ENABLE_RT_THREAD_ACCESS 0x00000004
-#define USBD_PF_MAP_ADD_TRANSFERS 0x00000008
-
-typedef struct _USBD_PIPE_INFORMATION {
- USHORT MaximumPacketSize;
- UCHAR EndpointAddress;
- UCHAR Interval;
- USBD_PIPE_TYPE PipeType;
- USBD_PIPE_HANDLE PipeHandle;
- ULONG MaximumTransferSize;
- ULONG PipeFlags;
-} USBD_PIPE_INFORMATION, *PUSBD_PIPE_INFORMATION;
-
-typedef struct _USBD_INTERFACE_INFORMATION {
- USHORT Length;
- UCHAR InterfaceNumber;
- UCHAR AlternateSetting;
- UCHAR Class;
- UCHAR SubClass;
- UCHAR Protocol;
- UCHAR Reserved;
- USBD_INTERFACE_HANDLE InterfaceHandle;
- ULONG NumberOfPipes;
- USBD_PIPE_INFORMATION Pipes[1];
-} USBD_INTERFACE_INFORMATION, *PUSBD_INTERFACE_INFORMATION;
-
-struct _URB_SELECT_CONFIGURATION {
- struct _URB_HEADER Hdr;
- PUSB_CONFIGURATION_DESCRIPTOR ConfigurationDescriptor;
- USBD_CONFIGURATION_HANDLE ConfigurationHandle;
- USBD_INTERFACE_INFORMATION Interface;
-};
-
-struct _URB_SELECT_INTERFACE {
- struct _URB_HEADER Hdr;
- USBD_CONFIGURATION_HANDLE ConfigurationHandle;
- USBD_INTERFACE_INFORMATION Interface;
-};
-
-typedef struct _USBD_VERSION_INFORMATION {
- ULONG USBDI_Version;
- ULONG Supported_USB_Version;
-} USBD_VERSION_INFORMATION, *PUSBD_VERSION_INFORMATION;
-
-typedef struct _URB {
- union {
- struct _URB_HEADER UrbHeader;
- struct _URB_SELECT_INTERFACE UrbSelectInterface;
- struct _URB_SELECT_CONFIGURATION UrbSelectConfiguration;
- struct _URB_PIPE_REQUEST UrbPipeRequest;
- struct _URB_FRAME_LENGTH_CONTROL UrbFrameLengthControl;
- struct _URB_GET_FRAME_LENGTH UrbGetFrameLength;
- struct _URB_SET_FRAME_LENGTH UrbSetFrameLength;
- struct _URB_GET_CURRENT_FRAME_NUMBER UrbGetCurrentFrameNumber;
- struct _URB_CONTROL_TRANSFER UrbControlTransfer;
- struct _URB_BULK_OR_INTERRUPT_TRANSFER UrbBulkOrInterruptTransfer;
- struct _URB_ISOCH_TRANSFER UrbIsochronousTransfer;
- struct _URB_CONTROL_DESCRIPTOR_REQUEST UrbControlDescriptorRequest;
- struct _URB_CONTROL_GET_STATUS_REQUEST UrbControlGetStatusRequest;
- struct _URB_CONTROL_FEATURE_REQUEST UrbControlFeatureRequest;
- struct _URB_CONTROL_VENDOR_OR_CLASS_REQUEST UrbControlVendorClassRequest;
- struct _URB_CONTROL_GET_INTERFACE_REQUEST UrbControlGetInterfaceRequest;
- struct _URB_CONTROL_GET_CONFIGURATION_REQUEST UrbControlGetConfigurationRequest;
- };
-} URB, *PURB;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* defined __USB_H */
-
-#endif /* __USBDI_H */
diff --git a/winsup/w32api/include/ddk/usbioctl.h b/winsup/w32api/include/ddk/usbioctl.h
deleted file mode 100644
index abd30b6ad..000000000
--- a/winsup/w32api/include/ddk/usbioctl.h
+++ /dev/null
@@ -1,353 +0,0 @@
-/*
- * usbioctl.h
- *
- * USB IOCTL 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 __USBIOCTL_H
-#define __USBIOCTL_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-#include "usb100.h"
-#include "usbiodef.h"
-
-#define USBD_PORT_ENABLED 1
-#define USBD_PORT_CONNECTED 2
-
-#define IOCTL_INTERNAL_USB_CYCLE_PORT \
- CTL_CODE(FILE_DEVICE_USB, USB_CYCLE_PORT, METHOD_NEITHER, FILE_ANY_ACCESS)
-
-#define IOCTL_INTERNAL_USB_ENABLE_PORT \
- CTL_CODE(FILE_DEVICE_USB, USB_ENABLE_PORT, METHOD_NEITHER, FILE_ANY_ACCESS)
-
-#define IOCTL_INTERNAL_USB_GET_BUS_INFO \
- CTL_CODE(FILE_DEVICE_USB, USB_GET_BUS_INFO, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_INTERNAL_USB_GET_BUSGUID_INFO \
- CTL_CODE(FILE_DEVICE_USB, USB_GET_BUSGUID_INFO, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_INTERNAL_USB_GET_CONTROLLER_NAME \
- CTL_CODE(FILE_DEVICE_USB, USB_GET_CONTROLLER_NAME, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_INTERNAL_USB_GET_DEVICE_HANDLE \
- CTL_CODE(FILE_DEVICE_USB, USB_GET_DEVICE_HANDLE, METHOD_NEITHER, FILE_ANY_ACCESS)
-
-#define IOCTL_INTERNAL_USB_GET_HUB_COUNT \
- CTL_CODE(FILE_DEVICE_USB, USB_GET_HUB_COUNT, METHOD_NEITHER, FILE_ANY_ACCESS)
-
-#define IOCTL_INTERNAL_USB_GET_HUB_NAME \
- CTL_CODE(FILE_DEVICE_USB, USB_GET_HUB_NAME, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_INTERNAL_USB_GET_PARENT_HUB_INFO \
- CTL_CODE(FILE_DEVICE_USB, USB_GET_PARENT_HUB_INFO, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_INTERNAL_USB_GET_PORT_STATUS \
- CTL_CODE(FILE_DEVICE_USB, USB_GET_PORT_STATUS, METHOD_NEITHER, FILE_ANY_ACCESS)
-
-#define IOCTL_INTERNAL_USB_RESET_PORT \
- CTL_CODE(FILE_DEVICE_USB, USB_RESET_PORT, METHOD_NEITHER, FILE_ANY_ACCESS)
-
-#define IOCTL_INTERNAL_USB_GET_ROOTHUB_PDO \
- CTL_CODE(FILE_DEVICE_USB, USB_GET_ROOTHUB_PDO, METHOD_NEITHER, FILE_ANY_ACCESS)
-
-#define IOCTL_INTERNAL_USB_SUBMIT_IDLE_NOTIFICATION \
- CTL_CODE(FILE_DEVICE_USB, USB_IDLE_NOTIFICATION, METHOD_NEITHER, FILE_ANY_ACCESS)
-
-#define IOCTL_INTERNAL_USB_SUBMIT_URB \
- CTL_CODE(FILE_DEVICE_USB, USB_SUBMIT_URB, METHOD_NEITHER, FILE_ANY_ACCESS)
-
-
-#define IOCTL_USB_DIAG_IGNORE_HUBS_ON \
- CTL_CODE(FILE_DEVICE_USB, USB_DIAG_IGNORE_HUBS_ON, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_USB_DIAG_IGNORE_HUBS_OFF \
- CTL_CODE(FILE_DEVICE_USB, USB_DIAG_IGNORE_HUBS_OFF, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_USB_DIAGNOSTIC_MODE_OFF \
- CTL_CODE(FILE_DEVICE_USB, HCD_DIAGNOSTIC_MODE_OFF, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_USB_DIAGNOSTIC_MODE_ON \
- CTL_CODE(FILE_DEVICE_USB, HCD_DIAGNOSTIC_MODE_ON, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION \
- CTL_CODE(FILE_DEVICE_USB, USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_USB_GET_HUB_CAPABILITIES \
- CTL_CODE(FILE_DEVICE_USB, USB_GET_HUB_CAPABILITIES, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_USB_GET_ROOT_HUB_NAME \
- CTL_CODE(FILE_DEVICE_USB, HCD_GET_ROOT_HUB_NAME, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_GET_HCD_DRIVERKEY_NAME \
- CTL_CODE(FILE_DEVICE_USB, HCD_GET_DRIVERKEY_NAME, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_USB_GET_NODE_INFORMATION \
- CTL_CODE(FILE_DEVICE_USB, USB_GET_NODE_INFORMATION, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_USB_GET_NODE_CONNECTION_INFORMATION \
- CTL_CODE(FILE_DEVICE_USB, USB_GET_NODE_CONNECTION_INFORMATION, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_USB_GET_NODE_CONNECTION_ATTRIBUTES \
- CTL_CODE(FILE_DEVICE_USB, USB_GET_NODE_CONNECTION_ATTRIBUTES, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_USB_GET_NODE_CONNECTION_NAME \
- CTL_CODE(FILE_DEVICE_USB, USB_GET_NODE_CONNECTION_NAME, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_USB_GET_NODE_CONNECTION_DRIVERKEY_NAME \
- CTL_CODE(FILE_DEVICE_USB, USB_GET_NODE_CONNECTION_DRIVERKEY_NAME, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_USB_HCD_DISABLE_PORT \
- CTL_CODE(FILE_DEVICE_USB, HCD_DISABLE_PORT, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_USB_HCD_ENABLE_PORT \
- CTL_CODE(FILE_DEVICE_USB, HCD_ENABLE_PORT, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_USB_HCD_GET_STATS_1 \
- CTL_CODE(FILE_DEVICE_USB, HCD_GET_STATS_1, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_USB_HCD_GET_STATS_2 \
- CTL_CODE(FILE_DEVICE_USB, HCD_GET_STATS_2, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-
-typedef struct _USB_HUB_CAPABILITIES {
- ULONG HubIs2xCapable : 1;
-} USB_HUB_CAPABILITIES, *PUSB_HUB_CAPABILITIES;
-
-typedef enum _USB_CONNECTION_STATUS {
- NoDeviceConnected,
- DeviceConnected,
- DeviceFailedEnumeration,
- DeviceGeneralFailure,
- DeviceCausedOvercurrent,
- DeviceNotEnoughPower,
- DeviceNotEnoughBandwidth,
- DeviceHubNestedTooDeeply,
- DeviceInLegacyHub
-} USB_CONNECTION_STATUS, *PUSB_CONNECTION_STATUS;
-
-#include <pshpack1.h>
-
-typedef struct _USB_DESCRIPTOR_REQUEST {
- ULONG ConnectionIndex;
- struct {
- UCHAR bmRequest;
- UCHAR bRequest;
- USHORT wValue;
- USHORT wIndex;
- USHORT wLength;
- } SetupPacket;
- UCHAR Data[0];
-} USB_DESCRIPTOR_REQUEST, *PUSB_DESCRIPTOR_REQUEST;
-
-typedef struct _USB_HCD_DRIVERKEY_NAME {
- ULONG ActualLength;
- WCHAR DriverKeyName[1];
-} USB_HCD_DRIVERKEY_NAME, *PUSB_HCD_DRIVERKEY_NAME;
-
-typedef struct _HCD_ISO_STAT_COUNTERS {
- USHORT LateUrbs;
- USHORT DoubleBufferedPackets;
- USHORT TransfersCF_5ms;
- USHORT TransfersCF_2ms;
- USHORT TransfersCF_1ms;
- USHORT MaxInterruptLatency;
- USHORT BadStartFrame;
- USHORT StaleUrbs;
- USHORT IsoPacketNotAccesed;
- USHORT IsoPacketHWError;
- USHORT SmallestUrbPacketCount;
- USHORT LargestUrbPacketCount;
- USHORT IsoCRC_Error;
- USHORT IsoOVERRUN_Error;
- USHORT IsoINTERNAL_Error;
- USHORT IsoUNKNOWN_Error;
- ULONG IsoBytesTransferred;
- USHORT LateMissedCount;
- USHORT HWIsoMissedCount;
- ULONG Reserved7[8];
-} HCD_ISO_STAT_COUNTERS, *PHCD_ISO_STAT_COUNTERS;
-
-typedef struct _HCD_STAT_COUNTERS {
- ULONG BytesTransferred;
- USHORT IsoMissedCount;
- USHORT DataOverrunErrorCount;
- USHORT CrcErrorCount;
- USHORT ScheduleOverrunCount;
- USHORT TimeoutErrorCount;
- USHORT InternalHcErrorCount;
- USHORT BufferOverrunErrorCount;
- USHORT SWErrorCount;
- USHORT StallPidCount;
- USHORT PortDisableCount;
-} HCD_STAT_COUNTERS, *PHCD_STAT_COUNTERS;
-
-typedef struct _HCD_STAT_INFORMATION_1 {
- ULONG Reserved1;
- ULONG Reserved2;
- ULONG ResetCounters;
- LARGE_INTEGER TimeRead;
- HCD_STAT_COUNTERS Counters;
-} HCD_STAT_INFORMATION_1, *PHCD_STAT_INFORMATION_1;
-
-typedef struct _HCD_STAT_INFORMATION_2 {
- ULONG Reserved1;
- ULONG Reserved2;
- ULONG ResetCounters;
- LARGE_INTEGER TimeRead;
- LONG LockedMemoryUsed;
- HCD_STAT_COUNTERS Counters;
- HCD_ISO_STAT_COUNTERS IsoCounters;
-} HCD_STAT_INFORMATION_2, *PHCD_STAT_INFORMATION_2;
-
-typedef struct _USB_HUB_INFORMATION {
- USB_HUB_DESCRIPTOR HubDescriptor;
- BOOLEAN HubIsBusPowered;
-} USB_HUB_INFORMATION, *PUSB_HUB_INFORMATION;
-
-typedef struct _USB_HUB_NAME {
- ULONG ActualLength;
- WCHAR HubName[1];
-} USB_HUB_NAME, *PUSB_HUB_NAME;
-
-typedef enum _USB_HUB_NODE {
- UsbHub,
- UsbMIParent
-} USB_HUB_NODE;
-
-typedef VOID STDCALL
-(*USB_IDLE_CALLBACK)(
- PVOID Context);
-
-typedef struct _USB_IDLE_CALLBACK_INFO {
- USB_IDLE_CALLBACK IdleCallback;
- PVOID IdleContext;
-} USB_IDLE_CALLBACK_INFO, *PUSB_IDLE_CALLBACK_INFO;
-
-typedef struct _USB_NODE_CONNECTION_ATTRIBUTES {
- ULONG ConnectionIndex;
- USB_CONNECTION_STATUS ConnectionStatus;
- ULONG PortAttributes;
-} USB_NODE_CONNECTION_ATTRIBUTES, *PUSB_NODE_CONNECTION_ATTRIBUTES;
-
-typedef struct _USB_NODE_CONNECTION_DRIVERKEY_NAME {
- ULONG ConnectionIndex;
- ULONG ActualLength;
- WCHAR DriverKeyName[1];
-} USB_NODE_CONNECTION_DRIVERKEY_NAME, *PUSB_NODE_CONNECTION_DRIVERKEY_NAME;
-
-typedef struct _USB_PIPE_INFO {
- USB_ENDPOINT_DESCRIPTOR EndpointDescriptor;
- ULONG ScheduleOffset;
-} USB_PIPE_INFO, *PUSB_PIPE_INFO;
-
-typedef struct _USB_NODE_CONNECTION_INFORMATION {
- ULONG ConnectionIndex;
- USB_DEVICE_DESCRIPTOR DeviceDescriptor;
- UCHAR CurrentConfigurationValue;
- BOOLEAN LowSpeed;
- BOOLEAN DeviceIsHub;
- USHORT DeviceAddress;
- ULONG NumberOfOpenPipes;
- USB_CONNECTION_STATUS ConnectionStatus;
- USB_PIPE_INFO PipeList[0];
-} USB_NODE_CONNECTION_INFORMATION, *PUSB_NODE_CONNECTION_INFORMATION;
-
-typedef struct _USB_NODE_CONNECTION_NAME {
- ULONG ConnectionIndex;
- ULONG ActualLength;
- WCHAR NodeName[1];
-} USB_NODE_CONNECTION_NAME, *PUSB_NODE_CONNECTION_NAME;
-
-typedef struct _USB_MI_PARENT_INFORMATION {
- ULONG NumberOfInterfaces;
-} USB_MI_PARENT_INFORMATION, *PUSB_MI_PARENT_INFORMATION;
-
-typedef struct _USB_NODE_INFORMATION {
- USB_HUB_NODE NodeType;
- union {
- USB_HUB_INFORMATION HubInformation;
- USB_MI_PARENT_INFORMATION MiParentInformation;
- } u;
-} USB_NODE_INFORMATION, *PUSB_NODE_INFORMATION;
-
-#define WMI_USB_DRIVER_INFORMATION 0
-#define WMI_USB_DRIVER_NOTIFICATION 1
-#define WMI_USB_POWER_DEVICE_ENABLE 2
-
-typedef enum _USB_NOTIFICATION_TYPE {
- EnumerationFailure = 0,
- InsufficentBandwidth,
- InsufficentPower,
- OverCurrent,
- ResetOvercurrent,
- AcquireBusInfo,
- AcquireHubName,
- AcquireControllerName,
- HubOvercurrent,
- HubPowerChange,
- HubNestedTooDeeply,
- ModernDeviceInLegacyHub
-} USB_NOTIFICATION_TYPE;
-
-typedef struct _USB_ACQUIRE_INFO {
- USB_NOTIFICATION_TYPE NotificationType;
- ULONG TotalSize;
- WCHAR Buffer[1];
-} USB_ACQUIRE_INFO, *PUSB_ACQUIRE_INFO;
-
-typedef struct _USB_NOTIFICATION {
- USB_NOTIFICATION_TYPE NotificationType;
-} USB_NOTIFICATION, *PUSB_NOTIFICATION;
-
-typedef struct _USB_BUS_NOTIFICATION {
- USB_NOTIFICATION_TYPE NotificationType;
- ULONG TotalBandwidth;
- ULONG ConsumedBandwidth;
- ULONG ControllerNameLength;
-} USB_BUS_NOTIFICATION, *PUSB_BUS_NOTIFICATION;
-
-typedef struct _USB_CONNECTION_NOTIFICATION {
- USB_NOTIFICATION_TYPE NotificationType;
- ULONG ConnectionNumber;
- ULONG RequestedBandwidth;
- ULONG EnumerationFailReason;
- ULONG PowerRequested;
- ULONG HubNameLength;
-} USB_CONNECTION_NOTIFICATION, *PUSB_CONNECTION_NOTIFICATION;
-
-typedef struct _USB_ROOT_HUB_NAME {
- ULONG ActualLength;
- WCHAR RootHubName[1];
-} USB_ROOT_HUB_NAME, *PUSB_ROOT_HUB_NAME;
-
-#include <poppack.h>
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __USBIOCTL_H */
diff --git a/winsup/w32api/include/ddk/usbiodef.h b/winsup/w32api/include/ddk/usbiodef.h
deleted file mode 100644
index 5faa34431..000000000
--- a/winsup/w32api/include/ddk/usbiodef.h
+++ /dev/null
@@ -1,106 +0,0 @@
-/*
- * usbiodef.h
- *
- * USB IOCTL definitions
- *
- * 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 __USBIODEF_H
-#define __USBIODEF_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-
-DEFINE_GUID(GUID_DEVINTERFACE_USB_HUB, \
- 0xf18a0e88, 0xc30c, 0x11d0, 0x88, 0x15, 0x00, 0xa0, 0xc9, 0x06, 0xbe, 0xd8);
-
-DEFINE_GUID(GUID_DEVINTERFACE_USB_DEVICE,
- 0xA5DCBF10L, 0x6530, 0x11D2, 0x90, 0x1F, 0x00, 0xC0, 0x4F, 0xB9, 0x51, 0xED);
-
-DEFINE_GUID(GUID_DEVINTERFACE_USB_HOST_CONTROLLER,
- 0x3abf6f2d, 0x71c4, 0x462a, 0x8a, 0x92, 0x1e, 0x68, 0x61, 0xe6, 0xaf, 0x27);
-
-DEFINE_GUID(GUID_USB_WMI_STD_DATA,
- 0x4E623B20L, 0xCB14, 0x11D1, 0xB3, 0x31, 0x00, 0xA0, 0xC9, 0x59, 0xBB, 0xD2);
-
-DEFINE_GUID(GUID_USB_WMI_STD_NOTIFICATION,
- 0x4E623B20L, 0xCB14, 0x11D1, 0xB3, 0x31, 0x00, 0xA0, 0xC9, 0x59, 0xBB, 0xD2);
-
-#define GUID_CLASS_USBHUB GUID_DEVINTERFACE_USB_HUB
-#define GUID_CLASS_USB_DEVICE GUID_DEVINTERFACE_USB_DEVICE
-#define GUID_CLASS_USB_HOST_CONTROLLER GUID_DEVINTERFACE_USB_HOST_CONTROLLER
-
-#define USB_SUBMIT_URB 0
-#define USB_RESET_PORT 1
-#define USB_GET_ROOTHUB_PDO 3
-#define USB_GET_PORT_STATUS 4
-#define USB_ENABLE_PORT 5
-#define USB_GET_HUB_COUNT 6
-#define USB_CYCLE_PORT 7
-#define USB_GET_HUB_NAME 8
-#define USB_IDLE_NOTIFICATION 9
-#define USB_GET_BUS_INFO 264
-#define USB_GET_CONTROLLER_NAME 265
-#define USB_GET_BUSGUID_INFO 266
-#define USB_GET_PARENT_HUB_INFO 267
-#define USB_GET_DEVICE_HANDLE 268
-
-#define HCD_GET_STATS_1 255
-#define HCD_DIAGNOSTIC_MODE_ON 256
-#define HCD_DIAGNOSTIC_MODE_OFF 257
-#define HCD_GET_ROOT_HUB_NAME 258
-#define HCD_GET_DRIVERKEY_NAME 265
-#define HCD_GET_STATS_2 266
-#define HCD_DISABLE_PORT 268
-#define HCD_ENABLE_PORT 269
-#define HCD_USER_REQUEST 270
-
-#define USB_GET_NODE_INFORMATION 258
-#define USB_GET_NODE_CONNECTION_INFORMATION 259
-#define USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION 260
-#define USB_GET_NODE_CONNECTION_NAME 261
-#define USB_DIAG_IGNORE_HUBS_ON 262
-#define USB_DIAG_IGNORE_HUBS_OFF 263
-#define USB_GET_NODE_CONNECTION_DRIVERKEY_NAME 264
-#define USB_GET_HUB_CAPABILITIES 271
-#define USB_GET_NODE_CONNECTION_ATTRIBUTES 272
-
-#define FILE_DEVICE_USB FILE_DEVICE_UNKNOWN
-
-#define USB_CTL(id) CTL_CODE(FILE_DEVICE_USB, \
- (id), \
- METHOD_BUFFERED, \
- FILE_ANY_ACCESS)
-
-#define USB_KERNEL_CTL(id) CTL_CODE(FILE_DEVICE_USB, \
- (id), \
- METHOD_NEITHER, \
- FILE_ANY_ACCESS)
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __USBIODEF_H */
diff --git a/winsup/w32api/include/ddk/usbscan.h b/winsup/w32api/include/ddk/usbscan.h
deleted file mode 100644
index f22b0b560..000000000
--- a/winsup/w32api/include/ddk/usbscan.h
+++ /dev/null
@@ -1,158 +0,0 @@
-/*
- * usbscan.h
- *
- * USB scanner definitions
- *
- * 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 __USBSCAN_H
-#define __USBSCAN_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-
-#define FILE_DEVICE_USB_SCAN 0x8000
-#define IOCTL_INDEX 0x0800
-
-#define IOCTL_CANCEL_IO \
- CTL_CODE(FILE_DEVICE_USB_SCAN, IOCTL_INDEX + 1, METHOD_BUFFERED,FILE_ANY_ACCESS)
-
-#define IOCTL_GET_VERSION \
- CTL_CODE(FILE_DEVICE_USB_SCAN, IOCTL_INDEX + 0, METHOD_BUFFERED,FILE_ANY_ACCESS)
-
-#define IOCTL_GET_CHANNEL_ALIGN_RQST \
- CTL_CODE(FILE_DEVICE_USB_SCAN, IOCTL_INDEX + 5, METHOD_BUFFERED,FILE_ANY_ACCESS)
-
-#define IOCTL_GET_DEVICE_DESCRIPTOR \
- CTL_CODE(FILE_DEVICE_USB_SCAN, IOCTL_INDEX + 6, METHOD_BUFFERED,FILE_ANY_ACCESS)
-
-#define IOCTL_GET_PIPE_CONFIGURATION \
- CTL_CODE(FILE_DEVICE_USB_SCAN, IOCTL_INDEX + 10,METHOD_BUFFERED,FILE_ANY_ACCESS)
-
-#define IOCTL_GET_USB_DESCRIPTOR \
- CTL_CODE(FILE_DEVICE_USB_SCAN, IOCTL_INDEX + 8, METHOD_BUFFERED,FILE_ANY_ACCESS)
-
-#define IOCTL_READ_REGISTERS \
- CTL_CODE(FILE_DEVICE_USB_SCAN, IOCTL_INDEX + 3, METHOD_BUFFERED,FILE_ANY_ACCESS)
-
-#define IOCTL_RESET_PIPE \
- CTL_CODE(FILE_DEVICE_USB_SCAN, IOCTL_INDEX + 7, METHOD_BUFFERED,FILE_ANY_ACCESS)
-
-#define IOCTL_SEND_USB_REQUEST \
- CTL_CODE(FILE_DEVICE_USB_SCAN, IOCTL_INDEX + 9, METHOD_BUFFERED,FILE_ANY_ACCESS)
-
-#define IOCTL_SET_TIMEOUT \
- CTL_CODE(FILE_DEVICE_USB_SCAN, IOCTL_INDEX + 11,METHOD_BUFFERED,FILE_ANY_ACCESS)
-
-#define IOCTL_WAIT_ON_DEVICE_EVENT \
- CTL_CODE(FILE_DEVICE_USB_SCAN, IOCTL_INDEX + 2, METHOD_BUFFERED,FILE_ANY_ACCESS)
-
-#define IOCTL_WRITE_REGISTERS \
- CTL_CODE(FILE_DEVICE_USB_SCAN, IOCTL_INDEX + 4, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-
-#define MAX_NUM_PIPES 8
-
-#define BULKIN_FLAG 0x80
-
-typedef struct _CHANNEL_INFO {
- /*OUT*/ ULONG EventChannelSize;
- /*OUT*/ ULONG uReadDataAlignment;
- /*OUT*/ ULONG uWriteDataAlignment;
-}CHANNEL_INFO, *PCHANNEL_INFO;
-
-typedef struct _DEVICE_DESCRIPTOR {
- /*OUT*/ USHORT usVendorId;
- /*OUT*/ USHORT usProductId;
- /*OUT*/ USHORT usBcdDevice;
- /*OUT*/ USHORT usLanguageId;
-} DEVICE_DESCRIPTOR, *PDEVICE_DESCRIPTOR;
-
-typedef struct _DRV_VERSION {
- /*OUT*/ ULONG major;
- /*OUT*/ ULONG minor;
- /*OUT*/ ULONG internal;
-} DRV_VERSION, *PDRV_VERSION;
-
-typedef struct _IO_BLOCK {
- /*IN*/ ULONG uOffset;
- /*IN*/ ULONG uLength;
- /*IN OUT*/ PUCHAR pbyData;
- /*IN*/ ULONG uIndex;
-} IO_BLOCK, *PIO_BLOCK;
-
-typedef struct _IO_BLOCK_EX {
- /*IN*/ ULONG uOffset;
- /*IN*/ ULONG uLength;
- /*IN OUT*/ PUCHAR pbyData;
- /*IN*/ ULONG uIndex;
- /*IN*/ UCHAR bRequest;
- /*IN*/ UCHAR bmRequestType;
- /*IN*/ UCHAR fTransferDirectionIn;
-} IO_BLOCK_EX, *PIO_BLOCK_EX;
-
-typedef struct _USBSCAN_GET_DESCRIPTOR {
- /*IN*/ UCHAR DescriptorType;
- /*IN*/ UCHAR Index;
- /*IN*/ USHORT LanguageId;
-} USBSCAN_GET_DESCRIPTOR, *PUSBSCAN_GET_DESCRIPTOR;
-
-typedef enum _RAW_PIPE_TYPE {
- USBSCAN_PIPE_CONTROL,
- USBSCAN_PIPE_ISOCHRONOUS,
- USBSCAN_PIPE_BULK,
- USBSCAN_PIPE_INTERRUPT
-} RAW_PIPE_TYPE;
-
-typedef struct _USBSCAN_PIPE_INFORMATION {
- USHORT MaximumPacketSize;
- UCHAR EndpointAddress;
- UCHAR Interval;
- RAW_PIPE_TYPE PipeType;
-} USBSCAN_PIPE_INFORMATION, *PUSBSCAN_PIPE_INFORMATION;
-
-typedef struct _USBSCAN_PIPE_CONFIGURATION {
- /*OUT*/ ULONG NumberOfPipes;
- /*OUT*/ USBSCAN_PIPE_INFORMATION PipeInfo[MAX_NUM_PIPES];
-} USBSCAN_PIPE_CONFIGURATION, *PUSBSCAN_PIPE_CONFIGURATION;
-
-typedef struct _USBSCAN_TIMEOUT {
- /*IN*/ ULONG TimeoutRead;
- /*IN*/ ULONG TimeoutWrite;
- /*IN*/ ULONG TimeoutEvent;
-} USBSCAN_TIMEOUT, *PUSBSCAN_TIMEOUT;
-
-typedef enum _PIPE_TYPE {
- EVENT_PIPE,
- READ_DATA_PIPE,
- WRITE_DATA_PIPE,
- ALL_PIPE
-} PIPE_TYPE;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __USBSCAN_H */
diff --git a/winsup/w32api/include/ddk/usbuser.h b/winsup/w32api/include/ddk/usbuser.h
deleted file mode 100644
index 4c4b9e9a8..000000000
--- a/winsup/w32api/include/ddk/usbuser.h
+++ /dev/null
@@ -1,328 +0,0 @@
-/*
- * usbuser.h
- *
- * USB user mode IOCTL 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 __USBUSER_H
-#define __USBUSER_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-#include "usb.h"
-#include "usbiodef.h"
-
-#include <pshpack1.h>
-
-#define USBUSER_VERSION 0x0004
-
-#define IOCTL_USB_USER_REQUEST USB_CTL(HCD_USER_REQUEST)
-
-#ifndef IOCTL_USB_DIAGNOSTIC_MODE_ON
-#define IOCTL_USB_DIAGNOSTIC_MODE_ON USB_CTL(HCD_DIAGNOSTIC_MODE_ON)
-#endif
-#ifndef IOCTL_USB_DIAGNOSTIC_MODE_OFF
-#define IOCTL_USB_DIAGNOSTIC_MODE_OFF USB_CTL(HCD_DIAGNOSTIC_MODE_OFF)
-#endif
-
-#ifndef IOCTL_USB_GET_ROOT_HUB_NAME
-#define IOCTL_USB_GET_ROOT_HUB_NAME USB_CTL(HCD_GET_ROOT_HUB_NAME)
-#endif
-#ifndef IOCTL_GET_HCD_DRIVERKEY_NAME
-#define IOCTL_GET_HCD_DRIVERKEY_NAME USB_CTL(HCD_GET_DRIVERKEY_NAME)
-#endif
-
-typedef enum _USB_USER_ERROR_CODE {
- UsbUserSuccess = 0,
- UsbUserNotSupported,
- UsbUserInvalidRequestCode,
- UsbUserFeatureDisabled,
- UsbUserInvalidHeaderParameter,
- UsbUserInvalidParameter,
- UsbUserMiniportError,
- UsbUserBufferTooSmall,
- UsbUserErrorNotMapped,
- UsbUserDeviceNotStarted,
- UsbUserNoDeviceConnected
-} USB_USER_ERROR_CODE;
-
-#define USBUSER_GET_CONTROLLER_INFO_0 0x00000001
-#define USBUSER_GET_CONTROLLER_DRIVER_KEY 0x00000002
-#define USBUSER_PASS_THRU 0x00000003
-#define USBUSER_GET_POWER_STATE_MAP 0x00000004
-#define USBUSER_GET_BANDWIDTH_INFORMATION 0x00000005
-#define USBUSER_GET_BUS_STATISTICS_0 0x00000006
-#define USBUSER_GET_ROOTHUB_SYMBOLIC_NAME 0x00000007
-#define USBUSER_GET_USB_DRIVER_VERSION 0x00000008
-#define USBUSER_GET_USB2_HW_VERSION 0x00000009
-#define USBUSER_OP_SEND_ONE_PACKET 0x10000001
-#define USBUSER_OP_RAW_RESET_PORT 0x20000001
-#define USBUSER_OP_OPEN_RAW_DEVICE 0x20000002
-#define USBUSER_OP_CLOSE_RAW_DEVICE 0x20000003
-#define USBUSER_OP_SEND_RAW_COMMAND 0x20000004
-#define USBUSER_INVALID_REQUEST 0xFFFFFFF0
-#define USBUSER_OP_MASK_DEVONLY_API 0x10000000
-#define USBUSER_OP_MASK_HCTEST_API 0x20000000
-
-#define USB_PACKETFLAG_LOW_SPEED 0x00000001
-#define USB_PACKETFLAG_FULL_SPEED 0x00000002
-#define USB_PACKETFLAG_HIGH_SPEED 0x00000004
-#define USB_PACKETFLAG_ASYNC_IN 0x00000008
-#define USB_PACKETFLAG_ASYNC_OUT 0x00000010
-#define USB_PACKETFLAG_ISO_IN 0x00000020
-#define USB_PACKETFLAG_ISO_OUT 0x00000040
-#define USB_PACKETFLAG_SETUP 0x00000080
-#define USB_PACKETFLAG_TOGGLE0 0x00000100
-#define USB_PACKETFLAG_TOGGLE1 0x00000200
-
-typedef struct _PACKET_PARAMETERS {
- UCHAR DeviceAddress;
- UCHAR EndpointAddress;
- USHORT MaximumPacketSize;
- ULONG Timeout;
- ULONG Flags;
- ULONG DataLength;
- USHORT HubDeviceAddress;
- USHORT PortTTNumber;
- UCHAR ErrorCount;
- UCHAR Pad[3];
- USBD_STATUS UsbdStatusCode;
- UCHAR Data[4];
-} PACKET_PARAMETERS, *PPACKET_PARAMETERS;
-
-typedef struct _RAW_RESET_PORT_PARAMETERS {
- USHORT PortNumber;
- USHORT PortStatus;
-} RAW_RESET_PORT_PARAMETERS, *PRAW_RESET_PORT_PARAMETERS;
-
-typedef struct _USB_BANDWIDTH_INFO {
- ULONG DeviceCount;
- ULONG TotalBusBandwidth;
- ULONG Total32secBandwidth;
- ULONG AllocedBulkAndControl;
- ULONG AllocedIso;
- ULONG AllocedInterrupt_1ms;
- ULONG AllocedInterrupt_2ms;
- ULONG AllocedInterrupt_4ms;
- ULONG AllocedInterrupt_8ms;
- ULONG AllocedInterrupt_16ms;
- ULONG AllocedInterrupt_32ms;
-} USB_BANDWIDTH_INFO, *PUSB_BANDWIDTH_INFO;
-
-typedef struct _USBUSER_REQUEST_HEADER {
- ULONG UsbUserRequest;
- USB_USER_ERROR_CODE UsbUserStatusCode;
- ULONG RequestBufferLength;
- ULONG ActualBufferLength;
-} USBUSER_REQUEST_HEADER, *PUSBUSER_REQUEST_HEADER;
-
-typedef struct _USBUSER_BANDWIDTH_INFO_REQUEST {
- USBUSER_REQUEST_HEADER Header;
- USB_BANDWIDTH_INFO BandwidthInformation;
-} USBUSER_BANDWIDTH_INFO_REQUEST, *PUSBUSER_BANDWIDTH_INFO_REQUEST;
-
-typedef struct _USB_BUS_STATISTICS_0 {
- ULONG DeviceCount;
- LARGE_INTEGER CurrentSystemTime;
- ULONG CurrentUsbFrame;
- ULONG BulkBytes;
- ULONG IsoBytes;
- ULONG InterruptBytes;
- ULONG ControlDataBytes;
- ULONG PciInterruptCount;
- ULONG HardResetCount;
- ULONG WorkerSignalCount;
- ULONG CommonBufferBytes;
- ULONG WorkerIdleTimeMs;
- BOOLEAN RootHubEnabled;
- UCHAR RootHubDevicePowerState;
- UCHAR Unused;
- UCHAR NameIndex;
-} USB_BUS_STATISTICS_0, *PUSB_BUS_STATISTICS_0;
-
-typedef struct _USBUSER_BUS_STATISTICS_0_REQUEST {
- USBUSER_REQUEST_HEADER Header;
- USB_BUS_STATISTICS_0 BusStatistics0;
-} USBUSER_BUS_STATISTICS_0_REQUEST, *PUSBUSER_BUS_STATISTICS_0_REQUEST;
-
-/* USB_CONTROLLER_INFO_0.HcFeatureFlags constants */
-#define USB_HC_FEATURE_FLAG_PORT_POWER_SWITCHING 0x00000001
-#define USB_HC_FEATURE_FLAG_SEL_SUSPEND 0x00000002
-#define USB_HC_FEATURE_LEGACY_BIOS 0x00000004
-
-typedef struct _USB_CLOSE_RAW_DEVICE_PARAMETERS {
- ULONG xxx;
-} USB_CLOSE_RAW_DEVICE_PARAMETERS , *PUSB_CLOSE_RAW_DEVICE_PARAMETERS;
-
-typedef struct _USBUSER_CLOSE_RAW_DEVICE {
- USBUSER_REQUEST_HEADER Header;
- USB_CLOSE_RAW_DEVICE_PARAMETERS Parameters;
-} USBUSER_CLOSE_RAW_DEVICE, *PUSBUSER_CLOSE_RAW_DEVICE;
-
-typedef struct _USB_CONTROLLER_INFO_0 {
- ULONG PciVendorId;
- ULONG PciDeviceId;
- ULONG PciRevision;
- ULONG NumberOfRootPorts;
- USB_CONTROLLER_FLAVOR ControllerFlavor;
- ULONG HcFeatureFlags;
-} USB_CONTROLLER_INFO_0 , *PUSB_CONTROLLER_INFO_0;
-
-typedef struct _USBUSER_CONTROLLER_INFO_0 {
- USBUSER_REQUEST_HEADER Header;
- USB_CONTROLLER_INFO_0 Info0;
-} USBUSER_CONTROLLER_INFO_0, *PUSBUSER_CONTROLLER_INFO_0;
-
-typedef struct _USB_DRIVER_VERSION_PARAMETERS {
- ULONG DriverTrackingCode;
- ULONG USBDI_Version;
- ULONG USBUSER_Version;
- BOOLEAN CheckedPortDriver;
- BOOLEAN CheckedMiniportDriver;
- USHORT USB_Version;
-} USB_DRIVER_VERSION_PARAMETERS , *PUSB_DRIVER_VERSION_PARAMETERS;
-
-typedef struct _USBUSER_GET_DRIVER_VERSION {
- USBUSER_REQUEST_HEADER Header;
- USB_DRIVER_VERSION_PARAMETERS Parameters;
-} USBUSER_GET_DRIVER_VERSION, *PUSBUSER_GET_DRIVER_VERSION;
-
-typedef struct _USB_OPEN_RAW_DEVICE_PARAMETERS {
- USHORT PortStatus;
- USHORT MaxPacketEp0;
-} USB_OPEN_RAW_DEVICE_PARAMETERS , *PUSB_OPEN_RAW_DEVICE_PARAMETERS;
-
-typedef struct _USBUSER_OPEN_RAW_DEVICE {
- USBUSER_REQUEST_HEADER Header;
- USB_OPEN_RAW_DEVICE_PARAMETERS Parameters;
-} USBUSER_OPEN_RAW_DEVICE, *PUSBUSER_OPEN_RAW_DEVICE;
-
-typedef enum _WDMUSB_POWER_STATE {
- WdmUsbPowerNotMapped = 0,
- WdmUsbPowerSystemUnspecified = 100,
- WdmUsbPowerSystemWorking,
- WdmUsbPowerSystemSleeping1,
- WdmUsbPowerSystemSleeping2,
- WdmUsbPowerSystemSleeping3,
- WdmUsbPowerSystemHibernate,
- WdmUsbPowerSystemShutdown,
- WdmUsbPowerDeviceUnspecified = 200,
- WdmUsbPowerDeviceD0,
- WdmUsbPowerDeviceD1,
- WdmUsbPowerDeviceD2,
- WdmUsbPowerDeviceD3
-} WDMUSB_POWER_STATE;
-
-typedef struct _USB_POWER_INFO {
- WDMUSB_POWER_STATE SystemState;
- WDMUSB_POWER_STATE HcDevicePowerState;
- WDMUSB_POWER_STATE HcDeviceWake;
- WDMUSB_POWER_STATE HcSystemWake;
- WDMUSB_POWER_STATE RhDevicePowerState;
- WDMUSB_POWER_STATE RhDeviceWake;
- WDMUSB_POWER_STATE RhSystemWake;
- WDMUSB_POWER_STATE LastSystemSleepState;
- BOOLEAN CanWakeup;
- BOOLEAN IsPowered;
-} USB_POWER_INFO, *PUSB_POWER_INFO;
-
-typedef struct _USBUSER_POWER_INFO_REQUEST {
- USBUSER_REQUEST_HEADER Header;
- USB_POWER_INFO PowerInformation;
-} USBUSER_POWER_INFO_REQUEST, *PUSBUSER_POWER_INFO_REQUEST;
-
-typedef struct _USB_UNICODE_NAME {
- ULONG Length;
- WCHAR String[1];
-} USB_UNICODE_NAME, *PUSB_UNICODE_NAME;
-
-typedef struct _USBUSER_CONTROLLER_UNICODE_NAME {
- USBUSER_REQUEST_HEADER Header;
- USB_UNICODE_NAME UnicodeName;
-} USBUSER_CONTROLLER_UNICODE_NAME, *PUSBUSER_CONTROLLER_UNICODE_NAME;
-
-typedef struct _USB_PASS_THRU_PARAMETERS {
- GUID FunctionGUID;
- ULONG ParameterLength;
- UCHAR Parameters[4];
-} USB_PASS_THRU_PARAMETERS, *PUSB_PASS_THRU_PARAMETERS;
-
-typedef struct _USBUSER_PASS_THRU_REQUEST {
- USBUSER_REQUEST_HEADER Header;
- USB_PASS_THRU_PARAMETERS PassThru;
-} USBUSER_PASS_THRU_REQUEST, *PUSBUSER_PASS_THRU_REQUEST;
-
-typedef struct _USBUSER_RAW_RESET_ROOT_PORT {
- USBUSER_REQUEST_HEADER Header;
- RAW_RESET_PORT_PARAMETERS Parameters;
-} USBUSER_RAW_RESET_ROOT_PORT, *PUSBUSER_RAW_RESET_ROOT_PORT;
-
-typedef struct _USBUSER_SEND_ONE_PACKET {
- USBUSER_REQUEST_HEADER Header;
- PACKET_PARAMETERS PacketParameters;
-} USBUSER_SEND_ONE_PACKET, *PUSBUSER_SEND_ONE_PACKET;
-
-typedef struct _USB_SEND_RAW_COMMAND_PARAMETERS {
- UCHAR Usb_bmRequest;
- UCHAR Usb_bRequest;
- USHORT Usb_wVlaue;
- USHORT Usb_wIndex;
- USHORT Usb_wLength;
- USHORT DeviceAddress;
- USHORT MaximumPacketSize;
- ULONG Timeout;
- ULONG DataLength;
- USBD_STATUS UsbdStatusCode;
- UCHAR Data[4];
-} USB_SEND_RAW_COMMAND_PARAMETERS, *PUSB_SEND_RAW_COMMAND_PARAMETERS;
-
-typedef struct _USBUSER_SEND_RAW_COMMAND {
- USBUSER_REQUEST_HEADER Header;
- USB_SEND_RAW_COMMAND_PARAMETERS Parameters;
-} USBUSER_SEND_RAW_COMMAND, *PUSBUSER_SEND_RAW_COMMAND;
-
-/* USB_USB2HW_VERSION_PARAMETERS.Usb2HwRevision constants */
-#define USB2HW_UNKNOWN 0x00
-#define USB2HW_A0 0xA0
-#define USB2HW_A1 0xA1
-#define USB2HW_B0 0xB0
-
-typedef struct _USB_USB2HW_VERSION_PARAMETERS {
- UCHAR Usb2HwRevision;
-} USB_USB2HW_VERSION_PARAMETERS, *PUSB_USB2HW_VERSION_PARAMETERS;
-
-typedef struct _USBUSER_GET_USB2HW_VERSION {
- USBUSER_REQUEST_HEADER Header;
- USB_USB2HW_VERSION_PARAMETERS Parameters;
-} USBUSER_GET_USB2HW_VERSION, *PUSBUSER_GET_USB2HW_VERSION;
-
-#include <poppack.h>
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __USBUSER_H */
diff --git a/winsup/w32api/include/ddk/video.h b/winsup/w32api/include/ddk/video.h
deleted file mode 100644
index 52e821221..000000000
--- a/winsup/w32api/include/ddk/video.h
+++ /dev/null
@@ -1,1566 +0,0 @@
-/*
- * video.h
- *
- * Video port and miniport driver 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 __VIDEO_H
-#define __VIDEO_H
-
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __WINDDI_H
-#error winddi.h cannot be included with video.h
-#else
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-
-#if defined(_VIDEOPORT_)
- #define VPAPI DECLSPEC_EXPORT
-#else
- #define VPAPI DECLSPEC_IMPORT
-#endif
-
-#include "videoagp.h"
-#include "ntddvdeo.h"
-
-
-typedef LONG VP_STATUS;
-typedef VP_STATUS *PVP_STATUS;
-typedef struct __DMA_PARAMETERS * PDMA;
-typedef struct _VIDEO_PORT_EVENT *PEVENT;
-typedef struct _VIDEO_PORT_SPIN_LOCK *PSPIN_LOCK;
-typedef struct __VP_DMA_ADAPTER *PVP_DMA_ADAPTER;
-
-#define DISPLAY_ADAPTER_HW_ID 0xFFFFFFFF
-
-#define EVENT_TYPE_MASK 1
-#define SYNCHRONIZATION_EVENT 0
-#define NOTIFICATION_EVENT 1
-
-#define INITIAL_EVENT_STATE_MASK 2
-#define INITIAL_EVENT_NOT_SIGNALED 0
-#define INITIAL_EVENT_SIGNALED 2
-
-typedef enum VIDEO_DEBUG_LEVEL {
- Error = 0,
- Warn,
- Trace,
- Info
-} VIDEO_DEBUG_LEVEL, *PVIDEO_DEBUG_LEVEL;
-
-typedef enum {
- VideoPortUnlockAfterDma = 1,
- VideoPortKeepPagesLocked,
- VideoPortDmaInitOnly
-} DMA_FLAGS;
-
-typedef enum _HW_DMA_RETURN {
- DmaAsyncReturn,
- DmaSyncReturn
-} HW_DMA_RETURN, *PHW_DMA_RETURN;
-
-typedef HW_DMA_RETURN
-(*PVIDEO_HW_START_DMA)(
- PVOID HwDeviceExtension,
- PDMA pDma);
-
-
-#ifdef DBG
-
-#define PAGED_CODE() \
- if (VideoPortGetCurrentIrql() > 1 /* APC_LEVEL */) \
- { \
- VideoPortDebugPrint(Error, "Video: Pageable code called at IRQL %d\n", VideoPortGetCurrentIrql() ); \
- ASSERT(FALSE); \
- }
-
-#else
-
-#define PAGED_CODE()
-
-#endif
-
-typedef struct _VIDEO_HARDWARE_CONFIGURATION_DATA {
- INTERFACE_TYPE InterfaceType;
- ULONG BusNumber;
- USHORT Version;
- USHORT Revision;
- USHORT Irql;
- USHORT Vector;
- ULONG ControlBase;
- ULONG ControlSize;
- ULONG CursorBase;
- ULONG CursorSize;
- ULONG FrameBase;
- ULONG FrameSize;
-} VIDEO_HARDWARE_CONFIGURATION_DATA, *PVIDEO_HARDWARE_CONFIGURATION_DATA;
-
-#define SIZE_OF_NT4_VIDEO_PORT_CONFIG_INFO 0x42
-#define SIZE_OF_NT4_VIDEO_HW_INITIALIZATION_DATA 0x28
-#define SIZE_OF_W2K_VIDEO_HW_INITIALIZATION_DATA 0x50
-
-typedef enum _VIDEO_DEVICE_DATA_TYPE {
- VpMachineData = 0,
- VpCmosData,
- VpBusData,
- VpControllerData,
- VpMonitorData
-} VIDEO_DEVICE_DATA_TYPE, *PVIDEO_DEVICE_DATA_TYPE;
-
-
-
-/* Video miniport driver functions */
-
-typedef struct _VP_SCATTER_GATHER_ELEMENT {
- PHYSICAL_ADDRESS Address;
- ULONG Length;
- ULONG_PTR Reserved;
-} VP_SCATTER_GATHER_ELEMENT, *PVP_SCATTER_GATHER_ELEMENT;
-
-typedef struct _VP_SCATTER_GATHER_LIST {
- ULONG NumberOfElements;
- ULONG_PTR Reserved;
- VP_SCATTER_GATHER_ELEMENT Elements[0];
-} VP_SCATTER_GATHER_LIST, *PVP_SCATTER_GATHER_LIST;
-
-typedef VOID DDKAPI
-(*PEXECUTE_DMA)(
- /*IN*/ PVOID HwDeviceExtension,
- /*IN*/ PVP_DMA_ADAPTER VpDmaAdapter,
- /*IN*/ PVP_SCATTER_GATHER_LIST SGList,
- /*IN*/ PVOID Context);
-
-typedef PVOID DDKAPI
-(*PVIDEO_PORT_GET_PROC_ADDRESS)(
-/*IN*/ PVOID HwDeviceExtension,
-/*IN*/ PUCHAR FunctionName);
-
-typedef struct _VIDEO_PORT_CONFIG_INFO {
- ULONG Length;
- ULONG SystemIoBusNumber;
- INTERFACE_TYPE AdapterInterfaceType;
- ULONG BusInterruptLevel;
- ULONG BusInterruptVector;
- KINTERRUPT_MODE InterruptMode;
- ULONG NumEmulatorAccessEntries;
- PEMULATOR_ACCESS_ENTRY EmulatorAccessEntries;
- ULONG_PTR EmulatorAccessEntriesContext;
- PHYSICAL_ADDRESS VdmPhysicalVideoMemoryAddress;
- ULONG VdmPhysicalVideoMemoryLength;
- ULONG HardwareStateSize;
- ULONG DmaChannel;
- ULONG DmaPort;
- UCHAR DmaShareable;
- UCHAR InterruptShareable;
- BOOLEAN Master;
- DMA_WIDTH DmaWidth;
- DMA_SPEED DmaSpeed;
- BOOLEAN bMapBuffers;
- BOOLEAN NeedPhysicalAddresses;
- BOOLEAN DemandMode;
- ULONG MaximumTransferLength;
- ULONG NumberOfPhysicalBreaks;
- BOOLEAN ScatterGather;
- ULONG MaximumScatterGatherChunkSize;
- PVIDEO_PORT_GET_PROC_ADDRESS VideoPortGetProcAddress;
- PWSTR DriverRegistryPath;
- ULONGLONG SystemMemorySize;
-} VIDEO_PORT_CONFIG_INFO, *PVIDEO_PORT_CONFIG_INFO;
-
-typedef VP_STATUS DDKAPI
-(*PVIDEO_HW_FIND_ADAPTER)(
- /*IN*/ PVOID HwDeviceExtension,
- /*IN*/ PVOID HwContext,
- /*IN*/ PWSTR ArgumentString,
- /*IN OUT*/ PVIDEO_PORT_CONFIG_INFO ConfigInfo,
- /*OUT*/ PUCHAR Again);
-
-typedef VP_STATUS DDKAPI
-(*PVIDEO_HW_POWER_GET)(
- /*IN*/ PVOID HwDeviceExtension,
- /*IN*/ ULONG HwId,
- /*IN OUT*/ PVIDEO_POWER_MANAGEMENT VideoPowerControl);
-
-/* PVIDEO_HW_GET_CHILD_DESCRIPTOR return values */
-#define VIDEO_ENUM_MORE_DEVICES ERROR_CONTINUE
-#define VIDEO_ENUM_NO_MORE_DEVICES ERROR_NO_MORE_DEVICES
-#define VIDEO_ENUM_INVALID_DEVICE ERROR_INVALID_NAME
-
-/* PVIDEO_HW_GET_CHILD_DESCRIPTOR.ChildEnumInfo constants */
-typedef struct _VIDEO_CHILD_ENUM_INFO {
- ULONG Size;
- ULONG ChildDescriptorSize;
- ULONG ChildIndex;
- ULONG ACPIHwId;
- PVOID ChildHwDeviceExtension;
-} VIDEO_CHILD_ENUM_INFO, *PVIDEO_CHILD_ENUM_INFO;
-
-/* PVIDEO_HW_GET_CHILD_DESCRIPTOR.VideoChildType constants */
-typedef enum _VIDEO_CHILD_TYPE {
- Monitor = 1,
- NonPrimaryChip,
- VideoChip,
- Other
-} VIDEO_CHILD_TYPE, *PVIDEO_CHILD_TYPE;
-
-typedef VP_STATUS DDKAPI
-(*PVIDEO_HW_GET_CHILD_DESCRIPTOR)(
- /*IN*/ PVOID HwDeviceExtension,
- /*IN*/ PVIDEO_CHILD_ENUM_INFO ChildEnumInfo,
- /*OUT*/ PVIDEO_CHILD_TYPE VideoChildType,
- /*OUT*/ PUCHAR pChildDescriptor,
- /*OUT*/ PULONG UId,
- /*OUT*/ PULONG pUnused);
-
-typedef BOOLEAN DDKAPI
-(*PVIDEO_HW_INITIALIZE)(
- /*IN*/ PVOID HwDeviceExtension);
-
-typedef BOOLEAN DDKAPI
-(*PVIDEO_HW_INTERRUPT)(
- /*IN*/ PVOID HwDeviceExtension);
-
-/* VIDEO_ACCESS_RANGE.RangePassive */
-#define VIDEO_RANGE_PASSIVE_DECODE 1
-#define VIDEO_RANGE_10_BIT_DECODE 2
-
-#ifndef VIDEO_ACCESS_RANGE_DEFINED /* also in miniport.h */
-#define VIDEO_ACCESS_RANGE_DEFINED
-typedef struct _VIDEO_ACCESS_RANGE {
- PHYSICAL_ADDRESS RangeStart;
- ULONG RangeLength;
- UCHAR RangeInIoSpace;
- UCHAR RangeVisible;
- UCHAR RangeShareable;
- UCHAR RangePassive;
-} VIDEO_ACCESS_RANGE, *PVIDEO_ACCESS_RANGE;
-#endif
-
-typedef VOID DDKAPI
-(*PVIDEO_HW_LEGACYRESOURCES)(
- /*IN*/ ULONG VendorId,
- /*IN*/ ULONG DeviceId,
- /*IN OUT*/ PVIDEO_ACCESS_RANGE *LegacyResourceList,
- /*IN OUT*/ PULONG LegacyResourceCount);
-
-typedef VP_STATUS DDKAPI
-(*PMINIPORT_QUERY_DEVICE_ROUTINE)(
- /*IN*/ PVOID HwDeviceExtension,
- /*IN*/ PVOID Context,
- /*IN*/ VIDEO_DEVICE_DATA_TYPE DeviceDataType,
- /*IN*/ PVOID Identifier,
- /*IN*/ ULONG IdentifierLength,
- /*IN*/ PVOID ConfigurationData,
- /*IN*/ ULONG ConfigurationDataLength,
- /*IN OUT*/ PVOID ComponentInformation,
- /*IN*/ ULONG ComponentInformationLength);
-
-typedef struct _QUERY_INTERFACE {
- CONST GUID *InterfaceType;
- USHORT Size;
- USHORT Version;
- PINTERFACE Interface;
- PVOID InterfaceSpecificData;
-} QUERY_INTERFACE, *PQUERY_INTERFACE;
-
-typedef VP_STATUS DDKAPI
-(*PVIDEO_HW_QUERY_INTERFACE)(
- /*IN*/ PVOID HwDeviceExtension,
- /*IN OUT*/ PQUERY_INTERFACE QueryInterface);
-
-typedef VP_STATUS DDKAPI
-(*PMINIPORT_GET_REGISTRY_ROUTINE)(
- /*IN*/ PVOID HwDeviceExtension,
- /*IN*/ PVOID Context,
- /*IN OUT*/ PWSTR ValueName,
- /*IN OUT*/ PVOID ValueData,
- /*IN*/ ULONG ValueLength);
-
-typedef BOOLEAN DDKAPI
-(*PVIDEO_HW_RESET_HW)(
- /*IN*/ PVOID HwDeviceExtension,
- /*IN*/ ULONG Columns,
- /*IN*/ ULONG Rows);
-
-typedef VP_STATUS DDKAPI
-(*PVIDEO_HW_POWER_SET)(
- /*IN*/ PVOID HwDeviceExtension,
- /*IN*/ ULONG HwId,
- /*IN*/ PVIDEO_POWER_MANAGEMENT VideoPowerControl);
-
-typedef struct _STATUS_BLOCK {
- _ANONYMOUS_UNION union {
- VP_STATUS Status;
- PVOID Pointer;
- } DUMMYUNIONNAME;
- ULONG_PTR Information;
-} STATUS_BLOCK, *PSTATUS_BLOCK;
-
-typedef struct _VIDEO_REQUEST_PACKET {
- ULONG IoControlCode;
- PSTATUS_BLOCK StatusBlock;
- PVOID InputBuffer;
- ULONG InputBufferLength;
- PVOID OutputBuffer;
- ULONG OutputBufferLength;
-} VIDEO_REQUEST_PACKET, *PVIDEO_REQUEST_PACKET;
-
-typedef BOOLEAN DDKAPI
-(*PVIDEO_HW_START_IO)(
- /*IN*/ PVOID HwDeviceExtension,
- /*IN*/ PVIDEO_REQUEST_PACKET RequestPacket);
-
-typedef BOOLEAN DDKAPI
-(*PMINIPORT_SYNCHRONIZE_ROUTINE)(
- /*IN*/ PVOID Context);
-
-typedef VOID DDKAPI
-(*PVIDEO_HW_TIMER)(
- /*IN*/ PVOID HwDeviceExtension);
-
-typedef VOID DDKAPI
-(*PMINIPORT_DPC_ROUTINE)(
- /*IN*/ PVOID HwDeviceExtension,
- /*IN*/ PVOID Context);
-
-typedef VP_STATUS DDKAPI
-(*PDRIVER_IO_PORT_UCHAR)(
- /*IN*/ ULONG_PTR Context,
- /*IN*/ ULONG Port,
- /*IN*/ UCHAR AccessMode,
- /*IN*/ PUCHAR Data);
-
-typedef VP_STATUS DDKAPI
-(*PDRIVER_IO_PORT_UCHAR_STRING)(
- /*IN*/ ULONG_PTR Context,
- /*IN*/ ULONG Port,
- /*IN*/ UCHAR AccessMode,
- /*IN*/ PUCHAR Data,
- /*IN*/ ULONG DataLength);
-
-typedef VP_STATUS DDKAPI
-(*PDRIVER_IO_PORT_ULONG)(
- /*IN*/ ULONG_PTR Context,
- /*IN*/ ULONG Port,
- /*IN*/ UCHAR AccessMode,
- /*IN*/ PULONG Data);
-
-typedef VP_STATUS DDKAPI
-(*PDRIVER_IO_PORT_ULONG_STRING)(
- /*IN*/ ULONG_PTR Context,
- /*IN*/ ULONG Port,
- /*IN*/ UCHAR AccessMode,
- /*IN*/ PULONG Data,
- /*IN*/ ULONG DataLength);
-
-typedef VP_STATUS DDKAPI
-(*PDRIVER_IO_PORT_USHORT)(
- /*IN*/ ULONG_PTR Context,
- /*IN*/ ULONG Port,
- /*IN*/ UCHAR AccessMode,
- /*IN*/ PUSHORT Data);
-
-typedef VP_STATUS DDKAPI
-(*PDRIVER_IO_PORT_USHORT_STRING)(
- /*IN*/ ULONG_PTR Context,
- /*IN*/ ULONG Port,
- /*IN*/ UCHAR AccessMode,
- /*IN*/ PUSHORT Data,
- /*IN*/ ULONG DataLength);
-
-
-
-typedef struct _INT10_BIOS_ARGUMENTS {
- ULONG Eax;
- ULONG Ebx;
- ULONG Ecx;
- ULONG Edx;
- ULONG Esi;
- ULONG Edi;
- ULONG Ebp;
- USHORT SegDs;
- USHORT SegEs;
-} INT10_BIOS_ARGUMENTS, *PINT10_BIOS_ARGUMENTS;
-
-typedef struct _VIDEO_CHILD_STATE {
- ULONG Id;
- ULONG State;
-} VIDEO_CHILD_STATE, *PVIDEO_CHILD_STATE;
-
-typedef struct _VIDEO_CHILD_STATE_CONFIGURATION {
- ULONG Count;
- VIDEO_CHILD_STATE ChildStateArray[ANYSIZE_ARRAY];
-} VIDEO_CHILD_STATE_CONFIGURATION, *PVIDEO_CHILD_STATE_CONFIGURATION;
-
-typedef struct _VIDEO_HW_INITIALIZATION_DATA {
- ULONG HwInitDataSize;
- INTERFACE_TYPE AdapterInterfaceType;
- PVIDEO_HW_FIND_ADAPTER HwFindAdapter;
- PVIDEO_HW_INITIALIZE HwInitialize;
- PVIDEO_HW_INTERRUPT HwInterrupt;
- PVIDEO_HW_START_IO HwStartIO;
- ULONG HwDeviceExtensionSize;
- ULONG StartingDeviceNumber;
- PVIDEO_HW_RESET_HW HwResetHw;
- PVIDEO_HW_TIMER HwTimer;
- PVIDEO_HW_START_DMA HwStartDma;
- PVIDEO_HW_POWER_SET HwSetPowerState;
- PVIDEO_HW_POWER_GET HwGetPowerState;
- PVIDEO_HW_GET_CHILD_DESCRIPTOR HwGetVideoChildDescriptor;
- PVIDEO_HW_QUERY_INTERFACE HwQueryInterface;
- ULONG HwChildDeviceExtensionSize;
- PVIDEO_ACCESS_RANGE HwLegacyResourceList;
- ULONG HwLegacyResourceCount;
- PVIDEO_HW_LEGACYRESOURCES HwGetLegacyResources;
- BOOLEAN AllowEarlyEnumeration;
- ULONG Reserved;
-} VIDEO_HW_INITIALIZATION_DATA, *PVIDEO_HW_INITIALIZATION_DATA;
-
- /* VIDEO_PORT_AGP_INTERFACE.Version contants */
-#define VIDEO_PORT_AGP_INTERFACE_VERSION_1 1
-
-typedef struct _VIDEO_PORT_AGP_INTERFACE {
- SHORT Size;
- SHORT Version;
- PVOID Context;
- PINTERFACE_REFERENCE InterfaceReference;
- PINTERFACE_DEREFERENCE InterfaceDereference;
- PAGP_RESERVE_PHYSICAL AgpReservePhysical;
- PAGP_RELEASE_PHYSICAL AgpReleasePhysical;
- PAGP_COMMIT_PHYSICAL AgpCommitPhysical;
- PAGP_FREE_PHYSICAL AgpFreePhysical;
- PAGP_RESERVE_VIRTUAL AgpReserveVirtual;
- PAGP_RELEASE_VIRTUAL AgpReleaseVirtual;
- PAGP_COMMIT_VIRTUAL AgpCommitVirtual;
- PAGP_FREE_VIRTUAL AgpFreeVirtual;
- ULONGLONG AgpAllocationLimit;
-} VIDEO_PORT_AGP_INTERFACE, *PVIDEO_PORT_AGP_INTERFACE;
-
- /* VIDEO_PORT_AGP_INTERFACE_2.Version constants */
-#define VIDEO_PORT_AGP_INTERFACE_VERSION_2 2
-
-typedef struct _VIDEO_PORT_AGP_INTERFACE_2 {
- /*IN*/ USHORT Size;
- /*IN*/ USHORT Version;
- /*OUT*/ PVOID Context;
- /*OUT*/ PINTERFACE_REFERENCE InterfaceReference;
- /*OUT*/ PINTERFACE_DEREFERENCE InterfaceDereference;
- /*OUT*/ PAGP_RESERVE_PHYSICAL AgpReservePhysical;
- /*OUT*/ PAGP_RELEASE_PHYSICAL AgpReleasePhysical;
- /*OUT*/ PAGP_COMMIT_PHYSICAL AgpCommitPhysical;
- /*OUT*/ PAGP_FREE_PHYSICAL AgpFreePhysical;
- /*OUT*/ PAGP_RESERVE_VIRTUAL AgpReserveVirtual;
- /*OUT*/ PAGP_RELEASE_VIRTUAL AgpReleaseVirtual;
- /*OUT*/ PAGP_COMMIT_VIRTUAL AgpCommitVirtual;
- /*OUT*/ PAGP_FREE_VIRTUAL AgpFreeVirtual;
- /*OUT*/ ULONGLONG AgpAllocationLimit;
- /*OUT*/ PAGP_SET_RATE AgpSetRate;
-} VIDEO_PORT_AGP_INTERFACE_2, *PVIDEO_PORT_AGP_INTERFACE_2;
-
-#define VIDEO_PORT_I2C_INTERFACE_VERSION_1 1
-
-typedef VOID DDKAPI
-(*PVIDEO_WRITE_CLOCK_LINE)(
- PVOID HwDeviceExtension,
- UCHAR Data);
-
-typedef VOID DDKAPI
-(*PVIDEO_WRITE_DATA_LINE)(
- PVOID HwDeviceExtension,
- UCHAR Data);
-
-typedef BOOLEAN DDKAPI
-(*PVIDEO_READ_CLOCK_LINE)(
- PVOID HwDeviceExtension);
-
-typedef BOOLEAN DDKAPI
-(*PVIDEO_READ_DATA_LINE)(
- PVOID HwDeviceExtension);
-
-typedef struct _I2C_CALLBACKS
-{
- /*IN*/ PVIDEO_WRITE_CLOCK_LINE WriteClockLine;
- /*IN*/ PVIDEO_WRITE_DATA_LINE WriteDataLine;
- /*IN*/ PVIDEO_READ_CLOCK_LINE ReadClockLine;
- /*IN*/ PVIDEO_READ_DATA_LINE ReadDataLine;
-} I2C_CALLBACKS, *PI2C_CALLBACKS;
-
-typedef BOOLEAN DDKAPI
-(*PI2C_START)(
- /*IN*/ PVOID HwDeviceExtension,
- /*IN*/ PI2C_CALLBACKS I2CCallbacks);
-
-typedef BOOLEAN DDKAPI
-(*PI2C_STOP)(
- /*IN*/ PVOID HwDeviceExtension,
- /*IN*/ PI2C_CALLBACKS I2CCallbacks);
-
-typedef BOOLEAN DDKAPI
-(*PI2C_WRITE)(
- /*IN*/ PVOID HwDeviceExtension,
- /*IN*/ PI2C_CALLBACKS I2CCallbacks,
- /*IN*/ PUCHAR Buffer,
- /*IN*/ ULONG Length);
-
-typedef BOOLEAN DDKAPI
-(*PI2C_READ)(
- /*IN*/ PVOID HwDeviceExtension,
- /*IN*/ PI2C_CALLBACKS I2CCallbacks,
- /*OUT*/ PUCHAR Buffer,
- /*IN*/ ULONG Length);
-
-typedef struct _VIDEO_PORT_I2C_INTERFACE {
- USHORT Size;
- USHORT Version;
- PVOID Context;
- PINTERFACE_REFERENCE InterfaceReference;
- PINTERFACE_DEREFERENCE InterfaceDereference;
- PI2C_START I2CStart;
- PI2C_STOP I2CStop;
- PI2C_WRITE I2CWrite;
- PI2C_READ I2CRead;
-} VIDEO_PORT_I2C_INTERFACE, *PVIDEO_PORT_I2C_INTERFACE;
-
- /* VIDEO_PORT_INT10_INTERFACE.Version constants */
-#define VIDEO_PORT_INT10_INTERFACE_VERSION_1 1
-
-typedef VP_STATUS DDKAPI
-(*PINT10_ALLOCATE_BUFFER)(
- /*IN*/ PVOID Context,
- /*OUT*/ PUSHORT Seg,
- /*OUT*/ PUSHORT Off,
- /*IN OUT*/ PULONG Length);
-
-typedef VP_STATUS DDKAPI
-(*PINT10_CALL_BIOS)(
- /*IN*/ PVOID Context,
- /*IN OUT*/ PINT10_BIOS_ARGUMENTS BiosArguments);
-
-typedef VP_STATUS DDKAPI
-(*PINT10_FREE_BUFFER)(
- /*IN*/ PVOID Context,
- /*IN*/ USHORT Seg,
- /*IN*/ USHORT Off);
-
-typedef VP_STATUS DDKAPI
-(*PINT10_READ_MEMORY)(
- /*IN*/ PVOID Context,
- /*IN*/ USHORT Seg,
- /*IN*/ USHORT Off,
- /*OUT*/ PVOID Buffer,
- /*IN*/ ULONG Length);
-
-typedef VP_STATUS DDKAPI
-(*PINT10_WRITE_MEMORY)(
- /*IN*/ PVOID Context,
- /*IN*/ USHORT Seg,
- /*IN*/ USHORT Off,
- /*IN*/ PVOID Buffer,
- /*IN*/ ULONG Length);
-
-typedef struct _VIDEO_PORT_INT10_INTERFACE {
- /*IN*/ USHORT Size;
- /*IN*/ USHORT Version;
- /*OUT*/ PVOID Context;
- /*OUT*/ PINTERFACE_REFERENCE InterfaceReference;
- /*OUT*/ PINTERFACE_DEREFERENCE InterfaceDereference;
- /*OUT*/ PINT10_ALLOCATE_BUFFER Int10AllocateBuffer;
- /*OUT*/ PINT10_FREE_BUFFER Int10FreeBuffer;
- /*OUT*/ PINT10_READ_MEMORY Int10ReadMemory;
- /*OUT*/ PINT10_WRITE_MEMORY Int10WriteMemory;
- /*OUT*/ PINT10_CALL_BIOS Int10CallBios;
-} VIDEO_PORT_INT10_INTERFACE, *PVIDEO_PORT_INT10_INTERFACE;
-
- /* Flags for VideoPortGetDeviceBase and VideoPortMapMemory */
-#define VIDEO_MEMORY_SPACE_MEMORY 0x00
-#define VIDEO_MEMORY_SPACE_IO 0x01
-#define VIDEO_MEMORY_SPACE_USER_MODE 0x02
-#define VIDEO_MEMORY_SPACE_DENSE 0x04
-#define VIDEO_MEMORY_SPACE_P6CACHE 0x08
-
-typedef struct _VIDEO_X86_BIOS_ARGUMENTS {
- ULONG Eax;
- ULONG Ebx;
- ULONG Ecx;
- ULONG Edx;
- ULONG Esi;
- ULONG Edi;
- ULONG Ebp;
-} VIDEO_X86_BIOS_ARGUMENTS, *PVIDEO_X86_BIOS_ARGUMENTS;
-
-typedef struct _VP_DEVICE_DESCRIPTION {
- BOOLEAN ScatterGather;
- BOOLEAN Dma32BitAddresses;
- BOOLEAN Dma64BitAddresses;
- ULONG MaximumLength;
-} VP_DEVICE_DESCRIPTION, *PVP_DEVICE_DESCRIPTION;
-
-typedef struct _VPOSVERSIONINFO {
- /*IN*/ ULONG Size;
- /*OUT*/ ULONG MajorVersion;
- /*OUT*/ ULONG MinorVersion;
- /*OUT*/ ULONG BuildNumber;
- /*OUT*/ USHORT ServicePackMajor;
- /*OUT*/ USHORT ServicePackMinor;
-} VPOSVERSIONINFO, *PVPOSVERSIONINFO;
-
-
-
- /* Video port functions for miniports */
-
-VPAPI
-VOID
-DDKAPI
-VideoDebugPrint(
- /*IN*/ ULONG DebugPrintLevel,
- /*IN*/ PCHAR DebugMessage,
- /*IN*/ ...);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortAcquireDeviceLock(
- /*IN*/ PVOID HwDeviceExtension);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortAcquireSpinLock(
- /*IN*/ PVOID HwDeviceExtension,
- /*IN*/ PSPIN_LOCK SpinLock,
- /*OUT*/ PUCHAR OldIrql);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortAcquireSpinLockAtDpcLevel(
- /*IN*/ PVOID HwDeviceExtension,
- /*IN*/ PSPIN_LOCK SpinLock);
-
-VPAPI
-VP_STATUS
-DDKAPI
-VideoPortAllocateBuffer(
- /*IN*/ PVOID HwDeviceExtension,
- /*IN*/ ULONG Size,
- /*OUT*/ PVOID *Buffer);
-
-VPAPI
-PVOID
-DDKAPI
-VideoPortAllocateCommonBuffer(
- /*IN*/ PVOID HwDeviceExtension,
- /*IN*/ PVP_DMA_ADAPTER VpDmaAdapter,
- /*IN*/ ULONG DesiredLength,
- /*OUT*/ PPHYSICAL_ADDRESS LogicalAddress,
- /*IN*/ BOOLEAN CacheEnabled,
- PVOID Reserved);
-
-VPAPI
-PVOID
-DDKAPI
-VideoPortAllocateContiguousMemory(
- /*IN*/ PVOID HwDeviceExtension,
- /*IN*/ ULONG NumberOfBytes,
- /*IN*/ PHYSICAL_ADDRESS HighestAcceptableAddress);
-
- /* VideoPortAllocatePool.PoolType constants */
-typedef enum _VP_POOL_TYPE {
- VpNonPagedPool = 0,
- VpPagedPool,
- VpNonPagedPoolCacheAligned = 4,
- VpPagedPoolCacheAligned
-} VP_POOL_TYPE, *PVP_POOL_TYPE;
-
-VPAPI
-PVOID
-DDKAPI
-VideoPortAllocatePool(
- /*IN*/ PVOID HwDeviceExtension,
- /*IN*/ VP_POOL_TYPE PoolType,
- /*IN*/ SIZE_T NumberOfBytes,
- /*IN*/ ULONG Tag);
-
-VPAPI
-PDMA
-DDKAPI
-VideoPortAssociateEventsWithDmaHandle(
- /*IN*/ PVOID HwDeviceExtension,
- /*IN OUT*/ PVIDEO_REQUEST_PACKET pVrp,
- /*IN*/ PVOID MappedUserEvent,
- /*IN*/ PVOID DisplayDriverEvent);
-
- /* VideoPortCheckForDeviceExistence.Flags constants */
-#define CDE_USE_SUBSYSTEM_IDS 0x00000001
-#define CDE_USE_REVISION 0x00000002
-
-VPAPI
-BOOLEAN
-DDKAPI
-VideoPortCheckForDeviceExistence(
- /*IN*/ PVOID HwDeviceExtension,
- /*IN*/ USHORT VendorId,
- /*IN*/ USHORT DeviceId,
- /*IN*/ UCHAR RevisionId,
- /*IN*/ USHORT SubVendorId,
- /*IN*/ USHORT SubSystemId,
- /*IN*/ ULONG Flags);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortClearEvent(
- /*IN*/ PVOID HwDeviceExtension,
- /*IN*/ PEVENT pEvent);
-
-VPAPI
-ULONG
-DDKAPI
-VideoPortCompareMemory(
- /*IN*/ PVOID Source1,
- /*IN*/ PVOID Source2,
- /*IN*/ ULONG Length);
-
-VPAPI
-VP_STATUS
-DDKAPI
-VideoPortCompleteDma(
- /*IN*/ PVOID HwDeviceExtension,
- /*IN*/ PVP_DMA_ADAPTER VpDmaAdapter,
- /*IN*/ PVP_SCATTER_GATHER_LIST VpScatterGather,
- /*IN*/ BOOLEAN WriteToDevice);
-
-VPAPI
-VP_STATUS
-DDKAPI
-VideoPortCreateEvent(
- /*IN*/ PVOID HwDeviceExtension,
- /*IN*/ ULONG EventFlag,
- /*IN*/ PVOID Unused,
- /*OUT*/ PEVENT *ppEvent);
-
-VPAPI
-VP_STATUS
-DDKAPI
-VideoPortCreateSecondaryDisplay(
- /*IN*/ PVOID HwDeviceExtension,
- /*IN OUT*/ PVOID *SecondaryDeviceExtension,
- /*IN*/ ULONG ulFlag);
-
-VPAPI
-VP_STATUS
-DDKAPI
-VideoPortCreateSpinLock(
- /*IN*/ PVOID HwDeviceExtension,
- /*OUT*/ PSPIN_LOCK *SpinLock);
-
-typedef struct _DDC_CONTROL {
- /*IN*/ ULONG Size;
- /*IN*/ I2C_CALLBACKS I2CCallbacks;
- /*IN*/ UCHAR EdidSegment;
-} DDC_CONTROL, *PDDC_CONTROL;
-
-VPAPI
-BOOLEAN
-DDKAPI
-VideoPortDDCMonitorHelper(
- /*IN*/ PVOID HwDeviceExtension,
- /*IN*/ PVOID DDCControl,
- /*IN OUT*/ PUCHAR EdidBuffer,
- /*IN*/ ULONG EdidBufferSize);
-
-VPAPI
-VOID
-DDKCDECLAPI
-VideoPortDebugPrint(
- /*IN*/ VIDEO_DEBUG_LEVEL DebugPrintLevel,
- /*IN*/ PCHAR DebugMessage,
- /*IN*/ ...);
-
-VPAPI
-VP_STATUS
-DDKAPI
-VideoPortDeleteEvent(
- /*IN*/ PVOID HwDeviceExtension,
- /*IN*/ PEVENT pEvent);
-
-VPAPI
-VP_STATUS
-DDKAPI
-VideoPortDeleteSpinLock(
- /*IN*/ PVOID HwDeviceExtension,
- /*IN*/ PSPIN_LOCK SpinLock);
-
-VPAPI
-VP_STATUS
-DDKAPI
-VideoPortDisableInterrupt(
- /*IN*/ PVOID HwDeviceExtension);
-
-VPAPI
-PDMA
-DDKAPI
-VideoPortDoDma(
- /*IN*/ PVOID HwDeviceExtension,
- /*IN*/ PDMA pDma,
- /*IN*/ DMA_FLAGS DmaFlags);
-
-VPAPI
-VP_STATUS
-DDKAPI
-VideoPortEnableInterrupt(
- /*IN*/ PVOID HwDeviceExtension);
-
-VPAPI
-VP_STATUS
-DDKAPI
-VideoPortEnumerateChildren(
- /*IN*/ PVOID HwDeviceExtension,
- /*IN*/ PVOID Reserved);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortFreeCommonBuffer(
- /*IN*/ PVOID HwDeviceExtension,
- /*IN*/ ULONG Length,
- /*IN*/ PVOID VirtualAddress,
- /*IN*/ PHYSICAL_ADDRESS LogicalAddress,
- /*IN*/ BOOLEAN CacheEnabled);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortFreeDeviceBase(
- /*IN*/ PVOID HwDeviceExtension,
- /*IN*/ PVOID MappedAddress);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortFreePool(
- /*IN*/ PVOID HwDeviceExtension,
- /*IN*/ PVOID Ptr);
-
-VPAPI
-VP_STATUS
-DDKAPI
-VideoPortGetAccessRanges(
- /*IN*/ PVOID HwDeviceExtension,
- /*IN*/ ULONG NumRequestedResources,
- /*IN*/ PIO_RESOURCE_DESCRIPTOR RequestedResources /*OPTIONAL*/,
- /*IN*/ ULONG NumAccessRanges,
- /*OUT*/ PVIDEO_ACCESS_RANGE AccessRanges,
- /*IN*/ PVOID VendorId,
- /*IN*/ PVOID DeviceId,
- /*OUT*/ PULONG Slot);
-
-VPAPI
-PVOID
-DDKAPI
-VideoPortGetAssociatedDeviceExtension(
- /*IN*/ PVOID DeviceObject);
-
-VPAPI
-ULONG
-DDKAPI
-VideoPortGetAssociatedDeviceID(
- /*IN*/ PVOID DeviceObject);
-
-VPAPI
-ULONG
-DDKAPI
-VideoPortGetBusData(
- /*IN*/ PVOID HwDeviceExtension,
- /*IN*/ BUS_DATA_TYPE BusDataType,
- /*IN*/ ULONG SlotNumber,
- /*IN OUT*/ PVOID Buffer,
- /*IN*/ ULONG Offset,
- /*IN*/ ULONG Length);
-
-VPAPI
-ULONG
-DDKAPI
-VideoPortGetBytesUsed(
- /*IN*/ PVOID HwDeviceExtension,
- /*IN*/ PDMA pDma);
-
-VPAPI
-PVOID
-DDKAPI
-VideoPortGetCommonBuffer(
- /*IN*/ PVOID HwDeviceExtension,
- /*IN*/ ULONG DesiredLength,
- /*IN*/ ULONG Alignment,
- /*OUT*/ PPHYSICAL_ADDRESS LogicalAddress,
- /*OUT*/ PULONG pActualLength,
- /*IN*/ BOOLEAN CacheEnabled);
-
-VPAPI
-UCHAR
-DDKAPI
-VideoPortGetCurrentIrql(
- VOID);
-
-VPAPI
-PVOID
-DDKAPI
-VideoPortGetDeviceBase(
- /*IN*/ PVOID HwDeviceExtension,
- /*IN*/ PHYSICAL_ADDRESS IoAddress,
- /*IN*/ ULONG NumberOfUchars,
- /*IN*/ UCHAR InIoSpace);
-
-VPAPI
-VP_STATUS
-DDKAPI
-VideoPortGetDeviceData(
- /*IN*/ PVOID HwDeviceExtension,
- /*IN*/ VIDEO_DEVICE_DATA_TYPE DeviceDataType,
- /*IN*/ PMINIPORT_QUERY_DEVICE_ROUTINE CallbackRoutine,
- /*IN*/ PVOID Context);
-
-VPAPI
-PVP_DMA_ADAPTER
-DDKAPI
-VideoPortGetDmaAdapter(
- /*IN*/ PVOID HwDeviceExtension,
- /*IN*/ PVP_DEVICE_DESCRIPTION VpDeviceDescription);
-
-VPAPI
-PVOID
-DDKAPI
-VideoPortGetDmaContext(
- /*IN*/ PVOID HwDeviceExtension,
- /*IN*/ PDMA pDma);
-
-VPAPI
-PVOID
-DDKAPI
-VideoPortGetMdl(
- /*IN*/ PVOID HwDeviceExtension,
- /*IN*/ PDMA pDma);
-
-VPAPI
-VP_STATUS
-DDKAPI
-VideoPortGetRegistryParameters(
- /*IN*/ PVOID HwDeviceExtension,
- /*IN*/ PWSTR ParameterName,
- /*IN*/ UCHAR IsParameterFileName,
- /*IN*/ PMINIPORT_GET_REGISTRY_ROUTINE CallbackRoutine,
- /*IN*/ PVOID Context);
-
-VPAPI
-PVOID
-DDKAPI
-VideoPortGetRomImage(
- /*IN*/ PVOID HwDeviceExtension,
- /*IN*/ PVOID Unused1,
- /*IN*/ ULONG Unused2,
- /*IN*/ ULONG Length);
-
-VPAPI
-VP_STATUS
-DDKAPI
-VideoPortGetVersion(
- /*IN*/ PVOID HwDeviceExtension,
- /*IN OUT*/ PVPOSVERSIONINFO pVpOsVersionInfo);
-
-VPAPI
-VP_STATUS
-DDKAPI
-VideoPortGetVgaStatus(
- /*IN*/ PVOID HwDeviceExtension,
- /*OUT*/ PULONG VgaStatus);
-
-VPAPI
-ULONG
-DDKAPI
-VideoPortInitialize(
- /*IN*/ PVOID Argument1,
- /*IN*/ PVOID Argument2,
- /*IN*/ PVIDEO_HW_INITIALIZATION_DATA HwInitializationData,
- /*IN*/ PVOID HwContext);
-
-VPAPI
-VP_STATUS
-DDKAPI
-VideoPortInt10(
- /*IN*/ PVOID HwDeviceExtension,
- /*IN*/ PVIDEO_X86_BIOS_ARGUMENTS BiosArguments);
-
-VPAPI
-LONG
-DDKFASTAPI
-VideoPortInterlockedDecrement(
- /*IN*/ PLONG Addend);
-
-VPAPI
-LONG
-DDKFASTAPI
-VideoPortInterlockedExchange(
- /*IN OUT*/ PLONG Target,
- /*IN*/ LONG Value);
-
-VPAPI
-LONG
-DDKFASTAPI
-VideoPortInterlockedIncrement(
- /*IN*/ PLONG Addend);
-
-typedef enum _VP_LOCK_OPERATION {
- VpReadAccess = 0,
- VpWriteAccess,
- VpModifyAccess
-} VP_LOCK_OPERATION;
-
-VPAPI
-PVOID
-DDKAPI
-VideoPortLockBuffer(
- /*IN*/ PVOID HwDeviceExtension,
- /*IN*/ PVOID BaseAddress,
- /*IN*/ ULONG Length,
- /*IN*/ VP_LOCK_OPERATION Operation);
-
-VPAPI
-BOOLEAN
-DDKAPI
-VideoPortLockPages(
- /*IN*/ PVOID HwDeviceExtension,
- /*IN OUT*/ PVIDEO_REQUEST_PACKET pVrp,
- /*IN OUT*/ PEVENT pUEvent,
- /*IN*/ PEVENT pDisplayEvent,
- /*IN*/ DMA_FLAGS DmaFlags);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortLogError(
- /*IN*/ PVOID HwDeviceExtension,
- /*IN*/ PVIDEO_REQUEST_PACKET Vrp /*OPTIONAL*/,
- /*IN*/ VP_STATUS ErrorCode,
- /*IN*/ ULONG UniqueId);
-
-VPAPI
-VP_STATUS
-DDKAPI
-VideoPortMapBankedMemory(
- /*IN*/ PVOID HwDeviceExtension,
- /*IN*/ PHYSICAL_ADDRESS PhysicalAddress,
- /*IN OUT*/ PULONG Length,
- PULONG InIoSpace,
- PVOID *VirtualAddress,
- ULONG BankLength,
- UCHAR ReadWriteBank,
- PBANKED_SECTION_ROUTINE BankRoutine,
- PVOID Context);
-
-VPAPI
-PDMA
-DDKAPI
-VideoPortMapDmaMemory(
- /*IN*/ PVOID HwDeviceExtension,
- /*IN*/ PVIDEO_REQUEST_PACKET pVrp,
- /*IN*/ PHYSICAL_ADDRESS BoardAddress,
- /*IN*/ PULONG Length,
- /*IN*/ PULONG InIoSpace,
- /*IN*/ PVOID MappedUserEvent,
- /*IN*/ PVOID DisplayDriverEvent,
- /*IN OUT*/ PVOID *VirtualAddress);
-
-VPAPI
-VP_STATUS
-DDKAPI
-VideoPortMapMemory(
- /*IN*/ PVOID HwDeviceExtension,
- /*IN*/ PHYSICAL_ADDRESS PhysicalAddress,
- /*IN OUT*/ PULONG Length,
- /*IN*/ PULONG InIoSpace,
- /*IN OUT*/ PVOID *VirtualAddress);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortMoveMemory(
- /*IN*/ PVOID Destination,
- /*IN*/ PVOID Source,
- /*IN*/ ULONG Length);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortPutDmaAdapter(
- /*IN*/ PVOID HwDeviceExtension,
- /*IN*/ PVP_DMA_ADAPTER VpDmaAdapter);
-
-VPAPI
-LONGLONG
-DDKAPI
-VideoPortQueryPerformanceCounter(
- /*IN*/ PVOID HwDeviceExtension,
- /*OUT*/ PLONGLONG PerformanceFrequency /*OPTIONAL*/);
-
- /* VideoPortQueryServices.ServicesType constants */
-typedef enum _VIDEO_PORT_SERVICES {
- VideoPortServicesAGP = 1,
- VideoPortServicesI2C,
- VideoPortServicesHeadless,
- VideoPortServicesInt10
-} VIDEO_PORT_SERVICES;
-
-VPAPI
-VP_STATUS
-DDKAPI
-VideoPortQueryServices(
- /*IN*/ PVOID HwDeviceExtension,
- /*IN*/ VIDEO_PORT_SERVICES ServicesType,
- /*IN OUT*/ PINTERFACE Interface);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortQuerySystemTime(
- /*OUT*/ PLARGE_INTEGER CurrentTime);
-
-VPAPI
-BOOLEAN
-DDKAPI
-VideoPortQueueDpc(
- /*IN*/ PVOID HwDeviceExtension,
- /*IN*/ PMINIPORT_DPC_ROUTINE CallbackRoutine,
- /*IN*/ PVOID Context);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortReadPortBufferUchar(
- /*IN*/ PUCHAR Port,
- /*OUT*/ PUCHAR Buffer,
- /*IN*/ ULONG Count);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortReadPortBufferUlong(
- /*IN*/ PULONG Port,
- /*OUT*/ PULONG Buffer,
- /*IN*/ ULONG Count);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortReadPortBufferUshort(
- /*IN*/ PUSHORT Port,
- /*OUT*/ PUSHORT Buffer,
- /*IN*/ ULONG Count);
-
-VPAPI
-UCHAR
-DDKAPI
-VideoPortReadPortUchar(
- /*IN*/ PUCHAR Port);
-
-VPAPI
-ULONG
-DDKAPI
-VideoPortReadPortUlong(
- /*IN*/ PULONG Port);
-
-VPAPI
-USHORT
-DDKAPI
-VideoPortReadPortUshort(
- /*IN*/ PUSHORT Port);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortReadRegisterBufferUchar(
- /*IN*/ PUCHAR Register,
- /*OUT*/ PUCHAR Buffer,
- /*IN*/ ULONG Count);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortReadRegisterBufferUlong(
- /*IN*/ PULONG Register,
- /*OUT*/ PULONG Buffer,
- /*IN*/ ULONG Count);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortReadRegisterBufferUshort(
- /*IN*/ PUSHORT Register,
- /*OUT*/ PUSHORT Buffer,
- /*IN*/ ULONG Count);
-
-VPAPI
-UCHAR
-DDKAPI
-VideoPortReadRegisterUchar(
- /*IN*/ PUCHAR Register);
-
-VPAPI
-ULONG
-DDKAPI
-VideoPortReadRegisterUlong(
- /*IN*/ PULONG Register);
-
-VPAPI
-USHORT
-DDKAPI
-VideoPortReadRegisterUshort(
- /*IN*/ PUSHORT Register);
-
-VPAPI
-LONG
-DDKAPI
-VideoPortReadStateEvent(
- /*IN*/ PVOID HwDeviceExtension,
- /*IN*/ PEVENT pEvent);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortReleaseBuffer(
- /*IN*/ PVOID HwDeviceExtension,
- /*IN*/ PVOID Buffer);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortReleaseCommonBuffer(
- /*IN*/ PVOID HwDeviceExtension,
- /*IN*/ PVP_DMA_ADAPTER VpDmaAdapter,
- /*IN*/ ULONG Length,
- /*IN*/ PHYSICAL_ADDRESS LogicalAddress,
- /*IN*/ PVOID VirtualAddress,
- /*IN*/ BOOLEAN CacheEnabled);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortReleaseDeviceLock(
- /*IN*/ PVOID HwDeviceExtension);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortReleaseSpinLock(
- /*IN*/ PVOID HwDeviceExtension,
- /*IN*/ PSPIN_LOCK SpinLock,
- /*IN*/ UCHAR NewIrql);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortReleaseSpinLockFromDpcLevel(
- /*IN*/ PVOID HwDeviceExtension,
- /*IN*/ PSPIN_LOCK SpinLock);
-
-VPAPI
-BOOLEAN
-DDKAPI
-VideoPortScanRom(
- PVOID HwDeviceExtension,
- PUCHAR RomBase,
- ULONG RomLength,
- PUCHAR String);
-
-VPAPI
-ULONG
-DDKAPI
-VideoPortSetBusData(
- /*IN*/ PVOID HwDeviceExtension,
- /*IN*/ BUS_DATA_TYPE BusDataType,
- /*IN*/ ULONG SlotNumber,
- /*IN*/ PVOID Buffer,
- /*IN*/ ULONG Offset,
- /*IN*/ ULONG Length);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortSetBytesUsed(
- /*IN*/ PVOID HwDeviceExtension,
- /*IN OUT*/ PDMA pDma,
- /*IN*/ ULONG BytesUsed);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortSetDmaContext(
- /*IN*/ PVOID HwDeviceExtension,
- /*OUT*/ PDMA pDma,
- /*IN*/ PVOID InstanceContext);
-
-VPAPI
-LONG
-DDKAPI
-VideoPortSetEvent(
- /*IN*/ PVOID HwDeviceExtension,
- /*IN*/ PEVENT pEvent);
-
-VPAPI
-VP_STATUS
-DDKAPI
-VideoPortSetRegistryParameters(
- /*IN*/ PVOID HwDeviceExtension,
- /*IN*/ PWSTR ValueName,
- /*IN*/ PVOID ValueData,
- /*IN*/ ULONG ValueLength);
-
-VPAPI
-VP_STATUS
-DDKAPI
-VideoPortSetTrappedEmulatorPorts(
- /*IN*/ PVOID HwDeviceExtension,
- /*IN*/ ULONG NumAccessRanges,
- /*IN*/ PVIDEO_ACCESS_RANGE AccessRange);
-
-VPAPI
-BOOLEAN
-DDKAPI
-VideoPortSignalDmaComplete(
- /*IN*/ PVOID HwDeviceExtension,
- /*IN*/ PVOID pDmaHandle);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortStallExecution(
- /*IN*/ ULONG Microseconds);
-
-VPAPI
-VP_STATUS
-DDKAPI
-VideoPortStartDma(
- /*IN*/ PVOID HwDeviceExtension,
- /*IN*/ PVP_DMA_ADAPTER VpDmaAdapter,
- /*IN*/ PVOID Mdl,
- /*IN*/ ULONG Offset,
- /*IN OUT*/ PULONG pLength,
- /*IN*/ PEXECUTE_DMA ExecuteDmaRoutine,
- /*IN*/ PVOID Context,
- /*IN*/ BOOLEAN WriteToDevice);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortStartTimer(
- /*IN*/ PVOID HwDeviceExtension);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortStopTimer(
- /*IN*/ PVOID HwDeviceExtension);
-
- /* VideoPortSynchronizeExecution.Priority constants */
-typedef enum VIDEO_SYNCHRONIZE_PRIORITY {
- VpLowPriority = 0,
- VpMediumPriority,
- VpHighPriority
-} VIDEO_SYNCHRONIZE_PRIORITY, *PVIDEO_SYNCHRONIZE_PRIORITY;
-
-VPAPI
-BOOLEAN
-DDKAPI
-VideoPortSynchronizeExecution(
- /*IN*/ PVOID HwDeviceExtension,
- /*IN*/ VIDEO_SYNCHRONIZE_PRIORITY Priority,
- /*IN*/ PMINIPORT_SYNCHRONIZE_ROUTINE SynchronizeRoutine,
- /*IN*/ PVOID Context);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortUnLockBuffer(
- /*IN*/ PVOID HwDeviceExtension,
- /*IN*/ PVOID Mdl);
-
-VPAPI
-BOOLEAN
-DDKAPI
-VideoPortUnlockPages(
- /*IN*/ PVOID hwDeviceExtension,
- /*IN OUT*/ PDMA pDma);
-
-VPAPI
-BOOLEAN
-DDKAPI
-VideoPortUnmapDmaMemory(
- /*IN*/ PVOID HwDeviceExtension,
- /*IN*/ PVOID VirtualAddress,
- /*IN*/ HANDLE ProcessHandle,
- /*IN*/ PDMA BoardMemoryHandle);
-
-VPAPI
-VP_STATUS
-DDKAPI
-VideoPortUnmapMemory(
- /*IN*/ PVOID HwDeviceExtension,
- /*IN OUT*/ PVOID VirtualAddress,
- /*IN*/ HANDLE ProcessHandle);
-
-VPAPI
-VP_STATUS
-DDKAPI
-VideoPortVerifyAccessRanges(
- /*IN*/ PVOID HwDeviceExtension,
- /*IN*/ ULONG NumAccessRanges,
- /*IN*/ PVIDEO_ACCESS_RANGE AccessRanges);
-
-VPAPI
-VP_STATUS
-DDKAPI
-VideoPortWaitForSingleObject(
- /*IN*/ PVOID HwDeviceExtension,
- /*IN*/ PVOID Object,
- /*IN*/ PLARGE_INTEGER Timeout /*OPTIONAL*/);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortWritePortBufferUchar(
- /*IN*/ PUCHAR Port,
- /*IN*/ PUCHAR Buffer,
- /*IN*/ ULONG Count);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortWritePortBufferUlong(
- /*IN*/ PULONG Port,
- /*IN*/ PULONG Buffer,
- /*IN*/ ULONG Count);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortWritePortBufferUshort(
- /*IN*/ PUSHORT Port,
- /*IN*/ PUSHORT Buffer,
- /*IN*/ ULONG Count);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortWritePortUchar(
- /*IN*/ PUCHAR Port,
- /*IN*/ UCHAR Value);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortWritePortUlong(
- /*IN*/ PULONG Port,
- /*IN*/ ULONG Value);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortWritePortUshort(
- /*IN*/ PUSHORT Port,
- /*IN*/ USHORT Value);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortWriteRegisterBufferUchar(
- /*IN*/ PUCHAR Register,
- /*IN*/ PUCHAR Buffer,
- /*IN*/ ULONG Count);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortWriteRegisterBufferUlong(
- /*IN*/ PULONG Register,
- /*IN*/ PULONG Buffer,
- /*IN*/ ULONG Count);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortWriteRegisterBufferUshort(
- /*IN*/ PUSHORT Register,
- /*IN*/ PUSHORT Buffer,
- /*IN*/ ULONG Count);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortWriteRegisterUchar(
- /*IN*/ PUCHAR Register,
- /*IN*/ UCHAR Value);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortWriteRegisterUlong(
- /*IN*/ PULONG Register,
- /*IN*/ ULONG Value);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortWriteRegisterUshort(
- /*IN*/ PUSHORT Register,
- /*IN*/ USHORT Value);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortZeroDeviceMemory(
- /*IN*/ PVOID Destination,
- /*IN*/ ULONG Length);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortZeroMemory(
- /*IN*/ PVOID Destination,
- /*2IN*/ ULONG Length);
-
-#ifdef DBG
-#define VideoDebugPrint(x) VideoPortDebugPrint x
-#else
-#define VideoDebugPrint(x)
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* defined __WINDDI_H */
-
-#endif /* __VIDEO_H */
diff --git a/winsup/w32api/include/ddk/videoagp.h b/winsup/w32api/include/ddk/videoagp.h
deleted file mode 100644
index 299def284..000000000
--- a/winsup/w32api/include/ddk/videoagp.h
+++ /dev/null
@@ -1,129 +0,0 @@
-/*
- * videoagp.h
- *
- * Video miniport AGP 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 __VIDEOAGP_H
-#define __VIDEOAGP_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-#include "video.h"
-
-
-#define VIDEO_AGP_RATE_1X 0x00000001
-#define VIDEO_AGP_RATE_2X 0x00000002
-#define VIDEO_AGP_RATE_4X 0x00000004
-#define VIDEO_AGP_RATE_8X 0x00000008
-
-typedef enum _VIDEO_PORT_CACHE_TYPE {
- VpNonCached = 0,
- VpWriteCombined,
- VpCached
-} VIDEO_PORT_CACHE_TYPE;
-
-typedef BOOLEAN DDKAPI
-(*PAGP_COMMIT_PHYSICAL)(
- /*IN*/ PVOID HwDeviceExtension,
- /*IN*/ PVOID PhysicalReserveContext,
- /*IN*/ ULONG Pages,
- /*IN*/ ULONG Offset);
-
-typedef PVOID DDKAPI
-(*PAGP_COMMIT_VIRTUAL)(
- /*IN*/ PVOID HwDeviceExtension,
- /*IN*/ PVOID VirtualReserveContext,
- /*IN*/ ULONG Pages,
- /*IN*/ ULONG Offset);
-
-typedef VOID DDKAPI
-(*PAGP_FREE_PHYSICAL)(
- /*IN*/ PVOID HwDeviceExtension,
- /*IN*/ PVOID PhysicalReserveContext,
- /*IN*/ ULONG Pages,
- /*IN*/ ULONG Offset);
-
-typedef VOID DDKAPI
-(*PAGP_FREE_VIRTUAL)(
- /*IN*/ PVOID HwDeviceExtension,
- /*IN*/ PVOID VirtualReserveContext,
- /*IN*/ ULONG Pages,
- /*IN*/ ULONG Offset);
-
-typedef VOID DDKAPI
-(*PAGP_RELEASE_PHYSICAL)(
- /*IN*/ PVOID HwDeviceExtension,
- /*IN*/ PVOID PhysicalReserveContext);
-
-typedef VOID DDKAPI
-(*PAGP_RELEASE_VIRTUAL)(
- /*IN*/ PVOID HwDeviceExtension,
- /*IN*/ PVOID VirtualReserveContext);
-
-typedef PHYSICAL_ADDRESS DDKAPI
-(*PAGP_RESERVE_PHYSICAL)(
- /*IN*/ PVOID HwDeviceExtension,
- /*IN*/ ULONG Pages,
- /*IN*/ VIDEO_PORT_CACHE_TYPE Caching,
- /*OUT*/ PVOID *PhysicalReserveContext);
-
-typedef PVOID DDKAPI
-(*PAGP_RESERVE_VIRTUAL)(
- /*IN*/ PVOID HwDeviceExtension,
- /*IN*/ HANDLE ProcessHandle,
- /*IN*/ PVOID PhysicalReserveContext,
- /*OUT*/ PVOID *VirtualReserveContext);
-
-typedef BOOLEAN DDKAPI
-(*PAGP_SET_RATE)(
- /*IN*/ PVOID HwDeviceExtension,
- /*IN*/ ULONG AgpRate);
-
-typedef struct _VIDEO_PORT_AGP_SERVICES {
- PAGP_RESERVE_PHYSICAL AgpReservePhysical;
- PAGP_RELEASE_PHYSICAL AgpReleasePhysical;
- PAGP_COMMIT_PHYSICAL AgpCommitPhysical;
- PAGP_FREE_PHYSICAL AgpFreePhysical;
- PAGP_RESERVE_VIRTUAL AgpReserveVirtual;
- PAGP_RELEASE_VIRTUAL AgpReleaseVirtual;
- PAGP_COMMIT_VIRTUAL AgpCommitVirtual;
- PAGP_FREE_VIRTUAL AgpFreeVirtual;
- ULONGLONG AllocationLimit;
-} VIDEO_PORT_AGP_SERVICES, *PVIDEO_PORT_AGP_SERVICES;
-
-VPAPI
-BOOLEAN
-DDKAPI
-VideoPortGetAgpServices(
- /*IN*/ PVOID HwDeviceExtension,
- /*IN*/ PVIDEO_PORT_AGP_SERVICES AgpServices);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __VIDEOAGP_H */
diff --git a/winsup/w32api/include/ddk/win2k.h b/winsup/w32api/include/ddk/win2k.h
deleted file mode 100644
index 84eadd0ba..000000000
--- a/winsup/w32api/include/ddk/win2k.h
+++ /dev/null
@@ -1,106 +0,0 @@
-/*
- * win2k.h
- *
- * Definitions only used in Windows 2000 and earlier versions
- *
- * 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 __WIN2K_H
-#define __WIN2K_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-
-#pragma pack(push,4)
-
-typedef enum _BUS_DATA_TYPE {
- ConfigurationSpaceUndefined = -1,
- Cmos,
- EisaConfiguration,
- Pos,
- CbusConfiguration,
- PCIConfiguration,
- VMEConfiguration,
- NuBusConfiguration,
- PCMCIAConfiguration,
- MPIConfiguration,
- MPSAConfiguration,
- PNPISAConfiguration,
- SgiInternalConfiguration,
- MaximumBusDataType
-} BUS_DATA_TYPE, *PBUS_DATA_TYPE;
-
-NTOSAPI
-VOID
-DDKAPI
-ExReleaseResourceForThreadLite(
- /*IN*/ PERESOURCE Resource,
- /*IN*/ ERESOURCE_THREAD ResourceThreadId);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoReadPartitionTable(
- /*IN*/ PDEVICE_OBJECT DeviceObject,
- /*IN*/ ULONG SectorSize,
- /*IN*/ BOOLEAN ReturnRecognizedPartitions,
- /*OUT*/ struct _DRIVE_LAYOUT_INFORMATION **PartitionBuffer);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoSetPartitionInformation(
- /*IN*/ PDEVICE_OBJECT DeviceObject,
- /*IN*/ ULONG SectorSize,
- /*IN*/ ULONG PartitionNumber,
- /*IN*/ ULONG PartitionType);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoWritePartitionTable(
- /*IN*/ PDEVICE_OBJECT DeviceObject,
- /*IN*/ ULONG SectorSize,
- /*IN*/ ULONG SectorsPerTrack,
- /*IN*/ ULONG NumberOfHeads,
- /*IN*/ struct _DRIVE_LAYOUT_INFORMATION *PartitionBuffer);
-
-/*
- * PVOID MmGetSystemAddressForMdl(
- * IN PMDL Mdl);
- */
-#define MmGetSystemAddressForMdl(Mdl) \
- (((Mdl)->MdlFlags & (MDL_MAPPED_TO_SYSTEM_VA | \
- MDL_SOURCE_IS_NONPAGED_POOL)) ? \
- ((Mdl)->MappedSystemVa) : \
- (MmMapLockedPages((Mdl), KernelMode)))
-
-#pragma pack(pop)
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __WIN2K_H */
diff --git a/winsup/w32api/include/ddk/winddi.h b/winsup/w32api/include/ddk/winddi.h
deleted file mode 100644
index fefb15def..000000000
--- a/winsup/w32api/include/ddk/winddi.h
+++ /dev/null
@@ -1,4258 +0,0 @@
-/*
- * winddi.h
- *
- * GDI device driver 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 __WINDDI_H
-#define __WINDDI_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __VIDEO_H
-#error video.h cannot be included with winddi.h
-#else
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-#include <wingdi.h>
-
-#ifndef __DD_INCLUDED__
-/* FIXME: Some DirectDraw structures not added yet */
-typedef ULONG_PTR FLATPTR;
-typedef struct _DD_SURFACECALLBACKS {
-} DD_SURFACECALLBACKS, *PDD_SURFACECALLBACKS;
-typedef struct _DD_PALETTECALLBACKS {
-} DD_PALETTECALLBACKS, *PDD_PALETTECALLBACKS;
-typedef struct _DD_CALLBACKS {
-} DD_CALLBACKS, *PDD_CALLBACKS;
-typedef struct _DD_HALINFO {
-} DD_HALINFO, *PDD_HALINFO;
-typedef struct _VIDEOMEMORY {
-} VIDEOMEMORY, *LPVIDEOMEMORY;
-typedef struct _DD_DIRECTDRAW_GLOBAL {
-} DD_DIRECTDRAW_GLOBAL, *LPDD_DIRECTDRAW_GLOBAL;
-typedef struct _DD_SURFACE_LOCAL {
-} DD_SURFACE_LOCAL, *PDD_SURFACE_LOCAL, *LPDD_SURFACE_LOCAL;
-#endif
-
-#ifndef __DDRAWI_INCLUDED__
-typedef PVOID LPVIDMEM;
-#endif
-
-#if !defined(__DD_INCLUDED__) && !defined(__DDRAWI_INCLUDED__)
-typedef struct _DDSCAPS {
-} DDSCAPS, *PDDSCAPS;
-typedef struct _DDSCAPSEX {
-} DDSCAPSEX, *PDDSCAPSEX;
-typedef PVOID LPVMEMHEAP;
-#endif
-
-#if defined(_WIN32K_)
-#define WIN32KAPI DECL_EXPORT
-#else
-#define WIN32KAPI DECL_IMPORT
-#endif
-
-#define DDI_DRIVER_VERSION_NT4 0x00020000
-#define DDI_DRIVER_VERSION_SP3 0x00020003
-#define DDI_DRIVER_VERSION_NT5 0x00030000
-#define DDI_DRIVER_VERSION_NT5_01 0x00030100
-
-#define GDI_DRIVER_VERSION 0x4000
-
-#ifdef _X86_
-
-typedef DWORD FLOATL;
-
-#else /* !_X86_ */
-
-typedef FLOAT FLOATL;
-
-#endif
-
-typedef SHORT FWORD;
-typedef LONG LDECI4;
-typedef ULONG IDENT;
-
-typedef ULONG_PTR HFF;
-typedef ULONG_PTR HFC;
-
-typedef LONG PTRDIFF;
-typedef PTRDIFF *PPTRDIFF;
-typedef LONG FIX;
-typedef FIX *PFIX;
-typedef ULONG ROP4;
-typedef ULONG MIX;
-typedef ULONG HGLYPH;
-typedef HGLYPH *PHGLYPH;
-
-typedef LONG_PTR (DDKAPI *PFN)();
-
-DECLARE_HANDLE(HBM);
-DECLARE_HANDLE(HDEV);
-DECLARE_HANDLE(HSURF);
-DECLARE_HANDLE(DHSURF);
-DECLARE_HANDLE(DHPDEV);
-DECLARE_HANDLE(HDRVOBJ);
-
-
-#define GDI_DRIVER_VERSION 0x4000
-
-typedef struct _ENG_EVENT *PEVENT;
-
-#define OPENGL_CMD 4352
-#define OPENGL_GETINFO 4353
-#define WNDOBJ_SETUP 4354
-
-#define FD_ERROR 0xFFFFFFFF
-#define DDI_ERROR 0xFFFFFFFF
-
-#define HFF_INVALID ((HFF) 0)
-#define HFC_INVALID ((HFC) 0)
-#define HGLYPH_INVALID ((HGLYPH) -1)
-
-#define FP_ALTERNATEMODE 1
-#define FP_WINDINGMODE 2
-
-#define DN_ACCELERATION_LEVEL 1
-#define DN_DEVICE_ORIGIN 2
-#define DN_SLEEP_MODE 3
-#define DN_DRAWING_BEGIN 4
-
-#define DCR_SOLID 0
-#define DCR_DRIVER 1
-#define DCR_HALFTONE 2
-
-#define GX_IDENTITY 0
-#define GX_OFFSET 1
-#define GX_SCALE 2
-#define GX_GENERAL 3
-
-typedef struct _POINTE {
- FLOATL x;
- FLOATL y;
-} POINTE, *PPOINTE;
-
-typedef union _FLOAT_LONG {
- FLOATL e;
- LONG l;
-} FLOAT_LONG, *PFLOAT_LONG;
-
-typedef struct _POINTFIX {
- FIX x;
- FIX y;
-} POINTFIX, *PPOINTFIX;
-
-typedef struct _RECTFX {
- FIX xLeft;
- FIX yTop;
- FIX xRight;
- FIX yBottom;
-} RECTFX, *PRECTFX;
-
-typedef struct _POINTQF {
- LARGE_INTEGER x;
- LARGE_INTEGER y;
-} POINTQF, *PPOINTQF;
-
-
-typedef struct _BLENDOBJ {
- BLENDFUNCTION BlendFunction;
-} BLENDOBJ,*PBLENDOBJ;
-
-/* BRUSHOBJ.flColorType */
-#define BR_DEVICE_ICM 0x01
-#define BR_HOST_ICM 0x02
-#define BR_CMYKCOLOR 0x04
-#define BR_ORIGCOLOR 0x08
-
-typedef struct _BRUSHOBJ {
- ULONG iSolidColor;
- PVOID pvRbrush;
- FLONG flColorType;
-} BRUSHOBJ;
-
-typedef struct _CIECHROMA {
- LDECI4 x;
- LDECI4 y;
- LDECI4 Y;
-} CIECHROMA;
-
-typedef struct _RUN {
- LONG iStart;
- LONG iStop;
-} RUN, *PRUN;
-
-typedef struct _CLIPLINE {
- POINTFIX ptfxA;
- POINTFIX ptfxB;
- LONG lStyleState;
- ULONG c;
- RUN arun[1];
-} CLIPLINE, *PCLIPLINE;
-
-/* CLIPOBJ.iDComplexity constants */
-#define DC_TRIVIAL 0
-#define DC_RECT 1
-#define DC_COMPLEX 3
-
-/* CLIPOBJ.iFComplexity constants */
-#define FC_RECT 1
-#define FC_RECT4 2
-#define FC_COMPLEX 3
-
-/* CLIPOBJ.iMode constants */
-#define TC_RECTANGLES 0
-#define TC_PATHOBJ 2
-
-/* CLIPOBJ.fjOptions constants */
-#define OC_BANK_CLIP 1
-
-typedef struct _CLIPOBJ {
- ULONG iUniq;
- RECTL rclBounds;
- BYTE iDComplexity;
- BYTE iFComplexity;
- BYTE iMode;
- BYTE fjOptions;
-} CLIPOBJ;
-
-typedef struct _COLORINFO {
- CIECHROMA Red;
- CIECHROMA Green;
- CIECHROMA Blue;
- CIECHROMA Cyan;
- CIECHROMA Magenta;
- CIECHROMA Yellow;
- CIECHROMA AlignmentWhite;
- LDECI4 RedGamma;
- LDECI4 GreenGamma;
- LDECI4 BlueGamma;
- LDECI4 MagentaInCyanDye;
- LDECI4 YellowInCyanDye;
- LDECI4 CyanInMagentaDye;
- LDECI4 YellowInMagentaDye;
- LDECI4 CyanInYellowDye;
- LDECI4 MagentaInYellowDye;
-} COLORINFO, *PCOLORINFO;
-
-/* DEVHTADJDATA.DeviceFlags constants */
-#define DEVHTADJF_COLOR_DEVICE 0x00000001
-#define DEVHTADJF_ADDITIVE_DEVICE 0x00000002
-
-typedef struct _DEVHTINFO {
- DWORD HTFlags;
- DWORD HTPatternSize;
- DWORD DevPelsDPI;
- COLORINFO ColorInfo;
-} DEVHTINFO, *PDEVHTINFO;
-
-typedef struct _DEVHTADJDATA {
- DWORD DeviceFlags;
- DWORD DeviceXDPI;
- DWORD DeviceYDPI;
- PDEVHTINFO pDefHTInfo;
- PDEVHTINFO pAdjHTInfo;
-} DEVHTADJDATA, *PDEVHTADJDATA;
-
-/* DEVINFO.flGraphicsCaps flags */
-#define GCAPS_BEZIERS 0x00000001
-#define GCAPS_GEOMETRICWIDE 0x00000002
-#define GCAPS_ALTERNATEFILL 0x00000004
-#define GCAPS_WINDINGFILL 0x00000008
-#define GCAPS_HALFTONE 0x00000010
-#define GCAPS_COLOR_DITHER 0x00000020
-#define GCAPS_HORIZSTRIKE 0x00000040
-#define GCAPS_VERTSTRIKE 0x00000080
-#define GCAPS_OPAQUERECT 0x00000100
-#define GCAPS_VECTORFONT 0x00000200
-#define GCAPS_MONO_DITHER 0x00000400
-#define GCAPS_ASYNCCHANGE 0x00000800
-#define GCAPS_ASYNCMOVE 0x00001000
-#define GCAPS_DONTJOURNAL 0x00002000
-#define GCAPS_DIRECTDRAW 0x00004000
-#define GCAPS_ARBRUSHOPAQUE 0x00008000
-#define GCAPS_PANNING 0x00010000
-#define GCAPS_HIGHRESTEXT 0x00040000
-#define GCAPS_PALMANAGED 0x00080000
-#define GCAPS_DITHERONREALIZE 0x00200000
-#define GCAPS_NO64BITMEMACCESS 0x00400000
-#define GCAPS_FORCEDITHER 0x00800000
-#define GCAPS_GRAY16 0x01000000
-#define GCAPS_ICM 0x02000000
-#define GCAPS_CMYKCOLOR 0x04000000
-#define GCAPS_LAYERED 0x08000000
-#define GCAPS_ARBRUSHTEXT 0x10000000
-#define GCAPS_SCREENPRECISION 0x20000000
-#define GCAPS_FONT_RASTERIZER 0x40000000
-#define GCAPS_NUP 0x80000000
-
-/* DEVINFO.iDitherFormat constants */
-#define BMF_1BPP 1L
-#define BMF_4BPP 2L
-#define BMF_8BPP 3L
-#define BMF_16BPP 4L
-#define BMF_24BPP 5L
-#define BMF_32BPP 6L
-#define BMF_4RLE 7L
-#define BMF_8RLE 8L
-#define BMF_JPEG 9L
-#define BMF_PNG 10L
-
-/* DEVINFO.flGraphicsCaps2 flags */
-#define GCAPS2_JPEGSRC 0x00000001
-#define GCAPS2_xxxx 0x00000002
-#define GCAPS2_PNGSRC 0x00000008
-#define GCAPS2_CHANGEGAMMARAMP 0x00000010
-#define GCAPS2_ALPHACURSOR 0x00000020
-#define GCAPS2_SYNCFLUSH 0x00000040
-#define GCAPS2_SYNCTIMER 0x00000080
-#define GCAPS2_ICD_MULTIMON 0x00000100
-#define GCAPS2_MOUSETRAILS 0x00000200
-#define GCAPS2_RESERVED1 0x00000400
-
-typedef struct _DEVINFO {
- FLONG flGraphicsCaps;
- LOGFONTW lfDefaultFont;
- LOGFONTW lfAnsiVarFont;
- LOGFONTW lfAnsiFixFont;
- ULONG cFonts;
- ULONG iDitherFormat;
- USHORT cxDither;
- USHORT cyDither;
- HPALETTE hpalDefault;
- FLONG flGraphicsCaps2;
-} DEVINFO, *PDEVINFO;
-
-typedef struct _DRIVEROBJ *PDRIVEROBJ;
-
-typedef BOOL DDKAPI CALLBACK
-(*FREEOBJPROC)(
- /*IN*/ PDRIVEROBJ pDriverObj);
-
-typedef struct _DRIVEROBJ {
- PVOID pvObj;
- FREEOBJPROC pFreeProc;
- HDEV hdev;
- DHPDEV dhpdev;
-} DRIVEROBJ;
-
-/* DRVFN.iFunc constants */
-#define INDEX_DrvEnablePDEV 0L
-#define INDEX_DrvCompletePDEV 1L
-#define INDEX_DrvDisablePDEV 2L
-#define INDEX_DrvEnableSurface 3L
-#define INDEX_DrvDisableSurface 4L
-#define INDEX_DrvAssertMode 5L
-#define INDEX_DrvOffset 6L
-#define INDEX_DrvResetPDEV 7L
-#define INDEX_DrvDisableDriver 8L
-#define INDEX_DrvCreateDeviceBitmap 10L
-#define INDEX_DrvDeleteDeviceBitmap 11L
-#define INDEX_DrvRealizeBrush 12L
-#define INDEX_DrvDitherColor 13L
-#define INDEX_DrvStrokePath 14L
-#define INDEX_DrvFillPath 15L
-#define INDEX_DrvStrokeAndFillPath 16L
-#define INDEX_DrvPaint 17L
-#define INDEX_DrvBitBlt 18L
-#define INDEX_DrvCopyBits 19L
-#define INDEX_DrvStretchBlt 20L
-#define INDEX_DrvSetPalette 22L
-#define INDEX_DrvTextOut 23L
-#define INDEX_DrvEscape 24L
-#define INDEX_DrvDrawEscape 25L
-#define INDEX_DrvQueryFont 26L
-#define INDEX_DrvQueryFontTree 27L
-#define INDEX_DrvQueryFontData 28L
-#define INDEX_DrvSetPointerShape 29L
-#define INDEX_DrvMovePointer 30L
-#define INDEX_DrvLineTo 31L
-#define INDEX_DrvSendPage 32L
-#define INDEX_DrvStartPage 33L
-#define INDEX_DrvEndDoc 34L
-#define INDEX_DrvStartDoc 35L
-#define INDEX_DrvGetGlyphMode 37L
-#define INDEX_DrvSynchronize 38L
-#define INDEX_DrvSaveScreenBits 40L
-#define INDEX_DrvGetModes 41L
-#define INDEX_DrvFree 42L
-#define INDEX_DrvDestroyFont 43L
-#define INDEX_DrvQueryFontCaps 44L
-#define INDEX_DrvLoadFontFile 45L
-#define INDEX_DrvUnloadFontFile 46L
-#define INDEX_DrvFontManagement 47L
-#define INDEX_DrvQueryTrueTypeTable 48L
-#define INDEX_DrvQueryTrueTypeOutline 49L
-#define INDEX_DrvGetTrueTypeFile 50L
-#define INDEX_DrvQueryFontFile 51L
-#define INDEX_DrvMovePanning 52L
-#define INDEX_DrvQueryAdvanceWidths 53L
-#define INDEX_DrvSetPixelFormat 54L
-#define INDEX_DrvDescribePixelFormat 55L
-#define INDEX_DrvSwapBuffers 56L
-#define INDEX_DrvStartBanding 57L
-#define INDEX_DrvNextBand 58L
-#define INDEX_DrvGetDirectDrawInfo 59L
-#define INDEX_DrvEnableDirectDraw 60L
-#define INDEX_DrvDisableDirectDraw 61L
-#define INDEX_DrvQuerySpoolType 62L
-#define INDEX_DrvIcmCreateColorTransform 64L
-#define INDEX_DrvIcmDeleteColorTransform 65L
-#define INDEX_DrvIcmCheckBitmapBits 66L
-#define INDEX_DrvIcmSetDeviceGammaRamp 67L
-#define INDEX_DrvGradientFill 68L
-#define INDEX_DrvStretchBltROP 69L
-#define INDEX_DrvPlgBlt 70L
-#define INDEX_DrvAlphaBlend 71L
-#define INDEX_DrvSynthesizeFont 72L
-#define INDEX_DrvGetSynthesizedFontFiles 73L
-#define INDEX_DrvTransparentBlt 74L
-#define INDEX_DrvQueryPerBandInfo 75L
-#define INDEX_DrvQueryDeviceSupport 76L
-#define INDEX_DrvReserved1 77L
-#define INDEX_DrvReserved2 78L
-#define INDEX_DrvReserved3 79L
-#define INDEX_DrvReserved4 80L
-#define INDEX_DrvReserved5 81L
-#define INDEX_DrvReserved6 82L
-#define INDEX_DrvReserved7 83L
-#define INDEX_DrvReserved8 84L
-#define INDEX_DrvDeriveSurface 85L
-#define INDEX_DrvQueryGlyphAttrs 86L
-#define INDEX_DrvNotify 87L
-#define INDEX_DrvSynchronizeSurface 88L
-#define INDEX_DrvResetDevice 89L
-#define INDEX_DrvReserved9 90L
-#define INDEX_DrvReserved10 91L
-#define INDEX_DrvReserved11 92L
-#define INDEX_LAST 93L
-
-typedef struct _DRVFN {
- ULONG iFunc;
- PFN pfn;
-} DRVFN, *PDRVFN;
-
-/* DRVENABLEDATA.iDriverVersion constants */
-#define DDI_DRIVER_VERSION_NT4 0x00020000
-#define DDI_DRIVER_VERSION_SP3 0x00020003
-#define DDI_DRIVER_VERSION_NT5 0x00030000
-#define DDI_DRIVER_VERSION_NT5_01 0x00030100
-
-typedef struct _DRVENABLEDATA {
- ULONG iDriverVersion;
- ULONG c;
- DRVFN *pdrvfn;
-} DRVENABLEDATA, *PDRVENABLEDATA;
-
-DECLARE_HANDLE(HSEMAPHORE);
-
-typedef struct {
- DWORD nSize;
- HDC hdc;
- PBYTE pvEMF;
- PBYTE pvCurrentRecord;
-} EMFINFO, *PEMFINFO;
-
-typedef struct _ENGSAFESEMAPHORE {
- HSEMAPHORE hsem;
- LONG lCount;
-} ENGSAFESEMAPHORE;
-
-typedef struct _ENG_TIME_FIELDS {
- USHORT usYear;
- USHORT usMonth;
- USHORT usDay;
- USHORT usHour;
- USHORT usMinute;
- USHORT usSecond;
- USHORT usMilliseconds;
- USHORT usWeekday;
-} ENG_TIME_FIELDS, *PENG_TIME_FIELDS;
-
-typedef struct _ENUMRECTS {
- ULONG c;
- RECTL arcl[1];
-} ENUMRECTS;
-
-typedef struct _FD_XFORM {
- FLOATL eXX;
- FLOATL eXY;
- FLOATL eYX;
- FLOATL eYY;
-} FD_XFORM, *PFD_XFORM;
-
-/* FD_DEVICEMETRICS.flRealizedType constants */
-#define FDM_TYPE_BM_SIDE_CONST 0x00000001
-#define FDM_TYPE_MAXEXT_EQUAL_BM_SIDE 0x00000002
-#define FDM_TYPE_CHAR_INC_EQUAL_BM_BASE 0x00000004
-#define FDM_TYPE_ZERO_BEARINGS 0x00000008
-#define FDM_TYPE_CONST_BEARINGS 0x00000010
-
-typedef struct _FD_DEVICEMETRICS {
- FLONG flRealizedType;
- POINTE pteBase;
- POINTE pteSide;
- LONG lD;
- FIX fxMaxAscender;
- FIX fxMaxDescender;
- POINTL ptlUnderline1;
- POINTL ptlStrikeout;
- POINTL ptlULThickness;
- POINTL ptlSOThickness;
- ULONG cxMax;
- ULONG cyMax;
- ULONG cjGlyphMax;
- FD_XFORM fdxQuantized;
- LONG lNonLinearExtLeading;
- LONG lNonLinearIntLeading;
- LONG lNonLinearMaxCharWidth;
- LONG lNonLinearAvgCharWidth;
- LONG lMinA;
- LONG lMinC;
- LONG lMinD;
- LONG alReserved[1];
-} FD_DEVICEMETRICS, *PFD_DEVICEMETRICS;
-
-/* FD_GLYPHATTR.iMode constants */
-#define FO_ATTR_MODE_ROTATE 1
-
-typedef struct _FD_GLYPHATTR {
- ULONG cjThis;
- ULONG cGlyphs;
- ULONG iMode;
- BYTE aGlyphAttr[1];
-} FD_GLYPHATTR, *PFD_GLYPHATTR;
-
-/* FD_GLYPHSET.flAccel */
-#define GS_UNICODE_HANDLES 0x00000001
-#define GS_8BIT_HANDLES 0x00000002
-#define GS_16BIT_HANDLES 0x00000004
-
-typedef struct _WCRUN {
- WCHAR wcLow;
- USHORT cGlyphs;
- HGLYPH *phg;
-} WCRUN, *PWCRUN;
-
-typedef struct _FD_GLYPHSET {
- ULONG cjThis;
- FLONG flAccel;
- ULONG cGlyphsSupported;
- ULONG cRuns;
- WCRUN awcrun[1];
-} FD_GLYPHSET, *PFD_GLYPHSET;
-
-typedef struct _FD_KERNINGPAIR {
- WCHAR wcFirst;
- WCHAR wcSecond;
- FWORD fwdKern;
-} FD_KERNINGPAIR;
-
-typedef struct _FLOATOBJ
-{
- ULONG ul1;
- ULONG ul2;
-} FLOATOBJ, *PFLOATOBJ;
-
-typedef struct _FLOATOBJ_XFORM {
- FLOATOBJ eM11;
- FLOATOBJ eM12;
- FLOATOBJ eM21;
- FLOATOBJ eM22;
- FLOATOBJ eDx;
- FLOATOBJ eDy;
-} FLOATOBJ_XFORM, *PFLOATOBJ_XFORM, FAR *LPFLOATOBJ_XFORM;
-
-/* FONTDIFF.fsSelection */
-#define FM_SEL_ITALIC 0x0001
-#define FM_SEL_UNDERSCORE 0x0002
-#define FM_SEL_NEGATIVE 0x0004
-#define FM_SEL_OUTLINED 0x0008
-#define FM_SEL_STRIKEOUT 0x0010
-#define FM_SEL_BOLD 0x0020
-#define FM_SEL_REGULAR 0x0040
-
-typedef struct _FONTDIFF {
- BYTE jReserved1;
- BYTE jReserved2;
- BYTE jReserved3;
- BYTE bWeight;
- USHORT usWinWeight;
- FSHORT fsSelection;
- FWORD fwdAveCharWidth;
- FWORD fwdMaxCharInc;
- POINTL ptlCaret;
-} FONTDIFF;
-
-typedef struct _FONTSIM {
- PTRDIFF dpBold;
- PTRDIFF dpItalic;
- PTRDIFF dpBoldItalic;
-} FONTSIM;
-
-/* FONTINFO.flCaps constants */
-#define FO_DEVICE_FONT 1L
-#define FO_OUTLINE_CAPABLE 2L
-
-typedef struct _FONTINFO {
- ULONG cjThis;
- FLONG flCaps;
- ULONG cGlyphsSupported;
- ULONG cjMaxGlyph1;
- ULONG cjMaxGlyph4;
- ULONG cjMaxGlyph8;
- ULONG cjMaxGlyph32;
-} FONTINFO, *PFONTINFO;
-
-/* FONTOBJ.flFontType constants */
-#define FO_TYPE_RASTER RASTER_FONTTYPE
-#define FO_TYPE_DEVICE DEVICE_FONTTYPE
-#define FO_TYPE_TRUETYPE TRUETYPE_FONTTYPE
-#define FO_TYPE_OPENTYPE OPENTYPE_FONTTYPE
-
-#define FO_SIM_BOLD 0x00002000
-#define FO_SIM_ITALIC 0x00004000
-#define FO_EM_HEIGHT 0x00008000
-#define FO_GRAY16 0x00010000
-#define FO_NOGRAY16 0x00020000
-#define FO_NOHINTS 0x00040000
-#define FO_NO_CHOICE 0x00080000
-#define FO_CFF 0x00100000
-#define FO_POSTSCRIPT 0x00200000
-#define FO_MULTIPLEMASTER 0x00400000
-#define FO_VERT_FACE 0x00800000
-#define FO_DBCS_FONT 0X01000000
-#define FO_NOCLEARTYPE 0x02000000
-#define FO_CLEARTYPE_X 0x10000000
-#define FO_CLEARTYPE_Y 0x20000000
-
-typedef struct _FONTOBJ {
- ULONG iUniq;
- ULONG iFace;
- ULONG cxMax;
- FLONG flFontType;
- ULONG_PTR iTTUniq;
- ULONG_PTR iFile;
- SIZE sizLogResPpi;
- ULONG ulStyleSize;
- PVOID pvConsumer;
- PVOID pvProducer;
-} FONTOBJ;
-
-typedef struct _GAMMARAMP {
- WORD Red[256];
- WORD Green[256];
- WORD Blue[256];
-} GAMMARAMP, *PGAMMARAMP;
-
-/* GDIINFO.ulPrimaryOrder constants */
-#define PRIMARY_ORDER_ABC 0
-#define PRIMARY_ORDER_ACB 1
-#define PRIMARY_ORDER_BAC 2
-#define PRIMARY_ORDER_BCA 3
-#define PRIMARY_ORDER_CBA 4
-#define PRIMARY_ORDER_CAB 5
-
-/* GDIINFO.ulHTPatternSize constants */
-#define HT_PATSIZE_2x2 0
-#define HT_PATSIZE_2x2_M 1
-#define HT_PATSIZE_4x4 2
-#define HT_PATSIZE_4x4_M 3
-#define HT_PATSIZE_6x6 4
-#define HT_PATSIZE_6x6_M 5
-#define HT_PATSIZE_8x8 6
-#define HT_PATSIZE_8x8_M 7
-#define HT_PATSIZE_10x10 8
-#define HT_PATSIZE_10x10_M 9
-#define HT_PATSIZE_12x12 10
-#define HT_PATSIZE_12x12_M 11
-#define HT_PATSIZE_14x14 12
-#define HT_PATSIZE_14x14_M 13
-#define HT_PATSIZE_16x16 14
-#define HT_PATSIZE_16x16_M 15
-#define HT_PATSIZE_SUPERCELL 16
-#define HT_PATSIZE_SUPERCELL_M 17
-#define HT_PATSIZE_USER 18
-#define HT_PATSIZE_MAX_INDEX HT_PATSIZE_USER
-#define HT_PATSIZE_DEFAULT HT_PATSIZE_SUPERCELL_M
-#define HT_USERPAT_CX_MIN 4
-#define HT_USERPAT_CX_MAX 256
-#define HT_USERPAT_CY_MIN 4
-#define HT_USERPAT_CY_MAX 256
-
-/* GDIINFO.ulHTOutputFormat constants */
-#define HT_FORMAT_1BPP 0
-#define HT_FORMAT_4BPP 2
-#define HT_FORMAT_4BPP_IRGB 3
-#define HT_FORMAT_8BPP 4
-#define HT_FORMAT_16BPP 5
-#define HT_FORMAT_24BPP 6
-#define HT_FORMAT_32BPP 7
-
-/* GDIINFO.flHTFlags */
-#define HT_FLAG_SQUARE_DEVICE_PEL 0x00000001
-#define HT_FLAG_HAS_BLACK_DYE 0x00000002
-#define HT_FLAG_ADDITIVE_PRIMS 0x00000004
-#define HT_FLAG_USE_8BPP_BITMASK 0x00000008
-#define HT_FLAG_INK_HIGH_ABSORPTION 0x00000010
-#define HT_FLAG_INK_ABSORPTION_INDICES 0x00000060
-#define HT_FLAG_DO_DEVCLR_XFORM 0x00000080
-#define HT_FLAG_OUTPUT_CMY 0x00000100
-#define HT_FLAG_PRINT_DRAFT_MODE 0x00000200
-#define HT_FLAG_INVERT_8BPP_BITMASK_IDX 0x00000400
-#define HT_FLAG_8BPP_CMY332_MASK 0xFF000000
-
-#define MAKE_CMYMASK_BYTE(c,m,y) ((BYTE)(((BYTE)(c) & 0x07) << 5) \
- |(BYTE)(((BYTE)(m) & 0x07) << 2) \
- |(BYTE)((BYTE)(y) & 0x03))
-
-#define MAKE_CMY332_MASK(c,m,y) ((DWORD)(((DWORD)(c) & 0x07) << 29)\
- |(DWORD)(((DWORD)(m) & 0x07) << 26)\
- |(DWORD)(((DWORD)(y) & 0x03) << 24))
-
-/* GDIINFO.flHTFlags constants */
-#define HT_FLAG_INK_ABSORPTION_IDX0 0x00000000
-#define HT_FLAG_INK_ABSORPTION_IDX1 0x00000020
-#define HT_FLAG_INK_ABSORPTION_IDX2 0x00000040
-#define HT_FLAG_INK_ABSORPTION_IDX3 0x00000060
-
-#define HT_FLAG_HIGHEST_INK_ABSORPTION (HT_FLAG_INK_HIGH_ABSORPTION \
- |HT_FLAG_INK_ABSORPTION_IDX3)
-#define HT_FLAG_HIGHER_INK_ABSORPTION (HT_FLAG_INK_HIGH_ABSORPTION \
- |HT_FLAG_INK_ABSORPTION_IDX2)
-#define HT_FLAG_HIGH_INK_ABSORPTION (HT_FLAG_INK_HIGH_ABSORPTION \
- |HT_FLAG_INK_ABSORPTION_IDX1)
-#define HT_FLAG_NORMAL_INK_ABSORPTION HT_FLAG_INK_ABSORPTION_IDX0
-#define HT_FLAG_LOW_INK_ABSORPTION HT_FLAG_INK_ABSORPTION_IDX1
-#define HT_FLAG_LOWER_INK_ABSORPTION HT_FLAG_INK_ABSORPTION_IDX2
-#define HT_FLAG_LOWEST_INK_ABSORPTION HT_FLAG_INK_ABSORPTION_IDX3
-
-#define HT_BITMASKPALRGB (DWORD)'0BGR'
-#define HT_SET_BITMASKPAL2RGB(pPal) (*((LPDWORD)(pPal)) = HT_BITMASKPALRGB)
-#define HT_IS_BITMASKPALRGB(pPal) (*((LPDWORD)(pPal)) == (DWORD)0)
-
-/* GDIINFO.ulPhysicalPixelCharacteristics constants */
-#define PPC_DEFAULT 0x0
-#define PPC_UNDEFINED 0x1
-#define PPC_RGB_ORDER_VERTICAL_STRIPES 0x2
-#define PPC_BGR_ORDER_VERTICAL_STRIPES 0x3
-#define PPC_RGB_ORDER_HORIZONTAL_STRIPES 0x4
-#define PPC_BGR_ORDER_HORIZONTAL_STRIPES 0x5
-
-#define PPG_DEFAULT 0
-#define PPG_SRGB 1
-
-typedef struct _GDIINFO {
- ULONG ulVersion;
- ULONG ulTechnology;
- ULONG ulHorzSize;
- ULONG ulVertSize;
- ULONG ulHorzRes;
- ULONG ulVertRes;
- ULONG cBitsPixel;
- ULONG cPlanes;
- ULONG ulNumColors;
- ULONG flRaster;
- ULONG ulLogPixelsX;
- ULONG ulLogPixelsY;
- ULONG flTextCaps;
- ULONG ulDACRed;
- ULONG ulDACGreen;
- ULONG ulDACBlue;
- ULONG ulAspectX;
- ULONG ulAspectY;
- ULONG ulAspectXY;
- LONG xStyleStep;
- LONG yStyleStep;
- LONG denStyleStep;
- POINTL ptlPhysOffset;
- SIZEL szlPhysSize;
- ULONG ulNumPalReg;
- COLORINFO ciDevice;
- ULONG ulDevicePelsDPI;
- ULONG ulPrimaryOrder;
- ULONG ulHTPatternSize;
- ULONG ulHTOutputFormat;
- ULONG flHTFlags;
- ULONG ulVRefresh;
- ULONG ulBltAlignment;
- ULONG ulPanningHorzRes;
- ULONG ulPanningVertRes;
- ULONG xPanningAlignment;
- ULONG yPanningAlignment;
- ULONG cxHTPat;
- ULONG cyHTPat;
- LPBYTE pHTPatA;
- LPBYTE pHTPatB;
- LPBYTE pHTPatC;
- ULONG flShadeBlend;
- ULONG ulPhysicalPixelCharacteristics;
- ULONG ulPhysicalPixelGamma;
-} GDIINFO, *PGDIINFO;
-
-/* PATHDATA.flags constants */
-#define PD_BEGINSUBPATH 0x00000001
-#define PD_ENDSUBPATH 0x00000002
-#define PD_RESETSTYLE 0x00000004
-#define PD_CLOSEFIGURE 0x00000008
-#define PD_BEZIERS 0x00000010
-#define PD_ALL (PD_BEGINSUBPATH \
- |PD_ENDSUBPATH \
- |PD_RESETSTYLE \
- |PD_CLOSEFIGURE \
- PD_BEZIERS)
-
-typedef struct _PATHDATA {
- FLONG flags;
- ULONG count;
- POINTFIX *glypptfx;
-} PATHDATA, *PPATHDATA;
-
-/* PATHOBJ.fl constants */
-#define PO_BEZIERS 0x00000001
-#define PO_ELLIPSE 0x00000002
-#define PO_ALL_INTEGERS 0x00000004
-#define PO_ENUM_AS_INTEGERS 0x00000008
-
-typedef struct _PATHOBJ {
- FLONG fl;
- ULONG cCurves;
-} PATHOBJ;
-
-typedef struct _GLYPHBITS {
- POINTL ptlOrigin;
- SIZEL sizlBitmap;
- BYTE aj[1];
-} GLYPHBITS;
-
-typedef union _GLYPHDEF {
- GLYPHBITS *pgb;
- PATHOBJ *ppo;
-} GLYPHDEF;
-
-typedef struct _GLYPHPOS {
- HGLYPH hg;
- GLYPHDEF *pgdf;
- POINTL ptl;
-} GLYPHPOS, *PGLYPHPOS;
-
-typedef struct _GLYPHDATA {
- GLYPHDEF gdf;
- HGLYPH hg;
- FIX fxD;
- FIX fxA;
- FIX fxAB;
- FIX fxInkTop;
- FIX fxInkBottom;
- RECTL rclInk;
- POINTQF ptqD;
-} GLYPHDATA;
-
-typedef struct _IFIEXTRA {
- ULONG ulIdentifier;
- PTRDIFF dpFontSig;
- ULONG cig;
- PTRDIFF dpDesignVector;
- PTRDIFF dpAxesInfoW;
- ULONG aulReserved[1];
-} IFIEXTRA, *PIFIEXTRA;
-
-/* IFIMETRICS constants */
-
-#define FM_VERSION_NUMBER 0x0
-
-/* IFIMETRICS.fsType constants */
-#define FM_TYPE_LICENSED 0x2
-#define FM_READONLY_EMBED 0x4
-#define FM_EDITABLE_EMBED 0x8
-#define FM_NO_EMBEDDING FM_TYPE_LICENSED
-
-/* IFIMETRICS.flInfo constants */
-#define FM_INFO_TECH_TRUETYPE 0x00000001
-#define FM_INFO_TECH_BITMAP 0x00000002
-#define FM_INFO_TECH_STROKE 0x00000004
-#define FM_INFO_TECH_OUTLINE_NOT_TRUETYPE 0x00000008
-#define FM_INFO_ARB_XFORMS 0x00000010
-#define FM_INFO_1BPP 0x00000020
-#define FM_INFO_4BPP 0x00000040
-#define FM_INFO_8BPP 0x00000080
-#define FM_INFO_16BPP 0x00000100
-#define FM_INFO_24BPP 0x00000200
-#define FM_INFO_32BPP 0x00000400
-#define FM_INFO_INTEGER_WIDTH 0x00000800
-#define FM_INFO_CONSTANT_WIDTH 0x00001000
-#define FM_INFO_NOT_CONTIGUOUS 0x00002000
-#define FM_INFO_TECH_MM 0x00004000
-#define FM_INFO_RETURNS_OUTLINES 0x00008000
-#define FM_INFO_RETURNS_STROKES 0x00010000
-#define FM_INFO_RETURNS_BITMAPS 0x00020000
-#define FM_INFO_DSIG 0x00040000
-#define FM_INFO_RIGHT_HANDED 0x00080000
-#define FM_INFO_INTEGRAL_SCALING 0x00100000
-#define FM_INFO_90DEGREE_ROTATIONS 0x00200000
-#define FM_INFO_OPTICALLY_FIXED_PITCH 0x00400000
-#define FM_INFO_DO_NOT_ENUMERATE 0x00800000
-#define FM_INFO_ISOTROPIC_SCALING_ONLY 0x01000000
-#define FM_INFO_ANISOTROPIC_SCALING_ONLY 0x02000000
-#define FM_INFO_TECH_CFF 0x04000000
-#define FM_INFO_FAMILY_EQUIV 0x08000000
-#define FM_INFO_DBCS_FIXED_PITCH 0x10000000
-#define FM_INFO_NONNEGATIVE_AC 0x20000000
-#define FM_INFO_IGNORE_TC_RA_ABLE 0x40000000
-#define FM_INFO_TECH_TYPE1 0x80000000
-
-#define MAXCHARSETS 16
-
-/* IFIMETRICS.ulPanoseCulture constants */
-#define FM_PANOSE_CULTURE_LATIN 0x0
-
-typedef struct _IFIMETRICS {
- ULONG cjThis;
- ULONG cjIfiExtra;
- PTRDIFF dpwszFamilyName;
- PTRDIFF dpwszStyleName;
- PTRDIFF dpwszFaceName;
- PTRDIFF dpwszUniqueName;
- PTRDIFF dpFontSim;
- LONG lEmbedId;
- LONG lItalicAngle;
- LONG lCharBias;
- PTRDIFF dpCharSets;
- BYTE jWinCharSet;
- BYTE jWinPitchAndFamily;
- USHORT usWinWeight;
- ULONG flInfo;
- USHORT fsSelection;
- USHORT fsType;
- FWORD fwdUnitsPerEm;
- FWORD fwdLowestPPEm;
- FWORD fwdWinAscender;
- FWORD fwdWinDescender;
- FWORD fwdMacAscender;
- FWORD fwdMacDescender;
- FWORD fwdMacLineGap;
- FWORD fwdTypoAscender;
- FWORD fwdTypoDescender;
- FWORD fwdTypoLineGap;
- FWORD fwdAveCharWidth;
- FWORD fwdMaxCharInc;
- FWORD fwdCapHeight;
- FWORD fwdXHeight;
- FWORD fwdSubscriptXSize;
- FWORD fwdSubscriptYSize;
- FWORD fwdSubscriptXOffset;
- FWORD fwdSubscriptYOffset;
- FWORD fwdSuperscriptXSize;
- FWORD fwdSuperscriptYSize;
- FWORD fwdSuperscriptXOffset;
- FWORD fwdSuperscriptYOffset;
- FWORD fwdUnderscoreSize;
- FWORD fwdUnderscorePosition;
- FWORD fwdStrikeoutSize;
- FWORD fwdStrikeoutPosition;
- BYTE chFirstChar;
- BYTE chLastChar;
- BYTE chDefaultChar;
- BYTE chBreakChar;
- WCHAR wcFirstChar;
- WCHAR wcLastChar;
- WCHAR wcDefaultChar;
- WCHAR wcBreakChar;
- POINTL ptlBaseline;
- POINTL ptlAspect;
- POINTL ptlCaret;
- RECTL rclFontBox;
- BYTE achVendId[4];
- ULONG cKerningPairs;
- ULONG ulPanoseCulture;
- PANOSE panose;
-#if defined(_WIN64)
- PVOID Align;
-#endif
-} IFIMETRICS, *PIFIMETRICS;
-
-/* LINEATTRS.fl */
-#define LA_GEOMETRIC 0x00000001
-#define LA_ALTERNATE 0x00000002
-#define LA_STARTGAP 0x00000004
-#define LA_STYLED 0x00000008
-
-/* LINEATTRS.iJoin */
-#define JOIN_ROUND 0L
-#define JOIN_BEVEL 1L
-#define JOIN_MITER 2L
-
-/* LINEATTRS.iEndCap */
-#define ENDCAP_ROUND 0L
-#define ENDCAP_SQUARE 1L
-#define ENDCAP_BUTT 2L
-
-typedef struct _LINEATTRS {
- FLONG fl;
- ULONG iJoin;
- ULONG iEndCap;
- FLOAT_LONG elWidth;
- FLOATL eMiterLimit;
- ULONG cstyle;
- PFLOAT_LONG pstyle;
- FLOAT_LONG elStyleState;
-} LINEATTRS, *PLINEATTRS;
-
-typedef struct _PALOBJ {
- ULONG ulReserved;
-} PALOBJ;
-
-typedef struct _PERBANDINFO {
- BOOL bRepeatThisBand;
- SIZEL szlBand;
- ULONG ulHorzRes;
- ULONG ulVertRes;
-} PERBANDINFO, *PPERBANDINFO;
-
-/* STROBJ.flAccel constants */
-#define SO_FLAG_DEFAULT_PLACEMENT 0x00000001
-#define SO_HORIZONTAL 0x00000002
-#define SO_VERTICAL 0x00000004
-#define SO_REVERSED 0x00000008
-#define SO_ZERO_BEARINGS 0x00000010
-#define SO_CHAR_INC_EQUAL_BM_BASE 0x00000020
-#define SO_MAXEXT_EQUAL_BM_SIDE 0x00000040
-#define SO_DO_NOT_SUBSTITUTE_DEVICE_FONT 0x00000080
-#define SO_GLYPHINDEX_TEXTOUT 0x00000100
-#define SO_ESC_NOT_ORIENT 0x00000200
-#define SO_DXDY 0x00000400
-#define SO_CHARACTER_EXTRA 0x00000800
-#define SO_BREAK_EXTRA 0x00001000
-
-typedef struct _STROBJ {
- ULONG cGlyphs;
- FLONG flAccel;
- ULONG ulCharInc;
- RECTL rclBkGround;
- GLYPHPOS *pgp;
- LPWSTR pwszOrg;
-} STROBJ;
-
-typedef struct _SURFACEALIGNMENT {
- union {
- struct {
- DWORD dwStartAlignment;
- DWORD dwPitchAlignment;
- DWORD dwReserved1;
- DWORD dwReserved2;
- } Linear;
- struct {
- DWORD dwXAlignment;
- DWORD dwYAlignment;
- DWORD dwReserved1;
- DWORD dwReserved2;
- } Rectangular;
- };
-} SURFACEALIGNMENT, *LPSURFACEALIGNMENT;
-
-/* SURFOBJ.iType constants */
-#define STYPE_BITMAP 0L
-#define STYPE_DEVICE 1L
-#define STYPE_DEVBITMAP 3L
-
-/* SURFOBJ.fjBitmap constants */
-#define BMF_TOPDOWN 0x0001
-#define BMF_NOZEROINIT 0x0002
-#define BMF_DONTCACHE 0x0004
-#define BMF_USERMEM 0x0008
-#define BMF_KMSECTION 0x0010
-#define BMF_NOTSYSMEM 0x0020
-#define BMF_WINDOW_BLT 0x0040
-#define BMF_UMPDMEM 0x0080
-#define BMF_RESERVED 0xFF00
-
-typedef struct _SURFOBJ {
- DHSURF dhsurf;
- HSURF hsurf;
- DHPDEV dhpdev;
- HDEV hdev;
- SIZEL sizlBitmap;
- ULONG cjBits;
- PVOID pvBits;
- PVOID pvScan0;
- LONG lDelta;
- ULONG iUniq;
- ULONG iBitmapFormat;
- USHORT iType;
- USHORT fjBitmap;
-} SURFOBJ;
-
-typedef struct _TYPE1_FONT {
- HANDLE hPFM;
- HANDLE hPFB;
- ULONG ulIdentifier;
-} TYPE1_FONT;
-
-typedef struct _WNDOBJ {
- CLIPOBJ coClient;
- PVOID pvConsumer;
- RECTL rclClient;
- SURFOBJ *psoOwner;
-} WNDOBJ, *PWNDOBJ;
-
-typedef struct _XFORML {
- FLOATL eM11;
- FLOATL eM12;
- FLOATL eM21;
- FLOATL eM22;
- FLOATL eDx;
- FLOATL eDy;
-} XFORML, *PXFORML;
-
-typedef struct _XFORMOBJ {
- ULONG ulReserved;
-} XFORMOBJ;
-
-/* XLATEOBJ.flXlate constants */
-#define XO_TRIVIAL 0x00000001
-#define XO_TABLE 0x00000002
-#define XO_TO_MONO 0x00000004
-#define XO_FROM_CMYK 0x00000008
-#define XO_DEVICE_ICM 0x00000010
-#define XO_HOST_ICM 0x00000020
-
-typedef struct _XLATEOBJ {
- ULONG iUniq;
- FLONG flXlate;
- USHORT iSrcType;
- USHORT iDstType;
- ULONG cEntries;
- ULONG *pulXlate;
-} XLATEOBJ;
-
-typedef VOID DDKAPI (CALLBACK *WNDOBJCHANGEPROC)(
- /*IN*/ WNDOBJ *pwo,
- /*IN*/ FLONG fl);
-
-
-WIN32KAPI
-HANDLE
-DDKAPI
-BRUSHOBJ_hGetColorTransform(
- /*IN*/ BRUSHOBJ *pbo);
-
-WIN32KAPI
-PVOID
-DDKAPI
-BRUSHOBJ_pvAllocRbrush(
- /*IN*/ BRUSHOBJ *pbo,
- /*IN*/ ULONG cj);
-
-WIN32KAPI
-PVOID
-DDKAPI
-BRUSHOBJ_pvGetRbrush(
- /*IN*/ BRUSHOBJ *pbo);
-
-WIN32KAPI
-ULONG
-DDKAPI
-BRUSHOBJ_ulGetBrushColor(
- /*IN*/ BRUSHOBJ *pbo);
-
-WIN32KAPI
-BOOL
-DDKAPI
-CLIPOBJ_bEnum(
- /*IN*/ CLIPOBJ *pco,
- /*IN*/ ULONG cj,
-
- /*OUT*/ ULONG *pv);
-
-/* CLIPOBJ_cEnumStart.iType constants */
-#define CT_RECTANGLES 0L
-
-/* CLIPOBJ_cEnumStart.iDirection constants */
-#define CD_RIGHTDOWN 0x00000000
-#define CD_LEFTDOWN 0x00000001
-#define CD_LEFTWARDS 0x00000001
-#define CD_RIGHTUP 0x00000002
-#define CD_UPWARDS 0x00000002
-#define CD_LEFTUP 0x00000003
-#define CD_ANY 0x00000004
-
-WIN32KAPI
-ULONG
-DDKAPI
-CLIPOBJ_cEnumStart(
- /*IN*/ CLIPOBJ *pco,
- /*IN*/ BOOL bAll,
- /*IN*/ ULONG iType,
- /*IN*/ ULONG iDirection,
- /*IN*/ ULONG cLimit);
-
-WIN32KAPI
-PATHOBJ*
-DDKAPI
-CLIPOBJ_ppoGetPath(
- /*IN*/ CLIPOBJ *pco);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngAcquireSemaphore(
- /*IN*/ HSEMAPHORE hsem);
-
-#define FL_ZERO_MEMORY 0x00000001
-#define FL_NONPAGED_MEMORY 0x00000002
-
-WIN32KAPI
-PVOID
-DDKAPI
-EngAllocMem(
- /*IN*/ ULONG Flags,
- /*IN*/ ULONG MemSize,
- /*IN*/ ULONG Tag);
-
-WIN32KAPI
-PVOID
-DDKAPI
-EngAllocPrivateUserMem(
- /*IN*/ PDD_SURFACE_LOCAL psl,
- /*IN*/ SIZE_T cj,
- /*IN*/ ULONG tag);
-
-WIN32KAPI
-PVOID
-DDKAPI
-EngAllocUserMem(
- /*IN*/ SIZE_T cj,
- /*IN*/ ULONG tag);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngAlphaBlend(
- /*IN*/ SURFOBJ *psoDest,
- /*IN*/ SURFOBJ *psoSrc,
- /*IN*/ CLIPOBJ *pco,
- /*IN*/ XLATEOBJ *pxlo,
- /*IN*/ RECTL *prclDest,
- /*IN*/ RECTL *prclSrc,
- /*IN*/ BLENDOBJ *pBlendObj);
-
-/* EngAssociateSurface.flHooks constants */
-#define HOOK_BITBLT 0x00000001
-#define HOOK_STRETCHBLT 0x00000002
-#define HOOK_PLGBLT 0x00000004
-#define HOOK_TEXTOUT 0x00000008
-#define HOOK_PAINT 0x00000010
-#define HOOK_STROKEPATH 0x00000020
-#define HOOK_FILLPATH 0x00000040
-#define HOOK_STROKEANDFILLPATH 0x00000080
-#define HOOK_LINETO 0x00000100
-#define HOOK_COPYBITS 0x00000400
-#define HOOK_MOVEPANNING 0x00000800
-#define HOOK_SYNCHRONIZE 0x00001000
-#define HOOK_STRETCHBLTROP 0x00002000
-#define HOOK_SYNCHRONIZEACCESS 0x00004000
-#define HOOK_TRANSPARENTBLT 0x00008000
-#define HOOK_ALPHABLEND 0x00010000
-#define HOOK_GRADIENTFILL 0x00020000
-#define HOOK_FLAGS 0x0003b5ff
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngAssociateSurface(
- /*IN*/ HSURF hsurf,
- /*IN*/ HDEV hdev,
- /*IN*/ FLONG flHooks);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngBitBlt(
- /*IN*/ SURFOBJ *psoTrg,
- /*IN*/ SURFOBJ *psoSrc,
- /*IN*/ SURFOBJ *psoMask,
- /*IN*/ CLIPOBJ *pco,
- /*IN*/ XLATEOBJ *pxlo,
- /*IN*/ RECTL *prclTrg,
- /*IN*/ POINTL *pptlSrc,
- /*IN*/ POINTL *pptlMask,
- /*IN*/ BRUSHOBJ *pbo,
- /*IN*/ POINTL *pptlBrush,
- /*IN*/ ROP4 rop4);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngCheckAbort(
- /*IN*/ SURFOBJ *pso);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngClearEvent(
- /*IN*/ PEVENT pEvent);
-
-WIN32KAPI
-FD_GLYPHSET*
-DDKAPI
-EngComputeGlyphSet(
- /*IN*/ INT nCodePage,
- /*IN*/ INT nFirstChar,
- /*IN*/ INT cChars);
-
-/* EngControlSprites.fl constants */
-#define ECS_TEARDOWN 0x00000001
-#define ECS_REDRAW 0x00000002
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngControlSprites(
- /*IN*/ WNDOBJ *pwo,
- /*IN*/ FLONG fl);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngCopyBits(
-
- /*OUT*/ SURFOBJ *psoDest,
- /*IN*/ SURFOBJ *psoSrc,
- /*IN*/ CLIPOBJ *pco,
- /*IN*/ XLATEOBJ *pxlo,
- /*IN*/ RECTL *prclDest,
- /*IN*/ POINTL *pptlSrc);
-
-WIN32KAPI
-HBITMAP
-DDKAPI
-EngCreateBitmap(
- /*IN*/ SIZEL sizl,
- /*IN*/ LONG lWidth,
- /*IN*/ ULONG iFormat,
- /*IN*/ FLONG fl,
- /*IN*/ PVOID pvBits);
-
-WIN32KAPI
-CLIPOBJ*
-DDKAPI
-EngCreateClip(
- VOID);
-
-WIN32KAPI
-HBITMAP
-DDKAPI
-EngCreateDeviceBitmap(
- /*IN*/ DHSURF dhsurf,
- /*IN*/ SIZEL sizl,
- /*IN*/ ULONG iFormatCompat);
-
-WIN32KAPI
-HSURF
-DDKAPI
-EngCreateDeviceSurface(
- DHSURF dhsurf,
- SIZEL sizl,
- ULONG iFormatCompat);
-
-#if 0
-WIN32KAPI
-HDRVOBJ
-DDKAPI
-EngCreateDriverObj(
- PVOID pvObj,
- FREEOBJPROC pFreeObjProc,
- HDEV hdev);
-#endif
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngCreateEvent(
-
- /*OUT*/ PEVENT *ppEvent);
-
-/* EngCreatePalette.iMode constants */
-#define PAL_INDEXED 0x00000001
-#define PAL_BITFIELDS 0x00000002
-#define PAL_RGB 0x00000004
-#define PAL_BGR 0x00000008
-#define PAL_CMYK 0x00000010
-
-WIN32KAPI
-HPALETTE
-DDKAPI
-EngCreatePalette(
- /*IN*/ ULONG iMode,
- /*IN*/ ULONG cColors,
- /*IN*/ ULONG *pulColors,
- /*IN*/ FLONG flRed,
- /*IN*/ FLONG flGreen,
- /*IN*/ FLONG flBlue);
-
-WIN32KAPI
-PATHOBJ*
-DDKAPI
-EngCreatePath(
- VOID);
-
-WIN32KAPI
-HSEMAPHORE
-DDKAPI
-EngCreateSemaphore(
- VOID);
-
-/* EngCreateWnd.fl constants */
-#define WO_RGN_CLIENT_DELTA 0x00000001
-#define WO_RGN_CLIENT 0x00000002
-#define WO_RGN_SURFACE_DELTA 0x00000004
-#define WO_RGN_SURFACE 0x00000008
-#define WO_RGN_UPDATE_ALL 0x00000010
-#define WO_RGN_WINDOW 0x00000020
-#define WO_DRAW_NOTIFY 0x00000040
-#define WO_SPRITE_NOTIFY 0x00000080
-#define WO_RGN_DESKTOP_COORD 0x00000100
-
-WIN32KAPI
-WNDOBJ*
-DDKAPI
-EngCreateWnd(
- SURFOBJ *pso,
- HWND hwnd,
- WNDOBJCHANGEPROC pfn,
- FLONG fl,
- int iPixelFormat);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngDebugBreak(
- VOID);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngDebugPrint(
- /*IN*/ PCHAR StandardPrefix,
- /*IN*/ PCHAR DebugMessage,
- /*IN*/ va_list ap);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngDeleteClip(
- /*IN*/ CLIPOBJ *pco);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngDeleteDriverObj(
- /*IN*/ HDRVOBJ hdo,
- /*IN*/ BOOL bCallBack,
- /*IN*/ BOOL bLocked);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngDeleteEvent(
- /*IN*/ PEVENT pEvent);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngDeleteFile(
- /*IN*/ LPWSTR pwszFileName);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngDeletePalette(
- /*IN*/ HPALETTE hpal);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngDeletePath(
- /*IN*/ PATHOBJ *ppo);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngDeleteSafeSemaphore(
- /*IN OUT*/ ENGSAFESEMAPHORE *pssem);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngDeleteSemaphore(
- /*IN OUT*/ HSEMAPHORE hsem);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngDeleteSurface(
- /*IN*/ HSURF hsurf);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngDeleteWnd(
- /*IN*/ WNDOBJ *pwo);
-
-WIN32KAPI
-DWORD
-DDKAPI
-EngDeviceIoControl(
- /*IN*/ HANDLE hDevice,
- /*IN*/ DWORD dwIoControlCode,
- /*IN*/ LPVOID lpInBuffer,
- /*IN*/ DWORD nInBufferSize,
- /*IN OUT*/ LPVOID lpOutBuffer,
- /*IN*/ DWORD nOutBufferSize,
-
- /*OUT*/ LPDWORD lpBytesReturned);
-
-WIN32KAPI
-ULONG
-DDKAPI
-EngDitherColor(
- /*IN*/ HDEV hdev,
- /*IN*/ ULONG iMode,
- /*IN*/ ULONG rgb,
-
- /*OUT*/ ULONG *pul);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngEnumForms(
- /*IN*/ HANDLE hPrinter,
- /*IN*/ DWORD Level,
-
- /*OUT*/ LPBYTE pForm,
- /*IN*/ DWORD cbBuf,
-
- /*OUT*/ LPDWORD pcbNeeded,
-
- /*OUT*/ LPDWORD pcReturned);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngEraseSurface(
- /*IN*/ SURFOBJ *pso,
- /*IN*/ RECTL *prcl,
- /*IN*/ ULONG iColor);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngFillPath(
- /*IN*/ SURFOBJ *pso,
- /*IN*/ PATHOBJ *ppo,
- /*IN*/ CLIPOBJ *pco,
- /*IN*/ BRUSHOBJ *pbo,
- /*IN*/ POINTL *pptlBrushOrg,
- /*IN*/ MIX mix,
- /*IN*/ FLONG flOptions);
-
-WIN32KAPI
-PVOID
-DDKAPI
-EngFindImageProcAddress(
- /*IN*/ HANDLE hModule,
- /*IN*/ LPSTR lpProcName);
-
-WIN32KAPI
-PVOID
-DDKAPI
-EngFindResource(
- /*IN*/ HANDLE h,
- /*IN*/ int iName,
- /*IN*/ int iType,
-
- /*OUT*/ PULONG pulSize);
-
-WIN32KAPI
-PVOID
-DDKAPI
-EngFntCacheAlloc(
- /*IN*/ ULONG FastCheckSum,
- /*IN*/ ULONG ulSize);
-
-/* EngFntCacheFault.iFaultMode constants */
-#define ENG_FNT_CACHE_READ_FAULT 0x00000001
-#define ENG_FNT_CACHE_WRITE_FAULT 0x00000002
-
-WIN32KAPI
-VOID
-DDKAPI
-EngFntCacheFault(
- /*IN*/ ULONG ulFastCheckSum,
- /*IN*/ ULONG iFaultMode);
-
-WIN32KAPI
-PVOID
-DDKAPI
-EngFntCacheLookUp(
- /*IN*/ ULONG FastCheckSum,
-
- /*OUT*/ ULONG *pulSize);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngFreeMem(
- /*IN*/ PVOID Mem);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngFreeModule(
- /*IN*/ HANDLE h);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngFreePrivateUserMem(
- /*IN*/ PDD_SURFACE_LOCAL psl,
- /*IN*/ PVOID pv);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngFreeUserMem(
- /*IN*/ PVOID pv);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngGetCurrentCodePage(
-
- /*OUT*/ PUSHORT OemCodePage,
-
- /*OUT*/ PUSHORT AnsiCodePage);
-
-WIN32KAPI
-HANDLE
-DDKAPI
-EngGetCurrentProcessId(
- VOID);
-
-WIN32KAPI
-HANDLE
-DDKAPI
-EngGetCurrentThreadId(
- VOID);
-
-WIN32KAPI
-LPWSTR
-DDKAPI
-EngGetDriverName(
- /*IN*/ HDEV hdev);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngGetFileChangeTime(
- /*IN*/ HANDLE h,
-
- /*OUT*/ LARGE_INTEGER *pChangeTime);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngGetFilePath(
- /*IN*/ HANDLE h,
-
- /*OUT*/ WCHAR (*pDest)[MAX_PATH+1]);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngGetForm(
- /*IN*/ HANDLE hPrinter,
- /*IN*/ LPWSTR pFormName,
- /*IN*/ DWORD Level,
-
- /*OUT*/ LPBYTE pForm,
- /*IN*/ DWORD cbBuf,
-
- /*OUT*/ LPDWORD pcbNeeded);
-
-WIN32KAPI
-ULONG
-DDKAPI
-EngGetLastError(
- VOID);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngGetPrinter(
- /*IN*/ HANDLE hPrinter,
- /*IN*/ DWORD dwLevel,
-
- /*OUT*/ LPBYTE pPrinter,
- /*IN*/ DWORD cbBuf,
-
- /*OUT*/ LPDWORD pcbNeeded);
-
-WIN32KAPI
-DWORD
-DDKAPI
-EngGetPrinterData(
- /*IN*/ HANDLE hPrinter,
- /*IN*/ LPWSTR pValueName,
-
- /*OUT*/ LPDWORD pType,
-
- /*OUT*/ LPBYTE pData,
- /*IN*/ DWORD nSize,
-
- /*OUT*/ LPDWORD pcbNeeded);
-
-WIN32KAPI
-LPWSTR
-DDKAPI
-EngGetPrinterDataFileName(
- /*IN*/ HDEV hdev);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngGetPrinterDriver(
- /*IN*/ HANDLE hPrinter,
- /*IN*/ LPWSTR pEnvironment,
- /*IN*/ DWORD dwLevel,
-
- /*OUT*/ BYTE *lpbDrvInfo,
- /*IN*/ DWORD cbBuf,
-
- /*OUT*/ DWORD *pcbNeeded);
-
-WIN32KAPI
-HANDLE
-DDKAPI
-EngGetProcessHandle(
- VOID);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngGetType1FontList(
- /*IN*/ HDEV hdev,
-
- /*OUT*/ TYPE1_FONT *pType1Buffer,
- /*IN*/ ULONG cjType1Buffer,
-
- /*OUT*/ PULONG pulLocalFonts,
-
- /*OUT*/ PULONG pulRemoteFonts,
-
- /*OUT*/ LARGE_INTEGER *pLastModified);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngGradientFill(
- /*IN*/ SURFOBJ *psoDest,
- /*IN*/ CLIPOBJ *pco,
- /*IN*/ XLATEOBJ *pxlo,
- /*IN*/ TRIVERTEX *pVertex,
- /*IN*/ ULONG nVertex,
- /*IN*/ PVOID pMesh,
- /*IN*/ ULONG nMesh,
- /*IN*/ RECTL *prclExtents,
- /*IN*/ POINTL *pptlDitherOrg,
- /*IN*/ ULONG ulMode);
-
-/* EngHangNotification return values */
-#define EHN_RESTORED 0x00000000
-#define EHN_ERROR 0x00000001
-
-WIN32KAPI
-ULONG
-DDKAPI
-EngHangNotification(
- /*IN*/ HDEV hDev,
- /*IN*/ PVOID Reserved);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngInitializeSafeSemaphore(
-
- /*OUT*/ ENGSAFESEMAPHORE *pssem);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngIsSemaphoreOwned(
- /*IN*/ HSEMAPHORE hsem);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngIsSemaphoreOwnedByCurrentThread(
- /*IN*/ HSEMAPHORE hsem);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngLineTo(
- SURFOBJ *pso,
- CLIPOBJ *pco,
- BRUSHOBJ *pbo,
- LONG x1,
- LONG y1,
- LONG x2,
- LONG y2,
- RECTL *prclBounds,
- MIX mix);
-
-WIN32KAPI
-HANDLE
-DDKAPI
-EngLoadImage(
- /*IN*/ LPWSTR pwszDriver);
-
-WIN32KAPI
-HANDLE
-DDKAPI
-EngLoadModule(
- /*IN*/ LPWSTR pwsz);
-
-WIN32KAPI
-HANDLE
-DDKAPI
-EngLoadModuleForWrite(
- /*IN*/ LPWSTR pwsz,
- /*IN*/ ULONG cjSizeOfModule);
-
-WIN32KAPI
-PDD_SURFACE_LOCAL
-DDKAPI
-EngLockDirectDrawSurface(
- /*IN*/ HANDLE hSurface);
-
-WIN32KAPI
-DRIVEROBJ*
-DDKAPI
-EngLockDriverObj(
- /*IN*/ HDRVOBJ hdo);
-
-WIN32KAPI
-SURFOBJ*
-DDKAPI
-EngLockSurface(
- /*IN*/ HSURF hsurf);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngLpkInstalled(
- VOID);
-
-WIN32KAPI
-PEVENT
-DDKAPI
-EngMapEvent(
- /*IN*/ HDEV hDev,
- /*IN*/ HANDLE hUserObject,
- /*IN*/ PVOID Reserved1,
- /*IN*/ PVOID Reserved2,
- /*IN*/ PVOID Reserved3);
-
-WIN32KAPI
-PVOID
-DDKAPI
-EngMapFile(
- /*IN*/ LPWSTR pwsz,
- /*IN*/ ULONG cjSize,
-
- /*OUT*/ ULONG_PTR *piFile);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngMapFontFile(
- ULONG_PTR iFile,
- PULONG *ppjBuf,
- ULONG *pcjBuf);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngMapFontFileFD(
- /*IN*/ ULONG_PTR iFile,
-
- /*OUT*/ PULONG *ppjBuf,
-
- /*OUT*/ ULONG *pcjBuf);
-
-WIN32KAPI
-PVOID
-DDKAPI
-EngMapModule(
- /*IN*/ HANDLE h,
-
- /*OUT*/ PULONG pSize);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngMarkBandingSurface(
- /*IN*/ HSURF hsurf);
-
-/* EngModifySurface.flSurface constants */
-#define MS_NOTSYSTEMMEMORY 0x00000001
-#define MS_SHAREDACCESS 0x00000002
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngModifySurface(
- /*IN*/ HSURF hsurf,
- /*IN*/ HDEV hdev,
- /*IN*/ FLONG flHooks,
- /*IN*/ FLONG flSurface,
- /*IN*/ DHSURF dhsurf,
- /*IN*/ VOID *pvScan0,
- /*IN*/ LONG lDelta,
- /*IN*/ VOID *pvReserved);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngMovePointer(
- /*IN*/ SURFOBJ *pso,
- /*IN*/ LONG x,
- /*IN*/ LONG y,
- /*IN*/ RECTL *prcl);
-
-WIN32KAPI
-int
-DDKAPI
-EngMulDiv(
- /*IN*/ int a,
- /*IN*/ int b,
- /*IN*/ int c);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngMultiByteToUnicodeN(
-
- /*OUT*/ LPWSTR UnicodeString,
- /*IN*/ ULONG MaxBytesInUnicodeString,
-
- /*OUT*/ PULONG BytesInUnicodeString,
- /*IN*/ PCHAR MultiByteString,
- /*IN*/ ULONG BytesInMultiByteString);
-
-WIN32KAPI
-INT
-DDKAPI
-EngMultiByteToWideChar(
- /*IN*/ UINT CodePage,
-
- /*OUT*/ LPWSTR WideCharString,
- /*IN*/ INT BytesInWideCharString,
- /*IN*/ LPSTR MultiByteString,
- /*IN*/ INT BytesInMultiByteString);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngPaint(
- /*IN*/ SURFOBJ *pso,
- /*IN*/ CLIPOBJ *pco,
- /*IN*/ BRUSHOBJ *pbo,
- /*IN*/ POINTL *pptlBrushOrg,
- /*IN*/ MIX mix);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngPlgBlt(
- /*IN*/ SURFOBJ *psoTrg,
- /*IN*/ SURFOBJ *psoSrc,
- /*IN*/ SURFOBJ *psoMsk,
- /*IN*/ CLIPOBJ *pco,
- /*IN*/ XLATEOBJ *pxlo,
- /*IN*/ COLORADJUSTMENT *pca,
- /*IN*/ POINTL *pptlBrushOrg,
- /*IN*/ POINTFIX *pptfx,
- /*IN*/ RECTL *prcl,
- /*IN*/ POINTL *pptl,
- /*IN*/ ULONG iMode);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngProbeForRead(
- /*IN*/ PVOID Address,
- /*IN*/ ULONG Length,
- /*IN*/ ULONG Alignment);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngProbeForReadAndWrite(
- /*IN*/ PVOID Address,
- /*IN*/ ULONG Length,
- /*IN*/ ULONG Alignment);
-
-typedef enum _ENG_DEVICE_ATTRIBUTE {
- QDA_RESERVED = 0,
- QDA_ACCELERATION_LEVEL
-} ENG_DEVICE_ATTRIBUTE;
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngQueryDeviceAttribute(
- /*IN*/ HDEV hdev,
- /*IN*/ ENG_DEVICE_ATTRIBUTE devAttr,
- /*IN*/ VOID *pvIn,
- /*IN*/ ULONG ulInSize,
-
- /*OUT*/ VOID *pvOut,
-
- /*OUT*/ ULONG ulOutSize);
-
-WIN32KAPI
-LARGE_INTEGER
-DDKAPI
-EngQueryFileTimeStamp(
- /*IN*/ LPWSTR pwsz);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngQueryLocalTime(
-
- /*OUT*/ PENG_TIME_FIELDS ptf);
-
-WIN32KAPI
-ULONG
-DDKAPI
-EngQueryPalette(
- /*IN*/ HPALETTE hPal,
-
- /*OUT*/ ULONG *piMode,
- /*IN*/ ULONG cColors,
-
- /*OUT*/ ULONG *pulColors);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngQueryPerformanceCounter(
-
- /*OUT*/ LONGLONG *pPerformanceCount);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngQueryPerformanceFrequency(
-
- /*OUT*/ LONGLONG *pFrequency);
-
-typedef enum _ENG_SYSTEM_ATTRIBUTE {
- EngProcessorFeature = 1,
- EngNumberOfProcessors,
- EngOptimumAvailableUserMemory,
- EngOptimumAvailableSystemMemory,
-} ENG_SYSTEM_ATTRIBUTE;
-
-#define QSA_MMX 0x00000100
-#define QSA_SSE 0x00002000
-#define QSA_3DNOW 0x00004000
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngQuerySystemAttribute(
- /*IN*/ ENG_SYSTEM_ATTRIBUTE CapNum,
-
- /*OUT*/ PDWORD pCapability);
-
-WIN32KAPI
-LONG
-DDKAPI
-EngReadStateEvent(
- /*IN*/ PEVENT pEvent);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngReleaseSemaphore(
- /*IN*/ HSEMAPHORE hsem);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngRestoreFloatingPointState(
- /*IN*/ VOID *pBuffer);
-
-WIN32KAPI
-ULONG
-DDKAPI
-EngSaveFloatingPointState(
-
- /*OUT*/ VOID *pBuffer,
- /*IN*/ ULONG cjBufferSize);
-
-WIN32KAPI
-HANDLE
-DDKAPI
-EngSecureMem(
- /*IN*/ PVOID Address,
- /*IN*/ ULONG Length);
-
-WIN32KAPI
-LONG
-DDKAPI
-EngSetEvent(
- /*IN*/ PEVENT pEvent);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngSetLastError(
- /*IN*/ ULONG iError);
-
-WIN32KAPI
-ULONG
-DDKAPI
-EngSetPointerShape(
- /*IN*/ SURFOBJ *pso,
- /*IN*/ SURFOBJ *psoMask,
- /*IN*/ SURFOBJ *psoColor,
- /*IN*/ XLATEOBJ *pxlo,
- /*IN*/ LONG xHot,
- /*IN*/ LONG yHot,
- /*IN*/ LONG x,
- /*IN*/ LONG y,
- /*IN*/ RECTL *prcl,
- /*IN*/ FLONG fl);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngSetPointerTag(
- /*IN*/ HDEV hdev,
- /*IN*/ SURFOBJ *psoMask,
- /*IN*/ SURFOBJ *psoColor,
- /*IN*/ XLATEOBJ *pxlo,
- /*IN*/ FLONG fl);
-
-WIN32KAPI
-DWORD
-DDKAPI
-EngSetPrinterData(
- /*IN*/ HANDLE hPrinter,
- /*IN*/ LPWSTR pType,
- /*IN*/ DWORD dwType,
- /*IN*/ LPBYTE lpbPrinterData,
- /*IN*/ DWORD cjPrinterData);
-
-typedef int DDKCDECLAPI (*SORTCOMP)(const void *pv1, const void *pv2);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngSort(
- /*IN OUT*/ PBYTE pjBuf,
- /*IN*/ ULONG c,
- /*IN*/ ULONG cjElem,
- /*IN*/ SORTCOMP pfnComp);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngStretchBlt(
- /*IN*/ SURFOBJ *psoDest,
- /*IN*/ SURFOBJ *psoSrc,
- /*IN*/ SURFOBJ *psoMask,
- /*IN*/ CLIPOBJ *pco,
- /*IN*/ XLATEOBJ *pxlo,
- /*IN*/ COLORADJUSTMENT *pca,
- /*IN*/ POINTL *pptlHTOrg,
- /*IN*/ RECTL *prclDest,
- /*IN*/ RECTL *prclSrc,
- /*IN*/ POINTL *pptlMask,
- /*IN*/ ULONG iMode);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngStretchBltROP(
- /*IN*/ SURFOBJ *psoDest,
- /*IN*/ SURFOBJ *psoSrc,
- /*IN*/ SURFOBJ *psoMask,
- /*IN*/ CLIPOBJ *pco,
- /*IN*/ XLATEOBJ *pxlo,
- /*IN*/ COLORADJUSTMENT *pca,
- /*IN*/ POINTL *pptlHTOrg,
- /*IN*/ RECTL *prclDest,
- /*IN*/ RECTL *prclSrc,
- /*IN*/ POINTL *pptlMask,
- /*IN*/ ULONG iMode,
- /*IN*/ BRUSHOBJ *pbo,
- /*IN*/ DWORD rop4);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngStrokeAndFillPath(
- /*IN*/ SURFOBJ *pso,
- /*IN*/ PATHOBJ *ppo,
- /*IN*/ CLIPOBJ *pco,
- /*IN*/ XFORMOBJ *pxo,
- /*IN*/ BRUSHOBJ *pboStroke,
- /*IN*/ LINEATTRS *plineattrs,
- /*IN*/ BRUSHOBJ *pboFill,
- /*IN*/ POINTL *pptlBrushOrg,
- /*IN*/ MIX mixFill,
- /*IN*/ FLONG flOptions);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngStrokePath(
- /*IN*/ SURFOBJ *pso,
- /*IN*/ PATHOBJ *ppo,
- /*IN*/ CLIPOBJ *pco,
- /*IN*/ XFORMOBJ *pxo,
- /*IN*/ BRUSHOBJ *pbo,
- /*IN*/ POINTL *pptlBrushOrg,
- /*IN*/ LINEATTRS *plineattrs,
- /*IN*/ MIX mix);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngTextOut(
- /*IN*/ SURFOBJ *pso,
- /*IN*/ STROBJ *pstro,
- /*IN*/ FONTOBJ *pfo,
- /*IN*/ CLIPOBJ *pco,
- /*IN*/ RECTL *prclExtra,
- /*IN*/ RECTL *prclOpaque,
- /*IN*/ BRUSHOBJ *pboFore,
- /*IN*/ BRUSHOBJ *pboOpaque,
- /*IN*/ POINTL *pptlOrg,
- /*IN*/ MIX mix);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngTransparentBlt(
- /*IN*/ SURFOBJ *psoDst,
- /*IN*/ SURFOBJ *psoSrc,
- /*IN*/ CLIPOBJ *pco,
- /*IN*/ XLATEOBJ *pxlo,
- /*IN*/ RECTL *prclDst,
- /*IN*/ RECTL *prclSrc,
- /*IN*/ ULONG iTransColor,
- /*IN*/ ULONG ulReserved);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngUnicodeToMultiByteN(
-
- /*OUT*/ PCHAR MultiByteString,
- /*IN*/ ULONG MaxBytesInMultiByteString,
-
- /*OUT*/ PULONG BytesInMultiByteString,
- /*IN*/ PWSTR UnicodeString,
- /*IN*/ ULONG BytesInUnicodeString);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngUnloadImage(
- /*IN*/ HANDLE hModule);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngUnlockDirectDrawSurface(
- /*IN*/ PDD_SURFACE_LOCAL pSurface);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngUnlockDriverObj(
- /*IN*/ HDRVOBJ hdo);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngUnlockSurface(
- /*IN*/ SURFOBJ *pso);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngUnmapEvent(
- /*IN*/ PEVENT pEvent);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngUnmapFile(
- /*IN*/ ULONG_PTR iFile);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngUnmapFontFile(
- ULONG_PTR iFile);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngUnmapFontFileFD(
- /*IN*/ ULONG_PTR iFile);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngUnsecureMem(
- /*IN*/ HANDLE hSecure);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngWaitForSingleObject(
- /*IN*/ PEVENT pEvent,
- /*IN*/ PLARGE_INTEGER pTimeOut);
-
-WIN32KAPI
-INT
-DDKAPI
-EngWideCharToMultiByte(
- /*IN*/ UINT CodePage,
- /*IN*/ LPWSTR WideCharString,
- /*IN*/ INT BytesInWideCharString,
-
- /*OUT*/ LPSTR MultiByteString,
- /*IN*/ INT BytesInMultiByteString);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngWritePrinter(
- /*IN*/ HANDLE hPrinter,
- /*IN*/ LPVOID pBuf,
- /*IN*/ DWORD cbBuf,
-
- /*OUT*/ LPDWORD pcWritten);
-
-WIN32KAPI
-VOID
-DDKAPI
-FLOATOBJ_Add(
- /*IN OUT*/ PFLOATOBJ pf,
- /*IN*/ PFLOATOBJ pf1);
-
-WIN32KAPI
-VOID
-DDKAPI
-FLOATOBJ_AddFloat(
- /*IN OUT*/ PFLOATOBJ pf,
- /*IN*/ FLOATL f);
-
-WIN32KAPI
-VOID
-DDKAPI
-FLOATOBJ_AddLong(
- /*IN OUT*/ PFLOATOBJ pf,
- /*IN*/ LONG l);
-
-WIN32KAPI
-VOID
-DDKAPI
-FLOATOBJ_Div(
- /*IN OUT*/ PFLOATOBJ pf,
- /*IN*/ PFLOATOBJ pf1);
-
-WIN32KAPI
-VOID
-DDKAPI
-FLOATOBJ_DivFloat(
- /*IN OUT*/ PFLOATOBJ pf,
- /*IN*/ FLOATL f);
-
-WIN32KAPI
-VOID
-DDKAPI
-FLOATOBJ_DivLong(
- /*IN OUT*/ PFLOATOBJ pf,
- /*IN*/ LONG l);
-
-WIN32KAPI
-BOOL
-DDKAPI
-FLOATOBJ_Equal(
- /*IN*/ PFLOATOBJ pf,
- /*IN*/ PFLOATOBJ pf1);
-
-WIN32KAPI
-BOOL
-DDKAPI
-FLOATOBJ_EqualLong(
- /*IN*/ PFLOATOBJ pf,
- /*IN*/ LONG l);
-
-WIN32KAPI
-LONG
-DDKAPI
-FLOATOBJ_GetFloat(
- /*IN*/ PFLOATOBJ pf);
-
-WIN32KAPI
-LONG
-DDKAPI
-FLOATOBJ_GetLong(
- /*IN*/ PFLOATOBJ pf);
-
-WIN32KAPI
-BOOL
-DDKAPI
-FLOATOBJ_GreaterThan(
- /*IN*/ PFLOATOBJ pf,
- /*IN*/ PFLOATOBJ pf1);
-
-WIN32KAPI
-BOOL
-DDKAPI
-FLOATOBJ_GreaterThanLong(
- /*IN*/ PFLOATOBJ pf,
- /*IN*/ LONG l);
-
-WIN32KAPI
-BOOL
-DDKAPI
-FLOATOBJ_LessThan(
- /*IN*/ PFLOATOBJ pf,
- /*IN*/ PFLOATOBJ pf1);
-
-WIN32KAPI
-BOOL
-DDKAPI
-FLOATOBJ_LessThanLong(
- /*IN*/ PFLOATOBJ pf,
- /*IN*/ LONG l);
-
-WIN32KAPI
-VOID
-DDKAPI
-FLOATOBJ_Mul(
- /*IN OUT*/ PFLOATOBJ pf,
- /*IN*/ PFLOATOBJ pf1);
-
-WIN32KAPI
-VOID
-DDKAPI
-FLOATOBJ_MulFloat(
- /*IN OUT*/ PFLOATOBJ pf,
- /*IN*/ FLOATL f);
-
-WIN32KAPI
-VOID
-DDKAPI
-FLOATOBJ_MulLong(
- /*IN OUT*/ PFLOATOBJ pf,
- /*IN*/ LONG l);
-
-WIN32KAPI
-VOID
-DDKAPI
-FLOATOBJ_Neg(
- /*IN OUT*/ PFLOATOBJ pf);
-
-WIN32KAPI
-VOID
-DDKAPI
-FLOATOBJ_SetFloat(
-
- /*OUT*/ PFLOATOBJ pf,
- /*IN*/ FLOATL f);
-
-WIN32KAPI
-VOID
-DDKAPI
-FLOATOBJ_SetLong(
-
- /*OUT*/ PFLOATOBJ pf,
- /*IN*/ LONG l);
-
-WIN32KAPI
-VOID
-DDKAPI
-FLOATOBJ_Sub(
- /*IN OUT*/ PFLOATOBJ pf,
- /*IN*/ PFLOATOBJ pf1);
-
-WIN32KAPI
-VOID
-DDKAPI
-FLOATOBJ_SubFloat(
- /*IN OUT*/ PFLOATOBJ pf,
- /*IN*/ FLOATL f);
-
-WIN32KAPI
-VOID
-DDKAPI
-FLOATOBJ_SubLong(
- /*IN OUT*/ PFLOATOBJ pf,
- /*IN*/ LONG l);
-
-WIN32KAPI
-ULONG
-DDKAPI
-FONTOBJ_cGetAllGlyphHandles(
- /*IN*/ FONTOBJ *pfo,
-
- /*OUT*/ HGLYPH *phg);
-
-WIN32KAPI
-ULONG
-DDKAPI
-FONTOBJ_cGetGlyphs(
- /*IN*/ FONTOBJ *pfo,
- /*IN*/ ULONG iMode,
- /*IN*/ ULONG cGlyph,
- /*IN*/ HGLYPH *phg,
-
- /*OUT*/ PVOID *ppvGlyph);
-
-WIN32KAPI
-FD_GLYPHSET*
-DDKAPI
-FONTOBJ_pfdg(
- /*IN*/ FONTOBJ *pfo);
-
-WIN32KAPI
-IFIMETRICS*
-DDKAPI
-FONTOBJ_pifi(
- /*IN*/ FONTOBJ *pfo);
-
-WIN32KAPI
-PBYTE
-DDKAPI
-FONTOBJ_pjOpenTypeTablePointer(
- /*IN*/ FONTOBJ *pfo,
- /*IN*/ ULONG ulTag,
-
- /*OUT*/ ULONG *pcjTable);
-
-WIN32KAPI
-PFD_GLYPHATTR
-DDKAPI
-FONTOBJ_pQueryGlyphAttrs(
- /*IN*/ FONTOBJ *pfo,
- /*IN*/ ULONG iMode);
-
-WIN32KAPI
-PVOID
-DDKAPI
-FONTOBJ_pvTrueTypeFontFile(
- /*IN*/ FONTOBJ *pfo,
-
- /*OUT*/ ULONG *pcjFile);
-
-WIN32KAPI
-LPWSTR
-DDKAPI
-FONTOBJ_pwszFontFilePaths(
- /*IN*/ FONTOBJ *pfo,
-
- /*OUT*/ ULONG *pcwc);
-
-WIN32KAPI
-XFORMOBJ*
-DDKAPI
-FONTOBJ_pxoGetXform(
- /*IN*/ FONTOBJ *pfo);
-
-WIN32KAPI
-VOID
-DDKAPI
-FONTOBJ_vGetInfo(
- /*IN*/ FONTOBJ *pfo,
- /*IN*/ ULONG cjSize,
-
- /*OUT*/ FONTINFO *pfi);
-
-WIN32KAPI
-FLATPTR
-DDKAPI
-HeapVidMemAllocAligned(
- /*IN*/ LPVIDMEM lpVidMem,
- /*IN*/ DWORD dwWidth,
- /*IN*/ DWORD dwHeight,
- /*IN*/ LPSURFACEALIGNMENT lpAlignment,
-
- /*OUT*/ LPLONG lpNewPitch);
-
-WIN32KAPI
-LONG
-DDKAPI
-HT_ComputeRGBGammaTable(
- /*IN*/ USHORT GammaTableEntries,
- /*IN*/ USHORT GammaTableType,
- /*IN*/ USHORT RedGamma,
- /*IN*/ USHORT GreenGamma,
- /*IN*/ USHORT BlueGamma,
-
- /*OUT*/ LPBYTE pGammaTable);
-
-WIN32KAPI
-LONG
-DDKAPI
-HT_Get8BPPFormatPalette(
-
- /*OUT*/ LPPALETTEENTRY pPaletteEntry,
- /*IN*/ USHORT RedGamma,
- /*IN*/ USHORT GreenGamma,
- /*IN*/ USHORT BlueGamma);
-
-WIN32KAPI
-LONG
-DDKAPI
-HT_Get8BPPMaskPalette(
- /*IN OUT*/ LPPALETTEENTRY pPaletteEntry,
- /*IN*/ BOOL Use8BPPMaskPal,
- /*IN*/ BYTE CMYMask,
- /*IN*/ USHORT RedGamma,
- /*IN*/ USHORT GreenGamma,
- /*IN*/ USHORT BlueGamma);
-
-WIN32KAPI
-LONG
-DDKAPI
-HTUI_DeviceColorAdjustment(
- /*IN*/ LPSTR pDeviceName,
-
- /*OUT*/ PDEVHTADJDATA pDevHTAdjData);
-
-WIN32KAPI
-ULONG
-DDKAPI
-PALOBJ_cGetColors(
- /*IN*/ PALOBJ *ppalo,
- /*IN*/ ULONG iStart,
- /*IN*/ ULONG cColors,
-
- /*OUT*/ ULONG *pulColors);
-
-WIN32KAPI
-BOOL
-DDKAPI
-PATHOBJ_bCloseFigure(
- /*IN*/ PATHOBJ *ppo);
-
-WIN32KAPI
-BOOL
-DDKAPI
-PATHOBJ_bEnum(
- /*IN*/ PATHOBJ *ppo,
-
- /*OUT*/ PATHDATA *ppd);
-
-WIN32KAPI
-BOOL
-DDKAPI
-PATHOBJ_bEnumClipLines(
- /*IN*/ PATHOBJ *ppo,
- /*IN*/ ULONG cb,
-
- /*OUT*/ CLIPLINE *pcl);
-
-WIN32KAPI
-BOOL
-DDKAPI
-PATHOBJ_bMoveTo(
- /*IN*/ PATHOBJ *ppo,
- /*IN*/ POINTFIX ptfx);
-
-WIN32KAPI
-BOOL
-DDKAPI
-PATHOBJ_bPolyBezierTo(
- /*IN*/ PATHOBJ *ppo,
- /*IN*/ POINTFIX *pptfx,
- /*IN*/ ULONG cptfx);
-
-WIN32KAPI
-BOOL
-DDKAPI
-PATHOBJ_bPolyLineTo(
- /*IN*/ PATHOBJ *ppo,
- /*IN*/ POINTFIX *pptfx,
- /*IN*/ ULONG cptfx);
-
-WIN32KAPI
-VOID
-DDKAPI
-PATHOBJ_vEnumStart(
- /*IN*/ PATHOBJ *ppo);
-
-WIN32KAPI
-VOID
-DDKAPI
-PATHOBJ_vEnumStartClipLines(
- /*IN*/ PATHOBJ *ppo,
- /*IN*/ CLIPOBJ *pco,
- /*IN*/ SURFOBJ *pso,
- /*IN*/ LINEATTRS *pla);
-
-WIN32KAPI
-VOID
-DDKAPI
-PATHOBJ_vGetBounds(
- /*IN*/ PATHOBJ *ppo,
-
- /*OUT*/ PRECTFX prectfx);
-
-WIN32KAPI
-BOOL
-DDKAPI
-STROBJ_bEnum(
- /*IN*/ STROBJ *pstro,
-
- /*OUT*/ ULONG *pc,
-
- /*OUT*/ PGLYPHPOS *ppgpos);
-
-WIN32KAPI
-BOOL
-DDKAPI
-STROBJ_bEnumPositionsOnly(
- /*IN*/ STROBJ *pstro,
-
- /*OUT*/ ULONG *pc,
-
- /*OUT*/ PGLYPHPOS *ppgpos);
-
-WIN32KAPI
-BOOL
-DDKAPI
-STROBJ_bGetAdvanceWidths(
- /*IN*/ STROBJ *pso,
- /*IN*/ ULONG iFirst,
- /*IN*/ ULONG c,
-
- /*OUT*/ POINTQF *pptqD);
-
-WIN32KAPI
-DWORD
-DDKAPI
-STROBJ_dwGetCodePage(
- /*IN*/ STROBJ *pstro);
-
-WIN32KAPI
-FIX
-DDKAPI
-STROBJ_fxBreakExtra(
- /*IN*/ STROBJ *pstro);
-
-WIN32KAPI
-FIX
-DDKAPI
-STROBJ_fxCharacterExtra(
- /*IN*/ STROBJ *pstro);
-
-WIN32KAPI
-VOID
-DDKAPI
-STROBJ_vEnumStart(
- /*IN*/ STROBJ *pstro);
-
-WIN32KAPI
-VOID
-DDKAPI
-VidMemFree(
- /*IN*/ LPVMEMHEAP pvmh,
- /*IN*/ FLATPTR ptr);
-
-WIN32KAPI
-BOOL
-DDKAPI
-WNDOBJ_bEnum(
- /*IN*/ WNDOBJ *pwo,
- /*IN*/ ULONG cj,
-
- /*OUT*/ ULONG *pul);
-
-WIN32KAPI
-ULONG
-DDKAPI
-WNDOBJ_cEnumStart(
- /*IN*/ WNDOBJ *pwo,
- /*IN*/ ULONG iType,
- /*IN*/ ULONG iDirection,
- /*IN*/ ULONG cLimit);
-
-WIN32KAPI
-VOID
-DDKAPI
-WNDOBJ_vSetConsumer(
- /*IN*/ WNDOBJ *pwo,
- /*IN*/ PVOID pvConsumer);
-
-/* XFORMOBJ_bApplyXform.iMode constants */
-#define XF_LTOL 0L
-#define XF_INV_LTOL 1L
-#define XF_LTOFX 2L
-#define XF_INV_FXTOL 3L
-
-WIN32KAPI
-BOOL
-DDKAPI
-XFORMOBJ_bApplyXform(
- /*IN*/ XFORMOBJ *pxo,
- /*IN*/ ULONG iMode,
- /*IN*/ ULONG cPoints,
- /*IN*/ PVOID pvIn,
-
- /*OUT*/ PVOID pvOut);
-
-WIN32KAPI
-ULONG
-DDKAPI
-XFORMOBJ_iGetFloatObjXform(
- /*IN*/ XFORMOBJ *pxo,
-
- /*OUT*/ FLOATOBJ_XFORM *pxfo);
-
-WIN32KAPI
-ULONG
-DDKAPI
-XFORMOBJ_iGetXform(
- /*IN*/ XFORMOBJ *pxo,
-
- /*OUT*/ XFORML *pxform);
-
-/* XLATEOBJ_cGetPalette.iPal constants */
-#define XO_SRCPALETTE 1
-#define XO_DESTPALETTE 2
-#define XO_DESTDCPALETTE 3
-#define XO_SRCBITFIELDS 4
-#define XO_DESTBITFIELDS 5
-
-WIN32KAPI
-ULONG
-DDKAPI
-XLATEOBJ_cGetPalette(
- /*IN*/ XLATEOBJ *pxlo,
- /*IN*/ ULONG iPal,
- /*IN*/ ULONG cPal,
-
- /*OUT*/ ULONG *pPal);
-
-WIN32KAPI
-HANDLE
-DDKAPI
-XLATEOBJ_hGetColorTransform(
- /*IN*/ XLATEOBJ *pxlo);
-
-WIN32KAPI
-ULONG
-DDKAPI
-XLATEOBJ_iXlate(
- /*IN*/ XLATEOBJ *pxlo,
- /*IN*/ ULONG iColor);
-
-WIN32KAPI
-ULONG*
-DDKAPI
-XLATEOBJ_piVector(
- /*IN*/ XLATEOBJ *pxlo);
-
-
-
-/* Graphics Driver Functions */
-
-BOOL
-DDKAPI
-DrvAlphaBlend(
- /*IN*/ SURFOBJ *psoDest,
- /*IN*/ SURFOBJ *psoSrc,
- /*IN*/ CLIPOBJ *pco,
- /*IN*/ XLATEOBJ *pxlo,
- /*IN*/ RECTL *prclDest,
- /*IN*/ RECTL *prclSrc,
- /*IN*/ BLENDOBJ *pBlendObj);
-
-BOOL
-DDKAPI
-DrvAssertMode(
- /*IN*/ DHPDEV dhpdev,
- /*IN*/ BOOL bEnable);
-
-BOOL
-DDKAPI
-DrvBitBlt(
- /*IN*/ SURFOBJ *psoTrg,
- /*IN*/ SURFOBJ *psoSrc,
- /*IN*/ SURFOBJ *psoMask,
- /*IN*/ CLIPOBJ *pco,
- /*IN*/ XLATEOBJ *pxlo,
- /*IN*/ RECTL *prclTrg,
- /*IN*/ POINTL *pptlSrc,
- /*IN*/ POINTL *pptlMask,
- /*IN*/ BRUSHOBJ *pbo,
- /*IN*/ POINTL *pptlBrush,
- /*IN*/ ROP4 rop4);
-
-VOID
-DDKAPI
-DrvCompletePDEV(
- /*IN*/ DHPDEV dhpdev,
- /*IN*/ HDEV hdev);
-
-BOOL
-DDKAPI
-DrvCopyBits(
- /*IN*/ SURFOBJ *psoDest,
- /*IN*/ SURFOBJ *psoSrc,
- /*IN*/ CLIPOBJ *pco,
- /*IN*/ XLATEOBJ *pxlo,
- /*IN*/ RECTL *prclDest,
- /*IN*/ POINTL *pptlSrc);
-
-HBITMAP
-DDKAPI
-DrvCreateDeviceBitmap(
- /*IN*/ DHPDEV dhpdev,
- /*IN*/ SIZEL sizl,
- /*IN*/ ULONG iFormat);
-
-VOID
-DDKAPI
-DrvDeleteDeviceBitmap(
- /*IN*/ DHSURF dhsurf);
-
-HBITMAP
-DDKAPI
-DrvDeriveSurface(
- DD_DIRECTDRAW_GLOBAL *pDirectDraw,
- DD_SURFACE_LOCAL *pSurface);
-
-LONG
-DDKAPI
-DrvDescribePixelFormat(
- /*IN*/ DHPDEV dhpdev,
- /*IN*/ LONG iPixelFormat,
- /*IN*/ ULONG cjpfd,
-
- /*OUT*/ PIXELFORMATDESCRIPTOR *ppfd);
-
-VOID
-DDKAPI
-DrvDestroyFont(
- /*IN*/ FONTOBJ *pfo);
-
-VOID
-DDKAPI
-DrvDisableDriver(
- VOID);
-
-VOID
-DDKAPI
-DrvDisablePDEV(
- /*IN*/ DHPDEV dhpdev);
-
-VOID
-DDKAPI
-DrvDisableSurface(
- /*IN*/ DHPDEV dhpdev);
-
-#define DM_DEFAULT 0x00000001
-#define DM_MONOCHROME 0x00000002
-
-ULONG
-DDKAPI
-DrvDitherColor(
- /*IN*/ DHPDEV dhpdev,
- /*IN*/ ULONG iMode,
- /*IN*/ ULONG rgb,
-
- /*OUT*/ ULONG *pul);
-
-ULONG
-DDKAPI
-DrvDrawEscape(
- /*IN*/ SURFOBJ *pso,
- /*IN*/ ULONG iEsc,
- /*IN*/ CLIPOBJ *pco,
- /*IN*/ RECTL *prcl,
- /*IN*/ ULONG cjIn,
- /*IN*/ PVOID pvIn);
-
-BOOL
-DDKAPI
-DrvEnableDriver(
- /*IN*/ ULONG iEngineVersion,
- /*IN*/ ULONG cj,
-
- /*OUT*/ DRVENABLEDATA *pded);
-
-DHPDEV
-DDKAPI
-DrvEnablePDEV(
- /*IN*/ DEVMODEW *pdm,
- /*IN*/ LPWSTR pwszLogAddress,
- /*IN*/ ULONG cPat,
-
- /*OUT*/ HSURF *phsurfPatterns,
- /*IN*/ ULONG cjCaps,
-
- /*OUT*/ ULONG *pdevcaps,
- /*IN*/ ULONG cjDevInfo,
-
- /*OUT*/ DEVINFO *pdi,
- /*IN*/ HDEV hdev,
- /*IN*/ LPWSTR pwszDeviceName,
- /*IN*/ HANDLE hDriver);
-
-HSURF
-DDKAPI
-DrvEnableSurface(
- /*IN*/ DHPDEV dhpdev);
-
-/* DrvEndDoc.fl constants */
-#define ED_ABORTDOC 0x00000001
-
-BOOL
-DDKAPI
-DrvEndDoc(
- /*IN*/ SURFOBJ *pso,
- /*IN*/ FLONG fl);
-
-ULONG
-DDKAPI
-DrvEscape(
- /*IN*/ SURFOBJ *pso,
- /*IN*/ ULONG iEsc,
- /*IN*/ ULONG cjIn,
- /*IN*/ PVOID pvIn,
- /*IN*/ ULONG cjOut,
-
- /*OUT*/ PVOID pvOut);
-
-BOOL
-DDKAPI
-DrvFillPath(
- /*IN*/ SURFOBJ *pso,
- /*IN*/ PATHOBJ *ppo,
- /*IN*/ CLIPOBJ *pco,
- /*IN*/ BRUSHOBJ *pbo,
- /*IN*/ POINTL *pptlBrushOrg,
- /*IN*/ MIX mix,
- /*IN*/ FLONG flOptions);
-
-ULONG
-DDKAPI
-DrvFontManagement(
- /*IN*/ SURFOBJ *pso,
- /*IN*/ FONTOBJ *pfo,
- /*IN*/ ULONG iMode,
- /*IN*/ ULONG cjIn,
- /*IN*/ PVOID pvIn,
- /*IN*/ ULONG cjOut,
-
- /*OUT*/ PVOID pvOut);
-
-VOID
-DDKAPI
-DrvFree(
- /*IN*/ PVOID pv,
- /*IN*/ ULONG_PTR id);
-
-/* DrvGetGlyphMode return values */
-#define FO_HGLYPHS 0L
-#define FO_GLYPHBITS 1L
-#define FO_PATHOBJ 2L
-
-ULONG
-DDKAPI
-DrvGetGlyphMode(
- /*IN*/ DHPDEV dhpdev,
- /*IN*/ FONTOBJ *pfo);
-
-ULONG
-DDKAPI
-DrvGetModes(
- /*IN*/ HANDLE hDriver,
- /*IN*/ ULONG cjSize,
-
- /*OUT*/ DEVMODEW *pdm);
-
-PVOID
-DDKAPI
-DrvGetTrueTypeFile(
- /*IN*/ ULONG_PTR iFile,
- /*IN*/ ULONG *pcj);
-
-BOOL
-DDKAPI
-DrvGradientFill(
- /*IN*/ SURFOBJ *psoDest,
- /*IN*/ CLIPOBJ *pco,
- /*IN*/ XLATEOBJ *pxlo,
- /*IN*/ TRIVERTEX *pVertex,
- /*IN*/ ULONG nVertex,
- /*IN*/ PVOID pMesh,
- /*IN*/ ULONG nMesh,
- /*IN*/ RECTL *prclExtents,
- /*IN*/ POINTL *pptlDitherOrg,
- /*IN*/ ULONG ulMode);
-
-BOOL
-DDKAPI
-DrvIcmCheckBitmapBits(
- /*IN*/ DHPDEV dhpdev,
- /*IN*/ HANDLE hColorTransform,
- /*IN*/ SURFOBJ *pso,
-
- /*OUT*/ PBYTE paResults);
-
-HANDLE
-DDKAPI
-DrvIcmCreateColorTransform(
- /*IN*/ DHPDEV dhpdev,
- /*IN*/ LPLOGCOLORSPACEW pLogColorSpace,
- /*IN*/ PVOID pvSourceProfile,
- /*IN*/ ULONG cjSourceProfile,
- /*IN*/ PVOID pvDestProfile,
- /*IN*/ ULONG cjDestProfile,
- /*IN*/ PVOID pvTargetProfile,
- /*IN*/ ULONG cjTargetProfile,
- /*IN*/ DWORD dwReserved);
-
-BOOL
-DDKAPI
-DrvIcmDeleteColorTransform(
- /*IN*/ DHPDEV dhpdev,
- /*IN*/ HANDLE hcmXform);
-
-/* DrvIcmSetDeviceGammaRamp.iFormat constants */
-#define IGRF_RGB_256BYTES 0x00000000
-#define IGRF_RGB_256WORDS 0x00000001
-
-BOOL
-DDKAPI
-DrvIcmSetDeviceGammaRamp(
- /*IN*/ DHPDEV dhpdev,
- /*IN*/ ULONG iFormat,
- /*IN*/ LPVOID lpRamp);
-
-BOOL
-DDKAPI
-DrvLineTo(
- SURFOBJ *pso,
- CLIPOBJ *pco,
- BRUSHOBJ *pbo,
- LONG x1,
- LONG y1,
- LONG x2,
- LONG y2,
- RECTL *prclBounds,
- MIX mix);
-
-ULONG_PTR
-DDKAPI
-DrvLoadFontFile(
- ULONG cFiles,
- ULONG_PTR *piFile,
- PVOID *ppvView,
- ULONG *pcjView,
- DESIGNVECTOR *pdv,
- ULONG ulLangID,
- ULONG ulFastCheckSum);
-
-VOID
-DDKAPI
-DrvMovePointer(
- /*IN*/ SURFOBJ *pso,
- /*IN*/ LONG x,
- /*IN*/ LONG y,
- /*IN*/ RECTL *prcl);
-
-BOOL
-DDKAPI
-DrvNextBand(
- /*IN*/ SURFOBJ *pso,
- /*IN*/ POINTL *pptl);
-
-VOID
-DDKAPI
-DrvNotify(
- /*IN*/ SURFOBJ *pso,
- /*IN*/ ULONG iType,
- /*IN*/ PVOID pvData);
-
-BOOL
-DDKAPI
-DrvOffset(
- /*IN*/ SURFOBJ *pso,
- /*IN*/ LONG x,
- /*IN*/ LONG y,
- /*IN*/ FLONG flReserved);
-
-BOOL
-DDKAPI
-DrvPaint(
- /*IN*/ SURFOBJ *pso,
- /*IN*/ CLIPOBJ *pco,
- /*IN*/ BRUSHOBJ *pbo,
- /*IN*/ POINTL *pptlBrushOrg,
- /*IN*/ MIX mix);
-
-BOOL
-DDKAPI
-DrvPlgBlt(
- /*IN*/ SURFOBJ *psoTrg,
- /*IN*/ SURFOBJ *psoSrc,
- /*IN*/ SURFOBJ *psoMsk,
- /*IN*/ CLIPOBJ *pco,
- /*IN*/ XLATEOBJ *pxlo,
- /*IN*/ COLORADJUSTMENT *pca,
- /*IN*/ POINTL *pptlBrushOrg,
- /*IN*/ POINTFIX *pptfx,
- /*IN*/ RECTL *prcl,
- /*IN*/ POINTL *pptl,
- /*IN*/ ULONG iMode);
-
-/* DrvQueryAdvanceWidths.iMode constants */
-#define QAW_GETWIDTHS 0
-#define QAW_GETEASYWIDTHS 1
-
-BOOL
-DDKAPI
-DrvQueryAdvanceWidths(
- /*IN*/ DHPDEV dhpdev,
- /*IN*/ FONTOBJ *pfo,
- /*IN*/ ULONG iMode,
- /*IN*/ HGLYPH *phg,
-
- /*OUT*/ PVOID pvWidths,
- /*IN*/ ULONG cGlyphs);
-
-/* DrvQueryDeviceSupport.iType constants */
-#define QDS_CHECKJPEGFORMAT 0x00000000
-#define QDS_CHECKPNGFORMAT 0x00000001
-
-BOOL
-DDKAPI
-DrvQueryDeviceSupport(
- SURFOBJ *pso,
- XLATEOBJ *pxlo,
- XFORMOBJ *pxo,
- ULONG iType,
- ULONG cjIn,
- PVOID pvIn,
- ULONG cjOut,
- PVOID pvOut);
-
-/* DrvQueryDriverInfo.dwMode constants */
-#define DRVQUERY_USERMODE 0x00000001
-
-BOOL
-DDKAPI
-DrvQueryDriverInfo(
- DWORD dwMode,
- PVOID pBuffer,
- DWORD cbBuf,
- PDWORD pcbNeeded);
-
-PIFIMETRICS
-DDKAPI
-DrvQueryFont(
- /*IN*/ DHPDEV dhpdev,
- /*IN*/ ULONG_PTR iFile,
- /*IN*/ ULONG iFace,
- /*IN*/ ULONG_PTR *pid);
-
-/* DrvQueryFontCaps.pulCaps constants */
-#define QC_OUTLINES 0x00000001
-#define QC_1BIT 0x00000002
-#define QC_4BIT 0x00000004
-
-#define QC_FONTDRIVERCAPS (QC_OUTLINES | QC_1BIT | QC_4BIT)
-
-LONG
-DDKAPI
-DrvQueryFontCaps(
- /*IN*/ ULONG culCaps,
-
- /*OUT*/ ULONG *pulCaps);
-
-/* DrvQueryFontData.iMode constants */
-#define QFD_GLYPHANDBITMAP 1L
-#define QFD_GLYPHANDOUTLINE 2L
-#define QFD_MAXEXTENTS 3L
-#define QFD_TT_GLYPHANDBITMAP 4L
-#define QFD_TT_GRAY1_BITMAP 5L
-#define QFD_TT_GRAY2_BITMAP 6L
-#define QFD_TT_GRAY4_BITMAP 8L
-#define QFD_TT_GRAY8_BITMAP 9L
-
-#define QFD_TT_MONO_BITMAP QFD_TT_GRAY1_BITMAP
-
-LONG
-DDKAPI
-DrvQueryFontData(
- /*IN*/ DHPDEV dhpdev,
- /*IN*/ FONTOBJ *pfo,
- /*IN*/ ULONG iMode,
- /*IN*/ HGLYPH hg,
- /*IN OUT*/ GLYPHDATA *pgd,
- /*IN OUT*/ PVOID pv,
- /*IN*/ ULONG cjSize);
-
-/* DrvQueryFontFile.ulMode constants */
-#define QFF_DESCRIPTION 0x00000001
-#define QFF_NUMFACES 0x00000002
-
-LONG
-DDKAPI
-DrvQueryFontFile(
- /*IN*/ ULONG_PTR iFile,
- /*IN*/ ULONG ulMode,
- /*IN*/ ULONG cjBuf,
- /*IN*/ ULONG *pulBuf);
-
-/* DrvQueryFontTree.iMode constants */
-#define QFT_UNICODE 0L
-#define QFT_LIGATURES 1L
-#define QFT_KERNPAIRS 2L
-#define QFT_GLYPHSET 3L
-
-PVOID
-DDKAPI
-DrvQueryFontTree(
- /*IN*/ DHPDEV dhpdev,
- /*IN*/ ULONG_PTR iFile,
- /*IN*/ ULONG iFace,
- /*IN*/ ULONG iMode,
- /*IN*/ ULONG_PTR *pid);
-
-PFD_GLYPHATTR
-DDKAPI
-DrvQueryGlyphAttrs(
- /*IN*/ FONTOBJ *pfo,
- /*IN*/ ULONG iMode);
-
-ULONG
-DDKAPI
-DrvQueryPerBandInfo(
- /*IN*/ SURFOBJ *pso,
- /*IN OUT*/ PERBANDINFO *pbi);
-
-/* DrvQueryTrueTypeOutline.bMetricsOnly constants */
-#define TTO_METRICS_ONLY 0x00000001
-#define TTO_QUBICS 0x00000002
-#define TTO_UNHINTED 0x00000004
-
-LONG
-DDKAPI
-DrvQueryTrueTypeOutline(
- /*IN*/ DHPDEV dhpdev,
- /*IN*/ FONTOBJ *pfo,
- /*IN*/ HGLYPH hglyph,
- /*IN*/ BOOL bMetricsOnly,
- /*IN*/ GLYPHDATA *pgldt,
- /*IN*/ ULONG cjBuf,
-
- /*OUT*/ TTPOLYGONHEADER *ppoly);
-
-LONG
-DDKAPI
-DrvQueryTrueTypeTable(
- /*IN*/ ULONG_PTR iFile,
- /*IN*/ ULONG ulFont,
- /*IN*/ ULONG ulTag,
- /*IN*/ PTRDIFF dpStart,
- /*IN*/ ULONG cjBuf,
-
- /*OUT*/ BYTE *pjBuf,
-
- /*OUT*/ PBYTE *ppjTable,
-
- /*OUT*/ ULONG *pcjTable);
-
-/* DrvRealizeBrush.iHatch constants */
-#define RB_DITHERCOLOR 0x80000000L
-
-#define HS_DDI_MAX 6
-
-BOOL
-DDKAPI
-DrvRealizeBrush(
- /*IN*/ BRUSHOBJ *pbo,
- /*IN*/ SURFOBJ *psoTarget,
- /*IN*/ SURFOBJ *psoPattern,
- /*IN*/ SURFOBJ *psoMask,
- /*IN*/ XLATEOBJ *pxlo,
- /*IN*/ ULONG iHatch);
-
-/* DrvResetDevice return values */
-#define DRD_SUCCESS 0
-#define DRD_ERROR 1
-
-ULONG
-DDKAPI
-DrvResetDevice(
- /*IN*/ DHPDEV dhpdev,
- /*IN*/ PVOID Reserved);
-
-BOOL
-DDKAPI
-DrvResetPDEV(
- DHPDEV dhpdevOld,
- DHPDEV dhpdevNew);
-
-/* DrvSaveScreenBits.iMode constants */
-#define SS_SAVE 0x00000000
-#define SS_RESTORE 0x00000001
-#define SS_FREE 0x00000002
-
-ULONG_PTR
-DDKAPI
-DrvSaveScreenBits(
- /*IN*/ SURFOBJ *pso,
- /*IN*/ ULONG iMode,
- /*IN*/ ULONG_PTR ident,
- /*IN*/ RECTL *prcl);
-
-BOOL
-DDKAPI
-DrvSendPage(
- /*IN*/ SURFOBJ *pso);
-
-BOOL
-DDKAPI
-DrvSetPalette(
- /*IN*/ DHPDEV dhpdev,
- /*IN*/ PALOBJ *ppalo,
- /*IN*/ FLONG fl,
- /*IN*/ ULONG iStart,
- /*IN*/ ULONG cColors);
-
-BOOL
-DDKAPI
-DrvSetPixelFormat(
- /*IN*/ SURFOBJ *pso,
- /*IN*/ LONG iPixelFormat,
- /*IN*/ HWND hwnd);
-
-/* DrvSetPointerShape return values */
-#define SPS_ERROR 0x00000000
-#define SPS_DECLINE 0x00000001
-#define SPS_ACCEPT_NOEXCLUDE 0x00000002
-#define SPS_ACCEPT_EXCLUDE 0x00000003
-#define SPS_ACCEPT_SYNCHRONOUS 0x00000004
-
-/* DrvSetPointerShape.fl constants */
-#define SPS_CHANGE 0x00000001L
-#define SPS_ASYNCCHANGE 0x00000002L
-#define SPS_ANIMATESTART 0x00000004L
-#define SPS_ANIMATEUPDATE 0x00000008L
-#define SPS_ALPHA 0x00000010L
-#define SPS_LENGTHMASK 0x00000F00L
-#define SPS_FREQMASK 0x000FF000L
-
-ULONG
-DDKAPI
-DrvSetPointerShape(
- /*IN*/ SURFOBJ *pso,
- /*IN*/ SURFOBJ *psoMask,
- /*IN*/ SURFOBJ *psoColor,
- /*IN*/ XLATEOBJ *pxlo,
- /*IN*/ LONG xHot,
- /*IN*/ LONG yHot,
- /*IN*/ LONG x,
- /*IN*/ LONG y,
- /*IN*/ RECTL *prcl,
- /*IN*/ FLONG fl);
-
-BOOL
-DDKAPI
-DrvStartBanding(
- /*IN*/ SURFOBJ *pso,
- /*IN*/ POINTL *pptl);
-
-BOOL
-DDKAPI
-DrvStartDoc(
- /*IN*/ SURFOBJ *pso,
- /*IN*/ LPWSTR pwszDocName,
- /*IN*/ DWORD dwJobId);
-
-BOOL
-DDKAPI
-DrvStartPage(
- /*IN*/ SURFOBJ *pso);
-
-BOOL
-DDKAPI
-DrvStretchBlt(
- /*IN*/ SURFOBJ *psoDest,
- /*IN*/ SURFOBJ *psoSrc,
- /*IN*/ SURFOBJ *psoMask,
- /*IN*/ CLIPOBJ *pco,
- /*IN*/ XLATEOBJ *pxlo,
- /*IN*/ COLORADJUSTMENT *pca,
- /*IN*/ POINTL *pptlHTOrg,
- /*IN*/ RECTL *prclDest,
- /*IN*/ RECTL *prclSrc,
- /*IN*/ POINTL *pptlMask,
- /*IN*/ ULONG iMode);
-
-BOOL
-DDKAPI
-DrvStretchBltROP(
- /*IN*/ SURFOBJ *psoDest,
- /*IN*/ SURFOBJ *psoSrc,
- /*IN*/ SURFOBJ *psoMask,
- /*IN*/ CLIPOBJ *pco,
- /*IN*/ XLATEOBJ *pxlo,
- /*IN*/ COLORADJUSTMENT *pca,
- /*IN*/ POINTL *pptlHTOrg,
- /*IN*/ RECTL *prclDest,
- /*IN*/ RECTL *prclSrc,
- /*IN*/ POINTL *pptlMask,
- /*IN*/ ULONG iMode,
- /*IN*/ BRUSHOBJ *pbo,
- /*IN*/ DWORD rop4);
-
-BOOL
-DDKAPI
-DrvStrokeAndFillPath(
- /*IN*/ SURFOBJ *pso,
- /*IN*/ PATHOBJ *ppo,
- /*IN*/ CLIPOBJ *pco,
- /*IN*/ XFORMOBJ *pxo,
- /*IN*/ BRUSHOBJ *pboStroke,
- /*IN*/ LINEATTRS *plineattrs,
- /*IN*/ BRUSHOBJ *pboFill,
- /*IN*/ POINTL *pptlBrushOrg,
- /*IN*/ MIX mixFill,
- /*IN*/ FLONG flOptions);
-
-BOOL
-DDKAPI
-DrvStrokePath(
- /*IN*/ SURFOBJ *pso,
- /*IN*/ PATHOBJ *ppo,
- /*IN*/ CLIPOBJ *pco,
- /*IN*/ XFORMOBJ *pxo,
- /*IN*/ BRUSHOBJ *pbo,
- /*IN*/ POINTL *pptlBrushOrg,
- /*IN*/ LINEATTRS *plineattrs,
- /*IN*/ MIX mix);
-
-BOOL
-DDKAPI
-DrvSwapBuffers(
- /*IN*/ SURFOBJ *pso,
- /*IN*/ WNDOBJ *pwo);
-
-VOID
-DDKAPI
-DrvSynchronize(
- /*IN*/ DHPDEV dhpdev,
- /*IN*/ RECTL *prcl);
-
-/* DrvSynchronizeSurface.fl constants */
-#define DSS_TIMER_EVENT 0x00000001
-#define DSS_FLUSH_EVENT 0x00000002
-
-VOID
-DDKAPI
-DrvSynchronizeSurface(
- /*IN*/ SURFOBJ *pso,
- /*IN*/ RECTL *prcl,
- /*IN*/ FLONG fl);
-
-BOOL
-DDKAPI
-DrvTextOut(
- /*IN*/ SURFOBJ *pso,
- /*IN*/ STROBJ *pstro,
- /*IN*/ FONTOBJ *pfo,
- /*IN*/ CLIPOBJ *pco,
- /*IN*/ RECTL *prclExtra,
- /*IN*/ RECTL *prclOpaque,
- /*IN*/ BRUSHOBJ *pboFore,
- /*IN*/ BRUSHOBJ *pboOpaque,
- /*IN*/ POINTL *pptlOrg,
- /*IN*/ MIX mix);
-
-BOOL
-DDKAPI
-DrvTransparentBlt(
- /*IN*/ SURFOBJ *psoDst,
- /*IN*/ SURFOBJ *psoSrc,
- /*IN*/ CLIPOBJ *pco,
- /*IN*/ XLATEOBJ *pxlo,
- /*IN*/ RECTL *prclDst,
- /*IN*/ RECTL *prclSrc,
- /*IN*/ ULONG iTransColor,
- /*IN*/ ULONG ulReserved);
-
-BOOL
-DDKAPI
-DrvUnloadFontFile(
- /*IN*/ ULONG_PTR iFile);
-
-/* WNDOBJCHANGEPROC.fl constants */
-#define WOC_RGN_CLIENT_DELTA 0x00000001
-#define WOC_RGN_CLIENT 0x00000002
-#define WOC_RGN_SURFACE_DELTA 0x00000004
-#define WOC_RGN_SURFACE 0x00000008
-#define WOC_CHANGED 0x00000010
-#define WOC_DELETE 0x00000020
-#define WOC_DRAWN 0x00000040
-#define WOC_SPRITE_OVERLAP 0x00000080
-#define WOC_SPRITE_NO_OVERLAP 0x00000100
-
-typedef VOID DDKAPI
-(CALLBACK * WNDOBJCHANGEPROC)(
- WNDOBJ *pwo,
- FLONG fl);
-
-
-typedef BOOL DDKAPI
-(*PFN_DrvAlphaBlend)(
- /*IN*/ SURFOBJ *psoDest,
- /*IN*/ SURFOBJ *psoSrc,
- /*IN*/ CLIPOBJ *pco,
- /*IN*/ XLATEOBJ *pxlo,
- /*IN*/ RECTL *prclDest,
- /*IN*/ RECTL *prclSrc,
- /*IN*/ BLENDOBJ *pBlendObj);
-
-typedef BOOL DDKAPI
-(*PFN_DrvAssertMode)(
- /*IN*/ DHPDEV dhpdev,
- /*IN*/ BOOL bEnable);
-
-typedef BOOL DDKAPI
-(*PFN_DrvBitBlt)(
- /*IN*/ SURFOBJ *psoTrg,
- /*IN*/ SURFOBJ *psoSrc,
- /*IN*/ SURFOBJ *psoMask,
- /*IN*/ CLIPOBJ *pco,
- /*IN*/ XLATEOBJ *pxlo,
- /*IN*/ RECTL *prclTrg,
- /*IN*/ POINTL *pptlSrc,
- /*IN*/ POINTL *pptlMask,
- /*IN*/ BRUSHOBJ *pbo,
- /*IN*/ POINTL *pptlBrush,
- /*IN*/ ROP4 rop4);
-
-typedef VOID DDKAPI
-(*PFN_DrvCompletePDEV)(
- /*IN*/ DHPDEV dhpdev,
- /*IN*/ HDEV hdev);
-
-typedef BOOL DDKAPI
-(*PFN_DrvCopyBits)(
- /*IN*/ SURFOBJ *psoDest,
- /*IN*/ SURFOBJ *psoSrc,
- /*IN*/ CLIPOBJ *pco,
- /*IN*/ XLATEOBJ *pxlo,
- /*IN*/ RECTL *prclDest,
- /*IN*/ POINTL *pptlSrc);
-
-typedef HBITMAP DDKAPI
-(*PFN_DrvCreateDeviceBitmap)(
- /*IN*/ DHPDEV dhpdev,
- /*IN*/ SIZEL sizl,
- /*IN*/ ULONG iFormat);
-
-typedef VOID DDKAPI
-(*PFN_DrvDeleteDeviceBitmap)(
- /*IN*/ DHSURF dhsurf);
-
-typedef HBITMAP DDKAPI
-(*PFN_DrvDeriveSurface)(
- DD_DIRECTDRAW_GLOBAL *pDirectDraw,
- DD_SURFACE_LOCAL *pSurface);
-
-typedef LONG DDKAPI
-(*PFN_DrvDescribePixelFormat)(
- /*IN*/ DHPDEV dhpdev,
- /*IN*/ LONG iPixelFormat,
- /*IN*/ ULONG cjpfd,
-
- /*OUT*/ PIXELFORMATDESCRIPTOR *ppfd);
-
-typedef VOID DDKAPI
-(*PFN_DrvDestroyFont)(
- /*IN*/ FONTOBJ *pfo);
-
-typedef VOID DDKAPI
-(*PFN_DrvDisableDriver)(
- VOID);
-
-typedef VOID DDKAPI
-(*PFN_DrvDisablePDEV)(
- /*IN*/ DHPDEV dhpdev);
-
-typedef VOID DDKAPI
-(*PFN_DrvDisableSurface)(
- /*IN*/ DHPDEV dhpdev);
-
-typedef ULONG DDKAPI
-(*PFN_DrvDitherColor)(
- /*IN*/ DHPDEV dhpdev,
- /*IN*/ ULONG iMode,
- /*IN*/ ULONG rgb,
-
- /*OUT*/ ULONG *pul);
-
-typedef ULONG DDKAPI
-(*PFN_DrvDrawEscape)(
- /*IN*/ SURFOBJ *pso,
- /*IN*/ ULONG iEsc,
- /*IN*/ CLIPOBJ *pco,
- /*IN*/ RECTL *prcl,
- /*IN*/ ULONG cjIn,
- /*IN*/ PVOID pvIn);
-
-typedef BOOL DDKAPI
-(*PFN_DrvEnableDriver)(
- /*IN*/ ULONG iEngineVersion,
- /*IN*/ ULONG cj,
-
- /*OUT*/ DRVENABLEDATA *pded);
-#if 0
-typedef DHPDEV DDKAPI
-(*PFN_DrvEnablePDEV)(
- /*IN*/ DEVMODEW *pdm,
- /*IN*/ LPWSTR pwszLogAddress,
- /*IN*/ ULONG cPat,
-
- /*OUT*/ HSURF *phsurfPatterns,
- /*IN*/ ULONG cjCaps,
-
- /*OUT*/ ULONG *pdevcaps,
- /*IN*/ ULONG cjDevInfo,
-
- /*OUT*/ DEVINFO *pdi,
- /*IN*/ HDEV hdev,
- /*IN*/ LPWSTR pwszDeviceName,
- /*IN*/ HANDLE hDriver);
-#endif
-typedef HSURF DDKAPI
-(*PFN_DrvEnableSurface)(
- /*IN*/ DHPDEV dhpdev);
-
-typedef BOOL DDKAPI
-(*PFN_DrvEndDoc)(
- /*IN*/ SURFOBJ *pso,
- /*IN*/ FLONG fl);
-
-typedef ULONG DDKAPI
-(*PFN_DrvEscape)(
- /*IN*/ SURFOBJ *pso,
- /*IN*/ ULONG iEsc,
- /*IN*/ ULONG cjIn,
- /*IN*/ PVOID pvIn,
- /*IN*/ ULONG cjOut,
-
- /*OUT*/ PVOID pvOut);
-
-typedef BOOL DDKAPI
-(*PFN_DrvFillPath)(
- /*IN*/ SURFOBJ *pso,
- /*IN*/ PATHOBJ *ppo,
- /*IN*/ CLIPOBJ *pco,
- /*IN*/ BRUSHOBJ *pbo,
- /*IN*/ POINTL *pptlBrushOrg,
- /*IN*/ MIX mix,
- /*IN*/ FLONG flOptions);
-
-typedef ULONG DDKAPI
-(*PFN_DrvFontManagement)(
- /*IN*/ SURFOBJ *pso,
- /*IN*/ FONTOBJ *pfo,
- /*IN*/ ULONG iMode,
- /*IN*/ ULONG cjIn,
- /*IN*/ PVOID pvIn,
- /*IN*/ ULONG cjOut,
-
- /*OUT*/ PVOID pvOut);
-
-typedef VOID DDKAPI
-(*PFN_DrvFree)(
- /*IN*/ PVOID pv,
- /*IN*/ ULONG_PTR id);
-
-typedef ULONG DDKAPI
-(*PFN_DrvGetGlyphMode)(
- /*IN*/ DHPDEV dhpdev,
- /*IN*/ FONTOBJ *pfo);
-
-typedef ULONG DDKAPI
-(*PFN_DrvGetModes)(
- /*IN*/ HANDLE hDriver,
- /*IN*/ ULONG cjSize,
-
- /*OUT*/ DEVMODEW *pdm);
-
-typedef PVOID DDKAPI
-(*PFN_DrvGetTrueTypeFile)(
- /*IN*/ ULONG_PTR iFile,
- /*IN*/ ULONG *pcj);
-
-typedef BOOL DDKAPI
-(*PFN_DrvGradientFill)(
- /*IN*/ SURFOBJ *psoDest,
- /*IN*/ CLIPOBJ *pco,
- /*IN*/ XLATEOBJ *pxlo,
- /*IN*/ TRIVERTEX *pVertex,
- /*IN*/ ULONG nVertex,
- /*IN*/ PVOID pMesh,
- /*IN*/ ULONG nMesh,
- /*IN*/ RECTL *prclExtents,
- /*IN*/ POINTL *pptlDitherOrg,
- /*IN*/ ULONG ulMode);
-
-typedef BOOL DDKAPI
-(*PFN_DrvIcmCheckBitmapBits)(
- /*IN*/ DHPDEV dhpdev,
- /*IN*/ HANDLE hColorTransform,
- /*IN*/ SURFOBJ *pso,
-
- /*OUT*/ PBYTE paResults);
-
-typedef HANDLE DDKAPI
-(*PFN_DrvIcmCreateColorTransform)(
- /*IN*/ DHPDEV dhpdev,
- /*IN*/ LPLOGCOLORSPACEW pLogColorSpace,
- /*IN*/ PVOID pvSourceProfile,
- /*IN*/ ULONG cjSourceProfile,
- /*IN*/ PVOID pvDestProfile,
- /*IN*/ ULONG cjDestProfile,
- /*IN*/ PVOID pvTargetProfile,
- /*IN*/ ULONG cjTargetProfile,
- /*IN*/ DWORD dwReserved);
-
-typedef BOOL DDKAPI
-(*PFN_DrvIcmDeleteColorTransform)(
- /*IN*/ DHPDEV dhpdev,
- /*IN*/ HANDLE hcmXform);
-
-typedef BOOL DDKAPI
-(*PFN_DrvIcmSetDeviceGammaRamp)(
- /*IN*/ DHPDEV dhpdev,
- /*IN*/ ULONG iFormat,
- /*IN*/ LPVOID lpRamp);
-
-typedef BOOL DDKAPI
-(*PFN_DrvLineTo)(
- SURFOBJ *pso,
- CLIPOBJ *pco,
- BRUSHOBJ *pbo,
- LONG x1,
- LONG y1,
- LONG x2,
- LONG y2,
- RECTL *prclBounds,
- MIX mix);
-
-typedef ULONG_PTR DDKAPI
-(*PFN_DrvLoadFontFile)(
- ULONG cFiles,
- ULONG_PTR *piFile,
- PVOID *ppvView,
- ULONG *pcjView,
- DESIGNVECTOR *pdv,
- ULONG ulLangID,
- ULONG ulFastCheckSum);
-
-typedef VOID DDKAPI
-(*PFN_DrvMovePointer)(
- /*IN*/ SURFOBJ *pso,
- /*IN*/ LONG x,
- /*IN*/ LONG y,
- /*IN*/ RECTL *prcl);
-
-typedef BOOL DDKAPI
-(*PFN_DrvNextBand)(
- /*IN*/ SURFOBJ *pso,
- /*IN*/ POINTL *pptl);
-
-typedef VOID DDKAPI
-(*PFN_DrvNotify)(
- /*IN*/ SURFOBJ *pso,
- /*IN*/ ULONG iType,
- /*IN*/ PVOID pvData);
-
-typedef BOOL DDKAPI
-(*PFN_DrvOffset)(
- /*IN*/ SURFOBJ *pso,
- /*IN*/ LONG x,
- /*IN*/ LONG y,
- /*IN*/ FLONG flReserved);
-
-typedef BOOL DDKAPI
-(*PFN_DrvPaint)(
- /*IN*/ SURFOBJ *pso,
- /*IN*/ CLIPOBJ *pco,
- /*IN*/ BRUSHOBJ *pbo,
- /*IN*/ POINTL *pptlBrushOrg,
- /*IN*/ MIX mix);
-
-typedef BOOL DDKAPI
-(*PFN_DrvPlgBlt)(
- /*IN*/ SURFOBJ *psoTrg,
- /*IN*/ SURFOBJ *psoSrc,
- /*IN*/ SURFOBJ *psoMsk,
- /*IN*/ CLIPOBJ *pco,
- /*IN*/ XLATEOBJ *pxlo,
- /*IN*/ COLORADJUSTMENT *pca,
- /*IN*/ POINTL *pptlBrushOrg,
- /*IN*/ POINTFIX *pptfx,
- /*IN*/ RECTL *prcl,
- /*IN*/ POINTL *pptl,
- /*IN*/ ULONG iMode);
-
-typedef BOOL DDKAPI
-(*PFN_DrvQueryAdvanceWidths)(
- /*IN*/ DHPDEV dhpdev,
- /*IN*/ FONTOBJ *pfo,
- /*IN*/ ULONG iMode,
- /*IN*/ HGLYPH *phg,
-
- /*OUT*/ PVOID pvWidths,
- /*IN*/ ULONG cGlyphs);
-
-typedef BOOL DDKAPI
-(*PFN_DrvQueryDeviceSupport)(
- SURFOBJ *pso,
- XLATEOBJ *pxlo,
- XFORMOBJ *pxo,
- ULONG iType,
- ULONG cjIn,
- PVOID pvIn,
- ULONG cjOut,
- PVOID pvOut);
-
-typedef BOOL DDKAPI
-(*PFN_DrvQueryDriverInfo)(
- DWORD dwMode,
- PVOID pBuffer,
- DWORD cbBuf,
- PDWORD pcbNeeded);
-
-typedef PIFIMETRICS DDKAPI
-(*PFN_DrvQueryFont)(
- /*IN*/ DHPDEV dhpdev,
- /*IN*/ ULONG_PTR iFile,
- /*IN*/ ULONG iFace,
- /*IN*/ ULONG_PTR *pid);
-
-typedef LONG DDKAPI
-(*PFN_DrvQueryFontCaps)(
- /*IN*/ ULONG culCaps,
-
- /*OUT*/ ULONG *pulCaps);
-
-typedef LONG DDKAPI
-(*PFN_DrvQueryFontData)(
- /*IN*/ DHPDEV dhpdev,
- /*IN*/ FONTOBJ *pfo,
- /*IN*/ ULONG iMode,
- /*IN*/ HGLYPH hg,
- /*IN OUT*/ GLYPHDATA *pgd,
- /*IN OUT*/ PVOID pv,
- /*IN*/ ULONG cjSize);
-
-typedef LONG DDKAPI
-(*PFN_DrvQueryFontFile)(
- /*IN*/ ULONG_PTR iFile,
- /*IN*/ ULONG ulMode,
- /*IN*/ ULONG cjBuf,
- /*IN*/ ULONG *pulBuf);
-
-typedef PVOID DDKAPI
-(*PFN_DrvQueryFontTree)(
- /*IN*/ DHPDEV dhpdev,
- /*IN*/ ULONG_PTR iFile,
- /*IN*/ ULONG iFace,
- /*IN*/ ULONG iMode,
- /*IN*/ ULONG_PTR *pid);
-
-typedef PFD_GLYPHATTR DDKAPI
-(*PFN_DrvQueryGlyphAttrs)(
- /*IN*/ FONTOBJ *pfo,
- /*IN*/ ULONG iMode);
-
-typedef ULONG DDKAPI
-(*PFN_DrvQueryPerBandInfo)(
- /*IN*/ SURFOBJ *pso,
- /*IN OUT*/ PERBANDINFO *pbi);
-
-typedef LONG DDKAPI
-(*PFN_DrvQueryTrueTypeOutline)(
- /*IN*/ DHPDEV dhpdev,
- /*IN*/ FONTOBJ *pfo,
- /*IN*/ HGLYPH hglyph,
- /*IN*/ BOOL bMetricsOnly,
- /*IN*/ GLYPHDATA *pgldt,
- /*IN*/ ULONG cjBuf,
- /*OUT*/ TTPOLYGONHEADER *ppoly);
-
-typedef LONG DDKAPI
-(*PFN_DrvQueryTrueTypeTable)(
- /*IN*/ ULONG_PTR iFile,
- /*IN*/ ULONG ulFont,
- /*IN*/ ULONG ulTag,
- /*IN*/ PTRDIFF dpStart,
- /*IN*/ ULONG cjBuf,
- /*OUT*/ BYTE *pjBuf,
- /*OUT*/ PBYTE *ppjTable,
- /*OUT*/ ULONG *pcjTable);
-
-typedef BOOL DDKAPI
-(*PFN_DrvRealizeBrush)(
- /*IN*/ BRUSHOBJ *pbo,
- /*IN*/ SURFOBJ *psoTarget,
- /*IN*/ SURFOBJ *psoPattern,
- /*IN*/ SURFOBJ *psoMask,
- /*IN*/ XLATEOBJ *pxlo,
- /*IN*/ ULONG iHatch);
-
-typedef ULONG DDKAPI
-(*PFN_DrvResetDevice)(
- /*IN*/ DHPDEV dhpdev,
- /*IN*/ PVOID Reserved);
-
-typedef BOOL DDKAPI
-(*PFN_DrvResetPDEV)(
- DHPDEV dhpdevOld,
- DHPDEV dhpdevNew);
-
-typedef ULONG_PTR DDKAPI
-(*PFN_DrvSaveScreenBits)(
- /*IN*/ SURFOBJ *pso,
- /*IN*/ ULONG iMode,
- /*IN*/ ULONG_PTR ident,
- /*IN*/ RECTL *prcl);
-
-typedef BOOL DDKAPI
-(*PFN_DrvSendPage)(
- /*IN*/ SURFOBJ *pso);
-
-typedef BOOL DDKAPI
-(*PFN_DrvSetPalette)(
- /*IN*/ DHPDEV dhpdev,
- /*IN*/ PALOBJ *ppalo,
- /*IN*/ FLONG fl,
- /*IN*/ ULONG iStart,
- /*IN*/ ULONG cColors);
-
-typedef BOOL DDKAPI
-(*PFN_DrvSetPixelFormat)(
- /*IN*/ SURFOBJ *pso,
- /*IN*/ LONG iPixelFormat,
- /*IN*/ HWND hwnd);
-
-typedef ULONG DDKAPI
-(*PFN_DrvSetPointerShape)(
- /*IN*/ SURFOBJ *pso,
- /*IN*/ SURFOBJ *psoMask,
- /*IN*/ SURFOBJ *psoColor,
- /*IN*/ XLATEOBJ *pxlo,
- /*IN*/ LONG xHot,
- /*IN*/ LONG yHot,
- /*IN*/ LONG x,
- /*IN*/ LONG y,
- /*IN*/ RECTL *prcl,
- /*IN*/ FLONG fl);
-
-typedef BOOL DDKAPI
-(*PFN_DrvStartBanding)(
- /*IN*/ SURFOBJ *pso,
- /*IN*/ POINTL *pptl);
-
-typedef BOOL DDKAPI
-(*PFN_DrvStartDoc)(
- /*IN*/ SURFOBJ *pso,
- /*IN*/ LPWSTR pwszDocName,
- /*IN*/ DWORD dwJobId);
-
-typedef BOOL DDKAPI
-(*PFN_DrvStartPage)(
- /*IN*/ SURFOBJ *pso);
-
-typedef BOOL DDKAPI
-(*PFN_DrvStretchBlt)(
- /*IN*/ SURFOBJ *psoDest,
- /*IN*/ SURFOBJ *psoSrc,
- /*IN*/ SURFOBJ *psoMask,
- /*IN*/ CLIPOBJ *pco,
- /*IN*/ XLATEOBJ *pxlo,
- /*IN*/ COLORADJUSTMENT *pca,
- /*IN*/ POINTL *pptlHTOrg,
- /*IN*/ RECTL *prclDest,
- /*IN*/ RECTL *prclSrc,
- /*IN*/ POINTL *pptlMask,
- /*IN*/ ULONG iMode);
-
-typedef BOOL DDKAPI
-(*PFN_DrvStretchBltROP)(
- /*IN*/ SURFOBJ *psoDest,
- /*IN*/ SURFOBJ *psoSrc,
- /*IN*/ SURFOBJ *psoMask,
- /*IN*/ CLIPOBJ *pco,
- /*IN*/ XLATEOBJ *pxlo,
- /*IN*/ COLORADJUSTMENT *pca,
- /*IN*/ POINTL *pptlHTOrg,
- /*IN*/ RECTL *prclDest,
- /*IN*/ RECTL *prclSrc,
- /*IN*/ POINTL *pptlMask,
- /*IN*/ ULONG iMode,
- /*IN*/ BRUSHOBJ *pbo,
- /*IN*/ DWORD rop4);
-
-typedef BOOL DDKAPI
-(*PFN_DrvStrokeAndFillPath)(
- /*IN*/ SURFOBJ *pso,
- /*IN*/ PATHOBJ *ppo,
- /*IN*/ CLIPOBJ *pco,
- /*IN*/ XFORMOBJ *pxo,
- /*IN*/ BRUSHOBJ *pboStroke,
- /*IN*/ LINEATTRS *plineattrs,
- /*IN*/ BRUSHOBJ *pboFill,
- /*IN*/ POINTL *pptlBrushOrg,
- /*IN*/ MIX mixFill,
- /*IN*/ FLONG flOptions);
-
-typedef BOOL DDKAPI
-(*PFN_DrvStrokePath)(
- /*IN*/ SURFOBJ *pso,
- /*IN*/ PATHOBJ *ppo,
- /*IN*/ CLIPOBJ *pco,
- /*IN*/ XFORMOBJ *pxo,
- /*IN*/ BRUSHOBJ *pbo,
- /*IN*/ POINTL *pptlBrushOrg,
- /*IN*/ LINEATTRS *plineattrs,
- /*IN*/ MIX mix);
-
-typedef BOOL DDKAPI
-(*PFN_DrvSwapBuffers)(
- /*IN*/ SURFOBJ *pso,
- /*IN*/ WNDOBJ *pwo);
-
-typedef VOID DDKAPI
-(*PFN_DrvSynchronize)(
- /*IN*/ DHPDEV dhpdev,
- /*IN*/ RECTL *prcl);
-
-typedef VOID DDKAPI
-(*PFN_DrvSynchronizeSurface)(
- /*IN*/ SURFOBJ *pso,
- /*IN*/ RECTL *prcl,
- /*IN*/ FLONG fl);
-
-typedef BOOL DDKAPI
-(*PFN_DrvTextOut)(
- /*IN*/ SURFOBJ *pso,
- /*IN*/ STROBJ *pstro,
- /*IN*/ FONTOBJ *pfo,
- /*IN*/ CLIPOBJ *pco,
- /*IN*/ RECTL *prclExtra,
- /*IN*/ RECTL *prclOpaque,
- /*IN*/ BRUSHOBJ *pboFore,
- /*IN*/ BRUSHOBJ *pboOpaque,
- /*IN*/ POINTL *pptlOrg,
- /*IN*/ MIX mix);
-
-typedef BOOL DDKAPI
-(*PFN_DrvTransparentBlt)(
- /*IN*/ SURFOBJ *psoDst,
- /*IN*/ SURFOBJ *psoSrc,
- /*IN*/ CLIPOBJ *pco,
- /*IN*/ XLATEOBJ *pxlo,
- /*IN*/ RECTL *prclDst,
- /*IN*/ RECTL *prclSrc,
- /*IN*/ ULONG iTransColor,
- /*IN*/ ULONG ulReserved);
-
-typedef BOOL DDKAPI
-(*PFN_DrvUnloadFontFile)(
- /*IN*/ ULONG_PTR iFile);
-
-
-WIN32KAPI
-VOID
-DDKAPI
-DrvDisableDirectDraw(
- /*IN*/ DHPDEV dhpdev);
-
-WIN32KAPI
-BOOL
-DDKAPI
-DrvEnableDirectDraw(
- /*IN*/ DHPDEV dhpdev,
- /*OUT*/ DD_CALLBACKS *pCallBacks,
- /*OUT*/ DD_SURFACECALLBACKS *pSurfaceCallBacks,
- /*OUT*/ DD_PALETTECALLBACKS *pPaletteCallBacks);
-
-WIN32KAPI
-BOOL
-DDKAPI
-DrvGetDirectDrawInfo(
- /*IN*/ DHPDEV dhpdev,
- /*OUT*/ DD_HALINFO *pHalInfo,
- /*OUT*/ DWORD *pdwNumHeaps,
- /*OUT*/ VIDEOMEMORY *pvmList,
- /*OUT*/ DWORD *pdwNumFourCCCodes,
- /*OUT*/ DWORD *pdwFourCC);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* defined __VIDEO_H */
-
-#endif /* __WINDDI_H */
diff --git a/winsup/w32api/include/ddk/winddk.h b/winsup/w32api/include/ddk/winddk.h
deleted file mode 100644
index 964aeefaf..000000000
--- a/winsup/w32api/include/ddk/winddk.h
+++ /dev/null
@@ -1,9240 +0,0 @@
-/*
- * winddk.h
- *
- * Windows Device Driver Kit
- *
- * 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 __WINDDK_H
-#define __WINDDK_H
-
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*
-** Definitions specific to this Device Driver Kit
-*/
-#define DDKAPI __stdcall
-#define DDKFASTAPI __fastcall
-#define DDKCDECLAPI __cdecl
-
-#if defined(_NTOSKRNL_)
-#ifndef NTOSAPI
-#define NTOSAPI DECL_EXPORT
-#endif
-#define DECLARE_INTERNAL_OBJECT(x) typedef struct _##x; typedef struct _##x *P##x;
-#define DECLARE_INTERNAL_OBJECT2(x,y) typedef struct _##x; typedef struct _##x *P##y;
-#else
-#ifndef NTOSAPI
-#define NTOSAPI DECL_IMPORT
-#endif
-#define DECLARE_INTERNAL_OBJECT(x) struct _##x; typedef struct _##x *P##x;
-#define DECLARE_INTERNAL_OBJECT2(x,y) struct _##x; typedef struct _##x *P##y;
-#endif
-
-/* Pseudo modifiers for parameters
- We don't use these unnecessary defines in the w32api headers. Define
- them by default since that is what people expect, but allow users
- to avoid the pollution. */
-#ifndef _NO_W32_PSEUDO_MODIFIERS
-#define IN
-#define OUT
-#define OPTIONAL
-#define UNALLIGNED
-#endif
-
-#define CONST const
-#define VOLATILE volatile
-
-#define RESTRICTED_POINTER
-#define POINTER_ALIGNMENT
-
-#ifdef NONAMELESSUNION
-# define _DDK_DUMMYUNION_MEMBER(name) DUMMYUNIONNAME.name
-# define _DDK_DUMMYUNION_N_MEMBER(n, name) DUMMYUNIONNAME##n.name
-#else
-# define _DDK_DUMMYUNION_MEMBER(name) name
-# define _DDK_DUMMYUNION_N_MEMBER(n, name) name
-#endif
-
-/*
-** Forward declarations
-*/
-
-struct _IRP;
-struct _MDL;
-struct _KAPC;
-struct _KDPC;
-struct _KPCR;
-struct _KPRCB;
-struct _KTSS;
-struct _FILE_OBJECT;
-struct _DMA_ADAPTER;
-struct _DEVICE_OBJECT;
-struct _DRIVER_OBJECT;
-struct _SECTION_OBJECT;
-struct _IO_STATUS_BLOCK;
-struct _DEVICE_DESCRIPTION;
-struct _SCATTER_GATHER_LIST;
-
-DECLARE_INTERNAL_OBJECT(ADAPTER_OBJECT)
-DECLARE_INTERNAL_OBJECT(DMA_ADAPTER)
-DECLARE_INTERNAL_OBJECT(IO_STATUS_BLOCK)
-DECLARE_INTERNAL_OBJECT(SECTION_OBJECT)
-
-#if 1
-/* FIXME: Unknown definitions */
-struct _SET_PARTITION_INFORMATION_EX;
-typedef ULONG WAIT_TYPE;
-typedef HANDLE TRACEHANDLE;
-typedef PVOID PWMILIB_CONTEXT;
-typedef PVOID PSYSCTL_IRP_DISPOSITION;
-typedef ULONG LOGICAL;
-#endif
-
-/*
-** Routines specific to this DDK
-*/
-
-#define TAG(_a, _b, _c, _d) (ULONG) \
- (((_a) << 0) + ((_b) << 8) + ((_c) << 16) + ((_d) << 24))
-
-#ifdef __GNUC__
-static __inline struct _KPCR * KeGetCurrentKPCR(
- VOID)
-{
- ULONG Value;
-
- __asm__ __volatile__ (
-#if (__GNUC__ >= 3)
- /* support -masm=intel */
- "mov{l} {%%fs:0x18, %0|%0, %%fs:0x18}\n\t"
-#else
- "movl %%fs:0x18, %0\n\t"
-#endif
- : "=r" (Value)
- : /* no inputs */
- );
- return (struct _KPCR *) Value;
-}
-
-#elif defined( __WATCOMC__ )
-
-extern struct _KPCR * KeGetCurrentKPCR( void );
-#pragma aux KeGetCurrentKPCR = \
- "mov eax, fs:[0x18]" \
- value [ eax ];
-
-#endif
-
-/*
-** Simple structures
-*/
-
-typedef LONG KPRIORITY;
-typedef UCHAR KIRQL, *PKIRQL;
-typedef ULONG_PTR KSPIN_LOCK, *PKSPIN_LOCK;
-typedef ULONG_PTR KAFFINITY, *PKAFFINITY;
-typedef CCHAR KPROCESSOR_MODE;
-
-typedef enum _MODE {
- KernelMode,
- UserMode,
- MaximumMode
-} MODE;
-
-
-/* Structures not exposed to drivers */
-typedef struct _IO_TIMER *PIO_TIMER;
-typedef struct _EPROCESS *PEPROCESS;
-typedef struct _ETHREAD *PETHREAD;
-typedef struct _KINTERRUPT *PKINTERRUPT;
-typedef struct _OBJECT_TYPE *POBJECT_TYPE;
-typedef struct _KTHREAD *PKTHREAD, *PRKTHREAD;
-typedef struct _COMPRESSED_DATA_INFO *PCOMPRESSED_DATA_INFO;
-typedef struct _HAL_DISPATCH_TABLE *PHAL_DISPATCH_TABLE;
-typedef struct _HAL_PRIVATE_DISPATCH_TABLE *PHAL_PRIVATE_DISPATCH_TABLE;
-typedef struct _DRIVE_LAYOUT_INFORMATION *PDRIVE_LAYOUT_INFORMATION;
-typedef struct _DRIVE_LAYOUT_INFORMATION_EX *PDRIVE_LAYOUT_INFORMATION_EX;
-
-/* Constants */
-#define MAXIMUM_PROCESSORS 32
-
-#define MAXIMUM_WAIT_OBJECTS 64
-
-#define METHOD_BUFFERED 0
-#define METHOD_IN_DIRECT 1
-#define METHOD_OUT_DIRECT 2
-#define METHOD_NEITHER 3
-
-#define LOW_PRIORITY 0
-#define LOW_REALTIME_PRIORITY 16
-#define HIGH_PRIORITY 31
-#define MAXIMUM_PRIORITY 32
-
-#define FILE_SUPERSEDED 0x00000000
-#define FILE_OPENED 0x00000001
-#define FILE_CREATED 0x00000002
-#define FILE_OVERWRITTEN 0x00000003
-#define FILE_EXISTS 0x00000004
-#define FILE_DOES_NOT_EXIST 0x00000005
-
-/* also in winnt.h */
-#define FILE_LIST_DIRECTORY 0x00000001
-#define FILE_READ_DATA 0x00000001
-#define FILE_ADD_FILE 0x00000002
-#define FILE_WRITE_DATA 0x00000002
-#define FILE_ADD_SUBDIRECTORY 0x00000004
-#define FILE_APPEND_DATA 0x00000004
-#define FILE_CREATE_PIPE_INSTANCE 0x00000004
-#define FILE_READ_EA 0x00000008
-#define FILE_WRITE_EA 0x00000010
-#define FILE_EXECUTE 0x00000020
-#define FILE_TRAVERSE 0x00000020
-#define FILE_DELETE_CHILD 0x00000040
-#define FILE_READ_ATTRIBUTES 0x00000080
-#define FILE_WRITE_ATTRIBUTES 0x00000100
-
-#define FILE_SHARE_READ 0x00000001
-#define FILE_SHARE_WRITE 0x00000002
-#define FILE_SHARE_DELETE 0x00000004
-#define FILE_SHARE_VALID_FLAGS 0x00000007
-
-#define FILE_ATTRIBUTE_READONLY 0x00000001
-#define FILE_ATTRIBUTE_HIDDEN 0x00000002
-#define FILE_ATTRIBUTE_SYSTEM 0x00000004
-#define FILE_ATTRIBUTE_DIRECTORY 0x00000010
-#define FILE_ATTRIBUTE_ARCHIVE 0x00000020
-#define FILE_ATTRIBUTE_DEVICE 0x00000040
-#define FILE_ATTRIBUTE_NORMAL 0x00000080
-#define FILE_ATTRIBUTE_TEMPORARY 0x00000100
-#define FILE_ATTRIBUTE_SPARSE_FILE 0x00000200
-#define FILE_ATTRIBUTE_REPARSE_POINT 0x00000400
-#define FILE_ATTRIBUTE_COMPRESSED 0x00000800
-#define FILE_ATTRIBUTE_OFFLINE 0x00001000
-#define FILE_ATTRIBUTE_NOT_CONTENT_INDEXED 0x00002000
-#define FILE_ATTRIBUTE_ENCRYPTED 0x00004000
-
-#define FILE_ATTRIBUTE_VALID_FLAGS 0x00007fb7
-#define FILE_ATTRIBUTE_VALID_SET_FLAGS 0x000031a7
-
-#define FILE_COPY_STRUCTURED_STORAGE 0x00000041
-#define FILE_STRUCTURED_STORAGE 0x00000441
-
-#define FILE_VALID_OPTION_FLAGS 0x00ffffff
-#define FILE_VALID_PIPE_OPTION_FLAGS 0x00000032
-#define FILE_VALID_MAILSLOT_OPTION_FLAGS 0x00000032
-#define FILE_VALID_SET_FLAGS 0x00000036
-
-#define FILE_SUPERSEDE 0x00000000
-#define FILE_OPEN 0x00000001
-#define FILE_CREATE 0x00000002
-#define FILE_OPEN_IF 0x00000003
-#define FILE_OVERWRITE 0x00000004
-#define FILE_OVERWRITE_IF 0x00000005
-#define FILE_MAXIMUM_DISPOSITION 0x00000005
-
-#define FILE_DIRECTORY_FILE 0x00000001
-#define FILE_WRITE_THROUGH 0x00000002
-#define FILE_SEQUENTIAL_ONLY 0x00000004
-#define FILE_NO_INTERMEDIATE_BUFFERING 0x00000008
-#define FILE_SYNCHRONOUS_IO_ALERT 0x00000010
-#define FILE_SYNCHRONOUS_IO_NONALERT 0x00000020
-#define FILE_NON_DIRECTORY_FILE 0x00000040
-#define FILE_CREATE_TREE_CONNECTION 0x00000080
-#define FILE_COMPLETE_IF_OPLOCKED 0x00000100
-#define FILE_NO_EA_KNOWLEDGE 0x00000200
-#define FILE_OPEN_FOR_RECOVERY 0x00000400
-#define FILE_RANDOM_ACCESS 0x00000800
-#define FILE_DELETE_ON_CLOSE 0x00001000
-#define FILE_OPEN_BY_FILE_ID 0x00002000
-#define FILE_OPEN_FOR_BACKUP_INTENT 0x00004000
-#define FILE_NO_COMPRESSION 0x00008000
-#define FILE_RESERVE_OPFILTER 0x00100000
-#define FILE_OPEN_REPARSE_POINT 0x00200000
-#define FILE_OPEN_NO_RECALL 0x00400000
-#define FILE_OPEN_FOR_FREE_SPACE_QUERY 0x00800000
-
-#define FILE_ANY_ACCESS 0x00000000
-#define FILE_SPECIAL_ACCESS FILE_ANY_ACCESS
-#define FILE_READ_ACCESS 0x00000001
-#define FILE_WRITE_ACCESS 0x00000002
-
-#define FILE_ALL_ACCESS \
- (STANDARD_RIGHTS_REQUIRED | \
- SYNCHRONIZE | \
- 0x1FF)
-
-#define FILE_GENERIC_EXECUTE \
- (STANDARD_RIGHTS_EXECUTE | \
- FILE_READ_ATTRIBUTES | \
- FILE_EXECUTE | \
- SYNCHRONIZE)
-
-#define FILE_GENERIC_READ \
- (STANDARD_RIGHTS_READ | \
- FILE_READ_DATA | \
- FILE_READ_ATTRIBUTES | \
- FILE_READ_EA | \
- SYNCHRONIZE)
-
-#define FILE_GENERIC_WRITE \
- (STANDARD_RIGHTS_WRITE | \
- FILE_WRITE_DATA | \
- FILE_WRITE_ATTRIBUTES | \
- FILE_WRITE_EA | \
- FILE_APPEND_DATA | \
- SYNCHRONIZE)
-/* end winnt.h */
-
-#define DIRECTORY_QUERY (0x0001)
-#define DIRECTORY_TRAVERSE (0x0002)
-#define DIRECTORY_CREATE_OBJECT (0x0004)
-#define DIRECTORY_CREATE_SUBDIRECTORY (0x0008)
-#define DIRECTORY_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | 0xF)
-
-/* Exported object types */
-extern NTOSAPI POBJECT_TYPE ExDesktopObjectType;
-extern NTOSAPI POBJECT_TYPE ExEventObjectType;
-extern NTOSAPI POBJECT_TYPE ExSemaphoreObjectType;
-extern NTOSAPI POBJECT_TYPE ExWindowStationObjectType;
-extern NTOSAPI POBJECT_TYPE IoAdapterObjectType;
-extern NTOSAPI ULONG IoDeviceHandlerObjectSize;
-extern NTOSAPI POBJECT_TYPE IoDeviceHandlerObjectType;
-extern NTOSAPI POBJECT_TYPE IoDeviceObjectType;
-extern NTOSAPI POBJECT_TYPE IoDriverObjectType;
-extern NTOSAPI POBJECT_TYPE IoFileObjectType;
-extern NTOSAPI POBJECT_TYPE LpcPortObjectType;
-extern NTOSAPI POBJECT_TYPE MmSectionObjectType;
-extern NTOSAPI POBJECT_TYPE SeTokenObjectType;
-
-extern NTOSAPI CCHAR KeNumberProcessors;
-extern NTOSAPI PHAL_DISPATCH_TABLE HalDispatchTable;
-extern NTOSAPI PHAL_PRIVATE_DISPATCH_TABLE HalPrivateDispatchTable;
-
-
-/*
-** IRP function codes
-*/
-
-#define IRP_MJ_CREATE 0x00
-#define IRP_MJ_CREATE_NAMED_PIPE 0x01
-#define IRP_MJ_CLOSE 0x02
-#define IRP_MJ_READ 0x03
-#define IRP_MJ_WRITE 0x04
-#define IRP_MJ_QUERY_INFORMATION 0x05
-#define IRP_MJ_SET_INFORMATION 0x06
-#define IRP_MJ_QUERY_EA 0x07
-#define IRP_MJ_SET_EA 0x08
-#define IRP_MJ_FLUSH_BUFFERS 0x09
-#define IRP_MJ_QUERY_VOLUME_INFORMATION 0x0a
-#define IRP_MJ_SET_VOLUME_INFORMATION 0x0b
-#define IRP_MJ_DIRECTORY_CONTROL 0x0c
-#define IRP_MJ_FILE_SYSTEM_CONTROL 0x0d
-#define IRP_MJ_DEVICE_CONTROL 0x0e
-#define IRP_MJ_INTERNAL_DEVICE_CONTROL 0x0f
-#define IRP_MJ_SCSI 0x0f
-#define IRP_MJ_SHUTDOWN 0x10
-#define IRP_MJ_LOCK_CONTROL 0x11
-#define IRP_MJ_CLEANUP 0x12
-#define IRP_MJ_CREATE_MAILSLOT 0x13
-#define IRP_MJ_QUERY_SECURITY 0x14
-#define IRP_MJ_SET_SECURITY 0x15
-#define IRP_MJ_POWER 0x16
-#define IRP_MJ_SYSTEM_CONTROL 0x17
-#define IRP_MJ_DEVICE_CHANGE 0x18
-#define IRP_MJ_QUERY_QUOTA 0x19
-#define IRP_MJ_SET_QUOTA 0x1a
-#define IRP_MJ_PNP 0x1b
-#define IRP_MJ_PNP_POWER 0x1b
-#define IRP_MJ_MAXIMUM_FUNCTION 0x1b
-
-#define IRP_MN_QUERY_DIRECTORY 0x01
-#define IRP_MN_NOTIFY_CHANGE_DIRECTORY 0x02
-
-#define IRP_MN_USER_FS_REQUEST 0x00
-#define IRP_MN_MOUNT_VOLUME 0x01
-#define IRP_MN_VERIFY_VOLUME 0x02
-#define IRP_MN_LOAD_FILE_SYSTEM 0x03
-#define IRP_MN_TRACK_LINK 0x04
-#define IRP_MN_KERNEL_CALL 0x04
-
-#define IRP_MN_LOCK 0x01
-#define IRP_MN_UNLOCK_SINGLE 0x02
-#define IRP_MN_UNLOCK_ALL 0x03
-#define IRP_MN_UNLOCK_ALL_BY_KEY 0x04
-
-#define IRP_MN_NORMAL 0x00
-#define IRP_MN_DPC 0x01
-#define IRP_MN_MDL 0x02
-#define IRP_MN_COMPLETE 0x04
-#define IRP_MN_COMPRESSED 0x08
-
-#define IRP_MN_MDL_DPC (IRP_MN_MDL | IRP_MN_DPC)
-#define IRP_MN_COMPLETE_MDL (IRP_MN_COMPLETE | IRP_MN_MDL)
-#define IRP_MN_COMPLETE_MDL_DPC (IRP_MN_COMPLETE_MDL | IRP_MN_DPC)
-
-#define IRP_MN_SCSI_CLASS 0x01
-
-#define IRP_MN_START_DEVICE 0x00
-#define IRP_MN_QUERY_REMOVE_DEVICE 0x01
-#define IRP_MN_REMOVE_DEVICE 0x02
-#define IRP_MN_CANCEL_REMOVE_DEVICE 0x03
-#define IRP_MN_STOP_DEVICE 0x04
-#define IRP_MN_QUERY_STOP_DEVICE 0x05
-#define IRP_MN_CANCEL_STOP_DEVICE 0x06
-
-#define IRP_MN_QUERY_DEVICE_RELATIONS 0x07
-#define IRP_MN_QUERY_INTERFACE 0x08
-#define IRP_MN_QUERY_CAPABILITIES 0x09
-#define IRP_MN_QUERY_RESOURCES 0x0A
-#define IRP_MN_QUERY_RESOURCE_REQUIREMENTS 0x0B
-#define IRP_MN_QUERY_DEVICE_TEXT 0x0C
-#define IRP_MN_FILTER_RESOURCE_REQUIREMENTS 0x0D
-
-#define IRP_MN_READ_CONFIG 0x0F
-#define IRP_MN_WRITE_CONFIG 0x10
-#define IRP_MN_EJECT 0x11
-#define IRP_MN_SET_LOCK 0x12
-#define IRP_MN_QUERY_ID 0x13
-#define IRP_MN_QUERY_PNP_DEVICE_STATE 0x14
-#define IRP_MN_QUERY_BUS_INFORMATION 0x15
-#define IRP_MN_DEVICE_USAGE_NOTIFICATION 0x16
-#define IRP_MN_SURPRISE_REMOVAL 0x17
-#define IRP_MN_QUERY_LEGACY_BUS_INFORMATION 0x18
-
-#define IRP_MN_WAIT_WAKE 0x00
-#define IRP_MN_POWER_SEQUENCE 0x01
-#define IRP_MN_SET_POWER 0x02
-#define IRP_MN_QUERY_POWER 0x03
-
-#define IRP_MN_QUERY_ALL_DATA 0x00
-#define IRP_MN_QUERY_SINGLE_INSTANCE 0x01
-#define IRP_MN_CHANGE_SINGLE_INSTANCE 0x02
-#define IRP_MN_CHANGE_SINGLE_ITEM 0x03
-#define IRP_MN_ENABLE_EVENTS 0x04
-#define IRP_MN_DISABLE_EVENTS 0x05
-#define IRP_MN_ENABLE_COLLECTION 0x06
-#define IRP_MN_DISABLE_COLLECTION 0x07
-#define IRP_MN_REGINFO 0x08
-#define IRP_MN_EXECUTE_METHOD 0x09
-
-#define IRP_MN_REGINFO_EX 0x0b
-
-typedef enum _IO_ALLOCATION_ACTION {
- KeepObject = 1,
- DeallocateObject,
- DeallocateObjectKeepRegisters
-} IO_ALLOCATION_ACTION, *PIO_ALLOCATION_ACTION;
-
-typedef IO_ALLOCATION_ACTION
-(DDKAPI *PDRIVER_CONTROL)(
- /*IN*/ struct _DEVICE_OBJECT *DeviceObject,
- /*IN*/ struct _IRP *Irp,
- /*IN*/ PVOID MapRegisterBase,
- /*IN*/ PVOID Context);
-
-typedef VOID
-(DDKAPI *PDRIVER_LIST_CONTROL)(
- /*IN*/ struct _DEVICE_OBJECT *DeviceObject,
- /*IN*/ struct _IRP *Irp,
- /*IN*/ struct _SCATTER_GATHER_LIST *ScatterGather,
- /*IN*/ PVOID Context);
-
-typedef NTSTATUS
-(DDKAPI *PDRIVER_ADD_DEVICE)(
- /*IN*/ struct _DRIVER_OBJECT *DriverObject,
- /*IN*/ struct _DEVICE_OBJECT *PhysicalDeviceObject);
-
-typedef NTSTATUS
-(DDKAPI *PIO_COMPLETION_ROUTINE)(
- /*IN*/ struct _DEVICE_OBJECT *DeviceObject,
- /*IN*/ struct _IRP *Irp,
- /*IN*/ PVOID Context);
-
-typedef VOID
-(DDKAPI *PDRIVER_CANCEL)(
- /*IN*/ struct _DEVICE_OBJECT *DeviceObject,
- /*IN*/ struct _IRP *Irp);
-
-typedef VOID
-(DDKAPI *PKDEFERRED_ROUTINE)(
- /*IN*/ struct _KDPC *Dpc,
- /*IN*/ PVOID DeferredContext,
- /*IN*/ PVOID SystemArgument1,
- /*IN*/ PVOID SystemArgument2);
-
-typedef NTSTATUS
-(DDKAPI *PDRIVER_DISPATCH)(
- /*IN*/ struct _DEVICE_OBJECT *DeviceObject,
- /*IN*/ struct _IRP *Irp);
-
-typedef VOID
-(DDKAPI *PIO_DPC_ROUTINE)(
- /*IN*/ struct _KDPC *Dpc,
- /*IN*/ struct _DEVICE_OBJECT *DeviceObject,
- /*IN*/ struct _IRP *Irp,
- /*IN*/ PVOID Context);
-
-typedef NTSTATUS
-(DDKAPI *PMM_DLL_INITIALIZE)(
- /*IN*/ PUNICODE_STRING RegistryPath);
-
-typedef NTSTATUS
-(DDKAPI *PMM_DLL_UNLOAD)(
- VOID);
-
-typedef NTSTATUS
-(DDKAPI *PDRIVER_ENTRY)(
- /*IN*/ struct _DRIVER_OBJECT *DriverObject,
- /*IN*/ PUNICODE_STRING RegistryPath);
-
-typedef NTSTATUS
-(DDKAPI *PDRIVER_INITIALIZE)(
- /*IN*/ struct _DRIVER_OBJECT *DriverObject,
- /*IN*/ PUNICODE_STRING RegistryPath);
-
-typedef BOOLEAN
-(DDKAPI *PKSERVICE_ROUTINE)(
- /*IN*/ struct _KINTERRUPT *Interrupt,
- /*IN*/ PVOID ServiceContext);
-
-typedef VOID
-(DDKAPI *PIO_TIMER_ROUTINE)(
- /*IN*/ struct _DEVICE_OBJECT *DeviceObject,
- /*IN*/ PVOID Context);
-
-typedef VOID
-(DDKAPI *PDRIVER_REINITIALIZE)(
- /*IN*/ struct _DRIVER_OBJECT *DriverObject,
- /*IN*/ PVOID Context,
- /*IN*/ ULONG Count);
-
-typedef NTSTATUS
-(DDKAPI *PDRIVER_STARTIO)(
- /*IN*/ struct _DEVICE_OBJECT *DeviceObject,
- /*IN*/ struct _IRP *Irp);
-
-typedef BOOLEAN
-(DDKAPI *PKSYNCHRONIZE_ROUTINE)(
- /*IN*/ PVOID SynchronizeContext);
-
-typedef VOID
-(DDKAPI *PDRIVER_UNLOAD)(
- /*IN*/ struct _DRIVER_OBJECT *DriverObject);
-
-
-
-/*
-** Plug and Play structures
-*/
-
-typedef VOID DDKAPI
-(*PINTERFACE_REFERENCE)(
- PVOID Context);
-
-typedef VOID DDKAPI
-(*PINTERFACE_DEREFERENCE)(
- PVOID Context);
-
-typedef BOOLEAN DDKAPI
-(*PTRANSLATE_BUS_ADDRESS)(
- /*IN*/ PVOID Context,
- /*IN*/ PHYSICAL_ADDRESS BusAddress,
- /*IN*/ ULONG Length,
- /*IN OUT*/ PULONG AddressSpace,
- /*OUT*/ PPHYSICAL_ADDRESS TranslatedAddress);
-
-typedef struct _DMA_ADAPTER* DDKAPI
-(*PGET_DMA_ADAPTER)(
- /*IN*/ PVOID Context,
- /*IN*/ struct _DEVICE_DESCRIPTION *DeviceDescriptor,
- /*OUT*/ PULONG NumberOfMapRegisters);
-
-typedef ULONG DDKAPI
-(*PGET_SET_DEVICE_DATA)(
- /*IN*/ PVOID Context,
- /*IN*/ ULONG DataType,
- /*IN*/ PVOID Buffer,
- /*IN*/ ULONG Offset,
- /*IN*/ ULONG Length);
-
-typedef union _POWER_STATE {
- SYSTEM_POWER_STATE SystemState;
- DEVICE_POWER_STATE DeviceState;
-} POWER_STATE, *PPOWER_STATE;
-
-typedef enum _POWER_STATE_TYPE {
- SystemPowerState,
- DevicePowerState
-} POWER_STATE_TYPE, *PPOWER_STATE_TYPE;
-
-typedef struct _BUS_INTERFACE_STANDARD {
- USHORT Size;
- USHORT Version;
- PVOID Context;
- PINTERFACE_REFERENCE InterfaceReference;
- PINTERFACE_DEREFERENCE InterfaceDereference;
- PTRANSLATE_BUS_ADDRESS TranslateBusAddress;
- PGET_DMA_ADAPTER GetDmaAdapter;
- PGET_SET_DEVICE_DATA SetBusData;
- PGET_SET_DEVICE_DATA GetBusData;
-} BUS_INTERFACE_STANDARD, *PBUS_INTERFACE_STANDARD;
-
-typedef struct _DEVICE_CAPABILITIES {
- USHORT Size;
- USHORT Version;
- ULONG DeviceD1 : 1;
- ULONG DeviceD2 : 1;
- ULONG LockSupported : 1;
- ULONG EjectSupported : 1;
- ULONG Removable : 1;
- ULONG DockDevice : 1;
- ULONG UniqueID : 1;
- ULONG SilentInstall : 1;
- ULONG RawDeviceOK : 1;
- ULONG SurpriseRemovalOK : 1;
- ULONG WakeFromD0 : 1;
- ULONG WakeFromD1 : 1;
- ULONG WakeFromD2 : 1;
- ULONG WakeFromD3 : 1;
- ULONG HardwareDisabled : 1;
- ULONG NonDynamic : 1;
- ULONG WarmEjectSupported : 1;
- ULONG NoDisplayInUI : 1;
- ULONG Reserved : 14;
- ULONG Address;
- ULONG UINumber;
- DEVICE_POWER_STATE DeviceState[PowerSystemMaximum];
- SYSTEM_POWER_STATE SystemWake;
- DEVICE_POWER_STATE DeviceWake;
- ULONG D1Latency;
- ULONG D2Latency;
- ULONG D3Latency;
-} DEVICE_CAPABILITIES, *PDEVICE_CAPABILITIES;
-
-typedef struct _DEVICE_INTERFACE_CHANGE_NOTIFICATION {
- USHORT Version;
- USHORT Size;
- GUID Event;
- GUID InterfaceClassGuid;
- PUNICODE_STRING SymbolicLinkName;
-} DEVICE_INTERFACE_CHANGE_NOTIFICATION, *PDEVICE_INTERFACE_CHANGE_NOTIFICATION;
-
-typedef struct _HWPROFILE_CHANGE_NOTIFICATION {
- USHORT Version;
- USHORT Size;
- GUID Event;
-} HWPROFILE_CHANGE_NOTIFICATION, *PHWPROFILE_CHANGE_NOTIFICATION;
-
-#undef INTERFACE
-
-typedef struct _INTERFACE {
- USHORT Size;
- USHORT Version;
- PVOID Context;
- PINTERFACE_REFERENCE InterfaceReference;
- PINTERFACE_DEREFERENCE InterfaceDereference;
-} INTERFACE, *PINTERFACE;
-
-typedef struct _PLUGPLAY_NOTIFICATION_HEADER {
- USHORT Version;
- USHORT Size;
- GUID Event;
-} PLUGPLAY_NOTIFICATION_HEADER, *PPLUGPLAY_NOTIFICATION_HEADER;
-
-typedef ULONG PNP_DEVICE_STATE, *PPNP_DEVICE_STATE;
-
-/* PNP_DEVICE_STATE */
-
-#define PNP_DEVICE_DISABLED 0x00000001
-#define PNP_DEVICE_DONT_DISPLAY_IN_UI 0x00000002
-#define PNP_DEVICE_FAILED 0x00000004
-#define PNP_DEVICE_REMOVED 0x00000008
-#define PNP_DEVICE_RESOURCE_REQUIREMENTS_CHANGED 0x00000010
-#define PNP_DEVICE_NOT_DISABLEABLE 0x00000020
-
-typedef struct _TARGET_DEVICE_CUSTOM_NOTIFICATION {
- USHORT Version;
- USHORT Size;
- GUID Event;
- struct _FILE_OBJECT *FileObject;
- LONG NameBufferOffset;
- UCHAR CustomDataBuffer[1];
-} TARGET_DEVICE_CUSTOM_NOTIFICATION, *PTARGET_DEVICE_CUSTOM_NOTIFICATION;
-
-typedef struct _TARGET_DEVICE_REMOVAL_NOTIFICATION {
- USHORT Version;
- USHORT Size;
- GUID Event;
- struct _FILE_OBJECT *FileObject;
-} TARGET_DEVICE_REMOVAL_NOTIFICATION, *PTARGET_DEVICE_REMOVAL_NOTIFICATION;
-
-typedef enum _BUS_QUERY_ID_TYPE {
- BusQueryDeviceID,
- BusQueryHardwareIDs,
- BusQueryCompatibleIDs,
- BusQueryInstanceID,
- BusQueryDeviceSerialNumber
-} BUS_QUERY_ID_TYPE, *PBUS_QUERY_ID_TYPE;
-
-typedef enum _DEVICE_TEXT_TYPE {
- DeviceTextDescription,
- DeviceTextLocationInformation
-} DEVICE_TEXT_TYPE, *PDEVICE_TEXT_TYPE;
-
-typedef enum _DEVICE_USAGE_NOTIFICATION_TYPE {
- DeviceUsageTypeUndefined,
- DeviceUsageTypePaging,
- DeviceUsageTypeHibernation,
- DeviceUsageTypeDumpFile
-} DEVICE_USAGE_NOTIFICATION_TYPE;
-
-typedef struct _POWER_SEQUENCE {
- ULONG SequenceD1;
- ULONG SequenceD2;
- ULONG SequenceD3;
-} POWER_SEQUENCE, *PPOWER_SEQUENCE;
-
-typedef enum {
- DevicePropertyDeviceDescription,
- DevicePropertyHardwareID,
- DevicePropertyCompatibleIDs,
- DevicePropertyBootConfiguration,
- DevicePropertyBootConfigurationTranslated,
- DevicePropertyClassName,
- DevicePropertyClassGuid,
- DevicePropertyDriverKeyName,
- DevicePropertyManufacturer,
- DevicePropertyFriendlyName,
- DevicePropertyLocationInformation,
- DevicePropertyPhysicalDeviceObjectName,
- DevicePropertyBusTypeGuid,
- DevicePropertyLegacyBusType,
- DevicePropertyBusNumber,
- DevicePropertyEnumeratorName,
- DevicePropertyAddress,
- DevicePropertyUINumber,
- DevicePropertyInstallState,
- DevicePropertyRemovalPolicy
-} DEVICE_REGISTRY_PROPERTY;
-
-typedef enum _IO_NOTIFICATION_EVENT_CATEGORY {
- EventCategoryReserved,
- EventCategoryHardwareProfileChange,
- EventCategoryDeviceInterfaceChange,
- EventCategoryTargetDeviceChange
-} IO_NOTIFICATION_EVENT_CATEGORY;
-
-#define PNPNOTIFY_DEVICE_INTERFACE_INCLUDE_EXISTING_INTERFACES 0x00000001
-
-typedef NTSTATUS DDKAPI
-(*PDRIVER_NOTIFICATION_CALLBACK_ROUTINE)(
- /*IN*/ PVOID NotificationStructure,
- /*IN*/ PVOID Context);
-
-typedef VOID DDKAPI
-(*PDEVICE_CHANGE_COMPLETE_CALLBACK)(
- /*IN*/ PVOID Context);
-
-
-
-/*
-** System structures
-*/
-
-#define SYMBOLIC_LINK_QUERY 0x0001
-#define SYMBOLIC_LINK_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | 0x1)
-
-/* also in winnt,h */
-#define DUPLICATE_CLOSE_SOURCE 0x00000001
-#define DUPLICATE_SAME_ACCESS 0x00000002
-#define DUPLICATE_SAME_ATTRIBUTES 0x00000004
-/* end winnt.h */
-
-typedef struct _OBJECT_NAME_INFORMATION {
- UNICODE_STRING Name;
-} OBJECT_NAME_INFORMATION, *POBJECT_NAME_INFORMATION;
-
-typedef VOID DDKAPI
-(*PIO_APC_ROUTINE)(
- /*IN*/ PVOID ApcContext,
- /*IN*/ PIO_STATUS_BLOCK IoStatusBlock,
- /*IN*/ ULONG Reserved);
-
-typedef struct _IO_STATUS_BLOCK {
- _ANONYMOUS_UNION union {
- NTSTATUS Status;
- PVOID Pointer;
- } DUMMYUNIONNAME;
- ULONG_PTR Information;
-} IO_STATUS_BLOCK;
-
-typedef VOID DDKAPI
-(*PKNORMAL_ROUTINE)(
- /*IN*/ PVOID NormalContext,
- /*IN*/ PVOID SystemArgument1,
- /*IN*/ PVOID SystemArgument2);
-
-typedef VOID DDKAPI
-(*PKKERNEL_ROUTINE)(
- /*IN*/ struct _KAPC *Apc,
- /*IN OUT*/ PKNORMAL_ROUTINE *NormalRoutine,
- /*IN OUT*/ PVOID *NormalContext,
- /*IN OUT*/ PVOID *SystemArgument1,
- /*IN OUT*/ PVOID *SystemArgument2);
-
-typedef VOID DDKAPI
-(*PKRUNDOWN_ROUTINE)(
- /*IN*/ struct _KAPC *Apc);
-
-typedef BOOLEAN DDKAPI
-(*PKTRANSFER_ROUTINE)(
- VOID);
-
-typedef struct _KAPC {
- CSHORT Type;
- CSHORT Size;
- ULONG Spare0;
- struct _KTHREAD *Thread;
- LIST_ENTRY ApcListEntry;
- PKKERNEL_ROUTINE KernelRoutine;
- PKRUNDOWN_ROUTINE RundownRoutine;
- PKNORMAL_ROUTINE NormalRoutine;
- PVOID NormalContext;
- PVOID SystemArgument1;
- PVOID SystemArgument2;
- CCHAR ApcStateIndex;
- KPROCESSOR_MODE ApcMode;
- BOOLEAN Inserted;
-} KAPC, *PKAPC, *RESTRICTED_POINTER PRKAPC;
-
-typedef struct _KDEVICE_QUEUE {
- CSHORT Type;
- CSHORT Size;
- LIST_ENTRY DeviceListHead;
- KSPIN_LOCK Lock;
- BOOLEAN Busy;
-} KDEVICE_QUEUE, *PKDEVICE_QUEUE, *RESTRICTED_POINTER PRKDEVICE_QUEUE;
-
-typedef struct _KDEVICE_QUEUE_ENTRY {
- LIST_ENTRY DeviceListEntry;
- ULONG SortKey;
- BOOLEAN Inserted;
-} KDEVICE_QUEUE_ENTRY, *PKDEVICE_QUEUE_ENTRY,
-*RESTRICTED_POINTER PRKDEVICE_QUEUE_ENTRY;
-
-#define LOCK_QUEUE_WAIT 1
-#define LOCK_QUEUE_OWNER 2
-
-typedef enum _KSPIN_LOCK_QUEUE_NUMBER {
- LockQueueDispatcherLock,
- LockQueueContextSwapLock,
- LockQueuePfnLock,
- LockQueueSystemSpaceLock,
- LockQueueVacbLock,
- LockQueueMasterLock,
- LockQueueNonPagedPoolLock,
- LockQueueIoCancelLock,
- LockQueueWorkQueueLock,
- LockQueueIoVpbLock,
- LockQueueIoDatabaseLock,
- LockQueueIoCompletionLock,
- LockQueueNtfsStructLock,
- LockQueueAfdWorkQueueLock,
- LockQueueBcbLock,
- LockQueueMaximumLock
-} KSPIN_LOCK_QUEUE_NUMBER, *PKSPIN_LOCK_QUEUE_NUMBER;
-
-typedef struct _KSPIN_LOCK_QUEUE {
- struct _KSPIN_LOCK_QUEUE *VOLATILE Next;
- PKSPIN_LOCK VOLATILE Lock;
-} KSPIN_LOCK_QUEUE, *PKSPIN_LOCK_QUEUE;
-
-typedef struct _KLOCK_QUEUE_HANDLE {
- KSPIN_LOCK_QUEUE LockQueue;
- KIRQL OldIrql;
-} KLOCK_QUEUE_HANDLE, *PKLOCK_QUEUE_HANDLE;
-
-typedef struct _KDPC {
- CSHORT Type;
- UCHAR Number;
- UCHAR Importance;
- LIST_ENTRY DpcListEntry;
- PKDEFERRED_ROUTINE DeferredRoutine;
- PVOID DeferredContext;
- PVOID SystemArgument1;
- PVOID SystemArgument2;
- PULONG_PTR Lock;
-} KDPC, *PKDPC, *RESTRICTED_POINTER PRKDPC;
-
-typedef struct _WAIT_CONTEXT_BLOCK {
- KDEVICE_QUEUE_ENTRY WaitQueueEntry;
- struct _DRIVER_CONTROL *DeviceRoutine;
- PVOID DeviceContext;
- ULONG NumberOfMapRegisters;
- PVOID DeviceObject;
- PVOID CurrentIrp;
- PKDPC BufferChainingDpc;
-} WAIT_CONTEXT_BLOCK, *PWAIT_CONTEXT_BLOCK;
-
-typedef struct _DISPATCHER_HEADER {
- UCHAR Type;
- UCHAR Absolute;
- UCHAR Size;
- UCHAR Inserted;
- LONG SignalState;
- LIST_ENTRY WaitListHead;
-} DISPATCHER_HEADER, *PDISPATCHER_HEADER;
-
-typedef struct _KEVENT {
- DISPATCHER_HEADER Header;
-} KEVENT, *PKEVENT, *RESTRICTED_POINTER PRKEVENT;
-
-typedef struct _KSEMAPHORE {
- DISPATCHER_HEADER Header;
- LONG Limit;
-} KSEMAPHORE, *PKSEMAPHORE, *RESTRICTED_POINTER PRKSEMAPHORE;
-
-typedef struct _FAST_MUTEX {
- LONG Count;
- struct _KTHREAD *Owner;
- ULONG Contention;
- KEVENT Event;
- ULONG OldIrql;
-} FAST_MUTEX, *PFAST_MUTEX;
-
-typedef struct _KTIMER {
- DISPATCHER_HEADER Header;
- ULARGE_INTEGER DueTime;
- LIST_ENTRY TimerListEntry;
- struct _KDPC *Dpc;
- LONG Period;
-} KTIMER, *PKTIMER, *RESTRICTED_POINTER PRKTIMER;
-
-typedef struct _KMUTANT {
- DISPATCHER_HEADER Header;
- LIST_ENTRY MutantListEntry;
- struct _KTHREAD *RESTRICTED_POINTER OwnerThread;
- BOOLEAN Abandoned;
- UCHAR ApcDisable;
-} KMUTANT, *PKMUTANT, *RESTRICTED_POINTER PRKMUTANT, KMUTEX, *PKMUTEX, *RESTRICTED_POINTER PRKMUTEX;
-
-typedef enum _TIMER_TYPE {
- NotificationTimer,
- SynchronizationTimer
-} TIMER_TYPE;
-
-#define EVENT_INCREMENT 1
-#define IO_NO_INCREMENT 0
-#define IO_CD_ROM_INCREMENT 1
-#define IO_DISK_INCREMENT 1
-#define IO_KEYBOARD_INCREMENT 6
-#define IO_MAILSLOT_INCREMENT 2
-#define IO_MOUSE_INCREMENT 6
-#define IO_NAMED_PIPE_INCREMENT 2
-#define IO_NETWORK_INCREMENT 2
-#define IO_PARALLEL_INCREMENT 1
-#define IO_SERIAL_INCREMENT 2
-#define IO_SOUND_INCREMENT 8
-#define IO_VIDEO_INCREMENT 1
-#define SEMAPHORE_INCREMENT 1
-
-typedef struct _IRP {
- CSHORT Type;
- USHORT Size;
- struct _MDL *MdlAddress;
- ULONG Flags;
- union {
- struct _IRP *MasterIrp;
- LONG IrpCount;
- PVOID SystemBuffer;
- } AssociatedIrp;
- LIST_ENTRY ThreadListEntry;
- IO_STATUS_BLOCK IoStatus;
- KPROCESSOR_MODE RequestorMode;
- BOOLEAN PendingReturned;
- CHAR StackCount;
- CHAR CurrentLocation;
- BOOLEAN Cancel;
- KIRQL CancelIrql;
- CCHAR ApcEnvironment;
- UCHAR AllocationFlags;
- PIO_STATUS_BLOCK UserIosb;
- PKEVENT UserEvent;
- union {
- struct {
- PIO_APC_ROUTINE UserApcRoutine;
- PVOID UserApcContext;
- } AsynchronousParameters;
- LARGE_INTEGER AllocationSize;
- } Overlay;
- PDRIVER_CANCEL CancelRoutine;
- PVOID UserBuffer;
- union {
- struct {
- _ANONYMOUS_UNION union {
- KDEVICE_QUEUE_ENTRY DeviceQueueEntry;
- _ANONYMOUS_STRUCT struct {
- PVOID DriverContext[4];
- } DUMMYSTRUCTNAME;
- } DUMMYUNIONNAME;
- PETHREAD Thread;
- PCHAR AuxiliaryBuffer;
- _ANONYMOUS_STRUCT struct {
- LIST_ENTRY ListEntry;
- _ANONYMOUS_UNION union {
- struct _IO_STACK_LOCATION *CurrentStackLocation;
- ULONG PacketType;
- } DUMMYUNIONNAME;
- } DUMMYSTRUCTNAME;
- struct _FILE_OBJECT *OriginalFileObject;
- } Overlay;
- KAPC Apc;
- PVOID CompletionKey;
- } Tail;
-} IRP;
-typedef struct _IRP *PIRP;
-
-/* IRP.Flags */
-
-#define SL_FORCE_ACCESS_CHECK 0x01
-#define SL_OPEN_PAGING_FILE 0x02
-#define SL_OPEN_TARGET_DIRECTORY 0x04
-#define SL_CASE_SENSITIVE 0x80
-
-#define SL_KEY_SPECIFIED 0x01
-#define SL_OVERRIDE_VERIFY_VOLUME 0x02
-#define SL_WRITE_THROUGH 0x04
-#define SL_FT_SEQUENTIAL_WRITE 0x08
-
-#define SL_FAIL_IMMEDIATELY 0x01
-#define SL_EXCLUSIVE_LOCK 0x02
-
-#define SL_RESTART_SCAN 0x01
-#define SL_RETURN_SINGLE_ENTRY 0x02
-#define SL_INDEX_SPECIFIED 0x04
-
-#define SL_WATCH_TREE 0x01
-
-#define SL_ALLOW_RAW_MOUNT 0x01
-
-#define CTL_CODE(DeviceType, Function, Method, Access)( \
- ((DeviceType) << 16) | ((Access) << 14) | ((Function) << 2) | (Method))
-
-#define DEVICE_TYPE_FROM_CTL_CODE(ctl) (((ULONG) (ctl & 0xffff0000)) >> 16)
-
-enum
-{
- IRP_NOCACHE = 0x1,
- IRP_PAGING_IO = 0x2,
- IRP_MOUNT_COMPLETION = 0x2,
- IRP_SYNCHRONOUS_API = 0x4,
- IRP_ASSOCIATED_IRP = 0x8,
- IRP_BUFFERED_IO = 0x10,
- IRP_DEALLOCATE_BUFFER = 0x20,
- IRP_INPUT_OPERATION = 0x40,
- IRP_SYNCHRONOUS_PAGING_IO = 0x40,
- IRP_CREATE_OPERATION = 0x80,
- IRP_READ_OPERATION = 0x100,
- IRP_WRITE_OPERATION = 0x200,
- IRP_CLOSE_OPERATION = 0x400,
- IRP_DEFER_IO_COMPLETION = 0x800,
- IRP_OB_QUERY_NAME = 0x1000,
- IRP_HOLD_DEVICE_QUEUE = 0x2000,
- IRP_RETRY_IO_COMPLETION = 0x4000
-};
-
-
-typedef struct _DRIVE_LAYOUT_INFORMATION_MBR {
- ULONG Signature;
-} DRIVE_LAYOUT_INFORMATION_MBR, *PDRIVE_LAYOUT_INFORMATION_MBR;
-
-typedef struct _DRIVE_LAYOUT_INFORMATION_GPT {
- GUID DiskId;
- LARGE_INTEGER StartingUsableOffset;
- LARGE_INTEGER UsableLength;
- ULONG MaxPartitionCount;
-} DRIVE_LAYOUT_INFORMATION_GPT, *PDRIVE_LAYOUT_INFORMATION_GPT;
-
-typedef struct _PARTITION_INFORMATION_MBR {
- UCHAR PartitionType;
- BOOLEAN BootIndicator;
- BOOLEAN RecognizedPartition;
- ULONG HiddenSectors;
-} PARTITION_INFORMATION_MBR, *PPARTITION_INFORMATION_MBR;
-
-
-typedef struct _BOOTDISK_INFORMATION {
- LONGLONG BootPartitionOffset;
- LONGLONG SystemPartitionOffset;
- ULONG BootDeviceSignature;
- ULONG SystemDeviceSignature;
-} BOOTDISK_INFORMATION, *PBOOTDISK_INFORMATION;
-
-typedef struct _BOOTDISK_INFORMATION_EX {
- LONGLONG BootPartitionOffset;
- LONGLONG SystemPartitionOffset;
- ULONG BootDeviceSignature;
- ULONG SystemDeviceSignature;
- GUID BootDeviceGuid;
- GUID SystemDeviceGuid;
- BOOLEAN BootDeviceIsGpt;
- BOOLEAN SystemDeviceIsGpt;
-} BOOTDISK_INFORMATION_EX, *PBOOTDISK_INFORMATION_EX;
-
-typedef struct _EISA_MEMORY_TYPE {
- UCHAR ReadWrite : 1;
- UCHAR Cached : 1;
- UCHAR Reserved0 : 1;
- UCHAR Type : 2;
- UCHAR Shared : 1;
- UCHAR Reserved1 : 1;
- UCHAR MoreEntries : 1;
-} EISA_MEMORY_TYPE, *PEISA_MEMORY_TYPE;
-
-#include <pshpack1.h>
-typedef struct _EISA_MEMORY_CONFIGURATION {
- EISA_MEMORY_TYPE ConfigurationByte;
- UCHAR DataSize;
- USHORT AddressLowWord;
- UCHAR AddressHighByte;
- USHORT MemorySize;
-} EISA_MEMORY_CONFIGURATION, *PEISA_MEMORY_CONFIGURATION;
-#include <poppack.h>
-
-typedef struct _EISA_IRQ_DESCRIPTOR {
- UCHAR Interrupt : 4;
- UCHAR Reserved : 1;
- UCHAR LevelTriggered : 1;
- UCHAR Shared : 1;
- UCHAR MoreEntries : 1;
-} EISA_IRQ_DESCRIPTOR, *PEISA_IRQ_DESCRIPTOR;
-
-typedef struct _EISA_IRQ_CONFIGURATION {
- EISA_IRQ_DESCRIPTOR ConfigurationByte;
- UCHAR Reserved;
-} EISA_IRQ_CONFIGURATION, *PEISA_IRQ_CONFIGURATION;
-
-typedef struct _DMA_CONFIGURATION_BYTE0 {
- UCHAR Channel : 3;
- UCHAR Reserved : 3;
- UCHAR Shared : 1;
- UCHAR MoreEntries : 1;
-} DMA_CONFIGURATION_BYTE0;
-
-typedef struct _DMA_CONFIGURATION_BYTE1 {
- UCHAR Reserved0 : 2;
- UCHAR TransferSize : 2;
- UCHAR Timing : 2;
- UCHAR Reserved1 : 2;
-} DMA_CONFIGURATION_BYTE1;
-
-typedef struct _EISA_DMA_CONFIGURATION {
- DMA_CONFIGURATION_BYTE0 ConfigurationByte0;
- DMA_CONFIGURATION_BYTE1 ConfigurationByte1;
-} EISA_DMA_CONFIGURATION, *PEISA_DMA_CONFIGURATION;
-
-#include <pshpack1.h>
-typedef struct _EISA_PORT_DESCRIPTOR {
- UCHAR NumberPorts : 5;
- UCHAR Reserved : 1;
- UCHAR Shared : 1;
- UCHAR MoreEntries : 1;
-} EISA_PORT_DESCRIPTOR, *PEISA_PORT_DESCRIPTOR;
-
-typedef struct _EISA_PORT_CONFIGURATION {
- EISA_PORT_DESCRIPTOR Configuration;
- USHORT PortAddress;
-} EISA_PORT_CONFIGURATION, *PEISA_PORT_CONFIGURATION;
-#include <poppack.h>
-
-typedef struct _CM_EISA_FUNCTION_INFORMATION {
- ULONG CompressedId;
- UCHAR IdSlotFlags1;
- UCHAR IdSlotFlags2;
- UCHAR MinorRevision;
- UCHAR MajorRevision;
- UCHAR Selections[26];
- UCHAR FunctionFlags;
- UCHAR TypeString[80];
- EISA_MEMORY_CONFIGURATION EisaMemory[9];
- EISA_IRQ_CONFIGURATION EisaIrq[7];
- EISA_DMA_CONFIGURATION EisaDma[4];
- EISA_PORT_CONFIGURATION EisaPort[20];
- UCHAR InitializationData[60];
-} CM_EISA_FUNCTION_INFORMATION, *PCM_EISA_FUNCTION_INFORMATION;
-
-/* CM_EISA_FUNCTION_INFORMATION.FunctionFlags */
-
-#define EISA_FUNCTION_ENABLED 0x80
-#define EISA_FREE_FORM_DATA 0x40
-#define EISA_HAS_PORT_INIT_ENTRY 0x20
-#define EISA_HAS_PORT_RANGE 0x10
-#define EISA_HAS_DMA_ENTRY 0x08
-#define EISA_HAS_IRQ_ENTRY 0x04
-#define EISA_HAS_MEMORY_ENTRY 0x02
-#define EISA_HAS_TYPE_ENTRY 0x01
-#define EISA_HAS_INFORMATION \
- (EISA_HAS_PORT_RANGE + EISA_HAS_DMA_ENTRY + EISA_HAS_IRQ_ENTRY \
- + EISA_HAS_MEMORY_ENTRY + EISA_HAS_TYPE_ENTRY)
-
-typedef struct _CM_EISA_SLOT_INFORMATION {
- UCHAR ReturnCode;
- UCHAR ReturnFlags;
- UCHAR MajorRevision;
- UCHAR MinorRevision;
- USHORT Checksum;
- UCHAR NumberFunctions;
- UCHAR FunctionInformation;
- ULONG CompressedId;
-} CM_EISA_SLOT_INFORMATION, *PCM_EISA_SLOT_INFORMATION;
-
-/* CM_EISA_SLOT_INFORMATION.ReturnCode */
-
-#define EISA_INVALID_SLOT 0x80
-#define EISA_INVALID_FUNCTION 0x81
-#define EISA_INVALID_CONFIGURATION 0x82
-#define EISA_EMPTY_SLOT 0x83
-#define EISA_INVALID_BIOS_CALL 0x86
-
-typedef struct _CM_FLOPPY_DEVICE_DATA {
- USHORT Version;
- USHORT Revision;
- CHAR Size[8];
- ULONG MaxDensity;
- ULONG MountDensity;
- UCHAR StepRateHeadUnloadTime;
- UCHAR HeadLoadTime;
- UCHAR MotorOffTime;
- UCHAR SectorLengthCode;
- UCHAR SectorPerTrack;
- UCHAR ReadWriteGapLength;
- UCHAR DataTransferLength;
- UCHAR FormatGapLength;
- UCHAR FormatFillCharacter;
- UCHAR HeadSettleTime;
- UCHAR MotorSettleTime;
- UCHAR MaximumTrackValue;
- UCHAR DataTransferRate;
-} CM_FLOPPY_DEVICE_DATA, *PCM_FLOPPY_DEVICE_DATA;
-
-typedef enum _INTERFACE_TYPE {
- InterfaceTypeUndefined = -1,
- Internal,
- Isa,
- Eisa,
- MicroChannel,
- TurboChannel,
- PCIBus,
- VMEBus,
- NuBus,
- PCMCIABus,
- CBus,
- MPIBus,
- MPSABus,
- ProcessorInternal,
- InternalPowerBus,
- PNPISABus,
- PNPBus,
- MaximumInterfaceType
-} INTERFACE_TYPE, *PINTERFACE_TYPE;
-
-typedef struct _PNP_BUS_INFORMATION {
- GUID BusTypeGuid;
- INTERFACE_TYPE LegacyBusType;
- ULONG BusNumber;
-} PNP_BUS_INFORMATION, *PPNP_BUS_INFORMATION;
-
-#include <pshpack1.h>
-typedef struct _CM_PARTIAL_RESOURCE_DESCRIPTOR {
- UCHAR Type;
- UCHAR ShareDisposition;
- USHORT Flags;
- union {
- struct {
- PHYSICAL_ADDRESS Start;
- ULONG Length;
- } Generic;
- struct {
- PHYSICAL_ADDRESS Start;
- ULONG Length;
- } Port;
- struct {
- ULONG Level;
- ULONG Vector;
- ULONG Affinity;
- } Interrupt;
- struct {
- PHYSICAL_ADDRESS Start;
- ULONG Length;
- } Memory;
- struct {
- ULONG Channel;
- ULONG Port;
- ULONG Reserved1;
- } Dma;
- struct {
- ULONG Data[3];
- } DevicePrivate;
- struct {
- ULONG Start;
- ULONG Length;
- ULONG Reserved;
- } BusNumber;
- struct {
- ULONG DataSize;
- ULONG Reserved1;
- ULONG Reserved2;
- } DeviceSpecificData;
- } u;
-} CM_PARTIAL_RESOURCE_DESCRIPTOR, *PCM_PARTIAL_RESOURCE_DESCRIPTOR;
-
-/* CM_PARTIAL_RESOURCE_DESCRIPTOR.Type */
-
-#define CmResourceTypeNull 0
-#define CmResourceTypePort 1
-#define CmResourceTypeInterrupt 2
-#define CmResourceTypeMemory 3
-#define CmResourceTypeDma 4
-#define CmResourceTypeDeviceSpecific 5
-#define CmResourceTypeBusNumber 6
-#define CmResourceTypeMaximum 7
-#define CmResourceTypeNonArbitrated 128
-#define CmResourceTypeConfigData 128
-#define CmResourceTypeDevicePrivate 129
-#define CmResourceTypePcCardConfig 130
-#define CmResourceTypeMfCardConfig 131
-
-/* CM_PARTIAL_RESOURCE_DESCRIPTOR.ShareDisposition */
-
-typedef enum _CM_SHARE_DISPOSITION {
- CmResourceShareUndetermined,
- CmResourceShareDeviceExclusive,
- CmResourceShareDriverExclusive,
- CmResourceShareShared
-} CM_SHARE_DISPOSITION;
-
-/* CM_PARTIAL_RESOURCE_DESCRIPTOR.Flags if Type = CmResourceTypePort */
-
-#define CM_RESOURCE_PORT_MEMORY 0x0000
-#define CM_RESOURCE_PORT_IO 0x0001
-#define CM_RESOURCE_PORT_10_BIT_DECODE 0x0004
-#define CM_RESOURCE_PORT_12_BIT_DECODE 0x0008
-#define CM_RESOURCE_PORT_16_BIT_DECODE 0x0010
-#define CM_RESOURCE_PORT_POSITIVE_DECODE 0x0020
-#define CM_RESOURCE_PORT_PASSIVE_DECODE 0x0040
-#define CM_RESOURCE_PORT_WINDOW_DECODE 0x0080
-
-/* CM_PARTIAL_RESOURCE_DESCRIPTOR.Flags if Type = CmResourceTypeInterrupt */
-
-#define CM_RESOURCE_INTERRUPT_LEVEL_SENSITIVE 0x0000
-#define CM_RESOURCE_INTERRUPT_LATCHED 0x0001
-
-/* CM_PARTIAL_RESOURCE_DESCRIPTOR.Flags if Type = CmResourceTypeMemory */
-
-#define CM_RESOURCE_MEMORY_READ_WRITE 0x0000
-#define CM_RESOURCE_MEMORY_READ_ONLY 0x0001
-#define CM_RESOURCE_MEMORY_WRITE_ONLY 0x0002
-#define CM_RESOURCE_MEMORY_PREFETCHABLE 0x0004
-#define CM_RESOURCE_MEMORY_COMBINEDWRITE 0x0008
-#define CM_RESOURCE_MEMORY_24 0x0010
-#define CM_RESOURCE_MEMORY_CACHEABLE 0x0020
-
-/* CM_PARTIAL_RESOURCE_DESCRIPTOR.Flags if Type = CmResourceTypeDma */
-
-#define CM_RESOURCE_DMA_8 0x0000
-#define CM_RESOURCE_DMA_16 0x0001
-#define CM_RESOURCE_DMA_32 0x0002
-#define CM_RESOURCE_DMA_8_AND_16 0x0004
-#define CM_RESOURCE_DMA_BUS_MASTER 0x0008
-#define CM_RESOURCE_DMA_TYPE_A 0x0010
-#define CM_RESOURCE_DMA_TYPE_B 0x0020
-#define CM_RESOURCE_DMA_TYPE_F 0x0040
-
-typedef struct _CM_PARTIAL_RESOURCE_LIST {
- USHORT Version;
- USHORT Revision;
- ULONG Count;
- CM_PARTIAL_RESOURCE_DESCRIPTOR PartialDescriptors[1];
-} CM_PARTIAL_RESOURCE_LIST, *PCM_PARTIAL_RESOURCE_LIST;
-
-typedef struct _CM_FULL_RESOURCE_DESCRIPTOR {
- INTERFACE_TYPE InterfaceType;
- ULONG BusNumber;
- CM_PARTIAL_RESOURCE_LIST PartialResourceList;
-} CM_FULL_RESOURCE_DESCRIPTOR, *PCM_FULL_RESOURCE_DESCRIPTOR;
-
-typedef struct _CM_RESOURCE_LIST {
- ULONG Count;
- CM_FULL_RESOURCE_DESCRIPTOR List[1];
-} CM_RESOURCE_LIST, *PCM_RESOURCE_LIST;
-
-typedef struct _CM_INT13_DRIVE_PARAMETER {
- USHORT DriveSelect;
- ULONG MaxCylinders;
- USHORT SectorsPerTrack;
- USHORT MaxHeads;
- USHORT NumberDrives;
-} CM_INT13_DRIVE_PARAMETER, *PCM_INT13_DRIVE_PARAMETER;
-#include <poppack.h>
-
-typedef struct _CM_KEYBOARD_DEVICE_DATA {
- USHORT Version;
- USHORT Revision;
- UCHAR Type;
- UCHAR Subtype;
- USHORT KeyboardFlags;
-} CM_KEYBOARD_DEVICE_DATA, *PCM_KEYBOARD_DEVICE_DATA;
-
-#define KEYBOARD_INSERT_ON 0x80
-#define KEYBOARD_CAPS_LOCK_ON 0x40
-#define KEYBOARD_NUM_LOCK_ON 0x20
-#define KEYBOARD_SCROLL_LOCK_ON 0x10
-#define KEYBOARD_ALT_KEY_DOWN 0x08
-#define KEYBOARD_CTRL_KEY_DOWN 0x04
-#define KEYBOARD_LEFT_SHIFT_DOWN 0x02
-#define KEYBOARD_RIGHT_SHIFT_DOWN 0x01
-
-typedef struct _CM_MCA_POS_DATA {
- USHORT AdapterId;
- UCHAR PosData1;
- UCHAR PosData2;
- UCHAR PosData3;
- UCHAR PosData4;
-} CM_MCA_POS_DATA, *PCM_MCA_POS_DATA;
-
-typedef struct CM_Power_Data_s {
- ULONG PD_Size;
- DEVICE_POWER_STATE PD_MostRecentPowerState;
- ULONG PD_Capabilities;
- ULONG PD_D1Latency;
- ULONG PD_D2Latency;
- ULONG PD_D3Latency;
- DEVICE_POWER_STATE PD_PowerStateMapping[PowerSystemMaximum];
-} CM_POWER_DATA, *PCM_POWER_DATA;
-
-#define PDCAP_D0_SUPPORTED 0x00000001
-#define PDCAP_D1_SUPPORTED 0x00000002
-#define PDCAP_D2_SUPPORTED 0x00000004
-#define PDCAP_D3_SUPPORTED 0x00000008
-#define PDCAP_WAKE_FROM_D0_SUPPORTED 0x00000010
-#define PDCAP_WAKE_FROM_D1_SUPPORTED 0x00000020
-#define PDCAP_WAKE_FROM_D2_SUPPORTED 0x00000040
-#define PDCAP_WAKE_FROM_D3_SUPPORTED 0x00000080
-#define PDCAP_WARM_EJECT_SUPPORTED 0x00000100
-
-typedef struct _CM_SCSI_DEVICE_DATA {
- USHORT Version;
- USHORT Revision;
- UCHAR HostIdentifier;
-} CM_SCSI_DEVICE_DATA, *PCM_SCSI_DEVICE_DATA;
-
-typedef struct _CM_SERIAL_DEVICE_DATA {
- USHORT Version;
- USHORT Revision;
- ULONG BaudClock;
-} CM_SERIAL_DEVICE_DATA, *PCM_SERIAL_DEVICE_DATA;
-
-/* IO_RESOURCE_DESCRIPTOR.Option */
-
-#define IO_RESOURCE_PREFERRED 0x01
-#define IO_RESOURCE_DEFAULT 0x02
-#define IO_RESOURCE_ALTERNATIVE 0x08
-
-typedef struct _IO_RESOURCE_DESCRIPTOR {
- UCHAR Option;
- UCHAR Type;
- UCHAR ShareDisposition;
- UCHAR Spare1;
- USHORT Flags;
- USHORT Spare2;
- union {
- struct {
- ULONG Length;
- ULONG Alignment;
- PHYSICAL_ADDRESS MinimumAddress;
- PHYSICAL_ADDRESS MaximumAddress;
- } Port;
- struct {
- ULONG Length;
- ULONG Alignment;
- PHYSICAL_ADDRESS MinimumAddress;
- PHYSICAL_ADDRESS MaximumAddress;
- } Memory;
- struct {
- ULONG MinimumVector;
- ULONG MaximumVector;
- } Interrupt;
- struct {
- ULONG MinimumChannel;
- ULONG MaximumChannel;
- } Dma;
- struct {
- ULONG Length;
- ULONG Alignment;
- PHYSICAL_ADDRESS MinimumAddress;
- PHYSICAL_ADDRESS MaximumAddress;
- } Generic;
- struct {
- ULONG Data[3];
- } DevicePrivate;
- struct {
- ULONG Length;
- ULONG MinBusNumber;
- ULONG MaxBusNumber;
- ULONG Reserved;
- } BusNumber;
- struct {
- ULONG Priority;
- ULONG Reserved1;
- ULONG Reserved2;
- } ConfigData;
- } u;
-} IO_RESOURCE_DESCRIPTOR, *PIO_RESOURCE_DESCRIPTOR;
-
-typedef struct _IO_RESOURCE_LIST {
- USHORT Version;
- USHORT Revision;
- ULONG Count;
- IO_RESOURCE_DESCRIPTOR Descriptors[1];
-} IO_RESOURCE_LIST, *PIO_RESOURCE_LIST;
-
-typedef struct _IO_RESOURCE_REQUIREMENTS_LIST {
- ULONG ListSize;
- INTERFACE_TYPE InterfaceType;
- ULONG BusNumber;
- ULONG SlotNumber;
- ULONG Reserved[3];
- ULONG AlternativeLists;
- IO_RESOURCE_LIST List[1];
-} IO_RESOURCE_REQUIREMENTS_LIST, *PIO_RESOURCE_REQUIREMENTS_LIST;
-
-typedef struct _CONTROLLER_OBJECT {
- CSHORT Type;
- CSHORT Size;
- PVOID ControllerExtension;
- KDEVICE_QUEUE DeviceWaitQueue;
- ULONG Spare1;
- LARGE_INTEGER Spare2;
-} CONTROLLER_OBJECT, *PCONTROLLER_OBJECT;
-
-typedef enum _DMA_WIDTH {
- Width8Bits,
- Width16Bits,
- Width32Bits,
- MaximumDmaWidth
-} DMA_WIDTH, *PDMA_WIDTH;
-
-typedef enum _DMA_SPEED {
- Compatible,
- TypeA,
- TypeB,
- TypeC,
- TypeF,
- MaximumDmaSpeed
-} DMA_SPEED, *PDMA_SPEED;
-
-/* DEVICE_DESCRIPTION.Version */
-
-#define DEVICE_DESCRIPTION_VERSION 0x0000
-#define DEVICE_DESCRIPTION_VERSION1 0x0001
-#define DEVICE_DESCRIPTION_VERSION2 0x0002
-
-typedef struct _DEVICE_DESCRIPTION {
- ULONG Version;
- BOOLEAN Master;
- BOOLEAN ScatterGather;
- BOOLEAN DemandMode;
- BOOLEAN AutoInitialize;
- BOOLEAN Dma32BitAddresses;
- BOOLEAN IgnoreCount;
- BOOLEAN Reserved1;
- BOOLEAN Dma64BitAddresses;
- ULONG BusNumber;
- ULONG DmaChannel;
- INTERFACE_TYPE InterfaceType;
- DMA_WIDTH DmaWidth;
- DMA_SPEED DmaSpeed;
- ULONG MaximumLength;
- ULONG DmaPort;
-} DEVICE_DESCRIPTION, *PDEVICE_DESCRIPTION;
-
-/* VPB.Flags */
-#define VPB_MOUNTED 0x0001
-#define VPB_LOCKED 0x0002
-#define VPB_PERSISTENT 0x0004
-#define VPB_REMOVE_PENDING 0x0008
-#define VPB_RAW_MOUNT 0x0010
-
-#define MAXIMUM_VOLUME_LABEL_LENGTH (32 * sizeof(WCHAR))
-
-typedef struct _VPB {
- CSHORT Type;
- CSHORT Size;
- USHORT Flags;
- USHORT VolumeLabelLength;
- struct _DEVICE_OBJECT *DeviceObject;
- struct _DEVICE_OBJECT *RealDevice;
- ULONG SerialNumber;
- ULONG ReferenceCount;
- WCHAR VolumeLabel[MAXIMUM_VOLUME_LABEL_LENGTH / sizeof(WCHAR)];
-} VPB, *PVPB;
-
-/* DEVICE_OBJECT.Flags */
-
-#define DO_VERIFY_VOLUME 0x00000002
-#define DO_BUFFERED_IO 0x00000004
-#define DO_EXCLUSIVE 0x00000008
-#define DO_DIRECT_IO 0x00000010
-#define DO_MAP_IO_BUFFER 0x00000020
-#define DO_DEVICE_HAS_NAME 0x00000040
-#define DO_DEVICE_INITIALIZING 0x00000080
-#define DO_SYSTEM_BOOT_PARTITION 0x00000100
-#define DO_LONG_TERM_REQUESTS 0x00000200
-#define DO_NEVER_LAST_DEVICE 0x00000400
-#define DO_SHUTDOWN_REGISTERED 0x00000800
-#define DO_BUS_ENUMERATED_DEVICE 0x00001000
-#define DO_POWER_PAGABLE 0x00002000
-#define DO_POWER_INRUSH 0x00004000
-#define DO_LOW_PRIORITY_FILESYSTEM 0x00010000
-
-/* DEVICE_OBJECT.Characteristics */
-
-#define FILE_REMOVABLE_MEDIA 0x00000001
-#define FILE_READ_ONLY_DEVICE 0x00000002
-#define FILE_FLOPPY_DISKETTE 0x00000004
-#define FILE_WRITE_ONCE_MEDIA 0x00000008
-#define FILE_REMOTE_DEVICE 0x00000010
-#define FILE_DEVICE_IS_MOUNTED 0x00000020
-#define FILE_VIRTUAL_VOLUME 0x00000040
-#define FILE_AUTOGENERATED_DEVICE_NAME 0x00000080
-#define FILE_DEVICE_SECURE_OPEN 0x00000100
-
-/* DEVICE_OBJECT.AlignmentRequirement */
-
-#define FILE_BYTE_ALIGNMENT 0x00000000
-#define FILE_WORD_ALIGNMENT 0x00000001
-#define FILE_LONG_ALIGNMENT 0x00000003
-#define FILE_QUAD_ALIGNMENT 0x00000007
-#define FILE_OCTA_ALIGNMENT 0x0000000f
-#define FILE_32_BYTE_ALIGNMENT 0x0000001f
-#define FILE_64_BYTE_ALIGNMENT 0x0000003f
-#define FILE_128_BYTE_ALIGNMENT 0x0000007f
-#define FILE_256_BYTE_ALIGNMENT 0x000000ff
-#define FILE_512_BYTE_ALIGNMENT 0x000001ff
-
-/* DEVICE_OBJECT.DeviceType */
-
-#define DEVICE_TYPE ULONG
-
-#define FILE_DEVICE_BEEP 0x00000001
-#define FILE_DEVICE_CD_ROM 0x00000002
-#define FILE_DEVICE_CD_ROM_FILE_SYSTEM 0x00000003
-#define FILE_DEVICE_CONTROLLER 0x00000004
-#define FILE_DEVICE_DATALINK 0x00000005
-#define FILE_DEVICE_DFS 0x00000006
-#define FILE_DEVICE_DISK 0x00000007
-#define FILE_DEVICE_DISK_FILE_SYSTEM 0x00000008
-#define FILE_DEVICE_FILE_SYSTEM 0x00000009
-#define FILE_DEVICE_INPORT_PORT 0x0000000a
-#define FILE_DEVICE_KEYBOARD 0x0000000b
-#define FILE_DEVICE_MAILSLOT 0x0000000c
-#define FILE_DEVICE_MIDI_IN 0x0000000d
-#define FILE_DEVICE_MIDI_OUT 0x0000000e
-#define FILE_DEVICE_MOUSE 0x0000000f
-#define FILE_DEVICE_MULTI_UNC_PROVIDER 0x00000010
-#define FILE_DEVICE_NAMED_PIPE 0x00000011
-#define FILE_DEVICE_NETWORK 0x00000012
-#define FILE_DEVICE_NETWORK_BROWSER 0x00000013
-#define FILE_DEVICE_NETWORK_FILE_SYSTEM 0x00000014
-#define FILE_DEVICE_NULL 0x00000015
-#define FILE_DEVICE_PARALLEL_PORT 0x00000016
-#define FILE_DEVICE_PHYSICAL_NETCARD 0x00000017
-#define FILE_DEVICE_PRINTER 0x00000018
-#define FILE_DEVICE_SCANNER 0x00000019
-#define FILE_DEVICE_SERIAL_MOUSE_PORT 0x0000001a
-#define FILE_DEVICE_SERIAL_PORT 0x0000001b
-#define FILE_DEVICE_SCREEN 0x0000001c
-#define FILE_DEVICE_SOUND 0x0000001d
-#define FILE_DEVICE_STREAMS 0x0000001e
-#define FILE_DEVICE_TAPE 0x0000001f
-#define FILE_DEVICE_TAPE_FILE_SYSTEM 0x00000020
-#define FILE_DEVICE_TRANSPORT 0x00000021
-#define FILE_DEVICE_UNKNOWN 0x00000022
-#define FILE_DEVICE_VIDEO 0x00000023
-#define FILE_DEVICE_VIRTUAL_DISK 0x00000024
-#define FILE_DEVICE_WAVE_IN 0x00000025
-#define FILE_DEVICE_WAVE_OUT 0x00000026
-#define FILE_DEVICE_8042_PORT 0x00000027
-#define FILE_DEVICE_NETWORK_REDIRECTOR 0x00000028
-#define FILE_DEVICE_BATTERY 0x00000029
-#define FILE_DEVICE_BUS_EXTENDER 0x0000002a
-#define FILE_DEVICE_MODEM 0x0000002b
-#define FILE_DEVICE_VDM 0x0000002c
-#define FILE_DEVICE_MASS_STORAGE 0x0000002d
-#define FILE_DEVICE_SMB 0x0000002e
-#define FILE_DEVICE_KS 0x0000002f
-#define FILE_DEVICE_CHANGER 0x00000030
-#define FILE_DEVICE_SMARTCARD 0x00000031
-#define FILE_DEVICE_ACPI 0x00000032
-#define FILE_DEVICE_DVD 0x00000033
-#define FILE_DEVICE_FULLSCREEN_VIDEO 0x00000034
-#define FILE_DEVICE_DFS_FILE_SYSTEM 0x00000035
-#define FILE_DEVICE_DFS_VOLUME 0x00000036
-#define FILE_DEVICE_SERENUM 0x00000037
-#define FILE_DEVICE_TERMSRV 0x00000038
-#define FILE_DEVICE_KSEC 0x00000039
-#define FILE_DEVICE_FIPS 0x0000003a
-
-typedef struct _DEVICE_OBJECT {
- CSHORT Type;
- USHORT Size;
- LONG ReferenceCount;
- struct _DRIVER_OBJECT *DriverObject;
- struct _DEVICE_OBJECT *NextDevice;
- struct _DEVICE_OBJECT *AttachedDevice;
- struct _IRP *CurrentIrp;
- PIO_TIMER Timer;
- ULONG Flags;
- ULONG Characteristics;
- PVPB Vpb;
- PVOID DeviceExtension;
- DEVICE_TYPE DeviceType;
- CCHAR StackSize;
- union {
- LIST_ENTRY ListEntry;
- WAIT_CONTEXT_BLOCK Wcb;
- } Queue;
- ULONG AlignmentRequirement;
- KDEVICE_QUEUE DeviceQueue;
- KDPC Dpc;
- ULONG ActiveThreadCount;
- PSECURITY_DESCRIPTOR SecurityDescriptor;
- KEVENT DeviceLock;
- USHORT SectorSize;
- USHORT Spare1;
- struct _DEVOBJ_EXTENSION *DeviceObjectExtension;
- PVOID Reserved;
-} DEVICE_OBJECT;
-typedef struct _DEVICE_OBJECT *PDEVICE_OBJECT;
-
-typedef enum _DEVICE_RELATION_TYPE {
- BusRelations,
- EjectionRelations,
- PowerRelations,
- RemovalRelations,
- TargetDeviceRelation,
- SingleBusRelations
-} DEVICE_RELATION_TYPE, *PDEVICE_RELATION_TYPE;
-
-typedef struct _DEVICE_RELATIONS {
- ULONG Count;
- PDEVICE_OBJECT Objects[1];
-} DEVICE_RELATIONS, *PDEVICE_RELATIONS;
-
-typedef struct _SCATTER_GATHER_ELEMENT {
- PHYSICAL_ADDRESS Address;
- ULONG Length;
- ULONG_PTR Reserved;
-} SCATTER_GATHER_ELEMENT, *PSCATTER_GATHER_ELEMENT;
-
-typedef struct _SCATTER_GATHER_LIST {
- ULONG NumberOfElements;
- ULONG_PTR Reserved;
- SCATTER_GATHER_ELEMENT Elements[0];
-} SCATTER_GATHER_LIST, *PSCATTER_GATHER_LIST;
-
-typedef struct _MDL {
- struct _MDL *Next;
- CSHORT Size;
- CSHORT MdlFlags;
- struct _EPROCESS *Process;
- PVOID MappedSystemVa;
- PVOID StartVa;
- ULONG ByteCount;
- ULONG ByteOffset;
-} MDL, *PMDL;
-
-#define MDL_MAPPED_TO_SYSTEM_VA 0x0001
-#define MDL_PAGES_LOCKED 0x0002
-#define MDL_SOURCE_IS_NONPAGED_POOL 0x0004
-#define MDL_ALLOCATED_FIXED_SIZE 0x0008
-#define MDL_PARTIAL 0x0010
-#define MDL_PARTIAL_HAS_BEEN_MAPPED 0x0020
-#define MDL_IO_PAGE_READ 0x0040
-#define MDL_WRITE_OPERATION 0x0080
-#define MDL_PARENT_MAPPED_SYSTEM_VA 0x0100
-#define MDL_FREE_EXTRA_PTES 0x0200
-#define MDL_IO_SPACE 0x0800
-#define MDL_NETWORK_HEADER 0x1000
-#define MDL_MAPPING_CAN_FAIL 0x2000
-#define MDL_ALLOCATED_MUST_SUCCEED 0x4000
-
-#define MDL_MAPPING_FLAGS ( \
- MDL_MAPPED_TO_SYSTEM_VA | \
- MDL_PAGES_LOCKED | \
- MDL_SOURCE_IS_NONPAGED_POOL | \
- MDL_PARTIAL_HAS_BEEN_MAPPED | \
- MDL_PARENT_MAPPED_SYSTEM_VA | \
- MDL_SYSTEM_VA | \
- MDL_IO_SPACE)
-
-typedef VOID DDKAPI
-(*PPUT_DMA_ADAPTER)(
- /*IN*/ PDMA_ADAPTER DmaAdapter);
-
-typedef PVOID DDKAPI
-(*PALLOCATE_COMMON_BUFFER)(
- /*IN*/ PDMA_ADAPTER DmaAdapter,
- /*IN*/ ULONG Length,
- /*OUT*/ PPHYSICAL_ADDRESS LogicalAddress,
- /*IN*/ BOOLEAN CacheEnabled);
-
-typedef VOID DDKAPI
-(*PFREE_COMMON_BUFFER)(
- /*IN*/ PDMA_ADAPTER DmaAdapter,
- /*IN*/ ULONG Length,
- /*IN*/ PHYSICAL_ADDRESS LogicalAddress,
- /*IN*/ PVOID VirtualAddress,
- /*IN*/ BOOLEAN CacheEnabled);
-
-typedef NTSTATUS DDKAPI
-(*PALLOCATE_ADAPTER_CHANNEL)(
- /*IN*/ PDMA_ADAPTER DmaAdapter,
- /*IN*/ PDEVICE_OBJECT DeviceObject,
- /*IN*/ ULONG NumberOfMapRegisters,
- /*IN*/ PDRIVER_CONTROL ExecutionRoutine,
- /*IN*/ PVOID Context);
-
-typedef BOOLEAN DDKAPI
-(*PFLUSH_ADAPTER_BUFFERS)(
- /*IN*/ PDMA_ADAPTER DmaAdapter,
- /*IN*/ PMDL Mdl,
- /*IN*/ PVOID MapRegisterBase,
- /*IN*/ PVOID CurrentVa,
- /*IN*/ ULONG Length,
- /*IN*/ BOOLEAN WriteToDevice);
-
-typedef VOID DDKAPI
-(*PFREE_ADAPTER_CHANNEL)(
- /*IN*/ PDMA_ADAPTER DmaAdapter);
-
-typedef VOID DDKAPI
-(*PFREE_MAP_REGISTERS)(
- /*IN*/ PDMA_ADAPTER DmaAdapter,
- PVOID MapRegisterBase,
- ULONG NumberOfMapRegisters);
-
-typedef PHYSICAL_ADDRESS DDKAPI
-(*PMAP_TRANSFER)(
- /*IN*/ PDMA_ADAPTER DmaAdapter,
- /*IN*/ PMDL Mdl,
- /*IN*/ PVOID MapRegisterBase,
- /*IN*/ PVOID CurrentVa,
- /*IN OUT*/ PULONG Length,
- /*IN*/ BOOLEAN WriteToDevice);
-
-typedef ULONG DDKAPI
-(*PGET_DMA_ALIGNMENT)(
- /*IN*/ PDMA_ADAPTER DmaAdapter);
-
-typedef ULONG DDKAPI
-(*PREAD_DMA_COUNTER)(
- /*IN*/ PDMA_ADAPTER DmaAdapter);
-
-typedef NTSTATUS DDKAPI
-(*PGET_SCATTER_GATHER_LIST)(
- /*IN*/ PDMA_ADAPTER DmaAdapter,
- /*IN*/ PDEVICE_OBJECT DeviceObject,
- /*IN*/ PMDL Mdl,
- /*IN*/ PVOID CurrentVa,
- /*IN*/ ULONG Length,
- /*IN*/ PDRIVER_LIST_CONTROL ExecutionRoutine,
- /*IN*/ PVOID Context,
- /*IN*/ BOOLEAN WriteToDevice);
-
-typedef VOID DDKAPI
-(*PPUT_SCATTER_GATHER_LIST)(
- /*IN*/ PDMA_ADAPTER DmaAdapter,
- /*IN*/ PSCATTER_GATHER_LIST ScatterGather,
- /*IN*/ BOOLEAN WriteToDevice);
-
-typedef NTSTATUS DDKAPI
-(*PCALCULATE_SCATTER_GATHER_LIST_SIZE)(
- /*IN*/ PDMA_ADAPTER DmaAdapter,
- /*IN*/ PMDL Mdl /*OPTIONAL*/,
- /*IN*/ PVOID CurrentVa,
- /*IN*/ ULONG Length,
- /*OUT*/ PULONG ScatterGatherListSize,
- /*OUT*/ PULONG pNumberOfMapRegisters /*OPTIONAL*/);
-
-typedef NTSTATUS DDKAPI
-(*PBUILD_SCATTER_GATHER_LIST)(
- /*IN*/ PDMA_ADAPTER DmaAdapter,
- /*IN*/ PDEVICE_OBJECT DeviceObject,
- /*IN*/ PMDL Mdl,
- /*IN*/ PVOID CurrentVa,
- /*IN*/ ULONG Length,
- /*IN*/ PDRIVER_LIST_CONTROL ExecutionRoutine,
- /*IN*/ PVOID Context,
- /*IN*/ BOOLEAN WriteToDevice,
- /*IN*/ PVOID ScatterGatherBuffer,
- /*IN*/ ULONG ScatterGatherLength);
-
-typedef NTSTATUS DDKAPI
-(*PBUILD_MDL_FROM_SCATTER_GATHER_LIST)(
- /*IN*/ PDMA_ADAPTER DmaAdapter,
- /*IN*/ PSCATTER_GATHER_LIST ScatterGather,
- /*IN*/ PMDL OriginalMdl,
- /*OUT*/ PMDL *TargetMdl);
-
-typedef struct _DMA_OPERATIONS {
- ULONG Size;
- PPUT_DMA_ADAPTER PutDmaAdapter;
- PALLOCATE_COMMON_BUFFER AllocateCommonBuffer;
- PFREE_COMMON_BUFFER FreeCommonBuffer;
- PALLOCATE_ADAPTER_CHANNEL AllocateAdapterChannel;
- PFLUSH_ADAPTER_BUFFERS FlushAdapterBuffers;
- PFREE_ADAPTER_CHANNEL FreeAdapterChannel;
- PFREE_MAP_REGISTERS FreeMapRegisters;
- PMAP_TRANSFER MapTransfer;
- PGET_DMA_ALIGNMENT GetDmaAlignment;
- PREAD_DMA_COUNTER ReadDmaCounter;
- PGET_SCATTER_GATHER_LIST GetScatterGatherList;
- PPUT_SCATTER_GATHER_LIST PutScatterGatherList;
- PCALCULATE_SCATTER_GATHER_LIST_SIZE CalculateScatterGatherList;
- PBUILD_SCATTER_GATHER_LIST BuildScatterGatherList;
- PBUILD_MDL_FROM_SCATTER_GATHER_LIST BuildMdlFromScatterGatherList;
-} DMA_OPERATIONS, *PDMA_OPERATIONS;
-
-typedef struct _DMA_ADAPTER {
- USHORT Version;
- USHORT Size;
- PDMA_OPERATIONS DmaOperations;
-} DMA_ADAPTER;
-
-typedef enum _FILE_INFORMATION_CLASS {
- FileDirectoryInformation = 1,
- FileFullDirectoryInformation,
- FileBothDirectoryInformation,
- FileBasicInformation,
- FileStandardInformation,
- FileInternalInformation,
- FileEaInformation,
- FileAccessInformation,
- FileNameInformation,
- FileRenameInformation,
- FileLinkInformation,
- FileNamesInformation,
- FileDispositionInformation,
- FilePositionInformation,
- FileFullEaInformation,
- FileModeInformation,
- FileAlignmentInformation,
- FileAllInformation,
- FileAllocationInformation,
- FileEndOfFileInformation,
- FileAlternateNameInformation,
- FileStreamInformation,
- FilePipeInformation,
- FilePipeLocalInformation,
- FilePipeRemoteInformation,
- FileMailslotQueryInformation,
- FileMailslotSetInformation,
- FileCompressionInformation,
- FileObjectIdInformation,
- FileCompletionInformation,
- FileMoveClusterInformation,
- FileQuotaInformation,
- FileReparsePointInformation,
- FileNetworkOpenInformation,
- FileAttributeTagInformation,
- FileTrackingInformation,
- FileIdBothDirectoryInformation,
- FileIdFullDirectoryInformation,
- FileValidDataLengthInformation,
- FileShortNameInformation,
- FileMaximumInformation
-} FILE_INFORMATION_CLASS, *PFILE_INFORMATION_CLASS;
-
-typedef struct _FILE_POSITION_INFORMATION {
- LARGE_INTEGER CurrentByteOffset;
-} FILE_POSITION_INFORMATION, *PFILE_POSITION_INFORMATION;
-
-typedef struct _FILE_ALIGNMENT_INFORMATION {
- ULONG AlignmentRequirement;
-} FILE_ALIGNMENT_INFORMATION;
-
-typedef struct _FILE_NAME_INFORMATION {
- ULONG FileNameLength;
- WCHAR FileName[1];
-} FILE_NAME_INFORMATION, *PFILE_NAME_INFORMATION;
-
-typedef struct _FILE_BASIC_INFORMATION {
- LARGE_INTEGER CreationTime;
- LARGE_INTEGER LastAccessTime;
- LARGE_INTEGER LastWriteTime;
- LARGE_INTEGER ChangeTime;
- ULONG FileAttributes;
-} FILE_BASIC_INFORMATION, *PFILE_BASIC_INFORMATION;
-
-typedef struct _FILE_STANDARD_INFORMATION {
- LARGE_INTEGER AllocationSize;
- LARGE_INTEGER EndOfFile;
- ULONG NumberOfLinks;
- BOOLEAN DeletePending;
- BOOLEAN Directory;
-} FILE_STANDARD_INFORMATION, *PFILE_STANDARD_INFORMATION;
-
-typedef struct _FILE_NETWORK_OPEN_INFORMATION {
- LARGE_INTEGER CreationTime;
- LARGE_INTEGER LastAccessTime;
- LARGE_INTEGER LastWriteTime;
- LARGE_INTEGER ChangeTime;
- LARGE_INTEGER AllocationSize;
- LARGE_INTEGER EndOfFile;
- ULONG FileAttributes;
-} FILE_NETWORK_OPEN_INFORMATION, *PFILE_NETWORK_OPEN_INFORMATION;
-
-typedef struct _FILE_ATTRIBUTE_TAG_INFORMATION {
- ULONG FileAttributes;
- ULONG ReparseTag;
-} FILE_ATTRIBUTE_TAG_INFORMATION, *PFILE_ATTRIBUTE_TAG_INFORMATION;
-
-typedef struct _FILE_DISPOSITION_INFORMATION {
- BOOLEAN DoDeleteFile;
-} FILE_DISPOSITION_INFORMATION, *PFILE_DISPOSITION_INFORMATION;
-
-typedef struct _FILE_END_OF_FILE_INFORMATION {
- LARGE_INTEGER EndOfFile;
-} FILE_END_OF_FILE_INFORMATION, *PFILE_END_OF_FILE_INFORMATION;
-
-typedef struct _FILE_VALID_DATA_LENGTH_INFORMATION {
- LARGE_INTEGER ValidDataLength;
-} FILE_VALID_DATA_LENGTH_INFORMATION, *PFILE_VALID_DATA_LENGTH_INFORMATION;
-
-typedef enum _FSINFOCLASS {
- FileFsVolumeInformation = 1,
- FileFsLabelInformation,
- FileFsSizeInformation,
- FileFsDeviceInformation,
- FileFsAttributeInformation,
- FileFsControlInformation,
- FileFsFullSizeInformation,
- FileFsObjectIdInformation,
- FileFsDriverPathInformation,
- FileFsMaximumInformation
-} FS_INFORMATION_CLASS, *PFS_INFORMATION_CLASS;
-
-typedef struct _FILE_FS_DEVICE_INFORMATION {
- DEVICE_TYPE DeviceType;
- ULONG Characteristics;
-} FILE_FS_DEVICE_INFORMATION, *PFILE_FS_DEVICE_INFORMATION;
-
-typedef struct _FILE_FULL_EA_INFORMATION {
- ULONG NextEntryOffset;
- UCHAR Flags;
- UCHAR EaNameLength;
- USHORT EaValueLength;
- CHAR EaName[1];
-} FILE_FULL_EA_INFORMATION, *PFILE_FULL_EA_INFORMATION;
-
-typedef ULONG_PTR ERESOURCE_THREAD;
-typedef ERESOURCE_THREAD *PERESOURCE_THREAD;
-
-typedef struct _OWNER_ENTRY {
- ERESOURCE_THREAD OwnerThread;
- _ANONYMOUS_UNION union {
- LONG OwnerCount;
- ULONG TableSize;
- } DUMMYUNIONNAME;
-} OWNER_ENTRY, *POWNER_ENTRY;
-
-/* ERESOURCE.Flag */
-
-#define ResourceNeverExclusive 0x0010
-#define ResourceReleaseByOtherThread 0x0020
-#define ResourceOwnedExclusive 0x0080
-
-#define RESOURCE_HASH_TABLE_SIZE 64
-
-typedef struct _ERESOURCE {
- LIST_ENTRY SystemResourcesList;
- POWNER_ENTRY OwnerTable;
- SHORT ActiveCount;
- USHORT Flag;
- PKSEMAPHORE SharedWaiters;
- PKEVENT ExclusiveWaiters;
- OWNER_ENTRY OwnerThreads[2];
- ULONG ContentionCount;
- USHORT NumberOfSharedWaiters;
- USHORT NumberOfExclusiveWaiters;
- _ANONYMOUS_UNION union {
- PVOID Address;
- ULONG_PTR CreatorBackTraceIndex;
- } DUMMYUNIONNAME;
- KSPIN_LOCK SpinLock;
-} ERESOURCE, *PERESOURCE;
-
-/* NOTE: PVOID for methods to avoid 'assignment from incompatible pointer type' warning */
-typedef struct _DRIVER_EXTENSION {
- struct _DRIVER_OBJECT *DriverObject;
- PVOID AddDevice;
- ULONG Count;
- UNICODE_STRING ServiceKeyName;
-} DRIVER_EXTENSION, *PDRIVER_EXTENSION;
-
-typedef BOOLEAN DDKAPI
-(*PFAST_IO_CHECK_IF_POSSIBLE)(
- /*IN*/ struct _FILE_OBJECT *FileObject,
- /*IN*/ PLARGE_INTEGER FileOffset,
- /*IN*/ ULONG Length,
- /*IN*/ BOOLEAN Wait,
- /*IN*/ ULONG LockKey,
- /*IN*/ BOOLEAN CheckForReadOperation,
- /*OUT*/ PIO_STATUS_BLOCK IoStatus,
- /*IN*/ struct _DEVICE_OBJECT *DeviceObject);
-
-typedef BOOLEAN DDKAPI
-(*PFAST_IO_READ)(
- /*IN*/ struct _FILE_OBJECT *FileObject,
- /*IN*/ PLARGE_INTEGER FileOffset,
- /*IN*/ ULONG Length,
- /*IN*/ BOOLEAN Wait,
- /*IN*/ ULONG LockKey,
- /*OUT*/ PVOID Buffer,
- /*OUT*/ PIO_STATUS_BLOCK IoStatus,
- /*IN*/ struct _DEVICE_OBJECT *DeviceObject);
-
-typedef BOOLEAN DDKAPI
-(*PFAST_IO_WRITE)(
- /*IN*/ struct _FILE_OBJECT *FileObject,
- /*IN*/ PLARGE_INTEGER FileOffset,
- /*IN*/ ULONG Length,
- /*IN*/ BOOLEAN Wait,
- /*IN*/ ULONG LockKey,
- /*IN*/ PVOID Buffer,
- /*OUT*/ PIO_STATUS_BLOCK IoStatus,
- /*IN*/ struct _DEVICE_OBJECT *DeviceObject);
-
-typedef BOOLEAN DDKAPI
-(*PFAST_IO_QUERY_BASIC_INFO)(
- /*IN*/ struct _FILE_OBJECT *FileObject,
- /*IN*/ BOOLEAN Wait,
- /*OUT*/ PFILE_BASIC_INFORMATION Buffer,
- /*OUT*/ PIO_STATUS_BLOCK IoStatus,
- /*IN*/ struct _DEVICE_OBJECT *DeviceObject);
-
-typedef BOOLEAN DDKAPI
-(*PFAST_IO_QUERY_STANDARD_INFO)(
- /*IN*/ struct _FILE_OBJECT *FileObject,
- /*IN*/ BOOLEAN Wait,
- /*OUT*/ PFILE_STANDARD_INFORMATION Buffer,
- /*OUT*/ PIO_STATUS_BLOCK IoStatus,
- /*IN*/ struct _DEVICE_OBJECT *DeviceObject);
-
-typedef BOOLEAN DDKAPI
-(*PFAST_IO_LOCK)(
- /*IN*/ struct _FILE_OBJECT *FileObject,
- /*IN*/ PLARGE_INTEGER FileOffset,
- /*IN*/ PLARGE_INTEGER Length,
- PEPROCESS ProcessId,
- ULONG Key,
- BOOLEAN FailImmediately,
- BOOLEAN ExclusiveLock,
- /*OUT*/ PIO_STATUS_BLOCK IoStatus,
- /*IN*/ struct _DEVICE_OBJECT *DeviceObject);
-
-typedef BOOLEAN DDKAPI
-(*PFAST_IO_UNLOCK_SINGLE)(
- /*IN*/ struct _FILE_OBJECT *FileObject,
- /*IN*/ PLARGE_INTEGER FileOffset,
- /*IN*/ PLARGE_INTEGER Length,
- PEPROCESS ProcessId,
- ULONG Key,
- /*OUT*/ PIO_STATUS_BLOCK IoStatus,
- /*IN*/ struct _DEVICE_OBJECT *DeviceObject);
-
-typedef BOOLEAN DDKAPI
-(*PFAST_IO_UNLOCK_ALL)(
- /*IN*/ struct _FILE_OBJECT *FileObject,
- PEPROCESS ProcessId,
- /*OUT*/ PIO_STATUS_BLOCK IoStatus,
- /*IN*/ struct _DEVICE_OBJECT *DeviceObject);
-
-typedef BOOLEAN DDKAPI
-(*PFAST_IO_UNLOCK_ALL_BY_KEY)(
- /*IN*/ struct _FILE_OBJECT *FileObject,
- PVOID ProcessId,
- ULONG Key,
- /*OUT*/ PIO_STATUS_BLOCK IoStatus,
- /*IN*/ struct _DEVICE_OBJECT *DeviceObject);
-
-typedef BOOLEAN DDKAPI
-(*PFAST_IO_DEVICE_CONTROL)(
- /*IN*/ struct _FILE_OBJECT *FileObject,
- /*IN*/ BOOLEAN Wait,
- /*IN*/ PVOID InputBuffer /*OPTIONAL*/,
- /*IN*/ ULONG InputBufferLength,
- /*OUT*/ PVOID OutputBuffer /*OPTIONAL*/,
- /*IN*/ ULONG OutputBufferLength,
- /*IN*/ ULONG IoControlCode,
- /*OUT*/ PIO_STATUS_BLOCK IoStatus,
- /*IN*/ struct _DEVICE_OBJECT *DeviceObject);
-
-typedef VOID DDKAPI
-(*PFAST_IO_ACQUIRE_FILE)(
- /*IN*/ struct _FILE_OBJECT *FileObject);
-
-typedef VOID DDKAPI
-(*PFAST_IO_RELEASE_FILE)(
- /*IN*/ struct _FILE_OBJECT *FileObject);
-
-typedef VOID DDKAPI
-(*PFAST_IO_DETACH_DEVICE)(
- /*IN*/ struct _DEVICE_OBJECT *SourceDevice,
- /*IN*/ struct _DEVICE_OBJECT *TargetDevice);
-
-typedef BOOLEAN DDKAPI
-(*PFAST_IO_QUERY_NETWORK_OPEN_INFO)(
- /*IN*/ struct _FILE_OBJECT *FileObject,
- /*IN*/ BOOLEAN Wait,
- /*OUT*/ struct _FILE_NETWORK_OPEN_INFORMATION *Buffer,
- /*OUT*/ struct _IO_STATUS_BLOCK *IoStatus,
- /*IN*/ struct _DEVICE_OBJECT *DeviceObject);
-
-typedef NTSTATUS DDKAPI
-(*PFAST_IO_ACQUIRE_FOR_MOD_WRITE)(
- /*IN*/ struct _FILE_OBJECT *FileObject,
- /*IN*/ PLARGE_INTEGER EndingOffset,
- /*OUT*/ struct _ERESOURCE **ResourceToRelease,
- /*IN*/ struct _DEVICE_OBJECT *DeviceObject);
-
-typedef BOOLEAN DDKAPI
-(*PFAST_IO_MDL_READ)(
- /*IN*/ struct _FILE_OBJECT *FileObject,
- /*IN*/ PLARGE_INTEGER FileOffset,
- /*IN*/ ULONG Length,
- /*IN*/ ULONG LockKey,
- /*OUT*/ PMDL *MdlChain,
- /*OUT*/ PIO_STATUS_BLOCK IoStatus,
- /*IN*/ struct _DEVICE_OBJECT *DeviceObject);
-
-typedef BOOLEAN DDKAPI
-(*PFAST_IO_MDL_READ_COMPLETE)(
- /*IN*/ struct _FILE_OBJECT *FileObject,
- /*IN*/ PMDL MdlChain,
- /*IN*/ struct _DEVICE_OBJECT *DeviceObject);
-
-typedef BOOLEAN DDKAPI
-(*PFAST_IO_PREPARE_MDL_WRITE)(
- /*IN*/ struct _FILE_OBJECT *FileObject,
- /*IN*/ PLARGE_INTEGER FileOffset,
- /*IN*/ ULONG Length,
- /*IN*/ ULONG LockKey,
- /*OUT*/ PMDL *MdlChain,
- /*OUT*/ PIO_STATUS_BLOCK IoStatus,
- /*IN*/ struct _DEVICE_OBJECT *DeviceObject);
-
-typedef BOOLEAN DDKAPI
-(*PFAST_IO_MDL_WRITE_COMPLETE)(
- /*IN*/ struct _FILE_OBJECT *FileObject,
- /*IN*/ PLARGE_INTEGER FileOffset,
- /*IN*/ PMDL MdlChain,
- /*IN*/ struct _DEVICE_OBJECT *DeviceObject);
-
-typedef BOOLEAN DDKAPI
-(*PFAST_IO_READ_COMPRESSED)(
- /*IN*/ struct _FILE_OBJECT *FileObject,
- /*IN*/ PLARGE_INTEGER FileOffset,
- /*IN*/ ULONG Length,
- /*IN*/ ULONG LockKey,
- /*OUT*/ PVOID Buffer,
- /*OUT*/ PMDL *MdlChain,
- /*OUT*/ PIO_STATUS_BLOCK IoStatus,
- /*OUT*/ struct _COMPRESSED_DATA_INFO *CompressedDataInfo,
- /*IN*/ ULONG CompressedDataInfoLength,
- /*IN*/ struct _DEVICE_OBJECT *DeviceObject);
-
-typedef BOOLEAN DDKAPI
-(*PFAST_IO_WRITE_COMPRESSED)(
- /*IN*/ struct _FILE_OBJECT *FileObject,
- /*IN*/ PLARGE_INTEGER FileOffset,
- /*IN*/ ULONG Length,
- /*IN*/ ULONG LockKey,
- /*IN*/ PVOID Buffer,
- /*OUT*/ PMDL *MdlChain,
- /*OUT*/ PIO_STATUS_BLOCK IoStatus,
- /*IN*/ struct _COMPRESSED_DATA_INFO *CompressedDataInfo,
- /*IN*/ ULONG CompressedDataInfoLength,
- /*IN*/ struct _DEVICE_OBJECT *DeviceObject);
-
-typedef BOOLEAN DDKAPI
-(*PFAST_IO_MDL_READ_COMPLETE_COMPRESSED)(
- /*IN*/ struct _FILE_OBJECT *FileObject,
- /*IN*/ PMDL MdlChain,
- /*IN*/ struct _DEVICE_OBJECT *DeviceObject);
-
-typedef BOOLEAN DDKAPI
-(*PFAST_IO_MDL_WRITE_COMPLETE_COMPRESSED)(
- /*IN*/ struct _FILE_OBJECT *FileObject,
- /*IN*/ PLARGE_INTEGER FileOffset,
- /*IN*/ PMDL MdlChain,
- /*IN*/ struct _DEVICE_OBJECT *DeviceObject);
-
-typedef BOOLEAN DDKAPI
-(*PFAST_IO_QUERY_OPEN)(
- /*IN*/ struct _IRP *Irp,
- /*OUT*/ PFILE_NETWORK_OPEN_INFORMATION NetworkInformation,
- /*IN*/ struct _DEVICE_OBJECT *DeviceObject);
-
-typedef NTSTATUS DDKAPI
-(*PFAST_IO_RELEASE_FOR_MOD_WRITE)(
- /*IN*/ struct _FILE_OBJECT *FileObject,
- /*IN*/ struct _ERESOURCE *ResourceToRelease,
- /*IN*/ struct _DEVICE_OBJECT *DeviceObject);
-
-typedef NTSTATUS DDKAPI
-(*PFAST_IO_ACQUIRE_FOR_CCFLUSH)(
- /*IN*/ struct _FILE_OBJECT *FileObject,
- /*IN*/ struct _DEVICE_OBJECT *DeviceObject);
-
-typedef NTSTATUS DDKAPI
-(*PFAST_IO_RELEASE_FOR_CCFLUSH) (
- /*IN*/ struct _FILE_OBJECT *FileObject,
- /*IN*/ struct _DEVICE_OBJECT *DeviceObject);
-
-typedef struct _FAST_IO_DISPATCH {
- ULONG SizeOfFastIoDispatch;
- PFAST_IO_CHECK_IF_POSSIBLE FastIoCheckIfPossible;
- PFAST_IO_READ FastIoRead;
- PFAST_IO_WRITE FastIoWrite;
- PFAST_IO_QUERY_BASIC_INFO FastIoQueryBasicInfo;
- PFAST_IO_QUERY_STANDARD_INFO FastIoQueryStandardInfo;
- PFAST_IO_LOCK FastIoLock;
- PFAST_IO_UNLOCK_SINGLE FastIoUnlockSingle;
- PFAST_IO_UNLOCK_ALL FastIoUnlockAll;
- PFAST_IO_UNLOCK_ALL_BY_KEY FastIoUnlockAllByKey;
- PFAST_IO_DEVICE_CONTROL FastIoDeviceControl;
- PFAST_IO_ACQUIRE_FILE AcquireFileForNtCreateSection;
- PFAST_IO_RELEASE_FILE ReleaseFileForNtCreateSection;
- PFAST_IO_DETACH_DEVICE FastIoDetachDevice;
- PFAST_IO_QUERY_NETWORK_OPEN_INFO FastIoQueryNetworkOpenInfo;
- PFAST_IO_ACQUIRE_FOR_MOD_WRITE AcquireForModWrite;
- PFAST_IO_MDL_READ MdlRead;
- PFAST_IO_MDL_READ_COMPLETE MdlReadComplete;
- PFAST_IO_PREPARE_MDL_WRITE PrepareMdlWrite;
- PFAST_IO_MDL_WRITE_COMPLETE MdlWriteComplete;
- PFAST_IO_READ_COMPRESSED FastIoReadCompressed;
- PFAST_IO_WRITE_COMPRESSED FastIoWriteCompressed;
- PFAST_IO_MDL_READ_COMPLETE_COMPRESSED MdlReadCompleteCompressed;
- PFAST_IO_MDL_WRITE_COMPLETE_COMPRESSED MdlWriteCompleteCompressed;
- PFAST_IO_QUERY_OPEN FastIoQueryOpen;
- PFAST_IO_RELEASE_FOR_MOD_WRITE ReleaseForModWrite;
- PFAST_IO_ACQUIRE_FOR_CCFLUSH AcquireForCcFlush;
- PFAST_IO_RELEASE_FOR_CCFLUSH ReleaseForCcFlush;
-} FAST_IO_DISPATCH, *PFAST_IO_DISPATCH;
-
-typedef struct _DRIVER_OBJECT {
- CSHORT Type;
- CSHORT Size;
- PDEVICE_OBJECT DeviceObject;
- ULONG Flags;
- PVOID DriverStart;
- ULONG DriverSize;
- PVOID DriverSection;
- PDRIVER_EXTENSION DriverExtension;
- UNICODE_STRING DriverName;
- PUNICODE_STRING HardwareDatabase;
- PFAST_IO_DISPATCH FastIoDispatch;
- PDRIVER_INITIALIZE DriverInit;
- PDRIVER_STARTIO DriverStartIo;
- PDRIVER_UNLOAD DriverUnload;
- PDRIVER_DISPATCH MajorFunction[IRP_MJ_MAXIMUM_FUNCTION + 1];
-} DRIVER_OBJECT;
-typedef struct _DRIVER_OBJECT *PDRIVER_OBJECT;
-
-typedef struct _SECTION_OBJECT_POINTERS {
- PVOID DataSectionObject;
- PVOID SharedCacheMap;
- PVOID ImageSectionObject;
-} SECTION_OBJECT_POINTERS, *PSECTION_OBJECT_POINTERS;
-
-typedef struct _IO_COMPLETION_CONTEXT {
- PVOID Port;
- PVOID Key;
-} IO_COMPLETION_CONTEXT, *PIO_COMPLETION_CONTEXT;
-
-/* FILE_OBJECT.Flags */
-
-#define FO_FILE_OPEN 0x00000001
-#define FO_SYNCHRONOUS_IO 0x00000002
-#define FO_ALERTABLE_IO 0x00000004
-#define FO_NO_INTERMEDIATE_BUFFERING 0x00000008
-#define FO_WRITE_THROUGH 0x00000010
-#define FO_SEQUENTIAL_ONLY 0x00000020
-#define FO_CACHE_SUPPORTED 0x00000040
-#define FO_NAMED_PIPE 0x00000080
-#define FO_STREAM_FILE 0x00000100
-#define FO_MAILSLOT 0x00000200
-#define FO_GENERATE_AUDIT_ON_CLOSE 0x00000400
-#define FO_DIRECT_DEVICE_OPEN 0x00000800
-#define FO_FILE_MODIFIED 0x00001000
-#define FO_FILE_SIZE_CHANGED 0x00002000
-#define FO_CLEANUP_COMPLETE 0x00004000
-#define FO_TEMPORARY_FILE 0x00008000
-#define FO_DELETE_ON_CLOSE 0x00010000
-#define FO_OPENED_CASE_SENSITIVE 0x00020000
-#define FO_HANDLE_CREATED 0x00040000
-#define FO_FILE_FAST_IO_READ 0x00080000
-#define FO_RANDOM_ACCESS 0x00100000
-#define FO_FILE_OPEN_CANCELLED 0x00200000
-#define FO_VOLUME_OPEN 0x00400000
-#define FO_FILE_OBJECT_HAS_EXTENSION 0x00800000
-#define FO_REMOTE_ORIGIN 0x01000000
-
-typedef struct _FILE_OBJECT {
- CSHORT Type;
- CSHORT Size;
- PDEVICE_OBJECT DeviceObject;
- PVPB Vpb;
- PVOID FsContext;
- PVOID FsContext2;
- PSECTION_OBJECT_POINTERS SectionObjectPointer;
- PVOID PrivateCacheMap;
- NTSTATUS FinalStatus;
- struct _FILE_OBJECT *RelatedFileObject;
- BOOLEAN LockOperation;
- BOOLEAN DeletePending;
- BOOLEAN ReadAccess;
- BOOLEAN WriteAccess;
- BOOLEAN DeleteAccess;
- BOOLEAN SharedRead;
- BOOLEAN SharedWrite;
- BOOLEAN SharedDelete;
- ULONG Flags;
- UNICODE_STRING FileName;
- LARGE_INTEGER CurrentByteOffset;
- ULONG Waiters;
- ULONG Busy;
- PVOID LastLock;
- KEVENT Lock;
- KEVENT Event;
- PIO_COMPLETION_CONTEXT CompletionContext;
-} FILE_OBJECT;
-typedef struct _FILE_OBJECT *PFILE_OBJECT;
-
-typedef enum _SECURITY_OPERATION_CODE {
- SetSecurityDescriptor,
- QuerySecurityDescriptor,
- DeleteSecurityDescriptor,
- AssignSecurityDescriptor
-} SECURITY_OPERATION_CODE, *PSECURITY_OPERATION_CODE;
-
-#define INITIAL_PRIVILEGE_COUNT 3
-
-typedef struct _INITIAL_PRIVILEGE_SET {
- ULONG PrivilegeCount;
- ULONG Control;
- LUID_AND_ATTRIBUTES Privilege[INITIAL_PRIVILEGE_COUNT];
-} INITIAL_PRIVILEGE_SET, * PINITIAL_PRIVILEGE_SET;
-
-typedef struct _SECURITY_SUBJECT_CONTEXT {
- PACCESS_TOKEN ClientToken;
- SECURITY_IMPERSONATION_LEVEL ImpersonationLevel;
- PACCESS_TOKEN PrimaryToken;
- PVOID ProcessAuditId;
-} SECURITY_SUBJECT_CONTEXT, *PSECURITY_SUBJECT_CONTEXT;
-
-#include <pshpack4.h>
-typedef struct _ACCESS_STATE {
- LUID OperationID;
- BOOLEAN SecurityEvaluated;
- BOOLEAN GenerateAudit;
- BOOLEAN GenerateOnClose;
- BOOLEAN PrivilegesAllocated;
- ULONG Flags;
- ACCESS_MASK RemainingDesiredAccess;
- ACCESS_MASK PreviouslyGrantedAccess;
- ACCESS_MASK OriginalDesiredAccess;
- SECURITY_SUBJECT_CONTEXT SubjectSecurityContext;
- PSECURITY_DESCRIPTOR SecurityDescriptor;
- PVOID AuxData;
- union {
- INITIAL_PRIVILEGE_SET InitialPrivilegeSet;
- PRIVILEGE_SET PrivilegeSet;
- } Privileges;
-
- BOOLEAN AuditPrivileges;
- UNICODE_STRING ObjectName;
- UNICODE_STRING ObjectTypeName;
-} ACCESS_STATE, *PACCESS_STATE;
-#include <poppack.h>
-
-typedef struct _IO_SECURITY_CONTEXT {
- PSECURITY_QUALITY_OF_SERVICE SecurityQos;
- PACCESS_STATE AccessState;
- ACCESS_MASK DesiredAccess;
- ULONG FullCreateOptions;
-} IO_SECURITY_CONTEXT, *PIO_SECURITY_CONTEXT;
-
-struct _IO_CSQ;
-
-typedef struct _IO_CSQ_IRP_CONTEXT {
- ULONG Type;
- struct _IRP *Irp;
- struct _IO_CSQ *Csq;
-} IO_CSQ_IRP_CONTEXT, *PIO_CSQ_IRP_CONTEXT;
-
-typedef VOID DDKAPI
-(*PIO_CSQ_INSERT_IRP)(
- /*IN*/ struct _IO_CSQ *Csq,
- /*IN*/ PIRP Irp);
-
-typedef VOID DDKAPI
-(*PIO_CSQ_REMOVE_IRP)(
- /*IN*/ struct _IO_CSQ *Csq,
- /*IN*/ PIRP Irp);
-
-typedef PIRP DDKAPI
-(*PIO_CSQ_PEEK_NEXT_IRP)(
- /*IN*/ struct _IO_CSQ *Csq,
- /*IN*/ PIRP Irp,
- /*IN*/ PVOID PeekContext);
-
-typedef VOID DDKAPI
-(*PIO_CSQ_ACQUIRE_LOCK)(
- /*IN*/ struct _IO_CSQ *Csq,
- /*OUT*/ PKIRQL Irql);
-
-typedef VOID DDKAPI
-(*PIO_CSQ_RELEASE_LOCK)(
- /*IN*/ struct _IO_CSQ *Csq,
- /*IN*/ KIRQL Irql);
-
-typedef VOID DDKAPI
-(*PIO_CSQ_COMPLETE_CANCELED_IRP)(
- /*IN*/ struct _IO_CSQ *Csq,
- /*IN*/ PIRP Irp);
-
-typedef struct _IO_CSQ {
- ULONG Type;
- PIO_CSQ_INSERT_IRP CsqInsertIrp;
- PIO_CSQ_REMOVE_IRP CsqRemoveIrp;
- PIO_CSQ_PEEK_NEXT_IRP CsqPeekNextIrp;
- PIO_CSQ_ACQUIRE_LOCK CsqAcquireLock;
- PIO_CSQ_RELEASE_LOCK CsqReleaseLock;
- PIO_CSQ_COMPLETE_CANCELED_IRP CsqCompleteCanceledIrp;
- PVOID ReservePointer;
-} IO_CSQ, *PIO_CSQ;
-
-#include <pshpack4.h>
-typedef struct _IO_STACK_LOCATION {
- UCHAR MajorFunction;
- UCHAR MinorFunction;
- UCHAR Flags;
- UCHAR Control;
- union {
- struct {
- PIO_SECURITY_CONTEXT SecurityContext;
- ULONG Options;
- USHORT POINTER_ALIGNMENT FileAttributes;
- USHORT ShareAccess;
- ULONG POINTER_ALIGNMENT EaLength;
- } Create;
- struct {
- ULONG Length;
- ULONG POINTER_ALIGNMENT Key;
- LARGE_INTEGER ByteOffset;
- } Read;
- struct {
- ULONG Length;
- ULONG POINTER_ALIGNMENT Key;
- LARGE_INTEGER ByteOffset;
- } Write;
- struct {
- ULONG Length;
- FILE_INFORMATION_CLASS POINTER_ALIGNMENT FileInformationClass;
- } QueryFile;
- struct {
- ULONG Length;
- FILE_INFORMATION_CLASS POINTER_ALIGNMENT FileInformationClass;
- PFILE_OBJECT FileObject;
- _ANONYMOUS_UNION union {
- _ANONYMOUS_STRUCT struct {
- BOOLEAN ReplaceIfExists;
- BOOLEAN AdvanceOnly;
- } DUMMYSTRUCTNAME;
- ULONG ClusterCount;
- HANDLE DeleteHandle;
- } DUMMYUNIONNAME;
- } SetFile;
- struct {
- ULONG Length;
- FS_INFORMATION_CLASS POINTER_ALIGNMENT FsInformationClass;
- } QueryVolume;
- struct {
- ULONG OutputBufferLength;
- ULONG POINTER_ALIGNMENT InputBufferLength;
- ULONG POINTER_ALIGNMENT IoControlCode;
- PVOID Type3InputBuffer;
- } DeviceIoControl;
- struct {
- SECURITY_INFORMATION SecurityInformation;
- ULONG POINTER_ALIGNMENT Length;
- } QuerySecurity;
- struct {
- SECURITY_INFORMATION SecurityInformation;
- PSECURITY_DESCRIPTOR SecurityDescriptor;
- } SetSecurity;
- struct {
- PVPB Vpb;
- PDEVICE_OBJECT DeviceObject;
- } MountVolume;
- struct {
- PVPB Vpb;
- PDEVICE_OBJECT DeviceObject;
- } VerifyVolume;
- struct {
- struct _SCSI_REQUEST_BLOCK *Srb;
- } Scsi;
- struct {
- DEVICE_RELATION_TYPE Type;
- } QueryDeviceRelations;
- struct {
- CONST GUID *InterfaceType;
- USHORT Size;
- USHORT Version;
- PINTERFACE Interface;
- PVOID InterfaceSpecificData;
- } QueryInterface;
- struct {
- PDEVICE_CAPABILITIES Capabilities;
- } DeviceCapabilities;
- struct {
- PIO_RESOURCE_REQUIREMENTS_LIST IoResourceRequirementList;
- } FilterResourceRequirements;
- struct {
- ULONG WhichSpace;
- PVOID Buffer;
- ULONG Offset;
- ULONG POINTER_ALIGNMENT Length;
- } ReadWriteConfig;
- struct {
- BOOLEAN Lock;
- } SetLock;
- struct {
- BUS_QUERY_ID_TYPE IdType;
- } QueryId;
- struct {
- DEVICE_TEXT_TYPE DeviceTextType;
- LCID POINTER_ALIGNMENT LocaleId;
- } QueryDeviceText;
- struct {
- BOOLEAN InPath;
- BOOLEAN Reserved[3];
- DEVICE_USAGE_NOTIFICATION_TYPE POINTER_ALIGNMENT Type;
- } UsageNotification;
- struct {
- SYSTEM_POWER_STATE PowerState;
- } WaitWake;
- struct {
- PPOWER_SEQUENCE PowerSequence;
- } PowerSequence;
- struct {
- ULONG SystemContext;
- POWER_STATE_TYPE POINTER_ALIGNMENT Type;
- POWER_STATE POINTER_ALIGNMENT State;
- POWER_ACTION POINTER_ALIGNMENT ShutdownType;
- } Power;
- struct {
- PCM_RESOURCE_LIST AllocatedResources;
- PCM_RESOURCE_LIST AllocatedResourcesTranslated;
- } StartDevice;
- struct {
- ULONG_PTR ProviderId;
- PVOID DataPath;
- ULONG BufferSize;
- PVOID Buffer;
- } WMI;
- struct {
- PVOID Argument1;
- PVOID Argument2;
- PVOID Argument3;
- PVOID Argument4;
- } Others;
- } Parameters;
- PDEVICE_OBJECT DeviceObject;
- PFILE_OBJECT FileObject;
- PIO_COMPLETION_ROUTINE CompletionRoutine;
- PVOID Context;
-} IO_STACK_LOCATION, *PIO_STACK_LOCATION;
-#include <poppack.h>
-
-/* IO_STACK_LOCATION.Control */
-
-#define SL_PENDING_RETURNED 0x01
-#define SL_INVOKE_ON_CANCEL 0x20
-#define SL_INVOKE_ON_SUCCESS 0x40
-#define SL_INVOKE_ON_ERROR 0x80
-
-typedef enum _KEY_INFORMATION_CLASS {
- KeyBasicInformation,
- KeyNodeInformation,
- KeyFullInformation,
- KeyNameInformation,
- KeyCachedInformation,
- KeyFlagsInformation
-} KEY_INFORMATION_CLASS;
-
-typedef struct _KEY_BASIC_INFORMATION {
- LARGE_INTEGER LastWriteTime;
- ULONG TitleIndex;
- ULONG NameLength;
- WCHAR Name[1];
-} KEY_BASIC_INFORMATION, *PKEY_BASIC_INFORMATION;
-
-typedef struct _KEY_FULL_INFORMATION {
- LARGE_INTEGER LastWriteTime;
- ULONG TitleIndex;
- ULONG ClassOffset;
- ULONG ClassLength;
- ULONG SubKeys;
- ULONG MaxNameLen;
- ULONG MaxClassLen;
- ULONG Values;
- ULONG MaxValueNameLen;
- ULONG MaxValueDataLen;
- WCHAR Class[1];
-} KEY_FULL_INFORMATION, *PKEY_FULL_INFORMATION;
-
-typedef struct _KEY_NODE_INFORMATION {
- LARGE_INTEGER LastWriteTime;
- ULONG TitleIndex;
- ULONG ClassOffset;
- ULONG ClassLength;
- ULONG NameLength;
- WCHAR Name[1];
-} KEY_NODE_INFORMATION, *PKEY_NODE_INFORMATION;
-
-typedef struct _KEY_VALUE_BASIC_INFORMATION {
- ULONG TitleIndex;
- ULONG Type;
- ULONG NameLength;
- WCHAR Name[1];
-} KEY_VALUE_BASIC_INFORMATION, *PKEY_VALUE_BASIC_INFORMATION;
-
-typedef struct _KEY_VALUE_FULL_INFORMATION {
- ULONG TitleIndex;
- ULONG Type;
- ULONG DataOffset;
- ULONG DataLength;
- ULONG NameLength;
- WCHAR Name[1];
-} KEY_VALUE_FULL_INFORMATION, *PKEY_VALUE_FULL_INFORMATION;
-
-typedef struct _KEY_VALUE_PARTIAL_INFORMATION {
- ULONG TitleIndex;
- ULONG Type;
- ULONG DataLength;
- UCHAR Data[1];
-} KEY_VALUE_PARTIAL_INFORMATION, *PKEY_VALUE_PARTIAL_INFORMATION;
-
-typedef struct _KEY_VALUE_PARTIAL_INFORMATION_ALIGN64 {
- ULONG Type;
- ULONG DataLength;
- UCHAR Data[1];
-} KEY_VALUE_PARTIAL_INFORMATION_ALIGN64, *PKEY_VALUE_PARTIAL_INFORMATION_ALIGN64;
-
-typedef struct _KEY_VALUE_ENTRY {
- PUNICODE_STRING ValueName;
- ULONG DataLength;
- ULONG DataOffset;
- ULONG Type;
-} KEY_VALUE_ENTRY, *PKEY_VALUE_ENTRY;
-
-typedef enum _KEY_VALUE_INFORMATION_CLASS {
- KeyValueBasicInformation,
- KeyValueFullInformation,
- KeyValuePartialInformation,
- KeyValueFullInformationAlign64,
- KeyValuePartialInformationAlign64
-} KEY_VALUE_INFORMATION_CLASS;
-
-/* KEY_VALUE_Xxx.Type */
-
-#define REG_NONE 0
-#define REG_SZ 1
-#define REG_EXPAND_SZ 2
-#define REG_BINARY 3
-#define REG_DWORD 4
-#define REG_DWORD_LITTLE_ENDIAN 4
-#define REG_DWORD_BIG_ENDIAN 5
-#define REG_LINK 6
-#define REG_MULTI_SZ 7
-#define REG_RESOURCE_LIST 8
-#define REG_FULL_RESOURCE_DESCRIPTOR 9
-#define REG_RESOURCE_REQUIREMENTS_LIST 10
-#define REG_QWORD 11
-#define REG_QWORD_LITTLE_ENDIAN 11
-
-#define PCI_TYPE0_ADDRESSES 6
-#define PCI_TYPE1_ADDRESSES 2
-#define PCI_TYPE2_ADDRESSES 5
-
-typedef struct _PCI_COMMON_CONFIG {
- USHORT VendorID;
- USHORT DeviceID;
- USHORT Command;
- USHORT Status;
- UCHAR RevisionID;
- UCHAR ProgIf;
- UCHAR SubClass;
- UCHAR BaseClass;
- UCHAR CacheLineSize;
- UCHAR LatencyTimer;
- UCHAR HeaderType;
- UCHAR BIST;
- union {
- struct _PCI_HEADER_TYPE_0 {
- ULONG BaseAddresses[PCI_TYPE0_ADDRESSES];
- ULONG CIS;
- USHORT SubVendorID;
- USHORT SubSystemID;
- ULONG ROMBaseAddress;
- UCHAR CapabilitiesPtr;
- UCHAR Reserved1[3];
- ULONG Reserved2;
- UCHAR InterruptLine;
- UCHAR InterruptPin;
- UCHAR MinimumGrant;
- UCHAR MaximumLatency;
- } type0;
- struct _PCI_HEADER_TYPE_1 {
- ULONG BaseAddresses[PCI_TYPE1_ADDRESSES];
- UCHAR PrimaryBus;
- UCHAR SecondaryBus;
- UCHAR SubordinateBus;
- UCHAR SecondaryLatency;
- UCHAR IOBase;
- UCHAR IOLimit;
- USHORT SecondaryStatus;
- USHORT MemoryBase;
- USHORT MemoryLimit;
- USHORT PrefetchBase;
- USHORT PrefetchLimit;
- ULONG PrefetchBaseUpper32;
- ULONG PrefetchLimitUpper32;
- USHORT IOBaseUpper16;
- USHORT IOLimitUpper16;
- UCHAR CapabilitiesPtr;
- UCHAR Reserved1[3];
- ULONG ROMBaseAddress;
- UCHAR InterruptLine;
- UCHAR InterruptPin;
- USHORT BridgeControl;
- } type1;
- struct _PCI_HEADER_TYPE_2 {
- ULONG SocketRegistersBaseAddress;
- UCHAR CapabilitiesPtr;
- UCHAR Reserved;
- USHORT SecondaryStatus;
- UCHAR PrimaryBus;
- UCHAR SecondaryBus;
- UCHAR SubordinateBus;
- UCHAR SecondaryLatency;
- struct {
- ULONG Base;
- ULONG Limit;
- } Range[PCI_TYPE2_ADDRESSES - 1];
- UCHAR InterruptLine;
- UCHAR InterruptPin;
- USHORT BridgeControl;
- } type2;
- } u;
- UCHAR DeviceSpecific[192];
-} PCI_COMMON_CONFIG, *PPCI_COMMON_CONFIG;
-
-/* PCI_COMMON_CONFIG.Command */
-
-#define PCI_ENABLE_IO_SPACE 0x0001
-#define PCI_ENABLE_MEMORY_SPACE 0x0002
-#define PCI_ENABLE_BUS_MASTER 0x0004
-#define PCI_ENABLE_SPECIAL_CYCLES 0x0008
-#define PCI_ENABLE_WRITE_AND_INVALIDATE 0x0010
-#define PCI_ENABLE_VGA_COMPATIBLE_PALETTE 0x0020
-#define PCI_ENABLE_PARITY 0x0040
-#define PCI_ENABLE_WAIT_CYCLE 0x0080
-#define PCI_ENABLE_SERR 0x0100
-#define PCI_ENABLE_FAST_BACK_TO_BACK 0x0200
-
-/* PCI_COMMON_CONFIG.Status */
-
-#define PCI_STATUS_CAPABILITIES_LIST 0x0010
-#define PCI_STATUS_66MHZ_CAPABLE 0x0020
-#define PCI_STATUS_UDF_SUPPORTED 0x0040
-#define PCI_STATUS_FAST_BACK_TO_BACK 0x0080
-#define PCI_STATUS_DATA_PARITY_DETECTED 0x0100
-#define PCI_STATUS_DEVSEL 0x0600
-#define PCI_STATUS_SIGNALED_TARGET_ABORT 0x0800
-#define PCI_STATUS_RECEIVED_TARGET_ABORT 0x1000
-#define PCI_STATUS_RECEIVED_MASTER_ABORT 0x2000
-#define PCI_STATUS_SIGNALED_SYSTEM_ERROR 0x4000
-#define PCI_STATUS_DETECTED_PARITY_ERROR 0x8000
-
-/* PCI_COMMON_CONFIG.HeaderType */
-
-#define PCI_MULTIFUNCTION 0x80
-#define PCI_DEVICE_TYPE 0x00
-#define PCI_BRIDGE_TYPE 0x01
-#define PCI_CARDBUS_BRIDGE_TYPE 0x02
-
-#define PCI_CONFIGURATION_TYPE(PciData) \
- (((PPCI_COMMON_CONFIG) (PciData))->HeaderType & ~PCI_MULTIFUNCTION)
-
-#define PCI_MULTIFUNCTION_DEVICE(PciData) \
- ((((PPCI_COMMON_CONFIG) (PciData))->HeaderType & PCI_MULTIFUNCTION) != 0)
-
-typedef struct _PCI_SLOT_NUMBER {
- union {
- struct {
- ULONG DeviceNumber : 5;
- ULONG FunctionNumber : 3;
- ULONG Reserved : 24;
- } bits;
- ULONG AsULONG;
- } u;
-} PCI_SLOT_NUMBER, *PPCI_SLOT_NUMBER;
-
-typedef enum _POOL_TYPE {
- NonPagedPool,
- PagedPool,
- NonPagedPoolMustSucceed,
- DontUseThisType,
- NonPagedPoolCacheAligned,
- PagedPoolCacheAligned,
- NonPagedPoolCacheAlignedMustS,
- MaxPoolType,
- NonPagedPoolSession = 32,
- PagedPoolSession,
- NonPagedPoolMustSucceedSession,
- DontUseThisTypeSession,
- NonPagedPoolCacheAlignedSession,
- PagedPoolCacheAlignedSession,
- NonPagedPoolCacheAlignedMustSSession
-} POOL_TYPE;
-
-typedef enum _EX_POOL_PRIORITY {
- LowPoolPriority,
- LowPoolPrioritySpecialPoolOverrun = 8,
- LowPoolPrioritySpecialPoolUnderrun = 9,
- NormalPoolPriority = 16,
- NormalPoolPrioritySpecialPoolOverrun = 24,
- NormalPoolPrioritySpecialPoolUnderrun = 25,
- HighPoolPriority = 32,
- HighPoolPrioritySpecialPoolOverrun = 40,
- HighPoolPrioritySpecialPoolUnderrun = 41
-} EX_POOL_PRIORITY;
-
-/* PRIVILEGE_SET.Control */
-
-#define PRIVILEGE_SET_ALL_NECESSARY 1
-
-typedef struct _RTL_OSVERSIONINFOW {
- ULONG dwOSVersionInfoSize;
- ULONG dwMajorVersion;
- ULONG dwMinorVersion;
- ULONG dwBuildNumber;
- ULONG dwPlatformId;
- WCHAR szCSDVersion[128];
-} RTL_OSVERSIONINFOW, *PRTL_OSVERSIONINFOW;
-
-typedef struct _RTL_OSVERSIONINFOEXW {
- ULONG dwOSVersionInfoSize;
- ULONG dwMajorVersion;
- ULONG dwMinorVersion;
- ULONG dwBuildNumber;
- ULONG dwPlatformId;
- WCHAR szCSDVersion[128];
- USHORT wServicePackMajor;
- USHORT wServicePackMinor;
- USHORT wSuiteMask;
- UCHAR wProductType;
- UCHAR wReserved;
-} RTL_OSVERSIONINFOEXW, *PRTL_OSVERSIONINFOEXW;
-
-NTOSAPI
-ULONGLONG
-DDKAPI
-VerSetConditionMask(
- /*IN*/ ULONGLONG ConditionMask,
- /*IN*/ ULONG TypeMask,
- /*IN*/ UCHAR Condition);
-
-#define VER_SET_CONDITION(ConditionMask, TypeBitMask, ComparisonType) \
- ((ConditionMask) = VerSetConditionMask((ConditionMask), \
- (TypeBitMask), (ComparisonType)))
-
-/* RtlVerifyVersionInfo() TypeMask */
-
-#define VER_MINORVERSION 0x0000001
-#define VER_MAJORVERSION 0x0000002
-#define VER_BUILDNUMBER 0x0000004
-#define VER_PLATFORMID 0x0000008
-#define VER_SERVICEPACKMINOR 0x0000010
-#define VER_SERVICEPACKMAJOR 0x0000020
-#define VER_SUITENAME 0x0000040
-#define VER_PRODUCT_TYPE 0x0000080
-
-/* RtlVerifyVersionInfo() ComparisonType */
-
-#define VER_EQUAL 1
-#define VER_GREATER 2
-#define VER_GREATER_EQUAL 3
-#define VER_LESS 4
-#define VER_LESS_EQUAL 5
-#define VER_AND 6
-#define VER_OR 7
-
-#define VER_CONDITION_MASK 7
-#define VER_NUM_BITS_PER_CONDITION_MASK 3
-
-typedef struct _RTL_BITMAP {
- ULONG SizeOfBitMap;
- PULONG Buffer;
-} RTL_BITMAP, *PRTL_BITMAP;
-
-typedef struct _RTL_BITMAP_RUN {
- ULONG StartingIndex;
- ULONG NumberOfBits;
-} RTL_BITMAP_RUN, *PRTL_BITMAP_RUN;
-
-typedef NTSTATUS DDKAPI
-(*PRTL_QUERY_REGISTRY_ROUTINE)(
- /*IN*/ PWSTR ValueName,
- /*IN*/ ULONG ValueType,
- /*IN*/ PVOID ValueData,
- /*IN*/ ULONG ValueLength,
- /*IN*/ PVOID Context,
- /*IN*/ PVOID EntryContext);
-
-#define RTL_REGISTRY_ABSOLUTE 0
-#define RTL_REGISTRY_SERVICES 1
-#define RTL_REGISTRY_CONTROL 2
-#define RTL_REGISTRY_WINDOWS_NT 3
-#define RTL_REGISTRY_DEVICEMAP 4
-#define RTL_REGISTRY_USER 5
-
-/* RTL_QUERY_REGISTRY_TABLE.Flags */
-#define RTL_QUERY_REGISTRY_SUBKEY 0x00000001
-#define RTL_QUERY_REGISTRY_TOPKEY 0x00000002
-#define RTL_QUERY_REGISTRY_REQUIRED 0x00000004
-#define RTL_QUERY_REGISTRY_NOVALUE 0x00000008
-#define RTL_QUERY_REGISTRY_NOEXPAND 0x00000010
-#define RTL_QUERY_REGISTRY_DIRECT 0x00000020
-#define RTL_QUERY_REGISTRY_DELETE 0x00000040
-
-typedef struct _RTL_QUERY_REGISTRY_TABLE {
- PRTL_QUERY_REGISTRY_ROUTINE QueryRoutine;
- ULONG Flags;
- PWSTR Name;
- PVOID EntryContext;
- ULONG DefaultType;
- PVOID DefaultData;
- ULONG DefaultLength;
-} RTL_QUERY_REGISTRY_TABLE, *PRTL_QUERY_REGISTRY_TABLE;
-
-typedef struct _TIME_FIELDS {
- CSHORT Year;
- CSHORT Month;
- CSHORT Day;
- CSHORT Hour;
- CSHORT Minute;
- CSHORT Second;
- CSHORT Milliseconds;
- CSHORT Weekday;
-} TIME_FIELDS, *PTIME_FIELDS;
-
-typedef PVOID DDKAPI
-(*PALLOCATE_FUNCTION)(
- /*IN*/ POOL_TYPE PoolType,
- /*IN*/ SIZE_T NumberOfBytes,
- /*IN*/ ULONG Tag);
-
-typedef VOID DDKAPI
-(*PFREE_FUNCTION)(
- /*IN*/ PVOID Buffer);
-
-#define GENERAL_LOOKASIDE_S \
- SLIST_HEADER ListHead; \
- USHORT Depth; \
- USHORT MaximumDepth; \
- ULONG TotalAllocates; \
- _ANONYMOUS_UNION union { \
- ULONG AllocateMisses; \
- ULONG AllocateHits; \
- } DUMMYUNIONNAME; \
- ULONG TotalFrees; \
- _ANONYMOUS_UNION union { \
- ULONG FreeMisses; \
- ULONG FreeHits; \
- } DUMMYUNIONNAME2; \
- POOL_TYPE Type; \
- ULONG Tag; \
- ULONG Size; \
- PALLOCATE_FUNCTION Allocate; \
- PFREE_FUNCTION Free; \
- LIST_ENTRY ListEntry; \
- ULONG LastTotalAllocates; \
- _ANONYMOUS_UNION union { \
- ULONG LastAllocateMisses; \
- ULONG LastAllocateHits; \
- } DUMMYUNIONNAME3; \
- ULONG Future[2];
-
-typedef struct _GENERAL_LOOKASIDE {
- GENERAL_LOOKASIDE_S
-} GENERAL_LOOKASIDE, *PGENERAL_LOOKASIDE;
-
-typedef struct _NPAGED_LOOKASIDE_LIST {
- GENERAL_LOOKASIDE_S
- KSPIN_LOCK Obsoleted;
-} NPAGED_LOOKASIDE_LIST, *PNPAGED_LOOKASIDE_LIST;
-
-typedef struct _PAGED_LOOKASIDE_LIST {
- GENERAL_LOOKASIDE_S
- FAST_MUTEX Obsoleted;
-} PAGED_LOOKASIDE_LIST, *PPAGED_LOOKASIDE_LIST;
-
-typedef struct _CALLBACK_OBJECT *PCALLBACK_OBJECT;
-
-typedef VOID DDKAPI (*PCALLBACK_FUNCTION)(
- /*IN*/ PVOID CallbackContext,
- /*IN*/ PVOID Argument1,
- /*IN*/ PVOID Argument2);
-
-typedef enum _EVENT_TYPE {
- NotificationEvent,
- SynchronizationEvent
-} EVENT_TYPE;
-
-typedef enum _KWAIT_REASON {
- Executive,
- FreePage,
- PageIn,
- PoolAllocation,
- DelayExecution,
- Suspended,
- UserRequest,
- WrExecutive,
- WrFreePage,
- WrPageIn,
- WrPoolAllocation,
- WrDelayExecution,
- WrSuspended,
- WrUserRequest,
- WrEventPair,
- WrQueue,
- WrLpcReceive,
- WrLpcReply,
- WrVirtualMemory,
- WrPageOut,
- WrRendezvous,
- Spare2,
- Spare3,
- Spare4,
- Spare5,
- Spare6,
- WrKernel,
- MaximumWaitReason
-} KWAIT_REASON;
-
-typedef struct _KWAIT_BLOCK {
- LIST_ENTRY WaitListEntry;
- struct _KTHREAD * RESTRICTED_POINTER Thread;
- PVOID Object;
- struct _KWAIT_BLOCK * RESTRICTED_POINTER NextWaitBlock;
- USHORT WaitKey;
- USHORT WaitType;
-} KWAIT_BLOCK, *PKWAIT_BLOCK, *RESTRICTED_POINTER PRKWAIT_BLOCK;
-
-typedef struct _IO_REMOVE_LOCK_TRACKING_BLOCK * PIO_REMOVE_LOCK_TRACKING_BLOCK;
-
-typedef struct _IO_REMOVE_LOCK_COMMON_BLOCK {
- BOOLEAN Removed;
- BOOLEAN Reserved[3];
- LONG IoCount;
- KEVENT RemoveEvent;
-} IO_REMOVE_LOCK_COMMON_BLOCK;
-
-typedef struct _IO_REMOVE_LOCK_DBG_BLOCK {
- LONG Signature;
- LONG HighWatermark;
- LONGLONG MaxLockedTicks;
- LONG AllocateTag;
- LIST_ENTRY LockList;
- KSPIN_LOCK Spin;
- LONG LowMemoryCount;
- ULONG Reserved1[4];
- PVOID Reserved2;
- PIO_REMOVE_LOCK_TRACKING_BLOCK Blocks;
-} IO_REMOVE_LOCK_DBG_BLOCK;
-
-typedef struct _IO_REMOVE_LOCK {
- IO_REMOVE_LOCK_COMMON_BLOCK Common;
-#ifdef DBG
- IO_REMOVE_LOCK_DBG_BLOCK Dbg;
-#endif
-} IO_REMOVE_LOCK, *PIO_REMOVE_LOCK;
-
-typedef struct _IO_WORKITEM *PIO_WORKITEM;
-
-typedef VOID DDKAPI
-(*PIO_WORKITEM_ROUTINE)(
- /*IN*/ PDEVICE_OBJECT DeviceObject,
- /*IN*/ PVOID Context);
-
-typedef struct _SHARE_ACCESS {
- ULONG OpenCount;
- ULONG Readers;
- ULONG Writers;
- ULONG Deleters;
- ULONG SharedRead;
- ULONG SharedWrite;
- ULONG SharedDelete;
-} SHARE_ACCESS, *PSHARE_ACCESS;
-
-typedef enum _KINTERRUPT_MODE {
- LevelSensitive,
- Latched
-} KINTERRUPT_MODE;
-
-typedef VOID DDKAPI
-(*PKINTERRUPT_ROUTINE)(
- VOID);
-
-typedef enum _KPROFILE_SOURCE {
- ProfileTime,
- ProfileAlignmentFixup,
- ProfileTotalIssues,
- ProfilePipelineDry,
- ProfileLoadInstructions,
- ProfilePipelineFrozen,
- ProfileBranchInstructions,
- ProfileTotalNonissues,
- ProfileDcacheMisses,
- ProfileIcacheMisses,
- ProfileCacheMisses,
- ProfileBranchMispredictions,
- ProfileStoreInstructions,
- ProfileFpInstructions,
- ProfileIntegerInstructions,
- Profile2Issue,
- Profile3Issue,
- Profile4Issue,
- ProfileSpecialInstructions,
- ProfileTotalCycles,
- ProfileIcacheIssues,
- ProfileDcacheAccesses,
- ProfileMemoryBarrierCycles,
- ProfileLoadLinkedIssues,
- ProfileMaximum
-} KPROFILE_SOURCE;
-
-typedef enum _CREATE_FILE_TYPE {
- CreateFileTypeNone,
- CreateFileTypeNamedPipe,
- CreateFileTypeMailslot
-} CREATE_FILE_TYPE;
-
-typedef struct _CONFIGURATION_INFORMATION {
- ULONG DiskCount;
- ULONG FloppyCount;
- ULONG CdRomCount;
- ULONG TapeCount;
- ULONG ScsiPortCount;
- ULONG SerialCount;
- ULONG ParallelCount;
- BOOLEAN AtDiskPrimaryAddressClaimed;
- BOOLEAN AtDiskSecondaryAddressClaimed;
- ULONG Version;
- ULONG MediumChangerCount;
-} CONFIGURATION_INFORMATION, *PCONFIGURATION_INFORMATION;
-
-typedef enum _CONFIGURATION_TYPE {
- ArcSystem,
- CentralProcessor,
- FloatingPointProcessor,
- PrimaryIcache,
- PrimaryDcache,
- SecondaryIcache,
- SecondaryDcache,
- SecondaryCache,
- EisaAdapter,
- TcAdapter,
- ScsiAdapter,
- DtiAdapter,
- MultiFunctionAdapter,
- DiskController,
- TapeController,
- CdromController,
- WormController,
- SerialController,
- NetworkController,
- DisplayController,
- ParallelController,
- PointerController,
- KeyboardController,
- AudioController,
- OtherController,
- DiskPeripheral,
- FloppyDiskPeripheral,
- TapePeripheral,
- ModemPeripheral,
- MonitorPeripheral,
- PrinterPeripheral,
- PointerPeripheral,
- KeyboardPeripheral,
- TerminalPeripheral,
- OtherPeripheral,
- LinePeripheral,
- NetworkPeripheral,
- SystemMemory,
- DockingInformation,
- RealModeIrqRoutingTable,
- MaximumType
-} CONFIGURATION_TYPE, *PCONFIGURATION_TYPE;
-
-typedef NTSTATUS (*PIO_QUERY_DEVICE_ROUTINE)(
- /*IN*/ PVOID Context,
- /*IN*/ PUNICODE_STRING PathName,
- /*IN*/ INTERFACE_TYPE BusType,
- /*IN*/ ULONG BusNumber,
- /*IN*/ PKEY_VALUE_FULL_INFORMATION *BusInformation,
- /*IN*/ CONFIGURATION_TYPE ControllerType,
- /*IN*/ ULONG ControllerNumber,
- /*IN*/ PKEY_VALUE_FULL_INFORMATION *ControllerInformation,
- /*IN*/ CONFIGURATION_TYPE PeripheralType,
- /*IN*/ ULONG PeripheralNumber,
- /*IN*/ PKEY_VALUE_FULL_INFORMATION *PeripheralInformation);
-
-typedef enum _WORK_QUEUE_TYPE {
- CriticalWorkQueue,
- DelayedWorkQueue,
- HyperCriticalWorkQueue,
- MaximumWorkQueue
-} WORK_QUEUE_TYPE;
-
-typedef VOID DDKAPI
-(*PWORKER_THREAD_ROUTINE)(
- /*IN*/ PVOID Parameter);
-
-typedef struct _WORK_QUEUE_ITEM {
- LIST_ENTRY List;
- PWORKER_THREAD_ROUTINE WorkerRoutine;
- PVOID Parameter;
-} WORK_QUEUE_ITEM, *PWORK_QUEUE_ITEM;
-
-typedef enum _KBUGCHECK_BUFFER_DUMP_STATE {
- BufferEmpty,
- BufferInserted,
- BufferStarted,
- BufferFinished,
- BufferIncomplete
-} KBUGCHECK_BUFFER_DUMP_STATE;
-
-typedef VOID DDKAPI
-(*PKBUGCHECK_CALLBACK_ROUTINE)(
- /*IN*/ PVOID Buffer,
- /*IN*/ ULONG Length);
-
-typedef struct _KBUGCHECK_CALLBACK_RECORD {
- LIST_ENTRY Entry;
- PKBUGCHECK_CALLBACK_ROUTINE CallbackRoutine;
- PVOID Buffer;
- ULONG Length;
- PUCHAR Component;
- ULONG_PTR Checksum;
- UCHAR State;
-} KBUGCHECK_CALLBACK_RECORD, *PKBUGCHECK_CALLBACK_RECORD;
-
-/*
- * VOID
- * KeInitializeCallbackRecord(
- * IN PKBUGCHECK_CALLBACK_RECORD CallbackRecord)
- */
-#define KeInitializeCallbackRecord(CallbackRecord) \
- CallbackRecord->State = BufferEmpty;
-
-typedef enum _KDPC_IMPORTANCE {
- LowImportance,
- MediumImportance,
- HighImportance
-} KDPC_IMPORTANCE;
-
-typedef enum _MEMORY_CACHING_TYPE_ORIG {
- MmFrameBufferCached = 2
-} MEMORY_CACHING_TYPE_ORIG;
-
-typedef enum _MEMORY_CACHING_TYPE {
- MmNonCached = FALSE,
- MmCached = TRUE,
- MmWriteCombined = MmFrameBufferCached,
- MmHardwareCoherentCached,
- MmNonCachedUnordered,
- MmUSWCCached,
- MmMaximumCacheType
-} MEMORY_CACHING_TYPE;
-
-typedef enum _MM_PAGE_PRIORITY {
- LowPagePriority,
- NormalPagePriority = 16,
- HighPagePriority = 32
-} MM_PAGE_PRIORITY;
-
-typedef enum _LOCK_OPERATION {
- IoReadAccess,
- IoWriteAccess,
- IoModifyAccess
-} LOCK_OPERATION;
-
-typedef enum _MM_SYSTEM_SIZE {
- MmSmallSystem,
- MmMediumSystem,
- MmLargeSystem
-} MM_SYSTEM_SIZE;
-
-typedef struct _OBJECT_HANDLE_INFORMATION {
- ULONG HandleAttributes;
- ACCESS_MASK GrantedAccess;
-} OBJECT_HANDLE_INFORMATION, *POBJECT_HANDLE_INFORMATION;
-
-typedef struct _CLIENT_ID {
- HANDLE UniqueProcess;
- HANDLE UniqueThread;
-} CLIENT_ID, *PCLIENT_ID;
-
-typedef VOID DDKAPI
-(*PKSTART_ROUTINE)(
- /*IN*/ PVOID StartContext);
-
-typedef VOID DDKAPI
-(*PCREATE_PROCESS_NOTIFY_ROUTINE)(
- /*IN*/ HANDLE ParentId,
- /*IN*/ HANDLE ProcessId,
- /*IN*/ BOOLEAN Create);
-
-typedef VOID DDKAPI
-(*PCREATE_THREAD_NOTIFY_ROUTINE)(
- /*IN*/ HANDLE ProcessId,
- /*IN*/ HANDLE ThreadId,
- /*IN*/ BOOLEAN Create);
-
-typedef struct _IMAGE_INFO {
- _ANONYMOUS_UNION union {
- ULONG Properties;
- _ANONYMOUS_STRUCT struct {
- ULONG ImageAddressingMode : 8;
- ULONG SystemModeImage : 1;
- ULONG ImageMappedToAllPids : 1;
- ULONG Reserved : 22;
- } DUMMYSTRUCTNAME;
- } DUMMYUNIONNAME;
- PVOID ImageBase;
- ULONG ImageSelector;
- SIZE_T ImageSize;
- ULONG ImageSectionNumber;
-} IMAGE_INFO, *PIMAGE_INFO;
-
-#define IMAGE_ADDRESSING_MODE_32BIT 3
-
-typedef VOID DDKAPI
-(*PLOAD_IMAGE_NOTIFY_ROUTINE)(
- /*IN*/ PUNICODE_STRING FullImageName,
- /*IN*/ HANDLE ProcessId,
- /*IN*/ PIMAGE_INFO ImageInfo);
-
-typedef enum _PROCESSINFOCLASS {
- ProcessBasicInformation,
- ProcessQuotaLimits,
- ProcessIoCounters,
- ProcessVmCounters,
- ProcessTimes,
- ProcessBasePriority,
- ProcessRaisePriority,
- ProcessDebugPort,
- ProcessExceptionPort,
- ProcessAccessToken,
- ProcessLdtInformation,
- ProcessLdtSize,
- ProcessDefaultHardErrorMode,
- ProcessIoPortHandlers,
- ProcessPooledUsageAndLimits,
- ProcessWorkingSetWatch,
- ProcessUserModeIOPL,
- ProcessEnableAlignmentFaultFixup,
- ProcessPriorityClass,
- ProcessWx86Information,
- ProcessHandleCount,
- ProcessAffinityMask,
- ProcessPriorityBoost,
- ProcessDeviceMap,
- ProcessSessionInformation,
- ProcessForegroundInformation,
- ProcessWow64Information,
- ProcessImageFileName,
- ProcessLUIDDeviceMapsEnabled,
- ProcessBreakOnTermination,
- ProcessDebugObjectHandle,
- ProcessDebugFlags,
- ProcessHandleTracing,
- MaxProcessInfoClass
-} PROCESSINFOCLASS;
-
-typedef enum _THREADINFOCLASS {
- ThreadBasicInformation,
- ThreadTimes,
- ThreadPriority,
- ThreadBasePriority,
- ThreadAffinityMask,
- ThreadImpersonationToken,
- ThreadDescriptorTableEntry,
- ThreadEnableAlignmentFaultFixup,
- ThreadEventPair_Reusable,
- ThreadQuerySetWin32StartAddress,
- ThreadZeroTlsCell,
- ThreadPerformanceCount,
- ThreadAmILastThread,
- ThreadIdealProcessor,
- ThreadPriorityBoost,
- ThreadSetTlsArrayAddress,
- ThreadIsIoPending,
- ThreadHideFromDebugger,
- ThreadBreakOnTermination,
- MaxThreadInfoClass
-} THREADINFOCLASS;
-
-#define ES_SYSTEM_REQUIRED 0x00000001
-#define ES_DISPLAY_REQUIRED 0x00000002
-#define ES_USER_PRESENT 0x00000004
-#define ES_CONTINUOUS 0x80000000
-
-typedef ULONG EXECUTION_STATE;
-
-typedef VOID DDKAPI
-(*PREQUEST_POWER_COMPLETE)(
- /*IN*/ PDEVICE_OBJECT DeviceObject,
- /*IN*/ UCHAR MinorFunction,
- /*IN*/ POWER_STATE PowerState,
- /*IN*/ PVOID Context,
- /*IN*/ PIO_STATUS_BLOCK IoStatus);
-
-typedef enum _TRACE_INFORMATION_CLASS {
- TraceIdClass,
- TraceHandleClass,
- TraceEnableFlagsClass,
- TraceEnableLevelClass,
- GlobalLoggerHandleClass,
- EventLoggerHandleClass,
- AllLoggerHandlesClass,
- TraceHandleByNameClass
-} TRACE_INFORMATION_CLASS;
-
-typedef NTSTATUS DDKAPI
-(*PEX_CALLBACK_FUNCTION)(
- /*IN*/ PVOID CallbackContext,
- /*IN*/ PVOID Argument1,
- /*IN*/ PVOID Argument2);
-
-
-
-/*
-** Storage structures
-*/
-typedef enum _PARTITION_STYLE {
- PARTITION_STYLE_MBR,
- PARTITION_STYLE_GPT
-} PARTITION_STYLE;
-
-typedef struct _CREATE_DISK_MBR {
- ULONG Signature;
-} CREATE_DISK_MBR, *PCREATE_DISK_MBR;
-
-typedef struct _CREATE_DISK_GPT {
- GUID DiskId;
- ULONG MaxPartitionCount;
-} CREATE_DISK_GPT, *PCREATE_DISK_GPT;
-
-typedef struct _CREATE_DISK {
- PARTITION_STYLE PartitionStyle;
- _ANONYMOUS_UNION union {
- CREATE_DISK_MBR Mbr;
- CREATE_DISK_GPT Gpt;
- } DUMMYUNIONNAME;
-} CREATE_DISK, *PCREATE_DISK;
-
-typedef struct _DISK_SIGNATURE {
- ULONG PartitionStyle;
- _ANONYMOUS_UNION union {
- struct {
- ULONG Signature;
- ULONG CheckSum;
- } Mbr;
- struct {
- GUID DiskId;
- } Gpt;
- } DUMMYUNIONNAME;
-} DISK_SIGNATURE, *PDISK_SIGNATURE;
-
-typedef VOID DDKFASTAPI
-(*PTIME_UPDATE_NOTIFY_ROUTINE)(
- /*IN*/ HANDLE ThreadId,
- /*IN*/ KPROCESSOR_MODE Mode);
-
-#define DBG_STATUS_CONTROL_C 1
-#define DBG_STATUS_SYSRQ 2
-#define DBG_STATUS_BUGCHECK_FIRST 3
-#define DBG_STATUS_BUGCHECK_SECOND 4
-#define DBG_STATUS_FATAL 5
-#define DBG_STATUS_DEBUG_CONTROL 6
-#define DBG_STATUS_WORKER 7
-
-typedef struct _PHYSICAL_MEMORY_RANGE {
- PHYSICAL_ADDRESS BaseAddress;
- LARGE_INTEGER NumberOfBytes;
-} PHYSICAL_MEMORY_RANGE, *PPHYSICAL_MEMORY_RANGE;
-
-typedef ULONG_PTR
-(*PDRIVER_VERIFIER_THUNK_ROUTINE)(
- /*IN*/ PVOID Context);
-
-typedef struct _DRIVER_VERIFIER_THUNK_PAIRS {
- PDRIVER_VERIFIER_THUNK_ROUTINE PristineRoutine;
- PDRIVER_VERIFIER_THUNK_ROUTINE NewRoutine;
-} DRIVER_VERIFIER_THUNK_PAIRS, *PDRIVER_VERIFIER_THUNK_PAIRS;
-
-#define DRIVER_VERIFIER_SPECIAL_POOLING 0x0001
-#define DRIVER_VERIFIER_FORCE_IRQL_CHECKING 0x0002
-#define DRIVER_VERIFIER_INJECT_ALLOCATION_FAILURES 0x0004
-#define DRIVER_VERIFIER_TRACK_POOL_ALLOCATIONS 0x0008
-#define DRIVER_VERIFIER_IO_CHECKING 0x0010
-
-#define RTL_RANGE_LIST_ADD_IF_CONFLICT 0x00000001
-#define RTL_RANGE_LIST_ADD_SHARED 0x00000002
-
-#define RTL_RANGE_LIST_SHARED_OK 0x00000001
-#define RTL_RANGE_LIST_NULL_CONFLICT_OK 0x00000002
-
-#define RTL_RANGE_LIST_SHARED_OK 0x00000001
-#define RTL_RANGE_LIST_NULL_CONFLICT_OK 0x00000002
-
-#define RTL_RANGE_LIST_MERGE_IF_CONFLICT RTL_RANGE_LIST_ADD_IF_CONFLICT
-
-typedef struct _RTL_RANGE {
- ULONGLONG Start;
- ULONGLONG End;
- PVOID UserData;
- PVOID Owner;
- UCHAR Attributes;
- UCHAR Flags;
-} RTL_RANGE, *PRTL_RANGE;
-
-#define RTL_RANGE_SHARED 0x01
-#define RTL_RANGE_CONFLICT 0x02
-
-typedef struct _RTL_RANGE_LIST {
- LIST_ENTRY ListHead;
- ULONG Flags;
- ULONG Count;
- ULONG Stamp;
-} RTL_RANGE_LIST, *PRTL_RANGE_LIST;
-
-typedef struct _RANGE_LIST_ITERATOR {
- PLIST_ENTRY RangeListHead;
- PLIST_ENTRY MergedHead;
- PVOID Current;
- ULONG Stamp;
-} RTL_RANGE_LIST_ITERATOR, *PRTL_RANGE_LIST_ITERATOR;
-
-typedef BOOLEAN
-(*PRTL_CONFLICT_RANGE_CALLBACK)(
- /*IN*/ PVOID Context,
- /*IN*/ PRTL_RANGE Range);
-
-#define HASH_STRING_ALGORITHM_DEFAULT 0
-#define HASH_STRING_ALGORITHM_X65599 1
-#define HASH_STRING_ALGORITHM_INVALID 0xffffffff
-
-typedef enum _SUITE_TYPE {
- SmallBusiness,
- Enterprise,
- BackOffice,
- CommunicationServer,
- TerminalServer,
- SmallBusinessRestricted,
- EmbeddedNT,
- DataCenter,
- SingleUserTS,
- Personal,
- Blade,
- MaxSuiteType
-} SUITE_TYPE;
-
-typedef VOID DDKAPI
-(*PTIMER_APC_ROUTINE)(
- /*IN*/ PVOID TimerContext,
- /*IN*/ ULONG TimerLowValue,
- /*IN*/ LONG TimerHighValue);
-
-
-
-/*
-** WMI structures
-*/
-
-typedef VOID DDKAPI
-(*WMI_NOTIFICATION_CALLBACK)(
- PVOID Wnode,
- PVOID Context);
-
-
-/*
-** Architecture specific structures
-*/
-
-#ifdef _X86_
-
-typedef ULONG PFN_NUMBER, *PPFN_NUMBER;
-
-#define PASSIVE_LEVEL 0
-#define LOW_LEVEL 0
-#define APC_LEVEL 1
-#define DISPATCH_LEVEL 2
-#define SYNCH_LEVEL 27
-#define PROFILE_LEVEL 27
-#define CLOCK1_LEVEL 28
-#define CLOCK2_LEVEL 28
-#define IPI_LEVEL 29
-#define POWER_LEVEL 30
-#define HIGH_LEVEL 31
-
-typedef struct _KPCR_TIB {
- PVOID ExceptionList; /* 00 */
- PVOID StackBase; /* 04 */
- PVOID StackLimit; /* 08 */
- PVOID SubSystemTib; /* 0C */
- _ANONYMOUS_UNION union {
- PVOID FiberData; /* 10 */
- DWORD Version; /* 10 */
- } DUMMYUNIONNAME;
- PVOID ArbitraryUserPointer; /* 14 */
- struct _NT_TIB *Self; /* 18 */
-} KPCR_TIB, *PKPCR_TIB; /* 1C */
-
-#define PCR_MINOR_VERSION 1
-#define PCR_MAJOR_VERSION 1
-
-typedef struct _KPCR {
- KPCR_TIB Tib; /* 00 */
- struct _KPCR *Self; /* 1C */
- struct _KPRCB *PCRCB; /* 20 */
- KIRQL Irql; /* 24 */
- ULONG IRR; /* 28 */
- ULONG IrrActive; /* 2C */
- ULONG IDR; /* 30 */
- PVOID KdVersionBlock; /* 34 */
- PUSHORT IDT; /* 38 */
- PUSHORT GDT; /* 3C */
- struct _KTSS *TSS; /* 40 */
- USHORT MajorVersion; /* 44 */
- USHORT MinorVersion; /* 46 */
- KAFFINITY SetMember; /* 48 */
- ULONG StallScaleFactor; /* 4C */
- UCHAR SpareUnused; /* 50 */
- UCHAR Number; /* 51 */
-} KPCR, *PKPCR; /* 54 */
-
-typedef struct _KFLOATING_SAVE {
- ULONG ControlWord;
- ULONG StatusWord;
- ULONG ErrorOffset;
- ULONG ErrorSelector;
- ULONG DataOffset;
- ULONG DataSelector;
- ULONG Cr0NpxState;
- ULONG Spare1;
-} KFLOATING_SAVE, *PKFLOATING_SAVE;
-
-#define PAGE_SIZE 0x1000
-#define PAGE_SHIFT 12L
-
-extern NTOSAPI PVOID *MmHighestUserAddress;
-extern NTOSAPI PVOID *MmSystemRangeStart;
-extern NTOSAPI ULONG *MmUserProbeAddress;
-
-#define MM_HIGHEST_USER_ADDRESS *MmHighestUserAddress
-#define MM_SYSTEM_RANGE_START *MmSystemRangeStart
-#define MM_USER_PROBE_ADDRESS *MmUserProbeAddress
-#define MM_LOWEST_USER_ADDRESS (PVOID)0x10000
-#define MM_LOWEST_SYSTEM_ADDRESS (PVOID)0xC0C00000
-
-#define KI_USER_SHARED_DATA 0xffdf0000
-#define SharedUserData ((KUSER_SHARED_DATA * CONST) KI_USER_SHARED_DATA)
-
-#define EFLAG_SIGN 0x8000
-#define EFLAG_ZERO 0x4000
-#define EFLAG_SELECT (EFLAG_SIGN | EFLAG_ZERO)
-
-#define RESULT_NEGATIVE ((EFLAG_SIGN & ~EFLAG_ZERO) & EFLAG_SELECT)
-#define RESULT_ZERO ((~EFLAG_SIGN & EFLAG_ZERO) & EFLAG_SELECT)
-#define RESULT_POSITIVE ((~EFLAG_SIGN & ~EFLAG_ZERO) & EFLAG_SELECT)
-
-typedef enum _INTERLOCKED_RESULT {
- ResultNegative = RESULT_NEGATIVE,
- ResultZero = RESULT_ZERO,
- ResultPositive = RESULT_POSITIVE
-} INTERLOCKED_RESULT;
-
-NTOSAPI
-KIRQL
-DDKAPI
-KeGetCurrentIrql(
- VOID);
-
-/*
- * ULONG
- * KeGetCurrentProcessorNumber(
- * VOID)
- */
-#define KeGetCurrentProcessorNumber() \
- ((ULONG)KeGetCurrentKPCR()->Number)
-
-
-#if __USE_NTOSKRNL__
-/* CAREFUL: These are exported from ntoskrnl.exe as __fastcall functions,
- but are also exported from kernel32.dll and declared in winbase.h as
- __stdcall */
-#if !defined(__INTERLOCKED_DECLARED)
-#define __INTERLOCKED_DECLARED
-
-NTOSAPI
-LONG
-DDKFASTAPI
-InterlockedIncrement(
- /*IN*/ LONG VOLATILE *Addend);
-
-NTOSAPI
-LONG
-DDKFASTAPI
-InterlockedDecrement(
- /*IN*/ LONG VOLATILE *Addend);
-
-NTOSAPI
-LONG
-DDKFASTAPI
-InterlockedCompareExchange(
- /*IN OUT*/ PLONG VOLATILE Destination,
- /*IN*/ LONG Exchange,
- /*IN*/ LONG Comparand);
-
-NTOSAPI
-LONG
-DDKFASTAPI
-InterlockedExchange(
- /*IN OUT*/ PLONG VOLATILE Target,
- /*IN*/ LONG Value);
-
-NTOSAPI
-LONG
-DDKFASTAPI
-InterlockedExchangeAdd(
- /*IN OUT*/ PLONG VOLATILE Addend,
- /*IN*/ LONG Value);
-
-/*
- * PVOID
- * InterlockedExchangePointer(
- * IN OUT PVOID VOLATILE *Target,
- * IN PVOID Value)
- */
-#define InterlockedExchangePointer(Target, Value) \
- ((PVOID) InterlockedExchange((PLONG) Target, (LONG) Value))
-
-/*
- * PVOID
- * InterlockedCompareExchangePointer(
- * IN OUT PVOID *Destination,
- * IN PVOID Exchange,
- * IN PVOID Comparand)
- */
-#define InterlockedCompareExchangePointer(Destination, Exchange, Comparand) \
- ((PVOID) InterlockedCompareExchange((PLONG) Destination, (LONG) Exchange, (LONG) Comparand))
-
-#if (_WIN32_WINNT >= 0x0501)
-PSLIST_ENTRY
-DDKFASTAPI
-InterlockedPopEntrySList(
- /*IN*/ PSLIST_HEADER ListHead);
-
-NTOSAPI
-PSLIST_ENTRY
-DDKFASTAPI
-InterlockedPushEntrySList(
- /*IN*/ PSLIST_HEADER ListHead,
- /*IN*/ PSLIST_ENTRY ListEntry);
-#endif /* _WIN32_WINNT >= 0x0501 */
-
-#endif /* !__INTERLOCKED_DECLARED */
-#endif /* __USE_NTOSKRNL__ */
-
-NTOSAPI
-VOID
-DDKFASTAPI
-KefAcquireSpinLockAtDpcLevel(
- /*IN*/ PKSPIN_LOCK SpinLock);
-
-NTOSAPI
-VOID
-DDKFASTAPI
-KefReleaseSpinLockFromDpcLevel(
- /*IN*/ PKSPIN_LOCK SpinLock);
-
-#define KeAcquireSpinLockAtDpcLevel(SpinLock) KefAcquireSpinLockAtDpcLevel(SpinLock)
-#define KeReleaseSpinLockFromDpcLevel(SpinLock) KefReleaseSpinLockFromDpcLevel(SpinLock)
-
-#define RtlCopyMemoryNonTemporal RtlCopyMemory
-
-#define KeGetDcacheFillSize() 1L
-
-#endif /* _X86_ */
-
-
-
-/*
-** Utillity functions
-*/
-
-#define ARGUMENT_PRESENT(ArgumentPointer) \
- ((BOOLEAN) ((PVOID)ArgumentPointer != (PVOID)NULL))
-
-/*
- * ULONG
- * BYTE_OFFSET(
- * IN PVOID Va)
- */
-#define BYTE_OFFSET(Va) \
- ((ULONG) ((ULONG_PTR) (Va) & (PAGE_SIZE - 1)))
-
-/*
- * ULONG
- * BYTES_TO_PAGES(
- * IN ULONG Size)
- */
-#define BYTES_TO_PAGES(Size) \
- ((ULONG) ((ULONG_PTR) (Size) >> PAGE_SHIFT) + (((ULONG) (Size) & (PAGE_SIZE - 1)) != 0))
-
-/*
- * PCHAR
- * CONTAINING_RECORD(
- * IN PCHAR Address,
- * IN TYPE Type,
- * IN PCHAR Field);
- */
-#ifndef CONTAINING_RECORD
-#define CONTAINING_RECORD(Address, Type, Field) \
- ((Type *) (((ULONG_PTR) Address) - FIELD_OFFSET(Type, Field)))
-#endif
-
-/* LONG
- * FIELD_OFFSET(
- * IN TYPE Type,
- * IN PCHAR Field);
- */
-#ifndef FIELD_OFFSET
-#define FIELD_OFFSET(Type, Field) \
- ((LONG) (&(((Type *) 0)->Field)))
-#endif
-
-/*
- * PVOID
- * PAGE_ALIGN(
- * IN PVOID Va)
- */
-#define PAGE_ALIGN(Va) \
- ((PVOID) ((ULONG_PTR)(Va) & ~(PAGE_SIZE - 1)))
-
-/*
- * ULONG_PTR
- * ROUND_TO_PAGES(
- * IN ULONG_PTR Size)
- */
-#define ROUND_TO_PAGES(Size) \
- ((ULONG_PTR) (((ULONG_PTR) Size + PAGE_SIZE - 1) & ~(PAGE_SIZE - 1)))
-
-NTOSAPI
-VOID
-DDKAPI
-RtlAssert(
- /*IN*/ PVOID FailedAssertion,
- /*IN*/ PVOID FileName,
- /*IN*/ ULONG LineNumber,
- /*IN*/ PCHAR Message);
-
-#ifdef DBG
-
-#define ASSERT(exp) \
- ((!(exp)) ? \
- (RtlAssert( #exp, __FILE__, __LINE__, NULL ), FALSE) : TRUE)
-
-#define ASSERTMSG(msg, exp) \
- ((!(exp)) ? \
- (RtlAssert( #exp, __FILE__, __LINE__, msg ), FALSE) : TRUE)
-
-#define RTL_SOFT_ASSERT(exp) \
- ((!(_exp)) ? \
- (DbgPrint("%s(%d): Soft assertion failed\n Expression: %s\n", __FILE__, __LINE__, #exp), FALSE) : TRUE)
-
-#define RTL_SOFT_ASSERTMSG(msg, exp) \
- ((!(exp)) ? \
- (DbgPrint("%s(%d): Soft assertion failed\n Expression: %s\n Message: %s\n", __FILE__, __LINE__, #exp, (msg)), FALSE) : TRUE)
-
-#define RTL_VERIFY(exp) ASSERT(exp)
-#define RTL_VERIFYMSG(msg, exp) ASSERT(msg, exp)
-
-#define RTL_SOFT_VERIFY(exp) RTL_SOFT_ASSERT(exp)
-#define RTL_SOFT_VERIFYMSG(msg, exp) RTL_SOFT_ASSERTMSG(msg, exp)
-
-#else /* !DBG */
-
-#define ASSERT(exp) ((VOID) 0)
-#define ASSERTMSG(msg, exp) ((VOID) 0)
-
-#define RTL_SOFT_ASSERT(exp) ((VOID) 0)
-#define RTL_SOFT_ASSERTMSG(msg, exp) ((VOID) 0)
-
-#define RTL_VERIFY(exp) ((exp) ? TRUE : FALSE)
-#define RTL_VERIFYMSG(msg, exp) ((exp) ? TRUE : FALSE)
-
-#define RTL_SOFT_VERIFY(exp) ((exp) ? TRUE : FALSE)
-#define RTL_SOFT_VERIFYMSG(msg, exp) ((exp) ? TRUE : FALSE)
-
-#endif /* DBG */
-
-
-/*
-** Driver support routines
-*/
-
-/** Runtime library routines **/
-
-/*
- * VOID
- * InitializeListHead(
- * IN PLIST_ENTRY ListHead)
- */
-#define InitializeListHead(_ListHead) \
-{ \
- (_ListHead)->Flink = (_ListHead); \
- (_ListHead)->Blink = (_ListHead); \
-}
-
-/*
- * VOID
- * InsertHeadList(
- * IN PLIST_ENTRY ListHead,
- * IN PLIST_ENTRY Entry)
- */
-#define InsertHeadList(_ListHead, \
- _Entry) \
-{ \
- PLIST_ENTRY _OldFlink; \
- _OldFlink = (_ListHead)->Flink; \
- (_Entry)->Flink = _OldFlink; \
- (_Entry)->Blink = (_ListHead); \
- _OldFlink->Blink = (_Entry); \
- (_ListHead)->Flink = (_Entry); \
-}
-
-/*
- * VOID
- * InsertTailList(
- * IN PLIST_ENTRY ListHead,
- * IN PLIST_ENTRY Entry)
- */
-#define InsertTailList(_ListHead, \
- _Entry) \
-{ \
- PLIST_ENTRY _OldBlink; \
- _OldBlink = (_ListHead)->Blink; \
- (_Entry)->Flink = (_ListHead); \
- (_Entry)->Blink = _OldBlink; \
- _OldBlink->Flink = (_Entry); \
- (_ListHead)->Blink = (_Entry); \
-}
-
-/*
- * BOOLEAN
- * IsListEmpty(
- * IN PLIST_ENTRY ListHead)
- */
-#define IsListEmpty(_ListHead) \
- ((_ListHead)->Flink == (_ListHead))
-
-static __inline PSINGLE_LIST_ENTRY
-PopEntryList(
- /*IN*/ PSINGLE_LIST_ENTRY ListHead)
-{
- PSINGLE_LIST_ENTRY Entry;
-
- Entry = ListHead->Next;
- if (Entry != NULL)
- {
- ListHead->Next = Entry->Next;
- }
- return Entry;
-}
-
-/*
- * VOID
- * PushEntryList(
- * IN PSINGLE_LIST_ENTRY ListHead,
- * IN PSINGLE_LIST_ENTRY Entry)
- */
-#define PushEntryList(_ListHead, \
- _Entry) \
-{ \
- (_Entry)->Next = (_ListHead)->Next; \
- (_ListHead)->Next = (_Entry); \
-}
-
-/*
- * VOID
- * RemoveEntryList(
- * IN PLIST_ENTRY Entry)
- */
-#define RemoveEntryList(_Entry) \
-{ \
- PLIST_ENTRY _OldFlink; \
- PLIST_ENTRY _OldBlink; \
- _OldFlink = (_Entry)->Flink; \
- _OldBlink = (_Entry)->Blink; \
- _OldFlink->Blink = _OldBlink; \
- _OldBlink->Flink = _OldFlink; \
- (_Entry)->Flink = NULL; \
- (_Entry)->Blink = NULL; \
-}
-
-static __inline PLIST_ENTRY
-RemoveHeadList(
- /*IN*/ PLIST_ENTRY ListHead)
-{
- PLIST_ENTRY OldFlink;
- PLIST_ENTRY OldBlink;
- PLIST_ENTRY Entry;
-
- Entry = ListHead->Flink;
- OldFlink = ListHead->Flink->Flink;
- OldBlink = ListHead->Flink->Blink;
- OldFlink->Blink = OldBlink;
- OldBlink->Flink = OldFlink;
-
- if (Entry != ListHead)
- {
- Entry->Flink = NULL;
- Entry->Blink = NULL;
- }
-
- return Entry;
-}
-
-static __inline PLIST_ENTRY
-RemoveTailList(
- /*IN*/ PLIST_ENTRY ListHead)
-{
- PLIST_ENTRY OldFlink;
- PLIST_ENTRY OldBlink;
- PLIST_ENTRY Entry;
-
- Entry = ListHead->Blink;
- OldFlink = ListHead->Blink->Flink;
- OldBlink = ListHead->Blink->Blink;
- OldFlink->Blink = OldBlink;
- OldBlink->Flink = OldFlink;
-
- if (Entry != ListHead)
- {
- Entry->Flink = NULL;
- Entry->Blink = NULL;
- }
-
- return Entry;
-}
-
-/*
- * USHORT
- * QueryDepthSList(
- * IN PSLIST_HEADER SListHead)
- */
-#define QueryDepthSList(_SListHead) \
- ((USHORT) ((_SListHead)->Alignment & 0xffff))
-
-#define InterlockedFlushSList(ListHead) ExInterlockedFlushSList(ListHead)
-
-NTOSAPI
-ULONG
-DDKAPI
-RtlAnsiStringToUnicodeSize(
- /*IN*/ PANSI_STRING AnsiString);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-RtlAddRange(
- /*IN OUT*/ PRTL_RANGE_LIST RangeList,
- /*IN*/ ULONGLONG Start,
- /*IN*/ ULONGLONG End,
- /*IN*/ UCHAR Attributes,
- /*IN*/ ULONG Flags,
- /*IN*/ PVOID UserData /*OPTIONAL*/,
- /*IN*/ PVOID Owner /*OPTIONAL*/);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-RtlAnsiStringToUnicodeString(
- /*IN OUT*/ PUNICODE_STRING DestinationString,
- /*IN*/ PANSI_STRING SourceString,
- /*IN*/ BOOLEAN AllocateDestinationString);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-RtlAppendUnicodeStringToString(
- /*IN OUT*/ PUNICODE_STRING Destination,
- /*IN*/ PUNICODE_STRING Source);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-RtlAppendUnicodeToString(
- /*IN OUT*/ PUNICODE_STRING Destination,
- /*IN*/ PCWSTR Source);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-RtlAreBitsClear(
- /*IN*/ PRTL_BITMAP BitMapHeader,
- /*IN*/ ULONG StartingIndex,
- /*IN*/ ULONG Length);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-RtlAreBitsSet(
- /*IN*/ PRTL_BITMAP BitMapHeader,
- /*IN*/ ULONG StartingIndex,
- /*IN*/ ULONG Length);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-RtlCharToInteger(
- /*IN*/ PCSZ String,
- /*IN*/ ULONG Base /*OPTIONAL*/,
- /*IN OUT*/ PULONG Value);
-
-NTOSAPI
-ULONG
-DDKAPI
-RtlCheckBit(
- /*IN*/ PRTL_BITMAP BitMapHeader,
- /*IN*/ ULONG BitPosition);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-RtlCheckRegistryKey(
- /*IN*/ ULONG RelativeTo,
- /*IN*/ PWSTR Path);
-
-NTOSAPI
-VOID
-DDKAPI
-RtlClearAllBits(
- /*IN*/ PRTL_BITMAP BitMapHeader);
-
-NTOSAPI
-VOID
-DDKAPI
-RtlClearBit(
- PRTL_BITMAP BitMapHeader,
- ULONG BitNumber);
-
-NTOSAPI
-VOID
-DDKAPI
-RtlClearBits(
- /*IN*/ PRTL_BITMAP BitMapHeader,
- /*IN*/ ULONG StartingIndex,
- /*IN*/ ULONG NumberToClear);
-
-NTOSAPI
-SIZE_T
-DDKAPI
-RtlCompareMemory(
- /*IN*/ CONST VOID *Source1,
- /*IN*/ CONST VOID *Source2,
- /*IN*/ SIZE_T Length);
-
-NTOSAPI
-LONG
-DDKAPI
-RtlCompareString(
- /*IN*/ PSTRING String1,
- /*IN*/ PSTRING String2,
- BOOLEAN CaseInSensitive);
-
-NTOSAPI
-LONG
-DDKAPI
-RtlCompareUnicodeString(
- /*IN*/ PUNICODE_STRING String1,
- /*IN*/ PUNICODE_STRING String2,
- /*IN*/ BOOLEAN CaseInSensitive);
-
-NTOSAPI
-LARGE_INTEGER
-DDKAPI
-RtlConvertLongToLargeInteger(
- /*IN*/ LONG SignedInteger);
-
-NTOSAPI
-LUID
-DDKAPI
-RtlConvertLongToLuid(
- /*IN*/ LONG Long);
-
-NTOSAPI
-LARGE_INTEGER
-DDKAPI
-RtlConvertUlongToLargeInteger(
- /*IN*/ ULONG UnsignedInteger);
-
-NTOSAPI
-LUID
-DDKAPI
-RtlConvertUlongToLuid(
- ULONG Ulong);
-
-/*
- * VOID
- * RtlCopyMemory(
- * IN VOID UNALIGNED *Destination,
- * IN CONST VOID UNALIGNED *Source,
- * IN SIZE_T Length)
- */
-#ifndef RtlCopyMemory
-#define RtlCopyMemory(Destination, Source, Length) \
- memcpy(Destination, Source, Length);
-#endif
-
-#ifndef RtlCopyBytes
-#define RtlCopyBytes RtlCopyMemory
-#endif
-
-NTOSAPI
-VOID
-DDKAPI
-RtlCopyMemory32(
- /*IN*/ VOID UNALIGNED *Destination,
- /*IN*/ CONST VOID UNALIGNED *Source,
- /*IN*/ ULONG Length);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-RtlCopyRangeList(
- /*OUT*/ PRTL_RANGE_LIST CopyRangeList,
- /*IN*/ PRTL_RANGE_LIST RangeList);
-
-NTOSAPI
-VOID
-DDKAPI
-RtlCopyString(
- /*IN OUT*/ PSTRING DestinationString,
- /*IN*/ PSTRING SourceString /*OPTIONAL*/);
-
-NTOSAPI
-VOID
-DDKAPI
-RtlCopyUnicodeString(
- /*IN OUT*/ PUNICODE_STRING DestinationString,
- /*IN*/ PUNICODE_STRING SourceString);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-RtlCreateRegistryKey(
- /*IN*/ ULONG RelativeTo,
- /*IN*/ PWSTR Path);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-RtlCreateSecurityDescriptor(
- /*IN OUT*/ PSECURITY_DESCRIPTOR SecurityDescriptor,
- /*IN*/ ULONG Revision);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-RtlDeleteOwnersRanges(
- /*IN OUT*/ PRTL_RANGE_LIST RangeList,
- /*IN*/ PVOID Owner);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-RtlDeleteRange(
- /*IN OUT*/ PRTL_RANGE_LIST RangeList,
- /*IN*/ ULONGLONG Start,
- /*IN*/ ULONGLONG End,
- /*IN*/ PVOID Owner);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-RtlDeleteRegistryValue(
- /*IN*/ ULONG RelativeTo,
- /*IN*/ PCWSTR Path,
- /*IN*/ PCWSTR ValueName);
-
-NTOSAPI
-BOOL
-DDKAPI
-RtlDosPathNameToNtPathName_U(
- /*IN*/ PCWSTR DosPathName,
- /*OUT*/ PUNICODE_STRING NtPathName,
- /*OUT*/ PCWSTR *NtFileNamePart,
- /*OUT*/ VOID *DirectoryInfo);
-
-/*
- * BOOLEAN
- * RtlEqualLuid(
- * IN LUID Luid1,
- * IN LUID Luid2)
- */
-#define RtlEqualLuid(_Luid1, \
- _Luid2) \
- ((Luid1.LowPart == Luid2.LowPart) && (Luid1.HighPart == Luid2.HighPart))
-
-/*
- * ULONG
- * RtlEqualMemory(
- * IN VOID UNALIGNED *Destination,
- * IN CONST VOID UNALIGNED *Source,
- * IN SIZE_T Length)
- */
-#define RtlEqualMemory(Destination, Source, Length) (!memcmp(Destination, Source, Length))
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-RtlEqualString(
- /*IN*/ PSTRING String1,
- /*IN*/ PSTRING String2,
- /*IN*/ BOOLEAN CaseInSensitive);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-RtlEqualUnicodeString(
- /*IN*/ CONST UNICODE_STRING *String1,
- /*IN*/ CONST UNICODE_STRING *String2,
- /*IN*/ BOOLEAN CaseInSensitive);
-
-/*
- * VOID
- * RtlFillMemory(
- * IN VOID UNALIGNED *Destination,
- * IN SIZE_T Length,
- * IN UCHAR Fill)
- */
-#ifndef RtlFillMemory
-#define RtlFillMemory(Destination, Length, Fill) \
- memset(Destination, Fill, Length)
-#endif
-
-#ifndef RtlFillBytes
-#define RtlFillBytes RtlFillMemory
-#endif
-
-NTOSAPI
-ULONG
-DDKAPI
-RtlFindClearBits(
- /*IN*/ PRTL_BITMAP BitMapHeader,
- /*IN*/ ULONG NumberToFind,
- /*IN*/ ULONG HintIndex);
-
-NTOSAPI
-ULONG
-DDKAPI
-RtlFindClearBitsAndSet(
- /*IN*/ PRTL_BITMAP BitMapHeader,
- /*IN*/ ULONG NumberToFind,
- /*IN*/ ULONG HintIndex);
-
-NTOSAPI
-ULONG
-DDKAPI
-RtlFindClearRuns(
- /*IN*/ PRTL_BITMAP BitMapHeader,
- /*OUT*/ PRTL_BITMAP_RUN RunArray,
- /*IN*/ ULONG SizeOfRunArray,
- /*IN*/ BOOLEAN LocateLongestRuns);
-
-NTOSAPI
-ULONG
-DDKAPI
-RtlFindFirstRunClear(
- /*IN*/ PRTL_BITMAP BitMapHeader,
- /*OUT*/ PULONG StartingIndex);
-
-NTOSAPI
-ULONG
-DDKAPI
-RtlFindLastBackwardRunClear(
- /*IN*/ PRTL_BITMAP BitMapHeader,
- /*IN*/ ULONG FromIndex,
- /*OUT*/ PULONG StartingRunIndex);
-
-NTOSAPI
-CCHAR
-DDKAPI
-RtlFindLeastSignificantBit(
- /*IN*/ ULONGLONG Set);
-
-NTOSAPI
-ULONG
-DDKAPI
-RtlFindLongestRunClear(
- /*IN*/ PRTL_BITMAP BitMapHeader,
- /*OUT*/ PULONG StartingIndex);
-
-NTOSAPI
-CCHAR
-DDKAPI
-RtlFindMostSignificantBit(
- /*IN*/ ULONGLONG Set);
-
-NTOSAPI
-ULONG
-DDKAPI
-RtlFindNextForwardRunClear(
- /*IN*/ PRTL_BITMAP BitMapHeader,
- /*IN*/ ULONG FromIndex,
- /*OUT*/ PULONG StartingRunIndex);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-RtlFindRange(
- /*IN*/ PRTL_RANGE_LIST RangeList,
- /*IN*/ ULONGLONG Minimum,
- /*IN*/ ULONGLONG Maximum,
- /*IN*/ ULONG Length,
- /*IN*/ ULONG Alignment,
- /*IN*/ ULONG Flags,
- /*IN*/ UCHAR AttributeAvailableMask,
- /*IN*/ PVOID Context /*OPTIONAL*/,
- /*IN*/ PRTL_CONFLICT_RANGE_CALLBACK Callback /*OPTIONAL*/,
- /*OUT*/ PULONGLONG Start);
-
-NTOSAPI
-ULONG
-DDKAPI
-RtlFindSetBits(
- /*IN*/ PRTL_BITMAP BitMapHeader,
- /*IN*/ ULONG NumberToFind,
- /*IN*/ ULONG HintIndex);
-
-NTOSAPI
-ULONG
-DDKAPI
-RtlFindSetBitsAndClear(
- /*IN*/ PRTL_BITMAP BitMapHeader,
- /*IN*/ ULONG NumberToFind,
- /*IN*/ ULONG HintIndex);
-
-NTOSAPI
-VOID
-DDKAPI
-RtlFreeAnsiString(
- /*IN*/ PANSI_STRING AnsiString);
-
-NTOSAPI
-VOID
-DDKAPI
-RtlFreeRangeList(
- /*IN*/ PRTL_RANGE_LIST RangeList);
-
-NTOSAPI
-VOID
-DDKAPI
-RtlFreeUnicodeString(
- /*IN*/ PUNICODE_STRING UnicodeString);
-
-NTOSAPI
-VOID
-DDKAPI
-RtlGetCallersAddress(
- /*OUT*/ PVOID *CallersAddress,
- /*OUT*/ PVOID *CallersCaller);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-RtlGetVersion(
- /*IN OUT*/ PRTL_OSVERSIONINFOW lpVersionInformation);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-RtlGetFirstRange(
- /*IN*/ PRTL_RANGE_LIST RangeList,
- /*OUT*/ PRTL_RANGE_LIST_ITERATOR Iterator,
- /*OUT*/ PRTL_RANGE *Range);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-RtlGetNextRange(
- /*IN OUT*/ PRTL_RANGE_LIST_ITERATOR Iterator,
- /*OUT*/ PRTL_RANGE *Range,
- /*IN*/ BOOLEAN MoveForwards);
-
-#define FOR_ALL_RANGES(RangeList, Iterator, Current) \
- for (RtlGetFirstRange((RangeList), (Iterator), &(Current)); \
- (Current) != NULL; \
- RtlGetNextRange((Iterator), &(Current), TRUE))
-
-#define FOR_ALL_RANGES_BACKWARDS(RangeList, Iterator, Current) \
- for (RtlGetLastRange((RangeList), (Iterator), &(Current)); \
- (Current) != NULL; \
- RtlGetNextRange((Iterator), &(Current), FALSE))
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-RtlGUIDFromString(
- /*IN*/ PUNICODE_STRING GuidString,
- /*OUT*/ GUID *Guid);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-RtlHashUnicodeString(
- /*IN*/ CONST UNICODE_STRING *String,
- /*IN*/ BOOLEAN CaseInSensitive,
- /*IN*/ ULONG HashAlgorithm,
- /*OUT*/ PULONG HashValue);
-
-NTOSAPI
-VOID
-DDKAPI
-RtlInitAnsiString(
- /*IN OUT*/ PANSI_STRING DestinationString,
- /*IN*/ PCSZ SourceString);
-
-NTOSAPI
-VOID
-DDKAPI
-RtlInitializeBitMap(
- /*IN*/ PRTL_BITMAP BitMapHeader,
- /*IN*/ PULONG BitMapBuffer,
- /*IN*/ ULONG SizeOfBitMap);
-
-NTOSAPI
-VOID
-DDKAPI
-RtlInitializeRangeList(
- /*IN OUT*/ PRTL_RANGE_LIST RangeList);
-
-NTOSAPI
-VOID
-DDKAPI
-RtlInitString(
- /*IN OUT*/ PSTRING DestinationString,
- /*IN*/ PCSZ SourceString);
-
-NTOSAPI
-VOID
-DDKAPI
-RtlInitUnicodeString(
- /*IN OUT*/ PUNICODE_STRING DestinationString,
- /*IN*/ PCWSTR SourceString);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-RtlInt64ToUnicodeString(
- /*IN*/ ULONGLONG Value,
- /*IN*/ ULONG Base /*OPTIONAL*/,
- /*IN OUT*/ PUNICODE_STRING String);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-RtlIntegerToUnicodeString(
- /*IN*/ ULONG Value,
- /*IN*/ ULONG Base /*OPTIONAL*/,
- /*IN OUT*/ PUNICODE_STRING String);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-RtlIntPtrToUnicodeString(
- PLONG Value,
- ULONG Base /*OPTIONAL*/,
- PUNICODE_STRING String);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-RtlInvertRangeList(
- /*OUT*/ PRTL_RANGE_LIST InvertedRangeList,
- /*IN*/ PRTL_RANGE_LIST RangeList);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-RtlIsRangeAvailable(
- /*IN*/ PRTL_RANGE_LIST RangeList,
- /*IN*/ ULONGLONG Start,
- /*IN*/ ULONGLONG End,
- /*IN*/ ULONG Flags,
- /*IN*/ UCHAR AttributeAvailableMask,
- /*IN*/ PVOID Context /*OPTIONAL*/,
- /*IN*/ PRTL_CONFLICT_RANGE_CALLBACK Callback /*OPTIONAL*/,
- /*OUT*/ PBOOLEAN Available);
-
-/*
- * BOOLEAN
- * RtlIsZeroLuid(
- * IN PLUID L1)
- */
-#define RtlIsZeroLuid(_L1) \
- ((BOOLEAN) ((!(_L1)->LowPart) && (!(_L1)->HighPart)))
-
-NTOSAPI
-ULONG
-DDKAPI
-RtlLengthSecurityDescriptor(
- /*IN*/ PSECURITY_DESCRIPTOR SecurityDescriptor);
-
-NTOSAPI
-VOID
-DDKAPI
-RtlMapGenericMask(
- /*IN OUT*/ PACCESS_MASK AccessMask,
- /*IN*/ PGENERIC_MAPPING GenericMapping);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-RtlMergeRangeLists(
- /*OUT*/ PRTL_RANGE_LIST MergedRangeList,
- /*IN*/ PRTL_RANGE_LIST RangeList1,
- /*IN*/ PRTL_RANGE_LIST RangeList2,
- /*IN*/ ULONG Flags);
-
-/*
- * VOID
- * RtlMoveMemory(
- * IN VOID UNALIGNED *Destination,
- * IN CONST VOID UNALIGNED *Source,
- * IN SIZE_T Length)
- */
-#define RtlMoveMemory memmove
-
-NTOSAPI
-ULONG
-DDKAPI
-RtlNumberOfClearBits(
- /*IN*/ PRTL_BITMAP BitMapHeader);
-
-NTOSAPI
-ULONG
-DDKAPI
-RtlNumberOfSetBits(
- /*IN*/ PRTL_BITMAP BitMapHeader);
-
-NTOSAPI
-VOID
-DDKFASTAPI
-RtlPrefetchMemoryNonTemporal(
- /*IN*/ PVOID Source,
- /*IN*/ SIZE_T Length);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-RtlPrefixUnicodeString(
- /*IN*/ PUNICODE_STRING String1,
- /*IN*/ PUNICODE_STRING String2,
- /*IN*/ BOOLEAN CaseInSensitive);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-RtlQueryRegistryValues(
- /*IN*/ ULONG RelativeTo,
- /*IN*/ PCWSTR Path,
- /*IN*/ PRTL_QUERY_REGISTRY_TABLE QueryTable,
- /*IN*/ PVOID Context,
- /*IN*/ PVOID Environment /*OPTIONAL*/);
-
-NTOSAPI
-VOID
-DDKAPI
-RtlRetrieveUlong(
- /*IN OUT*/ PULONG DestinationAddress,
- /*IN*/ PULONG SourceAddress);
-
-NTOSAPI
-VOID
-DDKAPI
-RtlRetrieveUshort(
- /*IN OUT*/ PUSHORT DestinationAddress,
- /*IN*/ PUSHORT SourceAddress);
-
-NTOSAPI
-VOID
-DDKAPI
-RtlSetAllBits(
- /*IN*/ PRTL_BITMAP BitMapHeader);
-
-NTOSAPI
-VOID
-DDKAPI
-RtlSetBit(
- PRTL_BITMAP BitMapHeader,
- ULONG BitNumber);
-
-NTOSAPI
-VOID
-DDKAPI
-RtlSetBits(
- /*IN*/ PRTL_BITMAP BitMapHeader,
- /*IN*/ ULONG StartingIndex,
- /*IN*/ ULONG NumberToSet);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-RtlSetDaclSecurityDescriptor(
- /*IN OUT*/ PSECURITY_DESCRIPTOR SecurityDescriptor,
- /*IN*/ BOOLEAN DaclPresent,
- /*IN*/ PACL Dacl /*OPTIONAL*/,
- /*IN*/ BOOLEAN DaclDefaulted /*OPTIONAL*/);
-
-NTOSAPI
-VOID
-DDKAPI
-RtlStoreUlong(
- /*IN*/ PULONG Address,
- /*IN*/ ULONG Value);
-
-NTOSAPI
-VOID
-DDKAPI
-RtlStoreUlonglong(
- /*IN OUT*/ PULONGLONG Address,
- ULONGLONG Value);
-
-NTOSAPI
-VOID
-DDKAPI
-RtlStoreUlongPtr(
- /*IN OUT*/ PULONG_PTR Address,
- /*IN*/ ULONG_PTR Value);
-
-NTOSAPI
-VOID
-DDKAPI
-RtlStoreUshort(
- /*IN*/ PUSHORT Address,
- /*IN*/ USHORT Value);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-RtlStringFromGUID(
- /*IN*/ REFGUID Guid,
- /*OUT*/ PUNICODE_STRING GuidString);
-
-#define RtlStringCbCopyA(dst, dst_len, src) strncpy(dst, src, dst_len)
-#define RtlStringCbPrintfA(args...) snprintf(args)
-#define RtlStringCbVPrintfA(args...) vsnprintf(args)
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-RtlTestBit(
- /*IN*/ PRTL_BITMAP BitMapHeader,
- /*IN*/ ULONG BitNumber);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-RtlTimeFieldsToTime(
- /*IN*/ PTIME_FIELDS TimeFields,
- /*IN*/ PLARGE_INTEGER Time);
-
-NTOSAPI
-VOID
-DDKAPI
-RtlTimeToTimeFields(
- /*IN*/ PLARGE_INTEGER Time,
- /*IN*/ PTIME_FIELDS TimeFields);
-
-NTOSAPI
-ULONG
-DDKFASTAPI
-RtlUlongByteSwap(
- /*IN*/ ULONG Source);
-
-NTOSAPI
-ULONGLONG
-DDKFASTAPI
-RtlUlonglongByteSwap(
- /*IN*/ ULONGLONG Source);
-
-NTOSAPI
-ULONG
-DDKAPI
-RtlUnicodeStringToAnsiSize(
- /*IN*/ PUNICODE_STRING UnicodeString);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-RtlUnicodeStringToAnsiString(
- /*IN OUT*/ PANSI_STRING DestinationString,
- /*IN*/ PUNICODE_STRING SourceString,
- /*IN*/ BOOLEAN AllocateDestinationString);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-RtlUnicodeStringToInteger(
- /*IN*/ PUNICODE_STRING String,
- /*IN*/ ULONG Base /*OPTIONAL*/,
- /*OUT*/ PULONG Value);
-
-NTOSAPI
-WCHAR
-DDKAPI
-RtlUpcaseUnicodeChar(
- /*IN*/ WCHAR SourceCharacter);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-RtlUpcaseUnicodeString(
- /*IN OUT*/ PUNICODE_STRING DestinationString /*OPTIONAL*/,
- /*IN*/ PCUNICODE_STRING SourceString,
- /*IN*/ BOOLEAN AllocateDestinationString);
-
-NTOSAPI
-CHAR
-DDKAPI
-RtlUpperChar(
- /*IN*/ CHAR Character);
-
-NTOSAPI
-VOID
-DDKAPI
-RtlUpperString(
- /*IN OUT*/ PSTRING DestinationString,
- /*IN*/ PSTRING SourceString);
-
-NTOSAPI
-USHORT
-DDKFASTAPI
-RtlUshortByteSwap(
- /*IN*/ USHORT Source);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-RtlValidRelativeSecurityDescriptor(
- /*IN*/ PSECURITY_DESCRIPTOR SecurityDescriptorInput,
- /*IN*/ ULONG SecurityDescriptorLength,
- /*IN*/ SECURITY_INFORMATION RequiredInformation);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-RtlValidSecurityDescriptor(
- /*IN*/ PSECURITY_DESCRIPTOR SecurityDescriptor);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-RtlVerifyVersionInfo(
- /*IN*/ PRTL_OSVERSIONINFOEXW VersionInfo,
- /*IN*/ ULONG TypeMask,
- /*IN*/ ULONGLONG ConditionMask);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-RtlVolumeDeviceToDosName(
- /*IN*/ PVOID VolumeDeviceObject,
- /*OUT*/ PUNICODE_STRING DosName);
-
-NTOSAPI
-ULONG
-DDKAPI
-RtlWalkFrameChain(
- /*OUT*/ PVOID *Callers,
- /*IN*/ ULONG Count,
- /*IN*/ ULONG Flags);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-RtlWriteRegistryValue(
- /*IN*/ ULONG RelativeTo,
- /*IN*/ PCWSTR Path,
- /*IN*/ PCWSTR ValueName,
- /*IN*/ ULONG ValueType,
- /*IN*/ PVOID ValueData,
- /*IN*/ ULONG ValueLength);
-
-NTOSAPI
-ULONG
-DDKAPI
-RtlxUnicodeStringToAnsiSize(
- /*IN*/ PUNICODE_STRING UnicodeString);
-
-/*
- * VOID
- * RtlZeroMemory(
- * IN VOID UNALIGNED *Destination,
- * IN SIZE_T Length)
- */
-#ifndef RtlZeroMemory
-#define RtlZeroMemory(Destination, Length) \
- memset(Destination, 0, Length)
-#endif
-
-#ifndef RtlZeroBytes
-#define RtlZeroBytes RtlZeroMemory
-#endif
-
-
-/** Executive support routines **/
-
-NTOSAPI
-VOID
-DDKFASTAPI
-ExAcquireFastMutex(
- /*IN*/ PFAST_MUTEX FastMutex);
-
-NTOSAPI
-VOID
-DDKFASTAPI
-ExAcquireFastMutexUnsafe(
- /*IN*/ PFAST_MUTEX FastMutex);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-ExAcquireResourceExclusiveLite(
- /*IN*/ PERESOURCE Resource,
- /*IN*/ BOOLEAN Wait);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-ExAcquireResourceSharedLite(
- /*IN*/ PERESOURCE Resource,
- /*IN*/ BOOLEAN Wait);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-ExAcquireSharedStarveExclusive(
- /*IN*/ PERESOURCE Resource,
- /*IN*/ BOOLEAN Wait);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-ExAcquireSharedWaitForExclusive(
- /*IN*/ PERESOURCE Resource,
- /*IN*/ BOOLEAN Wait);
-
-
-NTOSAPI
-PSINGLE_LIST_ENTRY
-DDKFASTAPI
-ExInterlockedPopEntrySList(
- /*IN*/ PSLIST_HEADER ListHead,
- /*IN*/ PKSPIN_LOCK Lock);
-
-
-NTOSAPI
-PSINGLE_LIST_ENTRY
-DDKFASTAPI
-ExInterlockedPushEntrySList(
- /*IN*/ PSLIST_HEADER ListHead,
- /*IN*/ PSINGLE_LIST_ENTRY ListEntry,
- /*IN*/ PKSPIN_LOCK Lock);
-
-
-#if (__USE_NTOSKRNL__) && (_WIN32_WINNT >= 0x0501)
-#define ExInterlockedPopEntrySList(_ListHead, \
- _Lock) \
- InterlockedPopEntrySList(_ListHead)
-
-#define ExInterlockedPushEntrySList(_ListHead, \
- _ListEntry, \
- _Lock) \
- InterlockedPushEntrySList(_ListHead, _ListEntry)
-#endif /* __USE_NTOSKRNL__ */
-
-#define ExQueryDepthSList(ListHead) QueryDepthSList(ListHead)
-
-static __inline PVOID
-ExAllocateFromNPagedLookasideList(
- /*IN*/ PNPAGED_LOOKASIDE_LIST Lookaside)
-{
- PVOID Entry;
-
- Lookaside->TotalAllocates++;
- Entry = ExInterlockedPopEntrySList(&Lookaside->ListHead,
- &Lookaside->Obsoleted);
- if (Entry == NULL) {
- Lookaside->_DDK_DUMMYUNION_MEMBER(AllocateMisses)++;
- Entry = (Lookaside->Allocate)(Lookaside->Type,
- Lookaside->Size,
- Lookaside->Tag);
- }
- return Entry;
-}
-
-static __inline VOID
-ExFreeToNPagedLookasideList(
- /*IN*/ PNPAGED_LOOKASIDE_LIST Lookaside,
- /*IN*/ PVOID Entry)
-{
- Lookaside->TotalFrees++;
- if (ExQueryDepthSList(&Lookaside->ListHead) >= Lookaside->Depth) {
- Lookaside->_DDK_DUMMYUNION_N_MEMBER(2,FreeMisses)++;
- (Lookaside->Free)(Entry);
- } else {
- ExInterlockedPushEntrySList(&Lookaside->ListHead,
- (PSLIST_ENTRY)Entry,
- &Lookaside->Obsoleted);
- }
-}
-
-#if (__USE_NTOSKRNL__) && (_WIN32_WINNT >= 0x0501)
-
-static __inline PVOID
-ExAllocateFromPagedLookasideList(
- /*IN*/ PPAGED_LOOKASIDE_LIST Lookaside)
-{
- PVOID Entry;
-
- Lookaside->TotalAllocates++;
- Entry = InterlockedPopEntrySList(&Lookaside->ListHead);
- if (Entry == NULL) {
- Lookaside->_DDK_DUMMYUNION_MEMBER(AllocateMisses)++;
- Entry = (Lookaside->Allocate)(Lookaside->Type,
- Lookaside->Size,
- Lookaside->Tag);
- }
- return Entry;
-}
-
-static __inline VOID
-ExFreeToPagedLookasideList(
- /*IN*/ PPAGED_LOOKASIDE_LIST Lookaside,
- /*IN*/ PVOID Entry)
-{
- Lookaside->TotalFrees++;
- if (ExQueryDepthSList(&Lookaside->ListHead) >= Lookaside->Depth) {
- Lookaside->_DDK_DUMMYUNION_N_MEMBER(2,FreeMisses)++;
- (Lookaside->Free)(Entry);
- } else {
- InterlockedPushEntrySList(&Lookaside->ListHead,
- (PSLIST_ENTRY)Entry);
- }
-}
-
-#else /* (__USE_NTOSKRNL__) && (_WIN32_WINNT >= 0x0501) */
-
-NTOSAPI
-PVOID
-DDKAPI
-ExAllocateFromPagedLookasideList(
- /*IN*/ PPAGED_LOOKASIDE_LIST Lookaside);
-
-NTOSAPI
-VOID
-DDKAPI
-ExFreeToPagedLookasideList(
- /*IN*/ PPAGED_LOOKASIDE_LIST Lookaside,
- /*IN*/ PVOID Entry);
-
-#endif /* (__USE_NTOSKRNL__) && (_WIN32_WINNT >= 0x0501) */
-
-NTOSAPI
-PVOID
-DDKAPI
-ExAllocatePoolWithQuotaTag(
- /*IN*/ POOL_TYPE PoolType,
- /*IN*/ SIZE_T NumberOfBytes,
- /*IN*/ ULONG Tag);
-
-NTOSAPI
-PVOID
-DDKAPI
-ExAllocatePoolWithTag(
- /*IN*/ POOL_TYPE PoolType,
- /*IN*/ SIZE_T NumberOfBytes,
- /*IN*/ ULONG Tag);
-
-#ifdef POOL_TAGGING
-
-#define ExAllocatePoolWithQuota(p,n) ExAllocatePoolWithQuotaTag(p,n,' kdD')
-#define ExAllocatePool(p,n) ExAllocatePoolWithTag(p,n,' kdD')
-
-#else /* !POOL_TAGGING */
-
-NTOSAPI
-PVOID
-DDKAPI
-ExAllocatePool(
- /*IN*/ POOL_TYPE PoolType,
- /*IN*/ SIZE_T NumberOfBytes);
-
-NTOSAPI
-PVOID
-DDKAPI
-ExAllocatePoolWithQuota(
- /*IN*/ POOL_TYPE PoolType,
- /*IN*/ SIZE_T NumberOfBytes);
-
-#endif /* POOL_TAGGING */
-
-NTOSAPI
-PVOID
-DDKAPI
-ExAllocatePoolWithTagPriority(
- /*IN*/ POOL_TYPE PoolType,
- /*IN*/ SIZE_T NumberOfBytes,
- /*IN*/ ULONG Tag,
- /*IN*/ EX_POOL_PRIORITY Priority);
-
-NTOSAPI
-VOID
-DDKAPI
-ExConvertExclusiveToSharedLite(
- /*IN*/ PERESOURCE Resource);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ExCreateCallback(
- /*OUT*/ PCALLBACK_OBJECT *CallbackObject,
- /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes,
- /*IN*/ BOOLEAN Create,
- /*IN*/ BOOLEAN AllowMultipleCallbacks);
-
-NTOSAPI
-VOID
-DDKAPI
-ExDeleteNPagedLookasideList(
- /*IN*/ PNPAGED_LOOKASIDE_LIST Lookaside);
-
-NTOSAPI
-VOID
-DDKAPI
-ExDeletePagedLookasideList(
- /*IN*/ PPAGED_LOOKASIDE_LIST Lookaside);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ExDeleteResourceLite(
- /*IN*/ PERESOURCE Resource);
-
-NTOSAPI
-VOID
-DDKAPI
-ExFreePool(
- /*IN*/ PVOID P);
-
-#define PROTECTED_POOL 0x80000000
-
-#ifdef POOL_TAGGING
-#define ExFreePool(P) ExFreePoolWithTag(P, 0)
-#endif
-
-NTOSAPI
-VOID
-DDKAPI
-ExFreePoolWithTag(
- /*IN*/ PVOID P,
- /*IN*/ ULONG Tag);
-
-/*
- * ERESOURCE_THREAD
- * ExGetCurrentResourceThread(
- * VOID);
- */
-#define ExGetCurrentResourceThread() ((ERESOURCE_THREAD) PsGetCurrentThread())
-
-NTOSAPI
-ULONG
-DDKAPI
-ExGetExclusiveWaiterCount(
- /*IN*/ PERESOURCE Resource);
-
-NTOSAPI
-KPROCESSOR_MODE
-DDKAPI
-ExGetPreviousMode(
- VOID);
-
-NTOSAPI
-ULONG
-DDKAPI
-ExGetSharedWaiterCount(
- /*IN*/ PERESOURCE Resource);
-
-NTOSAPI
-VOID
-DDKAPI
-KeInitializeEvent(
- /*IN*/ PRKEVENT Event,
- /*IN*/ EVENT_TYPE Type,
- /*IN*/ BOOLEAN State);
-
-/*
- * VOID DDKAPI
- * ExInitializeFastMutex(
- * IN PFAST_MUTEX FastMutex)
- */
-#define ExInitializeFastMutex(_FastMutex) \
-{ \
- (_FastMutex)->Count = 1; \
- (_FastMutex)->Owner = NULL; \
- (_FastMutex)->Contention = 0; \
- KeInitializeEvent(&(_FastMutex)->Event, SynchronizationEvent, FALSE); \
-}
-
-NTOSAPI
-VOID
-DDKAPI
-ExInitializeNPagedLookasideList(
- /*IN*/ PNPAGED_LOOKASIDE_LIST Lookaside,
- /*IN*/ PALLOCATE_FUNCTION Allocate /*OPTIONAL*/,
- /*IN*/ PFREE_FUNCTION Free /*OPTIONAL*/,
- /*IN*/ ULONG Flags,
- /*IN*/ SIZE_T Size,
- /*IN*/ ULONG Tag,
- /*IN*/ USHORT Depth);
-
-NTOSAPI
-VOID
-DDKAPI
-ExInitializePagedLookasideList(
- /*IN*/ PPAGED_LOOKASIDE_LIST Lookaside,
- /*IN*/ PALLOCATE_FUNCTION Allocate /*OPTIONAL*/,
- /*IN*/ PFREE_FUNCTION Free /*OPTIONAL*/,
- /*IN*/ ULONG Flags,
- /*IN*/ SIZE_T Size,
- /*IN*/ ULONG Tag,
- /*IN*/ USHORT Depth);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ExInitializeResourceLite(
- /*IN*/ PERESOURCE Resource);
-
-/*
- * VOID
- * InitializeSListHead(
- * IN PSLIST_HEADER SListHead)
- */
-#define InitializeSListHead(_SListHead) \
- (_SListHead)->Alignment = 0
-
-#define ExInitializeSListHead InitializeSListHead
-
-NTOSAPI
-LARGE_INTEGER
-DDKAPI
-ExInterlockedAddLargeInteger(
- /*IN*/ PLARGE_INTEGER Addend,
- /*IN*/ LARGE_INTEGER Increment,
- /*IN*/ PKSPIN_LOCK Lock);
-
-NTOSAPI
-VOID
-DDKFASTAPI
-ExInterlockedAddLargeStatistic(
- /*IN*/ PLARGE_INTEGER Addend,
- /*IN*/ ULONG Increment);
-
-NTOSAPI
-ULONG
-DDKAPI
-ExInterlockedAddUlong(
- /*IN*/ PULONG Addend,
- /*IN*/ ULONG Increment,
- PKSPIN_LOCK Lock);
-
-NTOSAPI
-ULONG
-DDKFASTAPI
-ExfInterlockedAddUlong(
- /*IN*/ PULONG Addend,
- /*IN*/ ULONG Increment,
- PKSPIN_LOCK Lock);
-
-
-NTOSAPI
-LONGLONG
-DDKFASTAPI
-ExInterlockedCompareExchange64(
- /*IN OUT*/ PLONGLONG Destination,
- /*IN*/ PLONGLONG Exchange,
- /*IN*/ PLONGLONG Comparand,
- /*IN*/ PKSPIN_LOCK Lock);
-
-NTOSAPI
-PSINGLE_LIST_ENTRY
-DDKFASTAPI
-ExInterlockedFlushSList(
- /*IN*/ PSLIST_HEADER ListHead);
-
-NTOSAPI
-PLIST_ENTRY
-DDKAPI
-ExInterlockedInsertHeadList(
- /*IN*/ PLIST_ENTRY ListHead,
- /*IN*/ PLIST_ENTRY ListEntry,
- /*IN*/ PKSPIN_LOCK Lock);
-
-NTOSAPI
-PLIST_ENTRY
-DDKFASTAPI
-ExfInterlockedInsertHeadList(
- /*IN*/ PLIST_ENTRY ListHead,
- /*IN*/ PLIST_ENTRY ListEntry,
- /*IN*/ PKSPIN_LOCK Lock);
-
-NTOSAPI
-PLIST_ENTRY
-DDKAPI
-ExInterlockedInsertTailList(
- /*IN*/ PLIST_ENTRY ListHead,
- /*IN*/ PLIST_ENTRY ListEntry,
- /*IN*/ PKSPIN_LOCK Lock);
-
-NTOSAPI
-PLIST_ENTRY
-DDKFASTAPI
-ExfInterlockedInsertTailList(
- /*IN*/ PLIST_ENTRY ListHead,
- /*IN*/ PLIST_ENTRY ListEntry,
- /*IN*/ PKSPIN_LOCK Lock);
-
-NTOSAPI
-PSINGLE_LIST_ENTRY
-DDKAPI
-ExInterlockedPopEntryList(
- /*IN*/ PSINGLE_LIST_ENTRY ListHead,
- /*IN*/ PKSPIN_LOCK Lock);
-
-NTOSAPI
-PSINGLE_LIST_ENTRY
-DDKFASTAPI
-ExfInterlockedPopEntryList(
- /*IN*/ PSINGLE_LIST_ENTRY ListHead,
- /*IN*/ PKSPIN_LOCK Lock);
-
-
-NTOSAPI
-PSINGLE_LIST_ENTRY
-DDKAPI
-ExInterlockedPushEntryList(
- /*IN*/ PSINGLE_LIST_ENTRY ListHead,
- /*IN*/ PSINGLE_LIST_ENTRY ListEntry,
- /*IN*/ PKSPIN_LOCK Lock);
-
-NTOSAPI
-PSINGLE_LIST_ENTRY
-DDKFASTAPI
-ExfInterlockedPushEntryList(
- /*IN*/ PSINGLE_LIST_ENTRY ListHead,
- /*IN*/ PSINGLE_LIST_ENTRY ListEntry,
- /*IN*/ PKSPIN_LOCK Lock);
-
-
-NTOSAPI
-PLIST_ENTRY
-DDKAPI
-ExInterlockedRemoveHeadList(
- /*IN*/ PLIST_ENTRY ListHead,
- /*IN*/ PKSPIN_LOCK Lock);
-
-NTOSAPI
-PLIST_ENTRY
-DDKFASTAPI
-ExfInterlockedRemoveHeadList(
- /*IN*/ PLIST_ENTRY ListHead,
- /*IN*/ PKSPIN_LOCK Lock);
-
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-ExIsProcessorFeaturePresent(
- /*IN*/ ULONG ProcessorFeature);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-ExIsResourceAcquiredExclusiveLite(
- /*IN*/ PERESOURCE Resource);
-
-NTOSAPI
-USHORT
-DDKAPI
-ExIsResourceAcquiredLite(
- /*IN*/ PERESOURCE Resource);
-
-NTOSAPI
-USHORT
-DDKAPI
-ExIsResourceAcquiredSharedLite(
- /*IN*/ PERESOURCE Resource);
-
-NTOSAPI
-VOID
-DDKAPI
-ExLocalTimeToSystemTime(
- /*IN*/ PLARGE_INTEGER LocalTime,
- /*OUT*/ PLARGE_INTEGER SystemTime);
-
-NTOSAPI
-VOID
-DDKAPI
-ExNotifyCallback(
- /*IN*/ PCALLBACK_OBJECT CallbackObject,
- /*IN*/ PVOID Argument1,
- /*IN*/ PVOID Argument2);
-
-NTOSAPI
-VOID
-DDKAPI
-ExRaiseAccessViolation(
- VOID);
-
-NTOSAPI
-VOID
-DDKAPI
-ExRaiseDatatypeMisalignment(
- VOID);
-
-NTOSAPI
-VOID
-DDKAPI
-ExRaiseStatus(
- /*IN*/ NTSTATUS Status);
-
-NTOSAPI
-PVOID
-DDKAPI
-ExRegisterCallback(
- /*IN*/ PCALLBACK_OBJECT CallbackObject,
- /*IN*/ PCALLBACK_FUNCTION CallbackFunction,
- /*IN*/ PVOID CallbackContext);
-
-NTOSAPI
-VOID
-DDKAPI
-ExReinitializeResourceLite(
- /*IN*/ PERESOURCE Resource);
-
-NTOSAPI
-VOID
-DDKFASTAPI
-ExReleaseFastMutex(
- /*IN*/ PFAST_MUTEX FastMutex);
-
-NTOSAPI
-VOID
-DDKFASTAPI
-ExReleaseFastMutexUnsafe(
- /*IN*/ PFAST_MUTEX FastMutex);
-
-NTOSAPI
-VOID
-DDKAPI
-ExReleaseResourceForThreadLite(
- /*IN*/ PERESOURCE Resource,
- /*IN*/ ERESOURCE_THREAD ResourceThreadId);
-
-NTOSAPI
-VOID
-DDKFASTAPI
-ExReleaseResourceLite(
- /*IN*/ PERESOURCE Resource);
-
-NTOSAPI
-VOID
-DDKAPI
-ExSetResourceOwnerPointer(
- /*IN*/ PERESOURCE Resource,
- /*IN*/ PVOID OwnerPointer);
-
-NTOSAPI
-ULONG
-DDKAPI
-ExSetTimerResolution(
- /*IN*/ ULONG DesiredTime,
- /*IN*/ BOOLEAN SetResolution);
-
-NTOSAPI
-VOID
-DDKAPI
-ExSystemTimeToLocalTime(
- /*IN*/ PLARGE_INTEGER SystemTime,
- /*OUT*/ PLARGE_INTEGER LocalTime);
-
-NTOSAPI
-BOOLEAN
-DDKFASTAPI
-ExTryToAcquireFastMutex(
- /*IN*/ PFAST_MUTEX FastMutex);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-ExTryToAcquireResourceExclusiveLite(
- /*IN*/ PERESOURCE Resource);
-
-NTOSAPI
-VOID
-DDKAPI
-ExUnregisterCallback(
- /*IN*/ PVOID CbRegistration);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ExUuidCreate(
- /*OUT*/ UUID *Uuid);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-ExVerifySuite(
- /*IN*/ SUITE_TYPE SuiteType);
-
-#ifdef DBG
-
-#define PAGED_CODE() { \
- if (KeGetCurrentIrql() > APC_LEVEL) { \
- KdPrint( ("NTDDK: Pageable code called at IRQL > APC_LEVEL (%d)\n", KeGetCurrentIrql() )); \
- ASSERT(FALSE); \
- } \
-}
-
-#else
-
-#define PAGED_CODE()
-
-#endif
-
-NTOSAPI
-VOID
-DDKAPI
-ProbeForRead(
- /*IN*/ CONST VOID *Address,
- /*IN*/ ULONG Length,
- /*IN*/ ULONG Alignment);
-
-NTOSAPI
-VOID
-DDKAPI
-ProbeForWrite(
- /*IN*/ CONST VOID *Address,
- /*IN*/ ULONG Length,
- /*IN*/ ULONG Alignment);
-
-
-
-/** Configuration manager routines **/
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-CmRegisterCallback(
- /*IN*/ PEX_CALLBACK_FUNCTION Function,
- /*IN*/ PVOID Context,
- /*IN OUT*/ PLARGE_INTEGER Cookie);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-CmUnRegisterCallback(
- /*IN*/ LARGE_INTEGER Cookie);
-
-
-
-/** Filesystem runtime library routines **/
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-FsRtlIsTotalDeviceFailure(
- /*IN*/ NTSTATUS Status);
-
-
-
-/** Hardware abstraction layer routines **/
-
-NTOSAPI
-VOID
-DDKFASTAPI
-HalExamineMBR(
- /*IN*/ PDEVICE_OBJECT DeviceObject,
- /*IN*/ ULONG SectorSize,
- /*IN*/ ULONG MBRTypeIdentifier,
- /*OUT*/ PVOID Buffer);
-
-NTOSAPI
-VOID
-DDKAPI
-READ_PORT_BUFFER_UCHAR(
- /*IN*/ PUCHAR Port,
- /*IN*/ PUCHAR Buffer,
- /*IN*/ ULONG Count);
-
-NTOSAPI
-VOID
-DDKAPI
-READ_PORT_BUFFER_ULONG(
- /*IN*/ PULONG Port,
- /*IN*/ PULONG Buffer,
- /*IN*/ ULONG Count);
-
-NTOSAPI
-VOID
-DDKAPI
-READ_PORT_BUFFER_USHORT(
- /*IN*/ PUSHORT Port,
- /*IN*/ PUSHORT Buffer,
- /*IN*/ ULONG Count);
-
-NTOSAPI
-UCHAR
-DDKAPI
-READ_PORT_UCHAR(
- /*IN*/ PUCHAR Port);
-
-NTOSAPI
-ULONG
-DDKAPI
-READ_PORT_ULONG(
- /*IN*/ PULONG Port);
-
-NTOSAPI
-USHORT
-DDKAPI
-READ_PORT_USHORT(
- /*IN*/ PUSHORT Port);
-
-NTOSAPI
-VOID
-DDKAPI
-READ_REGISTER_BUFFER_UCHAR(
- /*IN*/ PUCHAR Register,
- /*IN*/ PUCHAR Buffer,
- /*IN*/ ULONG Count);
-
-NTOSAPI
-VOID
-DDKAPI
-READ_REGISTER_BUFFER_ULONG(
- /*IN*/ PULONG Register,
- /*IN*/ PULONG Buffer,
- /*IN*/ ULONG Count);
-
-NTOSAPI
-VOID
-DDKAPI
-READ_REGISTER_BUFFER_USHORT(
- /*IN*/ PUSHORT Register,
- /*IN*/ PUSHORT Buffer,
- /*IN*/ ULONG Count);
-
-NTOSAPI
-UCHAR
-DDKAPI
-READ_REGISTER_UCHAR(
- /*IN*/ PUCHAR Register);
-
-NTOSAPI
-ULONG
-DDKAPI
-READ_REGISTER_ULONG(
- /*IN*/ PULONG Register);
-
-NTOSAPI
-USHORT
-DDKAPI
-READ_REGISTER_USHORT(
- /*IN*/ PUSHORT Register);
-
-NTOSAPI
-VOID
-DDKAPI
-WRITE_PORT_BUFFER_UCHAR(
- /*IN*/ PUCHAR Port,
- /*IN*/ PUCHAR Buffer,
- /*IN*/ ULONG Count);
-
-NTOSAPI
-VOID
-DDKAPI
-WRITE_PORT_BUFFER_ULONG(
- /*IN*/ PULONG Port,
- /*IN*/ PULONG Buffer,
- /*IN*/ ULONG Count);
-
-NTOSAPI
-VOID
-DDKAPI
-WRITE_PORT_BUFFER_USHORT(
- /*IN*/ PUSHORT Port,
- /*IN*/ PUSHORT Buffer,
- /*IN*/ ULONG Count);
-
-NTOSAPI
-VOID
-DDKAPI
-WRITE_PORT_UCHAR(
- /*IN*/ PUCHAR Port,
- /*IN*/ UCHAR Value);
-
-NTOSAPI
-VOID
-DDKAPI
-WRITE_PORT_ULONG(
- /*IN*/ PULONG Port,
- /*IN*/ ULONG Value);
-
-NTOSAPI
-VOID
-DDKAPI
-WRITE_PORT_USHORT(
- /*IN*/ PUSHORT Port,
- /*IN*/ USHORT Value);
-
-NTOSAPI
-VOID
-DDKAPI
-WRITE_REGISTER_BUFFER_UCHAR(
- /*IN*/ PUCHAR Register,
- /*IN*/ PUCHAR Buffer,
- /*IN*/ ULONG Count);
-
-NTOSAPI
-VOID
-DDKAPI
-WRITE_REGISTER_BUFFER_ULONG(
- /*IN*/ PULONG Register,
- /*IN*/ PULONG Buffer,
- /*IN*/ ULONG Count);
-
-NTOSAPI
-VOID
-DDKAPI
-WRITE_REGISTER_BUFFER_USHORT(
- /*IN*/ PUSHORT Register,
- /*IN*/ PUSHORT Buffer,
- /*IN*/ ULONG Count);
-
-NTOSAPI
-VOID
-DDKAPI
-WRITE_REGISTER_UCHAR(
- /*IN*/ PUCHAR Register,
- /*IN*/ UCHAR Value);
-
-NTOSAPI
-VOID
-DDKAPI
-WRITE_REGISTER_ULONG(
- /*IN*/ PULONG Register,
- /*IN*/ ULONG Value);
-
-NTOSAPI
-VOID
-DDKAPI
-WRITE_REGISTER_USHORT(
- /*IN*/ PUSHORT Register,
- /*IN*/ USHORT Value);
-
-/** I/O manager routines **/
-
-NTOSAPI
-VOID
-DDKAPI
-IoAcquireCancelSpinLock(
- /*OUT*/ PKIRQL Irql);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoAcquireRemoveLockEx(
- /*IN*/ PIO_REMOVE_LOCK RemoveLock,
- /*IN*/ PVOID Tag /*OPTIONAL*/,
- /*IN*/ PCSTR File,
- /*IN*/ ULONG Line,
- /*IN*/ ULONG RemlockSize);
-
-/*
- * NTSTATUS
- * IoAcquireRemoveLock(
- * IN PIO_REMOVE_LOCK RemoveLock,
- * IN PVOID Tag OPTIONAL)
- */
-#define IoAcquireRemoveLock(_RemoveLock, \
- _Tag) \
- IoAcquireRemoveLockEx(_RemoveLock, _Tag, __FILE__, __LINE__, sizeof(IO_REMOVE_LOCK))
-
-/*
- * VOID
- * IoAdjustPagingPathCount(
- * IN PLONG Count,
- * IN BOOLEAN Increment)
- */
-#define IoAdjustPagingPathCount(_Count, \
- _Increment) \
-{ \
- if (_Increment) \
- { \
- InterlockedIncrement(_Count); \
- } \
- else \
- { \
- InterlockedDecrement(_Count); \
- } \
-}
-
-NTOSAPI
-VOID
-DDKAPI
-IoAllocateController(
- /*IN*/ PCONTROLLER_OBJECT ControllerObject,
- /*IN*/ PDEVICE_OBJECT DeviceObject,
- /*IN*/ PDRIVER_CONTROL ExecutionRoutine,
- /*IN*/ PVOID Context);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoAllocateDriverObjectExtension(
- /*IN*/ PDRIVER_OBJECT DriverObject,
- /*IN*/ PVOID ClientIdentificationAddress,
- /*IN*/ ULONG DriverObjectExtensionSize,
- /*OUT*/ PVOID *DriverObjectExtension);
-
-typedef struct _IO_ERROR_LOG_PACKET {
- UCHAR MajorFunctionCode;
- UCHAR RetryCount;
- USHORT DumpDataSize;
- USHORT NumberOfStrings;
- USHORT StringOffset;
- USHORT EventCategory;
- NTSTATUS ErrorCode;
- ULONG UniqueErrorValue;
- NTSTATUS FinalStatus;
- ULONG SequenceNumber;
- ULONG IoControlCode;
- LARGE_INTEGER DeviceOffset;
- ULONG DumpData[1];
-} IO_ERROR_LOG_PACKET, *PIO_ERROR_LOG_PACKET;
-
-NTOSAPI
-PVOID
-DDKAPI
-IoAllocateErrorLogEntry(
- /*IN*/ PVOID IoObject,
- /*IN*/ UCHAR EntrySize);
-
-NTOSAPI
-PIRP
-DDKAPI
-IoAllocateIrp(
- /*IN*/ CCHAR StackSize,
- /*IN*/ BOOLEAN ChargeQuota);
-
-NTOSAPI
-PMDL
-DDKAPI
-IoAllocateMdl(
- /*IN*/ PVOID VirtualAddress,
- /*IN*/ ULONG Length,
- /*IN*/ BOOLEAN SecondaryBuffer,
- /*IN*/ BOOLEAN ChargeQuota,
- /*IN OUT*/ PIRP Irp /*OPTIONAL*/);
-
-NTOSAPI
-PIO_WORKITEM
-DDKAPI
-IoAllocateWorkItem(
- /*IN*/ PDEVICE_OBJECT DeviceObject);
-
-/*
- * VOID IoAssignArcName(
- * IN PUNICODE_STRING ArcName,
- * IN PUNICODE_STRING DeviceName);
- */
-#define IoAssignArcName(_ArcName, _DeviceName) ( \
- IoCreateSymbolicLink((_ArcName), (_DeviceName)))
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoAttachDevice(
- /*IN*/ PDEVICE_OBJECT SourceDevice,
- /*IN*/ PUNICODE_STRING TargetDevice,
- /*OUT*/ PDEVICE_OBJECT *AttachedDevice);
-
-NTOSAPI
-PDEVICE_OBJECT
-DDKAPI
-IoAttachDeviceToDeviceStack(
- /*IN*/ PDEVICE_OBJECT SourceDevice,
- /*IN*/ PDEVICE_OBJECT TargetDevice);
-
-NTOSAPI
-PIRP
-DDKAPI
-IoBuildAsynchronousFsdRequest(
- /*IN*/ ULONG MajorFunction,
- /*IN*/ PDEVICE_OBJECT DeviceObject,
- /*IN OUT*/ PVOID Buffer /*OPTIONAL*/,
- /*IN*/ ULONG Length /*OPTIONAL*/,
- /*IN*/ PLARGE_INTEGER StartingOffset /*OPTIONAL*/,
- /*IN*/ PIO_STATUS_BLOCK IoStatusBlock /*OPTIONAL*/);
-
-NTOSAPI
-PIRP
-DDKAPI
-IoBuildDeviceIoControlRequest(
- /*IN*/ ULONG IoControlCode,
- /*IN*/ PDEVICE_OBJECT DeviceObject,
- /*IN*/ PVOID InputBuffer /*OPTIONAL*/,
- /*IN*/ ULONG InputBufferLength,
- /*OUT*/ PVOID OutputBuffer /*OPTIONAL*/,
- /*IN*/ ULONG OutputBufferLength,
- /*IN*/ BOOLEAN InternalDeviceIoControl,
- /*IN*/ PKEVENT Event,
- /*OUT*/ PIO_STATUS_BLOCK IoStatusBlock);
-
-NTOSAPI
-VOID
-DDKAPI
-IoBuildPartialMdl(
- /*IN*/ PMDL SourceMdl,
- /*IN OUT*/ PMDL TargetMdl,
- /*IN*/ PVOID VirtualAddress,
- /*IN*/ ULONG Length);
-
-NTOSAPI
-PIRP
-DDKAPI
-IoBuildSynchronousFsdRequest(
- /*IN*/ ULONG MajorFunction,
- /*IN*/ PDEVICE_OBJECT DeviceObject,
- /*IN OUT*/ PVOID Buffer /*OPTIONAL*/,
- /*IN*/ ULONG Length /*OPTIONAL*/,
- /*IN*/ PLARGE_INTEGER StartingOffset /*OPTIONAL*/,
- /*IN*/ PKEVENT Event,
- /*OUT*/ PIO_STATUS_BLOCK IoStatusBlock);
-
-NTOSAPI
-NTSTATUS
-DDKFASTAPI
-IofCallDriver(
- /*IN*/ PDEVICE_OBJECT DeviceObject,
- /*IN OUT*/ PIRP Irp);
-
-/*
- * NTSTATUS
- * IoCallDriver(
- * IN PDEVICE_OBJECT DeviceObject,
- * IN OUT PIRP Irp)
- */
-#define IoCallDriver IofCallDriver
-
-NTOSAPI
-VOID
-DDKAPI
-IoCancelFileOpen(
- /*IN*/ PDEVICE_OBJECT DeviceObject,
- /*IN*/ PFILE_OBJECT FileObject);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-IoCancelIrp(
- /*IN*/ PIRP Irp);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoCheckShareAccess(
- /*IN*/ ACCESS_MASK DesiredAccess,
- /*IN*/ ULONG DesiredShareAccess,
- /*IN OUT*/ PFILE_OBJECT FileObject,
- /*IN OUT*/ PSHARE_ACCESS ShareAccess,
- /*IN*/ BOOLEAN Update);
-
-NTOSAPI
-VOID
-DDKFASTAPI
-IofCompleteRequest(
- /*IN*/ PIRP Irp,
- /*IN*/ CCHAR PriorityBoost);
-
-/*
- * VOID
- * IoCompleteRequest(
- * IN PIRP Irp,
- * IN CCHAR PriorityBoost)
- */
-#define IoCompleteRequest IofCompleteRequest
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoConnectInterrupt(
- /*OUT*/ PKINTERRUPT *InterruptObject,
- /*IN*/ PKSERVICE_ROUTINE ServiceRoutine,
- /*IN*/ PVOID ServiceContext,
- /*IN*/ PKSPIN_LOCK SpinLock /*OPTIONAL*/,
- /*IN*/ ULONG Vector,
- /*IN*/ KIRQL Irql,
- /*IN*/ KIRQL SynchronizeIrql,
- /*IN*/ KINTERRUPT_MODE InterruptMode,
- /*IN*/ BOOLEAN ShareVector,
- /*IN*/ KAFFINITY ProcessorEnableMask,
- /*IN*/ BOOLEAN FloatingSave);
-
-/*
- * PIO_STACK_LOCATION
- * IoGetCurrentIrpStackLocation(
- * IN PIRP Irp)
- */
-#define IoGetCurrentIrpStackLocation(_Irp) \
- ((_Irp)->Tail.Overlay.CurrentStackLocation)
-
-/*
- * PIO_STACK_LOCATION
- * IoGetNextIrpStackLocation(
- * IN PIRP Irp)
- */
-#define IoGetNextIrpStackLocation(_Irp) \
- ((_Irp)->Tail.Overlay.CurrentStackLocation - 1)
-
-/*
- * VOID
- * IoCopyCurrentIrpStackLocationToNext(
- * IN PIRP Irp)
- */
-#define IoCopyCurrentIrpStackLocationToNext(_Irp) \
-{ \
- PIO_STACK_LOCATION _IrpSp; \
- PIO_STACK_LOCATION _NextIrpSp; \
- _IrpSp = IoGetCurrentIrpStackLocation(_Irp); \
- _NextIrpSp = IoGetNextIrpStackLocation(_Irp); \
- RtlCopyMemory(_NextIrpSp, _IrpSp, \
- FIELD_OFFSET(IO_STACK_LOCATION, CompletionRoutine)); \
- _NextIrpSp->Control = 0; \
-}
-
-NTOSAPI
-PCONTROLLER_OBJECT
-DDKAPI
-IoCreateController(
- /*IN*/ ULONG Size);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoCreateDevice(
- /*IN*/ PDRIVER_OBJECT DriverObject,
- /*IN*/ ULONG DeviceExtensionSize,
- /*IN*/ PUNICODE_STRING DeviceName /*OPTIONAL*/,
- /*IN*/ DEVICE_TYPE DeviceType,
- /*IN*/ ULONG DeviceCharacteristics,
- /*IN*/ BOOLEAN Exclusive,
- /*OUT*/ PDEVICE_OBJECT *DeviceObject);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoCreateDisk(
- /*IN*/ PDEVICE_OBJECT DeviceObject,
- /*IN*/ PCREATE_DISK Disk);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoCreateFile(
- /*OUT*/ PHANDLE FileHandle,
- /*IN*/ ACCESS_MASK DesiredAccess,
- /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes,
- /*OUT*/ PIO_STATUS_BLOCK IoStatusBlock,
- /*IN*/ PLARGE_INTEGER AllocationSize /*OPTIONAL*/,
- /*IN*/ ULONG FileAttributes,
- /*IN*/ ULONG ShareAccess,
- /*IN*/ ULONG Disposition,
- /*IN*/ ULONG CreateOptions,
- /*IN*/ PVOID EaBuffer /*OPTIONAL*/,
- /*IN*/ ULONG EaLength,
- /*IN*/ CREATE_FILE_TYPE CreateFileType,
- /*IN*/ PVOID ExtraCreateParameters /*OPTIONAL*/,
- /*IN*/ ULONG Options);
-
-NTOSAPI
-PKEVENT
-DDKAPI
-IoCreateNotificationEvent(
- /*IN*/ PUNICODE_STRING EventName,
- /*OUT*/ PHANDLE EventHandle);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoCreateSymbolicLink(
- /*IN*/ PUNICODE_STRING SymbolicLinkName,
- /*IN*/ PUNICODE_STRING DeviceName);
-
-NTOSAPI
-PKEVENT
-DDKAPI
-IoCreateSynchronizationEvent(
- /*IN*/ PUNICODE_STRING EventName,
- /*OUT*/ PHANDLE EventHandle);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoCreateUnprotectedSymbolicLink(
- /*IN*/ PUNICODE_STRING SymbolicLinkName,
- /*IN*/ PUNICODE_STRING DeviceName);
-
-NTOSAPI
-VOID
-DDKAPI
-IoCsqInitialize(
- PIO_CSQ Csq,
- /*IN*/ PIO_CSQ_INSERT_IRP CsqInsertIrp,
- /*IN*/ PIO_CSQ_REMOVE_IRP CsqRemoveIrp,
- /*IN*/ PIO_CSQ_PEEK_NEXT_IRP CsqPeekNextIrp,
- /*IN*/ PIO_CSQ_ACQUIRE_LOCK CsqAcquireLock,
- /*IN*/ PIO_CSQ_RELEASE_LOCK CsqReleaseLock,
- /*IN*/ PIO_CSQ_COMPLETE_CANCELED_IRP CsqCompleteCanceledIrp);
-
-NTOSAPI
-VOID
-DDKAPI
-IoCsqInsertIrp(
- /*IN*/ PIO_CSQ Csq,
- /*IN*/ PIRP Irp,
- /*IN*/ PIO_CSQ_IRP_CONTEXT Context);
-
-NTOSAPI
-PIRP
-DDKAPI
-IoCsqRemoveIrp(
- /*IN*/ PIO_CSQ Csq,
- /*IN*/ PIO_CSQ_IRP_CONTEXT Context);
-
-NTOSAPI
-PIRP
-DDKAPI
-IoCsqRemoveNextIrp(
- /*IN*/ PIO_CSQ Csq,
- /*IN*/ PVOID PeekContext);
-
-NTOSAPI
-VOID
-DDKAPI
-IoDeleteController(
- /*IN*/ PCONTROLLER_OBJECT ControllerObject);
-
-NTOSAPI
-VOID
-DDKAPI
-IoDeleteDevice(
- /*IN*/ PDEVICE_OBJECT DeviceObject);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoDeleteSymbolicLink(
- /*IN*/ PUNICODE_STRING SymbolicLinkName);
-
-/*
- * VOID
- * IoDeassignArcName(
- * IN PUNICODE_STRING ArcName)
- */
-#define IoDeassignArcName IoDeleteSymbolicLink
-
-NTOSAPI
-VOID
-DDKAPI
-IoDetachDevice(
- /*IN OUT*/ PDEVICE_OBJECT TargetDevice);
-
-NTOSAPI
-VOID
-DDKAPI
-IoDisconnectInterrupt(
- /*IN*/ PKINTERRUPT InterruptObject);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-IoForwardIrpSynchronously(
- /*IN*/ PDEVICE_OBJECT DeviceObject,
- /*IN*/ PIRP Irp);
-
-#define IoForwardAndCatchIrp IoForwardIrpSynchronously
-
-NTOSAPI
-VOID
-DDKAPI
-IoFreeController(
- /*IN*/ PCONTROLLER_OBJECT ControllerObject);
-
-NTOSAPI
-VOID
-DDKAPI
-IoFreeErrorLogEntry(
- PVOID ElEntry);
-
-NTOSAPI
-VOID
-DDKAPI
-IoFreeIrp(
- /*IN*/ PIRP Irp);
-
-NTOSAPI
-VOID
-DDKAPI
-IoFreeMdl(
- /*IN*/ PMDL Mdl);
-
-NTOSAPI
-VOID
-DDKAPI
-IoFreeWorkItem(
- /*IN*/ PIO_WORKITEM pIOWorkItem);
-
-NTOSAPI
-PDEVICE_OBJECT
-DDKAPI
-IoGetAttachedDevice(
- /*IN*/ PDEVICE_OBJECT DeviceObject);
-
-NTOSAPI
-PDEVICE_OBJECT
-DDKAPI
-IoGetAttachedDeviceReference(
- /*IN*/ PDEVICE_OBJECT DeviceObject);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoGetBootDiskInformation(
- /*IN OUT*/ PBOOTDISK_INFORMATION BootDiskInformation,
- /*IN*/ ULONG Size);
-
-NTOSAPI
-PCONFIGURATION_INFORMATION
-DDKAPI
-IoGetConfigurationInformation(
- VOID);
-
-NTOSAPI
-PEPROCESS
-DDKAPI
-IoGetCurrentProcess(
- VOID);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoGetDeviceInterfaceAlias(
- /*IN*/ PUNICODE_STRING SymbolicLinkName,
- /*IN*/ CONST GUID *AliasInterfaceClassGuid,
- /*OUT*/ PUNICODE_STRING AliasSymbolicLinkName);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoGetDeviceInterfaces(
- /*IN*/ CONST GUID *InterfaceClassGuid,
- /*IN*/ PDEVICE_OBJECT PhysicalDeviceObject /*OPTIONAL*/,
- /*IN*/ ULONG Flags,
- /*OUT*/ PWSTR *SymbolicLinkList);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoGetDeviceObjectPointer(
- /*IN*/ PUNICODE_STRING ObjectName,
- /*IN*/ ACCESS_MASK DesiredAccess,
- /*OUT*/ PFILE_OBJECT *FileObject,
- /*OUT*/ PDEVICE_OBJECT *DeviceObject);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoGetDeviceProperty(
- /*IN*/ PDEVICE_OBJECT DeviceObject,
- /*IN*/ DEVICE_REGISTRY_PROPERTY DeviceProperty,
- /*IN*/ ULONG BufferLength,
- /*OUT*/ PVOID PropertyBuffer,
- /*OUT*/ PULONG ResultLength);
-
-NTOSAPI
-PDEVICE_OBJECT
-DDKAPI
-IoGetDeviceToVerify(
- /*IN*/ PETHREAD Thread);
-
-NTOSAPI
-PDMA_ADAPTER
-DDKAPI
-IoGetDmaAdapter(
- /*IN*/ PDEVICE_OBJECT PhysicalDeviceObject,
- /*IN*/ PDEVICE_DESCRIPTION DeviceDescription,
- /*IN OUT*/ PULONG NumberOfMapRegisters);
-
-NTOSAPI
-PVOID
-DDKAPI
-IoGetDriverObjectExtension(
- /*IN*/ PDRIVER_OBJECT DriverObject,
- /*IN*/ PVOID ClientIdentificationAddress);
-
-NTOSAPI
-PGENERIC_MAPPING
-DDKAPI
-IoGetFileObjectGenericMapping(
- VOID);
-
-/*
- * ULONG
- * IoGetFunctionCodeFromCtlCode(
- * IN ULONG ControlCode)
- */
-#define IoGetFunctionCodeFromCtlCode(_ControlCode) \
- (((_ControlCode) >> 2) & 0x00000FFF)
-
-NTOSAPI
-PVOID
-DDKAPI
-IoGetInitialStack(
- VOID);
-
-NTOSAPI
-PDEVICE_OBJECT
-DDKAPI
-IoGetRelatedDeviceObject(
- /*IN*/ PFILE_OBJECT FileObject);
-
-NTOSAPI
-ULONG
-DDKAPI
-IoGetRemainingStackSize(
- VOID);
-
-NTOSAPI
-VOID
-DDKAPI
-IoGetStackLimits(
- /*OUT*/ PULONG_PTR LowLimit,
- /*OUT*/ PULONG_PTR HighLimit);
-
-NTOSAPI
-VOID
-DDKAPI
-KeInitializeDpc(
- /*IN*/ PRKDPC Dpc,
- /*IN*/ PKDEFERRED_ROUTINE DeferredRoutine,
- /*IN*/ PVOID DeferredContext);
-
-/*
- * VOID
- * IoInitializeDpcRequest(
- * IN PDEVICE_OBJECT DeviceObject,
- * IN PIO_DPC_ROUTINE DpcRoutine)
- */
-#define IoInitializeDpcRequest(_DeviceObject, \
- _DpcRoutine) \
- KeInitializeDpc(&(_DeviceObject)->Dpc, \
- (PKDEFERRED_ROUTINE) (_DpcRoutine), \
- _DeviceObject)
-
-NTOSAPI
-VOID
-DDKAPI
-IoInitializeIrp(
- /*IN OUT*/ PIRP Irp,
- /*IN*/ USHORT PacketSize,
- /*IN*/ CCHAR StackSize);
-
-NTOSAPI
-VOID
-DDKAPI
-IoInitializeRemoveLockEx(
- /*IN*/ PIO_REMOVE_LOCK Lock,
- /*IN*/ ULONG AllocateTag,
- /*IN*/ ULONG MaxLockedMinutes,
- /*IN*/ ULONG HighWatermark,
- /*IN*/ ULONG RemlockSize);
-
-/* VOID
- * IoInitializeRemoveLock(
- * IN PIO_REMOVE_LOCK Lock,
- * IN ULONG AllocateTag,
- * IN ULONG MaxLockedMinutes,
- * IN ULONG HighWatermark)
- */
-#define IoInitializeRemoveLock( \
- Lock, AllocateTag, MaxLockedMinutes, HighWatermark) \
- IoInitializeRemoveLockEx(Lock, AllocateTag, MaxLockedMinutes, \
- HighWatermark, sizeof(IO_REMOVE_LOCK))
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoInitializeTimer(
- /*IN*/ PDEVICE_OBJECT DeviceObject,
- /*IN*/ PIO_TIMER_ROUTINE TimerRoutine,
- /*IN*/ PVOID Context);
-
-NTOSAPI
-VOID
-DDKAPI
-IoInvalidateDeviceRelations(
- /*IN*/ PDEVICE_OBJECT DeviceObject,
- /*IN*/ DEVICE_RELATION_TYPE Type);
-
-NTOSAPI
-VOID
-DDKAPI
-IoInvalidateDeviceState(
- /*IN*/ PDEVICE_OBJECT PhysicalDeviceObject);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-IoIs32bitProcess(
- /*IN*/ PIRP Irp /*OPTIONAL*/);
-
-/*
- * BOOLEAN
- * IoIsErrorUserInduced(
- * IN NTSTATUS Status);
- */
-#define IoIsErrorUserInduced(Status) \
- ((BOOLEAN)(((Status) == STATUS_DEVICE_NOT_READY) || \
- ((Status) == STATUS_IO_TIMEOUT) || \
- ((Status) == STATUS_MEDIA_WRITE_PROTECTED) || \
- ((Status) == STATUS_NO_MEDIA_IN_DEVICE) || \
- ((Status) == STATUS_VERIFY_REQUIRED) || \
- ((Status) == STATUS_UNRECOGNIZED_MEDIA) || \
- ((Status) == STATUS_WRONG_VOLUME)))
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-IoIsWdmVersionAvailable(
- /*IN*/ UCHAR MajorVersion,
- /*IN*/ UCHAR MinorVersion);
-
-NTOSAPI
-PIRP
-DDKAPI
-IoMakeAssociatedIrp(
- /*IN*/ PIRP Irp,
- /*IN*/ CCHAR StackSize);
-
-/*
- * VOID
- * IoMarkIrpPending(
- * IN OUT PIRP Irp)
- */
-#define IoMarkIrpPending(_Irp) \
- (IoGetCurrentIrpStackLocation(_Irp)->Control |= SL_PENDING_RETURNED)
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoOpenDeviceInterfaceRegistryKey(
- /*IN*/ PUNICODE_STRING SymbolicLinkName,
- /*IN*/ ACCESS_MASK DesiredAccess,
- /*OUT*/ PHANDLE DeviceInterfaceKey);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoOpenDeviceRegistryKey(
- /*IN*/ PDEVICE_OBJECT DeviceObject,
- /*IN*/ ULONG DevInstKeyType,
- /*IN*/ ACCESS_MASK DesiredAccess,
- /*OUT*/ PHANDLE DevInstRegKey);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoQueryDeviceDescription(
- /*IN*/ PINTERFACE_TYPE BusType /*OPTIONAL*/,
- /*IN*/ PULONG BusNumber /*OPTIONAL*/,
- /*IN*/ PCONFIGURATION_TYPE ControllerType /*OPTIONAL*/,
- /*IN*/ PULONG ControllerNumber /*OPTIONAL*/,
- /*IN*/ PCONFIGURATION_TYPE PeripheralType /*OPTIONAL*/,
- /*IN*/ PULONG PeripheralNumber /*OPTIONAL*/,
- /*IN*/ PIO_QUERY_DEVICE_ROUTINE CalloutRoutine,
- /*IN*/ PVOID Context);
-
-NTOSAPI
-VOID
-DDKAPI
-IoQueueWorkItem(
- /*IN*/ PIO_WORKITEM pIOWorkItem,
- /*IN*/ PIO_WORKITEM_ROUTINE Routine,
- /*IN*/ WORK_QUEUE_TYPE QueueType,
- /*IN*/ PVOID Context);
-
-NTOSAPI
-VOID
-DDKAPI
-IoRaiseHardError(
- /*IN*/ PIRP Irp,
- /*IN*/ PVPB Vpb /*OPTIONAL*/,
- /*IN*/ PDEVICE_OBJECT RealDeviceObject);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-IoRaiseInformationalHardError(
- /*IN*/ NTSTATUS ErrorStatus,
- /*IN*/ PUNICODE_STRING String /*OPTIONAL*/,
- /*IN*/ PKTHREAD Thread /*OPTIONAL*/);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoReadDiskSignature(
- /*IN*/ PDEVICE_OBJECT DeviceObject,
- /*IN*/ ULONG BytesPerSector,
- /*OUT*/ PDISK_SIGNATURE Signature);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoReadPartitionTableEx(
- /*IN*/ PDEVICE_OBJECT DeviceObject,
- /*IN*/ struct _DRIVE_LAYOUT_INFORMATION_EX **PartitionBuffer);
-
-NTOSAPI
-VOID
-DDKAPI
-IoRegisterBootDriverReinitialization(
- /*IN*/ PDRIVER_OBJECT DriverObject,
- /*IN*/ PDRIVER_REINITIALIZE DriverReinitializationRoutine,
- /*IN*/ PVOID Context);
-
-NTOSAPI
-VOID
-DDKAPI
-IoRegisterBootDriverReinitialization(
- /*IN*/ PDRIVER_OBJECT DriverObject,
- /*IN*/ PDRIVER_REINITIALIZE DriverReinitializationRoutine,
- /*IN*/ PVOID Context);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoRegisterDeviceInterface(
- /*IN*/ PDEVICE_OBJECT PhysicalDeviceObject,
- /*IN*/ CONST GUID *InterfaceClassGuid,
- /*IN*/ PUNICODE_STRING ReferenceString /*OPTIONAL*/,
- /*OUT*/ PUNICODE_STRING SymbolicLinkName);
-
-NTOSAPI
-VOID
-DDKAPI
-IoRegisterDriverReinitialization(
- /*IN*/ PDRIVER_OBJECT DriverObject,
- /*IN*/ PDRIVER_REINITIALIZE DriverReinitializationRoutine,
- /*IN*/ PVOID Context);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoRegisterPlugPlayNotification(
- /*IN*/ IO_NOTIFICATION_EVENT_CATEGORY EventCategory,
- /*IN*/ ULONG EventCategoryFlags,
- /*IN*/ PVOID EventCategoryData /*OPTIONAL*/,
- /*IN*/ PDRIVER_OBJECT DriverObject,
- /*IN*/ PDRIVER_NOTIFICATION_CALLBACK_ROUTINE CallbackRoutine,
- /*IN*/ PVOID Context,
- /*OUT*/ PVOID *NotificationEntry);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoRegisterShutdownNotification(
- /*IN*/ PDEVICE_OBJECT DeviceObject);
-
-NTOSAPI
-VOID
-DDKAPI
-IoReleaseCancelSpinLock(
- /*IN*/ KIRQL Irql);
-
-NTOSAPI
-VOID
-DDKAPI
-IoReleaseRemoveLockAndWaitEx(
- /*IN*/ PIO_REMOVE_LOCK RemoveLock,
- /*IN*/ PVOID Tag,
- /*IN*/ ULONG RemlockSize);
-
-/*
- * VOID
- * IoReleaseRemoveLockAndWait(
- * IN PIO_REMOVE_LOCK RemoveLock,
- * IN PVOID Tag)
- */
-#define IoReleaseRemoveLockAndWait(_RemoveLock, \
- _Tag) \
- IoReleaseRemoveLockAndWaitEx(_RemoveLock, _Tag, sizeof(IO_REMOVE_LOCK))
-
-NTOSAPI
-VOID
-DDKAPI
-IoReleaseRemoveLockEx(
- /*IN*/ PIO_REMOVE_LOCK RemoveLock,
- /*IN*/ PVOID Tag,
- /*IN*/ ULONG RemlockSize);
-
-/*
- * VOID
- * IoReleaseRemoveLock(
- * IN PIO_REMOVE_LOCK RemoveLock,
- * IN PVOID Tag)
- */
-#define IoReleaseRemoveLock(_RemoveLock, \
- _Tag) \
- IoReleaseRemoveLockEx(_RemoveLock, _Tag, sizeof(IO_REMOVE_LOCK))
-
-NTOSAPI
-VOID
-DDKAPI
-IoRemoveShareAccess(
- /*IN*/ PFILE_OBJECT FileObject,
- /*IN OUT*/ PSHARE_ACCESS ShareAccess);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoReportDetectedDevice(
- /*IN*/ PDRIVER_OBJECT DriverObject,
- /*IN*/ INTERFACE_TYPE LegacyBusType,
- /*IN*/ ULONG BusNumber,
- /*IN*/ ULONG SlotNumber,
- /*IN*/ PCM_RESOURCE_LIST ResourceList,
- /*IN*/ PIO_RESOURCE_REQUIREMENTS_LIST ResourceRequirements /*OPTIONAL*/,
- /*IN*/ BOOLEAN ResourceAssigned,
- /*IN OUT*/ PDEVICE_OBJECT *DeviceObject);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoReportResourceForDetection(
- /*IN*/ PDRIVER_OBJECT DriverObject,
- /*IN*/ PCM_RESOURCE_LIST DriverList /*OPTIONAL*/,
- /*IN*/ ULONG DriverListSize /*OPTIONAL*/,
- /*IN*/ PDEVICE_OBJECT DeviceObject /*OPTIONAL*/,
- /*IN*/ PCM_RESOURCE_LIST DeviceList /*OPTIONAL*/,
- /*IN*/ ULONG DeviceListSize /*OPTIONAL*/,
- /*OUT*/ PBOOLEAN ConflictDetected);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoReportResourceUsage(
- /*IN*/ PUNICODE_STRING DriverClassName /*OPTIONAL*/,
- /*IN*/ PDRIVER_OBJECT DriverObject,
- /*IN*/ PCM_RESOURCE_LIST DriverList /*OPTIONAL*/,
- /*IN*/ ULONG DriverListSize /*OPTIONAL*/,
- /*IN*/ PDEVICE_OBJECT DeviceObject,
- /*IN*/ PCM_RESOURCE_LIST DeviceList /*OPTIONAL*/,
- /*IN*/ ULONG DeviceListSize /*OPTIONAL*/,
- /*IN*/ BOOLEAN OverrideConflict,
- /*OUT*/ PBOOLEAN ConflictDetected);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoReportTargetDeviceChange(
- /*IN*/ PDEVICE_OBJECT PhysicalDeviceObject,
- /*IN*/ PVOID NotificationStructure);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoReportTargetDeviceChangeAsynchronous(
- /*IN*/ PDEVICE_OBJECT PhysicalDeviceObject,
- /*IN*/ PVOID NotificationStructure,
- /*IN*/ PDEVICE_CHANGE_COMPLETE_CALLBACK Callback /*OPTIONAL*/,
- /*IN*/ PVOID Context /*OPTIONAL*/);
-
-NTOSAPI
-VOID
-DDKAPI
-IoRequestDeviceEject(
- /*IN*/ PDEVICE_OBJECT PhysicalDeviceObject);
-
-/*
- * VOID
- * IoRequestDpc(
- * IN PDEVICE_OBJECT DeviceObject,
- * IN PIRP Irp,
- * IN PVOID Context);
- */
-#define IoRequestDpc(DeviceObject, Irp, Context)( \
- KeInsertQueueDpc(&(DeviceObject)->Dpc, (Irp), (Context)))
-
-NTOSAPI
-VOID
-DDKAPI
-IoReuseIrp(
- /*IN OUT*/ PIRP Irp,
- /*IN*/ NTSTATUS Status);
-
-/*
- * PDRIVER_CANCEL
- * IoSetCancelRoutine(
- * IN PIRP Irp,
- * IN PDRIVER_CANCEL CancelRoutine)
- */
-#define IoSetCancelRoutine(_Irp, \
- _CancelRoutine) \
- ((PDRIVER_CANCEL) InterlockedExchangePointer( \
- (PVOID *) &(_Irp)->CancelRoutine, (PVOID) (_CancelRoutine)))
-
-/*
- * VOID
- * IoSetCompletionRoutine(
- * IN PIRP Irp,
- * IN PIO_COMPLETION_ROUTINE CompletionRoutine,
- * IN PVOID Context,
- * IN BOOLEAN InvokeOnSuccess,
- * IN BOOLEAN InvokeOnError,
- * IN BOOLEAN InvokeOnCancel)
- */
-#define IoSetCompletionRoutine(_Irp, \
- _CompletionRoutine, \
- _Context, \
- _InvokeOnSuccess, \
- _InvokeOnError, \
- _InvokeOnCancel) \
-{ \
- PIO_STACK_LOCATION _IrpSp; \
- ASSERT(_InvokeOnSuccess || _InvokeOnError || _InvokeOnCancel ? \
- _CompletionRoutine != NULL : TRUE); \
- _IrpSp = IoGetNextIrpStackLocation(_Irp); \
- _IrpSp->CompletionRoutine = (PIO_COMPLETION_ROUTINE)(_CompletionRoutine); \
- _IrpSp->Context = (_Context); \
- _IrpSp->Control = 0; \
- if (_InvokeOnSuccess) _IrpSp->Control = SL_INVOKE_ON_SUCCESS; \
- if (_InvokeOnError) _IrpSp->Control |= SL_INVOKE_ON_ERROR; \
- if (_InvokeOnCancel) _IrpSp->Control |= SL_INVOKE_ON_CANCEL; \
-}
-
-NTOSAPI
-VOID
-DDKAPI
-IoSetCompletionRoutineEx(
- /*IN*/ PDEVICE_OBJECT DeviceObject,
- /*IN*/ PIRP Irp,
- /*IN*/ PIO_COMPLETION_ROUTINE CompletionRoutine,
- /*IN*/ PVOID Context,
- /*IN*/ BOOLEAN InvokeOnSuccess,
- /*IN*/ BOOLEAN InvokeOnError,
- /*IN*/ BOOLEAN InvokeOnCancel);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoSetDeviceInterfaceState(
- /*IN*/ PUNICODE_STRING SymbolicLinkName,
- /*IN*/ BOOLEAN Enable);
-
-NTOSAPI
-VOID
-DDKAPI
-IoSetHardErrorOrVerifyDevice(
- /*IN*/ PIRP Irp,
- /*IN*/ PDEVICE_OBJECT DeviceObject);
-
-/*
- * VOID
- * IoSetNextIrpStackLocation(
- * IN OUT PIRP Irp)
- */
-#define IoSetNextIrpStackLocation(_Irp) \
-{ \
- (_Irp)->CurrentLocation--; \
- (_Irp)->Tail.Overlay.CurrentStackLocation--; \
-}
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoSetPartitionInformationEx(
- /*IN*/ PDEVICE_OBJECT DeviceObject,
- /*IN*/ ULONG PartitionNumber,
- /*IN*/ struct _SET_PARTITION_INFORMATION_EX *PartitionInfo);
-
-NTOSAPI
-VOID
-DDKAPI
-IoSetShareAccess(
- /*IN*/ ACCESS_MASK DesiredAccess,
- /*IN*/ ULONG DesiredShareAccess,
- /*IN OUT*/ PFILE_OBJECT FileObject,
- /*OUT*/ PSHARE_ACCESS ShareAccess);
-
-NTOSAPI
-VOID
-DDKAPI
-IoSetStartIoAttributes(
- /*IN*/ PDEVICE_OBJECT DeviceObject,
- /*IN*/ BOOLEAN DeferredStartIo,
- /*IN*/ BOOLEAN NonCancelable);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoSetSystemPartition(
- /*IN*/ PUNICODE_STRING VolumeNameString);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-IoSetThreadHardErrorMode(
- /*IN*/ BOOLEAN EnableHardErrors);
-
-/*
- * USHORT
- * IoSizeOfIrp(
- * IN CCHAR StackSize)
- */
-#define IoSizeOfIrp(_StackSize) \
- ((USHORT) (sizeof(IRP) + ((_StackSize) * (sizeof(IO_STACK_LOCATION)))))
-
-/*
- * VOID
- * IoSkipCurrentIrpStackLocation(
- * IN PIRP Irp)
- */
-#define IoSkipCurrentIrpStackLocation(_Irp) \
-{ \
- (_Irp)->CurrentLocation++; \
- (_Irp)->Tail.Overlay.CurrentStackLocation++; \
-}
-
-NTOSAPI
-VOID
-DDKAPI
-IoStartNextPacket(
- /*IN*/ PDEVICE_OBJECT DeviceObject,
- /*IN*/ BOOLEAN Cancelable);
-
-NTOSAPI
-VOID
-DDKAPI
-IoStartNextPacketByKey(
- /*IN*/ PDEVICE_OBJECT DeviceObject,
- /*IN*/ BOOLEAN Cancelable,
- /*IN*/ ULONG Key);
-
-NTOSAPI
-VOID
-DDKAPI
-IoStartPacket(
- /*IN*/ PDEVICE_OBJECT DeviceObject,
- /*IN*/ PIRP Irp,
- /*IN*/ PULONG Key /*OPTIONAL*/,
- /*IN*/ PDRIVER_CANCEL CancelFunction /*OPTIONAL*/);
-
-NTOSAPI
-VOID
-DDKAPI
-IoStartTimer(
- /*IN*/ PDEVICE_OBJECT DeviceObject);
-
-NTOSAPI
-VOID
-DDKAPI
-IoStopTimer(
- /*IN*/ PDEVICE_OBJECT DeviceObject);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoUnregisterPlugPlayNotification(
- /*IN*/ PVOID NotificationEntry);
-
-NTOSAPI
-VOID
-DDKAPI
-IoUnregisterShutdownNotification(
- /*IN*/ PDEVICE_OBJECT DeviceObject);
-
-NTOSAPI
-VOID
-DDKAPI
-IoUpdateShareAccess(
- /*IN*/ PFILE_OBJECT FileObject,
- /*IN OUT*/ PSHARE_ACCESS ShareAccess);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoVerifyPartitionTable(
- /*IN*/ PDEVICE_OBJECT DeviceObject,
- /*IN*/ BOOLEAN FixErrors);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoVolumeDeviceToDosName(
- /*IN*/ PVOID VolumeDeviceObject,
- /*OUT*/ PUNICODE_STRING DosName);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoWMIAllocateInstanceIds(
- /*IN*/ GUID *Guid,
- /*IN*/ ULONG InstanceCount,
- /*OUT*/ ULONG *FirstInstanceId);
-
-NTOSAPI
-ULONG
-DDKAPI
-IoWMIDeviceObjectToProviderId(
- /*IN*/ PDEVICE_OBJECT DeviceObject);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoWMIDeviceObjectToInstanceName(
- /*IN*/ PVOID DataBlockObject,
- /*IN*/ PDEVICE_OBJECT DeviceObject,
- /*OUT*/ PUNICODE_STRING InstanceName);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoWMIExecuteMethod(
- /*IN*/ PVOID DataBlockObject,
- /*IN*/ PUNICODE_STRING InstanceName,
- /*IN*/ ULONG MethodId,
- /*IN*/ ULONG InBufferSize,
- /*IN OUT*/ PULONG OutBufferSize,
- /*IN OUT*/ PUCHAR InOutBuffer);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoWMIHandleToInstanceName(
- /*IN*/ PVOID DataBlockObject,
- /*IN*/ HANDLE FileHandle,
- /*OUT*/ PUNICODE_STRING InstanceName);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoWMIOpenBlock(
- /*IN*/ GUID *DataBlockGuid,
- /*IN*/ ULONG DesiredAccess,
- /*OUT*/ PVOID *DataBlockObject);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoWMIQueryAllData(
- /*IN*/ PVOID DataBlockObject,
- /*IN OUT*/ ULONG *InOutBufferSize,
- /*OUT*/ PVOID OutBuffer);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoWMIQueryAllDataMultiple(
- /*IN*/ PVOID *DataBlockObjectList,
- /*IN*/ ULONG ObjectCount,
- /*IN OUT*/ ULONG *InOutBufferSize,
- /*OUT*/ PVOID OutBuffer);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoWMIQuerySingleInstance(
- /*IN*/ PVOID DataBlockObject,
- /*IN*/ PUNICODE_STRING InstanceName,
- /*IN OUT*/ ULONG *InOutBufferSize,
- /*OUT*/ PVOID OutBuffer);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoWMIQuerySingleInstanceMultiple(
- /*IN*/ PVOID *DataBlockObjectList,
- /*IN*/ PUNICODE_STRING InstanceNames,
- /*IN*/ ULONG ObjectCount,
- /*IN OUT*/ ULONG *InOutBufferSize,
- /*OUT*/ PVOID OutBuffer);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoWMIRegistrationControl(
- /*IN*/ PDEVICE_OBJECT DeviceObject,
- /*IN*/ ULONG Action);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoWMISetNotificationCallback(
- /*IN*/ PVOID Object,
- /*IN*/ WMI_NOTIFICATION_CALLBACK Callback,
- /*IN*/ PVOID Context);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoWMISetSingleInstance(
- /*IN*/ PVOID DataBlockObject,
- /*IN*/ PUNICODE_STRING InstanceName,
- /*IN*/ ULONG Version,
- /*IN*/ ULONG ValueBufferSize,
- /*IN*/ PVOID ValueBuffer);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoWMISetSingleItem(
- /*IN*/ PVOID DataBlockObject,
- /*IN*/ PUNICODE_STRING InstanceName,
- /*IN*/ ULONG DataItemId,
- /*IN*/ ULONG Version,
- /*IN*/ ULONG ValueBufferSize,
- /*IN*/ PVOID ValueBuffer);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoWMISuggestInstanceName(
- /*IN*/ PDEVICE_OBJECT PhysicalDeviceObject /*OPTIONAL*/,
- /*IN*/ PUNICODE_STRING SymbolicLinkName /*OPTIONAL*/,
- /*IN*/ BOOLEAN CombineNames,
- /*OUT*/ PUNICODE_STRING SuggestedInstanceName);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoWMIWriteEvent(
- /*IN*/ PVOID WnodeEventItem);
-
-NTOSAPI
-VOID
-DDKAPI
-IoWriteErrorLogEntry(
- /*IN*/ PVOID ElEntry);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoWritePartitionTableEx(
- /*IN*/ PDEVICE_OBJECT DeviceObject,
- /*IN*/ struct _DRIVE_LAYOUT_INFORMATION_EX *PartitionBuffer);
-
-
-
-/** Kernel routines **/
-
-NTOSAPI
-VOID
-DDKFASTAPI
-KeAcquireInStackQueuedSpinLock(
- /*IN*/ PKSPIN_LOCK SpinLock,
- /*IN*/ PKLOCK_QUEUE_HANDLE LockHandle);
-
-NTOSAPI
-VOID
-DDKFASTAPI
-KeAcquireInStackQueuedSpinLockAtDpcLevel(
- /*IN*/ PKSPIN_LOCK SpinLock,
- /*IN*/ PKLOCK_QUEUE_HANDLE LockHandle);
-
-NTOSAPI
-KIRQL
-DDKAPI
-KeAcquireInterruptSpinLock(
- /*IN*/ PKINTERRUPT Interrupt);
-
-NTOSAPI
-VOID
-DDKAPI
-KeAcquireSpinLock(
- /*IN*/ PKSPIN_LOCK SpinLock,
- /*OUT*/ PKIRQL OldIrql);
-
-/* System Service Dispatch Table */
-typedef PVOID (NTAPI * SSDT)(VOID);
-typedef SSDT * PSSDT;
-
-/* System Service Parameters Table */
-typedef UCHAR SSPT, * PSSPT;
-
-typedef struct _SSDT_ENTRY {
- PSSDT SSDT;
- PULONG ServiceCounterTable;
- ULONG NumberOfServices;
- PSSPT SSPT;
-} SSDT_ENTRY, *PSSDT_ENTRY;
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-KeAddSystemServiceTable(
- /*IN*/ PSSDT SSDT,
- /*IN*/ PULONG ServiceCounterTable,
- /*IN*/ ULONG NumberOfServices,
- /*IN*/ PSSPT SSPT,
- /*IN*/ ULONG TableIndex);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-KeAreApcsDisabled(
- VOID);
-
-NTOSAPI
-VOID
-DDKAPI
-KeAttachProcess(
- /*IN*/ PEPROCESS Process);
-
-NTOSAPI
-VOID
-DDKAPI
-KeBugCheck(
- /*IN*/ ULONG BugCheckCode);
-
-NTOSAPI
-VOID
-DDKAPI
-KeBugCheckEx(
- /*IN*/ ULONG BugCheckCode,
- /*IN*/ ULONG_PTR BugCheckParameter1,
- /*IN*/ ULONG_PTR BugCheckParameter2,
- /*IN*/ ULONG_PTR BugCheckParameter3,
- /*IN*/ ULONG_PTR BugCheckParameter4);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-KeCancelTimer(
- /*IN*/ PKTIMER Timer);
-
-NTOSAPI
-VOID
-DDKAPI
-KeClearEvent(
- /*IN*/ PRKEVENT Event);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-KeDelayExecutionThread(
- /*IN*/ KPROCESSOR_MODE WaitMode,
- /*IN*/ BOOLEAN Alertable,
- /*IN*/ PLARGE_INTEGER Interval);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-KeDeregisterBugCheckCallback(
- /*IN*/ PKBUGCHECK_CALLBACK_RECORD CallbackRecord);
-
-NTOSAPI
-VOID
-DDKAPI
-KeDetachProcess(
- VOID);
-
-NTOSAPI
-VOID
-DDKAPI
-KeEnterCriticalRegion(
- VOID);
-
-/*
- * VOID
- * KeFlushIoBuffers(
- * IN PMDL Mdl,
- * IN BOOLEAN ReadOperation,
- * IN BOOLEAN DmaOperation)
- */
-#define KeFlushIoBuffers(_Mdl, _ReadOperation, _DmaOperation)
-
-NTOSAPI
-VOID
-DDKAPI
-KeFlushQueuedDpcs(VOID);
-
-NTOSAPI
-PRKTHREAD
-DDKAPI
-KeGetCurrentThread(
- VOID);
-
-NTOSAPI
-KPROCESSOR_MODE
-DDKAPI
-KeGetPreviousMode(
- VOID);
-
-NTOSAPI
-ULONG
-DDKAPI
-KeGetRecommendedSharedDataAlignment(
- VOID);
-
-NTOSAPI
-VOID
-DDKAPI
-KeInitializeApc(
- /*IN*/ PKAPC Apc,
- /*IN*/ PKTHREAD Thread,
- /*IN*/ UCHAR StateIndex,
- /*IN*/ PKKERNEL_ROUTINE KernelRoutine,
- /*IN*/ PKRUNDOWN_ROUTINE RundownRoutine,
- /*IN*/ PKNORMAL_ROUTINE NormalRoutine,
- /*IN*/ UCHAR Mode,
- /*IN*/ PVOID Context);
-
-NTOSAPI
-VOID
-DDKAPI
-KeInitializeDeviceQueue(
- /*IN*/ PKDEVICE_QUEUE DeviceQueue);
-
-NTOSAPI
-VOID
-DDKAPI
-KeInitializeMutex(
- /*IN*/ PRKMUTEX Mutex,
- /*IN*/ ULONG Level);
-
-NTOSAPI
-VOID
-DDKAPI
-KeInitializeSemaphore(
- /*IN*/ PRKSEMAPHORE Semaphore,
- /*IN*/ LONG Count,
- /*IN*/ LONG Limit);
-
-NTOSAPI
-VOID
-DDKAPI
-KeInitializeSpinLock(
- /*IN*/ PKSPIN_LOCK SpinLock);
-
-NTOSAPI
-VOID
-DDKAPI
-KeInitializeTimer(
- /*IN*/ PKTIMER Timer);
-
-NTOSAPI
-VOID
-DDKAPI
-KeInitializeTimerEx(
- /*IN*/ PKTIMER Timer,
- /*IN*/ TIMER_TYPE Type);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-KeInsertByKeyDeviceQueue(
- /*IN*/ PKDEVICE_QUEUE DeviceQueue,
- /*IN*/ PKDEVICE_QUEUE_ENTRY DeviceQueueEntry,
- /*IN*/ ULONG SortKey);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-KeInsertDeviceQueue(
- /*IN*/ PKDEVICE_QUEUE DeviceQueue,
- /*IN*/ PKDEVICE_QUEUE_ENTRY DeviceQueueEntry);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-KeInsertQueueDpc(
- /*IN*/ PRKDPC Dpc,
- /*IN*/ PVOID SystemArgument1,
- /*IN*/ PVOID SystemArgument2);
-
-NTOSAPI
-VOID
-DDKAPI
-KeLeaveCriticalRegion(
- VOID);
-
-#define KeMemoryBarrier() asm("mfence;")
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-KePulseEvent(
- /*IN*/ PRKEVENT Event,
- /*IN*/ KPRIORITY Increment,
- /*IN*/ BOOLEAN Wait);
-
-NTOSAPI
-ULONGLONG
-DDKAPI
-KeQueryInterruptTime(
- VOID);
-
-NTOSAPI
-LARGE_INTEGER
-DDKAPI
-KeQueryPerformanceCounter(
- /*OUT*/ PLARGE_INTEGER PerformanceFrequency /*OPTIONAL*/);
-
-NTOSAPI
-KPRIORITY
-DDKAPI
-KeQueryPriorityThread(
- /*IN*/ PRKTHREAD Thread);
-
-NTOSAPI
-VOID
-DDKAPI
-KeQuerySystemTime(
- /*OUT*/ PLARGE_INTEGER CurrentTime);
-
-NTOSAPI
-VOID
-DDKAPI
-KeQueryTickCount(
- /*OUT*/ PLARGE_INTEGER TickCount);
-
-NTOSAPI
-ULONG
-DDKAPI
-KeQueryTimeIncrement(
- VOID);
-
-NTOSAPI
-LONG
-DDKAPI
-KeReadStateEvent(
- /*IN*/ PRKEVENT Event);
-
-NTOSAPI
-LONG
-DDKAPI
-KeReadStateMutex(
- /*IN*/ PRKMUTEX Mutex);
-
-NTOSAPI
-LONG
-DDKAPI
-KeReadStateSemaphore(
- /*IN*/ PRKSEMAPHORE Semaphore);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-KeReadStateTimer(
- /*IN*/ PKTIMER Timer);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-KeRegisterBugCheckCallback(
- /*IN*/ PKBUGCHECK_CALLBACK_RECORD CallbackRecord,
- /*IN*/ PKBUGCHECK_CALLBACK_ROUTINE CallbackRoutine,
- /*IN*/ PVOID Buffer,
- /*IN*/ ULONG Length,
- /*IN*/ PUCHAR Component);
-
-NTOSAPI
-VOID
-DDKFASTAPI
-KeReleaseInStackQueuedSpinLock(
- /*IN*/ PKLOCK_QUEUE_HANDLE LockHandle);
-
-NTOSAPI
-VOID
-DDKFASTAPI
-KeReleaseInStackQueuedSpinLockFromDpcLevel(
- /*IN*/ PKLOCK_QUEUE_HANDLE LockHandle);
-
-NTOSAPI
-VOID
-DDKAPI
-KeReleaseInterruptSpinLock(
- /*IN*/ PKINTERRUPT Interrupt,
- /*IN*/ KIRQL OldIrql);
-
-NTOSAPI
-LONG
-DDKAPI
-KeReleaseMutex(
- /*IN*/ PRKMUTEX Mutex,
- /*IN*/ BOOLEAN Wait);
-
-NTOSAPI
-LONG
-DDKAPI
-KeReleaseSemaphore(
- /*IN*/ PRKSEMAPHORE Semaphore,
- /*IN*/ KPRIORITY Increment,
- /*IN*/ LONG Adjustment,
- /*IN*/ BOOLEAN Wait);
-
-NTOSAPI
-VOID
-DDKAPI
-KeReleaseSpinLock(
- /*IN*/ PKSPIN_LOCK SpinLock,
- /*IN*/ KIRQL NewIrql);
-
-NTOSAPI
-PKDEVICE_QUEUE_ENTRY
-DDKAPI
-KeRemoveByKeyDeviceQueue(
- /*IN*/ PKDEVICE_QUEUE DeviceQueue,
- /*IN*/ ULONG SortKey);
-
-NTOSAPI
-PKDEVICE_QUEUE_ENTRY
-DDKAPI
-KeRemoveDeviceQueue(
- /*IN*/ PKDEVICE_QUEUE DeviceQueue);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-KeRemoveEntryDeviceQueue(
- /*IN*/ PKDEVICE_QUEUE DeviceQueue,
- /*IN*/ PKDEVICE_QUEUE_ENTRY DeviceQueueEntry);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-KeRemoveQueueDpc(
- /*IN*/ PRKDPC Dpc);
-
-NTOSAPI
-LONG
-DDKAPI
-KeResetEvent(
- /*IN*/ PRKEVENT Event);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-KeRestoreFloatingPointState(
- /*IN*/ PKFLOATING_SAVE FloatSave);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-KeSaveFloatingPointState(
- /*OUT*/ PKFLOATING_SAVE FloatSave);
-
-NTOSAPI
-LONG
-DDKAPI
-KeSetBasePriorityThread(
- /*IN*/ PRKTHREAD Thread,
- /*IN*/ LONG Increment);
-
-NTOSAPI
-LONG
-DDKAPI
-KeSetEvent(
- /*IN*/ PRKEVENT Event,
- /*IN*/ KPRIORITY Increment,
- /*IN*/ BOOLEAN Wait);
-
-NTOSAPI
-VOID
-DDKAPI
-KeSetImportanceDpc(
- /*IN*/ PRKDPC Dpc,
- /*IN*/ KDPC_IMPORTANCE Importance);
-
-NTOSAPI
-KPRIORITY
-DDKAPI
-KeSetPriorityThread(
- /*IN*/ PKTHREAD Thread,
- /*IN*/ KPRIORITY Priority);
-
-NTOSAPI
-VOID
-DDKAPI
-KeSetTargetProcessorDpc(
- /*IN*/ PRKDPC Dpc,
- /*IN*/ CCHAR Number);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-KeSetTimer(
- /*IN*/ PKTIMER Timer,
- /*IN*/ LARGE_INTEGER DueTime,
- /*IN*/ PKDPC Dpc /*OPTIONAL*/);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-KeSetTimerEx(
- /*IN*/ PKTIMER Timer,
- /*IN*/ LARGE_INTEGER DueTime,
- /*IN*/ LONG Period /*OPTIONAL*/,
- /*IN*/ PKDPC Dpc /*OPTIONAL*/);
-
-NTOSAPI
-VOID
-DDKFASTAPI
-KeSetTimeUpdateNotifyRoutine(
- /*IN*/ PTIME_UPDATE_NOTIFY_ROUTINE NotifyRoutine);
-
-NTOSAPI
-VOID
-DDKAPI
-KeStallExecutionProcessor(
- /*IN*/ ULONG MicroSeconds);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-KeSynchronizeExecution(
- /*IN*/ PKINTERRUPT Interrupt,
- /*IN*/ PKSYNCHRONIZE_ROUTINE SynchronizeRoutine,
- /*IN*/ PVOID SynchronizeContext);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-KeWaitForMultipleObjects(
- /*IN*/ ULONG Count,
- /*IN*/ PVOID Object[],
- /*IN*/ WAIT_TYPE WaitType,
- /*IN*/ KWAIT_REASON WaitReason,
- /*IN*/ KPROCESSOR_MODE WaitMode,
- /*IN*/ BOOLEAN Alertable,
- /*IN*/ PLARGE_INTEGER Timeout /*OPTIONAL */,
- /*IN*/ PKWAIT_BLOCK WaitBlockArray /*OPTIONAL*/);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-KeWaitForMutexObject(
- /*IN*/ PRKMUTEX Mutex,
- /*IN*/ KWAIT_REASON WaitReason,
- /*IN*/ KPROCESSOR_MODE WaitMode,
- /*IN*/ BOOLEAN Alertable,
- /*IN*/ PLARGE_INTEGER Timeout /*OPTIONAL*/);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-KeWaitForSingleObject(
- /*IN*/ PVOID Object,
- /*IN*/ KWAIT_REASON WaitReason,
- /*IN*/ KPROCESSOR_MODE WaitMode,
- /*IN*/ BOOLEAN Alertable,
- /*IN*/ PLARGE_INTEGER Timeout /*OPTIONAL*/);
-
-NTOSAPI
-VOID
-DDKAPI
-KeRaiseIrql(
- /*IN*/ KIRQL new_irql,
- /*OUT*/ PKIRQL old_irql);
-
-NTOSAPI
-VOID
-DDKAPI
-KeLowerIrql(
- /*IN*/ KIRQL irql);
-
-NTOSAPI
-KIRQL
-DDKAPI
-KeRaiseIrqlToDpcLevel(
- VOID);
-
-/** Memory manager routines **/
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-MmAdvanceMdl(
- /*IN*/ PMDL Mdl,
- /*IN*/ ULONG NumberOfBytes);
-
-NTOSAPI
-PVOID
-DDKAPI
-MmAllocateContiguousMemory(
- /*IN*/ ULONG NumberOfBytes,
- /*IN*/ PHYSICAL_ADDRESS HighestAcceptableAddress);
-
-NTOSAPI
-PVOID
-DDKAPI
-MmAllocateContiguousMemorySpecifyCache(
- /*IN*/ SIZE_T NumberOfBytes,
- /*IN*/ PHYSICAL_ADDRESS LowestAcceptableAddress,
- /*IN*/ PHYSICAL_ADDRESS HighestAcceptableAddress,
- /*IN*/ PHYSICAL_ADDRESS BoundaryAddressMultiple /*OPTIONAL*/,
- /*IN*/ MEMORY_CACHING_TYPE CacheType);
-
-NTOSAPI
-PVOID
-DDKAPI
-MmAllocateMappingAddress(
- /*IN*/ SIZE_T NumberOfBytes,
- /*IN*/ ULONG PoolTag);
-
-NTOSAPI
-PVOID
-DDKAPI
-MmAllocateNonCachedMemory(
- /*IN*/ ULONG NumberOfBytes);
-
-NTOSAPI
-PMDL
-DDKAPI
-MmAllocatePagesForMdl(
- /*IN*/ PHYSICAL_ADDRESS LowAddress,
- /*IN*/ PHYSICAL_ADDRESS HighAddress,
- /*IN*/ PHYSICAL_ADDRESS SkipBytes,
- /*IN*/ SIZE_T TotalBytes);
-
-NTOSAPI
-VOID
-DDKAPI
-MmBuildMdlForNonPagedPool(
- /*IN OUT*/ PMDL MemoryDescriptorList);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-MmCreateSection(
- /*OUT*/ PSECTION_OBJECT *SectionObject,
- /*IN*/ ACCESS_MASK DesiredAccess,
- /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes /*OPTIONAL*/,
- /*IN*/ PLARGE_INTEGER MaximumSize,
- /*IN*/ ULONG SectionPageProtection,
- /*IN*/ ULONG AllocationAttributes,
- /*IN*/ HANDLE FileHandle /*OPTIONAL*/,
- /*IN*/ PFILE_OBJECT File /*OPTIONAL*/);
-
-typedef enum _MMFLUSH_TYPE {
- MmFlushForDelete,
- MmFlushForWrite
-} MMFLUSH_TYPE;
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-MmFlushImageSection(
- /*IN*/ PSECTION_OBJECT_POINTERS SectionObjectPointer,
- /*IN*/ MMFLUSH_TYPE FlushType);
-
-NTOSAPI
-VOID
-DDKAPI
-MmFreeContiguousMemory(
- /*IN*/ PVOID BaseAddress);
-
-NTOSAPI
-VOID
-DDKAPI
-MmFreeContiguousMemorySpecifyCache(
- /*IN*/ PVOID BaseAddress,
- /*IN*/ SIZE_T NumberOfBytes,
- /*IN*/ MEMORY_CACHING_TYPE CacheType);
-
-NTOSAPI
-VOID
-DDKAPI
-MmFreeMappingAddress(
- /*IN*/ PVOID BaseAddress,
- /*IN*/ ULONG PoolTag);
-
-NTOSAPI
-VOID
-DDKAPI
-MmFreeNonCachedMemory(
- /*IN*/ PVOID BaseAddress,
- /*IN*/ SIZE_T NumberOfBytes);
-
-NTOSAPI
-VOID
-DDKAPI
-MmFreePagesFromMdl(
- /*IN*/ PMDL MemoryDescriptorList);
-
-/*
- * ULONG
- * MmGetMdlByteCount(
- * IN PMDL Mdl)
- */
-#define MmGetMdlByteCount(_Mdl) \
- ((_Mdl)->ByteCount)
-
-/*
- * ULONG
- * MmGetMdlByteOffset(
- * IN PMDL Mdl)
- */
-#define MmGetMdlByteOffset(_Mdl) \
- ((_Mdl)->ByteOffset)
-
-/*
- * PPFN_NUMBER
- * MmGetMdlPfnArray(
- * IN PMDL Mdl)
- */
-#define MmGetMdlPfnArray(_Mdl) \
- ((PPFN_NUMBER) ((_Mdl) + 1))
-
-/*
- * PVOID
- * MmGetMdlVirtualAddress(
- * IN PMDL Mdl)
- */
-#define MmGetMdlVirtualAddress(_Mdl) \
- ((PVOID) ((PCHAR) ((_Mdl)->StartVa) + (_Mdl)->ByteOffset))
-
-NTOSAPI
-PHYSICAL_ADDRESS
-DDKAPI
-MmGetPhysicalAddress(
- /*IN*/ PVOID BaseAddress);
-
-NTOSAPI
-PPHYSICAL_MEMORY_RANGE
-DDKAPI
-MmGetPhysicalMemoryRanges(
- VOID);
-
-NTOSAPI
-PVOID
-DDKAPI
-MmGetVirtualForPhysical(
- /*IN*/ PHYSICAL_ADDRESS PhysicalAddress);
-
-NTOSAPI
-PVOID
-DDKAPI
-MmMapLockedPagesSpecifyCache(
- /*IN*/ PMDL MemoryDescriptorList,
- /*IN*/ KPROCESSOR_MODE AccessMode,
- /*IN*/ MEMORY_CACHING_TYPE CacheType,
- /*IN*/ PVOID BaseAddress,
- /*IN*/ ULONG BugCheckOnFailure,
- /*IN*/ MM_PAGE_PRIORITY Priority);
-
-NTOSAPI
-PVOID
-DDKAPI
-MmMapLockedPagesWithReservedMapping(
- /*IN*/ PVOID MappingAddress,
- /*IN*/ ULONG PoolTag,
- /*IN*/ PMDL MemoryDescriptorList,
- /*IN*/ MEMORY_CACHING_TYPE CacheType);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-MmMapUserAddressesToPage(
- /*IN*/ PVOID BaseAddress,
- /*IN*/ SIZE_T NumberOfBytes,
- /*IN*/ PVOID PageAddress);
-
-NTOSAPI
-PVOID
-DDKAPI
-MmMapVideoDisplay(
- /*IN*/ PHYSICAL_ADDRESS PhysicalAddress,
- /*IN*/ SIZE_T NumberOfBytes,
- /*IN*/ MEMORY_CACHING_TYPE CacheType);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-MmMapViewInSessionSpace(
- /*IN*/ PVOID Section,
- /*OUT*/ PVOID *MappedBase,
- /*IN OUT*/ PSIZE_T ViewSize);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-MmMapViewInSystemSpace(
- /*IN*/ PVOID Section,
- /*OUT*/ PVOID *MappedBase,
- /*IN*/ PSIZE_T ViewSize);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-MmMarkPhysicalMemoryAsBad(
- /*IN*/ PPHYSICAL_ADDRESS StartAddress,
- /*IN OUT*/ PLARGE_INTEGER NumberOfBytes);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-MmMarkPhysicalMemoryAsGood(
- /*IN*/ PPHYSICAL_ADDRESS StartAddress,
- /*IN OUT*/ PLARGE_INTEGER NumberOfBytes);
-
-/*
- * PVOID
- * MmGetSystemAddressForMdlSafe(
- * IN PMDL Mdl,
- * IN MM_PAGE_PRIORITY Priority)
- */
-#define MmGetSystemAddressForMdlSafe(_Mdl, _Priority) \
- ((_Mdl)->MdlFlags & (MDL_MAPPED_TO_SYSTEM_VA \
- | MDL_SOURCE_IS_NONPAGED_POOL)) ? \
- (_Mdl)->MappedSystemVa : \
- (PVOID) MmMapLockedPagesSpecifyCache((_Mdl), \
- KernelMode, MmCached, NULL, FALSE, _Priority)
-
-NTOSAPI
-PVOID
-DDKAPI
-MmGetSystemRoutineAddress(
- /*IN*/ PUNICODE_STRING SystemRoutineName);
-
-/*
- * ULONG
- * ADDRESS_AND_SIZE_TO_SPAN_PAGES(
- * IN PVOID Va,
- * IN ULONG Size)
- */
-#define ADDRESS_AND_SIZE_TO_SPAN_PAGES(_Va, \
- _Size) \
- ((ULONG) ((((ULONG_PTR) (_Va) & (PAGE_SIZE - 1)) \
- + (_Size) + (PAGE_SIZE - 1)) >> PAGE_SHIFT))
-
-/*
- * VOID
- * MmInitializeMdl(
- * IN PMDL MemoryDescriptorList,
- * IN PVOID BaseVa,
- * IN SIZE_T Length)
- */
-#define MmInitializeMdl(_MemoryDescriptorList, \
- _BaseVa, \
- _Length) \
-{ \
- (_MemoryDescriptorList)->Next = (PMDL) NULL; \
- (_MemoryDescriptorList)->Size = (CSHORT) (sizeof(MDL) + \
- (sizeof(PFN_NUMBER) * ADDRESS_AND_SIZE_TO_SPAN_PAGES(_BaseVa, _Length))); \
- (_MemoryDescriptorList)->MdlFlags = 0; \
- (_MemoryDescriptorList)->StartVa = (PVOID) PAGE_ALIGN(_BaseVa); \
- (_MemoryDescriptorList)->ByteOffset = BYTE_OFFSET(_BaseVa); \
- (_MemoryDescriptorList)->ByteCount = (ULONG) _Length; \
-}
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-MmIsAddressValid(
- /*IN*/ PVOID VirtualAddress);
-
-NTOSAPI
-LOGICAL
-DDKAPI
-MmIsDriverVerifying(
- /*IN*/ PDRIVER_OBJECT DriverObject);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-MmIsThisAnNtAsSystem(
- VOID);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-MmIsVerifierEnabled(
- /*OUT*/ PULONG VerifierFlags);
-
-NTOSAPI
-PVOID
-DDKAPI
-MmLockPagableDataSection(
- /*IN*/ PVOID AddressWithinSection);
-
-NTOSAPI
-PVOID
-DDKAPI
-MmLockPagableImageSection(
- /*IN*/ PVOID AddressWithinSection);
-
-/*
- * PVOID
- * MmLockPagableCodeSection(
- * IN PVOID AddressWithinSection)
- */
-#define MmLockPagableCodeSection MmLockPagableDataSection
-
-NTOSAPI
-VOID
-DDKAPI
-MmLockPagableSectionByHandle(
- /*IN*/ PVOID ImageSectionHandle);
-
-NTOSAPI
-PVOID
-DDKAPI
-MmMapIoSpace(
- /*IN*/ PHYSICAL_ADDRESS PhysicalAddress,
- /*IN*/ ULONG NumberOfBytes,
- /*IN*/ MEMORY_CACHING_TYPE CacheEnable);
-
-NTOSAPI
-PVOID
-DDKAPI
-MmMapLockedPages(
- /*IN*/ PMDL MemoryDescriptorList,
- /*IN*/ KPROCESSOR_MODE AccessMode);
-
-NTOSAPI
-VOID
-DDKAPI
-MmPageEntireDriver(
- /*IN*/ PVOID AddressWithinSection);
-
-NTOSAPI
-VOID
-DDKAPI
-MmProbeAndLockProcessPages(
- /*IN OUT*/ PMDL MemoryDescriptorList,
- /*IN*/ PEPROCESS Process,
- /*IN*/ KPROCESSOR_MODE AccessMode,
- /*IN*/ LOCK_OPERATION Operation);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-MmProtectMdlSystemAddress(
- /*IN*/ PMDL MemoryDescriptorList,
- /*IN*/ ULONG NewProtect);
-
-NTOSAPI
-VOID
-DDKAPI
-MmUnmapLockedPages(
- /*IN*/ PVOID BaseAddress,
- /*IN*/ PMDL MemoryDescriptorList);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-MmUnmapViewInSessionSpace(
- /*IN*/ PVOID MappedBase);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-MmUnmapViewInSystemSpace(
- /*IN*/ PVOID MappedBase);
-
-NTOSAPI
-VOID
-DDKAPI
-MmUnsecureVirtualMemory(
- /*IN*/ HANDLE SecureHandle);
-
-/*
- * VOID
- * MmPrepareMdlForReuse(
- * IN PMDL Mdl)
- */
-#define MmPrepareMdlForReuse(_Mdl) \
-{ \
- if (((_Mdl)->MdlFlags & MDL_PARTIAL_HAS_BEEN_MAPPED) != 0) { \
- ASSERT(((_Mdl)->MdlFlags & MDL_PARTIAL) != 0); \
- MmUnmapLockedPages((_Mdl)->MappedSystemVa, (_Mdl)); \
- } else if (((_Mdl)->MdlFlags & MDL_PARTIAL) == 0) { \
- ASSERT(((_Mdl)->MdlFlags & MDL_MAPPED_TO_SYSTEM_VA) == 0); \
- } \
-}
-
-NTOSAPI
-VOID
-DDKAPI
-MmProbeAndLockPages(
- /*IN OUT*/ PMDL MemoryDescriptorList,
- /*IN*/ KPROCESSOR_MODE AccessMode,
- /*IN*/ LOCK_OPERATION Operation);
-
-NTOSAPI
-MM_SYSTEM_SIZE
-DDKAPI
-MmQuerySystemSize(
- VOID);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-MmRemovePhysicalMemory(
- /*IN*/ PPHYSICAL_ADDRESS StartAddress,
- /*IN OUT*/ PLARGE_INTEGER NumberOfBytes);
-
-NTOSAPI
-VOID
-DDKAPI
-MmResetDriverPaging(
- /*IN*/ PVOID AddressWithinSection);
-
-NTOSAPI
-HANDLE
-DDKAPI
-MmSecureVirtualMemory(
- /*IN*/ PVOID Address,
- /*IN*/ SIZE_T Size,
- /*IN*/ ULONG ProbeMode);
-
-NTOSAPI
-ULONG
-DDKAPI
-MmSizeOfMdl(
- /*IN*/ PVOID Base,
- /*IN*/ SIZE_T Length);
-
-NTOSAPI
-VOID
-DDKAPI
-MmUnlockPagableImageSection(
- /*IN*/ PVOID ImageSectionHandle);
-
-NTOSAPI
-VOID
-DDKAPI
-MmUnlockPages(
- /*IN*/ PMDL MemoryDescriptorList);
-
-NTOSAPI
-VOID
-DDKAPI
-MmUnmapIoSpace(
- /*IN*/ PVOID BaseAddress,
- /*IN*/ SIZE_T NumberOfBytes);
-
-NTOSAPI
-VOID
-DDKAPI
-MmUnmapReservedMapping(
- /*IN*/ PVOID BaseAddress,
- /*IN*/ ULONG PoolTag,
- /*IN*/ PMDL MemoryDescriptorList);
-
-NTOSAPI
-VOID
-DDKAPI
-MmUnmapVideoDisplay(
- /*IN*/ PVOID BaseAddress,
- /*IN*/ SIZE_T NumberOfBytes);
-
-
-
-/** Object manager routines **/
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ObAssignSecurity(
- /*IN*/ PACCESS_STATE AccessState,
- /*IN*/ PSECURITY_DESCRIPTOR SecurityDescriptor,
- /*IN*/ PVOID Object,
- /*IN*/ POBJECT_TYPE Type);
-
-NTOSAPI
-VOID
-DDKAPI
-ObDereferenceSecurityDescriptor(
- PSECURITY_DESCRIPTOR SecurityDescriptor,
- ULONG Count);
-
-NTOSAPI
-VOID
-DDKFASTAPI
-ObfDereferenceObject(
- /*IN*/ PVOID Object);
-
-/*
- * VOID
- * ObDereferenceObject(
- * IN PVOID Object)
- */
-#define ObDereferenceObject ObfDereferenceObject
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ObGetObjectSecurity(
- /*IN*/ PVOID Object,
- /*OUT*/ PSECURITY_DESCRIPTOR *SecurityDescriptor,
- /*OUT*/ PBOOLEAN MemoryAllocated);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ObInsertObject(
- /*IN*/ PVOID Object,
- /*IN*/ PACCESS_STATE PassedAccessState /*OPTIONAL*/,
- /*IN*/ ACCESS_MASK DesiredAccess,
- /*IN*/ ULONG AdditionalReferences,
- /*OUT*/ PVOID* ReferencedObject /*OPTIONAL*/,
- /*OUT*/ PHANDLE Handle);
-
-NTOSAPI
-VOID
-DDKFASTAPI
-ObfReferenceObject(
- /*IN*/ PVOID Object);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ObLogSecurityDescriptor(
- /*IN*/ PSECURITY_DESCRIPTOR InputSecurityDescriptor,
- /*OUT*/ PSECURITY_DESCRIPTOR *OutputSecurityDescriptor,
- /*IN*/ ULONG RefBias);
-/*
- * VOID
- * ObReferenceObject(
- * IN PVOID Object)
- */
-#define ObReferenceObject ObfReferenceObject
-
-NTOSAPI
-VOID
-DDKAPI
-ObMakeTemporaryObject(
- /*IN*/ PVOID Object);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ObOpenObjectByName(
- /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes,
- /*IN*/ POBJECT_TYPE ObjectType,
- /*IN OUT*/ PVOID ParseContext /*OPTIONAL*/,
- /*IN*/ KPROCESSOR_MODE AccessMode,
- /*IN*/ ACCESS_MASK DesiredAccess,
- /*IN*/ PACCESS_STATE PassedAccessState,
- /*OUT*/ PHANDLE Handle);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ObOpenObjectByPointer(
- /*IN*/ PVOID Object,
- /*IN*/ ULONG HandleAttributes,
- /*IN*/ PACCESS_STATE PassedAccessState /*OPTIONAL*/,
- /*IN*/ ACCESS_MASK DesiredAccess /*OPTIONAL*/,
- /*IN*/ POBJECT_TYPE ObjectType /*OPTIONAL*/,
- /*IN*/ KPROCESSOR_MODE AccessMode,
- /*OUT*/ PHANDLE Handle);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ObQueryObjectAuditingByHandle(
- /*IN*/ HANDLE Handle,
- /*OUT*/ PBOOLEAN GenerateOnClose);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ObReferenceObjectByHandle(
- /*IN*/ HANDLE Handle,
- /*IN*/ ACCESS_MASK DesiredAccess,
- /*IN*/ POBJECT_TYPE ObjectType /*OPTIONAL*/,
- /*IN*/ KPROCESSOR_MODE AccessMode,
- /*OUT*/ PVOID *Object,
- /*OUT*/ POBJECT_HANDLE_INFORMATION HandleInformation /*OPTIONAL*/);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ObReferenceObjectByName(
- /*IN*/ PUNICODE_STRING ObjectPath,
- /*IN*/ ULONG Attributes,
- /*IN*/ PACCESS_STATE PassedAccessState /*OPTIONAL*/,
- /*IN*/ ACCESS_MASK DesiredAccess /*OPTIONAL*/,
- /*IN*/ POBJECT_TYPE ObjectType,
- /*IN*/ KPROCESSOR_MODE AccessMode,
- /*IN OUT*/ PVOID ParseContext /*OPTIONAL*/,
- /*OUT*/ PVOID *Object);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ObReferenceObjectByPointer(
- /*IN*/ PVOID Object,
- /*IN*/ ACCESS_MASK DesiredAccess,
- /*IN*/ POBJECT_TYPE ObjectType,
- /*IN*/ KPROCESSOR_MODE AccessMode);
-
-NTOSAPI
-VOID
-DDKAPI
-ObReferenceSecurityDescriptor(
- /*IN*/ PSECURITY_DESCRIPTOR SecurityDescriptor,
- /*IN*/ ULONG Count);
-
-NTOSAPI
-VOID
-DDKAPI
-ObReleaseObjectSecurity(
- /*IN*/ PSECURITY_DESCRIPTOR SecurityDescriptor,
- /*IN*/ BOOLEAN MemoryAllocated);
-
-
-
-/** Process manager routines **/
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-PsCreateSystemProcess(
- /*IN*/ PHANDLE ProcessHandle,
- /*IN*/ ACCESS_MASK DesiredAccess,
- /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-PsCreateSystemThread(
- /*OUT*/ PHANDLE ThreadHandle,
- /*IN*/ ULONG DesiredAccess,
- /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes /*OPTIONAL*/,
- /*IN*/ HANDLE ProcessHandle /*OPTIONAL*/,
- /*OUT*/ PCLIENT_ID ClientId /*OPTIONAL*/,
- /*IN*/ PKSTART_ROUTINE StartRoutine,
- /*IN*/ PVOID StartContext);
-
-/*
- * PEPROCESS
- * PsGetCurrentProcess(VOID)
- */
-#define PsGetCurrentProcess IoGetCurrentProcess
-
-NTOSAPI
-HANDLE
-DDKAPI
-PsGetCurrentProcessId(
- VOID);
-
-/*
- * PETHREAD
- * PsGetCurrentThread(VOID)
- */
-#define PsGetCurrentThread() \
- ((PETHREAD) KeGetCurrentThread())
-
-NTOSAPI
-HANDLE
-DDKAPI
-PsGetCurrentThreadId(
- VOID);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-PsGetVersion(
- PULONG MajorVersion /*OPTIONAL*/,
- PULONG MinorVersion /*OPTIONAL*/,
- PULONG BuildNumber /*OPTIONAL*/,
- PUNICODE_STRING CSDVersion /*OPTIONAL*/);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-PsRemoveCreateThreadNotifyRoutine(
- /*IN*/ PCREATE_THREAD_NOTIFY_ROUTINE NotifyRoutine);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-PsRemoveLoadImageNotifyRoutine(
- /*IN*/ PLOAD_IMAGE_NOTIFY_ROUTINE NotifyRoutine);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-PsSetCreateProcessNotifyRoutine(
- /*IN*/ PCREATE_PROCESS_NOTIFY_ROUTINE NotifyRoutine,
- /*IN*/ BOOLEAN Remove);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-PsSetCreateThreadNotifyRoutine(
- /*IN*/ PCREATE_THREAD_NOTIFY_ROUTINE NotifyRoutine);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-PsSetLoadImageNotifyRoutine(
- /*IN*/ PLOAD_IMAGE_NOTIFY_ROUTINE NotifyRoutine);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-PsTerminateSystemThread(
- /*IN*/ NTSTATUS ExitStatus);
-
-
-
-/** Security reference monitor routines **/
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-SeAccessCheck(
- /*IN*/ PSECURITY_DESCRIPTOR SecurityDescriptor,
- /*IN*/ PSECURITY_SUBJECT_CONTEXT SubjectSecurityContext,
- /*IN*/ BOOLEAN SubjectContextLocked,
- /*IN*/ ACCESS_MASK DesiredAccess,
- /*IN*/ ACCESS_MASK PreviouslyGrantedAccess,
- /*OUT*/ PPRIVILEGE_SET *Privileges /*OPTIONAL*/,
- /*IN*/ PGENERIC_MAPPING GenericMapping,
- /*IN*/ KPROCESSOR_MODE AccessMode,
- /*OUT*/ PACCESS_MASK GrantedAccess,
- /*OUT*/ PNTSTATUS AccessStatus);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-SeAssignSecurity(
- /*IN*/ PSECURITY_DESCRIPTOR ParentDescriptor /*OPTIONAL*/,
- /*IN*/ PSECURITY_DESCRIPTOR ExplicitDescriptor /*OPTIONAL*/,
- /*OUT*/ PSECURITY_DESCRIPTOR *NewDescriptor,
- /*IN*/ BOOLEAN IsDirectoryObject,
- /*IN*/ PSECURITY_SUBJECT_CONTEXT SubjectContext,
- /*IN*/ PGENERIC_MAPPING GenericMapping,
- /*IN*/ POOL_TYPE PoolType);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-SeAssignSecurityEx(
- /*IN*/ PSECURITY_DESCRIPTOR ParentDescriptor /*OPTIONAL*/,
- /*IN*/ PSECURITY_DESCRIPTOR ExplicitDescriptor /*OPTIONAL*/,
- /*OUT*/ PSECURITY_DESCRIPTOR *NewDescriptor,
- /*IN*/ GUID *ObjectType /*OPTIONAL*/,
- /*IN*/ BOOLEAN IsDirectoryObject,
- /*IN*/ ULONG AutoInheritFlags,
- /*IN*/ PSECURITY_SUBJECT_CONTEXT SubjectContext,
- /*IN*/ PGENERIC_MAPPING GenericMapping,
- /*IN*/ POOL_TYPE PoolType);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-SeDeassignSecurity(
- /*IN OUT*/ PSECURITY_DESCRIPTOR *SecurityDescriptor);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-SeSinglePrivilegeCheck(
- LUID PrivilegeValue,
- KPROCESSOR_MODE PreviousMode);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-SeValidSecurityDescriptor(
- /*IN*/ ULONG Length,
- /*IN*/ PSECURITY_DESCRIPTOR SecurityDescriptor);
-
-
-
-/** NtXxx routines **/
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-NtOpenProcess(
- /*OUT*/ PHANDLE ProcessHandle,
- /*IN*/ ACCESS_MASK DesiredAccess,
- /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes,
- /*IN*/ PCLIENT_ID ClientId /*OPTIONAL*/);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-NtQueryInformationProcess(
- /*IN*/ HANDLE ProcessHandle,
- /*IN*/ PROCESSINFOCLASS ProcessInformationClass,
- /*OUT*/ PVOID ProcessInformation,
- /*IN*/ ULONG ProcessInformationLength,
- /*OUT*/ PULONG ReturnLength /*OPTIONAL*/);
-
-
-
-/** NtXxx and ZwXxx routines **/
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ZwCancelTimer(
- /*IN*/ HANDLE TimerHandle,
- /*OUT*/ PBOOLEAN CurrentState /*OPTIONAL*/);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-NtClose(
- /*IN*/ HANDLE Handle);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ZwClose(
- /*IN*/ HANDLE Handle);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ZwCreateDirectoryObject(
- /*OUT*/ PHANDLE DirectoryHandle,
- /*IN*/ ACCESS_MASK DesiredAccess,
- /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-NtCreateEvent(
- /*OUT*/ PHANDLE EventHandle,
- /*IN*/ ACCESS_MASK DesiredAccess,
- /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes,
- /*IN*/ BOOLEAN ManualReset,
- /*IN*/ BOOLEAN InitialState);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ZwCreateEvent(
- /*OUT*/ PHANDLE EventHandle,
- /*IN*/ ACCESS_MASK DesiredAccess,
- /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes,
- /*IN*/ BOOLEAN ManualReset,
- /*IN*/ BOOLEAN InitialState);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ZwCreateFile(
- /*OUT*/ PHANDLE FileHandle,
- /*IN*/ ACCESS_MASK DesiredAccess,
- /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes,
- /*OUT*/ PIO_STATUS_BLOCK IoStatusBlock,
- /*IN*/ PLARGE_INTEGER AllocationSize /*OPTIONAL*/,
- /*IN*/ ULONG FileAttributes,
- /*IN*/ ULONG ShareAccess,
- /*IN*/ ULONG CreateDisposition,
- /*IN*/ ULONG CreateOptions,
- /*IN*/ PVOID EaBuffer /*OPTIONAL*/,
- /*IN*/ ULONG EaLength);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ZwCreateKey(
- /*OUT*/ PHANDLE KeyHandle,
- /*IN*/ ACCESS_MASK DesiredAccess,
- /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes,
- /*IN*/ ULONG TitleIndex,
- /*IN*/ PUNICODE_STRING Class /*OPTIONAL*/,
- /*IN*/ ULONG CreateOptions,
- /*OUT*/ PULONG Disposition /*OPTIONAL*/);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ZwCreateTimer(
- /*OUT*/ PHANDLE TimerHandle,
- /*IN*/ ACCESS_MASK DesiredAccess,
- /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes /*OPTIONAL*/,
- /*IN*/ TIMER_TYPE TimerType);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ZwDeleteKey(
- /*IN*/ HANDLE KeyHandle);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ZwDeleteValueKey(
- /*IN*/ HANDLE KeyHandle,
- /*IN*/ PUNICODE_STRING ValueName);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-NtDeviceIoControlFile(
- /*IN*/ HANDLE DeviceHandle,
- /*IN*/ HANDLE Event /*OPTIONAL*/,
- /*IN*/ PIO_APC_ROUTINE UserApcRoutine /*OPTIONAL*/,
- /*IN*/ PVOID UserApcContext /*OPTIONAL*/,
- /*OUT*/ PIO_STATUS_BLOCK IoStatusBlock,
- /*IN*/ ULONG IoControlCode,
- /*IN*/ PVOID InputBuffer,
- /*IN*/ ULONG InputBufferSize,
- /*OUT*/ PVOID OutputBuffer,
- /*IN*/ ULONG OutputBufferSize);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ZwDeviceIoControlFile(
- /*IN*/ HANDLE DeviceHandle,
- /*IN*/ HANDLE Event /*OPTIONAL*/,
- /*IN*/ PIO_APC_ROUTINE UserApcRoutine /*OPTIONAL*/,
- /*IN*/ PVOID UserApcContext /*OPTIONAL*/,
- /*OUT*/ PIO_STATUS_BLOCK IoStatusBlock,
- /*IN*/ ULONG IoControlCode,
- /*IN*/ PVOID InputBuffer,
- /*IN*/ ULONG InputBufferSize,
- /*OUT*/ PVOID OutputBuffer,
- /*IN*/ ULONG OutputBufferSize);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ZwEnumerateKey(
- /*IN*/ HANDLE KeyHandle,
- /*IN*/ ULONG Index,
- /*IN*/ KEY_INFORMATION_CLASS KeyInformationClass,
- /*OUT*/ PVOID KeyInformation,
- /*IN*/ ULONG Length,
- /*OUT*/ PULONG ResultLength);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ZwEnumerateValueKey(
- /*IN*/ HANDLE KeyHandle,
- /*IN*/ ULONG Index,
- /*IN*/ KEY_VALUE_INFORMATION_CLASS KeyValueInformationClass,
- /*OUT*/ PVOID KeyValueInformation,
- /*IN*/ ULONG Length,
- /*OUT*/ PULONG ResultLength);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ZwFlushKey(
- /*IN*/ HANDLE KeyHandle);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ZwMakeTemporaryObject(
- /*IN*/ HANDLE Handle);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-NtMapViewOfSection(
- /*IN*/ HANDLE SectionHandle,
- /*IN*/ HANDLE ProcessHandle,
- /*IN OUT*/ PVOID *BaseAddress,
- /*IN*/ ULONG ZeroBits,
- /*IN*/ ULONG CommitSize,
- /*IN OUT*/ PLARGE_INTEGER SectionOffset /*OPTIONAL*/,
- /*IN OUT*/ PSIZE_T ViewSize,
- /*IN*/ SECTION_INHERIT InheritDisposition,
- /*IN*/ ULONG AllocationType,
- /*IN*/ ULONG Protect);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ZwMapViewOfSection(
- /*IN*/ HANDLE SectionHandle,
- /*IN*/ HANDLE ProcessHandle,
- /*IN OUT*/ PVOID *BaseAddress,
- /*IN*/ ULONG ZeroBits,
- /*IN*/ ULONG CommitSize,
- /*IN OUT*/ PLARGE_INTEGER SectionOffset /*OPTIONAL*/,
- /*IN OUT*/ PSIZE_T ViewSize,
- /*IN*/ SECTION_INHERIT InheritDisposition,
- /*IN*/ ULONG AllocationType,
- /*IN*/ ULONG Protect);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-NtOpenFile(
- /*OUT*/ PHANDLE FileHandle,
- /*IN*/ ACCESS_MASK DesiredAccess,
- /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes,
- /*OUT*/ PIO_STATUS_BLOCK IoStatusBlock,
- /*IN*/ ULONG ShareAccess,
- /*IN*/ ULONG OpenOptions);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ZwOpenFile(
- /*OUT*/ PHANDLE FileHandle,
- /*IN*/ ACCESS_MASK DesiredAccess,
- /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes,
- /*OUT*/ PIO_STATUS_BLOCK IoStatusBlock,
- /*IN*/ ULONG ShareAccess,
- /*IN*/ ULONG OpenOptions);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ZwOpenKey(
- /*OUT*/ PHANDLE KeyHandle,
- /*IN*/ ACCESS_MASK DesiredAccess,
- /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ZwOpenSection(
- /*OUT*/ PHANDLE SectionHandle,
- /*IN*/ ACCESS_MASK DesiredAccess,
- /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ZwOpenSymbolicLinkObject(
- /*OUT*/ PHANDLE LinkHandle,
- /*IN*/ ACCESS_MASK DesiredAccess,
- /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ZwOpenTimer(
- /*OUT*/ PHANDLE TimerHandle,
- /*IN*/ ACCESS_MASK DesiredAccess,
- /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ZwQueryInformationFile(
- /*IN*/ HANDLE FileHandle,
- /*OUT*/ PIO_STATUS_BLOCK IoStatusBlock,
- /*OUT*/ PVOID FileInformation,
- /*IN*/ ULONG Length,
- /*IN*/ FILE_INFORMATION_CLASS FileInformationClass);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ZwQueryKey(
- /*IN*/ HANDLE KeyHandle,
- /*IN*/ KEY_INFORMATION_CLASS KeyInformationClass,
- /*OUT*/ PVOID KeyInformation,
- /*IN*/ ULONG Length,
- /*OUT*/ PULONG ResultLength);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ZwQuerySymbolicLinkObject(
- /*IN*/ HANDLE LinkHandle,
- /*IN OUT*/ PUNICODE_STRING LinkTarget,
- /*OUT*/ PULONG ReturnedLength /*OPTIONAL*/);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ZwQueryValueKey(
- /*IN*/ HANDLE KeyHandle,
- /*IN*/ PUNICODE_STRING ValueName,
- /*IN*/ KEY_VALUE_INFORMATION_CLASS KeyValueInformationClass,
- /*OUT*/ PVOID KeyValueInformation,
- /*IN*/ ULONG Length,
- /*OUT*/ PULONG ResultLength);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-NtReadFile(
- /*IN*/ HANDLE FileHandle,
- /*IN*/ HANDLE Event /*OPTIONAL*/,
- /*IN*/ PIO_APC_ROUTINE ApcRoutine /*OPTIONAL*/,
- /*IN*/ PVOID ApcContext /*OPTIONAL*/,
- /*OUT*/ PIO_STATUS_BLOCK IoStatusBlock,
- /*OUT*/ PVOID Buffer,
- /*IN*/ ULONG Length,
- /*IN*/ PLARGE_INTEGER ByteOffset /*OPTIONAL*/,
- /*IN*/ PULONG Key /*OPTIONAL*/);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ZwReadFile(
- /*IN*/ HANDLE FileHandle,
- /*IN*/ HANDLE Event /*OPTIONAL*/,
- /*IN*/ PIO_APC_ROUTINE ApcRoutine /*OPTIONAL*/,
- /*IN*/ PVOID ApcContext /*OPTIONAL*/,
- /*OUT*/ PIO_STATUS_BLOCK IoStatusBlock,
- /*OUT*/ PVOID Buffer,
- /*IN*/ ULONG Length,
- /*IN*/ PLARGE_INTEGER ByteOffset /*OPTIONAL*/,
- /*IN*/ PULONG Key /*OPTIONAL*/);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-NtSetEvent(
- /*IN*/ HANDLE EventHandle,
- /*IN*/ PULONG NumberOfThreadsReleased);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ZwSetEvent(
- /*IN*/ HANDLE EventHandle,
- /*IN*/ PULONG NumberOfThreadsReleased);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ZwSetInformationFile(
- /*IN*/ HANDLE FileHandle,
- /*OUT*/ PIO_STATUS_BLOCK IoStatusBlock,
- /*IN*/ PVOID FileInformation,
- /*IN*/ ULONG Length,
- /*IN*/ FILE_INFORMATION_CLASS FileInformationClass);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ZwSetInformationThread(
- /*IN*/ HANDLE ThreadHandle,
- /*IN*/ THREADINFOCLASS ThreadInformationClass,
- /*IN*/ PVOID ThreadInformation,
- /*IN*/ ULONG ThreadInformationLength);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ZwSetTimer(
- /*IN*/ HANDLE TimerHandle,
- /*IN*/ PLARGE_INTEGER DueTime,
- /*IN*/ PTIMER_APC_ROUTINE TimerApcRoutine /*OPTIONAL*/,
- /*IN*/ PVOID TimerContext /*OPTIONAL*/,
- /*IN*/ BOOLEAN WakeTimer,
- /*IN*/ LONG Period /*OPTIONAL*/,
- /*OUT*/ PBOOLEAN PreviousState /*OPTIONAL*/);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ZwSetValueKey(
- /*IN*/ HANDLE KeyHandle,
- /*IN*/ PUNICODE_STRING ValueName,
- /*IN*/ ULONG TitleIndex /*OPTIONAL*/,
- /*IN*/ ULONG Type,
- /*IN*/ PVOID Data,
- /*IN*/ ULONG DataSize);
-
-/* [Nt|Zw]MapViewOfSection.InheritDisposition constants */
-#define AT_EXTENDABLE_FILE 0x00002000
-#define SEC_NO_CHANGE 0x00400000
-#define AT_RESERVED 0x20000000
-#define AT_ROUND_TO_PAGE 0x40000000
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-NtUnmapViewOfSection(
- /*IN*/ HANDLE ProcessHandle,
- /*IN*/ PVOID BaseAddress);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ZwUnmapViewOfSection(
- /*IN*/ HANDLE ProcessHandle,
- /*IN*/ PVOID BaseAddress);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-NtWaitForSingleObject(
- /*IN*/ HANDLE Object,
- /*IN*/ BOOLEAN Alertable,
- /*IN*/ PLARGE_INTEGER Time);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ZwWaitForSingleObject(
- /*IN*/ HANDLE Object,
- /*IN*/ BOOLEAN Alertable,
- /*IN*/ PLARGE_INTEGER Time);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-NtWriteFile(
- /*IN*/ HANDLE FileHandle,
- /*IN*/ HANDLE Event /*OPTIONAL*/,
- /*IN*/ PIO_APC_ROUTINE ApcRoutine /*OPTIONAL*/,
- /*IN*/ PVOID ApcContext /*OPTIONAL*/,
- /*OUT*/ PIO_STATUS_BLOCK IoStatusBlock,
- /*IN*/ PVOID Buffer,
- /*IN*/ ULONG Length,
- /*IN*/ PLARGE_INTEGER ByteOffset /*OPTIONAL*/,
- /*IN*/ PULONG Key /*OPTIONAL*/);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ZwWriteFile(
- /*IN*/ HANDLE FileHandle,
- /*IN*/ HANDLE Event /*OPTIONAL*/,
- /*IN*/ PIO_APC_ROUTINE ApcRoutine /*OPTIONAL*/,
- /*IN*/ PVOID ApcContext /*OPTIONAL*/,
- /*OUT*/ PIO_STATUS_BLOCK IoStatusBlock,
- /*IN*/ PVOID Buffer,
- /*IN*/ ULONG Length,
- /*IN*/ PLARGE_INTEGER ByteOffset /*OPTIONAL*/,
- /*IN*/ PULONG Key /*OPTIONAL*/);
-
-
-
-/** Power management support routines **/
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-PoCallDriver(
- /*IN*/ PDEVICE_OBJECT DeviceObject,
- /*IN OUT*/ PIRP Irp);
-
-NTOSAPI
-PULONG
-DDKAPI
-PoRegisterDeviceForIdleDetection(
- /*IN*/ PDEVICE_OBJECT DeviceObject,
- /*IN*/ ULONG ConservationIdleTime,
- /*IN*/ ULONG PerformanceIdleTime,
- /*IN*/ DEVICE_POWER_STATE State);
-
-NTOSAPI
-PVOID
-DDKAPI
-PoRegisterSystemState(
- /*IN*/ PVOID StateHandle,
- /*IN*/ EXECUTION_STATE Flags);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-PoRequestPowerIrp(
- /*IN*/ PDEVICE_OBJECT DeviceObject,
- /*IN*/ UCHAR MinorFunction,
- /*IN*/ POWER_STATE PowerState,
- /*IN*/ PREQUEST_POWER_COMPLETE CompletionFunction,
- /*IN*/ PVOID Context,
- /*OUT*/ PIRP *Irp /*OPTIONAL*/);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-PoRequestShutdownEvent(
- /*OUT*/ PVOID *Event);
-
-NTOSAPI
-VOID
-DDKAPI
-PoSetDeviceBusy(
- PULONG IdlePointer);
-
-NTOSAPI
-POWER_STATE
-DDKAPI
-PoSetPowerState(
- /*IN*/ PDEVICE_OBJECT DeviceObject,
- /*IN*/ POWER_STATE_TYPE Type,
- /*IN*/ POWER_STATE State);
-
-NTOSAPI
-VOID
-DDKAPI
-PoSetSystemState(
- /*IN*/ EXECUTION_STATE Flags);
-
-NTOSAPI
-VOID
-DDKAPI
-PoStartNextPowerIrp(
- /*IN*/ PIRP Irp);
-
-NTOSAPI
-VOID
-DDKAPI
-PoUnregisterSystemState(
- /*IN*/ PVOID StateHandle);
-
-
-
-/** WMI library support routines **/
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-WmiCompleteRequest(
- /*IN*/ PDEVICE_OBJECT DeviceObject,
- /*IN*/ PIRP Irp,
- /*IN*/ NTSTATUS Status,
- /*IN*/ ULONG BufferUsed,
- /*IN*/ CCHAR PriorityBoost);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-WmiFireEvent(
- /*IN*/ PDEVICE_OBJECT DeviceObject,
- /*IN*/ LPGUID Guid,
- /*IN*/ ULONG InstanceIndex,
- /*IN*/ ULONG EventDataSize,
- /*IN*/ PVOID EventData);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-WmiQueryTraceInformation(
- /*IN*/ TRACE_INFORMATION_CLASS TraceInformationClass,
- /*OUT*/ PVOID TraceInformation,
- /*IN*/ ULONG TraceInformationLength,
- /*OUT*/ PULONG RequiredLength /*OPTIONAL*/,
- /*IN*/ PVOID Buffer /*OPTIONAL*/);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-WmiSystemControl(
- /*IN*/ PWMILIB_CONTEXT WmiLibInfo,
- /*IN*/ PDEVICE_OBJECT DeviceObject,
- /*IN*/ PIRP Irp,
- /*OUT*/ PSYSCTL_IRP_DISPOSITION IrpDisposition);
-
-NTOSAPI
-NTSTATUS
-DDKCDECLAPI
-WmiTraceMessage(
- /*IN*/ TRACEHANDLE LoggerHandle,
- /*IN*/ ULONG MessageFlags,
- /*IN*/ LPGUID MessageGuid,
- /*IN*/ USHORT MessageNumber,
- /*IN*/ ...);
-
-#if 0
-/* FIXME: Get va_list from where? */
-NTOSAPI
-NTSTATUS
-DDKCDECLAPI
-WmiTraceMessageVa(
- /*IN*/ TRACEHANDLE LoggerHandle,
- /*IN*/ ULONG MessageFlags,
- /*IN*/ LPGUID MessageGuid,
- /*IN*/ USHORT MessageNumber,
- /*IN*/ va_list MessageArgList);
-#endif
-
-
-/** Kernel debugger routines **/
-
-NTOSAPI
-VOID
-DDKAPI
-KdDisableDebugger(
- VOID);
-
-NTOSAPI
-VOID
-DDKAPI
-KdEnableDebugger(
- VOID);
-
-NTOSAPI
-VOID
-DDKAPI
-DbgBreakPoint(
- VOID);
-
-NTOSAPI
-VOID
-DDKAPI
-DbgBreakPointWithStatus(
- /*IN*/ ULONG Status);
-
-NTOSAPI
-ULONG
-DDKCDECLAPI
-DbgPrint(
- /*IN*/ PCH Format,
- /*IN*/ ...);
-
-NTOSAPI
-ULONG
-DDKCDECLAPI
-DbgPrintEx(
- /*IN*/ ULONG ComponentId,
- /*IN*/ ULONG Level,
- /*IN*/ PCH Format,
- /*IN*/ ...);
-
-NTOSAPI
-ULONG
-DDKCDECLAPI
-DbgPrintReturnControlC(
- /*IN*/ PCH Format,
- /*IN*/ ...);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-DbgQueryDebugFilterState(
- /*IN*/ ULONG ComponentId,
- /*IN*/ ULONG Level);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-DbgSetDebugFilterState(
- /*IN*/ ULONG ComponentId,
- /*IN*/ ULONG Level,
- /*IN*/ BOOLEAN State);
-
-#ifdef DBG
-
-#define KdPrint(_x_) DbgPrint _x_
-#define KdPrintEx(_x_) DbgPrintEx _x_
-#define KdBreakPoint() DbgBreakPoint()
-#define KdBreakPointWithStatus(s) DbgBreakPointWithStatus(s)
-
-#else /* !DBG */
-
-#define KdPrint(_x_)
-#define KdPrintEx(_x_)
-#define KdBreakPoint()
-#define KdBreakPointWithStatus(s)
-
-#endif /* !DBG */
-
-extern NTOSAPI PBOOLEAN KdDebuggerNotPresent;
-extern NTOSAPI PBOOLEAN KdDebuggerEnabled;
-#define KD_DEBUGGER_ENABLED *KdDebuggerEnabled
-#define KD_DEBUGGER_NOT_PRESENT *KdDebuggerNotPresent
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __WINDDK_H */
diff --git a/winsup/w32api/include/ddk/winnt4.h b/winsup/w32api/include/ddk/winnt4.h
deleted file mode 100644
index b7f6179bf..000000000
--- a/winsup/w32api/include/ddk/winnt4.h
+++ /dev/null
@@ -1,623 +0,0 @@
-/*
- * winnt4.h
- *
- * Definitions only used in Windows NT 4.0 and earlier versions
- *
- * 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 __WINNT4_H
-#define __WINNT4_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef struct _ZONE_SEGMENT_HEADER {
- SINGLE_LIST_ENTRY SegmentList;
- PVOID Reserved;
-} ZONE_SEGMENT_HEADER, *PZONE_SEGMENT_HEADER;
-
-typedef struct _ZONE_HEADER {
- SINGLE_LIST_ENTRY FreeList;
- SINGLE_LIST_ENTRY SegmentList;
- ULONG BlockSize;
- ULONG TotalSegmentSize;
-} ZONE_HEADER, *PZONE_HEADER;
-
-static __inline PVOID
-ExAllocateFromZone(
- /*IN*/ PZONE_HEADER Zone)
-{
- if (Zone->FreeList.Next)
- Zone->FreeList.Next = Zone->FreeList.Next->Next;
- return (PVOID) Zone->FreeList.Next;
-}
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ExExtendZone(
- /*IN*/ PZONE_HEADER Zone,
- /*IN*/ PVOID Segment,
- /*IN*/ ULONG SegmentSize);
-
-static __inline PVOID
-ExFreeToZone(
- /*IN*/ PZONE_HEADER Zone,
- /*IN*/ PVOID Block)
-{
- ((PSINGLE_LIST_ENTRY) Block)->Next = Zone->FreeList.Next;
- Zone->FreeList.Next = ((PSINGLE_LIST_ENTRY) Block);
- return ((PSINGLE_LIST_ENTRY) Block)->Next;
-}
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ExInitializeZone(
- /*IN*/ PZONE_HEADER Zone,
- /*IN*/ ULONG BlockSize,
- /*IN*/ PVOID InitialSegment,
- /*IN*/ ULONG InitialSegmentSize);
-
-/*
- * PVOID
- * ExInterlockedAllocateFromZone(
- * IN PZONE_HEADER Zone,
- * IN PKSPIN_LOCK Lock)
- */
-#define ExInterlockedAllocateFromZone(Zone, \
- Lock) \
- ((PVOID) ExInterlockedPopEntryList(&Zone->FreeList, Lock))
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ExInterlockedExtendZone(
- /*IN*/ PZONE_HEADER Zone,
- /*IN*/ PVOID Segment,
- /*IN*/ ULONG SegmentSize,
- /*IN*/ PKSPIN_LOCK Lock);
-
-NTOSAPI
-PVOID
-DDKAPI
-ExInterlockedFreeToZone(
- /*IN*/ PZONE_HEADER Zone,
- /*IN*/ PVOID Block,
- /*IN*/ PKSPIN_LOCK Lock);
-
-/*
- * VOID
- * ExInitializeWorkItem(
- * IN PWORK_QUEUE_ITEM Item,
- * IN PWORKER_THREAD_ROUTINE Routine,
- * IN PVOID Context)
- */
-#define ExInitializeWorkItem(Item, \
- Routine, \
- Context) \
-{ \
- (Item)->WorkerRoutine = Routine; \
- (Item)->Parameter = Context; \
- (Item)->List.Flink = NULL; \
-}
-
-/*
- * BOOLEAN
- * ExIsFullZone(
- * IN PZONE_HEADER Zone)
- */
-#define ExIsFullZone(Zone) \
- ((Zone)->FreeList.Next == (PSINGLE_LIST_ENTRY) NULL)
-
-NTOSAPI
-VOID
-DDKAPI
-ExQueueWorkItem(
- /*IN*/ PWORK_QUEUE_ITEM WorkItem,
- /*IN*/ WORK_QUEUE_TYPE QueueType);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-ExIsObjectInFirstZoneSegment(
- /*IN*/ PZONE_HEADER Zone,
- /*IN*/ PVOID Object);
-
-NTOSAPI
-VOID
-DDKAPI
-ExReleaseResource(
- /*IN*/ PERESOURCE Resource);
-
-#define ExAcquireResourceExclusive ExAcquireResourceExclusiveLite
-#define ExAcquireResourceShared ExAcquireResourceSharedLite
-#define ExConvertExclusiveToShared ExConvertExclusiveToSharedLite
-#define ExDeleteResource ExDeleteResourceLite
-#define ExInitializeResource ExInitializeResourceLite
-#define ExIsResourceAcquiredExclusive ExIsResourceAcquiredExclusiveLite
-#define ExIsResourceAcquiredShared ExIsResourceAcquiredSharedLite
-#define ExIsResourceAcquired ExIsResourceAcquiredSharedLite
-#define ExReleaseResourceForThread ExReleaseResourceForThreadLite
-
-NTOSAPI
-INTERLOCKED_RESULT
-DDKAPI
-ExInterlockedDecrementLong(
- /*IN*/ PLONG Addend,
- /*IN*/ PKSPIN_LOCK Lock);
-
-NTOSAPI
-ULONG
-DDKAPI
-ExInterlockedExchangeUlong(
- /*IN*/ PULONG Target,
- /*IN*/ ULONG Value,
- /*IN*/ PKSPIN_LOCK Lock);
-
-NTOSAPI
-INTERLOCKED_RESULT
-DDKAPI
-ExInterlockedIncrementLong(
- /*IN*/ PLONG Addend,
- /*IN*/ PKSPIN_LOCK Lock);
-
-NTOSAPI
-PVOID
-DDKAPI
-HalAllocateCommonBuffer(
- /*IN*/ PADAPTER_OBJECT AdapterObject,
- /*IN*/ ULONG Length,
- /*OUT*/ PPHYSICAL_ADDRESS LogicalAddress,
- /*IN*/ BOOLEAN CacheEnabled);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-HalAssignSlotResources(
- /*IN*/ PUNICODE_STRING RegistryPath,
- /*IN*/ PUNICODE_STRING DriverClassName,
- /*IN*/ PDRIVER_OBJECT DriverObject,
- /*IN*/ PDEVICE_OBJECT DeviceObject,
- /*IN*/ INTERFACE_TYPE BusType,
- /*IN*/ ULONG BusNumber,
- /*IN*/ ULONG SlotNumber,
- /*IN OUT*/ PCM_RESOURCE_LIST *AllocatedResources);
-
-NTOSAPI
-VOID
-DDKAPI
-HalFreeCommonBuffer(
- /*IN*/ PADAPTER_OBJECT AdapterObject,
- /*IN*/ ULONG Length,
- /*IN*/ PHYSICAL_ADDRESS LogicalAddress,
- /*IN*/ PVOID VirtualAddress,
- /*IN*/ BOOLEAN CacheEnabled);
-
-NTOSAPI
-PADAPTER_OBJECT
-DDKAPI
-HalGetAdapter(
- /*IN*/ PDEVICE_DESCRIPTION DeviceDescription,
- /*IN OUT*/ PULONG NumberOfMapRegisters);
-
-NTOSAPI
-ULONG
-DDKAPI
-HalGetBusData(
- /*IN*/ BUS_DATA_TYPE BusDataType,
- /*IN*/ ULONG BusNumber,
- /*IN*/ ULONG SlotNumber,
- /*IN*/ PVOID Buffer,
- /*IN*/ ULONG Length);
-
-NTOSAPI
-ULONG
-DDKAPI
-HalGetBusDataByOffset(
- /*IN*/ BUS_DATA_TYPE BusDataType,
- /*IN*/ ULONG BusNumber,
- /*IN*/ ULONG SlotNumber,
- /*IN*/ PVOID Buffer,
- /*IN*/ ULONG Offset,
- /*IN*/ ULONG Length);
-
-NTOSAPI
-ULONG
-DDKAPI
-HalGetDmaAlignmentRequirement(
- VOID);
-
-NTOSAPI
-ULONG
-DDKAPI
-HalGetInterruptVector(
- /*IN*/ INTERFACE_TYPE InterfaceType,
- /*IN*/ ULONG BusNumber,
- /*IN*/ ULONG BusInterruptLevel,
- /*IN*/ ULONG BusInterruptVector,
- /*OUT*/ PKIRQL Irql,
- /*OUT*/ PKAFFINITY Affinity);
-
-NTOSAPI
-ULONG
-DDKAPI
-HalReadDmaCounter(
- /*IN*/ PADAPTER_OBJECT AdapterObject);
-
-NTOSAPI
-ULONG
-DDKAPI
-HalSetBusData(
- /*IN*/ BUS_DATA_TYPE BusDataType,
- /*IN*/ ULONG BusNumber,
- /*IN*/ ULONG SlotNumber,
- /*IN*/ PVOID Buffer,
- /*IN*/ ULONG Length);
-
-NTOSAPI
-ULONG
-DDKAPI
-HalSetBusDataByOffset(
- /*IN*/ BUS_DATA_TYPE BusDataType,
- /*IN*/ ULONG BusNumber,
- /*IN*/ ULONG SlotNumber,
- /*IN*/ PVOID Buffer,
- /*IN*/ ULONG Offset,
- /*IN*/ ULONG Length);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-HalTranslateBusAddress(
- /*IN*/ INTERFACE_TYPE InterfaceType,
- /*IN*/ ULONG BusNumber,
- /*IN*/ PHYSICAL_ADDRESS BusAddress,
- /*IN OUT*/ PULONG AddressSpace,
- /*OUT*/ PPHYSICAL_ADDRESS TranslatedAddress);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoAllocateAdapterChannel(
- /*IN*/ PADAPTER_OBJECT AdapterObject,
- /*IN*/ PDEVICE_OBJECT DeviceObject,
- /*IN*/ ULONG NumberOfMapRegisters,
- /*IN*/ PDRIVER_CONTROL ExecutionRoutine,
- /*IN*/ PVOID Context);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoAssignResources(
- /*IN*/ PUNICODE_STRING RegistryPath,
- /*IN*/ PUNICODE_STRING DriverClassName /*OPTIONAL*/,
- /*IN*/ PDRIVER_OBJECT DriverObject,
- /*IN*/ PDEVICE_OBJECT DeviceObject /*OPTIONAL*/,
- /*IN*/ PIO_RESOURCE_REQUIREMENTS_LIST RequestedResources,
- /*IN OUT*/ PCM_RESOURCE_LIST *AllocatedResources);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoAttachDeviceByPointer(
- /*IN*/ PDEVICE_OBJECT SourceDevice,
- /*IN*/ PDEVICE_OBJECT TargetDevice);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-IoFlushAdapterBuffers(
- /*IN*/ PADAPTER_OBJECT AdapterObject,
- /*IN*/ PMDL Mdl,
- /*IN*/ PVOID MapRegisterBase,
- /*IN*/ PVOID CurrentVa,
- /*IN*/ ULONG Length,
- /*IN*/ BOOLEAN WriteToDevice);
-
-NTOSAPI
-VOID
-DDKAPI
-IoFreeAdapterChannel(
- /*IN*/ PADAPTER_OBJECT AdapterObject);
-
-NTOSAPI
-VOID
-DDKAPI
-IoFreeMapRegisters(
- /*IN*/ PADAPTER_OBJECT AdapterObject,
- /*IN*/ PVOID MapRegisterBase,
- /*IN*/ ULONG NumberOfMapRegisters);
-
-NTOSAPI
-PHYSICAL_ADDRESS
-DDKAPI
-IoMapTransfer(
- /*IN*/ PADAPTER_OBJECT AdapterObject,
- /*IN*/ PMDL Mdl,
- /*IN*/ PVOID MapRegisterBase,
- /*IN*/ PVOID CurrentVa,
- /*IN OUT*/ PULONG Length,
- /*IN*/ BOOLEAN WriteToDevice);
-
-NTOSAPI
-PMDL
-DDKAPI
-MmCreateMdl(
- /*IN*/ PMDL MemoryDescriptorList /*OPTIONAL*/,
- /*IN*/ PVOID Base,
- /*IN*/ SIZE_T Length);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-MmIsNonPagedSystemAddressValid(
- /*IN*/ PVOID VirtualAddress);
-
-NTOSAPI
-LARGE_INTEGER
-DDKAPI
-RtlEnlargedIntegerMultiply(
- /*IN*/ LONG Multiplicand,
- /*IN*/ LONG Multiplier);
-
-NTOSAPI
-ULONG
-DDKAPI
-RtlEnlargedUnsignedDivide(
- /*IN*/ ULARGE_INTEGER Dividend,
- /*IN*/ ULONG Divisor,
- /*IN OUT*/ PULONG Remainder);
-
-NTOSAPI
-LARGE_INTEGER
-DDKAPI
-RtlEnlargedUnsignedMultiply(
- /*IN*/ ULONG Multiplicand,
- /*IN*/ ULONG Multiplier);
-
-NTOSAPI
-LARGE_INTEGER
-DDKAPI
-RtlExtendedIntegerMultiply(
- /*IN*/ LARGE_INTEGER Multiplicand,
- /*IN*/ LONG Multiplier);
-
-NTOSAPI
-LARGE_INTEGER
-DDKAPI
-RtlExtendedLargeIntegerDivide(
- /*IN*/ LARGE_INTEGER Dividend,
- /*IN*/ ULONG Divisor,
- /*IN OUT*/ PULONG Remainder);
-
-NTOSAPI
-LARGE_INTEGER
-DDKAPI
-RtlExtendedMagicDivide(
- /*IN*/ LARGE_INTEGER Dividend,
- /*IN*/ LARGE_INTEGER MagicDivisor,
- /*IN*/ CCHAR ShiftCount);
-
-NTOSAPI
-LARGE_INTEGER
-DDKAPI
-RtlLargeIntegerAdd(
- /*IN*/ LARGE_INTEGER Addend1,
- /*IN*/ LARGE_INTEGER Addend2);
-
-NTOSAPI
-VOID
-DDKAPI
-RtlLargeIntegerAnd(
- /*IN OUT*/ LARGE_INTEGER Result,
- /*IN*/ LARGE_INTEGER Source,
- /*IN*/ LARGE_INTEGER Mask);
-
-NTOSAPI
-LARGE_INTEGER
-DDKAPI
-RtlLargeIntegerArithmeticShift(
- /*IN*/ LARGE_INTEGER LargeInteger,
- /*IN*/ CCHAR ShiftCount);
-
-NTOSAPI
-LARGE_INTEGER
-DDKAPI
-RtlLargeIntegerDivide(
- /*IN*/ LARGE_INTEGER Dividend,
- /*IN*/ LARGE_INTEGER Divisor,
- /*IN OUT*/ PLARGE_INTEGER Remainder);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-RtlLargeIntegerEqualTo(
- /*IN*/ LARGE_INTEGER Operand1,
- /*IN*/ LARGE_INTEGER Operand2);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-RtlLargeIntegerEqualToZero(
- /*IN*/ LARGE_INTEGER Operand);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-RtlLargeIntegerGreaterOrEqualToZero(
- /*IN*/ LARGE_INTEGER Operand);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-RtlLargeIntegerGreaterThan(
- /*IN*/ LARGE_INTEGER Operand1,
- /*IN*/ LARGE_INTEGER Operand2);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-RtlLargeIntegerGreaterThanOrEqualTo(
- /*IN*/ LARGE_INTEGER Operand1,
- /*IN*/ LARGE_INTEGER Operand2);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-RtlLargeIntegerGreaterThanZero(
- /*IN*/ LARGE_INTEGER Operand);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-RtlLargeIntegerLessOrEqualToZero(
- /*IN*/ LARGE_INTEGER Operand);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-RtlLargeIntegerLessThan(
- /*IN*/ LARGE_INTEGER Operand1,
- /*IN*/ LARGE_INTEGER Operand2);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-RtlLargeIntegerLessThanOrEqualTo(
- /*IN*/ LARGE_INTEGER Operand1,
- /*IN*/ LARGE_INTEGER Operand2);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-RtlLargeIntegerLessThanZero(
- /*IN*/ LARGE_INTEGER Operand);
-
-NTOSAPI
-LARGE_INTEGER
-DDKAPI
-RtlLargeIntegerNegate(
- /*IN*/ LARGE_INTEGER Subtrahend);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-RtlLargeIntegerNotEqualTo(
- /*IN*/ LARGE_INTEGER Operand1,
- /*IN*/ LARGE_INTEGER Operand2);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-RtlLargeIntegerNotEqualToZero(
- /*IN*/ LARGE_INTEGER Operand);
-
-NTOSAPI
-LARGE_INTEGER
-DDKAPI
-RtlLargeIntegerShiftLeft(
- /*IN*/ LARGE_INTEGER LargeInteger,
- /*IN*/ CCHAR ShiftCount);
-
-NTOSAPI
-LARGE_INTEGER
-DDKAPI
-RtlLargeIntegerShiftRight(
- /*IN*/ LARGE_INTEGER LargeInteger,
- /*IN*/ CCHAR ShiftCount);
-
-NTOSAPI
-LARGE_INTEGER
-DDKAPI
-RtlLargeIntegerSubtract(
- /*IN*/ LARGE_INTEGER Minuend,
- /*IN*/ LARGE_INTEGER Subtrahend);
-
-
-/*
- * ULONG
- * COMPUTE_PAGES_SPANNED(
- * IN PVOID Va,
- * IN ULONG Size)
- */
-#define COMPUTE_PAGES_SPANNED(Va, \
- Size) \
- (ADDRESS_AND_SIZE_TO_SPAN_PAGES(Va, Size))
-
-
-/*
-** Architecture specific functions
-*/
-
-#ifdef _X86_
-
-NTOSAPI
-INTERLOCKED_RESULT
-DDKAPI
-Exi386InterlockedIncrementLong(
- /*IN*/ PLONG Addend);
-
-NTOSAPI
-INTERLOCKED_RESULT
-DDKFASTAPI
-Exfi386InterlockedIncrementLong(
- /*IN*/ PLONG Addend);
-
-NTOSAPI
-INTERLOCKED_RESULT
-DDKAPI
-Exi386InterlockedDecrementLong(
- /*IN*/ PLONG Addend);
-
-NTOSAPI
-INTERLOCKED_RESULT
-DDKFASTAPI
-Exfi386InterlockedDecrementLong(
- /*IN*/ PLONG Addend);
-
-NTOSAPI
-ULONG
-DDKAPI
-Exi386InterlockedExchangeUlong(
- /*IN*/ PULONG Target,
- /*IN*/ ULONG Value);
-
-NTOSAPI
-ULONG
-DDKFASTAPI
-Exfi386InterlockedExchangeUlong(
- /*IN*/ PULONG Target,
- /*IN*/ ULONG Value);
-
-#define ExInterlockedIncrementLong(Addend,Lock) Exfi386InterlockedIncrementLong(Addend)
-#define ExInterlockedDecrementLong(Addend,Lock) Exfi386InterlockedDecrementLong(Addend)
-#define ExInterlockedExchangeUlong(Target, Value, Lock) Exfi386InterlockedExchangeUlong(Target, Value)
-
-#endif /* _X86_ */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __WINNT4_H */
diff --git a/winsup/w32api/include/ddk/winxp.h b/winsup/w32api/include/ddk/winxp.h
deleted file mode 100644
index 28e34a89c..000000000
--- a/winsup/w32api/include/ddk/winxp.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * winxp.h
- *
- * Definitions only used in Windows XP and earlier versions
- *
- * 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 __WINXP_H
-#define __WINXP_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __WINXP_H */
diff --git a/winsup/w32api/include/ddk/ws2san.h b/winsup/w32api/include/ddk/ws2san.h
deleted file mode 100644
index dbb65a49e..000000000
--- a/winsup/w32api/include/ddk/ws2san.h
+++ /dev/null
@@ -1,248 +0,0 @@
-/*
- * ws2san.h
- *
- * WinSock Direct (SAN) support
- *
- * 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 __WS2SAN_H
-#define __WS2SAN_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <winsock2.h>
-#include "ntddk.h"
-
-
-#define WSPAPI STDCALL
-
-/* FIXME: Unknown definitions */
-typedef PVOID LPWSPDATA;
-typedef PDWORD LPWSATHREADID;
-typedef PVOID LPWSPPROC_TABLE;
-typedef struct _WSPUPCALLTABLEEX WSPUPCALLTABLEEX;
-typedef WSPUPCALLTABLEEX *LPWSPUPCALLTABLEEX;
-
-#define SO_MAX_RDMA_SIZE 0x700D
-#define SO_RDMA_THRESHOLD_SIZE 0x700E
-
-#define WSAID_REGISTERMEMORY \
- {0xC0B422F5, 0xF58C, 0x11d1, {0xAD, 0x6C, 0x00, 0xC0, 0x4F, 0xA3, 0x4A, 0x2D}}
-
-#define WSAID_DEREGISTERMEMORY \
- {0xC0B422F6, 0xF58C, 0x11d1, {0xAD, 0x6C, 0x00, 0xC0, 0x4F, 0xA3, 0x4A, 0x2D}}
-
-#define WSAID_REGISTERRDMAMEMORY \
- {0xC0B422F7, 0xF58C, 0x11d1, {0xAD, 0x6C, 0x00, 0xC0, 0x4F, 0xA3, 0x4A, 0x2D}}
-
-#define WSAID_DEREGISTERRDMAMEMORY \
- {0xC0B422F8, 0xF58C, 0x11d1, {0xAD, 0x6C, 0x00, 0xC0, 0x4F, 0xA3, 0x4A, 0x2D}}
-
-#define WSAID_RDMAWRITE \
- {0xC0B422F9, 0xF58C, 0x11d1, {0xAD, 0x6C, 0x00, 0xC0, 0x4F, 0xA3, 0x4A, 0x2D}}
-
-#define WSAID_RDMAREAD \
- {0xC0B422FA, 0xF58C, 0x11d1, {0xAD, 0x6C, 0x00, 0xC0, 0x4F, 0xA3, 0x4A, 0x2D}}
-
-#define WSAID_MEMORYREGISTRATIONCACHECALLBACK \
- {0xE5DA4AF8, 0xD824, 0x48CD, {0xA7, 0x99, 0x63, 0x37, 0xA9, 0x8E, 0xD2, 0xAF}}
-
-typedef struct _WSABUFEX {
- u_long len;
- char FAR *buf;
- HANDLE handle;
-} WSABUFEX, FAR * LPWSABUFEX;
-
-#if 0
-typedef struct _WSPUPCALLTABLEEX {
- LPWPUCLOSEEVENT lpWPUCloseEvent;
- LPWPUCLOSESOCKETHANDLE lpWPUCloseSocketHandle;
- LPWPUCREATEEVENT lpWPUCreateEvent;
- LPWPUCREATESOCKETHANDLE lpWPUCreateSocketHandle;
- LPWPUFDISSET lpWPUFDIsSet;
- LPWPUGETPROVIDERPATH lpWPUGetProviderPath;
- LPWPUMODIFYIFSHANDLE lpWPUModifyIFSHandle;
- LPWPUPOSTMESSAGE lpWPUPostMessage;
- LPWPUQUERYBLOCKINGCALLBACK lpWPUQueryBlockingCallback;
- LPWPUQUERYSOCKETHANDLECONTEXT lpWPUQuerySocketHandleContext;
- LPWPUQUEUEAPC lpWPUQueueApc;
- LPWPURESETEVENT lpWPUResetEvent;
- LPWPUSETEVENT lpWPUSetEvent;
- LPWPUOPENCURRENTTHREAD lpWPUOpenCurrentThread;
- LPWPUCLOSETHREAD lpWPUCloseThread;
- LPWPUCOMPLETEOVERLAPPEDREQUEST lpWPUCompleteOverlappedRequest;
-} WSPUPCALLTABLEEX, FAR * LPWSPUPCALLTABLEEX;
-#endif
-
-int WSPAPI
-WSPStartupEx(
- /*IN*/ WORD wVersionRequested,
- /*OUT*/ LPWSPDATA lpWSPData,
- /*IN*/ LPWSAPROTOCOL_INFOW lpProtocolInfo,
- /*IN*/ LPWSPUPCALLTABLEEX lpUpcallTable,
- /*OUT*/ LPWSPPROC_TABLE lpProcTable);
-
-typedef int WSPAPI
-(*LPWSPSTARTUPEX)(
- /*IN*/ WORD wVersionRequested,
- /*OUT*/ LPWSPDATA lpWSPData,
- /*IN*/ LPWSAPROTOCOL_INFOW lpProtocolInfo,
- /*IN*/ LPWSPUPCALLTABLEEX lpUpcallTable,
- /*OUT*/ LPWSPPROC_TABLE lpProcTable);
-
-#define MEM_READ 1
-#define MEM_WRITE 2
-#define MEM_READWRITE 3
-
-int WSPAPI
-WSPDeregisterMemory(
- /*IN*/ SOCKET s,
- /*IN*/ HANDLE Handle,
- /*OUT*/ LPINT lpErrno);
-
-typedef int WSPAPI
-(*LPFN_WSPDEREGISTERMEMORY)(
- /*IN*/ SOCKET s,
- /*IN*/ HANDLE Handle,
- /*OUT*/ LPINT lpErrno);
-
-int WSPAPI
-WSPDeregisterRdmaMemory(
- /*IN*/ SOCKET s,
- /*IN*/ LPVOID lpRdmaBufferDescriptor,
- /*IN*/ DWORD dwDescriptorLength,
- /*OUT*/ LPINT lpErrno);
-
-typedef int WSPAPI
-(*LPFN_WSPDEREGISTERRDMAMEMORY)(
- /*IN*/ SOCKET s,
- /*IN*/ LPVOID lpRdmaBufferDescriptor,
- /*IN*/ DWORD dwDescriptorLength,
- /*OUT*/ LPINT lpErrno);
-
-int WSPAPI
-WSPMemoryRegistrationCacheCallback(
- /*IN*/ PVOID lpvAddress,
- /*IN*/ SIZE_T Size,
- /*OUT*/ LPINT lpErrno);
-
-typedef int WSPAPI
-(*LPFN_WSPMEMORYREGISTRATIONCACHECALLBACK)(
- /*IN*/ PVOID lpvAddress,
- /*IN*/ SIZE_T Size,
- /*OUT*/ LPINT lpErrno);
-
-int WSPAPI
-WSPRdmaRead(
- /*IN*/ SOCKET s,
- /*IN*/ LPWSABUFEX lpBuffers,
- /*IN*/ DWORD dwBufferCount,
- /*IN*/ LPVOID lpTargetBufferDescriptor,
- /*IN*/ DWORD dwTargetDescriptorLength,
- /*IN*/ DWORD dwTargetBufferOffset,
- /*OUT*/ LPDWORD lpdwNumberOfBytesRead,
- /*IN*/ DWORD dwFlags,
- /*IN*/ LPWSAOVERLAPPED lpOverlapped,
- /*IN*/ LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine,
- /*IN*/ LPWSATHREADID lpThreadId,
- /*OUT*/ LPINT lpErrno);
-
-typedef int WSPAPI
-(*LPFN_WSPRDMAREAD)(
- /*IN*/ SOCKET s,
- /*IN*/ LPWSABUFEX lpBuffers,
- /*IN*/ DWORD dwBufferCount,
- /*IN*/ LPVOID lpTargetBufferDescriptor,
- /*IN*/ DWORD dwTargetDescriptorLength,
- /*IN*/ DWORD dwTargetBufferOffset,
- /*OUT*/ LPDWORD lpdwNumberOfBytesRead,
- /*IN*/ DWORD dwFlags,
- /*IN*/ LPWSAOVERLAPPED lpOverlapped,
- /*IN*/ LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine,
- /*IN*/ LPWSATHREADID lpThreadId,
- /*OUT*/ LPINT lpErrno);
-
-int WSPAPI
-WSPRdmaWrite(
- /*IN*/ SOCKET s,
- /*IN*/ LPWSABUFEX lpBuffers,
- /*IN*/ DWORD dwBufferCount,
- /*IN*/ LPVOID lpTargetBufferDescriptor,
- /*IN*/ DWORD dwTargetDescriptorLength,
- /*IN*/ DWORD dwTargetBufferOffset,
- /*OUT*/ LPDWORD lpdwNumberOfBytesWritten,
- /*IN*/ DWORD dwFlags,
- /*IN*/ LPWSAOVERLAPPED lpOverlapped,
- /*IN*/ LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine,
- /*IN*/ LPWSATHREADID lpThreadId,
- /*OUT*/ LPINT lpErrno);
-
-typedef int WSPAPI
-(*LPFN_WSPRDMAWRITE)(
- /*IN*/ SOCKET s,
- /*IN*/ LPWSABUFEX lpBuffers,
- /*IN*/ DWORD dwBufferCount,
- /*IN*/ LPVOID lpTargetBufferDescriptor,
- /*IN*/ DWORD dwTargetDescriptorLength,
- /*IN*/ DWORD dwTargetBufferOffset,
- /*OUT*/ LPDWORD lpdwNumberOfBytesWritten,
- /*IN*/ DWORD dwFlags,
- /*IN*/ LPWSAOVERLAPPED lpOverlapped,
- /*IN*/ LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine,
- /*IN*/ LPWSATHREADID lpThreadId,
- /*OUT*/ LPINT lpErrno);
-
-HANDLE WSPAPI
-WSPRegisterMemory(
- /*IN*/ SOCKET s,
- /*IN*/ PVOID lpBuffer,
- /*IN*/ DWORD dwBufferLength,
- /*IN*/ DWORD dwFlags,
- /*OUT*/ LPINT lpErrno);
-
-int WSPAPI
-WSPRegisterRdmaMemory(
- /*IN*/ SOCKET s,
- /*IN*/ PVOID lpBuffer,
- /*IN*/ DWORD dwBufferLength,
- /*IN*/ DWORD dwFlags,
- /*OUT*/ LPVOID lpRdmaBufferDescriptor,
- /*IN OUT*/ LPDWORD lpdwDescriptorLength,
- /*OUT*/ LPINT lpErrno);
-
-typedef int WSPAPI
-(*LPFN_WSPREGISTERRDMAMEMORY)(
- /*IN*/ SOCKET s,
- /*IN*/ PVOID lpBuffer,
- /*IN*/ DWORD dwBufferLength,
- /*IN*/ DWORD dwFlags,
- /*OUT*/ LPVOID lpRdmaBufferDescriptor,
- /*IN OUT*/ LPDWORD lpdwDescriptorLength,
- /*OUT*/ LPINT lpErrno);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __WS2SAN_H */
diff --git a/winsup/w32api/include/ddk/xfilter.h b/winsup/w32api/include/ddk/xfilter.h
deleted file mode 100644
index 3940b44f2..000000000
--- a/winsup/w32api/include/ddk/xfilter.h
+++ /dev/null
@@ -1,239 +0,0 @@
-/*
- * xfilter.h
- *
- * Address filtering for NDIS MACs
- *
- * 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 __XFILTER_H
-#define __XFILTER_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-
-
-#define ETH_LENGTH_OF_ADDRESS 6
-
-#define ETH_IS_BROADCAST(Address) \
- ((((PUCHAR)(Address))[0] == ((UCHAR)0xff)) && (((PUCHAR)(Address))[1] == ((UCHAR)0xff)))
-
-#define ETH_IS_MULTICAST(Address) \
- (BOOLEAN)(((PUCHAR)(Address))[0] & ((UCHAR)0x01))
-
-#define ETH_COMPARE_NETWORK_ADDRESSES(_A, _B, _Result) \
-{ \
- if (*(ULONG UNALIGNED *)&(_A)[2] > *(ULONG UNALIGNED *)&(_B)[2]) \
- { \
- *(_Result) = 1; \
- } \
- else if (*(ULONG UNALIGNED *)&(_A)[2] < *(ULONG UNALIGNED *)&(_B)[2]) \
- { \
- *(_Result) = (UINT)-1; \
- } \
- else if (*(USHORT UNALIGNED *)(_A) > *(USHORT UNALIGNED *)(_B)) \
- { \
- *(_Result) = 1; \
- } \
- else if (*(USHORT UNALIGNED *)(_A) < *(USHORT UNALIGNED *)(_B)) \
- { \
- *(_Result) = (UINT)-1; \
- } \
- else \
- { \
- *(_Result) = 0; \
- } \
-}
-
-#define ETH_COMPARE_NETWORK_ADDRESSES_EQ(_A,_B, _Result) \
-{ \
- if ((*(ULONG UNALIGNED *)&(_A)[2] == *(ULONG UNALIGNED *)&(_B)[2]) && \
- (*(USHORT UNALIGNED *)(_A) == *(USHORT UNALIGNED *)(_B))) \
- { \
- *(_Result) = 0; \
- } \
- else \
- { \
- *(_Result) = 1; \
- } \
-}
-
-#define ETH_COPY_NETWORK_ADDRESS(_D, _S) \
-{ \
- *((ULONG UNALIGNED *)(_D)) = *((ULONG UNALIGNED *)(_S)); \
- *((USHORT UNALIGNED *)((UCHAR *)(_D) + 4)) = *((USHORT UNALIGNED *)((UCHAR *)(_S) + 4)); \
-}
-
-#define FDDI_LENGTH_OF_LONG_ADDRESS 6
-#define FDDI_LENGTH_OF_SHORT_ADDRESS 2
-
-#define FDDI_IS_BROADCAST(Address, AddressLength, Result) \
- *Result = ((*(PUCHAR)(Address) == (UCHAR)0xFF) && \
- (*((PUCHAR)(Address) + 1) == (UCHAR)0xFF))
-
-#define FDDI_IS_MULTICAST(Address, AddressLength, Result) \
- *Result = (BOOLEAN)(*(UCHAR *)(Address) & (UCHAR)0x01)
-
-#define FDDI_IS_SMT(FcByte, Result) \
-{ \
- *Result = ((FcByte & ((UCHAR)0xf0)) == 0x40); \
-}
-
-
-#define FDDI_COMPARE_NETWORK_ADDRESSES(_A, _B, _Length, _Result) \
-{ \
- if (*(USHORT UNALIGNED *)(_A) > *(USHORT UNALIGNED *)(_B)) \
- { \
- *(_Result) = 1; \
- } \
- else if (*(USHORT UNALIGNED *)(_A) < *(USHORT UNALIGNED *)(_B)) \
- { \
- *(_Result) = (UINT)-1; \
- } \
- else if (_Length == 2) \
- { \
- *(_Result) = 0; \
- } \
- else if (*(ULONG UNALIGNED *)((PUCHAR)(_A) + 2) > *(ULONG UNALIGNED *)((PUCHAR)(_B) + 2)) \
- { \
- *(_Result) = 1; \
- } \
- else if (*(ULONG UNALIGNED *)((PUCHAR)(_A) + 2) < *(ULONG UNALIGNED *)((PUCHAR)(_B) + 2)) \
- { \
- *(_Result) = (UINT)-1; \
- } \
- else \
- { \
- *(_Result) = 0; \
- } \
-}
-
-#define FDDI_COMPARE_NETWORK_ADDRESSES_EQ(_A, _B, _Length, _Result) \
-{ \
- if ((*(USHORT UNALIGNED *)(_A) == *(USHORT UNALIGNED *)(_B)) && \
- (((_Length) == 2) || \
- (*(ULONG UNALIGNED *)((PUCHAR)(_A) + 2) == *(ULONG UNALIGNED *)((PUCHAR)(_B) + 2)))) \
- { \
- *(_Result) = 0; \
- } \
- else \
- { \
- *(_Result) = 1; \
- } \
-}
-
-#define FDDI_COPY_NETWORK_ADDRESS(D, S, AddressLength) \
-{ \
- PCHAR _D = (D); \
- PCHAR _S = (S); \
- UINT _C = (AddressLength); \
- for ( ; _C > 0 ; _D++, _S++, _C--) \
- { \
- *_D = *_S; \
- } \
-}
-
-#define TR_LENGTH_OF_FUNCTIONAL 4
-#define TR_LENGTH_OF_ADDRESS 6
-
-typedef ULONG TR_FUNCTIONAL_ADDRESS;
-typedef ULONG TR_GROUP_ADDRESS;
-
-#define TR_IS_NOT_DIRECTED(_Address, _Result) \
-{ \
- *(_Result) = (BOOLEAN)((_Address)[0] & 0x80); \
-}
-
-#define TR_IS_FUNCTIONAL(_Address, _Result) \
-{ \
- *(_Result) = (BOOLEAN)(((_Address)[0] & 0x80) && !((_Address)[2] & 0x80)); \
-}
-
-#define TR_IS_GROUP(_Address, _Result) \
-{ \
- *(_Result) = (BOOLEAN)((_Address)[0] & (_Address)[2] & 0x80); \
-}
-
-#define TR_IS_SOURCE_ROUTING(_Address, _Result) \
-{ \
- *(_Result) = (BOOLEAN)((_Address)[0] & 0x80); \
-}
-
-#define TR_IS_MAC_FRAME(_PacketHeader) ((((PUCHAR)_PacketHeader)[1] & 0xFC) == 0)
-
-#define TR_IS_BROADCAST(_Address, _Result) \
-{ \
- *(_Result) = (BOOLEAN)(((*(UNALIGNED USHORT *)&(_Address)[0] == 0xFFFF) || \
- (*(UNALIGNED USHORT *)&(_Address)[0] == 0x00C0)) && \
- (*(UNALIGNED ULONG *)&(_Address)[2] == 0xFFFFFFFF)); \
-}
-
-#define TR_COMPARE_NETWORK_ADDRESSES(_A, _B, _Result) \
-{ \
- if (*(ULONG UNALIGNED *)&(_A)[2] > *(ULONG UNALIGNED *)&(_B)[2]) \
- { \
- *(_Result) = 1; \
- } \
- else if (*(ULONG UNALIGNED *)&(_A)[2] < *(ULONG UNALIGNED *)&(_B)[2]) \
- { \
- *(_Result) = (UINT)-1; \
- } \
- else if (*(USHORT UNALIGNED *)(_A) > *(USHORT UNALIGNED *)(_B)) \
- { \
- *(_Result) = 1; \
- } \
- else if (*(USHORT UNALIGNED *)(_A) < *(USHORT UNALIGNED *)(_B)) \
- { \
- *(_Result) = (UINT)-1; \
- } \
- else \
- { \
- *(_Result) = 0; \
- } \
-}
-
-#define TR_COPY_NETWORK_ADDRESS(_D, _S) \
-{ \
- *((ULONG UNALIGNED *)(_D)) = *((ULONG UNALIGNED *)(_S)); \
- *((USHORT UNALIGNED *)((UCHAR *)(_D)+4)) = *((USHORT UNALIGNED *)((UCHAR *)(_S) + 4)); \
-}
-
-#define TR_COMPARE_NETWORK_ADDRESSES_EQ(_A, _B, _Result) \
-{ \
- if ((*(ULONG UNALIGNED *)&(_A)[2] == *(ULONG UNALIGNED *)&(_B)[2]) && \
- (*(USHORT UNALIGNED *)&(_A)[0] == *(USHORT UNALIGNED *)&(_B)[0])) \
- { \
- *(_Result) = 0; \
- } \
- else \
- { \
- *(_Result) = 1; \
- } \
-}
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __XFILTER_H */