libpreludedb/master: Update gtk-doc, documentation

[email protected] Mon, 13 Jul 2009 12:02:03 +0200 (CEST)
Newsgroups gmane.comp.security.ids.prelude.cvs
Message-ID <[email protected]>
commit c03dd0f03f8cdfe9b05a5f8018ddb1c52740f9f5
Author: Yoann Vandoorselaere <[email protected]>
Date:   Mon Jul 13 11:21:17 2009 +0200

    Update gtk-doc, documentation


========================================

 docs/api/libpreludedb-decl.txt |  840 ++++++++++++++++++++--------------------
 gtk-doc.make                   |   47 ++-
 2 files changed, 455 insertions(+), 432 deletions(-)

========================================

diff --git a/docs/api/libpreludedb-decl.txt b/docs/api/libpreludedb-decl.txt
index a2559ea..e405219 100644
--- a/docs/api/libpreludedb-decl.txt
+++ b/docs/api/libpreludedb-decl.txt
@@ -1,198 +1,11 @@
-<TYPEDEF>
-<NAME>preludedb_plugin_format_t</NAME>
-typedef struct preludedb_plugin_format preludedb_plugin_format_t;
-</TYPEDEF>
-<USER_FUNCTION>
-<NAME>preludedb_plugin_format_check_schema_version_func_t</NAME>
-<RETURNS>int </RETURNS>
-const char *version
-</USER_FUNCTION>
-<USER_FUNCTION>
-<NAME>preludedb_plugin_format_get_alert_idents_func_t</NAME>
-<RETURNS>int </RETURNS>
-preludedb_sql_t *sql, idmef_criteria_t *criteria,
-                                                               int limit, int offset, preludedb_result_idents_order_t order,
-                                                               void **res
-</USER_FUNCTION>
-<USER_FUNCTION>
-<NAME>preludedb_plugin_format_get_heartbeat_idents_func_t</NAME>
-<RETURNS>int </RETURNS>
-preludedb_sql_t *sql, idmef_criteria_t *criteria,
-                                                                   int limit, int offset, preludedb_result_idents_order_t order,
-                                                                   void **res
-</USER_FUNCTION>
-<USER_FUNCTION>
-<NAME>preludedb_plugin_format_get_message_ident_count_func_t</NAME>
-<RETURNS>size_t </RETURNS>
-void *res
-</USER_FUNCTION>
-<USER_FUNCTION>
-<NAME>preludedb_plugin_format_get_next_message_ident_func_t</NAME>
-<RETURNS>int </RETURNS>
-void *res, uint64_t *ident
-</USER_FUNCTION>
-<USER_FUNCTION>
-<NAME>preludedb_plugin_format_destroy_message_idents_resource_func_t</NAME>
-<RETURNS>void </RETURNS>
-void *res
-</USER_FUNCTION>
-<USER_FUNCTION>
-<NAME>preludedb_plugin_format_get_alert_func_t</NAME>
-<RETURNS>int </RETURNS>
-preludedb_sql_t *sql, uint64_t ident, idmef_message_t **message
-</USER_FUNCTION>
-<USER_FUNCTION>
-<NAME>preludedb_plugin_format_get_heartbeat_func_t</NAME>
-<RETURNS>int </RETURNS>
-preludedb_sql_t *sql, uint64_t ident, idmef_message_t **message
-</USER_FUNCTION>
-<USER_FUNCTION>
-<NAME>preludedb_plugin_format_delete_alert_func_t</NAME>
-<RETURNS>int </RETURNS>
-preludedb_sql_t *sql, uint64_t ident
-</USER_FUNCTION>
-<USER_FUNCTION>
-<NAME>preludedb_plugin_format_delete_alert_from_list_func_t</NAME>
-<RETURNS>ssize_t </RETURNS>
-preludedb_sql_t *sql, uint64_t *idents, size_t size
-</USER_FUNCTION>
-<USER_FUNCTION>
-<NAME>preludedb_plugin_format_delete_alert_from_result_idents_func_t</NAME>
-<RETURNS>ssize_t </RETURNS>
-preludedb_sql_t *sql,
-                                                                                  preludedb_result_idents_t *results
-</USER_FUNCTION>
-<USER_FUNCTION>
-<NAME>preludedb_plugin_format_delete_heartbeat_func_t</NAME>
-<RETURNS>int </RETURNS>
-preludedb_sql_t *sql, uint64_t ident
-</USER_FUNCTION>
-<USER_FUNCTION>
-<NAME>preludedb_plugin_format_delete_heartbeat_from_list_func_t</NAME>
-<RETURNS>ssize_t </RETURNS>
-preludedb_sql_t *sql, uint64_t *idents, size_t size
-</USER_FUNCTION>
-<USER_FUNCTION>
-<NAME>preludedb_plugin_format_delete_heartbeat_from_result_idents_func_t</NAME>
-<RETURNS>ssize_t </RETURNS>
-preludedb_sql_t *sql,
-                                                                                      preludedb_result_idents_t *results
-</USER_FUNCTION>
-<USER_FUNCTION>
-<NAME>preludedb_plugin_format_insert_message_func_t</NAME>
-<RETURNS>int </RETURNS>
-preludedb_sql_t *sql, idmef_message_t *message
-</USER_FUNCTION>
-<USER_FUNCTION>
-<NAME>preludedb_plugin_format_get_values_func_t</NAME>
-<RETURNS>int </RETURNS>
-preludedb_sql_t *sql, preludedb_path_selection_t *selection,
-                                                         idmef_criteria_t *criteria, int distinct, int limit, int offset, void **res
-</USER_FUNCTION>
-<USER_FUNCTION>
-<NAME>preludedb_plugin_format_get_next_values_func_t</NAME>
-<RETURNS>int </RETURNS>
-void *res, preludedb_path_selection_t *selection, idmef_value_t ***values
-</USER_FUNCTION>
-<USER_FUNCTION>
-<NAME>preludedb_plugin_format_destroy_values_resource_func_t</NAME>
-<RETURNS>void </RETURNS>
-void *res
-</USER_FUNCTION>
-<FUNCTION>
-<NAME>preludedb_plugin_format_set_check_schema_version_func</NAME>
-<RETURNS>void </RETURNS>
-preludedb_plugin_format_t *plugin,preludedb_plugin_format_check_schema_version_func_t func
-</FUNCTION>
-<FUNCTION>
-<NAME>preludedb_plugin_format_set_get_alert_idents_func</NAME>
-<RETURNS>void </RETURNS>
-preludedb_plugin_format_t *plugin,preludedb_plugin_format_get_alert_idents_func_t func
-</FUNCTION>
-<FUNCTION>
-<NAME>preludedb_plugin_format_set_get_heartbeat_idents_func</NAME>
-<RETURNS>void </RETURNS>
-preludedb_plugin_format_t *plugin,preludedb_plugin_format_get_heartbeat_idents_func_t func
-</FUNCTION>
-<FUNCTION>
-<NAME>preludedb_plugin_format_set_get_message_ident_count_func</NAME>
-<RETURNS>void </RETURNS>
-preludedb_plugin_format_t *plugin,preludedb_plugin_format_get_message_ident_count_func_t func
-</FUNCTION>
-<FUNCTION>
-<NAME>preludedb_plugin_format_set_get_next_message_ident_func</NAME>
-<RETURNS>void </RETURNS>
-preludedb_plugin_format_t *plugin,preludedb_plugin_format_get_next_message_ident_func_t func
-</FUNCTION>
-<FUNCTION>
-<NAME>preludedb_plugin_format_set_destroy_message_idents_resource_func</NAME>
-<RETURNS>void </RETURNS>
-preludedb_plugin_format_t *plugin,preludedb_plugin_format_destroy_message_idents_resource_func_t func
-</FUNCTION>
-<FUNCTION>
-<NAME>preludedb_plugin_format_set_get_alert_func</NAME>
-<RETURNS>void </RETURNS>
-preludedb_plugin_format_t *plugin, preludedb_plugin_format_get_alert_func_t func
-</FUNCTION>
-<FUNCTION>
-<NAME>preludedb_plugin_format_set_get_heartbeat_func</NAME>
-<RETURNS>void </RETURNS>
-preludedb_plugin_format_t *plugin, preludedb_plugin_format_get_heartbeat_func_t func
-</FUNCTION>
-<FUNCTION>
-<NAME>preludedb_plugin_format_set_delete_alert_func</NAME>
-<RETURNS>void </RETURNS>
-preludedb_plugin_format_t *plugin, preludedb_plugin_format_delete_alert_func_t func
-</FUNCTION>
-<FUNCTION>
-<NAME>preludedb_plugin_format_set_delete_alert_from_list_func</NAME>
-<RETURNS>void </RETURNS>
-preludedb_plugin_format_t *plugin,preludedb_plugin_format_delete_alert_from_list_func_t func
-</FUNCTION>
-<FUNCTION>
-<NAME>preludedb_plugin_format_set_delete_alert_from_result_idents_func</NAME>
-<RETURNS>void </RETURNS>
-preludedb_plugin_format_t *plugin,preludedb_plugin_format_delete_alert_from_result_idents_func_t func
-</FUNCTION>
-<FUNCTION>
-<NAME>preludedb_plugin_format_set_delete_heartbeat_func</NAME>
-<RETURNS>void </RETURNS>
-preludedb_plugin_format_t *plugin,preludedb_plugin_format_delete_heartbeat_func_t func
-</FUNCTION>
-<FUNCTION>
-<NAME>preludedb_plugin_format_set_delete_heartbeat_from_list_func</NAME>
-<RETURNS>void </RETURNS>
-preludedb_plugin_format_t *plugin,preludedb_plugin_format_delete_heartbeat_from_list_func_t func
-</FUNCTION>
-<FUNCTION>
-<NAME>preludedb_plugin_format_set_delete_heartbeat_from_result_idents_func</NAME>
-<RETURNS>void </RETURNS>
-preludedb_plugin_format_t *plugin,preludedb_plugin_format_delete_heartbeat_from_result_idents_func_t func
-</FUNCTION>
-<FUNCTION>
-<NAME>preludedb_plugin_format_set_insert_message_func</NAME>
-<RETURNS>void </RETURNS>
-preludedb_plugin_format_t *plugin,preludedb_plugin_format_insert_message_func_t func
-</FUNCTION>
-<FUNCTION>
-<NAME>preludedb_plugin_format_set_get_values_func</NAME>
-<RETURNS>void </RETURNS>
-preludedb_plugin_format_t *plugin,preludedb_plugin_format_get_values_func_t func
-</FUNCTION>
-<FUNCTION>
-<NAME>preludedb_plugin_format_set_get_next_values_func</NAME>
-<RETURNS>void </RETURNS>
-preludedb_plugin_format_t *plugin,preludedb_plugin_format_get_next_values_func_t func
-</FUNCTION>
-<FUNCTION>
-<NAME>preludedb_plugin_format_set_destroy_values_resource_func</NAME>
-<RETURNS>void </RETURNS>
-preludedb_plugin_format_t *plugin,preludedb_plugin_format_destroy_values_resource_func_t func
-</FUNCTION>
+<MACRO>
+<NAME>LIBPRELUDEDB_VERSION</NAME>
+#define LIBPRELUDEDB_VERSION "0.9.15.2"
+</MACRO>
 <FUNCTION>
