From 486efc2bc90047ead970f209b28fb8ccc8aa5183 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Fri, 23 May 2008 21:54:50 +0000 Subject: [PATCH] files added by http://sourceforge.net/tracker/?func=detail&atid=668553&aid=1970541&group_id=114505 --- source/lock.c | 35 +++++++++++++++++++++ source/lock.h | 86 +++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 121 insertions(+) create mode 100644 source/lock.c create mode 100644 source/lock.h diff --git a/source/lock.c b/source/lock.c new file mode 100644 index 0000000..98106cd --- /dev/null +++ b/source/lock.c @@ -0,0 +1,35 @@ +/* + lock.h + + Copyright (c) 2008 Sven Peter + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation and/or + other materials provided with the distribution. + 3. The name of the author may not be used to endorse or promote products derived + from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +*/ + +#include "lock.h" + +#if defined(__wii__) || defined(__gamecube__) + +mutex_t _FAT_mutex; + +#endif /* __wii__ || __gamecube__ */ diff --git a/source/lock.h b/source/lock.h new file mode 100644 index 0000000..814b7db --- /dev/null +++ b/source/lock.h @@ -0,0 +1,86 @@ +/* + lock.h + + Copyright (c) 2008 Sven Peter + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation and/or + other materials provided with the distribution. + 3. The name of the author may not be used to endorse or promote products derived + from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +*/ + +#ifndef _LOCK_H +#define _LOCK_H + +#include "common.h" + +#if defined(__wii__) || defined(__gamecube__) + +#include + +extern mutex_t _FAT_mutex; + +static inline void _FAT_lock_init() +{ + LWP_MutexInit(&_FAT_mutex, false); +} + +static inline void _FAT_lock_deinit() +{ + LWP_MutexDestroy(_FAT_mutex); +} + +static inline void _FAT_lock() +{ + LWP_MutexLock(_FAT_mutex); +} + +static inline void _FAT_unlock() +{ + LWP_MutexUnlock(_FAT_mutex); +} + +#else + +static inline void _FAT_lock_init() +{ + return; +} + +static inline void _FAT_lock_deinit() +{ + return; +} + +static inline void _FAT_lock() +{ + return; +} + +static inline void _FAT_unlock() +{ + return; +} + +#endif /* __wii__ || __gamecube__ */ + + +#endif // _CACHE_H +