Blame Documentation/nvme-admin-passthru.html

Packit dd4ba5
Packit dd4ba5
    "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
Packit dd4ba5
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
Packit dd4ba5
<head>
Packit dd4ba5
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" />
Packit dd4ba5
<meta name="generator" content="AsciiDoc 8.6.8" />
Packit dd4ba5
<title>nvme-admin-passthru(1)</title>
Packit dd4ba5
<style type="text/css">
Packit dd4ba5
/* Shared CSS for AsciiDoc xhtml11 and html5 backends */
Packit dd4ba5

Packit dd4ba5
/* Default font. */
Packit dd4ba5
body {
Packit dd4ba5
  font-family: Georgia,serif;
Packit dd4ba5
}
Packit dd4ba5

Packit dd4ba5
/* Title font. */
Packit dd4ba5
h1, h2, h3, h4, h5, h6,
Packit dd4ba5
div.title, caption.title,
Packit dd4ba5
thead, p.table.header,
Packit dd4ba5
#toctitle,
Packit dd4ba5
#author, #revnumber, #revdate, #revremark,
Packit dd4ba5
#footer {
Packit dd4ba5
  font-family: Arial,Helvetica,sans-serif;
Packit dd4ba5
}
Packit dd4ba5

Packit dd4ba5
body {
Packit dd4ba5
  margin: 1em 5% 1em 5%;
Packit dd4ba5
}
Packit dd4ba5

Packit dd4ba5
a {
Packit dd4ba5
  color: blue;
Packit dd4ba5
  text-decoration: underline;
Packit dd4ba5
}
Packit dd4ba5
a:visited {
Packit dd4ba5
  color: fuchsia;
Packit dd4ba5
}
Packit dd4ba5

Packit dd4ba5
em {
Packit dd4ba5
  font-style: italic;
Packit dd4ba5
  color: navy;
Packit dd4ba5
}
Packit dd4ba5

Packit dd4ba5
strong {
Packit dd4ba5
  font-weight: bold;
Packit dd4ba5
  color: #083194;
Packit dd4ba5
}
Packit dd4ba5

Packit dd4ba5
h1, h2, h3, h4, h5, h6 {
Packit dd4ba5
  color: #527bbd;
Packit dd4ba5
  margin-top: 1.2em;
Packit dd4ba5
  margin-bottom: 0.5em;
Packit dd4ba5
  line-height: 1.3;
Packit dd4ba5
}
Packit dd4ba5

Packit dd4ba5
h1, h2, h3 {
Packit dd4ba5
  border-bottom: 2px solid silver;
Packit dd4ba5
}
Packit dd4ba5
h2 {
Packit dd4ba5
  padding-top: 0.5em;
Packit dd4ba5
}
Packit dd4ba5
h3 {
Packit dd4ba5
  float: left;
Packit dd4ba5
}
Packit dd4ba5
h3 + * {
Packit dd4ba5
  clear: left;
Packit dd4ba5
}
Packit dd4ba5
h5 {
Packit dd4ba5
  font-size: 1.0em;
Packit dd4ba5
}
Packit dd4ba5

Packit dd4ba5
div.sectionbody {
Packit dd4ba5
  margin-left: 0;
Packit dd4ba5
}
Packit dd4ba5

Packit dd4ba5
hr {
Packit dd4ba5
  border: 1px solid silver;
Packit dd4ba5
}
Packit dd4ba5

Packit dd4ba5
p {
Packit dd4ba5
  margin-top: 0.5em;
Packit dd4ba5
  margin-bottom: 0.5em;
Packit dd4ba5
}
Packit dd4ba5

Packit dd4ba5
ul, ol, li > p {
Packit dd4ba5
  margin-top: 0;
Packit dd4ba5
}
Packit dd4ba5
ul > li     { color: #aaa; }
Packit dd4ba5
ul > li > * { color: black; }
Packit dd4ba5

Packit dd4ba5
.monospaced, code, pre {
Packit dd4ba5
  font-family: "Courier New", Courier, monospace;
Packit dd4ba5
  font-size: inherit;
Packit dd4ba5
  color: navy;
Packit dd4ba5
  padding: 0;
Packit dd4ba5
  margin: 0;
Packit dd4ba5
}
Packit dd4ba5

Packit dd4ba5

Packit dd4ba5
#author {
Packit dd4ba5
  color: #527bbd;
Packit dd4ba5
  font-weight: bold;
Packit dd4ba5
  font-size: 1.1em;
Packit dd4ba5
}
Packit dd4ba5
#email {
Packit dd4ba5
}
Packit dd4ba5
#revnumber, #revdate, #revremark {
Packit dd4ba5
}
Packit dd4ba5

Packit dd4ba5
#footer {
Packit dd4ba5
  font-size: small;
Packit dd4ba5
  border-top: 2px solid silver;
Packit dd4ba5
  padding-top: 0.5em;
Packit dd4ba5
  margin-top: 4.0em;
Packit dd4ba5
}
Packit dd4ba5
#footer-text {
Packit dd4ba5
  float: left;
Packit dd4ba5
  padding-bottom: 0.5em;
Packit dd4ba5
}
Packit dd4ba5
#footer-badges {
Packit dd4ba5
  float: right;
Packit dd4ba5
  padding-bottom: 0.5em;
Packit dd4ba5
}
Packit dd4ba5

Packit dd4ba5
#preamble {
Packit dd4ba5
  margin-top: 1.5em;
Packit dd4ba5
  margin-bottom: 1.5em;
