libnx
v4.8.0
|
User mode synchronization primitive waiting operations. More...
#include "mutex.h"
Go to the source code of this file.
Data Structures | |
struct | WaitableNode |
struct | Waitable |
struct | Waiter |
Waiter structure, representing any generic waitable synchronization object; both kernel-mode and user-mode. More... | |
Macros | |
#define | waitMulti(idx_out, timeout, ...) |
Helper macro for waitObjects that accepts Waiter structures as variadic arguments instead of as an array. More... | |
#define | waitMultiHandle(idx_out, timeout, ...) |
Helper macro for waitHandles that accepts handles as variadic arguments instead of as an array. More... | |
Typedefs | |
typedef struct WaitableMethods | WaitableMethods |
Enumerations | |
enum | WaiterType { WaiterType_Handle , WaiterType_HandleWithClear , WaiterType_Waitable } |
Functions | |
static Waiter | waiterForHandle (Handle h) |
Creates a Waiter for a kernel-mode Handle. | |
Result | waitObjects (s32 *idx_out, const Waiter *objects, s32 num_objects, u64 timeout) |
Waits for an arbitrary number of generic waitable synchronization objects, optionally with a timeout. More... | |
Result | waitHandles (s32 *idx_out, const Handle *handles, s32 num_handles, u64 timeout) |
Waits for an arbitrary number of kernel synchronization objects, optionally with a timeout. More... | |
static Result | waitSingle (Waiter w, u64 timeout) |
Waits on a single generic waitable synchronization object, optionally with a timeout. More... | |
static Result | waitSingleHandle (Handle h, u64 timeout) |
Waits for a single kernel synchronization object, optionally with a timeout. More... | |
User mode synchronization primitive waiting operations.
#define waitMulti | ( | idx_out, | |
timeout, | |||
... | |||
) |
Helper macro for waitObjects that accepts Waiter structures as variadic arguments instead of as an array.
[out] | idx_out | The index of the signalled waiter. |
[in] | timeout | Timeout (in nanoseconds). |
#define waitMultiHandle | ( | idx_out, | |
timeout, | |||
... | |||
) |
Helper macro for waitHandles that accepts handles as variadic arguments instead of as an array.
[out] | idx_out | The index of the signalled handle. |
[in] | timeout | Timeout (in nanoseconds). |
Waits for an arbitrary number of kernel synchronization objects, optionally with a timeout.
This function replaces svcWaitSynchronization.
[out] | idx_out | Variable that will received the index of the signalled object. |
[in] | handles | Array containing handles. |
[in] | num_handles | Number of handles in the array. |
[in] | timeout | Timeout (in nanoseconds). |
Waits for an arbitrary number of generic waitable synchronization objects, optionally with a timeout.
[out] | idx_out | Variable that will received the index of the signalled object. |
[in] | objects | Array containing Waiter structures. |
[in] | num_objects | Number of objects in the array. |
[in] | timeout | Timeout (in nanoseconds). |
Waits on a single generic waitable synchronization object, optionally with a timeout.
[in] | w | Waiter structure. |
[in] | timeout | Timeout (in nanoseconds). |