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:
33
vendor/github.com/thinkhy/go-adb/wire/filemode.go
generated
vendored
Normal file
33
vendor/github.com/thinkhy/go-adb/wire/filemode.go
generated
vendored
Normal 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
|
||||
}
|
||||
Reference in New Issue
Block a user