AgentX++  2.0.5
agentx_mib.h
Go to the documentation of this file.
1 /*_############################################################################
2  _##
3  _## agentx_mib.h
4  _##
5  _##
6  _## AgentX++ 2
7  _## -------------------------------------
8  _## Copyright (C) 2000-2013 - Frank Fock
9  _##
10  _## Use of this software is subject to the license agreement you received
11  _## with this software and which can be downloaded from
12  _## http://www.agentpp.com
13  _##
14  _## This is licensed software and may not be used in a commercial
15  _## environment, except for evaluation purposes, unless a valid
16  _## license has been purchased.
17  _##
18  _##########################################################################*/
19 
20 
21 #ifndef _agentx_mib_h
22 #define _agentx_mib_h
23 
24 
25 #include <agent_pp/mib.h>
26 
27 #include <agent_pp/snmp_textual_conventions.h>
28 #include <agent_pp/notification_originator.h>
30 
31 
32 #define oidAgentxDefaultTimeout "1.3.6.1.2.1.74.1.1.1.0"
33 #define oidAgentxMasterAgentXVer "1.3.6.1.2.1.74.1.1.2.0"
34 #define oidAgentxConnTableLastChange "1.3.6.1.2.1.74.1.2.1.0"
35 #define oidAgentxConnectionTable "1.3.6.1.2.1.74.1.2.2"
36 #define oidAgentxConnectionEntry "1.3.6.1.2.1.74.1.2.2.1"
37 #define oidAgentxConnIndex "1.3.6.1.2.1.74.1.2.2.1.1"
38 #define colAgentxConnIndex "1"
39 #define oidAgentxConnOpenTime "1.3.6.1.2.1.74.1.2.2.1.2"
40 #define colAgentxConnOpenTime "2"
41 #define oidAgentxConnTransportDomain "1.3.6.1.2.1.74.1.2.2.1.3"
42 #define colAgentxConnTransportDomain "3"
43 #define oidAgentxConnTransportAddress "1.3.6.1.2.1.74.1.2.2.1.4"
44 #define colAgentxConnTransportAddress "4"
45 #define oidAgentxSessionTableLastChange "1.3.6.1.2.1.74.1.3.1.0"
46 #define oidAgentxSessionTable "1.3.6.1.2.1.74.1.3.2"
47 #define oidAgentxSessionEntry "1.3.6.1.2.1.74.1.3.2.1"
48 #define oidAgentxSessionIndex "1.3.6.1.2.1.74.1.3.2.1.1"
49 #define colAgentxSessionIndex "1"
50 #define oidAgentxSessionObjectID "1.3.6.1.2.1.74.1.3.2.1.2"
51 #define colAgentxSessionObjectID "2"
52 #define oidAgentxSessionDescr "1.3.6.1.2.1.74.1.3.2.1.3"
53 #define colAgentxSessionDescr "3"
54 #define oidAgentxSessionAdminStatus "1.3.6.1.2.1.74.1.3.2.1.4"
55 #define colAgentxSessionAdminStatus "4"
56 #define oidAgentxSessionOpenTime "1.3.6.1.2.1.74.1.3.2.1.5"
57 #define colAgentxSessionOpenTime "5"
58 #define oidAgentxSessionAgentXVer "1.3.6.1.2.1.74.1.3.2.1.6"
59 #define colAgentxSessionAgentXVer "6"
60 #define oidAgentxSessionTimeout "1.3.6.1.2.1.74.1.3.2.1.7"
61 #define colAgentxSessionTimeout "7"
62 #define oidAgentxRegistrationTableLastChange "1.3.6.1.2.1.74.1.4.1.0"
63 #define oidAgentxRegistrationTable "1.3.6.1.2.1.74.1.4.2"
64 #define oidAgentxRegistrationEntry "1.3.6.1.2.1.74.1.4.2.1"
65 #define oidAgentxRegIndex "1.3.6.1.2.1.74.1.4.2.1.1"
66 #define colAgentxRegIndex "1"
67 #define oidAgentxRegContext "1.3.6.1.2.1.74.1.4.2.1.2"
68 #define colAgentxRegContext "2"
69 #define oidAgentxRegStart "1.3.6.1.2.1.74.1.4.2.1.3"
70 #define colAgentxRegStart "3"
71 #define oidAgentxRegRangeSubId "1.3.6.1.2.1.74.1.4.2.1.4"
72 #define colAgentxRegRangeSubId "4"
73 #define oidAgentxRegUpperBound "1.3.6.1.2.1.74.1.4.2.1.5"
74 #define colAgentxRegUpperBound "5"
75 #define oidAgentxRegPriority "1.3.6.1.2.1.74.1.4.2.1.6"
76 #define colAgentxRegPriority "6"
77 #define oidAgentxRegTimeout "1.3.6.1.2.1.74.1.4.2.1.7"
78 #define colAgentxRegTimeout "7"
79 #define oidAgentxRegInstance "1.3.6.1.2.1.74.1.4.2.1.8"
80 #define colAgentxRegInstance "8"
81 
82 #ifdef AGENTPP_NAMESPACE
83 namespace Agentpp {
84 #endif
85 
86 
87 
98 class agentxSessionAdminStatus: public MibLeaf {
99 
100 public:
101  agentxSessionAdminStatus(const Oidx&);
102  virtual ~agentxSessionAdminStatus();
103 
104  virtual MibEntryPtr clone();
105  virtual void get_request(Request*, int);
106  virtual long get_state();
107  virtual void set_state(long);
108  virtual int set(const Vbx&);
109  virtual int prepare_set_request(Request*, int&);
110  virtual bool value_ok(const Vbx&);
111 
112  static void set_writable(bool);
113 
114  protected:
115  static mib_access myaccess;
116 };
117 
118 
119 
120 
133 class agentxConnectionEntry: public TimeStampTable {
134 
135 public:
136  agentxConnectionEntry(TimeStamp*);
137  virtual ~agentxConnectionEntry();
138 
140 
141  virtual void set_row(MibTableRow*, u_int,
142  const Oidx&, const NS_SNMP OctetStr&);
143  virtual u_int add(const Oidx&, const NS_SNMP OctetStr&);
144  virtual void remove(u_int);
145 
146  protected:
147  static u_int next_connection;
148 };
149 
150 
163 class agentxSessionEntry: public TimeStampTable {
165 public:
166  agentxSessionEntry(TimeStamp*);
167  virtual ~agentxSessionEntry();
168 
170 
171  virtual void set_row(MibTableRow*, const Oidx&,
172  const NS_SNMP OctetStr&, int, u_int,
173  u_char, u_char);
174  virtual void add(u_int, u_int, const Oidx&, const NS_SNMP OctetStr&,
175  u_char, u_char);
176  virtual void remove(u_int, u_int);
177 
178  void set_master(MasterAgentXMib* m) { master = m; }
185  void deferred_delete(MibTableRow*);
186 
187  protected:
189 
190 };
191 
192 
193 #define AX_REG_CID 1
194 #define AX_REG_SID 2
195 #define AX_REG_RID 3
196 
197 
209 class agentxRegistrationEntry: public TimeStampTable {
210 
211 public:
212  agentxRegistrationEntry(TimeStamp*);
213  virtual ~agentxRegistrationEntry();
214 
216 
217  virtual void set_row(MibTableRow* r, const NS_SNMP OctetStr&,
218  const Oidx&, u_int, u_int, u_int,
219  u_char, int);
220  virtual u_int add(u_int, u_int, const NS_SNMP OctetStr&,
221  const Oidx&, u_int, u_int, u_int,
222  u_char, bool);
223  virtual void remove(u_int, u_int, u_int);
224  protected:
225  static u_int next_reg;
226 };
227 
228 
229 class AGENTXPP_DECL agentx_mib: public MibGroup
230 {
231  public:
232  agentx_mib();
233  virtual ~agentx_mib() { }
234 };
235 
236 #ifdef AGENTPP_NAMESPACE
237 }
238 #endif
239 
240 
241 #endif
242 
243