systemstats.h
上传用户:wxp200602
上传日期:2007-10-30
资源大小:4028k
文件大小:2k
源码类别:

SNMP编程

开发平台:

Unix_Linux

  1. /*
  2.  * systemstats data access header
  3.  *
  4.  * $Id: systemstats.h,v 1.2 2004/09/14 02:29:16 rstory Exp $
  5.  */
  6. #ifndef NETSNMP_ACCESS_SYSTEMSTATS_H
  7. #define NETSNMP_ACCESS_SYSTEMSTATS_H
  8. # ifdef __cplusplus
  9. extern          "C" {
  10. #endif
  11. /**---------------------------------------------------------------------*/
  12. /*
  13.  * structure definitions
  14.  */
  15. /*
  16.  * netsnmp_systemstats_entry
  17.  */
  18. typedef struct netsnmp_systemstats_s {
  19.    netsnmp_index oid_index;   /* MUST BE FIRST!! for container use */
  20.    oid           ns_ip_version;
  21.    int       flags; /* for net-snmp use */
  22.    /*
  23.     * mib related data (considered for
  24.     *  netsnmp_access_systemstats_entry_update)
  25.     */
  26.    netsnmp_ipstats stats;
  27.    /** old_stats is used in netsnmp_access_interface_entry_update_stats */
  28.    netsnmp_ipstats *old_stats;
  29. } netsnmp_systemstats_entry;
  30. /**---------------------------------------------------------------------*/
  31. /*
  32.  * ACCESS function prototypes
  33.  */
  34. /*
  35.  * init
  36.  */
  37. netsnmp_container * netsnmp_access_systemstats_container_init(u_int init_flags);
  38. #define NETSNMP_ACCESS_SYSTEMSTATS_INIT_NOFLAGS               0x0000
  39. #define NETSNMP_ACCESS_SYSTEMSTATS_INIT_ADDL_IDX_BY_ADDR      0x0001
  40. /*
  41.  * load and free
  42.  */
  43. netsnmp_container*
  44. netsnmp_access_systemstats_container_load(netsnmp_container* container,
  45.                                     u_int load_flags);
  46. #define NETSNMP_ACCESS_SYSTEMSTATS_LOAD_NOFLAGS               0x0000
  47. void netsnmp_access_systemstats_container_free(netsnmp_container *container,
  48.                                          u_int free_flags);
  49. #define NETSNMP_ACCESS_SYSTEMSTATS_FREE_NOFLAGS               0x0000
  50. #define NETSNMP_ACCESS_SYSTEMSTATS_FREE_DONT_CLEAR            0x0001
  51. #define NETSNMP_ACCESS_SYSTEMSTATS_FREE_KEEP_CONTAINER        0x0002
  52. /*
  53.  * create/free an entry
  54.  */
  55. netsnmp_systemstats_entry *
  56. netsnmp_access_systemstats_entry_create(int version);
  57. void netsnmp_access_systemstats_entry_free(netsnmp_systemstats_entry * entry);
  58. /*
  59.  * update/compare
  60.  */
  61. int
  62. netsnmp_access_systemstats_entry_update(netsnmp_systemstats_entry *old, 
  63.                                         netsnmp_systemstats_entry *new);
  64. /**---------------------------------------------------------------------*/
  65. # ifdef __cplusplus
  66. }
  67. #endif
  68. #endif /* NETSNMP_ACCESS_SYSTEMSTATS_H */