summaryrefslogtreecommitdiff
path: root/include/asterisk/channel_pvt.h
diff options
context:
space:
mode:
authorMark Spencer <markster@digium.com>1999-10-27 00:56:38 +0000
committerMark Spencer <markster@digium.com>1999-10-27 00:56:38 +0000
commitea715821004ca5c87711f14c4270d642321f3610 (patch)
tree60333681c40ddcaf6a39c782d713d94143aaa6b7 /include/asterisk/channel_pvt.h
parent0c71a026a7b3dbe346da9f840dfb50840e1411f4 (diff)
Version 0.1.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@10 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'include/asterisk/channel_pvt.h')
-rwxr-xr-xinclude/asterisk/channel_pvt.h51
1 files changed, 51 insertions, 0 deletions
diff --git a/include/asterisk/channel_pvt.h b/include/asterisk/channel_pvt.h
new file mode 100755
index 000000000..6628e9d5f
--- /dev/null
+++ b/include/asterisk/channel_pvt.h
@@ -0,0 +1,51 @@
+/*
+ * Asterisk -- A telephony toolkit for Linux.
+ *
+ * Private channel definitions for channel implementations only.
+ *
+ * Copyright (C) 1999, Adtran Inc. and Linux Support Services, LLC
+ *
+ * Mark Spencer <markster@linux-support.net>
+ *
+ * This program is free software, distributed under the terms of
+ * the GNU General Public License
+ */
+
+#ifndef _ASTERISK_CHANNEL_PVT_H
+#define _ASTERISK_CHANNEL_PVT_H
+
+#include <asterisk/channel.h>
+
+#if defined(__cplusplus) || defined(c_plusplus)
+extern "C" {
+#endif
+
+
+struct ast_channel_pvt {
+ /* Private data used by channel backend */
+ void *pvt;
+ /* Send a literal DTMF digit */
+ int (*send_digit)(struct ast_channel *chan, char digit);
+ /* Call a given phone number (address, etc), but don't
+ take longer than timeout seconds to do so. */
+ int (*call)(struct ast_channel *chan, char *addr, int timeout);
+ /* Hangup (and possibly destroy) the channel */
+ int (*hangup)(struct ast_channel *chan);
+ /* Answer the line */
+ int (*answer)(struct ast_channel *chan);
+ /* Read a frame, in standard format */
+ struct ast_frame * (*read)(struct ast_channel *chan);
+ /* Write a frame, in standard format */
+ int (*write)(struct ast_channel *chan, struct ast_frame *frame);
+};
+
+/* Create a channel structure */
+struct ast_channel *ast_channel_alloc();
+#define ast_channel_free(a) free(a)
+
+#if defined(__cplusplus) || defined(c_plusplus)
+}
+#endif
+
+
+#endif