マニュアルページセク ション 1: ユーザーコマンド

印刷ビューの終了

更新: 2014 年 7 月
 
 

mib2c (1)

名前

mib2c - generate template code for extending the agent

形式

mib2c  [-h]  -c CONFIGFILE [-I PATH] [-f OUTNAME] [-i][q][-S
VAR=VAL] MIBNODE

説明




Net-SNMP                                                 MIB2C(1)



NAME
     mib2c -- generate template code for extending the agent

SYNOPSIS
     mib2c  [-h]  -c CONFIGFILE [-I PATH] [-f OUTNAME] [-i][q][-S
     VAR=VAL] MIBNODE

DESCRIPTION
     The mib2c tool is designed to take a portion of the MIB tree
     (as  defined by a MIB file) and generate the template C code
     necessary  to  implement  the  relevant  management  objects
     within it.

     In order to implement a new MIB module, three files are nec-
     essary:

     - MIB definition file
     - C header file
     - C implementation file.

     The mib2c tool uses the MIB definition file to  produce  the
     two  C code files. Thus, mib2c generates a template that you
     can edit to add logic necessary to obtain  information  from
     the  operating system or application to complete the module.

     MIBNODE is the top level mib node you want to generate  code
     for.   You  must give mib2c a mib node (e.g. ifTable) on the
     command line, not a mib file.  This is the single most  com-
     mon mistake.

     The mib2c tool accepts both SMIv1 and SMIv2 MIBs.

     mib2c  needs to be able to find and load a MIB file in order
     to generate C code for the MIB. To enable mib2c to find  the
     MIB  file,  set the MIBS environment variable to include the
     MIB file you are using.  An example of setting this environ-
     ment variable is:

        MIBS=+NET-SNMP-TUTORIAL-MIB

        or

        MIBS=ALL

     The  first  example  ensures  that mib2c finds the NET-SNMP-
     TUTORIAL-MIB mib, in addition to the  default  MIB  modules.
     The  default  list  of  MIB modules is set when the suite is
     first configured and built and basically corresponds to  the
     list of modules that the agent supports.  The second example
     ensures that mib2c finds all MIBs in the search location for
     MIB  files.  The  default  search  location for MIB files is
     /etc/net-snmp/snmp/mibs.  This  search   location   can   be



V5.4.1               Last change: 25 Jul 2003                   1






Net-SNMP                                                 MIB2C(1)



     modified by the MIBDIRS environment variable.

     Both  the  MIB  files  to  be loaded and the MIB file search
     location can also  be  configured  in  the  snmp.conf  file.
     Please see snmp.conf(5) for more information.

     The  generated *.c and *.h files will be created in the cur-
     rent working directory.

OPTIONS
     -h   Display a help message.

     -c CONFIGFILE
          Use CONFIGFILE when generating code.  These files  will
          be searched for first in the current directory and then
          in the /etc/net-snmp  directory  (which  is  where  the
          default  mib2c configuration files can be found).  Run-
          ning mib2c without the -c CONFIGFILE option  will  dis-
          play  a description of the valid values for CONFIGFILE,
          that is, the available config files, including new ones
          that you might author.

          For example,

          % mib2c ifTable

          will  display  a description of the currently available
          values for CONFIGFILE.

          The following values are supported for CONFIGFILE:

          mib2c.mfd.conf
          mib2c.scalar.conf
          mib2c.int_watch.conf
          mib2c.iterate.conf
          mib2c.create-dataset.conf
          mib2c.array-user.conf
          mib2c.column_defines.conf
          mib2c.column_enums.conf

          GENERATING CODE FOR SCALAR OBJECTS:

          If you're writing code for some scalars, run:

               mib2c -c mib2c.scalar.conf MIBNODE

          If you want to magically  "tie"  integer  variables  to
          integer scalars, use:

               mib2c -c mib2c.int_watch.conf MIBNODE

          GENERATING CODE FOR TABLES:



V5.4.1               Last change: 25 Jul 2003                   2






