Using mib2c

Mahesh Chaudhari <[email protected]>
Newsgroups gmane.network.net-snmp.user
Message-ID <[email protected]>
Hi All,
i am new to net-snmp and assigned a task of writting MIB module for embedded device.
so i started with implementing/Adding a single scalar variable to Agent. (on a intel based PC)
 
my MIB file and skeleton file(output of mib2c -c mob2c.scalar.conf) are attached here.
m struck at how to populate .c file. 
help will b appreciated

 
 
 
MahesH

------------------------------------------------------------------------------
Centralized Desktop Delivery: Dell and VMware Reference Architecture
Simplifying enterprise desktop deployment and management using
Dell EqualLogic storage and VMware View: A highly scalable, end-to-end
client virtualization framework. Read more!
http://p.sf.net/sfu/dell-eql-dev2dev

_______________________________________________
Net-snmp-users mailing list
[email protected]
Please see the following page to unsubscribe or change other options:
https://lists.sourceforge.net/lists/listinfo/net-snmp-users
MyVar.c (text/plain, 1.9 KB)
/*
 * Note: this file originally auto-generated by mib2c using
 *        : mib2c.scalar.conf 17337 2009-01-01 14:28:29Z magfr $
 */

#include <net-snmp/net-snmp-config.h>
#include <net-snmp/net-snmp-includes.h>
#include <net-snmp/agent/net-snmp-agent-includes.h>
#include "MyVar.h"

/** Initializes the MyVar module */
void
init_MyVar(void)
{
    const oid       MyVar_oid[] = { 1, 3, 6, 1, 3, 1, 1 };

    DEBUGMSGTL(("MyVar", "Initializing\n"));

    netsnmp_register_scalar(netsnmp_create_handler_registration
                            ("MyVar", handle_MyVar, MyVar_oid,
                             OID_LENGTH(MyVar_oid), HANDLER_CAN_RONLY));
}

int
handle_MyVar(netsnmp_mib_handler *handler,
             netsnmp_handler_registration *reginfo,
             netsnmp_agent_request_info *reqinfo,
             netsnmp_request_info *requests)
{
        
    /*
     * We are never called for a GETNEXT if it's registered as a
     * "instance", as it's "magically" handled for us.  
     */

    /*
     * a instance handler also only hands us one request at a time, so
     * we don't need to loop over a list of requests; we'll only get one. 
     */

    switch (reqinfo->mode) {

    case MODE_GET:
        snmp_set_var_typed_value(requests->requestvb, ASN_INTEGER,
                                 (u_char *)
                                 /* XXX: a pointer to the scalar's data */
                                  reqinfo->agent_data->data 
				  ,
                                 /*
                                  * XXX: the length of the data in bytes 
                                  */
				   1	
				   );
        break;


    default:
        /*
         * we should never get here, so this is a really bad error 
         */
        snmp_log(LOG_ERR, "unknown mode (%d) in handle_MyVar\n",
                 reqinfo->mode);
        return SNMP_ERR_GENERR;
    }

    return SNMP_ERR_NOERROR;
}
MY-MIB.txt (text/plain, 356 B)
MY-MIB DEFINITIONS ::= BEGIN

IMPORTS
	experimental, Integer32, MODULE-IDENTITY
			FROM SNMPv2-SMI;


MyMIB MODULE-IDENTITY


     ::= { experimental 1 } 



MyVar OBJECT-TYPE
	SYNTAX	        Integer32
	MAX-ACCESS	read-only
	STATUS	        current
	DESCRIPTION    "testvariable"
	DEFVAL          { 10 }

	::= { MyMIB 1 } 



END
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.