> 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