/*! * \file * \ingroup db * \brief Database support for modules. * * Database support functions for modules. * * @cond * WARNING: * This file was autogenerated from the XML source file * ../../modules/matrix/kamailio-matrix.xml. * It can be regenerated by running 'make modules' in the db/schema * directory of the source code. You need to have xsltproc and * docbook-xsl stylesheets installed. * ALL CHANGES DONE HERE WILL BE LOST IF THE FILE IS REGENERATED * @endcond */ #ifndef db_matrix_h #define db_matrix_h /* necessary includes */ #include "../../lib/srdb1/db.h" #include "../../str.h" #include "../../ut.h" #include /* database variables */ extern str matrix_db_url; extern db1_con_t * matrix_dbh; extern db_func_t matrix_dbf; #define matrix_DB_URL { "db_url", STR_PARAM, &matrix_db_url.s }, #define matrix_DB_TABLE { "matrix_table", STR_PARAM, &matrix_table.s }, extern str matrix_table; /* column names */ extern str matrix_first_col; extern str matrix_second_col; extern str matrix_res_col; #define matrix_DB_COLS \ { "matrix_first_col", STR_PARAM, &matrix_first_col.s }, \ { "matrix_second_col", STR_PARAM, &matrix_second_col.s }, \ { "matrix_res_col", STR_PARAM, &matrix_res_col.s }, \ /* table version */ extern const unsigned int matrix_version; /* * Closes the DB connection. */ void matrix_db_close(void); /*! * Initialises the DB API, check the table version and closes the connection. * This should be called from the mod_init function. * * \return 0 means ok, -1 means an error occured. */ int matrix_db_init(void); /*! * Initialize the DB connection without checking the table version and DB URL. * This should be called from child_init. An already existing database * connection will be closed, and a new one created. * * \return 0 means ok, -1 means an error occured. */ int matrix_db_open(void); /*! * Update the variable length after eventual assignments from the config script. * This is necessary because we're using the 'str' type. */ void matrix_db_vars(void); #endif