|
Packit |
ae9e2a |
/*
|
|
Packit |
ae9e2a |
* Copyright (C) the libgit2 contributors. All rights reserved.
|
|
Packit |
ae9e2a |
*
|
|
Packit |
ae9e2a |
* This file is part of libgit2, distributed under the GNU GPL v2 with
|
|
Packit |
ae9e2a |
* a Linking Exception. For full terms see the included COPYING file.
|
|
Packit |
ae9e2a |
*/
|
|
Packit |
ae9e2a |
|
|
Packit |
ae9e2a |
#ifndef INCLUDE_git_win32_reparse_h__
|
|
Packit |
ae9e2a |
#define INCLUDE_git_win32_reparse_h__
|
|
Packit |
ae9e2a |
|
|
Packit |
ae9e2a |
/* This structure is defined on MSDN at
|
|
Packit |
ae9e2a |
* http://msdn.microsoft.com/en-us/library/windows/hardware/ff552012(v=vs.85).aspx
|
|
Packit |
ae9e2a |
*
|
|
Packit |
ae9e2a |
* It was formerly included in the Windows 2000 SDK and remains defined in
|
|
Packit |
ae9e2a |
* MinGW, so we must define it with a silly name to avoid conflicting.
|
|
Packit |
ae9e2a |
*/
|
|
Packit |
ae9e2a |
typedef struct _GIT_REPARSE_DATA_BUFFER {
|
|
Packit |
ae9e2a |
ULONG ReparseTag;
|
|
Packit |
ae9e2a |
USHORT ReparseDataLength;
|
|
Packit |
ae9e2a |
USHORT Reserved;
|
|
Packit |
ae9e2a |
union {
|
|
Packit |
ae9e2a |
struct {
|
|
Packit |
ae9e2a |
USHORT SubstituteNameOffset;
|
|
Packit |
ae9e2a |
USHORT SubstituteNameLength;
|
|
Packit |
ae9e2a |
USHORT PrintNameOffset;
|
|
Packit |
ae9e2a |
USHORT PrintNameLength;
|
|
Packit |
ae9e2a |
ULONG Flags;
|
|
Packit |
ae9e2a |
WCHAR PathBuffer[1];
|
|
Packit |
ae9e2a |
} SymbolicLinkReparseBuffer;
|
|
Packit |
ae9e2a |
struct {
|
|
Packit |
ae9e2a |
USHORT SubstituteNameOffset;
|
|
Packit |
ae9e2a |
USHORT SubstituteNameLength;
|
|
Packit |
ae9e2a |
USHORT PrintNameOffset;
|
|
Packit |
ae9e2a |
USHORT PrintNameLength;
|
|
Packit |
ae9e2a |
WCHAR PathBuffer[1];
|
|
Packit |
ae9e2a |
} MountPointReparseBuffer;
|
|
Packit |
ae9e2a |
struct {
|
|
Packit |
ae9e2a |
UCHAR DataBuffer[1];
|
|
Packit |
ae9e2a |
} GenericReparseBuffer;
|
|
Packit |
ae9e2a |
};
|
|
Packit |
ae9e2a |
} GIT_REPARSE_DATA_BUFFER;
|
|
Packit |
ae9e2a |
|
|
Packit |
ae9e2a |
#define REPARSE_DATA_HEADER_SIZE 8
|
|
Packit |
ae9e2a |
#define REPARSE_DATA_MOUNTPOINT_HEADER_SIZE 8
|
|
Packit |
ae9e2a |
#define REPARSE_DATA_UNION_SIZE 12
|
|
Packit |
ae9e2a |
|
|
Packit |
ae9e2a |
/* Missing in MinGW */
|
|
Packit |
ae9e2a |
#ifndef FSCTL_GET_REPARSE_POINT
|
|
Packit |
ae9e2a |
# define FSCTL_GET_REPARSE_POINT 0x000900a8
|
|
Packit |
ae9e2a |
#endif
|
|
Packit |
ae9e2a |
|
|
Packit |
ae9e2a |
/* Missing in MinGW */
|
|
Packit |
ae9e2a |
#ifndef FSCTL_SET_REPARSE_POINT
|
|
Packit |
ae9e2a |
# define FSCTL_SET_REPARSE_POINT 0x000900a4
|
|
Packit |
ae9e2a |
#endif
|
|
Packit |
ae9e2a |
|
|
Packit |
ae9e2a |
#endif
|