Man page - nvme_mi_admin_xfer(2)

Packages contains this manual

Manual

nvme_mi_admin_xfer

NAME
SYNOPSIS
ARGUMENTS
DESCRIPTION
RETURN

NAME

nvme_mi_admin_xfer - Raw admin transfer interface.

SYNOPSIS

int nvme_mi_admin_xfer (nvme_mi_ctrl_t ctrl , struct nvme_mi_admin_req_hdr *admin_req , size_t req_data_size , struct nvme_mi_admin_resp_hdr *admin_resp , off_t resp_data_offset , size_t *resp_data_size );

ARGUMENTS

ctrl

controller to send the admin command to

admin_req

request data

req_data_size

size of request data payload

admin_resp

buffer for response data

resp_data_offset

offset into request data to retrieve from controller

resp_data_size

size of response data buffer, updated to received size

DESCRIPTION

Performs an arbitrary NVMe Admin command, using the provided request data, in admin_req . The size of the request data *payload* is specified in req_data_size - this does not include the standard header length (so a header-only request would have a size of 0).

On success, response data is stored in admin_resp , which has an optional appended payload buffer of resp_data_size bytes. The actual payload transferred will be stored in resp_data_size . These sizes do not include the Admin request header, so 0 represents no payload.

As with all Admin commands, we can request partial data from the Admin Response payload, offset by resp_data_offset .

See: struct nvme_mi_admin_req_hdr and struct nvme_mi_admin_resp_hdr .

RETURN

The nvme command status if a response was received (see enum nvme_status_field ) or -1 with errno set otherwise..