aboutsummaryrefslogtreecommitdiffstats
path: root/include/asterisk/frame.h
diff options
context:
space:
mode:
authorkpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b>2009-03-18 01:28:42 +0000
committerkpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b>2009-03-18 01:28:42 +0000
commit91282c22ff7b8facf84d267fda0555eb4a17261a (patch)
treeaeee88ffbd06e0bc9b16c4ed7a235e376aedaf13 /include/asterisk/frame.h
parentf4a5d593628f3296611859f69ff24ee3d95535da (diff)
Improve the build system to *properly* remove unnecessary symbols from the runtime global namespace. Along the way, change the prefixes on some internal-only API calls to use a common prefix.
With these changes, for a module to export symbols into the global namespace, it must have *both* the AST_MODFLAG_GLOBAL_SYMBOLS flag and a linker script that allows the linker to leave the symbols exposed in the module's .so file (see res_odbc.exports for an example). git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@182802 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'include/asterisk/frame.h')
-rw-r--r--include/asterisk/frame.h9
1 files changed, 7 insertions, 2 deletions
diff --git a/include/asterisk/frame.h b/include/asterisk/frame.h
index bb5026908..f874643c0 100644
--- a/include/asterisk/frame.h
+++ b/include/asterisk/frame.h
@@ -399,9 +399,9 @@ struct ast_frame *ast_fralloc(char *source, int len);
#endif
/*!
- * \brief Frees a frame
+ * \brief Frees a frame or list of frames
*
- * \param fr Frame to free
+ * \param fr Frame to free, or head of list to free
* \param cache Whether to consider this frame for frame caching
*/
void ast_frame_free(struct ast_frame *fr, int cache);
@@ -415,6 +415,11 @@ void ast_frame_free(struct ast_frame *fr, int cache);
* data malloc'd. If you need to store frames, say for queueing, then
* you should call this function.
* \return Returns a frame on success, NULL on error
+ * \note This function may modify the frame passed to it, so you must
+ * not assume the frame will be intact after the isolated frame has
+ * been produced. In other words, calling this function on a frame
+ * should be the last operation you do with that frame before freeing
+ * it (or exiting the block, if the frame is on the stack.)
*/
struct ast_frame *ast_frisolate(struct ast_frame *fr);