| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 |
- /*
- * systemstats data access header
- *
- * $Id$
- */
- #ifndef NETSNMP_ACCESS_SYSTEMSTATS_H
- #define NETSNMP_ACCESS_SYSTEMSTATS_H
- # ifdef __cplusplus
- extern "C" {
- #endif
- /**---------------------------------------------------------------------*/
- /*
- * structure definitions
- */
- /*
- * netsnmp_systemstats_entry
- */
- typedef struct netsnmp_systemstats_s {
- netsnmp_index oid_index; /* MUST BE FIRST!! for container use */
- /*
- * Index of the table
- * First entry = ip version
- * Second entry = interface index (0 for ipSystemStatsTable */
- oid index[2];
- int flags; /* for net-snmp use */
- /*
- * mib related data (considered for
- * netsnmp_access_systemstats_entry_update)
- */
- netsnmp_ipstats stats;
- /*
- * for logging
- */
- const char* tableName;
-
- /** old_stats is used in netsnmp_access_interface_entry_update_stats */
- netsnmp_ipstats *old_stats;
- } netsnmp_systemstats_entry;
- /**---------------------------------------------------------------------*/
- /*
- * ACCESS function prototypes
- */
- /*
- * init
- */
- void netsnmp_access_systemstats_init(void);
- /*
- * init
- */
- netsnmp_container * netsnmp_access_systemstats_container_init(u_int init_flags);
- #define NETSNMP_ACCESS_SYSTEMSTATS_INIT_NOFLAGS 0x0000
- #define NETSNMP_ACCESS_SYSTEMSTATS_INIT_ADDL_IDX_BY_ADDR 0x0001
- /**
- * Load container. If the NETSNMP_ACCESS_SYSTEMSTATS_LOAD_IFTABLE is set
- * the ipIfSystemStats table is loaded, else ipSystemStatsTable is loaded.
- */
- netsnmp_container*
- netsnmp_access_systemstats_container_load(netsnmp_container* container,
- u_int load_flags);
- #define NETSNMP_ACCESS_SYSTEMSTATS_LOAD_NOFLAGS 0x0000
- #define NETSNMP_ACCESS_SYSTEMSTATS_LOAD_IFTABLE 0x0001
- void netsnmp_access_systemstats_container_free(netsnmp_container *container,
- u_int free_flags);
- #define NETSNMP_ACCESS_SYSTEMSTATS_FREE_NOFLAGS 0x0000
- #define NETSNMP_ACCESS_SYSTEMSTATS_FREE_DONT_CLEAR 0x0001
- #define NETSNMP_ACCESS_SYSTEMSTATS_FREE_KEEP_CONTAINER 0x0002
- /*
- * create/free an entry
- */
- netsnmp_systemstats_entry *
- netsnmp_access_systemstats_entry_create(int version, int if_index,
- const char* tableName);
- void netsnmp_access_systemstats_entry_free(netsnmp_systemstats_entry * entry);
- /*
- * update/compare
- */
- int
- netsnmp_access_systemstats_entry_update(netsnmp_systemstats_entry *old,
- netsnmp_systemstats_entry *new_val);
- /**---------------------------------------------------------------------*/
- # ifdef __cplusplus
- }
- #endif
- #endif /* NETSNMP_ACCESS_SYSTEMSTATS_H */
|