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