| /* | |
| * 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 */ |