1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- #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 */
|