-<NAME>preludedb_plugin_format_new</NAME>
-<RETURNS>int </RETURNS>
-preludedb_plugin_format_t **ret
+<NAME>preludedb_check_version</NAME>
+<RETURNS>const char *</RETURNS>
+const char *req_version
 </FUNCTION>
 <TYPEDEF>
 <NAME>preludedb_t</NAME>
@@ -358,78 +171,199 @@ preludedb_t *db
 <RETURNS>int </RETURNS>
 preludedb_t *db
 </FUNCTION>
-<ENUM>
-<NAME>preludedb_selected_path_flags_t</NAME>
-typedef enum {
-	PRELUDEDB_SELECTED_OBJECT_FUNCTION_MIN = 0x01,
-	PRELUDEDB_SELECTED_OBJECT_FUNCTION_MAX = 0x02,
-	PRELUDEDB_SELECTED_OBJECT_FUNCTION_AVG = 0x04,
-	PRELUDEDB_SELECTED_OBJECT_FUNCTION_STD = 0x08,
-	PRELUDEDB_SELECTED_OBJECT_FUNCTION_COUNT = 0x10,
-
-	PRELUDEDB_SELECTED_OBJECT_GROUP_BY = 0x20,
-
-	PRELUDEDB_SELECTED_OBJECT_ORDER_ASC = 0x40,
-	PRELUDEDB_SELECTED_OBJECT_ORDER_DESC = 0x80
-} preludedb_selected_path_flags_t;
-</ENUM>
-<TYPEDEF>
-<NAME>preludedb_path_selection_t</NAME>
-typedef struct preludedb_path_selection preludedb_path_selection_t;
-</TYPEDEF>
 <TYPEDEF>
