summaryrefslogtreecommitdiff
path: root/include/m_fuse.h
blob: 7df4d1e89b8eca262e4a4e9c80fedf588d503234 (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
28
29
30
31
32
#ifdef _ALPHA_FUSE_
#ifndef _M_FUSE_
#define _M_FUSE_

#define CALLSERVICE_NOTFOUND      ((int)0x80000000)
#define MAXMODULELABELLENGTH 64
typedef int (*MIRANDAHOOK)(WPARAM, LPARAM);
typedef INT_PTR (*MIRANDASERVICE)(WPARAM, LPARAM);

#define FUSE_INIT	0			// core started, Param=**FUSE_LINK
#define FUSE_DEINIT 1			// core stopped
#define FUSE_DEFMOD	3			// LoadDefaultModules() return code, Param=*int
#define FUSE_DEATH  4			// DestroyingModularEngine() just got called

typedef struct {
	int cbSize;
	HANDLE (*CreateHookableEvent)(const char *);
	int (*DestroyHookableEvent)(HANDLE);
	int (*NotifyEventHooks)(HANDLE, WPARAM, LPARAM);
	HANDLE (*HookEvent)(const char *, MIRANDAHOOK);
	HANDLE (*HookEventMessage)(const char *, HWND, UINT);
	int (*UnhookEvent)(HANDLE);
	HANDLE (*CreateServiceFunction)(const char *, MIRANDASERVICE);
	HANDLE (*CreateTransientServiceFunction)(const char *, MIRANDASERVICE);
	int (*DestroyServiceFunction)(HANDLE);
	int (*CallService)(const char *, WPARAM, LPARAM);
	int (*ServiceExists)(const char *);		  //v0.1.0.1+
	int (*CallServiceSync)(const char*, WPARAM, LPARAM); //v0.1.2.2+
} FUSE_LINK;

#endif
#endif