Mon Oct 8 12:39:20 2012

Asterisk developer's documentation


chanvars.h File Reference

Channel Variables. More...

#include "asterisk/linkedlists.h"

Go to the source code of this file.

Data Structures

struct  ast_var_t
struct  varshead

Functions

ast_var_tast_var_assign (const char *name, const char *value)
void ast_var_delete (struct ast_var_t *var)
const char * ast_var_full_name (const struct ast_var_t *var)
const char * ast_var_name (const struct ast_var_t *var)
const char * ast_var_value (const struct ast_var_t *var)


Detailed Description

Channel Variables.

Definition in file chanvars.h.


Function Documentation

struct ast_var_t* ast_var_assign ( const char *  name,
const char *  value 
)

Definition at line 41 of file chanvars.c.

References __ast_calloc(), ast_calloc, ast_copy_string(), and var.

Referenced by acf_iaxvar_write(), add_user_extension(), ast_cdr_copy_vars(), ast_cdr_setvar(), ast_cel_fabricate_channel_from_event(), ast_channel_inherit_variables(), ast_iax2_new(), authenticate_reply(), build_extension(), build_profile(), clone_variables(), dundi_lookup_local(), frame_set_var(), iax2_dup_variable_datastore(), loopback_subst(), pbx_builtin_pushvar_helper(), pbx_builtin_setvar_helper(), phoneprov_callback(), set_config(), set_timezone_variables(), shared_write(), and socket_process().

00043 {  
00044    struct ast_var_t *var;
00045    int name_len = strlen(name) + 1;
00046    int value_len = strlen(value) + 1;
00047 
00048 #ifdef MALLOC_DEBUG
00049    if (!(var = __ast_calloc(sizeof(*var) + name_len + value_len, sizeof(char), file, lineno, function))) {
00050 #else
00051    if (!(var = ast_calloc(sizeof(*var) + name_len + value_len, sizeof(char)))) {
00052 #endif
00053       return NULL;
00054    }
00055 
00056    ast_copy_string(var->name, name, name_len);
00057    var->value = var->name + name_len;
00058    ast_copy_string(var->value, value, value_len);
00059    
00060    return var;
00061 }  

void ast_var_delete ( struct ast_var_t var  ) 

Definition at line 63 of file chanvars.c.

References ast_free, and var.

Referenced by acf_iaxvar_write(), ast_cdr_free_vars(), ast_cdr_setvar(), ast_channel_destructor(), ast_dummy_channel_destructor(), delete_extension(), dundi_lookup_local(), gosub_release_frame(), loopback_subst(), pbx_builtin_clear_globals(), pbx_builtin_setvar_helper(), profile_destructor(), reload(), shared_variable_free(), shared_write(), sip_removeheader(), and unload_module().

00064 {
00065    if (var)
00066       ast_free(var);
00067 }

const char* ast_var_full_name ( const struct ast_var_t var  ) 

Definition at line 84 of file chanvars.c.

References var.

Referenced by ast_channel_inherit_variables().

00085 {
00086    return (var ? var->name : NULL);
00087 }

const char* ast_var_name ( const struct ast_var_t var  ) 

Definition at line 69 of file chanvars.c.

References var.

Referenced by ast_cdr_copy_vars(), ast_cdr_data_add_structure(), ast_cdr_getvar_internal(), ast_cdr_serialize_variables(), ast_cdr_setvar(), ast_channel_inherit_variables(), ast_str_retrieve_variable(), cdr_merge_vars(), clearvar_prefix(), frame_set_var(), gosub_release_frame(), handle_show_globals(), hashkeys_read(), hashkeys_read2(), iax2_call(), iax2_dup_variable_datastore(), local_read(), mgcp_call(), ospauth_exec(), ospfinished_exec(), osplookup_exec(), ospnext_exec(), pbx_builtin_getvar_helper(), pbx_builtin_serialize_variables(), pbx_builtin_setvar_helper(), peek_read(), shared_read(), shared_write(), sip_call(), sip_removeheader(), and transmit_invite().

00070 {
00071    const char *name;
00072 
00073    if (var == NULL || (name = var->name) == NULL)
00074       return NULL;
00075    /* Return the name without the initial underscores */
00076    if (name[0] == '_') {
00077       name++;
00078       if (name[0] == '_')
00079          name++;
00080    }
00081    return name;
00082 }

const char* ast_var_value ( const struct ast_var_t var  ) 

Definition at line 89 of file chanvars.c.

References var.

Referenced by ast_cdr_copy_vars(), ast_cdr_data_add_structure(), ast_cdr_getvar_internal(), ast_cdr_serialize_variables(), ast_channel_inherit_variables(), ast_str_retrieve_variable(), cdr_merge_vars(), handle_show_globals(), iax2_call(), iax2_dup_variable_datastore(), mgcp_call(), ospauth_exec(), ospfinished_exec(), osplookup_exec(), ospnext_exec(), pbx_builtin_getvar_helper(), pbx_builtin_serialize_variables(), peek_read(), shared_read(), sip_call(), sip_removeheader(), and transmit_invite().

00090 {
00091    return (var ? var->value : NULL);
00092 }


Generated on Mon Oct 8 12:39:20 2012 for Asterisk - The Open Source Telephony Project by  doxygen 1.4.7