upgrade to latest dependencies (#952)

bumping golang.org/x/net 76358aa...e74bc31:
  > e74bc31 go.mod: update golang.org/x dependencies
  > af6926e http2: remove references to defunct http2.golang.org test server
bumping google.golang.org/protobuf 3f79c52...7e776d4:
  > 7e776d4 all: release v1.36.7
  > 8e8926e encoding/protowire: micro-optimize SizeVarint (-20% on Intel)
  > 32018e9 internal/impl: remove unnecessary atomic access for non-lazy lists
  > 9c38aec impl: remove unnecessary nil check from presence.Present
  > 41298d3 types/descriptorpb: regenerate using latest protobuf v31 release
  > e5d4468 cmd/protoc-gen-go: centralize presence and lazy logic into filedesc
  > b4a995b internal: move usePresenceForField to internal/filedesc
  > 3a5f1f0 internal/impl: clean up usePresenceForField() (no-op)
  > 58d6425 all: start v1.36.6-devel
bumping golang.org/x/mod ea04085...f8a9fe2:
  > f8a9fe2 go.mod: update golang.org/x dependencies
bumping golang.org/x/term 30da5dd...a35244d:
  > a35244d go.mod: update golang.org/x dependencies
  > 4f53e0c term: allow multi-line bracketed paste to not create single line with verbatim LFs
  > 27f29d8 term: remove duplicate flag and add comment on windows
bumping golang.org/x/text b6d2645...425d715:
  > 425d715 go.mod: update golang.org/x dependencies
bumping golang.org/x/tools 50ec2f1...44d18e1:
  > 44d18e1 go.mod: update golang.org/x dependencies
  > 52b9c68 go/ast/inspector: remove obsolete unsafe import
  > b155480 gopls/doc/features: add "MCP" to index.
  > 992bf9c gopls/internal/golang/hover: show alias real type decl for types only
  > 861996a go/ssa: pass GOEXPERIMENT=aliastypeparams only on Go 1.23
  > 528efda gopls/internal/analysis/modernize/forvar: provide fix for second loop var
  > bdddfd5 gopls/internal/server: add counters for add and remove struct tags
  > 23dd839 gopls/internal/filewatcher: fix race condition on watcher shutdown
  > 3a8978c cmd/digraph: fix bug in allpaths
  > bae51bd gopls/internal/server: add windsurf and cursor as language client
  > 9420753 gopls/internal/golang: show document after test generation
  > b7dd6b4 gopls/internal/filewatcher: move dir with broken symlink to avoid flakiness
  > c06cf8d gopls/internal/golang: ignoredError inlay hint: skip io.WriteString
  > c05436a gopls/internal/cache: add removeIntermediateTestVariants parameter
  > f2692ba go/analysis/internal/analysisflags: print Diagnostic.Related too
  > f7d99c1 go/packages/internal/linecount: count lines in Go packages
  > c00c94d gopls/doc: yet more tweaks
  > ef0f4a4 gopls/internal/analysis/unusedfunc: skip std
  > a985a6c gopls/internal/template: use protocol.Mapper and simplify
  > b992291 gopls/internal/template: unexport Parse et al
  > 3e9ce40 gopls/internal/test/integration/template: add test for golang/go# 74635
  > 4388b61 gopls/internal/golang: CodeAction(gopls.doc.features): update URL
  > 36e3d96 gopls/internal/protocol: remove obsolete recoverHandlerPanic
  > c8d5607 gopls/doc/release/v0.21.0.md: restore (deleted in CL 691115)
  > 9c64f68 gopls/doc/release: fix (oddly) broken link
  > 163ff8b gopls: improve SignatureHelp triggering
  > f7f80ea gopls/doc: yet more doc tweaks
  > 88d35e4 gopls/internal/filewatcher: retry watch registration upon failure
  > 89ab5e4 gopls/go.mod: update dependencies following the v0.20.0 release
  > 7fe7cae gopls/doc/release/v0.20.0.md: final tweaks
  > 4982c3b gopls/internal/debug: KillTraceViewers: kill process group on UNIX
  > 4a9ef58 internal/gocommand: add TestRmdirAfterGoList WaitDelay variant
  > 365b9b0 gopls/internal/golang: fix extract on anonymous structs
  > 4faf573 gopls/internal/test/marker: fix reachable panic("unreachable")
  > 2bcc4d2 gopls/internal/test/integration/web: kill "go tool trace" processes
  > 097b217 gopls/internal/golang: allow rename in doc comments
  > f30e3d1 all: fix some minor issues in comments
  > 74b5d36 gopls/internal/filewatcher: add stress test for file watcher
  > 57c8fd3 gopls/doc/features: fix two stray backticks
  > 86dd056 internal/modindex: fix nil panic, and other bugs
  > c37080d gopls/internal/filewatcher: fix for windows deadlock
  > 4f13866 gopls/internal/cmd: disable mcp tests when fsnotify not supported
  > 8d1f71a gopls/internal/mcp: avoid pointless diagnostics in the edit workflow
  > 95aad07 gopls/internal/mcp: document MCP for v0.20.0; some CLI improvements
  > d90a343 gopls/internal/mcp: a couple more small improvements to instructions
bumping knative.dev/pkg 2a0abb7...e06d4c9:
  > e06d4c9 Bump the golang-x group with 2 updates (# 3231)
  > 6d876dd Bump google.golang.org/protobuf from 1.36.6 to 1.36.7 (# 3230)
  > 9402b8c Update community files (# 3228)
bumping golang.org/x/sys 751c3c6...5b936e1:
  > 5b936e1 unix/linux: update to Linux kernel 6.16, Go to 1.24.5
  > 3a82703 unix: remove redundant xnu version check for {p}readv/{p}writev
  > 9920300 unix: add missing nft conntrack constants
  > ad4e0fc unix: remove redundant word in comment
  > 084ad87 unix: fix //sys decl after CL 548795

Signed-off-by: Knative Automation <automation@knative.team>
This commit is contained in:
Knative Automation 2025-08-12 10:23:40 -04:00 committed by GitHub
parent a0fbf38943
commit b295470502
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
74 changed files with 1323 additions and 996 deletions

16
go.mod
View File

@ -11,7 +11,7 @@ require (
k8s.io/code-generator v0.33.1 k8s.io/code-generator v0.33.1
k8s.io/kube-openapi v0.0.0-20250318190949-c8a335a9a2ff k8s.io/kube-openapi v0.0.0-20250318190949-c8a335a9a2ff
knative.dev/hack v0.0.0-20250708013849-70d4b00da6ba knative.dev/hack v0.0.0-20250708013849-70d4b00da6ba
knative.dev/pkg v0.0.0-20250804212045-2a0abb7b5eb3 knative.dev/pkg v0.0.0-20250811181739-e06d4c9af190
) )
require ( require (
@ -45,18 +45,18 @@ require (
go.opentelemetry.io/otel/trace v1.37.0 // indirect go.opentelemetry.io/otel/trace v1.37.0 // indirect
go.uber.org/multierr v1.11.0 // indirect go.uber.org/multierr v1.11.0 // indirect
go.yaml.in/yaml/v2 v2.4.2 // indirect go.yaml.in/yaml/v2 v2.4.2 // indirect
golang.org/x/mod v0.26.0 // indirect golang.org/x/mod v0.27.0 // indirect
golang.org/x/net v0.42.0 // indirect golang.org/x/net v0.43.0 // indirect
golang.org/x/oauth2 v0.30.0 // indirect golang.org/x/oauth2 v0.30.0 // indirect
golang.org/x/sync v0.16.0 // indirect golang.org/x/sync v0.16.0 // indirect
golang.org/x/sys v0.34.0 // indirect golang.org/x/sys v0.35.0 // indirect
golang.org/x/term v0.33.0 // indirect golang.org/x/term v0.34.0 // indirect
golang.org/x/text v0.27.0 // indirect golang.org/x/text v0.28.0 // indirect
golang.org/x/time v0.10.0 // indirect golang.org/x/time v0.10.0 // indirect
golang.org/x/tools v0.35.0 // indirect golang.org/x/tools v0.36.0 // indirect
golang.org/x/tools/go/expect v0.1.1-deprecated // indirect golang.org/x/tools/go/expect v0.1.1-deprecated // indirect
gomodules.xyz/jsonpatch/v2 v2.5.0 // indirect gomodules.xyz/jsonpatch/v2 v2.5.0 // indirect
google.golang.org/protobuf v1.36.6 // indirect google.golang.org/protobuf v1.36.7 // indirect
gopkg.in/evanphx/json-patch.v4 v4.12.0 // indirect gopkg.in/evanphx/json-patch.v4 v4.12.0 // indirect
gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/inf.v0 v0.9.1 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect

32
go.sum
View File

@ -113,14 +113,14 @@ golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8U
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.26.0 h1:EGMPT//Ezu+ylkCijjPc+f4Aih7sZvaAr+O3EHBxvZg= golang.org/x/mod v0.27.0 h1:kb+q2PyFnEADO2IEF935ehFUXlWiNjJWtRNgBLSfbxQ=
golang.org/x/mod v0.26.0/go.mod h1:/j6NAhSk8iQ723BGAUyoAcn7SlD7s15Dp9Nd/SfeaFQ= golang.org/x/mod v0.27.0/go.mod h1:rWI627Fq0DEoudcK+MBkNkCe0EetEaDSwJJkCcjpazc=
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
golang.org/x/net v0.42.0 h1:jzkYrhi3YQWD6MLBJcsklgQsoAcw89EcZbJw8Z614hs= golang.org/x/net v0.43.0 h1:lat02VYK2j4aLzMzecihNvTlJNQUq316m2Mr9rnM6YE=
golang.org/x/net v0.42.0/go.mod h1:FF1RA5d3u7nAYA4z2TkclSCKh68eSXtiFwcWQpPXdt8= golang.org/x/net v0.43.0/go.mod h1:vhO1fvI4dGsIjh73sWfUVjj3N7CA9WkKJNQm2svM6Jg=
golang.org/x/oauth2 v0.30.0 h1:dnDm7JmhM45NNpd8FDDeLhK6FwqbOf4MLCM9zb1BOHI= golang.org/x/oauth2 v0.30.0 h1:dnDm7JmhM45NNpd8FDDeLhK6FwqbOf4MLCM9zb1BOHI=
golang.org/x/oauth2 v0.30.0/go.mod h1:B++QgG3ZKulg6sRPGD/mqlHQs5rB3Ml9erfeDY7xKlU= golang.org/x/oauth2 v0.30.0/go.mod h1:B++QgG3ZKulg6sRPGD/mqlHQs5rB3Ml9erfeDY7xKlU=
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
@ -131,22 +131,22 @@ golang.org/x/sync v0.16.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.34.0 h1:H5Y5sJ2L2JRdyv7ROF1he/lPdvFsd0mJHFw2ThKHxLA= golang.org/x/sys v0.35.0 h1:vz1N37gP5bs89s7He8XuIYXpyY0+QlsKmzipCbUtyxI=
golang.org/x/sys v0.34.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= golang.org/x/sys v0.35.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
golang.org/x/term v0.33.0 h1:NuFncQrRcaRvVmgRkvM3j/F00gWIAlcmlB8ACEKmGIg= golang.org/x/term v0.34.0 h1:O/2T7POpk0ZZ7MAzMeWFSg6S5IpWd/RXDlM9hgM3DR4=
golang.org/x/term v0.33.0/go.mod h1:s18+ql9tYWp1IfpV9DmCtQDDSRBUjKaw9M1eAv5UeF0= golang.org/x/term v0.34.0/go.mod h1:5jC53AEywhIVebHgPVeg0mj8OD3VO9OzclacVrqpaAw=
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.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.27.0 h1:4fGWRpyh641NLlecmyl4LOe6yDdfaYNrGb2zdfo4JV4= golang.org/x/text v0.28.0 h1:rhazDwis8INMIwQ4tpjLDzUhx6RlXqZNPEM0huQojng=
golang.org/x/text v0.27.0/go.mod h1:1D28KMCvyooCX9hBiosv5Tz/+YLxj0j7XhWjpSUF7CU= golang.org/x/text v0.28.0/go.mod h1:U8nCwOR8jO/marOQ0QbDiOngZVEBB7MAiitBuMjXiNU=
golang.org/x/time v0.10.0 h1:3usCWA8tQn0L8+hFJQNgzpWbd89begxN66o1Ojdn5L4= golang.org/x/time v0.10.0 h1:3usCWA8tQn0L8+hFJQNgzpWbd89begxN66o1Ojdn5L4=
golang.org/x/time v0.10.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= golang.org/x/time v0.10.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
golang.org/x/tools v0.35.0 h1:mBffYraMEf7aa0sB+NuKnuCy8qI/9Bughn8dC2Gu5r0= golang.org/x/tools v0.36.0 h1:kWS0uv/zsvHEle1LbV5LE8QujrxB3wfQyxHfhOk0Qkg=
golang.org/x/tools v0.35.0/go.mod h1:NKdj5HkL/73byiZSJjqJgKn3ep7KjFkBOkR/Hps3VPw= golang.org/x/tools v0.36.0/go.mod h1:WBDiHKJK8YgLHlcQPYQzNCkUxUypCaa5ZegCVutKm+s=
golang.org/x/tools/go/expect v0.1.1-deprecated h1:jpBZDwmgPhXsKZC6WhL20P4b/wmnpsEAGHaNy0n/rJM= golang.org/x/tools/go/expect v0.1.1-deprecated h1:jpBZDwmgPhXsKZC6WhL20P4b/wmnpsEAGHaNy0n/rJM=
golang.org/x/tools/go/expect v0.1.1-deprecated/go.mod h1:eihoPOH+FgIqa3FpoTwguz/bVUSGBlGQU67vpBeOrBY= golang.org/x/tools/go/expect v0.1.1-deprecated/go.mod h1:eihoPOH+FgIqa3FpoTwguz/bVUSGBlGQU67vpBeOrBY=
golang.org/x/tools/go/packages/packagestest v0.1.1-deprecated h1:1h2MnaIAIXISqTFKdENegdpAgUXz6NrPEsbIeWaBRvM= golang.org/x/tools/go/packages/packagestest v0.1.1-deprecated h1:1h2MnaIAIXISqTFKdENegdpAgUXz6NrPEsbIeWaBRvM=
@ -157,8 +157,8 @@ golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8T
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
gomodules.xyz/jsonpatch/v2 v2.5.0 h1:JELs8RLM12qJGXU4u/TO3V25KW8GreMKl9pdkk14RM0= gomodules.xyz/jsonpatch/v2 v2.5.0 h1:JELs8RLM12qJGXU4u/TO3V25KW8GreMKl9pdkk14RM0=
gomodules.xyz/jsonpatch/v2 v2.5.0/go.mod h1:AH3dM2RI6uoBZxn3LVrfvJ3E0/9dG4cSrbuBJT4moAY= gomodules.xyz/jsonpatch/v2 v2.5.0/go.mod h1:AH3dM2RI6uoBZxn3LVrfvJ3E0/9dG4cSrbuBJT4moAY=
google.golang.org/protobuf v1.36.6 h1:z1NpPI8ku2WgiWnf+t9wTPsn6eP1L7ksHUlkfLvd9xY= google.golang.org/protobuf v1.36.7 h1:IgrO7UwFQGJdRNXH/sQux4R1Dj1WAKcLElzeeRaXV2A=
google.golang.org/protobuf v1.36.6/go.mod h1:jduwjTPXsFjZGTmRluh+L6NjiWu7pchiJ2/5YcXBHnY= google.golang.org/protobuf v1.36.7/go.mod h1:jduwjTPXsFjZGTmRluh+L6NjiWu7pchiJ2/5YcXBHnY=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
@ -186,8 +186,8 @@ k8s.io/utils v0.0.0-20241210054802-24370beab758 h1:sdbE21q2nlQtFh65saZY+rRM6x6aJ
k8s.io/utils v0.0.0-20241210054802-24370beab758/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= k8s.io/utils v0.0.0-20241210054802-24370beab758/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
knative.dev/hack v0.0.0-20250708013849-70d4b00da6ba h1:PkOTBI8DRfvUKD8HTvYYT94NJ49J++llrDo3y0/ZAwc= knative.dev/hack v0.0.0-20250708013849-70d4b00da6ba h1:PkOTBI8DRfvUKD8HTvYYT94NJ49J++llrDo3y0/ZAwc=
knative.dev/hack v0.0.0-20250708013849-70d4b00da6ba/go.mod h1:R0ritgYtjLDO9527h5vb5X6gfvt5LCrJ55BNbVDsWiY= knative.dev/hack v0.0.0-20250708013849-70d4b00da6ba/go.mod h1:R0ritgYtjLDO9527h5vb5X6gfvt5LCrJ55BNbVDsWiY=
knative.dev/pkg v0.0.0-20250804212045-2a0abb7b5eb3 h1:5IWHlFvSTR/gZY+bShXCAHFFZ6rQqhYvx1KxVwlsnKw= knative.dev/pkg v0.0.0-20250811181739-e06d4c9af190 h1:YAb1BppD0yXKJ8axSYRHFwkrJ+TiYLLJ06dNt4XdOqk=
knative.dev/pkg v0.0.0-20250804212045-2a0abb7b5eb3/go.mod h1:qpyBu3z/r1fRfyLo/Zdpis1mmtixdXmsCPmJMz/BsLc= knative.dev/pkg v0.0.0-20250811181739-e06d4c9af190/go.mod h1:fjxsqJKXTSnVPtW9Z0lXGaGw7qrUtAoinUpWFJzSn+4=
sigs.k8s.io/json v0.0.0-20241014173422-cfa47c3a1cc8 h1:gBQPwqORJ8d8/YNZWEjoZs7npUVDpVXUUOFfW6CgAqE= sigs.k8s.io/json v0.0.0-20241014173422-cfa47c3a1cc8 h1:gBQPwqORJ8d8/YNZWEjoZs7npUVDpVXUUOFfW6CgAqE=
sigs.k8s.io/json v0.0.0-20241014173422-cfa47c3a1cc8/go.mod h1:mdzfpAEoE6DHQEN0uh9ZbOCuHbLK5wOm7dK4ctXE9Tg= sigs.k8s.io/json v0.0.0-20241014173422-cfa47c3a1cc8/go.mod h1:mdzfpAEoE6DHQEN0uh9ZbOCuHbLK5wOm7dK4ctXE9Tg=
sigs.k8s.io/randfill v0.0.0-20250304075658-069ef1bbf016/go.mod h1:XeLlZ/jmk4i1HRopwe7/aU3H5n1zNUcX6TM94b3QxOY= sigs.k8s.io/randfill v0.0.0-20250304075658-069ef1bbf016/go.mod h1:XeLlZ/jmk4i1HRopwe7/aU3H5n1zNUcX6TM94b3QxOY=

View File

@ -11,8 +11,6 @@
// requires Go 1.6 or later) // requires Go 1.6 or later)
// //
// See https://http2.github.io/ for more information on HTTP/2. // See https://http2.github.io/ for more information on HTTP/2.
//
// See https://http2.golang.org/ for a test server running this code.
package http2 // import "golang.org/x/net/http2" package http2 // import "golang.org/x/net/http2"
import ( import (

View File

@ -349,6 +349,9 @@ struct ltchars {
#define _HIDIOCGRAWPHYS HIDIOCGRAWPHYS(_HIDIOCGRAWPHYS_LEN) #define _HIDIOCGRAWPHYS HIDIOCGRAWPHYS(_HIDIOCGRAWPHYS_LEN)
#define _HIDIOCGRAWUNIQ HIDIOCGRAWUNIQ(_HIDIOCGRAWUNIQ_LEN) #define _HIDIOCGRAWUNIQ HIDIOCGRAWUNIQ(_HIDIOCGRAWUNIQ_LEN)
// Renamed in v6.16, commit c6d732c38f93 ("net: ethtool: remove duplicate defines for family info")
#define ETHTOOL_FAMILY_NAME ETHTOOL_GENL_NAME
#define ETHTOOL_FAMILY_VERSION ETHTOOL_GENL_VERSION
' '
includes_NetBSD=' includes_NetBSD='

View File

@ -602,14 +602,9 @@ func Connectx(fd int, srcIf uint32, srcAddr, dstAddr Sockaddr, associd SaeAssocI
return return
} }
// sys connectx(fd int, endpoints *SaEndpoints, associd SaeAssocID, flags uint32, iov []Iovec, n *uintptr, connid *SaeConnID) (err error)
const minIovec = 8 const minIovec = 8
func Readv(fd int, iovs [][]byte) (n int, err error) { func Readv(fd int, iovs [][]byte) (n int, err error) {
if !darwinKernelVersionMin(11, 0, 0) {
return 0, ENOSYS
}
iovecs := make([]Iovec, 0, minIovec) iovecs := make([]Iovec, 0, minIovec)
iovecs = appendBytes(iovecs, iovs) iovecs = appendBytes(iovecs, iovs)
n, err = readv(fd, iovecs) n, err = readv(fd, iovecs)
@ -618,9 +613,6 @@ func Readv(fd int, iovs [][]byte) (n int, err error) {
} }
func Preadv(fd int, iovs [][]byte, offset int64) (n int, err error) { func Preadv(fd int, iovs [][]byte, offset int64) (n int, err error) {
if !darwinKernelVersionMin(11, 0, 0) {
return 0, ENOSYS
}
iovecs := make([]Iovec, 0, minIovec) iovecs := make([]Iovec, 0, minIovec)
iovecs = appendBytes(iovecs, iovs) iovecs = appendBytes(iovecs, iovs)
n, err = preadv(fd, iovecs, offset) n, err = preadv(fd, iovecs, offset)
@ -629,10 +621,6 @@ func Preadv(fd int, iovs [][]byte, offset int64) (n int, err error) {
} }
func Writev(fd int, iovs [][]byte) (n int, err error) { func Writev(fd int, iovs [][]byte) (n int, err error) {
if !darwinKernelVersionMin(11, 0, 0) {
return 0, ENOSYS
}
iovecs := make([]Iovec, 0, minIovec) iovecs := make([]Iovec, 0, minIovec)
iovecs = appendBytes(iovecs, iovs) iovecs = appendBytes(iovecs, iovs)
if raceenabled { if raceenabled {
@ -644,10 +632,6 @@ func Writev(fd int, iovs [][]byte) (n int, err error) {
} }
func Pwritev(fd int, iovs [][]byte, offset int64) (n int, err error) { func Pwritev(fd int, iovs [][]byte, offset int64) (n int, err error) {
if !darwinKernelVersionMin(11, 0, 0) {
return 0, ENOSYS
}
iovecs := make([]Iovec, 0, minIovec) iovecs := make([]Iovec, 0, minIovec)
iovecs = appendBytes(iovecs, iovs) iovecs = appendBytes(iovecs, iovs)
if raceenabled { if raceenabled {
@ -707,45 +691,7 @@ func readvRacedetect(iovecs []Iovec, n int, err error) {
} }
} }
func darwinMajorMinPatch() (maj, min, patch int, err error) { //sys connectx(fd int, endpoints *SaEndpoints, associd SaeAssocID, flags uint32, iov []Iovec, n *uintptr, connid *SaeConnID) (err error)
var un Utsname
err = Uname(&un)
if err != nil {
return
}
var mmp [3]int
c := 0
Loop:
for _, b := range un.Release[:] {
switch {
case b >= '0' && b <= '9':
mmp[c] = 10*mmp[c] + int(b-'0')
case b == '.':
c++
if c > 2 {
return 0, 0, 0, ENOTSUP
}
case b == 0:
break Loop
default:
return 0, 0, 0, ENOTSUP
}
}
if c != 2 {
return 0, 0, 0, ENOTSUP
}
return mmp[0], mmp[1], mmp[2], nil
}
func darwinKernelVersionMin(maj, min, patch int) bool {
actualMaj, actualMin, actualPatch, err := darwinMajorMinPatch()
if err != nil {
return false
}
return actualMaj > maj || actualMaj == maj && (actualMin > min || actualMin == min && actualPatch >= patch)
}
//sys sendfile(infd int, outfd int, offset int64, len *int64, hdtr unsafe.Pointer, flags int) (err error) //sys sendfile(infd int, outfd int, offset int64, len *int64, hdtr unsafe.Pointer, flags int) (err error)
//sys shmat(id int, addr uintptr, flag int) (ret uintptr, err error) //sys shmat(id int, addr uintptr, flag int) (ret uintptr, err error)

View File

@ -328,6 +328,8 @@ const (
AUDIT_KERNEL = 0x7d0 AUDIT_KERNEL = 0x7d0
AUDIT_KERNEL_OTHER = 0x524 AUDIT_KERNEL_OTHER = 0x524
AUDIT_KERN_MODULE = 0x532 AUDIT_KERN_MODULE = 0x532
AUDIT_LANDLOCK_ACCESS = 0x58f
AUDIT_LANDLOCK_DOMAIN = 0x590
AUDIT_LAST_FEATURE = 0x1 AUDIT_LAST_FEATURE = 0x1
AUDIT_LAST_KERN_ANOM_MSG = 0x707 AUDIT_LAST_KERN_ANOM_MSG = 0x707
AUDIT_LAST_USER_MSG = 0x4af AUDIT_LAST_USER_MSG = 0x4af
@ -492,6 +494,7 @@ const (
BPF_F_BEFORE = 0x8 BPF_F_BEFORE = 0x8
BPF_F_ID = 0x20 BPF_F_ID = 0x20
BPF_F_NETFILTER_IP_DEFRAG = 0x1 BPF_F_NETFILTER_IP_DEFRAG = 0x1
BPF_F_PREORDER = 0x40
BPF_F_QUERY_EFFECTIVE = 0x1 BPF_F_QUERY_EFFECTIVE = 0x1
BPF_F_REDIRECT_FLAGS = 0x19 BPF_F_REDIRECT_FLAGS = 0x19
BPF_F_REPLACE = 0x4 BPF_F_REPLACE = 0x4
@ -528,6 +531,7 @@ const (
BPF_LDX = 0x1 BPF_LDX = 0x1
BPF_LEN = 0x80 BPF_LEN = 0x80
BPF_LL_OFF = -0x200000 BPF_LL_OFF = -0x200000
BPF_LOAD_ACQ = 0x100
BPF_LSH = 0x60 BPF_LSH = 0x60
BPF_MAJOR_VERSION = 0x1 BPF_MAJOR_VERSION = 0x1
BPF_MAXINSNS = 0x1000 BPF_MAXINSNS = 0x1000
@ -555,6 +559,7 @@ const (
BPF_RET = 0x6 BPF_RET = 0x6
BPF_RSH = 0x70 BPF_RSH = 0x70
BPF_ST = 0x2 BPF_ST = 0x2
BPF_STORE_REL = 0x110
BPF_STX = 0x3 BPF_STX = 0x3
BPF_SUB = 0x10 BPF_SUB = 0x10
BPF_TAG_SIZE = 0x8 BPF_TAG_SIZE = 0x8
@ -844,9 +849,9 @@ const (
DM_UUID_FLAG = 0x4000 DM_UUID_FLAG = 0x4000
DM_UUID_LEN = 0x81 DM_UUID_LEN = 0x81
DM_VERSION = 0xc138fd00 DM_VERSION = 0xc138fd00
DM_VERSION_EXTRA = "-ioctl (2025-01-17)" DM_VERSION_EXTRA = "-ioctl (2025-04-28)"
DM_VERSION_MAJOR = 0x4 DM_VERSION_MAJOR = 0x4
DM_VERSION_MINOR = 0x31 DM_VERSION_MINOR = 0x32
DM_VERSION_PATCHLEVEL = 0x0 DM_VERSION_PATCHLEVEL = 0x0
DT_BLK = 0x6 DT_BLK = 0x6
DT_CHR = 0x2 DT_CHR = 0x2
@ -937,9 +942,6 @@ const (
EPOLL_CTL_MOD = 0x3 EPOLL_CTL_MOD = 0x3
EPOLL_IOC_TYPE = 0x8a EPOLL_IOC_TYPE = 0x8a
EROFS_SUPER_MAGIC_V1 = 0xe0f5e1e2 EROFS_SUPER_MAGIC_V1 = 0xe0f5e1e2
ESP_V4_FLOW = 0xa
ESP_V6_FLOW = 0xc
ETHER_FLOW = 0x12
ETHTOOL_BUSINFO_LEN = 0x20 ETHTOOL_BUSINFO_LEN = 0x20
ETHTOOL_EROMVERS_LEN = 0x20 ETHTOOL_EROMVERS_LEN = 0x20
ETHTOOL_FAMILY_NAME = "ethtool" ETHTOOL_FAMILY_NAME = "ethtool"
@ -1213,6 +1215,7 @@ const (
FAN_EVENT_INFO_TYPE_DFID_NAME = 0x2 FAN_EVENT_INFO_TYPE_DFID_NAME = 0x2
FAN_EVENT_INFO_TYPE_ERROR = 0x5 FAN_EVENT_INFO_TYPE_ERROR = 0x5
FAN_EVENT_INFO_TYPE_FID = 0x1 FAN_EVENT_INFO_TYPE_FID = 0x1
FAN_EVENT_INFO_TYPE_MNT = 0x7
FAN_EVENT_INFO_TYPE_NEW_DFID_NAME = 0xc FAN_EVENT_INFO_TYPE_NEW_DFID_NAME = 0xc
FAN_EVENT_INFO_TYPE_OLD_DFID_NAME = 0xa FAN_EVENT_INFO_TYPE_OLD_DFID_NAME = 0xa
FAN_EVENT_INFO_TYPE_PIDFD = 0x4 FAN_EVENT_INFO_TYPE_PIDFD = 0x4
@ -1231,9 +1234,12 @@ const (
FAN_MARK_IGNORED_SURV_MODIFY = 0x40 FAN_MARK_IGNORED_SURV_MODIFY = 0x40
FAN_MARK_IGNORE_SURV = 0x440 FAN_MARK_IGNORE_SURV = 0x440
FAN_MARK_INODE = 0x0 FAN_MARK_INODE = 0x0
FAN_MARK_MNTNS = 0x110
FAN_MARK_MOUNT = 0x10 FAN_MARK_MOUNT = 0x10
FAN_MARK_ONLYDIR = 0x8 FAN_MARK_ONLYDIR = 0x8
FAN_MARK_REMOVE = 0x2 FAN_MARK_REMOVE = 0x2
FAN_MNT_ATTACH = 0x1000000
FAN_MNT_DETACH = 0x2000000
FAN_MODIFY = 0x2 FAN_MODIFY = 0x2
FAN_MOVE = 0xc0 FAN_MOVE = 0xc0
FAN_MOVED_FROM = 0x40 FAN_MOVED_FROM = 0x40
@ -1255,6 +1261,7 @@ const (
FAN_REPORT_DIR_FID = 0x400 FAN_REPORT_DIR_FID = 0x400
FAN_REPORT_FD_ERROR = 0x2000 FAN_REPORT_FD_ERROR = 0x2000
FAN_REPORT_FID = 0x200 FAN_REPORT_FID = 0x200
FAN_REPORT_MNT = 0x4000
FAN_REPORT_NAME = 0x800 FAN_REPORT_NAME = 0x800
FAN_REPORT_PIDFD = 0x80 FAN_REPORT_PIDFD = 0x80
FAN_REPORT_TARGET_FID = 0x1000 FAN_REPORT_TARGET_FID = 0x1000
@ -1274,6 +1281,7 @@ const (
FIB_RULE_PERMANENT = 0x1 FIB_RULE_PERMANENT = 0x1
FIB_RULE_UNRESOLVED = 0x4 FIB_RULE_UNRESOLVED = 0x4
FIDEDUPERANGE = 0xc0189436 FIDEDUPERANGE = 0xc0189436
FSCRYPT_ADD_KEY_FLAG_HW_WRAPPED = 0x1
FSCRYPT_KEY_DESCRIPTOR_SIZE = 0x8 FSCRYPT_KEY_DESCRIPTOR_SIZE = 0x8
FSCRYPT_KEY_DESC_PREFIX = "fscrypt:" FSCRYPT_KEY_DESC_PREFIX = "fscrypt:"
FSCRYPT_KEY_DESC_PREFIX_SIZE = 0x8 FSCRYPT_KEY_DESC_PREFIX_SIZE = 0x8
@ -1582,7 +1590,6 @@ const (
IPV6_DONTFRAG = 0x3e IPV6_DONTFRAG = 0x3e
IPV6_DROP_MEMBERSHIP = 0x15 IPV6_DROP_MEMBERSHIP = 0x15
IPV6_DSTOPTS = 0x3b IPV6_DSTOPTS = 0x3b
IPV6_FLOW = 0x11
IPV6_FREEBIND = 0x4e IPV6_FREEBIND = 0x4e
IPV6_HDRINCL = 0x24 IPV6_HDRINCL = 0x24
IPV6_HOPLIMIT = 0x34 IPV6_HOPLIMIT = 0x34
@ -1633,7 +1640,6 @@ const (
IPV6_TRANSPARENT = 0x4b IPV6_TRANSPARENT = 0x4b
IPV6_UNICAST_HOPS = 0x10 IPV6_UNICAST_HOPS = 0x10
IPV6_UNICAST_IF = 0x4c IPV6_UNICAST_IF = 0x4c
IPV6_USER_FLOW = 0xe
IPV6_V6ONLY = 0x1a IPV6_V6ONLY = 0x1a
IPV6_VERSION = 0x60 IPV6_VERSION = 0x60
IPV6_VERSION_MASK = 0xf0 IPV6_VERSION_MASK = 0xf0
@ -1695,7 +1701,6 @@ const (
IP_TTL = 0x2 IP_TTL = 0x2
IP_UNBLOCK_SOURCE = 0x25 IP_UNBLOCK_SOURCE = 0x25
IP_UNICAST_IF = 0x32 IP_UNICAST_IF = 0x32
IP_USER_FLOW = 0xd
IP_XFRM_POLICY = 0x11 IP_XFRM_POLICY = 0x11
ISOFS_SUPER_MAGIC = 0x9660 ISOFS_SUPER_MAGIC = 0x9660
ISTRIP = 0x20 ISTRIP = 0x20
@ -1817,7 +1822,11 @@ const (
LANDLOCK_ACCESS_FS_WRITE_FILE = 0x2 LANDLOCK_ACCESS_FS_WRITE_FILE = 0x2
LANDLOCK_ACCESS_NET_BIND_TCP = 0x1 LANDLOCK_ACCESS_NET_BIND_TCP = 0x1
LANDLOCK_ACCESS_NET_CONNECT_TCP = 0x2 LANDLOCK_ACCESS_NET_CONNECT_TCP = 0x2
LANDLOCK_CREATE_RULESET_ERRATA = 0x2
LANDLOCK_CREATE_RULESET_VERSION = 0x1 LANDLOCK_CREATE_RULESET_VERSION = 0x1
LANDLOCK_RESTRICT_SELF_LOG_NEW_EXEC_ON = 0x2
LANDLOCK_RESTRICT_SELF_LOG_SAME_EXEC_OFF = 0x1
LANDLOCK_RESTRICT_SELF_LOG_SUBDOMAINS_OFF = 0x4
LANDLOCK_SCOPE_ABSTRACT_UNIX_SOCKET = 0x1 LANDLOCK_SCOPE_ABSTRACT_UNIX_SOCKET = 0x1
LANDLOCK_SCOPE_SIGNAL = 0x2 LANDLOCK_SCOPE_SIGNAL = 0x2
LINUX_REBOOT_CMD_CAD_OFF = 0x0 LINUX_REBOOT_CMD_CAD_OFF = 0x0
@ -2493,6 +2502,10 @@ const (
PR_FP_EXC_UND = 0x40000 PR_FP_EXC_UND = 0x40000
PR_FP_MODE_FR = 0x1 PR_FP_MODE_FR = 0x1
PR_FP_MODE_FRE = 0x2 PR_FP_MODE_FRE = 0x2
PR_FUTEX_HASH = 0x4e
PR_FUTEX_HASH_GET_IMMUTABLE = 0x3
PR_FUTEX_HASH_GET_SLOTS = 0x2
PR_FUTEX_HASH_SET_SLOTS = 0x1
PR_GET_AUXV = 0x41555856 PR_GET_AUXV = 0x41555856
PR_GET_CHILD_SUBREAPER = 0x25 PR_GET_CHILD_SUBREAPER = 0x25
PR_GET_DUMPABLE = 0x3 PR_GET_DUMPABLE = 0x3
@ -2652,6 +2665,10 @@ const (
PR_TAGGED_ADDR_ENABLE = 0x1 PR_TAGGED_ADDR_ENABLE = 0x1
PR_TASK_PERF_EVENTS_DISABLE = 0x1f PR_TASK_PERF_EVENTS_DISABLE = 0x1f
PR_TASK_PERF_EVENTS_ENABLE = 0x20 PR_TASK_PERF_EVENTS_ENABLE = 0x20
PR_TIMER_CREATE_RESTORE_IDS = 0x4d
PR_TIMER_CREATE_RESTORE_IDS_GET = 0x2
PR_TIMER_CREATE_RESTORE_IDS_OFF = 0x0
PR_TIMER_CREATE_RESTORE_IDS_ON = 0x1
PR_TIMING_STATISTICAL = 0x0 PR_TIMING_STATISTICAL = 0x0
PR_TIMING_TIMESTAMP = 0x1 PR_TIMING_TIMESTAMP = 0x1
PR_TSC_ENABLE = 0x1 PR_TSC_ENABLE = 0x1
@ -2732,6 +2749,7 @@ const (
PTRACE_SETREGSET = 0x4205 PTRACE_SETREGSET = 0x4205
PTRACE_SETSIGINFO = 0x4203 PTRACE_SETSIGINFO = 0x4203
PTRACE_SETSIGMASK = 0x420b PTRACE_SETSIGMASK = 0x420b
PTRACE_SET_SYSCALL_INFO = 0x4212
PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG = 0x4210 PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG = 0x4210
PTRACE_SINGLESTEP = 0x9 PTRACE_SINGLESTEP = 0x9
PTRACE_SYSCALL = 0x18 PTRACE_SYSCALL = 0x18
@ -2982,6 +3000,7 @@ const (
RTPROT_NTK = 0xf RTPROT_NTK = 0xf
RTPROT_OPENR = 0x63 RTPROT_OPENR = 0x63
RTPROT_OSPF = 0xbc RTPROT_OSPF = 0xbc
RTPROT_OVN = 0x54
RTPROT_RA = 0x9 RTPROT_RA = 0x9
RTPROT_REDIRECT = 0x1 RTPROT_REDIRECT = 0x1
RTPROT_RIP = 0xbd RTPROT_RIP = 0xbd
@ -3336,7 +3355,7 @@ const (
TASKSTATS_GENL_NAME = "TASKSTATS" TASKSTATS_GENL_NAME = "TASKSTATS"
TASKSTATS_GENL_VERSION = 0x1 TASKSTATS_GENL_VERSION = 0x1
TASKSTATS_TYPE_MAX = 0x6 TASKSTATS_TYPE_MAX = 0x6
TASKSTATS_VERSION = 0xf TASKSTATS_VERSION = 0x10
TCIFLUSH = 0x0 TCIFLUSH = 0x0
TCIOFF = 0x2 TCIOFF = 0x2
TCIOFLUSH = 0x2 TCIOFLUSH = 0x2
@ -3406,8 +3425,6 @@ const (
TCP_TX_DELAY = 0x25 TCP_TX_DELAY = 0x25
TCP_ULP = 0x1f TCP_ULP = 0x1f
TCP_USER_TIMEOUT = 0x12 TCP_USER_TIMEOUT = 0x12
TCP_V4_FLOW = 0x1
TCP_V6_FLOW = 0x5
TCP_WINDOW_CLAMP = 0xa TCP_WINDOW_CLAMP = 0xa
TCP_ZEROCOPY_RECEIVE = 0x23 TCP_ZEROCOPY_RECEIVE = 0x23
TFD_TIMER_ABSTIME = 0x1 TFD_TIMER_ABSTIME = 0x1
@ -3530,8 +3547,6 @@ const (
UDP_NO_CHECK6_RX = 0x66 UDP_NO_CHECK6_RX = 0x66
UDP_NO_CHECK6_TX = 0x65 UDP_NO_CHECK6_TX = 0x65
UDP_SEGMENT = 0x67 UDP_SEGMENT = 0x67
UDP_V4_FLOW = 0x2
UDP_V6_FLOW = 0x6
UMOUNT_NOFOLLOW = 0x8 UMOUNT_NOFOLLOW = 0x8
USBDEVICE_SUPER_MAGIC = 0x9fa2 USBDEVICE_SUPER_MAGIC = 0x9fa2
UTIME_NOW = 0x3fffffff UTIME_NOW = 0x3fffffff
@ -3574,7 +3589,7 @@ const (
WDIOS_TEMPPANIC = 0x4 WDIOS_TEMPPANIC = 0x4
WDIOS_UNKNOWN = -0x1 WDIOS_UNKNOWN = -0x1
WEXITED = 0x4 WEXITED = 0x4
WGALLOWEDIP_A_MAX = 0x3 WGALLOWEDIP_A_MAX = 0x4
WGDEVICE_A_MAX = 0x8 WGDEVICE_A_MAX = 0x8
WGPEER_A_MAX = 0xa WGPEER_A_MAX = 0xa
WG_CMD_MAX = 0x1 WG_CMD_MAX = 0x1
@ -3688,6 +3703,7 @@ const (
XDP_SHARED_UMEM = 0x1 XDP_SHARED_UMEM = 0x1
XDP_STATISTICS = 0x7 XDP_STATISTICS = 0x7
XDP_TXMD_FLAGS_CHECKSUM = 0x2 XDP_TXMD_FLAGS_CHECKSUM = 0x2
XDP_TXMD_FLAGS_LAUNCH_TIME = 0x4
XDP_TXMD_FLAGS_TIMESTAMP = 0x1 XDP_TXMD_FLAGS_TIMESTAMP = 0x1
XDP_TX_METADATA = 0x2 XDP_TX_METADATA = 0x2
XDP_TX_RING = 0x3 XDP_TX_RING = 0x3

View File

@ -68,6 +68,7 @@ const (
CS8 = 0x30 CS8 = 0x30
CSIZE = 0x30 CSIZE = 0x30
CSTOPB = 0x40 CSTOPB = 0x40
DM_MPATH_PROBE_PATHS = 0xfd12
ECCGETLAYOUT = 0x81484d11 ECCGETLAYOUT = 0x81484d11
ECCGETSTATS = 0x80104d12 ECCGETSTATS = 0x80104d12
ECHOCTL = 0x200 ECHOCTL = 0x200
@ -360,6 +361,7 @@ const (
SO_OOBINLINE = 0xa SO_OOBINLINE = 0xa
SO_PASSCRED = 0x10 SO_PASSCRED = 0x10
SO_PASSPIDFD = 0x4c SO_PASSPIDFD = 0x4c
SO_PASSRIGHTS = 0x53
SO_PASSSEC = 0x22 SO_PASSSEC = 0x22
SO_PEEK_OFF = 0x2a SO_PEEK_OFF = 0x2a
SO_PEERCRED = 0x11 SO_PEERCRED = 0x11

View File

@ -68,6 +68,7 @@ const (
CS8 = 0x30 CS8 = 0x30
CSIZE = 0x30 CSIZE = 0x30
CSTOPB = 0x40 CSTOPB = 0x40
DM_MPATH_PROBE_PATHS = 0xfd12
ECCGETLAYOUT = 0x81484d11 ECCGETLAYOUT = 0x81484d11
ECCGETSTATS = 0x80104d12 ECCGETSTATS = 0x80104d12
ECHOCTL = 0x200 ECHOCTL = 0x200
@ -361,6 +362,7 @@ const (
SO_OOBINLINE = 0xa SO_OOBINLINE = 0xa
SO_PASSCRED = 0x10 SO_PASSCRED = 0x10
SO_PASSPIDFD = 0x4c SO_PASSPIDFD = 0x4c
SO_PASSRIGHTS = 0x53
SO_PASSSEC = 0x22 SO_PASSSEC = 0x22
SO_PEEK_OFF = 0x2a SO_PEEK_OFF = 0x2a
SO_PEERCRED = 0x11 SO_PEERCRED = 0x11

View File

@ -68,6 +68,7 @@ const (
CS8 = 0x30 CS8 = 0x30
CSIZE = 0x30 CSIZE = 0x30
CSTOPB = 0x40 CSTOPB = 0x40
DM_MPATH_PROBE_PATHS = 0xfd12
ECCGETLAYOUT = 0x81484d11 ECCGETLAYOUT = 0x81484d11
ECCGETSTATS = 0x80104d12 ECCGETSTATS = 0x80104d12
ECHOCTL = 0x200 ECHOCTL = 0x200
@ -366,6 +367,7 @@ const (
SO_OOBINLINE = 0xa SO_OOBINLINE = 0xa
SO_PASSCRED = 0x10 SO_PASSCRED = 0x10
SO_PASSPIDFD = 0x4c SO_PASSPIDFD = 0x4c
SO_PASSRIGHTS = 0x53
SO_PASSSEC = 0x22 SO_PASSSEC = 0x22
SO_PEEK_OFF = 0x2a SO_PEEK_OFF = 0x2a
SO_PEERCRED = 0x11 SO_PEERCRED = 0x11

View File

@ -68,6 +68,7 @@ const (
CS8 = 0x30 CS8 = 0x30
CSIZE = 0x30 CSIZE = 0x30
CSTOPB = 0x40 CSTOPB = 0x40
DM_MPATH_PROBE_PATHS = 0xfd12
ECCGETLAYOUT = 0x81484d11 ECCGETLAYOUT = 0x81484d11
ECCGETSTATS = 0x80104d12 ECCGETSTATS = 0x80104d12
ECHOCTL = 0x200 ECHOCTL = 0x200
@ -359,6 +360,7 @@ const (
SO_OOBINLINE = 0xa SO_OOBINLINE = 0xa
SO_PASSCRED = 0x10 SO_PASSCRED = 0x10
SO_PASSPIDFD = 0x4c SO_PASSPIDFD = 0x4c
SO_PASSRIGHTS = 0x53
SO_PASSSEC = 0x22 SO_PASSSEC = 0x22
SO_PEEK_OFF = 0x2a SO_PEEK_OFF = 0x2a
SO_PEERCRED = 0x11 SO_PEERCRED = 0x11

View File

@ -68,6 +68,7 @@ const (
CS8 = 0x30 CS8 = 0x30
CSIZE = 0x30 CSIZE = 0x30
CSTOPB = 0x40 CSTOPB = 0x40
DM_MPATH_PROBE_PATHS = 0xfd12
ECCGETLAYOUT = 0x81484d11 ECCGETLAYOUT = 0x81484d11
ECCGETSTATS = 0x80104d12 ECCGETSTATS = 0x80104d12
ECHOCTL = 0x200 ECHOCTL = 0x200
@ -353,6 +354,7 @@ const (
SO_OOBINLINE = 0xa SO_OOBINLINE = 0xa
SO_PASSCRED = 0x10 SO_PASSCRED = 0x10
SO_PASSPIDFD = 0x4c SO_PASSPIDFD = 0x4c
SO_PASSRIGHTS = 0x53
SO_PASSSEC = 0x22 SO_PASSSEC = 0x22
SO_PEEK_OFF = 0x2a SO_PEEK_OFF = 0x2a
SO_PEERCRED = 0x11 SO_PEERCRED = 0x11

View File

@ -68,6 +68,7 @@ const (
CS8 = 0x30 CS8 = 0x30
CSIZE = 0x30 CSIZE = 0x30
CSTOPB = 0x40 CSTOPB = 0x40
DM_MPATH_PROBE_PATHS = 0x2000fd12
ECCGETLAYOUT = 0x41484d11 ECCGETLAYOUT = 0x41484d11
ECCGETSTATS = 0x40104d12 ECCGETSTATS = 0x40104d12
ECHOCTL = 0x200 ECHOCTL = 0x200
@ -359,6 +360,7 @@ const (
SO_OOBINLINE = 0x100 SO_OOBINLINE = 0x100
SO_PASSCRED = 0x11 SO_PASSCRED = 0x11
SO_PASSPIDFD = 0x4c SO_PASSPIDFD = 0x4c
SO_PASSRIGHTS = 0x53
SO_PASSSEC = 0x22 SO_PASSSEC = 0x22
SO_PEEK_OFF = 0x2a SO_PEEK_OFF = 0x2a
SO_PEERCRED = 0x12 SO_PEERCRED = 0x12

View File

@ -68,6 +68,7 @@ const (
CS8 = 0x30 CS8 = 0x30
CSIZE = 0x30 CSIZE = 0x30
CSTOPB = 0x40 CSTOPB = 0x40
DM_MPATH_PROBE_PATHS = 0x2000fd12
ECCGETLAYOUT = 0x41484d11 ECCGETLAYOUT = 0x41484d11
ECCGETSTATS = 0x40104d12 ECCGETSTATS = 0x40104d12
ECHOCTL = 0x200 ECHOCTL = 0x200
@ -359,6 +360,7 @@ const (
SO_OOBINLINE = 0x100 SO_OOBINLINE = 0x100
SO_PASSCRED = 0x11 SO_PASSCRED = 0x11
SO_PASSPIDFD = 0x4c SO_PASSPIDFD = 0x4c
SO_PASSRIGHTS = 0x53
SO_PASSSEC = 0x22 SO_PASSSEC = 0x22
SO_PEEK_OFF = 0x2a SO_PEEK_OFF = 0x2a
SO_PEERCRED = 0x12 SO_PEERCRED = 0x12

View File

@ -68,6 +68,7 @@ const (
CS8 = 0x30 CS8 = 0x30
CSIZE = 0x30 CSIZE = 0x30
CSTOPB = 0x40 CSTOPB = 0x40
DM_MPATH_PROBE_PATHS = 0x2000fd12
ECCGETLAYOUT = 0x41484d11 ECCGETLAYOUT = 0x41484d11
ECCGETSTATS = 0x40104d12 ECCGETSTATS = 0x40104d12
ECHOCTL = 0x200 ECHOCTL = 0x200
@ -359,6 +360,7 @@ const (
SO_OOBINLINE = 0x100 SO_OOBINLINE = 0x100
SO_PASSCRED = 0x11 SO_PASSCRED = 0x11
SO_PASSPIDFD = 0x4c SO_PASSPIDFD = 0x4c
SO_PASSRIGHTS = 0x53
SO_PASSSEC = 0x22 SO_PASSSEC = 0x22
SO_PEEK_OFF = 0x2a SO_PEEK_OFF = 0x2a
SO_PEERCRED = 0x12 SO_PEERCRED = 0x12

View File

@ -68,6 +68,7 @@ const (
CS8 = 0x30 CS8 = 0x30
CSIZE = 0x30 CSIZE = 0x30
CSTOPB = 0x40 CSTOPB = 0x40
DM_MPATH_PROBE_PATHS = 0x2000fd12
ECCGETLAYOUT = 0x41484d11 ECCGETLAYOUT = 0x41484d11
ECCGETSTATS = 0x40104d12 ECCGETSTATS = 0x40104d12
ECHOCTL = 0x200 ECHOCTL = 0x200
@ -359,6 +360,7 @@ const (
SO_OOBINLINE = 0x100 SO_OOBINLINE = 0x100
SO_PASSCRED = 0x11 SO_PASSCRED = 0x11
SO_PASSPIDFD = 0x4c SO_PASSPIDFD = 0x4c
SO_PASSRIGHTS = 0x53
SO_PASSSEC = 0x22 SO_PASSSEC = 0x22
SO_PEEK_OFF = 0x2a SO_PEEK_OFF = 0x2a
SO_PEERCRED = 0x12 SO_PEERCRED = 0x12

View File

@ -68,6 +68,7 @@ const (
CS8 = 0x300 CS8 = 0x300
CSIZE = 0x300 CSIZE = 0x300
CSTOPB = 0x400 CSTOPB = 0x400
DM_MPATH_PROBE_PATHS = 0x2000fd12
ECCGETLAYOUT = 0x41484d11 ECCGETLAYOUT = 0x41484d11
ECCGETSTATS = 0x40104d12 ECCGETSTATS = 0x40104d12
ECHOCTL = 0x40 ECHOCTL = 0x40
@ -414,6 +415,7 @@ const (
SO_OOBINLINE = 0xa SO_OOBINLINE = 0xa
SO_PASSCRED = 0x14 SO_PASSCRED = 0x14
SO_PASSPIDFD = 0x4c SO_PASSPIDFD = 0x4c
SO_PASSRIGHTS = 0x53
SO_PASSSEC = 0x22 SO_PASSSEC = 0x22
SO_PEEK_OFF = 0x2a SO_PEEK_OFF = 0x2a
SO_PEERCRED = 0x15 SO_PEERCRED = 0x15

View File

@ -68,6 +68,7 @@ const (
CS8 = 0x300 CS8 = 0x300
CSIZE = 0x300 CSIZE = 0x300
CSTOPB = 0x400 CSTOPB = 0x400
DM_MPATH_PROBE_PATHS = 0x2000fd12
ECCGETLAYOUT = 0x41484d11 ECCGETLAYOUT = 0x41484d11
ECCGETSTATS = 0x40104d12 ECCGETSTATS = 0x40104d12
ECHOCTL = 0x40 ECHOCTL = 0x40
@ -418,6 +419,7 @@ const (
SO_OOBINLINE = 0xa SO_OOBINLINE = 0xa
SO_PASSCRED = 0x14 SO_PASSCRED = 0x14
SO_PASSPIDFD = 0x4c SO_PASSPIDFD = 0x4c
SO_PASSRIGHTS = 0x53
SO_PASSSEC = 0x22 SO_PASSSEC = 0x22
SO_PEEK_OFF = 0x2a SO_PEEK_OFF = 0x2a
SO_PEERCRED = 0x15 SO_PEERCRED = 0x15

View File

@ -68,6 +68,7 @@ const (
CS8 = 0x300 CS8 = 0x300
CSIZE = 0x300 CSIZE = 0x300
CSTOPB = 0x400 CSTOPB = 0x400
DM_MPATH_PROBE_PATHS = 0x2000fd12
ECCGETLAYOUT = 0x41484d11 ECCGETLAYOUT = 0x41484d11
ECCGETSTATS = 0x40104d12 ECCGETSTATS = 0x40104d12
ECHOCTL = 0x40 ECHOCTL = 0x40
@ -418,6 +419,7 @@ const (
SO_OOBINLINE = 0xa SO_OOBINLINE = 0xa
SO_PASSCRED = 0x14 SO_PASSCRED = 0x14
SO_PASSPIDFD = 0x4c SO_PASSPIDFD = 0x4c
SO_PASSRIGHTS = 0x53
SO_PASSSEC = 0x22 SO_PASSSEC = 0x22
SO_PEEK_OFF = 0x2a SO_PEEK_OFF = 0x2a
SO_PEERCRED = 0x15 SO_PEERCRED = 0x15

View File

@ -68,6 +68,7 @@ const (
CS8 = 0x30 CS8 = 0x30
CSIZE = 0x30 CSIZE = 0x30
CSTOPB = 0x40 CSTOPB = 0x40
DM_MPATH_PROBE_PATHS = 0xfd12
ECCGETLAYOUT = 0x81484d11 ECCGETLAYOUT = 0x81484d11
ECCGETSTATS = 0x80104d12 ECCGETSTATS = 0x80104d12
ECHOCTL = 0x200 ECHOCTL = 0x200
@ -350,6 +351,7 @@ const (
SO_OOBINLINE = 0xa SO_OOBINLINE = 0xa
SO_PASSCRED = 0x10 SO_PASSCRED = 0x10
SO_PASSPIDFD = 0x4c SO_PASSPIDFD = 0x4c
SO_PASSRIGHTS = 0x53
SO_PASSSEC = 0x22 SO_PASSSEC = 0x22
SO_PEEK_OFF = 0x2a SO_PEEK_OFF = 0x2a
SO_PEERCRED = 0x11 SO_PEERCRED = 0x11

View File

@ -68,6 +68,7 @@ const (
CS8 = 0x30 CS8 = 0x30
CSIZE = 0x30 CSIZE = 0x30
CSTOPB = 0x40 CSTOPB = 0x40
DM_MPATH_PROBE_PATHS = 0xfd12
ECCGETLAYOUT = 0x81484d11 ECCGETLAYOUT = 0x81484d11
ECCGETSTATS = 0x80104d12 ECCGETSTATS = 0x80104d12
ECHOCTL = 0x200 ECHOCTL = 0x200
@ -422,6 +423,7 @@ const (
SO_OOBINLINE = 0xa SO_OOBINLINE = 0xa
SO_PASSCRED = 0x10 SO_PASSCRED = 0x10
SO_PASSPIDFD = 0x4c SO_PASSPIDFD = 0x4c
SO_PASSRIGHTS = 0x53
SO_PASSSEC = 0x22 SO_PASSSEC = 0x22
SO_PEEK_OFF = 0x2a SO_PEEK_OFF = 0x2a
SO_PEERCRED = 0x11 SO_PEERCRED = 0x11

View File

@ -71,6 +71,7 @@ const (
CS8 = 0x30 CS8 = 0x30
CSIZE = 0x30 CSIZE = 0x30
CSTOPB = 0x40 CSTOPB = 0x40
DM_MPATH_PROBE_PATHS = 0x2000fd12
ECCGETLAYOUT = 0x41484d11 ECCGETLAYOUT = 0x41484d11
ECCGETSTATS = 0x40104d12 ECCGETSTATS = 0x40104d12
ECHOCTL = 0x200 ECHOCTL = 0x200
@ -461,6 +462,7 @@ const (
SO_OOBINLINE = 0x100 SO_OOBINLINE = 0x100
SO_PASSCRED = 0x2 SO_PASSCRED = 0x2
SO_PASSPIDFD = 0x55 SO_PASSPIDFD = 0x55
SO_PASSRIGHTS = 0x5c
SO_PASSSEC = 0x1f SO_PASSSEC = 0x1f
SO_PEEK_OFF = 0x26 SO_PEEK_OFF = 0x26
SO_PEERCRED = 0x40 SO_PEERCRED = 0x40

View File

@ -462,4 +462,5 @@ const (
SYS_GETXATTRAT = 464 SYS_GETXATTRAT = 464
SYS_LISTXATTRAT = 465 SYS_LISTXATTRAT = 465
SYS_REMOVEXATTRAT = 466 SYS_REMOVEXATTRAT = 466
SYS_OPEN_TREE_ATTR = 467
) )

View File

@ -385,4 +385,5 @@ const (
SYS_GETXATTRAT = 464 SYS_GETXATTRAT = 464
SYS_LISTXATTRAT = 465 SYS_LISTXATTRAT = 465
SYS_REMOVEXATTRAT = 466 SYS_REMOVEXATTRAT = 466
SYS_OPEN_TREE_ATTR = 467
) )

View File

@ -426,4 +426,5 @@ const (
SYS_GETXATTRAT = 464 SYS_GETXATTRAT = 464
SYS_LISTXATTRAT = 465 SYS_LISTXATTRAT = 465
SYS_REMOVEXATTRAT = 466 SYS_REMOVEXATTRAT = 466
SYS_OPEN_TREE_ATTR = 467
) )

View File

@ -329,4 +329,5 @@ const (
SYS_GETXATTRAT = 464 SYS_GETXATTRAT = 464
SYS_LISTXATTRAT = 465 SYS_LISTXATTRAT = 465
SYS_REMOVEXATTRAT = 466 SYS_REMOVEXATTRAT = 466
SYS_OPEN_TREE_ATTR = 467
) )

View File

@ -325,4 +325,5 @@ const (
SYS_GETXATTRAT = 464 SYS_GETXATTRAT = 464
SYS_LISTXATTRAT = 465 SYS_LISTXATTRAT = 465
SYS_REMOVEXATTRAT = 466 SYS_REMOVEXATTRAT = 466
SYS_OPEN_TREE_ATTR = 467
) )

View File

@ -446,4 +446,5 @@ const (
SYS_GETXATTRAT = 4464 SYS_GETXATTRAT = 4464
SYS_LISTXATTRAT = 4465 SYS_LISTXATTRAT = 4465
SYS_REMOVEXATTRAT = 4466 SYS_REMOVEXATTRAT = 4466
SYS_OPEN_TREE_ATTR = 4467
) )

View File

@ -376,4 +376,5 @@ const (
SYS_GETXATTRAT = 5464 SYS_GETXATTRAT = 5464
SYS_LISTXATTRAT = 5465 SYS_LISTXATTRAT = 5465
SYS_REMOVEXATTRAT = 5466 SYS_REMOVEXATTRAT = 5466
SYS_OPEN_TREE_ATTR = 5467
) )

View File

@ -376,4 +376,5 @@ const (
SYS_GETXATTRAT = 5464 SYS_GETXATTRAT = 5464
SYS_LISTXATTRAT = 5465 SYS_LISTXATTRAT = 5465
SYS_REMOVEXATTRAT = 5466 SYS_REMOVEXATTRAT = 5466
SYS_OPEN_TREE_ATTR = 5467
) )

View File

@ -446,4 +446,5 @@ const (
SYS_GETXATTRAT = 4464 SYS_GETXATTRAT = 4464
SYS_LISTXATTRAT = 4465 SYS_LISTXATTRAT = 4465
SYS_REMOVEXATTRAT = 4466 SYS_REMOVEXATTRAT = 4466
SYS_OPEN_TREE_ATTR = 4467
) )

View File

@ -453,4 +453,5 @@ const (
SYS_GETXATTRAT = 464 SYS_GETXATTRAT = 464
SYS_LISTXATTRAT = 465 SYS_LISTXATTRAT = 465
SYS_REMOVEXATTRAT = 466 SYS_REMOVEXATTRAT = 466
SYS_OPEN_TREE_ATTR = 467
) )

View File

@ -425,4 +425,5 @@ const (
SYS_GETXATTRAT = 464 SYS_GETXATTRAT = 464
SYS_LISTXATTRAT = 465 SYS_LISTXATTRAT = 465
SYS_REMOVEXATTRAT = 466 SYS_REMOVEXATTRAT = 466
SYS_OPEN_TREE_ATTR = 467
) )

View File

@ -425,4 +425,5 @@ const (
SYS_GETXATTRAT = 464 SYS_GETXATTRAT = 464
SYS_LISTXATTRAT = 465 SYS_LISTXATTRAT = 465
SYS_REMOVEXATTRAT = 466 SYS_REMOVEXATTRAT = 466
SYS_OPEN_TREE_ATTR = 467
) )

View File

@ -330,4 +330,5 @@ const (
SYS_GETXATTRAT = 464 SYS_GETXATTRAT = 464
SYS_LISTXATTRAT = 465 SYS_LISTXATTRAT = 465
SYS_REMOVEXATTRAT = 466 SYS_REMOVEXATTRAT = 466
SYS_OPEN_TREE_ATTR = 467
) )

View File

@ -391,4 +391,5 @@ const (
SYS_GETXATTRAT = 464 SYS_GETXATTRAT = 464
SYS_LISTXATTRAT = 465 SYS_LISTXATTRAT = 465
SYS_REMOVEXATTRAT = 466 SYS_REMOVEXATTRAT = 466
SYS_OPEN_TREE_ATTR = 467
) )

View File

@ -404,4 +404,5 @@ const (
SYS_GETXATTRAT = 464 SYS_GETXATTRAT = 464
SYS_LISTXATTRAT = 465 SYS_LISTXATTRAT = 465
SYS_REMOVEXATTRAT = 466 SYS_REMOVEXATTRAT = 466
SYS_OPEN_TREE_ATTR = 467
) )

View File

@ -115,7 +115,9 @@ type Statx_t struct {
Atomic_write_unit_max uint32 Atomic_write_unit_max uint32
Atomic_write_segments_max uint32 Atomic_write_segments_max uint32
Dio_read_offset_align uint32 Dio_read_offset_align uint32
_ [9]uint64 Atomic_write_unit_max_opt uint32
_ [1]uint32
_ [8]uint64
} }
type Fsid struct { type Fsid struct {
@ -199,7 +201,8 @@ type FscryptAddKeyArg struct {
Key_spec FscryptKeySpecifier Key_spec FscryptKeySpecifier
Raw_size uint32 Raw_size uint32
Key_id uint32 Key_id uint32
_ [8]uint32 Flags uint32
_ [7]uint32
} }
type FscryptRemoveKeyArg struct { type FscryptRemoveKeyArg struct {
@ -2317,6 +2320,11 @@ const (
NFT_CT_AVGPKT = 0x10 NFT_CT_AVGPKT = 0x10
NFT_CT_ZONE = 0x11 NFT_CT_ZONE = 0x11
NFT_CT_EVENTMASK = 0x12 NFT_CT_EVENTMASK = 0x12
NFT_CT_SRC_IP = 0x13
NFT_CT_DST_IP = 0x14
NFT_CT_SRC_IP6 = 0x15
NFT_CT_DST_IP6 = 0x16
NFT_CT_ID = 0x17
NFTA_CT_UNSPEC = 0x0 NFTA_CT_UNSPEC = 0x0
NFTA_CT_DREG = 0x1 NFTA_CT_DREG = 0x1
NFTA_CT_KEY = 0x2 NFTA_CT_KEY = 0x2
@ -2597,8 +2605,8 @@ const (
SOF_TIMESTAMPING_BIND_PHC = 0x8000 SOF_TIMESTAMPING_BIND_PHC = 0x8000
SOF_TIMESTAMPING_OPT_ID_TCP = 0x10000 SOF_TIMESTAMPING_OPT_ID_TCP = 0x10000
SOF_TIMESTAMPING_LAST = 0x20000 SOF_TIMESTAMPING_LAST = 0x40000
SOF_TIMESTAMPING_MASK = 0x3ffff SOF_TIMESTAMPING_MASK = 0x7ffff
SCM_TSTAMP_SND = 0x0 SCM_TSTAMP_SND = 0x0
SCM_TSTAMP_SCHED = 0x1 SCM_TSTAMP_SCHED = 0x1
@ -4044,7 +4052,7 @@ const (
ETHTOOL_A_TSINFO_PHC_INDEX = 0x5 ETHTOOL_A_TSINFO_PHC_INDEX = 0x5
ETHTOOL_A_TSINFO_STATS = 0x6 ETHTOOL_A_TSINFO_STATS = 0x6
ETHTOOL_A_TSINFO_HWTSTAMP_PROVIDER = 0x7 ETHTOOL_A_TSINFO_HWTSTAMP_PROVIDER = 0x7
ETHTOOL_A_TSINFO_MAX = 0x7 ETHTOOL_A_TSINFO_MAX = 0x9
ETHTOOL_A_CABLE_TEST_UNSPEC = 0x0 ETHTOOL_A_CABLE_TEST_UNSPEC = 0x0
ETHTOOL_A_CABLE_TEST_HEADER = 0x1 ETHTOOL_A_CABLE_TEST_HEADER = 0x1
ETHTOOL_A_CABLE_TEST_MAX = 0x1 ETHTOOL_A_CABLE_TEST_MAX = 0x1
@ -4130,6 +4138,19 @@ const (
ETHTOOL_A_TUNNEL_INFO_MAX = 0x2 ETHTOOL_A_TUNNEL_INFO_MAX = 0x2
) )
const (
TCP_V4_FLOW = 0x1
UDP_V4_FLOW = 0x2
TCP_V6_FLOW = 0x5
UDP_V6_FLOW = 0x6
ESP_V4_FLOW = 0xa
ESP_V6_FLOW = 0xc
IP_USER_FLOW = 0xd
IPV6_USER_FLOW = 0xe
IPV6_FLOW = 0x11
ETHER_FLOW = 0x12
)
const SPEED_UNKNOWN = -0x1 const SPEED_UNKNOWN = -0x1
type EthtoolDrvinfo struct { type EthtoolDrvinfo struct {
@ -4780,7 +4801,7 @@ const (
NL80211_ATTR_MAC_HINT = 0xc8 NL80211_ATTR_MAC_HINT = 0xc8
NL80211_ATTR_MAC_MASK = 0xd7 NL80211_ATTR_MAC_MASK = 0xd7
NL80211_ATTR_MAX_AP_ASSOC_STA = 0xca NL80211_ATTR_MAX_AP_ASSOC_STA = 0xca
NL80211_ATTR_MAX = 0x150 NL80211_ATTR_MAX = 0x151
NL80211_ATTR_MAX_CRIT_PROT_DURATION = 0xb4 NL80211_ATTR_MAX_CRIT_PROT_DURATION = 0xb4
NL80211_ATTR_MAX_CSA_COUNTERS = 0xce NL80211_ATTR_MAX_CSA_COUNTERS = 0xce
NL80211_ATTR_MAX_HW_TIMESTAMP_PEERS = 0x143 NL80211_ATTR_MAX_HW_TIMESTAMP_PEERS = 0x143
@ -5414,7 +5435,7 @@ const (
NL80211_FREQUENCY_ATTR_GO_CONCURRENT = 0xf NL80211_FREQUENCY_ATTR_GO_CONCURRENT = 0xf
NL80211_FREQUENCY_ATTR_INDOOR_ONLY = 0xe NL80211_FREQUENCY_ATTR_INDOOR_ONLY = 0xe
NL80211_FREQUENCY_ATTR_IR_CONCURRENT = 0xf NL80211_FREQUENCY_ATTR_IR_CONCURRENT = 0xf
NL80211_FREQUENCY_ATTR_MAX = 0x21 NL80211_FREQUENCY_ATTR_MAX = 0x22
NL80211_FREQUENCY_ATTR_MAX_TX_POWER = 0x6 NL80211_FREQUENCY_ATTR_MAX_TX_POWER = 0x6
NL80211_FREQUENCY_ATTR_NO_10MHZ = 0x11 NL80211_FREQUENCY_ATTR_NO_10MHZ = 0x11
NL80211_FREQUENCY_ATTR_NO_160MHZ = 0xc NL80211_FREQUENCY_ATTR_NO_160MHZ = 0xc
@ -5530,7 +5551,7 @@ const (
NL80211_MAX_SUPP_SELECTORS = 0x80 NL80211_MAX_SUPP_SELECTORS = 0x80
NL80211_MBSSID_CONFIG_ATTR_EMA = 0x5 NL80211_MBSSID_CONFIG_ATTR_EMA = 0x5
NL80211_MBSSID_CONFIG_ATTR_INDEX = 0x3 NL80211_MBSSID_CONFIG_ATTR_INDEX = 0x3
NL80211_MBSSID_CONFIG_ATTR_MAX = 0x5 NL80211_MBSSID_CONFIG_ATTR_MAX = 0x6
NL80211_MBSSID_CONFIG_ATTR_MAX_EMA_PROFILE_PERIODICITY = 0x2 NL80211_MBSSID_CONFIG_ATTR_MAX_EMA_PROFILE_PERIODICITY = 0x2
NL80211_MBSSID_CONFIG_ATTR_MAX_INTERFACES = 0x1 NL80211_MBSSID_CONFIG_ATTR_MAX_INTERFACES = 0x1
NL80211_MBSSID_CONFIG_ATTR_TX_IFINDEX = 0x4 NL80211_MBSSID_CONFIG_ATTR_TX_IFINDEX = 0x4

View File

@ -282,19 +282,13 @@ type Taskstats struct {
Ac_exitcode uint32 Ac_exitcode uint32
Ac_flag uint8 Ac_flag uint8
Ac_nice uint8 Ac_nice uint8
_ [4]byte _ [6]byte
Cpu_count uint64 Cpu_count uint64
Cpu_delay_total uint64 Cpu_delay_total uint64
Cpu_delay_max uint64
Cpu_delay_min uint64
Blkio_count uint64 Blkio_count uint64
Blkio_delay_total uint64 Blkio_delay_total uint64
Blkio_delay_max uint64
Blkio_delay_min uint64
Swapin_count uint64 Swapin_count uint64
Swapin_delay_total uint64 Swapin_delay_total uint64
Swapin_delay_max uint64
Swapin_delay_min uint64
Cpu_run_real_total uint64 Cpu_run_real_total uint64
Cpu_run_virtual_total uint64 Cpu_run_virtual_total uint64
Ac_comm [32]int8 Ac_comm [32]int8
@ -330,17 +324,11 @@ type Taskstats struct {
Cpu_scaled_run_real_total uint64 Cpu_scaled_run_real_total uint64
Freepages_count uint64 Freepages_count uint64
Freepages_delay_total uint64 Freepages_delay_total uint64
Freepages_delay_max uint64
Freepages_delay_min uint64
Thrashing_count uint64 Thrashing_count uint64
Thrashing_delay_total uint64 Thrashing_delay_total uint64
Thrashing_delay_max uint64
Thrashing_delay_min uint64
Ac_btime64 uint64 Ac_btime64 uint64
Compact_count uint64 Compact_count uint64
Compact_delay_total uint64 Compact_delay_total uint64
Compact_delay_max uint64
Compact_delay_min uint64
Ac_tgid uint32 Ac_tgid uint32
_ [4]byte _ [4]byte
Ac_tgetime uint64 Ac_tgetime uint64
@ -348,10 +336,22 @@ type Taskstats struct {
Ac_exe_inode uint64 Ac_exe_inode uint64
Wpcopy_count uint64 Wpcopy_count uint64
Wpcopy_delay_total uint64 Wpcopy_delay_total uint64
Wpcopy_delay_max uint64
Wpcopy_delay_min uint64
Irq_count uint64 Irq_count uint64
Irq_delay_total uint64 Irq_delay_total uint64
Cpu_delay_max uint64
Cpu_delay_min uint64
Blkio_delay_max uint64
Blkio_delay_min uint64
Swapin_delay_max uint64
Swapin_delay_min uint64
Freepages_delay_max uint64
Freepages_delay_min uint64
Thrashing_delay_max uint64
Thrashing_delay_min uint64
Compact_delay_max uint64
Compact_delay_min uint64
Wpcopy_delay_max uint64
Wpcopy_delay_min uint64
Irq_delay_max uint64 Irq_delay_max uint64
Irq_delay_min uint64 Irq_delay_min uint64
} }

View File

@ -300,16 +300,10 @@ type Taskstats struct {
Ac_nice uint8 Ac_nice uint8
Cpu_count uint64 Cpu_count uint64
Cpu_delay_total uint64 Cpu_delay_total uint64
Cpu_delay_max uint64
Cpu_delay_min uint64
Blkio_count uint64 Blkio_count uint64
Blkio_delay_total uint64 Blkio_delay_total uint64
Blkio_delay_max uint64
Blkio_delay_min uint64
Swapin_count uint64 Swapin_count uint64
Swapin_delay_total uint64 Swapin_delay_total uint64
Swapin_delay_max uint64
Swapin_delay_min uint64
Cpu_run_real_total uint64 Cpu_run_real_total uint64
Cpu_run_virtual_total uint64 Cpu_run_virtual_total uint64
Ac_comm [32]int8 Ac_comm [32]int8
@ -344,27 +338,33 @@ type Taskstats struct {
Cpu_scaled_run_real_total uint64 Cpu_scaled_run_real_total uint64
Freepages_count uint64 Freepages_count uint64
Freepages_delay_total uint64 Freepages_delay_total uint64
Freepages_delay_max uint64
Freepages_delay_min uint64
Thrashing_count uint64 Thrashing_count uint64
Thrashing_delay_total uint64 Thrashing_delay_total uint64
Thrashing_delay_max uint64
Thrashing_delay_min uint64
Ac_btime64 uint64 Ac_btime64 uint64
Compact_count uint64 Compact_count uint64
Compact_delay_total uint64 Compact_delay_total uint64
Compact_delay_max uint64
Compact_delay_min uint64
Ac_tgid uint32 Ac_tgid uint32
Ac_tgetime uint64 Ac_tgetime uint64
Ac_exe_dev uint64 Ac_exe_dev uint64
Ac_exe_inode uint64 Ac_exe_inode uint64
Wpcopy_count uint64 Wpcopy_count uint64
Wpcopy_delay_total uint64 Wpcopy_delay_total uint64
Wpcopy_delay_max uint64
Wpcopy_delay_min uint64
Irq_count uint64 Irq_count uint64
Irq_delay_total uint64 Irq_delay_total uint64
Cpu_delay_max uint64
Cpu_delay_min uint64
Blkio_delay_max uint64
Blkio_delay_min uint64
Swapin_delay_max uint64
Swapin_delay_min uint64
Freepages_delay_max uint64
Freepages_delay_min uint64
Thrashing_delay_max uint64
Thrashing_delay_min uint64
Compact_delay_max uint64
Compact_delay_min uint64
Wpcopy_delay_max uint64
Wpcopy_delay_min uint64
Irq_delay_max uint64 Irq_delay_max uint64
Irq_delay_min uint64 Irq_delay_min uint64
} }

View File

@ -91,7 +91,7 @@ type Stat_t struct {
Gid uint32 Gid uint32
Rdev uint64 Rdev uint64
_ uint16 _ uint16
_ [4]byte _ [6]byte
Size int64 Size int64
Blksize int32 Blksize int32
_ [4]byte _ [4]byte
@ -273,19 +273,13 @@ type Taskstats struct {
Ac_exitcode uint32 Ac_exitcode uint32
Ac_flag uint8 Ac_flag uint8
Ac_nice uint8 Ac_nice uint8
_ [4]byte _ [6]byte
Cpu_count uint64 Cpu_count uint64
Cpu_delay_total uint64 Cpu_delay_total uint64
Cpu_delay_max uint64
Cpu_delay_min uint64
Blkio_count uint64 Blkio_count uint64
Blkio_delay_total uint64 Blkio_delay_total uint64
Blkio_delay_max uint64
Blkio_delay_min uint64
Swapin_count uint64 Swapin_count uint64
Swapin_delay_total uint64 Swapin_delay_total uint64
Swapin_delay_max uint64
Swapin_delay_min uint64
Cpu_run_real_total uint64 Cpu_run_real_total uint64
Cpu_run_virtual_total uint64 Cpu_run_virtual_total uint64
Ac_comm [32]uint8 Ac_comm [32]uint8
@ -321,17 +315,11 @@ type Taskstats struct {
Cpu_scaled_run_real_total uint64 Cpu_scaled_run_real_total uint64
Freepages_count uint64 Freepages_count uint64
Freepages_delay_total uint64 Freepages_delay_total uint64
Freepages_delay_max uint64
Freepages_delay_min uint64
Thrashing_count uint64 Thrashing_count uint64
Thrashing_delay_total uint64 Thrashing_delay_total uint64
Thrashing_delay_max uint64
Thrashing_delay_min uint64
Ac_btime64 uint64 Ac_btime64 uint64
Compact_count uint64 Compact_count uint64
Compact_delay_total uint64 Compact_delay_total uint64
Compact_delay_max uint64
Compact_delay_min uint64
Ac_tgid uint32 Ac_tgid uint32
_ [4]byte _ [4]byte
Ac_tgetime uint64 Ac_tgetime uint64
@ -339,10 +327,22 @@ type Taskstats struct {
Ac_exe_inode uint64 Ac_exe_inode uint64
Wpcopy_count uint64 Wpcopy_count uint64
Wpcopy_delay_total uint64 Wpcopy_delay_total uint64
Wpcopy_delay_max uint64
Wpcopy_delay_min uint64
Irq_count uint64 Irq_count uint64
Irq_delay_total uint64 Irq_delay_total uint64
Cpu_delay_max uint64
Cpu_delay_min uint64
Blkio_delay_max uint64
Blkio_delay_min uint64
Swapin_delay_max uint64
Swapin_delay_min uint64
Freepages_delay_max uint64
Freepages_delay_min uint64
Thrashing_delay_max uint64
Thrashing_delay_min uint64
Compact_delay_max uint64
Compact_delay_min uint64
Wpcopy_delay_max uint64
Wpcopy_delay_min uint64
Irq_delay_max uint64 Irq_delay_max uint64
Irq_delay_min uint64 Irq_delay_min uint64
} }

View File

@ -279,16 +279,10 @@ type Taskstats struct {
Ac_nice uint8 Ac_nice uint8
Cpu_count uint64 Cpu_count uint64
Cpu_delay_total uint64 Cpu_delay_total uint64
Cpu_delay_max uint64
Cpu_delay_min uint64
Blkio_count uint64 Blkio_count uint64
Blkio_delay_total uint64 Blkio_delay_total uint64
Blkio_delay_max uint64
Blkio_delay_min uint64
Swapin_count uint64 Swapin_count uint64
Swapin_delay_total uint64 Swapin_delay_total uint64
Swapin_delay_max uint64
Swapin_delay_min uint64
Cpu_run_real_total uint64 Cpu_run_real_total uint64
Cpu_run_virtual_total uint64 Cpu_run_virtual_total uint64
Ac_comm [32]int8 Ac_comm [32]int8
@ -323,27 +317,33 @@ type Taskstats struct {
Cpu_scaled_run_real_total uint64 Cpu_scaled_run_real_total uint64
Freepages_count uint64 Freepages_count uint64
Freepages_delay_total uint64 Freepages_delay_total uint64
Freepages_delay_max uint64
Freepages_delay_min uint64
Thrashing_count uint64 Thrashing_count uint64
Thrashing_delay_total uint64 Thrashing_delay_total uint64
Thrashing_delay_max uint64
Thrashing_delay_min uint64
Ac_btime64 uint64 Ac_btime64 uint64
Compact_count uint64 Compact_count uint64
Compact_delay_total uint64 Compact_delay_total uint64
Compact_delay_max uint64
Compact_delay_min uint64
Ac_tgid uint32 Ac_tgid uint32
Ac_tgetime uint64 Ac_tgetime uint64
Ac_exe_dev uint64 Ac_exe_dev uint64
Ac_exe_inode uint64 Ac_exe_inode uint64
Wpcopy_count uint64 Wpcopy_count uint64
Wpcopy_delay_total uint64 Wpcopy_delay_total uint64
Wpcopy_delay_max uint64
Wpcopy_delay_min uint64
Irq_count uint64 Irq_count uint64
Irq_delay_total uint64 Irq_delay_total uint64
Cpu_delay_max uint64
Cpu_delay_min uint64
Blkio_delay_max uint64
Blkio_delay_min uint64
Swapin_delay_max uint64
Swapin_delay_min uint64
Freepages_delay_max uint64
Freepages_delay_min uint64
Thrashing_delay_max uint64
Thrashing_delay_min uint64
Compact_delay_max uint64
Compact_delay_min uint64
Wpcopy_delay_max uint64
Wpcopy_delay_min uint64
Irq_delay_max uint64 Irq_delay_max uint64
Irq_delay_min uint64 Irq_delay_min uint64
} }

View File

@ -280,16 +280,10 @@ type Taskstats struct {
Ac_nice uint8 Ac_nice uint8
Cpu_count uint64 Cpu_count uint64
Cpu_delay_total uint64 Cpu_delay_total uint64
Cpu_delay_max uint64
Cpu_delay_min uint64
Blkio_count uint64 Blkio_count uint64
Blkio_delay_total uint64 Blkio_delay_total uint64
Blkio_delay_max uint64
Blkio_delay_min uint64
Swapin_count uint64 Swapin_count uint64
Swapin_delay_total uint64 Swapin_delay_total uint64
Swapin_delay_max uint64
Swapin_delay_min uint64
Cpu_run_real_total uint64 Cpu_run_real_total uint64
Cpu_run_virtual_total uint64 Cpu_run_virtual_total uint64
Ac_comm [32]int8 Ac_comm [32]int8
@ -324,27 +318,33 @@ type Taskstats struct {
Cpu_scaled_run_real_total uint64 Cpu_scaled_run_real_total uint64
Freepages_count uint64 Freepages_count uint64
Freepages_delay_total uint64 Freepages_delay_total uint64
Freepages_delay_max uint64
Freepages_delay_min uint64
Thrashing_count uint64 Thrashing_count uint64
Thrashing_delay_total uint64 Thrashing_delay_total uint64
Thrashing_delay_max uint64
Thrashing_delay_min uint64
Ac_btime64 uint64 Ac_btime64 uint64
Compact_count uint64 Compact_count uint64
Compact_delay_total uint64 Compact_delay_total uint64
Compact_delay_max uint64
Compact_delay_min uint64
Ac_tgid uint32 Ac_tgid uint32
Ac_tgetime uint64 Ac_tgetime uint64
Ac_exe_dev uint64 Ac_exe_dev uint64
Ac_exe_inode uint64 Ac_exe_inode uint64
Wpcopy_count uint64 Wpcopy_count uint64
Wpcopy_delay_total uint64 Wpcopy_delay_total uint64
Wpcopy_delay_max uint64
Wpcopy_delay_min uint64
Irq_count uint64 Irq_count uint64
Irq_delay_total uint64 Irq_delay_total uint64
Cpu_delay_max uint64
Cpu_delay_min uint64
Blkio_delay_max uint64
Blkio_delay_min uint64
Swapin_delay_max uint64
Swapin_delay_min uint64
Freepages_delay_max uint64
Freepages_delay_min uint64
Thrashing_delay_max uint64
Thrashing_delay_min uint64
Compact_delay_max uint64
Compact_delay_min uint64
Wpcopy_delay_max uint64
Wpcopy_delay_min uint64
Irq_delay_max uint64 Irq_delay_max uint64
Irq_delay_min uint64 Irq_delay_min uint64
} }

View File

@ -278,19 +278,13 @@ type Taskstats struct {
Ac_exitcode uint32 Ac_exitcode uint32
Ac_flag uint8 Ac_flag uint8
Ac_nice uint8 Ac_nice uint8
_ [4]byte _ [6]byte
Cpu_count uint64 Cpu_count uint64
Cpu_delay_total uint64 Cpu_delay_total uint64
Cpu_delay_max uint64
Cpu_delay_min uint64
Blkio_count uint64 Blkio_count uint64
Blkio_delay_total uint64 Blkio_delay_total uint64
Blkio_delay_max uint64
Blkio_delay_min uint64
Swapin_count uint64 Swapin_count uint64
Swapin_delay_total uint64 Swapin_delay_total uint64
Swapin_delay_max uint64
Swapin_delay_min uint64
Cpu_run_real_total uint64 Cpu_run_real_total uint64
Cpu_run_virtual_total uint64 Cpu_run_virtual_total uint64
Ac_comm [32]int8 Ac_comm [32]int8
@ -326,17 +320,11 @@ type Taskstats struct {
Cpu_scaled_run_real_total uint64 Cpu_scaled_run_real_total uint64
Freepages_count uint64 Freepages_count uint64
Freepages_delay_total uint64 Freepages_delay_total uint64
Freepages_delay_max uint64
Freepages_delay_min uint64
Thrashing_count uint64 Thrashing_count uint64
Thrashing_delay_total uint64 Thrashing_delay_total uint64
Thrashing_delay_max uint64
Thrashing_delay_min uint64
Ac_btime64 uint64 Ac_btime64 uint64
Compact_count uint64 Compact_count uint64
Compact_delay_total uint64 Compact_delay_total uint64
Compact_delay_max uint64
Compact_delay_min uint64
Ac_tgid uint32 Ac_tgid uint32
_ [4]byte _ [4]byte
Ac_tgetime uint64 Ac_tgetime uint64
@ -344,10 +332,22 @@ type Taskstats struct {
Ac_exe_inode uint64 Ac_exe_inode uint64
Wpcopy_count uint64 Wpcopy_count uint64
Wpcopy_delay_total uint64 Wpcopy_delay_total uint64
Wpcopy_delay_max uint64
Wpcopy_delay_min uint64
Irq_count uint64 Irq_count uint64
Irq_delay_total uint64 Irq_delay_total uint64
Cpu_delay_max uint64
Cpu_delay_min uint64
Blkio_delay_max uint64
Blkio_delay_min uint64
Swapin_delay_max uint64
Swapin_delay_min uint64
Freepages_delay_max uint64
Freepages_delay_min uint64
Thrashing_delay_max uint64
Thrashing_delay_min uint64
Compact_delay_max uint64
Compact_delay_min uint64
Wpcopy_delay_max uint64
Wpcopy_delay_min uint64
Irq_delay_max uint64 Irq_delay_max uint64
Irq_delay_min uint64 Irq_delay_min uint64
} }

View File

@ -282,16 +282,10 @@ type Taskstats struct {
Ac_nice uint8 Ac_nice uint8
Cpu_count uint64 Cpu_count uint64
Cpu_delay_total uint64 Cpu_delay_total uint64
Cpu_delay_max uint64
Cpu_delay_min uint64
Blkio_count uint64 Blkio_count uint64
Blkio_delay_total uint64 Blkio_delay_total uint64
Blkio_delay_max uint64
Blkio_delay_min uint64
Swapin_count uint64 Swapin_count uint64
Swapin_delay_total uint64 Swapin_delay_total uint64
Swapin_delay_max uint64
Swapin_delay_min uint64
Cpu_run_real_total uint64 Cpu_run_real_total uint64
Cpu_run_virtual_total uint64 Cpu_run_virtual_total uint64
Ac_comm [32]int8 Ac_comm [32]int8
@ -326,27 +320,33 @@ type Taskstats struct {
Cpu_scaled_run_real_total uint64 Cpu_scaled_run_real_total uint64
Freepages_count uint64 Freepages_count uint64
Freepages_delay_total uint64 Freepages_delay_total uint64
Freepages_delay_max uint64
Freepages_delay_min uint64
Thrashing_count uint64 Thrashing_count uint64
Thrashing_delay_total uint64 Thrashing_delay_total uint64
Thrashing_delay_max uint64
Thrashing_delay_min uint64
Ac_btime64 uint64 Ac_btime64 uint64
Compact_count uint64 Compact_count uint64
Compact_delay_total uint64 Compact_delay_total uint64
Compact_delay_max uint64
Compact_delay_min uint64
Ac_tgid uint32 Ac_tgid uint32
Ac_tgetime uint64 Ac_tgetime uint64
Ac_exe_dev uint64 Ac_exe_dev uint64
Ac_exe_inode uint64 Ac_exe_inode uint64
Wpcopy_count uint64 Wpcopy_count uint64
Wpcopy_delay_total uint64 Wpcopy_delay_total uint64
Wpcopy_delay_max uint64
Wpcopy_delay_min uint64
Irq_count uint64 Irq_count uint64
Irq_delay_total uint64 Irq_delay_total uint64
Cpu_delay_max uint64
Cpu_delay_min uint64
Blkio_delay_max uint64
Blkio_delay_min uint64
Swapin_delay_max uint64
Swapin_delay_min uint64
Freepages_delay_max uint64
Freepages_delay_min uint64
Thrashing_delay_max uint64
Thrashing_delay_min uint64
Compact_delay_max uint64
Compact_delay_min uint64
Wpcopy_delay_max uint64
Wpcopy_delay_min uint64
Irq_delay_max uint64 Irq_delay_max uint64
Irq_delay_min uint64 Irq_delay_min uint64
} }

View File

@ -282,16 +282,10 @@ type Taskstats struct {
Ac_nice uint8 Ac_nice uint8
Cpu_count uint64 Cpu_count uint64
Cpu_delay_total uint64 Cpu_delay_total uint64
Cpu_delay_max uint64
Cpu_delay_min uint64
Blkio_count uint64 Blkio_count uint64
Blkio_delay_total uint64 Blkio_delay_total uint64
Blkio_delay_max uint64
Blkio_delay_min uint64
Swapin_count uint64 Swapin_count uint64
Swapin_delay_total uint64 Swapin_delay_total uint64
Swapin_delay_max uint64
Swapin_delay_min uint64
Cpu_run_real_total uint64 Cpu_run_real_total uint64
Cpu_run_virtual_total uint64 Cpu_run_virtual_total uint64
Ac_comm [32]int8 Ac_comm [32]int8
@ -326,27 +320,33 @@ type Taskstats struct {
Cpu_scaled_run_real_total uint64 Cpu_scaled_run_real_total uint64
Freepages_count uint64 Freepages_count uint64
Freepages_delay_total uint64 Freepages_delay_total uint64
Freepages_delay_max uint64
Freepages_delay_min uint64
Thrashing_count uint64 Thrashing_count uint64
Thrashing_delay_total uint64 Thrashing_delay_total uint64
Thrashing_delay_max uint64
Thrashing_delay_min uint64
Ac_btime64 uint64 Ac_btime64 uint64
Compact_count uint64 Compact_count uint64
Compact_delay_total uint64 Compact_delay_total uint64
Compact_delay_max uint64
Compact_delay_min uint64
Ac_tgid uint32 Ac_tgid uint32
Ac_tgetime uint64 Ac_tgetime uint64
Ac_exe_dev uint64 Ac_exe_dev uint64
Ac_exe_inode uint64 Ac_exe_inode uint64
Wpcopy_count uint64 Wpcopy_count uint64
Wpcopy_delay_total uint64 Wpcopy_delay_total uint64
Wpcopy_delay_max uint64
Wpcopy_delay_min uint64
Irq_count uint64 Irq_count uint64
Irq_delay_total uint64 Irq_delay_total uint64
Cpu_delay_max uint64
Cpu_delay_min uint64
Blkio_delay_max uint64
Blkio_delay_min uint64
Swapin_delay_max uint64
Swapin_delay_min uint64
Freepages_delay_max uint64
Freepages_delay_min uint64
Thrashing_delay_max uint64
Thrashing_delay_min uint64
Compact_delay_max uint64
Compact_delay_min uint64
Wpcopy_delay_max uint64
Wpcopy_delay_min uint64
Irq_delay_max uint64 Irq_delay_max uint64
Irq_delay_min uint64 Irq_delay_min uint64
} }

View File

@ -278,19 +278,13 @@ type Taskstats struct {
Ac_exitcode uint32 Ac_exitcode uint32
Ac_flag uint8 Ac_flag uint8
Ac_nice uint8 Ac_nice uint8
_ [4]byte _ [6]byte
Cpu_count uint64 Cpu_count uint64
Cpu_delay_total uint64 Cpu_delay_total uint64
Cpu_delay_max uint64
Cpu_delay_min uint64
Blkio_count uint64 Blkio_count uint64
Blkio_delay_total uint64 Blkio_delay_total uint64
Blkio_delay_max uint64
Blkio_delay_min uint64
Swapin_count uint64 Swapin_count uint64
Swapin_delay_total uint64 Swapin_delay_total uint64
Swapin_delay_max uint64
Swapin_delay_min uint64
Cpu_run_real_total uint64 Cpu_run_real_total uint64
Cpu_run_virtual_total uint64 Cpu_run_virtual_total uint64
Ac_comm [32]int8 Ac_comm [32]int8
@ -326,17 +320,11 @@ type Taskstats struct {
Cpu_scaled_run_real_total uint64 Cpu_scaled_run_real_total uint64
Freepages_count uint64 Freepages_count uint64
Freepages_delay_total uint64 Freepages_delay_total uint64
Freepages_delay_max uint64
Freepages_delay_min uint64
Thrashing_count uint64 Thrashing_count uint64
Thrashing_delay_total uint64 Thrashing_delay_total uint64
Thrashing_delay_max uint64
Thrashing_delay_min uint64
Ac_btime64 uint64 Ac_btime64 uint64
Compact_count uint64 Compact_count uint64
Compact_delay_total uint64 Compact_delay_total uint64
Compact_delay_max uint64
Compact_delay_min uint64
Ac_tgid uint32 Ac_tgid uint32
_ [4]byte _ [4]byte
Ac_tgetime uint64 Ac_tgetime uint64
@ -344,10 +332,22 @@ type Taskstats struct {
Ac_exe_inode uint64 Ac_exe_inode uint64
Wpcopy_count uint64 Wpcopy_count uint64
Wpcopy_delay_total uint64 Wpcopy_delay_total uint64
Wpcopy_delay_max uint64
Wpcopy_delay_min uint64
Irq_count uint64 Irq_count uint64
Irq_delay_total uint64 Irq_delay_total uint64
Cpu_delay_max uint64
Cpu_delay_min uint64
Blkio_delay_max uint64
Blkio_delay_min uint64
Swapin_delay_max uint64
Swapin_delay_min uint64
Freepages_delay_max uint64
Freepages_delay_min uint64
Thrashing_delay_max uint64
Thrashing_delay_min uint64
Compact_delay_max uint64
Compact_delay_min uint64
Wpcopy_delay_max uint64
Wpcopy_delay_min uint64
Irq_delay_max uint64 Irq_delay_max uint64
Irq_delay_min uint64 Irq_delay_min uint64
} }

View File

@ -90,7 +90,7 @@ type Stat_t struct {
Gid uint32 Gid uint32
Rdev uint64 Rdev uint64
_ uint16 _ uint16
_ [4]byte _ [6]byte
Size int64 Size int64
Blksize int32 Blksize int32
_ [4]byte _ [4]byte
@ -285,19 +285,13 @@ type Taskstats struct {
Ac_exitcode uint32 Ac_exitcode uint32
Ac_flag uint8 Ac_flag uint8
Ac_nice uint8 Ac_nice uint8
_ [4]byte _ [6]byte
Cpu_count uint64 Cpu_count uint64
Cpu_delay_total uint64 Cpu_delay_total uint64
Cpu_delay_max uint64
Cpu_delay_min uint64
Blkio_count uint64 Blkio_count uint64
Blkio_delay_total uint64 Blkio_delay_total uint64
Blkio_delay_max uint64
Blkio_delay_min uint64
Swapin_count uint64 Swapin_count uint64
Swapin_delay_total uint64 Swapin_delay_total uint64
Swapin_delay_max uint64
Swapin_delay_min uint64
Cpu_run_real_total uint64 Cpu_run_real_total uint64
Cpu_run_virtual_total uint64 Cpu_run_virtual_total uint64
Ac_comm [32]uint8 Ac_comm [32]uint8
@ -333,17 +327,11 @@ type Taskstats struct {
Cpu_scaled_run_real_total uint64 Cpu_scaled_run_real_total uint64
Freepages_count uint64 Freepages_count uint64
Freepages_delay_total uint64 Freepages_delay_total uint64
Freepages_delay_max uint64
Freepages_delay_min uint64
Thrashing_count uint64 Thrashing_count uint64
Thrashing_delay_total uint64 Thrashing_delay_total uint64
Thrashing_delay_max uint64
Thrashing_delay_min uint64
Ac_btime64 uint64 Ac_btime64 uint64
Compact_count uint64 Compact_count uint64
Compact_delay_total uint64 Compact_delay_total uint64
Compact_delay_max uint64
Compact_delay_min uint64
Ac_tgid uint32 Ac_tgid uint32
_ [4]byte _ [4]byte
Ac_tgetime uint64 Ac_tgetime uint64
@ -351,10 +339,22 @@ type Taskstats struct {
Ac_exe_inode uint64 Ac_exe_inode uint64
Wpcopy_count uint64 Wpcopy_count uint64
Wpcopy_delay_total uint64 Wpcopy_delay_total uint64
Wpcopy_delay_max uint64
Wpcopy_delay_min uint64
Irq_count uint64 Irq_count uint64
Irq_delay_total uint64 Irq_delay_total uint64
Cpu_delay_max uint64
Cpu_delay_min uint64
Blkio_delay_max uint64
Blkio_delay_min uint64
Swapin_delay_max uint64
Swapin_delay_min uint64
Freepages_delay_max uint64
Freepages_delay_min uint64
Thrashing_delay_max uint64
Thrashing_delay_min uint64
Compact_delay_max uint64
Compact_delay_min uint64
Wpcopy_delay_max uint64
Wpcopy_delay_min uint64
Irq_delay_max uint64 Irq_delay_max uint64
Irq_delay_min uint64 Irq_delay_min uint64
} }

View File

@ -289,16 +289,10 @@ type Taskstats struct {
Ac_nice uint8 Ac_nice uint8
Cpu_count uint64 Cpu_count uint64
Cpu_delay_total uint64 Cpu_delay_total uint64
Cpu_delay_max uint64
Cpu_delay_min uint64
Blkio_count uint64 Blkio_count uint64
Blkio_delay_total uint64 Blkio_delay_total uint64
Blkio_delay_max uint64
Blkio_delay_min uint64
Swapin_count uint64 Swapin_count uint64
Swapin_delay_total uint64 Swapin_delay_total uint64
Swapin_delay_max uint64
Swapin_delay_min uint64
Cpu_run_real_total uint64 Cpu_run_real_total uint64
Cpu_run_virtual_total uint64 Cpu_run_virtual_total uint64
Ac_comm [32]uint8 Ac_comm [32]uint8
@ -333,27 +327,33 @@ type Taskstats struct {
Cpu_scaled_run_real_total uint64 Cpu_scaled_run_real_total uint64
Freepages_count uint64 Freepages_count uint64
Freepages_delay_total uint64 Freepages_delay_total uint64
Freepages_delay_max uint64
Freepages_delay_min uint64
Thrashing_count uint64 Thrashing_count uint64
Thrashing_delay_total uint64 Thrashing_delay_total uint64
Thrashing_delay_max uint64
Thrashing_delay_min uint64
Ac_btime64 uint64 Ac_btime64 uint64
Compact_count uint64 Compact_count uint64
Compact_delay_total uint64 Compact_delay_total uint64
Compact_delay_max uint64
Compact_delay_min uint64
Ac_tgid uint32 Ac_tgid uint32
Ac_tgetime uint64 Ac_tgetime uint64
Ac_exe_dev uint64 Ac_exe_dev uint64
Ac_exe_inode uint64 Ac_exe_inode uint64
Wpcopy_count uint64 Wpcopy_count uint64
Wpcopy_delay_total uint64 Wpcopy_delay_total uint64
Wpcopy_delay_max uint64
Wpcopy_delay_min uint64
Irq_count uint64 Irq_count uint64
Irq_delay_total uint64 Irq_delay_total uint64
Cpu_delay_max uint64
Cpu_delay_min uint64
Blkio_delay_max uint64
Blkio_delay_min uint64
Swapin_delay_max uint64
Swapin_delay_min uint64
Freepages_delay_max uint64
Freepages_delay_min uint64
Thrashing_delay_max uint64
Thrashing_delay_min uint64
Compact_delay_max uint64
Compact_delay_min uint64
Wpcopy_delay_max uint64
Wpcopy_delay_min uint64
Irq_delay_max uint64 Irq_delay_max uint64
Irq_delay_min uint64 Irq_delay_min uint64
} }

View File

@ -289,16 +289,10 @@ type Taskstats struct {
Ac_nice uint8 Ac_nice uint8
Cpu_count uint64 Cpu_count uint64
Cpu_delay_total uint64 Cpu_delay_total uint64
Cpu_delay_max uint64
Cpu_delay_min uint64
Blkio_count uint64 Blkio_count uint64
Blkio_delay_total uint64 Blkio_delay_total uint64
Blkio_delay_max uint64
Blkio_delay_min uint64
Swapin_count uint64 Swapin_count uint64
Swapin_delay_total uint64 Swapin_delay_total uint64
Swapin_delay_max uint64
Swapin_delay_min uint64
Cpu_run_real_total uint64 Cpu_run_real_total uint64
Cpu_run_virtual_total uint64 Cpu_run_virtual_total uint64
Ac_comm [32]uint8 Ac_comm [32]uint8
@ -333,27 +327,33 @@ type Taskstats struct {
Cpu_scaled_run_real_total uint64 Cpu_scaled_run_real_total uint64
Freepages_count uint64 Freepages_count uint64
Freepages_delay_total uint64 Freepages_delay_total uint64
Freepages_delay_max uint64
Freepages_delay_min uint64
Thrashing_count uint64 Thrashing_count uint64
Thrashing_delay_total uint64 Thrashing_delay_total uint64
Thrashing_delay_max uint64
Thrashing_delay_min uint64
Ac_btime64 uint64 Ac_btime64 uint64
Compact_count uint64 Compact_count uint64
Compact_delay_total uint64 Compact_delay_total uint64
Compact_delay_max uint64
Compact_delay_min uint64
Ac_tgid uint32 Ac_tgid uint32
Ac_tgetime uint64 Ac_tgetime uint64
Ac_exe_dev uint64 Ac_exe_dev uint64
Ac_exe_inode uint64 Ac_exe_inode uint64
Wpcopy_count uint64 Wpcopy_count uint64
Wpcopy_delay_total uint64 Wpcopy_delay_total uint64
Wpcopy_delay_max uint64
Wpcopy_delay_min uint64
Irq_count uint64 Irq_count uint64
Irq_delay_total uint64 Irq_delay_total uint64
Cpu_delay_max uint64
Cpu_delay_min uint64
Blkio_delay_max uint64
Blkio_delay_min uint64
Swapin_delay_max uint64
Swapin_delay_min uint64
Freepages_delay_max uint64
Freepages_delay_min uint64
Thrashing_delay_max uint64
Thrashing_delay_min uint64
Compact_delay_max uint64
Compact_delay_min uint64
Wpcopy_delay_max uint64
Wpcopy_delay_min uint64
Irq_delay_max uint64 Irq_delay_max uint64
Irq_delay_min uint64 Irq_delay_min uint64
} }

View File

@ -307,16 +307,10 @@ type Taskstats struct {
Ac_nice uint8 Ac_nice uint8
Cpu_count uint64 Cpu_count uint64
Cpu_delay_total uint64 Cpu_delay_total uint64
Cpu_delay_max uint64
Cpu_delay_min uint64
Blkio_count uint64 Blkio_count uint64
Blkio_delay_total uint64 Blkio_delay_total uint64
Blkio_delay_max uint64
Blkio_delay_min uint64
Swapin_count uint64 Swapin_count uint64
Swapin_delay_total uint64 Swapin_delay_total uint64
Swapin_delay_max uint64
Swapin_delay_min uint64
Cpu_run_real_total uint64 Cpu_run_real_total uint64
Cpu_run_virtual_total uint64 Cpu_run_virtual_total uint64
Ac_comm [32]uint8 Ac_comm [32]uint8
@ -351,27 +345,33 @@ type Taskstats struct {
Cpu_scaled_run_real_total uint64 Cpu_scaled_run_real_total uint64
Freepages_count uint64 Freepages_count uint64
Freepages_delay_total uint64 Freepages_delay_total uint64
Freepages_delay_max uint64
Freepages_delay_min uint64
Thrashing_count uint64 Thrashing_count uint64
Thrashing_delay_total uint64 Thrashing_delay_total uint64
Thrashing_delay_max uint64
Thrashing_delay_min uint64
Ac_btime64 uint64 Ac_btime64 uint64
Compact_count uint64 Compact_count uint64
Compact_delay_total uint64 Compact_delay_total uint64
Compact_delay_max uint64
Compact_delay_min uint64
Ac_tgid uint32 Ac_tgid uint32
Ac_tgetime uint64 Ac_tgetime uint64
Ac_exe_dev uint64 Ac_exe_dev uint64
Ac_exe_inode uint64 Ac_exe_inode uint64
Wpcopy_count uint64 Wpcopy_count uint64
Wpcopy_delay_total uint64 Wpcopy_delay_total uint64
Wpcopy_delay_max uint64
Wpcopy_delay_min uint64
Irq_count uint64 Irq_count uint64
Irq_delay_total uint64 Irq_delay_total uint64
Cpu_delay_max uint64
Cpu_delay_min uint64
Blkio_delay_max uint64
Blkio_delay_min uint64
Swapin_delay_max uint64
Swapin_delay_min uint64
Freepages_delay_max uint64
Freepages_delay_min uint64
Thrashing_delay_max uint64
Thrashing_delay_min uint64
Compact_delay_max uint64
Compact_delay_min uint64
Wpcopy_delay_max uint64
Wpcopy_delay_min uint64
Irq_delay_max uint64 Irq_delay_max uint64
Irq_delay_min uint64 Irq_delay_min uint64
} }

View File

@ -302,16 +302,10 @@ type Taskstats struct {
Ac_nice uint8 Ac_nice uint8
Cpu_count uint64 Cpu_count uint64
Cpu_delay_total uint64 Cpu_delay_total uint64
Cpu_delay_max uint64
Cpu_delay_min uint64
Blkio_count uint64 Blkio_count uint64
Blkio_delay_total uint64 Blkio_delay_total uint64
Blkio_delay_max uint64
Blkio_delay_min uint64
Swapin_count uint64 Swapin_count uint64
Swapin_delay_total uint64 Swapin_delay_total uint64
Swapin_delay_max uint64
Swapin_delay_min uint64
Cpu_run_real_total uint64 Cpu_run_real_total uint64
Cpu_run_virtual_total uint64 Cpu_run_virtual_total uint64
Ac_comm [32]int8 Ac_comm [32]int8
@ -346,27 +340,33 @@ type Taskstats struct {
Cpu_scaled_run_real_total uint64 Cpu_scaled_run_real_total uint64
Freepages_count uint64 Freepages_count uint64
Freepages_delay_total uint64 Freepages_delay_total uint64
Freepages_delay_max uint64
Freepages_delay_min uint64
Thrashing_count uint64 Thrashing_count uint64
Thrashing_delay_total uint64 Thrashing_delay_total uint64
Thrashing_delay_max uint64
Thrashing_delay_min uint64
Ac_btime64 uint64 Ac_btime64 uint64
Compact_count uint64 Compact_count uint64
Compact_delay_total uint64 Compact_delay_total uint64
Compact_delay_max uint64
Compact_delay_min uint64
Ac_tgid uint32 Ac_tgid uint32
Ac_tgetime uint64 Ac_tgetime uint64
Ac_exe_dev uint64 Ac_exe_dev uint64
Ac_exe_inode uint64 Ac_exe_inode uint64
Wpcopy_count uint64 Wpcopy_count uint64
Wpcopy_delay_total uint64 Wpcopy_delay_total uint64
Wpcopy_delay_max uint64
Wpcopy_delay_min uint64
Irq_count uint64 Irq_count uint64
Irq_delay_total uint64 Irq_delay_total uint64
Cpu_delay_max uint64
Cpu_delay_min uint64
Blkio_delay_max uint64
Blkio_delay_min uint64
Swapin_delay_max uint64
Swapin_delay_min uint64
Freepages_delay_max uint64
Freepages_delay_min uint64
Thrashing_delay_max uint64
Thrashing_delay_min uint64
Compact_delay_max uint64
Compact_delay_min uint64
Wpcopy_delay_max uint64
Wpcopy_delay_min uint64
Irq_delay_max uint64 Irq_delay_max uint64
Irq_delay_min uint64 Irq_delay_min uint64
} }

View File

@ -284,16 +284,10 @@ type Taskstats struct {
Ac_nice uint8 Ac_nice uint8
Cpu_count uint64 Cpu_count uint64
Cpu_delay_total uint64 Cpu_delay_total uint64
Cpu_delay_max uint64
Cpu_delay_min uint64
Blkio_count uint64 Blkio_count uint64
Blkio_delay_total uint64 Blkio_delay_total uint64
Blkio_delay_max uint64
Blkio_delay_min uint64
Swapin_count uint64 Swapin_count uint64
Swapin_delay_total uint64 Swapin_delay_total uint64
Swapin_delay_max uint64
Swapin_delay_min uint64
Cpu_run_real_total uint64 Cpu_run_real_total uint64
Cpu_run_virtual_total uint64 Cpu_run_virtual_total uint64
Ac_comm [32]int8 Ac_comm [32]int8
@ -328,27 +322,33 @@ type Taskstats struct {
Cpu_scaled_run_real_total uint64 Cpu_scaled_run_real_total uint64
Freepages_count uint64 Freepages_count uint64
Freepages_delay_total uint64 Freepages_delay_total uint64
Freepages_delay_max uint64
Freepages_delay_min uint64
Thrashing_count uint64 Thrashing_count uint64
Thrashing_delay_total uint64 Thrashing_delay_total uint64
Thrashing_delay_max uint64
Thrashing_delay_min uint64
Ac_btime64 uint64 Ac_btime64 uint64
Compact_count uint64 Compact_count uint64
Compact_delay_total uint64 Compact_delay_total uint64
Compact_delay_max uint64
Compact_delay_min uint64
Ac_tgid uint32 Ac_tgid uint32
Ac_tgetime uint64 Ac_tgetime uint64
Ac_exe_dev uint64 Ac_exe_dev uint64
Ac_exe_inode uint64 Ac_exe_inode uint64
Wpcopy_count uint64 Wpcopy_count uint64
Wpcopy_delay_total uint64 Wpcopy_delay_total uint64
Wpcopy_delay_max uint64
Wpcopy_delay_min uint64
Irq_count uint64 Irq_count uint64
Irq_delay_total uint64 Irq_delay_total uint64
Cpu_delay_max uint64
Cpu_delay_min uint64
Blkio_delay_max uint64
Blkio_delay_min uint64
Swapin_delay_max uint64
Swapin_delay_min uint64
Freepages_delay_max uint64
Freepages_delay_min uint64
Thrashing_delay_max uint64
Thrashing_delay_min uint64
Compact_delay_max uint64
Compact_delay_min uint64
Wpcopy_delay_max uint64
Wpcopy_delay_min uint64
Irq_delay_max uint64 Irq_delay_max uint64
Irq_delay_min uint64 Irq_delay_min uint64
} }

View File

@ -20,12 +20,14 @@ func isTerminal(fd int) bool {
return err == nil return err == nil
} }
// This is intended to be used on a console input handle.
// See https://learn.microsoft.com/en-us/windows/console/setconsolemode
func makeRaw(fd int) (*State, error) { func makeRaw(fd int) (*State, error) {
var st uint32 var st uint32
if err := windows.GetConsoleMode(windows.Handle(fd), &st); err != nil { if err := windows.GetConsoleMode(windows.Handle(fd), &st); err != nil {
return nil, err return nil, err
} }
raw := st &^ (windows.ENABLE_ECHO_INPUT | windows.ENABLE_PROCESSED_INPUT | windows.ENABLE_LINE_INPUT | windows.ENABLE_PROCESSED_OUTPUT) raw := st &^ (windows.ENABLE_ECHO_INPUT | windows.ENABLE_PROCESSED_INPUT | windows.ENABLE_LINE_INPUT)
raw |= windows.ENABLE_VIRTUAL_TERMINAL_INPUT raw |= windows.ENABLE_VIRTUAL_TERMINAL_INPUT
if err := windows.SetConsoleMode(windows.Handle(fd), raw); err != nil { if err := windows.SetConsoleMode(windows.Handle(fd), raw); err != nil {
return nil, err return nil, err

View File

@ -146,6 +146,7 @@ const (
keyCtrlD = 4 keyCtrlD = 4
keyCtrlU = 21 keyCtrlU = 21
keyEnter = '\r' keyEnter = '\r'
keyLF = '\n'
keyEscape = 27 keyEscape = 27
keyBackspace = 127 keyBackspace = 127
keyUnknown = 0xd800 /* UTF-16 surrogate area */ + iota keyUnknown = 0xd800 /* UTF-16 surrogate area */ + iota
@ -497,7 +498,7 @@ func (t *Terminal) historyAdd(entry string) {
// handleKey processes the given key and, optionally, returns a line of text // handleKey processes the given key and, optionally, returns a line of text
// that the user has entered. // that the user has entered.
func (t *Terminal) handleKey(key rune) (line string, ok bool) { func (t *Terminal) handleKey(key rune) (line string, ok bool) {
if t.pasteActive && key != keyEnter { if t.pasteActive && key != keyEnter && key != keyLF {
t.addKeyToLine(key) t.addKeyToLine(key)
return return
} }
@ -567,7 +568,7 @@ func (t *Terminal) handleKey(key rune) (line string, ok bool) {
t.setLine(runes, len(runes)) t.setLine(runes, len(runes))
} }
} }
case keyEnter: case keyEnter, keyLF:
t.moveCursorToPos(len(t.line)) t.moveCursorToPos(len(t.line))
t.queue([]rune("\r\n")) t.queue([]rune("\r\n"))
line = string(t.line) line = string(t.line)
@ -812,6 +813,10 @@ func (t *Terminal) readLine() (line string, err error) {
if !t.pasteActive { if !t.pasteActive {
lineIsPasted = false lineIsPasted = false
} }
// If we have CR, consume LF if present (CRLF sequence) to avoid returning an extra empty line.
if key == keyEnter && len(rest) > 0 && rest[0] == keyLF {
rest = rest[1:]
}
line, lineOk = t.handleKey(key) line, lineOk = t.handleKey(key)
} }
if len(rest) > 0 { if len(rest) > 0 {

View File

@ -113,7 +113,7 @@ func PathEnclosingInterval(root *ast.File, start, end token.Pos) (path []ast.Nod
// childrenOf elides the FuncType node beneath FuncDecl. // childrenOf elides the FuncType node beneath FuncDecl.
// Add it back here for TypeParams, Params, Results, // Add it back here for TypeParams, Params, Results,
// all FieldLists). But we don't add it back for the "func" token // all FieldLists). But we don't add it back for the "func" token
// even though it is is the tree at FuncDecl.Type.Func. // even though it is the tree at FuncDecl.Type.Func.
if decl, ok := node.(*ast.FuncDecl); ok { if decl, ok := node.(*ast.FuncDecl); ok {
if fields, ok := child.(*ast.FieldList); ok && fields != decl.Recv { if fields, ok := child.(*ast.FieldList); ok && fields != decl.Recv {
path = append(path, decl.Type) path = append(path, decl.Type)

View File

@ -76,6 +76,8 @@ uninterpreted to Load, so that it can interpret them
according to the conventions of the underlying build system. according to the conventions of the underlying build system.
See the Example function for typical usage. See the Example function for typical usage.
See also [golang.org/x/tools/go/packages/internal/linecount]
for an example application.
# The driver protocol # The driver protocol

View File

@ -15,6 +15,10 @@ import (
// This code is here rather than in the modindex package // This code is here rather than in the modindex package
// to avoid import loops // to avoid import loops
// TODO(adonovan): this code is only used by a test in this package.
// Can we delete it? Or is there a plan to call NewIndexSource from
// cmd/goimports?
// implements Source using modindex, so only for module cache. // implements Source using modindex, so only for module cache.
// //
// this is perhaps over-engineered. A new Index is read at first use. // this is perhaps over-engineered. A new Index is read at first use.
@ -22,8 +26,8 @@ import (
// is read if the index changed. It is not clear the Mutex is needed. // is read if the index changed. It is not clear the Mutex is needed.
type IndexSource struct { type IndexSource struct {
modcachedir string modcachedir string
mutex sync.Mutex mu sync.Mutex
ix *modindex.Index index *modindex.Index // (access via getIndex)
expires time.Time expires time.Time
} }
@ -39,13 +43,14 @@ func (s *IndexSource) LoadPackageNames(ctx context.Context, srcDir string, paths
} }
func (s *IndexSource) ResolveReferences(ctx context.Context, filename string, missing References) ([]*Result, error) { func (s *IndexSource) ResolveReferences(ctx context.Context, filename string, missing References) ([]*Result, error) {
if err := s.maybeReadIndex(); err != nil { index, err := s.getIndex()
if err != nil {
return nil, err return nil, err
} }
var cs []modindex.Candidate var cs []modindex.Candidate
for pkg, nms := range missing { for pkg, nms := range missing {
for nm := range nms { for nm := range nms {
x := s.ix.Lookup(pkg, nm, false) x := index.Lookup(pkg, nm, false)
cs = append(cs, x...) cs = append(cs, x...)
} }
} }
@ -74,30 +79,22 @@ func (s *IndexSource) ResolveReferences(ctx context.Context, filename string, mi
return ans, nil return ans, nil
} }
func (s *IndexSource) maybeReadIndex() error { func (s *IndexSource) getIndex() (*modindex.Index, error) {
s.mutex.Lock() s.mu.Lock()
defer s.mutex.Unlock() defer s.mu.Unlock()
var readIndex bool // (s.index = nil => s.expires is zero,
if time.Now().After(s.expires) { // so the first condition is strictly redundant.
ok, err := modindex.Update(s.modcachedir) // But it makes the postcondition very clear.)
if s.index == nil || time.Now().After(s.expires) {
index, err := modindex.Update(s.modcachedir)
if err != nil { if err != nil {
return err return nil, err
}
if ok {
readIndex = true
} }
s.index = index
s.expires = index.ValidAt.Add(15 * time.Minute) // (refresh period)
} }
// Inv: s.index != nil
if readIndex || s.ix == nil { return s.index, nil
ix, err := modindex.ReadIndex(s.modcachedir)
if err != nil {
return err
}
s.ix = ix
// for now refresh every 15 minutes
s.expires = time.Now().Add(time.Minute * 15)
}
return nil
} }

View File

@ -10,7 +10,6 @@ import (
"os" "os"
"path/filepath" "path/filepath"
"regexp" "regexp"
"slices"
"strings" "strings"
"sync" "sync"
"time" "time"
@ -20,50 +19,48 @@ import (
) )
type directory struct { type directory struct {
path Relpath path string // relative to GOMODCACHE
importPath string importPath string
version string // semantic version version string // semantic version
syms []symbol
} }
// byImportPath groups the directories by import path, // bestDirByImportPath returns the best directory for each import
// sorting the ones with the same import path by semantic version, // path, where "best" means most recent semantic version. These import
// most recent first. // paths are inferred from the GOMODCACHE-relative dir names in dirs.
func byImportPath(dirs []Relpath) (map[string][]*directory, error) { func bestDirByImportPath(dirs []string) (map[string]directory, error) {
ans := make(map[string][]*directory) // key is import path dirsByPath := make(map[string]directory)
for _, d := range dirs { for _, dir := range dirs {
ip, sv, err := DirToImportPathVersion(d) importPath, version, err := dirToImportPathVersion(dir)
if err != nil { if err != nil {
return nil, err return nil, err
} }
ans[ip] = append(ans[ip], &directory{ new := directory{
path: d, path: dir,
importPath: ip, importPath: importPath,
version: sv, version: version,
}) }
if old, ok := dirsByPath[importPath]; !ok || compareDirectory(new, old) < 0 {
dirsByPath[importPath] = new
}
} }
for k, v := range ans { return dirsByPath, nil
semanticSort(v)
ans[k] = v
}
return ans, nil
} }
// sort the directories by semantic version, latest first // compareDirectory defines an ordering of path@version directories,
func semanticSort(v []*directory) { // by descending version, then by ascending path.
slices.SortFunc(v, func(l, r *directory) int { func compareDirectory(x, y directory) int {
if n := semver.Compare(l.version, r.version); n != 0 { if sign := -semver.Compare(x.version, y.version); sign != 0 {
return -n // latest first return sign // latest first
} }
return strings.Compare(string(l.path), string(r.path)) return strings.Compare(string(x.path), string(y.path))
})
} }
// modCacheRegexp splits a relpathpath into module, module version, and package. // modCacheRegexp splits a relpathpath into module, module version, and package.
var modCacheRegexp = regexp.MustCompile(`(.*)@([^/\\]*)(.*)`) var modCacheRegexp = regexp.MustCompile(`(.*)@([^/\\]*)(.*)`)
// DirToImportPathVersion computes import path and semantic version // dirToImportPathVersion computes import path and semantic version
func DirToImportPathVersion(dir Relpath) (string, string, error) { // from a GOMODCACHE-relative directory name.
func dirToImportPathVersion(dir string) (string, string, error) {
m := modCacheRegexp.FindStringSubmatch(string(dir)) m := modCacheRegexp.FindStringSubmatch(string(dir))
// m[1] is the module path // m[1] is the module path
// m[2] is the version major.minor.patch(-<pre release identifier) // m[2] is the version major.minor.patch(-<pre release identifier)
@ -74,62 +71,61 @@ func DirToImportPathVersion(dir Relpath) (string, string, error) {
if !semver.IsValid(m[2]) { if !semver.IsValid(m[2]) {
return "", "", fmt.Errorf("bad semantic version %s", m[2]) return "", "", fmt.Errorf("bad semantic version %s", m[2])
} }
// ToSlash is required for Windows. // ToSlash is required to convert Windows file paths
// into Go package import paths.
return filepath.ToSlash(m[1] + m[3]), m[2], nil return filepath.ToSlash(m[1] + m[3]), m[2], nil
} }
// a region controls what directories to look at, for // findDirs returns an unordered list of relevant package directories,
// updating the index incrementally, and for testing that. // relative to the specified module cache root. The result includes only
// (for testing one builds an index as of A, incrementally // module dirs whose mtime is within (start, end).
// updates it to B, and compares the result to an index build func findDirs(root string, start, end time.Time) []string {
// as of B.) var (
type region struct { resMu sync.Mutex
onlyAfter, onlyBefore time.Time res []string
sync.Mutex )
ans []Relpath
}
func findDirs(root string, onlyAfter, onlyBefore time.Time) []Relpath { addDir := func(root gopathwalk.Root, dir string) {
// TODO(pjw): do we need to check times?
resMu.Lock()
defer resMu.Unlock()
res = append(res, relative(root.Path, dir))
}
skipDir := func(_ gopathwalk.Root, dir string) bool {
// The cache directory is already ignored in gopathwalk.
if filepath.Base(dir) == "internal" {
return true
}
// Skip toolchains.
if strings.Contains(dir, "toolchain@") {
return true
}
// Don't look inside @ directories that are too old/new.
if strings.Contains(filepath.Base(dir), "@") {
st, err := os.Stat(dir)
if err != nil {
log.Printf("can't stat dir %s %v", dir, err)
return true
}
mtime := st.ModTime()
return mtime.Before(start) || mtime.After(end)
}
return false
}
// TODO(adonovan): parallelize this. Even with a hot buffer cache,
// find $(go env GOMODCACHE) -type d
// can easily take up a minute.
roots := []gopathwalk.Root{{Path: root, Type: gopathwalk.RootModuleCache}} roots := []gopathwalk.Root{{Path: root, Type: gopathwalk.RootModuleCache}}
// TODO(PJW): adjust concurrency gopathwalk.WalkSkip(roots, addDir, skipDir, gopathwalk.Options{
opts := gopathwalk.Options{ModulesEnabled: true, Concurrency: 1 /* ,Logf: log.Printf*/} ModulesEnabled: true,
betw := &region{ Concurrency: 1, // TODO(pjw): adjust concurrency
onlyAfter: onlyAfter, // Logf: log.Printf,
onlyBefore: onlyBefore, })
}
gopathwalk.WalkSkip(roots, betw.addDir, betw.skipDir, opts)
return betw.ans
}
func (r *region) addDir(rt gopathwalk.Root, dir string) { return res
// do we need to check times?
r.Lock()
defer r.Unlock()
x := filepath.ToSlash(string(toRelpath(Abspath(rt.Path), dir)))
r.ans = append(r.ans, toRelpath(Abspath(rt.Path), x))
}
func (r *region) skipDir(_ gopathwalk.Root, dir string) bool {
// The cache directory is already ignored in gopathwalk\
if filepath.Base(dir) == "internal" {
return true
}
if strings.Contains(dir, "toolchain@") {
return true
}
// don't look inside @ directories that are too old
if strings.Contains(filepath.Base(dir), "@") {
st, err := os.Stat(dir)
if err != nil {
log.Printf("can't stat dir %s %v", dir, err)
return true
}
if st.ModTime().Before(r.onlyAfter) {
return true
}
if st.ModTime().After(r.onlyBefore) {
return true
}
}
return false
} }

View File

@ -6,12 +6,10 @@ package modindex
import ( import (
"bufio" "bufio"
"crypto/sha256"
"encoding/csv" "encoding/csv"
"errors"
"fmt" "fmt"
"hash/crc64"
"io" "io"
"io/fs"
"log" "log"
"os" "os"
"path/filepath" "path/filepath"
@ -22,7 +20,7 @@ import (
) )
/* /*
The on-disk index is a text file. The on-disk index ("payload") is a text file.
The first 3 lines are header information containing CurrentVersion, The first 3 lines are header information containing CurrentVersion,
the value of GOMODCACHE, and the validity date of the index. the value of GOMODCACHE, and the validity date of the index.
(This is when the code started building the index.) (This is when the code started building the index.)
@ -68,34 +66,45 @@ whose types are []byte and interface{}.
// CurrentVersion tells readers about the format of the index. // CurrentVersion tells readers about the format of the index.
const CurrentVersion int = 0 const CurrentVersion int = 0
// Index is returned by ReadIndex(). // Index is returned by [Read].
type Index struct { type Index struct {
Version int Version int
Cachedir Abspath // The directory containing the module cache GOMODCACHE string // absolute path of Go module cache dir
Changed time.Time // The index is up to date as of Changed ValidAt time.Time // moment at which the index was up to date
Entries []Entry Entries []Entry
}
func (ix *Index) String() string {
return fmt.Sprintf("Index(%s v%d has %d entries at %v)",
ix.GOMODCACHE, ix.Version, len(ix.Entries), ix.ValidAt)
} }
// An Entry contains information for an import path. // An Entry contains information for an import path.
type Entry struct { type Entry struct {
Dir Relpath // directory in modcache Dir string // package directory relative to GOMODCACHE; uses OS path separator
ImportPath string ImportPath string
PkgName string PkgName string
Version string Version string
//ModTime STime // is this useful? Names []string // exported names and information
Names []string // exported names and information
} }
// IndexDir is where the module index is stored. // IndexDir is where the module index is stored.
var IndexDir string // Each logical index entry consists of a pair of files:
//
// Set IndexDir // - the "payload" (index-VERSION-XXX), whose name is
func init() { // randomized, holds the actual index; and
// - the "link" (index-name-VERSION-HASH),
// whose name is predictable, contains the
// name of the payload file.
//
// Since the link file is small (<512B),
// reads and writes to it may be assumed atomic.
var IndexDir string = func() string {
var dir string var dir string
var err error
if testing.Testing() { if testing.Testing() {
dir = os.TempDir() dir = os.TempDir()
} else { } else {
var err error
dir, err = os.UserCacheDir() dir, err = os.UserCacheDir()
// shouldn't happen, but TempDir is better than // shouldn't happen, but TempDir is better than
// creating ./go/imports // creating ./go/imports
@ -103,81 +112,83 @@ func init() {
dir = os.TempDir() dir = os.TempDir()
} }
} }
dir = filepath.Join(dir, "go", "imports") dir = filepath.Join(dir, "goimports")
os.MkdirAll(dir, 0777) if err := os.MkdirAll(dir, 0777); err != nil {
IndexDir = dir log.Printf("failed to create modcache index dir: %v", err)
}
return dir
}()
// Read reads the latest version of the on-disk index
// for the specified Go module cache directory.
// If there is no index, it returns a nil Index and an fs.ErrNotExist error.
func Read(gomodcache string) (*Index, error) {
gomodcache, err := filepath.Abs(gomodcache)
if err != nil {
return nil, err
}
// Read the "link" file for the specified gomodcache directory.
// It names the payload file.
content, err := os.ReadFile(filepath.Join(IndexDir, linkFileBasename(gomodcache)))
if err != nil {
return nil, err
}
payloadFile := filepath.Join(IndexDir, string(content))
// Read the index out of the payload file.
f, err := os.Open(payloadFile)
if err != nil {
return nil, err
}
defer f.Close()
return readIndexFrom(gomodcache, bufio.NewReader(f))
} }
// ReadIndex reads the latest version of the on-disk index func readIndexFrom(gomodcache string, r io.Reader) (*Index, error) {
// for the cache directory cd. scan := bufio.NewScanner(r)
// It returns (nil, nil) if there is no index, but returns
// a non-nil error if the index exists but could not be read.
func ReadIndex(cachedir string) (*Index, error) {
cachedir, err := filepath.Abs(cachedir)
if err != nil {
return nil, err
}
cd := Abspath(cachedir)
dir := IndexDir
base := indexNameBase(cd)
iname := filepath.Join(dir, base)
buf, err := os.ReadFile(iname)
if err != nil {
if errors.Is(err, fs.ErrNotExist) {
return nil, nil
}
return nil, fmt.Errorf("cannot read %s: %w", iname, err)
}
fname := filepath.Join(dir, string(buf))
fd, err := os.Open(fname)
if err != nil {
return nil, err
}
defer fd.Close()
r := bufio.NewReader(fd)
ix, err := readIndexFrom(cd, r)
if err != nil {
return nil, err
}
return ix, nil
}
func readIndexFrom(cd Abspath, bx io.Reader) (*Index, error) { // version
b := bufio.NewScanner(bx) if !scan.Scan() {
var ans Index return nil, fmt.Errorf("unexpected scan error: %v", scan.Err())
// header
ok := b.Scan()
if !ok {
return nil, fmt.Errorf("unexpected scan error")
} }
l := b.Text() version, err := strconv.Atoi(scan.Text())
var err error
ans.Version, err = strconv.Atoi(l)
if err != nil { if err != nil {
return nil, err return nil, err
} }
if ans.Version != CurrentVersion { if version != CurrentVersion {
return nil, fmt.Errorf("got version %d, expected %d", ans.Version, CurrentVersion) return nil, fmt.Errorf("got version %d, expected %d", version, CurrentVersion)
} }
if ok := b.Scan(); !ok {
return nil, fmt.Errorf("scanner error reading cachedir") // gomodcache
if !scan.Scan() {
return nil, fmt.Errorf("scanner error reading module cache dir: %v", scan.Err())
} }
ans.Cachedir = Abspath(b.Text()) // TODO(pjw): need to check that this is the expected cache dir
if ok := b.Scan(); !ok {
return nil, fmt.Errorf("scanner error reading index creation time")
}
// TODO(pjw): need to check that this is the expected cachedir
// so the tag should be passed in to this function // so the tag should be passed in to this function
ans.Changed, err = time.ParseInLocation(time.DateTime, b.Text(), time.Local) if dir := string(scan.Text()); dir != gomodcache {
return nil, fmt.Errorf("index file GOMODCACHE mismatch: got %q, want %q", dir, gomodcache)
}
// changed
if !scan.Scan() {
return nil, fmt.Errorf("scanner error reading index creation time: %v", scan.Err())
}
changed, err := time.ParseInLocation(time.DateTime, scan.Text(), time.Local)
if err != nil { if err != nil {
return nil, err return nil, err
} }
var curEntry *Entry
for b.Scan() { // entries
v := b.Text() var (
curEntry *Entry
entries []Entry
)
for scan.Scan() {
v := scan.Text()
if v[0] == ':' { if v[0] == ':' {
if curEntry != nil { if curEntry != nil {
ans.Entries = append(ans.Entries, *curEntry) entries = append(entries, *curEntry)
} }
// as directories may contain commas and quotes, they need to be read as csv. // as directories may contain commas and quotes, they need to be read as csv.
rdr := strings.NewReader(v[1:]) rdr := strings.NewReader(v[1:])
@ -189,49 +200,56 @@ func readIndexFrom(cd Abspath, bx io.Reader) (*Index, error) {
if len(flds) != 4 { if len(flds) != 4 {
return nil, fmt.Errorf("header contains %d fields, not 4: %q", len(v), v) return nil, fmt.Errorf("header contains %d fields, not 4: %q", len(v), v)
} }
curEntry = &Entry{PkgName: flds[0], ImportPath: flds[1], Dir: toRelpath(cd, flds[2]), Version: flds[3]} curEntry = &Entry{
PkgName: flds[0],
ImportPath: flds[1],
Dir: relative(gomodcache, flds[2]),
Version: flds[3],
}
continue continue
} }
curEntry.Names = append(curEntry.Names, v) curEntry.Names = append(curEntry.Names, v)
} }
if err := scan.Err(); err != nil {
return nil, fmt.Errorf("scanner failed while reading modindex entry: %v", err)
}
if curEntry != nil { if curEntry != nil {
ans.Entries = append(ans.Entries, *curEntry) entries = append(entries, *curEntry)
} }
if err := b.Err(); err != nil {
return nil, fmt.Errorf("scanner failed %v", err) return &Index{
} Version: version,
return &ans, nil GOMODCACHE: gomodcache,
ValidAt: changed,
Entries: entries,
}, nil
} }
// write the index as a text file // write writes the index file and updates the index directory to refer to it.
func writeIndex(cachedir Abspath, ix *Index) error { func write(gomodcache string, ix *Index) error {
ipat := fmt.Sprintf("index-%d-*", CurrentVersion) // Write the index into a payload file with a fresh name.
fd, err := os.CreateTemp(IndexDir, ipat) f, err := os.CreateTemp(IndexDir, fmt.Sprintf("index-%d-*", CurrentVersion))
if err != nil { if err != nil {
return err // can this happen? return err // e.g. disk full, or index dir deleted
} }
defer fd.Close() if err := writeIndexToFile(ix, bufio.NewWriter(f)); err != nil {
if err := writeIndexToFile(ix, fd); err != nil { _ = f.Close() // ignore error
return err return err
} }
content := fd.Name() if err := f.Close(); err != nil {
content = filepath.Base(content)
base := indexNameBase(cachedir)
nm := filepath.Join(IndexDir, base)
err = os.WriteFile(nm, []byte(content), 0666)
if err != nil {
return err return err
} }
return nil
// Write the name of the payload file into a link file.
indexDirFile := filepath.Join(IndexDir, linkFileBasename(gomodcache))
content := []byte(filepath.Base(f.Name()))
return os.WriteFile(indexDirFile, content, 0666)
} }
func writeIndexToFile(x *Index, fd *os.File) error { func writeIndexToFile(x *Index, w *bufio.Writer) error {
cnt := 0
w := bufio.NewWriter(fd)
fmt.Fprintf(w, "%d\n", x.Version) fmt.Fprintf(w, "%d\n", x.Version)
fmt.Fprintf(w, "%s\n", x.Cachedir) fmt.Fprintf(w, "%s\n", x.GOMODCACHE)
// round the time down tm := x.ValidAt.Truncate(time.Second) // round the time down
tm := x.Changed.Add(-time.Second / 2)
fmt.Fprintf(w, "%s\n", tm.Format(time.DateTime)) fmt.Fprintf(w, "%s\n", tm.Format(time.DateTime))
for _, e := range x.Entries { for _, e := range x.Entries {
if e.ImportPath == "" { if e.ImportPath == "" {
@ -239,7 +257,6 @@ func writeIndexToFile(x *Index, fd *os.File) error {
} }
// PJW: maybe always write these headers as csv? // PJW: maybe always write these headers as csv?
if strings.ContainsAny(string(e.Dir), ",\"") { if strings.ContainsAny(string(e.Dir), ",\"") {
log.Printf("DIR: %s", e.Dir)
cw := csv.NewWriter(w) cw := csv.NewWriter(w)
cw.Write([]string{":" + e.PkgName, e.ImportPath, string(e.Dir), e.Version}) cw.Write([]string{":" + e.PkgName, e.ImportPath, string(e.Dir), e.Version})
cw.Flush() cw.Flush()
@ -248,19 +265,23 @@ func writeIndexToFile(x *Index, fd *os.File) error {
} }
for _, x := range e.Names { for _, x := range e.Names {
fmt.Fprintf(w, "%s\n", x) fmt.Fprintf(w, "%s\n", x)
cnt++
} }
} }
if err := w.Flush(); err != nil { return w.Flush()
return err
}
return nil
} }
// return the base name of the file containing the name of the current index // linkFileBasename returns the base name of the link file in the
func indexNameBase(cachedir Abspath) string { // index directory that holds the name of the payload file for the
// crc64 is a way to convert path names into 16 hex digits. // specified (absolute) Go module cache dir.
h := crc64.Checksum([]byte(cachedir), crc64.MakeTable(crc64.ECMA)) func linkFileBasename(gomodcache string) string {
fname := fmt.Sprintf("index-name-%d-%016x", CurrentVersion, h) // Note: coupled to logic in ./gomodindex/cmd.go. TODO: factor.
return fname h := sha256.Sum256([]byte(gomodcache)) // collision-resistant hash
return fmt.Sprintf("index-name-%d-%032x", CurrentVersion, h)
}
func relative(base, file string) string {
if rel, err := filepath.Rel(base, file); err == nil {
return rel
}
return file
} }

View File

@ -2,17 +2,21 @@
// 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.
// Package modindex contains code for building and searching an index to // Package modindex contains code for building and searching an
// the Go module cache. The directory containing the index, returned by // [Index] of the Go module cache.
// IndexDir(), contains a file index-name-<ver> that contains the name package modindex
// The directory containing the index, returned by
// [IndexDir], contains a file index-name-<ver> that contains the name
// of the current index. We believe writing that short file is atomic. // of the current index. We believe writing that short file is atomic.
// ReadIndex reads that file to get the file name of the index. // [Read] reads that file to get the file name of the index.
// WriteIndex writes an index with a unique name and then // WriteIndex writes an index with a unique name and then
// writes that name into a new version of index-name-<ver>. // writes that name into a new version of index-name-<ver>.
// (<ver> stands for the CurrentVersion of the index format.) // (<ver> stands for the CurrentVersion of the index format.)
package modindex
import ( import (
"maps"
"os"
"path/filepath" "path/filepath"
"slices" "slices"
"strings" "strings"
@ -21,144 +25,95 @@ import (
"golang.org/x/mod/semver" "golang.org/x/mod/semver"
) )
// Create always creates a new index for the go module cache that is in cachedir. // Update updates the index for the specified Go
func Create(cachedir string) error { // module cache directory, creating it as needed.
_, err := indexModCache(cachedir, true) // On success it returns the current index.
return err func Update(gomodcache string) (*Index, error) {
} prev, err := Read(gomodcache)
// Update the index for the go module cache that is in cachedir,
// If there is no existing index it will build one.
// If there are changed directories since the last index, it will
// write a new one and return true. Otherwise it returns false.
func Update(cachedir string) (bool, error) {
return indexModCache(cachedir, false)
}
// indexModCache writes an index current as of when it is called.
// If clear is true the index is constructed from all of GOMODCACHE
// otherwise the index is constructed from the last previous index
// and the updates to the cache. It returns true if it wrote an index,
// false otherwise.
func indexModCache(cachedir string, clear bool) (bool, error) {
cachedir, err := filepath.Abs(cachedir)
if err != nil { if err != nil {
return false, err if !os.IsNotExist(err) {
} return nil, err
cd := Abspath(cachedir)
future := time.Now().Add(24 * time.Hour) // safely in the future
ok, err := modindexTimed(future, cd, clear)
if err != nil {
return false, err
}
return ok, nil
}
// modindexTimed writes an index current as of onlyBefore.
// If clear is true the index is constructed from all of GOMODCACHE
// otherwise the index is constructed from the last previous index
// and all the updates to the cache before onlyBefore.
// It returns true if it wrote a new index, false if it wrote nothing.
func modindexTimed(onlyBefore time.Time, cachedir Abspath, clear bool) (bool, error) {
var curIndex *Index
if !clear {
var err error
curIndex, err = ReadIndex(string(cachedir))
if clear && err != nil {
return false, err
} }
// TODO(pjw): check that most of those directories still exist prev = nil
} }
cfg := &work{ return update(gomodcache, prev)
onlyBefore: onlyBefore,
oldIndex: curIndex,
cacheDir: cachedir,
}
if curIndex != nil {
cfg.onlyAfter = curIndex.Changed
}
if err := cfg.buildIndex(); err != nil {
return false, err
}
if len(cfg.newIndex.Entries) == 0 && curIndex != nil {
// no changes from existing curIndex, don't write a new index
return false, nil
}
if err := cfg.writeIndex(); err != nil {
return false, err
}
return true, nil
} }
type work struct { // update builds, writes, and returns the current index.
onlyBefore time.Time // do not use directories later than this //
onlyAfter time.Time // only interested in directories after this // If old is nil, the new index is built from all of GOMODCACHE;
// directories from before onlyAfter come from oldIndex // otherwise it is built from the old index plus cache updates
oldIndex *Index // since the previous index's time.
newIndex *Index func update(gomodcache string, old *Index) (*Index, error) {
cacheDir Abspath gomodcache, err := filepath.Abs(gomodcache)
}
func (w *work) buildIndex() error {
// The effective date of the new index should be at least
// slightly earlier than when the directories are scanned
// so set it now.
w.newIndex = &Index{Changed: time.Now(), Cachedir: w.cacheDir}
dirs := findDirs(string(w.cacheDir), w.onlyAfter, w.onlyBefore)
if len(dirs) == 0 {
return nil
}
newdirs, err := byImportPath(dirs)
if err != nil { if err != nil {
return err return nil, err
} }
// for each import path it might occur only in newdirs, new, changed, err := build(gomodcache, old)
// only in w.oldIndex, or in both. if err != nil {
// If it occurs in both, use the semantically later one return nil, err
if w.oldIndex != nil { }
for _, e := range w.oldIndex.Entries { if old == nil || changed {
found, ok := newdirs[e.ImportPath] if err := write(gomodcache, new); err != nil {
if !ok { return nil, err
w.newIndex.Entries = append(w.newIndex.Entries, e) }
continue // use this one, there is no new one }
} return new, nil
if semver.Compare(found[0].version, e.Version) > 0 { }
// use the new one
} else { // build returns a new index for the specified Go module cache (an
// use the old one, forget the new one // absolute path).
w.newIndex.Entries = append(w.newIndex.Entries, e) //
delete(newdirs, e.ImportPath) // If an old index is provided, only directories more recent than it
// that it are scanned; older directories are provided by the old
// Index.
//
// The boolean result indicates whether new entries were found.
func build(gomodcache string, old *Index) (*Index, bool, error) {
// Set the time window.
var start time.Time // = dawn of time
if old != nil {
start = old.ValidAt
}
now := time.Now()
end := now.Add(24 * time.Hour) // safely in the future
// Enumerate GOMODCACHE package directories.
// Choose the best (latest) package for each import path.
pkgDirs := findDirs(gomodcache, start, end)
dirByPath, err := bestDirByImportPath(pkgDirs)
if err != nil {
return nil, false, err
}
// For each import path it might occur only in
// dirByPath, only in old, or in both.
// If both, use the semantically later one.
var entries []Entry
if old != nil {
for _, entry := range old.Entries {
dir, ok := dirByPath[entry.ImportPath]
if !ok || semver.Compare(dir.version, entry.Version) <= 0 {
// New dir is missing or not more recent; use old entry.
entries = append(entries, entry)
delete(dirByPath, entry.ImportPath)
} }
} }
} }
// get symbol information for all the new diredtories
getSymbols(w.cacheDir, newdirs) // Extract symbol information for all the new directories.
// assemble the new index entries newEntries := extractSymbols(gomodcache, maps.Values(dirByPath))
for k, v := range newdirs { entries = append(entries, newEntries...)
d := v[0] slices.SortFunc(entries, func(x, y Entry) int {
pkg, names := processSyms(d.syms) if n := strings.Compare(x.PkgName, y.PkgName); n != 0 {
if pkg == "" {
continue // PJW: does this ever happen?
}
entry := Entry{
PkgName: pkg,
Dir: d.path,
ImportPath: k,
Version: d.version,
Names: names,
}
w.newIndex.Entries = append(w.newIndex.Entries, entry)
}
// sort the entries in the new index
slices.SortFunc(w.newIndex.Entries, func(l, r Entry) int {
if n := strings.Compare(l.PkgName, r.PkgName); n != 0 {
return n return n
} }
return strings.Compare(l.ImportPath, r.ImportPath) return strings.Compare(x.ImportPath, y.ImportPath)
}) })
return nil
}
func (w *work) writeIndex() error { return &Index{
return writeIndex(w.cacheDir, w.newIndex) GOMODCACHE: gomodcache,
ValidAt: now, // time before the directories were scanned
Entries: entries,
}, len(newEntries) > 0, nil
} }

View File

@ -10,11 +10,13 @@ import (
"go/parser" "go/parser"
"go/token" "go/token"
"go/types" "go/types"
"iter"
"os" "os"
"path/filepath" "path/filepath"
"runtime" "runtime"
"slices" "slices"
"strings" "strings"
"sync"
"golang.org/x/sync/errgroup" "golang.org/x/sync/errgroup"
) )
@ -34,41 +36,65 @@ type symbol struct {
sig string // signature information, for F sig string // signature information, for F
} }
// find the symbols for the best directories // extractSymbols returns a (new, unordered) array of Entries, one for
func getSymbols(cd Abspath, dirs map[string][]*directory) { // each provided package directory, describing its exported symbols.
func extractSymbols(cwd string, dirs iter.Seq[directory]) []Entry {
var (
mu sync.Mutex
entries []Entry
)
var g errgroup.Group var g errgroup.Group
g.SetLimit(max(2, runtime.GOMAXPROCS(0)/2)) g.SetLimit(max(2, runtime.GOMAXPROCS(0)/2))
for _, vv := range dirs { for dir := range dirs {
// throttling some day?
d := vv[0]
g.Go(func() error { g.Go(func() error {
thedir := filepath.Join(string(cd), string(d.path)) thedir := filepath.Join(cwd, string(dir.path))
mode := parser.SkipObjectResolution | parser.ParseComments mode := parser.SkipObjectResolution | parser.ParseComments
fi, err := os.ReadDir(thedir) // Parse all Go files in dir and extract symbols.
dirents, err := os.ReadDir(thedir)
if err != nil { if err != nil {
return nil // log this someday? return nil // log this someday?
} }
for _, fx := range fi { var syms []symbol
if !strings.HasSuffix(fx.Name(), ".go") || strings.HasSuffix(fx.Name(), "_test.go") { for _, dirent := range dirents {
if !strings.HasSuffix(dirent.Name(), ".go") ||
strings.HasSuffix(dirent.Name(), "_test.go") {
continue continue
} }
fname := filepath.Join(thedir, fx.Name()) fname := filepath.Join(thedir, dirent.Name())
tr, err := parser.ParseFile(token.NewFileSet(), fname, nil, mode) tr, err := parser.ParseFile(token.NewFileSet(), fname, nil, mode)
if err != nil { if err != nil {
continue // ignore errors, someday log them? continue // ignore errors, someday log them?
} }
d.syms = append(d.syms, getFileExports(tr)...) syms = append(syms, getFileExports(tr)...)
} }
// Create an entry for the package.
pkg, names := processSyms(syms)
if pkg != "" {
mu.Lock()
defer mu.Unlock()
entries = append(entries, Entry{
PkgName: pkg,
Dir: dir.path,
ImportPath: dir.importPath,
Version: dir.version,
Names: names,
})
}
return nil return nil
}) })
} }
g.Wait() g.Wait() // ignore error
return entries
} }
func getFileExports(f *ast.File) []symbol { func getFileExports(f *ast.File) []symbol {
pkg := f.Name.Name pkg := f.Name.Name
if pkg == "main" { if pkg == "main" || pkg == "" {
return nil return nil
} }
var ans []symbol var ans []symbol
@ -202,17 +228,18 @@ func processSyms(syms []symbol) (string, []string) {
pkg := syms[0].pkg pkg := syms[0].pkg
var names []string var names []string
for _, s := range syms { for _, s := range syms {
var nx string if s.pkg != pkg {
if s.pkg == pkg { // Symbols came from two files in same dir
if s.sig != "" { // with different package declarations.
nx = fmt.Sprintf("%s %s %s", s.name, s.kind, s.sig) continue
} else {
nx = fmt.Sprintf("%s %s", s.name, s.kind)
}
names = append(names, nx)
} else {
continue // PJW: do we want to keep track of these?
} }
var nx string
if s.sig != "" {
nx = fmt.Sprintf("%s %s %s", s.name, s.kind, s.sig)
} else {
nx = fmt.Sprintf("%s %s", s.name, s.kind)
}
names = append(names, nx)
} }
return pkg, names return pkg, names
} }

View File

@ -1,25 +0,0 @@
// Copyright 2024 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.
package modindex
import (
"strings"
)
// some special types to avoid confusions
// distinguish various types of directory names. It's easy to get confused.
type Abspath string // absolute paths
type Relpath string // paths with GOMODCACHE prefix removed
func toRelpath(cachedir Abspath, s string) Relpath {
if strings.HasPrefix(s, string(cachedir)) {
if s == string(cachedir) {
return Relpath("")
}
return Relpath(s[len(cachedir)+1:])
}
return Relpath(s)
}

View File

@ -371,7 +371,31 @@ func ConsumeVarint(b []byte) (v uint64, n int) {
func SizeVarint(v uint64) int { func SizeVarint(v uint64) int {
// This computes 1 + (bits.Len64(v)-1)/7. // This computes 1 + (bits.Len64(v)-1)/7.
// 9/64 is a good enough approximation of 1/7 // 9/64 is a good enough approximation of 1/7
return int(9*uint32(bits.Len64(v))+64) / 64 //
// The Go compiler can translate the bits.LeadingZeros64 call into the LZCNT
// instruction, which is very fast on CPUs from the last few years. The
// specific way of expressing the calculation matches C++ Protobuf, see
// https://godbolt.org/z/4P3h53oM4 for the C++ code and how gcc/clang
// optimize that function for GOAMD64=v1 and GOAMD64=v3 (-march=haswell).
// By OR'ing v with 1, we guarantee that v is never 0, without changing the
// result of SizeVarint. LZCNT is not defined for 0, meaning the compiler
// needs to add extra instructions to handle that case.
//
// The Go compiler currently (go1.24.4) does not make use of this knowledge.
// This opportunity (removing the XOR instruction, which handles the 0 case)
// results in a small (1%) performance win across CPU architectures.
//
// Independently of avoiding the 0 case, we need the v |= 1 line because
// it allows the Go compiler to eliminate an extra XCHGL barrier.
v |= 1
// It would be clearer to write log2value := 63 - uint32(...), but
// writing uint32(...) ^ 63 is much more efficient (-14% ARM, -20% Intel).
// Proof of identity for our value range [0..63]:
// https://go.dev/play/p/Pdn9hEWYakX
log2value := uint32(bits.LeadingZeros64(v)) ^ 63
return int((log2value*9 + (64 + 9)) / 64)
} }
// AppendFixed32 appends v to b as a little-endian uint32. // AppendFixed32 appends v to b as a little-endian uint32.

View File

@ -72,6 +72,9 @@ func unmarshalFeatureSet(b []byte, parent EditionFeatures) EditionFeatures {
case genid.FeatureSet_EnforceNamingStyle_field_number: case genid.FeatureSet_EnforceNamingStyle_field_number:
// EnforceNamingStyle is enforced in protoc, languages other than C++ // EnforceNamingStyle is enforced in protoc, languages other than C++
// are not supposed to do anything with this feature. // are not supposed to do anything with this feature.
case genid.FeatureSet_DefaultSymbolVisibility_field_number:
// DefaultSymbolVisibility is enforced in protoc, runtimes should not
// inspect this value.
default: default:
panic(fmt.Sprintf("unkown field number %d while unmarshalling FeatureSet", num)) panic(fmt.Sprintf("unkown field number %d while unmarshalling FeatureSet", num))
} }

View File

@ -0,0 +1,33 @@
// Copyright 2025 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.
package filedesc
import "google.golang.org/protobuf/reflect/protoreflect"
// UsePresenceForField reports whether the presence bitmap should be used for
// the specified field.
func UsePresenceForField(fd protoreflect.FieldDescriptor) (usePresence, canBeLazy bool) {
switch {
case fd.ContainingOneof() != nil && !fd.ContainingOneof().IsSynthetic():
// Oneof fields never use the presence bitmap.
//
// Synthetic oneofs are an exception: Those are used to implement proto3
// optional fields and hence should follow non-oneof field semantics.
return false, false
case fd.IsMap():
// Map-typed fields never use the presence bitmap.
return false, false
case fd.Kind() == protoreflect.MessageKind || fd.Kind() == protoreflect.GroupKind:
// Lazy fields always use the presence bitmap (only messages can be lazy).
isLazy := fd.(interface{ IsLazy() bool }).IsLazy()
return isLazy, isLazy
default:
// If the field has presence, use the presence bitmap.
return fd.HasPresence(), false
}
}

View File

@ -34,6 +34,19 @@ const (
Edition_EDITION_MAX_enum_value = 2147483647 Edition_EDITION_MAX_enum_value = 2147483647
) )
// Full and short names for google.protobuf.SymbolVisibility.
const (
SymbolVisibility_enum_fullname = "google.protobuf.SymbolVisibility"
SymbolVisibility_enum_name = "SymbolVisibility"
)
// Enum values for google.protobuf.SymbolVisibility.
const (
SymbolVisibility_VISIBILITY_UNSET_enum_value = 0
SymbolVisibility_VISIBILITY_LOCAL_enum_value = 1
SymbolVisibility_VISIBILITY_EXPORT_enum_value = 2
)
// Names for google.protobuf.FileDescriptorSet. // Names for google.protobuf.FileDescriptorSet.
const ( const (
FileDescriptorSet_message_name protoreflect.Name = "FileDescriptorSet" FileDescriptorSet_message_name protoreflect.Name = "FileDescriptorSet"
@ -65,6 +78,7 @@ const (
FileDescriptorProto_Dependency_field_name protoreflect.Name = "dependency" FileDescriptorProto_Dependency_field_name protoreflect.Name = "dependency"
FileDescriptorProto_PublicDependency_field_name protoreflect.Name = "public_dependency" FileDescriptorProto_PublicDependency_field_name protoreflect.Name = "public_dependency"
FileDescriptorProto_WeakDependency_field_name protoreflect.Name = "weak_dependency" FileDescriptorProto_WeakDependency_field_name protoreflect.Name = "weak_dependency"
FileDescriptorProto_OptionDependency_field_name protoreflect.Name = "option_dependency"
FileDescriptorProto_MessageType_field_name protoreflect.Name = "message_type" FileDescriptorProto_MessageType_field_name protoreflect.Name = "message_type"
FileDescriptorProto_EnumType_field_name protoreflect.Name = "enum_type" FileDescriptorProto_EnumType_field_name protoreflect.Name = "enum_type"
FileDescriptorProto_Service_field_name protoreflect.Name = "service" FileDescriptorProto_Service_field_name protoreflect.Name = "service"
@ -79,6 +93,7 @@ const (
FileDescriptorProto_Dependency_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto.dependency" FileDescriptorProto_Dependency_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto.dependency"
FileDescriptorProto_PublicDependency_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto.public_dependency" FileDescriptorProto_PublicDependency_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto.public_dependency"
FileDescriptorProto_WeakDependency_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto.weak_dependency" FileDescriptorProto_WeakDependency_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto.weak_dependency"
FileDescriptorProto_OptionDependency_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto.option_dependency"
FileDescriptorProto_MessageType_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto.message_type" FileDescriptorProto_MessageType_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto.message_type"
FileDescriptorProto_EnumType_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto.enum_type" FileDescriptorProto_EnumType_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto.enum_type"
FileDescriptorProto_Service_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto.service" FileDescriptorProto_Service_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto.service"
@ -96,6 +111,7 @@ const (
FileDescriptorProto_Dependency_field_number protoreflect.FieldNumber = 3 FileDescriptorProto_Dependency_field_number protoreflect.FieldNumber = 3
FileDescriptorProto_PublicDependency_field_number protoreflect.FieldNumber = 10 FileDescriptorProto_PublicDependency_field_number protoreflect.FieldNumber = 10
FileDescriptorProto_WeakDependency_field_number protoreflect.FieldNumber = 11 FileDescriptorProto_WeakDependency_field_number protoreflect.FieldNumber = 11
FileDescriptorProto_OptionDependency_field_number protoreflect.FieldNumber = 15
FileDescriptorProto_MessageType_field_number protoreflect.FieldNumber = 4 FileDescriptorProto_MessageType_field_number protoreflect.FieldNumber = 4
FileDescriptorProto_EnumType_field_number protoreflect.FieldNumber = 5 FileDescriptorProto_EnumType_field_number protoreflect.FieldNumber = 5
FileDescriptorProto_Service_field_number protoreflect.FieldNumber = 6 FileDescriptorProto_Service_field_number protoreflect.FieldNumber = 6
@ -124,6 +140,7 @@ const (
DescriptorProto_Options_field_name protoreflect.Name = "options" DescriptorProto_Options_field_name protoreflect.Name = "options"
DescriptorProto_ReservedRange_field_name protoreflect.Name = "reserved_range" DescriptorProto_ReservedRange_field_name protoreflect.Name = "reserved_range"
DescriptorProto_ReservedName_field_name protoreflect.Name = "reserved_name" DescriptorProto_ReservedName_field_name protoreflect.Name = "reserved_name"
DescriptorProto_Visibility_field_name protoreflect.Name = "visibility"
DescriptorProto_Name_field_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.name" DescriptorProto_Name_field_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.name"
DescriptorProto_Field_field_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.field" DescriptorProto_Field_field_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.field"
@ -135,6 +152,7 @@ const (
DescriptorProto_Options_field_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.options" DescriptorProto_Options_field_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.options"
DescriptorProto_ReservedRange_field_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.reserved_range" DescriptorProto_ReservedRange_field_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.reserved_range"
DescriptorProto_ReservedName_field_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.reserved_name" DescriptorProto_ReservedName_field_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.reserved_name"
DescriptorProto_Visibility_field_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.visibility"
) )
// Field numbers for google.protobuf.DescriptorProto. // Field numbers for google.protobuf.DescriptorProto.
@ -149,6 +167,7 @@ const (
DescriptorProto_Options_field_number protoreflect.FieldNumber = 7 DescriptorProto_Options_field_number protoreflect.FieldNumber = 7
DescriptorProto_ReservedRange_field_number protoreflect.FieldNumber = 9 DescriptorProto_ReservedRange_field_number protoreflect.FieldNumber = 9
DescriptorProto_ReservedName_field_number protoreflect.FieldNumber = 10 DescriptorProto_ReservedName_field_number protoreflect.FieldNumber = 10
DescriptorProto_Visibility_field_number protoreflect.FieldNumber = 11
) )
// Names for google.protobuf.DescriptorProto.ExtensionRange. // Names for google.protobuf.DescriptorProto.ExtensionRange.
@ -388,12 +407,14 @@ const (
EnumDescriptorProto_Options_field_name protoreflect.Name = "options" EnumDescriptorProto_Options_field_name protoreflect.Name = "options"
EnumDescriptorProto_ReservedRange_field_name protoreflect.Name = "reserved_range" EnumDescriptorProto_ReservedRange_field_name protoreflect.Name = "reserved_range"
EnumDescriptorProto_ReservedName_field_name protoreflect.Name = "reserved_name" EnumDescriptorProto_ReservedName_field_name protoreflect.Name = "reserved_name"
EnumDescriptorProto_Visibility_field_name protoreflect.Name = "visibility"
EnumDescriptorProto_Name_field_fullname protoreflect.FullName = "google.protobuf.EnumDescriptorProto.name" EnumDescriptorProto_Name_field_fullname protoreflect.FullName = "google.protobuf.EnumDescriptorProto.name"
EnumDescriptorProto_Value_field_fullname protoreflect.FullName = "google.protobuf.EnumDescriptorProto.value" EnumDescriptorProto_Value_field_fullname protoreflect.FullName = "google.protobuf.EnumDescriptorProto.value"
EnumDescriptorProto_Options_field_fullname protoreflect.FullName = "google.protobuf.EnumDescriptorProto.options" EnumDescriptorProto_Options_field_fullname protoreflect.FullName = "google.protobuf.EnumDescriptorProto.options"
EnumDescriptorProto_ReservedRange_field_fullname protoreflect.FullName = "google.protobuf.EnumDescriptorProto.reserved_range" EnumDescriptorProto_ReservedRange_field_fullname protoreflect.FullName = "google.protobuf.EnumDescriptorProto.reserved_range"
EnumDescriptorProto_ReservedName_field_fullname protoreflect.FullName = "google.protobuf.EnumDescriptorProto.reserved_name" EnumDescriptorProto_ReservedName_field_fullname protoreflect.FullName = "google.protobuf.EnumDescriptorProto.reserved_name"
EnumDescriptorProto_Visibility_field_fullname protoreflect.FullName = "google.protobuf.EnumDescriptorProto.visibility"
) )
// Field numbers for google.protobuf.EnumDescriptorProto. // Field numbers for google.protobuf.EnumDescriptorProto.
@ -403,6 +424,7 @@ const (
EnumDescriptorProto_Options_field_number protoreflect.FieldNumber = 3 EnumDescriptorProto_Options_field_number protoreflect.FieldNumber = 3
EnumDescriptorProto_ReservedRange_field_number protoreflect.FieldNumber = 4 EnumDescriptorProto_ReservedRange_field_number protoreflect.FieldNumber = 4
EnumDescriptorProto_ReservedName_field_number protoreflect.FieldNumber = 5 EnumDescriptorProto_ReservedName_field_number protoreflect.FieldNumber = 5
EnumDescriptorProto_Visibility_field_number protoreflect.FieldNumber = 6
) )
// Names for google.protobuf.EnumDescriptorProto.EnumReservedRange. // Names for google.protobuf.EnumDescriptorProto.EnumReservedRange.
@ -1008,32 +1030,35 @@ const (
// Field names for google.protobuf.FeatureSet. // Field names for google.protobuf.FeatureSet.
const ( const (
FeatureSet_FieldPresence_field_name protoreflect.Name = "field_presence" FeatureSet_FieldPresence_field_name protoreflect.Name = "field_presence"
FeatureSet_EnumType_field_name protoreflect.Name = "enum_type" FeatureSet_EnumType_field_name protoreflect.Name = "enum_type"
FeatureSet_RepeatedFieldEncoding_field_name protoreflect.Name = "repeated_field_encoding" FeatureSet_RepeatedFieldEncoding_field_name protoreflect.Name = "repeated_field_encoding"
FeatureSet_Utf8Validation_field_name protoreflect.Name = "utf8_validation" FeatureSet_Utf8Validation_field_name protoreflect.Name = "utf8_validation"
FeatureSet_MessageEncoding_field_name protoreflect.Name = "message_encoding" FeatureSet_MessageEncoding_field_name protoreflect.Name = "message_encoding"
FeatureSet_JsonFormat_field_name protoreflect.Name = "json_format" FeatureSet_JsonFormat_field_name protoreflect.Name = "json_format"
FeatureSet_EnforceNamingStyle_field_name protoreflect.Name = "enforce_naming_style" FeatureSet_EnforceNamingStyle_field_name protoreflect.Name = "enforce_naming_style"
FeatureSet_DefaultSymbolVisibility_field_name protoreflect.Name = "default_symbol_visibility"
FeatureSet_FieldPresence_field_fullname protoreflect.FullName = "google.protobuf.FeatureSet.field_presence" FeatureSet_FieldPresence_field_fullname protoreflect.FullName = "google.protobuf.FeatureSet.field_presence"
FeatureSet_EnumType_field_fullname protoreflect.FullName = "google.protobuf.FeatureSet.enum_type" FeatureSet_EnumType_field_fullname protoreflect.FullName = "google.protobuf.FeatureSet.enum_type"
FeatureSet_RepeatedFieldEncoding_field_fullname protoreflect.FullName = "google.protobuf.FeatureSet.repeated_field_encoding" FeatureSet_RepeatedFieldEncoding_field_fullname protoreflect.FullName = "google.protobuf.FeatureSet.repeated_field_encoding"
FeatureSet_Utf8Validation_field_fullname protoreflect.FullName = "google.protobuf.FeatureSet.utf8_validation" FeatureSet_Utf8Validation_field_fullname protoreflect.FullName = "google.protobuf.FeatureSet.utf8_validation"
FeatureSet_MessageEncoding_field_fullname protoreflect.FullName = "google.protobuf.FeatureSet.message_encoding" FeatureSet_MessageEncoding_field_fullname protoreflect.FullName = "google.protobuf.FeatureSet.message_encoding"
FeatureSet_JsonFormat_field_fullname protoreflect.FullName = "google.protobuf.FeatureSet.json_format" FeatureSet_JsonFormat_field_fullname protoreflect.FullName = "google.protobuf.FeatureSet.json_format"
FeatureSet_EnforceNamingStyle_field_fullname protoreflect.FullName = "google.protobuf.FeatureSet.enforce_naming_style" FeatureSet_EnforceNamingStyle_field_fullname protoreflect.FullName = "google.protobuf.FeatureSet.enforce_naming_style"
FeatureSet_DefaultSymbolVisibility_field_fullname protoreflect.FullName = "google.protobuf.FeatureSet.default_symbol_visibility"
) )
// Field numbers for google.protobuf.FeatureSet. // Field numbers for google.protobuf.FeatureSet.
const ( const (
FeatureSet_FieldPresence_field_number protoreflect.FieldNumber = 1 FeatureSet_FieldPresence_field_number protoreflect.FieldNumber = 1
FeatureSet_EnumType_field_number protoreflect.FieldNumber = 2 FeatureSet_EnumType_field_number protoreflect.FieldNumber = 2
FeatureSet_RepeatedFieldEncoding_field_number protoreflect.FieldNumber = 3 FeatureSet_RepeatedFieldEncoding_field_number protoreflect.FieldNumber = 3
FeatureSet_Utf8Validation_field_number protoreflect.FieldNumber = 4 FeatureSet_Utf8Validation_field_number protoreflect.FieldNumber = 4
FeatureSet_MessageEncoding_field_number protoreflect.FieldNumber = 5 FeatureSet_MessageEncoding_field_number protoreflect.FieldNumber = 5
FeatureSet_JsonFormat_field_number protoreflect.FieldNumber = 6 FeatureSet_JsonFormat_field_number protoreflect.FieldNumber = 6
FeatureSet_EnforceNamingStyle_field_number protoreflect.FieldNumber = 7 FeatureSet_EnforceNamingStyle_field_number protoreflect.FieldNumber = 7
FeatureSet_DefaultSymbolVisibility_field_number protoreflect.FieldNumber = 8
) )
// Full and short names for google.protobuf.FeatureSet.FieldPresence. // Full and short names for google.protobuf.FeatureSet.FieldPresence.
@ -1128,6 +1153,27 @@ const (
FeatureSet_STYLE_LEGACY_enum_value = 2 FeatureSet_STYLE_LEGACY_enum_value = 2
) )
// Names for google.protobuf.FeatureSet.VisibilityFeature.
const (
FeatureSet_VisibilityFeature_message_name protoreflect.Name = "VisibilityFeature"
FeatureSet_VisibilityFeature_message_fullname protoreflect.FullName = "google.protobuf.FeatureSet.VisibilityFeature"
)
// Full and short names for google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility.
const (
FeatureSet_VisibilityFeature_DefaultSymbolVisibility_enum_fullname = "google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility"
FeatureSet_VisibilityFeature_DefaultSymbolVisibility_enum_name = "DefaultSymbolVisibility"
)
// Enum values for google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility.
const (
FeatureSet_VisibilityFeature_DEFAULT_SYMBOL_VISIBILITY_UNKNOWN_enum_value = 0
FeatureSet_VisibilityFeature_EXPORT_ALL_enum_value = 1
FeatureSet_VisibilityFeature_EXPORT_TOP_LEVEL_enum_value = 2
FeatureSet_VisibilityFeature_LOCAL_ALL_enum_value = 3
FeatureSet_VisibilityFeature_STRICT_enum_value = 4
)
// Names for google.protobuf.FeatureSetDefaults. // Names for google.protobuf.FeatureSetDefaults.
const ( const (
FeatureSetDefaults_message_name protoreflect.Name = "FeatureSetDefaults" FeatureSetDefaults_message_name protoreflect.Name = "FeatureSetDefaults"

View File

@ -11,6 +11,7 @@ import (
"google.golang.org/protobuf/encoding/protowire" "google.golang.org/protobuf/encoding/protowire"
"google.golang.org/protobuf/internal/encoding/messageset" "google.golang.org/protobuf/internal/encoding/messageset"
"google.golang.org/protobuf/internal/filedesc"
"google.golang.org/protobuf/internal/order" "google.golang.org/protobuf/internal/order"
"google.golang.org/protobuf/reflect/protoreflect" "google.golang.org/protobuf/reflect/protoreflect"
piface "google.golang.org/protobuf/runtime/protoiface" piface "google.golang.org/protobuf/runtime/protoiface"
@ -80,7 +81,7 @@ func (mi *MessageInfo) makeOpaqueCoderMethods(t reflect.Type, si opaqueStructInf
// permit us to skip over definitely-unset fields at marshal time. // permit us to skip over definitely-unset fields at marshal time.
var hasPresence bool var hasPresence bool
hasPresence, cf.isLazy = usePresenceForField(si, fd) hasPresence, cf.isLazy = filedesc.UsePresenceForField(fd)
if hasPresence { if hasPresence {
cf.presenceIndex, mi.presenceSize = presenceIndex(mi.Desc, fd) cf.presenceIndex, mi.presenceSize = presenceIndex(mi.Desc, fd)

View File

@ -11,6 +11,7 @@ import (
"strings" "strings"
"sync/atomic" "sync/atomic"
"google.golang.org/protobuf/internal/filedesc"
"google.golang.org/protobuf/reflect/protoreflect" "google.golang.org/protobuf/reflect/protoreflect"
) )
@ -53,7 +54,7 @@ func opaqueInitHook(mi *MessageInfo) bool {
fd := fds.Get(i) fd := fds.Get(i)
fs := si.fieldsByNumber[fd.Number()] fs := si.fieldsByNumber[fd.Number()]
var fi fieldInfo var fi fieldInfo
usePresence, _ := usePresenceForField(si, fd) usePresence, _ := filedesc.UsePresenceForField(fd)
switch { switch {
case fd.ContainingOneof() != nil && !fd.ContainingOneof().IsSynthetic(): case fd.ContainingOneof() != nil && !fd.ContainingOneof().IsSynthetic():
@ -343,17 +344,15 @@ func (mi *MessageInfo) fieldInfoForMessageListOpaqueNoPresence(si opaqueStructIn
if p.IsNil() { if p.IsNil() {
return false return false
} }
sp := p.Apply(fieldOffset).AtomicGetPointer() rv := p.Apply(fieldOffset).AsValueOf(fs.Type).Elem()
if sp.IsNil() { if rv.IsNil() {
return false return false
} }
rv := sp.AsValueOf(fs.Type.Elem())
return rv.Elem().Len() > 0 return rv.Elem().Len() > 0
}, },
clear: func(p pointer) { clear: func(p pointer) {
sp := p.Apply(fieldOffset).AtomicGetPointer() rv := p.Apply(fieldOffset).AsValueOf(fs.Type).Elem()
if !sp.IsNil() { if !rv.IsNil() {
rv := sp.AsValueOf(fs.Type.Elem())
rv.Elem().Set(reflect.Zero(rv.Type().Elem())) rv.Elem().Set(reflect.Zero(rv.Type().Elem()))
} }
}, },
@ -361,11 +360,10 @@ func (mi *MessageInfo) fieldInfoForMessageListOpaqueNoPresence(si opaqueStructIn
if p.IsNil() { if p.IsNil() {
return conv.Zero() return conv.Zero()
} }
sp := p.Apply(fieldOffset).AtomicGetPointer() rv := p.Apply(fieldOffset).AsValueOf(fs.Type).Elem()
if sp.IsNil() { if rv.IsNil() {
return conv.Zero() return conv.Zero()
} }
rv := sp.AsValueOf(fs.Type.Elem())
if rv.Elem().Len() == 0 { if rv.Elem().Len() == 0 {
return conv.Zero() return conv.Zero()
} }
@ -598,30 +596,3 @@ func (mi *MessageInfo) clearPresent(p pointer, index uint32) {
func (mi *MessageInfo) present(p pointer, index uint32) bool { func (mi *MessageInfo) present(p pointer, index uint32) bool {
return p.Apply(mi.presenceOffset).PresenceInfo().Present(index) return p.Apply(mi.presenceOffset).PresenceInfo().Present(index)
} }
// usePresenceForField implements the somewhat intricate logic of when
// the presence bitmap is used for a field. The main logic is that a
// field that is optional or that can be lazy will use the presence
// bit, but for proto2, also maps have a presence bit. It also records
// if the field can ever be lazy, which is true if we have a
// lazyOffset and the field is a message or a slice of messages. A
// field that is lazy will always need a presence bit. Oneofs are not
// lazy and do not use presence, unless they are a synthetic oneof,
// which is a proto3 optional field. For proto3 optionals, we use the
// presence and they can also be lazy when applicable (a message).
func usePresenceForField(si opaqueStructInfo, fd protoreflect.FieldDescriptor) (usePresence, canBeLazy bool) {
hasLazyField := fd.(interface{ IsLazy() bool }).IsLazy()
// Non-oneof scalar fields with explicit field presence use the presence array.
usesPresenceArray := fd.HasPresence() && fd.Message() == nil && (fd.ContainingOneof() == nil || fd.ContainingOneof().IsSynthetic())
switch {
case fd.ContainingOneof() != nil && !fd.ContainingOneof().IsSynthetic():
return false, false
case fd.IsMap():
return false, false
case fd.Kind() == protoreflect.MessageKind || fd.Kind() == protoreflect.GroupKind:
return hasLazyField, hasLazyField
default:
return usesPresenceArray || (hasLazyField && fd.HasPresence()), false
}
}

View File

@ -32,9 +32,6 @@ func (p presence) toElem(num uint32) (ret *uint32) {
// Present checks for the presence of a specific field number in a presence set. // Present checks for the presence of a specific field number in a presence set.
func (p presence) Present(num uint32) bool { func (p presence) Present(num uint32) bool {
if p.P == nil {
return false
}
return Export{}.Present(p.toElem(num), num) return Export{}.Present(p.toElem(num), num)
} }

View File

@ -52,7 +52,7 @@ import (
const ( const (
Major = 1 Major = 1
Minor = 36 Minor = 36
Patch = 6 Patch = 7
PreRelease = "" PreRelease = ""
) )

View File

@ -21,6 +21,8 @@ func (p *SourcePath) appendFileDescriptorProto(b []byte) []byte {
b = p.appendRepeatedField(b, "public_dependency", nil) b = p.appendRepeatedField(b, "public_dependency", nil)
case 11: case 11:
b = p.appendRepeatedField(b, "weak_dependency", nil) b = p.appendRepeatedField(b, "weak_dependency", nil)
case 15:
b = p.appendRepeatedField(b, "option_dependency", nil)
case 4: case 4:
b = p.appendRepeatedField(b, "message_type", (*SourcePath).appendDescriptorProto) b = p.appendRepeatedField(b, "message_type", (*SourcePath).appendDescriptorProto)
case 5: case 5:
@ -66,6 +68,8 @@ func (p *SourcePath) appendDescriptorProto(b []byte) []byte {
b = p.appendRepeatedField(b, "reserved_range", (*SourcePath).appendDescriptorProto_ReservedRange) b = p.appendRepeatedField(b, "reserved_range", (*SourcePath).appendDescriptorProto_ReservedRange)
case 10: case 10:
b = p.appendRepeatedField(b, "reserved_name", nil) b = p.appendRepeatedField(b, "reserved_name", nil)
case 11:
b = p.appendSingularField(b, "visibility", nil)
} }
return b return b
} }
@ -85,6 +89,8 @@ func (p *SourcePath) appendEnumDescriptorProto(b []byte) []byte {
b = p.appendRepeatedField(b, "reserved_range", (*SourcePath).appendEnumDescriptorProto_EnumReservedRange) b = p.appendRepeatedField(b, "reserved_range", (*SourcePath).appendEnumDescriptorProto_EnumReservedRange)
case 5: case 5:
b = p.appendRepeatedField(b, "reserved_name", nil) b = p.appendRepeatedField(b, "reserved_name", nil)
case 6:
b = p.appendSingularField(b, "visibility", nil)
} }
return b return b
} }
@ -400,6 +406,8 @@ func (p *SourcePath) appendFeatureSet(b []byte) []byte {
b = p.appendSingularField(b, "json_format", nil) b = p.appendSingularField(b, "json_format", nil)
case 7: case 7:
b = p.appendSingularField(b, "enforce_naming_style", nil) b = p.appendSingularField(b, "enforce_naming_style", nil)
case 8:
b = p.appendSingularField(b, "default_symbol_visibility", nil)
} }
return b return b
} }

View File

@ -151,6 +151,70 @@ func (Edition) EnumDescriptor() ([]byte, []int) {
return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{0} return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{0}
} }
// Describes the 'visibility' of a symbol with respect to the proto import
// system. Symbols can only be imported when the visibility rules do not prevent
// it (ex: local symbols cannot be imported). Visibility modifiers can only set
// on `message` and `enum` as they are the only types available to be referenced
// from other files.
type SymbolVisibility int32
const (
SymbolVisibility_VISIBILITY_UNSET SymbolVisibility = 0
SymbolVisibility_VISIBILITY_LOCAL SymbolVisibility = 1
SymbolVisibility_VISIBILITY_EXPORT SymbolVisibility = 2
)
// Enum value maps for SymbolVisibility.
var (
SymbolVisibility_name = map[int32]string{
0: "VISIBILITY_UNSET",
1: "VISIBILITY_LOCAL",
2: "VISIBILITY_EXPORT",
}
SymbolVisibility_value = map[string]int32{
"VISIBILITY_UNSET": 0,
"VISIBILITY_LOCAL": 1,
"VISIBILITY_EXPORT": 2,
}
)
func (x SymbolVisibility) Enum() *SymbolVisibility {
p := new(SymbolVisibility)
*p = x
return p
}
func (x SymbolVisibility) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (SymbolVisibility) Descriptor() protoreflect.EnumDescriptor {
return file_google_protobuf_descriptor_proto_enumTypes[1].Descriptor()
}
func (SymbolVisibility) Type() protoreflect.EnumType {
return &file_google_protobuf_descriptor_proto_enumTypes[1]
}
func (x SymbolVisibility) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Do not use.
func (x *SymbolVisibility) UnmarshalJSON(b []byte) error {
num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
if err != nil {
return err
}
*x = SymbolVisibility(num)
return nil
}
// Deprecated: Use SymbolVisibility.Descriptor instead.
func (SymbolVisibility) EnumDescriptor() ([]byte, []int) {
return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{1}
}
// The verification state of the extension range. // The verification state of the extension range.
type ExtensionRangeOptions_VerificationState int32 type ExtensionRangeOptions_VerificationState int32
@ -183,11 +247,11 @@ func (x ExtensionRangeOptions_VerificationState) String() string {
} }
func (ExtensionRangeOptions_VerificationState) Descriptor() protoreflect.EnumDescriptor { func (ExtensionRangeOptions_VerificationState) Descriptor() protoreflect.EnumDescriptor {
return file_google_protobuf_descriptor_proto_enumTypes[1].Descriptor() return file_google_protobuf_descriptor_proto_enumTypes[2].Descriptor()
} }
func (ExtensionRangeOptions_VerificationState) Type() protoreflect.EnumType { func (ExtensionRangeOptions_VerificationState) Type() protoreflect.EnumType {
return &file_google_protobuf_descriptor_proto_enumTypes[1] return &file_google_protobuf_descriptor_proto_enumTypes[2]
} }
func (x ExtensionRangeOptions_VerificationState) Number() protoreflect.EnumNumber { func (x ExtensionRangeOptions_VerificationState) Number() protoreflect.EnumNumber {
@ -299,11 +363,11 @@ func (x FieldDescriptorProto_Type) String() string {
} }
func (FieldDescriptorProto_Type) Descriptor() protoreflect.EnumDescriptor { func (FieldDescriptorProto_Type) Descriptor() protoreflect.EnumDescriptor {
return file_google_protobuf_descriptor_proto_enumTypes[2].Descriptor() return file_google_protobuf_descriptor_proto_enumTypes[3].Descriptor()
} }
func (FieldDescriptorProto_Type) Type() protoreflect.EnumType { func (FieldDescriptorProto_Type) Type() protoreflect.EnumType {
return &file_google_protobuf_descriptor_proto_enumTypes[2] return &file_google_protobuf_descriptor_proto_enumTypes[3]
} }
func (x FieldDescriptorProto_Type) Number() protoreflect.EnumNumber { func (x FieldDescriptorProto_Type) Number() protoreflect.EnumNumber {
@ -362,11 +426,11 @@ func (x FieldDescriptorProto_Label) String() string {
} }
func (FieldDescriptorProto_Label) Descriptor() protoreflect.EnumDescriptor { func (FieldDescriptorProto_Label) Descriptor() protoreflect.EnumDescriptor {
return file_google_protobuf_descriptor_proto_enumTypes[3].Descriptor() return file_google_protobuf_descriptor_proto_enumTypes[4].Descriptor()
} }
func (FieldDescriptorProto_Label) Type() protoreflect.EnumType { func (FieldDescriptorProto_Label) Type() protoreflect.EnumType {
return &file_google_protobuf_descriptor_proto_enumTypes[3] return &file_google_protobuf_descriptor_proto_enumTypes[4]
} }
func (x FieldDescriptorProto_Label) Number() protoreflect.EnumNumber { func (x FieldDescriptorProto_Label) Number() protoreflect.EnumNumber {
@ -423,11 +487,11 @@ func (x FileOptions_OptimizeMode) String() string {
} }
func (FileOptions_OptimizeMode) Descriptor() protoreflect.EnumDescriptor { func (FileOptions_OptimizeMode) Descriptor() protoreflect.EnumDescriptor {
return file_google_protobuf_descriptor_proto_enumTypes[4].Descriptor() return file_google_protobuf_descriptor_proto_enumTypes[5].Descriptor()
} }
func (FileOptions_OptimizeMode) Type() protoreflect.EnumType { func (FileOptions_OptimizeMode) Type() protoreflect.EnumType {
return &file_google_protobuf_descriptor_proto_enumTypes[4] return &file_google_protobuf_descriptor_proto_enumTypes[5]
} }
func (x FileOptions_OptimizeMode) Number() protoreflect.EnumNumber { func (x FileOptions_OptimizeMode) Number() protoreflect.EnumNumber {
@ -489,11 +553,11 @@ func (x FieldOptions_CType) String() string {
} }
func (FieldOptions_CType) Descriptor() protoreflect.EnumDescriptor { func (FieldOptions_CType) Descriptor() protoreflect.EnumDescriptor {
return file_google_protobuf_descriptor_proto_enumTypes[5].Descriptor() return file_google_protobuf_descriptor_proto_enumTypes[6].Descriptor()
} }
func (FieldOptions_CType) Type() protoreflect.EnumType { func (FieldOptions_CType) Type() protoreflect.EnumType {
return &file_google_protobuf_descriptor_proto_enumTypes[5] return &file_google_protobuf_descriptor_proto_enumTypes[6]
} }
func (x FieldOptions_CType) Number() protoreflect.EnumNumber { func (x FieldOptions_CType) Number() protoreflect.EnumNumber {
@ -551,11 +615,11 @@ func (x FieldOptions_JSType) String() string {
} }
func (FieldOptions_JSType) Descriptor() protoreflect.EnumDescriptor { func (FieldOptions_JSType) Descriptor() protoreflect.EnumDescriptor {
return file_google_protobuf_descriptor_proto_enumTypes[6].Descriptor() return file_google_protobuf_descriptor_proto_enumTypes[7].Descriptor()
} }
func (FieldOptions_JSType) Type() protoreflect.EnumType { func (FieldOptions_JSType) Type() protoreflect.EnumType {
return &file_google_protobuf_descriptor_proto_enumTypes[6] return &file_google_protobuf_descriptor_proto_enumTypes[7]
} }
func (x FieldOptions_JSType) Number() protoreflect.EnumNumber { func (x FieldOptions_JSType) Number() protoreflect.EnumNumber {
@ -611,11 +675,11 @@ func (x FieldOptions_OptionRetention) String() string {
} }
func (FieldOptions_OptionRetention) Descriptor() protoreflect.EnumDescriptor { func (FieldOptions_OptionRetention) Descriptor() protoreflect.EnumDescriptor {
return file_google_protobuf_descriptor_proto_enumTypes[7].Descriptor() return file_google_protobuf_descriptor_proto_enumTypes[8].Descriptor()
} }
func (FieldOptions_OptionRetention) Type() protoreflect.EnumType { func (FieldOptions_OptionRetention) Type() protoreflect.EnumType {
return &file_google_protobuf_descriptor_proto_enumTypes[7] return &file_google_protobuf_descriptor_proto_enumTypes[8]
} }
func (x FieldOptions_OptionRetention) Number() protoreflect.EnumNumber { func (x FieldOptions_OptionRetention) Number() protoreflect.EnumNumber {
@ -694,11 +758,11 @@ func (x FieldOptions_OptionTargetType) String() string {
} }
func (FieldOptions_OptionTargetType) Descriptor() protoreflect.EnumDescriptor { func (FieldOptions_OptionTargetType) Descriptor() protoreflect.EnumDescriptor {
return file_google_protobuf_descriptor_proto_enumTypes[8].Descriptor() return file_google_protobuf_descriptor_proto_enumTypes[9].Descriptor()
} }
func (FieldOptions_OptionTargetType) Type() protoreflect.EnumType { func (FieldOptions_OptionTargetType) Type() protoreflect.EnumType {
return &file_google_protobuf_descriptor_proto_enumTypes[8] return &file_google_protobuf_descriptor_proto_enumTypes[9]
} }
func (x FieldOptions_OptionTargetType) Number() protoreflect.EnumNumber { func (x FieldOptions_OptionTargetType) Number() protoreflect.EnumNumber {
@ -756,11 +820,11 @@ func (x MethodOptions_IdempotencyLevel) String() string {
} }
func (MethodOptions_IdempotencyLevel) Descriptor() protoreflect.EnumDescriptor { func (MethodOptions_IdempotencyLevel) Descriptor() protoreflect.EnumDescriptor {
return file_google_protobuf_descriptor_proto_enumTypes[9].Descriptor() return file_google_protobuf_descriptor_proto_enumTypes[10].Descriptor()
} }
func (MethodOptions_IdempotencyLevel) Type() protoreflect.EnumType { func (MethodOptions_IdempotencyLevel) Type() protoreflect.EnumType {
return &file_google_protobuf_descriptor_proto_enumTypes[9] return &file_google_protobuf_descriptor_proto_enumTypes[10]
} }
func (x MethodOptions_IdempotencyLevel) Number() protoreflect.EnumNumber { func (x MethodOptions_IdempotencyLevel) Number() protoreflect.EnumNumber {
@ -818,11 +882,11 @@ func (x FeatureSet_FieldPresence) String() string {
} }
func (FeatureSet_FieldPresence) Descriptor() protoreflect.EnumDescriptor { func (FeatureSet_FieldPresence) Descriptor() protoreflect.EnumDescriptor {
return file_google_protobuf_descriptor_proto_enumTypes[10].Descriptor() return file_google_protobuf_descriptor_proto_enumTypes[11].Descriptor()
} }
func (FeatureSet_FieldPresence) Type() protoreflect.EnumType { func (FeatureSet_FieldPresence) Type() protoreflect.EnumType {
return &file_google_protobuf_descriptor_proto_enumTypes[10] return &file_google_protobuf_descriptor_proto_enumTypes[11]
} }
func (x FeatureSet_FieldPresence) Number() protoreflect.EnumNumber { func (x FeatureSet_FieldPresence) Number() protoreflect.EnumNumber {
@ -877,11 +941,11 @@ func (x FeatureSet_EnumType) String() string {
} }
func (FeatureSet_EnumType) Descriptor() protoreflect.EnumDescriptor { func (FeatureSet_EnumType) Descriptor() protoreflect.EnumDescriptor {
return file_google_protobuf_descriptor_proto_enumTypes[11].Descriptor() return file_google_protobuf_descriptor_proto_enumTypes[12].Descriptor()
} }
func (FeatureSet_EnumType) Type() protoreflect.EnumType { func (FeatureSet_EnumType) Type() protoreflect.EnumType {
return &file_google_protobuf_descriptor_proto_enumTypes[11] return &file_google_protobuf_descriptor_proto_enumTypes[12]
} }
func (x FeatureSet_EnumType) Number() protoreflect.EnumNumber { func (x FeatureSet_EnumType) Number() protoreflect.EnumNumber {
@ -936,11 +1000,11 @@ func (x FeatureSet_RepeatedFieldEncoding) String() string {
} }
func (FeatureSet_RepeatedFieldEncoding) Descriptor() protoreflect.EnumDescriptor { func (FeatureSet_RepeatedFieldEncoding) Descriptor() protoreflect.EnumDescriptor {
return file_google_protobuf_descriptor_proto_enumTypes[12].Descriptor() return file_google_protobuf_descriptor_proto_enumTypes[13].Descriptor()
} }
func (FeatureSet_RepeatedFieldEncoding) Type() protoreflect.EnumType { func (FeatureSet_RepeatedFieldEncoding) Type() protoreflect.EnumType {
return &file_google_protobuf_descriptor_proto_enumTypes[12] return &file_google_protobuf_descriptor_proto_enumTypes[13]
} }
func (x FeatureSet_RepeatedFieldEncoding) Number() protoreflect.EnumNumber { func (x FeatureSet_RepeatedFieldEncoding) Number() protoreflect.EnumNumber {
@ -995,11 +1059,11 @@ func (x FeatureSet_Utf8Validation) String() string {
} }
func (FeatureSet_Utf8Validation) Descriptor() protoreflect.EnumDescriptor { func (FeatureSet_Utf8Validation) Descriptor() protoreflect.EnumDescriptor {
return file_google_protobuf_descriptor_proto_enumTypes[13].Descriptor() return file_google_protobuf_descriptor_proto_enumTypes[14].Descriptor()
} }
func (FeatureSet_Utf8Validation) Type() protoreflect.EnumType { func (FeatureSet_Utf8Validation) Type() protoreflect.EnumType {
return &file_google_protobuf_descriptor_proto_enumTypes[13] return &file_google_protobuf_descriptor_proto_enumTypes[14]
} }
func (x FeatureSet_Utf8Validation) Number() protoreflect.EnumNumber { func (x FeatureSet_Utf8Validation) Number() protoreflect.EnumNumber {
@ -1054,11 +1118,11 @@ func (x FeatureSet_MessageEncoding) String() string {
} }
func (FeatureSet_MessageEncoding) Descriptor() protoreflect.EnumDescriptor { func (FeatureSet_MessageEncoding) Descriptor() protoreflect.EnumDescriptor {
return file_google_protobuf_descriptor_proto_enumTypes[14].Descriptor() return file_google_protobuf_descriptor_proto_enumTypes[15].Descriptor()
} }
func (FeatureSet_MessageEncoding) Type() protoreflect.EnumType { func (FeatureSet_MessageEncoding) Type() protoreflect.EnumType {
return &file_google_protobuf_descriptor_proto_enumTypes[14] return &file_google_protobuf_descriptor_proto_enumTypes[15]
} }
func (x FeatureSet_MessageEncoding) Number() protoreflect.EnumNumber { func (x FeatureSet_MessageEncoding) Number() protoreflect.EnumNumber {
@ -1113,11 +1177,11 @@ func (x FeatureSet_JsonFormat) String() string {
} }
func (FeatureSet_JsonFormat) Descriptor() protoreflect.EnumDescriptor { func (FeatureSet_JsonFormat) Descriptor() protoreflect.EnumDescriptor {
return file_google_protobuf_descriptor_proto_enumTypes[15].Descriptor() return file_google_protobuf_descriptor_proto_enumTypes[16].Descriptor()
} }
func (FeatureSet_JsonFormat) Type() protoreflect.EnumType { func (FeatureSet_JsonFormat) Type() protoreflect.EnumType {
return &file_google_protobuf_descriptor_proto_enumTypes[15] return &file_google_protobuf_descriptor_proto_enumTypes[16]
} }
func (x FeatureSet_JsonFormat) Number() protoreflect.EnumNumber { func (x FeatureSet_JsonFormat) Number() protoreflect.EnumNumber {
@ -1172,11 +1236,11 @@ func (x FeatureSet_EnforceNamingStyle) String() string {
} }
func (FeatureSet_EnforceNamingStyle) Descriptor() protoreflect.EnumDescriptor { func (FeatureSet_EnforceNamingStyle) Descriptor() protoreflect.EnumDescriptor {
return file_google_protobuf_descriptor_proto_enumTypes[16].Descriptor() return file_google_protobuf_descriptor_proto_enumTypes[17].Descriptor()
} }
func (FeatureSet_EnforceNamingStyle) Type() protoreflect.EnumType { func (FeatureSet_EnforceNamingStyle) Type() protoreflect.EnumType {
return &file_google_protobuf_descriptor_proto_enumTypes[16] return &file_google_protobuf_descriptor_proto_enumTypes[17]
} }
func (x FeatureSet_EnforceNamingStyle) Number() protoreflect.EnumNumber { func (x FeatureSet_EnforceNamingStyle) Number() protoreflect.EnumNumber {
@ -1198,6 +1262,77 @@ func (FeatureSet_EnforceNamingStyle) EnumDescriptor() ([]byte, []int) {
return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{19, 6} return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{19, 6}
} }
type FeatureSet_VisibilityFeature_DefaultSymbolVisibility int32
const (
FeatureSet_VisibilityFeature_DEFAULT_SYMBOL_VISIBILITY_UNKNOWN FeatureSet_VisibilityFeature_DefaultSymbolVisibility = 0
// Default pre-EDITION_2024, all UNSET visibility are export.
FeatureSet_VisibilityFeature_EXPORT_ALL FeatureSet_VisibilityFeature_DefaultSymbolVisibility = 1
// All top-level symbols default to export, nested default to local.
FeatureSet_VisibilityFeature_EXPORT_TOP_LEVEL FeatureSet_VisibilityFeature_DefaultSymbolVisibility = 2
// All symbols default to local.
FeatureSet_VisibilityFeature_LOCAL_ALL FeatureSet_VisibilityFeature_DefaultSymbolVisibility = 3
// All symbols local by default. Nested types cannot be exported.
// With special case caveat for message { enum {} reserved 1 to max; }
// This is the recommended setting for new protos.
FeatureSet_VisibilityFeature_STRICT FeatureSet_VisibilityFeature_DefaultSymbolVisibility = 4
)
// Enum value maps for FeatureSet_VisibilityFeature_DefaultSymbolVisibility.
var (
FeatureSet_VisibilityFeature_DefaultSymbolVisibility_name = map[int32]string{
0: "DEFAULT_SYMBOL_VISIBILITY_UNKNOWN",
1: "EXPORT_ALL",
2: "EXPORT_TOP_LEVEL",
3: "LOCAL_ALL",
4: "STRICT",
}
FeatureSet_VisibilityFeature_DefaultSymbolVisibility_value = map[string]int32{
"DEFAULT_SYMBOL_VISIBILITY_UNKNOWN": 0,
"EXPORT_ALL": 1,
"EXPORT_TOP_LEVEL": 2,
"LOCAL_ALL": 3,
"STRICT": 4,
}
)
func (x FeatureSet_VisibilityFeature_DefaultSymbolVisibility) Enum() *FeatureSet_VisibilityFeature_DefaultSymbolVisibility {
p := new(FeatureSet_VisibilityFeature_DefaultSymbolVisibility)
*p = x
return p
}
func (x FeatureSet_VisibilityFeature_DefaultSymbolVisibility) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (FeatureSet_VisibilityFeature_DefaultSymbolVisibility) Descriptor() protoreflect.EnumDescriptor {
return file_google_protobuf_descriptor_proto_enumTypes[18].Descriptor()
}
func (FeatureSet_VisibilityFeature_DefaultSymbolVisibility) Type() protoreflect.EnumType {
return &file_google_protobuf_descriptor_proto_enumTypes[18]
}
func (x FeatureSet_VisibilityFeature_DefaultSymbolVisibility) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Do not use.
func (x *FeatureSet_VisibilityFeature_DefaultSymbolVisibility) UnmarshalJSON(b []byte) error {
num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
if err != nil {
return err
}
*x = FeatureSet_VisibilityFeature_DefaultSymbolVisibility(num)
return nil
}
// Deprecated: Use FeatureSet_VisibilityFeature_DefaultSymbolVisibility.Descriptor instead.
func (FeatureSet_VisibilityFeature_DefaultSymbolVisibility) EnumDescriptor() ([]byte, []int) {
return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{19, 0, 0}
}
// Represents the identified object's effect on the element in the original // Represents the identified object's effect on the element in the original
// .proto file. // .proto file.
type GeneratedCodeInfo_Annotation_Semantic int32 type GeneratedCodeInfo_Annotation_Semantic int32
@ -1236,11 +1371,11 @@ func (x GeneratedCodeInfo_Annotation_Semantic) String() string {
} }
func (GeneratedCodeInfo_Annotation_Semantic) Descriptor() protoreflect.EnumDescriptor { func (GeneratedCodeInfo_Annotation_Semantic) Descriptor() protoreflect.EnumDescriptor {
return file_google_protobuf_descriptor_proto_enumTypes[17].Descriptor() return file_google_protobuf_descriptor_proto_enumTypes[19].Descriptor()
} }
func (GeneratedCodeInfo_Annotation_Semantic) Type() protoreflect.EnumType { func (GeneratedCodeInfo_Annotation_Semantic) Type() protoreflect.EnumType {
return &file_google_protobuf_descriptor_proto_enumTypes[17] return &file_google_protobuf_descriptor_proto_enumTypes[19]
} }
func (x GeneratedCodeInfo_Annotation_Semantic) Number() protoreflect.EnumNumber { func (x GeneratedCodeInfo_Annotation_Semantic) Number() protoreflect.EnumNumber {
@ -1321,6 +1456,9 @@ type FileDescriptorProto struct {
// Indexes of the weak imported files in the dependency list. // Indexes of the weak imported files in the dependency list.
// For Google-internal migration only. Do not use. // For Google-internal migration only. Do not use.
WeakDependency []int32 `protobuf:"varint,11,rep,name=weak_dependency,json=weakDependency" json:"weak_dependency,omitempty"` WeakDependency []int32 `protobuf:"varint,11,rep,name=weak_dependency,json=weakDependency" json:"weak_dependency,omitempty"`
// Names of files imported by this file purely for the purpose of providing
// option extensions. These are excluded from the dependency list above.
OptionDependency []string `protobuf:"bytes,15,rep,name=option_dependency,json=optionDependency" json:"option_dependency,omitempty"`
// All top-level definitions in this file. // All top-level definitions in this file.
MessageType []*DescriptorProto `protobuf:"bytes,4,rep,name=message_type,json=messageType" json:"message_type,omitempty"` MessageType []*DescriptorProto `protobuf:"bytes,4,rep,name=message_type,json=messageType" json:"message_type,omitempty"`
EnumType []*EnumDescriptorProto `protobuf:"bytes,5,rep,name=enum_type,json=enumType" json:"enum_type,omitempty"` EnumType []*EnumDescriptorProto `protobuf:"bytes,5,rep,name=enum_type,json=enumType" json:"enum_type,omitempty"`
@ -1414,6 +1552,13 @@ func (x *FileDescriptorProto) GetWeakDependency() []int32 {
return nil return nil
} }
func (x *FileDescriptorProto) GetOptionDependency() []string {
if x != nil {
return x.OptionDependency
}
return nil
}
func (x *FileDescriptorProto) GetMessageType() []*DescriptorProto { func (x *FileDescriptorProto) GetMessageType() []*DescriptorProto {
if x != nil { if x != nil {
return x.MessageType return x.MessageType
@ -1484,7 +1629,9 @@ type DescriptorProto struct {
ReservedRange []*DescriptorProto_ReservedRange `protobuf:"bytes,9,rep,name=reserved_range,json=reservedRange" json:"reserved_range,omitempty"` ReservedRange []*DescriptorProto_ReservedRange `protobuf:"bytes,9,rep,name=reserved_range,json=reservedRange" json:"reserved_range,omitempty"`
// Reserved field names, which may not be used by fields in the same message. // Reserved field names, which may not be used by fields in the same message.
// A given name may only be reserved once. // A given name may only be reserved once.
ReservedName []string `protobuf:"bytes,10,rep,name=reserved_name,json=reservedName" json:"reserved_name,omitempty"` ReservedName []string `protobuf:"bytes,10,rep,name=reserved_name,json=reservedName" json:"reserved_name,omitempty"`
// Support for `export` and `local` keywords on enums.
Visibility *SymbolVisibility `protobuf:"varint,11,opt,name=visibility,enum=google.protobuf.SymbolVisibility" json:"visibility,omitempty"`
unknownFields protoimpl.UnknownFields unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache sizeCache protoimpl.SizeCache
} }
@ -1589,6 +1736,13 @@ func (x *DescriptorProto) GetReservedName() []string {
return nil return nil
} }
func (x *DescriptorProto) GetVisibility() SymbolVisibility {
if x != nil && x.Visibility != nil {
return *x.Visibility
}
return SymbolVisibility_VISIBILITY_UNSET
}
type ExtensionRangeOptions struct { type ExtensionRangeOptions struct {
state protoimpl.MessageState `protogen:"open.v1"` state protoimpl.MessageState `protogen:"open.v1"`
// The parser stores options it doesn't recognize here. See above. // The parser stores options it doesn't recognize here. See above.
@ -1901,7 +2055,9 @@ type EnumDescriptorProto struct {
ReservedRange []*EnumDescriptorProto_EnumReservedRange `protobuf:"bytes,4,rep,name=reserved_range,json=reservedRange" json:"reserved_range,omitempty"` ReservedRange []*EnumDescriptorProto_EnumReservedRange `protobuf:"bytes,4,rep,name=reserved_range,json=reservedRange" json:"reserved_range,omitempty"`
// Reserved enum value names, which may not be reused. A given name may only // Reserved enum value names, which may not be reused. A given name may only
// be reserved once. // be reserved once.
ReservedName []string `protobuf:"bytes,5,rep,name=reserved_name,json=reservedName" json:"reserved_name,omitempty"` ReservedName []string `protobuf:"bytes,5,rep,name=reserved_name,json=reservedName" json:"reserved_name,omitempty"`
// Support for `export` and `local` keywords on enums.
Visibility *SymbolVisibility `protobuf:"varint,6,opt,name=visibility,enum=google.protobuf.SymbolVisibility" json:"visibility,omitempty"`
unknownFields protoimpl.UnknownFields unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache sizeCache protoimpl.SizeCache
} }
@ -1971,6 +2127,13 @@ func (x *EnumDescriptorProto) GetReservedName() []string {
return nil return nil
} }
func (x *EnumDescriptorProto) GetVisibility() SymbolVisibility {
if x != nil && x.Visibility != nil {
return *x.Visibility
}
return SymbolVisibility_VISIBILITY_UNSET
}
// Describes a value within an enum. // Describes a value within an enum.
type EnumValueDescriptorProto struct { type EnumValueDescriptorProto struct {
state protoimpl.MessageState `protogen:"open.v1"` state protoimpl.MessageState `protogen:"open.v1"`
@ -3392,17 +3555,18 @@ func (x *UninterpretedOption) GetAggregateValue() string {
// be designed and implemented to handle this, hopefully before we ever hit a // be designed and implemented to handle this, hopefully before we ever hit a
// conflict here. // conflict here.
type FeatureSet struct { type FeatureSet struct {
state protoimpl.MessageState `protogen:"open.v1"` state protoimpl.MessageState `protogen:"open.v1"`
FieldPresence *FeatureSet_FieldPresence `protobuf:"varint,1,opt,name=field_presence,json=fieldPresence,enum=google.protobuf.FeatureSet_FieldPresence" json:"field_presence,omitempty"` FieldPresence *FeatureSet_FieldPresence `protobuf:"varint,1,opt,name=field_presence,json=fieldPresence,enum=google.protobuf.FeatureSet_FieldPresence" json:"field_presence,omitempty"`
EnumType *FeatureSet_EnumType `protobuf:"varint,2,opt,name=enum_type,json=enumType,enum=google.protobuf.FeatureSet_EnumType" json:"enum_type,omitempty"` EnumType *FeatureSet_EnumType `protobuf:"varint,2,opt,name=enum_type,json=enumType,enum=google.protobuf.FeatureSet_EnumType" json:"enum_type,omitempty"`
RepeatedFieldEncoding *FeatureSet_RepeatedFieldEncoding `protobuf:"varint,3,opt,name=repeated_field_encoding,json=repeatedFieldEncoding,enum=google.protobuf.FeatureSet_RepeatedFieldEncoding" json:"repeated_field_encoding,omitempty"` RepeatedFieldEncoding *FeatureSet_RepeatedFieldEncoding `protobuf:"varint,3,opt,name=repeated_field_encoding,json=repeatedFieldEncoding,enum=google.protobuf.FeatureSet_RepeatedFieldEncoding" json:"repeated_field_encoding,omitempty"`
Utf8Validation *FeatureSet_Utf8Validation `protobuf:"varint,4,opt,name=utf8_validation,json=utf8Validation,enum=google.protobuf.FeatureSet_Utf8Validation" json:"utf8_validation,omitempty"` Utf8Validation *FeatureSet_Utf8Validation `protobuf:"varint,4,opt,name=utf8_validation,json=utf8Validation,enum=google.protobuf.FeatureSet_Utf8Validation" json:"utf8_validation,omitempty"`
MessageEncoding *FeatureSet_MessageEncoding `protobuf:"varint,5,opt,name=message_encoding,json=messageEncoding,enum=google.protobuf.FeatureSet_MessageEncoding" json:"message_encoding,omitempty"` MessageEncoding *FeatureSet_MessageEncoding `protobuf:"varint,5,opt,name=message_encoding,json=messageEncoding,enum=google.protobuf.FeatureSet_MessageEncoding" json:"message_encoding,omitempty"`
JsonFormat *FeatureSet_JsonFormat `protobuf:"varint,6,opt,name=json_format,json=jsonFormat,enum=google.protobuf.FeatureSet_JsonFormat" json:"json_format,omitempty"` JsonFormat *FeatureSet_JsonFormat `protobuf:"varint,6,opt,name=json_format,json=jsonFormat,enum=google.protobuf.FeatureSet_JsonFormat" json:"json_format,omitempty"`
EnforceNamingStyle *FeatureSet_EnforceNamingStyle `protobuf:"varint,7,opt,name=enforce_naming_style,json=enforceNamingStyle,enum=google.protobuf.FeatureSet_EnforceNamingStyle" json:"enforce_naming_style,omitempty"` EnforceNamingStyle *FeatureSet_EnforceNamingStyle `protobuf:"varint,7,opt,name=enforce_naming_style,json=enforceNamingStyle,enum=google.protobuf.FeatureSet_EnforceNamingStyle" json:"enforce_naming_style,omitempty"`
extensionFields protoimpl.ExtensionFields DefaultSymbolVisibility *FeatureSet_VisibilityFeature_DefaultSymbolVisibility `protobuf:"varint,8,opt,name=default_symbol_visibility,json=defaultSymbolVisibility,enum=google.protobuf.FeatureSet_VisibilityFeature_DefaultSymbolVisibility" json:"default_symbol_visibility,omitempty"`
unknownFields protoimpl.UnknownFields extensionFields protoimpl.ExtensionFields
sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
} }
func (x *FeatureSet) Reset() { func (x *FeatureSet) Reset() {
@ -3484,6 +3648,13 @@ func (x *FeatureSet) GetEnforceNamingStyle() FeatureSet_EnforceNamingStyle {
return FeatureSet_ENFORCE_NAMING_STYLE_UNKNOWN return FeatureSet_ENFORCE_NAMING_STYLE_UNKNOWN
} }
func (x *FeatureSet) GetDefaultSymbolVisibility() FeatureSet_VisibilityFeature_DefaultSymbolVisibility {
if x != nil && x.DefaultSymbolVisibility != nil {
return *x.DefaultSymbolVisibility
}
return FeatureSet_VisibilityFeature_DEFAULT_SYMBOL_VISIBILITY_UNKNOWN
}
// A compiled specification for the defaults of a set of features. These // A compiled specification for the defaults of a set of features. These
// messages are generated from FeatureSet extensions and can be used to seed // messages are generated from FeatureSet extensions and can be used to seed
// feature resolution. The resolution with this object becomes a simple search // feature resolution. The resolution with this object becomes a simple search
@ -4144,6 +4315,42 @@ func (x *UninterpretedOption_NamePart) GetIsExtension() bool {
return false return false
} }
type FeatureSet_VisibilityFeature struct {
state protoimpl.MessageState `protogen:"open.v1"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *FeatureSet_VisibilityFeature) Reset() {
*x = FeatureSet_VisibilityFeature{}
mi := &file_google_protobuf_descriptor_proto_msgTypes[30]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *FeatureSet_VisibilityFeature) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FeatureSet_VisibilityFeature) ProtoMessage() {}
func (x *FeatureSet_VisibilityFeature) ProtoReflect() protoreflect.Message {
mi := &file_google_protobuf_descriptor_proto_msgTypes[30]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use FeatureSet_VisibilityFeature.ProtoReflect.Descriptor instead.
func (*FeatureSet_VisibilityFeature) Descriptor() ([]byte, []int) {
return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{19, 0}
}
// A map from every known edition with a unique set of defaults to its // A map from every known edition with a unique set of defaults to its
// defaults. Not all editions may be contained here. For a given edition, // defaults. Not all editions may be contained here. For a given edition,
// the defaults at the closest matching edition ordered at or before it should // the defaults at the closest matching edition ordered at or before it should
@ -4161,7 +4368,7 @@ type FeatureSetDefaults_FeatureSetEditionDefault struct {
func (x *FeatureSetDefaults_FeatureSetEditionDefault) Reset() { func (x *FeatureSetDefaults_FeatureSetEditionDefault) Reset() {
*x = FeatureSetDefaults_FeatureSetEditionDefault{} *x = FeatureSetDefaults_FeatureSetEditionDefault{}
mi := &file_google_protobuf_descriptor_proto_msgTypes[30] mi := &file_google_protobuf_descriptor_proto_msgTypes[31]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi) ms.StoreMessageInfo(mi)
} }
@ -4173,7 +4380,7 @@ func (x *FeatureSetDefaults_FeatureSetEditionDefault) String() string {
func (*FeatureSetDefaults_FeatureSetEditionDefault) ProtoMessage() {} func (*FeatureSetDefaults_FeatureSetEditionDefault) ProtoMessage() {}
func (x *FeatureSetDefaults_FeatureSetEditionDefault) ProtoReflect() protoreflect.Message { func (x *FeatureSetDefaults_FeatureSetEditionDefault) ProtoReflect() protoreflect.Message {
mi := &file_google_protobuf_descriptor_proto_msgTypes[30] mi := &file_google_protobuf_descriptor_proto_msgTypes[31]
if x != nil { if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil { if ms.LoadMessageInfo() == nil {
@ -4309,7 +4516,7 @@ type SourceCodeInfo_Location struct {
func (x *SourceCodeInfo_Location) Reset() { func (x *SourceCodeInfo_Location) Reset() {
*x = SourceCodeInfo_Location{} *x = SourceCodeInfo_Location{}
mi := &file_google_protobuf_descriptor_proto_msgTypes[31] mi := &file_google_protobuf_descriptor_proto_msgTypes[32]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi) ms.StoreMessageInfo(mi)
} }
@ -4321,7 +4528,7 @@ func (x *SourceCodeInfo_Location) String() string {
func (*SourceCodeInfo_Location) ProtoMessage() {} func (*SourceCodeInfo_Location) ProtoMessage() {}
func (x *SourceCodeInfo_Location) ProtoReflect() protoreflect.Message { func (x *SourceCodeInfo_Location) ProtoReflect() protoreflect.Message {
mi := &file_google_protobuf_descriptor_proto_msgTypes[31] mi := &file_google_protobuf_descriptor_proto_msgTypes[32]
if x != nil { if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil { if ms.LoadMessageInfo() == nil {
@ -4393,7 +4600,7 @@ type GeneratedCodeInfo_Annotation struct {
func (x *GeneratedCodeInfo_Annotation) Reset() { func (x *GeneratedCodeInfo_Annotation) Reset() {
*x = GeneratedCodeInfo_Annotation{} *x = GeneratedCodeInfo_Annotation{}
mi := &file_google_protobuf_descriptor_proto_msgTypes[32] mi := &file_google_protobuf_descriptor_proto_msgTypes[33]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi) ms.StoreMessageInfo(mi)
} }
@ -4405,7 +4612,7 @@ func (x *GeneratedCodeInfo_Annotation) String() string {
func (*GeneratedCodeInfo_Annotation) ProtoMessage() {} func (*GeneratedCodeInfo_Annotation) ProtoMessage() {}
func (x *GeneratedCodeInfo_Annotation) ProtoReflect() protoreflect.Message { func (x *GeneratedCodeInfo_Annotation) ProtoReflect() protoreflect.Message {
mi := &file_google_protobuf_descriptor_proto_msgTypes[32] mi := &file_google_protobuf_descriptor_proto_msgTypes[33]
if x != nil { if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil { if ms.LoadMessageInfo() == nil {
@ -4462,7 +4669,7 @@ const file_google_protobuf_descriptor_proto_rawDesc = "" +
"\n" + "\n" +
" google/protobuf/descriptor.proto\x12\x0fgoogle.protobuf\"[\n" + " google/protobuf/descriptor.proto\x12\x0fgoogle.protobuf\"[\n" +
"\x11FileDescriptorSet\x128\n" + "\x11FileDescriptorSet\x128\n" +
"\x04file\x18\x01 \x03(\v2$.google.protobuf.FileDescriptorProtoR\x04file*\f\b\x80\xec\xca\xff\x01\x10\x81\xec\xca\xff\x01\"\x98\x05\n" + "\x04file\x18\x01 \x03(\v2$.google.protobuf.FileDescriptorProtoR\x04file*\f\b\x80\xec\xca\xff\x01\x10\x81\xec\xca\xff\x01\"\xc5\x05\n" +
"\x13FileDescriptorProto\x12\x12\n" + "\x13FileDescriptorProto\x12\x12\n" +
"\x04name\x18\x01 \x01(\tR\x04name\x12\x18\n" + "\x04name\x18\x01 \x01(\tR\x04name\x12\x18\n" +
"\apackage\x18\x02 \x01(\tR\apackage\x12\x1e\n" + "\apackage\x18\x02 \x01(\tR\apackage\x12\x1e\n" +
@ -4471,7 +4678,8 @@ const file_google_protobuf_descriptor_proto_rawDesc = "" +
"dependency\x12+\n" + "dependency\x12+\n" +
"\x11public_dependency\x18\n" + "\x11public_dependency\x18\n" +
" \x03(\x05R\x10publicDependency\x12'\n" + " \x03(\x05R\x10publicDependency\x12'\n" +
"\x0fweak_dependency\x18\v \x03(\x05R\x0eweakDependency\x12C\n" + "\x0fweak_dependency\x18\v \x03(\x05R\x0eweakDependency\x12+\n" +
"\x11option_dependency\x18\x0f \x03(\tR\x10optionDependency\x12C\n" +
"\fmessage_type\x18\x04 \x03(\v2 .google.protobuf.DescriptorProtoR\vmessageType\x12A\n" + "\fmessage_type\x18\x04 \x03(\v2 .google.protobuf.DescriptorProtoR\vmessageType\x12A\n" +
"\tenum_type\x18\x05 \x03(\v2$.google.protobuf.EnumDescriptorProtoR\benumType\x12A\n" + "\tenum_type\x18\x05 \x03(\v2$.google.protobuf.EnumDescriptorProtoR\benumType\x12A\n" +
"\aservice\x18\x06 \x03(\v2'.google.protobuf.ServiceDescriptorProtoR\aservice\x12C\n" + "\aservice\x18\x06 \x03(\v2'.google.protobuf.ServiceDescriptorProtoR\aservice\x12C\n" +
@ -4479,7 +4687,7 @@ const file_google_protobuf_descriptor_proto_rawDesc = "" +
"\aoptions\x18\b \x01(\v2\x1c.google.protobuf.FileOptionsR\aoptions\x12I\n" + "\aoptions\x18\b \x01(\v2\x1c.google.protobuf.FileOptionsR\aoptions\x12I\n" +
"\x10source_code_info\x18\t \x01(\v2\x1f.google.protobuf.SourceCodeInfoR\x0esourceCodeInfo\x12\x16\n" + "\x10source_code_info\x18\t \x01(\v2\x1f.google.protobuf.SourceCodeInfoR\x0esourceCodeInfo\x12\x16\n" +
"\x06syntax\x18\f \x01(\tR\x06syntax\x122\n" + "\x06syntax\x18\f \x01(\tR\x06syntax\x122\n" +
"\aedition\x18\x0e \x01(\x0e2\x18.google.protobuf.EditionR\aedition\"\xb9\x06\n" + "\aedition\x18\x0e \x01(\x0e2\x18.google.protobuf.EditionR\aedition\"\xfc\x06\n" +
"\x0fDescriptorProto\x12\x12\n" + "\x0fDescriptorProto\x12\x12\n" +
"\x04name\x18\x01 \x01(\tR\x04name\x12;\n" + "\x04name\x18\x01 \x01(\tR\x04name\x12;\n" +
"\x05field\x18\x02 \x03(\v2%.google.protobuf.FieldDescriptorProtoR\x05field\x12C\n" + "\x05field\x18\x02 \x03(\v2%.google.protobuf.FieldDescriptorProtoR\x05field\x12C\n" +
@ -4493,7 +4701,10 @@ const file_google_protobuf_descriptor_proto_rawDesc = "" +
"\aoptions\x18\a \x01(\v2\x1f.google.protobuf.MessageOptionsR\aoptions\x12U\n" + "\aoptions\x18\a \x01(\v2\x1f.google.protobuf.MessageOptionsR\aoptions\x12U\n" +
"\x0ereserved_range\x18\t \x03(\v2..google.protobuf.DescriptorProto.ReservedRangeR\rreservedRange\x12#\n" + "\x0ereserved_range\x18\t \x03(\v2..google.protobuf.DescriptorProto.ReservedRangeR\rreservedRange\x12#\n" +
"\rreserved_name\x18\n" + "\rreserved_name\x18\n" +
" \x03(\tR\freservedName\x1az\n" + " \x03(\tR\freservedName\x12A\n" +
"\n" +
"visibility\x18\v \x01(\x0e2!.google.protobuf.SymbolVisibilityR\n" +
"visibility\x1az\n" +
"\x0eExtensionRange\x12\x14\n" + "\x0eExtensionRange\x12\x14\n" +
"\x05start\x18\x01 \x01(\x05R\x05start\x12\x10\n" + "\x05start\x18\x01 \x01(\x05R\x05start\x12\x10\n" +
"\x03end\x18\x02 \x01(\x05R\x03end\x12@\n" + "\x03end\x18\x02 \x01(\x05R\x03end\x12@\n" +
@ -4562,13 +4773,16 @@ const file_google_protobuf_descriptor_proto_rawDesc = "" +
"\x0eLABEL_REQUIRED\x10\x02\"c\n" + "\x0eLABEL_REQUIRED\x10\x02\"c\n" +
"\x14OneofDescriptorProto\x12\x12\n" + "\x14OneofDescriptorProto\x12\x12\n" +
"\x04name\x18\x01 \x01(\tR\x04name\x127\n" + "\x04name\x18\x01 \x01(\tR\x04name\x127\n" +
"\aoptions\x18\x02 \x01(\v2\x1d.google.protobuf.OneofOptionsR\aoptions\"\xe3\x02\n" + "\aoptions\x18\x02 \x01(\v2\x1d.google.protobuf.OneofOptionsR\aoptions\"\xa6\x03\n" +
"\x13EnumDescriptorProto\x12\x12\n" + "\x13EnumDescriptorProto\x12\x12\n" +
"\x04name\x18\x01 \x01(\tR\x04name\x12?\n" + "\x04name\x18\x01 \x01(\tR\x04name\x12?\n" +
"\x05value\x18\x02 \x03(\v2).google.protobuf.EnumValueDescriptorProtoR\x05value\x126\n" + "\x05value\x18\x02 \x03(\v2).google.protobuf.EnumValueDescriptorProtoR\x05value\x126\n" +
"\aoptions\x18\x03 \x01(\v2\x1c.google.protobuf.EnumOptionsR\aoptions\x12]\n" + "\aoptions\x18\x03 \x01(\v2\x1c.google.protobuf.EnumOptionsR\aoptions\x12]\n" +
"\x0ereserved_range\x18\x04 \x03(\v26.google.protobuf.EnumDescriptorProto.EnumReservedRangeR\rreservedRange\x12#\n" + "\x0ereserved_range\x18\x04 \x03(\v26.google.protobuf.EnumDescriptorProto.EnumReservedRangeR\rreservedRange\x12#\n" +
"\rreserved_name\x18\x05 \x03(\tR\freservedName\x1a;\n" + "\rreserved_name\x18\x05 \x03(\tR\freservedName\x12A\n" +
"\n" +
"visibility\x18\x06 \x01(\x0e2!.google.protobuf.SymbolVisibilityR\n" +
"visibility\x1a;\n" +
"\x11EnumReservedRange\x12\x14\n" + "\x11EnumReservedRange\x12\x14\n" +
"\x05start\x18\x01 \x01(\x05R\x05start\x12\x10\n" + "\x05start\x18\x01 \x01(\x05R\x05start\x12\x10\n" +
"\x03end\x18\x02 \x01(\x05R\x03end\"\x83\x01\n" + "\x03end\x18\x02 \x01(\x05R\x03end\"\x83\x01\n" +
@ -4728,7 +4942,7 @@ const file_google_protobuf_descriptor_proto_rawDesc = "" +
"\x0faggregate_value\x18\b \x01(\tR\x0eaggregateValue\x1aJ\n" + "\x0faggregate_value\x18\b \x01(\tR\x0eaggregateValue\x1aJ\n" +
"\bNamePart\x12\x1b\n" + "\bNamePart\x12\x1b\n" +
"\tname_part\x18\x01 \x02(\tR\bnamePart\x12!\n" + "\tname_part\x18\x01 \x02(\tR\bnamePart\x12!\n" +
"\fis_extension\x18\x02 \x02(\bR\visExtension\"\xae\f\n" + "\fis_extension\x18\x02 \x02(\bR\visExtension\"\x8e\x0f\n" +
"\n" + "\n" +
"FeatureSet\x12\x91\x01\n" + "FeatureSet\x12\x91\x01\n" +
"\x0efield_presence\x18\x01 \x01(\x0e2).google.protobuf.FeatureSet.FieldPresenceB?\x88\x01\x01\x98\x01\x04\x98\x01\x01\xa2\x01\r\x12\bEXPLICIT\x18\x84\a\xa2\x01\r\x12\bIMPLICIT\x18\xe7\a\xa2\x01\r\x12\bEXPLICIT\x18\xe8\a\xb2\x01\x03\b\xe8\aR\rfieldPresence\x12l\n" + "\x0efield_presence\x18\x01 \x01(\x0e2).google.protobuf.FeatureSet.FieldPresenceB?\x88\x01\x01\x98\x01\x04\x98\x01\x01\xa2\x01\r\x12\bEXPLICIT\x18\x84\a\xa2\x01\r\x12\bIMPLICIT\x18\xe7\a\xa2\x01\r\x12\bEXPLICIT\x18\xe8\a\xb2\x01\x03\b\xe8\aR\rfieldPresence\x12l\n" +
@ -4739,7 +4953,18 @@ const file_google_protobuf_descriptor_proto_rawDesc = "" +
"\vjson_format\x18\x06 \x01(\x0e2&.google.protobuf.FeatureSet.JsonFormatB9\x88\x01\x01\x98\x01\x03\x98\x01\x06\x98\x01\x01\xa2\x01\x17\x12\x12LEGACY_BEST_EFFORT\x18\x84\a\xa2\x01\n" + "\vjson_format\x18\x06 \x01(\x0e2&.google.protobuf.FeatureSet.JsonFormatB9\x88\x01\x01\x98\x01\x03\x98\x01\x06\x98\x01\x01\xa2\x01\x17\x12\x12LEGACY_BEST_EFFORT\x18\x84\a\xa2\x01\n" +
"\x12\x05ALLOW\x18\xe7\a\xb2\x01\x03\b\xe8\aR\n" + "\x12\x05ALLOW\x18\xe7\a\xb2\x01\x03\b\xe8\aR\n" +
"jsonFormat\x12\xab\x01\n" + "jsonFormat\x12\xab\x01\n" +
"\x14enforce_naming_style\x18\a \x01(\x0e2..google.protobuf.FeatureSet.EnforceNamingStyleBI\x88\x01\x02\x98\x01\x01\x98\x01\x02\x98\x01\x03\x98\x01\x04\x98\x01\x05\x98\x01\x06\x98\x01\a\x98\x01\b\x98\x01\t\xa2\x01\x11\x12\fSTYLE_LEGACY\x18\x84\a\xa2\x01\x0e\x12\tSTYLE2024\x18\xe9\a\xb2\x01\x03\b\xe9\aR\x12enforceNamingStyle\"\\\n" + "\x14enforce_naming_style\x18\a \x01(\x0e2..google.protobuf.FeatureSet.EnforceNamingStyleBI\x88\x01\x02\x98\x01\x01\x98\x01\x02\x98\x01\x03\x98\x01\x04\x98\x01\x05\x98\x01\x06\x98\x01\a\x98\x01\b\x98\x01\t\xa2\x01\x11\x12\fSTYLE_LEGACY\x18\x84\a\xa2\x01\x0e\x12\tSTYLE2024\x18\xe9\a\xb2\x01\x03\b\xe9\aR\x12enforceNamingStyle\x12\xb9\x01\n" +
"\x19default_symbol_visibility\x18\b \x01(\x0e2E.google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibilityB6\x88\x01\x02\x98\x01\x01\xa2\x01\x0f\x12\n" +
"EXPORT_ALL\x18\x84\a\xa2\x01\x15\x12\x10EXPORT_TOP_LEVEL\x18\xe9\a\xb2\x01\x03\b\xe9\aR\x17defaultSymbolVisibility\x1a\xa1\x01\n" +
"\x11VisibilityFeature\"\x81\x01\n" +
"\x17DefaultSymbolVisibility\x12%\n" +
"!DEFAULT_SYMBOL_VISIBILITY_UNKNOWN\x10\x00\x12\x0e\n" +
"\n" +
"EXPORT_ALL\x10\x01\x12\x14\n" +
"\x10EXPORT_TOP_LEVEL\x10\x02\x12\r\n" +
"\tLOCAL_ALL\x10\x03\x12\n" +
"\n" +
"\x06STRICT\x10\x04J\b\b\x01\x10\x80\x80\x80\x80\x02\"\\\n" +
"\rFieldPresence\x12\x1a\n" + "\rFieldPresence\x12\x1a\n" +
"\x16FIELD_PRESENCE_UNKNOWN\x10\x00\x12\f\n" + "\x16FIELD_PRESENCE_UNKNOWN\x10\x00\x12\f\n" +
"\bEXPLICIT\x10\x01\x12\f\n" + "\bEXPLICIT\x10\x01\x12\f\n" +
@ -4817,7 +5042,11 @@ const file_google_protobuf_descriptor_proto_rawDesc = "" +
"\x17EDITION_99997_TEST_ONLY\x10\x9d\x8d\x06\x12\x1d\n" + "\x17EDITION_99997_TEST_ONLY\x10\x9d\x8d\x06\x12\x1d\n" +
"\x17EDITION_99998_TEST_ONLY\x10\x9e\x8d\x06\x12\x1d\n" + "\x17EDITION_99998_TEST_ONLY\x10\x9e\x8d\x06\x12\x1d\n" +
"\x17EDITION_99999_TEST_ONLY\x10\x9f\x8d\x06\x12\x13\n" + "\x17EDITION_99999_TEST_ONLY\x10\x9f\x8d\x06\x12\x13\n" +
"\vEDITION_MAX\x10\xff\xff\xff\xff\aB~\n" + "\vEDITION_MAX\x10\xff\xff\xff\xff\a*U\n" +
"\x10SymbolVisibility\x12\x14\n" +
"\x10VISIBILITY_UNSET\x10\x00\x12\x14\n" +
"\x10VISIBILITY_LOCAL\x10\x01\x12\x15\n" +
"\x11VISIBILITY_EXPORT\x10\x02B~\n" +
"\x13com.google.protobufB\x10DescriptorProtosH\x01Z-google.golang.org/protobuf/types/descriptorpb\xf8\x01\x01\xa2\x02\x03GPB\xaa\x02\x1aGoogle.Protobuf.Reflection" "\x13com.google.protobufB\x10DescriptorProtosH\x01Z-google.golang.org/protobuf/types/descriptorpb\xf8\x01\x01\xa2\x02\x03GPB\xaa\x02\x1aGoogle.Protobuf.Reflection"
var ( var (
@ -4832,145 +5061,151 @@ func file_google_protobuf_descriptor_proto_rawDescGZIP() []byte {
return file_google_protobuf_descriptor_proto_rawDescData return file_google_protobuf_descriptor_proto_rawDescData
} }
var file_google_protobuf_descriptor_proto_enumTypes = make([]protoimpl.EnumInfo, 18) var file_google_protobuf_descriptor_proto_enumTypes = make([]protoimpl.EnumInfo, 20)
var file_google_protobuf_descriptor_proto_msgTypes = make([]protoimpl.MessageInfo, 33) var file_google_protobuf_descriptor_proto_msgTypes = make([]protoimpl.MessageInfo, 34)
var file_google_protobuf_descriptor_proto_goTypes = []any{ var file_google_protobuf_descriptor_proto_goTypes = []any{
(Edition)(0), // 0: google.protobuf.Edition (Edition)(0), // 0: google.protobuf.Edition
(ExtensionRangeOptions_VerificationState)(0), // 1: google.protobuf.ExtensionRangeOptions.VerificationState (SymbolVisibility)(0), // 1: google.protobuf.SymbolVisibility
(FieldDescriptorProto_Type)(0), // 2: google.protobuf.FieldDescriptorProto.Type (ExtensionRangeOptions_VerificationState)(0), // 2: google.protobuf.ExtensionRangeOptions.VerificationState
(FieldDescriptorProto_Label)(0), // 3: google.protobuf.FieldDescriptorProto.Label (FieldDescriptorProto_Type)(0), // 3: google.protobuf.FieldDescriptorProto.Type
(FileOptions_OptimizeMode)(0), // 4: google.protobuf.FileOptions.OptimizeMode (FieldDescriptorProto_Label)(0), // 4: google.protobuf.FieldDescriptorProto.Label
(FieldOptions_CType)(0), // 5: google.protobuf.FieldOptions.CType (FileOptions_OptimizeMode)(0), // 5: google.protobuf.FileOptions.OptimizeMode
(FieldOptions_JSType)(0), // 6: google.protobuf.FieldOptions.JSType (FieldOptions_CType)(0), // 6: google.protobuf.FieldOptions.CType
(FieldOptions_OptionRetention)(0), // 7: google.protobuf.FieldOptions.OptionRetention (FieldOptions_JSType)(0), // 7: google.protobuf.FieldOptions.JSType
(FieldOptions_OptionTargetType)(0), // 8: google.protobuf.FieldOptions.OptionTargetType (FieldOptions_OptionRetention)(0), // 8: google.protobuf.FieldOptions.OptionRetention
(MethodOptions_IdempotencyLevel)(0), // 9: google.protobuf.MethodOptions.IdempotencyLevel (FieldOptions_OptionTargetType)(0), // 9: google.protobuf.FieldOptions.OptionTargetType
(FeatureSet_FieldPresence)(0), // 10: google.protobuf.FeatureSet.FieldPresence (MethodOptions_IdempotencyLevel)(0), // 10: google.protobuf.MethodOptions.IdempotencyLevel
(FeatureSet_EnumType)(0), // 11: google.protobuf.FeatureSet.EnumType (FeatureSet_FieldPresence)(0), // 11: google.protobuf.FeatureSet.FieldPresence
(FeatureSet_RepeatedFieldEncoding)(0), // 12: google.protobuf.FeatureSet.RepeatedFieldEncoding (FeatureSet_EnumType)(0), // 12: google.protobuf.FeatureSet.EnumType
(FeatureSet_Utf8Validation)(0), // 13: google.protobuf.FeatureSet.Utf8Validation (FeatureSet_RepeatedFieldEncoding)(0), // 13: google.protobuf.FeatureSet.RepeatedFieldEncoding
(FeatureSet_MessageEncoding)(0), // 14: google.protobuf.FeatureSet.MessageEncoding (FeatureSet_Utf8Validation)(0), // 14: google.protobuf.FeatureSet.Utf8Validation
(FeatureSet_JsonFormat)(0), // 15: google.protobuf.FeatureSet.JsonFormat (FeatureSet_MessageEncoding)(0), // 15: google.protobuf.FeatureSet.MessageEncoding
(FeatureSet_EnforceNamingStyle)(0), // 16: google.protobuf.FeatureSet.EnforceNamingStyle (FeatureSet_JsonFormat)(0), // 16: google.protobuf.FeatureSet.JsonFormat
(GeneratedCodeInfo_Annotation_Semantic)(0), // 17: google.protobuf.GeneratedCodeInfo.Annotation.Semantic (FeatureSet_EnforceNamingStyle)(0), // 17: google.protobuf.FeatureSet.EnforceNamingStyle
(*FileDescriptorSet)(nil), // 18: google.protobuf.FileDescriptorSet (FeatureSet_VisibilityFeature_DefaultSymbolVisibility)(0), // 18: google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility
(*FileDescriptorProto)(nil), // 19: google.protobuf.FileDescriptorProto (GeneratedCodeInfo_Annotation_Semantic)(0), // 19: google.protobuf.GeneratedCodeInfo.Annotation.Semantic
(*DescriptorProto)(nil), // 20: google.protobuf.DescriptorProto (*FileDescriptorSet)(nil), // 20: google.protobuf.FileDescriptorSet
(*ExtensionRangeOptions)(nil), // 21: google.protobuf.ExtensionRangeOptions (*FileDescriptorProto)(nil), // 21: google.protobuf.FileDescriptorProto
(*FieldDescriptorProto)(nil), // 22: google.protobuf.FieldDescriptorProto (*DescriptorProto)(nil), // 22: google.protobuf.DescriptorProto
(*OneofDescriptorProto)(nil), // 23: google.protobuf.OneofDescriptorProto (*ExtensionRangeOptions)(nil), // 23: google.protobuf.ExtensionRangeOptions
(*EnumDescriptorProto)(nil), // 24: google.protobuf.EnumDescriptorProto (*FieldDescriptorProto)(nil), // 24: google.protobuf.FieldDescriptorProto
(*EnumValueDescriptorProto)(nil), // 25: google.protobuf.EnumValueDescriptorProto (*OneofDescriptorProto)(nil), // 25: google.protobuf.OneofDescriptorProto
(*ServiceDescriptorProto)(nil), // 26: google.protobuf.ServiceDescriptorProto (*EnumDescriptorProto)(nil), // 26: google.protobuf.EnumDescriptorProto
(*MethodDescriptorProto)(nil), // 27: google.protobuf.MethodDescriptorProto (*EnumValueDescriptorProto)(nil), // 27: google.protobuf.EnumValueDescriptorProto
(*FileOptions)(nil), // 28: google.protobuf.FileOptions (*ServiceDescriptorProto)(nil), // 28: google.protobuf.ServiceDescriptorProto
(*MessageOptions)(nil), // 29: google.protobuf.MessageOptions (*MethodDescriptorProto)(nil), // 29: google.protobuf.MethodDescriptorProto
(*FieldOptions)(nil), // 30: google.protobuf.FieldOptions (*FileOptions)(nil), // 30: google.protobuf.FileOptions
(*OneofOptions)(nil), // 31: google.protobuf.OneofOptions (*MessageOptions)(nil), // 31: google.protobuf.MessageOptions
(*EnumOptions)(nil), // 32: google.protobuf.EnumOptions (*FieldOptions)(nil), // 32: google.protobuf.FieldOptions
(*EnumValueOptions)(nil), // 33: google.protobuf.EnumValueOptions (*OneofOptions)(nil), // 33: google.protobuf.OneofOptions
(*ServiceOptions)(nil), // 34: google.protobuf.ServiceOptions (*EnumOptions)(nil), // 34: google.protobuf.EnumOptions
(*MethodOptions)(nil), // 35: google.protobuf.MethodOptions (*EnumValueOptions)(nil), // 35: google.protobuf.EnumValueOptions
(*UninterpretedOption)(nil), // 36: google.protobuf.UninterpretedOption (*ServiceOptions)(nil), // 36: google.protobuf.ServiceOptions
(*FeatureSet)(nil), // 37: google.protobuf.FeatureSet (*MethodOptions)(nil), // 37: google.protobuf.MethodOptions
(*FeatureSetDefaults)(nil), // 38: google.protobuf.FeatureSetDefaults (*UninterpretedOption)(nil), // 38: google.protobuf.UninterpretedOption
(*SourceCodeInfo)(nil), // 39: google.protobuf.SourceCodeInfo (*FeatureSet)(nil), // 39: google.protobuf.FeatureSet
(*GeneratedCodeInfo)(nil), // 40: google.protobuf.GeneratedCodeInfo (*FeatureSetDefaults)(nil), // 40: google.protobuf.FeatureSetDefaults
(*DescriptorProto_ExtensionRange)(nil), // 41: google.protobuf.DescriptorProto.ExtensionRange (*SourceCodeInfo)(nil), // 41: google.protobuf.SourceCodeInfo
(*DescriptorProto_ReservedRange)(nil), // 42: google.protobuf.DescriptorProto.ReservedRange (*GeneratedCodeInfo)(nil), // 42: google.protobuf.GeneratedCodeInfo
(*ExtensionRangeOptions_Declaration)(nil), // 43: google.protobuf.ExtensionRangeOptions.Declaration (*DescriptorProto_ExtensionRange)(nil), // 43: google.protobuf.DescriptorProto.ExtensionRange
(*EnumDescriptorProto_EnumReservedRange)(nil), // 44: google.protobuf.EnumDescriptorProto.EnumReservedRange (*DescriptorProto_ReservedRange)(nil), // 44: google.protobuf.DescriptorProto.ReservedRange
(*FieldOptions_EditionDefault)(nil), // 45: google.protobuf.FieldOptions.EditionDefault (*ExtensionRangeOptions_Declaration)(nil), // 45: google.protobuf.ExtensionRangeOptions.Declaration
(*FieldOptions_FeatureSupport)(nil), // 46: google.protobuf.FieldOptions.FeatureSupport (*EnumDescriptorProto_EnumReservedRange)(nil), // 46: google.protobuf.EnumDescriptorProto.EnumReservedRange
(*UninterpretedOption_NamePart)(nil), // 47: google.protobuf.UninterpretedOption.NamePart (*FieldOptions_EditionDefault)(nil), // 47: google.protobuf.FieldOptions.EditionDefault
(*FeatureSetDefaults_FeatureSetEditionDefault)(nil), // 48: google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault (*FieldOptions_FeatureSupport)(nil), // 48: google.protobuf.FieldOptions.FeatureSupport
(*SourceCodeInfo_Location)(nil), // 49: google.protobuf.SourceCodeInfo.Location (*UninterpretedOption_NamePart)(nil), // 49: google.protobuf.UninterpretedOption.NamePart
(*GeneratedCodeInfo_Annotation)(nil), // 50: google.protobuf.GeneratedCodeInfo.Annotation (*FeatureSet_VisibilityFeature)(nil), // 50: google.protobuf.FeatureSet.VisibilityFeature
(*FeatureSetDefaults_FeatureSetEditionDefault)(nil), // 51: google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault
(*SourceCodeInfo_Location)(nil), // 52: google.protobuf.SourceCodeInfo.Location
(*GeneratedCodeInfo_Annotation)(nil), // 53: google.protobuf.GeneratedCodeInfo.Annotation
} }
var file_google_protobuf_descriptor_proto_depIdxs = []int32{ var file_google_protobuf_descriptor_proto_depIdxs = []int32{
19, // 0: google.protobuf.FileDescriptorSet.file:type_name -> google.protobuf.FileDescriptorProto 21, // 0: google.protobuf.FileDescriptorSet.file:type_name -> google.protobuf.FileDescriptorProto
20, // 1: google.protobuf.FileDescriptorProto.message_type:type_name -> google.protobuf.DescriptorProto 22, // 1: google.protobuf.FileDescriptorProto.message_type:type_name -> google.protobuf.DescriptorProto
24, // 2: google.protobuf.FileDescriptorProto.enum_type:type_name -> google.protobuf.EnumDescriptorProto 26, // 2: google.protobuf.FileDescriptorProto.enum_type:type_name -> google.protobuf.EnumDescriptorProto
26, // 3: google.protobuf.FileDescriptorProto.service:type_name -> google.protobuf.ServiceDescriptorProto 28, // 3: google.protobuf.FileDescriptorProto.service:type_name -> google.protobuf.ServiceDescriptorProto
22, // 4: google.protobuf.FileDescriptorProto.extension:type_name -> google.protobuf.FieldDescriptorProto 24, // 4: google.protobuf.FileDescriptorProto.extension:type_name -> google.protobuf.FieldDescriptorProto
28, // 5: google.protobuf.FileDescriptorProto.options:type_name -> google.protobuf.FileOptions 30, // 5: google.protobuf.FileDescriptorProto.options:type_name -> google.protobuf.FileOptions
39, // 6: google.protobuf.FileDescriptorProto.source_code_info:type_name -> google.protobuf.SourceCodeInfo 41, // 6: google.protobuf.FileDescriptorProto.source_code_info:type_name -> google.protobuf.SourceCodeInfo
0, // 7: google.protobuf.FileDescriptorProto.edition:type_name -> google.protobuf.Edition 0, // 7: google.protobuf.FileDescriptorProto.edition:type_name -> google.protobuf.Edition
22, // 8: google.protobuf.DescriptorProto.field:type_name -> google.protobuf.FieldDescriptorProto 24, // 8: google.protobuf.DescriptorProto.field:type_name -> google.protobuf.FieldDescriptorProto
22, // 9: google.protobuf.DescriptorProto.extension:type_name -> google.protobuf.FieldDescriptorProto 24, // 9: google.protobuf.DescriptorProto.extension:type_name -> google.protobuf.FieldDescriptorProto
20, // 10: google.protobuf.DescriptorProto.nested_type:type_name -> google.protobuf.DescriptorProto 22, // 10: google.protobuf.DescriptorProto.nested_type:type_name -> google.protobuf.DescriptorProto
24, // 11: google.protobuf.DescriptorProto.enum_type:type_name -> google.protobuf.EnumDescriptorProto 26, // 11: google.protobuf.DescriptorProto.enum_type:type_name -> google.protobuf.EnumDescriptorProto
41, // 12: google.protobuf.DescriptorProto.extension_range:type_name -> google.protobuf.DescriptorProto.ExtensionRange 43, // 12: google.protobuf.DescriptorProto.extension_range:type_name -> google.protobuf.DescriptorProto.ExtensionRange
23, // 13: google.protobuf.DescriptorProto.oneof_decl:type_name -> google.protobuf.OneofDescriptorProto 25, // 13: google.protobuf.DescriptorProto.oneof_decl:type_name -> google.protobuf.OneofDescriptorProto
29, // 14: google.protobuf.DescriptorProto.options:type_name -> google.protobuf.MessageOptions 31, // 14: google.protobuf.DescriptorProto.options:type_name -> google.protobuf.MessageOptions
42, // 15: google.protobuf.DescriptorProto.reserved_range:type_name -> google.protobuf.DescriptorProto.ReservedRange 44, // 15: google.protobuf.DescriptorProto.reserved_range:type_name -> google.protobuf.DescriptorProto.ReservedRange
36, // 16: google.protobuf.ExtensionRangeOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption 1, // 16: google.protobuf.DescriptorProto.visibility:type_name -> google.protobuf.SymbolVisibility
43, // 17: google.protobuf.ExtensionRangeOptions.declaration:type_name -> google.protobuf.ExtensionRangeOptions.Declaration 38, // 17: google.protobuf.ExtensionRangeOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
37, // 18: google.protobuf.ExtensionRangeOptions.features:type_name -> google.protobuf.FeatureSet 45, // 18: google.protobuf.ExtensionRangeOptions.declaration:type_name -> google.protobuf.ExtensionRangeOptions.Declaration
1, // 19: google.protobuf.ExtensionRangeOptions.verification:type_name -> google.protobuf.ExtensionRangeOptions.VerificationState 39, // 19: google.protobuf.ExtensionRangeOptions.features:type_name -> google.protobuf.FeatureSet
3, // 20: google.protobuf.FieldDescriptorProto.label:type_name -> google.protobuf.FieldDescriptorProto.Label 2, // 20: google.protobuf.ExtensionRangeOptions.verification:type_name -> google.protobuf.ExtensionRangeOptions.VerificationState
2, // 21: google.protobuf.FieldDescriptorProto.type:type_name -> google.protobuf.FieldDescriptorProto.Type 4, // 21: google.protobuf.FieldDescriptorProto.label:type_name -> google.protobuf.FieldDescriptorProto.Label
30, // 22: google.protobuf.FieldDescriptorProto.options:type_name -> google.protobuf.FieldOptions 3, // 22: google.protobuf.FieldDescriptorProto.type:type_name -> google.protobuf.FieldDescriptorProto.Type
31, // 23: google.protobuf.OneofDescriptorProto.options:type_name -> google.protobuf.OneofOptions 32, // 23: google.protobuf.FieldDescriptorProto.options:type_name -> google.protobuf.FieldOptions
25, // 24: google.protobuf.EnumDescriptorProto.value:type_name -> google.protobuf.EnumValueDescriptorProto 33, // 24: google.protobuf.OneofDescriptorProto.options:type_name -> google.protobuf.OneofOptions
32, // 25: google.protobuf.EnumDescriptorProto.options:type_name -> google.protobuf.EnumOptions 27, // 25: google.protobuf.EnumDescriptorProto.value:type_name -> google.protobuf.EnumValueDescriptorProto
44, // 26: google.protobuf.EnumDescriptorProto.reserved_range:type_name -> google.protobuf.EnumDescriptorProto.EnumReservedRange 34, // 26: google.protobuf.EnumDescriptorProto.options:type_name -> google.protobuf.EnumOptions
33, // 27: google.protobuf.EnumValueDescriptorProto.options:type_name -> google.protobuf.EnumValueOptions 46, // 27: google.protobuf.EnumDescriptorProto.reserved_range:type_name -> google.protobuf.EnumDescriptorProto.EnumReservedRange
27, // 28: google.protobuf.ServiceDescriptorProto.method:type_name -> google.protobuf.MethodDescriptorProto 1, // 28: google.protobuf.EnumDescriptorProto.visibility:type_name -> google.protobuf.SymbolVisibility
34, // 29: google.protobuf.ServiceDescriptorProto.options:type_name -> google.protobuf.ServiceOptions 35, // 29: google.protobuf.EnumValueDescriptorProto.options:type_name -> google.protobuf.EnumValueOptions
35, // 30: google.protobuf.MethodDescriptorProto.options:type_name -> google.protobuf.MethodOptions 29, // 30: google.protobuf.ServiceDescriptorProto.method:type_name -> google.protobuf.MethodDescriptorProto
4, // 31: google.protobuf.FileOptions.optimize_for:type_name -> google.protobuf.FileOptions.OptimizeMode 36, // 31: google.protobuf.ServiceDescriptorProto.options:type_name -> google.protobuf.ServiceOptions
37, // 32: google.protobuf.FileOptions.features:type_name -> google.protobuf.FeatureSet 37, // 32: google.protobuf.MethodDescriptorProto.options:type_name -> google.protobuf.MethodOptions
36, // 33: google.protobuf.FileOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption 5, // 33: google.protobuf.FileOptions.optimize_for:type_name -> google.protobuf.FileOptions.OptimizeMode
37, // 34: google.protobuf.MessageOptions.features:type_name -> google.protobuf.FeatureSet 39, // 34: google.protobuf.FileOptions.features:type_name -> google.protobuf.FeatureSet
36, // 35: google.protobuf.MessageOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption 38, // 35: google.protobuf.FileOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
5, // 36: google.protobuf.FieldOptions.ctype:type_name -> google.protobuf.FieldOptions.CType 39, // 36: google.protobuf.MessageOptions.features:type_name -> google.protobuf.FeatureSet
6, // 37: google.protobuf.FieldOptions.jstype:type_name -> google.protobuf.FieldOptions.JSType 38, // 37: google.protobuf.MessageOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
7, // 38: google.protobuf.FieldOptions.retention:type_name -> google.protobuf.FieldOptions.OptionRetention 6, // 38: google.protobuf.FieldOptions.ctype:type_name -> google.protobuf.FieldOptions.CType
8, // 39: google.protobuf.FieldOptions.targets:type_name -> google.protobuf.FieldOptions.OptionTargetType 7, // 39: google.protobuf.FieldOptions.jstype:type_name -> google.protobuf.FieldOptions.JSType
45, // 40: google.protobuf.FieldOptions.edition_defaults:type_name -> google.protobuf.FieldOptions.EditionDefault 8, // 40: google.protobuf.FieldOptions.retention:type_name -> google.protobuf.FieldOptions.OptionRetention
37, // 41: google.protobuf.FieldOptions.features:type_name -> google.protobuf.FeatureSet 9, // 41: google.protobuf.FieldOptions.targets:type_name -> google.protobuf.FieldOptions.OptionTargetType
46, // 42: google.protobuf.FieldOptions.feature_support:type_name -> google.protobuf.FieldOptions.FeatureSupport 47, // 42: google.protobuf.FieldOptions.edition_defaults:type_name -> google.protobuf.FieldOptions.EditionDefault
36, // 43: google.protobuf.FieldOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption 39, // 43: google.protobuf.FieldOptions.features:type_name -> google.protobuf.FeatureSet
37, // 44: google.protobuf.OneofOptions.features:type_name -> google.protobuf.FeatureSet 48, // 44: google.protobuf.FieldOptions.feature_support:type_name -> google.protobuf.FieldOptions.FeatureSupport
36, // 45: google.protobuf.OneofOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption 38, // 45: google.protobuf.FieldOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
37, // 46: google.protobuf.EnumOptions.features:type_name -> google.protobuf.FeatureSet 39, // 46: google.protobuf.OneofOptions.features:type_name -> google.protobuf.FeatureSet
36, // 47: google.protobuf.EnumOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption 38, // 47: google.protobuf.OneofOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
37, // 48: google.protobuf.EnumValueOptions.features:type_name -> google.protobuf.FeatureSet 39, // 48: google.protobuf.EnumOptions.features:type_name -> google.protobuf.FeatureSet
46, // 49: google.protobuf.EnumValueOptions.feature_support:type_name -> google.protobuf.FieldOptions.FeatureSupport 38, // 49: google.protobuf.EnumOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
36, // 50: google.protobuf.EnumValueOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption 39, // 50: google.protobuf.EnumValueOptions.features:type_name -> google.protobuf.FeatureSet
37, // 51: google.protobuf.ServiceOptions.features:type_name -> google.protobuf.FeatureSet 48, // 51: google.protobuf.EnumValueOptions.feature_support:type_name -> google.protobuf.FieldOptions.FeatureSupport
36, // 52: google.protobuf.ServiceOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption 38, // 52: google.protobuf.EnumValueOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
9, // 53: google.protobuf.MethodOptions.idempotency_level:type_name -> google.protobuf.MethodOptions.IdempotencyLevel 39, // 53: google.protobuf.ServiceOptions.features:type_name -> google.protobuf.FeatureSet
37, // 54: google.protobuf.MethodOptions.features:type_name -> google.protobuf.FeatureSet 38, // 54: google.protobuf.ServiceOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
36, // 55: google.protobuf.MethodOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption 10, // 55: google.protobuf.MethodOptions.idempotency_level:type_name -> google.protobuf.MethodOptions.IdempotencyLevel
47, // 56: google.protobuf.UninterpretedOption.name:type_name -> google.protobuf.UninterpretedOption.NamePart 39, // 56: google.protobuf.MethodOptions.features:type_name -> google.protobuf.FeatureSet
10, // 57: google.protobuf.FeatureSet.field_presence:type_name -> google.protobuf.FeatureSet.FieldPresence 38, // 57: google.protobuf.MethodOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
11, // 58: google.protobuf.FeatureSet.enum_type:type_name -> google.protobuf.FeatureSet.EnumType 49, // 58: google.protobuf.UninterpretedOption.name:type_name -> google.protobuf.UninterpretedOption.NamePart
12, // 59: google.protobuf.FeatureSet.repeated_field_encoding:type_name -> google.protobuf.FeatureSet.RepeatedFieldEncoding 11, // 59: google.protobuf.FeatureSet.field_presence:type_name -> google.protobuf.FeatureSet.FieldPresence
13, // 60: google.protobuf.FeatureSet.utf8_validation:type_name -> google.protobuf.FeatureSet.Utf8Validation 12, // 60: google.protobuf.FeatureSet.enum_type:type_name -> google.protobuf.FeatureSet.EnumType
14, // 61: google.protobuf.FeatureSet.message_encoding:type_name -> google.protobuf.FeatureSet.MessageEncoding 13, // 61: google.protobuf.FeatureSet.repeated_field_encoding:type_name -> google.protobuf.FeatureSet.RepeatedFieldEncoding
15, // 62: google.protobuf.FeatureSet.json_format:type_name -> google.protobuf.FeatureSet.JsonFormat 14, // 62: google.protobuf.FeatureSet.utf8_validation:type_name -> google.protobuf.FeatureSet.Utf8Validation
16, // 63: google.protobuf.FeatureSet.enforce_naming_style:type_name -> google.protobuf.FeatureSet.EnforceNamingStyle 15, // 63: google.protobuf.FeatureSet.message_encoding:type_name -> google.protobuf.FeatureSet.MessageEncoding
48, // 64: google.protobuf.FeatureSetDefaults.defaults:type_name -> google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault 16, // 64: google.protobuf.FeatureSet.json_format:type_name -> google.protobuf.FeatureSet.JsonFormat
0, // 65: google.protobuf.FeatureSetDefaults.minimum_edition:type_name -> google.protobuf.Edition 17, // 65: google.protobuf.FeatureSet.enforce_naming_style:type_name -> google.protobuf.FeatureSet.EnforceNamingStyle
0, // 66: google.protobuf.FeatureSetDefaults.maximum_edition:type_name -> google.protobuf.Edition 18, // 66: google.protobuf.FeatureSet.default_symbol_visibility:type_name -> google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility
49, // 67: google.protobuf.SourceCodeInfo.location:type_name -> google.protobuf.SourceCodeInfo.Location 51, // 67: google.protobuf.FeatureSetDefaults.defaults:type_name -> google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault
50, // 68: google.protobuf.GeneratedCodeInfo.annotation:type_name -> google.protobuf.GeneratedCodeInfo.Annotation 0, // 68: google.protobuf.FeatureSetDefaults.minimum_edition:type_name -> google.protobuf.Edition
21, // 69: google.protobuf.DescriptorProto.ExtensionRange.options:type_name -> google.protobuf.ExtensionRangeOptions 0, // 69: google.protobuf.FeatureSetDefaults.maximum_edition:type_name -> google.protobuf.Edition
0, // 70: google.protobuf.FieldOptions.EditionDefault.edition:type_name -> google.protobuf.Edition 52, // 70: google.protobuf.SourceCodeInfo.location:type_name -> google.protobuf.SourceCodeInfo.Location
0, // 71: google.protobuf.FieldOptions.FeatureSupport.edition_introduced:type_name -> google.protobuf.Edition 53, // 71: google.protobuf.GeneratedCodeInfo.annotation:type_name -> google.protobuf.GeneratedCodeInfo.Annotation
0, // 72: google.protobuf.FieldOptions.FeatureSupport.edition_deprecated:type_name -> google.protobuf.Edition 23, // 72: google.protobuf.DescriptorProto.ExtensionRange.options:type_name -> google.protobuf.ExtensionRangeOptions
0, // 73: google.protobuf.FieldOptions.FeatureSupport.edition_removed:type_name -> google.protobuf.Edition 0, // 73: google.protobuf.FieldOptions.EditionDefault.edition:type_name -> google.protobuf.Edition
0, // 74: google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.edition:type_name -> google.protobuf.Edition 0, // 74: google.protobuf.FieldOptions.FeatureSupport.edition_introduced:type_name -> google.protobuf.Edition
37, // 75: google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.overridable_features:type_name -> google.protobuf.FeatureSet 0, // 75: google.protobuf.FieldOptions.FeatureSupport.edition_deprecated:type_name -> google.protobuf.Edition
37, // 76: google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.fixed_features:type_name -> google.protobuf.FeatureSet 0, // 76: google.protobuf.FieldOptions.FeatureSupport.edition_removed:type_name -> google.protobuf.Edition
17, // 77: google.protobuf.GeneratedCodeInfo.Annotation.semantic:type_name -> google.protobuf.GeneratedCodeInfo.Annotation.Semantic 0, // 77: google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.edition:type_name -> google.protobuf.Edition
78, // [78:78] is the sub-list for method output_type 39, // 78: google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.overridable_features:type_name -> google.protobuf.FeatureSet
78, // [78:78] is the sub-list for method input_type 39, // 79: google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.fixed_features:type_name -> google.protobuf.FeatureSet
78, // [78:78] is the sub-list for extension type_name 19, // 80: google.protobuf.GeneratedCodeInfo.Annotation.semantic:type_name -> google.protobuf.GeneratedCodeInfo.Annotation.Semantic
78, // [78:78] is the sub-list for extension extendee 81, // [81:81] is the sub-list for method output_type
0, // [0:78] is the sub-list for field type_name 81, // [81:81] is the sub-list for method input_type
81, // [81:81] is the sub-list for extension type_name
81, // [81:81] is the sub-list for extension extendee
0, // [0:81] is the sub-list for field type_name
} }
func init() { file_google_protobuf_descriptor_proto_init() } func init() { file_google_protobuf_descriptor_proto_init() }
@ -4983,8 +5218,8 @@ func file_google_protobuf_descriptor_proto_init() {
File: protoimpl.DescBuilder{ File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(), GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: unsafe.Slice(unsafe.StringData(file_google_protobuf_descriptor_proto_rawDesc), len(file_google_protobuf_descriptor_proto_rawDesc)), RawDescriptor: unsafe.Slice(unsafe.StringData(file_google_protobuf_descriptor_proto_rawDesc), len(file_google_protobuf_descriptor_proto_rawDesc)),
NumEnums: 18, NumEnums: 20,
NumMessages: 33, NumMessages: 34,
NumExtensions: 0, NumExtensions: 0,
NumServices: 0, NumServices: 0,
}, },

16
vendor/modules.txt vendored
View File

@ -134,12 +134,12 @@ go.uber.org/zap/zapcore
# go.yaml.in/yaml/v2 v2.4.2 # go.yaml.in/yaml/v2 v2.4.2
## explicit; go 1.15 ## explicit; go 1.15
go.yaml.in/yaml/v2 go.yaml.in/yaml/v2
# golang.org/x/mod v0.26.0 # golang.org/x/mod v0.27.0
## explicit; go 1.23.0 ## explicit; go 1.23.0
golang.org/x/mod/internal/lazyregexp golang.org/x/mod/internal/lazyregexp
golang.org/x/mod/module golang.org/x/mod/module
golang.org/x/mod/semver golang.org/x/mod/semver
# golang.org/x/net v0.42.0 # golang.org/x/net v0.43.0
## explicit; go 1.23.0 ## explicit; go 1.23.0
golang.org/x/net/http/httpguts golang.org/x/net/http/httpguts
golang.org/x/net/http2 golang.org/x/net/http2
@ -154,15 +154,15 @@ golang.org/x/oauth2/internal
# golang.org/x/sync v0.16.0 # golang.org/x/sync v0.16.0
## explicit; go 1.23.0 ## explicit; go 1.23.0
golang.org/x/sync/errgroup golang.org/x/sync/errgroup
# golang.org/x/sys v0.34.0 # golang.org/x/sys v0.35.0
## explicit; go 1.23.0 ## explicit; go 1.23.0
golang.org/x/sys/plan9 golang.org/x/sys/plan9
golang.org/x/sys/unix golang.org/x/sys/unix
golang.org/x/sys/windows golang.org/x/sys/windows
# golang.org/x/term v0.33.0 # golang.org/x/term v0.34.0
## explicit; go 1.23.0 ## explicit; go 1.23.0
golang.org/x/term golang.org/x/term
# golang.org/x/text v0.27.0 # golang.org/x/text v0.28.0
## explicit; go 1.23.0 ## explicit; go 1.23.0
golang.org/x/text/cases golang.org/x/text/cases
golang.org/x/text/internal golang.org/x/text/internal
@ -177,7 +177,7 @@ golang.org/x/text/unicode/norm
# golang.org/x/time v0.10.0 # golang.org/x/time v0.10.0
## explicit; go 1.18 ## explicit; go 1.18
golang.org/x/time/rate golang.org/x/time/rate
# golang.org/x/tools v0.35.0 # golang.org/x/tools v0.36.0
## explicit; go 1.23.0 ## explicit; go 1.23.0
golang.org/x/tools/go/ast/astutil golang.org/x/tools/go/ast/astutil
golang.org/x/tools/go/gcexportdata golang.org/x/tools/go/gcexportdata
@ -206,7 +206,7 @@ golang.org/x/tools/internal/versions
# gomodules.xyz/jsonpatch/v2 v2.5.0 # gomodules.xyz/jsonpatch/v2 v2.5.0
## explicit; go 1.20 ## explicit; go 1.20
gomodules.xyz/jsonpatch/v2 gomodules.xyz/jsonpatch/v2
# google.golang.org/protobuf v1.36.6 # google.golang.org/protobuf v1.36.7
## explicit; go 1.22 ## explicit; go 1.22
google.golang.org/protobuf/encoding/prototext google.golang.org/protobuf/encoding/prototext
google.golang.org/protobuf/encoding/protowire google.golang.org/protobuf/encoding/protowire
@ -721,7 +721,7 @@ k8s.io/utils/trace
# knative.dev/hack v0.0.0-20250708013849-70d4b00da6ba # knative.dev/hack v0.0.0-20250708013849-70d4b00da6ba
## explicit; go 1.21 ## explicit; go 1.21
knative.dev/hack knative.dev/hack
# knative.dev/pkg v0.0.0-20250804212045-2a0abb7b5eb3 # knative.dev/pkg v0.0.0-20250811181739-e06d4c9af190
## explicit; go 1.24.0 ## explicit; go 1.24.0
knative.dev/pkg/apis knative.dev/pkg/apis
knative.dev/pkg/apis/duck knative.dev/pkg/apis/duck