/*--------------------------------------------------------------------------+
| Edition History:                                                          |
| #   Date     Comments                                                 By  |
| --- -------- -------------------------------------------------------- --- |
|   1 07/05/18 Created.                                                 emi |
+--------------------------------------------------------------------------*/
/*
 * Note: this file originally auto-generated by mib2c using
 *  : mib2c.table_data.conf,v 1.11.2.1 2006/01/11 15:17:47 dts12 Exp $
 */
#ifndef ALARMTABLE_H
#define ALARMTABLE_H

config_require(utilities/iquery)
config_require(Rmon/agutil)
config_require(Rmon/rows)
config_require(Rmon/event)

/*
 * function declarations 
 */
void            init_alarmTable(void);
void            initialize_table_alarmTable(void);
Netsnmp_Node_Handler alarmTable_handler;

/*
 * column number definitions for table alarmTable 
 */
#define COLUMN_ALARMINDEX		1
#define COLUMN_ALARMINTERVAL		2
#define COLUMN_ALARMVARIABLE		3
#define COLUMN_ALARMSAMPLETYPE		4
#define COLUMN_ALARMVALUE		5
#define COLUMN_ALARMSTARTUPALARM		6
#define COLUMN_ALARMRISINGTHRESHOLD		7
#define COLUMN_ALARMFALLINGTHRESHOLD		8
#define COLUMN_ALARMRISINGEVENTINDEX		9
#define COLUMN_ALARMFALLINGEVENTINDEX		10
#define COLUMN_ALARMOWNER		11
#define COLUMN_ALARMSTATUS		12
#endif                          /* ALARMTABLE_H */
