Usermode/AxWin3 - Added symlink to handle -l dependency mapping
[tpg/acess2.git] / Usermode / Applications / axwin3_src / WM / include / ipcmessages.h
1 /*
2  * Acess2 Window Manager v3
3  * - By John Hodge (thePowersGang)
4  *
5  * ipcmessages.h
6  * - IPC Message format definition
7  * - Shared between library and server
8  */
9 #ifndef _IPCMESSAGES_H_
10 #define _IPCMESSAGES_H_
11
12 #include <stdint.h>
13
14 typedef struct sAxWin_IPCMessage        tAxWin_IPCMessage;
15 typedef struct sIPCMsg_Return   tIPCMsg_Return;
16 typedef struct sIPCMsg_CreateWin        tIPCMsg_CreateWin;
17 typedef struct sIPCMsg_ShowWindow       tIPCMsg_ShowWindow;
18 typedef struct sIPCMsg_SetWindowPos     tIPCMsg_SetWindowPos;
19
20 /**
21  * \name Flags for IPC Messages
22  * \{
23  */
24 //! Request a return value
25 #define IPCMSG_FLAG_RETURN      0x01
26 /**
27  * \}
28  */
29
30 struct sAxWin_IPCMessage
31 {
32          uint8_t        ID;
33          uint8_t        Flags;
34         uint16_t        Size;
35         uint32_t        Window;
36         char    Data[];
37 };
38
39 struct sIPCMsg_Return
40 {
41         uint32_t        Value;
42 };
43
44 struct sIPCMsg_CreateWin
45 {
46         uint32_t        NewWinID;
47         uint32_t        Flags;
48         char    Renderer[];
49 };
50
51 struct sIPCMsg_ShowWindow
52 {
53         uint32_t        bShow;
54 };
55
56 struct sIPCMsg_SetWindowPos
57 {
58          int16_t        X;
59          int16_t        Y;
60         uint16_t        W;
61         uint16_t        H;
62         uint8_t         Fields;
63 };
64
65 enum eAxWin_IPCMessageTypes
66 {
67         IPCMSG_PING,    //!< Get the server version
68         IPCMSG_SENDMSG,         //!< Send a message to another window (or to self)
69         IPCMSG_CREATEWIN,       //!< Create a window
70         IPCMSG_DESTROYWIN,      //!< Destroy a window
71         IPCMSG_SHOWWINDOW,      //!< Show/Hide a window
72         IPCMSG_SETWINPOS,       //!< Set a window position
73 };
74
75 #endif

UCC git Repository :: git.ucc.asn.au