summaryrefslogtreecommitdiff
path: root/addons/ooh323c/src/memheap.h
diff options
context:
space:
mode:
authorRussell Bryant <russell@russellbryant.com>2009-06-30 16:40:38 +0000
committerRussell Bryant <russell@russellbryant.com>2009-06-30 16:40:38 +0000
commitc511a2674906fd93470f0a9b77340041771466e1 (patch)
treed3d6aa7ea86d11ecaa6e88efbc46a5dde1c63ea5 /addons/ooh323c/src/memheap.h
parent62d3f1dfd9632f18c4f7c12e44af30f4cc08c292 (diff)
Move Asterisk-addons modules into the main Asterisk source tree.
Someone asked yesterday, "is there a good reason why we can't just put these modules in Asterisk?". After a brief discussion, as long as the modules are clearly set aside in their own directory and not enabled by default, it is perfectly fine. For more information about why a module goes in addons, see README-addons.txt. chan_ooh323 does not currently compile as it is behind some trunk API updates. However, it will not build by default, so it should be okay for now. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@204413 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'addons/ooh323c/src/memheap.h')
-rw-r--r--addons/ooh323c/src/memheap.h61
1 files changed, 61 insertions, 0 deletions
diff --git a/addons/ooh323c/src/memheap.h b/addons/ooh323c/src/memheap.h
new file mode 100644
index 000000000..b99f9dbc9
--- /dev/null
+++ b/addons/ooh323c/src/memheap.h
@@ -0,0 +1,61 @@
+/*
+ * Copyright (C) 2004-2005 by Objective Systems, Inc.
+ *
+ * This software is furnished under an open source license and may be
+ * used and copied only in accordance with the terms of this license.
+ * The text of the license may generally be found in the root
+ * directory of this installation in the COPYING file. It
+ * can also be viewed online at the following URL:
+ *
+ * http://www.obj-sys.com/open/license.html
+ *
+ * Any redistributions of this file including modified versions must
+ * maintain this copyright notice.
+ *
+ *****************************************************************************/
+
+#ifndef __RTMEMHEAP_HH__
+#define __RTMEMHEAP_HH__
+
+#include "ooasn1.h"
+
+/* internal heap flags */
+#define RT_MH_INTERNALMASK 0xF0000000u
+#define RT_MH_FREEHEAPDESC 0x10000000u
+
+typedef struct OSMemLink {
+ struct OSMemLink* pnext;
+ struct OSMemLink* pprev;
+ struct OSMemLink* pnextRaw; /* next RAW block */
+ void* pMemBlk;
+ ASN1OCTET blockType; /* 1 = standard, 2 = raw (see RTMEM* flags) */
+} OSMemLink;
+
+/* MemLink blockTypes */
+#define RTMEMSTD 0x0001
+#define RTMEMRAW 0x0002
+#define RTMEMMALLOC 0x0004
+#define RTMEMSAVED 0x0008
+#define RTMEMLINK 0x0010 /* contains MemLink */
+
+/* ASN.1 memory allocation structures */
+
+typedef struct OSMemHeap {
+ OSMemLink* phead;
+ ASN1UINT usedUnits;
+ ASN1UINT usedBlocks;
+ ASN1UINT freeUnits;
+ ASN1UINT freeBlocks;
+ ASN1UINT keepFreeUnits;
+ ASN1UINT defBlkSize;
+ ASN1UINT refCnt;
+ ASN1UINT flags;
+} OSMemHeap;
+
+/* see rtMemDefs.c file */
+extern ASN1UINT g_defBlkSize;
+extern OSMallocFunc g_malloc_func;
+extern OSReallocFunc g_realloc_func;
+extern OSFreeFunc g_free_func;
+
+#endif /* __RTMEMHEAP_HH__ */