summaryrefslogtreecommitdiffstats
path: root/doc/man/nvme_mi_admin_xfer.2
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2022-07-26 05:25:28 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2022-07-26 05:34:52 +0000
commit9ecff41dd11e920286f9be670a0ec3a668371d1d (patch)
tree89c73ab6742847ca5f12056e6c0dd4ec6bbe79d0 /doc/man/nvme_mi_admin_xfer.2
parentAdding debian version 1.0-1. (diff)
downloadlibnvme-9ecff41dd11e920286f9be670a0ec3a668371d1d.tar.xz
libnvme-9ecff41dd11e920286f9be670a0ec3a668371d1d.zip
Merging upstream version 1.1~rc0.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'doc/man/nvme_mi_admin_xfer.2')
-rw-r--r--doc/man/nvme_mi_admin_xfer.241
1 files changed, 41 insertions, 0 deletions
diff --git a/doc/man/nvme_mi_admin_xfer.2 b/doc/man/nvme_mi_admin_xfer.2
new file mode 100644
index 0000000..a86e8bf
--- /dev/null
+++ b/doc/man/nvme_mi_admin_xfer.2
@@ -0,0 +1,41 @@
+.TH "nvme_mi_admin_xfer" 9 "nvme_mi_admin_xfer" "July 2022" "libnvme API manual" LINUX
+.SH NAME
+nvme_mi_admin_xfer \- Raw admin transfer interface.
+.SH SYNOPSIS
+.B "int" nvme_mi_admin_xfer
+.BI "(nvme_mi_ctrl_t ctrl " ","
+.BI "struct nvme_mi_admin_req_hdr *admin_req " ","
+.BI "size_t req_data_size " ","
+.BI "struct nvme_mi_admin_resp_hdr *admin_resp " ","
+.BI "off_t resp_data_offset " ","
+.BI "size_t *resp_data_size " ");"
+.SH ARGUMENTS
+.IP "ctrl" 12
+controller to send the admin command to
+.IP "admin_req" 12
+request data
+.IP "req_data_size" 12
+size of request data payload
+.IP "admin_resp" 12
+buffer for response data
+.IP "resp_data_offset" 12
+offset into request data to retrieve from controller
+.IP "resp_data_size" 12
+size of response data buffer, updated to received size
+.SH "DESCRIPTION"
+Performs an arbitrary NVMe Admin command, using the provided request data,
+in \fIadmin_req\fP. The size of the request data *payload* is specified in
+\fIreq_data_size\fP - 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 \fIadmin_resp\fP, which has an optional
+appended payload buffer of \fIresp_data_size\fP bytes. The actual payload
+transferred will be stored in \fIresp_data_size\fP. 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 \fIresp_data_offset\fP.
+
+See: \fIstruct nvme_mi_admin_req_hdr\fP and \fIstruct nvme_mi_admin_resp_hdr\fP.
+.SH "RETURN"
+0 on success, non-zero on failure.