Net-SNMP                                                 MIB2C(1)



          The  recommended  configuration  file for tables is the
          MIBs for Dummies, or MFD, configuration file. It  hides
          as  much  of  the  SNMP details as possible, generating
          small, easy to understand functions.  It  is  also  the
          most  flexible  and well documented configuration file.
          See the agent/mibgroup/if-mib/ifTable/ifTable*.c  files
          for an example:

                  mib2c -c mib2c.mfd.conf MIBNODE

          If your table data is kept somewhere else (e.g. it's in
          the kernel and not in the memory of the  agent  itself)
          and  you  need  to  "iterate" over it to find the right
          data  for  the  SNMP  row  being  accessed.   See   the
          agent/mibgroup/mibII/vacm_context.c  file  for an exam-
          ple:

               mib2c -c mib2c.iterate.conf MIBNODE

          If your table data is kept in the agent (i.e. it's  not
          located  in  an  external  source)  and  is purely data
          driven (i.e. you do not need to perform any work when a
          set     occurs).     See    the    agent/mibgroup/exam-
          ples/data_set.c file for an example of such a table:

               mib2c -c mib2c.create-dataset.conf MIBNODE

          If your table data is kept in the agent (i.e. it's  not
          located  in  an external source), and you can keep your
          data sorted by the table index but you do need to  per-
          form work when a set occurs:

               mib2c -c mib2c.array-user.conf MIBNODE

          GENERATING HEADER FILE DEFINITIONS

          To generate just a header with a define for each column
          number in your table:

               mib2c -c mib2c.column_defines.conf MIBNODE

          To generate just a header with a define for  each  enum
          for any column containing enums:

               mib2c -c mib2c.column_enums.conf MIBNODE

               GENERATING  CODE  FOR  THE  4.X  LINE OF CODE (THE
          OLDER API)

               mib2c -c mib2c.old-api.conf MIBNODE

     -IPATH



V5.4.1               Last change: 25 Jul 2003                   3






Net-SNMP                                                 MIB2C(1)



          Search for configuration files in PATH.  Multiple paths
          can be specified using multiple -I switches or by using
          one with a comma separated list of paths in it.

     -f OUTNAME
          Places the output code into  OUTNAME.c  and  OUTNAME.h.
          Normally,  mib2c  will place the output code into files
          which correspond to the table names  it  is  generating
          code for, which is probably what you want anyway.

     -i   Do not run indent on the resulting code.

     -q   Run  in  "quiet"  mode, which minimizes the status mes-
          sages mib2c generates.

     -SVAR=VAL
          Preset a variable VAR, in the mib2c.*.conf file, to the
          value  VAL.  None  of  the existing mib2c configuration
          files (mib2c.*.conf) currently makes use of  this  fea-
          ture,  however,  so  this  option  should be considered
          available only for future use.

EXAMPLES
     The following generates C template code for the  header  and
     implementation  files to implement UCD-DEMO-MIB::ucdDemoPub-
     lic.

          % mib2c -c mib2c.scalar.conf ucdDemoPublic
          writing to ucdDemoPublic.h
          writing to ucdDemoPublic.c
          running indent on ucdDemoPublic.h
          running indent on ucdDemoPublic.c

     The resulting ucdDemoPublic.c and ucdDemoPublic.h files  are
     generated the current working directory.

     The  following  generates C template code for the header and
     implementation files   for  the  module  to  implement  TCP-
     MIB::tcpConnTable.

          % mib2c -c mib2c.iterate.conf tcpConnTable
          writing to tcpConnTable.h
          writing to tcpConnTable.c
          running indent on tcpConnTable.h
          running indent on tcpConnTable.c

     The  resulting  tcpConnTable.c  and tcpConnTable.h files are
     generated in the current working directory.

ATTRIBUTES
     See  attributes(5)  for  descriptions   of   the   following
     attributes:



V5.4.1               Last change: 25 Jul 2003                   4






Net-SNMP                                                 MIB2C(1)



     +---------------+-----------------------------------------------+
     |ATTRIBUTE TYPE |               ATTRIBUTE VALUE                 |
     +---------------+-----------------------------------------------+
     |Availability   | system/management/snmp/net-snmp/documentation |
     +---------------+-----------------------------------------------+
     |Stability      | Volatile                                      |
     +---------------+-----------------------------------------------+
SEE ALSO
     snmpcmd(1), snmp.conf(5)



NOTES
     This   software   was   built   from   source  available  at
     https://java.net/projects/solaris-userland.   The   original
     community       source       was       downloaded       from
     http://ftp.ntua.gr/mirror/net-snmp/OldFiles/net-
     snmp-5.4.x/5.4.1/net-snmp-5.4.1.tar.gz

     Further  information about this software can be found on the
     open source community website at http://www.net-snmp.org/.


































V5.4.1               Last change: 25 Jul 2003                   5