Updates to Tomato RAF including NGINX && PHP
[tomato.git] / release / src / router / snmp / include / net-snmp / library / mib.h
blobb18afd78821280997aeefb33afa7bc903cd1a6d1
1 #ifndef MIB_H
2 #define MIB_H
4 #ifdef __cplusplus
5 extern "C" {
6 #endif
7 /*
8 * mib.h - Definitions for the variables as defined in the MIB
10 * Update: 1998-07-17 <jhy@gsu.edu>
11 * Added prototypes for print_oid_report* functions.
13 /***********************************************************
14 Copyright 1988, 1989 by Carnegie Mellon University
16 All Rights Reserved
18 Permission to use, copy, modify, and distribute this software and its
19 documentation for any purpose and without fee is hereby granted,
20 provided that the above copyright notice appear in all copies and that
21 both that copyright notice and this permission notice appear in
22 supporting documentation, and that the name of CMU not be
23 used in advertising or publicity pertaining to distribution of the
24 software without specific, written prior permission.
26 CMU DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
27 ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
28 CMU BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
29 ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
30 WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
31 ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
32 SOFTWARE.
33 ******************************************************************/
35 #include <stdio.h> /* for FILE */
37 #define MIB 1, 3, 6, 1, 2, 1
39 #define MIB_IFTYPE_OTHER 1
40 #define MIB_IFTYPE_REGULAR1822 2
41 #define MIB_IFTYPE_HDH1822 3
42 #define MIB_IFTYPE_DDNX25 4
43 #define MIB_IFTYPE_RFC877X25 5
44 #define MIB_IFTYPE_ETHERNETCSMACD 6
45 #define MIB_IFTYPE_ISO88023CSMACD 7
46 #define MIB_IFTYPE_ISO88024TOKENBUS 8
47 #define MIB_IFTYPE_ISO88025TOKENRING 9
48 #define MIB_IFTYPE_ISO88026MAN 10
49 #define MIB_IFTYPE_STARLAN 11
50 #define MIB_IFTYPE_PROTEON10MBIT 12
51 #define MIB_IFTYPE_PROTEON80MBIT 13
52 #define MIB_IFTYPE_HYPERCHANNEL 14
53 #define MIB_IFTYPE_FDDI 15
54 #define MIB_IFTYPE_LAPB 16
55 #define MIB_IFTYPE_SDLC 17
56 #define MIB_IFTYPE_T1CARRIER 18
57 #define MIB_IFTYPE_CEPT 19
58 #define MIB_IFTYPE_BASICISDN 20
59 #define MIB_IFTYPE_PRIMARYISDN 21
60 #define MIB_IFTYPE_PROPPOINTTOPOINTSERIAL 22
62 #define MIB_IFSTATUS_UP 1
63 #define MIB_IFSTATUS_DOWN 2
64 #define MIB_IFSTATUS_TESTING 3
66 #define MIB_FORWARD_GATEWAY 1
67 #define MIB_FORWARD_HOST 2
69 #define MIB_IPROUTETYPE_OTHER 1
70 #define MIB_IPROUTETYPE_INVALID 2
71 #define MIB_IPROUTETYPE_DIRECT 3
72 #define MIB_IPROUTETYPE_REMOTE 4
74 #define MIB_IPROUTEPROTO_OTHER 1
75 #define MIB_IPROUTEPROTO_LOCAL 2
76 #define MIB_IPROUTEPROTO_NETMGMT 3
77 #define MIB_IPROUTEPROTO_ICMP 4
78 #define MIB_IPROUTEPROTO_EGP 5
79 #define MIB_IPROUTEPROTO_GGP 6
80 #define MIB_IPROUTEPROTO_HELLO 7
81 #define MIB_IPROUTEPROTO_RIP 8
82 #define MIB_IPROUTEPROTO_ISIS 9
83 #define MIB_IPROUTEPROTO_ESIS 10
84 #define MIB_IPROUTEPROTO_CISCOIGRP 11
85 #define MIB_IPROUTEPROTO_BBNSPFIGP 12
86 #define MIB_IPROUTEPROTO_OIGP 13
88 #define MIB_TCPRTOALG_OTHER 1
89 #define MIB_TCPRTOALG_CONSTANT 2
90 #define MIB_TCPRTOALG_RSRE 3
91 #define MIB_TCPRTOALG_VANJ 4
93 #define MIB_TCPCONNSTATE_CLOSED 1
94 #define MIB_TCPCONNSTATE_LISTEN 2
95 #define MIB_TCPCONNSTATE_SYNSENT 3
96 #define MIB_TCPCONNSTATE_SYNRECEIVED 4
97 #define MIB_TCPCONNSTATE_ESTABLISHED 5
98 #define MIB_TCPCONNSTATE_FINWAIT1 6
99 #define MIB_TCPCONNSTATE_FINWAIT2 7
100 #define MIB_TCPCONNSTATE_CLOSEWAIT 8
101 #define MIB_TCPCONNSTATE_LASTACK 9
102 #define MIB_TCPCONNSTATE_CLOSING 10
103 #define MIB_TCPCONNSTATE_TIMEWAIT 11
105 #define MIB_EGPNEIGHSTATE_IDLE 1
106 #define MIB_EGPNEIGHSTATE_AQUISITION 2
107 #define MIB_EGPNEIGHSTATE_DOWN 3
108 #define MIB_EGPNEIGHSTATE_UP 4
109 #define MIB_EGPNEIGHSTATE_CEASE 5
111 struct variable_list;
112 struct enum_list;
114 void print_mib(FILE * fp);
115 void print_ascii_dump(FILE *);
116 int read_objid(const char *, oid *, size_t *);
117 void register_mib_handlers(void);
118 void netsnmp_set_mib_directory(const char *dir);
119 char *netsnmp_get_mib_directory(void);
120 void netsnmp_fixup_mib_directory(void);
121 void init_mib(void);
122 void shutdown_mib(void);
123 void print_description(oid *, size_t, int);
124 void fprint_description(FILE *, oid *, size_t, int);
125 int get_module_node(const char *, const char *, oid *,
126 size_t *);
127 int get_wild_node(const char *, oid *, size_t *);
128 int get_node(const char *, oid *, size_t *);
129 oid *snmp_parse_oid(const char *, oid *, size_t *);
130 struct tree *get_symbol(oid *, size_t, struct tree *, char *);
131 struct tree *get_tree(const oid *, size_t, struct tree *);
132 struct tree *get_tree_head(void);
133 void set_function(struct tree *);
135 int parse_one_oid_index(oid ** oidStart, size_t * oidLen,
136 netsnmp_variable_list * data,
137 int complete);
138 int parse_oid_indexes(oid * oidIndex, size_t oidLen,
139 netsnmp_variable_list * data);
140 int build_oid_noalloc(oid * in, size_t in_len,
141 size_t * out_len, oid * prefix,
142 size_t prefix_len,
143 netsnmp_variable_list * indexes);
144 int build_oid(oid ** out, size_t * out_len, oid * prefix,
145 size_t prefix_len,
146 netsnmp_variable_list * indexes);
147 int build_oid_segment(netsnmp_variable_list * var);
150 void print_variable(const oid * objid, size_t objidlen,
151 const netsnmp_variable_list * variable);
153 void fprint_variable(FILE * fp,
154 const oid * objid, size_t objidlen,
155 const netsnmp_variable_list * variable);
157 int snprint_variable(char *buf, size_t buf_len,
158 const oid * objid, size_t objidlen,
159 const netsnmp_variable_list * variable);
161 int sprint_realloc_variable(u_char ** buf,
162 size_t * buf_len,
163 size_t * out_len,
164 int allow_realloc,
165 const oid * objid,
166 size_t objidlen,
167 const netsnmp_variable_list *
168 variable);
170 struct tree *netsnmp_sprint_realloc_objid_tree(u_char ** buf,
171 size_t * buf_len,
172 size_t * out_len,
173 int allow_realloc,
174 int *buf_overflow,
175 const oid * objid,
176 size_t objidlen);
178 void print_value(const oid * objid, size_t objidlen,
179 const netsnmp_variable_list * variable);
181 void fprint_value(FILE * fp,
182 const oid * objid, size_t objidlen,
183 const netsnmp_variable_list * variable);
185 int snprint_value(char *buf, size_t buf_len,
186 const oid * objid, size_t objidlen,
187 const netsnmp_variable_list * variable);
189 int sprint_realloc_value(u_char ** buf, size_t * buf_len,
190 size_t * out_len,
191 int allow_realloc,
192 const oid * objid,
193 size_t objidlen,
194 const netsnmp_variable_list * variable);
197 void print_objid(const oid * objid, size_t objidlen);
199 void fprint_objid(FILE * fp,
200 const oid * objid, size_t objidlen);
202 int snprint_objid(char *buf, size_t buf_len,
203 const oid * objid, size_t objidlen);
205 int sprint_realloc_objid(u_char ** buf, size_t * buf_len,
206 size_t * out_len,
207 int allow_realloc,
208 const oid * objid,
209 size_t objidlen);
212 int sprint_realloc_by_type(u_char ** buf, size_t * buf_len,
213 size_t * out_len,
214 int allow_realloc,
215 const netsnmp_variable_list * var,
216 const struct enum_list *enums,
217 const char *hint,
218 const char *units);
220 int sprint_realloc_hexstring(u_char ** buf,
221 size_t * buf_len,
222 size_t * out_len,
223 int allow_realloc,
224 const u_char *, size_t);
226 int sprint_realloc_asciistring(u_char ** buf,
227 size_t * buf_len,
228 size_t * out_len,
229 int allow_realloc,
230 const u_char * cp,
231 size_t len);
233 int sprint_realloc_octet_string(u_char ** buf,
234 size_t * buf_len,
235 size_t * out_len,
236 int allow_realloc,
237 const netsnmp_variable_list *,
238 const struct enum_list *,
239 const char *,
240 const char *);
242 int sprint_realloc_opaque(u_char ** buf, size_t * buf_len,
243 size_t * out_len,
244 int allow_realloc,
245 const netsnmp_variable_list *,
246 const struct enum_list *, const char *,
247 const char *);
249 int sprint_realloc_object_identifier(u_char ** buf,
250 size_t * buf_len,
251 size_t * out_len,
252 int allow_realloc,
253 const netsnmp_variable_list
254 *, const struct enum_list *,
255 const char *,
256 const char *);
258 int sprint_realloc_timeticks(u_char ** buf,
259 size_t * buf_len,
260 size_t * out_len,
261 int allow_realloc,
262 const netsnmp_variable_list *,
263 const struct enum_list *,
264 const char *, const char *);
266 int sprint_realloc_hinted_integer(u_char ** buf,
267 size_t * buf_len,
268 size_t * out_len,
269 int allow_realloc, long,
270 const char, const char *,
271 const char *);
273 int sprint_realloc_integer(u_char ** buf, size_t * buf_len,
274 size_t * out_len,
275 int allow_realloc,
276 const netsnmp_variable_list *,
277 const struct enum_list *,
278 const char *, const char *);
280 int sprint_realloc_uinteger(u_char ** buf,
281 size_t * buf_len,
282 size_t * out_len,
283 int allow_realloc,
284 const netsnmp_variable_list *,
285 const struct enum_list *,
286 const char *, const char *);
288 int sprint_realloc_gauge(u_char ** buf, size_t * buf_len,
289 size_t * out_len,
290 int allow_realloc,
291 const netsnmp_variable_list *,
292 const struct enum_list *, const char *,
293 const char *);
295 int sprint_realloc_counter(u_char ** buf, size_t * buf_len,
296 size_t * out_len,
297 int allow_realloc,
298 const netsnmp_variable_list *,
299 const struct enum_list *,
300 const char *, const char *);
302 int sprint_realloc_networkaddress(u_char ** buf,
303 size_t * buf_len,
304 size_t * out_len,
305 int allow_realloc,
306 const netsnmp_variable_list *,
307 const struct enum_list *,
308 const char *,
309 const char *);
311 int sprint_realloc_ipaddress(u_char ** buf,
312 size_t * buf_len,
313 size_t * out_len,
314 int allow_realloc,
315 const netsnmp_variable_list *,
316 const struct enum_list *,
317 const char *, const char *);
319 int sprint_realloc_null(u_char ** buf, size_t * buf_len,
320 size_t * out_len,
321 int allow_realloc,
322 const netsnmp_variable_list *,
323 const struct enum_list *, const char *,
324 const char *);
326 int sprint_realloc_bitstring(u_char ** buf,
327 size_t * buf_len,
328 size_t * out_len,
329 int allow_realloc,
330 const netsnmp_variable_list *,
331 const struct enum_list *,
332 const char *, const char *);
334 int sprint_realloc_nsapaddress(u_char ** buf,
335 size_t * buf_len,
336 size_t * out_len,
337 int allow_realloc,
338 const netsnmp_variable_list *,
339 const struct enum_list *,
340 const char *, const char *);
342 int sprint_realloc_counter64(u_char ** buf,
343 size_t * buf_len,
344 size_t * out_len,
345 int allow_realloc,
346 const netsnmp_variable_list *,
347 const struct enum_list *,
348 const char *, const char *);
350 int sprint_realloc_badtype(u_char ** buf, size_t * buf_len,
351 size_t * out_len,
352 int allow_realloc,
353 const netsnmp_variable_list *,
354 const struct enum_list *,
355 const char *, const char *);
357 #ifdef OPAQUE_SPECIAL_TYPES
358 int sprint_realloc_float(u_char ** buf, size_t * buf_len,
359 size_t * out_len,
360 int allow_realloc,
361 const netsnmp_variable_list *,
362 const struct enum_list *, const char *,
363 const char *);
365 int sprint_realloc_double(u_char ** buf, size_t * buf_len,
366 size_t * out_len,
367 int allow_realloc,
368 const netsnmp_variable_list *,
369 const struct enum_list *, const char *,
370 const char *);
371 #endif
374 int snprint_by_type(char *buf, size_t buf_len,
375 netsnmp_variable_list * var,
376 const struct enum_list *enums,
377 const char *hint, const char *units);
379 int snprint_hexstring(char *buf, size_t buf_len,
380 const u_char *, size_t);
382 int snprint_asciistring(char *buf, size_t buf_len,
383 const u_char * cp, size_t len);
385 int snprint_octet_string(char *buf, size_t buf_len,
386 const netsnmp_variable_list *,
387 const struct enum_list *, const char *,
388 const char *);
390 int snprint_opaque(char *buf, size_t buf_len,
391 const netsnmp_variable_list *,
392 const struct enum_list *, const char *,
393 const char *);
395 int snprint_object_identifier(char *buf, size_t buf_len,
396 const netsnmp_variable_list *,
397 const struct enum_list *,
398 const char *, const char *);
400 int snprint_timeticks(char *buf, size_t buf_len,
401 const netsnmp_variable_list *,
402 const struct enum_list *, const char *,
403 const char *);
405 int snprint_hinted_integer(char *buf, size_t buf_len,
406 long, const char *,
407 const char *);
409 int snprint_integer(char *buf, size_t buf_len,
410 const netsnmp_variable_list *,
411 const struct enum_list *, const char *,
412 const char *);
414 int snprint_uinteger(char *buf, size_t buf_len,
415 const netsnmp_variable_list *,
416 const struct enum_list *, const char *,
417 const char *);
419 int snprint_gauge(char *buf, size_t buf_len,
420 const netsnmp_variable_list *,
421 const struct enum_list *, const char *,
422 const char *);
424 int snprint_counter(char *buf, size_t buf_len,
425 const netsnmp_variable_list *,
426 const struct enum_list *, const char *,
427 const char *);
429 int snprint_networkaddress(char *buf, size_t buf_len,
430 const netsnmp_variable_list *,
431 const struct enum_list *,
432 const char *, const char *);
434 int snprint_ipaddress(char *buf, size_t buf_len,
435 const netsnmp_variable_list *,
436 const struct enum_list *, const char *,
437 const char *);
439 int snprint_null(char *buf, size_t buf_len,
440 const netsnmp_variable_list *,
441 const struct enum_list *, const char *,
442 const char *);
444 int snprint_bitstring(char *buf, size_t buf_len,
445 const netsnmp_variable_list *,
446 const struct enum_list *, const char *,
447 const char *);
449 int snprint_nsapaddress(char *buf, size_t buf_len,
450 const netsnmp_variable_list *,
451 const struct enum_list *, const char *,
452 const char *);
454 int snprint_counter64(char *buf, size_t buf_len,
455 const netsnmp_variable_list *,
456 const struct enum_list *, const char *,
457 const char *);
459 int snprint_badtype(char *buf, size_t buf_len,
460 const netsnmp_variable_list *,
461 const struct enum_list *, const char *,
462 const char *);
464 #ifdef OPAQUE_SPECIAL_TYPES
465 int snprint_float(char *buf, size_t buf_len,
466 const netsnmp_variable_list *,
467 const struct enum_list *, const char *,
468 const char *);
470 int snprint_double(char *buf, size_t buf_len,
471 const netsnmp_variable_list *,
472 const struct enum_list *, const char *,
473 const char *);
474 #endif
476 void print_oid_report(FILE *);
477 void print_oid_report_enable_labeledoid(void);
478 void print_oid_report_enable_oid(void);
479 void print_oid_report_enable_suffix(void);
480 void print_oid_report_enable_symbolic(void);
482 const char *parse_octet_hint(const char *hint, const char *value,
483 unsigned char **new_val, int *new_val_len);
485 void clear_tree_flags(register struct tree *tp);
487 char *snmp_out_toggle_options(char *);
488 void snmp_out_toggle_options_usage(const char *, FILE *);
489 char *snmp_in_toggle_options(char *);
490 void snmp_in_toggle_options_usage(const char *, FILE *);
491 u_char mib_to_asn_type(int mib_type);
494 int netsnmp_str2oid(const char *S, oid * O, int L);
497 #define NETSNMP_STRING_OUTPUT_GUESS 1
498 #define NETSNMP_STRING_OUTPUT_ASCII 2
499 #define NETSNMP_STRING_OUTPUT_HEX 3
501 #define NETSNMP_OID_OUTPUT_SUFFIX 1
502 #define NETSNMP_OID_OUTPUT_MODULE 2
503 #define NETSNMP_OID_OUTPUT_FULL 3
504 #define NETSNMP_OID_OUTPUT_NUMERIC 4
505 #define NETSNMP_OID_OUTPUT_UCD 5
506 #define NETSNMP_OID_OUTPUT_NONE 6
507 #ifdef __cplusplus
509 #endif
510 #endif /* MIB_H */