jwl-gtf_mutex.h

来自「基于arm核的RTOS」· C头文件 代码 · 共 46 行

H
46
字号
/********************************************************************************************************
*                                                JWL-GTF						*
*                                           实时多任务操作系统						*
*					     								*
*      				              作者:JWL-GTF			                        *
*  					     日期:2004/04/31                                            *
*					 修改日期:2004/04/31						*
*                                       								*
*                                       功能说明:多任务的互斥定义					*
*********************************************************************************************************/

/*互斥体结构定义*/
typedef struct
{
	jwl_gtf_bool	jwl_gtf_Status;					/*是否可用*/
	jwl_gtf_List	*jwl_gtf_Link;					/*互斥体指针*/
	jwl_gtf_TaskCB	*jwl_gtf_MutexLink;				/*挂起线程*/
	jwl_gtf_TaskCB	*jwl_gtf_Using;					/*正在用互斥体的线程*/
	jwl_gtf_u8	jwl_gtf_MutexID;				/*互斥体ID号唯一*/
	jwl_gtf_bool	jwl_gtf_MutexProtocol;				/*反转优先级协议*/
	jwl_gtf_TaskCB  *jwl_gtf_RevOCB;				/*优先级反转任务块*/
	jwl_gtf_bool	jwl_gtf_WaitStatus;				/*挂起队列的优先获得互斥体的方式*/
}jwl_gtf_TaskMutex;

/*互斥体查询结构*/							/*互斥体结构*/
typedef struct
{
	jwl_gtf_bool	jwl_gtf_Status;					/*是否可用*/
	jwl_gtf_bool	jwl_gtf_MutexProtocol;				/*反转优先级协议*/
	jwl_gtf_bool	jwl_gtf_WaitStatus;				/*挂起队列的优先获得互斥体的方式*/	
}jwl_gtf_MutexInfo;

/*互斥体总的资源定义*/
jwl_gtf_TaskMutex	jwl_gtf_Mutex[jwl_gtf_MutexMax];

/*互斥体ID号*/
jwl_gtf_u8		jwl_gtf_MutexID;				/*互斥体ID记数*/

/*空闲互斥体链表指针*/
jwl_gtf_TaskMutex	*jwl_gtf_MutexFree;				/*可用互斥链表指针*/

/*使用互斥体链表指针*/
jwl_gtf_TaskMutex	*jwl_gtf_MutexUse;				/*已使用链表指针*/

/*互斥体超时链表*/
jwl_gtf_TaskCB		*jwl_gtf_TOutMutex;

⌨️ 快捷键说明

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