ntioring_x.h 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. /**
  2. * This file has no copyright assigned and is placed in the Public Domain.
  3. * This file is part of the mingw-w64 runtime package.
  4. * No warranty is given; refer to the file DISCLAIMER.PD within this package.
  5. */
  6. #ifndef _NTIORINGX_H_
  7. #define _NTIORINGX_H_
  8. #ifdef __cplusplus
  9. extern "C" {
  10. #endif
  11. #if NTDDI_VERSION >= NTDDI_WIN10_CO
  12. typedef enum IORING_VERSION {
  13. IORING_VERSION_INVALID = 0,
  14. IORING_VERSION_1
  15. } IORING_VERSION;
  16. typedef enum IORING_FEATURE_FLAGS {
  17. IORING_FEATURE_FLAGS_NONE = 0,
  18. IORING_FEATURE_UM_EMULATION = 0x00000001,
  19. IORING_FEATURE_SET_COMPLETION_EVENT = 0x00000002
  20. } IORING_FEATURE_FLAGS;
  21. DEFINE_ENUM_FLAG_OPERATORS(IORING_FEATURE_FLAGS)
  22. typedef enum IORING_OP_CODE {
  23. IORING_OP_NOP,
  24. IORING_OP_READ,
  25. IORING_OP_REGISTER_FILES,
  26. IORING_OP_REGISTER_BUFFERS,
  27. IORING_OP_CANCEL
  28. } IORING_OP_CODE;
  29. typedef struct IORING_BUFFER_INFO {
  30. void* Address;
  31. UINT32 Length;
  32. } IORING_BUFFER_INFO;
  33. typedef struct IORING_REGISTERED_BUFFER {
  34. UINT32 BufferIndex;
  35. UINT32 Offset;
  36. } IORING_REGISTERED_BUFFER;
  37. #define IORING_SUBMIT_WAIT_ALL MAXUINT32
  38. #endif /* NTDDI_WIN10_CO */
  39. #ifdef __cplusplus
  40. }
  41. #endif
  42. #endif /* _NTIORINGX_H_ */