Packit dd4ba5
}
Packit dd4ba5
div.imageblock, div.exampleblock, div.verseblock,
Packit dd4ba5
div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
Packit dd4ba5
div.admonitionblock {
Packit dd4ba5
  margin-top: 1.0em;
Packit dd4ba5
  margin-bottom: 1.5em;
Packit dd4ba5
}
Packit dd4ba5
div.admonitionblock {
Packit dd4ba5
  margin-top: 2.0em;
Packit dd4ba5
  margin-bottom: 2.0em;
Packit dd4ba5
  margin-right: 10%;
Packit dd4ba5
  color: #606060;
Packit dd4ba5
}
Packit dd4ba5

Packit dd4ba5
div.content { /* Block element content. */
Packit dd4ba5
  padding: 0;
Packit dd4ba5
}
Packit dd4ba5

Packit dd4ba5
/* Block element titles. */
Packit dd4ba5
div.title, caption.title {
Packit dd4ba5
  color: #527bbd;
Packit dd4ba5
  font-weight: bold;
Packit dd4ba5
  text-align: left;
Packit dd4ba5
  margin-top: 1.0em;
Packit dd4ba5
  margin-bottom: 0.5em;
Packit dd4ba5
}
Packit dd4ba5
div.title + * {
Packit dd4ba5
  margin-top: 0;
Packit dd4ba5
}
Packit dd4ba5

Packit dd4ba5
td div.title:first-child {
Packit dd4ba5
  margin-top: 0.0em;
Packit dd4ba5
}
Packit dd4ba5
div.content div.title:first-child {
Packit dd4ba5
  margin-top: 0.0em;
Packit dd4ba5
}
Packit dd4ba5
div.content + div.title {
Packit dd4ba5
  margin-top: 0.0em;
Packit dd4ba5
}
Packit dd4ba5

Packit dd4ba5
div.sidebarblock > div.content {
Packit dd4ba5
  background: #ffffee;
Packit dd4ba5
  border: 1px solid #dddddd;
Packit dd4ba5
  border-left: 4px solid #f0f0f0;
Packit dd4ba5
  padding: 0.5em;
Packit dd4ba5
}
Packit dd4ba5

Packit dd4ba5
div.listingblock > div.content {
Packit dd4ba5
  border: 1px solid #dddddd;
Packit dd4ba5
  border-left: 5px solid #f0f0f0;
Packit dd4ba5
  background: #f8f8f8;
Packit dd4ba5
  padding: 0.5em;
Packit dd4ba5
}
Packit dd4ba5

Packit dd4ba5
div.quoteblock, div.verseblock {
Packit dd4ba5
  padding-left: 1.0em;
Packit dd4ba5
  margin-left: 1.0em;
Packit dd4ba5
  margin-right: 10%;
Packit dd4ba5
  border-left: 5px solid #f0f0f0;
Packit dd4ba5
  color: #888;
Packit dd4ba5
}
Packit dd4ba5

Packit dd4ba5
div.quoteblock > div.attribution {
Packit dd4ba5
  padding-top: 0.5em;
Packit dd4ba5
  text-align: right;
Packit dd4ba5
}
Packit dd4ba5

Packit dd4ba5
div.verseblock > pre.content {
Packit dd4ba5
  font-family: inherit;
Packit dd4ba5
  font-size: inherit;
Packit dd4ba5
}
Packit dd4ba5
div.verseblock > div.attribution {
Packit dd4ba5
  padding-top: 0.75em;
Packit dd4ba5
  text-align: left;
Packit dd4ba5
}
Packit dd4ba5
/* DEPRECATED: Pre version 8.2.7 verse style literal block. */
Packit dd4ba5
div.verseblock + div.attribution {
Packit dd4ba5
  text-align: left;
Packit dd4ba5
}
Packit dd4ba5

Packit dd4ba5
div.admonitionblock .icon {
Packit dd4ba5
  vertical-align: top;
Packit dd4ba5
  font-size: 1.1em;
Packit dd4ba5
  font-weight: bold;
Packit dd4ba5
  text-decoration: underline;
Packit dd4ba5
  color: #527bbd;
Packit dd4ba5
  padding-right: 0.5em;
Packit dd4ba5
}
Packit dd4ba5
div.admonitionblock td.content {
Packit dd4ba5
  padding-left: 0.5em;
Packit dd4ba5
  border-left: 3px solid #dddddd;
Packit dd4ba5
}
Packit dd4ba5

Packit dd4ba5
div.exampleblock > div.content {
Packit dd4ba5
  border-left: 3px solid #dddddd;
Packit dd4ba5
  padding-left: 0.5em;
Packit dd4ba5
}
Packit dd4ba5

Packit dd4ba5
div.imageblock div.content { padding-left: 0; }
Packit dd4ba5
span.image img { border-style: none; }
Packit dd4ba5
a.image:visited { color: white; }
Packit dd4ba5

Packit dd4ba5
dl {
Packit dd4ba5
  margin-top: 0.8em;
Packit dd4ba5
  margin-bottom: 0.8em;
Packit dd4ba5
}
Packit dd4ba5
dt {
Packit dd4ba5
  margin-top: 0.5em;
Packit dd4ba5
  margin-bottom: 0;
Packit dd4ba5
  font-style: normal;
Packit dd4ba5
  color: navy;
Packit dd4ba5
}
Packit dd4ba5
dd > *:first-child {
Packit dd4ba5
  margin-top: 0.1em;
Packit dd4ba5
}
Packit dd4ba5

Packit dd4ba5
ul, ol {
Packit dd4ba5
    list-style-position: outside;
Packit dd4ba5
}
Packit dd4ba5
ol.arabic {
Packit dd4ba5
  list-style-type: decimal;
Packit dd4ba5
}
Packit dd4ba5
ol.loweralpha {
Packit dd4ba5
  list-style-type: lower-alpha;
Packit dd4ba5
}
Packit dd4ba5
ol.upperalpha {
Packit dd4ba5
  list-style-type: upper-alpha;
Packit dd4ba5
}
Packit dd4ba5
ol.lowerroman {
Packit dd4ba5
  list-style-type: lower-roman;
Packit dd4ba5
}
Packit dd4ba5
ol.upperroman {
Packit dd4ba5
  list-style-type: upper-roman;
Packit dd4ba5
}
Packit dd4ba5

