header_complex.h
上传用户:cxs890
上传日期:2021-05-22
资源大小:347k
文件大小:2k
源码类别:

SNMP编程

开发平台:

C/C++

  1. /*
  2.  *  header_complex.h:  More complex storage and data sorting for mib modules
  3.  */
  4. #ifndef _MIBGROUP_HEADER_COMPLEX_H
  5. #define _MIBGROUP_HEADER_COMPLEX_H
  6. #ifdef __cplusplus
  7. extern "C" {
  8. #endif
  9. struct header_complex_index {
  10.    oid *name;
  11.    size_t namelen;
  12.    void *data;
  13.    struct header_complex_index *next;
  14.    struct header_complex_index *prev;
  15. };
  16. /* Function pointer called by the header_comlpex functions when a client pointer (void * to us) needs to be cleaned. */
  17. typedef void (HeaderComplexCleaner)(void *);
  18. void *header_complex(struct header_complex_index *datalist, struct variable *vp,
  19.                      oid *name, size_t *length, int exact, size_t *var_len,
  20.                      WriteMethod **write_method);
  21. int header_complex_generate_varoid(struct variable_list *var);
  22. int header_complex_parse_oid(oid *oidIndex, size_t oidLen,
  23.                              struct variable_list *data);
  24. void header_complex_generate_oid(oid *name, size_t *length, oid *prefix,
  25.                                  size_t prefix_len,
  26.                                  struct variable_list *data);
  27. void header_complex_free_all(struct header_complex_index *thestuff,
  28.                              HeaderComplexCleaner *cleaner);
  29. void header_complex_free_entry(struct header_complex_index *theentry,
  30.                                HeaderComplexCleaner *cleaner);
  31. void *header_complex_extract_entry(struct header_complex_index **thetop,
  32.                                    struct header_complex_index *thespot);
  33. struct header_complex_index *header_complex_find_entry(struct header_complex_index *thestuff, void *entry);
  34. struct header_complex_index *
  35.   header_complex_add_data(struct header_complex_index **thedata,
  36.                           struct variable_list *var, void *data);
  37. #ifdef __cplusplus
  38. }
  39. #endif
  40. #endif /* _MIBGROUP_HEADER_COMPLEX_H */