| NVME-MANGOBOOST-ID(1) | NVMe Manual | NVME-MANGOBOOST-ID(1) |
نام (NAME)
nvme-mangoboost-id-ctrl - ارسال دستور شناسایی کنترلر NVMe و بازگرداندن نتیجه و ساختار
خلاصه دستور (SYNOPSIS)
nvme mangoboost id-ctrl <device> [--vendor-specific | -V] [--raw-binary | -b]
[--output-format=<fmt> | -o <fmt>] [--verbose | -v]
توضیحات (DESCRIPTION)
برای دستگاه NVMe دادهشده، یک دستور شناسایی کنترلر (identify controller) ارسال کرده و نتیجه و ساختار بازگرداندهشده را ارائه میدهد.
پارامتر <device> اجباری است و میتواند یک دستگاه کاراکتری NVMe (مانند: /dev/nvme0) یا یک دستگاه بلوکی فضای نام (مانند: /dev/nvme0n1) باشد.
در صورت موفقیت، بسته به فلگهای گزینه، ساختار ممکن است به یکی از چند روش بازگردانده شود؛ ساختار میتواند توسط برنامه تجزیه شود یا بافر خام در خروجی استاندارد (stdout) چاپ گردد.
در صورتی که برنامه خروجی را جهت خوانایی رمزگشایی کند، این نسخه بخشهای اختصاصی و منحصربهفرد سازنده منگوبوست (MangoBoost) از ساختار را رمزگشایی خواهد کرد.
گزینهها (OPTIONS)
-b, --raw-binary
-V, --vendor-specific
-H, --human-readable
-o <fmt>, --output-format=<fmt>
-v, --verbose
مثالها (EXAMPLES)
# nvme mangoboost id-ctrl /dev/nvme0
# nvme mangoboost id-ctrl /dev/nvme0 --vendor-specific # nvme mangoboost id-ctrl /dev/nvme0 -V
دستور فوق بافر vs را به صورت هگزادسیمال دامپ میکند، زیرا نحوه تفسیر آن را نمیداند.
# nvme mangoboost id-ctrl /dev/nvme0 --raw-binary > id_ctrl.raw # nvme mangoboost id-ctrl /dev/nvme0 -b > id_ctrl.raw
عدم هدایت خروجی استاندارد (stdout) هنگام استفاده از این حالت احتمالاً ایده خوبی نیست.
# nvme mangoboost id-ctrl /dev/nvme0 --raw-binary | nvme_parse_id_ctrl
برنامه تجزیهکننده در مثال بالا میتواند برنامهای باشد که ساختار را به شیوه دلخواه شما نشان دهد. برنامه زیر نمونهای از این دست است که آن را تجزیه میکند و میتواند خروجی را از طریق یک لوله (pipe)، '|'، همانطور که در مثال بالا نشان داده شده دریافت کند، یا میتوانید با 'cat' یک بافر خروجی ذخیرهشده را به آن هدایت کنید.
/* File: nvme_parse_id_ctrl.c */
#include <linux/nvme.h>
#include <stdio.h>
#include <unistd.h>
int main(int argc, char **argv)
{
unsigned char buf[sizeof(struct nvme_id_ctrl)];
struct nvme_id_ctrl *ctrl = (struct nvme_id_ctrl *)buf;
if (read(STDIN_FILENO, buf, sizeof(buf)))
return 1;
printf("vid : %#x\n", ctrl->vid);
printf("ssvid : %#x\n", ctrl->ssvid);
return 0;
}
همچنین ببینید (SEE ALSO)
NVME
بخشی از مجموعهٔ nvme-user
| 02/16/2026 | NVMe |