From c511a2674906fd93470f0a9b77340041771466e1 Mon Sep 17 00:00:00 2001 From: Russell Bryant Date: Tue, 30 Jun 2009 16:40:38 +0000 Subject: 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 --- addons/ooh323c/src/memheap.h | 61 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 addons/ooh323c/src/memheap.h (limited to 'addons/ooh323c/src/memheap.h') 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__ */ -- cgit v1.2.3