API Reference

This section lists Emscripten’s public API, organised by header file. At a very high level it consists of:

  • emscripten.h: APIs for integrating with the browser environment.

  • html5.h: Low level glue bindings for interfacing with HTML5 APIs from native code.

  • console.h: Functions to writing to the console and stdout/stderr.

  • preamble.js: APIs for working with compiled code from JavaScript.

  • File System API (library_fs.js): APIs for managing file systems and synchronous file operations.

  • Fetch API: API for managing accesses to network XHR and IndexedDB.

  • Wasm Workers API: Enables writing multithreaded programs using a web-like API.

  • Wasm Audio Worklets API: Allows programs to implement audio processing nodes that run in a dedicated real-time audio processing thread context.

  • Module object: Global JavaScript object that can be used to control code execution and access exported methods.

  • val.h: Embind API to support transliteration of JavaScript code to C++.

  • bind.h (under-construction): Embind API for binding C++ functions and classes so that they can be called from JavaScript in a natural way.

  • trace.h: A tracing API for doing memory usage analysis.

  • fiber.h: API for working with Fibers (co-operative threads)

  • proxying.h: API for synchronously or asynchronously proxying work to a target pthread.

  • stack.h: Inspecting the WebAssembly data stack.

  • Advanced APIs: APIs for advanced users/core developers.