#ifndef __SYS_LOCK_H__ #define __SYS_LOCK_H__ /* dummy lock routines for single-threaded aps */ #include #include <_ansi.h> #if !defined(_RETARGETABLE_LOCKING) typedef int _LOCK_T; typedef int _LOCK_RECURSIVE_T; #define __LOCK_INIT(class,lock) static int lock = 0; #define __LOCK_INIT_RECURSIVE(class,lock) static int lock = 0; #define __lock_init(lock) (_CAST_VOID 0) #define __lock_init_recursive(lock) (_CAST_VOID 0) #define __lock_close(lock) (_CAST_VOID 0) #define __lock_close_recursive(lock) (_CAST_VOID 0) #define __lock_acquire(lock) (_CAST_VOID 0) #define __lock_acquire_recursive(lock) (_CAST_VOID 0) #define __lock_try_acquire(lock) (_CAST_VOID 0) #define __lock_try_acquire_recursive(lock) (_CAST_VOID 0) #define __lock_release(lock) (_CAST_VOID 0) #define __lock_release_recursive(lock) (_CAST_VOID 0) #else #ifdef __cplusplus extern "C" { #endif struct __lock; typedef struct __lock * _LOCK_T; #define _LOCK_RECURSIVE_T _LOCK_T #define __LOCK_INIT(class,lock) extern struct __lock __lock_ ## lock; \ class _LOCK_T lock = &__lock_ ## lock #define __LOCK_INIT_RECURSIVE(class,lock) __LOCK_INIT(class,lock) extern void __retarget_lock_init(_LOCK_T *lock); #define __lock_init(lock) __retarget_lock_init(&lock) extern void __retarget_lock_init_recursive(_LOCK_T *lock); #define __lock_init_recursive(lock) __retarget_lock_init_recursive(&lock) extern void __retarget_lock_close(_LOCK_T lock); #define __lock_close(lock) __retarget_lock_close(lock) extern void __retarget_lock_close_recursive(_LOCK_T lock); #define __lock_close_recursive(lock) __retarget_lock_close_recursive(lock) extern void __retarget_lock_acquire(_LOCK_T lock); #define __lock_acquire(lock) __retarget_lock_acquire(lock) extern void __retarget_lock_acquire_recursive(_LOCK_T lock); #define __lock_acquire_recursive(lock) __retarget_lock_acquire_recursive(lock) extern int __retarget_lock_try_acquire(_LOCK_T lock); #define __lock_try_acquire(lock) __retarget_lock_try_acquire(lock) extern int __retarget_lock_try_acquire_recursive(_LOCK_T lock); #define __lock_try_acquire_recursive(lock) \ __retarget_lock_try_acquire_recursive(lock) extern void __retarget_lock_release(_LOCK_T lock); #define __lock_release(lock) __retarget_lock_release(lock) extern void __retarget_lock_release_recursive(_LOCK_T lock); #define __lock_release_recursive(lock) __retarget_lock_release_recursive(lock) #ifdef __cplusplus } #endif #endif /* !defined(_RETARGETABLE_LOCKING) */ #endif /* __SYS_LOCK_H__ */