Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Linux/include/uapi/linux/   (Open Source Betriebssystem Version 6.17.9©)  Datei vom 24.10.2025 mit Größe 2 kB image not shown  

Quelle  nvme_ioctl.h   Sprache: C

 
/* 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 {
 __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 /* _UAPI_LINUX_NVME_IOCTL_H */

100%


¤ Dauer der Verarbeitung: 0.3 Sekunden  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung ist noch experimentell.