Packit dd4ba5
div.compact ul, div.compact ol,
Packit dd4ba5
div.compact p, div.compact p,
Packit dd4ba5
div.compact div, div.compact div {
Packit dd4ba5
  margin-top: 0.1em;
Packit dd4ba5
  margin-bottom: 0.1em;
Packit dd4ba5
}
Packit dd4ba5

Packit dd4ba5
tfoot {
Packit dd4ba5
  font-weight: bold;
Packit dd4ba5
}
Packit dd4ba5
td > div.verse {
Packit dd4ba5
  white-space: pre;
Packit dd4ba5
}
Packit dd4ba5

Packit dd4ba5
div.hdlist {
Packit dd4ba5
  margin-top: 0.8em;
Packit dd4ba5
  margin-bottom: 0.8em;
Packit dd4ba5
}
Packit dd4ba5
div.hdlist tr {
Packit dd4ba5
  padding-bottom: 15px;
Packit dd4ba5
}
Packit dd4ba5
dt.hdlist1.strong, td.hdlist1.strong {
Packit dd4ba5
  font-weight: bold;
Packit dd4ba5
}
Packit dd4ba5
td.hdlist1 {
Packit dd4ba5
  vertical-align: top;
Packit dd4ba5
  font-style: normal;
Packit dd4ba5
  padding-right: 0.8em;
Packit dd4ba5
  color: navy;
Packit dd4ba5
}
Packit dd4ba5
td.hdlist2 {
Packit dd4ba5
  vertical-align: top;
Packit dd4ba5
}
Packit dd4ba5
div.hdlist.compact tr {
Packit dd4ba5
  margin: 0;
Packit dd4ba5
  padding-bottom: 0;
Packit dd4ba5
}
Packit dd4ba5

Packit dd4ba5
.comment {
Packit dd4ba5
  background: yellow;
Packit dd4ba5
}
Packit dd4ba5

Packit dd4ba5
.footnote, .footnoteref {
Packit dd4ba5
  font-size: 0.8em;
Packit dd4ba5
}
Packit dd4ba5

Packit dd4ba5
span.footnote, span.footnoteref {
Packit dd4ba5
  vertical-align: super;
Packit dd4ba5
}
Packit dd4ba5

Packit dd4ba5
#footnotes {
Packit dd4ba5
  margin: 20px 0 20px 0;
Packit dd4ba5
  padding: 7px 0 0 0;
Packit dd4ba5
}
Packit dd4ba5

Packit dd4ba5
#footnotes div.footnote {
Packit dd4ba5
  margin: 0 0 5px 0;
Packit dd4ba5
}
Packit dd4ba5

Packit dd4ba5
#footnotes hr {
Packit dd4ba5
  border: none;
Packit dd4ba5
  border-top: 1px solid silver;
Packit dd4ba5
  height: 1px;
Packit dd4ba5
  text-align: left;
Packit dd4ba5
  margin-left: 0;
Packit dd4ba5
  width: 20%;
Packit dd4ba5
  min-width: 100px;
Packit dd4ba5
}
Packit dd4ba5

Packit dd4ba5
div.colist td {
Packit dd4ba5
  padding-right: 0.5em;
Packit dd4ba5
  padding-bottom: 0.3em;
Packit dd4ba5
  vertical-align: top;
Packit dd4ba5
}
Packit dd4ba5
div.colist td img {
Packit dd4ba5
  margin-top: 0.3em;
Packit dd4ba5
}
Packit dd4ba5

Packit dd4ba5
@media print {
Packit dd4ba5
  #footer-badges { display: none; }
Packit dd4ba5
}
Packit dd4ba5

Packit dd4ba5
#toc {
Packit dd4ba5
  margin-bottom: 2.5em;
Packit dd4ba5
}
Packit dd4ba5

Packit dd4ba5
#toctitle {
Packit dd4ba5
  color: #527bbd;
Packit dd4ba5
  font-size: 1.1em;
Packit dd4ba5
  font-weight: bold;
Packit dd4ba5
  margin-top: 1.0em;
Packit dd4ba5
  margin-bottom: 0.1em;
Packit dd4ba5
}
Packit dd4ba5

Packit dd4ba5
div.toclevel0, div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {
Packit dd4ba5
  margin-top: 0;
Packit dd4ba5
  margin-bottom: 0;
Packit dd4ba5
}
Packit dd4ba5
div.toclevel2 {
Packit dd4ba5
  margin-left: 2em;
Packit dd4ba5
  font-size: 0.9em;
Packit dd4ba5
}
Packit dd4ba5
div.toclevel3 {
Packit dd4ba5
  margin-left: 4em;
Packit dd4ba5
  font-size: 0.9em;
Packit dd4ba5
}
Packit dd4ba5
div.toclevel4 {
Packit dd4ba5
  margin-left: 6em;
Packit dd4ba5
  font-size: 0.9em;
Packit dd4ba5
}
Packit dd4ba5

Packit dd4ba5
span.aqua { color: aqua; }
Packit dd4ba5
span.black { color: black; }
Packit dd4ba5
span.blue { color: blue; }
Packit dd4ba5
span.fuchsia { color: fuchsia; }
Packit dd4ba5
span.gray { color: gray; }
Packit dd4ba5
span.green { color: green; }
Packit dd4ba5
span.lime { color: lime; }
Packit dd4ba5
span.maroon { color: maroon; }
Packit dd4ba5
span.navy { color: navy; }
Packit dd4ba5
span.olive { color: olive; }
Packit dd4ba5
span.purple { color: purple; }
Packit dd4ba5
span.red { color: red; }
Packit dd4ba5
span.silver { color: silver; }
Packit dd4ba5
span.teal { color: teal; }
Packit dd4ba5
span.white { color: white; }
Packit dd4ba5
span.yellow { color: yellow; }
Packit dd4ba5

