| #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 */ |