aboutsummaryrefslogtreecommitdiffstats
path: root/addons/ooh323c/src/memheap.h
diff options
context:
space:
mode:
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__ */