1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
3 * Definitions for the NVM Express ioctl interface
4 * Copyright (c) 2011-2014, Intel Corporation.
7 #ifndef _UAPI_LINUX_NVME_IOCTL_H
8 #define _UAPI_LINUX_NVME_IOCTL_H
10 #include <linux/types.h>
27 struct nvme_passthru_cmd {
48 struct nvme_passthru_cmd64 {
70 #define nvme_admin_cmd nvme_passthru_cmd
72 #define NVME_IOCTL_ID _IO('N', 0x40)
73 #define NVME_IOCTL_ADMIN_CMD _IOWR('N', 0x41, struct nvme_admin_cmd)
74 #define NVME_IOCTL_SUBMIT_IO _IOW('N', 0x42, struct nvme_user_io)
75 #define NVME_IOCTL_IO_CMD _IOWR('N', 0x43, struct nvme_passthru_cmd)
76 #define NVME_IOCTL_RESET _IO('N', 0x44)
77 #define NVME_IOCTL_SUBSYS_RESET _IO('N', 0x45)
78 #define NVME_IOCTL_RESCAN _IO('N', 0x46)
79 #define NVME_IOCTL_ADMIN64_CMD _IOWR('N', 0x47, struct nvme_passthru_cmd64)
80 #define NVME_IOCTL_IO64_CMD _IOWR('N', 0x48, struct nvme_passthru_cmd64)
82 #endif /* _UAPI_LINUX_NVME_IOCTL_H */