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

NAME

       enum nvme_status_type - type encoding for NVMe return values, when represented as an int.

SYNOPSIS

       enum nvme_status_type {
           NVME_STATUS_TYPE_SHIFT ,
           NVME_STATUS_TYPE_MASK ,
           NVME_STATUS_TYPE_NVME ,
           NVME_STATUS_TYPE_MI

       };

Constants

       NVME_STATUS_TYPE_SHIFT
                   shift value for status bits

       NVME_STATUS_TYPE_MASK
                   mask value for status bits

       NVME_STATUS_TYPE_NVME
                   NVMe command status value, typically from CDW3

       NVME_STATUS_TYPE_MI
                   NVMe-MI header status

Description

       The  nvme_*  api  returns  an  int, with negative values indicating an internal or syscall
       error, zero signifying success, positive values representing the NVMe status.

       That latter case (the NVMe status) may represent status values from different parts of the
       transport/controller/etc, and are at most 16 bits of data. So, we use the most-significant
       3 bits of the signed int to indicate which type of status this is.