Add symlink support at the protocol level

This commit is contained in:
Audrius Butkevicius 2014-11-07 23:06:04 +00:00 committed by Jakob Borg
parent e0da2764c9
commit ddc56c8a0d
2 changed files with 17 additions and 4 deletions

View File

@ -58,6 +58,10 @@ func (f FileInfo) IsDirectory() bool {
return f.Flags&FlagDirectory != 0 return f.Flags&FlagDirectory != 0
} }
func (f FileInfo) IsSymlink() bool {
return f.Flags&FlagSymlink != 0
}
func (f FileInfo) HasPermissionBits() bool { func (f FileInfo) HasPermissionBits() bool {
return f.Flags&FlagNoPermBits == 0 return f.Flags&FlagNoPermBits == 0
} }
@ -101,6 +105,10 @@ func (f FileInfoTruncated) IsDirectory() bool {
return f.Flags&FlagDirectory != 0 return f.Flags&FlagDirectory != 0
} }
func (f FileInfoTruncated) IsSymlink() bool {
return f.Flags&FlagSymlink != 0
}
func (f FileInfoTruncated) HasPermissionBits() bool { func (f FileInfoTruncated) HasPermissionBits() bool {
return f.Flags&FlagNoPermBits == 0 return f.Flags&FlagNoPermBits == 0
} }
@ -110,6 +118,7 @@ type FileIntf interface {
IsDeleted() bool IsDeleted() bool
IsInvalid() bool IsInvalid() bool
IsDirectory() bool IsDirectory() bool
IsSymlink() bool
HasPermissionBits() bool HasPermissionBits() bool
} }

View File

@ -49,10 +49,14 @@ const (
) )
const ( const (
FlagDeleted uint32 = 1 << 12 FlagDeleted uint32 = 1 << 12
FlagInvalid = 1 << 13 FlagInvalid = 1 << 13
FlagDirectory = 1 << 14 FlagDirectory = 1 << 14
FlagNoPermBits = 1 << 15 FlagNoPermBits = 1 << 15
FlagSymlink = 1 << 16
FlagSymlinkMissingTarget = 1 << 17
SymlinkTypeMask = FlagDirectory | FlagSymlinkMissingTarget
) )
const ( const (