package extism

  1. Overview
  2. Docs

Current_plugin represents the plugin that is currently running, it should it should only be used from a host function

type t

Opaque type, wraps ExtismCurrentPlugin

type memory_block = {
  1. offs : Unsigned.UInt64.t;
  2. len : Unsigned.UInt64.t;
}

Represents a block of guest memory

val memory : ?offs:Unsigned.UInt64.t -> t -> Unsigned.uint8 Ctypes.ptr

Get pointer to entire plugin memory

val find : t -> Unsigned.UInt64.t -> memory_block option

Find memory block

val alloc : t -> int -> memory_block

Allocate a new block of memory

val free : t -> memory_block -> unit

Free an allocated block of memory

val return_string : t -> Val_array.t -> int -> string -> unit
val return_bigstring : t -> Val_array.t -> int -> Bigstringaf.t -> unit
val input_string : t -> Val_array.t -> int -> string
val input_bigstring : t -> Val_array.t -> int -> Bigstringaf.t
module Memory_block : sig ... end

Some helpter functions for reading/writing memory

OCaml

Innovation. Community. Security.