FreeRDP
extension.h
1 
20 #ifndef FREERDP_EXTENSION_H
21 #define FREERDP_EXTENSION_H
22 
23 #include <freerdp/api.h>
24 #include <freerdp/types.h>
25 
26 #define FREERDP_EXT_EXPORT_FUNC_NAME "FreeRDPExtensionEntry"
27 
28 #ifdef __cplusplus
29 extern "C"
30 {
31 #endif
32 
33  typedef struct rdp_ext_plugin rdpExtPlugin;
34 
36  {
37  void* ext;
38  int (*init)(rdpExtPlugin* plugin, freerdp* instance);
39  int (*uninit)(rdpExtPlugin* plugin, freerdp* instance);
40  };
41 
42  typedef UINT32(FREERDP_CC* PFREERDP_EXTENSION_HOOK)(rdpExtPlugin* plugin, freerdp* instance);
43 
44  typedef UINT32(FREERDP_CC* PREGISTEREXTENSION)(rdpExtPlugin* plugin);
45  typedef UINT32(FREERDP_CC* PREGISTERPRECONNECTHOOK)(rdpExtPlugin* plugin,
46  PFREERDP_EXTENSION_HOOK hook);
47  typedef UINT32(FREERDP_CC* PREGISTERPOSTCONNECTHOOK)(rdpExtPlugin* plugin,
48  PFREERDP_EXTENSION_HOOK hook);
49 
50  typedef struct
51  {
52  void* ext; /* Reference to internal instance */
53  PREGISTEREXTENSION pRegisterExtension;
54  PREGISTERPRECONNECTHOOK pRegisterPreConnectHook;
55  PREGISTERPOSTCONNECTHOOK pRegisterPostConnectHook;
56  void* data;
59 
60  typedef int(FREERDP_CC* PFREERDP_EXTENSION_ENTRY)(PFREERDP_EXTENSION_ENTRY_POINTS pEntryPoints);
61 
62 #ifdef __cplusplus
63 }
64 #endif
65 
66 #endif /* FREERDP_EXTENSION_H */
Definition: extension.h:51