1
0
mirror of https://github.com/rclone/rclone.git synced 2025-12-15 07:43:35 +00:00

vendor: add github.com/thinkhy/go-adb package

This commit is contained in:
Fabian Möller
2019-02-13 15:30:34 +01:00
parent 2ba5c35e88
commit ed88ae878e
63 changed files with 5360 additions and 308 deletions

33
vendor/github.com/thinkhy/go-adb/wire/filemode.go generated vendored Normal file
View File

@@ -0,0 +1,33 @@
package wire
import "os"
// ADB file modes seem to only be 16 bits.
// Values are taken from http://linux.die.net/include/bits/stat.h.
const (
ModeDir uint32 = 0040000
ModeSymlink = 0120000
ModeSocket = 0140000
ModeFifo = 0010000
ModeCharDevice = 0020000
)
func ParseFileModeFromAdb(modeFromSync uint32) (filemode os.FileMode) {
// The ADB filemode uses the permission bits defined in Go's os package, but
// we need to parse the other bits manually.
switch {
case modeFromSync&ModeSymlink == ModeSymlink:
filemode = os.ModeSymlink
case modeFromSync&ModeDir == ModeDir:
filemode = os.ModeDir
case modeFromSync&ModeSocket == ModeSocket:
filemode = os.ModeSocket
case modeFromSync&ModeFifo == ModeFifo:
filemode = os.ModeNamedPipe
case modeFromSync&ModeCharDevice == ModeCharDevice:
filemode = os.ModeCharDevice
}
filemode |= os.FileMode(modeFromSync).Perm()
return
}