-<NAME>preludedb_selected_path_t</NAME>
-typedef struct preludedb_selected_path preludedb_selected_path_t;
+<NAME>preludedb_plugin_sql_t</NAME>
+typedef struct preludedb_plugin_sql preludedb_plugin_sql_t;
 </TYPEDEF>
-<FUNCTION>
-<NAME>preludedb_selected_path_new</NAME>
+<USER_FUNCTION>
+<NAME>preludedb_plugin_sql_open_func_t</NAME>
 <RETURNS>int </RETURNS>
-preludedb_selected_path_t **selected_path,idmef_path_t *path, int flags
+preludedb_sql_settings_t *settings, void **session
+</USER_FUNCTION>
+<USER_FUNCTION>
+<NAME>preludedb_plugin_sql_close_func_t</NAME>
+<RETURNS>void </RETURNS>
+void *session
+</USER_FUNCTION>
+<USER_FUNCTION>
+<NAME>preludedb_plugin_sql_escape_func_t</NAME>
+<RETURNS>int </RETURNS>
+void *session, const char *input, size_t input_size, char **output
+</USER_FUNCTION>
+<USER_FUNCTION>
+<NAME>preludedb_plugin_sql_escape_binary_func_t</NAME>
+<RETURNS>int </RETURNS>
+void *session, const unsigned char *input, size_t input_size, char **output
+</USER_FUNCTION>
+<USER_FUNCTION>
+<NAME>preludedb_plugin_sql_unescape_binary_func_t</NAME>
+<RETURNS>int </RETURNS>
+void *session, const char *input, unsigned char **output, size_t *output_size
+</USER_FUNCTION>
+<USER_FUNCTION>
+<NAME>preludedb_plugin_sql_query_func_t</NAME>
+<RETURNS>int </RETURNS>
+void *session, const char *query, void **res
+</USER_FUNCTION>
+<USER_FUNCTION>
+<NAME>preludedb_plugin_sql_get_column_name_func_t</NAME>
+<RETURNS>const char *</RETURNS>
+void *session, void *resource, unsigned int column_num
+</USER_FUNCTION>
+<USER_FUNCTION>
+<NAME>preludedb_plugin_sql_get_column_num_func_t</NAME>
+<RETURNS>int </RETURNS>
+void *session, void *resource, const char *column_name
+</USER_FUNCTION>
+<USER_FUNCTION>
+<NAME>preludedb_plugin_sql_resource_destroy_func_t</NAME>
+<RETURNS>void </RETURNS>
+void *session, void *resource
+</USER_FUNCTION>
+<USER_FUNCTION>
+<NAME>preludedb_plugin_sql_fetch_row_func_t</NAME>
+<RETURNS>int </RETURNS>
+void *session, void *resource, void **row
+</USER_FUNCTION>
+<USER_FUNCTION>
+<NAME>preludedb_plugin_sql_fetch_field_func_t</NAME>
+<RETURNS>int </RETURNS>
+void *session, void *resource, void *row,
+                                                       unsigned int column_num, const char **value, size_t *len
+</USER_FUNCTION>
+<USER_FUNCTION>
+<NAME>preludedb_plugin_sql_build_time_constraint_string_func_t</NAME>
+<RETURNS>int </RETURNS>
+prelude_string_t *output, const char *field,
+                                                                        preludedb_sql_time_constraint_type_t type,
+                                                                        idmef_criterion_operator_t operator, int value, int gmt_offset
+</USER_FUNCTION>
+<USER_FUNCTION>
+<NAME>preludedb_plugin_sql_build_time_interval_string_func_t</NAME>
+<RETURNS>int </RETURNS>
+preludedb_sql_time_constraint_type_t type, int value,
+                                                                      char *buf, size_t size
+</USER_FUNCTION>
+<USER_FUNCTION>
+<NAME>preludedb_plugin_sql_build_limit_offset_string_func_t</NAME>
+<RETURNS>int </RETURNS>
+void *session, int limit, int offset, prelude_string_t *output
+</USER_FUNCTION>
+<USER_FUNCTION>
+<NAME>preludedb_plugin_sql_build_constraint_string_func_t</NAME>
+<RETURNS>int </RETURNS>
+prelude_string_t *out, const char *field,
+                                                                   idmef_criterion_operator_t operator, const char *value
+</USER_FUNCTION>
+<USER_FUNCTION>
+<NAME>preludedb_plugin_sql_get_operator_string_func_t</NAME>
+<RETURNS>const char *</RETURNS>
+idmef_criterion_operator_t operator
+</USER_FUNCTION>
+<USER_FUNCTION>
+<NAME>preludedb_plugin_sql_build_timestamp_string_func_t</NAME>
+<RETURNS>int </RETURNS>
+const struct tm *t, char *out, size_t size
+</USER_FUNCTION>
+<FUNCTION>
+<NAME>preludedb_plugin_sql_set_open_func</NAME>
+<RETURNS>void </RETURNS>
+preludedb_plugin_sql_t *plugin, preludedb_plugin_sql_open_func_t func
 </FUNCTION>
 <FUNCTION>
-<NAME>preludedb_selected_path_new_string</NAME>
-<RETURNS>int </RETURNS>
-preludedb_selected_path_t **selected_path, const char *str
+<NAME>preludedb_plugin_sql_set_close_func</NAME>
+<RETURNS>void </RETURNS>
+preludedb_plugin_sql_t *plugin, preludedb_plugin_sql_close_func_t func
 </FUNCTION>
 <FUNCTION>
