and added files
[bcm963xx.git] / userapps / opensource / net-snmp / agent / mibgroup / disman / mteTriggerTable.h
1 /*
2  * This file was generated by mib2c and is intended for use as a mib module
3  * for the ucd-snmp snmpd agent. 
4  */
5
6
7 #ifndef _MIBGROUP_MTETRIGGERTABLE_H
8 #define _MIBGROUP_MTETRIGGERTABLE_H
9
10
11 /*
12  * we may use header_complex from the header_complex module 
13  */
14
15
16 config_require(header_complex)
17
18     /*
19      * our storage structure(s) 
20      */
21      struct mteTriggerTable_data {
22
23
24          char           *mteOwner;
25          size_t          mteOwnerLen;
26          char           *mteTriggerName;
27          size_t          mteTriggerNameLen;
28          char           *mteTriggerComment;
29          size_t          mteTriggerCommentLen;
30          char           *mteTriggerTest;
31          size_t          mteTriggerTestLen;
32          long            mteTriggerSampleType;
33          oid            *mteTriggerValueID;
34          size_t          mteTriggerValueIDLen;
35          long            mteTriggerValueIDWildcard;
36          char           *mteTriggerTargetTag;
37          size_t          mteTriggerTargetTagLen;
38          char           *mteTriggerContextName;
39          size_t          mteTriggerContextNameLen;
40          long            mteTriggerContextNameWildcard;
41          unsigned long   mteTriggerFrequency;
42          char           *mteTriggerObjectsOwner;
43          size_t          mteTriggerObjectsOwnerLen;
44          char           *mteTriggerObjects;
45          size_t          mteTriggerObjectsLen;
46          long            mteTriggerEnabled;
47          long            mteTriggerEntryStatus;
48
49          /*
50           * delta table 
51           */
52          oid            *mteTriggerDeltaDiscontinuityID;
53          size_t          mteTriggerDeltaDiscontinuityIDLen;
54          long            mteTriggerDeltaDiscontinuityIDWildcard;
55          long            mteTriggerDeltaDiscontinuityIDType;
56          unsigned long   prevDiscoTicks;
57          unsigned long   prevUptimeTicks;
58
59          /*
60           * existence table 
61           */
62          char           *mteTriggerExistenceTest;
63          size_t          mteTriggerExistenceTestLen;
64          char           *mteTriggerExistenceStartup;
65          size_t          mteTriggerExistenceStartupLen;
66          char           *mteTriggerExistenceObjectsOwner;
67          size_t          mteTriggerExistenceObjectsOwnerLen;
68          char           *mteTriggerExistenceObjects;
69          size_t          mteTriggerExistenceObjectsLen;
70          char           *mteTriggerExistenceEventOwner;
71          size_t          mteTriggerExistenceEventOwnerLen;
72          char           *mteTriggerExistenceEvent;
73          size_t          mteTriggerExistenceEventLen;
74
75          /*
76           * boolean table 
77           */
78          long            mteTriggerBooleanComparison;
79          long            mteTriggerBooleanValue;
80          long            mteTriggerBooleanStartup;
81          char           *mteTriggerBooleanObjectsOwner;
82          size_t          mteTriggerBooleanObjectsOwnerLen;
83          char           *mteTriggerBooleanObjects;
84          size_t          mteTriggerBooleanObjectsLen;
85          char           *mteTriggerBooleanEventOwner;
86          size_t          mteTriggerBooleanEventOwnerLen;
87          char           *mteTriggerBooleanEvent;
88          size_t          mteTriggerBooleanEventLen;
89
90          /*
91           * threshold table 
92           */
93          long            mteTriggerThresholdStartup;
94          long            mteTriggerThresholdRising;
95          long            mteTriggerThresholdFalling;
96          long            mteTriggerThresholdDeltaRising;
97          long            mteTriggerThresholdDeltaFalling;
98          char           *mteTriggerThresholdObjectsOwner;
99          size_t          mteTriggerThresholdObjectsOwnerLen;
100          char           *mteTriggerThresholdObjects;
101          size_t          mteTriggerThresholdObjectsLen;
102          char           *mteTriggerThresholdRisingEventOwner;
103          size_t          mteTriggerThresholdRisingEventOwnerLen;
104          char           *mteTriggerThresholdRisingEvent;
105          size_t          mteTriggerThresholdRisingEventLen;
106          char           *mteTriggerThresholdFallingEventOwner;
107          size_t          mteTriggerThresholdFallingEventOwnerLen;
108          char           *mteTriggerThresholdFallingEvent;
109          size_t          mteTriggerThresholdFallingEventLen;
110          char           *mteTriggerThresholdDeltaRisingEventOwner;
111          size_t          mteTriggerThresholdDeltaRisingEventOwnerLen;
112          char           *mteTriggerThresholdDeltaRisingEvent;
113          size_t          mteTriggerThresholdDeltaRisingEventLen;
114          char           *mteTriggerThresholdDeltaFallingEventOwner;
115          size_t          mteTriggerThresholdDeltaFallingEventOwnerLen;
116          char           *mteTriggerThresholdDeltaFallingEvent;
117          size_t          mteTriggerThresholdDeltaFallingEventLen;
118
119          /*
120           * internal variables 
121           */
122          int             storageType;
123          unsigned int    alarmreg;
124          int             lastboolresult;
125          int             started;
126          long            lastvalue;
127          struct header_complex_index *hc_storage, *hc_storage_old;
128          unsigned long   threshold_state;
129
130          /*
131           * pdu auth contents 
132           */
133          long            have_copied_auth_info;
134          long            pdu_version;
135          long            pdu_securityModel;
136          long            pdu_securityLevel;
137          void           *pdu_transport;
138          size_t          pdu_transportLen;
139          const oid      *pdu_tDomain;
140          size_t          pdu_tDomainLen;
141          u_char         *pdu_community;
142          size_t          pdu_community_len;
143          char           *pdu_contextName;
144          size_t          pdu_contextNameLen;
145          char           *pdu_securityName;
146          size_t          pdu_securityNameLen;
147      };
148
149      struct last_state {
150          long           *value;
151          char            lastbool;
152          char            lastthreshold;
153      };
154
155
156 /*
157  * enum definitions from the covered mib sections 
158  */
159
160
161
162
163
164
165
166 #define MTETRIGGERTEST_EXISTENCE                 0x80
167 #define MTETRIGGERTEST_BOOLEAN                   0x40
168 #define MTETRIGGERTEST_THRESHOLD                 0x20
169
170 #define MTETRIGGERSAMPLETYPE_ABSOLUTEVALUE       1
171 #define MTETRIGGERSAMPLETYPE_DELTAVALUE          2
172
173
174 /*
175  * What's wrong with using the regular TruthValue definitions TV_TRUE 
176  * and TV_FALSE (snmp-tc.h) which are up to 77% shorter?  
177  */
178
179 #define MTETRIGGERVALUEIDWILDCARD_TRUE           1
180 #define MTETRIGGERVALUEIDWILDCARD_FALSE          2
181
182
183
184 #define MTETRIGGERCONTEXTNAMEWILDCARD_TRUE       1
185 #define MTETRIGGERCONTEXTNAMEWILDCARD_FALSE      2
186
187
188
189
190 #define MTETRIGGERENABLED_TRUE                   1
191 #define MTETRIGGERENABLED_FALSE                  2
192
193 #define MTE_NOTSTARTED 0
194 #define MTE_STARTED 1
195
196 #define MTE_THRESHOLD_BEGIN  0
197 #define MTE_THRESHOLD_HIGH   1
198 #define MTE_THRESHOLD_LOW    2
199
200 /*
201  * Just the first (MTE-specific) groups of errors defined here;
202  * others are numerically equal to the regular SNMP errors.  
203  */
204
205 #define MTE_FAILURE_LOCALRESOURCELACK           -1
206 #define MTE_FAILURE_BADDESTINATION              -2
207 #define MTE_FAILURE_DESTINATIONUNREACHABLE      -3
208 #define MTE_FAILURE_NORESPONSE                  -4
209 #define MTE_FAILURE_BADTYPE                     -5
210 #define MTE_FAILURE_SAMPLEOVERRUN               -6
211
212
213 /*
214  * function prototypes 
215  */
216
217
218      void            init_mteTriggerTable(void);
219      FindVarMethod   var_mteTriggerTable;
220      void            parse_mteTriggerTable(const char *, char *);
221      void            parse_simple_monitor(const char *, char *);
222      void            parse_default_monitors(const char *, char *);
223      SNMPCallback    store_mteTriggerTable;
224      netsnmp_pdu    *mte_get_response(struct mteTriggerTable_data *,
225                                       netsnmp_pdu *);
226
227
228      WriteMethod     write_mteTriggerComment;
229      WriteMethod     write_mteTriggerTest;
230      WriteMethod     write_mteTriggerSampleType;
231      WriteMethod     write_mteTriggerValueID;
232      WriteMethod     write_mteTriggerValueIDWildcard;
233      WriteMethod     write_mteTriggerTargetTag;
234      WriteMethod     write_mteTriggerContextName;
235      WriteMethod     write_mteTriggerContextNameWildcard;
236      WriteMethod     write_mteTriggerFrequency;
237      WriteMethod     write_mteTriggerObjectsOwner;
238      WriteMethod     write_mteTriggerObjects;
239      WriteMethod     write_mteTriggerEnabled;
240      WriteMethod     write_mteTriggerEntryStatus;
241
242      WriteMethod     write_mteTriggerEntryStatus;
243
244      void            mte_enable_trigger(struct mteTriggerTable_data *item);
245      void            mte_disable_trigger(struct mteTriggerTable_data
246                                          *item);
247      SNMPAlarmCallback mte_run_trigger;
248
249 #endif                          /* _MIBGROUP_MTETRIGGERTABLE_H */