> This page is for NeMo Relay, version Latest (v0.10.0) (default).
> For other versions, use one of these documentation indexes:
> - Latest (v0.10.0) (default): https://docs.nvidia.com/nemo/relay/latest/llms.txt
> - dev: https://docs.nvidia.com/nemo/relay/dev/llms.txt
> - v0.10.0: https://docs.nvidia.com/nemo/relay/v0.10.0/llms.txt
> - v0.9.4: https://docs.nvidia.com/nemo/relay/v0.9.4/llms.txt
> - v0.8.4: https://docs.nvidia.com/nemo/relay/v0.8.4/llms.txt
> - v0.7.3: https://docs.nvidia.com/nemo/relay/v0.7.3/llms.txt
> - v0.6.0: https://docs.nvidia.com/nemo/relay/v0.6.0/llms.txt
> - v0.5.0: https://docs.nvidia.com/nemo/relay/v0.5.0/llms.txt

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.nvidia.com/nemo/relay/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.nvidia.com/nemo/relay/_mcp/server.

# Struct Nemo Relay Native Host ApiV7

> ABI-v7 host table for context-aware LLM execution intercept callbacks.

Generated from `cargo doc --no-deps -p nemo-relay -p nemo-relay-adaptive -p nemo-relay-pii-redaction -p nemo-relay-ffi -p nemo-relay-types -p nemo-relay-plugin -p nemo-relay-worker-proto -p nemo-relay-worker`.

<pre />

ABI-v7 host table for context-aware LLM execution intercept callbacks.

The inherited function-pointer table has the same fields as ABI v6, but its LLM execution callback typedefs include [`NemoRelayNativeLlmExecutionContext`](/reference/api/rust-library-reference/nemo-relay-plugin/struct-nemorelaynativellmexecutioncontext). The distinct table version prevents either side from invoking a callback compiled with the old argument layout.

## Fields

### `v6: NemoRelayNativeHostApiV6`

ABI-v6 table compiled with the ABI-v7 callback typedefs.

### `plugin_context_register_async_llm_execution_intercept: unsafe extern "C" fn(ctx: *mut NemoRelayNativePluginContext, name: *const NemoRelayNativeString, priority: i32, cb: NemoRelayNativeAsyncLlmExecutionCb, user_data: *mut c_void, free_fn: NemoRelayNativeFreeFn) -> NemoRelayStatus`

Registers a completion-based asynchronous LLM execution intercept.

### `async_stream_retain: unsafe extern "C" fn(stream: *const NemoRelayNativeAsyncStream) -> NemoRelayStatus`

Retains an output stream for an execution codec facade.

### `async_stream_llm_request_codec_decode: unsafe extern "C" fn(stream: *const NemoRelayNativeAsyncStream, request_json: *const NemoRelayNativeString, out: *mut *mut NemoRelayNativeString) -> NemoRelayStatus`

Decodes an LLM request through the request codec owned by `stream`.

The operation fails after the output stream settles or is cancelled.

### `async_stream_llm_request_codec_encode: unsafe extern "C" fn(stream: *const NemoRelayNativeAsyncStream, annotated_json: *const NemoRelayNativeString, original_json: *const NemoRelayNativeString, out: *mut *mut NemoRelayNativeString) -> NemoRelayStatus`

Encodes an annotated request through the request codec owned by `stream`.

The operation fails after the output stream settles or is cancelled.

## Trait Implementations

### `impl Clone for NemoRelayNativeHostApiV7`

<pre />

#### `clone`

<pre />

#### `clone_from`

<pre />

### `impl Copy for NemoRelayNativeHostApiV7`

<pre />

### `impl Send for NemoRelayNativeHostApiV7`

<pre />

### `impl Sync for NemoRelayNativeHostApiV7`

<pre />