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

Realtime PBX Module. More...

#include "asterisk.h"
#include <signal.h>
#include "asterisk/file.h"
#include "asterisk/logger.h"
#include "asterisk/channel.h"
#include "asterisk/config.h"
#include "asterisk/pbx.h"
#include "asterisk/module.h"
#include "asterisk/frame.h"
#include "asterisk/term.h"
#include "asterisk/manager.h"
#include "asterisk/cli.h"
#include "asterisk/lock.h"
#include "asterisk/linkedlists.h"
#include "asterisk/chanvars.h"
#include "asterisk/sched.h"
#include "asterisk/io.h"
#include "asterisk/utils.h"
#include "asterisk/astdb.h"
#include "asterisk/app.h"
#include "asterisk/astobj2.h"
#include "asterisk/stasis_channels.h"

Go to the source code of this file.

Data Structures

struct  cache_entry
 

Macros

#define EXT_DATA_SIZE   256
 
#define MODE_CANMATCH   2
 
#define MODE_MATCH   0
 
#define MODE_MATCHMORE   1
 

Enumerations

enum  option_flags { OPTION_CHEAT = (1 << 0), OPTION_NUMGAMES = (1 << 1), OPTION_PATTERNS_DISABLED = (1 << 0) }
 

Functions

 AST_MODULE_INFO_STANDARD_EXTENDED (ASTERISK_GPL_KEY,"Realtime Switch")
 
static int cache_cmp (void *obj, void *arg, int flags)
 
static int cache_hash (const void *obj, const int flags)
 
static void * cleanup (void *unused)
 
static struct ast_variabledup_vars (struct ast_variable *v)
 
static int extension_length_comparator (struct ast_category *p, struct ast_category *q)
 
static void free_entry (void *obj)
 
static int load_module (void)
 
static int purge_old_fn (void *obj, void *arg, int flags)
 
static int realtime_canmatch (struct ast_channel *chan, const char *context, const char *exten, int priority, const char *callerid, const char *data)
 
static struct ast_variablerealtime_common (const char *context, const char *exten, int priority, const char *data, int mode)
 
static int realtime_exec (struct ast_channel *chan, const char *context, const char *exten, int priority, const char *callerid, const char *data)
 
static int realtime_exists (struct ast_channel *chan, const char *context, const char *exten, int priority, const char *callerid, const char *data)
 
static int realtime_matchmore (struct ast_channel *chan, const char *context, const char *exten, int priority, const char *callerid, const char *data)
 
static struct ast_variablerealtime_switch_common (const char *table, const char *context, const char *exten, int priority, int mode, struct ast_flags flags)
 
static int unload_module (void)
 

Variables

struct ao2_containercache
 
pthread_t cleanup_thread = 0
 
static struct ast_switch realtime_switch
 
static const struct ast_app_option switch_opts [128] = { [ 'p' ] = { .flag = OPTION_PATTERNS_DISABLED }, }
 

Detailed Description

Realtime PBX Module.

Definition in file pbx_realtime.c.