blob: 49ee7fdcc7c3ab3d1b7c2a4f89c853081884d2c4 [file] [log] [blame]
#ifndef AGENT_INDEX_H
#define AGENT_INDEX_H
#ifdef __cplusplus
extern "C" {
#endif
#define ALLOCATE_THIS_INDEX 0x0
#define ALLOCATE_ANY_INDEX 0x1
#define ALLOCATE_NEW_INDEX 0x3
/*
* N.B: it's deliberate that NEW_INDEX & ANY_INDEX == ANY_INDEX
*/
#define ANY_INTEGER_INDEX -1
#define ANY_STRING_INDEX NULL
#define ANY_OID_INDEX NULL
#define INDEX_ERR_GENERR -1
#define INDEX_ERR_WRONG_TYPE -2
#define INDEX_ERR_NOT_ALLOCATED -3
#define INDEX_ERR_WRONG_SESSION -4
char *register_string_index(oid *, size_t, char *);
int register_int_index(oid *, size_t, int);
netsnmp_variable_list *register_oid_index(oid *, size_t, oid *, size_t);
netsnmp_variable_list *register_index(netsnmp_variable_list *, int,
netsnmp_session *);
int unregister_string_index(oid *, size_t, char *);
int unregister_int_index(oid *, size_t, int);
int unregister_oid_index(oid *, size_t, oid *, size_t);
int release_index(netsnmp_variable_list *);
int remove_index(netsnmp_variable_list *, netsnmp_session *);
void unregister_index_by_session(netsnmp_session *);
int unregister_index(netsnmp_variable_list *, int,
netsnmp_session *);
unsigned long count_indexes(oid * name, size_t namelen,
int include_unallocated);
#ifdef __cplusplus
}
#endif
#endif /* AGENT_INDEX_H */