summaryrefslogtreecommitdiff
path: root/src/binaryen-c.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/binaryen-c.h')
-rw-r--r--src/binaryen-c.h23
1 files changed, 21 insertions, 2 deletions
diff --git a/src/binaryen-c.h b/src/binaryen-c.h
index da5362d24..6bd61ed53 100644
--- a/src/binaryen-c.h
+++ b/src/binaryen-c.h
@@ -47,6 +47,8 @@
#include <stddef.h>
#include <stdint.h>
+#include "compiler-support.h"
+
#ifdef __cplusplus
extern "C" {
#endif
@@ -109,6 +111,15 @@ BinaryenExpressionId BinaryenAtomicRMWId(void);
BinaryenExpressionId BinaryenAtomicWaitId(void);
BinaryenExpressionId BinaryenAtomicWakeId(void);
+// External kinds (call to get the value of each; you can cache them)
+
+typedef uint32_t BinaryenExternalKind;
+
+BinaryenExternalKind BinaryenExternalFunction(void);
+BinaryenExternalKind BinaryenExternalTable(void);
+BinaryenExternalKind BinaryenExternalMemory(void);
+BinaryenExternalKind BinaryenExternalGlobal(void);
+
// Modules
//
// Modules contain lists of functions, imports, exports, function types. The
@@ -410,14 +421,22 @@ void BinaryenRemoveFunction(BinaryenModuleRef module, const char* name);
typedef void* BinaryenImportRef;
-BinaryenImportRef BinaryenAddImport(BinaryenModuleRef module, const char* internalName, const char* externalModuleName, const char *externalBaseName, BinaryenFunctionTypeRef type);
+WASM_DEPRECATED BinaryenImportRef BinaryenAddImport(BinaryenModuleRef module, const char* internalName, const char* externalModuleName, const char *externalBaseName, BinaryenFunctionTypeRef type);
+BinaryenImportRef BinaryenAddFunctionImport(BinaryenModuleRef module, const char* internalName, const char* externalModuleName, const char *externalBaseName, BinaryenFunctionTypeRef functionType);
+BinaryenImportRef BinaryenAddTableImport(BinaryenModuleRef module, const char* internalName, const char* externalModuleName, const char *externalBaseName);
+BinaryenImportRef BinaryenAddMemoryImport(BinaryenModuleRef module, const char* internalName, const char* externalModuleName, const char *externalBaseName);
+BinaryenImportRef BinaryenAddGlobalImport(BinaryenModuleRef module, const char* internalName, const char* externalModuleName, const char *externalBaseName, BinaryenType globalType);
void BinaryenRemoveImport(BinaryenModuleRef module, const char* internalName);
// Exports
typedef void* BinaryenExportRef;
-BinaryenExportRef BinaryenAddExport(BinaryenModuleRef module, const char* internalName, const char* externalName);
+WASM_DEPRECATED BinaryenExportRef BinaryenAddExport(BinaryenModuleRef module, const char* internalName, const char* externalName);
+BinaryenExportRef BinaryenAddFunctionExport(BinaryenModuleRef module, const char* internalName, const char* externalName);
+BinaryenExportRef BinaryenAddTableExport(BinaryenModuleRef module, const char* internalName, const char* externalName);
+BinaryenExportRef BinaryenAddMemoryExport(BinaryenModuleRef module, const char* internalName, const char* externalName);
+BinaryenExportRef BinaryenAddGlobalExport(BinaryenModuleRef module, const char* internalName, const char* externalName);
void BinaryenRemoveExport(BinaryenModuleRef module, const char* externalName);
// Globals