pget_mpf.c

来自「Hyper Operating System。基于ITRON接口的实时操作系统。」· C语言 代码 · 共 65 行

C
65
字号
/* ------------------------------------------------------------------------ *//*  Hyper Operating System V4  μITRON4.0慌屯 Real-Time OS                  *//*    ITRONカ〖ネル 盖年墓メモリプ〖ル                                      *//*                                                                          *//*                                  Copyright (C) 1998-2002 by Project HOS  *//*                                  http://sourceforge.jp/projects/hos/     *//* ------------------------------------------------------------------------ */#include "knl_mpf.h"/* 盖年墓メモリブロックの惩评(ポ〖リング) */ER pget_mpf(		ID mpfid,		/* メモリブロック惩评滦据の盖年墓メモリプ〖ルのID戎规 */		VP *p_blk)		/* 惩评したメモリブロックの黎片戎孟 */{	T_KERNEL_MPFCB_RAM *mpfcb_ram;	ER ercd;	/* ID のチェック */#ifdef HOS_ERCHK_E_ID	if ( mpfid < KERNEL_TMIN_MPFID || mpfid > KERNEL_TMAX_MPFID )	{		return E_ID;	/* ID稍赖 */	}#endif	mknl_loc_sys();	/* システムのロック */	mpfcb_ram = KERNEL_MPFID_TO_MPFCB_RAM(mpfid);	/* オブジェクト赂哼チェック */#ifdef HOS_ERCHK_E_NOEXS	if ( mpfcb_ram == NULL )	{		mknl_unl_sys();	/* システムのロック豺近 */		return E_NOEXS;	/* オブジェクト踏栏喇 */	}#endif	if ( mpfcb_ram->free != NULL )	{		/* 鄂きブロックがあれば充り碰てる */		*p_blk          = mpfcb_ram->free;		mpfcb_ram->free = *(VP *)mpfcb_ram->free;	/* 肌の鄂きエリアを肋年 */		ercd = E_OK;	}	else	{		/* 鄂きブロックが痰ければタイムアウト */		ercd = E_TMOUT;	}	mknl_unl_sys();		/* システムのロック豺近 */	return ercd;}/* ------------------------------------------------------------------------ *//*  Copyright (C) 1998-2002 by Project HOS                                  *//* ------------------------------------------------------------------------ */

⌨️ 快捷键说明

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