1 /* Copyright (C) 2009 Trend Micro Inc.
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
10 /* Common API for dealing with databases */
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);
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);
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);
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);
39 /* Escape strings before inserting */
40 void osdb_escapestr(char *str);
42 /* Allowed characters */
44 * Available chars: a-z, A-Z, 0-9, -, _, ., %, $, @, (, ), +, *, <space> /
45 * Basically: 040-046 (oct)
48 extern const unsigned char insert_map[256];
50 #endif /* _OS_DBOP_H */