00001 00005 #ifndef _SEMA_H 00006 #define _SEMA_H 00007 #include "fred.h" 00008 00009 00010 00024 typedef struct FredSemaphore 00025 { 00026 volatile int counter; 00027 FredQueue queue; 00028 } FredSemaphore; 00029 00030 00031 00032 00033 extern void FredSemaphoreInit(FredSemaphore * s, int i ); 00034 extern void FredSemaphoreP( FredSemaphore * s ); 00035 extern void FredSemaphoreV( FredSemaphore *s ); 00036 00037 #endif