| /* |
| * 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 |
| { |
| MSG msg; |
| DWORD extraInfo __attribute__ ((packed)); /* Only in 3.1 */ |
| } 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 */ |
| WORD GetMessageExtraInfoVal; /* Value returned by GetMessageExtraInfo */ |
| DWORD lParam; /* Next four values set by SetMessage */ |
| 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 tempStatus; /* State reset by GetQueueStatus */ |
| WORD status; /* Queue state */ |
| QMSG messages[1]; /* Queue messages */ |
| } MESSAGEQUEUE; |
| |
| #endif /* MESSAGE_H */ |