SM0 She11
Path:
/
/
usr
/
include
/
net-snmp
/
agent
Full Path (server): /usr/include/net-snmp/agent
Create Fil3
Upl04d Fil3
📄 agent_callbacks.h
[E]
[D]
[R]
📄 agent_handler.h
[E]
[D]
[R]
📄 agent_index.h
[E]
[D]
[R]
📄 agent_module_config.h
[E]
[D]
[R]
📄 agent_read_config.h
[E]
[D]
[R]
📄 agent_registry.h
[E]
[D]
[R]
📄 agent_sysORTable.h
[E]
[D]
[R]
📄 agent_trap.h
[E]
[D]
[R]
📄 all_helpers.h
[E]
[D]
[R]
📄 auto_nlist.h
[E]
[D]
[R]
📄 baby_steps.h
[E]
[D]
[R]
📄 bulk_to_next.h
[E]
[D]
[R]
📄 cache_handler.h
[E]
[D]
[R]
📄 debug_handler.h
[E]
[D]
[R]
📄 ds_agent.h
[E]
[D]
[R]
📄 instance.h
[E]
[D]
[R]
📄 mfd.h
[E]
[D]
[R]
📄 mib_module_config.h
[E]
[D]
[R]
📄 mib_module_includes.h
[E]
[D]
[R]
📄 mib_modules.h
[E]
[D]
[R]
📄 mode_end_call.h
[E]
[D]
[R]
📄 multiplexer.h
[E]
[D]
[R]
📄 net-snmp-agent-includes.h
[E]
[D]
[R]
📄 null.h
[E]
[D]
[R]
📄 old_api.h
[E]
[D]
[R]
📄 read_only.h
[E]
[D]
[R]
📄 row_merge.h
[E]
[D]
[R]
📄 scalar.h
[E]
[D]
[R]
📄 scalar_group.h
[E]
[D]
[R]
📄 serialize.h
[E]
[D]
[R]
📄 set_helper.h
[E]
[D]
[R]
📄 snmp_agent.h
[E]
[D]
[R]
📄 snmp_get_statistic.h
[E]
[D]
[R]
📄 snmp_vars.h
[E]
[D]
[R]
📄 stash_cache.h
[E]
[D]
[R]
📄 stash_to_next.h
[E]
[D]
[R]
📄 struct.h
[E]
[D]
[R]
📄 sysORTable.h
[E]
[D]
[R]
📄 table.h
[E]
[D]
[R]
📄 table_array.h
[E]
[D]
[R]
📄 table_container.h
[E]
[D]
[R]
📄 table_data.h
[E]
[D]
[R]
📄 table_dataset.h
[E]
[D]
[R]
📄 table_iterator.h
[E]
[D]
[R]
📄 table_tdata.h
[E]
[D]
[R]
📁 util_funcs
Open
[D]
[R]
📄 util_funcs.h
[E]
[D]
[R]
📄 var_struct.h
[E]
[D]
[R]
📄 watcher.h
[E]
[D]
[R]
Editing: table_dataset.h
/* * table_iterator.h */ #ifndef _TABLE_DATA_SET_HANDLER_H_ #define _TABLE_DATA_SET_HANDLER_H_ #ifdef __cplusplus extern "C" { #endif /* * This helper is designed to completely automate the task of storing * tables of data within the agent that are not tied to external data * sources (like the kernel, hardware, or other processes, etc). IE, * all rows within a table are expected to be added manually using * functions found below. */ void netsnmp_init_table_dataset(void); #define TABLE_DATA_SET_NAME "netsnmp_table_data_set" /* * return SNMP_ERR_NOERROR or some SNMP specific protocol error id */ typedef int (Netsnmp_Value_Change_Ok) (char *old_value, size_t old_value_len, char *new_value, size_t new_value_len, void *mydata); /* * stored within a given row */ typedef struct netsnmp_table_data_set_storage_s { unsigned int column; /* * info about it? */ char writable; Netsnmp_Value_Change_Ok *change_ok_fn; void *my_change_data; /* * data actually stored */ u_char type; union { /* value of variable */ void *voidp; long *integer; u_char *string; oid *objid; u_char *bitstring; struct counter64 *counter64; #ifdef NETSNMP_WITH_OPAQUE_SPECIAL_TYPES float *floatVal; double *doubleVal; #endif /* NETSNMP_WITH_OPAQUE_SPECIAL_TYPES */ } data; u_long data_len; struct netsnmp_table_data_set_storage_s *next; } netsnmp_table_data_set_storage; typedef struct netsnmp_table_data_set_s { netsnmp_table_data *table; netsnmp_table_data_set_storage *default_row; int allow_creation; /* set to 1 to allow creation of new rows */ unsigned int rowstatus_column; } netsnmp_table_data_set; /* ============================ * DataSet API: Table maintenance * ============================ */ netsnmp_table_data_set *netsnmp_create_table_data_set(const char *); netsnmp_table_row *netsnmp_table_data_set_clone_row( netsnmp_table_row *row); void netsnmp_table_dataset_delete_all_data( netsnmp_table_data_set_storage *data); void netsnmp_table_dataset_delete_row(netsnmp_table_row *row); void netsnmp_table_dataset_add_row(netsnmp_table_data_set *table, netsnmp_table_row *row); void netsnmp_table_dataset_replace_row(netsnmp_table_data_set *table, netsnmp_table_row *origrow, netsnmp_table_row *newrow); void netsnmp_table_dataset_remove_row(netsnmp_table_data_set *table, netsnmp_table_row *row); void netsnmp_table_dataset_remove_and_delete_row(netsnmp_table_data_set *table, netsnmp_table_row *row); void netsnmp_delete_table_data_set(netsnmp_table_data_set *table_set); /* ============================ * DataSet API: Default row operations * ============================ */ /* * to set, add column, type, (writable) ? 1 : 0 */ /* * default value, if not NULL, is the default value used in row * creation. It is copied into the storage template (free your * calling argument). */ int netsnmp_table_set_add_default_row(netsnmp_table_data_set *, unsigned int, int, int, void *default_value, size_t default_value_len); void netsnmp_table_set_multi_add_default_row(netsnmp_table_data_set *, ...); /* ============================ * DataSet API: MIB maintenance * ============================ */ netsnmp_mib_handler *netsnmp_get_table_data_set_handler(netsnmp_table_data_set *); Netsnmp_Node_Handler netsnmp_table_data_set_helper_handler; int netsnmp_register_table_data_set(netsnmp_handler_registration *, netsnmp_table_data_set *, netsnmp_table_registration_info *); netsnmp_table_data_set *netsnmp_extract_table_data_set(netsnmp_request_info *request); netsnmp_table_data_set_storage *netsnmp_extract_table_data_set_column(netsnmp_request_info *, unsigned int); netsnmp_oid_stash_node ** netsnmp_table_dataset_get_or_create_stash(netsnmp_agent_request_info *ari, netsnmp_table_data_set *tds, netsnmp_table_request_info *tri); netsnmp_table_row * netsnmp_table_dataset_get_newrow(netsnmp_request_info *request, netsnmp_agent_request_info *reqinfo, int rootoid_len, netsnmp_table_data_set *datatable, netsnmp_table_request_info *table_info); /* ============================ * DataSet API: Config-based operations * ============================ */ void netsnmp_register_auto_data_table(netsnmp_table_data_set *table_set, char *registration_name); void netsnmp_unregister_auto_data_table(netsnmp_table_data_set *table_set, char *registration_name); void netsnmp_config_parse_table_set(const char *token, char *line); void netsnmp_config_parse_add_row( const char *token, char *line); /* ============================ * DataSet API: Row operations * ============================ */ netsnmp_table_row *netsnmp_table_data_set_get_first_row(netsnmp_table_data_set *table); netsnmp_table_row *netsnmp_table_data_set_get_next_row( netsnmp_table_data_set *table, netsnmp_table_row *row); int netsnmp_table_set_num_rows(netsnmp_table_data_set *table); /* ============================ * DataSet API: Column operations * ============================ */ netsnmp_table_data_set_storage *netsnmp_table_data_set_find_column(netsnmp_table_data_set_storage *, unsigned int); int netsnmp_mark_row_column_writable( netsnmp_table_row *row, int column, int writable); int netsnmp_set_row_column( netsnmp_table_row *, unsigned int, int, const void *, size_t); /* ============================ * DataSet API: Index operations * ============================ */ void netsnmp_table_dataset_add_index(netsnmp_table_data_set *table, u_char type); void netsnmp_table_set_add_indexes(netsnmp_table_data_set *tset, ...); #ifdef __cplusplus } #endif #define netsnmp_table_row_add_column(row, type, value, value_len) snmp_varlist_add_variable(&row->indexes, NULL, 0, type, (u_char *) value, value_len) #endif /* _TABLE_DATA_SET_HANDLER_H_ */
Save