diff options
Diffstat (limited to 'include/net-snmp/agent/agent_index.h')
-rw-r--r-- | include/net-snmp/agent/agent_index.h | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/include/net-snmp/agent/agent_index.h b/include/net-snmp/agent/agent_index.h new file mode 100644 index 0000000..49ee7fd --- /dev/null +++ b/include/net-snmp/agent/agent_index.h @@ -0,0 +1,46 @@ +#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 */ |