diff options
Diffstat (limited to '')
946 files changed, 4912 insertions, 1267 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 384a410..10a358a 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -17,7 +17,7 @@ jobs: compiler: [gcc, clang] buildtype: [debug, release] container: - image: ghcr.io/igaw/linux-nvme/debian.python:latest + image: ghcr.io/linux-nvme/debian.python:latest steps: - uses: actions/checkout@v4 - name: build @@ -43,10 +43,16 @@ jobs: - uses: actions/checkout@v4 - name: enable foreign arch uses: dbhi/qus/action@main + - name: Login to GitHub Container Registry + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} - name: compile and run unit tests uses: mosteo-actions/docker-run@v2 with: - image: ghcr.io/igaw/linux-nvme/ubuntu-cross-${{ matrix.arch }}:latest + image: ghcr.io/linux-nvme/ubuntu-cross-${{ matrix.arch }}:latest guest-dir: /build host-dir: ${{ github.workspace }} command: | @@ -65,7 +71,7 @@ jobs: name: libdbus runs-on: ubuntu-latest container: - image: ghcr.io/igaw/linux-nvme/debian:latest + image: ghcr.io/linux-nvme/debian:latest steps: - uses: actions/checkout@v4 - name: build @@ -83,7 +89,7 @@ jobs: name: fallback shared libraries runs-on: ubuntu-latest container: - image: ghcr.io/igaw/linux-nvme/debian:latest + image: ghcr.io/linux-nvme/debian:latest if: github.ref == 'refs/heads/master' steps: - uses: actions/checkout@v4 @@ -101,7 +107,7 @@ jobs: name: muon minimal static runs-on: ubuntu-latest container: - image: ghcr.io/igaw/linux-nvme/debian:latest + image: ghcr.io/linux-nvme/debian:latest steps: - uses: actions/checkout@v4 - name: build diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml index 97ff3f4..27636de 100644 --- a/.github/workflows/coverage.yml +++ b/.github/workflows/coverage.yml @@ -11,7 +11,7 @@ jobs: name: code coverage runs-on: ubuntu-latest container: - image: ghcr.io/igaw/linux-nvme/debian.python:latest + image: ghcr.io/linux-nvme/debian.python:latest steps: - uses: actions/checkout@v4 - name: build diff --git a/.github/workflows/docs.yaml b/.github/workflows/docs.yaml index 9b58371..d5687f0 100644 --- a/.github/workflows/docs.yaml +++ b/.github/workflows/docs.yaml @@ -14,7 +14,7 @@ jobs: name: build documentation runs-on: ubuntu-latest container: - image: ghcr.io/igaw/linux-nvme/debian:latest + image: ghcr.io/linux-nvme/debian:latest steps: - uses: actions/checkout@v4 - name: build diff --git a/.github/workflows/release-python.yml b/.github/workflows/release-python.yml index 3ca68a9..d967918 100644 --- a/.github/workflows/release-python.yml +++ b/.github/workflows/release-python.yml @@ -16,7 +16,7 @@ jobs: name: Build source distribution runs-on: ubuntu-latest container: - image: ghcr.io/igaw/linux-nvme/debian.python:latest + image: ghcr.io/linux-nvme/debian.python:latest steps: - uses: actions/checkout@v4 diff --git a/doc/config-schema.json b/doc/config-schema.json index cb0769f..29ef77e 100644 --- a/doc/config-schema.json +++ b/doc/config-schema.json @@ -102,8 +102,12 @@ "description": "Keyring for TLS key lookup", "type": "string" }, + "tls_key_identity": { + "description": "PSK identity for the TLS PSK (tls_key)", + "type": "string" + }, "tls_key": { - "description": "TLS key for the connection", + "description": "TLS PSK in PSK interchange format", "type": "string" }, "nr_io_queues": { diff --git a/doc/config-schema.json.in b/doc/config-schema.json.in index cb0769f..29ef77e 100644 --- a/doc/config-schema.json.in +++ b/doc/config-schema.json.in @@ -102,8 +102,12 @@ "description": "Keyring for TLS key lookup", "type": "string" }, + "tls_key_identity": { + "description": "PSK identity for the TLS PSK (tls_key)", + "type": "string" + }, "tls_key": { - "description": "TLS key for the connection", + "description": "TLS PSK in PSK interchange format", "type": "string" }, "nr_io_queues": { diff --git a/doc/man/nbft_control.2 b/doc/man/nbft_control.2 index f904f51..7341b7d 100644 --- a/doc/man/nbft_control.2 +++ b/doc/man/nbft_control.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nbft_control" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nbft_control" "October 2024" "API Manual" LINUX .SH NAME struct nbft_control \- NBFT Table - Control Descriptor (Figure 8) .SH SYNOPSIS diff --git a/doc/man/nbft_control_flags.2 b/doc/man/nbft_control_flags.2 index ce39778..3e90994 100644 --- a/doc/man/nbft_control_flags.2 +++ b/doc/man/nbft_control_flags.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nbft_control_flags" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nbft_control_flags" "October 2024" "API Manual" LINUX .SH NAME enum nbft_control_flags \- Control Descriptor Flags .SH SYNOPSIS diff --git a/doc/man/nbft_desc_type.2 b/doc/man/nbft_desc_type.2 index 8cdc276..dc3f0f3 100644 --- a/doc/man/nbft_desc_type.2 +++ b/doc/man/nbft_desc_type.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nbft_desc_type" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nbft_desc_type" "October 2024" "API Manual" LINUX .SH NAME enum nbft_desc_type \- NBFT Elements - Descriptor Types (Figure 5) .SH SYNOPSIS diff --git a/doc/man/nbft_discovery.2 b/doc/man/nbft_discovery.2 index 39f36a4..3e94d7e 100644 --- a/doc/man/nbft_discovery.2 +++ b/doc/man/nbft_discovery.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nbft_discovery" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nbft_discovery" "October 2024" "API Manual" LINUX .SH NAME struct nbft_discovery \- Discovery Descriptor (Figure 24) .SH SYNOPSIS diff --git a/doc/man/nbft_discovery_flags.2 b/doc/man/nbft_discovery_flags.2 index 2fdd186..20dc264 100644 --- a/doc/man/nbft_discovery_flags.2 +++ b/doc/man/nbft_discovery_flags.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nbft_discovery_flags" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nbft_discovery_flags" "October 2024" "API Manual" LINUX .SH NAME enum nbft_discovery_flags \- Discovery Descriptor Flags .SH SYNOPSIS diff --git a/doc/man/nbft_header.2 b/doc/man/nbft_header.2 index 09c01b4..81c46c7 100644 --- a/doc/man/nbft_header.2 +++ b/doc/man/nbft_header.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nbft_header" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nbft_header" "October 2024" "API Manual" LINUX .SH NAME struct nbft_header \- NBFT Table - Header (Figure 8) .SH SYNOPSIS diff --git a/doc/man/nbft_heap_obj.2 b/doc/man/nbft_heap_obj.2 index de03f47..8d6c95b 100644 --- a/doc/man/nbft_heap_obj.2 +++ b/doc/man/nbft_heap_obj.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nbft_heap_obj" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nbft_heap_obj" "October 2024" "API Manual" LINUX .SH NAME struct nbft_heap_obj \- NBFT Header Driver Signature .SH SYNOPSIS diff --git a/doc/man/nbft_hfi.2 b/doc/man/nbft_hfi.2 index 3fdd1bc..a1904fe 100644 --- a/doc/man/nbft_hfi.2 +++ b/doc/man/nbft_hfi.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nbft_hfi" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nbft_hfi" "October 2024" "API Manual" LINUX .SH NAME struct nbft_hfi \- Host Fabric Interface (HFI) Descriptor (Figure 11) .SH SYNOPSIS diff --git a/doc/man/nbft_hfi_flags.2 b/doc/man/nbft_hfi_flags.2 index 1507c86..e53ee50 100644 --- a/doc/man/nbft_hfi_flags.2 +++ b/doc/man/nbft_hfi_flags.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nbft_hfi_flags" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nbft_hfi_flags" "October 2024" "API Manual" LINUX .SH NAME enum nbft_hfi_flags \- HFI Descriptor Flags .SH SYNOPSIS diff --git a/doc/man/nbft_hfi_info_tcp.2 b/doc/man/nbft_hfi_info_tcp.2 index 6b029ff..83e12be 100644 --- a/doc/man/nbft_hfi_info_tcp.2 +++ b/doc/man/nbft_hfi_info_tcp.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nbft_hfi_info_tcp" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nbft_hfi_info_tcp" "October 2024" "API Manual" LINUX .SH NAME struct nbft_hfi_info_tcp \- HFI Transport Info Descriptor - NVMe/TCP (Figure 13) .SH SYNOPSIS diff --git a/doc/man/nbft_hfi_info_tcp_flags.2 b/doc/man/nbft_hfi_info_tcp_flags.2 index a947e45..7c2b446 100644 --- a/doc/man/nbft_hfi_info_tcp_flags.2 +++ b/doc/man/nbft_hfi_info_tcp_flags.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nbft_hfi_info_tcp_flags" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nbft_hfi_info_tcp_flags" "October 2024" "API Manual" LINUX .SH NAME enum nbft_hfi_info_tcp_flags \- HFI Transport Flags .SH SYNOPSIS diff --git a/doc/man/nbft_host.2 b/doc/man/nbft_host.2 index 9d95a86..7ce1a2c 100644 --- a/doc/man/nbft_host.2 +++ b/doc/man/nbft_host.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nbft_host" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nbft_host" "October 2024" "API Manual" LINUX .SH NAME struct nbft_host \- Host Descriptor (Figure 9) .SH SYNOPSIS diff --git a/doc/man/nbft_host_flags.2 b/doc/man/nbft_host_flags.2 index 1b7ca61..f9d1e10 100644 --- a/doc/man/nbft_host_flags.2 +++ b/doc/man/nbft_host_flags.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nbft_host_flags" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nbft_host_flags" "October 2024" "API Manual" LINUX .SH NAME enum nbft_host_flags \- Host Flags .SH SYNOPSIS diff --git a/doc/man/nbft_info.2 b/doc/man/nbft_info.2 index 1fcc571..571d2c4 100644 --- a/doc/man/nbft_info.2 +++ b/doc/man/nbft_info.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nbft_info" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nbft_info" "October 2024" "API Manual" LINUX .SH NAME struct nbft_info \- The parsed NBFT table data. .SH SYNOPSIS diff --git a/doc/man/nbft_info_discovery.2 b/doc/man/nbft_info_discovery.2 index c68ff83..84ea0c4 100644 --- a/doc/man/nbft_info_discovery.2 +++ b/doc/man/nbft_info_discovery.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nbft_info_discovery" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nbft_info_discovery" "October 2024" "API Manual" LINUX .SH NAME struct nbft_info_discovery \- Discovery Descriptor .SH SYNOPSIS diff --git a/doc/man/nbft_info_hfi.2 b/doc/man/nbft_info_hfi.2 index 5715ef6..b6eb6e0 100644 --- a/doc/man/nbft_info_hfi.2 +++ b/doc/man/nbft_info_hfi.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nbft_info_hfi" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nbft_info_hfi" "October 2024" "API Manual" LINUX .SH NAME struct nbft_info_hfi \- Host Fabric Interface (HFI) Descriptor .SH SYNOPSIS diff --git a/doc/man/nbft_info_hfi_info_tcp.2 b/doc/man/nbft_info_hfi_info_tcp.2 index 9f96903..24940df 100644 --- a/doc/man/nbft_info_hfi_info_tcp.2 +++ b/doc/man/nbft_info_hfi_info_tcp.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nbft_info_hfi_info_tcp" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nbft_info_hfi_info_tcp" "October 2024" "API Manual" LINUX .SH NAME struct nbft_info_hfi_info_tcp \- HFI Transport Info Descriptor - NVMe/TCP .SH SYNOPSIS diff --git a/doc/man/nbft_info_host.2 b/doc/man/nbft_info_host.2 index 6145857..e0e9de5 100644 --- a/doc/man/nbft_info_host.2 +++ b/doc/man/nbft_info_host.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nbft_info_host" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nbft_info_host" "October 2024" "API Manual" LINUX .SH NAME struct nbft_info_host \- Host Descriptor .SH SYNOPSIS diff --git a/doc/man/nbft_info_nid_type.2 b/doc/man/nbft_info_nid_type.2 index c10de58..2bb06ec 100644 --- a/doc/man/nbft_info_nid_type.2 +++ b/doc/man/nbft_info_nid_type.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nbft_info_nid_type" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nbft_info_nid_type" "October 2024" "API Manual" LINUX .SH NAME enum nbft_info_nid_type \- Namespace Identifier Type (NIDT) .SH SYNOPSIS diff --git a/doc/man/nbft_info_primary_admin_host_flag.2 b/doc/man/nbft_info_primary_admin_host_flag.2 index c82db27..79e5de2 100644 --- a/doc/man/nbft_info_primary_admin_host_flag.2 +++ b/doc/man/nbft_info_primary_admin_host_flag.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nbft_info_primary_admin_host_flag" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nbft_info_primary_admin_host_flag" "October 2024" "API Manual" LINUX .SH NAME enum nbft_info_primary_admin_host_flag \- Primary Administrative Host Descriptor Flags .SH SYNOPSIS diff --git a/doc/man/nbft_info_security.2 b/doc/man/nbft_info_security.2 index 4b8649e..4f6bd85 100644 --- a/doc/man/nbft_info_security.2 +++ b/doc/man/nbft_info_security.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nbft_info_security" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nbft_info_security" "October 2024" "API Manual" LINUX .SH NAME struct nbft_info_security \- Security Profile Descriptor .SH SYNOPSIS diff --git a/doc/man/nbft_info_subsystem_ns.2 b/doc/man/nbft_info_subsystem_ns.2 index d3af461..b02222a 100644 --- a/doc/man/nbft_info_subsystem_ns.2 +++ b/doc/man/nbft_info_subsystem_ns.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nbft_info_subsystem_ns" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nbft_info_subsystem_ns" "October 2024" "API Manual" LINUX .SH NAME struct nbft_info_subsystem_ns \- Subsystem Namespace (SSNS) info .SH SYNOPSIS diff --git a/doc/man/nbft_security.2 b/doc/man/nbft_security.2 index d16d337..98a597d 100644 --- a/doc/man/nbft_security.2 +++ b/doc/man/nbft_security.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nbft_security" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nbft_security" "October 2024" "API Manual" LINUX .SH NAME struct nbft_security \- Security Profile Descriptor (Figure 21) .SH SYNOPSIS diff --git a/doc/man/nbft_security_flags.2 b/doc/man/nbft_security_flags.2 index 3127023..f573a61 100644 --- a/doc/man/nbft_security_flags.2 +++ b/doc/man/nbft_security_flags.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nbft_security_flags" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nbft_security_flags" "October 2024" "API Manual" LINUX .SH NAME enum nbft_security_flags \- Security Profile Descriptor Flags (Figure 22) .SH SYNOPSIS diff --git a/doc/man/nbft_security_secret_type.2 b/doc/man/nbft_security_secret_type.2 index 370bfa8..d5ca650 100644 --- a/doc/man/nbft_security_secret_type.2 +++ b/doc/man/nbft_security_secret_type.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nbft_security_secret_type" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nbft_security_secret_type" "October 2024" "API Manual" LINUX .SH NAME enum nbft_security_secret_type \- Security Profile Descriptor Secret Type .SH SYNOPSIS diff --git a/doc/man/nbft_ssns.2 b/doc/man/nbft_ssns.2 index be6b79c..b33c563 100644 --- a/doc/man/nbft_ssns.2 +++ b/doc/man/nbft_ssns.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nbft_ssns" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nbft_ssns" "October 2024" "API Manual" LINUX .SH NAME struct nbft_ssns \- Subsystem Namespace (SSNS) Descriptor (Figure 15) .SH SYNOPSIS diff --git a/doc/man/nbft_ssns_ext_info.2 b/doc/man/nbft_ssns_ext_info.2 index 0196ed0..69e9b5b 100644 --- a/doc/man/nbft_ssns_ext_info.2 +++ b/doc/man/nbft_ssns_ext_info.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nbft_ssns_ext_info" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nbft_ssns_ext_info" "October 2024" "API Manual" LINUX .SH NAME struct nbft_ssns_ext_info \- Subsystem and Namespace Extended Information Descriptor (Figure 19) .SH SYNOPSIS diff --git a/doc/man/nbft_ssns_ext_info_flags.2 b/doc/man/nbft_ssns_ext_info_flags.2 index 56e5470..4a6fda3 100644 --- a/doc/man/nbft_ssns_ext_info_flags.2 +++ b/doc/man/nbft_ssns_ext_info_flags.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nbft_ssns_ext_info_flags" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nbft_ssns_ext_info_flags" "October 2024" "API Manual" LINUX .SH NAME enum nbft_ssns_ext_info_flags \- Subsystem and Namespace Extended Information Descriptor Flags .SH SYNOPSIS diff --git a/doc/man/nbft_ssns_flags.2 b/doc/man/nbft_ssns_flags.2 index 713737a..7071ecd 100644 --- a/doc/man/nbft_ssns_flags.2 +++ b/doc/man/nbft_ssns_flags.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nbft_ssns_flags" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nbft_ssns_flags" "October 2024" "API Manual" LINUX .SH NAME enum nbft_ssns_flags \- Subsystem and Namespace Specific Flags Field (Figure 16) .SH SYNOPSIS diff --git a/doc/man/nbft_ssns_trflags.2 b/doc/man/nbft_ssns_trflags.2 index 4dac381..6fe5eaa 100644 --- a/doc/man/nbft_ssns_trflags.2 +++ b/doc/man/nbft_ssns_trflags.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nbft_ssns_trflags" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nbft_ssns_trflags" "October 2024" "API Manual" LINUX .SH NAME enum nbft_ssns_trflags \- SSNS Transport Specific Flags Field (Figure 17) .SH SYNOPSIS diff --git a/doc/man/nbft_trtype.2 b/doc/man/nbft_trtype.2 index 2f23f3f..2878ff0 100644 --- a/doc/man/nbft_trtype.2 +++ b/doc/man/nbft_trtype.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nbft_trtype" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nbft_trtype" "October 2024" "API Manual" LINUX .SH NAME enum nbft_trtype \- NBFT Interface Transport Types (Figure 7) .SH SYNOPSIS diff --git a/doc/man/nvme_acq.2 b/doc/man/nvme_acq.2 index 419dd43..f48fbd9 100644 --- a/doc/man/nvme_acq.2 +++ b/doc/man/nvme_acq.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_acq" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_acq" "October 2024" "API Manual" LINUX .SH NAME enum nvme_acq \- This field indicates the admin completion queue base address .SH SYNOPSIS diff --git a/doc/man/nvme_admin_opcode.2 b/doc/man/nvme_admin_opcode.2 index c13def5..30b150c 100644 --- a/doc/man/nvme_admin_opcode.2 +++ b/doc/man/nvme_admin_opcode.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_admin_opcode" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_admin_opcode" "October 2024" "API Manual" LINUX .SH NAME enum nvme_admin_opcode \- Known NVMe admin opcodes .SH SYNOPSIS diff --git a/doc/man/nvme_admin_passthru.2 b/doc/man/nvme_admin_passthru.2 index 07cec0c..203ea64 100644 --- a/doc/man/nvme_admin_passthru.2 +++ b/doc/man/nvme_admin_passthru.2 @@ -1,4 +1,4 @@ -.TH "nvme_admin_passthru" 9 "nvme_admin_passthru" "August 2024" "libnvme API manual" LINUX +.TH "nvme_admin_passthru" 9 "nvme_admin_passthru" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_admin_passthru \- Submit an nvme passthrough command .SH SYNOPSIS diff --git a/doc/man/nvme_admin_passthru64.2 b/doc/man/nvme_admin_passthru64.2 index 5c09c38..5592ff4 100644 --- a/doc/man/nvme_admin_passthru64.2 +++ b/doc/man/nvme_admin_passthru64.2 @@ -1,4 +1,4 @@ -.TH "nvme_admin_passthru64" 9 "nvme_admin_passthru64" "August 2024" "libnvme API manual" LINUX +.TH "nvme_admin_passthru64" 9 "nvme_admin_passthru64" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_admin_passthru64 \- Submit a 64-bit nvme passthrough command .SH SYNOPSIS diff --git a/doc/man/nvme_ae_info_css_nvm.2 b/doc/man/nvme_ae_info_css_nvm.2 index dec00d8..b8cf8fb 100644 --- a/doc/man/nvme_ae_info_css_nvm.2 +++ b/doc/man/nvme_ae_info_css_nvm.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_ae_info_css_nvm" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_ae_info_css_nvm" "October 2024" "API Manual" LINUX .SH NAME enum nvme_ae_info_css_nvm \- Asynchronous Event Information - I/O Command Specific Status .SH SYNOPSIS diff --git a/doc/man/nvme_ae_info_error.2 b/doc/man/nvme_ae_info_error.2 index 4ac7d08..31b30a2 100644 --- a/doc/man/nvme_ae_info_error.2 +++ b/doc/man/nvme_ae_info_error.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_ae_info_error" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_ae_info_error" "October 2024" "API Manual" LINUX .SH NAME enum nvme_ae_info_error \- Asynchronous Event Information - Error Status .SH SYNOPSIS diff --git a/doc/man/nvme_ae_info_notice.2 b/doc/man/nvme_ae_info_notice.2 index 997a861..e3e0076 100644 --- a/doc/man/nvme_ae_info_notice.2 +++ b/doc/man/nvme_ae_info_notice.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_ae_info_notice" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_ae_info_notice" "October 2024" "API Manual" LINUX .SH NAME enum nvme_ae_info_notice \- Asynchronous Event Information - Notice .SH SYNOPSIS diff --git a/doc/man/nvme_ae_info_smart.2 b/doc/man/nvme_ae_info_smart.2 index 526c009..4cdd39b 100644 --- a/doc/man/nvme_ae_info_smart.2 +++ b/doc/man/nvme_ae_info_smart.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_ae_info_smart" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_ae_info_smart" "October 2024" "API Manual" LINUX .SH NAME enum nvme_ae_info_smart \- Asynchronous Event Information - SMART / Health Status .SH SYNOPSIS diff --git a/doc/man/nvme_ae_type.2 b/doc/man/nvme_ae_type.2 index c1f350b..a9dc521 100644 --- a/doc/man/nvme_ae_type.2 +++ b/doc/man/nvme_ae_type.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_ae_type" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_ae_type" "October 2024" "API Manual" LINUX .SH NAME enum nvme_ae_type \- Asynchronous Event Type .SH SYNOPSIS diff --git a/doc/man/nvme_aggregate_endurance_group_event.2 b/doc/man/nvme_aggregate_endurance_group_event.2 index 535f829..f61f7a8 100644 --- a/doc/man/nvme_aggregate_endurance_group_event.2 +++ b/doc/man/nvme_aggregate_endurance_group_event.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_aggregate_endurance_group_event" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_aggregate_endurance_group_event" "October 2024" "API Manual" LINUX .SH NAME struct nvme_aggregate_endurance_group_event \- Endurance Group Event Aggregate .SH SYNOPSIS diff --git a/doc/man/nvme_aggregate_predictable_lat_event.2 b/doc/man/nvme_aggregate_predictable_lat_event.2 index 9fa1785..32163e2 100644 --- a/doc/man/nvme_aggregate_predictable_lat_event.2 +++ b/doc/man/nvme_aggregate_predictable_lat_event.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_aggregate_predictable_lat_event" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_aggregate_predictable_lat_event" "October 2024" "API Manual" LINUX .SH NAME struct nvme_aggregate_predictable_lat_event \- Predictable Latency Event Aggregate Log Page .SH SYNOPSIS diff --git a/doc/man/nvme_ana_group_desc.2 b/doc/man/nvme_ana_group_desc.2 index e2fe9f5..2a9fc47 100644 --- a/doc/man/nvme_ana_group_desc.2 +++ b/doc/man/nvme_ana_group_desc.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_ana_group_desc" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_ana_group_desc" "October 2024" "API Manual" LINUX .SH NAME struct nvme_ana_group_desc \- ANA Group Descriptor .SH SYNOPSIS diff --git a/doc/man/nvme_ana_log.2 b/doc/man/nvme_ana_log.2 index c6330da..bf7e0bd 100644 --- a/doc/man/nvme_ana_log.2 +++ b/doc/man/nvme_ana_log.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_ana_log" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_ana_log" "October 2024" "API Manual" LINUX .SH NAME struct nvme_ana_log \- Asymmetric Namespace Access Log .SH SYNOPSIS diff --git a/doc/man/nvme_ana_state.2 b/doc/man/nvme_ana_state.2 index 16aadad..834a984 100644 --- a/doc/man/nvme_ana_state.2 +++ b/doc/man/nvme_ana_state.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_ana_state" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_ana_state" "October 2024" "API Manual" LINUX .SH NAME enum nvme_ana_state \- ANA Group Descriptor - Asymmetric Namespace Access State .SH SYNOPSIS diff --git a/doc/man/nvme_apst_entry.2 b/doc/man/nvme_apst_entry.2 index 62ae584..0b93a4b 100644 --- a/doc/man/nvme_apst_entry.2 +++ b/doc/man/nvme_apst_entry.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_apst_entry" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_apst_entry" "October 2024" "API Manual" LINUX .SH NAME enum nvme_apst_entry \- Autonomous Power State Transition .SH SYNOPSIS diff --git a/doc/man/nvme_aqa.2 b/doc/man/nvme_aqa.2 index b7b615f..a2cf152 100644 --- a/doc/man/nvme_aqa.2 +++ b/doc/man/nvme_aqa.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_aqa" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_aqa" "October 2024" "API Manual" LINUX .SH NAME enum nvme_aqa \- This field indicates the admin queue attributes .SH SYNOPSIS diff --git a/doc/man/nvme_asq.2 b/doc/man/nvme_asq.2 index ee7bb0b..b2d24b4 100644 --- a/doc/man/nvme_asq.2 +++ b/doc/man/nvme_asq.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_asq" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_asq" "October 2024" "API Manual" LINUX .SH NAME enum nvme_asq \- This field indicates the admin submission queue base address .SH SYNOPSIS diff --git a/doc/man/nvme_boot_partition.2 b/doc/man/nvme_boot_partition.2 index a15248e..2588e97 100644 --- a/doc/man/nvme_boot_partition.2 +++ b/doc/man/nvme_boot_partition.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_boot_partition" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_boot_partition" "October 2024" "API Manual" LINUX .SH NAME struct nvme_boot_partition \- Boot Partition Log .SH SYNOPSIS diff --git a/doc/man/nvme_boot_partition_info.2 b/doc/man/nvme_boot_partition_info.2 index dcd96d8..fa923d9 100644 --- a/doc/man/nvme_boot_partition_info.2 +++ b/doc/man/nvme_boot_partition_info.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_boot_partition_info" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_boot_partition_info" "October 2024" "API Manual" LINUX .SH NAME enum nvme_boot_partition_info \- This field indicates the boot partition information .SH SYNOPSIS diff --git a/doc/man/nvme_bpinfo.2 b/doc/man/nvme_bpinfo.2 index 378c080..aafe988 100644 --- a/doc/man/nvme_bpinfo.2 +++ b/doc/man/nvme_bpinfo.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_bpinfo" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_bpinfo" "October 2024" "API Manual" LINUX .SH NAME enum nvme_bpinfo \- This field indicates the boot partition information .SH SYNOPSIS diff --git a/doc/man/nvme_bpmbl.2 b/doc/man/nvme_bpmbl.2 index 05a8d0d..303b192 100644 --- a/doc/man/nvme_bpmbl.2 +++ b/doc/man/nvme_bpmbl.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_bpmbl" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_bpmbl" "October 2024" "API Manual" LINUX .SH NAME enum nvme_bpmbl \- This field indicates the boot partition memory buffer location .SH SYNOPSIS diff --git a/doc/man/nvme_bprsel.2 b/doc/man/nvme_bprsel.2 index c31340d..4fb3134 100644 --- a/doc/man/nvme_bprsel.2 +++ b/doc/man/nvme_bprsel.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_bprsel" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_bprsel" "October 2024" "API Manual" LINUX .SH NAME enum nvme_bprsel \- This field indicates the boot partition read select .SH SYNOPSIS diff --git a/doc/man/nvme_cap.2 b/doc/man/nvme_cap.2 index 29bd98d..c6827c9 100644 --- a/doc/man/nvme_cap.2 +++ b/doc/man/nvme_cap.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_cap" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_cap" "October 2024" "API Manual" LINUX .SH NAME enum nvme_cap \- This field indicates the controller capabilities register .SH SYNOPSIS diff --git a/doc/man/nvme_capacity_config_desc.2 b/doc/man/nvme_capacity_config_desc.2 index dbf5df3..cc95077 100644 --- a/doc/man/nvme_capacity_config_desc.2 +++ b/doc/man/nvme_capacity_config_desc.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_capacity_config_desc" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_capacity_config_desc" "October 2024" "API Manual" LINUX .SH NAME struct nvme_capacity_config_desc \- Capacity Configuration structure definitions .SH SYNOPSIS diff --git a/doc/man/nvme_capacity_mgmt.2 b/doc/man/nvme_capacity_mgmt.2 index def022e..fd044b2 100644 --- a/doc/man/nvme_capacity_mgmt.2 +++ b/doc/man/nvme_capacity_mgmt.2 @@ -1,4 +1,4 @@ -.TH "nvme_capacity_mgmt" 9 "nvme_capacity_mgmt" "August 2024" "libnvme API manual" LINUX +.TH "nvme_capacity_mgmt" 9 "nvme_capacity_mgmt" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_capacity_mgmt \- Capacity management command .SH SYNOPSIS diff --git a/doc/man/nvme_cc.2 b/doc/man/nvme_cc.2 index 7d96ecc..d332b34 100644 --- a/doc/man/nvme_cc.2 +++ b/doc/man/nvme_cc.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_cc" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_cc" "October 2024" "API Manual" LINUX .SH NAME enum nvme_cc \- This field indicates the controller configuration .SH SYNOPSIS diff --git a/doc/man/nvme_change_ns_event.2 b/doc/man/nvme_change_ns_event.2 index 0c235a6..0f8229c 100644 --- a/doc/man/nvme_change_ns_event.2 +++ b/doc/man/nvme_change_ns_event.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_change_ns_event" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_change_ns_event" "October 2024" "API Manual" LINUX .SH NAME struct nvme_change_ns_event \- Change Namespace Event Data .SH SYNOPSIS diff --git a/doc/man/nvme_channel_config_desc.2 b/doc/man/nvme_channel_config_desc.2 index b014730..7bef2b4 100644 --- a/doc/man/nvme_channel_config_desc.2 +++ b/doc/man/nvme_channel_config_desc.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_channel_config_desc" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_channel_config_desc" "October 2024" "API Manual" LINUX .SH NAME struct nvme_channel_config_desc \- Channel Configuration Descriptor .SH SYNOPSIS diff --git a/doc/man/nvme_cmb_size.2 b/doc/man/nvme_cmb_size.2 index f6e4f5e..daba3fc 100644 --- a/doc/man/nvme_cmb_size.2 +++ b/doc/man/nvme_cmb_size.2 @@ -1,4 +1,4 @@ -.TH "nvme_cmb_size" 9 "nvme_cmb_size" "August 2024" "libnvme API manual" LINUX +.TH "nvme_cmb_size" 9 "nvme_cmb_size" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_cmb_size \- Calculate size of the controller memory buffer .SH SYNOPSIS diff --git a/doc/man/nvme_cmbebs.2 b/doc/man/nvme_cmbebs.2 index 222dbba..16a3ce1 100644 --- a/doc/man/nvme_cmbebs.2 +++ b/doc/man/nvme_cmbebs.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_cmbebs" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_cmbebs" "October 2024" "API Manual" LINUX .SH NAME enum nvme_cmbebs \- This field indicates the controller memory buffer elasticity buffer size .SH SYNOPSIS diff --git a/doc/man/nvme_cmbloc.2 b/doc/man/nvme_cmbloc.2 index 1878c41..306ba70 100644 --- a/doc/man/nvme_cmbloc.2 +++ b/doc/man/nvme_cmbloc.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_cmbloc" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_cmbloc" "October 2024" "API Manual" LINUX .SH NAME enum nvme_cmbloc \- This field indicates the controller memory buffer location .SH SYNOPSIS diff --git a/doc/man/nvme_cmbmsc.2 b/doc/man/nvme_cmbmsc.2 index 69e9ccf..c9495e3 100644 --- a/doc/man/nvme_cmbmsc.2 +++ b/doc/man/nvme_cmbmsc.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_cmbmsc" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_cmbmsc" "October 2024" "API Manual" LINUX .SH NAME enum nvme_cmbmsc \- This field indicates the controller memory buffer memory space control .SH SYNOPSIS diff --git a/doc/man/nvme_cmbsts.2 b/doc/man/nvme_cmbsts.2 index a522a83..8e0caed 100644 --- a/doc/man/nvme_cmbsts.2 +++ b/doc/man/nvme_cmbsts.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_cmbsts" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_cmbsts" "October 2024" "API Manual" LINUX .SH NAME enum nvme_cmbsts \- This field indicates the controller memory buffer status .SH SYNOPSIS diff --git a/doc/man/nvme_cmbswtp.2 b/doc/man/nvme_cmbswtp.2 index f6bbb18..3cf5a79 100644 --- a/doc/man/nvme_cmbswtp.2 +++ b/doc/man/nvme_cmbswtp.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_cmbswtp" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_cmbswtp" "October 2024" "API Manual" LINUX .SH NAME enum nvme_cmbswtp \- This field indicates the controller memory buffer sustained write throughput .SH SYNOPSIS diff --git a/doc/man/nvme_cmbsz.2 b/doc/man/nvme_cmbsz.2 index f10308d..32faecd 100644 --- a/doc/man/nvme_cmbsz.2 +++ b/doc/man/nvme_cmbsz.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_cmbsz" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_cmbsz" "October 2024" "API Manual" LINUX .SH NAME enum nvme_cmbsz \- This field indicates the controller memory buffer size .SH SYNOPSIS diff --git a/doc/man/nvme_cmd_effects.2 b/doc/man/nvme_cmd_effects.2 index 545b7bf..f2ad58c 100644 --- a/doc/man/nvme_cmd_effects.2 +++ b/doc/man/nvme_cmd_effects.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_cmd_effects" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_cmd_effects" "October 2024" "API Manual" LINUX .SH NAME enum nvme_cmd_effects \- Commands Supported and Effects .SH SYNOPSIS @@ -24,6 +24,10 @@ enum nvme_cmd_effects { , .br .br +.BI " NVME_CMD_EFFECTS_CSER_MASK" +, +.br +.br .BI " NVME_CMD_EFFECTS_CSE_MASK" , .br @@ -42,6 +46,8 @@ Namespace Capability Change Namespace Inventory Change .IP "NVME_CMD_EFFECTS_CCC" 12 Controller Capability Change +.IP "NVME_CMD_EFFECTS_CSER_MASK" 12 +Command Submission and Execution Relaxations .IP "NVME_CMD_EFFECTS_CSE_MASK" 12 Command Submission and Execution .IP "NVME_CMD_EFFECTS_UUID_SEL" 12 diff --git a/doc/man/nvme_cmd_effects_log.2 b/doc/man/nvme_cmd_effects_log.2 index 07fe337..7ff4299 100644 --- a/doc/man/nvme_cmd_effects_log.2 +++ b/doc/man/nvme_cmd_effects_log.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_cmd_effects_log" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_cmd_effects_log" "October 2024" "API Manual" LINUX .SH NAME struct nvme_cmd_effects_log \- Commands Supported and Effects Log .SH SYNOPSIS diff --git a/doc/man/nvme_cmd_format_mset.2 b/doc/man/nvme_cmd_format_mset.2 index e55cd44..bfb928c 100644 --- a/doc/man/nvme_cmd_format_mset.2 +++ b/doc/man/nvme_cmd_format_mset.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_cmd_format_mset" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_cmd_format_mset" "October 2024" "API Manual" LINUX .SH NAME enum nvme_cmd_format_mset \- Format NVM - Metadata Settings .SH SYNOPSIS diff --git a/doc/man/nvme_cmd_format_pi.2 b/doc/man/nvme_cmd_format_pi.2 index f1359b8..6545278 100644 --- a/doc/man/nvme_cmd_format_pi.2 +++ b/doc/man/nvme_cmd_format_pi.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_cmd_format_pi" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_cmd_format_pi" "October 2024" "API Manual" LINUX .SH NAME enum nvme_cmd_format_pi \- Format NVM - Protection Information .SH SYNOPSIS diff --git a/doc/man/nvme_cmd_format_pil.2 b/doc/man/nvme_cmd_format_pil.2 index d0bfa40..e49caaa 100644 --- a/doc/man/nvme_cmd_format_pil.2 +++ b/doc/man/nvme_cmd_format_pil.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_cmd_format_pil" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_cmd_format_pil" "October 2024" "API Manual" LINUX .SH NAME enum nvme_cmd_format_pil \- Format NVM - Protection Information Location .SH SYNOPSIS diff --git a/doc/man/nvme_cmd_format_ses.2 b/doc/man/nvme_cmd_format_ses.2 index 25b8ba4..3c4755b 100644 --- a/doc/man/nvme_cmd_format_ses.2 +++ b/doc/man/nvme_cmd_format_ses.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_cmd_format_ses" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_cmd_format_ses" "October 2024" "API Manual" LINUX .SH NAME enum nvme_cmd_format_ses \- Format NVM - Secure Erase Settings .SH SYNOPSIS diff --git a/doc/man/nvme_cmd_get_log_lid.2 b/doc/man/nvme_cmd_get_log_lid.2 index 4b61134..14bf67c 100644 --- a/doc/man/nvme_cmd_get_log_lid.2 +++ b/doc/man/nvme_cmd_get_log_lid.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_cmd_get_log_lid" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_cmd_get_log_lid" "October 2024" "API Manual" LINUX .SH NAME enum nvme_cmd_get_log_lid \- Get Log Page -Log Page Identifiers .SH SYNOPSIS @@ -92,10 +92,34 @@ enum nvme_cmd_get_log_lid { , .br .br +.BI " NVME_LOG_LID_ROTATIONAL_MEDIA_INFO" +, +.br +.br +.BI " NVME_LOG_LID_DISPERSED_NS_PARTICIPATING_NSS" +, +.br +.br +.BI " NVME_LOG_LID_MGMT_ADDR_LIST" +, +.br +.br .BI " NVME_LOG_LID_PHY_RX_EOM" , .br .br +.BI " NVME_LOG_LID_REACHABILITY_GROUPS" +, +.br +.br +.BI " NVME_LOG_LID_REACHABILITY_ASSOCIATIONS" +, +.br +.br +.BI " NVME_LOG_LID_CHANGED_ALLOC_NS_LIST" +, +.br +.br .BI " NVME_LOG_LID_FDP_CONFIGS" , .br @@ -116,6 +140,18 @@ enum nvme_cmd_get_log_lid { , .br .br +.BI " NVME_LOG_LID_HOST_DISCOVER" +, +.br +.br +.BI " NVME_LOG_LID_AVE_DISCOVER" +, +.br +.br +.BI " NVME_LOG_LID_PULL_MODEL_DDC_REQ" +, +.br +.br .BI " NVME_LOG_LID_RESERVATION" , .br @@ -172,8 +208,20 @@ NVMe-MI Commands Supported and Effects Command and Feature Lockdown .IP "NVME_LOG_LID_BOOT_PARTITION" 12 Boot Partition +.IP "NVME_LOG_LID_ROTATIONAL_MEDIA_INFO" 12 +Rotational Media Information +.IP "NVME_LOG_LID_DISPERSED_NS_PARTICIPATING_NSS" 12 +Dispersed Namespace Participating NVM Subsystems +.IP "NVME_LOG_LID_MGMT_ADDR_LIST" 12 +Management Address List .IP "NVME_LOG_LID_PHY_RX_EOM" 12 Physical Interface Receiver Eye Opening Measurement +.IP "NVME_LOG_LID_REACHABILITY_GROUPS" 12 +Reachability Groups +.IP "NVME_LOG_LID_REACHABILITY_ASSOCIATIONS" 12 +Reachability Associations +.IP "NVME_LOG_LID_CHANGED_ALLOC_NS_LIST" 12 +Changed Allocated Namespace List .IP "NVME_LOG_LID_FDP_CONFIGS" 12 FDP Configurations .IP "NVME_LOG_LID_FDP_RUH_USAGE" 12 @@ -184,6 +232,12 @@ FDP Statistics FDP Events .IP "NVME_LOG_LID_DISCOVER" 12 Discovery +.IP "NVME_LOG_LID_HOST_DISCOVER" 12 +Host Discovery +.IP "NVME_LOG_LID_AVE_DISCOVER" 12 +AVE Discovery +.IP "NVME_LOG_LID_PULL_MODEL_DDC_REQ" 12 +Pull Model DDC Request .IP "NVME_LOG_LID_RESERVATION" 12 Reservation Notification .IP "NVME_LOG_LID_SANITIZE" 12 diff --git a/doc/man/nvme_cmd_get_log_telemetry_host_lsp.2 b/doc/man/nvme_cmd_get_log_telemetry_host_lsp.2 index 296824f..9ef4bfb 100644 --- a/doc/man/nvme_cmd_get_log_telemetry_host_lsp.2 +++ b/doc/man/nvme_cmd_get_log_telemetry_host_lsp.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_cmd_get_log_telemetry_host_lsp" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_cmd_get_log_telemetry_host_lsp" "October 2024" "API Manual" LINUX .SH NAME enum nvme_cmd_get_log_telemetry_host_lsp \- Telemetry Host-Initiated log specific field .SH SYNOPSIS diff --git a/doc/man/nvme_cmic.2 b/doc/man/nvme_cmic.2 index ab882a2..0e79755 100644 --- a/doc/man/nvme_cmic.2 +++ b/doc/man/nvme_cmic.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_cmic" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_cmic" "October 2024" "API Manual" LINUX .SH NAME enum nvme_cmic \- This field indicates the controller multi-path I/O and NS sharing capabilities .SH SYNOPSIS diff --git a/doc/man/nvme_compare.2 b/doc/man/nvme_compare.2 index 7c4888f..51bc899 100644 --- a/doc/man/nvme_compare.2 +++ b/doc/man/nvme_compare.2 @@ -1,4 +1,4 @@ -.TH "nvme_compare" 9 "nvme_compare" "August 2024" "libnvme API manual" LINUX +.TH "nvme_compare" 9 "nvme_compare" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_compare \- Submit an nvme user compare command .SH SYNOPSIS diff --git a/doc/man/nvme_connect_err.2 b/doc/man/nvme_connect_err.2 index 01092ee..02bca60 100644 --- a/doc/man/nvme_connect_err.2 +++ b/doc/man/nvme_connect_err.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_connect_err" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_connect_err" "October 2024" "API Manual" LINUX .SH NAME enum nvme_connect_err \- nvme connect error codes .SH SYNOPSIS @@ -81,6 +81,10 @@ enum nvme_connect_err { .br .br .BI " ENVME_CONNECT_IGNORED" +, +.br +.br +.BI " ENVME_CONNECT_NOKEY" }; .SH Constants @@ -124,3 +128,5 @@ connection refused cannot assign requested address .IP "ENVME_CONNECT_IGNORED" 12 connect attempt is ignored due to configuration +.IP "ENVME_CONNECT_NOKEY" 12 +the TLS key is missing diff --git a/doc/man/nvme_constants.2 b/doc/man/nvme_constants.2 index 0883a3c..0a5f062 100644 --- a/doc/man/nvme_constants.2 +++ b/doc/man/nvme_constants.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_constants" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_constants" "October 2024" "API Manual" LINUX .SH NAME enum nvme_constants \- A place to stash various constant nvme values .SH SYNOPSIS diff --git a/doc/man/nvme_copy.2 b/doc/man/nvme_copy.2 index 65ae000..ac087f9 100644 --- a/doc/man/nvme_copy.2 +++ b/doc/man/nvme_copy.2 @@ -1,4 +1,4 @@ -.TH "nvme_copy" 9 "nvme_copy" "August 2024" "libnvme API manual" LINUX +.TH "nvme_copy" 9 "nvme_copy" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_copy \- Copy command .SH SYNOPSIS diff --git a/doc/man/nvme_copy_range.2 b/doc/man/nvme_copy_range.2 index 05733a1..d5b78d2 100644 --- a/doc/man/nvme_copy_range.2 +++ b/doc/man/nvme_copy_range.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_copy_range" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_copy_range" "October 2024" "API Manual" LINUX .SH NAME struct nvme_copy_range \- Copy - Source Range Entries Descriptor Format .SH SYNOPSIS diff --git a/doc/man/nvme_copy_range_f1.2 b/doc/man/nvme_copy_range_f1.2 index de17e96..831bea4 100644 --- a/doc/man/nvme_copy_range_f1.2 +++ b/doc/man/nvme_copy_range_f1.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_copy_range_f1" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_copy_range_f1" "October 2024" "API Manual" LINUX .SH NAME struct nvme_copy_range_f1 \- Copy - Source Range Entries Descriptor Format 1h .SH SYNOPSIS diff --git a/doc/man/nvme_copy_range_f2.2 b/doc/man/nvme_copy_range_f2.2 index 74979fb..674451f 100644 --- a/doc/man/nvme_copy_range_f2.2 +++ b/doc/man/nvme_copy_range_f2.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_copy_range_f2" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_copy_range_f2" "October 2024" "API Manual" LINUX .SH NAME struct nvme_copy_range_f2 \- Copy - Source Range Entries Descriptor Format 2h .SH SYNOPSIS diff --git a/doc/man/nvme_copy_range_f3.2 b/doc/man/nvme_copy_range_f3.2 index 1eb2da6..5cdc9b7 100644 --- a/doc/man/nvme_copy_range_f3.2 +++ b/doc/man/nvme_copy_range_f3.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_copy_range_f3" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_copy_range_f3" "October 2024" "API Manual" LINUX .SH NAME struct nvme_copy_range_f3 \- Copy - Source Range Entries Descriptor Format 3h .SH SYNOPSIS diff --git a/doc/man/nvme_copy_range_sopt.2 b/doc/man/nvme_copy_range_sopt.2 index e6b934a..90bdbc0 100644 --- a/doc/man/nvme_copy_range_sopt.2 +++ b/doc/man/nvme_copy_range_sopt.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_copy_range_sopt" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_copy_range_sopt" "October 2024" "API Manual" LINUX .SH NAME enum nvme_copy_range_sopt \- NVMe Copy Range Source Options .SH SYNOPSIS diff --git a/doc/man/nvme_create_ctrl.2 b/doc/man/nvme_create_ctrl.2 index 1832b7c..f4e3d8b 100644 --- a/doc/man/nvme_create_ctrl.2 +++ b/doc/man/nvme_create_ctrl.2 @@ -1,4 +1,4 @@ -.TH "nvme_create_ctrl" 9 "nvme_create_ctrl" "August 2024" "libnvme API manual" LINUX +.TH "nvme_create_ctrl" 9 "nvme_create_ctrl" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_create_ctrl \- Allocate an unconnected NVMe controller .SH SYNOPSIS diff --git a/doc/man/nvme_create_root.2 b/doc/man/nvme_create_root.2 index 906faf7..b376396 100644 --- a/doc/man/nvme_create_root.2 +++ b/doc/man/nvme_create_root.2 @@ -1,4 +1,4 @@ -.TH "nvme_create_root" 9 "nvme_create_root" "August 2024" "libnvme API manual" LINUX +.TH "nvme_create_root" 9 "nvme_create_root" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_create_root \- Initialize root object .SH SYNOPSIS diff --git a/doc/man/nvme_crto.2 b/doc/man/nvme_crto.2 index 0117d71..8a62791 100644 --- a/doc/man/nvme_crto.2 +++ b/doc/man/nvme_crto.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_crto" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_crto" "October 2024" "API Manual" LINUX .SH NAME enum nvme_crto \- This field indicates the controller ready timeouts .SH SYNOPSIS diff --git a/doc/man/nvme_csi.2 b/doc/man/nvme_csi.2 index 93c83bc..438051d 100644 --- a/doc/man/nvme_csi.2 +++ b/doc/man/nvme_csi.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_csi" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_csi" "October 2024" "API Manual" LINUX .SH NAME enum nvme_csi \- Defined command set indicators .SH SYNOPSIS diff --git a/doc/man/nvme_csts.2 b/doc/man/nvme_csts.2 index 7d73fb1..5bb8cc4 100644 --- a/doc/man/nvme_csts.2 +++ b/doc/man/nvme_csts.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_csts" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_csts" "October 2024" "API Manual" LINUX .SH NAME enum nvme_csts \- This field indicates the controller status register .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_config_match.2 b/doc/man/nvme_ctrl_config_match.2 index 99ffe48..ad54bf6 100644 --- a/doc/man/nvme_ctrl_config_match.2 +++ b/doc/man/nvme_ctrl_config_match.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_config_match" 9 "nvme_ctrl_config_match" "August 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_config_match" 9 "nvme_ctrl_config_match" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_config_match \- Check if ctrl @c matches config params .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_find.2 b/doc/man/nvme_ctrl_find.2 index 4d16f3f..1e8ef5b 100644 --- a/doc/man/nvme_ctrl_find.2 +++ b/doc/man/nvme_ctrl_find.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_find" 9 "nvme_ctrl_find" "August 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_find" 9 "nvme_ctrl_find" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_find \- Locate an existing controller .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_first_ns.2 b/doc/man/nvme_ctrl_first_ns.2 index aa40cf5..037c0f9 100644 --- a/doc/man/nvme_ctrl_first_ns.2 +++ b/doc/man/nvme_ctrl_first_ns.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_first_ns" 9 "nvme_ctrl_first_ns" "August 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_first_ns" 9 "nvme_ctrl_first_ns" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_first_ns \- Start namespace iterator .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_first_path.2 b/doc/man/nvme_ctrl_first_path.2 index 03b781f..7b2a7f9 100644 --- a/doc/man/nvme_ctrl_first_path.2 +++ b/doc/man/nvme_ctrl_first_path.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_first_path" 9 "nvme_ctrl_first_path" "August 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_first_path" 9 "nvme_ctrl_first_path" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_first_path \- Start path iterator .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_for_each_ns.2 b/doc/man/nvme_ctrl_for_each_ns.2 index 27a0ae0..7de1196 100644 --- a/doc/man/nvme_ctrl_for_each_ns.2 +++ b/doc/man/nvme_ctrl_for_each_ns.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_for_each_ns" 9 "nvme_ctrl_for_each_ns" "August 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_for_each_ns" 9 "nvme_ctrl_for_each_ns" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_for_each_ns \- Traverse namespaces .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_for_each_ns_safe.2 b/doc/man/nvme_ctrl_for_each_ns_safe.2 index de4cd8a..9c8c31b 100644 --- a/doc/man/nvme_ctrl_for_each_ns_safe.2 +++ b/doc/man/nvme_ctrl_for_each_ns_safe.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_for_each_ns_safe" 9 "nvme_ctrl_for_each_ns_safe" "August 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_for_each_ns_safe" 9 "nvme_ctrl_for_each_ns_safe" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_for_each_ns_safe \- Traverse namespaces .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_for_each_path.2 b/doc/man/nvme_ctrl_for_each_path.2 index d40b26b..7321058 100644 --- a/doc/man/nvme_ctrl_for_each_path.2 +++ b/doc/man/nvme_ctrl_for_each_path.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_for_each_path" 9 "nvme_ctrl_for_each_path" "August 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_for_each_path" 9 "nvme_ctrl_for_each_path" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_for_each_path \- Traverse paths .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_for_each_path_safe.2 b/doc/man/nvme_ctrl_for_each_path_safe.2 index 00a4965..78ddfe6 100644 --- a/doc/man/nvme_ctrl_for_each_path_safe.2 +++ b/doc/man/nvme_ctrl_for_each_path_safe.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_for_each_path_safe" 9 "nvme_ctrl_for_each_path_safe" "August 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_for_each_path_safe" 9 "nvme_ctrl_for_each_path_safe" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_for_each_path_safe \- Traverse paths .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_get_address.2 b/doc/man/nvme_ctrl_get_address.2 index 7f8eed3..7a0aff5 100644 --- a/doc/man/nvme_ctrl_get_address.2 +++ b/doc/man/nvme_ctrl_get_address.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_get_address" 9 "nvme_ctrl_get_address" "August 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_get_address" 9 "nvme_ctrl_get_address" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_get_address \- Address string of a controller .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_get_config.2 b/doc/man/nvme_ctrl_get_config.2 index 6d5f0e0..20f26b9 100644 --- a/doc/man/nvme_ctrl_get_config.2 +++ b/doc/man/nvme_ctrl_get_config.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_get_config" 9 "nvme_ctrl_get_config" "August 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_get_config" 9 "nvme_ctrl_get_config" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_get_config \- Fabrics configuration of a controller .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_get_dhchap_host_key.2 b/doc/man/nvme_ctrl_get_dhchap_host_key.2 index dfe4540..6e9d6de 100644 --- a/doc/man/nvme_ctrl_get_dhchap_host_key.2 +++ b/doc/man/nvme_ctrl_get_dhchap_host_key.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_get_dhchap_host_key" 9 "nvme_ctrl_get_dhchap_host_key" "August 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_get_dhchap_host_key" 9 "nvme_ctrl_get_dhchap_host_key" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_get_dhchap_host_key \- Return host key .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_get_dhchap_key.2 b/doc/man/nvme_ctrl_get_dhchap_key.2 index 05e6721..80c1909 100644 --- a/doc/man/nvme_ctrl_get_dhchap_key.2 +++ b/doc/man/nvme_ctrl_get_dhchap_key.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_get_dhchap_key" 9 "nvme_ctrl_get_dhchap_key" "August 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_get_dhchap_key" 9 "nvme_ctrl_get_dhchap_key" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_get_dhchap_key \- Return controller key .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_get_fd.2 b/doc/man/nvme_ctrl_get_fd.2 index 3401d06..a6147df 100644 --- a/doc/man/nvme_ctrl_get_fd.2 +++ b/doc/man/nvme_ctrl_get_fd.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_get_fd" 9 "nvme_ctrl_get_fd" "August 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_get_fd" 9 "nvme_ctrl_get_fd" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_get_fd \- Get associated file descriptor .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_get_firmware.2 b/doc/man/nvme_ctrl_get_firmware.2 index 27a38d6..32d8b5a 100644 --- a/doc/man/nvme_ctrl_get_firmware.2 +++ b/doc/man/nvme_ctrl_get_firmware.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_get_firmware" 9 "nvme_ctrl_get_firmware" "August 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_get_firmware" 9 "nvme_ctrl_get_firmware" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_get_firmware \- Firmware string of a controller .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_get_host_iface.2 b/doc/man/nvme_ctrl_get_host_iface.2 index 4088ceb..71489b0 100644 --- a/doc/man/nvme_ctrl_get_host_iface.2 +++ b/doc/man/nvme_ctrl_get_host_iface.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_get_host_iface" 9 "nvme_ctrl_get_host_iface" "August 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_get_host_iface" 9 "nvme_ctrl_get_host_iface" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_get_host_iface \- Host interface name of a controller .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_get_host_traddr.2 b/doc/man/nvme_ctrl_get_host_traddr.2 index 1cea73f..59f7279 100644 --- a/doc/man/nvme_ctrl_get_host_traddr.2 +++ b/doc/man/nvme_ctrl_get_host_traddr.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_get_host_traddr" 9 "nvme_ctrl_get_host_traddr" "August 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_get_host_traddr" 9 "nvme_ctrl_get_host_traddr" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_get_host_traddr \- Host transport address of a controller .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_get_keyring.2 b/doc/man/nvme_ctrl_get_keyring.2 new file mode 100644 index 0000000..eb63f2f --- /dev/null +++ b/doc/man/nvme_ctrl_get_keyring.2 @@ -0,0 +1,11 @@ +.TH "nvme_ctrl_get_keyring" 9 "nvme_ctrl_get_keyring" "October 2024" "libnvme API manual" LINUX +.SH NAME +nvme_ctrl_get_keyring \- Return keyring +.SH SYNOPSIS +.B "const char *" nvme_ctrl_get_keyring +.BI "(nvme_ctrl_t c " ");" +.SH ARGUMENTS +.IP "c" 12 +Controller to be used for the lookup +.SH "RETURN" +Keyring or NULL if not set diff --git a/doc/man/nvme_ctrl_get_model.2 b/doc/man/nvme_ctrl_get_model.2 index 1333678..c5ce674 100644 --- a/doc/man/nvme_ctrl_get_model.2 +++ b/doc/man/nvme_ctrl_get_model.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_get_model" 9 "nvme_ctrl_get_model" "August 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_get_model" 9 "nvme_ctrl_get_model" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_get_model \- Model of a controller .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_get_name.2 b/doc/man/nvme_ctrl_get_name.2 index 920e257..da34f36 100644 --- a/doc/man/nvme_ctrl_get_name.2 +++ b/doc/man/nvme_ctrl_get_name.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_get_name" 9 "nvme_ctrl_get_name" "August 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_get_name" 9 "nvme_ctrl_get_name" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_get_name \- sysfs name of a controller .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_get_numa_node.2 b/doc/man/nvme_ctrl_get_numa_node.2 index 0b39709..99668b0 100644 --- a/doc/man/nvme_ctrl_get_numa_node.2 +++ b/doc/man/nvme_ctrl_get_numa_node.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_get_numa_node" 9 "nvme_ctrl_get_numa_node" "August 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_get_numa_node" 9 "nvme_ctrl_get_numa_node" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_get_numa_node \- NUMA node of a controller .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_get_phy_slot.2 b/doc/man/nvme_ctrl_get_phy_slot.2 index 5d73c59..05ffa6a 100644 --- a/doc/man/nvme_ctrl_get_phy_slot.2 +++ b/doc/man/nvme_ctrl_get_phy_slot.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_get_phy_slot" 9 "nvme_ctrl_get_phy_slot" "August 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_get_phy_slot" 9 "nvme_ctrl_get_phy_slot" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_get_phy_slot \- PCI physical slot number of a controller .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_get_queue_count.2 b/doc/man/nvme_ctrl_get_queue_count.2 index ded46ee..1befd6f 100644 --- a/doc/man/nvme_ctrl_get_queue_count.2 +++ b/doc/man/nvme_ctrl_get_queue_count.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_get_queue_count" 9 "nvme_ctrl_get_queue_count" "August 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_get_queue_count" 9 "nvme_ctrl_get_queue_count" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_get_queue_count \- Queue count of a controller .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_get_serial.2 b/doc/man/nvme_ctrl_get_serial.2 index 37679d8..f615fa2 100644 --- a/doc/man/nvme_ctrl_get_serial.2 +++ b/doc/man/nvme_ctrl_get_serial.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_get_serial" 9 "nvme_ctrl_get_serial" "August 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_get_serial" 9 "nvme_ctrl_get_serial" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_get_serial \- Serial number of a controller .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_get_sqsize.2 b/doc/man/nvme_ctrl_get_sqsize.2 index 2b77613..b6a6e46 100644 --- a/doc/man/nvme_ctrl_get_sqsize.2 +++ b/doc/man/nvme_ctrl_get_sqsize.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_get_sqsize" 9 "nvme_ctrl_get_sqsize" "August 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_get_sqsize" 9 "nvme_ctrl_get_sqsize" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_get_sqsize \- SQ size of a controller .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_get_src_addr.2 b/doc/man/nvme_ctrl_get_src_addr.2 index 7a89d41..8afcee5 100644 --- a/doc/man/nvme_ctrl_get_src_addr.2 +++ b/doc/man/nvme_ctrl_get_src_addr.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_get_src_addr" 9 "nvme_ctrl_get_src_addr" "August 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_get_src_addr" 9 "nvme_ctrl_get_src_addr" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_get_src_addr \- Extract src_addr from the c->address string .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_get_state.2 b/doc/man/nvme_ctrl_get_state.2 index bf57641..17d2768 100644 --- a/doc/man/nvme_ctrl_get_state.2 +++ b/doc/man/nvme_ctrl_get_state.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_get_state" 9 "nvme_ctrl_get_state" "August 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_get_state" 9 "nvme_ctrl_get_state" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_get_state \- Running state of a controller .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_get_subsysnqn.2 b/doc/man/nvme_ctrl_get_subsysnqn.2 index 10ed6d7..57e0198 100644 --- a/doc/man/nvme_ctrl_get_subsysnqn.2 +++ b/doc/man/nvme_ctrl_get_subsysnqn.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_get_subsysnqn" 9 "nvme_ctrl_get_subsysnqn" "August 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_get_subsysnqn" 9 "nvme_ctrl_get_subsysnqn" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_get_subsysnqn \- Subsystem NQN of a controller .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_get_subsystem.2 b/doc/man/nvme_ctrl_get_subsystem.2 index 9b33d19..160f3cd 100644 --- a/doc/man/nvme_ctrl_get_subsystem.2 +++ b/doc/man/nvme_ctrl_get_subsystem.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_get_subsystem" 9 "nvme_ctrl_get_subsystem" "August 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_get_subsystem" 9 "nvme_ctrl_get_subsystem" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_get_subsystem \- Parent subsystem of a controller .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_get_sysfs_dir.2 b/doc/man/nvme_ctrl_get_sysfs_dir.2 index 5ff039e..8fac35b 100644 --- a/doc/man/nvme_ctrl_get_sysfs_dir.2 +++ b/doc/man/nvme_ctrl_get_sysfs_dir.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_get_sysfs_dir" 9 "nvme_ctrl_get_sysfs_dir" "August 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_get_sysfs_dir" 9 "nvme_ctrl_get_sysfs_dir" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_get_sysfs_dir \- sysfs directory of a controller .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_get_tls_key.2 b/doc/man/nvme_ctrl_get_tls_key.2 new file mode 100644 index 0000000..4ce3281 --- /dev/null +++ b/doc/man/nvme_ctrl_get_tls_key.2 @@ -0,0 +1,11 @@ +.TH "nvme_ctrl_get_tls_key" 9 "nvme_ctrl_get_tls_key" "October 2024" "libnvme API manual" LINUX +.SH NAME +nvme_ctrl_get_tls_key \- Return Derive TLS PSK +.SH SYNOPSIS +.B "const char *" nvme_ctrl_get_tls_key +.BI "(nvme_ctrl_t c " ");" +.SH ARGUMENTS +.IP "c" 12 +Controller to be used for the lookup +.SH "RETURN" +Key in PSK interchange format or NULL if not set diff --git a/doc/man/nvme_ctrl_get_tls_key_identity.2 b/doc/man/nvme_ctrl_get_tls_key_identity.2 new file mode 100644 index 0000000..b75b12e --- /dev/null +++ b/doc/man/nvme_ctrl_get_tls_key_identity.2 @@ -0,0 +1,11 @@ +.TH "nvme_ctrl_get_tls_key_identity" 9 "nvme_ctrl_get_tls_key_identity" "October 2024" "libnvme API manual" LINUX +.SH NAME +nvme_ctrl_get_tls_key_identity \- Return Derive TLS Identity +.SH SYNOPSIS +.B "const char *" nvme_ctrl_get_tls_key_identity +.BI "(nvme_ctrl_t c " ");" +.SH ARGUMENTS +.IP "c" 12 +Controller to be used for the lookup +.SH "RETURN" +Derive TLS Identity or NULL if not set diff --git a/doc/man/nvme_ctrl_get_traddr.2 b/doc/man/nvme_ctrl_get_traddr.2 index 75c2dda..1f93f43 100644 --- a/doc/man/nvme_ctrl_get_traddr.2 +++ b/doc/man/nvme_ctrl_get_traddr.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_get_traddr" 9 "nvme_ctrl_get_traddr" "August 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_get_traddr" 9 "nvme_ctrl_get_traddr" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_get_traddr \- Transport address of a controller .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_get_transport.2 b/doc/man/nvme_ctrl_get_transport.2 index 5225780..96b4263 100644 --- a/doc/man/nvme_ctrl_get_transport.2 +++ b/doc/man/nvme_ctrl_get_transport.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_get_transport" 9 "nvme_ctrl_get_transport" "August 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_get_transport" 9 "nvme_ctrl_get_transport" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_get_transport \- Transport type of a controller .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_get_trsvcid.2 b/doc/man/nvme_ctrl_get_trsvcid.2 index c1800b0..2c69b2e 100644 --- a/doc/man/nvme_ctrl_get_trsvcid.2 +++ b/doc/man/nvme_ctrl_get_trsvcid.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_get_trsvcid" 9 "nvme_ctrl_get_trsvcid" "August 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_get_trsvcid" 9 "nvme_ctrl_get_trsvcid" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_get_trsvcid \- Transport service identifier of a controller .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_identify.2 b/doc/man/nvme_ctrl_identify.2 index 3da45cf..970b978 100644 --- a/doc/man/nvme_ctrl_identify.2 +++ b/doc/man/nvme_ctrl_identify.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_identify" 9 "nvme_ctrl_identify" "August 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_identify" 9 "nvme_ctrl_identify" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_identify \- Issues an 'identify controller' command .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_is_discovered.2 b/doc/man/nvme_ctrl_is_discovered.2 index 7e3391e..434b4b2 100644 --- a/doc/man/nvme_ctrl_is_discovered.2 +++ b/doc/man/nvme_ctrl_is_discovered.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_is_discovered" 9 "nvme_ctrl_is_discovered" "August 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_is_discovered" 9 "nvme_ctrl_is_discovered" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_is_discovered \- Returns the value of the 'discovered' flag .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_is_discovery_ctrl.2 b/doc/man/nvme_ctrl_is_discovery_ctrl.2 index 75504eb..21dfeb2 100644 --- a/doc/man/nvme_ctrl_is_discovery_ctrl.2 +++ b/doc/man/nvme_ctrl_is_discovery_ctrl.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_is_discovery_ctrl" 9 "nvme_ctrl_is_discovery_ctrl" "August 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_is_discovery_ctrl" 9 "nvme_ctrl_is_discovery_ctrl" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_is_discovery_ctrl \- Check the 'discovery_ctrl' flag .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_is_persistent.2 b/doc/man/nvme_ctrl_is_persistent.2 index 8d23351..7ad36e7 100644 --- a/doc/man/nvme_ctrl_is_persistent.2 +++ b/doc/man/nvme_ctrl_is_persistent.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_is_persistent" 9 "nvme_ctrl_is_persistent" "August 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_is_persistent" 9 "nvme_ctrl_is_persistent" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_is_persistent \- Returns the value of the 'persistent' flag .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_is_unique_discovery_ctrl.2 b/doc/man/nvme_ctrl_is_unique_discovery_ctrl.2 index 654191e..687bc05 100644 --- a/doc/man/nvme_ctrl_is_unique_discovery_ctrl.2 +++ b/doc/man/nvme_ctrl_is_unique_discovery_ctrl.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_is_unique_discovery_ctrl" 9 "nvme_ctrl_is_unique_discovery_ctrl" "August 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_is_unique_discovery_ctrl" 9 "nvme_ctrl_is_unique_discovery_ctrl" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_is_unique_discovery_ctrl \- Check the 'unique_discovery_ctrl' flag .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_list.2 b/doc/man/nvme_ctrl_list.2 index f6bfbf2..2e882be 100644 --- a/doc/man/nvme_ctrl_list.2 +++ b/doc/man/nvme_ctrl_list.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_ctrl_list" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_ctrl_list" "October 2024" "API Manual" LINUX .SH NAME struct nvme_ctrl_list \- Controller List .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_metadata_type.2 b/doc/man/nvme_ctrl_metadata_type.2 index ac088cd..2248e82 100644 --- a/doc/man/nvme_ctrl_metadata_type.2 +++ b/doc/man/nvme_ctrl_metadata_type.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_ctrl_metadata_type" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_ctrl_metadata_type" "October 2024" "API Manual" LINUX .SH NAME enum nvme_ctrl_metadata_type \- Controller Metadata Element Types .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_next_ns.2 b/doc/man/nvme_ctrl_next_ns.2 index 5738137..59a3004 100644 --- a/doc/man/nvme_ctrl_next_ns.2 +++ b/doc/man/nvme_ctrl_next_ns.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_next_ns" 9 "nvme_ctrl_next_ns" "August 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_next_ns" 9 "nvme_ctrl_next_ns" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_next_ns \- Next namespace iterator .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_next_path.2 b/doc/man/nvme_ctrl_next_path.2 index cd039f7..04ce212 100644 --- a/doc/man/nvme_ctrl_next_path.2 +++ b/doc/man/nvme_ctrl_next_path.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_next_path" 9 "nvme_ctrl_next_path" "August 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_next_path" 9 "nvme_ctrl_next_path" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_next_path \- Next path iterator .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_release_fd.2 b/doc/man/nvme_ctrl_release_fd.2 index da0c14b..0167ca9 100644 --- a/doc/man/nvme_ctrl_release_fd.2 +++ b/doc/man/nvme_ctrl_release_fd.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_release_fd" 9 "nvme_ctrl_release_fd" "August 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_release_fd" 9 "nvme_ctrl_release_fd" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_release_fd \- Close fd and clear fd from controller object .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_reset.2 b/doc/man/nvme_ctrl_reset.2 index f041e69..e52ca6f 100644 --- a/doc/man/nvme_ctrl_reset.2 +++ b/doc/man/nvme_ctrl_reset.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_reset" 9 "nvme_ctrl_reset" "August 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_reset" 9 "nvme_ctrl_reset" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_reset \- Initiate a controller reset .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_set_dhchap_host_key.2 b/doc/man/nvme_ctrl_set_dhchap_host_key.2 index 42abdc5..8f895de 100644 --- a/doc/man/nvme_ctrl_set_dhchap_host_key.2 +++ b/doc/man/nvme_ctrl_set_dhchap_host_key.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_set_dhchap_host_key" 9 "nvme_ctrl_set_dhchap_host_key" "August 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_set_dhchap_host_key" 9 "nvme_ctrl_set_dhchap_host_key" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_set_dhchap_host_key \- Set host key .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_set_dhchap_key.2 b/doc/man/nvme_ctrl_set_dhchap_key.2 index 7d34e64..5455b0f 100644 --- a/doc/man/nvme_ctrl_set_dhchap_key.2 +++ b/doc/man/nvme_ctrl_set_dhchap_key.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_set_dhchap_key" 9 "nvme_ctrl_set_dhchap_key" "August 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_set_dhchap_key" 9 "nvme_ctrl_set_dhchap_key" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_set_dhchap_key \- Set controller key .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_set_discovered.2 b/doc/man/nvme_ctrl_set_discovered.2 index dd85afb..327cb81 100644 --- a/doc/man/nvme_ctrl_set_discovered.2 +++ b/doc/man/nvme_ctrl_set_discovered.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_set_discovered" 9 "nvme_ctrl_set_discovered" "August 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_set_discovered" 9 "nvme_ctrl_set_discovered" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_set_discovered \- Set the 'discovered' flag .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_set_discovery_ctrl.2 b/doc/man/nvme_ctrl_set_discovery_ctrl.2 index 9c71212..060920c 100644 --- a/doc/man/nvme_ctrl_set_discovery_ctrl.2 +++ b/doc/man/nvme_ctrl_set_discovery_ctrl.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_set_discovery_ctrl" 9 "nvme_ctrl_set_discovery_ctrl" "August 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_set_discovery_ctrl" 9 "nvme_ctrl_set_discovery_ctrl" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_set_discovery_ctrl \- Set the 'discovery_ctrl' flag .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_set_keyring.2 b/doc/man/nvme_ctrl_set_keyring.2 new file mode 100644 index 0000000..9da1b06 --- /dev/null +++ b/doc/man/nvme_ctrl_set_keyring.2 @@ -0,0 +1,12 @@ +.TH "nvme_ctrl_set_keyring" 9 "nvme_ctrl_set_keyring" "October 2024" "libnvme API manual" LINUX +.SH NAME +nvme_ctrl_set_keyring \- Set keyring +.SH SYNOPSIS +.B "void" nvme_ctrl_set_keyring +.BI "(nvme_ctrl_t c " "," +.BI "const char *keyring " ");" +.SH ARGUMENTS +.IP "c" 12 +Controller for which the keyring should be set +.IP "keyring" 12 +Keyring name diff --git a/doc/man/nvme_ctrl_set_persistent.2 b/doc/man/nvme_ctrl_set_persistent.2 index e7c158d..fb6c48d 100644 --- a/doc/man/nvme_ctrl_set_persistent.2 +++ b/doc/man/nvme_ctrl_set_persistent.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_set_persistent" 9 "nvme_ctrl_set_persistent" "August 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_set_persistent" 9 "nvme_ctrl_set_persistent" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_set_persistent \- Set the 'persistent' flag .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_set_tls_key.2 b/doc/man/nvme_ctrl_set_tls_key.2 new file mode 100644 index 0000000..d821943 --- /dev/null +++ b/doc/man/nvme_ctrl_set_tls_key.2 @@ -0,0 +1,12 @@ +.TH "nvme_ctrl_set_tls_key" 9 "nvme_ctrl_set_tls_key" "October 2024" "libnvme API manual" LINUX +.SH NAME +nvme_ctrl_set_tls_key \- Set Derive TLS PSK +.SH SYNOPSIS +.B "void" nvme_ctrl_set_tls_key +.BI "(nvme_ctrl_t c " "," +.BI "const char *key " ");" +.SH ARGUMENTS +.IP "c" 12 +Controller for which the key should be set +.IP "key" 12 +Key in interchange format or NULL to clear existing key diff --git a/doc/man/nvme_ctrl_set_tls_key_identity.2 b/doc/man/nvme_ctrl_set_tls_key_identity.2 new file mode 100644 index 0000000..af96f80 --- /dev/null +++ b/doc/man/nvme_ctrl_set_tls_key_identity.2 @@ -0,0 +1,12 @@ +.TH "nvme_ctrl_set_tls_key_identity" 9 "nvme_ctrl_set_tls_key_identity" "October 2024" "libnvme API manual" LINUX +.SH NAME +nvme_ctrl_set_tls_key_identity \- Set Derive TLS Identity +.SH SYNOPSIS +.B "void" nvme_ctrl_set_tls_key_identity +.BI "(nvme_ctrl_t c " "," +.BI "const char *identity " ");" +.SH ARGUMENTS +.IP "c" 12 +Controller for which the key should be set +.IP "identity" 12 +Derive TLS identity or NULL to clear existing key diff --git a/doc/man/nvme_ctrl_set_unique_discovery_ctrl.2 b/doc/man/nvme_ctrl_set_unique_discovery_ctrl.2 index 057416e..5f59f6b 100644 --- a/doc/man/nvme_ctrl_set_unique_discovery_ctrl.2 +++ b/doc/man/nvme_ctrl_set_unique_discovery_ctrl.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_set_unique_discovery_ctrl" 9 "nvme_ctrl_set_unique_discovery_ctrl" "August 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_set_unique_discovery_ctrl" 9 "nvme_ctrl_set_unique_discovery_ctrl" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_set_unique_discovery_ctrl \- Set the 'unique_discovery_ctrl' flag .SH SYNOPSIS diff --git a/doc/man/nvme_ctrls_filter.2 b/doc/man/nvme_ctrls_filter.2 index 91a87f5..e9489a7 100644 --- a/doc/man/nvme_ctrls_filter.2 +++ b/doc/man/nvme_ctrls_filter.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrls_filter" 9 "nvme_ctrls_filter" "August 2024" "libnvme API manual" LINUX +.TH "nvme_ctrls_filter" 9 "nvme_ctrls_filter" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrls_filter \- Filter for controllers .SH SYNOPSIS diff --git a/doc/man/nvme_data_tfr.2 b/doc/man/nvme_data_tfr.2 index e3eb1a1..33c737a 100644 --- a/doc/man/nvme_data_tfr.2 +++ b/doc/man/nvme_data_tfr.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_data_tfr" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_data_tfr" "October 2024" "API Manual" LINUX .SH NAME enum nvme_data_tfr \- Data transfer direction of the command .SH SYNOPSIS diff --git a/doc/man/nvme_default_host.2 b/doc/man/nvme_default_host.2 index b3e681b..5d64437 100644 --- a/doc/man/nvme_default_host.2 +++ b/doc/man/nvme_default_host.2 @@ -1,4 +1,4 @@ -.TH "nvme_default_host" 9 "nvme_default_host" "August 2024" "libnvme API manual" LINUX +.TH "nvme_default_host" 9 "nvme_default_host" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_default_host \- Initializes the default host .SH SYNOPSIS diff --git a/doc/man/nvme_describe_key_serial.2 b/doc/man/nvme_describe_key_serial.2 index 0dabe17..be5b61f 100644 --- a/doc/man/nvme_describe_key_serial.2 +++ b/doc/man/nvme_describe_key_serial.2 @@ -1,4 +1,4 @@ -.TH "nvme_describe_key_serial" 9 "nvme_describe_key_serial" "August 2024" "libnvme API manual" LINUX +.TH "nvme_describe_key_serial" 9 "nvme_describe_key_serial" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_describe_key_serial \- Return key description .SH SYNOPSIS diff --git a/doc/man/nvme_dev_self_test.2 b/doc/man/nvme_dev_self_test.2 index ed9ae70..dc10a93 100644 --- a/doc/man/nvme_dev_self_test.2 +++ b/doc/man/nvme_dev_self_test.2 @@ -1,4 +1,4 @@ -.TH "nvme_dev_self_test" 9 "nvme_dev_self_test" "August 2024" "libnvme API manual" LINUX +.TH "nvme_dev_self_test" 9 "nvme_dev_self_test" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_dev_self_test \- Start or abort a self test .SH SYNOPSIS diff --git a/doc/man/nvme_directive_dtype.2 b/doc/man/nvme_directive_dtype.2 index 94db1b4..e20e31a 100644 --- a/doc/man/nvme_directive_dtype.2 +++ b/doc/man/nvme_directive_dtype.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_directive_dtype" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_directive_dtype" "October 2024" "API Manual" LINUX .SH NAME enum nvme_directive_dtype \- Directive Types .SH SYNOPSIS diff --git a/doc/man/nvme_directive_receive_doper.2 b/doc/man/nvme_directive_receive_doper.2 index d22cbda..c3ba09d 100644 --- a/doc/man/nvme_directive_receive_doper.2 +++ b/doc/man/nvme_directive_receive_doper.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_directive_receive_doper" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_directive_receive_doper" "October 2024" "API Manual" LINUX .SH NAME enum nvme_directive_receive_doper \- Directive Receive Directive Operation .SH SYNOPSIS diff --git a/doc/man/nvme_directive_recv.2 b/doc/man/nvme_directive_recv.2 index 5da3621..0636cf2 100644 --- a/doc/man/nvme_directive_recv.2 +++ b/doc/man/nvme_directive_recv.2 @@ -1,4 +1,4 @@ -.TH "nvme_directive_recv" 9 "nvme_directive_recv" "August 2024" "libnvme API manual" LINUX +.TH "nvme_directive_recv" 9 "nvme_directive_recv" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_directive_recv \- Receive directive specific data .SH SYNOPSIS diff --git a/doc/man/nvme_directive_recv_identify_parameters.2 b/doc/man/nvme_directive_recv_identify_parameters.2 index 74e2429..51ca88a 100644 --- a/doc/man/nvme_directive_recv_identify_parameters.2 +++ b/doc/man/nvme_directive_recv_identify_parameters.2 @@ -1,4 +1,4 @@ -.TH "nvme_directive_recv_identify_parameters" 9 "nvme_directive_recv_identify_parameters" "August 2024" "libnvme API manual" LINUX +.TH "nvme_directive_recv_identify_parameters" 9 "nvme_directive_recv_identify_parameters" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_directive_recv_identify_parameters \- Directive receive identifier parameters .SH SYNOPSIS diff --git a/doc/man/nvme_directive_recv_stream_allocate.2 b/doc/man/nvme_directive_recv_stream_allocate.2 index f4c1fb1..47b0df8 100644 --- a/doc/man/nvme_directive_recv_stream_allocate.2 +++ b/doc/man/nvme_directive_recv_stream_allocate.2 @@ -1,4 +1,4 @@ -.TH "nvme_directive_recv_stream_allocate" 9 "nvme_directive_recv_stream_allocate" "August 2024" "libnvme API manual" LINUX +.TH "nvme_directive_recv_stream_allocate" 9 "nvme_directive_recv_stream_allocate" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_directive_recv_stream_allocate \- Directive receive stream allocate .SH SYNOPSIS diff --git a/doc/man/nvme_directive_recv_stream_parameters.2 b/doc/man/nvme_directive_recv_stream_parameters.2 index 83a4223..c41f0f0 100644 --- a/doc/man/nvme_directive_recv_stream_parameters.2 +++ b/doc/man/nvme_directive_recv_stream_parameters.2 @@ -1,4 +1,4 @@ -.TH "nvme_directive_recv_stream_parameters" 9 "nvme_directive_recv_stream_parameters" "August 2024" "libnvme API manual" LINUX +.TH "nvme_directive_recv_stream_parameters" 9 "nvme_directive_recv_stream_parameters" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_directive_recv_stream_parameters \- Directive receive stream parameters .SH SYNOPSIS diff --git a/doc/man/nvme_directive_recv_stream_status.2 b/doc/man/nvme_directive_recv_stream_status.2 index cde6600..c349277 100644 --- a/doc/man/nvme_directive_recv_stream_status.2 +++ b/doc/man/nvme_directive_recv_stream_status.2 @@ -1,4 +1,4 @@ -.TH "nvme_directive_recv_stream_status" 9 "nvme_directive_recv_stream_status" "August 2024" "libnvme API manual" LINUX +.TH "nvme_directive_recv_stream_status" 9 "nvme_directive_recv_stream_status" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_directive_recv_stream_status \- Directive receive stream status .SH SYNOPSIS diff --git a/doc/man/nvme_directive_send.2 b/doc/man/nvme_directive_send.2 index 7d1f333..28860e8 100644 --- a/doc/man/nvme_directive_send.2 +++ b/doc/man/nvme_directive_send.2 @@ -1,4 +1,4 @@ -.TH "nvme_directive_send" 9 "nvme_directive_send" "August 2024" "libnvme API manual" LINUX +.TH "nvme_directive_send" 9 "nvme_directive_send" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_directive_send \- Send directive command .SH SYNOPSIS diff --git a/doc/man/nvme_directive_send_doper.2 b/doc/man/nvme_directive_send_doper.2 index 0c2dbca..990018c 100644 --- a/doc/man/nvme_directive_send_doper.2 +++ b/doc/man/nvme_directive_send_doper.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_directive_send_doper" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_directive_send_doper" "October 2024" "API Manual" LINUX .SH NAME enum nvme_directive_send_doper \- Directive Send Directive Operation .SH SYNOPSIS diff --git a/doc/man/nvme_directive_send_id_endir.2 b/doc/man/nvme_directive_send_id_endir.2 index fc00033..58be5db 100644 --- a/doc/man/nvme_directive_send_id_endir.2 +++ b/doc/man/nvme_directive_send_id_endir.2 @@ -1,4 +1,4 @@ -.TH "nvme_directive_send_id_endir" 9 "nvme_directive_send_id_endir" "August 2024" "libnvme API manual" LINUX +.TH "nvme_directive_send_id_endir" 9 "nvme_directive_send_id_endir" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_directive_send_id_endir \- Directive Send Enable Directive .SH SYNOPSIS diff --git a/doc/man/nvme_directive_send_identify_endir.2 b/doc/man/nvme_directive_send_identify_endir.2 index 2f3e9b5..3b2b779 100644 --- a/doc/man/nvme_directive_send_identify_endir.2 +++ b/doc/man/nvme_directive_send_identify_endir.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_directive_send_identify_endir" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_directive_send_identify_endir" "October 2024" "API Manual" LINUX .SH NAME enum nvme_directive_send_identify_endir \- Enable Directive .SH SYNOPSIS diff --git a/doc/man/nvme_directive_send_stream_release_identifier.2 b/doc/man/nvme_directive_send_stream_release_identifier.2 index e34dba8..a503e42 100644 --- a/doc/man/nvme_directive_send_stream_release_identifier.2 +++ b/doc/man/nvme_directive_send_stream_release_identifier.2 @@ -1,4 +1,4 @@ -.TH "nvme_directive_send_stream_release_identifier" 9 "nvme_directive_send_stream_release_identifier" "August 2024" "libnvme API manual" LINUX +.TH "nvme_directive_send_stream_release_identifier" 9 "nvme_directive_send_stream_release_identifier" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_directive_send_stream_release_identifier \- Directive Send Stream release .SH SYNOPSIS diff --git a/doc/man/nvme_directive_send_stream_release_resource.2 b/doc/man/nvme_directive_send_stream_release_resource.2 index d718724..903788b 100644 --- a/doc/man/nvme_directive_send_stream_release_resource.2 +++ b/doc/man/nvme_directive_send_stream_release_resource.2 @@ -1,4 +1,4 @@ -.TH "nvme_directive_send_stream_release_resource" 9 "nvme_directive_send_stream_release_resource" "August 2024" "libnvme API manual" LINUX +.TH "nvme_directive_send_stream_release_resource" 9 "nvme_directive_send_stream_release_resource" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_directive_send_stream_release_resource \- Directive Send Stream release resources .SH SYNOPSIS diff --git a/doc/man/nvme_directive_types.2 b/doc/man/nvme_directive_types.2 index 43aa797..561bad0 100644 --- a/doc/man/nvme_directive_types.2 +++ b/doc/man/nvme_directive_types.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_directive_types" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_directive_types" "October 2024" "API Manual" LINUX .SH NAME enum nvme_directive_types \- Directives Supported or Enabled .SH SYNOPSIS diff --git a/doc/man/nvme_disconnect_ctrl.2 b/doc/man/nvme_disconnect_ctrl.2 index 2764c1d..1d35584 100644 --- a/doc/man/nvme_disconnect_ctrl.2 +++ b/doc/man/nvme_disconnect_ctrl.2 @@ -1,4 +1,4 @@ -.TH "nvme_disconnect_ctrl" 9 "nvme_disconnect_ctrl" "August 2024" "libnvme API manual" LINUX +.TH "nvme_disconnect_ctrl" 9 "nvme_disconnect_ctrl" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_disconnect_ctrl \- Disconnect a controller .SH SYNOPSIS diff --git a/doc/man/nvme_dsm.2 b/doc/man/nvme_dsm.2 index d363042..175f1cf 100644 --- a/doc/man/nvme_dsm.2 +++ b/doc/man/nvme_dsm.2 @@ -1,4 +1,4 @@ -.TH "nvme_dsm" 9 "nvme_dsm" "August 2024" "libnvme API manual" LINUX +.TH "nvme_dsm" 9 "nvme_dsm" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_dsm \- Send an nvme data set management command .SH SYNOPSIS diff --git a/doc/man/nvme_dsm_attributes.2 b/doc/man/nvme_dsm_attributes.2 index 0aa1bef..fbc2eb8 100644 --- a/doc/man/nvme_dsm_attributes.2 +++ b/doc/man/nvme_dsm_attributes.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_dsm_attributes" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_dsm_attributes" "October 2024" "API Manual" LINUX .SH NAME enum nvme_dsm_attributes \- Dataset Management attributes .SH SYNOPSIS diff --git a/doc/man/nvme_dsm_range.2 b/doc/man/nvme_dsm_range.2 index 0eca47a..253cec5 100644 --- a/doc/man/nvme_dsm_range.2 +++ b/doc/man/nvme_dsm_range.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_dsm_range" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_dsm_range" "October 2024" "API Manual" LINUX .SH NAME struct nvme_dsm_range \- Dataset Management - Range Definition .SH SYNOPSIS diff --git a/doc/man/nvme_dst_stc.2 b/doc/man/nvme_dst_stc.2 index d7723c7..3ca98fb 100644 --- a/doc/man/nvme_dst_stc.2 +++ b/doc/man/nvme_dst_stc.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_dst_stc" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_dst_stc" "October 2024" "API Manual" LINUX .SH NAME enum nvme_dst_stc \- Action taken by the Device Self-test command .SH SYNOPSIS diff --git a/doc/man/nvme_dump_config.2 b/doc/man/nvme_dump_config.2 index bd29a52..74e9f4b 100644 --- a/doc/man/nvme_dump_config.2 +++ b/doc/man/nvme_dump_config.2 @@ -1,4 +1,4 @@ -.TH "nvme_dump_config" 9 "nvme_dump_config" "August 2024" "libnvme API manual" LINUX +.TH "nvme_dump_config" 9 "nvme_dump_config" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_dump_config \- Print the JSON configuration .SH SYNOPSIS diff --git a/doc/man/nvme_dump_tree.2 b/doc/man/nvme_dump_tree.2 index b380ce1..4d2ab6f 100644 --- a/doc/man/nvme_dump_tree.2 +++ b/doc/man/nvme_dump_tree.2 @@ -1,4 +1,4 @@ -.TH "nvme_dump_tree" 9 "nvme_dump_tree" "August 2024" "libnvme API manual" LINUX +.TH "nvme_dump_tree" 9 "nvme_dump_tree" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_dump_tree \- Dump internal object tree .SH SYNOPSIS diff --git a/doc/man/nvme_eg_critical_warning_flags.2 b/doc/man/nvme_eg_critical_warning_flags.2 index 8db09a5..0bc517a 100644 --- a/doc/man/nvme_eg_critical_warning_flags.2 +++ b/doc/man/nvme_eg_critical_warning_flags.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_eg_critical_warning_flags" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_eg_critical_warning_flags" "October 2024" "API Manual" LINUX .SH NAME enum nvme_eg_critical_warning_flags \- Endurance Group Information Log - Critical Warning .SH SYNOPSIS diff --git a/doc/man/nvme_eg_event_aggregate_log.2 b/doc/man/nvme_eg_event_aggregate_log.2 index 1bc692c..31f72b2 100644 --- a/doc/man/nvme_eg_event_aggregate_log.2 +++ b/doc/man/nvme_eg_event_aggregate_log.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_eg_event_aggregate_log" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_eg_event_aggregate_log" "October 2024" "API Manual" LINUX .SH NAME struct nvme_eg_event_aggregate_log \- Endurance Group Event Aggregate .SH SYNOPSIS diff --git a/doc/man/nvme_end_grp_chan_desc.2 b/doc/man/nvme_end_grp_chan_desc.2 index 1dae32d..1a23168 100644 --- a/doc/man/nvme_end_grp_chan_desc.2 +++ b/doc/man/nvme_end_grp_chan_desc.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_end_grp_chan_desc" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_end_grp_chan_desc" "October 2024" "API Manual" LINUX .SH NAME struct nvme_end_grp_chan_desc \- Endurance Group Channel Configuration Descriptor .SH SYNOPSIS diff --git a/doc/man/nvme_end_grp_config_desc.2 b/doc/man/nvme_end_grp_config_desc.2 index 4df5e47..14a3ace 100644 --- a/doc/man/nvme_end_grp_config_desc.2 +++ b/doc/man/nvme_end_grp_config_desc.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_end_grp_config_desc" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_end_grp_config_desc" "October 2024" "API Manual" LINUX .SH NAME struct nvme_end_grp_config_desc \- Endurance Group Configuration Descriptor .SH SYNOPSIS diff --git a/doc/man/nvme_endurance_group_log.2 b/doc/man/nvme_endurance_group_log.2 index 017c8a0..c541031 100644 --- a/doc/man/nvme_endurance_group_log.2 +++ b/doc/man/nvme_endurance_group_log.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_endurance_group_log" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_endurance_group_log" "October 2024" "API Manual" LINUX .SH NAME struct nvme_endurance_group_log \- Endurance Group Information Log .SH SYNOPSIS diff --git a/doc/man/nvme_eom_lane_desc.2 b/doc/man/nvme_eom_lane_desc.2 index 3157f3c..73032a9 100644 --- a/doc/man/nvme_eom_lane_desc.2 +++ b/doc/man/nvme_eom_lane_desc.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_eom_lane_desc" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_eom_lane_desc" "October 2024" "API Manual" LINUX .SH NAME struct nvme_eom_lane_desc \- EOM Lane Descriptor .SH SYNOPSIS diff --git a/doc/man/nvme_eom_optional_data.2 b/doc/man/nvme_eom_optional_data.2 index 6cc101c..13f5e71 100644 --- a/doc/man/nvme_eom_optional_data.2 +++ b/doc/man/nvme_eom_optional_data.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_eom_optional_data" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_eom_optional_data" "October 2024" "API Manual" LINUX .SH NAME enum nvme_eom_optional_data \- EOM Optional Data Present Fields (Deprecated) .SH SYNOPSIS diff --git a/doc/man/nvme_eom_optional_data_present.2 b/doc/man/nvme_eom_optional_data_present.2 index 70ca78b..1eee712 100644 --- a/doc/man/nvme_eom_optional_data_present.2 +++ b/doc/man/nvme_eom_optional_data_present.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_eom_optional_data_present" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_eom_optional_data_present" "October 2024" "API Manual" LINUX .SH NAME enum nvme_eom_optional_data_present \- EOM Optional Data Present Fields .SH SYNOPSIS diff --git a/doc/man/nvme_errno_to_string.2 b/doc/man/nvme_errno_to_string.2 index b364bba..fc8b1d2 100644 --- a/doc/man/nvme_errno_to_string.2 +++ b/doc/man/nvme_errno_to_string.2 @@ -1,4 +1,4 @@ -.TH "nvme_errno_to_string" 9 "nvme_errno_to_string" "August 2024" "libnvme API manual" LINUX +.TH "nvme_errno_to_string" 9 "nvme_errno_to_string" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_errno_to_string \- Returns string describing nvme connect failures .SH SYNOPSIS diff --git a/doc/man/nvme_error_log_page.2 b/doc/man/nvme_error_log_page.2 index 663b41f..035f05a 100644 --- a/doc/man/nvme_error_log_page.2 +++ b/doc/man/nvme_error_log_page.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_error_log_page" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_error_log_page" "October 2024" "API Manual" LINUX .SH NAME struct nvme_error_log_page \- Error Information Log Entry (Log Identifier 01h) .SH SYNOPSIS diff --git a/doc/man/nvme_export_tls_key.2 b/doc/man/nvme_export_tls_key.2 index b3dc4cb..5b29f96 100644 --- a/doc/man/nvme_export_tls_key.2 +++ b/doc/man/nvme_export_tls_key.2 @@ -1,4 +1,4 @@ -.TH "nvme_export_tls_key" 9 "nvme_export_tls_key" "August 2024" "libnvme API manual" LINUX +.TH "nvme_export_tls_key" 9 "nvme_export_tls_key" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_export_tls_key \- Export a TLS key .SH SYNOPSIS diff --git a/doc/man/nvme_export_tls_key_versioned.2 b/doc/man/nvme_export_tls_key_versioned.2 new file mode 100644 index 0000000..197289f --- /dev/null +++ b/doc/man/nvme_export_tls_key_versioned.2 @@ -0,0 +1,26 @@ +.TH "nvme_export_tls_key_versioned" 9 "nvme_export_tls_key_versioned" "October 2024" "libnvme API manual" LINUX +.SH NAME +nvme_export_tls_key_versioned \- Export a TLS pre-shared key +.SH SYNOPSIS +.B "char *" nvme_export_tls_key_versioned +.BI "(unsigned char version " "," +.BI "unsigned char hmac " "," +.BI "const unsigned char *key_data " "," +.BI "size_t key_len " ");" +.SH ARGUMENTS +.IP "version" 12 +Indicated the representation of the TLS PSK +.IP "hmac" 12 +HMAC algorithm used to transfor the configured PSK +in a retained PSK +.IP "key_data" 12 +Raw data of the key +.IP "key_len" 12 +Length of \fIkey_data\fP +.SH "DESCRIPTION" +Returns \fIkey_data\fP in the PSK Interchange format as defined in section +3.6.1.5 of the NVMe TCP Transport specification. +.SH "RETURN" +The string containing the TLS identity or NULL with errno set +on error. It is the responsibility of the caller to free the returned +string. diff --git a/doc/man/nvme_fabrics_config.2 b/doc/man/nvme_fabrics_config.2 index 90fe365..ee876e8 100644 --- a/doc/man/nvme_fabrics_config.2 +++ b/doc/man/nvme_fabrics_config.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_fabrics_config" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_fabrics_config" "October 2024" "API Manual" LINUX .SH NAME struct nvme_fabrics_config \- Defines all linux nvme fabrics initiator options .SH SYNOPSIS @@ -30,6 +30,8 @@ struct nvme_fabrics_config { .br .BI " long tls_key;" .br +.BI " long tls_configured_key;" +.br .BI " bool duplicate_connect;" .br .BI " bool disable_sqflow;" @@ -73,6 +75,8 @@ Type of service Keyring to store and lookup keys .IP "tls_key" 12 TLS PSK for the connection +.IP "tls_configured_key" 12 +TLS PSK for connect command for the connection .IP "duplicate_connect" 12 Allow multiple connections to the same target .IP "disable_sqflow" 12 diff --git a/doc/man/nvme_fabrics_uri.2 b/doc/man/nvme_fabrics_uri.2 index d779a8b..f7b2c29 100644 --- a/doc/man/nvme_fabrics_uri.2 +++ b/doc/man/nvme_fabrics_uri.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_fabrics_uri" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_fabrics_uri" "October 2024" "API Manual" LINUX .SH NAME struct nvme_fabrics_uri \- Parsed URI structure .SH SYNOPSIS diff --git a/doc/man/nvme_fctype.2 b/doc/man/nvme_fctype.2 index 3e4d001..15cfeeb 100644 --- a/doc/man/nvme_fctype.2 +++ b/doc/man/nvme_fctype.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_fctype" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_fctype" "October 2024" "API Manual" LINUX .SH NAME enum nvme_fctype \- Fabrics Command Types .SH SYNOPSIS diff --git a/doc/man/nvme_fdp_config_desc.2 b/doc/man/nvme_fdp_config_desc.2 index 8f0e910..731d95d 100644 --- a/doc/man/nvme_fdp_config_desc.2 +++ b/doc/man/nvme_fdp_config_desc.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_fdp_config_desc" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_fdp_config_desc" "October 2024" "API Manual" LINUX .SH NAME struct nvme_fdp_config_desc \- FDP Configuration Descriptor .SH SYNOPSIS diff --git a/doc/man/nvme_fdp_config_fdpa.2 b/doc/man/nvme_fdp_config_fdpa.2 index 049c278..2eb1c19 100644 --- a/doc/man/nvme_fdp_config_fdpa.2 +++ b/doc/man/nvme_fdp_config_fdpa.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_fdp_config_fdpa" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_fdp_config_fdpa" "October 2024" "API Manual" LINUX .SH NAME enum nvme_fdp_config_fdpa \- FDP Attributes .SH SYNOPSIS diff --git a/doc/man/nvme_fdp_config_log.2 b/doc/man/nvme_fdp_config_log.2 index 0a444a0..96e48a2 100644 --- a/doc/man/nvme_fdp_config_log.2 +++ b/doc/man/nvme_fdp_config_log.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_fdp_config_log" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_fdp_config_log" "October 2024" "API Manual" LINUX .SH NAME struct nvme_fdp_config_log \- FDP Configurations Log Page .SH SYNOPSIS diff --git a/doc/man/nvme_fdp_event.2 b/doc/man/nvme_fdp_event.2 index b0be404..052355e 100644 --- a/doc/man/nvme_fdp_event.2 +++ b/doc/man/nvme_fdp_event.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_fdp_event" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_fdp_event" "October 2024" "API Manual" LINUX .SH NAME struct nvme_fdp_event \- FDP Event .SH SYNOPSIS diff --git a/doc/man/nvme_fdp_event_flags.2 b/doc/man/nvme_fdp_event_flags.2 index 7da309b..00edf4f 100644 --- a/doc/man/nvme_fdp_event_flags.2 +++ b/doc/man/nvme_fdp_event_flags.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_fdp_event_flags" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_fdp_event_flags" "October 2024" "API Manual" LINUX .SH NAME enum nvme_fdp_event_flags \- FDP Event Flags .SH SYNOPSIS diff --git a/doc/man/nvme_fdp_event_realloc.2 b/doc/man/nvme_fdp_event_realloc.2 index fd4dcde..18665f8 100644 --- a/doc/man/nvme_fdp_event_realloc.2 +++ b/doc/man/nvme_fdp_event_realloc.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_fdp_event_realloc" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_fdp_event_realloc" "October 2024" "API Manual" LINUX .SH NAME struct nvme_fdp_event_realloc \- Media Reallocated Event Type Specific Information .SH SYNOPSIS diff --git a/doc/man/nvme_fdp_event_realloc_flags.2 b/doc/man/nvme_fdp_event_realloc_flags.2 index aeb3cf7..536e223 100644 --- a/doc/man/nvme_fdp_event_realloc_flags.2 +++ b/doc/man/nvme_fdp_event_realloc_flags.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_fdp_event_realloc_flags" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_fdp_event_realloc_flags" "October 2024" "API Manual" LINUX .SH NAME enum nvme_fdp_event_realloc_flags \- Media Reallocated Event Type Specific Flags .SH SYNOPSIS diff --git a/doc/man/nvme_fdp_event_type.2 b/doc/man/nvme_fdp_event_type.2 index 0fef675..839bc4e 100644 --- a/doc/man/nvme_fdp_event_type.2 +++ b/doc/man/nvme_fdp_event_type.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_fdp_event_type" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_fdp_event_type" "October 2024" "API Manual" LINUX .SH NAME enum nvme_fdp_event_type \- FDP Event Types .SH SYNOPSIS diff --git a/doc/man/nvme_fdp_events_log.2 b/doc/man/nvme_fdp_events_log.2 index 7c696c3..789f66f 100644 --- a/doc/man/nvme_fdp_events_log.2 +++ b/doc/man/nvme_fdp_events_log.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_fdp_events_log" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_fdp_events_log" "October 2024" "API Manual" LINUX .SH NAME struct nvme_fdp_events_log \- FDP Events Log Page .SH SYNOPSIS diff --git a/doc/man/nvme_fdp_reclaim_unit_handle_status.2 b/doc/man/nvme_fdp_reclaim_unit_handle_status.2 index 6459846..329c76b 100644 --- a/doc/man/nvme_fdp_reclaim_unit_handle_status.2 +++ b/doc/man/nvme_fdp_reclaim_unit_handle_status.2 @@ -1,4 +1,4 @@ -.TH "nvme_fdp_reclaim_unit_handle_status" 9 "nvme_fdp_reclaim_unit_handle_status" "August 2024" "libnvme API manual" LINUX +.TH "nvme_fdp_reclaim_unit_handle_status" 9 "nvme_fdp_reclaim_unit_handle_status" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_fdp_reclaim_unit_handle_status \- Get reclaim unit handle status .SH SYNOPSIS diff --git a/doc/man/nvme_fdp_reclaim_unit_handle_update.2 b/doc/man/nvme_fdp_reclaim_unit_handle_update.2 index eee23a2..0badffd 100644 --- a/doc/man/nvme_fdp_reclaim_unit_handle_update.2 +++ b/doc/man/nvme_fdp_reclaim_unit_handle_update.2 @@ -1,4 +1,4 @@ -.TH "nvme_fdp_reclaim_unit_handle_update" 9 "nvme_fdp_reclaim_unit_handle_update" "August 2024" "libnvme API manual" LINUX +.TH "nvme_fdp_reclaim_unit_handle_update" 9 "nvme_fdp_reclaim_unit_handle_update" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_fdp_reclaim_unit_handle_update \- Update a list of reclaim unit handles .SH SYNOPSIS diff --git a/doc/man/nvme_fdp_ruh_desc.2 b/doc/man/nvme_fdp_ruh_desc.2 index af1d861..4abfe51 100644 --- a/doc/man/nvme_fdp_ruh_desc.2 +++ b/doc/man/nvme_fdp_ruh_desc.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_fdp_ruh_desc" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_fdp_ruh_desc" "October 2024" "API Manual" LINUX .SH NAME struct nvme_fdp_ruh_desc \- Reclaim Unit Handle Descriptor .SH SYNOPSIS diff --git a/doc/man/nvme_fdp_ruh_status.2 b/doc/man/nvme_fdp_ruh_status.2 index ba2e98b..54f1ee7 100644 --- a/doc/man/nvme_fdp_ruh_status.2 +++ b/doc/man/nvme_fdp_ruh_status.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_fdp_ruh_status" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_fdp_ruh_status" "October 2024" "API Manual" LINUX .SH NAME struct nvme_fdp_ruh_status \- Reclaim Unit Handle Status .SH SYNOPSIS diff --git a/doc/man/nvme_fdp_ruh_status_desc.2 b/doc/man/nvme_fdp_ruh_status_desc.2 index c2732b0..bfebb1c 100644 --- a/doc/man/nvme_fdp_ruh_status_desc.2 +++ b/doc/man/nvme_fdp_ruh_status_desc.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_fdp_ruh_status_desc" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_fdp_ruh_status_desc" "October 2024" "API Manual" LINUX .SH NAME struct nvme_fdp_ruh_status_desc \- Reclaim Unit Handle Status Descriptor .SH SYNOPSIS diff --git a/doc/man/nvme_fdp_ruh_type.2 b/doc/man/nvme_fdp_ruh_type.2 index 4b722d6..f93dc70 100644 --- a/doc/man/nvme_fdp_ruh_type.2 +++ b/doc/man/nvme_fdp_ruh_type.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_fdp_ruh_type" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_fdp_ruh_type" "October 2024" "API Manual" LINUX .SH NAME enum nvme_fdp_ruh_type \- Reclaim Unit Handle Type .SH SYNOPSIS diff --git a/doc/man/nvme_fdp_ruha.2 b/doc/man/nvme_fdp_ruha.2 index 1faa493..dc845d9 100644 --- a/doc/man/nvme_fdp_ruha.2 +++ b/doc/man/nvme_fdp_ruha.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_fdp_ruha" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_fdp_ruha" "October 2024" "API Manual" LINUX .SH NAME enum nvme_fdp_ruha \- Reclaim Unit Handle Attributes .SH SYNOPSIS diff --git a/doc/man/nvme_fdp_ruhu_desc.2 b/doc/man/nvme_fdp_ruhu_desc.2 index 49c6d8c..7cade5e 100644 --- a/doc/man/nvme_fdp_ruhu_desc.2 +++ b/doc/man/nvme_fdp_ruhu_desc.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_fdp_ruhu_desc" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_fdp_ruhu_desc" "October 2024" "API Manual" LINUX .SH NAME struct nvme_fdp_ruhu_desc \- Reclaim Unit Handle Usage Descriptor .SH SYNOPSIS diff --git a/doc/man/nvme_fdp_ruhu_log.2 b/doc/man/nvme_fdp_ruhu_log.2 index bcd9be6..d9c1b80 100644 --- a/doc/man/nvme_fdp_ruhu_log.2 +++ b/doc/man/nvme_fdp_ruhu_log.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_fdp_ruhu_log" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_fdp_ruhu_log" "October 2024" "API Manual" LINUX .SH NAME struct nvme_fdp_ruhu_log \- Reclaim Unit Handle Usage Log Page .SH SYNOPSIS diff --git a/doc/man/nvme_fdp_stats_log.2 b/doc/man/nvme_fdp_stats_log.2 index 439d636..9824f85 100644 --- a/doc/man/nvme_fdp_stats_log.2 +++ b/doc/man/nvme_fdp_stats_log.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_fdp_stats_log" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_fdp_stats_log" "October 2024" "API Manual" LINUX .SH NAME struct nvme_fdp_stats_log \- FDP Statistics Log Page .SH SYNOPSIS diff --git a/doc/man/nvme_fdp_supported_event_attributes.2 b/doc/man/nvme_fdp_supported_event_attributes.2 index 91de540..fbbc123 100644 --- a/doc/man/nvme_fdp_supported_event_attributes.2 +++ b/doc/man/nvme_fdp_supported_event_attributes.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_fdp_supported_event_attributes" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_fdp_supported_event_attributes" "October 2024" "API Manual" LINUX .SH NAME enum nvme_fdp_supported_event_attributes \- Supported FDP Event Attributes .SH SYNOPSIS diff --git a/doc/man/nvme_fdp_supported_event_desc.2 b/doc/man/nvme_fdp_supported_event_desc.2 index 991d232..59f777e 100644 --- a/doc/man/nvme_fdp_supported_event_desc.2 +++ b/doc/man/nvme_fdp_supported_event_desc.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_fdp_supported_event_desc" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_fdp_supported_event_desc" "October 2024" "API Manual" LINUX .SH NAME struct nvme_fdp_supported_event_desc \- Supported FDP Event Descriptor .SH SYNOPSIS diff --git a/doc/man/nvme_feat.2 b/doc/man/nvme_feat.2 index 0b72f7e..9b81983 100644 --- a/doc/man/nvme_feat.2 +++ b/doc/man/nvme_feat.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_feat" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_feat" "October 2024" "API Manual" LINUX .SH NAME enum nvme_feat \- Features Access Shifts/Masks values .SH SYNOPSIS diff --git a/doc/man/nvme_feat_auto_pst.2 b/doc/man/nvme_feat_auto_pst.2 index 512a420..3e3d25d 100644 --- a/doc/man/nvme_feat_auto_pst.2 +++ b/doc/man/nvme_feat_auto_pst.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_feat_auto_pst" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_feat_auto_pst" "October 2024" "API Manual" LINUX .SH NAME struct nvme_feat_auto_pst \- Autonomous Power State Transition .SH SYNOPSIS diff --git a/doc/man/nvme_feat_fdp_events_cdw11.2 b/doc/man/nvme_feat_fdp_events_cdw11.2 index a369786..6e24063 100644 --- a/doc/man/nvme_feat_fdp_events_cdw11.2 +++ b/doc/man/nvme_feat_fdp_events_cdw11.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_feat_fdp_events_cdw11" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_feat_fdp_events_cdw11" "October 2024" "API Manual" LINUX .SH NAME struct nvme_feat_fdp_events_cdw11 \- FDP Events Feature Command Dword 11 .SH SYNOPSIS diff --git a/doc/man/nvme_feat_host_behavior.2 b/doc/man/nvme_feat_host_behavior.2 index 3629d62..64b2cd0 100644 --- a/doc/man/nvme_feat_host_behavior.2 +++ b/doc/man/nvme_feat_host_behavior.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_feat_host_behavior" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_feat_host_behavior" "October 2024" "API Manual" LINUX .SH NAME struct nvme_feat_host_behavior \- Host Behavior Support - Data Structure .SH SYNOPSIS diff --git a/doc/man/nvme_feat_nswpcfg_state.2 b/doc/man/nvme_feat_nswpcfg_state.2 index 3d4fea8..8673ea1 100644 --- a/doc/man/nvme_feat_nswpcfg_state.2 +++ b/doc/man/nvme_feat_nswpcfg_state.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_feat_nswpcfg_state" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_feat_nswpcfg_state" "October 2024" "API Manual" LINUX .SH NAME enum nvme_feat_nswpcfg_state \- Write Protection - Write Protection State .SH SYNOPSIS diff --git a/doc/man/nvme_feat_plm_window_select.2 b/doc/man/nvme_feat_plm_window_select.2 index e375bd2..48390c3 100644 --- a/doc/man/nvme_feat_plm_window_select.2 +++ b/doc/man/nvme_feat_plm_window_select.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_feat_plm_window_select" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_feat_plm_window_select" "October 2024" "API Manual" LINUX .SH NAME enum nvme_feat_plm_window_select \- Predictable Latency Per NVM Set Log .SH SYNOPSIS diff --git a/doc/man/nvme_feat_resv_notify_flags.2 b/doc/man/nvme_feat_resv_notify_flags.2 index 5729db5..b1c6d92 100644 --- a/doc/man/nvme_feat_resv_notify_flags.2 +++ b/doc/man/nvme_feat_resv_notify_flags.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_feat_resv_notify_flags" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_feat_resv_notify_flags" "October 2024" "API Manual" LINUX .SH NAME enum nvme_feat_resv_notify_flags \- Reservation Notification Configuration .SH SYNOPSIS diff --git a/doc/man/nvme_feat_tmpthresh_thsel.2 b/doc/man/nvme_feat_tmpthresh_thsel.2 index 27c2c22..5d10c09 100644 --- a/doc/man/nvme_feat_tmpthresh_thsel.2 +++ b/doc/man/nvme_feat_tmpthresh_thsel.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_feat_tmpthresh_thsel" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_feat_tmpthresh_thsel" "October 2024" "API Manual" LINUX .SH NAME enum nvme_feat_tmpthresh_thsel \- Temperature Threshold - Threshold Type Select .SH SYNOPSIS diff --git a/doc/man/nvme_features_async_event_config_flags.2 b/doc/man/nvme_features_async_event_config_flags.2 index 9ce6377..4cb0144 100644 --- a/doc/man/nvme_features_async_event_config_flags.2 +++ b/doc/man/nvme_features_async_event_config_flags.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_features_async_event_config_flags" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_features_async_event_config_flags" "October 2024" "API Manual" LINUX .SH NAME enum nvme_features_async_event_config_flags \- Asynchronous Event Configuration configuration flags .SH SYNOPSIS diff --git a/doc/man/nvme_features_id.2 b/doc/man/nvme_features_id.2 index 8ce8578..b5789f9 100644 --- a/doc/man/nvme_features_id.2 +++ b/doc/man/nvme_features_id.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_features_id" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_features_id" "October 2024" "API Manual" LINUX .SH NAME enum nvme_features_id \- Features - Feature Identifiers .SH SYNOPSIS diff --git a/doc/man/nvme_fid_supported_effects.2 b/doc/man/nvme_fid_supported_effects.2 index dd8366b..ddd9d68 100644 --- a/doc/man/nvme_fid_supported_effects.2 +++ b/doc/man/nvme_fid_supported_effects.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_fid_supported_effects" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_fid_supported_effects" "October 2024" "API Manual" LINUX .SH NAME enum nvme_fid_supported_effects \- FID Supported and Effects Data Structure definitions .SH SYNOPSIS diff --git a/doc/man/nvme_fid_supported_effects_log.2 b/doc/man/nvme_fid_supported_effects_log.2 index 4c786db..b4451e4 100644 --- a/doc/man/nvme_fid_supported_effects_log.2 +++ b/doc/man/nvme_fid_supported_effects_log.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_fid_supported_effects_log" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_fid_supported_effects_log" "October 2024" "API Manual" LINUX .SH NAME struct nvme_fid_supported_effects_log \- Feature Identifiers Supported and Effects .SH SYNOPSIS diff --git a/doc/man/nvme_firmware_slot.2 b/doc/man/nvme_firmware_slot.2 index 06bd9c5..9b662bd 100644 --- a/doc/man/nvme_firmware_slot.2 +++ b/doc/man/nvme_firmware_slot.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_firmware_slot" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_firmware_slot" "October 2024" "API Manual" LINUX .SH NAME struct nvme_firmware_slot \- Firmware Slot Information Log .SH SYNOPSIS diff --git a/doc/man/nvme_first_host.2 b/doc/man/nvme_first_host.2 index 259b2a4..4003212 100644 --- a/doc/man/nvme_first_host.2 +++ b/doc/man/nvme_first_host.2 @@ -1,4 +1,4 @@ -.TH "nvme_first_host" 9 "nvme_first_host" "August 2024" "libnvme API manual" LINUX +.TH "nvme_first_host" 9 "nvme_first_host" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_first_host \- Start host iterator .SH SYNOPSIS diff --git a/doc/man/nvme_first_subsystem.2 b/doc/man/nvme_first_subsystem.2 index 4de04bf..809d344 100644 --- a/doc/man/nvme_first_subsystem.2 +++ b/doc/man/nvme_first_subsystem.2 @@ -1,4 +1,4 @@ -.TH "nvme_first_subsystem" 9 "nvme_first_subsystem" "August 2024" "libnvme API manual" LINUX +.TH "nvme_first_subsystem" 9 "nvme_first_subsystem" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_first_subsystem \- Start subsystem iterator .SH SYNOPSIS diff --git a/doc/man/nvme_flbas.2 b/doc/man/nvme_flbas.2 index 430d241..a79033d 100644 --- a/doc/man/nvme_flbas.2 +++ b/doc/man/nvme_flbas.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_flbas" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_flbas" "October 2024" "API Manual" LINUX .SH NAME enum nvme_flbas \- This field indicates the formatted LBA size .SH SYNOPSIS diff --git a/doc/man/nvme_flush.2 b/doc/man/nvme_flush.2 index 4e8f71a..c992ba4 100644 --- a/doc/man/nvme_flush.2 +++ b/doc/man/nvme_flush.2 @@ -1,4 +1,4 @@ -.TH "nvme_flush" 9 "nvme_flush" "August 2024" "libnvme API manual" LINUX +.TH "nvme_flush" 9 "nvme_flush" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_flush \- Send an nvme flush command .SH SYNOPSIS diff --git a/doc/man/nvme_for_each_host.2 b/doc/man/nvme_for_each_host.2 index fc9052e..5ce601b 100644 --- a/doc/man/nvme_for_each_host.2 +++ b/doc/man/nvme_for_each_host.2 @@ -1,4 +1,4 @@ -.TH "nvme_for_each_host" 9 "nvme_for_each_host" "August 2024" "libnvme API manual" LINUX +.TH "nvme_for_each_host" 9 "nvme_for_each_host" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_for_each_host \- Traverse host list .SH SYNOPSIS diff --git a/doc/man/nvme_for_each_host_safe.2 b/doc/man/nvme_for_each_host_safe.2 index 1981874..b6a39e2 100644 --- a/doc/man/nvme_for_each_host_safe.2 +++ b/doc/man/nvme_for_each_host_safe.2 @@ -1,4 +1,4 @@ -.TH "nvme_for_each_host_safe" 9 "nvme_for_each_host_safe" "August 2024" "libnvme API manual" LINUX +.TH "nvme_for_each_host_safe" 9 "nvme_for_each_host_safe" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_for_each_host_safe \- Traverse host list .SH SYNOPSIS diff --git a/doc/man/nvme_for_each_subsystem.2 b/doc/man/nvme_for_each_subsystem.2 index c964dcd..741c2db 100644 --- a/doc/man/nvme_for_each_subsystem.2 +++ b/doc/man/nvme_for_each_subsystem.2 @@ -1,4 +1,4 @@ -.TH "nvme_for_each_subsystem" 9 "nvme_for_each_subsystem" "August 2024" "libnvme API manual" LINUX +.TH "nvme_for_each_subsystem" 9 "nvme_for_each_subsystem" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_for_each_subsystem \- Traverse subsystems .SH SYNOPSIS diff --git a/doc/man/nvme_for_each_subsystem_safe.2 b/doc/man/nvme_for_each_subsystem_safe.2 index 4c26e5c..983a0cc 100644 --- a/doc/man/nvme_for_each_subsystem_safe.2 +++ b/doc/man/nvme_for_each_subsystem_safe.2 @@ -1,4 +1,4 @@ -.TH "nvme_for_each_subsystem_safe" 9 "nvme_for_each_subsystem_safe" "August 2024" "libnvme API manual" LINUX +.TH "nvme_for_each_subsystem_safe" 9 "nvme_for_each_subsystem_safe" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_for_each_subsystem_safe \- Traverse subsystems .SH SYNOPSIS diff --git a/doc/man/nvme_format_nvm.2 b/doc/man/nvme_format_nvm.2 index 5c75768..151be44 100644 --- a/doc/man/nvme_format_nvm.2 +++ b/doc/man/nvme_format_nvm.2 @@ -1,4 +1,4 @@ -.TH "nvme_format_nvm" 9 "nvme_format_nvm" "August 2024" "libnvme API manual" LINUX +.TH "nvme_format_nvm" 9 "nvme_format_nvm" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_format_nvm \- Format nvme namespace(s) .SH SYNOPSIS diff --git a/doc/man/nvme_format_nvm_compln_event.2 b/doc/man/nvme_format_nvm_compln_event.2 index 85311e0..9fd31c5 100644 --- a/doc/man/nvme_format_nvm_compln_event.2 +++ b/doc/man/nvme_format_nvm_compln_event.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_format_nvm_compln_event" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_format_nvm_compln_event" "October 2024" "API Manual" LINUX .SH NAME struct nvme_format_nvm_compln_event \- Format NVM Completion Event Data .SH SYNOPSIS diff --git a/doc/man/nvme_format_nvm_start_event.2 b/doc/man/nvme_format_nvm_start_event.2 index 589ba90..1581173 100644 --- a/doc/man/nvme_format_nvm_start_event.2 +++ b/doc/man/nvme_format_nvm_start_event.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_format_nvm_start_event" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_format_nvm_start_event" "October 2024" "API Manual" LINUX .SH NAME struct nvme_format_nvm_start_event \- Format NVM Start Event Data .SH SYNOPSIS diff --git a/doc/man/nvme_free_ctrl.2 b/doc/man/nvme_free_ctrl.2 index 3d76730..e567aae 100644 --- a/doc/man/nvme_free_ctrl.2 +++ b/doc/man/nvme_free_ctrl.2 @@ -1,4 +1,4 @@ -.TH "nvme_free_ctrl" 9 "nvme_free_ctrl" "August 2024" "libnvme API manual" LINUX +.TH "nvme_free_ctrl" 9 "nvme_free_ctrl" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_free_ctrl \- Free controller .SH SYNOPSIS diff --git a/doc/man/nvme_free_host.2 b/doc/man/nvme_free_host.2 index f0316cb..aa1f79f 100644 --- a/doc/man/nvme_free_host.2 +++ b/doc/man/nvme_free_host.2 @@ -1,4 +1,4 @@ -.TH "nvme_free_host" 9 "nvme_free_host" "August 2024" "libnvme API manual" LINUX +.TH "nvme_free_host" 9 "nvme_free_host" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_free_host \- Free nvme_host_t object .SH SYNOPSIS diff --git a/doc/man/nvme_free_ns.2 b/doc/man/nvme_free_ns.2 index f47ba5c..da58df8 100644 --- a/doc/man/nvme_free_ns.2 +++ b/doc/man/nvme_free_ns.2 @@ -1,4 +1,4 @@ -.TH "nvme_free_ns" 9 "nvme_free_ns" "August 2024" "libnvme API manual" LINUX +.TH "nvme_free_ns" 9 "nvme_free_ns" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_free_ns \- Free a namespace object .SH SYNOPSIS diff --git a/doc/man/nvme_free_subsystem.2 b/doc/man/nvme_free_subsystem.2 index aa58699..26ec734 100644 --- a/doc/man/nvme_free_subsystem.2 +++ b/doc/man/nvme_free_subsystem.2 @@ -1,4 +1,4 @@ -.TH "nvme_free_subsystem" 9 "nvme_free_subsystem" "August 2024" "libnvme API manual" LINUX +.TH "nvme_free_subsystem" 9 "nvme_free_subsystem" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_free_subsystem \- Free a subsystem .SH SYNOPSIS diff --git a/doc/man/nvme_free_tree.2 b/doc/man/nvme_free_tree.2 index d50c0f5..db4547c 100644 --- a/doc/man/nvme_free_tree.2 +++ b/doc/man/nvme_free_tree.2 @@ -1,4 +1,4 @@ -.TH "nvme_free_tree" 9 "nvme_free_tree" "August 2024" "libnvme API manual" LINUX +.TH "nvme_free_tree" 9 "nvme_free_tree" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_free_tree \- Free root object .SH SYNOPSIS diff --git a/doc/man/nvme_free_uri.2 b/doc/man/nvme_free_uri.2 index 3184608..0763cda 100644 --- a/doc/man/nvme_free_uri.2 +++ b/doc/man/nvme_free_uri.2 @@ -1,4 +1,4 @@ -.TH "nvme_free_uri" 9 "nvme_free_uri" "August 2024" "libnvme API manual" LINUX +.TH "nvme_free_uri" 9 "nvme_free_uri" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_free_uri \- Free the URI structure .SH SYNOPSIS diff --git a/doc/man/nvme_fw_commit.2 b/doc/man/nvme_fw_commit.2 index 7695166..330bc40 100644 --- a/doc/man/nvme_fw_commit.2 +++ b/doc/man/nvme_fw_commit.2 @@ -1,4 +1,4 @@ -.TH "nvme_fw_commit" 9 "nvme_fw_commit" "August 2024" "libnvme API manual" LINUX +.TH "nvme_fw_commit" 9 "nvme_fw_commit" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_fw_commit \- Commit firmware using the specified action .SH SYNOPSIS diff --git a/doc/man/nvme_fw_commit_ca.2 b/doc/man/nvme_fw_commit_ca.2 index 12e88ad..9324e90 100644 --- a/doc/man/nvme_fw_commit_ca.2 +++ b/doc/man/nvme_fw_commit_ca.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_fw_commit_ca" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_fw_commit_ca" "October 2024" "API Manual" LINUX .SH NAME enum nvme_fw_commit_ca \- Firmware Commit - Commit Action .SH SYNOPSIS diff --git a/doc/man/nvme_fw_commit_event.2 b/doc/man/nvme_fw_commit_event.2 index 22da525..59122ae 100644 --- a/doc/man/nvme_fw_commit_event.2 +++ b/doc/man/nvme_fw_commit_event.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_fw_commit_event" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_fw_commit_event" "October 2024" "API Manual" LINUX .SH NAME struct nvme_fw_commit_event \- Firmware Commit Event Data .SH SYNOPSIS diff --git a/doc/man/nvme_fw_download.2 b/doc/man/nvme_fw_download.2 index dd37f1a..bebc979 100644 --- a/doc/man/nvme_fw_download.2 +++ b/doc/man/nvme_fw_download.2 @@ -1,4 +1,4 @@ -.TH "nvme_fw_download" 9 "nvme_fw_download" "August 2024" "libnvme API manual" LINUX +.TH "nvme_fw_download" 9 "nvme_fw_download" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_fw_download \- Download part or all of a firmware image to the controller .SH SYNOPSIS diff --git a/doc/man/nvme_fw_download_seq.2 b/doc/man/nvme_fw_download_seq.2 index b975de4..0807d8d 100644 --- a/doc/man/nvme_fw_download_seq.2 +++ b/doc/man/nvme_fw_download_seq.2 @@ -1,4 +1,4 @@ -.TH "nvme_fw_download_seq" 9 "nvme_fw_download_seq" "August 2024" "libnvme API manual" LINUX +.TH "nvme_fw_download_seq" 9 "nvme_fw_download_seq" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_fw_download_seq \- Firmware download sequence .SH SYNOPSIS diff --git a/doc/man/nvme_gen_dhchap_key.2 b/doc/man/nvme_gen_dhchap_key.2 index 0145828..aebc0db 100644 --- a/doc/man/nvme_gen_dhchap_key.2 +++ b/doc/man/nvme_gen_dhchap_key.2 @@ -1,4 +1,4 @@ -.TH "nvme_gen_dhchap_key" 9 "nvme_gen_dhchap_key" "August 2024" "libnvme API manual" LINUX +.TH "nvme_gen_dhchap_key" 9 "nvme_gen_dhchap_key" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_gen_dhchap_key \- DH-HMAC-CHAP key generation .SH SYNOPSIS diff --git a/doc/man/nvme_generate_tls_key_identity.2 b/doc/man/nvme_generate_tls_key_identity.2 index f047125..33d00fb 100644 --- a/doc/man/nvme_generate_tls_key_identity.2 +++ b/doc/man/nvme_generate_tls_key_identity.2 @@ -1,4 +1,4 @@ -.TH "nvme_generate_tls_key_identity" 9 "nvme_generate_tls_key_identity" "August 2024" "libnvme API manual" LINUX +.TH "nvme_generate_tls_key_identity" 9 "nvme_generate_tls_key_identity" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_generate_tls_key_identity \- Generate the TLS key identity .SH SYNOPSIS diff --git a/doc/man/nvme_get_ana_log_atomic.2 b/doc/man/nvme_get_ana_log_atomic.2 index 1a04b84..db82735 100644 --- a/doc/man/nvme_get_ana_log_atomic.2 +++ b/doc/man/nvme_get_ana_log_atomic.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_ana_log_atomic" 9 "nvme_get_ana_log_atomic" "August 2024" "libnvme API manual" LINUX +.TH "nvme_get_ana_log_atomic" 9 "nvme_get_ana_log_atomic" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_get_ana_log_atomic \- Retrieve Asymmetric Namespace Access log page atomically .SH SYNOPSIS diff --git a/doc/man/nvme_get_ana_log_len.2 b/doc/man/nvme_get_ana_log_len.2 index 19eafc7..4cda1cb 100644 --- a/doc/man/nvme_get_ana_log_len.2 +++ b/doc/man/nvme_get_ana_log_len.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_ana_log_len" 9 "nvme_get_ana_log_len" "August 2024" "libnvme API manual" LINUX +.TH "nvme_get_ana_log_len" 9 "nvme_get_ana_log_len" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_get_ana_log_len \- Retrieve size of the current ANA log .SH SYNOPSIS diff --git a/doc/man/nvme_get_ana_log_len_from_id_ctrl.2 b/doc/man/nvme_get_ana_log_len_from_id_ctrl.2 index 75fcd17..1370859 100644 --- a/doc/man/nvme_get_ana_log_len_from_id_ctrl.2 +++ b/doc/man/nvme_get_ana_log_len_from_id_ctrl.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_ana_log_len_from_id_ctrl" 9 "nvme_get_ana_log_len_from_id_ctrl" "August 2024" "libnvme API manual" LINUX +.TH "nvme_get_ana_log_len_from_id_ctrl" 9 "nvme_get_ana_log_len_from_id_ctrl" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_get_ana_log_len_from_id_ctrl \- Retrieve maximum possible ANA log size .SH SYNOPSIS diff --git a/doc/man/nvme_get_attr.2 b/doc/man/nvme_get_attr.2 index ec6c8aa..fa68398 100644 --- a/doc/man/nvme_get_attr.2 +++ b/doc/man/nvme_get_attr.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_attr" 9 "nvme_get_attr" "August 2024" "libnvme API manual" LINUX +.TH "nvme_get_attr" 9 "nvme_get_attr" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_get_attr \- Read sysfs attribute .SH SYNOPSIS diff --git a/doc/man/nvme_get_ctrl_attr.2 b/doc/man/nvme_get_ctrl_attr.2 index b4f29c8..67d2861 100644 --- a/doc/man/nvme_get_ctrl_attr.2 +++ b/doc/man/nvme_get_ctrl_attr.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_ctrl_attr" 9 "nvme_get_ctrl_attr" "August 2024" "libnvme API manual" LINUX +.TH "nvme_get_ctrl_attr" 9 "nvme_get_ctrl_attr" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_get_ctrl_attr \- Read controller sysfs attribute .SH SYNOPSIS diff --git a/doc/man/nvme_get_ctrl_telemetry.2 b/doc/man/nvme_get_ctrl_telemetry.2 index 78e64b8..b603fc3 100644 --- a/doc/man/nvme_get_ctrl_telemetry.2 +++ b/doc/man/nvme_get_ctrl_telemetry.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_ctrl_telemetry" 9 "nvme_get_ctrl_telemetry" "August 2024" "libnvme API manual" LINUX +.TH "nvme_get_ctrl_telemetry" 9 "nvme_get_ctrl_telemetry" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_get_ctrl_telemetry \- Get controller telemetry log .SH SYNOPSIS diff --git a/doc/man/nvme_get_directive_receive_length.2 b/doc/man/nvme_get_directive_receive_length.2 index 8c67f15..60d688e 100644 --- a/doc/man/nvme_get_directive_receive_length.2 +++ b/doc/man/nvme_get_directive_receive_length.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_directive_receive_length" 9 "nvme_get_directive_receive_length" "August 2024" "libnvme API manual" LINUX +.TH "nvme_get_directive_receive_length" 9 "nvme_get_directive_receive_length" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_get_directive_receive_length \- Get directive receive length .SH SYNOPSIS diff --git a/doc/man/nvme_get_discovery_args.2 b/doc/man/nvme_get_discovery_args.2 index 740fe10..2db2e2f 100644 --- a/doc/man/nvme_get_discovery_args.2 +++ b/doc/man/nvme_get_discovery_args.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_get_discovery_args" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_get_discovery_args" "October 2024" "API Manual" LINUX .SH NAME struct nvme_get_discovery_args \- Arguments for nvmf_get_discovery_wargs() .SH SYNOPSIS diff --git a/doc/man/nvme_get_feature_length.2 b/doc/man/nvme_get_feature_length.2 index 0ef2c9e..040f32e 100644 --- a/doc/man/nvme_get_feature_length.2 +++ b/doc/man/nvme_get_feature_length.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_feature_length" 9 "nvme_get_feature_length" "August 2024" "libnvme API manual" LINUX +.TH "nvme_get_feature_length" 9 "nvme_get_feature_length" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_get_feature_length \- Retreive the command payload length for a specific feature identifier .SH SYNOPSIS diff --git a/doc/man/nvme_get_feature_length2.2 b/doc/man/nvme_get_feature_length2.2 index 8efc42a..e1f07a1 100644 --- a/doc/man/nvme_get_feature_length2.2 +++ b/doc/man/nvme_get_feature_length2.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_feature_length2" 9 "nvme_get_feature_length2" "August 2024" "libnvme API manual" LINUX +.TH "nvme_get_feature_length2" 9 "nvme_get_feature_length2" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_get_feature_length2 \- Retreive the command payload length for a specific feature identifier .SH SYNOPSIS diff --git a/doc/man/nvme_get_features.2 b/doc/man/nvme_get_features.2 index 2b8a0d5..5e8339c 100644 --- a/doc/man/nvme_get_features.2 +++ b/doc/man/nvme_get_features.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_features" 9 "nvme_get_features" "August 2024" "libnvme API manual" LINUX +.TH "nvme_get_features" 9 "nvme_get_features" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_get_features \- Retrieve a feature attribute .SH SYNOPSIS diff --git a/doc/man/nvme_get_features_arbitration.2 b/doc/man/nvme_get_features_arbitration.2 index 8215349..2e28584 100644 --- a/doc/man/nvme_get_features_arbitration.2 +++ b/doc/man/nvme_get_features_arbitration.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_features_arbitration" 9 "nvme_get_features_arbitration" "August 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_arbitration" 9 "nvme_get_features_arbitration" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_get_features_arbitration \- Get arbitration feature .SH SYNOPSIS diff --git a/doc/man/nvme_get_features_async_event.2 b/doc/man/nvme_get_features_async_event.2 index 666003b..be5c14f 100644 --- a/doc/man/nvme_get_features_async_event.2 +++ b/doc/man/nvme_get_features_async_event.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_features_async_event" 9 "nvme_get_features_async_event" "August 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_async_event" 9 "nvme_get_features_async_event" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_get_features_async_event \- Get asynchronous event feature .SH SYNOPSIS diff --git a/doc/man/nvme_get_features_auto_pst.2 b/doc/man/nvme_get_features_auto_pst.2 index 201dffe..3158d37 100644 --- a/doc/man/nvme_get_features_auto_pst.2 +++ b/doc/man/nvme_get_features_auto_pst.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_features_auto_pst" 9 "nvme_get_features_auto_pst" "August 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_auto_pst" 9 "nvme_get_features_auto_pst" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_get_features_auto_pst \- Get autonomous power state feature .SH SYNOPSIS diff --git a/doc/man/nvme_get_features_data.2 b/doc/man/nvme_get_features_data.2 index 41d4cbc..97eeef3 100644 --- a/doc/man/nvme_get_features_data.2 +++ b/doc/man/nvme_get_features_data.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_features_data" 9 "nvme_get_features_data" "August 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_data" 9 "nvme_get_features_data" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_get_features_data \- Helper function for @nvme_get_features() .SH SYNOPSIS diff --git a/doc/man/nvme_get_features_endurance_event_cfg.2 b/doc/man/nvme_get_features_endurance_event_cfg.2 index ab410c2..86b85fd 100644 --- a/doc/man/nvme_get_features_endurance_event_cfg.2 +++ b/doc/man/nvme_get_features_endurance_event_cfg.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_features_endurance_event_cfg" 9 "nvme_get_features_endurance_event_cfg" "August 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_endurance_event_cfg" 9 "nvme_get_features_endurance_event_cfg" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_get_features_endurance_event_cfg \- Get endurance event config feature .SH SYNOPSIS diff --git a/doc/man/nvme_get_features_err_recovery.2 b/doc/man/nvme_get_features_err_recovery.2 index b10f38c..e56a3c5 100644 --- a/doc/man/nvme_get_features_err_recovery.2 +++ b/doc/man/nvme_get_features_err_recovery.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_features_err_recovery" 9 "nvme_get_features_err_recovery" "August 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_err_recovery" 9 "nvme_get_features_err_recovery" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_get_features_err_recovery \- Get error recovery feature .SH SYNOPSIS diff --git a/doc/man/nvme_get_features_err_recovery2.2 b/doc/man/nvme_get_features_err_recovery2.2 index 5028e1f..555b3d2 100644 --- a/doc/man/nvme_get_features_err_recovery2.2 +++ b/doc/man/nvme_get_features_err_recovery2.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_features_err_recovery2" 9 "nvme_get_features_err_recovery2" "August 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_err_recovery2" 9 "nvme_get_features_err_recovery2" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_get_features_err_recovery2 \- Get error recovery feature .SH SYNOPSIS diff --git a/doc/man/nvme_get_features_hctm.2 b/doc/man/nvme_get_features_hctm.2 index 6fd6bdb..8e3d462 100644 --- a/doc/man/nvme_get_features_hctm.2 +++ b/doc/man/nvme_get_features_hctm.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_features_hctm" 9 "nvme_get_features_hctm" "August 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_hctm" 9 "nvme_get_features_hctm" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_get_features_hctm \- Get thermal management feature .SH SYNOPSIS diff --git a/doc/man/nvme_get_features_host_behavior.2 b/doc/man/nvme_get_features_host_behavior.2 index 8ec0a63..6b973c3 100644 --- a/doc/man/nvme_get_features_host_behavior.2 +++ b/doc/man/nvme_get_features_host_behavior.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_features_host_behavior" 9 "nvme_get_features_host_behavior" "August 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_host_behavior" 9 "nvme_get_features_host_behavior" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_get_features_host_behavior \- Get host behavior feature .SH SYNOPSIS diff --git a/doc/man/nvme_get_features_host_id.2 b/doc/man/nvme_get_features_host_id.2 index 89b1d87..9a09e68 100644 --- a/doc/man/nvme_get_features_host_id.2 +++ b/doc/man/nvme_get_features_host_id.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_features_host_id" 9 "nvme_get_features_host_id" "August 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_host_id" 9 "nvme_get_features_host_id" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_get_features_host_id \- Get host id feature .SH SYNOPSIS diff --git a/doc/man/nvme_get_features_host_mem_buf.2 b/doc/man/nvme_get_features_host_mem_buf.2 index 3be5a1d..88fc181 100644 --- a/doc/man/nvme_get_features_host_mem_buf.2 +++ b/doc/man/nvme_get_features_host_mem_buf.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_features_host_mem_buf" 9 "nvme_get_features_host_mem_buf" "August 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_host_mem_buf" 9 "nvme_get_features_host_mem_buf" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_get_features_host_mem_buf \- Get host memory buffer feature .SH SYNOPSIS diff --git a/doc/man/nvme_get_features_host_mem_buf2.2 b/doc/man/nvme_get_features_host_mem_buf2.2 index fd4dfdd..88a2512 100644 --- a/doc/man/nvme_get_features_host_mem_buf2.2 +++ b/doc/man/nvme_get_features_host_mem_buf2.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_features_host_mem_buf2" 9 "nvme_get_features_host_mem_buf2" "August 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_host_mem_buf2" 9 "nvme_get_features_host_mem_buf2" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_get_features_host_mem_buf2 \- Get host memory buffer feature .SH SYNOPSIS diff --git a/doc/man/nvme_get_features_iocs_profile.2 b/doc/man/nvme_get_features_iocs_profile.2 index d9859e3..52affe5 100644 --- a/doc/man/nvme_get_features_iocs_profile.2 +++ b/doc/man/nvme_get_features_iocs_profile.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_features_iocs_profile" 9 "nvme_get_features_iocs_profile" "August 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_iocs_profile" 9 "nvme_get_features_iocs_profile" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_get_features_iocs_profile \- Get IOCS profile feature .SH SYNOPSIS diff --git a/doc/man/nvme_get_features_irq_coalesce.2 b/doc/man/nvme_get_features_irq_coalesce.2 index 092fb48..ca17bf1 100644 --- a/doc/man/nvme_get_features_irq_coalesce.2 +++ b/doc/man/nvme_get_features_irq_coalesce.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_features_irq_coalesce" 9 "nvme_get_features_irq_coalesce" "August 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_irq_coalesce" 9 "nvme_get_features_irq_coalesce" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_get_features_irq_coalesce \- Get IRQ coalesce feature .SH SYNOPSIS diff --git a/doc/man/nvme_get_features_irq_config.2 b/doc/man/nvme_get_features_irq_config.2 index 1a4e160..0ff9c9e 100644 --- a/doc/man/nvme_get_features_irq_config.2 +++ b/doc/man/nvme_get_features_irq_config.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_features_irq_config" 9 "nvme_get_features_irq_config" "August 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_irq_config" 9 "nvme_get_features_irq_config" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_get_features_irq_config \- Get IRQ config feature .SH SYNOPSIS diff --git a/doc/man/nvme_get_features_kato.2 b/doc/man/nvme_get_features_kato.2 index 6d94148..cba202d 100644 --- a/doc/man/nvme_get_features_kato.2 +++ b/doc/man/nvme_get_features_kato.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_features_kato" 9 "nvme_get_features_kato" "August 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_kato" 9 "nvme_get_features_kato" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_get_features_kato \- Get keep alive timeout feature .SH SYNOPSIS diff --git a/doc/man/nvme_get_features_lba_range.2 b/doc/man/nvme_get_features_lba_range.2 index 72180c6..68443ec 100644 --- a/doc/man/nvme_get_features_lba_range.2 +++ b/doc/man/nvme_get_features_lba_range.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_features_lba_range" 9 "nvme_get_features_lba_range" "August 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_lba_range" 9 "nvme_get_features_lba_range" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_get_features_lba_range \- Get LBA range feature .SH SYNOPSIS diff --git a/doc/man/nvme_get_features_lba_range2.2 b/doc/man/nvme_get_features_lba_range2.2 index f3bfaf5..4ecf7c9 100644 --- a/doc/man/nvme_get_features_lba_range2.2 +++ b/doc/man/nvme_get_features_lba_range2.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_features_lba_range2" 9 "nvme_get_features_lba_range2" "August 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_lba_range2" 9 "nvme_get_features_lba_range2" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_get_features_lba_range2 \- Get LBA range feature .SH SYNOPSIS diff --git a/doc/man/nvme_get_features_lba_sts_interval.2 b/doc/man/nvme_get_features_lba_sts_interval.2 index 8f85b55..2849e77 100644 --- a/doc/man/nvme_get_features_lba_sts_interval.2 +++ b/doc/man/nvme_get_features_lba_sts_interval.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_features_lba_sts_interval" 9 "nvme_get_features_lba_sts_interval" "August 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_lba_sts_interval" 9 "nvme_get_features_lba_sts_interval" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_get_features_lba_sts_interval \- Get LBA status information feature .SH SYNOPSIS diff --git a/doc/man/nvme_get_features_nopsc.2 b/doc/man/nvme_get_features_nopsc.2 index 769f1b5..59c44eb 100644 --- a/doc/man/nvme_get_features_nopsc.2 +++ b/doc/man/nvme_get_features_nopsc.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_features_nopsc" 9 "nvme_get_features_nopsc" "August 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_nopsc" 9 "nvme_get_features_nopsc" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_get_features_nopsc \- Get non-operational power state feature .SH SYNOPSIS diff --git a/doc/man/nvme_get_features_num_queues.2 b/doc/man/nvme_get_features_num_queues.2 index 2e55bf4..56a4e41 100644 --- a/doc/man/nvme_get_features_num_queues.2 +++ b/doc/man/nvme_get_features_num_queues.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_features_num_queues" 9 "nvme_get_features_num_queues" "August 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_num_queues" 9 "nvme_get_features_num_queues" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_get_features_num_queues \- Get number of queues feature .SH SYNOPSIS diff --git a/doc/man/nvme_get_features_plm_config.2 b/doc/man/nvme_get_features_plm_config.2 index 1b0e0b0..1a97d61 100644 --- a/doc/man/nvme_get_features_plm_config.2 +++ b/doc/man/nvme_get_features_plm_config.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_features_plm_config" 9 "nvme_get_features_plm_config" "August 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_plm_config" 9 "nvme_get_features_plm_config" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_get_features_plm_config \- Get predictable latency feature .SH SYNOPSIS diff --git a/doc/man/nvme_get_features_plm_window.2 b/doc/man/nvme_get_features_plm_window.2 index 8459877..ac6d085 100644 --- a/doc/man/nvme_get_features_plm_window.2 +++ b/doc/man/nvme_get_features_plm_window.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_features_plm_window" 9 "nvme_get_features_plm_window" "August 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_plm_window" 9 "nvme_get_features_plm_window" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_get_features_plm_window \- Get window select feature .SH SYNOPSIS diff --git a/doc/man/nvme_get_features_power_mgmt.2 b/doc/man/nvme_get_features_power_mgmt.2 index 8498b68..552e28a 100644 --- a/doc/man/nvme_get_features_power_mgmt.2 +++ b/doc/man/nvme_get_features_power_mgmt.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_features_power_mgmt" 9 "nvme_get_features_power_mgmt" "August 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_power_mgmt" 9 "nvme_get_features_power_mgmt" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_get_features_power_mgmt \- Get power management feature .SH SYNOPSIS diff --git a/doc/man/nvme_get_features_resv_mask.2 b/doc/man/nvme_get_features_resv_mask.2 index 1619025..e3c06ba 100644 --- a/doc/man/nvme_get_features_resv_mask.2 +++ b/doc/man/nvme_get_features_resv_mask.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_features_resv_mask" 9 "nvme_get_features_resv_mask" "August 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_resv_mask" 9 "nvme_get_features_resv_mask" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_get_features_resv_mask \- Get reservation mask feature .SH SYNOPSIS diff --git a/doc/man/nvme_get_features_resv_mask2.2 b/doc/man/nvme_get_features_resv_mask2.2 index 587cad5..3f4d463 100644 --- a/doc/man/nvme_get_features_resv_mask2.2 +++ b/doc/man/nvme_get_features_resv_mask2.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_features_resv_mask2" 9 "nvme_get_features_resv_mask2" "August 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_resv_mask2" 9 "nvme_get_features_resv_mask2" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_get_features_resv_mask2 \- Get reservation mask feature .SH SYNOPSIS diff --git a/doc/man/nvme_get_features_resv_persist.2 b/doc/man/nvme_get_features_resv_persist.2 index e1e8760..9ed470c 100644 --- a/doc/man/nvme_get_features_resv_persist.2 +++ b/doc/man/nvme_get_features_resv_persist.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_features_resv_persist" 9 "nvme_get_features_resv_persist" "August 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_resv_persist" 9 "nvme_get_features_resv_persist" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_get_features_resv_persist \- Get reservation persist feature .SH SYNOPSIS diff --git a/doc/man/nvme_get_features_resv_persist2.2 b/doc/man/nvme_get_features_resv_persist2.2 index daf0a74..c5cec8a 100644 --- a/doc/man/nvme_get_features_resv_persist2.2 +++ b/doc/man/nvme_get_features_resv_persist2.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_features_resv_persist2" 9 "nvme_get_features_resv_persist2" "August 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_resv_persist2" 9 "nvme_get_features_resv_persist2" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_get_features_resv_persist2 \- Get reservation persist feature .SH SYNOPSIS diff --git a/doc/man/nvme_get_features_rrl.2 b/doc/man/nvme_get_features_rrl.2 index 50a61f2..3e5b823 100644 --- a/doc/man/nvme_get_features_rrl.2 +++ b/doc/man/nvme_get_features_rrl.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_features_rrl" 9 "nvme_get_features_rrl" "August 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_rrl" 9 "nvme_get_features_rrl" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_get_features_rrl \- Get read recovery level feature .SH SYNOPSIS diff --git a/doc/man/nvme_get_features_sanitize.2 b/doc/man/nvme_get_features_sanitize.2 index c91ca8c..1b091da 100644 --- a/doc/man/nvme_get_features_sanitize.2 +++ b/doc/man/nvme_get_features_sanitize.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_features_sanitize" 9 "nvme_get_features_sanitize" "August 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_sanitize" 9 "nvme_get_features_sanitize" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_get_features_sanitize \- Get sanitize feature .SH SYNOPSIS diff --git a/doc/man/nvme_get_features_sel.2 b/doc/man/nvme_get_features_sel.2 index 4602108..29c1ffd 100644 --- a/doc/man/nvme_get_features_sel.2 +++ b/doc/man/nvme_get_features_sel.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_get_features_sel" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_get_features_sel" "October 2024" "API Manual" LINUX .SH NAME enum nvme_get_features_sel \- Get Features - Select .SH SYNOPSIS diff --git a/doc/man/nvme_get_features_simple.2 b/doc/man/nvme_get_features_simple.2 index 5e09b9f..7f63ef3 100644 --- a/doc/man/nvme_get_features_simple.2 +++ b/doc/man/nvme_get_features_simple.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_features_simple" 9 "nvme_get_features_simple" "August 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_simple" 9 "nvme_get_features_simple" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_get_features_simple \- Helper function for @nvme_get_features() .SH SYNOPSIS diff --git a/doc/man/nvme_get_features_sw_progress.2 b/doc/man/nvme_get_features_sw_progress.2 index be32cd9..5ad23d3 100644 --- a/doc/man/nvme_get_features_sw_progress.2 +++ b/doc/man/nvme_get_features_sw_progress.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_features_sw_progress" 9 "nvme_get_features_sw_progress" "August 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_sw_progress" 9 "nvme_get_features_sw_progress" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_get_features_sw_progress \- Get software progress feature .SH SYNOPSIS diff --git a/doc/man/nvme_get_features_temp_thresh.2 b/doc/man/nvme_get_features_temp_thresh.2 index 08ef09b..27a25be 100644 --- a/doc/man/nvme_get_features_temp_thresh.2 +++ b/doc/man/nvme_get_features_temp_thresh.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_features_temp_thresh" 9 "nvme_get_features_temp_thresh" "August 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_temp_thresh" 9 "nvme_get_features_temp_thresh" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_get_features_temp_thresh \- Get temperature threshold feature .SH SYNOPSIS diff --git a/doc/man/nvme_get_features_timestamp.2 b/doc/man/nvme_get_features_timestamp.2 index a31aab5..a6cfca5 100644 --- a/doc/man/nvme_get_features_timestamp.2 +++ b/doc/man/nvme_get_features_timestamp.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_features_timestamp" 9 "nvme_get_features_timestamp" "August 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_timestamp" 9 "nvme_get_features_timestamp" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_get_features_timestamp \- Get timestamp feature .SH SYNOPSIS diff --git a/doc/man/nvme_get_features_volatile_wc.2 b/doc/man/nvme_get_features_volatile_wc.2 index c7e5c93..1ee5230 100644 --- a/doc/man/nvme_get_features_volatile_wc.2 +++ b/doc/man/nvme_get_features_volatile_wc.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_features_volatile_wc" 9 "nvme_get_features_volatile_wc" "August 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_volatile_wc" 9 "nvme_get_features_volatile_wc" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_get_features_volatile_wc \- Get volatile write cache feature .SH SYNOPSIS diff --git a/doc/man/nvme_get_features_write_atomic.2 b/doc/man/nvme_get_features_write_atomic.2 index 658d5ac..c74b789 100644 --- a/doc/man/nvme_get_features_write_atomic.2 +++ b/doc/man/nvme_get_features_write_atomic.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_features_write_atomic" 9 "nvme_get_features_write_atomic" "August 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_write_atomic" 9 "nvme_get_features_write_atomic" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_get_features_write_atomic \- Get write atomic feature .SH SYNOPSIS diff --git a/doc/man/nvme_get_features_write_protect.2 b/doc/man/nvme_get_features_write_protect.2 index e8e3a9d..9b047a8 100644 --- a/doc/man/nvme_get_features_write_protect.2 +++ b/doc/man/nvme_get_features_write_protect.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_features_write_protect" 9 "nvme_get_features_write_protect" "August 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_write_protect" 9 "nvme_get_features_write_protect" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_get_features_write_protect \- Get write protect feature .SH SYNOPSIS diff --git a/doc/man/nvme_get_host_telemetry.2 b/doc/man/nvme_get_host_telemetry.2 index f9c0801..b19415f 100644 --- a/doc/man/nvme_get_host_telemetry.2 +++ b/doc/man/nvme_get_host_telemetry.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_host_telemetry" 9 "nvme_get_host_telemetry" "August 2024" "libnvme API manual" LINUX +.TH "nvme_get_host_telemetry" 9 "nvme_get_host_telemetry" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_get_host_telemetry \- Get host telemetry log .SH SYNOPSIS diff --git a/doc/man/nvme_get_lba_status.2 b/doc/man/nvme_get_lba_status.2 index d43e3b3..9b0ff9b 100644 --- a/doc/man/nvme_get_lba_status.2 +++ b/doc/man/nvme_get_lba_status.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_lba_status" 9 "nvme_get_lba_status" "August 2024" "libnvme API manual" LINUX +.TH "nvme_get_lba_status" 9 "nvme_get_lba_status" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_get_lba_status \- Retrieve information on possibly unrecoverable LBAs .SH SYNOPSIS diff --git a/doc/man/nvme_get_lba_status_log.2 b/doc/man/nvme_get_lba_status_log.2 index 646904a..b999caa 100644 --- a/doc/man/nvme_get_lba_status_log.2 +++ b/doc/man/nvme_get_lba_status_log.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_lba_status_log" 9 "nvme_get_lba_status_log" "August 2024" "libnvme API manual" LINUX +.TH "nvme_get_lba_status_log" 9 "nvme_get_lba_status_log" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_get_lba_status_log \- Retrieve the LBA Status log page .SH SYNOPSIS diff --git a/doc/man/nvme_get_log.2 b/doc/man/nvme_get_log.2 index 10dc7ff..ff62040 100644 --- a/doc/man/nvme_get_log.2 +++ b/doc/man/nvme_get_log.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_log" 9 "nvme_get_log" "August 2024" "libnvme API manual" LINUX +.TH "nvme_get_log" 9 "nvme_get_log" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_get_log \- NVMe Admin Get Log command .SH SYNOPSIS diff --git a/doc/man/nvme_get_log_ana.2 b/doc/man/nvme_get_log_ana.2 index 8774297..9a23dbe 100644 --- a/doc/man/nvme_get_log_ana.2 +++ b/doc/man/nvme_get_log_ana.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_log_ana" 9 "nvme_get_log_ana" "August 2024" "libnvme API manual" LINUX +.TH "nvme_get_log_ana" 9 "nvme_get_log_ana" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_get_log_ana \- Retrieve Asymmetric Namespace Access log page .SH SYNOPSIS diff --git a/doc/man/nvme_get_log_ana_groups.2 b/doc/man/nvme_get_log_ana_groups.2 index 7a4f3f7..a964f20 100644 --- a/doc/man/nvme_get_log_ana_groups.2 +++ b/doc/man/nvme_get_log_ana_groups.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_log_ana_groups" 9 "nvme_get_log_ana_groups" "August 2024" "libnvme API manual" LINUX +.TH "nvme_get_log_ana_groups" 9 "nvme_get_log_ana_groups" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_get_log_ana_groups \- Retrieve Asymmetric Namespace Access groups only log page .SH SYNOPSIS diff --git a/doc/man/nvme_get_log_boot_partition.2 b/doc/man/nvme_get_log_boot_partition.2 index ceb4a06..a5fcd68 100644 --- a/doc/man/nvme_get_log_boot_partition.2 +++ b/doc/man/nvme_get_log_boot_partition.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_log_boot_partition" 9 "nvme_get_log_boot_partition" "August 2024" "libnvme API manual" LINUX +.TH "nvme_get_log_boot_partition" 9 "nvme_get_log_boot_partition" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_get_log_boot_partition \- Retrieve Boot Partition .SH SYNOPSIS diff --git a/doc/man/nvme_get_log_changed_ns_list.2 b/doc/man/nvme_get_log_changed_ns_list.2 index 29e9cfc..d8c2bc6 100644 --- a/doc/man/nvme_get_log_changed_ns_list.2 +++ b/doc/man/nvme_get_log_changed_ns_list.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_log_changed_ns_list" 9 "nvme_get_log_changed_ns_list" "August 2024" "libnvme API manual" LINUX +.TH "nvme_get_log_changed_ns_list" 9 "nvme_get_log_changed_ns_list" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_get_log_changed_ns_list \- Retrieve namespace changed list .SH SYNOPSIS diff --git a/doc/man/nvme_get_log_cmd_effects.2 b/doc/man/nvme_get_log_cmd_effects.2 index 73b165b..f72ffc1 100644 --- a/doc/man/nvme_get_log_cmd_effects.2 +++ b/doc/man/nvme_get_log_cmd_effects.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_log_cmd_effects" 9 "nvme_get_log_cmd_effects" "August 2024" "libnvme API manual" LINUX +.TH "nvme_get_log_cmd_effects" 9 "nvme_get_log_cmd_effects" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_get_log_cmd_effects \- Retrieve nvme command effects log .SH SYNOPSIS diff --git a/doc/man/nvme_get_log_create_telemetry_host.2 b/doc/man/nvme_get_log_create_telemetry_host.2 index c51a805..708d31d 100644 --- a/doc/man/nvme_get_log_create_telemetry_host.2 +++ b/doc/man/nvme_get_log_create_telemetry_host.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_log_create_telemetry_host" 9 "nvme_get_log_create_telemetry_host" "August 2024" "libnvme API manual" LINUX +.TH "nvme_get_log_create_telemetry_host" 9 "nvme_get_log_create_telemetry_host" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_get_log_create_telemetry_host \- Create host telemetry log .SH SYNOPSIS diff --git a/doc/man/nvme_get_log_device_self_test.2 b/doc/man/nvme_get_log_device_self_test.2 index 24403d5..724ccdb 100644 --- a/doc/man/nvme_get_log_device_self_test.2 +++ b/doc/man/nvme_get_log_device_self_test.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_log_device_self_test" 9 "nvme_get_log_device_self_test" "August 2024" "libnvme API manual" LINUX +.TH "nvme_get_log_device_self_test" 9 "nvme_get_log_device_self_test" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_get_log_device_self_test \- Retrieve the device self test log .SH SYNOPSIS diff --git a/doc/man/nvme_get_log_discovery.2 b/doc/man/nvme_get_log_discovery.2 index b7019c2..f69dd1c 100644 --- a/doc/man/nvme_get_log_discovery.2 +++ b/doc/man/nvme_get_log_discovery.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_log_discovery" 9 "nvme_get_log_discovery" "August 2024" "libnvme API manual" LINUX +.TH "nvme_get_log_discovery" 9 "nvme_get_log_discovery" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_get_log_discovery \- Retrieve Discovery log page .SH SYNOPSIS diff --git a/doc/man/nvme_get_log_endurance_group.2 b/doc/man/nvme_get_log_endurance_group.2 index d242e2d..6a112b0 100644 --- a/doc/man/nvme_get_log_endurance_group.2 +++ b/doc/man/nvme_get_log_endurance_group.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_log_endurance_group" 9 "nvme_get_log_endurance_group" "August 2024" "libnvme API manual" LINUX +.TH "nvme_get_log_endurance_group" 9 "nvme_get_log_endurance_group" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_get_log_endurance_group \- Get Endurance Group log .SH SYNOPSIS diff --git a/doc/man/nvme_get_log_endurance_grp_evt.2 b/doc/man/nvme_get_log_endurance_grp_evt.2 index 55b6e5a..4add6a5 100644 --- a/doc/man/nvme_get_log_endurance_grp_evt.2 +++ b/doc/man/nvme_get_log_endurance_grp_evt.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_log_endurance_grp_evt" 9 "nvme_get_log_endurance_grp_evt" "August 2024" "libnvme API manual" LINUX +.TH "nvme_get_log_endurance_grp_evt" 9 "nvme_get_log_endurance_grp_evt" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_get_log_endurance_grp_evt \- Retrieve Rotational Media Information .SH SYNOPSIS diff --git a/doc/man/nvme_get_log_error.2 b/doc/man/nvme_get_log_error.2 index f4a7f9f..e8b5f2b 100644 --- a/doc/man/nvme_get_log_error.2 +++ b/doc/man/nvme_get_log_error.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_log_error" 9 "nvme_get_log_error" "August 2024" "libnvme API manual" LINUX +.TH "nvme_get_log_error" 9 "nvme_get_log_error" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_get_log_error \- Retrieve nvme error log .SH SYNOPSIS diff --git a/doc/man/nvme_get_log_fdp_configurations.2 b/doc/man/nvme_get_log_fdp_configurations.2 index 0dcf563..ac496a3 100644 --- a/doc/man/nvme_get_log_fdp_configurations.2 +++ b/doc/man/nvme_get_log_fdp_configurations.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_log_fdp_configurations" 9 "nvme_get_log_fdp_configurations" "August 2024" "libnvme API manual" LINUX +.TH "nvme_get_log_fdp_configurations" 9 "nvme_get_log_fdp_configurations" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_get_log_fdp_configurations \- Get list of Flexible Data Placement configurations .SH SYNOPSIS diff --git a/doc/man/nvme_get_log_fdp_events.2 b/doc/man/nvme_get_log_fdp_events.2 index 648e227..d27005c 100644 --- a/doc/man/nvme_get_log_fdp_events.2 +++ b/doc/man/nvme_get_log_fdp_events.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_log_fdp_events" 9 "nvme_get_log_fdp_events" "August 2024" "libnvme API manual" LINUX +.TH "nvme_get_log_fdp_events" 9 "nvme_get_log_fdp_events" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_get_log_fdp_events \- Get Flexible Data Placement events .SH SYNOPSIS diff --git a/doc/man/nvme_get_log_fdp_stats.2 b/doc/man/nvme_get_log_fdp_stats.2 index 3d014ce..61ace27 100644 --- a/doc/man/nvme_get_log_fdp_stats.2 +++ b/doc/man/nvme_get_log_fdp_stats.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_log_fdp_stats" 9 "nvme_get_log_fdp_stats" "August 2024" "libnvme API manual" LINUX +.TH "nvme_get_log_fdp_stats" 9 "nvme_get_log_fdp_stats" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_get_log_fdp_stats \- Get Flexible Data Placement statistics .SH SYNOPSIS diff --git a/doc/man/nvme_get_log_fid_supported_effects.2 b/doc/man/nvme_get_log_fid_supported_effects.2 index 8cc0e55..342febb 100644 --- a/doc/man/nvme_get_log_fid_supported_effects.2 +++ b/doc/man/nvme_get_log_fid_supported_effects.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_log_fid_supported_effects" 9 "nvme_get_log_fid_supported_effects" "August 2024" "libnvme API manual" LINUX +.TH "nvme_get_log_fid_supported_effects" 9 "nvme_get_log_fid_supported_effects" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_get_log_fid_supported_effects \- Retrieve Feature Identifiers Supported and Effects .SH SYNOPSIS diff --git a/doc/man/nvme_get_log_fw_slot.2 b/doc/man/nvme_get_log_fw_slot.2 index 45119ef..6cd31d7 100644 --- a/doc/man/nvme_get_log_fw_slot.2 +++ b/doc/man/nvme_get_log_fw_slot.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_log_fw_slot" 9 "nvme_get_log_fw_slot" "August 2024" "libnvme API manual" LINUX +.TH "nvme_get_log_fw_slot" 9 "nvme_get_log_fw_slot" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_get_log_fw_slot \- Retrieves the controller firmware log .SH SYNOPSIS diff --git a/doc/man/nvme_get_log_lba_status.2 b/doc/man/nvme_get_log_lba_status.2 index c32a91b..8119362 100644 --- a/doc/man/nvme_get_log_lba_status.2 +++ b/doc/man/nvme_get_log_lba_status.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_log_lba_status" 9 "nvme_get_log_lba_status" "August 2024" "libnvme API manual" LINUX +.TH "nvme_get_log_lba_status" 9 "nvme_get_log_lba_status" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_get_log_lba_status \- Retrieve LBA Status .SH SYNOPSIS diff --git a/doc/man/nvme_get_log_lockdown.2 b/doc/man/nvme_get_log_lockdown.2 new file mode 100644 index 0000000..bb3bf0e --- /dev/null +++ b/doc/man/nvme_get_log_lockdown.2 @@ -0,0 +1,18 @@ +.TH "nvme_get_log_lockdown" 9 "nvme_get_log_lockdown" "October 2024" "libnvme API manual" LINUX +.SH NAME +nvme_get_log_lockdown \- Retrieve lockdown Log +.SH SYNOPSIS +.B "int" nvme_get_log_lockdown +.BI "(int fd " "," +.BI "__u8 cnscp " "," +.BI "struct nvme_lockdown_log *lockdown_log " ");" +.SH ARGUMENTS +.IP "fd" 12 +File descriptor of nvme device +.IP "cnscp" 12 +Contents and Scope of Command and Feature Identifier Lists +.IP "lockdown_log" 12 +Buffer to store the lockdown log +.SH "RETURN" +The nvme command status if a response was received (see +\fIenum nvme_status_field\fP) or -1 with errno set otherwise. diff --git a/doc/man/nvme_get_log_media_unit_stat.2 b/doc/man/nvme_get_log_media_unit_stat.2 index a0c4eca..a3fc3af 100644 --- a/doc/man/nvme_get_log_media_unit_stat.2 +++ b/doc/man/nvme_get_log_media_unit_stat.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_log_media_unit_stat" 9 "nvme_get_log_media_unit_stat" "August 2024" "libnvme API manual" LINUX +.TH "nvme_get_log_media_unit_stat" 9 "nvme_get_log_media_unit_stat" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_get_log_media_unit_stat \- Retrieve Media Unit Status .SH SYNOPSIS diff --git a/doc/man/nvme_get_log_mi_cmd_supported_effects.2 b/doc/man/nvme_get_log_mi_cmd_supported_effects.2 index 15327a4..d504568 100644 --- a/doc/man/nvme_get_log_mi_cmd_supported_effects.2 +++ b/doc/man/nvme_get_log_mi_cmd_supported_effects.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_log_mi_cmd_supported_effects" 9 "nvme_get_log_mi_cmd_supported_effects" "August 2024" "libnvme API manual" LINUX +.TH "nvme_get_log_mi_cmd_supported_effects" 9 "nvme_get_log_mi_cmd_supported_effects" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_get_log_mi_cmd_supported_effects \- displays the MI Commands Supported by the controller .SH SYNOPSIS diff --git a/doc/man/nvme_get_log_page.2 b/doc/man/nvme_get_log_page.2 index 98a7844..02df4cc 100644 --- a/doc/man/nvme_get_log_page.2 +++ b/doc/man/nvme_get_log_page.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_log_page" 9 "nvme_get_log_page" "August 2024" "libnvme API manual" LINUX +.TH "nvme_get_log_page" 9 "nvme_get_log_page" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_get_log_page \- Get log page data .SH SYNOPSIS diff --git a/doc/man/nvme_get_log_persistent_event.2 b/doc/man/nvme_get_log_persistent_event.2 index fcc3f63..408642f 100644 --- a/doc/man/nvme_get_log_persistent_event.2 +++ b/doc/man/nvme_get_log_persistent_event.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_log_persistent_event" 9 "nvme_get_log_persistent_event" "August 2024" "libnvme API manual" LINUX +.TH "nvme_get_log_persistent_event" 9 "nvme_get_log_persistent_event" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_get_log_persistent_event \- Retrieve Persistent Event Log .SH SYNOPSIS diff --git a/doc/man/nvme_get_log_phy_rx_eom.2 b/doc/man/nvme_get_log_phy_rx_eom.2 index f07c1d1..832dbe7 100644 --- a/doc/man/nvme_get_log_phy_rx_eom.2 +++ b/doc/man/nvme_get_log_phy_rx_eom.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_log_phy_rx_eom" 9 "nvme_get_log_phy_rx_eom" "August 2024" "libnvme API manual" LINUX +.TH "nvme_get_log_phy_rx_eom" 9 "nvme_get_log_phy_rx_eom" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_get_log_phy_rx_eom \- Retrieve Physical Interface Receiver Eye Opening Measurement Log .SH SYNOPSIS diff --git a/doc/man/nvme_get_log_predictable_lat_event.2 b/doc/man/nvme_get_log_predictable_lat_event.2 index 6e94afa..1dc621c 100644 --- a/doc/man/nvme_get_log_predictable_lat_event.2 +++ b/doc/man/nvme_get_log_predictable_lat_event.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_log_predictable_lat_event" 9 "nvme_get_log_predictable_lat_event" "August 2024" "libnvme API manual" LINUX +.TH "nvme_get_log_predictable_lat_event" 9 "nvme_get_log_predictable_lat_event" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_get_log_predictable_lat_event \- Retrieve Predictable Latency Event Aggregate Log Page .SH SYNOPSIS diff --git a/doc/man/nvme_get_log_predictable_lat_nvmset.2 b/doc/man/nvme_get_log_predictable_lat_nvmset.2 index ee3f240..deabc30 100644 --- a/doc/man/nvme_get_log_predictable_lat_nvmset.2 +++ b/doc/man/nvme_get_log_predictable_lat_nvmset.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_log_predictable_lat_nvmset" 9 "nvme_get_log_predictable_lat_nvmset" "August 2024" "libnvme API manual" LINUX +.TH "nvme_get_log_predictable_lat_nvmset" 9 "nvme_get_log_predictable_lat_nvmset" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_get_log_predictable_lat_nvmset \- Predictable Latency Per NVM Set .SH SYNOPSIS diff --git a/doc/man/nvme_get_log_reclaim_unit_handle_usage.2 b/doc/man/nvme_get_log_reclaim_unit_handle_usage.2 index 5fb1ab9..370c426 100644 --- a/doc/man/nvme_get_log_reclaim_unit_handle_usage.2 +++ b/doc/man/nvme_get_log_reclaim_unit_handle_usage.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_log_reclaim_unit_handle_usage" 9 "nvme_get_log_reclaim_unit_handle_usage" "August 2024" "libnvme API manual" LINUX +.TH "nvme_get_log_reclaim_unit_handle_usage" 9 "nvme_get_log_reclaim_unit_handle_usage" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_get_log_reclaim_unit_handle_usage \- Get reclaim unit handle usage .SH SYNOPSIS diff --git a/doc/man/nvme_get_log_reservation.2 b/doc/man/nvme_get_log_reservation.2 index b3f446d..1dd2146 100644 --- a/doc/man/nvme_get_log_reservation.2 +++ b/doc/man/nvme_get_log_reservation.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_log_reservation" 9 "nvme_get_log_reservation" "August 2024" "libnvme API manual" LINUX +.TH "nvme_get_log_reservation" 9 "nvme_get_log_reservation" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_get_log_reservation \- Retrieve Reservation Notification .SH SYNOPSIS diff --git a/doc/man/nvme_get_log_sanitize.2 b/doc/man/nvme_get_log_sanitize.2 index fb9aea8..34e3946 100644 --- a/doc/man/nvme_get_log_sanitize.2 +++ b/doc/man/nvme_get_log_sanitize.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_log_sanitize" 9 "nvme_get_log_sanitize" "August 2024" "libnvme API manual" LINUX +.TH "nvme_get_log_sanitize" 9 "nvme_get_log_sanitize" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_get_log_sanitize \- Retrieve Sanitize Status .SH SYNOPSIS diff --git a/doc/man/nvme_get_log_smart.2 b/doc/man/nvme_get_log_smart.2 index f7aebaf..b77c632 100644 --- a/doc/man/nvme_get_log_smart.2 +++ b/doc/man/nvme_get_log_smart.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_log_smart" 9 "nvme_get_log_smart" "August 2024" "libnvme API manual" LINUX +.TH "nvme_get_log_smart" 9 "nvme_get_log_smart" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_get_log_smart \- Retrieve nvme smart log .SH SYNOPSIS diff --git a/doc/man/nvme_get_log_support_cap_config_list.2 b/doc/man/nvme_get_log_support_cap_config_list.2 index 5b67ad7..224d2a5 100644 --- a/doc/man/nvme_get_log_support_cap_config_list.2 +++ b/doc/man/nvme_get_log_support_cap_config_list.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_log_support_cap_config_list" 9 "nvme_get_log_support_cap_config_list" "August 2024" "libnvme API manual" LINUX +.TH "nvme_get_log_support_cap_config_list" 9 "nvme_get_log_support_cap_config_list" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_get_log_support_cap_config_list \- Retrieve Supported Capacity Configuration List .SH SYNOPSIS diff --git a/doc/man/nvme_get_log_supported_log_pages.2 b/doc/man/nvme_get_log_supported_log_pages.2 index ba6e580..49fbc63 100644 --- a/doc/man/nvme_get_log_supported_log_pages.2 +++ b/doc/man/nvme_get_log_supported_log_pages.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_log_supported_log_pages" 9 "nvme_get_log_supported_log_pages" "August 2024" "libnvme API manual" LINUX +.TH "nvme_get_log_supported_log_pages" 9 "nvme_get_log_supported_log_pages" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_get_log_supported_log_pages \- Retrieve nmve supported log pages .SH SYNOPSIS diff --git a/doc/man/nvme_get_log_telemetry_ctrl.2 b/doc/man/nvme_get_log_telemetry_ctrl.2 index 75798ce..ac3dac8 100644 --- a/doc/man/nvme_get_log_telemetry_ctrl.2 +++ b/doc/man/nvme_get_log_telemetry_ctrl.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_log_telemetry_ctrl" 9 "nvme_get_log_telemetry_ctrl" "August 2024" "libnvme API manual" LINUX +.TH "nvme_get_log_telemetry_ctrl" 9 "nvme_get_log_telemetry_ctrl" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_get_log_telemetry_ctrl \- Get Telemetry Controller-Initiated log page .SH SYNOPSIS diff --git a/doc/man/nvme_get_log_telemetry_host.2 b/doc/man/nvme_get_log_telemetry_host.2 index d6ff3e3..4d3c326 100644 --- a/doc/man/nvme_get_log_telemetry_host.2 +++ b/doc/man/nvme_get_log_telemetry_host.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_log_telemetry_host" 9 "nvme_get_log_telemetry_host" "August 2024" "libnvme API manual" LINUX +.TH "nvme_get_log_telemetry_host" 9 "nvme_get_log_telemetry_host" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_get_log_telemetry_host \- Get Telemetry Host-Initiated log page .SH SYNOPSIS diff --git a/doc/man/nvme_get_log_zns_changed_zones.2 b/doc/man/nvme_get_log_zns_changed_zones.2 index 7a80572..7a1598d 100644 --- a/doc/man/nvme_get_log_zns_changed_zones.2 +++ b/doc/man/nvme_get_log_zns_changed_zones.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_log_zns_changed_zones" 9 "nvme_get_log_zns_changed_zones" "August 2024" "libnvme API manual" LINUX +.TH "nvme_get_log_zns_changed_zones" 9 "nvme_get_log_zns_changed_zones" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_get_log_zns_changed_zones \- Retrieve list of zones that have changed .SH SYNOPSIS diff --git a/doc/man/nvme_get_logging_level.2 b/doc/man/nvme_get_logging_level.2 index 7e0fdc1..b8487b5 100644 --- a/doc/man/nvme_get_logging_level.2 +++ b/doc/man/nvme_get_logging_level.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_logging_level" 9 "nvme_get_logging_level" "August 2024" "libnvme API manual" LINUX +.TH "nvme_get_logging_level" 9 "nvme_get_logging_level" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_get_logging_level \- Get current logging level .SH SYNOPSIS diff --git a/doc/man/nvme_get_logical_block_size.2 b/doc/man/nvme_get_logical_block_size.2 index 9623b68..611119f 100644 --- a/doc/man/nvme_get_logical_block_size.2 +++ b/doc/man/nvme_get_logical_block_size.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_logical_block_size" 9 "nvme_get_logical_block_size" "August 2024" "libnvme API manual" LINUX +.TH "nvme_get_logical_block_size" 9 "nvme_get_logical_block_size" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_get_logical_block_size \- Retrieve block size .SH SYNOPSIS diff --git a/doc/man/nvme_get_new_host_telemetry.2 b/doc/man/nvme_get_new_host_telemetry.2 index bd69b7f..5098cf8 100644 --- a/doc/man/nvme_get_new_host_telemetry.2 +++ b/doc/man/nvme_get_new_host_telemetry.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_new_host_telemetry" 9 "nvme_get_new_host_telemetry" "August 2024" "libnvme API manual" LINUX +.TH "nvme_get_new_host_telemetry" 9 "nvme_get_new_host_telemetry" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_get_new_host_telemetry \- Get new host telemetry log .SH SYNOPSIS diff --git a/doc/man/nvme_get_ns_attr.2 b/doc/man/nvme_get_ns_attr.2 index 6c15636..105ae69 100644 --- a/doc/man/nvme_get_ns_attr.2 +++ b/doc/man/nvme_get_ns_attr.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_ns_attr" 9 "nvme_get_ns_attr" "August 2024" "libnvme API manual" LINUX +.TH "nvme_get_ns_attr" 9 "nvme_get_ns_attr" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_get_ns_attr \- Read namespace sysfs attribute .SH SYNOPSIS diff --git a/doc/man/nvme_get_nsid.2 b/doc/man/nvme_get_nsid.2 index 4aa9618..78f341e 100644 --- a/doc/man/nvme_get_nsid.2 +++ b/doc/man/nvme_get_nsid.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_nsid" 9 "nvme_get_nsid" "August 2024" "libnvme API manual" LINUX +.TH "nvme_get_nsid" 9 "nvme_get_nsid" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_get_nsid \- Retrieve the NSID from a namespace file descriptor .SH SYNOPSIS diff --git a/doc/man/nvme_get_path_attr.2 b/doc/man/nvme_get_path_attr.2 index f57464d..60a7916 100644 --- a/doc/man/nvme_get_path_attr.2 +++ b/doc/man/nvme_get_path_attr.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_path_attr" 9 "nvme_get_path_attr" "August 2024" "libnvme API manual" LINUX +.TH "nvme_get_path_attr" 9 "nvme_get_path_attr" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_get_path_attr \- Read path sysfs attribute .SH SYNOPSIS diff --git a/doc/man/nvme_get_property.2 b/doc/man/nvme_get_property.2 index e12fa51..d0f9bce 100644 --- a/doc/man/nvme_get_property.2 +++ b/doc/man/nvme_get_property.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_property" 9 "nvme_get_property" "August 2024" "libnvme API manual" LINUX +.TH "nvme_get_property" 9 "nvme_get_property" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_get_property \- Get a controller property .SH SYNOPSIS diff --git a/doc/man/nvme_get_subsys_attr.2 b/doc/man/nvme_get_subsys_attr.2 index f69eba6..c8cf635 100644 --- a/doc/man/nvme_get_subsys_attr.2 +++ b/doc/man/nvme_get_subsys_attr.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_subsys_attr" 9 "nvme_get_subsys_attr" "August 2024" "libnvme API manual" LINUX +.TH "nvme_get_subsys_attr" 9 "nvme_get_subsys_attr" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_get_subsys_attr \- Read subsystem sysfs attribute .SH SYNOPSIS diff --git a/doc/man/nvme_get_telemetry_log.2 b/doc/man/nvme_get_telemetry_log.2 index 6e98430..2c1a962 100644 --- a/doc/man/nvme_get_telemetry_log.2 +++ b/doc/man/nvme_get_telemetry_log.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_telemetry_log" 9 "nvme_get_telemetry_log" "August 2024" "libnvme API manual" LINUX +.TH "nvme_get_telemetry_log" 9 "nvme_get_telemetry_log" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_get_telemetry_log \- Get specified telemetry log .SH SYNOPSIS diff --git a/doc/man/nvme_get_telemetry_max.2 b/doc/man/nvme_get_telemetry_max.2 index 4915d7e..335ae72 100644 --- a/doc/man/nvme_get_telemetry_max.2 +++ b/doc/man/nvme_get_telemetry_max.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_telemetry_max" 9 "nvme_get_telemetry_max" "August 2024" "libnvme API manual" LINUX +.TH "nvme_get_telemetry_max" 9 "nvme_get_telemetry_max" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_get_telemetry_max \- Get telemetry limits .SH SYNOPSIS diff --git a/doc/man/nvme_hmac_alg.2 b/doc/man/nvme_hmac_alg.2 index 1497c52..4911a8a 100644 --- a/doc/man/nvme_hmac_alg.2 +++ b/doc/man/nvme_hmac_alg.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_hmac_alg" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_hmac_alg" "October 2024" "API Manual" LINUX .SH NAME enum nvme_hmac_alg \- HMAC algorithm .SH SYNOPSIS diff --git a/doc/man/nvme_host_behavior_support.2 b/doc/man/nvme_host_behavior_support.2 index a6f6744..444468a 100644 --- a/doc/man/nvme_host_behavior_support.2 +++ b/doc/man/nvme_host_behavior_support.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_host_behavior_support" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_host_behavior_support" "October 2024" "API Manual" LINUX .SH NAME enum nvme_host_behavior_support \- Enable Advanced Command .SH SYNOPSIS diff --git a/doc/man/nvme_host_get_dhchap_key.2 b/doc/man/nvme_host_get_dhchap_key.2 index 48807c8..9882a6e 100644 --- a/doc/man/nvme_host_get_dhchap_key.2 +++ b/doc/man/nvme_host_get_dhchap_key.2 @@ -1,4 +1,4 @@ -.TH "nvme_host_get_dhchap_key" 9 "nvme_host_get_dhchap_key" "August 2024" "libnvme API manual" LINUX +.TH "nvme_host_get_dhchap_key" 9 "nvme_host_get_dhchap_key" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_host_get_dhchap_key \- Return host key .SH SYNOPSIS diff --git a/doc/man/nvme_host_get_hostid.2 b/doc/man/nvme_host_get_hostid.2 index e503a32..518593d 100644 --- a/doc/man/nvme_host_get_hostid.2 +++ b/doc/man/nvme_host_get_hostid.2 @@ -1,4 +1,4 @@ -.TH "nvme_host_get_hostid" 9 "nvme_host_get_hostid" "August 2024" "libnvme API manual" LINUX +.TH "nvme_host_get_hostid" 9 "nvme_host_get_hostid" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_host_get_hostid \- Host ID of an nvme_host_t object .SH SYNOPSIS diff --git a/doc/man/nvme_host_get_hostnqn.2 b/doc/man/nvme_host_get_hostnqn.2 index 12f90a4..c377aba 100644 --- a/doc/man/nvme_host_get_hostnqn.2 +++ b/doc/man/nvme_host_get_hostnqn.2 @@ -1,4 +1,4 @@ -.TH "nvme_host_get_hostnqn" 9 "nvme_host_get_hostnqn" "August 2024" "libnvme API manual" LINUX +.TH "nvme_host_get_hostnqn" 9 "nvme_host_get_hostnqn" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_host_get_hostnqn \- Host NQN of an nvme_host_t object .SH SYNOPSIS diff --git a/doc/man/nvme_host_get_hostsymname.2 b/doc/man/nvme_host_get_hostsymname.2 index cbac4ee..19823dc 100644 --- a/doc/man/nvme_host_get_hostsymname.2 +++ b/doc/man/nvme_host_get_hostsymname.2 @@ -1,4 +1,4 @@ -.TH "nvme_host_get_hostsymname" 9 "nvme_host_get_hostsymname" "August 2024" "libnvme API manual" LINUX +.TH "nvme_host_get_hostsymname" 9 "nvme_host_get_hostsymname" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_host_get_hostsymname \- Get the host's symbolic name .SH SYNOPSIS diff --git a/doc/man/nvme_host_get_root.2 b/doc/man/nvme_host_get_root.2 index 4ef1a41..2d3b0f4 100644 --- a/doc/man/nvme_host_get_root.2 +++ b/doc/man/nvme_host_get_root.2 @@ -1,4 +1,4 @@ -.TH "nvme_host_get_root" 9 "nvme_host_get_root" "August 2024" "libnvme API manual" LINUX +.TH "nvme_host_get_root" 9 "nvme_host_get_root" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_host_get_root \- Returns nvme_root_t object .SH SYNOPSIS diff --git a/doc/man/nvme_host_is_pdc_enabled.2 b/doc/man/nvme_host_is_pdc_enabled.2 index 4a5c107..24404fc 100644 --- a/doc/man/nvme_host_is_pdc_enabled.2 +++ b/doc/man/nvme_host_is_pdc_enabled.2 @@ -1,4 +1,4 @@ -.TH "nvme_host_is_pdc_enabled" 9 "nvme_host_is_pdc_enabled" "August 2024" "libnvme API manual" LINUX +.TH "nvme_host_is_pdc_enabled" 9 "nvme_host_is_pdc_enabled" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_host_is_pdc_enabled \- Is Persistenct Discovery Controller enabled .SH SYNOPSIS diff --git a/doc/man/nvme_host_mem_buf_attrs.2 b/doc/man/nvme_host_mem_buf_attrs.2 index 1a31943..5a799f2 100644 --- a/doc/man/nvme_host_mem_buf_attrs.2 +++ b/doc/man/nvme_host_mem_buf_attrs.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_host_mem_buf_attrs" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_host_mem_buf_attrs" "October 2024" "API Manual" LINUX .SH NAME struct nvme_host_mem_buf_attrs \- Host Memory Buffer - Attributes Data Structure .SH SYNOPSIS diff --git a/doc/man/nvme_host_metadata.2 b/doc/man/nvme_host_metadata.2 index d62395b..0df8436 100644 --- a/doc/man/nvme_host_metadata.2 +++ b/doc/man/nvme_host_metadata.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_host_metadata" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_host_metadata" "October 2024" "API Manual" LINUX .SH NAME struct nvme_host_metadata \- Host Metadata Data Structure .SH SYNOPSIS diff --git a/doc/man/nvme_host_release_fds.2 b/doc/man/nvme_host_release_fds.2 index 2359646..f9c727e 100644 --- a/doc/man/nvme_host_release_fds.2 +++ b/doc/man/nvme_host_release_fds.2 @@ -1,4 +1,4 @@ -.TH "nvme_host_release_fds" 9 "nvme_host_release_fds" "August 2024" "libnvme API manual" LINUX +.TH "nvme_host_release_fds" 9 "nvme_host_release_fds" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_host_release_fds \- Close all opened file descriptors under host .SH SYNOPSIS diff --git a/doc/man/nvme_host_set_dhchap_key.2 b/doc/man/nvme_host_set_dhchap_key.2 index 8e96d67..0760467 100644 --- a/doc/man/nvme_host_set_dhchap_key.2 +++ b/doc/man/nvme_host_set_dhchap_key.2 @@ -1,4 +1,4 @@ -.TH "nvme_host_set_dhchap_key" 9 "nvme_host_set_dhchap_key" "August 2024" "libnvme API manual" LINUX +.TH "nvme_host_set_dhchap_key" 9 "nvme_host_set_dhchap_key" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_host_set_dhchap_key \- set host key .SH SYNOPSIS diff --git a/doc/man/nvme_host_set_hostsymname.2 b/doc/man/nvme_host_set_hostsymname.2 index 210ee95..7a3ab27 100644 --- a/doc/man/nvme_host_set_hostsymname.2 +++ b/doc/man/nvme_host_set_hostsymname.2 @@ -1,4 +1,4 @@ -.TH "nvme_host_set_hostsymname" 9 "nvme_host_set_hostsymname" "August 2024" "libnvme API manual" LINUX +.TH "nvme_host_set_hostsymname" 9 "nvme_host_set_hostsymname" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_host_set_hostsymname \- Set the host's symbolic name .SH SYNOPSIS diff --git a/doc/man/nvme_host_set_pdc_enabled.2 b/doc/man/nvme_host_set_pdc_enabled.2 index cf539f4..6f3d061 100644 --- a/doc/man/nvme_host_set_pdc_enabled.2 +++ b/doc/man/nvme_host_set_pdc_enabled.2 @@ -1,4 +1,4 @@ -.TH "nvme_host_set_pdc_enabled" 9 "nvme_host_set_pdc_enabled" "August 2024" "libnvme API manual" LINUX +.TH "nvme_host_set_pdc_enabled" 9 "nvme_host_set_pdc_enabled" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_host_set_pdc_enabled \- Set Persistent Discovery Controller flag .SH SYNOPSIS diff --git a/doc/man/nvme_id_ctrl.2 b/doc/man/nvme_id_ctrl.2 index cf30291..883cd99 100644 --- a/doc/man/nvme_id_ctrl.2 +++ b/doc/man/nvme_id_ctrl.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_id_ctrl" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_id_ctrl" "October 2024" "API Manual" LINUX .SH NAME struct nvme_id_ctrl \- Identify Controller data structure .SH SYNOPSIS @@ -130,7 +130,9 @@ struct nvme_id_ctrl { .br .BI " __u8 megcap[16];" .br -.BI " __u8 rsvd384[128];" +.BI " __u8 tmpthha;" +.br +.BI " __u8 rsvd385[127];" .br .BI " __u8 sqes;" .br @@ -170,7 +172,31 @@ struct nvme_id_ctrl { .br .BI " __le32 oaqd;" .br -.BI " __u8 rsvd568[200];" +.BI " __u8 rsvd568[2];" +.br +.BI " __u16 cmmrtd;" +.br +.BI " __u16 nmmrtd;" +.br +.BI " __u8 minmrtg;" +.br +.BI " __u8 maxmrtg;" +.br +.BI " __u8 trattr;" +.br +.BI " __u8 rsvd577;" +.br +.BI " __u16 mcudmq;" +.br +.BI " __u16 mnsudmq;" +.br +.BI " __u16 mcmr;" +.br +.BI " __u16 nmcmr;" +.br +.BI " __u16 mcdqpc;" +.br +.BI " __u8 rsvd588[180];" .br .BI " char subnqn[NVME_NQN_LENGTH];" .br @@ -408,7 +434,9 @@ Reserved .IP "megcap" 12 Max Endurance Group Capacity indicates the maximum capacity of a single Endurance Group. -.IP "rsvd384" 12 +.IP "tmpthha" 12 +Temperature Threshold Hysteresis Attributes +.IP "rsvd385" 12 Reserved .IP "sqes" 12 Submission Queue Entry Size, see \fIenum nvme_id_ctrl_sqes\fP. @@ -477,6 +505,51 @@ total number of outstanding I/O commands across all I/O queues on the controller for optimal operation. .IP "rsvd568" 12 Reserved +.IP "cmmrtd" 12 +Controller Maximum Memory Range Tracking Descriptors indicates +the maximum number of Memory Range Tracking Descriptors the +controller supports. +.IP "nmmrtd" 12 +NVM Subsystem Maximum Memory Range Tracking Descriptors +indicates the maximum number of Memory Range Tracking Descriptors +the NVM subsystem supports. +.IP "minmrtg" 12 +Minimum Memory Range Tracking Granularity indicates the minimum +value supported in the Requested Memory Range Tracking +Granularity (RMRTG) field of the Track Memory Ranges data +structure. +.IP "maxmrtg" 12 +Maximum Memory Range Tracking Granularity indicates the maximum +value supported in the Requested Memory Range Tracking +Granularity (RMRTG) field of the Track Memory Ranges data +structure. +.IP "trattr" 12 +Tracking Attributes indicates supported attributes for the +Track Send command and Track Receive command. +.IP "rsvd577" 12 +Reserved +.IP "mcudmq" 12 +Maximum Controller User Data Migration Queues indicates the +maximum number of User Data Migration Queues supported by the +controller. +.IP "mnsudmq" 12 +Maximum NVM Subsystem User Data Migration Queues indicates the +maximum number of User Data Migration Queues supported by the NVM +subsystem. +.IP "mcmr" 12 +Maximum CDQ Memory Ranges indicates the maximum number of +memory ranges allowed to be specified by the PRP1 field of a +Controller Data Queue command. +.IP "nmcmr" 12 +NVM Subsystem Maximum CDQ Memory Ranges indicates the maximum +number of memory ranges for all Controller Data Queues in the +NVM subsystem. +.IP "mcdqpc" 12 +Maximum Controller Data Queue PRP Count indicates the maximum +number of PRPs allowed to be specified in the PRP list in the +Controller Data Queue command. +.IP "rsvd588" 12 +Reserved .IP "subnqn" 12 NVM Subsystem NVMe Qualified Name, UTF-8 null terminated string .IP "rsvd1024" 12 diff --git a/doc/man/nvme_id_ctrl_anacap.2 b/doc/man/nvme_id_ctrl_anacap.2 index 1d534d6..a4bf206 100644 --- a/doc/man/nvme_id_ctrl_anacap.2 +++ b/doc/man/nvme_id_ctrl_anacap.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_id_ctrl_anacap" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_anacap" "October 2024" "API Manual" LINUX .SH NAME enum nvme_id_ctrl_anacap \- This field indicates the capabilities associated with Asymmetric Namespace Access Reporting. .SH SYNOPSIS diff --git a/doc/man/nvme_id_ctrl_apsta.2 b/doc/man/nvme_id_ctrl_apsta.2 index 1f2a2c2..cd942cd 100644 --- a/doc/man/nvme_id_ctrl_apsta.2 +++ b/doc/man/nvme_id_ctrl_apsta.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_id_ctrl_apsta" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_apsta" "October 2024" "API Manual" LINUX .SH NAME enum nvme_id_ctrl_apsta \- Flags indicating the attributes of the autonomous power state transition feature. .SH SYNOPSIS diff --git a/doc/man/nvme_id_ctrl_avscc.2 b/doc/man/nvme_id_ctrl_avscc.2 index 8eff34f..8a34a78 100644 --- a/doc/man/nvme_id_ctrl_avscc.2 +++ b/doc/man/nvme_id_ctrl_avscc.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_id_ctrl_avscc" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_avscc" "October 2024" "API Manual" LINUX .SH NAME enum nvme_id_ctrl_avscc \- Flags indicating the configuration settings for Admin Vendor Specific command handling. .SH SYNOPSIS diff --git a/doc/man/nvme_id_ctrl_cmic.2 b/doc/man/nvme_id_ctrl_cmic.2 index f649b91..6131e2a 100644 --- a/doc/man/nvme_id_ctrl_cmic.2 +++ b/doc/man/nvme_id_ctrl_cmic.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_id_ctrl_cmic" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_cmic" "October 2024" "API Manual" LINUX .SH NAME enum nvme_id_ctrl_cmic \- Controller Multipath IO and Namespace Sharing Capabilities of the controller and NVM subsystem. .SH SYNOPSIS diff --git a/doc/man/nvme_id_ctrl_cntrltype.2 b/doc/man/nvme_id_ctrl_cntrltype.2 index e799f94..eab04f7 100644 --- a/doc/man/nvme_id_ctrl_cntrltype.2 +++ b/doc/man/nvme_id_ctrl_cntrltype.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_id_ctrl_cntrltype" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_cntrltype" "October 2024" "API Manual" LINUX .SH NAME enum nvme_id_ctrl_cntrltype \- Controller types .SH SYNOPSIS diff --git a/doc/man/nvme_id_ctrl_cqes.2 b/doc/man/nvme_id_ctrl_cqes.2 index 294cda4..6faf6c5 100644 --- a/doc/man/nvme_id_ctrl_cqes.2 +++ b/doc/man/nvme_id_ctrl_cqes.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_id_ctrl_cqes" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_cqes" "October 2024" "API Manual" LINUX .SH NAME enum nvme_id_ctrl_cqes \- Defines the required and maximum Completion Queue entry size when using the NVM Command Set. .SH SYNOPSIS diff --git a/doc/man/nvme_id_ctrl_ctratt.2 b/doc/man/nvme_id_ctrl_ctratt.2 index 43dc5c9..c410dd9 100644 --- a/doc/man/nvme_id_ctrl_ctratt.2 +++ b/doc/man/nvme_id_ctrl_ctratt.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_id_ctrl_ctratt" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_ctratt" "October 2024" "API Manual" LINUX .SH NAME enum nvme_id_ctrl_ctratt \- Controller attributes .SH SYNOPSIS diff --git a/doc/man/nvme_id_ctrl_dctype.2 b/doc/man/nvme_id_ctrl_dctype.2 index e128244..1676000 100644 --- a/doc/man/nvme_id_ctrl_dctype.2 +++ b/doc/man/nvme_id_ctrl_dctype.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_id_ctrl_dctype" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_dctype" "October 2024" "API Manual" LINUX .SH NAME enum nvme_id_ctrl_dctype \- Discovery Controller types .SH SYNOPSIS diff --git a/doc/man/nvme_id_ctrl_dsto.2 b/doc/man/nvme_id_ctrl_dsto.2 index 2b96f2a..c862fd4 100644 --- a/doc/man/nvme_id_ctrl_dsto.2 +++ b/doc/man/nvme_id_ctrl_dsto.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_id_ctrl_dsto" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_dsto" "October 2024" "API Manual" LINUX .SH NAME enum nvme_id_ctrl_dsto \- Flags indicating the optional Device Self-test command or operation behaviors supported by the controller or NVM subsystem. .SH SYNOPSIS diff --git a/doc/man/nvme_id_ctrl_fcatt.2 b/doc/man/nvme_id_ctrl_fcatt.2 index 66f79c6..06c5101 100644 --- a/doc/man/nvme_id_ctrl_fcatt.2 +++ b/doc/man/nvme_id_ctrl_fcatt.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_id_ctrl_fcatt" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_fcatt" "October 2024" "API Manual" LINUX .SH NAME enum nvme_id_ctrl_fcatt \- This field indicates attributes of the controller that are specific to NVMe over Fabrics. .SH SYNOPSIS diff --git a/doc/man/nvme_id_ctrl_fna.2 b/doc/man/nvme_id_ctrl_fna.2 index 61ae9e9..c425e20 100644 --- a/doc/man/nvme_id_ctrl_fna.2 +++ b/doc/man/nvme_id_ctrl_fna.2 @@ -1,9 +1,41 @@ -.TH "libnvme" 9 "enum nvme_id_ctrl_fna" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_fna" "October 2024" "API Manual" LINUX .SH NAME enum nvme_id_ctrl_fna \- This field indicates attributes for the Format NVM command. .SH SYNOPSIS enum nvme_id_ctrl_fna { .br +.BI " NVME_CTRL_FNA_FMT_ALL_NS_SHIFT" +, +.br +.br +.BI " NVME_CTRL_FNA_SEC_ALL_NS_SHIFT" +, +.br +.br +.BI " NVME_CTRL_FNA_CES_SHIFT" +, +.br +.br +.BI " NVME_CTRL_FNA_NSID_ALL_F_SHIFT" +, +.br +.br +.BI " NVME_CTRL_FNA_FMT_ALL_NS_MASK" +, +.br +.br +.BI " NVME_CTRL_FNA_SEC_ALL_NS_MASK" +, +.br +.br +.BI " NVME_CTRL_FNA_CES_MASK" +, +.br +.br +.BI " NVME_CTRL_FNA_NSID_ALL_F_MASK" +, +.br +.br .BI " NVME_CTRL_FNA_FMT_ALL_NAMESPACES" , .br @@ -20,6 +52,22 @@ enum nvme_id_ctrl_fna { }; .SH Constants +.IP "NVME_CTRL_FNA_FMT_ALL_NS_SHIFT" 12 +Shift amount to get the format applied to all namespaces +.IP "NVME_CTRL_FNA_SEC_ALL_NS_SHIFT" 12 +Shift amount to get the secure erase applied to all namespaces +.IP "NVME_CTRL_FNA_CES_SHIFT" 12 +Shift amount to get the cryptographic erase supported +.IP "NVME_CTRL_FNA_NSID_ALL_F_SHIFT" 12 +Shift amount to get the format supported an NSID FFFFFFFFh +.IP "NVME_CTRL_FNA_FMT_ALL_NS_MASK" 12 +Mask to get the format applied to all namespaces +.IP "NVME_CTRL_FNA_SEC_ALL_NS_MASK" 12 +Mask to get the secure erase applied to all namespaces +.IP "NVME_CTRL_FNA_CES_MASK" 12 +Mask to get the cryptographic erase supported +.IP "NVME_CTRL_FNA_NSID_ALL_F_MASK" 12 +Mask to get the format supported an NSID FFFFFFFFh .IP "NVME_CTRL_FNA_FMT_ALL_NAMESPACES" 12 If set, then all namespaces in an NVM subsystem shall be configured with the diff --git a/doc/man/nvme_id_ctrl_frmw.2 b/doc/man/nvme_id_ctrl_frmw.2 index b4e795e..5baab22 100644 --- a/doc/man/nvme_id_ctrl_frmw.2 +++ b/doc/man/nvme_id_ctrl_frmw.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_id_ctrl_frmw" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_frmw" "October 2024" "API Manual" LINUX .SH NAME enum nvme_id_ctrl_frmw \- Flags and values indicates capabilities regarding firmware updates from &struct nvme_id_ctrl.frmw. .SH SYNOPSIS diff --git a/doc/man/nvme_id_ctrl_fuses.2 b/doc/man/nvme_id_ctrl_fuses.2 index d63fa61..ee890a3 100644 --- a/doc/man/nvme_id_ctrl_fuses.2 +++ b/doc/man/nvme_id_ctrl_fuses.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_id_ctrl_fuses" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_fuses" "October 2024" "API Manual" LINUX .SH NAME enum nvme_id_ctrl_fuses \- This field indicates the fused operations that the controller supports. .SH SYNOPSIS diff --git a/doc/man/nvme_id_ctrl_hctm.2 b/doc/man/nvme_id_ctrl_hctm.2 index 345095c..9831d9a 100644 --- a/doc/man/nvme_id_ctrl_hctm.2 +++ b/doc/man/nvme_id_ctrl_hctm.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_id_ctrl_hctm" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_hctm" "October 2024" "API Manual" LINUX .SH NAME enum nvme_id_ctrl_hctm \- Flags indicate the attributes of the host controlled thermal management feature .SH SYNOPSIS diff --git a/doc/man/nvme_id_ctrl_lpa.2 b/doc/man/nvme_id_ctrl_lpa.2 index d881182..75ddad4 100644 --- a/doc/man/nvme_id_ctrl_lpa.2 +++ b/doc/man/nvme_id_ctrl_lpa.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_id_ctrl_lpa" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_lpa" "October 2024" "API Manual" LINUX .SH NAME enum nvme_id_ctrl_lpa \- Flags indicating optional attributes for log pages that are accessed via the Get Log Page command. .SH SYNOPSIS diff --git a/doc/man/nvme_id_ctrl_mec.2 b/doc/man/nvme_id_ctrl_mec.2 index 2b3d7c6..5593927 100644 --- a/doc/man/nvme_id_ctrl_mec.2 +++ b/doc/man/nvme_id_ctrl_mec.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_id_ctrl_mec" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_mec" "October 2024" "API Manual" LINUX .SH NAME enum nvme_id_ctrl_mec \- Flags indicating the capabilities of the Management Endpoint in the Controller, &struct nvme_id_ctrl.mec. .SH SYNOPSIS diff --git a/doc/man/nvme_id_ctrl_nvm.2 b/doc/man/nvme_id_ctrl_nvm.2 index e463c7d..39efbdd 100644 --- a/doc/man/nvme_id_ctrl_nvm.2 +++ b/doc/man/nvme_id_ctrl_nvm.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_id_ctrl_nvm" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_id_ctrl_nvm" "October 2024" "API Manual" LINUX .SH NAME struct nvme_id_ctrl_nvm \- I/O Command Set Specific Identify Controller data structure .SH SYNOPSIS @@ -20,7 +20,11 @@ struct nvme_id_ctrl_nvm { .br .BI " __le16 aocs;" .br -.BI " __u8 rsvd20[4076];" +.BI " __le32 ver;" +.br +.BI " __u8 lbamqf;" +.br +.BI " __u8 rsvd25[4071];" .br .BI " }; @@ -43,5 +47,9 @@ Dataset Management Size Limit Reserved .IP "aocs" 12 Admin Optional Command Support -.IP "rsvd20" 12 +.IP "ver" 12 +Version +.IP "lbamqf" 12 +LBA Migration Queue Format +.IP "rsvd25" 12 Reserved diff --git a/doc/man/nvme_id_ctrl_nvmsr.2 b/doc/man/nvme_id_ctrl_nvmsr.2 index 5274196..abb0571 100644 --- a/doc/man/nvme_id_ctrl_nvmsr.2 +++ b/doc/man/nvme_id_ctrl_nvmsr.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_id_ctrl_nvmsr" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_nvmsr" "October 2024" "API Manual" LINUX .SH NAME enum nvme_id_ctrl_nvmsr \- This field reports information associated with the NVM Subsystem, see &struct nvme_id_ctrl.nvmsr. .SH SYNOPSIS diff --git a/doc/man/nvme_id_ctrl_nvscc.2 b/doc/man/nvme_id_ctrl_nvscc.2 index 11c6a40..1ec579c 100644 --- a/doc/man/nvme_id_ctrl_nvscc.2 +++ b/doc/man/nvme_id_ctrl_nvscc.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_id_ctrl_nvscc" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_nvscc" "October 2024" "API Manual" LINUX .SH NAME enum nvme_id_ctrl_nvscc \- This field indicates the configuration settings for NVM Vendor Specific command handling. .SH SYNOPSIS diff --git a/doc/man/nvme_id_ctrl_nwpc.2 b/doc/man/nvme_id_ctrl_nwpc.2 index e7d5db3..50c8225 100644 --- a/doc/man/nvme_id_ctrl_nwpc.2 +++ b/doc/man/nvme_id_ctrl_nwpc.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_id_ctrl_nwpc" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_nwpc" "October 2024" "API Manual" LINUX .SH NAME enum nvme_id_ctrl_nwpc \- This field indicates the optional namespace write protection capabilities supported by the controller. .SH SYNOPSIS diff --git a/doc/man/nvme_id_ctrl_oacs.2 b/doc/man/nvme_id_ctrl_oacs.2 index 374781c..3b340ca 100644 --- a/doc/man/nvme_id_ctrl_oacs.2 +++ b/doc/man/nvme_id_ctrl_oacs.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_id_ctrl_oacs" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_oacs" "October 2024" "API Manual" LINUX .SH NAME enum nvme_id_ctrl_oacs \- Flags indicating the optional Admin commands and features supported by the controller, see &struct nvme_id_ctrl.oacs. .SH SYNOPSIS diff --git a/doc/man/nvme_id_ctrl_oaes.2 b/doc/man/nvme_id_ctrl_oaes.2 index 179e913..9bc2e2d 100644 --- a/doc/man/nvme_id_ctrl_oaes.2 +++ b/doc/man/nvme_id_ctrl_oaes.2 @@ -1,9 +1,105 @@ -.TH "libnvme" 9 "enum nvme_id_ctrl_oaes" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_oaes" "October 2024" "API Manual" LINUX .SH NAME enum nvme_id_ctrl_oaes \- Optional Asynchronous Events Supported .SH SYNOPSIS enum nvme_id_ctrl_oaes { .br +.BI " NVME_CTRL_OAES_NA_SHIFT" +, +.br +.br +.BI " NVME_CTRL_OAES_FA_SHIFT" +, +.br +.br +.BI " NVME_CTRL_OAES_ANA_SHIFT" +, +.br +.br +.BI " NVME_CTRL_OAES_PLEA_SHIFT" +, +.br +.br +.BI " NVME_CTRL_OAES_LBAS_SHIFT" +, +.br +.br +.BI " NVME_CTRL_OAES_EGE_SHIFT" +, +.br +.br +.BI " NVME_CTRL_OAES_NS_SHIFT" +, +.br +.br +.BI " NVME_CTRL_OAES_TTH_SHIFT" +, +.br +.br +.BI " NVME_CTRL_OAES_RGCNS_SHIFT" +, +.br +.br +.BI " NVME_CTRL_OAES_ANSAN_SHIFT" +, +.br +.br +.BI " NVME_CTRL_OAES_ZD_SHIFT" +, +.br +.br +.BI " NVME_CTRL_OAES_DL_SHIFT" +, +.br +.br +.BI " NVME_CTRL_OAES_NA_MASK" +, +.br +.br +.BI " NVME_CTRL_OAES_FA_MASK" +, +.br +.br +.BI " NVME_CTRL_OAES_ANA_MASK" +, +.br +.br +.BI " NVME_CTRL_OAES_PLEA_MASK" +, +.br +.br +.BI " NVME_CTRL_OAES_LBAS_MASK" +, +.br +.br +.BI " NVME_CTRL_OAES_EGE_MASK" +, +.br +.br +.BI " NVME_CTRL_OAES_NS_MASK" +, +.br +.br +.BI " NVME_CTRL_OAES_TTH_MASK" +, +.br +.br +.BI " NVME_CTRL_OAES_RGCNS_MASK" +, +.br +.br +.BI " NVME_CTRL_OAES_ANSAN_MASK" +, +.br +.br +.BI " NVME_CTRL_OAES_ZD_MASK" +, +.br +.br +.BI " NVME_CTRL_OAES_DL_MASK" +, +.br +.br .BI " NVME_CTRL_OAES_NA" , .br @@ -32,6 +128,18 @@ enum nvme_id_ctrl_oaes { , .br .br +.BI " NVME_CTRL_OAES_TTH" +, +.br +.br +.BI " NVME_CTRL_OAES_RGCNS" +, +.br +.br +.BI " NVME_CTRL_OAES_ANSAN" +, +.br +.br .BI " NVME_CTRL_OAES_ZD" , .br @@ -40,6 +148,63 @@ enum nvme_id_ctrl_oaes { }; .SH Constants +.IP "NVME_CTRL_OAES_NA_SHIFT" 12 +Shift amount to get the Namespace Attribute Notices event supported +.IP "NVME_CTRL_OAES_FA_SHIFT" 12 +Shift amount to get the Firmware Activation Notices event supported +.IP "NVME_CTRL_OAES_ANA_SHIFT" 12 +Shift amount to get the ANA Change Notices supported +.IP "NVME_CTRL_OAES_PLEA_SHIFT" 12 +Shift amount to get the Predictable Latency Event Aggregate Log +Change Notices event supported +.IP "NVME_CTRL_OAES_LBAS_SHIFT" 12 +Shift amount to get the LBA Status Information Notices event +supported +.IP "NVME_CTRL_OAES_EGE_SHIFT" 12 +Shift amount to get the Endurance Group Events Aggregate Log Change +Notices event supported +.IP "NVME_CTRL_OAES_NS_SHIFT" 12 +Shift amount to get the Normal NVM Subsystem Shutdown event supported +.IP "NVME_CTRL_OAES_TTH_SHIFT" 12 +Shift amount to get the Temperature Threshold Hysteresis Recovery +event supported +.IP "NVME_CTRL_OAES_RGCNS_SHIFT" 12 +Shift amount to get the Reachability Groups Change Notices supported +.IP "NVME_CTRL_OAES_ANSAN_SHIFT" 12 +Shift amount to get the Allocated Namespace Attribute Notices +supported +.IP "NVME_CTRL_OAES_ZD_SHIFT" 12 +Shift amount to get the Zone Descriptor Change Notifications supported +.IP "NVME_CTRL_OAES_DL_SHIFT" 12 +Shift amount to get the Discover Log Page Change Notifications +supported +.IP "NVME_CTRL_OAES_NA_MASK" 12 +Mask to get the Namespace Attribute Notices event supported +.IP "NVME_CTRL_OAES_FA_MASK" 12 +Mask to get the Firmware Activation Notices event supported +.IP "NVME_CTRL_OAES_ANA_MASK" 12 +Mask to get the ANA Change Notices supported +.IP "NVME_CTRL_OAES_PLEA_MASK" 12 +Mask to get the Predictable Latency Event Aggregate Log Change Notices +event supported +.IP "NVME_CTRL_OAES_LBAS_MASK" 12 +Mask to get the LBA Status Information Notices event supported +.IP "NVME_CTRL_OAES_EGE_MASK" 12 +Mask to get the Endurance Group Events Aggregate Log Change Notices +event supported +.IP "NVME_CTRL_OAES_NS_MASK" 12 +Mask to get the Normal NVM Subsystem Shutdown event supported +.IP "NVME_CTRL_OAES_TTH_MASK" 12 +Mask to get the Temperature Threshold Hysteresis Recovery event +supported +.IP "NVME_CTRL_OAES_RGCNS_MASK" 12 +Mask to get the Reachability Groups Change Notices supported +.IP "NVME_CTRL_OAES_ANSAN_MASK" 12 +Mask to get the Allocated Namespace Attribute Notices supported +.IP "NVME_CTRL_OAES_ZD_MASK" 12 +Mask to get the Zone Descriptor Change Notifications supported +.IP "NVME_CTRL_OAES_DL_MASK" 12 +Mask to get the Discover Log Page Change Notifications supported .IP "NVME_CTRL_OAES_NA" 12 Namespace Attribute Notices event supported .IP "NVME_CTRL_OAES_FA" 12 @@ -47,15 +212,19 @@ Firmware Activation Notices event supported .IP "NVME_CTRL_OAES_ANA" 12 ANA Change Notices supported .IP "NVME_CTRL_OAES_PLEA" 12 -Predictable Latency Event Aggregate Log -Change Notices event supported +Predictable Latency Event Aggregate Log Change Notices event supported .IP "NVME_CTRL_OAES_LBAS" 12 LBA Status Information Notices event supported .IP "NVME_CTRL_OAES_EGE" 12 -Endurance Group Events Aggregate Log Change -Notices event supported +Endurance Group Events Aggregate Log Change Notices event supported .IP "NVME_CTRL_OAES_NS" 12 Normal NVM Subsystem Shutdown event supported +.IP "NVME_CTRL_OAES_TTH" 12 +Temperature Threshold Hysteresis Recovery event supported +.IP "NVME_CTRL_OAES_RGCNS" 12 +Reachability Groups Change Notices supported +.IP "NVME_CTRL_OAES_ANSAN" 12 +Allocated Namespace Attribute Notices supported .IP "NVME_CTRL_OAES_ZD" 12 Zone Descriptor Change Notifications supported .IP "NVME_CTRL_OAES_DL" 12 diff --git a/doc/man/nvme_id_ctrl_ofcs.2 b/doc/man/nvme_id_ctrl_ofcs.2 index 4695e85..4c67a01 100644 --- a/doc/man/nvme_id_ctrl_ofcs.2 +++ b/doc/man/nvme_id_ctrl_ofcs.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_id_ctrl_ofcs" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_ofcs" "October 2024" "API Manual" LINUX .SH NAME enum nvme_id_ctrl_ofcs \- Indicate whether the controller supports optional fabric commands. .SH SYNOPSIS diff --git a/doc/man/nvme_id_ctrl_oncs.2 b/doc/man/nvme_id_ctrl_oncs.2 index 50020de..dad11ab 100644 --- a/doc/man/nvme_id_ctrl_oncs.2 +++ b/doc/man/nvme_id_ctrl_oncs.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_id_ctrl_oncs" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_oncs" "October 2024" "API Manual" LINUX .SH NAME enum nvme_id_ctrl_oncs \- This field indicates the optional NVM commands and features supported by the controller. .SH SYNOPSIS diff --git a/doc/man/nvme_id_ctrl_rpmbs.2 b/doc/man/nvme_id_ctrl_rpmbs.2 index b092a24..24d9650 100644 --- a/doc/man/nvme_id_ctrl_rpmbs.2 +++ b/doc/man/nvme_id_ctrl_rpmbs.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_id_ctrl_rpmbs" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_rpmbs" "October 2024" "API Manual" LINUX .SH NAME enum nvme_id_ctrl_rpmbs \- This field indicates if the controller supports one or more Replay Protected Memory Blocks, from &struct nvme_id_ctrl.rpmbs. .SH SYNOPSIS diff --git a/doc/man/nvme_id_ctrl_sanicap.2 b/doc/man/nvme_id_ctrl_sanicap.2 index 63c737b..6b0d247 100644 --- a/doc/man/nvme_id_ctrl_sanicap.2 +++ b/doc/man/nvme_id_ctrl_sanicap.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_id_ctrl_sanicap" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_sanicap" "October 2024" "API Manual" LINUX .SH NAME enum nvme_id_ctrl_sanicap \- Indicates attributes for sanitize operations. .SH SYNOPSIS diff --git a/doc/man/nvme_id_ctrl_sgls.2 b/doc/man/nvme_id_ctrl_sgls.2 index 9d1bbd3..9a6c450 100644 --- a/doc/man/nvme_id_ctrl_sgls.2 +++ b/doc/man/nvme_id_ctrl_sgls.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_id_ctrl_sgls" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_sgls" "October 2024" "API Manual" LINUX .SH NAME enum nvme_id_ctrl_sgls \- This field indicates if SGLs are supported for the NVM Command Set and the particular SGL types supported. .SH SYNOPSIS diff --git a/doc/man/nvme_id_ctrl_sqes.2 b/doc/man/nvme_id_ctrl_sqes.2 index d8b4d46..4905637 100644 --- a/doc/man/nvme_id_ctrl_sqes.2 +++ b/doc/man/nvme_id_ctrl_sqes.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_id_ctrl_sqes" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_sqes" "October 2024" "API Manual" LINUX .SH NAME enum nvme_id_ctrl_sqes \- Defines the required and maximum Submission Queue entry size when using the NVM Command Set. .SH SYNOPSIS diff --git a/doc/man/nvme_id_ctrl_vwc.2 b/doc/man/nvme_id_ctrl_vwc.2 index ba95986..57a260c 100644 --- a/doc/man/nvme_id_ctrl_vwc.2 +++ b/doc/man/nvme_id_ctrl_vwc.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_id_ctrl_vwc" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_vwc" "October 2024" "API Manual" LINUX .SH NAME enum nvme_id_ctrl_vwc \- Volatile write cache .SH SYNOPSIS diff --git a/doc/man/nvme_id_ctrl_vwci.2 b/doc/man/nvme_id_ctrl_vwci.2 index 17ccfc6..4d28503 100644 --- a/doc/man/nvme_id_ctrl_vwci.2 +++ b/doc/man/nvme_id_ctrl_vwci.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_id_ctrl_vwci" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_vwci" "October 2024" "API Manual" LINUX .SH NAME enum nvme_id_ctrl_vwci \- This field indicates information about remaining number of times that VPD contents are able to be updated using the VPD Write command, see &struct nvme_id_ctrl.vwci. .SH SYNOPSIS diff --git a/doc/man/nvme_id_directives.2 b/doc/man/nvme_id_directives.2 index d595b3a..4a082eb 100644 --- a/doc/man/nvme_id_directives.2 +++ b/doc/man/nvme_id_directives.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_id_directives" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_id_directives" "October 2024" "API Manual" LINUX .SH NAME struct nvme_id_directives \- Identify Directive - Return Parameters Data Structure .SH SYNOPSIS diff --git a/doc/man/nvme_id_domain_attr.2 b/doc/man/nvme_id_domain_attr.2 index 48d9d15..cbc1d49 100644 --- a/doc/man/nvme_id_domain_attr.2 +++ b/doc/man/nvme_id_domain_attr.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_id_domain_attr" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_id_domain_attr" "October 2024" "API Manual" LINUX .SH NAME struct nvme_id_domain_attr \- Domain Attributes Entry .SH SYNOPSIS diff --git a/doc/man/nvme_id_domain_list.2 b/doc/man/nvme_id_domain_list.2 index fedde92..adce203 100644 --- a/doc/man/nvme_id_domain_list.2 +++ b/doc/man/nvme_id_domain_list.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_id_domain_list" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_id_domain_list" "October 2024" "API Manual" LINUX .SH NAME struct nvme_id_domain_list \- Domain List .SH SYNOPSIS diff --git a/doc/man/nvme_id_endurance_group_list.2 b/doc/man/nvme_id_endurance_group_list.2 index 2135951..84d619a 100644 --- a/doc/man/nvme_id_endurance_group_list.2 +++ b/doc/man/nvme_id_endurance_group_list.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_id_endurance_group_list" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_id_endurance_group_list" "October 2024" "API Manual" LINUX .SH NAME struct nvme_id_endurance_group_list \- Endurance Group List .SH SYNOPSIS diff --git a/doc/man/nvme_id_independent_id_ns.2 b/doc/man/nvme_id_independent_id_ns.2 index 7757745..7583611 100644 --- a/doc/man/nvme_id_independent_id_ns.2 +++ b/doc/man/nvme_id_independent_id_ns.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_id_independent_id_ns" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_id_independent_id_ns" "October 2024" "API Manual" LINUX .SH NAME struct nvme_id_independent_id_ns \- Identify - I/O Command Set Independent Identify Namespace Data Structure .SH SYNOPSIS diff --git a/doc/man/nvme_id_iocs.2 b/doc/man/nvme_id_iocs.2 index 9108a2c..53810a6 100644 --- a/doc/man/nvme_id_iocs.2 +++ b/doc/man/nvme_id_iocs.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_id_iocs" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_id_iocs" "October 2024" "API Manual" LINUX .SH NAME struct nvme_id_iocs \- NVMe Identify IO Command Set data structure .SH SYNOPSIS diff --git a/doc/man/nvme_id_ns.2 b/doc/man/nvme_id_ns.2 index f9e7027..d410131 100644 --- a/doc/man/nvme_id_ns.2 +++ b/doc/man/nvme_id_ns.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_id_ns" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_id_ns" "October 2024" "API Manual" LINUX .SH NAME struct nvme_id_ns \- Identify Namespace data structure .SH SYNOPSIS diff --git a/doc/man/nvme_id_ns_attr.2 b/doc/man/nvme_id_ns_attr.2 index eb2c0f5..882b805 100644 --- a/doc/man/nvme_id_ns_attr.2 +++ b/doc/man/nvme_id_ns_attr.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_id_ns_attr" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ns_attr" "October 2024" "API Manual" LINUX .SH NAME enum nvme_id_ns_attr \- Specifies attributes of the namespace. .SH SYNOPSIS diff --git a/doc/man/nvme_id_ns_dlfeat.2 b/doc/man/nvme_id_ns_dlfeat.2 index 58e73ca..c8fe8e9 100644 --- a/doc/man/nvme_id_ns_dlfeat.2 +++ b/doc/man/nvme_id_ns_dlfeat.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_id_ns_dlfeat" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ns_dlfeat" "October 2024" "API Manual" LINUX .SH NAME enum nvme_id_ns_dlfeat \- This field indicates information about features that affect deallocating logical blocks for this namespace. .SH SYNOPSIS diff --git a/doc/man/nvme_id_ns_dpc.2 b/doc/man/nvme_id_ns_dpc.2 index c993b69..a8927db 100644 --- a/doc/man/nvme_id_ns_dpc.2 +++ b/doc/man/nvme_id_ns_dpc.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_id_ns_dpc" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ns_dpc" "October 2024" "API Manual" LINUX .SH NAME enum nvme_id_ns_dpc \- This field indicates the capabilities for the end-to-end data protection feature. .SH SYNOPSIS diff --git a/doc/man/nvme_id_ns_dps.2 b/doc/man/nvme_id_ns_dps.2 index 30c50b8..08a9d7e 100644 --- a/doc/man/nvme_id_ns_dps.2 +++ b/doc/man/nvme_id_ns_dps.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_id_ns_dps" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ns_dps" "October 2024" "API Manual" LINUX .SH NAME enum nvme_id_ns_dps \- This field indicates the Type settings for the end-to-end data protection feature. .SH SYNOPSIS diff --git a/doc/man/nvme_id_ns_flbas.2 b/doc/man/nvme_id_ns_flbas.2 index 394ec6a..81a8696 100644 --- a/doc/man/nvme_id_ns_flbas.2 +++ b/doc/man/nvme_id_ns_flbas.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_id_ns_flbas" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ns_flbas" "October 2024" "API Manual" LINUX .SH NAME enum nvme_id_ns_flbas \- This field indicates the LBA data size & metadata size combination that the namespace has been formatted with .SH SYNOPSIS diff --git a/doc/man/nvme_id_ns_granularity_desc.2 b/doc/man/nvme_id_ns_granularity_desc.2 index c18a777..ac0aab7 100644 --- a/doc/man/nvme_id_ns_granularity_desc.2 +++ b/doc/man/nvme_id_ns_granularity_desc.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_id_ns_granularity_desc" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_id_ns_granularity_desc" "October 2024" "API Manual" LINUX .SH NAME struct nvme_id_ns_granularity_desc \- Namespace Granularity Descriptor .SH SYNOPSIS diff --git a/doc/man/nvme_id_ns_granularity_list.2 b/doc/man/nvme_id_ns_granularity_list.2 index 6ccd850..3277255 100644 --- a/doc/man/nvme_id_ns_granularity_list.2 +++ b/doc/man/nvme_id_ns_granularity_list.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_id_ns_granularity_list" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_id_ns_granularity_list" "October 2024" "API Manual" LINUX .SH NAME struct nvme_id_ns_granularity_list \- Namespace Granularity List .SH SYNOPSIS diff --git a/doc/man/nvme_id_ns_mc.2 b/doc/man/nvme_id_ns_mc.2 index ff94c14..18bdb7e 100644 --- a/doc/man/nvme_id_ns_mc.2 +++ b/doc/man/nvme_id_ns_mc.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_id_ns_mc" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ns_mc" "October 2024" "API Manual" LINUX .SH NAME enum nvme_id_ns_mc \- This field indicates the capabilities for metadata. .SH SYNOPSIS diff --git a/doc/man/nvme_id_ns_nmic.2 b/doc/man/nvme_id_ns_nmic.2 index 54b2e4e..843fe1b 100644 --- a/doc/man/nvme_id_ns_nmic.2 +++ b/doc/man/nvme_id_ns_nmic.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_id_ns_nmic" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ns_nmic" "October 2024" "API Manual" LINUX .SH NAME enum nvme_id_ns_nmic \- This field specifies multi-path I/O and namespace sharing capabilities of the namespace. .SH SYNOPSIS diff --git a/doc/man/nvme_id_ns_rescap.2 b/doc/man/nvme_id_ns_rescap.2 index dc052c7..be4f478 100644 --- a/doc/man/nvme_id_ns_rescap.2 +++ b/doc/man/nvme_id_ns_rescap.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_id_ns_rescap" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ns_rescap" "October 2024" "API Manual" LINUX .SH NAME enum nvme_id_ns_rescap \- This field indicates the reservation capabilities of the namespace. .SH SYNOPSIS diff --git a/doc/man/nvme_id_nsfeat.2 b/doc/man/nvme_id_nsfeat.2 index c864eb9..a8cbe9a 100644 --- a/doc/man/nvme_id_nsfeat.2 +++ b/doc/man/nvme_id_nsfeat.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_id_nsfeat" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_nsfeat" "October 2024" "API Manual" LINUX .SH NAME enum nvme_id_nsfeat \- This field defines features of the namespace. .SH SYNOPSIS diff --git a/doc/man/nvme_id_nvmset_list.2 b/doc/man/nvme_id_nvmset_list.2 index 995a9ba..4531156 100644 --- a/doc/man/nvme_id_nvmset_list.2 +++ b/doc/man/nvme_id_nvmset_list.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_id_nvmset_list" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_id_nvmset_list" "October 2024" "API Manual" LINUX .SH NAME struct nvme_id_nvmset_list \- NVM set list .SH SYNOPSIS diff --git a/doc/man/nvme_id_psd.2 b/doc/man/nvme_id_psd.2 index 513d965..97bf90e 100644 --- a/doc/man/nvme_id_psd.2 +++ b/doc/man/nvme_id_psd.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_id_psd" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_id_psd" "October 2024" "API Manual" LINUX .SH NAME struct nvme_id_psd \- Power Management data structure .SH SYNOPSIS diff --git a/doc/man/nvme_id_uuid.2 b/doc/man/nvme_id_uuid.2 index 6a7963b..a035151 100644 --- a/doc/man/nvme_id_uuid.2 +++ b/doc/man/nvme_id_uuid.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_id_uuid" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_uuid" "October 2024" "API Manual" LINUX .SH NAME enum nvme_id_uuid \- Identifier Association .SH SYNOPSIS diff --git a/doc/man/nvme_id_uuid_list.2 b/doc/man/nvme_id_uuid_list.2 index 9101f39..67957dd 100644 --- a/doc/man/nvme_id_uuid_list.2 +++ b/doc/man/nvme_id_uuid_list.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_id_uuid_list" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_id_uuid_list" "October 2024" "API Manual" LINUX .SH NAME struct nvme_id_uuid_list \- UUID list .SH SYNOPSIS diff --git a/doc/man/nvme_id_uuid_list_entry.2 b/doc/man/nvme_id_uuid_list_entry.2 index 38d3621..dc0feff 100644 --- a/doc/man/nvme_id_uuid_list_entry.2 +++ b/doc/man/nvme_id_uuid_list_entry.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_id_uuid_list_entry" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_id_uuid_list_entry" "October 2024" "API Manual" LINUX .SH NAME struct nvme_id_uuid_list_entry \- UUID List Entry .SH SYNOPSIS diff --git a/doc/man/nvme_identify.2 b/doc/man/nvme_identify.2 index 47a8ae8..ebe9e1e 100644 --- a/doc/man/nvme_identify.2 +++ b/doc/man/nvme_identify.2 @@ -1,4 +1,4 @@ -.TH "nvme_identify" 9 "nvme_identify" "August 2024" "libnvme API manual" LINUX +.TH "nvme_identify" 9 "nvme_identify" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_identify \- Send the NVMe Identify command .SH SYNOPSIS diff --git a/doc/man/nvme_identify_active_ns_list.2 b/doc/man/nvme_identify_active_ns_list.2 index 71e5e3b..2fc354a 100644 --- a/doc/man/nvme_identify_active_ns_list.2 +++ b/doc/man/nvme_identify_active_ns_list.2 @@ -1,4 +1,4 @@ -.TH "nvme_identify_active_ns_list" 9 "nvme_identify_active_ns_list" "August 2024" "libnvme API manual" LINUX +.TH "nvme_identify_active_ns_list" 9 "nvme_identify_active_ns_list" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_identify_active_ns_list \- Retrieves active namespaces id list .SH SYNOPSIS diff --git a/doc/man/nvme_identify_active_ns_list_csi.2 b/doc/man/nvme_identify_active_ns_list_csi.2 index 3bf9b08..8383380 100644 --- a/doc/man/nvme_identify_active_ns_list_csi.2 +++ b/doc/man/nvme_identify_active_ns_list_csi.2 @@ -1,4 +1,4 @@ -.TH "nvme_identify_active_ns_list_csi" 9 "nvme_identify_active_ns_list_csi" "August 2024" "libnvme API manual" LINUX +.TH "nvme_identify_active_ns_list_csi" 9 "nvme_identify_active_ns_list_csi" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_identify_active_ns_list_csi \- Active namespace ID list associated with a specified I/O command set .SH SYNOPSIS diff --git a/doc/man/nvme_identify_allocated_ns.2 b/doc/man/nvme_identify_allocated_ns.2 index c849f17..8367a65 100644 --- a/doc/man/nvme_identify_allocated_ns.2 +++ b/doc/man/nvme_identify_allocated_ns.2 @@ -1,4 +1,4 @@ -.TH "nvme_identify_allocated_ns" 9 "nvme_identify_allocated_ns" "August 2024" "libnvme API manual" LINUX +.TH "nvme_identify_allocated_ns" 9 "nvme_identify_allocated_ns" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_identify_allocated_ns \- Same as nvme_identify_ns, but only for allocated namespaces .SH SYNOPSIS diff --git a/doc/man/nvme_identify_allocated_ns_list.2 b/doc/man/nvme_identify_allocated_ns_list.2 index 608d245..7665218 100644 --- a/doc/man/nvme_identify_allocated_ns_list.2 +++ b/doc/man/nvme_identify_allocated_ns_list.2 @@ -1,4 +1,4 @@ -.TH "nvme_identify_allocated_ns_list" 9 "nvme_identify_allocated_ns_list" "August 2024" "libnvme API manual" LINUX +.TH "nvme_identify_allocated_ns_list" 9 "nvme_identify_allocated_ns_list" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_identify_allocated_ns_list \- Retrieves allocated namespace id list .SH SYNOPSIS diff --git a/doc/man/nvme_identify_allocated_ns_list_csi.2 b/doc/man/nvme_identify_allocated_ns_list_csi.2 index c101c4b..7c1110b 100644 --- a/doc/man/nvme_identify_allocated_ns_list_csi.2 +++ b/doc/man/nvme_identify_allocated_ns_list_csi.2 @@ -1,4 +1,4 @@ -.TH "nvme_identify_allocated_ns_list_csi" 9 "nvme_identify_allocated_ns_list_csi" "August 2024" "libnvme API manual" LINUX +.TH "nvme_identify_allocated_ns_list_csi" 9 "nvme_identify_allocated_ns_list_csi" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_identify_allocated_ns_list_csi \- Allocated namespace ID list associated with a specified I/O command set .SH SYNOPSIS diff --git a/doc/man/nvme_identify_cns.2 b/doc/man/nvme_identify_cns.2 index 89c0b34..ebf5205 100644 --- a/doc/man/nvme_identify_cns.2 +++ b/doc/man/nvme_identify_cns.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_identify_cns" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_identify_cns" "October 2024" "API Manual" LINUX .SH NAME enum nvme_identify_cns \- Identify - CNS Values .SH SYNOPSIS @@ -97,6 +97,10 @@ enum nvme_identify_cns { .br .br .BI " NVME_IDENTIFY_CNS_COMMAND_SET_STRUCTURE" +, +.br +.br +.BI " NVME_IDENTIFY_CNS_SUPPORTED_CTRL_STATE_FORMATS" }; .SH Constants @@ -161,3 +165,7 @@ I/O Command Set specific ID Namespace Data Structure for Allocated Namespace ID .IP "NVME_IDENTIFY_CNS_COMMAND_SET_STRUCTURE" 12 Base Specification 2.0a section 5.17.2.21 +.IP "NVME_IDENTIFY_CNS_SUPPORTED_CTRL_STATE_FORMATS" 12 +Supported Controller State Formats +identifying the supported NVMe Controller +State data structures diff --git a/doc/man/nvme_identify_ctrl.2 b/doc/man/nvme_identify_ctrl.2 index be8072e..da50fae 100644 --- a/doc/man/nvme_identify_ctrl.2 +++ b/doc/man/nvme_identify_ctrl.2 @@ -1,4 +1,4 @@ -.TH "nvme_identify_ctrl" 9 "nvme_identify_ctrl" "August 2024" "libnvme API manual" LINUX +.TH "nvme_identify_ctrl" 9 "nvme_identify_ctrl" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_identify_ctrl \- Retrieves nvme identify controller .SH SYNOPSIS diff --git a/doc/man/nvme_identify_ctrl_csi.2 b/doc/man/nvme_identify_ctrl_csi.2 index 5866f6e..af90f8b 100644 --- a/doc/man/nvme_identify_ctrl_csi.2 +++ b/doc/man/nvme_identify_ctrl_csi.2 @@ -1,4 +1,4 @@ -.TH "nvme_identify_ctrl_csi" 9 "nvme_identify_ctrl_csi" "August 2024" "libnvme API manual" LINUX +.TH "nvme_identify_ctrl_csi" 9 "nvme_identify_ctrl_csi" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_identify_ctrl_csi \- I/O command set specific Identify Controller data .SH SYNOPSIS diff --git a/doc/man/nvme_identify_ctrl_list.2 b/doc/man/nvme_identify_ctrl_list.2 index c5db40d..bdb650c 100644 --- a/doc/man/nvme_identify_ctrl_list.2 +++ b/doc/man/nvme_identify_ctrl_list.2 @@ -1,4 +1,4 @@ -.TH "nvme_identify_ctrl_list" 9 "nvme_identify_ctrl_list" "August 2024" "libnvme API manual" LINUX +.TH "nvme_identify_ctrl_list" 9 "nvme_identify_ctrl_list" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_identify_ctrl_list \- Retrieves identify controller list .SH SYNOPSIS diff --git a/doc/man/nvme_identify_domain_list.2 b/doc/man/nvme_identify_domain_list.2 index c545fc4..259202e 100644 --- a/doc/man/nvme_identify_domain_list.2 +++ b/doc/man/nvme_identify_domain_list.2 @@ -1,4 +1,4 @@ -.TH "nvme_identify_domain_list" 9 "nvme_identify_domain_list" "August 2024" "libnvme API manual" LINUX +.TH "nvme_identify_domain_list" 9 "nvme_identify_domain_list" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_identify_domain_list \- Domain list data .SH SYNOPSIS diff --git a/doc/man/nvme_identify_endurance_group_list.2 b/doc/man/nvme_identify_endurance_group_list.2 index d1969de..22fa5b8 100644 --- a/doc/man/nvme_identify_endurance_group_list.2 +++ b/doc/man/nvme_identify_endurance_group_list.2 @@ -1,4 +1,4 @@ -.TH "nvme_identify_endurance_group_list" 9 "nvme_identify_endurance_group_list" "August 2024" "libnvme API manual" LINUX +.TH "nvme_identify_endurance_group_list" 9 "nvme_identify_endurance_group_list" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_identify_endurance_group_list \- Endurance group list data .SH SYNOPSIS diff --git a/doc/man/nvme_identify_independent_identify_ns.2 b/doc/man/nvme_identify_independent_identify_ns.2 index 09d07c0..1722250 100644 --- a/doc/man/nvme_identify_independent_identify_ns.2 +++ b/doc/man/nvme_identify_independent_identify_ns.2 @@ -1,4 +1,4 @@ -.TH "nvme_identify_independent_identify_ns" 9 "nvme_identify_independent_identify_ns" "August 2024" "libnvme API manual" LINUX +.TH "nvme_identify_independent_identify_ns" 9 "nvme_identify_independent_identify_ns" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_identify_independent_identify_ns \- I/O command set independent Identify namespace data .SH SYNOPSIS diff --git a/doc/man/nvme_identify_iocs.2 b/doc/man/nvme_identify_iocs.2 index b91f85f..64a9424 100644 --- a/doc/man/nvme_identify_iocs.2 +++ b/doc/man/nvme_identify_iocs.2 @@ -1,4 +1,4 @@ -.TH "nvme_identify_iocs" 9 "nvme_identify_iocs" "August 2024" "libnvme API manual" LINUX +.TH "nvme_identify_iocs" 9 "nvme_identify_iocs" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_identify_iocs \- I/O command set data structure .SH SYNOPSIS diff --git a/doc/man/nvme_identify_iocs_ns_csi_user_data_format.2 b/doc/man/nvme_identify_iocs_ns_csi_user_data_format.2 index 3ad7036..0fce601 100644 --- a/doc/man/nvme_identify_iocs_ns_csi_user_data_format.2 +++ b/doc/man/nvme_identify_iocs_ns_csi_user_data_format.2 @@ -1,4 +1,4 @@ -.TH "nvme_identify_iocs_ns_csi_user_data_format" 9 "nvme_identify_iocs_ns_csi_user_data_format" "August 2024" "libnvme API manual" LINUX +.TH "nvme_identify_iocs_ns_csi_user_data_format" 9 "nvme_identify_iocs_ns_csi_user_data_format" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_identify_iocs_ns_csi_user_data_format \- Identify I/O command set namespace data structure .SH SYNOPSIS diff --git a/doc/man/nvme_identify_ns.2 b/doc/man/nvme_identify_ns.2 index 8feba58..b195bf3 100644 --- a/doc/man/nvme_identify_ns.2 +++ b/doc/man/nvme_identify_ns.2 @@ -1,4 +1,4 @@ -.TH "nvme_identify_ns" 9 "nvme_identify_ns" "August 2024" "libnvme API manual" LINUX +.TH "nvme_identify_ns" 9 "nvme_identify_ns" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_identify_ns \- Retrieves nvme identify namespace .SH SYNOPSIS diff --git a/doc/man/nvme_identify_ns_csi.2 b/doc/man/nvme_identify_ns_csi.2 index 48bc8f7..44e6382 100644 --- a/doc/man/nvme_identify_ns_csi.2 +++ b/doc/man/nvme_identify_ns_csi.2 @@ -1,4 +1,4 @@ -.TH "nvme_identify_ns_csi" 9 "nvme_identify_ns_csi" "August 2024" "libnvme API manual" LINUX +.TH "nvme_identify_ns_csi" 9 "nvme_identify_ns_csi" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_identify_ns_csi \- I/O command set specific identify namespace data .SH SYNOPSIS diff --git a/doc/man/nvme_identify_ns_csi_user_data_format.2 b/doc/man/nvme_identify_ns_csi_user_data_format.2 index a511e2f..666b99a 100644 --- a/doc/man/nvme_identify_ns_csi_user_data_format.2 +++ b/doc/man/nvme_identify_ns_csi_user_data_format.2 @@ -1,4 +1,4 @@ -.TH "nvme_identify_ns_csi_user_data_format" 9 "nvme_identify_ns_csi_user_data_format" "August 2024" "libnvme API manual" LINUX +.TH "nvme_identify_ns_csi_user_data_format" 9 "nvme_identify_ns_csi_user_data_format" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_identify_ns_csi_user_data_format \- Identify namespace user data format .SH SYNOPSIS diff --git a/doc/man/nvme_identify_ns_descs.2 b/doc/man/nvme_identify_ns_descs.2 index 1e9c6f7..a305c23 100644 --- a/doc/man/nvme_identify_ns_descs.2 +++ b/doc/man/nvme_identify_ns_descs.2 @@ -1,4 +1,4 @@ -.TH "nvme_identify_ns_descs" 9 "nvme_identify_ns_descs" "August 2024" "libnvme API manual" LINUX +.TH "nvme_identify_ns_descs" 9 "nvme_identify_ns_descs" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_identify_ns_descs \- Retrieves namespace descriptor list .SH SYNOPSIS diff --git a/doc/man/nvme_identify_ns_granularity.2 b/doc/man/nvme_identify_ns_granularity.2 index dd3d913..222a8bc 100644 --- a/doc/man/nvme_identify_ns_granularity.2 +++ b/doc/man/nvme_identify_ns_granularity.2 @@ -1,4 +1,4 @@ -.TH "nvme_identify_ns_granularity" 9 "nvme_identify_ns_granularity" "August 2024" "libnvme API manual" LINUX +.TH "nvme_identify_ns_granularity" 9 "nvme_identify_ns_granularity" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_identify_ns_granularity \- Retrieves namespace granularity identification .SH SYNOPSIS diff --git a/doc/man/nvme_identify_nsid_ctrl_list.2 b/doc/man/nvme_identify_nsid_ctrl_list.2 index 4c766c9..bd82a59 100644 --- a/doc/man/nvme_identify_nsid_ctrl_list.2 +++ b/doc/man/nvme_identify_nsid_ctrl_list.2 @@ -1,4 +1,4 @@ -.TH "nvme_identify_nsid_ctrl_list" 9 "nvme_identify_nsid_ctrl_list" "August 2024" "libnvme API manual" LINUX +.TH "nvme_identify_nsid_ctrl_list" 9 "nvme_identify_nsid_ctrl_list" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_identify_nsid_ctrl_list \- Retrieves controller list attached to an nsid .SH SYNOPSIS diff --git a/doc/man/nvme_identify_nvmset_list.2 b/doc/man/nvme_identify_nvmset_list.2 index 50c1886..892c5fe 100644 --- a/doc/man/nvme_identify_nvmset_list.2 +++ b/doc/man/nvme_identify_nvmset_list.2 @@ -1,4 +1,4 @@ -.TH "nvme_identify_nvmset_list" 9 "nvme_identify_nvmset_list" "August 2024" "libnvme API manual" LINUX +.TH "nvme_identify_nvmset_list" 9 "nvme_identify_nvmset_list" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_identify_nvmset_list \- Retrieves NVM Set List .SH SYNOPSIS diff --git a/doc/man/nvme_identify_primary_ctrl.2 b/doc/man/nvme_identify_primary_ctrl.2 index 6ce5585..6400010 100644 --- a/doc/man/nvme_identify_primary_ctrl.2 +++ b/doc/man/nvme_identify_primary_ctrl.2 @@ -1,4 +1,4 @@ -.TH "nvme_identify_primary_ctrl" 9 "nvme_identify_primary_ctrl" "August 2024" "libnvme API manual" LINUX +.TH "nvme_identify_primary_ctrl" 9 "nvme_identify_primary_ctrl" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_identify_primary_ctrl \- Retrieve NVMe Primary Controller identification .SH SYNOPSIS diff --git a/doc/man/nvme_identify_secondary_ctrl_list.2 b/doc/man/nvme_identify_secondary_ctrl_list.2 index 784df58..f0cb0b5 100644 --- a/doc/man/nvme_identify_secondary_ctrl_list.2 +++ b/doc/man/nvme_identify_secondary_ctrl_list.2 @@ -1,4 +1,4 @@ -.TH "nvme_identify_secondary_ctrl_list" 9 "nvme_identify_secondary_ctrl_list" "August 2024" "libnvme API manual" LINUX +.TH "nvme_identify_secondary_ctrl_list" 9 "nvme_identify_secondary_ctrl_list" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_identify_secondary_ctrl_list \- Retrieves secondary controller list .SH SYNOPSIS diff --git a/doc/man/nvme_identify_uuid.2 b/doc/man/nvme_identify_uuid.2 index d95629c..34744f2 100644 --- a/doc/man/nvme_identify_uuid.2 +++ b/doc/man/nvme_identify_uuid.2 @@ -1,4 +1,4 @@ -.TH "nvme_identify_uuid" 9 "nvme_identify_uuid" "August 2024" "libnvme API manual" LINUX +.TH "nvme_identify_uuid" 9 "nvme_identify_uuid" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_identify_uuid \- Retrieves device's UUIDs .SH SYNOPSIS diff --git a/doc/man/nvme_import_tls_key.2 b/doc/man/nvme_import_tls_key.2 index 0c548fd..2fb16a1 100644 --- a/doc/man/nvme_import_tls_key.2 +++ b/doc/man/nvme_import_tls_key.2 @@ -1,4 +1,4 @@ -.TH "nvme_import_tls_key" 9 "nvme_import_tls_key" "August 2024" "libnvme API manual" LINUX +.TH "nvme_import_tls_key" 9 "nvme_import_tls_key" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_import_tls_key \- Import a TLS key .SH SYNOPSIS diff --git a/doc/man/nvme_import_tls_key_versioned.2 b/doc/man/nvme_import_tls_key_versioned.2 new file mode 100644 index 0000000..080c17c --- /dev/null +++ b/doc/man/nvme_import_tls_key_versioned.2 @@ -0,0 +1,25 @@ +.TH "nvme_import_tls_key_versioned" 9 "nvme_import_tls_key_versioned" "October 2024" "libnvme API manual" LINUX +.SH NAME +nvme_import_tls_key_versioned \- Import a TLS key +.SH SYNOPSIS +.B "unsigned char *" nvme_import_tls_key_versioned +.BI "(const char *encoded_key " "," +.BI "unsigned char *version " "," +.BI "unsigned char *hmac " "," +.BI "size_t *key_len " ");" +.SH ARGUMENTS +.IP "encoded_key" 12 +TLS key in PSK interchange format +.IP "version" 12 +Indicated the representation of the TLS PSK +.IP "hmac" 12 +HMAC algorithm used to transfor the configured +PSK in a retained PSK +.IP "key_len" 12 +Length of the resulting key data +.SH "DESCRIPTION" +Imports \fIkey_data\fP in the PSK Interchange format as defined in section +3.6.1.5 of the NVMe TCP Transport specification. +.SH "RETURN" +The raw data of the PSK or NULL with errno set on error. It is +the responsibility of the caller to free the returned string. diff --git a/doc/man/nvme_init_copy_range.2 b/doc/man/nvme_init_copy_range.2 index 5bdc130..be2fba2 100644 --- a/doc/man/nvme_init_copy_range.2 +++ b/doc/man/nvme_init_copy_range.2 @@ -1,4 +1,4 @@ -.TH "nvme_init_copy_range" 9 "nvme_init_copy_range" "August 2024" "libnvme API manual" LINUX +.TH "nvme_init_copy_range" 9 "nvme_init_copy_range" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_init_copy_range \- Constructs a copy range structure .SH SYNOPSIS diff --git a/doc/man/nvme_init_copy_range_f1.2 b/doc/man/nvme_init_copy_range_f1.2 index 70f75b3..56f7e3c 100644 --- a/doc/man/nvme_init_copy_range_f1.2 +++ b/doc/man/nvme_init_copy_range_f1.2 @@ -1,4 +1,4 @@ -.TH "nvme_init_copy_range_f1" 9 "nvme_init_copy_range_f1" "August 2024" "libnvme API manual" LINUX +.TH "nvme_init_copy_range_f1" 9 "nvme_init_copy_range_f1" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_init_copy_range_f1 \- Constructs a copy range f1 structure .SH SYNOPSIS diff --git a/doc/man/nvme_init_copy_range_f2.2 b/doc/man/nvme_init_copy_range_f2.2 index e404eab..190ee9f 100644 --- a/doc/man/nvme_init_copy_range_f2.2 +++ b/doc/man/nvme_init_copy_range_f2.2 @@ -1,4 +1,4 @@ -.TH "nvme_init_copy_range_f2" 9 "nvme_init_copy_range_f2" "August 2024" "libnvme API manual" LINUX +.TH "nvme_init_copy_range_f2" 9 "nvme_init_copy_range_f2" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_init_copy_range_f2 \- Constructs a copy range f2 structure .SH SYNOPSIS diff --git a/doc/man/nvme_init_copy_range_f3.2 b/doc/man/nvme_init_copy_range_f3.2 index 2f1f819..94dbaf1 100644 --- a/doc/man/nvme_init_copy_range_f3.2 +++ b/doc/man/nvme_init_copy_range_f3.2 @@ -1,4 +1,4 @@ -.TH "nvme_init_copy_range_f3" 9 "nvme_init_copy_range_f3" "August 2024" "libnvme API manual" LINUX +.TH "nvme_init_copy_range_f3" 9 "nvme_init_copy_range_f3" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_init_copy_range_f3 \- Constructs a copy range f3 structure .SH SYNOPSIS diff --git a/doc/man/nvme_init_ctrl.2 b/doc/man/nvme_init_ctrl.2 index b372651..59cf5ad 100644 --- a/doc/man/nvme_init_ctrl.2 +++ b/doc/man/nvme_init_ctrl.2 @@ -1,4 +1,4 @@ -.TH "nvme_init_ctrl" 9 "nvme_init_ctrl" "August 2024" "libnvme API manual" LINUX +.TH "nvme_init_ctrl" 9 "nvme_init_ctrl" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_init_ctrl \- Initialize nvme_ctrl_t object for an existing controller. .SH SYNOPSIS diff --git a/doc/man/nvme_init_ctrl_list.2 b/doc/man/nvme_init_ctrl_list.2 index be973d2..6fbc50e 100644 --- a/doc/man/nvme_init_ctrl_list.2 +++ b/doc/man/nvme_init_ctrl_list.2 @@ -1,4 +1,4 @@ -.TH "nvme_init_ctrl_list" 9 "nvme_init_ctrl_list" "August 2024" "libnvme API manual" LINUX +.TH "nvme_init_ctrl_list" 9 "nvme_init_ctrl_list" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_init_ctrl_list \- Initialize an nvme_ctrl_list structure from an array. .SH SYNOPSIS diff --git a/doc/man/nvme_init_default_logging.2 b/doc/man/nvme_init_default_logging.2 index 5d20b57..c6c7b06 100644 --- a/doc/man/nvme_init_default_logging.2 +++ b/doc/man/nvme_init_default_logging.2 @@ -1,4 +1,4 @@ -.TH "nvme_init_default_logging" 9 "nvme_init_default_logging" "August 2024" "libnvme API manual" LINUX +.TH "nvme_init_default_logging" 9 "nvme_init_default_logging" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_init_default_logging \- Initialize default (fallback) logging .SH SYNOPSIS diff --git a/doc/man/nvme_init_dsm_range.2 b/doc/man/nvme_init_dsm_range.2 index 2e0a052..f780c7e 100644 --- a/doc/man/nvme_init_dsm_range.2 +++ b/doc/man/nvme_init_dsm_range.2 @@ -1,4 +1,4 @@ -.TH "nvme_init_dsm_range" 9 "nvme_init_dsm_range" "August 2024" "libnvme API manual" LINUX +.TH "nvme_init_dsm_range" 9 "nvme_init_dsm_range" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_init_dsm_range \- Constructs a data set range structure .SH SYNOPSIS diff --git a/doc/man/nvme_init_logging.2 b/doc/man/nvme_init_logging.2 index 0022338..46d420d 100644 --- a/doc/man/nvme_init_logging.2 +++ b/doc/man/nvme_init_logging.2 @@ -1,4 +1,4 @@ -.TH "nvme_init_logging" 9 "nvme_init_logging" "August 2024" "libnvme API manual" LINUX +.TH "nvme_init_logging" 9 "nvme_init_logging" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_init_logging \- Initialize logging .SH SYNOPSIS diff --git a/doc/man/nvme_insert_tls_key.2 b/doc/man/nvme_insert_tls_key.2 index 6171bf3..bb62ef4 100644 --- a/doc/man/nvme_insert_tls_key.2 +++ b/doc/man/nvme_insert_tls_key.2 @@ -1,4 +1,4 @@ -.TH "nvme_insert_tls_key" 9 "nvme_insert_tls_key" "August 2024" "libnvme API manual" LINUX +.TH "nvme_insert_tls_key" 9 "nvme_insert_tls_key" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_insert_tls_key \- Derive and insert TLS key .SH SYNOPSIS diff --git a/doc/man/nvme_insert_tls_key_versioned.2 b/doc/man/nvme_insert_tls_key_versioned.2 index 5d486a6..bf48cbe 100644 --- a/doc/man/nvme_insert_tls_key_versioned.2 +++ b/doc/man/nvme_insert_tls_key_versioned.2 @@ -1,4 +1,4 @@ -.TH "nvme_insert_tls_key_versioned" 9 "nvme_insert_tls_key_versioned" "August 2024" "libnvme API manual" LINUX +.TH "nvme_insert_tls_key_versioned" 9 "nvme_insert_tls_key_versioned" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_insert_tls_key_versioned \- Derive and insert TLS key .SH SYNOPSIS diff --git a/doc/man/nvme_io.2 b/doc/man/nvme_io.2 index 35d79d6..4ac72ce 100644 --- a/doc/man/nvme_io.2 +++ b/doc/man/nvme_io.2 @@ -1,4 +1,4 @@ -.TH "nvme_io" 9 "nvme_io" "August 2024" "libnvme API manual" LINUX +.TH "nvme_io" 9 "nvme_io" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_io \- Submit an nvme user I/O command .SH SYNOPSIS diff --git a/doc/man/nvme_io_control_flags.2 b/doc/man/nvme_io_control_flags.2 index f734187..351ff9b 100644 --- a/doc/man/nvme_io_control_flags.2 +++ b/doc/man/nvme_io_control_flags.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_io_control_flags" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_io_control_flags" "October 2024" "API Manual" LINUX .SH NAME enum nvme_io_control_flags \- I/O control flags .SH SYNOPSIS diff --git a/doc/man/nvme_io_dsm_flags.2 b/doc/man/nvme_io_dsm_flags.2 index 8e751ff..6198e83 100644 --- a/doc/man/nvme_io_dsm_flags.2 +++ b/doc/man/nvme_io_dsm_flags.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_io_dsm_flags" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_io_dsm_flags" "October 2024" "API Manual" LINUX .SH NAME enum nvme_io_dsm_flags \- Dataset Management flags .SH SYNOPSIS diff --git a/doc/man/nvme_io_mgmt_recv.2 b/doc/man/nvme_io_mgmt_recv.2 index 7ff00f4..e00efcb 100644 --- a/doc/man/nvme_io_mgmt_recv.2 +++ b/doc/man/nvme_io_mgmt_recv.2 @@ -1,4 +1,4 @@ -.TH "nvme_io_mgmt_recv" 9 "nvme_io_mgmt_recv" "August 2024" "libnvme API manual" LINUX +.TH "nvme_io_mgmt_recv" 9 "nvme_io_mgmt_recv" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_io_mgmt_recv \- I/O Management Receive command .SH SYNOPSIS diff --git a/doc/man/nvme_io_mgmt_recv_mo.2 b/doc/man/nvme_io_mgmt_recv_mo.2 index 08f2358..5e63db9 100644 --- a/doc/man/nvme_io_mgmt_recv_mo.2 +++ b/doc/man/nvme_io_mgmt_recv_mo.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_io_mgmt_recv_mo" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_io_mgmt_recv_mo" "October 2024" "API Manual" LINUX .SH NAME enum nvme_io_mgmt_recv_mo \- I/O Management Receive - Management Operation .SH SYNOPSIS diff --git a/doc/man/nvme_io_mgmt_send.2 b/doc/man/nvme_io_mgmt_send.2 index 39e4ecc..c208da5 100644 --- a/doc/man/nvme_io_mgmt_send.2 +++ b/doc/man/nvme_io_mgmt_send.2 @@ -1,4 +1,4 @@ -.TH "nvme_io_mgmt_send" 9 "nvme_io_mgmt_send" "August 2024" "libnvme API manual" LINUX +.TH "nvme_io_mgmt_send" 9 "nvme_io_mgmt_send" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_io_mgmt_send \- I/O Management Send command .SH SYNOPSIS diff --git a/doc/man/nvme_io_mgmt_send_mo.2 b/doc/man/nvme_io_mgmt_send_mo.2 index 3a59bc4..991d95d 100644 --- a/doc/man/nvme_io_mgmt_send_mo.2 +++ b/doc/man/nvme_io_mgmt_send_mo.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_io_mgmt_send_mo" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_io_mgmt_send_mo" "October 2024" "API Manual" LINUX .SH NAME enum nvme_io_mgmt_send_mo \- I/O Management Send - Management Operation .SH SYNOPSIS diff --git a/doc/man/nvme_io_opcode.2 b/doc/man/nvme_io_opcode.2 index 7813077..ac2ba36 100644 --- a/doc/man/nvme_io_opcode.2 +++ b/doc/man/nvme_io_opcode.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_io_opcode" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_io_opcode" "October 2024" "API Manual" LINUX .SH NAME enum nvme_io_opcode \- Opcodes for I/O Commands .SH SYNOPSIS diff --git a/doc/man/nvme_io_passthru.2 b/doc/man/nvme_io_passthru.2 index 41efe60..f75a69d 100644 --- a/doc/man/nvme_io_passthru.2 +++ b/doc/man/nvme_io_passthru.2 @@ -1,4 +1,4 @@ -.TH "nvme_io_passthru" 9 "nvme_io_passthru" "August 2024" "libnvme API manual" LINUX +.TH "nvme_io_passthru" 9 "nvme_io_passthru" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_io_passthru \- Submit an nvme io passthrough command .SH SYNOPSIS diff --git a/doc/man/nvme_io_passthru64.2 b/doc/man/nvme_io_passthru64.2 index 13b2fa0..99e15c7 100644 --- a/doc/man/nvme_io_passthru64.2 +++ b/doc/man/nvme_io_passthru64.2 @@ -1,4 +1,4 @@ -.TH "nvme_io_passthru64" 9 "nvme_io_passthru64" "August 2024" "libnvme API manual" LINUX +.TH "nvme_io_passthru64" 9 "nvme_io_passthru64" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_io_passthru64 \- Submit an nvme io passthrough command .SH SYNOPSIS diff --git a/doc/man/nvme_is_64bit_reg.2 b/doc/man/nvme_is_64bit_reg.2 index f11f012..e36bbb7 100644 --- a/doc/man/nvme_is_64bit_reg.2 +++ b/doc/man/nvme_is_64bit_reg.2 @@ -1,4 +1,4 @@ -.TH "nvme_is_64bit_reg" 9 "nvme_is_64bit_reg" "August 2024" "libnvme API manual" LINUX +.TH "nvme_is_64bit_reg" 9 "nvme_is_64bit_reg" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_is_64bit_reg \- Checks if offset of the controller register is a know 64bit value. .SH SYNOPSIS diff --git a/doc/man/nvme_kv_opcode.2 b/doc/man/nvme_kv_opcode.2 new file mode 100644 index 0000000..4ad07d2 --- /dev/null +++ b/doc/man/nvme_kv_opcode.2 @@ -0,0 +1,66 @@ +.TH "libnvme" 9 "enum nvme_kv_opcode" "October 2024" "API Manual" LINUX +.SH NAME +enum nvme_kv_opcode \- Opcodes for KV Commands +.SH SYNOPSIS +enum nvme_kv_opcode { +.br +.BI " nvme_kv_cmd_flush" +, +.br +.br +.BI " nvme_kv_cmd_store" +, +.br +.br +.BI " nvme_kv_cmd_retrieve" +, +.br +.br +.BI " nvme_kv_cmd_list" +, +.br +.br +.BI " nvme_kv_cmd_resv_register" +, +.br +.br +.BI " nvme_kv_cmd_resv_report" +, +.br +.br +.BI " nvme_kv_cmd_delete" +, +.br +.br +.BI " nvme_kv_cmd_resv_acquire" +, +.br +.br +.BI " nvme_kv_cmd_exist" +, +.br +.br +.BI " nvme_kv_cmd_resv_release" + +}; +.SH Constants +.IP "nvme_kv_cmd_flush" 12 +Flush +.IP "nvme_kv_cmd_store" 12 +Store +.IP "nvme_kv_cmd_retrieve" 12 +Retrieve +.IP "nvme_kv_cmd_list" 12 +List +.IP "nvme_kv_cmd_resv_register" 12 +Reservation Register +.IP "nvme_kv_cmd_resv_report" 12 +Reservation Report +.IP "nvme_kv_cmd_delete" 12 +Delete +.IP "nvme_kv_cmd_resv_acquire" 12 +Reservation Acquire +.IP "nvme_kv_cmd_exist" 12 +Exist +.IP "nvme_kv_cmd_resv_release" 12 +Reservation Release diff --git a/doc/man/nvme_lba_range_type.2 b/doc/man/nvme_lba_range_type.2 index a50b34f..e5ab06c 100644 --- a/doc/man/nvme_lba_range_type.2 +++ b/doc/man/nvme_lba_range_type.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_lba_range_type" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_lba_range_type" "October 2024" "API Manual" LINUX .SH NAME struct nvme_lba_range_type \- LBA Range Type .SH SYNOPSIS diff --git a/doc/man/nvme_lba_range_type_entry.2 b/doc/man/nvme_lba_range_type_entry.2 index 586d88c..925cacd 100644 --- a/doc/man/nvme_lba_range_type_entry.2 +++ b/doc/man/nvme_lba_range_type_entry.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_lba_range_type_entry" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_lba_range_type_entry" "October 2024" "API Manual" LINUX .SH NAME struct nvme_lba_range_type_entry \- LBA Range Type - Data Structure Entry .SH SYNOPSIS diff --git a/doc/man/nvme_lba_rd.2 b/doc/man/nvme_lba_rd.2 index 6adbcbc..4833bf3 100644 --- a/doc/man/nvme_lba_rd.2 +++ b/doc/man/nvme_lba_rd.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_lba_rd" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_lba_rd" "October 2024" "API Manual" LINUX .SH NAME struct nvme_lba_rd \- LBA Range Descriptor .SH SYNOPSIS diff --git a/doc/man/nvme_lba_status.2 b/doc/man/nvme_lba_status.2 index 7e3375b..a5cfecd 100644 --- a/doc/man/nvme_lba_status.2 +++ b/doc/man/nvme_lba_status.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_lba_status" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_lba_status" "October 2024" "API Manual" LINUX .SH NAME struct nvme_lba_status \- LBA Status Descriptor List .SH SYNOPSIS diff --git a/doc/man/nvme_lba_status_atype.2 b/doc/man/nvme_lba_status_atype.2 index 40139ba..ed55991 100644 --- a/doc/man/nvme_lba_status_atype.2 +++ b/doc/man/nvme_lba_status_atype.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_lba_status_atype" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_lba_status_atype" "October 2024" "API Manual" LINUX .SH NAME enum nvme_lba_status_atype \- Action type the controller uses to return LBA status .SH SYNOPSIS diff --git a/doc/man/nvme_lba_status_cmpc.2 b/doc/man/nvme_lba_status_cmpc.2 new file mode 100644 index 0000000..868a44e --- /dev/null +++ b/doc/man/nvme_lba_status_cmpc.2 @@ -0,0 +1,28 @@ +.TH "libnvme" 9 "enum nvme_lba_status_cmpc" "October 2024" "API Manual" LINUX +.SH NAME +enum nvme_lba_status_cmpc \- Get LBA Status Command Completion Condition +.SH SYNOPSIS +enum nvme_lba_status_cmpc { +.br +.BI " NVME_LBA_STATUS_CMPC_NO_CMPC" +, +.br +.br +.BI " NVME_LBA_STATUS_CMPC_INCOMPLETE" +, +.br +.br +.BI " NVME_LBA_STATUS_CMPC_COMPLETE" + +}; +.SH Constants +.IP "NVME_LBA_STATUS_CMPC_NO_CMPC" 12 +No indication of the completion condition +.IP "NVME_LBA_STATUS_CMPC_INCOMPLETE" 12 +Command completed, but additional LBA Status +Descriptor Entries are available to transfer +or scan did not complete (if ATYPE = 10h) +.IP "NVME_LBA_STATUS_CMPC_COMPLETE" 12 +Completed the specified action over the number +of LBAs specified in the Range Length field and +transferred all available LBA Status Descriptors diff --git a/doc/man/nvme_lba_status_desc.2 b/doc/man/nvme_lba_status_desc.2 index a8adec0..0afbbaf 100644 --- a/doc/man/nvme_lba_status_desc.2 +++ b/doc/man/nvme_lba_status_desc.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_lba_status_desc" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_lba_status_desc" "October 2024" "API Manual" LINUX .SH NAME struct nvme_lba_status_desc \- LBA Status Descriptor Entry .SH SYNOPSIS diff --git a/doc/man/nvme_lba_status_log.2 b/doc/man/nvme_lba_status_log.2 index 50ac600..82ba440 100644 --- a/doc/man/nvme_lba_status_log.2 +++ b/doc/man/nvme_lba_status_log.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_lba_status_log" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_lba_status_log" "October 2024" "API Manual" LINUX .SH NAME struct nvme_lba_status_log \- LBA Status Information Log .SH SYNOPSIS diff --git a/doc/man/nvme_lbaf.2 b/doc/man/nvme_lbaf.2 index b232c08..34e9e16 100644 --- a/doc/man/nvme_lbaf.2 +++ b/doc/man/nvme_lbaf.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_lbaf" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_lbaf" "October 2024" "API Manual" LINUX .SH NAME struct nvme_lbaf \- LBA Format Data Structure .SH SYNOPSIS diff --git a/doc/man/nvme_lbaf_rp.2 b/doc/man/nvme_lbaf_rp.2 index d720610..83c6e4e 100644 --- a/doc/man/nvme_lbaf_rp.2 +++ b/doc/man/nvme_lbaf_rp.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_lbaf_rp" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_lbaf_rp" "October 2024" "API Manual" LINUX .SH NAME enum nvme_lbaf_rp \- This field indicates the relative performance of the LBA format indicated relative to other LBA formats supported by the controller. .SH SYNOPSIS diff --git a/doc/man/nvme_lbart.2 b/doc/man/nvme_lbart.2 index 20f3f56..d9db7ab 100644 --- a/doc/man/nvme_lbart.2 +++ b/doc/man/nvme_lbart.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_lbart" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_lbart" "October 2024" "API Manual" LINUX .SH NAME enum nvme_lbart \- LBA Range Type - Data Structure Entry .SH SYNOPSIS diff --git a/doc/man/nvme_lbas_ns_element.2 b/doc/man/nvme_lbas_ns_element.2 index a94f8cf..4e929b7 100644 --- a/doc/man/nvme_lbas_ns_element.2 +++ b/doc/man/nvme_lbas_ns_element.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_lbas_ns_element" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_lbas_ns_element" "October 2024" "API Manual" LINUX .SH NAME struct nvme_lbas_ns_element \- LBA Status Log Namespace Element .SH SYNOPSIS diff --git a/doc/man/nvme_lockdown.2 b/doc/man/nvme_lockdown.2 index d600d99..457bfa1 100644 --- a/doc/man/nvme_lockdown.2 +++ b/doc/man/nvme_lockdown.2 @@ -1,4 +1,4 @@ -.TH "nvme_lockdown" 9 "nvme_lockdown" "August 2024" "libnvme API manual" LINUX +.TH "nvme_lockdown" 9 "nvme_lockdown" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_lockdown \- Issue lockdown command .SH SYNOPSIS diff --git a/doc/man/nvme_lockdown_log.2 b/doc/man/nvme_lockdown_log.2 new file mode 100644 index 0000000..6867a82 --- /dev/null +++ b/doc/man/nvme_lockdown_log.2 @@ -0,0 +1,27 @@ +.TH "libnvme" 9 "struct nvme_lockdown_log" "October 2024" "API Manual" LINUX +.SH NAME +struct nvme_lockdown_log \- Command and Feature Lockdown Log +.SH SYNOPSIS +struct nvme_lockdown_log { +.br +.BI " __u8 cfila;" +.br +.BI " __u8 rsvd1[2];" +.br +.BI " __u8 lngth;" +.br +.BI " __u8 cfil[508];" +.br +.BI " +}; +.br + +.SH Members +.IP "cfila" 12 +Contents of the Command and Feature Identifier List field in the log page. +.IP "rsvd1" 12 +Reserved +.IP "lngth" 12 +Length of Command and Feature Identifier List field +.IP "cfil" 12 +Command and Feature Identifier List diff --git a/doc/man/nvme_lockdown_log_contents.2 b/doc/man/nvme_lockdown_log_contents.2 new file mode 100644 index 0000000..db6f5da --- /dev/null +++ b/doc/man/nvme_lockdown_log_contents.2 @@ -0,0 +1,24 @@ +.TH "libnvme" 9 "enum nvme_lockdown_log_contents" "October 2024" "API Manual" LINUX +.SH NAME +enum nvme_lockdown_log_contents \- lockdown log page content attributes +.SH SYNOPSIS +enum nvme_lockdown_log_contents { +.br +.BI " NVME_LOCKDOWN_SUPPORTED_CMD" +, +.br +.br +.BI " NVME_LOCKDOWN_PROHIBITED_CMD" +, +.br +.br +.BI " NVME_LOCKDOWN_PROHIBITED_OUTOFBAND_CMD" + +}; +.SH Constants +.IP "NVME_LOCKDOWN_SUPPORTED_CMD" 12 +Content value for Supported commands +.IP "NVME_LOCKDOWN_PROHIBITED_CMD" 12 +Content value for prohibited commands +.IP "NVME_LOCKDOWN_PROHIBITED_OUTOFBAND_CMD" 12 +Content value for prohibited side band commands diff --git a/doc/man/nvme_lockdown_log_scope.2 b/doc/man/nvme_lockdown_log_scope.2 new file mode 100644 index 0000000..1ffeaed --- /dev/null +++ b/doc/man/nvme_lockdown_log_scope.2 @@ -0,0 +1,30 @@ +.TH "libnvme" 9 "enum nvme_lockdown_log_scope" "October 2024" "API Manual" LINUX +.SH NAME +enum nvme_lockdown_log_scope \- lockdown log page scope attributes +.SH SYNOPSIS +enum nvme_lockdown_log_scope { +.br +.BI " NVME_LOCKDOWN_ADMIN_CMD" +, +.br +.br +.BI " NVME_LOCKDOWN_FEATURE_ID" +, +.br +.br +.BI " NVME_LOCKDOWN_MI_CMD_SET" +, +.br +.br +.BI " NVME_LOCKDOWN_PCI_CMD_SET" + +}; +.SH Constants +.IP "NVME_LOCKDOWN_ADMIN_CMD" 12 +Scope value for Admin commandS +.IP "NVME_LOCKDOWN_FEATURE_ID" 12 +Scope value for Feature ID +.IP "NVME_LOCKDOWN_MI_CMD_SET" 12 +Scope value for Management Interface commands +.IP "NVME_LOCKDOWN_PCI_CMD_SET" 12 +Scope value for PCI commands diff --git a/doc/man/nvme_lockdown_scope_contents.2 b/doc/man/nvme_lockdown_scope_contents.2 new file mode 100644 index 0000000..c6a32e4 --- /dev/null +++ b/doc/man/nvme_lockdown_scope_contents.2 @@ -0,0 +1,30 @@ +.TH "libnvme" 9 "enum nvme_lockdown_scope_contents" "October 2024" "API Manual" LINUX +.SH NAME +enum nvme_lockdown_scope_contents \- Lockdown Log shift and mask +.SH SYNOPSIS +enum nvme_lockdown_scope_contents { +.br +.BI " NVME_LOCKDOWN_SS_SHIFT" +, +.br +.br +.BI " NVME_LOCKDOWN_SS_MASK" +, +.br +.br +.BI " NVME_LOCKDOWN_CS_SHIFT" +, +.br +.br +.BI " NVME_LOCKDOWN_CS_MASK" + +}; +.SH Constants +.IP "NVME_LOCKDOWN_SS_SHIFT" 12 +Lockdown log scope select Shift +.IP "NVME_LOCKDOWN_SS_MASK" 12 +Lockdown log scope select Mask +.IP "NVME_LOCKDOWN_CS_SHIFT" 12 +Lockdown log contents Shift +.IP "NVME_LOCKDOWN_CS_MASK" 12 +Lockdown log contents Mask diff --git a/doc/man/nvme_log_ana_lsp.2 b/doc/man/nvme_log_ana_lsp.2 index 5f53e86..b1eea78 100644 --- a/doc/man/nvme_log_ana_lsp.2 +++ b/doc/man/nvme_log_ana_lsp.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_log_ana_lsp" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_log_ana_lsp" "October 2024" "API Manual" LINUX .SH NAME enum nvme_log_ana_lsp \- Asymmetric Namespace Access - Return Groups Only .SH SYNOPSIS diff --git a/doc/man/nvme_log_phy_rx_eom_action.2 b/doc/man/nvme_log_phy_rx_eom_action.2 index 61515c0..85fc087 100644 --- a/doc/man/nvme_log_phy_rx_eom_action.2 +++ b/doc/man/nvme_log_phy_rx_eom_action.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_log_phy_rx_eom_action" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_log_phy_rx_eom_action" "October 2024" "API Manual" LINUX .SH NAME enum nvme_log_phy_rx_eom_action \- Physical Interface Receiver Eye Opening Measurement Action .SH SYNOPSIS diff --git a/doc/man/nvme_log_phy_rx_eom_quality.2 b/doc/man/nvme_log_phy_rx_eom_quality.2 index ab05c9a..adc8604 100644 --- a/doc/man/nvme_log_phy_rx_eom_quality.2 +++ b/doc/man/nvme_log_phy_rx_eom_quality.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_log_phy_rx_eom_quality" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_log_phy_rx_eom_quality" "October 2024" "API Manual" LINUX .SH NAME enum nvme_log_phy_rx_eom_quality \- Physical Interface Receiver Eye Opening Measurement Quality .SH SYNOPSIS diff --git a/doc/man/nvme_lookup_ctrl.2 b/doc/man/nvme_lookup_ctrl.2 index d513766..5211147 100644 --- a/doc/man/nvme_lookup_ctrl.2 +++ b/doc/man/nvme_lookup_ctrl.2 @@ -1,4 +1,4 @@ -.TH "nvme_lookup_ctrl" 9 "nvme_lookup_ctrl" "August 2024" "libnvme API manual" LINUX +.TH "nvme_lookup_ctrl" 9 "nvme_lookup_ctrl" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_lookup_ctrl \- Lookup nvme_ctrl_t object .SH SYNOPSIS diff --git a/doc/man/nvme_lookup_host.2 b/doc/man/nvme_lookup_host.2 index 3497cac..57d4b37 100644 --- a/doc/man/nvme_lookup_host.2 +++ b/doc/man/nvme_lookup_host.2 @@ -1,4 +1,4 @@ -.TH "nvme_lookup_host" 9 "nvme_lookup_host" "August 2024" "libnvme API manual" LINUX +.TH "nvme_lookup_host" 9 "nvme_lookup_host" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_lookup_host \- Lookup nvme_host_t object .SH SYNOPSIS diff --git a/doc/man/nvme_lookup_key.2 b/doc/man/nvme_lookup_key.2 index a44f49a..a7b8aee 100644 --- a/doc/man/nvme_lookup_key.2 +++ b/doc/man/nvme_lookup_key.2 @@ -1,4 +1,4 @@ -.TH "nvme_lookup_key" 9 "nvme_lookup_key" "August 2024" "libnvme API manual" LINUX +.TH "nvme_lookup_key" 9 "nvme_lookup_key" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_lookup_key \- Lookup key serial number .SH SYNOPSIS diff --git a/doc/man/nvme_lookup_keyring.2 b/doc/man/nvme_lookup_keyring.2 index 1a366f9..f0cc41e 100644 --- a/doc/man/nvme_lookup_keyring.2 +++ b/doc/man/nvme_lookup_keyring.2 @@ -1,4 +1,4 @@ -.TH "nvme_lookup_keyring" 9 "nvme_lookup_keyring" "August 2024" "libnvme API manual" LINUX +.TH "nvme_lookup_keyring" 9 "nvme_lookup_keyring" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_lookup_keyring \- Lookup keyring serial number .SH SYNOPSIS diff --git a/doc/man/nvme_lookup_subsystem.2 b/doc/man/nvme_lookup_subsystem.2 index 9562066..c397efe 100644 --- a/doc/man/nvme_lookup_subsystem.2 +++ b/doc/man/nvme_lookup_subsystem.2 @@ -1,4 +1,4 @@ -.TH "nvme_lookup_subsystem" 9 "nvme_lookup_subsystem" "August 2024" "libnvme API manual" LINUX +.TH "nvme_lookup_subsystem" 9 "nvme_lookup_subsystem" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_lookup_subsystem \- Lookup nvme_subsystem_t object .SH SYNOPSIS diff --git a/doc/man/nvme_media_unit_config_desc.2 b/doc/man/nvme_media_unit_config_desc.2 index 8acebb6..7999d91 100644 --- a/doc/man/nvme_media_unit_config_desc.2 +++ b/doc/man/nvme_media_unit_config_desc.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_media_unit_config_desc" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_media_unit_config_desc" "October 2024" "API Manual" LINUX .SH NAME struct nvme_media_unit_config_desc \- Media Unit Configuration Descriptor .SH SYNOPSIS diff --git a/doc/man/nvme_media_unit_stat_desc.2 b/doc/man/nvme_media_unit_stat_desc.2 index da635b9..ea6372b 100644 --- a/doc/man/nvme_media_unit_stat_desc.2 +++ b/doc/man/nvme_media_unit_stat_desc.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_media_unit_stat_desc" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_media_unit_stat_desc" "October 2024" "API Manual" LINUX .SH NAME struct nvme_media_unit_stat_desc \- Media Unit Status Descriptor .SH SYNOPSIS diff --git a/doc/man/nvme_media_unit_stat_log.2 b/doc/man/nvme_media_unit_stat_log.2 index 6fc8d48..08b023e 100644 --- a/doc/man/nvme_media_unit_stat_log.2 +++ b/doc/man/nvme_media_unit_stat_log.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_media_unit_stat_log" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_media_unit_stat_log" "October 2024" "API Manual" LINUX .SH NAME struct nvme_media_unit_stat_log \- Media Unit Status .SH SYNOPSIS diff --git a/doc/man/nvme_metadata_element_desc.2 b/doc/man/nvme_metadata_element_desc.2 index b72bf0f..7b9898c 100644 --- a/doc/man/nvme_metadata_element_desc.2 +++ b/doc/man/nvme_metadata_element_desc.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_metadata_element_desc" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_metadata_element_desc" "October 2024" "API Manual" LINUX .SH NAME struct nvme_metadata_element_desc \- Metadata Element Descriptor .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_admin_passthru.2 b/doc/man/nvme_mi_admin_admin_passthru.2 index 8fb6ee6..0d62076 100644 --- a/doc/man/nvme_mi_admin_admin_passthru.2 +++ b/doc/man/nvme_mi_admin_admin_passthru.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_admin_passthru" 9 "nvme_mi_admin_admin_passthru" "August 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_admin_passthru" 9 "nvme_mi_admin_admin_passthru" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_admin_passthru \- Submit an nvme admin passthrough command .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_format_nvm.2 b/doc/man/nvme_mi_admin_format_nvm.2 index 3a5507a..ee6a301 100644 --- a/doc/man/nvme_mi_admin_format_nvm.2 +++ b/doc/man/nvme_mi_admin_format_nvm.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_format_nvm" 9 "nvme_mi_admin_format_nvm" "August 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_format_nvm" 9 "nvme_mi_admin_format_nvm" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_format_nvm \- Format NVMe namespace .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_fw_commit.2 b/doc/man/nvme_mi_admin_fw_commit.2 index db077b0..d4e44a8 100644 --- a/doc/man/nvme_mi_admin_fw_commit.2 +++ b/doc/man/nvme_mi_admin_fw_commit.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_fw_commit" 9 "nvme_mi_admin_fw_commit" "August 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_fw_commit" 9 "nvme_mi_admin_fw_commit" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_fw_commit \- Commit firmware using the specified action .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_fw_download.2 b/doc/man/nvme_mi_admin_fw_download.2 index d44ed41..3094917 100644 --- a/doc/man/nvme_mi_admin_fw_download.2 +++ b/doc/man/nvme_mi_admin_fw_download.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_fw_download" 9 "nvme_mi_admin_fw_download" "August 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_fw_download" 9 "nvme_mi_admin_fw_download" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_fw_download \- Download part or all of a firmware image to the controller .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_get_ana_log_atomic.2 b/doc/man/nvme_mi_admin_get_ana_log_atomic.2 index 6664761..ff54595 100644 --- a/doc/man/nvme_mi_admin_get_ana_log_atomic.2 +++ b/doc/man/nvme_mi_admin_get_ana_log_atomic.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_ana_log_atomic" 9 "nvme_mi_admin_get_ana_log_atomic" "August 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_ana_log_atomic" 9 "nvme_mi_admin_get_ana_log_atomic" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_ana_log_atomic \- Retrieve Asymmetric Namespace Access log page atomically .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_get_features_data.2 b/doc/man/nvme_mi_admin_get_features_data.2 index 341e2eb..a7a239e 100644 --- a/doc/man/nvme_mi_admin_get_features_data.2 +++ b/doc/man/nvme_mi_admin_get_features_data.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_features_data" 9 "nvme_mi_admin_get_features_data" "August 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_features_data" 9 "nvme_mi_admin_get_features_data" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_features_data \- Helper function for &nvme_mi_admin_get_features() .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_get_log.2 b/doc/man/nvme_mi_admin_get_log.2 index d88dc6b..85b1201 100644 --- a/doc/man/nvme_mi_admin_get_log.2 +++ b/doc/man/nvme_mi_admin_get_log.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log" 9 "nvme_mi_admin_get_log" "August 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log" 9 "nvme_mi_admin_get_log" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log \- Retrieve log page data from controller .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_get_log_ana.2 b/doc/man/nvme_mi_admin_get_log_ana.2 index 29e27ab..42fa277 100644 --- a/doc/man/nvme_mi_admin_get_log_ana.2 +++ b/doc/man/nvme_mi_admin_get_log_ana.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_ana" 9 "nvme_mi_admin_get_log_ana" "August 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_ana" 9 "nvme_mi_admin_get_log_ana" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log_ana \- Retrieve Asymmetric Namespace Access log page .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_get_log_ana_groups.2 b/doc/man/nvme_mi_admin_get_log_ana_groups.2 index 98190d9..ee97218 100644 --- a/doc/man/nvme_mi_admin_get_log_ana_groups.2 +++ b/doc/man/nvme_mi_admin_get_log_ana_groups.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_ana_groups" 9 "nvme_mi_admin_get_log_ana_groups" "August 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_ana_groups" 9 "nvme_mi_admin_get_log_ana_groups" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log_ana_groups \- Retrieve Asymmetric Namespace Access groups only log page .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_get_log_boot_partition.2 b/doc/man/nvme_mi_admin_get_log_boot_partition.2 index 14824ef..68a6bda 100644 --- a/doc/man/nvme_mi_admin_get_log_boot_partition.2 +++ b/doc/man/nvme_mi_admin_get_log_boot_partition.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_boot_partition" 9 "nvme_mi_admin_get_log_boot_partition" "August 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_boot_partition" 9 "nvme_mi_admin_get_log_boot_partition" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log_boot_partition \- Retrieve Boot Partition .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_get_log_changed_ns_list.2 b/doc/man/nvme_mi_admin_get_log_changed_ns_list.2 index 6633c1b..7bf83f7 100644 --- a/doc/man/nvme_mi_admin_get_log_changed_ns_list.2 +++ b/doc/man/nvme_mi_admin_get_log_changed_ns_list.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_changed_ns_list" 9 "nvme_mi_admin_get_log_changed_ns_list" "August 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_changed_ns_list" 9 "nvme_mi_admin_get_log_changed_ns_list" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log_changed_ns_list \- Retrieve namespace changed list .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_get_log_cmd_effects.2 b/doc/man/nvme_mi_admin_get_log_cmd_effects.2 index 8bffa02..a957669 100644 --- a/doc/man/nvme_mi_admin_get_log_cmd_effects.2 +++ b/doc/man/nvme_mi_admin_get_log_cmd_effects.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_cmd_effects" 9 "nvme_mi_admin_get_log_cmd_effects" "August 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_cmd_effects" 9 "nvme_mi_admin_get_log_cmd_effects" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log_cmd_effects \- Retrieve nvme command effects log .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_get_log_create_telemetry_host.2 b/doc/man/nvme_mi_admin_get_log_create_telemetry_host.2 index 72148bd..eced0e6 100644 --- a/doc/man/nvme_mi_admin_get_log_create_telemetry_host.2 +++ b/doc/man/nvme_mi_admin_get_log_create_telemetry_host.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_create_telemetry_host" 9 "nvme_mi_admin_get_log_create_telemetry_host" "August 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_create_telemetry_host" 9 "nvme_mi_admin_get_log_create_telemetry_host" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log_create_telemetry_host \- Create host telemetry log .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_get_log_device_self_test.2 b/doc/man/nvme_mi_admin_get_log_device_self_test.2 index 678bebb..259fc02 100644 --- a/doc/man/nvme_mi_admin_get_log_device_self_test.2 +++ b/doc/man/nvme_mi_admin_get_log_device_self_test.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_device_self_test" 9 "nvme_mi_admin_get_log_device_self_test" "August 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_device_self_test" 9 "nvme_mi_admin_get_log_device_self_test" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log_device_self_test \- Retrieve the device self test log .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_get_log_discovery.2 b/doc/man/nvme_mi_admin_get_log_discovery.2 index 1ffa184..a63272a 100644 --- a/doc/man/nvme_mi_admin_get_log_discovery.2 +++ b/doc/man/nvme_mi_admin_get_log_discovery.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_discovery" 9 "nvme_mi_admin_get_log_discovery" "August 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_discovery" 9 "nvme_mi_admin_get_log_discovery" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log_discovery \- Retrieve Discovery log page .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_get_log_endurance_group.2 b/doc/man/nvme_mi_admin_get_log_endurance_group.2 index 30b4bba..30a38a1 100644 --- a/doc/man/nvme_mi_admin_get_log_endurance_group.2 +++ b/doc/man/nvme_mi_admin_get_log_endurance_group.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_endurance_group" 9 "nvme_mi_admin_get_log_endurance_group" "August 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_endurance_group" 9 "nvme_mi_admin_get_log_endurance_group" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log_endurance_group \- Get Endurance Group log .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_get_log_endurance_grp_evt.2 b/doc/man/nvme_mi_admin_get_log_endurance_grp_evt.2 index 4db995b..8e9ebef 100644 --- a/doc/man/nvme_mi_admin_get_log_endurance_grp_evt.2 +++ b/doc/man/nvme_mi_admin_get_log_endurance_grp_evt.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_endurance_grp_evt" 9 "nvme_mi_admin_get_log_endurance_grp_evt" "August 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_endurance_grp_evt" 9 "nvme_mi_admin_get_log_endurance_grp_evt" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log_endurance_grp_evt \- Retrieve Rotational Media Information .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_get_log_error.2 b/doc/man/nvme_mi_admin_get_log_error.2 index 0368743..8fcd9f1 100644 --- a/doc/man/nvme_mi_admin_get_log_error.2 +++ b/doc/man/nvme_mi_admin_get_log_error.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_error" 9 "nvme_mi_admin_get_log_error" "August 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_error" 9 "nvme_mi_admin_get_log_error" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log_error \- Retrieve nvme error log .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_get_log_fid_supported_effects.2 b/doc/man/nvme_mi_admin_get_log_fid_supported_effects.2 index 1ad2ff7..17b2184 100644 --- a/doc/man/nvme_mi_admin_get_log_fid_supported_effects.2 +++ b/doc/man/nvme_mi_admin_get_log_fid_supported_effects.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_fid_supported_effects" 9 "nvme_mi_admin_get_log_fid_supported_effects" "August 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_fid_supported_effects" 9 "nvme_mi_admin_get_log_fid_supported_effects" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log_fid_supported_effects \- Retrieve Feature Identifiers Supported and Effects .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_get_log_fw_slot.2 b/doc/man/nvme_mi_admin_get_log_fw_slot.2 index da73aaa..a3f444c 100644 --- a/doc/man/nvme_mi_admin_get_log_fw_slot.2 +++ b/doc/man/nvme_mi_admin_get_log_fw_slot.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_fw_slot" 9 "nvme_mi_admin_get_log_fw_slot" "August 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_fw_slot" 9 "nvme_mi_admin_get_log_fw_slot" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log_fw_slot \- Retrieves the controller firmware log .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_get_log_lba_status.2 b/doc/man/nvme_mi_admin_get_log_lba_status.2 index 3bd127c..72384fa 100644 --- a/doc/man/nvme_mi_admin_get_log_lba_status.2 +++ b/doc/man/nvme_mi_admin_get_log_lba_status.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_lba_status" 9 "nvme_mi_admin_get_log_lba_status" "August 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_lba_status" 9 "nvme_mi_admin_get_log_lba_status" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log_lba_status \- Retrieve LBA Status .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_get_log_lockdown.2 b/doc/man/nvme_mi_admin_get_log_lockdown.2 new file mode 100644 index 0000000..0befbeb --- /dev/null +++ b/doc/man/nvme_mi_admin_get_log_lockdown.2 @@ -0,0 +1,18 @@ +.TH "nvme_mi_admin_get_log_lockdown" 9 "nvme_mi_admin_get_log_lockdown" "October 2024" "libnvme API manual" LINUX +.SH NAME +nvme_mi_admin_get_log_lockdown \- Retrieve lockdown Log +.SH SYNOPSIS +.B "int" nvme_mi_admin_get_log_lockdown +.BI "(nvme_mi_ctrl_t ctrl " "," +.BI "__u8 cnscp " "," +.BI "struct nvme_lockdown_log *lockdown_log " ");" +.SH ARGUMENTS +.IP "ctrl" 12 +Controller to query +.IP "cnscp" 12 +Contents and Scope of Command and Feature Identifier Lists +.IP "lockdown_log" 12 +Buffer to store the lockdown log +.SH "RETURN" +The nvme command status if a response was received (see +\fIenum nvme_status_field\fP) or -1 with errno set otherwise. diff --git a/doc/man/nvme_mi_admin_get_log_media_unit_stat.2 b/doc/man/nvme_mi_admin_get_log_media_unit_stat.2 index 352c47d..12b990a 100644 --- a/doc/man/nvme_mi_admin_get_log_media_unit_stat.2 +++ b/doc/man/nvme_mi_admin_get_log_media_unit_stat.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_media_unit_stat" 9 "nvme_mi_admin_get_log_media_unit_stat" "August 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_media_unit_stat" 9 "nvme_mi_admin_get_log_media_unit_stat" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log_media_unit_stat \- Retrieve Media Unit Status .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_get_log_mi_cmd_supported_effects.2 b/doc/man/nvme_mi_admin_get_log_mi_cmd_supported_effects.2 index a07d0dc..333e3c6 100644 --- a/doc/man/nvme_mi_admin_get_log_mi_cmd_supported_effects.2 +++ b/doc/man/nvme_mi_admin_get_log_mi_cmd_supported_effects.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_mi_cmd_supported_effects" 9 "nvme_mi_admin_get_log_mi_cmd_supported_effects" "August 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_mi_cmd_supported_effects" 9 "nvme_mi_admin_get_log_mi_cmd_supported_effects" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log_mi_cmd_supported_effects \- displays the MI Commands Supported by the controller .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_get_log_page.2 b/doc/man/nvme_mi_admin_get_log_page.2 index 9717bc1..20daeed 100644 --- a/doc/man/nvme_mi_admin_get_log_page.2 +++ b/doc/man/nvme_mi_admin_get_log_page.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_page" 9 "nvme_mi_admin_get_log_page" "August 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_page" 9 "nvme_mi_admin_get_log_page" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log_page \- Retrieve log page data from controller .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_get_log_persistent_event.2 b/doc/man/nvme_mi_admin_get_log_persistent_event.2 index f5bf8c5..3d4fc36 100644 --- a/doc/man/nvme_mi_admin_get_log_persistent_event.2 +++ b/doc/man/nvme_mi_admin_get_log_persistent_event.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_persistent_event" 9 "nvme_mi_admin_get_log_persistent_event" "August 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_persistent_event" 9 "nvme_mi_admin_get_log_persistent_event" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log_persistent_event \- Retrieve Persistent Event Log .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_get_log_phy_rx_eom.2 b/doc/man/nvme_mi_admin_get_log_phy_rx_eom.2 index 548688a..eff4b01 100644 --- a/doc/man/nvme_mi_admin_get_log_phy_rx_eom.2 +++ b/doc/man/nvme_mi_admin_get_log_phy_rx_eom.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_phy_rx_eom" 9 "nvme_mi_admin_get_log_phy_rx_eom" "August 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_phy_rx_eom" 9 "nvme_mi_admin_get_log_phy_rx_eom" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log_phy_rx_eom \- Retrieve Physical Interface Receiver Eye Opening Measurement Log .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_get_log_predictable_lat_event.2 b/doc/man/nvme_mi_admin_get_log_predictable_lat_event.2 index 80ed6d2..1c4ff71 100644 --- a/doc/man/nvme_mi_admin_get_log_predictable_lat_event.2 +++ b/doc/man/nvme_mi_admin_get_log_predictable_lat_event.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_predictable_lat_event" 9 "nvme_mi_admin_get_log_predictable_lat_event" "August 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_predictable_lat_event" 9 "nvme_mi_admin_get_log_predictable_lat_event" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log_predictable_lat_event \- Retrieve Predictable Latency Event Aggregate Log Page .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_get_log_predictable_lat_nvmset.2 b/doc/man/nvme_mi_admin_get_log_predictable_lat_nvmset.2 index 0032d5f..4d7eb7d 100644 --- a/doc/man/nvme_mi_admin_get_log_predictable_lat_nvmset.2 +++ b/doc/man/nvme_mi_admin_get_log_predictable_lat_nvmset.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_predictable_lat_nvmset" 9 "nvme_mi_admin_get_log_predictable_lat_nvmset" "August 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_predictable_lat_nvmset" 9 "nvme_mi_admin_get_log_predictable_lat_nvmset" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log_predictable_lat_nvmset \- Predictable Latency Per NVM Set .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_get_log_reservation.2 b/doc/man/nvme_mi_admin_get_log_reservation.2 index 2fa9e3c..383f5b2 100644 --- a/doc/man/nvme_mi_admin_get_log_reservation.2 +++ b/doc/man/nvme_mi_admin_get_log_reservation.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_reservation" 9 "nvme_mi_admin_get_log_reservation" "August 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_reservation" 9 "nvme_mi_admin_get_log_reservation" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log_reservation \- Retrieve Reservation Notification .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_get_log_sanitize.2 b/doc/man/nvme_mi_admin_get_log_sanitize.2 index 4656ff3..61a605f 100644 --- a/doc/man/nvme_mi_admin_get_log_sanitize.2 +++ b/doc/man/nvme_mi_admin_get_log_sanitize.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_sanitize" 9 "nvme_mi_admin_get_log_sanitize" "August 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_sanitize" 9 "nvme_mi_admin_get_log_sanitize" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log_sanitize \- Retrieve Sanitize Status .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_get_log_simple.2 b/doc/man/nvme_mi_admin_get_log_simple.2 index cf40f85..3b736c7 100644 --- a/doc/man/nvme_mi_admin_get_log_simple.2 +++ b/doc/man/nvme_mi_admin_get_log_simple.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_simple" 9 "nvme_mi_admin_get_log_simple" "August 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_simple" 9 "nvme_mi_admin_get_log_simple" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log_simple \- Helper for Get Log Page functions with no NSID or RAE requirements .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_get_log_smart.2 b/doc/man/nvme_mi_admin_get_log_smart.2 index f5cad36..05083bc 100644 --- a/doc/man/nvme_mi_admin_get_log_smart.2 +++ b/doc/man/nvme_mi_admin_get_log_smart.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_smart" 9 "nvme_mi_admin_get_log_smart" "August 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_smart" 9 "nvme_mi_admin_get_log_smart" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log_smart \- Retrieve nvme smart log .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_get_log_support_cap_config_list.2 b/doc/man/nvme_mi_admin_get_log_support_cap_config_list.2 index a32b34f..48e8a2e 100644 --- a/doc/man/nvme_mi_admin_get_log_support_cap_config_list.2 +++ b/doc/man/nvme_mi_admin_get_log_support_cap_config_list.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_support_cap_config_list" 9 "nvme_mi_admin_get_log_support_cap_config_list" "August 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_support_cap_config_list" 9 "nvme_mi_admin_get_log_support_cap_config_list" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log_support_cap_config_list \- Retrieve Supported Capacity Configuration List .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_get_log_supported_log_pages.2 b/doc/man/nvme_mi_admin_get_log_supported_log_pages.2 index d97b695..0134f38 100644 --- a/doc/man/nvme_mi_admin_get_log_supported_log_pages.2 +++ b/doc/man/nvme_mi_admin_get_log_supported_log_pages.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_supported_log_pages" 9 "nvme_mi_admin_get_log_supported_log_pages" "August 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_supported_log_pages" 9 "nvme_mi_admin_get_log_supported_log_pages" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log_supported_log_pages \- Retrieve nmve supported log pages .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_get_log_telemetry_ctrl.2 b/doc/man/nvme_mi_admin_get_log_telemetry_ctrl.2 index 4e91b24..b8f534a 100644 --- a/doc/man/nvme_mi_admin_get_log_telemetry_ctrl.2 +++ b/doc/man/nvme_mi_admin_get_log_telemetry_ctrl.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_telemetry_ctrl" 9 "nvme_mi_admin_get_log_telemetry_ctrl" "August 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_telemetry_ctrl" 9 "nvme_mi_admin_get_log_telemetry_ctrl" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log_telemetry_ctrl \- Get Telemetry Controller-Initiated log page .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_get_log_telemetry_host.2 b/doc/man/nvme_mi_admin_get_log_telemetry_host.2 index 52f672b..b0bf90f 100644 --- a/doc/man/nvme_mi_admin_get_log_telemetry_host.2 +++ b/doc/man/nvme_mi_admin_get_log_telemetry_host.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_telemetry_host" 9 "nvme_mi_admin_get_log_telemetry_host" "August 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_telemetry_host" 9 "nvme_mi_admin_get_log_telemetry_host" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log_telemetry_host \- Get Telemetry Host-Initiated log page .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_get_log_zns_changed_zones.2 b/doc/man/nvme_mi_admin_get_log_zns_changed_zones.2 index 8e2a607..99eff0d 100644 --- a/doc/man/nvme_mi_admin_get_log_zns_changed_zones.2 +++ b/doc/man/nvme_mi_admin_get_log_zns_changed_zones.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_zns_changed_zones" 9 "nvme_mi_admin_get_log_zns_changed_zones" "August 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_zns_changed_zones" 9 "nvme_mi_admin_get_log_zns_changed_zones" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log_zns_changed_zones \- Retrieve list of zones that have changed .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_get_nsid_log.2 b/doc/man/nvme_mi_admin_get_nsid_log.2 index e7a4e92..021d9ed 100644 --- a/doc/man/nvme_mi_admin_get_nsid_log.2 +++ b/doc/man/nvme_mi_admin_get_nsid_log.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_nsid_log" 9 "nvme_mi_admin_get_nsid_log" "August 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_nsid_log" 9 "nvme_mi_admin_get_nsid_log" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_nsid_log \- Helper for Get Log Page functions .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_identify.2 b/doc/man/nvme_mi_admin_identify.2 index 7b6c6f8..3a8103e 100644 --- a/doc/man/nvme_mi_admin_identify.2 +++ b/doc/man/nvme_mi_admin_identify.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_identify" 9 "nvme_mi_admin_identify" "August 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_identify" 9 "nvme_mi_admin_identify" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_identify \- Perform an Admin identify command. .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_identify_active_ns_list.2 b/doc/man/nvme_mi_admin_identify_active_ns_list.2 index 6c5281e..12c3840 100644 --- a/doc/man/nvme_mi_admin_identify_active_ns_list.2 +++ b/doc/man/nvme_mi_admin_identify_active_ns_list.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_identify_active_ns_list" 9 "nvme_mi_admin_identify_active_ns_list" "August 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_identify_active_ns_list" 9 "nvme_mi_admin_identify_active_ns_list" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_identify_active_ns_list \- Perform an Admin identify for an active namespace list .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_identify_allocated_ns.2 b/doc/man/nvme_mi_admin_identify_allocated_ns.2 index 3a55e0d..9ebef1e 100644 --- a/doc/man/nvme_mi_admin_identify_allocated_ns.2 +++ b/doc/man/nvme_mi_admin_identify_allocated_ns.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_identify_allocated_ns" 9 "nvme_mi_admin_identify_allocated_ns" "August 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_identify_allocated_ns" 9 "nvme_mi_admin_identify_allocated_ns" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_identify_allocated_ns \- Perform an Admin identify command for an allocated namespace .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_identify_allocated_ns_list.2 b/doc/man/nvme_mi_admin_identify_allocated_ns_list.2 index fa01298..37587aa 100644 --- a/doc/man/nvme_mi_admin_identify_allocated_ns_list.2 +++ b/doc/man/nvme_mi_admin_identify_allocated_ns_list.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_identify_allocated_ns_list" 9 "nvme_mi_admin_identify_allocated_ns_list" "August 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_identify_allocated_ns_list" 9 "nvme_mi_admin_identify_allocated_ns_list" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_identify_allocated_ns_list \- Perform an Admin identify for an allocated namespace list .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_identify_cns_nsid.2 b/doc/man/nvme_mi_admin_identify_cns_nsid.2 index 123977f..7ec56e6 100644 --- a/doc/man/nvme_mi_admin_identify_cns_nsid.2 +++ b/doc/man/nvme_mi_admin_identify_cns_nsid.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_identify_cns_nsid" 9 "nvme_mi_admin_identify_cns_nsid" "August 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_identify_cns_nsid" 9 "nvme_mi_admin_identify_cns_nsid" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_identify_cns_nsid \- Perform an Admin identify command using specific CNS/NSID parameters. .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_identify_ctrl.2 b/doc/man/nvme_mi_admin_identify_ctrl.2 index dfe7ea8..5417cf9 100644 --- a/doc/man/nvme_mi_admin_identify_ctrl.2 +++ b/doc/man/nvme_mi_admin_identify_ctrl.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_identify_ctrl" 9 "nvme_mi_admin_identify_ctrl" "August 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_identify_ctrl" 9 "nvme_mi_admin_identify_ctrl" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_identify_ctrl \- Perform an Admin identify for a controller .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_identify_ctrl_list.2 b/doc/man/nvme_mi_admin_identify_ctrl_list.2 index 5a0a452..7ffe644 100644 --- a/doc/man/nvme_mi_admin_identify_ctrl_list.2 +++ b/doc/man/nvme_mi_admin_identify_ctrl_list.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_identify_ctrl_list" 9 "nvme_mi_admin_identify_ctrl_list" "August 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_identify_ctrl_list" 9 "nvme_mi_admin_identify_ctrl_list" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_identify_ctrl_list \- Perform an Admin identify for a controller list. .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_identify_ns.2 b/doc/man/nvme_mi_admin_identify_ns.2 index 119a98c..1e99262 100644 --- a/doc/man/nvme_mi_admin_identify_ns.2 +++ b/doc/man/nvme_mi_admin_identify_ns.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_identify_ns" 9 "nvme_mi_admin_identify_ns" "August 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_identify_ns" 9 "nvme_mi_admin_identify_ns" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_identify_ns \- Perform an Admin identify command for a namespace .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_identify_ns_descs.2 b/doc/man/nvme_mi_admin_identify_ns_descs.2 index 565e134..817c813 100644 --- a/doc/man/nvme_mi_admin_identify_ns_descs.2 +++ b/doc/man/nvme_mi_admin_identify_ns_descs.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_identify_ns_descs" 9 "nvme_mi_admin_identify_ns_descs" "August 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_identify_ns_descs" 9 "nvme_mi_admin_identify_ns_descs" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_identify_ns_descs \- Perform an Admin identify Namespace Identification Descriptor list command for a namespace .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_identify_nsid_ctrl_list.2 b/doc/man/nvme_mi_admin_identify_nsid_ctrl_list.2 index c56ee7c..321d0a4 100644 --- a/doc/man/nvme_mi_admin_identify_nsid_ctrl_list.2 +++ b/doc/man/nvme_mi_admin_identify_nsid_ctrl_list.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_identify_nsid_ctrl_list" 9 "nvme_mi_admin_identify_nsid_ctrl_list" "August 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_identify_nsid_ctrl_list" 9 "nvme_mi_admin_identify_nsid_ctrl_list" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_identify_nsid_ctrl_list \- Perform an Admin identify for a controller list with specific namespace ID .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_identify_partial.2 b/doc/man/nvme_mi_admin_identify_partial.2 index 179b9cb..4f99d39 100644 --- a/doc/man/nvme_mi_admin_identify_partial.2 +++ b/doc/man/nvme_mi_admin_identify_partial.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_identify_partial" 9 "nvme_mi_admin_identify_partial" "August 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_identify_partial" 9 "nvme_mi_admin_identify_partial" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_identify_partial \- Perform an Admin identify command, and retrieve partial response data. .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_identify_primary_ctrl.2 b/doc/man/nvme_mi_admin_identify_primary_ctrl.2 index f27fc7c..ce22bba 100644 --- a/doc/man/nvme_mi_admin_identify_primary_ctrl.2 +++ b/doc/man/nvme_mi_admin_identify_primary_ctrl.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_identify_primary_ctrl" 9 "nvme_mi_admin_identify_primary_ctrl" "August 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_identify_primary_ctrl" 9 "nvme_mi_admin_identify_primary_ctrl" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_identify_primary_ctrl \- Perform an Admin identify for primary controller capabilities data structure. .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_identify_secondary_ctrl_list.2 b/doc/man/nvme_mi_admin_identify_secondary_ctrl_list.2 index 1f6c8ad..d12e078 100644 --- a/doc/man/nvme_mi_admin_identify_secondary_ctrl_list.2 +++ b/doc/man/nvme_mi_admin_identify_secondary_ctrl_list.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_identify_secondary_ctrl_list" 9 "nvme_mi_admin_identify_secondary_ctrl_list" "August 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_identify_secondary_ctrl_list" 9 "nvme_mi_admin_identify_secondary_ctrl_list" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_identify_secondary_ctrl_list \- Perform an Admin identify for a secondary controller list. .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_ns_attach.2 b/doc/man/nvme_mi_admin_ns_attach.2 index 2e5aedc..499b34a 100644 --- a/doc/man/nvme_mi_admin_ns_attach.2 +++ b/doc/man/nvme_mi_admin_ns_attach.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_ns_attach" 9 "nvme_mi_admin_ns_attach" "August 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_ns_attach" 9 "nvme_mi_admin_ns_attach" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_ns_attach \- Attach or detach namespace to controller(s) .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_ns_attach_ctrls.2 b/doc/man/nvme_mi_admin_ns_attach_ctrls.2 index be89dba..1c2ab57 100644 --- a/doc/man/nvme_mi_admin_ns_attach_ctrls.2 +++ b/doc/man/nvme_mi_admin_ns_attach_ctrls.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_ns_attach_ctrls" 9 "nvme_mi_admin_ns_attach_ctrls" "August 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_ns_attach_ctrls" 9 "nvme_mi_admin_ns_attach_ctrls" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_ns_attach_ctrls \- Attach namespace to controllers .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_ns_detach_ctrls.2 b/doc/man/nvme_mi_admin_ns_detach_ctrls.2 index 9e89e7f..3ac0b35 100644 --- a/doc/man/nvme_mi_admin_ns_detach_ctrls.2 +++ b/doc/man/nvme_mi_admin_ns_detach_ctrls.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_ns_detach_ctrls" 9 "nvme_mi_admin_ns_detach_ctrls" "August 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_ns_detach_ctrls" 9 "nvme_mi_admin_ns_detach_ctrls" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_ns_detach_ctrls \- Detach namespace from controllers .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_req_hdr.2 b/doc/man/nvme_mi_admin_req_hdr.2 index d19ed85..e6419df 100644 --- a/doc/man/nvme_mi_admin_req_hdr.2 +++ b/doc/man/nvme_mi_admin_req_hdr.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_mi_admin_req_hdr" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_mi_admin_req_hdr" "October 2024" "API Manual" LINUX .SH NAME struct nvme_mi_admin_req_hdr \- Admin command request header. .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_resp_hdr.2 b/doc/man/nvme_mi_admin_resp_hdr.2 index 26c68a3..d7bf037 100644 --- a/doc/man/nvme_mi_admin_resp_hdr.2 +++ b/doc/man/nvme_mi_admin_resp_hdr.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_mi_admin_resp_hdr" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_mi_admin_resp_hdr" "October 2024" "API Manual" LINUX .SH NAME struct nvme_mi_admin_resp_hdr \- Admin command response header. .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_sanitize_nvm.2 b/doc/man/nvme_mi_admin_sanitize_nvm.2 index cfe5441..5e6cfea 100644 --- a/doc/man/nvme_mi_admin_sanitize_nvm.2 +++ b/doc/man/nvme_mi_admin_sanitize_nvm.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_sanitize_nvm" 9 "nvme_mi_admin_sanitize_nvm" "August 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_sanitize_nvm" 9 "nvme_mi_admin_sanitize_nvm" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_sanitize_nvm \- Start a subsystem Sanitize operation .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_security_recv.2 b/doc/man/nvme_mi_admin_security_recv.2 index 123f7d2..fd4360e 100644 --- a/doc/man/nvme_mi_admin_security_recv.2 +++ b/doc/man/nvme_mi_admin_security_recv.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_security_recv" 9 "nvme_mi_admin_security_recv" "August 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_security_recv" 9 "nvme_mi_admin_security_recv" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_security_recv \- Perform a Security Receive command on a controller. .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_security_send.2 b/doc/man/nvme_mi_admin_security_send.2 index e6b9648..38e7b4b 100644 --- a/doc/man/nvme_mi_admin_security_send.2 +++ b/doc/man/nvme_mi_admin_security_send.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_security_send" 9 "nvme_mi_admin_security_send" "August 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_security_send" 9 "nvme_mi_admin_security_send" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_security_send \- Perform a Security Send command on a controller. .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_xfer.2 b/doc/man/nvme_mi_admin_xfer.2 index 3d0ca8a..e325816 100644 --- a/doc/man/nvme_mi_admin_xfer.2 +++ b/doc/man/nvme_mi_admin_xfer.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_xfer" 9 "nvme_mi_admin_xfer" "August 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_xfer" 9 "nvme_mi_admin_xfer" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_xfer \- Raw admin transfer interface. .SH SYNOPSIS diff --git a/doc/man/nvme_mi_ccs.2 b/doc/man/nvme_mi_ccs.2 index 4c72056..b729561 100644 --- a/doc/man/nvme_mi_ccs.2 +++ b/doc/man/nvme_mi_ccs.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_mi_ccs" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_mi_ccs" "October 2024" "API Manual" LINUX .SH NAME enum nvme_mi_ccs \- Get State Control Primitive Success Response Fields - Control Primitive Specific Response .SH SYNOPSIS diff --git a/doc/man/nvme_mi_close.2 b/doc/man/nvme_mi_close.2 index a938e49..adce3d1 100644 --- a/doc/man/nvme_mi_close.2 +++ b/doc/man/nvme_mi_close.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_close" 9 "nvme_mi_close" "August 2024" "libnvme API manual" LINUX +.TH "nvme_mi_close" 9 "nvme_mi_close" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_close \- Close an endpoint connection and release resources, including controller objects. .SH SYNOPSIS diff --git a/doc/man/nvme_mi_close_ctrl.2 b/doc/man/nvme_mi_close_ctrl.2 index 035bf46..962548f 100644 --- a/doc/man/nvme_mi_close_ctrl.2 +++ b/doc/man/nvme_mi_close_ctrl.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_close_ctrl" 9 "nvme_mi_close_ctrl" "August 2024" "libnvme API manual" LINUX +.TH "nvme_mi_close_ctrl" 9 "nvme_mi_close_ctrl" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_close_ctrl \- free a controller .SH SYNOPSIS diff --git a/doc/man/nvme_mi_cmd_supported_effects.2 b/doc/man/nvme_mi_cmd_supported_effects.2 index 872329a..874e5fb 100644 --- a/doc/man/nvme_mi_cmd_supported_effects.2 +++ b/doc/man/nvme_mi_cmd_supported_effects.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_mi_cmd_supported_effects" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_mi_cmd_supported_effects" "October 2024" "API Manual" LINUX .SH NAME enum nvme_mi_cmd_supported_effects \- MI Command Supported and Effects Data Structure .SH SYNOPSIS diff --git a/doc/man/nvme_mi_cmd_supported_effects_log.2 b/doc/man/nvme_mi_cmd_supported_effects_log.2 index 9c751e2..bf034b2 100644 --- a/doc/man/nvme_mi_cmd_supported_effects_log.2 +++ b/doc/man/nvme_mi_cmd_supported_effects_log.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_mi_cmd_supported_effects_log" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_mi_cmd_supported_effects_log" "October 2024" "API Manual" LINUX .SH NAME struct nvme_mi_cmd_supported_effects_log \- NVMe-MI Commands Supported and Effects Log .SH SYNOPSIS diff --git a/doc/man/nvme_mi_config_id.2 b/doc/man/nvme_mi_config_id.2 index fdfbd14..da83aef 100644 --- a/doc/man/nvme_mi_config_id.2 +++ b/doc/man/nvme_mi_config_id.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_mi_config_id" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_mi_config_id" "October 2024" "API Manual" LINUX .SH NAME enum nvme_mi_config_id \- NVMe-MI Configuration identifier. .SH SYNOPSIS diff --git a/doc/man/nvme_mi_config_smbus_freq.2 b/doc/man/nvme_mi_config_smbus_freq.2 index 841c53a..44f81f6 100644 --- a/doc/man/nvme_mi_config_smbus_freq.2 +++ b/doc/man/nvme_mi_config_smbus_freq.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_mi_config_smbus_freq" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_mi_config_smbus_freq" "October 2024" "API Manual" LINUX .SH NAME enum nvme_mi_config_smbus_freq \- SMBus/I2C frequency values .SH SYNOPSIS diff --git a/doc/man/nvme_mi_control.2 b/doc/man/nvme_mi_control.2 new file mode 100644 index 0000000..1e0c524 --- /dev/null +++ b/doc/man/nvme_mi_control.2 @@ -0,0 +1,25 @@ +.TH "nvme_mi_control" 9 "nvme_mi_control" "October 2024" "libnvme API manual" LINUX +.SH NAME +nvme_mi_control \- Perform a Control Primitive command +.SH SYNOPSIS +.B "int" nvme_mi_control +.BI "(nvme_mi_ep_t ep " "," +.BI "__u8 opcode " "," +.BI "__u16 cpsp " "," +.BI "__u16 *result_cpsr " ");" +.SH ARGUMENTS +.IP "ep" 12 +endpoint for MI communication +.IP "opcode" 12 +Control Primitive opcode (using \fIenum nvme_mi_control_opcode\fP) +.IP "cpsp" 12 +Control Primitive Specific Parameter +.IP "result_cpsr" 12 +Optional field to return the result from the CPSR field +.SH "DESCRIPTION" +Perform a Control Primitive command, using the opcode specified in \fIopcode\fP +Stores the result from the CPSR field in \fIresult_cpsr\fP if set. + +See: \fIenum nvme_mi_control_opcode\fP +.SH "RETURN" +0 on success, non-zero on failure diff --git a/doc/man/nvme_mi_control_opcode.2 b/doc/man/nvme_mi_control_opcode.2 new file mode 100644 index 0000000..a9b8736 --- /dev/null +++ b/doc/man/nvme_mi_control_opcode.2 @@ -0,0 +1,36 @@ +.TH "libnvme" 9 "enum nvme_mi_control_opcode" "October 2024" "API Manual" LINUX +.SH NAME +enum nvme_mi_control_opcode \- Operation code for Control Primitives. +.SH SYNOPSIS +enum nvme_mi_control_opcode { +.br +.BI " nvme_mi_control_opcode_pause" +, +.br +.br +.BI " nvme_mi_control_opcode_resume" +, +.br +.br +.BI " nvme_mi_control_opcode_abort" +, +.br +.br +.BI " nvme_mi_control_opcode_get_state" +, +.br +.br +.BI " nvme_mi_control_opcode_replay" + +}; +.SH Constants +.IP "nvme_mi_control_opcode_pause" 12 +Suspend response transmission/timeout +.IP "nvme_mi_control_opcode_resume" 12 +Resume from a paused condition +.IP "nvme_mi_control_opcode_abort" 12 +Re-initialize a Command Slot to the Idle state +.IP "nvme_mi_control_opcode_get_state" 12 +Get the state of a Command Slot +.IP "nvme_mi_control_opcode_replay" 12 +Retransmit the Response Message diff --git a/doc/man/nvme_mi_control_req.2 b/doc/man/nvme_mi_control_req.2 new file mode 100644 index 0000000..eb93dd2 --- /dev/null +++ b/doc/man/nvme_mi_control_req.2 @@ -0,0 +1,27 @@ +.TH "libnvme" 9 "struct nvme_mi_control_req" "October 2024" "API Manual" LINUX +.SH NAME +struct nvme_mi_control_req \- The Control Primitive request. +.SH SYNOPSIS +struct nvme_mi_control_req { +.br +.BI " struct nvme_mi_msg_hdr hdr;" +.br +.BI " __u8 opcode;" +.br +.BI " __u8 tag;" +.br +.BI " __le16 cpsp;" +.br +.BI " +}; +.br + +.SH Members +.IP "hdr" 12 +Generic MI message header +.IP "opcode" 12 +Control Primitive Opcodes (using \fIenum nvme_mi_control_opcode\fP) +.IP "tag" 12 +flag - Opaque value passed from request to response +.IP "cpsp" 12 +Control Primitive Specific Parameter diff --git a/doc/man/nvme_mi_create_root.2 b/doc/man/nvme_mi_create_root.2 index 8c84276..5dc1665 100644 --- a/doc/man/nvme_mi_create_root.2 +++ b/doc/man/nvme_mi_create_root.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_create_root" 9 "nvme_mi_create_root" "August 2024" "libnvme API manual" LINUX +.TH "nvme_mi_create_root" 9 "nvme_mi_create_root" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_create_root \- Create top-level MI (root) handle. .SH SYNOPSIS diff --git a/doc/man/nvme_mi_csts.2 b/doc/man/nvme_mi_csts.2 index 6be72a5..b8771a9 100644 --- a/doc/man/nvme_mi_csts.2 +++ b/doc/man/nvme_mi_csts.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_mi_csts" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_mi_csts" "October 2024" "API Manual" LINUX .SH NAME enum nvme_mi_csts \- Controller Health Data Structure (CHDS) - Controller Status (CSTS) .SH SYNOPSIS diff --git a/doc/man/nvme_mi_ctrl_health_status.2 b/doc/man/nvme_mi_ctrl_health_status.2 index 90aca94..338b3b5 100644 --- a/doc/man/nvme_mi_ctrl_health_status.2 +++ b/doc/man/nvme_mi_ctrl_health_status.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_mi_ctrl_health_status" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_mi_ctrl_health_status" "October 2024" "API Manual" LINUX .SH NAME struct nvme_mi_ctrl_health_status \- Controller Health Data Structure (CHDS) .SH SYNOPSIS diff --git a/doc/man/nvme_mi_ctrl_id.2 b/doc/man/nvme_mi_ctrl_id.2 index a27ffa7..49f55f2 100644 --- a/doc/man/nvme_mi_ctrl_id.2 +++ b/doc/man/nvme_mi_ctrl_id.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_ctrl_id" 9 "nvme_mi_ctrl_id" "August 2024" "libnvme API manual" LINUX +.TH "nvme_mi_ctrl_id" 9 "nvme_mi_ctrl_id" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_ctrl_id \- get the ID of a controller .SH SYNOPSIS diff --git a/doc/man/nvme_mi_cwarn.2 b/doc/man/nvme_mi_cwarn.2 index 3f525c0..36cdff8 100644 --- a/doc/man/nvme_mi_cwarn.2 +++ b/doc/man/nvme_mi_cwarn.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_mi_cwarn" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_mi_cwarn" "October 2024" "API Manual" LINUX .SH NAME enum nvme_mi_cwarn \- Controller Health Data Structure (CHDS) - Critical Warning (CWARN) .SH SYNOPSIS diff --git a/doc/man/nvme_mi_dtyp.2 b/doc/man/nvme_mi_dtyp.2 index 7aa06e6..e78fc94 100644 --- a/doc/man/nvme_mi_dtyp.2 +++ b/doc/man/nvme_mi_dtyp.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_mi_dtyp" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_mi_dtyp" "October 2024" "API Manual" LINUX .SH NAME enum nvme_mi_dtyp \- Data Structure Type field. .SH SYNOPSIS diff --git a/doc/man/nvme_mi_elem.2 b/doc/man/nvme_mi_elem.2 index db24d77..1428d72 100644 --- a/doc/man/nvme_mi_elem.2 +++ b/doc/man/nvme_mi_elem.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_mi_elem" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_mi_elem" "October 2024" "API Manual" LINUX .SH NAME enum nvme_mi_elem \- Element Descriptor Types .SH SYNOPSIS diff --git a/doc/man/nvme_mi_free_root.2 b/doc/man/nvme_mi_free_root.2 index 06ff547..7b878b8 100644 --- a/doc/man/nvme_mi_free_root.2 +++ b/doc/man/nvme_mi_free_root.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_free_root" 9 "nvme_mi_free_root" "August 2024" "libnvme API manual" LINUX +.TH "nvme_mi_free_root" 9 "nvme_mi_free_root" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_free_root \- Free root object. .SH SYNOPSIS diff --git a/doc/man/nvme_mi_init_ctrl.2 b/doc/man/nvme_mi_init_ctrl.2 index 7381b8b..240c268 100644 --- a/doc/man/nvme_mi_init_ctrl.2 +++ b/doc/man/nvme_mi_init_ctrl.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_init_ctrl" 9 "nvme_mi_init_ctrl" "August 2024" "libnvme API manual" LINUX +.TH "nvme_mi_init_ctrl" 9 "nvme_mi_init_ctrl" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_init_ctrl \- initialise a NVMe controller. .SH SYNOPSIS diff --git a/doc/man/nvme_mi_message_type.2 b/doc/man/nvme_mi_message_type.2 index e00b547..7f8cb6c 100644 --- a/doc/man/nvme_mi_message_type.2 +++ b/doc/man/nvme_mi_message_type.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_mi_message_type" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_mi_message_type" "October 2024" "API Manual" LINUX .SH NAME enum nvme_mi_message_type \- NVMe-MI message type field. .SH SYNOPSIS diff --git a/doc/man/nvme_mi_mi_opcode.2 b/doc/man/nvme_mi_mi_opcode.2 index 42fccda..a5adf2b 100644 --- a/doc/man/nvme_mi_mi_opcode.2 +++ b/doc/man/nvme_mi_mi_opcode.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_mi_mi_opcode" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_mi_mi_opcode" "October 2024" "API Manual" LINUX .SH NAME enum nvme_mi_mi_opcode \- Operation code for supported NVMe-MI commands. .SH SYNOPSIS diff --git a/doc/man/nvme_mi_mi_read_mi_data_ctrl.2 b/doc/man/nvme_mi_mi_read_mi_data_ctrl.2 index 7886139..94364e6 100644 --- a/doc/man/nvme_mi_mi_read_mi_data_ctrl.2 +++ b/doc/man/nvme_mi_mi_read_mi_data_ctrl.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_mi_read_mi_data_ctrl" 9 "nvme_mi_mi_read_mi_data_ctrl" "August 2024" "libnvme API manual" LINUX +.TH "nvme_mi_mi_read_mi_data_ctrl" 9 "nvme_mi_mi_read_mi_data_ctrl" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_mi_read_mi_data_ctrl \- Perform a Read MI Data Structure command, retrieving controller information .SH SYNOPSIS diff --git a/doc/man/nvme_mi_mi_read_mi_data_ctrl_list.2 b/doc/man/nvme_mi_mi_read_mi_data_ctrl_list.2 index 68aa8c9..23d78eb 100644 --- a/doc/man/nvme_mi_mi_read_mi_data_ctrl_list.2 +++ b/doc/man/nvme_mi_mi_read_mi_data_ctrl_list.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_mi_read_mi_data_ctrl_list" 9 "nvme_mi_mi_read_mi_data_ctrl_list" "August 2024" "libnvme API manual" LINUX +.TH "nvme_mi_mi_read_mi_data_ctrl_list" 9 "nvme_mi_mi_read_mi_data_ctrl_list" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_mi_read_mi_data_ctrl_list \- Perform a Read MI Data Structure command, retrieving the list of attached controllers. .SH SYNOPSIS diff --git a/doc/man/nvme_mi_mi_read_mi_data_port.2 b/doc/man/nvme_mi_mi_read_mi_data_port.2 index 961f99a..621924e 100644 --- a/doc/man/nvme_mi_mi_read_mi_data_port.2 +++ b/doc/man/nvme_mi_mi_read_mi_data_port.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_mi_read_mi_data_port" 9 "nvme_mi_mi_read_mi_data_port" "August 2024" "libnvme API manual" LINUX +.TH "nvme_mi_mi_read_mi_data_port" 9 "nvme_mi_mi_read_mi_data_port" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_mi_read_mi_data_port \- Perform a Read MI Data Structure command, retrieving port data. .SH SYNOPSIS diff --git a/doc/man/nvme_mi_mi_read_mi_data_subsys.2 b/doc/man/nvme_mi_mi_read_mi_data_subsys.2 index 6e571c6..92aaf81 100644 --- a/doc/man/nvme_mi_mi_read_mi_data_subsys.2 +++ b/doc/man/nvme_mi_mi_read_mi_data_subsys.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_mi_read_mi_data_subsys" 9 "nvme_mi_mi_read_mi_data_subsys" "August 2024" "libnvme API manual" LINUX +.TH "nvme_mi_mi_read_mi_data_subsys" 9 "nvme_mi_mi_read_mi_data_subsys" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_mi_read_mi_data_subsys \- Perform a Read MI Data Structure command, retrieving subsystem data. .SH SYNOPSIS diff --git a/doc/man/nvme_mi_mi_req_hdr.2 b/doc/man/nvme_mi_mi_req_hdr.2 index d2a332f..47d66c6 100644 --- a/doc/man/nvme_mi_mi_req_hdr.2 +++ b/doc/man/nvme_mi_mi_req_hdr.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_mi_mi_req_hdr" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_mi_mi_req_hdr" "October 2024" "API Manual" LINUX .SH NAME struct nvme_mi_mi_req_hdr \- MI request message header. .SH SYNOPSIS diff --git a/doc/man/nvme_mi_mi_resp_hdr.2 b/doc/man/nvme_mi_mi_resp_hdr.2 index 63164c5..c793905 100644 --- a/doc/man/nvme_mi_mi_resp_hdr.2 +++ b/doc/man/nvme_mi_mi_resp_hdr.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_mi_mi_resp_hdr" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_mi_mi_resp_hdr" "October 2024" "API Manual" LINUX .SH NAME struct nvme_mi_mi_resp_hdr \- MI response message header. .SH SYNOPSIS diff --git a/doc/man/nvme_mi_mi_subsystem_health_status_poll.2 b/doc/man/nvme_mi_mi_subsystem_health_status_poll.2 index aa703ac..babe592 100644 --- a/doc/man/nvme_mi_mi_subsystem_health_status_poll.2 +++ b/doc/man/nvme_mi_mi_subsystem_health_status_poll.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_mi_subsystem_health_status_poll" 9 "nvme_mi_mi_subsystem_health_status_poll" "August 2024" "libnvme API manual" LINUX +.TH "nvme_mi_mi_subsystem_health_status_poll" 9 "nvme_mi_mi_subsystem_health_status_poll" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_mi_subsystem_health_status_poll \- Read the Subsystem Health Data Structure from the NVM subsystem .SH SYNOPSIS diff --git a/doc/man/nvme_mi_msg_hdr.2 b/doc/man/nvme_mi_msg_hdr.2 index 39cdfd2..3663481 100644 --- a/doc/man/nvme_mi_msg_hdr.2 +++ b/doc/man/nvme_mi_msg_hdr.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_mi_msg_hdr" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_mi_msg_hdr" "October 2024" "API Manual" LINUX .SH NAME struct nvme_mi_msg_hdr \- General MI message header. .SH SYNOPSIS diff --git a/doc/man/nvme_mi_msg_resp.2 b/doc/man/nvme_mi_msg_resp.2 index b885151..c4019ac 100644 --- a/doc/man/nvme_mi_msg_resp.2 +++ b/doc/man/nvme_mi_msg_resp.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_mi_msg_resp" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_mi_msg_resp" "October 2024" "API Manual" LINUX .SH NAME struct nvme_mi_msg_resp \- Generic response type. .SH SYNOPSIS diff --git a/doc/man/nvme_mi_nvm_ss_health_status.2 b/doc/man/nvme_mi_nvm_ss_health_status.2 index 900c57c..b0a8823 100644 --- a/doc/man/nvme_mi_nvm_ss_health_status.2 +++ b/doc/man/nvme_mi_nvm_ss_health_status.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_mi_nvm_ss_health_status" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_mi_nvm_ss_health_status" "October 2024" "API Manual" LINUX .SH NAME struct nvme_mi_nvm_ss_health_status \- Subsystem Management Data Structure .SH SYNOPSIS diff --git a/doc/man/nvme_mi_open_mctp.2 b/doc/man/nvme_mi_open_mctp.2 index d13c9d6..374336a 100644 --- a/doc/man/nvme_mi_open_mctp.2 +++ b/doc/man/nvme_mi_open_mctp.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_open_mctp" 9 "nvme_mi_open_mctp" "August 2024" "libnvme API manual" LINUX +.TH "nvme_mi_open_mctp" 9 "nvme_mi_open_mctp" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_open_mctp \- Create an endpoint using a MCTP connection. .SH SYNOPSIS diff --git a/doc/man/nvme_mi_osc.2 b/doc/man/nvme_mi_osc.2 index 766b9d0..02147b6 100644 --- a/doc/man/nvme_mi_osc.2 +++ b/doc/man/nvme_mi_osc.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_mi_osc" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_mi_osc" "October 2024" "API Manual" LINUX .SH NAME struct nvme_mi_osc \- Optionally Supported Command Data Structure .SH SYNOPSIS diff --git a/doc/man/nvme_mi_port_pcie.2 b/doc/man/nvme_mi_port_pcie.2 index 95060c0..805ad6c 100644 --- a/doc/man/nvme_mi_port_pcie.2 +++ b/doc/man/nvme_mi_port_pcie.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_mi_port_pcie" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_mi_port_pcie" "October 2024" "API Manual" LINUX .SH NAME struct nvme_mi_port_pcie \- PCIe Port Specific Data .SH SYNOPSIS diff --git a/doc/man/nvme_mi_port_smb.2 b/doc/man/nvme_mi_port_smb.2 index 42e0466..11cd3f9 100644 --- a/doc/man/nvme_mi_port_smb.2 +++ b/doc/man/nvme_mi_port_smb.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_mi_port_smb" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_mi_port_smb" "October 2024" "API Manual" LINUX .SH NAME struct nvme_mi_port_smb \- SMBus Port Specific Data .SH SYNOPSIS diff --git a/doc/man/nvme_mi_read_ctrl_info.2 b/doc/man/nvme_mi_read_ctrl_info.2 index 0b526c4..e1ac427 100644 --- a/doc/man/nvme_mi_read_ctrl_info.2 +++ b/doc/man/nvme_mi_read_ctrl_info.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_mi_read_ctrl_info" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_mi_read_ctrl_info" "October 2024" "API Manual" LINUX .SH NAME struct nvme_mi_read_ctrl_info \- Controller Information Data Structure .SH SYNOPSIS diff --git a/doc/man/nvme_mi_read_nvm_ss_info.2 b/doc/man/nvme_mi_read_nvm_ss_info.2 index 2a31c4c..aad5603 100644 --- a/doc/man/nvme_mi_read_nvm_ss_info.2 +++ b/doc/man/nvme_mi_read_nvm_ss_info.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_mi_read_nvm_ss_info" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_mi_read_nvm_ss_info" "October 2024" "API Manual" LINUX .SH NAME struct nvme_mi_read_nvm_ss_info \- NVM Subsystem Information Data Structure .SH SYNOPSIS diff --git a/doc/man/nvme_mi_read_port_info.2 b/doc/man/nvme_mi_read_port_info.2 index 5782511..bbb4dce 100644 --- a/doc/man/nvme_mi_read_port_info.2 +++ b/doc/man/nvme_mi_read_port_info.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_mi_read_port_info" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_mi_read_port_info" "October 2024" "API Manual" LINUX .SH NAME struct nvme_mi_read_port_info \- Port Information Data Structure .SH SYNOPSIS diff --git a/doc/man/nvme_mi_read_sc_list.2 b/doc/man/nvme_mi_read_sc_list.2 index 2cb198d..3890711 100644 --- a/doc/man/nvme_mi_read_sc_list.2 +++ b/doc/man/nvme_mi_read_sc_list.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_mi_read_sc_list" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_mi_read_sc_list" "October 2024" "API Manual" LINUX .SH NAME struct nvme_mi_read_sc_list \- Management Endpoint Buffer Supported Command List Data Structure .SH SYNOPSIS diff --git a/doc/man/nvme_mi_resp_status.2 b/doc/man/nvme_mi_resp_status.2 index 1cf8f30..ae2ce01 100644 --- a/doc/man/nvme_mi_resp_status.2 +++ b/doc/man/nvme_mi_resp_status.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_mi_resp_status" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_mi_resp_status" "October 2024" "API Manual" LINUX .SH NAME enum nvme_mi_resp_status \- values for the response status field .SH SYNOPSIS diff --git a/doc/man/nvme_mi_set_probe_enabled.2 b/doc/man/nvme_mi_set_probe_enabled.2 index 27bd685..466848f 100644 --- a/doc/man/nvme_mi_set_probe_enabled.2 +++ b/doc/man/nvme_mi_set_probe_enabled.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_set_probe_enabled" 9 "nvme_mi_set_probe_enabled" "August 2024" "libnvme API manual" LINUX +.TH "nvme_mi_set_probe_enabled" 9 "nvme_mi_set_probe_enabled" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_set_probe_enabled \- enable/disable the probe for new endpoints .SH SYNOPSIS diff --git a/doc/man/nvme_mi_status_to_string.2 b/doc/man/nvme_mi_status_to_string.2 index 513cb48..1b16604 100644 --- a/doc/man/nvme_mi_status_to_string.2 +++ b/doc/man/nvme_mi_status_to_string.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_status_to_string" 9 "nvme_mi_status_to_string" "August 2024" "libnvme API manual" LINUX +.TH "nvme_mi_status_to_string" 9 "nvme_mi_status_to_string" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_status_to_string \- return a string representation of the MI status. .SH SYNOPSIS diff --git a/doc/man/nvme_mi_vpd_hdr.2 b/doc/man/nvme_mi_vpd_hdr.2 index c5400a1..d2f1208 100644 --- a/doc/man/nvme_mi_vpd_hdr.2 +++ b/doc/man/nvme_mi_vpd_hdr.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_mi_vpd_hdr" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_mi_vpd_hdr" "October 2024" "API Manual" LINUX .SH NAME struct nvme_mi_vpd_hdr \- Vital Product Data Common Header .SH SYNOPSIS diff --git a/doc/man/nvme_mi_vpd_mr_common.2 b/doc/man/nvme_mi_vpd_mr_common.2 index 884fcd9..5d3fb67 100644 --- a/doc/man/nvme_mi_vpd_mr_common.2 +++ b/doc/man/nvme_mi_vpd_mr_common.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_mi_vpd_mr_common" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_mi_vpd_mr_common" "October 2024" "API Manual" LINUX .SH NAME struct nvme_mi_vpd_mr_common \- NVMe MultiRecord Area .SH SYNOPSIS diff --git a/doc/man/nvme_mi_vpd_mra.2 b/doc/man/nvme_mi_vpd_mra.2 index e2b59ee..0433aba 100644 --- a/doc/man/nvme_mi_vpd_mra.2 +++ b/doc/man/nvme_mi_vpd_mra.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_mi_vpd_mra" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_mi_vpd_mra" "October 2024" "API Manual" LINUX .SH NAME struct nvme_mi_vpd_mra \- NVMe MultiRecord Area .SH SYNOPSIS diff --git a/doc/man/nvme_mi_vpd_ppmra.2 b/doc/man/nvme_mi_vpd_ppmra.2 index a8e9ac1..3c4debc 100644 --- a/doc/man/nvme_mi_vpd_ppmra.2 +++ b/doc/man/nvme_mi_vpd_ppmra.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_mi_vpd_ppmra" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_mi_vpd_ppmra" "October 2024" "API Manual" LINUX .SH NAME struct nvme_mi_vpd_ppmra \- NVMe PCIe Port MultiRecord Area .SH SYNOPSIS diff --git a/doc/man/nvme_mi_vpd_telem.2 b/doc/man/nvme_mi_vpd_telem.2 index 0ecffd6..e6d167a 100644 --- a/doc/man/nvme_mi_vpd_telem.2 +++ b/doc/man/nvme_mi_vpd_telem.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_mi_vpd_telem" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_mi_vpd_telem" "October 2024" "API Manual" LINUX .SH NAME struct nvme_mi_vpd_telem \- Vital Product Data Element Descriptor .SH SYNOPSIS diff --git a/doc/man/nvme_mi_vpd_tra.2 b/doc/man/nvme_mi_vpd_tra.2 index be83c77..160c5b3 100644 --- a/doc/man/nvme_mi_vpd_tra.2 +++ b/doc/man/nvme_mi_vpd_tra.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_mi_vpd_tra" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_mi_vpd_tra" "October 2024" "API Manual" LINUX .SH NAME struct nvme_mi_vpd_tra \- Vital Product Data Topology MultiRecord .SH SYNOPSIS diff --git a/doc/man/nvme_namespace_attach_ctrls.2 b/doc/man/nvme_namespace_attach_ctrls.2 index 316c908..9b42da6 100644 --- a/doc/man/nvme_namespace_attach_ctrls.2 +++ b/doc/man/nvme_namespace_attach_ctrls.2 @@ -1,4 +1,4 @@ -.TH "nvme_namespace_attach_ctrls" 9 "nvme_namespace_attach_ctrls" "August 2024" "libnvme API manual" LINUX +.TH "nvme_namespace_attach_ctrls" 9 "nvme_namespace_attach_ctrls" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_namespace_attach_ctrls \- Attach namespace to controller(s) .SH SYNOPSIS diff --git a/doc/man/nvme_namespace_detach_ctrls.2 b/doc/man/nvme_namespace_detach_ctrls.2 index 2018ca8..9606bc2 100644 --- a/doc/man/nvme_namespace_detach_ctrls.2 +++ b/doc/man/nvme_namespace_detach_ctrls.2 @@ -1,4 +1,4 @@ -.TH "nvme_namespace_detach_ctrls" 9 "nvme_namespace_detach_ctrls" "August 2024" "libnvme API manual" LINUX +.TH "nvme_namespace_detach_ctrls" 9 "nvme_namespace_detach_ctrls" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_namespace_detach_ctrls \- Detach namespace from controller(s) .SH SYNOPSIS diff --git a/doc/man/nvme_namespace_filter.2 b/doc/man/nvme_namespace_filter.2 index 2d4d5e4..f95985f 100644 --- a/doc/man/nvme_namespace_filter.2 +++ b/doc/man/nvme_namespace_filter.2 @@ -1,4 +1,4 @@ -.TH "nvme_namespace_filter" 9 "nvme_namespace_filter" "August 2024" "libnvme API manual" LINUX +.TH "nvme_namespace_filter" 9 "nvme_namespace_filter" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_namespace_filter \- Filter for namespaces .SH SYNOPSIS diff --git a/doc/man/nvme_namespace_first_path.2 b/doc/man/nvme_namespace_first_path.2 index c67a1b1..2a67457 100644 --- a/doc/man/nvme_namespace_first_path.2 +++ b/doc/man/nvme_namespace_first_path.2 @@ -1,4 +1,4 @@ -.TH "nvme_namespace_first_path" 9 "nvme_namespace_first_path" "August 2024" "libnvme API manual" LINUX +.TH "nvme_namespace_first_path" 9 "nvme_namespace_first_path" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_namespace_first_path \- Start path iterator .SH SYNOPSIS diff --git a/doc/man/nvme_namespace_for_each_path.2 b/doc/man/nvme_namespace_for_each_path.2 index 3d474b8..8abcc9d 100644 --- a/doc/man/nvme_namespace_for_each_path.2 +++ b/doc/man/nvme_namespace_for_each_path.2 @@ -1,4 +1,4 @@ -.TH "nvme_namespace_for_each_path" 9 "nvme_namespace_for_each_path" "August 2024" "libnvme API manual" LINUX +.TH "nvme_namespace_for_each_path" 9 "nvme_namespace_for_each_path" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_namespace_for_each_path \- Traverse paths .SH SYNOPSIS diff --git a/doc/man/nvme_namespace_for_each_path_safe.2 b/doc/man/nvme_namespace_for_each_path_safe.2 index 3800809..763da68 100644 --- a/doc/man/nvme_namespace_for_each_path_safe.2 +++ b/doc/man/nvme_namespace_for_each_path_safe.2 @@ -1,4 +1,4 @@ -.TH "nvme_namespace_for_each_path_safe" 9 "nvme_namespace_for_each_path_safe" "August 2024" "libnvme API manual" LINUX +.TH "nvme_namespace_for_each_path_safe" 9 "nvme_namespace_for_each_path_safe" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_namespace_for_each_path_safe \- Traverse paths .SH SYNOPSIS diff --git a/doc/man/nvme_namespace_next_path.2 b/doc/man/nvme_namespace_next_path.2 index 5749c9c..9ad4857 100644 --- a/doc/man/nvme_namespace_next_path.2 +++ b/doc/man/nvme_namespace_next_path.2 @@ -1,4 +1,4 @@ -.TH "nvme_namespace_next_path" 9 "nvme_namespace_next_path" "August 2024" "libnvme API manual" LINUX +.TH "nvme_namespace_next_path" 9 "nvme_namespace_next_path" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_namespace_next_path \- Next path iterator .SH SYNOPSIS diff --git a/doc/man/nvme_nbft_free.2 b/doc/man/nvme_nbft_free.2 index f59ac2c..d5527fd 100644 --- a/doc/man/nvme_nbft_free.2 +++ b/doc/man/nvme_nbft_free.2 @@ -1,4 +1,4 @@ -.TH "nvme_nbft_free" 9 "nvme_nbft_free" "August 2024" "libnvme API manual" LINUX +.TH "nvme_nbft_free" 9 "nvme_nbft_free" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_nbft_free \- Free the struct nbft_info and its contents .SH SYNOPSIS diff --git a/doc/man/nvme_nbft_read.2 b/doc/man/nvme_nbft_read.2 index 8c84988..ea7c9f5 100644 --- a/doc/man/nvme_nbft_read.2 +++ b/doc/man/nvme_nbft_read.2 @@ -1,4 +1,4 @@ -.TH "nvme_nbft_read" 9 "nvme_nbft_read" "August 2024" "libnvme API manual" LINUX +.TH "nvme_nbft_read" 9 "nvme_nbft_read" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_nbft_read \- Read and parse contents of an ACPI NBFT table .SH SYNOPSIS diff --git a/doc/man/nvme_nd_ns_fpi.2 b/doc/man/nvme_nd_ns_fpi.2 index 649e0c2..4f139d6 100644 --- a/doc/man/nvme_nd_ns_fpi.2 +++ b/doc/man/nvme_nd_ns_fpi.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_nd_ns_fpi" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_nd_ns_fpi" "October 2024" "API Manual" LINUX .SH NAME enum nvme_nd_ns_fpi \- If a format operation is in progress, this field indicates the percentage of the namespace that remains to be formatted. .SH SYNOPSIS diff --git a/doc/man/nvme_next_host.2 b/doc/man/nvme_next_host.2 index 62a6e98..83a101f 100644 --- a/doc/man/nvme_next_host.2 +++ b/doc/man/nvme_next_host.2 @@ -1,4 +1,4 @@ -.TH "nvme_next_host" 9 "nvme_next_host" "August 2024" "libnvme API manual" LINUX +.TH "nvme_next_host" 9 "nvme_next_host" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_next_host \- Next host iterator .SH SYNOPSIS diff --git a/doc/man/nvme_next_subsystem.2 b/doc/man/nvme_next_subsystem.2 index 4fec85f..7596a69 100644 --- a/doc/man/nvme_next_subsystem.2 +++ b/doc/man/nvme_next_subsystem.2 @@ -1,4 +1,4 @@ -.TH "nvme_next_subsystem" 9 "nvme_next_subsystem" "August 2024" "libnvme API manual" LINUX +.TH "nvme_next_subsystem" 9 "nvme_next_subsystem" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_next_subsystem \- Next subsystem iterator .SH SYNOPSIS diff --git a/doc/man/nvme_ns_attach.2 b/doc/man/nvme_ns_attach.2 index 3a46f9b..5a49e69 100644 --- a/doc/man/nvme_ns_attach.2 +++ b/doc/man/nvme_ns_attach.2 @@ -1,4 +1,4 @@ -.TH "nvme_ns_attach" 9 "nvme_ns_attach" "August 2024" "libnvme API manual" LINUX +.TH "nvme_ns_attach" 9 "nvme_ns_attach" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_ns_attach \- Attach or detach namespace to controller(s) .SH SYNOPSIS diff --git a/doc/man/nvme_ns_attach_ctrls.2 b/doc/man/nvme_ns_attach_ctrls.2 index fe9d7f7..3f29a6d 100644 --- a/doc/man/nvme_ns_attach_ctrls.2 +++ b/doc/man/nvme_ns_attach_ctrls.2 @@ -1,4 +1,4 @@ -.TH "nvme_ns_attach_ctrls" 9 "nvme_ns_attach_ctrls" "August 2024" "libnvme API manual" LINUX +.TH "nvme_ns_attach_ctrls" 9 "nvme_ns_attach_ctrls" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_ns_attach_ctrls \- Attach namespace to controllers .SH SYNOPSIS diff --git a/doc/man/nvme_ns_attach_sel.2 b/doc/man/nvme_ns_attach_sel.2 index 81dc8e2..580de4b 100644 --- a/doc/man/nvme_ns_attach_sel.2 +++ b/doc/man/nvme_ns_attach_sel.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_ns_attach_sel" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_ns_attach_sel" "October 2024" "API Manual" LINUX .SH NAME enum nvme_ns_attach_sel \- Namespace Attachment - Select .SH SYNOPSIS diff --git a/doc/man/nvme_ns_compare.2 b/doc/man/nvme_ns_compare.2 index 15dec88..61738cc 100644 --- a/doc/man/nvme_ns_compare.2 +++ b/doc/man/nvme_ns_compare.2 @@ -1,4 +1,4 @@ -.TH "nvme_ns_compare" 9 "nvme_ns_compare" "August 2024" "libnvme API manual" LINUX +.TH "nvme_ns_compare" 9 "nvme_ns_compare" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_ns_compare \- Compare data on a namespace .SH SYNOPSIS diff --git a/doc/man/nvme_ns_detach_ctrls.2 b/doc/man/nvme_ns_detach_ctrls.2 index 83e5b6b..c0a4fb9 100644 --- a/doc/man/nvme_ns_detach_ctrls.2 +++ b/doc/man/nvme_ns_detach_ctrls.2 @@ -1,4 +1,4 @@ -.TH "nvme_ns_detach_ctrls" 9 "nvme_ns_detach_ctrls" "August 2024" "libnvme API manual" LINUX +.TH "nvme_ns_detach_ctrls" 9 "nvme_ns_detach_ctrls" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_ns_detach_ctrls \- Detach namespace from controllers .SH SYNOPSIS diff --git a/doc/man/nvme_ns_flush.2 b/doc/man/nvme_ns_flush.2 index a1e1403..d14be33 100644 --- a/doc/man/nvme_ns_flush.2 +++ b/doc/man/nvme_ns_flush.2 @@ -1,4 +1,4 @@ -.TH "nvme_ns_flush" 9 "nvme_ns_flush" "August 2024" "libnvme API manual" LINUX +.TH "nvme_ns_flush" 9 "nvme_ns_flush" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_ns_flush \- Flush data to a namespace .SH SYNOPSIS diff --git a/doc/man/nvme_ns_get_csi.2 b/doc/man/nvme_ns_get_csi.2 index 810cf78..36aa093 100644 --- a/doc/man/nvme_ns_get_csi.2 +++ b/doc/man/nvme_ns_get_csi.2 @@ -1,4 +1,4 @@ -.TH "nvme_ns_get_csi" 9 "nvme_ns_get_csi" "August 2024" "libnvme API manual" LINUX +.TH "nvme_ns_get_csi" 9 "nvme_ns_get_csi" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_ns_get_csi \- Command set identifier of a namespace .SH SYNOPSIS diff --git a/doc/man/nvme_ns_get_ctrl.2 b/doc/man/nvme_ns_get_ctrl.2 index a9497d5..765c822 100644 --- a/doc/man/nvme_ns_get_ctrl.2 +++ b/doc/man/nvme_ns_get_ctrl.2 @@ -1,4 +1,4 @@ -.TH "nvme_ns_get_ctrl" 9 "nvme_ns_get_ctrl" "August 2024" "libnvme API manual" LINUX +.TH "nvme_ns_get_ctrl" 9 "nvme_ns_get_ctrl" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_ns_get_ctrl \- &nvme_ctrl_t of a namespace .SH SYNOPSIS diff --git a/doc/man/nvme_ns_get_eui64.2 b/doc/man/nvme_ns_get_eui64.2 index 639aa4e..ee7dcbc 100644 --- a/doc/man/nvme_ns_get_eui64.2 +++ b/doc/man/nvme_ns_get_eui64.2 @@ -1,4 +1,4 @@ -.TH "nvme_ns_get_eui64" 9 "nvme_ns_get_eui64" "August 2024" "libnvme API manual" LINUX +.TH "nvme_ns_get_eui64" 9 "nvme_ns_get_eui64" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_ns_get_eui64 \- 64-bit eui of a namespace .SH SYNOPSIS diff --git a/doc/man/nvme_ns_get_fd.2 b/doc/man/nvme_ns_get_fd.2 index 213179a..f336aa7 100644 --- a/doc/man/nvme_ns_get_fd.2 +++ b/doc/man/nvme_ns_get_fd.2 @@ -1,4 +1,4 @@ -.TH "nvme_ns_get_fd" 9 "nvme_ns_get_fd" "August 2024" "libnvme API manual" LINUX +.TH "nvme_ns_get_fd" 9 "nvme_ns_get_fd" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_ns_get_fd \- Get associated file descriptor .SH SYNOPSIS diff --git a/doc/man/nvme_ns_get_firmware.2 b/doc/man/nvme_ns_get_firmware.2 index 02a0243..766d165 100644 --- a/doc/man/nvme_ns_get_firmware.2 +++ b/doc/man/nvme_ns_get_firmware.2 @@ -1,4 +1,4 @@ -.TH "nvme_ns_get_firmware" 9 "nvme_ns_get_firmware" "August 2024" "libnvme API manual" LINUX +.TH "nvme_ns_get_firmware" 9 "nvme_ns_get_firmware" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_ns_get_firmware \- Firmware string of a namespace .SH SYNOPSIS diff --git a/doc/man/nvme_ns_get_generic_name.2 b/doc/man/nvme_ns_get_generic_name.2 index dbe912c..c202dbc 100644 --- a/doc/man/nvme_ns_get_generic_name.2 +++ b/doc/man/nvme_ns_get_generic_name.2 @@ -1,4 +1,4 @@ -.TH "nvme_ns_get_generic_name" 9 "nvme_ns_get_generic_name" "August 2024" "libnvme API manual" LINUX +.TH "nvme_ns_get_generic_name" 9 "nvme_ns_get_generic_name" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_ns_get_generic_name \- Returns name of generic namespace chardev. .SH SYNOPSIS diff --git a/doc/man/nvme_ns_get_lba_count.2 b/doc/man/nvme_ns_get_lba_count.2 index f812e4e..9b6f608 100644 --- a/doc/man/nvme_ns_get_lba_count.2 +++ b/doc/man/nvme_ns_get_lba_count.2 @@ -1,4 +1,4 @@ -.TH "nvme_ns_get_lba_count" 9 "nvme_ns_get_lba_count" "August 2024" "libnvme API manual" LINUX +.TH "nvme_ns_get_lba_count" 9 "nvme_ns_get_lba_count" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_ns_get_lba_count \- LBA count of a namespace .SH SYNOPSIS diff --git a/doc/man/nvme_ns_get_lba_size.2 b/doc/man/nvme_ns_get_lba_size.2 index 43d5019..7d2ff59 100644 --- a/doc/man/nvme_ns_get_lba_size.2 +++ b/doc/man/nvme_ns_get_lba_size.2 @@ -1,4 +1,4 @@ -.TH "nvme_ns_get_lba_size" 9 "nvme_ns_get_lba_size" "August 2024" "libnvme API manual" LINUX +.TH "nvme_ns_get_lba_size" 9 "nvme_ns_get_lba_size" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_ns_get_lba_size \- LBA size of a namespace .SH SYNOPSIS diff --git a/doc/man/nvme_ns_get_lba_util.2 b/doc/man/nvme_ns_get_lba_util.2 index 06d2d79..c6ff9a5 100644 --- a/doc/man/nvme_ns_get_lba_util.2 +++ b/doc/man/nvme_ns_get_lba_util.2 @@ -1,4 +1,4 @@ -.TH "nvme_ns_get_lba_util" 9 "nvme_ns_get_lba_util" "August 2024" "libnvme API manual" LINUX +.TH "nvme_ns_get_lba_util" 9 "nvme_ns_get_lba_util" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_ns_get_lba_util \- LBA utilization of a namespace .SH SYNOPSIS diff --git a/doc/man/nvme_ns_get_meta_size.2 b/doc/man/nvme_ns_get_meta_size.2 index 3f9b080..52958ae 100644 --- a/doc/man/nvme_ns_get_meta_size.2 +++ b/doc/man/nvme_ns_get_meta_size.2 @@ -1,4 +1,4 @@ -.TH "nvme_ns_get_meta_size" 9 "nvme_ns_get_meta_size" "August 2024" "libnvme API manual" LINUX +.TH "nvme_ns_get_meta_size" 9 "nvme_ns_get_meta_size" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_ns_get_meta_size \- Metadata size of a namespace .SH SYNOPSIS diff --git a/doc/man/nvme_ns_get_model.2 b/doc/man/nvme_ns_get_model.2 index cf92221..958e559 100644 --- a/doc/man/nvme_ns_get_model.2 +++ b/doc/man/nvme_ns_get_model.2 @@ -1,4 +1,4 @@ -.TH "nvme_ns_get_model" 9 "nvme_ns_get_model" "August 2024" "libnvme API manual" LINUX +.TH "nvme_ns_get_model" 9 "nvme_ns_get_model" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_ns_get_model \- Model of a namespace .SH SYNOPSIS diff --git a/doc/man/nvme_ns_get_name.2 b/doc/man/nvme_ns_get_name.2 index fb6fe13..b265e2b 100644 --- a/doc/man/nvme_ns_get_name.2 +++ b/doc/man/nvme_ns_get_name.2 @@ -1,4 +1,4 @@ -.TH "nvme_ns_get_name" 9 "nvme_ns_get_name" "August 2024" "libnvme API manual" LINUX +.TH "nvme_ns_get_name" 9 "nvme_ns_get_name" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_ns_get_name \- sysfs name of a namespace .SH SYNOPSIS diff --git a/doc/man/nvme_ns_get_nguid.2 b/doc/man/nvme_ns_get_nguid.2 index 8d35ae6..ccec070 100644 --- a/doc/man/nvme_ns_get_nguid.2 +++ b/doc/man/nvme_ns_get_nguid.2 @@ -1,4 +1,4 @@ -.TH "nvme_ns_get_nguid" 9 "nvme_ns_get_nguid" "August 2024" "libnvme API manual" LINUX +.TH "nvme_ns_get_nguid" 9 "nvme_ns_get_nguid" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_ns_get_nguid \- 128-bit nguid of a namespace .SH SYNOPSIS diff --git a/doc/man/nvme_ns_get_nsid.2 b/doc/man/nvme_ns_get_nsid.2 index c283e18..63369fe 100644 --- a/doc/man/nvme_ns_get_nsid.2 +++ b/doc/man/nvme_ns_get_nsid.2 @@ -1,4 +1,4 @@ -.TH "nvme_ns_get_nsid" 9 "nvme_ns_get_nsid" "August 2024" "libnvme API manual" LINUX +.TH "nvme_ns_get_nsid" 9 "nvme_ns_get_nsid" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_ns_get_nsid \- NSID of a namespace .SH SYNOPSIS diff --git a/doc/man/nvme_ns_get_serial.2 b/doc/man/nvme_ns_get_serial.2 index 47c27ca..1721e02 100644 --- a/doc/man/nvme_ns_get_serial.2 +++ b/doc/man/nvme_ns_get_serial.2 @@ -1,4 +1,4 @@ -.TH "nvme_ns_get_serial" 9 "nvme_ns_get_serial" "August 2024" "libnvme API manual" LINUX +.TH "nvme_ns_get_serial" 9 "nvme_ns_get_serial" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_ns_get_serial \- Serial number of a namespace .SH SYNOPSIS diff --git a/doc/man/nvme_ns_get_subsystem.2 b/doc/man/nvme_ns_get_subsystem.2 index 6735255..4d5e47b 100644 --- a/doc/man/nvme_ns_get_subsystem.2 +++ b/doc/man/nvme_ns_get_subsystem.2 @@ -1,4 +1,4 @@ -.TH "nvme_ns_get_subsystem" 9 "nvme_ns_get_subsystem" "August 2024" "libnvme API manual" LINUX +.TH "nvme_ns_get_subsystem" 9 "nvme_ns_get_subsystem" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_ns_get_subsystem \- &nvme_subsystem_t of a namespace .SH SYNOPSIS diff --git a/doc/man/nvme_ns_get_sysfs_dir.2 b/doc/man/nvme_ns_get_sysfs_dir.2 index c50233f..8303b4f 100644 --- a/doc/man/nvme_ns_get_sysfs_dir.2 +++ b/doc/man/nvme_ns_get_sysfs_dir.2 @@ -1,4 +1,4 @@ -.TH "nvme_ns_get_sysfs_dir" 9 "nvme_ns_get_sysfs_dir" "August 2024" "libnvme API manual" LINUX +.TH "nvme_ns_get_sysfs_dir" 9 "nvme_ns_get_sysfs_dir" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_ns_get_sysfs_dir \- sysfs directory of a namespace .SH SYNOPSIS diff --git a/doc/man/nvme_ns_get_uuid.2 b/doc/man/nvme_ns_get_uuid.2 index 009a62d..661f76e 100644 --- a/doc/man/nvme_ns_get_uuid.2 +++ b/doc/man/nvme_ns_get_uuid.2 @@ -1,4 +1,4 @@ -.TH "nvme_ns_get_uuid" 9 "nvme_ns_get_uuid" "August 2024" "libnvme API manual" LINUX +.TH "nvme_ns_get_uuid" 9 "nvme_ns_get_uuid" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_ns_get_uuid \- UUID of a namespace .SH SYNOPSIS diff --git a/doc/man/nvme_ns_id_desc.2 b/doc/man/nvme_ns_id_desc.2 index ecf27ec..5eeecb3 100644 --- a/doc/man/nvme_ns_id_desc.2 +++ b/doc/man/nvme_ns_id_desc.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_ns_id_desc" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_ns_id_desc" "October 2024" "API Manual" LINUX .SH NAME struct nvme_ns_id_desc \- Namespace identifier type descriptor .SH SYNOPSIS diff --git a/doc/man/nvme_ns_id_desc_nidt.2 b/doc/man/nvme_ns_id_desc_nidt.2 index d89f89a..8c74ac1 100644 --- a/doc/man/nvme_ns_id_desc_nidt.2 +++ b/doc/man/nvme_ns_id_desc_nidt.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_ns_id_desc_nidt" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_ns_id_desc_nidt" "October 2024" "API Manual" LINUX .SH NAME enum nvme_ns_id_desc_nidt \- Known namespace identifier types .SH SYNOPSIS diff --git a/doc/man/nvme_ns_identify.2 b/doc/man/nvme_ns_identify.2 index a9d502a..df2df23 100644 --- a/doc/man/nvme_ns_identify.2 +++ b/doc/man/nvme_ns_identify.2 @@ -1,4 +1,4 @@ -.TH "nvme_ns_identify" 9 "nvme_ns_identify" "August 2024" "libnvme API manual" LINUX +.TH "nvme_ns_identify" 9 "nvme_ns_identify" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_ns_identify \- Issue an 'identify namespace' command .SH SYNOPSIS diff --git a/doc/man/nvme_ns_identify_descs.2 b/doc/man/nvme_ns_identify_descs.2 index c45dcf1..8ad90ab 100644 --- a/doc/man/nvme_ns_identify_descs.2 +++ b/doc/man/nvme_ns_identify_descs.2 @@ -1,4 +1,4 @@ -.TH "nvme_ns_identify_descs" 9 "nvme_ns_identify_descs" "August 2024" "libnvme API manual" LINUX +.TH "nvme_ns_identify_descs" 9 "nvme_ns_identify_descs" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_ns_identify_descs \- Issue an 'identify descriptors' command .SH SYNOPSIS diff --git a/doc/man/nvme_ns_list.2 b/doc/man/nvme_ns_list.2 index 565bee2..df820e9 100644 --- a/doc/man/nvme_ns_list.2 +++ b/doc/man/nvme_ns_list.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_ns_list" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_ns_list" "October 2024" "API Manual" LINUX .SH NAME struct nvme_ns_list \- Namespace List .SH SYNOPSIS diff --git a/doc/man/nvme_ns_metadata_type.2 b/doc/man/nvme_ns_metadata_type.2 index 068e3eb..93e940d 100644 --- a/doc/man/nvme_ns_metadata_type.2 +++ b/doc/man/nvme_ns_metadata_type.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_ns_metadata_type" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_ns_metadata_type" "October 2024" "API Manual" LINUX .SH NAME enum nvme_ns_metadata_type \- Namespace Metadata Element Types .SH SYNOPSIS diff --git a/doc/man/nvme_ns_mgmt.2 b/doc/man/nvme_ns_mgmt.2 index 34a0bcc..b01b441 100644 --- a/doc/man/nvme_ns_mgmt.2 +++ b/doc/man/nvme_ns_mgmt.2 @@ -1,4 +1,4 @@ -.TH "nvme_ns_mgmt" 9 "nvme_ns_mgmt" "August 2024" "libnvme API manual" LINUX +.TH "nvme_ns_mgmt" 9 "nvme_ns_mgmt" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_ns_mgmt \- Issue a Namespace management command .SH SYNOPSIS diff --git a/doc/man/nvme_ns_mgmt_create.2 b/doc/man/nvme_ns_mgmt_create.2 index 695bdda..87f8b20 100644 --- a/doc/man/nvme_ns_mgmt_create.2 +++ b/doc/man/nvme_ns_mgmt_create.2 @@ -1,4 +1,4 @@ -.TH "nvme_ns_mgmt_create" 9 "nvme_ns_mgmt_create" "August 2024" "libnvme API manual" LINUX +.TH "nvme_ns_mgmt_create" 9 "nvme_ns_mgmt_create" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_ns_mgmt_create \- Create a non attached namespace .SH SYNOPSIS diff --git a/doc/man/nvme_ns_mgmt_delete.2 b/doc/man/nvme_ns_mgmt_delete.2 index 6bc8f0d..a6dab18 100644 --- a/doc/man/nvme_ns_mgmt_delete.2 +++ b/doc/man/nvme_ns_mgmt_delete.2 @@ -1,4 +1,4 @@ -.TH "nvme_ns_mgmt_delete" 9 "nvme_ns_mgmt_delete" "August 2024" "libnvme API manual" LINUX +.TH "nvme_ns_mgmt_delete" 9 "nvme_ns_mgmt_delete" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_ns_mgmt_delete \- Delete a non attached namespace .SH SYNOPSIS diff --git a/doc/man/nvme_ns_mgmt_delete_timeout.2 b/doc/man/nvme_ns_mgmt_delete_timeout.2 index 5693bd4..ab6f28b 100644 --- a/doc/man/nvme_ns_mgmt_delete_timeout.2 +++ b/doc/man/nvme_ns_mgmt_delete_timeout.2 @@ -1,4 +1,4 @@ -.TH "nvme_ns_mgmt_delete_timeout" 9 "nvme_ns_mgmt_delete_timeout" "August 2024" "libnvme API manual" LINUX +.TH "nvme_ns_mgmt_delete_timeout" 9 "nvme_ns_mgmt_delete_timeout" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_ns_mgmt_delete_timeout \- Delete a non attached namespace with timeout .SH SYNOPSIS diff --git a/doc/man/nvme_ns_mgmt_host_sw_specified.2 b/doc/man/nvme_ns_mgmt_host_sw_specified.2 index 4c34212..d523ade 100644 --- a/doc/man/nvme_ns_mgmt_host_sw_specified.2 +++ b/doc/man/nvme_ns_mgmt_host_sw_specified.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_ns_mgmt_host_sw_specified" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_ns_mgmt_host_sw_specified" "October 2024" "API Manual" LINUX .SH NAME struct nvme_ns_mgmt_host_sw_specified \- Namespace management Host Software Specified Fields. .SH SYNOPSIS diff --git a/doc/man/nvme_ns_mgmt_sel.2 b/doc/man/nvme_ns_mgmt_sel.2 index e624a0d..9d93d50 100644 --- a/doc/man/nvme_ns_mgmt_sel.2 +++ b/doc/man/nvme_ns_mgmt_sel.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_ns_mgmt_sel" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_ns_mgmt_sel" "October 2024" "API Manual" LINUX .SH NAME enum nvme_ns_mgmt_sel \- Namespace Management - Select .SH SYNOPSIS diff --git a/doc/man/nvme_ns_read.2 b/doc/man/nvme_ns_read.2 index a628863..51aafc7 100644 --- a/doc/man/nvme_ns_read.2 +++ b/doc/man/nvme_ns_read.2 @@ -1,4 +1,4 @@ -.TH "nvme_ns_read" 9 "nvme_ns_read" "August 2024" "libnvme API manual" LINUX +.TH "nvme_ns_read" 9 "nvme_ns_read" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_ns_read \- Read from a namespace .SH SYNOPSIS diff --git a/doc/man/nvme_ns_release_fd.2 b/doc/man/nvme_ns_release_fd.2 index b318700..be2d6e9 100644 --- a/doc/man/nvme_ns_release_fd.2 +++ b/doc/man/nvme_ns_release_fd.2 @@ -1,4 +1,4 @@ -.TH "nvme_ns_release_fd" 9 "nvme_ns_release_fd" "August 2024" "libnvme API manual" LINUX +.TH "nvme_ns_release_fd" 9 "nvme_ns_release_fd" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_ns_release_fd \- Close fd and clear fd from ns object .SH SYNOPSIS diff --git a/doc/man/nvme_ns_rescan.2 b/doc/man/nvme_ns_rescan.2 index 1526a29..bd463ac 100644 --- a/doc/man/nvme_ns_rescan.2 +++ b/doc/man/nvme_ns_rescan.2 @@ -1,4 +1,4 @@ -.TH "nvme_ns_rescan" 9 "nvme_ns_rescan" "August 2024" "libnvme API manual" LINUX +.TH "nvme_ns_rescan" 9 "nvme_ns_rescan" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_ns_rescan \- Initiate a controller rescan .SH SYNOPSIS diff --git a/doc/man/nvme_ns_verify.2 b/doc/man/nvme_ns_verify.2 index ea9c1f6..b89eff9 100644 --- a/doc/man/nvme_ns_verify.2 +++ b/doc/man/nvme_ns_verify.2 @@ -1,4 +1,4 @@ -.TH "nvme_ns_verify" 9 "nvme_ns_verify" "August 2024" "libnvme API manual" LINUX +.TH "nvme_ns_verify" 9 "nvme_ns_verify" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_ns_verify \- Verify data on a namespace .SH SYNOPSIS diff --git a/doc/man/nvme_ns_write.2 b/doc/man/nvme_ns_write.2 index 72b3282..f9999ac 100644 --- a/doc/man/nvme_ns_write.2 +++ b/doc/man/nvme_ns_write.2 @@ -1,4 +1,4 @@ -.TH "nvme_ns_write" 9 "nvme_ns_write" "August 2024" "libnvme API manual" LINUX +.TH "nvme_ns_write" 9 "nvme_ns_write" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_ns_write \- Write to a namespace .SH SYNOPSIS diff --git a/doc/man/nvme_ns_write_protect_cfg.2 b/doc/man/nvme_ns_write_protect_cfg.2 index b809d0a..53fa5e8 100644 --- a/doc/man/nvme_ns_write_protect_cfg.2 +++ b/doc/man/nvme_ns_write_protect_cfg.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_ns_write_protect_cfg" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_ns_write_protect_cfg" "October 2024" "API Manual" LINUX .SH NAME enum nvme_ns_write_protect_cfg \- Write Protection - Write Protection State .SH SYNOPSIS diff --git a/doc/man/nvme_ns_write_uncorrectable.2 b/doc/man/nvme_ns_write_uncorrectable.2 index 9d37afe..eca2e34 100644 --- a/doc/man/nvme_ns_write_uncorrectable.2 +++ b/doc/man/nvme_ns_write_uncorrectable.2 @@ -1,4 +1,4 @@ -.TH "nvme_ns_write_uncorrectable" 9 "nvme_ns_write_uncorrectable" "August 2024" "libnvme API manual" LINUX +.TH "nvme_ns_write_uncorrectable" 9 "nvme_ns_write_uncorrectable" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_ns_write_uncorrectable \- Issus a 'write uncorrectable' command .SH SYNOPSIS diff --git a/doc/man/nvme_ns_write_zeros.2 b/doc/man/nvme_ns_write_zeros.2 index ab4f989..cbe7a22 100644 --- a/doc/man/nvme_ns_write_zeros.2 +++ b/doc/man/nvme_ns_write_zeros.2 @@ -1,4 +1,4 @@ -.TH "nvme_ns_write_zeros" 9 "nvme_ns_write_zeros" "August 2024" "libnvme API manual" LINUX +.TH "nvme_ns_write_zeros" 9 "nvme_ns_write_zeros" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_ns_write_zeros \- Write zeros to a namespace .SH SYNOPSIS diff --git a/doc/man/nvme_nss_hw_err_event.2 b/doc/man/nvme_nss_hw_err_event.2 index 18701fd..a57c6ec 100644 --- a/doc/man/nvme_nss_hw_err_event.2 +++ b/doc/man/nvme_nss_hw_err_event.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_nss_hw_err_event" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_nss_hw_err_event" "October 2024" "API Manual" LINUX .SH NAME struct nvme_nss_hw_err_event \- NVM Subsystem Hardware Error Event .SH SYNOPSIS diff --git a/doc/man/nvme_nvm_id_ns.2 b/doc/man/nvme_nvm_id_ns.2 index 5acea53..686c916 100644 --- a/doc/man/nvme_nvm_id_ns.2 +++ b/doc/man/nvme_nvm_id_ns.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_nvm_id_ns" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_nvm_id_ns" "October 2024" "API Manual" LINUX .SH NAME struct nvme_nvm_id_ns \- NVME Command Set I/O Command Set Specific Identify Namespace Data Structure .SH SYNOPSIS @@ -16,7 +16,15 @@ struct nvme_nvm_id_ns { .br .BI " __le32 npdgl;" .br -.BI " __u8 rsvd272[20];" +.BI " __le32 nprg;" +.br +.BI " __le32 npra;" +.br +.BI " __le32 nors;" +.br +.BI " __le32 npdal;" +.br +.BI " __le32 lbapss;" .br .BI " __le32 tlbaag;" .br @@ -39,8 +47,16 @@ Reserved List of Extended LBA Format Support .IP "npdgl" 12 Namespace Preferred Deallocate Granularity Large -.IP "rsvd272" 12 -Reserved +.IP "nprg" 12 +Namespace Preferred Read Granularity +.IP "npra" 12 +Namespace Preferred Read Alignment +.IP "nors" 12 +Namespace Optimal Read Size +.IP "npdal" 12 +Namespace Preferred Deallocate Alignment Large +.IP "lbapss" 12 +LBA Format Placement Shard Size .IP "tlbaag" 12 Tracked LBA Allocation Granularity .IP "rsvd296" 12 diff --git a/doc/man/nvme_nvm_id_ns_elbaf.2 b/doc/man/nvme_nvm_id_ns_elbaf.2 index bda2ab2..1765567 100644 --- a/doc/man/nvme_nvm_id_ns_elbaf.2 +++ b/doc/man/nvme_nvm_id_ns_elbaf.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_nvm_id_ns_elbaf" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_nvm_id_ns_elbaf" "October 2024" "API Manual" LINUX .SH NAME enum nvme_nvm_id_ns_elbaf \- This field indicates the extended LBA format .SH SYNOPSIS diff --git a/doc/man/nvme_nvm_id_ns_pif.2 b/doc/man/nvme_nvm_id_ns_pif.2 index 7dbe5d9..10108c6 100644 --- a/doc/man/nvme_nvm_id_ns_pif.2 +++ b/doc/man/nvme_nvm_id_ns_pif.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_nvm_id_ns_pif" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_nvm_id_ns_pif" "October 2024" "API Manual" LINUX .SH NAME enum nvme_nvm_id_ns_pif \- This field indicates the type of the Protection Information Format .SH SYNOPSIS diff --git a/doc/man/nvme_nvm_identify_ctrl.2 b/doc/man/nvme_nvm_identify_ctrl.2 index e2a5a0a..2f565dd 100644 --- a/doc/man/nvme_nvm_identify_ctrl.2 +++ b/doc/man/nvme_nvm_identify_ctrl.2 @@ -1,4 +1,4 @@ -.TH "nvme_nvm_identify_ctrl" 9 "nvme_nvm_identify_ctrl" "August 2024" "libnvme API manual" LINUX +.TH "nvme_nvm_identify_ctrl" 9 "nvme_nvm_identify_ctrl" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_nvm_identify_ctrl \- Identify controller data .SH SYNOPSIS diff --git a/doc/man/nvme_nvmeset_pl_status.2 b/doc/man/nvme_nvmeset_pl_status.2 index 6a31dd0..93bbcaa 100644 --- a/doc/man/nvme_nvmeset_pl_status.2 +++ b/doc/man/nvme_nvmeset_pl_status.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_nvmeset_pl_status" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_nvmeset_pl_status" "October 2024" "API Manual" LINUX .SH NAME enum nvme_nvmeset_pl_status \- Predictable Latency Per NVM Set Log - Status .SH SYNOPSIS diff --git a/doc/man/nvme_nvmset_attr.2 b/doc/man/nvme_nvmset_attr.2 index 1827a61..72bba7d 100644 --- a/doc/man/nvme_nvmset_attr.2 +++ b/doc/man/nvme_nvmset_attr.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_nvmset_attr" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_nvmset_attr" "October 2024" "API Manual" LINUX .SH NAME struct nvme_nvmset_attr \- NVM Set Attributes Entry .SH SYNOPSIS diff --git a/doc/man/nvme_nvmset_pl_events.2 b/doc/man/nvme_nvmset_pl_events.2 index e52134c..3df0cfd 100644 --- a/doc/man/nvme_nvmset_pl_events.2 +++ b/doc/man/nvme_nvmset_pl_events.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_nvmset_pl_events" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_nvmset_pl_events" "October 2024" "API Manual" LINUX .SH NAME enum nvme_nvmset_pl_events \- Predictable Latency Per NVM Set Log - Event Type .SH SYNOPSIS diff --git a/doc/man/nvme_nvmset_predictable_lat_log.2 b/doc/man/nvme_nvmset_predictable_lat_log.2 index 4cbacf6..0c73ab1 100644 --- a/doc/man/nvme_nvmset_predictable_lat_log.2 +++ b/doc/man/nvme_nvmset_predictable_lat_log.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_nvmset_predictable_lat_log" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_nvmset_predictable_lat_log" "October 2024" "API Manual" LINUX .SH NAME struct nvme_nvmset_predictable_lat_log \- Predictable Latency Mode - Deterministic Threshold Configuration Data .SH SYNOPSIS diff --git a/doc/man/nvme_open.2 b/doc/man/nvme_open.2 index 138e98d..2940eb4 100644 --- a/doc/man/nvme_open.2 +++ b/doc/man/nvme_open.2 @@ -1,4 +1,4 @@ -.TH "nvme_open" 9 "nvme_open" "August 2024" "libnvme API manual" LINUX +.TH "nvme_open" 9 "nvme_open" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_open \- Open an nvme controller or namespace device .SH SYNOPSIS diff --git a/doc/man/nvme_parse_uri.2 b/doc/man/nvme_parse_uri.2 index 3c3302a..53d0b56 100644 --- a/doc/man/nvme_parse_uri.2 +++ b/doc/man/nvme_parse_uri.2 @@ -1,4 +1,4 @@ -.TH "nvme_parse_uri" 9 "nvme_parse_uri" "August 2024" "libnvme API manual" LINUX +.TH "nvme_parse_uri" 9 "nvme_parse_uri" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_parse_uri \- Parse the URI string .SH SYNOPSIS diff --git a/doc/man/nvme_passthru_cmd.2 b/doc/man/nvme_passthru_cmd.2 index fe3b63f..4fbfbcd 100644 --- a/doc/man/nvme_passthru_cmd.2 +++ b/doc/man/nvme_passthru_cmd.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_passthru_cmd" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_passthru_cmd" "October 2024" "API Manual" LINUX .SH NAME struct nvme_passthru_cmd \- nvme passthrough command structure .SH SYNOPSIS diff --git a/doc/man/nvme_passthru_cmd64.2 b/doc/man/nvme_passthru_cmd64.2 index 67fad6c..4b93706 100644 --- a/doc/man/nvme_passthru_cmd64.2 +++ b/doc/man/nvme_passthru_cmd64.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_passthru_cmd64" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_passthru_cmd64" "October 2024" "API Manual" LINUX .SH NAME struct nvme_passthru_cmd64 \- 64-bit nvme passthrough command structure .SH SYNOPSIS diff --git a/doc/man/nvme_path_get_ana_state.2 b/doc/man/nvme_path_get_ana_state.2 index 6a9fe4d..3d32fc6 100644 --- a/doc/man/nvme_path_get_ana_state.2 +++ b/doc/man/nvme_path_get_ana_state.2 @@ -1,4 +1,4 @@ -.TH "nvme_path_get_ana_state" 9 "nvme_path_get_ana_state" "August 2024" "libnvme API manual" LINUX +.TH "nvme_path_get_ana_state" 9 "nvme_path_get_ana_state" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_path_get_ana_state \- ANA state of an nvme_path_t object .SH SYNOPSIS diff --git a/doc/man/nvme_path_get_ctrl.2 b/doc/man/nvme_path_get_ctrl.2 index 47b5b91..d6f4cf7 100644 --- a/doc/man/nvme_path_get_ctrl.2 +++ b/doc/man/nvme_path_get_ctrl.2 @@ -1,4 +1,4 @@ -.TH "nvme_path_get_ctrl" 9 "nvme_path_get_ctrl" "August 2024" "libnvme API manual" LINUX +.TH "nvme_path_get_ctrl" 9 "nvme_path_get_ctrl" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_path_get_ctrl \- Parent controller of an nvme_path_t object .SH SYNOPSIS diff --git a/doc/man/nvme_path_get_name.2 b/doc/man/nvme_path_get_name.2 index f335f5c..999f990 100644 --- a/doc/man/nvme_path_get_name.2 +++ b/doc/man/nvme_path_get_name.2 @@ -1,4 +1,4 @@ -.TH "nvme_path_get_name" 9 "nvme_path_get_name" "August 2024" "libnvme API manual" LINUX +.TH "nvme_path_get_name" 9 "nvme_path_get_name" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_path_get_name \- sysfs name of an &nvme_path_t object .SH SYNOPSIS diff --git a/doc/man/nvme_path_get_ns.2 b/doc/man/nvme_path_get_ns.2 index fccf70c..5d646f4 100644 --- a/doc/man/nvme_path_get_ns.2 +++ b/doc/man/nvme_path_get_ns.2 @@ -1,4 +1,4 @@ -.TH "nvme_path_get_ns" 9 "nvme_path_get_ns" "August 2024" "libnvme API manual" LINUX +.TH "nvme_path_get_ns" 9 "nvme_path_get_ns" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_path_get_ns \- Parent namespace of an nvme_path_t object .SH SYNOPSIS diff --git a/doc/man/nvme_path_get_sysfs_dir.2 b/doc/man/nvme_path_get_sysfs_dir.2 index b2a9629..a8254b6 100644 --- a/doc/man/nvme_path_get_sysfs_dir.2 +++ b/doc/man/nvme_path_get_sysfs_dir.2 @@ -1,4 +1,4 @@ -.TH "nvme_path_get_sysfs_dir" 9 "nvme_path_get_sysfs_dir" "August 2024" "libnvme API manual" LINUX +.TH "nvme_path_get_sysfs_dir" 9 "nvme_path_get_sysfs_dir" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_path_get_sysfs_dir \- sysfs directory of an nvme_path_t object .SH SYNOPSIS diff --git a/doc/man/nvme_paths_filter.2 b/doc/man/nvme_paths_filter.2 index 0a66e37..f35f0a1 100644 --- a/doc/man/nvme_paths_filter.2 +++ b/doc/man/nvme_paths_filter.2 @@ -1,4 +1,4 @@ -.TH "nvme_paths_filter" 9 "nvme_paths_filter" "August 2024" "libnvme API manual" LINUX +.TH "nvme_paths_filter" 9 "nvme_paths_filter" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_paths_filter \- Filter for paths .SH SYNOPSIS diff --git a/doc/man/nvme_pel_ehai.2 b/doc/man/nvme_pel_ehai.2 index e8b9b99..df50f2d 100644 --- a/doc/man/nvme_pel_ehai.2 +++ b/doc/man/nvme_pel_ehai.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_pel_ehai" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_pel_ehai" "October 2024" "API Manual" LINUX .SH NAME enum nvme_pel_ehai \- This field indicates the persistent event header additional information .SH SYNOPSIS diff --git a/doc/man/nvme_pel_ehai_pit.2 b/doc/man/nvme_pel_ehai_pit.2 index 3d107a2..e29f060 100644 --- a/doc/man/nvme_pel_ehai_pit.2 +++ b/doc/man/nvme_pel_ehai_pit.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_pel_ehai_pit" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_pel_ehai_pit" "October 2024" "API Manual" LINUX .SH NAME enum nvme_pel_ehai_pit \- Persistent Event Header Additional Information - Port Identifier Type .SH SYNOPSIS diff --git a/doc/man/nvme_pel_rci.2 b/doc/man/nvme_pel_rci.2 index 54df6f0..df574d6 100644 --- a/doc/man/nvme_pel_rci.2 +++ b/doc/man/nvme_pel_rci.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_pel_rci" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_pel_rci" "October 2024" "API Manual" LINUX .SH NAME enum nvme_pel_rci \- This field indicates the persistent event log reporting context .SH SYNOPSIS diff --git a/doc/man/nvme_pel_rci_rcpit.2 b/doc/man/nvme_pel_rci_rcpit.2 index 28ea1ce..11468ec 100644 --- a/doc/man/nvme_pel_rci_rcpit.2 +++ b/doc/man/nvme_pel_rci_rcpit.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_pel_rci_rcpit" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_pel_rci_rcpit" "October 2024" "API Manual" LINUX .SH NAME enum nvme_pel_rci_rcpit \- Persistent Event Log Reporting Context - Port Identifier Type .SH SYNOPSIS diff --git a/doc/man/nvme_persistent_event_entry.2 b/doc/man/nvme_persistent_event_entry.2 index c9623ea..1390ed3 100644 --- a/doc/man/nvme_persistent_event_entry.2 +++ b/doc/man/nvme_persistent_event_entry.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_persistent_event_entry" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_persistent_event_entry" "October 2024" "API Manual" LINUX .SH NAME struct nvme_persistent_event_entry \- Persistent Event .SH SYNOPSIS diff --git a/doc/man/nvme_persistent_event_log.2 b/doc/man/nvme_persistent_event_log.2 index 81a61a5..fe94ea8 100644 --- a/doc/man/nvme_persistent_event_log.2 +++ b/doc/man/nvme_persistent_event_log.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_persistent_event_log" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_persistent_event_log" "October 2024" "API Manual" LINUX .SH NAME struct nvme_persistent_event_log \- Persistent Event Log .SH SYNOPSIS diff --git a/doc/man/nvme_persistent_event_types.2 b/doc/man/nvme_persistent_event_types.2 index a9d07e8..e5eeff8 100644 --- a/doc/man/nvme_persistent_event_types.2 +++ b/doc/man/nvme_persistent_event_types.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_persistent_event_types" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_persistent_event_types" "October 2024" "API Manual" LINUX .SH NAME enum nvme_persistent_event_types \- Persistent event log events .SH SYNOPSIS @@ -56,6 +56,10 @@ enum nvme_persistent_event_types { , .br .br +.BI " NVME_PEL_SANITIZE_MEDIA_VERIF_EVENT" +, +.br +.br .BI " NVME_PEL_VENDOR_SPECIFIC_EVENT" , .br @@ -90,6 +94,8 @@ Set Feature Event Telemetry Log Create Event .IP "NVME_PEL_THERMAL_EXCURSION_EVENT" 12 Thermal Excursion Event +.IP "NVME_PEL_SANITIZE_MEDIA_VERIF_EVENT" 12 +Sanitize Media Verification Event .IP "NVME_PEL_VENDOR_SPECIFIC_EVENT" 12 Vendor Specific Event .IP "NVME_PEL_TCG_DEFINED_EVENT" 12 diff --git a/doc/man/nvme_pevent_log_action.2 b/doc/man/nvme_pevent_log_action.2 index 54070ab..db7e1db 100644 --- a/doc/man/nvme_pevent_log_action.2 +++ b/doc/man/nvme_pevent_log_action.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_pevent_log_action" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_pevent_log_action" "October 2024" "API Manual" LINUX .SH NAME enum nvme_pevent_log_action \- Persistent Event Log - Action .SH SYNOPSIS diff --git a/doc/man/nvme_phy_rx_eom_log.2 b/doc/man/nvme_phy_rx_eom_log.2 index 2e97d7a..a63f8b7 100644 --- a/doc/man/nvme_phy_rx_eom_log.2 +++ b/doc/man/nvme_phy_rx_eom_log.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_phy_rx_eom_log" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_phy_rx_eom_log" "October 2024" "API Manual" LINUX .SH NAME struct nvme_phy_rx_eom_log \- Physical Interface Receiver Eye Opening Measurement Log .SH SYNOPSIS diff --git a/doc/man/nvme_phy_rx_eom_progress.2 b/doc/man/nvme_phy_rx_eom_progress.2 index 96b2c1e..286b1d7 100644 --- a/doc/man/nvme_phy_rx_eom_progress.2 +++ b/doc/man/nvme_phy_rx_eom_progress.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_phy_rx_eom_progress" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_phy_rx_eom_progress" "October 2024" "API Manual" LINUX .SH NAME enum nvme_phy_rx_eom_progress \- EOM In Progress Values .SH SYNOPSIS diff --git a/doc/man/nvme_plm_config.2 b/doc/man/nvme_plm_config.2 index 51afe9d..d3c15e3 100644 --- a/doc/man/nvme_plm_config.2 +++ b/doc/man/nvme_plm_config.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_plm_config" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_plm_config" "October 2024" "API Manual" LINUX .SH NAME struct nvme_plm_config \- Predictable Latency Mode - Deterministic Threshold Configuration Data Structure .SH SYNOPSIS diff --git a/doc/man/nvme_pmr_size.2 b/doc/man/nvme_pmr_size.2 index 64db221..4b21123 100644 --- a/doc/man/nvme_pmr_size.2 +++ b/doc/man/nvme_pmr_size.2 @@ -1,4 +1,4 @@ -.TH "nvme_pmr_size" 9 "nvme_pmr_size" "August 2024" "libnvme API manual" LINUX +.TH "nvme_pmr_size" 9 "nvme_pmr_size" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_pmr_size \- Calculate size of persistent memory region elasticity buffer .SH SYNOPSIS diff --git a/doc/man/nvme_pmr_throughput.2 b/doc/man/nvme_pmr_throughput.2 index 3ba8dcb..59b27fe 100644 --- a/doc/man/nvme_pmr_throughput.2 +++ b/doc/man/nvme_pmr_throughput.2 @@ -1,4 +1,4 @@ -.TH "nvme_pmr_throughput" 9 "nvme_pmr_throughput" "August 2024" "libnvme API manual" LINUX +.TH "nvme_pmr_throughput" 9 "nvme_pmr_throughput" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_pmr_throughput \- Calculate throughput of persistent memory buffer .SH SYNOPSIS diff --git a/doc/man/nvme_pmrcap.2 b/doc/man/nvme_pmrcap.2 index 0d76563..7be23ab 100644 --- a/doc/man/nvme_pmrcap.2 +++ b/doc/man/nvme_pmrcap.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_pmrcap" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_pmrcap" "October 2024" "API Manual" LINUX .SH NAME enum nvme_pmrcap \- This field indicates the persistent memory region capabilities .SH SYNOPSIS diff --git a/doc/man/nvme_pmrctl.2 b/doc/man/nvme_pmrctl.2 index 95c5fd3..67b1b77 100644 --- a/doc/man/nvme_pmrctl.2 +++ b/doc/man/nvme_pmrctl.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_pmrctl" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_pmrctl" "October 2024" "API Manual" LINUX .SH NAME enum nvme_pmrctl \- This field indicates the persistent memory region control .SH SYNOPSIS diff --git a/doc/man/nvme_pmrebs.2 b/doc/man/nvme_pmrebs.2 index 3535e44..1399a2d 100644 --- a/doc/man/nvme_pmrebs.2 +++ b/doc/man/nvme_pmrebs.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_pmrebs" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_pmrebs" "October 2024" "API Manual" LINUX .SH NAME enum nvme_pmrebs \- This field indicates the persistent memory region elasticity buffer size .SH SYNOPSIS diff --git a/doc/man/nvme_pmrmsc.2 b/doc/man/nvme_pmrmsc.2 index 120ce56..eb1d0e2 100644 --- a/doc/man/nvme_pmrmsc.2 +++ b/doc/man/nvme_pmrmsc.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_pmrmsc" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_pmrmsc" "October 2024" "API Manual" LINUX .SH NAME enum nvme_pmrmsc \- This field indicates the persistent memory region memory space control .SH SYNOPSIS diff --git a/doc/man/nvme_pmrsts.2 b/doc/man/nvme_pmrsts.2 index 95bb8cb..3d9f895 100644 --- a/doc/man/nvme_pmrsts.2 +++ b/doc/man/nvme_pmrsts.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_pmrsts" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_pmrsts" "October 2024" "API Manual" LINUX .SH NAME enum nvme_pmrsts \- This field indicates the persistent memory region status .SH SYNOPSIS diff --git a/doc/man/nvme_pmrswtp.2 b/doc/man/nvme_pmrswtp.2 index e8612ea..9b62136 100644 --- a/doc/man/nvme_pmrswtp.2 +++ b/doc/man/nvme_pmrswtp.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_pmrswtp" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_pmrswtp" "October 2024" "API Manual" LINUX .SH NAME enum nvme_pmrswtp \- This field indicates the persistent memory region sustained write throughput .SH SYNOPSIS diff --git a/doc/man/nvme_power_on_reset_info_list.2 b/doc/man/nvme_power_on_reset_info_list.2 index 9875eda..dd64e32 100644 --- a/doc/man/nvme_power_on_reset_info_list.2 +++ b/doc/man/nvme_power_on_reset_info_list.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_power_on_reset_info_list" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_power_on_reset_info_list" "October 2024" "API Manual" LINUX .SH NAME struct nvme_power_on_reset_info_list \- Controller Reset Information .SH SYNOPSIS diff --git a/doc/man/nvme_primary_ctrl_cap.2 b/doc/man/nvme_primary_ctrl_cap.2 index 3df1bbe..a044547 100644 --- a/doc/man/nvme_primary_ctrl_cap.2 +++ b/doc/man/nvme_primary_ctrl_cap.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_primary_ctrl_cap" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_primary_ctrl_cap" "October 2024" "API Manual" LINUX .SH NAME struct nvme_primary_ctrl_cap \- Identify - Controller Capabilities Structure .SH SYNOPSIS diff --git a/doc/man/nvme_psd_flags.2 b/doc/man/nvme_psd_flags.2 index 2b22d97..5e407f1 100644 --- a/doc/man/nvme_psd_flags.2 +++ b/doc/man/nvme_psd_flags.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_psd_flags" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_psd_flags" "October 2024" "API Manual" LINUX .SH NAME enum nvme_psd_flags \- Possible flag values in nvme power state descriptor .SH SYNOPSIS diff --git a/doc/man/nvme_psd_power_scale.2 b/doc/man/nvme_psd_power_scale.2 index 2c63211..49f1e73 100644 --- a/doc/man/nvme_psd_power_scale.2 +++ b/doc/man/nvme_psd_power_scale.2 @@ -1,4 +1,4 @@ -.TH "nvme_psd_power_scale" 9 "nvme_psd_power_scale" "August 2024" "libnvme API manual" LINUX +.TH "nvme_psd_power_scale" 9 "nvme_psd_power_scale" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_psd_power_scale \- power scale occupies the upper 3 bits .SH SYNOPSIS diff --git a/doc/man/nvme_psd_ps.2 b/doc/man/nvme_psd_ps.2 index 77c26bd..a7d1602 100644 --- a/doc/man/nvme_psd_ps.2 +++ b/doc/man/nvme_psd_ps.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_psd_ps" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_psd_ps" "October 2024" "API Manual" LINUX .SH NAME enum nvme_psd_ps \- Known values for &struct nvme_psd %ips and %aps. Use with nvme_psd_power_scale() to extract the power scale field to match this enum. .SH SYNOPSIS diff --git a/doc/man/nvme_psd_workload.2 b/doc/man/nvme_psd_workload.2 index 5eb59b3..6fbb12f 100644 --- a/doc/man/nvme_psd_workload.2 +++ b/doc/man/nvme_psd_workload.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_psd_workload" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_psd_workload" "October 2024" "API Manual" LINUX .SH NAME enum nvme_psd_workload \- Specifies a workload hint in the Power Management Feature (see &struct nvme_psd.apw) to inform the NVM subsystem or indicate the conditions for the active power level. .SH SYNOPSIS diff --git a/doc/man/nvme_read.2 b/doc/man/nvme_read.2 index 5afc747..435ad63 100644 --- a/doc/man/nvme_read.2 +++ b/doc/man/nvme_read.2 @@ -1,4 +1,4 @@ -.TH "nvme_read" 9 "nvme_read" "August 2024" "libnvme API manual" LINUX +.TH "nvme_read" 9 "nvme_read" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_read \- Submit an nvme user read command .SH SYNOPSIS diff --git a/doc/man/nvme_read_config.2 b/doc/man/nvme_read_config.2 index efa4c71..94f9473 100644 --- a/doc/man/nvme_read_config.2 +++ b/doc/man/nvme_read_config.2 @@ -1,4 +1,4 @@ -.TH "nvme_read_config" 9 "nvme_read_config" "August 2024" "libnvme API manual" LINUX +.TH "nvme_read_config" 9 "nvme_read_config" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_read_config \- Read NVMe JSON configuration file .SH SYNOPSIS diff --git a/doc/man/nvme_read_key.2 b/doc/man/nvme_read_key.2 index de40d4b..b20248a 100644 --- a/doc/man/nvme_read_key.2 +++ b/doc/man/nvme_read_key.2 @@ -1,4 +1,4 @@ -.TH "nvme_read_key" 9 "nvme_read_key" "August 2024" "libnvme API manual" LINUX +.TH "nvme_read_key" 9 "nvme_read_key" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_read_key \- Read key raw data .SH SYNOPSIS diff --git a/doc/man/nvme_refresh_topology.2 b/doc/man/nvme_refresh_topology.2 index 6f003e6..9b8dbd6 100644 --- a/doc/man/nvme_refresh_topology.2 +++ b/doc/man/nvme_refresh_topology.2 @@ -1,4 +1,4 @@ -.TH "nvme_refresh_topology" 9 "nvme_refresh_topology" "August 2024" "libnvme API manual" LINUX +.TH "nvme_refresh_topology" 9 "nvme_refresh_topology" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_refresh_topology \- Refresh nvme_root_t object contents .SH SYNOPSIS diff --git a/doc/man/nvme_register_offsets.2 b/doc/man/nvme_register_offsets.2 index 59ecced..5a1433c 100644 --- a/doc/man/nvme_register_offsets.2 +++ b/doc/man/nvme_register_offsets.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_register_offsets" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_register_offsets" "October 2024" "API Manual" LINUX .SH NAME enum nvme_register_offsets \- controller registers for all transports. This is the layout of BAR0/1 for PCIe, and properties for fabrics. .SH SYNOPSIS diff --git a/doc/man/nvme_registered_ctrl.2 b/doc/man/nvme_registered_ctrl.2 index 4fa8bd9..a280930 100644 --- a/doc/man/nvme_registered_ctrl.2 +++ b/doc/man/nvme_registered_ctrl.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_registered_ctrl" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_registered_ctrl" "October 2024" "API Manual" LINUX .SH NAME struct nvme_registered_ctrl \- Registered Controller Data Structure .SH SYNOPSIS diff --git a/doc/man/nvme_registered_ctrl_ext.2 b/doc/man/nvme_registered_ctrl_ext.2 index bb914a7..b0fd288 100644 --- a/doc/man/nvme_registered_ctrl_ext.2 +++ b/doc/man/nvme_registered_ctrl_ext.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_registered_ctrl_ext" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_registered_ctrl_ext" "October 2024" "API Manual" LINUX .SH NAME struct nvme_registered_ctrl_ext \- Registered Controller Extended Data Structure .SH SYNOPSIS diff --git a/doc/man/nvme_rescan_ctrl.2 b/doc/man/nvme_rescan_ctrl.2 index 20a3dcb..174c495 100644 --- a/doc/man/nvme_rescan_ctrl.2 +++ b/doc/man/nvme_rescan_ctrl.2 @@ -1,4 +1,4 @@ -.TH "nvme_rescan_ctrl" 9 "nvme_rescan_ctrl" "August 2024" "libnvme API manual" LINUX +.TH "nvme_rescan_ctrl" 9 "nvme_rescan_ctrl" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_rescan_ctrl \- Rescan an existing controller .SH SYNOPSIS diff --git a/doc/man/nvme_resv_acquire.2 b/doc/man/nvme_resv_acquire.2 index 1f02434..3f5bb3c 100644 --- a/doc/man/nvme_resv_acquire.2 +++ b/doc/man/nvme_resv_acquire.2 @@ -1,4 +1,4 @@ -.TH "nvme_resv_acquire" 9 "nvme_resv_acquire" "August 2024" "libnvme API manual" LINUX +.TH "nvme_resv_acquire" 9 "nvme_resv_acquire" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_resv_acquire \- Send an nvme reservation acquire .SH SYNOPSIS diff --git a/doc/man/nvme_resv_cptpl.2 b/doc/man/nvme_resv_cptpl.2 index 5ee28ab..1779c86 100644 --- a/doc/man/nvme_resv_cptpl.2 +++ b/doc/man/nvme_resv_cptpl.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_resv_cptpl" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_resv_cptpl" "October 2024" "API Manual" LINUX .SH NAME enum nvme_resv_cptpl \- Reservation Register - Change Persist Through Power Loss State .SH SYNOPSIS diff --git a/doc/man/nvme_resv_notification_log.2 b/doc/man/nvme_resv_notification_log.2 index 4a4bafd..5b4155b 100644 --- a/doc/man/nvme_resv_notification_log.2 +++ b/doc/man/nvme_resv_notification_log.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_resv_notification_log" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_resv_notification_log" "October 2024" "API Manual" LINUX .SH NAME struct nvme_resv_notification_log \- Reservation Notification Log .SH SYNOPSIS diff --git a/doc/man/nvme_resv_notify_rnlpt.2 b/doc/man/nvme_resv_notify_rnlpt.2 index 603f9d7..d1d8d38 100644 --- a/doc/man/nvme_resv_notify_rnlpt.2 +++ b/doc/man/nvme_resv_notify_rnlpt.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_resv_notify_rnlpt" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_resv_notify_rnlpt" "October 2024" "API Manual" LINUX .SH NAME enum nvme_resv_notify_rnlpt \- Reservation Notification Log - Reservation Notification Log Page Type .SH SYNOPSIS diff --git a/doc/man/nvme_resv_racqa.2 b/doc/man/nvme_resv_racqa.2 index ea194d8..90b50ce 100644 --- a/doc/man/nvme_resv_racqa.2 +++ b/doc/man/nvme_resv_racqa.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_resv_racqa" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_resv_racqa" "October 2024" "API Manual" LINUX .SH NAME enum nvme_resv_racqa \- Reservation Acquire - Reservation Acquire Action .SH SYNOPSIS diff --git a/doc/man/nvme_resv_register.2 b/doc/man/nvme_resv_register.2 index df6bbc6..b295ea1 100644 --- a/doc/man/nvme_resv_register.2 +++ b/doc/man/nvme_resv_register.2 @@ -1,4 +1,4 @@ -.TH "nvme_resv_register" 9 "nvme_resv_register" "August 2024" "libnvme API manual" LINUX +.TH "nvme_resv_register" 9 "nvme_resv_register" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_resv_register \- Send an nvme reservation register .SH SYNOPSIS diff --git a/doc/man/nvme_resv_release.2 b/doc/man/nvme_resv_release.2 index 561ef9e..b8e1101 100644 --- a/doc/man/nvme_resv_release.2 +++ b/doc/man/nvme_resv_release.2 @@ -1,4 +1,4 @@ -.TH "nvme_resv_release" 9 "nvme_resv_release" "August 2024" "libnvme API manual" LINUX +.TH "nvme_resv_release" 9 "nvme_resv_release" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_resv_release \- Send an nvme reservation release .SH SYNOPSIS diff --git a/doc/man/nvme_resv_report.2 b/doc/man/nvme_resv_report.2 index d5296d4..e7ce5c0 100644 --- a/doc/man/nvme_resv_report.2 +++ b/doc/man/nvme_resv_report.2 @@ -1,4 +1,4 @@ -.TH "nvme_resv_report" 9 "nvme_resv_report" "August 2024" "libnvme API manual" LINUX +.TH "nvme_resv_report" 9 "nvme_resv_report" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_resv_report \- Send an nvme reservation report .SH SYNOPSIS diff --git a/doc/man/nvme_resv_rrega.2 b/doc/man/nvme_resv_rrega.2 index c5a579d..f9df05b 100644 --- a/doc/man/nvme_resv_rrega.2 +++ b/doc/man/nvme_resv_rrega.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_resv_rrega" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_resv_rrega" "October 2024" "API Manual" LINUX .SH NAME enum nvme_resv_rrega \- Reservation Register - Reservation Register Action .SH SYNOPSIS diff --git a/doc/man/nvme_resv_rrela.2 b/doc/man/nvme_resv_rrela.2 index f6ba7bf..e801971 100644 --- a/doc/man/nvme_resv_rrela.2 +++ b/doc/man/nvme_resv_rrela.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_resv_rrela" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_resv_rrela" "October 2024" "API Manual" LINUX .SH NAME enum nvme_resv_rrela \- Reservation Release - Reservation Release Action .SH SYNOPSIS diff --git a/doc/man/nvme_resv_rtype.2 b/doc/man/nvme_resv_rtype.2 index 0632fd0..ca81cd1 100644 --- a/doc/man/nvme_resv_rtype.2 +++ b/doc/man/nvme_resv_rtype.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_resv_rtype" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_resv_rtype" "October 2024" "API Manual" LINUX .SH NAME enum nvme_resv_rtype \- Reservation Type Encoding .SH SYNOPSIS diff --git a/doc/man/nvme_resv_status.2 b/doc/man/nvme_resv_status.2 index 4232634..aceed27 100644 --- a/doc/man/nvme_resv_status.2 +++ b/doc/man/nvme_resv_status.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_resv_status" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_resv_status" "October 2024" "API Manual" LINUX .SH NAME struct nvme_resv_status \- Reservation Status Data Structure .SH SYNOPSIS diff --git a/doc/man/nvme_revoke_tls_key.2 b/doc/man/nvme_revoke_tls_key.2 index 56dde5f..db4de4c 100644 --- a/doc/man/nvme_revoke_tls_key.2 +++ b/doc/man/nvme_revoke_tls_key.2 @@ -1,4 +1,4 @@ -.TH "nvme_revoke_tls_key" 9 "nvme_revoke_tls_key" "August 2024" "libnvme API manual" LINUX +.TH "nvme_revoke_tls_key" 9 "nvme_revoke_tls_key" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_revoke_tls_key \- Revoke TLS key from keyring .SH SYNOPSIS diff --git a/doc/man/nvme_sanitize_compln_event.2 b/doc/man/nvme_sanitize_compln_event.2 index 9229961..5a0dabc 100644 --- a/doc/man/nvme_sanitize_compln_event.2 +++ b/doc/man/nvme_sanitize_compln_event.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_sanitize_compln_event" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_sanitize_compln_event" "October 2024" "API Manual" LINUX .SH NAME struct nvme_sanitize_compln_event \- Sanitize Completion Event Data .SH SYNOPSIS diff --git a/doc/man/nvme_sanitize_log_page.2 b/doc/man/nvme_sanitize_log_page.2 index 6002610..80fa0ce 100644 --- a/doc/man/nvme_sanitize_log_page.2 +++ b/doc/man/nvme_sanitize_log_page.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_sanitize_log_page" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_sanitize_log_page" "October 2024" "API Manual" LINUX .SH NAME struct nvme_sanitize_log_page \- Sanitize Status (Log Identifier 81h) .SH SYNOPSIS @@ -22,7 +22,11 @@ struct nvme_sanitize_log_page { .br .BI " __le32 etcend;" .br -.BI " __u8 rsvd32[480];" +.BI " __le32 etpvds;" +.br +.BI " __u8 ssi;" +.br +.BI " __u8 rsvd37[475];" .br .BI " }; @@ -102,5 +106,15 @@ A value of 0h indicates that the sanitize operation is expected to be completed in the background when the Sanitize command that started that operation is completed. A value of FFFFFFFFh indicates that no time period is reported. -.IP "rsvd32" 12 +.IP "etpvds" 12 +Estimated Time For Post-Verification Deallocation State: indicates the +number of seconds required to deallocate all media allocated for user data +after exiting the Media Verification state (i.e., the time difference between +entering and exiting the Post-Verification Deallocation state), if that state +is entered as part of the sanitize operation. A value of FFFFFFFFh indicates +that no time period is reported. +.IP "ssi" 12 +Sanitize State Information: indicate the state of the Sanitize Operation +State Machine. +.IP "rsvd37" 12 Reserved diff --git a/doc/man/nvme_sanitize_nvm.2 b/doc/man/nvme_sanitize_nvm.2 index 155dac0..93e0817 100644 --- a/doc/man/nvme_sanitize_nvm.2 +++ b/doc/man/nvme_sanitize_nvm.2 @@ -1,4 +1,4 @@ -.TH "nvme_sanitize_nvm" 9 "nvme_sanitize_nvm" "August 2024" "libnvme API manual" LINUX +.TH "nvme_sanitize_nvm" 9 "nvme_sanitize_nvm" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_sanitize_nvm \- Start a sanitize operation .SH SYNOPSIS diff --git a/doc/man/nvme_sanitize_sanact.2 b/doc/man/nvme_sanitize_sanact.2 index 806410e..15ae3d8 100644 --- a/doc/man/nvme_sanitize_sanact.2 +++ b/doc/man/nvme_sanitize_sanact.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_sanitize_sanact" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_sanitize_sanact" "October 2024" "API Manual" LINUX .SH NAME enum nvme_sanitize_sanact \- Sanitize Action .SH SYNOPSIS @@ -17,6 +17,10 @@ enum nvme_sanitize_sanact { .br .br .BI " NVME_SANITIZE_SANACT_START_CRYPTO_ERASE" +, +.br +.br +.BI " NVME_SANITIZE_SANACT_EXIT_MEDIA_VERIF" }; .SH Constants @@ -28,3 +32,5 @@ Start a Block Erase sanitize operation. Start an Overwrite sanitize operation. .IP "NVME_SANITIZE_SANACT_START_CRYPTO_ERASE" 12 Start a Crypto Erase sanitize operation. +.IP "NVME_SANITIZE_SANACT_EXIT_MEDIA_VERIF" 12 +Exit Media Verification State diff --git a/doc/man/nvme_sanitize_ssi.2 b/doc/man/nvme_sanitize_ssi.2 new file mode 100644 index 0000000..8117d7f --- /dev/null +++ b/doc/man/nvme_sanitize_ssi.2 @@ -0,0 +1,95 @@ +.TH "libnvme" 9 "enum nvme_sanitize_ssi" "October 2024" "API Manual" LINUX +.SH NAME +enum nvme_sanitize_ssi \- Sanitize State Information (SSI) +.SH SYNOPSIS +enum nvme_sanitize_ssi { +.br +.BI " NVME_SANITIZE_SSI_SANS_SHIFT" +, +.br +.br +.BI " NVME_SANITIZE_SSI_SANS_MASK" +, +.br +.br +.BI " NVME_SANITIZE_SSI_FAILS_SHIFT" +, +.br +.br +.BI " NVME_SANITIZE_SSI_FAILS_MASK" +, +.br +.br +.BI " NVME_SANITIZE_SSI_IDLE" +, +.br +.br +.BI " NVME_SANITIZE_SSI_RESTRICT_PROCESSING" +, +.br +.br +.BI " NVME_SANITIZE_SSI_RESTRICT_FAILURE" +, +.br +.br +.BI " NVME_SANITIZE_SSI_UNRESTRICT_PROCESSING" +, +.br +.br +.BI " NVME_SANITIZE_SSI_UNRESTRICT_FAILURE" +, +.br +.br +.BI " NVME_SANITIZE_SSI_MEDIA_VERIFICATION" +, +.br +.br +.BI " NVME_SANITIZE_SSI_POST_VERIF_DEALLOC" + +}; +.SH Constants +.IP "NVME_SANITIZE_SSI_SANS_SHIFT" 12 +Shift amount to get the value of Sanitize State +from Sanitize State Information (SSI) field. +.IP "NVME_SANITIZE_SSI_SANS_MASK" 12 +Mask to get the value of Sanitize State from +Sanitize State Information (SSI) field. +.IP "NVME_SANITIZE_SSI_FAILS_SHIFT" 12 +Shift amount to get the value of Failure State +from Sanitize State Information (SSI) field. +.IP "NVME_SANITIZE_SSI_FAILS_MASK" 12 +Mask to get the value of Failure State from +Sanitize State Information (SSI) field. +.IP "NVME_SANITIZE_SSI_IDLE" 12 +No sanitize operation is in process. +.IP "NVME_SANITIZE_SSI_RESTRICT_PROCESSING" 12 +The Sanitize operation is in Restricted Processing +State. +.IP "NVME_SANITIZE_SSI_RESTRICT_FAILURE" 12 +The Sanitize operation is in Restricted Failure +State. This state is entered if sanitize processing +was performed in the Restricted Processing state and +sanitize processing failed or a failure occurred +during deallocation of media allocated for user data +in the Post-Verification Deallocation state. +.IP "NVME_SANITIZE_SSI_UNRESTRICT_PROCESSING" 12 +The Sanitize operation is in Unrestricted Processing +State. +.IP "NVME_SANITIZE_SSI_UNRESTRICT_FAILURE" 12 +The Sanitize operation is in Unrestricted Failure +State. This state is entered if sanitize processing +was performed in the Unrestricted Processing state +and sanitize processing failed or a failure occurred +during deallocation of media allocated for user data +in the Post-Verification. +.IP "NVME_SANITIZE_SSI_MEDIA_VERIFICATION" 12 +The Sanitize operation is in Media Verification +State. In this state, the sanitize processing +completed successfully, and all media allocated for +user data in the sanitization target is readable by +the host for purposes of verifying sanitization. +.IP "NVME_SANITIZE_SSI_POST_VERIF_DEALLOC" 12 +The Sanitize operation is in Post-Verification +Deallocation State. In this state, the controller +shall deallocate all media allocated for user data +in the sanitization target. diff --git a/doc/man/nvme_sanitize_sstat.2 b/doc/man/nvme_sanitize_sstat.2 index 662d175..b2599d6 100644 --- a/doc/man/nvme_sanitize_sstat.2 +++ b/doc/man/nvme_sanitize_sstat.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_sanitize_sstat" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_sanitize_sstat" "October 2024" "API Manual" LINUX .SH NAME enum nvme_sanitize_sstat \- Sanitize Status (SSTAT) .SH SYNOPSIS @@ -49,6 +49,14 @@ enum nvme_sanitize_sstat { .br .br .BI " NVME_SANITIZE_SSTAT_GLOBAL_DATA_ERASED" +, +.br +.br +.BI " NVME_SANITIZE_SSTAT_MVCNCLD_SHIFT" +, +.br +.br +.BI " NVME_SANITIZE_SSTAT_MVCNCLD_MASK" }; .SH Constants @@ -103,3 +111,9 @@ been enabled since being manufactured and the NVM subsystem has never been sanitized; or since the most recent successful sanitize operation. +.IP "NVME_SANITIZE_SSTAT_MVCNCLD_SHIFT" 12 +Shift amount to get the value of Media Verification +Canceled bit of Sanitize status field. +.IP "NVME_SANITIZE_SSTAT_MVCNCLD_MASK" 12 +Mask to get the value of Media Verification Canceled +bit of Sanitize status field. diff --git a/doc/man/nvme_sanitize_start_event.2 b/doc/man/nvme_sanitize_start_event.2 index 8ed8c89..32b25e9 100644 --- a/doc/man/nvme_sanitize_start_event.2 +++ b/doc/man/nvme_sanitize_start_event.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_sanitize_start_event" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_sanitize_start_event" "October 2024" "API Manual" LINUX .SH NAME struct nvme_sanitize_start_event \- Sanitize Start Event Data .SH SYNOPSIS diff --git a/doc/man/nvme_scan.2 b/doc/man/nvme_scan.2 index f897412..f29cc4b 100644 --- a/doc/man/nvme_scan.2 +++ b/doc/man/nvme_scan.2 @@ -1,4 +1,4 @@ -.TH "nvme_scan" 9 "nvme_scan" "August 2024" "libnvme API manual" LINUX +.TH "nvme_scan" 9 "nvme_scan" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_scan \- Scan NVMe topology .SH SYNOPSIS diff --git a/doc/man/nvme_scan_ctrl.2 b/doc/man/nvme_scan_ctrl.2 index 34a0967..50298ed 100644 --- a/doc/man/nvme_scan_ctrl.2 +++ b/doc/man/nvme_scan_ctrl.2 @@ -1,4 +1,4 @@ -.TH "nvme_scan_ctrl" 9 "nvme_scan_ctrl" "August 2024" "libnvme API manual" LINUX +.TH "nvme_scan_ctrl" 9 "nvme_scan_ctrl" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_scan_ctrl \- Scan on a controller .SH SYNOPSIS diff --git a/doc/man/nvme_scan_ctrl_namespace_paths.2 b/doc/man/nvme_scan_ctrl_namespace_paths.2 index 2c7792b..b9b2e89 100644 --- a/doc/man/nvme_scan_ctrl_namespace_paths.2 +++ b/doc/man/nvme_scan_ctrl_namespace_paths.2 @@ -1,4 +1,4 @@ -.TH "nvme_scan_ctrl_namespace_paths" 9 "nvme_scan_ctrl_namespace_paths" "August 2024" "libnvme API manual" LINUX +.TH "nvme_scan_ctrl_namespace_paths" 9 "nvme_scan_ctrl_namespace_paths" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_scan_ctrl_namespace_paths \- Scan for namespace paths in a controller .SH SYNOPSIS diff --git a/doc/man/nvme_scan_ctrl_namespaces.2 b/doc/man/nvme_scan_ctrl_namespaces.2 index 39240a2..d19e2f9 100644 --- a/doc/man/nvme_scan_ctrl_namespaces.2 +++ b/doc/man/nvme_scan_ctrl_namespaces.2 @@ -1,4 +1,4 @@ -.TH "nvme_scan_ctrl_namespaces" 9 "nvme_scan_ctrl_namespaces" "August 2024" "libnvme API manual" LINUX +.TH "nvme_scan_ctrl_namespaces" 9 "nvme_scan_ctrl_namespaces" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_scan_ctrl_namespaces \- Scan for namespaces in a controller .SH SYNOPSIS diff --git a/doc/man/nvme_scan_ctrls.2 b/doc/man/nvme_scan_ctrls.2 index 0a3570c..070ae57 100644 --- a/doc/man/nvme_scan_ctrls.2 +++ b/doc/man/nvme_scan_ctrls.2 @@ -1,4 +1,4 @@ -.TH "nvme_scan_ctrls" 9 "nvme_scan_ctrls" "August 2024" "libnvme API manual" LINUX +.TH "nvme_scan_ctrls" 9 "nvme_scan_ctrls" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_scan_ctrls \- Scan for controllers .SH SYNOPSIS diff --git a/doc/man/nvme_scan_namespace.2 b/doc/man/nvme_scan_namespace.2 index 0d040a9..3c19133 100644 --- a/doc/man/nvme_scan_namespace.2 +++ b/doc/man/nvme_scan_namespace.2 @@ -1,4 +1,4 @@ -.TH "nvme_scan_namespace" 9 "nvme_scan_namespace" "August 2024" "libnvme API manual" LINUX +.TH "nvme_scan_namespace" 9 "nvme_scan_namespace" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_scan_namespace \- scan namespace based on sysfs name .SH SYNOPSIS diff --git a/doc/man/nvme_scan_subsystem_namespaces.2 b/doc/man/nvme_scan_subsystem_namespaces.2 index a177a0e..ff418c4 100644 --- a/doc/man/nvme_scan_subsystem_namespaces.2 +++ b/doc/man/nvme_scan_subsystem_namespaces.2 @@ -1,4 +1,4 @@ -.TH "nvme_scan_subsystem_namespaces" 9 "nvme_scan_subsystem_namespaces" "August 2024" "libnvme API manual" LINUX +.TH "nvme_scan_subsystem_namespaces" 9 "nvme_scan_subsystem_namespaces" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_scan_subsystem_namespaces \- Scan for namespaces in a subsystem .SH SYNOPSIS diff --git a/doc/man/nvme_scan_subsystems.2 b/doc/man/nvme_scan_subsystems.2 index b40eb1e..f7f57ff 100644 --- a/doc/man/nvme_scan_subsystems.2 +++ b/doc/man/nvme_scan_subsystems.2 @@ -1,4 +1,4 @@ -.TH "nvme_scan_subsystems" 9 "nvme_scan_subsystems" "August 2024" "libnvme API manual" LINUX +.TH "nvme_scan_subsystems" 9 "nvme_scan_subsystems" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_scan_subsystems \- Scan for subsystems .SH SYNOPSIS diff --git a/doc/man/nvme_scan_tls_keys.2 b/doc/man/nvme_scan_tls_keys.2 index 69ee15e..2c48542 100644 --- a/doc/man/nvme_scan_tls_keys.2 +++ b/doc/man/nvme_scan_tls_keys.2 @@ -1,4 +1,4 @@ -.TH "nvme_scan_tls_keys" 9 "nvme_scan_tls_keys" "August 2024" "libnvme API manual" LINUX +.TH "nvme_scan_tls_keys" 9 "nvme_scan_tls_keys" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_scan_tls_keys \- Iterate over TLS keys in a keyring .SH SYNOPSIS diff --git a/doc/man/nvme_scan_topology.2 b/doc/man/nvme_scan_topology.2 index 6eed008..b679d5b 100644 --- a/doc/man/nvme_scan_topology.2 +++ b/doc/man/nvme_scan_topology.2 @@ -1,4 +1,4 @@ -.TH "nvme_scan_topology" 9 "nvme_scan_topology" "August 2024" "libnvme API manual" LINUX +.TH "nvme_scan_topology" 9 "nvme_scan_topology" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_scan_topology \- Scan NVMe topology and apply filter .SH SYNOPSIS diff --git a/doc/man/nvme_secondary_ctrl.2 b/doc/man/nvme_secondary_ctrl.2 index d2e19f6..f6976f1 100644 --- a/doc/man/nvme_secondary_ctrl.2 +++ b/doc/man/nvme_secondary_ctrl.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_secondary_ctrl" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_secondary_ctrl" "October 2024" "API Manual" LINUX .SH NAME struct nvme_secondary_ctrl \- Secondary Controller Entry .SH SYNOPSIS diff --git a/doc/man/nvme_secondary_ctrl_list.2 b/doc/man/nvme_secondary_ctrl_list.2 index 73e1402..f4fd161 100644 --- a/doc/man/nvme_secondary_ctrl_list.2 +++ b/doc/man/nvme_secondary_ctrl_list.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_secondary_ctrl_list" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_secondary_ctrl_list" "October 2024" "API Manual" LINUX .SH NAME struct nvme_secondary_ctrl_list \- Secondary Controller List .SH SYNOPSIS diff --git a/doc/man/nvme_security_receive.2 b/doc/man/nvme_security_receive.2 index 26f2782..c9603c1 100644 --- a/doc/man/nvme_security_receive.2 +++ b/doc/man/nvme_security_receive.2 @@ -1,4 +1,4 @@ -.TH "nvme_security_receive" 9 "nvme_security_receive" "August 2024" "libnvme API manual" LINUX +.TH "nvme_security_receive" 9 "nvme_security_receive" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_security_receive \- Security Receive command .SH SYNOPSIS diff --git a/doc/man/nvme_security_send.2 b/doc/man/nvme_security_send.2 index e4fc0eb..b2b66d6 100644 --- a/doc/man/nvme_security_send.2 +++ b/doc/man/nvme_security_send.2 @@ -1,4 +1,4 @@ -.TH "nvme_security_send" 9 "nvme_security_send" "August 2024" "libnvme API manual" LINUX +.TH "nvme_security_send" 9 "nvme_security_send" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_security_send \- Security Send command .SH SYNOPSIS diff --git a/doc/man/nvme_self_test_log.2 b/doc/man/nvme_self_test_log.2 index c07c2b5..de3f5b4 100644 --- a/doc/man/nvme_self_test_log.2 +++ b/doc/man/nvme_self_test_log.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_self_test_log" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_self_test_log" "October 2024" "API Manual" LINUX .SH NAME struct nvme_self_test_log \- Device Self-test (Log Identifier 06h) .SH SYNOPSIS diff --git a/doc/man/nvme_set_feat_event_layout.2 b/doc/man/nvme_set_feat_event_layout.2 index 5781071..88ff849 100644 --- a/doc/man/nvme_set_feat_event_layout.2 +++ b/doc/man/nvme_set_feat_event_layout.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_set_feat_event_layout" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_set_feat_event_layout" "October 2024" "API Manual" LINUX .SH NAME enum nvme_set_feat_event_layout \- This field indicates the set feature event layout .SH SYNOPSIS diff --git a/doc/man/nvme_set_feature_event.2 b/doc/man/nvme_set_feature_event.2 index 817f90b..b9b906d 100644 --- a/doc/man/nvme_set_feature_event.2 +++ b/doc/man/nvme_set_feature_event.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_set_feature_event" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_set_feature_event" "October 2024" "API Manual" LINUX .SH NAME struct nvme_set_feature_event \- Set Feature Event Data .SH SYNOPSIS diff --git a/doc/man/nvme_set_features.2 b/doc/man/nvme_set_features.2 index 0adb1b8..0349c90 100644 --- a/doc/man/nvme_set_features.2 +++ b/doc/man/nvme_set_features.2 @@ -1,4 +1,4 @@ -.TH "nvme_set_features" 9 "nvme_set_features" "August 2024" "libnvme API manual" LINUX +.TH "nvme_set_features" 9 "nvme_set_features" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_set_features \- Set a feature attribute .SH SYNOPSIS diff --git a/doc/man/nvme_set_features_arbitration.2 b/doc/man/nvme_set_features_arbitration.2 index cd60b1d..2a1335e 100644 --- a/doc/man/nvme_set_features_arbitration.2 +++ b/doc/man/nvme_set_features_arbitration.2 @@ -1,4 +1,4 @@ -.TH "nvme_set_features_arbitration" 9 "nvme_set_features_arbitration" "August 2024" "libnvme API manual" LINUX +.TH "nvme_set_features_arbitration" 9 "nvme_set_features_arbitration" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_set_features_arbitration \- Set arbitration features .SH SYNOPSIS diff --git a/doc/man/nvme_set_features_async_event.2 b/doc/man/nvme_set_features_async_event.2 index cf66570..63756a3 100644 --- a/doc/man/nvme_set_features_async_event.2 +++ b/doc/man/nvme_set_features_async_event.2 @@ -1,4 +1,4 @@ -.TH "nvme_set_features_async_event" 9 "nvme_set_features_async_event" "August 2024" "libnvme API manual" LINUX +.TH "nvme_set_features_async_event" 9 "nvme_set_features_async_event" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_set_features_async_event \- Set asynchronous event feature .SH SYNOPSIS diff --git a/doc/man/nvme_set_features_auto_pst.2 b/doc/man/nvme_set_features_auto_pst.2 index b43b090..7f52664 100644 --- a/doc/man/nvme_set_features_auto_pst.2 +++ b/doc/man/nvme_set_features_auto_pst.2 @@ -1,4 +1,4 @@ -.TH "nvme_set_features_auto_pst" 9 "nvme_set_features_auto_pst" "August 2024" "libnvme API manual" LINUX +.TH "nvme_set_features_auto_pst" 9 "nvme_set_features_auto_pst" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_set_features_auto_pst \- Set autonomous power state feature .SH SYNOPSIS diff --git a/doc/man/nvme_set_features_data.2 b/doc/man/nvme_set_features_data.2 index 3eceac7..f385a28 100644 --- a/doc/man/nvme_set_features_data.2 +++ b/doc/man/nvme_set_features_data.2 @@ -1,4 +1,4 @@ -.TH "nvme_set_features_data" 9 "nvme_set_features_data" "August 2024" "libnvme API manual" LINUX +.TH "nvme_set_features_data" 9 "nvme_set_features_data" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_set_features_data \- Helper function for @nvme_set_features() .SH SYNOPSIS diff --git a/doc/man/nvme_set_features_endurance_evt_cfg.2 b/doc/man/nvme_set_features_endurance_evt_cfg.2 index 8cf7a7e..4c00317 100644 --- a/doc/man/nvme_set_features_endurance_evt_cfg.2 +++ b/doc/man/nvme_set_features_endurance_evt_cfg.2 @@ -1,4 +1,4 @@ -.TH "nvme_set_features_endurance_evt_cfg" 9 "nvme_set_features_endurance_evt_cfg" "August 2024" "libnvme API manual" LINUX +.TH "nvme_set_features_endurance_evt_cfg" 9 "nvme_set_features_endurance_evt_cfg" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_set_features_endurance_evt_cfg \- Set endurance event config feature .SH SYNOPSIS diff --git a/doc/man/nvme_set_features_err_recovery.2 b/doc/man/nvme_set_features_err_recovery.2 index d0917b6..f231ccc 100644 --- a/doc/man/nvme_set_features_err_recovery.2 +++ b/doc/man/nvme_set_features_err_recovery.2 @@ -1,4 +1,4 @@ -.TH "nvme_set_features_err_recovery" 9 "nvme_set_features_err_recovery" "August 2024" "libnvme API manual" LINUX +.TH "nvme_set_features_err_recovery" 9 "nvme_set_features_err_recovery" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_set_features_err_recovery \- Set error recovery feature .SH SYNOPSIS diff --git a/doc/man/nvme_set_features_hctm.2 b/doc/man/nvme_set_features_hctm.2 index cd84acc..aea0c0e 100644 --- a/doc/man/nvme_set_features_hctm.2 +++ b/doc/man/nvme_set_features_hctm.2 @@ -1,4 +1,4 @@ -.TH "nvme_set_features_hctm" 9 "nvme_set_features_hctm" "August 2024" "libnvme API manual" LINUX +.TH "nvme_set_features_hctm" 9 "nvme_set_features_hctm" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_set_features_hctm \- Set thermal management feature .SH SYNOPSIS diff --git a/doc/man/nvme_set_features_host_behavior.2 b/doc/man/nvme_set_features_host_behavior.2 index 027ab93..1e6abad 100644 --- a/doc/man/nvme_set_features_host_behavior.2 +++ b/doc/man/nvme_set_features_host_behavior.2 @@ -1,4 +1,4 @@ -.TH "nvme_set_features_host_behavior" 9 "nvme_set_features_host_behavior" "August 2024" "libnvme API manual" LINUX +.TH "nvme_set_features_host_behavior" 9 "nvme_set_features_host_behavior" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_set_features_host_behavior \- Set host behavior feature .SH SYNOPSIS diff --git a/doc/man/nvme_set_features_host_id.2 b/doc/man/nvme_set_features_host_id.2 index b5dec9c..553fd87 100644 --- a/doc/man/nvme_set_features_host_id.2 +++ b/doc/man/nvme_set_features_host_id.2 @@ -1,4 +1,4 @@ -.TH "nvme_set_features_host_id" 9 "nvme_set_features_host_id" "August 2024" "libnvme API manual" LINUX +.TH "nvme_set_features_host_id" 9 "nvme_set_features_host_id" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_set_features_host_id \- Set enable extended host identifiers feature .SH SYNOPSIS diff --git a/doc/man/nvme_set_features_iocs_profile.2 b/doc/man/nvme_set_features_iocs_profile.2 index 1cf6084..ee4e91a 100644 --- a/doc/man/nvme_set_features_iocs_profile.2 +++ b/doc/man/nvme_set_features_iocs_profile.2 @@ -1,4 +1,4 @@ -.TH "nvme_set_features_iocs_profile" 9 "nvme_set_features_iocs_profile" "August 2024" "libnvme API manual" LINUX +.TH "nvme_set_features_iocs_profile" 9 "nvme_set_features_iocs_profile" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_set_features_iocs_profile \- Set I/O command set profile feature .SH SYNOPSIS diff --git a/doc/man/nvme_set_features_irq_coalesce.2 b/doc/man/nvme_set_features_irq_coalesce.2 index b57fc98..d628f7d 100644 --- a/doc/man/nvme_set_features_irq_coalesce.2 +++ b/doc/man/nvme_set_features_irq_coalesce.2 @@ -1,4 +1,4 @@ -.TH "nvme_set_features_irq_coalesce" 9 "nvme_set_features_irq_coalesce" "August 2024" "libnvme API manual" LINUX +.TH "nvme_set_features_irq_coalesce" 9 "nvme_set_features_irq_coalesce" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_set_features_irq_coalesce \- Set IRQ coalesce feature .SH SYNOPSIS diff --git a/doc/man/nvme_set_features_irq_config.2 b/doc/man/nvme_set_features_irq_config.2 index 9f40e99..6ce815e 100644 --- a/doc/man/nvme_set_features_irq_config.2 +++ b/doc/man/nvme_set_features_irq_config.2 @@ -1,4 +1,4 @@ -.TH "nvme_set_features_irq_config" 9 "nvme_set_features_irq_config" "August 2024" "libnvme API manual" LINUX +.TH "nvme_set_features_irq_config" 9 "nvme_set_features_irq_config" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_set_features_irq_config \- Set IRQ config feature .SH SYNOPSIS diff --git a/doc/man/nvme_set_features_lba_range.2 b/doc/man/nvme_set_features_lba_range.2 index 9101e4c..f558390 100644 --- a/doc/man/nvme_set_features_lba_range.2 +++ b/doc/man/nvme_set_features_lba_range.2 @@ -1,4 +1,4 @@ -.TH "nvme_set_features_lba_range" 9 "nvme_set_features_lba_range" "August 2024" "libnvme API manual" LINUX +.TH "nvme_set_features_lba_range" 9 "nvme_set_features_lba_range" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_set_features_lba_range \- Set LBA range feature .SH SYNOPSIS diff --git a/doc/man/nvme_set_features_lba_sts_interval.2 b/doc/man/nvme_set_features_lba_sts_interval.2 index dd0f902..19682d1 100644 --- a/doc/man/nvme_set_features_lba_sts_interval.2 +++ b/doc/man/nvme_set_features_lba_sts_interval.2 @@ -1,4 +1,4 @@ -.TH "nvme_set_features_lba_sts_interval" 9 "nvme_set_features_lba_sts_interval" "August 2024" "libnvme API manual" LINUX +.TH "nvme_set_features_lba_sts_interval" 9 "nvme_set_features_lba_sts_interval" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_set_features_lba_sts_interval \- Set LBA status information feature .SH SYNOPSIS diff --git a/doc/man/nvme_set_features_nopsc.2 b/doc/man/nvme_set_features_nopsc.2 index 9796ec8..b3772d0 100644 --- a/doc/man/nvme_set_features_nopsc.2 +++ b/doc/man/nvme_set_features_nopsc.2 @@ -1,4 +1,4 @@ -.TH "nvme_set_features_nopsc" 9 "nvme_set_features_nopsc" "August 2024" "libnvme API manual" LINUX +.TH "nvme_set_features_nopsc" 9 "nvme_set_features_nopsc" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_set_features_nopsc \- Set non-operational power state feature .SH SYNOPSIS diff --git a/doc/man/nvme_set_features_plm_config.2 b/doc/man/nvme_set_features_plm_config.2 index f30890e..aab238c 100644 --- a/doc/man/nvme_set_features_plm_config.2 +++ b/doc/man/nvme_set_features_plm_config.2 @@ -1,4 +1,4 @@ -.TH "nvme_set_features_plm_config" 9 "nvme_set_features_plm_config" "August 2024" "libnvme API manual" LINUX +.TH "nvme_set_features_plm_config" 9 "nvme_set_features_plm_config" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_set_features_plm_config \- Set predictable latency feature .SH SYNOPSIS diff --git a/doc/man/nvme_set_features_plm_window.2 b/doc/man/nvme_set_features_plm_window.2 index 7770c22..648a2d0 100644 --- a/doc/man/nvme_set_features_plm_window.2 +++ b/doc/man/nvme_set_features_plm_window.2 @@ -1,4 +1,4 @@ -.TH "nvme_set_features_plm_window" 9 "nvme_set_features_plm_window" "August 2024" "libnvme API manual" LINUX +.TH "nvme_set_features_plm_window" 9 "nvme_set_features_plm_window" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_set_features_plm_window \- Set window select feature .SH SYNOPSIS diff --git a/doc/man/nvme_set_features_power_mgmt.2 b/doc/man/nvme_set_features_power_mgmt.2 index 69ea4f9..8593b8c 100644 --- a/doc/man/nvme_set_features_power_mgmt.2 +++ b/doc/man/nvme_set_features_power_mgmt.2 @@ -1,4 +1,4 @@ -.TH "nvme_set_features_power_mgmt" 9 "nvme_set_features_power_mgmt" "August 2024" "libnvme API manual" LINUX +.TH "nvme_set_features_power_mgmt" 9 "nvme_set_features_power_mgmt" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_set_features_power_mgmt \- Set power management feature .SH SYNOPSIS diff --git a/doc/man/nvme_set_features_resv_mask.2 b/doc/man/nvme_set_features_resv_mask.2 index 78fdd27..9295601 100644 --- a/doc/man/nvme_set_features_resv_mask.2 +++ b/doc/man/nvme_set_features_resv_mask.2 @@ -1,4 +1,4 @@ -.TH "nvme_set_features_resv_mask" 9 "nvme_set_features_resv_mask" "August 2024" "libnvme API manual" LINUX +.TH "nvme_set_features_resv_mask" 9 "nvme_set_features_resv_mask" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_set_features_resv_mask \- Set reservation notification mask feature .SH SYNOPSIS diff --git a/doc/man/nvme_set_features_resv_mask2.2 b/doc/man/nvme_set_features_resv_mask2.2 index 2c1cecf..3238c72 100644 --- a/doc/man/nvme_set_features_resv_mask2.2 +++ b/doc/man/nvme_set_features_resv_mask2.2 @@ -1,4 +1,4 @@ -.TH "nvme_set_features_resv_mask2" 9 "nvme_set_features_resv_mask2" "August 2024" "libnvme API manual" LINUX +.TH "nvme_set_features_resv_mask2" 9 "nvme_set_features_resv_mask2" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_set_features_resv_mask2 \- Set reservation notification mask feature .SH SYNOPSIS diff --git a/doc/man/nvme_set_features_resv_persist.2 b/doc/man/nvme_set_features_resv_persist.2 index 4b73dee..09faf82 100644 --- a/doc/man/nvme_set_features_resv_persist.2 +++ b/doc/man/nvme_set_features_resv_persist.2 @@ -1,4 +1,4 @@ -.TH "nvme_set_features_resv_persist" 9 "nvme_set_features_resv_persist" "August 2024" "libnvme API manual" LINUX +.TH "nvme_set_features_resv_persist" 9 "nvme_set_features_resv_persist" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_set_features_resv_persist \- Set persist through power loss feature .SH SYNOPSIS diff --git a/doc/man/nvme_set_features_resv_persist2.2 b/doc/man/nvme_set_features_resv_persist2.2 index b02f82d..29e3a34 100644 --- a/doc/man/nvme_set_features_resv_persist2.2 +++ b/doc/man/nvme_set_features_resv_persist2.2 @@ -1,4 +1,4 @@ -.TH "nvme_set_features_resv_persist2" 9 "nvme_set_features_resv_persist2" "August 2024" "libnvme API manual" LINUX +.TH "nvme_set_features_resv_persist2" 9 "nvme_set_features_resv_persist2" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_set_features_resv_persist2 \- Set persist through power loss feature .SH SYNOPSIS diff --git a/doc/man/nvme_set_features_rrl.2 b/doc/man/nvme_set_features_rrl.2 index c4f0318..147c62b 100644 --- a/doc/man/nvme_set_features_rrl.2 +++ b/doc/man/nvme_set_features_rrl.2 @@ -1,4 +1,4 @@ -.TH "nvme_set_features_rrl" 9 "nvme_set_features_rrl" "August 2024" "libnvme API manual" LINUX +.TH "nvme_set_features_rrl" 9 "nvme_set_features_rrl" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_set_features_rrl \- Set read recovery level feature .SH SYNOPSIS diff --git a/doc/man/nvme_set_features_sanitize.2 b/doc/man/nvme_set_features_sanitize.2 index 1b138e8..3fd24be 100644 --- a/doc/man/nvme_set_features_sanitize.2 +++ b/doc/man/nvme_set_features_sanitize.2 @@ -1,4 +1,4 @@ -.TH "nvme_set_features_sanitize" 9 "nvme_set_features_sanitize" "August 2024" "libnvme API manual" LINUX +.TH "nvme_set_features_sanitize" 9 "nvme_set_features_sanitize" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_set_features_sanitize \- Set sanitize feature .SH SYNOPSIS diff --git a/doc/man/nvme_set_features_simple.2 b/doc/man/nvme_set_features_simple.2 index 4ba9d4b..5e7ba27 100644 --- a/doc/man/nvme_set_features_simple.2 +++ b/doc/man/nvme_set_features_simple.2 @@ -1,4 +1,4 @@ -.TH "nvme_set_features_simple" 9 "nvme_set_features_simple" "August 2024" "libnvme API manual" LINUX +.TH "nvme_set_features_simple" 9 "nvme_set_features_simple" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_set_features_simple \- Helper function for @nvme_set_features() .SH SYNOPSIS diff --git a/doc/man/nvme_set_features_sw_progress.2 b/doc/man/nvme_set_features_sw_progress.2 index 5a4628f..c638e79 100644 --- a/doc/man/nvme_set_features_sw_progress.2 +++ b/doc/man/nvme_set_features_sw_progress.2 @@ -1,4 +1,4 @@ -.TH "nvme_set_features_sw_progress" 9 "nvme_set_features_sw_progress" "August 2024" "libnvme API manual" LINUX +.TH "nvme_set_features_sw_progress" 9 "nvme_set_features_sw_progress" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_set_features_sw_progress \- Set pre-boot software load count feature .SH SYNOPSIS diff --git a/doc/man/nvme_set_features_temp_thresh.2 b/doc/man/nvme_set_features_temp_thresh.2 index 8220084..c46b460 100644 --- a/doc/man/nvme_set_features_temp_thresh.2 +++ b/doc/man/nvme_set_features_temp_thresh.2 @@ -1,4 +1,4 @@ -.TH "nvme_set_features_temp_thresh" 9 "nvme_set_features_temp_thresh" "August 2024" "libnvme API manual" LINUX +.TH "nvme_set_features_temp_thresh" 9 "nvme_set_features_temp_thresh" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_set_features_temp_thresh \- Set temperature threshold feature .SH SYNOPSIS diff --git a/doc/man/nvme_set_features_timestamp.2 b/doc/man/nvme_set_features_timestamp.2 index 2b2ccae..66b4e2a 100644 --- a/doc/man/nvme_set_features_timestamp.2 +++ b/doc/man/nvme_set_features_timestamp.2 @@ -1,4 +1,4 @@ -.TH "nvme_set_features_timestamp" 9 "nvme_set_features_timestamp" "August 2024" "libnvme API manual" LINUX +.TH "nvme_set_features_timestamp" 9 "nvme_set_features_timestamp" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_set_features_timestamp \- Set timestamp feature .SH SYNOPSIS diff --git a/doc/man/nvme_set_features_volatile_wc.2 b/doc/man/nvme_set_features_volatile_wc.2 index 4ed14ef..f579498 100644 --- a/doc/man/nvme_set_features_volatile_wc.2 +++ b/doc/man/nvme_set_features_volatile_wc.2 @@ -1,4 +1,4 @@ -.TH "nvme_set_features_volatile_wc" 9 "nvme_set_features_volatile_wc" "August 2024" "libnvme API manual" LINUX +.TH "nvme_set_features_volatile_wc" 9 "nvme_set_features_volatile_wc" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_set_features_volatile_wc \- Set volatile write cache feature .SH SYNOPSIS diff --git a/doc/man/nvme_set_features_write_atomic.2 b/doc/man/nvme_set_features_write_atomic.2 index 1233bc1..791641f 100644 --- a/doc/man/nvme_set_features_write_atomic.2 +++ b/doc/man/nvme_set_features_write_atomic.2 @@ -1,4 +1,4 @@ -.TH "nvme_set_features_write_atomic" 9 "nvme_set_features_write_atomic" "August 2024" "libnvme API manual" LINUX +.TH "nvme_set_features_write_atomic" 9 "nvme_set_features_write_atomic" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_set_features_write_atomic \- Set write atomic feature .SH SYNOPSIS diff --git a/doc/man/nvme_set_features_write_protect.2 b/doc/man/nvme_set_features_write_protect.2 index 22f59d6..2f396c6 100644 --- a/doc/man/nvme_set_features_write_protect.2 +++ b/doc/man/nvme_set_features_write_protect.2 @@ -1,4 +1,4 @@ -.TH "nvme_set_features_write_protect" 9 "nvme_set_features_write_protect" "August 2024" "libnvme API manual" LINUX +.TH "nvme_set_features_write_protect" 9 "nvme_set_features_write_protect" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_set_features_write_protect \- Set write protect feature .SH SYNOPSIS diff --git a/doc/man/nvme_set_features_write_protect2.2 b/doc/man/nvme_set_features_write_protect2.2 index ba2ef2e..703e221 100644 --- a/doc/man/nvme_set_features_write_protect2.2 +++ b/doc/man/nvme_set_features_write_protect2.2 @@ -1,4 +1,4 @@ -.TH "nvme_set_features_write_protect2" 9 "nvme_set_features_write_protect2" "August 2024" "libnvme API manual" LINUX +.TH "nvme_set_features_write_protect2" 9 "nvme_set_features_write_protect2" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_set_features_write_protect2 \- Set write protect feature .SH SYNOPSIS diff --git a/doc/man/nvme_set_keyring.2 b/doc/man/nvme_set_keyring.2 index 0161605..d329ca6 100644 --- a/doc/man/nvme_set_keyring.2 +++ b/doc/man/nvme_set_keyring.2 @@ -1,4 +1,4 @@ -.TH "nvme_set_keyring" 9 "nvme_set_keyring" "August 2024" "libnvme API manual" LINUX +.TH "nvme_set_keyring" 9 "nvme_set_keyring" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_set_keyring \- Link keyring for lookup .SH SYNOPSIS diff --git a/doc/man/nvme_set_property.2 b/doc/man/nvme_set_property.2 index 51d2240..811c2c9 100644 --- a/doc/man/nvme_set_property.2 +++ b/doc/man/nvme_set_property.2 @@ -1,4 +1,4 @@ -.TH "nvme_set_property" 9 "nvme_set_property" "August 2024" "libnvme API manual" LINUX +.TH "nvme_set_property" 9 "nvme_set_property" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_set_property \- Set controller property .SH SYNOPSIS diff --git a/doc/man/nvme_set_root.2 b/doc/man/nvme_set_root.2 index c03de4a..a334eb3 100644 --- a/doc/man/nvme_set_root.2 +++ b/doc/man/nvme_set_root.2 @@ -1,4 +1,4 @@ -.TH "nvme_set_root" 9 "nvme_set_root" "August 2024" "libnvme API manual" LINUX +.TH "nvme_set_root" 9 "nvme_set_root" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_set_root \- Set nvme_root_t context .SH SYNOPSIS diff --git a/doc/man/nvme_smart_crit.2 b/doc/man/nvme_smart_crit.2 index 2dee75a..f7ee31b 100644 --- a/doc/man/nvme_smart_crit.2 +++ b/doc/man/nvme_smart_crit.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_smart_crit" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_smart_crit" "October 2024" "API Manual" LINUX .SH NAME enum nvme_smart_crit \- Critical Warning .SH SYNOPSIS diff --git a/doc/man/nvme_smart_egcw.2 b/doc/man/nvme_smart_egcw.2 index bbb666b..7ce26e1 100644 --- a/doc/man/nvme_smart_egcw.2 +++ b/doc/man/nvme_smart_egcw.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_smart_egcw" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_smart_egcw" "October 2024" "API Manual" LINUX .SH NAME enum nvme_smart_egcw \- Endurance Group Critical Warning Summary .SH SYNOPSIS diff --git a/doc/man/nvme_smart_log.2 b/doc/man/nvme_smart_log.2 index d19627f..bcb2e26 100644 --- a/doc/man/nvme_smart_log.2 +++ b/doc/man/nvme_smart_log.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_smart_log" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_smart_log" "October 2024" "API Manual" LINUX .SH NAME struct nvme_smart_log \- SMART / Health Information Log (Log Identifier 02h) .SH SYNOPSIS diff --git a/doc/man/nvme_st_code.2 b/doc/man/nvme_st_code.2 index 6d594c6..2cb7da8 100644 --- a/doc/man/nvme_st_code.2 +++ b/doc/man/nvme_st_code.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_st_code" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_st_code" "October 2024" "API Manual" LINUX .SH NAME enum nvme_st_code \- Self-test Code value .SH SYNOPSIS diff --git a/doc/man/nvme_st_curr_op.2 b/doc/man/nvme_st_curr_op.2 index 160f9c3..ff5aae2 100644 --- a/doc/man/nvme_st_curr_op.2 +++ b/doc/man/nvme_st_curr_op.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_st_curr_op" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_st_curr_op" "October 2024" "API Manual" LINUX .SH NAME enum nvme_st_curr_op \- Current Device Self-Test Operation .SH SYNOPSIS diff --git a/doc/man/nvme_st_result.2 b/doc/man/nvme_st_result.2 index 52d2630..c9669f8 100644 --- a/doc/man/nvme_st_result.2 +++ b/doc/man/nvme_st_result.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_st_result" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_st_result" "October 2024" "API Manual" LINUX .SH NAME struct nvme_st_result \- Self-test Result .SH SYNOPSIS diff --git a/doc/man/nvme_st_valid_diag_info.2 b/doc/man/nvme_st_valid_diag_info.2 index 77b9dc3..b240b9b 100644 --- a/doc/man/nvme_st_valid_diag_info.2 +++ b/doc/man/nvme_st_valid_diag_info.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_st_valid_diag_info" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_st_valid_diag_info" "October 2024" "API Manual" LINUX .SH NAME enum nvme_st_valid_diag_info \- Valid Diagnostic Information .SH SYNOPSIS diff --git a/doc/man/nvme_status_code.2 b/doc/man/nvme_status_code.2 index 4067f97..1e2ed7c 100644 --- a/doc/man/nvme_status_code.2 +++ b/doc/man/nvme_status_code.2 @@ -1,4 +1,4 @@ -.TH "nvme_status_code" 9 "nvme_status_code" "August 2024" "libnvme API manual" LINUX +.TH "nvme_status_code" 9 "nvme_status_code" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_status_code \- Returns the NVMe Status Code .SH SYNOPSIS diff --git a/doc/man/nvme_status_code_type.2 b/doc/man/nvme_status_code_type.2 index 5e71cff..1639d87 100644 --- a/doc/man/nvme_status_code_type.2 +++ b/doc/man/nvme_status_code_type.2 @@ -1,4 +1,4 @@ -.TH "nvme_status_code_type" 9 "nvme_status_code_type" "August 2024" "libnvme API manual" LINUX +.TH "nvme_status_code_type" 9 "nvme_status_code_type" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_status_code_type \- Returns the NVMe Status Code Type .SH SYNOPSIS diff --git a/doc/man/nvme_status_equals.2 b/doc/man/nvme_status_equals.2 index d58bd08..08bcb5a 100644 --- a/doc/man/nvme_status_equals.2 +++ b/doc/man/nvme_status_equals.2 @@ -1,4 +1,4 @@ -.TH "nvme_status_equals" 9 "nvme_status_equals" "August 2024" "libnvme API manual" LINUX +.TH "nvme_status_equals" 9 "nvme_status_equals" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_status_equals \- helper to check a status against a type and value .SH SYNOPSIS diff --git a/doc/man/nvme_status_field.2 b/doc/man/nvme_status_field.2 index 827664e..327b131 100644 --- a/doc/man/nvme_status_field.2 +++ b/doc/man/nvme_status_field.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_status_field" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_status_field" "October 2024" "API Manual" LINUX .SH NAME enum nvme_status_field \- Defines all parts of the nvme status field: status code, status code type, and additional flags. .SH SYNOPSIS @@ -416,6 +416,26 @@ enum nvme_status_field { , .br .br +.BI " NVME_SC_INVALID_CONTROLER_DATA_QUEUE" +, +.br +.br +.BI " NVME_SC_NOT_ENOUGH_RESOURCES" +, +.br +.br +.BI " NVME_SC_CONTROLLER_SUSPENDED" +, +.br +.br +.BI " NVME_SC_CONTROLLER_NOT_SUSPENDED" +, +.br +.br +.BI " NVME_SC_CONTROLLER_DATA_QUEUE_FULL" +, +.br +.br .BI " NVME_SC_BAD_ATTRIBUTES" , .br @@ -1035,6 +1055,25 @@ The NQN contained in the ZoneGroup Originator field does not match the Host NQN used by the DDC to connect to the CDC. +.IP "NVME_SC_INVALID_CONTROLER_DATA_QUEUE" 12 +This error indicates that the +specified Controller Data Queue +Identifier is invalid for the controller +processing the command. +.IP "NVME_SC_NOT_ENOUGH_RESOURCES" 12 +This error indicates that there is not +enough resources in the controller to +process the command. +.IP "NVME_SC_CONTROLLER_SUSPENDED" 12 +The operation requested is not allowed if +the specified controller is suspended. +.IP "NVME_SC_CONTROLLER_NOT_SUSPENDED" 12 +The operation requested is not allowed if +the specified controller is not +suspended. +.IP "NVME_SC_CONTROLLER_DATA_QUEUE_FULL" 12 +The controller detected that a +Controller Data Queue became full. .IP "NVME_SC_BAD_ATTRIBUTES" 12 Conflicting Dataset Management Attributes .IP "NVME_SC_INVALID_PI" 12 diff --git a/doc/man/nvme_status_get_type.2 b/doc/man/nvme_status_get_type.2 index 7b8c55b..70a6c44 100644 --- a/doc/man/nvme_status_get_type.2 +++ b/doc/man/nvme_status_get_type.2 @@ -1,4 +1,4 @@ -.TH "nvme_status_get_type" 9 "nvme_status_get_type" "August 2024" "libnvme API manual" LINUX +.TH "nvme_status_get_type" 9 "nvme_status_get_type" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_status_get_type \- extract the type from a nvme_* return value .SH SYNOPSIS diff --git a/doc/man/nvme_status_get_value.2 b/doc/man/nvme_status_get_value.2 index 5577113..f216c19 100644 --- a/doc/man/nvme_status_get_value.2 +++ b/doc/man/nvme_status_get_value.2 @@ -1,4 +1,4 @@ -.TH "nvme_status_get_value" 9 "nvme_status_get_value" "August 2024" "libnvme API manual" LINUX +.TH "nvme_status_get_value" 9 "nvme_status_get_value" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_status_get_value \- extract the status value from a nvme_* return value .SH SYNOPSIS diff --git a/doc/man/nvme_status_result.2 b/doc/man/nvme_status_result.2 index 66fc97c..78e9160 100644 --- a/doc/man/nvme_status_result.2 +++ b/doc/man/nvme_status_result.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_status_result" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_status_result" "October 2024" "API Manual" LINUX .SH NAME enum nvme_status_result \- Result of the device self-test operation .SH SYNOPSIS diff --git a/doc/man/nvme_status_to_errno.2 b/doc/man/nvme_status_to_errno.2 index e38ee34..35cb451 100644 --- a/doc/man/nvme_status_to_errno.2 +++ b/doc/man/nvme_status_to_errno.2 @@ -1,4 +1,4 @@ -.TH "nvme_status_to_errno" 9 "nvme_status_to_errno" "August 2024" "libnvme API manual" LINUX +.TH "nvme_status_to_errno" 9 "nvme_status_to_errno" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_status_to_errno \- Converts nvme return status to errno .SH SYNOPSIS diff --git a/doc/man/nvme_status_to_string.2 b/doc/man/nvme_status_to_string.2 index 7895f13..95d76d0 100644 --- a/doc/man/nvme_status_to_string.2 +++ b/doc/man/nvme_status_to_string.2 @@ -1,4 +1,4 @@ -.TH "nvme_status_to_string" 9 "nvme_status_to_string" "August 2024" "libnvme API manual" LINUX +.TH "nvme_status_to_string" 9 "nvme_status_to_string" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_status_to_string \- Returns string describing nvme return status. .SH SYNOPSIS diff --git a/doc/man/nvme_status_type.2 b/doc/man/nvme_status_type.2 index 5107a0e..5613ea6 100644 --- a/doc/man/nvme_status_type.2 +++ b/doc/man/nvme_status_type.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_status_type" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_status_type" "October 2024" "API Manual" LINUX .SH NAME enum nvme_status_type \- type encoding for NVMe return values, when represented as an int. .SH SYNOPSIS diff --git a/doc/man/nvme_streams_directive_params.2 b/doc/man/nvme_streams_directive_params.2 index 218375a..3ac1e9d 100644 --- a/doc/man/nvme_streams_directive_params.2 +++ b/doc/man/nvme_streams_directive_params.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_streams_directive_params" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_streams_directive_params" "October 2024" "API Manual" LINUX .SH NAME struct nvme_streams_directive_params \- Streams Directive - Return Parameters Data Structure .SH SYNOPSIS diff --git a/doc/man/nvme_streams_directive_status.2 b/doc/man/nvme_streams_directive_status.2 index 5ae90df..b2f18de 100644 --- a/doc/man/nvme_streams_directive_status.2 +++ b/doc/man/nvme_streams_directive_status.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_streams_directive_status" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_streams_directive_status" "October 2024" "API Manual" LINUX .SH NAME struct nvme_streams_directive_status \- Streams Directive - Get Status Data Structure .SH SYNOPSIS diff --git a/doc/man/nvme_submit_admin_passthru.2 b/doc/man/nvme_submit_admin_passthru.2 index 0511b59..ff5a065 100644 --- a/doc/man/nvme_submit_admin_passthru.2 +++ b/doc/man/nvme_submit_admin_passthru.2 @@ -1,4 +1,4 @@ -.TH "nvme_submit_admin_passthru" 9 "nvme_submit_admin_passthru" "August 2024" "libnvme API manual" LINUX +.TH "nvme_submit_admin_passthru" 9 "nvme_submit_admin_passthru" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_submit_admin_passthru \- Submit an nvme passthrough admin command .SH SYNOPSIS diff --git a/doc/man/nvme_submit_admin_passthru64.2 b/doc/man/nvme_submit_admin_passthru64.2 index 39eec4a..afc1fcb 100644 --- a/doc/man/nvme_submit_admin_passthru64.2 +++ b/doc/man/nvme_submit_admin_passthru64.2 @@ -1,4 +1,4 @@ -.TH "nvme_submit_admin_passthru64" 9 "nvme_submit_admin_passthru64" "August 2024" "libnvme API manual" LINUX +.TH "nvme_submit_admin_passthru64" 9 "nvme_submit_admin_passthru64" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_submit_admin_passthru64 \- Submit a 64-bit nvme passthrough admin command .SH SYNOPSIS diff --git a/doc/man/nvme_submit_io_passthru.2 b/doc/man/nvme_submit_io_passthru.2 index 4a2a594..abaa4d2 100644 --- a/doc/man/nvme_submit_io_passthru.2 +++ b/doc/man/nvme_submit_io_passthru.2 @@ -1,4 +1,4 @@ -.TH "nvme_submit_io_passthru" 9 "nvme_submit_io_passthru" "August 2024" "libnvme API manual" LINUX +.TH "nvme_submit_io_passthru" 9 "nvme_submit_io_passthru" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_submit_io_passthru \- Submit an nvme passthrough command .SH SYNOPSIS diff --git a/doc/man/nvme_submit_io_passthru64.2 b/doc/man/nvme_submit_io_passthru64.2 index 0acb1b9..afb3f99 100644 --- a/doc/man/nvme_submit_io_passthru64.2 +++ b/doc/man/nvme_submit_io_passthru64.2 @@ -1,4 +1,4 @@ -.TH "nvme_submit_io_passthru64" 9 "nvme_submit_io_passthru64" "August 2024" "libnvme API manual" LINUX +.TH "nvme_submit_io_passthru64" 9 "nvme_submit_io_passthru64" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_submit_io_passthru64 \- Submit a 64-bit nvme passthrough command .SH SYNOPSIS diff --git a/doc/man/nvme_subsys_filter.2 b/doc/man/nvme_subsys_filter.2 index 5464003..fc54c45 100644 --- a/doc/man/nvme_subsys_filter.2 +++ b/doc/man/nvme_subsys_filter.2 @@ -1,4 +1,4 @@ -.TH "nvme_subsys_filter" 9 "nvme_subsys_filter" "August 2024" "libnvme API manual" LINUX +.TH "nvme_subsys_filter" 9 "nvme_subsys_filter" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_subsys_filter \- Filter for subsystems .SH SYNOPSIS diff --git a/doc/man/nvme_subsys_type.2 b/doc/man/nvme_subsys_type.2 index 41cd5d7..84bdbac 100644 --- a/doc/man/nvme_subsys_type.2 +++ b/doc/man/nvme_subsys_type.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_subsys_type" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_subsys_type" "October 2024" "API Manual" LINUX .SH NAME enum nvme_subsys_type \- Type of the NVM subsystem. .SH SYNOPSIS diff --git a/doc/man/nvme_subsystem_first_ctrl.2 b/doc/man/nvme_subsystem_first_ctrl.2 index cd280df..7f2d512 100644 --- a/doc/man/nvme_subsystem_first_ctrl.2 +++ b/doc/man/nvme_subsystem_first_ctrl.2 @@ -1,4 +1,4 @@ -.TH "nvme_subsystem_first_ctrl" 9 "nvme_subsystem_first_ctrl" "August 2024" "libnvme API manual" LINUX +.TH "nvme_subsystem_first_ctrl" 9 "nvme_subsystem_first_ctrl" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_subsystem_first_ctrl \- First ctrl iterator .SH SYNOPSIS diff --git a/doc/man/nvme_subsystem_first_ns.2 b/doc/man/nvme_subsystem_first_ns.2 index 9028f41..8dc2d80 100644 --- a/doc/man/nvme_subsystem_first_ns.2 +++ b/doc/man/nvme_subsystem_first_ns.2 @@ -1,4 +1,4 @@ -.TH "nvme_subsystem_first_ns" 9 "nvme_subsystem_first_ns" "August 2024" "libnvme API manual" LINUX +.TH "nvme_subsystem_first_ns" 9 "nvme_subsystem_first_ns" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_subsystem_first_ns \- Start namespace iterator .SH SYNOPSIS diff --git a/doc/man/nvme_subsystem_for_each_ctrl.2 b/doc/man/nvme_subsystem_for_each_ctrl.2 index e36a47e..8f3f9af 100644 --- a/doc/man/nvme_subsystem_for_each_ctrl.2 +++ b/doc/man/nvme_subsystem_for_each_ctrl.2 @@ -1,4 +1,4 @@ -.TH "nvme_subsystem_for_each_ctrl" 9 "nvme_subsystem_for_each_ctrl" "August 2024" "libnvme API manual" LINUX +.TH "nvme_subsystem_for_each_ctrl" 9 "nvme_subsystem_for_each_ctrl" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_subsystem_for_each_ctrl \- Traverse controllers .SH SYNOPSIS diff --git a/doc/man/nvme_subsystem_for_each_ctrl_safe.2 b/doc/man/nvme_subsystem_for_each_ctrl_safe.2 index d3916eb..4f1b004 100644 --- a/doc/man/nvme_subsystem_for_each_ctrl_safe.2 +++ b/doc/man/nvme_subsystem_for_each_ctrl_safe.2 @@ -1,4 +1,4 @@ -.TH "nvme_subsystem_for_each_ctrl_safe" 9 "nvme_subsystem_for_each_ctrl_safe" "August 2024" "libnvme API manual" LINUX +.TH "nvme_subsystem_for_each_ctrl_safe" 9 "nvme_subsystem_for_each_ctrl_safe" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_subsystem_for_each_ctrl_safe \- Traverse controllers .SH SYNOPSIS diff --git a/doc/man/nvme_subsystem_for_each_ns.2 b/doc/man/nvme_subsystem_for_each_ns.2 index a0fa707..fc6d174 100644 --- a/doc/man/nvme_subsystem_for_each_ns.2 +++ b/doc/man/nvme_subsystem_for_each_ns.2 @@ -1,4 +1,4 @@ -.TH "nvme_subsystem_for_each_ns" 9 "nvme_subsystem_for_each_ns" "August 2024" "libnvme API manual" LINUX +.TH "nvme_subsystem_for_each_ns" 9 "nvme_subsystem_for_each_ns" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_subsystem_for_each_ns \- Traverse namespaces .SH SYNOPSIS diff --git a/doc/man/nvme_subsystem_for_each_ns_safe.2 b/doc/man/nvme_subsystem_for_each_ns_safe.2 index 5d005af..3951698 100644 --- a/doc/man/nvme_subsystem_for_each_ns_safe.2 +++ b/doc/man/nvme_subsystem_for_each_ns_safe.2 @@ -1,4 +1,4 @@ -.TH "nvme_subsystem_for_each_ns_safe" 9 "nvme_subsystem_for_each_ns_safe" "August 2024" "libnvme API manual" LINUX +.TH "nvme_subsystem_for_each_ns_safe" 9 "nvme_subsystem_for_each_ns_safe" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_subsystem_for_each_ns_safe \- Traverse namespaces .SH SYNOPSIS diff --git a/doc/man/nvme_subsystem_get_application.2 b/doc/man/nvme_subsystem_get_application.2 index a1ce1bc..2d196bd 100644 --- a/doc/man/nvme_subsystem_get_application.2 +++ b/doc/man/nvme_subsystem_get_application.2 @@ -1,4 +1,4 @@ -.TH "nvme_subsystem_get_application" 9 "nvme_subsystem_get_application" "August 2024" "libnvme API manual" LINUX +.TH "nvme_subsystem_get_application" 9 "nvme_subsystem_get_application" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_subsystem_get_application \- Return the application string .SH SYNOPSIS diff --git a/doc/man/nvme_subsystem_get_host.2 b/doc/man/nvme_subsystem_get_host.2 index 1b4ca02..2528163 100644 --- a/doc/man/nvme_subsystem_get_host.2 +++ b/doc/man/nvme_subsystem_get_host.2 @@ -1,4 +1,4 @@ -.TH "nvme_subsystem_get_host" 9 "nvme_subsystem_get_host" "August 2024" "libnvme API manual" LINUX +.TH "nvme_subsystem_get_host" 9 "nvme_subsystem_get_host" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_subsystem_get_host \- Returns nvme_host_t object .SH SYNOPSIS diff --git a/doc/man/nvme_subsystem_get_iopolicy.2 b/doc/man/nvme_subsystem_get_iopolicy.2 index f9624a5..92c1037 100644 --- a/doc/man/nvme_subsystem_get_iopolicy.2 +++ b/doc/man/nvme_subsystem_get_iopolicy.2 @@ -1,4 +1,4 @@ -.TH "nvme_subsystem_get_iopolicy" 9 "nvme_subsystem_get_iopolicy" "August 2024" "libnvme API manual" LINUX +.TH "nvme_subsystem_get_iopolicy" 9 "nvme_subsystem_get_iopolicy" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_subsystem_get_iopolicy \- Return the IO policy of subsytem .SH SYNOPSIS diff --git a/doc/man/nvme_subsystem_get_name.2 b/doc/man/nvme_subsystem_get_name.2 index a38aedb..6b38c1c 100644 --- a/doc/man/nvme_subsystem_get_name.2 +++ b/doc/man/nvme_subsystem_get_name.2 @@ -1,4 +1,4 @@ -.TH "nvme_subsystem_get_name" 9 "nvme_subsystem_get_name" "August 2024" "libnvme API manual" LINUX +.TH "nvme_subsystem_get_name" 9 "nvme_subsystem_get_name" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_subsystem_get_name \- sysfs name of an nvme_subsystem_t object .SH SYNOPSIS diff --git a/doc/man/nvme_subsystem_get_nqn.2 b/doc/man/nvme_subsystem_get_nqn.2 index 723f313..10d155f 100644 --- a/doc/man/nvme_subsystem_get_nqn.2 +++ b/doc/man/nvme_subsystem_get_nqn.2 @@ -1,4 +1,4 @@ -.TH "nvme_subsystem_get_nqn" 9 "nvme_subsystem_get_nqn" "August 2024" "libnvme API manual" LINUX +.TH "nvme_subsystem_get_nqn" 9 "nvme_subsystem_get_nqn" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_subsystem_get_nqn \- Retrieve NQN from subsystem .SH SYNOPSIS diff --git a/doc/man/nvme_subsystem_get_sysfs_dir.2 b/doc/man/nvme_subsystem_get_sysfs_dir.2 index 9b13109..1157d4a 100644 --- a/doc/man/nvme_subsystem_get_sysfs_dir.2 +++ b/doc/man/nvme_subsystem_get_sysfs_dir.2 @@ -1,4 +1,4 @@ -.TH "nvme_subsystem_get_sysfs_dir" 9 "nvme_subsystem_get_sysfs_dir" "August 2024" "libnvme API manual" LINUX +.TH "nvme_subsystem_get_sysfs_dir" 9 "nvme_subsystem_get_sysfs_dir" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_subsystem_get_sysfs_dir \- sysfs directory of an nvme_subsystem_t object .SH SYNOPSIS diff --git a/doc/man/nvme_subsystem_get_type.2 b/doc/man/nvme_subsystem_get_type.2 index 4104c3f..f23e6f2 100644 --- a/doc/man/nvme_subsystem_get_type.2 +++ b/doc/man/nvme_subsystem_get_type.2 @@ -1,4 +1,4 @@ -.TH "nvme_subsystem_get_type" 9 "nvme_subsystem_get_type" "August 2024" "libnvme API manual" LINUX +.TH "nvme_subsystem_get_type" 9 "nvme_subsystem_get_type" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_subsystem_get_type \- Returns the type of a subsystem .SH SYNOPSIS diff --git a/doc/man/nvme_subsystem_lookup_namespace.2 b/doc/man/nvme_subsystem_lookup_namespace.2 index b72632e..cb0915c 100644 --- a/doc/man/nvme_subsystem_lookup_namespace.2 +++ b/doc/man/nvme_subsystem_lookup_namespace.2 @@ -1,4 +1,4 @@ -.TH "nvme_subsystem_lookup_namespace" 9 "nvme_subsystem_lookup_namespace" "August 2024" "libnvme API manual" LINUX +.TH "nvme_subsystem_lookup_namespace" 9 "nvme_subsystem_lookup_namespace" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_subsystem_lookup_namespace \- lookup namespace by NSID .SH SYNOPSIS diff --git a/doc/man/nvme_subsystem_next_ctrl.2 b/doc/man/nvme_subsystem_next_ctrl.2 index 5e34cf8..c931bc9 100644 --- a/doc/man/nvme_subsystem_next_ctrl.2 +++ b/doc/man/nvme_subsystem_next_ctrl.2 @@ -1,4 +1,4 @@ -.TH "nvme_subsystem_next_ctrl" 9 "nvme_subsystem_next_ctrl" "August 2024" "libnvme API manual" LINUX +.TH "nvme_subsystem_next_ctrl" 9 "nvme_subsystem_next_ctrl" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_subsystem_next_ctrl \- Next ctrl iterator .SH SYNOPSIS diff --git a/doc/man/nvme_subsystem_next_ns.2 b/doc/man/nvme_subsystem_next_ns.2 index 7c16720..fc426cc 100644 --- a/doc/man/nvme_subsystem_next_ns.2 +++ b/doc/man/nvme_subsystem_next_ns.2 @@ -1,4 +1,4 @@ -.TH "nvme_subsystem_next_ns" 9 "nvme_subsystem_next_ns" "August 2024" "libnvme API manual" LINUX +.TH "nvme_subsystem_next_ns" 9 "nvme_subsystem_next_ns" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_subsystem_next_ns \- Next namespace iterator .SH SYNOPSIS diff --git a/doc/man/nvme_subsystem_release_fds.2 b/doc/man/nvme_subsystem_release_fds.2 index 9b5cc67..71c82b7 100644 --- a/doc/man/nvme_subsystem_release_fds.2 +++ b/doc/man/nvme_subsystem_release_fds.2 @@ -1,4 +1,4 @@ -.TH "nvme_subsystem_release_fds" 9 "nvme_subsystem_release_fds" "August 2024" "libnvme API manual" LINUX +.TH "nvme_subsystem_release_fds" 9 "nvme_subsystem_release_fds" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_subsystem_release_fds \- Close all opened fds under subsystem .SH SYNOPSIS diff --git a/doc/man/nvme_subsystem_reset.2 b/doc/man/nvme_subsystem_reset.2 index 4191e4d..8832547 100644 --- a/doc/man/nvme_subsystem_reset.2 +++ b/doc/man/nvme_subsystem_reset.2 @@ -1,4 +1,4 @@ -.TH "nvme_subsystem_reset" 9 "nvme_subsystem_reset" "August 2024" "libnvme API manual" LINUX +.TH "nvme_subsystem_reset" 9 "nvme_subsystem_reset" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_subsystem_reset \- Initiate a subsystem reset .SH SYNOPSIS diff --git a/doc/man/nvme_subsystem_set_application.2 b/doc/man/nvme_subsystem_set_application.2 index 9069d36..e3bfd5e 100644 --- a/doc/man/nvme_subsystem_set_application.2 +++ b/doc/man/nvme_subsystem_set_application.2 @@ -1,4 +1,4 @@ -.TH "nvme_subsystem_set_application" 9 "nvme_subsystem_set_application" "August 2024" "libnvme API manual" LINUX +.TH "nvme_subsystem_set_application" 9 "nvme_subsystem_set_application" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_subsystem_set_application \- Set the application string .SH SYNOPSIS diff --git a/doc/man/nvme_supported_cap_config_list_log.2 b/doc/man/nvme_supported_cap_config_list_log.2 index f178220..030b303 100644 --- a/doc/man/nvme_supported_cap_config_list_log.2 +++ b/doc/man/nvme_supported_cap_config_list_log.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_supported_cap_config_list_log" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_supported_cap_config_list_log" "October 2024" "API Manual" LINUX .SH NAME struct nvme_supported_cap_config_list_log \- Supported Capacity Configuration list log page .SH SYNOPSIS diff --git a/doc/man/nvme_supported_log_pages.2 b/doc/man/nvme_supported_log_pages.2 index 0e3527d..abaa2e4 100644 --- a/doc/man/nvme_supported_log_pages.2 +++ b/doc/man/nvme_supported_log_pages.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_supported_log_pages" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_supported_log_pages" "October 2024" "API Manual" LINUX .SH NAME struct nvme_supported_log_pages \- Supported Log Pages - Log .SH SYNOPSIS diff --git a/doc/man/nvme_telemetry_da.2 b/doc/man/nvme_telemetry_da.2 index dc486cf..dc0d01a 100644 --- a/doc/man/nvme_telemetry_da.2 +++ b/doc/man/nvme_telemetry_da.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_telemetry_da" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_telemetry_da" "October 2024" "API Manual" LINUX .SH NAME enum nvme_telemetry_da \- Telemetry Log Data Area .SH SYNOPSIS diff --git a/doc/man/nvme_telemetry_log.2 b/doc/man/nvme_telemetry_log.2 index de977bf..69a2f91 100644 --- a/doc/man/nvme_telemetry_log.2 +++ b/doc/man/nvme_telemetry_log.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_telemetry_log" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_telemetry_log" "October 2024" "API Manual" LINUX .SH NAME struct nvme_telemetry_log \- Retrieve internal data specific to the manufacturer. .SH SYNOPSIS diff --git a/doc/man/nvme_thermal_exc_event.2 b/doc/man/nvme_thermal_exc_event.2 index 04a381b..2885f77 100644 --- a/doc/man/nvme_thermal_exc_event.2 +++ b/doc/man/nvme_thermal_exc_event.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_thermal_exc_event" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_thermal_exc_event" "October 2024" "API Manual" LINUX .SH NAME struct nvme_thermal_exc_event \- Thermal Excursion Event Data .SH SYNOPSIS diff --git a/doc/man/nvme_time_stamp_change_event.2 b/doc/man/nvme_time_stamp_change_event.2 index 1fdd348..cd3498b 100644 --- a/doc/man/nvme_time_stamp_change_event.2 +++ b/doc/man/nvme_time_stamp_change_event.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_time_stamp_change_event" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_time_stamp_change_event" "October 2024" "API Manual" LINUX .SH NAME struct nvme_time_stamp_change_event \- Timestamp Change Event .SH SYNOPSIS diff --git a/doc/man/nvme_timestamp.2 b/doc/man/nvme_timestamp.2 index 4293742..14b5645 100644 --- a/doc/man/nvme_timestamp.2 +++ b/doc/man/nvme_timestamp.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_timestamp" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_timestamp" "October 2024" "API Manual" LINUX .SH NAME struct nvme_timestamp \- Timestamp - Data Structure for Get Features .SH SYNOPSIS diff --git a/doc/man/nvme_unit.2 b/doc/man/nvme_unit.2 index 9015af3..7c6f2ee 100644 --- a/doc/man/nvme_unit.2 +++ b/doc/man/nvme_unit.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_unit" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_unit" "October 2024" "API Manual" LINUX .SH NAME enum nvme_unit \- Defined buffer size and write throughput granularity units .SH SYNOPSIS diff --git a/doc/man/nvme_unlink_ctrl.2 b/doc/man/nvme_unlink_ctrl.2 index aa4a9ce..23cb8c3 100644 --- a/doc/man/nvme_unlink_ctrl.2 +++ b/doc/man/nvme_unlink_ctrl.2 @@ -1,4 +1,4 @@ -.TH "nvme_unlink_ctrl" 9 "nvme_unlink_ctrl" "August 2024" "libnvme API manual" LINUX +.TH "nvme_unlink_ctrl" 9 "nvme_unlink_ctrl" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_unlink_ctrl \- Unlink controller .SH SYNOPSIS diff --git a/doc/man/nvme_update_config.2 b/doc/man/nvme_update_config.2 index 0f40b14..56b33f6 100644 --- a/doc/man/nvme_update_config.2 +++ b/doc/man/nvme_update_config.2 @@ -1,4 +1,4 @@ -.TH "nvme_update_config" 9 "nvme_update_config" "August 2024" "libnvme API manual" LINUX +.TH "nvme_update_config" 9 "nvme_update_config" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_update_config \- Update JSON configuration .SH SYNOPSIS diff --git a/doc/man/nvme_update_key.2 b/doc/man/nvme_update_key.2 index 2e5fe0a..b3a1550 100644 --- a/doc/man/nvme_update_key.2 +++ b/doc/man/nvme_update_key.2 @@ -1,4 +1,4 @@ -.TH "nvme_update_key" 9 "nvme_update_key" "August 2024" "libnvme API manual" LINUX +.TH "nvme_update_key" 9 "nvme_update_key" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_update_key \- Update key raw data .SH SYNOPSIS diff --git a/doc/man/nvme_uring_cmd.2 b/doc/man/nvme_uring_cmd.2 index d737abe..412b458 100644 --- a/doc/man/nvme_uring_cmd.2 +++ b/doc/man/nvme_uring_cmd.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_uring_cmd" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_uring_cmd" "October 2024" "API Manual" LINUX .SH NAME struct nvme_uring_cmd \- nvme uring command structure .SH SYNOPSIS diff --git a/doc/man/nvme_verify.2 b/doc/man/nvme_verify.2 index 27a19ab..02d8eed 100644 --- a/doc/man/nvme_verify.2 +++ b/doc/man/nvme_verify.2 @@ -1,4 +1,4 @@ -.TH "nvme_verify" 9 "nvme_verify" "August 2024" "libnvme API manual" LINUX +.TH "nvme_verify" 9 "nvme_verify" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_verify \- Send an nvme verify command .SH SYNOPSIS diff --git a/doc/man/nvme_version.2 b/doc/man/nvme_version.2 index 2c26f7e..696310e 100644 --- a/doc/man/nvme_version.2 +++ b/doc/man/nvme_version.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_version" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_version" "October 2024" "API Manual" LINUX .SH NAME enum nvme_version \- Selector for version to be returned by @nvme_get_version .SH SYNOPSIS diff --git a/doc/man/nvme_virt_mgmt_act.2 b/doc/man/nvme_virt_mgmt_act.2 index 9499017..83a69b6 100644 --- a/doc/man/nvme_virt_mgmt_act.2 +++ b/doc/man/nvme_virt_mgmt_act.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_virt_mgmt_act" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_virt_mgmt_act" "October 2024" "API Manual" LINUX .SH NAME enum nvme_virt_mgmt_act \- Virtualization Management - Action .SH SYNOPSIS diff --git a/doc/man/nvme_virt_mgmt_rt.2 b/doc/man/nvme_virt_mgmt_rt.2 index 7262ad1..ba565d9 100644 --- a/doc/man/nvme_virt_mgmt_rt.2 +++ b/doc/man/nvme_virt_mgmt_rt.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_virt_mgmt_rt" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_virt_mgmt_rt" "October 2024" "API Manual" LINUX .SH NAME enum nvme_virt_mgmt_rt \- Virtualization Management - Resource Type .SH SYNOPSIS diff --git a/doc/man/nvme_virtual_mgmt.2 b/doc/man/nvme_virtual_mgmt.2 index ae1c691..d93389c 100644 --- a/doc/man/nvme_virtual_mgmt.2 +++ b/doc/man/nvme_virtual_mgmt.2 @@ -1,4 +1,4 @@ -.TH "nvme_virtual_mgmt" 9 "nvme_virtual_mgmt" "August 2024" "libnvme API manual" LINUX +.TH "nvme_virtual_mgmt" 9 "nvme_virtual_mgmt" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_virtual_mgmt \- Virtualization resource management .SH SYNOPSIS diff --git a/doc/man/nvme_vs.2 b/doc/man/nvme_vs.2 index 27750d4..db0569c 100644 --- a/doc/man/nvme_vs.2 +++ b/doc/man/nvme_vs.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_vs" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_vs" "October 2024" "API Manual" LINUX .SH NAME enum nvme_vs \- This field indicates the version .SH SYNOPSIS diff --git a/doc/man/nvme_write.2 b/doc/man/nvme_write.2 index f730556..cabd84f 100644 --- a/doc/man/nvme_write.2 +++ b/doc/man/nvme_write.2 @@ -1,4 +1,4 @@ -.TH "nvme_write" 9 "nvme_write" "August 2024" "libnvme API manual" LINUX +.TH "nvme_write" 9 "nvme_write" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_write \- Submit an nvme user write command .SH SYNOPSIS diff --git a/doc/man/nvme_write_uncorrectable.2 b/doc/man/nvme_write_uncorrectable.2 index 30f9bb3..9cdf51a 100644 --- a/doc/man/nvme_write_uncorrectable.2 +++ b/doc/man/nvme_write_uncorrectable.2 @@ -1,4 +1,4 @@ -.TH "nvme_write_uncorrectable" 9 "nvme_write_uncorrectable" "August 2024" "libnvme API manual" LINUX +.TH "nvme_write_uncorrectable" 9 "nvme_write_uncorrectable" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_write_uncorrectable \- Submit an nvme write uncorrectable command .SH SYNOPSIS diff --git a/doc/man/nvme_write_zeros.2 b/doc/man/nvme_write_zeros.2 index a9a5388..80e9881 100644 --- a/doc/man/nvme_write_zeros.2 +++ b/doc/man/nvme_write_zeros.2 @@ -1,4 +1,4 @@ -.TH "nvme_write_zeros" 9 "nvme_write_zeros" "August 2024" "libnvme API manual" LINUX +.TH "nvme_write_zeros" 9 "nvme_write_zeros" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_write_zeros \- Submit an nvme write zeroes command .SH SYNOPSIS diff --git a/doc/man/nvme_zns_append.2 b/doc/man/nvme_zns_append.2 index 132ed5a..a34626b 100644 --- a/doc/man/nvme_zns_append.2 +++ b/doc/man/nvme_zns_append.2 @@ -1,4 +1,4 @@ -.TH "nvme_zns_append" 9 "nvme_zns_append" "August 2024" "libnvme API manual" LINUX +.TH "nvme_zns_append" 9 "nvme_zns_append" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_zns_append \- Append data to a zone .SH SYNOPSIS diff --git a/doc/man/nvme_zns_changed_zone_log.2 b/doc/man/nvme_zns_changed_zone_log.2 index f817b11..378be46 100644 --- a/doc/man/nvme_zns_changed_zone_log.2 +++ b/doc/man/nvme_zns_changed_zone_log.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_zns_changed_zone_log" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_zns_changed_zone_log" "October 2024" "API Manual" LINUX .SH NAME struct nvme_zns_changed_zone_log \- ZNS Changed Zone List log .SH SYNOPSIS diff --git a/doc/man/nvme_zns_desc.2 b/doc/man/nvme_zns_desc.2 index f77441b..0994244 100644 --- a/doc/man/nvme_zns_desc.2 +++ b/doc/man/nvme_zns_desc.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_zns_desc" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_zns_desc" "October 2024" "API Manual" LINUX .SH NAME struct nvme_zns_desc \- Zone Descriptor Data Structure .SH SYNOPSIS diff --git a/doc/man/nvme_zns_id_ctrl.2 b/doc/man/nvme_zns_id_ctrl.2 index f1ff4d5..9e8c87a 100644 --- a/doc/man/nvme_zns_id_ctrl.2 +++ b/doc/man/nvme_zns_id_ctrl.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_zns_id_ctrl" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_zns_id_ctrl" "October 2024" "API Manual" LINUX .SH NAME struct nvme_zns_id_ctrl \- I/O Command Set Specific Identify Controller Data Structure for the Zoned Namespace Command Set .SH SYNOPSIS diff --git a/doc/man/nvme_zns_id_ns.2 b/doc/man/nvme_zns_id_ns.2 index 57eaa5d..bce6f20 100644 --- a/doc/man/nvme_zns_id_ns.2 +++ b/doc/man/nvme_zns_id_ns.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_zns_id_ns" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_zns_id_ns" "October 2024" "API Manual" LINUX .SH NAME struct nvme_zns_id_ns \- Zoned Namespace Command Set Specific Identify Namespace Data Structure .SH SYNOPSIS diff --git a/doc/man/nvme_zns_identify_ctrl.2 b/doc/man/nvme_zns_identify_ctrl.2 index b3ae323..718d9cd 100644 --- a/doc/man/nvme_zns_identify_ctrl.2 +++ b/doc/man/nvme_zns_identify_ctrl.2 @@ -1,4 +1,4 @@ -.TH "nvme_zns_identify_ctrl" 9 "nvme_zns_identify_ctrl" "August 2024" "libnvme API manual" LINUX +.TH "nvme_zns_identify_ctrl" 9 "nvme_zns_identify_ctrl" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_zns_identify_ctrl \- ZNS identify controller data .SH SYNOPSIS diff --git a/doc/man/nvme_zns_identify_ns.2 b/doc/man/nvme_zns_identify_ns.2 index 366f676..370e5bc 100644 --- a/doc/man/nvme_zns_identify_ns.2 +++ b/doc/man/nvme_zns_identify_ns.2 @@ -1,4 +1,4 @@ -.TH "nvme_zns_identify_ns" 9 "nvme_zns_identify_ns" "August 2024" "libnvme API manual" LINUX +.TH "nvme_zns_identify_ns" 9 "nvme_zns_identify_ns" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_zns_identify_ns \- ZNS identify namespace data .SH SYNOPSIS diff --git a/doc/man/nvme_zns_lbafe.2 b/doc/man/nvme_zns_lbafe.2 index 84c9001..e7fe241 100644 --- a/doc/man/nvme_zns_lbafe.2 +++ b/doc/man/nvme_zns_lbafe.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_zns_lbafe" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_zns_lbafe" "October 2024" "API Manual" LINUX .SH NAME struct nvme_zns_lbafe \- LBA Format Extension Data Structure .SH SYNOPSIS diff --git a/doc/man/nvme_zns_mgmt_recv.2 b/doc/man/nvme_zns_mgmt_recv.2 index d851205..4b167c8 100644 --- a/doc/man/nvme_zns_mgmt_recv.2 +++ b/doc/man/nvme_zns_mgmt_recv.2 @@ -1,4 +1,4 @@ -.TH "nvme_zns_mgmt_recv" 9 "nvme_zns_mgmt_recv" "August 2024" "libnvme API manual" LINUX +.TH "nvme_zns_mgmt_recv" 9 "nvme_zns_mgmt_recv" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_zns_mgmt_recv \- ZNS management receive command .SH SYNOPSIS diff --git a/doc/man/nvme_zns_mgmt_send.2 b/doc/man/nvme_zns_mgmt_send.2 index 8742bc7..7c49074 100644 --- a/doc/man/nvme_zns_mgmt_send.2 +++ b/doc/man/nvme_zns_mgmt_send.2 @@ -1,4 +1,4 @@ -.TH "nvme_zns_mgmt_send" 9 "nvme_zns_mgmt_send" "August 2024" "libnvme API manual" LINUX +.TH "nvme_zns_mgmt_send" 9 "nvme_zns_mgmt_send" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_zns_mgmt_send \- ZNS management send command .SH SYNOPSIS diff --git a/doc/man/nvme_zns_recv_action.2 b/doc/man/nvme_zns_recv_action.2 index fb257ea..1d3512e 100644 --- a/doc/man/nvme_zns_recv_action.2 +++ b/doc/man/nvme_zns_recv_action.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_zns_recv_action" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_zns_recv_action" "October 2024" "API Manual" LINUX .SH NAME enum nvme_zns_recv_action \- Zone Management Receive - Zone Receive Action Specific Features .SH SYNOPSIS diff --git a/doc/man/nvme_zns_report_options.2 b/doc/man/nvme_zns_report_options.2 index 24beddd..2aeaadf 100644 --- a/doc/man/nvme_zns_report_options.2 +++ b/doc/man/nvme_zns_report_options.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_zns_report_options" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_zns_report_options" "October 2024" "API Manual" LINUX .SH NAME enum nvme_zns_report_options \- Zone Management Receive - Zone Receive Action Specific Field .SH SYNOPSIS diff --git a/doc/man/nvme_zns_report_zones.2 b/doc/man/nvme_zns_report_zones.2 index ee07927..7d99dab 100644 --- a/doc/man/nvme_zns_report_zones.2 +++ b/doc/man/nvme_zns_report_zones.2 @@ -1,4 +1,4 @@ -.TH "nvme_zns_report_zones" 9 "nvme_zns_report_zones" "August 2024" "libnvme API manual" LINUX +.TH "nvme_zns_report_zones" 9 "nvme_zns_report_zones" "October 2024" "libnvme API manual" LINUX .SH NAME nvme_zns_report_zones \- Return the list of zones .SH SYNOPSIS diff --git a/doc/man/nvme_zns_send_action.2 b/doc/man/nvme_zns_send_action.2 index f1fb0d4..1dad930 100644 --- a/doc/man/nvme_zns_send_action.2 +++ b/doc/man/nvme_zns_send_action.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_zns_send_action" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_zns_send_action" "October 2024" "API Manual" LINUX .SH NAME enum nvme_zns_send_action \- Zone Management Send - Zone Send Action .SH SYNOPSIS diff --git a/doc/man/nvme_zns_za.2 b/doc/man/nvme_zns_za.2 index cdb1d54..ddca24f 100644 --- a/doc/man/nvme_zns_za.2 +++ b/doc/man/nvme_zns_za.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_zns_za" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_zns_za" "October 2024" "API Manual" LINUX .SH NAME enum nvme_zns_za \- Zone Descriptor Data Structure .SH SYNOPSIS diff --git a/doc/man/nvme_zns_zs.2 b/doc/man/nvme_zns_zs.2 index bab82c3..00ed2ae 100644 --- a/doc/man/nvme_zns_zs.2 +++ b/doc/man/nvme_zns_zs.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_zns_zs" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_zns_zs" "October 2024" "API Manual" LINUX .SH NAME enum nvme_zns_zs \- Zone Descriptor Data Structure - Zone State .SH SYNOPSIS diff --git a/doc/man/nvme_zns_zt.2 b/doc/man/nvme_zns_zt.2 index bd85832..c21595a 100644 --- a/doc/man/nvme_zns_zt.2 +++ b/doc/man/nvme_zns_zt.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_zns_zt" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_zns_zt" "October 2024" "API Manual" LINUX .SH NAME enum nvme_zns_zt \- Zone Descriptor Data Structure - Zone Type .SH SYNOPSIS diff --git a/doc/man/nvme_zone_report.2 b/doc/man/nvme_zone_report.2 index 166763a..7515639 100644 --- a/doc/man/nvme_zone_report.2 +++ b/doc/man/nvme_zone_report.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_zone_report" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_zone_report" "October 2024" "API Manual" LINUX .SH NAME struct nvme_zone_report \- Report Zones Data Structure .SH SYNOPSIS diff --git a/doc/man/nvmf_add_ctrl.2 b/doc/man/nvmf_add_ctrl.2 index dff98ce..5059623 100644 --- a/doc/man/nvmf_add_ctrl.2 +++ b/doc/man/nvmf_add_ctrl.2 @@ -1,4 +1,4 @@ -.TH "nvmf_add_ctrl" 9 "nvmf_add_ctrl" "August 2024" "libnvme API manual" LINUX +.TH "nvmf_add_ctrl" 9 "nvmf_add_ctrl" "October 2024" "libnvme API manual" LINUX .SH NAME nvmf_add_ctrl \- Connect a controller and update topology .SH SYNOPSIS diff --git a/doc/man/nvmf_addr_family.2 b/doc/man/nvmf_addr_family.2 index 461aca8..46244ef 100644 --- a/doc/man/nvmf_addr_family.2 +++ b/doc/man/nvmf_addr_family.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvmf_addr_family" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvmf_addr_family" "October 2024" "API Manual" LINUX .SH NAME enum nvmf_addr_family \- Address Family codes for Discovery Log Page entry ADRFAM field .SH SYNOPSIS diff --git a/doc/man/nvmf_adrfam_str.2 b/doc/man/nvmf_adrfam_str.2 index c0b00d9..a7652ce 100644 --- a/doc/man/nvmf_adrfam_str.2 +++ b/doc/man/nvmf_adrfam_str.2 @@ -1,4 +1,4 @@ -.TH "nvmf_adrfam_str" 9 "nvmf_adrfam_str" "August 2024" "libnvme API manual" LINUX +.TH "nvmf_adrfam_str" 9 "nvmf_adrfam_str" "October 2024" "libnvme API manual" LINUX .SH NAME nvmf_adrfam_str \- Decode ADRFAM field .SH SYNOPSIS diff --git a/doc/man/nvmf_cms_str.2 b/doc/man/nvmf_cms_str.2 index 905be1e..fa57aa4 100644 --- a/doc/man/nvmf_cms_str.2 +++ b/doc/man/nvmf_cms_str.2 @@ -1,4 +1,4 @@ -.TH "nvmf_cms_str" 9 "nvmf_cms_str" "August 2024" "libnvme API manual" LINUX +.TH "nvmf_cms_str" 9 "nvmf_cms_str" "October 2024" "libnvme API manual" LINUX .SH NAME nvmf_cms_str \- Decode RDMA connection management service field .SH SYNOPSIS diff --git a/doc/man/nvmf_connect_ctrl.2 b/doc/man/nvmf_connect_ctrl.2 new file mode 100644 index 0000000..1a2198a --- /dev/null +++ b/doc/man/nvmf_connect_ctrl.2 @@ -0,0 +1,14 @@ +.TH "nvmf_connect_ctrl" 9 "nvmf_connect_ctrl" "October 2024" "libnvme API manual" LINUX +.SH NAME +nvmf_connect_ctrl \- Connect a controller +.SH SYNOPSIS +.B "int" nvmf_connect_ctrl +.BI "(nvme_ctrl_t c " ");" +.SH ARGUMENTS +.IP "c" 12 +Controller to be connected +.SH "DESCRIPTION" +Issues a 'connect' command to the NVMe-oF controller. +\fIc\fP must be initialized and not connected to the topology. +.SH "RETURN" +0 on success; on failure errno is set and -1 is returned. diff --git a/doc/man/nvmf_connect_data.2 b/doc/man/nvmf_connect_data.2 index bf53acd..128e1b2 100644 --- a/doc/man/nvmf_connect_data.2 +++ b/doc/man/nvmf_connect_data.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvmf_connect_data" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvmf_connect_data" "October 2024" "API Manual" LINUX .SH NAME struct nvmf_connect_data \- Data payload for the 'connect' command .SH SYNOPSIS diff --git a/doc/man/nvmf_connect_disc_entry.2 b/doc/man/nvmf_connect_disc_entry.2 index 8a46178..4546a62 100644 --- a/doc/man/nvmf_connect_disc_entry.2 +++ b/doc/man/nvmf_connect_disc_entry.2 @@ -1,4 +1,4 @@ -.TH "nvmf_connect_disc_entry" 9 "nvmf_connect_disc_entry" "August 2024" "libnvme API manual" LINUX +.TH "nvmf_connect_disc_entry" 9 "nvmf_connect_disc_entry" "October 2024" "libnvme API manual" LINUX .SH NAME nvmf_connect_disc_entry \- Connect controller based on the discovery log page entry .SH SYNOPSIS diff --git a/doc/man/nvmf_default_config.2 b/doc/man/nvmf_default_config.2 index 861b713..e00bd89 100644 --- a/doc/man/nvmf_default_config.2 +++ b/doc/man/nvmf_default_config.2 @@ -1,4 +1,4 @@ -.TH "nvmf_default_config" 9 "nvmf_default_config" "August 2024" "libnvme API manual" LINUX +.TH "nvmf_default_config" 9 "nvmf_default_config" "October 2024" "libnvme API manual" LINUX .SH NAME nvmf_default_config \- Default values for fabrics configuration .SH SYNOPSIS diff --git a/doc/man/nvmf_dim_data.2 b/doc/man/nvmf_dim_data.2 index 8274610..b5e0d35 100644 --- a/doc/man/nvmf_dim_data.2 +++ b/doc/man/nvmf_dim_data.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvmf_dim_data" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvmf_dim_data" "October 2024" "API Manual" LINUX .SH NAME struct nvmf_dim_data \- Discovery Information Management (DIM) - Data .SH SYNOPSIS diff --git a/doc/man/nvmf_dim_entfmt.2 b/doc/man/nvmf_dim_entfmt.2 index f775bf8..0b98c6f 100644 --- a/doc/man/nvmf_dim_entfmt.2 +++ b/doc/man/nvmf_dim_entfmt.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvmf_dim_entfmt" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvmf_dim_entfmt" "October 2024" "API Manual" LINUX .SH NAME enum nvmf_dim_entfmt \- Discovery Information Management Entry Format .SH SYNOPSIS diff --git a/doc/man/nvmf_dim_etype.2 b/doc/man/nvmf_dim_etype.2 index f942bb7..e90e00b 100644 --- a/doc/man/nvmf_dim_etype.2 +++ b/doc/man/nvmf_dim_etype.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvmf_dim_etype" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvmf_dim_etype" "October 2024" "API Manual" LINUX .SH NAME enum nvmf_dim_etype \- Discovery Information Management Entity Type .SH SYNOPSIS diff --git a/doc/man/nvmf_dim_tas.2 b/doc/man/nvmf_dim_tas.2 index fea1e11..84056ff 100644 --- a/doc/man/nvmf_dim_tas.2 +++ b/doc/man/nvmf_dim_tas.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvmf_dim_tas" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvmf_dim_tas" "October 2024" "API Manual" LINUX .SH NAME enum nvmf_dim_tas \- Discovery Information Management Task .SH SYNOPSIS diff --git a/doc/man/nvmf_disc_eflags.2 b/doc/man/nvmf_disc_eflags.2 index 1b6f5fc..1724608 100644 --- a/doc/man/nvmf_disc_eflags.2 +++ b/doc/man/nvmf_disc_eflags.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvmf_disc_eflags" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvmf_disc_eflags" "October 2024" "API Manual" LINUX .SH NAME enum nvmf_disc_eflags \- Discovery Log Page entry flags. .SH SYNOPSIS diff --git a/doc/man/nvmf_disc_log_entry.2 b/doc/man/nvmf_disc_log_entry.2 index de3d938..ced1565 100644 --- a/doc/man/nvmf_disc_log_entry.2 +++ b/doc/man/nvmf_disc_log_entry.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvmf_disc_log_entry" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvmf_disc_log_entry" "October 2024" "API Manual" LINUX .SH NAME struct nvmf_disc_log_entry \- Discovery Log Page entry .SH SYNOPSIS diff --git a/doc/man/nvmf_discovery_log.2 b/doc/man/nvmf_discovery_log.2 index 9307bcb..0db1c50 100644 --- a/doc/man/nvmf_discovery_log.2 +++ b/doc/man/nvmf_discovery_log.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvmf_discovery_log" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvmf_discovery_log" "October 2024" "API Manual" LINUX .SH NAME struct nvmf_discovery_log \- Discovery Log Page (Log Identifier 70h) .SH SYNOPSIS diff --git a/doc/man/nvmf_eflags_str.2 b/doc/man/nvmf_eflags_str.2 index b2ce601..55e4955 100644 --- a/doc/man/nvmf_eflags_str.2 +++ b/doc/man/nvmf_eflags_str.2 @@ -1,4 +1,4 @@ -.TH "nvmf_eflags_str" 9 "nvmf_eflags_str" "August 2024" "libnvme API manual" LINUX +.TH "nvmf_eflags_str" 9 "nvmf_eflags_str" "October 2024" "libnvme API manual" LINUX .SH NAME nvmf_eflags_str \- Decode EFLAGS field .SH SYNOPSIS diff --git a/doc/man/nvmf_exat_len.2 b/doc/man/nvmf_exat_len.2 index d2aa3ea..b4eaaaf 100644 --- a/doc/man/nvmf_exat_len.2 +++ b/doc/man/nvmf_exat_len.2 @@ -1,4 +1,4 @@ -.TH "nvmf_exat_len" 9 "nvmf_exat_len" "August 2024" "libnvme API manual" LINUX +.TH "nvmf_exat_len" 9 "nvmf_exat_len" "October 2024" "libnvme API manual" LINUX .SH NAME nvmf_exat_len \- Return length rounded up by 4 .SH SYNOPSIS diff --git a/doc/man/nvmf_exattype.2 b/doc/man/nvmf_exattype.2 index a0bcfbf..d9420b1 100644 --- a/doc/man/nvmf_exattype.2 +++ b/doc/man/nvmf_exattype.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvmf_exattype" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvmf_exattype" "October 2024" "API Manual" LINUX .SH NAME enum nvmf_exattype \- Extended Attribute Type .SH SYNOPSIS diff --git a/doc/man/nvmf_ext_attr.2 b/doc/man/nvmf_ext_attr.2 index 4689e94..9517f0d 100644 --- a/doc/man/nvmf_ext_attr.2 +++ b/doc/man/nvmf_ext_attr.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvmf_ext_attr" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvmf_ext_attr" "October 2024" "API Manual" LINUX .SH NAME struct nvmf_ext_attr \- Extended Attribute (EXAT) .SH SYNOPSIS diff --git a/doc/man/nvmf_ext_die.2 b/doc/man/nvmf_ext_die.2 index ea3d9d8..80694cb 100644 --- a/doc/man/nvmf_ext_die.2 +++ b/doc/man/nvmf_ext_die.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvmf_ext_die" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvmf_ext_die" "October 2024" "API Manual" LINUX .SH NAME struct nvmf_ext_die \- Extended Discovery Information Entry (DIE) .SH SYNOPSIS diff --git a/doc/man/nvmf_get_discovery_log.2 b/doc/man/nvmf_get_discovery_log.2 index 320cc61..655184e 100644 --- a/doc/man/nvmf_get_discovery_log.2 +++ b/doc/man/nvmf_get_discovery_log.2 @@ -1,4 +1,4 @@ -.TH "nvmf_get_discovery_log" 9 "nvmf_get_discovery_log" "August 2024" "libnvme API manual" LINUX +.TH "nvmf_get_discovery_log" 9 "nvmf_get_discovery_log" "October 2024" "libnvme API manual" LINUX .SH NAME nvmf_get_discovery_log \- Return the discovery log page .SH SYNOPSIS diff --git a/doc/man/nvmf_get_discovery_wargs.2 b/doc/man/nvmf_get_discovery_wargs.2 index 818e162..9a7a9cb 100644 --- a/doc/man/nvmf_get_discovery_wargs.2 +++ b/doc/man/nvmf_get_discovery_wargs.2 @@ -1,4 +1,4 @@ -.TH "nvmf_get_discovery_wargs" 9 "nvmf_get_discovery_wargs" "August 2024" "libnvme API manual" LINUX +.TH "nvmf_get_discovery_wargs" 9 "nvmf_get_discovery_wargs" "October 2024" "libnvme API manual" LINUX .SH NAME nvmf_get_discovery_wargs \- Get the discovery log page with args .SH SYNOPSIS diff --git a/doc/man/nvmf_hostid_from_file.2 b/doc/man/nvmf_hostid_from_file.2 index 415f727..f6354bf 100644 --- a/doc/man/nvmf_hostid_from_file.2 +++ b/doc/man/nvmf_hostid_from_file.2 @@ -1,4 +1,4 @@ -.TH "nvmf_hostid_from_file" 9 "nvmf_hostid_from_file" "August 2024" "libnvme API manual" LINUX +.TH "nvmf_hostid_from_file" 9 "nvmf_hostid_from_file" "October 2024" "libnvme API manual" LINUX .SH NAME nvmf_hostid_from_file \- Reads the host identifier from the config default location .SH SYNOPSIS diff --git a/doc/man/nvmf_hostid_generate.2 b/doc/man/nvmf_hostid_generate.2 index 39ddba1..2cd539b 100644 --- a/doc/man/nvmf_hostid_generate.2 +++ b/doc/man/nvmf_hostid_generate.2 @@ -1,4 +1,4 @@ -.TH "nvmf_hostid_generate" 9 "nvmf_hostid_generate" "August 2024" "libnvme API manual" LINUX +.TH "nvmf_hostid_generate" 9 "nvmf_hostid_generate" "October 2024" "libnvme API manual" LINUX .SH NAME nvmf_hostid_generate \- Generate a machine specific host identifier .SH SYNOPSIS diff --git a/doc/man/nvmf_hostnqn_from_file.2 b/doc/man/nvmf_hostnqn_from_file.2 index a9226ca..0f44f68 100644 --- a/doc/man/nvmf_hostnqn_from_file.2 +++ b/doc/man/nvmf_hostnqn_from_file.2 @@ -1,4 +1,4 @@ -.TH "nvmf_hostnqn_from_file" 9 "nvmf_hostnqn_from_file" "August 2024" "libnvme API manual" LINUX +.TH "nvmf_hostnqn_from_file" 9 "nvmf_hostnqn_from_file" "October 2024" "libnvme API manual" LINUX .SH NAME nvmf_hostnqn_from_file \- Reads the host nvm qualified name from the config default location .SH SYNOPSIS diff --git a/doc/man/nvmf_hostnqn_generate.2 b/doc/man/nvmf_hostnqn_generate.2 index 04d9ba9..7931457 100644 --- a/doc/man/nvmf_hostnqn_generate.2 +++ b/doc/man/nvmf_hostnqn_generate.2 @@ -1,4 +1,4 @@ -.TH "nvmf_hostnqn_generate" 9 "nvmf_hostnqn_generate" "August 2024" "libnvme API manual" LINUX +.TH "nvmf_hostnqn_generate" 9 "nvmf_hostnqn_generate" "October 2024" "libnvme API manual" LINUX .SH NAME nvmf_hostnqn_generate \- Generate a machine specific host nqn .SH SYNOPSIS diff --git a/doc/man/nvmf_hostnqn_generate_from_hostid.2 b/doc/man/nvmf_hostnqn_generate_from_hostid.2 index 54e9bf2..37f0f4b 100644 --- a/doc/man/nvmf_hostnqn_generate_from_hostid.2 +++ b/doc/man/nvmf_hostnqn_generate_from_hostid.2 @@ -1,4 +1,4 @@ -.TH "nvmf_hostnqn_generate_from_hostid" 9 "nvmf_hostnqn_generate_from_hostid" "August 2024" "libnvme API manual" LINUX +.TH "nvmf_hostnqn_generate_from_hostid" 9 "nvmf_hostnqn_generate_from_hostid" "October 2024" "libnvme API manual" LINUX .SH NAME nvmf_hostnqn_generate_from_hostid \- Generate a host nqn from host identifier .SH SYNOPSIS diff --git a/doc/man/nvmf_log_discovery_lid_support.2 b/doc/man/nvmf_log_discovery_lid_support.2 index 88b28d5..d8e609b 100644 --- a/doc/man/nvmf_log_discovery_lid_support.2 +++ b/doc/man/nvmf_log_discovery_lid_support.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvmf_log_discovery_lid_support" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvmf_log_discovery_lid_support" "October 2024" "API Manual" LINUX .SH NAME enum nvmf_log_discovery_lid_support \- Discovery log specific support .SH SYNOPSIS diff --git a/doc/man/nvmf_log_discovery_lsp.2 b/doc/man/nvmf_log_discovery_lsp.2 index 12a490a..a561211 100644 --- a/doc/man/nvmf_log_discovery_lsp.2 +++ b/doc/man/nvmf_log_discovery_lsp.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvmf_log_discovery_lsp" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvmf_log_discovery_lsp" "October 2024" "API Manual" LINUX .SH NAME enum nvmf_log_discovery_lsp \- Discovery log specific field .SH SYNOPSIS diff --git a/doc/man/nvmf_prtype_str.2 b/doc/man/nvmf_prtype_str.2 index 7b42ed3..ceebdf5 100644 --- a/doc/man/nvmf_prtype_str.2 +++ b/doc/man/nvmf_prtype_str.2 @@ -1,4 +1,4 @@ -.TH "nvmf_prtype_str" 9 "nvmf_prtype_str" "August 2024" "libnvme API manual" LINUX +.TH "nvmf_prtype_str" 9 "nvmf_prtype_str" "October 2024" "libnvme API manual" LINUX .SH NAME nvmf_prtype_str \- Decode RDMA Provider type field .SH SYNOPSIS diff --git a/doc/man/nvmf_qptype_str.2 b/doc/man/nvmf_qptype_str.2 index 37305b0..7800641 100644 --- a/doc/man/nvmf_qptype_str.2 +++ b/doc/man/nvmf_qptype_str.2 @@ -1,4 +1,4 @@ -.TH "nvmf_qptype_str" 9 "nvmf_qptype_str" "August 2024" "libnvme API manual" LINUX +.TH "nvmf_qptype_str" 9 "nvmf_qptype_str" "October 2024" "libnvme API manual" LINUX .SH NAME nvmf_qptype_str \- Decode RDMA QP Service type field .SH SYNOPSIS diff --git a/doc/man/nvmf_rdma_cms.2 b/doc/man/nvmf_rdma_cms.2 index a47fc47..64a0e1f 100644 --- a/doc/man/nvmf_rdma_cms.2 +++ b/doc/man/nvmf_rdma_cms.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvmf_rdma_cms" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvmf_rdma_cms" "October 2024" "API Manual" LINUX .SH NAME enum nvmf_rdma_cms \- RDMA Connection Management Service Type codes for Discovery Log Page entry TSAS RDMA_CMS field .SH SYNOPSIS diff --git a/doc/man/nvmf_rdma_prtype.2 b/doc/man/nvmf_rdma_prtype.2 index 11b2b61..c16d96e 100644 --- a/doc/man/nvmf_rdma_prtype.2 +++ b/doc/man/nvmf_rdma_prtype.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvmf_rdma_prtype" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvmf_rdma_prtype" "October 2024" "API Manual" LINUX .SH NAME enum nvmf_rdma_prtype \- RDMA Provider Type codes for Discovery Log Page entry TSAS RDMA_PRTYPE field .SH SYNOPSIS diff --git a/doc/man/nvmf_rdma_qptype.2 b/doc/man/nvmf_rdma_qptype.2 index a5b7682..b6a0a8c 100644 --- a/doc/man/nvmf_rdma_qptype.2 +++ b/doc/man/nvmf_rdma_qptype.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvmf_rdma_qptype" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvmf_rdma_qptype" "October 2024" "API Manual" LINUX .SH NAME enum nvmf_rdma_qptype \- RDMA QP Service Type codes for Discovery Log Page entry TSAS RDMA_QPTYPE field .SH SYNOPSIS diff --git a/doc/man/nvmf_register_ctrl.2 b/doc/man/nvmf_register_ctrl.2 index 3f67214..ae2bc49 100644 --- a/doc/man/nvmf_register_ctrl.2 +++ b/doc/man/nvmf_register_ctrl.2 @@ -1,4 +1,4 @@ -.TH "nvmf_register_ctrl" 9 "nvmf_register_ctrl" "August 2024" "libnvme API manual" LINUX +.TH "nvmf_register_ctrl" 9 "nvmf_register_ctrl" "October 2024" "libnvme API manual" LINUX .SH NAME nvmf_register_ctrl \- Perform registration task with a DC .SH SYNOPSIS diff --git a/doc/man/nvmf_sectype_str.2 b/doc/man/nvmf_sectype_str.2 index 1a61d3f..3c06d18 100644 --- a/doc/man/nvmf_sectype_str.2 +++ b/doc/man/nvmf_sectype_str.2 @@ -1,4 +1,4 @@ -.TH "nvmf_sectype_str" 9 "nvmf_sectype_str" "August 2024" "libnvme API manual" LINUX +.TH "nvmf_sectype_str" 9 "nvmf_sectype_str" "October 2024" "libnvme API manual" LINUX .SH NAME nvmf_sectype_str \- Decode SECTYPE field .SH SYNOPSIS diff --git a/doc/man/nvmf_subtype_str.2 b/doc/man/nvmf_subtype_str.2 index 58d7641..d32937c 100644 --- a/doc/man/nvmf_subtype_str.2 +++ b/doc/man/nvmf_subtype_str.2 @@ -1,4 +1,4 @@ -.TH "nvmf_subtype_str" 9 "nvmf_subtype_str" "August 2024" "libnvme API manual" LINUX +.TH "nvmf_subtype_str" 9 "nvmf_subtype_str" "October 2024" "libnvme API manual" LINUX .SH NAME nvmf_subtype_str \- Decode SUBTYPE field .SH SYNOPSIS diff --git a/doc/man/nvmf_tcp_sectype.2 b/doc/man/nvmf_tcp_sectype.2 index 0b5d994..2087632 100644 --- a/doc/man/nvmf_tcp_sectype.2 +++ b/doc/man/nvmf_tcp_sectype.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvmf_tcp_sectype" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvmf_tcp_sectype" "October 2024" "API Manual" LINUX .SH NAME enum nvmf_tcp_sectype \- Transport Specific Address Subtype Definition for NVMe/TCP Transport .SH SYNOPSIS diff --git a/doc/man/nvmf_treq.2 b/doc/man/nvmf_treq.2 index 820cbce..edb9cd1 100644 --- a/doc/man/nvmf_treq.2 +++ b/doc/man/nvmf_treq.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvmf_treq" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvmf_treq" "October 2024" "API Manual" LINUX .SH NAME enum nvmf_treq \- Transport Requirements codes for Discovery Log Page entry TREQ field .SH SYNOPSIS diff --git a/doc/man/nvmf_treq_str.2 b/doc/man/nvmf_treq_str.2 index 4a4a59b..cf83df8 100644 --- a/doc/man/nvmf_treq_str.2 +++ b/doc/man/nvmf_treq_str.2 @@ -1,4 +1,4 @@ -.TH "nvmf_treq_str" 9 "nvmf_treq_str" "August 2024" "libnvme API manual" LINUX +.TH "nvmf_treq_str" 9 "nvmf_treq_str" "October 2024" "libnvme API manual" LINUX .SH NAME nvmf_treq_str \- Decode TREQ field .SH SYNOPSIS diff --git a/doc/man/nvmf_trtype.2 b/doc/man/nvmf_trtype.2 index de7667a..aaa3825 100644 --- a/doc/man/nvmf_trtype.2 +++ b/doc/man/nvmf_trtype.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvmf_trtype" "August 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvmf_trtype" "October 2024" "API Manual" LINUX .SH NAME enum nvmf_trtype \- Transport Type codes for Discovery Log Page entry TRTYPE field .SH SYNOPSIS diff --git a/doc/man/nvmf_trtype_str.2 b/doc/man/nvmf_trtype_str.2 index 612084d..9f87a37 100644 --- a/doc/man/nvmf_trtype_str.2 +++ b/doc/man/nvmf_trtype_str.2 @@ -1,4 +1,4 @@ -.TH "nvmf_trtype_str" 9 "nvmf_trtype_str" "August 2024" "libnvme API manual" LINUX +.TH "nvmf_trtype_str" 9 "nvmf_trtype_str" "October 2024" "libnvme API manual" LINUX .SH NAME nvmf_trtype_str \- Decode TRTYPE field .SH SYNOPSIS diff --git a/doc/man/nvmf_update_config.2 b/doc/man/nvmf_update_config.2 index 7bb78d7..f3813fd 100644 --- a/doc/man/nvmf_update_config.2 +++ b/doc/man/nvmf_update_config.2 @@ -1,4 +1,4 @@ -.TH "nvmf_update_config" 9 "nvmf_update_config" "August 2024" "libnvme API manual" LINUX +.TH "nvmf_update_config" 9 "nvmf_update_config" "October 2024" "libnvme API manual" LINUX .SH NAME nvmf_update_config \- Update fabrics configuration values .SH SYNOPSIS diff --git a/doc/rst/fabrics.rst b/doc/rst/fabrics.rst index 218084c..6c8831b 100644 --- a/doc/rst/fabrics.rst +++ b/doc/rst/fabrics.rst @@ -29,6 +29,7 @@ Fabrics-specific definitions. int tos; long keyring; long tls_key; + long tls_configured_key; bool duplicate_connect; bool disable_sqflow; bool hdr_digest; @@ -78,6 +79,9 @@ Fabrics-specific definitions. ``tls_key`` TLS PSK for the connection +``tls_configured_key`` + TLS PSK for connect command for the connection + ``duplicate_connect`` Allow multiple connections to the same target @@ -376,6 +380,25 @@ into the topology using **h** as parent. 0 on success; on failure errno is set and -1 is returned. +.. c:function:: int nvmf_connect_ctrl (nvme_ctrl_t c) + + Connect a controller + +**Parameters** + +``nvme_ctrl_t c`` + Controller to be connected + +**Description** + +Issues a 'connect' command to the NVMe-oF controller. +**c** must be initialized and not connected to the topology. + +**Return** + +0 on success; on failure errno is set and -1 is returned. + + .. c:function:: int nvmf_get_discovery_log (nvme_ctrl_t c, struct nvmf_discovery_log **logp, int max_retries) Return the discovery log page diff --git a/doc/rst/ioctl.rst b/doc/rst/ioctl.rst index 050bf99..015f05b 100644 --- a/doc/rst/ioctl.rst +++ b/doc/rst/ioctl.rst @@ -2423,6 +2423,27 @@ The nvme command status if a response was received (see :c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise. +.. c:function:: int nvme_get_log_lockdown (int fd, __u8 cnscp, struct nvme_lockdown_log *lockdown_log) + + Retrieve lockdown Log + +**Parameters** + +``int fd`` + File descriptor of nvme device + +``__u8 cnscp`` + Contents and Scope of Command and Feature Identifier Lists + +``struct nvme_lockdown_log *lockdown_log`` + Buffer to store the lockdown log + +**Return** + +The nvme command status if a response was received (see +:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise. + + .. c:function:: int nvme_set_features (struct nvme_set_features_args *args) Set a feature attribute diff --git a/doc/rst/linux.rst b/doc/rst/linux.rst index 05d1418..2693373 100644 --- a/doc/rst/linux.rst +++ b/doc/rst/linux.rst @@ -760,6 +760,37 @@ on error. It is the responsibility of the caller to free the returned string. +.. c:function:: char * nvme_export_tls_key_versioned (unsigned char version, unsigned char hmac, const unsigned char *key_data, size_t key_len) + + Export a TLS pre-shared key + +**Parameters** + +``unsigned char version`` + Indicated the representation of the TLS PSK + +``unsigned char hmac`` + HMAC algorithm used to transfor the configured PSK + in a retained PSK + +``const unsigned char *key_data`` + Raw data of the key + +``size_t key_len`` + Length of **key_data** + +**Description** + +Returns **key_data** in the PSK Interchange format as defined in section +3.6.1.5 of the NVMe TCP Transport specification. + +**Return** + +The string containing the TLS identity or NULL with errno set +on error. It is the responsibility of the caller to free the returned +string. + + .. c:function:: unsigned char * nvme_import_tls_key (const char *encoded_key, int *key_len, unsigned int *hmac) Import a TLS key @@ -786,6 +817,36 @@ The raw data of the PSK or NULL with errno set on error. It is the responsibility of the caller to free the returned string. +.. c:function:: unsigned char * nvme_import_tls_key_versioned (const char *encoded_key, unsigned char *version, unsigned char *hmac, size_t *key_len) + + Import a TLS key + +**Parameters** + +``const char *encoded_key`` + TLS key in PSK interchange format + +``unsigned char *version`` + Indicated the representation of the TLS PSK + +``unsigned char *hmac`` + HMAC algorithm used to transfor the configured + PSK in a retained PSK + +``size_t *key_len`` + Length of the resulting key data + +**Description** + +Imports **key_data** in the PSK Interchange format as defined in section +3.6.1.5 of the NVMe TCP Transport specification. + +**Return** + +The raw data of the PSK or NULL with errno set on error. It is +the responsibility of the caller to free the returned string. + + .. c:function:: int nvme_submit_passthru (int fd, unsigned long ioctl_cmd, struct nvme_passthru_cmd *cmd, __u32 *result) Low level ioctl wrapper for passthru commands diff --git a/doc/rst/mi.rst b/doc/rst/mi.rst index e5c2bd1..e9d2e56 100644 --- a/doc/rst/mi.rst +++ b/doc/rst/mi.rst @@ -578,6 +578,63 @@ This is the generic response format with the three doublewords of completion queue data, plus optional response data. + + +.. c:enum:: nvme_mi_control_opcode + + Operation code for Control Primitives. + +**Constants** + +``nvme_mi_control_opcode_pause`` + Suspend response transmission/timeout + +``nvme_mi_control_opcode_resume`` + Resume from a paused condition + +``nvme_mi_control_opcode_abort`` + Re-initialize a Command Slot to the Idle state + +``nvme_mi_control_opcode_get_state`` + Get the state of a Command Slot + +``nvme_mi_control_opcode_replay`` + Retransmit the Response Message + + + + +.. c:struct:: nvme_mi_control_req + + The Control Primitive request. + +**Definition** + +:: + + struct nvme_mi_control_req { + struct nvme_mi_msg_hdr hdr; + __u8 opcode; + __u8 tag; + __le16 cpsp; + }; + +**Members** + +``hdr`` + Generic MI message header + +``opcode`` + Control Primitive Opcodes (using :c:type:`enum nvme_mi_control_opcode <nvme_mi_control_opcode>`) + +``tag`` + flag - Opaque value passed from request to response + +``cpsp`` + Control Primitive Specific Parameter + + + .. c:function:: const char * nvme_mi_status_to_string (int status) return a string representation of the MI status. @@ -1617,6 +1674,36 @@ The nvme command status if a response was received (see :c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise. +.. c:function:: int nvme_mi_control (nvme_mi_ep_t ep, __u8 opcode, __u16 cpsp, __u16 *result_cpsr) + + Perform a Control Primitive command + +**Parameters** + +``nvme_mi_ep_t ep`` + endpoint for MI communication + +``__u8 opcode`` + Control Primitive opcode (using :c:type:`enum nvme_mi_control_opcode <nvme_mi_control_opcode>`) + +``__u16 cpsp`` + Control Primitive Specific Parameter + +``__u16 *result_cpsr`` + Optional field to return the result from the CPSR field + +**Description** + +Perform a Control Primitive command, using the opcode specified in **opcode** +Stores the result from the CPSR field in **result_cpsr** if set. + +See: :c:type:`enum nvme_mi_control_opcode <nvme_mi_control_opcode>` + +**Return** + +0 on success, non-zero on failure + + .. c:function:: int nvme_mi_admin_identify_cns_nsid (nvme_mi_ctrl_t ctrl, enum nvme_identify_cns cns, __u32 nsid, void *data) Perform an Admin identify command using specific CNS/NSID parameters. @@ -2860,6 +2947,27 @@ The nvme command status if a response was received (see :c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise. +.. c:function:: int nvme_mi_admin_get_log_lockdown (nvme_mi_ctrl_t ctrl, __u8 cnscp, struct nvme_lockdown_log *lockdown_log) + + Retrieve lockdown Log + +**Parameters** + +``nvme_mi_ctrl_t ctrl`` + Controller to query + +``__u8 cnscp`` + Contents and Scope of Command and Feature Identifier Lists + +``struct nvme_lockdown_log *lockdown_log`` + Buffer to store the lockdown log + +**Return** + +The nvme command status if a response was received (see +:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise. + + .. c:function:: int nvme_mi_admin_security_send (nvme_mi_ctrl_t ctrl, struct nvme_security_send_args *args) Perform a Security Send command on a controller. diff --git a/doc/rst/tree.rst b/doc/rst/tree.rst index ee46d11..fd3b684 100644 --- a/doc/rst/tree.rst +++ b/doc/rst/tree.rst @@ -1845,6 +1845,87 @@ DH-HMAC-CHAP controller key or NULL if not set DH-HMAC-CHAP Key to set or NULL to clear existing key +.. c:function:: const char * nvme_ctrl_get_keyring (nvme_ctrl_t c) + + Return keyring + +**Parameters** + +``nvme_ctrl_t c`` + Controller to be used for the lookup + +**Return** + +Keyring or NULL if not set + + +.. c:function:: void nvme_ctrl_set_keyring (nvme_ctrl_t c, const char *keyring) + + Set keyring + +**Parameters** + +``nvme_ctrl_t c`` + Controller for which the keyring should be set + +``const char *keyring`` + Keyring name + + +.. c:function:: const char * nvme_ctrl_get_tls_key_identity (nvme_ctrl_t c) + + Return Derive TLS Identity + +**Parameters** + +``nvme_ctrl_t c`` + Controller to be used for the lookup + +**Return** + +Derive TLS Identity or NULL if not set + + +.. c:function:: void nvme_ctrl_set_tls_key_identity (nvme_ctrl_t c, const char *identity) + + Set Derive TLS Identity + +**Parameters** + +``nvme_ctrl_t c`` + Controller for which the key should be set + +``const char *identity`` + Derive TLS identity or NULL to clear existing key + + +.. c:function:: const char * nvme_ctrl_get_tls_key (nvme_ctrl_t c) + + Return Derive TLS PSK + +**Parameters** + +``nvme_ctrl_t c`` + Controller to be used for the lookup + +**Return** + +Key in PSK interchange format or NULL if not set + + +.. c:function:: void nvme_ctrl_set_tls_key (nvme_ctrl_t c, const char *key) + + Set Derive TLS PSK + +**Parameters** + +``nvme_ctrl_t c`` + Controller for which the key should be set + +``const char *key`` + Key in interchange format or NULL to clear existing key + + .. c:function:: struct nvme_fabrics_config * nvme_ctrl_get_config (nvme_ctrl_t c) Fabrics configuration of a controller diff --git a/doc/rst/types.rst b/doc/rst/types.rst index 7236642..245afce 100644 --- a/doc/rst/types.rst +++ b/doc/rst/types.rst @@ -49,6 +49,44 @@ The 'name' field from 'value' The 'name' field from 'value' +.. c:macro:: NVME_CHECK + +``NVME_CHECK (value, name, check)`` + + check value to compare field value + +**Parameters** + +``value`` + The value to be checked + +``name`` + The name of the sub-field within an nvme value + +``check`` + The sub-field value to check + +**Return** + +The result of compare the value and the sub-field value + + +.. c:macro:: NVME_VAL + +``NVME_VAL (name)`` + + get mask value shifted + +**Parameters** + +``name`` + The name of the sub-field within an nvme value + +**Return** + +The mask value shifted + + .. c:enum:: nvme_constants @@ -1536,7 +1574,8 @@ power scale value __le16 domainid; __u8 rsvd358[10]; __u8 megcap[16]; - __u8 rsvd384[128]; + __u8 tmpthha; + __u8 rsvd385[127]; __u8 sqes; __u8 cqes; __le16 maxcmd; @@ -1556,7 +1595,19 @@ power scale value __u8 maxdna[16]; __le32 maxcna; __le32 oaqd; - __u8 rsvd568[200]; + __u8 rsvd568[2]; + __u16 cmmrtd; + __u16 nmmrtd; + __u8 minmrtg; + __u8 maxmrtg; + __u8 trattr; + __u8 rsvd577; + __u16 mcudmq; + __u16 mnsudmq; + __u16 mcmr; + __u16 nmcmr; + __u16 mcdqpc; + __u8 rsvd588[180]; char subnqn[NVME_NQN_LENGTH]; __u8 rsvd1024[768]; __le32 ioccsz; @@ -1843,7 +1894,10 @@ power scale value Max Endurance Group Capacity indicates the maximum capacity of a single Endurance Group. -``rsvd384`` +``tmpthha`` + Temperature Threshold Hysteresis Attributes + +``rsvd385`` Reserved ``sqes`` @@ -1933,6 +1987,63 @@ power scale value ``rsvd568`` Reserved +``cmmrtd`` + Controller Maximum Memory Range Tracking Descriptors indicates + the maximum number of Memory Range Tracking Descriptors the + controller supports. + +``nmmrtd`` + NVM Subsystem Maximum Memory Range Tracking Descriptors + indicates the maximum number of Memory Range Tracking Descriptors + the NVM subsystem supports. + +``minmrtg`` + Minimum Memory Range Tracking Granularity indicates the minimum + value supported in the Requested Memory Range Tracking + Granularity (RMRTG) field of the Track Memory Ranges data + structure. + +``maxmrtg`` + Maximum Memory Range Tracking Granularity indicates the maximum + value supported in the Requested Memory Range Tracking + Granularity (RMRTG) field of the Track Memory Ranges data + structure. + +``trattr`` + Tracking Attributes indicates supported attributes for the + Track Send command and Track Receive command. + +``rsvd577`` + Reserved + +``mcudmq`` + Maximum Controller User Data Migration Queues indicates the + maximum number of User Data Migration Queues supported by the + controller. + +``mnsudmq`` + Maximum NVM Subsystem User Data Migration Queues indicates the + maximum number of User Data Migration Queues supported by the NVM + subsystem. + +``mcmr`` + Maximum CDQ Memory Ranges indicates the maximum number of + memory ranges allowed to be specified by the PRP1 field of a + Controller Data Queue command. + +``nmcmr`` + NVM Subsystem Maximum CDQ Memory Ranges indicates the maximum + number of memory ranges for all Controller Data Queues in the + NVM subsystem. + +``mcdqpc`` + Maximum Controller Data Queue PRP Count indicates the maximum + number of PRPs allowed to be specified in the PRP list in the + Controller Data Queue command. + +``rsvd588`` + Reserved + ``subnqn`` NVM Subsystem NVMe Qualified Name, UTF-8 null terminated string @@ -2060,6 +2171,87 @@ power scale value **Constants** +``NVME_CTRL_OAES_NA_SHIFT`` + Shift amount to get the Namespace Attribute Notices event supported + +``NVME_CTRL_OAES_FA_SHIFT`` + Shift amount to get the Firmware Activation Notices event supported + +``NVME_CTRL_OAES_ANA_SHIFT`` + Shift amount to get the ANA Change Notices supported + +``NVME_CTRL_OAES_PLEA_SHIFT`` + Shift amount to get the Predictable Latency Event Aggregate Log + Change Notices event supported + +``NVME_CTRL_OAES_LBAS_SHIFT`` + Shift amount to get the LBA Status Information Notices event + supported + +``NVME_CTRL_OAES_EGE_SHIFT`` + Shift amount to get the Endurance Group Events Aggregate Log Change + Notices event supported + +``NVME_CTRL_OAES_NS_SHIFT`` + Shift amount to get the Normal NVM Subsystem Shutdown event supported + +``NVME_CTRL_OAES_TTH_SHIFT`` + Shift amount to get the Temperature Threshold Hysteresis Recovery + event supported + +``NVME_CTRL_OAES_RGCNS_SHIFT`` + Shift amount to get the Reachability Groups Change Notices supported + +``NVME_CTRL_OAES_ANSAN_SHIFT`` + Shift amount to get the Allocated Namespace Attribute Notices + supported + +``NVME_CTRL_OAES_ZD_SHIFT`` + Shift amount to get the Zone Descriptor Change Notifications supported + +``NVME_CTRL_OAES_DL_SHIFT`` + Shift amount to get the Discover Log Page Change Notifications + supported + +``NVME_CTRL_OAES_NA_MASK`` + Mask to get the Namespace Attribute Notices event supported + +``NVME_CTRL_OAES_FA_MASK`` + Mask to get the Firmware Activation Notices event supported + +``NVME_CTRL_OAES_ANA_MASK`` + Mask to get the ANA Change Notices supported + +``NVME_CTRL_OAES_PLEA_MASK`` + Mask to get the Predictable Latency Event Aggregate Log Change Notices + event supported + +``NVME_CTRL_OAES_LBAS_MASK`` + Mask to get the LBA Status Information Notices event supported + +``NVME_CTRL_OAES_EGE_MASK`` + Mask to get the Endurance Group Events Aggregate Log Change Notices + event supported + +``NVME_CTRL_OAES_NS_MASK`` + Mask to get the Normal NVM Subsystem Shutdown event supported + +``NVME_CTRL_OAES_TTH_MASK`` + Mask to get the Temperature Threshold Hysteresis Recovery event + supported + +``NVME_CTRL_OAES_RGCNS_MASK`` + Mask to get the Reachability Groups Change Notices supported + +``NVME_CTRL_OAES_ANSAN_MASK`` + Mask to get the Allocated Namespace Attribute Notices supported + +``NVME_CTRL_OAES_ZD_MASK`` + Mask to get the Zone Descriptor Change Notifications supported + +``NVME_CTRL_OAES_DL_MASK`` + Mask to get the Discover Log Page Change Notifications supported + ``NVME_CTRL_OAES_NA`` Namespace Attribute Notices event supported @@ -2070,19 +2262,26 @@ power scale value ANA Change Notices supported ``NVME_CTRL_OAES_PLEA`` - Predictable Latency Event Aggregate Log - Change Notices event supported + Predictable Latency Event Aggregate Log Change Notices event supported ``NVME_CTRL_OAES_LBAS`` LBA Status Information Notices event supported ``NVME_CTRL_OAES_EGE`` - Endurance Group Events Aggregate Log Change - Notices event supported + Endurance Group Events Aggregate Log Change Notices event supported ``NVME_CTRL_OAES_NS`` Normal NVM Subsystem Shutdown event supported +``NVME_CTRL_OAES_TTH`` + Temperature Threshold Hysteresis Recovery event supported + +``NVME_CTRL_OAES_RGCNS`` + Reachability Groups Change Notices supported + +``NVME_CTRL_OAES_ANSAN`` + Allocated Namespace Attribute Notices supported + ``NVME_CTRL_OAES_ZD`` Zone Descriptor Change Notifications supported @@ -2645,6 +2844,30 @@ power scale value **Constants** +``NVME_CTRL_FNA_FMT_ALL_NS_SHIFT`` + Shift amount to get the format applied to all namespaces + +``NVME_CTRL_FNA_SEC_ALL_NS_SHIFT`` + Shift amount to get the secure erase applied to all namespaces + +``NVME_CTRL_FNA_CES_SHIFT`` + Shift amount to get the cryptographic erase supported + +``NVME_CTRL_FNA_NSID_ALL_F_SHIFT`` + Shift amount to get the format supported an NSID FFFFFFFFh + +``NVME_CTRL_FNA_FMT_ALL_NS_MASK`` + Mask to get the format applied to all namespaces + +``NVME_CTRL_FNA_SEC_ALL_NS_MASK`` + Mask to get the secure erase applied to all namespaces + +``NVME_CTRL_FNA_CES_MASK`` + Mask to get the cryptographic erase supported + +``NVME_CTRL_FNA_NSID_ALL_F_MASK`` + Mask to get the format supported an NSID FFFFFFFFh + ``NVME_CTRL_FNA_FMT_ALL_NAMESPACES`` If set, then all namespaces in an NVM subsystem shall be configured with the @@ -3795,7 +4018,9 @@ power scale value __le64 dmsl; __u8 rsvd16[2]; __le16 aocs; - __u8 rsvd20[4076]; + __le32 ver; + __u8 lbamqf; + __u8 rsvd25[4071]; }; **Members** @@ -3824,7 +4049,13 @@ power scale value ``aocs`` Admin Optional Command Support -``rsvd20`` +``ver`` + Version + +``lbamqf`` + LBA Migration Queue Format + +``rsvd25`` Reserved @@ -3846,7 +4077,11 @@ power scale value __u8 rsvd10[2]; __le32 elbaf[64]; __le32 npdgl; - __u8 rsvd272[20]; + __le32 nprg; + __le32 npra; + __le32 nors; + __le32 npdal; + __le32 lbapss; __le32 tlbaag; __u8 rsvd296[3800]; }; @@ -3871,8 +4106,20 @@ power scale value ``npdgl`` Namespace Preferred Deallocate Granularity Large -``rsvd272`` - Reserved +``nprg`` + Namespace Preferred Read Granularity + +``npra`` + Namespace Preferred Read Alignment + +``nors`` + Namespace Optimal Read Size + +``npdal`` + Namespace Preferred Deallocate Alignment Large + +``lbapss`` + LBA Format Placement Shard Size ``tlbaag`` Tracked LBA Allocation Granularity @@ -4854,6 +5101,9 @@ Supported Log Pages (Log Identifier 00h) ``NVME_CMD_EFFECTS_CCC`` Controller Capability Change +``NVME_CMD_EFFECTS_CSER_MASK`` + Command Submission and Execution Relaxations + ``NVME_CMD_EFFECTS_CSE_MASK`` Command Submission and Execution @@ -5879,6 +6129,9 @@ bytes, in size. This log captures the controller’s internal state. ``NVME_PEL_THERMAL_EXCURSION_EVENT`` Thermal Excursion Event +``NVME_PEL_SANITIZE_MEDIA_VERIF_EVENT`` + Sanitize Media Verification Event + ``NVME_PEL_VENDOR_SPECIFIC_EVENT`` Vendor Specific Event @@ -7289,6 +7542,39 @@ bytes, in size. This log captures the controller’s internal state. +.. c:struct:: nvme_lockdown_log + + Command and Feature Lockdown Log + +**Definition** + +:: + + struct nvme_lockdown_log { + __u8 cfila; + __u8 rsvd1[2]; + __u8 lngth; + __u8 cfil[508]; + }; + +**Members** + +``cfila`` + Contents of the Command and Feature Identifier List field in the log page. + +``rsvd1`` + Reserved + +``lngth`` + Length of Command and Feature Identifier List field + +``cfil`` + Command and Feature Identifier List + + + + + .. c:struct:: nvme_resv_notification_log Reservation Notification Log @@ -7369,7 +7655,9 @@ bytes, in size. This log captures the controller’s internal state. __le32 etond; __le32 etbend; __le32 etcend; - __u8 rsvd32[480]; + __le32 etpvds; + __u8 ssi; + __u8 rsvd37[475]; }; **Members** @@ -7456,7 +7744,19 @@ bytes, in size. This log captures the controller’s internal state. started that operation is completed. A value of FFFFFFFFh indicates that no time period is reported. -``rsvd32`` +``etpvds`` + Estimated Time For Post-Verification Deallocation State: indicates the + number of seconds required to deallocate all media allocated for user data + after exiting the Media Verification state (i.e., the time difference between + entering and exiting the Post-Verification Deallocation state), if that state + is entered as part of the sanitize operation. A value of FFFFFFFFh indicates + that no time period is reported. + +``ssi`` + Sanitize State Information: indicate the state of the Sanitize Operation + State Machine. + +``rsvd37`` Reserved @@ -7532,6 +7832,79 @@ bytes, in size. This log captures the controller’s internal state. or since the most recent successful sanitize operation. +``NVME_SANITIZE_SSTAT_MVCNCLD_SHIFT`` + Shift amount to get the value of Media Verification + Canceled bit of Sanitize status field. + +``NVME_SANITIZE_SSTAT_MVCNCLD_MASK`` + Mask to get the value of Media Verification Canceled + bit of Sanitize status field. + + + + +.. c:enum:: nvme_sanitize_ssi + + Sanitize State Information (SSI) + +**Constants** + +``NVME_SANITIZE_SSI_SANS_SHIFT`` + Shift amount to get the value of Sanitize State + from Sanitize State Information (SSI) field. + +``NVME_SANITIZE_SSI_SANS_MASK`` + Mask to get the value of Sanitize State from + Sanitize State Information (SSI) field. + +``NVME_SANITIZE_SSI_FAILS_SHIFT`` + Shift amount to get the value of Failure State + from Sanitize State Information (SSI) field. + +``NVME_SANITIZE_SSI_FAILS_MASK`` + Mask to get the value of Failure State from + Sanitize State Information (SSI) field. + +``NVME_SANITIZE_SSI_IDLE`` + No sanitize operation is in process. + +``NVME_SANITIZE_SSI_RESTRICT_PROCESSING`` + The Sanitize operation is in Restricted Processing + State. + +``NVME_SANITIZE_SSI_RESTRICT_FAILURE`` + The Sanitize operation is in Restricted Failure + State. This state is entered if sanitize processing + was performed in the Restricted Processing state and + sanitize processing failed or a failure occurred + during deallocation of media allocated for user data + in the Post-Verification Deallocation state. + +``NVME_SANITIZE_SSI_UNRESTRICT_PROCESSING`` + The Sanitize operation is in Unrestricted Processing + State. + +``NVME_SANITIZE_SSI_UNRESTRICT_FAILURE`` + The Sanitize operation is in Unrestricted Failure + State. This state is entered if sanitize processing + was performed in the Unrestricted Processing state + and sanitize processing failed or a failure occurred + during deallocation of media allocated for user data + in the Post-Verification. + +``NVME_SANITIZE_SSI_MEDIA_VERIFICATION`` + The Sanitize operation is in Media Verification + State. In this state, the sanitize processing + completed successfully, and all media allocated for + user data in the sanitization target is readable by + the host for purposes of verifying sanitization. + +``NVME_SANITIZE_SSI_POST_VERIF_DEALLOC`` + The Sanitize operation is in Post-Verification + Deallocation State. In this state, the controller + shall deallocate all media allocated for user data + in the sanitization target. + @@ -7778,6 +8151,66 @@ bytes, in size. This log captures the controller’s internal state. +.. c:enum:: nvme_lockdown_log_scope + + lockdown log page scope attributes + +**Constants** + +``NVME_LOCKDOWN_ADMIN_CMD`` + Scope value for Admin commandS + +``NVME_LOCKDOWN_FEATURE_ID`` + Scope value for Feature ID + +``NVME_LOCKDOWN_MI_CMD_SET`` + Scope value for Management Interface commands + +``NVME_LOCKDOWN_PCI_CMD_SET`` + Scope value for PCI commands + + + + +.. c:enum:: nvme_lockdown_log_contents + + lockdown log page content attributes + +**Constants** + +``NVME_LOCKDOWN_SUPPORTED_CMD`` + Content value for Supported commands + +``NVME_LOCKDOWN_PROHIBITED_CMD`` + Content value for prohibited commands + +``NVME_LOCKDOWN_PROHIBITED_OUTOFBAND_CMD`` + Content value for prohibited side band commands + + + + +.. c:enum:: nvme_lockdown_scope_contents + + Lockdown Log shift and mask + +**Constants** + +``NVME_LOCKDOWN_SS_SHIFT`` + Lockdown log scope select Shift + +``NVME_LOCKDOWN_SS_MASK`` + Lockdown log scope select Mask + +``NVME_LOCKDOWN_CS_SHIFT`` + Lockdown log contents Shift + +``NVME_LOCKDOWN_CS_MASK`` + Lockdown log contents Mask + + + + .. c:struct:: nvme_fdp_config_desc FDP Configuration Descriptor @@ -8373,6 +8806,28 @@ bytes, in size. This log captures the controller’s internal state. +.. c:enum:: nvme_lba_status_cmpc + + Get LBA Status Command Completion Condition + +**Constants** + +``NVME_LBA_STATUS_CMPC_NO_CMPC`` + No indication of the completion condition + +``NVME_LBA_STATUS_CMPC_INCOMPLETE`` + Command completed, but additional LBA Status + Descriptor Entries are available to transfer + or scan did not complete (if ATYPE = 10h) + +``NVME_LBA_STATUS_CMPC_COMPLETE`` + Completed the specified action over the number + of LBAs specified in the Range Length field and + transferred all available LBA Status Descriptors + + + + .. c:struct:: nvme_feat_auto_pst Autonomous Power State Transition @@ -11550,6 +12005,30 @@ entries are of a variable lengths (TEL), TEL is always a multiple of Host NQN used by the DDC to connect to the CDC. +``NVME_SC_INVALID_CONTROLER_DATA_QUEUE`` + This error indicates that the + specified Controller Data Queue + Identifier is invalid for the controller + processing the command. + +``NVME_SC_NOT_ENOUGH_RESOURCES`` + This error indicates that there is not + enough resources in the controller to + process the command. + +``NVME_SC_CONTROLLER_SUSPENDED`` + The operation requested is not allowed if + the specified controller is suspended. + +``NVME_SC_CONTROLLER_NOT_SUSPENDED`` + The operation requested is not allowed if + the specified controller is not + suspended. + +``NVME_SC_CONTROLLER_DATA_QUEUE_FULL`` + The controller detected that a + Controller Data Queue became full. + ``NVME_SC_BAD_ATTRIBUTES`` Conflicting Dataset Management Attributes @@ -12088,6 +12567,11 @@ true if **status** is of the specified type and value ``NVME_IDENTIFY_CNS_COMMAND_SET_STRUCTURE`` Base Specification 2.0a section 5.17.2.21 +``NVME_IDENTIFY_CNS_SUPPORTED_CTRL_STATE_FORMATS`` + Supported Controller State Formats + identifying the supported NVMe Controller + State data structures + @@ -12163,9 +12647,27 @@ true if **status** is of the specified type and value ``NVME_LOG_LID_BOOT_PARTITION`` Boot Partition +``NVME_LOG_LID_ROTATIONAL_MEDIA_INFO`` + Rotational Media Information + +``NVME_LOG_LID_DISPERSED_NS_PARTICIPATING_NSS`` + Dispersed Namespace Participating NVM Subsystems + +``NVME_LOG_LID_MGMT_ADDR_LIST`` + Management Address List + ``NVME_LOG_LID_PHY_RX_EOM`` Physical Interface Receiver Eye Opening Measurement +``NVME_LOG_LID_REACHABILITY_GROUPS`` + Reachability Groups + +``NVME_LOG_LID_REACHABILITY_ASSOCIATIONS`` + Reachability Associations + +``NVME_LOG_LID_CHANGED_ALLOC_NS_LIST`` + Changed Allocated Namespace List + ``NVME_LOG_LID_FDP_CONFIGS`` FDP Configurations @@ -12181,6 +12683,15 @@ true if **status** is of the specified type and value ``NVME_LOG_LID_DISCOVER`` Discovery +``NVME_LOG_LID_HOST_DISCOVER`` + Host Discovery + +``NVME_LOG_LID_AVE_DISCOVER`` + AVE Discovery + +``NVME_LOG_LID_PULL_MODEL_DDC_REQ`` + Pull Model DDC Request + ``NVME_LOG_LID_RESERVATION`` Reservation Notification @@ -12782,6 +13293,9 @@ true if **status** is of the specified type and value ``NVME_SANITIZE_SANACT_START_CRYPTO_ERASE`` Start a Crypto Erase sanitize operation. +``NVME_SANITIZE_SANACT_EXIT_MEDIA_VERIF`` + Exit Media Verification State + @@ -13151,6 +13665,45 @@ true if **status** is of the specified type and value +.. c:enum:: nvme_kv_opcode + + Opcodes for KV Commands + +**Constants** + +``nvme_kv_cmd_flush`` + Flush + +``nvme_kv_cmd_store`` + Store + +``nvme_kv_cmd_retrieve`` + Retrieve + +``nvme_kv_cmd_list`` + List + +``nvme_kv_cmd_resv_register`` + Reservation Register + +``nvme_kv_cmd_resv_report`` + Reservation Report + +``nvme_kv_cmd_delete`` + Delete + +``nvme_kv_cmd_resv_acquire`` + Reservation Acquire + +``nvme_kv_cmd_exist`` + Exist + +``nvme_kv_cmd_resv_release`` + Reservation Release + + + + .. c:enum:: nvme_io_control_flags I/O control flags diff --git a/doc/rst/util.rst b/doc/rst/util.rst index 56df0f6..6d024ed 100644 --- a/doc/rst/util.rst +++ b/doc/rst/util.rst @@ -73,6 +73,9 @@ libnvme utility functions ``ENVME_CONNECT_IGNORED`` connect attempt is ignored due to configuration +``ENVME_CONNECT_NOKEY`` + the TLS key is missing + .. c:function:: __u8 nvme_status_to_errno (int status, bool fabrics) diff --git a/examples/mi-mctp.c b/examples/mi-mctp.c index 75437c0..cea7ed8 100644 --- a/examples/mi-mctp.c +++ b/examples/mi-mctp.c @@ -241,6 +241,104 @@ int do_identify(nvme_mi_ep_t ep, int argc, char **argv) return 0; } +int do_control_primitive(nvme_mi_ep_t ep, int argc, char **argv) +{ + int rc = 0; + char *action = NULL; + uint8_t opcode = 0xff; + uint16_t cpsr; + + static const struct { + const char *name; + uint8_t opcode; + } control_actions[] = { + { "pause", nvme_mi_control_opcode_pause }, + { "resume", nvme_mi_control_opcode_resume }, + { "abort", nvme_mi_control_opcode_abort }, + { "get-state", nvme_mi_control_opcode_get_state }, + { "replay", nvme_mi_control_opcode_replay }, + }; + + static const char * const slot_state[] = { + "Idle", + "Receive", + "Process", + "Transmit", + }; + + static const char * const cpas_state[] = { + "Command aborted after processing completed or no command to abort", + "Command aborted before processing began", + "Command processing partially completed", + "Reserved", + }; + + if (argc < 2) { + fprintf(stderr, "no opcode specified\n"); + return -1; + } + + action = argv[1]; + + for (int i = 0; i < ARRAY_SIZE(control_actions); i++) { + if (!strcmp(action, control_actions[i].name)) { + opcode = control_actions[i].opcode; + break; + } + } + + if (opcode == 0xff) { + fprintf(stderr, "invalid action specified: %s\n", action); + return -1; + } + + rc = nvme_mi_control(ep, opcode, 0, &cpsr); /* cpsp reserved in example */ + if (rc) { + warn("can't perform primitive control command"); + return -1; + } + + printf("NVMe control primitive\n"); + switch (opcode) { + case nvme_mi_control_opcode_pause: + printf(" Pause : cspr is %#x\n", cpsr); + printf(" Pause Flag Status Slot 0: %s\n", (cpsr & (1 << 0)) ? "Yes" : "No"); + printf(" Pause Flag Status Slot 1: %s\n", (cpsr & (1 << 1)) ? "Yes" : "No"); + break; + case nvme_mi_control_opcode_resume: + printf(" Resume : cspr is %#x\n", cpsr); + break; + case nvme_mi_control_opcode_abort: + printf(" Abort : cspr is %#x\n", cpsr); + printf(" Command Aborted Status: %s\n", cpas_state[cpsr & 0x3]); + break; + case nvme_mi_control_opcode_get_state: + printf(" Get State : cspr is %#x\n", cpsr); + printf(" Slot Command Servicing State: %s\n", slot_state[cpsr & 0x3]); + printf(" Bad Message Integrity Check: %s\n", (cpsr & (1 << 4)) ? "Yes" : "No"); + printf(" Timeout Waiting for a Packet: %s\n", (cpsr & (1 << 5)) ? "Yes" : "No"); + printf(" Unsupported Transmission Unit: %s\n", (cpsr & (1 << 6)) ? "Yes" : "No"); + printf(" Bad Header Version: %s\n", (cpsr & (1 << 7)) ? "Yes" : "No"); + printf(" Unknown Destination ID: %s\n", (cpsr & (1 << 8)) ? "Yes" : "No"); + printf(" Incorrect Transmission Unit: %s\n", (cpsr & (1 << 9)) ? "Yes" : "No"); + printf(" Unexpected Middle or End of Packet: %s\n", (cpsr & (1 << 10)) ? "Yes" : "No"); + printf(" Out-of-Sequence Packet Sequence Number: %s\n", (cpsr & (1 << 11)) ? "Yes" : "No"); + printf(" Bad, Unexpected, or Expired Message Tag: %s\n", (cpsr & (1 << 12)) ? "Yes" : "No"); + printf(" Bad Packet or Other Physical Layer: %s\n", (cpsr & (1 << 13)) ? "Yes" : "No"); + printf(" NVM Subsystem Reset Occurred: %s\n", (cpsr & (1 << 14)) ? "Yes" : "No"); + printf(" Pause Flag: %s\n", (cpsr & (1 << 15)) ? "Yes" : "No"); + break; + case nvme_mi_control_opcode_replay: + printf(" Replay : cspr is %#x\n", cpsr); + break; + default: + /* unreachable */ + break; + } + + return 0; +} + void fhexdump(FILE *fp, const unsigned char *buf, int len) { const int row_len = 16; @@ -630,6 +728,7 @@ enum action { ACTION_SECURITY_INFO, ACTION_CONFIG_GET, ACTION_CONFIG_SET, + ACTION_CONTROL_PRIMITIVE, }; static int do_action_endpoint(enum action action, nvme_mi_ep_t ep, int argc, char** argv) @@ -661,6 +760,9 @@ static int do_action_endpoint(enum action action, nvme_mi_ep_t ep, int argc, cha case ACTION_CONFIG_SET: rc = do_config_set(ep, argc, argv); break; + case ACTION_CONTROL_PRIMITIVE: + rc = do_control_primitive(ep, argc, argv); + break; default: /* This shouldn't be possible, as we should be covering all * of the enum action options above. Hoever, keep the compilers @@ -707,6 +809,7 @@ int main(int argc, char **argv) " security-info <controller-id>\n" " get-config [port]\n" " set-config <port> <type> <val>\n" + " control-primitive [action(abort|pause|resume|get-state|replay)]\n" "\n" " 'dbus' target will query D-Bus for known MCTP endpoints\n" ); @@ -736,6 +839,8 @@ int main(int argc, char **argv) action = ACTION_CONFIG_GET; } else if (!strcmp(action_str, "set-config")) { action = ACTION_CONFIG_SET; + } else if (!strcmp(action_str, "control-primitive")) { + action = ACTION_CONTROL_PRIMITIVE; } else { fprintf(stderr, "invalid action '%s'\n", action_str); return EXIT_FAILURE; diff --git a/meson.build b/meson.build index bcdd896..301bf3d 100644 --- a/meson.build +++ b/meson.build @@ -8,7 +8,7 @@ project( 'libnvme', ['c'], meson_version: '>= 0.50.0', - version: '1.10', + version: '1.11', license: 'LGPL-2.1-or-later', default_options: [ 'c_std=gnu99', diff --git a/scripts/build.sh b/scripts/build.sh index f820ade..c4849e7 100755 --- a/scripts/build.sh +++ b/scripts/build.sh @@ -115,6 +115,7 @@ config_meson_docs() { CC="${CC}" "${MESON}" setup \ -Ddocs=all \ -Ddocs-build=true \ + --prefix=/tmp/usr \ "${BUILDDIR}" } @@ -198,6 +199,11 @@ test_muon() { ninja="${SAMU}" "${MUON}" -C "${BUILDDIR}" test } +install_meson_docs() { + "${MESON}" install \ + -C "${BUILDDIR}" +} + if [[ "${BUILDTOOL}" == "muon" ]]; then SAMU="$(which samu 2> /dev/null)" || true if [[ -z "${SAMU}" ]]; then @@ -220,3 +226,4 @@ rm -rf "${BUILDDIR}" config_"${BUILDTOOL}"_"${CONFIG}" fn_exists "build_${BUILDTOOL}_${CONFIG}" && "build_${BUILDTOOL}_${CONFIG}" || build_"${BUILDTOOL}" fn_exists "test_${BUILDTOOL}_${CONFIG}" && "test_${BUILDTOOL}_${CONFIG}" || test_"${BUILDTOOL}" +fn_exists "install_${BUILDTOOL}_${CONFIG}" && "install_${BUILDTOOL}_${CONFIG}" || true; diff --git a/src/libnvme-mi.map b/src/libnvme-mi.map index 1fa3cd8..11b3954 100644 --- a/src/libnvme-mi.map +++ b/src/libnvme-mi.map @@ -1,3 +1,8 @@ +LIBNVME_MI_1_11 { + global: + nvme_mi_control; +}; + LIBNVME_MI_1_10 { global: nvme_mi_admin_get_ana_log_atomic; diff --git a/src/libnvme.map b/src/libnvme.map index fbdc6c7..d60d076 100644 --- a/src/libnvme.map +++ b/src/libnvme.map @@ -1,4 +1,18 @@ # SPDX-License-Identifier: LGPL-2.1-or-later +LIBNVME_1.11 { + global: + nvme_ctrl_get_keyring; + nvme_ctrl_get_tls_key; + nvme_ctrl_get_tls_key_identity; + nvme_ctrl_set_keyring; + nvme_ctrl_set_tls_key; + nvme_ctrl_set_tls_key_identity; + nvme_export_tls_key_versioned; + nvme_import_tls_key_versioned; + nvmf_connect_ctrl; +}; + + LIBNVME_1.10 { global: nvme_free_uri; diff --git a/src/nvme/api-types.h b/src/nvme/api-types.h index 296a7b0..4cf8e8c 100644 --- a/src/nvme/api-types.h +++ b/src/nvme/api-types.h @@ -511,6 +511,7 @@ struct nvme_get_property_args { * @owpass: Overwrite pass count * @oipbp: Set to overwrite invert pattern between passes * @nodas: Set to not deallocate blocks after sanitizing + * @emvs: Set to enter media verification state */ struct nvme_sanitize_nvm_args { __u32 *result; @@ -523,6 +524,7 @@ struct nvme_sanitize_nvm_args { __u8 owpass; bool oipbp; bool nodas; + bool emvs; }; /** diff --git a/src/nvme/fabrics.c b/src/nvme/fabrics.c index acf12bc..69acf04 100644 --- a/src/nvme/fabrics.c +++ b/src/nvme/fabrics.c @@ -309,6 +309,22 @@ static int __add_bool_argument(char **argstr, char *tok, bool arg) return 0; } +static int __add_hex_argument(char **argstr, char *tok, int arg, bool allow_zero) +{ + char *nstr; + + if (arg < 0 || (!arg && !allow_zero)) + return 0; + if (asprintf(&nstr, "%s,%s=0x%08x", *argstr, tok, arg) < 0) { + errno = ENOMEM; + return -1; + } + free(*argstr); + *argstr = nstr; + + return 0; +} + static int __add_int_argument(char **argstr, char *tok, int arg, bool allow_zero) { char *nstr; @@ -363,7 +379,7 @@ static int __nvmf_supported_options(nvme_root_t r); !__nvmf_supported_options(r) && (r)->options->tok; \ }) -#define add_bool_argument(o, argstr, tok, arg) \ +#define add_bool_argument(r, argstr, tok, arg) \ ({ \ int ret; \ if (nvmf_check_option(r, tok)) { \ @@ -379,7 +395,24 @@ static int __nvmf_supported_options(nvme_root_t r); ret; \ }) -#define add_int_argument(o, argstr, tok, arg, allow_zero) \ +#define add_hex_argument(r, argstr, tok, arg, allow_zero) \ +({ \ + int ret; \ + if (nvmf_check_option(r, tok)) { \ + ret = __add_hex_argument(argstr, \ + stringify(tok), \ + arg, \ + allow_zero); \ + } else { \ + nvme_msg(r, LOG_DEBUG, \ + "option \"%s\" ignored\n", \ + stringify(tok)); \ + ret = 0; \ + } \ + ret; \ +}) + +#define add_int_argument(r, argstr, tok, arg, allow_zero) \ ({ \ int ret; \ if (nvmf_check_option(r, tok)) { \ @@ -396,7 +429,7 @@ static int __nvmf_supported_options(nvme_root_t r); ret; \ }) -#define add_int_or_minus_one_argument(o, argstr, tok, arg) \ +#define add_int_or_minus_one_argument(r, argstr, tok, arg) \ ({ \ int ret; \ if (nvmf_check_option(r, tok)) { \ @@ -552,6 +585,9 @@ static int build_options(nvme_host_t h, nvme_ctrl_t c, char **argstr) const char *hostnqn, *hostid, *hostkey, *ctrlkey; bool discover = false, discovery_nqn = false; nvme_root_t r = h->r; + long keyring_id = 0; + long key_id = 0; + int ret; if (!transport) { nvme_msg(h->r, LOG_ERR, "need a transport (-t) argument\n"); @@ -573,19 +609,37 @@ static int build_options(nvme_host_t h, nvme_ctrl_t c, char **argstr) errno = ENOMEM; return -1; } + if (!strcmp(nvme_ctrl_get_subsysnqn(c), NVME_DISC_SUBSYS_NAME)) { nvme_ctrl_set_discovery_ctrl(c, true); nvme_ctrl_set_unique_discovery_ctrl(c, false); discovery_nqn = true; } + if (nvme_ctrl_is_discovery_ctrl(c)) discover = true; + hostnqn = nvme_host_get_hostnqn(h); hostid = nvme_host_get_hostid(h); hostkey = nvme_host_get_dhchap_key(h); if (!hostkey) hostkey = nvme_ctrl_get_dhchap_host_key(c); + ctrlkey = nvme_ctrl_get_dhchap_key(c); + + ret = __nvme_import_keys_from_config(h, c, &keyring_id, &key_id); + if (ret) { + errno = -ret; + return -1; + } + + if (key_id == 0) { + if (cfg->tls_configured_key) + key_id = cfg->tls_configured_key; + else + key_id = cfg->tls_key; + } + if (add_argument(r, argstr, transport, transport) || add_argument(r, argstr, traddr, nvme_ctrl_get_traddr(c)) || @@ -627,9 +681,9 @@ static int build_options(nvme_host_t h, nvme_ctrl_t c, char **argstr) cfg->fast_io_fail_tmo, false)) || (strcmp(transport, "loop") && add_int_argument(r, argstr, tos, cfg->tos, true)) || - add_int_argument(r, argstr, keyring, cfg->keyring, false) || + add_hex_argument(r, argstr, keyring, keyring_id, false) || (!strcmp(transport, "tcp") && - add_int_argument(r, argstr, tls_key, cfg->tls_key, false)) || + add_hex_argument(r, argstr, tls_key, key_id, false)) || add_bool_argument(r, argstr, duplicate_connect, cfg->duplicate_connect) || add_bool_argument(r, argstr, disable_sqflow, @@ -760,7 +814,7 @@ static int __nvmf_add_ctrl(nvme_root_t r, const char *argstr) (int)strcspn(argstr,"\n"), argstr); ret = write(fd, argstr, len); if (ret != len) { - nvme_msg(r, LOG_NOTICE, "Failed to write to %s: %s\n", + nvme_msg(r, LOG_INFO, "Failed to write to %s: %s\n", nvmf_dev, strerror(errno)); switch (errno) { case EALREADY: @@ -777,6 +831,8 @@ static int __nvmf_add_ctrl(nvme_root_t r, const char *argstr) return -ENVME_CONNECT_CONNREFUSED; case EADDRNOTAVAIL: return -ENVME_CONNECT_ADDRNOTAVAIL; + case ENOKEY: + return -ENVME_CONNECT_NOKEY; default: return -ENVME_CONNECT_WRITE; } @@ -864,6 +920,15 @@ int nvmf_add_ctrl(nvme_host_t h, nvme_ctrl_t c, key = nvme_ctrl_get_dhchap_key(fc); if (key) nvme_ctrl_set_dhchap_key(c, key); + key = nvme_ctrl_get_keyring(fc); + if (key) + nvme_ctrl_set_keyring(c, key); + key = nvme_ctrl_get_tls_key_identity(fc); + if (key) + nvme_ctrl_set_tls_key_identity(c, key); + key = nvme_ctrl_get_tls_key(fc); + if (key) + nvme_ctrl_set_tls_key(c, key); } } @@ -916,6 +981,24 @@ int nvmf_add_ctrl(nvme_host_t h, nvme_ctrl_t c, return nvme_init_ctrl(h, c, ret); } +int nvmf_connect_ctrl(nvme_ctrl_t c) +{ + _cleanup_free_ char *argstr = NULL; + int ret; + + ret = build_options(c->s->h, c, &argstr); + if (ret) + return ret; + + ret = __nvmf_add_ctrl(c->s->h->r, argstr); + if (ret < 0) { + errno = -ret; + return -1; + } + + return 0; +} + nvme_ctrl_t nvmf_connect_disc_entry(nvme_host_t h, struct nvmf_disc_log_entry *e, const struct nvme_fabrics_config *cfg, diff --git a/src/nvme/fabrics.h b/src/nvme/fabrics.h index 8e26e9f..4da4388 100644 --- a/src/nvme/fabrics.h +++ b/src/nvme/fabrics.h @@ -37,6 +37,7 @@ * @tos: Type of service * @keyring: Keyring to store and lookup keys * @tls_key: TLS PSK for the connection + * @tls_configured_key: TLS PSK for connect command for the connection * @duplicate_connect: Allow multiple connections to the same target * @disable_sqflow: Disable controller sq flow control * @hdr_digest: Generate/verify header digest (TCP) @@ -58,6 +59,7 @@ struct nvme_fabrics_config { int tos; long keyring; long tls_key; + long tls_configured_key; bool duplicate_connect; bool disable_sqflow; @@ -222,6 +224,17 @@ int nvmf_add_ctrl(nvme_host_t h, nvme_ctrl_t c, const struct nvme_fabrics_config *cfg); /** + * nvmf_connect_ctrl() - Connect a controller + * @c: Controller to be connected + * + * Issues a 'connect' command to the NVMe-oF controller. + * @c must be initialized and not connected to the topology. + * + * Return: 0 on success; on failure errno is set and -1 is returned. + */ +int nvmf_connect_ctrl(nvme_ctrl_t c); + +/** * nvmf_get_discovery_log() - Return the discovery log page * @c: Discovery controller to use * @logp: Pointer to the log page to be returned diff --git a/src/nvme/ioctl.c b/src/nvme/ioctl.c index 9707829..ba9d5b1 100644 --- a/src/nvme/ioctl.c +++ b/src/nvme/ioctl.c @@ -625,45 +625,19 @@ int nvme_set_features_async_event(int fd, __u32 events, int nvme_set_features_auto_pst(int fd, bool apste, bool save, struct nvme_feat_auto_pst *apst, __u32 *result) { - struct nvme_set_features_args args = { - .args_size = sizeof(args), - .fd = fd, - .fid = NVME_FEAT_FID_AUTO_PST, - .nsid = NVME_NSID_NONE, - .cdw11 = NVME_SET(!!apste, FEAT_APST_APSTE), - .save = save, - .uuidx = NVME_UUID_NONE, - .data = apst, - .data_len = sizeof(*apst), - .timeout = NVME_DEFAULT_IOCTL_TIMEOUT, - .result = result, - }; - - return nvme_set_features(&args); + return nvme_set_features_data(fd, NVME_FEAT_FID_AUTO_PST, + NVME_NSID_NONE, NVME_SET(!!apste, FEAT_APST_APSTE), save, + sizeof(*apst), apst, result); } int nvme_set_features_timestamp(int fd, bool save, __u64 timestamp) { __le64 t = cpu_to_le64(timestamp); struct nvme_timestamp ts = {}; - struct nvme_set_features_args args = { - .args_size = sizeof(args), - .fd = fd, - .fid = NVME_FEAT_FID_TIMESTAMP, - .nsid = NVME_NSID_NONE, - .cdw11 = 0, - .cdw12 = 0, - .save = save, - .uuidx = NVME_UUID_NONE, - .cdw15 = 0, - .data_len = sizeof(ts), - .data = &ts, - .timeout = NVME_DEFAULT_IOCTL_TIMEOUT, - .result = NULL, - }; - memcpy(ts.timestamp, &t, sizeof(ts.timestamp)); - return nvme_set_features(&args); + + return nvme_set_features_data(fd, NVME_FEAT_FID_TIMESTAMP, + NVME_NSID_NONE, 0, save, sizeof(ts), &ts, NULL); } int nvme_set_features_hctm(int fd, __u16 tmt2, __u16 tmt1, @@ -764,23 +738,8 @@ int nvme_set_features_lba_sts_interval(int fd, __u16 lsiri, __u16 lsipi, int nvme_set_features_host_behavior(int fd, bool save, struct nvme_feat_host_behavior *data) { - struct nvme_set_features_args args = { - .args_size = sizeof(args), - .fd = fd, - .fid = NVME_FEAT_FID_HOST_BEHAVIOR, - .nsid = NVME_NSID_NONE, - .cdw11 = 0, - .cdw12 = 0, - .save = false, - .uuidx = NVME_UUID_NONE, - .cdw15 = 0, - .data_len = sizeof(*data), - .data = data, - .timeout = NVME_DEFAULT_IOCTL_TIMEOUT, - .result = NULL, - }; - - return nvme_set_features(&args); + return nvme_set_features_data(fd, NVME_FEAT_FID_HOST_BEHAVIOR, + NVME_NSID_NONE, 0, false, sizeof(*data), data, NULL); } int nvme_set_features_sanitize(int fd, bool nodrm, bool save, __u32 *result) @@ -809,23 +768,9 @@ int nvme_set_features_host_id(int fd, bool exhid, bool save, __u8 *hostid) { __u32 len = exhid ? 16 : 8; __u32 value = !!exhid; - struct nvme_set_features_args args = { - .args_size = sizeof(args), - .fd = fd, - .fid = NVME_FEAT_FID_HOST_ID, - .nsid = NVME_NSID_NONE, - .cdw11 = value, - .cdw12 = 0, - .save = save, - .uuidx = NVME_UUID_NONE, - .cdw15 = 0, - .data_len = len, - .data = hostid, - .timeout = NVME_DEFAULT_IOCTL_TIMEOUT, - .result = NULL, - }; - return nvme_set_features(&args); + return nvme_set_features_data(fd, NVME_FEAT_FID_HOST_ID, + NVME_NSID_NONE, value, save, len, hostid, NULL); } int nvme_set_features_resv_mask(int fd, __u32 mask, bool save, __u32 *result) @@ -1696,12 +1641,25 @@ int nvme_get_property(struct nvme_get_property_args *args) int nvme_sanitize_nvm(struct nvme_sanitize_nvm_args *args) { - __u32 cdw10 = NVME_SET(args->sanact, SANITIZE_CDW10_SANACT) | - NVME_SET(!!args->ause, SANITIZE_CDW10_AUSE) | - NVME_SET(args->owpass, SANITIZE_CDW10_OWPASS) | - NVME_SET(!!args->oipbp, SANITIZE_CDW10_OIPBP) | - NVME_SET(!!args->nodas, SANITIZE_CDW10_NODAS); - __u32 cdw11 = args->ovrpat; + const size_t size_v1 = sizeof_args(struct nvme_sanitize_nvm_args, nodas, __u64); + const size_t size_v2 = sizeof_args(struct nvme_sanitize_nvm_args, emvs, __u64); + __u32 cdw10, cdw11; + + if (args->args_size < size_v1 || args->args_size > size_v2) { + errno = EINVAL; + return -1; + } + + cdw10 = NVME_SET(args->sanact, SANITIZE_CDW10_SANACT) | + NVME_SET(!!args->ause, SANITIZE_CDW10_AUSE) | + NVME_SET(args->owpass, SANITIZE_CDW10_OWPASS) | + NVME_SET(!!args->oipbp, SANITIZE_CDW10_OIPBP) | + NVME_SET(!!args->nodas, SANITIZE_CDW10_NODAS); + + if (args->args_size == size_v2) + cdw10 |= NVME_SET(!!args->emvs, SANITIZE_CDW10_EMVS); + + cdw11 = args->ovrpat; struct nvme_passthru_cmd cmd = { .opcode = nvme_admin_sanitize_nvm, @@ -1710,10 +1668,6 @@ int nvme_sanitize_nvm(struct nvme_sanitize_nvm_args *args) .timeout_ms = args->timeout, }; - if (args->args_size < sizeof(*args)) { - errno = EINVAL; - return -1; - } return nvme_submit_admin_passthru(args->fd, &cmd, args->result); } diff --git a/src/nvme/ioctl.h b/src/nvme/ioctl.h index 2ebd39c..7d407a0 100644 --- a/src/nvme/ioctl.h +++ b/src/nvme/ioctl.h @@ -285,11 +285,13 @@ enum nvme_cmd_dword_fields { NVME_SANITIZE_CDW10_OWPASS_SHIFT = 4, NVME_SANITIZE_CDW10_OIPBP_SHIFT = 8, NVME_SANITIZE_CDW10_NODAS_SHIFT = 9, + NVME_SANITIZE_CDW10_EMVS_SHIFT = 10, NVME_SANITIZE_CDW10_SANACT_MASK = 0x7, NVME_SANITIZE_CDW10_AUSE_MASK = 0x1, NVME_SANITIZE_CDW10_OWPASS_MASK = 0xf, NVME_SANITIZE_CDW10_OIPBP_MASK = 0x1, NVME_SANITIZE_CDW10_NODAS_MASK = 0x1, + NVME_SANITIZE_CDW10_EMVS_MASK = 0x1, NVME_SECURITY_NSSF_SHIFT = 0, NVME_SECURITY_SPSP0_SHIFT = 8, NVME_SECURITY_SPSP1_SHIFT = 16, @@ -2311,6 +2313,38 @@ static inline int nvme_get_log_persistent_event(int fd, } /** + * nvme_get_log_lockdown() - Retrieve lockdown Log + * @fd: File descriptor of nvme device + * @cnscp: Contents and Scope of Command and Feature Identifier Lists + * @lockdown_log: Buffer to store the lockdown log + * + * Return: The nvme command status if a response was received (see + * &enum nvme_status_field) or -1 with errno set otherwise. + */ +static inline int nvme_get_log_lockdown(int fd, + __u8 cnscp, struct nvme_lockdown_log *lockdown_log) +{ + struct nvme_get_log_args args = { + .lpo = 0, + .result = NULL, + .log = lockdown_log, + .args_size = sizeof(args), + .fd = fd, + .timeout = NVME_DEFAULT_IOCTL_TIMEOUT, + .lid = NVME_LOG_LID_CMD_AND_FEAT_LOCKDOWN, + .len = sizeof(*lockdown_log), + .nsid = NVME_NSID_ALL, + .csi = NVME_CSI_NVM, + .lsi = NVME_LOG_LSI_NONE, + .lsp = cnscp, + .uuidx = NVME_UUID_NONE, + .rae = false, + .ot = false, + }; + return nvme_get_log_page(fd, NVME_LOG_PAGE_PDU_SIZE, &args); +} + +/** * nvme_set_features() - Set a feature attribute * @args: &struct nvme_set_features_args argument structure * @@ -2350,7 +2384,7 @@ static inline int nvme_set_features_data(int fd, __u8 fid, __u32 nsid, .cdw15 = 0, .data_len = data_len, .save = save, - .uuidx = 0, + .uuidx = NVME_UUID_NONE, .fid = fid, }; return nvme_set_features(&args); diff --git a/src/nvme/json.c b/src/nvme/json.c index 2c769f2..af28bd4 100644 --- a/src/nvme/json.c +++ b/src/nvme/json.c @@ -25,62 +25,10 @@ #define JSON_UPDATE_BOOL_OPTION(c, k, a, o) \ if (!strcmp(# a, k ) && !c->a) c->a = json_object_get_boolean(o); -static void json_import_nvme_tls_key(nvme_ctrl_t c, const char *keyring_str, - const char *encoded_key) -{ - struct nvme_fabrics_config *cfg = nvme_ctrl_get_config(c); - const char *hostnqn = nvme_host_get_hostnqn(c->s->h); - const char *subsysnqn = nvme_ctrl_get_subsysnqn(c); - int key_len; - unsigned int hmac; - long key_id; - _cleanup_free_ unsigned char *key_data = NULL; - - if (!hostnqn || !subsysnqn) { - nvme_msg(NULL, LOG_ERR, "Invalid NQNs (%s, %s)\n", - hostnqn, subsysnqn); - return; - } - key_data = nvme_import_tls_key(encoded_key, &key_len, &hmac); - if (!key_data) { - nvme_msg(NULL, LOG_ERR, "Failed to decode TLS Key '%s'\n", - encoded_key); - return; - } - key_id = nvme_insert_tls_key_versioned(keyring_str, "psk", - hostnqn, subsysnqn, - 0, hmac, key_data, key_len); - if (key_id <= 0) - nvme_msg(NULL, LOG_ERR, "Failed to insert TLS KEY, error %d\n", - errno); - else { - cfg->tls_key = key_id; - cfg->tls = true; - } -} - -static void json_export_nvme_tls_key(long keyring_id, long tls_key, - struct json_object *obj) -{ - int key_len; - _cleanup_free_ unsigned char *key_data = NULL; - - key_data = nvme_read_key(keyring_id, tls_key, &key_len); - if (key_data) { - _cleanup_free_ char *tls_str = NULL; - - tls_str = nvme_export_tls_key(key_data, key_len); - if (tls_str) - json_object_object_add(obj, "tls_key", - json_object_new_string(tls_str)); - } -} - static void json_update_attributes(nvme_ctrl_t c, struct json_object *ctrl_obj) { struct nvme_fabrics_config *cfg = nvme_ctrl_get_config(c); - const char *keyring_str = NULL, *encoded_key = NULL; json_object_object_foreach(ctrl_obj, key_str, val_obj) { JSON_UPDATE_INT_OPTION(cfg, key_str, @@ -120,31 +68,18 @@ static void json_update_attributes(nvme_ctrl_t c, if (!strcmp("discovery", key_str) && !nvme_ctrl_is_discovery_ctrl(c)) nvme_ctrl_set_discovery_ctrl(c, true); - /* - * The JSON configuration holds the keyring description - * which needs to be converted into the keyring serial number. - */ - if (!strcmp("keyring", key_str) && cfg->keyring == 0) { - long keyring; - - keyring_str = json_object_get_string(val_obj); - keyring = nvme_lookup_keyring(keyring_str); - if (keyring) { - cfg->keyring = keyring; - nvme_set_keyring(cfg->keyring); - } + if (!strcmp("keyring", key_str)) + nvme_ctrl_set_keyring(c, + json_object_get_string(val_obj)); + if (!strcmp("tls_key_identity", key_str)) { + nvme_ctrl_set_tls_key_identity(c, + json_object_get_string(val_obj)); + } + if (!strcmp("tls_key", key_str)) { + nvme_ctrl_set_tls_key(c, + json_object_get_string(val_obj)); } - if (!strcmp("tls_key", key_str) && cfg->tls_key == 0) - encoded_key = json_object_get_string(val_obj); } - - /* - * We might need the keyring information from the above loop, - * so we can only import the TLS key once all entries are - * processed. - */ - if (encoded_key) - json_import_nvme_tls_key(c, keyring_str, encoded_key); } static void json_parse_port(nvme_subsystem_t s, struct json_object *port_obj) @@ -181,6 +116,19 @@ static void json_parse_port(nvme_subsystem_t s, struct json_object *port_obj) attr_obj = json_object_object_get(port_obj, "dhchap_ctrl_key"); if (attr_obj) nvme_ctrl_set_dhchap_key(c, json_object_get_string(attr_obj)); + attr_obj = json_object_object_get(port_obj, "keyring"); + if (attr_obj) + nvme_ctrl_set_keyring(c, json_object_get_string(attr_obj)); + attr_obj = json_object_object_get(port_obj, "tls_key_identity"); + if (attr_obj) { + nvme_ctrl_set_tls_key_identity(c, + json_object_get_string(attr_obj)); + } + attr_obj = json_object_object_get(port_obj, "tls_key"); + if (attr_obj) { + nvme_ctrl_set_tls_key(c, + json_object_get_string(attr_obj)); + } } static void json_parse_subsys(nvme_host_t h, struct json_object *subsys_obj) @@ -368,6 +316,19 @@ static void json_update_port(struct json_object *ctrl_array, nvme_ctrl_t c) if (value) json_object_object_add(port_obj, "dhchap_ctrl_key", json_object_new_string(value)); + JSON_BOOL_OPTION(cfg, port_obj, tls); + value = nvme_ctrl_get_keyring(c); + if (value) + json_object_object_add(port_obj, "keyring", + json_object_new_string(value)); + value = nvme_ctrl_get_tls_key_identity(c); + if (value) + json_object_object_add(port_obj, "tls_key_identity", + json_object_new_string(value)); + value = nvme_ctrl_get_tls_key(c); + if (value) + json_object_object_add(port_obj, "tls_key", + json_object_new_string(value)); JSON_INT_OPTION(cfg, port_obj, nr_io_queues, 0); JSON_INT_OPTION(cfg, port_obj, nr_write_queues, 0); JSON_INT_OPTION(cfg, port_obj, nr_poll_queues, 0); @@ -384,7 +345,6 @@ static void json_update_port(struct json_object *ctrl_array, nvme_ctrl_t c) JSON_BOOL_OPTION(cfg, port_obj, disable_sqflow); JSON_BOOL_OPTION(cfg, port_obj, hdr_digest); JSON_BOOL_OPTION(cfg, port_obj, data_digest); - JSON_BOOL_OPTION(cfg, port_obj, tls); JSON_BOOL_OPTION(cfg, port_obj, concat); if (nvme_ctrl_is_persistent(c)) json_object_object_add(port_obj, "persistent", @@ -392,23 +352,6 @@ static void json_update_port(struct json_object *ctrl_array, nvme_ctrl_t c) if (nvme_ctrl_is_discovery_ctrl(c)) json_object_object_add(port_obj, "discovery", json_object_new_boolean(true)); - /* - * Store the keyring description in the JSON config file. - */ - if (cfg->keyring) { - _cleanup_free_ char *desc = - nvme_describe_key_serial(cfg->keyring); - - if (desc) { - json_object_object_add(port_obj, "keyring", - json_object_new_string(desc)); - } - } - /* - * Store the TLS key in PSK interchange format - */ - if (cfg->tls_key) - json_export_nvme_tls_key(cfg->keyring, cfg->tls_key, port_obj); json_object_array_add(ctrl_array, port_obj); } @@ -491,11 +434,14 @@ int json_update_config(nvme_root_t r, const char *config_file) } } if (!config_file) { - ret = json_object_to_fd(1, json_root, JSON_C_TO_STRING_PRETTY); + ret = json_object_to_fd(1, json_root, + JSON_C_TO_STRING_PRETTY | + JSON_C_TO_STRING_NOSLASHESCAPE); printf("\n"); } else ret = json_object_to_file_ext(config_file, json_root, - JSON_C_TO_STRING_PRETTY); + JSON_C_TO_STRING_PRETTY | + JSON_C_TO_STRING_NOSLASHESCAPE); if (ret < 0) { nvme_msg(r, LOG_ERR, "Failed to write to %s, %s\n", config_file ? "stdout" : config_file, @@ -564,9 +510,18 @@ static void json_dump_ctrl(struct json_object *ctrl_array, nvme_ctrl_t c) if (!strcmp(transport, "tcp")) { JSON_BOOL_OPTION(cfg, ctrl_obj, tls); - if (cfg->tls_key) - json_export_nvme_tls_key(cfg->keyring, cfg->tls_key, - ctrl_obj); + value = nvme_ctrl_get_keyring(c); + if (value) + json_object_object_add(ctrl_obj, "keyring", + json_object_new_string(value)); + value = nvme_ctrl_get_tls_key_identity(c); + if (value) + json_object_object_add(ctrl_obj, "tls_key_identity", + json_object_new_string(value)); + value = nvme_ctrl_get_tls_key(c); + if (value) + json_object_object_add(ctrl_obj, "tls_key", + json_object_new_string(value)); } JSON_BOOL_OPTION(cfg, ctrl_obj, concat); if (nvme_ctrl_is_persistent(c)) @@ -640,7 +595,9 @@ int json_dump_tree(nvme_root_t r) } json_object_object_add(json_root, "hosts", host_array); - ret = json_object_to_fd(r->log.fd, json_root, JSON_C_TO_STRING_PRETTY); + ret = json_object_to_fd(r->log.fd, json_root, + JSON_C_TO_STRING_PRETTY | + JSON_C_TO_STRING_NOSLASHESCAPE); if (ret < 0) { nvme_msg(r, LOG_ERR, "Failed to write, %s\n", json_util_get_last_err()); diff --git a/src/nvme/linux.c b/src/nvme/linux.c index aff0544..e74fac2 100644 --- a/src/nvme/linux.c +++ b/src/nvme/linux.c @@ -525,6 +525,11 @@ char *nvme_get_path_attr(nvme_path_t p, const char *attr) } #ifndef CONFIG_OPENSSL +static unsigned char default_hmac(size_t key_len) +{ + return NVME_HMAC_ALG_NONE; +} + int nvme_gen_dhchap_key(char *hostnqn, enum nvme_hmac_alg hmac, unsigned int key_len, unsigned char *secret, unsigned char *key) @@ -552,7 +557,7 @@ static int derive_retained_key(int hmac, const char *hostnqn, } static int derive_psk_digest(const char *hostnqn, const char *subsysnqn, - int version, int hmac, + int version, int cipher, unsigned char *retained, size_t key_len, char *digest, size_t digest_len) { @@ -562,7 +567,7 @@ static int derive_psk_digest(const char *hostnqn, const char *subsysnqn, return -1; } -static int derive_tls_key(int version, int hmac, const char *context, +static int derive_tls_key(int version, int cipher, const char *context, unsigned char *retained, unsigned char *psk, size_t key_len) { @@ -572,20 +577,41 @@ static int derive_tls_key(int version, int hmac, const char *context, return -1; } #else /* CONFIG_OPENSSL */ -static const EVP_MD *select_hmac(int hmac, size_t *key_len) +static unsigned char default_hmac(size_t key_len) +{ + unsigned char hmac = NVME_HMAC_ALG_NONE; + + switch (key_len) { + case 32: + hmac = NVME_HMAC_ALG_SHA2_256; + break; + case 48: + hmac = NVME_HMAC_ALG_SHA2_384; + break; + case 64: + hmac = NVME_HMAC_ALG_SHA2_512; + break; + default: + break; + } + return hmac; +} + +static const EVP_MD *select_hmac(int hmac, size_t *hmac_len) { const EVP_MD *md = NULL; switch (hmac) { case NVME_HMAC_ALG_SHA2_256: md = EVP_sha256(); - *key_len = 32; + *hmac_len = 32; break; case NVME_HMAC_ALG_SHA2_384: md = EVP_sha384(); - *key_len = 48; + *hmac_len = 48; break; default: + *hmac_len = 0; break; } return md; @@ -595,18 +621,51 @@ static DEFINE_CLEANUP_FUNC( cleanup_evp_pkey_ctx, EVP_PKEY_CTX *, EVP_PKEY_CTX_free) #define _cleanup_evp_pkey_ctx_ __cleanup__(cleanup_evp_pkey_ctx) +/* + * derive_retained_key() + * + * Derive a retained key according to NVMe TCP Transport specification: + * + * The retained PSK is derived from the configured PSK. The configured PSK + * shall be destroyed as soon as the retained PSK is generated and stored. + * Each NVMe/TCP entity shall support: + * 1) transforming the configured PSK into a retained PSK before it is stored + * by the NVMe/TCP entity for repeated use with another NVMe/TCP entity; and + * 2) using the configured PSK as a retained PSK. + * + * The method to derive a retained PSK from a configured PSK shall be using + * the HKDF-Extract and HKDF-Expand-Label operations (refer to RFC 5869 and + * RFC 8446): + * 1. PRK = HKDF-Extract(0, Configured PSK); and + * 2. Retained PSK = HKDF-Expand-Label(PRK, “HostNQN”, NQNh, + * Length(Configured PSK)), + * where NQNh is the NQN of the host. + * + * 'hmac' indicates the hash function to be used to transform the configured + * PSK in a retained PSK, encoded as follows: + * + * - 0 indicates no transform (i.e., the configured PSK is used as a + * retained PSK) + * - 1 indicates SHA-256 + * - 2 indicates SHA-384 + */ static int derive_retained_key(int hmac, const char *hostnqn, - unsigned char *generated, + unsigned char *configured, unsigned char *retained, size_t key_len) { - const EVP_MD *md; _cleanup_evp_pkey_ctx_ EVP_PKEY_CTX *ctx = NULL; uint16_t length = key_len & 0xFFFF; + const EVP_MD *md; size_t hmac_len; + if (hmac == NVME_HMAC_ALG_NONE) { + memcpy(retained, configured, key_len); + return key_len; + } + md = select_hmac(hmac, &hmac_len); - if (!md || hmac_len > key_len) { + if (!md || !hmac_len) { errno = EINVAL; return -1; } @@ -625,7 +684,7 @@ static int derive_retained_key(int hmac, const char *hostnqn, errno = ENOKEY; return -1; } - if (EVP_PKEY_CTX_set1_hkdf_key(ctx, generated, key_len) <= 0) { + if (EVP_PKEY_CTX_set1_hkdf_key(ctx, configured, key_len) <= 0) { errno = ENOKEY; return -1; } @@ -658,17 +717,39 @@ static int derive_retained_key(int hmac, const char *hostnqn, return key_len; } -static int derive_tls_key(int version, int hmac, const char *context, - unsigned char *retained, +/* + * derive_tls_key() + * + * Derive a TLS PSK from a retained PSK. + * + * The TLS PSK shall be derived as follows from an input PSK (i.e., either + * a retained PSK or a generated PSK) and a PSK identity using the HKDF-Extract + * and HKDF-Expand-Label operations (refer to RFC 5869 and RFC 8446) where the + * hash function is the one specified by the hash specifier of the PSK identity: + * 1. PRK = HKDF-Extract(0, Input PSK); and + * 2. TLS PSK = HKDF-Expand-Label(PRK, “nvme-tls-psk”, PskIdentity, L), + * where PskIdentity is the PSK identity and L is the output size in bytes of + * the hash function (i.e., 32 for SHA-256 and 48 for SHA-384). + * + * Note that this is _not_ the hash value as specified by the configured key, + * but rather the hash function of the cipher suite associated with the + * PSK: + * - 1 indicates SHA-245 (for the TLS_AES_128_GCM_SHA256 cipher suite) + * - 2 indicates SHA-384 (for the TLS_AES_256_GCM_SHA384 cipher suite) + * + * and the value '0' is invalid here. + */ +static int derive_tls_key(int version, unsigned char cipher, + const char *context, unsigned char *retained, unsigned char *psk, size_t key_len) { - const EVP_MD *md; _cleanup_evp_pkey_ctx_ EVP_PKEY_CTX *ctx = NULL; - size_t hmac_len; uint16_t length = key_len & 0xFFFF; + const EVP_MD *md; + size_t hmac_len; - md = select_hmac(hmac, &hmac_len); - if (!md || hmac_len > key_len) { + md = select_hmac(cipher, &hmac_len); + if (!md || !hmac_len) { errno = EINVAL; return -1; } @@ -707,9 +788,9 @@ static int derive_tls_key(int version, int hmac, const char *context, return -1; } if (version == 1) { - char hash_str[4]; + char hash_str[5]; - sprintf(hash_str, "%02d ", hmac); + sprintf(hash_str, "%02d ", cipher); if (EVP_PKEY_CTX_add1_hkdf_info(ctx, (const unsigned char *)hash_str, strlen(hash_str)) <= 0) { @@ -805,10 +886,10 @@ static int derive_psk_digest(const char *hostnqn, const char *subsysnqn, char *digest, size_t digest_len) { static const char hmac_seed[] = "NVMe-over-Fabrics"; - size_t hmac_len; const EVP_MD *md = select_hmac(hmac, &hmac_len); _cleanup_hmac_ctx_ HMAC_CTX *hmac_ctx = NULL; _cleanup_free_ unsigned char *psk_ctx = NULL; + size_t hmac_len; size_t len; hmac_ctx = HMAC_CTX_new(); @@ -816,7 +897,8 @@ static int derive_psk_digest(const char *hostnqn, const char *subsysnqn, errno = ENOMEM; return -1; } - if (!md) { + md = select_hmac(cipher, &hmac_len); + if (!md || !hmac_len) { errno = EINVAL; return -1; } @@ -886,10 +968,10 @@ int nvme_gen_dhchap_key(char *hostnqn, enum nvme_hmac_alg hmac, unsigned char *key) { const char hmac_seed[] = "NVMe-over-Fabrics"; - OSSL_PARAM params[2], *p = params; _cleanup_ossl_lib_ctx_ OSSL_LIB_CTX *lib_ctx = NULL; _cleanup_evp_mac_ctx_ EVP_MAC_CTX *mac_ctx = NULL; _cleanup_evp_mac_ EVP_MAC *mac = NULL; + OSSL_PARAM params[2], *p = params; char *progq = NULL; char *digest; size_t len; @@ -965,19 +1047,19 @@ int nvme_gen_dhchap_key(char *hostnqn, enum nvme_hmac_alg hmac, } static int derive_psk_digest(const char *hostnqn, const char *subsysnqn, - int version, int hmac, + int version, int cipher, unsigned char *retained, size_t key_len, char *digest, size_t digest_len) { static const char hmac_seed[] = "NVMe-over-Fabrics"; - size_t hmac_len; - OSSL_PARAM params[2], *p = params; _cleanup_ossl_lib_ctx_ OSSL_LIB_CTX *lib_ctx = NULL; _cleanup_evp_mac_ctx_ EVP_MAC_CTX *mac_ctx = NULL; + _cleanup_free_ unsigned char *psk_ctx = NULL; _cleanup_evp_mac_ EVP_MAC *mac = NULL; + OSSL_PARAM params[2], *p = params; + size_t hmac_len; char *progq = NULL; char *dig = NULL; - _cleanup_free_ unsigned char *psk_ctx = NULL; size_t len; lib_ctx = OSSL_LIB_CTX_new(); @@ -996,7 +1078,7 @@ static int derive_psk_digest(const char *hostnqn, const char *subsysnqn, errno = ENOMEM; return -1; } - switch (hmac) { + switch (cipher) { case NVME_HMAC_ALG_SHA2_256: dig = OSSL_DIGEST_NAME_SHA2_256; break; @@ -1069,12 +1151,12 @@ static int derive_psk_digest(const char *hostnqn, const char *subsysnqn, #endif /* !CONFIG_OPENSSL_3 */ static int gen_tls_identity(const char *hostnqn, const char *subsysnqn, - int version, int hmac, char *digest, + int version, int cipher, char *digest, char *identity) { if (version == 0) { sprintf(identity, "NVMe%01dR%02d %s %s", - version, hmac, hostnqn, subsysnqn); + version, cipher, hostnqn, subsysnqn); return strlen(identity); } if (version > 1) { @@ -1083,7 +1165,7 @@ static int gen_tls_identity(const char *hostnqn, const char *subsysnqn, } sprintf(identity, "NVMe%01dR%02d %s %s %s", - version, hmac, hostnqn, subsysnqn, digest); + version, cipher, hostnqn, subsysnqn, digest); return strlen(identity); } @@ -1095,6 +1177,7 @@ static int derive_nvme_keys(const char *hostnqn, const char *subsysnqn, _cleanup_free_ unsigned char *retained = NULL; _cleanup_free_ char *digest = NULL; char *context = identity; + unsigned char cipher; int ret = -1; if (!hostnqn || !subsysnqn || !identity || !psk) { @@ -1111,6 +1194,11 @@ static int derive_nvme_keys(const char *hostnqn, const char *subsysnqn, if (ret < 0) return ret; + if (hmac == NVME_HMAC_ALG_NONE) + cipher = default_hmac(key_len); + else + cipher = hmac; + if (version == 1) { size_t digest_len = 2 * key_len; @@ -1119,25 +1207,25 @@ static int derive_nvme_keys(const char *hostnqn, const char *subsysnqn, errno = ENOMEM; return -1; } - ret = derive_psk_digest(hostnqn, subsysnqn, version, hmac, + ret = derive_psk_digest(hostnqn, subsysnqn, version, cipher, retained, key_len, digest, digest_len); - if (ret) + if (ret < 0) return ret; context = digest; } - ret = gen_tls_identity(hostnqn, subsysnqn, version, hmac, + ret = gen_tls_identity(hostnqn, subsysnqn, version, cipher, digest, identity); if (ret < 0) return ret; - return derive_tls_key(version, hmac, context, retained, + return derive_tls_key(version, cipher, context, retained, psk, key_len); } -static size_t nvme_identity_len(int hmac, int version, const char *hostnqn, - const char *subsysnqn) +static ssize_t nvme_identity_len(int hmac, int version, const char *hostnqn, + const char *subsysnqn) { - size_t len; + ssize_t len; if (!hostnqn || !subsysnqn) { errno = EINVAL; @@ -1160,9 +1248,9 @@ char *nvme_generate_tls_key_identity(const char *hostnqn, const char *subsysnqn, int version, int hmac, unsigned char *configured_key, int key_len) { - char *identity; - size_t identity_len; _cleanup_free_ unsigned char *psk = NULL; + char *identity; + ssize_t identity_len; int ret = -1; identity_len = nvme_identity_len(hmac, version, hostnqn, subsysnqn); @@ -1203,11 +1291,21 @@ long nvme_lookup_keyring(const char *keyring) char *nvme_describe_key_serial(long key_id) { - char *desc; + _cleanup_free_ char *str = NULL; + char *last; + + if (keyctl_describe_alloc(key_id, &str) < 0) + return NULL; + + last = strrchr(str, ';'); + if (!last) + return NULL; - if (keyctl_describe_alloc(key_id, &desc) < 0) - desc = NULL; - return desc; + last++; + if (strlen(last) == 0) + return NULL; + + return strdup(last); } long nvme_lookup_key(const char *type, const char *identity) @@ -1337,27 +1435,17 @@ int nvme_scan_tls_keys(const char *keyring, nvme_scan_tls_keys_cb_t cb, return ret; } -long nvme_insert_tls_key_versioned(const char *keyring, const char *key_type, - const char *hostnqn, const char *subsysnqn, - int version, int hmac, - unsigned char *configured_key, int key_len) +static long __nvme_insert_tls_key_versioned(key_serial_t keyring_id, const char *key_type, + const char *hostnqn, const char *subsysnqn, + int version, int hmac, + unsigned char *configured_key, int key_len) { - key_serial_t keyring_id, key; - _cleanup_free_ char *identity = NULL; - size_t identity_len; _cleanup_free_ unsigned char *psk = NULL; + _cleanup_free_ char *identity = NULL; + ssize_t identity_len; + key_serial_t key; int ret; - keyring_id = nvme_lookup_keyring(keyring); - if (keyring_id == 0) { - errno = ENOKEY; - return 0; - } - - ret = nvme_set_keyring(keyring_id); - if (ret < 0) - return 0; - identity_len = nvme_identity_len(hmac, version, hostnqn, subsysnqn); if (identity_len < 0) return 0; @@ -1387,6 +1475,29 @@ long nvme_insert_tls_key_versioned(const char *keyring, const char *key_type, return key; } +long nvme_insert_tls_key_versioned(const char *keyring, const char *key_type, + const char *hostnqn, const char *subsysnqn, + int version, int hmac, + unsigned char *configured_key, int key_len) +{ + key_serial_t keyring_id; + int ret; + + keyring_id = nvme_lookup_keyring(keyring); + if (keyring_id == 0) { + errno = ENOKEY; + return 0; + } + + ret = nvme_set_keyring(keyring_id); + if (ret < 0) + return 0; + return __nvme_insert_tls_key_versioned(keyring_id, key_type, + hostnqn, subsysnqn, + version, hmac, + configured_key, key_len); +} + long nvme_revoke_tls_key(const char *keyring, const char *key_type, const char *identity) { @@ -1405,6 +1516,94 @@ long nvme_revoke_tls_key(const char *keyring, const char *key_type, return keyctl_revoke(key); } + +static int __nvme_insert_tls_key(long keyring_id, + const char *hostnqn, const char *subsysnqn, + const char *identity, const char *key) +{ + _cleanup_free_ unsigned char *key_data = NULL; + unsigned char version; + unsigned char hmac; + size_t key_len; + + key_data = nvme_import_tls_key_versioned(key, &version, + &hmac, &key_len); + if (!key_data) + return -EINVAL; + + if (hmac == NVME_HMAC_ALG_NONE || !identity) { + /* + * This is a configured key (hmac 0) or we don't know the + * identity and so the assumtion is it is also a + * configured key. Derive a new key and load the newly + * created key into the keystore. + */ + return __nvme_insert_tls_key_versioned(keyring_id, "psk", + hostnqn, subsysnqn, + version, hmac, + key_data, key_len); + } + + return nvme_update_key(keyring_id, "psk", identity, + key_data, key_len); +} + +int __nvme_import_keys_from_config(nvme_host_t h, nvme_ctrl_t c, + long *keyring_id, long *key_id) +{ + const char *hostnqn = nvme_host_get_hostnqn(h); + const char *subsysnqn = nvme_ctrl_get_subsysnqn(c); + const char *keyring, *key, *identity; + long kr_id, id = 0; + + if (!hostnqn || !subsysnqn) { + nvme_msg(h->r, LOG_ERR, "Invalid NQNs (%s, %s)\n", + hostnqn, subsysnqn); + return -EINVAL; + } + + keyring = nvme_ctrl_get_keyring(c); + if (keyring) + kr_id = nvme_lookup_keyring(keyring); + else + kr_id = c->cfg.keyring; + + /* + * Fallback to the default keyring. Note this will also add the + * keyring to connect command line and to the JSON config output. + * That means we are explicitly selecting the keyring. + */ + if (!kr_id) + kr_id = nvme_lookup_keyring(".nvme"); + + if (nvme_set_keyring(kr_id) < 0) { + nvme_msg(h->r, LOG_ERR, "Failed to set keyring\n"); + return -errno; + } + + key = nvme_ctrl_get_tls_key(c); + if (!key) + return 0; + + identity = nvme_ctrl_get_tls_key_identity(c); + if (identity) + id = nvme_lookup_key("psk", identity); + + if (!id) + id = __nvme_insert_tls_key(kr_id, hostnqn, + subsysnqn, identity, key); + + if (id <= 0) { + nvme_msg(h->r, LOG_ERR, "Failed to insert TLS KEY, error %d\n", + errno); + return -errno; + } + + *keyring_id = kr_id; + *key_id = id; + + return 0; +} #else long nvme_lookup_keyring(const char *keyring) { @@ -1478,6 +1677,12 @@ long nvme_revoke_tls_key(const char *keyring, const char *key_type, errno = ENOTSUP; return -1; } + +int __nvme_import_keys_from_config(nvme_host_t h, nvme_ctrl_t c, + long *keyring_id, long *key_id) +{ + return -ENOTSUP; +} #endif long nvme_insert_tls_key(const char *keyring, const char *key_type, @@ -1489,21 +1694,44 @@ long nvme_insert_tls_key(const char *keyring, const char *key_type, configured_key, key_len); } -char *nvme_export_tls_key(const unsigned char *key_data, int key_len) +/* + * PSK Interchange Format + * NVMeTLSkey-<v>:<xx>:<s>: + * + * x: version as one ASCII char + * yy: hmac encoded as two ASCII chars + * 00: no transform ('configured PSK') + * 01: SHA-256 + * 02: SHA-384 + * s: 32 or 48 bytes binary followed by a CRC-32 of the configured PSK + * (4 bytes) encoded as base64 + */ +char *nvme_export_tls_key_versioned(unsigned char version, unsigned char hmac, + const unsigned char *key_data, + size_t key_len) { - unsigned char raw_secret[52]; - char *encoded_key; unsigned int raw_len, encoded_len, len; unsigned long crc = crc32(0L, NULL, 0); + unsigned char raw_secret[52]; + char *encoded_key; - if (key_len == 32) { - raw_len = 32; - } else if (key_len == 48) { - raw_len = 48; - } else { - errno = EINVAL; - return NULL; + switch (hmac) { + case NVME_HMAC_ALG_NONE: + if (key_len != 32 && key_len != 48) + goto err_inval; + break; + case NVME_HMAC_ALG_SHA2_256: + if (key_len != 32) + goto err_inval; + break; + case NVME_HMAC_ALG_SHA2_384: + if (key_len != 48) + goto err_inval; + break; + default: + goto err_inval; } + raw_len = key_len; memcpy(raw_secret, key_data, raw_len); crc = crc32(crc, raw_secret, raw_len); @@ -1519,48 +1747,75 @@ char *nvme_export_tls_key(const unsigned char *key_data, int key_len) return NULL; } memset(encoded_key, 0, encoded_len); - len = sprintf(encoded_key, "NVMeTLSkey-1:%02x:", - key_len == 32 ? 1 : 2); + len = sprintf(encoded_key, "NVMeTLSkey-%x:%02x:", version, hmac); len += base64_encode(raw_secret, raw_len, encoded_key + len); encoded_key[len++] = ':'; encoded_key[len++] = '\0'; return encoded_key; + +err_inval: + errno = EINVAL; + return NULL; + } -unsigned char *nvme_import_tls_key(const char *encoded_key, int *key_len, - unsigned int *hmac) +char *nvme_export_tls_key(const unsigned char *key_data, int key_len) +{ + unsigned char hmac; + + if (key_len == 32) + hmac = NVME_HMAC_ALG_SHA2_256; + else + hmac = NVME_HMAC_ALG_SHA2_384; + + return nvme_export_tls_key_versioned(1, hmac, key_data, key_len); +} + +unsigned char *nvme_import_tls_key_versioned(const char *encoded_key, + unsigned char *version, + unsigned char *hmac, + size_t *key_len) { unsigned char decoded_key[128], *key_data; unsigned int crc = crc32(0L, NULL, 0); unsigned int key_crc; - int err, decoded_len; + int err, _version, _hmac, decoded_len; + size_t len; - if (sscanf(encoded_key, "NVMeTLSkey-1:%02x:*s", &err) != 1) { + if (sscanf(encoded_key, "NVMeTLSkey-%d:%02x:*s", + &_version, &_hmac) != 2) { errno = EINVAL; return NULL; } - switch (err) { - case 1: - if (strlen(encoded_key) != 65) { - errno = EINVAL; - return NULL; - } + + if (_version != 1) { + errno = EINVAL; + return NULL; + } + *version = _version; + + len = strlen(encoded_key); + switch (_hmac) { + case NVME_HMAC_ALG_NONE: + if (len != 65 && len != 89) + goto err_inval; break; - case 2: - if (strlen(encoded_key) != 89) { - errno = EINVAL; - return NULL; - } + case NVME_HMAC_ALG_SHA2_256: + if (len != 65) + goto err_inval; + break; + case NVME_HMAC_ALG_SHA2_384: + if (len != 89) + goto err_inval; break; default: errno = EINVAL; return NULL; } + *hmac = _hmac; - *hmac = err; - err = base64_decode(encoded_key + 16, strlen(encoded_key) - 17, - decoded_key); + err = base64_decode(encoded_key + 16, len - 17, decoded_key); if (err < 0) { errno = ENOKEY; return NULL; @@ -1592,4 +1847,25 @@ unsigned char *nvme_import_tls_key(const char *encoded_key, int *key_len, *key_len = decoded_len; return key_data; + +err_inval: + errno = EINVAL; + return NULL; +} + +unsigned char *nvme_import_tls_key(const char *encoded_key, int *key_len, + unsigned int *hmac) +{ + unsigned char version, _hmac; + unsigned char *psk; + size_t len; + + psk = nvme_import_tls_key_versioned(encoded_key, &version, + &_hmac, &len); + if (!psk) + return NULL; + + *hmac = _hmac; + *key_len = len; + return psk; } diff --git a/src/nvme/linux.h b/src/nvme/linux.h index 8e5e8ad..5dbc092 100644 --- a/src/nvme/linux.h +++ b/src/nvme/linux.h @@ -437,6 +437,25 @@ long nvme_revoke_tls_key(const char *keyring, const char *key_type, char *nvme_export_tls_key(const unsigned char *key_data, int key_len); /** + * nvme_export_tls_key_versioned() - Export a TLS pre-shared key + * @version: Indicated the representation of the TLS PSK + * @hmac: HMAC algorithm used to transfor the configured PSK + * in a retained PSK + * @key_data: Raw data of the key + * @key_len: Length of @key_data + * + * Returns @key_data in the PSK Interchange format as defined in section + * 3.6.1.5 of the NVMe TCP Transport specification. + * + * Return: The string containing the TLS identity or NULL with errno set + * on error. It is the responsibility of the caller to free the returned + * string. + */ +char *nvme_export_tls_key_versioned(unsigned char version, unsigned char hmac, + const unsigned char *key_data, + size_t key_len); + +/** * nvme_import_tls_key() - Import a TLS key * @encoded_key: TLS key in PSK interchange format * @key_len: Length of the resulting key data @@ -452,6 +471,24 @@ unsigned char *nvme_import_tls_key(const char *encoded_key, int *key_len, unsigned int *hmac); /** + * nvme_import_tls_key_versioned() - Import a TLS key + * @encoded_key: TLS key in PSK interchange format + * @version: Indicated the representation of the TLS PSK + * @hmac: HMAC algorithm used to transfor the configured + * PSK in a retained PSK + * @key_len: Length of the resulting key data + * + * Imports @key_data in the PSK Interchange format as defined in section + * 3.6.1.5 of the NVMe TCP Transport specification. + * + * Return: The raw data of the PSK or NULL with errno set on error. It is + * the responsibility of the caller to free the returned string. + */ +unsigned char *nvme_import_tls_key_versioned(const char *encoded_key, + unsigned char *version, + unsigned char *hmac, + size_t *key_len); +/** * nvme_submit_passthru - Low level ioctl wrapper for passthru commands * @fd: File descriptor of the nvme device * @ioctl_cmd: IOCTL command id diff --git a/src/nvme/mi.c b/src/nvme/mi.c index d98c74a..e9f39a8 100644 --- a/src/nvme/mi.c +++ b/src/nvme/mi.c @@ -529,6 +529,31 @@ static void nvme_mi_admin_init_resp(struct nvme_mi_resp *resp, resp->hdr_len = sizeof(*hdr); } +static void nvme_mi_control_init_req(struct nvme_mi_req *req, + struct nvme_mi_control_req *control_req, + __u8 opcode, __u16 cpsp) +{ + memset(req, 0, sizeof(*req)); + memset(control_req, 0, sizeof(*control_req)); + + control_req->hdr.type = NVME_MI_MSGTYPE_NVME; + control_req->hdr.nmp = (NVME_MI_ROR_REQ << 7) | + (NVME_MI_MT_CONTROL << 3); /* we always use command slot 0 */ + control_req->opcode = opcode; + control_req->cpsp = cpu_to_le16(cpsp); + + req->hdr = &control_req->hdr; + req->hdr_len = sizeof(*control_req); +} + +static void nvme_mi_control_init_resp(struct nvme_mi_resp *resp, + struct nvme_mi_control_resp *control_resp) +{ + memset(resp, 0, sizeof(*resp)); + resp->hdr = &control_resp->hdr; + resp->hdr_len = sizeof(*control_resp); +} + static int nvme_mi_admin_parse_status(struct nvme_mi_resp *resp, __u32 *result) { struct nvme_mi_admin_resp_hdr *admin_hdr; @@ -580,6 +605,26 @@ static int nvme_mi_admin_parse_status(struct nvme_mi_resp *resp, __u32 *result) return nvme_status; } +static int nvme_mi_control_parse_status(struct nvme_mi_resp *resp, __u16 *cpsr) +{ + struct nvme_mi_control_resp *control_resp; + + if (resp->hdr_len < sizeof(*control_resp)) { + errno = -EPROTO; + return -1; + } + control_resp = (struct nvme_mi_control_resp *)resp->hdr; + + if (control_resp->status) + return control_resp->status | + (NVME_STATUS_TYPE_MI << NVME_STATUS_TYPE_SHIFT); + + if (cpsr) + *cpsr = le16_to_cpu(control_resp->cpsr); + + return control_resp->status; +} + int nvme_mi_admin_xfer(nvme_mi_ctrl_t ctrl, struct nvme_mi_admin_req_hdr *admin_req, size_t req_data_size, @@ -589,6 +634,7 @@ int nvme_mi_admin_xfer(nvme_mi_ctrl_t ctrl, { struct nvme_mi_resp resp; struct nvme_mi_req req; + __u32 dlen, doff; int rc; /* length/offset checks. The common _submit() API will do further @@ -647,8 +693,17 @@ int nvme_mi_admin_xfer(nvme_mi_ctrl_t ctrl, /* limit the response size, specify offset */ admin_req->flags = 0x3; - admin_req->dlen = cpu_to_le32(resp.data_len & 0xffffffff); - admin_req->doff = cpu_to_le32(resp_data_offset & 0xffffffff); + + /* dlen and doff have different interpretations depending on the data direction */ + if (req_data_size) { + dlen = req_data_size & 0xffffffff; + doff = 0; + } else { + dlen = *resp_data_size & 0xffffffff; + doff = resp_data_offset & 0xffffffff; + } + admin_req->dlen = cpu_to_le32(dlen); + admin_req->doff = cpu_to_le32(doff); rc = nvme_mi_submit(ctrl->ep, &req, &resp); if (rc) @@ -812,6 +867,29 @@ int nvme_mi_admin_identify_partial(nvme_mi_ctrl_t ctrl, return 0; } +int nvme_mi_control(nvme_mi_ep_t ep, __u8 opcode, + __u16 cpsp, __u16 *result_cpsr) +{ + struct nvme_mi_control_resp control_resp; + struct nvme_mi_control_req control_req; + struct nvme_mi_resp resp; + struct nvme_mi_req req; + int rc = 0; + + nvme_mi_control_init_req(&req, &control_req, opcode, cpsp); + nvme_mi_control_init_resp(&resp, &control_resp); + + rc = nvme_mi_submit(ep, &req, &resp); + if (rc) + return rc; + + rc = nvme_mi_control_parse_status(&resp, result_cpsr); + if (rc) + return rc; + + return 0; +} + /* retrieves a MCTP-messsage-sized chunk of log page data. offset and len are * specified within the args->data area. The `offset` parameter is a relative * offset to the args->lpo ! diff --git a/src/nvme/mi.h b/src/nvme/mi.h index ae32a90..3ea2b22 100644 --- a/src/nvme/mi.h +++ b/src/nvme/mi.h @@ -368,6 +368,52 @@ struct nvme_mi_admin_resp_hdr { } __attribute__((packed)); /** + * enum nvme_mi_control_opcode - Operation code for Control Primitives. + * @nvme_mi_control_opcode_pause: Suspend response transmission/timeout + * @nvme_mi_control_opcode_resume: Resume from a paused condition + * @nvme_mi_control_opcode_abort: Re-initialize a Command Slot to the Idle state + * @nvme_mi_control_opcode_get_state: Get the state of a Command Slot + * @nvme_mi_control_opcode_replay: Retransmit the Response Message + */ +enum nvme_mi_control_opcode { + nvme_mi_control_opcode_pause = 0x00, + nvme_mi_control_opcode_resume = 0x01, + nvme_mi_control_opcode_abort = 0x02, + nvme_mi_control_opcode_get_state = 0x03, + nvme_mi_control_opcode_replay = 0x04, +}; + +/** + * struct nvme_mi_control_req - The Control Primitive request. + * @hdr: Generic MI message header + * @opcode: Control Primitive Opcodes (using &enum nvme_mi_control_opcode) + * @tag: flag - Opaque value passed from request to response + * @cpsp: Control Primitive Specific Parameter + * + */ +struct nvme_mi_control_req { + struct nvme_mi_msg_hdr hdr; + __u8 opcode; + __u8 tag; + __le16 cpsp; +} __attribute((packed)); + +/** struct nvme_mi_control_resp - The Control Primitive response. + * @hdr: Generic MI message header + * @status: Generic response code, non-zero on failure + * @tag: flag - Opaque value passed from request to response + * @cpsr: Control Primitive Specific Response + * + */ + +struct nvme_mi_control_resp { + struct nvme_mi_msg_hdr hdr; + __u8 status; + __u8 tag; + __le16 cpsr; +} __attribute((packed)); + +/** * nvme_mi_status_to_string() - return a string representation of the MI * status. * @status: MI response status @@ -1076,6 +1122,24 @@ static inline int nvme_mi_admin_identify(nvme_mi_ctrl_t ctrl, } /** + * nvme_mi_control() - Perform a Control Primitive command + * @ep: endpoint for MI communication + * @opcode: Control Primitive opcode (using &enum nvme_mi_control_opcode) + * @cpsp: Control Primitive Specific Parameter + * @result_cpsr: Optional field to return the result from the CPSR field + * + * Perform a Control Primitive command, using the opcode specified in @opcode + * Stores the result from the CPSR field in @result_cpsr if set. + * + * Return: 0 on success, non-zero on failure + * + * See: &enum nvme_mi_control_opcode + * + */ +int nvme_mi_control(nvme_mi_ep_t ep, __u8 opcode, + __u16 cpsp, __u16 *result_cpsr); + +/** * nvme_mi_admin_identify_cns_nsid() - Perform an Admin identify command using * specific CNS/NSID parameters. * @ctrl: Controller to process identify command @@ -2369,6 +2433,36 @@ static inline int nvme_mi_admin_get_log_persistent_event(nvme_mi_ctrl_t ctrl, } /** + * nvme_mi_admin_get_log_lockdown() - Retrieve lockdown Log + * @ctrl: Controller to query + * @cnscp: Contents and Scope of Command and Feature Identifier Lists + * @lockdown_log: Buffer to store the lockdown log + * + * Return: The nvme command status if a response was received (see + * &enum nvme_status_field) or -1 with errno set otherwise. + */ +static inline int nvme_mi_admin_get_log_lockdown(nvme_mi_ctrl_t ctrl, + __u8 cnscp, struct nvme_lockdown_log *lockdown_log) +{ + struct nvme_get_log_args args = { + .lpo = 0, + .result = NULL, + .log = lockdown_log, + .args_size = sizeof(args), + .lid = NVME_LOG_LID_CMD_AND_FEAT_LOCKDOWN, + .len = sizeof(*lockdown_log), + .nsid = NVME_NSID_ALL, + .csi = NVME_CSI_NVM, + .lsi = NVME_LOG_LSI_NONE, + .lsp = cnscp, + .uuidx = NVME_UUID_NONE, + .rae = false, + .ot = false, + }; + return nvme_mi_admin_get_log(ctrl, &args); +} + +/** * nvme_mi_admin_security_send() - Perform a Security Send command on a * controller. * @ctrl: Controller to send command to diff --git a/src/nvme/private.h b/src/nvme/private.h index 3fa5aca..48ddedc 100644 --- a/src/nvme/private.h +++ b/src/nvme/private.h @@ -85,6 +85,9 @@ struct nvme_ctrl { char *trsvcid; char *dhchap_key; char *dhchap_ctrl_key; + char *keyring; + char *tls_key_identity; + char *tls_key; char *cntrltype; char *cntlid; char *dctype; @@ -297,4 +300,7 @@ void __nvme_mi_mctp_set_ops(const struct __mi_mctp_socket_ops *newops); #define SECTOR_SIZE 512 #define SECTOR_SHIFT 9 +int __nvme_import_keys_from_config(nvme_host_t h, nvme_ctrl_t c, + long *keyring_id, long *key_id); + #endif /* _LIBNVME_PRIVATE_H */ diff --git a/src/nvme/tree.c b/src/nvme/tree.c index 3722461..7fc2013 100644 --- a/src/nvme/tree.c +++ b/src/nvme/tree.c @@ -1151,6 +1151,51 @@ void nvme_ctrl_set_dhchap_key(nvme_ctrl_t c, const char *key) c->dhchap_ctrl_key = strdup(key); } +const char *nvme_ctrl_get_keyring(nvme_ctrl_t c) +{ + return c->keyring; +} + +void nvme_ctrl_set_keyring(nvme_ctrl_t c, const char *keyring) +{ + if (c->keyring) { + free(c->keyring); + c->keyring = NULL; + } + if (keyring) + c->keyring = strdup(keyring); +} + +const char *nvme_ctrl_get_tls_key_identity(nvme_ctrl_t c) +{ + return c->tls_key_identity; +} + +void nvme_ctrl_set_tls_key_identity(nvme_ctrl_t c, const char *identity) +{ + if (c->tls_key_identity) { + free(c->tls_key_identity); + c->tls_key_identity = NULL; + } + if (identity) + c->tls_key_identity = strdup(identity); +} + +const char *nvme_ctrl_get_tls_key(nvme_ctrl_t c) +{ + return c->tls_key; +} + +void nvme_ctrl_set_tls_key(nvme_ctrl_t c, const char *key) +{ + if (c->tls_key) { + free(c->tls_key); + c->tls_key = NULL; + } + if (key) + c->tls_key = strdup(key); +} + void nvme_ctrl_set_discovered(nvme_ctrl_t c, bool discovered) { c->discovered = discovered; @@ -1232,6 +1277,9 @@ void nvme_deconfigure_ctrl(nvme_ctrl_t c) FREE_CTRL_ATTR(c->sqsize); FREE_CTRL_ATTR(c->dhchap_key); FREE_CTRL_ATTR(c->dhchap_ctrl_key); + FREE_CTRL_ATTR(c->keyring); + FREE_CTRL_ATTR(c->tls_key_identity); + FREE_CTRL_ATTR(c->tls_key); FREE_CTRL_ATTR(c->address); FREE_CTRL_ATTR(c->dctype); FREE_CTRL_ATTR(c->cntrltype); @@ -1883,11 +1931,73 @@ static char *nvme_ctrl_lookup_phy_slot(nvme_root_t r, const char *address) return NULL; } +static void nvme_read_sysfs_dhchap(nvme_root_t r, nvme_ctrl_t c) +{ + char *host_key, *ctrl_key; + + host_key = nvme_get_ctrl_attr(c, "dhchap_secret"); + if (host_key && c->s && c->s->h && c->s->h->dhchap_key && + (!strcmp(c->s->h->dhchap_key, host_key) || + !strcmp("none", host_key))) { + free(host_key); + host_key = NULL; + } + if (host_key) { + nvme_ctrl_set_dhchap_host_key(c, NULL); + c->dhchap_key = host_key; + } + + ctrl_key = nvme_get_ctrl_attr(c, "dhchap_ctrl_secret"); + if (ctrl_key && !strcmp(ctrl_key, "none")) { + free(ctrl_key); + ctrl_key = NULL; + } + if (ctrl_key) { + nvme_ctrl_set_dhchap_key(c, NULL); + c->dhchap_ctrl_key = ctrl_key; + } +} + +static void nvme_read_sysfs_tls(nvme_root_t r, nvme_ctrl_t c) +{ + char *endptr; + long key_id; + char *key, *keyring; + + key = nvme_get_ctrl_attr(c, "tls_key"); + if (!key) { + /* tls_key is only present if --tls has been used. */ + return; + } + c->cfg.tls = true; + + keyring = nvme_get_ctrl_attr(c, "tls_keyring"); + nvme_ctrl_set_keyring(c, keyring); + free(keyring); + + /* the sysfs entry is not prefixing the id but it's in hex */ + key_id = strtol(key, &endptr, 16); + if (endptr != key) + c->cfg.tls_key = key_id; + + free(key); + + key = nvme_get_ctrl_attr(c, "tls_configured_key"); + if (!key) + return; + + /* the sysfs entry is not prefixing the id but it's in hex */ + key_id = strtol(key, &endptr, 16); + if (endptr != key) + c->cfg.tls_configured_key = key_id; + + free(key); +} + static int nvme_configure_ctrl(nvme_root_t r, nvme_ctrl_t c, const char *path, const char *name) { DIR *d; - char *host_key, *tls_psk; d = opendir(path); if (!d) { @@ -1908,34 +2018,12 @@ static int nvme_configure_ctrl(nvme_root_t r, nvme_ctrl_t c, const char *path, c->queue_count = nvme_get_ctrl_attr(c, "queue_count"); c->serial = nvme_get_ctrl_attr(c, "serial"); c->sqsize = nvme_get_ctrl_attr(c, "sqsize"); - host_key = nvme_get_ctrl_attr(c, "dhchap_secret"); - if (host_key && c->s && c->s->h && c->s->h->dhchap_key && - (!strcmp(c->s->h->dhchap_key, host_key) || - !strcmp("none", host_key))) { - free(host_key); - host_key = NULL; - } - if (host_key) - c->dhchap_key = host_key; - c->dhchap_ctrl_key = nvme_get_ctrl_attr(c, "dhchap_ctrl_secret"); - if (c->dhchap_ctrl_key && !strcmp(c->dhchap_ctrl_key, "none")) { - free(c->dhchap_ctrl_key); - c->dhchap_ctrl_key = NULL; - } - tls_psk = nvme_get_ctrl_attr(c, "tls_key"); - if (tls_psk) { - char *endptr; - long key_id = strtol(tls_psk, &endptr, 16); - - if (endptr != tls_psk) { - c->cfg.tls_key = key_id; - c->cfg.tls = true; - } - } c->cntrltype = nvme_get_ctrl_attr(c, "cntrltype"); c->cntlid = nvme_get_ctrl_attr(c, "cntlid"); c->dctype = nvme_get_ctrl_attr(c, "dctype"); c->phy_slot = nvme_ctrl_lookup_phy_slot(r, c->address); + nvme_read_sysfs_dhchap(r, c); + nvme_read_sysfs_tls(r, c); errno = 0; /* cleanup after nvme_get_ctrl_attr() */ return 0; diff --git a/src/nvme/tree.h b/src/nvme/tree.h index 1b583cd..818e17b 100644 --- a/src/nvme/tree.h +++ b/src/nvme/tree.h @@ -1099,6 +1099,51 @@ const char *nvme_ctrl_get_dhchap_key(nvme_ctrl_t c); void nvme_ctrl_set_dhchap_key(nvme_ctrl_t c, const char *key); /** + * nvme_ctrl_get_keyring() - Return keyring + * @c: Controller to be used for the lookup + * + * Return: Keyring or NULL if not set + */ +const char *nvme_ctrl_get_keyring(nvme_ctrl_t c); + +/** + * nvme_ctrl_set_keyring() - Set keyring + * @c: Controller for which the keyring should be set + * @keyring: Keyring name + */ +void nvme_ctrl_set_keyring(nvme_ctrl_t c, const char *keyring); + +/** + * nvme_ctrl_get_tls_key_identity() - Return Derive TLS Identity + * @c: Controller to be used for the lookup + * + * Return: Derive TLS Identity or NULL if not set + */ +const char *nvme_ctrl_get_tls_key_identity(nvme_ctrl_t c); + +/** + * nvme_ctrl_set_tls_key_identity() - Set Derive TLS Identity + * @c: Controller for which the key should be set + * @identity: Derive TLS identity or NULL to clear existing key + */ +void nvme_ctrl_set_tls_key_identity(nvme_ctrl_t c, const char *identity); + +/** + * nvme_ctrl_get_tls_key() - Return Derive TLS PSK + * @c: Controller to be used for the lookup + * + * Return: Key in PSK interchange format or NULL if not set + */ +const char *nvme_ctrl_get_tls_key(nvme_ctrl_t c); + +/** + * nvme_ctrl_set_tls_key() - Set Derive TLS PSK + * @c: Controller for which the key should be set + * @key: Key in interchange format or NULL to clear existing key + */ +void nvme_ctrl_set_tls_key(nvme_ctrl_t c, const char *key); + +/** * nvme_ctrl_get_config() - Fabrics configuration of a controller * @c: Controller instance * diff --git a/src/nvme/types.h b/src/nvme/types.h index 5fa969d..7d143d3 100644 --- a/src/nvme/types.h +++ b/src/nvme/types.h @@ -46,6 +46,24 @@ (((__u32)(value) & NVME_##name##_MASK) << NVME_##name##_SHIFT) /** + * NVME_CHECK() - check value to compare field value + * @value: The value to be checked + * @name: The name of the sub-field within an nvme value + * @check: The sub-field value to check + * + * Returns: The result of compare the value and the sub-field value + */ +#define NVME_CHECK(value, name, check) ((value) == NVME_##name##_##check) + +/** + * NVME_VAL() - get mask value shifted + * @name: The name of the sub-field within an nvme value + * + * Returns: The mask value shifted + */ +#define NVME_VAL(name) (NVME_##name##_MASK << NVME_##name##_SHIFT) + +/** * enum nvme_constants - A place to stash various constant nvme values * @NVME_NSID_ALL: A broadcast value that is used to specify all * namespaces @@ -1293,7 +1311,8 @@ struct nvme_id_psd { * @rsvd358: Reserved * @megcap: Max Endurance Group Capacity indicates the maximum capacity * of a single Endurance Group. - * @rsvd384: Reserved + * @tmpthha: Temperature Threshold Hysteresis Attributes + * @rsvd385: Reserved * @sqes: Submission Queue Entry Size, see &enum nvme_id_ctrl_sqes. * @cqes: Completion Queue Entry Size, see &enum nvme_id_ctrl_cqes. * @maxcmd: Maximum Outstanding Commands indicates the maximum number of @@ -1341,6 +1360,39 @@ struct nvme_id_psd { * total number of outstanding I/O commands across all I/O queues * on the controller for optimal operation. * @rsvd568: Reserved + * @cmmrtd: Controller Maximum Memory Range Tracking Descriptors indicates + * the maximum number of Memory Range Tracking Descriptors the + * controller supports. + * @nmmrtd: NVM Subsystem Maximum Memory Range Tracking Descriptors + * indicates the maximum number of Memory Range Tracking Descriptors + * the NVM subsystem supports. + * @minmrtg: Minimum Memory Range Tracking Granularity indicates the minimum + * value supported in the Requested Memory Range Tracking + * Granularity (RMRTG) field of the Track Memory Ranges data + * structure. + * @maxmrtg: Maximum Memory Range Tracking Granularity indicates the maximum + * value supported in the Requested Memory Range Tracking + * Granularity (RMRTG) field of the Track Memory Ranges data + * structure. + * @trattr: Tracking Attributes indicates supported attributes for the + * Track Send command and Track Receive command. + * @rsvd577: Reserved + * @mcudmq: Maximum Controller User Data Migration Queues indicates the + * maximum number of User Data Migration Queues supported by the + * controller. + * @mnsudmq: Maximum NVM Subsystem User Data Migration Queues indicates the + * maximum number of User Data Migration Queues supported by the NVM + * subsystem. + * @mcmr: Maximum CDQ Memory Ranges indicates the maximum number of + * memory ranges allowed to be specified by the PRP1 field of a + * Controller Data Queue command. + * @nmcmr: NVM Subsystem Maximum CDQ Memory Ranges indicates the maximum + * number of memory ranges for all Controller Data Queues in the + * NVM subsystem. + * @mcdqpc: Maximum Controller Data Queue PRP Count indicates the maximum + * number of PRPs allowed to be specified in the PRP list in the + * Controller Data Queue command. + * @rsvd588: Reserved * @subnqn: NVM Subsystem NVMe Qualified Name, UTF-8 null terminated string * @rsvd1024: Reserved * @ioccsz: I/O Queue Command Capsule Supported Size, defines the maximum @@ -1426,7 +1478,8 @@ struct nvme_id_ctrl { __le16 domainid; __u8 rsvd358[10]; __u8 megcap[16]; - __u8 rsvd384[128]; + __u8 tmpthha; + __u8 rsvd385[127]; __u8 sqes; __u8 cqes; __le16 maxcmd; @@ -1446,7 +1499,19 @@ struct nvme_id_ctrl { __u8 maxdna[16]; __le32 maxcna; __le32 oaqd; - __u8 rsvd568[200]; + __u8 rsvd568[2]; + __u16 cmmrtd; + __u16 nmmrtd; + __u8 minmrtg; + __u8 maxmrtg; + __u8 trattr; + __u8 rsvd577; + __u16 mcudmq; + __u16 mnsudmq; + __u16 mcmr; + __u16 nmcmr; + __u16 mcdqpc; + __u8 rsvd588[180]; char subnqn[NVME_NQN_LENGTH]; __u8 rsvd1024[768]; @@ -1526,29 +1591,103 @@ enum nvme_id_ctrl_cmic { /** * enum nvme_id_ctrl_oaes - Optional Asynchronous Events Supported + * @NVME_CTRL_OAES_NA_SHIFT: Shift amount to get the Namespace Attribute Notices event supported + * @NVME_CTRL_OAES_FA_SHIFT: Shift amount to get the Firmware Activation Notices event supported + * @NVME_CTRL_OAES_ANA_SHIFT: Shift amount to get the ANA Change Notices supported + * @NVME_CTRL_OAES_PLEA_SHIFT: Shift amount to get the Predictable Latency Event Aggregate Log + * Change Notices event supported + * @NVME_CTRL_OAES_LBAS_SHIFT: Shift amount to get the LBA Status Information Notices event + * supported + * @NVME_CTRL_OAES_EGE_SHIFT: Shift amount to get the Endurance Group Events Aggregate Log Change + * Notices event supported + * @NVME_CTRL_OAES_NS_SHIFT: Shift amount to get the Normal NVM Subsystem Shutdown event supported + * @NVME_CTRL_OAES_TTH_SHIFT: Shift amount to get the Temperature Threshold Hysteresis Recovery + * event supported + * @NVME_CTRL_OAES_RGCNS_SHIFT: Shift amount to get the Reachability Groups Change Notices supported + * @NVME_CTRL_OAES_ANSAN_SHIFT: Shift amount to get the Allocated Namespace Attribute Notices + * supported + * @NVME_CTRL_OAES_ZD_SHIFT: Shift amount to get the Zone Descriptor Change Notifications supported + * @NVME_CTRL_OAES_DL_SHIFT: Shift amount to get the Discover Log Page Change Notifications + * supported + * @NVME_CTRL_OAES_NA_MASK: Mask to get the Namespace Attribute Notices event supported + * @NVME_CTRL_OAES_FA_MASK: Mask to get the Firmware Activation Notices event supported + * @NVME_CTRL_OAES_ANA_MASK: Mask to get the ANA Change Notices supported + * @NVME_CTRL_OAES_PLEA_MASK: Mask to get the Predictable Latency Event Aggregate Log Change Notices + * event supported + * @NVME_CTRL_OAES_LBAS_MASK: Mask to get the LBA Status Information Notices event supported + * @NVME_CTRL_OAES_EGE_MASK: Mask to get the Endurance Group Events Aggregate Log Change Notices + * event supported + * @NVME_CTRL_OAES_NS_MASK: Mask to get the Normal NVM Subsystem Shutdown event supported + * @NVME_CTRL_OAES_TTH_MASK: Mask to get the Temperature Threshold Hysteresis Recovery event + * supported + * @NVME_CTRL_OAES_RGCNS_MASK: Mask to get the Reachability Groups Change Notices supported + * @NVME_CTRL_OAES_ANSAN_MASK: Mask to get the Allocated Namespace Attribute Notices supported + * @NVME_CTRL_OAES_ZD_MASK: Mask to get the Zone Descriptor Change Notifications supported + * @NVME_CTRL_OAES_DL_MASK: Mask to get the Discover Log Page Change Notifications supported * @NVME_CTRL_OAES_NA: Namespace Attribute Notices event supported * @NVME_CTRL_OAES_FA: Firmware Activation Notices event supported * @NVME_CTRL_OAES_ANA: ANA Change Notices supported - * @NVME_CTRL_OAES_PLEA: Predictable Latency Event Aggregate Log - * Change Notices event supported + * @NVME_CTRL_OAES_PLEA: Predictable Latency Event Aggregate Log Change Notices event supported * @NVME_CTRL_OAES_LBAS: LBA Status Information Notices event supported - * @NVME_CTRL_OAES_EGE: Endurance Group Events Aggregate Log Change - * Notices event supported + * @NVME_CTRL_OAES_EGE: Endurance Group Events Aggregate Log Change Notices event supported * @NVME_CTRL_OAES_NS: Normal NVM Subsystem Shutdown event supported + * @NVME_CTRL_OAES_TTH: Temperature Threshold Hysteresis Recovery event supported + * @NVME_CTRL_OAES_RGCNS: Reachability Groups Change Notices supported + * @NVME_CTRL_OAES_ANSAN: Allocated Namespace Attribute Notices supported * @NVME_CTRL_OAES_ZD: Zone Descriptor Change Notifications supported * @NVME_CTRL_OAES_DL: Discover Log Page Change Notifications supported */ enum nvme_id_ctrl_oaes { - NVME_CTRL_OAES_NA = 1 << 8, - NVME_CTRL_OAES_FA = 1 << 9, - NVME_CTRL_OAES_ANA = 1 << 11, - NVME_CTRL_OAES_PLEA = 1 << 12, - NVME_CTRL_OAES_LBAS = 1 << 13, - NVME_CTRL_OAES_EGE = 1 << 14, - NVME_CTRL_OAES_NS = 1 << 15, - NVME_CTRL_OAES_ZD = 1 << 27, - NVME_CTRL_OAES_DL = 1 << 31, -}; + NVME_CTRL_OAES_NA_SHIFT = 8, + NVME_CTRL_OAES_FA_SHIFT = 9, + NVME_CTRL_OAES_ANA_SHIFT = 11, + NVME_CTRL_OAES_PLEA_SHIFT = 12, + NVME_CTRL_OAES_LBAS_SHIFT = 13, + NVME_CTRL_OAES_EGE_SHIFT = 14, + NVME_CTRL_OAES_NS_SHIFT = 15, + NVME_CTRL_OAES_TTH_SHIFT = 16, + NVME_CTRL_OAES_RGCNS_SHIFT = 17, + NVME_CTRL_OAES_ANSAN_SHIFT = 19, + NVME_CTRL_OAES_ZD_SHIFT = 27, + NVME_CTRL_OAES_DL_SHIFT = 31, + NVME_CTRL_OAES_NA_MASK = 0x1, + NVME_CTRL_OAES_FA_MASK = 0x1, + NVME_CTRL_OAES_ANA_MASK = 0x1, + NVME_CTRL_OAES_PLEA_MASK = 0x1, + NVME_CTRL_OAES_LBAS_MASK = 0x1, + NVME_CTRL_OAES_EGE_MASK = 0x1, + NVME_CTRL_OAES_NS_MASK = 0x1, + NVME_CTRL_OAES_TTH_MASK = 0x1, + NVME_CTRL_OAES_RGCNS_MASK = 0x1, + NVME_CTRL_OAES_ANSAN_MASK = 0x1, + NVME_CTRL_OAES_ZD_MASK = 0x1, + NVME_CTRL_OAES_DL_MASK = 0x1, + NVME_CTRL_OAES_NA = NVME_VAL(CTRL_OAES_NA), + NVME_CTRL_OAES_FA = NVME_VAL(CTRL_OAES_FA), + NVME_CTRL_OAES_ANA = NVME_VAL(CTRL_OAES_ANA), + NVME_CTRL_OAES_PLEA = NVME_VAL(CTRL_OAES_PLEA), + NVME_CTRL_OAES_LBAS = NVME_VAL(CTRL_OAES_LBAS), + NVME_CTRL_OAES_EGE = NVME_VAL(CTRL_OAES_EGE), + NVME_CTRL_OAES_NS = NVME_VAL(CTRL_OAES_NS), + NVME_CTRL_OAES_TTH = NVME_VAL(CTRL_OAES_TTH), + NVME_CTRL_OAES_RGCNS = NVME_VAL(CTRL_OAES_RGCNS), + NVME_CTRL_OAES_ANSAN = NVME_VAL(CTRL_OAES_ANSAN), + NVME_CTRL_OAES_ZD = NVME_VAL(CTRL_OAES_ZD), + NVME_CTRL_OAES_DL = NVME_VAL(CTRL_OAES_DL), +}; + +#define NVME_CTRL_OAES_NAN(oaes) NVME_GET(oaes, CTRL_OAES_NA) +#define NVME_CTRL_OAES_FAN(oaes) NVME_GET(oaes, CTRL_OAES_FA) +#define NVME_CTRL_OAES_ANACN(oaes) NVME_GET(oaes, CTRL_OAES_ANA) +#define NVME_CTRL_OAES_PLEALCN(oaes) NVME_GET(oaes, CTRL_OAES_PLEA) +#define NVME_CTRL_OAES_LBASIAN(oaes) NVME_GET(oaes, CTRL_OAES_LBAS) +#define NVME_CTRL_OAES_EGEALPCN(oaes) NVME_GET(oaes, CTRL_OAES_EGE) +#define NVME_CTRL_OAES_NNVMSS(oaes) NVME_GET(oaes, CTRL_OAES_NS) +#define NVME_CTRL_OAES_TTHR(oaes) NVME_GET(oaes, CTRL_OAES_TTH) +#define NVME_CTRL_OAES_RGCNS(oaes) NVME_GET(oaes, CTRL_OAES_RGCNS) +#define NVME_CTRL_OAES_ANSAN(oaes) NVME_GET(oaes, CTRL_OAES_ANSAN) +#define NVME_CTRL_OAES_ZDCN(oaes) NVME_GET(oaes, CTRL_OAES_ZD) +#define NVME_CTRL_OAES_DLPCN(oaes) NVME_GET(oaes, CTRL_OAES_DL) /** * enum nvme_id_ctrl_ctratt - Controller attributes @@ -1972,6 +2111,14 @@ enum nvme_id_ctrl_fuses { /** * enum nvme_id_ctrl_fna - This field indicates attributes for the Format NVM * command. + * @NVME_CTRL_FNA_FMT_ALL_NS_SHIFT: Shift amount to get the format applied to all namespaces + * @NVME_CTRL_FNA_SEC_ALL_NS_SHIFT: Shift amount to get the secure erase applied to all namespaces + * @NVME_CTRL_FNA_CES_SHIFT: Shift amount to get the cryptographic erase supported + * @NVME_CTRL_FNA_NSID_ALL_F_SHIFT: Shift amount to get the format supported an NSID FFFFFFFFh + * @NVME_CTRL_FNA_FMT_ALL_NS_MASK: Mask to get the format applied to all namespaces + * @NVME_CTRL_FNA_SEC_ALL_NS_MASK: Mask to get the secure erase applied to all namespaces + * @NVME_CTRL_FNA_CES_MASK: Mask to get the cryptographic erase supported + * @NVME_CTRL_FNA_NSID_ALL_F_MASK: Mask to get the format supported an NSID FFFFFFFFh * @NVME_CTRL_FNA_FMT_ALL_NAMESPACES: If set, then all namespaces in an NVM * subsystem shall be configured with the * same attributes and a format (excluding @@ -1996,11 +2143,24 @@ enum nvme_id_ctrl_fuses { * FFFFFFFFh. */ enum nvme_id_ctrl_fna { - NVME_CTRL_FNA_FMT_ALL_NAMESPACES = 1 << 0, - NVME_CTRL_FNA_SEC_ALL_NAMESPACES = 1 << 1, - NVME_CTRL_FNA_CRYPTO_ERASE = 1 << 2, - NVME_CTRL_FNA_NSID_FFFFFFFF = 1 << 3, -}; + NVME_CTRL_FNA_FMT_ALL_NS_SHIFT = 0, + NVME_CTRL_FNA_SEC_ALL_NS_SHIFT = 1, + NVME_CTRL_FNA_CES_SHIFT = 2, + NVME_CTRL_FNA_NSID_ALL_F_SHIFT = 3, + NVME_CTRL_FNA_FMT_ALL_NS_MASK = 0x1, + NVME_CTRL_FNA_SEC_ALL_NS_MASK = 0x1, + NVME_CTRL_FNA_CES_MASK = 0x1, + NVME_CTRL_FNA_NSID_ALL_F_MASK = 0x1, + NVME_CTRL_FNA_FMT_ALL_NAMESPACES = NVME_VAL(CTRL_FNA_FMT_ALL_NS), + NVME_CTRL_FNA_SEC_ALL_NAMESPACES = NVME_VAL(CTRL_FNA_SEC_ALL_NS), + NVME_CTRL_FNA_CRYPTO_ERASE = NVME_VAL(CTRL_FNA_CES), + NVME_CTRL_FNA_NSID_FFFFFFFF = NVME_VAL(CTRL_FNA_NSID_ALL_F), +}; + +#define NVME_CTRL_FNA_FMT_ALL_NS(fna) NVME_GET(fna, CTRL_FNA_FMT_ALL_NS) +#define NVME_CTRL_FNA_SEC_ALL_NS(fna) NVME_GET(fna, CTRL_FNA_SEC_ALL_NS) +#define NVME_CTRL_FNA_CES(fna) NVME_GET(fna, CTRL_FNA_CES) +#define NVME_CTRL_FNA_NSID_ALL_F(fna) NVME_GET(fna, CTRL_FNA_NSID_ALL_F) /** * enum nvme_id_ctrl_vwc - Volatile write cache @@ -2710,7 +2870,9 @@ struct nvme_ns_list { * @dmsl: Dataset Management Size Limit * @rsvd16: Reserved * @aocs: Admin Optional Command Support - * @rsvd20: Reserved + * @ver: Version + * @lbamqf: LBA Migration Queue Format + * @rsvd25: Reserved */ struct nvme_id_ctrl_nvm { __u8 vsl; @@ -2721,7 +2883,9 @@ struct nvme_id_ctrl_nvm { __le64 dmsl; __u8 rsvd16[2]; __le16 aocs; - __u8 rsvd20[4076]; + __le32 ver; + __u8 lbamqf; + __u8 rsvd25[4071]; }; /** @@ -2732,7 +2896,11 @@ struct nvme_id_ctrl_nvm { * @rsvd10: Reserved * @elbaf: List of Extended LBA Format Support * @npdgl: Namespace Preferred Deallocate Granularity Large - * @rsvd272: Reserved + * @nprg: Namespace Preferred Read Granularity + * @npra: Namespace Preferred Read Alignment + * @nors: Namespace Optimal Read Size + * @npdal: Namespace Preferred Deallocate Alignment Large + * @lbapss: LBA Format Placement Shard Size * @tlbaag: Tracked LBA Allocation Granularity * @rsvd296: Reserved */ @@ -2743,7 +2911,11 @@ struct nvme_nvm_id_ns { __u8 rsvd10[2]; __le32 elbaf[64]; __le32 npdgl; - __u8 rsvd272[20]; + __le32 nprg; + __le32 npra; + __le32 nors; + __le32 npdal; + __le32 lbapss; __le32 tlbaag; __u8 rsvd296[3800]; }; @@ -3301,6 +3473,7 @@ struct nvme_cmd_effects_log { * @NVME_CMD_EFFECTS_NCC: Namespace Capability Change * @NVME_CMD_EFFECTS_NIC: Namespace Inventory Change * @NVME_CMD_EFFECTS_CCC: Controller Capability Change + * @NVME_CMD_EFFECTS_CSER_MASK: Command Submission and Execution Relaxations * @NVME_CMD_EFFECTS_CSE_MASK: Command Submission and Execution * @NVME_CMD_EFFECTS_UUID_SEL: UUID Selection Supported */ @@ -3310,7 +3483,8 @@ enum nvme_cmd_effects { NVME_CMD_EFFECTS_NCC = 1 << 2, NVME_CMD_EFFECTS_NIC = 1 << 3, NVME_CMD_EFFECTS_CCC = 1 << 4, - NVME_CMD_EFFECTS_CSE_MASK = 3 << 16, + NVME_CMD_EFFECTS_CSER_MASK = 3 << 14, + NVME_CMD_EFFECTS_CSE_MASK = 7 << 16, NVME_CMD_EFFECTS_UUID_SEL = 1 << 19, }; @@ -3884,6 +4058,7 @@ struct nvme_persistent_event_entry { * @NVME_PEL_SET_FEATURE_EVENT: Set Feature Event * @NVME_PEL_TELEMETRY_CRT: Telemetry Log Create Event * @NVME_PEL_THERMAL_EXCURSION_EVENT: Thermal Excursion Event + * @NVME_PEL_SANITIZE_MEDIA_VERIF_EVENT:Sanitize Media Verification Event * @NVME_PEL_VENDOR_SPECIFIC_EVENT: Vendor Specific Event * @NVME_PEL_TCG_DEFINED_EVENT: TCG Defined Event */ @@ -3901,6 +4076,7 @@ enum nvme_persistent_event_types { NVME_PEL_SET_FEATURE_EVENT = 0x0b, NVME_PEL_TELEMETRY_CRT = 0x0c, NVME_PEL_THERMAL_EXCURSION_EVENT = 0x0d, + NVME_PEL_SANITIZE_MEDIA_VERIF_EVENT = 0x0e, NVME_PEL_VENDOR_SPECIFIC_EVENT = 0xde, NVME_PEL_TCG_DEFINED_EVENT = 0xdf, }; @@ -4608,6 +4784,20 @@ struct nvme_supported_cap_config_list_log { }; /** + * struct nvme_lockdown_log - Command and Feature Lockdown Log + * @cfila: Contents of the Command and Feature Identifier List field in the log page. + * @rsvd1: Reserved + * @lngth: Length of Command and Feature Identifier List field + * @cfil: Command and Feature Identifier List + */ +struct nvme_lockdown_log { + __u8 cfila; + __u8 rsvd1[2]; + __u8 lngth; + __u8 cfil[508]; +}; + +/** * struct nvme_resv_notification_log - Reservation Notification Log * @lpc: Log Page Count * @rnlpt: See &enum nvme_resv_notify_rnlpt. @@ -4705,7 +4895,15 @@ enum nvme_resv_notify_rnlpt { * to be completed in the background when the Sanitize command that * started that operation is completed. A value of FFFFFFFFh indicates * that no time period is reported. - * @rsvd32: Reserved + * @etpvds: Estimated Time For Post-Verification Deallocation State: indicates the + * number of seconds required to deallocate all media allocated for user data + * after exiting the Media Verification state (i.e., the time difference between + * entering and exiting the Post-Verification Deallocation state), if that state + * is entered as part of the sanitize operation. A value of FFFFFFFFh indicates + * that no time period is reported. + * @ssi: Sanitize State Information: indicate the state of the Sanitize Operation + * State Machine. + * @rsvd37: Reserved */ struct nvme_sanitize_log_page { __le16 sprog; @@ -4717,7 +4915,9 @@ struct nvme_sanitize_log_page { __le32 etond; __le32 etbend; __le32 etcend; - __u8 rsvd32[480]; + __le32 etpvds; + __u8 ssi; + __u8 rsvd37[475]; }; /** @@ -4761,6 +4961,10 @@ struct nvme_sanitize_log_page { * the NVM subsystem has never been sanitized; * or since the most recent successful sanitize * operation. + * @NVME_SANITIZE_SSTAT_MVCNCLD_SHIFT: Shift amount to get the value of Media Verification + * Canceled bit of Sanitize status field. + * @NVME_SANITIZE_SSTAT_MVCNCLD_MASK: Mask to get the value of Media Verification Canceled + * bit of Sanitize status field. */ enum nvme_sanitize_sstat { NVME_SANITIZE_SSTAT_STATUS_SHIFT = 0, @@ -4775,6 +4979,59 @@ enum nvme_sanitize_sstat { NVME_SANITIZE_SSTAT_GLOBAL_DATA_ERASED_SHIFT = 8, NVME_SANITIZE_SSTAT_GLOBAL_DATA_ERASED_MASK = 0x1, NVME_SANITIZE_SSTAT_GLOBAL_DATA_ERASED = 1 << NVME_SANITIZE_SSTAT_GLOBAL_DATA_ERASED_SHIFT, + NVME_SANITIZE_SSTAT_MVCNCLD_SHIFT = 9, + NVME_SANITIZE_SSTAT_MVCNCLD_MASK = 0x1, +}; + +/** + * enum nvme_sanitize_ssi - Sanitize State Information (SSI) + * @NVME_SANITIZE_SSI_SANS_SHIFT: Shift amount to get the value of Sanitize State + * from Sanitize State Information (SSI) field. + * @NVME_SANITIZE_SSI_SANS_MASK: Mask to get the value of Sanitize State from + * Sanitize State Information (SSI) field. + * @NVME_SANITIZE_SSI_FAILS_SHIFT: Shift amount to get the value of Failure State + * from Sanitize State Information (SSI) field. + * @NVME_SANITIZE_SSI_FAILS_MASK: Mask to get the value of Failure State from + * Sanitize State Information (SSI) field. + * @NVME_SANITIZE_SSI_IDLE: No sanitize operation is in process. + * @NVME_SANITIZE_SSI_RESTRICT_PROCESSING: The Sanitize operation is in Restricted Processing + * State. + * @NVME_SANITIZE_SSI_RESTRICT_FAILURE: The Sanitize operation is in Restricted Failure + * State. This state is entered if sanitize processing + * was performed in the Restricted Processing state and + * sanitize processing failed or a failure occurred + * during deallocation of media allocated for user data + * in the Post-Verification Deallocation state. + * @NVME_SANITIZE_SSI_UNRESTRICT_PROCESSING: The Sanitize operation is in Unrestricted Processing + * State. + * @NVME_SANITIZE_SSI_UNRESTRICT_FAILURE: The Sanitize operation is in Unrestricted Failure + * State. This state is entered if sanitize processing + * was performed in the Unrestricted Processing state + * and sanitize processing failed or a failure occurred + * during deallocation of media allocated for user data + * in the Post-Verification. + * @NVME_SANITIZE_SSI_MEDIA_VERIFICATION: The Sanitize operation is in Media Verification + * State. In this state, the sanitize processing + * completed successfully, and all media allocated for + * user data in the sanitization target is readable by + * the host for purposes of verifying sanitization. + * @NVME_SANITIZE_SSI_POST_VERIF_DEALLOC: The Sanitize operation is in Post-Verification + * Deallocation State. In this state, the controller + * shall deallocate all media allocated for user data + * in the sanitization target. + */ +enum nvme_sanitize_ssi { + NVME_SANITIZE_SSI_SANS_SHIFT = 0, + NVME_SANITIZE_SSI_SANS_MASK = 0xf, + NVME_SANITIZE_SSI_FAILS_SHIFT = 4, + NVME_SANITIZE_SSI_FAILS_MASK = 0xf, + NVME_SANITIZE_SSI_IDLE = 0, + NVME_SANITIZE_SSI_RESTRICT_PROCESSING = 1, + NVME_SANITIZE_SSI_RESTRICT_FAILURE = 2, + NVME_SANITIZE_SSI_UNRESTRICT_PROCESSING = 3, + NVME_SANITIZE_SSI_UNRESTRICT_FAILURE = 4, + NVME_SANITIZE_SSI_MEDIA_VERIFICATION = 5, + NVME_SANITIZE_SSI_POST_VERIF_DEALLOC = 6, }; /** @@ -4908,6 +5165,46 @@ enum nvme_fdp_config_fdpa { }; /** + * enum nvme_lockdown_log_scope - lockdown log page scope attributes + * @NVME_LOCKDOWN_ADMIN_CMD: Scope value for Admin commandS + * @NVME_LOCKDOWN_FEATURE_ID: Scope value for Feature ID + * @NVME_LOCKDOWN_MI_CMD_SET: Scope value for Management Interface commands + * @NVME_LOCKDOWN_PCI_CMD_SET: Scope value for PCI commands + */ +enum nvme_lockdown_log_scope { + NVME_LOCKDOWN_ADMIN_CMD = 0x0, + NVME_LOCKDOWN_FEATURE_ID = 0x2, + NVME_LOCKDOWN_MI_CMD_SET = 0x3, + NVME_LOCKDOWN_PCI_CMD_SET = 0x4, +}; + +/** + * enum nvme_lockdown_log_contents - lockdown log page content attributes + * @NVME_LOCKDOWN_SUPPORTED_CMD: Content value for Supported commands + * @NVME_LOCKDOWN_PROHIBITED_CMD: Content value for prohibited commands + * @NVME_LOCKDOWN_PROHIBITED_OUTOFBAND_CMD: Content value for prohibited side band commands + */ +enum nvme_lockdown_log_contents { + NVME_LOCKDOWN_SUPPORTED_CMD = 0x0, + NVME_LOCKDOWN_PROHIBITED_CMD = 0x1, + NVME_LOCKDOWN_PROHIBITED_OUTOFBAND_CMD = 0x2, +}; + +/** + * enum nvme_lockdown_scope_contents - Lockdown Log shift and mask + * @NVME_LOCKDOWN_SS_SHIFT: Lockdown log scope select Shift + * @NVME_LOCKDOWN_SS_MASK: Lockdown log scope select Mask + * @NVME_LOCKDOWN_CS_SHIFT: Lockdown log contents Shift + * @NVME_LOCKDOWN_CS_MASK: Lockdown log contents Mask + */ +enum nvme_lockdown_scope_contents { + NVME_LOCKDOWN_SS_SHIFT = 0, + NVME_LOCKDOWN_SS_MASK = 0xf, + NVME_LOCKDOWN_CS_SHIFT = 4, + NVME_LOCKDOWN_CS_MASK = 0x3, +}; + +/** * struct nvme_fdp_config_desc - FDP Configuration Descriptor * @size: Descriptor size * @fdpa: FDP Attributes (&enum nvme_fdp_config_fdpa) @@ -5189,6 +5486,22 @@ struct nvme_lba_status { }; /** + * enum nvme_lba_status_cmpc - Get LBA Status Command Completion Condition + * @NVME_LBA_STATUS_CMPC_NO_CMPC: No indication of the completion condition + * @NVME_LBA_STATUS_CMPC_INCOMPLETE: Command completed, but additional LBA Status + * Descriptor Entries are available to transfer + * or scan did not complete (if ATYPE = 10h) + * @NVME_LBA_STATUS_CMPC_COMPLETE: Completed the specified action over the number + * of LBAs specified in the Range Length field and + * transferred all available LBA Status Descriptors + */ +enum nvme_lba_status_cmpc { + NVME_LBA_STATUS_CMPC_NO_CMPC = 0x0, + NVME_LBA_STATUS_CMPC_INCOMPLETE = 0x1, + NVME_LBA_STATUS_CMPC_COMPLETE = 0x2, +}; + +/** * struct nvme_feat_auto_pst - Autonomous Power State Transition * @apst_entry: See &enum nvme_apst_entry */ @@ -6956,6 +7269,20 @@ struct nvme_mi_vpd_hdr { * Originator field does not match the * Host NQN used by the DDC to connect * to the CDC. + * @NVME_SC_INVALID_CONTROLER_DATA_QUEUE: This error indicates that the + * specified Controller Data Queue + * Identifier is invalid for the controller + * processing the command. + * @NVME_SC_NOT_ENOUGH_RESOURCES: This error indicates that there is not + * enough resources in the controller to + * process the command. + * @NVME_SC_CONTROLLER_SUSPENDED: The operation requested is not allowed if + * the specified controller is suspended. + * @NVME_SC_CONTROLLER_NOT_SUSPENDED: The operation requested is not allowed if + * the specified controller is not + * suspended. + * @NVME_SC_CONTROLLER_DATA_QUEUE_FULL: The controller detected that a + * Controller Data Queue became full. * @NVME_SC_BAD_ATTRIBUTES: Conflicting Dataset Management Attributes * @NVME_SC_INVALID_PI: Invalid Protection Information * @NVME_SC_READ_ONLY: Attempted Write to Read Only Range @@ -7214,6 +7541,15 @@ enum nvme_status_field { NVME_SC_ZONEGRP_ORIGINATOR_INVLD = 0x34, /* + * Command Set Specific - Live Migration + */ + NVME_SC_INVALID_CONTROLER_DATA_QUEUE = 0x37, + NVME_SC_NOT_ENOUGH_RESOURCES = 0x38, + NVME_SC_CONTROLLER_SUSPENDED = 0x39, + NVME_SC_CONTROLLER_NOT_SUSPENDED = 0x3A, + NVME_SC_CONTROLLER_DATA_QUEUE_FULL = 0x3B, + + /* * I/O Command Set Specific - NVM commands: */ NVME_SC_BAD_ATTRIBUTES = 0x80, @@ -7491,6 +7827,9 @@ enum nvme_admin_opcode { * @NVME_IDENTIFY_CNS_CSI_ID_NS_DATA_STRUCTURE: I/O Command Set specific ID Namespace * Data Structure for Allocated Namespace ID * @NVME_IDENTIFY_CNS_COMMAND_SET_STRUCTURE: Base Specification 2.0a section 5.17.2.21 + * @NVME_IDENTIFY_CNS_SUPPORTED_CTRL_STATE_FORMATS: Supported Controller State Formats + * identifying the supported NVMe Controller + * State data structures */ enum nvme_identify_cns { NVME_IDENTIFY_CNS_NS = 0x00, @@ -7517,6 +7856,7 @@ enum nvme_identify_cns { NVME_IDENTIFY_CNS_CSI_ALLOCATED_NS_LIST = 0x1A, NVME_IDENTIFY_CNS_CSI_ID_NS_DATA_STRUCTURE = 0x1B, NVME_IDENTIFY_CNS_COMMAND_SET_STRUCTURE = 0x1C, + NVME_IDENTIFY_CNS_SUPPORTED_CTRL_STATE_FORMATS = 0x20, }; /** @@ -7543,12 +7883,21 @@ enum nvme_identify_cns { * @NVME_LOG_LID_MI_CMD_SUPPORTED_EFFECTS: NVMe-MI Commands Supported and Effects * @NVME_LOG_LID_CMD_AND_FEAT_LOCKDOWN: Command and Feature Lockdown * @NVME_LOG_LID_BOOT_PARTITION: Boot Partition + * @NVME_LOG_LID_ROTATIONAL_MEDIA_INFO: Rotational Media Information + * @NVME_LOG_LID_DISPERSED_NS_PARTICIPATING_NSS:Dispersed Namespace Participating NVM Subsystems + * @NVME_LOG_LID_MGMT_ADDR_LIST: Management Address List * @NVME_LOG_LID_PHY_RX_EOM: Physical Interface Receiver Eye Opening Measurement + * @NVME_LOG_LID_REACHABILITY_GROUPS: Reachability Groups + * @NVME_LOG_LID_REACHABILITY_ASSOCIATIONS: Reachability Associations + * @NVME_LOG_LID_CHANGED_ALLOC_NS_LIST: Changed Allocated Namespace List * @NVME_LOG_LID_FDP_CONFIGS: FDP Configurations * @NVME_LOG_LID_FDP_RUH_USAGE: Reclaim Unit Handle Usage * @NVME_LOG_LID_FDP_STATS: FDP Statistics * @NVME_LOG_LID_FDP_EVENTS: FDP Events * @NVME_LOG_LID_DISCOVER: Discovery + * @NVME_LOG_LID_HOST_DISCOVER: Host Discovery + * @NVME_LOG_LID_AVE_DISCOVER: AVE Discovery + * @NVME_LOG_LID_PULL_MODEL_DDC_REQ: Pull Model DDC Request * @NVME_LOG_LID_RESERVATION: Reservation Notification * @NVME_LOG_LID_SANITIZE: Sanitize Status * @NVME_LOG_LID_ZNS_CHANGED_ZONES: Changed Zone List @@ -7576,12 +7925,21 @@ enum nvme_cmd_get_log_lid { NVME_LOG_LID_MI_CMD_SUPPORTED_EFFECTS = 0x13, NVME_LOG_LID_CMD_AND_FEAT_LOCKDOWN = 0x14, NVME_LOG_LID_BOOT_PARTITION = 0x15, + NVME_LOG_LID_ROTATIONAL_MEDIA_INFO = 0x16, + NVME_LOG_LID_DISPERSED_NS_PARTICIPATING_NSS = 0x17, + NVME_LOG_LID_MGMT_ADDR_LIST = 0x18, NVME_LOG_LID_PHY_RX_EOM = 0x19, + NVME_LOG_LID_REACHABILITY_GROUPS = 0x1a, + NVME_LOG_LID_REACHABILITY_ASSOCIATIONS = 0x1b, + NVME_LOG_LID_CHANGED_ALLOC_NS_LIST = 0x1c, NVME_LOG_LID_FDP_CONFIGS = 0x20, NVME_LOG_LID_FDP_RUH_USAGE = 0x21, NVME_LOG_LID_FDP_STATS = 0x22, NVME_LOG_LID_FDP_EVENTS = 0x23, NVME_LOG_LID_DISCOVER = 0x70, + NVME_LOG_LID_HOST_DISCOVER = 0x71, + NVME_LOG_LID_AVE_DISCOVER = 0x72, + NVME_LOG_LID_PULL_MODEL_DDC_REQ = 0x73, NVME_LOG_LID_RESERVATION = 0x80, NVME_LOG_LID_SANITIZE = 0x81, NVME_LOG_LID_ZNS_CHANGED_ZONES = 0xbf, @@ -8059,12 +8417,14 @@ enum nvme_directive_send_identify_endir { * @NVME_SANITIZE_SANACT_START_BLOCK_ERASE: Start a Block Erase sanitize operation. * @NVME_SANITIZE_SANACT_START_OVERWRITE: Start an Overwrite sanitize operation. * @NVME_SANITIZE_SANACT_START_CRYPTO_ERASE: Start a Crypto Erase sanitize operation. + * @NVME_SANITIZE_SANACT_EXIT_MEDIA_VERIF: Exit Media Verification State */ enum nvme_sanitize_sanact { NVME_SANITIZE_SANACT_EXIT_FAILURE = 1, NVME_SANITIZE_SANACT_START_BLOCK_ERASE = 2, NVME_SANITIZE_SANACT_START_OVERWRITE = 3, NVME_SANITIZE_SANACT_START_CRYPTO_ERASE = 4, + NVME_SANITIZE_SANACT_EXIT_MEDIA_VERIF = 5, }; /** @@ -8323,6 +8683,32 @@ enum nvme_io_opcode { }; /** + * enum nvme_kv_opcode - Opcodes for KV Commands + * @nvme_kv_cmd_flush: Flush + * @nvme_kv_cmd_store: Store + * @nvme_kv_cmd_retrieve: Retrieve + * @nvme_kv_cmd_list: List + * @nvme_kv_cmd_resv_register: Reservation Register + * @nvme_kv_cmd_resv_report: Reservation Report + * @nvme_kv_cmd_delete: Delete + * @nvme_kv_cmd_resv_acquire: Reservation Acquire + * @nvme_kv_cmd_exist: Exist + * @nvme_kv_cmd_resv_release: Reservation Release + */ +enum nvme_kv_opcode { + nvme_kv_cmd_flush = 0x00, + nvme_kv_cmd_store = 0x01, + nvme_kv_cmd_retrieve = 0x02, + nvme_kv_cmd_list = 0x06, + nvme_kv_cmd_resv_register = 0x0d, + nvme_kv_cmd_resv_report = 0x0e, + nvme_kv_cmd_delete = 0x10, + nvme_kv_cmd_resv_acquire = 0x11, + nvme_kv_cmd_exist = 0x14, + nvme_kv_cmd_resv_release = 0x15, +}; + +/** * enum nvme_io_control_flags - I/O control flags * @NVME_IO_DTYPE_STREAMS: Directive Type Streams * @NVME_IO_STC: Storage Tag Check diff --git a/src/nvme/util.c b/src/nvme/util.c index ce0ce76..1af358a 100644 --- a/src/nvme/util.c +++ b/src/nvme/util.c @@ -286,6 +286,11 @@ static const char * const cmd_spec_status[] = { [NVME_SC_INSUFFICIENT_DISC_RES] = "Discovery Info entries exceed Discovery Controller's capacity", [NVME_SC_REQSTD_FUNCTION_DISABLED] = "Fabric Zoning is not enabled on the CDC", [NVME_SC_ZONEGRP_ORIGINATOR_INVLD] = "The NQN contained in the ZoneGroup Originator field does not match the Host NQN used by the DDC to connect to the CDC", + [NVME_SC_INVALID_CONTROLER_DATA_QUEUE] = "Invalid Controller Data Queue", + [NVME_SC_NOT_ENOUGH_RESOURCES] = "Not Enough Resources", + [NVME_SC_CONTROLLER_SUSPENDED] = "Controller Suspended: Operation failed because the controller is currently in a suspended state", + [NVME_SC_CONTROLLER_NOT_SUSPENDED] = "Controller Not Suspended: Operation failed because the controller is not in a suspended state", + [NVME_SC_CONTROLLER_DATA_QUEUE_FULL] = "Controller Data Queue Full", }; static const char * const nvm_status[] = { @@ -621,6 +626,7 @@ static const char * const libnvme_status[] = { [ENVME_CONNECT_CONNREFUSED] = "connection refused", [ENVME_CONNECT_ADDRNOTAVAIL] = "cannot assign requested address", [ENVME_CONNECT_IGNORED] = "connection ignored", + [ENVME_CONNECT_NOKEY] = "pre-shared TLS key is missing" }; const char *nvme_errno_to_string(int status) diff --git a/src/nvme/util.h b/src/nvme/util.h index 71fea9f..364ca0f 100644 --- a/src/nvme/util.h +++ b/src/nvme/util.h @@ -41,6 +41,7 @@ * @ENVME_CONNECT_CONNREFUSED: connection refused * @ENVME_CONNECT_ADDRNOTAVAIL: cannot assign requested address * @ENVME_CONNECT_IGNORED: connect attempt is ignored due to configuration + * @ENVME_CONNECT_NOKEY: the TLS key is missing */ enum nvme_connect_err { ENVME_CONNECT_RESOLVE = 1000, @@ -63,6 +64,7 @@ enum nvme_connect_err { ENVME_CONNECT_CONNREFUSED, ENVME_CONNECT_ADDRNOTAVAIL, ENVME_CONNECT_IGNORED, + ENVME_CONNECT_NOKEY, }; /** diff --git a/test/config/config-diff.sh b/test/config/config-diff.sh index c15b42c..abec20e 100644..100755 --- a/test/config/config-diff.sh +++ b/test/config/config-diff.sh @@ -1,24 +1,48 @@ #!/bin/bash -e # SPDX-License-Identifier: LGPL-2.1-or-later -BUILD_DIR=$1 -CONFIG_DUMP=$2 -SYSDIR_INPUT=$3 -CONFIG_JSON=$4 -EXPECTED_OUTPUT=$5 +positional_args=() +sysfs_tar="" +config_json="" -ACTUAL_OUTPUT="${BUILD_DIR}"/$(basename "${EXPECTED_OUTPUT}") +while [[ $# -gt 0 ]]; do + case $1 in + --sysfs-tar) + sysfs_tar=$2 + shift 1 + ;; + --config-json) + config_json=$2 + shift 1 + ;; + *) + positional_args+=("$1") + shift + ;; + esac +done -TEST_NAME="$(basename -s .tar.xz $SYSDIR_INPUT)" -TEST_DIR="$BUILD_DIR/$TEST_NAME" +set -- "${positional_args[@]}" -rm -rf "${TEST_DIR}" -mkdir "${TEST_DIR}" -tar -x -f "${SYSDIR_INPUT}" -C "${TEST_DIR}" +test_binary="$1" +build_dir="$2" +expected_output="$3" -LIBNVME_SYSFS_PATH="$TEST_DIR" \ +sysfs_path="" +if [[ -n "${sysfs_tar}" ]]; then + test_name="$(basename -s .tar.xz ${sysfs_tar})" + sysfs_path="${build_dir}/${test_name}" + + rm -rf "${sysfs_path}" + mkdir "${sysfs_path}" + tar -x -f "${sysfs_tar}" -C "${sysfs_path}" +fi + +output="${build_dir}"/$(basename "${expected_output}") + +LIBNVME_SYSFS_PATH="${sysfs_path}" \ LIBNVME_HOSTNQN=nqn.2014-08.org.nvmexpress:uuid:ce4fee3e-c02c-11ee-8442-830d068a36c6 \ LIBNVME_HOSTID=ce4fee3e-c02c-11ee-8442-830d068a36c6 \ -"${CONFIG_DUMP}" "${CONFIG_JSON}" > "${ACTUAL_OUTPUT}" || echo "test failed" +"${test_binary}" "${config_json}" > "${output}" || echo "test failed" -diff -u "${EXPECTED_OUTPUT}" "${ACTUAL_OUTPUT}" +diff -u "${expected_output}" "${output}" diff --git a/test/config/data/tls_key-1.json b/test/config/data/tls_key-1.json new file mode 100644 index 0000000..5bba948 --- /dev/null +++ b/test/config/data/tls_key-1.json @@ -0,0 +1,21 @@ +[ + { + "hostnqn":"nqn.2014-08.org.nvmexpress:uuid:befdec4c-2234-11b2-a85c-ca77c773af36", + "hostid":"2cd2c43b-a90a-45c1-a8cd-86b33ab273b6", + "subsystems":[ + { + "nqn":"nqn.io-1", + "ports":[ + { + "transport":"tcp", + "traddr":"192.168.154.148", + "trsvcid":"4420", + "dhchap_key":"none", + "tls":true, + "tls_key":"NVMeTLSkey-1:01:Hhc5sFjwSZ6w5hPY19tqprajYtuYci3tN+Z2wGViDk3rpSR+:" + } + ] + } + ] + } +] diff --git a/test/config/data/tls_key-1.out b/test/config/data/tls_key-1.out new file mode 100644 index 0000000..5bba948 --- /dev/null +++ b/test/config/data/tls_key-1.out @@ -0,0 +1,21 @@ +[ + { + "hostnqn":"nqn.2014-08.org.nvmexpress:uuid:befdec4c-2234-11b2-a85c-ca77c773af36", + "hostid":"2cd2c43b-a90a-45c1-a8cd-86b33ab273b6", + "subsystems":[ + { + "nqn":"nqn.io-1", + "ports":[ + { + "transport":"tcp", + "traddr":"192.168.154.148", + "trsvcid":"4420", + "dhchap_key":"none", + "tls":true, + "tls_key":"NVMeTLSkey-1:01:Hhc5sFjwSZ6w5hPY19tqprajYtuYci3tN+Z2wGViDk3rpSR+:" + } + ] + } + ] + } +] diff --git a/test/config/data/tls_key-2.json b/test/config/data/tls_key-2.json new file mode 100644 index 0000000..9d6ce62 --- /dev/null +++ b/test/config/data/tls_key-2.json @@ -0,0 +1,22 @@ +[ + { + "hostnqn":"nqn.2014-08.org.nvmexpress:uuid:befdec4c-2234-11b2-a85c-ca77c773af36", + "hostid":"2cd2c43b-a90a-45c1-a8cd-86b33ab273b6", + "subsystems":[ + { + "nqn":"nqn.io-1", + "ports":[ + { + "transport":"tcp", + "traddr":"192.168.154.148", + "trsvcid":"4420", + "dhchap_key":"none", + "tls":true, + "tls_psk_identity":"NVMe1R01 nqn.2014-08.org.nvmexpress:uuid:befdec4c-2234-11b2-a85c-ca77c773af36 nqn.io-1 QMFIifx2SCVnlE2hc4MQb0r+2g56x3G7P6jJtDiYK+I=", + "tls_key":"NVMeTLSkey-1:01:Hhc5sFjwSZ6w5hPY19tqprajYtuYci3tN+Z2wGViDk3rpSR+:" + } + ] + } + ] + } +] diff --git a/test/config/data/tls_key-2.out b/test/config/data/tls_key-2.out new file mode 100644 index 0000000..5bba948 --- /dev/null +++ b/test/config/data/tls_key-2.out @@ -0,0 +1,21 @@ +[ + { + "hostnqn":"nqn.2014-08.org.nvmexpress:uuid:befdec4c-2234-11b2-a85c-ca77c773af36", + "hostid":"2cd2c43b-a90a-45c1-a8cd-86b33ab273b6", + "subsystems":[ + { + "nqn":"nqn.io-1", + "ports":[ + { + "transport":"tcp", + "traddr":"192.168.154.148", + "trsvcid":"4420", + "dhchap_key":"none", + "tls":true, + "tls_key":"NVMeTLSkey-1:01:Hhc5sFjwSZ6w5hPY19tqprajYtuYci3tN+Z2wGViDk3rpSR+:" + } + ] + } + ] + } +] diff --git a/test/config/meson.build b/test/config/meson.build index c1ee7ca..aeb5ccf 100644 --- a/test/config/meson.build +++ b/test/config/meson.build @@ -7,6 +7,10 @@ diff = find_program('diff', required : false) if diff.found() + + srcdir = meson.current_source_dir() + builddir = meson.current_build_dir() + config_dump = executable( 'test-config-dump', ['config-dump.c'], @@ -26,11 +30,11 @@ if diff.found() t_file, config_diff, args : [ - meson.current_build_dir(), config_dump.full_path(), - files('data'/t_file + '.tar.xz'), - files('data'/t_file + '.json'), - files('data'/t_file + '.out'), + builddir, + srcdir + '/data/' + t_file + '.out', + '--sysfs-tar', srcdir + '/data/' + t_file + '.tar.xz', + '--config-json', srcdir + '/data/' + t_file + '.json', ], depends : config_dump, ) @@ -47,13 +51,38 @@ if diff.found() 'hostnqn-order', config_diff, args : [ - meson.current_build_dir(), test_hostnqn_order.full_path(), - files('data/hostnqn-order.tar.xz'), - files('data/hostnqn-order.json'), - files('data/hostnqn-order.out'), + builddir, + srcdir + '/data/hostnqn-order.out', + '--sysfs-tar', srcdir + '/data/hostnqn-order.tar.xz', + '--config-json', srcdir + '/data/hostnqn-order.json', ], depends : test_hostnqn_order, ) + test_psk_json = executable( + 'test-psk-json', + ['psk-json.c'], + dependencies: libnvme_dep, + include_directories: [incdir], + ) + + config_data = [ + 'tls_key-1', + 'tls_key-2', + ] + + foreach t_file : config_data + test( + 'psk-json-' + t_file, + config_diff, + args : [ + test_psk_json.full_path(), + builddir, + srcdir + '/data/' + t_file + '.out', + '--config-json', srcdir + '/data/' + t_file + '.json', + ], + depends : test_psk_json, + ) + endforeach endif diff --git a/test/config/psk-json.c b/test/config/psk-json.c new file mode 100644 index 0000000..a96ebf1 --- /dev/null +++ b/test/config/psk-json.c @@ -0,0 +1,89 @@ +// SPDX-License-Identifier: LGPL-2.1-or-later +/** + * This file is part of libnvme. + * Copyright (c) 2024 Daniel Wagner, SUSE LLC + */ + +#include "nvme/linux.h" +#include "nvme/tree.h" +#include <string.h> +#include <stdbool.h> +#include <stdlib.h> +#include <errno.h> + +#include <libnvme.h> + +static bool import_export_key(nvme_ctrl_t c) +{ + unsigned char version, hmac, *key; + char *encoded_key; + size_t len; + + key = nvme_import_tls_key_versioned(nvme_ctrl_get_tls_key(c), + &version, &hmac, &len); + if (!key) { + printf("ERROR: nvme_import_tls_key_versioned failed with %d\n", + errno); + return false; + + } + + encoded_key = nvme_export_tls_key_versioned(version, hmac, key, len); + free(key); + if (!encoded_key) { + printf("ERROR: nvme_export_tls_key_versioned failed with %d\n", + errno); + return false; + } + + nvme_ctrl_set_tls_key(c, encoded_key); + + free(encoded_key); + + return true; +} + +static bool psk_json_test(char *file) +{ + bool pass = false; + nvme_root_t r; + nvme_host_t h; + nvme_subsystem_t s; + nvme_ctrl_t c; + int err; + + r = nvme_create_root(stderr, LOG_ERR); + if (!r) + return false; + + err = nvme_read_config(r, file); + if (err) + goto out; + + + nvme_for_each_host(r, h) + nvme_for_each_subsystem(h, s) + nvme_subsystem_for_each_ctrl(s, c) + if (!import_export_key(c)) + goto out; + + err = nvme_dump_config(r); + if (err) + goto out; + + pass = true; + +out: + nvme_free_tree(r); + return pass; +} + +int main(int argc, char *argv[]) +{ + bool pass; + + pass = psk_json_test(argv[1]); + fflush(stdout); + + exit(pass ? EXIT_SUCCESS : EXIT_FAILURE); +} diff --git a/test/meson.build b/test/meson.build index ca2a792..2ab7e31 100644 --- a/test/meson.build +++ b/test/meson.build @@ -104,6 +104,15 @@ if conf.get('HAVE_NETDB') test('util', test_util) endif +psk = executable( + 'test-psk', + ['psk.c'], + dependencies: libnvme_dep, + include_directories: [incdir, internal_incdir] +) + +test('psk', psk) + subdir('ioctl') subdir('nbft') @@ -1908,6 +1908,103 @@ static void test_endpoint_quirk_probe(struct nvme_mi_ep *ep) assert(rc == 0); } +struct req_dlen_doff_data { + enum { + DATA_DIR_IN, + DATA_DIR_OUT, + } direction; + unsigned int req_len; + unsigned int resp_len; + unsigned int exp_doff; +}; + +static int test_admin_dlen_doff_cb(struct nvme_mi_ep *ep, + struct nvme_mi_req *req, + struct nvme_mi_resp *resp, + void *data) +{ + struct req_dlen_doff_data *args = data; + __u8 *hdr = (__u8 *)req->hdr; + __u32 dlen, doff; + + dlen = hdr[35] << 24 | hdr[34] << 16 | hdr[33] << 8 | hdr[32]; + doff = hdr[39] << 24 | hdr[38] << 16 | hdr[37] << 8 | hdr[36]; + + if (args->direction == DATA_DIR_OUT) { + assert(dlen == args->req_len); + assert(dlen == req->data_len); + assert(doff == 0); + } else { + assert(dlen == args->resp_len); + assert(dlen == resp->data_len); + assert(doff == args->exp_doff); + } + + /* minimal valid response */ + hdr = (__u8 *)resp->hdr; + hdr[4] = 0x00; /* status: success */ + + test_transport_resp_calc_mic(resp); + + return 0; +} + +/* Check dlen value on admin_xfer requests that include data. */ +static void test_admin_dlen_doff_req(struct nvme_mi_ep *ep) +{ + struct { + struct nvme_mi_admin_req_hdr hdr; + unsigned char data[4096]; + } admin_req = { 0 }; + struct nvme_mi_admin_resp_hdr admin_resp = { 0 }; + struct req_dlen_doff_data data = { 0 }; + size_t resp_sz = 0; + nvme_mi_ctrl_t ctrl; + int rc; + + data.direction = DATA_DIR_OUT; + data.req_len = sizeof(admin_req.data); + + test_set_transport_callback(ep, test_admin_dlen_doff_cb, &data); + + ctrl = nvme_mi_init_ctrl(ep, 0); + assert(ctrl); + + rc = nvme_mi_admin_xfer(ctrl, &admin_req.hdr, sizeof(admin_req.data), + &admin_resp, 0, &resp_sz); + + assert(!rc); +}; + +/* Check dlen value on admin_xfer requests that return data in their response. + */ +static void test_admin_dlen_doff_resp(struct nvme_mi_ep *ep) +{ + struct { + struct nvme_mi_admin_resp_hdr hdr; + unsigned char data[4096]; + } admin_resp = { 0 }; + struct nvme_mi_admin_req_hdr admin_req = { 0 }; + struct req_dlen_doff_data data = { 0 }; + nvme_mi_ctrl_t ctrl; + size_t resp_sz; + int rc; + + data.direction = DATA_DIR_IN; + data.resp_len = sizeof(admin_resp.data); + resp_sz = sizeof(admin_resp.data); + + test_set_transport_callback(ep, test_admin_dlen_doff_cb, &data); + + ctrl = nvme_mi_init_ctrl(ep, 0); + assert(ctrl); + + rc = nvme_mi_admin_xfer(ctrl, &admin_req, 0, &admin_resp.hdr, 0, + &resp_sz); + + assert(!rc); +}; + #define DEFINE_TEST(name) { #name, test_ ## name } struct test { const char *name; @@ -1950,6 +2047,8 @@ struct test { DEFINE_TEST(admin_sanitize_nvm), DEFINE_TEST(admin_get_log_split), DEFINE_TEST(endpoint_quirk_probe), + DEFINE_TEST(admin_dlen_doff_req), + DEFINE_TEST(admin_dlen_doff_resp), }; static void run_test(struct test *test, FILE *logfd, nvme_mi_ep_t ep) diff --git a/test/psk.c b/test/psk.c new file mode 100644 index 0000000..02cb6d8 --- /dev/null +++ b/test/psk.c @@ -0,0 +1,225 @@ +// SPDX-License-Identifier: LGPL-2.1-or-later +/** + * This file is part of libnvme. + * Copyright (c) 2024 Daniel Wagner, SUSE Software Solutions + */ + +#include "nvme/linux.h" +#include <string.h> +#include <stdlib.h> +#include <errno.h> + +#include <ccan/array_size/array_size.h> + +#include <libnvme.h> + +static int test_rc; + +struct test_data { + const unsigned char configured_psk[48]; + size_t psk_length; + unsigned char version; + unsigned char hmac; + const char *exported_psk; +}; + +static struct test_data test_data[] = { + { { 0x55, 0x12, 0xDB, 0xB6, + 0x73, 0x7D, 0x01, 0x06, + 0xF6, 0x59, 0x75, 0xB7, + 0x73, 0xDF, 0xB0, 0x11, + 0xFF, 0xC3, 0x44, 0xBC, + 0xF4, 0x42, 0xE2, 0xDD, + 0x6D, 0x8B, 0xC4, 0x87, + 0x0B, 0x5D, 0x5B, 0x03}, + 32, 1, NVME_HMAC_ALG_NONE, + "NVMeTLSkey-1:00:VRLbtnN9AQb2WXW3c9+wEf/DRLz0QuLdbYvEhwtdWwNf9LrZ:" }, + { { 0x55, 0x12, 0xDB, 0xB6, + 0x73, 0x7D, 0x01, 0x06, + 0xF6, 0x59, 0x75, 0xB7, + 0x73, 0xDF, 0xB0, 0x11, + 0xFF, 0xC3, 0x44, 0xBC, + 0xF4, 0x42, 0xE2, 0xDD, + 0x6D, 0x8B, 0xC4, 0x87, + 0x0B, 0x5D, 0x5B, 0x03}, + 32, 1, NVME_HMAC_ALG_SHA2_256, + "NVMeTLSkey-1:01:VRLbtnN9AQb2WXW3c9+wEf/DRLz0QuLdbYvEhwtdWwNf9LrZ:" }, + { { 0x55, 0x12, 0xDB, 0xB6, + 0x73, 0x7D, 0x01, 0x06, + 0xF6, 0x59, 0x75, 0xB7, + 0x73, 0xDF, 0xB0, 0x11, + 0xFF, 0xC3, 0x44, 0xBC, + 0xF4, 0x42, 0xE2, 0xDD, + 0x6D, 0x8B, 0xC4, 0x87, + 0x0B, 0x5D, 0x5B, 0x03, + 0xFF, 0xC3, 0x44, 0xBC, + 0xF4, 0x42, 0xE2, 0xDD, + 0x6D, 0x8B, 0xC4, 0x87, + 0x0B, 0x5D, 0x5B, 0x03}, + 48, 1, NVME_HMAC_ALG_SHA2_384, + "NVMeTLSkey-1:02:VRLbtnN9AQb2WXW3c9+wEf/DRLz0QuLdbYvEhwtdWwP/w0S89ELi3W2LxIcLXVsDn8kXZQ==:" }, +}; + +static void check_str(const char *exp, const char *res) +{ + if (!strcmp(res, exp)) + return; + + printf("ERROR: got '%s', expected '%s'\n", res, exp); + + test_rc = 1; +} + +static void export_test(struct test_data *test) +{ + char *psk; + + if (test->version != 1 || + !(test->hmac == NVME_HMAC_ALG_SHA2_256 || + test->hmac == NVME_HMAC_ALG_SHA2_384)) + return; + + printf("test nvme_export_tls_key hmac %d %s\n", + test->hmac, test->exported_psk); + + psk = nvme_export_tls_key(test->configured_psk, test->psk_length); + if (!psk) { + test_rc = 1; + printf("ERROR: nvme_export_tls_key() failed with %d\n", errno); + return; + } + check_str(test->exported_psk, psk); + free(psk); +} + +static void import_test(struct test_data *test) +{ + unsigned char *psk; + int psk_length; + unsigned int hmac; + + if (test->version != 1 || + !(test->hmac == NVME_HMAC_ALG_SHA2_256 || + test->hmac == NVME_HMAC_ALG_SHA2_384)) + return; + + printf("test nvme_import_tls_key hmac %d %s\n", + test->hmac, test->exported_psk); + + psk = nvme_import_tls_key(test->exported_psk, &psk_length, &hmac); + if (!psk) { + test_rc = 1; + printf("ERROR: nvme_import_tls_key() failed with %d\n", errno); + return; + } + + if (test->hmac != hmac) { + test_rc = 1; + printf("ERROR: hmac parsing failed\n"); + goto out; + } + + if (test->psk_length != psk_length) { + test_rc = 1; + printf("ERROR: length parsing failed\n"); + goto out; + } + if (memcmp(test->configured_psk, psk, psk_length)) { + test_rc = 1; + printf("ERROR: parsing psk failed\n"); + } + +out: + free(psk); +} + +static void export_versioned_test(struct test_data *test) +{ + char *psk; + + if (test->version != 1) + return; + + printf("test nvme_export_tls_key_versioned hmac %d %s\n", + test->hmac, test->exported_psk); + + psk = nvme_export_tls_key_versioned(test->version, test->hmac, + test->configured_psk, + test->psk_length); + if (!psk) { + test_rc = 1; + printf("ERROR: nvme_export_tls_key_versioned() failed with %d\n", + errno); + return; + } + + check_str(test->exported_psk, psk); + + free(psk); +} + +static void import_versioned_test(struct test_data *test) +{ + unsigned char *psk; + unsigned char version; + unsigned char hmac; + size_t psk_length; + + if (test->version != 1) + return; + + printf("test nvme_import_tls_key_versioned hmac %d %s\n", + test->hmac, test->exported_psk); + + psk = nvme_import_tls_key_versioned(test->exported_psk, &version, + &hmac, &psk_length); + if (!psk) { + test_rc = 1; + printf("ERROR: nvme_import_tls_key_versioned() failed with %d\n", + errno); + return; + } + + if (test->version != version) { + test_rc = 1; + printf("ERROR: version parsing failed\n"); + goto out; + } + + if (test->hmac != hmac) { + test_rc = 1; + printf("ERROR: hmac parsing failed\n"); + goto out; + } + + if (test->psk_length != psk_length) { + test_rc = 1; + printf("ERROR: length parsing failed\n"); + goto out; + } + + if (memcmp(test->configured_psk, psk, psk_length)) { + test_rc = 1; + printf("ERROR: parsing psk failed\n"); + } + +out: + free(psk); +} + +int main(void) +{ + for (int i = 0; i < ARRAY_SIZE(test_data); i++) + export_test(&test_data[i]); + + for (int i = 0; i < ARRAY_SIZE(test_data); i++) + import_test(&test_data[i]); + + for (int i = 0; i < ARRAY_SIZE(test_data); i++) + export_versioned_test(&test_data[i]); + + for (int i = 0; i < ARRAY_SIZE(test_data); i++) + import_versioned_test(&test_data[i]); + + return test_rc ? EXIT_FAILURE : EXIT_SUCCESS; +} |