2 * header_complex.h: More complex storage and data sorting for mib modules
4 #ifndef _MIBGROUP_HEADER_COMPLEX_H
5 #define _MIBGROUP_HEADER_COMPLEX_H
7 struct header_complex_index {
11 struct header_complex_index *next;
12 struct header_complex_index *prev;
16 * Function pointer called by the header_comlpex functions when a client pointer (void * to us) needs to be cleaned.
19 typedef void (HeaderComplexCleaner) (void *);
20 void *header_complex(struct header_complex_index *datalist,
21 struct variable *vp, oid * name,
22 size_t * length, int exact,
24 WriteMethod ** write_method);
26 int header_complex_generate_varoid(netsnmp_variable_list *
28 int header_complex_parse_oid(oid * oidIndex, size_t oidLen,
29 netsnmp_variable_list * data);
30 void header_complex_generate_oid(oid * name, size_t * length,
33 netsnmp_variable_list * data);
34 void header_complex_free_all(struct header_complex_index
36 HeaderComplexCleaner * cleaner);
37 void header_complex_free_entry(struct header_complex_index
39 HeaderComplexCleaner * cleaner);
40 void *header_complex_extract_entry(struct header_complex_index
42 struct header_complex_index
44 struct header_complex_index *header_complex_find_entry(struct
49 void *header_complex_get(struct header_complex_index *datalist,
50 netsnmp_variable_list * index);
51 void *header_complex_get_from_oid(struct header_complex_index
52 *datalist, oid * searchfor,
53 size_t searchfdor_len);
55 struct header_complex_index *header_complex_add_data(struct
62 * Note: newoid is copied/cloned for you
64 struct header_complex_index *header_complex_add_data_by_oid(struct
72 #endif /* _MIBGROUP_HEADER_COMPLEX_H */