Packit dd4ba5
span.aqua-background { background: aqua; }
Packit dd4ba5
span.black-background { background: black; }
Packit dd4ba5
span.blue-background { background: blue; }
Packit dd4ba5
span.fuchsia-background { background: fuchsia; }
Packit dd4ba5
span.gray-background { background: gray; }
Packit dd4ba5
span.green-background { background: green; }
Packit dd4ba5
span.lime-background { background: lime; }
Packit dd4ba5
span.maroon-background { background: maroon; }
Packit dd4ba5
span.navy-background { background: navy; }
Packit dd4ba5
span.olive-background { background: olive; }
Packit dd4ba5
span.purple-background { background: purple; }
Packit dd4ba5
span.red-background { background: red; }
Packit dd4ba5
span.silver-background { background: silver; }
Packit dd4ba5
span.teal-background { background: teal; }
Packit dd4ba5
span.white-background { background: white; }
Packit dd4ba5
span.yellow-background { background: yellow; }
Packit dd4ba5

Packit dd4ba5
span.big { font-size: 2em; }
Packit dd4ba5
span.small { font-size: 0.6em; }
Packit dd4ba5

Packit dd4ba5
span.underline { text-decoration: underline; }
Packit dd4ba5
span.overline { text-decoration: overline; }
Packit dd4ba5
span.line-through { text-decoration: line-through; }
Packit dd4ba5

Packit dd4ba5
div.unbreakable { page-break-inside: avoid; }
Packit dd4ba5

Packit dd4ba5

Packit dd4ba5
/*
Packit dd4ba5
 * xhtml11 specific
Packit dd4ba5
 *
Packit dd4ba5
 * */
Packit dd4ba5

Packit dd4ba5
div.tableblock {
Packit dd4ba5
  margin-top: 1.0em;
Packit dd4ba5
  margin-bottom: 1.5em;
Packit dd4ba5
}
Packit dd4ba5
div.tableblock > table {
Packit dd4ba5
  border: 3px solid #527bbd;
Packit dd4ba5
}
Packit dd4ba5
thead, p.table.header {
Packit dd4ba5
  font-weight: bold;
Packit dd4ba5
  color: #527bbd;
Packit dd4ba5
}
Packit dd4ba5
p.table {
Packit dd4ba5
  margin-top: 0;
Packit dd4ba5
}
Packit dd4ba5
/* Because the table frame attribute is overriden by CSS in most browsers. */
Packit dd4ba5
div.tableblock > table[frame="void"] {
Packit dd4ba5
  border-style: none;
Packit dd4ba5
}
Packit dd4ba5
div.tableblock > table[frame="hsides"] {
Packit dd4ba5
  border-left-style: none;
Packit dd4ba5
  border-right-style: none;
Packit dd4ba5
}
Packit dd4ba5
div.tableblock > table[frame="vsides"] {
Packit dd4ba5
  border-top-style: none;
Packit dd4ba5
  border-bottom-style: none;
Packit dd4ba5
}
Packit dd4ba5

Packit dd4ba5

Packit dd4ba5
/*
Packit dd4ba5
 * html5 specific
Packit dd4ba5
 *
Packit dd4ba5
 * */
Packit dd4ba5

Packit dd4ba5
table.tableblock {
Packit dd4ba5
  margin-top: 1.0em;
Packit dd4ba5
  margin-bottom: 1.5em;
Packit dd4ba5
}
Packit dd4ba5
thead, p.tableblock.header {
Packit dd4ba5
  font-weight: bold;
Packit dd4ba5
  color: #527bbd;
Packit dd4ba5
}
Packit dd4ba5
p.tableblock {
Packit dd4ba5
  margin-top: 0;
Packit dd4ba5
}
Packit dd4ba5
table.tableblock {
Packit dd4ba5
  border-width: 3px;
Packit dd4ba5
  border-spacing: 0px;
Packit dd4ba5
  border-style: solid;
Packit dd4ba5
  border-color: #527bbd;
Packit dd4ba5
  border-collapse: collapse;
Packit dd4ba5
}
Packit dd4ba5
th.tableblock, td.tableblock {
Packit dd4ba5
  border-width: 1px;
Packit dd4ba5
  padding: 4px;
Packit dd4ba5
  border-style: solid;
Packit dd4ba5
  border-color: #527bbd;
Packit dd4ba5
}
Packit dd4ba5

Packit dd4ba5
table.tableblock.frame-topbot {
Packit dd4ba5
  border-left-style: hidden;
Packit dd4ba5
  border-right-style: hidden;
Packit dd4ba5
}
Packit dd4ba5
table.tableblock.frame-sides {
Packit dd4ba5
  border-top-style: hidden;
Packit dd4ba5
  border-bottom-style: hidden;
Packit dd4ba5
}
Packit dd4ba5
table.tableblock.frame-none {
Packit dd4ba5
  border-style: hidden;
Packit dd4ba5
}
Packit dd4ba5

Packit dd4ba5
th.tableblock.halign-left, td.tableblock.halign-left {
Packit dd4ba5
  text-align: left;
Packit dd4ba5
}
Packit dd4ba5
th.tableblock.halign-center, td.tableblock.halign-center {
Packit dd4ba5
  text-align: center;
Packit dd4ba5
}
Packit dd4ba5
th.tableblock.halign-right, td.tableblock.halign-right {
Packit dd4ba5
  text-align: right;
Packit dd4ba5
}
Packit dd4ba5

