1 
2 /*****
3 *
4 * Copyright (C) 2001-2015 CS-SI. All Rights Reserved.
5 * Author: Yoann Vandoorselaere <yoann.v@prelude-ids.com>
6 * Author: Nicolas Delon <nicolas.delon@prelude-ids.com>
7 *
8 * This file is part of the Prelude library.
9 *
10 * This program is free software; you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License as published by
12 * the Free Software Foundation; either version 2, or (at your option)
13 * any later version.
14 *
15 * This program is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18 * GNU General Public License for more details.
19 *
20 * You should have received a copy of the GNU General Public License along
21 * with this program; if not, write to the Free Software Foundation, Inc.,
22 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
23 *
24 *****/
25 
26 /* Auto-generated by the GenerateIDMEFTreeWrapH package */
27 
28 #ifndef _LIBPRELUDE_IDMEF_TREE_WRAP_H
29 #define _LIBPRELUDE_IDMEF_TREE_WRAP_H
30 
31 #include <limits.h>
32 #include "idmef-class.h"
33 #include "idmef-value.h"
34 #include "prelude-inttypes.h"
35 #include "prelude-string.h"
36 #include "prelude-msg.h"
37 
38 #ifdef __cplusplus
39   extern "C" {
40 #endif
41 
42 #ifdef WIN32
43 # undef interface
44 #endif
45 
46 #define IDMEF_LIST_APPEND  INT_MAX
init_group_mapping(void)47 #define IDMEF_LIST_PREPEND (INT_MAX - 1)
48 
49 typedef enum {
50         IDMEF_ADDITIONAL_DATA_TYPE_ERROR = -1,
51         IDMEF_ADDITIONAL_DATA_TYPE_STRING = 0,
52         IDMEF_ADDITIONAL_DATA_TYPE_BYTE = 1,
53         IDMEF_ADDITIONAL_DATA_TYPE_CHARACTER = 2,
54         IDMEF_ADDITIONAL_DATA_TYPE_DATE_TIME = 3,
55         IDMEF_ADDITIONAL_DATA_TYPE_INTEGER = 4,
56         IDMEF_ADDITIONAL_DATA_TYPE_NTPSTAMP = 5,
57         IDMEF_ADDITIONAL_DATA_TYPE_PORTLIST = 6,
58         IDMEF_ADDITIONAL_DATA_TYPE_REAL = 7,
59         IDMEF_ADDITIONAL_DATA_TYPE_BOOLEAN = 8,
60         IDMEF_ADDITIONAL_DATA_TYPE_BYTE_STRING = 9,
61         IDMEF_ADDITIONAL_DATA_TYPE_XML = 10
62 } idmef_additional_data_type_t;
63 
64 
65 idmef_additional_data_type_t idmef_additional_data_type_to_numeric(const char *name);
66 const char *idmef_additional_data_type_to_string(idmef_additional_data_type_t val);
67 
68 
69 
70 
71 /*
72  * struct {
73  *         IS_KEY_LISTED(meaning);
74  *         REFCOUNT;
75  *         IGNORED(prelude_bool_t, _type_is_set);
76  *         idmef_additional_data_type_t type;
77  *         REQUIRED(idmef_data_t, *data);
78  * } TYPE_ID(idmef_additional_data_t, 4);
79  */
80 
81 
82 typedef struct idmef_additional_data idmef_additional_data_t;
83 
84 int idmef_additional_data_new(idmef_additional_data_t **ret);
85 int idmef_additional_data_copy(const idmef_additional_data_t *src, idmef_additional_data_t *dst);
86 int idmef_additional_data_clone(idmef_additional_data_t *src, idmef_additional_data_t **dst);
87 int idmef_additional_data_compare(const idmef_additional_data_t *obj1, const idmef_additional_data_t *obj2);
88 idmef_additional_data_t *idmef_additional_data_ref(idmef_additional_data_t *additional_data);
89 
90 #ifndef SWIG
91 int _idmef_additional_data_get_child(void *p, idmef_class_child_id_t child, void **childptr);
92 int _idmef_additional_data_new_child(void *p, idmef_class_child_id_t child, int n, void **ret);
93 int _idmef_additional_data_destroy_child(void *p, idmef_class_child_id_t child, int n);
94 #endif
95 
96 void idmef_additional_data_destroy(idmef_additional_data_t *ptr);
97 prelude_string_t *idmef_additional_data_get_meaning(idmef_additional_data_t *ptr);
98 void idmef_additional_data_set_meaning(idmef_additional_data_t *ptr, prelude_string_t *meaning);
99 int idmef_additional_data_new_meaning(idmef_additional_data_t *ptr, prelude_string_t **ret);
100 
101 idmef_additional_data_type_t idmef_additional_data_get_type(idmef_additional_data_t *ptr);
102 void idmef_additional_data_set_type(idmef_additional_data_t *ptr, idmef_additional_data_type_t type);
103 int idmef_additional_data_new_type(idmef_additional_data_t *ptr, idmef_additional_data_type_t **ret);
104 
105 idmef_data_t *idmef_additional_data_get_data(idmef_additional_data_t *ptr);
106 void idmef_additional_data_set_data(idmef_additional_data_t *ptr, idmef_data_t *data);
107 int idmef_additional_data_new_data(idmef_additional_data_t *ptr, idmef_data_t **ret);
108 
109 typedef enum {
110         IDMEF_REFERENCE_ORIGIN_ERROR = -1,
111         IDMEF_REFERENCE_ORIGIN_UNKNOWN = 0,
112         IDMEF_REFERENCE_ORIGIN_VENDOR_SPECIFIC = 1,
113         IDMEF_REFERENCE_ORIGIN_USER_SPECIFIC = 2,
114         IDMEF_REFERENCE_ORIGIN_BUGTRAQID = 3,
115         IDMEF_REFERENCE_ORIGIN_CVE = 4,
116         IDMEF_REFERENCE_ORIGIN_OSVDB = 5
117 } idmef_reference_origin_t;
118 
119 
120 idmef_reference_origin_t idmef_reference_origin_to_numeric(const char *name);
121 const char *idmef_reference_origin_to_string(idmef_reference_origin_t val);
122 
123 
124 
125 
126 /*
127  * struct {
128  *         IDMEF_LINKED_OBJECT;
129  *         REFCOUNT;
130  *         idmef_reference_origin_t origin;
131  *
132  *         REQUIRED(prelude_string_t, *name);
133  *         REQUIRED(prelude_string_t, *url);
group_mapping_key(TALLOC_CTX * mem_ctx,const struct dom_sid * sid)134  *         prelude_string_t *meaning;
135  * } TYPE_ID(idmef_reference_t, 50);
136  */
137 
138 
139 typedef struct idmef_reference idmef_reference_t;
140 
141 int idmef_reference_new(idmef_reference_t **ret);
142 int idmef_reference_copy(const idmef_reference_t *src, idmef_reference_t *dst);
143 int idmef_reference_clone(idmef_reference_t *src, idmef_reference_t **dst);
add_mapping_entry(GROUP_MAP * map,int flag)144 int idmef_reference_compare(const idmef_reference_t *obj1, const idmef_reference_t *obj2);
145 idmef_reference_t *idmef_reference_ref(idmef_reference_t *reference);
146 
147 #ifndef SWIG
148 int _idmef_reference_get_child(void *p, idmef_class_child_id_t child, void **childptr);
149 int _idmef_reference_new_child(void *p, idmef_class_child_id_t child, int n, void **ret);
150 int _idmef_reference_destroy_child(void *p, idmef_class_child_id_t child, int n);
151 #endif
152 
153 void idmef_reference_destroy(idmef_reference_t *ptr);
154 idmef_reference_origin_t idmef_reference_get_origin(idmef_reference_t *ptr);
155 void idmef_reference_set_origin(idmef_reference_t *ptr, idmef_reference_origin_t origin);
156 int idmef_reference_new_origin(idmef_reference_t *ptr, idmef_reference_origin_t **ret);
157 
158 prelude_string_t *idmef_reference_get_name(idmef_reference_t *ptr);
159 void idmef_reference_set_name(idmef_reference_t *ptr, prelude_string_t *name);
160 int idmef_reference_new_name(idmef_reference_t *ptr, prelude_string_t **ret);
161 
162 prelude_string_t *idmef_reference_get_url(idmef_reference_t *ptr);
163 void idmef_reference_set_url(idmef_reference_t *ptr, prelude_string_t *url);
164 int idmef_reference_new_url(idmef_reference_t *ptr, prelude_string_t **ret);
165 
166 prelude_string_t *idmef_reference_get_meaning(idmef_reference_t *ptr);
167 void idmef_reference_set_meaning(idmef_reference_t *ptr, prelude_string_t *meaning);
168 int idmef_reference_new_meaning(idmef_reference_t *ptr, prelude_string_t **ret);
169 
170 
171 
172 /*
173  * struct {
174  *         IDMEF_OBJECT;
175  *         REFCOUNT;
176  *         prelude_string_t *ident;
177  *         REQUIRED(prelude_string_t, *text);
178  *         LISTED_OBJECT(reference_list, idmef_reference_t);
179  *
get_group_map_from_sid(struct dom_sid sid,GROUP_MAP * map)180  * } TYPE_ID(idmef_classification_t, 6);
181  */
182 
183 
184 typedef struct idmef_classification idmef_classification_t;
185 
186 int idmef_classification_new(idmef_classification_t **ret);
187 int idmef_classification_copy(const idmef_classification_t *src, idmef_classification_t *dst);
188 int idmef_classification_clone(idmef_classification_t *src, idmef_classification_t **dst);
189 int idmef_classification_compare(const idmef_classification_t *obj1, const idmef_classification_t *obj2);
190 idmef_classification_t *idmef_classification_ref(idmef_classification_t *classification);
191 
192 #ifndef SWIG
193 int _idmef_classification_get_child(void *p, idmef_class_child_id_t child, void **childptr);
194 int _idmef_classification_new_child(void *p, idmef_class_child_id_t child, int n, void **ret);
195 int _idmef_classification_destroy_child(void *p, idmef_class_child_id_t child, int n);
196 #endif
197 
198 void idmef_classification_destroy(idmef_classification_t *ptr);
199 prelude_string_t *idmef_classification_get_ident(idmef_classification_t *ptr);
200 void idmef_classification_set_ident(idmef_classification_t *ptr, prelude_string_t *ident);
201 int idmef_classification_new_ident(idmef_classification_t *ptr, prelude_string_t **ret);
202 
203 prelude_string_t *idmef_classification_get_text(idmef_classification_t *ptr);
204 void idmef_classification_set_text(idmef_classification_t *ptr, prelude_string_t *text);
205 int idmef_classification_new_text(idmef_classification_t *ptr, prelude_string_t **ret);
206 
207 idmef_reference_t *idmef_classification_get_next_reference(idmef_classification_t *classification, idmef_reference_t *reference_cur);
208 void idmef_classification_set_reference(idmef_classification_t *ptr, idmef_reference_t *object, int pos);
209 int idmef_classification_new_reference(idmef_classification_t *ptr, idmef_reference_t **ret, int pos);
210 
211 typedef enum {
212         IDMEF_USER_ID_TYPE_ORIGINAL_ERROR = -1,
213         IDMEF_USER_ID_TYPE_ORIGINAL_USER = 0,
214         IDMEF_USER_ID_TYPE_CURRENT_USER = 1,
215         IDMEF_USER_ID_TYPE_TARGET_USER = 2,
216         IDMEF_USER_ID_TYPE_USER_PRIVS = 3,
217         IDMEF_USER_ID_TYPE_CURRENT_GROUP = 4,
218         IDMEF_USER_ID_TYPE_GROUP_PRIVS = 5,
219         IDMEF_USER_ID_TYPE_OTHER_PRIVS = 6
220 } idmef_user_id_type_t;
221 
222 
223 idmef_user_id_type_t idmef_user_id_type_to_numeric(const char *name);
224 const char *idmef_user_id_type_to_string(idmef_user_id_type_t val);
225 
226 
dbrec2map(const struct db_record * rec,GROUP_MAP * map)227 
228 
229 /*
230  * struct {
231  *         IDMEF_LINKED_OBJECT;
232  *         REFCOUNT;
233  *         prelude_string_t *ident;
234  *         idmef_user_id_type_t type;
235  *         prelude_string_t *tty;
236  *         prelude_string_t *name;
237  *         OPTIONAL_INT(uint32_t, number);
238  * } TYPE_ID(idmef_user_id_t, 8);
239  */
240 
241 
242 typedef struct idmef_user_id idmef_user_id_t;
243 
244 int idmef_user_id_new(idmef_user_id_t **ret);
245 int idmef_user_id_copy(const idmef_user_id_t *src, idmef_user_id_t *dst);
246 int idmef_user_id_clone(idmef_user_id_t *src, idmef_user_id_t **dst);
247 int idmef_user_id_compare(const idmef_user_id_t *obj1, const idmef_user_id_t *obj2);
248 idmef_user_id_t *idmef_user_id_ref(idmef_user_id_t *user_id);
249 
250 #ifndef SWIG
251 int _idmef_user_id_get_child(void *p, idmef_class_child_id_t child, void **childptr);
252 int _idmef_user_id_new_child(void *p, idmef_class_child_id_t child, int n, void **ret);
253 int _idmef_user_id_destroy_child(void *p, idmef_class_child_id_t child, int n);
254 #endif
255 
256 void idmef_user_id_destroy(idmef_user_id_t *ptr);
257 prelude_string_t *idmef_user_id_get_ident(idmef_user_id_t *ptr);
258 void idmef_user_id_set_ident(idmef_user_id_t *ptr, prelude_string_t *ident);
259 int idmef_user_id_new_ident(idmef_user_id_t *ptr, prelude_string_t **ret);
260 
261 idmef_user_id_type_t idmef_user_id_get_type(idmef_user_id_t *ptr);
262 void idmef_user_id_set_type(idmef_user_id_t *ptr, idmef_user_id_type_t type);
263 int idmef_user_id_new_type(idmef_user_id_t *ptr, idmef_user_id_type_t **ret);
264 
265 prelude_string_t *idmef_user_id_get_tty(idmef_user_id_t *ptr);
266 void idmef_user_id_set_tty(idmef_user_id_t *ptr, prelude_string_t *tty);
267 int idmef_user_id_new_tty(idmef_user_id_t *ptr, prelude_string_t **ret);
268 
269 prelude_string_t *idmef_user_id_get_name(idmef_user_id_t *ptr);
270 void idmef_user_id_set_name(idmef_user_id_t *ptr, prelude_string_t *name);
271 int idmef_user_id_new_name(idmef_user_id_t *ptr, prelude_string_t **ret);
272 
273 void idmef_user_id_unset_number(idmef_user_id_t *ptr);
find_map(struct db_record * rec,void * private_data)274 uint32_t *idmef_user_id_get_number(idmef_user_id_t *ptr);
275 void idmef_user_id_set_number(idmef_user_id_t *ptr, uint32_t number);
276 int idmef_user_id_new_number(idmef_user_id_t *ptr, uint32_t **ret);
277 
278 typedef enum {
279         IDMEF_USER_CATEGORY_ERROR = -1,
280         IDMEF_USER_CATEGORY_UNKNOWN = 0,
281         IDMEF_USER_CATEGORY_APPLICATION = 1,
282         IDMEF_USER_CATEGORY_OS_DEVICE = 2
283 } idmef_user_category_t;
284 
285 
286 idmef_user_category_t idmef_user_category_to_numeric(const char *name);
287 const char *idmef_user_category_to_string(idmef_user_category_t val);
288 
289 
290 
291 
292 /*
293  * struct {
294  *         IDMEF_OBJECT;
295  *         REFCOUNT;
296  *         prelude_string_t *ident;
297  *         idmef_user_category_t category;
298  *         LISTED_OBJECT(user_id_list, idmef_user_id_t);
299  * } TYPE_ID(idmef_user_t, 10);
300  */
301 
302 
get_group_map_from_gid(gid_t gid,GROUP_MAP * map)303 typedef struct idmef_user idmef_user_t;
304 
305 int idmef_user_new(idmef_user_t **ret);
306 int idmef_user_copy(const idmef_user_t *src, idmef_user_t *dst);
307 int idmef_user_clone(idmef_user_t *src, idmef_user_t **dst);
308 int idmef_user_compare(const idmef_user_t *obj1, const idmef_user_t *obj2);
309 idmef_user_t *idmef_user_ref(idmef_user_t *user);
310 
311 #ifndef SWIG
312 int _idmef_user_get_child(void *p, idmef_class_child_id_t child, void **childptr);
313 int _idmef_user_new_child(void *p, idmef_class_child_id_t child, int n, void **ret);
314 int _idmef_user_destroy_child(void *p, idmef_class_child_id_t child, int n);
315 #endif
316 
317 void idmef_user_destroy(idmef_user_t *ptr);
318 prelude_string_t *idmef_user_get_ident(idmef_user_t *ptr);
319 void idmef_user_set_ident(idmef_user_t *ptr, prelude_string_t *ident);
320 int idmef_user_new_ident(idmef_user_t *ptr, prelude_string_t **ret);
get_group_map_from_ntname(const char * name,GROUP_MAP * map)321 
322 idmef_user_category_t idmef_user_get_category(idmef_user_t *ptr);
323 void idmef_user_set_category(idmef_user_t *ptr, idmef_user_category_t category);
324 int idmef_user_new_category(idmef_user_t *ptr, idmef_user_category_t **ret);
325 
326 idmef_user_id_t *idmef_user_get_next_user_id(idmef_user_t *user, idmef_user_id_t *user_id_cur);
327 void idmef_user_set_user_id(idmef_user_t *ptr, idmef_user_id_t *object, int pos);
328 int idmef_user_new_user_id(idmef_user_t *ptr, idmef_user_id_t **ret, int pos);
329 
330 typedef enum {
331         IDMEF_ADDRESS_CATEGORY_ERROR = -1,
332         IDMEF_ADDRESS_CATEGORY_UNKNOWN = 0,
333         IDMEF_ADDRESS_CATEGORY_ATM = 1,
334         IDMEF_ADDRESS_CATEGORY_E_MAIL = 2,
335         IDMEF_ADDRESS_CATEGORY_LOTUS_NOTES = 3,
336         IDMEF_ADDRESS_CATEGORY_MAC = 4,
337         IDMEF_ADDRESS_CATEGORY_SNA = 5,
group_map_remove(const struct dom_sid * sid)338         IDMEF_ADDRESS_CATEGORY_VM = 6,
339         IDMEF_ADDRESS_CATEGORY_IPV4_ADDR = 7,
340         IDMEF_ADDRESS_CATEGORY_IPV4_ADDR_HEX = 8,
341         IDMEF_ADDRESS_CATEGORY_IPV4_NET = 9,
342         IDMEF_ADDRESS_CATEGORY_IPV4_NET_MASK = 10,
343         IDMEF_ADDRESS_CATEGORY_IPV6_ADDR = 11,
344         IDMEF_ADDRESS_CATEGORY_IPV6_ADDR_HEX = 12,
345         IDMEF_ADDRESS_CATEGORY_IPV6_NET = 13,
346         IDMEF_ADDRESS_CATEGORY_IPV6_NET_MASK = 14
347 } idmef_address_category_t;
348 
349 
350 idmef_address_category_t idmef_address_category_to_numeric(const char *name);
351 const char *idmef_address_category_to_string(idmef_address_category_t val);
352 
353 
354 
355 
356 /*
357  * struct {
358  *         IDMEF_LINKED_OBJECT;
359  *         REFCOUNT;
360  *         prelude_string_t *ident;
361  *         idmef_address_category_t category;
362  *         prelude_string_t *vlan_name;
363  *         OPTIONAL_INT(int32_t, vlan_num);
364  *         REQUIRED(prelude_string_t, *address);
365  *         prelude_string_t *netmask;
366  * } TYPE_ID(idmef_address_t, 12);
collect_map(struct db_record * rec,void * private_data)367  */
368 
369 
370 typedef struct idmef_address idmef_address_t;
371 
372 int idmef_address_new(idmef_address_t **ret);
373 int idmef_address_copy(const idmef_address_t *src, idmef_address_t *dst);
374 int idmef_address_clone(idmef_address_t *src, idmef_address_t **dst);
375 int idmef_address_compare(const idmef_address_t *obj1, const idmef_address_t *obj2);
376 idmef_address_t *idmef_address_ref(idmef_address_t *address);
377 
378 #ifndef SWIG
379 int _idmef_address_get_child(void *p, idmef_class_child_id_t child, void **childptr);
380 int _idmef_address_new_child(void *p, idmef_class_child_id_t child, int n, void **ret);
381 int _idmef_address_destroy_child(void *p, idmef_class_child_id_t child, int n);
382 #endif
383 
384 void idmef_address_destroy(idmef_address_t *ptr);
385 prelude_string_t *idmef_address_get_ident(idmef_address_t *ptr);
386 void idmef_address_set_ident(idmef_address_t *ptr, prelude_string_t *ident);
387 int idmef_address_new_ident(idmef_address_t *ptr, prelude_string_t **ret);
388 
389 idmef_address_category_t idmef_address_get_category(idmef_address_t *ptr);
390 void idmef_address_set_category(idmef_address_t *ptr, idmef_address_category_t category);
391 int idmef_address_new_category(idmef_address_t *ptr, idmef_address_category_t **ret);
392 
393 prelude_string_t *idmef_address_get_vlan_name(idmef_address_t *ptr);
394 void idmef_address_set_vlan_name(idmef_address_t *ptr, prelude_string_t *vlan_name);
395 int idmef_address_new_vlan_name(idmef_address_t *ptr, prelude_string_t **ret);
396 
397 void idmef_address_unset_vlan_num(idmef_address_t *ptr);
398 int32_t *idmef_address_get_vlan_num(idmef_address_t *ptr);
399 void idmef_address_set_vlan_num(idmef_address_t *ptr, int32_t vlan_num);
400 int idmef_address_new_vlan_num(idmef_address_t *ptr, int32_t **ret);
401 
402 prelude_string_t *idmef_address_get_address(idmef_address_t *ptr);
403 void idmef_address_set_address(idmef_address_t *ptr, prelude_string_t *address);
404 int idmef_address_new_address(idmef_address_t *ptr, prelude_string_t **ret);
405 
406 prelude_string_t *idmef_address_get_netmask(idmef_address_t *ptr);
407 void idmef_address_set_netmask(idmef_address_t *ptr, prelude_string_t *netmask);
408 int idmef_address_new_netmask(idmef_address_t *ptr, prelude_string_t **ret);
409 
410 
411 
412 /*
413  * struct {
414  *         IDMEF_OBJECT;
415  *         REFCOUNT;
416  *         prelude_string_t *ident;
417  *         REQUIRED(prelude_string_t, *name);
418  *         OPTIONAL_INT(uint32_t, pid);
419  *         prelude_string_t *path;
420  *
421  *         LISTED_OBJECT(arg_list, prelude_string_t);
422  *         LISTED_OBJECT(env_list, prelude_string_t);
enum_group_mapping(const struct dom_sid * domsid,enum lsa_SidType sid_name_use,GROUP_MAP *** pp_rmap,size_t * p_num_entries,bool unix_only)423  * } TYPE_ID(idmef_process_t, 13);
424  */
425 
426 
427 typedef struct idmef_process idmef_process_t;
428 
429 int idmef_process_new(idmef_process_t **ret);
430 int idmef_process_copy(const idmef_process_t *src, idmef_process_t *dst);
431 int idmef_process_clone(idmef_process_t *src, idmef_process_t **dst);
432 int idmef_process_compare(const idmef_process_t *obj1, const idmef_process_t *obj2);
433 idmef_process_t *idmef_process_ref(idmef_process_t *process);
434 
435 #ifndef SWIG
436 int _idmef_process_get_child(void *p, idmef_class_child_id_t child, void **childptr);
437 int _idmef_process_new_child(void *p, idmef_class_child_id_t child, int n, void **ret);
438 int _idmef_process_destroy_child(void *p, idmef_class_child_id_t child, int n);
439 #endif
440 
441 void idmef_process_destroy(idmef_process_t *ptr);
442 prelude_string_t *idmef_process_get_ident(idmef_process_t *ptr);
443 void idmef_process_set_ident(idmef_process_t *ptr, prelude_string_t *ident);
444 int idmef_process_new_ident(idmef_process_t *ptr, prelude_string_t **ret);
445 
446 prelude_string_t *idmef_process_get_name(idmef_process_t *ptr);
447 void idmef_process_set_name(idmef_process_t *ptr, prelude_string_t *name);
448 int idmef_process_new_name(idmef_process_t *ptr, prelude_string_t **ret);
449 
450 void idmef_process_unset_pid(idmef_process_t *ptr);
451 uint32_t *idmef_process_get_pid(idmef_process_t *ptr);
one_alias_membership(const struct dom_sid * member,struct dom_sid ** sids,size_t * num)452 void idmef_process_set_pid(idmef_process_t *ptr, uint32_t pid);
453 int idmef_process_new_pid(idmef_process_t *ptr, uint32_t **ret);
454 
455 prelude_string_t *idmef_process_get_path(idmef_process_t *ptr);
456 void idmef_process_set_path(idmef_process_t *ptr, prelude_string_t *path);
457 int idmef_process_new_path(idmef_process_t *ptr, prelude_string_t **ret);
458 
459 prelude_string_t *idmef_process_get_next_arg(idmef_process_t *process, prelude_string_t *prelude_string_cur);
460 void idmef_process_set_arg(idmef_process_t *ptr, prelude_string_t *object, int pos);
461 int idmef_process_new_arg(idmef_process_t *ptr, prelude_string_t **ret, int pos);
462 
463 prelude_string_t *idmef_process_get_next_env(idmef_process_t *process, prelude_string_t *prelude_string_cur);
464 void idmef_process_set_env(idmef_process_t *ptr, prelude_string_t *object, int pos);
465 int idmef_process_new_env(idmef_process_t *ptr, prelude_string_t **ret, int pos);
466 
467 
468 
469 /*
470  * struct {
471  *         IDMEF_OBJECT;
472  *         REFCOUNT;
473  *         REQUIRED(prelude_string_t, *url);
474  *         prelude_string_t *cgi;
475  *         prelude_string_t *http_method;
476  *         LISTED_OBJECT(arg_list, prelude_string_t);
477  * } TYPE_ID(idmef_web_service_t, 14);
478  */
479 
480 
481 typedef struct idmef_web_service idmef_web_service_t;
482 
483 int idmef_web_service_new(idmef_web_service_t **ret);
484 int idmef_web_service_copy(const idmef_web_service_t *src, idmef_web_service_t *dst);
485 int idmef_web_service_clone(idmef_web_service_t *src, idmef_web_service_t **dst);
486 int idmef_web_service_compare(const idmef_web_service_t *obj1, const idmef_web_service_t *obj2);
487 idmef_web_service_t *idmef_web_service_ref(idmef_web_service_t *web_service);
488 
489 #ifndef SWIG
490 int _idmef_web_service_get_child(void *p, idmef_class_child_id_t child, void **childptr);
491 int _idmef_web_service_new_child(void *p, idmef_class_child_id_t child, int n, void **ret);
492 int _idmef_web_service_destroy_child(void *p, idmef_class_child_id_t child, int n);
493 #endif
alias_memberships(const struct dom_sid * members,size_t num_members,struct dom_sid ** sids,size_t * num)494 
495 void idmef_web_service_destroy(idmef_web_service_t *ptr);
496 prelude_string_t *idmef_web_service_get_url(idmef_web_service_t *ptr);
497 void idmef_web_service_set_url(idmef_web_service_t *ptr, prelude_string_t *url);
498 int idmef_web_service_new_url(idmef_web_service_t *ptr, prelude_string_t **ret);
499 
500 prelude_string_t *idmef_web_service_get_cgi(idmef_web_service_t *ptr);
501 void idmef_web_service_set_cgi(idmef_web_service_t *ptr, prelude_string_t *cgi);
502 int idmef_web_service_new_cgi(idmef_web_service_t *ptr, prelude_string_t **ret);
503 
504 prelude_string_t *idmef_web_service_get_http_method(idmef_web_service_t *ptr);
505 void idmef_web_service_set_http_method(idmef_web_service_t *ptr, prelude_string_t *http_method);
506 int idmef_web_service_new_http_method(idmef_web_service_t *ptr, prelude_string_t **ret);
507 
508 prelude_string_t *idmef_web_service_get_next_arg(idmef_web_service_t *web_service, prelude_string_t *prelude_string_cur);
509 void idmef_web_service_set_arg(idmef_web_service_t *ptr, prelude_string_t *object, int pos);
is_aliasmem(const struct dom_sid * alias,const struct dom_sid * member)510 int idmef_web_service_new_arg(idmef_web_service_t *ptr, prelude_string_t **ret, int pos);
511 
512 
513 
514 /*
515  * struct {
516  *         IDMEF_OBJECT;
517  *         REFCOUNT;
518  *         prelude_string_t *oid;
519  *         OPTIONAL_INT(uint32_t, message_processing_model);
520  *         OPTIONAL_INT(uint32_t, security_model);
521  *         prelude_string_t *security_name;
522  *         OPTIONAL_INT(uint32_t, security_level);
523  *         prelude_string_t *context_name;
524  *         prelude_string_t *context_engine_id;
525  *         prelude_string_t *command;
526  *
527  *
528  *
529  *
530  *         prelude_string_t *community;
531  * } TYPE_ID(idmef_snmp_service_t, 15);
add_aliasmem(const struct dom_sid * alias,const struct dom_sid * member)532  */
533 
534 
535 typedef struct idmef_snmp_service idmef_snmp_service_t;
536 
537 int idmef_snmp_service_new(idmef_snmp_service_t **ret);
538 int idmef_snmp_service_copy(const idmef_snmp_service_t *src, idmef_snmp_service_t *dst);
539 int idmef_snmp_service_clone(idmef_snmp_service_t *src, idmef_snmp_service_t **dst);
540 int idmef_snmp_service_compare(const idmef_snmp_service_t *obj1, const idmef_snmp_service_t *obj2);
541 idmef_snmp_service_t *idmef_snmp_service_ref(idmef_snmp_service_t *snmp_service);
542 
543 #ifndef SWIG
544 int _idmef_snmp_service_get_child(void *p, idmef_class_child_id_t child, void **childptr);
545 int _idmef_snmp_service_new_child(void *p, idmef_class_child_id_t child, int n, void **ret);
546 int _idmef_snmp_service_destroy_child(void *p, idmef_class_child_id_t child, int n);
547 #endif
548 
549 void idmef_snmp_service_destroy(idmef_snmp_service_t *ptr);
550 prelude_string_t *idmef_snmp_service_get_oid(idmef_snmp_service_t *ptr);
551 void idmef_snmp_service_set_oid(idmef_snmp_service_t *ptr, prelude_string_t *oid);
552 int idmef_snmp_service_new_oid(idmef_snmp_service_t *ptr, prelude_string_t **ret);
553 
554 void idmef_snmp_service_unset_message_processing_model(idmef_snmp_service_t *ptr);
555 uint32_t *idmef_snmp_service_get_message_processing_model(idmef_snmp_service_t *ptr);
556 void idmef_snmp_service_set_message_processing_model(idmef_snmp_service_t *ptr, uint32_t message_processing_model);
557 int idmef_snmp_service_new_message_processing_model(idmef_snmp_service_t *ptr, uint32_t **ret);
558 
559 void idmef_snmp_service_unset_security_model(idmef_snmp_service_t *ptr);
560 uint32_t *idmef_snmp_service_get_security_model(idmef_snmp_service_t *ptr);
561 void idmef_snmp_service_set_security_model(idmef_snmp_service_t *ptr, uint32_t security_model);
562 int idmef_snmp_service_new_security_model(idmef_snmp_service_t *ptr, uint32_t **ret);
563 
564 prelude_string_t *idmef_snmp_service_get_security_name(idmef_snmp_service_t *ptr);
565 void idmef_snmp_service_set_security_name(idmef_snmp_service_t *ptr, prelude_string_t *security_name);
566 int idmef_snmp_service_new_security_name(idmef_snmp_service_t *ptr, prelude_string_t **ret);
567 
568 void idmef_snmp_service_unset_security_level(idmef_snmp_service_t *ptr);
569 uint32_t *idmef_snmp_service_get_security_level(idmef_snmp_service_t *ptr);
570 void idmef_snmp_service_set_security_level(idmef_snmp_service_t *ptr, uint32_t security_level);
571 int idmef_snmp_service_new_security_level(idmef_snmp_service_t *ptr, uint32_t **ret);
572 
573 prelude_string_t *idmef_snmp_service_get_context_name(idmef_snmp_service_t *ptr);
574 void idmef_snmp_service_set_context_name(idmef_snmp_service_t *ptr, prelude_string_t *context_name);
575 int idmef_snmp_service_new_context_name(idmef_snmp_service_t *ptr, prelude_string_t **ret);
576 
577 prelude_string_t *idmef_snmp_service_get_context_engine_id(idmef_snmp_service_t *ptr);
578 void idmef_snmp_service_set_context_engine_id(idmef_snmp_service_t *ptr, prelude_string_t *context_engine_id);
579 int idmef_snmp_service_new_context_engine_id(idmef_snmp_service_t *ptr, prelude_string_t **ret);
580 
581 prelude_string_t *idmef_snmp_service_get_command(idmef_snmp_service_t *ptr);
582 void idmef_snmp_service_set_command(idmef_snmp_service_t *ptr, prelude_string_t *command);
583 int idmef_snmp_service_new_command(idmef_snmp_service_t *ptr, prelude_string_t **ret);
584 
585 prelude_string_t *idmef_snmp_service_get_community(idmef_snmp_service_t *ptr);
586 void idmef_snmp_service_set_community(idmef_snmp_service_t *ptr, prelude_string_t *community);
587 int idmef_snmp_service_new_community(idmef_snmp_service_t *ptr, prelude_string_t **ret);
588 
589 typedef enum {
590         IDMEF_SERVICE_TYPE_ERROR = -1,
591         IDMEF_SERVICE_TYPE_DEFAULT = 0,
592         IDMEF_SERVICE_TYPE_WEB = 1,
593         IDMEF_SERVICE_TYPE_SNMP = 2
594 } idmef_service_type_t;
595 
596 
597 idmef_service_type_t idmef_service_type_to_numeric(const char *name);
598 const char *idmef_service_type_to_string(idmef_service_type_t val);
599 
600 
601 
602 
603 /*
604  * struct {
605  *         IDMEF_OBJECT;
606  *         REFCOUNT;
607  *         prelude_string_t *ident;
608  *
609  *         OPTIONAL_INT(uint8_t, ip_version);
610  *         OPTIONAL_INT(uint8_t, iana_protocol_number);
611  *         prelude_string_t *iana_protocol_name;
612  *
613  *         prelude_string_t *name;
614  *         OPTIONAL_INT(uint16_t, port);
615  *         prelude_string_t *portlist;
616  *         prelude_string_t *protocol;
617  *
618  *         UNION(idmef_service_type_t, type) {
619  *                 UNION_MEMBER(IDMEF_SERVICE_TYPE_WEB, idmef_web_service_t, *web_service);
620  *                 UNION_MEMBER(IDMEF_SERVICE_TYPE_SNMP, idmef_snmp_service_t, *snmp_service);
621  *         } specific;
622  *
623  * } TYPE_ID(idmef_service_t, 17);
624  */
625 
626 
627 typedef struct idmef_service idmef_service_t;
628 
629 int idmef_service_new(idmef_service_t **ret);
630 int idmef_service_copy(const idmef_service_t *src, idmef_service_t *dst);
631 int idmef_service_clone(idmef_service_t *src, idmef_service_t **dst);
collect_aliasmem(struct db_record * rec,void * priv)632 int idmef_service_compare(const idmef_service_t *obj1, const idmef_service_t *obj2);
633 idmef_service_t *idmef_service_ref(idmef_service_t *service);
634 
635 #ifndef SWIG
636 int _idmef_service_get_child(void *p, idmef_class_child_id_t child, void **childptr);
637 int _idmef_service_new_child(void *p, idmef_class_child_id_t child, int n, void **ret);
638 int _idmef_service_destroy_child(void *p, idmef_class_child_id_t child, int n);
639 #endif
640 
641 void idmef_service_destroy(idmef_service_t *ptr);
642 prelude_string_t *idmef_service_get_ident(idmef_service_t *ptr);
643 void idmef_service_set_ident(idmef_service_t *ptr, prelude_string_t *ident);
644 int idmef_service_new_ident(idmef_service_t *ptr, prelude_string_t **ret);
645 
646 void idmef_service_unset_ip_version(idmef_service_t *ptr);
647 uint8_t *idmef_service_get_ip_version(idmef_service_t *ptr);
648 void idmef_service_set_ip_version(idmef_service_t *ptr, uint8_t ip_version);
649 int idmef_service_new_ip_version(idmef_service_t *ptr, uint8_t **ret);
650 
651 void idmef_service_unset_iana_protocol_number(idmef_service_t *ptr);
652 uint8_t *idmef_service_get_iana_protocol_number(idmef_service_t *ptr);
653 void idmef_service_set_iana_protocol_number(idmef_service_t *ptr, uint8_t iana_protocol_number);
654 int idmef_service_new_iana_protocol_number(idmef_service_t *ptr, uint8_t **ret);
655 
656 prelude_string_t *idmef_service_get_iana_protocol_name(idmef_service_t *ptr);
657 void idmef_service_set_iana_protocol_name(idmef_service_t *ptr, prelude_string_t *iana_protocol_name);
658 int idmef_service_new_iana_protocol_name(idmef_service_t *ptr, prelude_string_t **ret);
659 
660 prelude_string_t *idmef_service_get_name(idmef_service_t *ptr);
661 void idmef_service_set_name(idmef_service_t *ptr, prelude_string_t *name);
662 int idmef_service_new_name(idmef_service_t *ptr, prelude_string_t **ret);
663 
664 void idmef_service_unset_port(idmef_service_t *ptr);
665 uint16_t *idmef_service_get_port(idmef_service_t *ptr);
666 void idmef_service_set_port(idmef_service_t *ptr, uint16_t port);
667 int idmef_service_new_port(idmef_service_t *ptr, uint16_t **ret);
668 
669 prelude_string_t *idmef_service_get_portlist(idmef_service_t *ptr);
670 void idmef_service_set_portlist(idmef_service_t *ptr, prelude_string_t *portlist);
671 int idmef_service_new_portlist(idmef_service_t *ptr, prelude_string_t **ret);
672 
673 prelude_string_t *idmef_service_get_protocol(idmef_service_t *ptr);
674 void idmef_service_set_protocol(idmef_service_t *ptr, prelude_string_t *protocol);
675 int idmef_service_new_protocol(idmef_service_t *ptr, prelude_string_t **ret);
676 
677 idmef_service_type_t idmef_service_get_type(idmef_service_t *ptr);
678 idmef_web_service_t *idmef_service_get_web_service(idmef_service_t *ptr);
679 void idmef_service_set_web_service(idmef_service_t *ptr, idmef_web_service_t *web_service);
680 int idmef_service_new_web_service(idmef_service_t *ptr, idmef_web_service_t **ret);
681 
682 idmef_snmp_service_t *idmef_service_get_snmp_service(idmef_service_t *ptr);
683 void idmef_service_set_snmp_service(idmef_service_t *ptr, idmef_snmp_service_t *snmp_service);
684 int idmef_service_new_snmp_service(idmef_service_t *ptr, idmef_snmp_service_t **ret);
685 
686 typedef enum {
687         IDMEF_NODE_CATEGORY_ERROR = -1,
688         IDMEF_NODE_CATEGORY_UNKNOWN = 0,
689         IDMEF_NODE_CATEGORY_ADS = 1,
enum_aliasmem(const struct dom_sid * alias,TALLOC_CTX * mem_ctx,struct dom_sid ** sids,size_t * num)690         IDMEF_NODE_CATEGORY_AFS = 2,
691         IDMEF_NODE_CATEGORY_CODA = 3,
692         IDMEF_NODE_CATEGORY_DFS = 4,
693         IDMEF_NODE_CATEGORY_DNS = 5,
694         IDMEF_NODE_CATEGORY_HOSTS = 6,
695         IDMEF_NODE_CATEGORY_KERBEROS = 7,
696         IDMEF_NODE_CATEGORY_NDS = 8,
697         IDMEF_NODE_CATEGORY_NIS = 9,
698         IDMEF_NODE_CATEGORY_NISPLUS = 10,
699         IDMEF_NODE_CATEGORY_NT = 11,
700         IDMEF_NODE_CATEGORY_WFW = 12
701 } idmef_node_category_t;
702 
703 
704 idmef_node_category_t idmef_node_category_to_numeric(const char *name);
705 const char *idmef_node_category_to_string(idmef_node_category_t val);
706 
707 
708 
709 
710 /*
711  * struct {
712  *         IDMEF_OBJECT;
713  *         REFCOUNT;
714  *         prelude_string_t *ident;
715  *         idmef_node_category_t category;
716  *         prelude_string_t *location;
717  *         prelude_string_t *name;
718  *         LISTED_OBJECT(address_list, idmef_address_t);
719  * } TYPE_ID(idmef_node_t, 19);
720  */
721 
722 
723 typedef struct idmef_node idmef_node_t;
724 
725 int idmef_node_new(idmef_node_t **ret);
del_aliasmem(const struct dom_sid * alias,const struct dom_sid * member)726 int idmef_node_copy(const idmef_node_t *src, idmef_node_t *dst);
727 int idmef_node_clone(idmef_node_t *src, idmef_node_t **dst);
728 int idmef_node_compare(const idmef_node_t *obj1, const idmef_node_t *obj2);
729 idmef_node_t *idmef_node_ref(idmef_node_t *node);
730 
731 #ifndef SWIG
732 int _idmef_node_get_child(void *p, idmef_class_child_id_t child, void **childptr);
733 int _idmef_node_new_child(void *p, idmef_class_child_id_t child, int n, void **ret);
734 int _idmef_node_destroy_child(void *p, idmef_class_child_id_t child, int n);
735 #endif
736 
737 void idmef_node_destroy(idmef_node_t *ptr);
738 prelude_string_t *idmef_node_get_ident(idmef_node_t *ptr);
739 void idmef_node_set_ident(idmef_node_t *ptr, prelude_string_t *ident);
740 int idmef_node_new_ident(idmef_node_t *ptr, prelude_string_t **ret);
741 
742 idmef_node_category_t idmef_node_get_category(idmef_node_t *ptr);
743 void idmef_node_set_category(idmef_node_t *ptr, idmef_node_category_t category);
744 int idmef_node_new_category(idmef_node_t *ptr, idmef_node_category_t **ret);
745 
746 prelude_string_t *idmef_node_get_location(idmef_node_t *ptr);
747 void idmef_node_set_location(idmef_node_t *ptr, prelude_string_t *location);
748 int idmef_node_new_location(idmef_node_t *ptr, prelude_string_t **ret);
749 
750 prelude_string_t *idmef_node_get_name(idmef_node_t *ptr);
751 void idmef_node_set_name(idmef_node_t *ptr, prelude_string_t *name);
752 int idmef_node_new_name(idmef_node_t *ptr, prelude_string_t **ret);
753 
754 idmef_address_t *idmef_node_get_next_address(idmef_node_t *node, idmef_address_t *address_cur);
755 void idmef_node_set_address(idmef_node_t *ptr, idmef_address_t *object, int pos);
756 int idmef_node_new_address(idmef_node_t *ptr, idmef_address_t **ret, int pos);
757 
758 typedef enum {
759         IDMEF_SOURCE_SPOOFED_ERROR = -1,
760         IDMEF_SOURCE_SPOOFED_UNKNOWN = 0,
761         IDMEF_SOURCE_SPOOFED_YES = 1,
762         IDMEF_SOURCE_SPOOFED_NO = 2
763 } idmef_source_spoofed_t;
764 
765 
766 idmef_source_spoofed_t idmef_source_spoofed_to_numeric(const char *name);
767 const char *idmef_source_spoofed_to_string(idmef_source_spoofed_t val);
768 
769 
770 
771 
772 /*
773  * struct {
774  *         IDMEF_LINKED_OBJECT;
775  *         REFCOUNT;
776  *         prelude_string_t *ident;
777  *
778  *         idmef_source_spoofed_t spoofed;
779  *         prelude_string_t *interface;
780  *
781  *         idmef_node_t *node;
782  *         idmef_user_t *user;
783  *         idmef_process_t *process;
784  *         idmef_service_t *service;
785  *
786  * } TYPE_ID(idmef_source_t, 21);
787  */
788 
789 
790 typedef struct idmef_source idmef_source_t;
791 
792 int idmef_source_new(idmef_source_t **ret);
793 int idmef_source_copy(const idmef_source_t *src, idmef_source_t *dst);
794 int idmef_source_clone(idmef_source_t *src, idmef_source_t **dst);
795 int idmef_source_compare(const idmef_source_t *obj1, const idmef_source_t *obj2);
796 idmef_source_t *idmef_source_ref(idmef_source_t *source);
797 
798 #ifndef SWIG
799 int _idmef_source_get_child(void *p, idmef_class_child_id_t child, void **childptr);
800 int _idmef_source_new_child(void *p, idmef_class_child_id_t child, int n, void **ret);
801 int _idmef_source_destroy_child(void *p, idmef_class_child_id_t child, int n);
802 #endif
803 
804 void idmef_source_destroy(idmef_source_t *ptr);
805 prelude_string_t *idmef_source_get_ident(idmef_source_t *ptr);
806 void idmef_source_set_ident(idmef_source_t *ptr, prelude_string_t *ident);
807 int idmef_source_new_ident(idmef_source_t *ptr, prelude_string_t **ret);
808 
809 idmef_source_spoofed_t idmef_source_get_spoofed(idmef_source_t *ptr);
810 void idmef_source_set_spoofed(idmef_source_t *ptr, idmef_source_spoofed_t spoofed);
811 int idmef_source_new_spoofed(idmef_source_t *ptr, idmef_source_spoofed_t **ret);
812 
813 prelude_string_t *idmef_source_get_interface(idmef_source_t *ptr);
814 void idmef_source_set_interface(idmef_source_t *ptr, prelude_string_t *interface);
815 int idmef_source_new_interface(idmef_source_t *ptr, prelude_string_t **ret);
816 
817 idmef_node_t *idmef_source_get_node(idmef_source_t *ptr);
818 void idmef_source_set_node(idmef_source_t *ptr, idmef_node_t *node);
819 int idmef_source_new_node(idmef_source_t *ptr, idmef_node_t **ret);
820 
821 idmef_user_t *idmef_source_get_user(idmef_source_t *ptr);
822 void idmef_source_set_user(idmef_source_t *ptr, idmef_user_t *user);
823 int idmef_source_new_user(idmef_source_t *ptr, idmef_user_t **ret);
824 
825 idmef_process_t *idmef_source_get_process(idmef_source_t *ptr);
826 void idmef_source_set_process(idmef_source_t *ptr, idmef_process_t *process);
827 int idmef_source_new_process(idmef_source_t *ptr, idmef_process_t **ret);
828 
829 idmef_service_t *idmef_source_get_service(idmef_source_t *ptr);
830 void idmef_source_set_service(idmef_source_t *ptr, idmef_service_t *service);
831 int idmef_source_new_service(idmef_source_t *ptr, idmef_service_t **ret);
832 
833 
834 
835 /*
836  * struct {
837  *         IDMEF_LINKED_OBJECT;
pull_uint32(uint8_t * p,int ofs)838  *         REFCOUNT;
839  *
840  *         REQUIRED(idmef_user_id_t, *user_id);
841  *         LISTED_OBJECT(permission_list, prelude_string_t);
842  * } TYPE_ID(idmef_file_access_t, 22);
843  */
844 
845 
846 typedef struct idmef_file_access idmef_file_access_t;
convert_ldb_record(TDB_CONTEXT * ltdb,TDB_DATA key,TDB_DATA data,void * ptr)847 
848 int idmef_file_access_new(idmef_file_access_t **ret);
849 int idmef_file_access_copy(const idmef_file_access_t *src, idmef_file_access_t *dst);
850 int idmef_file_access_clone(idmef_file_access_t *src, idmef_file_access_t **dst);
851 int idmef_file_access_compare(const idmef_file_access_t *obj1, const idmef_file_access_t *obj2);
852 idmef_file_access_t *idmef_file_access_ref(idmef_file_access_t *file_access);
853 
854 #ifndef SWIG
855 int _idmef_file_access_get_child(void *p, idmef_class_child_id_t child, void **childptr);
856 int _idmef_file_access_new_child(void *p, idmef_class_child_id_t child, int n, void **ret);
857 int _idmef_file_access_destroy_child(void *p, idmef_class_child_id_t child, int n);
858 #endif
859 
860 void idmef_file_access_destroy(idmef_file_access_t *ptr);
861 idmef_user_id_t *idmef_file_access_get_user_id(idmef_file_access_t *ptr);
862 void idmef_file_access_set_user_id(idmef_file_access_t *ptr, idmef_user_id_t *user_id);
863 int idmef_file_access_new_user_id(idmef_file_access_t *ptr, idmef_user_id_t **ret);
864 
865 prelude_string_t *idmef_file_access_get_next_permission(idmef_file_access_t *file_access, prelude_string_t *prelude_string_cur);
866 void idmef_file_access_set_permission(idmef_file_access_t *ptr, prelude_string_t *object, int pos);
867 int idmef_file_access_new_permission(idmef_file_access_t *ptr, prelude_string_t **ret, int pos);
868 
869 
870 
871 /*
872  * struct {
873  *         IDMEF_OBJECT;
874  *         REFCOUNT;
875  *         idmef_time_t *change_time;
876  *         OPTIONAL_INT(uint32_t, number);
877  *         OPTIONAL_INT(uint32_t, major_device);
878  *         OPTIONAL_INT(uint32_t, minor_device);
879  *         OPTIONAL_INT(uint32_t, c_major_device);
880  *         OPTIONAL_INT(uint32_t, c_minor_device);
881  * } TYPE_ID(idmef_inode_t, 23);
882  */
883 
884 
885 typedef struct idmef_inode idmef_inode_t;
886 
887 int idmef_inode_new(idmef_inode_t **ret);
888 int idmef_inode_copy(const idmef_inode_t *src, idmef_inode_t *dst);
889 int idmef_inode_clone(idmef_inode_t *src, idmef_inode_t **dst);
890 int idmef_inode_compare(const idmef_inode_t *obj1, const idmef_inode_t *obj2);
891 idmef_inode_t *idmef_inode_ref(idmef_inode_t *inode);
892 
893 #ifndef SWIG
894 int _idmef_inode_get_child(void *p, idmef_class_child_id_t child, void **childptr);
895 int _idmef_inode_new_child(void *p, idmef_class_child_id_t child, int n, void **ret);
896 int _idmef_inode_destroy_child(void *p, idmef_class_child_id_t child, int n);
897 #endif
898 
899 void idmef_inode_destroy(idmef_inode_t *ptr);
900 idmef_time_t *idmef_inode_get_change_time(idmef_inode_t *ptr);
901 void idmef_inode_set_change_time(idmef_inode_t *ptr, idmef_time_t *change_time);
902 int idmef_inode_new_change_time(idmef_inode_t *ptr, idmef_time_t **ret);
903 
904 void idmef_inode_unset_number(idmef_inode_t *ptr);
905 uint32_t *idmef_inode_get_number(idmef_inode_t *ptr);
906 void idmef_inode_set_number(idmef_inode_t *ptr, uint32_t number);
907 int idmef_inode_new_number(idmef_inode_t *ptr, uint32_t **ret);
908 
909 void idmef_inode_unset_major_device(idmef_inode_t *ptr);
910 uint32_t *idmef_inode_get_major_device(idmef_inode_t *ptr);
911 void idmef_inode_set_major_device(idmef_inode_t *ptr, uint32_t major_device);
912 int idmef_inode_new_major_device(idmef_inode_t *ptr, uint32_t **ret);
913 
914 void idmef_inode_unset_minor_device(idmef_inode_t *ptr);
915 uint32_t *idmef_inode_get_minor_device(idmef_inode_t *ptr);
916 void idmef_inode_set_minor_device(idmef_inode_t *ptr, uint32_t minor_device);
917 int idmef_inode_new_minor_device(idmef_inode_t *ptr, uint32_t **ret);
918 
919 void idmef_inode_unset_c_major_device(idmef_inode_t *ptr);
920 uint32_t *idmef_inode_get_c_major_device(idmef_inode_t *ptr);
921 void idmef_inode_set_c_major_device(idmef_inode_t *ptr, uint32_t c_major_device);
922 int idmef_inode_new_c_major_device(idmef_inode_t *ptr, uint32_t **ret);
923 
924 void idmef_inode_unset_c_minor_device(idmef_inode_t *ptr);
925 uint32_t *idmef_inode_get_c_minor_device(idmef_inode_t *ptr);
926 void idmef_inode_set_c_minor_device(idmef_inode_t *ptr, uint32_t c_minor_device);
927 int idmef_inode_new_c_minor_device(idmef_inode_t *ptr, uint32_t **ret);
928 
929 
930 typedef struct idmef_linkage idmef_linkage_t;
931 
932 typedef enum {
933         IDMEF_CHECKSUM_ALGORITHM_ERROR = -1,
934         IDMEF_CHECKSUM_ALGORITHM_MD4 = 1,
935         IDMEF_CHECKSUM_ALGORITHM_MD5 = 2,
936         IDMEF_CHECKSUM_ALGORITHM_SHA1 = 3,
937         IDMEF_CHECKSUM_ALGORITHM_SHA2_256 = 4,
938         IDMEF_CHECKSUM_ALGORITHM_SHA2_384 = 5,
939         IDMEF_CHECKSUM_ALGORITHM_SHA2_512 = 6,
940         IDMEF_CHECKSUM_ALGORITHM_CRC_32 = 7,
941         IDMEF_CHECKSUM_ALGORITHM_HAVAL = 8,
942         IDMEF_CHECKSUM_ALGORITHM_TIGER = 9,
943         IDMEF_CHECKSUM_ALGORITHM_GOST = 10
944 } idmef_checksum_algorithm_t;
945 
946 
947 idmef_checksum_algorithm_t idmef_checksum_algorithm_to_numeric(const char *name);
948 const char *idmef_checksum_algorithm_to_string(idmef_checksum_algorithm_t val);
949 
950 
951 
952 
953 /*
954  * struct {
955  *         IDMEF_LINKED_OBJECT;
956  *         REFCOUNT;
957  *         REQUIRED(prelude_string_t, *value);
958  *         prelude_string_t *key;
959  *         idmef_checksum_algorithm_t algorithm;
960  * } TYPE_ID(idmef_checksum_t, 52);
961  */
962 
963 
964 typedef struct idmef_checksum idmef_checksum_t;
965 
966 int idmef_checksum_new(idmef_checksum_t **ret);
967 int idmef_checksum_copy(const idmef_checksum_t *src, idmef_checksum_t *dst);
968 int idmef_checksum_clone(idmef_checksum_t *src, idmef_checksum_t **dst);
969 int idmef_checksum_compare(const idmef_checksum_t *obj1, const idmef_checksum_t *obj2);
970 idmef_checksum_t *idmef_checksum_ref(idmef_checksum_t *checksum);
971 
972 #ifndef SWIG
973 int _idmef_checksum_get_child(void *p, idmef_class_child_id_t child, void **childptr);
974 int _idmef_checksum_new_child(void *p, idmef_class_child_id_t child, int n, void **ret);
975 int _idmef_checksum_destroy_child(void *p, idmef_class_child_id_t child, int n);
976 #endif
977 
978 void idmef_checksum_destroy(idmef_checksum_t *ptr);
979 prelude_string_t *idmef_checksum_get_value(idmef_checksum_t *ptr);
980 void idmef_checksum_set_value(idmef_checksum_t *ptr, prelude_string_t *value);
981 int idmef_checksum_new_value(idmef_checksum_t *ptr, prelude_string_t **ret);
982 
983 prelude_string_t *idmef_checksum_get_key(idmef_checksum_t *ptr);
984 void idmef_checksum_set_key(idmef_checksum_t *ptr, prelude_string_t *key);
985 int idmef_checksum_new_key(idmef_checksum_t *ptr, prelude_string_t **ret);
986 
987 idmef_checksum_algorithm_t idmef_checksum_get_algorithm(idmef_checksum_t *ptr);
988 void idmef_checksum_set_algorithm(idmef_checksum_t *ptr, idmef_checksum_algorithm_t algorithm);
989 int idmef_checksum_new_algorithm(idmef_checksum_t *ptr, idmef_checksum_algorithm_t **ret);
990 
991 typedef enum {
992         IDMEF_FILE_CATEGORY_ERROR = -1,
993         IDMEF_FILE_CATEGORY_CURRENT = 1,
994         IDMEF_FILE_CATEGORY_ORIGINAL = 2
995 } idmef_file_category_t;
996 
997 
998 idmef_file_category_t idmef_file_category_to_numeric(const char *name);
999 const char *idmef_file_category_to_string(idmef_file_category_t val);
1000 
1001 
1002 typedef enum {
1003         IDMEF_FILE_FSTYPE_ERROR = -1,
1004         IDMEF_FILE_FSTYPE_UFS = 1,
1005         IDMEF_FILE_FSTYPE_EFS = 2,
1006         IDMEF_FILE_FSTYPE_NFS = 3,
1007         IDMEF_FILE_FSTYPE_AFS = 4,
1008         IDMEF_FILE_FSTYPE_NTFS = 5,
1009         IDMEF_FILE_FSTYPE_FAT16 = 6,
1010         IDMEF_FILE_FSTYPE_FAT32 = 7,
1011         IDMEF_FILE_FSTYPE_PCFS = 8,
1012         IDMEF_FILE_FSTYPE_JOLIET = 9,
1013         IDMEF_FILE_FSTYPE_ISO9660 = 10
1014 } idmef_file_fstype_t;
1015 
1016 
1017 idmef_file_fstype_t idmef_file_fstype_to_numeric(const char *name);
1018 const char *idmef_file_fstype_to_string(idmef_file_fstype_t val);
1019 
1020 
1021 
1022 
1023 /*
1024  * struct {
1025  *         IDMEF_LINKED_OBJECT;
1026  *         REFCOUNT;
1027  *         prelude_string_t *ident;
1028  *
1029  *         REQUIRED(prelude_string_t, *name);
1030  *         REQUIRED(prelude_string_t, *path);
1031  *
1032  *         idmef_time_t *create_time;
1033  *         idmef_time_t *modify_time;
1034  *         idmef_time_t *access_time;
1035  *
1036  *
1037  *         OPTIONAL_INT(uint64_t, data_size);
1038  *         OPTIONAL_INT(uint64_t, disk_size);
1039  *
1040  *         LISTED_OBJECT(file_access_list, idmef_file_access_t);
1041  *         LISTED_OBJECT(linkage_list, idmef_linkage_t);
1042  *
1043  *         idmef_inode_t *inode;
1044  *         LISTED_OBJECT(checksum_list, idmef_checksum_t);
1045  *
1046  *         idmef_file_category_t category;
1047  *         OPTIONAL_INT(idmef_file_fstype_t, fstype);
1048  *         prelude_string_t *file_type;
1049  *
1050  * } TYPE_ID(idmef_file_t, 26);
1051  */
1052 
1053 
1054 typedef struct idmef_file idmef_file_t;
1055 
1056 int idmef_file_new(idmef_file_t **ret);
1057 int idmef_file_copy(const idmef_file_t *src, idmef_file_t *dst);
1058 int idmef_file_clone(idmef_file_t *src, idmef_file_t **dst);
1059 int idmef_file_compare(const idmef_file_t *obj1, const idmef_file_t *obj2);
1060 idmef_file_t *idmef_file_ref(idmef_file_t *file);
1061 
1062 #ifndef SWIG
1063 int _idmef_file_get_child(void *p, idmef_class_child_id_t child, void **childptr);
1064 int _idmef_file_new_child(void *p, idmef_class_child_id_t child, int n, void **ret);
1065 int _idmef_file_destroy_child(void *p, idmef_class_child_id_t child, int n);
1066 #endif
1067 
1068 void idmef_file_destroy(idmef_file_t *ptr);
mapping_switch(const char * ldb_path)1069 prelude_string_t *idmef_file_get_ident(idmef_file_t *ptr);
1070 void idmef_file_set_ident(idmef_file_t *ptr, prelude_string_t *ident);
1071 int idmef_file_new_ident(idmef_file_t *ptr, prelude_string_t **ret);
1072 
1073 prelude_string_t *idmef_file_get_name(idmef_file_t *ptr);
1074 void idmef_file_set_name(idmef_file_t *ptr, prelude_string_t *name);
1075 int idmef_file_new_name(idmef_file_t *ptr, prelude_string_t **ret);
1076 
1077 prelude_string_t *idmef_file_get_path(idmef_file_t *ptr);
1078 void idmef_file_set_path(idmef_file_t *ptr, prelude_string_t *path);
1079 int idmef_file_new_path(idmef_file_t *ptr, prelude_string_t **ret);
1080 
1081 idmef_time_t *idmef_file_get_create_time(idmef_file_t *ptr);
1082 void idmef_file_set_create_time(idmef_file_t *ptr, idmef_time_t *create_time);
1083 int idmef_file_new_create_time(idmef_file_t *ptr, idmef_time_t **ret);
1084 
1085 idmef_time_t *idmef_file_get_modify_time(idmef_file_t *ptr);
1086 void idmef_file_set_modify_time(idmef_file_t *ptr, idmef_time_t *modify_time);
1087 int idmef_file_new_modify_time(idmef_file_t *ptr, idmef_time_t **ret);
1088 
1089 idmef_time_t *idmef_file_get_access_time(idmef_file_t *ptr);
1090 void idmef_file_set_access_time(idmef_file_t *ptr, idmef_time_t *access_time);
1091 int idmef_file_new_access_time(idmef_file_t *ptr, idmef_time_t **ret);
1092 
1093 void idmef_file_unset_data_size(idmef_file_t *ptr);
1094 uint64_t *idmef_file_get_data_size(idmef_file_t *ptr);
1095 void idmef_file_set_data_size(idmef_file_t *ptr, uint64_t data_size);
1096 int idmef_file_new_data_size(idmef_file_t *ptr, uint64_t **ret);
1097 
1098 void idmef_file_unset_disk_size(idmef_file_t *ptr);
1099 uint64_t *idmef_file_get_disk_size(idmef_file_t *ptr);
1100 void idmef_file_set_disk_size(idmef_file_t *ptr, uint64_t disk_size);
1101 int idmef_file_new_disk_size(idmef_file_t *ptr, uint64_t **ret);
1102 
1103 idmef_file_access_t *idmef_file_get_next_file_access(idmef_file_t *file, idmef_file_access_t *file_access_cur);
1104 void idmef_file_set_file_access(idmef_file_t *ptr, idmef_file_access_t *object, int pos);
1105 int idmef_file_new_file_access(idmef_file_t *ptr, idmef_file_access_t **ret, int pos);
1106 
1107 idmef_linkage_t *idmef_file_get_next_linkage(idmef_file_t *file, idmef_linkage_t *linkage_cur);
1108 void idmef_file_set_linkage(idmef_file_t *ptr, idmef_linkage_t *object, int pos);
1109 int idmef_file_new_linkage(idmef_file_t *ptr, idmef_linkage_t **ret, int pos);
1110 
1111 idmef_inode_t *idmef_file_get_inode(idmef_file_t *ptr);
1112 void idmef_file_set_inode(idmef_file_t *ptr, idmef_inode_t *inode);
1113 int idmef_file_new_inode(idmef_file_t *ptr, idmef_inode_t **ret);
1114 
1115 idmef_checksum_t *idmef_file_get_next_checksum(idmef_file_t *file, idmef_checksum_t *checksum_cur);
1116 void idmef_file_set_checksum(idmef_file_t *ptr, idmef_checksum_t *object, int pos);
1117 int idmef_file_new_checksum(idmef_file_t *ptr, idmef_checksum_t **ret, int pos);
1118 
1119 idmef_file_category_t idmef_file_get_category(idmef_file_t *ptr);
1120 void idmef_file_set_category(idmef_file_t *ptr, idmef_file_category_t category);
1121 int idmef_file_new_category(idmef_file_t *ptr, idmef_file_category_t **ret);
1122 
1123 void idmef_file_unset_fstype(idmef_file_t *ptr);
1124 idmef_file_fstype_t *idmef_file_get_fstype(idmef_file_t *ptr);
1125 void idmef_file_set_fstype(idmef_file_t *ptr, idmef_file_fstype_t fstype);
groupdb_tdb_init(void)1126 int idmef_file_new_fstype(idmef_file_t *ptr, idmef_file_fstype_t **ret);
1127 
1128 prelude_string_t *idmef_file_get_file_type(idmef_file_t *ptr);
1129 void idmef_file_set_file_type(idmef_file_t *ptr, prelude_string_t *file_type);
1130 int idmef_file_new_file_type(idmef_file_t *ptr, prelude_string_t **ret);
1131 
1132 typedef enum {
1133         IDMEF_LINKAGE_CATEGORY_ERROR = -1,
1134         IDMEF_LINKAGE_CATEGORY_HARD_LINK = 1,
1135         IDMEF_LINKAGE_CATEGORY_MOUNT_POINT = 2,
1136         IDMEF_LINKAGE_CATEGORY_REPARSE_POINT = 3,
1137         IDMEF_LINKAGE_CATEGORY_SHORTCUT = 4,
1138         IDMEF_LINKAGE_CATEGORY_STREAM = 5,
1139         IDMEF_LINKAGE_CATEGORY_SYMBOLIC_LINK = 6
1140 } idmef_linkage_category_t;
1141 
1142 
1143 idmef_linkage_category_t idmef_linkage_category_to_numeric(const char *name);
1144 const char *idmef_linkage_category_to_string(idmef_linkage_category_t val);
1145 
1146 
1147 
1148 
1149 /*
1150  * struct {
1151  *         IDMEF_LINKED_OBJECT;
1152  *         REFCOUNT;
1153  *
1154  *         idmef_linkage_category_t category;
1155  *         REQUIRED(prelude_string_t, *name);
1156  *         REQUIRED(prelude_string_t, *path);
1157  *         REQUIRED(idmef_file_t, *file);
1158  * } TYPE_ID(idmef_linkage_t, 28);
1159  */
1160 
1161 int idmef_linkage_new(idmef_linkage_t **ret);
1162 int idmef_linkage_copy(const idmef_linkage_t *src, idmef_linkage_t *dst);
1163 int idmef_linkage_clone(idmef_linkage_t *src, idmef_linkage_t **dst);
1164 int idmef_linkage_compare(const idmef_linkage_t *obj1, const idmef_linkage_t *obj2);
1165 idmef_linkage_t *idmef_linkage_ref(idmef_linkage_t *linkage);
1166 
1167 #ifndef SWIG
1168 int _idmef_linkage_get_child(void *p, idmef_class_child_id_t child, void **childptr);
1169 int _idmef_linkage_new_child(void *p, idmef_class_child_id_t child, int n, void **ret);
1170 int _idmef_linkage_destroy_child(void *p, idmef_class_child_id_t child, int n);
1171 #endif
1172 
1173 void idmef_linkage_destroy(idmef_linkage_t *ptr);
1174 idmef_linkage_category_t idmef_linkage_get_category(idmef_linkage_t *ptr);
1175 void idmef_linkage_set_category(idmef_linkage_t *ptr, idmef_linkage_category_t category);
1176 int idmef_linkage_new_category(idmef_linkage_t *ptr, idmef_linkage_category_t **ret);
1177 
1178 prelude_string_t *idmef_linkage_get_name(idmef_linkage_t *ptr);
1179 void idmef_linkage_set_name(idmef_linkage_t *ptr, prelude_string_t *name);
1180 int idmef_linkage_new_name(idmef_linkage_t *ptr, prelude_string_t **ret);
1181 
1182 prelude_string_t *idmef_linkage_get_path(idmef_linkage_t *ptr);
1183 void idmef_linkage_set_path(idmef_linkage_t *ptr, prelude_string_t *path);
1184 int idmef_linkage_new_path(idmef_linkage_t *ptr, prelude_string_t **ret);
1185 
1186 idmef_file_t *idmef_linkage_get_file(idmef_linkage_t *ptr);
1187 void idmef_linkage_set_file(idmef_linkage_t *ptr, idmef_file_t *file);
1188 int idmef_linkage_new_file(idmef_linkage_t *ptr, idmef_file_t **ret);
1189 
1190 typedef enum {
1191         IDMEF_TARGET_DECOY_ERROR = -1,
1192         IDMEF_TARGET_DECOY_UNKNOWN = 0,
1193         IDMEF_TARGET_DECOY_YES = 1,
1194         IDMEF_TARGET_DECOY_NO = 2
1195 } idmef_target_decoy_t;
1196 
1197 
1198 idmef_target_decoy_t idmef_target_decoy_to_numeric(const char *name);
1199 const char *idmef_target_decoy_to_string(idmef_target_decoy_t val);
1200 
1201 
1202 
1203 
1204 /*
1205  * struct {
1206  *         IDMEF_LINKED_OBJECT;
1207  *         REFCOUNT;
1208  *         prelude_string_t *ident;
1209  *
1210  *         idmef_target_decoy_t decoy;
1211  *         prelude_string_t *interface;
1212  *
1213  *         idmef_node_t *node;
1214  *         idmef_user_t *user;
1215  *         idmef_process_t *process;
1216  *         idmef_service_t *service;
1217  *         LISTED_OBJECT(file_list, idmef_file_t);
1218  * } TYPE_ID(idmef_target_t, 30);
1219  */
1220 
1221 
1222 typedef struct idmef_target idmef_target_t;
1223 
1224 int idmef_target_new(idmef_target_t **ret);
1225 int idmef_target_copy(const idmef_target_t *src, idmef_target_t *dst);
1226 int idmef_target_clone(idmef_target_t *src, idmef_target_t **dst);
1227 int idmef_target_compare(const idmef_target_t *obj1, const idmef_target_t *obj2);
1228 idmef_target_t *idmef_target_ref(idmef_target_t *target);
1229 
1230 #ifndef SWIG
1231 int _idmef_target_get_child(void *p, idmef_class_child_id_t child, void **childptr);
1232 int _idmef_target_new_child(void *p, idmef_class_child_id_t child, int n, void **ret);
1233 int _idmef_target_destroy_child(void *p, idmef_class_child_id_t child, int n);
1234 #endif
1235 
1236 void idmef_target_destroy(idmef_target_t *ptr);
1237 prelude_string_t *idmef_target_get_ident(idmef_target_t *ptr);
1238 void idmef_target_set_ident(idmef_target_t *ptr, prelude_string_t *ident);
1239 int idmef_target_new_ident(idmef_target_t *ptr, prelude_string_t **ret);
1240 
1241 idmef_target_decoy_t idmef_target_get_decoy(idmef_target_t *ptr);
1242 void idmef_target_set_decoy(idmef_target_t *ptr, idmef_target_decoy_t decoy);
1243 int idmef_target_new_decoy(idmef_target_t *ptr, idmef_target_decoy_t **ret);
1244 
1245 prelude_string_t *idmef_target_get_interface(idmef_target_t *ptr);
1246 void idmef_target_set_interface(idmef_target_t *ptr, prelude_string_t *interface);
1247 int idmef_target_new_interface(idmef_target_t *ptr, prelude_string_t **ret);
1248 
1249 idmef_node_t *idmef_target_get_node(idmef_target_t *ptr);
1250 void idmef_target_set_node(idmef_target_t *ptr, idmef_node_t *node);
1251 int idmef_target_new_node(idmef_target_t *ptr, idmef_node_t **ret);
1252 
1253 idmef_user_t *idmef_target_get_user(idmef_target_t *ptr);
1254 void idmef_target_set_user(idmef_target_t *ptr, idmef_user_t *user);
1255 int idmef_target_new_user(idmef_target_t *ptr, idmef_user_t **ret);
1256 
1257 idmef_process_t *idmef_target_get_process(idmef_target_t *ptr);
1258 void idmef_target_set_process(idmef_target_t *ptr, idmef_process_t *process);
1259 int idmef_target_new_process(idmef_target_t *ptr, idmef_process_t **ret);
1260 
1261 idmef_service_t *idmef_target_get_service(idmef_target_t *ptr);
1262 void idmef_target_set_service(idmef_target_t *ptr, idmef_service_t *service);
1263 int idmef_target_new_service(idmef_target_t *ptr, idmef_service_t **ret);
1264 
1265 idmef_file_t *idmef_target_get_next_file(idmef_target_t *target, idmef_file_t *file_cur);
1266 void idmef_target_set_file(idmef_target_t *ptr, idmef_file_t *object, int pos);
1267 int idmef_target_new_file(idmef_target_t *ptr, idmef_file_t **ret, int pos);
1268 
1269 
1270 
1271 /*
1272  * struct {
1273  *         IDMEF_LINKED_OBJECT;
1274  *         REFCOUNT;
1275  *         prelude_string_t *analyzerid;
1276  *
1277  *         prelude_string_t *name;
1278  *         prelude_string_t *manufacturer;
1279  *         prelude_string_t *model;
1280  *         prelude_string_t *version;
1281  *         prelude_string_t *class;
1282  *         prelude_string_t *ostype;
1283  *         prelude_string_t *osversion;
1284  *
1285  *         idmef_node_t *node;
1286  *         idmef_process_t *process;
1287  *
1288  * } TYPE_ID(idmef_analyzer_t, 31);
1289  */
1290 
1291 
1292 typedef struct idmef_analyzer idmef_analyzer_t;
1293 
1294 int idmef_analyzer_new(idmef_analyzer_t **ret);
1295 int idmef_analyzer_copy(const idmef_analyzer_t *src, idmef_analyzer_t *dst);
1296 int idmef_analyzer_clone(idmef_analyzer_t *src, idmef_analyzer_t **dst);
1297 int idmef_analyzer_compare(const idmef_analyzer_t *obj1, const idmef_analyzer_t *obj2);
1298 idmef_analyzer_t *idmef_analyzer_ref(idmef_analyzer_t *analyzer);
1299 
1300 #ifndef SWIG
1301 int _idmef_analyzer_get_child(void *p, idmef_class_child_id_t child, void **childptr);
1302 int _idmef_analyzer_new_child(void *p, idmef_class_child_id_t child, int n, void **ret);
1303 int _idmef_analyzer_destroy_child(void *p, idmef_class_child_id_t child, int n);
1304 #endif
1305 
1306 void idmef_analyzer_destroy(idmef_analyzer_t *ptr);
1307 prelude_string_t *idmef_analyzer_get_analyzerid(idmef_analyzer_t *ptr);
1308 void idmef_analyzer_set_analyzerid(idmef_analyzer_t *ptr, prelude_string_t *analyzerid);
1309 int idmef_analyzer_new_analyzerid(idmef_analyzer_t *ptr, prelude_string_t **ret);
1310 
1311 prelude_string_t *idmef_analyzer_get_name(idmef_analyzer_t *ptr);
1312 void idmef_analyzer_set_name(idmef_analyzer_t *ptr, prelude_string_t *name);
1313 int idmef_analyzer_new_name(idmef_analyzer_t *ptr, prelude_string_t **ret);
1314 
1315 prelude_string_t *idmef_analyzer_get_manufacturer(idmef_analyzer_t *ptr);
1316 void idmef_analyzer_set_manufacturer(idmef_analyzer_t *ptr, prelude_string_t *manufacturer);
1317 int idmef_analyzer_new_manufacturer(idmef_analyzer_t *ptr, prelude_string_t **ret);
1318 
1319 prelude_string_t *idmef_analyzer_get_model(idmef_analyzer_t *ptr);
1320 void idmef_analyzer_set_model(idmef_analyzer_t *ptr, prelude_string_t *model);
1321 int idmef_analyzer_new_model(idmef_analyzer_t *ptr, prelude_string_t **ret);
1322 
1323 prelude_string_t *idmef_analyzer_get_version(idmef_analyzer_t *ptr);
1324 void idmef_analyzer_set_version(idmef_analyzer_t *ptr, prelude_string_t *version);
1325 int idmef_analyzer_new_version(idmef_analyzer_t *ptr, prelude_string_t **ret);
1326 
1327 prelude_string_t *idmef_analyzer_get_class(idmef_analyzer_t *ptr);
1328 void idmef_analyzer_set_class(idmef_analyzer_t *ptr, prelude_string_t *class_str);
1329 int idmef_analyzer_new_class(idmef_analyzer_t *ptr, prelude_string_t **ret);
1330 
1331 prelude_string_t *idmef_analyzer_get_ostype(idmef_analyzer_t *ptr);
1332 void idmef_analyzer_set_ostype(idmef_analyzer_t *ptr, prelude_string_t *ostype);
1333 int idmef_analyzer_new_ostype(idmef_analyzer_t *ptr, prelude_string_t **ret);
1334 
1335 prelude_string_t *idmef_analyzer_get_osversion(idmef_analyzer_t *ptr);
1336 void idmef_analyzer_set_osversion(idmef_analyzer_t *ptr, prelude_string_t *osversion);
1337 int idmef_analyzer_new_osversion(idmef_analyzer_t *ptr, prelude_string_t **ret);
1338 
1339 idmef_node_t *idmef_analyzer_get_node(idmef_analyzer_t *ptr);
1340 void idmef_analyzer_set_node(idmef_analyzer_t *ptr, idmef_node_t *node);
1341 int idmef_analyzer_new_node(idmef_analyzer_t *ptr, idmef_node_t **ret);
1342 
1343 idmef_process_t *idmef_analyzer_get_process(idmef_analyzer_t *ptr);
1344 void idmef_analyzer_set_process(idmef_analyzer_t *ptr, idmef_process_t *process);
1345 int idmef_analyzer_new_process(idmef_analyzer_t *ptr, idmef_process_t **ret);
1346 
1347 
1348 
1349 /*
1350  * struct {
1351  *         IDMEF_LINKED_OBJECT;
1352  *         REFCOUNT;
1353  *
1354  *         REQUIRED(prelude_string_t, *alertident);
1355  *         prelude_string_t *analyzerid;
1356  *
1357  * } TYPE_ID(idmef_alertident_t, 32);
1358  */
1359 
1360 
1361 typedef struct idmef_alertident idmef_alertident_t;
1362 
1363 int idmef_alertident_new(idmef_alertident_t **ret);
1364 int idmef_alertident_copy(const idmef_alertident_t *src, idmef_alertident_t *dst);
1365 int idmef_alertident_clone(idmef_alertident_t *src, idmef_alertident_t **dst);
1366 int idmef_alertident_compare(const idmef_alertident_t *obj1, const idmef_alertident_t *obj2);
1367 idmef_alertident_t *idmef_alertident_ref(idmef_alertident_t *alertident);
1368 
1369 #ifndef SWIG
1370 int _idmef_alertident_get_child(void *p, idmef_class_child_id_t child, void **childptr);
1371 int _idmef_alertident_new_child(void *p, idmef_class_child_id_t child, int n, void **ret);
1372 int _idmef_alertident_destroy_child(void *p, idmef_class_child_id_t child, int n);
1373 #endif
1374 
1375 void idmef_alertident_destroy(idmef_alertident_t *ptr);
1376 prelude_string_t *idmef_alertident_get_alertident(idmef_alertident_t *ptr);
1377 void idmef_alertident_set_alertident(idmef_alertident_t *ptr, prelude_string_t *alertident);
1378 int idmef_alertident_new_alertident(idmef_alertident_t *ptr, prelude_string_t **ret);
1379 
1380 prelude_string_t *idmef_alertident_get_analyzerid(idmef_alertident_t *ptr);
1381 void idmef_alertident_set_analyzerid(idmef_alertident_t *ptr, prelude_string_t *analyzerid);
1382 int idmef_alertident_new_analyzerid(idmef_alertident_t *ptr, prelude_string_t **ret);
1383 
1384 typedef enum {
1385         IDMEF_IMPACT_SEVERITY_ERROR = -1,
1386         IDMEF_IMPACT_SEVERITY_INFO = 1,
1387         IDMEF_IMPACT_SEVERITY_LOW = 2,
1388         IDMEF_IMPACT_SEVERITY_MEDIUM = 3,
1389         IDMEF_IMPACT_SEVERITY_HIGH = 4
1390 } idmef_impact_severity_t;
1391 
1392 
1393 idmef_impact_severity_t idmef_impact_severity_to_numeric(const char *name);
1394 const char *idmef_impact_severity_to_string(idmef_impact_severity_t val);
1395 
1396 
1397 typedef enum {
1398         IDMEF_IMPACT_COMPLETION_ERROR = -1,
1399         IDMEF_IMPACT_COMPLETION_FAILED = 1,
1400         IDMEF_IMPACT_COMPLETION_SUCCEEDED = 2
1401 } idmef_impact_completion_t;
1402 
1403 
1404 idmef_impact_completion_t idmef_impact_completion_to_numeric(const char *name);
1405 const char *idmef_impact_completion_to_string(idmef_impact_completion_t val);
1406 
1407 
1408 typedef enum {
1409         IDMEF_IMPACT_TYPE_ERROR = -1,
1410         IDMEF_IMPACT_TYPE_OTHER = 0,
1411         IDMEF_IMPACT_TYPE_ADMIN = 1,
1412         IDMEF_IMPACT_TYPE_DOS = 2,
1413         IDMEF_IMPACT_TYPE_FILE = 3,
1414         IDMEF_IMPACT_TYPE_RECON = 4,
1415         IDMEF_IMPACT_TYPE_USER = 5
1416 } idmef_impact_type_t;
1417 
1418 
1419 idmef_impact_type_t idmef_impact_type_to_numeric(const char *name);
1420 const char *idmef_impact_type_to_string(idmef_impact_type_t val);
1421 
1422 
1423 
1424 
1425 /*
1426  * struct {
1427  *         IDMEF_OBJECT;
1428  *         REFCOUNT;
1429  *
1430  *         OPTIONAL_INT(idmef_impact_severity_t, severity);
1431  *         OPTIONAL_INT(idmef_impact_completion_t, completion);
1432  *         idmef_impact_type_t type;
1433  *         prelude_string_t *description;
1434  * } TYPE_ID(idmef_impact_t, 36);
1435  */
1436 
1437 
1438 typedef struct idmef_impact idmef_impact_t;
1439 
1440 int idmef_impact_new(idmef_impact_t **ret);
1441 int idmef_impact_copy(const idmef_impact_t *src, idmef_impact_t *dst);
1442 int idmef_impact_clone(idmef_impact_t *src, idmef_impact_t **dst);
1443 int idmef_impact_compare(const idmef_impact_t *obj1, const idmef_impact_t *obj2);
1444 idmef_impact_t *idmef_impact_ref(idmef_impact_t *impact);
1445 
1446 #ifndef SWIG
1447 int _idmef_impact_get_child(void *p, idmef_class_child_id_t child, void **childptr);
1448 int _idmef_impact_new_child(void *p, idmef_class_child_id_t child, int n, void **ret);
1449 int _idmef_impact_destroy_child(void *p, idmef_class_child_id_t child, int n);
1450 #endif
1451 
1452 void idmef_impact_destroy(idmef_impact_t *ptr);
1453 void idmef_impact_unset_severity(idmef_impact_t *ptr);
1454 idmef_impact_severity_t *idmef_impact_get_severity(idmef_impact_t *ptr);
1455 void idmef_impact_set_severity(idmef_impact_t *ptr, idmef_impact_severity_t severity);
1456 int idmef_impact_new_severity(idmef_impact_t *ptr, idmef_impact_severity_t **ret);
1457 
1458 void idmef_impact_unset_completion(idmef_impact_t *ptr);
1459 idmef_impact_completion_t *idmef_impact_get_completion(idmef_impact_t *ptr);
1460 void idmef_impact_set_completion(idmef_impact_t *ptr, idmef_impact_completion_t completion);
1461 int idmef_impact_new_completion(idmef_impact_t *ptr, idmef_impact_completion_t **ret);
1462 
1463 idmef_impact_type_t idmef_impact_get_type(idmef_impact_t *ptr);
1464 void idmef_impact_set_type(idmef_impact_t *ptr, idmef_impact_type_t type);
1465 int idmef_impact_new_type(idmef_impact_t *ptr, idmef_impact_type_t **ret);
1466 
1467 prelude_string_t *idmef_impact_get_description(idmef_impact_t *ptr);
1468 void idmef_impact_set_description(idmef_impact_t *ptr, prelude_string_t *description);
1469 int idmef_impact_new_description(idmef_impact_t *ptr, prelude_string_t **ret);
1470 
1471 typedef enum {
1472         IDMEF_ACTION_CATEGORY_ERROR = -1,
1473         IDMEF_ACTION_CATEGORY_OTHER = 0,
1474         IDMEF_ACTION_CATEGORY_BLOCK_INSTALLED = 1,
1475         IDMEF_ACTION_CATEGORY_NOTIFICATION_SENT = 2,
1476         IDMEF_ACTION_CATEGORY_TAKEN_OFFLINE = 3
1477 } idmef_action_category_t;
1478 
1479 
1480 idmef_action_category_t idmef_action_category_to_numeric(const char *name);
1481 const char *idmef_action_category_to_string(idmef_action_category_t val);
1482 
1483 
1484 
1485 
1486 /*
1487  * struct {
1488  *         IDMEF_LINKED_OBJECT;
1489  *         REFCOUNT;
1490  *
1491  *         idmef_action_category_t category;
1492  *         prelude_string_t *description;
1493  * } TYPE_ID(idmef_action_t, 38);
1494  */
1495 
1496 
1497 typedef struct idmef_action idmef_action_t;
1498 
1499 int idmef_action_new(idmef_action_t **ret);
1500 int idmef_action_copy(const idmef_action_t *src, idmef_action_t *dst);
1501 int idmef_action_clone(idmef_action_t *src, idmef_action_t **dst);
1502 int idmef_action_compare(const idmef_action_t *obj1, const idmef_action_t *obj2);
1503 idmef_action_t *idmef_action_ref(idmef_action_t *action);
1504 
1505 #ifndef SWIG
1506 int _idmef_action_get_child(void *p, idmef_class_child_id_t child, void **childptr);
1507 int _idmef_action_new_child(void *p, idmef_class_child_id_t child, int n, void **ret);
1508 int _idmef_action_destroy_child(void *p, idmef_class_child_id_t child, int n);
1509 #endif
1510 
1511 void idmef_action_destroy(idmef_action_t *ptr);
1512 idmef_action_category_t idmef_action_get_category(idmef_action_t *ptr);
1513 void idmef_action_set_category(idmef_action_t *ptr, idmef_action_category_t category);
1514 int idmef_action_new_category(idmef_action_t *ptr, idmef_action_category_t **ret);
1515 
1516 prelude_string_t *idmef_action_get_description(idmef_action_t *ptr);
1517 void idmef_action_set_description(idmef_action_t *ptr, prelude_string_t *description);
1518 int idmef_action_new_description(idmef_action_t *ptr, prelude_string_t **ret);
1519 
1520 typedef enum {
1521         IDMEF_CONFIDENCE_RATING_ERROR = -1,
1522         IDMEF_CONFIDENCE_RATING_NUMERIC = 0,
1523         IDMEF_CONFIDENCE_RATING_LOW = 1,
1524         IDMEF_CONFIDENCE_RATING_MEDIUM = 2,
1525         IDMEF_CONFIDENCE_RATING_HIGH = 3
1526 } idmef_confidence_rating_t;
1527 
1528 
1529 idmef_confidence_rating_t idmef_confidence_rating_to_numeric(const char *name);
1530 const char *idmef_confidence_rating_to_string(idmef_confidence_rating_t val);
1531 
1532 
1533 
1534 
1535 /*
1536  * struct {
1537  *         IDMEF_OBJECT;
1538  *         REFCOUNT;
1539  *
1540  *         idmef_confidence_rating_t rating;
1541  *         float confidence;
1542  * } TYPE_ID(idmef_confidence_t, 40);
1543  */
1544 
1545 
1546 typedef struct idmef_confidence idmef_confidence_t;
1547 
1548 int idmef_confidence_new(idmef_confidence_t **ret);
1549 int idmef_confidence_copy(const idmef_confidence_t *src, idmef_confidence_t *dst);
1550 int idmef_confidence_clone(idmef_confidence_t *src, idmef_confidence_t **dst);
1551 int idmef_confidence_compare(const idmef_confidence_t *obj1, const idmef_confidence_t *obj2);
1552 idmef_confidence_t *idmef_confidence_ref(idmef_confidence_t *confidence);
1553 
1554 #ifndef SWIG
1555 int _idmef_confidence_get_child(void *p, idmef_class_child_id_t child, void **childptr);
1556 int _idmef_confidence_new_child(void *p, idmef_class_child_id_t child, int n, void **ret);
1557 int _idmef_confidence_destroy_child(void *p, idmef_class_child_id_t child, int n);
1558 #endif
1559 
1560 void idmef_confidence_destroy(idmef_confidence_t *ptr);
1561 idmef_confidence_rating_t idmef_confidence_get_rating(idmef_confidence_t *ptr);
1562 void idmef_confidence_set_rating(idmef_confidence_t *ptr, idmef_confidence_rating_t rating);
1563 int idmef_confidence_new_rating(idmef_confidence_t *ptr, idmef_confidence_rating_t **ret);
1564 
1565 float idmef_confidence_get_confidence(idmef_confidence_t *ptr);
1566 void idmef_confidence_set_confidence(idmef_confidence_t *ptr, float confidence);
1567 int idmef_confidence_new_confidence(idmef_confidence_t *ptr, float **ret);
1568 
1569 
1570 
1571 /*
1572  * struct {
1573  *         IDMEF_OBJECT;
1574  *         REFCOUNT;
1575  *
1576  *         idmef_impact_t *impact;
1577  *         LISTED_OBJECT(action_list, idmef_action_t);
1578  *         idmef_confidence_t *confidence;
1579  * } TYPE_ID(idmef_assessment_t, 41);
1580  */
1581 
1582 
1583 typedef struct idmef_assessment idmef_assessment_t;
1584 
1585 int idmef_assessment_new(idmef_assessment_t **ret);
1586 int idmef_assessment_copy(const idmef_assessment_t *src, idmef_assessment_t *dst);
1587 int idmef_assessment_clone(idmef_assessment_t *src, idmef_assessment_t **dst);
1588 int idmef_assessment_compare(const idmef_assessment_t *obj1, const idmef_assessment_t *obj2);
1589 idmef_assessment_t *idmef_assessment_ref(idmef_assessment_t *assessment);
1590 
1591 #ifndef SWIG
1592 int _idmef_assessment_get_child(void *p, idmef_class_child_id_t child, void **childptr);
1593 int _idmef_assessment_new_child(void *p, idmef_class_child_id_t child, int n, void **ret);
1594 int _idmef_assessment_destroy_child(void *p, idmef_class_child_id_t child, int n);
1595 #endif
1596 
1597 void idmef_assessment_destroy(idmef_assessment_t *ptr);
1598 idmef_impact_t *idmef_assessment_get_impact(idmef_assessment_t *ptr);
1599 void idmef_assessment_set_impact(idmef_assessment_t *ptr, idmef_impact_t *impact);
1600 int idmef_assessment_new_impact(idmef_assessment_t *ptr, idmef_impact_t **ret);
1601 
1602 idmef_action_t *idmef_assessment_get_next_action(idmef_assessment_t *assessment, idmef_action_t *action_cur);
1603 void idmef_assessment_set_action(idmef_assessment_t *ptr, idmef_action_t *object, int pos);
1604 int idmef_assessment_new_action(idmef_assessment_t *ptr, idmef_action_t **ret, int pos);
1605 
1606 idmef_confidence_t *idmef_assessment_get_confidence(idmef_assessment_t *ptr);
1607 void idmef_assessment_set_confidence(idmef_assessment_t *ptr, idmef_confidence_t *confidence);
1608 int idmef_assessment_new_confidence(idmef_assessment_t *ptr, idmef_confidence_t **ret);
1609 
1610 
1611 
1612 /*
1613  * struct {
1614  *         IDMEF_OBJECT;
1615  *         REFCOUNT;
1616  *
1617  *         REQUIRED(prelude_string_t, *name);
1618  *         prelude_string_t *command;
1619  *         LISTED_OBJECT(alertident_list, idmef_alertident_t);
1620  * } TYPE_ID(idmef_tool_alert_t, 42);
1621  */
1622 
1623 
1624 typedef struct idmef_tool_alert idmef_tool_alert_t;
1625 
1626 int idmef_tool_alert_new(idmef_tool_alert_t **ret);
1627 int idmef_tool_alert_copy(const idmef_tool_alert_t *src, idmef_tool_alert_t *dst);
1628 int idmef_tool_alert_clone(idmef_tool_alert_t *src, idmef_tool_alert_t **dst);
1629 int idmef_tool_alert_compare(const idmef_tool_alert_t *obj1, const idmef_tool_alert_t *obj2);
1630 idmef_tool_alert_t *idmef_tool_alert_ref(idmef_tool_alert_t *tool_alert);
1631 
1632 #ifndef SWIG
1633 int _idmef_tool_alert_get_child(void *p, idmef_class_child_id_t child, void **childptr);
1634 int _idmef_tool_alert_new_child(void *p, idmef_class_child_id_t child, int n, void **ret);
1635 int _idmef_tool_alert_destroy_child(void *p, idmef_class_child_id_t child, int n);
1636 #endif
1637 
1638 void idmef_tool_alert_destroy(idmef_tool_alert_t *ptr);
1639 prelude_string_t *idmef_tool_alert_get_name(idmef_tool_alert_t *ptr);
1640 void idmef_tool_alert_set_name(idmef_tool_alert_t *ptr, prelude_string_t *name);
1641 int idmef_tool_alert_new_name(idmef_tool_alert_t *ptr, prelude_string_t **ret);
1642 
1643 prelude_string_t *idmef_tool_alert_get_command(idmef_tool_alert_t *ptr);
1644 void idmef_tool_alert_set_command(idmef_tool_alert_t *ptr, prelude_string_t *command);
1645 int idmef_tool_alert_new_command(idmef_tool_alert_t *ptr, prelude_string_t **ret);
1646 
1647 idmef_alertident_t *idmef_tool_alert_get_next_alertident(idmef_tool_alert_t *tool_alert, idmef_alertident_t *alertident_cur);
1648 void idmef_tool_alert_set_alertident(idmef_tool_alert_t *ptr, idmef_alertident_t *object, int pos);
1649 int idmef_tool_alert_new_alertident(idmef_tool_alert_t *ptr, idmef_alertident_t **ret, int pos);
1650 
1651 
1652 
1653 /*
1654  * struct {
1655  *         IDMEF_OBJECT;
1656  *         REFCOUNT;
1657  *
1658  *         REQUIRED(prelude_string_t, *name);
1659  *         LISTED_OBJECT(alertident_list, idmef_alertident_t);
1660  * } TYPE_ID(idmef_correlation_alert_t, 43);
1661  */
1662 
1663 
1664 typedef struct idmef_correlation_alert idmef_correlation_alert_t;
1665 
1666 int idmef_correlation_alert_new(idmef_correlation_alert_t **ret);
1667 int idmef_correlation_alert_copy(const idmef_correlation_alert_t *src, idmef_correlation_alert_t *dst);
1668 int idmef_correlation_alert_clone(idmef_correlation_alert_t *src, idmef_correlation_alert_t **dst);
1669 int idmef_correlation_alert_compare(const idmef_correlation_alert_t *obj1, const idmef_correlation_alert_t *obj2);
1670 idmef_correlation_alert_t *idmef_correlation_alert_ref(idmef_correlation_alert_t *correlation_alert);
1671 
1672 #ifndef SWIG
1673 int _idmef_correlation_alert_get_child(void *p, idmef_class_child_id_t child, void **childptr);
1674 int _idmef_correlation_alert_new_child(void *p, idmef_class_child_id_t child, int n, void **ret);
1675 int _idmef_correlation_alert_destroy_child(void *p, idmef_class_child_id_t child, int n);
1676 #endif
1677 
1678 void idmef_correlation_alert_destroy(idmef_correlation_alert_t *ptr);
1679 prelude_string_t *idmef_correlation_alert_get_name(idmef_correlation_alert_t *ptr);
1680 void idmef_correlation_alert_set_name(idmef_correlation_alert_t *ptr, prelude_string_t *name);
1681 int idmef_correlation_alert_new_name(idmef_correlation_alert_t *ptr, prelude_string_t **ret);
1682 
1683 idmef_alertident_t *idmef_correlation_alert_get_next_alertident(idmef_correlation_alert_t *correlation_alert, idmef_alertident_t *alertident_cur);
1684 void idmef_correlation_alert_set_alertident(idmef_correlation_alert_t *ptr, idmef_alertident_t *object, int pos);
1685 int idmef_correlation_alert_new_alertident(idmef_correlation_alert_t *ptr, idmef_alertident_t **ret, int pos);
1686 
1687 
1688 
1689 /*
1690  * struct {
1691  *         IDMEF_OBJECT;
1692  *         REFCOUNT;
1693  *
1694  *         REQUIRED(prelude_string_t, *program);
1695  *         OPTIONAL_INT(uint32_t, size);
1696  *         idmef_data_t *buffer;
1697  * } TYPE_ID(idmef_overflow_alert_t, 44);
1698  */
1699 
1700 
1701 typedef struct idmef_overflow_alert idmef_overflow_alert_t;
1702 
1703 int idmef_overflow_alert_new(idmef_overflow_alert_t **ret);
1704 int idmef_overflow_alert_copy(const idmef_overflow_alert_t *src, idmef_overflow_alert_t *dst);
1705 int idmef_overflow_alert_clone(idmef_overflow_alert_t *src, idmef_overflow_alert_t **dst);
1706 int idmef_overflow_alert_compare(const idmef_overflow_alert_t *obj1, const idmef_overflow_alert_t *obj2);
1707 idmef_overflow_alert_t *idmef_overflow_alert_ref(idmef_overflow_alert_t *overflow_alert);
1708 
1709 #ifndef SWIG
1710 int _idmef_overflow_alert_get_child(void *p, idmef_class_child_id_t child, void **childptr);
1711 int _idmef_overflow_alert_new_child(void *p, idmef_class_child_id_t child, int n, void **ret);
1712 int _idmef_overflow_alert_destroy_child(void *p, idmef_class_child_id_t child, int n);
1713 #endif
1714 
1715 void idmef_overflow_alert_destroy(idmef_overflow_alert_t *ptr);
1716 prelude_string_t *idmef_overflow_alert_get_program(idmef_overflow_alert_t *ptr);
1717 void idmef_overflow_alert_set_program(idmef_overflow_alert_t *ptr, prelude_string_t *program);
1718 int idmef_overflow_alert_new_program(idmef_overflow_alert_t *ptr, prelude_string_t **ret);
1719 
1720 void idmef_overflow_alert_unset_size(idmef_overflow_alert_t *ptr);
1721 uint32_t *idmef_overflow_alert_get_size(idmef_overflow_alert_t *ptr);
1722 void idmef_overflow_alert_set_size(idmef_overflow_alert_t *ptr, uint32_t size);
1723 int idmef_overflow_alert_new_size(idmef_overflow_alert_t *ptr, uint32_t **ret);
1724 
1725 idmef_data_t *idmef_overflow_alert_get_buffer(idmef_overflow_alert_t *ptr);
1726 void idmef_overflow_alert_set_buffer(idmef_overflow_alert_t *ptr, idmef_data_t *buffer);
1727 int idmef_overflow_alert_new_buffer(idmef_overflow_alert_t *ptr, idmef_data_t **ret);
1728 
1729 typedef enum {
1730         IDMEF_ALERT_TYPE_ERROR = -1,
1731         IDMEF_ALERT_TYPE_DEFAULT = 0,
1732         IDMEF_ALERT_TYPE_TOOL = 1,
1733         IDMEF_ALERT_TYPE_CORRELATION = 2,
1734         IDMEF_ALERT_TYPE_OVERFLOW = 3
1735 } idmef_alert_type_t;
1736 
1737 
1738 idmef_alert_type_t idmef_alert_type_to_numeric(const char *name);
1739 const char *idmef_alert_type_to_string(idmef_alert_type_t val);
1740 
1741 
1742 
1743 
1744 /*
1745  * struct {
1746  *         IDMEF_OBJECT;
1747  *         REFCOUNT;
1748  *         prelude_string_t *messageid;
1749  *
1750  *         LISTED_OBJECT(analyzer_list, idmef_analyzer_t);
1751  *
1752  *         REQUIRED(idmef_time_t, *create_time);
1753  *         REQUIRED(idmef_classification_t, *classification);
1754  *         idmef_time_t *detect_time;
1755  *         idmef_time_t *analyzer_time;
1756  *
1757  *         LISTED_OBJECT(source_list, idmef_source_t);
1758  *         LISTED_OBJECT(target_list, idmef_target_t);
1759  *
1760  *         idmef_assessment_t *assessment;
1761  *
1762  *         KEYLISTED_OBJECT(additional_data_list, idmef_additional_data_t);
1763  *
1764  *         UNION(idmef_alert_type_t, type) {
1765  *                 UNION_MEMBER(IDMEF_ALERT_TYPE_TOOL, idmef_tool_alert_t, *tool_alert);
1766  *                 UNION_MEMBER(IDMEF_ALERT_TYPE_CORRELATION, idmef_correlation_alert_t, *correlation_alert);
1767  *                 UNION_MEMBER(IDMEF_ALERT_TYPE_OVERFLOW, idmef_overflow_alert_t, *overflow_alert);
1768  *         } detail;
1769  *
1770  * } TYPE_ID(idmef_alert_t, 46);
1771  */
1772 
1773 
1774 typedef struct idmef_alert idmef_alert_t;
1775 
1776 int idmef_alert_new(idmef_alert_t **ret);
1777 int idmef_alert_copy(const idmef_alert_t *src, idmef_alert_t *dst);
1778 int idmef_alert_clone(idmef_alert_t *src, idmef_alert_t **dst);
1779 int idmef_alert_compare(const idmef_alert_t *obj1, const idmef_alert_t *obj2);
1780 idmef_alert_t *idmef_alert_ref(idmef_alert_t *alert);
1781 
1782 #ifndef SWIG
1783 int _idmef_alert_get_child(void *p, idmef_class_child_id_t child, void **childptr);
1784 int _idmef_alert_new_child(void *p, idmef_class_child_id_t child, int n, void **ret);
1785 int _idmef_alert_destroy_child(void *p, idmef_class_child_id_t child, int n);
1786 #endif
1787 
1788 void idmef_alert_destroy(idmef_alert_t *ptr);
1789 prelude_string_t *idmef_alert_get_messageid(idmef_alert_t *ptr);
1790 void idmef_alert_set_messageid(idmef_alert_t *ptr, prelude_string_t *messageid);
1791 int idmef_alert_new_messageid(idmef_alert_t *ptr, prelude_string_t **ret);
1792 
1793 idmef_analyzer_t *idmef_alert_get_next_analyzer(idmef_alert_t *alert, idmef_analyzer_t *analyzer_cur);
1794 void idmef_alert_set_analyzer(idmef_alert_t *ptr, idmef_analyzer_t *object, int pos);
1795 int idmef_alert_new_analyzer(idmef_alert_t *ptr, idmef_analyzer_t **ret, int pos);
1796 
1797 idmef_time_t *idmef_alert_get_create_time(idmef_alert_t *ptr);
1798 void idmef_alert_set_create_time(idmef_alert_t *ptr, idmef_time_t *create_time);
1799 int idmef_alert_new_create_time(idmef_alert_t *ptr, idmef_time_t **ret);
1800 
1801 idmef_classification_t *idmef_alert_get_classification(idmef_alert_t *ptr);
1802 void idmef_alert_set_classification(idmef_alert_t *ptr, idmef_classification_t *classification);
1803 int idmef_alert_new_classification(idmef_alert_t *ptr, idmef_classification_t **ret);
1804 
1805 idmef_time_t *idmef_alert_get_detect_time(idmef_alert_t *ptr);
1806 void idmef_alert_set_detect_time(idmef_alert_t *ptr, idmef_time_t *detect_time);
1807 int idmef_alert_new_detect_time(idmef_alert_t *ptr, idmef_time_t **ret);
1808 
1809 idmef_time_t *idmef_alert_get_analyzer_time(idmef_alert_t *ptr);
1810 void idmef_alert_set_analyzer_time(idmef_alert_t *ptr, idmef_time_t *analyzer_time);
1811 int idmef_alert_new_analyzer_time(idmef_alert_t *ptr, idmef_time_t **ret);
1812 
1813 idmef_source_t *idmef_alert_get_next_source(idmef_alert_t *alert, idmef_source_t *source_cur);
1814 void idmef_alert_set_source(idmef_alert_t *ptr, idmef_source_t *object, int pos);
1815 int idmef_alert_new_source(idmef_alert_t *ptr, idmef_source_t **ret, int pos);
1816 
1817 idmef_target_t *idmef_alert_get_next_target(idmef_alert_t *alert, idmef_target_t *target_cur);
1818 void idmef_alert_set_target(idmef_alert_t *ptr, idmef_target_t *object, int pos);
1819 int idmef_alert_new_target(idmef_alert_t *ptr, idmef_target_t **ret, int pos);
1820 
1821 idmef_assessment_t *idmef_alert_get_assessment(idmef_alert_t *ptr);
1822 void idmef_alert_set_assessment(idmef_alert_t *ptr, idmef_assessment_t *assessment);
1823 int idmef_alert_new_assessment(idmef_alert_t *ptr, idmef_assessment_t **ret);
1824 
1825 idmef_additional_data_t *idmef_alert_get_next_additional_data(idmef_alert_t *alert, idmef_additional_data_t *additional_data_cur);
1826 void idmef_alert_set_additional_data(idmef_alert_t *ptr, idmef_additional_data_t *object, int pos);
1827 int idmef_alert_new_additional_data(idmef_alert_t *ptr, idmef_additional_data_t **ret, int pos);
1828 
1829 idmef_alert_type_t idmef_alert_get_type(idmef_alert_t *ptr);
1830 idmef_tool_alert_t *idmef_alert_get_tool_alert(idmef_alert_t *ptr);
1831 void idmef_alert_set_tool_alert(idmef_alert_t *ptr, idmef_tool_alert_t *tool_alert);
1832 int idmef_alert_new_tool_alert(idmef_alert_t *ptr, idmef_tool_alert_t **ret);
1833 
1834 idmef_correlation_alert_t *idmef_alert_get_correlation_alert(idmef_alert_t *ptr);
1835 void idmef_alert_set_correlation_alert(idmef_alert_t *ptr, idmef_correlation_alert_t *correlation_alert);
1836 int idmef_alert_new_correlation_alert(idmef_alert_t *ptr, idmef_correlation_alert_t **ret);
1837 
1838 idmef_overflow_alert_t *idmef_alert_get_overflow_alert(idmef_alert_t *ptr);
1839 void idmef_alert_set_overflow_alert(idmef_alert_t *ptr, idmef_overflow_alert_t *overflow_alert);
1840 int idmef_alert_new_overflow_alert(idmef_alert_t *ptr, idmef_overflow_alert_t **ret);
1841 
1842 
1843 
1844 /*
1845  * struct {
1846  *         IDMEF_OBJECT;
1847  *         REFCOUNT;
1848  *
1849  *         prelude_string_t *messageid;
1850  *         LISTED_OBJECT(analyzer_list, idmef_analyzer_t);
1851  *
1852  *         REQUIRED(idmef_time_t, *create_time);
1853  *         idmef_time_t *analyzer_time;
1854  *
1855  *         OPTIONAL_INT(uint32_t, heartbeat_interval);
1856  *         KEYLISTED_OBJECT(additional_data_list, idmef_additional_data_t);
1857  * } TYPE_ID(idmef_heartbeat_t, 47);
1858  */
1859 
1860 
1861 typedef struct idmef_heartbeat idmef_heartbeat_t;
1862 
1863 int idmef_heartbeat_new(idmef_heartbeat_t **ret);
1864 int idmef_heartbeat_copy(const idmef_heartbeat_t *src, idmef_heartbeat_t *dst);
1865 int idmef_heartbeat_clone(idmef_heartbeat_t *src, idmef_heartbeat_t **dst);
1866 int idmef_heartbeat_compare(const idmef_heartbeat_t *obj1, const idmef_heartbeat_t *obj2);
1867 idmef_heartbeat_t *idmef_heartbeat_ref(idmef_heartbeat_t *heartbeat);
1868 
1869 #ifndef SWIG
1870 int _idmef_heartbeat_get_child(void *p, idmef_class_child_id_t child, void **childptr);
1871 int _idmef_heartbeat_new_child(void *p, idmef_class_child_id_t child, int n, void **ret);
1872 int _idmef_heartbeat_destroy_child(void *p, idmef_class_child_id_t child, int n);
1873 #endif
1874 
1875 void idmef_heartbeat_destroy(idmef_heartbeat_t *ptr);
1876 prelude_string_t *idmef_heartbeat_get_messageid(idmef_heartbeat_t *ptr);
1877 void idmef_heartbeat_set_messageid(idmef_heartbeat_t *ptr, prelude_string_t *messageid);
1878 int idmef_heartbeat_new_messageid(idmef_heartbeat_t *ptr, prelude_string_t **ret);
1879 
1880 idmef_analyzer_t *idmef_heartbeat_get_next_analyzer(idmef_heartbeat_t *heartbeat, idmef_analyzer_t *analyzer_cur);
1881 void idmef_heartbeat_set_analyzer(idmef_heartbeat_t *ptr, idmef_analyzer_t *object, int pos);
1882 int idmef_heartbeat_new_analyzer(idmef_heartbeat_t *ptr, idmef_analyzer_t **ret, int pos);
1883 
1884 idmef_time_t *idmef_heartbeat_get_create_time(idmef_heartbeat_t *ptr);
1885 void idmef_heartbeat_set_create_time(idmef_heartbeat_t *ptr, idmef_time_t *create_time);
1886 int idmef_heartbeat_new_create_time(idmef_heartbeat_t *ptr, idmef_time_t **ret);
1887 
1888 idmef_time_t *idmef_heartbeat_get_analyzer_time(idmef_heartbeat_t *ptr);
1889 void idmef_heartbeat_set_analyzer_time(idmef_heartbeat_t *ptr, idmef_time_t *analyzer_time);
1890 int idmef_heartbeat_new_analyzer_time(idmef_heartbeat_t *ptr, idmef_time_t **ret);
1891 
1892 void idmef_heartbeat_unset_heartbeat_interval(idmef_heartbeat_t *ptr);
1893 uint32_t *idmef_heartbeat_get_heartbeat_interval(idmef_heartbeat_t *ptr);
1894 void idmef_heartbeat_set_heartbeat_interval(idmef_heartbeat_t *ptr, uint32_t heartbeat_interval);
1895 int idmef_heartbeat_new_heartbeat_interval(idmef_heartbeat_t *ptr, uint32_t **ret);
1896 
1897 idmef_additional_data_t *idmef_heartbeat_get_next_additional_data(idmef_heartbeat_t *heartbeat, idmef_additional_data_t *additional_data_cur);
1898 void idmef_heartbeat_set_additional_data(idmef_heartbeat_t *ptr, idmef_additional_data_t *object, int pos);
1899 int idmef_heartbeat_new_additional_data(idmef_heartbeat_t *ptr, idmef_additional_data_t **ret, int pos);
1900 
1901 typedef enum {
1902         IDMEF_MESSAGE_TYPE_ERROR = -1,
1903         IDMEF_MESSAGE_TYPE_ALERT = 1,
1904         IDMEF_MESSAGE_TYPE_HEARTBEAT = 2
1905 } idmef_message_type_t;
1906 
1907 
1908 idmef_message_type_t idmef_message_type_to_numeric(const char *name);
1909 const char *idmef_message_type_to_string(idmef_message_type_t val);
1910 
1911 
1912 
1913 
1914 /*
1915  * struct {
1916  *         IDMEF_OBJECT;
1917  *         REFCOUNT;
1918  *
1919  *         REQUIRED(prelude_string_t, *version);
1920  *
1921  *         UNION(idmef_message_type_t, type) {
1922  *                 UNION_MEMBER(IDMEF_MESSAGE_TYPE_ALERT, idmef_alert_t, *alert);
1923  *                 UNION_MEMBER(IDMEF_MESSAGE_TYPE_HEARTBEAT, idmef_heartbeat_t, *heartbeat);
1924  *         } message;
1925  *
1926  *         HIDE(prelude_msg_t *, pmsg);
1927  *
1928  * } TYPE_ID(idmef_message_t, 49);
1929  */
1930 
1931 
1932 typedef struct idmef_message idmef_message_t;
1933 
1934 int idmef_message_new(idmef_message_t **ret);
1935 int idmef_message_copy(const idmef_message_t *src, idmef_message_t *dst);
1936 int idmef_message_clone(idmef_message_t *src, idmef_message_t **dst);
1937 int idmef_message_compare(const idmef_message_t *obj1, const idmef_message_t *obj2);
1938 idmef_message_t *idmef_message_ref(idmef_message_t *message);
1939 
1940 #ifndef SWIG
1941 int _idmef_message_get_child(void *p, idmef_class_child_id_t child, void **childptr);
1942 int _idmef_message_new_child(void *p, idmef_class_child_id_t child, int n, void **ret);
1943 int _idmef_message_destroy_child(void *p, idmef_class_child_id_t child, int n);
1944 #endif
1945 
1946 void idmef_message_destroy(idmef_message_t *ptr);
1947 prelude_string_t *idmef_message_get_version(idmef_message_t *ptr);
1948 void idmef_message_set_version(idmef_message_t *ptr, prelude_string_t *version);
1949 int idmef_message_new_version(idmef_message_t *ptr, prelude_string_t **ret);
1950 
1951 idmef_message_type_t idmef_message_get_type(idmef_message_t *ptr);
1952 idmef_alert_t *idmef_message_get_alert(idmef_message_t *ptr);
1953 void idmef_message_set_alert(idmef_message_t *ptr, idmef_alert_t *alert);
1954 int idmef_message_new_alert(idmef_message_t *ptr, idmef_alert_t **ret);
1955 
1956 idmef_heartbeat_t *idmef_message_get_heartbeat(idmef_message_t *ptr);
1957 void idmef_message_set_heartbeat(idmef_message_t *ptr, idmef_heartbeat_t *heartbeat);
1958 int idmef_message_new_heartbeat(idmef_message_t *ptr, idmef_heartbeat_t **ret);
1959 
1960 
1961 void idmef_message_set_pmsg(idmef_message_t *message, prelude_msg_t *msg);
1962 
1963 prelude_msg_t *idmef_message_get_pmsg(idmef_message_t *message);
1964 
1965 int _idmef_additional_data_type_is_set(idmef_additional_data_t *ad);
1966 
1967 #ifdef __cplusplus
1968   }
1969 #endif
1970 #define IDMEF_CLASS_ID_ADDITIONAL_DATA_TYPE 3
1971 #define IDMEF_CLASS_ID_ADDITIONAL_DATA 4
1972 #define IDMEF_CLASS_ID_REFERENCE_ORIGIN 5
1973 #define IDMEF_CLASS_ID_REFERENCE 50
1974 #define IDMEF_CLASS_ID_CLASSIFICATION 6
1975 #define IDMEF_CLASS_ID_USER_ID_TYPE 7
1976 #define IDMEF_CLASS_ID_USER_ID 8
1977 #define IDMEF_CLASS_ID_USER_CATEGORY 9
1978 #define IDMEF_CLASS_ID_USER 10
1979 #define IDMEF_CLASS_ID_ADDRESS_CATEGORY 11
1980 #define IDMEF_CLASS_ID_ADDRESS 12
1981 #define IDMEF_CLASS_ID_PROCESS 13
1982 #define IDMEF_CLASS_ID_WEB_SERVICE 14
1983 #define IDMEF_CLASS_ID_SNMP_SERVICE 15
1984 #define IDMEF_CLASS_ID_SERVICE_TYPE 16
1985 #define IDMEF_CLASS_ID_SERVICE 17
1986 #define IDMEF_CLASS_ID_NODE_CATEGORY 18
1987 #define IDMEF_CLASS_ID_NODE 19
1988 #define IDMEF_CLASS_ID_SOURCE_SPOOFED 20
1989 #define IDMEF_CLASS_ID_SOURCE 21
1990 #define IDMEF_CLASS_ID_FILE_ACCESS 22
1991 #define IDMEF_CLASS_ID_INODE 23
1992 #define IDMEF_CLASS_ID_CHECKSUM_ALGORITHM 53
1993 #define IDMEF_CLASS_ID_CHECKSUM 52
1994 #define IDMEF_CLASS_ID_FILE_CATEGORY 24
1995 #define IDMEF_CLASS_ID_FILE_FSTYPE 25
1996 #define IDMEF_CLASS_ID_FILE 26
1997 #define IDMEF_CLASS_ID_LINKAGE_CATEGORY 27
1998 #define IDMEF_CLASS_ID_LINKAGE 28
1999 #define IDMEF_CLASS_ID_TARGET_DECOY 29
2000 #define IDMEF_CLASS_ID_TARGET 30
2001 #define IDMEF_CLASS_ID_ANALYZER 31
2002 #define IDMEF_CLASS_ID_ALERTIDENT 32
2003 #define IDMEF_CLASS_ID_IMPACT_SEVERITY 33
2004 #define IDMEF_CLASS_ID_IMPACT_COMPLETION 34
2005 #define IDMEF_CLASS_ID_IMPACT_TYPE 35
2006 #define IDMEF_CLASS_ID_IMPACT 36
2007 #define IDMEF_CLASS_ID_ACTION_CATEGORY 37
2008 #define IDMEF_CLASS_ID_ACTION 38
2009 #define IDMEF_CLASS_ID_CONFIDENCE_RATING 39
2010 #define IDMEF_CLASS_ID_CONFIDENCE 40
2011 #define IDMEF_CLASS_ID_ASSESSMENT 41
2012 #define IDMEF_CLASS_ID_TOOL_ALERT 42
2013 #define IDMEF_CLASS_ID_CORRELATION_ALERT 43
2014 #define IDMEF_CLASS_ID_OVERFLOW_ALERT 44
2015 #define IDMEF_CLASS_ID_ALERT_TYPE 45
2016 #define IDMEF_CLASS_ID_ALERT 46
2017 #define IDMEF_CLASS_ID_HEARTBEAT 47
2018 #define IDMEF_CLASS_ID_MESSAGE_TYPE 48
2019 #define IDMEF_CLASS_ID_MESSAGE 49
2020 
2021 #endif /* _LIBPRELUDE_IDMEF_TREE_WRAP */
2022