API Reference

This section lists Emscripten’s public API, organised by header file. At a veryhigh 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 accessexported 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 calledfrom 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.