Zen API
 All Classes Files Functions Variables Typedefs Friends Macros Modules Pages
kLock.h
Go to the documentation of this file.
1 
10 #ifndef K_API_LOCK_H
11 #define K_API_LOCK_H
12 
13 #include <kApi/kApiDef.h>
14 
21 typedef k32s kLockOption;
22 
24 #define kLOCK_OPTION_NONE (0x0)
25 #define kLOCK_OPTION_TIMEOUT (0x1)
26 
28 #include <kApi/Threads/kLock.x.h>
29 
52 kFx(kStatus) kLock_Construct(kLock* lock, kAlloc allocator);
53 
65 kFx(kStatus) kLock_ConstructEx(kLock* lock, kLockOption options, kAlloc allocator);
66 
78 kFx(kStatus) kLock_Enter(kLock lock);
79 
97 kFx(kStatus) kLock_EnterEx(kLock lock, k64u timeout);
98 
110 kFx(kStatus) kLock_Exit(kLock lock);
111 
112 #endif
kStatus kLock_EnterEx(kLock lock, k64u timeout)
Blocks until exclusive ownership of the lock is acquired or the timeout interval has elapsed...
Represents a 64-bit unsigned integer.
kStatus kLock_Enter(kLock lock)
Blocks until exclusive ownership of the lock is acquired.
Abstract base class for memory allocator types.
Represents a recursive, mutual exclusion lock.
kStatus kLock_ConstructEx(kLock *lock, kLockOption options, kAlloc allocator)
Constructs a lock object with support for behavioral options.
Core Zen type declarations.
Represents a 32-bit signed integer.
kStatus kLock_Exit(kLock lock)
Relinquishes ownership of the lock.
Represents an error code.
Represents a lock construction option.
kStatus kLock_Construct(kLock *lock, kAlloc allocator)
Constructs a lock object.