49#define CONFIG "cel_sqlite3_custom.conf"
51#define CUSTOM_BACKEND_NAME "CEL sqlite3 custom backend"
60#define CDREL_RECORD_TYPE cdrel_record_cel
61#define CDREL_BACKEND_TYPE cdrel_backend_db
110 .
requires =
"cel,res_cdrel_custom",
Asterisk main include file. File version handling, generic pbx functions.
static void custom_log(struct ast_event *event)
#define CDREL_RECORD_TYPE
static struct cdrel_configs * configs
static enum ast_module_load_result load_module(void)
#define CDREL_BACKEND_TYPE
static ast_rwlock_t configs_lock
static int unload_module(void)
#define CUSTOM_BACKEND_NAME
#define ast_rwlock_wrlock(a)
#define ast_rwlock_rdlock(a)
#define ast_rwlock_init(rwlock)
wrapper for rwlock with tracking enabled
#define ast_rwlock_destroy(rwlock)
#define ast_rwlock_unlock(a)
Asterisk module definitions.
#define AST_MODULE_INFO(keystr, flags_to_set, desc, fields...)
@ AST_MODULE_SUPPORT_EXTENDED
#define ASTERISK_GPL_KEY
The text the key() function should return.
@ AST_MODULE_LOAD_SUCCESS
@ AST_MODULE_LOAD_DECLINE
Module has failed to load, may be in an inconsistent state.
Protected header for the CDR and CEL Custom Backends.
int cdrel_logger(struct cdrel_configs *configs, void *data)
Log a record. The module's logging_cb must call this.
int cdrel_reload_module(enum cdrel_backend_type backend_type, enum cdrel_record_type record_type, struct cdrel_configs **configs, const char *config_filename)
Perform module reload.
int cdrel_unload_module(enum cdrel_backend_type backend_type, enum cdrel_record_type record_type, struct cdrel_configs *configs, const char *backend_name)
Perform module unload.
struct cdrel_configs * cdrel_load_module(enum cdrel_backend_type backend_type, enum cdrel_record_type record_type, const char *config_filename, const char *backend_name, void *logging_cb)
Perform initial module load.
Structure for rwlock and tracking information.