Source code of Windows XP (NT5)
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.
|
|
/*
* Filename: NLB_Common.h * Description: * Author: shouse, 04.10.01 */ #ifndef __NLB_COMMON_H__
#define __NLB_COMMON_H__
#include "stdafx.h"
#include "wlbsparm.h"
#include <vector>
using namespace std;
#define NLB_MAX_NAME 100
#define NLB_MAX_HOST_NAME 100
#define NLB_MAX_DOMAIN_NAME 100
#define NLB_MAX_IPADDRESS 15
#define NLB_MAX_SUBNETMASK 15
#define NLB_MAX_NETWORK_ADDRESS 17
#define NLB_MAX_ADAPTER_GUID 40
#define NLB_MAX_ADAPTER_NAME 100
#define NLB_MAX_LABEL 100
#define NLB_MAX_PASSWORD 16
#define NLB_MIN_HOST_ID 0
#define NLB_MAX_HOST_ID 32
class NLB_Label { public: NLB_Label (); ~NLB_Label (); bool IsValid (); bool GetText (PWSTR * outText); bool SetText (PWSTR inText);
private: WCHAR Text[NLB_MAX_LABEL + 1]; };
class NLB_Name { public: NLB_Name (); ~NLB_Name (); bool IsValid (); bool GetName (PWSTR * outName); bool SetName (PWSTR inName);
private: WCHAR Name[NLB_MAX_NAME + 1]; };
class NLB_HostID { public: NLB_HostID (); ~NLB_HostID (); bool IsValid (); bool GetID (int * outID); bool SetID (int inID);
private: int ID; };
class NLB_HostName { public: NLB_HostName (); ~NLB_HostName (); bool IsValid (); bool GetName (PWSTR * outName); bool SetName (PWSTR inName);
private: WCHAR Name[NLB_MAX_HOST_NAME + 1]; };
class NLB_RemoteControl { public: typedef enum { Invalid = -1, No, Yes } NLB_RemoteControlEnabled;
NLB_RemoteControl (); ~NLB_RemoteControl (); bool IsValid (); bool GetPassword (PWSTR * outName); bool GetEnabled (NLB_RemoteControlEnabled * outEnabled); bool SetPassword (PWSTR inName); bool SetEnabled (NLB_RemoteControlEnabled inEnabled);
private: NLB_RemoteControlEnabled Enabled; WCHAR Password[NLB_MAX_PASSWORD + 1]; };
class NLB_DomainName { public: NLB_DomainName (); ~NLB_DomainName (); bool IsValid (); bool GetDomain (PWSTR * outDomain); bool SetDomain (PWSTR inDomain);
private: WCHAR Domain[NLB_MAX_DOMAIN_NAME + 1]; };
class NLB_NetworkAddress { public: NLB_NetworkAddress (); ~NLB_NetworkAddress (); bool IsValid (); bool GetAddress (PWSTR * outAddress); bool SetAddress (PWSTR inAddress);
private: WCHAR Address[NLB_MAX_NETWORK_ADDRESS + 1]; };
class NLB_ClusterMode { public: typedef enum { Invalid = -1, Unicast, Multicast, IGMP } NLB_ClusterModeType;
NLB_ClusterMode (); ~NLB_ClusterMode ();
bool IsValid (); bool GetMode (NLB_ClusterModeType * outMode); bool SetMode (NLB_ClusterModeType inMode);
private: NLB_ClusterModeType Mode; };
class NLB_HostState { public: typedef enum { Invalid = -1, Started, Stopped, Suspended } NLB_HostStateType;
NLB_HostState (); ~NLB_HostState ();
bool IsValid (); bool GetState (NLB_HostStateType * outState); bool SetState (NLB_HostStateType inState);
private: NLB_HostStateType State; };
class NLB_Adapter { public: typedef enum { Invalid = -1, ByGUID, ByName } NLB_AdapterIdentifier;
NLB_Adapter (); ~NLB_Adapter ();
bool IsValid (); bool GetAdapter (PWSTR * outAdapter); bool GetIdentifiedBy (NLB_AdapterIdentifier * outIdentifiedBy); bool SetAdapter (PWSTR inAdapter); bool SetIdentifiedBy (NLB_AdapterIdentifier inIdentifiedBy);
private: NLB_AdapterIdentifier IdentifiedBy;
struct { WCHAR Name[NLB_MAX_ADAPTER_NAME + 1]; WCHAR GUID[NLB_MAX_ADAPTER_GUID + 1]; }; };
class NLB_IPAddress { public: typedef enum { Invalid = -1, Primary, Secondary, Virtual, Dedicated, Connection, IGMP } NLB_IPAddressType;
NLB_IPAddress (); ~NLB_IPAddress ();
bool IsValid (); bool GetIPAddressType (NLB_IPAddressType * outType); bool GetIPAddress (PWSTR * outIPAddress); bool GetSubnetMask (PWSTR * outSubnetMask); bool SetIPAddressType (NLB_IPAddressType inType); bool SetIPAddress (PWSTR inIPAddress); bool SetSubnetMask (PWSTR inSubnetMask);
NLB_Adapter * GetAdapter (); private: NLB_IPAddressType Type; NLB_Adapter Adapter; WCHAR IPAddress[NLB_MAX_IPADDRESS + 1]; WCHAR SubnetMask[NLB_MAX_SUBNETMASK + 1]; };
#endif
|