summaryrefslogtreecommitdiff
path: root/include/asterisk/file.h
diff options
context:
space:
mode:
authorMark Michelson <mmichelson@digium.com>2008-11-20 18:20:00 +0000
committerMark Michelson <mmichelson@digium.com>2008-11-20 18:20:00 +0000
commit3a9c27459eed77111a472154388c73c90b509153 (patch)
tree1b68a516fb0d29900e9900fa7595afe60f039507 /include/asterisk/file.h
parent2d4e3b21eeec8bd3fc38e20f8b4add83548fea02 (diff)
Merged revisions 158072 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk ........ r158072 | twilson | 2008-11-20 11:48:58 -0600 (Thu, 20 Nov 2008) | 2 lines Begin on a crusade to end trailing whitespace! ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@158133 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'include/asterisk/file.h')
-rw-r--r--include/asterisk/file.h25
1 files changed, 25 insertions, 0 deletions
diff --git a/include/asterisk/file.h b/include/asterisk/file.h
index 0f33b5340..e1dd99e26 100644
--- a/include/asterisk/file.h
+++ b/include/asterisk/file.h
@@ -315,6 +315,31 @@ off_t ast_tellstream(struct ast_filestream *fs);
*/
struct ast_frame *ast_readframe(struct ast_filestream *s);
+/*!\brief destroy a filestream using an ast_frame as input
+ *
+ * This is a hack that is used also by the ast_trans_pvt and
+ * ast_dsp structures. When a structure contains an ast_frame
+ * pointer as one of its fields. It may be that the frame is
+ * still used after the outer structure is freed. This leads to
+ * invalid memory accesses. This function allows for us to hold
+ * off on destroying the ast_filestream until we are done using
+ * the ast_frame pointer that is part of it
+ *
+ * \param fr The ast_frame that is part of an ast_filestream we wish
+ * to free.
+ */
+void ast_filestream_frame_freed(struct ast_frame *fr);
+
+/*! Initialize file stuff */
+/*!
+ * Initializes all the various file stuff. Basically just registers the cli stuff
+ * Returns 0 all the time
+ */
+int ast_file_init(void);
+
+
+#define AST_RESERVED_POINTERS 20
+
#if defined(__cplusplus) || defined(c_plusplus)
}
#endif