summaryrefslogtreecommitdiffhomepage
path: root/include
diff options
context:
space:
mode:
authormidipix <writeonce@midipix.org>2016-12-12 00:35:21 -0500
committermidipix <writeonce@midipix.org>2016-12-12 16:57:25 -0500
commitb003e95b91d47e35efdf634111769d1c185f7cd2 (patch)
tree2d613d5dd8fc0ea9445a3108ef7f5c0442f67f6e /include
parentf2b6c18c945ce5f4185224fbc4762f32e697d28d (diff)
downloadntcon-b003e95b91d47e35efdf634111769d1c185f7cd2.tar.bz2
ntcon-b003e95b91d47e35efdf634111769d1c185f7cd2.tar.xz
api headers: added ntcon_{abi|compiler}.h for smooth foreign toolchain support.
Diffstat (limited to 'include')
-rw-r--r--include/ntcon/ntcon_abi.h54
-rw-r--r--include/ntcon/ntcon_api.h4
-rw-r--r--include/ntcon/ntcon_compiler.h30
-rw-r--r--include/ntcon/ntcon_env.h22
4 files changed, 86 insertions, 24 deletions
diff --git a/include/ntcon/ntcon_abi.h b/include/ntcon/ntcon_abi.h
new file mode 100644
index 0000000..63af119
--- /dev/null
+++ b/include/ntcon/ntcon_abi.h
@@ -0,0 +1,54 @@
+#ifndef _NTCON_ABI_H_
+#define _NTCON_ABI_H_
+
+#ifdef _MIDIPIX_FREESTANDING
+
+#include <psxtypes/psxtypes.h>
+
+#else
+
+#include <stdint.h>
+#include <stddef.h>
+
+#ifndef __in
+#define __in
+#endif
+
+#ifndef __out
+#define __out
+#endif
+
+#ifndef __in_opt
+#define __in_opt
+#endif
+
+#ifndef __out_opt
+#define __out_opt
+#endif
+
+#ifndef __in_out
+#define __in_out
+#endif
+
+#ifndef __in_out_opt
+#define __in_out_opt
+#endif
+
+#ifndef __optional
+#define __optional
+#endif
+
+#ifndef __reserved
+#define __reserved
+#endif
+
+#ifndef __inline__
+#define __inline__ __inline
+#endif
+
+typedef unsigned short wchar16_t;
+typedef unsigned int wchar32_t;
+
+#endif
+
+#endif
diff --git a/include/ntcon/ntcon_api.h b/include/ntcon/ntcon_api.h
index dd5d71b..beb5a68 100644
--- a/include/ntcon/ntcon_api.h
+++ b/include/ntcon/ntcon_api.h
@@ -1,8 +1,8 @@
#ifndef NTCON_API_H
#define NTCON_API_H
-/* host type (posix-libc/free-standing) */
-#include "ntcon_env.h"
+#include "ntcon_abi.h"
+#include "ntcon_compiler.h"
/* ntcon_export */
#if defined(__attr_export__)
diff --git a/include/ntcon/ntcon_compiler.h b/include/ntcon/ntcon_compiler.h
new file mode 100644
index 0000000..e8a4de6
--- /dev/null
+++ b/include/ntcon/ntcon_compiler.h
@@ -0,0 +1,30 @@
+#ifndef _NTCON_COMPILER_H_
+#define _NTCON_COMPILER_H_
+
+#include "ntcon_abi.h"
+
+#ifndef _MIDIPIX_FREESTANDING
+
+#ifdef _MSC_VER
+
+/* visual studio: begin */
+#ifndef __attr_export__
+#define __attr_export__ __declspec(dllexport)
+#define __attr_import__ __declspec(dllimport)
+#endif
+/* visual studio: end */
+
+#else
+
+/* all other compilers: begin */
+#ifndef __attr_export__
+#define __attr_export__ __attribute__((__dllexport__))
+#define __attr_import__ __attribute__((__dllimport__))
+#endif
+/* all other compilers: end */
+
+#endif
+
+#endif
+
+#endif
diff --git a/include/ntcon/ntcon_env.h b/include/ntcon/ntcon_env.h
deleted file mode 100644
index c2e3564..0000000
--- a/include/ntcon/ntcon_env.h
+++ /dev/null
@@ -1,22 +0,0 @@
-#ifndef NTCON_ENV_H
-#define NTCON_ENV_H
-
-#if defined (_MIDIPIX_FREESTANDING)
-
-#include <psxtypes/psxtypes.h>
-
-#else
-
-#include <stdint.h>
-
-#ifndef __cdecl
-#define __cdecl
-#endif
-
-#ifndef __stdcall
-#define __stdcall
-#endif
-
-#endif
-
-#endif