summaryrefslogtreecommitdiff
path: root/api/pluginapi.h
blob: 2bcc480da52a8f3e612b488af2c64b78b55e4b9c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#ifndef PLUGINAPI_H
#define PLUGINAPI_H

#define PLUGIN_MAKE_VERSION(a,b,c,d)   (((((DWORD)(a))&0xFF)<<24)|((((DWORD)(b))&0xFF)<<16)|((((DWORD)(c))&0xFF)<<8)|(((DWORD)(d))&0xFF))

#define F_GLOBAL_ACCESS 0x0010
#define F_DB_PLUGIN 0x0001 //database plugin, can be only one at one time

typedef INT_PTR (*SERVICE)(WPARAM,LPARAM);

typedef struct tagPLUGINLINK 
{
//core api
        HANDLE (*CreateServiceFunction)(const char *,SERVICE);
        INT_PTR (*CallService)(const char *,WPARAM,LPARAM);
        int (*ServiceExists)(const char *);               
} PLUGINLINK;


typedef struct
{ //plugin description
	int cbSize;
	char *shortName, *description, *author, *authorEmail;
	DWORD version;
	WORD flags; 
} PLUGININFO;
#endif