NVME-MANGOBOOST-ID(1) NVMe Manual NVME-MANGOBOOST-ID(1) نام (NAME) nvme-mangoboost-id-ctrl - ارسال دستور شناسایی کنترلر NVMe و بازگرداندن نتیجه و ساختار خلاصه دستور (SYNOPSIS) nvme mangoboost id-ctrl [--vendor-specific | -V] [--raw-binary | -b] [--output-format= | -o ] [--verbose | -v] توضیحات (DESCRIPTION) برای دستگاه NVMe داده‌شده، یک دستور شناسایی کنترلر (identify controller) ارسال کرده و نتیجه و ساختار بازگردانده‌شده را ارائه می‌دهد. پارامتر اجباری است و می‌تواند یک دستگاه کاراکتری NVMe (مانند: /dev/nvme0) یا یک دستگاه بلوکی فضای نام (مانند: /dev/nvme0n1) باشد. در صورت موفقیت، بسته به فلگ‌های گزینه، ساختار ممکن است به یکی از چند روش بازگردانده شود؛ ساختار می‌تواند توسط برنامه تجزیه شود یا بافر خام در خروجی استاندارد (stdout) چاپ گردد. در صورتی که برنامه خروجی را جهت خوانایی رمزگشایی کند، این نسخه بخش‌های اختصاصی و منحصربه‌فرد سازنده منگوبوست (MangoBoost) از ساختار را رمزگشایی خواهد کرد. گزینه‌ها (OPTIONS) -b, --raw-binary چاپ بافر خام در خروجی استاندارد (stdout). ساختار توسط برنامه تجزیه نمی‌شود. این گزینه بر گزینه‌های vendor specific و human readable تقدم داشته و آن‌ها را لغو می‌کند. -V, --vendor-specific علاوه بر تجزیه فیلدهای شناخته‌شده، این گزینه بخش اختصاصی سازنده (vendor specific) در ساختار را به صورت هگزادسیمال همراه با تفسیر اسکی دامپ می‌کند. -H, --human-readable این گزینه بسیاری از فیلدهای بیتی را تجزیه کرده و در قالب‌های خوانا برای انسان قالب‌بندی می‌کند. -o , --output-format= تنظیم قالب گزارش‌دهی روی normal، json یا binary. در هر زمان تنها یک قالب خروجی می‌تواند استفاده شود. -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 را به صورت هگزادسیمال دامپ می‌کند، زیرا نحوه تفسیر آن را نمی‌داند. • بازگرداندن ساختار خام به صورت دودویی (binary) توسط برنامه: # 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 #include #include 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(1)، nvme-id-ctrl(1) NVME بخشی از مجموعهٔ nvme-user NVMe 02/16/2026 NVME-MANGOBOOST-ID(1)