| traffic.h (6.0.6000.16386-Windows 6.0) | | traffic.h (6.1.7600.16385-Windows 7.0) |
| | |
| skipping to change at line 26 | | skipping to change at line 26 |
| #define __TRAFFIC_H | | #define __TRAFFIC_H |
| | |
| #if _MSC_VER > 1000 | | #if _MSC_VER > 1000 |
| #pragma once | | #pragma once |
| #endif | | #endif |
| | |
| #ifdef __cplusplus | | #ifdef __cplusplus |
| extern "C" { | | extern "C" { |
| #endif | | #endif |
| | |
|
| | #include <qosobjs.h> |
| | |
| //--------------------------------------------------------------------------- | | //--------------------------------------------------------------------------- |
| // | | // |
| // Define's | | // Define's |
| // | | // |
| #define CURRENT_TCI_VERSION 0x0002 | | #define CURRENT_TCI_VERSION 0x0002 |
| | |
| // | | // |
| // Definitions of notification events. These may be passed | | // Definitions of notification events. These may be passed |
| // to the client's notification handler, to identify the | | // to the client's notification handler, to identify the |
| // notification type | | // notification type |
| | |
| skipping to change at line 85 | | skipping to change at line 87 |
| #ifndef APIENTRY | | #ifndef APIENTRY |
| #define APIENTRY FAR __stdcall | | #define APIENTRY FAR __stdcall |
| #endif | | #endif |
| | |
| // | | // |
| // Handlers registered by the TCI client | | // Handlers registered by the TCI client |
| // | | // |
| | |
| typedef | | typedef |
| VOID (CALLBACK * TCI_NOTIFY_HANDLER)( | | VOID (CALLBACK * TCI_NOTIFY_HANDLER)( |
|
| IN HANDLE ClRegCtx, | | __in HANDLE ClRegCtx, |
| IN HANDLE ClIfcCtx, | | __in HANDLE ClIfcCtx, |
| IN ULONG Event, // See list below | | __in ULONG Event, // See list below |
| IN HANDLE SubCode, | | __in HANDLE SubCode, |
| IN ULONG BufSize, | | __in ULONG BufSize, |
| IN PVOID Buffer | | __in_bcount(BufSize) PVOID Buffer |
| ); | | ); |
| | |
| typedef | | typedef |
| VOID (CALLBACK * TCI_ADD_FLOW_COMPLETE_HANDLER)( | | VOID (CALLBACK * TCI_ADD_FLOW_COMPLETE_HANDLER)( |
|
| IN HANDLE ClFlowCtx, | | __in HANDLE ClFlowCtx, |
| IN ULONG Status | | __in ULONG Status |
| ); | | ); |
| | |
| typedef | | typedef |
| VOID (CALLBACK * TCI_MOD_FLOW_COMPLETE_HANDLER)( | | VOID (CALLBACK * TCI_MOD_FLOW_COMPLETE_HANDLER)( |
|
| IN HANDLE ClFlowCtx, | | __in HANDLE ClFlowCtx, |
| IN ULONG Status | | __in ULONG Status |
| ); | | ); |
| | |
| typedef | | typedef |
| VOID (CALLBACK * TCI_DEL_FLOW_COMPLETE_HANDLER)( | | VOID (CALLBACK * TCI_DEL_FLOW_COMPLETE_HANDLER)( |
|
| IN HANDLE ClFlowCtx, | | __in HANDLE ClFlowCtx, |
| IN ULONG Status | | __in ULONG Status |
| ); | | ); |
| | |
| typedef struct _TCI_CLIENT_FUNC_LIST { | | typedef struct _TCI_CLIENT_FUNC_LIST { |
| | |
| TCI_NOTIFY_HANDLER ClNotifyHandler; | | TCI_NOTIFY_HANDLER ClNotifyHandler; |
| TCI_ADD_FLOW_COMPLETE_HANDLER ClAddFlowCompleteHandler; | | TCI_ADD_FLOW_COMPLETE_HANDLER ClAddFlowCompleteHandler; |
| TCI_MOD_FLOW_COMPLETE_HANDLER ClModifyFlowCompleteHandler; | | TCI_MOD_FLOW_COMPLETE_HANDLER ClModifyFlowCompleteHandler; |
| TCI_DEL_FLOW_COMPLETE_HANDLER ClDeleteFlowCompleteHandler; | | TCI_DEL_FLOW_COMPLETE_HANDLER ClDeleteFlowCompleteHandler; |
| | |
| } TCI_CLIENT_FUNC_LIST, *PTCI_CLIENT_FUNC_LIST; | | } TCI_CLIENT_FUNC_LIST, *PTCI_CLIENT_FUNC_LIST; |
| | |
| skipping to change at line 252 | | skipping to change at line 254 |
| ULONG Length; | | ULONG Length; |
| ULONG OwnerProcessId; | | ULONG OwnerProcessId; |
| USHORT FlowNameLength; | | USHORT FlowNameLength; |
| WCHAR FlowName[MAX_STRING_LENGTH]; | | WCHAR FlowName[MAX_STRING_LENGTH]; |
| PTC_GEN_FLOW pFlow; | | PTC_GEN_FLOW pFlow; |
| ULONG NumberOfFilters; | | ULONG NumberOfFilters; |
| TC_GEN_FILTER GenericFilter[1]; // one for each filter | | TC_GEN_FILTER GenericFilter[1]; // one for each filter |
| | |
| } ENUMERATION_BUFFER, *PENUMERATION_BUFFER; | | } ENUMERATION_BUFFER, *PENUMERATION_BUFFER; |
| | |
|
| // | | |
| // QoS objects supported by traffic | | |
| // | | |
| #define QOS_TRAFFIC_GENERAL_ID_BASE 4000 | | |
| | |
| #define QOS_OBJECT_DS_CLASS (0x00000001 + QOS_TRAFFIC_GENERAL | | |
| _ID_BASE) | | |
| /* QOS_DS_CLASS structure passed */ | | |
| #define QOS_OBJECT_TRAFFIC_CLASS (0x00000002 + QOS_TRAFFIC_GENERAL | | |
| _ID_BASE) | | |
| /* QOS_Traffic class structure passed */ | | |
| #define QOS_OBJECT_DIFFSERV (0x00000003 + QOS_TRAFFIC_GENERAL | | |
| _ID_BASE) | | |
| /* QOS_DIFFSERV Structure */ | | |
| #define QOS_OBJECT_TCP_TRAFFIC (0x00000004 + QOS_TRAFFIC_GENERAL | | |
| _ID_BASE) | | |
| /* QOS_TCP_TRAFFIC structure */ | | |
| #define QOS_OBJECT_FRIENDLY_NAME (0x00000005 + QOS_TRAFFIC_GENERAL | | |
| _ID_BASE) | | |
| /* QOS_FRIENDLY_NAME structure */ | | |
| #define QOS_OBJECT_STARTING_RATE (0x00000006 + QOS_TRAFFIC_GENERAL | | |
| _ID_BASE) | | |
| /* QOS_STARTING_RATE structure */ | | |
| | |
| // | | |
| // This structure is used to associate a friendly name with the flow | | |
| // | | |
| | |
| typedef struct _QOS_FRIENDLY_NAME { | | |
| QOS_OBJECT_HDR ObjectHdr; | | |
| WCHAR FriendlyName[MAX_STRING_LENGTH]; | | |
| } QOS_FRIENDLY_NAME, *LPQOS_FRIENDLY_NAME; | | |
| | |
| // | | |
| // This structure may carry an 802.1 TrafficClass parameter which | | |
| // has been provided to the host by a layer 2 network, for example, | | |
| // in an 802.1 extended RSVP RESV message. If this object is obtained | | |
| // from the network, hosts will stamp the MAC headers of corresponding | | |
| // transmitted packets, with the value in the object. Otherwise, hosts | | |
| // may select a value based on the standard Intserv mapping of | | |
| // ServiceType to 802.1 TrafficClass. | | |
| // | | |
| // | | |
| | |
| typedef struct _QOS_TRAFFIC_CLASS { | | |
| | |
| QOS_OBJECT_HDR ObjectHdr; | | |
| ULONG TrafficClass; | | |
| | |
| } QOS_TRAFFIC_CLASS, *LPQOS_TRAFFIC_CLASS; | | |
| | |
| // | | |
| // This structure may carry an DSField parameter which has been provided to | | |
| // the host by a layer 3 network, for example, in an extended RSVP RESV message. | | |
| // If this object is obtained from the network, hosts will stamp the DS Field on | | |
| the | | |
| // IP header of transmitted packets, with the value in the object. Otherwise, ho | | |
| sts | | |
| // may select a value based on the standard Intserv mapping of ServiceType to DS | | |
| Field | | |
| // | | |
| | |
| typedef struct _QOS_DS_CLASS { | | |
| | |
| QOS_OBJECT_HDR ObjectHdr; | | |
| ULONG DSField; | | |
| | |
| } QOS_DS_CLASS, *LPQOS_DS_CLASS; | | |
| | |
| // | | |
| // This structure is used to create DiffServ Flows. This creates flows in the pa | | |
| cket scheduler | | |
| // and allows it to classify to packets based on a particular DS field. This str | | |
| ucture takes | | |
| // a variable length array of QOS_DIFFSERV_RULE, where each DS field is specifie | | |
| d by a | | |
| // QOS_DIFFSERV_RULE | | |
| // | | |
| typedef struct _QOS_DIFFSERV { | | |
| | |
| QOS_OBJECT_HDR ObjectHdr; | | |
| ULONG DSFieldCount; | | |
| UCHAR DiffservRule[1]; | | |
| } QOS_DIFFSERV, *LPQOS_DIFFSERV; | | |
| | |
| // | | |
| // The rule for a Diffserv DS codepoint. | | |
| // | | |
| typedef struct _QOS_DIFFSERV_RULE { | | |
| UCHAR InboundDSField; | | |
| UCHAR ConformingOutboundDSField; | | |
| UCHAR NonConformingOutboundDSField; | | |
| UCHAR ConformingUserPriority; | | |
| UCHAR NonConformingUserPriority; | | |
| } QOS_DIFFSERV_RULE, *LPQOS_DIFFSERV_RULE; | | |
| | |
| // | | |
| // This structure is passed to indicate that the IP Precedence and UserPriority | | |
| mappings for the flow | | |
| // have to be set to the system defaults for TCP traffic. If this object is pass | | |
| ed, | | |
| // the ServiceType ==> DSField mapping, ServiceType ==> UserPriorityMapping, QOS | | |
| _OBJECT_DS_CLASS | | |
| // and QOS_OBJECT_TRAFFIC_CLASS will be ignored. | | |
| // | | |
| | |
| typedef struct _QOS_TCP_TRAFFIC { | | |
| QOS_OBJECT_HDR ObjectHdr; | | |
| } QOS_TCP_TRAFFIC, *LPQOS_TCP_TRAFFIC; | | |
| | |
| typedef struct _QOS_STARTING_RATE { | | |
| QOS_OBJECT_HDR ObjectHdr; | | |
| ULONG StartingTokenRate; // In bytes per second | | |
| ULONG RampingTime; // In Milliseconds | | |
| } QOS_STARTING_RATE, *LPQOS_STARTING_RATE; | | |
| | | |
| //--------------------------------------------------------------------------- | | //--------------------------------------------------------------------------- |
| // | | // |
| // Interface Function Definitions | | // Interface Function Definitions |
| // | | // |
|
| #pragma deprecated(TcRegisterClient) | | |
| | |
| ULONG | | ULONG |
| APIENTRY | | APIENTRY |
| TcRegisterClient( | | TcRegisterClient( |
|
| IN ULONG TciVersion, | | __in ULONG TciVersion, |
| IN HANDLE ClRegCtx, | | __in HANDLE ClRegCtx, |
| IN PTCI_CLIENT_FUNC_LIST ClientHandlerList, | | __in PTCI_CLIENT_FUNC_LIST ClientHandlerList, |
| OUT PHANDLE pClientHandle | | __out PHANDLE pClientHandle |
| ); | | ); |
| | |
|
| #pragma deprecated(TcEnumerateInterfaces) | | |
| | | |
| ULONG | | ULONG |
| APIENTRY | | APIENTRY |
| TcEnumerateInterfaces( | | TcEnumerateInterfaces( |
|
| IN HANDLE ClientHandle, | | __in HANDLE ClientHandle, |
| IN OUT PULONG pBufferSize, | | __inout PULONG pBufferSize, |
| OUT PTC_IFC_DESCRIPTOR InterfaceBuffer | | __out PTC_IFC_DESCRIPTOR InterfaceBuffer |
| ); | | ); |
| | |
|
| #pragma deprecated(TcOpenInterfaceA) | | |
| | | |
| ULONG | | ULONG |
| APIENTRY | | APIENTRY |
| TcOpenInterfaceA( | | TcOpenInterfaceA( |
|
| __in LPSTR pInterfaceName, | | __in LPSTR pInterfaceName, |
| IN HANDLE ClientHandle, | | __in HANDLE ClientHandle, |
| IN HANDLE ClIfcCtx, | | __in HANDLE ClIfcCtx, |
| OUT PHANDLE pIfcHandle | | __out PHANDLE pIfcHandle |
| ); | | ); |
| | |
|
| #pragma deprecated(TcOpenInterfaceW) | | |
| | | |
| ULONG | | ULONG |
| APIENTRY | | APIENTRY |
| TcOpenInterfaceW( | | TcOpenInterfaceW( |
|
| __in LPWSTR pInterfaceName, | | __in LPWSTR pInterfaceName, |
| IN HANDLE ClientHandle, | | __in HANDLE ClientHandle, |
| IN HANDLE ClIfcCtx, | | __in HANDLE ClIfcCtx, |
| OUT PHANDLE pIfcHandle | | __out PHANDLE pIfcHandle |
| ); | | ); |
| | |
|
| #pragma deprecated(TcCloseInterface) | | |
| | | |
| ULONG | | ULONG |
| APIENTRY | | APIENTRY |
| TcCloseInterface( | | TcCloseInterface( |
|
| IN HANDLE IfcHandle | | __in HANDLE IfcHandle |
| ); | | ); |
| | |
|
| #pragma deprecated(TcQueryInterface) | | |
| | | |
| ULONG | | ULONG |
| APIENTRY | | APIENTRY |
| TcQueryInterface( | | TcQueryInterface( |
|
| IN HANDLE IfcHandle, | | __in HANDLE IfcHandle, |
| IN LPGUID pGuidParam, | | __in LPGUID pGuidParam, |
| IN BOOLEAN NotifyChange, | | __in BOOLEAN NotifyChange, |
| IN OUT PULONG pBufferSize, | | __inout PULONG pBufferSize, |
| OUT PVOID Buffer | | __out_bcount(*pBufferSize) PVOID Buffer |
| ); | | ); |
| | |
|
| #pragma deprecated(TcSetInterface) | | |
| | | |
| ULONG | | ULONG |
| APIENTRY | | APIENTRY |
| TcSetInterface( | | TcSetInterface( |
|
| IN HANDLE IfcHandle, | | __in HANDLE IfcHandle, |
| IN LPGUID pGuidParam, | | __in LPGUID pGuidParam, |
| IN ULONG BufferSize, | | __in ULONG BufferSize, |
| IN PVOID Buffer | | __in_bcount(BufferSize) PVOID Buffer |
| ); | | ); |
| | |
|
| #pragma deprecated(TcQueryFlowA) | | |
| | | |
| ULONG | | ULONG |
| APIENTRY | | APIENTRY |
| TcQueryFlowA( | | TcQueryFlowA( |
|
| __in LPSTR pFlowName, | | __in LPSTR pFlowName, |
| IN LPGUID pGuidParam, | | __in LPGUID pGuidParam, |
| IN OUT PULONG pBufferSize, | | __inout PULONG pBufferSize, |
| OUT PVOID Buffer | | __out_bcount(*pBufferSize) PVOID Buffer |
| ); | | ); |
| | |
|
| #pragma deprecated(TcQueryFlowW) | | |
| | | |
| ULONG | | ULONG |
| APIENTRY | | APIENTRY |
| TcQueryFlowW( | | TcQueryFlowW( |
|
| __in LPWSTR pFlowName, | | __in LPWSTR pFlowName, |
| IN LPGUID pGuidParam, | | __in LPGUID pGuidParam, |
| IN OUT PULONG pBufferSize, | | __inout PULONG pBufferSize, |
| OUT PVOID Buffer | | __out_bcount(*pBufferSize) PVOID Buffer |
| ); | | ); |
| | |
|
| #pragma deprecated(TcSetFlowA) | | |
| | | |
| ULONG | | ULONG |
| APIENTRY | | APIENTRY |
| TcSetFlowA( | | TcSetFlowA( |
|
| __in LPSTR pFlowName, | | __in LPSTR pFlowName, |
| IN LPGUID pGuidParam, | | __in LPGUID pGuidParam, |
| IN ULONG BufferSize, | | __in ULONG BufferSize, |
| IN PVOID Buffer | | __in_bcount(BufferSize) PVOID Buffer |
| ); | | ); |
| | |
|
| #pragma deprecated(TcSetFlowW) | | |
| | | |
| ULONG | | ULONG |
| APIENTRY | | APIENTRY |
| TcSetFlowW( | | TcSetFlowW( |
|
| __in LPWSTR pFlowName, | | __in LPWSTR pFlowName, |
| IN LPGUID pGuidParam, | | __in LPGUID pGuidParam, |
| IN ULONG BufferSize, | | __in ULONG BufferSize, |
| IN PVOID Buffer | | __in_bcount(BufferSize) PVOID Buffer |
| ); | | ); |
| | |
|
| #pragma deprecated(TcAddFlow) | | |
| | | |
| ULONG | | ULONG |
| APIENTRY | | APIENTRY |
| TcAddFlow( | | TcAddFlow( |
|
| IN HANDLE IfcHandle, | | __in HANDLE IfcHandle, |
| IN HANDLE ClFlowCtx, | | __in HANDLE ClFlowCtx, |
| IN ULONG Flags, | | __in ULONG Flags, |
| IN PTC_GEN_FLOW pGenericFlow, | | __in PTC_GEN_FLOW pGenericFlow, |
| OUT PHANDLE pFlowHandle | | __out PHANDLE pFlowHandle |
| ); | | ); |
| | |
|
| #pragma deprecated(TcGetFlowNameA) | | |
| | | |
| ULONG | | ULONG |
| APIENTRY | | APIENTRY |
| TcGetFlowNameA( | | TcGetFlowNameA( |
|
| IN HANDLE FlowHandle, | | __in HANDLE FlowHandle, |
| IN ULONG StrSize, | | __in ULONG StrSize, |
| __out_ecount(StrSize) LPSTR pFlowName | | __out_ecount(StrSize) LPSTR pFlowName |
| ); | | ); |
| | |
|
| #pragma deprecated(TcGetFlowNameW) | | |
| | | |
| ULONG | | ULONG |
| APIENTRY | | APIENTRY |
| TcGetFlowNameW( | | TcGetFlowNameW( |
|
| IN HANDLE FlowHandle, | | __in HANDLE FlowHandle, |
| IN ULONG StrSize, | | __in ULONG StrSize, |
| __out_ecount(StrSize) LPWSTR pFlowName | | __out_ecount(StrSize) LPWSTR pFlowName |
| ); | | ); |
| | |
|
| #pragma deprecated(TcModifyFlow) | | |
| | | |
| ULONG | | ULONG |
| APIENTRY | | APIENTRY |
| TcModifyFlow( | | TcModifyFlow( |
|
| IN HANDLE FlowHandle, | | __in HANDLE FlowHandle, |
| IN PTC_GEN_FLOW pGenericFlow | | __in PTC_GEN_FLOW pGenericFlow |
| ); | | ); |
| | |
|
| #pragma deprecated(TcAddFilter) | | |
| | | |
| ULONG | | ULONG |
| APIENTRY | | APIENTRY |
| TcAddFilter( | | TcAddFilter( |
|
| IN HANDLE FlowHandle, | | __in HANDLE FlowHandle, |
| IN PTC_GEN_FILTER pGenericFilter, | | __in PTC_GEN_FILTER pGenericFilter, |
| OUT PHANDLE pFilterHandle | | __out PHANDLE pFilterHandle |
| ); | | ); |
| | |
|
| #pragma deprecated(TcDeregisterClient) | | |
| | | |
| ULONG | | ULONG |
| APIENTRY | | APIENTRY |
| TcDeregisterClient( | | TcDeregisterClient( |
|
| IN HANDLE ClientHandle | | __in HANDLE ClientHandle |
| ); | | ); |
| | |
|
| #pragma deprecated(TcDeleteFlow) | | |
| | | |
| ULONG | | ULONG |
| APIENTRY | | APIENTRY |
| TcDeleteFlow( | | TcDeleteFlow( |
|
| IN HANDLE FlowHandle | | __in HANDLE FlowHandle |
| ); | | ); |
| | |
|
| #pragma deprecated(TcDeleteFilter) | | |
| | | |
| ULONG | | ULONG |
| APIENTRY | | APIENTRY |
| TcDeleteFilter( | | TcDeleteFilter( |
|
| IN HANDLE FilterHandle | | __in HANDLE FilterHandle |
| ); | | ); |
| | |
|
| #pragma deprecated(TcEnumerateFlows) | | |
| | | |
| ULONG | | ULONG |
| APIENTRY | | APIENTRY |
| TcEnumerateFlows( | | TcEnumerateFlows( |
|
| IN HANDLE IfcHandle, | | __in HANDLE IfcHandle, |
| IN OUT PHANDLE pEnumHandle, | | __inout PHANDLE pEnumHandle, |
| IN OUT PULONG pFlowCount, | | __inout PULONG pFlowCount, |
| IN OUT PULONG pBufSize, | | __inout PULONG pBufSize, |
| OUT PENUMERATION_BUFFER Buffer | | __out PENUMERATION_BUFFER Buffer |
| ); | | ); |
| | |
| #ifdef UNICODE | | #ifdef UNICODE |
| | |
| #define TcOpenInterface TcOpenInterfaceW | | #define TcOpenInterface TcOpenInterfaceW |
| #define TcQueryFlow TcQueryFlowW | | #define TcQueryFlow TcQueryFlowW |
| #define TcSetFlow TcSetFlowW | | #define TcSetFlow TcSetFlowW |
| #define TcGetFlowName TcGetFlowNameW | | #define TcGetFlowName TcGetFlowNameW |
| | |
| #else // UNICODE | | #else // UNICODE |
| | |
| End of changes. 46 change blocks. |
| 232 lines changed or deleted | | 79 lines changed or added |
|