Usermode/libc - Fix strchr and strrchr behavior
[tpg/acess2.git] / Usermode / Libraries / libaxwin3.so_src / include_exp / axwin3 / axwin.h
index fe116e9..437820c 100644 (file)
@@ -8,6 +8,9 @@
 #ifndef _AXWIN3_AXWIN_H_
 #define _AXWIN3_AXWIN_H_
 
+#include <stddef.h>    // size_t
+#include <unistd.h>
+
 // === CONSTANTS ===
 
 // === TYPES ===
@@ -15,13 +18,16 @@ typedef struct sAxWin3_Window       *tHWND;
 typedef unsigned int   tAxWin3_Colour; // TODO: Actual 32-bit
 
 typedef void   (*tAxWin3_MessageCallback)(int SourceTID, int Length);
+typedef void   (*tAxWin3_HotkeyCallback)(void);
 
 typedef int    (*tAxWin3_WindowMessageHandler)(tHWND Window, int Message, int Length, void *Data);
 
 // --- Connection management
 extern void    AxWin3_Connect(const char *ServerDesc);
 extern tAxWin3_MessageCallback AxWin3_SetMessageCallback(tAxWin3_MessageCallback Callback);
-extern void    AxWin3_MainLoop(void);
+extern int     AxWin3_MainLoop(void);
+extern void    AxWin3_StopMainLoop(int Reason);
+extern void    AxWin3_MessageSelect(int nFD, fd_set *FDs);
 
 // --- Non-Window based functions
 extern int     AxWin3_GetDisplayCount(void);
@@ -49,9 +55,11 @@ extern tHWND AxWin3_CreateWindow(
  * \param Window       Handle to a window to destroy
  */
 extern void    AxWin3_DestroyWindow(tHWND Window);
+extern int     AxWin3_RegisterAction(tHWND Window, const char *Action, tAxWin3_HotkeyCallback cb);
 
 // --- Core window management functions
 extern void    AxWin3_SendMessage(tHWND Window, tHWND Dest, int Message, int Length, void *Data);
+extern void    *AxWin3_WaitMessage(tHWND Window, int MessageID, size_t *Length);
 extern void    AxWin3_SetWindowTitle(tHWND Window, const char *Title);
 extern void    AxWin3_FocusWindow(tHWND Window);
 extern void    AxWin3_ShowWindow(tHWND Window, int bShow);

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