r11154 - libprelude/trunk/docs/api
[email protected] Mon, 20 Apr 2009 17:05:35 +0200 (CEST)
Newsgroups
gmane.comp.security.ids.prelude.cvs
Message-ID
<[email protected] >
Author: yoann
Date: 2009-04-20 17:05:34 +0200 (Mon, 20 Apr 2009)
New Revision: 11154
Modified:
libprelude/trunk/docs/api/libprelude-decl.txt
Log:
Update documentation.
Modified: libprelude/trunk/docs/api/libprelude-decl.txt
===================================================================
--- libprelude/trunk/docs/api/libprelude-decl.txt 2009-04-20 15:05:30 UTC (rev 11153)
+++ libprelude/trunk/docs/api/libprelude-decl.txt 2009-04-20 15:05:34 UTC (rev 11154)
@@ -1,327 +1,2554 @@
+<ENUM>
+<NAME>idmef_criterion_operator_t</NAME>
+typedef enum {
+ IDMEF_CRITERION_OPERATOR_NOT = 0x8000,
+ IDMEF_CRITERION_OPERATOR_NOCASE = 0x4000,
+
+ IDMEF_CRITERION_OPERATOR_EQUAL = 0x0001,
+ IDMEF_CRITERION_OPERATOR_EQUAL_NOCASE = IDMEF_CRITERION_OPERATOR_EQUAL|IDMEF_CRITERION_OPERATOR_NOCASE,
+ IDMEF_CRITERION_OPERATOR_NOT_EQUAL = IDMEF_CRITERION_OPERATOR_NOT|IDMEF_CRITERION_OPERATOR_EQUAL,
+ IDMEF_CRITERION_OPERATOR_NOT_EQUAL_NOCASE = IDMEF_CRITERION_OPERATOR_NOT_EQUAL|IDMEF_CRITERION_OPERATOR_EQUAL_NOCASE,
+
+ IDMEF_CRITERION_OPERATOR_LESSER = 0x0002,
+ IDMEF_CRITERION_OPERATOR_LESSER_OR_EQUAL = IDMEF_CRITERION_OPERATOR_LESSER|IDMEF_CRITERION_OPERATOR_EQUAL,
+
+ IDMEF_CRITERION_OPERATOR_GREATER = 0x0004,
+ IDMEF_CRITERION_OPERATOR_GREATER_OR_EQUAL = IDMEF_CRITERION_OPERATOR_GREATER|IDMEF_CRITERION_OPERATOR_EQUAL,
+
+ IDMEF_CRITERION_OPERATOR_SUBSTR = 0x0008,
+ IDMEF_CRITERION_OPERATOR_SUBSTR_NOCASE = IDMEF_CRITERION_OPERATOR_SUBSTR|IDMEF_CRITERION_OPERATOR_NOCASE,
+ IDMEF_CRITERION_OPERATOR_NOT_SUBSTR = IDMEF_CRITERION_OPERATOR_NOT|IDMEF_CRITERION_OPERATOR_SUBSTR,
+ IDMEF_CRITERION_OPERATOR_NOT_SUBSTR_NOCASE = IDMEF_CRITERION_OPERATOR_NOT|IDMEF_CRITERION_OPERATOR_SUBSTR_NOCASE,
+
+ IDMEF_CRITERION_OPERATOR_REGEX = 0x0010,
+ IDMEF_CRITERION_OPERATOR_REGEX_NOCASE = IDMEF_CRITERION_OPERATOR_REGEX|IDMEF_CRITERION_OPERATOR_NOCASE,
+ IDMEF_CRITERION_OPERATOR_NOT_REGEX = IDMEF_CRITERION_OPERATOR_NOT|IDMEF_CRITERION_OPERATOR_REGEX,
+ IDMEF_CRITERION_OPERATOR_NOT_REGEX_NOCASE = IDMEF_CRITERION_OPERATOR_NOT|IDMEF_CRITERION_OPERATOR_REGEX_NOCASE,
+
+ IDMEF_CRITERION_OPERATOR_NULL = 0x0020,
+ IDMEF_CRITERION_OPERATOR_NOT_NULL = IDMEF_CRITERION_OPERATOR_NULL|IDMEF_CRITERION_OPERATOR_NOT
+} idmef_criterion_operator_t;
+</ENUM>
+<TYPEDEF>
+<NAME>idmef_criteria_t</NAME>
+typedef struct idmef_criteria idmef_criteria_t;
+</TYPEDEF>
+<TYPEDEF>
+<NAME>idmef_criterion_t</NAME>
+typedef struct idmef_criterion idmef_criterion_t;
+</TYPEDEF>
+<FUNCTION>
+<NAME>idmef_criterion_operator_to_string</NAME>
+<RETURNS>const char *</RETURNS>
+idmef_criterion_operator_t op
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_criterion_new</NAME>
+<RETURNS>int </RETURNS>
+idmef_criterion_t **criterion, idmef_path_t *path,idmef_criterion_value_t *value, idmef_criterion_operator_t op
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_criterion_destroy</NAME>
+<RETURNS>void </RETURNS>
+idmef_criterion_t *criterion
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_criteria_ref</NAME>
+<RETURNS>idmef_criteria_t *</RETURNS>
+idmef_criteria_t *criteria
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_criterion_clone</NAME>
+<RETURNS>int </RETURNS>
+const idmef_criterion_t *criterion, idmef_criterion_t **dst
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_criterion_print</NAME>
+<RETURNS>int </RETURNS>
+const idmef_criterion_t *criterion, prelude_io_t *fd
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_criterion_to_string</NAME>
+<RETURNS>int </RETURNS>
+const idmef_criterion_t *criterion, prelude_string_t *out
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_criterion_get_path</NAME>
+<RETURNS>idmef_path_t *</RETURNS>
+const idmef_criterion_t *criterion
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_criterion_get_value</NAME>
+<RETURNS>idmef_criterion_value_t *</RETURNS>
+const idmef_criterion_t *criterion
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_criterion_get_operator</NAME>
+<RETURNS>idmef_criterion_operator_t </RETURNS>
+const idmef_criterion_t *criterion
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_criterion_match</NAME>
+<RETURNS>int </RETURNS>
+const idmef_criterion_t *criterion, idmef_message_t *message
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_criteria_new</NAME>
+<RETURNS>int </RETURNS>
+idmef_criteria_t **criteria
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_criteria_destroy</NAME>
+<RETURNS>void </RETURNS>
+idmef_criteria_t *criteria
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_criteria_clone</NAME>
+<RETURNS>int </RETURNS>
+idmef_criteria_t *src, idmef_criteria_t **dst
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_criteria_print</NAME>
+<RETURNS>int </RETURNS>
+const idmef_criteria_t *criteria, prelude_io_t *fd
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_criteria_to_string</NAME>
+<RETURNS>int </RETURNS>
+const idmef_criteria_t *criteria, prelude_string_t *out
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_criteria_is_criterion</NAME>
+<RETURNS>prelude_bool_t </RETURNS>
+const idmef_criteria_t *criteria
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_criteria_get_criterion</NAME>
+<RETURNS>idmef_criterion_t *</RETURNS>
+const idmef_criteria_t *criteria
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_criteria_set_criterion</NAME>
+<RETURNS>void </RETURNS>
+idmef_criteria_t *criteria, idmef_criterion_t *criterion
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_criteria_or_criteria</NAME>
+<RETURNS>void </RETURNS>
+idmef_criteria_t *criteria, idmef_criteria_t *criteria2
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_criteria_and_criteria</NAME>
+<RETURNS>int </RETURNS>
+idmef_criteria_t *criteria, idmef_criteria_t *criteria2
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_criteria_match</NAME>
+<RETURNS>int </RETURNS>
+const idmef_criteria_t *criteria, idmef_message_t *message
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_criteria_get_or</NAME>
+<RETURNS>idmef_criteria_t *</RETURNS>
+const idmef_criteria_t *criteria
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_criteria_get_and</NAME>
+<RETURNS>idmef_criteria_t *</RETURNS>
+const idmef_criteria_t *criteria
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_criteria_new_from_string</NAME>
+<RETURNS>int </RETURNS>
+idmef_criteria_t **criteria, const char *str
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_criteria_set_negation</NAME>
+<RETURNS>void </RETURNS>
+idmef_criteria_t *criteria, prelude_bool_t negate
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_criteria_get_negation</NAME>
+<RETURNS>prelude_bool_t </RETURNS>
+const idmef_criteria_t *criteria
+</FUNCTION>
+<TYPEDEF>
+<NAME>prelude_msg_t</NAME>
+typedef struct prelude_msg prelude_msg_t;
+</TYPEDEF>
+<ENUM>
+<NAME>prelude_msg_priority_t</NAME>
+typedef enum {
+ PRELUDE_MSG_PRIORITY_NONE = 0,
+ PRELUDE_MSG_PRIORITY_LOW = 1,
+ PRELUDE_MSG_PRIORITY_MID = 2,
+ PRELUDE_MSG_PRIORITY_HIGH = 3
+} prelude_msg_priority_t;
+</ENUM>
+<FUNCTION>
+<NAME>prelude_msg_read</NAME>
+<RETURNS>int </RETURNS>
+prelude_msg_t **msg, prelude_io_t *pio
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_msg_forward</NAME>
+<RETURNS>int </RETURNS>
+prelude_msg_t *msg, prelude_io_t *dst, prelude_io_t *src
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_msg_get</NAME>
+<RETURNS>int </RETURNS>
+prelude_msg_t *msg, uint8_t *tag, uint32_t *len, void **buf
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_msg_recycle</NAME>
+<RETURNS>void </RETURNS>
+prelude_msg_t *msg
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_msg_mark_end</NAME>
+<RETURNS>void </RETURNS>
+prelude_msg_t *msg
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_msg_dynamic_new</NAME>
+<RETURNS>int </RETURNS>
+prelude_msg_t **ret, int (*flush_msg_cb)(prelude_msg_t **msg, void *data), void *data
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_msg_new</NAME>
+<RETURNS>int </RETURNS>
+prelude_msg_t **ret, size_t msgcount, size_t msglen, uint8_t tag, prelude_msg_priority_t priority
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_msg_set</NAME>
+<RETURNS>int </RETURNS>
+prelude_msg_t *msg, uint8_t tag, uint32_t len, const void *data
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_msg_write</NAME>
+<RETURNS>int </RETURNS>
+prelude_msg_t *msg, prelude_io_t *dst
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_msg_set_tag</NAME>
+<RETURNS>void </RETURNS>
+prelude_msg_t *msg, uint8_t tag
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_msg_set_priority</NAME>
+<RETURNS>void </RETURNS>
+prelude_msg_t *msg, prelude_msg_priority_t priority
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_msg_get_tag</NAME>
+<RETURNS>uint8_t </RETURNS>
+prelude_msg_t *msg
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_msg_get_priority</NAME>
+<RETURNS>prelude_msg_priority_t </RETURNS>
+prelude_msg_t *msg
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_msg_get_len</NAME>
+<RETURNS>uint32_t </RETURNS>
+prelude_msg_t *msg
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_msg_get_datalen</NAME>
+<RETURNS>uint32_t </RETURNS>
+prelude_msg_t *msg
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_msg_get_message_data</NAME>
+<RETURNS>const unsigned char *</RETURNS>
+prelude_msg_t *msg
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_msg_get_time</NAME>
+<RETURNS>struct timeval *</RETURNS>
+prelude_msg_t *msg, struct timeval *tv
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_msg_is_empty</NAME>
+<RETURNS>int </RETURNS>
+prelude_msg_t *msg
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_msg_is_fragment</NAME>
+<RETURNS>int </RETURNS>
+prelude_msg_t *msg
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_msg_destroy</NAME>
+<RETURNS>void </RETURNS>
+prelude_msg_t *msg
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_msg_set_callback</NAME>
+<RETURNS>void </RETURNS>
+prelude_msg_t *msg, int (*flush_msg_cb)(prelude_msg_t **msg, void *data)
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_msg_set_data</NAME>
+<RETURNS>void </RETURNS>
+prelude_msg_t *msg, void *data
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_msg_ref</NAME>
+<RETURNS>prelude_msg_t *</RETURNS>
+prelude_msg_t *msg
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_thread_init</NAME>
+<RETURNS>int </RETURNS>
+void *nil
+</FUNCTION>
<MACRO>
-<NAME>PRELUDE_ERROR_SYSTEM_ERROR</NAME>
-#define PRELUDE_ERROR_SYSTEM_ERROR (1 << 15)
+<NAME>PRELUDE_OPTION_REPLY_TYPE_SET</NAME>
+#define PRELUDE_OPTION_REPLY_TYPE_SET 0x01
</MACRO>
+<MACRO>
+<NAME>PRELUDE_OPTION_REPLY_TYPE_GET</NAME>
+#define PRELUDE_OPTION_REPLY_TYPE_GET 0x02
+</MACRO>
+<MACRO>
+<NAME>PRELUDE_OPTION_REPLY_TYPE_LIST</NAME>
+#define PRELUDE_OPTION_REPLY_TYPE_LIST 0x04
+</MACRO>
+<MACRO>
+<NAME>PRELUDE_OPTION_REPLY_TYPE_ERROR</NAME>
+#define PRELUDE_OPTION_REPLY_TYPE_ERROR 0x08
+</MACRO>
+<FUNCTION>
+<NAME>prelude_option_push_request</NAME>
+<RETURNS>int </RETURNS>
+prelude_msgbuf_t *msg, int type, const char *request
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_option_new_request</NAME>
+<RETURNS>int </RETURNS>
+prelude_msgbuf_t *msgbuf,uint32_t request_id, uint64_t *target_id, size_t size
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_option_process_request</NAME>
+<RETURNS>int </RETURNS>
+prelude_client_t *client, prelude_msg_t *msg, prelude_msgbuf_t *reply
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_option_recv_reply</NAME>
+<RETURNS>int </RETURNS>
+prelude_msg_t *msg, uint64_t *source_id, uint32_t *request_id, void **value
+</FUNCTION>
+<STRUCT>
+<NAME>prelude_timer_t</NAME>
+typedef struct {
+ prelude_list_t list;
+
+ int expire;
+ time_t start_time;
+
+ void *data;
+ void (*function)(void *data);
+} prelude_timer_t;
+</STRUCT>
+<MACRO>
+<NAME>prelude_timer_get_expire</NAME>
+#define prelude_timer_get_expire(timer) (timer)->expire
+</MACRO>
+<MACRO>
+<NAME>prelude_timer_get_data</NAME>
+#define prelude_timer_get_data(timer) (timer)->data
+</MACRO>
+<MACRO>
+<NAME>prelude_timer_get_callback</NAME>
+#define prelude_timer_get_callback(timer) (timer)->function
+</MACRO>
+<MACRO>
+<NAME>prelude_timer_set_expire</NAME>
+#define prelude_timer_set_expire(timer, x) prelude_timer_get_expire((timer)) = (x)
+</MACRO>
+<MACRO>
+<NAME>prelude_timer_set_data</NAME>
+#define prelude_timer_set_data(timer, x) prelude_timer_get_data((timer)) = (x)
+</MACRO>
+<MACRO>
+<NAME>prelude_timer_set_callback</NAME>
+#define prelude_timer_set_callback(timer, x) prelude_timer_get_callback((timer)) = (x)
+</MACRO>
+<FUNCTION>
+<NAME>prelude_timer_init</NAME>
+<RETURNS>void </RETURNS>
+prelude_timer_t *timer
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_timer_init_list</NAME>
+<RETURNS>void </RETURNS>
+prelude_timer_t *timer
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_timer_reset</NAME>
+<RETURNS>void </RETURNS>
+prelude_timer_t *timer
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_timer_destroy</NAME>
+<RETURNS>void </RETURNS>
+prelude_timer_t *timer
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_timer_wake_up</NAME>
+<RETURNS>void </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_timer_flush</NAME>
+<RETURNS>void </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_timer_lock_critical_region</NAME>
+<RETURNS>void </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_timer_unlock_critical_region</NAME>
+<RETURNS>void </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_additional_data_write</NAME>
+<RETURNS>int </RETURNS>
+idmef_additional_data_t *additional_data, prelude_msgbuf_t *msg
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_reference_write</NAME>
+<RETURNS>int </RETURNS>
+idmef_reference_t *reference, prelude_msgbuf_t *msg
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_classification_write</NAME>
+<RETURNS>int </RETURNS>
+idmef_classification_t *classification, prelude_msgbuf_t *msg
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_user_id_write</NAME>
+<RETURNS>int </RETURNS>
+idmef_user_id_t *user_id, prelude_msgbuf_t *msg
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_user_write</NAME>
+<RETURNS>int </RETURNS>
+idmef_user_t *user, prelude_msgbuf_t *msg
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_address_write</NAME>
+<RETURNS>int </RETURNS>
+idmef_address_t *address, prelude_msgbuf_t *msg
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_process_write</NAME>
+<RETURNS>int </RETURNS>
+idmef_process_t *process, prelude_msgbuf_t *msg
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_web_service_write</NAME>
+<RETURNS>int </RETURNS>
+idmef_web_service_t *web_service, prelude_msgbuf_t *msg
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_snmp_service_write</NAME>
+<RETURNS>int </RETURNS>
+idmef_snmp_service_t *snmp_service, prelude_msgbuf_t *msg
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_service_write</NAME>
+<RETURNS>int </RETURNS>
+idmef_service_t *service, prelude_msgbuf_t *msg
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_node_write</NAME>
+<RETURNS>int </RETURNS>
+idmef_node_t *node, prelude_msgbuf_t *msg
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_source_write</NAME>
+<RETURNS>int </RETURNS>
+idmef_source_t *source, prelude_msgbuf_t *msg
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_file_access_write</NAME>
+<RETURNS>int </RETURNS>
+idmef_file_access_t *file_access, prelude_msgbuf_t *msg
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_inode_write</NAME>
+<RETURNS>int </RETURNS>
+idmef_inode_t *inode, prelude_msgbuf_t *msg
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_checksum_write</NAME>
+<RETURNS>int </RETURNS>
+idmef_checksum_t *checksum, prelude_msgbuf_t *msg
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_file_write</NAME>
+<RETURNS>int </RETURNS>
+idmef_file_t *file, prelude_msgbuf_t *msg
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_linkage_write</NAME>
+<RETURNS>int </RETURNS>
+idmef_linkage_t *linkage, prelude_msgbuf_t *msg
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_target_write</NAME>
+<RETURNS>int </RETURNS>
+idmef_target_t *target, prelude_msgbuf_t *msg
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_analyzer_write</NAME>
+<RETURNS>int </RETURNS>
+idmef_analyzer_t *analyzer, prelude_msgbuf_t *msg
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_alertident_write</NAME>
+<RETURNS>int </RETURNS>
+idmef_alertident_t *alertident, prelude_msgbuf_t *msg
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_impact_write</NAME>
+<RETURNS>int </RETURNS>
+idmef_impact_t *impact, prelude_msgbuf_t *msg
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_action_write</NAME>
+<RETURNS>int </RETURNS>
+idmef_action_t *action, prelude_msgbuf_t *msg
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_confidence_write</NAME>
+<RETURNS>int </RETURNS>
+idmef_confidence_t *confidence, prelude_msgbuf_t *msg
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_assessment_write</NAME>
+<RETURNS>int </RETURNS>
+idmef_assessment_t *assessment, prelude_msgbuf_t *msg
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_tool_alert_write</NAME>
+<RETURNS>int </RETURNS>
+idmef_tool_alert_t *tool_alert, prelude_msgbuf_t *msg
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_correlation_alert_write</NAME>
+<RETURNS>int </RETURNS>
+idmef_correlation_alert_t *correlation_alert, prelude_msgbuf_t *msg
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_overflow_alert_write</NAME>
+<RETURNS>int </RETURNS>
+idmef_overflow_alert_t *overflow_alert, prelude_msgbuf_t *msg
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_alert_write</NAME>
+<RETURNS>int </RETURNS>
+idmef_alert_t *alert, prelude_msgbuf_t *msg
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_heartbeat_write</NAME>
+<RETURNS>int </RETURNS>
+idmef_heartbeat_t *heartbeat, prelude_msgbuf_t *msg
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_message_write</NAME>
+<RETURNS>int </RETURNS>
+idmef_message_t *message, prelude_msgbuf_t *msg
+</FUNCTION>
+<TYPEDEF>
+<NAME>prelude_io_t</NAME>
+typedef struct prelude_io prelude_io_t;
+</TYPEDEF>
+<FUNCTION>
+<NAME>prelude_io_new</NAME>
+<RETURNS>int </RETURNS>
+prelude_io_t **ret
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_io_destroy</NAME>
+<RETURNS>void </RETURNS>
+prelude_io_t *pio
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_io_set_file_io</NAME>
+<RETURNS>void </RETURNS>
+prelude_io_t *pio, FILE *fd
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_io_set_tls_io</NAME>
+<RETURNS>void </RETURNS>
+prelude_io_t *pio, void *tls
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_io_set_sys_io</NAME>
+<RETURNS>void </RETURNS>
+prelude_io_t *pio, int fd
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_io_set_buffer_io</NAME>
+<RETURNS>int </RETURNS>
+prelude_io_t *pio
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_io_set_fdptr</NAME>
+<RETURNS>void </RETURNS>
+prelude_io_t *pio, void *ptr
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_io_set_write_callback</NAME>
+<RETURNS>void </RETURNS>
+prelude_io_t *pio, ssize_t (*write)(prelude_io_t *io, const void *buf, size_t count)
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_io_set_read_callback</NAME>
+<RETURNS>void </RETURNS>
+prelude_io_t *pio, ssize_t (*read)(prelude_io_t *io, void *buf, size_t count)
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_io_set_pending_callback</NAME>
+<RETURNS>void </RETURNS>
+prelude_io_t *pio, ssize_t (*pending)(prelude_io_t *io)
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_io_close</NAME>
+<RETURNS>int </RETURNS>
+prelude_io_t *pio
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_io_read</NAME>
+<RETURNS>ssize_t </RETURNS>
+prelude_io_t *pio, void *buf, size_t count
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_io_read_wait</NAME>
+<RETURNS>ssize_t </RETURNS>
+prelude_io_t *pio, void *buf, size_t count
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_io_read_delimited</NAME>
+<RETURNS>ssize_t </RETURNS>
+prelude_io_t *pio, unsigned char **buf
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_io_write</NAME>
+<RETURNS>ssize_t </RETURNS>
+prelude_io_t *pio, const void *buf, size_t count
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_io_write_delimited</NAME>
+<RETURNS>ssize_t </RETURNS>
+prelude_io_t *pio, const void *buf, uint16_t count
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_io_forward</NAME>
+<RETURNS>ssize_t </RETURNS>
+prelude_io_t *dst, prelude_io_t *src, size_t count
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_io_get_fd</NAME>
+<RETURNS>int </RETURNS>
+prelude_io_t *pio
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_io_get_fdptr</NAME>
+<RETURNS>void *</RETURNS>
+prelude_io_t *pio
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_io_pending</NAME>
+<RETURNS>ssize_t </RETURNS>
+prelude_io_t *pio
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_io_is_error_fatal</NAME>
+<RETURNS>prelude_bool_t </RETURNS>
+prelude_io_t *pio, int error
+</FUNCTION>
+<TYPEDEF>
+<NAME>prelude_failover_t</NAME>
+typedef struct prelude_failover prelude_failover_t;
+</TYPEDEF>
+<FUNCTION>
+<NAME>prelude_failover_destroy</NAME>
+<RETURNS>void </RETURNS>
+prelude_failover_t *failover
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_failover_new</NAME>
+<RETURNS>int </RETURNS>
+prelude_failover_t **ret, const char *dirname
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_failover_set_quota</NAME>
+<RETURNS>void </RETURNS>
+prelude_failover_t *failover, size_t limit
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_failover_save_msg</NAME>
+<RETURNS>int </RETURNS>
+prelude_failover_t *failover, prelude_msg_t *msg
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_failover_get_saved_msg</NAME>
+<RETURNS>ssize_t </RETURNS>
+prelude_failover_t *failover, prelude_msg_t **out
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_failover_get_deleted_msg_count</NAME>
+<RETURNS>unsigned long </RETURNS>
+prelude_failover_t *failover
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_failover_get_available_msg_count</NAME>
+<RETURNS>unsigned long </RETURNS>
+prelude_failover_t *failover
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_failover_enable_transaction</NAME>
+<RETURNS>void </RETURNS>
+prelude_failover_t *failover
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_failover_disable_transaction</NAME>
+<RETURNS>void </RETURNS>
+prelude_failover_t *failover
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_failover_commit</NAME>
+<RETURNS>int </RETURNS>
+prelude_failover_t *failover, prelude_msg_t *msg
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_failover_rollback</NAME>
+<RETURNS>int </RETURNS>
+prelude_failover_t *failover, prelude_msg_t *msg
+</FUNCTION>
<ENUM>
-<NAME>prelude_error_source_t</NAME>
+<NAME>prelude_option_type_t</NAME>
typedef enum {
- PRELUDE_ERROR_SOURCE_UNKNOWN = 0,
- PRELUDE_ERROR_SOURCE_IO = 1,
- PRELUDE_ERROR_SOURCE_MESSAGE = 2,
- PRELUDE_ERROR_SOURCE_FAILOVER = 3,
- PRELUDE_ERROR_SOURCE_CLIENT = 4,
- PRELUDE_ERROR_SOURCE_CLIENT_PROFILE = 5,
- PRELUDE_ERROR_SOURCE_EXTRACT = 6,
- PRELUDE_ERROR_SOURCE_CONNECTION = 7,
- PRELUDE_ERROR_SOURCE_CONNECTION_POOL = 8,
- PRELUDE_ERROR_SOURCE_CONFIG_ENGINE = 9,
- PRELUDE_ERROR_SOURCE_STRING = 10,
- PRELUDE_ERROR_SOURCE_IDMEF_TREE_WRAP = 11,
- PRELUDE_ERROR_SOURCE_IDMEF_PATH = 12,
- PRELUDE_ERROR_SOURCE_IDMEF_TYPE = 13,
- PRELUDE_ERROR_SOURCE_IDMEF_MESSAGE_READ = 14,
- PRELUDE_ERROR_SOURCE_IDMEF_CRITERIA = 15,
- PRELUDE_ERROR_SOURCE_IDMEF_VALUE_TYPE = 16,
- PRELUDE_ERROR_SOURCE_PRELUDEDB = 255,
-} prelude_error_source_t;
+ PRELUDE_OPTION_TYPE_CLI = 0x01,
+ PRELUDE_OPTION_TYPE_CFG = 0x02,
+ PRELUDE_OPTION_TYPE_WIDE = 0x04,
+ PRELUDE_OPTION_TYPE_CONTEXT = 0x08,
+ PRELUDE_OPTION_TYPE_ROOT = 0x10,
+ PRELUDE_OPTION_TYPE_DESTROY = 0x20
+} prelude_option_type_t;
</ENUM>
<ENUM>
-<NAME>prelude_error_code_t</NAME>
+<NAME>prelude_option_input_type_t</NAME>
typedef enum {
- PRELUDE_ERROR_NO_ERROR = 0,
- PRELUDE_ERROR_GENERIC = 1,
- PRELUDE_ERROR_TLS = 2,
- PRELUDE_ERROR_INVAL_LENGTH = 3,
- PRELUDE_ERROR_INVAL_MESSAGE = 4,
- PRELUDE_ERROR_PROTOCOL_VERSION = 5,
- PRELUDE_ERROR_EOF = 6,
- PRELUDE_ERROR_PROFILE = 8,
- PRELUDE_ERROR_TLS_AUTH_REJECTED = 16,
- PRELUDE_ERROR_INVAL_INT8 = 17,
- PRELUDE_ERROR_INVAL_INT16 = 18,
- PRELUDE_ERROR_INVAL_INT32 = 19,
- PRELUDE_ERROR_INVAL_INT64 = 20,
- PRELUDE_ERROR_INVAL_FLOAT = 21,
- PRELUDE_ERROR_INVAL_CHAR = 22,
- PRELUDE_ERROR_INVAL_IDMEF_TIME = 23,
- PRELUDE_ERROR_CONNECTION_STRING = 24,
- PRELUDE_ERROR_IDMEF_VALUE_TYPE_UNKNOWN = 25,
- PRELUDE_ERROR_IDMEF_VALUE_TYPE_COPY_UNAVAILABLE = 26,
- PRELUDE_ERROR_IDMEF_VALUE_TYPE_CLONE_UNAVAILABLE = 27,
- PRELUDE_ERROR_IDMEF_VALUE_TYPE_COMPARE_UNAVAILABLE = 28,
- PRELUDE_ERROR_IDMEF_VALUE_TYPE_READ_UNAVAILABLE = 29,
- PRELUDE_ERROR_IDMEF_VALUE_TYPE_WRITE_UNAVAILABLE = 30,
- PRELUDE_ERROR_IDMEF_VALUE_TYPE_COMPARE_MISMATCH = 31,
- PRELUDE_ERROR_IDMEF_VALUE_TYPE_PARSE = 32,
- PRELUDE_ERROR_IDMEF_CLASS_UNKNOWN = 33,
- PRELUDE_ERROR_IDMEF_CLASS_UNKNOWN_CHILD = 34,
- PRELUDE_ERROR_IDMEF_CLASS_UNKNOWN_NAME = 35,
- PRELUDE_ERROR_IDMEF_PATH_LENGTH = 36,
- PRELUDE_ERROR_IDMEF_PATH_DEPTH = 37,
- PRELUDE_ERROR_IDMEF_PATH_PARENT_ROOT = 38,
- PRELUDE_ERROR_IDMEF_PATH_NTH = 39,
- PRELUDE_ERROR_IDMEF_PATH_MISS_INDEX = 40,
- PRELUDE_ERROR_IDMEF_PATH_INTEGRITY = 41,
- PRELUDE_ERROR_IDMEF_PATH_INDEX_RESERVED = 42,
- PRELUDE_ERROR_IDMEF_PATH_INDEX_FORBIDDEN = 43,
- PRELUDE_ERROR_IDMEF_PATH_INDEX_UNDEFINED = 44,
- PRELUDE_ERROR_IDMEF_TREE_INDEX_UNDEFINED = 45,
- PRELUDE_ERROR_IDMEF_UNKNOWN_ENUM_STRING = 46,
- PRELUDE_ERROR_IDMEF_UNKNOWN_TAG = 47,
- PRELUDE_ERROR_DAEMONIZE_LOCK_HELD = 48,
- PRELUDE_ERROR_PLUGIN_LTDL_INIT = 49,
- PRELUDE_ERROR_STRING_NOT_NULL_TERMINATED = 50,
- PRELUDE_ERROR_CANT_RESOLVE = 51,
- PRELUDE_ERROR_UNKNOWN_PERMISSION_TYPE = 52,
- PRELUDE_ERROR_UNKNOWN_PERMISSION_BIT = 53,
- PRELUDE_ERROR_IDMEF_CRITERIA_PARSE = 55,
- PRELUDE_ERROR_IDMEF_CRITERION_UNSUPPORTED_OPERATOR = 56,
- PRELUDE_ERROR_IDMEF_CRITERION_INVALID_REGEX = 57,
- PRELUDE_ERROR_TLS_WARNING_ALERT = 58,
- PRELUDE_ERROR_TLS_FATAL_ALERT = 59,
- PRELUDE_ERROR_IDMEF_CLASS_CHILD_NOT_CLASS = 60,
- PRELUDE_ERROR_ASSERTION = 61,
- PRELUDE_ERROR_IDMEF_VALUE_TYPE_REF_UNAVAILABLE = 62,
- PRELUDE_ERROR_UNKNOWN_ERRNO = 16382,
- PRELUDE_ERROR_E2BIG = PRELUDE_ERROR_SYSTEM_ERROR | 0,
- PRELUDE_ERROR_EACCES = PRELUDE_ERROR_SYSTEM_ERROR | 1,
- PRELUDE_ERROR_EADDRINUSE = PRELUDE_ERROR_SYSTEM_ERROR | 2,
- PRELUDE_ERROR_EADDRNOTAVAIL = PRELUDE_ERROR_SYSTEM_ERROR | 3,
- PRELUDE_ERROR_EADV = PRELUDE_ERROR_SYSTEM_ERROR | 4,
- PRELUDE_ERROR_EAFNOSUPPORT = PRELUDE_ERROR_SYSTEM_ERROR | 5,
- PRELUDE_ERROR_EAGAIN = PRELUDE_ERROR_SYSTEM_ERROR | 6,
- PRELUDE_ERROR_EALREADY = PRELUDE_ERROR_SYSTEM_ERROR | 7,
- PRELUDE_ERROR_EAUTH = PRELUDE_ERROR_SYSTEM_ERROR | 8,
- PRELUDE_ERROR_EBACKGROUND = PRELUDE_ERROR_SYSTEM_ERROR | 9,
- PRELUDE_ERROR_EBADE = PRELUDE_ERROR_SYSTEM_ERROR | 10,
- PRELUDE_ERROR_EBADF = PRELUDE_ERROR_SYSTEM_ERROR | 11,
- PRELUDE_ERROR_EBADFD = PRELUDE_ERROR_SYSTEM_ERROR | 12,
- PRELUDE_ERROR_EBADMSG = PRELUDE_ERROR_SYSTEM_ERROR | 13,
- PRELUDE_ERROR_EBADR = PRELUDE_ERROR_SYSTEM_ERROR | 14,
- PRELUDE_ERROR_EBADRPC = PRELUDE_ERROR_SYSTEM_ERROR | 15,
- PRELUDE_ERROR_EBADRQC = PRELUDE_ERROR_SYSTEM_ERROR | 16,
- PRELUDE_ERROR_EBADSLT = PRELUDE_ERROR_SYSTEM_ERROR | 17,
- PRELUDE_ERROR_EBFONT = PRELUDE_ERROR_SYSTEM_ERROR | 18,
- PRELUDE_ERROR_EBUSY = PRELUDE_ERROR_SYSTEM_ERROR | 19,
- PRELUDE_ERROR_ECANCELED = PRELUDE_ERROR_SYSTEM_ERROR | 20,
- PRELUDE_ERROR_ECHILD = PRELUDE_ERROR_SYSTEM_ERROR | 21,
- PRELUDE_ERROR_ECHRNG = PRELUDE_ERROR_SYSTEM_ERROR | 22,
- PRELUDE_ERROR_ECOMM = PRELUDE_ERROR_SYSTEM_ERROR | 23,
- PRELUDE_ERROR_ECONNABORTED = PRELUDE_ERROR_SYSTEM_ERROR | 24,
- PRELUDE_ERROR_ECONNREFUSED = PRELUDE_ERROR_SYSTEM_ERROR | 25,
- PRELUDE_ERROR_ECONNRESET = PRELUDE_ERROR_SYSTEM_ERROR | 26,
- PRELUDE_ERROR_ED = PRELUDE_ERROR_SYSTEM_ERROR | 27,
- PRELUDE_ERROR_EDEADLK = PRELUDE_ERROR_SYSTEM_ERROR | 28,
- PRELUDE_ERROR_EDEADLOCK = PRELUDE_ERROR_SYSTEM_ERROR | 29,
- PRELUDE_ERROR_EDESTADDRREQ = PRELUDE_ERROR_SYSTEM_ERROR | 30,
- PRELUDE_ERROR_EDIED = PRELUDE_ERROR_SYSTEM_ERROR | 31,
- PRELUDE_ERROR_EDOM = PRELUDE_ERROR_SYSTEM_ERROR | 32,
- PRELUDE_ERROR_EDOTDOT = PRELUDE_ERROR_SYSTEM_ERROR | 33,
- PRELUDE_ERROR_EDQUOT = PRELUDE_ERROR_SYSTEM_ERROR | 34,
- PRELUDE_ERROR_EEXIST = PRELUDE_ERROR_SYSTEM_ERROR | 35,
- PRELUDE_ERROR_EFAULT = PRELUDE_ERROR_SYSTEM_ERROR | 36,
- PRELUDE_ERROR_EFBIG = PRELUDE_ERROR_SYSTEM_ERROR | 37,
- PRELUDE_ERROR_EFTYPE = PRELUDE_ERROR_SYSTEM_ERROR | 38,
- PRELUDE_ERROR_EGRATUITOUS = PRELUDE_ERROR_SYSTEM_ERROR | 39,
- PRELUDE_ERROR_EGREGIOUS = PRELUDE_ERROR_SYSTEM_ERROR | 40,
- PRELUDE_ERROR_EHOSTDOWN = PRELUDE_ERROR_SYSTEM_ERROR | 41,
- PRELUDE_ERROR_EHOSTUNREACH = PRELUDE_ERROR_SYSTEM_ERROR | 42,
- PRELUDE_ERROR_EIDRM = PRELUDE_ERROR_SYSTEM_ERROR | 43,
- PRELUDE_ERROR_EIEIO = PRELUDE_ERROR_SYSTEM_ERROR | 44,
- PRELUDE_ERROR_EILSEQ = PRELUDE_ERROR_SYSTEM_ERROR | 45,
- PRELUDE_ERROR_EINPROGRESS = PRELUDE_ERROR_SYSTEM_ERROR | 46,
- PRELUDE_ERROR_EINTR = PRELUDE_ERROR_SYSTEM_ERROR | 47,
- PRELUDE_ERROR_EINVAL = PRELUDE_ERROR_SYSTEM_ERROR | 48,
- PRELUDE_ERROR_EIO = PRELUDE_ERROR_SYSTEM_ERROR | 49,
- PRELUDE_ERROR_EISCONN = PRELUDE_ERROR_SYSTEM_ERROR | 50,
- PRELUDE_ERROR_EISDIR = PRELUDE_ERROR_SYSTEM_ERROR | 51,
- PRELUDE_ERROR_EISNAM = PRELUDE_ERROR_SYSTEM_ERROR | 52,
- PRELUDE_ERROR_EL2HLT = PRELUDE_ERROR_SYSTEM_ERROR | 53,
- PRELUDE_ERROR_EL2NSYNC = PRELUDE_ERROR_SYSTEM_ERROR | 54,
- PRELUDE_ERROR_EL3HLT = PRELUDE_ERROR_SYSTEM_ERROR | 55,
- PRELUDE_ERROR_EL3RST = PRELUDE_ERROR_SYSTEM_ERROR | 56,
- PRELUDE_ERROR_ELIBACC = PRELUDE_ERROR_SYSTEM_ERROR | 57,
- PRELUDE_ERROR_ELIBBAD = PRELUDE_ERROR_SYSTEM_ERROR | 58,
- PRELUDE_ERROR_ELIBEXEC = PRELUDE_ERROR_SYSTEM_ERROR | 59,
- PRELUDE_ERROR_ELIBMAX = PRELUDE_ERROR_SYSTEM_ERROR | 60,
- PRELUDE_ERROR_ELIBSCN = PRELUDE_ERROR_SYSTEM_ERROR | 61,
- PRELUDE_ERROR_ELNRNG = PRELUDE_ERROR_SYSTEM_ERROR | 62,
- PRELUDE_ERROR_ELOOP = PRELUDE_ERROR_SYSTEM_ERROR | 63,
- PRELUDE_ERROR_EMEDIUMTYPE = PRELUDE_ERROR_SYSTEM_ERROR | 64,
- PRELUDE_ERROR_EMFILE = PRELUDE_ERROR_SYSTEM_ERROR | 65,
- PRELUDE_ERROR_EMLINK = PRELUDE_ERROR_SYSTEM_ERROR | 66,
- PRELUDE_ERROR_EMSGSIZE = PRELUDE_ERROR_SYSTEM_ERROR | 67,
- PRELUDE_ERROR_EMULTIHOP = PRELUDE_ERROR_SYSTEM_ERROR | 68,
- PRELUDE_ERROR_ENAMETOOLONG = PRELUDE_ERROR_SYSTEM_ERROR | 69,
- PRELUDE_ERROR_ENAVAIL = PRELUDE_ERROR_SYSTEM_ERROR | 70,
- PRELUDE_ERROR_ENEEDAUTH = PRELUDE_ERROR_SYSTEM_ERROR | 71,
- PRELUDE_ERROR_ENETDOWN = PRELUDE_ERROR_SYSTEM_ERROR | 72,
- PRELUDE_ERROR_ENETRESET = PRELUDE_ERROR_SYSTEM_ERROR | 73,
- PRELUDE_ERROR_ENETUNREACH = PRELUDE_ERROR_SYSTEM_ERROR | 74,
- PRELUDE_ERROR_ENFILE = PRELUDE_ERROR_SYSTEM_ERROR | 75,
- PRELUDE_ERROR_ENOANO = PRELUDE_ERROR_SYSTEM_ERROR | 76,
- PRELUDE_ERROR_ENOBUFS = PRELUDE_ERROR_SYSTEM_ERROR | 77,
- PRELUDE_ERROR_ENOCSI = PRELUDE_ERROR_SYSTEM_ERROR | 78,
- PRELUDE_ERROR_ENODATA = PRELUDE_ERROR_SYSTEM_ERROR | 79,
- PRELUDE_ERROR_ENODEV = PRELUDE_ERROR_SYSTEM_ERROR | 80,
- PRELUDE_ERROR_ENOENT = PRELUDE_ERROR_SYSTEM_ERROR | 81,
- PRELUDE_ERROR_ENOEXEC = PRELUDE_ERROR_SYSTEM_ERROR | 82,
- PRELUDE_ERROR_ENOLCK = PRELUDE_ERROR_SYSTEM_ERROR | 83,
- PRELUDE_ERROR_ENOLINK = PRELUDE_ERROR_SYSTEM_ERROR | 84,
- PRELUDE_ERROR_ENOMEDIUM = PRELUDE_ERROR_SYSTEM_ERROR | 85,
- PRELUDE_ERROR_ENOMEM = PRELUDE_ERROR_SYSTEM_ERROR | 86,
- PRELUDE_ERROR_ENOMSG = PRELUDE_ERROR_SYSTEM_ERROR | 87,
- PRELUDE_ERROR_ENONET = PRELUDE_ERROR_SYSTEM_ERROR | 88,
- PRELUDE_ERROR_ENOPKG = PRELUDE_ERROR_SYSTEM_ERROR | 89,
- PRELUDE_ERROR_ENOPROTOOPT = PRELUDE_ERROR_SYSTEM_ERROR | 90,
- PRELUDE_ERROR_ENOSPC = PRELUDE_ERROR_SYSTEM_ERROR | 91,
- PRELUDE_ERROR_ENOSR = PRELUDE_ERROR_SYSTEM_ERROR | 92,
- PRELUDE_ERROR_ENOSTR = PRELUDE_ERROR_SYSTEM_ERROR | 93,
- PRELUDE_ERROR_ENOSYS = PRELUDE_ERROR_SYSTEM_ERROR | 94,
- PRELUDE_ERROR_ENOTBLK = PRELUDE_ERROR_SYSTEM_ERROR | 95,
- PRELUDE_ERROR_ENOTCONN = PRELUDE_ERROR_SYSTEM_ERROR | 96,
- PRELUDE_ERROR_ENOTDIR = PRELUDE_ERROR_SYSTEM_ERROR | 97,
- PRELUDE_ERROR_ENOTEMPTY = PRELUDE_ERROR_SYSTEM_ERROR | 98,
- PRELUDE_ERROR_ENOTNAM = PRELUDE_ERROR_SYSTEM_ERROR | 99,
- PRELUDE_ERROR_ENOTSOCK = PRELUDE_ERROR_SYSTEM_ERROR | 100,
- PRELUDE_ERROR_ENOTSUP = PRELUDE_ERROR_SYSTEM_ERROR | 101,
- PRELUDE_ERROR_ENOTTY = PRELUDE_ERROR_SYSTEM_ERROR | 102,
- PRELUDE_ERROR_ENOTUNIQ = PRELUDE_ERROR_SYSTEM_ERROR | 103,
- PRELUDE_ERROR_ENXIO = PRELUDE_ERROR_SYSTEM_ERROR | 104,
- PRELUDE_ERROR_EOPNOTSUPP = PRELUDE_ERROR_SYSTEM_ERROR | 105,
- PRELUDE_ERROR_EOVERFLOW = PRELUDE_ERROR_SYSTEM_ERROR | 106,
- PRELUDE_ERROR_EPERM = PRELUDE_ERROR_SYSTEM_ERROR | 107,
- PRELUDE_ERROR_EPFNOSUPPORT = PRELUDE_ERROR_SYSTEM_ERROR | 108,
- PRELUDE_ERROR_EPIPE = PRELUDE_ERROR_SYSTEM_ERROR | 109,
- PRELUDE_ERROR_EPROCLIM = PRELUDE_ERROR_SYSTEM_ERROR | 110,
- PRELUDE_ERROR_EPROCUNAVAIL = PRELUDE_ERROR_SYSTEM_ERROR | 111,
- PRELUDE_ERROR_EPROGMISMATCH = PRELUDE_ERROR_SYSTEM_ERROR | 112,
- PRELUDE_ERROR_EPROGUNAVAIL = PRELUDE_ERROR_SYSTEM_ERROR | 113,
- PRELUDE_ERROR_EPROTO = PRELUDE_ERROR_SYSTEM_ERROR | 114,
- PRELUDE_ERROR_EPROTONOSUPPORT = PRELUDE_ERROR_SYSTEM_ERROR | 115,
- PRELUDE_ERROR_EPROTOTYPE = PRELUDE_ERROR_SYSTEM_ERROR | 116,
- PRELUDE_ERROR_ERANGE = PRELUDE_ERROR_SYSTEM_ERROR | 117,
- PRELUDE_ERROR_EREMCHG = PRELUDE_ERROR_SYSTEM_ERROR | 118,
- PRELUDE_ERROR_EREMOTE = PRELUDE_ERROR_SYSTEM_ERROR | 119,
- PRELUDE_ERROR_EREMOTEIO = PRELUDE_ERROR_SYSTEM_ERROR | 120,
- PRELUDE_ERROR_ERESTART = PRELUDE_ERROR_SYSTEM_ERROR | 121,
- PRELUDE_ERROR_EROFS = PRELUDE_ERROR_SYSTEM_ERROR | 122,
- PRELUDE_ERROR_ERPCMISMATCH = PRELUDE_ERROR_SYSTEM_ERROR | 123,
- PRELUDE_ERROR_ESHUTDOWN = PRELUDE_ERROR_SYSTEM_ERROR | 124,
- PRELUDE_ERROR_ESOCKTNOSUPPORT = PRELUDE_ERROR_SYSTEM_ERROR | 125,
- PRELUDE_ERROR_ESPIPE = PRELUDE_ERROR_SYSTEM_ERROR | 126,
- PRELUDE_ERROR_ESRCH = PRELUDE_ERROR_SYSTEM_ERROR | 127,
- PRELUDE_ERROR_ESRMNT = PRELUDE_ERROR_SYSTEM_ERROR | 128,
- PRELUDE_ERROR_ESTALE = PRELUDE_ERROR_SYSTEM_ERROR | 129,
- PRELUDE_ERROR_ESTRPIPE = PRELUDE_ERROR_SYSTEM_ERROR | 130,
- PRELUDE_ERROR_ETIME = PRELUDE_ERROR_SYSTEM_ERROR | 131,
- PRELUDE_ERROR_ETIMEDOUT = PRELUDE_ERROR_SYSTEM_ERROR | 132,
- PRELUDE_ERROR_ETOOMANYREFS = PRELUDE_ERROR_SYSTEM_ERROR | 133,
- PRELUDE_ERROR_ETXTBSY = PRELUDE_ERROR_SYSTEM_ERROR | 134,
- PRELUDE_ERROR_EUCLEAN = PRELUDE_ERROR_SYSTEM_ERROR | 135,
- PRELUDE_ERROR_EUNATCH = PRELUDE_ERROR_SYSTEM_ERROR | 136,
- PRELUDE_ERROR_EUSERS = PRELUDE_ERROR_SYSTEM_ERROR | 137,
- PRELUDE_ERROR_EWOULDBLOCK = PRELUDE_ERROR_SYSTEM_ERROR | 138,
- PRELUDE_ERROR_EXDEV = PRELUDE_ERROR_SYSTEM_ERROR | 139,
- PRELUDE_ERROR_EXFULL = PRELUDE_ERROR_SYSTEM_ERROR | 140,
-} prelude_error_code_t;
+ PRELUDE_OPTION_INPUT_TYPE_STRING = 1,
+ PRELUDE_OPTION_INPUT_TYPE_INTEGER = 2,
+ PRELUDE_OPTION_INPUT_TYPE_BOOLEAN = 3
+} prelude_option_input_type_t;
</ENUM>
+<TYPEDEF>
+<NAME>prelude_option_t</NAME>
+typedef struct prelude_option prelude_option_t;
+</TYPEDEF>
+<TYPEDEF>
+<NAME>prelude_option_context_t</NAME>
+typedef struct prelude_option_context prelude_option_context_t;
+</TYPEDEF>
+<USER_FUNCTION>
+<NAME>prelude_option_destroy_callback_t</NAME>
+<RETURNS>int </RETURNS>
+prelude_option_t *opt, prelude_string_t *out, void *context
+</USER_FUNCTION>
+<USER_FUNCTION>
+<NAME>prelude_option_commit_callback_t</NAME>
+<RETURNS>int </RETURNS>
+prelude_option_t *opt, prelude_string_t *out, void *context
+</USER_FUNCTION>
+<USER_FUNCTION>
+<NAME>prelude_option_get_callback_t</NAME>
+<RETURNS>int </RETURNS>
+prelude_option_t *opt, prelude_string_t *out, void *context
+</USER_FUNCTION>
+<USER_FUNCTION>
+<NAME>prelude_option_set_callback_t</NAME>
+<RETURNS>int </RETURNS>
+prelude_option_t *opt, const char *optarg, prelude_string_t *err, void *context
+</USER_FUNCTION>
+<ENUM>
+<NAME>prelude_option_argument_t</NAME>
+typedef enum {
+ PRELUDE_OPTION_ARGUMENT_REQUIRED = 1,
+ PRELUDE_OPTION_ARGUMENT_OPTIONAL = 2,
+ PRELUDE_OPTION_ARGUMENT_NONE = 3
+} prelude_option_argument_t;
+</ENUM>
+<ENUM>
+<NAME>prelude_option_priority_t</NAME>
+typedef enum {
+ PRELUDE_OPTION_PRIORITY_IMMEDIATE = -2,
+ PRELUDE_OPTION_PRIORITY_FIRST = -1,
+ PRELUDE_OPTION_PRIORITY_NONE = 0,
+ PRELUDE_OPTION_PRIORITY_LAST = 2
+} prelude_option_priority_t;
+</ENUM>
+<ENUM>
+<NAME>prelude_option_warning_t</NAME>
+typedef enum {
+ PRELUDE_OPTION_WARNING_OPTION = 0x1,
+ PRELUDE_OPTION_WARNING_ARG = 0x2
+} prelude_option_warning_t;
+</ENUM>
+<FUNCTION>
+<NAME>prelude_option_set_priority</NAME>
+<RETURNS>void </RETURNS>
+prelude_option_t *option, prelude_option_priority_t priority
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_option_print</NAME>
+<RETURNS>void </RETURNS>
+prelude_option_t *opt, prelude_option_type_t type, int descoff, FILE *fd
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_option_wide_send_msg</NAME>
+<RETURNS>int </RETURNS>
+prelude_msgbuf_t *msgbuf, void *context
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_option_destroy</NAME>
+<RETURNS>void </RETURNS>
+prelude_option_t *option
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_option_read</NAME>
+<RETURNS>int </RETURNS>
+prelude_option_t *option, const char **filename,int *argc, char **argv, prelude_string_t **err, void *context
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_option_add</NAME>
+<RETURNS>int </RETURNS>
+prelude_option_t *parent, prelude_option_t **retopt, prelude_option_type_t type,char shortopt, const char *longopt, const char *desc, prelude_option_argument_t has_arg,int (*set)(prelude_option_t *opt, const char *optarg, prelude_string_t *err, void *context),int (*get)(prelude_option_t *opt, prelude_string_t *out, void *context)
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_option_set_type</NAME>
+<RETURNS>void </RETURNS>
+prelude_option_t *opt, prelude_option_type_t type
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_option_get_type</NAME>
+<RETURNS>prelude_option_type_t </RETURNS>
+prelude_option_t *opt
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_option_set_warnings</NAME>
+<RETURNS>void </RETURNS>
+prelude_option_warning_t new_warnings, prelude_option_warning_t *old_warnings
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_option_get_shortname</NAME>
+<RETURNS>char </RETURNS>
+prelude_option_t *opt
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_option_get_longname</NAME>
+<RETURNS>const char *</RETURNS>
+prelude_option_t *opt
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_option_set_data</NAME>
+<RETURNS>void </RETURNS>
+prelude_option_t *opt, void *data
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_option_get_data</NAME>
+<RETURNS>void *</RETURNS>
+prelude_option_t *opt
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_option_invoke_commit</NAME>
+<RETURNS>int </RETURNS>
+prelude_option_t *opt, const char *ctname, prelude_string_t *value, void *context
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_option_invoke_set</NAME>
+<RETURNS>int </RETURNS>
+prelude_option_t *opt, const char *ctname, prelude_string_t *value, void **context
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_option_invoke_get</NAME>
+<RETURNS>int </RETURNS>
+prelude_option_t *opt, const char *ctname, prelude_string_t *value, void *context
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_option_invoke_destroy</NAME>
+<RETURNS>int </RETURNS>
+prelude_option_t *opt, const char *ctname, prelude_string_t *value, void *context
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_option_new_root</NAME>
+<RETURNS>int </RETURNS>
+prelude_option_t **retopt
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_option_new</NAME>
+<RETURNS>int </RETURNS>
+prelude_option_t *parent, prelude_option_t **retopt
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_option_set_longopt</NAME>
+<RETURNS>void </RETURNS>
+prelude_option_t *opt, const char *longopt
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_option_get_longopt</NAME>
+<RETURNS>const char *</RETURNS>
+prelude_option_t *opt
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_option_set_description</NAME>
+<RETURNS>void </RETURNS>
+prelude_option_t *opt, const char *description
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_option_get_description</NAME>
+<RETURNS>const char *</RETURNS>
+prelude_option_t *opt
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_option_set_has_arg</NAME>
+<RETURNS>void </RETURNS>
+prelude_option_t *opt, prelude_option_argument_t has_arg
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_option_get_has_arg</NAME>
+<RETURNS>prelude_option_argument_t </RETURNS>
+prelude_option_t *opt
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_option_set_value</NAME>
+<RETURNS>void </RETURNS>
+prelude_option_t *opt, const char *value
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_option_get_value</NAME>
+<RETURNS>const char *</RETURNS>
+prelude_option_t *opt
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_option_set_help</NAME>
+<RETURNS>void </RETURNS>
+prelude_option_t *opt, const char *help
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_option_get_help</NAME>
+<RETURNS>const char *</RETURNS>
+prelude_option_t *opt
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_option_set_input_validation_regex</NAME>
+<RETURNS>void </RETURNS>
+prelude_option_t *opt, const char *regex
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_option_get_input_validation_regex</NAME>
+<RETURNS>const char *</RETURNS>
+prelude_option_t *opt
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_option_set_input_type</NAME>
+<RETURNS>void </RETURNS>
+prelude_option_t *opt, prelude_option_input_type_t input_type
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_option_get_input_type</NAME>
+<RETURNS>prelude_option_input_type_t </RETURNS>
+prelude_option_t *opt
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_option_get_optlist</NAME>
+<RETURNS>prelude_list_t *</RETURNS>
+prelude_option_t *opt
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_option_get_next</NAME>
+<RETURNS>prelude_option_t *</RETURNS>
+prelude_option_t *start, prelude_option_t *cur
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_option_has_optlist</NAME>
+<RETURNS>prelude_bool_t </RETURNS>
+prelude_option_t *opt
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_option_get_parent</NAME>
+<RETURNS>prelude_option_t *</RETURNS>
+prelude_option_t *opt
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_option_set_destroy_callback</NAME>
+<RETURNS>void </RETURNS>
+prelude_option_t *opt,prelude_option_destroy_callback_t destroy
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_option_get_destroy_callback</NAME>
+<RETURNS>prelude_option_destroy_callback_t </RETURNS>
+prelude_option_t *opt
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_option_set_set_callback</NAME>
+<RETURNS>void </RETURNS>
+prelude_option_t *opt,prelude_option_set_callback_t set
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_option_get_set_callback</NAME>
+<RETURNS>prelude_option_set_callback_t </RETURNS>
+prelude_option_t *opt
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_option_set_get_callback</NAME>
+<RETURNS>void </RETURNS>
+prelude_option_t *opt,int (*get)(prelude_option_t *opt, prelude_string_t *out, void *context)
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_option_get_get_callback</NAME>
+<RETURNS>prelude_option_get_callback_t </RETURNS>
+prelude_option_t *opt
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_option_set_commit_callback</NAME>
+<RETURNS>void </RETURNS>
+prelude_option_t *opt, prelude_option_commit_callback_t commit
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_option_get_commit_callback</NAME>
+<RETURNS>prelude_option_commit_callback_t </RETURNS>
+prelude_option_t *opt
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_option_set_default_context</NAME>
+<RETURNS>void </RETURNS>
+prelude_option_t *opt, void *context
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_option_new_context</NAME>
+<RETURNS>int </RETURNS>
+prelude_option_t *opt, prelude_option_context_t **ctx, const char *name, void *data
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_option_context_destroy</NAME>
+<RETURNS>void </RETURNS>
+prelude_option_context_t *oc
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_option_search</NAME>
+<RETURNS>prelude_option_t *</RETURNS>
+prelude_option_t *parent, const char *name,prelude_option_type_t type, prelude_bool_t walk_children
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_option_search_context</NAME>
+<RETURNS>prelude_option_context_t *</RETURNS>
+prelude_option_t *opt, const char *name
+</FUNCTION>
<MACRO>
-<NAME>PRELUDE_ERROR_SOURCE_DEFAULT</NAME>
- #define PRELUDE_ERROR_SOURCE_DEFAULT PRELUDE_ERROR_SOURCE_UNKNOWN
+<NAME>PRELUDE_INT8_MIN</NAME>
+#define PRELUDE_INT8_MIN (-128)
</MACRO>
+<MACRO>
+<NAME>PRELUDE_INT16_MIN</NAME>
+#define PRELUDE_INT16_MIN (-32767 - 1)
+</MACRO>
+<MACRO>
+<NAME>PRELUDE_INT32_MIN</NAME>
+#define PRELUDE_INT32_MIN (-2147483647 - 1)
+</MACRO>
+<MACRO>
+<NAME>PRELUDE_INT64_MIN</NAME>
+#define PRELUDE_INT64_MIN (-__PRELUDE_INT64_SUFFIX(9223372036854775807) - 1)
+</MACRO>
+<MACRO>
+<NAME>PRELUDE_INT8_MAX</NAME>
+#define PRELUDE_INT8_MAX (127)
+</MACRO>
+<MACRO>
+<NAME>PRELUDE_INT16_MAX</NAME>
+#define PRELUDE_INT16_MAX (32767)
+</MACRO>
+<MACRO>
+<NAME>PRELUDE_INT32_MAX</NAME>
+#define PRELUDE_INT32_MAX (2147483647)
+</MACRO>
+<MACRO>
+<NAME>PRELUDE_INT64_MAX</NAME>
+#define PRELUDE_INT64_MAX (__PRELUDE_INT64_SUFFIX(9223372036854775807))
+</MACRO>
+<MACRO>
+<NAME>PRELUDE_UINT8_MAX</NAME>
+#define PRELUDE_UINT8_MAX (255)
+</MACRO>
+<MACRO>
+<NAME>PRELUDE_UINT16_MAX</NAME>
+#define PRELUDE_UINT16_MAX (65535)
+</MACRO>
+<MACRO>
+<NAME>PRELUDE_UINT32_MAX</NAME>
+#define PRELUDE_UINT32_MAX (4294967295U)
+</MACRO>
+<MACRO>
+<NAME>PRELUDE_UINT64_MAX</NAME>
+#define PRELUDE_UINT64_MAX (__PRELUDE_UINT64_SUFFIX(18446744073709551615))
+</MACRO>
+<MACRO>
+<NAME>PRELUDE_INTMAX_MIN</NAME>
+#define PRELUDE_INTMAX_MIN INT64_MIN
+</MACRO>
+<MACRO>
+<NAME>PRELUDE_INTMAX_MAX</NAME>
+#define PRELUDE_INTMAX_MAX INT64_MAX
+</MACRO>
+<MACRO>
+<NAME>PRELUDE_UINTMAX_MAX</NAME>
+#define PRELUDE_UINTMAX_MAX UINT64_MAX
+</MACRO>
+<MACRO>
+<NAME>PRELUDE_PRId64</NAME>
+#define PRELUDE_PRId64 __PRELUDE_64BIT_FORMAT_PREFIX "d"
+</MACRO>
+<MACRO>
+<NAME>PRELUDE_PRIi64</NAME>
+#define PRELUDE_PRIi64 __PRELUDE_64BIT_FORMAT_PREFIX "i"
+</MACRO>
+<MACRO>
+<NAME>PRELUDE_PRIo64</NAME>
+#define PRELUDE_PRIo64 __PRELUDE_64BIT_FORMAT_PREFIX "o"
+</MACRO>
+<MACRO>
+<NAME>PRELUDE_PRIx64</NAME>
+#define PRELUDE_PRIx64 __PRELUDE_64BIT_FORMAT_PREFIX "x"
+</MACRO>
+<MACRO>
+<NAME>PRELUDE_PRIX64</NAME>
+#define PRELUDE_PRIX64 __PRELUDE_64BIT_FORMAT_PREFIX "X"
+</MACRO>
+<MACRO>
+<NAME>PRELUDE_PRIu64</NAME>
+#define PRELUDE_PRIu64 __PRELUDE_64BIT_FORMAT_PREFIX "u"
+</MACRO>
+<MACRO>
+<NAME>PRELUDE_PRId32</NAME>
+#define PRELUDE_PRId32 "d"
+</MACRO>
+<MACRO>
+<NAME>PRELUDE_PRIi32</NAME>
+#define PRELUDE_PRIi32 "i"
+</MACRO>
+<MACRO>
+<NAME>PRELUDE_PRIo32</NAME>
+#define PRELUDE_PRIo32 "o"
+</MACRO>
+<MACRO>
+<NAME>PRELUDE_PRIx32</NAME>
+#define PRELUDE_PRIx32 "x"
+</MACRO>
+<MACRO>
+<NAME>PRELUDE_PRIX32</NAME>
+#define PRELUDE_PRIX32 "X"
+</MACRO>
+<MACRO>
+<NAME>PRELUDE_PRIu32</NAME>
+#define PRELUDE_PRIu32 "u"
+</MACRO>
+<MACRO>
+<NAME>PRELUDE_PRId16</NAME>
+#define PRELUDE_PRId16 "d"
+</MACRO>
+<MACRO>
+<NAME>PRELUDE_PRIi16</NAME>
+#define PRELUDE_PRIi16 "i"
+</MACRO>
+<MACRO>
+<NAME>PRELUDE_PRIo16</NAME>
+#define PRELUDE_PRIo16 "o"
+</MACRO>
+<MACRO>
+<NAME>PRELUDE_PRIx16</NAME>
+#define PRELUDE_PRIx16 "x"
+</MACRO>
+<MACRO>
+<NAME>PRELUDE_PRIX16</NAME>
+#define PRELUDE_PRIX16 "X"
+</MACRO>
+<MACRO>
+<NAME>PRELUDE_PRIu16</NAME>
+#define PRELUDE_PRIu16 "u"
+</MACRO>
+<MACRO>
+<NAME>PRELUDE_PRId8</NAME>
+#define PRELUDE_PRId8 "d"
+</MACRO>
+<MACRO>
+<NAME>PRELUDE_PRIi8</NAME>
+#define PRELUDE_PRIi8 "i"
+</MACRO>
+<MACRO>
+<NAME>PRELUDE_PRIo8</NAME>
+#define PRELUDE_PRIo8 "o"
+</MACRO>
+<MACRO>
+<NAME>PRELUDE_PRIx8</NAME>
+#define PRELUDE_PRIx8 "x"
+</MACRO>
+<MACRO>
+<NAME>PRELUDE_PRIX8</NAME>
+#define PRELUDE_PRIX8 "X"
+</MACRO>
+<MACRO>
+<NAME>PRELUDE_PRIu8</NAME>
+#define PRELUDE_PRIu8 "u"
+</MACRO>
+<MACRO>
+<NAME>PRELUDE_SCNd64</NAME>
+#define PRELUDE_SCNd64 __PRELUDE_64BIT_FORMAT_PREFIX "d"
+</MACRO>
+<MACRO>
+<NAME>PRELUDE_SCNi64</NAME>
+#define PRELUDE_SCNi64 __PRELUDE_64BIT_FORMAT_PREFIX "i"
+</MACRO>
+<MACRO>
+<NAME>PRELUDE_SCNo64</NAME>
+#define PRELUDE_SCNo64 __PRELUDE_64BIT_FORMAT_PREFIX "o"
+</MACRO>
+<MACRO>
+<NAME>PRELUDE_SCNx64</NAME>
+#define PRELUDE_SCNx64 __PRELUDE_64BIT_FORMAT_PREFIX "x"
+</MACRO>
+<MACRO>
+<NAME>PRELUDE_SCNu64</NAME>
+#define PRELUDE_SCNu64 __PRELUDE_64BIT_FORMAT_PREFIX "u"
+</MACRO>
+<ENUM>
+<NAME>prelude_bool_t</NAME>
+typedef enum {
+ PRELUDE_BOOL_TRUE = TRUE,
+ PRELUDE_BOOL_FALSE = FALSE
+} prelude_bool_t;
+</ENUM>
<TYPEDEF>
-<NAME>prelude_error_t</NAME>
-typedef signed int prelude_error_t;
+<NAME>int8_t</NAME>
+ typedef signed char int8_t;
</TYPEDEF>
+<TYPEDEF>
+<NAME>uint8_t</NAME>
+ typedef unsigned char uint8_t;
+</TYPEDEF>
+<TYPEDEF>
+<NAME>int16_t</NAME>
+ typedef short int16_t;
+</TYPEDEF>
+<TYPEDEF>
+<NAME>uint16_t</NAME>
+ typedef unsigned short uint16_t;
+</TYPEDEF>
+<TYPEDEF>
+<NAME>int32_t</NAME>
+ typedef int int32_t;
+</TYPEDEF>
+<TYPEDEF>
+<NAME>uint32_t</NAME>
+ typedef unsigned int uint32_t;
+</TYPEDEF>
+<TYPEDEF>
+<NAME>int64_t</NAME>
+ typedef long int64_t;
+</TYPEDEF>
+<TYPEDEF>
+<NAME>uint64_t</NAME>
+ typedef unsigned long uint64_t;
+</TYPEDEF>
+<TYPEDEF>
+<NAME>int64_t</NAME>
+ typedef long long int64_t;
+</TYPEDEF>
+<TYPEDEF>
+<NAME>uint64_t</NAME>
+ typedef unsigned long long uint64_t;
+</TYPEDEF>
<FUNCTION>
-<NAME>prelude_error_is_verbose</NAME>
+<NAME>idmef_additional_data_read</NAME>
+<RETURNS>int </RETURNS>
+idmef_additional_data_t *additional_data, prelude_msg_t *msg
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_reference_read</NAME>
+<RETURNS>int </RETURNS>
+idmef_reference_t *reference, prelude_msg_t *msg
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_classification_read</NAME>
+<RETURNS>int </RETURNS>
+idmef_classification_t *classification, prelude_msg_t *msg
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_user_id_read</NAME>
+<RETURNS>int </RETURNS>
+idmef_user_id_t *user_id, prelude_msg_t *msg
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_user_read</NAME>
+<RETURNS>int </RETURNS>
+idmef_user_t *user, prelude_msg_t *msg
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_address_read</NAME>
+<RETURNS>int </RETURNS>
+idmef_address_t *address, prelude_msg_t *msg
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_process_read</NAME>
+<RETURNS>int </RETURNS>
+idmef_process_t *process, prelude_msg_t *msg
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_web_service_read</NAME>
+<RETURNS>int </RETURNS>
+idmef_web_service_t *web_service, prelude_msg_t *msg
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_snmp_service_read</NAME>
+<RETURNS>int </RETURNS>
+idmef_snmp_service_t *snmp_service, prelude_msg_t *msg
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_service_read</NAME>
+<RETURNS>int </RETURNS>
+idmef_service_t *service, prelude_msg_t *msg
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_node_read</NAME>
+<RETURNS>int </RETURNS>
+idmef_node_t *node, prelude_msg_t *msg
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_source_read</NAME>
+<RETURNS>int </RETURNS>
+idmef_source_t *source, prelude_msg_t *msg
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_file_access_read</NAME>
+<RETURNS>int </RETURNS>
+idmef_file_access_t *file_access, prelude_msg_t *msg
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_inode_read</NAME>
+<RETURNS>int </RETURNS>
+idmef_inode_t *inode, prelude_msg_t *msg
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_checksum_read</NAME>
+<RETURNS>int </RETURNS>
+idmef_checksum_t *checksum, prelude_msg_t *msg
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_file_read</NAME>
+<RETURNS>int </RETURNS>
+idmef_file_t *file, prelude_msg_t *msg
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_linkage_read</NAME>
+<RETURNS>int </RETURNS>
+idmef_linkage_t *linkage, prelude_msg_t *msg
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_target_read</NAME>
+<RETURNS>int </RETURNS>
+idmef_target_t *target, prelude_msg_t *msg
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_analyzer_read</NAME>
+<RETURNS>int </RETURNS>
+idmef_analyzer_t *analyzer, prelude_msg_t *msg
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_alertident_read</NAME>
+<RETURNS>int </RETURNS>
+idmef_alertident_t *alertident, prelude_msg_t *msg
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_impact_read</NAME>
+<RETURNS>int </RETURNS>
+idmef_impact_t *impact, prelude_msg_t *msg
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_action_read</NAME>
+<RETURNS>int </RETURNS>
+idmef_action_t *action, prelude_msg_t *msg
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_confidence_read</NAME>
+<RETURNS>int </RETURNS>
+idmef_confidence_t *confidence, prelude_msg_t *msg
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_assessment_read</NAME>
+<RETURNS>int </RETURNS>
+idmef_assessment_t *assessment, prelude_msg_t *msg
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_tool_alert_read</NAME>
+<RETURNS>int </RETURNS>
+idmef_tool_alert_t *tool_alert, prelude_msg_t *msg
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_correlation_alert_read</NAME>
+<RETURNS>int </RETURNS>
+idmef_correlation_alert_t *correlation_alert, prelude_msg_t *msg
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_overflow_alert_read</NAME>
+<RETURNS>int </RETURNS>
+idmef_overflow_alert_t *overflow_alert, prelude_msg_t *msg
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_alert_read</NAME>
+<RETURNS>int </RETURNS>
+idmef_alert_t *alert, prelude_msg_t *msg
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_heartbeat_read</NAME>
+<RETURNS>int </RETURNS>
+idmef_heartbeat_t *heartbeat, prelude_msg_t *msg
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_message_read</NAME>
+<RETURNS>int </RETURNS>
+idmef_message_t *message, prelude_msg_t *msg
+</FUNCTION>
+<TYPEDEF>
+<NAME>idmef_value_t</NAME>
+typedef struct idmef_value idmef_value_t;
+</TYPEDEF>
+<FUNCTION>
+<NAME>idmef_value_new_int8</NAME>
+<RETURNS>int </RETURNS>
+idmef_value_t **value, int8_t val
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_value_new_uint8</NAME>
+<RETURNS>int </RETURNS>
+idmef_value_t **value, uint8_t val
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_value_new_int16</NAME>
+<RETURNS>int </RETURNS>
+idmef_value_t **value, int16_t val
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_value_new_uint16</NAME>
+<RETURNS>int </RETURNS>
+idmef_value_t **value, uint16_t val
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_value_new_int32</NAME>
+<RETURNS>int </RETURNS>
+idmef_value_t **value, int32_t val
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_value_new_uint32</NAME>
+<RETURNS>int </RETURNS>
+idmef_value_t **value, uint32_t val
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_value_new_int64</NAME>
+<RETURNS>int </RETURNS>
+idmef_value_t **value, int64_t val
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_value_new_uint64</NAME>
+<RETURNS>int </RETURNS>
+idmef_value_t **value, uint64_t val
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_value_new_float</NAME>
+<RETURNS>int </RETURNS>
+idmef_value_t **value, float val
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_value_new_double</NAME>
+<RETURNS>int </RETURNS>
+idmef_value_t **value, double val
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_value_new_string</NAME>
+<RETURNS>int </RETURNS>
+idmef_value_t **value, prelude_string_t *string
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_value_new_time</NAME>
+<RETURNS>int </RETURNS>
+idmef_value_t **value, idmef_time_t *time
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_value_new_data</NAME>
+<RETURNS>int </RETURNS>
+idmef_value_t **value, idmef_data_t *data
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_value_new_class</NAME>
+<RETURNS>int </RETURNS>
+idmef_value_t **value, idmef_class_id_t classid, void *ptr
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_value_new_list</NAME>
+<RETURNS>int </RETURNS>
+idmef_value_t **value
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_value_new_enum</NAME>
+<RETURNS>int </RETURNS>
+idmef_value_t **value, idmef_class_id_t classid, const char *buf
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_value_new_enum_from_string</NAME>
+<RETURNS>int </RETURNS>
+idmef_value_t **value, idmef_class_id_t classid, const char *buf
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_value_new_enum_from_numeric</NAME>
+<RETURNS>int </RETURNS>
+idmef_value_t **value, idmef_class_id_t classid, int val
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_value_set_int8</NAME>
+<RETURNS>int </RETURNS>
+idmef_value_t *value, int8_t val
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_value_set_uint8</NAME>
+<RETURNS>int </RETURNS>
+idmef_value_t *value, uint8_t val
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_value_set_int16</NAME>
+<RETURNS>int </RETURNS>
+idmef_value_t *value, int16_t val
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_value_set_uint16</NAME>
+<RETURNS>int </RETURNS>
+idmef_value_t *value, uint16_t val
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_value_set_int32</NAME>
+<RETURNS>int </RETURNS>
+idmef_value_t *value, int32_t val
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_value_set_uint32</NAME>
+<RETURNS>int </RETURNS>
+idmef_value_t *value, uint32_t val
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_value_set_int64</NAME>
+<RETURNS>int </RETURNS>
+idmef_value_t *value, int64_t val
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_value_set_uint64</NAME>
+<RETURNS>int </RETURNS>
+idmef_value_t *value, uint64_t val
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_value_set_float</NAME>
+<RETURNS>int </RETURNS>
+idmef_value_t *value, float val
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_value_set_double</NAME>
+<RETURNS>int </RETURNS>
+idmef_value_t *value, double val
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_value_set_string</NAME>
+<RETURNS>int </RETURNS>
+idmef_value_t *value, prelude_string_t *string
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_value_set_time</NAME>
+<RETURNS>int </RETURNS>
+idmef_value_t *value, idmef_time_t *time
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_value_set_data</NAME>
+<RETURNS>int </RETURNS>
+idmef_value_t *value, idmef_data_t *data
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_value_set_enum</NAME>
+<RETURNS>int </RETURNS>
+idmef_value_t *value, idmef_class_id_t classid, const char *buf
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_value_set_enum_from_string</NAME>
+<RETURNS>int </RETURNS>
+idmef_value_t *value, idmef_class_id_t classid, const char *buf
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_value_set_enum_from_numeric</NAME>
+<RETURNS>int </RETURNS>
+idmef_value_t *value, idmef_class_id_t classid, int no
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_value_set_class</NAME>
+<RETURNS>int </RETURNS>
+idmef_value_t *value, idmef_class_id_t classid, void *ptr
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_value_new</NAME>
+<RETURNS>int </RETURNS>
+idmef_value_t **value, idmef_value_type_id_t type, void *ptr
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_value_new_from_path</NAME>
+<RETURNS>int </RETURNS>
+idmef_value_t **value, idmef_path_t *path, const char *buf
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_value_new_from_string</NAME>
+<RETURNS>int </RETURNS>
+idmef_value_t **value, idmef_value_type_id_t type, const char *buf
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_value_get_int8</NAME>
+<RETURNS>int8_t </RETURNS>
+const idmef_value_t *val
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_value_get_uint8</NAME>
+<RETURNS>uint8_t </RETURNS>
+const idmef_value_t *val
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_value_get_int16</NAME>
+<RETURNS>int16_t </RETURNS>
+const idmef_value_t *val
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_value_get_uint16</NAME>
+<RETURNS>uint16_t </RETURNS>
+const idmef_value_t *val
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_value_get_int32</NAME>
+<RETURNS>int32_t </RETURNS>
+const idmef_value_t *val
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_value_get_uint32</NAME>
+<RETURNS>uint32_t </RETURNS>
+const idmef_value_t *val
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_value_get_int64</NAME>
+<RETURNS>int64_t </RETURNS>
+const idmef_value_t *val
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_value_get_uint64</NAME>
+<RETURNS>uint64_t </RETURNS>
+const idmef_value_t *val
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_value_get_enum</NAME>
+<RETURNS>int </RETURNS>
+const idmef_value_t *val
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_value_get_float</NAME>
+<RETURNS>float </RETURNS>
+const idmef_value_t *val
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_value_get_double</NAME>
+<RETURNS>double </RETURNS>
+const idmef_value_t *val
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_value_get_time</NAME>
+<RETURNS>idmef_time_t *</RETURNS>
+const idmef_value_t *val
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_value_get_data</NAME>
+<RETURNS>idmef_data_t *</RETURNS>
+const idmef_value_t *val
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_value_get_string</NAME>
+<RETURNS>prelude_string_t *</RETURNS>
+const idmef_value_t *val
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_value_list_add</NAME>
+<RETURNS>int </RETURNS>
+idmef_value_t *list, idmef_value_t *item
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_value_is_list</NAME>
<RETURNS>prelude_bool_t </RETURNS>
-prelude_error_t error
+const idmef_value_t *list
</FUNCTION>
<FUNCTION>
-<NAME>prelude_error_get_code</NAME>
-<RETURNS>prelude_error_code_t </RETURNS>
-prelude_error_t error
+<NAME>idmef_value_list_is_empty</NAME>
+<RETURNS>prelude_bool_t </RETURNS>
+const idmef_value_t *list
</FUNCTION>
<FUNCTION>
-<NAME>prelude_error_get_source</NAME>
-<RETURNS>prelude_error_source_t </RETURNS>
-prelude_error_t error
+<NAME>idmef_value_have_own_data</NAME>
+<RETURNS>int </RETURNS>
+idmef_value_t *value
</FUNCTION>
<FUNCTION>
-<NAME>prelude_error_code_from_errno</NAME>
-<RETURNS>prelude_error_code_t </RETURNS>
-int err
+<NAME>idmef_value_dont_have_own_data</NAME>
+<RETURNS>int </RETURNS>
+idmef_value_t *value
</FUNCTION>
<FUNCTION>
-<NAME>prelude_error_make</NAME>
-<RETURNS>prelude_error_t </RETURNS>
-prelude_error_source_t source, prelude_error_code_t code
+<NAME>idmef_value_get_type</NAME>
+<RETURNS>idmef_value_type_id_t </RETURNS>
+const idmef_value_t *value
</FUNCTION>
<FUNCTION>
-<NAME>prelude_error_make_from_errno</NAME>
-<RETURNS>prelude_error_t </RETURNS>
-prelude_error_source_t source, int err
+<NAME>idmef_value_get_class</NAME>
+<RETURNS>idmef_class_id_t </RETURNS>
+const idmef_value_t *value
</FUNCTION>
<FUNCTION>
-<NAME>prelude_perror</NAME>
+<NAME>idmef_value_get_object</NAME>
+<RETURNS>void *</RETURNS>
+const idmef_value_t *value
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_value_iterate</NAME>
+<RETURNS>int </RETURNS>
+const idmef_value_t *value, int (*callback)(idmef_value_t *ptr, void *extra), void *extra
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_value_iterate_reversed</NAME>
+<RETURNS>int </RETURNS>
+const idmef_value_t *value, int (*callback)(idmef_value_t *ptr, void *extra), void *extra
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_value_get_nth</NAME>
+<RETURNS>idmef_value_t *</RETURNS>
+const idmef_value_t *val, int n
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_value_get_count</NAME>
+<RETURNS>int </RETURNS>
+const idmef_value_t *val
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_value_clone</NAME>
+<RETURNS>int </RETURNS>
+const idmef_value_t *val, idmef_value_t **dst
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_value_ref</NAME>
+<RETURNS>idmef_value_t *</RETURNS>
+idmef_value_t *val
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_value_print</NAME>
+<RETURNS>int </RETURNS>
+const idmef_value_t *val, prelude_io_t *fd
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_value_to_string</NAME>
+<RETURNS>int </RETURNS>
+const idmef_value_t *val, prelude_string_t *out
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_value_get</NAME>
+<RETURNS>int </RETURNS>
+const idmef_value_t *val, void *res
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_value_match</NAME>
+<RETURNS>int </RETURNS>
+idmef_value_t *val1, idmef_value_t *val2, idmef_criterion_operator_t op
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_value_check_operator</NAME>
+<RETURNS>int </RETURNS>
+const idmef_value_t *value, idmef_criterion_operator_t op
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_value_destroy</NAME>
<RETURNS>void </RETURNS>
-prelude_error_t error, const char *fmt, ...
+idmef_value_t *val
</FUNCTION>
+<TYPEDEF>
+<NAME>idmef_time_t</NAME>
+typedef struct idmef_time idmef_time_t;
+</TYPEDEF>
<FUNCTION>
-<NAME>prelude_strerror</NAME>
+<NAME>idmef_time_ref</NAME>
+<RETURNS>idmef_time_t *</RETURNS>
+idmef_time_t *time
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_time_new</NAME>
+<RETURNS>int </RETURNS>
+idmef_time_t **time
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_time_new_from_time</NAME>
+<RETURNS>int </RETURNS>
+idmef_time_t **time, const time_t *t
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_time_new_from_gettimeofday</NAME>
+<RETURNS>int </RETURNS>
+idmef_time_t **time
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_time_new_from_string</NAME>
+<RETURNS>int </RETURNS>
+idmef_time_t **time, const char *buf
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_time_new_from_ntpstamp</NAME>
+<RETURNS>int </RETURNS>
+idmef_time_t **time, const char *buf
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_time_new_from_timeval</NAME>
+<RETURNS>int </RETURNS>
+idmef_time_t **time, const struct timeval *tv
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_time_set_from_time</NAME>
+<RETURNS>void </RETURNS>
+idmef_time_t *time, const time_t *t
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_time_set_from_gettimeofday</NAME>
+<RETURNS>int </RETURNS>
+idmef_time_t *time
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_time_set_from_string</NAME>
+<RETURNS>int </RETURNS>
+idmef_time_t *time, const char *buf
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_time_set_from_ntpstamp</NAME>
+<RETURNS>int </RETURNS>
+idmef_time_t *time, const char *buf
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_time_set_from_timeval</NAME>
+<RETURNS>int </RETURNS>
+idmef_time_t *time, const struct timeval *tv
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_time_destroy_internal</NAME>
+<RETURNS>void </RETURNS>
+idmef_time_t *time
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_time_destroy</NAME>
+<RETURNS>void </RETURNS>
+idmef_time_t *time
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_time_clone</NAME>
+<RETURNS>int </RETURNS>
+const idmef_time_t *src, idmef_time_t **dst
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_time_copy</NAME>
+<RETURNS>int </RETURNS>
+const idmef_time_t *src, idmef_time_t *dst
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_time_set_sec</NAME>
+<RETURNS>void </RETURNS>
+idmef_time_t *time, uint32_t sec
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_time_set_usec</NAME>
+<RETURNS>void </RETURNS>
+idmef_time_t *time, uint32_t usec
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_time_set_gmt_offset</NAME>
+<RETURNS>void </RETURNS>
+idmef_time_t *time, int32_t gmtoff
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_time_get_sec</NAME>
+<RETURNS>uint32_t </RETURNS>
+const idmef_time_t *time
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_time_get_usec</NAME>
+<RETURNS>uint32_t </RETURNS>
+const idmef_time_t *time
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_time_get_gmt_offset</NAME>
+<RETURNS>int32_t </RETURNS>
+const idmef_time_t *time
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_time_to_string</NAME>
+<RETURNS>int </RETURNS>
+const idmef_time_t *time, prelude_string_t *out
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_time_to_ntpstamp</NAME>
+<RETURNS>int </RETURNS>
+const idmef_time_t *time, prelude_string_t *out
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_time_compare</NAME>
+<RETURNS>int </RETURNS>
+const idmef_time_t *time1, const idmef_time_t *time2
+</FUNCTION>
+<ENUM>
+<NAME>prelude_connection_permission_t</NAME>
+typedef enum {
+ PRELUDE_CONNECTION_PERMISSION_IDMEF_READ = 0x01, /* client might read received IDMEF message */
+ PRELUDE_CONNECTION_PERMISSION_ADMIN_READ = 0x02, /* client might read received ADMIN message */
+ PRELUDE_CONNECTION_PERMISSION_IDMEF_WRITE = 0x04, /* client might send IDMEF message */
+ PRELUDE_CONNECTION_PERMISSION_ADMIN_WRITE = 0x08 /* client might issue OPTION request */
+} prelude_connection_permission_t;
+</ENUM>
+<ENUM>
+<NAME>prelude_connection_state_t</NAME>
+typedef enum {
+ PRELUDE_CONNECTION_STATE_ESTABLISHED = 0x01
+} prelude_connection_state_t;
+</ENUM>
+<TYPEDEF>
+<NAME>prelude_connection_t</NAME>
+typedef struct prelude_connection prelude_connection_t;
+</TYPEDEF>
+<FUNCTION>
+<NAME>prelude_connection_destroy</NAME>
+<RETURNS>void </RETURNS>
+prelude_connection_t *conn
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_connection_ref</NAME>
+<RETURNS>prelude_connection_t *</RETURNS>
+prelude_connection_t *conn
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_connection_send</NAME>
+<RETURNS>int </RETURNS>
+prelude_connection_t *cnx, prelude_msg_t *msg
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_connection_recv</NAME>
+<RETURNS>int </RETURNS>
+prelude_connection_t *cnx, prelude_msg_t **outmsg
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_connection_recv_idmef</NAME>
+<RETURNS>int </RETURNS>
+prelude_connection_t *con, idmef_message_t **idmef
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_connection_connect</NAME>
+<RETURNS>int </RETURNS>
+prelude_connection_t *cnx,prelude_client_profile_t *profile,prelude_connection_permission_t permission
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_connection_forward</NAME>
+<RETURNS>ssize_t </RETURNS>
+prelude_connection_t *cnx, prelude_io_t *src, size_t count
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_connection_get_local_addr</NAME>
<RETURNS>const char *</RETURNS>
-prelude_error_t err
+prelude_connection_t *cnx
</FUNCTION>
<FUNCTION>
-<NAME>prelude_strsource</NAME>
+<NAME>prelude_connection_get_local_port</NAME>
+<RETURNS>unsigned int </RETURNS>
+prelude_connection_t *cnx
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_connection_get_peer_addr</NAME>
<RETURNS>const char *</RETURNS>
-prelude_error_t err
+prelude_connection_t *cnx
</FUNCTION>
<FUNCTION>
-<NAME>prelude_error_code_to_errno</NAME>
+<NAME>prelude_connection_get_peer_port</NAME>
+<RETURNS>unsigned int </RETURNS>
+prelude_connection_t *cnx
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_connection_is_alive</NAME>
+<RETURNS>prelude_bool_t </RETURNS>
+prelude_connection_t *cnx
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_connection_get_fd</NAME>
+<RETURNS>prelude_io_t *</RETURNS>
+prelude_connection_t *cnx
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_connection_close</NAME>
<RETURNS>int </RETURNS>
-prelude_error_code_t code
+prelude_connection_t *cnx
</FUNCTION>
<FUNCTION>
-<NAME>prelude_error_verbose_make_v</NAME>
-<RETURNS>prelude_error_t </RETURNS>
-prelude_error_source_t source,prelude_error_code_t code, const char *fmt, va_list ap
+<NAME>prelude_connection_set_fd_ref</NAME>
+<RETURNS>void </RETURNS>
+prelude_connection_t *cnx, prelude_io_t *fd
</FUNCTION>
<FUNCTION>
-<NAME>prelude_error_verbose_make</NAME>
-<RETURNS>prelude_error_t </RETURNS>
-prelude_error_source_t source,prelude_error_code_t code, const char *fmt, ...
+<NAME>prelude_connection_set_fd_nodup</NAME>
+<RETURNS>void </RETURNS>
+prelude_connection_t *cnx, prelude_io_t *fd
</FUNCTION>
<FUNCTION>
-<NAME>prelude_error_make</NAME>
-<RETURNS>return </RETURNS>
-PRELUDE_ERROR_SOURCE_DEFAULT, code
+<NAME>prelude_connection_set_state</NAME>
+<RETURNS>void </RETURNS>
+prelude_connection_t *cnx, prelude_connection_state_t state
</FUNCTION>
<FUNCTION>
-<NAME>prelude_error_make</NAME>
-<RETURNS>return </RETURNS>
-PRELUDE_ERROR_SOURCE_DEFAULT, prelude_error_code_from_errno(err)
+<NAME>prelude_connection_get_state</NAME>
+<RETURNS>prelude_connection_state_t </RETURNS>
+prelude_connection_t *cnx
</FUNCTION>
+<FUNCTION>
+<NAME>prelude_connection_set_data</NAME>
+<RETURNS>void </RETURNS>
+prelude_connection_t *cnx, void *data
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_connection_get_data</NAME>
+<RETURNS>void *</RETURNS>
+prelude_connection_t *cnx
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_connection_get_default_socket_filename</NAME>
+<RETURNS>const char *</RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_connection_get_permission</NAME>
+<RETURNS>prelude_connection_permission_t </RETURNS>
+prelude_connection_t *conn
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_connection_get_peer_analyzerid</NAME>
+<RETURNS>uint64_t </RETURNS>
+prelude_connection_t *cnx
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_connection_set_peer_analyzerid</NAME>
+<RETURNS>void </RETURNS>
+prelude_connection_t *cnx, uint64_t analyzerid
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_connection_new</NAME>
+<RETURNS>int </RETURNS>
+prelude_connection_t **ret, const char *addr
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_connection_new_msgbuf</NAME>
+<RETURNS>int </RETURNS>
+prelude_connection_t *connection, prelude_msgbuf_t **msgbuf
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_connection_permission_to_string</NAME>
+<RETURNS>int </RETURNS>
+prelude_connection_permission_t perm, prelude_string_t *out
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_connection_permission_new_from_string</NAME>
+<RETURNS>int </RETURNS>
+prelude_connection_permission_t *out, const char *buf
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_connection_ref</NAME>
+<RETURNS>prelude_connection_t *</RETURNS>
+prelude_connection_t *conn
+</FUNCTION>
+<ENUM>
+<NAME>prelude_client_exit_status_t</NAME>
+typedef enum {
+ PRELUDE_CLIENT_EXIT_STATUS_SUCCESS = 0,
+ PRELUDE_CLIENT_EXIT_STATUS_FAILURE = -1
+} prelude_client_exit_status_t;
+</ENUM>
+<ENUM>
+<NAME>prelude_client_flags_t</NAME>
+typedef enum {
+ PRELUDE_CLIENT_FLAGS_ASYNC_SEND = 0x01,
+ PRELUDE_CLIENT_FLAGS_ASYNC_TIMER = 0x02,
+ PRELUDE_CLIENT_FLAGS_HEARTBEAT = 0x04,
+ PRELUDE_CLIENT_FLAGS_CONNECT = 0x08,
+ PRELUDE_CLIENT_FLAGS_AUTOCONFIG = 0x10
+} prelude_client_flags_t;
+</ENUM>
+<TYPEDEF>
+<NAME>prelude_client_t</NAME>
+typedef struct prelude_client prelude_client_t;
+</TYPEDEF>
+<FUNCTION>
+<NAME>prelude_client_get_unique_ident</NAME>
+<RETURNS>prelude_ident_t *</RETURNS>
+prelude_client_t *client
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_client_set_connection_pool</NAME>
+<RETURNS>void </RETURNS>
+prelude_client_t *client, prelude_connection_pool_t *pool
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_client_get_connection_pool</NAME>
+<RETURNS>prelude_connection_pool_t *</RETURNS>
+prelude_client_t *client
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_client_start</NAME>
+<RETURNS>int </RETURNS>
+prelude_client_t *client
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_client_init</NAME>
+<RETURNS>int </RETURNS>
+prelude_client_t *client
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_client_new</NAME>
+<RETURNS>int </RETURNS>
+prelude_client_t **client, const char *profile
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_client_ref</NAME>
+<RETURNS>prelude_client_t *</RETURNS>
+prelude_client_t *client
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_client_get_analyzer</NAME>
+<RETURNS>idmef_analyzer_t *</RETURNS>
+prelude_client_t *client
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_client_get_flags</NAME>
+<RETURNS>prelude_client_flags_t </RETURNS>
+prelude_client_t *client
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_client_set_required_permission</NAME>
+<RETURNS>void </RETURNS>
+prelude_client_t *client, prelude_connection_permission_t permission
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_client_get_required_permission</NAME>
+<RETURNS>prelude_connection_permission_t </RETURNS>
+prelude_client_t *client
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_client_send_msg</NAME>
+<RETURNS>void </RETURNS>
+prelude_client_t *client, prelude_msg_t *msg
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_client_recv_msg</NAME>
+<RETURNS>int </RETURNS>
+prelude_client_t *client, int timeout, prelude_msg_t **msg
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_client_set_heartbeat_cb</NAME>
+<RETURNS>void </RETURNS>
+prelude_client_t *client, void (*cb)(prelude_client_t *client, idmef_message_t *hb)
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_client_send_idmef</NAME>
+<RETURNS>void </RETURNS>
+prelude_client_t *client, idmef_message_t *msg
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_client_recv_idmef</NAME>
+<RETURNS>int </RETURNS>
+prelude_client_t *client, int timeout, idmef_message_t **idmef
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_client_destroy</NAME>
+<RETURNS>void </RETURNS>
+prelude_client_t *client, prelude_client_exit_status_t status
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_client_set_flags</NAME>
+<RETURNS>int </RETURNS>
+prelude_client_t *client, prelude_client_flags_t flags
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_client_set_config_filename</NAME>
+<RETURNS>int </RETURNS>
+prelude_client_t *client, const char *filename
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_client_get_config_filename</NAME>
+<RETURNS>const char *</RETURNS>
+prelude_client_t *client
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_client_is_setup_needed</NAME>
+<RETURNS>prelude_bool_t </RETURNS>
+int error
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_client_get_profile</NAME>
+<RETURNS>prelude_client_profile_t *</RETURNS>
+prelude_client_t *client
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_client_new_msgbuf</NAME>
+<RETURNS>int </RETURNS>
+prelude_client_t *client, prelude_msgbuf_t **msgbuf
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_client_handle_msg_default</NAME>
+<RETURNS>int </RETURNS>
+prelude_client_t *client, prelude_msg_t *msg, prelude_msgbuf_t *msgbuf
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_client_get_setup_error</NAME>
+<RETURNS>const char *</RETURNS>
+prelude_client_t *client
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_client_print_setup_error</NAME>
+<RETURNS>void </RETURNS>
+prelude_client_t *client
+</FUNCTION>
+<TYPEDEF>
+<NAME>idmef_criterion_value_t</NAME>
+typedef struct idmef_criterion_value idmef_criterion_value_t;
+</TYPEDEF>
+<ENUM>
+<NAME>idmef_criterion_value_type_t</NAME>
+typedef enum {
+ IDMEF_CRITERION_VALUE_TYPE_ERROR = -1,
+ IDMEF_CRITERION_VALUE_TYPE_VALUE = 0,
+ IDMEF_CRITERION_VALUE_TYPE_REGEX = 1,
+ IDMEF_CRITERION_VALUE_TYPE_BROKEN_DOWN_TIME = 2
+} idmef_criterion_value_type_t;
+</ENUM>
+<FUNCTION>
+<NAME>idmef_criterion_value_new</NAME>
+<RETURNS>int </RETURNS>
+idmef_criterion_value_t **cv
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_criterion_value_new_regex</NAME>
+<RETURNS>int </RETURNS>
+idmef_criterion_value_t **cv, const char *regex, idmef_criterion_operator_t op
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_criterion_value_new_value</NAME>
+<RETURNS>int </RETURNS>
+idmef_criterion_value_t **cv, idmef_value_t *value,idmef_criterion_operator_t op
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_criterion_value_new_from_string</NAME>
+<RETURNS>int </RETURNS>
+idmef_criterion_value_t **cv, idmef_path_t *path,const char *value, idmef_criterion_operator_t op
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_criterion_value_new_broken_down_time</NAME>
+<RETURNS>int </RETURNS>
+idmef_criterion_value_t **cv, const char *time, idmef_criterion_operator_t op
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_criterion_value_clone</NAME>
+<RETURNS>int </RETURNS>
+const idmef_criterion_value_t *src, idmef_criterion_value_t **dst
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_criterion_value_destroy</NAME>
+<RETURNS>void </RETURNS>
+idmef_criterion_value_t *value
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_criterion_value_print</NAME>
+<RETURNS>int </RETURNS>
+idmef_criterion_value_t *value, prelude_io_t *fd
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_criterion_value_to_string</NAME>
+<RETURNS>int </RETURNS>
+idmef_criterion_value_t *value, prelude_string_t *out
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_criterion_value_match</NAME>
+<RETURNS>int </RETURNS>
+idmef_criterion_value_t *cv, idmef_value_t *value, idmef_criterion_operator_t op
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_criterion_value_get_value</NAME>
+<RETURNS>const idmef_value_t *</RETURNS>
+idmef_criterion_value_t *cv
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_criterion_value_get_regex</NAME>
+<RETURNS>const char *</RETURNS>
+idmef_criterion_value_t *cv
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_criterion_value_get_broken_down_time</NAME>
+<RETURNS>const struct tm *</RETURNS>
+idmef_criterion_value_t *cv
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_criterion_value_get_type</NAME>
+<RETURNS>idmef_criterion_value_type_t </RETURNS>
+idmef_criterion_value_t *cv
+</FUNCTION>
+<TYPEDEF>
+<NAME>prelude_hash_t</NAME>
+typedef struct prelude_hash prelude_hash_t;
+</TYPEDEF>
+<FUNCTION>
+<NAME>prelude_hash_new</NAME>
+<RETURNS>int </RETURNS>
+prelude_hash_t **hash,unsigned int (*hash_func)(const void *),int (*key_cmp_func)(const void *, const void *),void (*key_destroy_func)(void *),void (*value_destroy_func)(void *)
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_hash_new2</NAME>
+<RETURNS>int </RETURNS>
+prelude_hash_t **hash, size_t size,unsigned int (*hash_func)(const void *),int (*key_cmp_func)(const void *, const void *),void (*key_destroy_func)(void *),void (*value_destroy_func)(void *)
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_hash_destroy</NAME>
+<RETURNS>void </RETURNS>
+prelude_hash_t *hash
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_hash_set</NAME>
+<RETURNS>int </RETURNS>
+prelude_hash_t *hash, void *key, void *value
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_hash_get</NAME>
+<RETURNS>void *</RETURNS>
+prelude_hash_t *hash, const void *key
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_hash_elem_destroy</NAME>
+<RETURNS>int </RETURNS>
+prelude_hash_t *hash, const void *key
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_hash_iterate</NAME>
+<RETURNS>void </RETURNS>
+prelude_hash_t *hash, void (*cb)(void *data)
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_additional_data_print</NAME>
+<RETURNS>void </RETURNS>
+idmef_additional_data_t *ptr, prelude_io_t *fd
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_reference_print</NAME>
+<RETURNS>void </RETURNS>
+idmef_reference_t *ptr, prelude_io_t *fd
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_classification_print</NAME>
+<RETURNS>void </RETURNS>
+idmef_classification_t *ptr, prelude_io_t *fd
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_user_id_print</NAME>
+<RETURNS>void </RETURNS>
+idmef_user_id_t *ptr, prelude_io_t *fd
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_user_print</NAME>
+<RETURNS>void </RETURNS>
+idmef_user_t *ptr, prelude_io_t *fd
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_address_print</NAME>
+<RETURNS>void </RETURNS>
+idmef_address_t *ptr, prelude_io_t *fd
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_process_print</NAME>
+<RETURNS>void </RETURNS>
+idmef_process_t *ptr, prelude_io_t *fd
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_web_service_print</NAME>
+<RETURNS>void </RETURNS>
+idmef_web_service_t *ptr, prelude_io_t *fd
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_snmp_service_print</NAME>
+<RETURNS>void </RETURNS>
+idmef_snmp_service_t *ptr, prelude_io_t *fd
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_service_print</NAME>
+<RETURNS>void </RETURNS>
+idmef_service_t *ptr, prelude_io_t *fd
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_node_print</NAME>
+<RETURNS>void </RETURNS>
+idmef_node_t *ptr, prelude_io_t *fd
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_source_print</NAME>
+<RETURNS>void </RETURNS>
+idmef_source_t *ptr, prelude_io_t *fd
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_file_access_print</NAME>
+<RETURNS>void </RETURNS>
+idmef_file_access_t *ptr, prelude_io_t *fd
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_inode_print</NAME>
+<RETURNS>void </RETURNS>
+idmef_inode_t *ptr, prelude_io_t *fd
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_checksum_print</NAME>
+<RETURNS>void </RETURNS>
+idmef_checksum_t *ptr, prelude_io_t *fd
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_file_print</NAME>
+<RETURNS>void </RETURNS>
+idmef_file_t *ptr, prelude_io_t *fd
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_linkage_print</NAME>
+<RETURNS>void </RETURNS>
+idmef_linkage_t *ptr, prelude_io_t *fd
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_target_print</NAME>
+<RETURNS>void </RETURNS>
+idmef_target_t *ptr, prelude_io_t *fd
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_analyzer_print</NAME>
+<RETURNS>void </RETURNS>
+idmef_analyzer_t *ptr, prelude_io_t *fd
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_alertident_print</NAME>
+<RETURNS>void </RETURNS>
+idmef_alertident_t *ptr, prelude_io_t *fd
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_impact_print</NAME>
+<RETURNS>void </RETURNS>
+idmef_impact_t *ptr, prelude_io_t *fd
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_action_print</NAME>
+<RETURNS>void </RETURNS>
+idmef_action_t *ptr, prelude_io_t *fd
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_confidence_print</NAME>
+<RETURNS>void </RETURNS>
+idmef_confidence_t *ptr, prelude_io_t *fd
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_assessment_print</NAME>
+<RETURNS>void </RETURNS>
+idmef_assessment_t *ptr, prelude_io_t *fd
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_tool_alert_print</NAME>
+<RETURNS>void </RETURNS>
+idmef_tool_alert_t *ptr, prelude_io_t *fd
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_correlation_alert_print</NAME>
+<RETURNS>void </RETURNS>
+idmef_correlation_alert_t *ptr, prelude_io_t *fd
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_overflow_alert_print</NAME>
+<RETURNS>void </RETURNS>
+idmef_overflow_alert_t *ptr, prelude_io_t *fd
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_alert_print</NAME>
+<RETURNS>void </RETURNS>
+idmef_alert_t *ptr, prelude_io_t *fd
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_heartbeat_print</NAME>
+<RETURNS>void </RETURNS>
+idmef_heartbeat_t *ptr, prelude_io_t *fd
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_message_print</NAME>
+<RETURNS>void </RETURNS>
+idmef_message_t *ptr, prelude_io_t *fd
+</FUNCTION>
<MACRO>
-<NAME>PRELUDE_LINKED_OBJECT</NAME>
-#define PRELUDE_LINKED_OBJECT \
- prelude_list_t _list; \
- unsigned int _object_id
+<NAME>LIBPRELUDE_VERSION</NAME>
+#define LIBPRELUDE_VERSION "0.9.22"
</MACRO>
-<STRUCT>
-<NAME>prelude_linked_object_t</NAME>
-typedef struct {
- PRELUDE_LINKED_OBJECT;
-} prelude_linked_object_t;
-</STRUCT>
+<FUNCTION>
+<NAME>prelude_init</NAME>
+<RETURNS>int </RETURNS>
+int *argc, char **argv
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_deinit</NAME>
+<RETURNS>void </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_check_version</NAME>
+<RETURNS>const char *</RETURNS>
+const char *req_version
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_thread_init</NAME>
+<RETURNS>int </RETURNS>
+void *future_use
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_fork_prepare</NAME>
+<RETURNS>void </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_fork_parent</NAME>
+<RETURNS>void </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>prelude_fork_child</NAME>
+<RETURNS>void </RETURNS>
+void
+</FUNCTION>
<MACRO>
-<NAME>prelude_linked_object_get_object</NAME>
-#define prelude_linked_object_get_object(object) \
- (void *) prelude_list_entry(object, prelude_linked_object_t, _list)
-</MACRO>
-<MACRO>
<NAME>IDMEF_LIST_APPEND</NAME>
#define IDMEF_LIST_APPEND INT_MAX
</MACRO>
@@ -4458,1558 +6685,288 @@
#define IDMEF_CLASS_ID_MESSAGE 49
</MACRO>
<TYPEDEF>
-<NAME>prelude_io_t</NAME>
-typedef struct prelude_io prelude_io_t;
+<NAME>prelude_ident_t</NAME>
+typedef struct prelude_ident prelude_ident_t;
</TYPEDEF>
<FUNCTION>
-<NAME>prelude_io_new</NAME>
+<NAME>prelude_ident_generate</NAME>
<RETURNS>int </RETURNS>
-prelude_io_t **ret
+prelude_ident_t *ident, prelude_string_t *out
</FUNCTION>
<FUNCTION>
-<NAME>prelude_io_destroy</NAME>
-<RETURNS>void </RETURNS>
-prelude_io_t *pio
+<NAME>prelude_ident_inc</NAME>
+<RETURNS>uint64_t </RETURNS>
+prelude_ident_t *ident
</FUNCTION>
<FUNCTION>
-<NAME>prelude_io_set_file_io</NAME>
+<NAME>prelude_ident_destroy</NAME>
<RETURNS>void </RETURNS>
-prelude_io_t *pio, FILE *fd
+prelude_ident_t *ident
</FUNCTION>
<FUNCTION>
-<NAME>prelude_io_set_tls_io</NAME>
-<RETURNS>void </RETURNS>
-prelude_io_t *pio, void *tls
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_io_set_sys_io</NAME>
-<RETURNS>void </RETURNS>
-prelude_io_t *pio, int fd
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_io_set_buffer_io</NAME>
+<NAME>prelude_ident_new</NAME>
<RETURNS>int </RETURNS>
-prelude_io_t *pio
+prelude_ident_t **ret
</FUNCTION>
<FUNCTION>
-<NAME>prelude_io_set_fdptr</NAME>
-<RETURNS>void </RETURNS>
-prelude_io_t *pio, void *ptr
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_io_set_write_callback</NAME>
-<RETURNS>void </RETURNS>
-prelude_io_t *pio, ssize_t (*write)(prelude_io_t *io, const void *buf, size_t count)
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_io_set_read_callback</NAME>
-<RETURNS>void </RETURNS>
-prelude_io_t *pio, ssize_t (*read)(prelude_io_t *io, void *buf, size_t count)
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_io_set_pending_callback</NAME>
-<RETURNS>void </RETURNS>
-prelude_io_t *pio, ssize_t (*pending)(prelude_io_t *io)
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_io_close</NAME>
+<NAME>idmef_additional_data_new_real</NAME>
<RETURNS>int </RETURNS>
-prelude_io_t *pio
+idmef_additional_data_t **ret, float data
</FUNCTION>
<FUNCTION>
-<NAME>prelude_io_read</NAME>
-<RETURNS>ssize_t </RETURNS>
-prelude_io_t *pio, void *buf, size_t count
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_io_read_wait</NAME>
-<RETURNS>ssize_t </RETURNS>
-prelude_io_t *pio, void *buf, size_t count
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_io_read_delimited</NAME>
-<RETURNS>ssize_t </RETURNS>
-prelude_io_t *pio, unsigned char **buf
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_io_write</NAME>
-<RETURNS>ssize_t </RETURNS>
-prelude_io_t *pio, const void *buf, size_t count
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_io_write_delimited</NAME>
-<RETURNS>ssize_t </RETURNS>
-prelude_io_t *pio, const void *buf, uint16_t count
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_io_forward</NAME>
-<RETURNS>ssize_t </RETURNS>
-prelude_io_t *dst, prelude_io_t *src, size_t count
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_io_get_fd</NAME>
+<NAME>idmef_additional_data_new_byte</NAME>
<RETURNS>int </RETURNS>
-prelude_io_t *pio
+idmef_additional_data_t **ret, uint8_t byte
</FUNCTION>
<FUNCTION>
-<NAME>prelude_io_get_fdptr</NAME>
-<RETURNS>void *</RETURNS>
-prelude_io_t *pio
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_io_pending</NAME>
-<RETURNS>ssize_t </RETURNS>
-prelude_io_t *pio
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_io_is_error_fatal</NAME>
-<RETURNS>prelude_bool_t </RETURNS>
-prelude_io_t *pio, int error
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_message_set_value</NAME>
+<NAME>idmef_additional_data_new_integer</NAME>
<RETURNS>int </RETURNS>
-idmef_message_t *message, const char *path, idmef_value_t *value
+idmef_additional_data_t **ret, uint32_t data
</FUNCTION>
<FUNCTION>
-<NAME>idmef_message_get_value</NAME>
+<NAME>idmef_additional_data_new_boolean</NAME>
<RETURNS>int </RETURNS>
-idmef_message_t *message, const char *path, idmef_value_t **value
+idmef_additional_data_t **ret, prelude_bool_t data
</FUNCTION>
<FUNCTION>
-<NAME>idmef_message_set_string</NAME>
+<NAME>idmef_additional_data_new_character</NAME>
<RETURNS>int </RETURNS>
-idmef_message_t *message, const char *path, const char *value
+idmef_additional_data_t **ret, char data
</FUNCTION>
<FUNCTION>
-<NAME>idmef_message_get_string</NAME>
-<RETURNS>int </RETURNS>
-idmef_message_t *message, const char *path, char **result
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_message_set_number</NAME>
-<RETURNS>int </RETURNS>
-idmef_message_t *message, const char *path, double number
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_message_get_number</NAME>
-<RETURNS>int </RETURNS>
-idmef_message_t *message, const char *path, double *result
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_message_set_data</NAME>
-<RETURNS>int </RETURNS>
-idmef_message_t *message, const char *path, const unsigned char *data, size_t size
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_message_get_data</NAME>
-<RETURNS>int </RETURNS>
-idmef_message_t *message, const char *path, unsigned char **data, size_t *size
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_thread_init</NAME>
-<RETURNS>int </RETURNS>
-void *nil
-</FUNCTION>
-<ENUM>
-<NAME>prelude_log_t</NAME>
-typedef enum {
- PRELUDE_LOG_CRIT = -1,
- PRELUDE_LOG_ERR = 0,
- PRELUDE_LOG_WARN = 1,
- PRELUDE_LOG_INFO = 2,
- PRELUDE_LOG_DEBUG = 3
-} prelude_log_t;
-</ENUM>
-<ENUM>
-<NAME>prelude_log_flags_t</NAME>
-typedef enum {
- PRELUDE_LOG_FLAGS_QUIET = 0x01, /* Drop PRELUDE_LOG_PRIORITY_INFO */
- PRELUDE_LOG_FLAGS_SYSLOG = 0x02
-} prelude_log_flags_t;
-</ENUM>
-<MACRO>
-<NAME>prelude_log</NAME>
-#define prelude_log(level, ...) \
- _prelude_log(level, __FILE__, __PRELUDE_FUNC__, __LINE__, __VA_ARGS__)
-</MACRO>
-<MACRO>
-<NAME>prelude_log_debug</NAME>
-#define prelude_log_debug(level, ...) \
- _prelude_log(PRELUDE_LOG_DEBUG + level, __FILE__, __PRELUDE_FUNC__, __LINE__, __VA_ARGS__)
-</MACRO>
-<FUNCTION>
-<NAME>prelude_log</NAME>
+<NAME>idmef_additional_data_set_real</NAME>
<RETURNS>void </RETURNS>
-prelude_log_t level, const char *fmt, ...
+idmef_additional_data_t *ptr, float data
</FUNCTION>
<FUNCTION>
-<NAME>prelude_log_debug</NAME>
+<NAME>idmef_additional_data_set_byte</NAME>
<RETURNS>void </RETURNS>
-prelude_log_t level, const char *fmt, ...
+idmef_additional_data_t *ptr, uint8_t byte
</FUNCTION>
-<MACRO>
-<NAME>prelude_log_v</NAME>
-#define prelude_log_v(level, fmt, ap) \
- _prelude_log_v(level, __FILE__, __PRELUDE_FUNC__, __LINE__, fmt, ap)
-</MACRO>
-<MACRO>
-<NAME>prelude_log_debug_v</NAME>
-#define prelude_log_debug_v(level, fmt, ap) \
- _prelude_log_v(PRELUDE_LOG_DEBUG + level, __FILE__, __PRELUDE_FUNC__, __LINE__, fmt, ap)
-</MACRO>
<FUNCTION>
-<NAME>prelude_log_set_level</NAME>
+<NAME>idmef_additional_data_set_integer</NAME>
<RETURNS>void </RETURNS>
-prelude_log_t level
+idmef_additional_data_t *ptr, uint32_t data
</FUNCTION>
<FUNCTION>
-<NAME>prelude_log_set_debug_level</NAME>
+<NAME>idmef_additional_data_set_boolean</NAME>
<RETURNS>void </RETURNS>
-int level
+idmef_additional_data_t *ptr, prelude_bool_t data
</FUNCTION>
<FUNCTION>
-<NAME>prelude_log_get_flags</NAME>
-<RETURNS>prelude_log_flags_t </RETURNS>
-void
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_log_set_flags</NAME>
+<NAME>idmef_additional_data_set_character</NAME>
<RETURNS>void </RETURNS>
-prelude_log_flags_t flags
+idmef_additional_data_t *ptr, char data
</FUNCTION>
<FUNCTION>
-<NAME>prelude_log_get_prefix</NAME>
-<RETURNS>char *</RETURNS>
-void
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_log_set_prefix</NAME>
-<RETURNS>void </RETURNS>
-char *prefix
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_log_set_callback</NAME>
-<RETURNS>void </RETURNS>
-void log_cb(prelude_log_t level, const char *str)
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_log_set_logfile</NAME>
+<NAME>idmef_additional_data_new_byte_string_ref</NAME>
<RETURNS>int </RETURNS>
-const char *filename
+idmef_additional_data_t **ad, const unsigned char *data, size_t len
</FUNCTION>
-<TYPEDEF>
-<NAME>prelude_msg_t</NAME>
-typedef struct prelude_msg prelude_msg_t;
-</TYPEDEF>
-<ENUM>
-<NAME>prelude_msg_priority_t</NAME>
-typedef enum {
- PRELUDE_MSG_PRIORITY_NONE = 0,
- PRELUDE_MSG_PRIORITY_LOW = 1,
- PRELUDE_MSG_PRIORITY_MID = 2,
- PRELUDE_MSG_PRIORITY_HIGH = 3
-} prelude_msg_priority_t;
-</ENUM>
<FUNCTION>
-<NAME>prelude_msg_read</NAME>
+<NAME>idmef_additional_data_set_byte_string_ref</NAME>
<RETURNS>int </RETURNS>
-prelude_msg_t **msg, prelude_io_t *pio
+idmef_additional_data_t *ad, const unsigned char *data, size_t len
</FUNCTION>
<FUNCTION>
-<NAME>prelude_msg_forward</NAME>
+<NAME>idmef_additional_data_new_byte_string_dup</NAME>
<RETURNS>int </RETURNS>
-prelude_msg_t *msg, prelude_io_t *dst, prelude_io_t *src
+idmef_additional_data_t **ad, const unsigned char *data, size_t len
</FUNCTION>
<FUNCTION>
-<NAME>prelude_msg_get</NAME>
+<NAME>idmef_additional_data_set_byte_string_dup</NAME>
<RETURNS>int </RETURNS>
-prelude_msg_t *msg, uint8_t *tag, uint32_t *len, void **buf
+idmef_additional_data_t *ad, const unsigned char *data, size_t len
</FUNCTION>
<FUNCTION>
-<NAME>prelude_msg_recycle</NAME>
-<RETURNS>void </RETURNS>
-prelude_msg_t *msg
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_msg_mark_end</NAME>
-<RETURNS>void </RETURNS>
-prelude_msg_t *msg
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_msg_dynamic_new</NAME>
+<NAME>idmef_additional_data_new_byte_string_nodup</NAME>
<RETURNS>int </RETURNS>
-prelude_msg_t **ret, int (*flush_msg_cb)(prelude_msg_t **msg, void *data), void *data
+idmef_additional_data_t **ad, unsigned char *data, size_t len
</FUNCTION>
<FUNCTION>
-<NAME>prelude_msg_new</NAME>
+<NAME>idmef_additional_data_set_byte_string_nodup</NAME>
<RETURNS>int </RETURNS>
-prelude_msg_t **ret, size_t msgcount, size_t msglen, uint8_t tag, prelude_msg_priority_t priority
+idmef_additional_data_t *ad, unsigned char *data, size_t len
</FUNCTION>
<FUNCTION>
-<NAME>prelude_msg_set</NAME>
+<NAME>idmef_additional_data_copy_ref</NAME>
<RETURNS>int </RETURNS>
-prelude_msg_t *msg, uint8_t tag, uint32_t len, const void *data
+idmef_additional_data_t *src, idmef_additional_data_t *dst
</FUNCTION>
<FUNCTION>
-<NAME>prelude_msg_write</NAME>
+<NAME>idmef_additional_data_copy_dup</NAME>
<RETURNS>int </RETURNS>
-prelude_msg_t *msg, prelude_io_t *dst
+idmef_additional_data_t *src, idmef_additional_data_t *dst
</FUNCTION>
<FUNCTION>
-<NAME>prelude_msg_set_tag</NAME>
-<RETURNS>void </RETURNS>
-prelude_msg_t *msg, uint8_t tag
+<NAME>idmef_additional_data_get_real</NAME>
+<RETURNS>float </RETURNS>
+idmef_additional_data_t *data
</FUNCTION>
<FUNCTION>
-<NAME>prelude_msg_set_priority</NAME>
-<RETURNS>void </RETURNS>
-prelude_msg_t *msg, prelude_msg_priority_t priority
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_msg_get_tag</NAME>
-<RETURNS>uint8_t </RETURNS>
-prelude_msg_t *msg
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_msg_get_priority</NAME>
-<RETURNS>prelude_msg_priority_t </RETURNS>
-prelude_msg_t *msg
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_msg_get_len</NAME>
+<NAME>idmef_additional_data_get_integer</NAME>
<RETURNS>uint32_t </RETURNS>
-prelude_msg_t *msg
+idmef_additional_data_t *data
</FUNCTION>
<FUNCTION>
-<NAME>prelude_msg_get_datalen</NAME>
-<RETURNS>uint32_t </RETURNS>
-prelude_msg_t *msg
+<NAME>idmef_additional_data_get_boolean</NAME>
+<RETURNS>prelude_bool_t </RETURNS>
+idmef_additional_data_t *data
</FUNCTION>
<FUNCTION>
-<NAME>prelude_msg_get_message_data</NAME>
-<RETURNS>const unsigned char *</RETURNS>
-prelude_msg_t *msg
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_msg_get_time</NAME>
-<RETURNS>struct timeval *</RETURNS>
-prelude_msg_t *msg, struct timeval *tv
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_msg_is_empty</NAME>
-<RETURNS>int </RETURNS>
-prelude_msg_t *msg
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_msg_is_fragment</NAME>
-<RETURNS>int </RETURNS>
-prelude_msg_t *msg
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_msg_destroy</NAME>
-<RETURNS>void </RETURNS>
-prelude_msg_t *msg
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_msg_set_callback</NAME>
-<RETURNS>void </RETURNS>
-prelude_msg_t *msg, int (*flush_msg_cb)(prelude_msg_t **msg, void *data)
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_msg_set_data</NAME>
-<RETURNS>void </RETURNS>
-prelude_msg_t *msg, void *data
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_msg_ref</NAME>
-<RETURNS>prelude_msg_t *</RETURNS>
-prelude_msg_t *msg
-</FUNCTION>
-<ENUM>
-<NAME>prelude_option_type_t</NAME>
-typedef enum {
- PRELUDE_OPTION_TYPE_CLI = 0x01,
- PRELUDE_OPTION_TYPE_CFG = 0x02,
- PRELUDE_OPTION_TYPE_WIDE = 0x04,
- PRELUDE_OPTION_TYPE_CONTEXT = 0x08,
- PRELUDE_OPTION_TYPE_ROOT = 0x10,
- PRELUDE_OPTION_TYPE_DESTROY = 0x20
-} prelude_option_type_t;
-</ENUM>
-<ENUM>
-<NAME>prelude_option_input_type_t</NAME>
-typedef enum {
- PRELUDE_OPTION_INPUT_TYPE_STRING = 1,
- PRELUDE_OPTION_INPUT_TYPE_INTEGER = 2,
- PRELUDE_OPTION_INPUT_TYPE_BOOLEAN = 3
-} prelude_option_input_type_t;
-</ENUM>
-<TYPEDEF>
-<NAME>prelude_option_t</NAME>
-typedef struct prelude_option prelude_option_t;
-</TYPEDEF>
-<TYPEDEF>
-<NAME>prelude_option_context_t</NAME>
-typedef struct prelude_option_context prelude_option_context_t;
-</TYPEDEF>
-<USER_FUNCTION>
-<NAME>prelude_option_destroy_callback_t</NAME>
-<RETURNS>int </RETURNS>
-prelude_option_t *opt, prelude_string_t *out, void *context
-</USER_FUNCTION>
-<USER_FUNCTION>
-<NAME>prelude_option_commit_callback_t</NAME>
-<RETURNS>int </RETURNS>
-prelude_option_t *opt, prelude_string_t *out, void *context
-</USER_FUNCTION>
-<USER_FUNCTION>
-<NAME>prelude_option_get_callback_t</NAME>
-<RETURNS>int </RETURNS>
-prelude_option_t *opt, prelude_string_t *out, void *context
-</USER_FUNCTION>
-<USER_FUNCTION>
-<NAME>prelude_option_set_callback_t</NAME>
-<RETURNS>int </RETURNS>
-prelude_option_t *opt, const char *optarg, prelude_string_t *err, void *context
-</USER_FUNCTION>
-<ENUM>
-<NAME>prelude_option_argument_t</NAME>
-typedef enum {
- PRELUDE_OPTION_ARGUMENT_REQUIRED = 1,
- PRELUDE_OPTION_ARGUMENT_OPTIONAL = 2,
- PRELUDE_OPTION_ARGUMENT_NONE = 3
-} prelude_option_argument_t;
-</ENUM>
-<ENUM>
-<NAME>prelude_option_priority_t</NAME>
-typedef enum {
- PRELUDE_OPTION_PRIORITY_IMMEDIATE = -2,
- PRELUDE_OPTION_PRIORITY_FIRST = -1,
- PRELUDE_OPTION_PRIORITY_NONE = 0,
- PRELUDE_OPTION_PRIORITY_LAST = 2
-} prelude_option_priority_t;
-</ENUM>
-<ENUM>
-<NAME>prelude_option_warning_t</NAME>
-typedef enum {
- PRELUDE_OPTION_WARNING_OPTION = 0x1,
- PRELUDE_OPTION_WARNING_ARG = 0x2
-} prelude_option_warning_t;
-</ENUM>
-<FUNCTION>
-<NAME>prelude_option_set_priority</NAME>
-<RETURNS>void </RETURNS>
-prelude_option_t *option, prelude_option_priority_t priority
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_option_print</NAME>
-<RETURNS>void </RETURNS>
-prelude_option_t *opt, prelude_option_type_t type, int descoff, FILE *fd
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_option_wide_send_msg</NAME>
-<RETURNS>int </RETURNS>
-prelude_msgbuf_t *msgbuf, void *context
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_option_destroy</NAME>
-<RETURNS>void </RETURNS>
-prelude_option_t *option
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_option_read</NAME>
-<RETURNS>int </RETURNS>
-prelude_option_t *option, const char **filename,int *argc, char **argv, prelude_string_t **err, void *context
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_option_add</NAME>
-<RETURNS>int </RETURNS>
-prelude_option_t *parent, prelude_option_t **retopt, prelude_option_type_t type,char shortopt, const char *longopt, const char *desc, prelude_option_argument_t has_arg,int (*set)(prelude_option_t *opt, const char *optarg, prelude_string_t *err, void *context),int (*get)(prelude_option_t *opt, prelude_string_t *out, void *context)
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_option_set_type</NAME>
-<RETURNS>void </RETURNS>
-prelude_option_t *opt, prelude_option_type_t type
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_option_get_type</NAME>
-<RETURNS>prelude_option_type_t </RETURNS>
-prelude_option_t *opt
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_option_set_warnings</NAME>
-<RETURNS>void </RETURNS>
-prelude_option_warning_t new_warnings, prelude_option_warning_t *old_warnings
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_option_get_shortname</NAME>
+<NAME>idmef_additional_data_get_character</NAME>
<RETURNS>char </RETURNS>
-prelude_option_t *opt
+idmef_additional_data_t *data
</FUNCTION>
<FUNCTION>
-<NAME>prelude_option_get_longname</NAME>
-<RETURNS>const char *</RETURNS>
-prelude_option_t *opt
+<NAME>idmef_additional_data_get_byte</NAME>
+<RETURNS>uint8_t </RETURNS>
+idmef_additional_data_t *data
</FUNCTION>
<FUNCTION>
-<NAME>prelude_option_set_data</NAME>
-<RETURNS>void </RETURNS>
-prelude_option_t *opt, void *data
+<NAME>idmef_additional_data_get_len</NAME>
+<RETURNS>size_t </RETURNS>
+idmef_additional_data_t *data
</FUNCTION>
<FUNCTION>
-<NAME>prelude_option_get_data</NAME>
-<RETURNS>void *</RETURNS>
-prelude_option_t *opt
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_option_invoke_commit</NAME>
-<RETURNS>int </RETURNS>
-prelude_option_t *opt, const char *ctname, prelude_string_t *value, void *context
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_option_invoke_set</NAME>
-<RETURNS>int </RETURNS>
-prelude_option_t *opt, const char *ctname, prelude_string_t *value, void **context
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_option_invoke_get</NAME>
-<RETURNS>int </RETURNS>
-prelude_option_t *opt, const char *ctname, prelude_string_t *value, void *context
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_option_invoke_destroy</NAME>
-<RETURNS>int </RETURNS>
-prelude_option_t *opt, const char *ctname, prelude_string_t *value, void *context
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_option_new_root</NAME>
-<RETURNS>int </RETURNS>
-prelude_option_t **retopt
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_option_new</NAME>
-<RETURNS>int </RETURNS>
-prelude_option_t *parent, prelude_option_t **retopt
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_option_set_longopt</NAME>
-<RETURNS>void </RETURNS>
-prelude_option_t *opt, const char *longopt
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_option_get_longopt</NAME>
-<RETURNS>const char *</RETURNS>
-prelude_option_t *opt
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_option_set_description</NAME>
-<RETURNS>void </RETURNS>
-prelude_option_t *opt, const char *description
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_option_get_description</NAME>
-<RETURNS>const char *</RETURNS>
-prelude_option_t *opt
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_option_set_has_arg</NAME>
-<RETURNS>void </RETURNS>
-prelude_option_t *opt, prelude_option_argument_t has_arg
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_option_get_has_arg</NAME>
-<RETURNS>prelude_option_argument_t </RETURNS>
-prelude_option_t *opt
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_option_set_value</NAME>
-<RETURNS>void </RETURNS>
-prelude_option_t *opt, const char *value
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_option_get_value</NAME>
-<RETURNS>const char *</RETURNS>
-prelude_option_t *opt
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_option_set_help</NAME>
-<RETURNS>void </RETURNS>
-prelude_option_t *opt, const char *help
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_option_get_help</NAME>
-<RETURNS>const char *</RETURNS>
-prelude_option_t *opt
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_option_set_input_validation_regex</NAME>
-<RETURNS>void </RETURNS>
-prelude_option_t *opt, const char *regex
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_option_get_input_validation_regex</NAME>
-<RETURNS>const char *</RETURNS>
-prelude_option_t *opt
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_option_set_input_type</NAME>
-<RETURNS>void </RETURNS>
-prelude_option_t *opt, prelude_option_input_type_t input_type
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_option_get_input_type</NAME>
-<RETURNS>prelude_option_input_type_t </RETURNS>
-prelude_option_t *opt
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_option_get_optlist</NAME>
-<RETURNS>prelude_list_t *</RETURNS>
-prelude_option_t *opt
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_option_get_next</NAME>
-<RETURNS>prelude_option_t *</RETURNS>
-prelude_option_t *start, prelude_option_t *cur
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_option_has_optlist</NAME>
+<NAME>idmef_additional_data_is_empty</NAME>
<RETURNS>prelude_bool_t </RETURNS>
-prelude_option_t *opt
+idmef_additional_data_t *data
</FUNCTION>
<FUNCTION>
-<NAME>prelude_option_get_parent</NAME>
-<RETURNS>prelude_option_t *</RETURNS>
-prelude_option_t *opt
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_option_set_destroy_callback</NAME>
-<RETURNS>void </RETURNS>
-prelude_option_t *opt,prelude_option_destroy_callback_t destroy
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_option_get_destroy_callback</NAME>
-<RETURNS>prelude_option_destroy_callback_t </RETURNS>
-prelude_option_t *opt
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_option_set_set_callback</NAME>
-<RETURNS>void </RETURNS>
-prelude_option_t *opt,prelude_option_set_callback_t set
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_option_get_set_callback</NAME>
-<RETURNS>prelude_option_set_callback_t </RETURNS>
-prelude_option_t *opt
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_option_set_get_callback</NAME>
-<RETURNS>void </RETURNS>
-prelude_option_t *opt,int (*get)(prelude_option_t *opt, prelude_string_t *out, void *context)
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_option_get_get_callback</NAME>
-<RETURNS>prelude_option_get_callback_t </RETURNS>
-prelude_option_t *opt
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_option_set_commit_callback</NAME>
-<RETURNS>void </RETURNS>
-prelude_option_t *opt, prelude_option_commit_callback_t commit
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_option_get_commit_callback</NAME>
-<RETURNS>prelude_option_commit_callback_t </RETURNS>
-prelude_option_t *opt
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_option_set_default_context</NAME>
-<RETURNS>void </RETURNS>
-prelude_option_t *opt, void *context
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_option_new_context</NAME>
+<NAME>idmef_additional_data_data_to_string</NAME>
<RETURNS>int </RETURNS>
-prelude_option_t *opt, prelude_option_context_t **ctx, const char *name, void *data
+idmef_additional_data_t *ad, prelude_string_t *out
</FUNCTION>
-<FUNCTION>
-<NAME>prelude_option_context_destroy</NAME>
-<RETURNS>void </RETURNS>
-prelude_option_context_t *oc
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_option_search</NAME>
-<RETURNS>prelude_option_t *</RETURNS>
-prelude_option_t *parent, const char *name,prelude_option_type_t type, prelude_bool_t walk_children
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_option_search_context</NAME>
-<RETURNS>prelude_option_context_t *</RETURNS>
-prelude_option_t *opt, const char *name
-</FUNCTION>
<ENUM>
-<NAME>prelude_connection_permission_t</NAME>
+<NAME>prelude_connection_pool_flags_t</NAME>
typedef enum {
- PRELUDE_CONNECTION_PERMISSION_IDMEF_READ = 0x01, /* client might read received IDMEF message */
- PRELUDE_CONNECTION_PERMISSION_ADMIN_READ = 0x02, /* client might read received ADMIN message */
- PRELUDE_CONNECTION_PERMISSION_IDMEF_WRITE = 0x04, /* client might send IDMEF message */
- PRELUDE_CONNECTION_PERMISSION_ADMIN_WRITE = 0x08 /* client might issue OPTION request */
-} prelude_connection_permission_t;
+ PRELUDE_CONNECTION_POOL_FLAGS_RECONNECT = 0x01,
+ PRELUDE_CONNECTION_POOL_FLAGS_FAILOVER = 0x02
+} prelude_connection_pool_flags_t;
</ENUM>
<ENUM>
-<NAME>prelude_connection_state_t</NAME>
+<NAME>prelude_connection_pool_event_t</NAME>
typedef enum {
- PRELUDE_CONNECTION_STATE_ESTABLISHED = 0x01
-} prelude_connection_state_t;
+ PRELUDE_CONNECTION_POOL_EVENT_INPUT = 0x01,
+ PRELUDE_CONNECTION_POOL_EVENT_DEAD = 0x02,
+ PRELUDE_CONNECTION_POOL_EVENT_ALIVE = 0x04
+} prelude_connection_pool_event_t;
</ENUM>
<TYPEDEF>
-<NAME>prelude_connection_t</NAME>
-typedef struct prelude_connection prelude_connection_t;
+<NAME>prelude_connection_pool_t</NAME>
+typedef struct prelude_connection_pool prelude_connection_pool_t;
</TYPEDEF>
<FUNCTION>
-<NAME>prelude_connection_destroy</NAME>
+<NAME>prelude_connection_pool_broadcast</NAME>
<RETURNS>void </RETURNS>
-prelude_connection_t *conn
+prelude_connection_pool_t *pool, prelude_msg_t *msg
</FUNCTION>
<FUNCTION>
-<NAME>prelude_connection_ref</NAME>
-<RETURNS>prelude_connection_t *</RETURNS>
-prelude_connection_t *conn
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_connection_send</NAME>
-<RETURNS>int </RETURNS>
-prelude_connection_t *cnx, prelude_msg_t *msg
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_connection_recv</NAME>
-<RETURNS>int </RETURNS>
-prelude_connection_t *cnx, prelude_msg_t **outmsg
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_connection_recv_idmef</NAME>
-<RETURNS>int </RETURNS>
-prelude_connection_t *con, idmef_message_t **idmef
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_connection_connect</NAME>
-<RETURNS>int </RETURNS>
-prelude_connection_t *cnx,prelude_client_profile_t *profile,prelude_connection_permission_t permission
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_connection_forward</NAME>
-<RETURNS>ssize_t </RETURNS>
-prelude_connection_t *cnx, prelude_io_t *src, size_t count
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_connection_get_local_addr</NAME>
-<RETURNS>const char *</RETURNS>
-prelude_connection_t *cnx
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_connection_get_local_port</NAME>
-<RETURNS>unsigned int </RETURNS>
-prelude_connection_t *cnx
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_connection_get_peer_addr</NAME>
-<RETURNS>const char *</RETURNS>
-prelude_connection_t *cnx
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_connection_get_peer_port</NAME>
-<RETURNS>unsigned int </RETURNS>
-prelude_connection_t *cnx
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_connection_is_alive</NAME>
-<RETURNS>prelude_bool_t </RETURNS>
-prelude_connection_t *cnx
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_connection_get_fd</NAME>
-<RETURNS>prelude_io_t *</RETURNS>
-prelude_connection_t *cnx
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_connection_close</NAME>
-<RETURNS>int </RETURNS>
-prelude_connection_t *cnx
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_connection_set_fd_ref</NAME>
+<NAME>prelude_connection_pool_broadcast_async</NAME>
<RETURNS>void </RETURNS>
-prelude_connection_t *cnx, prelude_io_t *fd
+prelude_connection_pool_t *pool, prelude_msg_t *msg
</FUNCTION>
<FUNCTION>
-<NAME>prelude_connection_set_fd_nodup</NAME>
-<RETURNS>void </RETURNS>
-prelude_connection_t *cnx, prelude_io_t *fd
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_connection_set_state</NAME>
-<RETURNS>void </RETURNS>
-prelude_connection_t *cnx, prelude_connection_state_t state
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_connection_get_state</NAME>
-<RETURNS>prelude_connection_state_t </RETURNS>
-prelude_connection_t *cnx
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_connection_set_data</NAME>
-<RETURNS>void </RETURNS>
-prelude_connection_t *cnx, void *data
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_connection_get_data</NAME>
-<RETURNS>void *</RETURNS>
-prelude_connection_t *cnx
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_connection_get_default_socket_filename</NAME>
-<RETURNS>const char *</RETURNS>
-void
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_connection_get_permission</NAME>
-<RETURNS>prelude_connection_permission_t </RETURNS>
-prelude_connection_t *conn
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_connection_get_peer_analyzerid</NAME>
-<RETURNS>uint64_t </RETURNS>
-prelude_connection_t *cnx
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_connection_set_peer_analyzerid</NAME>
-<RETURNS>void </RETURNS>
-prelude_connection_t *cnx, uint64_t analyzerid
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_connection_new</NAME>
+<NAME>prelude_connection_pool_init</NAME>
<RETURNS>int </RETURNS>
-prelude_connection_t **ret, const char *addr
+prelude_connection_pool_t *pool
</FUNCTION>
<FUNCTION>
-<NAME>prelude_connection_new_msgbuf</NAME>
+<NAME>prelude_connection_pool_new</NAME>
<RETURNS>int </RETURNS>
-prelude_connection_t *connection, prelude_msgbuf_t **msgbuf
+prelude_connection_pool_t **ret,prelude_client_profile_t *cp,prelude_connection_permission_t permission
</FUNCTION>
<FUNCTION>
-<NAME>prelude_connection_permission_to_string</NAME>
-<RETURNS>int </RETURNS>
-prelude_connection_permission_t perm, prelude_string_t *out
+<NAME>prelude_connection_pool_get_connection_list</NAME>
+<RETURNS>prelude_list_t *</RETURNS>
+prelude_connection_pool_t *pool
</FUNCTION>
<FUNCTION>
-<NAME>prelude_connection_permission_new_from_string</NAME>
+<NAME>prelude_connection_pool_add_connection</NAME>
<RETURNS>int </RETURNS>
-prelude_connection_permission_t *out, const char *buf
+prelude_connection_pool_t *pool, prelude_connection_t *cnx
</FUNCTION>
<FUNCTION>
-<NAME>prelude_connection_ref</NAME>
-<RETURNS>prelude_connection_t *</RETURNS>
-prelude_connection_t *conn
-</FUNCTION>
-<TYPEDEF>
-<NAME>prelude_string_t</NAME>
-typedef struct prelude_string prelude_string_t;
-</TYPEDEF>
-<FUNCTION>
-<NAME>prelude_string_new</NAME>
+<NAME>prelude_connection_pool_del_connection</NAME>
<RETURNS>int </RETURNS>
-prelude_string_t **string
+prelude_connection_pool_t *pool, prelude_connection_t *cnx
</FUNCTION>
<FUNCTION>
-<NAME>prelude_string_new_nodup</NAME>
+<NAME>prelude_connection_pool_set_connection_dead</NAME>
<RETURNS>int </RETURNS>
-prelude_string_t **string, char *str
+prelude_connection_pool_t *pool, prelude_connection_t *cnx
</FUNCTION>
<FUNCTION>
-<NAME>prelude_string_new_ref</NAME>
+<NAME>prelude_connection_pool_set_connection_alive</NAME>
<RETURNS>int </RETURNS>
-prelude_string_t **string, const char *str
+prelude_connection_pool_t *pool, prelude_connection_t *cnx
</FUNCTION>
<FUNCTION>
-<NAME>prelude_string_new_dup</NAME>
+<NAME>prelude_connection_pool_set_connection_string</NAME>
<RETURNS>int </RETURNS>
-prelude_string_t **string, const char *str
+prelude_connection_pool_t *pool, const char *cfgstr
</FUNCTION>
<FUNCTION>
-<NAME>prelude_string_new_dup_fast</NAME>
-<RETURNS>int </RETURNS>
-prelude_string_t **string, const char *str, size_t len
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_string_destroy</NAME>
-<RETURNS>void </RETURNS>
-prelude_string_t *string
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_string_destroy_internal</NAME>
-<RETURNS>void </RETURNS>
-prelude_string_t *string
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_string_new_nodup_fast</NAME>
-<RETURNS>int </RETURNS>
-prelude_string_t **string, char *str, size_t len
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_string_new_ref_fast</NAME>
-<RETURNS>int </RETURNS>
-prelude_string_t **string, const char *str, size_t len
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_string_set_dup_fast</NAME>
-<RETURNS>int </RETURNS>
-prelude_string_t *string, const char *buf, size_t len
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_string_set_dup</NAME>
-<RETURNS>int </RETURNS>
-prelude_string_t *string, const char *buf
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_string_set_nodup_fast</NAME>
-<RETURNS>int </RETURNS>
-prelude_string_t *string, char *buf, size_t len
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_string_set_nodup</NAME>
-<RETURNS>int </RETURNS>
-prelude_string_t *string, char *buf
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_string_set_ref_fast</NAME>
-<RETURNS>int </RETURNS>
-prelude_string_t *string, const char *buf, size_t len
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_string_set_ref</NAME>
-<RETURNS>int </RETURNS>
-prelude_string_t *string, const char *buf
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_string_copy_ref</NAME>
-<RETURNS>int </RETURNS>
-const prelude_string_t *src, prelude_string_t *dst
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_string_copy_dup</NAME>
-<RETURNS>int </RETURNS>
-const prelude_string_t *src, prelude_string_t *dst
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_string_ref</NAME>
-<RETURNS>prelude_string_t *</RETURNS>
-prelude_string_t *string
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_string_clone</NAME>
-<RETURNS>int </RETURNS>
-const prelude_string_t *src, prelude_string_t **dst
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_string_get_len</NAME>
-<RETURNS>size_t </RETURNS>
-const prelude_string_t *string
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_string_get_string_or_default</NAME>
+<NAME>prelude_connection_pool_get_connection_string</NAME>
<RETURNS>const char *</RETURNS>
-const prelude_string_t *string, const char *def
+prelude_connection_pool_t *pool
</FUNCTION>
<FUNCTION>
-<NAME>prelude_string_get_string</NAME>
-<RETURNS>const char *</RETURNS>
-const prelude_string_t *string
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_string_get_string_released</NAME>
-<RETURNS>int </RETURNS>
-prelude_string_t *string, char **outptr
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_string_is_empty</NAME>
-<RETURNS>prelude_bool_t </RETURNS>
-const prelude_string_t *string
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_string_clear</NAME>
+<NAME>prelude_connection_pool_destroy</NAME>
<RETURNS>void </RETURNS>
-prelude_string_t *string
+prelude_connection_pool_t *pool
</FUNCTION>
<FUNCTION>
-<NAME>prelude_string_cat</NAME>
-<RETURNS>int </RETURNS>
-prelude_string_t *dst, const char *str
+<NAME>prelude_connection_pool_ref</NAME>
+<RETURNS>prelude_connection_pool_t *</RETURNS>
+prelude_connection_pool_t *pool
</FUNCTION>
<FUNCTION>
-<NAME>prelude_string_ncat</NAME>
-<RETURNS>int </RETURNS>
-prelude_string_t *dst, const char *str, size_t len
+<NAME>prelude_connection_pool_get_flags</NAME>
+<RETURNS>prelude_connection_pool_flags_t </RETURNS>
+prelude_connection_pool_t *pool
</FUNCTION>
<FUNCTION>
-<NAME>prelude_string_sprintf</NAME>
-<RETURNS>int </RETURNS>
-prelude_string_t *string, const char *fmt, ...
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_string_vprintf</NAME>
-<RETURNS>int </RETURNS>
-prelude_string_t *string, const char *fmt, va_list ap
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_string_compare</NAME>
-<RETURNS>int </RETURNS>
-const prelude_string_t *str1, const prelude_string_t *str2
-</FUNCTION>
-<MACRO>
-<NAME>prelude_string_set_constant</NAME>
-#define prelude_string_set_constant(string, str) \
- prelude_string_set_ref_fast((string), (str), strlen((str)))
-</MACRO>
-<MACRO>
-<NAME>prelude_string_new_constant</NAME>
-#define prelude_string_new_constant(string, str) \
- prelude_string_new_ref_fast((string), (str), strlen((str)))
-</MACRO>
-<FUNCTION>
-<NAME>idmef_additional_data_print</NAME>
+<NAME>prelude_connection_pool_set_flags</NAME>
<RETURNS>void </RETURNS>
-idmef_additional_data_t *ptr, prelude_io_t *fd
+prelude_connection_pool_t *pool, prelude_connection_pool_flags_t flags
</FUNCTION>
<FUNCTION>
-<NAME>idmef_reference_print</NAME>
+<NAME>prelude_connection_pool_set_required_permission</NAME>
<RETURNS>void </RETURNS>
-idmef_reference_t *ptr, prelude_io_t *fd
+prelude_connection_pool_t *pool, prelude_connection_permission_t req_perm
</FUNCTION>
<FUNCTION>
-<NAME>idmef_classification_print</NAME>
+<NAME>prelude_connection_pool_set_data</NAME>
<RETURNS>void </RETURNS>
-idmef_classification_t *ptr, prelude_io_t *fd
+prelude_connection_pool_t *pool, void *data
</FUNCTION>
<FUNCTION>
-<NAME>idmef_user_id_print</NAME>
-<RETURNS>void </RETURNS>
-idmef_user_id_t *ptr, prelude_io_t *fd
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_user_print</NAME>
-<RETURNS>void </RETURNS>
-idmef_user_t *ptr, prelude_io_t *fd
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_address_print</NAME>
-<RETURNS>void </RETURNS>
-idmef_address_t *ptr, prelude_io_t *fd
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_process_print</NAME>
-<RETURNS>void </RETURNS>
-idmef_process_t *ptr, prelude_io_t *fd
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_web_service_print</NAME>
-<RETURNS>void </RETURNS>
-idmef_web_service_t *ptr, prelude_io_t *fd
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_snmp_service_print</NAME>
-<RETURNS>void </RETURNS>
-idmef_snmp_service_t *ptr, prelude_io_t *fd
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_service_print</NAME>
-<RETURNS>void </RETURNS>
-idmef_service_t *ptr, prelude_io_t *fd
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_node_print</NAME>
-<RETURNS>void </RETURNS>
-idmef_node_t *ptr, prelude_io_t *fd
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_source_print</NAME>
-<RETURNS>void </RETURNS>
-idmef_source_t *ptr, prelude_io_t *fd
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_file_access_print</NAME>
-<RETURNS>void </RETURNS>
-idmef_file_access_t *ptr, prelude_io_t *fd
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_inode_print</NAME>
-<RETURNS>void </RETURNS>
-idmef_inode_t *ptr, prelude_io_t *fd
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_checksum_print</NAME>
-<RETURNS>void </RETURNS>
-idmef_checksum_t *ptr, prelude_io_t *fd
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_file_print</NAME>
-<RETURNS>void </RETURNS>
-idmef_file_t *ptr, prelude_io_t *fd
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_linkage_print</NAME>
-<RETURNS>void </RETURNS>
-idmef_linkage_t *ptr, prelude_io_t *fd
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_target_print</NAME>
-<RETURNS>void </RETURNS>
-idmef_target_t *ptr, prelude_io_t *fd
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_analyzer_print</NAME>
-<RETURNS>void </RETURNS>
-idmef_analyzer_t *ptr, prelude_io_t *fd
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_alertident_print</NAME>
-<RETURNS>void </RETURNS>
-idmef_alertident_t *ptr, prelude_io_t *fd
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_impact_print</NAME>
-<RETURNS>void </RETURNS>
-idmef_impact_t *ptr, prelude_io_t *fd
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_action_print</NAME>
-<RETURNS>void </RETURNS>
-idmef_action_t *ptr, prelude_io_t *fd
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_confidence_print</NAME>
-<RETURNS>void </RETURNS>
-idmef_confidence_t *ptr, prelude_io_t *fd
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_assessment_print</NAME>
-<RETURNS>void </RETURNS>
-idmef_assessment_t *ptr, prelude_io_t *fd
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_tool_alert_print</NAME>
-<RETURNS>void </RETURNS>
-idmef_tool_alert_t *ptr, prelude_io_t *fd
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_correlation_alert_print</NAME>
-<RETURNS>void </RETURNS>
-idmef_correlation_alert_t *ptr, prelude_io_t *fd
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_overflow_alert_print</NAME>
-<RETURNS>void </RETURNS>
-idmef_overflow_alert_t *ptr, prelude_io_t *fd
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_alert_print</NAME>
-<RETURNS>void </RETURNS>
-idmef_alert_t *ptr, prelude_io_t *fd
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_heartbeat_print</NAME>
-<RETURNS>void </RETURNS>
-idmef_heartbeat_t *ptr, prelude_io_t *fd
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_message_print</NAME>
-<RETURNS>void </RETURNS>
-idmef_message_t *ptr, prelude_io_t *fd
-</FUNCTION>
-<TYPEDEF>
-<NAME>prelude_msgbuf_t</NAME>
-typedef struct prelude_msgbuf prelude_msgbuf_t;
-</TYPEDEF>
-<ENUM>
-<NAME>prelude_msgbuf_flags_t</NAME>
-typedef enum {
- PRELUDE_MSGBUF_FLAGS_ASYNC = 0x01
-} prelude_msgbuf_flags_t;
-</ENUM>
-<FUNCTION>
-<NAME>prelude_msgbuf_new</NAME>
-<RETURNS>int </RETURNS>
-prelude_msgbuf_t **msgbuf
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_msgbuf_destroy</NAME>
-<RETURNS>void </RETURNS>
-prelude_msgbuf_t *msgbuf
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_msgbuf_mark_end</NAME>
-<RETURNS>void </RETURNS>
-prelude_msgbuf_t *msgbuf
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_msgbuf_set</NAME>
-<RETURNS>int </RETURNS>
-prelude_msgbuf_t *msgbuf, uint8_t tag, uint32_t len, const void *data
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_msgbuf_get_msg</NAME>
-<RETURNS>prelude_msg_t *</RETURNS>
-prelude_msgbuf_t *msgbuf
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_msgbuf_set_callback</NAME>
-<RETURNS>void </RETURNS>
-prelude_msgbuf_t *msgbuf, int (*send_msg)(prelude_msgbuf_t *msgbuf, prelude_msg_t *msg)
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_msgbuf_set_data</NAME>
-<RETURNS>void </RETURNS>
-prelude_msgbuf_t *msgbuf, void *data
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_msgbuf_get_data</NAME>
+<NAME>prelude_connection_pool_get_data</NAME>
<RETURNS>void *</RETURNS>
-prelude_msgbuf_t *msgbuf
+prelude_connection_pool_t *pool
</FUNCTION>
<FUNCTION>
-<NAME>prelude_msgbuf_set_flags</NAME>
-<RETURNS>void </RETURNS>
-prelude_msgbuf_t *msgbuf, prelude_msgbuf_flags_t flags
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_msgbuf_get_flags</NAME>
-<RETURNS>prelude_msgbuf_flags_t </RETURNS>
-prelude_msgbuf_t *msgbuf
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_additional_data_write</NAME>
+<NAME>prelude_connection_pool_recv</NAME>
<RETURNS>int </RETURNS>
-idmef_additional_data_t *additional_data, prelude_msgbuf_t *msg
+prelude_connection_pool_t *pool, int timeout, prelude_connection_t **outcon, prelude_msg_t **outmsg
</FUNCTION>
<FUNCTION>
-<NAME>idmef_reference_write</NAME>
+<NAME>prelude_connection_pool_check_event</NAME>
<RETURNS>int </RETURNS>
-idmef_reference_t *reference, prelude_msgbuf_t *msg
+prelude_connection_pool_t *pool, int timeout,int (*event_cb)(prelude_connection_pool_t *pool,prelude_connection_pool_event_t event,prelude_connection_t *cnx, void *extra), void *extra
</FUNCTION>
<FUNCTION>
-<NAME>idmef_classification_write</NAME>
-<RETURNS>int </RETURNS>
-idmef_classification_t *classification, prelude_msgbuf_t *msg
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_user_id_write</NAME>
-<RETURNS>int </RETURNS>
-idmef_user_id_t *user_id, prelude_msgbuf_t *msg
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_user_write</NAME>
-<RETURNS>int </RETURNS>
-idmef_user_t *user, prelude_msgbuf_t *msg
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_address_write</NAME>
-<RETURNS>int </RETURNS>
-idmef_address_t *address, prelude_msgbuf_t *msg
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_process_write</NAME>
-<RETURNS>int </RETURNS>
-idmef_process_t *process, prelude_msgbuf_t *msg
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_web_service_write</NAME>
-<RETURNS>int </RETURNS>
-idmef_web_service_t *web_service, prelude_msgbuf_t *msg
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_snmp_service_write</NAME>
-<RETURNS>int </RETURNS>
-idmef_snmp_service_t *snmp_service, prelude_msgbuf_t *msg
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_service_write</NAME>
-<RETURNS>int </RETURNS>
-idmef_service_t *service, prelude_msgbuf_t *msg
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_node_write</NAME>
-<RETURNS>int </RETURNS>
-idmef_node_t *node, prelude_msgbuf_t *msg
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_source_write</NAME>
-<RETURNS>int </RETURNS>
-idmef_source_t *source, prelude_msgbuf_t *msg
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_file_access_write</NAME>
-<RETURNS>int </RETURNS>
-idmef_file_access_t *file_access, prelude_msgbuf_t *msg
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_inode_write</NAME>
-<RETURNS>int </RETURNS>
-idmef_inode_t *inode, prelude_msgbuf_t *msg
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_checksum_write</NAME>
-<RETURNS>int </RETURNS>
-idmef_checksum_t *checksum, prelude_msgbuf_t *msg
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_file_write</NAME>
-<RETURNS>int </RETURNS>
-idmef_file_t *file, prelude_msgbuf_t *msg
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_linkage_write</NAME>
-<RETURNS>int </RETURNS>
-idmef_linkage_t *linkage, prelude_msgbuf_t *msg
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_target_write</NAME>
-<RETURNS>int </RETURNS>
-idmef_target_t *target, prelude_msgbuf_t *msg
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_analyzer_write</NAME>
-<RETURNS>int </RETURNS>
-idmef_analyzer_t *analyzer, prelude_msgbuf_t *msg
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_alertident_write</NAME>
-<RETURNS>int </RETURNS>
-idmef_alertident_t *alertident, prelude_msgbuf_t *msg
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_impact_write</NAME>
-<RETURNS>int </RETURNS>
-idmef_impact_t *impact, prelude_msgbuf_t *msg
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_action_write</NAME>
-<RETURNS>int </RETURNS>
-idmef_action_t *action, prelude_msgbuf_t *msg
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_confidence_write</NAME>
-<RETURNS>int </RETURNS>
-idmef_confidence_t *confidence, prelude_msgbuf_t *msg
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_assessment_write</NAME>
-<RETURNS>int </RETURNS>
-idmef_assessment_t *assessment, prelude_msgbuf_t *msg
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_tool_alert_write</NAME>
-<RETURNS>int </RETURNS>
-idmef_tool_alert_t *tool_alert, prelude_msgbuf_t *msg
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_correlation_alert_write</NAME>
-<RETURNS>int </RETURNS>
-idmef_correlation_alert_t *correlation_alert, prelude_msgbuf_t *msg
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_overflow_alert_write</NAME>
-<RETURNS>int </RETURNS>
-idmef_overflow_alert_t *overflow_alert, prelude_msgbuf_t *msg
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_alert_write</NAME>
-<RETURNS>int </RETURNS>
-idmef_alert_t *alert, prelude_msgbuf_t *msg
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_heartbeat_write</NAME>
-<RETURNS>int </RETURNS>
-idmef_heartbeat_t *heartbeat, prelude_msgbuf_t *msg
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_message_write</NAME>
-<RETURNS>int </RETURNS>
-idmef_message_t *message, prelude_msgbuf_t *msg
-</FUNCTION>
-<TYPEDEF>
-<NAME>prelude_ident_t</NAME>
-typedef struct prelude_ident prelude_ident_t;
-</TYPEDEF>
-<FUNCTION>
-<NAME>prelude_ident_generate</NAME>
-<RETURNS>int </RETURNS>
-prelude_ident_t *ident, prelude_string_t *out
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_ident_inc</NAME>
-<RETURNS>uint64_t </RETURNS>
-prelude_ident_t *ident
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_ident_destroy</NAME>
+<NAME>prelude_connection_pool_set_global_event_handler</NAME>
<RETURNS>void </RETURNS>
-prelude_ident_t *ident
+prelude_connection_pool_t *pool,prelude_connection_pool_event_t wanted_events,int (*callback)(prelude_connection_pool_t *pool,prelude_connection_pool_event_t events)
</FUNCTION>
<FUNCTION>
-<NAME>prelude_ident_new</NAME>
-<RETURNS>int </RETURNS>
-prelude_ident_t **ret
-</FUNCTION>
-<ENUM>
-<NAME>prelude_client_exit_status_t</NAME>
-typedef enum {
- PRELUDE_CLIENT_EXIT_STATUS_SUCCESS = 0,
- PRELUDE_CLIENT_EXIT_STATUS_FAILURE = -1
-} prelude_client_exit_status_t;
-</ENUM>
-<ENUM>
-<NAME>prelude_client_flags_t</NAME>
-typedef enum {
- PRELUDE_CLIENT_FLAGS_ASYNC_SEND = 0x01,
- PRELUDE_CLIENT_FLAGS_ASYNC_TIMER = 0x02,
- PRELUDE_CLIENT_FLAGS_HEARTBEAT = 0x04,
- PRELUDE_CLIENT_FLAGS_CONNECT = 0x08,
- PRELUDE_CLIENT_FLAGS_AUTOCONFIG = 0x10
-} prelude_client_flags_t;
-</ENUM>
-<TYPEDEF>
-<NAME>prelude_client_t</NAME>
-typedef struct prelude_client prelude_client_t;
-</TYPEDEF>
-<FUNCTION>
-<NAME>prelude_client_get_unique_ident</NAME>
-<RETURNS>prelude_ident_t *</RETURNS>
-prelude_client_t *client
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_client_set_connection_pool</NAME>
+<NAME>prelude_connection_pool_set_event_handler</NAME>
<RETURNS>void </RETURNS>
-prelude_client_t *client, prelude_connection_pool_t *pool
+prelude_connection_pool_t *pool,prelude_connection_pool_event_t wanted_events,int (*callback)(prelude_connection_pool_t *pool,prelude_connection_pool_event_t events,prelude_connection_t *cnx)
</FUNCTION>
-<FUNCTION>
-<NAME>prelude_client_get_connection_pool</NAME>
-<RETURNS>prelude_connection_pool_t *</RETURNS>
-prelude_client_t *client
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_client_start</NAME>
-<RETURNS>int </RETURNS>
-prelude_client_t *client
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_client_init</NAME>
-<RETURNS>int </RETURNS>
-prelude_client_t *client
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_client_new</NAME>
-<RETURNS>int </RETURNS>
-prelude_client_t **client, const char *profile
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_client_ref</NAME>
-<RETURNS>prelude_client_t *</RETURNS>
-prelude_client_t *client
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_client_get_analyzer</NAME>
-<RETURNS>idmef_analyzer_t *</RETURNS>
-prelude_client_t *client
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_client_get_flags</NAME>
-<RETURNS>prelude_client_flags_t </RETURNS>
-prelude_client_t *client
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_client_set_required_permission</NAME>
-<RETURNS>void </RETURNS>
-prelude_client_t *client, prelude_connection_permission_t permission
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_client_get_required_permission</NAME>
-<RETURNS>prelude_connection_permission_t </RETURNS>
-prelude_client_t *client
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_client_send_msg</NAME>
-<RETURNS>void </RETURNS>
-prelude_client_t *client, prelude_msg_t *msg
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_client_recv_msg</NAME>
-<RETURNS>int </RETURNS>
-prelude_client_t *client, int timeout, prelude_msg_t **msg
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_client_set_heartbeat_cb</NAME>
-<RETURNS>void </RETURNS>
-prelude_client_t *client, void (*cb)(prelude_client_t *client, idmef_message_t *hb)
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_client_send_idmef</NAME>
-<RETURNS>void </RETURNS>
-prelude_client_t *client, idmef_message_t *msg
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_client_recv_idmef</NAME>
-<RETURNS>int </RETURNS>
-prelude_client_t *client, int timeout, idmef_message_t **idmef
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_client_destroy</NAME>
-<RETURNS>void </RETURNS>
-prelude_client_t *client, prelude_client_exit_status_t status
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_client_set_flags</NAME>
-<RETURNS>int </RETURNS>
-prelude_client_t *client, prelude_client_flags_t flags
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_client_set_config_filename</NAME>
-<RETURNS>int </RETURNS>
-prelude_client_t *client, const char *filename
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_client_get_config_filename</NAME>
-<RETURNS>const char *</RETURNS>
-prelude_client_t *client
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_client_is_setup_needed</NAME>
-<RETURNS>prelude_bool_t </RETURNS>
-int error
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_client_get_profile</NAME>
-<RETURNS>prelude_client_profile_t *</RETURNS>
-prelude_client_t *client
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_client_new_msgbuf</NAME>
-<RETURNS>int </RETURNS>
-prelude_client_t *client, prelude_msgbuf_t **msgbuf
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_client_handle_msg_default</NAME>
-<RETURNS>int </RETURNS>
-prelude_client_t *client, prelude_msg_t *msg, prelude_msgbuf_t *msgbuf
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_client_get_setup_error</NAME>
-<RETURNS>const char *</RETURNS>
-prelude_client_t *client
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_client_print_setup_error</NAME>
-<RETURNS>void </RETURNS>
-prelude_client_t *client
-</FUNCTION>
<TYPEDEF>
<NAME>prelude_uid_t</NAME>
typedef uid_t prelude_uid_t;
@@ -6155,6 +7112,120 @@
<RETURNS>void </RETURNS>
const prelude_client_profile_t *cp, char *buf, size_t size
</FUNCTION>
+<TYPEDEF>
+<NAME>idmef_path_t</NAME>
+typedef struct idmef_path idmef_path_t;
+</TYPEDEF>
+<FUNCTION>
+<NAME>idmef_path_get</NAME>
+<RETURNS>int </RETURNS>
+const idmef_path_t *path, idmef_message_t *message, idmef_value_t **ret
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_path_set</NAME>
+<RETURNS>int </RETURNS>
+const idmef_path_t *path, idmef_message_t *message, idmef_value_t *value
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_path_new</NAME>
+<RETURNS>int </RETURNS>
+idmef_path_t **path, const char *format, ...
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_path_new_v</NAME>
+<RETURNS>int </RETURNS>
+idmef_path_t **path, const char *format, va_list args
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_path_new_fast</NAME>
+<RETURNS>int </RETURNS>
+idmef_path_t **path, const char *buffer
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_path_get_class</NAME>
+<RETURNS>idmef_class_id_t </RETURNS>
+const idmef_path_t *path, int depth
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_path_get_value_type</NAME>
+<RETURNS>idmef_value_type_id_t </RETURNS>
+const idmef_path_t *path, int depth
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_path_set_index</NAME>
+<RETURNS>int </RETURNS>
+idmef_path_t *path, unsigned int depth, unsigned int index
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_path_undefine_index</NAME>
+<RETURNS>int </RETURNS>
+idmef_path_t *path, unsigned int depth
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_path_get_index</NAME>
+<RETURNS>int </RETURNS>
+const idmef_path_t *path, unsigned int depth
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_path_make_child</NAME>
+<RETURNS>int </RETURNS>
+idmef_path_t *path, const char *child_name, unsigned int index
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_path_make_parent</NAME>
+<RETURNS>int </RETURNS>
+idmef_path_t *path
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_path_destroy</NAME>
+<RETURNS>void </RETURNS>
+idmef_path_t *path
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_path_ncompare</NAME>
+<RETURNS>int </RETURNS>
+const idmef_path_t *p1, const idmef_path_t *p2, unsigned int depth
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_path_compare</NAME>
+<RETURNS>int </RETURNS>
+const idmef_path_t *p1, const idmef_path_t *p2
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_path_clone</NAME>
+<RETURNS>int </RETURNS>
+const idmef_path_t *src, idmef_path_t **dst
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_path_ref</NAME>
+<RETURNS>idmef_path_t *</RETURNS>
+idmef_path_t *path
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_path_get_name</NAME>
+<RETURNS>const char *</RETURNS>
+const idmef_path_t *path, int depth
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_path_is_ambiguous</NAME>
+<RETURNS>prelude_bool_t </RETURNS>
+const idmef_path_t *path
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_path_has_lists</NAME>
+<RETURNS>int </RETURNS>
+const idmef_path_t *path
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_path_is_list</NAME>
+<RETURNS>prelude_bool_t </RETURNS>
+const idmef_path_t *path, int depth
+</FUNCTION>
+<FUNCTION>
+<NAME>idmef_path_get_depth</NAME>
+<RETURNS>unsigned int </RETURNS>
+const idmef_path_t *path
+</FUNCTION>
<MACRO>
<NAME>PRELUDE_PLUGIN_API_VERSION</NAME>
#define PRELUDE_PLUGIN_API_VERSION 1
@@ -6359,977 +7430,170 @@
(((type *)prelude_plugin_instance_get_plugin(pi))->member(__VA_ARGS__))
</MACRO>
<TYPEDEF>
-<NAME>prelude_hash_t</NAME>
-typedef struct prelude_hash prelude_hash_t;
+<NAME>prelude_string_t</NAME>
+typedef struct prelude_string prelude_string_t;
</TYPEDEF>
<FUNCTION>
-<NAME>prelude_hash_new</NAME>
+<NAME>prelude_string_new</NAME>
<RETURNS>int </RETURNS>
-prelude_hash_t **hash,unsigned int (*hash_func)(const void *),int (*key_cmp_func)(const void *, const void *),void (*key_destroy_func)(void *),void (*value_destroy_func)(void *)
+prelude_string_t **string
</FUNCTION>
<FUNCTION>
-<NAME>prelude_hash_new2</NAME>
+<NAME>prelude_string_new_nodup</NAME>
<RETURNS>int </RETURNS>
-prelude_hash_t **hash, size_t size,unsigned int (*hash_func)(const void *),int (*key_cmp_func)(const void *, const void *),void (*key_destroy_func)(void *),void (*value_destroy_func)(void *)
+prelude_string_t **string, char *str
</FUNCTION>
<FUNCTION>
-<NAME>prelude_hash_destroy</NAME>
-<RETURNS>void </RETURNS>
-prelude_hash_t *hash
+<NAME>prelude_string_new_ref</NAME>
+<RETURNS>int </RETURNS>
+prelude_string_t **string, const char *str
</FUNCTION>
<FUNCTION>
-<NAME>prelude_hash_set</NAME>
+<NAME>prelude_string_new_dup</NAME>
<RETURNS>int </RETURNS>
-prelude_hash_t *hash, void *key, void *value
+prelude_string_t **string, const char *str
</FUNCTION>
<FUNCTION>
-<NAME>prelude_hash_get</NAME>
-<RETURNS>void *</RETURNS>
-prelude_hash_t *hash, const void *key
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_hash_elem_destroy</NAME>
+<NAME>prelude_string_new_dup_fast</NAME>
<RETURNS>int </RETURNS>
-prelude_hash_t *hash, const void *key
+prelude_string_t **string, const char *str, size_t len
</FUNCTION>
<FUNCTION>
-<NAME>prelude_hash_iterate</NAME>
+<NAME>prelude_string_destroy</NAME>
<RETURNS>void </RETURNS>
-prelude_hash_t *hash, void (*cb)(void *data)
+prelude_string_t *string
</FUNCTION>
-<TYPEDEF>
-<NAME>prelude_failover_t</NAME>
-typedef struct prelude_failover prelude_failover_t;
-</TYPEDEF>
<FUNCTION>
-<NAME>prelude_failover_destroy</NAME>
+<NAME>prelude_string_destroy_internal</NAME>
<RETURNS>void </RETURNS>
-prelude_failover_t *failover
+prelude_string_t *string
</FUNCTION>
<FUNCTION>
-<NAME>prelude_failover_new</NAME>
+<NAME>prelude_string_new_nodup_fast</NAME>
<RETURNS>int </RETURNS>
-prelude_failover_t **ret, const char *dirname
+prelude_string_t **string, char *str, size_t len
</FUNCTION>
<FUNCTION>
-<NAME>prelude_failover_set_quota</NAME>
-<RETURNS>void </RETURNS>
-prelude_failover_t *failover, size_t limit
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_failover_save_msg</NAME>
+<NAME>prelude_string_new_ref_fast</NAME>
<RETURNS>int </RETURNS>
-prelude_failover_t *failover, prelude_msg_t *msg
+prelude_string_t **string, const char *str, size_t len
</FUNCTION>
<FUNCTION>
-<NAME>prelude_failover_get_saved_msg</NAME>
-<RETURNS>ssize_t </RETURNS>
-prelude_failover_t *failover, prelude_msg_t **out
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_failover_get_deleted_msg_count</NAME>
-<RETURNS>unsigned long </RETURNS>
-prelude_failover_t *failover
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_failover_get_available_msg_count</NAME>
-<RETURNS>unsigned long </RETURNS>
-prelude_failover_t *failover
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_failover_enable_transaction</NAME>
-<RETURNS>void </RETURNS>
-prelude_failover_t *failover
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_failover_disable_transaction</NAME>
-<RETURNS>void </RETURNS>
-prelude_failover_t *failover
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_failover_commit</NAME>
+<NAME>prelude_string_set_dup_fast</NAME>
<RETURNS>int </RETURNS>
-prelude_failover_t *failover, prelude_msg_t *msg
+prelude_string_t *string, const char *buf, size_t len
</FUNCTION>
<FUNCTION>
-<NAME>prelude_failover_rollback</NAME>
+<NAME>prelude_string_set_dup</NAME>
<RETURNS>int </RETURNS>
-prelude_failover_t *failover, prelude_msg_t *msg
+prelude_string_t *string, const char *buf
</FUNCTION>
-<ENUM>
-<NAME>prelude_connection_pool_flags_t</NAME>
-typedef enum {
- PRELUDE_CONNECTION_POOL_FLAGS_RECONNECT = 0x01,
- PRELUDE_CONNECTION_POOL_FLAGS_FAILOVER = 0x02
-} prelude_connection_pool_flags_t;
-</ENUM>
-<ENUM>
-<NAME>prelude_connection_pool_event_t</NAME>
-typedef enum {
- PRELUDE_CONNECTION_POOL_EVENT_INPUT = 0x01,
- PRELUDE_CONNECTION_POOL_EVENT_DEAD = 0x02,
- PRELUDE_CONNECTION_POOL_EVENT_ALIVE = 0x04
-} prelude_connection_pool_event_t;
-</ENUM>
-<TYPEDEF>
-<NAME>prelude_connection_pool_t</NAME>
-typedef struct prelude_connection_pool prelude_connection_pool_t;
-</TYPEDEF>
<FUNCTION>
-<NAME>prelude_connection_pool_broadcast</NAME>
-<RETURNS>void </RETURNS>
-prelude_connection_pool_t *pool, prelude_msg_t *msg
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_connection_pool_broadcast_async</NAME>
-<RETURNS>void </RETURNS>
-prelude_connection_pool_t *pool, prelude_msg_t *msg
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_connection_pool_init</NAME>
+<NAME>prelude_string_set_nodup_fast</NAME>
<RETURNS>int </RETURNS>
-prelude_connection_pool_t *pool
+prelude_string_t *string, char *buf, size_t len
</FUNCTION>
<FUNCTION>
-<NAME>prelude_connection_pool_new</NAME>
+<NAME>prelude_string_set_nodup</NAME>
<RETURNS>int </RETURNS>
-prelude_connection_pool_t **ret,prelude_client_profile_t *cp,prelude_connection_permission_t permission
+prelude_string_t *string, char *buf
</FUNCTION>
<FUNCTION>
-<NAME>prelude_connection_pool_get_connection_list</NAME>
-<RETURNS>prelude_list_t *</RETURNS>
-prelude_connection_pool_t *pool
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_connection_pool_add_connection</NAME>
+<NAME>prelude_string_set_ref_fast</NAME>
<RETURNS>int </RETURNS>
-prelude_connection_pool_t *pool, prelude_connection_t *cnx
+prelude_string_t *string, const char *buf, size_t len
</FUNCTION>
<FUNCTION>
-<NAME>prelude_connection_pool_del_connection</NAME>
+<NAME>prelude_string_set_ref</NAME>
<RETURNS>int </RETURNS>
-prelude_connection_pool_t *pool, prelude_connection_t *cnx
+prelude_string_t *string, const char *buf
</FUNCTION>
<FUNCTION>
-<NAME>prelude_connection_pool_set_connection_dead</NAME>
+<NAME>prelude_string_copy_ref</NAME>
<RETURNS>int </RETURNS>
-prelude_connection_pool_t *pool, prelude_connection_t *cnx
+const prelude_string_t *src, prelude_string_t *dst
</FUNCTION>
<FUNCTION>
-<NAME>prelude_connection_pool_set_connection_alive</NAME>
+<NAME>prelude_string_copy_dup</NAME>
<RETURNS>int </RETURNS>
-prelude_connection_pool_t *pool, prelude_connection_t *cnx
+const prelude_string_t *src, prelude_string_t *dst
</FUNCTION>
<FUNCTION>
-<NAME>prelude_connection_pool_set_connection_string</NAME>
-<RETURNS>int </RETURNS>
-prelude_connection_pool_t *pool, const char *cfgstr
+<NAME>prelude_string_ref</NAME>
+<RETURNS>prelude_string_t *</RETURNS>
+prelude_string_t *string
</FUNCTION>
<FUNCTION>
-<NAME>prelude_connection_pool_get_connection_string</NAME>
-<RETURNS>const char *</RETURNS>
-prelude_connection_pool_t *pool
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_connection_pool_destroy</NAME>
-<RETURNS>void </RETURNS>
-prelude_connection_pool_t *pool
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_connection_pool_ref</NAME>
-<RETURNS>prelude_connection_pool_t *</RETURNS>
-prelude_connection_pool_t *pool
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_connection_pool_get_flags</NAME>
-<RETURNS>prelude_connection_pool_flags_t </RETURNS>
-prelude_connection_pool_t *pool
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_connection_pool_set_flags</NAME>
-<RETURNS>void </RETURNS>
-prelude_connection_pool_t *pool, prelude_connection_pool_flags_t flags
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_connection_pool_set_required_permission</NAME>
-<RETURNS>void </RETURNS>
-prelude_connection_pool_t *pool, prelude_connection_permission_t req_perm
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_connection_pool_set_data</NAME>
-<RETURNS>void </RETURNS>
-prelude_connection_pool_t *pool, void *data
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_connection_pool_get_data</NAME>
-<RETURNS>void *</RETURNS>
-prelude_connection_pool_t *pool
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_connection_pool_recv</NAME>
+<NAME>prelude_string_clone</NAME>
<RETURNS>int </RETURNS>
-prelude_connection_pool_t *pool, int timeout, prelude_connection_t **outcon, prelude_msg_t **outmsg
+const prelude_string_t *src, prelude_string_t **dst
</FUNCTION>
<FUNCTION>
-<NAME>prelude_connection_pool_check_event</NAME>
-<RETURNS>int </RETURNS>
-prelude_connection_pool_t *pool, int timeout,int (*event_cb)(prelude_connection_pool_t *pool,prelude_connection_pool_event_t event,prelude_connection_t *cnx, void *extra), void *extra
+<NAME>prelude_string_get_len</NAME>
+<RETURNS>size_t </RETURNS>
+const prelude_string_t *string
</FUNCTION>
<FUNCTION>
-<NAME>prelude_connection_pool_set_global_event_handler</NAME>
-<RETURNS>void </RETURNS>
-prelude_connection_pool_t *pool,prelude_connection_pool_event_t wanted_events,int (*callback)(prelude_connection_pool_t *pool,prelude_connection_pool_event_t events)
+<NAME>prelude_string_get_string_or_default</NAME>
+<RETURNS>const char *</RETURNS>
+const prelude_string_t *string, const char *def
</FUNCTION>
<FUNCTION>
-<NAME>prelude_connection_pool_set_event_handler</NAME>
-<RETURNS>void </RETURNS>
-prelude_connection_pool_t *pool,prelude_connection_pool_event_t wanted_events,int (*callback)(prelude_connection_pool_t *pool,prelude_connection_pool_event_t events,prelude_connection_t *cnx)
+<NAME>prelude_string_get_string</NAME>
+<RETURNS>const char *</RETURNS>
+const prelude_string_t *string
</FUNCTION>
-<ENUM>
-<NAME>prelude_async_flags_t</NAME>
-typedef enum {
- PRELUDE_ASYNC_FLAGS_TIMER = 0x01
-} prelude_async_flags_t;
-</ENUM>
-<USER_FUNCTION>
-<NAME>prelude_async_callback_t</NAME>
-<RETURNS>void </RETURNS>
-void *object, void *data
-</USER_FUNCTION>
-<MACRO>
-<NAME>PRELUDE_ASYNC_OBJECT</NAME>
-#define PRELUDE_ASYNC_OBJECT \
- PRELUDE_LINKED_OBJECT; \
- void *_async_data; \
- prelude_async_callback_t _async_func
-</MACRO>
-<STRUCT>
-<NAME>prelude_async_object_t</NAME>
-typedef struct {
- PRELUDE_ASYNC_OBJECT;
-} prelude_async_object_t;
-</STRUCT>
<FUNCTION>
-<NAME>prelude_async_init</NAME>
+<NAME>prelude_string_get_string_released</NAME>
<RETURNS>int </RETURNS>
-void
+prelude_string_t *string, char **outptr
</FUNCTION>
<FUNCTION>
-<NAME>prelude_async_get_flags</NAME>
-<RETURNS>prelude_async_flags_t </RETURNS>
-void
+<NAME>prelude_string_is_empty</NAME>
+<RETURNS>prelude_bool_t </RETURNS>
+const prelude_string_t *string
</FUNCTION>
<FUNCTION>
-<NAME>prelude_async_set_flags</NAME>
+<NAME>prelude_string_clear</NAME>
<RETURNS>void </RETURNS>
-prelude_async_flags_t flags
+prelude_string_t *string
</FUNCTION>
<FUNCTION>
-<NAME>prelude_async_add</NAME>
-<RETURNS>void </RETURNS>
-prelude_async_object_t *obj
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_async_del</NAME>
-<RETURNS>void </RETURNS>
-prelude_async_object_t *obj
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_async_exit</NAME>
-<RETURNS>void </RETURNS>
-void
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_additional_data_read</NAME>
+<NAME>prelude_string_cat</NAME>
<RETURNS>int </RETURNS>
-idmef_additional_data_t *additional_data, prelude_msg_t *msg
+prelude_string_t *dst, const char *str
</FUNCTION>
<FUNCTION>
-<NAME>idmef_reference_read</NAME>
+<NAME>prelude_string_ncat</NAME>
<RETURNS>int </RETURNS>
-idmef_reference_t *reference, prelude_msg_t *msg
+prelude_string_t *dst, const char *str, size_t len
</FUNCTION>
<FUNCTION>
-<NAME>idmef_classification_read</NAME>
+<NAME>prelude_string_sprintf</NAME>
<RETURNS>int </RETURNS>
-idmef_classification_t *classification, prelude_msg_t *msg
+prelude_string_t *string, const char *fmt, ...
</FUNCTION>
<FUNCTION>
-<NAME>idmef_user_id_read</NAME>
+<NAME>prelude_string_vprintf</NAME>
<RETURNS>int </RETURNS>
-idmef_user_id_t *user_id, prelude_msg_t *msg
+prelude_string_t *string, const char *fmt, va_list ap
</FUNCTION>
<FUNCTION>
-<NAME>idmef_user_read</NAME>
+<NAME>prelude_string_compare</NAME>
<RETURNS>int </RETURNS>
-idmef_user_t *user, prelude_msg_t *msg
+const prelude_string_t *str1, const prelude_string_t *str2
</FUNCTION>
-<FUNCTION>
-<NAME>idmef_address_read</NAME>
-<RETURNS>int </RETURNS>
-idmef_address_t *address, prelude_msg_t *msg
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_process_read</NAME>
-<RETURNS>int </RETURNS>
-idmef_process_t *process, prelude_msg_t *msg
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_web_service_read</NAME>
-<RETURNS>int </RETURNS>
-idmef_web_service_t *web_service, prelude_msg_t *msg
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_snmp_service_read</NAME>
-<RETURNS>int </RETURNS>
-idmef_snmp_service_t *snmp_service, prelude_msg_t *msg
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_service_read</NAME>
-<RETURNS>int </RETURNS>
-idmef_service_t *service, prelude_msg_t *msg
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_node_read</NAME>
-<RETURNS>int </RETURNS>
-idmef_node_t *node, prelude_msg_t *msg
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_source_read</NAME>
-<RETURNS>int </RETURNS>
-idmef_source_t *source, prelude_msg_t *msg
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_file_access_read</NAME>
-<RETURNS>int </RETURNS>
-idmef_file_access_t *file_access, prelude_msg_t *msg
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_inode_read</NAME>
-<RETURNS>int </RETURNS>
-idmef_inode_t *inode, prelude_msg_t *msg
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_checksum_read</NAME>
-<RETURNS>int </RETURNS>
-idmef_checksum_t *checksum, prelude_msg_t *msg
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_file_read</NAME>
-<RETURNS>int </RETURNS>
-idmef_file_t *file, prelude_msg_t *msg
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_linkage_read</NAME>
-<RETURNS>int </RETURNS>
-idmef_linkage_t *linkage, prelude_msg_t *msg
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_target_read</NAME>
-<RETURNS>int </RETURNS>
-idmef_target_t *target, prelude_msg_t *msg
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_analyzer_read</NAME>
-<RETURNS>int </RETURNS>
-idmef_analyzer_t *analyzer, prelude_msg_t *msg
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_alertident_read</NAME>
-<RETURNS>int </RETURNS>
-idmef_alertident_t *alertident, prelude_msg_t *msg
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_impact_read</NAME>
-<RETURNS>int </RETURNS>
-idmef_impact_t *impact, prelude_msg_t *msg
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_action_read</NAME>
-<RETURNS>int </RETURNS>
-idmef_action_t *action, prelude_msg_t *msg
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_confidence_read</NAME>
-<RETURNS>int </RETURNS>
-idmef_confidence_t *confidence, prelude_msg_t *msg
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_assessment_read</NAME>
-<RETURNS>int </RETURNS>
-idmef_assessment_t *assessment, prelude_msg_t *msg
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_tool_alert_read</NAME>
-<RETURNS>int </RETURNS>
-idmef_tool_alert_t *tool_alert, prelude_msg_t *msg
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_correlation_alert_read</NAME>
-<RETURNS>int </RETURNS>
-idmef_correlation_alert_t *correlation_alert, prelude_msg_t *msg
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_overflow_alert_read</NAME>
-<RETURNS>int </RETURNS>
-idmef_overflow_alert_t *overflow_alert, prelude_msg_t *msg
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_alert_read</NAME>
-<RETURNS>int </RETURNS>
-idmef_alert_t *alert, prelude_msg_t *msg
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_heartbeat_read</NAME>
-<RETURNS>int </RETURNS>
-idmef_heartbeat_t *heartbeat, prelude_msg_t *msg
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_message_read</NAME>
-<RETURNS>int </RETURNS>
-idmef_message_t *message, prelude_msg_t *msg
-</FUNCTION>
<MACRO>
-<NAME>PRELUDE_LIST</NAME>
-#define PRELUDE_LIST(item) prelude_list_t (item) = { &(item), &(item) }
+<NAME>prelude_string_set_constant</NAME>
+#define prelude_string_set_constant(string, str) \
+ prelude_string_set_ref_fast((string), (str), strlen((str)))
</MACRO>
-<STRUCT>
-<NAME>prelude_list_t</NAME>
-typedef struct prelude_list {
- struct prelude_list *next;
- struct prelude_list *prev;
-} prelude_list_t;
-</STRUCT>
<MACRO>
-<NAME>prelude_list_entry</NAME>
-#define prelude_list_entry(item, type, member) \
- (type *) ((unsigned long) item - (unsigned long) &((type *) 0)->member)
+<NAME>prelude_string_new_constant</NAME>
+#define prelude_string_new_constant(string, str) \
+ prelude_string_new_ref_fast((string), (str), strlen((str)))
</MACRO>
-<MACRO>
-<NAME>prelude_list_for_each</NAME>
-#define prelude_list_for_each(list, pos) \
- for ( (pos) = (list)->next; (pos) != (list); (pos) = (pos)->next )
-</MACRO>
-<MACRO>
-<NAME>prelude_list_for_each_safe</NAME>
-#define prelude_list_for_each_safe(list, pos, bkp) \
- for ( (pos) = (list)->next, (bkp) = (pos)->next; (pos) != (list); (pos) = (bkp), (bkp) = (pos)->next )
-</MACRO>
-<MACRO>
-<NAME>prelude_list_for_each_reversed</NAME>
-#define prelude_list_for_each_reversed(list, pos) \
- for ( (pos) = (list)->prev; (pos) != (list); (pos) = (pos)->prev )
-</MACRO>
-<MACRO>
-<NAME>prelude_list_for_each_reversed_safe</NAME>
-#define prelude_list_for_each_reversed_safe(list, pos, bkp) \
- for ( (pos) = (list)->prev, (bkp) = (pos)->prev; (pos) != (list); (pos) = (bkp), (bkp) = (pos)->prev )
-</MACRO>
-<MACRO>
-<NAME>prelude_list_for_each_continue</NAME>
-#define prelude_list_for_each_continue(list, pos) \
- for ( (pos) = ((pos) == NULL) ? (list)->next : (pos)->next; (pos) != (list); (pos) = (pos)->next )
-</MACRO>
-<MACRO>
-<NAME>prelude_list_for_each_continue_safe</NAME>
-#define prelude_list_for_each_continue_safe(list, pos, bkp) \
- for ( (pos) = ((bkp) == NULL) ? (list)->next : (bkp); (bkp) = (pos)->next, (pos) != (list); (pos) = (bkp) )
-</MACRO>
-<MACRO>
-<NAME>prelude_list_get_next</NAME>
-#define prelude_list_get_next(list, pos, class, member) \
- pos ? \
- ((pos)->member.next == (list)) ? NULL : \
- prelude_list_entry((pos)->member.next, class, member) \
- : \
- ((list)->next == (list)) ? NULL : \
- prelude_list_entry((list)->next, class, member)
-</MACRO>
-<MACRO>
-<NAME>prelude_list_get_next_safe</NAME>
-#define prelude_list_get_next_safe(list, pos, bkp, class, member) \
- pos ? \
- (((pos) = bkp), \
- ((bkp) = (! (bkp) || (bkp)->member.next == list) ? NULL : prelude_list_entry((pos)->member.next, class, member)), \
- (pos)) \
- : \
- (((pos) = ((list)->next == list) ? NULL : prelude_list_entry((list)->next, class, member)), \
- ((bkp) = (! (pos) ||(pos)->member.next == list ) ? NULL : prelude_list_entry((pos)->member.next, class, member)), \
- (pos))
-</MACRO>
-<MACRO>
-<NAME>PRELUDE_INT8_MIN</NAME>
-#define PRELUDE_INT8_MIN (-128)
-</MACRO>
-<MACRO>
-<NAME>PRELUDE_INT16_MIN</NAME>
-#define PRELUDE_INT16_MIN (-32767 - 1)
-</MACRO>
-<MACRO>
-<NAME>PRELUDE_INT32_MIN</NAME>
-#define PRELUDE_INT32_MIN (-2147483647 - 1)
-</MACRO>
-<MACRO>
-<NAME>PRELUDE_INT64_MIN</NAME>
-#define PRELUDE_INT64_MIN (-__PRELUDE_INT64_SUFFIX(9223372036854775807) - 1)
-</MACRO>
-<MACRO>
-<NAME>PRELUDE_INT8_MAX</NAME>
-#define PRELUDE_INT8_MAX (127)
-</MACRO>
-<MACRO>
-<NAME>PRELUDE_INT16_MAX</NAME>
-#define PRELUDE_INT16_MAX (32767)
-</MACRO>
-<MACRO>
-<NAME>PRELUDE_INT32_MAX</NAME>
-#define PRELUDE_INT32_MAX (2147483647)
-</MACRO>
-<MACRO>
-<NAME>PRELUDE_INT64_MAX</NAME>
-#define PRELUDE_INT64_MAX (__PRELUDE_INT64_SUFFIX(9223372036854775807))
-</MACRO>
-<MACRO>
-<NAME>PRELUDE_UINT8_MAX</NAME>
-#define PRELUDE_UINT8_MAX (255)
-</MACRO>
-<MACRO>
-<NAME>PRELUDE_UINT16_MAX</NAME>
-#define PRELUDE_UINT16_MAX (65535)
-</MACRO>
-<MACRO>
-<NAME>PRELUDE_UINT32_MAX</NAME>
-#define PRELUDE_UINT32_MAX (4294967295U)
-</MACRO>
-<MACRO>
-<NAME>PRELUDE_UINT64_MAX</NAME>
-#define PRELUDE_UINT64_MAX (__PRELUDE_UINT64_SUFFIX(18446744073709551615))
-</MACRO>
-<MACRO>
-<NAME>PRELUDE_INTMAX_MIN</NAME>
-#define PRELUDE_INTMAX_MIN INT64_MIN
-</MACRO>
-<MACRO>
-<NAME>PRELUDE_INTMAX_MAX</NAME>
-#define PRELUDE_INTMAX_MAX INT64_MAX
-</MACRO>
-<MACRO>
-<NAME>PRELUDE_UINTMAX_MAX</NAME>
-#define PRELUDE_UINTMAX_MAX UINT64_MAX
-</MACRO>
-<MACRO>
-<NAME>PRELUDE_PRId64</NAME>
-#define PRELUDE_PRId64 __PRELUDE_64BIT_FORMAT_PREFIX "d"
-</MACRO>
-<MACRO>
-<NAME>PRELUDE_PRIi64</NAME>
-#define PRELUDE_PRIi64 __PRELUDE_64BIT_FORMAT_PREFIX "i"
-</MACRO>
-<MACRO>
-<NAME>PRELUDE_PRIo64</NAME>
-#define PRELUDE_PRIo64 __PRELUDE_64BIT_FORMAT_PREFIX "o"
-</MACRO>
-<MACRO>
-<NAME>PRELUDE_PRIx64</NAME>
-#define PRELUDE_PRIx64 __PRELUDE_64BIT_FORMAT_PREFIX "x"
-</MACRO>
-<MACRO>
-<NAME>PRELUDE_PRIX64</NAME>
-#define PRELUDE_PRIX64 __PRELUDE_64BIT_FORMAT_PREFIX "X"
-</MACRO>
-<MACRO>
-<NAME>PRELUDE_PRIu64</NAME>
-#define PRELUDE_PRIu64 __PRELUDE_64BIT_FORMAT_PREFIX "u"
-</MACRO>
-<MACRO>
-<NAME>PRELUDE_PRId32</NAME>
-#define PRELUDE_PRId32 "d"
-</MACRO>
-<MACRO>
-<NAME>PRELUDE_PRIi32</NAME>
-#define PRELUDE_PRIi32 "i"
-</MACRO>
-<MACRO>
-<NAME>PRELUDE_PRIo32</NAME>
-#define PRELUDE_PRIo32 "o"
-</MACRO>
-<MACRO>
-<NAME>PRELUDE_PRIx32</NAME>
-#define PRELUDE_PRIx32 "x"
-</MACRO>
-<MACRO>
-<NAME>PRELUDE_PRIX32</NAME>
-#define PRELUDE_PRIX32 "X"
-</MACRO>
-<MACRO>
-<NAME>PRELUDE_PRIu32</NAME>
-#define PRELUDE_PRIu32 "u"
-</MACRO>
-<MACRO>
-<NAME>PRELUDE_PRId16</NAME>
-#define PRELUDE_PRId16 "d"
-</MACRO>
-<MACRO>
-<NAME>PRELUDE_PRIi16</NAME>
-#define PRELUDE_PRIi16 "i"
-</MACRO>
-<MACRO>
-<NAME>PRELUDE_PRIo16</NAME>
-#define PRELUDE_PRIo16 "o"
-</MACRO>
-<MACRO>
-<NAME>PRELUDE_PRIx16</NAME>
-#define PRELUDE_PRIx16 "x"
-</MACRO>
-<MACRO>
-<NAME>PRELUDE_PRIX16</NAME>
-#define PRELUDE_PRIX16 "X"
-</MACRO>
-<MACRO>
-<NAME>PRELUDE_PRIu16</NAME>
-#define PRELUDE_PRIu16 "u"
-</MACRO>
-<MACRO>
-<NAME>PRELUDE_PRId8</NAME>
-#define PRELUDE_PRId8 "d"
-</MACRO>
-<MACRO>
-<NAME>PRELUDE_PRIi8</NAME>
-#define PRELUDE_PRIi8 "i"
-</MACRO>
-<MACRO>
-<NAME>PRELUDE_PRIo8</NAME>
-#define PRELUDE_PRIo8 "o"
-</MACRO>
-<MACRO>
-<NAME>PRELUDE_PRIx8</NAME>
-#define PRELUDE_PRIx8 "x"
-</MACRO>
-<MACRO>
-<NAME>PRELUDE_PRIX8</NAME>
-#define PRELUDE_PRIX8 "X"
-</MACRO>
-<MACRO>
-<NAME>PRELUDE_PRIu8</NAME>
-#define PRELUDE_PRIu8 "u"
-</MACRO>
-<MACRO>
-<NAME>PRELUDE_SCNd64</NAME>
-#define PRELUDE_SCNd64 __PRELUDE_64BIT_FORMAT_PREFIX "d"
-</MACRO>
-<MACRO>
-<NAME>PRELUDE_SCNi64</NAME>
-#define PRELUDE_SCNi64 __PRELUDE_64BIT_FORMAT_PREFIX "i"
-</MACRO>
-<MACRO>
-<NAME>PRELUDE_SCNo64</NAME>
-#define PRELUDE_SCNo64 __PRELUDE_64BIT_FORMAT_PREFIX "o"
-</MACRO>
-<MACRO>
-<NAME>PRELUDE_SCNx64</NAME>
-#define PRELUDE_SCNx64 __PRELUDE_64BIT_FORMAT_PREFIX "x"
-</MACRO>
-<MACRO>
-<NAME>PRELUDE_SCNu64</NAME>
-#define PRELUDE_SCNu64 __PRELUDE_64BIT_FORMAT_PREFIX "u"
-</MACRO>
<ENUM>
-<NAME>prelude_bool_t</NAME>
-typedef enum {
- PRELUDE_BOOL_TRUE = TRUE,
- PRELUDE_BOOL_FALSE = FALSE
-} prelude_bool_t;
-</ENUM>
-<TYPEDEF>
-<NAME>int8_t</NAME>
- typedef signed char int8_t;
-</TYPEDEF>
-<TYPEDEF>
-<NAME>uint8_t</NAME>
- typedef unsigned char uint8_t;
-</TYPEDEF>
-<TYPEDEF>
-<NAME>int16_t</NAME>
- typedef short int16_t;
-</TYPEDEF>
-<TYPEDEF>
-<NAME>uint16_t</NAME>
- typedef unsigned short uint16_t;
-</TYPEDEF>
-<TYPEDEF>
-<NAME>int32_t</NAME>
- typedef int int32_t;
-</TYPEDEF>
-<TYPEDEF>
-<NAME>uint32_t</NAME>
- typedef unsigned int uint32_t;
-</TYPEDEF>
-<TYPEDEF>
-<NAME>int64_t</NAME>
- typedef long int64_t;
-</TYPEDEF>
-<TYPEDEF>
-<NAME>uint64_t</NAME>
- typedef unsigned long uint64_t;
-</TYPEDEF>
-<TYPEDEF>
-<NAME>int64_t</NAME>
- typedef long long int64_t;
-</TYPEDEF>
-<TYPEDEF>
-<NAME>uint64_t</NAME>
- typedef unsigned long long uint64_t;
-</TYPEDEF>
-<MACRO>
-<NAME>LIBPRELUDE_VERSION</NAME>
-#define LIBPRELUDE_VERSION "0.9.21.3"
-</MACRO>
-<FUNCTION>
-<NAME>prelude_init</NAME>
-<RETURNS>int </RETURNS>
-int *argc, char **argv
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_deinit</NAME>
-<RETURNS>void </RETURNS>
-void
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_check_version</NAME>
-<RETURNS>const char *</RETURNS>
-const char *req_version
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_thread_init</NAME>
-<RETURNS>int </RETURNS>
-void *future_use
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_fork_prepare</NAME>
-<RETURNS>void </RETURNS>
-void
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_fork_parent</NAME>
-<RETURNS>void </RETURNS>
-void
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_fork_child</NAME>
-<RETURNS>void </RETURNS>
-void
-</FUNCTION>
-<MACRO>
-<NAME>PRELUDE_OPTION_REPLY_TYPE_SET</NAME>
-#define PRELUDE_OPTION_REPLY_TYPE_SET 0x01
-</MACRO>
-<MACRO>
-<NAME>PRELUDE_OPTION_REPLY_TYPE_GET</NAME>
-#define PRELUDE_OPTION_REPLY_TYPE_GET 0x02
-</MACRO>
-<MACRO>
-<NAME>PRELUDE_OPTION_REPLY_TYPE_LIST</NAME>
-#define PRELUDE_OPTION_REPLY_TYPE_LIST 0x04
-</MACRO>
-<MACRO>
-<NAME>PRELUDE_OPTION_REPLY_TYPE_ERROR</NAME>
-#define PRELUDE_OPTION_REPLY_TYPE_ERROR 0x08
-</MACRO>
-<FUNCTION>
-<NAME>prelude_option_push_request</NAME>
-<RETURNS>int </RETURNS>
-prelude_msgbuf_t *msg, int type, const char *request
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_option_new_request</NAME>
-<RETURNS>int </RETURNS>
-prelude_msgbuf_t *msgbuf,uint32_t request_id, uint64_t *target_id, size_t size
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_option_process_request</NAME>
-<RETURNS>int </RETURNS>
-prelude_client_t *client, prelude_msg_t *msg, prelude_msgbuf_t *reply
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_option_recv_reply</NAME>
-<RETURNS>int </RETURNS>
-prelude_msg_t *msg, uint64_t *source_id, uint32_t *request_id, void **value
-</FUNCTION>
-<ENUM>
-<NAME>idmef_criterion_operator_t</NAME>
-typedef enum {
- IDMEF_CRITERION_OPERATOR_NOT = 0x8000,
- IDMEF_CRITERION_OPERATOR_NOCASE = 0x4000,
-
- IDMEF_CRITERION_OPERATOR_EQUAL = 0x0001,
- IDMEF_CRITERION_OPERATOR_EQUAL_NOCASE = IDMEF_CRITERION_OPERATOR_EQUAL|IDMEF_CRITERION_OPERATOR_NOCASE,
- IDMEF_CRITERION_OPERATOR_NOT_EQUAL = IDMEF_CRITERION_OPERATOR_NOT|IDMEF_CRITERION_OPERATOR_EQUAL,
- IDMEF_CRITERION_OPERATOR_NOT_EQUAL_NOCASE = IDMEF_CRITERION_OPERATOR_NOT_EQUAL|IDMEF_CRITERION_OPERATOR_EQUAL_NOCASE,
-
- IDMEF_CRITERION_OPERATOR_LESSER = 0x0002,
- IDMEF_CRITERION_OPERATOR_LESSER_OR_EQUAL = IDMEF_CRITERION_OPERATOR_LESSER|IDMEF_CRITERION_OPERATOR_EQUAL,
-
- IDMEF_CRITERION_OPERATOR_GREATER = 0x0004,
- IDMEF_CRITERION_OPERATOR_GREATER_OR_EQUAL = IDMEF_CRITERION_OPERATOR_GREATER|IDMEF_CRITERION_OPERATOR_EQUAL,
-
- IDMEF_CRITERION_OPERATOR_SUBSTR = 0x0008,
- IDMEF_CRITERION_OPERATOR_SUBSTR_NOCASE = IDMEF_CRITERION_OPERATOR_SUBSTR|IDMEF_CRITERION_OPERATOR_NOCASE,
- IDMEF_CRITERION_OPERATOR_NOT_SUBSTR = IDMEF_CRITERION_OPERATOR_NOT|IDMEF_CRITERION_OPERATOR_SUBSTR,
- IDMEF_CRITERION_OPERATOR_NOT_SUBSTR_NOCASE = IDMEF_CRITERION_OPERATOR_NOT|IDMEF_CRITERION_OPERATOR_SUBSTR_NOCASE,
-
- IDMEF_CRITERION_OPERATOR_REGEX = 0x0010,
- IDMEF_CRITERION_OPERATOR_REGEX_NOCASE = IDMEF_CRITERION_OPERATOR_REGEX|IDMEF_CRITERION_OPERATOR_NOCASE,
- IDMEF_CRITERION_OPERATOR_NOT_REGEX = IDMEF_CRITERION_OPERATOR_NOT|IDMEF_CRITERION_OPERATOR_REGEX,
- IDMEF_CRITERION_OPERATOR_NOT_REGEX_NOCASE = IDMEF_CRITERION_OPERATOR_NOT|IDMEF_CRITERION_OPERATOR_REGEX_NOCASE,
-
- IDMEF_CRITERION_OPERATOR_NULL = 0x0020,
- IDMEF_CRITERION_OPERATOR_NOT_NULL = IDMEF_CRITERION_OPERATOR_NULL|IDMEF_CRITERION_OPERATOR_NOT
-} idmef_criterion_operator_t;
-</ENUM>
-<TYPEDEF>
-<NAME>idmef_criteria_t</NAME>
-typedef struct idmef_criteria idmef_criteria_t;
-</TYPEDEF>
-<TYPEDEF>
-<NAME>idmef_criterion_t</NAME>
-typedef struct idmef_criterion idmef_criterion_t;
-</TYPEDEF>
-<FUNCTION>
-<NAME>idmef_criterion_operator_to_string</NAME>
-<RETURNS>const char *</RETURNS>
-idmef_criterion_operator_t op
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_criterion_new</NAME>
-<RETURNS>int </RETURNS>
-idmef_criterion_t **criterion, idmef_path_t *path,idmef_criterion_value_t *value, idmef_criterion_operator_t op
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_criterion_destroy</NAME>
-<RETURNS>void </RETURNS>
-idmef_criterion_t *criterion
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_criteria_ref</NAME>
-<RETURNS>idmef_criteria_t *</RETURNS>
-idmef_criteria_t *criteria
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_criterion_clone</NAME>
-<RETURNS>int </RETURNS>
-const idmef_criterion_t *criterion, idmef_criterion_t **dst
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_criterion_print</NAME>
-<RETURNS>int </RETURNS>
-const idmef_criterion_t *criterion, prelude_io_t *fd
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_criterion_to_string</NAME>
-<RETURNS>int </RETURNS>
-const idmef_criterion_t *criterion, prelude_string_t *out
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_criterion_get_path</NAME>
-<RETURNS>idmef_path_t *</RETURNS>
-const idmef_criterion_t *criterion
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_criterion_get_value</NAME>
-<RETURNS>idmef_criterion_value_t *</RETURNS>
-const idmef_criterion_t *criterion
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_criterion_get_operator</NAME>
-<RETURNS>idmef_criterion_operator_t </RETURNS>
-const idmef_criterion_t *criterion
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_criterion_match</NAME>
-<RETURNS>int </RETURNS>
-const idmef_criterion_t *criterion, idmef_message_t *message
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_criteria_new</NAME>
-<RETURNS>int </RETURNS>
-idmef_criteria_t **criteria
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_criteria_destroy</NAME>
-<RETURNS>void </RETURNS>
-idmef_criteria_t *criteria
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_criteria_clone</NAME>
-<RETURNS>int </RETURNS>
-idmef_criteria_t *src, idmef_criteria_t **dst
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_criteria_print</NAME>
-<RETURNS>int </RETURNS>
-const idmef_criteria_t *criteria, prelude_io_t *fd
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_criteria_to_string</NAME>
-<RETURNS>int </RETURNS>
-const idmef_criteria_t *criteria, prelude_string_t *out
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_criteria_is_criterion</NAME>
-<RETURNS>prelude_bool_t </RETURNS>
-const idmef_criteria_t *criteria
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_criteria_get_criterion</NAME>
-<RETURNS>idmef_criterion_t *</RETURNS>
-const idmef_criteria_t *criteria
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_criteria_set_criterion</NAME>
-<RETURNS>void </RETURNS>
-idmef_criteria_t *criteria, idmef_criterion_t *criterion
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_criteria_or_criteria</NAME>
-<RETURNS>void </RETURNS>
-idmef_criteria_t *criteria, idmef_criteria_t *criteria2
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_criteria_and_criteria</NAME>
-<RETURNS>int </RETURNS>
-idmef_criteria_t *criteria, idmef_criteria_t *criteria2
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_criteria_match</NAME>
-<RETURNS>int </RETURNS>
-const idmef_criteria_t *criteria, idmef_message_t *message
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_criteria_get_or</NAME>
-<RETURNS>idmef_criteria_t *</RETURNS>
-const idmef_criteria_t *criteria
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_criteria_get_and</NAME>
-<RETURNS>idmef_criteria_t *</RETURNS>
-const idmef_criteria_t *criteria
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_criteria_new_from_string</NAME>
-<RETURNS>int </RETURNS>
-idmef_criteria_t **criteria, const char *str
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_criteria_set_negation</NAME>
-<RETURNS>void </RETURNS>
-idmef_criteria_t *criteria, prelude_bool_t negate
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_criteria_get_negation</NAME>
-<RETURNS>prelude_bool_t </RETURNS>
-const idmef_criteria_t *criteria
-</FUNCTION>
-<ENUM>
<NAME>idmef_data_type_t</NAME>
typedef enum {
IDMEF_DATA_TYPE_UNKNOWN = 0,
@@ -7638,898 +7902,634 @@
const idmef_data_t *data1, const idmef_data_t *data2
</FUNCTION>
<TYPEDEF>
-<NAME>idmef_criterion_value_t</NAME>
-typedef struct idmef_criterion_value idmef_criterion_value_t;
+<NAME>prelude_msgbuf_t</NAME>
+typedef struct prelude_msgbuf prelude_msgbuf_t;
</TYPEDEF>
<ENUM>
-<NAME>idmef_criterion_value_type_t</NAME>
+<NAME>prelude_msgbuf_flags_t</NAME>
typedef enum {
- IDMEF_CRITERION_VALUE_TYPE_ERROR = -1,
- IDMEF_CRITERION_VALUE_TYPE_VALUE = 0,
- IDMEF_CRITERION_VALUE_TYPE_REGEX = 1,
- IDMEF_CRITERION_VALUE_TYPE_BROKEN_DOWN_TIME = 2
-} idmef_criterion_value_type_t;
+ PRELUDE_MSGBUF_FLAGS_ASYNC = 0x01
+} prelude_msgbuf_flags_t;
</ENUM>
<FUNCTION>
-<NAME>idmef_criterion_value_new</NAME>
+<NAME>prelude_msgbuf_new</NAME>
<RETURNS>int </RETURNS>
-idmef_criterion_value_t **cv
+prelude_msgbuf_t **msgbuf
</FUNCTION>
<FUNCTION>
-<NAME>idmef_criterion_value_new_regex</NAME>
-<RETURNS>int </RETURNS>
-idmef_criterion_value_t **cv, const char *regex, idmef_criterion_operator_t op
+<NAME>prelude_msgbuf_destroy</NAME>
+<RETURNS>void </RETURNS>
+prelude_msgbuf_t *msgbuf
</FUNCTION>
<FUNCTION>
-<NAME>idmef_criterion_value_new_value</NAME>
-<RETURNS>int </RETURNS>
-idmef_criterion_value_t **cv, idmef_value_t *value,idmef_criterion_operator_t op
+<NAME>prelude_msgbuf_mark_end</NAME>
+<RETURNS>void </RETURNS>
+prelude_msgbuf_t *msgbuf
</FUNCTION>
<FUNCTION>
-<NAME>idmef_criterion_value_new_from_string</NAME>
+<NAME>prelude_msgbuf_set</NAME>
<RETURNS>int </RETURNS>
-idmef_criterion_value_t **cv, idmef_path_t *path,const char *value, idmef_criterion_operator_t op
+prelude_msgbuf_t *msgbuf, uint8_t tag, uint32_t len, const void *data
</FUNCTION>
<FUNCTION>
-<NAME>idmef_criterion_value_new_broken_down_time</NAME>
-<RETURNS>int </RETURNS>
-idmef_criterion_value_t **cv, const char *time, idmef_criterion_operator_t op
+<NAME>prelude_msgbuf_get_msg</NAME>
+<RETURNS>prelude_msg_t *</RETURNS>
+prelude_msgbuf_t *msgbuf
</FUNCTION>
<FUNCTION>
-<NAME>idmef_criterion_value_clone</NAME>
-<RETURNS>int </RETURNS>
-const idmef_criterion_value_t *src, idmef_criterion_value_t **dst
+<NAME>prelude_msgbuf_set_callback</NAME>
+<RETURNS>void </RETURNS>
+prelude_msgbuf_t *msgbuf, int (*send_msg)(prelude_msgbuf_t *msgbuf, prelude_msg_t *msg)
</FUNCTION>
<FUNCTION>
-<NAME>idmef_criterion_value_destroy</NAME>
+<NAME>prelude_msgbuf_set_data</NAME>
<RETURNS>void </RETURNS>
-idmef_criterion_value_t *value
+prelude_msgbuf_t *msgbuf, void *data
</FUNCTION>
<FUNCTION>
-<NAME>idmef_criterion_value_print</NAME>
-<RETURNS>int </RETURNS>
-idmef_criterion_value_t *value, prelude_io_t *fd
+<NAME>prelude_msgbuf_get_data</NAME>
+<RETURNS>void *</RETURNS>
+prelude_msgbuf_t *msgbuf
</FUNCTION>
<FUNCTION>
-<NAME>idmef_criterion_value_to_string</NAME>
-<RETURNS>int </RETURNS>
-idmef_criterion_value_t *value, prelude_string_t *out
+<NAME>prelude_msgbuf_set_flags</NAME>
+<RETURNS>void </RETURNS>
+prelude_msgbuf_t *msgbuf, prelude_msgbuf_flags_t flags
</FUNCTION>
<FUNCTION>
-<NAME>idmef_criterion_value_match</NAME>
-<RETURNS>int </RETURNS>
-idmef_criterion_value_t *cv, idmef_value_t *value, idmef_criterion_operator_t op
+<NAME>prelude_msgbuf_get_flags</NAME>
+<RETURNS>prelude_msgbuf_flags_t </RETURNS>
+prelude_msgbuf_t *msgbuf
</FUNCTION>
-<FUNCTION>
-<NAME>idmef_criterion_value_get_value</NAME>
-<RETURNS>const idmef_value_t *</RETURNS>
-idmef_criterion_value_t *cv
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_criterion_value_get_regex</NAME>
-<RETURNS>const char *</RETURNS>
-idmef_criterion_value_t *cv
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_criterion_value_get_broken_down_time</NAME>
-<RETURNS>const struct tm *</RETURNS>
-idmef_criterion_value_t *cv
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_criterion_value_get_type</NAME>
-<RETURNS>idmef_criterion_value_type_t </RETURNS>
-idmef_criterion_value_t *cv
-</FUNCTION>
-<TYPEDEF>
-<NAME>idmef_path_t</NAME>
-typedef struct idmef_path idmef_path_t;
-</TYPEDEF>
-<FUNCTION>
-<NAME>idmef_path_get</NAME>
-<RETURNS>int </RETURNS>
-const idmef_path_t *path, idmef_message_t *message, idmef_value_t **ret
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_path_set</NAME>
-<RETURNS>int </RETURNS>
-const idmef_path_t *path, idmef_message_t *message, idmef_value_t *value
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_path_new</NAME>
-<RETURNS>int </RETURNS>
-idmef_path_t **path, const char *format, ...
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_path_new_v</NAME>
-<RETURNS>int </RETURNS>
-idmef_path_t **path, const char *format, va_list args
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_path_new_fast</NAME>
-<RETURNS>int </RETURNS>
-idmef_path_t **path, const char *buffer
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_path_get_class</NAME>
-<RETURNS>idmef_class_id_t </RETURNS>
-const idmef_path_t *path, int depth
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_path_get_value_type</NAME>
-<RETURNS>idmef_value_type_id_t </RETURNS>
-const idmef_path_t *path, int depth
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_path_set_index</NAME>
-<RETURNS>int </RETURNS>
-idmef_path_t *path, unsigned int depth, unsigned int index
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_path_undefine_index</NAME>
-<RETURNS>int </RETURNS>
-idmef_path_t *path, unsigned int depth
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_path_get_index</NAME>
-<RETURNS>int </RETURNS>
-const idmef_path_t *path, unsigned int depth
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_path_make_child</NAME>
-<RETURNS>int </RETURNS>
-idmef_path_t *path, const char *child_name, unsigned int index
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_path_make_parent</NAME>
-<RETURNS>int </RETURNS>
-idmef_path_t *path
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_path_destroy</NAME>
+<ENUM>
+<NAME>prelude_async_flags_t</NAME>
+typedef enum {
+ PRELUDE_ASYNC_FLAGS_TIMER = 0x01
+} prelude_async_flags_t;
+</ENUM>
+<USER_FUNCTION>
+<NAME>prelude_async_callback_t</NAME>
<RETURNS>void </RETURNS>
-idmef_path_t *path
-</FUNCTION>
+void *object, void *data
+</USER_FUNCTION>
+<MACRO>
+<NAME>PRELUDE_ASYNC_OBJECT</NAME>
+#define PRELUDE_ASYNC_OBJECT \
+ PRELUDE_LINKED_OBJECT; \
+ void *_async_data; \
+ prelude_async_callback_t _async_func
+</MACRO>
+<STRUCT>
+<NAME>prelude_async_object_t</NAME>
+typedef struct {
+ PRELUDE_ASYNC_OBJECT;
+} prelude_async_object_t;
+</STRUCT>
<FUNCTION>
-<NAME>idmef_path_ncompare</NAME>
+<NAME>prelude_async_init</NAME>
<RETURNS>int </RETURNS>
-const idmef_path_t *p1, const idmef_path_t *p2, unsigned int depth
+void
</FUNCTION>
<FUNCTION>
-<NAME>idmef_path_compare</NAME>
-<RETURNS>int </RETURNS>
-const idmef_path_t *p1, const idmef_path_t *p2
+<NAME>prelude_async_get_flags</NAME>
+<RETURNS>prelude_async_flags_t </RETURNS>
+void
</FUNCTION>
<FUNCTION>
-<NAME>idmef_path_clone</NAME>
-<RETURNS>int </RETURNS>
-const idmef_path_t *src, idmef_path_t **dst
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_path_ref</NAME>
-<RETURNS>idmef_path_t *</RETURNS>
-idmef_path_t *path
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_path_get_name</NAME>
-<RETURNS>const char *</RETURNS>
-const idmef_path_t *path, int depth
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_path_is_ambiguous</NAME>
-<RETURNS>prelude_bool_t </RETURNS>
-const idmef_path_t *path
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_path_has_lists</NAME>
-<RETURNS>int </RETURNS>
-const idmef_path_t *path
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_path_is_list</NAME>
-<RETURNS>prelude_bool_t </RETURNS>
-const idmef_path_t *path, int depth
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_path_get_depth</NAME>
-<RETURNS>unsigned int </RETURNS>
-const idmef_path_t *path
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_additional_data_new_real</NAME>
-<RETURNS>int </RETURNS>
-idmef_additional_data_t **ret, float data
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_additional_data_new_byte</NAME>
-<RETURNS>int </RETURNS>
-idmef_additional_data_t **ret, uint8_t byte
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_additional_data_new_integer</NAME>
-<RETURNS>int </RETURNS>
-idmef_additional_data_t **ret, uint32_t data
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_additional_data_new_boolean</NAME>
-<RETURNS>int </RETURNS>
-idmef_additional_data_t **ret, prelude_bool_t data
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_additional_data_new_character</NAME>
-<RETURNS>int </RETURNS>
-idmef_additional_data_t **ret, char data
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_additional_data_set_real</NAME>
+<NAME>prelude_async_set_flags</NAME>
<RETURNS>void </RETURNS>
-idmef_additional_data_t *ptr, float data
+prelude_async_flags_t flags
</FUNCTION>
<FUNCTION>
-<NAME>idmef_additional_data_set_byte</NAME>
+<NAME>prelude_async_add</NAME>
<RETURNS>void </RETURNS>
-idmef_additional_data_t *ptr, uint8_t byte
+prelude_async_object_t *obj
</FUNCTION>
<FUNCTION>
-<NAME>idmef_additional_data_set_integer</NAME>
+<NAME>prelude_async_del</NAME>
<RETURNS>void </RETURNS>
-idmef_additional_data_t *ptr, uint32_t data
+prelude_async_object_t *obj
</FUNCTION>
<FUNCTION>
-<NAME>idmef_additional_data_set_boolean</NAME>
+<NAME>prelude_async_exit</NAME>
<RETURNS>void </RETURNS>
-idmef_additional_data_t *ptr, prelude_bool_t data
+void
</FUNCTION>
+<ENUM>
+<NAME>prelude_log_t</NAME>
+typedef enum {
+ PRELUDE_LOG_CRIT = -1,
+ PRELUDE_LOG_ERR = 0,
+ PRELUDE_LOG_WARN = 1,
+ PRELUDE_LOG_INFO = 2,
+ PRELUDE_LOG_DEBUG = 3
+} prelude_log_t;
+</ENUM>
+<ENUM>
+<NAME>prelude_log_flags_t</NAME>
+typedef enum {
+ PRELUDE_LOG_FLAGS_QUIET = 0x01, /* Drop PRELUDE_LOG_PRIORITY_INFO */
+ PRELUDE_LOG_FLAGS_SYSLOG = 0x02
+} prelude_log_flags_t;
+</ENUM>
+<MACRO>
+<NAME>prelude_log</NAME>
+#define prelude_log(level, ...) \
+ _prelude_log(level, __FILE__, __PRELUDE_FUNC__, __LINE__, __VA_ARGS__)
+</MACRO>
+<MACRO>
+<NAME>prelude_log_debug</NAME>
+#define prelude_log_debug(level, ...) \
+ _prelude_log(PRELUDE_LOG_DEBUG + level, __FILE__, __PRELUDE_FUNC__, __LINE__, __VA_ARGS__)
+</MACRO>
<FUNCTION>
-<NAME>idmef_additional_data_set_character</NAME>
+<NAME>prelude_log</NAME>
<RETURNS>void </RETURNS>
-idmef_additional_data_t *ptr, char data
+prelude_log_t level, const char *fmt, ...
</FUNCTION>
<FUNCTION>
-<NAME>idmef_additional_data_new_byte_string_ref</NAME>
-<RETURNS>int </RETURNS>
-idmef_additional_data_t **ad, const unsigned char *data, size_t len
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_additional_data_set_byte_string_ref</NAME>
-<RETURNS>int </RETURNS>
-idmef_additional_data_t *ad, const unsigned char *data, size_t len
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_additional_data_new_byte_string_dup</NAME>
-<RETURNS>int </RETURNS>
-idmef_additional_data_t **ad, const unsigned char *data, size_t len
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_additional_data_set_byte_string_dup</NAME>
-<RETURNS>int </RETURNS>
-idmef_additional_data_t *ad, const unsigned char *data, size_t len
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_additional_data_new_byte_string_nodup</NAME>
-<RETURNS>int </RETURNS>
-idmef_additional_data_t **ad, unsigned char *data, size_t len
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_additional_data_set_byte_string_nodup</NAME>
-<RETURNS>int </RETURNS>
-idmef_additional_data_t *ad, unsigned char *data, size_t len
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_additional_data_copy_ref</NAME>
-<RETURNS>int </RETURNS>
-idmef_additional_data_t *src, idmef_additional_data_t *dst
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_additional_data_copy_dup</NAME>
-<RETURNS>int </RETURNS>
-idmef_additional_data_t *src, idmef_additional_data_t *dst
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_additional_data_get_real</NAME>
-<RETURNS>float </RETURNS>
-idmef_additional_data_t *data
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_additional_data_get_integer</NAME>
-<RETURNS>uint32_t </RETURNS>
-idmef_additional_data_t *data
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_additional_data_get_boolean</NAME>
-<RETURNS>prelude_bool_t </RETURNS>
-idmef_additional_data_t *data
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_additional_data_get_character</NAME>
-<RETURNS>char </RETURNS>
-idmef_additional_data_t *data
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_additional_data_get_byte</NAME>
-<RETURNS>uint8_t </RETURNS>
-idmef_additional_data_t *data
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_additional_data_get_len</NAME>
-<RETURNS>size_t </RETURNS>
-idmef_additional_data_t *data
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_additional_data_is_empty</NAME>
-<RETURNS>prelude_bool_t </RETURNS>
-idmef_additional_data_t *data
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_additional_data_data_to_string</NAME>
-<RETURNS>int </RETURNS>
-idmef_additional_data_t *ad, prelude_string_t *out
-</FUNCTION>
-<TYPEDEF>
-<NAME>idmef_time_t</NAME>
-typedef struct idmef_time idmef_time_t;
-</TYPEDEF>
-<FUNCTION>
-<NAME>idmef_time_ref</NAME>
-<RETURNS>idmef_time_t *</RETURNS>
-idmef_time_t *time
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_time_new</NAME>
-<RETURNS>int </RETURNS>
-idmef_time_t **time
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_time_new_from_time</NAME>
-<RETURNS>int </RETURNS>
-idmef_time_t **time, const time_t *t
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_time_new_from_gettimeofday</NAME>
-<RETURNS>int </RETURNS>
-idmef_time_t **time
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_time_new_from_string</NAME>
-<RETURNS>int </RETURNS>
-idmef_time_t **time, const char *buf
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_time_new_from_ntpstamp</NAME>
-<RETURNS>int </RETURNS>
-idmef_time_t **time, const char *buf
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_time_new_from_timeval</NAME>
-<RETURNS>int </RETURNS>
-idmef_time_t **time, const struct timeval *tv
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_time_set_from_time</NAME>
+<NAME>prelude_log_debug</NAME>
<RETURNS>void </RETURNS>
-idmef_time_t *time, const time_t *t
+prelude_log_t level, const char *fmt, ...
</FUNCTION>
+<MACRO>
+<NAME>prelude_log_v</NAME>
+#define prelude_log_v(level, fmt, ap) \
+ _prelude_log_v(level, __FILE__, __PRELUDE_FUNC__, __LINE__, fmt, ap)
+</MACRO>
+<MACRO>
+<NAME>prelude_log_debug_v</NAME>
+#define prelude_log_debug_v(level, fmt, ap) \
+ _prelude_log_v(PRELUDE_LOG_DEBUG + level, __FILE__, __PRELUDE_FUNC__, __LINE__, fmt, ap)
+</MACRO>
<FUNCTION>
-<NAME>idmef_time_set_from_gettimeofday</NAME>
-<RETURNS>int </RETURNS>
-idmef_time_t *time
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_time_set_from_string</NAME>
-<RETURNS>int </RETURNS>
-idmef_time_t *time, const char *buf
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_time_set_from_ntpstamp</NAME>
-<RETURNS>int </RETURNS>
-idmef_time_t *time, const char *buf
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_time_set_from_timeval</NAME>
-<RETURNS>int </RETURNS>
-idmef_time_t *time, const struct timeval *tv
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_time_destroy_internal</NAME>
+<NAME>prelude_log_set_level</NAME>
<RETURNS>void </RETURNS>
-idmef_time_t *time
+prelude_log_t level
</FUNCTION>
<FUNCTION>
-<NAME>idmef_time_destroy</NAME>
+<NAME>prelude_log_set_debug_level</NAME>
<RETURNS>void </RETURNS>
-idmef_time_t *time
+int level
</FUNCTION>
<FUNCTION>
-<NAME>idmef_time_clone</NAME>
-<RETURNS>int </RETURNS>
-const idmef_time_t *src, idmef_time_t **dst
+<NAME>prelude_log_get_flags</NAME>
+<RETURNS>prelude_log_flags_t </RETURNS>
+void
</FUNCTION>
<FUNCTION>
-<NAME>idmef_time_copy</NAME>
-<RETURNS>int </RETURNS>
-const idmef_time_t *src, idmef_time_t *dst
+<NAME>prelude_log_set_flags</NAME>
+<RETURNS>void </RETURNS>
+prelude_log_flags_t flags
</FUNCTION>
<FUNCTION>
-<NAME>idmef_time_set_sec</NAME>
-<RETURNS>void </RETURNS>
-idmef_time_t *time, uint32_t sec
+<NAME>prelude_log_get_prefix</NAME>
+<RETURNS>char *</RETURNS>
+void
</FUNCTION>
<FUNCTION>
-<NAME>idmef_time_set_usec</NAME>
+<NAME>prelude_log_set_prefix</NAME>
<RETURNS>void </RETURNS>
-idmef_time_t *time, uint32_t usec
+char *prefix
</FUNCTION>
<FUNCTION>
-<NAME>idmef_time_set_gmt_offset</NAME>
+<NAME>prelude_log_set_callback</NAME>
<RETURNS>void </RETURNS>
-idmef_time_t *time, int32_t gmtoff
+void log_cb(prelude_log_t level, const char *str)
</FUNCTION>
<FUNCTION>
-<NAME>idmef_time_get_sec</NAME>
-<RETURNS>uint32_t </RETURNS>
-const idmef_time_t *time
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_time_get_usec</NAME>
-<RETURNS>uint32_t </RETURNS>
-const idmef_time_t *time
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_time_get_gmt_offset</NAME>
-<RETURNS>int32_t </RETURNS>
-const idmef_time_t *time
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_time_to_string</NAME>
+<NAME>prelude_log_set_logfile</NAME>
<RETURNS>int </RETURNS>
-const idmef_time_t *time, prelude_string_t *out
+const char *filename
</FUNCTION>
-<FUNCTION>
-<NAME>idmef_time_to_ntpstamp</NAME>
-<RETURNS>int </RETURNS>
-const idmef_time_t *time, prelude_string_t *out
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_time_compare</NAME>
-<RETURNS>int </RETURNS>
-const idmef_time_t *time1, const idmef_time_t *time2
-</FUNCTION>
+<MACRO>
+<NAME>PRELUDE_LIST</NAME>
+#define PRELUDE_LIST(item) prelude_list_t (item) = { &(item), &(item) }
+</MACRO>
<STRUCT>
-<NAME>prelude_timer_t</NAME>
-typedef struct {
- prelude_list_t list;
-
- int expire;
- time_t start_time;
-
- void *data;
- void (*function)(void *data);
-} prelude_timer_t;
+<NAME>prelude_list_t</NAME>
+typedef struct prelude_list {
+ struct prelude_list *next;
+ struct prelude_list *prev;
+} prelude_list_t;
</STRUCT>
<MACRO>
-<NAME>prelude_timer_get_expire</NAME>
-#define prelude_timer_get_expire(timer) (timer)->expire
+<NAME>prelude_list_entry</NAME>
+#define prelude_list_entry(item, type, member) \
+ (type *) ((unsigned long) item - (unsigned long) &((type *) 0)->member)
</MACRO>
<MACRO>
-<NAME>prelude_timer_get_data</NAME>
-#define prelude_timer_get_data(timer) (timer)->data
+<NAME>prelude_list_for_each</NAME>
+#define prelude_list_for_each(list, pos) \
+ for ( (pos) = (list)->next; (pos) != (list); (pos) = (pos)->next )
</MACRO>
<MACRO>
-<NAME>prelude_timer_get_callback</NAME>
-#define prelude_timer_get_callback(timer) (timer)->function
+<NAME>prelude_list_for_each_safe</NAME>
+#define prelude_list_for_each_safe(list, pos, bkp) \
+ for ( (pos) = (list)->next, (bkp) = (pos)->next; (pos) != (list); (pos) = (bkp), (bkp) = (pos)->next )
</MACRO>
<MACRO>
-<NAME>prelude_timer_set_expire</NAME>
-#define prelude_timer_set_expire(timer, x) prelude_timer_get_expire((timer)) = (x)
+<NAME>prelude_list_for_each_reversed</NAME>
+#define prelude_list_for_each_reversed(list, pos) \
+ for ( (pos) = (list)->prev; (pos) != (list); (pos) = (pos)->prev )
</MACRO>
<MACRO>
-<NAME>prelude_timer_set_data</NAME>
-#define prelude_timer_set_data(timer, x) prelude_timer_get_data((timer)) = (x)
+<NAME>prelude_list_for_each_reversed_safe</NAME>
+#define prelude_list_for_each_reversed_safe(list, pos, bkp) \
+ for ( (pos) = (list)->prev, (bkp) = (pos)->prev; (pos) != (list); (pos) = (bkp), (bkp) = (pos)->prev )
</MACRO>
<MACRO>
-<NAME>prelude_timer_set_callback</NAME>
-#define prelude_timer_set_callback(timer, x) prelude_timer_get_callback((timer)) = (x)
+<NAME>prelude_list_for_each_continue</NAME>
+#define prelude_list_for_each_continue(list, pos) \
+ for ( (pos) = ((pos) == NULL) ? (list)->next : (pos)->next; (pos) != (list); (pos) = (pos)->next )
</MACRO>
+<MACRO>
+<NAME>prelude_list_for_each_continue_safe</NAME>
+#define prelude_list_for_each_continue_safe(list, pos, bkp) \
+ for ( (pos) = ((bkp) == NULL) ? (list)->next : (bkp); (bkp) = (pos)->next, (pos) != (list); (pos) = (bkp) )
+</MACRO>
+<MACRO>
+<NAME>prelude_list_get_next</NAME>
+#define prelude_list_get_next(list, pos, class, member) \
+ pos ? \
+ ((pos)->member.next == (list)) ? NULL : \
+ prelude_list_entry((pos)->member.next, class, member) \
+ : \
+ ((list)->next == (list)) ? NULL : \
+ prelude_list_entry((list)->next, class, member)
+</MACRO>
+<MACRO>
+<NAME>prelude_list_get_next_safe</NAME>
+#define prelude_list_get_next_safe(list, pos, bkp, class, member) \
+ pos ? \
+ (((pos) = bkp), \
+ ((bkp) = (! (bkp) || (bkp)->member.next == list) ? NULL : prelude_list_entry((pos)->member.next, class, member)), \
+ (pos)) \
+ : \
+ (((pos) = ((list)->next == list) ? NULL : prelude_list_entry((list)->next, class, member)), \
+ ((bkp) = (! (pos) ||(pos)->member.next == list ) ? NULL : prelude_list_entry((pos)->member.next, class, member)), \
+ (pos))
+</MACRO>
+<MACRO>
+<NAME>PRELUDE_LINKED_OBJECT</NAME>
+#define PRELUDE_LINKED_OBJECT \
+ prelude_list_t _list; \
+ unsigned int _object_id
+</MACRO>
+<STRUCT>
+<NAME>prelude_linked_object_t</NAME>
+typedef struct {
+ PRELUDE_LINKED_OBJECT;
+} prelude_linked_object_t;
+</STRUCT>
+<MACRO>
+<NAME>prelude_linked_object_get_object</NAME>
+#define prelude_linked_object_get_object(object) \
+ (void *) prelude_list_entry(object, prelude_linked_object_t, _list)
+</MACRO>
<FUNCTION>
-<NAME>prelude_timer_init</NAME>
-<RETURNS>void </RETURNS>
-prelude_timer_t *timer
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_timer_init_list</NAME>
-<RETURNS>void </RETURNS>
-prelude_timer_t *timer
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_timer_reset</NAME>
-<RETURNS>void </RETURNS>
-prelude_timer_t *timer
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_timer_destroy</NAME>
-<RETURNS>void </RETURNS>
-prelude_timer_t *timer
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_timer_wake_up</NAME>
-<RETURNS>void </RETURNS>
-void
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_timer_flush</NAME>
-<RETURNS>void </RETURNS>
-void
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_timer_lock_critical_region</NAME>
-<RETURNS>void </RETURNS>
-void
-</FUNCTION>
-<FUNCTION>
-<NAME>prelude_timer_unlock_critical_region</NAME>
-<RETURNS>void </RETURNS>
-void
-</FUNCTION>
-<TYPEDEF>
-<NAME>idmef_value_t</NAME>
-typedef struct idmef_value idmef_value_t;
-</TYPEDEF>
-<FUNCTION>
-<NAME>idmef_value_new_int8</NAME>
+<NAME>idmef_message_set_value</NAME>
<RETURNS>int </RETURNS>
-idmef_value_t **value, int8_t val
+idmef_message_t *message, const char *path, idmef_value_t *value
</FUNCTION>
<FUNCTION>
-<NAME>idmef_value_new_uint8</NAME>
+<NAME>idmef_message_get_value</NAME>
<RETURNS>int </RETURNS>
-idmef_value_t **value, uint8_t val
+idmef_message_t *message, const char *path, idmef_value_t **value
</FUNCTION>
<FUNCTION>
-<NAME>idmef_value_new_int16</NAME>
+<NAME>idmef_message_set_string</NAME>
<RETURNS>int </RETURNS>
-idmef_value_t **value, int16_t val
+idmef_message_t *message, const char *path, const char *value
</FUNCTION>
<FUNCTION>
-<NAME>idmef_value_new_uint16</NAME>
+<NAME>idmef_message_get_string</NAME>
<RETURNS>int </RETURNS>
-idmef_value_t **value, uint16_t val
+idmef_message_t *message, const char *path, char **result
</FUNCTION>
<FUNCTION>
-<NAME>idmef_value_new_int32</NAME>
+<NAME>idmef_message_set_number</NAME>
<RETURNS>int </RETURNS>
-idmef_value_t **value, int32_t val
+idmef_message_t *message, const char *path, double number
</FUNCTION>
<FUNCTION>
-<NAME>idmef_value_new_uint32</NAME>
+<NAME>idmef_message_get_number</NAME>
<RETURNS>int </RETURNS>
-idmef_value_t **value, uint32_t val
+idmef_message_t *message, const char *path, double *result
</FUNCTION>
<FUNCTION>
-<NAME>idmef_value_new_int64</NAME>
+<NAME>idmef_message_set_data</NAME>
<RETURNS>int </RETURNS>
-idmef_value_t **value, int64_t val
+idmef_message_t *message, const char *path, const unsigned char *data, size_t size
</FUNCTION>
<FUNCTION>
-<NAME>idmef_value_new_uint64</NAME>
+<NAME>idmef_message_get_data</NAME>
<RETURNS>int </RETURNS>
-idmef_value_t **value, uint64_t val
+idmef_message_t *message, const char *path, unsigned char **data, size_t *size
</FUNCTION>
+<MACRO>
+<NAME>PRELUDE_ERROR_SYSTEM_ERROR</NAME>
+#define PRELUDE_ERROR_SYSTEM_ERROR (1 << 15)
+</MACRO>
+<ENUM>
+<NAME>prelude_error_source_t</NAME>
+typedef enum {
+ PRELUDE_ERROR_SOURCE_UNKNOWN = 0,
+ PRELUDE_ERROR_SOURCE_IO = 1,
+ PRELUDE_ERROR_SOURCE_MESSAGE = 2,
+ PRELUDE_ERROR_SOURCE_FAILOVER = 3,
+ PRELUDE_ERROR_SOURCE_CLIENT = 4,
+ PRELUDE_ERROR_SOURCE_CLIENT_PROFILE = 5,
+ PRELUDE_ERROR_SOURCE_EXTRACT = 6,
+ PRELUDE_ERROR_SOURCE_CONNECTION = 7,
+ PRELUDE_ERROR_SOURCE_CONNECTION_POOL = 8,
+ PRELUDE_ERROR_SOURCE_CONFIG_ENGINE = 9,
+ PRELUDE_ERROR_SOURCE_STRING = 10,
+ PRELUDE_ERROR_SOURCE_IDMEF_TREE_WRAP = 11,
+ PRELUDE_ERROR_SOURCE_IDMEF_PATH = 12,
+ PRELUDE_ERROR_SOURCE_IDMEF_TYPE = 13,
+ PRELUDE_ERROR_SOURCE_IDMEF_MESSAGE_READ = 14,
+ PRELUDE_ERROR_SOURCE_IDMEF_CRITERIA = 15,
+ PRELUDE_ERROR_SOURCE_IDMEF_VALUE_TYPE = 16,
+ PRELUDE_ERROR_SOURCE_PRELUDEDB = 255,
+} prelude_error_source_t;
+</ENUM>
+<ENUM>
+<NAME>prelude_error_code_t</NAME>
+typedef enum {
+ PRELUDE_ERROR_NO_ERROR = 0,
+ PRELUDE_ERROR_GENERIC = 1,
+ PRELUDE_ERROR_TLS = 2,
+ PRELUDE_ERROR_INVAL_LENGTH = 3,
+ PRELUDE_ERROR_INVAL_MESSAGE = 4,
+ PRELUDE_ERROR_PROTOCOL_VERSION = 5,
+ PRELUDE_ERROR_EOF = 6,
+ PRELUDE_ERROR_PROFILE = 8,
+ PRELUDE_ERROR_TLS_AUTH_REJECTED = 16,
+ PRELUDE_ERROR_INVAL_INT8 = 17,
+ PRELUDE_ERROR_INVAL_INT16 = 18,
+ PRELUDE_ERROR_INVAL_INT32 = 19,
+ PRELUDE_ERROR_INVAL_INT64 = 20,
+ PRELUDE_ERROR_INVAL_FLOAT = 21,
+ PRELUDE_ERROR_INVAL_CHAR = 22,
+ PRELUDE_ERROR_INVAL_IDMEF_TIME = 23,
+ PRELUDE_ERROR_CONNECTION_STRING = 24,
+ PRELUDE_ERROR_IDMEF_VALUE_TYPE_UNKNOWN = 25,
+ PRELUDE_ERROR_IDMEF_VALUE_TYPE_COPY_UNAVAILABLE = 26,
+ PRELUDE_ERROR_IDMEF_VALUE_TYPE_CLONE_UNAVAILABLE = 27,
+ PRELUDE_ERROR_IDMEF_VALUE_TYPE_COMPARE_UNAVAILABLE = 28,
+ PRELUDE_ERROR_IDMEF_VALUE_TYPE_READ_UNAVAILABLE = 29,
+ PRELUDE_ERROR_IDMEF_VALUE_TYPE_WRITE_UNAVAILABLE = 30,
+ PRELUDE_ERROR_IDMEF_VALUE_TYPE_COMPARE_MISMATCH = 31,
+ PRELUDE_ERROR_IDMEF_VALUE_TYPE_PARSE = 32,
+ PRELUDE_ERROR_IDMEF_CLASS_UNKNOWN = 33,
+ PRELUDE_ERROR_IDMEF_CLASS_UNKNOWN_CHILD = 34,
+ PRELUDE_ERROR_IDMEF_CLASS_UNKNOWN_NAME = 35,
+ PRELUDE_ERROR_IDMEF_PATH_LENGTH = 36,
+ PRELUDE_ERROR_IDMEF_PATH_DEPTH = 37,
+ PRELUDE_ERROR_IDMEF_PATH_PARENT_ROOT = 38,
+ PRELUDE_ERROR_IDMEF_PATH_NTH = 39,
+ PRELUDE_ERROR_IDMEF_PATH_MISS_INDEX = 40,
+ PRELUDE_ERROR_IDMEF_PATH_INTEGRITY = 41,
+ PRELUDE_ERROR_IDMEF_PATH_INDEX_RESERVED = 42,
+ PRELUDE_ERROR_IDMEF_PATH_INDEX_FORBIDDEN = 43,
+ PRELUDE_ERROR_IDMEF_PATH_INDEX_UNDEFINED = 44,
+ PRELUDE_ERROR_IDMEF_TREE_INDEX_UNDEFINED = 45,
+ PRELUDE_ERROR_IDMEF_UNKNOWN_ENUM_STRING = 46,
+ PRELUDE_ERROR_IDMEF_UNKNOWN_TAG = 47,
+ PRELUDE_ERROR_DAEMONIZE_LOCK_HELD = 48,
+ PRELUDE_ERROR_PLUGIN_LTDL_INIT = 49,
+ PRELUDE_ERROR_STRING_NOT_NULL_TERMINATED = 50,
+ PRELUDE_ERROR_CANT_RESOLVE = 51,
+ PRELUDE_ERROR_UNKNOWN_PERMISSION_TYPE = 52,
+ PRELUDE_ERROR_UNKNOWN_PERMISSION_BIT = 53,
+ PRELUDE_ERROR_IDMEF_CRITERIA_PARSE = 55,
+ PRELUDE_ERROR_IDMEF_CRITERION_UNSUPPORTED_OPERATOR = 56,
+ PRELUDE_ERROR_IDMEF_CRITERION_INVALID_REGEX = 57,
+ PRELUDE_ERROR_TLS_WARNING_ALERT = 58,
+ PRELUDE_ERROR_TLS_FATAL_ALERT = 59,
+ PRELUDE_ERROR_IDMEF_CLASS_CHILD_NOT_CLASS = 60,
+ PRELUDE_ERROR_ASSERTION = 61,
+ PRELUDE_ERROR_IDMEF_VALUE_TYPE_REF_UNAVAILABLE = 62,
+ PRELUDE_ERROR_UNKNOWN_ERRNO = 16382,
+ PRELUDE_ERROR_E2BIG = PRELUDE_ERROR_SYSTEM_ERROR | 0,
+ PRELUDE_ERROR_EACCES = PRELUDE_ERROR_SYSTEM_ERROR | 1,
+ PRELUDE_ERROR_EADDRINUSE = PRELUDE_ERROR_SYSTEM_ERROR | 2,
+ PRELUDE_ERROR_EADDRNOTAVAIL = PRELUDE_ERROR_SYSTEM_ERROR | 3,
+ PRELUDE_ERROR_EADV = PRELUDE_ERROR_SYSTEM_ERROR | 4,
+ PRELUDE_ERROR_EAFNOSUPPORT = PRELUDE_ERROR_SYSTEM_ERROR | 5,
+ PRELUDE_ERROR_EAGAIN = PRELUDE_ERROR_SYSTEM_ERROR | 6,
+ PRELUDE_ERROR_EALREADY = PRELUDE_ERROR_SYSTEM_ERROR | 7,
+ PRELUDE_ERROR_EAUTH = PRELUDE_ERROR_SYSTEM_ERROR | 8,
+ PRELUDE_ERROR_EBACKGROUND = PRELUDE_ERROR_SYSTEM_ERROR | 9,
+ PRELUDE_ERROR_EBADE = PRELUDE_ERROR_SYSTEM_ERROR | 10,
+ PRELUDE_ERROR_EBADF = PRELUDE_ERROR_SYSTEM_ERROR | 11,
+ PRELUDE_ERROR_EBADFD = PRELUDE_ERROR_SYSTEM_ERROR | 12,
+ PRELUDE_ERROR_EBADMSG = PRELUDE_ERROR_SYSTEM_ERROR | 13,
+ PRELUDE_ERROR_EBADR = PRELUDE_ERROR_SYSTEM_ERROR | 14,
+ PRELUDE_ERROR_EBADRPC = PRELUDE_ERROR_SYSTEM_ERROR | 15,
+ PRELUDE_ERROR_EBADRQC = PRELUDE_ERROR_SYSTEM_ERROR | 16,
+ PRELUDE_ERROR_EBADSLT = PRELUDE_ERROR_SYSTEM_ERROR | 17,
+ PRELUDE_ERROR_EBFONT = PRELUDE_ERROR_SYSTEM_ERROR | 18,
+ PRELUDE_ERROR_EBUSY = PRELUDE_ERROR_SYSTEM_ERROR | 19,
+ PRELUDE_ERROR_ECANCELED = PRELUDE_ERROR_SYSTEM_ERROR | 20,
+ PRELUDE_ERROR_ECHILD = PRELUDE_ERROR_SYSTEM_ERROR | 21,
+ PRELUDE_ERROR_ECHRNG = PRELUDE_ERROR_SYSTEM_ERROR | 22,
+ PRELUDE_ERROR_ECOMM = PRELUDE_ERROR_SYSTEM_ERROR | 23,
+ PRELUDE_ERROR_ECONNABORTED = PRELUDE_ERROR_SYSTEM_ERROR | 24,
+ PRELUDE_ERROR_ECONNREFUSED = PRELUDE_ERROR_SYSTEM_ERROR | 25,
+ PRELUDE_ERROR_ECONNRESET = PRELUDE_ERROR_SYSTEM_ERROR | 26,
+ PRELUDE_ERROR_ED = PRELUDE_ERROR_SYSTEM_ERROR | 27,
+ PRELUDE_ERROR_EDEADLK = PRELUDE_ERROR_SYSTEM_ERROR | 28,
+ PRELUDE_ERROR_EDEADLOCK = PRELUDE_ERROR_SYSTEM_ERROR | 29,
+ PRELUDE_ERROR_EDESTADDRREQ = PRELUDE_ERROR_SYSTEM_ERROR | 30,
+ PRELUDE_ERROR_EDIED = PRELUDE_ERROR_SYSTEM_ERROR | 31,
+ PRELUDE_ERROR_EDOM = PRELUDE_ERROR_SYSTEM_ERROR | 32,
+ PRELUDE_ERROR_EDOTDOT = PRELUDE_ERROR_SYSTEM_ERROR | 33,
+ PRELUDE_ERROR_EDQUOT = PRELUDE_ERROR_SYSTEM_ERROR | 34,
+ PRELUDE_ERROR_EEXIST = PRELUDE_ERROR_SYSTEM_ERROR | 35,
+ PRELUDE_ERROR_EFAULT = PRELUDE_ERROR_SYSTEM_ERROR | 36,
+ PRELUDE_ERROR_EFBIG = PRELUDE_ERROR_SYSTEM_ERROR | 37,
+ PRELUDE_ERROR_EFTYPE = PRELUDE_ERROR_SYSTEM_ERROR | 38,
+ PRELUDE_ERROR_EGRATUITOUS = PRELUDE_ERROR_SYSTEM_ERROR | 39,
+ PRELUDE_ERROR_EGREGIOUS = PRELUDE_ERROR_SYSTEM_ERROR | 40,
+ PRELUDE_ERROR_EHOSTDOWN = PRELUDE_ERROR_SYSTEM_ERROR | 41,
+ PRELUDE_ERROR_EHOSTUNREACH = PRELUDE_ERROR_SYSTEM_ERROR | 42,
+ PRELUDE_ERROR_EIDRM = PRELUDE_ERROR_SYSTEM_ERROR | 43,
+ PRELUDE_ERROR_EIEIO = PRELUDE_ERROR_SYSTEM_ERROR | 44,
+ PRELUDE_ERROR_EILSEQ = PRELUDE_ERROR_SYSTEM_ERROR | 45,
+ PRELUDE_ERROR_EINPROGRESS = PRELUDE_ERROR_SYSTEM_ERROR | 46,
+ PRELUDE_ERROR_EINTR = PRELUDE_ERROR_SYSTEM_ERROR | 47,
+ PRELUDE_ERROR_EINVAL = PRELUDE_ERROR_SYSTEM_ERROR | 48,
+ PRELUDE_ERROR_EIO = PRELUDE_ERROR_SYSTEM_ERROR | 49,
+ PRELUDE_ERROR_EISCONN = PRELUDE_ERROR_SYSTEM_ERROR | 50,
+ PRELUDE_ERROR_EISDIR = PRELUDE_ERROR_SYSTEM_ERROR | 51,
+ PRELUDE_ERROR_EISNAM = PRELUDE_ERROR_SYSTEM_ERROR | 52,
+ PRELUDE_ERROR_EL2HLT = PRELUDE_ERROR_SYSTEM_ERROR | 53,
+ PRELUDE_ERROR_EL2NSYNC = PRELUDE_ERROR_SYSTEM_ERROR | 54,
+ PRELUDE_ERROR_EL3HLT = PRELUDE_ERROR_SYSTEM_ERROR | 55,
+ PRELUDE_ERROR_EL3RST = PRELUDE_ERROR_SYSTEM_ERROR | 56,
+ PRELUDE_ERROR_ELIBACC = PRELUDE_ERROR_SYSTEM_ERROR | 57,
+ PRELUDE_ERROR_ELIBBAD = PRELUDE_ERROR_SYSTEM_ERROR | 58,
+ PRELUDE_ERROR_ELIBEXEC = PRELUDE_ERROR_SYSTEM_ERROR | 59,
+ PRELUDE_ERROR_ELIBMAX = PRELUDE_ERROR_SYSTEM_ERROR | 60,
+ PRELUDE_ERROR_ELIBSCN = PRELUDE_ERROR_SYSTEM_ERROR | 61,
+ PRELUDE_ERROR_ELNRNG = PRELUDE_ERROR_SYSTEM_ERROR | 62,
+ PRELUDE_ERROR_ELOOP = PRELUDE_ERROR_SYSTEM_ERROR | 63,
+ PRELUDE_ERROR_EMEDIUMTYPE = PRELUDE_ERROR_SYSTEM_ERROR | 64,
+ PRELUDE_ERROR_EMFILE = PRELUDE_ERROR_SYSTEM_ERROR | 65,
+ PRELUDE_ERROR_EMLINK = PRELUDE_ERROR_SYSTEM_ERROR | 66,
+ PRELUDE_ERROR_EMSGSIZE = PRELUDE_ERROR_SYSTEM_ERROR | 67,
+ PRELUDE_ERROR_EMULTIHOP = PRELUDE_ERROR_SYSTEM_ERROR | 68,
+ PRELUDE_ERROR_ENAMETOOLONG = PRELUDE_ERROR_SYSTEM_ERROR | 69,
+ PRELUDE_ERROR_ENAVAIL = PRELUDE_ERROR_SYSTEM_ERROR | 70,
+ PRELUDE_ERROR_ENEEDAUTH = PRELUDE_ERROR_SYSTEM_ERROR | 71,
+ PRELUDE_ERROR_ENETDOWN = PRELUDE_ERROR_SYSTEM_ERROR | 72,
+ PRELUDE_ERROR_ENETRESET = PRELUDE_ERROR_SYSTEM_ERROR | 73,
+ PRELUDE_ERROR_ENETUNREACH = PRELUDE_ERROR_SYSTEM_ERROR | 74,
+ PRELUDE_ERROR_ENFILE = PRELUDE_ERROR_SYSTEM_ERROR | 75,
+ PRELUDE_ERROR_ENOANO = PRELUDE_ERROR_SYSTEM_ERROR | 76,
+ PRELUDE_ERROR_ENOBUFS = PRELUDE_ERROR_SYSTEM_ERROR | 77,
+ PRELUDE_ERROR_ENOCSI = PRELUDE_ERROR_SYSTEM_ERROR | 78,
+ PRELUDE_ERROR_ENODATA = PRELUDE_ERROR_SYSTEM_ERROR | 79,
+ PRELUDE_ERROR_ENODEV = PRELUDE_ERROR_SYSTEM_ERROR | 80,
+ PRELUDE_ERROR_ENOENT = PRELUDE_ERROR_SYSTEM_ERROR | 81,
+ PRELUDE_ERROR_ENOEXEC = PRELUDE_ERROR_SYSTEM_ERROR | 82,
+ PRELUDE_ERROR_ENOLCK = PRELUDE_ERROR_SYSTEM_ERROR | 83,
+ PRELUDE_ERROR_ENOLINK = PRELUDE_ERROR_SYSTEM_ERROR | 84,
+ PRELUDE_ERROR_ENOMEDIUM = PRELUDE_ERROR_SYSTEM_ERROR | 85,
+ PRELUDE_ERROR_ENOMEM = PRELUDE_ERROR_SYSTEM_ERROR | 86,
+ PRELUDE_ERROR_ENOMSG = PRELUDE_ERROR_SYSTEM_ERROR | 87,
+ PRELUDE_ERROR_ENONET = PRELUDE_ERROR_SYSTEM_ERROR | 88,
+ PRELUDE_ERROR_ENOPKG = PRELUDE_ERROR_SYSTEM_ERROR | 89,
+ PRELUDE_ERROR_ENOPROTOOPT = PRELUDE_ERROR_SYSTEM_ERROR | 90,
+ PRELUDE_ERROR_ENOSPC = PRELUDE_ERROR_SYSTEM_ERROR | 91,
+ PRELUDE_ERROR_ENOSR = PRELUDE_ERROR_SYSTEM_ERROR | 92,
+ PRELUDE_ERROR_ENOSTR = PRELUDE_ERROR_SYSTEM_ERROR | 93,
+ PRELUDE_ERROR_ENOSYS = PRELUDE_ERROR_SYSTEM_ERROR | 94,
+ PRELUDE_ERROR_ENOTBLK = PRELUDE_ERROR_SYSTEM_ERROR | 95,
+ PRELUDE_ERROR_ENOTCONN = PRELUDE_ERROR_SYSTEM_ERROR | 96,
+ PRELUDE_ERROR_ENOTDIR = PRELUDE_ERROR_SYSTEM_ERROR | 97,
+ PRELUDE_ERROR_ENOTEMPTY = PRELUDE_ERROR_SYSTEM_ERROR | 98,
+ PRELUDE_ERROR_ENOTNAM = PRELUDE_ERROR_SYSTEM_ERROR | 99,
+ PRELUDE_ERROR_ENOTSOCK = PRELUDE_ERROR_SYSTEM_ERROR | 100,
+ PRELUDE_ERROR_ENOTSUP = PRELUDE_ERROR_SYSTEM_ERROR | 101,
+ PRELUDE_ERROR_ENOTTY = PRELUDE_ERROR_SYSTEM_ERROR | 102,
+ PRELUDE_ERROR_ENOTUNIQ = PRELUDE_ERROR_SYSTEM_ERROR | 103,
+ PRELUDE_ERROR_ENXIO = PRELUDE_ERROR_SYSTEM_ERROR | 104,
+ PRELUDE_ERROR_EOPNOTSUPP = PRELUDE_ERROR_SYSTEM_ERROR | 105,
+ PRELUDE_ERROR_EOVERFLOW = PRELUDE_ERROR_SYSTEM_ERROR | 106,
+ PRELUDE_ERROR_EPERM = PRELUDE_ERROR_SYSTEM_ERROR | 107,
+ PRELUDE_ERROR_EPFNOSUPPORT = PRELUDE_ERROR_SYSTEM_ERROR | 108,
+ PRELUDE_ERROR_EPIPE = PRELUDE_ERROR_SYSTEM_ERROR | 109,
+ PRELUDE_ERROR_EPROCLIM = PRELUDE_ERROR_SYSTEM_ERROR | 110,
+ PRELUDE_ERROR_EPROCUNAVAIL = PRELUDE_ERROR_SYSTEM_ERROR | 111,
+ PRELUDE_ERROR_EPROGMISMATCH = PRELUDE_ERROR_SYSTEM_ERROR | 112,
+ PRELUDE_ERROR_EPROGUNAVAIL = PRELUDE_ERROR_SYSTEM_ERROR | 113,
+ PRELUDE_ERROR_EPROTO = PRELUDE_ERROR_SYSTEM_ERROR | 114,
+ PRELUDE_ERROR_EPROTONOSUPPORT = PRELUDE_ERROR_SYSTEM_ERROR | 115,
+ PRELUDE_ERROR_EPROTOTYPE = PRELUDE_ERROR_SYSTEM_ERROR | 116,
+ PRELUDE_ERROR_ERANGE = PRELUDE_ERROR_SYSTEM_ERROR | 117,
+ PRELUDE_ERROR_EREMCHG = PRELUDE_ERROR_SYSTEM_ERROR | 118,
+ PRELUDE_ERROR_EREMOTE = PRELUDE_ERROR_SYSTEM_ERROR | 119,
+ PRELUDE_ERROR_EREMOTEIO = PRELUDE_ERROR_SYSTEM_ERROR | 120,
+ PRELUDE_ERROR_ERESTART = PRELUDE_ERROR_SYSTEM_ERROR | 121,
+ PRELUDE_ERROR_EROFS = PRELUDE_ERROR_SYSTEM_ERROR | 122,
+ PRELUDE_ERROR_ERPCMISMATCH = PRELUDE_ERROR_SYSTEM_ERROR | 123,
+ PRELUDE_ERROR_ESHUTDOWN = PRELUDE_ERROR_SYSTEM_ERROR | 124,
+ PRELUDE_ERROR_ESOCKTNOSUPPORT = PRELUDE_ERROR_SYSTEM_ERROR | 125,
+ PRELUDE_ERROR_ESPIPE = PRELUDE_ERROR_SYSTEM_ERROR | 126,
+ PRELUDE_ERROR_ESRCH = PRELUDE_ERROR_SYSTEM_ERROR | 127,
+ PRELUDE_ERROR_ESRMNT = PRELUDE_ERROR_SYSTEM_ERROR | 128,
+ PRELUDE_ERROR_ESTALE = PRELUDE_ERROR_SYSTEM_ERROR | 129,
+ PRELUDE_ERROR_ESTRPIPE = PRELUDE_ERROR_SYSTEM_ERROR | 130,
+ PRELUDE_ERROR_ETIME = PRELUDE_ERROR_SYSTEM_ERROR | 131,
+ PRELUDE_ERROR_ETIMEDOUT = PRELUDE_ERROR_SYSTEM_ERROR | 132,
+ PRELUDE_ERROR_ETOOMANYREFS = PRELUDE_ERROR_SYSTEM_ERROR | 133,
+ PRELUDE_ERROR_ETXTBSY = PRELUDE_ERROR_SYSTEM_ERROR | 134,
+ PRELUDE_ERROR_EUCLEAN = PRELUDE_ERROR_SYSTEM_ERROR | 135,
+ PRELUDE_ERROR_EUNATCH = PRELUDE_ERROR_SYSTEM_ERROR | 136,
+ PRELUDE_ERROR_EUSERS = PRELUDE_ERROR_SYSTEM_ERROR | 137,
+ PRELUDE_ERROR_EWOULDBLOCK = PRELUDE_ERROR_SYSTEM_ERROR | 138,
+ PRELUDE_ERROR_EXDEV = PRELUDE_ERROR_SYSTEM_ERROR | 139,
+ PRELUDE_ERROR_EXFULL = PRELUDE_ERROR_SYSTEM_ERROR | 140,
+} prelude_error_code_t;
+</ENUM>
+<MACRO>
+<NAME>PRELUDE_ERROR_SOURCE_DEFAULT</NAME>
+ #define PRELUDE_ERROR_SOURCE_DEFAULT PRELUDE_ERROR_SOURCE_UNKNOWN
+</MACRO>
+<TYPEDEF>
+<NAME>prelude_error_t</NAME>
+typedef signed int prelude_error_t;
+</TYPEDEF>
<FUNCTION>
-<NAME>idmef_value_new_float</NAME>
-<RETURNS>int </RETURNS>
-idmef_value_t **value, float val
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_value_new_double</NAME>
-<RETURNS>int </RETURNS>
-idmef_value_t **value, double val
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_value_new_string</NAME>
-<RETURNS>int </RETURNS>
-idmef_value_t **value, prelude_string_t *string
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_value_new_time</NAME>
-<RETURNS>int </RETURNS>
-idmef_value_t **value, idmef_time_t *time
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_value_new_data</NAME>
-<RETURNS>int </RETURNS>
-idmef_value_t **value, idmef_data_t *data
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_value_new_class</NAME>
-<RETURNS>int </RETURNS>
-idmef_value_t **value, idmef_class_id_t classid, void *ptr
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_value_new_list</NAME>
-<RETURNS>int </RETURNS>
-idmef_value_t **value
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_value_new_enum</NAME>
-<RETURNS>int </RETURNS>
-idmef_value_t **value, idmef_class_id_t classid, const char *buf
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_value_new_enum_from_string</NAME>
-<RETURNS>int </RETURNS>
-idmef_value_t **value, idmef_class_id_t classid, const char *buf
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_value_new_enum_from_numeric</NAME>
-<RETURNS>int </RETURNS>
-idmef_value_t **value, idmef_class_id_t classid, int val
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_value_set_int8</NAME>
-<RETURNS>int </RETURNS>
-idmef_value_t *value, int8_t val
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_value_set_uint8</NAME>
-<RETURNS>int </RETURNS>
-idmef_value_t *value, uint8_t val
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_value_set_int16</NAME>
-<RETURNS>int </RETURNS>
-idmef_value_t *value, int16_t val
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_value_set_uint16</NAME>
-<RETURNS>int </RETURNS>
-idmef_value_t *value, uint16_t val
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_value_set_int32</NAME>
-<RETURNS>int </RETURNS>
-idmef_value_t *value, int32_t val
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_value_set_uint32</NAME>
-<RETURNS>int </RETURNS>
-idmef_value_t *value, uint32_t val
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_value_set_int64</NAME>
-<RETURNS>int </RETURNS>
-idmef_value_t *value, int64_t val
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_value_set_uint64</NAME>
-<RETURNS>int </RETURNS>
-idmef_value_t *value, uint64_t val
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_value_set_float</NAME>
-<RETURNS>int </RETURNS>
-idmef_value_t *value, float val
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_value_set_double</NAME>
-<RETURNS>int </RETURNS>
-idmef_value_t *value, double val
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_value_set_string</NAME>
-<RETURNS>int </RETURNS>
-idmef_value_t *value, prelude_string_t *string
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_value_set_time</NAME>
-<RETURNS>int </RETURNS>
-idmef_value_t *value, idmef_time_t *time
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_value_set_data</NAME>
-<RETURNS>int </RETURNS>
-idmef_value_t *value, idmef_data_t *data
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_value_set_enum</NAME>
-<RETURNS>int </RETURNS>
-idmef_value_t *value, idmef_class_id_t classid, const char *buf
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_value_set_enum_from_string</NAME>
-<RETURNS>int </RETURNS>
-idmef_value_t *value, idmef_class_id_t classid, const char *buf
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_value_set_enum_from_numeric</NAME>
-<RETURNS>int </RETURNS>
-idmef_value_t *value, idmef_class_id_t classid, int no
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_value_set_class</NAME>
-<RETURNS>int </RETURNS>
-idmef_value_t *value, idmef_class_id_t classid, void *ptr
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_value_new</NAME>
-<RETURNS>int </RETURNS>
-idmef_value_t **value, idmef_value_type_id_t type, void *ptr
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_value_new_from_path</NAME>
-<RETURNS>int </RETURNS>
-idmef_value_t **value, idmef_path_t *path, const char *buf
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_value_new_from_string</NAME>
-<RETURNS>int </RETURNS>
-idmef_value_t **value, idmef_value_type_id_t type, const char *buf
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_value_get_int8</NAME>
-<RETURNS>int8_t </RETURNS>
-const idmef_value_t *val
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_value_get_uint8</NAME>
-<RETURNS>uint8_t </RETURNS>
-const idmef_value_t *val
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_value_get_int16</NAME>
-<RETURNS>int16_t </RETURNS>
-const idmef_value_t *val
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_value_get_uint16</NAME>
-<RETURNS>uint16_t </RETURNS>
-const idmef_value_t *val
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_value_get_int32</NAME>
-<RETURNS>int32_t </RETURNS>
-const idmef_value_t *val
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_value_get_uint32</NAME>
-<RETURNS>uint32_t </RETURNS>
-const idmef_value_t *val
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_value_get_int64</NAME>
-<RETURNS>int64_t </RETURNS>
-const idmef_value_t *val
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_value_get_uint64</NAME>
-<RETURNS>uint64_t </RETURNS>
-const idmef_value_t *val
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_value_get_enum</NAME>
-<RETURNS>int </RETURNS>
-const idmef_value_t *val
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_value_get_float</NAME>
-<RETURNS>float </RETURNS>
-const idmef_value_t *val
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_value_get_double</NAME>
-<RETURNS>double </RETURNS>
-const idmef_value_t *val
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_value_get_time</NAME>
-<RETURNS>idmef_time_t *</RETURNS>
-const idmef_value_t *val
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_value_get_data</NAME>
-<RETURNS>idmef_data_t *</RETURNS>
-const idmef_value_t *val
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_value_get_string</NAME>
-<RETURNS>prelude_string_t *</RETURNS>
-const idmef_value_t *val
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_value_list_add</NAME>
-<RETURNS>int </RETURNS>
-idmef_value_t *list, idmef_value_t *item
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_value_is_list</NAME>
+<NAME>prelude_error_is_verbose</NAME>
<RETURNS>prelude_bool_t </RETURNS>
-const idmef_value_t *list
+prelude_error_t error
</FUNCTION>
<FUNCTION>
-<NAME>idmef_value_list_is_empty</NAME>
-<RETURNS>prelude_bool_t </RETURNS>
-const idmef_value_t *list
+<NAME>prelude_error_get_code</NAME>
+<RETURNS>prelude_error_code_t </RETURNS>
+prelude_error_t error
</FUNCTION>
<FUNCTION>
-<NAME>idmef_value_have_own_data</NAME>
-<RETURNS>int </RETURNS>
-idmef_value_t *value
+<NAME>prelude_error_get_source</NAME>
+<RETURNS>prelude_error_source_t </RETURNS>
+prelude_error_t error
</FUNCTION>
<FUNCTION>
-<NAME>idmef_value_dont_have_own_data</NAME>
-<RETURNS>int </RETURNS>
-idmef_value_t *value
+<NAME>prelude_error_code_from_errno</NAME>
+<RETURNS>prelude_error_code_t </RETURNS>
+int err
</FUNCTION>
<FUNCTION>
-<NAME>idmef_value_get_type</NAME>
-<RETURNS>idmef_value_type_id_t </RETURNS>
-const idmef_value_t *value
+<NAME>prelude_error_make</NAME>
+<RETURNS>prelude_error_t </RETURNS>
+prelude_error_source_t source, prelude_error_code_t code
</FUNCTION>
<FUNCTION>
-<NAME>idmef_value_get_class</NAME>
-<RETURNS>idmef_class_id_t </RETURNS>
-const idmef_value_t *value
+<NAME>prelude_error_make_from_errno</NAME>
+<RETURNS>prelude_error_t </RETURNS>
+prelude_error_source_t source, int err
</FUNCTION>
<FUNCTION>
-<NAME>idmef_value_get_object</NAME>
-<RETURNS>void *</RETURNS>
-const idmef_value_t *value
+<NAME>prelude_perror</NAME>
+<RETURNS>void </RETURNS>
+prelude_error_t error, const char *fmt, ...
</FUNCTION>
<FUNCTION>
-<NAME>idmef_value_iterate</NAME>
-<RETURNS>int </RETURNS>
-const idmef_value_t *value, int (*callback)(idmef_value_t *ptr, void *extra), void *extra
+<NAME>prelude_strerror</NAME>
+<RETURNS>const char *</RETURNS>
+prelude_error_t err
</FUNCTION>
<FUNCTION>
-<NAME>idmef_value_iterate_reversed</NAME>
-<RETURNS>int </RETURNS>
-const idmef_value_t *value, int (*callback)(idmef_value_t *ptr, void *extra), void *extra
+<NAME>prelude_strsource</NAME>
+<RETURNS>const char *</RETURNS>
+prelude_error_t err
</FUNCTION>
<FUNCTION>
-<NAME>idmef_value_get_nth</NAME>
-<RETURNS>idmef_value_t *</RETURNS>
-const idmef_value_t *val, int n
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_value_get_count</NAME>
+<NAME>prelude_error_code_to_errno</NAME>
<RETURNS>int </RETURNS>
-const idmef_value_t *val
+prelude_error_code_t code
</FUNCTION>
<FUNCTION>
-<NAME>idmef_value_clone</NAME>
-<RETURNS>int </RETURNS>
-const idmef_value_t *val, idmef_value_t **dst
+<NAME>prelude_error_verbose_make_v</NAME>
+<RETURNS>prelude_error_t </RETURNS>
+prelude_error_source_t source,prelude_error_code_t code, const char *fmt, va_list ap
</FUNCTION>
<FUNCTION>
-<NAME>idmef_value_ref</NAME>
-<RETURNS>idmef_value_t *</RETURNS>
-idmef_value_t *val
+<NAME>prelude_error_verbose_make</NAME>
+<RETURNS>prelude_error_t </RETURNS>
+prelude_error_source_t source,prelude_error_code_t code, const char *fmt, ...
</FUNCTION>
<FUNCTION>
-<NAME>idmef_value_print</NAME>
-<RETURNS>int </RETURNS>
-const idmef_value_t *val, prelude_io_t *fd
+<NAME>prelude_error_make</NAME>
+<RETURNS>return </RETURNS>
+PRELUDE_ERROR_SOURCE_DEFAULT, code
</FUNCTION>
<FUNCTION>
-<NAME>idmef_value_to_string</NAME>
-<RETURNS>int </RETURNS>
-const idmef_value_t *val, prelude_string_t *out
+<NAME>prelude_error_make</NAME>
+<RETURNS>return </RETURNS>
+PRELUDE_ERROR_SOURCE_DEFAULT, prelude_error_code_from_errno(err)
</FUNCTION>
-<FUNCTION>
-<NAME>idmef_value_get</NAME>
-<RETURNS>int </RETURNS>
-const idmef_value_t *val, void *res
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_value_match</NAME>
-<RETURNS>int </RETURNS>
-idmef_value_t *val1, idmef_value_t *val2, idmef_criterion_operator_t op
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_value_check_operator</NAME>
-<RETURNS>int </RETURNS>
-const idmef_value_t *value, idmef_criterion_operator_t op
-</FUNCTION>
-<FUNCTION>
-<NAME>idmef_value_destroy</NAME>
-<RETURNS>void </RETURNS>
-idmef_value_t *val
-</FUNCTION>
_______________________________________________
Prelude-cvslog site list
[email protected]
http://lists.prelude-ids.org/mailman/listinfo/prelude-cvslog