mirror of
https://git.proxmox.com/git/libgit2
synced 2025-05-14 18:52:01 +00:00
58 lines
1.5 KiB
C
58 lines
1.5 KiB
C
/*
|
|
* Copyright (C) the libgit2 contributors. All rights reserved.
|
|
*
|
|
* This file is part of libgit2, distributed under the GNU GPL v2 with
|
|
* a Linking Exception. For full terms see the included COPYING file.
|
|
*/
|
|
|
|
#ifndef INCLUDE_git_win32_reparse_h__
|
|
#define INCLUDE_git_win32_reparse_h__
|
|
|
|
/* This structure is defined on MSDN at
|
|
* http://msdn.microsoft.com/en-us/library/windows/hardware/ff552012(v=vs.85).aspx
|
|
*
|
|
* It was formerly included in the Windows 2000 SDK and remains defined in
|
|
* MinGW, so we must define it with a silly name to avoid conflicting.
|
|
*/
|
|
typedef struct _GIT_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;
|
|
};
|
|
} GIT_REPARSE_DATA_BUFFER;
|
|
|
|
#define REPARSE_DATA_HEADER_SIZE 8
|
|
#define REPARSE_DATA_MOUNTPOINT_HEADER_SIZE 8
|
|
#define REPARSE_DATA_UNION_SIZE 12
|
|
|
|
/* Missing in MinGW */
|
|
#ifndef FSCTL_GET_REPARSE_POINT
|
|
# define FSCTL_GET_REPARSE_POINT 0x000900a8
|
|
#endif
|
|
|
|
/* Missing in MinGW */
|
|
#ifndef FSCTL_SET_REPARSE_POINT
|
|
# define FSCTL_SET_REPARSE_POINT 0x000900a4
|
|
#endif
|
|
|
|
#endif
|