agent_index.h 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. #ifndef AGENT_INDEX_H
  2. #define AGENT_INDEX_H
  3. #ifdef __cplusplus
  4. extern "C" {
  5. #endif
  6. #define ALLOCATE_THIS_INDEX 0x0
  7. #define ALLOCATE_ANY_INDEX 0x1
  8. #define ALLOCATE_NEW_INDEX 0x3
  9. /*
  10. * N.B: it's deliberate that NEW_INDEX & ANY_INDEX == ANY_INDEX
  11. */
  12. #define ANY_INTEGER_INDEX -1
  13. #define ANY_STRING_INDEX NULL
  14. #define ANY_OID_INDEX NULL
  15. #define INDEX_ERR_GENERR -1
  16. #define INDEX_ERR_WRONG_TYPE -2
  17. #define INDEX_ERR_NOT_ALLOCATED -3
  18. #define INDEX_ERR_WRONG_SESSION -4
  19. char *register_string_index(oid *, size_t, char *);
  20. int register_int_index(oid *, size_t, int);
  21. netsnmp_variable_list *register_oid_index(oid *, size_t, oid *, size_t);
  22. netsnmp_variable_list *register_index(netsnmp_variable_list *, int,
  23. netsnmp_session *);
  24. int unregister_string_index(oid *, size_t, char *);
  25. int unregister_int_index(oid *, size_t, int);
  26. int unregister_oid_index(oid *, size_t, oid *, size_t);
  27. int release_index(netsnmp_variable_list *);
  28. int remove_index(netsnmp_variable_list *, netsnmp_session *);
  29. void unregister_index_by_session(netsnmp_session *);
  30. int unregister_index(netsnmp_variable_list *, int,
  31. netsnmp_session *);
  32. unsigned long count_indexes(oid * name, size_t namelen,
  33. int include_unallocated);
  34. void dump_idx_registry(void);
  35. #ifdef __cplusplus
  36. }
  37. #endif
  38. #endif /* AGENT_INDEX_H */