void mono_w32event_init (void) { static MonoW32HandleOps event_ops = { NULL, /* close */ event_handle_signal, /* signal */ event_handle_own, /* own */ NULL, /* is_owned */ NULL, /* special_wait */ NULL, /* prewait */ event_details, /* details */ event_typename, /* typename */ event_typesize, /* typesize */ }; static MonoW32HandleOps namedevent_ops = { NULL, /* close */ event_handle_signal, /* signal */ event_handle_own, /* own */ NULL, /* is_owned */ NULL, /* special_wait */ NULL, /* prewait */ namedevent_details, /* details */ namedevent_typename, /* typename */ namedevent_typesize, /* typesize */ }; mono_w32handle_register_ops (MONO_W32TYPE_EVENT, &event_ops); mono_w32handle_register_ops (MONO_W32TYPE_NAMEDEVENT, &namedevent_ops); mono_w32handle_register_capabilities (MONO_W32TYPE_EVENT, (MonoW32HandleCapability)(MONO_W32HANDLE_CAP_WAIT | MONO_W32HANDLE_CAP_SIGNAL)); mono_w32handle_register_capabilities (MONO_W32TYPE_NAMEDEVENT, (MonoW32HandleCapability)(MONO_W32HANDLE_CAP_WAIT | MONO_W32HANDLE_CAP_SIGNAL)); }
void mono_w32mutex_init (void) { static const MonoW32HandleOps mutex_ops = { NULL, /* close */ mutex_handle_signal, /* signal */ mutex_handle_own, /* own */ mutex_handle_is_owned, /* is_owned */ NULL, /* special_wait */ mutex_handle_prewait, /* prewait */ mutex_details, /* details */ mutex_typename, /* typename */ mutex_typesize, /* typesize */ }; static const MonoW32HandleOps namedmutex_ops = { NULL, /* close */ mutex_handle_signal, /* signal */ mutex_handle_own, /* own */ mutex_handle_is_owned, /* is_owned */ NULL, /* special_wait */ mutex_handle_prewait, /* prewait */ namedmutex_details, /* details */ namedmutex_typename, /* typename */ namedmutex_typesize, /* typesize */ }; mono_w32handle_register_ops (MONO_W32TYPE_MUTEX, &mutex_ops); mono_w32handle_register_ops (MONO_W32TYPE_NAMEDMUTEX, &namedmutex_ops); mono_w32handle_register_capabilities (MONO_W32TYPE_MUTEX, (MonoW32HandleCapability)(MONO_W32HANDLE_CAP_WAIT | MONO_W32HANDLE_CAP_SIGNAL | MONO_W32HANDLE_CAP_OWN)); mono_w32handle_register_capabilities (MONO_W32TYPE_NAMEDMUTEX, (MonoW32HandleCapability)(MONO_W32HANDLE_CAP_WAIT | MONO_W32HANDLE_CAP_SIGNAL | MONO_W32HANDLE_CAP_OWN)); }
void mono_w32semaphore_init (void) { static MonoW32HandleOps sem_ops = { NULL, /* close */ sema_signal, /* signal */ sema_own, /* own */ NULL, /* is_owned */ NULL, /* special_wait */ NULL, /* prewait */ sema_details, /* details */ sema_typename, /* typename */ sema_typesize, /* typesize */ }; static MonoW32HandleOps namedsem_ops = { NULL, /* close */ namedsema_signal, /* signal */ namedsema_own, /* own */ NULL, /* is_owned */ NULL, /* special_wait */ NULL, /* prewait */ namedsema_details, /* details */ namedsema_typename, /* typename */ namedsema_typesize, /* typesize */ }; mono_w32handle_register_ops (MONO_W32HANDLE_SEM, &sem_ops); mono_w32handle_register_ops (MONO_W32HANDLE_NAMEDSEM, &namedsem_ops); mono_w32handle_register_capabilities (MONO_W32HANDLE_SEM, (MonoW32HandleCapability)(MONO_W32HANDLE_CAP_WAIT | MONO_W32HANDLE_CAP_SIGNAL)); mono_w32handle_register_capabilities (MONO_W32HANDLE_NAMEDSEM, (MonoW32HandleCapability)(MONO_W32HANDLE_CAP_WAIT | MONO_W32HANDLE_CAP_SIGNAL)); }
void _wapi_event_init (void) { mono_w32handle_register_ops (MONO_W32HANDLE_EVENT, &_wapi_event_ops); mono_w32handle_register_ops (MONO_W32HANDLE_NAMEDEVENT, &_wapi_namedevent_ops); mono_w32handle_register_capabilities (MONO_W32HANDLE_EVENT, (MonoW32HandleCapability)(MONO_W32HANDLE_CAP_WAIT | MONO_W32HANDLE_CAP_SIGNAL)); mono_w32handle_register_capabilities (MONO_W32HANDLE_NAMEDEVENT, (MonoW32HandleCapability)(MONO_W32HANDLE_CAP_WAIT | MONO_W32HANDLE_CAP_SIGNAL)); }