Expand description
§emscripten-rs-sys
Low-level Rust FFI bindings to the Emscripten C API, generated using bindgen.
This crate provides raw, unsafe bindings to the C API of Emscripten, allowing Rust code to interface directly with the Emscripten runtime.
⚠️ The only supported target is wasm32-unknown-emscripten.
§Features
The raw FFI bindings and the em_js (js!, inline_js!) and em_asm
(js_asm!) macros are available by default. The default configuration requires
no experimental compiler feature attributes in the calling crate.
Using em_js (js! or inline_js!) requires -Clink-dead-code
(equivalently, -C link-dead-code) unless you enable force_export.
See Linker setup for the Cargo configuration.
emscripten_rs_sys = "0.4.0"The optional force_export feature uses WebAssembly global assembly to export
em_js script symbols, removing the need for -C link-dead-code. It requires
nightly Rust:
emscripten_rs_sys = { version = "0.4.0", features = ["force_export"] }Because the assembly is emitted by the macros, each crate that calls js! or
inline_js! with this feature enabled must add this to its crate root:
#![feature(asm_experimental_arch)]When using SignatureBuilder directly, specify its buffer capacity (the number
of arguments plus one for the null terminator), for example
SignatureBuilder::<3>::new::<i32>().add_param(&x).add_param(&y).finish().
The js_asm! macro calculates this capacity automatically.
§Prerequisites
You must have the Emscripten SDK (emsdk) installed and activated on your system before building.
Follow the official installation instructions here: Emscripten SDK Installation Guide
After installing, ensure emcc is on your PATH for linking and optional binding
generation. Both macro modules emit their JavaScript strings directly from Rust;
macro expansion does not compile C or generate native archives.
The project currently selects nightly for the
Wasm link_section fix.
Stable Rust 1.98 predates that fix and cannot link js_asm! correctly. The fix
itself needs no feature attribute; force_export separately requires the
nightly assembly feature described above.
§Linker setup
Without force_export, using em_js (js! or inline_js!) requires the Rust
compiler flag -C link-dead-code. This preserves the exported __em_js__* data
symbols that Emscripten reads to discover the JavaScript functions. Add it to your application’s
.cargo/config.toml (append it to any existing rustflags):
[target.wasm32-unknown-emscripten]
rustflags = ["-C", "link-dead-code"]This repository already enables the flag for its tests. It retains otherwise
unused code, so it can increase the output size. When enabling force_export,
you can remove this flag while retaining any other linker settings you need.
Some APIs of Emscripten only work at runtime if they are explicitly enabled at link time.
See the settings Reference for all -s options.
Ways to set linker settings:
- With the RUSTFLAGS environment variable:
RUSTFLAGS='-C link-args=-sALLOW_MEMORY_GROWTH=1' - In the build script:
println!("cargo:rustc-link-arg=-sALLOW_MEMORY_GROWTH=1"); - In the
.cargo/config.tomlwith therustflagsfield.
§Highlights
- The complete C API is covered.
EM_JSsupport for inline JS functions.
§Example
Define Javascript function in Rust:
use emscripten_rs_sys::em_js::js;
use std::ffi::c_int;
js! {
fn compute_sum(n: c_int) -> c_int
{
let sum = 0;
for(let i=1; i<n; i++)
{
sum += i;
}
return sum;
}
}
fn test_sum() {
assert_eq!(unsafe { compute_sum(100) }, 4950)
}Conveniently call Javascript from Rust, with parameter type inference:
use emscripten_rs_sys::em_asm::*;
fn js_asm() {
let a = 2;
let b = 3;
let result = js_asm! {
|a,b| -> i32 { return a+b*b; }
};
assert_eq!(result, 2+3*3);
}Modules§
Structs§
- Audio
Param Frame - Audio
Sample Frame - Emscripten
Audio Worklet Node Create Options - Emscripten
Battery Event - Emscripten
Device Motion Event - Emscripten
Device Orientation Event - Emscripten
Focus Event - Emscripten
Fullscreen Change Event - Emscripten
Fullscreen Strategy - Emscripten
Gamepad Event - Emscripten
Keyboard Event - Emscripten
Mouse Event - Emscripten
Orientation Change Event - Emscripten
Pointerlock Change Event - Emscripten
Touch Event - Emscripten
Touch Point - Emscripten
UiEvent - Emscripten
Visibility Change Event - Emscripten
WebAudio Create Attributes - Emscripten
WebGL Context Attributes - Emscripten
WebSocket Close Event - Emscripten
WebSocket Create Attributes - Emscripten
WebSocket Error Event - Emscripten
WebSocket Message Event - Emscripten
WebSocket Open Event - Emscripten
Wheel Event - WebAudio
Param Descriptor - WebAudio
Worklet Processor Create Options - _IO_
FILE - __
em_ asm_ sig - __
em_ asm_ sig_ builder - __
em_ asm_ type_ tuple - _em_
promise - asyncify_
data_ s - em_
proxying_ ctx - em_
proxying_ queue - em_
queued_ call - em_
settled_ result_ t - emscripten__
EM_ VAL - emscripten_
fetch_ attr_ t - emscripten_
fetch_ t - emscripten_
fiber_ s - emscripten_
internal__ EM_ DESTRUCTORS - emscripten_
internal__ EM_ INVOKER - pthread_
attr_ t
Constants§
- DOM_
VK_ WIN_ OEM_ ATTN - DOM_
VK_ WIN_ OEM_ AUTO - DOM_
VK_ WIN_ OEM_ BACKTAB - DOM_
VK_ WIN_ OEM_ CLEAR - DOM_
VK_ WIN_ OEM_ COPY - DOM_
VK_ WIN_ OEM_ CUSEL - DOM_
VK_ WIN_ OEM_ ENLW - DOM_
VK_ WIN_ OEM_ FINISH - DOM_
VK_ WIN_ OEM_ FJ_ JISHO - DOM_
VK_ WIN_ OEM_ FJ_ LOYA - DOM_
VK_ WIN_ OEM_ FJ_ MASSHOU - DOM_
VK_ WIN_ OEM_ FJ_ ROYA - DOM_
VK_ WIN_ OEM_ FJ_ TOUROKU - DOM_
VK_ WIN_ OEM_ JUMP - DOM_
VK_ WIN_ OEM_ PA1 - DOM_
VK_ WIN_ OEM_ PA2 - DOM_
VK_ WIN_ OEM_ PA3 - DOM_
VK_ WIN_ OEM_ RESET - DOM_
VK_ WIN_ OEM_ WSCTRL - EMSCRIPTEN_
AUDIO_ MAIN_ THREAD - EMSCRIPTEN_
DEVICE_ MOTION_ EVENT_ SUPPORTS_ ACCELERATION - EMSCRIPTEN_
DEVICE_ MOTION_ EVENT_ SUPPORTS_ ACCELERATION_ INCLUDING_ GRAVITY - EMSCRIPTEN_
DEVICE_ MOTION_ EVENT_ SUPPORTS_ ROTATION_ RATE - EMSCRIPTEN_
EVENT_ BATTERYCHARGINGCHANGE - EMSCRIPTEN_
EVENT_ BATTERYLEVELCHANGE - EMSCRIPTEN_
EVENT_ BEFOREUNLOAD - EMSCRIPTEN_
EVENT_ BLUR - EMSCRIPTEN_
EVENT_ CANVASRESIZED - EMSCRIPTEN_
EVENT_ CLICK - EMSCRIPTEN_
EVENT_ CONTEXTMENU - EMSCRIPTEN_
EVENT_ DBLCLICK - EMSCRIPTEN_
EVENT_ DEVICEMOTION - EMSCRIPTEN_
EVENT_ DEVICEORIENTATION - EMSCRIPTEN_
EVENT_ FOCUS - EMSCRIPTEN_
EVENT_ FOCUSIN - EMSCRIPTEN_
EVENT_ FOCUSOUT - EMSCRIPTEN_
EVENT_ FULLSCREENCHANGE - EMSCRIPTEN_
EVENT_ GAMEPADCONNECTED - EMSCRIPTEN_
EVENT_ GAMEPADDISCONNECTED - EMSCRIPTEN_
EVENT_ KEYDOWN - EMSCRIPTEN_
EVENT_ KEYPRESS - EMSCRIPTEN_
EVENT_ KEYUP - EMSCRIPTEN_
EVENT_ MOUSEDOWN - EMSCRIPTEN_
EVENT_ MOUSEENTER - EMSCRIPTEN_
EVENT_ MOUSELEAVE - EMSCRIPTEN_
EVENT_ MOUSEMOVE - EMSCRIPTEN_
EVENT_ MOUSEOUT - EMSCRIPTEN_
EVENT_ MOUSEOVER - EMSCRIPTEN_
EVENT_ MOUSEUP - EMSCRIPTEN_
EVENT_ ORIENTATIONCHANGE - EMSCRIPTEN_
EVENT_ POINTERLOCKCHANGE - EMSCRIPTEN_
EVENT_ POINTERLOCKERROR - EMSCRIPTEN_
EVENT_ RESIZE - EMSCRIPTEN_
EVENT_ SCROLL - EMSCRIPTEN_
EVENT_ TARGET_ INVALID - EMSCRIPTEN_
EVENT_ TOUCHCANCEL - EMSCRIPTEN_
EVENT_ TOUCHEND - EMSCRIPTEN_
EVENT_ TOUCHMOVE - EMSCRIPTEN_
EVENT_ TOUCHSTART - EMSCRIPTEN_
EVENT_ VISIBILITYCHANGE - EMSCRIPTEN_
EVENT_ WEBGLCONTEXTLOST - EMSCRIPTEN_
EVENT_ WEBGLCONTEXTRESTORED - EMSCRIPTEN_
EVENT_ WHEEL - EMSCRIPTEN_
FETCH_ APPEND - EMSCRIPTEN_
FETCH_ LOAD_ TO_ MEMORY - EMSCRIPTEN_
FETCH_ NO_ DOWNLOAD - EMSCRIPTEN_
FETCH_ PERSIST_ FILE - EMSCRIPTEN_
FETCH_ REPLACE - EMSCRIPTEN_
FETCH_ STREAM_ DATA - EMSCRIPTEN_
FETCH_ SYNCHRONOUS - EMSCRIPTEN_
FETCH_ WAITABLE - EMSCRIPTEN_
FULLSCREEN_ CANVAS_ SCALE_ HIDEF - EMSCRIPTEN_
FULLSCREEN_ CANVAS_ SCALE_ NONE - EMSCRIPTEN_
FULLSCREEN_ CANVAS_ SCALE_ STDDEF - EMSCRIPTEN_
FULLSCREEN_ FILTERING_ BILINEAR - EMSCRIPTEN_
FULLSCREEN_ FILTERING_ DEFAULT - EMSCRIPTEN_
FULLSCREEN_ FILTERING_ NEAREST - EMSCRIPTEN_
FULLSCREEN_ SCALE_ ASPECT - EMSCRIPTEN_
FULLSCREEN_ SCALE_ CENTER - EMSCRIPTEN_
FULLSCREEN_ SCALE_ DEFAULT - EMSCRIPTEN_
FULLSCREEN_ SCALE_ STRETCH - EMSCRIPTEN_
HAS_ UNBOUND_ TYPE_ NAMES - EMSCRIPTEN_
LOCK_ T_ STATIC_ INITIALIZER - EMSCRIPTEN_
ORIENTATION_ LANDSCAPE_ PRIMARY - EMSCRIPTEN_
ORIENTATION_ LANDSCAPE_ SECONDARY - EMSCRIPTEN_
ORIENTATION_ PORTRAIT_ PRIMARY - EMSCRIPTEN_
ORIENTATION_ PORTRAIT_ SECONDARY - EMSCRIPTEN_
ORIENTATION_ UNSUPPORTED - EMSCRIPTEN_
PAGE_ SIZE - EMSCRIPTEN_
RESULT_ DEFERRED - EMSCRIPTEN_
RESULT_ FAILED - EMSCRIPTEN_
RESULT_ FAILED_ NOT_ DEFERRED - EMSCRIPTEN_
RESULT_ INVALID_ PARAM - EMSCRIPTEN_
RESULT_ INVALID_ TARGET - EMSCRIPTEN_
RESULT_ NOT_ SUPPORTED - EMSCRIPTEN_
RESULT_ NO_ DATA - EMSCRIPTEN_
RESULT_ SUCCESS - EMSCRIPTEN_
RESULT_ TIMED_ OUT - EMSCRIPTEN_
RESULT_ UNKNOWN_ TARGET - EMSCRIPTEN_
VISIBILITY_ HIDDEN - EMSCRIPTEN_
VISIBILITY_ PRERENDER - EMSCRIPTEN_
VISIBILITY_ UNLOADED - EMSCRIPTEN_
VISIBILITY_ VISIBLE - EMSCRIPTEN_
WASM_ WORKER_ ID_ PARENT - EMSCRIPTEN_
WEBGL_ CONTEXT_ PROXY_ ALWAYS - EMSCRIPTEN_
WEBGL_ CONTEXT_ PROXY_ DISALLOW - EMSCRIPTEN_
WEBGL_ CONTEXT_ PROXY_ FALLBACK - EMSCRIPTEN_
WEBGL_ PARAM_ TYPE_ FLOAT - EMSCRIPTEN_
WEBGL_ PARAM_ TYPE_ INT - EM_
CALLBACK_ THREAD_ CONTEXT_ CALLING_ THREAD - EM_
CALLBACK_ THREAD_ CONTEXT_ MAIN_ BROWSER_ THREAD - EM_
CALLBACK_ THREAD_ CONTEXT_ MAIN_ RUNTIME_ THREAD - EM_
FUNC_ SIG_ ARGUMENTS_ TYPE_ MASK - EM_
FUNC_ SIG_ ARGUMENT_ TYPE_ SIZE_ MASK - EM_
FUNC_ SIG_ ARGUMENT_ TYPE_ SIZE_ SHIFT - EM_
FUNC_ SIG_ NUM_ PARAMETERS_ MASK - EM_
FUNC_ SIG_ NUM_ PARAMETERS_ SHIFT - EM_
FUNC_ SIG_ PARAM_ B - EM_
FUNC_ SIG_ PARAM_ D - EM_
FUNC_ SIG_ PARAM_ F - EM_
FUNC_ SIG_ PARAM_ F2I - EM_
FUNC_ SIG_ PARAM_ I - EM_
FUNC_ SIG_ PARAM_ J - EM_
FUNC_ SIG_ PARAM_ P - EM_
FUNC_ SIG_ RETURN_ VALUE_ D - EM_
FUNC_ SIG_ RETURN_ VALUE_ F - EM_
FUNC_ SIG_ RETURN_ VALUE_ I - EM_
FUNC_ SIG_ RETURN_ VALUE_ J - EM_
FUNC_ SIG_ RETURN_ VALUE_ MASK - EM_
FUNC_ SIG_ RETURN_ VALUE_ P - EM_
FUNC_ SIG_ RETURN_ VALUE_ V - EM_
FUNC_ SIG_ SPECIAL_ INTERNAL - EM_
HTML5_ LONG_ STRING_ LEN_ BYTES - EM_
HTML5_ MEDIUM_ STRING_ LEN_ BYTES - EM_
HTML5_ SHORT_ STRING_ LEN_ BYTES - EM_
LOG_ CONSOLE - EM_
LOG_ C_ STACK - EM_
LOG_ DEBUG - EM_
LOG_ DEMANGLE - EM_
LOG_ ERROR - EM_
LOG_ FUNC_ PARAMS - EM_
LOG_ INFO - EM_
LOG_ JS_ STACK - EM_
LOG_ NO_ PATHS - EM_
LOG_ WARN - EM_
MATH_ E - EM_
MATH_ LN2 - EM_
MATH_ LN10 - EM_
MATH_ LOG2E - EM_
MATH_ LOG10E - EM_
MATH_ PI - EM_
MATH_ SQRT2 - EM_
MATH_ SQRT1_ 2 - EM_
QUEUED_ JS_ CALL_ MAX_ ARGS - EM_
TIMING_ RAF - EM_
TIMING_ SETIMMEDIATE - EM_
TIMING_ SETTIMEOUT - EM_
WEBGL_ POWER_ PREFERENCE_ DEFAULT - EM_
WEBGL_ POWER_ PREFERENCE_ HIGH_ PERFORMANCE - EM_
WEBGL_ POWER_ PREFERENCE_ LOW_ POWER - SEM_
NSEMS_ MAX - SEM_
VALUE_ MAX - WEBAUDIO_
CHANNEL_ COUNT_ MODE_ WEBAUDIO_ CHANNEL_ COUNT_ MODE_ CLAMPED_ MAX - WEBAUDIO_
CHANNEL_ COUNT_ MODE_ WEBAUDIO_ CHANNEL_ COUNT_ MODE_ EXPLICIT - WEBAUDIO_
CHANNEL_ COUNT_ MODE_ WEBAUDIO_ CHANNEL_ COUNT_ MODE_ MAX - WEBAUDIO_
CHANNEL_ INTERPRETATION_ WEBAUDIO_ CHANNEL_ INTERPRETATION_ DISCRETE - WEBAUDIO_
CHANNEL_ INTERPRETATION_ WEBAUDIO_ CHANNEL_ INTERPRETATION_ SPEAKERS - _EMVAL_
FALSE - _EMVAL_
LAST_ RESERVED_ HANDLE - _EMVAL_
NULL - _EMVAL_
TRUE - _EMVAL_
UNDEFINED - _POSIX_
SEM_ NSEMS_ MAX - _POSIX_
SEM_ VALUE_ MAX - __
EMSCRIPTEN_ MAJOR__ - __
EMSCRIPTEN_ MINOR__ - __
EMSCRIPTEN_ TINY__ - __
EMSCRIPTEN_ major__ - __
EMSCRIPTEN_ minor__ - __
EMSCRIPTEN_ tiny__ - em_
promise_ result_ t_ EM_ PROMISE_ FULFILL - em_
promise_ result_ t_ EM_ PROMISE_ MATCH - em_
promise_ result_ t_ EM_ PROMISE_ MATCH_ RELEASE - em_
promise_ result_ t_ EM_ PROMISE_ REJECT - emscripten_
internal_ EM_ INVOKER_ KIND_ CAST - emscripten_
internal_ EM_ INVOKER_ KIND_ CONSTRUCTOR - emscripten_
internal_ EM_ INVOKER_ KIND_ FUNCTION - emscripten_
internal_ EM_ INVOKER_ KIND_ METHOD
Functions§
- _emscripten_
push_ ⚠main_ loop_ blocker - _emscripten_
push_ ⚠uncounted_ main_ loop_ blocker - em_
proxying_ ⚠queue_ create - em_
proxying_ ⚠queue_ destroy - emscripten_
asm_ ⚠const_ async_ on_ main_ thread - emscripten_
asm_ ⚠const_ double - emscripten_
asm_ ⚠const_ double_ sync_ on_ main_ thread - emscripten_
asm_ ⚠const_ int - emscripten_
asm_ ⚠const_ int_ sync_ on_ main_ thread - emscripten_
asm_ ⚠const_ ptr - emscripten_
asm_ ⚠const_ ptr_ sync_ on_ main_ thread - emscripten_
async_ ⚠call - emscripten_
async_ ⚠load_ script - emscripten_
async_ ⚠run_ in_ main_ runtime_ thread_ - emscripten_
async_ ⚠run_ script - emscripten_
async_ ⚠waitable_ close - emscripten_
async_ ⚠waitable_ run_ in_ main_ runtime_ thread_ - emscripten_
async_ ⚠wget - emscripten_
async_ ⚠wget2 - emscripten_
async_ ⚠wget2_ abort - emscripten_
async_ ⚠wget2_ data - emscripten_
async_ ⚠wget_ data - emscripten_
atomic_ ⚠cancel_ all_ wait_ asyncs - emscripten_
atomic_ ⚠cancel_ all_ wait_ asyncs_ at_ address - emscripten_
atomic_ ⚠cancel_ wait_ async - emscripten_
atomic_ ⚠wait_ async - emscripten_
atomic_ ⚠wait_ suspending - emscripten_
atomics_ ⚠is_ lock_ free - emscripten_
audio_ ⚠context_ quantum_ size - emscripten_
audio_ ⚠context_ sample_ rate - emscripten_
audio_ ⚠context_ state - emscripten_
audio_ ⚠node_ connect - emscripten_
audio_ ⚠worklet_ post_ function_ sig - emscripten_
audio_ ⚠worklet_ post_ function_ v - emscripten_
audio_ ⚠worklet_ post_ function_ vd - emscripten_
audio_ ⚠worklet_ post_ function_ vdd - emscripten_
audio_ ⚠worklet_ post_ function_ vddd - emscripten_
audio_ ⚠worklet_ post_ function_ vi - emscripten_
audio_ ⚠worklet_ post_ function_ vii - emscripten_
audio_ ⚠worklet_ post_ function_ viii - emscripten_
builtin_ ⚠calloc - emscripten_
builtin_ ⚠free - emscripten_
builtin_ ⚠malloc - emscripten_
builtin_ ⚠memalign - emscripten_
builtin_ ⚠realloc - emscripten_
call_ ⚠worker - emscripten_
cancel_ ⚠animation_ frame - emscripten_
cancel_ ⚠main_ loop - emscripten_
check_ ⚠blocking_ allowed - emscripten_
clear_ ⚠immediate - emscripten_
clear_ ⚠interval - emscripten_
clear_ ⚠timeout - emscripten_
compute_ ⚠dom_ pk_ code - emscripten_
condvar_ ⚠init - emscripten_
condvar_ ⚠signal - emscripten_
condvar_ ⚠wait - emscripten_
condvar_ ⚠wait_ async - emscripten_
condvar_ ⚠waitinf - emscripten_
console_ ⚠error - emscripten_
console_ ⚠errorf - emscripten_
console_ ⚠log - emscripten_
console_ ⚠logf - emscripten_
console_ ⚠trace - emscripten_
console_ ⚠tracef - emscripten_
console_ ⚠warn - emscripten_
console_ ⚠warnf - emscripten_
create_ ⚠audio_ context - emscripten_
create_ ⚠wasm_ audio_ worklet_ node - emscripten_
create_ ⚠wasm_ audio_ worklet_ processor_ async - emscripten_
create_ ⚠wasm_ worker - emscripten_
create_ ⚠worker - emscripten_
current_ ⚠thread_ is_ audio_ worklet - emscripten_
current_ ⚠thread_ is_ wasm_ worker - emscripten_
current_ ⚠thread_ process_ queued_ calls - emscripten_
date_ ⚠now - emscripten_
dbg ⚠ - emscripten_
dbg_ ⚠backtrace - emscripten_
dbg_ ⚠backtracef - emscripten_
dbgf ⚠ - emscripten_
dbgn ⚠ - emscripten_
debugger ⚠ - emscripten_
destroy_ ⚠audio_ context - emscripten_
destroy_ ⚠web_ audio_ node - emscripten_
destroy_ ⚠worker - emscripten_
dispatch_ ⚠to_ thread_ - emscripten_
dispatch_ ⚠to_ thread_ args - emscripten_
dispatch_ ⚠to_ thread_ async_ - emscripten_
dispatch_ ⚠to_ thread_ async_ args - emscripten_
dlopen ⚠ - emscripten_
dlopen_ ⚠promise - emscripten_
dom_ ⚠pk_ code_ to_ string - emscripten_
dom_ ⚠vk_ to_ string - emscripten_
enter_ ⚠soft_ fullscreen - emscripten_
err ⚠ - emscripten_
errf ⚠ - emscripten_
errn ⚠ - emscripten_
exit_ ⚠fullscreen - emscripten_
exit_ ⚠pointerlock - emscripten_
exit_ ⚠soft_ fullscreen - emscripten_
exit_ ⚠with_ live_ runtime - emscripten_
fetch ⚠ - emscripten_
fetch_ ⚠attr_ init - emscripten_
fetch_ ⚠close - emscripten_
fetch_ ⚠free_ unpacked_ response_ headers - emscripten_
fetch_ ⚠get_ response_ headers - emscripten_
fetch_ ⚠get_ response_ headers_ length - emscripten_
fetch_ ⚠unpack_ response_ headers - emscripten_
fetch_ ⚠wait - emscripten_
fiber_ ⚠init - emscripten_
fiber_ ⚠init_ from_ current_ context - emscripten_
fiber_ ⚠swap - emscripten_
force_ ⚠exit - emscripten_
futex_ ⚠wait - emscripten_
futex_ ⚠wake - emscripten_
get_ ⚠battery_ status - emscripten_
get_ ⚠callstack - emscripten_
get_ ⚠canvas_ element_ size - emscripten_
get_ ⚠canvas_ size - emscripten_
get_ ⚠compiler_ setting - emscripten_
get_ ⚠device_ pixel_ ratio - emscripten_
get_ ⚠devicemotion_ status - emscripten_
get_ ⚠deviceorientation_ status - emscripten_
get_ ⚠element_ css_ size - emscripten_
get_ ⚠exported_ function - emscripten_
get_ ⚠fullscreen_ status - emscripten_
get_ ⚠gamepad_ status - emscripten_
get_ ⚠heap_ max - emscripten_
get_ ⚠heap_ size - emscripten_
get_ ⚠main_ loop_ timing - emscripten_
get_ ⚠mouse_ status - emscripten_
get_ ⚠now - emscripten_
get_ ⚠num_ gamepads - emscripten_
get_ ⚠orientation_ status - emscripten_
get_ ⚠pointerlock_ status - emscripten_
get_ ⚠preloaded_ image_ data - emscripten_
get_ ⚠preloaded_ image_ data_ from_ FILE - emscripten_
get_ ⚠sbrk_ ptr - emscripten_
get_ ⚠screen_ size - emscripten_
get_ ⚠visibility_ status - emscripten_
get_ ⚠window_ title - emscripten_
get_ ⚠worker_ queue_ size - emscripten_
has_ ⚠asyncify - emscripten_
has_ ⚠threading_ support - emscripten_
hide_ ⚠mouse - emscripten_
html5_ ⚠remove_ all_ event_ listeners - emscripten_
html5_ ⚠remove_ event_ listener - emscripten_
idb_ ⚠async_ clear - emscripten_
idb_ ⚠async_ delete - emscripten_
idb_ ⚠async_ exists - emscripten_
idb_ ⚠async_ load - emscripten_
idb_ ⚠async_ store - emscripten_
idb_ ⚠clear - emscripten_
idb_ ⚠delete - emscripten_
idb_ ⚠exists - emscripten_
idb_ ⚠load - emscripten_
idb_ ⚠store - emscripten_
init_ ⚠websocket_ to_ posix_ socket_ bridge - emscripten_
internal__ ⚠emval_ array_ to_ memory_ view - emscripten_
internal__ ⚠emval_ await - emscripten_
internal__ ⚠emval_ coro_ make_ promise - emscripten_
internal__ ⚠emval_ coro_ suspend - emscripten_
internal__ ⚠emval_ create_ invoker - emscripten_
internal__ ⚠emval_ decref - emscripten_
internal__ ⚠emval_ delete - emscripten_
internal__ ⚠emval_ equals - emscripten_
internal__ ⚠emval_ from_ current_ cxa_ exception - emscripten_
internal__ ⚠emval_ get_ global - emscripten_
internal__ ⚠emval_ get_ module_ property - emscripten_
internal__ ⚠emval_ get_ property - emscripten_
internal__ ⚠emval_ greater_ than - emscripten_
internal__ ⚠emval_ in - emscripten_
internal__ ⚠emval_ incref - emscripten_
internal__ ⚠emval_ instanceof - emscripten_
internal__ ⚠emval_ invoke - emscripten_
internal__ ⚠emval_ invoke_ i64 - emscripten_
internal__ ⚠emval_ is_ catchable_ cpp_ exception_ object - emscripten_
internal__ ⚠emval_ is_ number - emscripten_
internal__ ⚠emval_ is_ string - emscripten_
internal__ ⚠emval_ iter_ begin - emscripten_
internal__ ⚠emval_ iter_ next - emscripten_
internal__ ⚠emval_ less_ than - emscripten_
internal__ ⚠emval_ new_ array - emscripten_
internal__ ⚠emval_ new_ array_ from_ memory_ view - emscripten_
internal__ ⚠emval_ new_ cstring - emscripten_
internal__ ⚠emval_ new_ object - emscripten_
internal__ ⚠emval_ new_ u8string - emscripten_
internal__ ⚠emval_ new_ u16string - emscripten_
internal__ ⚠emval_ not - emscripten_
internal__ ⚠emval_ register_ symbol - emscripten_
internal__ ⚠emval_ run_ destructors - emscripten_
internal__ ⚠emval_ set_ property - emscripten_
internal__ ⚠emval_ strictly_ equals - emscripten_
internal__ ⚠emval_ throw - emscripten_
internal__ ⚠emval_ typeof - emscripten_
is_ ⚠main_ browser_ thread - emscripten_
is_ ⚠main_ runtime_ thread - emscripten_
is_ ⚠webgl_ context_ lost - emscripten_
lock_ ⚠async_ acquire - emscripten_
lock_ ⚠busyspin_ wait_ acquire - emscripten_
lock_ ⚠busyspin_ waitinf_ acquire - emscripten_
lock_ ⚠init - emscripten_
lock_ ⚠orientation - emscripten_
lock_ ⚠release - emscripten_
lock_ ⚠try_ acquire - emscripten_
lock_ ⚠wait_ acquire - emscripten_
lock_ ⚠waitinf_ acquire - emscripten_
log ⚠ - emscripten_
main_ ⚠runtime_ thread_ id - emscripten_
main_ ⚠thread_ process_ queued_ calls - emscripten_
malloc_ ⚠wasm_ worker - emscripten_
math_ ⚠acos - emscripten_
math_ ⚠acosh - emscripten_
math_ ⚠asin - emscripten_
math_ ⚠asinh - emscripten_
math_ ⚠atan - emscripten_
math_ ⚠atan2 - emscripten_
math_ ⚠atanh - emscripten_
math_ ⚠cbrt - emscripten_
math_ ⚠cos - emscripten_
math_ ⚠cosh - emscripten_
math_ ⚠exp - emscripten_
math_ ⚠expm1 - emscripten_
math_ ⚠fmod - emscripten_
math_ ⚠hypot - emscripten_
math_ ⚠log - emscripten_
math_ ⚠log2 - emscripten_
math_ ⚠log1p - emscripten_
math_ ⚠log10 - emscripten_
math_ ⚠pow - emscripten_
math_ ⚠random - emscripten_
math_ ⚠round - emscripten_
math_ ⚠sign - emscripten_
math_ ⚠sin - emscripten_
math_ ⚠sinh - emscripten_
math_ ⚠sqrt - emscripten_
math_ ⚠tan - emscripten_
math_ ⚠tanh - emscripten_
navigator_ ⚠hardware_ concurrency - emscripten_
num_ ⚠logical_ cores - emscripten_
out ⚠ - emscripten_
outf ⚠ - emscripten_
outn ⚠ - emscripten_
pause_ ⚠main_ loop - emscripten_
performance_ ⚠now - emscripten_
print_ ⚠double - emscripten_
promise_ ⚠all - emscripten_
promise_ ⚠all_ settled - emscripten_
promise_ ⚠any - emscripten_
promise_ ⚠await - emscripten_
promise_ ⚠await_ unchecked - emscripten_
promise_ ⚠create - emscripten_
promise_ ⚠destroy - emscripten_
promise_ ⚠race - emscripten_
promise_ ⚠resolve - emscripten_
promise_ ⚠then - emscripten_
proxy_ ⚠async - emscripten_
proxy_ ⚠callback - emscripten_
proxy_ ⚠callback_ with_ ctx - emscripten_
proxy_ ⚠execute_ queue - emscripten_
proxy_ ⚠finish - emscripten_
proxy_ ⚠get_ system_ queue - emscripten_
proxy_ ⚠promise - emscripten_
proxy_ ⚠promise_ with_ ctx - emscripten_
proxy_ ⚠sync - emscripten_
proxy_ ⚠sync_ with_ ctx - emscripten_
pthread_ ⚠attr_ gettransferredcanvases - emscripten_
pthread_ ⚠attr_ settransferredcanvases - emscripten_
random ⚠ - emscripten_
request_ ⚠animation_ frame - emscripten_
request_ ⚠animation_ frame_ loop - emscripten_
request_ ⚠fullscreen - emscripten_
request_ ⚠fullscreen_ strategy - emscripten_
request_ ⚠pointerlock - emscripten_
resize_ ⚠heap - emscripten_
resume_ ⚠audio_ context_ async - emscripten_
resume_ ⚠audio_ context_ sync - emscripten_
resume_ ⚠main_ loop - emscripten_
run_ ⚠preload_ plugins - emscripten_
run_ ⚠preload_ plugins_ data - emscripten_
run_ ⚠script - emscripten_
run_ ⚠script_ int - emscripten_
run_ ⚠script_ string - emscripten_
runtime_ ⚠keepalive_ check - emscripten_
runtime_ ⚠keepalive_ pop - emscripten_
runtime_ ⚠keepalive_ push - emscripten_
sample_ ⚠gamepad_ data - emscripten_
scan_ ⚠registers - emscripten_
scan_ ⚠stack - emscripten_
semaphore_ ⚠async_ acquire - emscripten_
semaphore_ ⚠init - emscripten_
semaphore_ ⚠release - emscripten_
semaphore_ ⚠try_ acquire - emscripten_
semaphore_ ⚠wait_ acquire - emscripten_
semaphore_ ⚠waitinf_ acquire - emscripten_
set_ ⚠batterychargingchange_ callback_ on_ thread - emscripten_
set_ ⚠batterylevelchange_ callback_ on_ thread - emscripten_
set_ ⚠beforeunload_ callback_ on_ thread - emscripten_
set_ ⚠blur_ callback_ on_ thread - emscripten_
set_ ⚠canvas_ element_ size - emscripten_
set_ ⚠canvas_ size - emscripten_
set_ ⚠click_ callback_ on_ thread - emscripten_
set_ ⚠contextmenu_ callback_ on_ thread - emscripten_
set_ ⚠dblclick_ callback_ on_ thread - emscripten_
set_ ⚠devicemotion_ callback_ on_ thread - emscripten_
set_ ⚠deviceorientation_ callback_ on_ thread - emscripten_
set_ ⚠element_ css_ size - emscripten_
set_ ⚠focus_ callback_ on_ thread - emscripten_
set_ ⚠focusin_ callback_ on_ thread - emscripten_
set_ ⚠focusout_ callback_ on_ thread - emscripten_
set_ ⚠fullscreenchange_ callback_ on_ thread - emscripten_
set_ ⚠gamepadconnected_ callback_ on_ thread - emscripten_
set_ ⚠gamepaddisconnected_ callback_ on_ thread - emscripten_
set_ ⚠immediate - emscripten_
set_ ⚠immediate_ loop - emscripten_
set_ ⚠interval - emscripten_
set_ ⚠keydown_ callback_ on_ thread - emscripten_
set_ ⚠keypress_ callback_ on_ thread - emscripten_
set_ ⚠keyup_ callback_ on_ thread - emscripten_
set_ ⚠main_ loop - emscripten_
set_ ⚠main_ loop_ arg - emscripten_
set_ ⚠main_ loop_ expected_ blockers - emscripten_
set_ ⚠main_ loop_ timing - emscripten_
set_ ⚠mousedown_ callback_ on_ thread - emscripten_
set_ ⚠mouseenter_ callback_ on_ thread - emscripten_
set_ ⚠mouseleave_ callback_ on_ thread - emscripten_
set_ ⚠mousemove_ callback_ on_ thread - emscripten_
set_ ⚠mouseout_ callback_ on_ thread - emscripten_
set_ ⚠mouseover_ callback_ on_ thread - emscripten_
set_ ⚠mouseup_ callback_ on_ thread - emscripten_
set_ ⚠orientationchange_ callback_ on_ thread - emscripten_
set_ ⚠pointerlockchange_ callback_ on_ thread - emscripten_
set_ ⚠pointerlockerror_ callback_ on_ thread - emscripten_
set_ ⚠resize_ callback_ on_ thread - emscripten_
set_ ⚠scroll_ callback_ on_ thread - emscripten_
set_ ⚠socket_ close_ callback - emscripten_
set_ ⚠socket_ connection_ callback - emscripten_
set_ ⚠socket_ error_ callback - emscripten_
set_ ⚠socket_ listen_ callback - emscripten_
set_ ⚠socket_ message_ callback - emscripten_
set_ ⚠socket_ open_ callback - emscripten_
set_ ⚠thread_ name - emscripten_
set_ ⚠timeout - emscripten_
set_ ⚠timeout_ loop - emscripten_
set_ ⚠touchcancel_ callback_ on_ thread - emscripten_
set_ ⚠touchend_ callback_ on_ thread - emscripten_
set_ ⚠touchmove_ callback_ on_ thread - emscripten_
set_ ⚠touchstart_ callback_ on_ thread - emscripten_
set_ ⚠visibilitychange_ callback_ on_ thread - emscripten_
set_ ⚠webglcontextlost_ callback_ on_ thread - emscripten_
set_ ⚠webglcontextrestored_ callback_ on_ thread - emscripten_
set_ ⚠wheel_ callback_ on_ thread - emscripten_
set_ ⚠window_ title - emscripten_
sleep ⚠ - emscripten_
stack_ ⚠get_ base - emscripten_
stack_ ⚠get_ current - emscripten_
stack_ ⚠get_ end - emscripten_
stack_ ⚠get_ free - emscripten_
stack_ ⚠init - emscripten_
stack_ ⚠set_ limits - emscripten_
start_ ⚠wasm_ audio_ worklet_ thread_ async - emscripten_
supports_ ⚠offscreencanvas - emscripten_
sync_ ⚠run_ in_ main_ runtime_ thread_ - emscripten_
terminate_ ⚠all_ wasm_ workers - emscripten_
terminate_ ⚠wasm_ worker - emscripten_
thread_ ⚠sleep - emscripten_
throw_ ⚠number - emscripten_
throw_ ⚠string - emscripten_
unlock_ ⚠orientation - emscripten_
unwind_ ⚠to_ js_ event_ loop - emscripten_
vibrate ⚠ - emscripten_
vibrate_ ⚠pattern - emscripten_
wait_ ⚠for_ call_ i - emscripten_
wait_ ⚠for_ call_ v - emscripten_
wasm_ ⚠worker_ post_ function_ sig - emscripten_
wasm_ ⚠worker_ post_ function_ v - emscripten_
wasm_ ⚠worker_ post_ function_ vd - emscripten_
wasm_ ⚠worker_ post_ function_ vdd - emscripten_
wasm_ ⚠worker_ post_ function_ vddd - emscripten_
wasm_ ⚠worker_ post_ function_ vi - emscripten_
wasm_ ⚠worker_ post_ function_ vii - emscripten_
wasm_ ⚠worker_ post_ function_ viii - emscripten_
wasm_ ⚠worker_ self_ id - emscripten_
wasm_ ⚠worker_ sleep - emscripten_
webgl1_ ⚠get_ proc_ address - emscripten_
webgl2_ ⚠get_ proc_ address - emscripten_
webgl_ ⚠commit_ frame - emscripten_
webgl_ ⚠create_ context - emscripten_
webgl_ ⚠destroy_ context - emscripten_
webgl_ ⚠enable_ ANGLE_ instanced_ arrays - emscripten_
webgl_ ⚠enable_ EXT_ clip_ control - emscripten_
webgl_ ⚠enable_ EXT_ polygon_ offset_ clamp - emscripten_
webgl_ ⚠enable_ OES_ vertex_ array_ object - emscripten_
webgl_ ⚠enable_ WEBGL_ draw_ buffers - emscripten_
webgl_ ⚠enable_ WEBGL_ draw_ instanced_ base_ vertex_ base_ instance - emscripten_
webgl_ ⚠enable_ WEBGL_ multi_ draw - emscripten_
webgl_ ⚠enable_ WEBGL_ multi_ draw_ instanced_ base_ vertex_ base_ instance - emscripten_
webgl_ ⚠enable_ WEBGL_ polygon_ mode - emscripten_
webgl_ ⚠enable_ extension - emscripten_
webgl_ ⚠get_ context_ attributes - emscripten_
webgl_ ⚠get_ current_ context - emscripten_
webgl_ ⚠get_ drawing_ buffer_ size - emscripten_
webgl_ ⚠get_ parameter_ d - emscripten_
webgl_ ⚠get_ parameter_ i64v - emscripten_
webgl_ ⚠get_ parameter_ o - emscripten_
webgl_ ⚠get_ parameter_ utf8 - emscripten_
webgl_ ⚠get_ parameter_ v - emscripten_
webgl_ ⚠get_ proc_ address - emscripten_
webgl_ ⚠get_ program_ info_ log_ utf8 - emscripten_
webgl_ ⚠get_ program_ parameter_ d - emscripten_
webgl_ ⚠get_ shader_ info_ log_ utf8 - emscripten_
webgl_ ⚠get_ shader_ parameter_ d - emscripten_
webgl_ ⚠get_ shader_ source_ utf8 - emscripten_
webgl_ ⚠get_ supported_ extensions - emscripten_
webgl_ ⚠get_ uniform_ d - emscripten_
webgl_ ⚠get_ uniform_ v - emscripten_
webgl_ ⚠get_ vertex_ attrib_ d - emscripten_
webgl_ ⚠get_ vertex_ attrib_ o - emscripten_
webgl_ ⚠get_ vertex_ attrib_ v - emscripten_
webgl_ ⚠init_ context_ attributes - emscripten_
webgl_ ⚠make_ context_ current - emscripten_
websocket_ ⚠close - emscripten_
websocket_ ⚠deinitialize - emscripten_
websocket_ ⚠delete - emscripten_
websocket_ ⚠get_ buffered_ amount - emscripten_
websocket_ ⚠get_ extensions - emscripten_
websocket_ ⚠get_ extensions_ length - emscripten_
websocket_ ⚠get_ protocol - emscripten_
websocket_ ⚠get_ protocol_ length - emscripten_
websocket_ ⚠get_ ready_ state - emscripten_
websocket_ ⚠get_ url - emscripten_
websocket_ ⚠get_ url_ length - emscripten_
websocket_ ⚠is_ supported - emscripten_
websocket_ ⚠new - emscripten_
websocket_ ⚠send_ binary - emscripten_
websocket_ ⚠send_ utf8_ text - emscripten_
websocket_ ⚠set_ onclose_ callback_ on_ thread - emscripten_
websocket_ ⚠set_ onerror_ callback_ on_ thread - emscripten_
websocket_ ⚠set_ onmessage_ callback_ on_ thread - emscripten_
websocket_ ⚠set_ onopen_ callback_ on_ thread - emscripten_
wget ⚠ - emscripten_
wget_ ⚠data - emscripten_
worker_ ⚠respond - emscripten_
worker_ ⚠respond_ provisionally
Type Aliases§
- AUDIO_
CONTEXT_ STATE - EMSCRIPTEN_
AUDIO_ WORKLET_ NODE_ T - EMSCRIPTEN_
WEBAUDIO_ T - EMSCRIPTEN_
WEBGL_ CONTEXT_ HANDLE - EMSCRIPTEN_
WEBGL_ CONTEXT_ PROXY_ MODE - EM_
WEBGL_ POWER_ PREFERENCE - Emscripten
Resume Audio Context Callback - Emscripten
Start WebAudio Worklet Callback - Emscripten
Worklet Node Process Callback - Emscripten
Worklet Processor Created Callback - FILE
- WEBAUDIO_
CHANNEL_ COUNT_ MODE - WEBAUDIO_
CHANNEL_ INTERPRETATION - WEBAUDIO_
PARAM_ AUTOMATION_ RATE - __
builtin_ va_ list - asyncify_
data_ t - em_
arg_ callback_ func - em_
async_ wget2_ data_ onerror_ func - em_
async_ wget2_ data_ onload_ func - em_
async_ wget2_ data_ onprogress_ func - em_
async_ wget2_ onload_ func - em_
async_ wget2_ onstatus_ func - em_
async_ wget_ onload_ func - em_
battery_ callback_ func - em_
beforeunload_ callback - em_
callback_ func - em_
canvasresized_ callback_ func - em_
devicemotion_ callback_ func - em_
deviceorientation_ callback_ func - em_
dlopen_ callback - em_
focus_ callback_ func - em_
fullscreenchange_ callback_ func - em_
gamepad_ callback_ func - em_
idb_ exists_ func - em_
idb_ onload_ func - em_
key_ callback_ func - em_
mouse_ callback_ func - em_
orientationchange_ callback_ func - em_
pointerlockchange_ callback_ func - em_
pointerlockerror_ callback_ func - em_
promise_ callback_ t - em_
promise_ result_ t - em_
promise_ t - em_
run_ preload_ plugins_ data_ onload_ func - em_
scan_ func - em_
socket_ callback - em_
socket_ error_ callback - em_
str_ callback_ func - em_
touch_ callback_ func - em_
ui_ callback_ func - em_
visibilitychange_ callback_ func - em_
webgl_ context_ callback - em_
websocket_ close_ callback_ func - em_
websocket_ error_ callback_ func - em_
websocket_ message_ callback_ func - em_
websocket_ open_ callback_ func - em_
wheel_ callback_ func - em_
worker_ callback_ func - emscripten_
EM_ VAL - emscripten_
align1_ double - emscripten_
align1_ float - emscripten_
align1_ int - emscripten_
align1_ int64 - emscripten_
align1_ short - emscripten_
align2_ double - emscripten_
align2_ float - emscripten_
align2_ int - emscripten_
align2_ int64 - emscripten_
align4_ double - emscripten_
align4_ int64 - emscripten_
async_ wait_ callback_ t - emscripten_
async_ wait_ volatile_ callback_ t - emscripten_
fiber_ t - emscripten_
internal_ EM_ DESTRUCTORS - emscripten_
internal_ EM_ GENERIC_ WIRE_ TYPE - emscripten_
internal_ EM_ INVOKER - emscripten_
internal_ EM_ INVOKER_ KIND - emscripten_
internal_ EM_ VAR_ ARGS - emscripten_
internal_ TYPEID - emscripten_
internal__ bindgen_ ty_ 1 - pthread_
t - rep
- va_list
- worker_
handle