Provided by: libnvme-dev_1.3-1~ubuntu22.04_amd64 bug

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..