SNMP++ Syntax Class Name
|
Class Description
|
SMI or ASN.1 Counter part
|
SnmpSyntax
|
Parent of all syntax classes.
|
No ASN.1 counter part, used for OO structure.
|
Oid
|
Object identifier class.
|
ASN.1 Object Identifier.
|
OctectStr
|
Octet string class.
|
ASN.1 Octet string.
|
Uint32
|
Unsigned 32 bit integer class.
|
SMI unsigned 32 bit integer.
|
TimeTicks
|
TimeTicks class.
|
SMI time ticks.
|
Counter32
|
32 bit counter class.
|
SMI 32 bit counter.
|
Gauge32
|
32 bit gauge class.
|
SMI 32 bit gauge.
|
Int32
|
Signed 32 bit integer.
|
SMI 32 bit signed integer.
|
Counter64
|
64 bit counter class.
|
SMI 64 bit counter.
|
Address
|
Abstract address class.
|
No ASN.1 counter part used for OO structure.
|
IpAddress
|
IP address class.
|
SMI IP address.
|
UdpAddress
|
UdpAddress class
|
SMI IP address with port specification.
|
IpxAddress
|
IPX address class.
|
No ASN.1 or SMI counter part
|
IpxSockAddress
|
IPX Address class with socket number.
|
No ASN.1 or SMI counter part
|
MacAddress
|
MAC address class.
|
SMI counter part
|
GenAddress
|
Generic Address
|
No ASN.1 or SMI counter part.
|
Oid Class Member Functions
|
说明
|
Constructors
|
|
Oid::Oid( void);
|
构造一个空的的
Oid
|
Oid::Oid( const char *dotted_string);
|
用带点的字符串构造新的
Oid
|
Oid::Oid( const Oid &oid);
|
用已有的
Oid
构造新的
Oid
|
Oid::Oid( const unsigned long *data, int len);
|
通过一个指针和长度来构造一个新的
Oid
|
Destructor
|
|
Oid::~Oid( );
|
销毁一个
Oid
,释放所有的堆
|
Overloaded Operators
|
|
Oid & operator = ( const char *dotted_string);
|
将一个带点的字符串付给一个
Oid
|
Oid & operator = ( const Oid &oid);
|
将一个
Oid
付给另一个
Oid
|
int operator == ( const Oid &lhs, const Oid& rhs);
|
判断两个
Oid
是否相等
|
int operator == ( const Oid& lhs, const char*dotted_string);
|
判断一个
Oid
是否和一个带点的字符串相等
|
int operator != ( const Oid &lhs, const Oid& rhs);
|
判断两个
Oid
是否不等
|
int operator != ( const Oid & lhs, const char *dotted_string);
|
判断一个
Oid
是否和一个带点的字符串不相等
|
int operator < ( const Oid &lhs, const Oid& rhs);
|
判断一个
Oid
是否比另一个小
|
int operator < ( const Oid &lhs, const char *dotted_string);
|
判断一个
Oid
是否比一个带点的字符串小
|
int operator <=( const Oid &lhs,const Oid &rhs);
|
判断一个
Oid
是否
“
小于等于
”
另一个
|
int operator <= ( const Oid &lhs, const char *dotted_string);
|
判断一个
Oid
是否
“
小于等于
”
一个带点的字符串
|
int operator > ( const Oid &lhs, const Oid &rhs);
|
判断一个
Oid
是否比另一个大
|
int operator > ( const Oid &lhs, const char * dotted_string);
|
判断一个
Oid
是否比一个带点的字符串大
|
int operator >= ( const Oid&lhs, const Oid &rhs);
|
判断一个
Oid
是否
“
大于等于
”
另一个
|
int operator >= ( const Oid &lhs, const char* dotted_string);
|
判断一个
Oid
是否
“
大于等于
”
一个带点的字符串
|
Oid& operator += ( const char *dotted_string);
|
将一个带点的字符串加到一个
Oid
后面
|
Oid& operator +=( const unsigned long i);
|
将一个整数加到一个带点的
Oid
字符串后面
|
Oid& operator+=( const Oid& oid);
|
将一个
Oid
加到另一个
Oid
后面
|
unsigned long &operator [ ] ( int position);
|
访问
Oid
的一个独立子单元
|
Output Member Functions
|
|
char * get_printable( const unsigned int n);
|
返回一个
Oid
的
n
个带点格式的子单元
|
char *get_printable( const unsigned long s, const unsigned long n);
|
返回从
s
开始,以点号分割的
n
个子单元
|
char *get_printable();
|
返回以点号分割的
Oid
字符串
|
operator char *();
|
同上
|
Miscellaneous Member Functions
|
|
set_data (const unsigned long *data,const unsigned long n);
|
用指针和长度来设置一个
Oid
|
unsigned long len( );
|
返回
Oid
中子单元的个数(长度)
|
trim( const unsigned long n=1);
|
删除
Oid
最右边的
n
个子单元,默认删除
1
个
|
nCompare( const unsigned long n, const Oid& oid);
|
从左至右比较
Oid
的前
n
个子单元
|
RnCompare( const unsigned long n, const Oid& oid);
|
从右至左比较
Oid
的后
n
个子单元
|
int valid( );
|
返回
Oid
的有效性
|
OctetStr Class Member Functions
|
说明
|
Constructors
|
|
OctetStr::OctetStr( void);
|
构造一个空的
OctetStr
|
OctetStr::OctetStr( const char* string);
|
用一个没有结束符的字符串构造
OctetStr
|
OctetStr::OctetStr( const unsigned char *s, unsigned long int i);
|
通过一个指针和长度来构造
OctetStr
|
OctetStr::OctetStr( const OctetStr &octet);
|
用已有的
OctetStr
构造新的
OctetStr
|
Destructor
|
|
OctetStr::~OctetStr( );
|
销毁一个
OctetStr
|
Overloaded Operators
|
|
OctetStr& operator = ( const char *string);
|
将一个没有结束符的字符串付给一个
OctetStr
|
OctetStr& operator = ( const OctetStr& octet);
|
将一个
OctetStr
付给另一个
OctetStr
|
int operator == ( const OctetStr &lhs, const OctetStr &rhs);
|
判断两个
OctetStr
对象是否相等
|
int operator == ( const OctetStr & lhs, const char *string);
|
判断
OctetStr
是否和一个
char*
字符串相等
|
int operator != ( const OctetStr& lhs, const OctetStr& rhs);
|
判断两个
OctetStr
对象是否不相等
|
int operator != ( const OctetStr& lhs, const char *string);
|
判断
OctetStr
是否和一个
char*
字符串不相等
|
int operator < ( const OctetStr&lhs, const OctetStr& rhs);
|
判断一个
OctetStr
是否比另一个小
|
int operator < ( const OctetStr &lhs, const char * string);
|
判断一个
OctetStr
是否比另一个
char *
字符串小
|
int operator <= ( const OctetStr &lhs, const OctetStr &rhs);
|
判断一个
OctetStr
是否
“
小于等于
”
另一个
|
int operator <= ( const OctetStr &lhs, const char * string);
|
判断一个
OctetStr
是否
“
小于等于
”
一个
char *
的字符串
|
int operator > ( const OctetStr& lhs, const OctetStr &rhs);
|
判断一个
OctetStr
是否比另一个大
|
int operator > ( const OctetStr& lhs, const char * string);
|
Test if one OctetStr is greater than a char *.
判断一个
OctetStr
是否比一个
char *
的字符串大
|
int operator >= ( const OctetStr& lhs, const OctetStr &rhs);
|
判断一个
OctetStr
是否
“
大于等于
”
另一个
|
int operator >= ( const OctetStr& lhs, const char *);
|
判断一个
OctetStr
是否
“
大于等于
”
一个
char*
的字符串
|
OctetStr& operator +=( const char * string);
|
在一个
OctetStr
后面连接一个字符串
|
OctetStr& operator +=( const unsigned char c);
|
在一个
OctetStr
后面连接一个单字符
|
OctetStr& operator+=( const OctetStr &octetstr);
|
将两个
OctetStr
连接在一起
|
unsigned char& operator[ ] ( int position i);
|
用数组的形式来访问一个
OctetStr
|
Miscellaneous
|
|
void set_data( const unsigned char *s, unsigned long l);
|
用指针和长度来设置一个
OctetStr
|
int nCompare( const unsigned long n, const OctetStr &o);
|
与另一个
OctetStr
比较前
n
个元素
|
unsigned long len();
|
返回一个
OctetStr
的长度
|
int valid();
|
返回一个
OctetStr
的有效性
|
unsigned char * data();
|
返回一个指向内部数据的指针
|
char * get_printable();
|
格式化输出,如果不是
ASCII
则按
16
进制处理
|
char * get_printable_hex();
|
按
16
进制格式,进行格式化输出
|
// Octet Class Examples
#include “octet.h”
void octet_example()
{
OctetStr octet1; // create an invalid un- initialized octet object
OctetStr octet2( “Red Hook Extra Bitter Ale”); // create an octet with a string
OctetStr octet3( octet2); // create an octet with another octet
unsigned char raw_data[50]; // create some raw data
OctetStr octet4( raw_data, 50); // create an OctetStr using unsigned char data
octet1 = “Sierra Nevada Pale Ale”; // assign one octet to another
cout << octet1.get_printable(); // show octet1 as a null terminated string
cout << octet4.get_printable_hex(); // show octet4 as a hex string
cout << (char *) octet1; // same as get_printable()
if ( octet1 == octet2) // compare two octets
cout << “octet1 is equal to octet2”;
octet2 += “WinterFest Ale”; // concat a string to an Octet
if ( octet2 >= octet3)
cout << “octet2 greater than or equal to octet2”;
octet2[4] = ‘b’; // modify an element of an OctetStr using [ ]’s
cout << octet.len(); // print out the length of an OctetStr
unsigned char raw_data[100];
octet1.set_data( raw_data, 100); // set the data of an to unsigned char data
// get the validity of an OctetStr
cout << (octet1.valid() )? “Octet1 is valid” : “Octet1 is Invalid”;
}; // end octet example
|
TimeTicks Class Member Functions
|
说明
|
Constructors
|
|
TimeTicks::TimeTicks( void);
|
构造一个空的
TimeTicks
对象
|
TimeTicks::TimeTicks( const unsigned long i );
|
用一个无符号长整形来构造一个
TimeTicks
对象
|
TimeTicks:;TimeTicks( const TimeTicks &t);
|
用一个已有的
TimeTicks
对象来构造一个新的
|
Destructor
|
|
TimeTicks::~TimeTicks( );
|
销毁一个
TimeTicks
对象
|
Overloaded Operators
|
|
TimeTicks& operator =( const TimeTicks &t);
|
重载赋值操作符
|
char * get_printable();
|
格式化输出,格式为:
DD Days, HH:MM:SS.hh
|
operator unsigned long();
|
把
TimeTicks
转换为无符号长整形
|
Counter32 Class Member Functions
|
说明
|
Constructors
|
|
Counter32::Counter32( void);
|
构造一个空的
Counter32
对象
|
Counter32::Counter32( const unsigned long i );
|
用一个无符号长整形来构造一个
Counter32
对象
|
Counter32::Counter32( const Counter32 &c);
|
用一个已有的
Counter32
对象来构造一个新的
|
Destructor
|
|
Counter32::~Counter32( );
|
销毁一个
TimeTicks
对象
|
Overloaded Operators
|
|
Counter32& operator = ( const Counter32& c);
|
重载赋值操作符
|
char * get_printable();
|
格式化输出
Counter32
对象
|
operator unsigned long( );
|
把
Counter32
转换为无符号长整形
|
Gauge32 Class Member Functions
|
说明
|
Constructors
|
|
Gauge32::Gauge32( void);
|
构造一个空的
Gauge32
对象
|
Gauge32::Gauge32( const unsigned long i );
|
用一个无符号长整形来构造一个
Gauge32
对象
|
Gauge32::Gauge32( const Gauge32 &g);
|
用一个已有的
Gauge32
对象来构造一个新的
|
Destructor
|
|
Gauge32::Gauge32( );
|
销毁一个
Gauge32
对象
|
Overloaded Operators
|
|
Gauge32& operator = ( const Gauge32 &g);
|
重载赋值操作符
|
char * get_printable();
|
格式化输出
Gauge32
对象
|
operator unsigned long( );
|
把
Gauge32
转换为无符号长整形
|
Counter64 Class Member Functions
|
说明
|
Constructors
|
|
Counter64::Counter64( void);
|
构造一个空的
Counter64
对象
|
Counter64::Counter64(const unsigned long hi, const unsigned long low );
|
用两个无符号长整形来构造一个
Counter64
对象
|
Counter64::Counter64( const Counter64 &ctr64);
|
拷贝构造函数
|
Counter64::Counter64( const unsigned long ul);
|
用一个无符号长整形来构造一个
Counter64
对象
|
Destructor
|
|
Counter64::~Counter64( );
|
销毁一个
Counter64
对象
|
Overloaded Operators
|
|
Counter64& operator = ( const Counter64 &ctr64);
|
将一个
Counter64
对象付给另一个
|
Counter64& operator = ( const unsigned long i );
|
用一个无符号长整形设置
Counter64
对象的低位,同时清除了它的高位
|
Counter64 operator + ( const Counter64 &ctr64);
|
两个
Counter64
对象相加
|
Counter64 operator - ( const Counter64 &ctr64);
|
两个
Counter64
对象相减
|
Counter64 operator * ( const Counter64 &ctr64);
|
两个
Counter64
对象相乘
|
Counter64 operator / ( const Counter64 &ctr64);
|
两个
Counter64
对象相除
|
int operator == ( Counter64 &lhs, Counter64 &rhs);
|
判断两个
Counter64
对象是否相等
|
int operator != ( Counter64 &lhs, Counter64 &rhs);
|
判断两个
Counter64
对象是否不相等
|
int operator < ( Counter64 &lhs, Counter64 &rhs);
|
判断一个
Counter64
是否比另一个小
|
int operator <= ( Counter64 &lhs, Counter64 &rhs);
|
判断一个
Counter64
是否
“
小于等于
”
另一个
|
int operator > ( Counter64 &lhs, Counter64 &rhs);
|
判断一个
Counter64
是否比另一个大
|
int operator >= ( Counter64 &lhs, Counter64 &rhs);
|
判断一个
Counter64
是否
“
大于等于
”
另一个
|
Member Functions
|
|
unsigned long high();
|
返回
Counter64
对象的高位
|
unsigned long low();
|
返回
Counter64
对象的低位
|
void set_high();
|
设置
Counter64
对象的高位
|
void set_low();
|
设置
Counter64
对象的低位
|
Address Class Member Functions
|
说明
|
IpAddress Class Constructors
|
|
IpAddress::IpAddress( void);
|
构造一个空的
IpAddress
对象
|
IpAddress::IpAddress( const char *string);
|
用一个字符串构造一个
IpAddress
,当需要时一般用到
DNS
上
|
IpAddress::IpAddress( const IpAddress &ipa);
|
拷贝构造函数
|
IPAddress Member Functions
|
|
char * friendly_name( int & status);
|
让
DNS
的名字看起来更友好
|
UdpAddress Constructors
|
|
UdpAddress::UdpAddress( void);
|
构造一个无效的
UdpAddress
对象
|
UdpAddress::UdpAddress( const char *string);
|
用一个字符串构造一个
UdpAddress
|
UdpAddress::UdpAddress( const UdpAddress &udpa);
|
用一个已有的
UdpAddress
来构造另一个
|
UdpAddress Member Functions
|
|
void UdpAddress:set_port( const unsigned int p);
|
设置
UdpAddress
对象的端口号
|
unsigned int UdpAddress::get_port();
|
获取
UdpAddress
对象的端口号
|
IpxAddress Class Constructors
|
|
IpxAddress::IpxAddress( void);
|
构造一个空的
IPX
地址
|
IpxAddress::IpxAddress( const char *string);
|
用一个字符串构造一个
IPX
地址
|
IpxAddress::IpxAddress( const IpxAddress &ipxa);
|
拷贝构造函数
|
IpxSockAddress Constuctors
|
|
IpxSockAddress::IpxSockAddress( void);
|
构造一个空的
IpxSockAddress
对象
|
IpxSockAddress::IpxSockAddress( const char *string);
|
用一个字符串构造一个
IpxSockAddress
|
IpxSockAddress::IpxSockAddress( const IpxSockAddress &ipxs);
|
用一个已有的
IpxSockAddress
来构造另一个
|
IpxSockAddress Member Functions
|
|
IpxSockAddress::set_socket( const unsigned int s);
|
从一个
IpxSockAddress
获得套接字
|
unsigned int IpxSocketAddress::get_socket();
|
设置一个
IpxSockAddress
的套接字
|
MacAddress Constructors
|
|
MacAddress::MacAddress( void);
|
构造一个空的
MacAddress
对象
|
MacAddress::MacAddress( const char * string);
|
用一个字符串构造一个
MacAddress
|
MacAddress::MacAddress( const MacAddress &mac);
|
拷贝构造函数
|
GenAddress Constructors
|
|
GenAddress::GenAddress( void);
|
构造一个无效的
GenAddress
对象
|
GenAddress::GenAddress( const char * addr);
|
用一个字符串构造一个
GenAddress
|
GenAddress::GenAddress( const GenAddress &addr);
|
拷贝构造函数
|
Common Member Functions, applicable to all Address classes
|
|
int operator == ( const Address &lhs, const Address rhs);
|
判断两个地址是否相等
|
int operator != ( const Address &lhs, const Address &rhs);
|
判断两个地址是否不相等
|
int operator > ( const Address &lhs, const Address &rhs);
|
判断一个地址是否大于另一个
|
int operator >= (const Address &lhs, const Address &rhs);
|
判断一个地址是否大于等于另一个
|
int operator < ( const Address &lhs, const Address &rhs);
|
判断一个地址是否小于另一个
|
int operator<=( const Address &lhs, const Address &rhs);
|
判断一个地址是否小于等于另一个
|
int operator == ( const Address &lhs, cosnt char *inaddr);
|
判断一个地址是否等于一个字符串
|
int operator > ( const Address &lhs, const char *inaddr);
|
判断一个地址是否大于一个字符串
|
int operator < ( const Address &lhs, const char *inaddr);
|
判断一个地址是否小于一个字符串
|
virtual int valid( );
|
判断一个地址的有效性
|
unsigned char& operator[]( int position);
|
允许通过数组的下标操作符来访问一个地址
|
char * get_printable ( );
|
返回格式化输出的地址
|
Variable Binding Class Member Functions
|
说明
|
Constructors
|
|
Vb( void);
|
构造一个空的
Vb
对象
|
Vb( const Oid &oid);
|
用
Oid
部分构造一个
Vb
|
Vb( const Vb &vb);
|
拷贝构造函数
|
Destructor
|
|
~Vb();
|
销毁一个
Vb
,释放所有的资源
|
Set Oid / Get Oid
|
|
void set_oid( const Oid &oid);
|
设置一个
Vb
的
Oid
部分
|
void get_oid( Oid &oid) const;
|
获得
Oid
部分
|
Set Value
|
|
void set_value( const SMIValue &val);
|
设置任一
SmiValue
|
void set_value( const int i);
|
设置一整形
value
|
void set_value( const long int i);
|
设置一长整形
value
|
void set_value( const unsigned long int i);
|
设置一无符号长整形
value
|
void set_value( const char WINFAR * ptr);
|
设置一有结束标志符的字符串
value
|
Get Value
|
|
int get_value( SMIValue &val);
|
获得任一
SmiValue
|
int get_value( int &i);
|
获得一整形
value
|
int get_value( long int &i);
|
获得一长整形
value
|
int get_value( unsigned long int &i);
|
获得一无符号长整形
value
|
int get_value( unsigned char WINFAR * ptr,
unsigned long &len);
|
获得一无符号字符数组,返回数据及其长度
|
int get_value( unsigned char WINFAR * ptr,
unsigned long &len,
unsigned long maxlen);
|
获得一指定长度的无符号字符数组,指定长度不超过最大长度。
|
int get_value( char WINFAR *ptr);
|
获得一有结束标志符的字符串
|
Miscellaneous
|
|
SmiUINT32 get_syntax();
|
返回
SMI
描述
|
char *get_printable_value();
|
返回格式化
value
|
char *get_printable_oid();
|
返回格式化
Oid
部分
|
void set_null();
|
给
Vb
对象设置一个空
value
|
int valid();
|
返回一个
Vb
的有效性
|
Overloaded Operators
|
|
Vb& operator=( const Vb &vb);
|
把一个
Vb
付给另一个
|
// get a Gauge32
int Vb::get_value( Gauge32 &gauge);
|
Vb::get_value() return value
|
说明
|
SNMP_CLASS_SUCCESS
|
成功,返回所请求的值
|
SNMP_CLASS_INVALID
|
失败,
Vb value
没有包含请求的值
|
Pdu Class Member Functions
|
说明
|
Constructors
|
|
Pdu::Pdu( void);
|
构造一个空的
Pdu
|
Pdu::Pdu( Vb* pvbs, const int pvb_count);
|
用一个数组类型的
Vb
及其长度构造一个
Pdu
|
Pdu::Pdu( const Pdu &pdu);
|
用一个
Pdu
构造另一个
|
Member Functions
|
|
int get_vblist( Vb* pvbs, const int pvb_count);
|
把
Vb
拷贝到调用的参数列表中(
vblist
)
|
int set_vblist( Vb* pvbs, const int pvb_count);
|
设置
Pdu
调用的参数列表中的
Vb
|
int get_vb( Vb &vb, const int index);
|
获取
Pdu
中一个指定的
Vb
|
int set_vb( Vb &vb, const int index);
|
为
Pdu
设置一个指定的
Vb
|
int get_vb_count();
|
获取
Pdu
中
Vb
的个数
|
int get_error_status();
|
获取
Pdu
的错误状态
|
int get_error_index();
|
获取
Pdu
的错误索引
|
unsigned long get_request_id();
|
获取
Pdu
的请求标示
|
unsigned short get_type();
|
获取
Pdu
的类型
|
int valid();
|
判断
Pdu
的有效性
|
Int delete_vb( const int position);
|
删除
Pdu
指定位置上的
Vb
|
int trim(const int i=1);
|
删除
Pud
最后位置上的
Vb
,默认删除
1
个
|
Member Functions For Inform and Trap Usage
|
|
void set_notify_timestamp( const TimeTicks ×tamp);
|
为
trap
或
inform
的
Pdu
设置时间信息
|
void get_notify_timestamp( TimeTicks & timestamp);
|
从
trap
或
inform
的
Pdu
获取时间信息
|
void set_notify_id( const Oid id);
|
设置
trap
或
inform
的
Pdu
的
ID
|
void get_notify_id( Oid &id);
|
获取
trap
或
inform
的
Pdu
的
ID
|
void set_notify_enterprise( const Oid &enterprise);
|
设置
trap
或
inform
的
Pdu
的
enterprise ID
|
void get_notify_enterprise( Oid & enterprise);
|
获取
trap
或
inform
的
Pdu
的
enterprise ID
|
Overloaded Operators
重载操作符
|
|
Pdu& operator=( const Pdu &pdu);
|
将一个
Pdu
付给另一个
|
Pdu& operator+=( Vb &vb);
|
给一个
Pdu
增加一个
Vb
|
SnmpMessage Class Member Functions
|
说明
|
Constructors
|
|
SnmpMessage::SnmpMessage( void);
|
构造一个空的
SnmpMessage
对象
|
Member Functions
|
|
int load( Pdu pdu, OctetStr community,
snmp_version version);
|
用
Pdu
、团体名、版本加载一个
SnmpMessage
对象。版本可以是
SNMPv1
或
2
。返回错误状态。
|
int load( unsigned char * data, unsigned long en);
|
用原始数据流加载一个
SnmpMessage
对象。当从线路上收取数据报并通过把它加载到一个
SnmpMessage
对象来实现解码时,该函数很有用。
|
int unload( Pdu &pdu, OctetStr &community,
snmp_version &version);
|
卸载一个已经加载过的
SnmpMessage
对象。由此可以获得
Pdu
、团体名、版本
|
unsigned char * data();
|
通过原始的
ASN.1/BER
串行化数据缓冲区。该缓冲区的范围可以通过成员函数
::len()
获得
|
unsigned long len()
|
返回原始数据缓冲区的范围
|
int valid();
|
判断一个
SnmpMessage
对象的有效性
|
Target Class Member Functions
|
说明
|
Constructors
|
|
CTarget::CTarget( void);
|
构造一个无效的
CTarget
。重发机制的默认值:
community names
=
“public”
,
retry=1
,
time_out=1
。
|
CTarget::CTarget(const Address &address ,
const char *read_community_name,
const char *write_community_name,
|
用
community names
和
Address object
构造一个
CTarget
。重发机制的默认值:
retry=1
,
time-out =100ms
。
|
CTarget( const Address &address
const OctetStr &read_community_name,
const OctetStr &write_community_name);
|
用
OctetStr Communities
和
Address
构造一个
CTarget
|
CTarget::CTarget( Address &address);
|
用
Address object
构造一个
CTarget
。重发机制的默认值:
community names
=
“public”
,
retry=1
,
time_out=1
。
|
CTarget::CTarget( const CTarget &target);
|
拷贝构造函数
|
Destructor
|
|
CTarget::~CTarget();
|
删除
CTarget
对象,释放所有资源。
|
Member Functions
|
|
char * get_readcommunity();
|
返回读权限的
community
名称
|
void get_readcommunity( OctetStr& read_community_oct);
|
获取
OctetStr
格式的读权限
community
|
void set_readcommunity( const char * get_community);
|
设置读权限
community
|
void set_readcommunity( const OctetStr& read_community);
|
用一个
OctetStr
设置读权限
community
|
char * get_writecommunity();
|
获取写权限
community
|
void get_writecommunity( OctetStr &write_community_oct);
|
获取
OctetStr
格式的写权限
community
|
void set_writecommunity( const char * new_set_community);
|
设置写权限
community
|
void set_writecommunity( const OctetStr& write_community);
|
用一个
OctetStr
设置写权限
community
|
int get_address( GenAddress &address);
|
获取
Address object.
|
void set_address( Address &address);
|
设置
Address
部分
|
CTarget& operator=( const CTarget& target);
|
把一个
CTarget
赋给另一个。
|
snmp_version get_version();
|
返回
SNMP
版本(
version1
或
version2
)
|
void set_version( const snmp_version v);
|
设置版本(
version1
或
version2
)
|
int operator==( const CTarget &lhs, const CTarget &rhs);
|
比较两个
CTargets
|
Abstract Class Member Functions
|
|
int valid();
|
返回一个
Target
的有效性
|
void set_retry( const int r);
|
设置重发值
|
int get_retry();
|
获取重发值
|
void set_timeout( const unsigned long t);
|
设置超时值
|
unsigned long get_timeout();
|
获取超时值
|
Snmp Class Member Functions
|
说明
|
Constructor
|
|
Snmp::Snmp( int &status);
|
构造一个
Snmp
对象,
status
定义的是成功状态
|
Destructor
|
|
Snmp::~Snmp( );
|
销毁,释放所有资源,关闭会话
|
Member Functions
|
|
char * error_msg( const int status);
|
返回所给错误状态的文本字符串
|
int get( Pdu &pdu, SnmpTarget &target);
|
调用阻塞方式的
SNMP get
。从
target
获取
Pdu
|
int set( Pdu &pdu, SnmpTarget &target);
|
调用阻塞方式的
SNMP set
。对
target
设置
Pdu
|
int get_next( Pdu &pdu, SnmpTarget &target);
|
调用阻塞方式的
SNMP get next
。针对
target
上的
Pdu
|
int get_bulk( Pdu &pdu, SnmpTarget &target,
const int non_repeaters,
const int max_reps);
|
调用阻塞方式的
SNMP get bulk
(但是
V2 targets
只使用
get-next
)
|
int inform( Pdu &pdu, SnmpTarget &target);
|
调用阻塞方式的
inform
|
int get( Pdu &pdu, SnmpTarget &target,
snmp_callback callback,
void * callback_data=0);
|
调用
SNMP
异步
get
。从
target
获取
Pdu
,需要用到用户定义的回调和回调的参数
|
int set( Pdu &pdu, SnmpTarget &target,
snmp_callback callback,
void * callback_data=0);
|
调用
SNMP
异步
set
。对
target
设置
Pdu
,需要用到用户定义的回调和回调的参数
|
int get_next( Pdu &pdu, SnmpTarget &target,
snmp_callback callback,
void * callback_data=0);
|
调用
SNMP
异步
get next
。从
target
获取下一个
Pdu
,需要用到用户定义的回调和回调的参数
|
int get_bulk( Pdu &pdu, SnmpTarget &target,
const int non_repeaters,
const int max_reps
snmp_callback callback,
void * callback_data=0);
|
调用
SNMP
异步
get bulk
。从
target
获取批量
Pdu
,需要用到用户定义的回调和回调的参数
|
int inform( Pdu &pdu, SnmpTarget &target,
snmp_callback callback,
void * callback_data=0);
|
调用异步
inform
。需要用到
notify
的回调。
|
int trap( Pdu &pdu, SnmpTarget &target);
|
向指定的
target
发送一个
trap
|
int notify_register( TargetCollection &targets,
OidCollection &trapids,
snmp_callback callback,
void * callback_data=0);
|
对接收
trap
和
inform
的操作注册
|
int notify_register( TargetCollection &targets,
OidCollection &trapids,
AddressCollection &listen_addresses,
snmp_callback callback,
void * callback_data=0);
|
对接收
trap
和
inform
的操作注册,并用
AddressCollection
指出监听的接口。
|
int notify_unregister();
|
撤消对接收
trap
和
inform
的操作注册
|
int cancel( const unsigned long rid);
|
取消针对所给请求
id
的异步请求的等待
|