1nvme_mi_admin_xfer(9) libnvme API manual nvme_mi_admin_xfer(9)
2
3
4
6 nvme_mi_admin_xfer - Raw admin transfer interface.
7
9 int nvme_mi_admin_xfer (nvme_mi_ctrl_t ctrl , struct nvme_mi_ad‐
10 min_req_hdr *admin_req , size_t req_data_size , struct nvme_mi_ad‐
11 min_resp_hdr *admin_resp , off_t resp_data_offset , size_t
12 *resp_data_size );
13
15 ctrl controller to send the admin command to
16
17 admin_req request data
18
19 req_data_size
20 size of request data payload
21
22 admin_resp buffer for response data
23
24 resp_data_offset
25 offset into request data to retrieve from controller
26
27 resp_data_size
28 size of response data buffer, updated to received size
29
31 Performs an arbitrary NVMe Admin command, using the provided request
32 data, in admin_req. The size of the request data *payload* is specified
33 in req_data_size - this does not include the standard header length (so
34 a header-only request would have a size of 0).
35
36 On success, response data is stored in admin_resp, which has an op‐
37 tional appended payload buffer of resp_data_size bytes. The actual pay‐
38 load transferred will be stored in resp_data_size. These sizes do not
39 include the Admin request header, so 0 represents no payload.
40
41 As with all Admin commands, we can request partial data from the Admin
42 Response payload, offset by resp_data_offset.
43
44 See: struct nvme_mi_admin_req_hdr and struct nvme_mi_admin_resp_hdr.
45
47 The nvme command status if a response was received (see enum nvme_sta‐
48 tus_field) or -1 with errno set otherwise..
49
50
51
52November 2022 nvme_mi_admin_xfer nvme_mi_admin_xfer(9)