1 #ifndef NETSNMP_EXTEND_H 2 #define NETSNMP_EXTEND_H 3 4 config_require( util_funcs/header_simple_table ) 5 config_require( utilities/execute ) 6 config_add_mib(NET-SNMP-EXTEND-MIB) 7 8 typedef struct netsnmp_extend_s { 9 char *token; 10 char *command; 11 char *args; 12 char *input; 13 char *old_command; 14 char *old_args; 15 char *old_input; 16 17 int out_len; 18 char *output; 19 int numlines; 20 char **lines; 21 int result; 22 23 int flags; 24 netsnmp_cache *cache; 25 netsnmp_table_row *row; 26 netsnmp_table_data *dinfo; 27 struct netsnmp_extend_s *next; 28 } netsnmp_extend; 29 30 void init_extend(void); 31 void shutdown_extend(void); 32 Netsnmp_Node_Handler handle_nsExtendConfigTable; 33 Netsnmp_Node_Handler handle_nsExtendOutput1Table; 34 Netsnmp_Node_Handler handle_nsExtendOutput2Table; 35 void extend_parse_config(const char*, char*); 36 37 #define COLUMN_EXTCFG_COMMAND 2 38 #define COLUMN_EXTCFG_ARGS 3 39 #define COLUMN_EXTCFG_INPUT 4 40 #define COLUMN_EXTCFG_CACHETIME 5 41 #define COLUMN_EXTCFG_EXECTYPE 6 42 #define COLUMN_EXTCFG_RUNTYPE 7 43 #define COLUMN_EXTCFG_STORAGE 20 44 #define COLUMN_EXTCFG_STATUS 21 45 #define COLUMN_EXTCFG_FIRST_COLUMN COLUMN_EXTCFG_COMMAND 46 #define COLUMN_EXTCFG_LAST_COLUMN COLUMN_EXTCFG_STATUS 47 48 #define COLUMN_EXTOUT1_OUTLEN 0 /* DROPPED */ 49 #define COLUMN_EXTOUT1_OUTPUT1 1 /* First Line */ 50 #define COLUMN_EXTOUT1_OUTPUT2 2 /* Full Output */ 51 #define COLUMN_EXTOUT1_NUMLINES 3 52 #define COLUMN_EXTOUT1_RESULT 4 53 #define COLUMN_EXTOUT1_FIRST_COLUMN COLUMN_EXTOUT1_OUTPUT1 54 #define COLUMN_EXTOUT1_LAST_COLUMN COLUMN_EXTOUT1_RESULT 55 56 #define COLUMN_EXTOUT2_OUTLINE 2 57 #define COLUMN_EXTOUT2_FIRST_COLUMN COLUMN_EXTOUT2_OUTLINE 58 #define COLUMN_EXTOUT2_LAST_COLUMN COLUMN_EXTOUT2_OUTLINE 59 60 #define NS_EXTEND_FLAGS_ACTIVE 0x01 61 #define NS_EXTEND_FLAGS_SHELL 0x02 62 #define NS_EXTEND_FLAGS_WRITEABLE 0x04 63 #define NS_EXTEND_FLAGS_CONFIG 0x08 64 65 #define NS_EXTEND_ETYPE_EXEC 1 66 #define NS_EXTEND_ETYPE_SHELL 2 67 #define NS_EXTEND_RTYPE_RONLY 1 68 #define NS_EXTEND_RTYPE_RWRITE 2 69 70 #endif /* NETSNMP_EXTEND_H */ 71