> [ First - *please* don't mail me privately, without copying
> any responses to the mailing list. I don't have the time
> or inclination to offer private, unpaid, SNMP consultancy.
> Keep discussions to the list, where others can both learn
> and offer advice. Thanks. ]
That reply button is so seductive.
> There's one other suggestion I meant to make earlier.
> Try dropping the 'netsnmp_register_auto_data_table()' statement.
> See if that makes any difference.
Again no luck.
Here's the 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);
}
Here's the 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
Thanks for your time and your help. I really appreciate it.
Chris
-------------------------------------------------------
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