| Asterisk - The Open Source Telephony Project GIT-master-27fb039
    | 
ODBC CEL backend. More...
#include "asterisk.h"#include <sys/types.h>#include <time.h>#include <math.h>#include <sql.h>#include <sqlext.h>#include <sqltypes.h>#include "asterisk/config.h"#include "asterisk/channel.h"#include "asterisk/lock.h"#include "asterisk/linkedlists.h"#include "asterisk/res_odbc.h"#include "asterisk/cel.h"#include "asterisk/module.h"
Go to the source code of this file.
| Data Structures | |
| struct | columns | 
| struct | tables::odbc_columns | 
| struct | odbc_tables | 
| struct | tables | 
| Macros | |
| #define | CEL_SHOW_USERDEF_DEFAULT 0 | 
| show_user_def is off by default | |
| #define | CONFIG "cel_odbc.conf" | 
| #define | LENGTHEN_BUF(size, var_sql) | 
| #define | LENGTHEN_BUF1(size) LENGTHEN_BUF(size, sql); | 
| #define | LENGTHEN_BUF2(size) LENGTHEN_BUF(size, sql2); | 
| #define | ODBC_BACKEND_NAME "ODBC CEL backend" | 
| Functions | |
| static void | __reg_module (void) | 
| static void | __unreg_module (void) | 
| struct ast_module * | AST_MODULE_SELF_SYM (void) | 
| static int | free_config (void) | 
| static SQLHSTMT | generic_prepare (struct odbc_obj *obj, void *data) | 
| static int | load_config (void) | 
| static int | load_module (void) | 
| static void | odbc_log (struct ast_event *event) | 
| static int | reload (void) | 
| static int | unload_module (void) | 
| Variables | |
| static struct ast_module_info | __mod_info = { .name = AST_MODULE, .flags = AST_MODFLAG_LOAD_ORDER , .description = "ODBC CEL backend" , .key = ASTERISK_GPL_KEY , .buildopt_sum = AST_BUILDOPT_SUM, .support_level = AST_MODULE_SUPPORT_CORE, .load = load_module, .unload = unload_module, .reload = reload, .load_pri = AST_MODPRI_CDR_DRIVER, .requires = "cel,res_odbc", } | 
| static const struct ast_module_info * | ast_module_info = &__mod_info | 
| static unsigned char | cel_show_user_def | 
| static int | maxsize = 512 | 
| static int | maxsize2 = 512 | 
| static struct odbc_tables | odbc_tables = AST_RWLIST_HEAD_INIT_VALUE | 
ODBC CEL backend.
Definition in file cel_odbc.c.
| #define CEL_SHOW_USERDEF_DEFAULT 0 | 
show_user_def is off by default
Definition at line 58 of file cel_odbc.c.
| #define CONFIG "cel_odbc.conf" | 
Definition at line 53 of file cel_odbc.c.
| #define LENGTHEN_BUF | ( | size, | |
| var_sql | |||
| ) | 
Definition at line 345 of file cel_odbc.c.
| #define LENGTHEN_BUF1 | ( | size | ) | LENGTHEN_BUF(size, sql); | 
Definition at line 359 of file cel_odbc.c.
| #define LENGTHEN_BUF2 | ( | size | ) | LENGTHEN_BUF(size, sql2); | 
Definition at line 362 of file cel_odbc.c.
| #define ODBC_BACKEND_NAME "ODBC CEL backend" | 
Definition at line 55 of file cel_odbc.c.
| 
 | static | 
Definition at line 861 of file cel_odbc.c.
| 
 | static | 
Definition at line 861 of file cel_odbc.c.
| struct ast_module * AST_MODULE_SELF_SYM | ( | void | ) | 
Definition at line 861 of file cel_odbc.c.
| 
 | static | 
Definition at line 298 of file cel_odbc.c.
References ast_free, AST_LIST_REMOVE_HEAD, AST_RWLIST_REMOVE_HEAD, tables::columns, columns::list, and tables::table.
Referenced by load_module(), reload(), and unload_module().
| 
 | static | 
Definition at line 311 of file cel_odbc.c.
References ast_log, ast_odbc_prepare(), odbc_obj::con, LOG_WARNING, and NULL.
Referenced by odbc_log().
| 
 | static | 
