libnvme\_transport\_handle\_set\_submit\_exit(9) libnvme API manual libnvme\_transport\_handle\_set\_submit\_exit(9)

# [NAME](#NAME)

libnvme\_transport\_handle\_set\_submit\_exit - Install a submit-exit callback

# [SYNOPSIS](#SYNOPSIS)

**void libnvme\_transport\_handle\_set\_submit\_exit** **(struct libnvme\_transport\_handle \*hdl ,** **void (\*submit\_exit)(struct libnvme\_transport\_handle \*hdl, struct libnvme\_passthru\_cmd \*cmd, int err, void \*user\_data) );**

# [ARGUMENTS](#ARGUMENTS)

[hdl](#hdl)

Transport handle to configure

[submit\_exit](#submit_exit)

Callback invoked after a passthrough command completes. The function receives the command, the completion status *err* (0 for success, a negative errno, or an NVMe status value), and the *user\_data* pointer returned earlier by the submit-entry callback. Implementations typically use this hook for logging, tracing, or freeing per-command state.

# [DESCRIPTION](#DESCRIPTION)

Installs a callback that is invoked when a passthrough command leaves the NVMe submission path. Passing NULL removes any previously installed callback.

# [RETURN](#RETURN)

None.

libnvme\_transport\_handle\_set\_submit\_exit September 2026

---

Document: libnvme_transport_handle_set_submit_exit-libnvme3(2) from nvme-cli 3.1-r0 (Chainguard OS)
Source: https://github.com/linux-nvme/nvme-cli
