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