|
XenevaOS
|
#include <nvme.h>

Public Attributes | ||
| struct { | ||
| uint32_t opcode: 8 | ||
| uint32_t fuse: 2 | ||
| uint32_t reserved: 4 | ||
| uint32_t psdt: 2 | ||
| uint32_t commandID: 16 | ||
| }; | ||
| uint32_t | nsid | |
| uint64_t | resv | |
| uint64_t | metadataPtr | |
| uint64_t | prp1 | |
| uint64_t | prp2 | |
| union { | ||
| struct { | ||
| uint32_t cmdDwords [6] | ||
| } | ||
| NVMeIdentifyCommand identify | ||
| NVMeCreateIOCompletionQueueCommand createIOCQ | ||
| NVMeCreateIOSubmissionQueueCommand createIOSQ | ||
| NVMeDeleteIOQueueCommand deleteIOQ | ||
| NVMeSetFeatureCommand setFeatures | ||
| NVMeReadCommand read | ||
| NVMeWriteCommand write | ||
| }; | ||
| struct { ... } _nvme_cmd_ |
| union { ... } _nvme_cmd_ |
| uint32_t _nvme_cmd_::cmdDwords[6] |
| uint32_t _nvme_cmd_::commandID |
| NVMeCreateIOCompletionQueueCommand _nvme_cmd_::createIOCQ |
| NVMeCreateIOSubmissionQueueCommand _nvme_cmd_::createIOSQ |
| NVMeDeleteIOQueueCommand _nvme_cmd_::deleteIOQ |
| uint32_t _nvme_cmd_::fuse |
| NVMeIdentifyCommand _nvme_cmd_::identify |
| uint64_t _nvme_cmd_::metadataPtr |
| uint32_t _nvme_cmd_::nsid |
| uint32_t _nvme_cmd_::opcode |
| uint64_t _nvme_cmd_::prp1 |
| uint64_t _nvme_cmd_::prp2 |
| uint32_t _nvme_cmd_::psdt |
| NVMeReadCommand _nvme_cmd_::read |
| uint32_t _nvme_cmd_::reserved |
| uint64_t _nvme_cmd_::resv |
| NVMeSetFeatureCommand _nvme_cmd_::setFeatures |
| NVMeWriteCommand _nvme_cmd_::write |