Packit dd4ba5
th.tableblock.valign-top, td.tableblock.valign-top {
Packit dd4ba5
  vertical-align: top;
Packit dd4ba5
}
Packit dd4ba5
th.tableblock.valign-middle, td.tableblock.valign-middle {
Packit dd4ba5
  vertical-align: middle;
Packit dd4ba5
}
Packit dd4ba5
th.tableblock.valign-bottom, td.tableblock.valign-bottom {
Packit dd4ba5
  vertical-align: bottom;
Packit dd4ba5
}
Packit dd4ba5

Packit dd4ba5

Packit dd4ba5
/*
Packit dd4ba5
 * manpage specific
Packit dd4ba5
 *
Packit dd4ba5
 * */
Packit dd4ba5

Packit dd4ba5
body.manpage h1 {
Packit dd4ba5
  padding-top: 0.5em;
Packit dd4ba5
  padding-bottom: 0.5em;
Packit dd4ba5
  border-top: 2px solid silver;
Packit dd4ba5
  border-bottom: 2px solid silver;
Packit dd4ba5
}
Packit dd4ba5
body.manpage h2 {
Packit dd4ba5
  border-style: none;
Packit dd4ba5
}
Packit dd4ba5
body.manpage div.sectionbody {
Packit dd4ba5
  margin-left: 3em;
Packit dd4ba5
}
Packit dd4ba5

Packit dd4ba5
@media print {
Packit dd4ba5
  body.manpage div#toc { display: none; }
Packit dd4ba5
}
Packit dd4ba5

Packit dd4ba5

Packit dd4ba5
</style>
Packit dd4ba5
<script type="text/javascript">
Packit dd4ba5
/*
Packit dd4ba5
var asciidoc = {  // Namespace.
Packit dd4ba5

Packit dd4ba5
/////////////////////////////////////////////////////////////////////
Packit dd4ba5
// Table Of Contents generator
Packit dd4ba5
/////////////////////////////////////////////////////////////////////
Packit dd4ba5

Packit dd4ba5
/* Author: Mihai Bazon, September 2002
Packit dd4ba5
 * http://students.infoiasi.ro/~mishoo
Packit dd4ba5
 *
Packit dd4ba5
 * Table Of Content generator
Packit dd4ba5
 * Version: 0.4
Packit dd4ba5
 *
Packit dd4ba5
 * Feel free to use this script under the terms of the GNU General Public
Packit dd4ba5
 * License, as long as you do not remove or alter this notice.
Packit dd4ba5
 */
Packit dd4ba5

Packit dd4ba5
 /* modified by Troy D. Hanson, September 2006. License: GPL */
Packit dd4ba5
 /* modified by Stuart Rackham, 2006, 2009. License: GPL */
Packit dd4ba5

Packit dd4ba5
// toclevels = 1..4.
Packit dd4ba5
toc: function (toclevels) {
Packit dd4ba5

Packit dd4ba5
  function getText(el) {
Packit dd4ba5
    var text = "";
Packit dd4ba5
    for (var i = el.firstChild; i != null; i = i.nextSibling) {
Packit dd4ba5
      if (i.nodeType == 3 /* Node.TEXT_NODE */) // IE doesn't speak constants.
Packit dd4ba5
        text += i.data;
Packit dd4ba5
      else if (i.firstChild != null)
Packit dd4ba5
        text += getText(i);
Packit dd4ba5
    }
Packit dd4ba5
    return text;
Packit dd4ba5
  }
Packit dd4ba5

Packit dd4ba5
  function TocEntry(el, text, toclevel) {
Packit dd4ba5
    this.element = el;
Packit dd4ba5
    this.text = text;
Packit dd4ba5
    this.toclevel = toclevel;
Packit dd4ba5
  }
Packit dd4ba5

Packit dd4ba5
  function tocEntries(el, toclevels) {
Packit dd4ba5
    var result = new Array;
Packit dd4ba5
    var re = new RegExp('[hH]([1-'+(toclevels+1)+'])');
Packit dd4ba5
    // Function that scans the DOM tree for header elements (the DOM2
Packit dd4ba5
    // nodeIterator API would be a better technique but not supported by all
Packit dd4ba5
    // browsers).
Packit dd4ba5
    var iterate = function (el) {
Packit dd4ba5
      for (var i = el.firstChild; i != null; i = i.nextSibling) {
Packit dd4ba5
        if (i.nodeType == 1 /* Node.ELEMENT_NODE */) {
Packit dd4ba5
          var mo = re.exec(i.tagName);
Packit dd4ba5
          if (mo && (i.getAttribute("class") || i.getAttribute("className")) != "float") {
Packit dd4ba5
            result[result.length] = new TocEntry(i, getText(i), mo[1]-1);
Packit dd4ba5
          }
Packit dd4ba5
          iterate(i);
Packit dd4ba5
        }
Packit dd4ba5
      }
Packit dd4ba5
    }
Packit dd4ba5
    iterate(el);
Packit dd4ba5
    return result;
Packit dd4ba5
  }
Packit dd4ba5

Packit dd4ba5
  var toc = document.getElementById("toc");
Packit dd4ba5
  if (!toc) {
Packit dd4ba5
    return;
Packit dd4ba5
  }
Packit dd4ba5

Packit dd4ba5
  // Delete existing TOC entries in case we're reloading the TOC.
Packit dd4ba5
  var tocEntriesToRemove = [];
Packit dd4ba5
  var i;
Packit dd4ba5
  for (i = 0; i < toc.childNodes.length; i++) {
Packit dd4ba5
    var entry = toc.childNodes[i];
Packit dd4ba5
    if (entry.nodeName.toLowerCase() == 'div'
Packit dd4ba5
     && entry.getAttribute("class")
Packit dd4ba5
     && entry.getAttribute("class").match(/^toclevel/))
Packit dd4ba5
      tocEntriesToRemove.push(entry);
Packit dd4ba5
  }
Packit dd4ba5
  for (i = 0; i < tocEntriesToRemove.length; i++) {
Packit dd4ba5
    toc.removeChild(tocEntriesToRemove[i]);
Packit dd4ba5
  }
Packit dd4ba5

Packit dd4ba5
  // Rebuild TOC entries.
Packit dd4ba5
  var entries = tocEntries(document.getElementById("content"), toclevels);
Packit dd4ba5
  for (var i = 0; i < entries.length; ++i) {
Packit dd4ba5
    var entry = entries[i];
Packit dd4ba5
    if (entry.element.id == "")
Packit dd4ba5
      entry.element.id = "_toc_" + i;
Packit dd4ba5
    var a = document.createElement("a");
Packit dd4ba5
    a.href = "#" + entry.element.id;
Packit dd4ba5
    a.appendChild(document.createTextNode(entry.text));
Packit dd4ba5
    var div = document.createElement("div");
Packit dd4ba5
    div.appendChild(a);
Packit dd4ba5
    div.className = "toclevel" + entry.toclevel;
Packit dd4ba5
    toc.appendChild(div);
Packit dd4ba5
  }
Packit dd4ba5
  if (entries.length == 0)
Packit dd4ba5
    toc.parentNode.removeChild(toc);
Packit dd4ba5
},
Packit dd4ba5

