summaryrefslogtreecommitdiff
path: root/channel.c
diff options
context:
space:
mode:
authorKevin P. Fleming <kpfleming@digium.com>2006-05-09 14:25:57 +0000
committerKevin P. Fleming <kpfleming@digium.com>2006-05-09 14:25:57 +0000
commit16f1acc37f0764d6e0dc84cbc208de5bc91c8864 (patch)
tree16161d604b4e14781b023303263f3e9471645a3f /channel.c
parentc22eb692a1c1b9c28253b7cb092f1c418f653f6c (diff)
use an enum for control frame types
support sending control frames with payload git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@26093 65c4cc65-6c06-0410-ace0-fbb531ad65f3
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);
}