@runno/wasi
    Preparing search index...

    Interface FileSystemProvider

    Raw synchronous filesystem provider.

    Mirrors the preview1 filesystem-syscall surface with JS-native shapes: Uint8Array for buffers, bigint for 64-bit offsets, structured Filestat / Fdstat / DirEntry records. No raw pointers — memory marshalling lives in wasix.ts, mirroring wasi.ts.

    All methods are synchronous. An AsyncFileSystemProvider variant (for IndexedDB / server-backed filesystems) ships in a later slice.

    Provider methods throw WASIXError to signal a specific errno; any other thrown value is treated as EIO by the runtime.

    interface FileSystemProvider {
        fdClose(fd: number): void;
        fdFdstatGet(fd: number): Fdstat;
        fdFdstatSetFlags(fd: number, flags: number): void;
        fdFilestatGet(fd: number): Filestat;
        fdPrestatDirName(fd: number): string;
        fdPrestatGet(fd: number): null | PreopenInfo;
        fdRead(fd: number, bufs: Uint8Array<ArrayBufferLike>[]): number;
        fdReaddir(fd: number, cookie: bigint): DirEntry[];
        fdSeek(fd: number, offset: bigint, whence: number): bigint;
        fdWrite(fd: number, bufs: Uint8Array<ArrayBufferLike>[]): number;
        pathCreateDirectory(fdDir: number, path: string): void;
        pathFilestatGet(fdDir: number, dirflags: number, path: string): Filestat;
        pathOpen(
            fdDir: number,
            dirflags: number,
            path: string,
            oflags: number,
            rightsBase: bigint,
            rightsInheriting: bigint,
            fdflags: number,
        ): number;
        pathRemoveDirectory(fdDir: number, path: string): void;
        pathRename(
            oldFdDir: number,
            oldPath: string,
            newFdDir: number,
            newPath: string,
        ): void;
        pathUnlinkFile(fdDir: number, path: string): void;
    }

    Implemented by

    Index

    Methods

    • Update the descriptor's file-descriptor flags (APPEND / NONBLOCK / …).

      Parameters

      • fd: number
      • flags: number

      Returns void

    • Read into the provided buffer list; returns total bytes read.

      Parameters

      • fd: number
      • bufs: Uint8Array<ArrayBufferLike>[]

      Returns number

    • Read directory entries. Returns up to the entries starting from cookie. The runtime is responsible for truncating to the guest's buffer size.

      Parameters

      • fd: number
      • cookie: bigint

      Returns DirEntry[]

    • Seek; returns the new absolute offset.

      Parameters

      • fd: number
      • offset: bigint
      • whence: number

      Returns bigint

    • Write the provided buffer list; returns total bytes written.

      Parameters

      • fd: number
      • bufs: Uint8Array<ArrayBufferLike>[]

      Returns number

    • Open a path relative to the directory fdDir. Returns the new fd. oflags / fdflags mirror preview1 semantics.

      Parameters

      • fdDir: number
      • dirflags: number
      • path: string
      • oflags: number
      • rightsBase: bigint
      • rightsInheriting: bigint
      • fdflags: number

      Returns number

    • Remove an (empty) directory at path relative to fdDir.

      Parameters

      • fdDir: number
      • path: string

      Returns void

    • Rename oldPath under oldFdDir to newPath under newFdDir.

      Parameters

      • oldFdDir: number
      • oldPath: string
      • newFdDir: number
      • newPath: string

      Returns void