Thu Apr 28 2011 17:16:02

Asterisk developer's documentation


chanvars.h File Reference

Channel Variables. More...

#include "asterisk/linkedlists.h"
Include dependency graph for chanvars.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  ast_var_t
struct  varshead

Functions

struct 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 
) [read]

Definition at line 37 of file chanvars.c.

References __ast_calloc(), ast_calloc, ast_copy_string(), ast_var_t::name, ast_var_t::value, and var.

Referenced by acf_iaxvar_write(), add_user_extension(), ast_cdr_copy_vars(), ast_cdr_setvar(), ast_channel_inherit_variables(), ast_iax2_new(), authenticate_reply(), build_extension(), build_profile(), clone_variables(), do_say(), 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().

{  
   struct ast_var_t *var;
   int name_len = strlen(name) + 1;
   int value_len = strlen(value) + 1;

#ifdef MALLOC_DEBUG
   if (!(var = __ast_calloc(sizeof(*var) + name_len + value_len, sizeof(char), file, lineno, function))) {
#else
   if (!(var = ast_calloc(sizeof(*var) + name_len + value_len, sizeof(char)))) {
#endif
      return NULL;
   }

   ast_copy_string(var->name, name, name_len);
   var->value = var->name + name_len;
   ast_copy_string(var->value, value, value_len);
   
   return var;
}  
const char* ast_var_full_name ( const struct ast_var_t var)

Definition at line 80 of file chanvars.c.

References ast_var_t::name.

Referenced by ast_channel_inherit_variables().

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