1
0
mirror of https://github.com/wine-mirror/wine synced 2024-06-29 06:14:34 +00:00

include: Add initial ioring definitions.

This commit is contained in:
Paul Gofman 2023-07-10 14:09:22 -06:00 committed by Alexandre Julliard
parent cdeeffb90a
commit 27fc318161
3 changed files with 83 additions and 0 deletions

View File

@ -376,6 +376,7 @@ SOURCES = \
inspectable.idl \
interactioncontext.h \
intshcut.h \
ioringapi.h \
ip2string.h \
ipexport.h \
iphlpapi.h \
@ -575,6 +576,7 @@ SOURCES = \
ntdef.h \
ntdsapi.h \
ntgdi.h \
ntioring_x.h \
ntlsa.h \
ntquery.h \
ntsecapi.h \

42
include/ioringapi.h Normal file
View File

@ -0,0 +1,42 @@
/*
* Copyright (C) 2023 Paul Gofman for CodeWeavers
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#ifndef __IORINGAPI_H_
#define __IORINGAPI_H_
#include <ntioring_x.h>
struct IORING_CAPABILITIES
{
IORING_VERSION MaxVersion;
UINT32 MaxSubmissionQueueSize;
UINT32 MaxCompletionQueueSize;
IORING_FEATURE_FLAGS FeatureFlags;
};
typedef struct IORING_CAPABILITIES IORING_CAPABILITIES;
#ifdef __cplusplus
extern "C" {
#endif
HRESULT WINAPI QueryIoRingCapabilities(IORING_CAPABILITIES *caps);
#ifdef __cplusplus
}
#endif
#endif

39
include/ntioring_x.h Normal file
View File

@ -0,0 +1,39 @@
/*
* Copyright (C) 2023 Paul Gofman for CodeWeavers
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#ifndef __NTIORING_X_H_
#define __NTIORING_X_H_
enum IORING_VERSION
{
IORING_VERSION_INVALID = 0,
IORING_VERSION_1 = 1,
IORING_VERSION_2 = 2,
IORING_VERSION_3 = 300,
};
typedef enum IORING_VERSION IORING_VERSION;
enum IORING_FEATURE_FLAGS
{
IORING_FEATURE_FLAGS_NONE = 0,
IORING_FEATURE_UM_EMULATION = 0x00000001,
IORING_FEATURE_SET_COMPLETION_EVENT = 0x00000002,
};
typedef enum IORING_FEATURE_FLAGS IORING_FEATURE_FLAGS;
#endif