-<NAME>preludedb_selected_path_destroy</NAME>
+<NAME>preludedb_plugin_sql_set_escape_func</NAME>
 <RETURNS>void </RETURNS>
-preludedb_selected_path_t *selected_path
+preludedb_plugin_sql_t *plugin, preludedb_plugin_sql_escape_func_t func
 </FUNCTION>
 <FUNCTION>
-<NAME>preludedb_selected_path_get_path</NAME>
-<RETURNS>idmef_path_t *</RETURNS>
-preludedb_selected_path_t *selected_path
+<NAME>preludedb_plugin_sql_set_escape_binary_func</NAME>
+<RETURNS>void </RETURNS>
+preludedb_plugin_sql_t *plugin, preludedb_plugin_sql_escape_binary_func_t func
 </FUNCTION>
 <FUNCTION>
-<NAME>preludedb_selected_path_get_flags</NAME>
-<RETURNS>preludedb_selected_path_flags_t </RETURNS>
-preludedb_selected_path_t *selected_path
+<NAME>preludedb_plugin_sql_set_unescape_binary_func</NAME>
+<RETURNS>void </RETURNS>
+preludedb_plugin_sql_t *plugin, preludedb_plugin_sql_unescape_binary_func_t func
 </FUNCTION>
 <FUNCTION>
-<NAME>preludedb_path_selection_new</NAME>
-<RETURNS>int </RETURNS>
-preludedb_path_selection_t **path_selection
+<NAME>preludedb_plugin_sql_set_query_func</NAME>
+<RETURNS>void </RETURNS>
+preludedb_plugin_sql_t *plugin, preludedb_plugin_sql_query_func_t func
 </FUNCTION>
 <FUNCTION>
-<NAME>preludedb_path_selection_destroy</NAME>
+<NAME>preludedb_plugin_sql_set_get_column_count_func</NAME>
 <RETURNS>void </RETURNS>
-preludedb_path_selection_t *path_selection
+preludedb_plugin_sql_t *plugin, preludedb_plugin_sql_get_column_count_func_t func
 </FUNCTION>
 <FUNCTION>
-<NAME>preludedb_path_selection_add</NAME>
+<NAME>preludedb_plugin_sql_set_get_row_count_func</NAME>
 <RETURNS>void </RETURNS>
-preludedb_path_selection_t *path_selection,preludedb_selected_path_t *selected_path
+preludedb_plugin_sql_t *plugin, preludedb_plugin_sql_get_row_count_func_t func
 </FUNCTION>
 <FUNCTION>
-<NAME>preludedb_path_selection_get_next</NAME>
-<RETURNS>preludedb_selected_path_t *</RETURNS>
-preludedb_path_selection_t *path_selection,preludedb_selected_path_t *selected_path
+<NAME>preludedb_plugin_sql_set_get_column_name_func</NAME>
+<RETURNS>void </RETURNS>
+preludedb_plugin_sql_t *plugin, preludedb_plugin_sql_get_column_name_func_t func
 </FUNCTION>
 <FUNCTION>
-<NAME>preludedb_path_selection_get_count</NAME>
-<RETURNS>size_t </RETURNS>
-preludedb_path_selection_t *path_selection
+<NAME>preludedb_plugin_sql_set_get_column_num_func</NAME>
+<RETURNS>void </RETURNS>
+preludedb_plugin_sql_t *plugin, preludedb_plugin_sql_get_column_num_func_t func
+</FUNCTION>
+<FUNCTION>
+<NAME>preludedb_plugin_sql_set_resource_destroy_func</NAME>
+<RETURNS>void </RETURNS>
+preludedb_plugin_sql_t *plugin, preludedb_plugin_sql_resource_destroy_func_t func
+</FUNCTION>
+<FUNCTION>
+<NAME>preludedb_plugin_sql_set_fetch_row_func</NAME>
+<RETURNS>void </RETURNS>
+preludedb_plugin_sql_t *plugin, preludedb_plugin_sql_fetch_row_func_t func
+</FUNCTION>
+<FUNCTION>
+<NAME>preludedb_plugin_sql_set_fetch_field_func</NAME>
+<RETURNS>void </RETURNS>
+preludedb_plugin_sql_t *plugin, preludedb_plugin_sql_fetch_field_func_t func
+</FUNCTION>
+<FUNCTION>
+<NAME>preludedb_plugin_sql_set_build_time_constraint_string_func</NAME>
+<RETURNS>void </RETURNS>
+preludedb_plugin_sql_t *plugin,preludedb_plugin_sql_build_time_constraint_string_func_t func
+</FUNCTION>
+<FUNCTION>
+<NAME>preludedb_plugin_sql_set_build_time_interval_string_func</NAME>
+<RETURNS>void </RETURNS>
+preludedb_plugin_sql_t *plugin,preludedb_plugin_sql_build_time_interval_string_func_t func
+</FUNCTION>
+<FUNCTION>
+<NAME>preludedb_plugin_sql_set_build_limit_offset_string_func</NAME>
+<RETURNS>void </RETURNS>
+preludedb_plugin_sql_t *plugin,preludedb_plugin_sql_build_limit_offset_string_func_t func
+</FUNCTION>
+<FUNCTION>
+<NAME>preludedb_plugin_sql_set_build_constraint_string_func</NAME>
+<RETURNS>void </RETURNS>
+preludedb_plugin_sql_t *plugin,preludedb_plugin_sql_build_constraint_string_func_t func
+</FUNCTION>
+<FUNCTION>
+<NAME>preludedb_plugin_sql_set_get_operator_string_func</NAME>
+<RETURNS>void </RETURNS>
+preludedb_plugin_sql_t *plugin,preludedb_plugin_sql_get_operator_string_func_t func
+</FUNCTION>
+<FUNCTION>
+<NAME>preludedb_plugin_sql_set_build_timestamp_string_func</NAME>
+<RETURNS>void </RETURNS>
+preludedb_plugin_sql_t *plugin,preludedb_plugin_sql_build_timestamp_string_func_t func
+</FUNCTION>
+<FUNCTION>
+<NAME>preludedb_plugin_sql_new</NAME>
+<RETURNS>int </RETURNS>
+preludedb_plugin_sql_t **plugin
 </FUNCTION>
 <MACRO>
 <NAME>PRELUDEDB_SQL_SETTING_HOST</NAME>
@@ -618,6 +552,202 @@ err
 <RETURNS>const char *</RETURNS>
 preludedb_error_t error
 </FUNCTION>
+<TYPEDEF>
+<NAME>preludedb_plugin_format_t</NAME>
+typedef struct preludedb_plugin_format preludedb_plugin_format_t;
+</TYPEDEF>
+<USER_FUNCTION>
+<NAME>preludedb_plugin_format_check_schema_version_func_t</NAME>
+<RETURNS>int </RETURNS>
+const char *version
+</USER_FUNCTION>
+<USER_FUNCTION>
+<NAME>preludedb_plugin_format_get_alert_idents_func_t</NAME>
+<RETURNS>int </RETURNS>
+preludedb_sql_t *sql, idmef_criteria_t *criteria,
+                                                               int limit, int offset, preludedb_result_idents_order_t order,
+                                                               void **res
+</USER_FUNCTION>
+<USER_FUNCTION>
+<NAME>preludedb_plugin_format_get_heartbeat_idents_func_t</NAME>
+<RETURNS>int </RETURNS>
+preludedb_sql_t *sql, idmef_criteria_t *criteria,
+                                                                   int limit, int offset, preludedb_result_idents_order_t order,
+                                                                   void **res
+</USER_FUNCTION>
+<USER_FUNCTION>
+<NAME>preludedb_plugin_format_get_message_ident_count_func_t</NAME>
+<RETURNS>size_t </RETURNS>
+void *res
+</USER_FUNCTION>
+<USER_FUNCTION>
+<NAME>preludedb_plugin_format_get_next_message_ident_func_t</NAME>
+<RETURNS>int </RETURNS>
+void *res, uint64_t *ident
+</USER_FUNCTION>
+<USER_FUNCTION>
+<NAME>preludedb_plugin_format_destroy_message_idents_resource_func_t</NAME>
+<RETURNS>void </RETURNS>
+void *res
+</USER_FUNCTION>
+<USER_FUNCTION>
+<NAME>preludedb_plugin_format_get_alert_func_t</NAME>
+<RETURNS>int </RETURNS>
+preludedb_sql_t *sql, uint64_t ident, idmef_message_t **message
+</USER_FUNCTION>
+<USER_FUNCTION>
+<NAME>preludedb_plugin_format_get_heartbeat_func_t</NAME>
+<RETURNS>int </RETURNS>
+preludedb_sql_t *sql, uint64_t ident, idmef_message_t **message
+</USER_FUNCTION>
+<USER_FUNCTION>
+<NAME>preludedb_plugin_format_delete_alert_func_t</NAME>
+<RETURNS>int </RETURNS>
+preludedb_sql_t *sql, uint64_t ident
+</USER_FUNCTION>
+<USER_FUNCTION>
+<NAME>preludedb_plugin_format_delete_alert_from_list_func_t</NAME>
+<RETURNS>ssize_t </RETURNS>
+preludedb_sql_t *sql, uint64_t *idents, size_t size
+</USER_FUNCTION>
+<USER_FUNCTION>
+<NAME>preludedb_plugin_format_delete_alert_from_result_idents_func_t</NAME>
+<RETURNS>ssize_t </RETURNS>
+preludedb_sql_t *sql,
+                                                                                  preludedb_result_idents_t *results
+</USER_FUNCTION>
+<USER_FUNCTION>
+<NAME>preludedb_plugin_format_delete_heartbeat_func_t</NAME>
+<RETURNS>int </RETURNS>
+preludedb_sql_t *sql, uint64_t ident
+</USER_FUNCTION>
+<USER_FUNCTION>
+<NAME>preludedb_plugin_format_delete_heartbeat_from_list_func_t</NAME>
+<RETURNS>ssize_t </RETURNS>
+preludedb_sql_t *sql, uint64_t *idents, size_t size
+</USER_FUNCTION>
+<USER_FUNCTION>
+<NAME>preludedb_plugin_format_delete_heartbeat_from_result_idents_func_t</NAME>
+<RETURNS>ssize_t </RETURNS>
+preludedb_sql_t *sql,
+                                                                                      preludedb_result_idents_t *results
+</USER_FUNCTION>
+<USER_FUNCTION>
+<NAME>preludedb_plugin_format_insert_message_func_t</NAME>
+<RETURNS>int </RETURNS>
+preludedb_sql_t *sql, idmef_message_t *message
+</USER_FUNCTION>
+<USER_FUNCTION>
+<NAME>preludedb_plugin_format_get_values_func_t</NAME>
+<RETURNS>int </RETURNS>
+preludedb_sql_t *sql, preludedb_path_selection_t *selection,
+                                                         idmef_criteria_t *criteria, int distinct, int limit, int offset, void **res
+</USER_FUNCTION>
+<USER_FUNCTION>
+<NAME>preludedb_plugin_format_get_next_values_func_t</NAME>
+<RETURNS>int </RETURNS>
+void *res, preludedb_path_selection_t *selection, idmef_value_t ***values
+</USER_FUNCTION>
+<USER_FUNCTION>
+<NAME>preludedb_plugin_format_destroy_values_resource_func_t</NAME>
+<RETURNS>void </RETURNS>
+void *res
+</USER_FUNCTION>
+<FUNCTION>
+<NAME>preludedb_plugin_format_set_check_schema_version_func</NAME>
+<RETURNS>void </RETURNS>
+preludedb_plugin_format_t *plugin,preludedb_plugin_format_check_schema_version_func_t func
+</FUNCTION>
+<FUNCTION>
+<NAME>preludedb_plugin_format_set_get_alert_idents_func</NAME>
+<RETURNS>void </RETURNS>
+preludedb_plugin_format_t *plugin,preludedb_plugin_format_get_alert_idents_func_t func
+</FUNCTION>
+<FUNCTION>
+<NAME>preludedb_plugin_format_set_get_heartbeat_idents_func</NAME>
+<RETURNS>void </RETURNS>
+preludedb_plugin_format_t *plugin,preludedb_plugin_format_get_heartbeat_idents_func_t func
+</FUNCTION>
+<FUNCTION>
+<NAME>preludedb_plugin_format_set_get_message_ident_count_func</NAME>
+<RETURNS>void </RETURNS>
+preludedb_plugin_format_t *plugin,preludedb_plugin_format_get_message_ident_count_func_t func
+</FUNCTION>
+<FUNCTION>
+<NAME>preludedb_plugin_format_set_get_next_message_ident_func</NAME>
+<RETURNS>void </RETURNS>
+preludedb_plugin_format_t *plugin,preludedb_plugin_format_get_next_message_ident_func_t func
+</FUNCTION>
+<FUNCTION>
+<NAME>preludedb_plugin_format_set_destroy_message_idents_resource_func</NAME>
+<RETURNS>void </RETURNS>
+preludedb_plugin_format_t *plugin,preludedb_plugin_format_destroy_message_idents_resource_func_t func
+</FUNCTION>
+<FUNCTION>
+<NAME>preludedb_plugin_format_set_get_alert_func</NAME>
+<RETURNS>void </RETURNS>
+preludedb_plugin_format_t *plugin, preludedb_plugin_format_get_alert_func_t func
+</FUNCTION>
+<FUNCTION>
+<NAME>preludedb_plugin_format_set_get_heartbeat_func</NAME>
+<RETURNS>void </RETURNS>
+preludedb_plugin_format_t *plugin, preludedb_plugin_format_get_heartbeat_func_t func
+</FUNCTION>
+<FUNCTION>
+<NAME>preludedb_plugin_format_set_delete_alert_func</NAME>
+<RETURNS>void </RETURNS>
+preludedb_plugin_format_t *plugin, preludedb_plugin_format_delete_alert_func_t func
+</FUNCTION>
+<FUNCTION>
+<NAME>preludedb_plugin_format_set_delete_alert_from_list_func</NAME>
+<RETURNS>void </RETURNS>
+preludedb_plugin_format_t *plugin,preludedb_plugin_format_delete_alert_from_list_func_t func
+</FUNCTION>
+<FUNCTION>
+<NAME>preludedb_plugin_format_set_delete_alert_from_result_idents_func</NAME>
+<RETURNS>void </RETURNS>
+preludedb_plugin_format_t *plugin,preludedb_plugin_format_delete_alert_from_result_idents_func_t func
+</FUNCTION>
+<FUNCTION>
+<NAME>preludedb_plugin_format_set_delete_heartbeat_func</NAME>
+<RETURNS>void </RETURNS>
+preludedb_plugin_format_t *plugin,preludedb_plugin_format_delete_heartbeat_func_t func
+</FUNCTION>
+<FUNCTION>
+<NAME>preludedb_plugin_format_set_delete_heartbeat_from_list_func</NAME>
+<RETURNS>void </RETURNS>
+preludedb_plugin_format_t *plugin,preludedb_plugin_format_delete_heartbeat_from_list_func_t func
+</FUNCTION>
+<FUNCTION>
+<NAME>preludedb_plugin_format_set_delete_heartbeat_from_result_idents_func</NAME>
+<RETURNS>void </RETURNS>
+preludedb_plugin_format_t *plugin,preludedb_plugin_format_delete_heartbeat_from_result_idents_func_t func
+</FUNCTION>
+<FUNCTION>
+<NAME>preludedb_plugin_format_set_insert_message_func</NAME>
+<RETURNS>void </RETURNS>
+preludedb_plugin_format_t *plugin,preludedb_plugin_format_insert_message_func_t func
+</FUNCTION>
+<FUNCTION>
+<NAME>preludedb_plugin_format_set_get_values_func</NAME>
+<RETURNS>void </RETURNS>
+preludedb_plugin_format_t *plugin,preludedb_plugin_format_get_values_func_t func
+</FUNCTION>
+<FUNCTION>
+<NAME>preludedb_plugin_format_set_get_next_values_func</NAME>
+<RETURNS>void </RETURNS>
+preludedb_plugin_format_t *plugin,preludedb_plugin_format_get_next_values_func_t func
+</FUNCTION>
+<FUNCTION>
+<NAME>preludedb_plugin_format_set_destroy_values_resource_func</NAME>
+<RETURNS>void </RETURNS>
+preludedb_plugin_format_t *plugin,preludedb_plugin_format_destroy_values_resource_func_t func
+</FUNCTION>
+<FUNCTION>
+<NAME>preludedb_plugin_format_new</NAME>
+<RETURNS>int </RETURNS>
+preludedb_plugin_format_t **ret
+</FUNCTION>
 <MACRO>
 <NAME>PRELUDEDB_SQL_TIMESTAMP_STRING_SIZE</NAME>
 #define PRELUDEDB_SQL_TIMESTAMP_STRING_SIZE 128
