added files
[bcm963xx.git] / userapps / opensource / net-snmp / include / net-snmp / agent / agent_index.h
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 #ifdef __cplusplus
44 }
45 #endif
46 #endif                          /* AGENT_INDEX_H */