diff options
author | alexv-smirnov <alex@ydb.tech> | 2022-12-20 00:50:48 +0300 |
---|---|---|
committer | alexv-smirnov <alex@ydb.tech> | 2022-12-20 00:50:48 +0300 |
commit | 84f2cfa253cc618438ed6e9d68b33fa7c0d88cb9 (patch) | |
tree | f0cf2236e0aafb3e437199f1ac7b559e7fad554a /contrib/tools/bison/gnulib/win_sdk10.h | |
parent | bde6febc1ad3b826e72746de21d7250803e8e0b5 (diff) | |
download | ydb-84f2cfa253cc618438ed6e9d68b33fa7c0d88cb9.tar.gz |
add windows platform to ydb github export
Diffstat (limited to 'contrib/tools/bison/gnulib/win_sdk10.h')
-rw-r--r-- | contrib/tools/bison/gnulib/win_sdk10.h | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/contrib/tools/bison/gnulib/win_sdk10.h b/contrib/tools/bison/gnulib/win_sdk10.h new file mode 100644 index 0000000000..76e5c86ccd --- /dev/null +++ b/contrib/tools/bison/gnulib/win_sdk10.h @@ -0,0 +1,55 @@ +#pragma once + +#if defined(_MSC_VER) + +#include <ntverp.h> + +// Check for Windows SDK 10+ +#if defined(VER_PRODUCTBUILD) && VER_PRODUCTBUILD >= 9600 +#define WIN_SDK10 1 +#else +#define WIN_SDK10 0 +#endif + +// Since Windows SDK 10 FILE is an internal opaque structure with no backward compatibility. +// This code has been transplanted from Windows SDK +// corecrt_internal_stdio.h + +// __crt_stdio_stream_data +#if WIN_SDK10 +typedef struct { + union { + void* _public_file; + char* _ptr; + }; + + char* _base; + int _cnt; + long _flags; + long _file; + int _charbuf; + int _bufsiz; + char* _tmpfname; + //CRITICAL_SECTION _lock; +} TWinSdk10File; + +enum EWinSdk10ModeBits { + WIN_SDK10_IOREAD = 0x0001, + WIN_SDK10_IOWRITE = 0x0002, + WIN_SDK10_IOUPDATE = 0x0004, + WIN_SDK10_IOEOF = 0x0008, + WIN_SDK10_IOERROR = 0x0010, + WIN_SDK10_IOCTRLZ = 0x0020, + WIN_SDK10_IOBUFFER_CRT = 0x0040, + WIN_SDK10_IOBUFFER_USER = 0x0080, + WIN_SDK10_IOBUFFER_SETVBUF = 0x0100, + WIN_SDK10_IOBUFFER_STBUF = 0x0200, + WIN_SDK10_IOBUFFER_NONE = 0x0400, + WIN_SDK10_IOCOMMIT = 0x0800, + WIN_SDK10_IOSTRING = 0x1000, + WIN_SDK10_IOALLOCATED = 0x2000, +}; +#endif + +#endif + |