[sgen] Make sure we don't sweep a block if we're not supposed to
[mono.git] / mono / io-layer / wait.h
1 /*
2  * wait.h:  wait for handles to become signalled
3  *
4  * Author:
5  *      Dick Porter (dick@ximian.com)
6  *
7  * (C) 2002 Ximian, Inc.
8  */
9
10 #ifndef _WAPI_WAIT_H_
11 #define _WAPI_WAIT_H_
12
13 #include "mono/io-layer/status.h"
14
15 G_BEGIN_DECLS
16
17 #define MAXIMUM_WAIT_OBJECTS 64
18
19 #define INFINITE                0xFFFFFFFF
20
21 #define WAIT_FAILED             0xFFFFFFFF
22 #define WAIT_OBJECT_0           ((STATUS_WAIT_0) +0)
23 #define WAIT_ABANDONED          ((STATUS_ABANDONED_WAIT_0) +0)
24 #define WAIT_ABANDONED_0        ((STATUS_ABANDONED_WAIT_0) +0)
25
26 /* WAIT_TIMEOUT is also defined in error.h. Luckily it's the same value */
27 #define WAIT_TIMEOUT            STATUS_TIMEOUT
28 #define WAIT_IO_COMPLETION      STATUS_USER_APC
29
30 extern guint32 WaitForSingleObject(gpointer handle, guint32 timeout);
31 extern guint32 WaitForSingleObjectEx(gpointer handle, guint32 timeout, 
32                                         gboolean alertable);
33 extern guint32 SignalObjectAndWait(gpointer signal_handle, gpointer wait,
34                                    guint32 timeout, gboolean alertable);
35 extern guint32 WaitForMultipleObjects(guint32 numobjects, gpointer *handles,
36                                       gboolean waitall, guint32 timeout);
37 extern guint32 WaitForMultipleObjectsEx(guint32 numobjects, gpointer *handles,
38                                       gboolean waitall, guint32 timeout, gboolean alertable);
39 extern guint32 WaitForInputIdle(gpointer handle, guint32 timeout);
40
41 G_END_DECLS
42 #endif /* _WAPI_WAIT_H_ */