00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061
00062
00063
00064
00065
00066
00067
00068
00069
00070
00071
00072
00073
00074
00075
00076
00077
00078
00079
00080
00081
00082
00083
00084
00085
00086
00087
00088
00089
00090
00091
00092 #ifndef _snmp_textual_convention_h_
00093 #define _snmp_textual_convention_h_
00094
00095 #include <agent_pp/agent++.h>
00096 #include <agent_pp/mib.h>
00097
00098 #define oidSnmpSetSerialNo "1.3.6.1.6.3.1.1.6.1.0"
00099
00100 #ifdef AGENTPP_NAMESPACE
00101 namespace Agentpp {
00102 #endif
00103
00104
00105 const index_info iSnmpAdminString[1] =
00106 { { sNMP_SYNTAX_OCTETS, TRUE, 1, 32 } };
00107
00108
00109
00110
00120 class AGENTPP_DECL SnmpDisplayString: public MibLeaf {
00121
00122 public:
00134 SnmpDisplayString(const Oidx&, mib_access, NS_SNMP OctetStr*);
00149 SnmpDisplayString(const Oidx&, mib_access, NS_SNMP OctetStr*, boolean);
00168 SnmpDisplayString(const Oidx&, mib_access, NS_SNMP OctetStr*, boolean,
00169 int, int);
00170 virtual ~SnmpDisplayString();
00171
00172 virtual MibEntryPtr clone();
00173 virtual boolean value_ok(const Vbx&);
00174 virtual int prepare_set_request(Request*, int&);
00175 protected:
00176 unsigned int max_size;
00177 unsigned int min_size;
00178 };
00179
00180
00181
00182
00287 class AGENTPP_DECL SnmpEngineID: public MibLeaf {
00288
00289 public:
00301 SnmpEngineID(const Oidx&, mib_access, NS_SNMP OctetStr*);
00302
00324 SnmpEngineID(const Oidx&, mib_access, NS_SNMP OctetStr*, int);
00325
00329 virtual ~SnmpEngineID();
00330
00331 virtual MibEntryPtr clone();
00332 virtual int prepare_set_request(Request*, int&);
00333
00344 static NS_SNMP OctetStr create_engine_id(const NS_SNMP OctetStr& userText);
00345
00356 static NS_SNMP OctetStr create_engine_id(unsigned short port);
00357
00358 };
00359
00360
00361
00362
00371 class AGENTPP_DECL SnmpTagValue: public MibLeaf {
00372
00373 public:
00395 SnmpTagValue(const Oidx&, mib_access, NS_SNMP OctetStr*, int);
00396
00397 SnmpTagValue(const Oidx&);
00398 virtual ~SnmpTagValue();
00399
00400 virtual MibEntryPtr clone();
00401 virtual boolean value_ok(const Vbx&);
00402 virtual int prepare_set_request(Request*, int&);
00403 static boolean is_delimiter(char);
00404 };
00405
00406
00407
00408
00419 class AGENTPP_DECL SnmpTagList: public MibLeaf {
00420
00421 public:
00443 SnmpTagList(const Oidx&, mib_access, NS_SNMP OctetStr*, int);
00444
00445 SnmpTagList(const Oidx&);
00446 virtual ~SnmpTagList();
00447
00448 virtual MibEntryPtr clone();
00449 virtual boolean value_ok(const Vbx&);
00450 virtual boolean contains(const char*);
00451 };
00452
00453
00454
00455
00506 class AGENTPP_DECL TestAndIncr: public MibLeaf {
00507
00508 public:
00509 TestAndIncr(const Oidx&);
00510 virtual ~TestAndIncr();
00511
00512 virtual long get_state();
00513 virtual void set_state(long);
00514 virtual int set(const Vbx&);
00515 virtual boolean value_ok(const Vbx&);
00516 virtual int prepare_set_request(Request*, int&);
00517
00518 virtual boolean is_volatile() { return TRUE; }
00519 };
00520
00521
00522
00523
00545 class AGENTPP_DECL StorageType: public MibLeaf {
00546
00547 public:
00556 StorageType(const Oidx&, int);
00557
00563 virtual boolean row_is_volatile();
00564
00570 virtual long get_state();
00571
00578 virtual void set_state(long);
00579
00580 virtual MibEntryPtr clone();
00581 virtual boolean value_ok(const Vbx&);
00582 };
00583
00584
00585
00586
00597 class AGENTPP_DECL StorageTable: public MibTable {
00598 friend class Mib;
00599 friend class snmpRowStatus;
00600 public:
00601
00605 StorageTable(const StorageTable&);
00606
00615 StorageTable(const Oidx&);
00616
00630 StorageTable(const Oidx&, unsigned int);
00631
00643 StorageTable(const Oidx&, unsigned int, boolean);
00644
00663 StorageTable(const Oidx&, const index_info*, unsigned int);
00664
00668 virtual ~StorageTable();
00669
00677 virtual void add_storage_col(StorageType*);
00678
00687 void set_storage_type(MibTableRow*, int);
00688
00692 virtual void reset();
00693
00694 protected:
00704 virtual boolean is_persistent(MibTableRow*);
00705
00706 private:
00707 int storage_type;
00708 };
00709
00710
00711
00722 class AGENTPP_DECL SnmpInt32MinMax : public MibLeaf
00723 {
00724 public:
00725
00750 SnmpInt32MinMax(const Oidx&, mib_access, const int, int, int, int);
00763 SnmpInt32MinMax(const Oidx&, mib_access, int, int);
00764
00765 virtual boolean value_ok(const Vbx&);
00766 MibEntryPtr clone();
00767
00768 int get_state();
00769 void set_state(int);
00770 private:
00771 int min, max;
00772 };
00773
00774
00775
00786 class AGENTPP_DECL OctetStrMinMax : public MibLeaf
00787 {
00788 public:
00789
00814 OctetStrMinMax(const Oidx&, mib_access, NS_SNMP OctetStr*, int, u_int, u_int);
00827 OctetStrMinMax(const Oidx&, mib_access, u_int, u_int);
00828
00829 virtual int prepare_set_request(Request*, int&);
00830 MibEntryPtr clone();
00831
00838 int get();
00839
00840 protected:
00841 unsigned int min, max;
00842 };
00843
00844
00845
00919 class AGENTPP_DECL SnmpSecurityModel: public SnmpInt32MinMax {
00920
00921 public:
00922 SnmpSecurityModel(const Oidx&, mib_access, int, int);
00923 virtual ~SnmpSecurityModel();
00924
00925 virtual MibEntryPtr clone();
00926 };
00927
00928
00929
00930
00954 class AGENTPP_DECL SnmpSecurityLevel: public SnmpInt32MinMax {
00955
00956 public:
00957 SnmpSecurityLevel(const Oidx&, mib_access, int, int);
00958 virtual ~SnmpSecurityLevel();
00959
00960 virtual MibEntryPtr clone();
00961 };
00962
00963
00964
00965
01039 class AGENTPP_DECL SnmpMessageProcessingModel: public SnmpInt32MinMax {
01040
01041 public:
01042 SnmpMessageProcessingModel(const Oidx&, mib_access, int, int);
01043 virtual ~SnmpMessageProcessingModel();
01044
01045 virtual MibEntryPtr clone();
01046 };
01047
01048
01049
01111 class AGENTPP_DECL SnmpAdminString: public OctetStrMinMax {
01112
01113 public:
01125 SnmpAdminString(const Oidx&, mib_access, NS_SNMP OctetStr*);
01147 SnmpAdminString(const Oidx&, mib_access, NS_SNMP OctetStr*, int);
01173 SnmpAdminString(const Oidx&, mib_access, NS_SNMP OctetStr*, int, int, int);
01174 virtual ~SnmpAdminString();
01175
01176 virtual MibEntryPtr clone();
01177
01184 NS_SNMP OctetStr get();
01185 };
01186
01187
01188
01199 class AGENTPP_DECL TimeStamp: public MibLeaf
01200 {
01201 public:
01220 TimeStamp(const Oidx&, mib_access, int);
01221 virtual ~TimeStamp();
01222
01223 virtual boolean is_volatile() { return TRUE; }
01224
01225 virtual MibEntryPtr clone();
01226
01227 void update();
01228 };
01229
01230
01231
01240 class AGENTPP_DECL TimeStampTable: public MibTable
01241 {
01242 public:
01261 TimeStampTable(const Oidx&, const index_info*, unsigned int,
01262 TimeStamp*);
01263
01264 virtual ~TimeStampTable();
01265
01266 virtual void row_added(MibTableRow*,
01267 const Oidx&, MibTable*);
01268 virtual void row_delete(MibTableRow*,
01269 const Oidx&, MibTable*);
01275 virtual void updated();
01276
01277 protected:
01278 TimeStamp* lastChange;
01279 };
01280
01281
01282
01316 class AGENTPP_DECL DateAndTime: public MibLeaf
01317 {
01318 public:
01338 DateAndTime(const Oidx&, mib_access, int);
01339
01343 virtual ~DateAndTime();
01344
01345 virtual MibEntryPtr clone();
01346 virtual NS_SNMP OctetStr get_state();
01347 virtual void set_state(const NS_SNMP OctetStr&);
01348
01349 virtual boolean is_volatile() { return TRUE; }
01350
01354 void update();
01355 };
01356
01357 #ifdef AGENTPP_NAMESPACE
01358 }
01359 #endif
01360
01361 #endif