/* * Message queues definitions * * Copyright 1993 Alexandre Julliard */ #ifndef MESSAGE_H #define MESSAGE_H #include "windows.h" /* Message as stored in the queue (contains the extraInfo field) */ typedef struct tagQMSG { DWORD extraInfo; /* Only in 3.1 */ MSG msg; } QMSG; typedef struct tagMESSAGEQUEUE { WORD next; WORD hTask; /* hTask owning the queue */ WORD msgSize; /* Size of messages in the queue */ WORD msgCount; /* Number of waiting messages */ WORD nextMessage; /* Next message to be retrieved */ WORD nextFreeMessage; /* Next available slot in the queue */ WORD queueSize; /* Size of the queue */ DWORD GetMessageTimeVal; /* Value returned by GetMessageTime */ DWORD GetMessagePosVal; /* Value returned by GetMessagePos */ DWORD GetMessageExtraInfoVal; /* Value returned by GetMessageExtraInfo */ DWORD lParam; /* Next four values set by SendMessage */ WORD wParam; WORD msg; WORD hWnd; WORD wPostQMsg; /* PostQuitMessage flag */ WORD wExitCode; /* PostQuitMessage exit code */ WORD InSendMessageHandle; /* Handle of task that sent a message */ WORD wPaintCount; /* Number of WM_PAINT needed */ WORD wTimerCount; /* Number of timers for this application */ WORD tempStatus; /* State reset by GetQueueStatus */ WORD status; /* Queue state */ QMSG messages[1]; /* Queue messages */ } MESSAGEQUEUE; extern void MSG_IncPaintCount( HANDLE hQueue ); extern void MSG_DecPaintCount( HANDLE hQueue ); extern void MSG_IncTimerCount( HANDLE hQueue ); extern void MSG_DecTimerCount( HANDLE hQueue ); extern BOOL MSG_CreateSysMsgQueue( int size ); extern void hardware_event(HWND hwnd, WORD message, WORD wParam, LONG lParam, WORD xPos, WORD yPos, DWORD time, DWORD extraInfo); #endif /* MESSAGE_H */