libnvme\_mi\_init\_transport\_handle(9) libnvme API manual libnvme\_mi\_init\_transport\_handle(9)

# [NAME](#NAME)

libnvme\_mi\_init\_transport\_handle - initialise a transport handle to NVMe controller.

# [SYNOPSIS](#SYNOPSIS)

**struct libnvme\_transport\_handle * libnvme\_mi\_init\_transport\_handle** **(struct libnvme\_mi\_ep \*ep ,** **\_\_u16 ctrl\_id );**

# [ARGUMENTS](#ARGUMENTS)

[ep](#ep)

Endpoint to create under

[ctrl\_id](#ctrl_id)

ID of controller to initialize.

# [DESCRIPTION](#DESCRIPTION)

Create a connection to a controller behind the endpoint specified in *ep*. Controller IDs may be queried from the endpoint through *libnvme\_mi\_mi\_read\_mi\_data\_ctrl\_list*.

See *libnvme\_mi\_close\_transport\_handle*

# [RETURN](#RETURN)

New transport handle object, or NULL on failure.

libnvme\_mi\_init\_transport\_handle September 2026

---

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