/*
 * Note: this file originally auto-generated by mib2c using
 *  : mib2c.table_data.conf,v 1.11 2005/09/16 11:48:12 dts12 Exp $
 */
#ifndef EXPEXPRESSIONTABLE_H
#define EXPEXPRESSIONTABLE_H

/*
 * function declarations 
 */
void            init_expExpressionTable(void);
Netsnmp_Node_Handler expExpressionTable_handler;

/*
 * column number definitions for table expExpressionTable 
 */
#define COLUMN_EXPEXPRESSIONOWNER		1
#define COLUMN_EXPEXPRESSIONNAME		2
#define COLUMN_EXPEXPRESSION			3
#define COLUMN_EXPEXPRESSIONVALUETYPE		4
#define COLUMN_EXPEXPRESSIONCOMMENT		5
#define COLUMN_EXPEXPRESSIONDELTAINTERVAL	6
#define COLUMN_EXPEXPRESSIONPREFIX		7
#define COLUMN_EXPEXPRESSIONERRORS		8
#define COLUMN_EXPEXPRESSIONENTRYSTATUS		9
#endif                          /* EXPEXPRESSIONTABLE_H */
