1/* win_ce_semaphore.h - header file to go with win_ce_semaphore.c */ 2 3typedef struct _SYNCH_HANDLE_STRUCTURE { 4 HANDLE hEvent; 5 HANDLE hMutex; 6 HANDLE hSemph; 7 LONG MaxCount; 8 volatile LONG CurCount; 9 LPCTSTR lpName; 10} SYNCH_HANDLE_STRUCTURE, *SYNCHHANDLE; 11 12#define SYNCH_HANDLE_SIZE sizeof (SYNCH_HANDLE_STRUCTURE) 13 14 /* Error codes - all must have bit 29 set */ 15#define SYNCH_ERROR 0X20000000 /* EXERCISE - REFINE THE ERROR NUMBERS */ 16 17extern SYNCHHANDLE CreateSemaphoreCE (LPSECURITY_ATTRIBUTES, LONG, LONG, LPCTSTR); 18 19extern BOOL ReleaseSemaphoreCE (SYNCHHANDLE, LONG, LPLONG); 20extern DWORD WaitForSemaphoreCE (SYNCHHANDLE, DWORD); 21 22extern BOOL CloseSynchHandle (SYNCHHANDLE); 23