xref: /haiku/headers/private/system/event_queue_defs.h (revision e1c4049fed1047bdb957b0529e1921e97ef94770)
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