Window stations and desktops
[reactos.git] / reactos / subsys / win32k / include / msgqueue.h
1 #ifndef __WIN32K_MSGQUEUE_H
2 #define __WIN32K_MSGQUEUE_H
3
4 #include <windows.h>
5
6 typedef struct _USER_MESSAGE
7 {
8 LIST_ENTRY ListEntry;
9 MSG Msg;
10 } USER_MESSAGE, *PUSER_MESSAGE;
11
12 typedef struct _USER_MESSAGE_QUEUE
13 {
14 LIST_ENTRY ListHead;
15 PFAST_MUTEX ListLock;
16 } USER_MESSAGE_QUEUE, *PUSER_MESSAGE_QUEUE;
17
18
19 VOID
20 MsqInitializeMessage(
21 PUSER_MESSAGE Message,
22 LPMSG Msg);
23
24 PUSER_MESSAGE
25 MsqCreateMessage(
26 LPMSG Msg);
27
28 VOID
29 MsqDestroyMessage(
30 PUSER_MESSAGE Message);
31
32 VOID
33 MsqPostMessage(
34 PUSER_MESSAGE_QUEUE MessageQueue,
35 PUSER_MESSAGE Message);
36
37 BOOL
38 MsqRetrieveMessage(
39 PUSER_MESSAGE_QUEUE MessageQueue,
40 PUSER_MESSAGE *Message);
41
42 VOID
43 MsqInitializeMessageQueue(
44 PUSER_MESSAGE_QUEUE MessageQueue);
45
46 VOID
47 MsqFreeMessageQueue(
48 PUSER_MESSAGE_QUEUE MessageQueue);
49
50 PUSER_MESSAGE_QUEUE
51 MsqCreateMessageQueue(VOID);
52
53 VOID
54 MsqDestroyMessageQueue(
55 PUSER_MESSAGE_QUEUE MessageQueue);
56
57 #endif /* __WIN32K_MSGQUEUE_H */
58
59 /* EOF */