blob: 8b76cd474bec03bd92d5bc4a4a7ac2914404430a [file] [log] [blame]
#ifndef NETSNMP_EXTEND_H
#define NETSNMP_EXTEND_H
config_require( util_funcs/header_simple_table )
config_require( utilities/execute )
config_add_mib(NET-SNMP-EXTEND-MIB)
typedef struct netsnmp_extend_s {
char *token;
char *command;
char *args;
char *input;
char *old_command;
char *old_args;
char *old_input;
int out_len;
char *output;
int numlines;
char **lines;
int result;
int flags;
netsnmp_cache *cache;
netsnmp_table_row *row;
netsnmp_table_data *dinfo;
struct netsnmp_extend_s *next;
} netsnmp_extend;
void init_extend(void);
void shutdown_extend(void);
Netsnmp_Node_Handler handle_nsExtendConfigTable;
Netsnmp_Node_Handler handle_nsExtendOutput1Table;
Netsnmp_Node_Handler handle_nsExtendOutput2Table;
void extend_parse_config(const char*, char*);
#define COLUMN_EXTCFG_COMMAND 2
#define COLUMN_EXTCFG_ARGS 3
#define COLUMN_EXTCFG_INPUT 4
#define COLUMN_EXTCFG_CACHETIME 5
#define COLUMN_EXTCFG_EXECTYPE 6
#define COLUMN_EXTCFG_RUNTYPE 7
#define COLUMN_EXTCFG_STORAGE 20
#define COLUMN_EXTCFG_STATUS 21
#define COLUMN_EXTCFG_FIRST_COLUMN COLUMN_EXTCFG_COMMAND
#define COLUMN_EXTCFG_LAST_COLUMN COLUMN_EXTCFG_STATUS
#define COLUMN_EXTOUT1_OUTLEN 0 /* DROPPED */
#define COLUMN_EXTOUT1_OUTPUT1 1 /* First Line */
#define COLUMN_EXTOUT1_OUTPUT2 2 /* Full Output */
#define COLUMN_EXTOUT1_NUMLINES 3
#define COLUMN_EXTOUT1_RESULT 4
#define COLUMN_EXTOUT1_FIRST_COLUMN COLUMN_EXTOUT1_OUTPUT1
#define COLUMN_EXTOUT1_LAST_COLUMN COLUMN_EXTOUT1_RESULT
#define COLUMN_EXTOUT2_OUTLINE 2
#define COLUMN_EXTOUT2_FIRST_COLUMN COLUMN_EXTOUT2_OUTLINE
#define COLUMN_EXTOUT2_LAST_COLUMN COLUMN_EXTOUT2_OUTLINE
#define NS_EXTEND_FLAGS_ACTIVE 0x01
#define NS_EXTEND_FLAGS_SHELL 0x02
#define NS_EXTEND_FLAGS_WRITEABLE 0x04
#define NS_EXTEND_FLAGS_CONFIG 0x08
#define NS_EXTEND_ETYPE_EXEC 1
#define NS_EXTEND_ETYPE_SHELL 2
#define NS_EXTEND_RTYPE_RONLY 1
#define NS_EXTEND_RTYPE_RWRITE 2
#endif /* NETSNMP_EXTEND_H */