33#ifndef __AST_REFER_H__
34#define __AST_REFER_H__
36#if defined(__cplusplus) || defined(c_plusplus)
134int __attribute__((format(printf, 2, 3)))
143int __attribute__((format(printf, 2, 3)))
152int __attribute__((format(printf, 2, 3)))
169int __attribute__((format(printf, 2, 3)))
178int __attribute__((format(printf, 2, 3)))
347#if defined(__cplusplus) || defined(c_plusplus)
Asterisk internal frame definitions.
void ast_refer_var_unref_current(struct ast_refer_var_iterator *iter)
Unref a refer var from inside an iterator loop.
int ast_refer_tech_unregister(const struct ast_refer_tech *tech)
Unregister a refer technology.
const char * ast_refer_get_to(const struct ast_refer *refer)
Retrieve the destination of this refer.
int ast_refer_var_iterator_next(struct ast_refer_var_iterator *iter, const char **name, const char **value)
Get the next variable name and value.
struct ast_refer_var_iterator * ast_refer_var_iterator_init(const struct ast_refer *refer)
Create a new refer variable iterator.
struct ast_refer * ast_refer_alloc(void)
Allocate a refer.
const char * ast_refer_get_from(const struct ast_refer *refer)
Retrieve the source of this refer.
const char * ast_refer_get_var(struct ast_refer *refer, const char *name)
Get the specified variable on the refer.
int ast_refer_set_var_outbound(struct ast_refer *refer, const char *name, const char *value)
Set a variable on the refer being sent to a refer tech directly.
const char * ast_refer_get_endpoint(const struct ast_refer *refer)
Retrieve the endpoint associated with this refer.
char * ast_refer_get_var_and_unlink(struct ast_refer *refer, const char *name)
Get the specified variable on the refer and unlink it from the container of variables.
int ast_refer_set_endpoint(struct ast_refer *refer, const char *fmt,...)
Set the technology's endpoint associated with this refer.
int ast_refer_set_from(struct ast_refer *refer, const char *fmt,...)
Set the 'from' URI of a refer.
struct ast_refer * ast_refer_destroy(struct ast_refer *refer)
Destroy an ast_refer.
int ast_refer_notify_transfer_request(struct ast_channel *originating_chan, const char *referred_by, const char *exten, const char *protocol_id, struct ast_channel *dest, struct ast_refer_params *params, enum ast_control_transfer state)
Notify a transfer request.
int ast_refer_set_refer_to(struct ast_refer *refer, const char *fmt,...)
Set the 'refer_to' URI of a refer.
const char * ast_refer_get_refer_to(const struct ast_refer *refer)
Get the "refer-to" value of a refer.
int ast_refer_set_tech(struct ast_refer *refer, const char *fmt,...)
Set the technology associated with this refer.
int ast_refer_tech_register(const struct ast_refer_tech *tech)
Register a refer technology.
int ast_refer_set_to_self(struct ast_refer *refer, int val)
Set the 'to_self' value of a refer.
int ast_refer_send(struct ast_refer *refer)
Send a refer directly to an endpoint.
struct ast_refer * ast_refer_ref(struct ast_refer *refer)
Bump a refer's ref count.
int ast_refer_set_to(struct ast_refer *refer, const char *fmt,...)
Set the 'to' URI of a refer.
int ast_refer_get_to_self(const struct ast_refer *refer)
Retrieve the "to_self" value of this refer.
void ast_refer_var_iterator_destroy(struct ast_refer_var_iterator *iter)
Destroy a refer variable iterator.
const char * ast_refer_get_tech(const struct ast_refer *refer)
Retrieve the technology associated with this refer.
Main Channel structure associated with a channel.
int(*const refer_send)(const struct ast_refer *refer)
Send a refer.
const char *const name
Name of this refer technology.
Vector container support.
#define AST_VECTOR(name, type)
Define a vector structure.