1 |
27 |
unneback |
//==========================================================================
|
2 |
|
|
//
|
3 |
|
|
// ./lib/current/include/snmp.h
|
4 |
|
|
//
|
5 |
|
|
//
|
6 |
|
|
//==========================================================================
|
7 |
|
|
//####ECOSGPLCOPYRIGHTBEGIN####
|
8 |
|
|
// -------------------------------------------
|
9 |
|
|
// This file is part of eCos, the Embedded Configurable Operating System.
|
10 |
|
|
// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
|
11 |
|
|
//
|
12 |
|
|
// eCos is free software; you can redistribute it and/or modify it under
|
13 |
|
|
// the terms of the GNU General Public License as published by the Free
|
14 |
|
|
// Software Foundation; either version 2 or (at your option) any later version.
|
15 |
|
|
//
|
16 |
|
|
// eCos is distributed in the hope that it will be useful, but WITHOUT ANY
|
17 |
|
|
// WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
18 |
|
|
// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
19 |
|
|
// for more details.
|
20 |
|
|
//
|
21 |
|
|
// You should have received a copy of the GNU General Public License along
|
22 |
|
|
// with eCos; if not, write to the Free Software Foundation, Inc.,
|
23 |
|
|
// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
|
24 |
|
|
//
|
25 |
|
|
// As a special exception, if other files instantiate templates or use macros
|
26 |
|
|
// or inline functions from this file, or you compile this file and link it
|
27 |
|
|
// with other works to produce a work based on this file, this file does not
|
28 |
|
|
// by itself cause the resulting work to be covered by the GNU General Public
|
29 |
|
|
// License. However the source code for this file must still be made available
|
30 |
|
|
// in accordance with section (3) of the GNU General Public License.
|
31 |
|
|
//
|
32 |
|
|
// This exception does not invalidate any other reasons why a work based on
|
33 |
|
|
// this file might be covered by the GNU General Public License.
|
34 |
|
|
//
|
35 |
|
|
// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
|
36 |
|
|
// at http://sources.redhat.com/ecos/ecos-license/
|
37 |
|
|
// -------------------------------------------
|
38 |
|
|
//####ECOSGPLCOPYRIGHTEND####
|
39 |
|
|
//####UCDSNMPCOPYRIGHTBEGIN####
|
40 |
|
|
//
|
41 |
|
|
// -------------------------------------------
|
42 |
|
|
//
|
43 |
|
|
// Portions of this software may have been derived from the UCD-SNMP
|
44 |
|
|
// project, <http://ucd-snmp.ucdavis.edu/> from the University of
|
45 |
|
|
// California at Davis, which was originally based on the Carnegie Mellon
|
46 |
|
|
// University SNMP implementation. Portions of this software are therefore
|
47 |
|
|
// covered by the appropriate copyright disclaimers included herein.
|
48 |
|
|
//
|
49 |
|
|
// The release used was version 4.1.2 of May 2000. "ucd-snmp-4.1.2"
|
50 |
|
|
// -------------------------------------------
|
51 |
|
|
//
|
52 |
|
|
//####UCDSNMPCOPYRIGHTEND####
|
53 |
|
|
//==========================================================================
|
54 |
|
|
//#####DESCRIPTIONBEGIN####
|
55 |
|
|
//
|
56 |
|
|
// Author(s): hmt
|
57 |
|
|
// Contributors: hmt
|
58 |
|
|
// Date: 2000-05-30
|
59 |
|
|
// Purpose: Port of UCD-SNMP distribution to eCos.
|
60 |
|
|
// Description:
|
61 |
|
|
//
|
62 |
|
|
//
|
63 |
|
|
//####DESCRIPTIONEND####
|
64 |
|
|
//
|
65 |
|
|
//==========================================================================
|
66 |
|
|
/********************************************************************
|
67 |
|
|
Copyright 1989, 1991, 1992 by Carnegie Mellon University
|
68 |
|
|
|
69 |
|
|
Derivative Work -
|
70 |
|
|
Copyright 1996, 1998, 1999, 2000 The Regents of the University of California
|
71 |
|
|
|
72 |
|
|
All Rights Reserved
|
73 |
|
|
|
74 |
|
|
Permission to use, copy, modify and distribute this software and its
|
75 |
|
|
documentation for any purpose and without fee is hereby granted,
|
76 |
|
|
provided that the above copyright notice appears in all copies and
|
77 |
|
|
that both that copyright notice and this permission notice appear in
|
78 |
|
|
supporting documentation, and that the name of CMU and The Regents of
|
79 |
|
|
the University of California not be used in advertising or publicity
|
80 |
|
|
pertaining to distribution of the software without specific written
|
81 |
|
|
permission.
|
82 |
|
|
|
83 |
|
|
CMU AND THE REGENTS OF THE UNIVERSITY OF CALIFORNIA DISCLAIM ALL
|
84 |
|
|
WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED
|
85 |
|
|
WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL CMU OR
|
86 |
|
|
THE REGENTS OF THE UNIVERSITY OF CALIFORNIA BE LIABLE FOR ANY SPECIAL,
|
87 |
|
|
INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
|
88 |
|
|
FROM THE LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
|
89 |
|
|
CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
|
90 |
|
|
CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
91 |
|
|
*********************************************************************/
|
92 |
|
|
#ifndef SNMP_H
|
93 |
|
|
#define SNMP_H
|
94 |
|
|
|
95 |
|
|
#ifdef __cplusplus
|
96 |
|
|
extern "C" {
|
97 |
|
|
#endif
|
98 |
|
|
/*
|
99 |
|
|
* Definitions for the Simple Network Management Protocol (RFC 1067).
|
100 |
|
|
*
|
101 |
|
|
*
|
102 |
|
|
*/
|
103 |
|
|
/***********************************************************
|
104 |
|
|
Copyright 1988, 1989 by Carnegie Mellon University
|
105 |
|
|
|
106 |
|
|
All Rights Reserved
|
107 |
|
|
|
108 |
|
|
Permission to use, copy, modify, and distribute this software and its
|
109 |
|
|
documentation for any purpose and without fee is hereby granted,
|
110 |
|
|
provided that the above copyright notice appear in all copies and that
|
111 |
|
|
both that copyright notice and this permission notice appear in
|
112 |
|
|
supporting documentation, and that the name of CMU not be
|
113 |
|
|
used in advertising or publicity pertaining to distribution of the
|
114 |
|
|
software without specific, written prior permission.
|
115 |
|
|
|
116 |
|
|
CMU DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
|
117 |
|
|
ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
|
118 |
|
|
CMU BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
|
119 |
|
|
ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
|
120 |
|
|
WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
|
121 |
|
|
ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
|
122 |
|
|
SOFTWARE.
|
123 |
|
|
******************************************************************/
|
124 |
|
|
|
125 |
|
|
|
126 |
|
|
#define SNMP_PORT 161 /* standard UDP port for SNMP agents
|
127 |
|
|
to receive requests messages */
|
128 |
|
|
#define SNMP_TRAP_PORT 162 /* standard UDP port for SNMP
|
129 |
|
|
managers to receive notificaion
|
130 |
|
|
(trap and inform) messages */
|
131 |
|
|
|
132 |
|
|
#define SNMP_MAX_LEN 1500 /* typical maximum message size */
|
133 |
|
|
#define SNMP_MIN_MAX_LEN 484 /* minimum maximum message size */
|
134 |
|
|
|
135 |
|
|
/* SNMP versions */
|
136 |
|
|
/* There currently exists the following SNMP versions.
|
137 |
|
|
* (Note that only SNMPv1 is in widespread usage, and this code supports
|
138 |
|
|
* only SNMPv1, SNMPv2c, and SNMPv3.
|
139 |
|
|
*
|
140 |
|
|
* SNMPv1 - (full) the original version, defined by RFC 1157
|
141 |
|
|
* SNMPsec - (historic) the first attempt to add strong security
|
142 |
|
|
* to SNMPv1, defined by RFCs 1351, 1352, and 1353.
|
143 |
|
|
* SNMPv2p - (historic) party-based SNMP, which was another
|
144 |
|
|
* attempt to add strong security to SNMP, defined
|
145 |
|
|
* by RFCs 1441, 1445, 1446, 1448, and 1449.
|
146 |
|
|
* SNMPv2c - (experimental) community string-based SNMPv2,
|
147 |
|
|
* which was an attempt to combine the protocol
|
148 |
|
|
* operations of SNMPv2 with the security of
|
149 |
|
|
* SNMPv1, defined by RFCs 1901, 1905, and 1906.
|
150 |
|
|
* SNMPv2u - (experimental) user-based SNMPv2, which provided
|
151 |
|
|
* security based on user names and protocol
|
152 |
|
|
* operations of SNMPv2, defined by RFCs 1905,
|
153 |
|
|
* 1909, and 1910.
|
154 |
|
|
* SNMPv2* (or SNMPv2star) - (experimental) an attempt to add the
|
155 |
|
|
* best features of SNMPv2p and SNMPv2u, defined
|
156 |
|
|
* by unpublished documents found at WEB site
|
157 |
|
|
* owned by SNMP Research (a leading SNMP vendor)
|
158 |
|
|
* SNMPv3 - the current attempt by the IETF working group to merge
|
159 |
|
|
* the SNMPv2u and SNMPv2* proposals into a more widly
|
160 |
|
|
* accepted SNMPv3. It is defined by not yet published
|
161 |
|
|
* documents of the IETF SNMPv3 WG.
|
162 |
|
|
*
|
163 |
|
|
* SNMPv1, SNMPv2c, SNMPv2u, and SNMPv3 messages have a common
|
164 |
|
|
* form, which is an ASN.1 sequence containing a message version
|
165 |
|
|
* field, followed by version dependent fields.
|
166 |
|
|
* SNMPsec, SNMPv2p, and SNMPv2* messages have a common form,
|
167 |
|
|
* which is a tagged ASN.1 context specific sequence containing
|
168 |
|
|
* message dependent fields.
|
169 |
|
|
*
|
170 |
|
|
* In the #defines for the message versions below, the value
|
171 |
|
|
* for SNMPv1, SNMPv2c, SNMPv2u, and SNMPv3 messages is the
|
172 |
|
|
* value of the message version field. Since SNMPsec, SNMPv2p,
|
173 |
|
|
* and SNMPv2* messages do not have a message version field,
|
174 |
|
|
* the value in the defines for them is choosen to be a large
|
175 |
|
|
* arbitrary number.
|
176 |
|
|
*
|
177 |
|
|
* Note that many of the version ID's are defined below purely for
|
178 |
|
|
* documentational purposes. At this point the only protocol planned
|
179 |
|
|
* for future implementations is SNMP3, as the other v2 protocols will
|
180 |
|
|
* not be supported by the IETF (ie, v2u, v2sec, v2star) or used by
|
181 |
|
|
* the snmp community at large (at the time of this writing). */
|
182 |
|
|
|
183 |
|
|
/* versions based on version field */
|
184 |
|
|
#define SNMP_VERSION_1 0
|
185 |
|
|
#define SNMP_VERSION_2c 1
|
186 |
|
|
#define SNMP_VERSION_2u 2 /* not (will never be) supported by this code */
|
187 |
|
|
#define SNMP_VERSION_3 3
|
188 |
|
|
|
189 |
|
|
/* versions not based on a version field */
|
190 |
|
|
#define SNMP_VERSION_sec 128 /* not (will never be) supported by this code */
|
191 |
|
|
#define SNMP_VERSION_2p 129
|
192 |
|
|
#define SNMP_VERSION_2star 130 /* not (will never be) supported by this code */
|
193 |
|
|
|
194 |
|
|
/* PDU types in SNMPv1, SNMPsec, SNMPv2p, SNMPv2c, SNMPv2u, SNMPv2*, and SNMPv3 */
|
195 |
|
|
#define SNMP_MSG_GET (ASN_CONTEXT | ASN_CONSTRUCTOR | 0x0)
|
196 |
|
|
#define SNMP_MSG_GETNEXT (ASN_CONTEXT | ASN_CONSTRUCTOR | 0x1)
|
197 |
|
|
#define SNMP_MSG_RESPONSE (ASN_CONTEXT | ASN_CONSTRUCTOR | 0x2)
|
198 |
|
|
#define SNMP_MSG_SET (ASN_CONTEXT | ASN_CONSTRUCTOR | 0x3)
|
199 |
|
|
|
200 |
|
|
/* PDU types in SNMPv1 and SNMPsec */
|
201 |
|
|
#define SNMP_MSG_TRAP (ASN_CONTEXT | ASN_CONSTRUCTOR | 0x4)
|
202 |
|
|
|
203 |
|
|
/* PDU types in SNMPv2p, SNMPv2c, SNMPv2u, SNMPv2*, and SNMPv3 */
|
204 |
|
|
#define SNMP_MSG_GETBULK (ASN_CONTEXT | ASN_CONSTRUCTOR | 0x5)
|
205 |
|
|
#define SNMP_MSG_INFORM (ASN_CONTEXT | ASN_CONSTRUCTOR | 0x6)
|
206 |
|
|
#define SNMP_MSG_TRAP2 (ASN_CONTEXT | ASN_CONSTRUCTOR | 0x7)
|
207 |
|
|
|
208 |
|
|
/* PDU types in SNMPv2u, SNMPv2*, and SNMPv3 */
|
209 |
|
|
#define SNMP_MSG_REPORT (ASN_CONTEXT | ASN_CONSTRUCTOR | 0x8)
|
210 |
|
|
|
211 |
|
|
/* test for member of Confirmed Class i.e., reportable */
|
212 |
|
|
#define SNMP_CMD_CONFIRMED(c) (c == SNMP_MSG_INFORM || c == SNMP_MSG_GETBULK ||\
|
213 |
|
|
c == SNMP_MSG_GETNEXT || c == SNMP_MSG_GET || \
|
214 |
|
|
c == SNMP_MSG_SET)
|
215 |
|
|
|
216 |
|
|
/* Exception values for SNMPv2p, SNMPv2c, SNMPv2u, SNMPv2*, and SNMPv3 */
|
217 |
|
|
#define SNMP_NOSUCHOBJECT (ASN_CONTEXT | ASN_PRIMITIVE | 0x0)
|
218 |
|
|
#define SNMP_NOSUCHINSTANCE (ASN_CONTEXT | ASN_PRIMITIVE | 0x1)
|
219 |
|
|
#define SNMP_ENDOFMIBVIEW (ASN_CONTEXT | ASN_PRIMITIVE | 0x2)
|
220 |
|
|
|
221 |
|
|
/* Error codes (the value of the field error-status in PDUs) */
|
222 |
|
|
|
223 |
|
|
/* in SNMPv1, SNMPsec, SNMPv2p, SNMPv2c, SNMPv2u, SNMPv2*, and SNMPv3 PDUs */
|
224 |
|
|
#define SNMP_ERR_NOERROR (0) /* XXX Used only for PDUs? */
|
225 |
|
|
#define SNMP_ERR_TOOBIG (1)
|
226 |
|
|
#define SNMP_ERR_NOSUCHNAME (2)
|
227 |
|
|
#define SNMP_ERR_BADVALUE (3)
|
228 |
|
|
#define SNMP_ERR_READONLY (4)
|
229 |
|
|
#define SNMP_ERR_GENERR (5)
|
230 |
|
|
|
231 |
|
|
/* in SNMPv2p, SNMPv2c, SNMPv2u, SNMPv2*, and SNMPv3 PDUs */
|
232 |
|
|
#define SNMP_ERR_NOACCESS (6)
|
233 |
|
|
#define SNMP_ERR_WRONGTYPE (7)
|
234 |
|
|
#define SNMP_ERR_WRONGLENGTH (8)
|
235 |
|
|
#define SNMP_ERR_WRONGENCODING (9)
|
236 |
|
|
#define SNMP_ERR_WRONGVALUE (10)
|
237 |
|
|
#define SNMP_ERR_NOCREATION (11)
|
238 |
|
|
#define SNMP_ERR_INCONSISTENTVALUE (12)
|
239 |
|
|
#define SNMP_ERR_RESOURCEUNAVAILABLE (13)
|
240 |
|
|
#define SNMP_ERR_COMMITFAILED (14)
|
241 |
|
|
#define SNMP_ERR_UNDOFAILED (15)
|
242 |
|
|
#define SNMP_ERR_AUTHORIZATIONERROR (16)
|
243 |
|
|
#define SNMP_ERR_NOTWRITABLE (17)
|
244 |
|
|
|
245 |
|
|
/* in SNMPv2c, SNMPv2u, SNMPv2*, and SNMPv3 PDUs */
|
246 |
|
|
#define SNMP_ERR_INCONSISTENTNAME (18)
|
247 |
|
|
|
248 |
|
|
#define MAX_SNMP_ERR 18
|
249 |
|
|
|
250 |
|
|
|
251 |
|
|
/* values of the generic-trap field in trap PDUs */
|
252 |
|
|
#define SNMP_TRAP_COLDSTART (0)
|
253 |
|
|
#define SNMP_TRAP_WARMSTART (1)
|
254 |
|
|
#define SNMP_TRAP_LINKDOWN (2)
|
255 |
|
|
#define SNMP_TRAP_LINKUP (3)
|
256 |
|
|
#define SNMP_TRAP_AUTHFAIL (4)
|
257 |
|
|
#define SNMP_TRAP_EGPNEIGHBORLOSS (5)
|
258 |
|
|
#define SNMP_TRAP_ENTERPRISESPECIFIC (6)
|
259 |
|
|
|
260 |
|
|
/* row status values */
|
261 |
|
|
#define SNMP_ROW_NONEXISTENT 0
|
262 |
|
|
#define SNMP_ROW_ACTIVE 1
|
263 |
|
|
#define SNMP_ROW_NOTINSERVICE 2
|
264 |
|
|
#define SNMP_ROW_NOTREADY 3
|
265 |
|
|
#define SNMP_ROW_CREATEANDGO 4
|
266 |
|
|
#define SNMP_ROW_CREATEANDWAIT 5
|
267 |
|
|
#define SNMP_ROW_DESTROY 6
|
268 |
|
|
|
269 |
|
|
/* row storage values */
|
270 |
|
|
#define SNMP_STORAGE_OTHER 1
|
271 |
|
|
#define SNMP_STORAGE_VOLATILE 2
|
272 |
|
|
#define SNMP_STORAGE_NONVOLATILE 3
|
273 |
|
|
#define SNMP_STORAGE_PERMANENT 4
|
274 |
|
|
#define SNMP_STORAGE_READONLY 5
|
275 |
|
|
|
276 |
|
|
/* message processing models */
|
277 |
|
|
#define SNMP_MP_MODEL_SNMPv1 0
|
278 |
|
|
#define SNMP_MP_MODEL_SNMPv2c 1
|
279 |
|
|
#define SNMP_MP_MODEL_SNMPv2u 2
|
280 |
|
|
#define SNMP_MP_MODEL_SNMPv3 3
|
281 |
|
|
#define SNMP_MP_MODEL_SNMPv2p 256
|
282 |
|
|
|
283 |
|
|
/* security values */
|
284 |
|
|
#define SNMP_SEC_MODEL_ANY 0
|
285 |
|
|
#define SNMP_SEC_MODEL_SNMPv1 1
|
286 |
|
|
#define SNMP_SEC_MODEL_SNMPv2c 2
|
287 |
|
|
#define SNMP_SEC_MODEL_USM 3
|
288 |
|
|
#define SNMP_SEC_MODEL_SNMPv2p 256
|
289 |
|
|
|
290 |
|
|
#define SNMP_SEC_LEVEL_NOAUTH 1
|
291 |
|
|
#define SNMP_SEC_LEVEL_AUTHNOPRIV 2
|
292 |
|
|
#define SNMP_SEC_LEVEL_AUTHPRIV 3
|
293 |
|
|
|
294 |
|
|
#define SNMP_MSG_FLAG_AUTH_BIT 0x01
|
295 |
|
|
#define SNMP_MSG_FLAG_PRIV_BIT 0x02
|
296 |
|
|
#define SNMP_MSG_FLAG_RPRT_BIT 0x04
|
297 |
|
|
|
298 |
|
|
/* control PDU handling characteristics */
|
299 |
|
|
#define UCD_MSG_FLAG_RESPONSE_PDU 0x100
|
300 |
|
|
#define UCD_MSG_FLAG_EXPECT_RESPONSE 0x200
|
301 |
|
|
#define UCD_MSG_FLAG_FORCE_PDU_COPY 0x400
|
302 |
|
|
#define UCD_MSG_FLAG_ALWAYS_IN_VIEW 0x800
|
303 |
|
|
|
304 |
|
|
/* view status */
|
305 |
|
|
#define SNMP_VIEW_INCLUDED 1
|
306 |
|
|
#define SNMP_VIEW_EXCLUDED 2
|
307 |
|
|
|
308 |
|
|
/* basic oid values */
|
309 |
|
|
#define SNMP_OID_INTERNET 1, 3, 6, 1
|
310 |
|
|
#define SNMP_OID_ENTERPRISES SNMP_OID_INTERNET, 4, 1
|
311 |
|
|
#define SNMP_OID_MIB2 SNMP_OID_INTERNET, 2, 1
|
312 |
|
|
#define SNMP_OID_SNMPV2 SNMP_OID_INTERNET, 6
|
313 |
|
|
#define SNMP_OID_SNMPMODULES SNMP_OID_SNMPV2, 3
|
314 |
|
|
|
315 |
|
|
/* lengths as defined by TCs */
|
316 |
|
|
#define SNMPADMINLENGTH 255
|
317 |
|
|
|
318 |
|
|
|
319 |
|
|
#ifdef CMU_COMPATIBLE
|
320 |
|
|
/* PDU types in SNMPv1, SNMPsec, SNMPv2p, SNMPv2c, SNMPv2u, SNMPv2*, and SNMPv3 */
|
321 |
|
|
#define GET_REQ_MSG SNMP_MSG_GET
|
322 |
|
|
#define GETNEXT_REQ_MSG SNMP_MSG_GETNEXT
|
323 |
|
|
#define GET_RSP_MSG SNMP_MSG_RESPONSE
|
324 |
|
|
#define SET_REQ_MSG SNMP_MSG_SET
|
325 |
|
|
|
326 |
|
|
/* PDU types in SNMPv1 and SNMPsec */
|
327 |
|
|
#define TRP_REQ_MSG SNMP_MSG_TRAP
|
328 |
|
|
|
329 |
|
|
/* PDU types in SNMPv2p, SNMPv2c, SNMPv2u, SNMPv2*, and SNMPv3 */
|
330 |
|
|
#define BULK_REQ_MSG SNMP_MSG_GETBULK
|
331 |
|
|
#define INFORM_REQ_MSG SNMP_MSG_INFORM
|
332 |
|
|
#define TRP2_REQ_MSG SNMP_MSG_TRAP2
|
333 |
|
|
|
334 |
|
|
/* PDU types in SNMPv2u, SNMPv2*, and SNMPv3 */
|
335 |
|
|
#define REPORT_RSP_MSG SNMP_MSG_REPORT
|
336 |
|
|
|
337 |
|
|
/* since CMU V1.5 */
|
338 |
|
|
|
339 |
|
|
#define SNMP_PDU_GET SNMP_MSG_GET
|
340 |
|
|
#define SNMP_PDU_GETNEXT SNMP_MSG_GETNEXT
|
341 |
|
|
#define SNMP_PDU_RESPONSE SNMP_MSG_RESPONSE
|
342 |
|
|
#define SNMP_PDU_SET SNMP_MSG_SET
|
343 |
|
|
#define SNMP_PDU_GETBULK SNMP_MSG_GETBULK
|
344 |
|
|
#define SNMP_PDU_INFORM SNMP_MSG_INFORM
|
345 |
|
|
#define SNMP_PDU_V2TRAP SNMP_MSG_TRAP2
|
346 |
|
|
#define SNMP_PDU_REPORT SNMP_MSG_REPORT
|
347 |
|
|
|
348 |
|
|
#define SNMP_TRAP_AUTHENTICATIONFAILURE SNMP_TRAP_AUTHFAIL
|
349 |
|
|
|
350 |
|
|
#define SMI_INTEGER ASN_INTEGER
|
351 |
|
|
#define SMI_STRING ASN_OCTET_STR
|
352 |
|
|
#define SMI_OBJID ASN_OBJECT_ID
|
353 |
|
|
#define SMI_NULLOBJ ASN_NULL
|
354 |
|
|
#define SMI_IPADDRESS ASN_IPADDRESS
|
355 |
|
|
#define SMI_COUNTER32 ASN_COUNTER
|
356 |
|
|
#define SMI_GAUGE32 ASN_GAUGE
|
357 |
|
|
#define SMI_UNSIGNED32 SMI_GAUGE32
|
358 |
|
|
#define SMI_TIMETICKS ASN_TIMETICKS
|
359 |
|
|
#define SMI_OPAQUE ASN_OPAQUE
|
360 |
|
|
#define SMI_COUNTER64 ASN_COUNTER64
|
361 |
|
|
|
362 |
|
|
int mib_TxtToOid (char *, oid **, size_t *);
|
363 |
|
|
int mib_OidToTxt (oid *, size_t , char *, size_t );
|
364 |
|
|
|
365 |
|
|
struct snmp_pdu;
|
366 |
|
|
char *snmp_pdu_type (struct snmp_pdu *);
|
367 |
|
|
|
368 |
|
|
struct snmp_session;
|
369 |
|
|
u_char * cmu_snmp_parse (struct snmp_session *session,
|
370 |
|
|
struct snmp_pdu *pdu,
|
371 |
|
|
u_char *data,
|
372 |
|
|
size_t length);
|
373 |
|
|
|
374 |
|
|
#endif /* CMU_COMPATIBLE */
|
375 |
|
|
|
376 |
|
|
char *uptime_string (u_long, char *);
|
377 |
|
|
void xdump (const u_char *, size_t, const char *);
|
378 |
|
|
u_char *snmp_parse_var_op (u_char *, oid *, size_t *, u_char *, size_t *,
|
379 |
|
|
u_char **, size_t *);
|
380 |
|
|
u_char *snmp_build_var_op (u_char *, oid *, size_t *, u_char, size_t, u_char *,
|
381 |
|
|
size_t *);
|
382 |
|
|
#ifdef __cplusplus
|
383 |
|
|
}
|
384 |
|
|
#endif
|
385 |
|
|
|
386 |
|
|
#endif /* SNMP_H */
|