TuyaOS
宏定义 | 枚举 | 函数 | 常量
memp.h 文件参考
#include "lwip/opt.h"
#include "lwip/priv/memp_std.h"
#include "lwip/priv/memp_priv.h"
#include "lwip/stats.h"
memp.h 的引用(Include)关系图:
此图展示该文件直接或间接的被哪些文件引用了:

浏览源代码.

宏定义

#define LWIP_MEMPOOL(name, num, size, desc)
 
#define LWIP_MEMPOOL(name, num, size, desc)   MEMP_##name,
 
#define LWIP_MEMPOOL_ALLOC(name)   memp_malloc_pool(&memp_ ## name)
 
#define LWIP_MEMPOOL_DECLARE(name, num, size, desc)
 
#define LWIP_MEMPOOL_FREE(name, x)   memp_free_pool(&memp_ ## name, (x))
 
#define LWIP_MEMPOOL_INIT(name)   memp_init_pool(&memp_ ## name)
 
#define LWIP_MEMPOOL_PROTOTYPE(name)   extern const struct memp_desc memp_ ## name
 

枚举

enum  memp_t { MEMP_MAX }
 

函数

void memp_free (memp_t type, void *mem)
 
void memp_init (void)
 
void * memp_malloc (memp_t type)
 

常量

const struct memp_desc *const memp_pools [MEMP_MAX]
 

详细描述

Memory pool API

宏定义说明

◆ LWIP_MEMPOOL_ALLOC

#define LWIP_MEMPOOL_ALLOC (   name)    memp_malloc_pool(&memp_ ## name)

Allocate from a private memory pool

◆ LWIP_MEMPOOL_DECLARE

#define LWIP_MEMPOOL_DECLARE (   name,
  num,
  size,
  desc 
)
值:
LWIP_DECLARE_MEMORY_ALIGNED(memp_memory_ ## name ## _base, ((num) * (MEMP_SIZE + MEMP_ALIGN_SIZE(size)))); \
\
LWIP_MEMPOOL_DECLARE_STATS_INSTANCE(memp_stats_ ## name) \
\
static struct memp *memp_tab_ ## name; \
\
const struct memp_desc memp_ ## name = { \
DECLARE_LWIP_MEMPOOL_DESC(desc) \
LWIP_MEMPOOL_DECLARE_STATS_REFERENCE(memp_stats_ ## name) \
LWIP_MEM_ALIGN_SIZE(size), \
(num), \
memp_memory_ ## name ## _base, \
&memp_tab_ ## name \
};
#define LWIP_DECLARE_MEMORY_ALIGNED(variable_name, size)
Definition: arch.h:273
Definition: memp_priv.h:108
u16_t size
Definition: memp_priv.h:119
u16_t num
Definition: memp_priv.h:123
Definition: memp_priv.h:69

Declare a private memory pool Private mempools example: .h: only when pool is used in multiple .c files: LWIP_MEMPOOL_PROTOTYPE(my_private_pool); .c:

To relocate a pool, declare it as extern in cc.h. Example for GCC: extern u8_t __attribute__((section(".onchip_mem"))) memp_memory_my_private_pool_base[];

◆ LWIP_MEMPOOL_FREE

#define LWIP_MEMPOOL_FREE (   name,
 
)    memp_free_pool(&memp_ ## name, (x))

Free element from a private memory pool

◆ LWIP_MEMPOOL_INIT

#define LWIP_MEMPOOL_INIT (   name)    memp_init_pool(&memp_ ## name)

Initialize a private memory pool

◆ LWIP_MEMPOOL_PROTOTYPE

#define LWIP_MEMPOOL_PROTOTYPE (   name)    extern const struct memp_desc memp_ ## name

Declare prototype for private memory pool if it is used in multiple files

枚举类型说明

◆ memp_t

enum memp_t

Create the list of all memory pools managed by memp. MEMP_MAX represents a NULL pool at the end