@@ -851,206 +981,76 @@ preludedb_sql_t *sql,const idmef_time_t *time,char *time_buf, size_t time_buf_si
 <RETURNS>const char *</RETURNS>
 preludedb_sql_t *sql
 </FUNCTION>
+<ENUM>
+<NAME>preludedb_selected_path_flags_t</NAME>
+typedef enum {
+	PRELUDEDB_SELECTED_OBJECT_FUNCTION_MIN = 0x01,
+	PRELUDEDB_SELECTED_OBJECT_FUNCTION_MAX = 0x02,
+	PRELUDEDB_SELECTED_OBJECT_FUNCTION_AVG = 0x04,
+	PRELUDEDB_SELECTED_OBJECT_FUNCTION_STD = 0x08,
+	PRELUDEDB_SELECTED_OBJECT_FUNCTION_COUNT = 0x10,
+
+	PRELUDEDB_SELECTED_OBJECT_GROUP_BY = 0x20,
+
+	PRELUDEDB_SELECTED_OBJECT_ORDER_ASC = 0x40,
+	PRELUDEDB_SELECTED_OBJECT_ORDER_DESC = 0x80
+} preludedb_selected_path_flags_t;
+</ENUM>
 <TYPEDEF>
-<NAME>preludedb_plugin_sql_t</NAME>
-typedef struct preludedb_plugin_sql preludedb_plugin_sql_t;
+<NAME>preludedb_path_selection_t</NAME>
+typedef struct preludedb_path_selection preludedb_path_selection_t;
+</TYPEDEF>
+<TYPEDEF>
+<NAME>preludedb_selected_path_t</NAME>
+typedef struct preludedb_selected_path preludedb_selected_path_t;
 </TYPEDEF>
