summaryrefslogtreecommitdiffstats
path: root/doc/man/nvme_io_args.2
blob: 4993da8257af8b0a268daeeb5f9400b2d3ae96a7 (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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
.TH "libnvme" 9 "struct nvme_io_args" "April 2022" "API Manual" LINUX
.SH NAME
struct nvme_io_args \- Arguments for NVMe I/O commands
.SH SYNOPSIS
struct nvme_io_args {
.br
.BI "    __u64 slba;"
.br
.BI "    __u64 storage_tag;"
.br
.BI "    __u32 *result;"
.br
.BI "    void *data;"
.br
.BI "    void *metadata;"
.br
.BI "    int args_size;"
.br
.BI "    int fd;"
.br
.BI "    __u32 timeout;"
.br
.BI "    __u32 nsid;"
.br
.BI "    __u32 reftag;"
.br
.BI "    __u32 data_len;"
.br
.BI "    __u32 metadata_len;"
.br
.BI "    __u16 nlb;"
.br
.BI "    __u16 control;"
.br
.BI "    __u16 apptag;"
.br
.BI "    __u16 appmask;"
.br
.BI "    __u16 dspec;"
.br
.BI "    __u8 dsm;"
.br
.BI "
};
.br

.SH Members
.IP "slba" 12
Starting logical block
.IP "storage_tag" 12
This filed specifies Variable Sized Expected Logical Block
Storage Tag (ELBST) and Expected Logical Block Reference
Tag (ELBRT)
.IP "result" 12
The command completion result from CQE dword0
.IP "data" 12
Pointer to user address of the data buffer
.IP "metadata" 12
Pointer to user address of the metadata buffer
.IP "args_size" 12
Size of \fIstruct nvme_io_args\fP
.IP "fd" 12
File descriptor of nvme device
.IP "timeout" 12
Timeout in ms
.IP "nsid" 12
Namespace ID
.IP "reftag" 12
This field specifies the Initial Logical Block Reference Tag
expected value. Used only if the namespace is formatted to use
end-to-end protection information.
.IP "data_len" 12
Length of user buffer, \fIdata\fP, in bytes
.IP "metadata_len" 12
Length of user buffer, \fImetadata\fP, in bytes
.IP "nlb" 12
Number of logical blocks to send (0's based value)
.IP "control" 12
Command control flags, see \fIenum nvme_io_control_flags\fP.
.IP "apptag" 12
This field specifies the Application Tag Mask expected value.
Used only if the namespace is formatted to use end-to-end
protection information.
.IP "appmask" 12
This field specifies the Application Tag expected value. Used
only if the namespace is formatted to use end-to-end protection
information.
.IP "dspec" 12
Directive specific value
.IP "dsm" 12
Data set management attributes, see \fIenum nvme_io_dsm_flags\fP