astroboy astroboy
/
CoOS_LWIP
Quick and dirty CoOS + LWIP ( Webserver )
Diff: CoOS/kernel/OsFlag.h
- Revision:
- 0:94897d537b31
diff -r 000000000000 -r 94897d537b31 CoOS/kernel/OsFlag.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/CoOS/kernel/OsFlag.h Sat Sep 10 22:41:10 2011 +0000 @@ -0,0 +1,57 @@ +/** + ******************************************************************************* + * @file OsFlag.h + * @version V1.1.4 + * @date 2011.04.20 + * @brief Evnet flag management header file + * @details This file including some defines and declares about flag management. + ******************************************************************************* + * @copy + * + * INTERNAL FILE,DON'T PUBLIC. + * + * <h2><center>© COPYRIGHT 2009 CooCox </center></h2> + ******************************************************************************* + */ + + +#ifndef _FLAG_H +#define _FLAG_H + +/** + * @struct FlagNode flag.h + * @brief Flag node struct + * @details + */ +typedef struct FlagNode +{ + struct FlagNode* nextNode; /*!< A pointer to next flag node */ + struct FlagNode* prevNode; /*!< A pointer to prev flag node */ + U32 waitFlags; /*!< Flag value */ + P_OSTCB waitTask; /*!< A pointer to task waitting flag */ + U8 waitType; /*!< Wait type */ +}FLAG_NODE,*P_FLAG_NODE; + + +/** + * @struct Flag flag.h + * @brief Flag control block + * @details This struct use to mange event flag. + */ +typedef struct Flag +{ + U32 flagRdy; /*!< Ready flag */ + U32 resetOpt; /*!< Reset option */ + U32 flagActive; /*!< Active flag */ + P_FLAG_NODE headNode; /*!< Head node */ + P_FLAG_NODE tailNode; /*!< Tail node */ +}FCB,*P_FCB; + + +/*---------------------------- Variable declare ------------------------------*/ +extern FCB FlagCrl; + +/*---------------------------- Function declare ------------------------------*/ +extern void RemoveLinkNode(P_FLAG_NODE pnode); +#endif +