1 #ifndef _WAPI_PRIVATE_H_
2 #define _WAPI_PRIVATE_H_
7 #include "mono/io-layer/handles.h"
21 /* All handle types */
22 void (*close)(WapiHandle *handle);
24 /* File, console and pipe handles */
25 WapiFileType (*getfiletype)(void);
27 /* File and console handles */
28 gboolean (*readfile)(WapiHandle *handle, gpointer buffer,
29 guint32 numbytes, guint32 *bytesread,
30 WapiOverlapped *overlapped);
31 gboolean (*writefile)(WapiHandle *handle, gconstpointer buffer,
32 guint32 numbytes, guint32 *byteswritten,
33 WapiOverlapped *overlapped);
36 guint32 (*seek)(WapiHandle *handle, gint32 movedistance,
37 gint32 *highmovedistance, WapiSeekMethod method);
38 gboolean (*setendoffile)(WapiHandle *handle);
39 guint32 (*getfilesize)(WapiHandle *handle, guint32 *highsize);
40 gboolean (*getfiletime)(WapiHandle *handle, WapiFileTime *create_time,
41 WapiFileTime *last_access,
42 WapiFileTime *last_write);
43 gboolean (*setfiletime)(WapiHandle *handle,
44 const WapiFileTime *create_time,
45 const WapiFileTime *last_access,
46 const WapiFileTime *last_write);
48 /* WaitForSingleObject */
49 gboolean (*wait)(WapiHandle *handle, WapiHandle *signal, guint32 ms);
51 /* WaitForMultipleObjects */
52 guint32 (*wait_multiple)(gpointer data);
54 /* SignalObjectAndWait */
55 void (*signal)(WapiHandle *signal);
63 struct _WapiHandleOps *ops;
66 #define _WAPI_HANDLE_INIT(_handle, _type, _ops) G_STMT_START {\
69 _handle->signalled=FALSE;\
73 #endif /* _WAPI_PRIVATE_H_ */