linux/include/uapi/linux/nvme_ioctl.h

/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
/*
 * Definitions for the NVM Express ioctl interface
 * Copyright (c) 2011-2014, Intel Corporation.
 */

#ifndef _UAPI_LINUX_NVME_IOCTL_H
#define _UAPI_LINUX_NVME_IOCTL_H

#include <linux/types.h>

struct nvme_user_io {};

struct nvme_passthru_cmd {};

struct nvme_passthru_cmd64 {};

/* same as struct nvme_passthru_cmd64, minus the 8b result field */
struct nvme_uring_cmd {};

#define nvme_admin_cmd

#define NVME_IOCTL_ID
#define NVME_IOCTL_ADMIN_CMD
#define NVME_IOCTL_SUBMIT_IO
#define NVME_IOCTL_IO_CMD
#define NVME_IOCTL_RESET
#define NVME_IOCTL_SUBSYS_RESET
#define NVME_IOCTL_RESCAN
#define NVME_IOCTL_ADMIN64_CMD
#define NVME_IOCTL_IO64_CMD
#define NVME_IOCTL_IO64_CMD_VEC

/* io_uring async commands: */
#define NVME_URING_CMD_IO
#define NVME_URING_CMD_IO_VEC
#define NVME_URING_CMD_ADMIN
#define NVME_URING_CMD_ADMIN_VEC

#endif /* _UAPI_LINUX_NVME_IOCTL_H */