3b1830bdef88ab25d95aae038057d34ff79182da
[xboard.git] / winboard / wplugin.h
1 #ifndef WPLUGIN_H_\r
2 #define WPLUGIN_H_\r
3 \r
4 #include <windows.h>\r
5 \r
6 #define MaxWbPlugins 16\r
7 \r
8 typedef struct WbPlugin_tag\r
9 {\r
10     char * name_;\r
11     char * exe_name_;\r
12     HANDLE hPipe_;\r
13     HANDLE hProcess_;\r
14 } WbPlugin;\r
15 \r
16 typedef struct WbPluginList_tag\r
17 {\r
18     int item_count_;\r
19     WbPlugin * item_[MaxWbPlugins];\r
20 } WbPluginList;\r
21 \r
22 WbPlugin * wbpCreate( const char * name );\r
23 \r
24 void wbpDelete( WbPlugin * plugin );\r
25 \r
26 int wbpSendMessage( WbPlugin * plugin, const char * msg, size_t msg_len );\r
27 \r
28 int wbpListInit( WbPluginList * list );\r
29 \r
30 int wbpListAdd( WbPluginList * list, WbPlugin * plugin );\r
31 \r
32 WbPlugin * wbpListGet( WbPluginList * list, int index );\r
33 \r
34 int wbpListGetCount( WbPluginList * list );\r
35 \r
36 int wbpListDeleteAll( WbPluginList * list );\r
37 \r
38 int wbpListBroadcastMessage( WbPluginList * list, const char * msg, size_t msg_len );\r
39 \r
40 #endif // WPLUGIN_H_\r