Definition at line 91 of file cel_odbc.c.
References tables::allowleapsec, ast_calloc, ast_category_browse(), ast_config_destroy(), ast_config_load, ast_copy_string(), ast_free, AST_LIST_FIRST, AST_LIST_INSERT_TAIL, ast_log, ast_odbc_release_obj(), ast_odbc_request_obj, AST_RWLIST_INSERT_TAIL, ast_strdupa, ast_strip(), ast_strlen_zero(), ast_true(), ast_variable_browse(), ast_variable_retrieve(), ast_verb, cel_show_user_def, CEL_SHOW_USERDEF_DEFAULT, columns::celname, tables::columns, odbc_obj::con, CONFIG, CONFIG_STATUS_FILEINVALID, tables::connection, columns::decimals, columns::filtervalue, item, LOG_ERROR, LOG_NOTICE, LOG_WARNING, columns::name, ast_variable::next, NULL, columns::nullable, columns::octetlen, columns::radix, columns::size, columns::staticvalue, tables::table, columns::type, tables::usegmtime, and var.
Referenced by load_module(), and reload().
| 
 | static | 
Definition at line 823 of file cel_odbc.c.
References ast_cel_backend_register(), ast_log, AST_MODULE_LOAD_DECLINE, AST_MODULE_LOAD_SUCCESS, AST_RWLIST_HEAD_INIT, AST_RWLIST_UNLOCK, AST_RWLIST_WRLOCK, free_config(), load_config(), LOG_ERROR, ODBC_BACKEND_NAME, and odbc_log().
| 
 | static | 
Definition at line 365 of file cel_odbc.c.
References ast_cel_event_record::account_code, tables::allowleapsec, ast_cel_event_record::amaflag, ast_cel_event_record::application_data, ast_cel_event_record::application_name, AST_CEL_EVENT_RECORD_VERSION, ast_cel_fill_record(), AST_CEL_USER_DEFINED, ast_copy_string(), ast_debug, ast_free, AST_LIST_TRAVERSE, ast_localtime(), ast_log, ast_odbc_backslash_is_escape(), ast_odbc_prepare_and_execute(), ast_odbc_release_obj(), ast_odbc_request_obj, AST_RWLIST_RDLOCK, AST_RWLIST_UNLOCK, ast_str_append(), ast_str_buffer(), ast_str_create, ast_str_set(), ast_str_strlen(), ast_strdupa, ast_strftime(), ast_strlen_zero(), ast_verb, ast_cel_event_record::caller_id_ani, ast_cel_event_record::caller_id_dnid, ast_cel_event_record::caller_id_name, ast_cel_event_record::caller_id_num, ast_cel_event_record::caller_id_rdnis, cel_show_user_def, columns::celname, ast_cel_event_record::channel_name, tables::columns, tables::connection, ast_cel_event_record::context, columns::decimals, ast_cel_event_record::event_name, ast_cel_event_record::event_time, ast_cel_event_record::event_type, ast_cel_event_record::extension, ast_cel_event_record::extra, columns::filtervalue, generic_prepare(), LENGTHEN_BUF1, LENGTHEN_BUF2, ast_cel_event_record::linked_id, LOG_ERROR, LOG_WARNING, maxsize, maxsize2, columns::name, NULL, columns::octetlen, ast_cel_event_record::peer, ast_cel_event_record::peer_account, columns::radix, columns::staticvalue, tables::table, ast_tm::tm_hour, ast_tm::tm_mday, ast_tm::tm_min, ast_tm::tm_mon, ast_tm::tm_sec, ast_tm::tm_usec, ast_tm::tm_year, columns::type, ast_cel_event_record::unique_id, unknown, tables::usegmtime, ast_cel_event_record::user_defined_name, ast_cel_event_record::user_field, and ast_cel_event_record::version.
Referenced by load_module().
| 
 | static | 
Definition at line 841 of file cel_odbc.c.
References ast_log, AST_MODULE_LOAD_DECLINE, AST_MODULE_LOAD_SUCCESS, AST_RWLIST_UNLOCK, AST_RWLIST_WRLOCK, free_config(), load_config(), and LOG_ERROR.
| 
 | static | 
Definition at line 808 of file cel_odbc.c.
References ast_cel_backend_unregister(), ast_log, AST_RWLIST_HEAD_DESTROY, AST_RWLIST_UNLOCK, AST_RWLIST_WRLOCK, free_config(), LOG_ERROR, and ODBC_BACKEND_NAME.
| 
 | static | 
Definition at line 861 of file cel_odbc.c.
| 
 | static | 
Definition at line 861 of file cel_odbc.c.
| 
 | static | 
TRUE if we should set the eventtype field to USER_DEFINED on user events.
Definition at line 61 of file cel_odbc.c.
Referenced by load_config(), and odbc_log().
| 
 | static | 
Definition at line 64 of file cel_odbc.c.
Referenced by odbc_log().
| 
 | static | 
Definition at line 64 of file cel_odbc.c.
Referenced by odbc_log().
| 
 | static |