Packit dd4ba5

Packit dd4ba5
/////////////////////////////////////////////////////////////////////
Packit dd4ba5
// Footnotes generator
Packit dd4ba5
/////////////////////////////////////////////////////////////////////
Packit dd4ba5

Packit dd4ba5
/* Based on footnote generation code from:
Packit dd4ba5
 * http://www.brandspankingnew.net/archive/2005/07/format_footnote.html
Packit dd4ba5
 */
Packit dd4ba5

Packit dd4ba5
footnotes: function () {
Packit dd4ba5
  // Delete existing footnote entries in case we're reloading the footnodes.
Packit dd4ba5
  var i;
Packit dd4ba5
  var noteholder = document.getElementById("footnotes");
Packit dd4ba5
  if (!noteholder) {
Packit dd4ba5
    return;
Packit dd4ba5
  }
Packit dd4ba5
  var entriesToRemove = [];
Packit dd4ba5
  for (i = 0; i < noteholder.childNodes.length; i++) {
Packit dd4ba5
    var entry = noteholder.childNodes[i];
Packit dd4ba5
    if (entry.nodeName.toLowerCase() == 'div' && entry.getAttribute("class") == "footnote")
Packit dd4ba5
      entriesToRemove.push(entry);
Packit dd4ba5
  }
Packit dd4ba5
  for (i = 0; i < entriesToRemove.length; i++) {
Packit dd4ba5
    noteholder.removeChild(entriesToRemove[i]);
Packit dd4ba5
  }
Packit dd4ba5

Packit dd4ba5
  // Rebuild footnote entries.
Packit dd4ba5
  var cont = document.getElementById("content");
Packit dd4ba5
  var spans = cont.getElementsByTagName("span");
Packit dd4ba5
  var refs = {};
Packit dd4ba5
  var n = 0;
Packit dd4ba5
  for (i=0; i
Packit dd4ba5
    if (spans[i].className == "footnote") {
Packit dd4ba5
      n++;
Packit dd4ba5
      var note = spans[i].getAttribute("data-note");
Packit dd4ba5
      if (!note) {
Packit dd4ba5
        // Use [\s\S] in place of . so multi-line matches work.
Packit dd4ba5
        // Because JavaScript has no s (dotall) regex flag.
Packit dd4ba5
        note = spans[i].innerHTML.match(/\s*\[([\s\S]*)]\s*/)[1];
Packit dd4ba5
        spans[i].innerHTML =
Packit dd4ba5
          "[
Packit dd4ba5
          "' title='View footnote' class='footnote'>" + n + "]";
Packit dd4ba5
        spans[i].setAttribute("data-note", note);
Packit dd4ba5
      }
Packit dd4ba5
      noteholder.innerHTML +=
Packit dd4ba5
        "
" +
Packit dd4ba5
        "" +
Packit dd4ba5
        n + ". " + note + "";
Packit dd4ba5
      var id =spans[i].getAttribute("id");
Packit dd4ba5
      if (id != null) refs["#"+id] = n;
Packit dd4ba5
    }
Packit dd4ba5
  }
Packit dd4ba5
  if (n == 0)
Packit dd4ba5
    noteholder.parentNode.removeChild(noteholder);
Packit dd4ba5
  else {
Packit dd4ba5
    // Process footnoterefs.
Packit dd4ba5
    for (i=0; i
Packit dd4ba5
      if (spans[i].className == "footnoteref") {
Packit dd4ba5
        var href = spans[i].getElementsByTagName("a")[0].getAttribute("href");
Packit dd4ba5
        href = href.match(/#.*/)[0];  // Because IE return full URL.
Packit dd4ba5
        n = refs[href];
Packit dd4ba5
        spans[i].innerHTML =
Packit dd4ba5
          "[
Packit dd4ba5
          "' title='View footnote' class='footnote'>" + n + "]";
Packit dd4ba5
      }
Packit dd4ba5
    }
Packit dd4ba5
  }
Packit dd4ba5
},
Packit dd4ba5

Packit dd4ba5
install: function(toclevels) {
Packit dd4ba5
  var timerId;
Packit dd4ba5

Packit dd4ba5
  function reinstall() {
Packit dd4ba5
    asciidoc.footnotes();
Packit dd4ba5
    if (toclevels) {
Packit dd4ba5
      asciidoc.toc(toclevels);
Packit dd4ba5
    }
Packit dd4ba5
  }
Packit dd4ba5

Packit dd4ba5
  function reinstallAndRemoveTimer() {
Packit dd4ba5
    clearInterval(timerId);
Packit dd4ba5
    reinstall();
Packit dd4ba5
  }
Packit dd4ba5

Packit dd4ba5
  timerId = setInterval(reinstall, 500);
Packit dd4ba5
  if (document.addEventListener)
Packit dd4ba5
    document.addEventListener("DOMContentLoaded", reinstallAndRemoveTimer, false);
Packit dd4ba5
  else
Packit dd4ba5
    window.onload = reinstallAndRemoveTimer;
Packit dd4ba5
}
Packit dd4ba5

Packit dd4ba5
}
Packit dd4ba5
asciidoc.install();
Packit dd4ba5
/*]]>*/
Packit dd4ba5
</script>
Packit dd4ba5
</head>
Packit dd4ba5
<body class="manpage">
Packit dd4ba5
Packit dd4ba5