-<USER_FUNCTION>
-<NAME>preludedb_plugin_sql_open_func_t</NAME>
-<RETURNS>int </RETURNS>
-preludedb_sql_settings_t *settings, void **session
-</USER_FUNCTION>
-<USER_FUNCTION>
-<NAME>preludedb_plugin_sql_close_func_t</NAME>
-<RETURNS>void </RETURNS>
-void *session
-</USER_FUNCTION>
-<USER_FUNCTION>
-<NAME>preludedb_plugin_sql_escape_func_t</NAME>
-<RETURNS>int </RETURNS>
-void *session, const char *input, size_t input_size, char **output
-</USER_FUNCTION>
-<USER_FUNCTION>
-<NAME>preludedb_plugin_sql_escape_binary_func_t</NAME>
-<RETURNS>int </RETURNS>
-void *session, const unsigned char *input, size_t input_size, char **output
-</USER_FUNCTION>
-<USER_FUNCTION>
-<NAME>preludedb_plugin_sql_unescape_binary_func_t</NAME>
-<RETURNS>int </RETURNS>
-void *session, const char *input, unsigned char **output, size_t *output_size
-</USER_FUNCTION>
-<USER_FUNCTION>
-<NAME>preludedb_plugin_sql_query_func_t</NAME>
-<RETURNS>int </RETURNS>
-void *session, const char *query, void **res
-</USER_FUNCTION>
-<USER_FUNCTION>
-<NAME>preludedb_plugin_sql_get_column_name_func_t</NAME>
-<RETURNS>const char *</RETURNS>
-void *session, void *resource, unsigned int column_num
-</USER_FUNCTION>
-<USER_FUNCTION>
-<NAME>preludedb_plugin_sql_get_column_num_func_t</NAME>
-<RETURNS>int </RETURNS>
-void *session, void *resource, const char *column_name
-</USER_FUNCTION>
-<USER_FUNCTION>
-<NAME>preludedb_plugin_sql_resource_destroy_func_t</NAME>
-<RETURNS>void </RETURNS>
-void *session, void *resource
-</USER_FUNCTION>
-<USER_FUNCTION>
-<NAME>preludedb_plugin_sql_fetch_row_func_t</NAME>
-<RETURNS>int </RETURNS>
-void *session, void *resource, void **row
-</USER_FUNCTION>
-<USER_FUNCTION>
-<NAME>preludedb_plugin_sql_fetch_field_func_t</NAME>
-<RETURNS>int </RETURNS>
-void *session, void *resource, void *row,
-                                                       unsigned int column_num, const char **value, size_t *len
-</USER_FUNCTION>
-<USER_FUNCTION>
-<NAME>preludedb_plugin_sql_build_time_constraint_string_func_t</NAME>
-<RETURNS>int </RETURNS>
-prelude_string_t *output, const char *field,
-                                                                        preludedb_sql_time_constraint_type_t type,
-                                                                        idmef_criterion_operator_t operator, int value, int gmt_offset
-</USER_FUNCTION>
-<USER_FUNCTION>
-<NAME>preludedb_plugin_sql_build_time_interval_string_func_t</NAME>
-<RETURNS>int </RETURNS>
-preludedb_sql_time_constraint_type_t type, int value,
-                                                                      char *buf, size_t size
-</USER_FUNCTION>
-<USER_FUNCTION>
-<NAME>preludedb_plugin_sql_build_limit_offset_string_func_t</NAME>
-<RETURNS>int </RETURNS>
-void *session, int limit, int offset, prelude_string_t *output
-</USER_FUNCTION>
-<USER_FUNCTION>
-<NAME>preludedb_plugin_sql_build_constraint_string_func_t</NAME>
-<RETURNS>int </RETURNS>
-prelude_string_t *out, const char *field,
-                                                                   idmef_criterion_operator_t operator, const char *value
-</USER_FUNCTION>
-<USER_FUNCTION>
-<NAME>preludedb_plugin_sql_get_operator_string_func_t</NAME>
-<RETURNS>const char *</RETURNS>
-idmef_criterion_operator_t operator
-</USER_FUNCTION>
-<USER_FUNCTION>
-<NAME>preludedb_plugin_sql_build_timestamp_string_func_t</NAME>
-<RETURNS>int </RETURNS>
-const struct tm *t, char *out, size_t size
-</USER_FUNCTION>
-<FUNCTION>
-<NAME>preludedb_plugin_sql_set_open_func</NAME>
-<RETURNS>void </RETURNS>
-preludedb_plugin_sql_t *plugin, preludedb_plugin_sql_open_func_t func
-</FUNCTION>
-<FUNCTION>
-<NAME>preludedb_plugin_sql_set_close_func</NAME>
-<RETURNS>void </RETURNS>
-preludedb_plugin_sql_t *plugin, preludedb_plugin_sql_close_func_t func
-</FUNCTION>
-<FUNCTION>
-<NAME>preludedb_plugin_sql_set_escape_func</NAME>
-<RETURNS>void </RETURNS>
-preludedb_plugin_sql_t *plugin, preludedb_plugin_sql_escape_func_t func
-</FUNCTION>
-<FUNCTION>
-<NAME>preludedb_plugin_sql_set_escape_binary_func</NAME>
-<RETURNS>void </RETURNS>
-preludedb_plugin_sql_t *plugin, preludedb_plugin_sql_escape_binary_func_t func
-</FUNCTION>
-<FUNCTION>
-<NAME>preludedb_plugin_sql_set_unescape_binary_func</NAME>
-<RETURNS>void </RETURNS>
-preludedb_plugin_sql_t *plugin, preludedb_plugin_sql_unescape_binary_func_t func
-</FUNCTION>
-<FUNCTION>
-<NAME>preludedb_plugin_sql_set_query_func</NAME>
-<RETURNS>void </RETURNS>
-preludedb_plugin_sql_t *plugin, preludedb_plugin_sql_query_func_t func
-</FUNCTION>
-<FUNCTION>
-<NAME>preludedb_plugin_sql_set_get_column_count_func</NAME>
-<RETURNS>void </RETURNS>
-preludedb_plugin_sql_t *plugin, preludedb_plugin_sql_get_column_count_func_t func
-</FUNCTION>
-<FUNCTION>
-<NAME>preludedb_plugin_sql_set_get_row_count_func</NAME>
-<RETURNS>void </RETURNS>
-preludedb_plugin_sql_t *plugin, preludedb_plugin_sql_get_row_count_func_t func
-</FUNCTION>
-<FUNCTION>
-<NAME>preludedb_plugin_sql_set_get_column_name_func</NAME>
-<RETURNS>void </RETURNS>
-preludedb_plugin_sql_t *plugin, preludedb_plugin_sql_get_column_name_func_t func
-</FUNCTION>
-<FUNCTION>
-<NAME>preludedb_plugin_sql_set_get_column_num_func</NAME>
-<RETURNS>void </RETURNS>
-preludedb_plugin_sql_t *plugin, preludedb_plugin_sql_get_column_num_func_t func
-</FUNCTION>
-<FUNCTION>
-<NAME>preludedb_plugin_sql_set_resource_destroy_func</NAME>
-<RETURNS>void </RETURNS>
-preludedb_plugin_sql_t *plugin, preludedb_plugin_sql_resource_destroy_func_t func
-</FUNCTION>
 <FUNCTION>
