// Copyright 2018 plutoo #pragma once #include "kernel/mutex.h" typedef enum { WaitObjectType_Handle, WaitObjectType_UsermodeTimer, WaitObjectType_UsermodeEvent, } WaitObjectType; typedef struct UsermodeTimer UsermodeTimer; typedef struct UsermodeEvent UsermodeEvent; typedef struct { WaitObjectType type; union { Handle handle; UsermodeTimer* timer; UsermodeEvent* event; }; } WaitObject; Result waitN(s32* idx_out, WaitObject* objects, size_t num_objects, u64 timeout);