libprelude/master: Documentation update and fixes.
[email protected] Wed, 8 Jul 2009 16:51:57 +0200 (CEST)
| Newsgroups | gmane.comp.security.ids.prelude.cvs |
|---|---|
| Message-ID | <[email protected]> |
commit 80b869e15f0e53224922be8eff302a700639c019 Author: Yoann Vandoorselaere <[email protected]> Date: Thu Jun 18 09:28:01 2009 +0200 Documentation update and fixes. Update gtk-doc.make to a newer version. Use PRELUDE_DISABLED_DEPRECATED to properly mark function as deprecated (avoid a gtk-doc warning). Various gtk-doc warnings fixes. Document prelude_async_flags_t directly within the header file. ======================================== docs/api/Makefile.am | 2 +- docs/api/libprelude-decl.txt | 4904 +++++++++++++++++++------------------- docs/api/tmpl/prelude-async.sgml | 3 +- gtk-doc.make | 47 +- src/idmef-path.c | 8 +- src/include/prelude-async.h | 11 + src/include/prelude-client.h | 9 +- src/prelude-client.c | 3 +- src/prelude-option.c | 2 +- 9 files changed, 2512 insertions(+), 2477 deletions(-) ======================================== diff --git a/docs/api/Makefile.am b/docs/api/Makefile.am index 1e34e89..646620e 100644 --- a/docs/api/Makefile.am +++ b/docs/api/Makefile.am @@ -24,7 +24,7 @@ SCANGOBJ_OPTIONS= # Extra options to supply to gtkdoc-scan. # e.g. SCAN_OPTIONS=--deprecated-guards="GTK_DISABLE_DEPRECATED" -SCAN_OPTIONS= +SCAN_OPTIONS=--deprecated-guards="PRELUDE_DISABLE_DEPRECATED" # Extra options to supply to gtkdoc-mkdb. # e.g. MKDB_OPTIONS=--sgml-mode --output-format=xml diff --git a/docs/api/libprelude-decl.txt b/docs/api/libprelude-decl.txt index cd7f339..45490fa 100644 --- a/docs/api/libprelude-decl.txt +++ b/docs/api/libprelude-decl.txt @@ -1,571 +1,1094 @@ -<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; +<NAME>prelude_ident_t</NAME> +typedef struct prelude_ident prelude_ident_t; </TYPEDEF> <FUNCTION> -<NAME>idmef_criterion_operator_to_string</NAME> -<RETURNS>const char *</RETURNS> -idmef_criterion_operator_t op +<NAME>prelude_ident_generate</NAME> +<RETURNS>int </RETURNS> +prelude_ident_t *ident, prelude_string_t *out </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 +<NAME>prelude_ident_inc</NAME> +<RETURNS>uint64_t </RETURNS> +prelude_ident_t *ident </FUNCTION> <FUNCTION> -<NAME>idmef_criterion_destroy</NAME> +<NAME>prelude_ident_destroy</NAME> <RETURNS>void </RETURNS> -idmef_criterion_t *criterion +prelude_ident_t *ident </FUNCTION> <FUNCTION> -<NAME>idmef_criteria_ref</NAME> -<RETURNS>idmef_criteria_t *</RETURNS> -idmef_criteria_t *criteria +<NAME>prelude_ident_new</NAME> +<RETURNS>int </RETURNS> +prelude_ident_t **ret </FUNCTION> <FUNCTION> -<NAME>idmef_criterion_clone</NAME> +<NAME>idmef_additional_data_read</NAME> <RETURNS>int </RETURNS> -const idmef_criterion_t *criterion, idmef_criterion_t **dst +idmef_additional_data_t *additional_data, prelude_msg_t *msg </FUNCTION> <FUNCTION> -<NAME>idmef_criterion_print</NAME> +<NAME>idmef_reference_read</NAME> <RETURNS>int </RETURNS> -const idmef_criterion_t *criterion, prelude_io_t *fd +idmef_reference_t *reference, prelude_msg_t *msg </FUNCTION> <FUNCTION> -<NAME>idmef_criterion_to_string</NAME> +<NAME>idmef_classification_read</NAME> <RETURNS>int </RETURNS> -const idmef_criterion_t *criterion, prelude_string_t *out +idmef_classification_t *classification, prelude_msg_t *msg </FUNCTION> <FUNCTION> -<NAME>idmef_criterion_get_path</NAME> -<RETURNS>idmef_path_t *</RETURNS> -const idmef_criterion_t *criterion +<NAME>idmef_user_id_read</NAME> +<RETURNS>int </RETURNS> +idmef_user_id_t *user_id, prelude_msg_t *msg </FUNCTION> <FUNCTION> -<NAME>idmef_criterion_get_value</NAME> -<RETURNS>idmef_criterion_value_t *</RETURNS> -const idmef_criterion_t *criterion +<NAME>idmef_user_read</NAME> +<RETURNS>int </RETURNS> +idmef_user_t *user, prelude_msg_t *msg </FUNCTION> <FUNCTION> -<NAME>idmef_criterion_get_operator</NAME> -<RETURNS>idmef_criterion_operator_t </RETURNS> -const idmef_criterion_t *criterion +<NAME>idmef_address_read</NAME> +<RETURNS>int </RETURNS> +idmef_address_t *address, prelude_msg_t *msg </FUNCTION> <FUNCTION> -<NAME>idmef_criterion_match</NAME> +<NAME>idmef_process_read</NAME> <RETURNS>int </RETURNS> -const idmef_criterion_t *criterion, idmef_message_t *message +idmef_process_t *process, prelude_msg_t *msg </FUNCTION> <FUNCTION> -<NAME>idmef_criteria_new</NAME> +<NAME>idmef_web_service_read</NAME> <RETURNS>int </RETURNS> -idmef_criteria_t **criteria +idmef_web_service_t *web_service, prelude_msg_t *msg </FUNCTION> <FUNCTION> -<NAME>idmef_criteria_destroy</NAME> -<RETURNS>void </RETURNS> -idmef_criteria_t *criteria +<NAME>idmef_snmp_service_read</NAME> +<RETURNS>int </RETURNS> +idmef_snmp_service_t *snmp_service, prelude_msg_t *msg </FUNCTION> <FUNCTION> -<NAME>idmef_criteria_clone</NAME> +<NAME>idmef_service_read</NAME> <RETURNS>int </RETURNS> -idmef_criteria_t *src, idmef_criteria_t **dst +idmef_service_t *service, prelude_msg_t *msg </FUNCTION> <FUNCTION> -<NAME>idmef_criteria_print</NAME> +<NAME>idmef_node_read</NAME> <RETURNS>int </RETURNS> -const idmef_criteria_t *criteria, prelude_io_t *fd +idmef_node_t *node, prelude_msg_t *msg </FUNCTION> <FUNCTION> -<NAME>idmef_criteria_to_string</NAME> +<NAME>idmef_source_read</NAME> <RETURNS>int </RETURNS> -const idmef_criteria_t *criteria, prelude_string_t *out +idmef_source_t *source, prelude_msg_t *msg </FUNCTION> <FUNCTION> -<NAME>idmef_criteria_is_criterion</NAME> -<RETURNS>prelude_bool_t </RETURNS> -const idmef_criteria_t *criteria +<NAME>idmef_file_access_read</NAME> +<RETURNS>int </RETURNS> +idmef_file_access_t *file_access, prelude_msg_t *msg </FUNCTION> <FUNCTION> -<NAME>idmef_criteria_get_criterion</NAME> -<RETURNS>idmef_criterion_t *</RETURNS> -const idmef_criteria_t *criteria +<NAME>idmef_inode_read</NAME> +<RETURNS>int </RETURNS> +idmef_inode_t *inode, prelude_msg_t *msg </FUNCTION> <FUNCTION> -<NAME>idmef_criteria_set_criterion</NAME> -<RETURNS>void </RETURNS> -idmef_criteria_t *criteria, idmef_criterion_t *criterion +<NAME>idmef_checksum_read</NAME> +<RETURNS>int </RETURNS> +idmef_checksum_t *checksum, prelude_msg_t *msg </FUNCTION> <FUNCTION> -<NAME>idmef_criteria_or_criteria</NAME> -<RETURNS>void </RETURNS> -idmef_criteria_t *criteria, idmef_criteria_t *criteria2 +<NAME>idmef_file_read</NAME> +<RETURNS>int </RETURNS> +idmef_file_t *file, prelude_msg_t *msg </FUNCTION> <FUNCTION> -<NAME>idmef_criteria_and_criteria</NAME> +<NAME>idmef_linkage_read</NAME> <RETURNS>int </RETURNS> -idmef_criteria_t *criteria, idmef_criteria_t *criteria2 +idmef_linkage_t *linkage, prelude_msg_t *msg </FUNCTION> <FUNCTION> -<NAME>idmef_criteria_match</NAME> +<NAME>idmef_target_read</NAME> <RETURNS>int </RETURNS> -const idmef_criteria_t *criteria, idmef_message_t *message +idmef_target_t *target, prelude_msg_t *msg </FUNCTION> <FUNCTION> -<NAME>idmef_criteria_get_or</NAME> -<RETURNS>idmef_criteria_t *</RETURNS> -const idmef_criteria_t *criteria +<NAME>idmef_analyzer_read</NAME> +<RETURNS>int </RETURNS> +idmef_analyzer_t *analyzer, prelude_msg_t *msg </FUNCTION> <FUNCTION> -<NAME>idmef_criteria_get_and</NAME> -<RETURNS>idmef_criteria_t *</RETURNS> -const idmef_criteria_t *criteria +<NAME>idmef_alertident_read</NAME> +<RETURNS>int </RETURNS> +idmef_alertident_t *alertident, prelude_msg_t *msg </FUNCTION> <FUNCTION> -<NAME>idmef_criteria_new_from_string</NAME> +<NAME>idmef_impact_read</NAME> <RETURNS>int </RETURNS> -idmef_criteria_t **criteria, const char *str +idmef_impact_t *impact, prelude_msg_t *msg </FUNCTION> <FUNCTION> -<NAME>idmef_criteria_set_negation</NAME> -<RETURNS>void </RETURNS> -idmef_criteria_t *criteria, prelude_bool_t negate +<NAME>idmef_action_read</NAME> +<RETURNS>int </RETURNS> +idmef_action_t *action, prelude_msg_t *msg </FUNCTION> <FUNCTION> -<NAME>idmef_criteria_get_negation</NAME> -<RETURNS>prelude_bool_t </RETURNS> -const idmef_criteria_t *criteria +<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>prelude_msg_t</NAME> -typedef struct prelude_msg prelude_msg_t; +<NAME>prelude_msgbuf_t</NAME> +typedef struct prelude_msgbuf prelude_msgbuf_t; </TYPEDEF> <ENUM> -<NAME>prelude_msg_priority_t</NAME> +<NAME>prelude_msgbuf_flags_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; + PRELUDE_MSGBUF_FLAGS_ASYNC = 0x01 +} prelude_msgbuf_flags_t; </ENUM> <FUNCTION> -<NAME>prelude_msg_read</NAME> +<NAME>prelude_msgbuf_new</NAME> <RETURNS>int </RETURNS> -prelude_msg_t **msg, prelude_io_t *pio +prelude_msgbuf_t **msgbuf </FUNCTION> <FUNCTION> -<NAME>prelude_msg_forward</NAME> -<RETURNS>int </RETURNS> -prelude_msg_t *msg, prelude_io_t *dst, prelude_io_t *src +<NAME>prelude_msgbuf_destroy</NAME> +<RETURNS>void </RETURNS> +prelude_msgbuf_t *msgbuf </FUNCTION> <FUNCTION> -<NAME>prelude_msg_get</NAME> +<NAME>prelude_msgbuf_mark_end</NAME> +<RETURNS>void </RETURNS> +prelude_msgbuf_t *msgbuf +</FUNCTION> +<FUNCTION> +<NAME>prelude_msgbuf_set</NAME> <RETURNS>int </RETURNS> -prelude_msg_t *msg, uint8_t *tag, uint32_t *len, void **buf +prelude_msgbuf_t *msgbuf, uint8_t tag, uint32_t len, const void *data </FUNCTION> <FUNCTION> -<NAME>prelude_msg_recycle</NAME> +<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_msg_t *msg +prelude_msgbuf_t *msgbuf, int (*send_msg)(prelude_msgbuf_t *msgbuf, prelude_msg_t *msg) </FUNCTION> <FUNCTION> -<NAME>prelude_msg_mark_end</NAME> +<NAME>prelude_msgbuf_set_data</NAME> <RETURNS>void </RETURNS> -prelude_msg_t *msg +prelude_msgbuf_t *msgbuf, void *data </FUNCTION> <FUNCTION> -<NAME>prelude_msg_dynamic_new</NAME> +<NAME>prelude_msgbuf_get_data</NAME> +<RETURNS>void *</RETURNS> +prelude_msgbuf_t *msgbuf +</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> +<ENUM> +<NAME>idmef_data_type_t</NAME> +typedef enum { + IDMEF_DATA_TYPE_UNKNOWN = 0, + IDMEF_DATA_TYPE_CHAR = 1, + IDMEF_DATA_TYPE_BYTE = 2, + IDMEF_DATA_TYPE_UINT32 = 3, + IDMEF_DATA_TYPE_UINT64 = 4, + IDMEF_DATA_TYPE_FLOAT = 5, + IDMEF_DATA_TYPE_CHAR_STRING = 6, + IDMEF_DATA_TYPE_BYTE_STRING = 7 +} idmef_data_type_t; +</ENUM> +<STRUCT> +<NAME>data</NAME> +typedef struct { + int refcount; + + int flags; + idmef_data_type_t type; + size_t len; + + union { + char char_data; + uint8_t byte_data; + uint32_t uint32_data; + uint64_t uint64_data; + float float_data; + void *rw_data; + const void *ro_data; + } data; + +</STRUCT> +<FUNCTION> +<NAME>idmef_data_new</NAME> <RETURNS>int </RETURNS> -prelude_msg_t **ret, int (*flush_msg_cb)(prelude_msg_t **msg, void *data), void *data +idmef_data_t **data </FUNCTION> <FUNCTION> -<NAME>prelude_msg_new</NAME> +<NAME>idmef_data_ref</NAME> +<RETURNS>idmef_data_t *</RETURNS> +idmef_data_t *data +</FUNCTION> +<FUNCTION> +<NAME>idmef_data_new_char</NAME> <RETURNS>int </RETURNS> -prelude_msg_t **ret, size_t msgcount, size_t msglen, uint8_t tag, prelude_msg_priority_t priority +idmef_data_t **data, char c </FUNCTION> <FUNCTION> -<NAME>prelude_msg_set</NAME> +<NAME>idmef_data_new_byte</NAME> <RETURNS>int </RETURNS> -prelude_msg_t *msg, uint8_t tag, uint32_t len, const void *data +idmef_data_t **data, uint8_t i </FUNCTION> <FUNCTION> -<NAME>prelude_msg_write</NAME> +<NAME>idmef_data_new_uint32</NAME> <RETURNS>int </RETURNS> -prelude_msg_t *msg, prelude_io_t *dst +idmef_data_t **data, uint32_t i </FUNCTION> <FUNCTION> -<NAME>prelude_msg_set_tag</NAME> +<NAME>idmef_data_new_uint64</NAME> +<RETURNS>int </RETURNS> +idmef_data_t **data, uint64_t i +</FUNCTION> +<FUNCTION> +<NAME>idmef_data_new_float</NAME> +<RETURNS>int </RETURNS> +idmef_data_t **data, float f +</FUNCTION> +<FUNCTION> +<NAME>idmef_data_set_char</NAME> <RETURNS>void </RETURNS> -prelude_msg_t *msg, uint8_t tag +idmef_data_t *data, char c </FUNCTION> <FUNCTION> -<NAME>prelude_msg_set_priority</NAME> +<NAME>idmef_data_set_byte</NAME> <RETURNS>void </RETURNS> -prelude_msg_t *msg, prelude_msg_priority_t priority +idmef_data_t *data, uint8_t i </FUNCTION> <FUNCTION> -<NAME>prelude_msg_get_tag</NAME> -<RETURNS>uint8_t </RETURNS> -prelude_msg_t *msg +<NAME>idmef_data_set_uint32</NAME> +<RETURNS>void </RETURNS> +idmef_data_t *data, uint32_t i </FUNCTION> <FUNCTION> -<NAME>prelude_msg_get_priority</NAME> -<RETURNS>prelude_msg_priority_t </RETURNS> -prelude_msg_t *msg +<NAME>idmef_data_set_uint64</NAME> +<RETURNS>void </RETURNS> +idmef_data_t *data, uint64_t i </FUNCTION> <FUNCTION> -<NAME>prelude_msg_get_len</NAME> -<RETURNS>uint32_t </RETURNS> -prelude_msg_t *msg +<NAME>idmef_data_set_float</NAME> +<RETURNS>void </RETURNS> +idmef_data_t *data, float f </FUNCTION> <FUNCTION> -<NAME>prelude_msg_get_datalen</NAME> -<RETURNS>uint32_t </RETURNS> -prelude_msg_t *msg +<NAME>idmef_data_set_ptr_dup_fast</NAME> +<RETURNS>int </RETURNS> +idmef_data_t *data, idmef_data_type_t type, const void *ptr, size_t len </FUNCTION> <FUNCTION> -<NAME>prelude_msg_get_message_data</NAME> -<RETURNS>const unsigned char *</RETURNS> -prelude_msg_t *msg +<NAME>idmef_data_set_ptr_ref_fast</NAME> +<RETURNS>int </RETURNS> +idmef_data_t *data, idmef_data_type_t type, const void *ptr, size_t len </FUNCTION> <FUNCTION> -<NAME>prelude_msg_get_time</NAME> -<RETURNS>struct timeval *</RETURNS> -prelude_msg_t *msg, struct timeval *tv +<NAME>idmef_data_set_ptr_nodup_fast</NAME> +<RETURNS>int </RETURNS> +idmef_data_t *data, idmef_data_type_t type, void *ptr, size_t len </FUNCTION> <FUNCTION> -<NAME>prelude_msg_is_empty</NAME> +<NAME>idmef_data_new_ptr_dup_fast</NAME> <RETURNS>int </RETURNS> -prelude_msg_t *msg +idmef_data_t **data, idmef_data_type_t type, const void *ptr, size_t len </FUNCTION> <FUNCTION> -<NAME>prelude_msg_is_fragment</NAME> +<NAME>idmef_data_new_ptr_ref_fast</NAME> <RETURNS>int </RETURNS> -prelude_msg_t *msg +idmef_data_t **data, idmef_data_type_t type, const void *ptr, size_t len </FUNCTION> <FUNCTION> -<NAME>prelude_msg_destroy</NAME> -<RETURNS>void </RETURNS> -prelude_msg_t *msg +<NAME>idmef_data_new_ptr_nodup_fast</NAME> +<RETURNS>int </RETURNS> +idmef_data_t **data, idmef_data_type_t type, void *ptr, size_t len </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) +<NAME>idmef_data_set_char_string_dup_fast</NAME> +<RETURNS>int </RETURNS> +idmef_data_t *data, const char *str, size_t len </FUNCTION> <FUNCTION> -<NAME>prelude_msg_set_data</NAME> -<RETURNS>void </RETURNS> -prelude_msg_t *msg, void *data +<NAME>idmef_data_new_char_string_dup_fast</NAME> +<RETURNS>int </RETURNS> +idmef_data_t **data, const char *str, size_t len </FUNCTION> <FUNCTION> -<NAME>prelude_msg_ref</NAME> -<RETURNS>prelude_msg_t *</RETURNS> -prelude_msg_t *msg +<NAME>idmef_data_new_char_string_ref_fast</NAME> +<RETURNS>int </RETURNS> +idmef_data_t **data, const char *ptr, size_t len </FUNCTION> <FUNCTION> -<NAME>prelude_thread_init</NAME> +<NAME>idmef_data_new_char_string_nodup_fast</NAME> <RETURNS>int </RETURNS> -void *nil +idmef_data_t **data, char *ptr, size_t len </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> +<NAME>idmef_data_set_char_string_ref_fast</NAME> <RETURNS>int </RETURNS> -prelude_msgbuf_t *msg, int type, const char *request +idmef_data_t *data, const char *ptr, size_t len </FUNCTION> <FUNCTION> -<NAME>prelude_option_new_request</NAME> +<NAME>idmef_data_set_char_string_nodup_fast</NAME> <RETURNS>int </RETURNS> -prelude_msgbuf_t *msgbuf,uint32_t request_id, uint64_t *target_id, size_t size +idmef_data_t *data, char *ptr, size_t len </FUNCTION> <FUNCTION> -<NAME>prelude_option_process_request</NAME> +<NAME>idmef_data_new_char_string_ref</NAME> <RETURNS>int </RETURNS> -prelude_client_t *client, prelude_msg_t *msg, prelude_msgbuf_t *reply +idmef_data_t **data, const char *ptr </FUNCTION> <FUNCTION> -<NAME>prelude_option_recv_reply</NAME> +<NAME>idmef_data_new_char_string_dup</NAME> <RETURNS>int </RETURNS> -prelude_msg_t *msg, uint64_t *source_id, uint32_t *request_id, void **value +idmef_data_t **data, const char *ptr +</FUNCTION> +<FUNCTION> +<NAME>idmef_data_new_char_string_nodup</NAME> +<RETURNS>int </RETURNS> +idmef_data_t **data, char *ptr +</FUNCTION> +<FUNCTION> +<NAME>idmef_data_set_char_string_ref</NAME> +<RETURNS>int </RETURNS> +idmef_data_t *data, const char *ptr +</FUNCTION> +<FUNCTION> +<NAME>idmef_data_set_char_string_dup</NAME> +<RETURNS>int </RETURNS> +idmef_data_t *data, const char *ptr +</FUNCTION> +<FUNCTION> +<NAME>idmef_data_set_char_string_nodup</NAME> +<RETURNS>int </RETURNS> +idmef_data_t *data, char *ptr </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) +<NAME>idmef_data_set_char_string_constant</NAME> +#define idmef_data_set_char_string_constant(string, str) \ + idmef_data_set_char_string_ref_fast((string), (str), sizeof((str)) - 1) </MACRO> <FUNCTION> -<NAME>prelude_timer_init</NAME> -<RETURNS>void </RETURNS> -prelude_timer_t *timer +<NAME>idmef_data_new_byte_string_ref</NAME> +<RETURNS>int </RETURNS> +idmef_data_t **data, const unsigned char *ptr, size_t len </FUNCTION> <FUNCTION> -<NAME>prelude_timer_init_list</NAME> -<RETURNS>void </RETURNS> -prelude_timer_t *timer +<NAME>idmef_data_new_byte_string_dup</NAME> +<RETURNS>int </RETURNS> +idmef_data_t **data, const unsigned char *ptr, size_t len </FUNCTION> <FUNCTION> -<NAME>prelude_timer_reset</NAME> -<RETURNS>void </RETURNS> -prelude_timer_t *timer +<NAME>idmef_data_new_byte_string_nodup</NAME> +<RETURNS>int </RETURNS> +idmef_data_t **data, unsigned char *ptr, size_t len </FUNCTION> <FUNCTION> -<NAME>prelude_timer_destroy</NAME> -<RETURNS>void </RETURNS> -prelude_timer_t *timer +<NAME>idmef_data_set_byte_string_ref</NAME> +<RETURNS>int </RETURNS> +idmef_data_t *data, const unsigned char *ptr, size_t len </FUNCTION> <FUNCTION> -<NAME>prelude_timer_wake_up</NAME> -<RETURNS>void </RETURNS> -void +<NAME>idmef_data_set_byte_string_dup</NAME> +<RETURNS>int </RETURNS> +idmef_data_t *data, const unsigned char *ptr, size_t len </FUNCTION> <FUNCTION> -<NAME>prelude_timer_flush</NAME> -<RETURNS>void </RETURNS> -void +<NAME>idmef_data_set_byte_string_nodup</NAME> +<RETURNS>int </RETURNS> +idmef_data_t *data, unsigned char *ptr, size_t len </FUNCTION> <FUNCTION> -<NAME>prelude_timer_lock_critical_region</NAME> +<NAME>idmef_data_destroy</NAME> <RETURNS>void </RETURNS> -void +idmef_data_t *data </FUNCTION> <FUNCTION> -<NAME>prelude_timer_unlock_critical_region</NAME> -<RETURNS>void </RETURNS> -void +<NAME>idmef_data_copy_ref</NAME> +<RETURNS>int </RETURNS> +const idmef_data_t *src, idmef_data_t *dst </FUNCTION> <FUNCTION> -<NAME>idmef_additional_data_write</NAME> +<NAME>idmef_data_copy_dup</NAME> <RETURNS>int </RETURNS> -idmef_additional_data_t *additional_data, prelude_msgbuf_t *msg +const idmef_data_t *src, idmef_data_t *dst </FUNCTION> <FUNCTION> -<NAME>idmef_reference_write</NAME> +<NAME>idmef_data_clone</NAME> <RETURNS>int </RETURNS> -idmef_reference_t *reference, prelude_msgbuf_t *msg +const idmef_data_t *src, idmef_data_t **dst </FUNCTION> <FUNCTION> -<NAME>idmef_classification_write</NAME> +<NAME>idmef_data_get_type</NAME> +<RETURNS>idmef_data_type_t </RETURNS> +const idmef_data_t *data +</FUNCTION> +<FUNCTION> +<NAME>idmef_data_get_len</NAME> +<RETURNS>size_t </RETURNS> +const idmef_data_t *data +</FUNCTION> +<FUNCTION> +<NAME>idmef_data_get_data</NAME> +<RETURNS>const void *</RETURNS> +const idmef_data_t *data +</FUNCTION> +<FUNCTION> +<NAME>idmef_data_get_char</NAME> +<RETURNS>char </RETURNS> +const idmef_data_t *data +</FUNCTION> +<FUNCTION> +<NAME>idmef_data_get_byte</NAME> +<RETURNS>uint8_t </RETURNS> +const idmef_data_t *data +</FUNCTION> +<FUNCTION> +<NAME>idmef_data_get_uint32</NAME> +<RETURNS>uint32_t </RETURNS> +const idmef_data_t *data +</FUNCTION> +<FUNCTION> +<NAME>idmef_data_get_uint64</NAME> +<RETURNS>uint64_t </RETURNS> +const idmef_data_t *data +</FUNCTION> +<FUNCTION> +<NAME>idmef_data_get_float</NAME> +<RETURNS>float </RETURNS> +const idmef_data_t *data +</FUNCTION> +<FUNCTION> +<NAME>idmef_data_get_char_string</NAME> +<RETURNS>const char *</RETURNS> +const idmef_data_t *data +</FUNCTION> +<FUNCTION> +<NAME>idmef_data_get_byte_string</NAME> +<RETURNS>const unsigned char *</RETURNS> +const idmef_data_t *data +</FUNCTION> +<FUNCTION> +<NAME>idmef_data_is_empty</NAME> +<RETURNS>prelude_bool_t </RETURNS> +const idmef_data_t *data +</FUNCTION> +<FUNCTION> +<NAME>idmef_data_to_string</NAME> <RETURNS>int </RETURNS> -idmef_classification_t *classification, prelude_msgbuf_t *msg +const idmef_data_t *data, prelude_string_t *out </FUNCTION> <FUNCTION> -<NAME>idmef_user_id_write</NAME> +<NAME>idmef_data_destroy_internal</NAME> +<RETURNS>void </RETURNS> +idmef_data_t *data +</FUNCTION> +<FUNCTION> +<NAME>idmef_data_compare</NAME> <RETURNS>int </RETURNS> -idmef_user_id_t *user_id, prelude_msgbuf_t *msg +const idmef_data_t *data1, const idmef_data_t *data2 </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>idmef_user_write</NAME> +<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> -idmef_user_t *user, prelude_msgbuf_t *msg +prelude_client_t *client </FUNCTION> <FUNCTION> -<NAME>idmef_address_write</NAME> +<NAME>prelude_client_init</NAME> <RETURNS>int </RETURNS> -idmef_address_t *address, prelude_msgbuf_t *msg +prelude_client_t *client </FUNCTION> <FUNCTION> -<NAME>idmef_process_write</NAME> +<NAME>prelude_client_new</NAME> <RETURNS>int </RETURNS> -idmef_process_t *process, prelude_msgbuf_t *msg +prelude_client_t **client, const char *profile </FUNCTION> <FUNCTION> -<NAME>idmef_web_service_write</NAME> +<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> -idmef_web_service_t *web_service, prelude_msgbuf_t *msg +prelude_client_t *client, int timeout, prelude_msg_t **msg </FUNCTION> <FUNCTION> -<NAME>idmef_snmp_service_write</NAME> +<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> -idmef_snmp_service_t *snmp_service, prelude_msgbuf_t *msg +prelude_client_t *client, int timeout, idmef_message_t **idmef </FUNCTION> <FUNCTION> -<NAME>idmef_service_write</NAME> +<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> -idmef_service_t *service, prelude_msgbuf_t *msg +prelude_client_t *client, prelude_client_flags_t flags </FUNCTION> <FUNCTION> -<NAME>idmef_node_write</NAME> +<NAME>prelude_client_set_config_filename</NAME> <RETURNS>int </RETURNS> -idmef_node_t *node, prelude_msgbuf_t *msg +prelude_client_t *client, const char *filename </FUNCTION> <FUNCTION> -<NAME>idmef_source_write</NAME> +<NAME>prelude_client_get_config_filename</NAME> +<RETURNS>const char *</RETURNS> +prelude_client_t *client +</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> -idmef_source_t *source, prelude_msgbuf_t *msg +prelude_client_t *client, prelude_msgbuf_t **msgbuf </FUNCTION> <FUNCTION> -<NAME>idmef_file_access_write</NAME> +<NAME>prelude_client_handle_msg_default</NAME> <RETURNS>int </RETURNS> -idmef_file_access_t *file_access, prelude_msgbuf_t *msg +prelude_client_t *client, prelude_msg_t *msg, prelude_msgbuf_t *msgbuf </FUNCTION> <FUNCTION> -<NAME>idmef_inode_write</NAME> +<NAME>prelude_client_get_setup_error</NAME> +<DEPRECATED/> +<RETURNS>const char *</RETURNS> +prelude_client_t *client +</FUNCTION> +<FUNCTION> +<NAME>prelude_client_is_setup_needed</NAME> +<DEPRECATED/> +<RETURNS>prelude_bool_t </RETURNS> +int error +</FUNCTION> +<FUNCTION> +<NAME>prelude_client_print_setup_error</NAME> +<RETURNS>void </RETURNS> +prelude_client_t *client +</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> +<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> -idmef_inode_t *inode, prelude_msgbuf_t *msg +prelude_connection_t *cnx, prelude_msg_t *msg </FUNCTION> <FUNCTION> -<NAME>idmef_checksum_write</NAME> +<NAME>prelude_connection_recv</NAME> <RETURNS>int </RETURNS> -idmef_checksum_t *checksum, prelude_msgbuf_t *msg +prelude_connection_t *cnx, prelude_msg_t **outmsg </FUNCTION> <FUNCTION> -<NAME>idmef_file_write</NAME> +<NAME>prelude_connection_recv_idmef</NAME> <RETURNS>int </RETURNS> -idmef_file_t *file, prelude_msgbuf_t *msg +prelude_connection_t *con, idmef_message_t **idmef </FUNCTION> <FUNCTION> -<NAME>idmef_linkage_write</NAME> +<NAME>prelude_connection_connect</NAME> <RETURNS>int </RETURNS> -idmef_linkage_t *linkage, prelude_msgbuf_t *msg +prelude_connection_t *cnx,prelude_client_profile_t *profile,prelude_connection_permission_t permission </FUNCTION> <FUNCTION> -<NAME>idmef_target_write</NAME> +<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> -idmef_target_t *target, prelude_msgbuf_t *msg +prelude_connection_t *cnx </FUNCTION> <FUNCTION> -<NAME>idmef_analyzer_write</NAME> +<NAME>prelude_connection_set_fd_ref</NAME> +<RETURNS>void </RETURNS> +prelude_connection_t *cnx, prelude_io_t *fd +</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> <RETURNS>int </RETURNS> -idmef_analyzer_t *analyzer, prelude_msgbuf_t *msg +prelude_connection_t **ret, const char *addr </FUNCTION> <FUNCTION> -<NAME>idmef_alertident_write</NAME> +<NAME>prelude_connection_new_msgbuf</NAME> <RETURNS>int </RETURNS> -idmef_alertident_t *alertident, prelude_msgbuf_t *msg +prelude_connection_t *connection, prelude_msgbuf_t **msgbuf </FUNCTION> <FUNCTION> -<NAME>idmef_impact_write</NAME> +<NAME>prelude_connection_permission_to_string</NAME> <RETURNS>int </RETURNS> -idmef_impact_t *impact, prelude_msgbuf_t *msg +prelude_connection_permission_t perm, prelude_string_t *out </FUNCTION> <FUNCTION> -<NAME>idmef_action_write</NAME> +<NAME>prelude_connection_permission_new_from_string</NAME> <RETURNS>int </RETURNS> -idmef_action_t *action, prelude_msgbuf_t *msg +prelude_connection_permission_t *out, const char *buf </FUNCTION> <FUNCTION> -<NAME>idmef_confidence_write</NAME> +<NAME>prelude_connection_ref</NAME> +<RETURNS>prelude_connection_t *</RETURNS> +prelude_connection_t *conn +</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_confidence_t *confidence, prelude_msgbuf_t *msg +idmef_criterion_value_t **cv </FUNCTION> <FUNCTION> -<NAME>idmef_assessment_write</NAME> +<NAME>idmef_criterion_value_new_regex</NAME> <RETURNS>int </RETURNS> -idmef_assessment_t *assessment, prelude_msgbuf_t *msg +idmef_criterion_value_t **cv, const char *regex, idmef_criterion_operator_t op </FUNCTION> <FUNCTION> -<NAME>idmef_tool_alert_write</NAME> +<NAME>idmef_criterion_value_new_value</NAME> <RETURNS>int </RETURNS> -idmef_tool_alert_t *tool_alert, prelude_msgbuf_t *msg +idmef_criterion_value_t **cv, idmef_value_t *value,idmef_criterion_operator_t op </FUNCTION> <FUNCTION> -<NAME>idmef_correlation_alert_write</NAME> +<NAME>idmef_criterion_value_new_from_string</NAME> <RETURNS>int </RETURNS> -idmef_correlation_alert_t *correlation_alert, prelude_msgbuf_t *msg +idmef_criterion_value_t **cv, idmef_path_t *path,const char *value, idmef_criterion_operator_t op </FUNCTION> <FUNCTION> -<NAME>idmef_overflow_alert_write</NAME> +<NAME>idmef_criterion_value_new_broken_down_time</NAME> <RETURNS>int </RETURNS> -idmef_overflow_alert_t *overflow_alert, prelude_msgbuf_t *msg +idmef_criterion_value_t **cv, const char *time, idmef_criterion_operator_t op </FUNCTION> <FUNCTION> -<NAME>idmef_alert_write</NAME> +<NAME>idmef_criterion_value_clone</NAME> <RETURNS>int </RETURNS> -idmef_alert_t *alert, prelude_msgbuf_t *msg +const idmef_criterion_value_t *src, idmef_criterion_value_t **dst </FUNCTION> <FUNCTION> -<NAME>idmef_heartbeat_write</NAME> +<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_heartbeat_t *heartbeat, prelude_msgbuf_t *msg +idmef_criterion_value_t *value, prelude_io_t *fd </FUNCTION> <FUNCTION> -<NAME>idmef_message_write</NAME> +<NAME>idmef_criterion_value_to_string</NAME> <RETURNS>int </RETURNS> -idmef_message_t *message, prelude_msgbuf_t *msg +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_io_t</NAME> @@ -676,64 +1199,359 @@ prelude_io_t *pio <RETURNS>prelude_bool_t </RETURNS> prelude_io_t *pio, int error </FUNCTION> +<FUNCTION> +<NAME>prelude_thread_init</NAME> +<RETURNS>int </RETURNS> +void *nil +</FUNCTION> +<FUNCTION> +<NAME>idmef_message_set_value</NAME> +<RETURNS>int </RETURNS> +idmef_message_t *message, const char *path, idmef_value_t *value +</FUNCTION> +<FUNCTION> +<NAME>idmef_message_get_value</NAME> +<RETURNS>int </RETURNS> +idmef_message_t *message, const char *path, idmef_value_t **value +</FUNCTION> +<FUNCTION> +<NAME>idmef_message_set_string</NAME> +<RETURNS>int </RETURNS> +idmef_message_t *message, const char *path, const char *value +</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> <TYPEDEF> -<NAME>prelude_failover_t</NAME> -typedef struct prelude_failover prelude_failover_t; +<NAME>prelude_string_t</NAME> +typedef struct prelude_string prelude_string_t; </TYPEDEF> <FUNCTION> -<NAME>prelude_failover_destroy</NAME> +<NAME>prelude_string_new</NAME> +<RETURNS>int </RETURNS> +prelude_string_t **string +</FUNCTION> +<FUNCTION> +<NAME>prelude_string_new_nodup</NAME> +<RETURNS>int </RETURNS> +prelude_string_t **string, char *str +</FUNCTION> +<FUNCTION> +<NAME>prelude_string_new_ref</NAME> +<RETURNS>int </RETURNS> +prelude_string_t **string, const char *str +</FUNCTION> +<FUNCTION> +<NAME>prelude_string_new_dup</NAME> +<RETURNS>int </RETURNS> +prelude_string_t **string, const char *str +</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_failover_t *failover +prelude_string_t *string </FUNCTION> <FUNCTION> -<NAME>prelude_failover_new</NAME> +<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_failover_t **ret, const char *dirname +prelude_string_t **string, char *str, size_t len </FUNCTION> <FUNCTION> -<NAME>prelude_failover_set_quota</NAME> +<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> +<RETURNS>const char *</RETURNS> +const prelude_string_t *string, const char *def +</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> <RETURNS>void </RETURNS> -prelude_failover_t *failover, size_t limit +prelude_string_t *string </FUNCTION> <FUNCTION> -<NAME>prelude_failover_save_msg</NAME> +<NAME>prelude_string_cat</NAME> <RETURNS>int </RETURNS> -prelude_failover_t *failover, prelude_msg_t *msg +prelude_string_t *dst, const char *str </FUNCTION> <FUNCTION> -<NAME>prelude_failover_get_saved_msg</NAME> -<RETURNS>ssize_t </RETURNS> -prelude_failover_t *failover, prelude_msg_t **out +<NAME>prelude_string_ncat</NAME> +<RETURNS>int </RETURNS> +prelude_string_t *dst, const char *str, size_t len </FUNCTION> <FUNCTION> -<NAME>prelude_failover_get_deleted_msg_count</NAME> -<RETURNS>unsigned long </RETURNS> -prelude_failover_t *failover +<NAME>prelude_string_sprintf</NAME> +<RETURNS>int </RETURNS> +prelude_string_t *string, const char *fmt, ... </FUNCTION> <FUNCTION> -<NAME>prelude_failover_get_available_msg_count</NAME> -<RETURNS>unsigned long </RETURNS> -prelude_failover_t *failover +<NAME>prelude_string_vprintf</NAME> +<RETURNS>int </RETURNS> +prelude_string_t *string, const char *fmt, va_list ap </FUNCTION> <FUNCTION> -<NAME>prelude_failover_enable_transaction</NAME> +<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> +<TYPEDEF> +<NAME>prelude_uid_t</NAME> +typedef uid_t prelude_uid_t; +</TYPEDEF> +<TYPEDEF> +<NAME>prelude_uid_t</NAME> +typedef int prelude_uid_t; +</TYPEDEF> +<TYPEDEF> +<NAME>prelude_gid_t</NAME> +typedef gid_t prelude_gid_t; +</TYPEDEF> +<TYPEDEF> +<NAME>prelude_gid_t</NAME> +typedef int prelude_gid_t; +</TYPEDEF> +<TYPEDEF> +<NAME>prelude_client_profile_t</NAME> +typedef struct prelude_client_profile prelude_client_profile_t; +</TYPEDEF> +<FUNCTION> +<NAME>prelude_client_profile_new</NAME> +<RETURNS>int </RETURNS> +prelude_client_profile_t **ret, const char *name +</FUNCTION> +<FUNCTION> +<NAME>prelude_client_profile_ref</NAME> +<RETURNS>prelude_client_profile_t *</RETURNS> +prelude_client_profile_t *cp +</FUNCTION> +<FUNCTION> +<NAME>prelude_client_profile_destroy</NAME> <RETURNS>void </RETURNS> -prelude_failover_t *failover +prelude_client_profile_t *cp </FUNCTION> <FUNCTION> -<NAME>prelude_failover_disable_transaction</NAME> +<NAME>prelude_client_profile_get_config_filename</NAME> <RETURNS>void </RETURNS> -prelude_failover_t *failover +const prelude_client_profile_t *cp, char *buf, size_t size </FUNCTION> <FUNCTION> -<NAME>prelude_failover_commit</NAME> +<NAME>prelude_client_profile_get_default_config_dirname</NAME> +<RETURNS>void </RETURNS> +const prelude_client_profile_t *cp, char *buf, size_t size +</FUNCTION> +<FUNCTION> +<NAME>prelude_client_profile_get_analyzerid_filename</NAME> +<RETURNS>void </RETURNS> +const prelude_client_profile_t *cp, char *buf, size_t size +</FUNCTION> +<FUNCTION> +<NAME>prelude_client_profile_get_tls_key_filename</NAME> +<RETURNS>void </RETURNS> +const prelude_client_profile_t *cp, char *buf, size_t size +</FUNCTION> +<FUNCTION> +<NAME>prelude_client_profile_get_tls_server_ca_cert_filename</NAME> +<RETURNS>void </RETURNS> +const prelude_client_profile_t *cp, char *buf, size_t size +</FUNCTION> +<FUNCTION> +<NAME>prelude_client_profile_get_tls_server_keycert_filename</NAME> +<RETURNS>void </RETURNS> +const prelude_client_profile_t *cp, char *buf, size_t size +</FUNCTION> +<FUNCTION> +<NAME>prelude_client_profile_get_tls_server_crl_filename</NAME> +<RETURNS>void </RETURNS> +const prelude_client_profile_t *cp, char *buf, size_t size +</FUNCTION> +<FUNCTION> +<NAME>prelude_client_profile_get_tls_client_keycert_filename</NAME> +<RETURNS>void </RETURNS> +const prelude_client_profile_t *cp, char *buf, size_t size +</FUNCTION> +<FUNCTION> +<NAME>prelude_client_profile_get_tls_client_trusted_cert_filename</NAME> +<RETURNS>void </RETURNS> +const prelude_client_profile_t *cp, char *buf, size_t size +</FUNCTION> +<FUNCTION> +<NAME>prelude_client_profile_get_backup_dirname</NAME> +<RETURNS>void </RETURNS> +const prelude_client_profile_t *cp, char *buf, size_t size +</FUNCTION> +<FUNCTION> +<NAME>prelude_client_profile_get_profile_dirname</NAME> +<RETURNS>void </RETURNS> +const prelude_client_profile_t *cp, char *buf, size_t size +</FUNCTION> +<FUNCTION> +<NAME>prelude_client_profile_set_uid</NAME> +<RETURNS>void </RETURNS> +prelude_client_profile_t *cp, prelude_uid_t uid +</FUNCTION> +<FUNCTION> +<NAME>prelude_client_profile_get_uid</NAME> +<RETURNS>prelude_uid_t </RETURNS> +const prelude_client_profile_t *cp +</FUNCTION> +<FUNCTION> +<NAME>prelude_client_profile_set_gid</NAME> +<RETURNS>void </RETURNS> +prelude_client_profile_t *cp, prelude_uid_t gid +</FUNCTION> +<FUNCTION> +<NAME>prelude_client_profile_get_gid</NAME> +<RETURNS>prelude_gid_t </RETURNS> +const prelude_client_profile_t *cp +</FUNCTION> +<FUNCTION> +<NAME>prelude_client_profile_set_name</NAME> <RETURNS>int </RETURNS> -prelude_failover_t *failover, prelude_msg_t *msg +prelude_client_profile_t *cp, const char *name </FUNCTION> <FUNCTION> -<NAME>prelude_failover_rollback</NAME> +<NAME>prelude_client_profile_get_name</NAME> +<RETURNS>const char *</RETURNS> +const prelude_client_profile_t *cp +</FUNCTION> +<FUNCTION> +<NAME>prelude_client_profile_get_analyzerid</NAME> +<RETURNS>uint64_t </RETURNS> +const prelude_client_profile_t *cp +</FUNCTION> +<FUNCTION> +<NAME>prelude_client_profile_set_analyzerid</NAME> +<RETURNS>void </RETURNS> +prelude_client_profile_t *cp, uint64_t analyzerid +</FUNCTION> +<FUNCTION> +<NAME>prelude_client_profile_get_credentials</NAME> <RETURNS>int </RETURNS> -prelude_failover_t *failover, prelude_msg_t *msg +prelude_client_profile_t *cp, void **credentials +</FUNCTION> +<FUNCTION> +<NAME>prelude_client_profile_set_prefix</NAME> +<RETURNS>int </RETURNS> +prelude_client_profile_t *cp, const char *prefix +</FUNCTION> +<FUNCTION> +<NAME>prelude_client_profile_get_prefix</NAME> +<RETURNS>void </RETURNS> +const prelude_client_profile_t *cp, char *buf, size_t size </FUNCTION> <ENUM> <NAME>prelude_option_type_t</NAME> @@ -1056,1500 +1874,657 @@ prelude_option_t *parent, const char *name,prelude_option_type_t type, prelude_b <RETURNS>prelude_option_context_t *</RETURNS> prelude_option_t *opt, const char *name </FUNCTION> -<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> <FUNCTION> -<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> +<NAME>idmef_additional_data_write</NAME> <RETURNS>int </RETURNS> -idmef_value_t **value, prelude_string_t *string +idmef_additional_data_t *additional_data, prelude_msgbuf_t *msg </FUNCTION> <FUNCTION> -<NAME>idmef_value_new_time</NAME> +<NAME>idmef_reference_write</NAME> <RETURNS>int </RETURNS> -idmef_value_t **value, idmef_time_t *time +idmef_reference_t *reference, prelude_msgbuf_t *msg </FUNCTION> <FUNCTION> -<NAME>idmef_value_new_data</NAME> +<NAME>idmef_classification_write</NAME> <RETURNS>int </RETURNS> -idmef_value_t **value, idmef_data_t *data +idmef_classification_t *classification, prelude_msgbuf_t *msg </FUNCTION> <FUNCTION> -<NAME>idmef_value_new_class</NAME> +<NAME>idmef_user_id_write</NAME> <RETURNS>int </RETURNS> -idmef_value_t **value, idmef_class_id_t classid, void *ptr +idmef_user_id_t *user_id, prelude_msgbuf_t *msg </FUNCTION> <FUNCTION> -<NAME>idmef_value_new_list</NAME> +<NAME>idmef_user_write</NAME> <RETURNS>int </RETURNS> -idmef_value_t **value +idmef_user_t *user, prelude_msgbuf_t *msg </FUNCTION> <FUNCTION> -<NAME>idmef_value_new_enum</NAME> +<NAME>idmef_address_write</NAME> <RETURNS>int </RETURNS> -idmef_value_t **value, idmef_class_id_t classid, const char *buf +idmef_address_t *address, prelude_msgbuf_t *msg </FUNCTION> <FUNCTION> -<NAME>idmef_value_new_enum_from_string</NAME> +<NAME>idmef_process_write</NAME> <RETURNS>int </RETURNS> -idmef_value_t **value, idmef_class_id_t classid, const char *buf +idmef_process_t *process, prelude_msgbuf_t *msg </FUNCTION> <FUNCTION> -<NAME>idmef_value_new_enum_from_numeric</NAME> +<NAME>idmef_web_service_write</NAME> <RETURNS>int </RETURNS> -idmef_value_t **value, idmef_class_id_t classid, int val +idmef_web_service_t *web_service, prelude_msgbuf_t *msg </FUNCTION> <FUNCTION> -<NAME>idmef_value_set_int8</NAME> +<NAME>idmef_snmp_service_write</NAME> <RETURNS>int </RETURNS> -idmef_value_t *value, int8_t val +idmef_snmp_service_t *snmp_service, prelude_msgbuf_t *msg </FUNCTION> <FUNCTION> -<NAME>idmef_value_set_uint8</NAME> +<NAME>idmef_service_write</NAME> <RETURNS>int </RETURNS> -idmef_value_t *value, uint8_t val +idmef_service_t *service, prelude_msgbuf_t *msg </FUNCTION> <FUNCTION> -<NAME>idmef_value_set_int16</NAME> +<NAME>idmef_node_write</NAME> <RETURNS>int </RETURNS> -idmef_value_t *value, int16_t val +idmef_node_t *node, prelude_msgbuf_t *msg </FUNCTION> <FUNCTION> -<NAME>idmef_value_set_uint16</NAME> +<NAME>idmef_source_write</NAME> <RETURNS>int </RETURNS> -idmef_value_t *value, uint16_t val +idmef_source_t *source, prelude_msgbuf_t *msg </FUNCTION> <FUNCTION> -<NAME>idmef_value_set_int32</NAME> +<NAME>idmef_file_access_write</NAME> <RETURNS>int </RETURNS> -idmef_value_t *value, int32_t val +idmef_file_access_t *file_access, prelude_msgbuf_t *msg </FUNCTION> <FUNCTION> -<NAME>idmef_value_set_uint32</NAME> +<NAME>idmef_inode_write</NAME> <RETURNS>int </RETURNS> -idmef_value_t *value, uint32_t val +idmef_inode_t *inode, prelude_msgbuf_t *msg </FUNCTION> <FUNCTION> -<NAME>idmef_value_set_int64</NAME> +<NAME>idmef_checksum_write</NAME> <RETURNS>int </RETURNS> -idmef_value_t *value, int64_t val +idmef_checksum_t *checksum, prelude_msgbuf_t *msg </FUNCTION> <FUNCTION> -<NAME>idmef_value_set_uint64</NAME> +<NAME>idmef_file_write</NAME> <RETURNS>int </RETURNS> -idmef_value_t *value, uint64_t val +idmef_file_t *file, prelude_msgbuf_t *msg </FUNCTION> <FUNCTION> -<NAME>idmef_value_set_float</NAME> +<NAME>idmef_linkage_write</NAME> <RETURNS>int </RETURNS> -idmef_value_t *value, float val +idmef_linkage_t *linkage, prelude_msgbuf_t *msg </FUNCTION> <FUNCTION> -<NAME>idmef_value_set_double</NAME> +<NAME>idmef_target_write</NAME> <RETURNS>int </RETURNS> -idmef_value_t *value, double val +idmef_target_t *target, prelude_msgbuf_t *msg </FUNCTION> <FUNCTION> -<NAME>idmef_value_set_string</NAME> +<NAME>idmef_analyzer_write</NAME> <RETURNS>int </RETURNS> -idmef_value_t *value, prelude_string_t *string +idmef_analyzer_t *analyzer, prelude_msgbuf_t *msg </FUNCTION> <FUNCTION> -<NAME>idmef_value_set_time</NAME> +<NAME>idmef_alertident_write</NAME> <RETURNS>int </RETURNS> -idmef_value_t *value, idmef_time_t *time +idmef_alertident_t *alertident, prelude_msgbuf_t *msg </FUNCTION> <FUNCTION> -<NAME>idmef_value_set_data</NAME> +<NAME>idmef_impact_write</NAME> <RETURNS>int </RETURNS> -idmef_value_t *value, idmef_data_t *data +idmef_impact_t *impact, prelude_msgbuf_t *msg </FUNCTION> <FUNCTION> -<NAME>idmef_value_set_enum</NAME> +<NAME>idmef_action_write</NAME> <RETURNS>int </RETURNS> -idmef_value_t *value, idmef_class_id_t classid, const char *buf +idmef_action_t *action, prelude_msgbuf_t *msg </FUNCTION> <FUNCTION> -<NAME>idmef_value_set_enum_from_string</NAME> +<NAME>idmef_confidence_write</NAME> <RETURNS>int </RETURNS> -idmef_value_t *value, idmef_class_id_t classid, const char *buf +idmef_confidence_t *confidence, prelude_msgbuf_t *msg </FUNCTION> <FUNCTION> -<NAME>idmef_value_set_enum_from_numeric</NAME> +<NAME>idmef_assessment_write</NAME> <RETURNS>int </RETURNS> -idmef_value_t *value, idmef_class_id_t classid, int no +idmef_assessment_t *assessment, prelude_msgbuf_t *msg </FUNCTION> <FUNCTION> -<NAME>idmef_value_set_class</NAME> +<NAME>idmef_tool_alert_write</NAME> <RETURNS>int </RETURNS> -idmef_value_t *value, idmef_class_id_t classid, void *ptr +idmef_tool_alert_t *tool_alert, prelude_msgbuf_t *msg </FUNCTION> <FUNCTION> -<NAME>idmef_value_new</NAME> +<NAME>idmef_correlation_alert_write</NAME> <RETURNS>int </RETURNS> -idmef_value_t **value, idmef_value_type_id_t type, void *ptr +idmef_correlation_alert_t *correlation_alert, prelude_msgbuf_t *msg </FUNCTION> <FUNCTION> -<NAME>idmef_value_new_from_path</NAME> +<NAME>idmef_overflow_alert_write</NAME> <RETURNS>int </RETURNS> -idmef_value_t **value, idmef_path_t *path, const char *buf +idmef_overflow_alert_t *overflow_alert, prelude_msgbuf_t *msg </FUNCTION> <FUNCTION> -<NAME>idmef_value_new_from_string</NAME> +<NAME>idmef_alert_write</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 +idmef_alert_t *alert, prelude_msgbuf_t *msg </FUNCTION> <FUNCTION> -<NAME>idmef_value_get_enum</NAME> +<NAME>idmef_heartbeat_write</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 +idmef_heartbeat_t *heartbeat, prelude_msgbuf_t *msg </FUNCTION> <FUNCTION> -<NAME>idmef_value_list_add</NAME> +<NAME>idmef_message_write</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> -const idmef_value_t *list -</FUNCTION> -<FUNCTION> -<NAME>idmef_value_list_is_empty</NAME> -<RETURNS>prelude_bool_t </RETURNS> -const idmef_value_t *list +idmef_message_t *message, prelude_msgbuf_t *msg </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_value_have_own_data</NAME> -<RETURNS>int </RETURNS> -idmef_value_t *value +<NAME>prelude_log</NAME> +<RETURNS>void </RETURNS> +prelude_log_t level, const char *fmt, ... </FUNCTION> <FUNCTION> -<NAME>idmef_value_dont_have_own_data</NAME> -<RETURNS>int </RETURNS> -idmef_value_t *value +<NAME>prelude_log_debug</NAME> +<RETURNS>void </RETURNS> +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_value_get_type</NAME> -<RETURNS>idmef_value_type_id_t </RETURNS> -const idmef_value_t *value +<NAME>prelude_log_set_level</NAME> +<RETURNS>void </RETURNS> +prelude_log_t level </FUNCTION> <FUNCTION> -<NAME>idmef_value_get_class</NAME> -<RETURNS>idmef_class_id_t </RETURNS> -const idmef_value_t *value +<NAME>prelude_log_set_debug_level</NAME> +<RETURNS>void </RETURNS> +int level </FUNCTION> <FUNCTION> -<NAME>idmef_value_get_object</NAME> -<RETURNS>void *</RETURNS> -const idmef_value_t *value +<NAME>prelude_log_get_flags</NAME> +<RETURNS>prelude_log_flags_t </RETURNS> +void </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_log_set_flags</NAME> +<RETURNS>void </RETURNS> +prelude_log_flags_t flags </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_log_get_prefix</NAME> +<RETURNS>char *</RETURNS> +void </FUNCTION> <FUNCTION> -<NAME>idmef_value_get_nth</NAME> -<RETURNS>idmef_value_t *</RETURNS> -const idmef_value_t *val, int n +<NAME>prelude_log_set_prefix</NAME> +<RETURNS>void </RETURNS> +char *prefix </FUNCTION> <FUNCTION> -<NAME>idmef_value_get_count</NAME> -<RETURNS>int </RETURNS> -const idmef_value_t *val +<NAME>prelude_log_set_callback</NAME> +<RETURNS>void </RETURNS> +void log_cb(prelude_log_t level, const char *str) </FUNCTION> <FUNCTION> -<NAME>idmef_value_clone</NAME> +<NAME>prelude_log_set_logfile</NAME> <RETURNS>int </RETURNS> -const idmef_value_t *val, idmef_value_t **dst +const char *filename </FUNCTION> +<TYPEDEF> +<NAME>prelude_failover_t</NAME> +typedef struct prelude_failover prelude_failover_t; +</TYPEDEF> <FUNCTION> -<NAME>idmef_value_ref</NAME> -<RETURNS>idmef_value_t *</RETURNS> -idmef_value_t *val +<NAME>prelude_failover_destroy</NAME> +<RETURNS>void </RETURNS> +prelude_failover_t *failover </FUNCTION> <FUNCTION> -<NAME>idmef_value_print</NAME> +<NAME>prelude_failover_new</NAME> <RETURNS>int </RETURNS> -const idmef_value_t *val, prelude_io_t *fd +prelude_failover_t **ret, const char *dirname </FUNCTION> <FUNCTION> -<NAME>idmef_value_to_string</NAME> -<RETURNS>int </RETURNS> -const idmef_value_t *val, prelude_string_t *out +<NAME>prelude_failover_set_quota</NAME> +<RETURNS>void </RETURNS> +prelude_failover_t *failover, size_t limit </FUNCTION> <FUNCTION> -<NAME>idmef_value_get</NAME> +<NAME>prelude_failover_save_msg</NAME> <RETURNS>int </RETURNS> -const idmef_value_t *val, void *res +prelude_failover_t *failover, prelude_msg_t *msg </FUNCTION> <FUNCTION> -<NAME>idmef_value_match</NAME> -<RETURNS>int </RETURNS> -idmef_value_t *val1, idmef_value_t *val2, idmef_criterion_operator_t op +<NAME>prelude_failover_get_saved_msg</NAME> +<RETURNS>ssize_t </RETURNS> +prelude_failover_t *failover, prelude_msg_t **out </FUNCTION> <FUNCTION> -<NAME>idmef_value_check_operator</NAME> -<RETURNS>int </RETURNS> -const idmef_value_t *value, idmef_criterion_operator_t op +<NAME>prelude_failover_get_deleted_msg_count</NAME> +<RETURNS>unsigned long </RETURNS> +prelude_failover_t *failover </FUNCTION> <FUNCTION> -<NAME>idmef_value_get_applicable_operators</NAME> -<RETURNS>int </RETURNS> -const idmef_value_t *value, idmef_criterion_operator_t *result +<NAME>prelude_failover_get_available_msg_count</NAME> +<RETURNS>unsigned long </RETURNS> +prelude_failover_t *failover </FUNCTION> <FUNCTION> -<NAME>idmef_value_destroy</NAME> +<NAME>prelude_failover_enable_transaction</NAME> <RETURNS>void </RETURNS> -idmef_value_t *val -</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 +prelude_failover_t *failover </FUNCTION> <FUNCTION> -<NAME>idmef_time_new_from_gettimeofday</NAME> -<RETURNS>int </RETURNS> -idmef_time_t **time +<NAME>prelude_failover_disable_transaction</NAME> +<RETURNS>void </RETURNS> +prelude_failover_t *failover </FUNCTION> <FUNCTION> -<NAME>idmef_time_new_from_string</NAME> +<NAME>prelude_failover_commit</NAME> <RETURNS>int </RETURNS> -idmef_time_t **time, const char *buf +prelude_failover_t *failover, prelude_msg_t *msg </FUNCTION> <FUNCTION> -<NAME>idmef_time_new_from_ntpstamp</NAME> +<NAME>prelude_failover_rollback</NAME> <RETURNS>int </RETURNS> -idmef_time_t **time, const char *buf +prelude_failover_t *failover, prelude_msg_t *msg </FUNCTION> <FUNCTION> -<NAME>idmef_time_new_from_timeval</NAME> +<NAME>idmef_additional_data_new_real</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 +idmef_additional_data_t **ret, float data </FUNCTION> <FUNCTION> -<NAME>idmef_time_set_from_gettimeofday</NAME> +<NAME>idmef_additional_data_new_byte</NAME> <RETURNS>int </RETURNS> -idmef_time_t *time +idmef_additional_data_t **ret, uint8_t byte </FUNCTION> <FUNCTION> -<NAME>idmef_time_set_from_string</NAME> +<NAME>idmef_additional_data_new_integer</NAME> <RETURNS>int </RETURNS> -idmef_time_t *time, const char *buf +idmef_additional_data_t **ret, uint32_t data </FUNCTION> <FUNCTION> -<NAME>idmef_time_set_from_ntpstamp</NAME> +<NAME>idmef_additional_data_new_boolean</NAME> <RETURNS>int </RETURNS> -idmef_time_t *time, const char *buf +idmef_additional_data_t **ret, prelude_bool_t data </FUNCTION> <FUNCTION> -<NAME>idmef_time_set_from_timeval</NAME> +<NAME>idmef_additional_data_new_character</NAME> <RETURNS>int </RETURNS> -idmef_time_t *time, const struct timeval *tv +idmef_additional_data_t **ret, char data </FUNCTION> <FUNCTION> -<NAME>idmef_time_destroy_internal</NAME> +<NAME>idmef_additional_data_set_real</NAME> <RETURNS>void </RETURNS> -idmef_time_t *time +idmef_additional_data_t *ptr, float data </FUNCTION> <FUNCTION> -<NAME>idmef_time_destroy</NAME> +<NAME>idmef_additional_data_set_byte</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 +idmef_additional_data_t *ptr, uint8_t byte </FUNCTION> <FUNCTION> -<NAME>idmef_time_set_sec</NAME> +<NAME>idmef_additional_data_set_integer</NAME> <RETURNS>void </RETURNS> -idmef_time_t *time, uint32_t sec +idmef_additional_data_t *ptr, uint32_t data </FUNCTION> <FUNCTION> -<NAME>idmef_time_set_usec</NAME> +<NAME>idmef_additional_data_set_boolean</NAME> <RETURNS>void </RETURNS> -idmef_time_t *time, uint32_t usec +idmef_additional_data_t *ptr, prelude_bool_t data </FUNCTION> <FUNCTION> -<NAME>idmef_time_set_gmt_offset</NAME> +<NAME>idmef_additional_data_set_character</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 +idmef_additional_data_t *ptr, char data </FUNCTION> <FUNCTION> -<NAME>idmef_time_to_string</NAME> +<NAME>idmef_additional_data_new_byte_string_ref</NAME> <RETURNS>int </RETURNS> -const idmef_time_t *time, prelude_string_t *out +idmef_additional_data_t **ad, const unsigned char *data, size_t len </FUNCTION> <FUNCTION> -<NAME>idmef_time_to_ntpstamp</NAME> +<NAME>idmef_additional_data_set_byte_string_ref</NAME> <RETURNS>int </RETURNS> -const idmef_time_t *time, prelude_string_t *out +idmef_additional_data_t *ad, const unsigned char *data, size_t len </FUNCTION> <FUNCTION> -<NAME>idmef_time_compare</NAME> +<NAME>idmef_additional_data_new_byte_string_dup</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 +idmef_additional_data_t **ad, const unsigned char *data, size_t len </FUNCTION> <FUNCTION> -<NAME>prelude_connection_send</NAME> +<NAME>idmef_additional_data_set_byte_string_dup</NAME> <RETURNS>int </RETURNS> -prelude_connection_t *cnx, prelude_msg_t *msg +idmef_additional_data_t *ad, const unsigned char *data, size_t len </FUNCTION> <FUNCTION> -<NAME>prelude_connection_recv</NAME> +<NAME>idmef_additional_data_new_byte_string_nodup</NAME> <RETURNS>int </RETURNS> -prelude_connection_t *cnx, prelude_msg_t **outmsg +idmef_additional_data_t **ad, unsigned char *data, size_t len </FUNCTION> <FUNCTION> -<NAME>prelude_connection_recv_idmef</NAME> +<NAME>idmef_additional_data_set_byte_string_nodup</NAME> <RETURNS>int </RETURNS> -prelude_connection_t *con, idmef_message_t **idmef +idmef_additional_data_t *ad, unsigned char *data, size_t len </FUNCTION> <FUNCTION> -<NAME>prelude_connection_connect</NAME> +<NAME>idmef_additional_data_copy_ref</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 +idmef_additional_data_t *src, idmef_additional_data_t *dst </FUNCTION> <FUNCTION> -<NAME>prelude_connection_close</NAME> +<NAME>idmef_additional_data_copy_dup</NAME> <RETURNS>int </RETURNS> -prelude_connection_t *cnx -</FUNCTION> -<FUNCTION> -<NAME>prelude_connection_set_fd_ref</NAME> -<RETURNS>void </RETURNS> -prelude_connection_t *cnx, prelude_io_t *fd -</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 +idmef_additional_data_t *src, idmef_additional_data_t *dst </FUNCTION> <FUNCTION> -<NAME>prelude_connection_get_default_socket_filename</NAME> -<RETURNS>const char *</RETURNS> -void +<NAME>idmef_additional_data_get_real</NAME> +<RETURNS>float </RETURNS> +idmef_additional_data_t *data </FUNCTION> <FUNCTION> -<NAME>prelude_connection_get_permission</NAME> -<RETURNS>prelude_connection_permission_t </RETURNS> -prelude_connection_t *conn +<NAME>idmef_additional_data_get_integer</NAME> +<RETURNS>uint32_t </RETURNS> +idmef_additional_data_t *data </FUNCTION> <FUNCTION> -<NAME>prelude_connection_get_peer_analyzerid</NAME> -<RETURNS>uint64_t </RETURNS> -prelude_connection_t *cnx +<NAME>idmef_additional_data_get_boolean</NAME> +<RETURNS>prelude_bool_t </RETURNS> +idmef_additional_data_t *data </FUNCTION> <FUNCTION> -<NAME>prelude_connection_set_peer_analyzerid</NAME> -<RETURNS>void </RETURNS> -prelude_connection_t *cnx, uint64_t analyzerid +<NAME>idmef_additional_data_get_character</NAME> +<RETURNS>char </RETURNS> +idmef_additional_data_t *data </FUNCTION> <FUNCTION> -<NAME>prelude_connection_new</NAME> -<RETURNS>int </RETURNS> -prelude_connection_t **ret, const char *addr +<NAME>idmef_additional_data_get_byte</NAME> +<RETURNS>uint8_t </RETURNS> +idmef_additional_data_t *data </FUNCTION> <FUNCTION> -<NAME>prelude_connection_new_msgbuf</NAME> -<RETURNS>int </RETURNS> -prelude_connection_t *connection, prelude_msgbuf_t **msgbuf +<NAME>idmef_additional_data_get_len</NAME> +<RETURNS>size_t </RETURNS> +idmef_additional_data_t *data </FUNCTION> <FUNCTION> -<NAME>prelude_connection_permission_to_string</NAME> -<RETURNS>int </RETURNS> -prelude_connection_permission_t perm, prelude_string_t *out +<NAME>idmef_additional_data_is_empty</NAME> +<RETURNS>prelude_bool_t </RETURNS> +idmef_additional_data_t *data </FUNCTION> <FUNCTION> -<NAME>prelude_connection_permission_new_from_string</NAME> +<NAME>idmef_additional_data_data_to_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 +idmef_additional_data_t *ad, prelude_string_t *out </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> +<NAME>idmef_criterion_operator_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; + 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>prelude_client_t</NAME> -typedef struct prelude_client prelude_client_t; +<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>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 +<NAME>idmef_criterion_operator_to_string</NAME> +<RETURNS>const char *</RETURNS> +idmef_criterion_operator_t op </FUNCTION> <FUNCTION> -<NAME>prelude_client_recv_msg</NAME> +<NAME>idmef_criterion_new</NAME> <RETURNS>int </RETURNS> -prelude_client_t *client, int timeout, prelude_msg_t **msg +idmef_criterion_t **criterion, idmef_path_t *path,idmef_criterion_value_t *value, idmef_criterion_operator_t op </FUNCTION> <FUNCTION> -<NAME>prelude_client_set_heartbeat_cb</NAME> +<NAME>idmef_criterion_destroy</NAME> <RETURNS>void </RETURNS> -prelude_client_t *client, void (*cb)(prelude_client_t *client, idmef_message_t *hb) +idmef_criterion_t *criterion </FUNCTION> <FUNCTION> -<NAME>prelude_client_send_idmef</NAME> -<RETURNS>void </RETURNS> -prelude_client_t *client, idmef_message_t *msg +<NAME>idmef_criteria_ref</NAME> +<RETURNS>idmef_criteria_t *</RETURNS> +idmef_criteria_t *criteria </FUNCTION> <FUNCTION> -<NAME>prelude_client_recv_idmef</NAME> +<NAME>idmef_criterion_clone</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 +const idmef_criterion_t *criterion, idmef_criterion_t **dst </FUNCTION> <FUNCTION> -<NAME>prelude_client_set_flags</NAME> +<NAME>idmef_criterion_print</NAME> <RETURNS>int </RETURNS> -prelude_client_t *client, prelude_client_flags_t flags +const idmef_criterion_t *criterion, prelude_io_t *fd </FUNCTION> <FUNCTION> -<NAME>prelude_client_set_config_filename</NAME> +<NAME>idmef_criterion_to_string</NAME> <RETURNS>int </RETURNS> -prelude_client_t *client, const char *filename +const idmef_criterion_t *criterion, prelude_string_t *out </FUNCTION> <FUNCTION> -<NAME>prelude_client_get_config_filename</NAME> -<RETURNS>const char *</RETURNS> -prelude_client_t *client +<NAME>idmef_criterion_get_path</NAME> +<RETURNS>idmef_path_t *</RETURNS> +const idmef_criterion_t *criterion </FUNCTION> <FUNCTION> -<NAME>prelude_client_is_setup_needed</NAME> -<RETURNS>prelude_bool_t </RETURNS> -int error +<NAME>idmef_criterion_get_value</NAME> +<RETURNS>idmef_criterion_value_t *</RETURNS> +const idmef_criterion_t *criterion </FUNCTION> <FUNCTION> -<NAME>prelude_client_get_profile</NAME> -<RETURNS>prelude_client_profile_t *</RETURNS> -prelude_client_t *client +<NAME>idmef_criterion_get_operator</NAME> +<RETURNS>idmef_criterion_operator_t </RETURNS> +const idmef_criterion_t *criterion </FUNCTION> <FUNCTION> -<NAME>prelude_client_new_msgbuf</NAME> +<NAME>idmef_criterion_match</NAME> <RETURNS>int </RETURNS> -prelude_client_t *client, prelude_msgbuf_t **msgbuf +const idmef_criterion_t *criterion, idmef_message_t *message </FUNCTION> <FUNCTION> -<NAME>prelude_client_handle_msg_default</NAME> +<NAME>idmef_criteria_new</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 +idmef_criteria_t **criteria </FUNCTION> <FUNCTION> -<NAME>prelude_client_print_setup_error</NAME> +<NAME>idmef_criteria_destroy</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 +idmef_criteria_t *criteria </FUNCTION> <FUNCTION> -<NAME>idmef_criterion_value_new_regex</NAME> +<NAME>idmef_criteria_clone</NAME> <RETURNS>int </RETURNS> -idmef_criterion_value_t **cv, const char *regex, idmef_criterion_operator_t op +idmef_criteria_t *src, idmef_criteria_t **dst </FUNCTION> <FUNCTION> -<NAME>idmef_criterion_value_new_value</NAME> +<NAME>idmef_criteria_print</NAME> <RETURNS>int </RETURNS> -idmef_criterion_value_t **cv, idmef_value_t *value,idmef_criterion_operator_t op +const idmef_criteria_t *criteria, prelude_io_t *fd </FUNCTION> <FUNCTION> -<NAME>idmef_criterion_value_new_from_string</NAME> +<NAME>idmef_criteria_to_string</NAME> <RETURNS>int </RETURNS> -idmef_criterion_value_t **cv, idmef_path_t *path,const char *value, idmef_criterion_operator_t op +const idmef_criteria_t *criteria, prelude_string_t *out </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>idmef_criteria_is_criterion</NAME> +<RETURNS>prelude_bool_t </RETURNS> +const idmef_criteria_t *criteria </FUNCTION> <FUNCTION> -<NAME>idmef_criterion_value_clone</NAME> -<RETURNS>int </RETURNS> -const idmef_criterion_value_t *src, idmef_criterion_value_t **dst +<NAME>idmef_criteria_get_criterion</NAME> +<RETURNS>idmef_criterion_t *</RETURNS> +const idmef_criteria_t *criteria </FUNCTION> <FUNCTION> -<NAME>idmef_criterion_value_destroy</NAME> +<NAME>idmef_criteria_set_criterion</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 *) +idmef_criteria_t *criteria, idmef_criterion_t *criterion </FUNCTION> <FUNCTION> -<NAME>prelude_hash_destroy</NAME> +<NAME>idmef_criteria_or_criteria</NAME> <RETURNS>void </RETURNS> -prelude_hash_t *hash +idmef_criteria_t *criteria, idmef_criteria_t *criteria2 </FUNCTION> <FUNCTION> -<NAME>prelude_hash_set</NAME> +<NAME>idmef_criteria_and_criteria</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 +idmef_criteria_t *criteria, idmef_criteria_t *criteria2 </FUNCTION> <FUNCTION> -<NAME>prelude_hash_elem_destroy</NAME> +<NAME>idmef_criteria_match</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 +const idmef_criteria_t *criteria, idmef_message_t *message </FUNCTION> <FUNCTION> -<NAME>idmef_tool_alert_print</NAME> -<RETURNS>void </RETURNS> -idmef_tool_alert_t *ptr, prelude_io_t *fd +<NAME>idmef_criteria_get_or</NAME> +<RETURNS>idmef_criteria_t *</RETURNS> +const idmef_criteria_t *criteria </FUNCTION> <FUNCTION> -<NAME>idmef_correlation_alert_print</NAME> -<RETURNS>void </RETURNS> -idmef_correlation_alert_t *ptr, prelude_io_t *fd +<NAME>idmef_criteria_get_and</NAME> +<RETURNS>idmef_criteria_t *</RETURNS> +const idmef_criteria_t *criteria </FUNCTION> <FUNCTION> -<NAME>idmef_overflow_alert_print</NAME> -<RETURNS>void </RETURNS> -idmef_overflow_alert_t *ptr, prelude_io_t *fd +<NAME>idmef_criteria_new_from_string</NAME> +<RETURNS>int </RETURNS> +idmef_criteria_t **criteria, const char *str </FUNCTION> <FUNCTION> -<NAME>idmef_alert_print</NAME> +<NAME>idmef_criteria_set_negation</NAME> <RETURNS>void </RETURNS> -idmef_alert_t *ptr, prelude_io_t *fd +idmef_criteria_t *criteria, prelude_bool_t negate </FUNCTION> <FUNCTION> -<NAME>idmef_heartbeat_print</NAME> -<RETURNS>void </RETURNS> -idmef_heartbeat_t *ptr, prelude_io_t *fd +<NAME>idmef_criteria_get_negation</NAME> +<RETURNS>prelude_bool_t </RETURNS> +const idmef_criteria_t *criteria </FUNCTION> -<FUNCTION> -<NAME>idmef_message_print</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_message_t *ptr, prelude_io_t *fd -</FUNCTION> +void *object, void *data +</USER_FUNCTION> <MACRO> -<NAME>LIBPRELUDE_VERSION</NAME> -#define LIBPRELUDE_VERSION "0.9.23" +<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_init</NAME> +<NAME>prelude_async_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 +<NAME>prelude_async_get_flags</NAME> +<RETURNS>prelude_async_flags_t </RETURNS> +void </FUNCTION> <FUNCTION> -<NAME>prelude_thread_init</NAME> -<RETURNS>int </RETURNS> -void *future_use +<NAME>prelude_async_set_flags</NAME> +<RETURNS>void </RETURNS> +prelude_async_flags_t flags </FUNCTION> <FUNCTION> -<NAME>prelude_fork_prepare</NAME> +<NAME>prelude_async_add</NAME> <RETURNS>void </RETURNS> -void +prelude_async_object_t *obj </FUNCTION> <FUNCTION> -<NAME>prelude_fork_parent</NAME> +<NAME>prelude_async_del</NAME> <RETURNS>void </RETURNS> -void +prelude_async_object_t *obj </FUNCTION> <FUNCTION> -<NAME>prelude_fork_child</NAME> +<NAME>prelude_async_exit</NAME> <RETURNS>void </RETURNS> void </FUNCTION> @@ -6689,558 +6664,734 @@ idmef_message_t *message <NAME>IDMEF_CLASS_ID_MESSAGE</NAME> #define IDMEF_CLASS_ID_MESSAGE 49 </MACRO> +<MACRO> +<NAME>LIBPRELUDE_VERSION</NAME> +#define LIBPRELUDE_VERSION "0.9.23.1" +</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> <TYPEDEF> -<NAME>prelude_ident_t</NAME> -typedef struct prelude_ident prelude_ident_t; +<NAME>idmef_path_t</NAME> +typedef struct idmef_path idmef_path_t; </TYPEDEF> <FUNCTION> -<NAME>prelude_ident_generate</NAME> +<NAME>idmef_path_get</NAME> <RETURNS>int </RETURNS> -prelude_ident_t *ident, prelude_string_t *out +const idmef_path_t *path, idmef_message_t *message, idmef_value_t **ret </FUNCTION> <FUNCTION> -<NAME>prelude_ident_inc</NAME> -<RETURNS>uint64_t </RETURNS> -prelude_ident_t *ident +<NAME>idmef_path_set</NAME> +<RETURNS>int </RETURNS> +const idmef_path_t *path, idmef_message_t *message, idmef_value_t *value </FUNCTION> <FUNCTION> -<NAME>prelude_ident_destroy</NAME> -<RETURNS>void </RETURNS> -prelude_ident_t *ident +<NAME>idmef_path_new</NAME> +<RETURNS>int </RETURNS> +idmef_path_t **path, const char *format, ... </FUNCTION> <FUNCTION> -<NAME>prelude_ident_new</NAME> +<NAME>idmef_path_new_v</NAME> <RETURNS>int </RETURNS> -prelude_ident_t **ret +idmef_path_t **path, const char *format, va_list args </FUNCTION> <FUNCTION> -<NAME>idmef_additional_data_new_real</NAME> +<NAME>idmef_path_new_fast</NAME> <RETURNS>int </RETURNS> -idmef_additional_data_t **ret, float data +idmef_path_t **path, const char *buffer </FUNCTION> <FUNCTION> -<NAME>idmef_additional_data_new_byte</NAME> +<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_additional_data_t **ret, uint8_t byte +idmef_path_t *path, unsigned int depth, unsigned int index </FUNCTION> <FUNCTION> -<NAME>idmef_additional_data_new_integer</NAME> +<NAME>idmef_path_undefine_index</NAME> <RETURNS>int </RETURNS> -idmef_additional_data_t **ret, uint32_t data +idmef_path_t *path, unsigned int depth </FUNCTION> <FUNCTION> -<NAME>idmef_additional_data_new_boolean</NAME> +<NAME>idmef_path_get_index</NAME> <RETURNS>int </RETURNS> -idmef_additional_data_t **ret, prelude_bool_t data +const idmef_path_t *path, unsigned int depth </FUNCTION> <FUNCTION> -<NAME>idmef_additional_data_new_character</NAME> +<NAME>idmef_path_make_child</NAME> <RETURNS>int </RETURNS> -idmef_additional_data_t **ret, char data +idmef_path_t *path, const char *child_name, unsigned int index </FUNCTION> <FUNCTION> -<NAME>idmef_additional_data_set_real</NAME> -<RETURNS>void </RETURNS> -idmef_additional_data_t *ptr, float data +<NAME>idmef_path_make_parent</NAME> +<RETURNS>int </RETURNS> +idmef_path_t *path </FUNCTION> <FUNCTION> -<NAME>idmef_additional_data_set_byte</NAME> +<NAME>idmef_path_destroy</NAME> <RETURNS>void </RETURNS> -idmef_additional_data_t *ptr, uint8_t byte +idmef_path_t *path </FUNCTION> <FUNCTION> -<NAME>idmef_additional_data_set_integer</NAME> -<RETURNS>void </RETURNS> -idmef_additional_data_t *ptr, uint32_t data +<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_additional_data_set_boolean</NAME> -<RETURNS>void </RETURNS> -idmef_additional_data_t *ptr, prelude_bool_t data +<NAME>idmef_path_compare</NAME> +<RETURNS>int </RETURNS> +const idmef_path_t *p1, const idmef_path_t *p2 </FUNCTION> <FUNCTION> -<NAME>idmef_additional_data_set_character</NAME> -<RETURNS>void </RETURNS> -idmef_additional_data_t *ptr, char data +<NAME>idmef_path_clone</NAME> +<RETURNS>int </RETURNS> +const idmef_path_t *src, idmef_path_t **dst </FUNCTION> <FUNCTION> -<NAME>idmef_additional_data_new_byte_string_ref</NAME> +<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> -idmef_additional_data_t **ad, const unsigned char *data, size_t len +const idmef_path_t *path </FUNCTION> <FUNCTION> -<NAME>idmef_additional_data_set_byte_string_ref</NAME> +<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_path_check_operator</NAME> <RETURNS>int </RETURNS> -idmef_additional_data_t *ad, const unsigned char *data, size_t len +const idmef_path_t *path, idmef_criterion_operator_t op </FUNCTION> <FUNCTION> -<NAME>idmef_additional_data_new_byte_string_dup</NAME> +<NAME>idmef_path_get_applicable_operators</NAME> <RETURNS>int </RETURNS> -idmef_additional_data_t **ad, const unsigned char *data, size_t len +const idmef_path_t *path, idmef_criterion_operator_t *result </FUNCTION> +<TYPEDEF> +<NAME>idmef_value_t</NAME> +typedef struct idmef_value idmef_value_t; +</TYPEDEF> <FUNCTION> -<NAME>idmef_additional_data_set_byte_string_dup</NAME> +<NAME>idmef_value_new_int8</NAME> <RETURNS>int </RETURNS> -idmef_additional_data_t *ad, const unsigned char *data, size_t len +idmef_value_t **value, int8_t val </FUNCTION> <FUNCTION> -<NAME>idmef_additional_data_new_byte_string_nodup</NAME> +<NAME>idmef_value_new_uint8</NAME> <RETURNS>int </RETURNS> -idmef_additional_data_t **ad, unsigned char *data, size_t len +idmef_value_t **value, uint8_t val </FUNCTION> <FUNCTION> -<NAME>idmef_additional_data_set_byte_string_nodup</NAME> +<NAME>idmef_value_new_int16</NAME> <RETURNS>int </RETURNS> -idmef_additional_data_t *ad, unsigned char *data, size_t len +idmef_value_t **value, int16_t val </FUNCTION> <FUNCTION> -<NAME>idmef_additional_data_copy_ref</NAME> +<NAME>idmef_value_new_uint16</NAME> <RETURNS>int </RETURNS> -idmef_additional_data_t *src, idmef_additional_data_t *dst +idmef_value_t **value, uint16_t val </FUNCTION> <FUNCTION> -<NAME>idmef_additional_data_copy_dup</NAME> +<NAME>idmef_value_new_int32</NAME> <RETURNS>int </RETURNS> -idmef_additional_data_t *src, idmef_additional_data_t *dst +idmef_value_t **value, int32_t val </FUNCTION> <FUNCTION> -<NAME>idmef_additional_data_get_real</NAME> -<RETURNS>float </RETURNS> -idmef_additional_data_t *data +<NAME>idmef_value_new_uint32</NAME> +<RETURNS>int </RETURNS> +idmef_value_t **value, uint32_t val </FUNCTION> <FUNCTION> -<NAME>idmef_additional_data_get_integer</NAME> -<RETURNS>uint32_t </RETURNS> -idmef_additional_data_t *data +<NAME>idmef_value_new_int64</NAME> +<RETURNS>int </RETURNS> +idmef_value_t **value, int64_t val </FUNCTION> <FUNCTION> -<NAME>idmef_additional_data_get_boolean</NAME> -<RETURNS>prelude_bool_t </RETURNS> -idmef_additional_data_t *data +<NAME>idmef_value_new_uint64</NAME> +<RETURNS>int </RETURNS> +idmef_value_t **value, uint64_t val </FUNCTION> <FUNCTION> -<NAME>idmef_additional_data_get_character</NAME> -<RETURNS>char </RETURNS> -idmef_additional_data_t *data +<NAME>idmef_value_new_float</NAME> +<RETURNS>int </RETURNS> +idmef_value_t **value, float val </FUNCTION> <FUNCTION> -<NAME>idmef_additional_data_get_byte</NAME> -<RETURNS>uint8_t </RETURNS> -idmef_additional_data_t *data +<NAME>idmef_value_new_double</NAME> +<RETURNS>int </RETURNS> +idmef_value_t **value, double val </FUNCTION> <FUNCTION> -<NAME>idmef_additional_data_get_len</NAME> -<RETURNS>size_t </RETURNS> -idmef_additional_data_t *data +<NAME>idmef_value_new_string</NAME> +<RETURNS>int </RETURNS> +idmef_value_t **value, prelude_string_t *string </FUNCTION> <FUNCTION> -<NAME>idmef_additional_data_is_empty</NAME> -<RETURNS>prelude_bool_t </RETURNS> -idmef_additional_data_t *data +<NAME>idmef_value_new_time</NAME> +<RETURNS>int </RETURNS> +idmef_value_t **value, idmef_time_t *time </FUNCTION> <FUNCTION> -<NAME>idmef_additional_data_data_to_string</NAME> +<NAME>idmef_value_new_data</NAME> <RETURNS>int </RETURNS> -idmef_additional_data_t *ad, prelude_string_t *out +idmef_value_t **value, idmef_data_t *data </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 +<NAME>idmef_value_new_class</NAME> +<RETURNS>int </RETURNS> +idmef_value_t **value, idmef_class_id_t classid, void *ptr </FUNCTION> <FUNCTION> -<NAME>prelude_connection_pool_broadcast_async</NAME> -<RETURNS>void </RETURNS> -prelude_connection_pool_t *pool, prelude_msg_t *msg +<NAME>idmef_value_new_list</NAME> +<RETURNS>int </RETURNS> +idmef_value_t **value </FUNCTION> <FUNCTION> -<NAME>prelude_connection_pool_init</NAME> +<NAME>idmef_value_new_enum</NAME> <RETURNS>int </RETURNS> -prelude_connection_pool_t *pool +idmef_value_t **value, idmef_class_id_t classid, const char *buf </FUNCTION> <FUNCTION> -<NAME>prelude_connection_pool_new</NAME> +<NAME>idmef_value_new_enum_from_string</NAME> <RETURNS>int </RETURNS> -prelude_connection_pool_t **ret,prelude_client_profile_t *cp,prelude_connection_permission_t permission +idmef_value_t **value, idmef_class_id_t classid, const char *buf </FUNCTION> <FUNCTION> -<NAME>prelude_connection_pool_get_connection_list</NAME> -<RETURNS>prelude_list_t *</RETURNS> -prelude_connection_pool_t *pool +<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>prelude_connection_pool_add_connection</NAME> +<NAME>idmef_value_set_int8</NAME> <RETURNS>int </RETURNS> -prelude_connection_pool_t *pool, prelude_connection_t *cnx +idmef_value_t *value, int8_t val </FUNCTION> <FUNCTION> -<NAME>prelude_connection_pool_del_connection</NAME> +<NAME>idmef_value_set_uint8</NAME> <RETURNS>int </RETURNS> -prelude_connection_pool_t *pool, prelude_connection_t *cnx +idmef_value_t *value, uint8_t val </FUNCTION> <FUNCTION> -<NAME>prelude_connection_pool_set_connection_dead</NAME> +<NAME>idmef_value_set_int16</NAME> <RETURNS>int </RETURNS> -prelude_connection_pool_t *pool, prelude_connection_t *cnx +idmef_value_t *value, int16_t val </FUNCTION> <FUNCTION> -<NAME>prelude_connection_pool_set_connection_alive</NAME> +<NAME>idmef_value_set_uint16</NAME> <RETURNS>int </RETURNS> -prelude_connection_pool_t *pool, prelude_connection_t *cnx +idmef_value_t *value, uint16_t val </FUNCTION> <FUNCTION> -<NAME>prelude_connection_pool_set_connection_string</NAME> +<NAME>idmef_value_set_int32</NAME> <RETURNS>int </RETURNS> -prelude_connection_pool_t *pool, const char *cfgstr +idmef_value_t *value, int32_t val </FUNCTION> <FUNCTION> -<NAME>prelude_connection_pool_get_connection_string</NAME> -<RETURNS>const char *</RETURNS> -prelude_connection_pool_t *pool +<NAME>idmef_value_set_uint32</NAME> +<RETURNS>int </RETURNS> +idmef_value_t *value, uint32_t val </FUNCTION> <FUNCTION> -<NAME>prelude_connection_pool_destroy</NAME> -<RETURNS>void </RETURNS> -prelude_connection_pool_t *pool +<NAME>idmef_value_set_int64</NAME> +<RETURNS>int </RETURNS> +idmef_value_t *value, int64_t val </FUNCTION> <FUNCTION> -<NAME>prelude_connection_pool_ref</NAME> -<RETURNS>prelude_connection_pool_t *</RETURNS> -prelude_connection_pool_t *pool +<NAME>idmef_value_set_uint64</NAME> +<RETURNS>int </RETURNS> +idmef_value_t *value, uint64_t val </FUNCTION> <FUNCTION> -<NAME>prelude_connection_pool_get_flags</NAME> -<RETURNS>prelude_connection_pool_flags_t </RETURNS> -prelude_connection_pool_t *pool +<NAME>idmef_value_set_float</NAME> +<RETURNS>int </RETURNS> +idmef_value_t *value, float val </FUNCTION> <FUNCTION> -<NAME>prelude_connection_pool_set_flags</NAME> -<RETURNS>void </RETURNS> -prelude_connection_pool_t *pool, prelude_connection_pool_flags_t flags +<NAME>idmef_value_set_double</NAME> +<RETURNS>int </RETURNS> +idmef_value_t *value, double val </FUNCTION> <FUNCTION> -<NAME>prelude_connection_pool_set_required_permission</NAME> -<RETURNS>void </RETURNS> -prelude_connection_pool_t *pool, prelude_connection_permission_t req_perm +<NAME>idmef_value_set_string</NAME> +<RETURNS>int </RETURNS> +idmef_value_t *value, prelude_string_t *string </FUNCTION> <FUNCTION> -<NAME>prelude_connection_pool_set_data</NAME> -<RETURNS>void </RETURNS> -prelude_connection_pool_t *pool, void *data +<NAME>idmef_value_set_time</NAME> +<RETURNS>int </RETURNS> +idmef_value_t *value, idmef_time_t *time </FUNCTION> <FUNCTION> -<NAME>prelude_connection_pool_get_data</NAME> -<RETURNS>void *</RETURNS> -prelude_connection_pool_t *pool +<NAME>idmef_value_set_data</NAME> +<RETURNS>int </RETURNS> +idmef_value_t *value, idmef_data_t *data </FUNCTION> <FUNCTION> -<NAME>prelude_connection_pool_recv</NAME> +<NAME>idmef_value_set_enum</NAME> <RETURNS>int </RETURNS> -prelude_connection_pool_t *pool, int timeout, prelude_connection_t **outcon, prelude_msg_t **outmsg +idmef_value_t *value, idmef_class_id_t classid, const char *buf </FUNCTION> <FUNCTION> -<NAME>prelude_connection_pool_check_event</NAME> +<NAME>idmef_value_set_enum_from_string</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 +idmef_value_t *value, idmef_class_id_t classid, const char *buf </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>idmef_value_set_enum_from_numeric</NAME> +<RETURNS>int </RETURNS> +idmef_value_t *value, idmef_class_id_t classid, int no </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>idmef_value_set_class</NAME> +<RETURNS>int </RETURNS> +idmef_value_t *value, idmef_class_id_t classid, void *ptr </FUNCTION> -<TYPEDEF> -<NAME>prelude_uid_t</NAME> -typedef uid_t prelude_uid_t; -</TYPEDEF> -<TYPEDEF> -<NAME>prelude_uid_t</NAME> -typedef int prelude_uid_t; -</TYPEDEF> -<TYPEDEF> -<NAME>prelude_gid_t</NAME> -typedef gid_t prelude_gid_t; -</TYPEDEF> -<TYPEDEF> -<NAME>prelude_gid_t</NAME> -typedef int prelude_gid_t; -</TYPEDEF> -<TYPEDEF> -<NAME>prelude_client_profile_t</NAME> -typedef struct prelude_client_profile prelude_client_profile_t; -</TYPEDEF> <FUNCTION> -<NAME>prelude_client_profile_new</NAME> +<NAME>idmef_value_new</NAME> <RETURNS>int </RETURNS> -prelude_client_profile_t **ret, const char *name +idmef_value_t **value, idmef_value_type_id_t type, void *ptr </FUNCTION> <FUNCTION> -<NAME>prelude_client_profile_ref</NAME> -<RETURNS>prelude_client_profile_t *</RETURNS> -prelude_client_profile_t *cp +<NAME>idmef_value_new_from_path</NAME> +<RETURNS>int </RETURNS> +idmef_value_t **value, idmef_path_t *path, const char *buf </FUNCTION> <FUNCTION> -<NAME>prelude_client_profile_destroy</NAME> -<RETURNS>void </RETURNS> -prelude_client_profile_t *cp +<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>prelude_client_profile_get_config_filename</NAME> -<RETURNS>void </RETURNS> -const prelude_client_profile_t *cp, char *buf, size_t size +<NAME>idmef_value_get_int8</NAME> +<RETURNS>int8_t </RETURNS> +const idmef_value_t *val </FUNCTION> <FUNCTION> -<NAME>prelude_client_profile_get_default_config_dirname</NAME> -<RETURNS>void </RETURNS> -const prelude_client_profile_t *cp, char *buf, size_t size +<NAME>idmef_value_get_uint8</NAME> +<RETURNS>uint8_t </RETURNS> +const idmef_value_t *val </FUNCTION> <FUNCTION> -<NAME>prelude_client_profile_get_analyzerid_filename</NAME> -<RETURNS>void </RETURNS> -const prelude_client_profile_t *cp, char *buf, size_t size +<NAME>idmef_value_get_int16</NAME> +<RETURNS>int16_t </RETURNS> +const idmef_value_t *val </FUNCTION> <FUNCTION> -<NAME>prelude_client_profile_get_tls_key_filename</NAME> -<RETURNS>void </RETURNS> -const prelude_client_profile_t *cp, char *buf, size_t size +<NAME>idmef_value_get_uint16</NAME> +<RETURNS>uint16_t </RETURNS> +const idmef_value_t *val </FUNCTION> <FUNCTION> -<NAME>prelude_client_profile_get_tls_server_ca_cert_filename</NAME> -<RETURNS>void </RETURNS> -const prelude_client_profile_t *cp, char *buf, size_t size +<NAME>idmef_value_get_int32</NAME> +<RETURNS>int32_t </RETURNS> +const idmef_value_t *val </FUNCTION> <FUNCTION> -<NAME>prelude_client_profile_get_tls_server_keycert_filename</NAME> -<RETURNS>void </RETURNS> -const prelude_client_profile_t *cp, char *buf, size_t size +<NAME>idmef_value_get_uint32</NAME> +<RETURNS>uint32_t </RETURNS> +const idmef_value_t *val </FUNCTION> <FUNCTION> -<NAME>prelude_client_profile_get_tls_server_crl_filename</NAME> -<RETURNS>void </RETURNS> -const prelude_client_profile_t *cp, char *buf, size_t size +<NAME>idmef_value_get_int64</NAME> +<RETURNS>int64_t </RETURNS> +const idmef_value_t *val </FUNCTION> <FUNCTION> -<NAME>prelude_client_profile_get_tls_client_keycert_filename</NAME> -<RETURNS>void </RETURNS> -const prelude_client_profile_t *cp, char *buf, size_t size +<NAME>idmef_value_get_uint64</NAME> +<RETURNS>uint64_t </RETURNS> +const idmef_value_t *val </FUNCTION> <FUNCTION> -<NAME>prelude_client_profile_get_tls_client_trusted_cert_filename</NAME> -<RETURNS>void </RETURNS> -const prelude_client_profile_t *cp, char *buf, size_t size +<NAME>idmef_value_get_enum</NAME> +<RETURNS>int </RETURNS> +const idmef_value_t *val </FUNCTION> <FUNCTION> -<NAME>prelude_client_profile_get_backup_dirname</NAME> -<RETURNS>void </RETURNS> -const prelude_client_profile_t *cp, char *buf, size_t size +<NAME>idmef_value_get_float</NAME> +<RETURNS>float </RETURNS> +const idmef_value_t *val </FUNCTION> <FUNCTION> -<NAME>prelude_client_profile_get_profile_dirname</NAME> -<RETURNS>void </RETURNS> -const prelude_client_profile_t *cp, char *buf, size_t size +<NAME>idmef_value_get_double</NAME> +<RETURNS>double </RETURNS> +const idmef_value_t *val </FUNCTION> <FUNCTION> -<NAME>prelude_client_profile_set_uid</NAME> -<RETURNS>void </RETURNS> -prelude_client_profile_t *cp, prelude_uid_t uid +<NAME>idmef_value_get_time</NAME> +<RETURNS>idmef_time_t *</RETURNS> +const idmef_value_t *val </FUNCTION> <FUNCTION> -<NAME>prelude_client_profile_get_uid</NAME> -<RETURNS>prelude_uid_t </RETURNS> -const prelude_client_profile_t *cp +<NAME>idmef_value_get_data</NAME> +<RETURNS>idmef_data_t *</RETURNS> +const idmef_value_t *val </FUNCTION> <FUNCTION> -<NAME>prelude_client_profile_set_gid</NAME> -<RETURNS>void </RETURNS> -prelude_client_profile_t *cp, prelude_uid_t gid +<NAME>idmef_value_get_string</NAME> +<RETURNS>prelude_string_t *</RETURNS> +const idmef_value_t *val </FUNCTION> <FUNCTION> -<NAME>prelude_client_profile_get_gid</NAME> -<RETURNS>prelude_gid_t </RETURNS> -const prelude_client_profile_t *cp +<NAME>idmef_value_list_add</NAME> +<RETURNS>int </RETURNS> +idmef_value_t *list, idmef_value_t *item </FUNCTION> <FUNCTION> -<NAME>prelude_client_profile_set_name</NAME> +<NAME>idmef_value_is_list</NAME> +<RETURNS>prelude_bool_t </RETURNS> +const idmef_value_t *list +</FUNCTION> +<FUNCTION> +<NAME>idmef_value_list_is_empty</NAME> +<RETURNS>prelude_bool_t </RETURNS> +const idmef_value_t *list +</FUNCTION> +<FUNCTION> +<NAME>idmef_value_have_own_data</NAME> <RETURNS>int </RETURNS> -prelude_client_profile_t *cp, const char *name +idmef_value_t *value </FUNCTION> <FUNCTION> -<NAME>prelude_client_profile_get_name</NAME> -<RETURNS>const char *</RETURNS> -const prelude_client_profile_t *cp +<NAME>idmef_value_dont_have_own_data</NAME> +<RETURNS>int </RETURNS> +idmef_value_t *value </FUNCTION> <FUNCTION> -<NAME>prelude_client_profile_get_analyzerid</NAME> -<RETURNS>uint64_t </RETURNS> -const prelude_client_profile_t *cp +<NAME>idmef_value_get_type</NAME> +<RETURNS>idmef_value_type_id_t </RETURNS> +const idmef_value_t *value </FUNCTION> <FUNCTION> -<NAME>prelude_client_profile_set_analyzerid</NAME> -<RETURNS>void </RETURNS> -prelude_client_profile_t *cp, uint64_t analyzerid +<NAME>idmef_value_get_class</NAME> +<RETURNS>idmef_class_id_t </RETURNS> +const idmef_value_t *value </FUNCTION> <FUNCTION> -<NAME>prelude_client_profile_get_credentials</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> -prelude_client_profile_t *cp, void **credentials +const idmef_value_t *value, int (*callback)(idmef_value_t *ptr, void *extra), void *extra </FUNCTION> <FUNCTION> -<NAME>prelude_client_profile_set_prefix</NAME> +<NAME>idmef_value_iterate_reversed</NAME> <RETURNS>int </RETURNS> -prelude_client_profile_t *cp, const char *prefix +const idmef_value_t *value, int (*callback)(idmef_value_t *ptr, void *extra), void *extra </FUNCTION> <FUNCTION> -<NAME>prelude_client_profile_get_prefix</NAME> -<RETURNS>void </RETURNS> -const prelude_client_profile_t *cp, char *buf, size_t size +<NAME>idmef_value_get_nth</NAME> +<RETURNS>idmef_value_t *</RETURNS> +const idmef_value_t *val, int n </FUNCTION> -<TYPEDEF> -<NAME>idmef_path_t</NAME> -typedef struct idmef_path idmef_path_t; -</TYPEDEF> <FUNCTION> -<NAME>idmef_path_get</NAME> +<NAME>idmef_value_get_count</NAME> <RETURNS>int </RETURNS> -const idmef_path_t *path, idmef_message_t *message, idmef_value_t **ret +const idmef_value_t *val </FUNCTION> <FUNCTION> -<NAME>idmef_path_set</NAME> +<NAME>idmef_value_clone</NAME> <RETURNS>int </RETURNS> -const idmef_path_t *path, idmef_message_t *message, idmef_value_t *value +const idmef_value_t *val, idmef_value_t **dst </FUNCTION> <FUNCTION> -<NAME>idmef_path_new</NAME> -<RETURNS>int </RETURNS> -idmef_path_t **path, const char *format, ... +<NAME>idmef_value_ref</NAME> +<RETURNS>idmef_value_t *</RETURNS> +idmef_value_t *val </FUNCTION> <FUNCTION> -<NAME>idmef_path_new_v</NAME> +<NAME>idmef_value_print</NAME> <RETURNS>int </RETURNS> -idmef_path_t **path, const char *format, va_list args +const idmef_value_t *val, prelude_io_t *fd </FUNCTION> <FUNCTION> -<NAME>idmef_path_new_fast</NAME> +<NAME>idmef_value_to_string</NAME> <RETURNS>int </RETURNS> -idmef_path_t **path, const char *buffer +const idmef_value_t *val, prelude_string_t *out </FUNCTION> <FUNCTION> -<NAME>idmef_path_get_class</NAME> -<RETURNS>idmef_class_id_t </RETURNS> -const idmef_path_t *path, int depth +<NAME>idmef_value_get</NAME> +<RETURNS>int </RETURNS> +const idmef_value_t *val, void *res </FUNCTION> <FUNCTION> -<NAME>idmef_path_get_value_type</NAME> -<RETURNS>idmef_value_type_id_t </RETURNS> -const idmef_path_t *path, int depth +<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_path_set_index</NAME> +<NAME>idmef_value_check_operator</NAME> <RETURNS>int </RETURNS> -idmef_path_t *path, unsigned int depth, unsigned int index +const idmef_value_t *value, idmef_criterion_operator_t op </FUNCTION> <FUNCTION> -<NAME>idmef_path_undefine_index</NAME> +<NAME>idmef_value_get_applicable_operators</NAME> <RETURNS>int </RETURNS> -idmef_path_t *path, unsigned int depth +const idmef_value_t *value, idmef_criterion_operator_t *result </FUNCTION> <FUNCTION> -<NAME>idmef_path_get_index</NAME> +<NAME>idmef_value_destroy</NAME> +<RETURNS>void </RETURNS> +idmef_value_t *val +</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> -const idmef_path_t *path, unsigned int depth +prelude_msg_t **msg, prelude_io_t *pio </FUNCTION> <FUNCTION> -<NAME>idmef_path_make_child</NAME> +<NAME>prelude_msg_forward</NAME> <RETURNS>int </RETURNS> -idmef_path_t *path, const char *child_name, unsigned int index +prelude_msg_t *msg, prelude_io_t *dst, prelude_io_t *src </FUNCTION> <FUNCTION> -<NAME>idmef_path_make_parent</NAME> +<NAME>prelude_msg_get</NAME> <RETURNS>int </RETURNS> -idmef_path_t *path +prelude_msg_t *msg, uint8_t *tag, uint32_t *len, void **buf </FUNCTION> <FUNCTION> -<NAME>idmef_path_destroy</NAME> +<NAME>prelude_msg_recycle</NAME> <RETURNS>void </RETURNS> -idmef_path_t *path +prelude_msg_t *msg </FUNCTION> <FUNCTION> -<NAME>idmef_path_ncompare</NAME> +<NAME>prelude_msg_mark_end</NAME> +<RETURNS>void </RETURNS> +prelude_msg_t *msg +</FUNCTION> +<FUNCTION> +<NAME>prelude_msg_dynamic_new</NAME> <RETURNS>int </RETURNS> -const idmef_path_t *p1, const idmef_path_t *p2, unsigned int depth +prelude_msg_t **ret, int (*flush_msg_cb)(prelude_msg_t **msg, void *data), void *data </FUNCTION> <FUNCTION> -<NAME>idmef_path_compare</NAME> +<NAME>prelude_msg_new</NAME> <RETURNS>int </RETURNS> -const idmef_path_t *p1, const idmef_path_t *p2 +prelude_msg_t **ret, size_t msgcount, size_t msglen, uint8_t tag, prelude_msg_priority_t priority </FUNCTION> <FUNCTION> -<NAME>idmef_path_clone</NAME> +<NAME>prelude_msg_set</NAME> <RETURNS>int </RETURNS> -const idmef_path_t *src, idmef_path_t **dst +prelude_msg_t *msg, uint8_t tag, uint32_t len, const void *data </FUNCTION> <FUNCTION> -<NAME>idmef_path_ref</NAME> -<RETURNS>idmef_path_t *</RETURNS> -idmef_path_t *path +<NAME>prelude_msg_write</NAME> +<RETURNS>int </RETURNS> +prelude_msg_t *msg, prelude_io_t *dst </FUNCTION> <FUNCTION> -<NAME>idmef_path_get_name</NAME> -<RETURNS>const char *</RETURNS> -const idmef_path_t *path, int depth +<NAME>prelude_msg_set_tag</NAME> +<RETURNS>void </RETURNS> +prelude_msg_t *msg, uint8_t tag </FUNCTION> <FUNCTION> -<NAME>idmef_path_is_ambiguous</NAME> -<RETURNS>prelude_bool_t </RETURNS> -const idmef_path_t *path +<NAME>prelude_msg_set_priority</NAME> +<RETURNS>void </RETURNS> +prelude_msg_t *msg, prelude_msg_priority_t priority </FUNCTION> <FUNCTION> -<NAME>idmef_path_has_lists</NAME> -<RETURNS>int </RETURNS> -const idmef_path_t *path +<NAME>prelude_msg_get_tag</NAME> +<RETURNS>uint8_t </RETURNS> +prelude_msg_t *msg </FUNCTION> <FUNCTION> -<NAME>idmef_path_is_list</NAME> -<RETURNS>prelude_bool_t </RETURNS> -const idmef_path_t *path, int depth +<NAME>prelude_msg_get_priority</NAME> +<RETURNS>prelude_msg_priority_t </RETURNS> +prelude_msg_t *msg </FUNCTION> <FUNCTION> -<NAME>idmef_path_get_depth</NAME> -<RETURNS>unsigned int </RETURNS> -const idmef_path_t *path +<NAME>prelude_msg_get_len</NAME> +<RETURNS>uint32_t </RETURNS> +prelude_msg_t *msg </FUNCTION> <FUNCTION> -<NAME>idmef_path_check_operator</NAME> +<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> -const idmef_path_t *path, idmef_criterion_operator_t op +prelude_msg_t *msg </FUNCTION> <FUNCTION> -<NAME>idmef_path_get_applicable_operators</NAME> +<NAME>prelude_msg_is_fragment</NAME> <RETURNS>int </RETURNS> -const idmef_path_t *path, idmef_criterion_operator_t *result +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> +<MACRO> +<NAME>PRELUDE_LIST</NAME> +#define PRELUDE_LIST(item) prelude_list_t (item) = { &(item), &(item) } +</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) +</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_PLUGIN_API_VERSION</NAME> #define PRELUDE_PLUGIN_API_VERSION 1 @@ -7444,803 +7595,654 @@ prelude_plugin_generic_t *plugin #define prelude_plugin_run(pi, type, member, ...) \ (((type *)prelude_plugin_instance_get_plugin(pi))->member(__VA_ARGS__)) </MACRO> -<TYPEDEF> -<NAME>prelude_string_t</NAME> -typedef struct prelude_string prelude_string_t; -</TYPEDEF> -<FUNCTION> -<NAME>prelude_string_new</NAME> -<RETURNS>int </RETURNS> -prelude_string_t **string -</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_string_new_nodup</NAME> +<NAME>prelude_option_push_request</NAME> <RETURNS>int </RETURNS> -prelude_string_t **string, char *str +prelude_msgbuf_t *msg, int type, const char *request </FUNCTION> <FUNCTION> -<NAME>prelude_string_new_ref</NAME> +<NAME>prelude_option_new_request</NAME> <RETURNS>int </RETURNS> -prelude_string_t **string, const char *str +prelude_msgbuf_t *msgbuf,uint32_t request_id, uint64_t *target_id, size_t size </FUNCTION> <FUNCTION> -<NAME>prelude_string_new_dup</NAME> +<NAME>prelude_option_process_request</NAME> <RETURNS>int </RETURNS> -prelude_string_t **string, const char *str +prelude_client_t *client, prelude_msg_t *msg, prelude_msgbuf_t *reply </FUNCTION> <FUNCTION> -<NAME>prelude_string_new_dup_fast</NAME> +<NAME>prelude_option_recv_reply</NAME> <RETURNS>int </RETURNS> -prelude_string_t **string, const char *str, size_t len +prelude_msg_t *msg, uint64_t *source_id, uint32_t *request_id, void **value </FUNCTION> +<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>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> +<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_string_destroy</NAME> +<NAME>prelude_connection_pool_broadcast</NAME> <RETURNS>void </RETURNS> -prelude_string_t *string +prelude_connection_pool_t *pool, prelude_msg_t *msg </FUNCTION> <FUNCTION> -<NAME>prelude_string_destroy_internal</NAME> +<NAME>prelude_connection_pool_broadcast_async</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 +prelude_connection_pool_t *pool, prelude_msg_t *msg </FUNCTION> <FUNCTION> -<NAME>prelude_string_set_dup_fast</NAME> +<NAME>prelude_connection_pool_init</NAME> <RETURNS>int </RETURNS> -prelude_string_t *string, const char *buf, size_t len +prelude_connection_pool_t *pool </FUNCTION> <FUNCTION> -<NAME>prelude_string_set_dup</NAME> +<NAME>prelude_connection_pool_new</NAME> <RETURNS>int </RETURNS> -prelude_string_t *string, const char *buf +prelude_connection_pool_t **ret,prelude_client_profile_t *cp,prelude_connection_permission_t permission </FUNCTION> <FUNCTION> -<NAME>prelude_string_set_nodup_fast</NAME> -<RETURNS>int </RETURNS> -prelude_string_t *string, char *buf, size_t len +<NAME>prelude_connection_pool_get_connection_list</NAME> +<RETURNS>prelude_list_t *</RETURNS> +prelude_connection_pool_t *pool </FUNCTION> <FUNCTION> -<NAME>prelude_string_set_nodup</NAME> +<NAME>prelude_connection_pool_add_connection</NAME> <RETURNS>int </RETURNS> -prelude_string_t *string, char *buf +prelude_connection_pool_t *pool, prelude_connection_t *cnx </FUNCTION> <FUNCTION> -<NAME>prelude_string_set_ref_fast</NAME> +<NAME>prelude_connection_pool_del_connection</NAME> <RETURNS>int </RETURNS> -prelude_string_t *string, const char *buf, size_t len +prelude_connection_pool_t *pool, prelude_connection_t *cnx </FUNCTION> <FUNCTION> -<NAME>prelude_string_set_ref</NAME> +<NAME>prelude_connection_pool_set_connection_dead</NAME> <RETURNS>int </RETURNS> -prelude_string_t *string, const char *buf +prelude_connection_pool_t *pool, prelude_connection_t *cnx </FUNCTION> <FUNCTION> -<NAME>prelude_string_copy_ref</NAME> +<NAME>prelude_connection_pool_set_connection_alive</NAME> <RETURNS>int </RETURNS> -const prelude_string_t *src, prelude_string_t *dst +prelude_connection_pool_t *pool, prelude_connection_t *cnx </FUNCTION> <FUNCTION> -<NAME>prelude_string_copy_dup</NAME> +<NAME>prelude_connection_pool_set_connection_string</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 +prelude_connection_pool_t *pool, const char *cfgstr </FUNCTION> <FUNCTION> -<NAME>prelude_string_clone</NAME> -<RETURNS>int </RETURNS> -const prelude_string_t *src, prelude_string_t **dst +<NAME>prelude_connection_pool_get_connection_string</NAME> +<RETURNS>const char *</RETURNS> +prelude_connection_pool_t *pool </FUNCTION> <FUNCTION> -<NAME>prelude_string_get_len</NAME> -<RETURNS>size_t </RETURNS> -const prelude_string_t *string +<NAME>prelude_connection_pool_destroy</NAME> +<RETURNS>void </RETURNS> +prelude_connection_pool_t *pool </FUNCTION> <FUNCTION> -<NAME>prelude_string_get_string_or_default</NAME> -<RETURNS>const char *</RETURNS> -const prelude_string_t *string, const char *def +<NAME>prelude_connection_pool_ref</NAME> +<RETURNS>prelude_connection_pool_t *</RETURNS> +prelude_connection_pool_t *pool </FUNCTION> <FUNCTION> -<NAME>prelude_string_get_string</NAME> -<RETURNS>const char *</RETURNS> -const prelude_string_t *string +<NAME>prelude_connection_pool_get_flags</NAME> +<RETURNS>prelude_connection_pool_flags_t </RETURNS> +prelude_connection_pool_t *pool </FUNCTION> <FUNCTION> -<NAME>prelude_string_get_string_released</NAME> -<RETURNS>int </RETURNS> -prelude_string_t *string, char **outptr +<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_string_is_empty</NAME> -<RETURNS>prelude_bool_t </RETURNS> -const prelude_string_t *string +<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_string_clear</NAME> +<NAME>prelude_connection_pool_set_data</NAME> <RETURNS>void </RETURNS> -prelude_string_t *string +prelude_connection_pool_t *pool, void *data </FUNCTION> <FUNCTION> -<NAME>prelude_string_cat</NAME> -<RETURNS>int </RETURNS> -prelude_string_t *dst, const char *str +<NAME>prelude_connection_pool_get_data</NAME> +<RETURNS>void *</RETURNS> +prelude_connection_pool_t *pool </FUNCTION> <FUNCTION> -<NAME>prelude_string_ncat</NAME> +<NAME>prelude_connection_pool_recv</NAME> <RETURNS>int </RETURNS> -prelude_string_t *dst, const char *str, size_t len +prelude_connection_pool_t *pool, int timeout, prelude_connection_t **outcon, prelude_msg_t **outmsg </FUNCTION> <FUNCTION> -<NAME>prelude_string_sprintf</NAME> +<NAME>prelude_connection_pool_check_event</NAME> <RETURNS>int </RETURNS> -prelude_string_t *string, const char *fmt, ... +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>prelude_string_vprintf</NAME> -<RETURNS>int </RETURNS> -prelude_string_t *string, const char *fmt, va_list ap +<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) </FUNCTION> <FUNCTION> -<NAME>prelude_string_compare</NAME> -<RETURNS>int </RETURNS> -const prelude_string_t *str1, const prelude_string_t *str2 +<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) </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> -<ENUM> -<NAME>idmef_data_type_t</NAME> -typedef enum { - IDMEF_DATA_TYPE_UNKNOWN = 0, - IDMEF_DATA_TYPE_CHAR = 1, - IDMEF_DATA_TYPE_BYTE = 2, - IDMEF_DATA_TYPE_UINT32 = 3, - IDMEF_DATA_TYPE_UINT64 = 4, - IDMEF_DATA_TYPE_FLOAT = 5, - IDMEF_DATA_TYPE_CHAR_STRING = 6, - IDMEF_DATA_TYPE_BYTE_STRING = 7 -} idmef_data_type_t; -</ENUM> <STRUCT> -<NAME>data</NAME> +<NAME>prelude_timer_t</NAME> typedef struct { - int refcount; + prelude_list_t list; - int flags; - idmef_data_type_t type; - size_t len; + int expire; + time_t start_time; - union { - char char_data; - uint8_t byte_data; - uint32_t uint32_data; - uint64_t uint64_data; - float float_data; - void *rw_data; - const void *ro_data; - } data; - + 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>idmef_data_new</NAME> -<RETURNS>int </RETURNS> -idmef_data_t **data -</FUNCTION> -<FUNCTION> -<NAME>idmef_data_ref</NAME> -<RETURNS>idmef_data_t *</RETURNS> -idmef_data_t *data -</FUNCTION> -<FUNCTION> -<NAME>idmef_data_new_char</NAME> -<RETURNS>int </RETURNS> -idmef_data_t **data, char c -</FUNCTION> -<FUNCTION> -<NAME>idmef_data_new_byte</NAME> -<RETURNS>int </RETURNS> -idmef_data_t **data, uint8_t i -</FUNCTION> -<FUNCTION> -<NAME>idmef_data_new_uint32</NAME> -<RETURNS>int </RETURNS> -idmef_data_t **data, uint32_t i -</FUNCTION> -<FUNCTION> -<NAME>idmef_data_new_uint64</NAME> -<RETURNS>int </RETURNS> -idmef_data_t **data, uint64_t i -</FUNCTION> -<FUNCTION> -<NAME>idmef_data_new_float</NAME> -<RETURNS>int </RETURNS> -idmef_data_t **data, float f -</FUNCTION> -<FUNCTION> -<NAME>idmef_data_set_char</NAME> +<NAME>prelude_timer_init</NAME> <RETURNS>void </RETURNS> -idmef_data_t *data, char c +prelude_timer_t *timer </FUNCTION> <FUNCTION> -<NAME>idmef_data_set_byte</NAME> +<NAME>prelude_timer_init_list</NAME> <RETURNS>void </RETURNS> -idmef_data_t *data, uint8_t i +prelude_timer_t *timer </FUNCTION> <FUNCTION> -<NAME>idmef_data_set_uint32</NAME> +<NAME>prelude_timer_reset</NAME> <RETURNS>void </RETURNS> -idmef_data_t *data, uint32_t i +prelude_timer_t *timer </FUNCTION> <FUNCTION> -<NAME>idmef_data_set_uint64</NAME> +<NAME>prelude_timer_destroy</NAME> <RETURNS>void </RETURNS> -idmef_data_t *data, uint64_t i +prelude_timer_t *timer </FUNCTION> <FUNCTION> -<NAME>idmef_data_set_float</NAME> +<NAME>prelude_timer_wake_up</NAME> <RETURNS>void </RETURNS> -idmef_data_t *data, float f -</FUNCTION> -<FUNCTION> -<NAME>idmef_data_set_ptr_dup_fast</NAME> -<RETURNS>int </RETURNS> -idmef_data_t *data, idmef_data_type_t type, const void *ptr, size_t len -</FUNCTION> -<FUNCTION> -<NAME>idmef_data_set_ptr_ref_fast</NAME> -<RETURNS>int </RETURNS> -idmef_data_t *data, idmef_data_type_t type, const void *ptr, size_t len -</FUNCTION> -<FUNCTION> -<NAME>idmef_data_set_ptr_nodup_fast</NAME> -<RETURNS>int </RETURNS> -idmef_data_t *data, idmef_data_type_t type, void *ptr, size_t len -</FUNCTION> -<FUNCTION> -<NAME>idmef_data_new_ptr_dup_fast</NAME> -<RETURNS>int </RETURNS> -idmef_data_t **data, idmef_data_type_t type, const void *ptr, size_t len -</FUNCTION> -<FUNCTION> -<NAME>idmef_data_new_ptr_ref_fast</NAME> -<RETURNS>int </RETURNS> -idmef_data_t **data, idmef_data_type_t type, const void *ptr, size_t len -</FUNCTION> -<FUNCTION> -<NAME>idmef_data_new_ptr_nodup_fast</NAME> -<RETURNS>int </RETURNS> -idmef_data_t **data, idmef_data_type_t type, void *ptr, size_t len -</FUNCTION> -<FUNCTION> -<NAME>idmef_data_set_char_string_dup_fast</NAME> -<RETURNS>int </RETURNS> -idmef_data_t *data, const char *str, size_t len +void </FUNCTION> <FUNCTION> -<NAME>idmef_data_new_char_string_dup_fast</NAME> -<RETURNS>int </RETURNS> -idmef_data_t **data, const char *str, size_t len +<NAME>prelude_timer_flush</NAME> +<RETURNS>void </RETURNS> +void </FUNCTION> <FUNCTION> -<NAME>idmef_data_new_char_string_ref_fast</NAME> -<RETURNS>int </RETURNS> -idmef_data_t **data, const char *ptr, size_t len +<NAME>prelude_timer_lock_critical_region</NAME> +<RETURNS>void </RETURNS> +void </FUNCTION> <FUNCTION> -<NAME>idmef_data_new_char_string_nodup_fast</NAME> -<RETURNS>int </RETURNS> -idmef_data_t **data, char *ptr, size_t len +<NAME>prelude_timer_unlock_critical_region</NAME> +<RETURNS>void </RETURNS> +void </FUNCTION> +<TYPEDEF> +<NAME>prelude_hash_t</NAME> +typedef struct prelude_hash prelude_hash_t; +</TYPEDEF> <FUNCTION> -<NAME>idmef_data_set_char_string_ref_fast</NAME> +<NAME>prelude_hash_new</NAME> <RETURNS>int </RETURNS> -idmef_data_t *data, const char *ptr, size_t len +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>idmef_data_set_char_string_nodup_fast</NAME> +<NAME>prelude_hash_new2</NAME> <RETURNS>int </RETURNS> -idmef_data_t *data, char *ptr, size_t len +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>idmef_data_new_char_string_ref</NAME> -<RETURNS>int </RETURNS> -idmef_data_t **data, const char *ptr +<NAME>prelude_hash_destroy</NAME> +<RETURNS>void </RETURNS> +prelude_hash_t *hash </FUNCTION> <FUNCTION> -<NAME>idmef_data_new_char_string_dup</NAME> +<NAME>prelude_hash_set</NAME> <RETURNS>int </RETURNS> -idmef_data_t **data, const char *ptr +prelude_hash_t *hash, void *key, void *value </FUNCTION> <FUNCTION> -<NAME>idmef_data_new_char_string_nodup</NAME> -<RETURNS>int </RETURNS> -idmef_data_t **data, char *ptr +<NAME>prelude_hash_get</NAME> +<RETURNS>void *</RETURNS> +prelude_hash_t *hash, const void *key </FUNCTION> <FUNCTION> -<NAME>idmef_data_set_char_string_ref</NAME> +<NAME>prelude_hash_elem_destroy</NAME> <RETURNS>int </RETURNS> -idmef_data_t *data, const char *ptr +prelude_hash_t *hash, const void *key </FUNCTION> <FUNCTION> -<NAME>idmef_data_set_char_string_dup</NAME> -<RETURNS>int </RETURNS> -idmef_data_t *data, const char *ptr +<NAME>prelude_hash_iterate</NAME> +<RETURNS>void </RETURNS> +prelude_hash_t *hash, void (*cb)(void *data) </FUNCTION> +<TYPEDEF> +<NAME>idmef_time_t</NAME> +typedef struct idmef_time idmef_time_t; +</TYPEDEF> <FUNCTION> -<NAME>idmef_data_set_char_string_nodup</NAME> -<RETURNS>int </RETURNS> -idmef_data_t *data, char *ptr +<NAME>idmef_time_ref</NAME> +<RETURNS>idmef_time_t *</RETURNS> +idmef_time_t *time </FUNCTION> -<MACRO> -<NAME>idmef_data_set_char_string_constant</NAME> -#define idmef_data_set_char_string_constant(string, str) \ - idmef_data_set_char_string_ref_fast((string), (str), sizeof((str)) - 1) -</MACRO> <FUNCTION> -<NAME>idmef_data_new_byte_string_ref</NAME> +<NAME>idmef_time_new</NAME> <RETURNS>int </RETURNS> -idmef_data_t **data, const unsigned char *ptr, size_t len +idmef_time_t **time </FUNCTION> <FUNCTION> -<NAME>idmef_data_new_byte_string_dup</NAME> +<NAME>idmef_time_new_from_time</NAME> <RETURNS>int </RETURNS> -idmef_data_t **data, const unsigned char *ptr, size_t len +idmef_time_t **time, const time_t *t </FUNCTION> <FUNCTION> -<NAME>idmef_data_new_byte_string_nodup</NAME> +<NAME>idmef_time_new_from_gettimeofday</NAME> <RETURNS>int </RETURNS> -idmef_data_t **data, unsigned char *ptr, size_t len +idmef_time_t **time </FUNCTION> <FUNCTION> -<NAME>idmef_data_set_byte_string_ref</NAME> +<NAME>idmef_time_new_from_string</NAME> <RETURNS>int </RETURNS> -idmef_data_t *data, const unsigned char *ptr, size_t len +idmef_time_t **time, const char *buf </FUNCTION> <FUNCTION> -<NAME>idmef_data_set_byte_string_dup</NAME> +<NAME>idmef_time_new_from_ntpstamp</NAME> <RETURNS>int </RETURNS> -idmef_data_t *data, const unsigned char *ptr, size_t len +idmef_time_t **time, const char *buf </FUNCTION> <FUNCTION> -<NAME>idmef_data_set_byte_string_nodup</NAME> +<NAME>idmef_time_new_from_timeval</NAME> <RETURNS>int </RETURNS> -idmef_data_t *data, unsigned char *ptr, size_t len +idmef_time_t **time, const struct timeval *tv </FUNCTION> <FUNCTION> -<NAME>idmef_data_destroy</NAME> +<NAME>idmef_time_set_from_time</NAME> <RETURNS>void </RETURNS> -idmef_data_t *data -</FUNCTION> -<FUNCTION> -<NAME>idmef_data_copy_ref</NAME> -<RETURNS>int </RETURNS> -const idmef_data_t *src, idmef_data_t *dst -</FUNCTION> -<FUNCTION> -<NAME>idmef_data_copy_dup</NAME> -<RETURNS>int </RETURNS> -const idmef_data_t *src, idmef_data_t *dst +idmef_time_t *time, const time_t *t </FUNCTION> <FUNCTION> -<NAME>idmef_data_clone</NAME> +<NAME>idmef_time_set_from_gettimeofday</NAME> <RETURNS>int </RETURNS> -const idmef_data_t *src, idmef_data_t **dst -</FUNCTION> -<FUNCTION> -<NAME>idmef_data_get_type</NAME> -<RETURNS>idmef_data_type_t </RETURNS> -const idmef_data_t *data -</FUNCTION> -<FUNCTION> -<NAME>idmef_data_get_len</NAME> -<RETURNS>size_t </RETURNS> -const idmef_data_t *data -</FUNCTION> -<FUNCTION> -<NAME>idmef_data_get_data</NAME> -<RETURNS>const void *</RETURNS> -const idmef_data_t *data -</FUNCTION> -<FUNCTION> -<NAME>idmef_data_get_char</NAME> -<RETURNS>char </RETURNS> -const idmef_data_t *data -</FUNCTION> -<FUNCTION> -<NAME>idmef_data_get_byte</NAME> -<RETURNS>uint8_t </RETURNS> -const idmef_data_t *data -</FUNCTION> -<FUNCTION> -<NAME>idmef_data_get_uint32</NAME> -<RETURNS>uint32_t </RETURNS> -const idmef_data_t *data -</FUNCTION> -<FUNCTION> -<NAME>idmef_data_get_uint64</NAME> -<RETURNS>uint64_t </RETURNS> -const idmef_data_t *data -</FUNCTION> -<FUNCTION> -<NAME>idmef_data_get_float</NAME> -<RETURNS>float </RETURNS> -const idmef_data_t *data -</FUNCTION> -<FUNCTION> -<NAME>idmef_data_get_char_string</NAME> -<RETURNS>const char *</RETURNS> -const idmef_data_t *data -</FUNCTION> -<FUNCTION> -<NAME>idmef_data_get_byte_string</NAME> -<RETURNS>const unsigned char *</RETURNS> -const idmef_data_t *data -</FUNCTION> -<FUNCTION> -<NAME>idmef_data_is_empty</NAME> -<RETURNS>prelude_bool_t </RETURNS> -const idmef_data_t *data +idmef_time_t *time </FUNCTION> <FUNCTION> -<NAME>idmef_data_to_string</NAME> +<NAME>idmef_time_set_from_string</NAME> <RETURNS>int </RETURNS> -const idmef_data_t *data, prelude_string_t *out -</FUNCTION> -<FUNCTION> -<NAME>idmef_data_destroy_internal</NAME> -<RETURNS>void </RETURNS> -idmef_data_t *data +idmef_time_t *time, const char *buf </FUNCTION> <FUNCTION> -<NAME>idmef_data_compare</NAME> +<NAME>idmef_time_set_from_ntpstamp</NAME> <RETURNS>int </RETURNS> -const idmef_data_t *data1, const idmef_data_t *data2 +idmef_time_t *time, const char *buf </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> +<NAME>idmef_time_set_from_timeval</NAME> <RETURNS>int </RETURNS> -prelude_msgbuf_t **msgbuf +idmef_time_t *time, const struct timeval *tv </FUNCTION> <FUNCTION> -<NAME>prelude_msgbuf_destroy</NAME> +<NAME>idmef_time_destroy_internal</NAME> <RETURNS>void </RETURNS> -prelude_msgbuf_t *msgbuf +idmef_time_t *time </FUNCTION> <FUNCTION> -<NAME>prelude_msgbuf_mark_end</NAME> +<NAME>idmef_time_destroy</NAME> <RETURNS>void </RETURNS> -prelude_msgbuf_t *msgbuf +idmef_time_t *time </FUNCTION> <FUNCTION> -<NAME>prelude_msgbuf_set</NAME> +<NAME>idmef_time_clone</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> -<RETURNS>void *</RETURNS> -prelude_msgbuf_t *msgbuf -</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 +const idmef_time_t *src, idmef_time_t **dst </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>idmef_time_copy</NAME> <RETURNS>int </RETURNS> -void -</FUNCTION> -<FUNCTION> -<NAME>prelude_async_get_flags</NAME> -<RETURNS>prelude_async_flags_t </RETURNS> -void -</FUNCTION> -<FUNCTION> -<NAME>prelude_async_set_flags</NAME> -<RETURNS>void </RETURNS> -prelude_async_flags_t flags -</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> -<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> -<RETURNS>void </RETURNS> -prelude_log_t level, const char *fmt, ... -</FUNCTION> -<FUNCTION> -<NAME>prelude_log_debug</NAME> -<RETURNS>void </RETURNS> -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>prelude_log_set_level</NAME> -<RETURNS>void </RETURNS> -prelude_log_t level -</FUNCTION> -<FUNCTION> -<NAME>prelude_log_set_debug_level</NAME> -<RETURNS>void </RETURNS> -int level -</FUNCTION> -<FUNCTION> -<NAME>prelude_log_get_flags</NAME> -<RETURNS>prelude_log_flags_t </RETURNS> -void +const idmef_time_t *src, idmef_time_t *dst </FUNCTION> <FUNCTION> -<NAME>prelude_log_set_flags</NAME> +<NAME>idmef_time_set_sec</NAME> <RETURNS>void </RETURNS> -prelude_log_flags_t flags -</FUNCTION> -<FUNCTION> -<NAME>prelude_log_get_prefix</NAME> -<RETURNS>char *</RETURNS> -void +idmef_time_t *time, uint32_t sec </FUNCTION> <FUNCTION> -<NAME>prelude_log_set_prefix</NAME> +<NAME>idmef_time_set_usec</NAME> <RETURNS>void </RETURNS> -char *prefix +idmef_time_t *time, uint32_t usec </FUNCTION> <FUNCTION> -<NAME>prelude_log_set_callback</NAME> +<NAME>idmef_time_set_gmt_offset</NAME> <RETURNS>void </RETURNS> -void log_cb(prelude_log_t level, const char *str) -</FUNCTION> -<FUNCTION> -<NAME>prelude_log_set_logfile</NAME> -<RETURNS>int </RETURNS> -const char *filename -</FUNCTION> -<MACRO> -<NAME>PRELUDE_LIST</NAME> -#define PRELUDE_LIST(item) prelude_list_t (item) = { &(item), &(item) } -</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) -</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_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>idmef_message_set_value</NAME> -<RETURNS>int </RETURNS> -idmef_message_t *message, const char *path, idmef_value_t *value -</FUNCTION> -<FUNCTION> -<NAME>idmef_message_get_value</NAME> -<RETURNS>int </RETURNS> -idmef_message_t *message, const char *path, idmef_value_t **value +idmef_time_t *time, int32_t gmtoff </FUNCTION> <FUNCTION> -<NAME>idmef_message_set_string</NAME> -<RETURNS>int </RETURNS> -idmef_message_t *message, const char *path, const char *value +<NAME>idmef_time_get_sec</NAME> +<RETURNS>uint32_t </RETURNS> +const idmef_time_t *time </FUNCTION> <FUNCTION> -<NAME>idmef_message_get_string</NAME> -<RETURNS>int </RETURNS> -idmef_message_t *message, const char *path, char **result +<NAME>idmef_time_get_usec</NAME> +<RETURNS>uint32_t </RETURNS> +const idmef_time_t *time </FUNCTION> <FUNCTION> -<NAME>idmef_message_set_number</NAME> -<RETURNS>int </RETURNS> -idmef_message_t *message, const char *path, double number +<NAME>idmef_time_get_gmt_offset</NAME> +<RETURNS>int32_t </RETURNS> +const idmef_time_t *time </FUNCTION> <FUNCTION> -<NAME>idmef_message_get_number</NAME> +<NAME>idmef_time_to_string</NAME> <RETURNS>int </RETURNS> -idmef_message_t *message, const char *path, double *result +const idmef_time_t *time, prelude_string_t *out </FUNCTION> <FUNCTION> -<NAME>idmef_message_set_data</NAME> +<NAME>idmef_time_to_ntpstamp</NAME> <RETURNS>int </RETURNS> -idmef_message_t *message, const char *path, const unsigned char *data, size_t size +const idmef_time_t *time, prelude_string_t *out </FUNCTION> <FUNCTION> -<NAME>idmef_message_get_data</NAME> +<NAME>idmef_time_compare</NAME> <RETURNS>int </RETURNS> -idmef_message_t *message, const char *path, unsigned char **data, size_t *size +const idmef_time_t *time1, const idmef_time_t *time2 </FUNCTION> <MACRO> <NAME>PRELUDE_ERROR_SYSTEM_ERROR</NAME> diff --git a/docs/api/tmpl/prelude-async.sgml b/docs/api/tmpl/prelude-async.sgml index e73b12d..171b68d 100644 --- a/docs/api/tmpl/prelude-async.sgml +++ b/docs/api/tmpl/prelude-async.sgml @@ -19,8 +19,7 @@ prelude-async <!-- ##### ENUM prelude_async_flags_t ##### --> <para> -Provides asynchronous timer, meaning the user specified callback function will be called automatically, from an asynchronous thread. -If you use this flags, you don't need to call prelude_wake_up_timer() anymore. + </para> @PRELUDE_ASYNC_FLAGS_TIMER: diff --git a/gtk-doc.make b/gtk-doc.make index 354ffb7..0f87cc7 100644 --- a/gtk-doc.make +++ b/gtk-doc.make @@ -7,9 +7,11 @@ if GTK_DOC_USE_LIBTOOL GTKDOC_CC = $(LIBTOOL) --mode=compile $(CC) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) GTKDOC_LD = $(LIBTOOL) --mode=link $(CC) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) +GTKDOC_RUN = $(LIBTOOL) --mode=execute else GTKDOC_CC = $(CC) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) GTKDOC_LD = $(CC) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) +GTKDOC_RUN = sh -c endif # We set GPATH here; this gives us semantics for GNU make @@ -53,6 +55,8 @@ endif docs: html-build.stamp +$(REPORT_FILES): sgml-build.stamp + #### scan #### scan-build.stamp: $(HFILE_GLOB) $(CFILE_GLOB) @@ -61,7 +65,7 @@ scan-build.stamp: $(HFILE_GLOB) $(CFILE_GLOB) cd $(srcdir) && \ gtkdoc-scan --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --ignore-headers="$(IGNORE_HFILES)" $(SCAN_OPTIONS) $(EXTRA_HFILES) if grep -l '^..*$$' $(srcdir)/$(DOC_MODULE).types > /dev/null 2>&1 ; then \ - CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" CFLAGS="$(GTKDOC_CFLAGS)" LDFLAGS="$(GTKDOC_LIBS)" gtkdoc-scangobj $(SCANGOBJ_OPTIONS) --module=$(DOC_MODULE) --output-dir=$(srcdir) ; \ + CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" RUN="$(GTKDOC_RUN)" CFLAGS="$(GTKDOC_CFLAGS) $(CFLAGS)" LDFLAGS="$(GTKDOC_LIBS) $(LDFLAGS)" gtkdoc-scangobj $(SCANGOBJ_OPTIONS) --module=$(DOC_MODULE) --output-dir=$(srcdir) ; \ else \ cd $(srcdir) ; \ for i in $(SCANOBJ_FILES) ; do \ @@ -107,7 +111,12 @@ html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files) @-chmod -R u+w $(srcdir) rm -rf $(srcdir)/html mkdir $(srcdir)/html - cd $(srcdir)/html && gtkdoc-mkhtml $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE) + mkhtml_options=""; \ + gtkdoc-mkhtml 2>&1 --help | grep >/dev/null "\-\-path"; \ + if test "$(?)" = "0"; then \ + mkhtml_options=--path="$(srcdir)"; \ + fi + cd $(srcdir)/html && gtkdoc-mkhtml $(mkhtml_options) $(MKHTML_OPTIONS) $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE) test "x$(HTML_IMAGES)" = "x" || ( cd $(srcdir) && cp $(HTML_IMAGES) html ) @echo 'gtk-doc: Fixing cross-references' cd $(srcdir) && gtkdoc-fixxref --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS) @@ -128,24 +137,37 @@ maintainer-clean-local: clean cd $(srcdir) && rm -rf xml html install-data-local: - -installfiles=`echo $(srcdir)/html/*`; \ + installfiles=`echo $(srcdir)/html/*`; \ if test "$$installfiles" = '$(srcdir)/html/*'; \ then echo '-- Nothing to install' ; \ else \ - $(mkinstalldirs) $(DESTDIR)$(TARGET_DIR); \ + if test -n "$(DOC_MODULE_VERSION)"; then \ + installdir="$(DESTDIR)$(TARGET_DIR)-$(DOC_MODULE_VERSION)"; \ + else \ + installdir="$(DESTDIR)$(TARGET_DIR)"; \ + fi; \ + $(mkinstalldirs) $${installdir} ; \ for i in $$installfiles; do \ echo '-- Installing '$$i ; \ - $(INSTALL_DATA) $$i $(DESTDIR)$(TARGET_DIR); \ + $(INSTALL_DATA) $$i $${installdir}; \ done; \ - echo '-- Installing $(srcdir)/html/index.sgml' ; \ - $(INSTALL_DATA) $(srcdir)/html/index.sgml $(DESTDIR)$(TARGET_DIR) || :; \ - which gtkdoc-rebase >/dev/null && \ - gtkdoc-rebase --relative --dest-dir=$(DESTDIR) --html-dir=$(DESTDIR)$(TARGET_DIR) ; \ + if test -n "$(DOC_MODULE_VERSION)"; then \ + mv -f $${installdir}/$(DOC_MODULE).devhelp2 \ + $${installdir}/$(DOC_MODULE)-$(DOC_MODULE_VERSION).devhelp2; \ + mv -f $${installdir}/$(DOC_MODULE).devhelp \ + $${installdir}/$(DOC_MODULE)-$(DOC_MODULE_VERSION).devhelp; \ + fi; \ + ! which gtkdoc-rebase >/dev/null 2>&1 || \ + gtkdoc-rebase --relative --dest-dir=$(DESTDIR) --html-dir=$${installdir} ; \ fi - uninstall-local: - rm -f $(DESTDIR)$(TARGET_DIR)/* + if test -n "$(DOC_MODULE_VERSION)"; then \ + installdir="$(DESTDIR)$(TARGET_DIR)-$(DOC_MODULE_VERSION)"; \ + else \ + installdir="$(DESTDIR)$(TARGET_DIR)"; \ + fi; \ + rm -rf $${installdir} # # Require gtk-doc when making dist @@ -168,6 +190,7 @@ dist-hook: dist-check-gtkdoc dist-hook-local -cp $(srcdir)/$(DOC_MODULE).types $(distdir)/ -cp $(srcdir)/$(DOC_MODULE)-sections.txt $(distdir)/ cd $(distdir) && rm -f $(DISTCLEANFILES) - -gtkdoc-rebase --online --relative --html-dir=$(distdir)/html + ! which gtkdoc-rebase >/dev/null 2>&1 || \ + gtkdoc-rebase --online --relative --html-dir=$(distdir)/html .PHONY : dist-hook-local docs diff --git a/src/idmef-path.c b/src/idmef-path.c index dff2cb4..19e5aea 100644 --- a/src/idmef-path.c +++ b/src/idmef-path.c @@ -1135,16 +1135,16 @@ int idmef_path_clone(const idmef_path_t *src, idmef_path_t **dst) /** * idmef_path_check_operator: * @path: Pointer to a #idmef_path_t object. - * @operator: Operator to check compatibility with. + * @op: Operator to check compatibility with. * - * Check whether @operator can apply to value pointed to by @path. + * Check whether @op can apply to value pointed to by @path. * * Returns: 0 on success, a negative value if an error occured. */ -int idmef_path_check_operator(const idmef_path_t *path, idmef_criterion_operator_t operator) +int idmef_path_check_operator(const idmef_path_t *path, idmef_criterion_operator_t op) { prelude_return_val_if_fail(path, prelude_error(PRELUDE_ERROR_ASSERTION)); - return idmef_value_type_check_operator(idmef_path_get_value_type(path, -1), operator); + return idmef_value_type_check_operator(idmef_path_get_value_type(path, -1), op); } diff --git a/src/include/prelude-async.h b/src/include/prelude-async.h index ffe2c9a..006c539 100644 --- a/src/include/prelude-async.h +++ b/src/include/prelude-async.h @@ -32,6 +32,17 @@ #endif +/** + * prelude_async_flags_t + * @PRELUDE_ASYNC_FLAGS_TIMER: Enable asynchronous timer. + * + * This provides asynchronous timer. When enabled, the heartbeat + * function (and user specified callback, if any) will be called + * automatically, from an asynchronous thread. + * + * If you use this flags, you won't need to call prelude_wake_up_timer() + * anymore. + */ typedef enum { PRELUDE_ASYNC_FLAGS_TIMER = 0x01 } prelude_async_flags_t; diff --git a/src/include/prelude-client.h b/src/include/prelude-client.h index fe69425..299b227 100644 --- a/src/include/prelude-client.h +++ b/src/include/prelude-client.h @@ -93,8 +93,6 @@ int prelude_client_set_config_filename(prelude_client_t *client, const char *fil const char *prelude_client_get_config_filename(prelude_client_t *client); -prelude_bool_t prelude_client_is_setup_needed(int error); - prelude_client_profile_t *prelude_client_get_profile(prelude_client_t *client); int prelude_client_new_msgbuf(prelude_client_t *client, prelude_msgbuf_t **msgbuf); @@ -103,11 +101,12 @@ int prelude_client_handle_msg_default(prelude_client_t *client, prelude_msg_t *m int _prelude_client_register_options(void); -/* - * deprecated: - */ +#ifndef PRELUDE_DISABLE_DEPRECATED const char *prelude_client_get_setup_error(prelude_client_t *client); +prelude_bool_t prelude_client_is_setup_needed(int error); +#endif + void prelude_client_print_setup_error(prelude_client_t *client); diff --git a/src/prelude-client.c b/src/prelude-client.c index d2d0f82..d20d618 100644 --- a/src/prelude-client.c +++ b/src/prelude-client.c @@ -1764,6 +1764,7 @@ prelude_client_profile_t *prelude_client_get_profile(prelude_client_t *client) +#ifndef PRELUDE_DISABLE_DEPRECATED /** * prelude_client_is_setup_needed: * @error: Error returned by prelude_client_start(). @@ -1785,7 +1786,6 @@ prelude_bool_t prelude_client_is_setup_needed(int error) } - const char *prelude_client_get_setup_error(prelude_client_t *client) { int ret; @@ -1833,6 +1833,7 @@ const char *prelude_client_get_setup_error(prelude_client_t *client) return _prelude_thread_get_error(); } +#endif diff --git a/src/prelude-option.c b/src/prelude-option.c index 4172855..72364ad 100644 --- a/src/prelude-option.c +++ b/src/prelude-option.c @@ -704,7 +704,7 @@ static int get_option_from_optlist(void *context, prelude_option_t *optlist, * @argc: Number of argument. * @argv: Argument list. * @err: Pointer to a #prelude_string_t object where to store an error string. - * @context: + * @context: Pointer to an optional option context. * * prelude_option_read(), parse the given argument and try to * match them against option in @option. If an option match, it's associated _______________________________________________ Prelude-cvslog site list [email protected] http://lists.prelude-ids.org/mailman/listinfo/prelude-cvslog