Packit dd4ba5
nvme-admin-passthru(1) Manual Page
Packit dd4ba5

Packit dd4ba5

NAME

Packit dd4ba5
Packit dd4ba5

nvme-admin-passthru -

Packit dd4ba5
   Submit an arbitrary admin command, return results
Packit dd4ba5

Packit dd4ba5

Packit dd4ba5

Packit dd4ba5
Packit dd4ba5
Packit dd4ba5

SYNOPSIS

Packit dd4ba5
Packit dd4ba5
Packit dd4ba5
nvme-admin-passthru <device> [--opcode=<opcode> | -o <opcode>]
Packit dd4ba5
                [--flags=<flags> | -f <flags>] [-rsvd=<rsvd> | -R <rsvd>]
Packit dd4ba5
                [--namespace-id=<nsid>] [--cdw2=<cdw2>] [--cdw3=<cdw3>]
Packit dd4ba5
                [--cdw10=<cdw10>] [--cdw11=<cdw11>] [--cdw12=<cdw12>]
Packit dd4ba5
                [--cdw13=<cdw13>] [--cdw14=<cdw14>] [--cdw15=<cdw15>]
Packit dd4ba5
                [--data-len=<data-len> | -l <data-len>]
Packit dd4ba5
                [--metadata-len=<len> | -m <len>]
Packit dd4ba5
                [--input-file=<file> | -i <file>]
Packit dd4ba5
                [--read | -r ] [--write | -w]
Packit dd4ba5
                [--timeout=<to> | -t <to>]
Packit dd4ba5
                [--show-command | -s]
Packit dd4ba5
                [--dry-run | -d]
Packit dd4ba5
                [--raw-binary | -b]
Packit dd4ba5
                [--prefill=<prefill> | -p <prefill>]
Packit dd4ba5
Packit dd4ba5

Packit dd4ba5

Packit dd4ba5

Packit dd4ba5
Packit dd4ba5

DESCRIPTION

Packit dd4ba5
Packit dd4ba5

Submits an arbitrary NVMe admin command and returns the applicable

Packit dd4ba5
results. This may be the simply the commands result and status, or may
Packit dd4ba5
also include a buffer if the command returns one. This command does no
Packit dd4ba5
interpretation of the opcodes or options.

Packit dd4ba5

The <device> parameter is mandatory and may be either the NVMe character

Packit dd4ba5
device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1).

Packit dd4ba5

On success, the returned structure (if applicable) may be returned in

Packit dd4ba5
one of several ways depending on the option flags; the structure may
Packit dd4ba5
printed by the program as a hex dump, or may be returned as a raw buffer
Packit dd4ba5
printed to stdout for another program to parse.

Packit dd4ba5

Packit dd4ba5

Packit dd4ba5
Packit dd4ba5

OPTIONS

Packit dd4ba5
Packit dd4ba5
Packit dd4ba5
Packit dd4ba5
-o <opcode>
Packit dd4ba5

Packit dd4ba5
Packit dd4ba5
--opcode=<opcode>
Packit dd4ba5

Packit dd4ba5
Packit dd4ba5

Packit dd4ba5
        The NVMe opcode to send to the device in the command
Packit dd4ba5

Packit dd4ba5

Packit dd4ba5
Packit dd4ba5
-f <flags>
Packit dd4ba5

Packit dd4ba5
Packit dd4ba5
--flags=<flags>
Packit dd4ba5

Packit dd4ba5
Packit dd4ba5

Packit dd4ba5
        The NVMe command flags to send to the device in the command
Packit dd4ba5

Packit dd4ba5

Packit dd4ba5
Packit dd4ba5
-R <rsvd>
Packit dd4ba5

Packit dd4ba5
Packit dd4ba5
--rsvd=<rsvd>
Packit dd4ba5

Packit dd4ba5
Packit dd4ba5

Packit dd4ba5
        The value for the reserved field in the command.
Packit dd4ba5

Packit dd4ba5

Packit dd4ba5
Packit dd4ba5
-n <nsid>
Packit dd4ba5

Packit dd4ba5
Packit dd4ba5
--namespace-id=<nsid>
Packit dd4ba5

Packit dd4ba5
Packit dd4ba5

Packit dd4ba5
        The value for the ns-id in the command.
Packit dd4ba5

Packit dd4ba5

Packit dd4ba5
Packit dd4ba5
--cdw[2-3,10-15]=<cdw>
Packit dd4ba5

Packit dd4ba5
Packit dd4ba5

Packit dd4ba5
        Specifies the command dword value for that specified entry in
Packit dd4ba5
        the command
Packit dd4ba5

Packit dd4ba5

