2 * Message queues definitions
4 * Copyright 1993 Alexandre Julliard
12 /* Message as stored in the queue (contains the extraInfo field) */
13 typedef struct tagQMSG
16 DWORD extraInfo
__attribute__ ((packed
)); /* Only in 3.1 */
20 typedef struct tagMESSAGEQUEUE
23 WORD hTask
; /* hTask owning the queue */
24 WORD msgSize
; /* Size of messages in the queue */
25 WORD msgCount
; /* Number of waiting messages */
26 WORD nextMessage
; /* Next message to be retrieved */
27 WORD nextFreeMessage
; /* Next available slot in the queue */
28 WORD queueSize
; /* Size of the queue */
29 DWORD GetMessageTimeVal
; /* Value returned by GetMessageTime */
30 DWORD GetMessagePosVal
; /* Value returned by GetMessagePos */
31 WORD GetMessageExtraInfoVal
; /* Value returned by GetMessageExtraInfo */
32 DWORD lParam
; /* Next four values set by SetMessage */
36 WORD wPostQMsg
; /* PostQuitMessage flag */
37 WORD wExitCode
; /* PostQuitMessage exit code */
38 WORD InSendMessageHandle
; /* Handle of task that sent a message */
39 WORD tempStatus
; /* State reset by GetQueueStatus */
40 WORD status
; /* Queue state */
41 QMSG messages
[1]; /* Queue messages */
44 #endif /* MESSAGE_H */