summaryrefslogtreecommitdiffstats
path: root/common/arch.h
diff options
context:
space:
mode:
authorPavel Roskin <plroskin@gmail.com>2016-07-08 05:09:09 +0000
committerPavel Roskin <plroskin@gmail.com>2016-07-08 05:09:09 +0000
commitace7d2c822937a9cb0637946f85d1fbd63562c44 (patch)
tree37dbd54c8eb00f496f18aebf6e24c5b893550970 /common/arch.h
parent2c13ef5c6dd90ee2dcbcba282b2ee702e2ee9f84 (diff)
downloadxrdp-proprietary-ace7d2c822937a9cb0637946f85d1fbd63562c44.tar.gz
xrdp-proprietary-ace7d2c822937a9cb0637946f85d1fbd63562c44.zip
Declare unified module interface and use it in modules
This fixes loading modules compiled with a C++ compiler. Remote thandle type, it's unused. Use tintptr for module data. Don't cast pointers to long, they won't fit on Win64.
Diffstat (limited to 'common/arch.h')
-rw-r--r--common/arch.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/common/arch.h b/common/arch.h
index 5c67cb66..7070d6ae 100644
--- a/common/arch.h
+++ b/common/arch.h
@@ -113,7 +113,6 @@ typedef __int64 tbus;
#else
typedef long tbus;
#endif
-typedef tbus thandle;
typedef tbus tintptr;
/* wide char, socket */
#if defined(_WIN32)
@@ -137,4 +136,14 @@ typedef signed long long tsi64;
#define printflike(arg_format, arg_first_check)
#endif
+/* module interface */
+#ifdef __cplusplus
+extern "C" {
+#endif
+ tintptr mod_init();
+ int mod_exit(tintptr);
+#ifdef __cplusplus
+}
+#endif
+
#endif