-<NAME>preludedb_plugin_sql_set_fetch_row_func</NAME>
-<RETURNS>void </RETURNS>
-preludedb_plugin_sql_t *plugin, preludedb_plugin_sql_fetch_row_func_t func
+<NAME>preludedb_selected_path_new</NAME>
+<RETURNS>int </RETURNS>
+preludedb_selected_path_t **selected_path,idmef_path_t *path, int flags
 </FUNCTION>
 <FUNCTION>
-<NAME>preludedb_plugin_sql_set_fetch_field_func</NAME>
-<RETURNS>void </RETURNS>
-preludedb_plugin_sql_t *plugin, preludedb_plugin_sql_fetch_field_func_t func
+<NAME>preludedb_selected_path_new_string</NAME>
+<RETURNS>int </RETURNS>
+preludedb_selected_path_t **selected_path, const char *str
 </FUNCTION>
 <FUNCTION>
-<NAME>preludedb_plugin_sql_set_build_time_constraint_string_func</NAME>
+<NAME>preludedb_selected_path_destroy</NAME>
 <RETURNS>void </RETURNS>
-preludedb_plugin_sql_t *plugin,preludedb_plugin_sql_build_time_constraint_string_func_t func
+preludedb_selected_path_t *selected_path
 </FUNCTION>
 <FUNCTION>
-<NAME>preludedb_plugin_sql_set_build_time_interval_string_func</NAME>
-<RETURNS>void </RETURNS>
-preludedb_plugin_sql_t *plugin,preludedb_plugin_sql_build_time_interval_string_func_t func
+<NAME>preludedb_selected_path_get_path</NAME>
+<RETURNS>idmef_path_t *</RETURNS>
+preludedb_selected_path_t *selected_path
 </FUNCTION>
 <FUNCTION>
-<NAME>preludedb_plugin_sql_set_build_limit_offset_string_func</NAME>
-<RETURNS>void </RETURNS>
-preludedb_plugin_sql_t *plugin,preludedb_plugin_sql_build_limit_offset_string_func_t func
+<NAME>preludedb_selected_path_get_flags</NAME>
+<RETURNS>preludedb_selected_path_flags_t </RETURNS>
+preludedb_selected_path_t *selected_path
 </FUNCTION>
 <FUNCTION>
-<NAME>preludedb_plugin_sql_set_build_constraint_string_func</NAME>
-<RETURNS>void </RETURNS>
-preludedb_plugin_sql_t *plugin,preludedb_plugin_sql_build_constraint_string_func_t func
+<NAME>preludedb_path_selection_new</NAME>
+<RETURNS>int </RETURNS>
+preludedb_path_selection_t **path_selection
 </FUNCTION>
 <FUNCTION>
-<NAME>preludedb_plugin_sql_set_get_operator_string_func</NAME>
+<NAME>preludedb_path_selection_destroy</NAME>
 <RETURNS>void </RETURNS>
-preludedb_plugin_sql_t *plugin,preludedb_plugin_sql_get_operator_string_func_t func
+preludedb_path_selection_t *path_selection
 </FUNCTION>
 <FUNCTION>
-<NAME>preludedb_plugin_sql_set_build_timestamp_string_func</NAME>
+<NAME>preludedb_path_selection_add</NAME>
 <RETURNS>void </RETURNS>
-preludedb_plugin_sql_t *plugin,preludedb_plugin_sql_build_timestamp_string_func_t func
+preludedb_path_selection_t *path_selection,preludedb_selected_path_t *selected_path
 </FUNCTION>
 <FUNCTION>
-<NAME>preludedb_plugin_sql_new</NAME>
-<RETURNS>int </RETURNS>
-preludedb_plugin_sql_t **plugin
+<NAME>preludedb_path_selection_get_next</NAME>
+<RETURNS>preludedb_selected_path_t *</RETURNS>
+preludedb_path_selection_t *path_selection,preludedb_selected_path_t *selected_path
 </FUNCTION>
-<MACRO>
-<NAME>LIBPRELUDEDB_VERSION</NAME>
-#define LIBPRELUDEDB_VERSION "0.9.15.1"
-</MACRO>
 <FUNCTION>
-<NAME>preludedb_check_version</NAME>
-<RETURNS>const char *</RETURNS>
-const char *req_version
+<NAME>preludedb_path_selection_get_count</NAME>
+<RETURNS>size_t </RETURNS>
+preludedb_path_selection_t *path_selection
 </FUNCTION>
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
_______________________________________________
Prelude-cvslog site list
[email protected]
http://lists.prelude-ids.org/mailman/listinfo/prelude-cvslog