| // Copyright (C) 2018 The Android Open Source Project |
| // |
| // Licensed under the Apache License, Version 2.0 (the "License"); |
| // you may not use this file except in compliance with the License. |
| // You may obtain a copy of the License at |
| // |
| // http://www.apache.org/licenses/LICENSE-2.0 |
| // |
| // Unless required by applicable law or agreed to in writing, software |
| // distributed under the License is distributed on an "AS IS" BASIS, |
| // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| // See the License for the specific language governing permissions and |
| // limitations under the License. |
| |
| export = Wasm; |
| |
| declare function Wasm(_: Wasm.ModuleArgs): Wasm.Module; |
| |
| // See https://kripken.github.io/emscripten-site/docs/api_reference/module.html |
| declare namespace Wasm { |
| export interface InitWasm { |
| (_: ModuleArgs): Module; |
| } |
| |
| export interface FileSystemType {} |
| |
| export interface FileSystemTypes { |
| MEMFS: FileSystemType; |
| IDBFS: FileSystemType; |
| WORKERFS: FileSystemType; |
| } |
| |
| export interface FileSystemNode { |
| contents: Uint8Array; |
| usedBytes: number; |
| } |
| |
| export interface FileSystem { |
| mkdir(path: string, mode?: number): any; |
| mount(type: Wasm.FileSystemType, opts: any, mountpoint: string): any; |
| unmount(mountpoint: string): void; |
| unlink(mountpoint: string): void; |
| lookupPath(path: string): {path: string, node: Wasm.FileSystemNode}; |
| filesystems: Wasm.FileSystemTypes; |
| } |
| |
| export interface Module { |
| callMain(args: string[]): void; |
| addFunction(f: any, argTypes: string): void; |
| ccall( |
| ident: string, |
| returnType: string, |
| argTypes: string[], |
| args: any[], |
| ): void; |
| HEAPU8: Uint8Array; |
| FS: FileSystem; |
| } |
| |
| export interface ModuleArgs { |
| noInitialRun?: boolean; |
| locateFile(s: string): string; |
| print(s: string): void; |
| printErr(s: string): void; |
| onRuntimeInitialized(): void; |
| onAbort(): void; |
| } |
| } |