mib.h

00001 #ifndef MIB_H
00002 #define MIB_H
00003 
00004 #ifdef __cplusplus
00005 extern          "C" {
00006 #endif
00007     /*
00008      * mib.h - Definitions for the variables as defined in the MIB
00009      *
00010      * Update: 1998-07-17 <jhy@gsu.edu>
00011      * Added prototypes for print_oid_report* functions.
00012      */
00013 /***********************************************************
00014         Copyright 1988, 1989 by Carnegie Mellon University
00015 
00016                       All Rights Reserved
00017 
00018 Permission to use, copy, modify, and distribute this software and its 
00019 documentation for any purpose and without fee is hereby granted, 
00020 provided that the above copyright notice appear in all copies and that
00021 both that copyright notice and this permission notice appear in 
00022 supporting documentation, and that the name of CMU not be
00023 used in advertising or publicity pertaining to distribution of the
00024 software without specific, written prior permission.  
00025 
00026 CMU DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
00027 ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
00028 CMU BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
00029 ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
00030 WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
00031 ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
00032 SOFTWARE.
00033 ******************************************************************/
00034 
00035 #include <stdio.h>              /* for FILE */
00036 
00037 #define MIB 1, 3, 6, 1, 2, 1
00038 
00039 #define MIB_IFTYPE_OTHER                    1
00040 #define MIB_IFTYPE_REGULAR1822              2
00041 #define MIB_IFTYPE_HDH1822                  3
00042 #define MIB_IFTYPE_DDNX25                   4
00043 #define MIB_IFTYPE_RFC877X25                5
00044 #define MIB_IFTYPE_ETHERNETCSMACD           6
00045 #define MIB_IFTYPE_ISO88023CSMACD           7
00046 #define MIB_IFTYPE_ISO88024TOKENBUS         8
00047 #define MIB_IFTYPE_ISO88025TOKENRING        9
00048 #define MIB_IFTYPE_ISO88026MAN              10
00049 #define MIB_IFTYPE_STARLAN                  11
00050 #define MIB_IFTYPE_PROTEON10MBIT            12
00051 #define MIB_IFTYPE_PROTEON80MBIT            13
00052 #define MIB_IFTYPE_HYPERCHANNEL             14
00053 #define MIB_IFTYPE_FDDI                     15
00054 #define MIB_IFTYPE_LAPB                     16
00055 #define MIB_IFTYPE_SDLC                     17
00056 #define MIB_IFTYPE_T1CARRIER                18
00057 #define MIB_IFTYPE_CEPT                     19
00058 #define MIB_IFTYPE_BASICISDN                20
00059 #define MIB_IFTYPE_PRIMARYISDN              21
00060 #define MIB_IFTYPE_PROPPOINTTOPOINTSERIAL   22
00061 
00062 #define MIB_IFSTATUS_UP         1
00063 #define MIB_IFSTATUS_DOWN       2
00064 #define MIB_IFSTATUS_TESTING    3
00065 
00066 #define MIB_FORWARD_GATEWAY     1
00067 #define MIB_FORWARD_HOST        2
00068 
00069 #define MIB_IPROUTETYPE_OTHER   1
00070 #define MIB_IPROUTETYPE_INVALID 2
00071 #define MIB_IPROUTETYPE_DIRECT  3
00072 #define MIB_IPROUTETYPE_REMOTE  4
00073 
00074 #define MIB_IPROUTEPROTO_OTHER      1
00075 #define MIB_IPROUTEPROTO_LOCAL      2
00076 #define MIB_IPROUTEPROTO_NETMGMT    3
00077 #define MIB_IPROUTEPROTO_ICMP       4
00078 #define MIB_IPROUTEPROTO_EGP        5
00079 #define MIB_IPROUTEPROTO_GGP        6
00080 #define MIB_IPROUTEPROTO_HELLO      7
00081 #define MIB_IPROUTEPROTO_RIP        8
00082 #define MIB_IPROUTEPROTO_ISIS       9
00083 #define MIB_IPROUTEPROTO_ESIS       10
00084 #define MIB_IPROUTEPROTO_CISCOIGRP  11
00085 #define MIB_IPROUTEPROTO_BBNSPFIGP  12
00086 #define MIB_IPROUTEPROTO_OIGP       13
00087 
00088 #define MIB_TCPRTOALG_OTHER     1
00089 #define MIB_TCPRTOALG_CONSTANT  2
00090 #define MIB_TCPRTOALG_RSRE      3
00091 #define MIB_TCPRTOALG_VANJ      4
00092 
00093 #define MIB_TCPCONNSTATE_CLOSED         1
00094 #define MIB_TCPCONNSTATE_LISTEN         2
00095 #define MIB_TCPCONNSTATE_SYNSENT        3
00096 #define MIB_TCPCONNSTATE_SYNRECEIVED    4
00097 #define MIB_TCPCONNSTATE_ESTABLISHED    5
00098 #define MIB_TCPCONNSTATE_FINWAIT1       6
00099 #define MIB_TCPCONNSTATE_FINWAIT2       7
00100 #define MIB_TCPCONNSTATE_CLOSEWAIT      8
00101 #define MIB_TCPCONNSTATE_LASTACK        9
00102 #define MIB_TCPCONNSTATE_CLOSING        10
00103 #define MIB_TCPCONNSTATE_TIMEWAIT       11
00104 
00105 #define MIB_EGPNEIGHSTATE_IDLE          1
00106 #define MIB_EGPNEIGHSTATE_AQUISITION    2
00107 #define MIB_EGPNEIGHSTATE_DOWN          3
00108 #define MIB_EGPNEIGHSTATE_UP            4
00109 #define MIB_EGPNEIGHSTATE_CEASE         5
00110 
00111     struct variable_list;
00112     struct enum_list;
00113 
00114     void            print_mib(FILE * fp);
00115     void            print_ascii_dump(FILE *);
00116     int             read_objid(const char *, oid *, size_t *);
00117     void            register_mib_handlers(void);
00118     void            netsnmp_set_mib_directory(const char *dir);
00119     char            *netsnmp_get_mib_directory(void);
00120     void            netsnmp_fixup_mib_directory(void);
00121     void            init_mib(void);
00122     void            shutdown_mib(void);
00123     void            print_description(oid *, size_t, int);
00124     void            fprint_description(FILE *, oid *, size_t, int);
00125     int             snprint_description(char *, size_t, oid *, size_t, int);
00126     int             sprint_realloc_description(u_char **, size_t *, size_t *,
00127                                                int, oid *, size_t, int);
00128     int             get_module_node(const char *, const char *, oid *,
00129                                     size_t *);
00130     int             get_wild_node(const char *, oid *, size_t *);
00131     int             get_node(const char *, oid *, size_t *);
00132     oid            *snmp_parse_oid(const char *, oid *, size_t *);
00133     struct tree    *get_tree(const oid *, size_t, struct tree *);
00134     struct tree    *get_tree_head(void);
00135     void            set_function(struct tree *);
00136 
00137     int             parse_one_oid_index(oid ** oidStart, size_t * oidLen,
00138                                         netsnmp_variable_list * data,
00139                                         int complete);
00140     int             parse_oid_indexes(oid * oidIndex, size_t oidLen,
00141                                       netsnmp_variable_list * data);
00142     int             build_oid_noalloc(oid * in, size_t in_len,
00143                                       size_t * out_len, oid * prefix,
00144                                       size_t prefix_len,
00145                                       netsnmp_variable_list * indexes);
00146     int             build_oid(oid ** out, size_t * out_len, oid * prefix,
00147                               size_t prefix_len,
00148                               netsnmp_variable_list * indexes);
00149     int             build_oid_segment(netsnmp_variable_list * var);
00150 
00151 
00152     void            print_variable(const oid * objid, size_t objidlen,
00153                                    const netsnmp_variable_list * variable);
00154 
00155     void            fprint_variable(FILE * fp,
00156                                     const oid * objid, size_t objidlen,
00157                                     const netsnmp_variable_list * variable);
00158 
00159     int             snprint_variable(char *buf, size_t buf_len,
00160                                      const oid * objid, size_t objidlen,
00161                                      const netsnmp_variable_list * variable);
00162 
00163     int             sprint_realloc_variable(u_char ** buf,
00164                                             size_t * buf_len,
00165                                             size_t * out_len,
00166                                             int allow_realloc,
00167                                             const oid * objid,
00168                                             size_t objidlen,
00169                                             const netsnmp_variable_list *
00170                                             variable);
00171 
00172 #ifndef DISABLE_MIB_LOADING
00173     struct tree    *
00174 #else
00175     void
00176 #endif
00177                     netsnmp_sprint_realloc_objid_tree(u_char ** buf,
00178                                                       size_t * buf_len,
00179                                                       size_t * out_len,
00180                                                       int allow_realloc,
00181                                                       int *buf_overflow,
00182                                                       const oid * objid,
00183                                                       size_t objidlen);
00184 
00185     void
00186                     netsnmp_sprint_realloc_objid(u_char ** buf,
00187                                                  size_t * buf_len,
00188                                                  size_t * out_len,
00189                                                  int allow_realloc,
00190                                                  int *buf_overflow,
00191                                                  const oid * objid,
00192                                                  size_t objidlen);
00193 
00194     void            print_value(const oid * objid, size_t objidlen,
00195                                 const netsnmp_variable_list * variable);
00196 
00197     void            fprint_value(FILE * fp,
00198                                  const oid * objid, size_t objidlen,
00199                                  const netsnmp_variable_list * variable);
00200 
00201     int             snprint_value(char *buf, size_t buf_len,
00202                                   const oid * objid, size_t objidlen,
00203                                   const netsnmp_variable_list * variable);
00204 
00205     int             sprint_realloc_value(u_char ** buf, size_t * buf_len,
00206                                          size_t * out_len,
00207                                          int allow_realloc,
00208                                          const oid * objid,
00209                                          size_t objidlen,
00210                                          const netsnmp_variable_list * variable);
00211 
00212 
00213     void            print_objid(const oid * objid, size_t objidlen);
00214 
00215     void            fprint_objid(FILE * fp,
00216                                  const oid * objid, size_t objidlen);
00217 
00218     int             snprint_objid(char *buf, size_t buf_len,
00219                                   const oid * objid, size_t objidlen);
00220 
00221     int             sprint_realloc_objid(u_char ** buf, size_t * buf_len,
00222                                          size_t * out_len,
00223                                          int allow_realloc,
00224                                          const oid * objid,
00225                                          size_t objidlen);
00226 
00227 
00228     int             sprint_realloc_by_type(u_char ** buf, size_t * buf_len,
00229                                            size_t * out_len,
00230                                            int allow_realloc,
00231                                            const netsnmp_variable_list * var,
00232                                            const struct enum_list *enums,
00233                                            const char *hint,
00234                                            const char *units);
00235 
00236     int             sprint_realloc_hexstring(u_char ** buf,
00237                                              size_t * buf_len,
00238                                              size_t * out_len,
00239                                              int allow_realloc,
00240                                              const u_char *, size_t);
00241 
00242     int             sprint_realloc_asciistring(u_char ** buf,
00243                                                size_t * buf_len,
00244                                                size_t * out_len,
00245                                                int allow_realloc,
00246                                                const u_char * cp,
00247                                                size_t len);
00248 
00249     int             sprint_realloc_octet_string(u_char ** buf,
00250                                                 size_t * buf_len,
00251                                                 size_t * out_len,
00252                                                 int allow_realloc,
00253                                                 const netsnmp_variable_list *,
00254                                                 const struct enum_list *,
00255                                                 const char *,
00256                                                 const char *);
00257 
00258     int             sprint_realloc_opaque(u_char ** buf, size_t * buf_len,
00259                                           size_t * out_len,
00260                                           int allow_realloc,
00261                                           const netsnmp_variable_list *,
00262                                           const struct enum_list *, const char *,
00263                                           const char *);
00264 
00265     int             sprint_realloc_object_identifier(u_char ** buf,
00266                                                      size_t * buf_len,
00267                                                      size_t * out_len,
00268                                                      int allow_realloc,
00269                                                      const netsnmp_variable_list
00270                                                      *, const struct enum_list *,
00271                                                      const char *,
00272                                                      const char *);
00273 
00274     int             sprint_realloc_timeticks(u_char ** buf,
00275                                              size_t * buf_len,
00276                                              size_t * out_len,
00277                                              int allow_realloc,
00278                                              const netsnmp_variable_list *,
00279                                              const struct enum_list *,
00280                                              const char *, const char *);
00281 
00282     int             sprint_realloc_hinted_integer(u_char ** buf,
00283                                                   size_t * buf_len,
00284                                                   size_t * out_len,
00285                                                   int allow_realloc, long,
00286                                                   const char, const char *,
00287                                                   const char *);
00288 
00289     int             sprint_realloc_integer(u_char ** buf, size_t * buf_len,
00290                                            size_t * out_len,
00291                                            int allow_realloc,
00292                                            const netsnmp_variable_list *,
00293                                            const struct enum_list *,
00294                                            const char *, const char *);
00295 
00296     int             sprint_realloc_uinteger(u_char ** buf,
00297                                             size_t * buf_len,
00298                                             size_t * out_len,
00299                                             int allow_realloc,
00300                                             const netsnmp_variable_list *,
00301                                             const struct enum_list *,
00302                                             const char *, const char *);
00303 
00304     int             sprint_realloc_gauge(u_char ** buf, size_t * buf_len,
00305                                          size_t * out_len,
00306                                          int allow_realloc,
00307                                          const netsnmp_variable_list *,
00308                                          const struct enum_list *, const char *,
00309                                          const char *);
00310 
00311     int             sprint_realloc_counter(u_char ** buf, size_t * buf_len,
00312                                            size_t * out_len,
00313                                            int allow_realloc,
00314                                            const netsnmp_variable_list *,
00315                                            const struct enum_list *,
00316                                            const char *, const char *);
00317 
00318     int             sprint_realloc_networkaddress(u_char ** buf,
00319                                                   size_t * buf_len,
00320                                                   size_t * out_len,
00321                                                   int allow_realloc,
00322                                                   const netsnmp_variable_list *,
00323                                                   const struct enum_list *,
00324                                                   const char *,
00325                                                   const char *);
00326 
00327     int             sprint_realloc_ipaddress(u_char ** buf,
00328                                              size_t * buf_len,
00329                                              size_t * out_len,
00330                                              int allow_realloc,
00331                                              const netsnmp_variable_list *,
00332                                              const struct enum_list *,
00333                                              const char *, const char *);
00334 
00335     int             sprint_realloc_null(u_char ** buf, size_t * buf_len,
00336                                         size_t * out_len,
00337                                         int allow_realloc,
00338                                         const netsnmp_variable_list *,
00339                                         const struct enum_list *, const char *,
00340                                         const char *);
00341 
00342     int             sprint_realloc_bitstring(u_char ** buf,
00343                                              size_t * buf_len,
00344                                              size_t * out_len,
00345                                              int allow_realloc,
00346                                              const netsnmp_variable_list *,
00347                                              const struct enum_list *,
00348                                              const char *, const char *);
00349 
00350     int             sprint_realloc_nsapaddress(u_char ** buf,
00351                                                size_t * buf_len,
00352                                                size_t * out_len,
00353                                                int allow_realloc,
00354                                                const netsnmp_variable_list *,
00355                                                const struct enum_list *,
00356                                                const char *, const char *);
00357 
00358     int             sprint_realloc_counter64(u_char ** buf,
00359                                              size_t * buf_len,
00360                                              size_t * out_len,
00361                                              int allow_realloc,
00362                                              const netsnmp_variable_list *,
00363                                              const struct enum_list *,
00364                                              const char *, const char *);
00365 
00366     int             sprint_realloc_badtype(u_char ** buf, size_t * buf_len,
00367                                            size_t * out_len,
00368                                            int allow_realloc,
00369                                            const netsnmp_variable_list *,
00370                                            const struct enum_list *,
00371                                            const char *, const char *);
00372 
00373 #ifdef OPAQUE_SPECIAL_TYPES
00374     int             sprint_realloc_float(u_char ** buf, size_t * buf_len,
00375                                          size_t * out_len,
00376                                          int allow_realloc,
00377                                          const netsnmp_variable_list *,
00378                                          const struct enum_list *, const char *,
00379                                          const char *);
00380 
00381     int             sprint_realloc_double(u_char ** buf, size_t * buf_len,
00382                                           size_t * out_len,
00383                                           int allow_realloc,
00384                                           const netsnmp_variable_list *,
00385                                           const struct enum_list *, const char *,
00386                                           const char *);
00387 #endif
00388 
00389 
00390     int             snprint_by_type(char *buf, size_t buf_len,
00391                                     netsnmp_variable_list * var,
00392                                     const struct enum_list *enums,
00393                                     const char *hint, const char *units);
00394 
00395     int             snprint_hexstring(char *buf, size_t buf_len,
00396                                       const u_char *, size_t);
00397 
00398     int             snprint_asciistring(char *buf, size_t buf_len,
00399                                         const u_char * cp, size_t len);
00400 
00401     int             snprint_octet_string(char *buf, size_t buf_len,
00402                                          const netsnmp_variable_list *,
00403                                          const struct enum_list *, const char *,
00404                                          const char *);
00405 
00406     int             snprint_opaque(char *buf, size_t buf_len,
00407                                    const netsnmp_variable_list *,
00408                                    const struct enum_list *, const char *,
00409                                    const char *);
00410 
00411     int             snprint_object_identifier(char *buf, size_t buf_len,
00412                                               const netsnmp_variable_list *,
00413                                               const struct enum_list *,
00414                                               const char *, const char *);
00415 
00416     int             snprint_timeticks(char *buf, size_t buf_len,
00417                                       const netsnmp_variable_list *,
00418                                       const struct enum_list *, const char *,
00419                                       const char *);
00420 
00421     int             snprint_hinted_integer(char *buf, size_t buf_len,
00422                                            long, const char *,
00423                                            const char *);
00424 
00425     int             snprint_integer(char *buf, size_t buf_len,
00426                                     const netsnmp_variable_list *,
00427                                     const struct enum_list *, const char *,
00428                                     const char *);
00429 
00430     int             snprint_uinteger(char *buf, size_t buf_len,
00431                                      const netsnmp_variable_list *,
00432                                      const struct enum_list *, const char *,
00433                                      const char *);
00434 
00435     int             snprint_gauge(char *buf, size_t buf_len,
00436                                   const netsnmp_variable_list *,
00437                                   const struct enum_list *, const char *,
00438                                   const char *);
00439 
00440     int             snprint_counter(char *buf, size_t buf_len,
00441                                     const netsnmp_variable_list *,
00442                                     const struct enum_list *, const char *,
00443                                     const char *);
00444 
00445     int             snprint_networkaddress(char *buf, size_t buf_len,
00446                                            const netsnmp_variable_list *,
00447                                            const struct enum_list *,
00448                                            const char *, const char *);
00449 
00450     int             snprint_ipaddress(char *buf, size_t buf_len,
00451                                       const netsnmp_variable_list *,
00452                                       const struct enum_list *, const char *,
00453                                       const char *);
00454 
00455     int             snprint_null(char *buf, size_t buf_len,
00456                                  const netsnmp_variable_list *,
00457                                  const struct enum_list *, const char *,
00458                                  const char *);
00459 
00460     int             snprint_bitstring(char *buf, size_t buf_len,
00461                                       const netsnmp_variable_list *,
00462                                       const struct enum_list *, const char *,
00463                                       const char *);
00464 
00465     int             snprint_nsapaddress(char *buf, size_t buf_len,
00466                                         const netsnmp_variable_list *,
00467                                         const struct enum_list *, const char *,
00468                                         const char *);
00469 
00470     int             snprint_counter64(char *buf, size_t buf_len,
00471                                       const netsnmp_variable_list *,
00472                                       const struct enum_list *, const char *,
00473                                       const char *);
00474 
00475     int             snprint_badtype(char *buf, size_t buf_len,
00476                                     const netsnmp_variable_list *,
00477                                     const struct enum_list *, const char *,
00478                                     const char *);
00479 
00480 #ifdef OPAQUE_SPECIAL_TYPES
00481     int             snprint_float(char *buf, size_t buf_len,
00482                                   const netsnmp_variable_list *,
00483                                   const struct enum_list *, const char *,
00484                                   const char *);
00485 
00486     int             snprint_double(char *buf, size_t buf_len,
00487                                    const netsnmp_variable_list *,
00488                                    const struct enum_list *, const char *,
00489                                    const char *);
00490 #endif
00491 
00492     void            print_oid_report(FILE *);
00493     void            print_oid_report_enable_labeledoid(void);
00494     void            print_oid_report_enable_oid(void);
00495     void            print_oid_report_enable_suffix(void);
00496     void            print_oid_report_enable_symbolic(void);
00497     void            print_oid_report_enable_mibchildoid(void);
00498 
00499     const char     *parse_octet_hint(const char *hint, const char *value,
00500                                      unsigned char **new_val, int *new_val_len);
00501 
00502     void            clear_tree_flags(register struct tree *tp);
00503 
00504     char           *snmp_out_toggle_options(char *);
00505     void            snmp_out_toggle_options_usage(const char *, FILE *);
00506     char           *snmp_in_toggle_options(char *);
00507     char           *snmp_in_options(char *, int, char * const *);
00508     void            snmp_in_toggle_options_usage(const char *, FILE *);
00509     u_char          mib_to_asn_type(int mib_type);
00510 
00511 
00512     int             netsnmp_str2oid(const char *S, oid * O, int L);
00513 
00514 
00515 #define NETSNMP_STRING_OUTPUT_GUESS  1
00516 #define NETSNMP_STRING_OUTPUT_ASCII  2
00517 #define NETSNMP_STRING_OUTPUT_HEX    3
00518 
00519 #define NETSNMP_OID_OUTPUT_SUFFIX  1
00520 #define NETSNMP_OID_OUTPUT_MODULE  2
00521 #define NETSNMP_OID_OUTPUT_FULL    3
00522 #define NETSNMP_OID_OUTPUT_NUMERIC 4
00523 #define NETSNMP_OID_OUTPUT_UCD     5
00524 #define NETSNMP_OID_OUTPUT_NONE    6
00525 #ifdef __cplusplus
00526 }
00527 #endif
00528 #endif                          /* MIB_H */

net-snmpに対してSat Sep 5 13:14:22 2009に生成されました。  doxygen 1.4.7