Este es el comando mib2c que se puede ejecutar en el proveedor de alojamiento gratuito de OnWorks utilizando una de nuestras múltiples estaciones de trabajo en línea gratuitas, como Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS.
PROGRAMA:
NOMBRE
mib2c: genera código de plantilla para extender el agente
SINOPSIS
mib2c [-h] -c CONFIGFILE [-I RUTA] [-f OUTNAME] [-i] [- s] [- q] [- S VAR = VAL] MIBNODE
DESCRIPCIÓN
La herramienta mib2c está diseñada para tomar una parte del árbol MIB (como lo define un archivo MIB)
y generar el código de plantilla C necesario para implementar los objetos de gestión relevantes
dentro de ella.
Para implementar un nuevo módulo MIB, son necesarios tres archivos:
- Archivo de definición MIB
- Archivo de encabezado C
- Archivo de implementación de C.
La herramienta mib2c usa el archivo de definición MIB para producir los dos archivos de código C. Por lo tanto, mib2c
genera una plantilla que puede editar para agregar la lógica necesaria para obtener información de
el sistema operativo o la aplicación para completar el módulo.
MIBNODE es el nodo mib de nivel superior para el que desea generar código. Debes darle a mib2c un
nodo mib (por ejemplo, ifTable) en la línea de comando, no un archivo mib. Este es el más sencillo
Error común.
La herramienta mib2c acepta MIB SMIv1 y SMIv2.
mib2c necesita poder encontrar y cargar un archivo MIB para generar código C para el
MIB. Para permitir que mib2c encuentre el archivo MIB, configure la variable de entorno MIBS para incluir
el archivo MIB que está utilizando. Un ejemplo de configuración de esta variable de entorno es:
MIBS = + NET-SNMP-TUTORIAL-MIB
or
MIBS = TODOS
El primer ejemplo asegura que mib2c encuentre el mib NET-SNMP-TUTORIAL-MIB, además de
los módulos MIB predeterminados. La lista predeterminada de módulos MIB se establece cuando la suite se instala por primera vez.
configurado y construido y básicamente corresponde a la lista de módulos que el agente
apoyos. El segundo ejemplo asegura que mib2c encuentre todas las MIB en la ubicación de búsqueda de
Archivos MIB. La ubicación de búsqueda predeterminada para los archivos MIB es / usr / share / snmp / mibs. Esta busqueda
La ubicación puede ser modificada por la variable de entorno MIBDIRS.
Tanto los archivos MIB que se cargarán como la ubicación de búsqueda del archivo MIB también se pueden configurar en
el archivo snmp.conf. Por favor mira snmp.conf(5) para obtener más información.
Los archivos * .cy * .h generados se crearán en el directorio de trabajo actual.
CAMPUS
-h Muestra un mensaje de ayuda.
-c ARCHIVO DE CONFIGURACIÓN
Utilice CONFIGFILE al generar código. Estos archivos se buscarán primero en el
directorio actual y luego en el / Usr / share directorio (que es donde el predeterminado
Se pueden encontrar los archivos de configuración mib2c). Ejecutando mib2c sin el -c CONFIGFILE
La opción mostrará una descripción de los valores válidos para CONFIGFILE, es decir, la
archivos de configuración disponibles, incluidos los nuevos que podría crear.
Por ejemplo,
% mib2c siTabla
mostrará una descripción de los valores disponibles actualmente para CONFIGFILE.
Los siguientes valores son compatibles con CONFIGFILE:
mib2c.mfd.conf
mib2c.scalar.conf
mib2c.int_watch.conf
mib2c.iterate.conf
mib2c.create-dataset.conf
mib2c.array-usuario.conf
mib2c.column_defines.conf
mib2c.column_enums.conf
GENERANDO CÓDIGO PARA OBJETOS ESCALARES:
Si está escribiendo código para algunos escalares, ejecute:
mib2c -c mib2c.scalar.conf MIBNODO
Si desea "atar" mágicamente variables enteras a escalares enteros, use:
mib2c -c mib2c.int_watch.conf MIBNODO
GENERANDO CÓDIGO PARA TABLAS:
El archivo de configuración recomendado para las tablas es el MIB para principiantes, o MFD,
archivo de configuración. Oculta tantos detalles SNMP como sea posible, generando
funciones pequeñas y fáciles de entender. También es el más flexible y bien
archivo de configuración documentado. Consulte el agente / mibgroup / if-mib / ifTable / ifTable * .c
archivos para un ejemplo:
mib2c -c mib2c.mfd.conf MIBNODO
Si los datos de su tabla se guardan en otro lugar (por ejemplo, está en el kernel y no en el
memoria del propio agente) y es necesario "iterar" sobre él para encontrar el
datos de la fila SNMP a la que se accede. Consulte el agente / mibgroup / mibII / vacm_context.c
archivo para un ejemplo:
mib2c -c mib2c.iterate.conf MIBNODO
Si los datos de su tabla se guardan en el agente (es decir, no se encuentran en un
fuente) y se basa puramente en datos (es decir, no es necesario realizar ningún trabajo cuando
se produce el conjunto). Consulte el archivo agent / mibgroup / examples / data_set.c para ver un ejemplo de
tal mesa:
mib2c -c mib2c.create-dataset.conf MIBNODO
Si los datos de su tabla se guardan en el agente (es decir, no se encuentran en un
fuente), y puede mantener sus datos ordenados por el índice de la tabla, pero necesita
realizar trabajo cuando ocurre un lance:
mib2c -c mib2c.array-user.conf MIBNODE
GENERACIÓN DE DEFINICIONES DE ARCHIVOS DE ENCABEZADO
Para generar solo un encabezado con una definición para cada número de columna en su tabla:
mib2c -c mib2c.column_defines.conf MIBNODO
Para generar solo un encabezado con una definición para cada enumeración para cualquier columna que contenga
enumeraciones:
mib2c -c mib2c.column_enums.conf MIBNODO
GENERACIÓN DE CÓDIGO PARA LA LÍNEA DE CÓDIGO 4.X (LA API ANTIGUA)
mib2c -c mib2c.old-api.conf MIBNODO
-ITRAYECTORIA Busque archivos de configuración en PATH. Se pueden especificar varias rutas usando
múltiples interruptores -I o usando uno con una lista de rutas separadas por comas.
-f NOMBRE EXCEPTO
Coloca el código de salida en OUTNAME.cy OUTNAME.h. Normalmente, mib2c colocará el
código de salida en archivos que corresponden a los nombres de la tabla que está generando código
para, que es probablemente lo que quieres de todos modos.
-i No ejecute sangría en el código resultante.
-s No busque MIBNODE.sed y ejecute sed en el código resultante. Esto es útil para
acorte los nombres largos de variables mib en el código.
-q Ejecutar en modo "silencioso", lo que minimiza los mensajes de estado que genera mib2c.
-SVAR = VAL
Preestablezca una variable VAR, en el archivo mib2c. *. Conf, al valor VAL. Ninguno de los
Los archivos de configuración de mib2c existentes (mib2c. *. conf) actualmente utilizan este
función, sin embargo, por lo que esta opción debe considerarse disponible solo para futuros
utilizar.
EJEMPLOS
Lo siguiente genera código de plantilla C para los archivos de implementación y encabezado para
implementar UCD-DEMO-MIB :: ucdDemoPublic.
% mib2c -c mib2c.scalar.conf ucdDemoPublic
escribiendo a ucdDemoPublic.h
escribiendo a ucdDemoPublic.c
ejecutando sangría en ucdDemoPublic.h
ejecutando sangría en ucdDemoPublic.c
Los archivos ucdDemoPublic.c y ucdDemoPublic.h resultantes se generan el trabajo actual
directorio.
Lo siguiente genera código de plantilla C para el encabezado y los archivos de implementación para el
módulo para implementar TCP-MIB :: tcpConnTable.
% mib2c -c mib2c.iterate.conf tcpConnTable
escribiendo en tcpConnTable.h
escribiendo en tcpConnTable.c
ejecutando sangría en tcpConnTable.h
ejecutando sangría en tcpConnTable.c
Los archivos tcpConnTable.c y tcpConnTable.h resultantes se generan en el trabajo actual.
directorio.
Use mib2c en línea usando los servicios de onworks.net