aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/libs/linux-headers/linux/nvme_ioctl.h
diff options
context:
space:
mode:
authorthegeorg <thegeorg@yandex-team.com>2022-12-15 19:25:15 +0300
committerthegeorg <thegeorg@yandex-team.com>2022-12-15 19:25:15 +0300
commit0c31d97afd7858af5f8f858c8addf91655ca9ccc (patch)
tree4d8a246db168f7beaafcd06d486c034115c2123d /contrib/libs/linux-headers/linux/nvme_ioctl.h
parentd1d5f5e00df0dd6efc00880dd8283477fc643aaf (diff)
downloadydb-0c31d97afd7858af5f8f858c8addf91655ca9ccc.tar.gz
Sync linux-headers instead of using system ones
Diffstat (limited to 'contrib/libs/linux-headers/linux/nvme_ioctl.h')
-rw-r--r--contrib/libs/linux-headers/linux/nvme_ioctl.h82
1 files changed, 82 insertions, 0 deletions
diff --git a/contrib/libs/linux-headers/linux/nvme_ioctl.h b/contrib/libs/linux-headers/linux/nvme_ioctl.h
new file mode 100644
index 0000000000..2ebe5d600a
--- /dev/null
+++ b/contrib/libs/linux-headers/linux/nvme_ioctl.h
@@ -0,0 +1,82 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+/*
+ * Definitions for the NVM Express ioctl interface
+ * Copyright (c) 2011-2014, Intel Corporation.
+ */
+
+#ifndef _LINUX_NVME_IOCTL_H
+#define _LINUX_NVME_IOCTL_H
+
+#include <linux/types.h>
+
+struct nvme_user_io {
+ __u8 opcode;
+ __u8 flags;
+ __u16 control;
+ __u16 nblocks;
+ __u16 rsvd;
+ __u64 metadata;
+ __u64 addr;
+ __u64 slba;
+ __u32 dsmgmt;
+ __u32 reftag;
+ __u16 apptag;
+ __u16 appmask;
+};
+
+struct nvme_passthru_cmd {
+ __u8 opcode;
+ __u8 flags;
+ __u16 rsvd1;
+ __u32 nsid;
+ __u32 cdw2;
+ __u32 cdw3;
+ __u64 metadata;
+ __u64 addr;
+ __u32 metadata_len;
+ __u32 data_len;
+ __u32 cdw10;
+ __u32 cdw11;
+ __u32 cdw12;
+ __u32 cdw13;
+ __u32 cdw14;
+ __u32 cdw15;
+ __u32 timeout_ms;
+ __u32 result;
+};
+
+struct nvme_passthru_cmd64 {
+ __u8 opcode;
+ __u8 flags;
+ __u16 rsvd1;
+ __u32 nsid;
+ __u32 cdw2;
+ __u32 cdw3;
+ __u64 metadata;
+ __u64 addr;
+ __u32 metadata_len;
+ __u32 data_len;
+ __u32 cdw10;
+ __u32 cdw11;
+ __u32 cdw12;
+ __u32 cdw13;
+ __u32 cdw14;
+ __u32 cdw15;
+ __u32 timeout_ms;
+ __u32 rsvd2;
+ __u64 result;
+};
+
+#define nvme_admin_cmd nvme_passthru_cmd
+
+#define NVME_IOCTL_ID _IO('N', 0x40)
+#define NVME_IOCTL_ADMIN_CMD _IOWR('N', 0x41, struct nvme_admin_cmd)
+#define NVME_IOCTL_SUBMIT_IO _IOW('N', 0x42, struct nvme_user_io)
+#define NVME_IOCTL_IO_CMD _IOWR('N', 0x43, struct nvme_passthru_cmd)
+#define NVME_IOCTL_RESET _IO('N', 0x44)
+#define NVME_IOCTL_SUBSYS_RESET _IO('N', 0x45)
+#define NVME_IOCTL_RESCAN _IO('N', 0x46)
+#define NVME_IOCTL_ADMIN64_CMD _IOWR('N', 0x47, struct nvme_passthru_cmd64)
+#define NVME_IOCTL_IO64_CMD _IOWR('N', 0x48, struct nvme_passthru_cmd64)
+
+#endif /* _LINUX_NVME_IOCTL_H */