Usermode/AxWin3 - Workign on interface lib, adding basic UI app
[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 #include <stdint.h>
12
13 typedef struct sAxWin_IPCMessage        tAxWin_IPCMessage;
14 typedef struct sIPCMsg_Return   tIPCMsg_Return;
15 typedef struct sIPCMsg_CreateWin        tIPCMsg_CreateWin;
16
17 /**
18  * \name Flags for IPC Messages
19  * \{
20  */
21 //! Request a return value
22 #define IPCMSG_FLAG_RETURN      0x01
23 /**
24  * \}
25  */
26
27 struct sAxWin_IPCMessage
28 {
29          uint8_t        ID;
30          uint8_t        Flags;
31         uint16_t        Size;
32         uint32_t        Window;
33         char    Data[];
34 };
35
36 struct sIPCMsg_Return
37 {
38         uint32_t        Value;
39 };
40
41 struct sIPCMsg_CreateWin
42 {
43         uint32_t        NewWinID;
44         uint32_t        Flags;
45         char    Renderer[];
46 };
47
48 enum eAxWin_IPCMessageTypes
49 {
50         IPCMSG_PING,    //!< 
51         IPCMSG_SENDMSG, //!< Send a message to another window
52         IPCMSG_CREATEWIN,       //!< Create a window
53 };
54
55 extern tAxWin_IPCMessage        *AxWin3_int_AllocateIPCMessage(tHWND Window, int Message, int Flags, int ExtraBytes);
56 extern void     AxWin3_int_SendIPCMessage(tAxWin_IPCMessage *Msg);
57 extern tAxWin_IPCMessage        *AxWin3_int_GetIPCMessage(void);
58
59 #endif
60

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