2008-10-26 Zoltan Varga <vargaz@gmail.com>
[mono-project.git] / mono / io-layer / wait.h
blob629fe5b3a578c2060d68eced974b7c4abae4edd7
1 /*
2 * wait.h: wait for handles to become signalled
4 * Author:
5 * Dick Porter (dick@ximian.com)
7 * (C) 2002 Ximian, Inc.
8 */
10 #ifndef _WAPI_WAIT_H_
11 #define _WAPI_WAIT_H_
13 #include "mono/io-layer/status.h"
15 G_BEGIN_DECLS
17 #define MAXIMUM_WAIT_OBJECTS 64
19 #define INFINITE 0xFFFFFFFF
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)
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
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);
40 G_END_DECLS
41 #endif /* _WAPI_WAIT_H_ */