finish const-ifying ast_func_read()

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@49741 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Kevin P. Fleming
2007-01-06 00:13:33 +00:00
parent 4a6ed271f5
commit 37182c873e
27 changed files with 67 additions and 67 deletions

View File

@@ -763,7 +763,7 @@ static struct ast_frame *zt_exception(struct ast_channel *ast);
static int zt_indicate(struct ast_channel *chan, int condition, const void *data, size_t datalen);
static int zt_fixup(struct ast_channel *oldchan, struct ast_channel *newchan);
static int zt_setoption(struct ast_channel *chan, int option, void *data, int datalen);
static int zt_func_read(struct ast_channel *chan, char *function, char *data, char *buf, size_t len);
static int zt_func_read(struct ast_channel *chan, const char *function, char *data, char *buf, size_t len);
static const struct ast_channel_tech zap_tech = {
.type = "Zap",
@@ -3249,7 +3249,7 @@ static int zt_setoption(struct ast_channel *chan, int option, void *data, int da
return 0;
}
static int zt_func_read(struct ast_channel *chan, char *function, char *data, char *buf, size_t len)
static int zt_func_read(struct ast_channel *chan, const char *function, char *data, char *buf, size_t len)
{
struct zt_pvt *p = chan->tech_pvt;

View File

@@ -37,7 +37,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/utils.h"
#include "asterisk/app.h"
static int base64_encode(struct ast_channel *chan, char *cmd, char *data,
static int base64_encode(struct ast_channel *chan, const const char *cmd, char *data,
char *buf, size_t len)
{
if (ast_strlen_zero(data)) {
@@ -50,7 +50,7 @@ static int base64_encode(struct ast_channel *chan, char *cmd, char *data,
return 0;
}
static int base64_decode(struct ast_channel *chan, char *cmd, char *data,
static int base64_decode(struct ast_channel *chan, const const char *cmd, char *data,
char *buf, size_t len)
{
if (ast_strlen_zero(data)) {

View File

@@ -47,7 +47,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/astdb.h"
#include "asterisk/options.h"
static int blacklist_read(struct ast_channel *chan, char *cmd, char *data, char *buf, size_t len)
static int blacklist_read(struct ast_channel *chan, const const char *cmd, char *data, char *buf, size_t len)
{
char blacklist[1];
int bl = 0;

View File

@@ -38,7 +38,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/options.h"
#include "asterisk/callerid.h"
static int callerid_read(struct ast_channel *chan, char *cmd, char *data,
static int callerid_read(struct ast_channel *chan, const const char *cmd, char *data,
char *buf, size_t len)
{
char *opt = data;
@@ -96,7 +96,7 @@ static int callerid_read(struct ast_channel *chan, char *cmd, char *data,
return 0;
}
static int callerid_write(struct ast_channel *chan, char *cmd, char *data,
static int callerid_write(struct ast_channel *chan, const const char *cmd, char *data,
const char *value)
{
if (!value)

View File

@@ -52,7 +52,7 @@ AST_APP_OPTIONS(cdr_func_options, {
AST_APP_OPTION('u', OPT_UNPARSED),
});
static int cdr_read(struct ast_channel *chan, char *cmd, char *parse,
static int cdr_read(struct ast_channel *chan, const char *cmd, char *parse,
char *buf, size_t len)
{
char *ret;
@@ -85,7 +85,7 @@ static int cdr_read(struct ast_channel *chan, char *cmd, char *parse,
return 0;
}
static int cdr_write(struct ast_channel *chan, char *cmd, char *parse,
static int cdr_write(struct ast_channel *chan, const char *cmd, char *parse,
const char *value)
{
struct ast_flags flags = { 0 };

View File

@@ -59,7 +59,7 @@ char *transfercapability_table[0x20] = {
"3K1AUDIO", "DIGITAL_W_TONES", "UNK", "UNK", "UNK", "UNK", "UNK", "UNK",
"VIDEO", "UNK", "UNK", "UNK", "UNK", "UNK", "UNK", "UNK", };
static int func_channel_read(struct ast_channel *chan, char *function,
static int func_channel_read(struct ast_channel *chan, const char *function,
char *data, char *buf, size_t len)
{
int ret = 0;
@@ -100,7 +100,7 @@ static int func_channel_read(struct ast_channel *chan, char *function,
return ret;
}
static int func_channel_write(struct ast_channel *chan, char *function,
static int func_channel_write(struct ast_channel *chan, const char *function,
char *data, const char *value)
{
int ret = 0;

View File

@@ -131,7 +131,7 @@ static int curl_internal(struct MemoryStruct *chunk, char *url, char *post)
return 0;
}
static int acf_curl_exec(struct ast_channel *chan, char *cmd, char *info, char *buf, size_t len)
static int acf_curl_exec(struct ast_channel *chan, const char *cmd, char *info, char *buf, size_t len)
{
struct ast_module_user *u;
struct MemoryStruct chunk = { NULL, 0 };

View File

@@ -208,7 +208,7 @@ static int cut_internal(struct ast_channel *chan, char *data, char *buffer, size
return 0;
}
static int acf_sort_exec(struct ast_channel *chan, char *cmd, char *data, char *buf, size_t len)
static int acf_sort_exec(struct ast_channel *chan, const char *cmd, char *data, char *buf, size_t len)
{
struct ast_module_user *u;
int ret = -1;
@@ -234,7 +234,7 @@ static int acf_sort_exec(struct ast_channel *chan, char *cmd, char *data, char *
return ret;
}
static int acf_cut_exec(struct ast_channel *chan, char *cmd, char *data, char *buf, size_t len)
static int acf_cut_exec(struct ast_channel *chan, const char *cmd, char *data, char *buf, size_t len)
{
int ret = -1;
struct ast_module_user *u;

View File

@@ -44,7 +44,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/app.h"
#include "asterisk/astdb.h"
static int function_db_read(struct ast_channel *chan, char *cmd,
static int function_db_read(struct ast_channel *chan, const char *cmd,
char *parse, char *buf, size_t len)
{
AST_DECLARE_APP_ARGS(args,
@@ -76,7 +76,7 @@ static int function_db_read(struct ast_channel *chan, char *cmd,
return 0;
}
static int function_db_write(struct ast_channel *chan, char *cmd, char *parse,
static int function_db_write(struct ast_channel *chan, const char *cmd, char *parse,
const char *value)
{
AST_DECLARE_APP_ARGS(args,
@@ -116,7 +116,7 @@ static struct ast_custom_function db_function = {
.write = function_db_write,
};
static int function_db_exists(struct ast_channel *chan, char *cmd,
static int function_db_exists(struct ast_channel *chan, const char *cmd,
char *parse, char *buf, size_t len)
{
AST_DECLARE_APP_ARGS(args,
@@ -160,7 +160,7 @@ static struct ast_custom_function db_exists_function = {
.read = function_db_exists,
};
static int function_db_delete(struct ast_channel *chan, char* cmd,
static int function_db_delete(struct ast_channel *chan, const char *cmd,
char *parse, char *buf, size_t len)
{
AST_DECLARE_APP_ARGS(args,

View File

@@ -50,7 +50,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
static char *synopsis = "Syntax: ENUMLOOKUP(number[|Method-type[|options[|record#[|zone-suffix]]]])\n";
static int function_enum(struct ast_channel *chan, char *cmd, char *data,
static int function_enum(struct ast_channel *chan, const char *cmd, char *data,
char *buf, size_t len)
{
AST_DECLARE_APP_ARGS(args,
@@ -132,7 +132,7 @@ static struct ast_custom_function enum_function = {
.read = function_enum,
};
static int function_txtcidname(struct ast_channel *chan, char *cmd,
static int function_txtcidname(struct ast_channel *chan, const char *cmd,
char *data, char *buf, size_t len)
{
int res;

View File

@@ -37,7 +37,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/utils.h"
#include "asterisk/app.h"
static int env_read(struct ast_channel *chan, char *cmd, char *data,
static int env_read(struct ast_channel *chan, const char *cmd, char *data,
char *buf, size_t len)
{
char *ret = NULL;
@@ -53,7 +53,7 @@ static int env_read(struct ast_channel *chan, char *cmd, char *data,
return 0;
}
static int env_write(struct ast_channel *chan, char *cmd, char *data,
static int env_write(struct ast_channel *chan, const char *cmd, char *data,
const char *value)
{
if (!ast_strlen_zero(data)) {
@@ -67,7 +67,7 @@ static int env_write(struct ast_channel *chan, char *cmd, char *data,
return 0;
}
static int stat_read(struct ast_channel *chan, char *cmd, char *data,
static int stat_read(struct ast_channel *chan, const char *cmd, char *data,
char *buf, size_t len)
{
char *action;

View File

@@ -38,7 +38,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/pbx.h"
#include "asterisk/utils.h"
static int global_read(struct ast_channel *chan, char *cmd, char *data, char *buf, size_t len)
static int global_read(struct ast_channel *chan, const char *cmd, char *data, char *buf, size_t len)
{
const char *var = pbx_builtin_getvar_helper(NULL, data);
@@ -50,7 +50,7 @@ static int global_read(struct ast_channel *chan, char *cmd, char *data, char *bu
return 0;
}
static int global_write(struct ast_channel *chan, char *cmd, char *data, const char *value)
static int global_write(struct ast_channel *chan, const char *cmd, char *data, const char *value)
{
pbx_builtin_setvar_helper(NULL, data, value);

View File

@@ -36,7 +36,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/utils.h"
#include "asterisk/app.h"
static int group_count_function_read(struct ast_channel *chan, char *cmd,
static int group_count_function_read(struct ast_channel *chan, const char *cmd,
char *data, char *buf, size_t len)
{
int count;
@@ -72,7 +72,7 @@ static struct ast_custom_function group_count_function = {
};
static int group_match_count_function_read(struct ast_channel *chan,
char *cmd, char *data, char *buf,
const char *cmd, char *data, char *buf,
size_t len)
{
int count;
@@ -102,7 +102,7 @@ static struct ast_custom_function group_match_count_function = {
.write = NULL,
};
static int group_function_read(struct ast_channel *chan, char *cmd,
static int group_function_read(struct ast_channel *chan, const char *cmd,
char *data, char *buf, size_t len)
{
char varname[256];
@@ -122,7 +122,7 @@ static int group_function_read(struct ast_channel *chan, char *cmd,
return 0;
}
static int group_function_write(struct ast_channel *chan, char *cmd,
static int group_function_write(struct ast_channel *chan, const char *cmd,
char *data, const char *value)
{
char grpcat[256];
@@ -149,7 +149,7 @@ static struct ast_custom_function group_function = {
.write = group_function_write,
};
static int group_list_function_read(struct ast_channel *chan, char *cmd,
static int group_list_function_read(struct ast_channel *chan, const char *cmd,
char *data, char *buf, size_t len)
{
struct ast_var_t *current;

View File

@@ -38,7 +38,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/utils.h"
#include "asterisk/app.h"
static int isnull(struct ast_channel *chan, char *cmd, char *data,
static int isnull(struct ast_channel *chan, const char *cmd, char *data,
char *buf, size_t len)
{
strcpy(buf, data && *data ? "0" : "1");
@@ -46,7 +46,7 @@ static int isnull(struct ast_channel *chan, char *cmd, char *data,
return 0;
}
static int exists(struct ast_channel *chan, char *cmd, char *data, char *buf,
static int exists(struct ast_channel *chan, const char *cmd, char *data, char *buf,
size_t len)
{
strcpy(buf, data && *data ? "1" : "0");
@@ -54,7 +54,7 @@ static int exists(struct ast_channel *chan, char *cmd, char *data, char *buf,
return 0;
}
static int iftime(struct ast_channel *chan, char *cmd, char *data, char *buf,
static int iftime(struct ast_channel *chan, const char *cmd, char *data, char *buf,
size_t len)
{
struct ast_timing timing;
@@ -88,7 +88,7 @@ static int iftime(struct ast_channel *chan, char *cmd, char *data, char *buf,
return 0;
}
static int acf_if(struct ast_channel *chan, char *cmd, char *data, char *buf,
static int acf_if(struct ast_channel *chan, const char *cmd, char *data, char *buf,
size_t len)
{
char *expr;
@@ -116,7 +116,7 @@ static int acf_if(struct ast_channel *chan, char *cmd, char *data, char *buf,
return 0;
}
static int set(struct ast_channel *chan, char *cmd, char *data, char *buf,
static int set(struct ast_channel *chan, const char *cmd, char *data, char *buf,
size_t len)
{
char *varname;

View File

@@ -65,7 +65,7 @@ enum TypeOfResult {
CHAR_RESULT
};
static int math(struct ast_channel *chan, char *cmd, char *parse,
static int math(struct ast_channel *chan, const char *cmd, char *parse,
char *buf, size_t len)
{
float fnum1;

View File

@@ -40,7 +40,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/utils.h"
#include "asterisk/app.h"
static int md5(struct ast_channel *chan, char *cmd, char *data,
static int md5(struct ast_channel *chan, const char *cmd, char *data,
char *buf, size_t len)
{
if (ast_strlen_zero(data)) {

View File

@@ -37,7 +37,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/app.h"
#include "asterisk/module.h"
static int ifmodule_read(struct ast_channel *chan, char *cmd, char *data,
static int ifmodule_read(struct ast_channel *chan, const char *cmd, char *data,
char *buf, size_t len)
{
char *ret = "0";

View File

@@ -93,7 +93,7 @@ static SQLHSTMT generic_prepare(struct odbc_obj *obj, void *data)
/*
* Master control routine
*/
static int acf_odbc_write(struct ast_channel *chan, char *cmd, char *s, const char *value)
static int acf_odbc_write(struct ast_channel *chan, const char *cmd, char *s, const char *value)
{
struct odbc_obj *obj = NULL;
struct acf_odbc_query *query;
@@ -193,7 +193,7 @@ static int acf_odbc_write(struct ast_channel *chan, char *cmd, char *s, const ch
return 0;
}
static int acf_odbc_read(struct ast_channel *chan, char *cmd, char *s, char *buf, size_t len)
static int acf_odbc_read(struct ast_channel *chan, const char *cmd, char *s, char *buf, size_t len)
{
struct odbc_obj *obj = NULL;
struct acf_odbc_query *query;
@@ -352,7 +352,7 @@ static int acf_odbc_read(struct ast_channel *chan, char *cmd, char *s, char *buf
return 0;
}
static int acf_escape(struct ast_channel *chan, char *cmd, char *data, char *buf, size_t len)
static int acf_escape(struct ast_channel *chan, const char *cmd, char *data, char *buf, size_t len)
{
char *out = buf;

View File

@@ -40,7 +40,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/app.h"
#include "asterisk/options.h"
static int acf_rand_exec(struct ast_channel *chan, char *cmd,
static int acf_rand_exec(struct ast_channel *chan, const char *cmd,
char *parse, char *buffer, size_t buflen)
{
struct ast_module_user *u;

View File

@@ -45,7 +45,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/utils.h"
#include "asterisk/app.h"
static int function_realtime_read(struct ast_channel *chan, char *cmd, char *data, char *buf, size_t len)
static int function_realtime_read(struct ast_channel *chan, const char *cmd, char *data, char *buf, size_t len)
{
struct ast_variable *var, *head;
struct ast_module_user *u;
@@ -98,7 +98,7 @@ static int function_realtime_read(struct ast_channel *chan, char *cmd, char *dat
return 0;
}
static int function_realtime_write(struct ast_channel *chan, char *cmd, char *data, const char *value)
static int function_realtime_write(struct ast_channel *chan, const char *cmd, char *data, const char *value)
{
struct ast_module_user *u;
int res = 0;

View File

@@ -38,7 +38,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/utils.h"
#include "asterisk/app.h"
static int sha1(struct ast_channel *chan, char *cmd, char *data,
static int sha1(struct ast_channel *chan, const char *cmd, char *data,
char *buf, size_t len)
{
*buf = '\0';

View File

@@ -43,7 +43,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/localtime.h"
#include "asterisk/options.h"
static int function_fieldqty(struct ast_channel *chan, char *cmd,
static int function_fieldqty(struct ast_channel *chan, const char *cmd,
char *parse, char *buf, size_t len)
{
char *varval;
@@ -73,7 +73,7 @@ static struct ast_custom_function fieldqty_function = {
.read = function_fieldqty,
};
static int filter(struct ast_channel *chan, char *cmd, char *parse, char *buf,
static int filter(struct ast_channel *chan, const char *cmd, char *parse, char *buf,
size_t len)
{
AST_DECLARE_APP_ARGS(args,
@@ -105,7 +105,7 @@ static struct ast_custom_function filter_function = {
.read = filter,
};
static int regex(struct ast_channel *chan, char *cmd, char *parse, char *buf,
static int regex(struct ast_channel *chan, const char *cmd, char *parse, char *buf,
size_t len)
{
AST_DECLARE_APP_ARGS(args,
@@ -186,7 +186,7 @@ static int exec_clearhash(struct ast_channel *chan, void *data)
return 0;
}
static int array(struct ast_channel *chan, char *cmd, char *var,
static int array(struct ast_channel *chan, const char *cmd, char *var,
const char *value)
{
AST_DECLARE_APP_ARGS(arg1,
@@ -256,7 +256,7 @@ static int array(struct ast_channel *chan, char *cmd, char *var,
return 0;
}
static int hashkeys_read(struct ast_channel *chan, char *cmd, char *data, char *buf, size_t len)
static int hashkeys_read(struct ast_channel *chan, const char *cmd, char *data, char *buf, size_t len)
{
struct ast_var_t *newvar;
int plen;
@@ -278,7 +278,7 @@ static int hashkeys_read(struct ast_channel *chan, char *cmd, char *data, char *
return 0;
}
static int hash_write(struct ast_channel *chan, char *cmd, char *var, const char *value)
static int hash_write(struct ast_channel *chan, const char *cmd, char *var, const char *value)
{
char varname[256];
AST_DECLARE_APP_ARGS(arg,
@@ -298,7 +298,7 @@ static int hash_write(struct ast_channel *chan, char *cmd, char *var, const char
return 0;
}
static int hash_read(struct ast_channel *chan, char *cmd, char *data, char *buf, size_t len)
static int hash_read(struct ast_channel *chan, const char *cmd, char *data, char *buf, size_t len)
{
char varname[256];
const char *varvalue;
@@ -382,7 +382,7 @@ static struct ast_custom_function array_function = {
"entire argument, since Set can take multiple arguments itself.\n",
};
static int acf_sprintf(struct ast_channel *chan, char *cmd, char *data, char *buf, size_t len)
static int acf_sprintf(struct ast_channel *chan, const char *cmd, char *data, char *buf, size_t len)
{
#define SPRINTF_FLAG 0
#define SPRINTF_WIDTH 1
@@ -525,7 +525,7 @@ static struct ast_custom_function sprintf_function = {
"a format specifier is not recognized.\n",
};
static int quote(struct ast_channel *chan, char *cmd, char *data, char *buf, size_t len)
static int quote(struct ast_channel *chan, const char *cmd, char *data, char *buf, size_t len)
{
char *bufptr = buf, *dataptr = data;
*bufptr++ = '"';
@@ -555,7 +555,7 @@ static struct ast_custom_function quote_function = {
};
static int len(struct ast_channel *chan, char *cmd, char *data, char *buf,
static int len(struct ast_channel *chan, const char *cmd, char *data, char *buf,
size_t len)
{
int length = 0;
@@ -575,7 +575,7 @@ static struct ast_custom_function len_function = {
.read = len,
};
static int acf_strftime(struct ast_channel *chan, char *cmd, char *parse,
static int acf_strftime(struct ast_channel *chan, const char *cmd, char *parse,
char *buf, size_t len)
{
AST_DECLARE_APP_ARGS(args,
@@ -611,7 +611,7 @@ static struct ast_custom_function strftime_function = {
.read = acf_strftime,
};
static int acf_strptime(struct ast_channel *chan, char *cmd, char *data,
static int acf_strptime(struct ast_channel *chan, const char *cmd, char *data,
char *buf, size_t len)
{
AST_DECLARE_APP_ARGS(args,
@@ -663,7 +663,7 @@ static struct ast_custom_function strptime_function = {
.read = acf_strptime,
};
static int function_eval(struct ast_channel *chan, char *cmd, char *data,
static int function_eval(struct ast_channel *chan, const char *cmd, char *data,
char *buf, size_t len)
{
buf[0] = '\0';
@@ -694,7 +694,7 @@ static struct ast_custom_function eval_function = {
.read = function_eval,
};
static int keypadhash(struct ast_channel *chan, char *cmd, char *data, char *buf, size_t len)
static int keypadhash(struct ast_channel *chan, const char *cmd, char *data, char *buf, size_t len)
{
char *bufptr, *dataptr;

View File

@@ -40,7 +40,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/app.h"
#include "asterisk/options.h"
static int timeout_read(struct ast_channel *chan, char *cmd, char *data,
static int timeout_read(struct ast_channel *chan, const char *cmd, char *data,
char *buf, size_t len)
{
time_t myt;
@@ -83,7 +83,7 @@ static int timeout_read(struct ast_channel *chan, char *cmd, char *data,
return 0;
}
static int timeout_write(struct ast_channel *chan, char *cmd, char *data,
static int timeout_write(struct ast_channel *chan, const char *cmd, char *data,
const char *value)
{
int x;

View File

@@ -44,7 +44,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/app.h"
/*! \brief uriencode: Encode URL according to RFC 2396 */
static int uriencode(struct ast_channel *chan, char *cmd, char *data,
static int uriencode(struct ast_channel *chan, const char *cmd, char *data,
char *buf, size_t len)
{
if (ast_strlen_zero(data)) {
@@ -58,7 +58,7 @@ static int uriencode(struct ast_channel *chan, char *cmd, char *data,
}
/*!\brief uridecode: Decode URI according to RFC 2396 */
static int uridecode(struct ast_channel *chan, char *cmd, char *data,
static int uridecode(struct ast_channel *chan, const char *cmd, char *data,
char *buf, size_t len)
{
if (ast_strlen_zero(data)) {

View File

@@ -43,7 +43,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#define STRING_IT(vernum) STRING_IT2(vernum)
#define STRING_IT2(vernum) #vernum
static int acf_version_exec(struct ast_channel *chan, char *cmd,
static int acf_version_exec(struct ast_channel *chan, const char *cmd,
char *parse, char *buffer, size_t buflen)
{
struct ast_module_user *u;

View File

@@ -45,7 +45,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/app.h"
#include "asterisk/options.h"
static int acf_vmcount_exec(struct ast_channel *chan, char *cmd, char *argsstr, char *buf, size_t len)
static int acf_vmcount_exec(struct ast_channel *chan, const char *cmd, char *argsstr, char *buf, size_t len)
{
struct ast_module_user *u;
char *context;

View File

@@ -301,10 +301,10 @@ struct ast_channel_tech {
struct ast_channel *(* const bridged_channel)(struct ast_channel *chan, struct ast_channel *bridge);
/*! \brief Provide additional read items for CHANNEL() dialplan function */
int (* func_channel_read)(struct ast_channel *chan, char *function, char *data, char *buf, size_t len);
int (* func_channel_read)(struct ast_channel *chan, const char *function, char *data, char *buf, size_t len);
/*! \brief Provide additional write items for CHANNEL() dialplan function */
int (* func_channel_write)(struct ast_channel *chan, char *function, char *data, const char *value);
int (* func_channel_write)(struct ast_channel *chan, const char *function, char *data, const char *value);
};
struct ast_channel_spy_list; /*!< \todo Add explanation here */