00001 00002 /** 00003 ******************************************************************************* 00004 * @file OsServiceReq.h 00005 * @version V1.1.3 00006 * @date 2010.04.26 00007 * @brief Header file related to service request 00008 * @details This file including some defines and function declare related to 00009 * service request. 00010 ******************************************************************************* 00011 * @copy 00012 * 00013 * INTERNAL FILE,DON'T PUBLIC. 00014 * 00015 * <h2><center>© COPYRIGHT 2009 CooCox </center></h2> 00016 ******************************************************************************* 00017 */ 00018 00019 00020 #ifndef _SERVICEREQ_H 00021 #define _SERVICEREQ_H 00022 00023 #if CFG_MAX_SERVICE_REQUEST > 0 00024 #define SEM_REQ (U8)0x1 00025 #define MBOX_REQ (U8)0x2 00026 #define FLAG_REQ (U8)0x3 00027 #define QUEUE_REQ (U8)0x4 00028 00029 00030 typedef struct ServiceReqCell 00031 { 00032 U8 type; 00033 U8 id; 00034 void* arg; 00035 }SQC,*P_SQC; 00036 00037 typedef struct ServiceReqQueue 00038 { 00039 U8 cnt; 00040 U8 head; 00041 SQC cell[CFG_MAX_SERVICE_REQUEST ]; 00042 }SRQ,*P_SRQ; 00043 00044 00045 extern SRQ ServiceReq; 00046 extern BOOL InsertInSRQ(U8 type,U8 id,void* arg); 00047 #endif 00048 00049 extern void RespondSRQ(void); 00050 extern BOOL TimeReq; 00051 extern BOOL TimerReq; 00052 extern BOOL IsrReq; 00053 #endif