52 lines
838 B
D
52 lines
838 B
D
module wasm;
|
|
|
|
import ldc.attributes;
|
|
|
|
enum SprintfType : size_t
|
|
{
|
|
None,
|
|
U8,
|
|
I8,
|
|
U16,
|
|
I16,
|
|
U32,
|
|
I32,
|
|
U64,
|
|
I64,
|
|
SizeT,
|
|
F32,
|
|
F64,
|
|
Bool,
|
|
String,
|
|
U8Array,
|
|
I8Array,
|
|
U16Array,
|
|
I16Array,
|
|
U32Array,
|
|
I32Array,
|
|
U64Array,
|
|
I64Array,
|
|
F32Array,
|
|
F64Array,
|
|
Char,
|
|
CharArray,
|
|
}
|
|
|
|
extern extern(C) @nogc pure @llvmAttr("wasm-import-module", "env"):
|
|
|
|
@llvmAttr("wasm-import-name", "Console") void
|
|
Console(string str, bool write_line);
|
|
|
|
@llvmAttr("wasm-import-name", "Abort") void
|
|
Abort(string message);
|
|
|
|
@llvmAttr("wasm-import-name", "SprintfLoadValue") void
|
|
SprintfLoadValue(const(void)* ptr, SprintfType type);
|
|
|
|
@llvmAttr("wasm-import-name", "SprintfLoadArray") void
|
|
SprintfLoadArray(size_t length, const(void)* ptr, SprintfType type);
|
|
|
|
@llvmAttr("wasm-import-name", "SprintfEnd") size_t
|
|
SprintfEnd(char[] buffer, string format);
|
|
|