1 /* 2 * Copyright 2023, Haiku, Inc. All rights reserved. 3 * Distributed under the terms of the MIT License. 4 */ 5 #ifndef _SYSTEM_EVENT_QUEUE_DEFS_H 6 #define _SYSTEM_EVENT_QUEUE_DEFS_H 7 8 9 // extends B_EVENT_* constants defined in OS.h 10 enum { 11 B_EVENT_LEVEL_TRIGGERED = (1 << 26), /* Event is level-triggered, not edge-triggered */ 12 B_EVENT_ONE_SHOT = (1 << 27), /* Delete event after delivery */ 13 14 /* bits 28 through 30 are reserved for the kernel */ 15 }; 16 17 18 typedef struct event_wait_info { 19 int32 object; 20 uint16 type; 21 int32 events; /* select(): > 0 to select, -1 to get selection, 0 to deselect */ 22 void* user_data; 23 } event_wait_info; 24 25 26 #endif /* _SYSTEM_EVENT_QUEUE_DEFS_H */ 27