Quick and dirty CoOS + LWIP ( Webserver )

Dependencies:   mbed lwip

Revision:
0:94897d537b31
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/CoOS/kernel/OsMutex.h	Sat Sep 10 22:41:10 2011 +0000
@@ -0,0 +1,57 @@
+/**
+ *******************************************************************************
+ * @file       OsMutex.h	
+ * @version    V1.1.4    
+ * @date       2011.04.20
+ * @brief      Mutex management header file
+ * @details    This file including some defines and declare related to mutex
+ *             management.
+ *******************************************************************************
+ * @copy
+ *
+ * INTERNAL FILE,DON'T PUBLIC.
+ * 
+ * <h2><center>&copy; COPYRIGHT 2009 CooCox </center></h2>
+ *******************************************************************************
+ */ 
+
+
+#ifndef _MUTEX_H
+#define _MUTEX_H
+
+#include <coocox.h>
+
+#if CFG_MUTEX_EN > 0
+
+/*---------------------------- Resource status -------------------------------*/
+#define   MUTEX_FREE        0           /*!< Mutex is free                    */
+#define   MUTEX_OCCUPY      1           /*!< Mutex is occupy                  */
+#define   WAITING_MUTEX     0x80
+
+/**
+ * @struct   Mutex  mutex.h 	
+ * @brief    Mutex control block
+ * @details  This struct is use to mutex management.	
+ */
+typedef struct Mutex
+{
+    U8       originalPrio;              /*!< Mutex priority.                  */
+    U8       mutexFlag;                 /*!< Mutex flag.                      */
+    OS_TID   taskID;                    /*!< Task ID.                         */	
+    OS_TID   hipriTaskID;               /*!< Mutex ID.                        */
+    P_OSTCB  waittingList;              /*!< waitting the Mutex.              */
+}MUTEX,*P_MUTEX;
+
+
+/*---------------------------- Variable declare ------------------------------*/
+/*!< Table use to save mutex control block.                                   */
+extern MUTEX      MutexTbl[CFG_MAX_MUTEX];
+extern OS_MutexID MutexFreeID;      /*!< A pointer to next vliad resource ID. */
+
+
+/*---------------------------- Function declare ------------------------------*/
+extern void   RemoveMutexList(P_OSTCB ptcb);
+
+#endif    /* CFG_MUTEX_EN  */
+
+#endif    /* _MUTEX_H      */