⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ipsec_memory_routines.h

📁 ipsec PNE 3.3 source code, running at more than vxworks6.x version.
💻 H
字号:
/* ipsec_memory_routines.h - Memory routines for IPsec *//* Copyright 2004 Wind River Systems, Inc. *//*modification history--------------------01d,30nov04,jfb  Beautified again01c,29nov04,jfb  Beautified01b,28sep04,cdw  Added configuration for IPsec memory pool.  Added                 documentation for IPsec memory pool configuration.01a,17sep04,cdw  created*/#ifndef __IPSEC_MEMORY_ROUTINES_H__#define __IPSEC_MEMORY_ROUTINES_H__#ifdef __cplusplusextern "C"    {#endif#include <vxWorks.h>/* Use the netbufLib memory pools to allocate small buffers.  Using * this feature requires tuning of the data clusters used by the * memory pool.  The following is recommended as a starting point, but * additional tuning may be required: * *    64 byte clusters - IPSEC_NUM_64    1500 *   128 byte clusters - IPSEC_NUM_128   1500 *   256 byte clusters - IPSEC_NUM_256   50 *   512 byte clusters - IPSEC_NUM_512   50 *  1024 byte clusters - IPSEC_NUM_1024  25 *  2048 byte clusters - IPSEC_NUM_2048  10 * * Use ipsecMemoryPoolShow() to observe remaining free clusters. */#define IPSEC_MEMORY_USE_MEMORY_POOL#ifdef IPSEC_MEMORY_USE_MEMORY_POOLvoid ipsecMemoryPoolShow (void);#define IPSEC_NUM_64    1500#define IPSEC_NUM_128   1500#define IPSEC_NUM_256   50#define IPSEC_NUM_512   50#define IPSEC_NUM_1024  25#define IPSEC_NUM_2048  10#endif/* Enable IPsec memory usage statistics - Observe results with * ipsec_memory_stats() */#define IPSEC_MEMORY_STATISTICS/* taskSuspend() on memory allocation in tNetTask context.  Controlled * at runtime by setting/clearing the global BOOL tNetTaskAllocationDebugging */#undef IPSEC_MEMORY_NETTASK_ALLOC_DEBUGGING/* taskSuspend() the calling task on memory allocation failure */#undef IPSEC_MEMORY_SUSPEND_ON_FAILURE/* Initialize all buffers to IPSEC_MEMORY_INITIALIZATION_FIELD after * allocation and prior to freeing. This is meant as a debugging aid, * it should normally be undefined for performance reasons. */#undef IPSEC_MEMORY_INITIALIZE#define IPSEC_MEMORY_INITIALIZATION_FIELD ((unsigned char)0xfd)extern BOOL tNetTaskAllocationDebugging;STATUS ipsecMemoryStats (void);void *ipsecMemoryAllocate    (    UINT elemSize    );void *ipsecMemoryCalloc    (    UINT elemNum,    UINT elemSize    );void ipsecMemoryFree (void *p_object);/* IPSEC_MEMORY_ALLOCATED_MAGIC indicates that the buffer was * allocated using the ipsecMemory allocation routines */#define IPSEC_MEMORY_ALLOCATED_MAGIC 0xadfacadetypedef struct    {    UINT reserved;     /* Set to IPSEC_MEMORY_ALLOCATED_MAGIC */    UINT bufferType;   /* May indicate type of buffer (use is optional) */    UINT bufferLength; /* The allocated length of *buffer */    } IPSEC_MEMORY_NODE;/* buffer types */    #define IPSEC_MEMORY_MBLK_ALLOCATED 0x80000000    #ifdef __cplusplus    }    #endif#endif /* __IPSEC_MEMORY_ROUTINES_H__ */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -