text: #pragma once
  
  #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 doesn't seem to be present in the Windows SDK (at least as included
     with Visual Studio Express). */
  typedef struct _REPARSE_DATA_BUFFER {
      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;
      };
  } REPARSE_DATA_BUFFER, *PREPARSE_DATA_BUFFER;
  
  #define REPARSE_DATA_BUFFER_HEADER_SIZE  FIELD_OFFSET(REPARSE_DATA_BUFFER,\
                                                        GenericReparseBuffer)
  #define MAXIMUM_REPARSE_DATA_BUFFER_SIZE  ( 16 * 1024 )
  
  #ifdef __cplusplus
  }
  #endif
  
  #endif /* MS_WINDOWS */
  
  #endif /* !Py_WINREPARSE_H */
  