| #ifndef Py_WINREPARSE_H | 
 | #define Py_WINREPARSE_H | 
 |  | 
 | #ifdef MS_WINDOWS | 
 | #include <windows.h> | 
 |  | 
 | #ifdef __cplusplus | 
 | extern "C" { | 
 | #endif | 
 |  | 
 | /* The following structure was copied from | 
 |    http://msdn.microsoft.com/en-us/library/ff552012.aspx as the required | 
 |    include km\ntifs.h isn't present in the Windows SDK (at least as included | 
 |    with Visual Studio Express). Use unique names to avoid conflicting with | 
 |    the structure as defined by Min GW. */ | 
 | typedef struct { | 
 |     ULONG ReparseTag; | 
 |     USHORT ReparseDataLength; | 
 |     USHORT Reserved; | 
 |     union { | 
 |         struct { | 
 |             USHORT SubstituteNameOffset; | 
 |             USHORT SubstituteNameLength; | 
 |             USHORT PrintNameOffset; | 
 |             USHORT PrintNameLength; | 
 |             ULONG Flags; | 
 |             WCHAR PathBuffer[1]; | 
 |         } SymbolicLinkReparseBuffer; | 
 |  | 
 |         struct { | 
 |             USHORT SubstituteNameOffset; | 
 |             USHORT  SubstituteNameLength; | 
 |             USHORT  PrintNameOffset; | 
 |             USHORT  PrintNameLength; | 
 |             WCHAR  PathBuffer[1]; | 
 |         } MountPointReparseBuffer; | 
 |  | 
 |         struct { | 
 |             UCHAR  DataBuffer[1]; | 
 |         } GenericReparseBuffer; | 
 |     }; | 
 | } _Py_REPARSE_DATA_BUFFER, *_Py_PREPARSE_DATA_BUFFER; | 
 |  | 
 | #define _Py_REPARSE_DATA_BUFFER_HEADER_SIZE \ | 
 |     FIELD_OFFSET(_Py_REPARSE_DATA_BUFFER, GenericReparseBuffer) | 
 | #define _Py_MAXIMUM_REPARSE_DATA_BUFFER_SIZE  ( 16 * 1024 ) | 
 |  | 
 | // Defined in WinBase.h in 'recent' versions of Windows 10 SDK | 
 | #ifndef SYMBOLIC_LINK_FLAG_ALLOW_UNPRIVILEGED_CREATE | 
 | #define SYMBOLIC_LINK_FLAG_ALLOW_UNPRIVILEGED_CREATE 0x2 | 
 | #endif | 
 |  | 
 | #ifdef __cplusplus | 
 | } | 
 | #endif | 
 |  | 
 | #endif /* MS_WINDOWS */ | 
 |  | 
 | #endif /* !Py_WINREPARSE_H */ |