db-sql.h revision 48010d123abfac8cb19f33f1fe12f33a7090089e
45312f52ff3a3d4c137447be4c7556500c2f8bf2Timo Sirainen#ifndef DB_SQL_H
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen#define DB_SQL_H
08d6658a4e2ec8104cd1307f6baa75fdb07a24f8Mark Washenberger
d5abbb932a0a598f002da39a8b3326643b1b5efcTimo Sirainen#include "sql-api.h"
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainenstruct sql_settings {
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen const char *driver;
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen const char *connect;
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen const char *password_query;
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen const char *user_query;
35136dd2baf8dc30e4e754294ed81ff48e8c1e64Timo Sirainen const char *update_query;
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen const char *iterate_query;
e4d34f2fbee451219599d71505594df704093ce3Timo Sirainen const char *default_pass_scheme;
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen};
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainenstruct sql_connection {
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen struct sql_connection *next;
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen
b321df9603081896b70ec44635af96d674a9839aTimo Sirainen pool_t pool;
b321df9603081896b70ec44635af96d674a9839aTimo Sirainen int refcount;
b321df9603081896b70ec44635af96d674a9839aTimo Sirainen
b321df9603081896b70ec44635af96d674a9839aTimo Sirainen char *config_path;
b321df9603081896b70ec44635af96d674a9839aTimo Sirainen struct sql_settings set;
e4d34f2fbee451219599d71505594df704093ce3Timo Sirainen struct sql_db *db;
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen unsigned int default_password_query:1;
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen unsigned int default_user_query:1;
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen unsigned int default_update_query:1;
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen unsigned int default_iterate_query:1;
35136dd2baf8dc30e4e754294ed81ff48e8c1e64Timo Sirainen};
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainenstruct sql_connection *db_sql_init(const char *config_path);
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainenvoid db_sql_unref(struct sql_connection **conn);
e4d34f2fbee451219599d71505594df704093ce3Timo Sirainen
e4d34f2fbee451219599d71505594df704093ce3Timo Sirainen#endif
c02a056b724abd6578fb8c4e439de0e94eaea6feTimo Sirainen