Usermode/AxWin3 - Working on interface library
[tpg/acess2.git] / Usermode / Libraries / libaxwin3.so_src / include / ipc.h
1 /*
2  * Acess2 Window Manager v3
3  * - By John Hodge (thePowersGang)
4  *
5  * ipcmessages.h
6  * - IPC Message format definition
7  */
8 #ifndef _IPCMESSAGES_H_
9 #define _IPCMESSAGES_H_
10
11 typedef struct sAxWin_IPCMessage        tAxWin_IPCMessage;
12 typedef struct sIPCMsg_Return   tIPCMsg_Return;
13 typedef struct sIPCMsg_CreateWin        tIPCMsg_CreateWin;
14
15 /**
16  * \name Flags for IPC Messages
17  * \{
18  */
19 //! Request a return value
20 #define IPCMSG_FLAG_RETURN      0x01
21 /**
22  * \}
23  */
24
25 struct sAxWin_IPCMessage
26 {
27          uint8_t        ID;
28          uint8_t        Flags;
29         uint16_t        Size;
30         uint32_t        Window;
31         char    Data[];
32 };
33
34 struct sIPCMsg_Return
35 {
36         uint32_t        Value;
37 };
38
39 struct sIPCMsg_CreateWin
40 {
41         uint32_t        NewWinID;
42         uint32_t        Flags;
43         char    Renderer[];
44 };
45
46 enum eAxWin_IPCMessageTypes
47 {
48         IPCMSG_PING,    //!< 
49         IPCMSG_SENDMSG, //!< Send a message to another window
50         IPCMSG_CREATEWIN,       //!< Create a window
51 };
52
53 extern tAxWin_IPCMessage        *AxWin3_int_AllocateIPCMessage(tHWND Window, int Message, int Flags, int ExtraBytes);
54 extern void     AxWin3_int_SendIPCMessage(tAxWin_IPCMessage *Msg);
55
56 #endif
57

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