FreeRDP
Loading...
Searching...
No Matches
include/freerdp/addin.h
1
20#ifndef FREERDP_COMMON_ADDIN_H
21#define FREERDP_COMMON_ADDIN_H
22
23#include <freerdp/api.h>
24#include <freerdp/types.h>
25
26#define FREERDP_ADDIN_CLIENT 0x00000001
27#define FREERDP_ADDIN_SERVER 0x00000002
28
29#define FREERDP_ADDIN_STATIC 0x00000010
30#define FREERDP_ADDIN_DYNAMIC 0x00000020
31
32#define FREERDP_ADDIN_NAME 0x00000100
33#define FREERDP_ADDIN_SUBSYSTEM 0x00000200
34#define FREERDP_ADDIN_TYPE 0x00000400
35
36#define FREERDP_ADDIN_CHANNEL_STATIC 0x00001000
37#define FREERDP_ADDIN_CHANNEL_DYNAMIC 0x00002000
38#define FREERDP_ADDIN_CHANNEL_DEVICE 0x00004000
39#define FREERDP_ADDIN_CHANNEL_ENTRYEX 0x00008000
40
41#ifdef __cplusplus
42extern "C"
43{
44#endif
45
46 typedef struct
47 {
48 DWORD dwFlags;
49 CHAR cName[16];
50 CHAR cType[16];
51 CHAR cSubsystem[16];
53
54 typedef PVIRTUALCHANNELENTRY (*FREERDP_LOAD_CHANNEL_ADDIN_ENTRY_FN)(LPCSTR pszName,
55 LPCSTR pszSubsystem,
56 LPCSTR pszType,
57 DWORD dwFlags);
58
59 FREERDP_API LPSTR freerdp_get_library_install_path(void);
60 FREERDP_API LPSTR freerdp_get_dynamic_addin_install_path(void);
61
62 FREERDP_API int freerdp_register_addin_provider(FREERDP_LOAD_CHANNEL_ADDIN_ENTRY_FN provider,
63 DWORD dwFlags);
64 FREERDP_API FREERDP_LOAD_CHANNEL_ADDIN_ENTRY_FN freerdp_get_current_addin_provider(void);
65
66 FREERDP_API PVIRTUALCHANNELENTRY freerdp_load_dynamic_addin(LPCSTR pszFileName, LPCSTR pszPath,
67 LPCSTR pszEntryName);
68 FREERDP_API PVIRTUALCHANNELENTRY freerdp_load_dynamic_channel_addin_entry(LPCSTR pszName,
69 LPCSTR pszSubsystem,
70 LPCSTR pszType,
71 DWORD dwFlags);
72 FREERDP_API PVIRTUALCHANNELENTRY freerdp_load_channel_addin_entry(LPCSTR pszName,
73 LPCSTR pszSubsystem,
74 LPCSTR pszType,
75 DWORD dwFlags);
76
77#ifdef __cplusplus
78}
79#endif
80
81#endif /* FREERDP_COMMON_ADDIN_H */