> Errr....  where's the "init_table_adams_req_table()" routine gone?
> If that's the complete code file that you're working with,
> then I don't see how your module will be initialised at all.

That would be gmail thinking it's clever.  Lets try again.

Module:

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

/** Initialize the adams_req_table table by defining its contents and
how it's structured */
void
initialize_table_adams_req_table(void)
{
   oid adams_req_table_oid[] = { 1, 3, 6, 1, 4, 1, 8072, 9999, 9999, 1, 1 };
   netsnmp_table_data_set *table_set;
   netsnmp_table_row *row;
   int i;
   int v;

   /* create the table structure itself */
   table_set = netsnmp_create_table_data_set("softwareTable");

   /* comment this out or delete if you don't support creation of new rows */
   table_set->allow_creation = 1;

   /***************************************************
    * Adding indexes
    */
   DEBUGMSGTL(("initialize_table_adams_req_table",
               "adding indexes to table adams_req_table\n"));
   netsnmp_table_dataset_add_index(table_set, ASN_INTEGER);

   DEBUGMSGTL(("initialize_table_adams_req_table",
               "adding column types to table adams_req_table\n"));
   netsnmp_table_set_multi_add_default_row(table_set,
                                           2, ASN_INTEGER, 1, 0, sizeof(int),
                                           3, ASN_INTEGER, 1, 0, sizeof(int),
                                           4, ASN_INTEGER, 1, 0, sizeof(int),
                                           5, ASN_INTEGER, 1, 0, sizeof(int),
                                           6, ASN_INTEGER, 1, 0, sizeof(int),
                                           7, ASN_INTEGER, 1, 0, sizeof(int),
                                           8, ASN_INTEGER, 1, 0, sizeof(int),
                                           9, ASN_INTEGER, 1, 0, sizeof(int),
                                           10, ASN_INTEGER, 1, 0, sizeof(int),
                                           11, ASN_INTEGER, 1, 0, sizeof(int),
                                           12, ASN_INTEGER, 1, 0, sizeof(int),
                                           13, ASN_INTEGER, 1, 0, sizeof(int),
                                           14, ASN_INTEGER, 1, 0, sizeof(int),
                                           15, ASN_INTEGER, 1, 0, sizeof(int),
                                           16, ASN_INTEGER, 1, 0, sizeof(int),
                                           17, ASN_INTEGER, 1, 0, sizeof(int),
                                           18, ASN_INTEGER, 1, 0, sizeof(int),
                                           19, ASN_INTEGER, 1, 0, sizeof(int),
                                           20, ASN_INTEGER, 1, 0, sizeof(int),
                                           21, ASN_INTEGER, 1, 0, sizeof(int),
                                           22, ASN_INTEGER, 1, 0, sizeof(int),
                                           23, ASN_INTEGER, 1, 0, sizeof(int),
                                           24, ASN_INTEGER, 1, 0, sizeof(int),
                                           25, ASN_INTEGER, 1, 0, sizeof(int),
                                       0);

   /* registering the table with the master agent */
   /* note: if you don't need a subhandler to deal with any aspects
      of the request, change adams_req_table_handler to "NULL" */
   netsnmp_register_table_data_set(netsnmp_create_handler_registration
                                       ("softwareTable", NULL,
                                         adams_req_table_oid,
                                         OID_LENGTH(adams_req_table_oid),
                                         HANDLER_CAN_RWRITE), table_set, NULL);
       i = 1;
       v = 2;

       row = 
netsnmp_table_data_set_create_row_from_defaults(table_set->default_row);
       netsnmp_table_row_add_index(row, ASN_INTEGER, &i, sizeof(i));
       netsnmp_set_row_column(row, 2, ASN_INTEGER, &v, sizeof(v));
       netsnmp_table_dataset_add_row(table_set, row);

}

MIB:

WORD-REQ-TABLE-MIB DEFINITIONS ::= BEGIN

IMPORTS
       netSnmpPlaypen          FROM NET-SNMP-MIB
       OBJECT-TYPE, MODULE-IDENTITY, enterprises,
       Integer32                       FROM SNMPv2-SMI;

wordDefTable MODULE-IDENTITY
       LAST-UPDATED "200505241418Z"
       ORGANIZATION
               "SwRI"
       CONTACT-INFO
               "ring ring"
       DESCRIPTION
               ""
::= { netSnmpPlaypen 1 }


softwareTable  OBJECT-TYPE
       SYNTAX SEQUENCE OF SoftwareEntry
       MAX-ACCESS not-accessible
       STATUS     current
       DESCRIPTION
               ""
       ::= { wordDefTable 1 }

softwareEntry  OBJECT-TYPE
       SYNTAX  SoftwareEntry
       MAX-ACCESS not-accessible
       STATUS     current
       DESCRIPTION
               ""
       INDEX { index }
       ::= { softwareTable 1 }

SoftwareEntry ::= SEQUENCE {
       index
               Integer32,
       tag
               Integer32,
       channelid
               Integer32,
       dpumask
               Integer32,
       firstword
               Integer32,
       numwords
               Integer32,
       wordincrement
               Integer32,
       numwordoccurrences
               Integer32,
       idposition
               Integer32,
       idsize
               Integer32,
       messageid
               Integer32,
       idmask
               Integer32,
       idincrement
               Integer32,
       numidoccurrences
               Integer32,
       qusedflag
               Integer32,
       qposition
               Integer32,
       qsize
               Integer32,
       qvalue
               Integer32,
       qmask
               Integer32,
       embedusedflag
               Integer32,
       embedframesize
               Integer32,
       eidposition
               Integer32,
       eidsize
               Integer32,
       eid
               Integer32,
       eidmask
               Integer32
}

