Asterisk - The Open Source Telephony Project  21.4.1
Data Structures | Macros | Functions | Variables
cel_sqlite3_custom.c File Reference

Custom SQLite3 CEL records. More...

#include "asterisk.h"
#include <sqlite3.h>
#include "asterisk/paths.h"
#include "asterisk/channel.h"
#include "asterisk/cel.h"
#include "asterisk/module.h"
#include "asterisk/config.h"
#include "asterisk/pbx.h"
#include "asterisk/logger.h"
#include "asterisk/utils.h"
#include "asterisk/cli.h"
#include "asterisk/options.h"
#include "asterisk/stringfields.h"

Go to the source code of this file.

Data Structures

struct  sql_values
 
struct  values
 

Macros

#define SQLITE_BACKEND_NAME   "CEL sqlite3 custom backend"
 

Functions

static void __reg_module (void)
 
static void __unreg_module (void)
 
struct ast_moduleAST_MODULE_SELF_SYM (void)
 
static void free_config (void)
 
static int load_column_config (const char *tmp)
 
static int load_config (int reload)
 
static int load_module (void)
 
static int load_values_config (const char *tmp)
 
static int reload (void)
 
static int unload_module (void)
 
static void write_cel (struct ast_event *event)
 

Variables

static struct ast_module_info __mod_info = { .name = AST_MODULE, .flags = AST_MODFLAG_LOAD_ORDER , .description = "SQLite3 Custom CEL Module" , .key = "This paragraph is copyright (c) 2006 by Digium, Inc. \In order for your module to load, it must return this \key via a function called \"key\". Any code which \includes this paragraph must be licensed under the GNU \General Public License version 2 or later (at your \option). In addition to Digium's general reservations \of rights, Digium expressly reserves the right to \allow other parties to license this paragraph under \different terms. Any use of Digium, Inc. trademarks or \logos (including \"Asterisk\" or \"Digium\") without \express written permission of Digium, Inc. is prohibited.\n" , .buildopt_sum = "da6642af068ee5e6490c5b1d2cc1d238" , .support_level = AST_MODULE_SUPPORT_EXTENDED, .load = load_module, .unload = unload_module, .reload = reload, .load_pri = AST_MODPRI_CDR_DRIVER, .requires = "cel", }
 
static const struct ast_module_infoast_module_info = &__mod_info
 
static int busy_timeout
 
static char * columns
 
static const char config_file [] = "cel_sqlite3_custom.conf"
 
static sqlite3 * db = NULL
 
static ast_mutex_t lock = { PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP , NULL, {1, 0} }
 
static struct sql_values sql_values = { .first = NULL, .last = NULL, .lock = { PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP , NULL, {1, 0} } , }
 
static char table [80]
 

Detailed Description

Custom SQLite3 CEL records.

Author
Adapted by Steve Murphy murf@.nosp@m.digi.nosp@m.um.co.nosp@m.m from Alejandro Rios aleja.nosp@m.ndro.nosp@m..rios.nosp@m.@ava.nosp@m.tar.c.nosp@m.om.c.nosp@m.o and Russell Bryant russe.nosp@m.ll@d.nosp@m.igium.nosp@m..com from cdr_mysql_custom by Edward Eastman ed@dm.nosp@m.3.co.nosp@m..uk, and cdr_sqlite by Holger Schurig hs423.nosp@m.3@ma.nosp@m.il.mn.nosp@m.-sol.nosp@m.ution.nosp@m.s.de

Definition in file cel_sqlite3_custom.c.

Variable Documentation

char* columns
static
Bug:
Handling of this var is crash prone on reloads

Definition at line 65 of file cel_sqlite3_custom.c.

Referenced by realtime_sqlite3_require().