You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
206 lines
4.8 KiB
206 lines
4.8 KiB
/*++
|
|
|
|
Copyright (c) 1995-1999 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
GpcHndlr.h
|
|
|
|
Abstract:
|
|
|
|
GPC client handler defs
|
|
|
|
Author:
|
|
|
|
Revision History:
|
|
|
|
--*/
|
|
|
|
#ifndef _GPC_HNDLR_
|
|
#define _GPC_HNDLR_
|
|
#include "gpcifc.h"
|
|
|
|
//
|
|
// Offload types that can co-exist with packet scheduling.
|
|
//
|
|
#define PERMITTED_TCP_IP_OFFLOAD_TYPES (TCP_XMT_CHECKSUM_OFFLOAD | \
|
|
IP_XMT_CHECKSUM_OFFLOAD | \
|
|
TCP_RCV_CHECKSUM_OFFLOAD | \
|
|
IP_RCV_CHECKSUM_OFFLOAD | \
|
|
IP_CHECKSUM_OPT_OFFLOAD | \
|
|
TCP_CHECKSUM_OPT_OFFLOAD)
|
|
|
|
//
|
|
// The purpose of this is to ensure that whenever a new offload type is added
|
|
// to TCP/IP, either it is consciously disallowed or allowed.
|
|
//
|
|
C_ASSERT((PERMITTED_TCP_IP_OFFLOAD_TYPES |
|
|
TCP_LARGE_SEND_OFFLOAD |
|
|
TCP_LARGE_SEND_TCPOPT_OFFLOAD |
|
|
TCP_LARGE_SEND_IPOPT_OFFLOAD) == TCP_IP_OFFLOAD_TYPES);
|
|
|
|
//
|
|
// Function Prototypes.
|
|
//
|
|
GPC_STATUS
|
|
QosAddCfInfoNotify(
|
|
IN GPC_CLIENT_HANDLE ClientContext,
|
|
IN GPC_HANDLE GpcCfInfoHandle,
|
|
IN PTC_INTERFACE_ID InterfaceInfo,
|
|
IN ULONG CfInfoSize,
|
|
IN PVOID CfInfoPtr,
|
|
IN PGPC_CLIENT_HANDLE ClientCfInfoContext
|
|
);
|
|
|
|
GPC_STATUS
|
|
QosClGetCfInfoName(
|
|
IN GPC_CLIENT_HANDLE ClientContext,
|
|
IN GPC_CLIENT_HANDLE ClientCfInfoContext,
|
|
OUT PNDIS_STRING InstanceName
|
|
);
|
|
|
|
//
|
|
// Internal Completion handlers
|
|
//
|
|
VOID
|
|
CmMakeCallComplete(NDIS_STATUS Status,
|
|
PGPC_CLIENT_VC Vc,
|
|
PCO_CALL_PARAMETERS CallParameters);
|
|
|
|
VOID
|
|
CmModifyCallComplete(
|
|
IN NDIS_STATUS Status,
|
|
IN PGPC_CLIENT_VC GpcClientVc,
|
|
IN PCO_CALL_PARAMETERS CallParameters
|
|
);
|
|
|
|
VOID
|
|
CmCloseCallComplete(
|
|
IN NDIS_STATUS Status,
|
|
IN PGPC_CLIENT_VC Vc
|
|
);
|
|
|
|
|
|
VOID
|
|
QosAddCfInfoComplete(
|
|
IN GPC_CLIENT_HANDLE ClientContext,
|
|
IN GPC_CLIENT_HANDLE ClientCfInfoContext,
|
|
IN GPC_STATUS Status
|
|
);
|
|
|
|
GPC_STATUS
|
|
QosModifyCfInfoNotify(
|
|
IN GPC_CLIENT_HANDLE ClientContext,
|
|
IN GPC_CLIENT_HANDLE ClientCfInfoContext,
|
|
IN ULONG CfInfoSize,
|
|
IN GPC_HANDLE CfInfo
|
|
);
|
|
|
|
VOID
|
|
ClModifyCallQoSComplete(
|
|
IN NDIS_STATUS Status,
|
|
IN NDIS_HANDLE ProtocolVcContext,
|
|
IN PCO_CALL_PARAMETERS CallParameters
|
|
);
|
|
|
|
VOID
|
|
QosModifyCfInfoComplete(
|
|
IN GPC_CLIENT_HANDLE ClientContext,
|
|
IN GPC_CLIENT_HANDLE ClientCfInfoContext,
|
|
IN GPC_STATUS Status
|
|
);
|
|
|
|
GPC_STATUS
|
|
QosRemoveCfInfoNotify(
|
|
IN GPC_CLIENT_HANDLE ClientContext,
|
|
IN GPC_CLIENT_HANDLE ClientCfInfoContext
|
|
);
|
|
|
|
VOID
|
|
ClCloseCallComplete(
|
|
IN NDIS_STATUS Status,
|
|
IN NDIS_HANDLE ProtocolVcContext,
|
|
IN PCO_CALL_PARAMETERS CallParameters
|
|
);
|
|
|
|
VOID
|
|
QosRemoveCfInfoComplete(
|
|
IN GPC_CLIENT_HANDLE ClientContext,
|
|
IN GPC_CLIENT_HANDLE ClientCfInfoContext,
|
|
IN GPC_STATUS Status
|
|
);
|
|
|
|
VOID
|
|
DerefClVc(
|
|
IN PGPC_CLIENT_VC Vc);
|
|
|
|
NDIS_STATUS
|
|
CloseCallWithNdis(
|
|
PGPC_CLIENT_VC Vc
|
|
);
|
|
|
|
NDIS_STATUS
|
|
CloseCallWithGpc(
|
|
PGPC_CLIENT_VC Vc
|
|
);
|
|
|
|
//
|
|
// Prototypes for CF_INFO_CLASS_MAP
|
|
//
|
|
GPC_STATUS
|
|
ClassMapAddCfInfoNotify(
|
|
IN GPC_CLIENT_HANDLE ClientContext,
|
|
IN GPC_HANDLE GpcCfInfoHandle,
|
|
IN ULONG CfInfoSize,
|
|
IN PVOID CfInfoPtr,
|
|
IN PGPC_CLIENT_HANDLE ClientCfInfoContext
|
|
);
|
|
|
|
GPC_STATUS
|
|
ClassMapClGetCfInfoName(
|
|
IN GPC_CLIENT_HANDLE ClientContext,
|
|
IN GPC_CLIENT_HANDLE ClientCfInfoContext,
|
|
OUT PNDIS_STRING InstanceName
|
|
);
|
|
|
|
VOID
|
|
ClassMapAddCfInfoComplete(
|
|
IN GPC_CLIENT_HANDLE ClientContext,
|
|
IN GPC_CLIENT_HANDLE ClientCfInfoContext,
|
|
IN GPC_STATUS Status
|
|
);
|
|
|
|
GPC_STATUS
|
|
ClassMapModifyCfInfoNotify(
|
|
IN GPC_CLIENT_HANDLE ClientContext,
|
|
IN GPC_CLIENT_HANDLE ClientCfInfoContext,
|
|
IN ULONG CfInfoSize,
|
|
IN GPC_HANDLE CfInfo
|
|
);
|
|
|
|
VOID
|
|
ClassMapModifyCfInfoComplete(
|
|
IN GPC_CLIENT_HANDLE ClientContext,
|
|
IN GPC_CLIENT_HANDLE ClientCfInfoContext,
|
|
IN GPC_STATUS Status
|
|
);
|
|
|
|
GPC_STATUS
|
|
ClassMapRemoveCfInfoNotify(
|
|
IN GPC_CLIENT_HANDLE ClientContext,
|
|
IN GPC_CLIENT_HANDLE ClientCfInfoContext
|
|
);
|
|
|
|
VOID
|
|
ClassMapRemoveCfInfoComplete(
|
|
IN GPC_CLIENT_HANDLE ClientContext,
|
|
IN GPC_CLIENT_HANDLE ClientCfInfoContext,
|
|
IN GPC_STATUS Status
|
|
);
|
|
|
|
VOID
|
|
SetTOSIEEEValues(PGPC_CLIENT_VC Vc);
|
|
|
|
// End prototypes
|
|
|
|
#endif // _GPC_HNDLR_
|