summaryrefslogtreecommitdiffstats
path: root/nvmeprint.h
blob: 9d56a1b5ed644e171ef74a26969654f6dcbe4620 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
/*
 * nvmeprint.h
 *
 * Home page of code is: https://www.smartmontools.org
 *
 * Copyright (C) 2016-22 Christian Franke
 *
 * SPDX-License-Identifier: GPL-2.0-or-later
 */

#ifndef NVMEPRINT_H
#define NVMEPRINT_H

#define NVMEPRINT_H_CVSID "$Id: nvmeprint.h 5408 2022-09-18 14:50:33Z chrfranke $"

#include "nvmecmds.h"

// options for nvmePrintMain
struct nvme_print_options
{
  bool drive_info = false;
  bool drive_capabilities = false;
  bool smart_check_status = false;
  bool smart_vendor_attrib = false;
  bool smart_selftest_log = false;
  unsigned char smart_selftest_type = 0; // 0 = no test, 1 = short, 2 = extended, 0xf = abort
  unsigned error_log_entries = 0;
  unsigned char log_page = 0;
  unsigned log_page_size = 0;
};

int nvmePrintMain(nvme_device * device, const nvme_print_options & options);

#endif // NVMEPRINT_H