new upstream release (3.3.0); modify package compatibility for Stretch
[ossec-hids.git] / src / os_dbd / db_op.h
1 /* Copyright (C) 2009 Trend Micro Inc.
2  * All rights reserved.
3  *
4  * This program is a free software; you can redistribute it
5  * and/or modify it under the terms of the GNU General Public
6  * License (version 2) as published by the FSF - Free Software
7  * Foundation.
8  */
9
10 /* Common API for dealing with databases */
11
12 #ifndef _OS_DBOP_H
13 #define _OS_DBOP_H
14
15 /* Connect to the database */
16 extern void *(*osdb_connect)(const char *host, const char *user, const char *pass, const char *db, unsigned int port, const char *sock);
17 void *mysql_osdb_connect(const char *host, const char *user, const char *pass, const char *db, unsigned int port, const char *sock);
18 void *postgresql_osdb_connect(const char *host, const char *user, const char *pass, const char *db, unsigned int port, const char *sock);
19 void *none_osdb_connect(const char *host, const char *user, const char *pass, const char *db, unsigned int port, const char *sock);
20
21 /* Send insert query to the database */
22 extern int (* osdb_query_insert)(void *db_conn, const char *query);
23 int mysql_osdb_query_insert(void *db_conn, const char *query);
24 int postgresql_osdb_query_insert(void *db_conn, const char *query);
25 int none_osdb_query_insert(void *db_conn, const char *query);
26
27 /* Send select query to the database */
28 extern int (* osdb_query_select)(void *db_conn, const char *query);
29 int mysql_osdb_query_select(void *db_conn, const char *query);
30 int postgresql_osdb_query_select(void *db_conn, const char *query);
31 int none_osdb_query_select(void *db_conn, const char *query);
32
33 /* Close connection to the database */
34 extern void *(*osdb_close)(void *db_conn);
35 void *mysql_osdb_close(void *db_conn);
36 void *postgresql_osdb_close(void *db_conn);
37 void *none_osdb_close(void *db_conn);
38
39 /* Escape strings before inserting */
40 void osdb_escapestr(char *str);
41
42 /* Allowed characters */
43 /* Insert charmap.
44  * Available chars: a-z, A-Z, 0-9, -, _, ., %, $, @, (, ), +, *, <space> /
45  * Basically: 040-046 (oct)
46  *            050-176 (oct)
47  */
48 extern const unsigned char insert_map[256];
49
50 #endif /* _OS_DBOP_H */
51