URL
https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk
Subversion Repositories openrisc_me
[/] [openrisc/] [trunk/] [rtos/] [rtems/] [c/] [src/] [exec/] [itron/] [include/] [itronsys/] [vmempool.h] - Rev 173
Compare with Previous | Blame | View Log
/* * COPYRIGHT (c) 1989-1999. * On-Line Applications Research Corporation (OAR). * * The license and distribution terms for this file may be * found in the file LICENSE in this distribution or at * http://www.OARcorp.com/rtems/license.html. * * $Id: vmempool.h,v 1.2 2001-09-27 11:59:12 chris Exp $ */ #ifndef __ITRON_VARIABLE_MEMORYPOOL_h_ #define __ITRON_VARIABLE_MEMORYPOOL_h_ #ifdef __cplusplus extern "C" { #endif /* * Create Variable Memory Pool (cre_mpl) Structure */ typedef struct t_cmpl { VP exinf; /* extended information */ ATR mplatr; /* memorypool attributes */ INT mplsz; /* memorypool size */ /* additional information may be included depending on the implementation */ } T_CMPL; /* * mplatr */ #define TA_TFIFO 0x00 /* waiting tasks are handled by FIFO */ #define TA_TPRI 0x01 /* waiting tasks are handled by priority */ /* * mplid */ #define TMPL_OS (-4) /* memorypool used by OS */ /* * Reference Variable Memory Pool (ref_mpl) Structure */ typedef struct t_rmpl { VP exinf; /* extended information */ BOOL_ID wtsk; /* indicates whether or not there are waiting tasks */ INT frsz; /* total size of free memory */ INT maxsz; /* size of largest contiguous memory */ /* additional information may be included depending on the implementation */ } T_RMPL; /* * Variable Memory Pool Functions */ /* * cre_mpl - Create Variable-Size Memorypool */ ER cre_mpl( ID mplid, T_CMPL *pk_cmpl ); /* * del_mpl - Delete Variable-Size Memorypool */ ER del_mpl( ID mplid ); /* * get_blk - Get Variable-Size Memory Block */ ER get_blk( VP *p_blk, ID mplid, INT blksz ); /* * pget_blk - Poll and Get Variable-Size Memory Block */ ER pget_blk( VP *p_blk, ID mplid, INT blksz ); /* * tget_blk - Get Variable-Size Memory Block with Timeout */ ER tget_blk( VP *p_blk, ID mplid, INT blksz, TMO tmout ); /* * rel_blk - Release Variable-Size Memory Block */ ER rel_blk( ID mplid, VP blk ); /* * ref_mpl - Reference Variable-Size Memorypool Status */ ER ref_mpl( T_RMPL *pk_rmpl, ID mplid ); #ifdef __cplusplus } #endif #endif /* end of include file */