aboutsummaryrefslogtreecommitdiffstats
path: root/channel.c
diff options
context:
space:
mode:
authorkpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b>2006-05-09 14:25:57 +0000
committerkpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b>2006-05-09 14:25:57 +0000
commit7670b6ca640512806ad6fda2807b090cd4f34c41 (patch)
tree16161d604b4e14781b023303263f3e9471645a3f /channel.c
parentf6339f372684efd389bf84a24fcb706ca778ea9d (diff)
use an enum for control frame types
support sending control frames with payload git-svn-id: http://svn.digium.com/svn/asterisk/trunk@26093 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channel.c')
-rw-r--r--channel.c17
1 files changed, 16 insertions, 1 deletions
diff --git a/channel.c b/channel.c
index 1d278b648..cbedf3fec 100644
--- a/channel.c
+++ b/channel.c
@@ -738,10 +738,25 @@ int ast_queue_hangup(struct ast_channel *chan)
}
/*! \brief Queue a control frame */
-int ast_queue_control(struct ast_channel *chan, int control)
+int ast_queue_control(struct ast_channel *chan, enum ast_control_frame_type control)
{
struct ast_frame f = { AST_FRAME_CONTROL, };
+
+ f.subclass = control;
+
+ return ast_queue_frame(chan, &f);
+}
+
+/*! \brief Queue a control frame with payload */
+int ast_queue_control_data(struct ast_channel *chan, enum ast_control_frame_type control,
+ const void *data, size_t datalen)
+{
+ struct ast_frame f = { AST_FRAME_CONTROL, };
+
f.subclass = control;
+ f.data = (void *) data;
+ f.datalen = datalen;
+
return ast_queue_frame(chan, &f);
}