view src/thread/win32/win_ce_semaphore.h @ 2197:2ff40f30af31

Merged r3261:3262 from branches/SDL-1.2: MMX/YUV with __OPTIMIZE__. "Mac OS X/x86 won't build the MMX/YUV inline assembly without optimizations enabled (not enough registers), so for now, we only build it if we see the __OPTIMIZE__ #define, which GCC provides when you build at -O1 or higher."
author Ryan C. Gordon <icculus@icculus.org>
date Sat, 14 Jul 2007 07:28:45 +0000
parents c121d94672cb
children
line wrap: on
line source

/* win_ce_semaphore.h - header file to go with win_ce_semaphore.c */

typedef struct _SYNCH_HANDLE_STRUCTURE
{
    HANDLE hEvent;
    HANDLE hMutex;
    HANDLE hSemph;
    LONG MaxCount;
    volatile LONG CurCount;
    LPCTSTR lpName;
} SYNCH_HANDLE_STRUCTURE, *SYNCHHANDLE;

#define SYNCH_HANDLE_SIZE sizeof (SYNCH_HANDLE_STRUCTURE)

        /* Error codes - all must have bit 29 set */
#define SYNCH_ERROR 0X20000000  /* EXERCISE - REFINE THE ERROR NUMBERS */

extern SYNCHHANDLE CreateSemaphoreCE(LPSECURITY_ATTRIBUTES, LONG, LONG,
                                     LPCTSTR);

extern BOOL ReleaseSemaphoreCE(SYNCHHANDLE, LONG, LPLONG);
extern DWORD WaitForSemaphoreCE(SYNCHHANDLE, DWORD);

extern BOOL CloseSynchHandle(SYNCHHANDLE);
/* vi: set ts=4 sw=4 expandtab: */