ip_vms.h

来自「Pegasus is an open-source implementation」· C头文件 代码 · 共 187 行

H
187
字号
//%2006//////////////////////////////////////////////////////////////////////////// Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development// Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems.// Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L.P.;// IBM Corp.; EMC Corporation, The Open Group.// Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.;// IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group.// Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.;// EMC Corporation; VERITAS Software Corporation; The Open Group.// Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.;// EMC Corporation; Symantec Corporation; The Open Group.//// Permission is hereby granted, free of charge, to any person obtaining a copy// of this software and associated documentation files (the "Software"), to// deal in the Software without restriction, including without limitation the// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or// sell copies of the Software, and to permit persons to whom the Software is// furnished to do so, subject to the following conditions:// // THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN// ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED// "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT// LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR// PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.////==============================================================================//// Author: Sean Keenan <sean.keenan@hp.com>//// Modified By:////%////////////////////////////////////////////////////////////////////////////#ifndef PG_IP_VMS_H#define PG_IP_VMS_H// =============================================================================// Includes.// =============================================================================#include <Pegasus/Provider/CIMInstanceProvider.h>PEGASUS_USING_STD;PEGASUS_USING_PEGASUS;// =============================================================================// Defines.// =============================================================================// Support IP PROTOCOL TYPES#define PROTOCOL_IPV4  "IPv4"#define PROTOCOL_IPV6  "IPv6"// =============================================================================// Type Definitions.// =============================================================================class IPInterface{  public:    IPInterface();    ~IPInterface();    // Property Accessor Methods    Boolean getCaption(String&) const;    Boolean getDescription(String&) const;    Boolean getInstallDate(CIMDateTime&) const;    Boolean getName(String&) const;    Boolean getStatus(String&) const;    Boolean getNameFormat(String&) const;    Boolean getProtocolType(Uint16&) const;    Boolean getOtherTypeDescription(String&) const;    Boolean getAddress(String&) const;    Boolean getSubnetMask(String&) const;    Boolean getAddressType(Uint16&) const;    Boolean getIPVersionSupport(Uint16&) const;    Boolean getFrameType(Uint16&) const;    // System name is the same for all instances    static Boolean getSystemName(String&);    // Method to Get the Simple Interface Name before the colon (":")    String get_LANInterfaceName(void) const;    // Method to determine if this IP interface ties to a LAN Interface    Boolean bindsToLANInterface(void) const;    // Method to obtain/save the fully qualified host name    static void initSystemName(void);    // Methods to Load Instances    void set_address(const String& addr);    void set_subnetMask(const String& snm);    void set_protocol(const String& proto);    void set_simpleIfName(const String& name);};class InterfaceList{  public:    InterfaceList();	// Constructor - should load list of interfaces    ~InterfaceList();    // Method to get a particular element based on an Interface Name    // Returns false if one is not found.    Boolean findInterface(const String &ifName,                          IPInterface &ipIfInst ) const;    // Method to get a particular element based on an index    IPInterface getInterface(const int index) const;     // Number of Elements in the InterfaceList    int size(void) const;};class IPRoute{  public:    IPRoute();    ~IPRoute();    // Property Accessor Methods    Boolean getCaption(String&) const;    Boolean getDescription(String&) const;    Boolean getInstallDate(CIMDateTime&) const;    Boolean getName(String&) const;    Boolean getStatus(String&) const;    Boolean getDestinationAddress(String&) const;    Boolean getDestinationMask(String&) const;    Boolean getNextHop(String&) const;    Boolean getIsStatic(Boolean&) const;    Boolean getAddressType(Uint16&) const;    // Methods to Load Instances    void set_destAddr(const String& addr);    void set_destMask(const String& mask);    void set_nextHop(const String& nhop);    void set_protocolType(const String& pt);};class RouteList{  public:    RouteList();	// Constructor - should load list of interfaces    ~RouteList();    // Method to find a particular IP Route based on a Destination    // Address, Destination Mask, and Address Type (e.g. IPv4):    // Returns false if a match is not found.    Boolean findRoute(const String &destAddr,		      const String &destMask,		      const Uint16 &addrType,                           IPRoute &ipRInst ) const;    // Method to get a particular element based on an index    IPRoute getRoute(const int index) const;     // Number of Elements in the IP Route    int size(void) const;};#endif  /* #ifndef PG_IP_VMS_H */

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?