Nested Table

"Julius Naperkowski" <[email protected]>
Newsgroups gmane.network.net-snmp.user
Message-ID <[email protected]>
Hello everybody,

I was wondering how to complete mib2c output in order to create some kind of a nested table which i have already defined in a mib file. In other words, I want to have a table which is included in an instance of another tablerow. 
I used mib2c with create-dataset.conf but it just created template code with ASN types missing for the inner table.

The Table should look something like this:
-----------------------------
exampleTable OBJECT-TYPE
	SYNTAX			SEQUENCE OF ExampleEntry
	MAX-ACCESS		not-accessible	
	STATUS			current
    DESCRIPTION		"..." 
	::= { a-mib-node 3 }
    
exampleEntry OBJECT-TYPE
    SYNTAX      ExampleEntry
    ACCESS  	not-accessible
    STATUS      mandatory
    DESCRIPTION
	"..."
    INDEX   { exampleIndex }
    ::= {exampleTable 1 }

ExampleEntry ::= SEQUENCE {
	type				OCTET STRING,
	innerExampleTable		SEQUENCE OF InnerExampleEntry
}

exampleIndex OBJECT-TYPE
    SYNTAX      OCTET STRING
    MAX-ACCESS  read-create
    STATUS      mandatory
    DESCRIPTION
	"..."
    ::= { exampleEntry 1 }

...

-----------------------------
The innerExampleTable - which code is structured similarly to exampleTable (except inclusion of another inner table) - is held in a seperate mib file.


Here is a snippet of the mib2c output (.h file):
-----------------------------
#ifndef EXAMPLETABLE_H
#define EXAMPLETABLE_H

void init_exampleTable(void);
void initialize_table_exampleTable(void);
Netsnmp_Node_Handler exampleTable_handler;

       #define COLUMN_EXAMPLEINDEX		1
       #define COLUMN_INNEREXAMPLETABLE		2
#endif /* EXAMPLETABLE_H */
-----------------------------

Here is a snippet of the mib2c output (.c file without comments):
-----------------------------
    static oid exampleTable_oid[] = {1,3,6,1,4,1,778,1,1,1,1,3};
    size_t exampleTable_oid_len = OID_LENGTH(exampleTable_oid);
    netsnmp_table_data_set *table_set;

    table_set = netsnmp_create_table_data_set("exampleTable");

    table_set->allow_creation = 1;
    netsnmp_table_set_add_indexes(table_set,
                           ASN_OCTET_STR,  
                           0);
		 
    netsnmp_table_set_multi_add_default_row(table_set,
                                            COLUMN_TYPE, ASN_OCTET_STR, 1,
                                            NULL, 0,
                                            COLUMN_INNEREXAMPLETABLE, , 0,
                                            NULL, 0,
                              0);

    netsnmp_register_table_data_set(netsnmp_create_handler_registration("exampleTable", exampleTable_handler, exampleTable_oid, exampleTable_oid_len, HANDLER_CAN_RWRITE), table_set, NULL);
}

void
init_exampleTable(void)
{
    initialize_table_exampleTable();
    initialize_table_innerExampleTable();
}
-----------------------------

Can I extend the generated code for my purpose? When calling netsnmp_table_set_multi_add_default_row I don't know which ASN type to chose to specify COLUMN_INNEREXAMPLETABLE. Can anyone help me out?
-- 
Neu: GMX FreeDSL Komplettanschluss mit DSL 6.000 Flatrate + Telefonanschluss für nur 17,95 Euro/mtl.!* http://portal.gmx.net/de/go/dsl02

------------------------------------------------------------------------------
Register Now for Creativity and Technology (CaT), June 3rd, NYC. CaT
is a gathering of tech-side developers & brand creativity professionals. Meet
the minds behind Google Creative Lab, Visual Complexity, Processing, & 
iPhoneDevCamp asthey present alongside digital heavyweights like Barbarian
Group, R/GA, & Big Spaceship. http://www.creativitycat.com 
_______________________________________________
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
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.