![]() |
![]() |
![]() |
[Insert name here] Reference Manual | ![]() |
---|---|---|---|---|
typedef preludedb_t; typedef preludedb_result_idents_t; typedef preludedb_result_values_t; enum preludedb_result_idents_order_t; #define PRELUDEDB_ERRBUF_SIZE int preludedb_init (void); void preludedb_deinit (void); int preludedb_new (preludedb_t **db, preludedb_sql_t *sql, const char *format_name, char *errbuf, size_t size); void preludedb_destroy (preludedb_t *db); const char* preludedb_get_format_name (preludedb_t *db); const char* preludedb_get_format_version (preludedb_t *db); int preludedb_set_format (preludedb_t *db, const char *format_name); preludedb_sql_t* preludedb_get_sql (preludedb_t *db); void preludedb_result_idents_destroy (preludedb_result_idents_t *result); int preludedb_result_idents_get_next (preludedb_result_idents_t *result, uint64_t *ident); void preludedb_result_values_destroy (preludedb_result_values_t *result); int preludedb_result_values_get_next (preludedb_result_values_t *result, idmef_value_t ***values); char* preludedb_get_error (preludedb_t *db, preludedb_error_t error, char *errbuf, size_t size); int preludedb_insert_message (preludedb_t *db, idmef_message_t *message); int preludedb_get_alert_idents (preludedb_t *db, idmef_criteria_t *criteria, int limit, int offset, preludedb_result_idents_order_t order, preludedb_result_idents_t **result); int preludedb_get_heartbeat_idents (preludedb_t *db, idmef_criteria_t *criteria, int limit, int offset, preludedb_result_idents_order_t order, preludedb_result_idents_t **result); int preludedb_get_alert (preludedb_t *db, uint64_t ident, idmef_message_t **message); int preludedb_get_heartbeat (preludedb_t *db, uint64_t ident, idmef_message_t **message); int preludedb_delete_alert (preludedb_t *db, uint64_t ident); int preludedb_delete_heartbeat (preludedb_t *db, uint64_t ident); ssize_t preludedb_delete_alert_from_list (preludedb_t *db, uint64_t *idents, size_t size); ssize_t preludedb_delete_alert_from_result_idents (preludedb_t *db, preludedb_result_idents_t *result); ssize_t preludedb_delete_heartbeat_from_list (preludedb_t *db, uint64_t *idents, size_t size); ssize_t preludedb_delete_heartbeat_from_result_idents (preludedb_t *db, preludedb_result_idents_t *result); int preludedb_get_values (preludedb_t *db, preludedb_path_selection_t *path_selection, idmef_criteria_t *criteria, prelude_bool_t distinct, int limit, int offset, preludedb_result_values_t **result); int preludedb_transaction_abort (preludedb_t *db); int preludedb_transaction_end (preludedb_t *db); int preludedb_transaction_start (preludedb_t *db);
typedef enum { PRELUDEDB_RESULT_IDENTS_ORDER_BY_NONE = 0, PRELUDEDB_RESULT_IDENTS_ORDER_BY_CREATE_TIME_DESC = 1, PRELUDEDB_RESULT_IDENTS_ORDER_BY_CREATE_TIME_ASC = 2 } preludedb_result_idents_order_t;
int preludedb_new (preludedb_t **db, preludedb_sql_t *sql, const char *format_name, char *errbuf, size_t size);
This function initialize the db object and detect the format of the underlying database if no format name is given.
db : | Pointer to a db object to initialize. |
sql : | Pointer to a sql object. |
format_name : | Format name of the underlying database, if NULL the format will be automatically detected |
errbuf : | Buffer that will be set to an error message if an error occur. |
size : | size of errbuf. |
Returns : | 0 on success or a negative value if an error occur. |
void preludedb_destroy (preludedb_t *db);
Destroy db object and the underlying sql object given as argument to preludedb_new.
db : | Pointer to a db object. |
const char* preludedb_get_format_name (preludedb_t *db);
db : | Pointer to a db object. |
Returns : | the format name currently used by the db object. |
const char* preludedb_get_format_version (preludedb_t *db);
db : | Pointer to a db object. |
Returns : | the format version currently used by the db object. |
int preludedb_set_format (preludedb_t *db, const char *format_name);
Change the current format plugin.
db : | Pointer to a db object. |
format_name : | New format to use. |
Returns : | 0 on success or negative value if an error occur. |
preludedb_sql_t* preludedb_get_sql (preludedb_t *db);
db : | Pointer to a db object. |
Returns : | a pointer to the underlying sql object. |
void preludedb_result_idents_destroy (preludedb_result_idents_t *result);
Destroy the result object.
result : | Pointer to an idents result object. |
int preludedb_result_idents_get_next (preludedb_result_idents_t *result, uint64_t *ident);
Retrieve the next ident from the idents result object.
result : | Pointer to an idents result object. |
ident : | Pointer to an ident where the next ident will be stored. |
Returns : | 1 if an ident is available, 0 if there is no more idents available or a negative value if an error occur. |
void preludedb_result_values_destroy (preludedb_result_values_t *result);
Destroy the result object.
result : | Pointer to a result values object. |
int preludedb_result_values_get_next (preludedb_result_values_t *result, idmef_value_t ***values);
Retrieve the next values row from the values result object.
result : | Pointer to a values result object. |
values : | Pointer to a values array where the next row of values will be stored. |
Returns : | the number of returned values, 0 if there are no values or a negative value if an error occur. |
char* preludedb_get_error (preludedb_t *db, preludedb_error_t error, char *errbuf, size_t size);
Build an error message from the error code given as argument and from the sql plugin error string (if any) if the error code is db related.
db : | Pointer to a db object. |
error : | Error code to build the error string from. |
errbuf : | Buffer where the error message will be stored, |
size : | size of this buffer must be PRELUDEDB_ERRBUF_SIZE. |
Returns : | a pointer to the error string or NULL if an error occured. |
int preludedb_insert_message (preludedb_t *db, idmef_message_t *message);
Insert an IDMEF message into the database.
db : | Pointer to a db object. |
message : | Pointer to an IDMEF message. |
Returns : | 0 on success, or a negative value if an error occur. |
int preludedb_get_alert_idents (preludedb_t *db, idmef_criteria_t *criteria, int limit, int offset, preludedb_result_idents_order_t order, preludedb_result_idents_t **result);
db : | Pointer to a db object. |
criteria : | Pointer to an idmef criteria. |
limit : | Limit of results or -1 if no limit. |
offset : | Offset in results or -1 if no offset. |
order : | Result order. |
result : | Idents result. |
Returns : | 1 if there are any results, 0 if there is no result, or negative value if an error occur. |
int preludedb_get_heartbeat_idents (preludedb_t *db, idmef_criteria_t *criteria, int limit, int offset, preludedb_result_idents_order_t order, preludedb_result_idents_t **result);
db : | Pointer to a db object. |
criteria : | Pointer to an idmef criteria. |
limit : | Limit of results or -1 if no limit. |
offset : | Offset in results or -1 if no offset. |
order : | Result order. |
result : | Idents result. |
Returns : | 1 if there are any results, 0 if there is no result , or negative value if an error occur. |
int preludedb_get_alert (preludedb_t *db, uint64_t ident, idmef_message_t **message);
db : | Pointer to a db object. |
ident : | Internal database ident of the alert. |
message : | Pointer to an idmef message object where the retrieved message will be stored. |
Returns : | 0 on success or a negative value if an error occur. |
int preludedb_get_heartbeat (preludedb_t *db, uint64_t ident, idmef_message_t **message);
db : | Pointer to a db object. |
ident : | Internal database ident of the heartbeat. |
message : | Pointer to an idmef message object where the retrieved message will be stored. |
Returns : | 0 on success or a negative value if an error occur. |
int preludedb_delete_alert (preludedb_t *db, uint64_t ident);
Delete an alert.
db : | Pointer to a db object. |
ident : | Internal database ident of the alert. |
Returns : | 0 on success, or a negative value if an error occur. |
int preludedb_delete_heartbeat (preludedb_t *db, uint64_t ident);
Delete an heartbeat.
db : | Pointer to a db object. |
ident : | Internal database ident of the heartbeat. |
Returns : | 0 on success, or a negative value if an error occur. |
ssize_t preludedb_delete_alert_from_list (preludedb_t *db, uint64_t *idents, size_t size);
Delete all alerts from ident stored within idents.
db : | Pointer to a db object. |
idents : | Pointer to an array of idents. |
size : | Size of idents. |
Returns : | the number of alert deleted on success, or a negative value if an error occur. |
ssize_t preludedb_delete_alert_from_result_idents (preludedb_t *db, preludedb_result_idents_t *result);
Delete all alert from ident stored within result.
db : | Pointer to a db object. |
result : | Pointer to an idents result object. |
Returns : | the number of alert deleted on success, or a negative value if an error occur. |
ssize_t preludedb_delete_heartbeat_from_list (preludedb_t *db, uint64_t *idents, size_t size);
Delete all heartbeat from ident stored within idents.
db : | Pointer to a db object. |
idents : | Pointer to an array of idents. |
size : | Size of idents. |
Returns : | the number of heartbeat deleted on success, or a negative value if an error occur. |
ssize_t preludedb_delete_heartbeat_from_result_idents (preludedb_t *db, preludedb_result_idents_t *result);
Delete all heartbeat from ident stored within result.
db : | Pointer to a db object. |
result : | Pointer to an idents result object. |
Returns : | the number of heartbeat deleted on success, or a negative value if an error occur. |
int preludedb_get_values (preludedb_t *db, preludedb_path_selection_t *path_selection, idmef_criteria_t *criteria, prelude_bool_t distinct, int limit, int offset, preludedb_result_values_t **result);
db : | Pointer to a db object. |
path_selection : | Pointer to a path selection. |
criteria : | Pointer to a criteria object. |
distinct : | Get distinct or not distinct result rows. |
limit : | Limit of results or -1 if no limit. |
offset : | Offset in results or -1 if no offset. |
result : | Values result. |
Returns : | the number of result or a negative value if an error occured. |
int preludedb_transaction_abort (preludedb_t *db);
Abort a sql transaction (SQL ROLLBACK command) initiated with preludedb_transaction_start(). Internal transaction handling will be enabled again once this function return.
db : | Pointer to a preludedb_t object. |
Returns : | 0 on success or a negative value if an error occur. |
int preludedb_transaction_end (preludedb_t *db);
Terminate a sql transaction (SQL COMMIT command) initiated with preludedb_transaction_start(). Internal transaction handling will be enabled again once this function return.
db : | Pointer to a preludedb_t object. |
Returns : | 0 on success or a negative value if an error occur. |
int preludedb_transaction_start (preludedb_t *db);
Begin a transaction using db object. Internal transaction handling will be disabled until preludedb_transaction_end() or preludedb_transaction_abort() is called.
db : | Pointer to a preludedb_t object. |
Returns : | 0 on success or a negative value if an error occur. |