Merge pull request #20430 from hashicorp/vendor-bump-ssh-agent
vendor: github.com/xanzy/ssh-agent@v0.2.1
This commit is contained in:
commit
d13c786504
4
go.mod
4
go.mod
|
@ -111,14 +111,14 @@ require (
|
||||||
github.com/tmc/grpc-websocket-proxy v0.0.0-20171017195756-830351dc03c6 // indirect
|
github.com/tmc/grpc-websocket-proxy v0.0.0-20171017195756-830351dc03c6 // indirect
|
||||||
github.com/ugorji/go v0.0.0-20180813092308-00b869d2f4a5 // indirect
|
github.com/ugorji/go v0.0.0-20180813092308-00b869d2f4a5 // indirect
|
||||||
github.com/vmihailenco/msgpack v4.0.1+incompatible // indirect
|
github.com/vmihailenco/msgpack v4.0.1+incompatible // indirect
|
||||||
github.com/xanzy/ssh-agent v0.2.0
|
github.com/xanzy/ssh-agent v0.2.1
|
||||||
github.com/xiang90/probing v0.0.0-20160813154853-07dd2e8dfe18 // indirect
|
github.com/xiang90/probing v0.0.0-20160813154853-07dd2e8dfe18 // indirect
|
||||||
github.com/xlab/treeprint v0.0.0-20161029104018-1d6e34225557
|
github.com/xlab/treeprint v0.0.0-20161029104018-1d6e34225557
|
||||||
github.com/zclconf/go-cty v0.0.0-20190201220620-4ca19710f056
|
github.com/zclconf/go-cty v0.0.0-20190201220620-4ca19710f056
|
||||||
go.uber.org/atomic v1.3.2 // indirect
|
go.uber.org/atomic v1.3.2 // indirect
|
||||||
go.uber.org/multierr v1.1.0 // indirect
|
go.uber.org/multierr v1.1.0 // indirect
|
||||||
go.uber.org/zap v1.9.1 // indirect
|
go.uber.org/zap v1.9.1 // indirect
|
||||||
golang.org/x/crypto v0.0.0-20181127143415-eb0de9b17e85
|
golang.org/x/crypto v0.0.0-20190219172222-a4c6cb3142f2
|
||||||
golang.org/x/net v0.0.0-20190213061140-3a22650c66bd
|
golang.org/x/net v0.0.0-20190213061140-3a22650c66bd
|
||||||
golang.org/x/oauth2 v0.0.0-20190220154721-9b3c75971fc9
|
golang.org/x/oauth2 v0.0.0-20190220154721-9b3c75971fc9
|
||||||
google.golang.org/api v0.1.0
|
google.golang.org/api v0.1.0
|
||||||
|
|
10
go.sum
10
go.sum
|
@ -380,8 +380,8 @@ github.com/ulikunitz/xz v0.5.5/go.mod h1:2bypXElzHzzJZwzH67Y6wb67pO62Rzfn7BSiF4A
|
||||||
github.com/vmihailenco/msgpack v3.3.3+incompatible/go.mod h1:fy3FlTQTDXWkZ7Bh6AcGMlsjHatGryHQYUTf1ShIgkk=
|
github.com/vmihailenco/msgpack v3.3.3+incompatible/go.mod h1:fy3FlTQTDXWkZ7Bh6AcGMlsjHatGryHQYUTf1ShIgkk=
|
||||||
github.com/vmihailenco/msgpack v4.0.1+incompatible h1:RMF1enSPeKTlXrXdOcqjFUElywVZjjC6pqse21bKbEU=
|
github.com/vmihailenco/msgpack v4.0.1+incompatible h1:RMF1enSPeKTlXrXdOcqjFUElywVZjjC6pqse21bKbEU=
|
||||||
github.com/vmihailenco/msgpack v4.0.1+incompatible/go.mod h1:fy3FlTQTDXWkZ7Bh6AcGMlsjHatGryHQYUTf1ShIgkk=
|
github.com/vmihailenco/msgpack v4.0.1+incompatible/go.mod h1:fy3FlTQTDXWkZ7Bh6AcGMlsjHatGryHQYUTf1ShIgkk=
|
||||||
github.com/xanzy/ssh-agent v0.2.0 h1:Adglfbi5p9Z0BmK2oKU9nTG+zKfniSfnaMYB+ULd+Ro=
|
github.com/xanzy/ssh-agent v0.2.1 h1:TCbipTQL2JiiCprBWx9frJ2eJlCYT00NmctrHxVAr70=
|
||||||
github.com/xanzy/ssh-agent v0.2.0/go.mod h1:0NyE30eGUDliuLEHJgYte/zncp2zdTStcOnWhgSqHD8=
|
github.com/xanzy/ssh-agent v0.2.1/go.mod h1:mLlQY/MoOhWBj+gOGMQkOeiEvkx+8pJSI+0Bx9h2kr4=
|
||||||
github.com/xiang90/probing v0.0.0-20160813154853-07dd2e8dfe18 h1:MPPkRncZLN9Kh4MEFmbnK4h3BD7AUmskWv2+EeZJCCs=
|
github.com/xiang90/probing v0.0.0-20160813154853-07dd2e8dfe18 h1:MPPkRncZLN9Kh4MEFmbnK4h3BD7AUmskWv2+EeZJCCs=
|
||||||
github.com/xiang90/probing v0.0.0-20160813154853-07dd2e8dfe18/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU=
|
github.com/xiang90/probing v0.0.0-20160813154853-07dd2e8dfe18/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU=
|
||||||
github.com/xlab/treeprint v0.0.0-20161029104018-1d6e34225557 h1:Jpn2j6wHkC9wJv5iMfJhKqrZJx3TahFx+7sbZ7zQdxs=
|
github.com/xlab/treeprint v0.0.0-20161029104018-1d6e34225557 h1:Jpn2j6wHkC9wJv5iMfJhKqrZJx3TahFx+7sbZ7zQdxs=
|
||||||
|
@ -405,8 +405,8 @@ golang.org/x/crypto v0.0.0-20180816225734-aabede6cba87/go.mod h1:6SG95UA2DQfeDnf
|
||||||
golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
|
golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
|
||||||
golang.org/x/crypto v0.0.0-20181030102418-4d3f4d9ffa16/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
|
golang.org/x/crypto v0.0.0-20181030102418-4d3f4d9ffa16/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
|
||||||
golang.org/x/crypto v0.0.0-20181112202954-3d3f9f413869/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
|
golang.org/x/crypto v0.0.0-20181112202954-3d3f9f413869/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
|
||||||
golang.org/x/crypto v0.0.0-20181127143415-eb0de9b17e85 h1:et7+NAX3lLIk5qUCTA9QelBjGE/NkhzYw/mhnr0s7nI=
|
golang.org/x/crypto v0.0.0-20190219172222-a4c6cb3142f2 h1:NwxKRvbkH5MsNkvOtPZi3/3kmI8CAzs3mtv+GLQMkNo=
|
||||||
golang.org/x/crypto v0.0.0-20181127143415-eb0de9b17e85/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
|
golang.org/x/crypto v0.0.0-20190219172222-a4c6cb3142f2/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
|
||||||
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||||
golang.org/x/lint v0.0.0-20180702182130-06c8688daad7/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
|
golang.org/x/lint v0.0.0-20180702182130-06c8688daad7/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
|
||||||
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
|
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
|
||||||
|
@ -441,6 +441,8 @@ golang.org/x/sys v0.0.0-20181029174526-d69651ed3497/go.mod h1:STP8DvDyc/dI5b8T5h
|
||||||
golang.org/x/sys v0.0.0-20181213200352-4d1cda033e06/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
golang.org/x/sys v0.0.0-20181213200352-4d1cda033e06/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||||
golang.org/x/sys v0.0.0-20190129075346-302c3dd5f1cc h1:WiYx1rIFmx8c0mXAFtv5D/mHyKe1+jmuP7PViuwqwuQ=
|
golang.org/x/sys v0.0.0-20190129075346-302c3dd5f1cc h1:WiYx1rIFmx8c0mXAFtv5D/mHyKe1+jmuP7PViuwqwuQ=
|
||||||
golang.org/x/sys v0.0.0-20190129075346-302c3dd5f1cc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
golang.org/x/sys v0.0.0-20190129075346-302c3dd5f1cc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||||
|
golang.org/x/sys v0.0.0-20190221075227-b4e8571b14e0 h1:bzeyCHgoAyjZjAhvTpks+qM7sdlh4cCSitmXeCEO3B4=
|
||||||
|
golang.org/x/sys v0.0.0-20190221075227-b4e8571b14e0/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||||
golang.org/x/text v0.3.0 h1:g61tztE5qeGQ89tm6NTjjM9VPIm088od1l6aSorWRWg=
|
golang.org/x/text v0.3.0 h1:g61tztE5qeGQ89tm6NTjjM9VPIm088od1l6aSorWRWg=
|
||||||
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||||
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2 h1:z99zHgr7hKfrUcX/KsoJk5FJfjTceCKIp96+biqP4To=
|
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2 h1:z99zHgr7hKfrUcX/KsoJk5FJfjTceCKIp96+biqP4To=
|
||||||
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
module github.com/xanzy/ssh-agent
|
||||||
|
|
||||||
|
require (
|
||||||
|
golang.org/x/crypto v0.0.0-20190219172222-a4c6cb3142f2
|
||||||
|
golang.org/x/sys v0.0.0-20190221075227-b4e8571b14e0 // indirect
|
||||||
|
)
|
|
@ -0,0 +1,4 @@
|
||||||
|
golang.org/x/crypto v0.0.0-20190219172222-a4c6cb3142f2 h1:NwxKRvbkH5MsNkvOtPZi3/3kmI8CAzs3mtv+GLQMkNo=
|
||||||
|
golang.org/x/crypto v0.0.0-20190219172222-a4c6cb3142f2/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
|
||||||
|
golang.org/x/sys v0.0.0-20190221075227-b4e8571b14e0 h1:bzeyCHgoAyjZjAhvTpks+qM7sdlh4cCSitmXeCEO3B4=
|
||||||
|
golang.org/x/sys v0.0.0-20190221075227-b4e8571b14e0/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
|
@ -86,7 +86,7 @@ func feFromBytes(dst *fieldElement, src *[32]byte) {
|
||||||
h6 := load3(src[20:]) << 7
|
h6 := load3(src[20:]) << 7
|
||||||
h7 := load3(src[23:]) << 5
|
h7 := load3(src[23:]) << 5
|
||||||
h8 := load3(src[26:]) << 4
|
h8 := load3(src[26:]) << 4
|
||||||
h9 := load3(src[29:]) << 2
|
h9 := (load3(src[29:]) & 0x7fffff) << 2
|
||||||
|
|
||||||
var carry [10]int64
|
var carry [10]int64
|
||||||
carry[9] = (h9 + 1<<24) >> 25
|
carry[9] = (h9 + 1<<24) >> 25
|
||||||
|
|
|
@ -0,0 +1,308 @@
|
||||||
|
// Copyright 2018 The Go Authors. All rights reserved.
|
||||||
|
// Use of this source code is governed by a BSD-style
|
||||||
|
// license that can be found in the LICENSE file.
|
||||||
|
|
||||||
|
// +build go1.11
|
||||||
|
// +build !gccgo,!appengine
|
||||||
|
|
||||||
|
#include "textflag.h"
|
||||||
|
|
||||||
|
#define NUM_ROUNDS 10
|
||||||
|
|
||||||
|
// func xorKeyStreamVX(dst, src []byte, key *[8]uint32, nonce *[3]uint32, counter *uint32)
|
||||||
|
TEXT ·xorKeyStreamVX(SB), NOSPLIT, $0
|
||||||
|
MOVD dst+0(FP), R1
|
||||||
|
MOVD src+24(FP), R2
|
||||||
|
MOVD src_len+32(FP), R3
|
||||||
|
MOVD key+48(FP), R4
|
||||||
|
MOVD nonce+56(FP), R6
|
||||||
|
MOVD counter+64(FP), R7
|
||||||
|
|
||||||
|
MOVD $·constants(SB), R10
|
||||||
|
MOVD $·incRotMatrix(SB), R11
|
||||||
|
|
||||||
|
MOVW (R7), R20
|
||||||
|
|
||||||
|
AND $~255, R3, R13
|
||||||
|
ADD R2, R13, R12 // R12 for block end
|
||||||
|
AND $255, R3, R13
|
||||||
|
loop:
|
||||||
|
MOVD $NUM_ROUNDS, R21
|
||||||
|
VLD1 (R11), [V30.S4, V31.S4]
|
||||||
|
|
||||||
|
// load contants
|
||||||
|
// VLD4R (R10), [V0.S4, V1.S4, V2.S4, V3.S4]
|
||||||
|
WORD $0x4D60E940
|
||||||
|
|
||||||
|
// load keys
|
||||||
|
// VLD4R 16(R4), [V4.S4, V5.S4, V6.S4, V7.S4]
|
||||||
|
WORD $0x4DFFE884
|
||||||
|
// VLD4R 16(R4), [V8.S4, V9.S4, V10.S4, V11.S4]
|
||||||
|
WORD $0x4DFFE888
|
||||||
|
SUB $32, R4
|
||||||
|
|
||||||
|
// load counter + nonce
|
||||||
|
// VLD1R (R7), [V12.S4]
|
||||||
|
WORD $0x4D40C8EC
|
||||||
|
|
||||||
|
// VLD3R (R6), [V13.S4, V14.S4, V15.S4]
|
||||||
|
WORD $0x4D40E8CD
|
||||||
|
|
||||||
|
// update counter
|
||||||
|
VADD V30.S4, V12.S4, V12.S4
|
||||||
|
|
||||||
|
chacha:
|
||||||
|
// V0..V3 += V4..V7
|
||||||
|
// V12..V15 <<<= ((V12..V15 XOR V0..V3), 16)
|
||||||
|
VADD V0.S4, V4.S4, V0.S4
|
||||||
|
VADD V1.S4, V5.S4, V1.S4
|
||||||
|
VADD V2.S4, V6.S4, V2.S4
|
||||||
|
VADD V3.S4, V7.S4, V3.S4
|
||||||
|
VEOR V12.B16, V0.B16, V12.B16
|
||||||
|
VEOR V13.B16, V1.B16, V13.B16
|
||||||
|
VEOR V14.B16, V2.B16, V14.B16
|
||||||
|
VEOR V15.B16, V3.B16, V15.B16
|
||||||
|
VREV32 V12.H8, V12.H8
|
||||||
|
VREV32 V13.H8, V13.H8
|
||||||
|
VREV32 V14.H8, V14.H8
|
||||||
|
VREV32 V15.H8, V15.H8
|
||||||
|
// V8..V11 += V12..V15
|
||||||
|
// V4..V7 <<<= ((V4..V7 XOR V8..V11), 12)
|
||||||
|
VADD V8.S4, V12.S4, V8.S4
|
||||||
|
VADD V9.S4, V13.S4, V9.S4
|
||||||
|
VADD V10.S4, V14.S4, V10.S4
|
||||||
|
VADD V11.S4, V15.S4, V11.S4
|
||||||
|
VEOR V8.B16, V4.B16, V16.B16
|
||||||
|
VEOR V9.B16, V5.B16, V17.B16
|
||||||
|
VEOR V10.B16, V6.B16, V18.B16
|
||||||
|
VEOR V11.B16, V7.B16, V19.B16
|
||||||
|
VSHL $12, V16.S4, V4.S4
|
||||||
|
VSHL $12, V17.S4, V5.S4
|
||||||
|
VSHL $12, V18.S4, V6.S4
|
||||||
|
VSHL $12, V19.S4, V7.S4
|
||||||
|
VSRI $20, V16.S4, V4.S4
|
||||||
|
VSRI $20, V17.S4, V5.S4
|
||||||
|
VSRI $20, V18.S4, V6.S4
|
||||||
|
VSRI $20, V19.S4, V7.S4
|
||||||
|
|
||||||
|
// V0..V3 += V4..V7
|
||||||
|
// V12..V15 <<<= ((V12..V15 XOR V0..V3), 8)
|
||||||
|
VADD V0.S4, V4.S4, V0.S4
|
||||||
|
VADD V1.S4, V5.S4, V1.S4
|
||||||
|
VADD V2.S4, V6.S4, V2.S4
|
||||||
|
VADD V3.S4, V7.S4, V3.S4
|
||||||
|
VEOR V12.B16, V0.B16, V12.B16
|
||||||
|
VEOR V13.B16, V1.B16, V13.B16
|
||||||
|
VEOR V14.B16, V2.B16, V14.B16
|
||||||
|
VEOR V15.B16, V3.B16, V15.B16
|
||||||
|
VTBL V31.B16, [V12.B16], V12.B16
|
||||||
|
VTBL V31.B16, [V13.B16], V13.B16
|
||||||
|
VTBL V31.B16, [V14.B16], V14.B16
|
||||||
|
VTBL V31.B16, [V15.B16], V15.B16
|
||||||
|
|
||||||
|
// V8..V11 += V12..V15
|
||||||
|
// V4..V7 <<<= ((V4..V7 XOR V8..V11), 7)
|
||||||
|
VADD V12.S4, V8.S4, V8.S4
|
||||||
|
VADD V13.S4, V9.S4, V9.S4
|
||||||
|
VADD V14.S4, V10.S4, V10.S4
|
||||||
|
VADD V15.S4, V11.S4, V11.S4
|
||||||
|
VEOR V8.B16, V4.B16, V16.B16
|
||||||
|
VEOR V9.B16, V5.B16, V17.B16
|
||||||
|
VEOR V10.B16, V6.B16, V18.B16
|
||||||
|
VEOR V11.B16, V7.B16, V19.B16
|
||||||
|
VSHL $7, V16.S4, V4.S4
|
||||||
|
VSHL $7, V17.S4, V5.S4
|
||||||
|
VSHL $7, V18.S4, V6.S4
|
||||||
|
VSHL $7, V19.S4, V7.S4
|
||||||
|
VSRI $25, V16.S4, V4.S4
|
||||||
|
VSRI $25, V17.S4, V5.S4
|
||||||
|
VSRI $25, V18.S4, V6.S4
|
||||||
|
VSRI $25, V19.S4, V7.S4
|
||||||
|
|
||||||
|
// V0..V3 += V5..V7, V4
|
||||||
|
// V15,V12-V14 <<<= ((V15,V12-V14 XOR V0..V3), 16)
|
||||||
|
VADD V0.S4, V5.S4, V0.S4
|
||||||
|
VADD V1.S4, V6.S4, V1.S4
|
||||||
|
VADD V2.S4, V7.S4, V2.S4
|
||||||
|
VADD V3.S4, V4.S4, V3.S4
|
||||||
|
VEOR V15.B16, V0.B16, V15.B16
|
||||||
|
VEOR V12.B16, V1.B16, V12.B16
|
||||||
|
VEOR V13.B16, V2.B16, V13.B16
|
||||||
|
VEOR V14.B16, V3.B16, V14.B16
|
||||||
|
VREV32 V12.H8, V12.H8
|
||||||
|
VREV32 V13.H8, V13.H8
|
||||||
|
VREV32 V14.H8, V14.H8
|
||||||
|
VREV32 V15.H8, V15.H8
|
||||||
|
|
||||||
|
// V10 += V15; V5 <<<= ((V10 XOR V5), 12)
|
||||||
|
// ...
|
||||||
|
VADD V15.S4, V10.S4, V10.S4
|
||||||
|
VADD V12.S4, V11.S4, V11.S4
|
||||||
|
VADD V13.S4, V8.S4, V8.S4
|
||||||
|
VADD V14.S4, V9.S4, V9.S4
|
||||||
|
VEOR V10.B16, V5.B16, V16.B16
|
||||||
|
VEOR V11.B16, V6.B16, V17.B16
|
||||||
|
VEOR V8.B16, V7.B16, V18.B16
|
||||||
|
VEOR V9.B16, V4.B16, V19.B16
|
||||||
|
VSHL $12, V16.S4, V5.S4
|
||||||
|
VSHL $12, V17.S4, V6.S4
|
||||||
|
VSHL $12, V18.S4, V7.S4
|
||||||
|
VSHL $12, V19.S4, V4.S4
|
||||||
|
VSRI $20, V16.S4, V5.S4
|
||||||
|
VSRI $20, V17.S4, V6.S4
|
||||||
|
VSRI $20, V18.S4, V7.S4
|
||||||
|
VSRI $20, V19.S4, V4.S4
|
||||||
|
|
||||||
|
// V0 += V5; V15 <<<= ((V0 XOR V15), 8)
|
||||||
|
// ...
|
||||||
|
VADD V5.S4, V0.S4, V0.S4
|
||||||
|
VADD V6.S4, V1.S4, V1.S4
|
||||||
|
VADD V7.S4, V2.S4, V2.S4
|
||||||
|
VADD V4.S4, V3.S4, V3.S4
|
||||||
|
VEOR V0.B16, V15.B16, V15.B16
|
||||||
|
VEOR V1.B16, V12.B16, V12.B16
|
||||||
|
VEOR V2.B16, V13.B16, V13.B16
|
||||||
|
VEOR V3.B16, V14.B16, V14.B16
|
||||||
|
VTBL V31.B16, [V12.B16], V12.B16
|
||||||
|
VTBL V31.B16, [V13.B16], V13.B16
|
||||||
|
VTBL V31.B16, [V14.B16], V14.B16
|
||||||
|
VTBL V31.B16, [V15.B16], V15.B16
|
||||||
|
|
||||||
|
// V10 += V15; V5 <<<= ((V10 XOR V5), 7)
|
||||||
|
// ...
|
||||||
|
VADD V15.S4, V10.S4, V10.S4
|
||||||
|
VADD V12.S4, V11.S4, V11.S4
|
||||||
|
VADD V13.S4, V8.S4, V8.S4
|
||||||
|
VADD V14.S4, V9.S4, V9.S4
|
||||||
|
VEOR V10.B16, V5.B16, V16.B16
|
||||||
|
VEOR V11.B16, V6.B16, V17.B16
|
||||||
|
VEOR V8.B16, V7.B16, V18.B16
|
||||||
|
VEOR V9.B16, V4.B16, V19.B16
|
||||||
|
VSHL $7, V16.S4, V5.S4
|
||||||
|
VSHL $7, V17.S4, V6.S4
|
||||||
|
VSHL $7, V18.S4, V7.S4
|
||||||
|
VSHL $7, V19.S4, V4.S4
|
||||||
|
VSRI $25, V16.S4, V5.S4
|
||||||
|
VSRI $25, V17.S4, V6.S4
|
||||||
|
VSRI $25, V18.S4, V7.S4
|
||||||
|
VSRI $25, V19.S4, V4.S4
|
||||||
|
|
||||||
|
SUB $1, R21
|
||||||
|
CBNZ R21, chacha
|
||||||
|
|
||||||
|
// VLD4R (R10), [V16.S4, V17.S4, V18.S4, V19.S4]
|
||||||
|
WORD $0x4D60E950
|
||||||
|
|
||||||
|
// VLD4R 16(R4), [V20.S4, V21.S4, V22.S4, V23.S4]
|
||||||
|
WORD $0x4DFFE894
|
||||||
|
VADD V30.S4, V12.S4, V12.S4
|
||||||
|
VADD V16.S4, V0.S4, V0.S4
|
||||||
|
VADD V17.S4, V1.S4, V1.S4
|
||||||
|
VADD V18.S4, V2.S4, V2.S4
|
||||||
|
VADD V19.S4, V3.S4, V3.S4
|
||||||
|
// VLD4R 16(R4), [V24.S4, V25.S4, V26.S4, V27.S4]
|
||||||
|
WORD $0x4DFFE898
|
||||||
|
// restore R4
|
||||||
|
SUB $32, R4
|
||||||
|
|
||||||
|
// load counter + nonce
|
||||||
|
// VLD1R (R7), [V28.S4]
|
||||||
|
WORD $0x4D40C8FC
|
||||||
|
// VLD3R (R6), [V29.S4, V30.S4, V31.S4]
|
||||||
|
WORD $0x4D40E8DD
|
||||||
|
|
||||||
|
VADD V20.S4, V4.S4, V4.S4
|
||||||
|
VADD V21.S4, V5.S4, V5.S4
|
||||||
|
VADD V22.S4, V6.S4, V6.S4
|
||||||
|
VADD V23.S4, V7.S4, V7.S4
|
||||||
|
VADD V24.S4, V8.S4, V8.S4
|
||||||
|
VADD V25.S4, V9.S4, V9.S4
|
||||||
|
VADD V26.S4, V10.S4, V10.S4
|
||||||
|
VADD V27.S4, V11.S4, V11.S4
|
||||||
|
VADD V28.S4, V12.S4, V12.S4
|
||||||
|
VADD V29.S4, V13.S4, V13.S4
|
||||||
|
VADD V30.S4, V14.S4, V14.S4
|
||||||
|
VADD V31.S4, V15.S4, V15.S4
|
||||||
|
|
||||||
|
VZIP1 V1.S4, V0.S4, V16.S4
|
||||||
|
VZIP2 V1.S4, V0.S4, V17.S4
|
||||||
|
VZIP1 V3.S4, V2.S4, V18.S4
|
||||||
|
VZIP2 V3.S4, V2.S4, V19.S4
|
||||||
|
VZIP1 V5.S4, V4.S4, V20.S4
|
||||||
|
VZIP2 V5.S4, V4.S4, V21.S4
|
||||||
|
VZIP1 V7.S4, V6.S4, V22.S4
|
||||||
|
VZIP2 V7.S4, V6.S4, V23.S4
|
||||||
|
VZIP1 V9.S4, V8.S4, V24.S4
|
||||||
|
VZIP2 V9.S4, V8.S4, V25.S4
|
||||||
|
VZIP1 V11.S4, V10.S4, V26.S4
|
||||||
|
VZIP2 V11.S4, V10.S4, V27.S4
|
||||||
|
VZIP1 V13.S4, V12.S4, V28.S4
|
||||||
|
VZIP2 V13.S4, V12.S4, V29.S4
|
||||||
|
VZIP1 V15.S4, V14.S4, V30.S4
|
||||||
|
VZIP2 V15.S4, V14.S4, V31.S4
|
||||||
|
VZIP1 V18.D2, V16.D2, V0.D2
|
||||||
|
VZIP2 V18.D2, V16.D2, V4.D2
|
||||||
|
VZIP1 V19.D2, V17.D2, V8.D2
|
||||||
|
VZIP2 V19.D2, V17.D2, V12.D2
|
||||||
|
VLD1.P 64(R2), [V16.B16, V17.B16, V18.B16, V19.B16]
|
||||||
|
|
||||||
|
VZIP1 V22.D2, V20.D2, V1.D2
|
||||||
|
VZIP2 V22.D2, V20.D2, V5.D2
|
||||||
|
VZIP1 V23.D2, V21.D2, V9.D2
|
||||||
|
VZIP2 V23.D2, V21.D2, V13.D2
|
||||||
|
VLD1.P 64(R2), [V20.B16, V21.B16, V22.B16, V23.B16]
|
||||||
|
VZIP1 V26.D2, V24.D2, V2.D2
|
||||||
|
VZIP2 V26.D2, V24.D2, V6.D2
|
||||||
|
VZIP1 V27.D2, V25.D2, V10.D2
|
||||||
|
VZIP2 V27.D2, V25.D2, V14.D2
|
||||||
|
VLD1.P 64(R2), [V24.B16, V25.B16, V26.B16, V27.B16]
|
||||||
|
VZIP1 V30.D2, V28.D2, V3.D2
|
||||||
|
VZIP2 V30.D2, V28.D2, V7.D2
|
||||||
|
VZIP1 V31.D2, V29.D2, V11.D2
|
||||||
|
VZIP2 V31.D2, V29.D2, V15.D2
|
||||||
|
VLD1.P 64(R2), [V28.B16, V29.B16, V30.B16, V31.B16]
|
||||||
|
VEOR V0.B16, V16.B16, V16.B16
|
||||||
|
VEOR V1.B16, V17.B16, V17.B16
|
||||||
|
VEOR V2.B16, V18.B16, V18.B16
|
||||||
|
VEOR V3.B16, V19.B16, V19.B16
|
||||||
|
VST1.P [V16.B16, V17.B16, V18.B16, V19.B16], 64(R1)
|
||||||
|
VEOR V4.B16, V20.B16, V20.B16
|
||||||
|
VEOR V5.B16, V21.B16, V21.B16
|
||||||
|
VEOR V6.B16, V22.B16, V22.B16
|
||||||
|
VEOR V7.B16, V23.B16, V23.B16
|
||||||
|
VST1.P [V20.B16, V21.B16, V22.B16, V23.B16], 64(R1)
|
||||||
|
VEOR V8.B16, V24.B16, V24.B16
|
||||||
|
VEOR V9.B16, V25.B16, V25.B16
|
||||||
|
VEOR V10.B16, V26.B16, V26.B16
|
||||||
|
VEOR V11.B16, V27.B16, V27.B16
|
||||||
|
VST1.P [V24.B16, V25.B16, V26.B16, V27.B16], 64(R1)
|
||||||
|
VEOR V12.B16, V28.B16, V28.B16
|
||||||
|
VEOR V13.B16, V29.B16, V29.B16
|
||||||
|
VEOR V14.B16, V30.B16, V30.B16
|
||||||
|
VEOR V15.B16, V31.B16, V31.B16
|
||||||
|
VST1.P [V28.B16, V29.B16, V30.B16, V31.B16], 64(R1)
|
||||||
|
|
||||||
|
ADD $4, R20
|
||||||
|
MOVW R20, (R7) // update counter
|
||||||
|
|
||||||
|
CMP R2, R12
|
||||||
|
BGT loop
|
||||||
|
|
||||||
|
RET
|
||||||
|
|
||||||
|
|
||||||
|
DATA ·constants+0x00(SB)/4, $0x61707865
|
||||||
|
DATA ·constants+0x04(SB)/4, $0x3320646e
|
||||||
|
DATA ·constants+0x08(SB)/4, $0x79622d32
|
||||||
|
DATA ·constants+0x0c(SB)/4, $0x6b206574
|
||||||
|
GLOBL ·constants(SB), NOPTR|RODATA, $32
|
||||||
|
|
||||||
|
DATA ·incRotMatrix+0x00(SB)/4, $0x00000000
|
||||||
|
DATA ·incRotMatrix+0x04(SB)/4, $0x00000001
|
||||||
|
DATA ·incRotMatrix+0x08(SB)/4, $0x00000002
|
||||||
|
DATA ·incRotMatrix+0x0c(SB)/4, $0x00000003
|
||||||
|
DATA ·incRotMatrix+0x10(SB)/4, $0x02010003
|
||||||
|
DATA ·incRotMatrix+0x14(SB)/4, $0x06050407
|
||||||
|
DATA ·incRotMatrix+0x18(SB)/4, $0x0A09080B
|
||||||
|
DATA ·incRotMatrix+0x1c(SB)/4, $0x0E0D0C0F
|
||||||
|
GLOBL ·incRotMatrix(SB), NOPTR|RODATA, $32
|
|
@ -0,0 +1,31 @@
|
||||||
|
// Copyright 2018 The Go Authors. All rights reserved.
|
||||||
|
// Use of this source code is governed by a BSD-style
|
||||||
|
// license that can be found in the LICENSE file.
|
||||||
|
|
||||||
|
// +build go1.11
|
||||||
|
// +build !gccgo
|
||||||
|
|
||||||
|
package chacha20
|
||||||
|
|
||||||
|
const (
|
||||||
|
haveAsm = true
|
||||||
|
bufSize = 256
|
||||||
|
)
|
||||||
|
|
||||||
|
//go:noescape
|
||||||
|
func xorKeyStreamVX(dst, src []byte, key *[8]uint32, nonce *[3]uint32, counter *uint32)
|
||||||
|
|
||||||
|
func (c *Cipher) xorKeyStreamAsm(dst, src []byte) {
|
||||||
|
|
||||||
|
if len(src) >= bufSize {
|
||||||
|
xorKeyStreamVX(dst, src, &c.key, &c.nonce, &c.counter)
|
||||||
|
}
|
||||||
|
|
||||||
|
if len(src)%bufSize != 0 {
|
||||||
|
i := len(src) - len(src)%bufSize
|
||||||
|
c.buf = [bufSize]byte{}
|
||||||
|
copy(c.buf[:], src[i:])
|
||||||
|
xorKeyStreamVX(c.buf[:], c.buf[:], &c.key, &c.nonce, &c.counter)
|
||||||
|
c.len = bufSize - copy(dst[i:], c.buf[:len(src)%bufSize])
|
||||||
|
}
|
||||||
|
}
|
|
@ -2,7 +2,7 @@
|
||||||
// Use of this source code is governed by a BSD-style
|
// Use of this source code is governed by a BSD-style
|
||||||
// license that can be found in the LICENSE file.
|
// license that can be found in the LICENSE file.
|
||||||
|
|
||||||
// +build !s390x gccgo appengine
|
// +build !arm64,!s390x arm64,!go1.11 gccgo appengine
|
||||||
|
|
||||||
package chacha20
|
package chacha20
|
||||||
|
|
||||||
|
|
|
@ -271,6 +271,7 @@ func Encrypt(ciphertext io.Writer, to []*Entity, signed *Entity, hints *FileHint
|
||||||
// These are the possible hash functions that we'll use for the signature.
|
// These are the possible hash functions that we'll use for the signature.
|
||||||
candidateHashes := []uint8{
|
candidateHashes := []uint8{
|
||||||
hashToHashId(crypto.SHA256),
|
hashToHashId(crypto.SHA256),
|
||||||
|
hashToHashId(crypto.SHA384),
|
||||||
hashToHashId(crypto.SHA512),
|
hashToHashId(crypto.SHA512),
|
||||||
hashToHashId(crypto.SHA1),
|
hashToHashId(crypto.SHA1),
|
||||||
hashToHashId(crypto.RIPEMD160),
|
hashToHashId(crypto.RIPEMD160),
|
||||||
|
@ -349,6 +350,7 @@ func Sign(output io.Writer, signed *Entity, hints *FileHints, config *packet.Con
|
||||||
// These are the possible hash functions that we'll use for the signature.
|
// These are the possible hash functions that we'll use for the signature.
|
||||||
candidateHashes := []uint8{
|
candidateHashes := []uint8{
|
||||||
hashToHashId(crypto.SHA256),
|
hashToHashId(crypto.SHA256),
|
||||||
|
hashToHashId(crypto.SHA384),
|
||||||
hashToHashId(crypto.SHA512),
|
hashToHashId(crypto.SHA512),
|
||||||
hashToHashId(crypto.SHA1),
|
hashToHashId(crypto.SHA1),
|
||||||
hashToHashId(crypto.RIPEMD160),
|
hashToHashId(crypto.RIPEMD160),
|
||||||
|
|
|
@ -7,6 +7,9 @@
|
||||||
// This implementation is distilled from https://tools.ietf.org/html/rfc7292
|
// This implementation is distilled from https://tools.ietf.org/html/rfc7292
|
||||||
// and referenced documents. It is intended for decoding P12/PFX-stored
|
// and referenced documents. It is intended for decoding P12/PFX-stored
|
||||||
// certificates and keys for use with the crypto/tls package.
|
// certificates and keys for use with the crypto/tls package.
|
||||||
|
//
|
||||||
|
// This package is frozen. If it's missing functionality you need, consider
|
||||||
|
// an alternative like software.sslmate.com/src/go-pkcs12.
|
||||||
package pkcs12
|
package pkcs12
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
@ -100,7 +103,7 @@ func unmarshal(in []byte, out interface{}) error {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// ConvertToPEM converts all "safe bags" contained in pfxData to PEM blocks.
|
// ToPEM converts all "safe bags" contained in pfxData to PEM blocks.
|
||||||
func ToPEM(pfxData []byte, password string) ([]*pem.Block, error) {
|
func ToPEM(pfxData []byte, password string) ([]*pem.Block, error) {
|
||||||
encodedPassword, err := bmpString(password)
|
encodedPassword, err := bmpString(password)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -208,7 +211,7 @@ func convertAttribute(attribute *pkcs12Attribute) (key, value string, err error)
|
||||||
|
|
||||||
// Decode extracts a certificate and private key from pfxData. This function
|
// Decode extracts a certificate and private key from pfxData. This function
|
||||||
// assumes that there is only one certificate and only one private key in the
|
// assumes that there is only one certificate and only one private key in the
|
||||||
// pfxData.
|
// pfxData; if there are more use ToPEM instead.
|
||||||
func Decode(pfxData []byte, password string) (privateKey interface{}, certificate *x509.Certificate, err error) {
|
func Decode(pfxData []byte, password string) (privateKey interface{}, certificate *x509.Certificate, err error) {
|
||||||
encodedPassword, err := bmpString(password)
|
encodedPassword, err := bmpString(password)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
|
@ -350,8 +350,8 @@ func (db *hostKeyDB) check(address string, remote net.Addr, remoteKey ssh.Public
|
||||||
return db.checkAddr(hostToCheck, remoteKey)
|
return db.checkAddr(hostToCheck, remoteKey)
|
||||||
}
|
}
|
||||||
|
|
||||||
// checkAddrs checks if we can find the given public key for any of
|
// checkAddr checks if we can find the given public key for the
|
||||||
// the given addresses. If we only find an entry for the IP address,
|
// given address. If we only find an entry for the IP address,
|
||||||
// or only the hostname, then this still succeeds.
|
// or only the hostname, then this still succeeds.
|
||||||
func (db *hostKeyDB) checkAddr(a addr, remoteKey ssh.PublicKey) error {
|
func (db *hostKeyDB) checkAddr(a addr, remoteKey ssh.PublicKey) error {
|
||||||
// TODO(hanwen): are these the right semantics? What if there
|
// TODO(hanwen): are these the right semantics? What if there
|
||||||
|
|
|
@ -32,7 +32,7 @@ To build the files for your current OS and architecture, make sure GOOS and
|
||||||
GOARCH are set correctly and run `mkall.sh`. This will generate the files for
|
GOARCH are set correctly and run `mkall.sh`. This will generate the files for
|
||||||
your specific system. Running `mkall.sh -n` shows the commands that will be run.
|
your specific system. Running `mkall.sh -n` shows the commands that will be run.
|
||||||
|
|
||||||
Requirements: bash, perl, go
|
Requirements: bash, go
|
||||||
|
|
||||||
### New Build System (currently for `GOOS == "linux"`)
|
### New Build System (currently for `GOOS == "linux"`)
|
||||||
|
|
||||||
|
@ -52,14 +52,14 @@ system and have your GOOS and GOARCH set accordingly. Running `mkall.sh` will
|
||||||
then generate all of the files for all of the GOOS/GOARCH pairs in the new build
|
then generate all of the files for all of the GOOS/GOARCH pairs in the new build
|
||||||
system. Running `mkall.sh -n` shows the commands that will be run.
|
system. Running `mkall.sh -n` shows the commands that will be run.
|
||||||
|
|
||||||
Requirements: bash, perl, go, docker
|
Requirements: bash, go, docker
|
||||||
|
|
||||||
## Component files
|
## Component files
|
||||||
|
|
||||||
This section describes the various files used in the code generation process.
|
This section describes the various files used in the code generation process.
|
||||||
It also contains instructions on how to modify these files to add a new
|
It also contains instructions on how to modify these files to add a new
|
||||||
architecture/OS or to add additional syscalls, types, or constants. Note that
|
architecture/OS or to add additional syscalls, types, or constants. Note that
|
||||||
if you are using the new build system, the scripts cannot be called normally.
|
if you are using the new build system, the scripts/programs cannot be called normally.
|
||||||
They must be called from within the docker container.
|
They must be called from within the docker container.
|
||||||
|
|
||||||
### asm files
|
### asm files
|
||||||
|
@ -81,8 +81,8 @@ each GOOS/GOARCH pair.
|
||||||
|
|
||||||
### mksysnum
|
### mksysnum
|
||||||
|
|
||||||
Mksysnum is a script located at `${GOOS}/mksysnum.pl` (or `mksysnum_${GOOS}.pl`
|
Mksysnum is a Go program located at `${GOOS}/mksysnum.go` (or `mksysnum_${GOOS}.go`
|
||||||
for the old system). This script takes in a list of header files containing the
|
for the old system). This program takes in a list of header files containing the
|
||||||
syscall number declarations and parses them to produce the corresponding list of
|
syscall number declarations and parses them to produce the corresponding list of
|
||||||
Go numeric constants. See `zsysnum_${GOOS}_${GOARCH}.go` for the generated
|
Go numeric constants. See `zsysnum_${GOOS}_${GOARCH}.go` for the generated
|
||||||
constants.
|
constants.
|
||||||
|
@ -92,14 +92,14 @@ new installation of the target OS (or updating the source checkouts for the
|
||||||
new build system). However, depending on the OS, you make need to update the
|
new build system). However, depending on the OS, you make need to update the
|
||||||
parsing in mksysnum.
|
parsing in mksysnum.
|
||||||
|
|
||||||
### mksyscall.pl
|
### mksyscall.go
|
||||||
|
|
||||||
The `syscall.go`, `syscall_${GOOS}.go`, `syscall_${GOOS}_${GOARCH}.go` are
|
The `syscall.go`, `syscall_${GOOS}.go`, `syscall_${GOOS}_${GOARCH}.go` are
|
||||||
hand-written Go files which implement system calls (for unix, the specific OS,
|
hand-written Go files which implement system calls (for unix, the specific OS,
|
||||||
or the specific OS/Architecture pair respectively) that need special handling
|
or the specific OS/Architecture pair respectively) that need special handling
|
||||||
and list `//sys` comments giving prototypes for ones that can be generated.
|
and list `//sys` comments giving prototypes for ones that can be generated.
|
||||||
|
|
||||||
The mksyscall.pl script takes the `//sys` and `//sysnb` comments and converts
|
The mksyscall.go program takes the `//sys` and `//sysnb` comments and converts
|
||||||
them into syscalls. This requires the name of the prototype in the comment to
|
them into syscalls. This requires the name of the prototype in the comment to
|
||||||
match a syscall number in the `zsysnum_${GOOS}_${GOARCH}.go` file. The function
|
match a syscall number in the `zsysnum_${GOOS}_${GOARCH}.go` file. The function
|
||||||
prototype can be exported (capitalized) or not.
|
prototype can be exported (capitalized) or not.
|
||||||
|
@ -160,7 +160,7 @@ signal numbers, and constants. Generated by `mkerrors.sh` (see above).
|
||||||
### `zsyscall_${GOOS}_${GOARCH}.go`
|
### `zsyscall_${GOOS}_${GOARCH}.go`
|
||||||
|
|
||||||
A file containing all the generated syscalls for a specific GOOS and GOARCH.
|
A file containing all the generated syscalls for a specific GOOS and GOARCH.
|
||||||
Generated by `mksyscall.pl` (see above).
|
Generated by `mksyscall.go` (see above).
|
||||||
|
|
||||||
### `zsysnum_${GOOS}_${GOARCH}.go`
|
### `zsysnum_${GOOS}_${GOARCH}.go`
|
||||||
|
|
||||||
|
|
|
@ -170,7 +170,7 @@ openbsd_arm)
|
||||||
mktypes="GOARCH=$GOARCH go tool cgo -godefs -- -fsigned-char"
|
mktypes="GOARCH=$GOARCH go tool cgo -godefs -- -fsigned-char"
|
||||||
;;
|
;;
|
||||||
solaris_amd64)
|
solaris_amd64)
|
||||||
mksyscall="./mksyscall_solaris.pl"
|
mksyscall="go run mksyscall_solaris.go"
|
||||||
mkerrors="$mkerrors -m64"
|
mkerrors="$mkerrors -m64"
|
||||||
mksysnum=
|
mksysnum=
|
||||||
mktypes="GOARCH=$GOARCH go tool cgo -godefs"
|
mktypes="GOARCH=$GOARCH go tool cgo -godefs"
|
||||||
|
|
|
@ -259,16 +259,6 @@ struct ltchars {
|
||||||
#define FS_KEY_DESC_PREFIX "fscrypt:"
|
#define FS_KEY_DESC_PREFIX "fscrypt:"
|
||||||
#define FS_KEY_DESC_PREFIX_SIZE 8
|
#define FS_KEY_DESC_PREFIX_SIZE 8
|
||||||
#define FS_MAX_KEY_SIZE 64
|
#define FS_MAX_KEY_SIZE 64
|
||||||
|
|
||||||
// XDP socket constants do not appear to be picked up otherwise.
|
|
||||||
// Copied from samples/bpf/xdpsock_user.c.
|
|
||||||
#ifndef SOL_XDP
|
|
||||||
#define SOL_XDP 283
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef AF_XDP
|
|
||||||
#define AF_XDP 44
|
|
||||||
#endif
|
|
||||||
'
|
'
|
||||||
|
|
||||||
includes_NetBSD='
|
includes_NetBSD='
|
||||||
|
@ -482,6 +472,7 @@ ccflags="$@"
|
||||||
$2 ~ /^ALG_/ ||
|
$2 ~ /^ALG_/ ||
|
||||||
$2 ~ /^FS_(POLICY_FLAGS|KEY_DESC|ENCRYPTION_MODE|[A-Z0-9_]+_KEY_SIZE|IOC_(GET|SET)_ENCRYPTION)/ ||
|
$2 ~ /^FS_(POLICY_FLAGS|KEY_DESC|ENCRYPTION_MODE|[A-Z0-9_]+_KEY_SIZE|IOC_(GET|SET)_ENCRYPTION)/ ||
|
||||||
$2 ~ /^GRND_/ ||
|
$2 ~ /^GRND_/ ||
|
||||||
|
$2 ~ /^RND/ ||
|
||||||
$2 ~ /^KEY_(SPEC|REQKEY_DEFL)_/ ||
|
$2 ~ /^KEY_(SPEC|REQKEY_DEFL)_/ ||
|
||||||
$2 ~ /^KEYCTL_/ ||
|
$2 ~ /^KEYCTL_/ ||
|
||||||
$2 ~ /^PERF_EVENT_IOC_/ ||
|
$2 ~ /^PERF_EVENT_IOC_/ ||
|
||||||
|
|
|
@ -88,6 +88,10 @@ func parseParam(p string) Param {
|
||||||
func main() {
|
func main() {
|
||||||
// Get the OS and architecture (using GOARCH_TARGET if it exists)
|
// Get the OS and architecture (using GOARCH_TARGET if it exists)
|
||||||
goos := os.Getenv("GOOS")
|
goos := os.Getenv("GOOS")
|
||||||
|
if goos == "" {
|
||||||
|
fmt.Fprintln(os.Stderr, "GOOS not defined in environment")
|
||||||
|
os.Exit(1)
|
||||||
|
}
|
||||||
goarch := os.Getenv("GOARCH_TARGET")
|
goarch := os.Getenv("GOARCH_TARGET")
|
||||||
if goarch == "" {
|
if goarch == "" {
|
||||||
goarch = os.Getenv("GOARCH")
|
goarch = os.Getenv("GOARCH")
|
||||||
|
|
|
@ -0,0 +1,335 @@
|
||||||
|
// Copyright 2019 The Go Authors. All rights reserved.
|
||||||
|
// Use of this source code is governed by a BSD-style
|
||||||
|
// license that can be found in the LICENSE file.
|
||||||
|
|
||||||
|
// +build ignore
|
||||||
|
|
||||||
|
/*
|
||||||
|
This program reads a file containing function prototypes
|
||||||
|
(like syscall_solaris.go) and generates system call bodies.
|
||||||
|
The prototypes are marked by lines beginning with "//sys"
|
||||||
|
and read like func declarations if //sys is replaced by func, but:
|
||||||
|
* The parameter lists must give a name for each argument.
|
||||||
|
This includes return parameters.
|
||||||
|
* The parameter lists must give a type for each argument:
|
||||||
|
the (x, y, z int) shorthand is not allowed.
|
||||||
|
* If the return parameter is an error number, it must be named err.
|
||||||
|
* If go func name needs to be different than its libc name,
|
||||||
|
* or the function is not in libc, name could be specified
|
||||||
|
* at the end, after "=" sign, like
|
||||||
|
//sys getsockopt(s int, level int, name int, val uintptr, vallen *_Socklen) (err error) = libsocket.getsockopt
|
||||||
|
*/
|
||||||
|
|
||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"bufio"
|
||||||
|
"flag"
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
"regexp"
|
||||||
|
"strings"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
b32 = flag.Bool("b32", false, "32bit big-endian")
|
||||||
|
l32 = flag.Bool("l32", false, "32bit little-endian")
|
||||||
|
tags = flag.String("tags", "", "build tags")
|
||||||
|
)
|
||||||
|
|
||||||
|
// cmdLine returns this programs's commandline arguments
|
||||||
|
func cmdLine() string {
|
||||||
|
return "go run mksyscall_solaris.go " + strings.Join(os.Args[1:], " ")
|
||||||
|
}
|
||||||
|
|
||||||
|
// buildTags returns build tags
|
||||||
|
func buildTags() string {
|
||||||
|
return *tags
|
||||||
|
}
|
||||||
|
|
||||||
|
// Param is function parameter
|
||||||
|
type Param struct {
|
||||||
|
Name string
|
||||||
|
Type string
|
||||||
|
}
|
||||||
|
|
||||||
|
// usage prints the program usage
|
||||||
|
func usage() {
|
||||||
|
fmt.Fprintf(os.Stderr, "usage: go run mksyscall_solaris.go [-b32 | -l32] [-tags x,y] [file ...]\n")
|
||||||
|
os.Exit(1)
|
||||||
|
}
|
||||||
|
|
||||||
|
// parseParamList parses parameter list and returns a slice of parameters
|
||||||
|
func parseParamList(list string) []string {
|
||||||
|
list = strings.TrimSpace(list)
|
||||||
|
if list == "" {
|
||||||
|
return []string{}
|
||||||
|
}
|
||||||
|
return regexp.MustCompile(`\s*,\s*`).Split(list, -1)
|
||||||
|
}
|
||||||
|
|
||||||
|
// parseParam splits a parameter into name and type
|
||||||
|
func parseParam(p string) Param {
|
||||||
|
ps := regexp.MustCompile(`^(\S*) (\S*)$`).FindStringSubmatch(p)
|
||||||
|
if ps == nil {
|
||||||
|
fmt.Fprintf(os.Stderr, "malformed parameter: %s\n", p)
|
||||||
|
os.Exit(1)
|
||||||
|
}
|
||||||
|
return Param{ps[1], ps[2]}
|
||||||
|
}
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
flag.Usage = usage
|
||||||
|
flag.Parse()
|
||||||
|
if len(flag.Args()) <= 0 {
|
||||||
|
fmt.Fprintf(os.Stderr, "no files to parse provided\n")
|
||||||
|
usage()
|
||||||
|
}
|
||||||
|
|
||||||
|
endianness := ""
|
||||||
|
if *b32 {
|
||||||
|
endianness = "big-endian"
|
||||||
|
} else if *l32 {
|
||||||
|
endianness = "little-endian"
|
||||||
|
}
|
||||||
|
|
||||||
|
pack := ""
|
||||||
|
text := ""
|
||||||
|
dynimports := ""
|
||||||
|
linknames := ""
|
||||||
|
var vars []string
|
||||||
|
for _, path := range flag.Args() {
|
||||||
|
file, err := os.Open(path)
|
||||||
|
if err != nil {
|
||||||
|
fmt.Fprintf(os.Stderr, err.Error())
|
||||||
|
os.Exit(1)
|
||||||
|
}
|
||||||
|
s := bufio.NewScanner(file)
|
||||||
|
for s.Scan() {
|
||||||
|
t := s.Text()
|
||||||
|
t = strings.TrimSpace(t)
|
||||||
|
t = regexp.MustCompile(`\s+`).ReplaceAllString(t, ` `)
|
||||||
|
if p := regexp.MustCompile(`^package (\S+)$`).FindStringSubmatch(t); p != nil && pack == "" {
|
||||||
|
pack = p[1]
|
||||||
|
}
|
||||||
|
nonblock := regexp.MustCompile(`^\/\/sysnb `).FindStringSubmatch(t)
|
||||||
|
if regexp.MustCompile(`^\/\/sys `).FindStringSubmatch(t) == nil && nonblock == nil {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
// Line must be of the form
|
||||||
|
// func Open(path string, mode int, perm int) (fd int, err error)
|
||||||
|
// Split into name, in params, out params.
|
||||||
|
f := regexp.MustCompile(`^\/\/sys(nb)? (\w+)\(([^()]*)\)\s*(?:\(([^()]+)\))?\s*(?:=\s*(?:(\w*)\.)?(\w*))?$`).FindStringSubmatch(t)
|
||||||
|
if f == nil {
|
||||||
|
fmt.Fprintf(os.Stderr, "%s:%s\nmalformed //sys declaration\n", path, t)
|
||||||
|
os.Exit(1)
|
||||||
|
}
|
||||||
|
funct, inps, outps, modname, sysname := f[2], f[3], f[4], f[5], f[6]
|
||||||
|
|
||||||
|
// Split argument lists on comma.
|
||||||
|
in := parseParamList(inps)
|
||||||
|
out := parseParamList(outps)
|
||||||
|
|
||||||
|
inps = strings.Join(in, ", ")
|
||||||
|
outps = strings.Join(out, ", ")
|
||||||
|
|
||||||
|
// Try in vain to keep people from editing this file.
|
||||||
|
// The theory is that they jump into the middle of the file
|
||||||
|
// without reading the header.
|
||||||
|
text += "// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\n"
|
||||||
|
|
||||||
|
// So file name.
|
||||||
|
if modname == "" {
|
||||||
|
modname = "libc"
|
||||||
|
}
|
||||||
|
|
||||||
|
// System call name.
|
||||||
|
if sysname == "" {
|
||||||
|
sysname = funct
|
||||||
|
}
|
||||||
|
|
||||||
|
// System call pointer variable name.
|
||||||
|
sysvarname := fmt.Sprintf("proc%s", sysname)
|
||||||
|
|
||||||
|
strconvfunc := "BytePtrFromString"
|
||||||
|
strconvtype := "*byte"
|
||||||
|
|
||||||
|
sysname = strings.ToLower(sysname) // All libc functions are lowercase.
|
||||||
|
|
||||||
|
// Runtime import of function to allow cross-platform builds.
|
||||||
|
dynimports += fmt.Sprintf("//go:cgo_import_dynamic libc_%s %s \"%s.so\"\n", sysname, sysname, modname)
|
||||||
|
// Link symbol to proc address variable.
|
||||||
|
linknames += fmt.Sprintf("//go:linkname %s libc_%s\n", sysvarname, sysname)
|
||||||
|
// Library proc address variable.
|
||||||
|
vars = append(vars, sysvarname)
|
||||||
|
|
||||||
|
// Go function header.
|
||||||
|
outlist := strings.Join(out, ", ")
|
||||||
|
if outlist != "" {
|
||||||
|
outlist = fmt.Sprintf(" (%s)", outlist)
|
||||||
|
}
|
||||||
|
if text != "" {
|
||||||
|
text += "\n"
|
||||||
|
}
|
||||||
|
text += fmt.Sprintf("func %s(%s)%s {\n", funct, strings.Join(in, ", "), outlist)
|
||||||
|
|
||||||
|
// Check if err return available
|
||||||
|
errvar := ""
|
||||||
|
for _, param := range out {
|
||||||
|
p := parseParam(param)
|
||||||
|
if p.Type == "error" {
|
||||||
|
errvar = p.Name
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Prepare arguments to Syscall.
|
||||||
|
var args []string
|
||||||
|
n := 0
|
||||||
|
for _, param := range in {
|
||||||
|
p := parseParam(param)
|
||||||
|
if regexp.MustCompile(`^\*`).FindStringSubmatch(p.Type) != nil {
|
||||||
|
args = append(args, "uintptr(unsafe.Pointer("+p.Name+"))")
|
||||||
|
} else if p.Type == "string" && errvar != "" {
|
||||||
|
text += fmt.Sprintf("\tvar _p%d %s\n", n, strconvtype)
|
||||||
|
text += fmt.Sprintf("\t_p%d, %s = %s(%s)\n", n, errvar, strconvfunc, p.Name)
|
||||||
|
text += fmt.Sprintf("\tif %s != nil {\n\t\treturn\n\t}\n", errvar)
|
||||||
|
args = append(args, fmt.Sprintf("uintptr(unsafe.Pointer(_p%d))", n))
|
||||||
|
n++
|
||||||
|
} else if p.Type == "string" {
|
||||||
|
fmt.Fprintf(os.Stderr, path+":"+funct+" uses string arguments, but has no error return\n")
|
||||||
|
text += fmt.Sprintf("\tvar _p%d %s\n", n, strconvtype)
|
||||||
|
text += fmt.Sprintf("\t_p%d, _ = %s(%s)\n", n, strconvfunc, p.Name)
|
||||||
|
args = append(args, fmt.Sprintf("uintptr(unsafe.Pointer(_p%d))", n))
|
||||||
|
n++
|
||||||
|
} else if s := regexp.MustCompile(`^\[\](.*)`).FindStringSubmatch(p.Type); s != nil {
|
||||||
|
// Convert slice into pointer, length.
|
||||||
|
// Have to be careful not to take address of &a[0] if len == 0:
|
||||||
|
// pass nil in that case.
|
||||||
|
text += fmt.Sprintf("\tvar _p%d *%s\n", n, s[1])
|
||||||
|
text += fmt.Sprintf("\tif len(%s) > 0 {\n\t\t_p%d = &%s[0]\n\t}\n", p.Name, n, p.Name)
|
||||||
|
args = append(args, fmt.Sprintf("uintptr(unsafe.Pointer(_p%d))", n), fmt.Sprintf("uintptr(len(%s))", p.Name))
|
||||||
|
n++
|
||||||
|
} else if p.Type == "int64" && endianness != "" {
|
||||||
|
if endianness == "big-endian" {
|
||||||
|
args = append(args, fmt.Sprintf("uintptr(%s>>32)", p.Name), fmt.Sprintf("uintptr(%s)", p.Name))
|
||||||
|
} else {
|
||||||
|
args = append(args, fmt.Sprintf("uintptr(%s)", p.Name), fmt.Sprintf("uintptr(%s>>32)", p.Name))
|
||||||
|
}
|
||||||
|
} else if p.Type == "bool" {
|
||||||
|
text += fmt.Sprintf("\tvar _p%d uint32\n", n)
|
||||||
|
text += fmt.Sprintf("\tif %s {\n\t\t_p%d = 1\n\t} else {\n\t\t_p%d = 0\n\t}\n", p.Name, n, n)
|
||||||
|
args = append(args, fmt.Sprintf("uintptr(_p%d)", n))
|
||||||
|
n++
|
||||||
|
} else {
|
||||||
|
args = append(args, fmt.Sprintf("uintptr(%s)", p.Name))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
nargs := len(args)
|
||||||
|
|
||||||
|
// Determine which form to use; pad args with zeros.
|
||||||
|
asm := "sysvicall6"
|
||||||
|
if nonblock != nil {
|
||||||
|
asm = "rawSysvicall6"
|
||||||
|
}
|
||||||
|
if len(args) <= 6 {
|
||||||
|
for len(args) < 6 {
|
||||||
|
args = append(args, "0")
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
fmt.Fprintf(os.Stderr, "%s: too many arguments to system call\n", path)
|
||||||
|
os.Exit(1)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Actual call.
|
||||||
|
arglist := strings.Join(args, ", ")
|
||||||
|
call := fmt.Sprintf("%s(uintptr(unsafe.Pointer(&%s)), %d, %s)", asm, sysvarname, nargs, arglist)
|
||||||
|
|
||||||
|
// Assign return values.
|
||||||
|
body := ""
|
||||||
|
ret := []string{"_", "_", "_"}
|
||||||
|
doErrno := false
|
||||||
|
for i := 0; i < len(out); i++ {
|
||||||
|
p := parseParam(out[i])
|
||||||
|
reg := ""
|
||||||
|
if p.Name == "err" {
|
||||||
|
reg = "e1"
|
||||||
|
ret[2] = reg
|
||||||
|
doErrno = true
|
||||||
|
} else {
|
||||||
|
reg = fmt.Sprintf("r%d", i)
|
||||||
|
ret[i] = reg
|
||||||
|
}
|
||||||
|
if p.Type == "bool" {
|
||||||
|
reg = fmt.Sprintf("%d != 0", reg)
|
||||||
|
}
|
||||||
|
if p.Type == "int64" && endianness != "" {
|
||||||
|
// 64-bit number in r1:r0 or r0:r1.
|
||||||
|
if i+2 > len(out) {
|
||||||
|
fmt.Fprintf(os.Stderr, "%s: not enough registers for int64 return\n", path)
|
||||||
|
os.Exit(1)
|
||||||
|
}
|
||||||
|
if endianness == "big-endian" {
|
||||||
|
reg = fmt.Sprintf("int64(r%d)<<32 | int64(r%d)", i, i+1)
|
||||||
|
} else {
|
||||||
|
reg = fmt.Sprintf("int64(r%d)<<32 | int64(r%d)", i+1, i)
|
||||||
|
}
|
||||||
|
ret[i] = fmt.Sprintf("r%d", i)
|
||||||
|
ret[i+1] = fmt.Sprintf("r%d", i+1)
|
||||||
|
}
|
||||||
|
if reg != "e1" {
|
||||||
|
body += fmt.Sprintf("\t%s = %s(%s)\n", p.Name, p.Type, reg)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ret[0] == "_" && ret[1] == "_" && ret[2] == "_" {
|
||||||
|
text += fmt.Sprintf("\t%s\n", call)
|
||||||
|
} else {
|
||||||
|
text += fmt.Sprintf("\t%s, %s, %s := %s\n", ret[0], ret[1], ret[2], call)
|
||||||
|
}
|
||||||
|
text += body
|
||||||
|
|
||||||
|
if doErrno {
|
||||||
|
text += "\tif e1 != 0 {\n"
|
||||||
|
text += "\t\terr = e1\n"
|
||||||
|
text += "\t}\n"
|
||||||
|
}
|
||||||
|
text += "\treturn\n"
|
||||||
|
text += "}\n"
|
||||||
|
}
|
||||||
|
if err := s.Err(); err != nil {
|
||||||
|
fmt.Fprintf(os.Stderr, err.Error())
|
||||||
|
os.Exit(1)
|
||||||
|
}
|
||||||
|
file.Close()
|
||||||
|
}
|
||||||
|
imp := ""
|
||||||
|
if pack != "unix" {
|
||||||
|
imp = "import \"golang.org/x/sys/unix\"\n"
|
||||||
|
|
||||||
|
}
|
||||||
|
vardecls := "\t" + strings.Join(vars, ",\n\t")
|
||||||
|
vardecls += " syscallFunc"
|
||||||
|
fmt.Printf(srcTemplate, cmdLine(), buildTags(), pack, imp, dynimports, linknames, vardecls, text)
|
||||||
|
}
|
||||||
|
|
||||||
|
const srcTemplate = `// %s
|
||||||
|
// Code generated by the command above; see README.md. DO NOT EDIT.
|
||||||
|
|
||||||
|
// +build %s
|
||||||
|
|
||||||
|
package %s
|
||||||
|
|
||||||
|
import (
|
||||||
|
"syscall"
|
||||||
|
"unsafe"
|
||||||
|
)
|
||||||
|
%s
|
||||||
|
%s
|
||||||
|
%s
|
||||||
|
var (
|
||||||
|
%s
|
||||||
|
)
|
||||||
|
|
||||||
|
%s
|
||||||
|
`
|
|
@ -1,294 +0,0 @@
|
||||||
#!/usr/bin/env perl
|
|
||||||
# Copyright 2009 The Go Authors. All rights reserved.
|
|
||||||
# Use of this source code is governed by a BSD-style
|
|
||||||
# license that can be found in the LICENSE file.
|
|
||||||
|
|
||||||
# This program reads a file containing function prototypes
|
|
||||||
# (like syscall_solaris.go) and generates system call bodies.
|
|
||||||
# The prototypes are marked by lines beginning with "//sys"
|
|
||||||
# and read like func declarations if //sys is replaced by func, but:
|
|
||||||
# * The parameter lists must give a name for each argument.
|
|
||||||
# This includes return parameters.
|
|
||||||
# * The parameter lists must give a type for each argument:
|
|
||||||
# the (x, y, z int) shorthand is not allowed.
|
|
||||||
# * If the return parameter is an error number, it must be named err.
|
|
||||||
# * If go func name needs to be different than its libc name,
|
|
||||||
# * or the function is not in libc, name could be specified
|
|
||||||
# * at the end, after "=" sign, like
|
|
||||||
# //sys getsockopt(s int, level int, name int, val uintptr, vallen *_Socklen) (err error) = libsocket.getsockopt
|
|
||||||
|
|
||||||
use strict;
|
|
||||||
|
|
||||||
my $cmdline = "mksyscall_solaris.pl " . join(' ', @ARGV);
|
|
||||||
my $errors = 0;
|
|
||||||
my $_32bit = "";
|
|
||||||
my $tags = ""; # build tags
|
|
||||||
|
|
||||||
binmode STDOUT;
|
|
||||||
|
|
||||||
if($ARGV[0] eq "-b32") {
|
|
||||||
$_32bit = "big-endian";
|
|
||||||
shift;
|
|
||||||
} elsif($ARGV[0] eq "-l32") {
|
|
||||||
$_32bit = "little-endian";
|
|
||||||
shift;
|
|
||||||
}
|
|
||||||
if($ARGV[0] eq "-tags") {
|
|
||||||
shift;
|
|
||||||
$tags = $ARGV[0];
|
|
||||||
shift;
|
|
||||||
}
|
|
||||||
|
|
||||||
if($ARGV[0] =~ /^-/) {
|
|
||||||
print STDERR "usage: mksyscall_solaris.pl [-b32 | -l32] [-tags x,y] [file ...]\n";
|
|
||||||
exit 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
sub parseparamlist($) {
|
|
||||||
my ($list) = @_;
|
|
||||||
$list =~ s/^\s*//;
|
|
||||||
$list =~ s/\s*$//;
|
|
||||||
if($list eq "") {
|
|
||||||
return ();
|
|
||||||
}
|
|
||||||
return split(/\s*,\s*/, $list);
|
|
||||||
}
|
|
||||||
|
|
||||||
sub parseparam($) {
|
|
||||||
my ($p) = @_;
|
|
||||||
if($p !~ /^(\S*) (\S*)$/) {
|
|
||||||
print STDERR "$ARGV:$.: malformed parameter: $p\n";
|
|
||||||
$errors = 1;
|
|
||||||
return ("xx", "int");
|
|
||||||
}
|
|
||||||
return ($1, $2);
|
|
||||||
}
|
|
||||||
|
|
||||||
my $package = "";
|
|
||||||
my $text = "";
|
|
||||||
my $dynimports = "";
|
|
||||||
my $linknames = "";
|
|
||||||
my @vars = ();
|
|
||||||
while(<>) {
|
|
||||||
chomp;
|
|
||||||
s/\s+/ /g;
|
|
||||||
s/^\s+//;
|
|
||||||
s/\s+$//;
|
|
||||||
$package = $1 if !$package && /^package (\S+)$/;
|
|
||||||
my $nonblock = /^\/\/sysnb /;
|
|
||||||
next if !/^\/\/sys / && !$nonblock;
|
|
||||||
|
|
||||||
# Line must be of the form
|
|
||||||
# func Open(path string, mode int, perm int) (fd int, err error)
|
|
||||||
# Split into name, in params, out params.
|
|
||||||
if(!/^\/\/sys(nb)? (\w+)\(([^()]*)\)\s*(?:\(([^()]+)\))?\s*(?:=\s*(?:(\w*)\.)?(\w*))?$/) {
|
|
||||||
print STDERR "$ARGV:$.: malformed //sys declaration\n";
|
|
||||||
$errors = 1;
|
|
||||||
next;
|
|
||||||
}
|
|
||||||
my ($nb, $func, $in, $out, $modname, $sysname) = ($1, $2, $3, $4, $5, $6);
|
|
||||||
|
|
||||||
# Split argument lists on comma.
|
|
||||||
my @in = parseparamlist($in);
|
|
||||||
my @out = parseparamlist($out);
|
|
||||||
|
|
||||||
# Try in vain to keep people from editing this file.
|
|
||||||
# The theory is that they jump into the middle of the file
|
|
||||||
# without reading the header.
|
|
||||||
$text .= "// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\n";
|
|
||||||
|
|
||||||
# So file name.
|
|
||||||
if($modname eq "") {
|
|
||||||
$modname = "libc";
|
|
||||||
}
|
|
||||||
|
|
||||||
# System call name.
|
|
||||||
if($sysname eq "") {
|
|
||||||
$sysname = "$func";
|
|
||||||
}
|
|
||||||
|
|
||||||
# System call pointer variable name.
|
|
||||||
my $sysvarname = "proc$sysname";
|
|
||||||
|
|
||||||
my $strconvfunc = "BytePtrFromString";
|
|
||||||
my $strconvtype = "*byte";
|
|
||||||
|
|
||||||
$sysname =~ y/A-Z/a-z/; # All libc functions are lowercase.
|
|
||||||
|
|
||||||
# Runtime import of function to allow cross-platform builds.
|
|
||||||
$dynimports .= "//go:cgo_import_dynamic libc_${sysname} ${sysname} \"$modname.so\"\n";
|
|
||||||
# Link symbol to proc address variable.
|
|
||||||
$linknames .= "//go:linkname ${sysvarname} libc_${sysname}\n";
|
|
||||||
# Library proc address variable.
|
|
||||||
push @vars, $sysvarname;
|
|
||||||
|
|
||||||
# Go function header.
|
|
||||||
$out = join(', ', @out);
|
|
||||||
if($out ne "") {
|
|
||||||
$out = " ($out)";
|
|
||||||
}
|
|
||||||
if($text ne "") {
|
|
||||||
$text .= "\n"
|
|
||||||
}
|
|
||||||
$text .= sprintf "func %s(%s)%s {\n", $func, join(', ', @in), $out;
|
|
||||||
|
|
||||||
# Check if err return available
|
|
||||||
my $errvar = "";
|
|
||||||
foreach my $p (@out) {
|
|
||||||
my ($name, $type) = parseparam($p);
|
|
||||||
if($type eq "error") {
|
|
||||||
$errvar = $name;
|
|
||||||
last;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
# Prepare arguments to Syscall.
|
|
||||||
my @args = ();
|
|
||||||
my $n = 0;
|
|
||||||
foreach my $p (@in) {
|
|
||||||
my ($name, $type) = parseparam($p);
|
|
||||||
if($type =~ /^\*/) {
|
|
||||||
push @args, "uintptr(unsafe.Pointer($name))";
|
|
||||||
} elsif($type eq "string" && $errvar ne "") {
|
|
||||||
$text .= "\tvar _p$n $strconvtype\n";
|
|
||||||
$text .= "\t_p$n, $errvar = $strconvfunc($name)\n";
|
|
||||||
$text .= "\tif $errvar != nil {\n\t\treturn\n\t}\n";
|
|
||||||
push @args, "uintptr(unsafe.Pointer(_p$n))";
|
|
||||||
$n++;
|
|
||||||
} elsif($type eq "string") {
|
|
||||||
print STDERR "$ARGV:$.: $func uses string arguments, but has no error return\n";
|
|
||||||
$text .= "\tvar _p$n $strconvtype\n";
|
|
||||||
$text .= "\t_p$n, _ = $strconvfunc($name)\n";
|
|
||||||
push @args, "uintptr(unsafe.Pointer(_p$n))";
|
|
||||||
$n++;
|
|
||||||
} elsif($type =~ /^\[\](.*)/) {
|
|
||||||
# Convert slice into pointer, length.
|
|
||||||
# Have to be careful not to take address of &a[0] if len == 0:
|
|
||||||
# pass nil in that case.
|
|
||||||
$text .= "\tvar _p$n *$1\n";
|
|
||||||
$text .= "\tif len($name) > 0 {\n\t\t_p$n = \&$name\[0]\n\t}\n";
|
|
||||||
push @args, "uintptr(unsafe.Pointer(_p$n))", "uintptr(len($name))";
|
|
||||||
$n++;
|
|
||||||
} elsif($type eq "int64" && $_32bit ne "") {
|
|
||||||
if($_32bit eq "big-endian") {
|
|
||||||
push @args, "uintptr($name >> 32)", "uintptr($name)";
|
|
||||||
} else {
|
|
||||||
push @args, "uintptr($name)", "uintptr($name >> 32)";
|
|
||||||
}
|
|
||||||
} elsif($type eq "bool") {
|
|
||||||
$text .= "\tvar _p$n uint32\n";
|
|
||||||
$text .= "\tif $name {\n\t\t_p$n = 1\n\t} else {\n\t\t_p$n = 0\n\t}\n";
|
|
||||||
push @args, "uintptr(_p$n)";
|
|
||||||
$n++;
|
|
||||||
} else {
|
|
||||||
push @args, "uintptr($name)";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
my $nargs = @args;
|
|
||||||
|
|
||||||
# Determine which form to use; pad args with zeros.
|
|
||||||
my $asm = "sysvicall6";
|
|
||||||
if ($nonblock) {
|
|
||||||
$asm = "rawSysvicall6";
|
|
||||||
}
|
|
||||||
if(@args <= 6) {
|
|
||||||
while(@args < 6) {
|
|
||||||
push @args, "0";
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
print STDERR "$ARGV:$.: too many arguments to system call\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
# Actual call.
|
|
||||||
my $args = join(', ', @args);
|
|
||||||
my $call = "$asm(uintptr(unsafe.Pointer(&$sysvarname)), $nargs, $args)";
|
|
||||||
|
|
||||||
# Assign return values.
|
|
||||||
my $body = "";
|
|
||||||
my $failexpr = "";
|
|
||||||
my @ret = ("_", "_", "_");
|
|
||||||
my @pout= ();
|
|
||||||
my $do_errno = 0;
|
|
||||||
for(my $i=0; $i<@out; $i++) {
|
|
||||||
my $p = $out[$i];
|
|
||||||
my ($name, $type) = parseparam($p);
|
|
||||||
my $reg = "";
|
|
||||||
if($name eq "err") {
|
|
||||||
$reg = "e1";
|
|
||||||
$ret[2] = $reg;
|
|
||||||
$do_errno = 1;
|
|
||||||
} else {
|
|
||||||
$reg = sprintf("r%d", $i);
|
|
||||||
$ret[$i] = $reg;
|
|
||||||
}
|
|
||||||
if($type eq "bool") {
|
|
||||||
$reg = "$reg != 0";
|
|
||||||
}
|
|
||||||
if($type eq "int64" && $_32bit ne "") {
|
|
||||||
# 64-bit number in r1:r0 or r0:r1.
|
|
||||||
if($i+2 > @out) {
|
|
||||||
print STDERR "$ARGV:$.: not enough registers for int64 return\n";
|
|
||||||
}
|
|
||||||
if($_32bit eq "big-endian") {
|
|
||||||
$reg = sprintf("int64(r%d)<<32 | int64(r%d)", $i, $i+1);
|
|
||||||
} else {
|
|
||||||
$reg = sprintf("int64(r%d)<<32 | int64(r%d)", $i+1, $i);
|
|
||||||
}
|
|
||||||
$ret[$i] = sprintf("r%d", $i);
|
|
||||||
$ret[$i+1] = sprintf("r%d", $i+1);
|
|
||||||
}
|
|
||||||
if($reg ne "e1") {
|
|
||||||
$body .= "\t$name = $type($reg)\n";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if ($ret[0] eq "_" && $ret[1] eq "_" && $ret[2] eq "_") {
|
|
||||||
$text .= "\t$call\n";
|
|
||||||
} else {
|
|
||||||
$text .= "\t$ret[0], $ret[1], $ret[2] := $call\n";
|
|
||||||
}
|
|
||||||
$text .= $body;
|
|
||||||
|
|
||||||
if ($do_errno) {
|
|
||||||
$text .= "\tif e1 != 0 {\n";
|
|
||||||
$text .= "\t\terr = e1\n";
|
|
||||||
$text .= "\t}\n";
|
|
||||||
}
|
|
||||||
$text .= "\treturn\n";
|
|
||||||
$text .= "}\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
if($errors) {
|
|
||||||
exit 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
print <<EOF;
|
|
||||||
// $cmdline
|
|
||||||
// Code generated by the command above; see README.md. DO NOT EDIT.
|
|
||||||
|
|
||||||
// +build $tags
|
|
||||||
|
|
||||||
package $package
|
|
||||||
|
|
||||||
import (
|
|
||||||
"syscall"
|
|
||||||
"unsafe"
|
|
||||||
)
|
|
||||||
EOF
|
|
||||||
|
|
||||||
print "import \"golang.org/x/sys/unix\"\n" if $package ne "unix";
|
|
||||||
|
|
||||||
my $vardecls = "\t" . join(",\n\t", @vars);
|
|
||||||
$vardecls .= " syscallFunc";
|
|
||||||
|
|
||||||
chomp($_=<<EOF);
|
|
||||||
|
|
||||||
$dynimports
|
|
||||||
$linknames
|
|
||||||
var (
|
|
||||||
$vardecls
|
|
||||||
)
|
|
||||||
|
|
||||||
$text
|
|
||||||
EOF
|
|
||||||
print $_;
|
|
||||||
exit 0;
|
|
|
@ -416,6 +416,7 @@ func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err e
|
||||||
//sys Chmod(path string, mode uint32) (err error)
|
//sys Chmod(path string, mode uint32) (err error)
|
||||||
//sys Chown(path string, uid int, gid int) (err error)
|
//sys Chown(path string, uid int, gid int) (err error)
|
||||||
//sys Chroot(path string) (err error)
|
//sys Chroot(path string) (err error)
|
||||||
|
//sys ClockGettime(clockid int32, time *Timespec) (err error)
|
||||||
//sys Close(fd int) (err error)
|
//sys Close(fd int) (err error)
|
||||||
//sys Dup(fd int) (nfd int, err error)
|
//sys Dup(fd int) (nfd int, err error)
|
||||||
//sys Dup2(from int, to int) (err error)
|
//sys Dup2(from int, to int) (err error)
|
||||||
|
|
|
@ -14,6 +14,7 @@ package unix
|
||||||
import (
|
import (
|
||||||
"encoding/binary"
|
"encoding/binary"
|
||||||
"net"
|
"net"
|
||||||
|
"runtime"
|
||||||
"syscall"
|
"syscall"
|
||||||
"unsafe"
|
"unsafe"
|
||||||
)
|
)
|
||||||
|
@ -80,6 +81,12 @@ func ioctlSetTermios(fd int, req uint, value *Termios) error {
|
||||||
return ioctl(fd, req, uintptr(unsafe.Pointer(value)))
|
return ioctl(fd, req, uintptr(unsafe.Pointer(value)))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func IoctlSetRTCTime(fd int, value *RTCTime) error {
|
||||||
|
err := ioctl(fd, RTC_SET_TIME, uintptr(unsafe.Pointer(value)))
|
||||||
|
runtime.KeepAlive(value)
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
// IoctlGetInt performs an ioctl operation which gets an integer value
|
// IoctlGetInt performs an ioctl operation which gets an integer value
|
||||||
// from fd, using the specified request number.
|
// from fd, using the specified request number.
|
||||||
func IoctlGetInt(fd int, req uint) (int, error) {
|
func IoctlGetInt(fd int, req uint) (int, error) {
|
||||||
|
@ -100,6 +107,12 @@ func IoctlGetTermios(fd int, req uint) (*Termios, error) {
|
||||||
return &value, err
|
return &value, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func IoctlGetRTCTime(fd int) (*RTCTime, error) {
|
||||||
|
var value RTCTime
|
||||||
|
err := ioctl(fd, RTC_RD_TIME, uintptr(unsafe.Pointer(&value)))
|
||||||
|
return &value, err
|
||||||
|
}
|
||||||
|
|
||||||
//sys Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error)
|
//sys Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error)
|
||||||
|
|
||||||
func Link(oldpath string, newpath string) (err error) {
|
func Link(oldpath string, newpath string) (err error) {
|
||||||
|
|
|
@ -41,7 +41,7 @@ const (
|
||||||
AF_KEY = 0xf
|
AF_KEY = 0xf
|
||||||
AF_LLC = 0x1a
|
AF_LLC = 0x1a
|
||||||
AF_LOCAL = 0x1
|
AF_LOCAL = 0x1
|
||||||
AF_MAX = 0x2c
|
AF_MAX = 0x2d
|
||||||
AF_MPLS = 0x1c
|
AF_MPLS = 0x1c
|
||||||
AF_NETBEUI = 0xd
|
AF_NETBEUI = 0xd
|
||||||
AF_NETLINK = 0x10
|
AF_NETLINK = 0x10
|
||||||
|
@ -707,6 +707,7 @@ const (
|
||||||
IN_ISDIR = 0x40000000
|
IN_ISDIR = 0x40000000
|
||||||
IN_LOOPBACKNET = 0x7f
|
IN_LOOPBACKNET = 0x7f
|
||||||
IN_MASK_ADD = 0x20000000
|
IN_MASK_ADD = 0x20000000
|
||||||
|
IN_MASK_CREATE = 0x10000000
|
||||||
IN_MODIFY = 0x2
|
IN_MODIFY = 0x2
|
||||||
IN_MOVE = 0xc0
|
IN_MOVE = 0xc0
|
||||||
IN_MOVED_FROM = 0x40
|
IN_MOVED_FROM = 0x40
|
||||||
|
@ -778,6 +779,7 @@ const (
|
||||||
IPV6_MINHOPCOUNT = 0x49
|
IPV6_MINHOPCOUNT = 0x49
|
||||||
IPV6_MTU = 0x18
|
IPV6_MTU = 0x18
|
||||||
IPV6_MTU_DISCOVER = 0x17
|
IPV6_MTU_DISCOVER = 0x17
|
||||||
|
IPV6_MULTICAST_ALL = 0x1d
|
||||||
IPV6_MULTICAST_HOPS = 0x12
|
IPV6_MULTICAST_HOPS = 0x12
|
||||||
IPV6_MULTICAST_IF = 0x11
|
IPV6_MULTICAST_IF = 0x11
|
||||||
IPV6_MULTICAST_LOOP = 0x13
|
IPV6_MULTICAST_LOOP = 0x13
|
||||||
|
@ -1537,6 +1539,13 @@ const (
|
||||||
RLIMIT_SIGPENDING = 0xb
|
RLIMIT_SIGPENDING = 0xb
|
||||||
RLIMIT_STACK = 0x3
|
RLIMIT_STACK = 0x3
|
||||||
RLIM_INFINITY = 0xffffffffffffffff
|
RLIM_INFINITY = 0xffffffffffffffff
|
||||||
|
RNDADDENTROPY = 0x40085203
|
||||||
|
RNDADDTOENTCNT = 0x40045201
|
||||||
|
RNDCLEARPOOL = 0x5206
|
||||||
|
RNDGETENTCNT = 0x80045200
|
||||||
|
RNDGETPOOL = 0x80085202
|
||||||
|
RNDRESEEDCRNG = 0x5207
|
||||||
|
RNDZAPENTCNT = 0x5204
|
||||||
RTAX_ADVMSS = 0x8
|
RTAX_ADVMSS = 0x8
|
||||||
RTAX_CC_ALGO = 0x10
|
RTAX_CC_ALGO = 0x10
|
||||||
RTAX_CWND = 0x7
|
RTAX_CWND = 0x7
|
||||||
|
@ -2051,6 +2060,7 @@ const (
|
||||||
TCOOFF = 0x0
|
TCOOFF = 0x0
|
||||||
TCOON = 0x1
|
TCOON = 0x1
|
||||||
TCP_CC_INFO = 0x1a
|
TCP_CC_INFO = 0x1a
|
||||||
|
TCP_CM_INQ = 0x24
|
||||||
TCP_CONGESTION = 0xd
|
TCP_CONGESTION = 0xd
|
||||||
TCP_COOKIE_IN_ALWAYS = 0x1
|
TCP_COOKIE_IN_ALWAYS = 0x1
|
||||||
TCP_COOKIE_MAX = 0x10
|
TCP_COOKIE_MAX = 0x10
|
||||||
|
@ -2065,6 +2075,7 @@ const (
|
||||||
TCP_FASTOPEN_KEY = 0x21
|
TCP_FASTOPEN_KEY = 0x21
|
||||||
TCP_FASTOPEN_NO_COOKIE = 0x22
|
TCP_FASTOPEN_NO_COOKIE = 0x22
|
||||||
TCP_INFO = 0xb
|
TCP_INFO = 0xb
|
||||||
|
TCP_INQ = 0x24
|
||||||
TCP_KEEPCNT = 0x6
|
TCP_KEEPCNT = 0x6
|
||||||
TCP_KEEPIDLE = 0x4
|
TCP_KEEPIDLE = 0x4
|
||||||
TCP_KEEPINTVL = 0x5
|
TCP_KEEPINTVL = 0x5
|
||||||
|
@ -2084,6 +2095,9 @@ const (
|
||||||
TCP_QUEUE_SEQ = 0x15
|
TCP_QUEUE_SEQ = 0x15
|
||||||
TCP_QUICKACK = 0xc
|
TCP_QUICKACK = 0xc
|
||||||
TCP_REPAIR = 0x13
|
TCP_REPAIR = 0x13
|
||||||
|
TCP_REPAIR_OFF = 0x0
|
||||||
|
TCP_REPAIR_OFF_NO_WP = -0x1
|
||||||
|
TCP_REPAIR_ON = 0x1
|
||||||
TCP_REPAIR_OPTIONS = 0x16
|
TCP_REPAIR_OPTIONS = 0x16
|
||||||
TCP_REPAIR_QUEUE = 0x14
|
TCP_REPAIR_QUEUE = 0x14
|
||||||
TCP_REPAIR_WINDOW = 0x1d
|
TCP_REPAIR_WINDOW = 0x1d
|
||||||
|
@ -2098,6 +2112,7 @@ const (
|
||||||
TCP_ULP = 0x1f
|
TCP_ULP = 0x1f
|
||||||
TCP_USER_TIMEOUT = 0x12
|
TCP_USER_TIMEOUT = 0x12
|
||||||
TCP_WINDOW_CLAMP = 0xa
|
TCP_WINDOW_CLAMP = 0xa
|
||||||
|
TCP_ZEROCOPY_RECEIVE = 0x23
|
||||||
TCSAFLUSH = 0x2
|
TCSAFLUSH = 0x2
|
||||||
TCSBRK = 0x5409
|
TCSBRK = 0x5409
|
||||||
TCSBRKP = 0x5425
|
TCSBRKP = 0x5425
|
||||||
|
|
|
@ -41,7 +41,7 @@ const (
|
||||||
AF_KEY = 0xf
|
AF_KEY = 0xf
|
||||||
AF_LLC = 0x1a
|
AF_LLC = 0x1a
|
||||||
AF_LOCAL = 0x1
|
AF_LOCAL = 0x1
|
||||||
AF_MAX = 0x2c
|
AF_MAX = 0x2d
|
||||||
AF_MPLS = 0x1c
|
AF_MPLS = 0x1c
|
||||||
AF_NETBEUI = 0xd
|
AF_NETBEUI = 0xd
|
||||||
AF_NETLINK = 0x10
|
AF_NETLINK = 0x10
|
||||||
|
@ -707,6 +707,7 @@ const (
|
||||||
IN_ISDIR = 0x40000000
|
IN_ISDIR = 0x40000000
|
||||||
IN_LOOPBACKNET = 0x7f
|
IN_LOOPBACKNET = 0x7f
|
||||||
IN_MASK_ADD = 0x20000000
|
IN_MASK_ADD = 0x20000000
|
||||||
|
IN_MASK_CREATE = 0x10000000
|
||||||
IN_MODIFY = 0x2
|
IN_MODIFY = 0x2
|
||||||
IN_MOVE = 0xc0
|
IN_MOVE = 0xc0
|
||||||
IN_MOVED_FROM = 0x40
|
IN_MOVED_FROM = 0x40
|
||||||
|
@ -778,6 +779,7 @@ const (
|
||||||
IPV6_MINHOPCOUNT = 0x49
|
IPV6_MINHOPCOUNT = 0x49
|
||||||
IPV6_MTU = 0x18
|
IPV6_MTU = 0x18
|
||||||
IPV6_MTU_DISCOVER = 0x17
|
IPV6_MTU_DISCOVER = 0x17
|
||||||
|
IPV6_MULTICAST_ALL = 0x1d
|
||||||
IPV6_MULTICAST_HOPS = 0x12
|
IPV6_MULTICAST_HOPS = 0x12
|
||||||
IPV6_MULTICAST_IF = 0x11
|
IPV6_MULTICAST_IF = 0x11
|
||||||
IPV6_MULTICAST_LOOP = 0x13
|
IPV6_MULTICAST_LOOP = 0x13
|
||||||
|
@ -1538,6 +1540,13 @@ const (
|
||||||
RLIMIT_SIGPENDING = 0xb
|
RLIMIT_SIGPENDING = 0xb
|
||||||
RLIMIT_STACK = 0x3
|
RLIMIT_STACK = 0x3
|
||||||
RLIM_INFINITY = 0xffffffffffffffff
|
RLIM_INFINITY = 0xffffffffffffffff
|
||||||
|
RNDADDENTROPY = 0x40085203
|
||||||
|
RNDADDTOENTCNT = 0x40045201
|
||||||
|
RNDCLEARPOOL = 0x5206
|
||||||
|
RNDGETENTCNT = 0x80045200
|
||||||
|
RNDGETPOOL = 0x80085202
|
||||||
|
RNDRESEEDCRNG = 0x5207
|
||||||
|
RNDZAPENTCNT = 0x5204
|
||||||
RTAX_ADVMSS = 0x8
|
RTAX_ADVMSS = 0x8
|
||||||
RTAX_CC_ALGO = 0x10
|
RTAX_CC_ALGO = 0x10
|
||||||
RTAX_CWND = 0x7
|
RTAX_CWND = 0x7
|
||||||
|
@ -2052,6 +2061,7 @@ const (
|
||||||
TCOOFF = 0x0
|
TCOOFF = 0x0
|
||||||
TCOON = 0x1
|
TCOON = 0x1
|
||||||
TCP_CC_INFO = 0x1a
|
TCP_CC_INFO = 0x1a
|
||||||
|
TCP_CM_INQ = 0x24
|
||||||
TCP_CONGESTION = 0xd
|
TCP_CONGESTION = 0xd
|
||||||
TCP_COOKIE_IN_ALWAYS = 0x1
|
TCP_COOKIE_IN_ALWAYS = 0x1
|
||||||
TCP_COOKIE_MAX = 0x10
|
TCP_COOKIE_MAX = 0x10
|
||||||
|
@ -2066,6 +2076,7 @@ const (
|
||||||
TCP_FASTOPEN_KEY = 0x21
|
TCP_FASTOPEN_KEY = 0x21
|
||||||
TCP_FASTOPEN_NO_COOKIE = 0x22
|
TCP_FASTOPEN_NO_COOKIE = 0x22
|
||||||
TCP_INFO = 0xb
|
TCP_INFO = 0xb
|
||||||
|
TCP_INQ = 0x24
|
||||||
TCP_KEEPCNT = 0x6
|
TCP_KEEPCNT = 0x6
|
||||||
TCP_KEEPIDLE = 0x4
|
TCP_KEEPIDLE = 0x4
|
||||||
TCP_KEEPINTVL = 0x5
|
TCP_KEEPINTVL = 0x5
|
||||||
|
@ -2085,6 +2096,9 @@ const (
|
||||||
TCP_QUEUE_SEQ = 0x15
|
TCP_QUEUE_SEQ = 0x15
|
||||||
TCP_QUICKACK = 0xc
|
TCP_QUICKACK = 0xc
|
||||||
TCP_REPAIR = 0x13
|
TCP_REPAIR = 0x13
|
||||||
|
TCP_REPAIR_OFF = 0x0
|
||||||
|
TCP_REPAIR_OFF_NO_WP = -0x1
|
||||||
|
TCP_REPAIR_ON = 0x1
|
||||||
TCP_REPAIR_OPTIONS = 0x16
|
TCP_REPAIR_OPTIONS = 0x16
|
||||||
TCP_REPAIR_QUEUE = 0x14
|
TCP_REPAIR_QUEUE = 0x14
|
||||||
TCP_REPAIR_WINDOW = 0x1d
|
TCP_REPAIR_WINDOW = 0x1d
|
||||||
|
@ -2099,6 +2113,7 @@ const (
|
||||||
TCP_ULP = 0x1f
|
TCP_ULP = 0x1f
|
||||||
TCP_USER_TIMEOUT = 0x12
|
TCP_USER_TIMEOUT = 0x12
|
||||||
TCP_WINDOW_CLAMP = 0xa
|
TCP_WINDOW_CLAMP = 0xa
|
||||||
|
TCP_ZEROCOPY_RECEIVE = 0x23
|
||||||
TCSAFLUSH = 0x2
|
TCSAFLUSH = 0x2
|
||||||
TCSBRK = 0x5409
|
TCSBRK = 0x5409
|
||||||
TCSBRKP = 0x5425
|
TCSBRKP = 0x5425
|
||||||
|
|
|
@ -41,7 +41,7 @@ const (
|
||||||
AF_KEY = 0xf
|
AF_KEY = 0xf
|
||||||
AF_LLC = 0x1a
|
AF_LLC = 0x1a
|
||||||
AF_LOCAL = 0x1
|
AF_LOCAL = 0x1
|
||||||
AF_MAX = 0x2c
|
AF_MAX = 0x2d
|
||||||
AF_MPLS = 0x1c
|
AF_MPLS = 0x1c
|
||||||
AF_NETBEUI = 0xd
|
AF_NETBEUI = 0xd
|
||||||
AF_NETLINK = 0x10
|
AF_NETLINK = 0x10
|
||||||
|
@ -706,6 +706,7 @@ const (
|
||||||
IN_ISDIR = 0x40000000
|
IN_ISDIR = 0x40000000
|
||||||
IN_LOOPBACKNET = 0x7f
|
IN_LOOPBACKNET = 0x7f
|
||||||
IN_MASK_ADD = 0x20000000
|
IN_MASK_ADD = 0x20000000
|
||||||
|
IN_MASK_CREATE = 0x10000000
|
||||||
IN_MODIFY = 0x2
|
IN_MODIFY = 0x2
|
||||||
IN_MOVE = 0xc0
|
IN_MOVE = 0xc0
|
||||||
IN_MOVED_FROM = 0x40
|
IN_MOVED_FROM = 0x40
|
||||||
|
@ -777,6 +778,7 @@ const (
|
||||||
IPV6_MINHOPCOUNT = 0x49
|
IPV6_MINHOPCOUNT = 0x49
|
||||||
IPV6_MTU = 0x18
|
IPV6_MTU = 0x18
|
||||||
IPV6_MTU_DISCOVER = 0x17
|
IPV6_MTU_DISCOVER = 0x17
|
||||||
|
IPV6_MULTICAST_ALL = 0x1d
|
||||||
IPV6_MULTICAST_HOPS = 0x12
|
IPV6_MULTICAST_HOPS = 0x12
|
||||||
IPV6_MULTICAST_IF = 0x11
|
IPV6_MULTICAST_IF = 0x11
|
||||||
IPV6_MULTICAST_LOOP = 0x13
|
IPV6_MULTICAST_LOOP = 0x13
|
||||||
|
@ -1544,6 +1546,13 @@ const (
|
||||||
RLIMIT_SIGPENDING = 0xb
|
RLIMIT_SIGPENDING = 0xb
|
||||||
RLIMIT_STACK = 0x3
|
RLIMIT_STACK = 0x3
|
||||||
RLIM_INFINITY = 0xffffffffffffffff
|
RLIM_INFINITY = 0xffffffffffffffff
|
||||||
|
RNDADDENTROPY = 0x40085203
|
||||||
|
RNDADDTOENTCNT = 0x40045201
|
||||||
|
RNDCLEARPOOL = 0x5206
|
||||||
|
RNDGETENTCNT = 0x80045200
|
||||||
|
RNDGETPOOL = 0x80085202
|
||||||
|
RNDRESEEDCRNG = 0x5207
|
||||||
|
RNDZAPENTCNT = 0x5204
|
||||||
RTAX_ADVMSS = 0x8
|
RTAX_ADVMSS = 0x8
|
||||||
RTAX_CC_ALGO = 0x10
|
RTAX_CC_ALGO = 0x10
|
||||||
RTAX_CWND = 0x7
|
RTAX_CWND = 0x7
|
||||||
|
@ -2058,6 +2067,7 @@ const (
|
||||||
TCOOFF = 0x0
|
TCOOFF = 0x0
|
||||||
TCOON = 0x1
|
TCOON = 0x1
|
||||||
TCP_CC_INFO = 0x1a
|
TCP_CC_INFO = 0x1a
|
||||||
|
TCP_CM_INQ = 0x24
|
||||||
TCP_CONGESTION = 0xd
|
TCP_CONGESTION = 0xd
|
||||||
TCP_COOKIE_IN_ALWAYS = 0x1
|
TCP_COOKIE_IN_ALWAYS = 0x1
|
||||||
TCP_COOKIE_MAX = 0x10
|
TCP_COOKIE_MAX = 0x10
|
||||||
|
@ -2072,6 +2082,7 @@ const (
|
||||||
TCP_FASTOPEN_KEY = 0x21
|
TCP_FASTOPEN_KEY = 0x21
|
||||||
TCP_FASTOPEN_NO_COOKIE = 0x22
|
TCP_FASTOPEN_NO_COOKIE = 0x22
|
||||||
TCP_INFO = 0xb
|
TCP_INFO = 0xb
|
||||||
|
TCP_INQ = 0x24
|
||||||
TCP_KEEPCNT = 0x6
|
TCP_KEEPCNT = 0x6
|
||||||
TCP_KEEPIDLE = 0x4
|
TCP_KEEPIDLE = 0x4
|
||||||
TCP_KEEPINTVL = 0x5
|
TCP_KEEPINTVL = 0x5
|
||||||
|
@ -2091,6 +2102,9 @@ const (
|
||||||
TCP_QUEUE_SEQ = 0x15
|
TCP_QUEUE_SEQ = 0x15
|
||||||
TCP_QUICKACK = 0xc
|
TCP_QUICKACK = 0xc
|
||||||
TCP_REPAIR = 0x13
|
TCP_REPAIR = 0x13
|
||||||
|
TCP_REPAIR_OFF = 0x0
|
||||||
|
TCP_REPAIR_OFF_NO_WP = -0x1
|
||||||
|
TCP_REPAIR_ON = 0x1
|
||||||
TCP_REPAIR_OPTIONS = 0x16
|
TCP_REPAIR_OPTIONS = 0x16
|
||||||
TCP_REPAIR_QUEUE = 0x14
|
TCP_REPAIR_QUEUE = 0x14
|
||||||
TCP_REPAIR_WINDOW = 0x1d
|
TCP_REPAIR_WINDOW = 0x1d
|
||||||
|
@ -2105,6 +2119,7 @@ const (
|
||||||
TCP_ULP = 0x1f
|
TCP_ULP = 0x1f
|
||||||
TCP_USER_TIMEOUT = 0x12
|
TCP_USER_TIMEOUT = 0x12
|
||||||
TCP_WINDOW_CLAMP = 0xa
|
TCP_WINDOW_CLAMP = 0xa
|
||||||
|
TCP_ZEROCOPY_RECEIVE = 0x23
|
||||||
TCSAFLUSH = 0x2
|
TCSAFLUSH = 0x2
|
||||||
TCSBRK = 0x5409
|
TCSBRK = 0x5409
|
||||||
TCSBRKP = 0x5425
|
TCSBRKP = 0x5425
|
||||||
|
|
|
@ -41,7 +41,7 @@ const (
|
||||||
AF_KEY = 0xf
|
AF_KEY = 0xf
|
||||||
AF_LLC = 0x1a
|
AF_LLC = 0x1a
|
||||||
AF_LOCAL = 0x1
|
AF_LOCAL = 0x1
|
||||||
AF_MAX = 0x2c
|
AF_MAX = 0x2d
|
||||||
AF_MPLS = 0x1c
|
AF_MPLS = 0x1c
|
||||||
AF_NETBEUI = 0xd
|
AF_NETBEUI = 0xd
|
||||||
AF_NETLINK = 0x10
|
AF_NETLINK = 0x10
|
||||||
|
@ -709,6 +709,7 @@ const (
|
||||||
IN_ISDIR = 0x40000000
|
IN_ISDIR = 0x40000000
|
||||||
IN_LOOPBACKNET = 0x7f
|
IN_LOOPBACKNET = 0x7f
|
||||||
IN_MASK_ADD = 0x20000000
|
IN_MASK_ADD = 0x20000000
|
||||||
|
IN_MASK_CREATE = 0x10000000
|
||||||
IN_MODIFY = 0x2
|
IN_MODIFY = 0x2
|
||||||
IN_MOVE = 0xc0
|
IN_MOVE = 0xc0
|
||||||
IN_MOVED_FROM = 0x40
|
IN_MOVED_FROM = 0x40
|
||||||
|
@ -780,6 +781,7 @@ const (
|
||||||
IPV6_MINHOPCOUNT = 0x49
|
IPV6_MINHOPCOUNT = 0x49
|
||||||
IPV6_MTU = 0x18
|
IPV6_MTU = 0x18
|
||||||
IPV6_MTU_DISCOVER = 0x17
|
IPV6_MTU_DISCOVER = 0x17
|
||||||
|
IPV6_MULTICAST_ALL = 0x1d
|
||||||
IPV6_MULTICAST_HOPS = 0x12
|
IPV6_MULTICAST_HOPS = 0x12
|
||||||
IPV6_MULTICAST_IF = 0x11
|
IPV6_MULTICAST_IF = 0x11
|
||||||
IPV6_MULTICAST_LOOP = 0x13
|
IPV6_MULTICAST_LOOP = 0x13
|
||||||
|
@ -1528,6 +1530,13 @@ const (
|
||||||
RLIMIT_SIGPENDING = 0xb
|
RLIMIT_SIGPENDING = 0xb
|
||||||
RLIMIT_STACK = 0x3
|
RLIMIT_STACK = 0x3
|
||||||
RLIM_INFINITY = 0xffffffffffffffff
|
RLIM_INFINITY = 0xffffffffffffffff
|
||||||
|
RNDADDENTROPY = 0x40085203
|
||||||
|
RNDADDTOENTCNT = 0x40045201
|
||||||
|
RNDCLEARPOOL = 0x5206
|
||||||
|
RNDGETENTCNT = 0x80045200
|
||||||
|
RNDGETPOOL = 0x80085202
|
||||||
|
RNDRESEEDCRNG = 0x5207
|
||||||
|
RNDZAPENTCNT = 0x5204
|
||||||
RTAX_ADVMSS = 0x8
|
RTAX_ADVMSS = 0x8
|
||||||
RTAX_CC_ALGO = 0x10
|
RTAX_CC_ALGO = 0x10
|
||||||
RTAX_CWND = 0x7
|
RTAX_CWND = 0x7
|
||||||
|
@ -2043,6 +2052,7 @@ const (
|
||||||
TCOOFF = 0x0
|
TCOOFF = 0x0
|
||||||
TCOON = 0x1
|
TCOON = 0x1
|
||||||
TCP_CC_INFO = 0x1a
|
TCP_CC_INFO = 0x1a
|
||||||
|
TCP_CM_INQ = 0x24
|
||||||
TCP_CONGESTION = 0xd
|
TCP_CONGESTION = 0xd
|
||||||
TCP_COOKIE_IN_ALWAYS = 0x1
|
TCP_COOKIE_IN_ALWAYS = 0x1
|
||||||
TCP_COOKIE_MAX = 0x10
|
TCP_COOKIE_MAX = 0x10
|
||||||
|
@ -2057,6 +2067,7 @@ const (
|
||||||
TCP_FASTOPEN_KEY = 0x21
|
TCP_FASTOPEN_KEY = 0x21
|
||||||
TCP_FASTOPEN_NO_COOKIE = 0x22
|
TCP_FASTOPEN_NO_COOKIE = 0x22
|
||||||
TCP_INFO = 0xb
|
TCP_INFO = 0xb
|
||||||
|
TCP_INQ = 0x24
|
||||||
TCP_KEEPCNT = 0x6
|
TCP_KEEPCNT = 0x6
|
||||||
TCP_KEEPIDLE = 0x4
|
TCP_KEEPIDLE = 0x4
|
||||||
TCP_KEEPINTVL = 0x5
|
TCP_KEEPINTVL = 0x5
|
||||||
|
@ -2076,6 +2087,9 @@ const (
|
||||||
TCP_QUEUE_SEQ = 0x15
|
TCP_QUEUE_SEQ = 0x15
|
||||||
TCP_QUICKACK = 0xc
|
TCP_QUICKACK = 0xc
|
||||||
TCP_REPAIR = 0x13
|
TCP_REPAIR = 0x13
|
||||||
|
TCP_REPAIR_OFF = 0x0
|
||||||
|
TCP_REPAIR_OFF_NO_WP = -0x1
|
||||||
|
TCP_REPAIR_ON = 0x1
|
||||||
TCP_REPAIR_OPTIONS = 0x16
|
TCP_REPAIR_OPTIONS = 0x16
|
||||||
TCP_REPAIR_QUEUE = 0x14
|
TCP_REPAIR_QUEUE = 0x14
|
||||||
TCP_REPAIR_WINDOW = 0x1d
|
TCP_REPAIR_WINDOW = 0x1d
|
||||||
|
@ -2090,6 +2104,7 @@ const (
|
||||||
TCP_ULP = 0x1f
|
TCP_ULP = 0x1f
|
||||||
TCP_USER_TIMEOUT = 0x12
|
TCP_USER_TIMEOUT = 0x12
|
||||||
TCP_WINDOW_CLAMP = 0xa
|
TCP_WINDOW_CLAMP = 0xa
|
||||||
|
TCP_ZEROCOPY_RECEIVE = 0x23
|
||||||
TCSAFLUSH = 0x2
|
TCSAFLUSH = 0x2
|
||||||
TCSBRK = 0x5409
|
TCSBRK = 0x5409
|
||||||
TCSBRKP = 0x5425
|
TCSBRKP = 0x5425
|
||||||
|
|
|
@ -41,7 +41,7 @@ const (
|
||||||
AF_KEY = 0xf
|
AF_KEY = 0xf
|
||||||
AF_LLC = 0x1a
|
AF_LLC = 0x1a
|
||||||
AF_LOCAL = 0x1
|
AF_LOCAL = 0x1
|
||||||
AF_MAX = 0x2c
|
AF_MAX = 0x2d
|
||||||
AF_MPLS = 0x1c
|
AF_MPLS = 0x1c
|
||||||
AF_NETBEUI = 0xd
|
AF_NETBEUI = 0xd
|
||||||
AF_NETLINK = 0x10
|
AF_NETLINK = 0x10
|
||||||
|
@ -706,6 +706,7 @@ const (
|
||||||
IN_ISDIR = 0x40000000
|
IN_ISDIR = 0x40000000
|
||||||
IN_LOOPBACKNET = 0x7f
|
IN_LOOPBACKNET = 0x7f
|
||||||
IN_MASK_ADD = 0x20000000
|
IN_MASK_ADD = 0x20000000
|
||||||
|
IN_MASK_CREATE = 0x10000000
|
||||||
IN_MODIFY = 0x2
|
IN_MODIFY = 0x2
|
||||||
IN_MOVE = 0xc0
|
IN_MOVE = 0xc0
|
||||||
IN_MOVED_FROM = 0x40
|
IN_MOVED_FROM = 0x40
|
||||||
|
@ -777,6 +778,7 @@ const (
|
||||||
IPV6_MINHOPCOUNT = 0x49
|
IPV6_MINHOPCOUNT = 0x49
|
||||||
IPV6_MTU = 0x18
|
IPV6_MTU = 0x18
|
||||||
IPV6_MTU_DISCOVER = 0x17
|
IPV6_MTU_DISCOVER = 0x17
|
||||||
|
IPV6_MULTICAST_ALL = 0x1d
|
||||||
IPV6_MULTICAST_HOPS = 0x12
|
IPV6_MULTICAST_HOPS = 0x12
|
||||||
IPV6_MULTICAST_IF = 0x11
|
IPV6_MULTICAST_IF = 0x11
|
||||||
IPV6_MULTICAST_LOOP = 0x13
|
IPV6_MULTICAST_LOOP = 0x13
|
||||||
|
@ -1537,6 +1539,13 @@ const (
|
||||||
RLIMIT_SIGPENDING = 0xb
|
RLIMIT_SIGPENDING = 0xb
|
||||||
RLIMIT_STACK = 0x3
|
RLIMIT_STACK = 0x3
|
||||||
RLIM_INFINITY = 0xffffffffffffffff
|
RLIM_INFINITY = 0xffffffffffffffff
|
||||||
|
RNDADDENTROPY = 0x80085203
|
||||||
|
RNDADDTOENTCNT = 0x80045201
|
||||||
|
RNDCLEARPOOL = 0x20005206
|
||||||
|
RNDGETENTCNT = 0x40045200
|
||||||
|
RNDGETPOOL = 0x40085202
|
||||||
|
RNDRESEEDCRNG = 0x20005207
|
||||||
|
RNDZAPENTCNT = 0x20005204
|
||||||
RTAX_ADVMSS = 0x8
|
RTAX_ADVMSS = 0x8
|
||||||
RTAX_CC_ALGO = 0x10
|
RTAX_CC_ALGO = 0x10
|
||||||
RTAX_CWND = 0x7
|
RTAX_CWND = 0x7
|
||||||
|
@ -2051,6 +2060,7 @@ const (
|
||||||
TCOOFF = 0x0
|
TCOOFF = 0x0
|
||||||
TCOON = 0x1
|
TCOON = 0x1
|
||||||
TCP_CC_INFO = 0x1a
|
TCP_CC_INFO = 0x1a
|
||||||
|
TCP_CM_INQ = 0x24
|
||||||
TCP_CONGESTION = 0xd
|
TCP_CONGESTION = 0xd
|
||||||
TCP_COOKIE_IN_ALWAYS = 0x1
|
TCP_COOKIE_IN_ALWAYS = 0x1
|
||||||
TCP_COOKIE_MAX = 0x10
|
TCP_COOKIE_MAX = 0x10
|
||||||
|
@ -2065,6 +2075,7 @@ const (
|
||||||
TCP_FASTOPEN_KEY = 0x21
|
TCP_FASTOPEN_KEY = 0x21
|
||||||
TCP_FASTOPEN_NO_COOKIE = 0x22
|
TCP_FASTOPEN_NO_COOKIE = 0x22
|
||||||
TCP_INFO = 0xb
|
TCP_INFO = 0xb
|
||||||
|
TCP_INQ = 0x24
|
||||||
TCP_KEEPCNT = 0x6
|
TCP_KEEPCNT = 0x6
|
||||||
TCP_KEEPIDLE = 0x4
|
TCP_KEEPIDLE = 0x4
|
||||||
TCP_KEEPINTVL = 0x5
|
TCP_KEEPINTVL = 0x5
|
||||||
|
@ -2084,6 +2095,9 @@ const (
|
||||||
TCP_QUEUE_SEQ = 0x15
|
TCP_QUEUE_SEQ = 0x15
|
||||||
TCP_QUICKACK = 0xc
|
TCP_QUICKACK = 0xc
|
||||||
TCP_REPAIR = 0x13
|
TCP_REPAIR = 0x13
|
||||||
|
TCP_REPAIR_OFF = 0x0
|
||||||
|
TCP_REPAIR_OFF_NO_WP = -0x1
|
||||||
|
TCP_REPAIR_ON = 0x1
|
||||||
TCP_REPAIR_OPTIONS = 0x16
|
TCP_REPAIR_OPTIONS = 0x16
|
||||||
TCP_REPAIR_QUEUE = 0x14
|
TCP_REPAIR_QUEUE = 0x14
|
||||||
TCP_REPAIR_WINDOW = 0x1d
|
TCP_REPAIR_WINDOW = 0x1d
|
||||||
|
@ -2098,6 +2112,7 @@ const (
|
||||||
TCP_ULP = 0x1f
|
TCP_ULP = 0x1f
|
||||||
TCP_USER_TIMEOUT = 0x12
|
TCP_USER_TIMEOUT = 0x12
|
||||||
TCP_WINDOW_CLAMP = 0xa
|
TCP_WINDOW_CLAMP = 0xa
|
||||||
|
TCP_ZEROCOPY_RECEIVE = 0x23
|
||||||
TCSAFLUSH = 0x5410
|
TCSAFLUSH = 0x5410
|
||||||
TCSBRK = 0x5405
|
TCSBRK = 0x5405
|
||||||
TCSBRKP = 0x5486
|
TCSBRKP = 0x5486
|
||||||
|
|
|
@ -41,7 +41,7 @@ const (
|
||||||
AF_KEY = 0xf
|
AF_KEY = 0xf
|
||||||
AF_LLC = 0x1a
|
AF_LLC = 0x1a
|
||||||
AF_LOCAL = 0x1
|
AF_LOCAL = 0x1
|
||||||
AF_MAX = 0x2c
|
AF_MAX = 0x2d
|
||||||
AF_MPLS = 0x1c
|
AF_MPLS = 0x1c
|
||||||
AF_NETBEUI = 0xd
|
AF_NETBEUI = 0xd
|
||||||
AF_NETLINK = 0x10
|
AF_NETLINK = 0x10
|
||||||
|
@ -706,6 +706,7 @@ const (
|
||||||
IN_ISDIR = 0x40000000
|
IN_ISDIR = 0x40000000
|
||||||
IN_LOOPBACKNET = 0x7f
|
IN_LOOPBACKNET = 0x7f
|
||||||
IN_MASK_ADD = 0x20000000
|
IN_MASK_ADD = 0x20000000
|
||||||
|
IN_MASK_CREATE = 0x10000000
|
||||||
IN_MODIFY = 0x2
|
IN_MODIFY = 0x2
|
||||||
IN_MOVE = 0xc0
|
IN_MOVE = 0xc0
|
||||||
IN_MOVED_FROM = 0x40
|
IN_MOVED_FROM = 0x40
|
||||||
|
@ -777,6 +778,7 @@ const (
|
||||||
IPV6_MINHOPCOUNT = 0x49
|
IPV6_MINHOPCOUNT = 0x49
|
||||||
IPV6_MTU = 0x18
|
IPV6_MTU = 0x18
|
||||||
IPV6_MTU_DISCOVER = 0x17
|
IPV6_MTU_DISCOVER = 0x17
|
||||||
|
IPV6_MULTICAST_ALL = 0x1d
|
||||||
IPV6_MULTICAST_HOPS = 0x12
|
IPV6_MULTICAST_HOPS = 0x12
|
||||||
IPV6_MULTICAST_IF = 0x11
|
IPV6_MULTICAST_IF = 0x11
|
||||||
IPV6_MULTICAST_LOOP = 0x13
|
IPV6_MULTICAST_LOOP = 0x13
|
||||||
|
@ -1537,6 +1539,13 @@ const (
|
||||||
RLIMIT_SIGPENDING = 0xb
|
RLIMIT_SIGPENDING = 0xb
|
||||||
RLIMIT_STACK = 0x3
|
RLIMIT_STACK = 0x3
|
||||||
RLIM_INFINITY = 0xffffffffffffffff
|
RLIM_INFINITY = 0xffffffffffffffff
|
||||||
|
RNDADDENTROPY = 0x80085203
|
||||||
|
RNDADDTOENTCNT = 0x80045201
|
||||||
|
RNDCLEARPOOL = 0x20005206
|
||||||
|
RNDGETENTCNT = 0x40045200
|
||||||
|
RNDGETPOOL = 0x40085202
|
||||||
|
RNDRESEEDCRNG = 0x20005207
|
||||||
|
RNDZAPENTCNT = 0x20005204
|
||||||
RTAX_ADVMSS = 0x8
|
RTAX_ADVMSS = 0x8
|
||||||
RTAX_CC_ALGO = 0x10
|
RTAX_CC_ALGO = 0x10
|
||||||
RTAX_CWND = 0x7
|
RTAX_CWND = 0x7
|
||||||
|
@ -2051,6 +2060,7 @@ const (
|
||||||
TCOOFF = 0x0
|
TCOOFF = 0x0
|
||||||
TCOON = 0x1
|
TCOON = 0x1
|
||||||
TCP_CC_INFO = 0x1a
|
TCP_CC_INFO = 0x1a
|
||||||
|
TCP_CM_INQ = 0x24
|
||||||
TCP_CONGESTION = 0xd
|
TCP_CONGESTION = 0xd
|
||||||
TCP_COOKIE_IN_ALWAYS = 0x1
|
TCP_COOKIE_IN_ALWAYS = 0x1
|
||||||
TCP_COOKIE_MAX = 0x10
|
TCP_COOKIE_MAX = 0x10
|
||||||
|
@ -2065,6 +2075,7 @@ const (
|
||||||
TCP_FASTOPEN_KEY = 0x21
|
TCP_FASTOPEN_KEY = 0x21
|
||||||
TCP_FASTOPEN_NO_COOKIE = 0x22
|
TCP_FASTOPEN_NO_COOKIE = 0x22
|
||||||
TCP_INFO = 0xb
|
TCP_INFO = 0xb
|
||||||
|
TCP_INQ = 0x24
|
||||||
TCP_KEEPCNT = 0x6
|
TCP_KEEPCNT = 0x6
|
||||||
TCP_KEEPIDLE = 0x4
|
TCP_KEEPIDLE = 0x4
|
||||||
TCP_KEEPINTVL = 0x5
|
TCP_KEEPINTVL = 0x5
|
||||||
|
@ -2084,6 +2095,9 @@ const (
|
||||||
TCP_QUEUE_SEQ = 0x15
|
TCP_QUEUE_SEQ = 0x15
|
||||||
TCP_QUICKACK = 0xc
|
TCP_QUICKACK = 0xc
|
||||||
TCP_REPAIR = 0x13
|
TCP_REPAIR = 0x13
|
||||||
|
TCP_REPAIR_OFF = 0x0
|
||||||
|
TCP_REPAIR_OFF_NO_WP = -0x1
|
||||||
|
TCP_REPAIR_ON = 0x1
|
||||||
TCP_REPAIR_OPTIONS = 0x16
|
TCP_REPAIR_OPTIONS = 0x16
|
||||||
TCP_REPAIR_QUEUE = 0x14
|
TCP_REPAIR_QUEUE = 0x14
|
||||||
TCP_REPAIR_WINDOW = 0x1d
|
TCP_REPAIR_WINDOW = 0x1d
|
||||||
|
@ -2098,6 +2112,7 @@ const (
|
||||||
TCP_ULP = 0x1f
|
TCP_ULP = 0x1f
|
||||||
TCP_USER_TIMEOUT = 0x12
|
TCP_USER_TIMEOUT = 0x12
|
||||||
TCP_WINDOW_CLAMP = 0xa
|
TCP_WINDOW_CLAMP = 0xa
|
||||||
|
TCP_ZEROCOPY_RECEIVE = 0x23
|
||||||
TCSAFLUSH = 0x5410
|
TCSAFLUSH = 0x5410
|
||||||
TCSBRK = 0x5405
|
TCSBRK = 0x5405
|
||||||
TCSBRKP = 0x5486
|
TCSBRKP = 0x5486
|
||||||
|
|
|
@ -41,7 +41,7 @@ const (
|
||||||
AF_KEY = 0xf
|
AF_KEY = 0xf
|
||||||
AF_LLC = 0x1a
|
AF_LLC = 0x1a
|
||||||
AF_LOCAL = 0x1
|
AF_LOCAL = 0x1
|
||||||
AF_MAX = 0x2c
|
AF_MAX = 0x2d
|
||||||
AF_MPLS = 0x1c
|
AF_MPLS = 0x1c
|
||||||
AF_NETBEUI = 0xd
|
AF_NETBEUI = 0xd
|
||||||
AF_NETLINK = 0x10
|
AF_NETLINK = 0x10
|
||||||
|
@ -706,6 +706,7 @@ const (
|
||||||
IN_ISDIR = 0x40000000
|
IN_ISDIR = 0x40000000
|
||||||
IN_LOOPBACKNET = 0x7f
|
IN_LOOPBACKNET = 0x7f
|
||||||
IN_MASK_ADD = 0x20000000
|
IN_MASK_ADD = 0x20000000
|
||||||
|
IN_MASK_CREATE = 0x10000000
|
||||||
IN_MODIFY = 0x2
|
IN_MODIFY = 0x2
|
||||||
IN_MOVE = 0xc0
|
IN_MOVE = 0xc0
|
||||||
IN_MOVED_FROM = 0x40
|
IN_MOVED_FROM = 0x40
|
||||||
|
@ -777,6 +778,7 @@ const (
|
||||||
IPV6_MINHOPCOUNT = 0x49
|
IPV6_MINHOPCOUNT = 0x49
|
||||||
IPV6_MTU = 0x18
|
IPV6_MTU = 0x18
|
||||||
IPV6_MTU_DISCOVER = 0x17
|
IPV6_MTU_DISCOVER = 0x17
|
||||||
|
IPV6_MULTICAST_ALL = 0x1d
|
||||||
IPV6_MULTICAST_HOPS = 0x12
|
IPV6_MULTICAST_HOPS = 0x12
|
||||||
IPV6_MULTICAST_IF = 0x11
|
IPV6_MULTICAST_IF = 0x11
|
||||||
IPV6_MULTICAST_LOOP = 0x13
|
IPV6_MULTICAST_LOOP = 0x13
|
||||||
|
@ -1537,6 +1539,13 @@ const (
|
||||||
RLIMIT_SIGPENDING = 0xb
|
RLIMIT_SIGPENDING = 0xb
|
||||||
RLIMIT_STACK = 0x3
|
RLIMIT_STACK = 0x3
|
||||||
RLIM_INFINITY = 0xffffffffffffffff
|
RLIM_INFINITY = 0xffffffffffffffff
|
||||||
|
RNDADDENTROPY = 0x80085203
|
||||||
|
RNDADDTOENTCNT = 0x80045201
|
||||||
|
RNDCLEARPOOL = 0x20005206
|
||||||
|
RNDGETENTCNT = 0x40045200
|
||||||
|
RNDGETPOOL = 0x40085202
|
||||||
|
RNDRESEEDCRNG = 0x20005207
|
||||||
|
RNDZAPENTCNT = 0x20005204
|
||||||
RTAX_ADVMSS = 0x8
|
RTAX_ADVMSS = 0x8
|
||||||
RTAX_CC_ALGO = 0x10
|
RTAX_CC_ALGO = 0x10
|
||||||
RTAX_CWND = 0x7
|
RTAX_CWND = 0x7
|
||||||
|
@ -2051,6 +2060,7 @@ const (
|
||||||
TCOOFF = 0x0
|
TCOOFF = 0x0
|
||||||
TCOON = 0x1
|
TCOON = 0x1
|
||||||
TCP_CC_INFO = 0x1a
|
TCP_CC_INFO = 0x1a
|
||||||
|
TCP_CM_INQ = 0x24
|
||||||
TCP_CONGESTION = 0xd
|
TCP_CONGESTION = 0xd
|
||||||
TCP_COOKIE_IN_ALWAYS = 0x1
|
TCP_COOKIE_IN_ALWAYS = 0x1
|
||||||
TCP_COOKIE_MAX = 0x10
|
TCP_COOKIE_MAX = 0x10
|
||||||
|
@ -2065,6 +2075,7 @@ const (
|
||||||
TCP_FASTOPEN_KEY = 0x21
|
TCP_FASTOPEN_KEY = 0x21
|
||||||
TCP_FASTOPEN_NO_COOKIE = 0x22
|
TCP_FASTOPEN_NO_COOKIE = 0x22
|
||||||
TCP_INFO = 0xb
|
TCP_INFO = 0xb
|
||||||
|
TCP_INQ = 0x24
|
||||||
TCP_KEEPCNT = 0x6
|
TCP_KEEPCNT = 0x6
|
||||||
TCP_KEEPIDLE = 0x4
|
TCP_KEEPIDLE = 0x4
|
||||||
TCP_KEEPINTVL = 0x5
|
TCP_KEEPINTVL = 0x5
|
||||||
|
@ -2084,6 +2095,9 @@ const (
|
||||||
TCP_QUEUE_SEQ = 0x15
|
TCP_QUEUE_SEQ = 0x15
|
||||||
TCP_QUICKACK = 0xc
|
TCP_QUICKACK = 0xc
|
||||||
TCP_REPAIR = 0x13
|
TCP_REPAIR = 0x13
|
||||||
|
TCP_REPAIR_OFF = 0x0
|
||||||
|
TCP_REPAIR_OFF_NO_WP = -0x1
|
||||||
|
TCP_REPAIR_ON = 0x1
|
||||||
TCP_REPAIR_OPTIONS = 0x16
|
TCP_REPAIR_OPTIONS = 0x16
|
||||||
TCP_REPAIR_QUEUE = 0x14
|
TCP_REPAIR_QUEUE = 0x14
|
||||||
TCP_REPAIR_WINDOW = 0x1d
|
TCP_REPAIR_WINDOW = 0x1d
|
||||||
|
@ -2098,6 +2112,7 @@ const (
|
||||||
TCP_ULP = 0x1f
|
TCP_ULP = 0x1f
|
||||||
TCP_USER_TIMEOUT = 0x12
|
TCP_USER_TIMEOUT = 0x12
|
||||||
TCP_WINDOW_CLAMP = 0xa
|
TCP_WINDOW_CLAMP = 0xa
|
||||||
|
TCP_ZEROCOPY_RECEIVE = 0x23
|
||||||
TCSAFLUSH = 0x5410
|
TCSAFLUSH = 0x5410
|
||||||
TCSBRK = 0x5405
|
TCSBRK = 0x5405
|
||||||
TCSBRKP = 0x5486
|
TCSBRKP = 0x5486
|
||||||
|
|
|
@ -41,7 +41,7 @@ const (
|
||||||
AF_KEY = 0xf
|
AF_KEY = 0xf
|
||||||
AF_LLC = 0x1a
|
AF_LLC = 0x1a
|
||||||
AF_LOCAL = 0x1
|
AF_LOCAL = 0x1
|
||||||
AF_MAX = 0x2c
|
AF_MAX = 0x2d
|
||||||
AF_MPLS = 0x1c
|
AF_MPLS = 0x1c
|
||||||
AF_NETBEUI = 0xd
|
AF_NETBEUI = 0xd
|
||||||
AF_NETLINK = 0x10
|
AF_NETLINK = 0x10
|
||||||
|
@ -706,6 +706,7 @@ const (
|
||||||
IN_ISDIR = 0x40000000
|
IN_ISDIR = 0x40000000
|
||||||
IN_LOOPBACKNET = 0x7f
|
IN_LOOPBACKNET = 0x7f
|
||||||
IN_MASK_ADD = 0x20000000
|
IN_MASK_ADD = 0x20000000
|
||||||
|
IN_MASK_CREATE = 0x10000000
|
||||||
IN_MODIFY = 0x2
|
IN_MODIFY = 0x2
|
||||||
IN_MOVE = 0xc0
|
IN_MOVE = 0xc0
|
||||||
IN_MOVED_FROM = 0x40
|
IN_MOVED_FROM = 0x40
|
||||||
|
@ -777,6 +778,7 @@ const (
|
||||||
IPV6_MINHOPCOUNT = 0x49
|
IPV6_MINHOPCOUNT = 0x49
|
||||||
IPV6_MTU = 0x18
|
IPV6_MTU = 0x18
|
||||||
IPV6_MTU_DISCOVER = 0x17
|
IPV6_MTU_DISCOVER = 0x17
|
||||||
|
IPV6_MULTICAST_ALL = 0x1d
|
||||||
IPV6_MULTICAST_HOPS = 0x12
|
IPV6_MULTICAST_HOPS = 0x12
|
||||||
IPV6_MULTICAST_IF = 0x11
|
IPV6_MULTICAST_IF = 0x11
|
||||||
IPV6_MULTICAST_LOOP = 0x13
|
IPV6_MULTICAST_LOOP = 0x13
|
||||||
|
@ -1537,6 +1539,13 @@ const (
|
||||||
RLIMIT_SIGPENDING = 0xb
|
RLIMIT_SIGPENDING = 0xb
|
||||||
RLIMIT_STACK = 0x3
|
RLIMIT_STACK = 0x3
|
||||||
RLIM_INFINITY = 0xffffffffffffffff
|
RLIM_INFINITY = 0xffffffffffffffff
|
||||||
|
RNDADDENTROPY = 0x80085203
|
||||||
|
RNDADDTOENTCNT = 0x80045201
|
||||||
|
RNDCLEARPOOL = 0x20005206
|
||||||
|
RNDGETENTCNT = 0x40045200
|
||||||
|
RNDGETPOOL = 0x40085202
|
||||||
|
RNDRESEEDCRNG = 0x20005207
|
||||||
|
RNDZAPENTCNT = 0x20005204
|
||||||
RTAX_ADVMSS = 0x8
|
RTAX_ADVMSS = 0x8
|
||||||
RTAX_CC_ALGO = 0x10
|
RTAX_CC_ALGO = 0x10
|
||||||
RTAX_CWND = 0x7
|
RTAX_CWND = 0x7
|
||||||
|
@ -2051,6 +2060,7 @@ const (
|
||||||
TCOOFF = 0x0
|
TCOOFF = 0x0
|
||||||
TCOON = 0x1
|
TCOON = 0x1
|
||||||
TCP_CC_INFO = 0x1a
|
TCP_CC_INFO = 0x1a
|
||||||
|
TCP_CM_INQ = 0x24
|
||||||
TCP_CONGESTION = 0xd
|
TCP_CONGESTION = 0xd
|
||||||
TCP_COOKIE_IN_ALWAYS = 0x1
|
TCP_COOKIE_IN_ALWAYS = 0x1
|
||||||
TCP_COOKIE_MAX = 0x10
|
TCP_COOKIE_MAX = 0x10
|
||||||
|
@ -2065,6 +2075,7 @@ const (
|
||||||
TCP_FASTOPEN_KEY = 0x21
|
TCP_FASTOPEN_KEY = 0x21
|
||||||
TCP_FASTOPEN_NO_COOKIE = 0x22
|
TCP_FASTOPEN_NO_COOKIE = 0x22
|
||||||
TCP_INFO = 0xb
|
TCP_INFO = 0xb
|
||||||
|
TCP_INQ = 0x24
|
||||||
TCP_KEEPCNT = 0x6
|
TCP_KEEPCNT = 0x6
|
||||||
TCP_KEEPIDLE = 0x4
|
TCP_KEEPIDLE = 0x4
|
||||||
TCP_KEEPINTVL = 0x5
|
TCP_KEEPINTVL = 0x5
|
||||||
|
@ -2084,6 +2095,9 @@ const (
|
||||||
TCP_QUEUE_SEQ = 0x15
|
TCP_QUEUE_SEQ = 0x15
|
||||||
TCP_QUICKACK = 0xc
|
TCP_QUICKACK = 0xc
|
||||||
TCP_REPAIR = 0x13
|
TCP_REPAIR = 0x13
|
||||||
|
TCP_REPAIR_OFF = 0x0
|
||||||
|
TCP_REPAIR_OFF_NO_WP = -0x1
|
||||||
|
TCP_REPAIR_ON = 0x1
|
||||||
TCP_REPAIR_OPTIONS = 0x16
|
TCP_REPAIR_OPTIONS = 0x16
|
||||||
TCP_REPAIR_QUEUE = 0x14
|
TCP_REPAIR_QUEUE = 0x14
|
||||||
TCP_REPAIR_WINDOW = 0x1d
|
TCP_REPAIR_WINDOW = 0x1d
|
||||||
|
@ -2098,6 +2112,7 @@ const (
|
||||||
TCP_ULP = 0x1f
|
TCP_ULP = 0x1f
|
||||||
TCP_USER_TIMEOUT = 0x12
|
TCP_USER_TIMEOUT = 0x12
|
||||||
TCP_WINDOW_CLAMP = 0xa
|
TCP_WINDOW_CLAMP = 0xa
|
||||||
|
TCP_ZEROCOPY_RECEIVE = 0x23
|
||||||
TCSAFLUSH = 0x5410
|
TCSAFLUSH = 0x5410
|
||||||
TCSBRK = 0x5405
|
TCSBRK = 0x5405
|
||||||
TCSBRKP = 0x5486
|
TCSBRKP = 0x5486
|
||||||
|
|
|
@ -41,7 +41,7 @@ const (
|
||||||
AF_KEY = 0xf
|
AF_KEY = 0xf
|
||||||
AF_LLC = 0x1a
|
AF_LLC = 0x1a
|
||||||
AF_LOCAL = 0x1
|
AF_LOCAL = 0x1
|
||||||
AF_MAX = 0x2c
|
AF_MAX = 0x2d
|
||||||
AF_MPLS = 0x1c
|
AF_MPLS = 0x1c
|
||||||
AF_NETBEUI = 0xd
|
AF_NETBEUI = 0xd
|
||||||
AF_NETLINK = 0x10
|
AF_NETLINK = 0x10
|
||||||
|
@ -706,6 +706,7 @@ const (
|
||||||
IN_ISDIR = 0x40000000
|
IN_ISDIR = 0x40000000
|
||||||
IN_LOOPBACKNET = 0x7f
|
IN_LOOPBACKNET = 0x7f
|
||||||
IN_MASK_ADD = 0x20000000
|
IN_MASK_ADD = 0x20000000
|
||||||
|
IN_MASK_CREATE = 0x10000000
|
||||||
IN_MODIFY = 0x2
|
IN_MODIFY = 0x2
|
||||||
IN_MOVE = 0xc0
|
IN_MOVE = 0xc0
|
||||||
IN_MOVED_FROM = 0x40
|
IN_MOVED_FROM = 0x40
|
||||||
|
@ -777,6 +778,7 @@ const (
|
||||||
IPV6_MINHOPCOUNT = 0x49
|
IPV6_MINHOPCOUNT = 0x49
|
||||||
IPV6_MTU = 0x18
|
IPV6_MTU = 0x18
|
||||||
IPV6_MTU_DISCOVER = 0x17
|
IPV6_MTU_DISCOVER = 0x17
|
||||||
|
IPV6_MULTICAST_ALL = 0x1d
|
||||||
IPV6_MULTICAST_HOPS = 0x12
|
IPV6_MULTICAST_HOPS = 0x12
|
||||||
IPV6_MULTICAST_IF = 0x11
|
IPV6_MULTICAST_IF = 0x11
|
||||||
IPV6_MULTICAST_LOOP = 0x13
|
IPV6_MULTICAST_LOOP = 0x13
|
||||||
|
@ -1595,6 +1597,13 @@ const (
|
||||||
RLIMIT_SIGPENDING = 0xb
|
RLIMIT_SIGPENDING = 0xb
|
||||||
RLIMIT_STACK = 0x3
|
RLIMIT_STACK = 0x3
|
||||||
RLIM_INFINITY = 0xffffffffffffffff
|
RLIM_INFINITY = 0xffffffffffffffff
|
||||||
|
RNDADDENTROPY = 0x80085203
|
||||||
|
RNDADDTOENTCNT = 0x80045201
|
||||||
|
RNDCLEARPOOL = 0x20005206
|
||||||
|
RNDGETENTCNT = 0x40045200
|
||||||
|
RNDGETPOOL = 0x40085202
|
||||||
|
RNDRESEEDCRNG = 0x20005207
|
||||||
|
RNDZAPENTCNT = 0x20005204
|
||||||
RTAX_ADVMSS = 0x8
|
RTAX_ADVMSS = 0x8
|
||||||
RTAX_CC_ALGO = 0x10
|
RTAX_CC_ALGO = 0x10
|
||||||
RTAX_CWND = 0x7
|
RTAX_CWND = 0x7
|
||||||
|
@ -2107,6 +2116,7 @@ const (
|
||||||
TCOOFF = 0x0
|
TCOOFF = 0x0
|
||||||
TCOON = 0x1
|
TCOON = 0x1
|
||||||
TCP_CC_INFO = 0x1a
|
TCP_CC_INFO = 0x1a
|
||||||
|
TCP_CM_INQ = 0x24
|
||||||
TCP_CONGESTION = 0xd
|
TCP_CONGESTION = 0xd
|
||||||
TCP_COOKIE_IN_ALWAYS = 0x1
|
TCP_COOKIE_IN_ALWAYS = 0x1
|
||||||
TCP_COOKIE_MAX = 0x10
|
TCP_COOKIE_MAX = 0x10
|
||||||
|
@ -2121,6 +2131,7 @@ const (
|
||||||
TCP_FASTOPEN_KEY = 0x21
|
TCP_FASTOPEN_KEY = 0x21
|
||||||
TCP_FASTOPEN_NO_COOKIE = 0x22
|
TCP_FASTOPEN_NO_COOKIE = 0x22
|
||||||
TCP_INFO = 0xb
|
TCP_INFO = 0xb
|
||||||
|
TCP_INQ = 0x24
|
||||||
TCP_KEEPCNT = 0x6
|
TCP_KEEPCNT = 0x6
|
||||||
TCP_KEEPIDLE = 0x4
|
TCP_KEEPIDLE = 0x4
|
||||||
TCP_KEEPINTVL = 0x5
|
TCP_KEEPINTVL = 0x5
|
||||||
|
@ -2140,6 +2151,9 @@ const (
|
||||||
TCP_QUEUE_SEQ = 0x15
|
TCP_QUEUE_SEQ = 0x15
|
||||||
TCP_QUICKACK = 0xc
|
TCP_QUICKACK = 0xc
|
||||||
TCP_REPAIR = 0x13
|
TCP_REPAIR = 0x13
|
||||||
|
TCP_REPAIR_OFF = 0x0
|
||||||
|
TCP_REPAIR_OFF_NO_WP = -0x1
|
||||||
|
TCP_REPAIR_ON = 0x1
|
||||||
TCP_REPAIR_OPTIONS = 0x16
|
TCP_REPAIR_OPTIONS = 0x16
|
||||||
TCP_REPAIR_QUEUE = 0x14
|
TCP_REPAIR_QUEUE = 0x14
|
||||||
TCP_REPAIR_WINDOW = 0x1d
|
TCP_REPAIR_WINDOW = 0x1d
|
||||||
|
@ -2154,6 +2168,7 @@ const (
|
||||||
TCP_ULP = 0x1f
|
TCP_ULP = 0x1f
|
||||||
TCP_USER_TIMEOUT = 0x12
|
TCP_USER_TIMEOUT = 0x12
|
||||||
TCP_WINDOW_CLAMP = 0xa
|
TCP_WINDOW_CLAMP = 0xa
|
||||||
|
TCP_ZEROCOPY_RECEIVE = 0x23
|
||||||
TCSAFLUSH = 0x2
|
TCSAFLUSH = 0x2
|
||||||
TCSBRK = 0x2000741d
|
TCSBRK = 0x2000741d
|
||||||
TCSBRKP = 0x5425
|
TCSBRKP = 0x5425
|
||||||
|
|
|
@ -41,7 +41,7 @@ const (
|
||||||
AF_KEY = 0xf
|
AF_KEY = 0xf
|
||||||
AF_LLC = 0x1a
|
AF_LLC = 0x1a
|
||||||
AF_LOCAL = 0x1
|
AF_LOCAL = 0x1
|
||||||
AF_MAX = 0x2c
|
AF_MAX = 0x2d
|
||||||
AF_MPLS = 0x1c
|
AF_MPLS = 0x1c
|
||||||
AF_NETBEUI = 0xd
|
AF_NETBEUI = 0xd
|
||||||
AF_NETLINK = 0x10
|
AF_NETLINK = 0x10
|
||||||
|
@ -706,6 +706,7 @@ const (
|
||||||
IN_ISDIR = 0x40000000
|
IN_ISDIR = 0x40000000
|
||||||
IN_LOOPBACKNET = 0x7f
|
IN_LOOPBACKNET = 0x7f
|
||||||
IN_MASK_ADD = 0x20000000
|
IN_MASK_ADD = 0x20000000
|
||||||
|
IN_MASK_CREATE = 0x10000000
|
||||||
IN_MODIFY = 0x2
|
IN_MODIFY = 0x2
|
||||||
IN_MOVE = 0xc0
|
IN_MOVE = 0xc0
|
||||||
IN_MOVED_FROM = 0x40
|
IN_MOVED_FROM = 0x40
|
||||||
|
@ -777,6 +778,7 @@ const (
|
||||||
IPV6_MINHOPCOUNT = 0x49
|
IPV6_MINHOPCOUNT = 0x49
|
||||||
IPV6_MTU = 0x18
|
IPV6_MTU = 0x18
|
||||||
IPV6_MTU_DISCOVER = 0x17
|
IPV6_MTU_DISCOVER = 0x17
|
||||||
|
IPV6_MULTICAST_ALL = 0x1d
|
||||||
IPV6_MULTICAST_HOPS = 0x12
|
IPV6_MULTICAST_HOPS = 0x12
|
||||||
IPV6_MULTICAST_IF = 0x11
|
IPV6_MULTICAST_IF = 0x11
|
||||||
IPV6_MULTICAST_LOOP = 0x13
|
IPV6_MULTICAST_LOOP = 0x13
|
||||||
|
@ -1595,6 +1597,13 @@ const (
|
||||||
RLIMIT_SIGPENDING = 0xb
|
RLIMIT_SIGPENDING = 0xb
|
||||||
RLIMIT_STACK = 0x3
|
RLIMIT_STACK = 0x3
|
||||||
RLIM_INFINITY = 0xffffffffffffffff
|
RLIM_INFINITY = 0xffffffffffffffff
|
||||||
|
RNDADDENTROPY = 0x80085203
|
||||||
|
RNDADDTOENTCNT = 0x80045201
|
||||||
|
RNDCLEARPOOL = 0x20005206
|
||||||
|
RNDGETENTCNT = 0x40045200
|
||||||
|
RNDGETPOOL = 0x40085202
|
||||||
|
RNDRESEEDCRNG = 0x20005207
|
||||||
|
RNDZAPENTCNT = 0x20005204
|
||||||
RTAX_ADVMSS = 0x8
|
RTAX_ADVMSS = 0x8
|
||||||
RTAX_CC_ALGO = 0x10
|
RTAX_CC_ALGO = 0x10
|
||||||
RTAX_CWND = 0x7
|
RTAX_CWND = 0x7
|
||||||
|
@ -2107,6 +2116,7 @@ const (
|
||||||
TCOOFF = 0x0
|
TCOOFF = 0x0
|
||||||
TCOON = 0x1
|
TCOON = 0x1
|
||||||
TCP_CC_INFO = 0x1a
|
TCP_CC_INFO = 0x1a
|
||||||
|
TCP_CM_INQ = 0x24
|
||||||
TCP_CONGESTION = 0xd
|
TCP_CONGESTION = 0xd
|
||||||
TCP_COOKIE_IN_ALWAYS = 0x1
|
TCP_COOKIE_IN_ALWAYS = 0x1
|
||||||
TCP_COOKIE_MAX = 0x10
|
TCP_COOKIE_MAX = 0x10
|
||||||
|
@ -2121,6 +2131,7 @@ const (
|
||||||
TCP_FASTOPEN_KEY = 0x21
|
TCP_FASTOPEN_KEY = 0x21
|
||||||
TCP_FASTOPEN_NO_COOKIE = 0x22
|
TCP_FASTOPEN_NO_COOKIE = 0x22
|
||||||
TCP_INFO = 0xb
|
TCP_INFO = 0xb
|
||||||
|
TCP_INQ = 0x24
|
||||||
TCP_KEEPCNT = 0x6
|
TCP_KEEPCNT = 0x6
|
||||||
TCP_KEEPIDLE = 0x4
|
TCP_KEEPIDLE = 0x4
|
||||||
TCP_KEEPINTVL = 0x5
|
TCP_KEEPINTVL = 0x5
|
||||||
|
@ -2140,6 +2151,9 @@ const (
|
||||||
TCP_QUEUE_SEQ = 0x15
|
TCP_QUEUE_SEQ = 0x15
|
||||||
TCP_QUICKACK = 0xc
|
TCP_QUICKACK = 0xc
|
||||||
TCP_REPAIR = 0x13
|
TCP_REPAIR = 0x13
|
||||||
|
TCP_REPAIR_OFF = 0x0
|
||||||
|
TCP_REPAIR_OFF_NO_WP = -0x1
|
||||||
|
TCP_REPAIR_ON = 0x1
|
||||||
TCP_REPAIR_OPTIONS = 0x16
|
TCP_REPAIR_OPTIONS = 0x16
|
||||||
TCP_REPAIR_QUEUE = 0x14
|
TCP_REPAIR_QUEUE = 0x14
|
||||||
TCP_REPAIR_WINDOW = 0x1d
|
TCP_REPAIR_WINDOW = 0x1d
|
||||||
|
@ -2154,6 +2168,7 @@ const (
|
||||||
TCP_ULP = 0x1f
|
TCP_ULP = 0x1f
|
||||||
TCP_USER_TIMEOUT = 0x12
|
TCP_USER_TIMEOUT = 0x12
|
||||||
TCP_WINDOW_CLAMP = 0xa
|
TCP_WINDOW_CLAMP = 0xa
|
||||||
|
TCP_ZEROCOPY_RECEIVE = 0x23
|
||||||
TCSAFLUSH = 0x2
|
TCSAFLUSH = 0x2
|
||||||
TCSBRK = 0x2000741d
|
TCSBRK = 0x2000741d
|
||||||
TCSBRKP = 0x5425
|
TCSBRKP = 0x5425
|
||||||
|
|
|
@ -41,7 +41,7 @@ const (
|
||||||
AF_KEY = 0xf
|
AF_KEY = 0xf
|
||||||
AF_LLC = 0x1a
|
AF_LLC = 0x1a
|
||||||
AF_LOCAL = 0x1
|
AF_LOCAL = 0x1
|
||||||
AF_MAX = 0x2c
|
AF_MAX = 0x2d
|
||||||
AF_MPLS = 0x1c
|
AF_MPLS = 0x1c
|
||||||
AF_NETBEUI = 0xd
|
AF_NETBEUI = 0xd
|
||||||
AF_NETLINK = 0x10
|
AF_NETLINK = 0x10
|
||||||
|
@ -706,6 +706,7 @@ const (
|
||||||
IN_ISDIR = 0x40000000
|
IN_ISDIR = 0x40000000
|
||||||
IN_LOOPBACKNET = 0x7f
|
IN_LOOPBACKNET = 0x7f
|
||||||
IN_MASK_ADD = 0x20000000
|
IN_MASK_ADD = 0x20000000
|
||||||
|
IN_MASK_CREATE = 0x10000000
|
||||||
IN_MODIFY = 0x2
|
IN_MODIFY = 0x2
|
||||||
IN_MOVE = 0xc0
|
IN_MOVE = 0xc0
|
||||||
IN_MOVED_FROM = 0x40
|
IN_MOVED_FROM = 0x40
|
||||||
|
@ -777,6 +778,7 @@ const (
|
||||||
IPV6_MINHOPCOUNT = 0x49
|
IPV6_MINHOPCOUNT = 0x49
|
||||||
IPV6_MTU = 0x18
|
IPV6_MTU = 0x18
|
||||||
IPV6_MTU_DISCOVER = 0x17
|
IPV6_MTU_DISCOVER = 0x17
|
||||||
|
IPV6_MULTICAST_ALL = 0x1d
|
||||||
IPV6_MULTICAST_HOPS = 0x12
|
IPV6_MULTICAST_HOPS = 0x12
|
||||||
IPV6_MULTICAST_IF = 0x11
|
IPV6_MULTICAST_IF = 0x11
|
||||||
IPV6_MULTICAST_LOOP = 0x13
|
IPV6_MULTICAST_LOOP = 0x13
|
||||||
|
@ -1525,6 +1527,13 @@ const (
|
||||||
RLIMIT_SIGPENDING = 0xb
|
RLIMIT_SIGPENDING = 0xb
|
||||||
RLIMIT_STACK = 0x3
|
RLIMIT_STACK = 0x3
|
||||||
RLIM_INFINITY = 0xffffffffffffffff
|
RLIM_INFINITY = 0xffffffffffffffff
|
||||||
|
RNDADDENTROPY = 0x40085203
|
||||||
|
RNDADDTOENTCNT = 0x40045201
|
||||||
|
RNDCLEARPOOL = 0x5206
|
||||||
|
RNDGETENTCNT = 0x80045200
|
||||||
|
RNDGETPOOL = 0x80085202
|
||||||
|
RNDRESEEDCRNG = 0x5207
|
||||||
|
RNDZAPENTCNT = 0x5204
|
||||||
RTAX_ADVMSS = 0x8
|
RTAX_ADVMSS = 0x8
|
||||||
RTAX_CC_ALGO = 0x10
|
RTAX_CC_ALGO = 0x10
|
||||||
RTAX_CWND = 0x7
|
RTAX_CWND = 0x7
|
||||||
|
@ -2039,6 +2048,7 @@ const (
|
||||||
TCOOFF = 0x0
|
TCOOFF = 0x0
|
||||||
TCOON = 0x1
|
TCOON = 0x1
|
||||||
TCP_CC_INFO = 0x1a
|
TCP_CC_INFO = 0x1a
|
||||||
|
TCP_CM_INQ = 0x24
|
||||||
TCP_CONGESTION = 0xd
|
TCP_CONGESTION = 0xd
|
||||||
TCP_COOKIE_IN_ALWAYS = 0x1
|
TCP_COOKIE_IN_ALWAYS = 0x1
|
||||||
TCP_COOKIE_MAX = 0x10
|
TCP_COOKIE_MAX = 0x10
|
||||||
|
@ -2053,6 +2063,7 @@ const (
|
||||||
TCP_FASTOPEN_KEY = 0x21
|
TCP_FASTOPEN_KEY = 0x21
|
||||||
TCP_FASTOPEN_NO_COOKIE = 0x22
|
TCP_FASTOPEN_NO_COOKIE = 0x22
|
||||||
TCP_INFO = 0xb
|
TCP_INFO = 0xb
|
||||||
|
TCP_INQ = 0x24
|
||||||
TCP_KEEPCNT = 0x6
|
TCP_KEEPCNT = 0x6
|
||||||
TCP_KEEPIDLE = 0x4
|
TCP_KEEPIDLE = 0x4
|
||||||
TCP_KEEPINTVL = 0x5
|
TCP_KEEPINTVL = 0x5
|
||||||
|
@ -2072,6 +2083,9 @@ const (
|
||||||
TCP_QUEUE_SEQ = 0x15
|
TCP_QUEUE_SEQ = 0x15
|
||||||
TCP_QUICKACK = 0xc
|
TCP_QUICKACK = 0xc
|
||||||
TCP_REPAIR = 0x13
|
TCP_REPAIR = 0x13
|
||||||
|
TCP_REPAIR_OFF = 0x0
|
||||||
|
TCP_REPAIR_OFF_NO_WP = -0x1
|
||||||
|
TCP_REPAIR_ON = 0x1
|
||||||
TCP_REPAIR_OPTIONS = 0x16
|
TCP_REPAIR_OPTIONS = 0x16
|
||||||
TCP_REPAIR_QUEUE = 0x14
|
TCP_REPAIR_QUEUE = 0x14
|
||||||
TCP_REPAIR_WINDOW = 0x1d
|
TCP_REPAIR_WINDOW = 0x1d
|
||||||
|
@ -2086,6 +2100,7 @@ const (
|
||||||
TCP_ULP = 0x1f
|
TCP_ULP = 0x1f
|
||||||
TCP_USER_TIMEOUT = 0x12
|
TCP_USER_TIMEOUT = 0x12
|
||||||
TCP_WINDOW_CLAMP = 0xa
|
TCP_WINDOW_CLAMP = 0xa
|
||||||
|
TCP_ZEROCOPY_RECEIVE = 0x23
|
||||||
TCSAFLUSH = 0x2
|
TCSAFLUSH = 0x2
|
||||||
TCSBRK = 0x5409
|
TCSBRK = 0x5409
|
||||||
TCSBRKP = 0x5425
|
TCSBRKP = 0x5425
|
||||||
|
|
|
@ -41,7 +41,7 @@ const (
|
||||||
AF_KEY = 0xf
|
AF_KEY = 0xf
|
||||||
AF_LLC = 0x1a
|
AF_LLC = 0x1a
|
||||||
AF_LOCAL = 0x1
|
AF_LOCAL = 0x1
|
||||||
AF_MAX = 0x2c
|
AF_MAX = 0x2d
|
||||||
AF_MPLS = 0x1c
|
AF_MPLS = 0x1c
|
||||||
AF_NETBEUI = 0xd
|
AF_NETBEUI = 0xd
|
||||||
AF_NETLINK = 0x10
|
AF_NETLINK = 0x10
|
||||||
|
@ -706,6 +706,7 @@ const (
|
||||||
IN_ISDIR = 0x40000000
|
IN_ISDIR = 0x40000000
|
||||||
IN_LOOPBACKNET = 0x7f
|
IN_LOOPBACKNET = 0x7f
|
||||||
IN_MASK_ADD = 0x20000000
|
IN_MASK_ADD = 0x20000000
|
||||||
|
IN_MASK_CREATE = 0x10000000
|
||||||
IN_MODIFY = 0x2
|
IN_MODIFY = 0x2
|
||||||
IN_MOVE = 0xc0
|
IN_MOVE = 0xc0
|
||||||
IN_MOVED_FROM = 0x40
|
IN_MOVED_FROM = 0x40
|
||||||
|
@ -777,6 +778,7 @@ const (
|
||||||
IPV6_MINHOPCOUNT = 0x49
|
IPV6_MINHOPCOUNT = 0x49
|
||||||
IPV6_MTU = 0x18
|
IPV6_MTU = 0x18
|
||||||
IPV6_MTU_DISCOVER = 0x17
|
IPV6_MTU_DISCOVER = 0x17
|
||||||
|
IPV6_MULTICAST_ALL = 0x1d
|
||||||
IPV6_MULTICAST_HOPS = 0x12
|
IPV6_MULTICAST_HOPS = 0x12
|
||||||
IPV6_MULTICAST_IF = 0x11
|
IPV6_MULTICAST_IF = 0x11
|
||||||
IPV6_MULTICAST_LOOP = 0x13
|
IPV6_MULTICAST_LOOP = 0x13
|
||||||
|
@ -1598,6 +1600,13 @@ const (
|
||||||
RLIMIT_SIGPENDING = 0xb
|
RLIMIT_SIGPENDING = 0xb
|
||||||
RLIMIT_STACK = 0x3
|
RLIMIT_STACK = 0x3
|
||||||
RLIM_INFINITY = 0xffffffffffffffff
|
RLIM_INFINITY = 0xffffffffffffffff
|
||||||
|
RNDADDENTROPY = 0x40085203
|
||||||
|
RNDADDTOENTCNT = 0x40045201
|
||||||
|
RNDCLEARPOOL = 0x5206
|
||||||
|
RNDGETENTCNT = 0x80045200
|
||||||
|
RNDGETPOOL = 0x80085202
|
||||||
|
RNDRESEEDCRNG = 0x5207
|
||||||
|
RNDZAPENTCNT = 0x5204
|
||||||
RTAX_ADVMSS = 0x8
|
RTAX_ADVMSS = 0x8
|
||||||
RTAX_CC_ALGO = 0x10
|
RTAX_CC_ALGO = 0x10
|
||||||
RTAX_CWND = 0x7
|
RTAX_CWND = 0x7
|
||||||
|
@ -2112,6 +2121,7 @@ const (
|
||||||
TCOOFF = 0x0
|
TCOOFF = 0x0
|
||||||
TCOON = 0x1
|
TCOON = 0x1
|
||||||
TCP_CC_INFO = 0x1a
|
TCP_CC_INFO = 0x1a
|
||||||
|
TCP_CM_INQ = 0x24
|
||||||
TCP_CONGESTION = 0xd
|
TCP_CONGESTION = 0xd
|
||||||
TCP_COOKIE_IN_ALWAYS = 0x1
|
TCP_COOKIE_IN_ALWAYS = 0x1
|
||||||
TCP_COOKIE_MAX = 0x10
|
TCP_COOKIE_MAX = 0x10
|
||||||
|
@ -2126,6 +2136,7 @@ const (
|
||||||
TCP_FASTOPEN_KEY = 0x21
|
TCP_FASTOPEN_KEY = 0x21
|
||||||
TCP_FASTOPEN_NO_COOKIE = 0x22
|
TCP_FASTOPEN_NO_COOKIE = 0x22
|
||||||
TCP_INFO = 0xb
|
TCP_INFO = 0xb
|
||||||
|
TCP_INQ = 0x24
|
||||||
TCP_KEEPCNT = 0x6
|
TCP_KEEPCNT = 0x6
|
||||||
TCP_KEEPIDLE = 0x4
|
TCP_KEEPIDLE = 0x4
|
||||||
TCP_KEEPINTVL = 0x5
|
TCP_KEEPINTVL = 0x5
|
||||||
|
@ -2145,6 +2156,9 @@ const (
|
||||||
TCP_QUEUE_SEQ = 0x15
|
TCP_QUEUE_SEQ = 0x15
|
||||||
TCP_QUICKACK = 0xc
|
TCP_QUICKACK = 0xc
|
||||||
TCP_REPAIR = 0x13
|
TCP_REPAIR = 0x13
|
||||||
|
TCP_REPAIR_OFF = 0x0
|
||||||
|
TCP_REPAIR_OFF_NO_WP = -0x1
|
||||||
|
TCP_REPAIR_ON = 0x1
|
||||||
TCP_REPAIR_OPTIONS = 0x16
|
TCP_REPAIR_OPTIONS = 0x16
|
||||||
TCP_REPAIR_QUEUE = 0x14
|
TCP_REPAIR_QUEUE = 0x14
|
||||||
TCP_REPAIR_WINDOW = 0x1d
|
TCP_REPAIR_WINDOW = 0x1d
|
||||||
|
@ -2159,6 +2173,7 @@ const (
|
||||||
TCP_ULP = 0x1f
|
TCP_ULP = 0x1f
|
||||||
TCP_USER_TIMEOUT = 0x12
|
TCP_USER_TIMEOUT = 0x12
|
||||||
TCP_WINDOW_CLAMP = 0xa
|
TCP_WINDOW_CLAMP = 0xa
|
||||||
|
TCP_ZEROCOPY_RECEIVE = 0x23
|
||||||
TCSAFLUSH = 0x2
|
TCSAFLUSH = 0x2
|
||||||
TCSBRK = 0x5409
|
TCSBRK = 0x5409
|
||||||
TCSBRKP = 0x5425
|
TCSBRKP = 0x5425
|
||||||
|
|
|
@ -41,7 +41,7 @@ const (
|
||||||
AF_KEY = 0xf
|
AF_KEY = 0xf
|
||||||
AF_LLC = 0x1a
|
AF_LLC = 0x1a
|
||||||
AF_LOCAL = 0x1
|
AF_LOCAL = 0x1
|
||||||
AF_MAX = 0x2c
|
AF_MAX = 0x2d
|
||||||
AF_MPLS = 0x1c
|
AF_MPLS = 0x1c
|
||||||
AF_NETBEUI = 0xd
|
AF_NETBEUI = 0xd
|
||||||
AF_NETLINK = 0x10
|
AF_NETLINK = 0x10
|
||||||
|
@ -710,6 +710,7 @@ const (
|
||||||
IN_ISDIR = 0x40000000
|
IN_ISDIR = 0x40000000
|
||||||
IN_LOOPBACKNET = 0x7f
|
IN_LOOPBACKNET = 0x7f
|
||||||
IN_MASK_ADD = 0x20000000
|
IN_MASK_ADD = 0x20000000
|
||||||
|
IN_MASK_CREATE = 0x10000000
|
||||||
IN_MODIFY = 0x2
|
IN_MODIFY = 0x2
|
||||||
IN_MOVE = 0xc0
|
IN_MOVE = 0xc0
|
||||||
IN_MOVED_FROM = 0x40
|
IN_MOVED_FROM = 0x40
|
||||||
|
@ -781,6 +782,7 @@ const (
|
||||||
IPV6_MINHOPCOUNT = 0x49
|
IPV6_MINHOPCOUNT = 0x49
|
||||||
IPV6_MTU = 0x18
|
IPV6_MTU = 0x18
|
||||||
IPV6_MTU_DISCOVER = 0x17
|
IPV6_MTU_DISCOVER = 0x17
|
||||||
|
IPV6_MULTICAST_ALL = 0x1d
|
||||||
IPV6_MULTICAST_HOPS = 0x12
|
IPV6_MULTICAST_HOPS = 0x12
|
||||||
IPV6_MULTICAST_IF = 0x11
|
IPV6_MULTICAST_IF = 0x11
|
||||||
IPV6_MULTICAST_LOOP = 0x13
|
IPV6_MULTICAST_LOOP = 0x13
|
||||||
|
@ -1590,6 +1592,13 @@ const (
|
||||||
RLIMIT_SIGPENDING = 0xb
|
RLIMIT_SIGPENDING = 0xb
|
||||||
RLIMIT_STACK = 0x3
|
RLIMIT_STACK = 0x3
|
||||||
RLIM_INFINITY = 0xffffffffffffffff
|
RLIM_INFINITY = 0xffffffffffffffff
|
||||||
|
RNDADDENTROPY = 0x80085203
|
||||||
|
RNDADDTOENTCNT = 0x80045201
|
||||||
|
RNDCLEARPOOL = 0x20005206
|
||||||
|
RNDGETENTCNT = 0x40045200
|
||||||
|
RNDGETPOOL = 0x40085202
|
||||||
|
RNDRESEEDCRNG = 0x20005207
|
||||||
|
RNDZAPENTCNT = 0x20005204
|
||||||
RTAX_ADVMSS = 0x8
|
RTAX_ADVMSS = 0x8
|
||||||
RTAX_CC_ALGO = 0x10
|
RTAX_CC_ALGO = 0x10
|
||||||
RTAX_CWND = 0x7
|
RTAX_CWND = 0x7
|
||||||
|
@ -2103,6 +2112,7 @@ const (
|
||||||
TCOOFF = 0x0
|
TCOOFF = 0x0
|
||||||
TCOON = 0x1
|
TCOON = 0x1
|
||||||
TCP_CC_INFO = 0x1a
|
TCP_CC_INFO = 0x1a
|
||||||
|
TCP_CM_INQ = 0x24
|
||||||
TCP_CONGESTION = 0xd
|
TCP_CONGESTION = 0xd
|
||||||
TCP_COOKIE_IN_ALWAYS = 0x1
|
TCP_COOKIE_IN_ALWAYS = 0x1
|
||||||
TCP_COOKIE_MAX = 0x10
|
TCP_COOKIE_MAX = 0x10
|
||||||
|
@ -2117,6 +2127,7 @@ const (
|
||||||
TCP_FASTOPEN_KEY = 0x21
|
TCP_FASTOPEN_KEY = 0x21
|
||||||
TCP_FASTOPEN_NO_COOKIE = 0x22
|
TCP_FASTOPEN_NO_COOKIE = 0x22
|
||||||
TCP_INFO = 0xb
|
TCP_INFO = 0xb
|
||||||
|
TCP_INQ = 0x24
|
||||||
TCP_KEEPCNT = 0x6
|
TCP_KEEPCNT = 0x6
|
||||||
TCP_KEEPIDLE = 0x4
|
TCP_KEEPIDLE = 0x4
|
||||||
TCP_KEEPINTVL = 0x5
|
TCP_KEEPINTVL = 0x5
|
||||||
|
@ -2136,6 +2147,9 @@ const (
|
||||||
TCP_QUEUE_SEQ = 0x15
|
TCP_QUEUE_SEQ = 0x15
|
||||||
TCP_QUICKACK = 0xc
|
TCP_QUICKACK = 0xc
|
||||||
TCP_REPAIR = 0x13
|
TCP_REPAIR = 0x13
|
||||||
|
TCP_REPAIR_OFF = 0x0
|
||||||
|
TCP_REPAIR_OFF_NO_WP = -0x1
|
||||||
|
TCP_REPAIR_ON = 0x1
|
||||||
TCP_REPAIR_OPTIONS = 0x16
|
TCP_REPAIR_OPTIONS = 0x16
|
||||||
TCP_REPAIR_QUEUE = 0x14
|
TCP_REPAIR_QUEUE = 0x14
|
||||||
TCP_REPAIR_WINDOW = 0x1d
|
TCP_REPAIR_WINDOW = 0x1d
|
||||||
|
@ -2150,6 +2164,7 @@ const (
|
||||||
TCP_ULP = 0x1f
|
TCP_ULP = 0x1f
|
||||||
TCP_USER_TIMEOUT = 0x12
|
TCP_USER_TIMEOUT = 0x12
|
||||||
TCP_WINDOW_CLAMP = 0xa
|
TCP_WINDOW_CLAMP = 0xa
|
||||||
|
TCP_ZEROCOPY_RECEIVE = 0x23
|
||||||
TCSAFLUSH = 0x2
|
TCSAFLUSH = 0x2
|
||||||
TCSBRK = 0x20005405
|
TCSBRK = 0x20005405
|
||||||
TCSBRKP = 0x5425
|
TCSBRKP = 0x5425
|
||||||
|
|
|
@ -943,6 +943,21 @@ func libc_chroot_trampoline()
|
||||||
|
|
||||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
|
func ClockGettime(clockid int32, time *Timespec) (err error) {
|
||||||
|
_, _, e1 := syscall_syscall(funcPC(libc_clock_gettime_trampoline), uintptr(clockid), uintptr(unsafe.Pointer(time)), 0)
|
||||||
|
if e1 != 0 {
|
||||||
|
err = errnoErr(e1)
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
func libc_clock_gettime_trampoline()
|
||||||
|
|
||||||
|
//go:linkname libc_clock_gettime libc_clock_gettime
|
||||||
|
//go:cgo_import_dynamic libc_clock_gettime clock_gettime "/usr/lib/libSystem.B.dylib"
|
||||||
|
|
||||||
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
func Close(fd int) (err error) {
|
func Close(fd int) (err error) {
|
||||||
_, _, e1 := syscall_syscall(funcPC(libc_close_trampoline), uintptr(fd), 0, 0)
|
_, _, e1 := syscall_syscall(funcPC(libc_close_trampoline), uintptr(fd), 0, 0)
|
||||||
if e1 != 0 {
|
if e1 != 0 {
|
||||||
|
|
|
@ -108,6 +108,8 @@ TEXT ·libc_chown_trampoline(SB),NOSPLIT,$0-0
|
||||||
JMP libc_chown(SB)
|
JMP libc_chown(SB)
|
||||||
TEXT ·libc_chroot_trampoline(SB),NOSPLIT,$0-0
|
TEXT ·libc_chroot_trampoline(SB),NOSPLIT,$0-0
|
||||||
JMP libc_chroot(SB)
|
JMP libc_chroot(SB)
|
||||||
|
TEXT ·libc_clock_gettime_trampoline(SB),NOSPLIT,$0-0
|
||||||
|
JMP libc_clock_gettime(SB)
|
||||||
TEXT ·libc_close_trampoline(SB),NOSPLIT,$0-0
|
TEXT ·libc_close_trampoline(SB),NOSPLIT,$0-0
|
||||||
JMP libc_close(SB)
|
JMP libc_close(SB)
|
||||||
TEXT ·libc_dup_trampoline(SB),NOSPLIT,$0-0
|
TEXT ·libc_dup_trampoline(SB),NOSPLIT,$0-0
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
// mksyscall_solaris.pl -tags solaris,amd64 syscall_solaris.go syscall_solaris_amd64.go
|
// go run mksyscall_solaris.go -tags solaris,amd64 syscall_solaris.go syscall_solaris_amd64.go
|
||||||
// Code generated by the command above; see README.md. DO NOT EDIT.
|
// Code generated by the command above; see README.md. DO NOT EDIT.
|
||||||
|
|
||||||
// +build solaris,amd64
|
// +build solaris,amd64
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
// go run mksysnum.go /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/usr/include/sys/syscall.h
|
// go run mksysnum.go /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/sys/syscall.h
|
||||||
// Code generated by the command above; see README.md. DO NOT EDIT.
|
// Code generated by the command above; see README.md. DO NOT EDIT.
|
||||||
|
|
||||||
// +build amd64,darwin
|
// +build amd64,darwin
|
||||||
|
@ -431,6 +431,8 @@ const (
|
||||||
SYS_NTP_ADJTIME = 527
|
SYS_NTP_ADJTIME = 527
|
||||||
SYS_NTP_GETTIME = 528
|
SYS_NTP_GETTIME = 528
|
||||||
SYS_OS_FAULT_WITH_PAYLOAD = 529
|
SYS_OS_FAULT_WITH_PAYLOAD = 529
|
||||||
SYS_MAXSYSCALL = 530
|
SYS_KQUEUE_WORKLOOP_CTL = 530
|
||||||
|
SYS___MACH_BRIDGE_REMOTE_TIME = 531
|
||||||
|
SYS_MAXSYSCALL = 532
|
||||||
SYS_INVALID = 63
|
SYS_INVALID = 63
|
||||||
)
|
)
|
||||||
|
|
|
@ -760,27 +760,30 @@ type Sigset_t struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
type SignalfdSiginfo struct {
|
type SignalfdSiginfo struct {
|
||||||
Signo uint32
|
Signo uint32
|
||||||
Errno int32
|
Errno int32
|
||||||
Code int32
|
Code int32
|
||||||
Pid uint32
|
Pid uint32
|
||||||
Uid uint32
|
Uid uint32
|
||||||
Fd int32
|
Fd int32
|
||||||
Tid uint32
|
Tid uint32
|
||||||
Band uint32
|
Band uint32
|
||||||
Overrun uint32
|
Overrun uint32
|
||||||
Trapno uint32
|
Trapno uint32
|
||||||
Status int32
|
Status int32
|
||||||
Int int32
|
Int int32
|
||||||
Ptr uint64
|
Ptr uint64
|
||||||
Utime uint64
|
Utime uint64
|
||||||
Stime uint64
|
Stime uint64
|
||||||
Addr uint64
|
Addr uint64
|
||||||
_ [48]uint8
|
Addr_lsb uint16
|
||||||
|
_ uint16
|
||||||
|
Syscall int32
|
||||||
|
Call_addr uint64
|
||||||
|
Arch uint32
|
||||||
|
_ [28]uint8
|
||||||
}
|
}
|
||||||
|
|
||||||
const RNDGETENTCNT = 0x80045200
|
|
||||||
|
|
||||||
const PERF_IOC_FLAG_GROUP = 0x1
|
const PERF_IOC_FLAG_GROUP = 0x1
|
||||||
|
|
||||||
type Termios struct {
|
type Termios struct {
|
||||||
|
|
|
@ -773,27 +773,30 @@ type Sigset_t struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
type SignalfdSiginfo struct {
|
type SignalfdSiginfo struct {
|
||||||
Signo uint32
|
Signo uint32
|
||||||
Errno int32
|
Errno int32
|
||||||
Code int32
|
Code int32
|
||||||
Pid uint32
|
Pid uint32
|
||||||
Uid uint32
|
Uid uint32
|
||||||
Fd int32
|
Fd int32
|
||||||
Tid uint32
|
Tid uint32
|
||||||
Band uint32
|
Band uint32
|
||||||
Overrun uint32
|
Overrun uint32
|
||||||
Trapno uint32
|
Trapno uint32
|
||||||
Status int32
|
Status int32
|
||||||
Int int32
|
Int int32
|
||||||
Ptr uint64
|
Ptr uint64
|
||||||
Utime uint64
|
Utime uint64
|
||||||
Stime uint64
|
Stime uint64
|
||||||
Addr uint64
|
Addr uint64
|
||||||
_ [48]uint8
|
Addr_lsb uint16
|
||||||
|
_ uint16
|
||||||
|
Syscall int32
|
||||||
|
Call_addr uint64
|
||||||
|
Arch uint32
|
||||||
|
_ [28]uint8
|
||||||
}
|
}
|
||||||
|
|
||||||
const RNDGETENTCNT = 0x80045200
|
|
||||||
|
|
||||||
const PERF_IOC_FLAG_GROUP = 0x1
|
const PERF_IOC_FLAG_GROUP = 0x1
|
||||||
|
|
||||||
type Termios struct {
|
type Termios struct {
|
||||||
|
|
|
@ -749,27 +749,30 @@ type Sigset_t struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
type SignalfdSiginfo struct {
|
type SignalfdSiginfo struct {
|
||||||
Signo uint32
|
Signo uint32
|
||||||
Errno int32
|
Errno int32
|
||||||
Code int32
|
Code int32
|
||||||
Pid uint32
|
Pid uint32
|
||||||
Uid uint32
|
Uid uint32
|
||||||
Fd int32
|
Fd int32
|
||||||
Tid uint32
|
Tid uint32
|
||||||
Band uint32
|
Band uint32
|
||||||
Overrun uint32
|
Overrun uint32
|
||||||
Trapno uint32
|
Trapno uint32
|
||||||
Status int32
|
Status int32
|
||||||
Int int32
|
Int int32
|
||||||
Ptr uint64
|
Ptr uint64
|
||||||
Utime uint64
|
Utime uint64
|
||||||
Stime uint64
|
Stime uint64
|
||||||
Addr uint64
|
Addr uint64
|
||||||
_ [48]uint8
|
Addr_lsb uint16
|
||||||
|
_ uint16
|
||||||
|
Syscall int32
|
||||||
|
Call_addr uint64
|
||||||
|
Arch uint32
|
||||||
|
_ [28]uint8
|
||||||
}
|
}
|
||||||
|
|
||||||
const RNDGETENTCNT = 0x80045200
|
|
||||||
|
|
||||||
const PERF_IOC_FLAG_GROUP = 0x1
|
const PERF_IOC_FLAG_GROUP = 0x1
|
||||||
|
|
||||||
type Termios struct {
|
type Termios struct {
|
||||||
|
|
|
@ -752,27 +752,30 @@ type Sigset_t struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
type SignalfdSiginfo struct {
|
type SignalfdSiginfo struct {
|
||||||
Signo uint32
|
Signo uint32
|
||||||
Errno int32
|
Errno int32
|
||||||
Code int32
|
Code int32
|
||||||
Pid uint32
|
Pid uint32
|
||||||
Uid uint32
|
Uid uint32
|
||||||
Fd int32
|
Fd int32
|
||||||
Tid uint32
|
Tid uint32
|
||||||
Band uint32
|
Band uint32
|
||||||
Overrun uint32
|
Overrun uint32
|
||||||
Trapno uint32
|
Trapno uint32
|
||||||
Status int32
|
Status int32
|
||||||
Int int32
|
Int int32
|
||||||
Ptr uint64
|
Ptr uint64
|
||||||
Utime uint64
|
Utime uint64
|
||||||
Stime uint64
|
Stime uint64
|
||||||
Addr uint64
|
Addr uint64
|
||||||
_ [48]uint8
|
Addr_lsb uint16
|
||||||
|
_ uint16
|
||||||
|
Syscall int32
|
||||||
|
Call_addr uint64
|
||||||
|
Arch uint32
|
||||||
|
_ [28]uint8
|
||||||
}
|
}
|
||||||
|
|
||||||
const RNDGETENTCNT = 0x80045200
|
|
||||||
|
|
||||||
const PERF_IOC_FLAG_GROUP = 0x1
|
const PERF_IOC_FLAG_GROUP = 0x1
|
||||||
|
|
||||||
type Termios struct {
|
type Termios struct {
|
||||||
|
|
|
@ -754,27 +754,30 @@ type Sigset_t struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
type SignalfdSiginfo struct {
|
type SignalfdSiginfo struct {
|
||||||
Signo uint32
|
Signo uint32
|
||||||
Errno int32
|
Errno int32
|
||||||
Code int32
|
Code int32
|
||||||
Pid uint32
|
Pid uint32
|
||||||
Uid uint32
|
Uid uint32
|
||||||
Fd int32
|
Fd int32
|
||||||
Tid uint32
|
Tid uint32
|
||||||
Band uint32
|
Band uint32
|
||||||
Overrun uint32
|
Overrun uint32
|
||||||
Trapno uint32
|
Trapno uint32
|
||||||
Status int32
|
Status int32
|
||||||
Int int32
|
Int int32
|
||||||
Ptr uint64
|
Ptr uint64
|
||||||
Utime uint64
|
Utime uint64
|
||||||
Stime uint64
|
Stime uint64
|
||||||
Addr uint64
|
Addr uint64
|
||||||
_ [48]uint8
|
Addr_lsb uint16
|
||||||
|
_ uint16
|
||||||
|
Syscall int32
|
||||||
|
Call_addr uint64
|
||||||
|
Arch uint32
|
||||||
|
_ [28]uint8
|
||||||
}
|
}
|
||||||
|
|
||||||
const RNDGETENTCNT = 0x40045200
|
|
||||||
|
|
||||||
const PERF_IOC_FLAG_GROUP = 0x1
|
const PERF_IOC_FLAG_GROUP = 0x1
|
||||||
|
|
||||||
type Termios struct {
|
type Termios struct {
|
||||||
|
|
|
@ -754,27 +754,30 @@ type Sigset_t struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
type SignalfdSiginfo struct {
|
type SignalfdSiginfo struct {
|
||||||
Signo uint32
|
Signo uint32
|
||||||
Errno int32
|
Errno int32
|
||||||
Code int32
|
Code int32
|
||||||
Pid uint32
|
Pid uint32
|
||||||
Uid uint32
|
Uid uint32
|
||||||
Fd int32
|
Fd int32
|
||||||
Tid uint32
|
Tid uint32
|
||||||
Band uint32
|
Band uint32
|
||||||
Overrun uint32
|
Overrun uint32
|
||||||
Trapno uint32
|
Trapno uint32
|
||||||
Status int32
|
Status int32
|
||||||
Int int32
|
Int int32
|
||||||
Ptr uint64
|
Ptr uint64
|
||||||
Utime uint64
|
Utime uint64
|
||||||
Stime uint64
|
Stime uint64
|
||||||
Addr uint64
|
Addr uint64
|
||||||
_ [48]uint8
|
Addr_lsb uint16
|
||||||
|
_ uint16
|
||||||
|
Syscall int32
|
||||||
|
Call_addr uint64
|
||||||
|
Arch uint32
|
||||||
|
_ [28]uint8
|
||||||
}
|
}
|
||||||
|
|
||||||
const RNDGETENTCNT = 0x40045200
|
|
||||||
|
|
||||||
const PERF_IOC_FLAG_GROUP = 0x1
|
const PERF_IOC_FLAG_GROUP = 0x1
|
||||||
|
|
||||||
type Termios struct {
|
type Termios struct {
|
||||||
|
|
|
@ -754,27 +754,30 @@ type Sigset_t struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
type SignalfdSiginfo struct {
|
type SignalfdSiginfo struct {
|
||||||
Signo uint32
|
Signo uint32
|
||||||
Errno int32
|
Errno int32
|
||||||
Code int32
|
Code int32
|
||||||
Pid uint32
|
Pid uint32
|
||||||
Uid uint32
|
Uid uint32
|
||||||
Fd int32
|
Fd int32
|
||||||
Tid uint32
|
Tid uint32
|
||||||
Band uint32
|
Band uint32
|
||||||
Overrun uint32
|
Overrun uint32
|
||||||
Trapno uint32
|
Trapno uint32
|
||||||
Status int32
|
Status int32
|
||||||
Int int32
|
Int int32
|
||||||
Ptr uint64
|
Ptr uint64
|
||||||
Utime uint64
|
Utime uint64
|
||||||
Stime uint64
|
Stime uint64
|
||||||
Addr uint64
|
Addr uint64
|
||||||
_ [48]uint8
|
Addr_lsb uint16
|
||||||
|
_ uint16
|
||||||
|
Syscall int32
|
||||||
|
Call_addr uint64
|
||||||
|
Arch uint32
|
||||||
|
_ [28]uint8
|
||||||
}
|
}
|
||||||
|
|
||||||
const RNDGETENTCNT = 0x40045200
|
|
||||||
|
|
||||||
const PERF_IOC_FLAG_GROUP = 0x1
|
const PERF_IOC_FLAG_GROUP = 0x1
|
||||||
|
|
||||||
type Termios struct {
|
type Termios struct {
|
||||||
|
|
|
@ -754,27 +754,30 @@ type Sigset_t struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
type SignalfdSiginfo struct {
|
type SignalfdSiginfo struct {
|
||||||
Signo uint32
|
Signo uint32
|
||||||
Errno int32
|
Errno int32
|
||||||
Code int32
|
Code int32
|
||||||
Pid uint32
|
Pid uint32
|
||||||
Uid uint32
|
Uid uint32
|
||||||
Fd int32
|
Fd int32
|
||||||
Tid uint32
|
Tid uint32
|
||||||
Band uint32
|
Band uint32
|
||||||
Overrun uint32
|
Overrun uint32
|
||||||
Trapno uint32
|
Trapno uint32
|
||||||
Status int32
|
Status int32
|
||||||
Int int32
|
Int int32
|
||||||
Ptr uint64
|
Ptr uint64
|
||||||
Utime uint64
|
Utime uint64
|
||||||
Stime uint64
|
Stime uint64
|
||||||
Addr uint64
|
Addr uint64
|
||||||
_ [48]uint8
|
Addr_lsb uint16
|
||||||
|
_ uint16
|
||||||
|
Syscall int32
|
||||||
|
Call_addr uint64
|
||||||
|
Arch uint32
|
||||||
|
_ [28]uint8
|
||||||
}
|
}
|
||||||
|
|
||||||
const RNDGETENTCNT = 0x40045200
|
|
||||||
|
|
||||||
const PERF_IOC_FLAG_GROUP = 0x1
|
const PERF_IOC_FLAG_GROUP = 0x1
|
||||||
|
|
||||||
type Termios struct {
|
type Termios struct {
|
||||||
|
|
|
@ -762,27 +762,30 @@ type Sigset_t struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
type SignalfdSiginfo struct {
|
type SignalfdSiginfo struct {
|
||||||
Signo uint32
|
Signo uint32
|
||||||
Errno int32
|
Errno int32
|
||||||
Code int32
|
Code int32
|
||||||
Pid uint32
|
Pid uint32
|
||||||
Uid uint32
|
Uid uint32
|
||||||
Fd int32
|
Fd int32
|
||||||
Tid uint32
|
Tid uint32
|
||||||
Band uint32
|
Band uint32
|
||||||
Overrun uint32
|
Overrun uint32
|
||||||
Trapno uint32
|
Trapno uint32
|
||||||
Status int32
|
Status int32
|
||||||
Int int32
|
Int int32
|
||||||
Ptr uint64
|
Ptr uint64
|
||||||
Utime uint64
|
Utime uint64
|
||||||
Stime uint64
|
Stime uint64
|
||||||
Addr uint64
|
Addr uint64
|
||||||
_ [48]uint8
|
Addr_lsb uint16
|
||||||
|
_ uint16
|
||||||
|
Syscall int32
|
||||||
|
Call_addr uint64
|
||||||
|
Arch uint32
|
||||||
|
_ [28]uint8
|
||||||
}
|
}
|
||||||
|
|
||||||
const RNDGETENTCNT = 0x40045200
|
|
||||||
|
|
||||||
const PERF_IOC_FLAG_GROUP = 0x1
|
const PERF_IOC_FLAG_GROUP = 0x1
|
||||||
|
|
||||||
type Termios struct {
|
type Termios struct {
|
||||||
|
|
|
@ -762,27 +762,30 @@ type Sigset_t struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
type SignalfdSiginfo struct {
|
type SignalfdSiginfo struct {
|
||||||
Signo uint32
|
Signo uint32
|
||||||
Errno int32
|
Errno int32
|
||||||
Code int32
|
Code int32
|
||||||
Pid uint32
|
Pid uint32
|
||||||
Uid uint32
|
Uid uint32
|
||||||
Fd int32
|
Fd int32
|
||||||
Tid uint32
|
Tid uint32
|
||||||
Band uint32
|
Band uint32
|
||||||
Overrun uint32
|
Overrun uint32
|
||||||
Trapno uint32
|
Trapno uint32
|
||||||
Status int32
|
Status int32
|
||||||
Int int32
|
Int int32
|
||||||
Ptr uint64
|
Ptr uint64
|
||||||
Utime uint64
|
Utime uint64
|
||||||
Stime uint64
|
Stime uint64
|
||||||
Addr uint64
|
Addr uint64
|
||||||
_ [48]uint8
|
Addr_lsb uint16
|
||||||
|
_ uint16
|
||||||
|
Syscall int32
|
||||||
|
Call_addr uint64
|
||||||
|
Arch uint32
|
||||||
|
_ [28]uint8
|
||||||
}
|
}
|
||||||
|
|
||||||
const RNDGETENTCNT = 0x40045200
|
|
||||||
|
|
||||||
const PERF_IOC_FLAG_GROUP = 0x1
|
const PERF_IOC_FLAG_GROUP = 0x1
|
||||||
|
|
||||||
type Termios struct {
|
type Termios struct {
|
||||||
|
|
|
@ -779,27 +779,30 @@ type Sigset_t struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
type SignalfdSiginfo struct {
|
type SignalfdSiginfo struct {
|
||||||
Signo uint32
|
Signo uint32
|
||||||
Errno int32
|
Errno int32
|
||||||
Code int32
|
Code int32
|
||||||
Pid uint32
|
Pid uint32
|
||||||
Uid uint32
|
Uid uint32
|
||||||
Fd int32
|
Fd int32
|
||||||
Tid uint32
|
Tid uint32
|
||||||
Band uint32
|
Band uint32
|
||||||
Overrun uint32
|
Overrun uint32
|
||||||
Trapno uint32
|
Trapno uint32
|
||||||
Status int32
|
Status int32
|
||||||
Int int32
|
Int int32
|
||||||
Ptr uint64
|
Ptr uint64
|
||||||
Utime uint64
|
Utime uint64
|
||||||
Stime uint64
|
Stime uint64
|
||||||
Addr uint64
|
Addr uint64
|
||||||
_ [48]uint8
|
Addr_lsb uint16
|
||||||
|
_ uint16
|
||||||
|
Syscall int32
|
||||||
|
Call_addr uint64
|
||||||
|
Arch uint32
|
||||||
|
_ [28]uint8
|
||||||
}
|
}
|
||||||
|
|
||||||
const RNDGETENTCNT = 0x80045200
|
|
||||||
|
|
||||||
const PERF_IOC_FLAG_GROUP = 0x1
|
const PERF_IOC_FLAG_GROUP = 0x1
|
||||||
|
|
||||||
type Termios struct {
|
type Termios struct {
|
||||||
|
|
|
@ -775,27 +775,30 @@ type Sigset_t struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
type SignalfdSiginfo struct {
|
type SignalfdSiginfo struct {
|
||||||
Signo uint32
|
Signo uint32
|
||||||
Errno int32
|
Errno int32
|
||||||
Code int32
|
Code int32
|
||||||
Pid uint32
|
Pid uint32
|
||||||
Uid uint32
|
Uid uint32
|
||||||
Fd int32
|
Fd int32
|
||||||
Tid uint32
|
Tid uint32
|
||||||
Band uint32
|
Band uint32
|
||||||
Overrun uint32
|
Overrun uint32
|
||||||
Trapno uint32
|
Trapno uint32
|
||||||
Status int32
|
Status int32
|
||||||
Int int32
|
Int int32
|
||||||
Ptr uint64
|
Ptr uint64
|
||||||
Utime uint64
|
Utime uint64
|
||||||
Stime uint64
|
Stime uint64
|
||||||
Addr uint64
|
Addr uint64
|
||||||
_ [48]uint8
|
Addr_lsb uint16
|
||||||
|
_ uint16
|
||||||
|
Syscall int32
|
||||||
|
Call_addr uint64
|
||||||
|
Arch uint32
|
||||||
|
_ [28]uint8
|
||||||
}
|
}
|
||||||
|
|
||||||
const RNDGETENTCNT = 0x80045200
|
|
||||||
|
|
||||||
const PERF_IOC_FLAG_GROUP = 0x1
|
const PERF_IOC_FLAG_GROUP = 0x1
|
||||||
|
|
||||||
type Termios struct {
|
type Termios struct {
|
||||||
|
|
|
@ -757,27 +757,30 @@ type Sigset_t struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
type SignalfdSiginfo struct {
|
type SignalfdSiginfo struct {
|
||||||
Signo uint32
|
Signo uint32
|
||||||
Errno int32
|
Errno int32
|
||||||
Code int32
|
Code int32
|
||||||
Pid uint32
|
Pid uint32
|
||||||
Uid uint32
|
Uid uint32
|
||||||
Fd int32
|
Fd int32
|
||||||
Tid uint32
|
Tid uint32
|
||||||
Band uint32
|
Band uint32
|
||||||
Overrun uint32
|
Overrun uint32
|
||||||
Trapno uint32
|
Trapno uint32
|
||||||
Status int32
|
Status int32
|
||||||
Int int32
|
Int int32
|
||||||
Ptr uint64
|
Ptr uint64
|
||||||
Utime uint64
|
Utime uint64
|
||||||
Stime uint64
|
Stime uint64
|
||||||
Addr uint64
|
Addr uint64
|
||||||
_ [48]uint8
|
Addr_lsb uint16
|
||||||
|
_ uint16
|
||||||
|
Syscall int32
|
||||||
|
Call_addr uint64
|
||||||
|
Arch uint32
|
||||||
|
_ [28]uint8
|
||||||
}
|
}
|
||||||
|
|
||||||
const RNDGETENTCNT = 0x40045200
|
|
||||||
|
|
||||||
const PERF_IOC_FLAG_GROUP = 0x1
|
const PERF_IOC_FLAG_GROUP = 0x1
|
||||||
|
|
||||||
type Termios struct {
|
type Termios struct {
|
||||||
|
|
|
@ -430,7 +430,7 @@ github.com/ulikunitz/xz/internal/hash
|
||||||
# github.com/vmihailenco/msgpack v4.0.1+incompatible
|
# github.com/vmihailenco/msgpack v4.0.1+incompatible
|
||||||
github.com/vmihailenco/msgpack
|
github.com/vmihailenco/msgpack
|
||||||
github.com/vmihailenco/msgpack/codes
|
github.com/vmihailenco/msgpack/codes
|
||||||
# github.com/xanzy/ssh-agent v0.2.0
|
# github.com/xanzy/ssh-agent v0.2.1
|
||||||
github.com/xanzy/ssh-agent
|
github.com/xanzy/ssh-agent
|
||||||
# github.com/xlab/treeprint v0.0.0-20161029104018-1d6e34225557
|
# github.com/xlab/treeprint v0.0.0-20161029104018-1d6e34225557
|
||||||
github.com/xlab/treeprint
|
github.com/xlab/treeprint
|
||||||
|
@ -458,7 +458,7 @@ go.opencensus.io/trace/propagation
|
||||||
go.opencensus.io
|
go.opencensus.io
|
||||||
go.opencensus.io/stats/internal
|
go.opencensus.io/stats/internal
|
||||||
go.opencensus.io/internal/tagencoding
|
go.opencensus.io/internal/tagencoding
|
||||||
# golang.org/x/crypto v0.0.0-20181127143415-eb0de9b17e85
|
# golang.org/x/crypto v0.0.0-20190219172222-a4c6cb3142f2
|
||||||
golang.org/x/crypto/ssh
|
golang.org/x/crypto/ssh
|
||||||
golang.org/x/crypto/ssh/agent
|
golang.org/x/crypto/ssh/agent
|
||||||
golang.org/x/crypto/ssh/knownhosts
|
golang.org/x/crypto/ssh/knownhosts
|
||||||
|
@ -498,7 +498,7 @@ golang.org/x/oauth2
|
||||||
golang.org/x/oauth2/internal
|
golang.org/x/oauth2/internal
|
||||||
golang.org/x/oauth2/jws
|
golang.org/x/oauth2/jws
|
||||||
golang.org/x/oauth2/google
|
golang.org/x/oauth2/google
|
||||||
# golang.org/x/sys v0.0.0-20190129075346-302c3dd5f1cc
|
# golang.org/x/sys v0.0.0-20190221075227-b4e8571b14e0
|
||||||
golang.org/x/sys/unix
|
golang.org/x/sys/unix
|
||||||
# golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2
|
# golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2
|
||||||
golang.org/x/text/unicode/norm
|
golang.org/x/text/unicode/norm
|
||||||
|
|
Loading…
Reference in New Issue