index  OBJECT-TYPE
       SYNTAX     Integer32
       MAX-ACCESS not-accessible
       STATUS     current
       DESCRIPTION
               ""
       ::= { softwareEntry 1 }

tag  OBJECT-TYPE
       SYNTAX     Integer32
       MAX-ACCESS read-create
       STATUS     current
       DESCRIPTION
               ""
       ::= { softwareEntry 2 }

channelid  OBJECT-TYPE
       SYNTAX     Integer32
       MAX-ACCESS read-create
       STATUS     current
       DESCRIPTION
               ""
       ::= { softwareEntry 3 }

dpumask  OBJECT-TYPE
       SYNTAX     Integer32
       MAX-ACCESS read-create
       STATUS     current
       DESCRIPTION
               ""
       ::= { softwareEntry 4 }

firstword  OBJECT-TYPE
       SYNTAX     Integer32
       MAX-ACCESS read-create
       STATUS     current
       DESCRIPTION
               ""
       ::= { softwareEntry 5 }

numwords  OBJECT-TYPE
       SYNTAX     Integer32
       MAX-ACCESS read-create
       STATUS     current
       DESCRIPTION
               ""
       ::= { softwareEntry 6 }

wordincrement  OBJECT-TYPE
       SYNTAX     Integer32
       MAX-ACCESS read-create
       STATUS     current
       DESCRIPTION
               ""
       ::= { softwareEntry 7 }

numwordoccurrences  OBJECT-TYPE
       SYNTAX     Integer32
       MAX-ACCESS read-create
       STATUS     current
       DESCRIPTION
               ""
       ::= { softwareEntry 8 }

idposition  OBJECT-TYPE
       SYNTAX     Integer32
       MAX-ACCESS read-create
       STATUS     current
       DESCRIPTION
               ""
       ::= { softwareEntry 9 }

idsize  OBJECT-TYPE
       SYNTAX     Integer32
       MAX-ACCESS read-create
       STATUS     current
       DESCRIPTION
               ""
       ::= { softwareEntry 10 }

messageid  OBJECT-TYPE
       SYNTAX     Integer32
       MAX-ACCESS read-create
       STATUS     current
       DESCRIPTION
               ""
       ::= { softwareEntry 11 }

idmask  OBJECT-TYPE
       SYNTAX     Integer32
       MAX-ACCESS read-create
       STATUS     current
       DESCRIPTION
               ""
       ::= { softwareEntry 12 }

idincrement  OBJECT-TYPE
       SYNTAX     Integer32
       MAX-ACCESS read-create
       STATUS     current
       DESCRIPTION
               ""
       ::= { softwareEntry 13 }

numidoccurrences  OBJECT-TYPE
       SYNTAX     Integer32
       MAX-ACCESS read-create
       STATUS     current
       DESCRIPTION
               ""
       ::= { softwareEntry 14 }

qusedflag  OBJECT-TYPE
       SYNTAX     Integer32
       MAX-ACCESS read-create
       STATUS     current
       DESCRIPTION
               ""
       ::= { softwareEntry 15 }

qposition  OBJECT-TYPE
       SYNTAX     Integer32
       MAX-ACCESS read-create
       STATUS     current
       DESCRIPTION
               ""
       ::= { softwareEntry 16 }

qsize  OBJECT-TYPE
       SYNTAX     Integer32
       MAX-ACCESS read-create
       STATUS     current
       DESCRIPTION
               ""
       ::= { softwareEntry 17 }

qvalue  OBJECT-TYPE
       SYNTAX     Integer32
       MAX-ACCESS read-create
       STATUS     current
       DESCRIPTION
               ""
       ::= { softwareEntry 18 }

qmask  OBJECT-TYPE
       SYNTAX     Integer32
       MAX-ACCESS read-create
       STATUS     current
       DESCRIPTION
               ""
       ::= { softwareEntry 19 }

embedusedflag  OBJECT-TYPE
       SYNTAX     Integer32
       MAX-ACCESS read-create
       STATUS     current
       DESCRIPTION
               ""
       ::= { softwareEntry 20 }

embedframesize  OBJECT-TYPE
       SYNTAX     Integer32
       MAX-ACCESS read-create
       STATUS     current
       DESCRIPTION
               ""
       ::= { softwareEntry 21 }

eidposition  OBJECT-TYPE
       SYNTAX     Integer32
       MAX-ACCESS read-create
       STATUS     current
       DESCRIPTION
               ""
       ::= { softwareEntry 22 }

eidsize  OBJECT-TYPE
       SYNTAX     Integer32
       MAX-ACCESS read-create
       STATUS     current
       DESCRIPTION
               ""
       ::= { softwareEntry 23 }

eid  OBJECT-TYPE
       SYNTAX     Integer32
       MAX-ACCESS read-create
       STATUS     current
       DESCRIPTION
               ""
       ::= { softwareEntry 24 }

eidmask  OBJECT-TYPE
       SYNTAX     Integer32
       MAX-ACCESS read-create
       STATUS     current
       DESCRIPTION
               ""
       ::= { softwareEntry 25 }
END


> You've got some debugging statements in the "initialize" function.
> Have you been seeing this output at all?  My guess is not.

No, I have not seen the debugging statements, but even when I
installed and ran data_set I never saw the debug statements and the
module still worked.

> (Well, my guess is that you probably haven't tried turning this
>  debugging on at all, but I'm just old, tired and cynical!)

Yes, I have tried turning on the debug statements "snmpd
-Dinitialize_table_adams_req_table" or "snmpd -Dexample_data_set" for
the data_set example.  snmpd -Dall doesn't show anything either. 
Correct me if I'm wrong but I would expect to see the debug messages
immediately after starting the daemon.


-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_idt77&alloc_id492&op=click
_______________________________________________
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

Reply via email to