Reentrant libc check for Solaris added.
[wine] / include / message.h
1 /*
2  * Message definitions
3  *
4  * Copyright 1993 Alexandre Julliard
5  */
6
7 #ifndef __WINE_MESSAGE_H
8 #define __WINE_MESSAGE_H
9
10 #include "win.h"
11 #include "queue.h"
12
13 extern DWORD MSG_WineStartTicks;  /* Ticks at Wine startup */
14
15 /* message.c */
16 extern BOOL MSG_InternalGetMessage( MSG *msg, HWND hwnd,
17                                       HWND hwndOwner, WPARAM code,
18                                       WORD flags, BOOL sendIdle );
19
20 /* timer.c */
21 extern BOOL TIMER_Init( void );
22 extern void TIMER_RemoveWindowTimers( HWND hwnd );
23 extern void TIMER_RemoveQueueTimers( HQUEUE16 hqueue );
24 extern void TIMER_SwitchQueue( HQUEUE16 hOldQueue, HQUEUE16 hNewQueue );
25 extern LONG TIMER_GetNextExpiration(void);
26 extern void TIMER_ExpireTimers(void);
27 extern BOOL TIMER_GetTimerMsg( MSG *msg, HWND hwnd,
28                                  HQUEUE16 hQueue, BOOL remove );
29
30 #define EVENT_IO_READ           0
31 #define EVENT_IO_WRITE          1
32 #define EVENT_IO_EXCEPT         2
33
34 /* event.c */
35 typedef struct tagEVENT_DRIVER {
36   BOOL   (*pInit)(void);
37   void   (*pAddIO)(int, unsigned);
38   void   (*pDeleteIO)(int, unsigned);
39   BOOL   (*pWaitNetEvent)(BOOL, BOOL);
40   void   (*pSynchronize)(void);
41   BOOL   (*pCheckFocus)(void);
42   BOOL   (*pQueryPointer)(DWORD *, DWORD *, DWORD *);
43   void   (*pDummyMotionNotify)(void);
44   BOOL   (*pPending)(void);
45   BOOL16 (*pIsUserIdle)(void);
46   void   (*pWakeUp)(void);
47 } EVENT_DRIVER;
48
49 extern EVENT_DRIVER *EVENT_Driver;
50
51 extern void EVENT_AddIO( int fd, unsigned flag );
52 extern void EVENT_DeleteIO( int fd, unsigned flag );
53 extern BOOL EVENT_Init( void );
54 extern BOOL EVENT_WaitNetEvent( BOOL sleep, BOOL peek );
55 extern void EVENT_Synchronize(void);
56 extern BOOL EVENT_CheckFocus( void );
57 extern BOOL EVENT_QueryPointer(DWORD *posX, DWORD *posY, DWORD *state);
58 extern void EVENT_DummyMotionNotify(void);
59 extern BOOL EVENT_Pending(void);
60 extern void EVENT_WakeUp(void);
61
62 /* input.c */
63
64 extern HWND EVENT_Capture( HWND, INT16 );
65 extern BOOL EVENT_QueryPointer( DWORD *posX, DWORD *posY, DWORD *state );
66
67 extern void joySendMessages(void);
68
69 #endif  /* __WINE_MESSAGE_H */