Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
V
velero-plugin
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Administrator
velero-plugin
Commits
55188db2
Commit
55188db2
authored
Sep 03, 2019
by
流生
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix issue6 to convert volumeId to VolumeId
parent
32b48cc3
Hide whitespace changes
Inline
Side-by-side
Showing
34 changed files
with
493 additions
and
358 deletions
+493
-358
Gopkg.lock
+7
-7
install/01-velero.yaml
+1
-1
pkg/alibabacloud/object_store.go
+259
-4
pkg/alibabacloud/volume_snapshotter.go
+10
-6
vendor/github.com/gogo/protobuf/proto/extensions.go
+1
-0
vendor/github.com/gogo/protobuf/proto/extensions_gogo.go
+21
-0
vendor/github.com/gogo/protobuf/proto/lib.go
+13
-7
vendor/github.com/gogo/protobuf/proto/properties.go
+39
-27
vendor/github.com/gogo/protobuf/proto/table_marshal.go
+7
-6
vendor/github.com/gogo/protobuf/proto/table_merge.go
+19
-0
vendor/github.com/gogo/protobuf/proto/table_unmarshal.go
+13
-9
vendor/golang.org/x/sys/unix/ioctl.go
+38
-3
vendor/golang.org/x/sys/unix/syscall_aix.go
+1
-38
vendor/golang.org/x/sys/unix/syscall_darwin.go
+0
-37
vendor/golang.org/x/sys/unix/syscall_dragonfly.go
+0
-37
vendor/golang.org/x/sys/unix/syscall_freebsd.go
+0
-37
vendor/golang.org/x/sys/unix/syscall_linux.go
+11
-34
vendor/golang.org/x/sys/unix/syscall_netbsd.go
+0
-37
vendor/golang.org/x/sys/unix/syscall_openbsd.go
+0
-37
vendor/golang.org/x/sys/unix/syscall_solaris.go
+0
-30
vendor/golang.org/x/sys/unix/zerrors_linux_386.go
+4
-0
vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go
+4
-0
vendor/golang.org/x/sys/unix/zerrors_linux_arm.go
+4
-0
vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go
+4
-0
vendor/golang.org/x/sys/unix/zerrors_linux_mips.go
+4
-0
vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go
+4
-0
vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go
+4
-0
vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go
+4
-0
vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go
+4
-0
vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go
+4
-0
vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go
+4
-0
vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go
+4
-0
vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go
+4
-0
vendor/golang.org/x/sys/windows/security_windows.go
+1
-1
No files found.
Gopkg.lock
View file @
55188db2
...
@@ -41,8 +41,8 @@
...
@@ -41,8 +41,8 @@
"services/ecs",
"services/ecs",
]
]
pruneopts = "NUT"
pruneopts = "NUT"
revision = "
02bfe7fbce66b3b7cd16b8640a95b5316e5ab4ed
"
revision = "
7a807875136654e7ca7fcdd5511cd72b14cc25ba
"
version = "1.60.13
1
"
version = "1.60.13
2
"
[[projects]]
[[projects]]
digest = "1:918521e77b229a961b2011082ee9c026d5077cab825be142f6e9771b61d03238"
digest = "1:918521e77b229a961b2011082ee9c026d5077cab825be142f6e9771b61d03238"
...
@@ -77,15 +77,15 @@
...
@@ -77,15 +77,15 @@
version = "v4.5.0"
version = "v4.5.0"
[[projects]]
[[projects]]
digest = "1:
a1b2a5e38f79688ee8250942d5fa960525fceb1024c855c7bc76fa77b0f3cca2
"
digest = "1:
633dde05baa7afd3544cfe4ac16fe3c5450b868cfc6b1558621ee39ebf2273ea
"
name = "github.com/gogo/protobuf"
name = "github.com/gogo/protobuf"
packages = [
packages = [
"proto",
"proto",
"sortkeys",
"sortkeys",
]
]
pruneopts = "NUT"
pruneopts = "NUT"
revision = "
ba06b47c162d49f2af050fb4c75bcbc86a159d5c
"
revision = "
0ca988a254f991240804bf9821f3450d87ccbb1b
"
version = "v1.
2.1
"
version = "v1.
3.0
"
[[projects]]
[[projects]]
digest = "1:796f9c63c68774a89eade387a8476e45ec2b34f5649b0726983204202c3649d6"
digest = "1:796f9c63c68774a89eade387a8476e45ec2b34f5649b0726983204202c3649d6"
...
@@ -378,14 +378,14 @@
...
@@ -378,14 +378,14 @@
[[projects]]
[[projects]]
branch = "master"
branch = "master"
digest = "1:
25afefcce84027a47ec93143dba3fd60e4d0e7b66ada0e16b0b54b7fafc5091c
"
digest = "1:
3589c63c3a3f0a6236ad09f8b227a2c4b28791001d4b934e8f33ac8b107391ef
"
name = "golang.org/x/sys"
name = "golang.org/x/sys"
packages = [
packages = [
"unix",
"unix",
"windows",
"windows",
]
]
pruneopts = "NUT"
pruneopts = "NUT"
revision = "
19e00faab6ad547203cd66b19e1281807329cf65
"
revision = "
9109b7679e13aa34a54834cfb4949cac4b96e576
"
[[projects]]
[[projects]]
digest = "1:8d8faad6b12a3a4c819a3f9618cb6ee1fa1cfc33253abeeea8b55336721e3405"
digest = "1:8d8faad6b12a3a4c819a3f9618cb6ee1fa1cfc33253abeeea8b55336721e3405"
...
...
install/01-velero.yaml
View file @
55188db2
...
@@ -94,7 +94,7 @@ spec:
...
@@ -94,7 +94,7 @@ spec:
-
mountPath
:
/credentials
-
mountPath
:
/credentials
name
:
cloud-credentials
name
:
cloud-credentials
initContainers
:
initContainers
:
-
image
:
registry.cn-hangzhou.aliyuncs.com/acs/velero-plugin-alibabacloud:v1.
1
-
image
:
registry.cn-hangzhou.aliyuncs.com/acs/velero-plugin-alibabacloud:v1.
2
imagePullPolicy
:
IfNotPresent
imagePullPolicy
:
IfNotPresent
name
:
velero-plugin-alibabacloud
name
:
velero-plugin-alibabacloud
volumeMounts
:
volumeMounts
:
...
...
pkg/alibabacloud/object_store.go
View file @
55188db2
...
@@ -23,11 +23,24 @@ import (
...
@@ -23,11 +23,24 @@ import (
"github.com/pkg/errors"
"github.com/pkg/errors"
"github.com/sirupsen/logrus"
"github.com/sirupsen/logrus"
"archive/tar"
"bufio"
"bytes"
"compress/gzip"
"fmt"
"github.com/heptio/velero/pkg/cloudprovider"
"github.com/heptio/velero/pkg/cloudprovider"
"io/ioutil"
"math/rand"
"path/filepath"
"regexp"
"strings"
)
)
const
(
const
(
regionKey
=
"region"
RegionKey
=
"region"
OriginStr
=
"volumeId"
TargetStr
=
"VolumeId"
Workspace
=
"/tmp/velero-restore/"
)
)
type
bucketGetter
interface
{
type
bucketGetter
interface
{
...
@@ -144,12 +157,12 @@ func (o *ObjectStore) PutObject(bucket, key string, body io.Reader) error {
...
@@ -144,12 +157,12 @@ func (o *ObjectStore) PutObject(bucket, key string, body io.Reader) error {
if
err
!=
nil
{
if
err
!=
nil
{
return
err
return
err
}
}
if
o
.
encryptionKeyID
!=
""
{
if
o
.
encryptionKeyID
!=
""
{
err
=
bucketObj
.
PutObject
(
key
,
body
,
err
=
bucketObj
.
PutObject
(
key
,
body
,
oss
.
ServerSideEncryption
(
"KMS"
),
oss
.
ServerSideEncryption
(
"KMS"
),
oss
.
ServerSideEncryptionKeyID
(
o
.
encryptionKeyID
))
oss
.
ServerSideEncryptionKeyID
(
o
.
encryptionKeyID
))
}
else
{
}
else
{
err
=
bucketObj
.
PutObject
(
key
,
body
)
err
=
bucketObj
.
PutObject
(
key
,
body
)
}
}
...
@@ -172,8 +185,16 @@ func (o *ObjectStore) GetObject(bucket, key string) (io.ReadCloser, error) {
...
@@ -172,8 +185,16 @@ func (o *ObjectStore) GetObject(bucket, key string) (io.ReadCloser, error) {
return
nil
,
err
return
nil
,
err
}
}
return
bucketObj
.
GetObject
(
key
)
if
strings
.
HasSuffix
(
key
,
".tar.gz"
)
{
body
,
err
:=
bucketObj
.
GetObject
(
key
)
if
err
!=
nil
{
return
nil
,
err
}
return
CheckAndConvertVolumeId
(
body
)
}
return
bucketObj
.
GetObject
(
key
)
}
}
// ListCommonPrefixes interface
// ListCommonPrefixes interface
...
@@ -204,7 +225,6 @@ func (o *ObjectStore) ListCommonPrefixes(bucket, prefix, delimiter string) ([]st
...
@@ -204,7 +225,6 @@ func (o *ObjectStore) ListCommonPrefixes(bucket, prefix, delimiter string) ([]st
// ListObjects list objects of a bucket
// ListObjects list objects of a bucket
func
(
o
*
ObjectStore
)
ListObjects
(
bucket
,
prefix
string
)
([]
string
,
error
)
{
func
(
o
*
ObjectStore
)
ListObjects
(
bucket
,
prefix
string
)
([]
string
,
error
)
{
bucketObj
,
err
:=
o
.
getBucket
(
bucket
)
bucketObj
,
err
:=
o
.
getBucket
(
bucket
)
if
err
!=
nil
{
if
err
!=
nil
{
return
nil
,
err
return
nil
,
err
...
@@ -249,3 +269,238 @@ func (o *ObjectStore) CreateSignedURL(bucket, key string, ttl time.Duration) (st
...
@@ -249,3 +269,238 @@ func (o *ObjectStore) CreateSignedURL(bucket, key string, ttl time.Duration) (st
return
bucketObj
.
SignURL
(
key
,
oss
.
HTTPGet
,
int64
(
ttl
.
Seconds
()))
return
bucketObj
.
SignURL
(
key
,
oss
.
HTTPGet
,
int64
(
ttl
.
Seconds
()))
}
}
// CheckAndConvertVolumeId convert volumeId to VolumeId in persistentvolumes json files
func
CheckAndConvertVolumeId
(
body
io
.
ReadCloser
)
(
io
.
ReadCloser
,
error
)
{
randStr
:=
CreateCaptcha
()
tmpWorkspace
:=
filepath
.
Join
(
Workspace
,
randStr
)
tmpFileName
:=
fmt
.
Sprintf
(
"%s.tar.gz"
,
randStr
)
if
_
,
err
:=
CheckPathExistsAndCreate
(
tmpWorkspace
);
err
!=
nil
{
return
nil
,
err
}
if
err
:=
os
.
Chdir
(
tmpWorkspace
);
err
!=
nil
{
return
nil
,
err
}
fd
,
err
:=
os
.
OpenFile
(
tmpFileName
,
os
.
O_WRONLY
|
os
.
O_CREATE
,
0660
)
if
err
!=
nil
{
return
nil
,
err
}
defer
fd
.
Close
()
if
_
,
err
:=
io
.
Copy
(
fd
,
body
);
err
!=
nil
{
return
nil
,
err
}
if
err
:=
DeCompress
(
tmpFileName
,
""
);
err
!=
nil
{
return
nil
,
err
}
if
err
:=
os
.
Remove
(
tmpFileName
);
err
!=
nil
{
return
nil
,
err
}
tmpFiles
:=
make
([]
string
,
0
)
err
=
filepath
.
Walk
(
tmpWorkspace
,
func
(
path
string
,
info
os
.
FileInfo
,
err
error
)
error
{
if
err
!=
nil
{
return
err
}
if
f
,
_
:=
os
.
Stat
(
path
);
!
f
.
IsDir
()
{
if
strings
.
Index
(
path
,
"resources/persistentvolumes/cluster"
)
>
0
{
tmpFiles
=
append
(
tmpFiles
,
path
)
}
}
return
nil
})
if
err
!=
nil
{
return
nil
,
err
}
for
_
,
f
:=
range
tmpFiles
{
fmt
.
Println
(
f
)
if
err
:=
ReplaceVolumeId
(
f
);
err
!=
nil
{
return
nil
,
err
}
}
if
err
:=
Compress
(
"."
,
tmpFileName
);
err
!=
nil
{
return
nil
,
err
}
f1
,
err
:=
ioutil
.
ReadFile
(
tmpFileName
)
if
err
!=
nil
{
return
nil
,
err
}
f2
:=
ioutil
.
NopCloser
(
bytes
.
NewReader
(
f1
))
if
err
:=
os
.
RemoveAll
(
tmpWorkspace
);
err
!=
nil
{
return
nil
,
err
}
return
f2
,
nil
}
// CheckPathExistsAndCreate
func
CheckPathExistsAndCreate
(
path
string
)
(
bool
,
error
)
{
_
,
err
:=
os
.
Stat
(
path
)
if
err
==
nil
{
return
true
,
nil
}
if
os
.
IsNotExist
(
err
)
{
err
=
os
.
MkdirAll
(
path
,
os
.
ModePerm
)
if
err
!=
nil
{
return
false
,
err
}
else
{
return
true
,
nil
}
}
return
false
,
nil
}
// CreateCaptcha
func
CreateCaptcha
()
string
{
return
fmt
.
Sprintf
(
"%08v"
,
rand
.
New
(
rand
.
NewSource
(
time
.
Now
()
.
UnixNano
()))
.
Int31n
(
1000000
))
}
// DeCompress
func
DeCompress
(
tarFile
,
dest
string
)
error
{
srcFile
,
err
:=
os
.
Open
(
tarFile
)
if
err
!=
nil
{
return
err
}
defer
srcFile
.
Close
()
gr
,
err
:=
gzip
.
NewReader
(
srcFile
)
if
err
!=
nil
{
return
err
}
defer
gr
.
Close
()
tr
:=
tar
.
NewReader
(
gr
)
for
{
hdr
,
err
:=
tr
.
Next
()
if
err
!=
nil
{
if
err
==
io
.
EOF
{
break
}
else
{
return
err
}
}
filename
:=
dest
+
hdr
.
Name
file
,
err
:=
CreateFile
(
filename
)
if
err
!=
nil
{
return
err
}
io
.
Copy
(
file
,
tr
)
}
return
nil
}
// CreateFile
func
CreateFile
(
name
string
)
(
*
os
.
File
,
error
)
{
err
:=
os
.
MkdirAll
(
string
([]
rune
(
name
)[
0
:
strings
.
LastIndex
(
name
,
"/"
)]),
0755
)
if
err
!=
nil
{
return
nil
,
err
}
return
os
.
Create
(
name
)
}
// ReplaceVolumeId
func
ReplaceVolumeId
(
filePath
string
)
error
{
f
,
err
:=
os
.
OpenFile
(
filePath
,
os
.
O_RDONLY
,
0644
)
if
err
!=
nil
{
return
err
}
defer
f
.
Close
()
reader
:=
bufio
.
NewReader
(
f
)
output
:=
make
([]
byte
,
0
)
for
{
line
,
_
,
err
:=
reader
.
ReadLine
()
if
err
!=
nil
{
if
err
==
io
.
EOF
{
break
}
return
err
}
if
ok
,
_
:=
regexp
.
Match
(
OriginStr
,
line
);
ok
{
reg
:=
regexp
.
MustCompile
(
OriginStr
)
newByte
:=
reg
.
ReplaceAll
(
line
,
[]
byte
(
TargetStr
))
output
=
append
(
output
,
newByte
...
)
output
=
append
(
output
,
[]
byte
(
"
\n
"
)
...
)
}
else
{
output
=
append
(
output
,
line
...
)
output
=
append
(
output
,
[]
byte
(
"
\n
"
)
...
)
}
}
if
err
:=
writeToFile
(
filePath
,
output
);
err
!=
nil
{
return
err
}
return
nil
}
// writeToFile
func
writeToFile
(
filePath
string
,
outPut
[]
byte
)
error
{
f
,
err
:=
os
.
OpenFile
(
filePath
,
os
.
O_WRONLY
|
os
.
O_TRUNC
,
0600
)
defer
f
.
Close
()
if
err
!=
nil
{
return
err
}
writer
:=
bufio
.
NewWriter
(
f
)
_
,
err
=
writer
.
Write
(
outPut
)
if
err
!=
nil
{
return
err
}
writer
.
Flush
()
return
nil
}
// Compress
func
Compress
(
src
,
dst
string
)
error
{
fw
,
err
:=
os
.
Create
(
dst
)
if
err
!=
nil
{
return
err
}
defer
fw
.
Close
()
gw
:=
gzip
.
NewWriter
(
fw
)
defer
gw
.
Close
()
tw
:=
tar
.
NewWriter
(
gw
)
defer
tw
.
Close
()
return
filepath
.
Walk
(
src
,
func
(
fileName
string
,
fi
os
.
FileInfo
,
err
error
)
error
{
if
err
!=
nil
{
return
err
}
if
strings
.
Index
(
fileName
,
dst
)
>
-
1
{
return
nil
}
hdr
,
err
:=
tar
.
FileInfoHeader
(
fi
,
""
)
if
err
!=
nil
{
return
err
}
hdr
.
Name
=
strings
.
TrimPrefix
(
fileName
,
string
(
filepath
.
Separator
))
if
err
:=
tw
.
WriteHeader
(
hdr
);
err
!=
nil
{
return
err
}
if
!
fi
.
Mode
()
.
IsRegular
()
{
return
nil
}
fr
,
err
:=
os
.
Open
(
fileName
)
defer
fr
.
Close
()
if
err
!=
nil
{
return
err
}
if
_
,
err
:=
io
.
Copy
(
tw
,
fr
);
err
!=
nil
{
return
err
}
return
nil
})
}
pkg/alibabacloud/volume_snapshotter.go
View file @
55188db2
...
@@ -50,7 +50,7 @@ func NewVolumeSnapshotter(logger logrus.FieldLogger) *VolumeSnapshotter {
...
@@ -50,7 +50,7 @@ func NewVolumeSnapshotter(logger logrus.FieldLogger) *VolumeSnapshotter {
// Init init ecs client with os env
// Init init ecs client with os env
func
(
b
*
VolumeSnapshotter
)
Init
(
config
map
[
string
]
string
)
error
{
func
(
b
*
VolumeSnapshotter
)
Init
(
config
map
[
string
]
string
)
error
{
if
err
:=
cloudprovider
.
ValidateVolumeSnapshotterConfigKeys
(
config
,
r
egionKey
);
err
!=
nil
{
if
err
:=
cloudprovider
.
ValidateVolumeSnapshotterConfigKeys
(
config
,
R
egionKey
);
err
!=
nil
{
return
err
return
err
}
}
...
@@ -58,9 +58,9 @@ func (b *VolumeSnapshotter) Init(config map[string]string) error {
...
@@ -58,9 +58,9 @@ func (b *VolumeSnapshotter) Init(config map[string]string) error {
return
err
return
err
}
}
region
:=
config
[
r
egionKey
]
region
:=
config
[
R
egionKey
]
if
region
==
""
{
if
region
==
""
{
return
errors
.
Errorf
(
"missing %s in Alibaba Cloud configuration"
,
r
egionKey
)
return
errors
.
Errorf
(
"missing %s in Alibaba Cloud configuration"
,
R
egionKey
)
}
}
accessKeyID
:=
os
.
Getenv
(
"ALIBABA_CLOUD_ACCESS_KEY_ID"
)
accessKeyID
:=
os
.
Getenv
(
"ALIBABA_CLOUD_ACCESS_KEY_ID"
)
...
@@ -296,10 +296,14 @@ func getEBSDiskID(pv *v1.PersistentVolume) (string, error) {
...
@@ -296,10 +296,14 @@ func getEBSDiskID(pv *v1.PersistentVolume) (string, error) {
return
""
,
err
return
""
,
err
}
}
options
:=
pv
.
Spec
.
FlexVolume
.
Options
options
:=
pv
.
Spec
.
FlexVolume
.
Options
if
options
==
nil
||
options
[
"VolumeId"
]
==
""
{
if
options
==
nil
||
(
options
[
"VolumeId"
]
==
""
&&
options
[
"volumeId"
]
==
""
)
{
return
""
,
errors
.
New
(
"spec.FlexVolume.Options['VolumeId'] not found"
)
return
""
,
errors
.
New
(
"spec.FlexVolume.Options['VolumeId'] or spec.FlexVolume.Options['volumeId'] not found"
)
}
else
if
options
[
"VolumeId"
]
!=
""
{
return
options
[
"VolumeId"
],
nil
}
else
{
return
options
[
"volumeId"
],
nil
}
}
return
options
[
"VolumeId"
],
nil
}
}
return
""
,
nil
return
""
,
nil
}
}
...
...
vendor/github.com/gogo/protobuf/proto/extensions.go
View file @
55188db2
...
@@ -527,6 +527,7 @@ func ExtensionDescs(pb Message) ([]*ExtensionDesc, error) {
...
@@ -527,6 +527,7 @@ func ExtensionDescs(pb Message) ([]*ExtensionDesc, error) {
// SetExtension sets the specified extension of pb to the specified value.
// SetExtension sets the specified extension of pb to the specified value.
func
SetExtension
(
pb
Message
,
extension
*
ExtensionDesc
,
value
interface
{})
error
{
func
SetExtension
(
pb
Message
,
extension
*
ExtensionDesc
,
value
interface
{})
error
{
if
epb
,
ok
:=
pb
.
(
extensionsBytes
);
ok
{
if
epb
,
ok
:=
pb
.
(
extensionsBytes
);
ok
{
ClearExtension
(
pb
,
extension
)
newb
,
err
:=
encodeExtension
(
extension
,
value
)
newb
,
err
:=
encodeExtension
(
extension
,
value
)
if
err
!=
nil
{
if
err
!=
nil
{
return
err
return
err
...
...
vendor/github.com/gogo/protobuf/proto/extensions_gogo.go
View file @
55188db2
...
@@ -154,6 +154,10 @@ func EncodeInternalExtension(m extendableProto, data []byte) (n int, err error)
...
@@ -154,6 +154,10 @@ func EncodeInternalExtension(m extendableProto, data []byte) (n int, err error)
return
EncodeExtensionMap
(
m
.
extensionsWrite
(),
data
)
return
EncodeExtensionMap
(
m
.
extensionsWrite
(),
data
)
}
}
func
EncodeInternalExtensionBackwards
(
m
extendableProto
,
data
[]
byte
)
(
n
int
,
err
error
)
{
return
EncodeExtensionMapBackwards
(
m
.
extensionsWrite
(),
data
)
}
func
EncodeExtensionMap
(
m
map
[
int32
]
Extension
,
data
[]
byte
)
(
n
int
,
err
error
)
{
func
EncodeExtensionMap
(
m
map
[
int32
]
Extension
,
data
[]
byte
)
(
n
int
,
err
error
)
{
o
:=
0
o
:=
0
for
_
,
e
:=
range
m
{
for
_
,
e
:=
range
m
{
...
@@ -169,6 +173,23 @@ func EncodeExtensionMap(m map[int32]Extension, data []byte) (n int, err error) {
...
@@ -169,6 +173,23 @@ func EncodeExtensionMap(m map[int32]Extension, data []byte) (n int, err error) {
return
o
,
nil
return
o
,
nil
}
}
func
EncodeExtensionMapBackwards
(
m
map
[
int32
]
Extension
,
data
[]
byte
)
(
n
int
,
err
error
)
{
o
:=
0
end
:=
len
(
data
)
for
_
,
e
:=
range
m
{
if
err
:=
e
.
Encode
();
err
!=
nil
{
return
0
,
err
}
n
:=
copy
(
data
[
end
-
len
(
e
.
enc
)
:
],
e
.
enc
)
if
n
!=
len
(
e
.
enc
)
{
return
0
,
io
.
ErrShortBuffer
}
end
-=
n
o
+=
n
}
return
o
,
nil
}
func
GetRawExtension
(
m
map
[
int32
]
Extension
,
id
int32
)
([]
byte
,
error
)
{
func
GetRawExtension
(
m
map
[
int32
]
Extension
,
id
int32
)
([]
byte
,
error
)
{
e
:=
m
[
id
]
e
:=
m
[
id
]
if
err
:=
e
.
Encode
();
err
!=
nil
{
if
err
:=
e
.
Encode
();
err
!=
nil
{
...
...
vendor/github.com/gogo/protobuf/proto/lib.go
View file @
55188db2
...
@@ -948,13 +948,19 @@ func isProto3Zero(v reflect.Value) bool {
...
@@ -948,13 +948,19 @@ func isProto3Zero(v reflect.Value) bool {
return
false
return
false
}
}
// ProtoPackageIsVersion2 is referenced from generated protocol buffer files
const
(
// to assert that that code is compatible with this version of the proto package.
// ProtoPackageIsVersion3 is referenced from generated protocol buffer files
const
GoGoProtoPackageIsVersion2
=
true
// to assert that that code is compatible with this version of the proto package.
GoGoProtoPackageIsVersion3
=
true
// ProtoPackageIsVersion1 is referenced from generated protocol buffer files
// to assert that that code is compatible with this version of the proto package.
// ProtoPackageIsVersion2 is referenced from generated protocol buffer files
const
GoGoProtoPackageIsVersion1
=
true
// to assert that that code is compatible with this version of the proto package.
GoGoProtoPackageIsVersion2
=
true
// ProtoPackageIsVersion1 is referenced from generated protocol buffer files
// to assert that that code is compatible with this version of the proto package.
GoGoProtoPackageIsVersion1
=
true
)
// InternalMessageInfo is a type used internally by generated .pb.go files.
// InternalMessageInfo is a type used internally by generated .pb.go files.
// This type is not intended to be used by non-generated code.
// This type is not intended to be used by non-generated code.
...
...
vendor/github.com/gogo/protobuf/proto/properties.go
View file @
55188db2
...
@@ -400,6 +400,15 @@ func GetProperties(t reflect.Type) *StructProperties {
...
@@ -400,6 +400,15 @@ func GetProperties(t reflect.Type) *StructProperties {
return
sprop
return
sprop
}
}
type
(
oneofFuncsIface
interface
{
XXX_OneofFuncs
()
(
func
(
Message
,
*
Buffer
)
error
,
func
(
Message
,
int
,
int
,
*
Buffer
)
(
bool
,
error
),
func
(
Message
)
int
,
[]
interface
{})
}
oneofWrappersIface
interface
{
XXX_OneofWrappers
()
[]
interface
{}
}
)
// getPropertiesLocked requires that propertiesMu is held.
// getPropertiesLocked requires that propertiesMu is held.
func
getPropertiesLocked
(
t
reflect
.
Type
)
*
StructProperties
{
func
getPropertiesLocked
(
t
reflect
.
Type
)
*
StructProperties
{
if
prop
,
ok
:=
propertiesMap
[
t
];
ok
{
if
prop
,
ok
:=
propertiesMap
[
t
];
ok
{
...
@@ -441,37 +450,40 @@ func getPropertiesLocked(t reflect.Type) *StructProperties {
...
@@ -441,37 +450,40 @@ func getPropertiesLocked(t reflect.Type) *StructProperties {
// Re-order prop.order.
// Re-order prop.order.
sort
.
Sort
(
prop
)
sort
.
Sort
(
prop
)
type
oneofMessage
interface
{
if
isOneofMessage
{
XXX_OneofFuncs
()
(
func
(
Message
,
*
Buffer
)
error
,
func
(
Message
,
int
,
int
,
*
Buffer
)
(
bool
,
error
),
func
(
Message
)
int
,
[]
interface
{})
}
if
om
,
ok
:=
reflect
.
Zero
(
reflect
.
PtrTo
(
t
))
.
Interface
()
.
(
oneofMessage
);
isOneofMessage
&&
ok
{
var
oots
[]
interface
{}
var
oots
[]
interface
{}
_
,
_
,
_
,
oots
=
om
.
XXX_OneofFuncs
()
switch
m
:=
reflect
.
Zero
(
reflect
.
PtrTo
(
t
))
.
Interface
()
.
(
type
)
{
case
oneofFuncsIface
:
// Interpret oneof metadata.
_
,
_
,
_
,
oots
=
m
.
XXX_OneofFuncs
()
prop
.
OneofTypes
=
make
(
map
[
string
]
*
OneofProperties
)
case
oneofWrappersIface
:
for
_
,
oot
:=
range
oots
{
oots
=
m
.
XXX_OneofWrappers
()
oop
:=
&
OneofProperties
{
}
Type
:
reflect
.
ValueOf
(
oot
)
.
Type
(),
// *T
if
len
(
oots
)
>
0
{
Prop
:
new
(
Properties
),
// Interpret oneof metadata.
}
prop
.
OneofTypes
=
make
(
map
[
string
]
*
OneofProperties
)
sft
:=
oop
.
Type
.
Elem
()
.
Field
(
0
)
for
_
,
oot
:=
range
oots
{
oop
.
Prop
.
Name
=
sft
.
Name
oop
:=
&
OneofProperties
{
oop
.
Prop
.
Parse
(
sft
.
Tag
.
Get
(
"protobuf"
))
Type
:
reflect
.
ValueOf
(
oot
)
.
Type
(),
// *T
// There will be exactly one interface field that
Prop
:
new
(
Properties
),
// this new value is assignable to.
for
i
:=
0
;
i
<
t
.
NumField
();
i
++
{
f
:=
t
.
Field
(
i
)
if
f
.
Type
.
Kind
()
!=
reflect
.
Interface
{
continue
}
}
if
!
oop
.
Type
.
AssignableTo
(
f
.
Type
)
{
sft
:=
oop
.
Type
.
Elem
()
.
Field
(
0
)
continue
oop
.
Prop
.
Name
=
sft
.
Name
oop
.
Prop
.
Parse
(
sft
.
Tag
.
Get
(
"protobuf"
))
// There will be exactly one interface field that
// this new value is assignable to.
for
i
:=
0
;
i
<
t
.
NumField
();
i
++
{
f
:=
t
.
Field
(
i
)
if
f
.
Type
.
Kind
()
!=
reflect
.
Interface
{
continue
}
if
!
oop
.
Type
.
AssignableTo
(
f
.
Type
)
{
continue
}
oop
.
Field
=
i
break
}
}
oop
.
Field
=
i
prop
.
OneofTypes
[
oop
.
Prop
.
OrigName
]
=
oop
break
}
}
prop
.
OneofTypes
[
oop
.
Prop
.
OrigName
]
=
oop
}
}
}
}
...
...
vendor/github.com/gogo/protobuf/proto/table_marshal.go
View file @
55188db2
...
@@ -389,8 +389,13 @@ func (u *marshalInfo) computeMarshalInfo() {
...
@@ -389,8 +389,13 @@ func (u *marshalInfo) computeMarshalInfo() {
// get oneof implementers
// get oneof implementers
var
oneofImplementers
[]
interface
{}
var
oneofImplementers
[]
interface
{}
// gogo: isOneofMessage is needed for embedded oneof messages, without a marshaler and unmarshaler
// gogo: isOneofMessage is needed for embedded oneof messages, without a marshaler and unmarshaler
if
m
,
ok
:=
reflect
.
Zero
(
reflect
.
PtrTo
(
t
))
.
Interface
()
.
(
oneofMessage
);
ok
&&
isOneofMessage
{
if
isOneofMessage
{
_
,
_
,
_
,
oneofImplementers
=
m
.
XXX_OneofFuncs
()
switch
m
:=
reflect
.
Zero
(
reflect
.
PtrTo
(
t
))
.
Interface
()
.
(
type
)
{
case
oneofFuncsIface
:
_
,
_
,
_
,
oneofImplementers
=
m
.
XXX_OneofFuncs
()
case
oneofWrappersIface
:
oneofImplementers
=
m
.
XXX_OneofWrappers
()
}
}
}
// normal fields
// normal fields
...
@@ -519,10 +524,6 @@ func (fi *marshalFieldInfo) computeOneofFieldInfo(f *reflect.StructField, oneofI
...
@@ -519,10 +524,6 @@ func (fi *marshalFieldInfo) computeOneofFieldInfo(f *reflect.StructField, oneofI
}
}
}
}
type
oneofMessage
interface
{
XXX_OneofFuncs
()
(
func
(
Message
,
*
Buffer
)
error
,
func
(
Message
,
int
,
int
,
*
Buffer
)
(
bool
,
error
),
func
(
Message
)
int
,
[]
interface
{})
}
// wiretype returns the wire encoding of the type.
// wiretype returns the wire encoding of the type.
func
wiretype
(
encoding
string
)
uint64
{
func
wiretype
(
encoding
string
)
uint64
{
switch
encoding
{
switch
encoding
{
...
...
vendor/github.com/gogo/protobuf/proto/table_merge.go
View file @
55188db2
...
@@ -530,6 +530,25 @@ func (mi *mergeInfo) computeMergeInfo() {
...
@@ -530,6 +530,25 @@ func (mi *mergeInfo) computeMergeInfo() {
}
}
case
reflect
.
Struct
:
case
reflect
.
Struct
:
switch
{
switch
{
case
isSlice
&&
!
isPointer
:
// E.g. []pb.T
mergeInfo
:=
getMergeInfo
(
tf
)
zero
:=
reflect
.
Zero
(
tf
)
mfi
.
merge
=
func
(
dst
,
src
pointer
)
{
// TODO: Make this faster?
dstsp
:=
dst
.
asPointerTo
(
f
.
Type
)
dsts
:=
dstsp
.
Elem
()
srcs
:=
src
.
asPointerTo
(
f
.
Type
)
.
Elem
()
for
i
:=
0
;
i
<
srcs
.
Len
();
i
++
{
dsts
=
reflect
.
Append
(
dsts
,
zero
)
srcElement
:=
srcs
.
Index
(
i
)
.
Addr
()
dstElement
:=
dsts
.
Index
(
dsts
.
Len
()
-
1
)
.
Addr
()
mergeInfo
.
merge
(
valToPointer
(
dstElement
),
valToPointer
(
srcElement
))
}
if
dsts
.
IsNil
()
{
dsts
=
reflect
.
MakeSlice
(
f
.
Type
,
0
,
0
)
}
dstsp
.
Elem
()
.
Set
(
dsts
)
}
case
!
isPointer
:
case
!
isPointer
:
mergeInfo
:=
getMergeInfo
(
tf
)
mergeInfo
:=
getMergeInfo
(
tf
)
mfi
.
merge
=
func
(
dst
,
src
pointer
)
{
mfi
.
merge
=
func
(
dst
,
src
pointer
)
{
...
...
vendor/github.com/gogo/protobuf/proto/table_unmarshal.go
View file @
55188db2
...
@@ -371,15 +371,18 @@ func (u *unmarshalInfo) computeUnmarshalInfo() {
...
@@ -371,15 +371,18 @@ func (u *unmarshalInfo) computeUnmarshalInfo() {
}
}
// Find any types associated with oneof fields.
// Find any types associated with oneof fields.
// TODO: XXX_OneofFuncs returns more info than we need. Get rid of some of it?
fn
:=
reflect
.
Zero
(
reflect
.
PtrTo
(
t
))
.
MethodByName
(
"XXX_OneofFuncs"
)
// gogo: len(oneofFields) > 0 is needed for embedded oneof messages, without a marshaler and unmarshaler
// gogo: len(oneofFields) > 0 is needed for embedded oneof messages, without a marshaler and unmarshaler
if
fn
.
IsValid
()
&&
len
(
oneofFields
)
>
0
{
if
len
(
oneofFields
)
>
0
{
res
:=
fn
.
Call
(
nil
)[
3
]
// last return value from XXX_OneofFuncs: []interface{}
var
oneofImplementers
[]
interface
{}
for
i
:=
res
.
Len
()
-
1
;
i
>=
0
;
i
--
{
switch
m
:=
reflect
.
Zero
(
reflect
.
PtrTo
(
t
))
.
Interface
()
.
(
type
)
{
v
:=
res
.
Index
(
i
)
// interface{}
case
oneofFuncsIface
:
tptr
:=
reflect
.
ValueOf
(
v
.
Interface
())
.
Type
()
// *Msg_X
_
,
_
,
_
,
oneofImplementers
=
m
.
XXX_OneofFuncs
()
typ
:=
tptr
.
Elem
()
// Msg_X
case
oneofWrappersIface
:
oneofImplementers
=
m
.
XXX_OneofWrappers
()
}
for
_
,
v
:=
range
oneofImplementers
{
tptr
:=
reflect
.
TypeOf
(
v
)
// *Msg_X
typ
:=
tptr
.
Elem
()
// Msg_X
f
:=
typ
.
Field
(
0
)
// oneof implementers have one field
f
:=
typ
.
Field
(
0
)
// oneof implementers have one field
baseUnmarshal
:=
fieldUnmarshaler
(
&
f
)
baseUnmarshal
:=
fieldUnmarshaler
(
&
f
)
...
@@ -407,11 +410,12 @@ func (u *unmarshalInfo) computeUnmarshalInfo() {
...
@@ -407,11 +410,12 @@ func (u *unmarshalInfo) computeUnmarshalInfo() {
u
.
setTag
(
fieldNum
,
of
.
field
,
unmarshal
,
0
,
name
)
u
.
setTag
(
fieldNum
,
of
.
field
,
unmarshal
,
0
,
name
)
}
}
}
}
}
}
}
}
// Get extension ranges, if any.
// Get extension ranges, if any.
fn
=
reflect
.
Zero
(
reflect
.
PtrTo
(
t
))
.
MethodByName
(
"ExtensionRangeArray"
)
fn
:
=
reflect
.
Zero
(
reflect
.
PtrTo
(
t
))
.
MethodByName
(
"ExtensionRangeArray"
)
if
fn
.
IsValid
()
{
if
fn
.
IsValid
()
{
if
!
u
.
extensions
.
IsValid
()
&&
!
u
.
oldExtensions
.
IsValid
()
&&
!
u
.
bytesExtensions
.
IsValid
()
{
if
!
u
.
extensions
.
IsValid
()
&&
!
u
.
oldExtensions
.
IsValid
()
&&
!
u
.
bytesExtensions
.
IsValid
()
{
panic
(
"a message with extensions, but no extensions field in "
+
t
.
Name
())
panic
(
"a message with extensions, but no extensions field in "
+
t
.
Name
())
...
...
vendor/golang.org/x/sys/unix/ioctl.go
View file @
55188db2
...
@@ -6,7 +6,19 @@
...
@@ -6,7 +6,19 @@
package
unix
package
unix
import
"runtime"
import
(
"runtime"
"unsafe"
)
// ioctl itself should not be exposed directly, but additional get/set
// functions for specific types are permissible.
// IoctlSetInt performs an ioctl operation which sets an integer value
// on fd, using the specified request number.
func
IoctlSetInt
(
fd
int
,
req
uint
,
value
int
)
error
{
return
ioctl
(
fd
,
req
,
uintptr
(
value
))
}
// IoctlSetWinsize performs an ioctl on fd with a *Winsize argument.
// IoctlSetWinsize performs an ioctl on fd with a *Winsize argument.
//
//
...
@@ -14,7 +26,7 @@ import "runtime"
...
@@ -14,7 +26,7 @@ import "runtime"
func
IoctlSetWinsize
(
fd
int
,
req
uint
,
value
*
Winsize
)
error
{
func
IoctlSetWinsize
(
fd
int
,
req
uint
,
value
*
Winsize
)
error
{
// TODO: if we get the chance, remove the req parameter and
// TODO: if we get the chance, remove the req parameter and
// hardcode TIOCSWINSZ.
// hardcode TIOCSWINSZ.
err
:=
ioctl
SetWinsize
(
fd
,
req
,
value
)
err
:=
ioctl
(
fd
,
req
,
uintptr
(
unsafe
.
Pointer
(
value
))
)
runtime
.
KeepAlive
(
value
)
runtime
.
KeepAlive
(
value
)
return
err
return
err
}
}
...
@@ -24,7 +36,30 @@ func IoctlSetWinsize(fd int, req uint, value *Winsize) error {
...
@@ -24,7 +36,30 @@ func IoctlSetWinsize(fd int, req uint, value *Winsize) error {
// The req value will usually be TCSETA or TIOCSETA.
// The req value will usually be TCSETA or TIOCSETA.
func
IoctlSetTermios
(
fd
int
,
req
uint
,
value
*
Termios
)
error
{
func
IoctlSetTermios
(
fd
int
,
req
uint
,
value
*
Termios
)
error
{
// TODO: if we get the chance, remove the req parameter.
// TODO: if we get the chance, remove the req parameter.
err
:=
ioctl
SetTermios
(
fd
,
req
,
value
)
err
:=
ioctl
(
fd
,
req
,
uintptr
(
unsafe
.
Pointer
(
value
))
)
runtime
.
KeepAlive
(
value
)
runtime
.
KeepAlive
(
value
)
return
err
return
err
}
}
// IoctlGetInt performs an ioctl operation which gets an integer value
// from fd, using the specified request number.
//
// A few ioctl requests use the return value as an output parameter;
// for those, IoctlRetInt should be used instead of this function.
func
IoctlGetInt
(
fd
int
,
req
uint
)
(
int
,
error
)
{
var
value
int
err
:=
ioctl
(
fd
,
req
,
uintptr
(
unsafe
.
Pointer
(
&
value
)))
return
value
,
err
}
func
IoctlGetWinsize
(
fd
int
,
req
uint
)
(
*
Winsize
,
error
)
{
var
value
Winsize
err
:=
ioctl
(
fd
,
req
,
uintptr
(
unsafe
.
Pointer
(
&
value
)))
return
&
value
,
err
}
func
IoctlGetTermios
(
fd
int
,
req
uint
)
(
*
Termios
,
error
)
{
var
value
Termios
err
:=
ioctl
(
fd
,
req
,
uintptr
(
unsafe
.
Pointer
(
&
value
)))
return
&
value
,
err
}
vendor/golang.org/x/sys/unix/syscall_aix.go
View file @
55188db2
...
@@ -350,49 +350,12 @@ func (w WaitStatus) Signal() Signal {
...
@@ -350,49 +350,12 @@ func (w WaitStatus) Signal() Signal {
func
(
w
WaitStatus
)
Continued
()
bool
{
return
w
&
0x01000000
!=
0
}
func
(
w
WaitStatus
)
Continued
()
bool
{
return
w
&
0x01000000
!=
0
}
func
(
w
WaitStatus
)
CoreDump
()
bool
{
return
w
&
0x
200
!=
0
}
func
(
w
WaitStatus
)
CoreDump
()
bool
{
return
w
&
0x
80
==
0x8
0
}
func
(
w
WaitStatus
)
TrapCause
()
int
{
return
-
1
}
func
(
w
WaitStatus
)
TrapCause
()
int
{
return
-
1
}
//sys ioctl(fd int, req uint, arg uintptr) (err error)
//sys ioctl(fd int, req uint, arg uintptr) (err error)
// ioctl itself should not be exposed directly, but additional get/set
// functions for specific types are permissible.
// IoctlSetInt performs an ioctl operation which sets an integer value
// on fd, using the specified request number.
func
IoctlSetInt
(
fd
int
,
req
uint
,
value
int
)
error
{
return
ioctl
(
fd
,
req
,
uintptr
(
value
))
}
func
ioctlSetWinsize
(
fd
int
,
req
uint
,
value
*
Winsize
)
error
{
return
ioctl
(
fd
,
req
,
uintptr
(
unsafe
.
Pointer
(
value
)))
}
func
ioctlSetTermios
(
fd
int
,
req
uint
,
value
*
Termios
)
error
{
return
ioctl
(
fd
,
req
,
uintptr
(
unsafe
.
Pointer
(
value
)))
}
// IoctlGetInt performs an ioctl operation which gets an integer value
// from fd, using the specified request number.
func
IoctlGetInt
(
fd
int
,
req
uint
)
(
int
,
error
)
{
var
value
int
err
:=
ioctl
(
fd
,
req
,
uintptr
(
unsafe
.
Pointer
(
&
value
)))
return
value
,
err
}
func
IoctlGetWinsize
(
fd
int
,
req
uint
)
(
*
Winsize
,
error
)
{
var
value
Winsize
err
:=
ioctl
(
fd
,
req
,
uintptr
(
unsafe
.
Pointer
(
&
value
)))
return
&
value
,
err
}
func
IoctlGetTermios
(
fd
int
,
req
uint
)
(
*
Termios
,
error
)
{
var
value
Termios
err
:=
ioctl
(
fd
,
req
,
uintptr
(
unsafe
.
Pointer
(
&
value
)))
return
&
value
,
err
}
// fcntl must never be called with cmd=F_DUP2FD because it doesn't work on AIX
// fcntl must never be called with cmd=F_DUP2FD because it doesn't work on AIX
// There is no way to create a custom fcntl and to keep //sys fcntl easily,
// There is no way to create a custom fcntl and to keep //sys fcntl easily,
// Therefore, the programmer must call dup2 instead of fcntl in this case.
// Therefore, the programmer must call dup2 instead of fcntl in this case.
...
...
vendor/golang.org/x/sys/unix/syscall_darwin.go
View file @
55188db2
...
@@ -339,43 +339,6 @@ func Kill(pid int, signum syscall.Signal) (err error) { return kill(pid, int(sig
...
@@ -339,43 +339,6 @@ func Kill(pid int, signum syscall.Signal) (err error) { return kill(pid, int(sig
//sys ioctl(fd int, req uint, arg uintptr) (err error)
//sys ioctl(fd int, req uint, arg uintptr) (err error)
// ioctl itself should not be exposed directly, but additional get/set
// functions for specific types are permissible.
// IoctlSetInt performs an ioctl operation which sets an integer value
// on fd, using the specified request number.
func
IoctlSetInt
(
fd
int
,
req
uint
,
value
int
)
error
{
return
ioctl
(
fd
,
req
,
uintptr
(
value
))
}
func
ioctlSetWinsize
(
fd
int
,
req
uint
,
value
*
Winsize
)
error
{
return
ioctl
(
fd
,
req
,
uintptr
(
unsafe
.
Pointer
(
value
)))
}
func
ioctlSetTermios
(
fd
int
,
req
uint
,
value
*
Termios
)
error
{
return
ioctl
(
fd
,
req
,
uintptr
(
unsafe
.
Pointer
(
value
)))
}
// IoctlGetInt performs an ioctl operation which gets an integer value
// from fd, using the specified request number.
func
IoctlGetInt
(
fd
int
,
req
uint
)
(
int
,
error
)
{
var
value
int
err
:=
ioctl
(
fd
,
req
,
uintptr
(
unsafe
.
Pointer
(
&
value
)))
return
value
,
err
}
func
IoctlGetWinsize
(
fd
int
,
req
uint
)
(
*
Winsize
,
error
)
{
var
value
Winsize
err
:=
ioctl
(
fd
,
req
,
uintptr
(
unsafe
.
Pointer
(
&
value
)))
return
&
value
,
err
}
func
IoctlGetTermios
(
fd
int
,
req
uint
)
(
*
Termios
,
error
)
{
var
value
Termios
err
:=
ioctl
(
fd
,
req
,
uintptr
(
unsafe
.
Pointer
(
&
value
)))
return
&
value
,
err
}
func
Uname
(
uname
*
Utsname
)
error
{
func
Uname
(
uname
*
Utsname
)
error
{
mib
:=
[]
_C_int
{
CTL_KERN
,
KERN_OSTYPE
}
mib
:=
[]
_C_int
{
CTL_KERN
,
KERN_OSTYPE
}
n
:=
unsafe
.
Sizeof
(
uname
.
Sysname
)
n
:=
unsafe
.
Sizeof
(
uname
.
Sysname
)
...
...
vendor/golang.org/x/sys/unix/syscall_dragonfly.go
View file @
55188db2
...
@@ -150,43 +150,6 @@ func setattrlistTimes(path string, times []Timespec, flags int) error {
...
@@ -150,43 +150,6 @@ func setattrlistTimes(path string, times []Timespec, flags int) error {
//sys ioctl(fd int, req uint, arg uintptr) (err error)
//sys ioctl(fd int, req uint, arg uintptr) (err error)
// ioctl itself should not be exposed directly, but additional get/set
// functions for specific types are permissible.
// IoctlSetInt performs an ioctl operation which sets an integer value
// on fd, using the specified request number.
func
IoctlSetInt
(
fd
int
,
req
uint
,
value
int
)
error
{
return
ioctl
(
fd
,
req
,
uintptr
(
value
))
}
func
ioctlSetWinsize
(
fd
int
,
req
uint
,
value
*
Winsize
)
error
{
return
ioctl
(
fd
,
req
,
uintptr
(
unsafe
.
Pointer
(
value
)))
}
func
ioctlSetTermios
(
fd
int
,
req
uint
,
value
*
Termios
)
error
{
return
ioctl
(
fd
,
req
,
uintptr
(
unsafe
.
Pointer
(
value
)))
}
// IoctlGetInt performs an ioctl operation which gets an integer value
// from fd, using the specified request number.
func
IoctlGetInt
(
fd
int
,
req
uint
)
(
int
,
error
)
{
var
value
int
err
:=
ioctl
(
fd
,
req
,
uintptr
(
unsafe
.
Pointer
(
&
value
)))
return
value
,
err
}
func
IoctlGetWinsize
(
fd
int
,
req
uint
)
(
*
Winsize
,
error
)
{
var
value
Winsize
err
:=
ioctl
(
fd
,
req
,
uintptr
(
unsafe
.
Pointer
(
&
value
)))
return
&
value
,
err
}
func
IoctlGetTermios
(
fd
int
,
req
uint
)
(
*
Termios
,
error
)
{
var
value
Termios
err
:=
ioctl
(
fd
,
req
,
uintptr
(
unsafe
.
Pointer
(
&
value
)))
return
&
value
,
err
}
func
sysctlUname
(
mib
[]
_C_int
,
old
*
byte
,
oldlen
*
uintptr
)
error
{
func
sysctlUname
(
mib
[]
_C_int
,
old
*
byte
,
oldlen
*
uintptr
)
error
{
err
:=
sysctl
(
mib
,
old
,
oldlen
,
nil
,
0
)
err
:=
sysctl
(
mib
,
old
,
oldlen
,
nil
,
0
)
if
err
!=
nil
{
if
err
!=
nil
{
...
...
vendor/golang.org/x/sys/unix/syscall_freebsd.go
View file @
55188db2
...
@@ -201,43 +201,6 @@ func setattrlistTimes(path string, times []Timespec, flags int) error {
...
@@ -201,43 +201,6 @@ func setattrlistTimes(path string, times []Timespec, flags int) error {
//sys ioctl(fd int, req uint, arg uintptr) (err error)
//sys ioctl(fd int, req uint, arg uintptr) (err error)
// ioctl itself should not be exposed directly, but additional get/set
// functions for specific types are permissible.
// IoctlSetInt performs an ioctl operation which sets an integer value
// on fd, using the specified request number.
func
IoctlSetInt
(
fd
int
,
req
uint
,
value
int
)
error
{
return
ioctl
(
fd
,
req
,
uintptr
(
value
))
}
func
ioctlSetWinsize
(
fd
int
,
req
uint
,
value
*
Winsize
)
error
{
return
ioctl
(
fd
,
req
,
uintptr
(
unsafe
.
Pointer
(
value
)))
}
func
ioctlSetTermios
(
fd
int
,
req
uint
,
value
*
Termios
)
error
{
return
ioctl
(
fd
,
req
,
uintptr
(
unsafe
.
Pointer
(
value
)))
}
// IoctlGetInt performs an ioctl operation which gets an integer value
// from fd, using the specified request number.
func
IoctlGetInt
(
fd
int
,
req
uint
)
(
int
,
error
)
{
var
value
int
err
:=
ioctl
(
fd
,
req
,
uintptr
(
unsafe
.
Pointer
(
&
value
)))
return
value
,
err
}
func
IoctlGetWinsize
(
fd
int
,
req
uint
)
(
*
Winsize
,
error
)
{
var
value
Winsize
err
:=
ioctl
(
fd
,
req
,
uintptr
(
unsafe
.
Pointer
(
&
value
)))
return
&
value
,
err
}
func
IoctlGetTermios
(
fd
int
,
req
uint
)
(
*
Termios
,
error
)
{
var
value
Termios
err
:=
ioctl
(
fd
,
req
,
uintptr
(
unsafe
.
Pointer
(
&
value
)))
return
&
value
,
err
}
func
Uname
(
uname
*
Utsname
)
error
{
func
Uname
(
uname
*
Utsname
)
error
{
mib
:=
[]
_C_int
{
CTL_KERN
,
KERN_OSTYPE
}
mib
:=
[]
_C_int
{
CTL_KERN
,
KERN_OSTYPE
}
n
:=
unsafe
.
Sizeof
(
uname
.
Sysname
)
n
:=
unsafe
.
Sizeof
(
uname
.
Sysname
)
...
...
vendor/golang.org/x/sys/unix/syscall_linux.go
View file @
55188db2
...
@@ -71,6 +71,17 @@ func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) {
...
@@ -71,6 +71,17 @@ func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) {
// ioctl itself should not be exposed directly, but additional get/set
// ioctl itself should not be exposed directly, but additional get/set
// functions for specific types are permissible.
// functions for specific types are permissible.
// IoctlRetInt performs an ioctl operation specified by req on a device
// associated with opened file descriptor fd, and returns a non-negative
// integer that is returned by the ioctl syscall.
func
IoctlRetInt
(
fd
int
,
req
uint
)
(
int
,
error
)
{
ret
,
_
,
err
:=
Syscall
(
SYS_IOCTL
,
uintptr
(
fd
),
uintptr
(
req
),
0
)
if
err
!=
0
{
return
0
,
err
}
return
int
(
ret
),
nil
}
// IoctlSetPointerInt performs an ioctl operation which sets an
// IoctlSetPointerInt performs an ioctl operation which sets an
// integer value on fd, using the specified request number. The ioctl
// integer value on fd, using the specified request number. The ioctl
// argument is called with a pointer to the integer value, rather than
// argument is called with a pointer to the integer value, rather than
...
@@ -80,52 +91,18 @@ func IoctlSetPointerInt(fd int, req uint, value int) error {
...
@@ -80,52 +91,18 @@ func IoctlSetPointerInt(fd int, req uint, value int) error {
return
ioctl
(
fd
,
req
,
uintptr
(
unsafe
.
Pointer
(
&
v
)))
return
ioctl
(
fd
,
req
,
uintptr
(
unsafe
.
Pointer
(
&
v
)))
}
}
// IoctlSetInt performs an ioctl operation which sets an integer value
// on fd, using the specified request number.
func
IoctlSetInt
(
fd
int
,
req
uint
,
value
int
)
error
{
return
ioctl
(
fd
,
req
,
uintptr
(
value
))
}
func
ioctlSetWinsize
(
fd
int
,
req
uint
,
value
*
Winsize
)
error
{
return
ioctl
(
fd
,
req
,
uintptr
(
unsafe
.
Pointer
(
value
)))
}
func
ioctlSetTermios
(
fd
int
,
req
uint
,
value
*
Termios
)
error
{
return
ioctl
(
fd
,
req
,
uintptr
(
unsafe
.
Pointer
(
value
)))
}
func
IoctlSetRTCTime
(
fd
int
,
value
*
RTCTime
)
error
{
func
IoctlSetRTCTime
(
fd
int
,
value
*
RTCTime
)
error
{
err
:=
ioctl
(
fd
,
RTC_SET_TIME
,
uintptr
(
unsafe
.
Pointer
(
value
)))
err
:=
ioctl
(
fd
,
RTC_SET_TIME
,
uintptr
(
unsafe
.
Pointer
(
value
)))
runtime
.
KeepAlive
(
value
)
runtime
.
KeepAlive
(
value
)
return
err
return
err
}
}
// IoctlGetInt performs an ioctl operation which gets an integer value
// from fd, using the specified request number.
func
IoctlGetInt
(
fd
int
,
req
uint
)
(
int
,
error
)
{
var
value
int
err
:=
ioctl
(
fd
,
req
,
uintptr
(
unsafe
.
Pointer
(
&
value
)))
return
value
,
err
}
func
IoctlGetUint32
(
fd
int
,
req
uint
)
(
uint32
,
error
)
{
func
IoctlGetUint32
(
fd
int
,
req
uint
)
(
uint32
,
error
)
{
var
value
uint32
var
value
uint32
err
:=
ioctl
(
fd
,
req
,
uintptr
(
unsafe
.
Pointer
(
&
value
)))
err
:=
ioctl
(
fd
,
req
,
uintptr
(
unsafe
.
Pointer
(
&
value
)))
return
value
,
err
return
value
,
err
}
}
func
IoctlGetWinsize
(
fd
int
,
req
uint
)
(
*
Winsize
,
error
)
{
var
value
Winsize
err
:=
ioctl
(
fd
,
req
,
uintptr
(
unsafe
.
Pointer
(
&
value
)))
return
&
value
,
err
}
func
IoctlGetTermios
(
fd
int
,
req
uint
)
(
*
Termios
,
error
)
{
var
value
Termios
err
:=
ioctl
(
fd
,
req
,
uintptr
(
unsafe
.
Pointer
(
&
value
)))
return
&
value
,
err
}
func
IoctlGetRTCTime
(
fd
int
)
(
*
RTCTime
,
error
)
{
func
IoctlGetRTCTime
(
fd
int
)
(
*
RTCTime
,
error
)
{
var
value
RTCTime
var
value
RTCTime
err
:=
ioctl
(
fd
,
RTC_RD_TIME
,
uintptr
(
unsafe
.
Pointer
(
&
value
)))
err
:=
ioctl
(
fd
,
RTC_RD_TIME
,
uintptr
(
unsafe
.
Pointer
(
&
value
)))
...
...
vendor/golang.org/x/sys/unix/syscall_netbsd.go
View file @
55188db2
...
@@ -187,43 +187,6 @@ func setattrlistTimes(path string, times []Timespec, flags int) error {
...
@@ -187,43 +187,6 @@ func setattrlistTimes(path string, times []Timespec, flags int) error {
//sys ioctl(fd int, req uint, arg uintptr) (err error)
//sys ioctl(fd int, req uint, arg uintptr) (err error)
// ioctl itself should not be exposed directly, but additional get/set
// functions for specific types are permissible.
// IoctlSetInt performs an ioctl operation which sets an integer value
// on fd, using the specified request number.
func
IoctlSetInt
(
fd
int
,
req
uint
,
value
int
)
error
{
return
ioctl
(
fd
,
req
,
uintptr
(
value
))
}
func
ioctlSetWinsize
(
fd
int
,
req
uint
,
value
*
Winsize
)
error
{
return
ioctl
(
fd
,
req
,
uintptr
(
unsafe
.
Pointer
(
value
)))
}
func
ioctlSetTermios
(
fd
int
,
req
uint
,
value
*
Termios
)
error
{
return
ioctl
(
fd
,
req
,
uintptr
(
unsafe
.
Pointer
(
value
)))
}
// IoctlGetInt performs an ioctl operation which gets an integer value
// from fd, using the specified request number.
func
IoctlGetInt
(
fd
int
,
req
uint
)
(
int
,
error
)
{
var
value
int
err
:=
ioctl
(
fd
,
req
,
uintptr
(
unsafe
.
Pointer
(
&
value
)))
return
value
,
err
}
func
IoctlGetWinsize
(
fd
int
,
req
uint
)
(
*
Winsize
,
error
)
{
var
value
Winsize
err
:=
ioctl
(
fd
,
req
,
uintptr
(
unsafe
.
Pointer
(
&
value
)))
return
&
value
,
err
}
func
IoctlGetTermios
(
fd
int
,
req
uint
)
(
*
Termios
,
error
)
{
var
value
Termios
err
:=
ioctl
(
fd
,
req
,
uintptr
(
unsafe
.
Pointer
(
&
value
)))
return
&
value
,
err
}
func
IoctlGetPtmget
(
fd
int
,
req
uint
)
(
*
Ptmget
,
error
)
{
func
IoctlGetPtmget
(
fd
int
,
req
uint
)
(
*
Ptmget
,
error
)
{
var
value
Ptmget
var
value
Ptmget
err
:=
ioctl
(
fd
,
req
,
uintptr
(
unsafe
.
Pointer
(
&
value
)))
err
:=
ioctl
(
fd
,
req
,
uintptr
(
unsafe
.
Pointer
(
&
value
)))
...
...
vendor/golang.org/x/sys/unix/syscall_openbsd.go
View file @
55188db2
...
@@ -178,43 +178,6 @@ func setattrlistTimes(path string, times []Timespec, flags int) error {
...
@@ -178,43 +178,6 @@ func setattrlistTimes(path string, times []Timespec, flags int) error {
//sys ioctl(fd int, req uint, arg uintptr) (err error)
//sys ioctl(fd int, req uint, arg uintptr) (err error)
// ioctl itself should not be exposed directly, but additional get/set
// functions for specific types are permissible.
// IoctlSetInt performs an ioctl operation which sets an integer value
// on fd, using the specified request number.
func
IoctlSetInt
(
fd
int
,
req
uint
,
value
int
)
error
{
return
ioctl
(
fd
,
req
,
uintptr
(
value
))
}
func
ioctlSetWinsize
(
fd
int
,
req
uint
,
value
*
Winsize
)
error
{
return
ioctl
(
fd
,
req
,
uintptr
(
unsafe
.
Pointer
(
value
)))
}
func
ioctlSetTermios
(
fd
int
,
req
uint
,
value
*
Termios
)
error
{
return
ioctl
(
fd
,
req
,
uintptr
(
unsafe
.
Pointer
(
value
)))
}
// IoctlGetInt performs an ioctl operation which gets an integer value
// from fd, using the specified request number.
func
IoctlGetInt
(
fd
int
,
req
uint
)
(
int
,
error
)
{
var
value
int
err
:=
ioctl
(
fd
,
req
,
uintptr
(
unsafe
.
Pointer
(
&
value
)))
return
value
,
err
}
func
IoctlGetWinsize
(
fd
int
,
req
uint
)
(
*
Winsize
,
error
)
{
var
value
Winsize
err
:=
ioctl
(
fd
,
req
,
uintptr
(
unsafe
.
Pointer
(
&
value
)))
return
&
value
,
err
}
func
IoctlGetTermios
(
fd
int
,
req
uint
)
(
*
Termios
,
error
)
{
var
value
Termios
err
:=
ioctl
(
fd
,
req
,
uintptr
(
unsafe
.
Pointer
(
&
value
)))
return
&
value
,
err
}
//sys ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error)
//sys ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error)
func
Ppoll
(
fds
[]
PollFd
,
timeout
*
Timespec
,
sigmask
*
Sigset_t
)
(
n
int
,
err
error
)
{
func
Ppoll
(
fds
[]
PollFd
,
timeout
*
Timespec
,
sigmask
*
Sigset_t
)
(
n
int
,
err
error
)
{
...
...
vendor/golang.org/x/sys/unix/syscall_solaris.go
View file @
55188db2
...
@@ -553,40 +553,10 @@ func Minor(dev uint64) uint32 {
...
@@ -553,40 +553,10 @@ func Minor(dev uint64) uint32 {
//sys ioctl(fd int, req uint, arg uintptr) (err error)
//sys ioctl(fd int, req uint, arg uintptr) (err error)
func
IoctlSetInt
(
fd
int
,
req
uint
,
value
int
)
(
err
error
)
{
return
ioctl
(
fd
,
req
,
uintptr
(
value
))
}
func
ioctlSetWinsize
(
fd
int
,
req
uint
,
value
*
Winsize
)
(
err
error
)
{
return
ioctl
(
fd
,
req
,
uintptr
(
unsafe
.
Pointer
(
value
)))
}
func
ioctlSetTermios
(
fd
int
,
req
uint
,
value
*
Termios
)
(
err
error
)
{
return
ioctl
(
fd
,
req
,
uintptr
(
unsafe
.
Pointer
(
value
)))
}
func
IoctlSetTermio
(
fd
int
,
req
uint
,
value
*
Termio
)
(
err
error
)
{
func
IoctlSetTermio
(
fd
int
,
req
uint
,
value
*
Termio
)
(
err
error
)
{
return
ioctl
(
fd
,
req
,
uintptr
(
unsafe
.
Pointer
(
value
)))
return
ioctl
(
fd
,
req
,
uintptr
(
unsafe
.
Pointer
(
value
)))
}
}
func
IoctlGetInt
(
fd
int
,
req
uint
)
(
int
,
error
)
{
var
value
int
err
:=
ioctl
(
fd
,
req
,
uintptr
(
unsafe
.
Pointer
(
&
value
)))
return
value
,
err
}
func
IoctlGetWinsize
(
fd
int
,
req
uint
)
(
*
Winsize
,
error
)
{
var
value
Winsize
err
:=
ioctl
(
fd
,
req
,
uintptr
(
unsafe
.
Pointer
(
&
value
)))
return
&
value
,
err
}
func
IoctlGetTermios
(
fd
int
,
req
uint
)
(
*
Termios
,
error
)
{
var
value
Termios
err
:=
ioctl
(
fd
,
req
,
uintptr
(
unsafe
.
Pointer
(
&
value
)))
return
&
value
,
err
}
func
IoctlGetTermio
(
fd
int
,
req
uint
)
(
*
Termio
,
error
)
{
func
IoctlGetTermio
(
fd
int
,
req
uint
)
(
*
Termio
,
error
)
{
var
value
Termio
var
value
Termio
err
:=
ioctl
(
fd
,
req
,
uintptr
(
unsafe
.
Pointer
(
&
value
)))
err
:=
ioctl
(
fd
,
req
,
uintptr
(
unsafe
.
Pointer
(
&
value
)))
...
...
vendor/golang.org/x/sys/unix/zerrors_linux_386.go
View file @
55188db2
...
@@ -1408,6 +1408,10 @@ const (
...
@@ -1408,6 +1408,10 @@ const (
NLM_F_ROOT
=
0x100
NLM_F_ROOT
=
0x100
NOFLSH
=
0x80
NOFLSH
=
0x80
NSFS_MAGIC
=
0x6e736673
NSFS_MAGIC
=
0x6e736673
NS_GET_NSTYPE
=
0xb703
NS_GET_OWNER_UID
=
0xb704
NS_GET_PARENT
=
0xb702
NS_GET_USERNS
=
0xb701
OCFS2_SUPER_MAGIC
=
0x7461636f
OCFS2_SUPER_MAGIC
=
0x7461636f
OCRNL
=
0x8
OCRNL
=
0x8
OFDEL
=
0x80
OFDEL
=
0x80
...
...
vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go
View file @
55188db2
...
@@ -1408,6 +1408,10 @@ const (
...
@@ -1408,6 +1408,10 @@ const (
NLM_F_ROOT
=
0x100
NLM_F_ROOT
=
0x100
NOFLSH
=
0x80
NOFLSH
=
0x80
NSFS_MAGIC
=
0x6e736673
NSFS_MAGIC
=
0x6e736673
NS_GET_NSTYPE
=
0xb703
NS_GET_OWNER_UID
=
0xb704
NS_GET_PARENT
=
0xb702
NS_GET_USERNS
=
0xb701
OCFS2_SUPER_MAGIC
=
0x7461636f
OCFS2_SUPER_MAGIC
=
0x7461636f
OCRNL
=
0x8
OCRNL
=
0x8
OFDEL
=
0x80
OFDEL
=
0x80
...
...
vendor/golang.org/x/sys/unix/zerrors_linux_arm.go
View file @
55188db2
...
@@ -1406,6 +1406,10 @@ const (
...
@@ -1406,6 +1406,10 @@ const (
NLM_F_ROOT
=
0x100
NLM_F_ROOT
=
0x100
NOFLSH
=
0x80
NOFLSH
=
0x80
NSFS_MAGIC
=
0x6e736673
NSFS_MAGIC
=
0x6e736673
NS_GET_NSTYPE
=
0xb703
NS_GET_OWNER_UID
=
0xb704
NS_GET_PARENT
=
0xb702
NS_GET_USERNS
=
0xb701
OCFS2_SUPER_MAGIC
=
0x7461636f
OCFS2_SUPER_MAGIC
=
0x7461636f
OCRNL
=
0x8
OCRNL
=
0x8
OFDEL
=
0x80
OFDEL
=
0x80
...
...
vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go
View file @
55188db2
...
@@ -1409,6 +1409,10 @@ const (
...
@@ -1409,6 +1409,10 @@ const (
NLM_F_ROOT
=
0x100
NLM_F_ROOT
=
0x100
NOFLSH
=
0x80
NOFLSH
=
0x80
NSFS_MAGIC
=
0x6e736673
NSFS_MAGIC
=
0x6e736673
NS_GET_NSTYPE
=
0xb703
NS_GET_OWNER_UID
=
0xb704
NS_GET_PARENT
=
0xb702
NS_GET_USERNS
=
0xb701
OCFS2_SUPER_MAGIC
=
0x7461636f
OCFS2_SUPER_MAGIC
=
0x7461636f
OCRNL
=
0x8
OCRNL
=
0x8
OFDEL
=
0x80
OFDEL
=
0x80
...
...
vendor/golang.org/x/sys/unix/zerrors_linux_mips.go
View file @
55188db2
...
@@ -1406,6 +1406,10 @@ const (
...
@@ -1406,6 +1406,10 @@ const (
NLM_F_ROOT
=
0x100
NLM_F_ROOT
=
0x100
NOFLSH
=
0x80
NOFLSH
=
0x80
NSFS_MAGIC
=
0x6e736673
NSFS_MAGIC
=
0x6e736673
NS_GET_NSTYPE
=
0x2000b703
NS_GET_OWNER_UID
=
0x2000b704
NS_GET_PARENT
=
0x2000b702
NS_GET_USERNS
=
0x2000b701
OCFS2_SUPER_MAGIC
=
0x7461636f
OCFS2_SUPER_MAGIC
=
0x7461636f
OCRNL
=
0x8
OCRNL
=
0x8
OFDEL
=
0x80
OFDEL
=
0x80
...
...
vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go
View file @
55188db2
...
@@ -1406,6 +1406,10 @@ const (
...
@@ -1406,6 +1406,10 @@ const (
NLM_F_ROOT
=
0x100
NLM_F_ROOT
=
0x100
NOFLSH
=
0x80
NOFLSH
=
0x80
NSFS_MAGIC
=
0x6e736673
NSFS_MAGIC
=
0x6e736673
NS_GET_NSTYPE
=
0x2000b703
NS_GET_OWNER_UID
=
0x2000b704
NS_GET_PARENT
=
0x2000b702
NS_GET_USERNS
=
0x2000b701
OCFS2_SUPER_MAGIC
=
0x7461636f
OCFS2_SUPER_MAGIC
=
0x7461636f
OCRNL
=
0x8
OCRNL
=
0x8
OFDEL
=
0x80
OFDEL
=
0x80
...
...
vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go
View file @
55188db2
...
@@ -1406,6 +1406,10 @@ const (
...
@@ -1406,6 +1406,10 @@ const (
NLM_F_ROOT
=
0x100
NLM_F_ROOT
=
0x100
NOFLSH
=
0x80
NOFLSH
=
0x80
NSFS_MAGIC
=
0x6e736673
NSFS_MAGIC
=
0x6e736673
NS_GET_NSTYPE
=
0x2000b703
NS_GET_OWNER_UID
=
0x2000b704
NS_GET_PARENT
=
0x2000b702
NS_GET_USERNS
=
0x2000b701
OCFS2_SUPER_MAGIC
=
0x7461636f
OCFS2_SUPER_MAGIC
=
0x7461636f
OCRNL
=
0x8
OCRNL
=
0x8
OFDEL
=
0x80
OFDEL
=
0x80
...
...
vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go
View file @
55188db2
...
@@ -1406,6 +1406,10 @@ const (
...
@@ -1406,6 +1406,10 @@ const (
NLM_F_ROOT
=
0x100
NLM_F_ROOT
=
0x100
NOFLSH
=
0x80
NOFLSH
=
0x80
NSFS_MAGIC
=
0x6e736673
NSFS_MAGIC
=
0x6e736673
NS_GET_NSTYPE
=
0x2000b703
NS_GET_OWNER_UID
=
0x2000b704
NS_GET_PARENT
=
0x2000b702
NS_GET_USERNS
=
0x2000b701
OCFS2_SUPER_MAGIC
=
0x7461636f
OCFS2_SUPER_MAGIC
=
0x7461636f
OCRNL
=
0x8
OCRNL
=
0x8
OFDEL
=
0x80
OFDEL
=
0x80
...
...
vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go
View file @
55188db2
...
@@ -1407,6 +1407,10 @@ const (
...
@@ -1407,6 +1407,10 @@ const (
NLM_F_ROOT
=
0x100
NLM_F_ROOT
=
0x100
NOFLSH
=
0x80000000
NOFLSH
=
0x80000000
NSFS_MAGIC
=
0x6e736673
NSFS_MAGIC
=
0x6e736673
NS_GET_NSTYPE
=
0x2000b703
NS_GET_OWNER_UID
=
0x2000b704
NS_GET_PARENT
=
0x2000b702
NS_GET_USERNS
=
0x2000b701
OCFS2_SUPER_MAGIC
=
0x7461636f
OCFS2_SUPER_MAGIC
=
0x7461636f
OCRNL
=
0x8
OCRNL
=
0x8
OFDEL
=
0x80
OFDEL
=
0x80
...
...
vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go
View file @
55188db2
...
@@ -1407,6 +1407,10 @@ const (
...
@@ -1407,6 +1407,10 @@ const (
NLM_F_ROOT
=
0x100
NLM_F_ROOT
=
0x100
NOFLSH
=
0x80000000
NOFLSH
=
0x80000000
NSFS_MAGIC
=
0x6e736673
NSFS_MAGIC
=
0x6e736673
NS_GET_NSTYPE
=
0x2000b703
NS_GET_OWNER_UID
=
0x2000b704
NS_GET_PARENT
=
0x2000b702
NS_GET_USERNS
=
0x2000b701
OCFS2_SUPER_MAGIC
=
0x7461636f
OCFS2_SUPER_MAGIC
=
0x7461636f
OCRNL
=
0x8
OCRNL
=
0x8
OFDEL
=
0x80
OFDEL
=
0x80
...
...
vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go
View file @
55188db2
...
@@ -1406,6 +1406,10 @@ const (
...
@@ -1406,6 +1406,10 @@ const (
NLM_F_ROOT
=
0x100
NLM_F_ROOT
=
0x100
NOFLSH
=
0x80
NOFLSH
=
0x80
NSFS_MAGIC
=
0x6e736673
NSFS_MAGIC
=
0x6e736673
NS_GET_NSTYPE
=
0xb703
NS_GET_OWNER_UID
=
0xb704
NS_GET_PARENT
=
0xb702
NS_GET_USERNS
=
0xb701
OCFS2_SUPER_MAGIC
=
0x7461636f
OCFS2_SUPER_MAGIC
=
0x7461636f
OCRNL
=
0x8
OCRNL
=
0x8
OFDEL
=
0x80
OFDEL
=
0x80
...
...
vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go
View file @
55188db2
...
@@ -1406,6 +1406,10 @@ const (
...
@@ -1406,6 +1406,10 @@ const (
NLM_F_ROOT
=
0x100
NLM_F_ROOT
=
0x100
NOFLSH
=
0x80
NOFLSH
=
0x80
NSFS_MAGIC
=
0x6e736673
NSFS_MAGIC
=
0x6e736673
NS_GET_NSTYPE
=
0xb703
NS_GET_OWNER_UID
=
0xb704
NS_GET_PARENT
=
0xb702
NS_GET_USERNS
=
0xb701
OCFS2_SUPER_MAGIC
=
0x7461636f
OCFS2_SUPER_MAGIC
=
0x7461636f
OCRNL
=
0x8
OCRNL
=
0x8
OFDEL
=
0x80
OFDEL
=
0x80
...
...
vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go
View file @
55188db2
...
@@ -1410,6 +1410,10 @@ const (
...
@@ -1410,6 +1410,10 @@ const (
NLM_F_ROOT
=
0x100
NLM_F_ROOT
=
0x100
NOFLSH
=
0x80
NOFLSH
=
0x80
NSFS_MAGIC
=
0x6e736673
NSFS_MAGIC
=
0x6e736673
NS_GET_NSTYPE
=
0x2000b703
NS_GET_OWNER_UID
=
0x2000b704
NS_GET_PARENT
=
0x2000b702
NS_GET_USERNS
=
0x2000b701
OCFS2_SUPER_MAGIC
=
0x7461636f
OCFS2_SUPER_MAGIC
=
0x7461636f
OCRNL
=
0x8
OCRNL
=
0x8
OFDEL
=
0x80
OFDEL
=
0x80
...
...
vendor/golang.org/x/sys/windows/security_windows.go
View file @
55188db2
...
@@ -666,7 +666,7 @@ func OpenCurrentProcessToken() (Token, error) {
...
@@ -666,7 +666,7 @@ func OpenCurrentProcessToken() (Token, error) {
return
0
,
e
return
0
,
e
}
}
var
t
Token
var
t
Token
e
=
OpenProcessToken
(
p
,
TOKEN_QUERY
,
&
t
)
e
=
OpenProcessToken
(
p
,
TOKEN_QUERY
|
TOKEN_DUPLICATE
,
&
t
)
if
e
!=
nil
{
if
e
!=
nil
{
return
0
,
e
return
0
,
e
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment