6496d04506
This version of menuetlibc was taken from revision 4743, right before I made any changes git-svn-id: svn://kolibrios.org@4973 a494cfbc-eb01-0410-851d-a64ba20cac60
60 lines
2.0 KiB
C
60 lines
2.0 KiB
C
/*******************************************************************
|
|
*
|
|
* ttmutex.h 1.0
|
|
*
|
|
* Mutual exclusion object / dummy generic interface.
|
|
*
|
|
* Copyright 1996-1999 by
|
|
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
|
*
|
|
* This file is part of the FreeType project, and may only be used
|
|
* modified and distributed under the terms of the FreeType project
|
|
* license, LICENSE.TXT. By continuing to use, modify, or distribute
|
|
* this file you indicate that you have read the license and
|
|
* understand and accept it fully.
|
|
*
|
|
* Note: This file provides a generic interface. The implementation
|
|
* to compile depends on your system and the type of
|
|
* library you want to build (either singly-threaded,
|
|
* thread-safe or re-entrant).
|
|
*
|
|
* Please read the technical documentation for more details.
|
|
*
|
|
******************************************************************/
|
|
|
|
#ifndef TTMUTEX_H
|
|
#define TTMUTEX_H
|
|
|
|
#include "ttconfig.h"
|
|
|
|
|
|
typedef void* TMutex; /* typeless reference to a mutex */
|
|
|
|
#ifdef TT_CONFIG_OPTION_THREAD_SAFE /* thread-safe and re-entrant builds */
|
|
|
|
#define MUTEX_Create( mutex ) TT_Mutex_Create ( &(mutex) )
|
|
#define MUTEX_Destroy( mutex ) TT_Mutex_Delete ( &(mutex) )
|
|
#define MUTEX_Lock( mutex ) TT_Mutex_Lock ( &(mutex) )
|
|
#define MUTEX_Release( mutex ) TT_Mutex_Release( &(mutex) )
|
|
|
|
LOCAL_DEF void TT_Mutex_Create ( TMutex* mutex ); /* Create a new mutex */
|
|
LOCAL_DEF void TT_Mutex_Delete ( TMutex* mutex ); /* Delete a mutex */
|
|
LOCAL_DEF void TT_Mutex_Lock ( TMutex* mutex ); /* Lock a mutex. */
|
|
LOCAL_DEF void TT_Mutex_Release( TMutex* mutex ); /* Release a mutex */
|
|
|
|
#else /* for the single-thread build */
|
|
|
|
#define MUTEX_Create( mutex ) /* nothing */
|
|
#define MUTEX_Destroy( mutex ) /* nothing */
|
|
#define MUTEX_Lock( mutex ) /* nothing */
|
|
#define MUTEX_Release( mutex ) /* nothing */
|
|
|
|
/* No code will be generated for mutex operations */
|
|
|
|
#endif /* TT_CONFIG_OPTION_THREAD_SAFE */
|
|
|
|
#endif /* TTMUTEX_H */
|
|
|
|
|
|
/* END */
|