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.
458 lines
7.2 KiB
458 lines
7.2 KiB
/*++
|
|
|
|
Copyright (c) 1996 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
tcfwd.h
|
|
|
|
Abstract:
|
|
|
|
This module contains the forward function definitions for all the functions in
|
|
the traffic control dll.
|
|
|
|
Author:
|
|
|
|
Jim Stewart (jstew) August 14, 1996
|
|
|
|
Revision History:
|
|
|
|
Ofer Bar (oferbar) Oct 1, 1997 - Revision II
|
|
|
|
--*/
|
|
|
|
#ifndef __TCFWD_H
|
|
#define __TCFWD_H
|
|
|
|
//
|
|
// tckrnl.c
|
|
//
|
|
|
|
|
|
|
|
DWORD
|
|
IoModifyFlow(
|
|
IN PFLOW_STRUC pFlow,
|
|
IN BOOLEAN Async
|
|
);
|
|
|
|
DWORD
|
|
IoAddFlow(
|
|
IN PFLOW_STRUC pFlow,
|
|
IN BOOLEAN Async
|
|
);
|
|
|
|
DWORD
|
|
IoAddClassMapFlow(
|
|
IN PFLOW_STRUC pFlow,
|
|
IN BOOLEAN Async
|
|
);
|
|
|
|
DWORD
|
|
IoDeleteFlow(
|
|
IN PFLOW_STRUC pFlow,
|
|
IN BOOLEAN Async
|
|
);
|
|
|
|
DWORD
|
|
IoAddFilter(
|
|
IN PFILTER_STRUC pFilter
|
|
);
|
|
|
|
DWORD
|
|
IoDeleteFilter(
|
|
IN PFILTER_STRUC pFilter
|
|
);
|
|
|
|
DWORD
|
|
IoRegisterClient(
|
|
IN PGPC_CLIENT pGpcClient
|
|
);
|
|
|
|
DWORD
|
|
IoDeregisterClient(
|
|
IN PGPC_CLIENT pGpcClient
|
|
);
|
|
|
|
DWORD
|
|
IoEnumerateFlows(
|
|
IN PGPC_CLIENT pGpcClient,
|
|
IN OUT PHANDLE pEnumHandle,
|
|
IN OUT PULONG pFlowCount,
|
|
IN OUT PULONG pBufSize,
|
|
OUT PGPC_ENUM_CFINFO_RES *ppBuffer
|
|
);
|
|
|
|
DWORD
|
|
IoRequestNotify(
|
|
VOID
|
|
//IN PGPC_CLIENT pGpcClient
|
|
);
|
|
|
|
VOID
|
|
CancelIoRequestNotify(
|
|
VOID
|
|
);
|
|
|
|
DWORD
|
|
StartGpcNotifyThread();
|
|
|
|
DWORD
|
|
StopGpcNotifyThread();
|
|
|
|
//
|
|
// tcutils.c
|
|
//
|
|
|
|
VOID
|
|
WsAssert(
|
|
IN PVOID FailedAssertion,
|
|
IN PVOID FileName,
|
|
IN ULONG LineNumber
|
|
);
|
|
|
|
VOID
|
|
WsPrintf (
|
|
char *Format,
|
|
...
|
|
);
|
|
|
|
VOID
|
|
SetupDebugInfo( void );
|
|
|
|
VOID
|
|
CloseDbgFile( void );
|
|
|
|
|
|
|
|
//
|
|
// handles.c
|
|
//
|
|
|
|
PVOID
|
|
GetHandleObjectWithRef(
|
|
IN HANDLE h,
|
|
IN ENUM_OBJECT_TYPE ObjType,
|
|
IN ULONG RefType
|
|
);
|
|
|
|
PVOID
|
|
GetHandleObject(
|
|
IN HANDLE h,
|
|
IN ENUM_OBJECT_TYPE ObjType
|
|
);
|
|
|
|
HANDLE
|
|
AllocateHandle(
|
|
IN PVOID Context
|
|
);
|
|
|
|
VOID
|
|
FreeHandle(
|
|
IN HANDLE Handle
|
|
);
|
|
|
|
//
|
|
// apiutil.c
|
|
//
|
|
|
|
VOID
|
|
MarkAllNodesForClosing(
|
|
PINTERFACE_STRUC pInterface,
|
|
STATE stateToMark
|
|
);
|
|
|
|
PTC_IFC
|
|
GetTcIfc(
|
|
IN LPWSTR pInterfaceName
|
|
);
|
|
|
|
PTC_IFC
|
|
GetTcIfcWithRef(
|
|
IN LPWSTR pInterfaceName,
|
|
IN ULONG RefType
|
|
);
|
|
|
|
DWORD
|
|
UpdateTcIfcList(
|
|
IN LPWSTR InstanceName,
|
|
IN ULONG IndicationBufferSize,
|
|
IN PTC_INDICATION_BUFFER IndicationBuffer,
|
|
IN DWORD IndicationCode
|
|
);
|
|
|
|
DWORD
|
|
CreateClientStruc(
|
|
IN HANDLE ClRegCtx,
|
|
OUT PCLIENT_STRUC *ppClient
|
|
);
|
|
|
|
DWORD
|
|
CreateClInterfaceStruc(
|
|
IN HANDLE ClIfcCtx,
|
|
OUT PINTERFACE_STRUC *ppClIfc
|
|
);
|
|
|
|
DWORD
|
|
CreateFlowStruc(
|
|
IN HANDLE ClFlowCtx,
|
|
IN PTC_GEN_FLOW pGenFlow,
|
|
OUT PFLOW_STRUC *ppFlow
|
|
);
|
|
|
|
DWORD
|
|
CreateClassMapFlowStruc(
|
|
IN HANDLE ClFlowCtx,
|
|
IN PTC_CLASS_MAP_FLOW pClassMapFlow,
|
|
OUT PFLOW_STRUC *ppFlow
|
|
);
|
|
|
|
DWORD
|
|
CreateFilterStruc(
|
|
IN PTC_GEN_FILTER pGenericFilter,
|
|
IN PFLOW_STRUC pFlow,
|
|
IN PFILTER_STRUC *ppFiler
|
|
);
|
|
|
|
VOID
|
|
DeleteFlowStruc(
|
|
IN PFLOW_STRUC pFlow
|
|
);
|
|
|
|
DWORD
|
|
EnumAllInterfaces(VOID);
|
|
|
|
|
|
DWORD
|
|
CloseInterface(
|
|
IN PINTERFACE_STRUC pInterface,
|
|
IN BOOLEAN RemoveFlows
|
|
);
|
|
|
|
PGPC_CLIENT
|
|
FindGpcClient(
|
|
IN ULONG CfInfoType
|
|
);
|
|
|
|
VOID
|
|
CloseOpenFlows(
|
|
IN PINTERFACE_STRUC pInterface
|
|
);
|
|
|
|
DWORD
|
|
DeleteFlow(
|
|
IN PFLOW_STRUC pFlow,
|
|
IN BOOLEAN RemoveFilters
|
|
);
|
|
|
|
DWORD
|
|
DeleteFilter(
|
|
IN PFILTER_STRUC pFilter
|
|
);
|
|
|
|
VOID
|
|
DeleteFilterStruc(
|
|
IN PFILTER_STRUC pFilter
|
|
);
|
|
|
|
VOID
|
|
CompleteAddFlow(
|
|
IN PFLOW_STRUC pFlow,
|
|
IN DWORD Status
|
|
);
|
|
|
|
VOID
|
|
CompleteAddClassMapFlow(
|
|
IN PFLOW_STRUC pFlow,
|
|
IN DWORD Status
|
|
);
|
|
|
|
VOID
|
|
CompleteModifyFlow(
|
|
IN PFLOW_STRUC pFlow,
|
|
IN DWORD Status
|
|
);
|
|
|
|
VOID
|
|
CompleteDeleteFlow(
|
|
IN PFLOW_STRUC pFlow,
|
|
IN DWORD Status
|
|
);
|
|
|
|
DWORD
|
|
OpenGpcClients(
|
|
IN ULONG CfInfoType
|
|
);
|
|
|
|
DWORD
|
|
DereferenceInterface(
|
|
IN PINTERFACE_STRUC pInterface
|
|
);
|
|
|
|
DWORD
|
|
DereferenceFlow(
|
|
IN PFLOW_STRUC pFlow
|
|
);
|
|
|
|
DWORD
|
|
DereferenceFilter(
|
|
IN PFILTER_STRUC pFilter
|
|
);
|
|
|
|
DWORD
|
|
DereferenceClient(
|
|
IN PCLIENT_STRUC pClient
|
|
);
|
|
|
|
|
|
DWORD
|
|
GetInterfaceIndex(
|
|
IN PADDRESS_LIST_DESCRIPTOR pAddressListDesc,
|
|
OUT PULONG pInterfaceIndex,
|
|
OUT PULONG pSpecificLinkCtx
|
|
);
|
|
|
|
DWORD
|
|
CreateKernelInterfaceStruc(
|
|
OUT PTC_IFC *ppTcIfc,
|
|
IN DWORD AddresssLength
|
|
);
|
|
|
|
DWORD
|
|
DereferenceKernelInterface(
|
|
PTC_IFC pTcIfc
|
|
);
|
|
|
|
|
|
|
|
//
|
|
// tcglob.c
|
|
//
|
|
|
|
DWORD
|
|
InitializeGlobalData();
|
|
|
|
VOID
|
|
DeInitializeGlobalData();
|
|
|
|
|
|
//
|
|
// callback.c
|
|
//
|
|
|
|
VOID
|
|
NTAPI CbAddFlowComplete(
|
|
IN PVOID ApcContext,
|
|
IN PIO_STATUS_BLOCK IoStatusBlock,
|
|
IN ULONG Reserved
|
|
);
|
|
|
|
VOID
|
|
NTAPI CbModifyFlowComplete(
|
|
IN PVOID ApcContext,
|
|
IN PIO_STATUS_BLOCK IoStatusBlock,
|
|
IN ULONG Reserved
|
|
);
|
|
|
|
VOID
|
|
NTAPI CbDeleteFlowComplete(
|
|
IN PVOID ApcContext,
|
|
IN PIO_STATUS_BLOCK IoStatusBlock,
|
|
IN ULONG Reserved
|
|
);
|
|
|
|
VOID
|
|
NTAPI CbGpcNotifyRoutine(
|
|
IN PVOID ApcContext,
|
|
IN PIO_STATUS_BLOCK IoStatusBlock,
|
|
IN ULONG Reserved
|
|
);
|
|
|
|
VOID
|
|
CbParamNotifyClient(
|
|
IN ULONG Context,
|
|
IN LPGUID pGuid,
|
|
IN LPWSTR InstanceName,
|
|
IN ULONG DataSize,
|
|
IN PVOID DataBuffer
|
|
);
|
|
|
|
VOID
|
|
CbInterfaceNotifyClient(
|
|
IN ULONG Context,
|
|
IN LPGUID pGuid,
|
|
IN LPWSTR InstanceName,
|
|
IN ULONG DataSize,
|
|
IN PVOID DataBuffer
|
|
);
|
|
|
|
//
|
|
// tcwmi.c
|
|
//
|
|
|
|
DWORD
|
|
InitializeWmi(VOID);
|
|
|
|
DWORD
|
|
DeInitializeWmi(VOID);
|
|
|
|
VOID
|
|
CbWmiParamNotification(
|
|
IN PWNODE_HEADER WnodeHeader,
|
|
IN ULONG Index
|
|
);
|
|
|
|
VOID
|
|
CbWmiInterfaceNotification(
|
|
IN PWNODE_HEADER WnodeHeader,
|
|
IN ULONG Index
|
|
);
|
|
|
|
DWORD
|
|
WalkWnode(
|
|
IN PWNODE_HEADER pWnodeHdr,
|
|
IN ULONG Context,
|
|
IN CB_PER_INSTANCE_ROUTINE CbPerInstance
|
|
);
|
|
|
|
//
|
|
// tcutils.c
|
|
//
|
|
|
|
ULONG
|
|
LockedDec(
|
|
IN PULONG Count
|
|
);
|
|
|
|
|
|
//
|
|
// tcnotify.c
|
|
//
|
|
ULONG
|
|
TcipAddToNotificationList(
|
|
IN LPGUID Guid,
|
|
IN PINTERFACE_STRUC IfcHandle,
|
|
IN ULONG Flags
|
|
);
|
|
|
|
ULONG
|
|
TcipDeleteFromNotificationList(
|
|
IN LPGUID Guid,
|
|
IN PINTERFACE_STRUC IfcHandle,
|
|
IN ULONG Flags
|
|
);
|
|
|
|
ULONG
|
|
TcipClientRegisteredForNotification(
|
|
IN LPGUID Guid,
|
|
IN PINTERFACE_STRUC IfcHandle,
|
|
IN ULONG Flags
|
|
);
|
|
|
|
ULONG
|
|
TcipDeleteInterfaceFromNotificationList(
|
|
IN PINTERFACE_STRUC IfcHandle,
|
|
IN ULONG Flags
|
|
);
|
|
|
|
#endif
|