2002-10-06 Casper Hornstrup <chorns@it.dk>
* include/ddk: New subdir. * lib/ddk: Ditto. * include/ddk/(atm.h, batclass.h, cfg.h, cfgmgr32.h, d4drvif.h, d4iface.h, ddkmapi.h, hidclass.h, hidpi.h, hidusage.h, mcd.h, miniport.h, minitape.h, mountdev.h, mountmgr.h, ndis.h, ndisquid.h, ndistapi.h, ndisvan.h, netevent.h, netpnp.h, netdev.h, ntapi.h, ntdd8042.h, ntddbeep.h, ntddcdrm.h, ntddcdvd.h, ntddchgr.h, ntdddisk.h, ntddk.h, ntddkbd.h, ntddmou.h, ntddndis.h, ntddpar.h, ntddpcm.h, ntddscsi.h, ntddser.h, ntddstor.h, ntddtape.h, ntddtdi.h, ntddvdeo.h, ntddvol.h, ntifs.h, ntpoapi.h, ntstatus.h, parallel.h, pfhook.h, poclass.h, scsi.h, scsiscan.h, scsiwmi.h, smbus.h, srb.h, storport.h, tdi.h, tdiinfo.h, tdikrnl.h, tdistat.h, tvout.h, upssvc.h, usb.h, usb100.h, usbcamdi.h, usbdi.h, usbioctl.h, usbiodef.h, usbscan.h, usbuser.h, video.h, videoagp.h, win2k.h, winddi.h, winddk.h, winnt4.h, winxp.h, ws2san.h, xfilter.h): New files. * lib/ddk/(Makefile.in, apcups.def, cfgmgr32.def, dxapi.def, hal.def, hid.def, hidparse.def, mcd.def, ndis.def, ntoskrnl.def, scsiport.def, tdi.def, usbcamd.def, usbcamd2.def, videoprt.def, win32k.def): Ditto.
This commit is contained in:
parent
09663d31bb
commit
2bacbfb1d1
@ -1,3 +1,27 @@
|
||||
2002-10-06 Casper Hornstrup <chorns@it.dk>
|
||||
|
||||
* include/ddk: New subdir.
|
||||
* lib/ddk: Ditto.
|
||||
* include/ddk/(atm.h, batclass.h, cfg.h, cfgmgr32.h, d4drvif.h,
|
||||
d4iface.h, ddkmapi.h, hidclass.h, hidpi.h, hidusage.h, mcd.h,
|
||||
miniport.h, minitape.h, mountdev.h, mountmgr.h, ndis.h,
|
||||
ndisquid.h, ndistapi.h, ndisvan.h, netevent.h, netpnp.h,
|
||||
netdev.h, ntapi.h, ntdd8042.h, ntddbeep.h, ntddcdrm.h,
|
||||
ntddcdvd.h, ntddchgr.h, ntdddisk.h, ntddk.h, ntddkbd.h,
|
||||
ntddmou.h, ntddndis.h, ntddpar.h, ntddpcm.h, ntddscsi.h,
|
||||
ntddser.h, ntddstor.h, ntddtape.h, ntddtdi.h, ntddvdeo.h,
|
||||
ntddvol.h, ntifs.h, ntpoapi.h, ntstatus.h, parallel.h, pfhook.h,
|
||||
poclass.h, scsi.h, scsiscan.h, scsiwmi.h, smbus.h, srb.h,
|
||||
storport.h, tdi.h, tdiinfo.h, tdikrnl.h, tdistat.h, tvout.h,
|
||||
upssvc.h, usb.h, usb100.h, usbcamdi.h, usbdi.h, usbioctl.h,
|
||||
usbiodef.h, usbscan.h, usbuser.h, video.h, videoagp.h, win2k.h,
|
||||
winddi.h, winddk.h, winnt4.h, winxp.h, ws2san.h,
|
||||
xfilter.h): New files.
|
||||
* lib/ddk/(Makefile.in, apcups.def, cfgmgr32.def, dxapi.def,
|
||||
hal.def, hid.def, hidparse.def, mcd.def, ndis.def, ntoskrnl.def,
|
||||
scsiport.def, tdi.def, usbcamd.def, usbcamd2.def, videoprt.def,
|
||||
win32k.def): Ditto.
|
||||
|
||||
2002-10-04 Steven Edwards <Steven_Ed4153@yahoo.com>
|
||||
|
||||
* lib/ntdll.def (NtAccessCheck, NtAdjustPrivilegesToken,
|
||||
|
503
winsup/w32api/include/ddk/atm.h
Normal file
503
winsup/w32api/include/ddk/atm.h
Normal file
@ -0,0 +1,503 @@
|
||||
/*
|
||||
* atm.h
|
||||
*
|
||||
* ATM support
|
||||
*
|
||||
* This file is part of the MinGW 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
|
||||
* DISCLAMED. 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
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;
|
||||
|
||||
typedef struct _ATM_AAL_OOB_INFO
|
||||
{
|
||||
ATM_AAL_TYPE AalType;
|
||||
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;
|
||||
#ifdef __cplusplus
|
||||
} u;
|
||||
#else
|
||||
};
|
||||
#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;
|
||||
} 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;
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __ATM_H */
|
308
winsup/w32api/include/ddk/batclass.h
Normal file
308
winsup/w32api/include/ddk/batclass.h
Normal file
@ -0,0 +1,308 @@
|
||||
/*
|
||||
* batclass.h
|
||||
*
|
||||
* Battery class driver interface
|
||||
*
|
||||
* This file is part of the MinGW 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
|
||||
* DISCLAMED. 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
#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;
|
||||
|
||||
typedef struct _BATTERY_REPORTING_SCALE {
|
||||
ULONG Granularity;
|
||||
ULONG Capacity;
|
||||
} BATTERY_REPORTING_SCALE, *PBATTERY_REPORTING_SCALE;
|
||||
|
||||
/* 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);
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __BATCLASS_H */
|
123
winsup/w32api/include/ddk/cfg.h
Normal file
123
winsup/w32api/include/ddk/cfg.h
Normal file
@ -0,0 +1,123 @@
|
||||
/*
|
||||
* cfg.h
|
||||
*
|
||||
* PnP Configuration Manager shared definitions between user mode and kernel mode code
|
||||
*
|
||||
* This file is part of the MinGW 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
|
||||
* DISCLAMED. 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
#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
|
||||
|
||||
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;
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __CFG_H */
|
1533
winsup/w32api/include/ddk/cfgmgr32.h
Normal file
1533
winsup/w32api/include/ddk/cfgmgr32.h
Normal file
File diff suppressed because it is too large
Load Diff
108
winsup/w32api/include/ddk/d4drvif.h
Normal file
108
winsup/w32api/include/ddk/d4drvif.h
Normal file
@ -0,0 +1,108 @@
|
||||
/*
|
||||
* d4drvif.h
|
||||
*
|
||||
* DOT4 driver IOCTL interface
|
||||
*
|
||||
* This file is part of the MinGW 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
|
||||
* DISCLAMED. 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
#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;
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __D4DRVIF_H */
|
88
winsup/w32api/include/ddk/d4iface.h
Normal file
88
winsup/w32api/include/ddk/d4iface.h
Normal file
@ -0,0 +1,88 @@
|
||||
/*
|
||||
* d4iface.h
|
||||
*
|
||||
* DOT4 interface
|
||||
*
|
||||
* This file is part of the MinGW 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
|
||||
* DISCLAMED. 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
#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;
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __D4IFACE_H */
|
338
winsup/w32api/include/ddk/ddkmapi.h
Normal file
338
winsup/w32api/include/ddk/ddkmapi.h
Normal file
@ -0,0 +1,338 @@
|
||||
/*
|
||||
* ddkmapi.h
|
||||
*
|
||||
* DirectDraw support for DxApi function
|
||||
*
|
||||
* This file is part of the MinGW 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
|
||||
* DISCLAMED. 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
#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;
|
||||
union {
|
||||
DWORD dwRBitMask;
|
||||
DWORD dwYBitMask;
|
||||
};
|
||||
union {
|
||||
DWORD dwGBitMask;
|
||||
DWORD dwUBitMask;
|
||||
};
|
||||
union {
|
||||
DWORD dwBBitMask;
|
||||
DWORD dwVBitMask;
|
||||
};
|
||||
} 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;
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __DDKMAPI_H */
|
151
winsup/w32api/include/ddk/hidclass.h
Normal file
151
winsup/w32api/include/ddk/hidclass.h
Normal file
@ -0,0 +1,151 @@
|
||||
/*
|
||||
* hidclass.h
|
||||
*
|
||||
* HID class driver interface
|
||||
*
|
||||
* This file is part of the MinGW 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
|
||||
* DISCLAMED. 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
#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 {
|
||||
#if 0
|
||||
/* FIXME: COM stuff */
|
||||
#ifdef __cplusplus
|
||||
INTERFACE i;
|
||||
#else
|
||||
INTERFACE;
|
||||
#endif
|
||||
#endif
|
||||
PHIDP_GETCAPS HidpGetCaps;
|
||||
} HID_INTERFACE_HIDPARSE, *PHID_INTERFACE_HIDPARSE;
|
||||
|
||||
typedef struct _HID_INTERFACE_NOTIFY_PNP {
|
||||
#if 0
|
||||
/* FIXME: COM stuff */
|
||||
#ifdef __cplusplus
|
||||
INTERFACE i;
|
||||
#else
|
||||
INTERFACE;
|
||||
#endif
|
||||
#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;
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __HIDCLASS_H */
|
608
winsup/w32api/include/ddk/hidpi.h
Normal file
608
winsup/w32api/include/ddk/hidpi.h
Normal file
@ -0,0 +1,608 @@
|
||||
/*
|
||||
* hidpi.h
|
||||
*
|
||||
* Public Interface for HID parsing library.
|
||||
*
|
||||
* This file is part of the MinGW 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
|
||||
* DISCLAMED. 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
#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 {
|
||||
union {
|
||||
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;
|
||||
};
|
||||
ULONG ul;
|
||||
};
|
||||
} 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];
|
||||
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;
|
||||
};
|
||||
} 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;
|
||||
union {
|
||||
ULONG RawValue;
|
||||
BOOLEAN On;
|
||||
};
|
||||
} 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;
|
||||
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;
|
||||
};
|
||||
} 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);
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __HIDPI_H */
|
214
winsup/w32api/include/ddk/hidusage.h
Normal file
214
winsup/w32api/include/ddk/hidusage.h
Normal file
@ -0,0 +1,214 @@
|
||||
/*
|
||||
* hidusage.h
|
||||
*
|
||||
* HID usages
|
||||
*
|
||||
* This file is part of the MinGW 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
|
||||
* DISCLAMED. 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
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)
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __HIDUSAGE_H */
|
147
winsup/w32api/include/ddk/mcd.h
Normal file
147
winsup/w32api/include/ddk/mcd.h
Normal file
@ -0,0 +1,147 @@
|
||||
/*
|
||||
* mcd.h
|
||||
*
|
||||
* Media changer driver interface
|
||||
*
|
||||
* This file is part of the MinGW 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
|
||||
* DISCLAMED. 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
#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
|
||||
|
||||
#if 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);
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __MCD_H */
|
78
winsup/w32api/include/ddk/miniport.h
Normal file
78
winsup/w32api/include/ddk/miniport.h
Normal file
@ -0,0 +1,78 @@
|
||||
/*
|
||||
* miniport.h
|
||||
*
|
||||
* Type definitions for miniport drivers
|
||||
*
|
||||
* This file is part of the MinGW 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
|
||||
* DISCLAMED. 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
#include "ntddk.h"
|
||||
|
||||
|
||||
#define EMULATOR_READ_ACCESS 0x01
|
||||
#define EMULATOR_WRITE_ACCESS 0x02
|
||||
|
||||
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;
|
||||
|
||||
typedef enum _EMULATOR_PORT_ACCESS_TYPE {
|
||||
Uchar,
|
||||
Ushort,
|
||||
Ulong
|
||||
} EMULATOR_PORT_ACCESS_TYPE, *PEMULATOR_PORT_ACCESS_TYPE;
|
||||
|
||||
typedef struct _VIDEO_ACCESS_RANGE {
|
||||
PHYSICAL_ADDRESS RangeStart;
|
||||
ULONG RangeLength;
|
||||
UCHAR RangeInIoSpace;
|
||||
UCHAR RangeVisible;
|
||||
UCHAR RangeShareable;
|
||||
UCHAR RangePassive;
|
||||
} VIDEO_ACCESS_RANGE, *PVIDEO_ACCESS_RANGE;
|
||||
|
||||
typedef VOID DDKAPI
|
||||
(*PBANKED_SECTION_ROUTINE)(
|
||||
IN ULONG ReadBank,
|
||||
IN ULONG WriteBank,
|
||||
IN PVOID Context);
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __MINIPORT_H */
|
221
winsup/w32api/include/ddk/minitape.h
Normal file
221
winsup/w32api/include/ddk/minitape.h
Normal file
@ -0,0 +1,221 @@
|
||||
/*
|
||||
* minitape.h
|
||||
*
|
||||
* Minitape driver interface
|
||||
*
|
||||
* This file is part of the MinGW 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
|
||||
* DISCLAMED. 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
|
||||
|
||||
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;
|
||||
|
||||
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 */
|
84
winsup/w32api/include/ddk/mountdev.h
Normal file
84
winsup/w32api/include/ddk/mountdev.h
Normal file
@ -0,0 +1,84 @@
|
||||
/*
|
||||
* mountdev.h
|
||||
*
|
||||
* Mount point manager/mounted devices interface.
|
||||
*
|
||||
* This file is part of the MinGW 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
|
||||
* DISCLAMED. 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
#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;
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __MOUNTDEV_H */
|
144
winsup/w32api/include/ddk/mountmgr.h
Normal file
144
winsup/w32api/include/ddk/mountmgr.h
Normal file
@ -0,0 +1,144 @@
|
||||
/*
|
||||
* mountmgr.h
|
||||
*
|
||||
* Mount point manager interface.
|
||||
*
|
||||
* This file is part of the MinGW 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
|
||||
* DISCLAMED. 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
#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;
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __MOUNTMGR_H */
|
5189
winsup/w32api/include/ddk/ndis.h
Normal file
5189
winsup/w32api/include/ddk/ndis.h
Normal file
File diff suppressed because it is too large
Load Diff
443
winsup/w32api/include/ddk/ndisguid.h
Normal file
443
winsup/w32api/include/ddk/ndisguid.h
Normal file
@ -0,0 +1,443 @@
|
||||
/*
|
||||
* ndisguid.h
|
||||
*
|
||||
* GUIDs for NDIS drivers
|
||||
*
|
||||
* This file is part of the MinGW 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
|
||||
* DISCLAMED. 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
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);
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __NDISGUID_H */
|
1312
winsup/w32api/include/ddk/ndistapi.h
Normal file
1312
winsup/w32api/include/ddk/ndistapi.h
Normal file
File diff suppressed because it is too large
Load Diff
255
winsup/w32api/include/ddk/ndiswan.h
Normal file
255
winsup/w32api/include/ddk/ndiswan.h
Normal file
@ -0,0 +1,255 @@
|
||||
/*
|
||||
* ndiswan.h
|
||||
*
|
||||
* Definitions for NDIS WAN miniport drivers
|
||||
*
|
||||
* This file is part of the MinGW 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
|
||||
* DISCLAMED. 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
#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;
|
||||
union {
|
||||
struct {
|
||||
UCHAR CompOUI[3];
|
||||
UCHAR CompSubType;
|
||||
UCHAR CompValues[32];
|
||||
} Proprietary;
|
||||
struct {
|
||||
UCHAR CompValues[32];
|
||||
} Public;
|
||||
};
|
||||
} 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;
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __NDISWAN_H */
|
42
winsup/w32api/include/ddk/netevent.h
Normal file
42
winsup/w32api/include/ddk/netevent.h
Normal file
@ -0,0 +1,42 @@
|
||||
/*
|
||||
* netevent.h
|
||||
*
|
||||
* Network events
|
||||
*
|
||||
* This file is part of the MinGW 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
|
||||
* DISCLAMED. 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 */
|
73
winsup/w32api/include/ddk/netpnp.h
Normal file
73
winsup/w32api/include/ddk/netpnp.h
Normal file
@ -0,0 +1,73 @@
|
||||
/*
|
||||
* netpnp.h
|
||||
*
|
||||
* Network Plug and Play event support
|
||||
*
|
||||
* This file is part of the MinGW 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
|
||||
* DISCLAMED. 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
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;
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __NETPNP_H */
|
70
winsup/w32api/include/ddk/newdev.h
Normal file
70
winsup/w32api/include/ddk/newdev.h
Normal file
@ -0,0 +1,70 @@
|
||||
/*
|
||||
* newdev.h
|
||||
*
|
||||
* Driver installation DLL interface
|
||||
*
|
||||
* This file is part of the MinGW 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
|
||||
* DISCLAMED. 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
/* 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 */
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __NEWDEV_H */
|
3007
winsup/w32api/include/ddk/ntapi.h
Normal file
3007
winsup/w32api/include/ddk/ntapi.h
Normal file
File diff suppressed because it is too large
Load Diff
218
winsup/w32api/include/ddk/ntdd8042.h
Normal file
218
winsup/w32api/include/ddk/ntdd8042.h
Normal file
@ -0,0 +1,218 @@
|
||||
/*
|
||||
* ntdd8042.h
|
||||
*
|
||||
* i8042 IOCTL interface.
|
||||
*
|
||||
* This file is part of the MinGW 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
|
||||
* DISCLAMED. 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
#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;
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __NTDD8042_H */
|
59
winsup/w32api/include/ddk/ntddbeep.h
Normal file
59
winsup/w32api/include/ddk/ntddbeep.h
Normal file
@ -0,0 +1,59 @@
|
||||
/*
|
||||
* ntddbeep.h
|
||||
*
|
||||
* Beep device IOCTL interface
|
||||
*
|
||||
* This file is part of the MinGW 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
|
||||
* DISCLAMED. 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
#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
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __NTDDBEEP_H */
|
352
winsup/w32api/include/ddk/ntddcdrm.h
Normal file
352
winsup/w32api/include/ddk/ntddcdrm.h
Normal file
@ -0,0 +1,352 @@
|
||||
/*
|
||||
* ntddcdrm.h
|
||||
*
|
||||
* CDROM IOCTL interface.
|
||||
*
|
||||
* This file is part of the MinGW 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
|
||||
* DISCLAMED. 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
#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;
|
||||
union {
|
||||
UCHAR Text[12];
|
||||
WCHAR WText[6];
|
||||
};
|
||||
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;
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __NTDDCDRM_H */
|
214
winsup/w32api/include/ddk/ntddcdvd.h
Normal file
214
winsup/w32api/include/ddk/ntddcdvd.h
Normal file
@ -0,0 +1,214 @@
|
||||
/*
|
||||
* ntddcdvd.h
|
||||
*
|
||||
* DVD IOCTL interface.
|
||||
*
|
||||
* This file is part of the MinGW 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
|
||||
* DISCLAMED. 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
#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;
|
||||
|
||||
typedef struct DVD_READ_STRUCTURE {
|
||||
LARGE_INTEGER BlockByteOffset;
|
||||
DVD_STRUCTURE_FORMAT Format;
|
||||
DVD_SESSION_ID SessionId;
|
||||
UCHAR LayerNumber;
|
||||
} DVD_READ_STRUCTURE, *PDVD_READ_STRUCTURE;
|
||||
|
||||
typedef struct _DVD_DESCRIPTOR_HEADER {
|
||||
USHORT Length;
|
||||
UCHAR Reserved[2];
|
||||
UCHAR Data[0];
|
||||
} DVD_DESCRIPTOR_HEADER, *PDVD_DESCRIPTOR_HEADER;
|
||||
|
||||
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;
|
||||
|
||||
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;
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __NTDDCDVD_H */
|
358
winsup/w32api/include/ddk/ntddchgr.h
Normal file
358
winsup/w32api/include/ddk/ntddchgr.h
Normal file
@ -0,0 +1,358 @@
|
||||
/*
|
||||
* ntddchgr.h
|
||||
*
|
||||
* Media changer IOCTL interface.
|
||||
*
|
||||
* This file is part of the MinGW 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
|
||||
* DISCLAMED. 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
#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;
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __NTDDCHGR_H */
|
522
winsup/w32api/include/ddk/ntdddisk.h
Normal file
522
winsup/w32api/include/ddk/ntdddisk.h
Normal file
@ -0,0 +1,522 @@
|
||||
/*
|
||||
* ntdddisk.h
|
||||
*
|
||||
* Disk IOCTL interface.
|
||||
*
|
||||
* This file is part of the MinGW 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
|
||||
* DISCLAMED. 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
#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;
|
||||
union {
|
||||
struct {
|
||||
DISK_INT13_INFO Int13;
|
||||
DISK_EX_INT13_INFO ExInt13;
|
||||
};
|
||||
};
|
||||
} 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;
|
||||
union {
|
||||
struct {
|
||||
ULONG Signature;
|
||||
ULONG CheckSum;
|
||||
} Mbr;
|
||||
struct {
|
||||
GUID DiskId;
|
||||
} Gpt;
|
||||
};
|
||||
} 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;
|
||||
union {
|
||||
PARTITION_INFORMATION_MBR Mbr;
|
||||
PARTITION_INFORMATION_GPT Gpt;
|
||||
};
|
||||
} 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;
|
||||
union {
|
||||
SET_PARTITION_INFORMATION_MBR Mbr;
|
||||
SET_PARTITION_INFORMATION_GPT Gpt;
|
||||
};
|
||||
} 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;
|
||||
union {
|
||||
struct {
|
||||
USHORT Minimum;
|
||||
USHORT Maximum;
|
||||
USHORT MaximumBlocks;
|
||||
} ScalarPrefetch;
|
||||
struct {
|
||||
USHORT Minimum;
|
||||
USHORT Maximum;
|
||||
} BlockPrefetch;
|
||||
};
|
||||
} 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;
|
||||
|
||||
typedef struct _SENDCMDINPARAMS {
|
||||
ULONG cBufferSize;
|
||||
IDEREGS irDriveRegs;
|
||||
UCHAR bDriveNumber;
|
||||
UCHAR bReserved[3];
|
||||
ULONG dwReserved[4];
|
||||
UCHAR bBuffer[1];
|
||||
} SENDCMDINPARAMS, *PSENDCMDINPARAMS, *LPSENDCMDINPARAMS;
|
||||
|
||||
/* 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
|
||||
|
||||
typedef struct _SENDCMDOUTPARAMS {
|
||||
ULONG cBufferSize;
|
||||
DRIVERSTATUS DriverStatus;
|
||||
UCHAR bBuffer[1];
|
||||
} SENDCMDOUTPARAMS, *PSENDCMDOUTPARAMS, *LPSENDCMDOUTPARAMS;
|
||||
|
||||
#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
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __NTDDDISK_H */
|
90
winsup/w32api/include/ddk/ntddk.h
Normal file
90
winsup/w32api/include/ddk/ntddk.h
Normal file
@ -0,0 +1,90 @@
|
||||
/*
|
||||
* ntddk.h
|
||||
*
|
||||
* Windows Device Driver Kit
|
||||
*
|
||||
* This file is part of the MinGW 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
|
||||
* DISCLAMED. 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
|
||||
*/
|
||||
|
||||
#ifndef __NTDDK_H
|
||||
#define __NTDDK_H
|
||||
|
||||
#if __GNUC__ >=3
|
||||
#pragma GCC system_header
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
#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 __attribute__((dllimport))
|
||||
#endif
|
||||
|
||||
#ifndef DECL_EXPORT
|
||||
#define DECL_EXPORT __attribute__((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"
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __NTDDK_H */
|
140
winsup/w32api/include/ddk/ntddkbd.h
Normal file
140
winsup/w32api/include/ddk/ntddkbd.h
Normal file
@ -0,0 +1,140 @@
|
||||
/*
|
||||
* ntddkbd.h
|
||||
*
|
||||
* Keyboard IOCTL interface
|
||||
*
|
||||
* This file is part of the MinGW 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
|
||||
* DISCLAMED. 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
#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;
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __NTDDKBD_H */
|
120
winsup/w32api/include/ddk/ntddmou.h
Normal file
120
winsup/w32api/include/ddk/ntddmou.h
Normal file
@ -0,0 +1,120 @@
|
||||
/*
|
||||
* ntddmou.h
|
||||
*
|
||||
* Mouse device IOCTL interface.
|
||||
*
|
||||
* This file is part of the MinGW 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
|
||||
* DISCLAMED. 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
#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;
|
||||
union {
|
||||
ULONG Buttons;
|
||||
struct {
|
||||
USHORT ButtonFlags;
|
||||
USHORT ButtonData;
|
||||
};
|
||||
};
|
||||
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;
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __NTDDMOU_H */
|
188
winsup/w32api/include/ddk/ntddndis.h
Normal file
188
winsup/w32api/include/ddk/ntddndis.h
Normal file
@ -0,0 +1,188 @@
|
||||
/*
|
||||
* ntddndis.h
|
||||
*
|
||||
* NDIS device driver interface
|
||||
*
|
||||
* This file is part of the MinGW 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
|
||||
* DISCLAMED. 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 */
|
124
winsup/w32api/include/ddk/ntddpar.h
Normal file
124
winsup/w32api/include/ddk/ntddpar.h
Normal file
@ -0,0 +1,124 @@
|
||||
/*
|
||||
* ntddpar.h
|
||||
*
|
||||
* Parallel port driver interface
|
||||
*
|
||||
* This file is part of the MinGW 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
|
||||
* DISCLAMED. 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
#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
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __NTDDPAR_H */
|
170
winsup/w32api/include/ddk/ntddpcm.h
Normal file
170
winsup/w32api/include/ddk/ntddpcm.h
Normal file
@ -0,0 +1,170 @@
|
||||
/*
|
||||
* ntddpcm.h
|
||||
*
|
||||
* PCMCIA IOCTL interface
|
||||
*
|
||||
* This file is part of the MinGW 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
|
||||
* DISCLAMED. 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
#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;
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __NTDDPCM_H */
|
176
winsup/w32api/include/ddk/ntddscsi.h
Normal file
176
winsup/w32api/include/ddk/ntddscsi.h
Normal file
@ -0,0 +1,176 @@
|
||||
/*
|
||||
* ntddscsi.h
|
||||
*
|
||||
* SCSI port IOCTL interface.
|
||||
*
|
||||
* This file is part of the MinGW 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
|
||||
* DISCLAMED. 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
#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;
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __NTDDSCSI_H */
|
454
winsup/w32api/include/ddk/ntddser.h
Normal file
454
winsup/w32api/include/ddk/ntddser.h
Normal file
@ -0,0 +1,454 @@
|
||||
/*
|
||||
* ntddser.h
|
||||
*
|
||||
* Serial port driver interface
|
||||
*
|
||||
* This file is part of the MinGW 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
|
||||
* DISCLAMED. 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
#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;
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __NTDDSER_H */
|
338
winsup/w32api/include/ddk/ntddstor.h
Normal file
338
winsup/w32api/include/ddk/ntddstor.h
Normal file
@ -0,0 +1,338 @@
|
||||
/*
|
||||
* ntddstor.h
|
||||
*
|
||||
* Storage class IOCTL interface.
|
||||
*
|
||||
* This file is part of the MinGW 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
|
||||
* DISCLAMED. 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
#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;
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __NTDDSTOR_H */
|
84
winsup/w32api/include/ddk/ntddtape.h
Normal file
84
winsup/w32api/include/ddk/ntddtape.h
Normal file
@ -0,0 +1,84 @@
|
||||
/*
|
||||
* ntddtape.h
|
||||
*
|
||||
* Tape device IOCTL interface.
|
||||
*
|
||||
* This file is part of the MinGW 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
|
||||
* DISCLAMED. 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
#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;
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __NTDDTAPE_H */
|
66
winsup/w32api/include/ddk/ntddtdi.h
Normal file
66
winsup/w32api/include/ddk/ntddtdi.h
Normal file
@ -0,0 +1,66 @@
|
||||
/*
|
||||
* ntddtdi.h
|
||||
*
|
||||
* TDI IOCTL interface
|
||||
*
|
||||
* This file is part of the MinGW 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
|
||||
* DISCLAMED. 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
#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)
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __NTDDTDI_H */
|
444
winsup/w32api/include/ddk/ntddvdeo.h
Normal file
444
winsup/w32api/include/ddk/ntddvdeo.h
Normal file
@ -0,0 +1,444 @@
|
||||
/*
|
||||
* ntddvdeo.h
|
||||
*
|
||||
* Definitions for video devices
|
||||
*
|
||||
* This file is part of the MinGW 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
|
||||
* DISCLAMED. 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
#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
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __NTDDVDEO_H */
|
146
winsup/w32api/include/ddk/ntddvol.h
Normal file
146
winsup/w32api/include/ddk/ntddvol.h
Normal file
@ -0,0 +1,146 @@
|
||||
/*
|
||||
* ntddvol.h
|
||||
*
|
||||
* Volume IOCTL interface.
|
||||
*
|
||||
* This file is part of the MinGW 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
|
||||
* DISCLAMED. 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
#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;
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __NTDDVOL_H */
|
4684
winsup/w32api/include/ddk/ntifs.h
Normal file
4684
winsup/w32api/include/ddk/ntifs.h
Normal file
File diff suppressed because it is too large
Load Diff
425
winsup/w32api/include/ddk/ntpoapi.h
Normal file
425
winsup/w32api/include/ddk/ntpoapi.h
Normal file
@ -0,0 +1,425 @@
|
||||
/*
|
||||
* ntpoapi.h
|
||||
*
|
||||
* APIs for power management.
|
||||
*
|
||||
* This file is part of the MinGW 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
|
||||
* DISCLAMED. 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
#include "ntddk.h"
|
||||
#include "batclass.h"
|
||||
|
||||
|
||||
#define ES_SYSTEM_REQUIRED 0x00000001
|
||||
#define ES_DISPLAY_REQUIRED 0x00000002
|
||||
#define ES_USER_PRESENT 0x00000004
|
||||
#define ES_CONTINUOUS 0x80000000
|
||||
|
||||
typedef enum _LATENCY_TIME {
|
||||
LT_DONT_CARE,
|
||||
LT_LOWEST_LATENCY
|
||||
} LATENCY_TIME, *PLATENCY_TIME;
|
||||
|
||||
#define POWER_SYSTEM_MAXIMUM PowerSystemMaximum
|
||||
|
||||
typedef enum _POWER_INFORMATION_LEVEL {
|
||||
SystemPowerPolicyAc,
|
||||
SystemPowerPolicyDc,
|
||||
VerifySystemPolicyAc,
|
||||
VerifySystemPolicyDc,
|
||||
SystemPowerCapabilities,
|
||||
SystemBatteryState,
|
||||
SystemPowerStateHandler,
|
||||
ProcessorStateHandler,
|
||||
SystemPowerPolicyCurrent,
|
||||
AdministratorPowerPolicy,
|
||||
SystemReserveHiberFile,
|
||||
ProcessorInformation,
|
||||
SystemPowerInformation,
|
||||
ProcessorStateHandler2,
|
||||
LastWakeTime,
|
||||
LastSleepTime,
|
||||
SystemExecutionState,
|
||||
SystemPowerStateNotifyHandler,
|
||||
ProcessorPowerPolicyAc,
|
||||
ProcessorPowerPolicyDc,
|
||||
VerifyProcessorPowerPolicyAc,
|
||||
VerifyProcessorPowerPolicyDc,
|
||||
ProcessorPowerPolicyCurrent
|
||||
} POWER_INFORMATION_LEVEL;
|
||||
|
||||
#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;
|
||||
|
||||
/* POWER_ACTION_POLICY.Flags constants */
|
||||
#define POWER_ACTION_QUERY_ALLOWED 0x00000001
|
||||
#define POWER_ACTION_UI_ALLOWED 0x00000002
|
||||
#define POWER_ACTION_OVERRIDE_APPS 0x00000004
|
||||
#define POWER_ACTION_LIGHTEST_FIRST 0x10000000
|
||||
#define POWER_ACTION_LOCK_CONSOLE 0x20000000
|
||||
#define POWER_ACTION_DISABLE_WAKES 0x40000000
|
||||
#define POWER_ACTION_CRITICAL 0x80000000
|
||||
|
||||
/* POWER_ACTION_POLICY.EventCode constants */
|
||||
#define POWER_LEVEL_USER_NOTIFY_TEXT 0x00000001
|
||||
#define POWER_LEVEL_USER_NOTIFY_SOUND 0x00000002
|
||||
#define POWER_LEVEL_USER_NOTIFY_EXEC 0x00000004
|
||||
#define POWER_USER_NOTIFY_BUTTON 0x00000008
|
||||
#define POWER_USER_NOTIFY_SHUTDOWN 0x00000010
|
||||
#define POWER_FORCE_TRIGGER_RESET 0x80000000
|
||||
|
||||
typedef struct _POWER_ACTION_POLICY {
|
||||
POWER_ACTION Action;
|
||||
ULONG Flags;
|
||||
ULONG EventCode;
|
||||
} POWER_ACTION_POLICY, *PPOWER_ACTION_POLICY;
|
||||
|
||||
typedef struct _SYSTEM_POWER_LEVEL {
|
||||
BOOLEAN Enable;
|
||||
UCHAR Spare[3];
|
||||
ULONG BatteryLevel;
|
||||
POWER_ACTION_POLICY PowerPolicy;
|
||||
SYSTEM_POWER_STATE MinSystemState;
|
||||
} SYSTEM_POWER_LEVEL, *PSYSTEM_POWER_LEVEL;
|
||||
|
||||
#define DISCHARGE_POLICY_CRITICAL 0
|
||||
#define DISCHARGE_POLICY_LOW 1
|
||||
#define NUM_DISCHARGE_POLICIES 4
|
||||
|
||||
#define PO_THROTTLE_NONE 0
|
||||
#define PO_THROTTLE_CONSTANT 1
|
||||
#define PO_THROTTLE_DEGRADE 2
|
||||
#define PO_THROTTLE_ADAPTIVE 3
|
||||
#define PO_THROTTLE_MAXIMUM 4
|
||||
|
||||
typedef struct _SYSTEM_POWER_POLICY {
|
||||
ULONG Revision;
|
||||
POWER_ACTION_POLICY PowerButton;
|
||||
POWER_ACTION_POLICY SleepButton;
|
||||
POWER_ACTION_POLICY LidClose;
|
||||
SYSTEM_POWER_STATE LidOpenWake;
|
||||
ULONG Reserved;
|
||||
POWER_ACTION_POLICY Idle;
|
||||
ULONG IdleTimeout;
|
||||
UCHAR IdleSensitivity;
|
||||
UCHAR DynamicThrottle;
|
||||
UCHAR Spare2[2];
|
||||
SYSTEM_POWER_STATE MinSleep;
|
||||
SYSTEM_POWER_STATE MaxSleep;
|
||||
SYSTEM_POWER_STATE ReducedLatencySleep;
|
||||
ULONG WinLogonFlags;
|
||||
ULONG Spare3;
|
||||
ULONG DozeS4Timeout;
|
||||
ULONG BroadcastCapacityResolution;
|
||||
SYSTEM_POWER_LEVEL DischargePolicy[NUM_DISCHARGE_POLICIES];
|
||||
ULONG VideoTimeout;
|
||||
BOOLEAN VideoDimDisplay;
|
||||
ULONG VideoReserved[3];
|
||||
ULONG SpindownTimeout;
|
||||
BOOLEAN OptimizeForPower;
|
||||
UCHAR FanThrottleTolerance;
|
||||
UCHAR ForcedThrottle;
|
||||
UCHAR MinThrottle;
|
||||
POWER_ACTION_POLICY OverThrottled;
|
||||
} SYSTEM_POWER_POLICY, *PSYSTEM_POWER_POLICY;
|
||||
|
||||
typedef struct _PROCESSOR_POWER_POLICY_INFO {
|
||||
ULONG TimeCheck;
|
||||
ULONG DemoteLimit;
|
||||
ULONG PromoteLimit;
|
||||
UCHAR DemotePercent;
|
||||
UCHAR PromotePercent;
|
||||
UCHAR Spare[2];
|
||||
ULONG AllowDemotion : 1;
|
||||
ULONG AllowPromotion : 1;
|
||||
ULONG Reserved : 30;
|
||||
} PROCESSOR_POWER_POLICY_INFO, *PPROCESSOR_POWER_POLICY_INFO;
|
||||
|
||||
typedef struct _PROCESSOR_POWER_POLICY {
|
||||
ULONG Revision;
|
||||
UCHAR DynamicThrottle;
|
||||
UCHAR Spare[3];
|
||||
ULONG Reserved;
|
||||
ULONG PolicyCount;
|
||||
PROCESSOR_POWER_POLICY_INFO Policy[3];
|
||||
} PROCESSOR_POWER_POLICY, *PPROCESSOR_POWER_POLICY;
|
||||
|
||||
typedef struct _ADMINISTRATOR_POWER_POLICY {
|
||||
SYSTEM_POWER_STATE MinSleep;
|
||||
SYSTEM_POWER_STATE MaxSleep;
|
||||
ULONG MinVideoTimeout;
|
||||
ULONG MaxVideoTimeout;
|
||||
ULONG MinSpindownTimeout;
|
||||
ULONG MaxSpindownTimeout;
|
||||
} ADMINISTRATOR_POWER_POLICY, *PADMINISTRATOR_POWER_POLICY;
|
||||
|
||||
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 _SYSTEM_POWER_INFORMATION {
|
||||
ULONG MaxIdlenessAllowed;
|
||||
ULONG Idleness;
|
||||
ULONG TimeRemaining;
|
||||
UCHAR CoolingMode;
|
||||
} SYSTEM_POWER_INFORMATION, *PSYSTEM_POWER_INFORMATION;
|
||||
|
||||
typedef struct _PROCESSOR_POWER_INFORMATION {
|
||||
ULONG Number;
|
||||
ULONG MaxMhz;
|
||||
ULONG CurrentMhz;
|
||||
ULONG MhzLimit;
|
||||
ULONG MaxIdleState;
|
||||
ULONG CurrentIdleState;
|
||||
} PROCESSOR_POWER_INFORMATION, *PPROCESSOR_POWER_INFORMATION;
|
||||
|
||||
typedef struct _SYSTEM_BATTERY_STATE {
|
||||
BOOLEAN AcOnLine;
|
||||
BOOLEAN BatteryPresent;
|
||||
BOOLEAN Charging;
|
||||
BOOLEAN Discharging;
|
||||
BOOLEAN Spare1[4];
|
||||
ULONG MaxCapacity;
|
||||
ULONG RemainingCapacity;
|
||||
ULONG Rate;
|
||||
ULONG EstimatedTime;
|
||||
ULONG DefaultAlert1;
|
||||
ULONG DefaultAlert2;
|
||||
} SYSTEM_BATTERY_STATE, *PSYSTEM_BATTERY_STATE;
|
||||
|
||||
typedef struct _SYSTEM_POWER_CAPABILITIES {
|
||||
BOOLEAN PowerButtonPresent;
|
||||
BOOLEAN SleepButtonPresent;
|
||||
BOOLEAN LidPresent;
|
||||
BOOLEAN SystemS1;
|
||||
BOOLEAN SystemS2;
|
||||
BOOLEAN SystemS3;
|
||||
BOOLEAN SystemS4;
|
||||
BOOLEAN SystemS5;
|
||||
BOOLEAN HiberFilePresent;
|
||||
BOOLEAN FullWake;
|
||||
BOOLEAN VideoDimPresent;
|
||||
BOOLEAN ApmPresent;
|
||||
BOOLEAN UpsPresent;
|
||||
BOOLEAN ThermalControl;
|
||||
BOOLEAN ProcessorThrottle;
|
||||
UCHAR ProcessorMinThrottle;
|
||||
UCHAR ProcessorMaxThrottle;
|
||||
UCHAR spare2[4];
|
||||
BOOLEAN DiskSpinDown;
|
||||
UCHAR spare3[8];
|
||||
BOOLEAN SystemBatteriesPresent;
|
||||
BOOLEAN BatteriesAreShortTerm;
|
||||
BATTERY_REPORTING_SCALE BatteryScale[3];
|
||||
SYSTEM_POWER_STATE AcOnLineWake;
|
||||
SYSTEM_POWER_STATE SoftLidWake;
|
||||
SYSTEM_POWER_STATE RtcWake;
|
||||
SYSTEM_POWER_STATE MinDeviceWakeState;
|
||||
SYSTEM_POWER_STATE DefaultLowLatencyWake;
|
||||
} SYSTEM_POWER_CAPABILITIES, *PSYSTEM_POWER_CAPABILITIES;
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __NTPOAPI_H */
|
1105
winsup/w32api/include/ddk/ntstatus.h
Normal file
1105
winsup/w32api/include/ddk/ntstatus.h
Normal file
File diff suppressed because it is too large
Load Diff
282
winsup/w32api/include/ddk/parallel.h
Normal file
282
winsup/w32api/include/ddk/parallel.h
Normal file
@ -0,0 +1,282 @@
|
||||
/*
|
||||
* parallel.h
|
||||
*
|
||||
* ParPort driver interface
|
||||
*
|
||||
* This file is part of the MinGW 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
|
||||
* DISCLAMED. 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
#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;
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __PARALLEL_H */
|
81
winsup/w32api/include/ddk/pfhook.h
Normal file
81
winsup/w32api/include/ddk/pfhook.h
Normal file
@ -0,0 +1,81 @@
|
||||
/*
|
||||
* pfhook.h
|
||||
*
|
||||
* Packet filter API
|
||||
*
|
||||
* This file is part of the MinGW 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
|
||||
* DISCLAMED. 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
#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)
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __PFHOOK_H */
|
123
winsup/w32api/include/ddk/poclass.h
Normal file
123
winsup/w32api/include/ddk/poclass.h
Normal file
@ -0,0 +1,123 @@
|
||||
/*
|
||||
* poclass.h
|
||||
*
|
||||
* Power policy driver interface
|
||||
*
|
||||
* This file is part of the MinGW 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
|
||||
* DISCLAMED. 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
#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;
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __POCLASS_H */
|
1689
winsup/w32api/include/ddk/scsi.h
Normal file
1689
winsup/w32api/include/ddk/scsi.h
Normal file
File diff suppressed because it is too large
Load Diff
135
winsup/w32api/include/ddk/scsiscan.h
Normal file
135
winsup/w32api/include/ddk/scsiscan.h
Normal file
@ -0,0 +1,135 @@
|
||||
/*
|
||||
* scsiscan.h
|
||||
*
|
||||
* SCSI scanner driver interface
|
||||
*
|
||||
* This file is part of the MinGW 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
|
||||
* DISCLAMED. 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
#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;
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __SCSISCAN_H */
|
196
winsup/w32api/include/ddk/scsiwmi.h
Normal file
196
winsup/w32api/include/ddk/scsiwmi.h
Normal file
@ -0,0 +1,196 @@
|
||||
/*
|
||||
* scsiwmi.h
|
||||
*
|
||||
* SCSI WMILIB interface.
|
||||
*
|
||||
* This file is part of the MinGW 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
|
||||
* DISCLAMED. 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;
|
||||
|
||||
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 */
|
194
winsup/w32api/include/ddk/smbus.h
Normal file
194
winsup/w32api/include/ddk/smbus.h
Normal file
@ -0,0 +1,194 @@
|
||||
/*
|
||||
* smbus.h
|
||||
*
|
||||
* System Management Bus driver interface
|
||||
*
|
||||
* This file is part of the MinGW 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
|
||||
* DISCLAMED. 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
#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);
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __SMBUS_H */
|
754
winsup/w32api/include/ddk/srb.h
Normal file
754
winsup/w32api/include/ddk/srb.h
Normal file
@ -0,0 +1,754 @@
|
||||
/*
|
||||
* scsi.h
|
||||
*
|
||||
* Interface between SCSI miniport drivers and the SCSI port driver.
|
||||
*
|
||||
* This file is part of the MinGW 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
|
||||
* DISCLAMED. 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
#include "ntddk.h"
|
||||
|
||||
#if defined(_SCSIPORT_)
|
||||
#define SCSIPORTAPI DECLSPEC_EXPORT
|
||||
#else
|
||||
#define SCSIPORTAPI DECLSPEC_IMPORT
|
||||
#endif
|
||||
|
||||
#if 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
|
||||
|
||||
#if 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;
|
||||
union {
|
||||
ULONG InternalStatus;
|
||||
ULONG QueueSortKey;
|
||||
};
|
||||
#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 TaggedQueueing;
|
||||
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;
|
||||
|
||||
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 TaggedQueueing;
|
||||
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 ...);
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __SRB_H */
|
426
winsup/w32api/include/ddk/storport.h
Normal file
426
winsup/w32api/include/ddk/storport.h
Normal file
@ -0,0 +1,426 @@
|
||||
/*
|
||||
* storport.h
|
||||
*
|
||||
* StorPort interface
|
||||
*
|
||||
* This file is part of the MinGW 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
|
||||
* DISCLAMED. 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
#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);
|
||||
|
||||
#if DBG
|
||||
#define DebugPrint(x) StorPortDebugPrint x
|
||||
#else
|
||||
#define DebugPrint(x)
|
||||
#endif
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __STORPORT_H */
|
597
winsup/w32api/include/ddk/tdi.h
Normal file
597
winsup/w32api/include/ddk/tdi.h
Normal file
@ -0,0 +1,597 @@
|
||||
/*
|
||||
* tdi.h
|
||||
*
|
||||
* TDI user mode definitions
|
||||
*
|
||||
* This file is part of the MinGW 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
|
||||
* DISCLAMED. 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
#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 _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_ADDRESS_INFO {
|
||||
ULONG ActivityCount;
|
||||
TRANSPORT_ADDRESS Address;
|
||||
} TDI_ADDRESS_INFO, *PTDI_ADDRESS_INFO;
|
||||
|
||||
typedef struct _TDI_ACTION_HEADER {
|
||||
ULONG TransportId;
|
||||
USHORT ActionCode;
|
||||
USHORT Reserved;
|
||||
} TDI_ACTION_HEADER, *PTDI_ACTION_HEADER;
|
||||
|
||||
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 _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
|
||||
|
||||
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_ADDRESS_IP, *PTA_ADDRESS_IP;
|
||||
|
||||
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;
|
||||
|
||||
|
||||
/* 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'
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __TDI_H */
|
115
winsup/w32api/include/ddk/tdiinfo.h
Normal file
115
winsup/w32api/include/ddk/tdiinfo.h
Normal file
@ -0,0 +1,115 @@
|
||||
/*
|
||||
* tdiinfo.h
|
||||
*
|
||||
* TDI set and query information interface
|
||||
*
|
||||
* This file is part of the MinGW 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
|
||||
* DISCLAMED. 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
#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;
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __TDIINFO_H */
|
1166
winsup/w32api/include/ddk/tdikrnl.h
Normal file
1166
winsup/w32api/include/ddk/tdikrnl.h
Normal file
File diff suppressed because it is too large
Load Diff
87
winsup/w32api/include/ddk/tdistat.h
Normal file
87
winsup/w32api/include/ddk/tdistat.h
Normal file
@ -0,0 +1,87 @@
|
||||
/*
|
||||
* tdistat.h
|
||||
*
|
||||
* TDI status codes
|
||||
*
|
||||
* This file is part of the MinGW 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
|
||||
* DISCLAMED. 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
#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
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __TDISTAT_H */
|
121
winsup/w32api/include/ddk/tvout.h
Normal file
121
winsup/w32api/include/ddk/tvout.h
Normal file
@ -0,0 +1,121 @@
|
||||
/*
|
||||
* tvout.h
|
||||
*
|
||||
* Definitions for TV-out support
|
||||
*
|
||||
* This file is part of the MinGW 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
|
||||
* DISCLAMED. 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
#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;
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __TVOUT_H */
|
98
winsup/w32api/include/ddk/upssvc.h
Normal file
98
winsup/w32api/include/ddk/upssvc.h
Normal file
@ -0,0 +1,98 @@
|
||||
/*
|
||||
* upssvc.h
|
||||
*
|
||||
* UPS service interface
|
||||
*
|
||||
* This file is part of the MinGW 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
|
||||
* DISCLAMED. 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
#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);
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __UPSSVC_H */
|
473
winsup/w32api/include/ddk/usb.h
Normal file
473
winsup/w32api/include/ddk/usb.h
Normal file
@ -0,0 +1,473 @@
|
||||
/*
|
||||
* usb.h
|
||||
*
|
||||
* USB support.
|
||||
*
|
||||
* This file is part of the MinGW 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
|
||||
* DISCLAMED. 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 __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
#ifdef __USBDI_H
|
||||
#error usbdi.h cannot be included with usb.h
|
||||
#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 {
|
||||
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;
|
||||
|
||||
#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;
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __USB_H */
|
233
winsup/w32api/include/ddk/usb100.h
Normal file
233
winsup/w32api/include/ddk/usb100.h
Normal file
@ -0,0 +1,233 @@
|
||||
/*
|
||||
* usb100.h
|
||||
*
|
||||
* USB 1.0 support
|
||||
*
|
||||
* This file is part of the MinGW 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
|
||||
* DISCLAMED. 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
#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
|
||||
|
||||
typedef struct _USB_CONFIGURATION_DESCRIPTOR {
|
||||
UCHAR bLength;
|
||||
UCHAR bDescriptorType;
|
||||
USHORT wTotalLength;
|
||||
UCHAR bNumInterfaces;
|
||||
UCHAR iConfiguration;
|
||||
UCHAR bmAttributes;
|
||||
UCHAR MaxPower;
|
||||
} USB_CONFIGURATION_DESCRIPTOR, *PUSB_CONFIGURATION_DESCRIPTOR;
|
||||
|
||||
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
|
||||
|
||||
typedef struct _USB_ENDPOINT_DESCRIPTOR {
|
||||
UCHAR bLength;
|
||||
UCHAR bDescriptorType;
|
||||
UCHAR bEndpointAddress;
|
||||
UCHAR bmAttributes;
|
||||
USHORT wMaxPacketSize;
|
||||
UCHAR bInterval;
|
||||
} USB_ENDPOINT_DESCRIPTOR, *PUSB_ENDPOINT_DESCRIPTOR;
|
||||
|
||||
#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;
|
||||
|
||||
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;
|
||||
|
||||
#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
|
||||
|
||||
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;
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __USB100_H */
|
401
winsup/w32api/include/ddk/usbcamdi.h
Normal file
401
winsup/w32api/include/ddk/usbcamdi.h
Normal file
@ -0,0 +1,401 @@
|
||||
/*
|
||||
* usbcamdi.h
|
||||
*
|
||||
* USB Camera driver interface.
|
||||
*
|
||||
* This file is part of the MinGW 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
|
||||
* DISCLAMED. 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
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
#if !defined(__USB_H) && !defined(__USBDI_H)
|
||||
#error include usb.h or usbdi.h before usbcamdi.h
|
||||
#endif
|
||||
|
||||
#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 /* __USBCAMDI_H */
|
410
winsup/w32api/include/ddk/usbdi.h
Normal file
410
winsup/w32api/include/ddk/usbdi.h
Normal file
@ -0,0 +1,410 @@
|
||||
/*
|
||||
* usbdi.h
|
||||
*
|
||||
* USBD and USB device driver definitions
|
||||
*
|
||||
* This file is part of the MinGW 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
|
||||
* DISCLAMED. 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 __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
#ifdef __USB_H
|
||||
#error usb.h cannot be included with usbdi.h
|
||||
#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;
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __USBDI_H */
|
353
winsup/w32api/include/ddk/usbioctl.h
Normal file
353
winsup/w32api/include/ddk/usbioctl.h
Normal file
@ -0,0 +1,353 @@
|
||||
/*
|
||||
* usbioctl.h
|
||||
*
|
||||
* USB IOCTL interface.
|
||||
*
|
||||
* This file is part of the MinGW 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
|
||||
* DISCLAMED. 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
#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;
|
||||
|
||||
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;
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __USBIOCTL_H */
|
111
winsup/w32api/include/ddk/usbiodef.h
Normal file
111
winsup/w32api/include/ddk/usbiodef.h
Normal file
@ -0,0 +1,111 @@
|
||||
/*
|
||||
* usbiodef.h
|
||||
*
|
||||
* USB IOCTL definitions
|
||||
*
|
||||
* This file is part of the MinGW 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
|
||||
* DISCLAMED. 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
#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)
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __USBIODEF_H */
|
163
winsup/w32api/include/ddk/usbscan.h
Normal file
163
winsup/w32api/include/ddk/usbscan.h
Normal file
@ -0,0 +1,163 @@
|
||||
/*
|
||||
* usbscan.h
|
||||
*
|
||||
* USB scanner definitions
|
||||
*
|
||||
* This file is part of the MinGW 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
|
||||
* DISCLAMED. 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
#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;
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __USBSCAN_H */
|
329
winsup/w32api/include/ddk/usbuser.h
Normal file
329
winsup/w32api/include/ddk/usbuser.h
Normal file
@ -0,0 +1,329 @@
|
||||
/*
|
||||
* usbuser.h
|
||||
*
|
||||
* USB user mode IOCTL interface
|
||||
*
|
||||
* This file is part of the MinGW 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
|
||||
* DISCLAMED. 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
#include "ntddk.h"
|
||||
#include "usb.h"
|
||||
#include "usbiodef.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;
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __USBUSER_H */
|
1562
winsup/w32api/include/ddk/video.h
Normal file
1562
winsup/w32api/include/ddk/video.h
Normal file
File diff suppressed because it is too large
Load Diff
131
winsup/w32api/include/ddk/videoagp.h
Normal file
131
winsup/w32api/include/ddk/videoagp.h
Normal file
@ -0,0 +1,131 @@
|
||||
/*
|
||||
* videoagp.h
|
||||
*
|
||||
* Video miniport AGP interface
|
||||
*
|
||||
* This file is part of the MinGW 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
|
||||
* DISCLAMED. 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);
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __VIDEOAGP_H */
|
105
winsup/w32api/include/ddk/win2k.h
Normal file
105
winsup/w32api/include/ddk/win2k.h
Normal file
@ -0,0 +1,105 @@
|
||||
/*
|
||||
* win2k.h
|
||||
*
|
||||
* Definitions only used in Windows 2000 and earlier versions
|
||||
*
|
||||
* This file is part of the MinGW 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
|
||||
* DISCLAMED. 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"
|
||||
|
||||
|
||||
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 */
|
4144
winsup/w32api/include/ddk/winddi.h
Normal file
4144
winsup/w32api/include/ddk/winddi.h
Normal file
File diff suppressed because it is too large
Load Diff
9105
winsup/w32api/include/ddk/winddk.h
Normal file
9105
winsup/w32api/include/ddk/winddk.h
Normal file
File diff suppressed because it is too large
Load Diff
606
winsup/w32api/include/ddk/winnt4.h
Normal file
606
winsup/w32api/include/ddk/winnt4.h
Normal file
@ -0,0 +1,606 @@
|
||||
/*
|
||||
* winnt4.h
|
||||
*
|
||||
* Definitions only used in Windows NT 4.0 and earlier versions
|
||||
*
|
||||
* This file is part of the MinGW 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
|
||||
* DISCLAMED. 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 structures
|
||||
*/
|
||||
|
||||
#ifdef _X86_
|
||||
|
||||
NTOSAPI
|
||||
INTERLOCKED_RESULT
|
||||
DDKFASTAPI
|
||||
Exfi386InterlockedIncrementLong(
|
||||
IN PLONG Addend);
|
||||
|
||||
NTOSAPI
|
||||
INTERLOCKED_RESULT
|
||||
DDKFASTAPI
|
||||
Exfi386InterlockedDecrementLong(
|
||||
IN PLONG Addend);
|
||||
|
||||
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_ */
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __WINNT4_H */
|
38
winsup/w32api/include/ddk/winxp.h
Normal file
38
winsup/w32api/include/ddk/winxp.h
Normal file
@ -0,0 +1,38 @@
|
||||
/*
|
||||
* winxp.h
|
||||
*
|
||||
* Definitions only used in Windows XP and earlier versions
|
||||
*
|
||||
* This file is part of the MinGW 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
|
||||
* DISCLAMED. 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 */
|
250
winsup/w32api/include/ddk/ws2san.h
Normal file
250
winsup/w32api/include/ddk/ws2san.h
Normal file
@ -0,0 +1,250 @@
|
||||
/*
|
||||
* ws2san.h
|
||||
*
|
||||
* WinSock Direct (SAN) support
|
||||
*
|
||||
* This file is part of the MinGW 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
|
||||
* DISCLAMED. 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);
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __WS2SAN_H */
|
241
winsup/w32api/include/ddk/xfilter.h
Normal file
241
winsup/w32api/include/ddk/xfilter.h
Normal file
@ -0,0 +1,241 @@
|
||||
/*
|
||||
* xfilter.h
|
||||
*
|
||||
* Address filtering for NDIS MACs
|
||||
*
|
||||
* This file is part of the MinGW 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
|
||||
* DISCLAMED. 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; \
|
||||
} \
|
||||
}
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __XFILTER_H */
|
195
winsup/w32api/lib/ddk/Makefile.in
Normal file
195
winsup/w32api/lib/ddk/Makefile.in
Normal file
@ -0,0 +1,195 @@
|
||||
# Makefile.in
|
||||
#
|
||||
# This file is part of a free library building Windows NT drivers.
|
||||
#
|
||||
# This library is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
|
||||
# start config section
|
||||
|
||||
SHELL = @SHELL@
|
||||
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
|
||||
host_alias = @host_alias@
|
||||
build_alias = @build_alias@
|
||||
target_alias = @target_alias@
|
||||
prefix = @prefix@
|
||||
includedir:=@includedir@
|
||||
|
||||
program_transform_name = @program_transform_name@
|
||||
exec_prefix = @exec_prefix@
|
||||
libdir:=@libdir@
|
||||
bindir = @bindir@
|
||||
ifeq ($(target_alias),$(host_alias))
|
||||
ifeq ($(build_alias),$(host_alias))
|
||||
tooldir:=$(exec_prefix)
|
||||
else
|
||||
tooldir:=$(exec_prefix)/$(target_alias)
|
||||
endif
|
||||
else
|
||||
tooldir:=$(exec_prefix)/$(target_alias)
|
||||
endif
|
||||
datadir = @datadir@
|
||||
infodir = @infodir@
|
||||
ifneq (,$(findstring cygwin,$(target_alias)))
|
||||
inst_includedir:=$(tooldir)/include/ddk
|
||||
inst_libdir:=$(tooldir)/lib
|
||||
else
|
||||
inst_includedir:=$(includedir)/ddk
|
||||
inst_libdir:=$(libdir)
|
||||
endif
|
||||
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
mkinstalldirs = mkdir -p
|
||||
|
||||
CC = @CC@
|
||||
CC_FOR_TARGET = $(CC)
|
||||
|
||||
DLLTOOL = @DLLTOOL@
|
||||
DLLTOOL_FLAGS = --as=$(AS) -k
|
||||
AS = @AS@
|
||||
AS_FOR_TARGET = $(AS_FOR_TARGET)
|
||||
WINDRES = @WINDRES@
|
||||
|
||||
# Depending on if we build as part of winsup or mingw we need to
|
||||
# add additional include paths in order to get the correct headers
|
||||
# from the C library.
|
||||
BUILDENV = @BUILDENV@
|
||||
|
||||
ifeq ($(BUILDENV), cygwin)
|
||||
# winsup/include
|
||||
# winsup/../newlib/libc/include
|
||||
# winsup/../newlib/libc/sys/cygwin
|
||||
EXTRA_INCLUDES = -I$(srcdir)/../../include -I$(srcdir)/../../../newlib/libc/include -I$(srcdir)/../../../newlib/libc/sys/cygwin
|
||||
endif
|
||||
ifeq ($(BUILDENV), mingw)
|
||||
EXTRA_INCLUDES = -I$(srcdir)/../../mingw/include
|
||||
endif
|
||||
|
||||
INCLUDES = -I$(srcdir)/../include $(EXTRA_INCLUDES)
|
||||
|
||||
CFLAGS = @CFLAGS@
|
||||
ALL_CFLAGS = $(CFLAGS) $(INCLUDES)
|
||||
|
||||
RANLIB = @RANLIB@
|
||||
AR = @AR@
|
||||
LD = @LD@
|
||||
|
||||
# end config section
|
||||
|
||||
# headers
|
||||
|
||||
HEADERS = $(notdir $(wildcard $(srcdir)/../include/*.h))
|
||||
|
||||
# libraries
|
||||
|
||||
DEF_FILES = $(notdir $(wildcard $(srcdir)/*.def))
|
||||
IMPLIBS = $(addprefix lib,$(subst .def,.a,$(DEF_FILES)))
|
||||
LIBS = $(IMPLIBS)
|
||||
|
||||
DISTFILES = Makefile.in $(DEF_FILES)
|
||||
|
||||
.NOTPARALLEL:
|
||||
|
||||
# targets
|
||||
all: $(LIBS)
|
||||
|
||||
TEST_OPTIONS = $(ALL_CFLAGS) -Wall -pedantic -Wsystem-headers -c $(srcdir)/test.c -o test.o
|
||||
.PHONY: test
|
||||
test:
|
||||
@echo "Testing ddk..."
|
||||
@for lang in c c++ objective-c ; do \
|
||||
echo "$$lang..."; \
|
||||
$(CC) -x$$lang $(TEST_OPTIONS) ; \
|
||||
echo "$$lang UNICODE..."; \
|
||||
$(CC) -x$$lang -DUNICODE $(TEST_OPTIONS) ; \
|
||||
done
|
||||
@echo "windres..."
|
||||
@$(WINDRES) --include-dir $(INCDIR) -i $(srcdir)/res.rc -o test.o
|
||||
@echo "windres UNICODE..."
|
||||
@$(WINDRES) --define UNICODE --include-dir $(INCDIR) -i $(srcdir)/res.rc -o test.o
|
||||
@rm -f test.o
|
||||
|
||||
# make rules
|
||||
|
||||
.SUFFIXES: .c .o .def .a
|
||||
|
||||
.c.o:
|
||||
$(CC) -c $(ALL_CFLAGS) -o $@ $<
|
||||
|
||||
lib%.a : %.def %.o
|
||||
$(DLLTOOL) $(DLLTOOL_FLAGS) --output-lib $@ --def $(srcdir)/$*.def
|
||||
$(AR) r $@ $*.o
|
||||
$(RANLIB) $@
|
||||
|
||||
lib%.a: %.def
|
||||
$(DLLTOOL) $(DLLTOOL_FLAGS) --output-lib $@ --def $<
|
||||
|
||||
lib%.a: %.o
|
||||
$(AR) rc $@ $*.o
|
||||
$(RANLIB) $@
|
||||
|
||||
# install headers and libraries in a target specified directory.
|
||||
install: install-libraries install-headers
|
||||
|
||||
install-libraries: all
|
||||
$(mkinstalldirs) $(inst_libdir)
|
||||
for i in $(LIBS); do \
|
||||
$(INSTALL_DATA) $$i $(inst_libdir)/$$i ; \
|
||||
done
|
||||
|
||||
install-headers:
|
||||
$(mkinstalldirs) $(inst_includedir)
|
||||
for i in $(HEADERS); do \
|
||||
$(INSTALL_DATA) $(srcdir)/../../ddk/include/$$i $(inst_includedir)/$$i ; \
|
||||
done
|
||||
|
||||
# uninstall headers and libraries from a target specified directory
|
||||
uninstall: uninstall-libraries uninstall-headers
|
||||
|
||||
uninstall-libraries:
|
||||
@for i in $(LIBS); do \
|
||||
rm -f $(inst_libdir)/$$i ; \
|
||||
done
|
||||
rmdir $(inst_libdir)
|
||||
|
||||
uninstall-headers:
|
||||
@for i in $(HEADERS); do \
|
||||
rm -r $(inst_includedir)/$$i ; \
|
||||
done
|
||||
rmdir $(inst_includedir)
|
||||
|
||||
|
||||
dist:
|
||||
mkdir $(distdir)/include
|
||||
chmod 755 $(distdir)/include
|
||||
@for i in $(HEADERS); do \
|
||||
cp -p $(srcdir)/../../ddk/include/$$i $(distdir)/include/ddk/$$i ; \
|
||||
done
|
||||
mkdir $(distdir)/lib
|
||||
chmod 755 $(distdir)/lib
|
||||
@for i in $(DISTFILES); do \
|
||||
cp -p $(srcdir)/$$i $(distdir)/lib/$$i ; \
|
||||
done
|
||||
|
||||
Makefile: Makefile.in ../../config.status ../../configure
|
||||
cd ../..; $(SHELL) config.status
|
||||
|
||||
# clean
|
||||
|
||||
mostlyclean:
|
||||
rm -f *~ *.o *.s
|
||||
|
||||
clean:
|
||||
rm -f *.o *.a *.s *~
|
||||
|
||||
distclean: clean
|
||||
rm -f config.cache config.status config.log Makefile
|
||||
|
||||
maintainer-clean: distclean
|
8
winsup/w32api/lib/ddk/apcups.def
Normal file
8
winsup/w32api/lib/ddk/apcups.def
Normal file
@ -0,0 +1,8 @@
|
||||
LIBRARY apcups.dll
|
||||
EXPORTS
|
||||
UPSCancelWait@0
|
||||
UPSGetState@0
|
||||
UPSInit@0
|
||||
UPSStop@0
|
||||
UPSTurnOff@4
|
||||
UPSWaitForStateChange@8
|
394
winsup/w32api/lib/ddk/cfgmgr32.def
Normal file
394
winsup/w32api/lib/ddk/cfgmgr32.def
Normal file
@ -0,0 +1,394 @@
|
||||
LIBRARY cfgmgr32.dll
|
||||
EXPORTS
|
||||
;CMP_Init_Detection
|
||||
;CMP_RegisterNotification
|
||||
;CMP_Report_LogOn
|
||||
;CMP_UnregisterNotification
|
||||
CMP_WaitNoPendingInstallEvents@4
|
||||
;CMP_WaitServicesAvailable
|
||||
CM_Add_Empty_Log_Conf@16
|
||||
CM_Add_Empty_Log_Conf_Ex@20
|
||||
CM_Add_IDA@16
|
||||
CM_Add_IDW@16
|
||||
CM_Add_ID_ExA@16
|
||||
CM_Add_ID_ExW@16
|
||||
;CM_Add_Range
|
||||
CM_Add_Res_Des@24
|
||||
CM_Add_Res_Des_Ex@28
|
||||
CM_Connect_MachineA@8
|
||||
CM_Connect_MachineW@8
|
||||
;CM_Create_DevNodeA
|
||||
;CM_Create_DevNodeW
|
||||
;CM_Create_DevNode_ExA
|
||||
;CM_Create_DevNode_ExW
|
||||
;CM_Create_Range_List
|
||||
;CM_Delete_Class_Key
|
||||
;CM_Delete_Class_Key_Ex
|
||||
;CM_Delete_DevNode_Key
|
||||
;CM_Delete_DevNode_Key_Ex
|
||||
;CM_Delete_Range
|
||||
;CM_Detect_Resource_Conflict
|
||||
;CM_Detect_Resource_Conflict_Ex
|
||||
;CM_Disable_DevNode
|
||||
;CM_Disable_DevNode_Ex
|
||||
CM_Disconnect_Machine@4
|
||||
;CM_Dup_Range_List
|
||||
;CM_Enable_DevNode
|
||||
;CM_Enable_DevNode_Ex
|
||||
CM_Enumerate_Classes@12
|
||||
CM_Enumerate_Classes_Ex@16
|
||||
CM_Enumerate_EnumeratorsA@16
|
||||
CM_Enumerate_EnumeratorsW@16
|
||||
CM_Enumerate_Enumerators_ExA@20
|
||||
CM_Enumerate_Enumerators_ExW@20
|
||||
;CM_Find_Range
|
||||
;CM_First_Range
|
||||
CM_Free_Log_Conf@8
|
||||
CM_Free_Log_Conf_Ex@12
|
||||
CM_Free_Log_Conf_Handle@4
|
||||
;CM_Free_Range_List
|
||||
CM_Free_Res_Des@12
|
||||
CM_Free_Res_Des_Ex@16
|
||||
CM_Free_Res_Des_Handle@4
|
||||
CM_Free_Resource_Conflict_Handle@4
|
||||
CM_Get_Child@12
|
||||
CM_Get_Child_Ex@16
|
||||
;CM_Get_Class_Key_NameA
|
||||
;CM_Get_Class_Key_NameW
|
||||
;CM_Get_Class_Key_Name_ExA
|
||||
;CM_Get_Class_Key_Name_ExW
|
||||
;CM_Get_Class_NameA
|
||||
;CM_Get_Class_NameW
|
||||
;CM_Get_Class_Name_ExA
|
||||
;CM_Get_Class_Name_ExW
|
||||
;CM_Get_Class_Registry_PropertyA
|
||||
;CM_Get_Class_Registry_PropertyW
|
||||
CM_Get_Depth@12
|
||||
CM_Get_Depth_Ex@16
|
||||
;CM_Get_DevNode_Registry_PropertyA
|
||||
;CM_Get_DevNode_Registry_PropertyW
|
||||
;CM_Get_DevNode_Registry_Property_ExA
|
||||
;CM_Get_DevNode_Registry_Property_ExW
|
||||
CM_Get_DevNode_Status@16
|
||||
CM_Get_DevNode_Status_Ex@20
|
||||
CM_Get_Device_IDA@16
|
||||
CM_Get_Device_IDW@16
|
||||
CM_Get_Device_ID_ExA@20
|
||||
CM_Get_Device_ID_ExW@20
|
||||
CM_Get_Device_ID_ListA@16
|
||||
CM_Get_Device_ID_ListW@16
|
||||
CM_Get_Device_ID_List_ExA@20
|
||||
CM_Get_Device_ID_List_ExW@20
|
||||
CM_Get_Device_ID_List_SizeA@12
|
||||
CM_Get_Device_ID_List_SizeW@12
|
||||
CM_Get_Device_ID_List_Size_ExA@16
|
||||
CM_Get_Device_ID_List_Size_ExW@16
|
||||
CM_Get_Device_ID_Size@12
|
||||
CM_Get_Device_ID_Size_Ex@16
|
||||
;CM_Get_Device_Interface_AliasA
|
||||
;CM_Get_Device_Interface_AliasW
|
||||
;CM_Get_Device_Interface_Alias_ExA
|
||||
;CM_Get_Device_Interface_Alias_ExW
|
||||
;CM_Get_Device_Interface_ListA
|
||||
;CM_Get_Device_Interface_ListW
|
||||
;CM_Get_Device_Interface_List_ExA
|
||||
;CM_Get_Device_Interface_List_ExW
|
||||
;CM_Get_Device_Interface_List_SizeA
|
||||
;CM_Get_Device_Interface_List_SizeW
|
||||
;CM_Get_Device_Interface_List_Size_ExA
|
||||
;CM_Get_Device_Interface_List_Size_ExW
|
||||
CM_Get_First_Log_Conf@12
|
||||
CM_Get_First_Log_Conf_Ex@16
|
||||
;CM_Get_Global_State
|
||||
;CM_Get_Global_State_Ex
|
||||
;CM_Get_HW_Prof_FlagsA
|
||||
;CM_Get_HW_Prof_FlagsW
|
||||
;CM_Get_HW_Prof_Flags_ExA
|
||||
;CM_Get_HW_Prof_Flags_ExW
|
||||
;CM_Get_Hardware_Profile_InfoA
|
||||
;CM_Get_Hardware_Profile_InfoW
|
||||
;CM_Get_Hardware_Profile_Info_ExA
|
||||
;CM_Get_Hardware_Profile_Info_ExW
|
||||
CM_Get_Log_Conf_Priority@12
|
||||
CM_Get_Log_Conf_Priority_Ex@16
|
||||
CM_Get_Next_Log_Conf@12
|
||||
CM_Get_Next_Log_Conf_Ex@16
|
||||
CM_Get_Next_Res_Des@20
|
||||
CM_Get_Next_Res_Des_Ex@24
|
||||
CM_Get_Parent@12
|
||||
CM_Get_Parent_Ex@16
|
||||
CM_Get_Res_Des_Data@16
|
||||
CM_Get_Res_Des_Data_Ex@20
|
||||
CM_Get_Res_Des_Data_Size@12
|
||||
CM_Get_Res_Des_Data_Size_Ex@16
|
||||
CM_Get_Resource_Conflict_Count@8
|
||||
CM_Get_Resource_Conflict_DetailsA@12
|
||||
CM_Get_Resource_Conflict_DetailsW@12
|
||||
CM_Get_Sibling@12
|
||||
CM_Get_Sibling_Ex@16
|
||||
CM_Get_Version@0
|
||||
CM_Get_Version_Ex@4
|
||||
;CM_Intersect_Range_List
|
||||
;CM_Invert_Range_List
|
||||
;CM_Is_Dock_Station_Present
|
||||
;CM_Is_Dock_Station_Present_Ex
|
||||
CM_Locate_DevNodeA@12
|
||||
CM_Locate_DevNodeW@12
|
||||
CM_Locate_DevNode_ExA@16
|
||||
CM_Locate_DevNode_ExW@16
|
||||
;CM_Merge_Range_List
|
||||
CM_Modify_Res_Des@24
|
||||
CM_Modify_Res_Des_Ex@28
|
||||
;CM_Move_DevNode
|
||||
;CM_Move_DevNode_Ex
|
||||
;CM_Next_Range
|
||||
;CM_Open_Class_KeyA
|
||||
;CM_Open_Class_KeyW
|
||||
;CM_Open_Class_Key_ExA
|
||||
;CM_Open_Class_Key_ExW
|
||||
;CM_Open_DevNode_Key
|
||||
;CM_Open_DevNode_Key_Ex
|
||||
CM_Query_And_Remove_SubTreeA@20
|
||||
CM_Query_And_Remove_SubTreeW@20
|
||||
CM_Query_And_Remove_SubTree_ExA@0
|
||||
CM_Query_And_Remove_SubTree_ExW@0
|
||||
;CM_Query_Arbitrator_Free_Data
|
||||
;CM_Query_Arbitrator_Free_Data_Ex
|
||||
;CM_Query_Arbitrator_Free_Size
|
||||
;CM_Query_Arbitrator_Free_Size_Ex
|
||||
;CM_Query_Remove_SubTree
|
||||
;CM_Query_Remove_SubTree_Ex
|
||||
CM_Query_Resource_Conflict_List@28
|
||||
CM_Reenumerate_DevNode@8
|
||||
CM_Reenumerate_DevNode_Ex@12
|
||||
;CM_Register_Device_Driver
|
||||
;CM_Register_Device_Driver_Ex
|
||||
;CM_Register_Device_InterfaceA
|
||||
;CM_Register_Device_InterfaceW
|
||||
;CM_Register_Device_Interface_ExA
|
||||
;CM_Register_Device_Interface_ExW
|
||||
;CM_Remove_SubTree
|
||||
;CM_Remove_SubTree_Ex
|
||||
;CM_Request_Eject_PC
|
||||
;CM_Request_Eject_PC_Ex
|
||||
;CM_Run_Detection
|
||||
;CM_Run_Detection_Ex
|
||||
;CM_Set_Class_Registry_PropertyA
|
||||
;CM_Set_Class_Registry_PropertyW
|
||||
;CM_Set_DevNode_Problem
|
||||
;CM_Set_DevNode_Problem_Ex
|
||||
;CM_Set_DevNode_Registry_PropertyA
|
||||
;CM_Set_DevNode_Registry_PropertyW
|
||||
;CM_Set_DevNode_Registry_Property_ExA
|
||||
;CM_Set_DevNode_Registry_Property_ExW
|
||||
;CM_Set_HW_Prof
|
||||
;CM_Set_HW_Prof_Ex
|
||||
;CM_Set_HW_Prof_FlagsA
|
||||
;CM_Set_HW_Prof_FlagsW
|
||||
;CM_Set_HW_Prof_Flags_ExA
|
||||
;CM_Set_HW_Prof_Flags_ExW
|
||||
;CM_Setup_DevNode
|
||||
;CM_Setup_DevNode_Ex
|
||||
;CM_Test_Range_Available
|
||||
;CM_Uninstall_DevNode
|
||||
;CM_Uninstall_DevNode_Ex
|
||||
;CM_Unregister_Device_InterfaceA
|
||||
;CM_Unregister_Device_InterfaceW
|
||||
;CM_Unregister_Device_Interface_ExA
|
||||
;CM_Unregister_Device_Interface_ExW
|
||||
;CMP_Init_Detection
|
||||
;CMP_RegisterNotification
|
||||
;CMP_Report_LogOn
|
||||
;CMP_UnregisterNotification
|
||||
CMP_WaitNoPendingInstallEvents@4
|
||||
;CMP_WaitServicesAvailable
|
||||
CM_Add_Empty_Log_Conf@16
|
||||
CM_Add_Empty_Log_Conf_Ex@20
|
||||
CM_Add_IDA@16
|
||||
CM_Add_IDW@16
|
||||
CM_Add_ID_ExA@16
|
||||
CM_Add_ID_ExW@16
|
||||
;CM_Add_Range
|
||||
CM_Add_Res_Des@24
|
||||
CM_Add_Res_Des_Ex@28
|
||||
CM_Connect_MachineA@8
|
||||
CM_Connect_MachineW@8
|
||||
;CM_Create_DevNodeA
|
||||
;CM_Create_DevNodeW
|
||||
;CM_Create_DevNode_ExA
|
||||
;CM_Create_DevNode_ExW
|
||||
;CM_Create_Range_List
|
||||
;CM_Delete_Class_Key
|
||||
;CM_Delete_Class_Key_Ex
|
||||
;CM_Delete_DevNode_Key
|
||||
;CM_Delete_DevNode_Key_Ex
|
||||
;CM_Delete_Range
|
||||
;CM_Detect_Resource_Conflict
|
||||
;CM_Detect_Resource_Conflict_Ex
|
||||
;CM_Disable_DevNode
|
||||
;CM_Disable_DevNode_Ex
|
||||
CM_Disconnect_Machine@4
|
||||
;CM_Dup_Range_List
|
||||
;CM_Enable_DevNode
|
||||
;CM_Enable_DevNode_Ex
|
||||
CM_Enumerate_Classes@12
|
||||
CM_Enumerate_Classes_Ex@16
|
||||
CM_Enumerate_EnumeratorsA@16
|
||||
CM_Enumerate_EnumeratorsW@16
|
||||
CM_Enumerate_Enumerators_ExA@20
|
||||
CM_Enumerate_Enumerators_ExW@20
|
||||
;CM_Find_Range
|
||||
;CM_First_Range
|
||||
CM_Free_Log_Conf@8
|
||||
CM_Free_Log_Conf_Ex@12
|
||||
CM_Free_Log_Conf_Handle@4
|
||||
;CM_Free_Range_List
|
||||
CM_Free_Res_Des@12
|
||||
CM_Free_Res_Des_Ex@16
|
||||
CM_Free_Res_Des_Handle@4
|
||||
CM_Free_Resource_Conflict_Handle@4
|
||||
CM_Get_Child@12
|
||||
CM_Get_Child_Ex@16
|
||||
;CM_Get_Class_Key_NameA
|
||||
;CM_Get_Class_Key_NameW
|
||||
;CM_Get_Class_Key_Name_ExA
|
||||
;CM_Get_Class_Key_Name_ExW
|
||||
;CM_Get_Class_NameA
|
||||
;CM_Get_Class_NameW
|
||||
;CM_Get_Class_Name_ExA
|
||||
;CM_Get_Class_Name_ExW
|
||||
;CM_Get_Class_Registry_PropertyA
|
||||
;CM_Get_Class_Registry_PropertyW
|
||||
CM_Get_Depth@12
|
||||
CM_Get_Depth_Ex@16
|
||||
;CM_Get_DevNode_Registry_PropertyA
|
||||
;CM_Get_DevNode_Registry_PropertyW
|
||||
;CM_Get_DevNode_Registry_Property_ExA
|
||||
;CM_Get_DevNode_Registry_Property_ExW
|
||||
CM_Get_DevNode_Status@16
|
||||
CM_Get_DevNode_Status_Ex@20
|
||||
CM_Get_Device_IDA@16
|
||||
CM_Get_Device_IDW@16
|
||||
CM_Get_Device_ID_ExA@20
|
||||
CM_Get_Device_ID_ExW@20
|
||||
CM_Get_Device_ID_ListA@16
|
||||
CM_Get_Device_ID_ListW@16
|
||||
CM_Get_Device_ID_List_ExA@20
|
||||
CM_Get_Device_ID_List_ExW@20
|
||||
CM_Get_Device_ID_List_SizeA@12
|
||||
CM_Get_Device_ID_List_SizeW@12
|
||||
CM_Get_Device_ID_List_Size_ExA@16
|
||||
CM_Get_Device_ID_List_Size_ExW@16
|
||||
CM_Get_Device_ID_Size@12
|
||||
CM_Get_Device_ID_Size_Ex@16
|
||||
;CM_Get_Device_Interface_AliasA
|
||||
;CM_Get_Device_Interface_AliasW
|
||||
;CM_Get_Device_Interface_Alias_ExA
|
||||
;CM_Get_Device_Interface_Alias_ExW
|
||||
;CM_Get_Device_Interface_ListA
|
||||
;CM_Get_Device_Interface_ListW
|
||||
;CM_Get_Device_Interface_List_ExA
|
||||
;CM_Get_Device_Interface_List_ExW
|
||||
;CM_Get_Device_Interface_List_SizeA
|
||||
;CM_Get_Device_Interface_List_SizeW
|
||||
;CM_Get_Device_Interface_List_Size_ExA
|
||||
;CM_Get_Device_Interface_List_Size_ExW
|
||||
CM_Get_First_Log_Conf@12
|
||||
CM_Get_First_Log_Conf_Ex@16
|
||||
;CM_Get_Global_State
|
||||
;CM_Get_Global_State_Ex
|
||||
;CM_Get_HW_Prof_FlagsA
|
||||
;CM_Get_HW_Prof_FlagsW
|
||||
;CM_Get_HW_Prof_Flags_ExA
|
||||
;CM_Get_HW_Prof_Flags_ExW
|
||||
;CM_Get_Hardware_Profile_InfoA
|
||||
;CM_Get_Hardware_Profile_InfoW
|
||||
;CM_Get_Hardware_Profile_Info_ExA
|
||||
;CM_Get_Hardware_Profile_Info_ExW
|
||||
CM_Get_Log_Conf_Priority@12
|
||||
CM_Get_Log_Conf_Priority_Ex@16
|
||||
CM_Get_Next_Log_Conf@12
|
||||
CM_Get_Next_Log_Conf_Ex@16
|
||||
CM_Get_Next_Res_Des@20
|
||||
CM_Get_Next_Res_Des_Ex@24
|
||||
CM_Get_Parent@12
|
||||
CM_Get_Parent_Ex@16
|
||||
CM_Get_Res_Des_Data@16
|
||||
CM_Get_Res_Des_Data_Ex@20
|
||||
CM_Get_Res_Des_Data_Size@12
|
||||
CM_Get_Res_Des_Data_Size_Ex@16
|
||||
CM_Get_Resource_Conflict_Count@8
|
||||
CM_Get_Resource_Conflict_DetailsA@12
|
||||
CM_Get_Resource_Conflict_DetailsW@12
|
||||
CM_Get_Sibling@12
|
||||
CM_Get_Sibling_Ex@16
|
||||
CM_Get_Version@0
|
||||
CM_Get_Version_Ex@4
|
||||
;CM_Intersect_Range_List
|
||||
;CM_Invert_Range_List
|
||||
;CM_Is_Dock_Station_Present
|
||||
;CM_Is_Dock_Station_Present_Ex
|
||||
CM_Locate_DevNodeA@12
|
||||
CM_Locate_DevNodeW@12
|
||||
CM_Locate_DevNode_ExA@16
|
||||
CM_Locate_DevNode_ExW@16
|
||||
;CM_Merge_Range_List
|
||||
CM_Modify_Res_Des@24
|
||||
CM_Modify_Res_Des_Ex@28
|
||||
;CM_Move_DevNode
|
||||
;CM_Move_DevNode_Ex
|
||||
;CM_Next_Range
|
||||
;CM_Open_Class_KeyA
|
||||
;CM_Open_Class_KeyW
|
||||
;CM_Open_Class_Key_ExA
|
||||
;CM_Open_Class_Key_ExW
|
||||
;CM_Open_DevNode_Key
|
||||
;CM_Open_DevNode_Key_Ex
|
||||
CM_Query_And_Remove_SubTreeA@20
|
||||
CM_Query_And_Remove_SubTreeW@20
|
||||
CM_Query_And_Remove_SubTree_ExA@0
|
||||
CM_Query_And_Remove_SubTree_ExW@0
|
||||
;CM_Query_Arbitrator_Free_Data
|
||||
;CM_Query_Arbitrator_Free_Data_Ex
|
||||
;CM_Query_Arbitrator_Free_Size
|
||||
;CM_Query_Arbitrator_Free_Size_Ex
|
||||
;CM_Query_Remove_SubTree
|
||||
;CM_Query_Remove_SubTree_Ex
|
||||
CM_Query_Resource_Conflict_List@28
|
||||
CM_Reenumerate_DevNode@8
|
||||
CM_Reenumerate_DevNode_Ex@12
|
||||
;CM_Register_Device_Driver
|
||||
;CM_Register_Device_Driver_Ex
|
||||
;CM_Register_Device_InterfaceA
|
||||
;CM_Register_Device_InterfaceW
|
||||
;CM_Register_Device_Interface_ExA
|
||||
;CM_Register_Device_Interface_ExW
|
||||
;CM_Remove_SubTree
|
||||
;CM_Remove_SubTree_Ex
|
||||
;CM_Request_Eject_PC
|
||||
;CM_Request_Eject_PC_Ex
|
||||
;CM_Run_Detection
|
||||
;CM_Run_Detection_Ex
|
||||
;CM_Set_Class_Registry_PropertyA
|
||||
;CM_Set_Class_Registry_PropertyW
|
||||
;CM_Set_DevNode_Problem
|
||||
;CM_Set_DevNode_Problem_Ex
|
||||
;CM_Set_DevNode_Registry_PropertyA
|
||||
;CM_Set_DevNode_Registry_PropertyW
|
||||
;CM_Set_DevNode_Registry_Property_ExA
|
||||
;CM_Set_DevNode_Registry_Property_ExW
|
||||
;CM_Set_HW_Prof
|
||||
;CM_Set_HW_Prof_Ex
|
||||
;CM_Set_HW_Prof_FlagsA
|
||||
;CM_Set_HW_Prof_FlagsW
|
||||
;CM_Set_HW_Prof_Flags_ExA
|
||||
;CM_Set_HW_Prof_Flags_ExW
|
||||
;CM_Setup_DevNode
|
||||
;CM_Setup_DevNode_Ex
|
||||
;CM_Test_Range_Available
|
||||
;CM_Uninstall_DevNode
|
||||
;CM_Uninstall_DevNode_Ex
|
||||
;CM_Unregister_Device_InterfaceA
|
||||
;CM_Unregister_Device_InterfaceW
|
||||
;CM_Unregister_Device_Interface_ExA
|
||||
;CM_Unregister_Device_Interface_ExW
|
9
winsup/w32api/lib/ddk/dxapi.def
Normal file
9
winsup/w32api/lib/ddk/dxapi.def
Normal file
@ -0,0 +1,9 @@
|
||||
LIBRARY dxapi.sys
|
||||
EXPORTS
|
||||
;_DxApi@20
|
||||
;_DxApiGetVersion@0
|
||||
;_DxApiInitialize@32
|
||||
;_DxAutoflipUpdate@20
|
||||
;_DxEnableIRQ@8
|
||||
;_DxLoseObject@8
|
||||
;_DxUpdateCapture@12
|
94
winsup/w32api/lib/ddk/hal.def
Normal file
94
winsup/w32api/lib/ddk/hal.def
Normal file
@ -0,0 +1,94 @@
|
||||
LIBRARY hal.dll
|
||||
EXPORTS
|
||||
@ExAcquireFastMutex@4
|
||||
@ExReleaseFastMutex@4
|
||||
@ExTryToAcquireFastMutex@4
|
||||
;HalAcquireDisplayOwnership
|
||||
;HalAdjustResourceList
|
||||
;HalAllProcessorsStarted
|
||||
;HalAllocateAdapterChannel
|
||||
HalAllocateCommonBuffer@16
|
||||
;HalAllocateCrashDumpRegisters
|
||||
HalAssignSlotResources@32
|
||||
;HalBeginSystemInterrupt
|
||||
;HalCalibratePerformanceCounter
|
||||
;HalClearSoftwareInterrupt
|
||||
;HalDisableSystemInterrupt
|
||||
;HalDisplayString
|
||||
;HalEnableSystemInterrupt
|
||||
;HalEndSystemInterrupt
|
||||
;HalFlushCommonBuffer
|
||||
HalFreeCommonBuffer@20
|
||||
HalGetAdapter@8
|
||||
HalGetBusData@20
|
||||
HalGetBusDataByOffset@24
|
||||
;HalGetEnvironmentVariable
|
||||
HalGetInterruptVector@24
|
||||
;HalHandleNMI
|
||||
;HalInitSystem
|
||||
;HalInitializeProcessor
|
||||
;HalMakeBeep
|
||||
;HalProcessorIdle
|
||||
;HalQueryDisplayParameters
|
||||
;HalQueryRealTimeClock
|
||||
HalReadDmaCounter@4
|
||||
;HalReportResourceUsage
|
||||
;HalRequestIpi
|
||||
;HalRequestSoftwareInterrupt
|
||||
;HalReturnToFirmware
|
||||
HalSetBusData@20
|
||||
HalSetBusDataByOffset@24
|
||||
;HalSetDisplayParameters
|
||||
;HalSetEnvironmentVariable
|
||||
;HalSetProfileInterval
|
||||
;HalSetRealTimeClock
|
||||
;HalSetTimeIncrement
|
||||
;HalStartNextProcessor
|
||||
;HalStartProfileInterrupt
|
||||
;HalStopProfileInterrupt
|
||||
;HalSystemVectorDispatchEntry
|
||||
HalTranslateBusAddress@20
|
||||
;IoAssignDriveLetters
|
||||
IoFlushAdapterBuffers@24
|
||||
IoFreeAdapterChannel@4
|
||||
IoFreeMapRegisters@12
|
||||
IoMapTransfer@24
|
||||
IoReadPartitionTable@16
|
||||
IoSetPartitionInformation@16
|
||||
IoWritePartitionTable@20
|
||||
;KdComPortInUse DATA
|
||||
@KeAcquireInStackQueuedSpinLock@8
|
||||
;KeAcquireInStackQueuedSpinLockRaiseToSynch
|
||||
;KeAcquireQueuedSpinLock
|
||||
;KeAcquireQueuedSpinLockRaiseToSynch
|
||||
KeAcquireSpinLock@8
|
||||
;KeAcquireSpinLockRaiseToSynch
|
||||
;KeFlushWriteBuffer
|
||||
KeGetCurrentIrql@0
|
||||
KeLowerIrql@4
|
||||
KeQueryPerformanceCounter@4
|
||||
KeRaiseIrql@8
|
||||
KeRaiseIrqlToDpcLevel@0
|
||||
;KeRaiseIrqlToSynchLevel
|
||||
@KeReleaseInStackQueuedSpinLock@4
|
||||
;KeReleaseQueuedSpinLock
|
||||
KeReleaseSpinLock@8
|
||||
KeStallExecutionProcessor@4
|
||||
;KeTryToAcquireQueuedSpinLock
|
||||
;KeTryToAcquireQueuedSpinLockRaiseToSynch
|
||||
;KfAcquireSpinLock
|
||||
;KfLowerIrql
|
||||
;KfRaiseIrql
|
||||
;KfReleaseSpinLock
|
||||
READ_PORT_BUFFER_UCHAR@12
|
||||
READ_PORT_BUFFER_ULONG@12
|
||||
READ_PORT_BUFFER_USHORT@12
|
||||
READ_PORT_UCHAR@4
|
||||
READ_PORT_ULONG@4
|
||||
READ_PORT_USHORT@4
|
||||
WRITE_PORT_BUFFER_UCHAR@12
|
||||
WRITE_PORT_BUFFER_ULONG@12
|
||||
WRITE_PORT_BUFFER_USHORT@12
|
||||
WRITE_PORT_UCHAR@8
|
||||
WRITE_PORT_ULONG@8
|
||||
WRITE_PORT_USHORT@8
|
47
winsup/w32api/lib/ddk/hid.def
Normal file
47
winsup/w32api/lib/ddk/hid.def
Normal file
@ -0,0 +1,47 @@
|
||||
LIBRARY hid.dll
|
||||
EXPORTS
|
||||
;HidD_FlushQueue
|
||||
;HidD_FreePreparsedData
|
||||
;HidD_GetAttributes
|
||||
;HidD_GetConfiguration
|
||||
;HidD_GetFeature
|
||||
;HidD_GetHidGuid
|
||||
;HidD_GetIndexedString
|
||||
;HidD_GetInputReport
|
||||
;HidD_GetManufacturerString
|
||||
;HidD_GetMsGenreDescriptor
|
||||
;HidD_GetNumInputBuffers
|
||||
;HidD_GetPhysicalDescriptor
|
||||
;HidD_GetPreparsedData
|
||||
;HidD_GetProductString
|
||||
;HidD_GetSerialNumberString
|
||||
;HidD_Hello
|
||||
;HidD_SetConfiguration
|
||||
;HidD_SetFeature
|
||||
;HidD_SetNumInputBuffers
|
||||
;HidD_SetOutputReport
|
||||
;HidP_GetButtonCaps
|
||||
HidP_GetCaps@8
|
||||
HidP_GetData@24
|
||||
HidP_GetExtendedAttributes@20
|
||||
HidP_GetLinkCollectionNodes@12
|
||||
HidP_GetScaledUsageValue@32
|
||||
HidP_GetSpecificButtonCaps@28
|
||||
HidP_GetSpecificValueCaps@28
|
||||
HidP_GetUsageValue@32
|
||||
HidP_GetUsageValueArray@36
|
||||
HidP_GetUsages@32
|
||||
HidP_GetUsagesEx@28
|
||||
;HidP_GetValueCaps
|
||||
HidP_InitializeReportForID@20
|
||||
HidP_MaxDataListLength@8
|
||||
HidP_MaxUsageListLength@12
|
||||
HidP_SetData@24
|
||||
HidP_SetScaledUsageValue@32
|
||||
HidP_SetUsageValue@32
|
||||
HidP_SetUsageValueArray@36
|
||||
HidP_SetUsages@32
|
||||
HidP_TranslateUsagesToI8042ScanCodes@24
|
||||
HidP_UnsetUsages@32
|
||||
HidP_UsageListDifference@20
|
||||
;HidservInstaller
|
32
winsup/w32api/lib/ddk/hidparse.def
Normal file
32
winsup/w32api/lib/ddk/hidparse.def
Normal file
@ -0,0 +1,32 @@
|
||||
LIBRARY hidparse.sys
|
||||
EXPORTS
|
||||
;HidP_FreeCollectionDescription
|
||||
;HidP_GetButtonCaps
|
||||
HidP_GetCaps@8
|
||||
;HidP_GetCollectionDescription
|
||||
HidP_GetData@24
|
||||
HidP_GetExtendedAttributes@20
|
||||
HidP_GetLinkCollectionNodes@12
|
||||
HidP_GetScaledUsageValue@32
|
||||
HidP_GetSpecificButtonCaps@28
|
||||
HidP_GetSpecificValueCaps@28
|
||||
HidP_GetUsageValue@32
|
||||
HidP_GetUsageValueArray@36
|
||||
HidP_GetUsages@32
|
||||
HidP_GetUsagesEx@28
|
||||
;HidP_GetValueCaps
|
||||
HidP_InitializeReportForID@20
|
||||
HidP_MaxDataListLength@8
|
||||
HidP_MaxUsageListLength@12
|
||||
HidP_SetData@24
|
||||
HidP_SetScaledUsageValue@32
|
||||
HidP_SetUsageValue@32
|
||||
HidP_SetUsageValueArray@36
|
||||
HidP_SetUsages@32
|
||||
;HidP_SysPowerCaps
|
||||
;HidP_SysPowerEvent
|
||||
HidP_TranslateUsageAndPagesToI8042ScanCodes@24
|
||||
HidP_TranslateUsagesToI8042ScanCodes@24
|
||||
HidP_UnsetUsages@32
|
||||
HidP_UsageAndPageListDifference@20
|
||||
HidP_UsageListDifference@20
|
7
winsup/w32api/lib/ddk/mcd.def
Normal file
7
winsup/w32api/lib/ddk/mcd.def
Normal file
@ -0,0 +1,7 @@
|
||||
LIBRARY mcd.sys
|
||||
EXPORTS
|
||||
ChangerClassAllocatePool@8
|
||||
ChangerClassDebugPrint@8
|
||||
ChangerClassFreePool@4
|
||||
ChangerClassInitialize@12
|
||||
ChangerClassSendSrbSynchronous@20
|
277
winsup/w32api/lib/ddk/ndis.def
Normal file
277
winsup/w32api/lib/ddk/ndis.def
Normal file
@ -0,0 +1,277 @@
|
||||
LIBRARY ndis.sys
|
||||
EXPORTS
|
||||
;ArcFilterDprIndicateReceive
|
||||
;ArcFilterDprIndicateReceiveComplete
|
||||
;EthFilterDprIndicateReceive
|
||||
;EthFilterDprIndicateReceiveComplete
|
||||
;FddiFilterDprIndicateReceive
|
||||
;FddiFilterDprIndicateReceiveComplete
|
||||
NDIS_BUFFER_TO_SPAN_PAGES@4
|
||||
NdisAcquireReadWriteLock@12
|
||||
;NdisAcquireSpinLock
|
||||
NdisAdjustBufferLength@8
|
||||
NdisAllocateBuffer@20
|
||||
NdisAllocateBufferPool@12
|
||||
;NdisAllocateFromBlockPool
|
||||
NdisAllocateMemory@16
|
||||
NdisAllocateMemoryWithTag@12
|
||||
NdisAllocatePacket@12
|
||||
NdisAllocatePacketPool@16
|
||||
NdisAllocatePacketPoolEx@20
|
||||
;NdisAllocateSpinLock
|
||||
NdisAnsiStringToUnicodeString@8
|
||||
NdisBufferLength@4
|
||||
NdisBufferVirtualAddress@4
|
||||
;NdisCancelSendPackets
|
||||
;NdisCancelTimer
|
||||
NdisClAddParty@16
|
||||
NdisClCloseAddressFamily@4
|
||||
NdisClCloseCall@16
|
||||
NdisClDeregisterSap@4
|
||||
NdisClDropParty@12
|
||||
;NdisClGetProtocolVcContextFromTapiCallId
|
||||
NdisClIncomingCallComplete@12
|
||||
NdisClMakeCall@16
|
||||
NdisClModifyCallQoS@8
|
||||
NdisClOpenAddressFamily@24
|
||||
NdisClRegisterSap@16
|
||||
NdisCloseAdapter@8
|
||||
NdisCloseConfiguration@4
|
||||
;NdisCloseFile
|
||||
NdisCmActivateVc@8
|
||||
NdisCmAddPartyComplete@16
|
||||
NdisCmCloseAddressFamilyComplete@8
|
||||
NdisCmCloseCallComplete@12
|
||||
NdisCmDeactivateVc@4
|
||||
NdisCmDeregisterSapComplete@8
|
||||
NdisCmDispatchCallConnected@4
|
||||
NdisCmDispatchIncomingCall@12
|
||||
NdisCmDispatchIncomingCallQoSChange@8
|
||||
NdisCmDispatchIncomingCloseCall@16
|
||||
NdisCmDispatchIncomingDropParty@16
|
||||
NdisCmDropPartyComplete@8
|
||||
NdisCmMakeCallComplete@20
|
||||
NdisCmModifyCallQoSComplete@12
|
||||
NdisCmOpenAddressFamilyComplete@12
|
||||
NdisCmRegisterAddressFamily@16
|
||||
NdisCmRegisterSapComplete@12
|
||||
;NdisCoAssignInstanceName
|
||||
NdisCoCreateVc@16
|
||||
NdisCoDeleteVc@4
|
||||
;NdisCoGetTapiCallId
|
||||
NdisCoRequest@20
|
||||
NdisCoRequestComplete@20
|
||||
NdisCoSendPackets@12
|
||||
;NdisCompareAnsiString DATA
|
||||
;NdisCompareUnicodeString DATA
|
||||
NdisCompleteBindAdapter@12
|
||||
;NdisCompleteDmaTransfer
|
||||
NdisCompletePnPEvent@12
|
||||
NdisCompleteUnbindAdapter@8
|
||||
;NdisConvertStringToAtmAddress
|
||||
NdisCopyBuffer@24
|
||||
NdisCopyFromPacketToPacket@24
|
||||
;NdisCopyFromPacketToPacketSafe
|
||||
;NdisCreateBlockPool
|
||||
NdisDeregisterProtocol@8
|
||||
;NdisDestroyBlockPool
|
||||
;NdisDprAcquireSpinLock
|
||||
NdisDprAllocatePacket@12
|
||||
NdisDprAllocatePacketNonInterlocked@12
|
||||
NdisDprFreePacket@4
|
||||
NdisDprFreePacketNonInterlocked@4
|
||||
;NdisDprReleaseSpinLock
|
||||
;NdisEqualString DATA
|
||||
NdisFreeBuffer@4
|
||||
NdisFreeBufferPool@4
|
||||
NdisFreeMemory@12
|
||||
NdisFreePacket@4
|
||||
NdisFreePacketPool@4
|
||||
;NdisFreeSpinLock
|
||||
;NdisFreeToBlockPool
|
||||
;NdisGeneratePartialCancelId
|
||||
NdisGetBufferPhysicalArraySize@8
|
||||
NdisGetCurrentProcessorCounts@12
|
||||
NdisGetCurrentProcessorCpuUsage@4
|
||||
;NdisGetCurrentSystemTime
|
||||
NdisGetDriverHandle@8
|
||||
NdisGetFirstBufferFromPacket@20
|
||||
;NdisGetFirstBufferFromPacketSafe
|
||||
;NdisGetPacketCancelId
|
||||
;NdisGetPoolFromPacket
|
||||
NdisGetReceivedPacket@8
|
||||
;NdisGetRoutineAddress
|
||||
;NdisGetSharedDataAlignment
|
||||
NdisGetSystemUpTime@4
|
||||
;NdisGetVersion
|
||||
NdisIMAssociateMiniport@8
|
||||
NdisIMCancelInitializeDeviceInstance@8
|
||||
NdisIMCopySendCompletePerPacketInfo@8
|
||||
NdisIMCopySendPerPacketInfo@8
|
||||
NdisIMDeInitializeDeviceInstance@4
|
||||
NdisIMDeregisterLayeredMiniport@4
|
||||
NdisIMGetBindingContext@4
|
||||
;NdisIMGetCurrentPacketStack
|
||||
NdisIMGetDeviceContext@4
|
||||
;NdisIMInitializeDeviceInstance
|
||||
NdisIMInitializeDeviceInstanceEx@12
|
||||
;NdisIMNotifyPnPEvent
|
||||
;NdisIMQueueMiniportCallback
|
||||
NdisIMRegisterLayeredMiniport@16
|
||||
;NdisIMRevertBack
|
||||
;NdisIMSwitchToMiniport
|
||||
;NdisImmediateReadPciSlotInformation
|
||||
;NdisImmediateReadPortUchar
|
||||
;NdisImmediateReadPortUlong
|
||||
;NdisImmediateReadPortUshort
|
||||
NdisImmediateReadSharedMemory@16
|
||||
;NdisImmediateWritePciSlotInformation
|
||||
;NdisImmediateWritePortUchar
|
||||
;NdisImmediateWritePortUlong
|
||||
;NdisImmediateWritePortUshort
|
||||
NdisImmediateWriteSharedMemory@16
|
||||
;NdisInitAnsiString DATA
|
||||
;NdisInitUnicodeString DATA
|
||||
;NdisInitializeEvent
|
||||
NdisInitializeReadWriteLock@4
|
||||
;NdisInitializeString
|
||||
;NdisInitializeTimer
|
||||
NdisInitializeWrapper@16
|
||||
;NdisInterlockedAddLargeInterger DATA
|
||||
;NdisInterlockedAddUlong
|
||||
;NdisInterlockedDecrement
|
||||
;NdisInterlockedIncrement
|
||||
;NdisInterlockedInsertHeadList
|
||||
;NdisInterlockedInsertTailList
|
||||
;NdisInterlockedPopEntryList
|
||||
;NdisInterlockedPushEntryList
|
||||
;NdisInterlockedRemoveHeadList
|
||||
NdisMAllocateMapRegisters@20
|
||||
NdisMAllocateSharedMemory@20
|
||||
NdisMAllocateSharedMemoryAsync@16
|
||||
;NdisMCancelTimer
|
||||
NdisMCloseLog@4
|
||||
NdisMCmActivateVc@8
|
||||
NdisMCmCreateVc@16
|
||||
NdisMCmDeactivateVc@4
|
||||
NdisMCmDeleteVc@4
|
||||
NdisMCmRegisterAddressFamily@16
|
||||
NdisMCmRequest@16
|
||||
NdisMCoActivateVcComplete@12
|
||||
NdisMCoDeactivateVcComplete@8
|
||||
NdisMCoIndicateReceivePacket@12
|
||||
NdisMCoIndicateStatus@20
|
||||
NdisMCoReceiveComplete@4
|
||||
NdisMCoRequestComplete@12
|
||||
NdisMCoSendComplete@12
|
||||
;NdisMCompleteBufferPhysicalMapping
|
||||
NdisMCreateLog@12
|
||||
NdisMDeregisterAdapterShutdownHandler@4
|
||||
NdisMDeregisterDevice@4
|
||||
;NdisMDeregisterDmaChannel
|
||||
NdisMDeregisterInterrupt@4
|
||||
NdisMDeregisterIoPortRange@16
|
||||
NdisMFlushLog@4
|
||||
NdisMFreeMapRegisters@4
|
||||
NdisMFreeSharedMemory@20
|
||||
NdisMGetDeviceProperty@24
|
||||
;NdisMGetDmaAlignment
|
||||
;NdisMIndicateStatus
|
||||
;NdisMIndicateStatusComplete
|
||||
NdisMInitializeScatterGatherDma@12
|
||||
;NdisMInitializeTimer
|
||||
NdisMMapIoSpace@16
|
||||
;NdisMPciAssignResources
|
||||
NdisMPromoteMiniport@4
|
||||
NdisMQueryAdapterInstanceName@8
|
||||
NdisMQueryAdapterResources@16
|
||||
;NdisMQueryInformationComplete
|
||||
;NdisMReadDmaCounter
|
||||
NdisMRegisterAdapterShutdownHandler@12
|
||||
NdisMRegisterDevice@24
|
||||
;NdisMRegisterDmaChannel
|
||||
NdisMRegisterInterrupt@28
|
||||
NdisMRegisterIoPortRange@16
|
||||
NdisMRegisterMiniport@12
|
||||
NdisMRegisterUnloadHandler@8
|
||||
NdisMRemoveMiniport@4
|
||||
;NdisMResetComplete
|
||||
;NdisMSendComplete
|
||||
;NdisMSendResourcesAvailable
|
||||
;NdisMSetAttributes
|
||||
NdisMSetAttributesEx@20
|
||||
;NdisMSetInformationComplete
|
||||
NdisMSetMiniportSecondary@8
|
||||
;NdisMSetPeriodicTimer
|
||||
;NdisMSetTimer
|
||||
NdisMSleep@4
|
||||
;NdisMStartBufferPhysicalMapping
|
||||
NdisMSynchronizeWithInterrupt@12
|
||||
;NdisMTransferDataComplete
|
||||
NdisMUnmapIoSpace@12
|
||||
NdisMWanIndicateReceive@20
|
||||
NdisMWanIndicateReceiveComplete@4
|
||||
NdisMWanSendComplete@12
|
||||
NdisMWriteLogData@12
|
||||
;NdisMapFile
|
||||
;NdisMatchPdoWithPacket
|
||||
NdisOpenAdapter@44
|
||||
NdisOpenConfiguration@12
|
||||
NdisOpenConfigurationKeyByIndex@20
|
||||
NdisOpenConfigurationKeyByName@16
|
||||
;NdisOpenFile
|
||||
NdisOpenProtocolConfiguration@12
|
||||
;NdisOverrideBusNumber
|
||||
NdisPacketPoolUsage@4
|
||||
;NdisPacketSize
|
||||
NdisQueryAdapterInstanceName@8
|
||||
;NdisQueryBindInstanceName
|
||||
NdisQueryBuffer@12
|
||||
NdisQueryBufferOffset@12
|
||||
NdisQueryBufferSafe@16
|
||||
;NdisQueryMapRegisterCount
|
||||
;NdisQueryPendingIOCount
|
||||
;NdisReEnumerateProtocolBindings
|
||||
NdisReadConfiguration@20
|
||||
NdisReadEisaSlotInformation@16
|
||||
NdisReadEisaSlotInformationEx@20
|
||||
;NdisReadMcaPosInformation
|
||||
NdisReadNetworkAddress@16
|
||||
NdisReadPciSlotInformation@20
|
||||
NdisReadPcmciaAttributeMemory@16
|
||||
NdisRegisterProtocol@16
|
||||
;NdisRegisterTdiCallBack
|
||||
NdisReleaseReadWriteLock@8
|
||||
;NdisReleaseSpinLock
|
||||
NdisRequest@12
|
||||
NdisReset@8
|
||||
;NdisResetEvent
|
||||
NdisReturnPackets@8
|
||||
;NdisScheduleWorkItem
|
||||
NdisSend@12
|
||||
NdisSendPackets@12
|
||||
;NdisSetEvent
|
||||
;NdisSetPacketCancelId
|
||||
;NdisSetPacketPoolProtocolId
|
||||
;NdisSetPacketStatus
|
||||
;NdisSetProtocolFilter
|
||||
;NdisSetTimer
|
||||
;NdisSetTimerEx
|
||||
NdisSetupDmaTransfer@24
|
||||
;NdisSystemProcessorCount
|
||||
NdisTerminateWrapper@8
|
||||
NdisTransferData@28
|
||||
NdisUnchainBufferAtBack@8
|
||||
NdisUnchainBufferAtFront@8
|
||||
NdisUnicodeStringToAnsiString@8
|
||||
;NdisUnmapFile
|
||||
NdisUpcaseUnicodeString@8
|
||||
NdisUpdateSharedMemory@16
|
||||
;NdisWaitEvent
|
||||
NdisWriteConfiguration@16
|
||||
NdisWriteErrorLogEntry
|
||||
NdisWriteEventLogEntry@28
|
||||
NdisWritePciSlotInformation@20
|
||||
NdisWritePcmciaAttributeMemory@16
|
||||
;TrFilterDprIndicateReceive
|
||||
;TrFilterDprIndicateReceiveComplete
|
1460
winsup/w32api/lib/ddk/ntoskrnl.def
Normal file
1460
winsup/w32api/lib/ddk/ntoskrnl.def
Normal file
File diff suppressed because it is too large
Load Diff
49
winsup/w32api/lib/ddk/scsiport.def
Normal file
49
winsup/w32api/lib/ddk/scsiport.def
Normal file
@ -0,0 +1,49 @@
|
||||
LIBRARY scsiport.sys
|
||||
EXPORTS
|
||||
DllInitialize@4
|
||||
ScsiDebugPrint
|
||||
ScsiPortCompleteRequest@20
|
||||
;ScsiPortConvertPhysicalAddressToUlong
|
||||
ScsiPortConvertUlongToPhysicalAddress@4
|
||||
ScsiPortFlushDma@4
|
||||
ScsiPortFreeDeviceBase@8
|
||||
ScsiPortGetBusData@24
|
||||
ScsiPortGetDeviceBase@24
|
||||
ScsiPortGetLogicalUnit@16
|
||||
ScsiPortGetPhysicalAddress@16
|
||||
ScsiPortGetSrb@20
|
||||
ScsiPortGetUncachedExtension@12
|
||||
ScsiPortGetVirtualAddress@8
|
||||
ScsiPortInitialize@16
|
||||
ScsiPortIoMapTransfer@16
|
||||
ScsiPortLogError@28
|
||||
ScsiPortMoveMemory@12
|
||||
ScsiPortNotification
|
||||
ScsiPortQuerySystemTime@4
|
||||
ScsiPortReadPortBufferUchar@12
|
||||
ScsiPortReadPortBufferUlong@12
|
||||
ScsiPortReadPortBufferUshort@12
|
||||
ScsiPortReadPortUchar@4
|
||||
ScsiPortReadPortUlong@4
|
||||
ScsiPortReadPortUshort@4
|
||||
ScsiPortReadRegisterBufferUchar@12
|
||||
ScsiPortReadRegisterBufferUlong@12
|
||||
ScsiPortReadRegisterBufferUshort@12
|
||||
ScsiPortReadRegisterUchar@4
|
||||
ScsiPortReadRegisterUlong@4
|
||||
ScsiPortReadRegisterUshort@4
|
||||
ScsiPortSetBusDataByOffset@28
|
||||
ScsiPortStallExecution@4
|
||||
ScsiPortValidateRange@24
|
||||
ScsiPortWritePortBufferUchar@12
|
||||
ScsiPortWritePortBufferUlong@12
|
||||
ScsiPortWritePortBufferUshort@12
|
||||
ScsiPortWritePortUchar@8
|
||||
ScsiPortWritePortUlong@8
|
||||
ScsiPortWritePortUshort@8
|
||||
ScsiPortWriteRegisterBufferUchar@12
|
||||
ScsiPortWriteRegisterBufferUlong@12
|
||||
ScsiPortWriteRegisterBufferUshort@12
|
||||
ScsiPortWriteRegisterUchar@8
|
||||
ScsiPortWriteRegisterUlong@8
|
||||
ScsiPortWriteRegisterUshort@8
|
50
winsup/w32api/lib/ddk/tdi.def
Normal file
50
winsup/w32api/lib/ddk/tdi.def
Normal file
@ -0,0 +1,50 @@
|
||||
LIBRARY tdi.sys
|
||||
EXPORTS
|
||||
;CTEAllocateString
|
||||
;CTEBlock
|
||||
;CTEInitEvent
|
||||
;CTEInitString
|
||||
;CTEInitTimer
|
||||
;CTEInitialize
|
||||
;CTELogEvent
|
||||
;CTEScheduleDelayedEvent
|
||||
;CTEScheduleEvent
|
||||
;CTESignal
|
||||
;CTEStartTimer
|
||||
;CTESystemUpTime
|
||||
TdiBuildNetbiosAddress@12
|
||||
TdiBuildNetbiosAddressEa@12
|
||||
TdiCopyBufferToMdl@24
|
||||
TdiCopyMdlChainToMdlChain@20
|
||||
TdiCopyMdlToBuffer@24
|
||||
TdiDefaultChainedRcvDatagramHandler@40
|
||||
TdiDefaultChainedRcvExpeditedHandler@28
|
||||
TdiDefaultChainedReceiveHandler@28
|
||||
TdiDefaultConnectHandler@36
|
||||
TdiDefaultDisconnectHandler@28
|
||||
TdiDefaultErrorHandler@8
|
||||
TdiDefaultRcvDatagramHandler@44
|
||||
TdiDefaultRcvExpeditedHandler@32
|
||||
TdiDefaultReceiveHandler@32
|
||||
TdiDefaultSendPossibleHandler@12
|
||||
TdiDeregisterAddressChangeHandler@4
|
||||
TdiDeregisterDeviceObject@4
|
||||
TdiDeregisterNetAddress@4
|
||||
;TdiDeregisterNotificationHandler
|
||||
TdiDeregisterPnPHandlers@4
|
||||
TdiDeregisterProvider@4
|
||||
TdiEnumerateAddresses@4
|
||||
TdiInitialize@0
|
||||
TdiMapUserRequest@12
|
||||
TdiMatchPdoWithChainedReceiveContext@8
|
||||
;TdiOpenNetbiosAddress
|
||||
TdiPnPPowerComplete@12
|
||||
TdiPnPPowerRequest@20
|
||||
TdiProviderReady@4
|
||||
TdiRegisterAddressChangeHandler@12
|
||||
TdiRegisterDeviceObject@8
|
||||
TdiRegisterNetAddress@16
|
||||
TdiRegisterNotificationHandler@12
|
||||
TdiRegisterPnPHandlers@12
|
||||
TdiRegisterProvider@8
|
||||
TdiReturnChainedReceives@8
|
10
winsup/w32api/lib/ddk/usbcamd.def
Normal file
10
winsup/w32api/lib/ddk/usbcamd.def
Normal file
@ -0,0 +1,10 @@
|
||||
LIBRARY usbcamd.sys
|
||||
EXPORTS
|
||||
DllUnload@0
|
||||
USBCAMD_AdapterReceivePacket@16
|
||||
USBCAMD_ControlVendorCommand@36
|
||||
;USBCAMD_Debug_LogEntry
|
||||
USBCAMD_DriverEntry@20
|
||||
USBCAMD_GetRegistryKeyValue@20
|
||||
USBCAMD_InitializeNewInterface@16
|
||||
USBCAMD_SelectAlternateInterface@8
|
10
winsup/w32api/lib/ddk/usbcamd2.def
Normal file
10
winsup/w32api/lib/ddk/usbcamd2.def
Normal file
@ -0,0 +1,10 @@
|
||||
LIBRARY usbcamd2.sys
|
||||
EXPORTS
|
||||
DllUnload@0
|
||||
USBCAMD_AdapterReceivePacket@16
|
||||
USBCAMD_ControlVendorCommand@36
|
||||
;USBCAMD_Debug_LogEntry
|
||||
USBCAMD_DriverEntry@20
|
||||
USBCAMD_GetRegistryKeyValue@20
|
||||
USBCAMD_InitializeNewInterface@16
|
||||
USBCAMD_SelectAlternateInterface@8
|
115
winsup/w32api/lib/ddk/videoprt.def
Normal file
115
winsup/w32api/lib/ddk/videoprt.def
Normal file
@ -0,0 +1,115 @@
|
||||
LIBRARY videoprt.sys
|
||||
EXPORTS
|
||||
VideoPortAcquireDeviceLock@4
|
||||
VideoPortAcquireSpinLock@12
|
||||
VideoPortAcquireSpinLockAtDpcLevel@8
|
||||
VideoPortAllocateBuffer@12
|
||||
VideoPortAllocateCommonBuffer@24
|
||||
VideoPortAllocateContiguousMemory@12
|
||||
VideoPortAllocatePool@16
|
||||
VideoPortAssociateEventsWithDmaHandle@16
|
||||
;VideoPortCheckForDeviceExistance
|
||||
VideoPortCheckForDeviceExistence@28
|
||||
VideoPortClearEvent@8
|
||||
VideoPortCompareMemory@12
|
||||
VideoPortCompleteDma@16
|
||||
VideoPortCreateEvent@16
|
||||
VideoPortCreateSecondaryDisplay@12
|
||||
VideoPortCreateSpinLock@8
|
||||
VideoPortDDCMonitorHelper@16
|
||||
VideoPortDebugPrint
|
||||
VideoPortDeleteEvent@8
|
||||
VideoPortDeleteSpinLock@8
|
||||
VideoPortDisableInterrupt@4
|
||||
VideoPortDoDma@12
|
||||
VideoPortEnableInterrupt@4
|
||||
VideoPortEnumerateChildren@8
|
||||
;VideoPortFlushRegistry
|
||||
VideoPortFreeCommonBuffer@20
|
||||
VideoPortFreeDeviceBase@8
|
||||
VideoPortFreePool@8
|
||||
VideoPortGetAccessRanges@32
|
||||
VideoPortGetAgpServices@8
|
||||
VideoPortGetAssociatedDeviceExtension@4
|
||||
VideoPortGetAssociatedDeviceID@4
|
||||
VideoPortGetBusData@24
|
||||
VideoPortGetBytesUsed@8
|
||||
VideoPortGetCommonBuffer@24
|
||||
VideoPortGetCurrentIrql@0
|
||||
VideoPortGetDeviceBase@16
|
||||
VideoPortGetDeviceData@16
|
||||
VideoPortGetDmaAdapter@8
|
||||
VideoPortGetDmaContext@8
|
||||
VideoPortGetMdl@8
|
||||
VideoPortGetRegistryParameters@20
|
||||
VideoPortGetRomImage@16
|
||||
VideoPortGetVersion@8
|
||||
VideoPortGetVgaStatus@8
|
||||
VideoPortInitialize@16
|
||||
VideoPortInt10@8
|
||||
@VideoPortInterlockedDecrement@4
|
||||
@VideoPortInterlockedExchange@8
|
||||
@VideoPortInterlockedIncrement@4
|
||||
VideoPortLockBuffer@16
|
||||
VideoPortLockPages@20
|
||||
VideoPortLogError@16
|
||||
VideoPortMapBankedMemory@36
|
||||
VideoPortMapDmaMemory@32
|
||||
VideoPortMapMemory@20
|
||||
VideoPortMoveMemory@12
|
||||
VideoPortPutDmaAdapter@8
|
||||
VideoPortQueryPerformanceCounter@8
|
||||
VideoPortQueryServices@12
|
||||
VideoPortQuerySystemTime@4
|
||||
VideoPortQueueDpc@12
|
||||
VideoPortReadPortBufferUchar@12
|
||||
VideoPortReadPortBufferUlong@12
|
||||
VideoPortReadPortBufferUshort@12
|
||||
VideoPortReadPortUchar@4
|
||||
VideoPortReadPortUlong@4
|
||||
VideoPortReadPortUshort@4
|
||||
VideoPortReadRegisterBufferUchar@12
|
||||
VideoPortReadRegisterBufferUlong@12
|
||||
VideoPortReadRegisterBufferUshort@12
|
||||
VideoPortReadRegisterUchar@4
|
||||
VideoPortReadRegisterUlong@4
|
||||
VideoPortReadRegisterUshort@4
|
||||
VideoPortReadStateEvent@8
|
||||
VideoPortReleaseBuffer@8
|
||||
VideoPortReleaseCommonBuffer@24
|
||||
VideoPortReleaseDeviceLock@4
|
||||
VideoPortReleaseSpinLock@12
|
||||
VideoPortReleaseSpinLockFromDpcLevel@8
|
||||
VideoPortScanRom@16
|
||||
VideoPortSetBusData@24
|
||||
VideoPortSetBytesUsed@12
|
||||
VideoPortSetDmaContext@12
|
||||
VideoPortSetEvent@8
|
||||
VideoPortSetRegistryParameters@16
|
||||
VideoPortSetTrappedEmulatorPorts@12
|
||||
VideoPortSignalDmaComplete@8
|
||||
VideoPortStallExecution@4
|
||||
VideoPortStartDma@32
|
||||
VideoPortStartTimer@4
|
||||
VideoPortStopTimer@4
|
||||
VideoPortSynchronizeExecution@16
|
||||
VideoPortUnlockBuffer@8
|
||||
VideoPortUnlockPages@8
|
||||
VideoPortUnmapDmaMemory@16
|
||||
VideoPortUnmapMemory@12
|
||||
VideoPortVerifyAccessRanges@12
|
||||
VideoPortWaitForSingleObject@12
|
||||
VideoPortWritePortBufferUchar@12
|
||||
VideoPortWritePortBufferUlong@12
|
||||
VideoPortWritePortBufferUshort@12
|
||||
VideoPortWritePortUchar@8
|
||||
VideoPortWritePortUlong@8
|
||||
VideoPortWritePortUshort@8
|
||||
VideoPortWriteRegisterBufferUchar@12
|
||||
VideoPortWriteRegisterBufferUlong@12
|
||||
VideoPortWriteRegisterBufferUshort@12
|
||||
VideoPortWriteRegisterUchar@8
|
||||
VideoPortWriteRegisterUlong@8
|
||||
VideoPortWriteRegisterUshort@8
|
||||
VideoPortZeroDeviceMemory@8
|
||||
VideoPortZeroMemory@8
|
226
winsup/w32api/lib/ddk/win32k.def
Normal file
226
winsup/w32api/lib/ddk/win32k.def
Normal file
@ -0,0 +1,226 @@
|
||||
LIBRARY win32k.sys
|
||||
EXPORTS
|
||||
BRUSHOBJ_hGetColorTransform@4
|
||||
BRUSHOBJ_pvAllocRbrush@8
|
||||
BRUSHOBJ_pvGetRbrush@4
|
||||
BRUSHOBJ_ulGetBrushColor@4
|
||||
CLIPOBJ_bEnum@12
|
||||
CLIPOBJ_cEnumStart@20
|
||||
CLIPOBJ_ppoGetPath@4
|
||||
EngAcquireSemaphore@4
|
||||
EngAllocMem@12
|
||||
EngAllocPrivateUserMem@12
|
||||
;EngAllocSectionMem
|
||||
EngAllocUserMem@8
|
||||
EngAlphaBlend@28
|
||||
EngAssociateSurface@12
|
||||
EngBitBlt@44
|
||||
EngCheckAbort@4
|
||||
EngClearEvent@4
|
||||
EngComputeGlyphSet@12
|
||||
EngControlSprites@8
|
||||
EngCopyBits@24
|
||||
EngCreateBitmap@20
|
||||
EngCreateClip@0
|
||||
EngCreateDeviceBitmap@12
|
||||
EngCreateDeviceSurface@12
|
||||
;EngCreateDriverObj
|
||||
EngCreateEvent@4
|
||||
EngCreatePalette@24
|
||||
EngCreatePath@0
|
||||
EngCreateSemaphore@0
|
||||
EngCreateWnd@20
|
||||
EngDebugBreak@0
|
||||
EngDebugPrint@12
|
||||
EngDeleteClip@4
|
||||
EngDeleteDriverObj@12
|
||||
EngDeleteEvent@4
|
||||
EngDeleteFile@4
|
||||
EngDeletePalette@4
|
||||
EngDeletePath@4
|
||||
EngDeleteSafeSemaphore@4
|
||||
EngDeleteSemaphore@4
|
||||
EngDeleteSurface@4
|
||||
EngDeleteWnd@4
|
||||
EngDeviceIoControl@28
|
||||
EngDitherColor@16
|
||||
;EngDxIoctl
|
||||
EngEnumForms@24
|
||||
EngEraseSurface@12
|
||||
;EngFileIoControl
|
||||
;EngFileWrite
|
||||
EngFillPath@28
|
||||
EngFindImageProcAddress@8
|
||||
EngFindResource@16
|
||||
EngFntCacheAlloc@8
|
||||
EngFntCacheFault@8
|
||||
EngFntCacheLookUp@8
|
||||
EngFreeMem@4
|
||||
EngFreeModule@4
|
||||
EngFreePrivateUserMem@8
|
||||
;EngFreeSectionMem
|
||||
EngFreeUserMem@4
|
||||
EngGetCurrentCodePage@8
|
||||
EngGetCurrentProcessId@0
|
||||
EngGetCurrentThreadId@0
|
||||
EngGetDriverName@4
|
||||
EngGetFileChangeTime@8
|
||||
EngGetFilePath@8
|
||||
EngGetForm@24
|
||||
EngGetLastError@0
|
||||
EngGetPrinter@20
|
||||
EngGetPrinterData@24
|
||||
EngGetPrinterDataFileName@4
|
||||
EngGetPrinterDriver@24
|
||||
EngGetProcessHandle@0
|
||||
;EngGetTickCount
|
||||
EngGetType1FontList@24
|
||||
EngGradientFill@40
|
||||
EngHangNotification@8
|
||||
EngInitializeSafeSemaphore@4
|
||||
EngIsSemaphoreOwned@4
|
||||
EngIsSemaphoreOwnedByCurrentThread@4
|
||||
EngLineTo@36
|
||||
EngLoadImage@4
|
||||
EngLoadModule@4
|
||||
EngLoadModuleForWrite@8
|
||||
EngLockDirectDrawSurface@4
|
||||
;EngLockDriverObj
|
||||
EngLockSurface@4
|
||||
EngLpkInstalled@0
|
||||
EngMapEvent@20
|
||||
EngMapFile@12
|
||||
EngMapFontFile@12
|
||||
EngMapFontFileFD@12
|
||||
EngMapModule@8
|
||||
;EngMapSection
|
||||
EngMarkBandingSurface@4
|
||||
EngModifySurface@32
|
||||
EngMovePointer@16
|
||||
EngMulDiv@12
|
||||
EngMultiByteToUnicodeN@20
|
||||
EngMultiByteToWideChar@20
|
||||
;EngNineGrid
|
||||
EngPaint@20
|
||||
EngPlgBlt@44
|
||||
EngProbeForRead@12
|
||||
EngProbeForReadAndWrite@12
|
||||
EngQueryDeviceAttribute@24
|
||||
EngQueryLocalTime@4
|
||||
EngQueryPalette@16
|
||||
EngQueryPerformanceCounter@4
|
||||
EngQueryPerformanceFrequency@4
|
||||
EngQuerySystemAttribute@8
|
||||
EngReadStateEvent@4
|
||||
EngReleaseSemaphore@4
|
||||
EngRestoreFloatingPointState@4
|
||||
EngSaveFloatingPointState@8
|
||||
EngSecureMem@8
|
||||
EngSetEvent@4
|
||||
EngSetLastError@4
|
||||
EngSetPointerShape@40
|
||||
EngSetPointerTag@20
|
||||
EngSetPrinterData@20
|
||||
EngSort@16
|
||||
EngStretchBlt@44
|
||||
EngStretchBltROP@52
|
||||
EngStrokeAndFillPath@40
|
||||
EngStrokePath@32
|
||||
EngTextOut@40
|
||||
EngTransparentBlt@32
|
||||
EngUnicodeToMultiByteN@20
|
||||
EngUnloadImage@4
|
||||
EngUnlockDirectDrawSurface@4
|
||||
EngUnlockDriverObj@4
|
||||
EngUnlockSurface@4
|
||||
EngUnmapEvent@4
|
||||
EngUnmapFile@4
|
||||
EngUnmapFontFile@4
|
||||
EngUnmapFontFileFD@4
|
||||
EngUnsecureMem@4
|
||||
EngWaitForSingleObject@8
|
||||
EngWideCharToMultiByte@20
|
||||
EngWritePrinter@16
|
||||
FLOATOBJ_Add@8
|
||||
FLOATOBJ_AddFloat@8
|
||||
;FLOATOBJ_AddFloatObj
|
||||
FLOATOBJ_AddLong@8
|
||||
FLOATOBJ_Div@8
|
||||
FLOATOBJ_DivFloat@8
|
||||
;FLOATOBJ_DivFloatObj
|
||||
FLOATOBJ_DivLong@8
|
||||
FLOATOBJ_Equal@8
|
||||
FLOATOBJ_EqualLong@8
|
||||
FLOATOBJ_GetFloat@4
|
||||
FLOATOBJ_GetLong@4
|
||||
FLOATOBJ_GreaterThan@8
|
||||
FLOATOBJ_GreaterThanLong@8
|
||||
FLOATOBJ_LessThan@8
|
||||
FLOATOBJ_LessThanLong@8
|
||||
FLOATOBJ_Mul@8
|
||||
FLOATOBJ_MulFloat@8
|
||||
;FLOATOBJ_MulFloatObj
|
||||
FLOATOBJ_MulLong@8
|
||||
FLOATOBJ_Neg@4
|
||||
FLOATOBJ_SetFloat@8
|
||||
FLOATOBJ_SetLong@8
|
||||
FLOATOBJ_Sub@8
|
||||
FLOATOBJ_SubFloat@8
|
||||
;FLOATOBJ_SubFloatObj
|
||||
FLOATOBJ_SubLong@8
|
||||
FONTOBJ_cGetAllGlyphHandles@8
|
||||
FONTOBJ_cGetGlyphs@20
|
||||
FONTOBJ_pQueryGlyphAttrs@8
|
||||
FONTOBJ_pfdg@4
|
||||
FONTOBJ_pifi@4
|
||||
FONTOBJ_pjOpenTypeTablePointer@12
|
||||
FONTOBJ_pvTrueTypeFontFile@8
|
||||
FONTOBJ_pwszFontFilePaths@8
|
||||
FONTOBJ_pxoGetXform@4
|
||||
FONTOBJ_vGetInfo@12
|
||||
HT_ComputeRGBGammaTable@24
|
||||
HT_Get8BPPFormatPalette@16
|
||||
HT_Get8BPPMaskPalette@24
|
||||
HeapVidMemAllocAligned@20
|
||||
PALOBJ_cGetColors@16
|
||||
PATHOBJ_bCloseFigure@4
|
||||
PATHOBJ_bEnum@8
|
||||
PATHOBJ_bEnumClipLines@12
|
||||
PATHOBJ_bMoveTo@8
|
||||
PATHOBJ_bPolyBezierTo@12
|
||||
PATHOBJ_bPolyLineTo@12
|
||||
PATHOBJ_vEnumStart@4
|
||||
PATHOBJ_vEnumStartClipLines@16
|
||||
PATHOBJ_vGetBounds@8
|
||||
;RtlAnsiCharToUnicodeChar
|
||||
;RtlMultiByteToUnicodeN
|
||||
;RtlRaiseException
|
||||
;RtlUnicodeToMultiByteN
|
||||
;RtlUnicodeToMultiByteSize
|
||||
;RtlUnwind
|
||||
RtlUpcaseUnicodeChar@4
|
||||
;RtlUpcaseUnicodeToMultiByteN
|
||||
STROBJ_bEnum@12
|
||||
STROBJ_bEnumPositionsOnly@12
|
||||
STROBJ_bGetAdvanceWidths@16
|
||||
STROBJ_dwGetCodePage@4
|
||||
STROBJ_fxBreakExtra@4
|
||||
STROBJ_fxCharacterExtra@4
|
||||
STROBJ_vEnumStart@4
|
||||
VidMemFree@8
|
||||
WNDOBJ_bEnum@12
|
||||
WNDOBJ_cEnumStart@16
|
||||
WNDOBJ_vSetConsumer@8
|
||||
XFORMOBJ_bApplyXform@20
|
||||
XFORMOBJ_iGetFloatObjXform@8
|
||||
XFORMOBJ_iGetXform@8
|
||||
XLATEOBJ_cGetPalette@16
|
||||
XLATEOBJ_hGetColorTransform@4
|
||||
XLATEOBJ_iXlate@8
|
||||
XLATEOBJ_piVector@4
|
||||
;_abnormal_termination
|
||||
;_except_handler2
|
||||
;_global_unwind2
|
||||
;_itoa
|
||||
;_itow
|
||||
;_local_unwind2
|
Loading…
x
Reference in New Issue
Block a user