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

📄 bfastlock.c

📁 T-kernel 的extension源代码
💻 C
字号:
/* *---------------------------------------------------------------------- *    T-Kernel / Standard Extension * *    Copyright (C) 2006 by Ken Sakamura. All rights reserved. *    T-Kernel / Standard Extension is distributed  *      under the T-License for T-Kernel / Standard Extension. *---------------------------------------------------------------------- * *    Version:   1.00.00 *    Released by T-Engine Forum(http://www.t-engine.org) at 2006/8/11. * *---------------------------------------------------------------------- *//* *	bfastlock.c (libtkse) * *	Fast-lock for application */#include <basic.h>#include <extension/extension.h>#include <extension/util.h>#define TSD_BML_PTN_0X00000001	0x00000001U#define TSD_CBK_PTN_0XFFFF	0xffffU/* * Generate fast-lock */EXPORT ER CreateBLock( BFastLock *lock ){	ER	err;	T_CFLG	cflg;	lock->wai = 0;	lock->flg = 0;	cflg.iflgptn = TSD_CBK_PTN_0XFFFF;	cflg.flgatr = TA_TFIFO | TA_WMUL | TA_DELEXIT;	lock->flgid = err = tkse_cre_flg(&cflg);	if ( err < E_OK ) {		return err;	}	return E_OK;}/* * Delete of fast-lock */EXPORT ER DeleteBLock( BFastLock *lock ){	ER	err;	if ( lock->flgid <= 0 ) {		return E_PAR;	}	err = tkse_del_flg(lock->flgid);	if ( err < E_OK ) {		return err;	}	lock->flgid = 0;	return E_OK;}/* * Lock with specified wait time *	no	Lock Nos. 0 - 15 */EXPORT ER BMLockTmo( BFastLock *lock, W no, TMOUT tmo ){	UW ptn = TSD_BML_PTN_0X00000001  <<  no;	UW	rptn = 0;	ER	err;	err = tkse_wai_flg(lock->flgid, ptn, TWF_ORW | TWF_BITCLR, &rptn, tmo);	return err;}/* * Lock *	no	Lock Nos. 0 - 15 */EXPORT ER BMLock( BFastLock *lock, W no ){	return BMLockTmo(lock, no, T_FOREVER);}/* * Unlock *	no	Lock Nos. 0 - 15 */EXPORT ER BMUnlock( BFastLock *lock, W no ){	UW ptn = TSD_BML_PTN_0X00000001  <<  no;	ER	err;	err = tkse_set_flg(lock->flgid, ptn);	return err;}

⌨️ 快捷键说明

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