rheap.h
来自「Linux Kernel 2.6.9 for OMAP1710」· C头文件 代码 · 共 86 行
H
86 行
/* * include/asm-ppc/rheap.c * * Header file for the implementation of a remote heap. * * Author: Pantelis Antoniou <panto@intracom.gr> * * 2004 (c) INTRACOM S.A. Greece. This file is licensed under * the terms of the GNU General Public License version 2. This program * is licensed "as is" without any warranty of any kind, whether express * or implied. */#ifndef __ASM_PPC_RHEAP_H__#define __ASM_PPC_RHEAP_H__#include <linux/list.h>typedef struct _rh_block { struct list_head list; void *start; int size; const char *owner;} rh_block_t;typedef struct _rh_info { unsigned int alignment; int max_blocks; int empty_slots; rh_block_t *block; struct list_head empty_list; struct list_head free_list; struct list_head taken_list; unsigned int flags;} rh_info_t;#define RHIF_STATIC_INFO 0x1#define RHIF_STATIC_BLOCK 0x2typedef struct rh_stats_t { void *start; int size; const char *owner;} rh_stats_t;#define RHGS_FREE 0#define RHGS_TAKEN 1/* Create a remote heap dynamically */extern rh_info_t *rh_create(unsigned int alignment);/* Destroy a remote heap, created by rh_create() */extern void rh_destroy(rh_info_t * info);/* Initialize in place a remote info block */extern void rh_init(rh_info_t * info, unsigned int alignment, int max_blocks, rh_block_t * block);/* Attach a free region to manage */extern int rh_attach_region(rh_info_t * info, void *start, int size);/* Detach a free region */extern void *rh_detach_region(rh_info_t * info, void *start, int size);/* Allocate the given size from the remote heap */extern void *rh_alloc(rh_info_t * info, int size, const char *owner);/* Allocate the given size from the given address */extern void *rh_alloc_fixed(rh_info_t * info, void *start, int size, const char *owner);/* Free the allocated area */extern int rh_free(rh_info_t * info, void *start);/* Get stats for debugging purposes */extern int rh_get_stats(rh_info_t * info, int what, int max_stats, rh_stats_t * stats);/* Simple dump of remote heap info */extern void rh_dump(rh_info_t * info);/* Set owner of taken block */extern int rh_set_owner(rh_info_t * info, void *start, const char *owner);#endif /* __ASM_PPC_RHEAP_H__ */
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?