diff options
author | Russell Bryant <russell@russellbryant.com> | 2009-06-30 16:40:38 +0000 |
---|---|---|
committer | Russell Bryant <russell@russellbryant.com> | 2009-06-30 16:40:38 +0000 |
commit | c511a2674906fd93470f0a9b77340041771466e1 (patch) | |
tree | d3d6aa7ea86d11ecaa6e88efbc46a5dde1c63ea5 /addons/ooh323c/src/memheap.h | |
parent | 62d3f1dfd9632f18c4f7c12e44af30f4cc08c292 (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.h | 61 |
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__ */ |