/*++ Copyright (c) 1995-1997 Microsoft Corporation Module Name: clusrtl.h Abstract: Header file for definitions and structures for the NT Cluster Run Time Library Author: John Vert (jvert) 30-Nov-1995 Revision History: --*/ #ifndef _CLNETCFG_INCLUDED_ #define _CLNETCFG_INCLUDED_ #ifdef __cplusplus extern "C" { #endif typedef struct { LIST_ENTRY Linkage; LPWSTR Id; LPWSTR Name; LPWSTR Address; LPWSTR AddressMask; } CLNET_NETWORK, *PCLNET_NETWORK; typedef struct { LIST_ENTRY Linkage; LPWSTR Id; LPWSTR Name; LPWSTR NodeId; LPWSTR NetworkId; LPWSTR Adapter; LPWSTR Address; } CLNET_INTERFACE, *PCLNET_INTERFACE; PCLNET_NETWORK ClNetAllocNetwork( LPWSTR Id, LPWSTR Name, LPWSTR Address, LPWSTR AddressMask ); VOID ClNetFreeNetwork( PCLNET_NETWORK Network ); PCLNET_INTERFACE ClNetAllocInterface( LPWSTR Id, LPWSTR Name, LPWSTR NodeId, LPWSTR NetworkId, LPWSTR Adapter, LPWSTR Address ); VOID ClNetFreeInterface( PCLNET_INTERFACE Interface ); ///////////////////////////////////////////////////////////////////////// // // Routines exported by the ClNet package // LPWSTR ClNetLoadString( IN UINT StringId ); LPWSTR ClNetMakeInterfaceName( LPWSTR Prefix, OPTIONAL LPWSTR NodeName, LPWSTR AdapterName ); LPWSTR ClNetMakeNewNetworkName( IN LPWSTR NewNetworkName, IN LPWSTR InterfaceName ); DWORD ClNetConfigureNetworks( IN RPC_BINDING_HANDLE JoinSponsorBinding, IN LPWSTR LocalNodeId, IN LPWSTR LocalNodeName, IN PNM_NETWORK_ENUM NetworkEnum, IN PNM_INTERFACE_ENUM InterfaceEnum, IN LPWSTR DefaultEndpoint, IN LPWSTR NewNetworkNameString, OUT LPDWORD MatchedNetworkCount, OUT LPDWORD NewNetworkCount ); VOID ClNetFreeNetworkEnum( IN PNM_NETWORK_ENUM NetworkEnum ); VOID ClNetFreeNetworkInfo( IN PNM_NETWORK_INFO NetworkInfo ); VOID ClNetFreeInterfaceEnum( IN PNM_INTERFACE_ENUM InterfaceEnum ); VOID ClNetFreeInterfaceInfo( IN PNM_INTERFACE_INFO InterfaceInfo ); VOID ClNetFreeNodeEnum( IN PNM_NODE_ENUM NodeEnum ); VOID ClNetFreeNodeEnum2( IN PNM_NODE_ENUM2 NodeEnum2 ); VOID ClNetFreeNodeInfo( IN PNM_NODE_INFO NodeInfo ); // // Routines that must be supplied by users of the ClNet package. // VOID ClNetPrint( IN ULONG LogLevel, IN PCHAR FormatString, ... ); VOID ClNetLogEvent( IN DWORD LogLevel, IN DWORD MessageId ); VOID ClNetLogEvent1( IN DWORD LogLevel, IN DWORD MessageId, IN LPCWSTR Arg1 ); VOID ClNetLogEvent2( IN DWORD LogLevel, IN DWORD MessageId, IN LPCWSTR Arg1, IN LPCWSTR Arg2 ); VOID ClNetLogEvent3( IN DWORD LogLevel, IN DWORD MessageId, IN LPCWSTR Arg1, IN LPCWSTR Arg2, IN LPCWSTR Arg3 ); DWORD ClNetCreateNetworkDefinition( IN RPC_BINDING_HANDLE JoinSponsorBinding, IN PNM_NETWORK_INFO NetworkInfo, IN PNM_INTERFACE_INFO InterfaceInfo ); DWORD ClNetCreateInterfaceDefinition( IN RPC_BINDING_HANDLE JoinSponsorBinding, IN PNM_INTERFACE_INFO InterfaceInfo ); DWORD ClNetSetInterfaceDefinition( IN RPC_BINDING_HANDLE JoinSponsorBinding, IN PNM_INTERFACE_INFO InterfaceInfo ); DWORD ClNetDeleteInterfaceDefinition( IN RPC_BINDING_HANDLE JoinSponsorBinding, IN LPWSTR InterfaceId, IN LPWSTR NetworkId, OUT PBOOLEAN NetworkDeleted ); #ifdef __cplusplus } #endif #endif // ifndef _CLNETCFG_INCLUDED_