corrections to the inline's
[AROS.git] / compiler / include / inline / execlock.h
blob42bf5abcae2e8bd8b495acfe46a896b2b0226f65
1 #ifndef INLINE_EXECLOCK_H
2 #define INLINE_EXECLOCK_H
4 /*
5 Copyright © 2017, The AROS Development Team. All rights reserved.
6 */
8 /*
9 Desc: Inline function(s) for execlock
12 #include <aros/libcall.h>
13 #include <exec/types.h>
14 #include <aros/symbolsets.h>
15 #include <aros/preprocessor/variadic/cast2iptr.hpp>
18 #if !defined(__EXECLOCK_LIBAPI__) || (36 <= __EXECLOCK_LIBAPI__)
20 static inline int __inline_ExecLock_ObtainSystemLock(struct List * __arg1, ULONG __arg2, ULONG __arg3, APTR __ExecLockBase)
22 AROS_LIBREQ(ExecLockBase, 36)
23 return AROS_LC3(int, ObtainSystemLock,
24 AROS_LCA(struct List *,(__arg1),A0),
25 AROS_LCA(ULONG,(__arg2),D0),
26 AROS_LCA(ULONG,(__arg3),D1),
27 struct Library *, (__ExecLockBase), 5, ExecLock );
30 #define ObtainSystemLock(arg1, arg2, arg3) \
31 __inline_ExecLock_ObtainSystemLock((arg1), (arg2), (arg3), __aros_getbase_ExecLockBase())
33 #endif /* !defined(__EXECLOCK_LIBAPI__) || (36 <= __EXECLOCK_LIBAPI__) */
35 #if !defined(__EXECLOCK_LIBAPI__) || (36 <= __EXECLOCK_LIBAPI__)
37 static inline void __inline_ExecLock_ReleaseSystemLock(struct List * __arg1, ULONG __arg2, APTR __ExecLockBase)
39 AROS_LIBREQ(ExecLockBase, 36)
40 AROS_LC2NR(void, ReleaseSystemLock,
41 AROS_LCA(struct List *,(__arg1),A0),
42 AROS_LCA(ULONG,(__arg2),D1),
43 struct Library *, (__ExecLockBase), 6, ExecLock );
46 #define ReleaseSystemLock(arg1, arg2) \
47 __inline_ExecLock_ReleaseSystemLock((arg1), (arg2), __aros_getbase_ExecLockBase())
49 #endif /* !defined(__EXECLOCK_LIBAPI__) || (36 <= __EXECLOCK_LIBAPI__) */
51 #endif /* INLINE_EXECLOCK_H*/