File:  [RetroPC.NET] / xmil / sound / sndcsec.h
Revision 1.1: download - view: text, annotated - select for diffs
Sun Aug 1 14:31:31 2004 JST (21 years, 3 months ago) by yui
Branches: MAIN
CVS tags: HEAD
initialize


#if !defined(SOUND_CRITICAL)

#define	SNDCSEC_INIT
#define	SNDCSEC_TERM
#define	SNDCSEC_ENTER
#define	SNDCSEC_LEAVE

#else

#ifdef __cplusplus
extern "C" {
#endif

#if defined(WIN32) || defined(_WIN32_WCE)

extern	CRITICAL_SECTION	sndcsec;

#define	SNDCSEC_INIT	InitializeCriticalSection(&sndcsec)
#define	SNDCSEC_TERM	DeleteCriticalSection(&sndcsec)
#define	SNDCSEC_ENTER	EnterCriticalSection(&sndcsec)
#define	SNDCSEC_LEAVE	LeaveCriticalSection(&sndcsec)

#elif defined(MACOS)

extern	MPCriticalRegionID	sndcsec;

#define	SNDCSEC_INIT	MPCreateCriticalRegion(&sndcsec)
#define	SNDCSEC_TERM	MPDeleteCriticalRegion(sndcsec)
#define	SNDCSEC_ENTER	MPEnterCriticalRegion(sndcsec, kDurationForever)
#define	SNDCSEC_LEAVE	MPExitCriticalRegion(sndcsec)

#elif defined(X11) || defined(SLZAURUS)

extern	pthread_mutex_t		sndcsec;

#define	SNDCSEC_INIT	pthread_mutex_init(&sndcsec, NULL)
#define	SNDCSEC_TERM	pthread_mutex_destroy(&sndcsec)
#define	SNDCSEC_ENTER	pthread_mutex_lock(&sndcsec)
#define	SNDCSEC_LEAVE	pthread_mutex_unlock(&sndcsec)

#endif

#ifdef __cplusplus
}
#endif

#endif


RetroPC.NET-CVS <cvs@retropc.net>