- Add DDK. Added: trunk/reactos/include/ddk/ Added: trunk/reactos/include/ddk/afilter.h Added: trunk/reactos/include/ddk/atm.h Added: trunk/reactos/include/ddk/batclass.h Added: trunk/reactos/include/ddk/cfg.h Added: trunk/reactos/include/ddk/cfgmgr32.h Added: trunk/reactos/include/ddk/csq.h Added: trunk/reactos/include/ddk/d3dhal.h Added: trunk/reactos/include/ddk/d3dnthal.h Added: trunk/reactos/include/ddk/d4drvif.h Added: trunk/reactos/include/ddk/d4iface.h Added: trunk/reactos/include/ddk/dciddi.h Added: trunk/reactos/include/ddk/ddkernel.h Added: trunk/reactos/include/ddk/ddkmapi.h Added: trunk/reactos/include/ddk/ddrawi.h Added: trunk/reactos/include/ddk/ddrawint.h Added: trunk/reactos/include/ddk/dmemmgr.h Added: trunk/reactos/include/ddk/dvp.h Added: trunk/reactos/include/ddk/hidclass.h Added: trunk/reactos/include/ddk/hidpi.h Added: trunk/reactos/include/ddk/hidusage.h Added: trunk/reactos/include/ddk/ide.h Added: trunk/reactos/include/ddk/kbdmou.h Added: trunk/reactos/include/ddk/mcd.h Added: trunk/reactos/include/ddk/miniport.h Added: trunk/reactos/include/ddk/minitape.h Added: trunk/reactos/include/ddk/mountdev.h Added: trunk/reactos/include/ddk/mountmgr.h Added: trunk/reactos/include/ddk/ndis.h Added: trunk/reactos/include/ddk/ndisguid.h Added: trunk/reactos/include/ddk/ndistapi.h Added: trunk/reactos/include/ddk/ndiswan.h Added: trunk/reactos/include/ddk/netevent.h Added: trunk/reactos/include/ddk/netpnp.h Added: trunk/reactos/include/ddk/newdev.h Added: trunk/reactos/include/ddk/ntagp.h Added: trunk/reactos/include/ddk/ntdd8042.h Added: trunk/reactos/include/ddk/ntddbeep.h Added: trunk/reactos/include/ddk/ntddcdrm.h Added: trunk/reactos/include/ddk/ntddcdvd.h Added: trunk/reactos/include/ddk/ntddchgr.h Added: trunk/reactos/include/ddk/ntdddisk.h Added: trunk/reactos/include/ddk/ntddk.h Added: trunk/reactos/include/ddk/ntddkbd.h Added: trunk/reactos/include/ddk/ntddmou.h Added: trunk/reactos/include/ddk/ntddndis.h Added: trunk/reactos/include/ddk/ntddpar.h Added: trunk/reactos/include/ddk/ntddpcm.h Added: trunk/reactos/include/ddk/ntddscsi.h Added: trunk/reactos/include/ddk/ntddser.h Added: trunk/reactos/include/ddk/ntddstor.h Added: trunk/reactos/include/ddk/ntddtape.h Added: trunk/reactos/include/ddk/ntddtdi.h Added: trunk/reactos/include/ddk/ntddvdeo.h Added: trunk/reactos/include/ddk/ntddvol.h Added: trunk/reactos/include/ddk/ntifs.h Added: trunk/reactos/include/ddk/ntnls.h Added: trunk/reactos/include/ddk/ntpoapi.h Added: trunk/reactos/include/ddk/ntstatus.h Added: trunk/reactos/include/ddk/parallel.h Added: trunk/reactos/include/ddk/pfhook.h Added: trunk/reactos/include/ddk/poclass.h Added: trunk/reactos/include/ddk/prntfont.h Added: trunk/reactos/include/ddk/scsi.h Added: trunk/reactos/include/ddk/scsiscan.h Added: trunk/reactos/include/ddk/scsiwmi.h Added: trunk/reactos/include/ddk/smbus.h Added: trunk/reactos/include/ddk/srb.h Added: trunk/reactos/include/ddk/storport.h Added: trunk/reactos/include/ddk/tdi.h Added: trunk/reactos/include/ddk/tdiinfo.h Added: trunk/reactos/include/ddk/tdikrnl.h Added: trunk/reactos/include/ddk/tdistat.h Added: trunk/reactos/include/ddk/tvout.h Added: trunk/reactos/include/ddk/upssvc.h Added: trunk/reactos/include/ddk/usb.h Added: trunk/reactos/include/ddk/usb100.h Added: trunk/reactos/include/ddk/usbcamdi.h Added: trunk/reactos/include/ddk/usbdi.h Added: trunk/reactos/include/ddk/usbioctl.h Added: trunk/reactos/include/ddk/usbiodef.h Added: trunk/reactos/include/ddk/usbscan.h Added: trunk/reactos/include/ddk/usbuser.h Added: trunk/reactos/include/ddk/video.h Added: trunk/reactos/include/ddk/videoagp.h Added: trunk/reactos/include/ddk/wdmguid.h Added: trunk/reactos/include/ddk/win2k.h Added: trunk/reactos/include/ddk/winddi.h Added: trunk/reactos/include/ddk/winddk.h Added: trunk/reactos/include/ddk/winnt4.h Added: trunk/reactos/include/ddk/winxp.h Added: trunk/reactos/include/ddk/ws2san.h Added: trunk/reactos/include/ddk/xfilter.h _____
Added: trunk/reactos/include/ddk/afilter.h --- trunk/reactos/include/ddk/afilter.h 2006-01-28 18:22:54 UTC (rev 17) +++ trunk/reactos/include/ddk/afilter.h 2006-01-28 18:25:42 UTC (rev 18) @@ -0,0 +1,189 @@
+/* + * afilter.h + * + * Address filtering for NDIS MACs + * + * This file is part of the w32api package. + * + * Contributors: + * Created by Filip Navara xnavara@volny.cz + * + * THIS SOFTWARE IS NOT COPYRIGHTED + * + * This source code is offered for use in the public domain. You may + * use, modify or distribute it freely. + * + * This code is distributed in the hope that it will be useful but + * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY + * DISCLAIMED. This includes but is not limited to warranties of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + */ + +#ifndef _ARC_FILTER_DEFS_ +#define _ARC_FILTER_DEFS_ + +#if __GNUC__ >=3 +#pragma GCC system_header +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +#define ARC_RECEIVE_BUFFERS 64 +#define ARCNET_ADDRESS_LEN 1 +#define ARC_PROTOCOL_HEADER_SIZE (sizeof(ARC_PROTOCOL_HEADER)) +#define ARC_MAX_FRAME_SIZE 504 +#define ARC_MAX_ADDRESS_IDS 256 +#define ARC_MAX_FRAME_HEADER_SIZE 6 +#define ARC_MAX_PACKET_SIZE 576 +#define ARC_FILTER_MAX_OPENS (sizeof(ULONG) * 8) + +#define ARC_IS_BROADCAST(Address) (BOOLEAN)(!(Address)) + +#define ARC_QUERY_FILTER_CLASSES(Filter) ((Filter)->CombinedPacketFilter) +#define ARC_QUERY_PACKET_FILTER(Filter, NdisFilterHandle) \ + (((PARC_BINDING_INFO)(NdisFilterHandle))->PacketFilters) + +typedef ULONG MASK, *PMASK; + +typedef struct _ARC_BUFFER_LIST +{ + PVOID Buffer; + UINT Size; + UINT BytesLeft; + struct _ARC_BUFFER_LIST *Next; +} ARC_BUFFER_LIST, *PARC_BUFFER_LIST; + +typedef struct _ARC_PROTOCOL_HEADER +{ + UCHAR SourceId[ARCNET_ADDRESS_LEN]; + UCHAR DestId[ARCNET_ADDRESS_LEN]; + UCHAR ProtId; +} ARC_PROTOCOL_HEADER, *PARC_PROTOCOL_HEADER; + +typedef struct _ARC_PACKET_HEADER +{ + ARC_PROTOCOL_HEADER ProtHeader; + USHORT FrameSequence; + UCHAR SplitFlag; + UCHAR LastSplitFlag; + UCHAR FramesReceived; +} ARC_PACKET_HEADER, *PARC_PACKET_HEADER; + +typedef struct _ARC_PACKET +{ + ARC_PACKET_HEADER Header; + struct _ARC_PACKET *Next; + ULONG TotalLength; + BOOLEAN LastFrame; + PARC_BUFFER_LIST FirstBuffer; + PARC_BUFFER_LIST LastBuffer; + NDIS_PACKET TmpNdisPacket; +} ARC_PACKET, *PARC_PACKET; + +typedef struct _ARC_BINDING_INFO +{ + PNDIS_OPEN_BLOCK NdisBindingHandle; + PVOID Reserved; + UINT PacketFilters; + ULONG References; + struct _ARC_BINDING_INFO *NextOpen; + BOOLEAN ReceivedAPacket; + UINT OldPacketFilters; +} ARC_BINDING_INFO,*PARC_BINDING_INFO; + +typedef struct _ARC_FILTER +{ + struct _NDIS_MINIPORT_BLOCK *Miniport; + UINT CombinedPacketFilter; + PARC_BINDING_INFO OpenList; + NDIS_HANDLE ReceiveBufferPool; + PARC_BUFFER_LIST FreeBufferList; + PARC_PACKET FreePackets; + PARC_PACKET OutstandingPackets; + UCHAR AdapterAddress; + UINT OldCombinedPacketFilter; +} ARC_FILTER,*PARC_FILTER; + +BOOLEAN +DDKAPI +ArcCreateFilter( + IN struct _NDIS_MINIPORT_BLOCK *Miniport, + IN UCHAR AdapterAddress, + OUT PARC_FILTER *Filter); + +VOID +DDKAPI +ArcDeleteFilter( + IN PARC_FILTER Filter); + +BOOLEAN +DDKAPI +ArcNoteFilterOpenAdapter( + IN PARC_FILTER Filter, + IN NDIS_HANDLE NdisBindingHandle, + OUT PNDIS_HANDLE NdisFilterHandle); + +NDIS_STATUS +DDKAPI +ArcDeleteFilterOpenAdapter( + IN PARC_FILTER Filter, + IN NDIS_HANDLE NdisFilterHandle, + IN PNDIS_REQUEST NdisRequest); + +NDIS_STATUS +DDKAPI +ArcFilterAdjust( + IN PARC_FILTER Filter, + IN NDIS_HANDLE NdisFilterHandle, + IN PNDIS_REQUEST NdisRequest, + IN UINT FilterClasses, + IN BOOLEAN Set); + +VOID +DDKAPI +ArcFilterDprIndicateReceiveComplete( + IN PARC_FILTER Filter); + +VOID +DDKAPI +ArcFilterDprIndicateReceive( + IN PARC_FILTER Filter, + IN PUCHAR pRawHeader, + IN PUCHAR pData, + IN UINT Length); + +NDIS_STATUS +DDKAPI +ArcFilterTransferData( + IN PARC_FILTER Filter, + IN NDIS_HANDLE MacReceiveContext, + IN UINT ByteOffset, + IN UINT BytesToTransfer, + OUT PNDIS_PACKET Packet, + OUT PUINT BytesTransfered); + +VOID +DDKAPI +ArcFreeNdisPacket( + IN PARC_PACKET Packet); + +VOID +DDKAPI +ArcFilterDoIndication( + IN PARC_FILTER Filter, + IN PARC_PACKET Packet); + +VOID +DDKAPI +ArcDestroyPacket( + IN PARC_FILTER Filter, + IN PARC_PACKET Packet); + +#ifdef __cplusplus +} +#endif + +#endif /* _ARC_FILTER_DEFS_ */ _____
Added: trunk/reactos/include/ddk/atm.h --- trunk/reactos/include/ddk/atm.h 2006-01-28 18:22:54 UTC (rev 17) +++ trunk/reactos/include/ddk/atm.h 2006-01-28 18:25:42 UTC (rev 18) @@ -0,0 +1,507 @@
+/* + * atm.h + * + * ATM support + * + * This file is part of the w32api package. + * + * Contributors: + * Created by Casper S. Hornstrup chorns@users.sourceforge.net + * + * THIS SOFTWARE IS NOT COPYRIGHTED + * + * This source code is offered for use in the public domain. You may + * use, modify or distribute it freely. + * + * This code is distributed in the hope that it will be useful but + * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY + * DISCLAIMED. This includes but is not limited to warranties of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + */ + +#ifndef _ATM_H +#define _ATM_H + +#if __GNUC__ >=3 +#pragma GCC system_header +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +typedef ULONG ATM_ADDRESSTYPE; + +#define SAP_TYPE_NSAP 1 +#define SAP_TYPE_E164 2 + +#define ATM_MEDIA_SPECIFIC 1 + +#define CALLMGR_SPECIFIC_Q2931 1 + +#define ATM_NSAP 0 +#define ATM_E164 1 + +#define ATM_MAC_ADDRESS_LENGTH 6 +#define ATM_ADDRESS_LENGTH 20 + +typedef ULONG ATM_AAL_TYPE, *PATM_AAL_TYPE; + +#define AAL_TYPE_AAL0 1 +#define AAL_TYPE_AAL1 2 +#define AAL_TYPE_AAL34 4 +#define AAL_TYPE_AAL5 8 + +#define ATM_ADDR_BLANK_CHAR L' ' +#define ATM_ADDR_E164_START_CHAR L'+' +#define ATM_ADDR_PUNCTUATION_CHAR L'.' + +typedef enum { + IE_AALParameters, + IE_TrafficDescriptor, + IE_BroadbandBearerCapability, + IE_BHLI, + IE_BLLI, + IE_CalledPartyNumber, + IE_CalledPartySubaddress, + IE_CallingPartyNumber, + IE_CallingPartySubaddress, + IE_Cause, + IE_QOSClass, + IE_TransitNetworkSelection, + IE_BroadbandSendingComplete, + IE_LIJCallId, + IE_Raw +} Q2931_IE_TYPE; + +typedef struct _Q2931_IE { + Q2931_IE_TYPE IEType; + ULONG IELength; + UCHAR IE[1]; +} Q2931_IE, *PQ2931_IE; + +typedef struct _AAL1_PARAMETERS { + UCHAR Subtype; + UCHAR CBRRate; + USHORT Multiplier; + UCHAR SourceClockRecoveryMethod; + UCHAR ErrorCorrectionMethod; + USHORT StructuredDataTransferBlocksize; + UCHAR PartiallyFilledCellsMethod; +} AAL1_PARAMETERS, *PAAL1_PARAMETERS; + +typedef struct _AAL34_PARAMETERS { + USHORT ForwardMaxCPCSSDUSize; + USHORT BackwardMaxCPCSSDUSize; + USHORT LowestMID; + USHORT HighestMID; + UCHAR SSCSType; +} AAL34_PARAMETERS, *PAAL34_PARAMETERS; + +/* AAL5_PARAMETERS.Mode constants */ +#define AAL5_MODE_MESSAGE 0x01 +#define AAL5_MODE_STREAMING 0x02 + +/* AAL5_PARAMETERS.SSCSType constants */ +#define AAL5_SSCS_NULL 0x00 +#define AAL5_SSCS_SSCOP_ASSURED 0x01 +#define AAL5_SSCS_SSCOP_NON_ASSURED 0x02 +#define AAL5_SSCS_FRAME_RELAY 0x04 + +typedef struct _AAL5_PARAMETERS { + ULONG ForwardMaxCPCSSDUSize; + ULONG BackwardMaxCPCSSDUSize; + UCHAR Mode; + UCHAR SSCSType; +} AAL5_PARAMETERS, *PAAL5_PARAMETERS; + +typedef struct _AALUSER_PARAMETERS { + ULONG UserDefined; +} AALUSER_PARAMETERS, *PAALUSER_PARAMETERS; + +typedef struct _AAL_PARAMETERS_IE { + ATM_AAL_TYPE AALType; + union { + AAL1_PARAMETERS AAL1Parameters; + AAL34_PARAMETERS AAL34Parameters; + AAL5_PARAMETERS AAL5Parameters; + AALUSER_PARAMETERS AALUserParameters; + } AALSpecificParameters; +} AAL_PARAMETERS_IE, *PAAL_PARAMETERS_IE; + + +/* FIXME: Should the union be anonymous in C++ too? If so, + can't define named types _ATM_AAL5_INFO and _ATM_AAL0_INFO + within anonymous union for C++. */ +typedef struct _ATM_AAL_OOB_INFO +{ + ATM_AAL_TYPE AalType; +#ifndef __cplusplus + _ANONYMOUS_UNION +#endif + union { + struct _ATM_AAL5_INFO { + BOOLEAN CellLossPriority; + UCHAR UserToUserIndication; + UCHAR CommonPartIndicator; + } ATM_AAL5_INFO; + + struct _ATM_AAL0_INFO { + BOOLEAN CellLossPriority; + UCHAR PayLoadTypeIdentifier; + } ATM_AAL0_INFO; +#ifndef __cplusplus + } DUMMYUNIONNAME; +#else + } u; +#endif +} ATM_AAL_OOB_INFO, *PATM_AAL_OOB_INFO; + +typedef struct _ATM_ADDRESS { + ATM_ADDRESSTYPE AddressType; + ULONG NumberOfDigits; + UCHAR Address[ATM_ADDRESS_LENGTH]; +} ATM_ADDRESS, *PATM_ADDRESS; + +/* ATM_BHLI_IE.HighLayerInfoType constants */ +#define BHLI_ISO 0x00 +#define BHLI_UserSpecific 0x01 +#define BHLI_HighLayerProfile 0x02 +#define BHLI_VendorSpecificAppId 0x03 + +typedef struct _ATM_BHLI_IE { + ULONG HighLayerInfoType; + ULONG HighLayerInfoLength; + UCHAR HighLayerInfo[8]; +} ATM_BHLI_IE, *PATM_BHLI_IE; + +/* ATM_BLLI_IE.Layer2Protocol constants */ +#define BLLI_L2_ISO_1745 0x01 +#define BLLI_L2_Q921 0x02 +#define BLLI_L2_X25L 0x06 +#define BLLI_L2_X25M 0x07 +#define BLLI_L2_ELAPB 0x08 +#define BLLI_L2_HDLC_ARM 0x09 +#define BLLI_L2_HDLC_NRM 0x0A +#define BLLI_L2_HDLC_ABM 0x0B +#define BLLI_L2_LLC 0x0C +#define BLLI_L2_X75 0x0D +#define BLLI_L2_Q922 0x0E +#define BLLI_L2_USER_SPECIFIED 0x10 +#define BLLI_L2_ISO_7776 0x11 + +/* ATM_BLLI_IE.Layer3Protocol constants */ +#define BLLI_L3_X25 0x06 +#define BLLI_L3_ISO_8208 0x07 +#define BLLI_L3_X223 0x08 +#define BLLI_L3_SIO_8473 0x09 +#define BLLI_L3_T70 0x0A +#define BLLI_L3_ISO_TR9577 0x0B +#define BLLI_L3_USER_SPECIFIED 0x10 + +/* ATM_BLLI_IE.Layer3IPI constants */ +#define BLLI_L3_IPI_SNAP 0x80 +#define BLLI_L3_IPI_IP 0xCC + +typedef struct _ATM_BLLI_IE { + ULONG Layer2Protocol; + UCHAR Layer2Mode; + UCHAR Layer2WindowSize; + ULONG Layer2UserSpecifiedProtocol; + ULONG Layer3Protocol; + UCHAR Layer3Mode; + UCHAR Layer3DefaultPacketSize; + UCHAR Layer3PacketWindowSize; + ULONG Layer3UserSpecifiedProtocol; + ULONG Layer3IPI; + UCHAR SnapId[5]; +} ATM_BLLI_IE, *PATM_BLLI_IE; + +/* ATM_BROADBAND_BEARER_CAPABILITY_IE.BearerClass constants */ +#define BCOB_A 0x00 +#define BCOB_C 0x01 +#define BCOB_X 0x02 + +/* ATM_BROADBAND_BEARER_CAPABILITY_IE.TrafficType constants */ +#define TT_NOIND 0x00 +#define TT_CBR 0x04 +#define TT_VBR 0x08 + +/* ATM_BROADBAND_BEARER_CAPABILITY_IE.TimingRequirements constants */ +#define TR_NOIND 0x00 +#define TR_END_TO_END 0x01 +#define TR_NO_END_TO_END 0x02 + +/* ATM_BROADBAND_BEARER_CAPABILITY_IE.ClippingSusceptability constants */ +#define CLIP_NOT 0x00 +#define CLIP_SUS 0x20 + +/* ATM_BROADBAND_BEARER_CAPABILITY_IE.UserPlaneConnectionConfig constants */ +#define UP_P2P 0x00 +#define UP_P2MP 0x01 + +typedef struct _ATM_BROADBAND_BEARER_CAPABILITY_IE { + UCHAR BearerClass; + UCHAR TrafficType; + UCHAR TimingRequirements; + UCHAR ClippingSusceptability; + UCHAR UserPlaneConnectionConfig; +} ATM_BROADBAND_BEARER_CAPABILITY_IE, *PATM_BROADBAND_BEARER_CAPABILITY_IE; + +typedef struct _ATM_BROADBAND_SENDING_COMPLETE_IE { + UCHAR SendingComplete; +} ATM_BROADBAND_SENDING_COMPLETE_IE, *PATM_BROADBAND_SENDING_COMPLETE_IE; + +typedef struct _ATM_CALLING_PARTY_NUMBER_IE { + ATM_ADDRESS Number; + UCHAR PresentationIndication; + UCHAR ScreeningIndicator; +} ATM_CALLING_PARTY_NUMBER_IE, *PATM_CALLING_PARTY_NUMBER_IE; + +/* ATM_CAUSE_IE.Location constants */ +#define ATM_CAUSE_LOC_USER 0x00 +#define ATM_CAUSE_LOC_PRIVATE_LOCAL 0x01 +#define ATM_CAUSE_LOC_PUBLIC_LOCAL 0x02 +#define ATM_CAUSE_LOC_TRANSIT_NETWORK 0x03 +#define ATM_CAUSE_LOC_PUBLIC_REMOTE 0x04 +#define ATM_CAUSE_LOC_PRIVATE_REMOTE 0x05 +#define ATM_CAUSE_LOC_INTERNATIONAL_NETWORK 0x07 +#define ATM_CAUSE_LOC_BEYOND_INTERWORKING 0x0A + +/* ATM_CAUSE_IE.Cause constants */ +#define ATM_CAUSE_UNALLOCATED_NUMBER 0x01 +#define ATM_CAUSE_NO_ROUTE_TO_TRANSIT_NETWORK 0x02 +#define ATM_CAUSE_NO_ROUTE_TO_DESTINATION 0x03 +#define ATM_CAUSE_VPI_VCI_UNACCEPTABLE 0x0A +#define ATM_CAUSE_NORMAL_CALL_CLEARING 0x10 +#define ATM_CAUSE_USER_BUSY 0x11 +#define ATM_CAUSE_NO_USER_RESPONDING 0x12 +#define ATM_CAUSE_CALL_REJECTED 0x15 +#define ATM_CAUSE_NUMBER_CHANGED 0x16 +#define ATM_CAUSE_USER_REJECTS_CLIR 0x17 +#define ATM_CAUSE_DESTINATION_OUT_OF_ORDER 0x1B +#define ATM_CAUSE_INVALID_NUMBER_FORMAT 0x1C +#define ATM_CAUSE_STATUS_ENQUIRY_RESPONSE 0x1E +#define ATM_CAUSE_NORMAL_UNSPECIFIED 0x1F +#define ATM_CAUSE_VPI_VCI_UNAVAILABLE 0x23 +#define ATM_CAUSE_NETWORK_OUT_OF_ORDER 0x26 +#define ATM_CAUSE_TEMPORARY_FAILURE 0x29 +#define ATM_CAUSE_ACCESS_INFORMAION_DISCARDED 0x2B +#define ATM_CAUSE_NO_VPI_VCI_AVAILABLE 0x2D +#define ATM_CAUSE_RESOURCE_UNAVAILABLE 0x2F +#define ATM_CAUSE_QOS_UNAVAILABLE 0x31 +#define ATM_CAUSE_USER_CELL_RATE_UNAVAILABLE 0x33 +#define ATM_CAUSE_BEARER_CAPABILITY_UNAUTHORIZED 0x39 +#define ATM_CAUSE_BEARER_CAPABILITY_UNAVAILABLE 0x3A +#define ATM_CAUSE_OPTION_UNAVAILABLE 0x3F +#define ATM_CAUSE_BEARER_CAPABILITY_UNIMPLEMENTED 0x41 +#define ATM_CAUSE_UNSUPPORTED_TRAFFIC_PARAMETERS 0x49 +#define ATM_CAUSE_INVALID_CALL_REFERENCE 0x51 +#define ATM_CAUSE_CHANNEL_NONEXISTENT 0x52 +#define ATM_CAUSE_INCOMPATIBLE_DESTINATION 0x58 +#define ATM_CAUSE_INVALID_ENDPOINT_REFERENCE 0x59 +#define ATM_CAUSE_INVALID_TRANSIT_NETWORK_SELECTION 0x5B +#define ATM_CAUSE_TOO_MANY_PENDING_ADD_PARTY 0x5C +#define ATM_CAUSE_AAL_PARAMETERS_UNSUPPORTED 0x5D +#define ATM_CAUSE_MANDATORY_IE_MISSING 0x60 +#define ATM_CAUSE_UNIMPLEMENTED_MESSAGE_TYPE 0x61 +#define ATM_CAUSE_UNIMPLEMENTED_IE 0x63 +#define ATM_CAUSE_INVALID_IE_CONTENTS 0x64 +#define ATM_CAUSE_INVALID_STATE_FOR_MESSAGE 0x65 +#define ATM_CAUSE_RECOVERY_ON_TIMEOUT 0x66 +#define ATM_CAUSE_INCORRECT_MESSAGE_LENGTH 0x68 +#define ATM_CAUSE_PROTOCOL_ERROR 0x6F + +/* ATM_CAUSE_IE.Diagnostics constants */ +#define ATM_CAUSE_COND_UNKNOWN 0x00 +#define ATM_CAUSE_COND_PERMANENT 0x01 +#define ATM_CAUSE_COND_TRANSIENT 0x02 +#define ATM_CAUSE_REASON_USER 0x00 +#define ATM_CAUSE_REASON_IE_MISSING 0x04 +#define ATM_CAUSE_REASON_IE_INSUFFICIENT 0x08 +#define ATM_CAUSE_PU_PROVIDER 0x00 +#define ATM_CAUSE_PU_USER 0x08 +#define ATM_CAUSE_NA_NORMAL 0x00 +#define ATM_CAUSE_NA_ABNORMAL 0x04 + +typedef struct _ATM_CAUSE_IE { + UCHAR Location; + UCHAR Cause; + UCHAR DiagnosticsLength; + UCHAR Diagnostics[4]; +} ATM_CAUSE_IE, *PATM_CAUSE_IE; + + +typedef ULONG ATM_SERVICE_CATEGORY, *PATM_SERVICE_CATEGORY; + +/* ATM_FLOW_PARAMETERS.ServiceCategory constants */ +#define ATM_SERVICE_CATEGORY_CBR 1 +#define ATM_SERVICE_CATEGORY_VBR 2 +#define ATM_SERVICE_CATEGORY_UBR 4 +#define ATM_SERVICE_CATEGORY_ABR 8 + +/* ATM_FLOW_PARAMETERS.Reserved1 constants */ +#define ATM_FLOW_PARAMS_RSVD1_MPP 0x01 + +typedef struct _ATM_FLOW_PARAMETERS { + ATM_SERVICE_CATEGORY ServiceCategory; + ULONG AverageCellRate; + ULONG PeakCellRate; + ULONG MinimumCellRate; + ULONG InitialCellRate; + ULONG BurstLengthCells; + ULONG MaxSduSize; + ULONG TransientBufferExposure; + ULONG CumulativeRMFixedRTT; + UCHAR RateIncreaseFactor; + UCHAR RateDecreaseFactor; + USHORT ACRDecreaseTimeFactor; + UCHAR MaximumCellsPerForwardRMCell; + UCHAR MaximumForwardRMCellInterval; + UCHAR CutoffDecreaseFactor; + UCHAR Reserved1; + ULONG MissingRMCellCount; + ULONG Reserved2; + ULONG Reserved3; +} ATM_FLOW_PARAMETERS, *PATM_FLOW_PARAMETERS; + +typedef struct _ATM_VPIVCI { + ULONG Vpi; + ULONG Vci; +} ATM_VPIVCI, *PATM_VPIVCI; + +typedef struct _ATM_MEDIA_PARAMETERS { + ATM_VPIVCI ConnectionId; + ATM_AAL_TYPE AALType; + ULONG CellDelayVariationCLP0; + ULONG CellDelayVariationCLP1; + ULONG CellLossRatioCLP0; + ULONG CellLossRatioCLP1; + ULONG CellTransferDelayCLP0; + ULONG CellTransferDelayCLP1; + ULONG DefaultCLP; + ATM_FLOW_PARAMETERS Transmit; + ATM_FLOW_PARAMETERS Receive; +} ATM_MEDIA_PARAMETERS, *PATM_MEDIA_PARAMETERS; + +typedef struct _ATM_PVC_SAP { + ATM_BLLI_IE Blli; + ATM_BHLI_IE Bhli; +} ATM_PVC_SAP, *PATM_PVC_SAP; + +/* ATM_QOS_CLASS_IE constants */ +#define QOS_CLASS0 0x00 +#define QOS_CLASS1 0x01 +#define QOS_CLASS2 0x02 +#define QOS_CLASS3 0x03 +#define QOS_CLASS4 0x04 + +typedef struct _ATM_QOS_CLASS_IE { + UCHAR QOSClassForward; + UCHAR QOSClassBackward; +} ATM_QOS_CLASS_IE, *PATM_QOS_CLASS_IE; + +typedef struct _ATM_RAW_IE { + ULONG RawIELength; + ULONG RawIEType; + UCHAR RawIEValue[1]; +} ATM_RAW_IE, *PATM_RAW_IE; + +typedef struct _ATM_SAP { + ATM_BLLI_IE Blli; + ATM_BHLI_IE Bhli; + ULONG NumberOfAddresses; + UCHAR Addresses[1]; +} ATM_SAP, *PATM_SAP; + +typedef struct _ATM_TRAFFIC_DESCRIPTOR { + ULONG PeakCellRateCLP0; + ULONG PeakCellRateCLP01; + ULONG SustainableCellRateCLP0; + ULONG SustainableCellRateCLP01; + ULONG MaximumBurstSizeCLP0; + ULONG MaximumBurstSizeCLP01; + BOOLEAN BestEffort; + BOOLEAN Tagging; +} ATM_TRAFFIC_DESCRIPTOR, *PATM_TRAFFIC_DESCRIPTOR; + +typedef struct _ATM_TRAFFIC_DESCRIPTOR_IE { + ATM_TRAFFIC_DESCRIPTOR ForwardTD; + ATM_TRAFFIC_DESCRIPTOR BackwardTD; + BOOLEAN BestEffort; +} ATM_TRAFFIC_DESCRIPTOR_IE, *PATM_TRAFFIC_DESCRIPTOR_IE; + +/* ATM_TRANSIT_NETWORK_SELECTION_IE.TypeOfNetworkId constants */ +#define TNS_TYPE_NATIONAL 0x40 + +/* ATM_TRANSIT_NETWORK_SELECTION_IE.NetworkIdPlan constants */ +#define TNS_PLAN_CARRIER_ID_CODE 0x01 + +typedef struct _ATM_TRANSIT_NETWORK_SELECTION_IE { + UCHAR TypeOfNetworkId; + UCHAR NetworkIdPlan; + UCHAR NetworkIdLength; + UCHAR NetworkId[1]; +} ATM_TRANSIT_NETWORK_SELECTION_IE, *PATM_TRANSIT_NETWORK_SELECTION_IE; + +typedef struct _ATM_LIJ_CALLID_IE { + ULONG Identifier; +} ATM_LIJ_CALLID_IE, *PATM_LIJ_CALLID_IE; + +/* Q2931_ADD_PVC.Flags constants */ +#define CO_FLAG_SIGNALING_VC 0x00000001 +#define CO_FLAG_NO_DEST_SAP 0x00000002 + +typedef struct _Q2931_ADD_PVC { + ATM_ADDRESS CalledParty; + ATM_ADDRESS CallingParty; + ATM_VPIVCI ConnectionId; + ATM_AAL_TYPE AALType; + ATM_FLOW_PARAMETERS ForwardFP; + ATM_FLOW_PARAMETERS BackwardFP; + ULONG Flags; + ATM_PVC_SAP LocalSap; + ATM_PVC_SAP DestinationSap; + BOOLEAN LIJIdPresent; + ATM_LIJ_CALLID_IE LIJId; +} Q2931_ADD_PVC, *PQ2931_ADD_PVC; + +typedef struct _Q2931_DELETE_PVC { + ATM_VPIVCI ConnectionId; +} Q2931_DELETE_PVC, *PQ2931_DELETE_PVC; + +typedef ATM_ADDRESS ATM_CALLED_PARTY_NUMBER_IE; +typedef ATM_ADDRESS ATM_CALLED_PARTY_SUBADDRESS_IE; +typedef ATM_ADDRESS ATM_CALLING_PARTY_SUBADDRESS_IE; + +typedef struct _Q2931_CALLMGR_PARAMETERS { + ATM_ADDRESS CalledParty; + ATM_ADDRESS CallingParty; + ULONG InfoElementCount; + UCHAR InfoElements[1]; +} Q2931_CALLMGR_PARAMETERS, *PQ2931_CALLMGR_PARAMETERS; + +typedef struct _ATM_VC_RATES_SUPPORTED { + ULONG MinCellRate; + ULONG MaxCellRate; +} ATM_VC_RATES_SUPPORTED, *PATM_VC_RATES_SUPPORTED; + +typedef ULONG ATM_SERVICE_REGISTRY_TYPE; + +/* ATM_SERVICE_ADDRESS_LIST.ServiceRegistryType constants */ +#define ATM_SERVICE_REGISTRY_LECS 1 +#define ATM_SERVICE_REGISTRY_ANS 2 + +typedef struct _ATM_SERVICE_ADDRESS_LIST { + ATM_SERVICE_REGISTRY_TYPE ServiceRegistryType; + ULONG NumberOfAddressesAvailable; + ULONG NumberOfAddressesReturned; + ATM_ADDRESS Address[1]; +} ATM_SERVICE_ADDRESS_LIST, *PATM_SERVICE_ADDRESS_LIST; + +#ifdef __cplusplus +} +#endif + +#endif /* _ATM_H */ _____
Added: trunk/reactos/include/ddk/batclass.h --- trunk/reactos/include/ddk/batclass.h 2006-01-28 18:22:54 UTC (rev 17) +++ trunk/reactos/include/ddk/batclass.h 2006-01-28 18:25:42 UTC (rev 18) @@ -0,0 +1,296 @@
+/* + * batclass.h + * + * Battery class driver interface + * + * This file is part of the w32api package. + * + * Contributors: + * Created by Casper S. Hornstrup chorns@users.sourceforge.net + * + * THIS SOFTWARE IS NOT COPYRIGHTED + * + * This source code is offered for use in the public domain. You may + * use, modify or distribute it freely. + * + * This code is distributed in the hope that it will be useful but + * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY + * DISCLAIMED. This includes but is not limited to warranties of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + */ + +#ifndef __BATCLASS_H +#define __BATCLASS_H + +#if __GNUC__ >=3 +#pragma GCC system_header +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +#if defined(_BATTERYCLASS_) + #define BCLASSAPI DECLSPEC_EXPORT +#else + #define BCLASSAPI DECLSPEC_IMPORT +#endif + + +/* Battery device GUIDs */ + +DEFINE_GUID(GUID_DEVICE_BATTERY, + 0x72631e54L, 0x78A4, 0x11d0, 0xbc, 0xf7, 0x00, 0xaa, 0x00, 0xb7, 0xb3, 0x2a); + +DEFINE_GUID(BATTERY_STATUS_WMI_GUID, + 0xfc4670d1, 0xebbf, 0x416e, 0x87, 0xce, 0x37, 0x4a, 0x4e, 0xbc, 0x11, 0x1a); + +DEFINE_GUID(BATTERY_RUNTIME_WMI_GUID, + 0x535a3767, 0x1ac2, 0x49bc, 0xa0, 0x77, 0x3f, 0x7a, 0x02, 0xe4, 0x0a, 0xec); + +DEFINE_GUID(BATTERY_TEMPERATURE_WMI_GUID, + 0x1a52a14d, 0xadce, 0x4a44, 0x9a, 0x3e, 0xc8, 0xd8, 0xf1, 0x5f, 0xf2, 0xc2); + +DEFINE_GUID(BATTERY_FULL_CHARGED_CAPACITY_WMI_GUID, + 0x40b40565, 0x96f7, 0x4435, 0x86, 0x94, 0x97, 0xe0, 0xe4, 0x39, 0x59, 0x05); + +DEFINE_GUID(BATTERY_CYCLE_COUNT_WMI_GUID, + 0xef98db24, 0x0014, 0x4c25, 0xa5, 0x0b, 0xc7, 0x24, 0xae, 0x5c, 0xd3, 0x71); + +DEFINE_GUID(BATTERY_STATIC_DATA_WMI_GUID, + 0x05e1e463, 0xe4e2, 0x4ea9, 0x80, 0xcb, 0x9b, 0xd4, 0xb3, 0xca, 0x06, 0x55); + +DEFINE_GUID(BATTERY_STATUS_CHANGE_WMI_GUID, + 0xcddfa0c3, 0x7c5b, 0x4e43, 0xa0, 0x34, 0x05, 0x9f, 0xa5, 0xb8, 0x43, 0x64); + +DEFINE_GUID(BATTERY_TAG_CHANGE_WMI_GUID, + 0x5e1f6e19, 0x8786, 0x4d23, 0x94, 0xfc, 0x9e, 0x74, 0x6b, 0xd5, 0xd8, 0x88); + + +/* BATTERY_INFORMATION.Capabilities constants */ +#define BATTERY_SET_CHARGE_SUPPORTED 0x00000001 +#define BATTERY_SET_DISCHARGE_SUPPORTED 0x00000002 +#define BATTERY_SET_RESUME_SUPPORTED 0x00000004 +#define BATTERY_IS_SHORT_TERM 0x20000000 +#define BATTERY_CAPACITY_RELATIVE 0x40000000 +#define BATTERY_SYSTEM_BATTERY 0x80000000 + +typedef struct _BATTERY_INFORMATION { + ULONG Capabilities; + UCHAR Technology; + UCHAR Reserved[3]; + UCHAR Chemistry[4]; + ULONG DesignedCapacity; + ULONG FullChargedCapacity; + ULONG DefaultAlert1; + ULONG DefaultAlert2; + ULONG CriticalBias; + ULONG CycleCount; +} BATTERY_INFORMATION, *PBATTERY_INFORMATION; + +typedef struct _BATTERY_MANUFACTURE_DATE { + UCHAR Day; + UCHAR Month; + USHORT Year; +} BATTERY_MANUFACTURE_DATE, *PBATTERY_MANUFACTURE_DATE; + +typedef struct _BATTERY_NOTIFY { + ULONG PowerState; + ULONG LowCapacity; + ULONG HighCapacity; +} BATTERY_NOTIFY, *PBATTERY_NOTIFY; + +/* BATTERY_STATUS.PowerState flags */ +#define BATTERY_POWER_ON_LINE 0x00000001 +#define BATTERY_DISCHARGING 0x00000002 +#define BATTERY_CHARGING 0x00000004 +#define BATTERY_CRITICAL 0x00000008 + +/* BATTERY_STATUS.Voltage constant */ +#define BATTERY_UNKNOWN_VOLTAGE 0xFFFFFFFF + +/* BATTERY_STATUS.Rate constant */ +#define BATTERY_UNKNOWN_RATE 0x80000000 + +typedef struct _BATTERY_STATUS { + ULONG PowerState; + ULONG Capacity; + ULONG Voltage; + LONG Rate; +} BATTERY_STATUS, *PBATTERY_STATUS; + +/* BATTERY_INFORMATION.Capacity constants */ +#define BATTERY_UNKNOWN_CAPACITY 0xFFFFFFFF + +typedef enum _BATTERY_QUERY_INFORMATION_LEVEL { + BatteryInformation = 0, + BatteryGranularityInformation, + BatteryTemperature, + BatteryEstimatedTime, + BatteryDeviceName, + BatteryManufactureDate, + BatteryManufactureName, + BatteryUniqueID, + BatterySerialNumber +} BATTERY_QUERY_INFORMATION_LEVEL; + +/* BatteryEstimatedTime constant */ +#define BATTERY_UNKNOWN_TIME 0x80000000 + +/* NTSTATUS possibly returned by BCLASS_QUERY_STATUS */ +#define BATTERY_TAG_INVALID 0 + +typedef struct _BATTERY_QUERY_INFORMATION { + ULONG BatteryTag; + BATTERY_QUERY_INFORMATION_LEVEL InformationLevel; + LONG AtRate; +} BATTERY_QUERY_INFORMATION, *PBATTERY_QUERY_INFORMATION; + +typedef enum _BATTERY_SET_INFORMATION_LEVEL { + BatteryCriticalBias = 0, + BatteryCharge, + BatteryDischarge +} BATTERY_SET_INFORMATION_LEVEL; + +#define MAX_BATTERY_STRING_SIZE 128 + +typedef struct _BATTERY_SET_INFORMATION { + ULONG BatteryTag; + BATTERY_SET_INFORMATION_LEVEL InformationLevel; + UCHAR Buffer[1]; +} BATTERY_SET_INFORMATION, *PBATTERY_SET_INFORMATION; + +typedef struct _BATTERY_WAIT_STATUS { + ULONG BatteryTag; + ULONG Timeout; + ULONG PowerState; + ULONG LowCapacity; + ULONG HighCapacity; +} BATTERY_WAIT_STATUS, *PBATTERY_WAIT_STATUS; + + +#define IOCTL_BATTERY_QUERY_TAG \ + CTL_CODE(FILE_DEVICE_BATTERY, 0x10, METHOD_BUFFERED, FILE_READ_ACCESS) + +#define IOCTL_BATTERY_QUERY_INFORMATION \ + CTL_CODE(FILE_DEVICE_BATTERY, 0x11, METHOD_BUFFERED, FILE_READ_ACCESS) + +#define IOCTL_BATTERY_SET_INFORMATION \ + CTL_CODE(FILE_DEVICE_BATTERY, 0x12, METHOD_BUFFERED, FILE_WRITE_ACCESS) + +#define IOCTL_BATTERY_QUERY_STATUS \ + CTL_CODE(FILE_DEVICE_BATTERY, 0x13, METHOD_BUFFERED, FILE_READ_ACCESS) + + +typedef NTSTATUS +(DDKAPI*BCLASS_DISABLE_STATUS_NOTIFY)( + IN PVOID Context); + +typedef NTSTATUS +(DDKAPI*BCLASS_QUERY_INFORMATION)( + IN PVOID Context, + IN ULONG BatteryTag, + IN BATTERY_QUERY_INFORMATION_LEVEL Level, + IN LONG AtRate OPTIONAL, + OUT PVOID Buffer, + IN ULONG BufferLength, + OUT PULONG ReturnedLength); + +typedef NTSTATUS +(DDKAPI*BCLASS_QUERY_STATUS)( + IN PVOID Context, + IN ULONG BatteryTag, + OUT PBATTERY_STATUS BatteryStatus); + +typedef NTSTATUS +(DDKAPI*BCLASS_QUERY_TAG)( + IN PVOID Context, + OUT PULONG BatteryTag); + +typedef NTSTATUS +(DDKAPI*BCLASS_SET_INFORMATION)( + IN PVOID Context, + IN ULONG BatteryTag, + IN BATTERY_SET_INFORMATION_LEVEL Level, + IN PVOID Buffer OPTIONAL); + +typedef NTSTATUS +(DDKAPI*BCLASS_SET_STATUS_NOTIFY)( + IN PVOID Context, + IN ULONG BatteryTag, + IN PBATTERY_NOTIFY BatteryNotify); + + +typedef struct _BATTERY_MINIPORT_INFO { + USHORT MajorVersion; + USHORT MinorVersion; + PVOID Context; + BCLASS_QUERY_TAG QueryTag; + BCLASS_QUERY_INFORMATION QueryInformation; + BCLASS_SET_INFORMATION SetInformation; + BCLASS_QUERY_STATUS QueryStatus; + BCLASS_SET_STATUS_NOTIFY SetStatusNotify; + BCLASS_DISABLE_STATUS_NOTIFY DisableStatusNotify; + PDEVICE_OBJECT Pdo; + PUNICODE_STRING DeviceName; +} BATTERY_MINIPORT_INFO, *PBATTERY_MINIPORT_INFO; + +/* BATTERY_MINIPORT_INFO.XxxVersion */ +#define BATTERY_CLASS_MAJOR_VERSION 0x0001 +#define BATTERY_CLASS_MINOR_VERSION 0x0000 + + +BCLASSAPI +NTSTATUS +DDKAPI +BatteryClassInitializeDevice( + IN PBATTERY_MINIPORT_INFO MiniportInfo, + IN PVOID *ClassData); + +BCLASSAPI +NTSTATUS +DDKAPI +BatteryClassIoctl( + IN PVOID ClassData, + IN PIRP Irp); + +BCLASSAPI +NTSTATUS +DDKAPI +BatteryClassQueryWmiDataBlock( + IN PVOID ClassData, + IN PDEVICE_OBJECT DeviceObject, + IN PIRP Irp, + IN ULONG GuidIndex, + IN OUT PULONG InstanceLengthArray, + IN ULONG OutBufferSize, + OUT PUCHAR Buffer); + +BCLASSAPI +NTSTATUS +DDKAPI +BatteryClassStatusNotify( + IN PVOID ClassData); + +BCLASSAPI +NTSTATUS +DDKAPI +BatteryClassSystemControl( + IN PVOID ClassData, + IN PWMILIB_CONTEXT WmiLibContext, + IN PDEVICE_OBJECT DeviceObject, + IN PIRP Irp, + OUT PSYSCTL_IRP_DISPOSITION Disposition); + +BCLASSAPI +NTSTATUS +DDKAPI +BatteryClassUnload( [truncated at 1000 lines; 54888 more skipped]