2 * Copyright 2007, Ingo Weinhold, bonefish@cs.tu-berlin.de. All rights reserved.
3 * Distributed under the terms of the MIT License.
6 #ifndef _KERNEL_WAIT_FOR_OBJECTS_H
7 #define _KERNEL_WAIT_FOR_OBJECTS_H
17 typedef struct select_info
{
18 struct select_info
* next
; // next in the object's list
19 struct select_sync
* sync
;
21 uint16 selected_events
;
24 typedef struct select_sync
{
28 struct select_info
* set
;
31 #define SELECT_FLAG(type) (1L << (type - 1))
39 extern void put_select_sync(select_sync
* sync
);
40 extern status_t
notify_select_events(select_info
* info
, uint16 events
);
41 extern void notify_select_events_list(select_info
* list
, uint16 events
);
43 extern ssize_t
_user_wait_for_objects(object_wait_info
* userInfos
,
44 int numInfos
, uint32 flags
, bigtime_t timeout
);
51 #endif // _KERNEL_WAIT_FOR_OBJECTS_H