Version 0.1.7 from FTP
[asterisk/asterisk.git] / include / asterisk / channel_pvt.h
index 6628e9d..7fc464e 100755 (executable)
@@ -3,7 +3,7 @@
  *
  * Private channel definitions for channel implementations only.
  * 
- * Copyright (C) 1999, Adtran Inc. and Linux Support Services, LLC
+ * Copyright (C) 1999, Mark Spencer
  *
  * Mark Spencer <markster@linux-support.net>
  *
@@ -24,6 +24,14 @@ extern "C" {
 struct ast_channel_pvt {
        /* Private data used by channel backend */
        void *pvt;      
+       /* Write translation path */
+       struct ast_trans_pvt *writetrans;
+       /* Read translation path */
+       struct ast_trans_pvt *readtrans;
+       /* Raw read format */
+       int rawreadformat;
+       /* Raw write format */
+       int rawwriteformat;
        /* Send a literal DTMF digit */
        int (*send_digit)(struct ast_channel *chan, char digit);
        /* Call a given phone number (address, etc), but don't
@@ -37,11 +45,17 @@ struct ast_channel_pvt {
        struct ast_frame * (*read)(struct ast_channel *chan);
        /* Write a frame, in standard format */
        int (*write)(struct ast_channel *chan, struct ast_frame *frame);
+       /* Display or transmit text */
+       int (*send_text)(struct ast_channel *chan, char *text);
+       /* Handle an exception, reading a frame */
+       struct ast_frame * (*exception)(struct ast_channel *chan);
+       /* Bridge two channels of the same type together */
+       int (*bridge)(struct ast_channel *c0, struct ast_channel *c1, int flags, struct ast_frame **fo, struct ast_channel **rc);
 };
 
 /* Create a channel structure */
-struct ast_channel *ast_channel_alloc();
-#define ast_channel_free(a) free(a)
+struct ast_channel *ast_channel_alloc(void);
+void  ast_channel_free(struct ast_channel *);
 
 #if defined(__cplusplus) || defined(c_plusplus)
 }