99 lenmatch = strlen(
args.channel);
110 if (!strcmp(c->
tech->
type,
"CAPI")) {
111 cut = strrchr(name,
'/');
115 cut = strrchr(name,
'-');
121 if (!strcasecmp(name,
args.channel)) {
#define ast_channel_lock(chan)
Main Channel structure associated with a channel.
struct ast_channel * ast_channel_iterator_next(struct ast_channel_iterator *i)
Get the next channel for a channel iterator.
#define ast_channel_unref(c)
Decrease channel reference count.
#define ast_test_flag(p, flag)
int ast_app_parse_options(const struct ast_app_option *options, struct ast_flags *flags, char **args, char *optstr)
Parses a string containing application options and sets flags/arguments.
#define AST_DECLARE_APP_ARGS(name, arglist)
Declare a structure to hold an application's arguments.
static force_inline int attribute_pure ast_strlen_zero(const char *s)
int ast_softhangup(struct ast_channel *chan, int reason)
Softly hangup up a channel.
#define ast_strdupa(s)
duplicate a string in memory from the stack
const ast_string_field name
void ast_log(int level, const char *file, int line, const char *function, const char *fmt,...)
Used for sending a log message This is the standard logger function. Probably the only way you will i...
#define ast_channel_unlock(chan)
static void parse(struct mgcp_request *req)
Structure used to handle boolean flags.
struct ast_channel_iterator * ast_channel_iterator_by_name_new(const char *name, size_t name_len)
Create a new channel iterator based on name.
void ast_copy_string(char *dst, const char *src, size_t size)
Size-limited null-terminating string copy.
struct ast_channel_iterator * ast_channel_iterator_destroy(struct ast_channel_iterator *i)
Destroy a channel iterator.
#define AST_APP_ARG(name)
Define an application argument.
#define AST_STANDARD_APP_ARGS(args, parse)
Performs the 'standard' argument separation process for an application.
struct ast_channel_tech * tech
static struct ast_app_option app_opts[128]