smartmontools
SVN Rev 5645
Utility to control and monitor storage systems with "S.M.A.R.T."
linux_nvme_ioctl.h
Go to the documentation of this file.
1
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2
/*
3
* Definitions for the NVM Express ioctl interface
4
* Copyright (c) 2011-2014, Intel Corporation.
5
*/
6
7
#ifndef _UAPI_LINUX_NVME_IOCTL_H
8
#define _UAPI_LINUX_NVME_IOCTL_H
9
10
#include <linux/types.h>
11
12
struct
nvme_user_io
{
13
__u8
opcode
;
14
__u8
flags
;
15
__u16
control
;
16
__u16
nblocks
;
17
__u16
rsvd
;
18
__u64
metadata
;
19
__u64
addr
;
20
__u64
slba
;
21
__u32
dsmgmt
;
22
__u32
reftag
;
23
__u16
apptag
;
24
__u16
appmask
;
25
};
26
27
struct
nvme_passthru_cmd
{
28
__u8
opcode
;
29
__u8
flags
;
30
__u16
rsvd1
;
31
__u32
nsid
;
32
__u32
cdw2
;
33
__u32
cdw3
;
34
__u64
metadata
;
35
__u64
addr
;
36
__u32
metadata_len
;
37
__u32
data_len
;
38
__u32
cdw10
;
39
__u32
cdw11
;
40
__u32
cdw12
;
41
__u32
cdw13
;
42
__u32
cdw14
;
43
__u32
cdw15
;
44
__u32
timeout_ms
;
45
__u32
result
;
46
};
47
48
#define nvme_admin_cmd nvme_passthru_cmd
49
50
#define NVME_IOCTL_ID _IO('N', 0x40)
51
#define NVME_IOCTL_ADMIN_CMD _IOWR('N', 0x41, struct nvme_admin_cmd)
52
#define NVME_IOCTL_SUBMIT_IO _IOW('N', 0x42, struct nvme_user_io)
53
#define NVME_IOCTL_IO_CMD _IOWR('N', 0x43, struct nvme_passthru_cmd)
54
#define NVME_IOCTL_RESET _IO('N', 0x44)
55
#define NVME_IOCTL_SUBSYS_RESET _IO('N', 0x45)
56
#define NVME_IOCTL_RESCAN _IO('N', 0x46)
57
58
#endif
/* _UAPI_LINUX_NVME_IOCTL_H */
nvme_passthru_cmd
Definition:
linux_nvme_ioctl.h:27
nvme_passthru_cmd::metadata_len
__u32 metadata_len
Definition:
linux_nvme_ioctl.h:36
nvme_passthru_cmd::data_len
__u32 data_len
Definition:
linux_nvme_ioctl.h:37
nvme_passthru_cmd::cdw11
__u32 cdw11
Definition:
linux_nvme_ioctl.h:39
nvme_passthru_cmd::timeout_ms
__u32 timeout_ms
Definition:
linux_nvme_ioctl.h:44
nvme_passthru_cmd::cdw12
__u32 cdw12
Definition:
linux_nvme_ioctl.h:40
nvme_passthru_cmd::addr
__u64 addr
Definition:
linux_nvme_ioctl.h:35
nvme_passthru_cmd::opcode
__u8 opcode
Definition:
linux_nvme_ioctl.h:28
nvme_passthru_cmd::cdw14
__u32 cdw14
Definition:
linux_nvme_ioctl.h:42
nvme_passthru_cmd::rsvd1
__u16 rsvd1
Definition:
linux_nvme_ioctl.h:30
nvme_passthru_cmd::cdw13
__u32 cdw13
Definition:
linux_nvme_ioctl.h:41
nvme_passthru_cmd::flags
__u8 flags
Definition:
linux_nvme_ioctl.h:29
nvme_passthru_cmd::nsid
__u32 nsid
Definition:
linux_nvme_ioctl.h:31
nvme_passthru_cmd::cdw15
__u32 cdw15
Definition:
linux_nvme_ioctl.h:43
nvme_passthru_cmd::cdw10
__u32 cdw10
Definition:
linux_nvme_ioctl.h:38
nvme_passthru_cmd::result
__u32 result
Definition:
linux_nvme_ioctl.h:45
nvme_passthru_cmd::cdw3
__u32 cdw3
Definition:
linux_nvme_ioctl.h:33
nvme_passthru_cmd::cdw2
__u32 cdw2
Definition:
linux_nvme_ioctl.h:32
nvme_passthru_cmd::metadata
__u64 metadata
Definition:
linux_nvme_ioctl.h:34
nvme_user_io
Definition:
linux_nvme_ioctl.h:12
nvme_user_io::opcode
__u8 opcode
Definition:
linux_nvme_ioctl.h:13
nvme_user_io::reftag
__u32 reftag
Definition:
linux_nvme_ioctl.h:22
nvme_user_io::control
__u16 control
Definition:
linux_nvme_ioctl.h:15
nvme_user_io::apptag
__u16 apptag
Definition:
linux_nvme_ioctl.h:23
nvme_user_io::metadata
__u64 metadata
Definition:
linux_nvme_ioctl.h:18
nvme_user_io::addr
__u64 addr
Definition:
linux_nvme_ioctl.h:19
nvme_user_io::appmask
__u16 appmask
Definition:
linux_nvme_ioctl.h:24
nvme_user_io::flags
__u8 flags
Definition:
linux_nvme_ioctl.h:14
nvme_user_io::dsmgmt
__u32 dsmgmt
Definition:
linux_nvme_ioctl.h:21
nvme_user_io::slba
__u64 slba
Definition:
linux_nvme_ioctl.h:20
nvme_user_io::nblocks
__u16 nblocks
Definition:
linux_nvme_ioctl.h:16
nvme_user_io::rsvd
__u16 rsvd
Definition:
linux_nvme_ioctl.h:17
Generated on Tue Dec 10 2024 22:05:02 for smartmontools by
1.9.6