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