Packit dd4ba5
Packit dd4ba5
-r
Packit dd4ba5

Packit dd4ba5
Packit dd4ba5
--read
Packit dd4ba5

Packit dd4ba5
Packit dd4ba5
-w
Packit dd4ba5

Packit dd4ba5
Packit dd4ba5
--write
Packit dd4ba5

Packit dd4ba5
Packit dd4ba5

Packit dd4ba5
        Used for the data-direction for the command and required for
Packit dd4ba5
        commands sending/receiving data. Don’t use both read and write
Packit dd4ba5
        at the same time.
Packit dd4ba5

Packit dd4ba5

Packit dd4ba5
Packit dd4ba5
-i <file>
Packit dd4ba5

Packit dd4ba5
Packit dd4ba5
--input-file=<file>
Packit dd4ba5

Packit dd4ba5
Packit dd4ba5

Packit dd4ba5
        If the command is a data-out (write) command, use this file
Packit dd4ba5
        to fill the buffer sent to the device. If no file is given,
Packit dd4ba5
        assumed to use STDIN.
Packit dd4ba5

Packit dd4ba5

Packit dd4ba5
Packit dd4ba5
-l <data-len>
Packit dd4ba5

Packit dd4ba5
Packit dd4ba5
--data-len=<data-len>
Packit dd4ba5

Packit dd4ba5
Packit dd4ba5

Packit dd4ba5
        The data length for the buffer used for this command.
Packit dd4ba5

Packit dd4ba5

Packit dd4ba5
Packit dd4ba5
-m <data-len>
Packit dd4ba5

Packit dd4ba5
Packit dd4ba5
--metadata-len=<data-len>
Packit dd4ba5

Packit dd4ba5
Packit dd4ba5

Packit dd4ba5
        The metadata length for the buffer used for this command.
Packit dd4ba5

Packit dd4ba5

Packit dd4ba5
Packit dd4ba5
-s
Packit dd4ba5

Packit dd4ba5
Packit dd4ba5
--show-cmd
Packit dd4ba5

Packit dd4ba5
Packit dd4ba5

Packit dd4ba5
        Print out the command to be sent.
Packit dd4ba5

Packit dd4ba5

Packit dd4ba5
Packit dd4ba5
-d
Packit dd4ba5

Packit dd4ba5
Packit dd4ba5
--dry-run
Packit dd4ba5

Packit dd4ba5
Packit dd4ba5

Packit dd4ba5
        Do not actually send the command. If want to use --dry-run option,
Packit dd4ba5
        --show-cmd option must be set. Otherwise --dry-run option will be
Packit dd4ba5
        ignored.
Packit dd4ba5

Packit dd4ba5

Packit dd4ba5
Packit dd4ba5
-b
Packit dd4ba5

Packit dd4ba5
Packit dd4ba5
--raw-binary
Packit dd4ba5

Packit dd4ba5
Packit dd4ba5

Packit dd4ba5
        Print the raw returned buffer to stdout if the command returns
Packit dd4ba5
        a structure.
Packit dd4ba5

Packit dd4ba5

Packit dd4ba5
Packit dd4ba5
-p
Packit dd4ba5

Packit dd4ba5
Packit dd4ba5
--prefill
Packit dd4ba5

Packit dd4ba5
Packit dd4ba5

Packit dd4ba5
        Prefill the buffer with a predetermined byte value. Defaults to 0.
Packit dd4ba5
        This may be useful if the data you are writing is shorter
Packit dd4ba5
        than the required buffer, and you need to pad it with a known
Packit dd4ba5
        value. It may also be useful if you need to confirm if a device
Packit dd4ba5
        is overwriting a buffer for a data-in command.
Packit dd4ba5

Packit dd4ba5

Packit dd4ba5

Packit dd4ba5

Packit dd4ba5

Packit dd4ba5
Packit dd4ba5

EXAMPLES

Packit dd4ba5
Packit dd4ba5
Packit dd4ba5
  • Packit dd4ba5

    Packit dd4ba5
    The following will run the admin command with opcode=6 and cdw10=1, which
    
    Packit dd4ba5
     corresponds to an identify controller command. This example requires the
    
    Packit dd4ba5
     data-len param be 4096, which is the size of the returned structure. The -r
    
    Packit dd4ba5
     option is used because it is a data-in command
    
    Packit dd4ba5

    Packit dd4ba5
    Packit dd4ba5
    Packit dd4ba5
    # nvme admin-passthru /dev/nvme0 --opcode=06 --data-len=4096 --cdw10=1 -r
    Packit dd4ba5
    
    
    Packit dd4ba5
    
    
    Packit dd4ba5
  • Packit dd4ba5

    Packit dd4ba5
    Or if you want to save that structure to a file:
    
    Packit dd4ba5

    Packit dd4ba5
    Packit dd4ba5
    Packit dd4ba5
    # nvme admin-passthru /dev/nvme0 --opcode=06 --data-len=4096 --cdw10=1 -r -b > id_ns.raw
    Packit dd4ba5
    
    
    Packit dd4ba5
    
    
    Packit dd4ba5
    
    
    Packit dd4ba5
    
    
    Packit dd4ba5
    
    
    Packit dd4ba5
    Packit dd4ba5

    NVME

    Packit dd4ba5
    Packit dd4ba5

    Part of the nvme-user suite

    Packit dd4ba5
    
    
    Packit dd4ba5
    
    
    Packit dd4ba5
    
    
    Packit dd4ba5

    Packit dd4ba5
    Packit dd4ba5
    Packit dd4ba5
    Last updated 2019-09-06 10:35:44 MDT
    
    Packit dd4ba5
    
    
    Packit dd4ba5
    
    
    Packit dd4ba5
    </body>
    
    Packit dd4ba5
    </html>