detached d4952b4

chore(build): repair vendored baseline

commit
d4952b41d17da47c4f9870c27e97820adf5202e5
author
brice · · 2026-07-14 05:44 UTC
parent
ae333bf
signature
GPG VerifiedCD88F9E564E0102646FB6077A1A07C7C7C3E349D · arch-gpg Verified for the committer email
3316 files · +1391338 -4
M Makefile +2 -2
@@ -239,13 +239,13 @@ flatpak-deps: ## Install Flatpak build dependencies (Arch)
239239
240240 flatpak-build: ## Build Flatpak bundle locally
241241 @echo "Building Flatpak bundle..."
242- flatpak-builder --force-clean --user --repo=flatpak-repo flatpak-build dev.bnema.Dumber.yml
242+ flatpak-builder --force-clean --user --repo=flatpak-repo flatpak-build flatpak/dev.bnema.Dumber.yml
243243 flatpak build-bundle flatpak-repo dumber.flatpak dev.bnema.Dumber
244244 @echo "Flatpak bundle created: dumber.flatpak"
245245
246246 flatpak-install: ## Install Flatpak locally for testing
247247 @echo "Installing Flatpak locally..."
248- flatpak-builder --force-clean --user --install flatpak-build dev.bnema.Dumber.yml
248+ flatpak-builder --force-clean --user --install flatpak-build flatpak/dev.bnema.Dumber.yml
249249 @echo "Flatpak installed! Run with: make flatpak-run"
250250
251251 flatpak-run: ## Run the installed Flatpak
@@ -239,13 +239,13 @@ flatpak-deps: ## Install Flatpak build dependencies (Arch)
239 239
240 flatpak-build: ## Build Flatpak bundle locally240 flatpak-build: ## Build Flatpak bundle locally
241 @echo "Building Flatpak bundle..."241 @echo "Building Flatpak bundle..."
242- flatpak-builder --force-clean --user --repo=flatpak-repo flatpak-build dev.bnema.Dumber.yml242+ flatpak-builder --force-clean --user --repo=flatpak-repo flatpak-build flatpak/dev.bnema.Dumber.yml
243 flatpak build-bundle flatpak-repo dumber.flatpak dev.bnema.Dumber243 flatpak build-bundle flatpak-repo dumber.flatpak dev.bnema.Dumber
244 @echo "Flatpak bundle created: dumber.flatpak"244 @echo "Flatpak bundle created: dumber.flatpak"
245 245
246 flatpak-install: ## Install Flatpak locally for testing246 flatpak-install: ## Install Flatpak locally for testing
247 @echo "Installing Flatpak locally..."247 @echo "Installing Flatpak locally..."
248- flatpak-builder --force-clean --user --install flatpak-build dev.bnema.Dumber.yml248+ flatpak-builder --force-clean --user --install flatpak-build flatpak/dev.bnema.Dumber.yml
249 @echo "Flatpak installed! Run with: make flatpak-run"249 @echo "Flatpak installed! Run with: make flatpak-run"
250 250
251 flatpak-run: ## Run the installed Flatpak251 flatpak-run: ## Run the installed Flatpak
M flatpak/dev.bnema.Dumber.yml +2 -2
@@ -53,10 +53,10 @@ modules:
5353 path: dev.bnema.Dumber.desktop
5454 # Icons
5555 - type: file
56- path: assets/logo.svg
56+ path: ../assets/logo.svg
5757 dest-filename: logo.svg
5858 - type: file
59- path: assets/logo-512.png
59+ path: ../assets/logo-512.png
6060 dest-filename: logo-512.png
6161 # Metainfo
6262 - type: file
@@ -53,10 +53,10 @@ modules:
53 path: dev.bnema.Dumber.desktop53 path: dev.bnema.Dumber.desktop
54 # Icons54 # Icons
55 - type: file55 - type: file
56- path: assets/logo.svg56+ path: ../assets/logo.svg
57 dest-filename: logo.svg57 dest-filename: logo.svg
58 - type: file58 - type: file
59- path: assets/logo-512.png59+ path: ../assets/logo-512.png
60 dest-filename: logo-512.png60 dest-filename: logo-512.png
61 # Metainfo61 # Metainfo
62 - type: file62 - type: file
A vendor/github.com/a-h/parse/.gitignore +1 -0 generated file: collapsed
A vendor/github.com/a-h/parse/LICENSE +21 -0 generated file: collapsed
A vendor/github.com/a-h/parse/README.md +145 -0 generated file: collapsed
A vendor/github.com/a-h/parse/all.go +26 -0 generated file: collapsed
A vendor/github.com/a-h/parse/any.go +22 -0 generated file: collapsed
A vendor/github.com/a-h/parse/convert.go +14 -0 generated file: collapsed
A vendor/github.com/a-h/parse/digits.go +4 -0 generated file: collapsed
A vendor/github.com/a-h/parse/eof.go +15 -0 generated file: collapsed
A vendor/github.com/a-h/parse/error.go +21 -0 generated file: collapsed
A vendor/github.com/a-h/parse/input.go +79 -0 generated file: collapsed
A vendor/github.com/a-h/parse/optional.go +26 -0 generated file: collapsed
A vendor/github.com/a-h/parse/or.go +37 -0 generated file: collapsed
A vendor/github.com/a-h/parse/regexp.go +46 -0 generated file: collapsed
A vendor/github.com/a-h/parse/rune.go +58 -0 generated file: collapsed
A vendor/github.com/a-h/parse/sequenceof2.go +27 -0 generated file: collapsed
A vendor/github.com/a-h/parse/sequenceof3.go +35 -0 generated file: collapsed
A vendor/github.com/a-h/parse/sequenceof4.go +41 -0 generated file: collapsed
A vendor/github.com/a-h/parse/sequenceof5.go +48 -0 generated file: collapsed
A vendor/github.com/a-h/parse/sequenceof6.go +55 -0 generated file: collapsed
A vendor/github.com/a-h/parse/sequenceof7.go +62 -0 generated file: collapsed
A vendor/github.com/a-h/parse/sequenceof8.go +69 -0 generated file: collapsed
A vendor/github.com/a-h/parse/sequenceof9.go +76 -0 generated file: collapsed
A vendor/github.com/a-h/parse/string.go +40 -0 generated file: collapsed
A vendor/github.com/a-h/parse/stringfrom.go +30 -0 generated file: collapsed
A vendor/github.com/a-h/parse/stringuntil.go +49 -0 generated file: collapsed
A vendor/github.com/a-h/parse/then.go +9 -0 generated file: collapsed
A vendor/github.com/a-h/parse/times.go +83 -0 generated file: collapsed
A vendor/github.com/a-h/parse/tuples.go +69 -0 generated file: collapsed
A vendor/github.com/a-h/parse/types.go +33 -0 generated file: collapsed
A vendor/github.com/a-h/parse/until.go +68 -0 generated file: collapsed
A vendor/github.com/a-h/parse/whitespace.go +29 -0 generated file: collapsed
A vendor/github.com/a-h/templ/.dockerignore +3 -0 generated file: collapsed
A vendor/github.com/a-h/templ/.envrc +1 -0 generated file: collapsed
A vendor/github.com/a-h/templ/.gitignore +40 -0 generated file: collapsed
A vendor/github.com/a-h/templ/.goreleaser.yaml +72 -0 generated file: collapsed
A vendor/github.com/a-h/templ/.ignore +9 -0 generated file: collapsed
A vendor/github.com/a-h/templ/.version +1 -0 generated file: collapsed
A vendor/github.com/a-h/templ/CODE_OF_CONDUCT.md +128 -0 generated file: collapsed
A vendor/github.com/a-h/templ/CONTRIBUTING.md +247 -0 generated file: collapsed
A vendor/github.com/a-h/templ/LICENSE +21 -0 generated file: collapsed
A vendor/github.com/a-h/templ/README.md +194 -0 generated file: collapsed
A vendor/github.com/a-h/templ/SECURITY.md +9 -0 generated file: collapsed
A vendor/github.com/a-h/templ/cmd/templ/fmtcmd/main.go +132 -0 generated file: collapsed
A vendor/github.com/a-h/templ/cmd/templ/fmtcmd/testdata.txtar +66 -0 generated file: collapsed
A vendor/github.com/a-h/templ/cmd/templ/generatecmd/cmd.go +452 -0 generated file: collapsed
A vendor/github.com/a-h/templ/cmd/templ/generatecmd/eventhandler.go +349 -0 generated file: collapsed
A vendor/github.com/a-h/templ/cmd/templ/generatecmd/fatalerror.go +23 -0 generated file: collapsed
A vendor/github.com/a-h/templ/cmd/templ/generatecmd/main.go +237 -0 generated file: collapsed
A vendor/github.com/a-h/templ/cmd/templ/generatecmd/modcheck/modcheck.go +82 -0 generated file: collapsed
A vendor/github.com/a-h/templ/cmd/templ/generatecmd/proxy/proxy.go +385 -0 generated file: collapsed
A vendor/github.com/a-h/templ/cmd/templ/generatecmd/proxy/script.js +10 -0 generated file: collapsed
A vendor/github.com/a-h/templ/cmd/templ/generatecmd/run/run_unix.go +88 -0 generated file: collapsed
A vendor/github.com/a-h/templ/cmd/templ/generatecmd/run/run_windows.go +75 -0 generated file: collapsed
A vendor/github.com/a-h/templ/cmd/templ/generatecmd/sse/server.go +84 -0 generated file: collapsed
A vendor/github.com/a-h/templ/cmd/templ/generatecmd/watcher/watch.go +166 -0 generated file: collapsed
A vendor/github.com/a-h/templ/cmd/templ/infocmd/main.go +195 -0 generated file: collapsed
A vendor/github.com/a-h/templ/cmd/templ/lspcmd/httpdebug/handler.go +130 -0 generated file: collapsed
A vendor/github.com/a-h/templ/cmd/templ/lspcmd/httpdebug/list.templ +22 -0 generated file: collapsed
A vendor/github.com/a-h/templ/cmd/templ/lspcmd/httpdebug/list_templ.go +114 -0 generated file: collapsed
A vendor/github.com/a-h/templ/cmd/templ/lspcmd/main.go +145 -0 generated file: collapsed
A vendor/github.com/a-h/templ/cmd/templ/lspcmd/pls/main.go +128 -0 generated file: collapsed
A vendor/github.com/a-h/templ/cmd/templ/lspcmd/proxy/client.go +146 -0 generated file: collapsed
A vendor/github.com/a-h/templ/cmd/templ/lspcmd/proxy/diagnosticcache.go +61 -0 generated file: collapsed
A vendor/github.com/a-h/templ/cmd/templ/lspcmd/proxy/documentcontents.go +215 -0 generated file: collapsed
A vendor/github.com/a-h/templ/cmd/templ/lspcmd/proxy/rewrite.go +24 -0 generated file: collapsed
A vendor/github.com/a-h/templ/cmd/templ/lspcmd/proxy/server.go +1464 -0 generated file: collapsed
A vendor/github.com/a-h/templ/cmd/templ/lspcmd/proxy/snippets.go +111 -0 generated file: collapsed
A vendor/github.com/a-h/templ/cmd/templ/lspcmd/proxy/sourcemapcache.go +60 -0 generated file: collapsed
A vendor/github.com/a-h/templ/cmd/templ/lspcmd/stdrwc.go +50 -0 generated file: collapsed
A vendor/github.com/a-h/templ/cmd/templ/main.go +280 -0 generated file: collapsed
A vendor/github.com/a-h/templ/cmd/templ/processor/processor.go +66 -0 generated file: collapsed
A vendor/github.com/a-h/templ/cmd/templ/sloghandler/handler.go +120 -0 generated file: collapsed
A vendor/github.com/a-h/templ/cmd/templ/visualize/sourcemapvisualisation.templ +68 -0 generated file: collapsed
A vendor/github.com/a-h/templ/cmd/templ/visualize/sourcemapvisualisation_templ.go +295 -0 generated file: collapsed
A vendor/github.com/a-h/templ/cmd/templ/visualize/types.go +87 -0 generated file: collapsed
A vendor/github.com/a-h/templ/cosign.pub +4 -0 generated file: collapsed
A vendor/github.com/a-h/templ/flake.lock +87 -0 generated file: collapsed
A vendor/github.com/a-h/templ/flake.nix +99 -0 generated file: collapsed
A vendor/github.com/a-h/templ/flush.go +36 -0 generated file: collapsed
A vendor/github.com/a-h/templ/fragment.go +73 -0 generated file: collapsed
A vendor/github.com/a-h/templ/generator/generator.go +1829 -0 generated file: collapsed
A vendor/github.com/a-h/templ/generator/rangewriter.go +122 -0 generated file: collapsed
A vendor/github.com/a-h/templ/handler.go +163 -0 generated file: collapsed
A vendor/github.com/a-h/templ/ide-demo.gif +0 -0 binary file: no text diff

binary file: no text diff

A vendor/github.com/a-h/templ/internal/format/scriptelement.go +96 -0 generated file: collapsed
A vendor/github.com/a-h/templ/internal/format/styleelement.go +25 -0 generated file: collapsed
A vendor/github.com/a-h/templ/internal/format/templ.go +102 -0 generated file: collapsed
A vendor/github.com/a-h/templ/internal/htmlfind/htmlfind.go +67 -0 generated file: collapsed
A vendor/github.com/a-h/templ/internal/imports/process.go +218 -0 generated file: collapsed
A vendor/github.com/a-h/templ/internal/lazyloader/docheader.go +27 -0 generated file: collapsed
A vendor/github.com/a-h/templ/internal/lazyloader/docheaderparser.go +53 -0 generated file: collapsed
A vendor/github.com/a-h/templ/internal/lazyloader/pkgloader.go +55 -0 generated file: collapsed
A vendor/github.com/a-h/templ/internal/lazyloader/pkgtraverser.go +110 -0 generated file: collapsed
A vendor/github.com/a-h/templ/internal/lazyloader/templdoclazyloader.go +161 -0 generated file: collapsed
A vendor/github.com/a-h/templ/internal/prettier/prettier.go +133 -0 generated file: collapsed
A vendor/github.com/a-h/templ/internal/prettier/testdata.txtar +12 -0 generated file: collapsed
A vendor/github.com/a-h/templ/internal/skipdir/skipdir.go +20 -0 generated file: collapsed
A vendor/github.com/a-h/templ/internal/syncmap/map.go +49 -0 generated file: collapsed
A vendor/github.com/a-h/templ/internal/syncset/set.go +42 -0 generated file: collapsed
A vendor/github.com/a-h/templ/join.go +19 -0 generated file: collapsed
A vendor/github.com/a-h/templ/js.go +40 -0 generated file: collapsed
A vendor/github.com/a-h/templ/jsonscript.go +85 -0 generated file: collapsed
A vendor/github.com/a-h/templ/jsonstring.go +14 -0 generated file: collapsed
A vendor/github.com/a-h/templ/lsp/LICENSE +29 -0 generated file: collapsed
A vendor/github.com/a-h/templ/lsp/jsonrpc2/codes.go +86 -0 generated file: collapsed
A vendor/github.com/a-h/templ/lsp/jsonrpc2/conn.go +244 -0 generated file: collapsed
A vendor/github.com/a-h/templ/lsp/jsonrpc2/errors.go +70 -0 generated file: collapsed
A vendor/github.com/a-h/templ/lsp/jsonrpc2/handler.go +120 -0 generated file: collapsed
A vendor/github.com/a-h/templ/lsp/jsonrpc2/jsonrpc2.go +7 -0 generated file: collapsed
A vendor/github.com/a-h/templ/lsp/jsonrpc2/message.go +354 -0 generated file: collapsed
A vendor/github.com/a-h/templ/lsp/jsonrpc2/serve.go +131 -0 generated file: collapsed
A vendor/github.com/a-h/templ/lsp/jsonrpc2/stream.go +225 -0 generated file: collapsed
A vendor/github.com/a-h/templ/lsp/jsonrpc2/wire.go +140 -0 generated file: collapsed
A vendor/github.com/a-h/templ/lsp/protocol/base.go +95 -0 generated file: collapsed
A vendor/github.com/a-h/templ/lsp/protocol/basic.go +705 -0 generated file: collapsed
A vendor/github.com/a-h/templ/lsp/protocol/callhierarchy.go +103 -0 generated file: collapsed
A vendor/github.com/a-h/templ/lsp/protocol/capabilities_client.go +1068 -0 generated file: collapsed
A vendor/github.com/a-h/templ/lsp/protocol/capabilities_server.go +523 -0 generated file: collapsed
A vendor/github.com/a-h/templ/lsp/protocol/client.go +412 -0 generated file: collapsed
A vendor/github.com/a-h/templ/lsp/protocol/context.go +26 -0 generated file: collapsed
A vendor/github.com/a-h/templ/lsp/protocol/deprecated.go +264 -0 generated file: collapsed
A vendor/github.com/a-h/templ/lsp/protocol/diagnostics.go +149 -0 generated file: collapsed
A vendor/github.com/a-h/templ/lsp/protocol/doc.go +23 -0 generated file: collapsed
A vendor/github.com/a-h/templ/lsp/protocol/errors.go +40 -0 generated file: collapsed
A vendor/github.com/a-h/templ/lsp/protocol/general.go +461 -0 generated file: collapsed
A vendor/github.com/a-h/templ/lsp/protocol/handler.go +88 -0 generated file: collapsed
A vendor/github.com/a-h/templ/lsp/protocol/language.go +1401 -0 generated file: collapsed
A vendor/github.com/a-h/templ/lsp/protocol/progress.go +119 -0 generated file: collapsed
A vendor/github.com/a-h/templ/lsp/protocol/protocol.go +41 -0 generated file: collapsed
A vendor/github.com/a-h/templ/lsp/protocol/registration.go +44 -0 generated file: collapsed
A vendor/github.com/a-h/templ/lsp/protocol/selectionrange.go +110 -0 generated file: collapsed
A vendor/github.com/a-h/templ/lsp/protocol/semantic_token.go +179 -0 generated file: collapsed
A vendor/github.com/a-h/templ/lsp/protocol/server.go +1893 -0 generated file: collapsed
A vendor/github.com/a-h/templ/lsp/protocol/text.go +111 -0 generated file: collapsed
A vendor/github.com/a-h/templ/lsp/protocol/util.go +9 -0 generated file: collapsed
A vendor/github.com/a-h/templ/lsp/protocol/version.go +7 -0 generated file: collapsed
A vendor/github.com/a-h/templ/lsp/protocol/window.go +111 -0 generated file: collapsed
A vendor/github.com/a-h/templ/lsp/protocol/workspace.go +213 -0 generated file: collapsed
A vendor/github.com/a-h/templ/lsp/uri/uri.go +245 -0 generated file: collapsed
A vendor/github.com/a-h/templ/lsp/xcontext/xcontext.go +22 -0 generated file: collapsed
A vendor/github.com/a-h/templ/once.go +63 -0 generated file: collapsed
A vendor/github.com/a-h/templ/parser/v2/calltemplateparser.go +37 -0 generated file: collapsed
A vendor/github.com/a-h/templ/parser/v2/childrenparser.go +25 -0 generated file: collapsed
A vendor/github.com/a-h/templ/parser/v2/conditionalattributeparser.go +103 -0 generated file: collapsed
A vendor/github.com/a-h/templ/parser/v2/cssparser.go +200 -0 generated file: collapsed
A vendor/github.com/a-h/templ/parser/v2/diagnostics.go +64 -0 generated file: collapsed
A vendor/github.com/a-h/templ/parser/v2/doctypeparser.go +33 -0 generated file: collapsed
A vendor/github.com/a-h/templ/parser/v2/elementparser.go +605 -0 generated file: collapsed
A vendor/github.com/a-h/templ/parser/v2/expressionparser.go +246 -0 generated file: collapsed
A vendor/github.com/a-h/templ/parser/v2/fallthroughparser.go +26 -0 generated file: collapsed
A vendor/github.com/a-h/templ/parser/v2/forexpressionparser.go +57 -0 generated file: collapsed
A vendor/github.com/a-h/templ/parser/v2/fuzz.sh +5 -0 generated file: collapsed
A vendor/github.com/a-h/templ/parser/v2/gocodeparser.go +64 -0 generated file: collapsed
A vendor/github.com/a-h/templ/parser/v2/gocommentparser.go +66 -0 generated file: collapsed
A vendor/github.com/a-h/templ/parser/v2/goexpression/fuzz.sh +19 -0 generated file: collapsed
A vendor/github.com/a-h/templ/parser/v2/goexpression/parse.go +343 -0 generated file: collapsed
A vendor/github.com/a-h/templ/parser/v2/goexpression/scanner.go +180 -0 generated file: collapsed
A vendor/github.com/a-h/templ/parser/v2/goparser.go +70 -0 generated file: collapsed
A vendor/github.com/a-h/templ/parser/v2/htmlcommentparser.go +40 -0 generated file: collapsed
A vendor/github.com/a-h/templ/parser/v2/ifexpressionparser.go +144 -0 generated file: collapsed
A vendor/github.com/a-h/templ/parser/v2/packageparser.go +32 -0 generated file: collapsed
A vendor/github.com/a-h/templ/parser/v2/parser.go +55 -0 generated file: collapsed
A vendor/github.com/a-h/templ/parser/v2/raw.go +67 -0 generated file: collapsed
A vendor/github.com/a-h/templ/parser/v2/scriptparser.go +336 -0 generated file: collapsed
A vendor/github.com/a-h/templ/parser/v2/scripttemplateparser.go +91 -0 generated file: collapsed
A vendor/github.com/a-h/templ/parser/v2/sourcemap.go +134 -0 generated file: collapsed
A vendor/github.com/a-h/templ/parser/v2/stringexpressionparser.go +44 -0 generated file: collapsed
A vendor/github.com/a-h/templ/parser/v2/structure.go +43 -0 generated file: collapsed
A vendor/github.com/a-h/templ/parser/v2/switchexpressionparser.go +171 -0 generated file: collapsed
A vendor/github.com/a-h/templ/parser/v2/templatefile.go +195 -0 generated file: collapsed
A vendor/github.com/a-h/templ/parser/v2/templateparser.go +154 -0 generated file: collapsed
A vendor/github.com/a-h/templ/parser/v2/templelementparser.go +59 -0 generated file: collapsed
A vendor/github.com/a-h/templ/parser/v2/textparser.go +53 -0 generated file: collapsed
A vendor/github.com/a-h/templ/parser/v2/types.go +1537 -0 generated file: collapsed
A vendor/github.com/a-h/templ/parser/v2/visitor.go +36 -0 generated file: collapsed
A vendor/github.com/a-h/templ/parser/v2/visitor/visitor.go +357 -0 generated file: collapsed
A vendor/github.com/a-h/templ/parser/v2/whitespaceparser.go +14 -0 generated file: collapsed
A vendor/github.com/a-h/templ/runtime.go +736 -0 generated file: collapsed
A vendor/github.com/a-h/templ/runtime/buffer.go +62 -0 generated file: collapsed
A vendor/github.com/a-h/templ/runtime/bufferpool.go +38 -0 generated file: collapsed
A vendor/github.com/a-h/templ/runtime/builder.go +8 -0 generated file: collapsed
A vendor/github.com/a-h/templ/runtime/runtime.go +21 -0 generated file: collapsed
A vendor/github.com/a-h/templ/runtime/scriptelement.go +107 -0 generated file: collapsed
A vendor/github.com/a-h/templ/runtime/styleattribute.go +217 -0 generated file: collapsed
A vendor/github.com/a-h/templ/runtime/watchmode.go +181 -0 generated file: collapsed
A vendor/github.com/a-h/templ/safehtml/style.go +199 -0 generated file: collapsed
A vendor/github.com/a-h/templ/scripttemplate.go +150 -0 generated file: collapsed
A vendor/github.com/a-h/templ/templ.png +0 -0 binary file: no text diff

binary file: no text diff

A vendor/github.com/a-h/templ/url.go +31 -0 generated file: collapsed
A vendor/github.com/a-h/templ/version.go +10 -0 generated file: collapsed
A vendor/github.com/a-h/templ/watchmode.go +105 -0 generated file: collapsed
A vendor/github.com/andybalholm/brotli/.gitignore +2 -0 generated file: collapsed
A vendor/github.com/andybalholm/brotli/LICENSE +19 -0 generated file: collapsed
A vendor/github.com/andybalholm/brotli/README.md +19 -0 generated file: collapsed
A vendor/github.com/andybalholm/brotli/backward_references.go +185 -0 generated file: collapsed
A vendor/github.com/andybalholm/brotli/backward_references_hq.go +796 -0 generated file: collapsed
A vendor/github.com/andybalholm/brotli/bit_cost.go +436 -0 generated file: collapsed
A vendor/github.com/andybalholm/brotli/bit_reader.go +266 -0 generated file: collapsed
A vendor/github.com/andybalholm/brotli/bitwriter.go +56 -0 generated file: collapsed
A vendor/github.com/andybalholm/brotli/block_splitter.go +144 -0 generated file: collapsed
A vendor/github.com/andybalholm/brotli/block_splitter_command.go +434 -0 generated file: collapsed
A vendor/github.com/andybalholm/brotli/block_splitter_distance.go +433 -0 generated file: collapsed
A vendor/github.com/andybalholm/brotli/block_splitter_literal.go +433 -0 generated file: collapsed
A vendor/github.com/andybalholm/brotli/brotli_bit_stream.go +1435 -0 generated file: collapsed
A vendor/github.com/andybalholm/brotli/cluster.go +30 -0 generated file: collapsed
A vendor/github.com/andybalholm/brotli/cluster_command.go +164 -0 generated file: collapsed
A vendor/github.com/andybalholm/brotli/cluster_distance.go +326 -0 generated file: collapsed
A vendor/github.com/andybalholm/brotli/cluster_literal.go +326 -0 generated file: collapsed
A vendor/github.com/andybalholm/brotli/command.go +254 -0 generated file: collapsed
A vendor/github.com/andybalholm/brotli/compress_fragment.go +834 -0 generated file: collapsed
A vendor/github.com/andybalholm/brotli/compress_fragment_two_pass.go +775 -0 generated file: collapsed
A vendor/github.com/andybalholm/brotli/constants.go +77 -0 generated file: collapsed
A vendor/github.com/andybalholm/brotli/context.go +2176 -0 generated file: collapsed
A vendor/github.com/andybalholm/brotli/decode.go +2570 -0 generated file: collapsed
A vendor/github.com/andybalholm/brotli/dictionary.go +122890 -0 generated file: collapsed
A vendor/github.com/andybalholm/brotli/dictionary_hash.go +32779 -0 generated file: collapsed
A vendor/github.com/andybalholm/brotli/encode.go +1220 -0 generated file: collapsed
A vendor/github.com/andybalholm/brotli/encoder.go +177 -0 generated file: collapsed
A vendor/github.com/andybalholm/brotli/encoder_dict.go +22 -0 generated file: collapsed
A vendor/github.com/andybalholm/brotli/encoder_fast.go +197 -0 generated file: collapsed
A vendor/github.com/andybalholm/brotli/entropy_encode.go +592 -0 generated file: collapsed
A vendor/github.com/andybalholm/brotli/entropy_encode_static.go +4399 -0 generated file: collapsed
A vendor/github.com/andybalholm/brotli/fast_log.go +290 -0 generated file: collapsed
A vendor/github.com/andybalholm/brotli/find_match_length.go +45 -0 generated file: collapsed
A vendor/github.com/andybalholm/brotli/flate/LICENSE +27 -0 generated file: collapsed
A vendor/github.com/andybalholm/brotli/flate/README.md +2 -0 generated file: collapsed
A vendor/github.com/andybalholm/brotli/flate/gzip.go +65 -0 generated file: collapsed
A vendor/github.com/andybalholm/brotli/flate/huffman_bit_writer.go +517 -0 generated file: collapsed
A vendor/github.com/andybalholm/brotli/flate/huffman_code.go +346 -0 generated file: collapsed
A vendor/github.com/andybalholm/brotli/flate/token.go +80 -0 generated file: collapsed
A vendor/github.com/andybalholm/brotli/flate/writer.go +66 -0 generated file: collapsed
A vendor/github.com/andybalholm/brotli/h10.go +287 -0 generated file: collapsed
A vendor/github.com/andybalholm/brotli/h5.go +214 -0 generated file: collapsed
A vendor/github.com/andybalholm/brotli/h6.go +216 -0 generated file: collapsed
A vendor/github.com/andybalholm/brotli/hash.go +342 -0 generated file: collapsed
A vendor/github.com/andybalholm/brotli/hash_composite.go +93 -0 generated file: collapsed
A vendor/github.com/andybalholm/brotli/hash_forgetful_chain.go +252 -0 generated file: collapsed
A vendor/github.com/andybalholm/brotli/hash_longest_match_quickly.go +214 -0 generated file: collapsed
A vendor/github.com/andybalholm/brotli/hash_rolling.go +168 -0 generated file: collapsed
A vendor/github.com/andybalholm/brotli/histogram.go +226 -0 generated file: collapsed
A vendor/github.com/andybalholm/brotli/http.go +189 -0 generated file: collapsed
A vendor/github.com/andybalholm/brotli/huffman.go +653 -0 generated file: collapsed
A vendor/github.com/andybalholm/brotli/literal_cost.go +182 -0 generated file: collapsed
A vendor/github.com/andybalholm/brotli/matchfinder/bargain1.go +212 -0 generated file: collapsed
A vendor/github.com/andybalholm/brotli/matchfinder/bargain2.go +248 -0 generated file: collapsed
A vendor/github.com/andybalholm/brotli/matchfinder/bargain3.go +278 -0 generated file: collapsed
A vendor/github.com/andybalholm/brotli/matchfinder/emitter.go +34 -0 generated file: collapsed
A vendor/github.com/andybalholm/brotli/matchfinder/m0.go +175 -0 generated file: collapsed
A vendor/github.com/andybalholm/brotli/matchfinder/m4.go +339 -0 generated file: collapsed
A vendor/github.com/andybalholm/brotli/matchfinder/matchfinder.go +103 -0 generated file: collapsed
A vendor/github.com/andybalholm/brotli/matchfinder/pathfinder.go +328 -0 generated file: collapsed
A vendor/github.com/andybalholm/brotli/matchfinder/textencoder.go +53 -0 generated file: collapsed
A vendor/github.com/andybalholm/brotli/matchfinder/trio.go +326 -0 generated file: collapsed
A vendor/github.com/andybalholm/brotli/matchfinder/zdfast.go +258 -0 generated file: collapsed
A vendor/github.com/andybalholm/brotli/matchfinder/zfast.go +206 -0 generated file: collapsed
A vendor/github.com/andybalholm/brotli/matchfinder/zm.go +301 -0 generated file: collapsed
A vendor/github.com/andybalholm/brotli/memory.go +66 -0 generated file: collapsed
A vendor/github.com/andybalholm/brotli/metablock.go +574 -0 generated file: collapsed
A vendor/github.com/andybalholm/brotli/metablock_command.go +165 -0 generated file: collapsed
A vendor/github.com/andybalholm/brotli/metablock_distance.go +165 -0 generated file: collapsed
A vendor/github.com/andybalholm/brotli/metablock_literal.go +165 -0 generated file: collapsed
A vendor/github.com/andybalholm/brotli/params.go +37 -0 generated file: collapsed
A vendor/github.com/andybalholm/brotli/platform.go +103 -0 generated file: collapsed
A vendor/github.com/andybalholm/brotli/prefix.go +30 -0 generated file: collapsed
A vendor/github.com/andybalholm/brotli/prefix_dec.go +723 -0 generated file: collapsed
A vendor/github.com/andybalholm/brotli/quality.go +196 -0 generated file: collapsed
A vendor/github.com/andybalholm/brotli/reader.go +126 -0 generated file: collapsed
A vendor/github.com/andybalholm/brotli/ringbuffer.go +134 -0 generated file: collapsed
A vendor/github.com/andybalholm/brotli/state.go +313 -0 generated file: collapsed
A vendor/github.com/andybalholm/brotli/static_dict.go +662 -0 generated file: collapsed
A vendor/github.com/andybalholm/brotli/static_dict_lut.go +75094 -0 generated file: collapsed
A vendor/github.com/andybalholm/brotli/symbol_list.go +22 -0 generated file: collapsed
A vendor/github.com/andybalholm/brotli/transform.go +641 -0 generated file: collapsed
A vendor/github.com/andybalholm/brotli/utf8_util.go +70 -0 generated file: collapsed
A vendor/github.com/andybalholm/brotli/util.go +7 -0 generated file: collapsed
A vendor/github.com/andybalholm/brotli/write_bits.go +52 -0 generated file: collapsed
A vendor/github.com/andybalholm/brotli/writer.go +162 -0 generated file: collapsed
A vendor/github.com/atotto/clipboard/.travis.yml +22 -0 generated file: collapsed
A vendor/github.com/atotto/clipboard/LICENSE +27 -0 generated file: collapsed
A vendor/github.com/atotto/clipboard/README.md +48 -0 generated file: collapsed
A vendor/github.com/atotto/clipboard/clipboard.go +20 -0 generated file: collapsed
A vendor/github.com/atotto/clipboard/clipboard_darwin.go +52 -0 generated file: collapsed
A vendor/github.com/atotto/clipboard/clipboard_plan9.go +42 -0 generated file: collapsed
A vendor/github.com/atotto/clipboard/clipboard_unix.go +149 -0 generated file: collapsed
A vendor/github.com/atotto/clipboard/clipboard_windows.go +157 -0 generated file: collapsed
A vendor/github.com/aymanbagabas/go-osc52/v2/LICENSE +21 -0 generated file: collapsed
A vendor/github.com/aymanbagabas/go-osc52/v2/README.md +83 -0 generated file: collapsed
A vendor/github.com/aymanbagabas/go-osc52/v2/osc52.go +305 -0 generated file: collapsed
A vendor/github.com/bnema/purego-cef/LICENSE +21 -0 generated file: collapsed
A vendor/github.com/bnema/purego-cef/cef/bridge.go +779 -0 generated file: collapsed
A vendor/github.com/bnema/purego-cef/cef/cef_accessibility_handler_gen.go +135 -0 generated file: collapsed
A vendor/github.com/bnema/purego-cef/cef/cef_app_gen.go +255 -0 generated file: collapsed
A vendor/github.com/bnema/purego-cef/cef/cef_audio_handler_gen.go +222 -0 generated file: collapsed
A vendor/github.com/bnema/purego-cef/cef/cef_auth_callback_gen.go +80 -0 generated file: collapsed
A vendor/github.com/bnema/purego-cef/cef/cef_base_gen.go +13 -0 generated file: collapsed
A vendor/github.com/bnema/purego-cef/cef/cef_browser_gen.go +1327 -0 generated file: collapsed
A vendor/github.com/bnema/purego-cef/cef/cef_browser_process_handler_gen.go +280 -0 generated file: collapsed
A vendor/github.com/bnema/purego-cef/cef/cef_callback_gen.go +173 -0 generated file: collapsed
A vendor/github.com/bnema/purego-cef/cef/cef_client_gen.go +691 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/cef_command_handler_gen.go +228 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/cef_command_line_gen.go +269 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/cef_context_menu_handler_gen.go +633 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/cef_cookie_gen.go +417 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/cef_crash_util_gen.go +24 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/cef_devtools_message_observer_gen.go +219 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/cef_dialog_handler_gen.go +186 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/cef_display_handler_gen.go +440 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/cef_dom_gen.go +578 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/cef_download_handler_gen.go +308 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/cef_download_item_gen.go +255 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/cef_drag_data_gen.go +316 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/cef_drag_handler_gen.go +144 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/cef_file_util_gen.go +74 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/cef_find_handler_gen.go +116 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/cef_focus_handler_gen.go +162 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/cef_frame_gen.go +284 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/cef_frame_handler_gen.go +214 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/cef_i18n_util_gen.go +13 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/cef_image_gen.go +228 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/cef_jsdialog_handler_gen.go +262 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/cef_keyboard_handler_gen.go +142 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/cef_life_span_handler_gen.go +261 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/cef_load_handler_gen.go +198 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/cef_media_router_gen.go +788 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/cef_menu_model_delegate_gen.go +262 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/cef_menu_model_gen.go +594 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/cef_navigation_entry_gen.go +150 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/cef_origin_whitelist_gen.go +39 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/cef_parser_gen.go +114 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/cef_path_util_gen.go +15 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/cef_permission_handler_gen.go +303 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/cef_preference_gen.go +276 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/cef_print_handler_gen.go +364 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/cef_print_settings_gen.go +270 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/cef_process_message_gen.go +122 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/cef_process_util_gen.go +13 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/cef_registration_gen.go +60 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/cef_render_handler_gen.go +562 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/cef_render_process_handler_gen.go +325 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/cef_request_context_gen.go +502 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/cef_request_context_handler_gen.go +150 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/cef_request_gen.go +537 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/cef_request_handler_gen.go +490 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/cef_resource_bundle_gen.go +93 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/cef_resource_bundle_handler_gen.go +168 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/cef_resource_handler_gen.go +392 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/cef_resource_request_handler_gen.go +469 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/cef_response_filter_gen.go +141 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/cef_response_gen.go +224 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/cef_scheme_gen.go +175 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/cef_server_gen.go +470 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/cef_shared_memory_region_gen.go +87 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/cef_shared_process_message_builder_gen.go +104 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/cef_ssl_info_gen.go +84 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/cef_ssl_status_gen.go +105 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/cef_stream_gen.go +669 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/cef_string_visitor_gen.go +113 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/cef_task_gen.go +237 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/cef_task_manager_gen.go +137 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/cef_thread_gen.go +103 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/cef_trace_gen.go +135 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/cef_types_color_gen.go +14 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/cef_types_content_settings_gen.go +162 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/cef_types_gen.go +1624 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/cef_types_geometry_gen.go +19 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/cef_types_linux_gen.go +41 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/cef_types_osr_gen.go +19 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/cef_types_runtime_gen.go +14 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/cef_unresponsive_process_callback_gen.go +76 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/cef_urlrequest_gen.go +350 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/cef_v8_gen.go +1678 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/cef_values_gen.go +1084 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/cef_waitable_event_gen.go +113 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/cef_x509_certificate_gen.go +300 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/cef_xml_reader_gen.go +341 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/cef_zip_reader_gen.go +188 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/doc.go +26 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/init.go +191 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/mocks/.gitkeep +0 -0

no textual change.

A vendor/github.com/bnema/purego-cef/cef/mocks/mock_app.go +261 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/mocks/mock_browser.go +929 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/mocks/mock_browser_process_handler.go +345 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/mocks/mock_client.go +934 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/mocks/mock_context_menu_handler.go +487 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/mocks/mock_dialog_handler.go +130 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/mocks/mock_display_handler.go +743 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/mocks/mock_focus_handler.go +180 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/mocks/mock_frame.go +1093 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/mocks/mock_keyboard_handler.go +169 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/mocks/mock_life_span_handler.go +407 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/mocks/mock_load_handler.go +263 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/mocks/mock_process_message.go +307 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/mocks/mock_raw_client.go +934 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/mocks/mock_raw_life_span_handler.go +409 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/mocks/mock_render_handler.go +959 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/mocks/mock_render_process_handler.go +491 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/mocks/mock_request.go +1010 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/mocks/mock_request_context.go +1167 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/mocks/mock_request_handler.go +760 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/mocks/mock_response.go +768 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/opaque_types.go +12 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/string_list.go +46 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/test_cef_api_version_test__gen.go +2176 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/test_cef_test_helpers_gen.go +31 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/test_cef_test_server_gen.go +269 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/test_cef_translator_test__gen.go +1492 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/views_cef_box_layout_gen.go +76 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/views_cef_browser_view_delegate_gen.go +348 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/views_cef_browser_view_gen.go +109 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/views_cef_button_delegate_gen.go +135 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/views_cef_button_gen.go +114 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/views_cef_display_gen.go +182 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/views_cef_fill_layout_gen.go +60 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/views_cef_label_button_gen.go +163 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/views_cef_layout_gen.go +87 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/views_cef_menu_button_delegate_gen.go +160 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/views_cef_menu_button_gen.go +84 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/views_cef_overlay_controller_gen.go +224 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/views_cef_panel_delegate_gen.go +87 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/views_cef_panel_gen.go +168 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/views_cef_scroll_view_gen.go +128 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/views_cef_textfield_delegate_gen.go +137 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/views_cef_textfield_gen.go +338 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/views_cef_view_delegate_gen.go +362 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/views_cef_view_gen.go +515 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/views_cef_window_delegate_gen.go +682 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/views_cef_window_gen.go +423 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/cef/window_info_helpers.go +25 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/bridge.go +151 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/cef_accessibility_handler_gen.go +43 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/cef_app_gen.go +99 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/cef_audio_handler_gen.go +72 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/cef_auth_callback_gen.go +39 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/cef_base_gen.go +77 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/cef_browser_gen.go +1091 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/cef_browser_process_handler_gen.go +106 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/cef_callback_gen.go +55 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/cef_client_gen.go +226 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/cef_command_handler_gen.go +80 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/cef_command_line_gen.go +255 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/cef_context_menu_handler_gen.go +381 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/cef_cookie_gen.go +124 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/cef_crash_util_gen.go +16 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/cef_devtools_message_observer_gen.go +78 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/cef_dialog_handler_gen.go +55 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/cef_display_handler_gen.go +168 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/cef_dom_gen.go +478 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/cef_download_handler_gen.go +104 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/cef_download_item_gen.go +237 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/cef_drag_data_gen.go +318 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/cef_drag_handler_gen.go +41 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/cef_file_util_gen.go +34 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/cef_find_handler_gen.go +28 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/cef_focus_handler_gen.go +50 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/cef_frame_gen.go +303 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/cef_frame_handler_gen.go +72 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/cef_i18n_util_gen.go +9 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/cef_image_gen.go +164 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/cef_jsdialog_handler_gen.go +77 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/cef_keyboard_handler_gen.go +39 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/cef_life_span_handler_gen.go +83 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/cef_load_handler_gen.go +61 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/cef_media_router_gen.go +341 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/cef_menu_model_delegate_gen.go +96 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/cef_menu_model_gen.go +637 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/cef_navigation_entry_gen.go +127 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/cef_origin_whitelist_gen.go +19 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/cef_parser_gen.go +52 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/cef_path_util_gen.go +13 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/cef_permission_handler_gen.go +99 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/cef_preference_gen.go +127 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/cef_print_handler_gen.go +126 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/cef_print_settings_gen.go +265 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/cef_process_message_gen.go +87 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/cef_process_util_gen.go +13 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/cef_registration_gen.go +14 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/cef_render_handler_gen.go +212 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/cef_render_process_handler_gen.go +124 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/cef_request_context_gen.go +326 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/cef_request_context_handler_gen.go +43 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/cef_request_gen.go +444 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/cef_request_handler_gen.go +166 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/cef_resource_bundle_gen.go +56 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/cef_resource_bundle_handler_gen.go +52 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/cef_resource_handler_gen.go +126 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/cef_resource_request_handler_gen.go +148 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/cef_response_filter_gen.go +39 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/cef_response_gen.go +208 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/cef_scheme_gen.go +51 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/cef_server_gen.go +257 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/cef_shared_memory_region_gen.go +50 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/cef_shared_process_message_builder_gen.go +65 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/cef_ssl_info_gen.go +43 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/cef_ssl_status_gen.go +72 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/cef_stream_gen.go +268 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/cef_string_visitor_gen.go +28 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/cef_task_gen.go +104 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/cef_task_manager_gen.go +76 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/cef_thread_gen.go +65 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/cef_trace_gen.go +40 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/cef_types_color_gen.go +7 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/cef_types_content_settings_gen.go +9 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/cef_types_gen.go +482 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/cef_types_geometry_gen.go +37 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/cef_types_linux_gen.go +51 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/cef_types_osr_gen.go +26 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/cef_types_runtime_gen.go +7 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/cef_unresponsive_process_callback_gen.go +39 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/cef_urlrequest_gen.go +158 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/cef_v8_gen.go +1093 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/cef_values_gen.go +1002 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/cef_waitable_event_gen.go +76 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/cef_x509_certificate_gen.go +217 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/cef_xml_reader_gen.go +340 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/cef_zip_reader_gen.go +153 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/doc.go +25 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/register.go +15 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/register_gen.go +117 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/register_platform_darwin_gen.go +7 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/register_platform_default_gen.go +6 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/register_platform_linux_gen.go +8 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/register_platform_windows_gen.go +7 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/test_cef_api_version_test__gen.go +1231 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/test_cef_test_helpers_gen.go +19 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/test_cef_test_server_gen.go +114 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/test_cef_translator_test__gen.go +967 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/views_cef_box_layout_gen.go +39 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/views_cef_browser_view_delegate_gen.go +141 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/views_cef_browser_view_gen.go +68 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/views_cef_button_delegate_gen.go +39 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/views_cef_button_gen.go +83 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/views_cef_display_gen.go +122 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/views_cef_fill_layout_gen.go +14 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/views_cef_label_button_gen.go +142 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/views_cef_layout_gen.go +50 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/views_cef_menu_button_delegate_gen.go +33 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/views_cef_menu_button_gen.go +43 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/views_cef_overlay_controller_gen.go +226 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/views_cef_panel_delegate_gen.go +14 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/views_cef_panel_gen.go +153 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/views_cef_scroll_view_gen.go +102 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/views_cef_textfield_delegate_gen.go +39 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/views_cef_textfield_gen.go +366 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/views_cef_view_delegate_gen.go +138 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/views_cef_view_gen.go +589 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/views_cef_window_delegate_gen.go +278 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/capi/views_cef_window_gen.go +485 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/core/engine.go +29 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/core/helpers.go +20 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/core/init.go +158 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/core/marshal.go +146 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/core/refcount.go +185 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/loader/loader.go +115 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/cef_accessibility_handler_gen.go +9 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/cef_app_gen.go +12 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/cef_audio_handler_gen.go +16 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/cef_auth_callback_gen.go +9 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/cef_base_gen.go +13 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/cef_browser_gen.go +124 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/cef_browser_process_handler_gen.go +14 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/cef_callback_gen.go +14 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/cef_client_gen.go +26 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/cef_command_handler_gen.go +12 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/cef_command_line_gen.go +32 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/cef_context_menu_handler_gen.go +50 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/cef_cookie_gen.go +27 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/cef_devtools_message_observer_gen.go +16 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/cef_dialog_handler_gen.go +14 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/cef_display_handler_gen.go +20 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/cef_dom_gen.go +56 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/cef_download_handler_gen.go +22 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/cef_download_item_gen.go +27 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/cef_drag_data_gen.go +34 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/cef_drag_handler_gen.go +9 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/cef_find_handler_gen.go +8 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/cef_focus_handler_gen.go +10 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/cef_frame_gen.go +33 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/cef_frame_handler_gen.go +12 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/cef_image_gen.go +24 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/cef_jsdialog_handler_gen.go +16 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/cef_keyboard_handler_gen.go +9 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/cef_life_span_handler_gen.go +17 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/cef_load_handler_gen.go +11 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/cef_media_router_gen.go +61 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/cef_menu_model_delegate_gen.go +14 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/cef_menu_model_gen.go +63 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/cef_navigation_entry_gen.go +17 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/cef_permission_handler_gen.go +21 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/cef_preference_gen.go +23 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/cef_print_handler_gen.go +24 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/cef_print_settings_gen.go +29 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/cef_process_message_gen.go +13 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/cef_registration_gen.go +7 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/cef_render_handler_gen.go +24 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/cef_render_process_handler_gen.go +16 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/cef_request_context_gen.go +40 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/cef_request_context_handler_gen.go +9 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/cef_request_gen.go +56 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/cef_request_handler_gen.go +23 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/cef_resource_bundle_gen.go +10 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/cef_resource_bundle_handler_gen.go +14 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/cef_resource_handler_gen.go +28 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/cef_resource_request_handler_gen.go +21 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/cef_response_filter_gen.go +13 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/cef_response_gen.go +24 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/cef_scheme_gen.go +13 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/cef_server_gen.go +36 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/cef_shared_memory_region_gen.go +14 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/cef_shared_process_message_builder_gen.go +15 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/cef_ssl_info_gen.go +9 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/cef_ssl_status_gen.go +12 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/cef_stream_gen.go +43 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/cef_string_visitor_gen.go +8 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/cef_task_gen.go +17 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/cef_task_manager_gen.go +12 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/cef_thread_gen.go +11 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/cef_trace_gen.go +8 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/cef_types_color_gen.go +5 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/cef_types_content_settings_gen.go +7 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/cef_types_gen.go +256 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/cef_types_geometry_gen.go +19 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/cef_types_linux_gen.go +19 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/cef_types_osr_gen.go +10 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/cef_types_runtime_gen.go +5 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/cef_unresponsive_process_callback_gen.go +9 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/cef_urlrequest_gen.go +27 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/cef_v8_gen.go +131 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/cef_values_gen.go +110 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/cef_waitable_event_gen.go +12 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/cef_x509_certificate_gen.go +28 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/cef_xml_reader_gen.go +36 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/cef_zip_reader_gen.go +23 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/opaque_types.go +13 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/test_cef_api_version_test__gen.go +160 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/test_cef_test_server_gen.go +26 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/test_cef_translator_test__gen.go +123 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/views_cef_box_layout_gen.go +9 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/views_cef_browser_view_delegate_gen.go +17 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/views_cef_browser_view_gen.go +11 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/views_cef_button_delegate_gen.go +9 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/views_cef_button_gen.go +13 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/views_cef_display_gen.go +14 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/views_cef_fill_layout_gen.go +7 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/views_cef_label_button_gen.go +18 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/views_cef_layout_gen.go +10 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/views_cef_menu_button_delegate_gen.go +12 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/views_cef_menu_button_gen.go +9 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/views_cef_overlay_controller_gen.go +26 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/views_cef_panel_delegate_gen.go +7 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/views_cef_panel_gen.go +19 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/views_cef_scroll_view_gen.go +14 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/views_cef_textfield_delegate_gen.go +9 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/views_cef_textfield_gen.go +38 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/views_cef_view_delegate_gen.go +18 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/views_cef_view_gen.go +59 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/views_cef_window_delegate_gen.go +30 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/in/views_cef_window_gen.go +49 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/out/capi.go +25 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/out/cef_app_gen.go +20 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/out/cef_auth_callback_gen.go +14 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/out/cef_browser_gen.go +112 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/out/cef_callback_gen.go +14 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/out/cef_command_line_gen.go +39 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/out/cef_context_menu_handler_gen.go +44 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/out/cef_cookie_gen.go +22 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/out/cef_crash_util_gen.go +14 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/out/cef_dialog_handler_gen.go +14 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/out/cef_dom_gen.go +56 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/out/cef_download_handler_gen.go +20 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/out/cef_download_item_gen.go +32 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/out/cef_drag_data_gen.go +44 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/out/cef_file_util_gen.go +20 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/out/cef_frame_gen.go +38 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/out/cef_i18n_util_gen.go +13 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/out/cef_image_gen.go +30 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/out/cef_jsdialog_handler_gen.go +13 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/out/cef_media_router_gen.go +49 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/out/cef_menu_model_gen.go +73 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/out/cef_navigation_entry_gen.go +22 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/out/cef_origin_whitelist_gen.go +15 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/out/cef_parser_gen.go +26 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/out/cef_path_util_gen.go +13 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/out/cef_permission_handler_gen.go +19 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/out/cef_preference_gen.go +30 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/out/cef_print_handler_gen.go +19 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/out/cef_print_settings_gen.go +39 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/out/cef_process_message_gen.go +23 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/out/cef_process_util_gen.go +13 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/out/cef_registration_gen.go +12 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/out/cef_request_context_gen.go +42 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/out/cef_request_gen.go +64 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/out/cef_request_handler_gen.go +13 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/out/cef_resource_bundle_gen.go +20 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/out/cef_resource_handler_gen.go +18 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/out/cef_response_gen.go +34 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/out/cef_scheme_gen.go +19 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/out/cef_server_gen.go +30 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/out/cef_shared_memory_region_gen.go +15 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/out/cef_shared_process_message_builder_gen.go +21 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/out/cef_ssl_info_gen.go +19 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/out/cef_ssl_status_gen.go +17 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/out/cef_stream_gen.go +35 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/out/cef_task_gen.go +26 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/out/cef_task_manager_gen.go +22 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/out/cef_thread_gen.go +21 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/out/cef_trace_gen.go +15 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/out/cef_types_linux_gen.go +13 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/out/cef_unresponsive_process_callback_gen.go +14 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/out/cef_urlrequest_gen.go +24 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/out/cef_v8_gen.go +131 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/out/cef_values_gen.go +119 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/out/cef_waitable_event_gen.go +22 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/out/cef_x509_certificate_gen.go +33 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/out/cef_xml_reader_gen.go +46 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/out/cef_zip_reader_gen.go +29 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/out/test_cef_api_version_test__gen.go +146 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/out/test_cef_test_helpers_gen.go +15 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/out/test_cef_test_server_gen.go +27 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/out/test_cef_translator_test__gen.go +119 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/out/views_cef_box_layout_gen.go +14 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/out/views_cef_browser_view_gen.go +22 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/out/views_cef_button_gen.go +18 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/out/views_cef_display_gen.go +32 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/out/views_cef_fill_layout_gen.go +12 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/out/views_cef_label_button_gen.go +28 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/out/views_cef_layout_gen.go +15 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/out/views_cef_menu_button_delegate_gen.go +12 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/out/views_cef_menu_button_gen.go +19 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/out/views_cef_overlay_controller_gen.go +31 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/out/views_cef_panel_gen.go +29 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/out/views_cef_scroll_view_gen.go +24 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/out/views_cef_textfield_gen.go +48 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/out/views_cef_view_gen.go +64 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef/internal/ports/out/views_cef_window_gen.go +59 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef2gtk/.gitignore +14 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef2gtk/LICENSE +21 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef2gtk/Makefile +29 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef2gtk/README.md +124 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef2gtk/browser_settings.go +20 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef2gtk/command_line.go +23 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef2gtk/diagnostics.go +137 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef2gtk/doc.go +13 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef2gtk/handlers.go +197 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef2gtk/input.go +277 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef2gtk/internal/cefadapter/accelerated_paint.go +85 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef2gtk/internal/cefadapter/command_line.go +108 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef2gtk/internal/cefadapter/window_info.go +12 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef2gtk/internal/cutil/cstring.go +18 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef2gtk/internal/dmabuf/format.go +48 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef2gtk/internal/dmabuf/frame.go +125 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef2gtk/internal/dmabuf/modifier.go +19 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef2gtk/internal/egl/attrs.go +82 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef2gtk/internal/egl/display.go +70 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef2gtk/internal/egl/extensions.go +47 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef2gtk/internal/egl/importer.go +165 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef2gtk/internal/egl/loader.go +104 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef2gtk/internal/egl/types.go +18 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef2gtk/internal/gl/copy.go +513 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef2gtk/internal/gl/loader.go +262 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef2gtk/internal/gl/timer_query.go +96 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef2gtk/internal/gtkgdk/renderer.go +922 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef2gtk/internal/gtkgl/accelerated_renderer.go +470 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef2gtk/internal/gtkgl/context.go +172 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef2gtk/internal/gtkgl/gl.go +95 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef2gtk/internal/gtkgl/glib.go +14 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef2gtk/internal/gtkgl/input_bridge.go +1037 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef2gtk/internal/gtkgl/main_thread.go +39 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef2gtk/internal/gtkgl/render_signal.go +17 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef2gtk/internal/profile/recorder.go +352 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef2gtk/options.go +158 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef2gtk/osr_backing_scale.go +135 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef2gtk/profile.go +50 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef2gtk/refresh_rate.go +56 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef2gtk/render_stack.go +68 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef2gtk/size_observation.go +88 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef2gtk/view.go +966 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-cef2gtk/window_info.go +19 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-pipewire/internal/capi/.gitkeep +0 -0

no textual change.

A vendor/github.com/bnema/purego-pipewire/internal/capi/adapters_gen.go +93 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-pipewire/internal/capi/init_gen.go +30 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-pipewire/internal/capi/loop_gen.go +53 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-pipewire/internal/capi/loop_lock.go +40 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-pipewire/internal/capi/register.go +41 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-pipewire/internal/capi/register_all.go +13 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-pipewire/internal/capi/stream_ops.go +272 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-pipewire/internal/capi/stream_params.go +172 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-pipewire/internal/capi/stream_playback_gen.go +79 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-pipewire/internal/core/context.go +31 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-pipewire/internal/core/core.go +29 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-pipewire/internal/core/loop.go +35 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-pipewire/internal/core/player.go +435 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-pipewire/internal/core/player_rt.go +203 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-pipewire/internal/core/player_state.go +15 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-pipewire/internal/core/pwbuffer.go +139 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-pipewire/internal/core/registry.go +30 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-pipewire/internal/core/runtime.go +82 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-pipewire/internal/core/stream.go +38 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-pipewire/internal/loader/loader.go +43 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-pipewire/internal/ports/out/.gitkeep +0 -0

no textual change.

A vendor/github.com/bnema/purego-pipewire/internal/ports/out/capi.go +5 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-pipewire/internal/ports/out/capi_gen.go +10 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-pipewire/internal/ports/out/init_gen.go +9 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-pipewire/internal/ports/out/loop_gen.go +14 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-pipewire/internal/ports/out/stream_ops.go +56 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-pipewire/internal/ports/out/stream_playback_gen.go +17 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-pipewire/pipewire/context.go +8 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-pipewire/pipewire/core.go +13 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-pipewire/pipewire/interfaces.go +14 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-pipewire/pipewire/player.go +218 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-pipewire/pipewire/registry.go +12 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-pipewire/pipewire/runtime.go +60 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-pipewire/pipewire/stream.go +13 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-sqlite/LICENSE +21 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-sqlite/driver/driver.go +185 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-sqlite/driver/register.go +10 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-sqlite/internal/capi/bridge.go +1461 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-sqlite/internal/capi/enums_gen.go +863 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-sqlite/internal/capi/functions_gen.go +358 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-sqlite/internal/capi/register_gen.go +377 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-sqlite/internal/capi/variadic_gen.go +141 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-sqlite/internal/core/db.go +122 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-sqlite/internal/core/errors.go +51 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-sqlite/internal/core/rows.go +181 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-sqlite/internal/core/stmt.go +128 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-sqlite/internal/loader/loader.go +22 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-sqlite/internal/ports/in/ports_gen.go +33 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-sqlite/internal/ports/out/auth_gen.go +11 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-sqlite/internal/ports/out/backup_gen.go +15 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-sqlite/internal/ports/out/bind_gen.go +27 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-sqlite/internal/ports/out/blob_gen.go +16 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-sqlite/internal/ports/out/capi_gen.go +29 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-sqlite/internal/ports/out/column_gen.go +32 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-sqlite/internal/ports/out/config_gen.go +14 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-sqlite/internal/ports/out/context_gen.go +12 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-sqlite/internal/ports/out/exec_gen.go +13 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-sqlite/internal/ports/out/func_gen.go +17 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-sqlite/internal/ports/out/hook_gen.go +20 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-sqlite/internal/ports/out/lifecycle_gen.go +19 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-sqlite/internal/ports/out/memory_gen.go +25 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-sqlite/internal/ports/out/metadata_gen.go +22 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-sqlite/internal/ports/out/misc_gen.go +151 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-sqlite/internal/ports/out/prepare_gen.go +31 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-sqlite/internal/ports/out/result_gen.go +31 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-sqlite/internal/ports/out/serialize_gen.go +12 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-sqlite/internal/ports/out/str_gen.go +22 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-sqlite/internal/ports/out/trace_gen.go +13 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-sqlite/internal/ports/out/value_gen.go +29 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-sqlite/internal/ports/out/vfs_gen.go +13 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-sqlite/internal/ports/out/vtab_gen.go +20 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-sqlite/internal/ports/out/wal_gen.go +14 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego-sqlite/sqlite/sqlite_gen.go +49 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/.gitignore +1 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/LICENSE +201 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/README.md +147 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/abi_amd64.h +99 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/abi_arm64.h +39 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/abi_loong64.h +60 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/cgo.go +19 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/dlerror.go +17 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/dlfcn.go +99 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/dlfcn_android.go +34 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/dlfcn_darwin.go +20 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/dlfcn_freebsd.go +14 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/dlfcn_linux.go +16 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/dlfcn_netbsd.go +15 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/dlfcn_nocgo_freebsd.go +11 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/dlfcn_nocgo_linux.go +19 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/dlfcn_nocgo_netbsd.go +11 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/dlfcn_playground.go +24 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/dlfcn_stubs.s +22 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/func.go +677 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/gen.go +6 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/go_runtime.go +13 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/hostlayout_go123.go +12 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/hostlayout_nogo123.go +11 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/internal/cgo/dlfcn_cgo_unix.go +56 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/internal/cgo/empty.go +6 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/internal/cgo/syscall_cgo_unix.go +55 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/internal/fakecgo/abi_amd64.h +99 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/internal/fakecgo/abi_arm64.h +39 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/internal/fakecgo/abi_loong64.h +60 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/internal/fakecgo/abi_ppc64x.h +195 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/internal/fakecgo/abi_riscv64.h +72 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/internal/fakecgo/asm_386.s +29 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/internal/fakecgo/asm_amd64.s +39 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/internal/fakecgo/asm_arm.s +52 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/internal/fakecgo/asm_arm64.s +36 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/internal/fakecgo/asm_loong64.s +40 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/internal/fakecgo/asm_ppc64le.s +82 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/internal/fakecgo/asm_riscv64.s +37 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/internal/fakecgo/asm_s390x.s +55 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/internal/fakecgo/callbacks.go +93 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/internal/fakecgo/doc.go +32 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/internal/fakecgo/fakecgo.go +14 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/internal/fakecgo/freebsd.go +27 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/internal/fakecgo/go_darwin.go +88 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/internal/fakecgo/go_freebsd.go +79 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/internal/fakecgo/go_libinit.go +72 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/internal/fakecgo/go_linux.go +79 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/internal/fakecgo/go_netbsd.go +85 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/internal/fakecgo/go_setenv.go +18 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/internal/fakecgo/go_util.go +38 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/internal/fakecgo/iscgo.go +19 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/internal/fakecgo/libcgo.go +39 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/internal/fakecgo/libcgo_darwin.go +26 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/internal/fakecgo/libcgo_freebsd.go +20 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/internal/fakecgo/libcgo_linux.go +20 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/internal/fakecgo/libcgo_netbsd.go +26 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/internal/fakecgo/linux.go +184 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/internal/fakecgo/netbsd.go +23 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/internal/fakecgo/setenv.go +19 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/internal/fakecgo/trampolines_386.s +121 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/internal/fakecgo/trampolines_amd64.s +107 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/internal/fakecgo/trampolines_arm.s +122 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/internal/fakecgo/trampolines_arm64.s +81 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/internal/fakecgo/trampolines_linux_386.s +78 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/internal/fakecgo/trampolines_linux_amd64.s +69 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/internal/fakecgo/trampolines_linux_arm.s +69 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/internal/fakecgo/trampolines_linux_arm64.s +60 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/internal/fakecgo/trampolines_linux_loong64.s +60 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/internal/fakecgo/trampolines_linux_ppc64le.s +69 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/internal/fakecgo/trampolines_linux_riscv64.s +60 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/internal/fakecgo/trampolines_loong64.s +78 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/internal/fakecgo/trampolines_ppc64le.s +128 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/internal/fakecgo/trampolines_riscv64.s +76 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/internal/fakecgo/zsymbols.go +165 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/internal/fakecgo/zsymbols_darwin.go +59 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/internal/fakecgo/zsymbols_freebsd.go +48 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/internal/fakecgo/zsymbols_linux.go +158 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/internal/fakecgo/zsymbols_netbsd.go +59 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/internal/fakecgo/ztrampolines_darwin.s +19 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/internal/fakecgo/ztrampolines_freebsd.s +16 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/internal/fakecgo/ztrampolines_linux.s +46 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/internal/fakecgo/ztrampolines_netbsd.s +19 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/internal/fakecgo/ztrampolines_stubs.s +55 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/internal/strings/strings.go +40 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/internal/xreflect/reflect_go124.go +15 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/internal/xreflect/reflect_go125.go +12 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/is_ios.go +13 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/nocgo.go +25 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/struct_386.go +52 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/struct_abi_helpers.go +38 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/struct_amd64.go +443 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/struct_arm.go +98 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/struct_arm64.go +759 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/struct_loong64.go +216 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/struct_ppc64le.go +151 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/struct_riscv64.go +151 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/struct_s390x.go +151 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/sys_386.s +147 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/sys_amd64.s +170 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/sys_arm.s +142 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/sys_arm64.s +98 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/sys_loong64.s +96 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/sys_ppc64le.s +120 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/sys_riscv64.s +101 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/sys_s390x.s +114 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/sys_unix_386.s +226 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/sys_unix_arm.s +89 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/sys_unix_arm64.s +75 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/sys_unix_loong64.s +79 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/sys_unix_ppc64le.s +114 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/sys_unix_riscv64.s +79 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/sys_unix_s390x.s +109 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/syscall.go +108 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/syscall_32bit.go +115 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/syscall_cgo_linux.go +21 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/syscall_notstackargs.go +38 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/syscall_stackargs.go +43 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/syscall_unix.go +693 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/syscall_windows.go +112 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/zcallback_386.s +4014 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/zcallback_amd64.s +2014 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/zcallback_arm.s +4014 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/zcallback_arm64.s +4014 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/zcallback_loong64.s +4014 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/zcallback_ppc64le.s +4014 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/zcallback_riscv64.s +4051 -0 collapsed to keep the page light
A vendor/github.com/bnema/purego/zcallback_s390x.s +4015 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/LICENSE +21 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/internal/core/core.go +322 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/pkg/core/core.go +20 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/adw/adw-about-dialog.go +2021 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/adw/adw-about-window.go +2050 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/adw/adw-accent-color.go +88 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/adw/adw-action-row.go +808 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/adw/adw-alert-dialog.go +1195 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/adw/adw-animation-target.go +330 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/adw/adw-animation-util.go +43 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/adw/adw-animation.go +390 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/adw/adw-application-window.go +977 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/adw/adw-application.go +505 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/adw/adw-avatar.go +596 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/adw/adw-banner.go +707 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/adw/adw-bin.go +393 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/adw/adw-bottom-sheet.go +1010 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/adw/adw-breakpoint-bin.go +532 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/adw/adw-breakpoint.go +566 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/adw/adw-button-content.go +572 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/adw/adw-button-row.go +580 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/adw/adw-carousel-indicator-dots.go +410 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/adw/adw-carousel-indicator-lines.go +409 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/adw/adw-carousel.go +861 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/adw/adw-clamp-layout.go +264 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/adw/adw-clamp-scrollable.go +610 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/adw/adw-clamp.go +553 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/adw/adw-combo-row.go +815 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/adw/adw-dialog.go +947 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/adw/adw-easing.go +154 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/adw/adw-entry-row.go +1070 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/adw/adw-enum-list-model.go +309 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/adw/adw-expander-row.go +784 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/adw/adw-flap.go +1036 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/adw/adw-fold-threshold-policy.go +21 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/adw/adw-header-bar.go +812 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/adw/adw-inline-view-switcher.go +572 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/adw/adw-layout-slot.go +389 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/adw/adw-layout.go +157 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/adw/adw-leaflet.go +1283 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/adw/adw-length-unit.go +70 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/adw/adw-main.go +49 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/adw/adw-message-dialog.go +1199 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/adw/adw-multi-layout-view.go +565 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/adw/adw-navigation-direction.go +21 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/adw/adw-navigation-split-view.go +855 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/adw/adw-navigation-view.go +1895 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/adw/adw-overlay-split-view.go +989 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/adw/adw-password-entry-row.go +701 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/adw/adw-preferences-dialog.go +522 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/adw/adw-preferences-group.go +588 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/adw/adw-preferences-page.go +667 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/adw/adw-preferences-row.go +607 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/adw/adw-preferences-window.go +713 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/adw/adw-shortcut-label.go +488 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/adw/adw-shortcuts-dialog.go +452 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/adw/adw-shortcuts-item.go +287 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/adw/adw-shortcuts-section.go +255 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/adw/adw-sidebar-item.go +553 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/adw/adw-sidebar-section.go +389 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/adw/adw-sidebar.go +1142 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/adw/adw-spin-row.go +1112 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/adw/adw-spinner-paintable.go +300 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/adw/adw-spinner.go +392 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/adw/adw-split-button.go +884 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/adw/adw-spring-animation.go +473 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/adw/adw-spring-params.go +179 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/adw/adw-squeezer.go +966 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/adw/adw-status-page.go +563 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/adw/adw-style-manager.go +423 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/adw/adw-swipe-tracker.go +516 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/adw/adw-swipeable.go +275 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/adw/adw-switch-row.go +501 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/adw/adw-tab-bar.go +799 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/adw/adw-tab-button.go +540 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/adw/adw-tab-overview.go +962 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/adw/adw-tab-view.go +2291 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/adw/adw-timed-animation.go +385 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/adw/adw-toast-overlay.go +452 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/adw/adw-toast.go +712 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/adw/adw-toggle-group.go +1183 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/adw/adw-toolbar-view.go +933 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/adw/adw-version.go +81 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/adw/adw-view-stack.go +1874 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/adw/adw-view-switcher-bar.go +479 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/adw/adw-view-switcher-sidebar.go +554 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/adw/adw-view-switcher-title.go +603 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/adw/adw-view-switcher.go +490 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/adw/adw-window-title.go +451 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/adw/adw-window.go +693 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/adw/adw-wrap-box.go +925 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/adw/adw-wrap-layout.go +676 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/cairo/main.go +990 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gdk/gdkapplaunchcontext.go +160 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gdk/gdkcairo.go +101 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gdk/gdkcairocontext.go +78 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gdk/gdkcicpparams.go +334 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gdk/gdkclipboard.go +412 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gdk/gdkcolorstate.go +131 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gdk/gdkcontentdeserializer.go +279 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gdk/gdkcontentformats.go +248 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gdk/gdkcontentprovider.go +522 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gdk/gdkcontentserializer.go +280 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gdk/gdkcursor.go +340 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gdk/gdkdevice.go +616 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gdk/gdkdevicepad.go +151 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gdk/gdkdevicetool.go +168 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gdk/gdkdisplay.go +733 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gdk/gdkdisplaymanager.go +254 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gdk/gdkdmabuftexture.go +309 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gdk/gdkdmabuftexturebuilder.go +613 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gdk/gdkdmabuftexturebuilder_extra.go +41 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gdk/gdkdrag.go +374 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gdk/gdkdragsurface.go +81 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gdk/gdkdragsurfacesize.go +58 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gdk/gdkdrawcontext.go +178 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gdk/gdkdrop.go +297 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gdk/gdkenums.go +876 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gdk/gdkevents.go +1447 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gdk/gdkframeclock.go +476 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gdk/gdkframetimings.go +165 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gdk/gdkglcontext.go +420 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gdk/gdkgltexture.go +329 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gdk/gdkgltexturebuilder.go +502 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gdk/gdkkeys.go +116 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gdk/gdkkeysyms.go +4904 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gdk/gdkmemorytexture.go +315 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gdk/gdkmemorytexturebuilder.go +453 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gdk/gdkmonitor.go +382 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gdk/gdkpaintable.go +545 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gdk/gdkpango.go +72 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gdk/gdkpixbuf.go +67 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gdk/gdkpopup.go +193 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gdk/gdkpopuplayout.go +307 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gdk/gdkrgba.go +192 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gdk/gdkseat.go +272 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gdk/gdksnapshot.go +56 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gdk/gdksurface.go +704 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gdk/gdktexture.go +720 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gdk/gdktoplevel.go +660 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gdk/gdktoplevellayout.go +197 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gdk/gdktoplevelsize.go +108 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gdk/gdktypes.go +830 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gdk/gdkvulkancontext.go +96 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gdkpixbuf/gdk-pixbuf-animation.go +752 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gdkpixbuf/gdk-pixbuf-core.go +107 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gdkpixbuf/gdk-pixbuf-features.go +19 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gdkpixbuf/gdk-pixbuf-io.go +547 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gdkpixbuf/gdk-pixbuf-loader.go +561 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gdkpixbuf/gdk-pixbuf-simple-anim.go +134 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gdkpixbuf/gdk-pixbuf-transform.go +73 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gdkpixbuf/gdk-pixbuf.go +1760 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gdkpixbuf/main.go +106 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gaction.go +635 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gactiongroup.go +795 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gactionmap.go +422 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gappinfo.go +2114 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gapplication.go +2189 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gapplicationcommandline.go +711 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gasyncinitable.go +336 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gasyncresult.go +318 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gbufferedinputstream.go +559 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gbufferedoutputstream.go +321 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gbytesicon.go +197 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gcancellable.go +618 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gcharsetconverter.go +336 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gcontenttype.go +239 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gconverter.go +263 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gconverterinputstream.go +327 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gconverteroutputstream.go +360 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gcredentials.go +244 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gdatagrambased.go +481 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gdatainputstream.go +678 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gdataoutputstream.go +425 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gdbusactiongroup.go +341 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gdbusaddress.go +159 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gdbusauthobserver.go +209 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gdbusconnection.go +1898 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gdbuserror.go +184 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gdbusinterface.go +284 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gdbusinterfaceskeleton.go +541 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gdbusintrospection.go +581 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gdbusmenumodel.go +81 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gdbusmessage.go +729 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gdbusmethodinvocation.go +387 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gdbusnameowning.go +136 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gdbusnamewatching.go +115 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gdbusobject.go +272 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gdbusobjectmanager.go +383 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gdbusobjectmanagerclient.go +726 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gdbusobjectmanagerserver.go +275 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gdbusobjectproxy.go +181 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gdbusobjectskeleton.go +273 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gdbusproxy.go +1098 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gdbusserver.go +317 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gdbusutils.go +211 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gdebugcontroller.go +138 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gdebugcontrollerdbus.go +371 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gdrive.go +1327 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gdtlsclientconnection.go +176 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gdtlsconnection.go +914 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gdtlsserverconnection.go +96 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gemblem.go +186 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gemblemedicon.go +206 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gfile.go +6341 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gfileattribute.go +145 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gfileenumerator.go +769 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gfileicon.go +202 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gfileinfo.go +1628 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gfileinputstream.go +519 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gfileiostream.go +623 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gfilemonitor.go +394 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gfilenamecompleter.go +251 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gfileoutputstream.go +618 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gfilterinputstream.go +205 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gfilteroutputstream.go +205 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gicon.go +371 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/ginetaddress.go +550 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/ginetaddressmask.go +269 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/ginetsocketaddress.go +289 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/ginitable.go +202 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/ginputstream.go +865 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gioenums.go +2321 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gioerror.go +68 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/giomodule.go +350 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gioscheduler.go +48 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/giostream.go +727 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/giotypes.go +1134 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/giptosmessage.go +122 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gipv6tclassmessage.go +122 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/glistmodel.go +336 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gliststore.go +328 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gloadableicon.go +232 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gmemoryinputstream.go +420 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gmemorymonitor.go +177 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gmemoryoutputstream.go +616 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gmenu.go +760 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gmenuexporter.go +10 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gmenumodel.go +995 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gmount.go +1293 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gmountoperation.go +1009 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gnativesocketaddress.go +155 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gnativevolumemonitor.go +94 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gnetworkaddress.go +346 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gnetworking.go +32 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gnetworkmonitor.go +394 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gnetworkservice.go +279 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gnotification.go +283 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/goutputstream.go +1258 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gpermission.go +443 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gpollableinputstream.go +297 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gpollableoutputstream.go +370 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gpollableutils.go +132 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gpowerprofilemonitor.go +145 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gpropertyaction.go +337 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gproxy.go +307 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gproxyaddress.go +357 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gproxyaddressenumerator.go +294 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gproxyresolver.go +290 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gremoteactiongroup.go +183 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gresolver.go +1045 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gresource.go +254 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gseekable.go +302 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gsettings.go +1830 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gsettingsbackend.go +681 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gsettingsschema.go +587 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gsimpleaction.go +442 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gsimpleactiongroup.go +498 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gsimpleasyncresult.go +612 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gsimpleiostream.go +79 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gsimplepermission.go +75 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gsimpleproxyresolver.go +454 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gsocket.go +1992 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gsocketaddress.go +257 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gsocketaddressenumerator.go +260 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gsocketclient.go +945 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gsocketconnectable.go +296 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gsocketconnection.go +404 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gsocketcontrolmessage.go +447 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gsocketlistener.go +626 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gsocketservice.go +414 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gsrvtarget.go +36 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gsubprocess.go +632 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gsubprocesslauncher.go +409 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gtask.go +1334 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gtcpconnection.go +134 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gtcpwrapperconnection.go +131 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gtestdbus.go +234 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gthemedicon.go +300 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gthreadedresolver.go +56 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gthreadedsocketservice.go +319 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gtlsbackend.go +463 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gtlscertificate.go +768 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gtlsclientconnection.go +293 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gtlsconnection.go +826 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gtlsdatabase.go +883 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gtlsfiledatabase.go +130 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gtlsinteraction.go +522 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gtlspassword.go +330 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gtlsserverconnection.go +101 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gunixconnection.go +276 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gunixcredentialsmessage.go +222 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gunixfdlist.go +378 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gunixsocketaddress.go +349 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gvfs.go +704 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gvolume.go +1055 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gvolumemonitor.go +1190 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gzlibcompressor.go +316 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/gzlibdecompressor.go +225 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gio/main.go +30 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/glib/gallocator.go +184 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/glib/garray.go +794 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/glib/gasyncqueue.go +431 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/glib/gatomic.go +395 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/glib/gbacktrace.go +101 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/glib/gbase64.go +110 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/glib/gbitlock.go +187 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/glib/gbookmarkfile.go +950 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/glib/gcache.go +123 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/glib/gcharset.go +144 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/glib/gchecksum.go +224 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/glib/gcompletion.go +159 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/glib/gconvert.go +460 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/glib/gdataset.go +278 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/glib/gdate.go +812 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/glib/gdatetime.go +1043 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/glib/gdir.go +145 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/glib/genviron.go +151 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/glib/gerror.go +284 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/glib/gfileutils.go +799 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/glib/ggettext.go +150 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/glib/ghash.go +714 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/glib/ghmac.go +208 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/glib/ghook.go +258 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/glib/ghostutils.go +90 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/glib/giochannel.go +1123 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/glib/gkeyfile.go +1164 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/glib/glib-types.go +38 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/glib/glibconfig.go +116 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/glib/glist.go +57 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/glib/gmacros.go +30 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/glib/gmain.go +2504 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/glib/gmappedfile.go +184 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/glib/gmarkup.go +780 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/glib/gmem.go +519 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/glib/gmessages.go +1005 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/glib/gnode.go +424 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/glib/goption.go +652 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/glib/gpathbuf.go +314 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/glib/gpattern.go +209 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/glib/gpoll.go +86 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/glib/gprimes.go +35 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/glib/gprintf.go +121 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/glib/gqsort.go +45 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/glib/gquark.go +159 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/glib/gqueue.go +471 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/glib/grand.go +223 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/glib/grcbox.go +198 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/glib/grefcount.go +138 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/glib/grefstring.go +108 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/glib/gregex.go +1610 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/glib/grel.go +205 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/glib/gscanner.go +473 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/glib/gsequence.go +578 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/glib/gshell.go +123 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/glib/gslice.go +142 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/glib/gslist.go +56 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/glib/gspawn.go +618 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/glib/gstdio.go +375 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/glib/gstrfuncs.go +1120 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/glib/gstring.go +596 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/glib/gstringchunk.go +140 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/glib/gstrvbuilder.go +179 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/glib/gtestutils.go +1439 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/glib/gthread.go +2438 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/glib/gthreadpool.go +277 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/glib/gtimer.go +164 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/glib/gtimezone.go +377 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/glib/gtrashstack.go +94 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/glib/gtree.go +503 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/glib/gtypes.go +258 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/glib/gunicode.go +1656 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/glib/guri.go +1099 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/glib/gutils.go +745 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/glib/guuid.go +48 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/glib/gvariant-parser.go +30 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/glib/gvariant.go +3035 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/glib/gvarianttype.go +712 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/glib/gversion.go +44 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/glib/gversionmacros.go +18 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/glib/main.go +141 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/glib/more.go +366 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/glib/more_other.go +8 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/glib/more_sysv.go +29 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/glib/more_windows.go +6 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gmodule/gmodule.go +172 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gmodule/gmoduleconf.go +12 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gmodule/main.go +30 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gobject/gbinding.go +369 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gobject/gbindinggroup.go +150 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gobject/gboxed.go +65 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gobject/gclosure.go +543 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gobject/genums.go +290 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gobject/glib-types.go +34 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gobject/gmarshal.go +227 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gobject/gobject.go +2233 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gobject/gparam.go +924 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gobject/gparamspecs.go +1324 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gobject/gsignal.go +810 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gobject/gsignalgroup.go +268 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gobject/gsourceclosure.go +51 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gobject/gtype.go +1648 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gobject/gtypemodule.go +383 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gobject/gtypeplugin.go +185 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gobject/gvalue.go +895 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gobject/gvaluearray.go +214 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gobject/gvaluecollector.go +11 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gobject/gvaluetypes.go +52 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gobject/main.go +28 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gobject/more.go +154 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gobject/types/types.go +3 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/graphene/graphene-box.go +391 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/graphene/graphene-config.go +55 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/graphene/graphene-euler.go +399 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/graphene/graphene-frustum.go +163 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/graphene/graphene-macros.go +8 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/graphene/graphene-matrix.go +830 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/graphene/graphene-plane.go +218 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/graphene/graphene-point.go +198 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/graphene/graphene-point3d.go +231 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/graphene/graphene-quad.go +144 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/graphene/graphene-quaternion.go +319 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/graphene/graphene-ray.go +268 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/graphene/graphene-rect.go +464 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/graphene/graphene-size.go +142 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/graphene/graphene-sphere.go +194 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/graphene/graphene-triangle.go +240 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/graphene/graphene-types.go +53 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/graphene/graphene-vec2.go +318 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/graphene/graphene-vec3.go +396 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/graphene/graphene-vec4.go +410 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gsk/gskblendnode.go +117 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gsk/gskblurnode.go +98 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gsk/gskbordernode.go +106 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gsk/gskbroadwayrenderer.go +97 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gsk/gskcaironode.go +105 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gsk/gskcairorenderer.go +98 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gsk/gskclipnode.go +105 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gsk/gskcolormatrixnode.go +124 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gsk/gskcolornode.go +90 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gsk/gskcomponenttransfer.go +30 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gsk/gskcomponenttransfernode.go +106 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gsk/gskcompositenode.go +123 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gsk/gskconicgradientnode.go +130 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gsk/gskcontainernode.go +100 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gsk/gskcopynode.go +91 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gsk/gskcrossfadenode.go +116 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gsk/gskdebugnode.go +102 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gsk/gskenums.go +569 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gsk/gskfillnode.go +116 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gsk/gskglrenderer.go +140 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gsk/gskglshader.go +667 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gsk/gskglshadernode.go +148 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gsk/gskinsetshadownode.go +137 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gsk/gskisolationnode.go +106 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gsk/gsklineargradientnode.go +166 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gsk/gskmasknode.go +120 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gsk/gskopacitynode.go +99 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gsk/gskoutsetshadownode.go +137 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gsk/gskpastenode.go +80 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gsk/gskpath.go +129 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gsk/gskpathpoint.go +191 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gsk/gskradialgradientnode.go +195 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gsk/gskrenderer.go +236 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gsk/gskrendernode.go +341 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gsk/gskrenderreplay.go +33 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gsk/gskrepeatnode.go +105 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gsk/gskroundedclipnode.go +104 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gsk/gskroundedrect.go +191 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gsk/gskshadownode.go +139 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gsk/gskstroke.go +30 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gsk/gskstrokenode.go +125 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gsk/gsksubsurfacenode.go +104 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gsk/gsktextnode.go +151 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gsk/gsktexturenode.go +96 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gsk/gsktexturescalenode.go +111 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gsk/gsktransform.go +36 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gsk/gsktransformnode.go +104 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gsk/gsktypes.go +2087 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gsk/gskvulkanrenderer.go +96 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkaboutdialog.go +1284 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkaccelgroup.go +175 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkaccessible.go +764 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkaccessiblehypertext.go +495 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkaccessiblerange.go +104 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkaccessibletext.go +579 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkactionable.go +344 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkactionbar.go +466 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkadjustment.go +600 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkalertdialog.go +400 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkappchooser.go +134 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkappchooserbutton.go +657 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkappchooserdialog.go +561 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkappchooserwidget.go +681 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkapplication.go +1025 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkapplicationwindow.go +952 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkaspectframe.go +520 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkassistant.go +1041 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkatcontext.go +151 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkbinlayout.go +95 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkbitset.go +140 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkbookmarklist.go +324 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkboolfilter.go +156 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkborder.go +93 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkbox.go +591 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkboxlayout.go +254 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkbuildable.go +717 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkbuilder.go +1021 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkbuilderlistitemfactory.go +216 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkbuilderscope.go +356 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkbutton.go +910 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkcalendar.go +829 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkcellarea.go +1864 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkcellareabox.go +249 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkcellareacontext.go +432 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkcelleditable.go +224 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkcelllayout.go +612 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkcellrenderer.go +1046 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkcellrendereraccel.go +180 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkcellrenderercombo.go +174 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkcellrendererpixbuf.go +109 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkcellrendererprogress.go +221 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkcellrendererspin.go +117 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkcellrendererspinner.go +125 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkcellrenderertext.go +774 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkcellrenderertoggle.go +230 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkcellview.go +696 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkcenterbox.go +565 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkcenterlayout.go +271 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkcheckbutton.go +873 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkcolorbutton.go +573 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkcolorchooser.go +305 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkcolorchooserdialog.go +521 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkcolorchooserwidget.go +426 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkcolordialog.go +247 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkcolordialogbutton.go +491 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkcolorutils.go +43 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkcolumnview.go +927 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkcolumnviewcell.go +219 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkcolumnviewcolumn.go +469 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkcolumnviewrow.go +336 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkcolumnviewsorter.go +180 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkcombobox.go +1327 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkcomboboxtext.go +652 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkconstraint.go +366 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkconstraintguide.go +318 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkconstraintlayout.go +559 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkcssenums.go +40 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkcsserror.go +40 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkcsslocation.go +34 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkcssprovider.go +267 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkcsssection.go +203 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkcustomfilter.go +119 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkcustomlayout.go +109 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkcustomsorter.go +111 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkdebug.go +107 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkdialog.go +1022 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkdialogerror.go +58 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkdirectorylist.go +418 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkdragicon.go +532 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkdragsource.go +391 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkdrawingarea.go +604 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkdropcontrollermotion.go +237 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkdropdown.go +756 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkdroptarget.go +539 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkdroptargetasync.go +347 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkeditable.go +1008 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkeditablelabel.go +695 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkemojichooser.go +474 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkentry.go +2253 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkentrybuffer.go +666 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkentrycompletion.go +764 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkenums.go +2312 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkeventcontroller.go +264 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkeventcontrollerfocus.go +209 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkeventcontrollerkey.go +243 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkeventcontrollerlegacy.go +118 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkeventcontrollermotion.go +214 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkeventcontrollerscroll.go +291 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkexpander.go +730 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkexpression.go +992 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkfilechooser.go +602 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkfilechooserdialog.go +945 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkfilechoosernative.go +670 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkfilechooserwidget.go +1095 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkfiledialog.go +706 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkfilefilter.go +327 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkfilelauncher.go +254 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkfilter.go +494 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkfilterlistmodel.go +407 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkfixed.go +453 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkfixedlayout.go +207 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkflattenlistmodel.go +262 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkflowbox.go +1627 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkfontbutton.go +763 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkfontchooser.go +692 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkfontchooserdialog.go +654 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkfontchooserwidget.go +543 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkfontdialog.go +411 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkfontdialogbutton.go +712 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkframe.go +564 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkgesture.go +646 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkgestureclick.go +199 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkgesturedrag.go +194 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkgesturelongpress.go +190 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkgesturepan.go +144 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkgesturerotate.go +131 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkgesturesingle.go +232 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkgesturestylus.go +299 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkgestureswipe.go +140 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkgesturezoom.go +133 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkglarea.go +1000 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkgraphicsoffload.go +499 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkgrid.go +780 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkgridlayout.go +488 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkgridview.go +758 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkheaderbar.go +637 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkiconpaintable.go +359 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkicontheme.go +538 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkiconview.go +1772 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkimage.go +879 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkimcontext.go +1251 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkimcontextsimple.go +175 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkimmodule.go +7 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkimmulticontext.go +238 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkinfobar.go +703 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkinscription.go +873 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtklabel.go +1725 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtklayoutchild.go +118 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtklayoutmanager.go +413 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtklevelbar.go +713 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtklinkbutton.go +591 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtklistbase.go +447 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtklistbox.go +1777 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtklistheader.go +188 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtklistitem.go +381 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtklistitemfactory.go +100 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkliststore.go +938 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtklistview.go +815 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtklockbutton.go +582 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkmain.go +185 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkmaplistmodel.go +321 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkmediacontrols.go +388 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkmediafile.go +566 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkmediastream.go +1149 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkmenubutton.go +905 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkmessagedialog.go +761 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkmountoperation.go +294 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkmultifilter.go +531 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkmultiselection.go +362 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkmultisorter.go +226 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtknative.go +175 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtknativedialog.go +475 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtknoselection.go +367 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtknotebook.go +1549 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtknumericsorter.go +147 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkorientable.go +101 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkoverlay.go +494 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkoverlaylayout.go +216 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkpadcontroller.go +234 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkpagesetup.go +447 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkpagesetupunixdialog.go +507 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkpaned.go +928 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkpapersize.go +364 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkpasswordentry.go +765 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkpasswordentrybuffer.go +93 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkpicture.go +832 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkpopover.go +923 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkpopoverbin.go +526 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkpopovermenu.go +634 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkpopovermenubar.go +416 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkprintcontext.go +276 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkprintdialog.go +489 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkprinter.go +556 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkprintjob.go +473 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkprintoperation.go +1910 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkprintoperationpreview.go +442 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkprintsettings.go +968 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkprintunixdialog.go +754 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkprogressbar.go +658 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkrange.go +957 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkrecentmanager.go +902 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkrender.go +169 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkrevealer.go +544 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkroot.go +143 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkscale.go +735 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkscalebutton.go +730 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkscrollable.go +234 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkscrollbar.go +417 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkscrolledwindow.go +1157 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtksearchbar.go +539 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtksearchentry.go +973 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtksectionmodel.go +159 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkselectionfiltermodel.go +219 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkselectionmodel.go +564 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkseparator.go +362 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtksettings.go +1343 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkshortcut.go +218 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkshortcutaction.go +662 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkshortcutcontroller.go +336 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkshortcutlabel.go +427 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkshortcutmanager.go +128 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkshortcutsgroup.go +424 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkshortcutssection.go +520 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkshortcutsshortcut.go +532 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkshortcutswindow.go +607 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkshortcuttrigger.go +617 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkshow.go +61 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtksignallistitemfactory.go +252 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtksingleselection.go +510 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtksizegroup.go +250 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtksizerequest.go +64 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkslicelistmodel.go +327 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtksnapshot.go +823 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtksorter.go +491 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtksortlistmodel.go +407 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkspinbutton.go +1409 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkspinner.go +405 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkstack.go +1385 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkstacksidebar.go +382 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkstackswitcher.go +405 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkstatusbar.go +471 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkstringfilter.go +248 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkstringlist.go +404 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkstringsorter.go +207 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkstylecontext.go +513 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkstyleprovider.go +67 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtksvg.go +875 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkswitch.go +606 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtksymbolicpaintable.go +177 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtktestatcontext.go +96 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtktestutils.go +73 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtktext.go +1730 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtktextbuffer.go +2252 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtktextchild.go +246 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtktextiter.go +1393 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtktextmark.go +259 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtktexttag.go +1583 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtktexttagtable.go +246 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtktextview.go +2802 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtktogglebutton.go +674 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtktooltip.go +169 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtktreednd.go +395 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtktreeexpander.go +615 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtktreelistmodel.go +599 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtktreelistrowsorter.go +136 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtktreemodel.go +1750 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtktreemodelfilter.go +742 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtktreemodelsort.go +693 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtktreeselection.go +326 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtktreesortable.go +362 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtktreestore.go +890 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtktreeview.go +2663 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtktreeviewcolumn.go +994 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtktypes.go +513 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkurilauncher.go +182 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkversion.go +145 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkvideo.go +632 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkviewport.go +512 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkvolumebutton.go +377 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkwidget.go +5627 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkwidgetpaintable.go +269 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkwindow.go +2140 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkwindowcontrols.go +556 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkwindowgroup.go +239 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/gtkwindowhandle.go +394 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/gtk/main.go +30 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/javascriptcore/JSCClass.go +524 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/javascriptcore/JSCContext.go +417 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/javascriptcore/JSCException.go +256 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/javascriptcore/JSCOptions.go +228 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/javascriptcore/JSCValue.go +1072 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/javascriptcore/JSCVersion.go +81 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/javascriptcore/JSCVirtualMachine.go +96 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/javascriptcore/JSCWeakValue.go +135 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/layershell/gtk4-layer-shell.go +340 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/pango/main.go +30 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/pango/pango-attributes.go +1798 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/pango/pango-bidi-type.go +138 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/pango/pango-break.go +144 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/pango/pango-color.go +135 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/pango/pango-context.go +422 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/pango/pango-coverage.go +211 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/pango/pango-direction.go +50 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/pango/pango-features.go +13 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/pango/pango-font.go +2313 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/pango/pango-fontmap.go +580 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/pango/pango-fontset-simple.go +112 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/pango/pango-fontset.go +374 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/pango/pango-glyph-item.go +308 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/pango/pango-glyph.go +439 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/pango/pango-gravity.go +151 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/pango/pango-item.go +257 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/pango/pango-language.go +110 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/pango/pango-layout.go +1777 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/pango/pango-markup.go +106 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/pango/pango-matrix.go +246 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/pango/pango-renderer.go +782 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/pango/pango-script.go +427 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/pango/pango-tabs.go +281 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/pango/pango-types.go +250 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/pango/pango-utils.go +293 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/soup/soup-auth-basic.go +36 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/soup/soup-auth-digest.go +36 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/soup/soup-auth-domain-basic.go +152 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/soup/soup-auth-domain-digest.go +166 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/soup/soup-auth-domain.go +403 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/soup/soup-auth-manager.go +116 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/soup/soup-auth-negotiate.go +74 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/soup/soup-auth-ntlm.go +36 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/soup/soup-auth.go +536 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/soup/soup-cache.go +249 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/soup/soup-content-decoder.go +79 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/soup/soup-content-sniffer.go +112 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/soup/soup-cookie-jar-db.go +121 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/soup/soup-cookie-jar-text.go +117 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/soup/soup-cookie-jar.go +466 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/soup/soup-cookie.go +166 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/soup/soup-date-utils.go +76 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/soup/soup-form.go +150 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/soup/soup-headers.go +245 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/soup/soup-hsts-enforcer-db.go +118 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/soup/soup-hsts-enforcer.go +313 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/soup/soup-hsts-policy.go +7 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/soup/soup-logger.go +273 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/soup/soup-message-body.go +284 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/soup/soup-message-headers.go +626 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/soup/soup-message.go +1419 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/soup/soup-multipart-input-stream.go +264 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/soup/soup-multipart.go +164 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/soup/soup-server-message.go +693 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/soup/soup-server.go +996 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/soup/soup-session-feature.go +61 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/soup/soup-session.go +1383 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/soup/soup-status.go +204 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/soup/soup-tld.go +105 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/soup/soup-types.go +816 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/soup/soup-uri-utils.go +104 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/soup/soup-version.go +111 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/soup/soup-websocket-connection.go +630 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/soup/soup-websocket-extension-deflate.go +59 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/soup/soup-websocket-extension-manager.go +63 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/soup/soup-websocket-extension.go +333 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/soup/soup-websocket.go +276 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/webkit/WebKitApplicationInfo.go +135 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/webkit/WebKitAuthenticationRequest.go +342 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/webkit/WebKitAutomationSession.go +222 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/webkit/WebKitBackForwardList.go +250 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/webkit/WebKitBackForwardListItem.go +115 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/webkit/WebKitClipboardPermissionRequest.go +73 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/webkit/WebKitColorChooserRequest.go +189 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/webkit/WebKitContextMenu.go +346 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/webkit/WebKitContextMenuActions.go +112 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/webkit/WebKitContextMenuItem.go +284 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/webkit/WebKitCookieManager.go +353 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/webkit/WebKitCredential.go +188 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/webkit/WebKitDeviceInfoPermissionRequest.go +74 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/webkit/WebKitDownload.go +433 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/webkit/WebKitEditingCommands.go +61 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/webkit/WebKitEditorState.go +200 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/webkit/WebKitError.go +335 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/webkit/WebKitFaviconDatabase.go +205 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/webkit/WebKitFeature.go +325 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/webkit/WebKitFileChooserRequest.go +226 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/webkit/WebKitFindController.go +356 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/webkit/WebKitFormSubmissionRequest.go +110 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/webkit/WebKitGeolocationManager.go +285 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/webkit/WebKitGeolocationPermissionRequest.go +89 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/webkit/WebKitHitTestResult.go +355 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/webkit/WebKitImage.go +275 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/webkit/WebKitInputMethodContext.go +1260 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/webkit/WebKitMediaKeySystemPermissionRequest.go +108 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/webkit/WebKitMemoryPressureSettings.go +211 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/webkit/WebKitNavigationAction.go +184 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/webkit/WebKitNavigationPolicyDecision.go +103 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/webkit/WebKitNetworkProxySettings.go +153 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/webkit/WebKitNetworkSession.go +425 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/webkit/WebKitNotification.go +216 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/webkit/WebKitNotificationPermissionRequest.go +73 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/webkit/WebKitOptionMenu.go +191 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/webkit/WebKitOptionMenuItem.go +129 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/webkit/WebKitPermissionRequest.go +153 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/webkit/WebKitPermissionStateQuery.go +135 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/webkit/WebKitPointerLockPermissionRequest.go +73 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/webkit/WebKitPolicyDecision.go +348 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/webkit/WebKitPrintOperation.go +283 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/webkit/WebKitResponsePolicyDecision.go +148 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/webkit/WebKitScriptDialog.go +178 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/webkit/WebKitSecurityManager.go +218 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/webkit/WebKitSecurityOrigin.go +164 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/webkit/WebKitSettings.go +2513 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/webkit/WebKitURIRequest.go +157 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/webkit/WebKitURIResponse.go +200 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/webkit/WebKitURISchemeRequest.go +201 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/webkit/WebKitURISchemeResponse.go +151 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/webkit/WebKitURIUtilities.go +36 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/webkit/WebKitUserContent.go +329 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/webkit/WebKitUserContentFilterStore.go +295 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/webkit/WebKitUserContentManager.go +430 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/webkit/WebKitUserMediaPermissionRequest.go +139 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/webkit/WebKitUserMessage.go +241 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/webkit/WebKitVersion.go +84 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/webkit/WebKitWebContext.go +649 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/webkit/WebKitWebExtension.go +608 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/webkit/WebKitWebExtensionMatchPattern.go +261 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/webkit/WebKitWebInspector.go +392 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/webkit/WebKitWebResource.go +290 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/webkit/WebKitWebView.go +4693 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/webkit/WebKitWebViewBase.go +433 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/webkit/WebKitWebViewGtk4.go +43 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/webkit/WebKitWebViewSessionState.go +103 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/webkit/WebKitWebsiteData.go +127 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/webkit/WebKitWebsiteDataAccessPermissionRequest.go +113 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/webkit/WebKitWebsiteDataManager.go +544 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/webkit/WebKitWebsitePolicies.go +151 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/webkit/WebKitWindowProperties.go +342 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/webkit/WebKitXRPermissionRequest.go +247 -0 collapsed to keep the page light
A vendor/github.com/bnema/puregotk/v4/webkit/more.go +228 -0 collapsed to keep the page light
A vendor/github.com/cenkalti/backoff/v4/.gitignore +25 -0 collapsed to keep the page light
A vendor/github.com/cenkalti/backoff/v4/LICENSE +20 -0 collapsed to keep the page light
A vendor/github.com/cenkalti/backoff/v4/README.md +30 -0 collapsed to keep the page light
A vendor/github.com/cenkalti/backoff/v4/backoff.go +66 -0 collapsed to keep the page light
A vendor/github.com/cenkalti/backoff/v4/context.go +62 -0 collapsed to keep the page light
A vendor/github.com/cenkalti/backoff/v4/exponential.go +216 -0 collapsed to keep the page light
A vendor/github.com/cenkalti/backoff/v4/retry.go +146 -0 collapsed to keep the page light
A vendor/github.com/cenkalti/backoff/v4/ticker.go +97 -0 collapsed to keep the page light
A vendor/github.com/cenkalti/backoff/v4/timer.go +35 -0 collapsed to keep the page light
A vendor/github.com/cenkalti/backoff/v4/tries.go +38 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/bubbles/LICENSE +21 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/bubbles/cursor/cursor.go +221 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/bubbles/help/help.go +240 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/bubbles/key/key.go +140 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/bubbles/list/README.md +71 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/bubbles/list/defaultitem.go +229 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/bubbles/list/keys.go +97 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/bubbles/list/list.go +1330 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/bubbles/list/style.go +99 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/bubbles/paginator/paginator.go +214 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/bubbles/runeutil/runeutil.go +102 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/bubbles/spinner/spinner.go +224 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/bubbles/table/table.go +450 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/bubbles/textinput/textinput.go +890 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/bubbles/viewport/keymap.go +60 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/bubbles/viewport/viewport.go +544 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/bubbletea/.gitattributes +1 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/bubbletea/.gitignore +23 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/bubbletea/.golangci.yml +44 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/bubbletea/.goreleaser.yml +5 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/bubbletea/LICENSE +21 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/bubbletea/README.md +400 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/bubbletea/Taskfile.yaml +14 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/bubbletea/commands.go +222 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/bubbletea/exec.go +133 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/bubbletea/focus.go +9 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/bubbletea/inputreader_other.go +19 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/bubbletea/inputreader_windows.go +129 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/bubbletea/key.go +715 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/bubbletea/key_other.go +13 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/bubbletea/key_sequences.go +130 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/bubbletea/key_windows.go +441 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/bubbletea/logging.go +53 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/bubbletea/mouse.go +308 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/bubbletea/nil_renderer.go +29 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/bubbletea/options.go +252 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/bubbletea/renderer.go +88 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/bubbletea/screen.go +248 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/bubbletea/signals_unix.go +33 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/bubbletea/signals_windows.go +10 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/bubbletea/standard_renderer.go +790 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/bubbletea/tea.go +941 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/bubbletea/tea_init.go +22 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/bubbletea/tty.go +141 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/bubbletea/tty_unix.go +49 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/bubbletea/tty_windows.go +68 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/colorprofile/.golangci.yml +47 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/colorprofile/.goreleaser.yml +6 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/colorprofile/LICENSE +21 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/colorprofile/README.md +109 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/colorprofile/doc.go +4 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/colorprofile/env.go +294 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/colorprofile/env_other.go +8 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/colorprofile/env_windows.go +40 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/colorprofile/profile.go +108 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/colorprofile/writer.go +171 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/lipgloss/.gitignore +2 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/lipgloss/.golangci.yml +41 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/lipgloss/.goreleaser.yml +5 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/lipgloss/LICENSE +21 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/lipgloss/README.md +815 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/lipgloss/Taskfile.yaml +19 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/lipgloss/align.go +83 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/lipgloss/ansi_unix.go +7 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/lipgloss/ansi_windows.go +22 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/lipgloss/borders.go +490 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/lipgloss/color.go +172 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/lipgloss/get.go +556 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/lipgloss/join.go +175 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/lipgloss/position.go +154 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/lipgloss/ranges.go +48 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/lipgloss/renderer.go +181 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/lipgloss/runes.go +43 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/lipgloss/set.go +799 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/lipgloss/size.go +41 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/lipgloss/style.go +588 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/lipgloss/unset.go +331 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/lipgloss/whitespace.go +83 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/x/ansi/LICENSE +21 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/x/ansi/ansi.go +11 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/x/ansi/ascii.go +8 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/x/ansi/background.go +178 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/x/ansi/c0.go +79 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/x/ansi/c1.go +72 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/x/ansi/charset.go +55 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/x/ansi/clipboard.go +75 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/x/ansi/color.go +784 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/x/ansi/ctrl.go +156 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/x/ansi/cursor.go +637 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/x/ansi/cwd.go +26 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/x/ansi/doc.go +7 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/x/ansi/finalterm.go +67 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/x/ansi/focus.go +9 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/x/ansi/graphics.go +62 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/x/ansi/hyperlink.go +28 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/x/ansi/inband.go +24 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/x/ansi/iterm2.go +18 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/x/ansi/keypad.go +28 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/x/ansi/kitty.go +90 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/x/ansi/method.go +196 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/x/ansi/mode.go +690 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/x/ansi/mode_deprecated.go +495 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/x/ansi/modes.go +65 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/x/ansi/mouse.go +172 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/x/ansi/notification.go +32 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/x/ansi/palette.go +34 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/x/ansi/parser.go +417 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/x/ansi/parser/const.go +79 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/x/ansi/parser/seq.go +136 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/x/ansi/parser/transition_table.go +273 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/x/ansi/parser_decode.go +525 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/x/ansi/parser_handler.go +60 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/x/ansi/parser_sync.go +29 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/x/ansi/passthrough.go +60 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/x/ansi/paste.go +7 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/x/ansi/progress.go +49 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/x/ansi/reset.go +11 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/x/ansi/screen.go +410 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/x/ansi/sgr.go +79 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/x/ansi/status.go +168 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/x/ansi/style.go +819 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/x/ansi/termcap.go +41 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/x/ansi/title.go +48 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/x/ansi/truncate.go +290 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/x/ansi/urxvt.go +17 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/x/ansi/util.go +92 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/x/ansi/width.go +107 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/x/ansi/winop.go +59 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/x/ansi/wrap.go +472 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/x/ansi/xterm.go +138 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/x/cellbuf/LICENSE +21 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/x/cellbuf/buffer.go +474 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/x/cellbuf/cell.go +487 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/x/cellbuf/errors.go +6 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/x/cellbuf/geom.go +21 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/x/cellbuf/hardscroll.go +273 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/x/cellbuf/hashmap.go +301 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/x/cellbuf/link.go +14 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/x/cellbuf/pen.go +92 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/x/cellbuf/screen.go +1514 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/x/cellbuf/sequence.go +131 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/x/cellbuf/style.go +31 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/x/cellbuf/tabstop.go +137 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/x/cellbuf/utils.go +24 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/x/cellbuf/wrap.go +191 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/x/cellbuf/writer.go +340 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/x/term/LICENSE +21 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/x/term/term.go +51 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/x/term/term_other.go +39 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/x/term/term_plan9.go +118 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/x/term/term_unix.go +96 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/x/term/term_unix_bsd.go +11 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/x/term/term_unix_other.go +11 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/x/term/term_windows.go +87 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/x/term/terminal.go +12 -0 collapsed to keep the page light
A vendor/github.com/charmbracelet/x/term/util.go +47 -0 collapsed to keep the page light
A vendor/github.com/cli/browser/LICENSE +23 -0 collapsed to keep the page light
A vendor/github.com/cli/browser/README.md +20 -0 collapsed to keep the page light
A vendor/github.com/cli/browser/browser.go +57 -0 collapsed to keep the page light
A vendor/github.com/cli/browser/browser_darwin.go +5 -0 collapsed to keep the page light
A vendor/github.com/cli/browser/browser_freebsd.go +15 -0 collapsed to keep the page light
A vendor/github.com/cli/browser/browser_linux.go +21 -0 collapsed to keep the page light
A vendor/github.com/cli/browser/browser_netbsd.go +14 -0 collapsed to keep the page light
A vendor/github.com/cli/browser/browser_openbsd.go +15 -0 collapsed to keep the page light
A vendor/github.com/cli/browser/browser_unsupported.go +12 -0 collapsed to keep the page light
A vendor/github.com/cli/browser/browser_windows.go +7 -0 collapsed to keep the page light
A vendor/github.com/clipperhouse/displaywidth/.gitignore +3 -0 collapsed to keep the page light
A vendor/github.com/clipperhouse/displaywidth/AGENTS.md +51 -0 collapsed to keep the page light
A vendor/github.com/clipperhouse/displaywidth/CHANGELOG.md +129 -0 collapsed to keep the page light
A vendor/github.com/clipperhouse/displaywidth/LICENSE +21 -0 collapsed to keep the page light
A vendor/github.com/clipperhouse/displaywidth/README.md +190 -0 collapsed to keep the page light
A vendor/github.com/clipperhouse/displaywidth/gen.go +3 -0 collapsed to keep the page light
A vendor/github.com/clipperhouse/displaywidth/graphemes.go +73 -0 collapsed to keep the page light
A vendor/github.com/clipperhouse/displaywidth/options.go +30 -0 collapsed to keep the page light
A vendor/github.com/clipperhouse/displaywidth/trie.go +1699 -0 collapsed to keep the page light
A vendor/github.com/clipperhouse/displaywidth/truncate.go +149 -0 collapsed to keep the page light
A vendor/github.com/clipperhouse/displaywidth/width.go +239 -0 collapsed to keep the page light
A vendor/github.com/clipperhouse/uax29/v2/LICENSE +21 -0 collapsed to keep the page light
A vendor/github.com/clipperhouse/uax29/v2/graphemes/README.md +120 -0 collapsed to keep the page light
A vendor/github.com/clipperhouse/uax29/v2/graphemes/ansi.go +138 -0 collapsed to keep the page light
A vendor/github.com/clipperhouse/uax29/v2/graphemes/ansi8.go +79 -0 collapsed to keep the page light
A vendor/github.com/clipperhouse/uax29/v2/graphemes/iterator.go +144 -0 collapsed to keep the page light
A vendor/github.com/clipperhouse/uax29/v2/graphemes/reader.go +25 -0 collapsed to keep the page light
A vendor/github.com/clipperhouse/uax29/v2/graphemes/splitfunc.go +205 -0 collapsed to keep the page light
A vendor/github.com/clipperhouse/uax29/v2/graphemes/trie.go +1717 -0 collapsed to keep the page light
A vendor/github.com/cpuguy83/go-md2man/v2/LICENSE.md +21 -0 collapsed to keep the page light
A vendor/github.com/cpuguy83/go-md2man/v2/md2man/debug.go +62 -0 collapsed to keep the page light
A vendor/github.com/cpuguy83/go-md2man/v2/md2man/md2man.go +24 -0 collapsed to keep the page light
A vendor/github.com/cpuguy83/go-md2man/v2/md2man/roff.go +416 -0 collapsed to keep the page light
A vendor/github.com/davecgh/go-spew/LICENSE +15 -0 collapsed to keep the page light
A vendor/github.com/davecgh/go-spew/spew/bypass.go +145 -0 collapsed to keep the page light
A vendor/github.com/davecgh/go-spew/spew/bypasssafe.go +38 -0 collapsed to keep the page light
A vendor/github.com/davecgh/go-spew/spew/common.go +341 -0 collapsed to keep the page light
A vendor/github.com/davecgh/go-spew/spew/config.go +306 -0 collapsed to keep the page light
A vendor/github.com/davecgh/go-spew/spew/doc.go +211 -0 collapsed to keep the page light
A vendor/github.com/davecgh/go-spew/spew/dump.go +509 -0 collapsed to keep the page light
A vendor/github.com/davecgh/go-spew/spew/format.go +419 -0 collapsed to keep the page light
A vendor/github.com/davecgh/go-spew/spew/spew.go +148 -0 collapsed to keep the page light
A vendor/github.com/erikgeiser/coninput/.gitignore +15 -0 collapsed to keep the page light
A vendor/github.com/erikgeiser/coninput/.golangci.yml +24 -0 collapsed to keep the page light
A vendor/github.com/erikgeiser/coninput/LICENSE +21 -0 collapsed to keep the page light
A vendor/github.com/erikgeiser/coninput/README.md +2 -0 collapsed to keep the page light
A vendor/github.com/erikgeiser/coninput/keycodes.go +205 -0 collapsed to keep the page light
A vendor/github.com/erikgeiser/coninput/mode.go +82 -0 collapsed to keep the page light
A vendor/github.com/erikgeiser/coninput/read.go +154 -0 collapsed to keep the page light
A vendor/github.com/erikgeiser/coninput/records.go +486 -0 collapsed to keep the page light
A vendor/github.com/fatih/color/LICENSE.md +20 -0 collapsed to keep the page light
A vendor/github.com/fatih/color/README.md +189 -0 collapsed to keep the page light
A vendor/github.com/fatih/color/color.go +733 -0 collapsed to keep the page light
A vendor/github.com/fatih/color/color_windows.go +22 -0 collapsed to keep the page light
A vendor/github.com/fatih/color/doc.go +134 -0 collapsed to keep the page light
A vendor/github.com/fsnotify/fsnotify/.gitignore +10 -0 collapsed to keep the page light
A vendor/github.com/fsnotify/fsnotify/.mailmap +2 -0 collapsed to keep the page light
A vendor/github.com/fsnotify/fsnotify/CHANGELOG.md +651 -0 collapsed to keep the page light
A vendor/github.com/fsnotify/fsnotify/CONTRIBUTING.md +147 -0 collapsed to keep the page light
A vendor/github.com/fsnotify/fsnotify/LICENSE +25 -0 collapsed to keep the page light
A vendor/github.com/fsnotify/fsnotify/README.md +214 -0 collapsed to keep the page light
A vendor/github.com/fsnotify/fsnotify/backend_fen.go +469 -0 collapsed to keep the page light
A vendor/github.com/fsnotify/fsnotify/backend_inotify.go +597 -0 collapsed to keep the page light
A vendor/github.com/fsnotify/fsnotify/backend_kqueue.go +735 -0 collapsed to keep the page light
A vendor/github.com/fsnotify/fsnotify/backend_other.go +22 -0 collapsed to keep the page light
A vendor/github.com/fsnotify/fsnotify/backend_windows.go +702 -0 collapsed to keep the page light
A vendor/github.com/fsnotify/fsnotify/fsnotify.go +526 -0 collapsed to keep the page light
A vendor/github.com/fsnotify/fsnotify/internal/darwin.go +20 -0 collapsed to keep the page light
A vendor/github.com/fsnotify/fsnotify/internal/debug_darwin.go +15 -0 collapsed to keep the page light
A vendor/github.com/fsnotify/fsnotify/internal/debug_dragonfly.go +15 -0 collapsed to keep the page light
A vendor/github.com/fsnotify/fsnotify/internal/debug_freebsd.go +20 -0 collapsed to keep the page light
A vendor/github.com/fsnotify/fsnotify/internal/debug_kqueue.go +32 -0 collapsed to keep the page light
A vendor/github.com/fsnotify/fsnotify/internal/debug_linux.go +56 -0 collapsed to keep the page light
A vendor/github.com/fsnotify/fsnotify/internal/debug_netbsd.go +15 -0 collapsed to keep the page light
A vendor/github.com/fsnotify/fsnotify/internal/debug_openbsd.go +16 -0 collapsed to keep the page light
A vendor/github.com/fsnotify/fsnotify/internal/debug_solaris.go +45 -0 collapsed to keep the page light
A vendor/github.com/fsnotify/fsnotify/internal/debug_windows.go +40 -0 collapsed to keep the page light
A vendor/github.com/fsnotify/fsnotify/internal/freebsd.go +20 -0 collapsed to keep the page light
A vendor/github.com/fsnotify/fsnotify/internal/internal.go +2 -0 collapsed to keep the page light
A vendor/github.com/fsnotify/fsnotify/internal/unix.go +20 -0 collapsed to keep the page light
A vendor/github.com/fsnotify/fsnotify/internal/unix2.go +25 -0 collapsed to keep the page light
A vendor/github.com/fsnotify/fsnotify/internal/windows.go +40 -0 collapsed to keep the page light
A vendor/github.com/fsnotify/fsnotify/shared.go +64 -0 collapsed to keep the page light
A vendor/github.com/fsnotify/fsnotify/staticcheck.conf +3 -0 collapsed to keep the page light
A vendor/github.com/fsnotify/fsnotify/system_bsd.go +7 -0 collapsed to keep the page light
A vendor/github.com/fsnotify/fsnotify/system_darwin.go +8 -0 collapsed to keep the page light
A vendor/github.com/go-viper/mapstructure/v2/.editorconfig +24 -0 collapsed to keep the page light
A vendor/github.com/go-viper/mapstructure/v2/.envrc +7 -0 collapsed to keep the page light
A vendor/github.com/go-viper/mapstructure/v2/.gitignore +10 -0 collapsed to keep the page light
A vendor/github.com/go-viper/mapstructure/v2/.golangci.yaml +48 -0 collapsed to keep the page light
A vendor/github.com/go-viper/mapstructure/v2/CHANGELOG.md +104 -0 collapsed to keep the page light
A vendor/github.com/go-viper/mapstructure/v2/LICENSE +21 -0 collapsed to keep the page light
A vendor/github.com/go-viper/mapstructure/v2/README.md +81 -0 collapsed to keep the page light
A vendor/github.com/go-viper/mapstructure/v2/decode_hooks.go +714 -0 collapsed to keep the page light
A vendor/github.com/go-viper/mapstructure/v2/devenv.lock +103 -0 collapsed to keep the page light
A vendor/github.com/go-viper/mapstructure/v2/devenv.nix +14 -0 collapsed to keep the page light
A vendor/github.com/go-viper/mapstructure/v2/devenv.yaml +4 -0 collapsed to keep the page light
A vendor/github.com/go-viper/mapstructure/v2/errors.go +244 -0 collapsed to keep the page light
A vendor/github.com/go-viper/mapstructure/v2/internal/errors/errors.go +11 -0 collapsed to keep the page light
A vendor/github.com/go-viper/mapstructure/v2/internal/errors/join.go +9 -0 collapsed to keep the page light
A vendor/github.com/go-viper/mapstructure/v2/internal/errors/join_go1_19.go +61 -0 collapsed to keep the page light
A vendor/github.com/go-viper/mapstructure/v2/mapstructure.go +1948 -0 collapsed to keep the page light
A vendor/github.com/go-viper/mapstructure/v2/reflect_go1_19.go +44 -0 collapsed to keep the page light
A vendor/github.com/go-viper/mapstructure/v2/reflect_go1_20.go +10 -0 collapsed to keep the page light
A vendor/github.com/godbus/dbus/v5/.cirrus.yml +11 -0 collapsed to keep the page light
A vendor/github.com/godbus/dbus/v5/.golangci.yml +13 -0 collapsed to keep the page light
A vendor/github.com/godbus/dbus/v5/CONTRIBUTING.md +50 -0 collapsed to keep the page light
A vendor/github.com/godbus/dbus/v5/LICENSE +25 -0 collapsed to keep the page light
A vendor/github.com/godbus/dbus/v5/MAINTAINERS +3 -0 collapsed to keep the page light
A vendor/github.com/godbus/dbus/v5/README.md +47 -0 collapsed to keep the page light
A vendor/github.com/godbus/dbus/v5/SECURITY.md +13 -0 collapsed to keep the page light
A vendor/github.com/godbus/dbus/v5/auth.go +257 -0 collapsed to keep the page light
A vendor/github.com/godbus/dbus/v5/auth_anonymous.go +16 -0 collapsed to keep the page light
A vendor/github.com/godbus/dbus/v5/auth_default_other.go +7 -0 collapsed to keep the page light
A vendor/github.com/godbus/dbus/v5/auth_default_windows.go +5 -0 collapsed to keep the page light
A vendor/github.com/godbus/dbus/v5/auth_external.go +26 -0 collapsed to keep the page light
A vendor/github.com/godbus/dbus/v5/auth_sha1_windows.go +109 -0 collapsed to keep the page light
A vendor/github.com/godbus/dbus/v5/call.go +66 -0 collapsed to keep the page light
A vendor/github.com/godbus/dbus/v5/conn.go +1009 -0 collapsed to keep the page light
A vendor/github.com/godbus/dbus/v5/conn_darwin.go +36 -0 collapsed to keep the page light
A vendor/github.com/godbus/dbus/v5/conn_other.go +83 -0 collapsed to keep the page light
A vendor/github.com/godbus/dbus/v5/conn_unix.go +40 -0 collapsed to keep the page light
A vendor/github.com/godbus/dbus/v5/conn_windows.go +13 -0 collapsed to keep the page light
A vendor/github.com/godbus/dbus/v5/dbus.go +427 -0 collapsed to keep the page light
A vendor/github.com/godbus/dbus/v5/decoder.go +376 -0 collapsed to keep the page light
A vendor/github.com/godbus/dbus/v5/default_handler.go +338 -0 collapsed to keep the page light
A vendor/github.com/godbus/dbus/v5/doc.go +70 -0 collapsed to keep the page light
A vendor/github.com/godbus/dbus/v5/encoder.go +235 -0 collapsed to keep the page light
A vendor/github.com/godbus/dbus/v5/escape.go +84 -0 collapsed to keep the page light
A vendor/github.com/godbus/dbus/v5/export.go +484 -0 collapsed to keep the page light
A vendor/github.com/godbus/dbus/v5/match.go +89 -0 collapsed to keep the page light
A vendor/github.com/godbus/dbus/v5/message.go +393 -0 collapsed to keep the page light
A vendor/github.com/godbus/dbus/v5/object.go +181 -0 collapsed to keep the page light
A vendor/github.com/godbus/dbus/v5/sequence.go +24 -0 collapsed to keep the page light
A vendor/github.com/godbus/dbus/v5/sequential_handler.go +125 -0 collapsed to keep the page light
A vendor/github.com/godbus/dbus/v5/server_interfaces.go +107 -0 collapsed to keep the page light
A vendor/github.com/godbus/dbus/v5/sig.go +298 -0 collapsed to keep the page light
A vendor/github.com/godbus/dbus/v5/transport_darwin.go +6 -0 collapsed to keep the page light
A vendor/github.com/godbus/dbus/v5/transport_generic.go +52 -0 collapsed to keep the page light
A vendor/github.com/godbus/dbus/v5/transport_nonce_tcp.go +41 -0 collapsed to keep the page light
A vendor/github.com/godbus/dbus/v5/transport_tcp.go +41 -0 collapsed to keep the page light
A vendor/github.com/godbus/dbus/v5/transport_unix.go +291 -0 collapsed to keep the page light
A vendor/github.com/godbus/dbus/v5/transport_unixcred_dragonfly.go +95 -0 collapsed to keep the page light
A vendor/github.com/godbus/dbus/v5/transport_unixcred_freebsd.go +94 -0 collapsed to keep the page light
A vendor/github.com/godbus/dbus/v5/transport_unixcred_linux.go +25 -0 collapsed to keep the page light
A vendor/github.com/godbus/dbus/v5/transport_unixcred_netbsd.go +14 -0 collapsed to keep the page light
A vendor/github.com/godbus/dbus/v5/transport_unixcred_openbsd.go +14 -0 collapsed to keep the page light
A vendor/github.com/godbus/dbus/v5/transport_zos.go +6 -0 collapsed to keep the page light
A vendor/github.com/godbus/dbus/v5/variant.go +169 -0 collapsed to keep the page light
A vendor/github.com/godbus/dbus/v5/variant_lexer.go +284 -0 collapsed to keep the page light
A vendor/github.com/godbus/dbus/v5/variant_parser.go +815 -0 collapsed to keep the page light
A vendor/github.com/inconshreveable/mousetrap/LICENSE +201 -0 collapsed to keep the page light
A vendor/github.com/inconshreveable/mousetrap/README.md +23 -0 collapsed to keep the page light
A vendor/github.com/inconshreveable/mousetrap/trap_others.go +16 -0 collapsed to keep the page light
A vendor/github.com/inconshreveable/mousetrap/trap_windows.go +42 -0 collapsed to keep the page light
A vendor/github.com/lucasb-eyer/go-colorful/.gitignore +101 -0 collapsed to keep the page light
A vendor/github.com/lucasb-eyer/go-colorful/CHANGELOG.md +72 -0 collapsed to keep the page light
A vendor/github.com/lucasb-eyer/go-colorful/LICENSE +7 -0 collapsed to keep the page light
A vendor/github.com/lucasb-eyer/go-colorful/README.md +490 -0 collapsed to keep the page light
A vendor/github.com/lucasb-eyer/go-colorful/colorgens.go +67 -0 collapsed to keep the page light
A vendor/github.com/lucasb-eyer/go-colorful/colors.go +1156 -0 collapsed to keep the page light
A vendor/github.com/lucasb-eyer/go-colorful/happy_palettegen.go +29 -0 collapsed to keep the page light
A vendor/github.com/lucasb-eyer/go-colorful/hexcolor.go +91 -0 collapsed to keep the page light
A vendor/github.com/lucasb-eyer/go-colorful/hsluv-snapshot-rev4.json +1 -0 collapsed to keep the page light
A vendor/github.com/lucasb-eyer/go-colorful/hsluv.go +208 -0 collapsed to keep the page light
A vendor/github.com/lucasb-eyer/go-colorful/rand.go +22 -0 collapsed to keep the page light
A vendor/github.com/lucasb-eyer/go-colorful/soft_palettegen.go +192 -0 collapsed to keep the page light
A vendor/github.com/lucasb-eyer/go-colorful/sort.go +191 -0 collapsed to keep the page light
A vendor/github.com/lucasb-eyer/go-colorful/warm_palettegen.go +29 -0 collapsed to keep the page light
A vendor/github.com/lucasb-eyer/go-colorful/widegamut.go +290 -0 collapsed to keep the page light
A vendor/github.com/mattn/go-colorable/LICENSE +21 -0 collapsed to keep the page light
A vendor/github.com/mattn/go-colorable/README.md +48 -0 collapsed to keep the page light
A vendor/github.com/mattn/go-colorable/colorable_others.go +38 -0 collapsed to keep the page light
A vendor/github.com/mattn/go-colorable/colorable_windows.go +1047 -0 collapsed to keep the page light
A vendor/github.com/mattn/go-colorable/go.test.sh +12 -0 collapsed to keep the page light
A vendor/github.com/mattn/go-colorable/noncolorable.go +57 -0 collapsed to keep the page light
A vendor/github.com/mattn/go-isatty/LICENSE +9 -0 collapsed to keep the page light
A vendor/github.com/mattn/go-isatty/README.md +50 -0 collapsed to keep the page light
A vendor/github.com/mattn/go-isatty/doc.go +2 -0 collapsed to keep the page light
A vendor/github.com/mattn/go-isatty/go.test.sh +12 -0 collapsed to keep the page light
A vendor/github.com/mattn/go-isatty/isatty_bsd.go +20 -0 collapsed to keep the page light
A vendor/github.com/mattn/go-isatty/isatty_others.go +17 -0 collapsed to keep the page light
A vendor/github.com/mattn/go-isatty/isatty_plan9.go +23 -0 collapsed to keep the page light
A vendor/github.com/mattn/go-isatty/isatty_solaris.go +21 -0 collapsed to keep the page light
A vendor/github.com/mattn/go-isatty/isatty_tcgets.go +20 -0 collapsed to keep the page light
A vendor/github.com/mattn/go-isatty/isatty_windows.go +136 -0 collapsed to keep the page light
A vendor/github.com/mattn/go-localereader/README.md +23 -0 collapsed to keep the page light
A vendor/github.com/mattn/go-localereader/localereader.go +19 -0 collapsed to keep the page light
A vendor/github.com/mattn/go-localereader/localereader_unix.go +11 -0 collapsed to keep the page light
A vendor/github.com/mattn/go-localereader/localereader_windows.go +85 -0 collapsed to keep the page light
A vendor/github.com/mattn/go-runewidth/LICENSE +21 -0 collapsed to keep the page light
A vendor/github.com/mattn/go-runewidth/README.md +27 -0 collapsed to keep the page light
A vendor/github.com/mattn/go-runewidth/benchstat.txt +43 -0 collapsed to keep the page light
A vendor/github.com/mattn/go-runewidth/new.txt +54 -0 collapsed to keep the page light
A vendor/github.com/mattn/go-runewidth/old.txt +54 -0 collapsed to keep the page light
A vendor/github.com/mattn/go-runewidth/runewidth.go +420 -0 collapsed to keep the page light
A vendor/github.com/mattn/go-runewidth/runewidth_appengine.go +9 -0 collapsed to keep the page light
A vendor/github.com/mattn/go-runewidth/runewidth_js.go +9 -0 collapsed to keep the page light
A vendor/github.com/mattn/go-runewidth/runewidth_posix.go +81 -0 collapsed to keep the page light
A vendor/github.com/mattn/go-runewidth/runewidth_table.go +488 -0 collapsed to keep the page light
A vendor/github.com/mattn/go-runewidth/runewidth_windows.go +34 -0 collapsed to keep the page light
A vendor/github.com/mfridman/interpolate/LICENSE.txt +24 -0 collapsed to keep the page light
A vendor/github.com/mfridman/interpolate/README.md +85 -0 collapsed to keep the page light
A vendor/github.com/mfridman/interpolate/env.go +53 -0 collapsed to keep the page light
A vendor/github.com/mfridman/interpolate/interpolate.go +213 -0 collapsed to keep the page light
A vendor/github.com/mfridman/interpolate/parser.go +281 -0 collapsed to keep the page light
A vendor/github.com/muesli/ansi/.gitignore +15 -0 collapsed to keep the page light
A vendor/github.com/muesli/ansi/.golangci.yml +27 -0 collapsed to keep the page light
A vendor/github.com/muesli/ansi/LICENSE +21 -0 collapsed to keep the page light
A vendor/github.com/muesli/ansi/README.md +31 -0 collapsed to keep the page light
A vendor/github.com/muesli/ansi/ansi.go +7 -0 collapsed to keep the page light
A vendor/github.com/muesli/ansi/buffer.go +40 -0 collapsed to keep the page light
A vendor/github.com/muesli/ansi/compressor/writer.go +132 -0 collapsed to keep the page light
A vendor/github.com/muesli/ansi/writer.go +76 -0 collapsed to keep the page light
A vendor/github.com/muesli/cancelreader/.gitignore +15 -0 collapsed to keep the page light
A vendor/github.com/muesli/cancelreader/.golangci-soft.yml +47 -0 collapsed to keep the page light
A vendor/github.com/muesli/cancelreader/.golangci.yml +29 -0 collapsed to keep the page light
A vendor/github.com/muesli/cancelreader/LICENSE +21 -0 collapsed to keep the page light
A vendor/github.com/muesli/cancelreader/README.md +64 -0 collapsed to keep the page light
A vendor/github.com/muesli/cancelreader/cancelreader.go +93 -0 collapsed to keep the page light
A vendor/github.com/muesli/cancelreader/cancelreader_bsd.go +146 -0 collapsed to keep the page light
A vendor/github.com/muesli/cancelreader/cancelreader_default.go +12 -0 collapsed to keep the page light
A vendor/github.com/muesli/cancelreader/cancelreader_linux.go +154 -0 collapsed to keep the page light
A vendor/github.com/muesli/cancelreader/cancelreader_select.go +136 -0 collapsed to keep the page light
A vendor/github.com/muesli/cancelreader/cancelreader_unix.go +18 -0 collapsed to keep the page light
A vendor/github.com/muesli/cancelreader/cancelreader_windows.go +244 -0 collapsed to keep the page light
A vendor/github.com/muesli/termenv/.gitignore +15 -0 collapsed to keep the page light
A vendor/github.com/muesli/termenv/.golangci-soft.yml +43 -0 collapsed to keep the page light
A vendor/github.com/muesli/termenv/.golangci.yml +28 -0 collapsed to keep the page light
A vendor/github.com/muesli/termenv/LICENSE +21 -0 collapsed to keep the page light
A vendor/github.com/muesli/termenv/README.md +431 -0 collapsed to keep the page light
A vendor/github.com/muesli/termenv/ansi_compat.md +65 -0 collapsed to keep the page light
A vendor/github.com/muesli/termenv/ansicolors.go +281 -0 collapsed to keep the page light
A vendor/github.com/muesli/termenv/color.go +205 -0 collapsed to keep the page light
A vendor/github.com/muesli/termenv/constants_linux.go +8 -0 collapsed to keep the page light
A vendor/github.com/muesli/termenv/constants_solaris.go +8 -0 collapsed to keep the page light
A vendor/github.com/muesli/termenv/constants_unix.go +13 -0 collapsed to keep the page light
A vendor/github.com/muesli/termenv/constants_zos.go +8 -0 collapsed to keep the page light
A vendor/github.com/muesli/termenv/copy.go +37 -0 collapsed to keep the page light
A vendor/github.com/muesli/termenv/hyperlink.go +11 -0 collapsed to keep the page light
A vendor/github.com/muesli/termenv/notification.go +11 -0 collapsed to keep the page light
A vendor/github.com/muesli/termenv/output.go +205 -0 collapsed to keep the page light
A vendor/github.com/muesli/termenv/profile.go +112 -0 collapsed to keep the page light
A vendor/github.com/muesli/termenv/screen.go +590 -0 collapsed to keep the page light
A vendor/github.com/muesli/termenv/style.go +126 -0 collapsed to keep the page light
A vendor/github.com/muesli/termenv/templatehelper.go +88 -0 collapsed to keep the page light
A vendor/github.com/muesli/termenv/termenv.go +115 -0 collapsed to keep the page light
A vendor/github.com/muesli/termenv/termenv_other.go +30 -0 collapsed to keep the page light
A vendor/github.com/muesli/termenv/termenv_posix.go +17 -0 collapsed to keep the page light
A vendor/github.com/muesli/termenv/termenv_solaris.go +22 -0 collapsed to keep the page light
A vendor/github.com/muesli/termenv/termenv_unix.go +301 -0 collapsed to keep the page light
A vendor/github.com/muesli/termenv/termenv_windows.go +140 -0 collapsed to keep the page light
A vendor/github.com/natefinch/atomic/.gitignore +24 -0 collapsed to keep the page light
A vendor/github.com/natefinch/atomic/LICENSE +22 -0 collapsed to keep the page light
A vendor/github.com/natefinch/atomic/README.md +35 -0 collapsed to keep the page light
A vendor/github.com/natefinch/atomic/atomic.go +73 -0 collapsed to keep the page light
A vendor/github.com/natefinch/atomic/file_unix.go +14 -0 collapsed to keep the page light
A vendor/github.com/natefinch/atomic/file_windows.go +33 -0 collapsed to keep the page light
A vendor/github.com/natefinch/atomic/zfile_windows.go +27 -0 collapsed to keep the page light
A vendor/github.com/pelletier/go-toml/v2/.dockerignore +2 -0 collapsed to keep the page light
A vendor/github.com/pelletier/go-toml/v2/.gitattributes +4 -0 collapsed to keep the page light
A vendor/github.com/pelletier/go-toml/v2/.gitignore +8 -0 collapsed to keep the page light
A vendor/github.com/pelletier/go-toml/v2/.golangci.toml +76 -0 collapsed to keep the page light
A vendor/github.com/pelletier/go-toml/v2/.goreleaser.yaml +128 -0 collapsed to keep the page light
A vendor/github.com/pelletier/go-toml/v2/AGENTS.md +73 -0 collapsed to keep the page light
A vendor/github.com/pelletier/go-toml/v2/CONTRIBUTING.md +254 -0 collapsed to keep the page light
A vendor/github.com/pelletier/go-toml/v2/Dockerfile +6 -0 collapsed to keep the page light
A vendor/github.com/pelletier/go-toml/v2/LICENSE +22 -0 collapsed to keep the page light
A vendor/github.com/pelletier/go-toml/v2/README.md +327 -0 collapsed to keep the page light
A vendor/github.com/pelletier/go-toml/v2/SECURITY.md +16 -0 collapsed to keep the page light
A vendor/github.com/pelletier/go-toml/v2/capability_baseline.txt +1 -0 collapsed to keep the page light
A vendor/github.com/pelletier/go-toml/v2/caps.sh +101 -0 collapsed to keep the page light
A vendor/github.com/pelletier/go-toml/v2/ci.sh +293 -0 collapsed to keep the page light
A vendor/github.com/pelletier/go-toml/v2/decode.go +538 -0 collapsed to keep the page light
A vendor/github.com/pelletier/go-toml/v2/decode_fused.go +362 -0 collapsed to keep the page light
A vendor/github.com/pelletier/go-toml/v2/doc.go +2 -0 collapsed to keep the page light
A vendor/github.com/pelletier/go-toml/v2/errors.go +233 -0 collapsed to keep the page light
A vendor/github.com/pelletier/go-toml/v2/internal/parserbridge/parserbridge.go +37 -0 collapsed to keep the page light
A vendor/github.com/pelletier/go-toml/v2/internal/tracker/key.go +49 -0 collapsed to keep the page light
A vendor/github.com/pelletier/go-toml/v2/internal/tracker/seen.go +450 -0 collapsed to keep the page light
A vendor/github.com/pelletier/go-toml/v2/internal/tracker/tracker.go +2 -0 collapsed to keep the page light
A vendor/github.com/pelletier/go-toml/v2/localtime.go +121 -0 collapsed to keep the page light
A vendor/github.com/pelletier/go-toml/v2/marshaler.go +1697 -0 collapsed to keep the page light
A vendor/github.com/pelletier/go-toml/v2/strict.go +108 -0 collapsed to keep the page light
A vendor/github.com/pelletier/go-toml/v2/test-go-versions.sh +597 -0 collapsed to keep the page light
A vendor/github.com/pelletier/go-toml/v2/toml.abnf +246 -0 collapsed to keep the page light
A vendor/github.com/pelletier/go-toml/v2/types.go +24 -0 collapsed to keep the page light
A vendor/github.com/pelletier/go-toml/v2/unmarshaler.go +2396 -0 collapsed to keep the page light
A vendor/github.com/pelletier/go-toml/v2/unstable/ast.go +124 -0 collapsed to keep the page light
A vendor/github.com/pelletier/go-toml/v2/unstable/bridge.go +21 -0 collapsed to keep the page light
A vendor/github.com/pelletier/go-toml/v2/unstable/doc.go +3 -0 collapsed to keep the page light
A vendor/github.com/pelletier/go-toml/v2/unstable/kind.go +83 -0 collapsed to keep the page light
A vendor/github.com/pelletier/go-toml/v2/unstable/marshaler.go +29 -0 collapsed to keep the page light
A vendor/github.com/pelletier/go-toml/v2/unstable/parser.go +1686 -0 collapsed to keep the page light
A vendor/github.com/pelletier/go-toml/v2/unstable/unmarshaler.go +43 -0 collapsed to keep the page light
A vendor/github.com/pmezard/go-difflib/LICENSE +27 -0 collapsed to keep the page light
A vendor/github.com/pmezard/go-difflib/difflib/difflib.go +772 -0 collapsed to keep the page light
A vendor/github.com/pressly/goose/v3/.gitignore +22 -0 collapsed to keep the page light
A vendor/github.com/pressly/goose/v3/.golangci.yaml +31 -0 collapsed to keep the page light
A vendor/github.com/pressly/goose/v3/.goreleaser.yaml +37 -0 collapsed to keep the page light
A vendor/github.com/pressly/goose/v3/CHANGELOG.md +350 -0 collapsed to keep the page light
A vendor/github.com/pressly/goose/v3/LICENSE +22 -0 collapsed to keep the page light
A vendor/github.com/pressly/goose/v3/Makefile +150 -0 collapsed to keep the page light
A vendor/github.com/pressly/goose/v3/README.md +500 -0 collapsed to keep the page light
A vendor/github.com/pressly/goose/v3/create.go +116 -0 collapsed to keep the page light
A vendor/github.com/pressly/goose/v3/database/dialect/querier.go +25 -0 collapsed to keep the page light
A vendor/github.com/pressly/goose/v3/database/dialect/querier_extended.go +22 -0 collapsed to keep the page light
A vendor/github.com/pressly/goose/v3/database/dialects.go +214 -0 collapsed to keep the page light
A vendor/github.com/pressly/goose/v3/database/doc.go +14 -0 collapsed to keep the page light
A vendor/github.com/pressly/goose/v3/database/sql_extended.go +23 -0 collapsed to keep the page light
A vendor/github.com/pressly/goose/v3/database/store.go +66 -0 collapsed to keep the page light
A vendor/github.com/pressly/goose/v3/database/store_extended.go +33 -0 collapsed to keep the page light
A vendor/github.com/pressly/goose/v3/db.go +48 -0 collapsed to keep the page light
A vendor/github.com/pressly/goose/v3/dialect.go +74 -0 collapsed to keep the page light
A vendor/github.com/pressly/goose/v3/down.go +107 -0 collapsed to keep the page light
A vendor/github.com/pressly/goose/v3/fix.go +54 -0 collapsed to keep the page light
A vendor/github.com/pressly/goose/v3/globals.go +104 -0 collapsed to keep the page light
A vendor/github.com/pressly/goose/v3/goose.go +141 -0 collapsed to keep the page light
A vendor/github.com/pressly/goose/v3/helpers.go +84 -0 collapsed to keep the page light
A vendor/github.com/pressly/goose/v3/install.sh +37 -0 collapsed to keep the page light
A vendor/github.com/pressly/goose/v3/internal/controller/store.go +37 -0 collapsed to keep the page light
A vendor/github.com/pressly/goose/v3/internal/dialects/clickhouse.go +53 -0 collapsed to keep the page light
A vendor/github.com/pressly/goose/v3/internal/dialects/dsql.go +66 -0 collapsed to keep the page light
A vendor/github.com/pressly/goose/v3/internal/dialects/mysql.go +62 -0 collapsed to keep the page light
A vendor/github.com/pressly/goose/v3/internal/dialects/postgres.go +70 -0 collapsed to keep the page light
A vendor/github.com/pressly/goose/v3/internal/dialects/redshift.go +52 -0 collapsed to keep the page light
A vendor/github.com/pressly/goose/v3/internal/dialects/spanner.go +50 -0 collapsed to keep the page light
A vendor/github.com/pressly/goose/v3/internal/dialects/sqlite3.go +51 -0 collapsed to keep the page light
A vendor/github.com/pressly/goose/v3/internal/dialects/sqlserver.go +51 -0 collapsed to keep the page light
A vendor/github.com/pressly/goose/v3/internal/dialects/starrocks.go +54 -0 collapsed to keep the page light
A vendor/github.com/pressly/goose/v3/internal/dialects/tidb.go +52 -0 collapsed to keep the page light
A vendor/github.com/pressly/goose/v3/internal/dialects/turso.go +14 -0 collapsed to keep the page light
A vendor/github.com/pressly/goose/v3/internal/dialects/vertica.go +54 -0 collapsed to keep the page light
A vendor/github.com/pressly/goose/v3/internal/dialects/ydb.go +72 -0 collapsed to keep the page light
A vendor/github.com/pressly/goose/v3/internal/gooseutil/resolve.go +118 -0 collapsed to keep the page light
A vendor/github.com/pressly/goose/v3/internal/legacystore/legacystore.go +173 -0 collapsed to keep the page light
A vendor/github.com/pressly/goose/v3/internal/sqlparser/parse.go +59 -0 collapsed to keep the page light
A vendor/github.com/pressly/goose/v3/internal/sqlparser/parser.go +394 -0 collapsed to keep the page light
A vendor/github.com/pressly/goose/v3/lock/internal/store/postgres.go +282 -0 collapsed to keep the page light
A vendor/github.com/pressly/goose/v3/lock/internal/store/store.go +51 -0 collapsed to keep the page light
A vendor/github.com/pressly/goose/v3/lock/internal/table/config.go +28 -0 collapsed to keep the page light
A vendor/github.com/pressly/goose/v3/lock/internal/table/locker.go +237 -0 collapsed to keep the page light
A vendor/github.com/pressly/goose/v3/lock/locker.go +32 -0 collapsed to keep the page light
A vendor/github.com/pressly/goose/v3/lock/postgres.go +165 -0 collapsed to keep the page light
A vendor/github.com/pressly/goose/v3/lock/session_locker_options.go +98 -0 collapsed to keep the page light
A vendor/github.com/pressly/goose/v3/lock/table_locker_options.go +136 -0 collapsed to keep the page light
A vendor/github.com/pressly/goose/v3/log.go +36 -0 collapsed to keep the page light
A vendor/github.com/pressly/goose/v3/migrate.go +379 -0 collapsed to keep the page light
A vendor/github.com/pressly/goose/v3/migration.go +398 -0 collapsed to keep the page light
A vendor/github.com/pressly/goose/v3/migration_sql.go +115 -0 collapsed to keep the page light
A vendor/github.com/pressly/goose/v3/osfs.go +28 -0 collapsed to keep the page light
A vendor/github.com/pressly/goose/v3/provider.go +669 -0 collapsed to keep the page light
A vendor/github.com/pressly/goose/v3/provider_collect.go +196 -0 collapsed to keep the page light
A vendor/github.com/pressly/goose/v3/provider_errors.go +48 -0 collapsed to keep the page light
A vendor/github.com/pressly/goose/v3/provider_options.go +280 -0 collapsed to keep the page light
A vendor/github.com/pressly/goose/v3/provider_run.go +535 -0 collapsed to keep the page light
A vendor/github.com/pressly/goose/v3/provider_types.go +91 -0 collapsed to keep the page light
A vendor/github.com/pressly/goose/v3/redo.go +51 -0 collapsed to keep the page light
A vendor/github.com/pressly/goose/v3/register.go +133 -0 collapsed to keep the page light
A vendor/github.com/pressly/goose/v3/reset.go +64 -0 collapsed to keep the page light
A vendor/github.com/pressly/goose/v3/status.go +64 -0 collapsed to keep the page light
A vendor/github.com/pressly/goose/v3/up.go +221 -0 collapsed to keep the page light
A vendor/github.com/pressly/goose/v3/version.go +52 -0 collapsed to keep the page light
A vendor/github.com/rivo/uniseg/LICENSE.txt +21 -0 collapsed to keep the page light
A vendor/github.com/rivo/uniseg/README.md +137 -0 collapsed to keep the page light
A vendor/github.com/rivo/uniseg/doc.go +108 -0 collapsed to keep the page light
A vendor/github.com/rivo/uniseg/eastasianwidth.go +2588 -0 collapsed to keep the page light
A vendor/github.com/rivo/uniseg/emojipresentation.go +295 -0 collapsed to keep the page light
A vendor/github.com/rivo/uniseg/gen_breaktest.go +215 -0 collapsed to keep the page light
A vendor/github.com/rivo/uniseg/gen_properties.go +261 -0 collapsed to keep the page light
A vendor/github.com/rivo/uniseg/grapheme.go +331 -0 collapsed to keep the page light
A vendor/github.com/rivo/uniseg/graphemeproperties.go +1915 -0 collapsed to keep the page light
A vendor/github.com/rivo/uniseg/graphemerules.go +176 -0 collapsed to keep the page light
A vendor/github.com/rivo/uniseg/line.go +134 -0 collapsed to keep the page light
A vendor/github.com/rivo/uniseg/lineproperties.go +3554 -0 collapsed to keep the page light
A vendor/github.com/rivo/uniseg/linerules.go +626 -0 collapsed to keep the page light
A vendor/github.com/rivo/uniseg/properties.go +208 -0 collapsed to keep the page light
A vendor/github.com/rivo/uniseg/sentence.go +90 -0 collapsed to keep the page light
A vendor/github.com/rivo/uniseg/sentenceproperties.go +2845 -0 collapsed to keep the page light
A vendor/github.com/rivo/uniseg/sentencerules.go +276 -0 collapsed to keep the page light
A vendor/github.com/rivo/uniseg/step.go +242 -0 collapsed to keep the page light
A vendor/github.com/rivo/uniseg/width.go +61 -0 collapsed to keep the page light
A vendor/github.com/rivo/uniseg/word.go +89 -0 collapsed to keep the page light
A vendor/github.com/rivo/uniseg/wordproperties.go +1883 -0 collapsed to keep the page light
A vendor/github.com/rivo/uniseg/wordrules.go +282 -0 collapsed to keep the page light
A vendor/github.com/rs/zerolog/.gitignore +27 -0 collapsed to keep the page light
A vendor/github.com/rs/zerolog/CONTRIBUTING.md +43 -0 collapsed to keep the page light
A vendor/github.com/rs/zerolog/LICENSE +21 -0 collapsed to keep the page light
A vendor/github.com/rs/zerolog/README.md +858 -0 collapsed to keep the page light
A vendor/github.com/rs/zerolog/array.go +276 -0 collapsed to keep the page light
A vendor/github.com/rs/zerolog/console.go +535 -0 collapsed to keep the page light
A vendor/github.com/rs/zerolog/context.go +535 -0 collapsed to keep the page light
A vendor/github.com/rs/zerolog/ctx.go +51 -0 collapsed to keep the page light
A vendor/github.com/rs/zerolog/encoder.go +56 -0 collapsed to keep the page light
A vendor/github.com/rs/zerolog/encoder_cbor.go +45 -0 collapsed to keep the page light
A vendor/github.com/rs/zerolog/encoder_json.go +51 -0 collapsed to keep the page light
A vendor/github.com/rs/zerolog/event.go +919 -0 collapsed to keep the page light
A vendor/github.com/rs/zerolog/example.jsonl +7 -0 collapsed to keep the page light
A vendor/github.com/rs/zerolog/fields.go +312 -0 collapsed to keep the page light
A vendor/github.com/rs/zerolog/globals.go +208 -0 collapsed to keep the page light
A vendor/github.com/rs/zerolog/globals_118.go +30 -0 collapsed to keep the page light
A vendor/github.com/rs/zerolog/go112.go +7 -0 collapsed to keep the page light
A vendor/github.com/rs/zerolog/hook.go +64 -0 collapsed to keep the page light
A vendor/github.com/rs/zerolog/internal/cbor/README.md +56 -0 collapsed to keep the page light
A vendor/github.com/rs/zerolog/internal/cbor/base.go +19 -0 collapsed to keep the page light
A vendor/github.com/rs/zerolog/internal/cbor/cbor.go +102 -0 collapsed to keep the page light
A vendor/github.com/rs/zerolog/internal/cbor/decode_stream.go +654 -0 collapsed to keep the page light
A vendor/github.com/rs/zerolog/internal/cbor/string.go +117 -0 collapsed to keep the page light
A vendor/github.com/rs/zerolog/internal/cbor/time.go +111 -0 collapsed to keep the page light
A vendor/github.com/rs/zerolog/internal/cbor/types.go +524 -0 collapsed to keep the page light
A vendor/github.com/rs/zerolog/internal/json/base.go +19 -0 collapsed to keep the page light
A vendor/github.com/rs/zerolog/internal/json/bytes.go +85 -0 collapsed to keep the page light
A vendor/github.com/rs/zerolog/internal/json/string.go +149 -0 collapsed to keep the page light
A vendor/github.com/rs/zerolog/internal/json/time.go +124 -0 collapsed to keep the page light
A vendor/github.com/rs/zerolog/internal/json/types.go +466 -0 collapsed to keep the page light
A vendor/github.com/rs/zerolog/log.go +528 -0 collapsed to keep the page light
A vendor/github.com/rs/zerolog/not_go112.go +5 -0 collapsed to keep the page light
A vendor/github.com/rs/zerolog/pretty.png +0 -0 binary file: no text diff

binary file: no text diff

A vendor/github.com/rs/zerolog/sampler.go +137 -0 collapsed to keep the page light
A vendor/github.com/rs/zerolog/slog.go +247 -0 collapsed to keep the page light
A vendor/github.com/rs/zerolog/syslog.go +89 -0 collapsed to keep the page light
A vendor/github.com/rs/zerolog/writer.go +355 -0 collapsed to keep the page light
A vendor/github.com/russross/blackfriday/v2/.gitignore +8 -0 collapsed to keep the page light
A vendor/github.com/russross/blackfriday/v2/.travis.yml +17 -0 collapsed to keep the page light
A vendor/github.com/russross/blackfriday/v2/LICENSE.txt +29 -0 collapsed to keep the page light
A vendor/github.com/russross/blackfriday/v2/README.md +335 -0 collapsed to keep the page light
A vendor/github.com/russross/blackfriday/v2/block.go +1612 -0 collapsed to keep the page light
A vendor/github.com/russross/blackfriday/v2/doc.go +46 -0 collapsed to keep the page light
A vendor/github.com/russross/blackfriday/v2/entities.go +2236 -0 collapsed to keep the page light
A vendor/github.com/russross/blackfriday/v2/esc.go +70 -0 collapsed to keep the page light
A vendor/github.com/russross/blackfriday/v2/html.go +952 -0 collapsed to keep the page light
A vendor/github.com/russross/blackfriday/v2/inline.go +1228 -0 collapsed to keep the page light
A vendor/github.com/russross/blackfriday/v2/markdown.go +950 -0 collapsed to keep the page light
A vendor/github.com/russross/blackfriday/v2/node.go +360 -0 collapsed to keep the page light
A vendor/github.com/russross/blackfriday/v2/smartypants.go +457 -0 collapsed to keep the page light
A vendor/github.com/sagikazarmark/locafero/.editorconfig +21 -0 collapsed to keep the page light
A vendor/github.com/sagikazarmark/locafero/.envrc +4 -0 collapsed to keep the page light
A vendor/github.com/sagikazarmark/locafero/.gitignore +5 -0 collapsed to keep the page light
A vendor/github.com/sagikazarmark/locafero/.golangci.yaml +37 -0 collapsed to keep the page light
A vendor/github.com/sagikazarmark/locafero/LICENSE +19 -0 collapsed to keep the page light
A vendor/github.com/sagikazarmark/locafero/README.md +37 -0 collapsed to keep the page light
A vendor/github.com/sagikazarmark/locafero/devenv.lock +103 -0 collapsed to keep the page light
A vendor/github.com/sagikazarmark/locafero/devenv.nix +17 -0 collapsed to keep the page light
A vendor/github.com/sagikazarmark/locafero/devenv.yaml +4 -0 collapsed to keep the page light
A vendor/github.com/sagikazarmark/locafero/file_type.go +32 -0 collapsed to keep the page light
A vendor/github.com/sagikazarmark/locafero/finder.go +171 -0 collapsed to keep the page light
A vendor/github.com/sagikazarmark/locafero/glob.go +5 -0 collapsed to keep the page light
A vendor/github.com/sagikazarmark/locafero/glob_windows.go +8 -0 collapsed to keep the page light
A vendor/github.com/sagikazarmark/locafero/helpers.go +41 -0 collapsed to keep the page light
A vendor/github.com/sagikazarmark/locafero/internal/queue/eager.go +53 -0 collapsed to keep the page light
A vendor/github.com/sagikazarmark/locafero/internal/queue/queue.go +8 -0 collapsed to keep the page light
A vendor/github.com/sagikazarmark/locafero/justfile +14 -0 collapsed to keep the page light
A vendor/github.com/sahilm/fuzzy/.editorconfig +18 -0 collapsed to keep the page light
A vendor/github.com/sahilm/fuzzy/.gitignore +2 -0 collapsed to keep the page light
A vendor/github.com/sahilm/fuzzy/CONTRIBUTING.md +1 -0 collapsed to keep the page light
A vendor/github.com/sahilm/fuzzy/LICENSE +21 -0 collapsed to keep the page light
A vendor/github.com/sahilm/fuzzy/Makefile +59 -0 collapsed to keep the page light
A vendor/github.com/sahilm/fuzzy/README.md +186 -0 collapsed to keep the page light
A vendor/github.com/sahilm/fuzzy/fuzzy.go +263 -0 collapsed to keep the page light
A vendor/github.com/sethvargo/go-retry/LICENSE +202 -0 collapsed to keep the page light
A vendor/github.com/sethvargo/go-retry/README.md +185 -0 collapsed to keep the page light
A vendor/github.com/sethvargo/go-retry/backoff.go +134 -0 collapsed to keep the page light
A vendor/github.com/sethvargo/go-retry/backoff_constant.go +25 -0 collapsed to keep the page light
A vendor/github.com/sethvargo/go-retry/backoff_exponential.go +47 -0 collapsed to keep the page light
A vendor/github.com/sethvargo/go-retry/backoff_fibonacci.go +56 -0 collapsed to keep the page light
A vendor/github.com/sethvargo/go-retry/rand.go +54 -0 collapsed to keep the page light
A vendor/github.com/sethvargo/go-retry/retry.go +104 -0 collapsed to keep the page light
A vendor/github.com/spf13/afero/.editorconfig +15 -0 collapsed to keep the page light
A vendor/github.com/spf13/afero/.gitignore +2 -0 collapsed to keep the page light
A vendor/github.com/spf13/afero/.golangci.yaml +48 -0 collapsed to keep the page light
A vendor/github.com/spf13/afero/LICENSE.txt +174 -0 collapsed to keep the page light
A vendor/github.com/spf13/afero/README.md +474 -0 collapsed to keep the page light
A vendor/github.com/spf13/afero/afero.go +111 -0 collapsed to keep the page light
A vendor/github.com/spf13/afero/appveyor.yml +10 -0 collapsed to keep the page light
A vendor/github.com/spf13/afero/basepath.go +222 -0 collapsed to keep the page light
A vendor/github.com/spf13/afero/cacheOnReadFs.go +315 -0 collapsed to keep the page light
A vendor/github.com/spf13/afero/const_bsds.go +23 -0 collapsed to keep the page light
A vendor/github.com/spf13/afero/const_win_unix.go +22 -0 collapsed to keep the page light
A vendor/github.com/spf13/afero/copyOnWriteFs.go +332 -0 collapsed to keep the page light
A vendor/github.com/spf13/afero/httpFs.go +114 -0 collapsed to keep the page light
A vendor/github.com/spf13/afero/internal/common/adapters.go +27 -0 collapsed to keep the page light
A vendor/github.com/spf13/afero/iofs.go +302 -0 collapsed to keep the page light
A vendor/github.com/spf13/afero/ioutil.go +243 -0 collapsed to keep the page light
A vendor/github.com/spf13/afero/lstater.go +27 -0 collapsed to keep the page light
A vendor/github.com/spf13/afero/match.go +110 -0 collapsed to keep the page light
A vendor/github.com/spf13/afero/mem/dir.go +37 -0 collapsed to keep the page light
A vendor/github.com/spf13/afero/mem/dirmap.go +43 -0 collapsed to keep the page light
A vendor/github.com/spf13/afero/mem/file.go +373 -0 collapsed to keep the page light
A vendor/github.com/spf13/afero/memmap.go +463 -0 collapsed to keep the page light
A vendor/github.com/spf13/afero/os.go +113 -0 collapsed to keep the page light
A vendor/github.com/spf13/afero/path.go +106 -0 collapsed to keep the page light
A vendor/github.com/spf13/afero/readonlyfs.go +96 -0 collapsed to keep the page light
A vendor/github.com/spf13/afero/regexpfs.go +223 -0 collapsed to keep the page light
A vendor/github.com/spf13/afero/symlink.go +55 -0 collapsed to keep the page light
A vendor/github.com/spf13/afero/unionFile.go +331 -0 collapsed to keep the page light
A vendor/github.com/spf13/afero/util.go +329 -0 collapsed to keep the page light
A vendor/github.com/spf13/cast/.editorconfig +15 -0 collapsed to keep the page light
A vendor/github.com/spf13/cast/.gitignore +25 -0 collapsed to keep the page light
A vendor/github.com/spf13/cast/.golangci.yaml +39 -0 collapsed to keep the page light
A vendor/github.com/spf13/cast/LICENSE +21 -0 collapsed to keep the page light
A vendor/github.com/spf13/cast/Makefile +40 -0 collapsed to keep the page light
A vendor/github.com/spf13/cast/README.md +79 -0 collapsed to keep the page light
A vendor/github.com/spf13/cast/alias.go +69 -0 collapsed to keep the page light
A vendor/github.com/spf13/cast/basic.go +131 -0 collapsed to keep the page light
A vendor/github.com/spf13/cast/cast.go +84 -0 collapsed to keep the page light
A vendor/github.com/spf13/cast/indirect.go +37 -0 collapsed to keep the page light
A vendor/github.com/spf13/cast/internal/time.go +79 -0 collapsed to keep the page light
A vendor/github.com/spf13/cast/internal/timeformattype_string.go +27 -0 collapsed to keep the page light
A vendor/github.com/spf13/cast/map.go +212 -0 collapsed to keep the page light
A vendor/github.com/spf13/cast/number.go +549 -0 collapsed to keep the page light
A vendor/github.com/spf13/cast/slice.go +106 -0 collapsed to keep the page light
A vendor/github.com/spf13/cast/time.go +116 -0 collapsed to keep the page light
A vendor/github.com/spf13/cast/zz_generated.go +261 -0 collapsed to keep the page light
A vendor/github.com/spf13/cobra/.gitignore +39 -0 collapsed to keep the page light
A vendor/github.com/spf13/cobra/.golangci.yml +66 -0 collapsed to keep the page light
A vendor/github.com/spf13/cobra/.mailmap +3 -0 collapsed to keep the page light
A vendor/github.com/spf13/cobra/CONDUCT.md +37 -0 collapsed to keep the page light
A vendor/github.com/spf13/cobra/CONTRIBUTING.md +50 -0 collapsed to keep the page light
A vendor/github.com/spf13/cobra/LICENSE.txt +174 -0 collapsed to keep the page light
A vendor/github.com/spf13/cobra/MAINTAINERS +13 -0 collapsed to keep the page light
A vendor/github.com/spf13/cobra/Makefile +35 -0 collapsed to keep the page light
A vendor/github.com/spf13/cobra/README.md +133 -0 collapsed to keep the page light
A vendor/github.com/spf13/cobra/SECURITY.md +105 -0 collapsed to keep the page light
A vendor/github.com/spf13/cobra/active_help.go +60 -0 collapsed to keep the page light
A vendor/github.com/spf13/cobra/args.go +131 -0 collapsed to keep the page light
A vendor/github.com/spf13/cobra/bash_completions.go +709 -0 collapsed to keep the page light
A vendor/github.com/spf13/cobra/bash_completionsV2.go +484 -0 collapsed to keep the page light
A vendor/github.com/spf13/cobra/cobra.go +246 -0 collapsed to keep the page light
A vendor/github.com/spf13/cobra/command.go +2072 -0 collapsed to keep the page light
A vendor/github.com/spf13/cobra/command_notwin.go +20 -0 collapsed to keep the page light
A vendor/github.com/spf13/cobra/command_win.go +41 -0 collapsed to keep the page light
A vendor/github.com/spf13/cobra/completions.go +1020 -0 collapsed to keep the page light
A vendor/github.com/spf13/cobra/doc/man_docs.go +246 -0 collapsed to keep the page light
A vendor/github.com/spf13/cobra/doc/md_docs.go +158 -0 collapsed to keep the page light
A vendor/github.com/spf13/cobra/doc/rest_docs.go +186 -0 collapsed to keep the page light
A vendor/github.com/spf13/cobra/doc/util.go +52 -0 collapsed to keep the page light
A vendor/github.com/spf13/cobra/doc/yaml_docs.go +175 -0 collapsed to keep the page light
A vendor/github.com/spf13/cobra/fish_completions.go +292 -0 collapsed to keep the page light
A vendor/github.com/spf13/cobra/flag_groups.go +290 -0 collapsed to keep the page light
A vendor/github.com/spf13/cobra/powershell_completions.go +350 -0 collapsed to keep the page light
A vendor/github.com/spf13/cobra/shell_completions.go +98 -0 collapsed to keep the page light
A vendor/github.com/spf13/cobra/zsh_completions.go +308 -0 collapsed to keep the page light
A vendor/github.com/spf13/pflag/.editorconfig +12 -0 collapsed to keep the page light
A vendor/github.com/spf13/pflag/.gitignore +2 -0 collapsed to keep the page light
A vendor/github.com/spf13/pflag/.golangci.yaml +4 -0 collapsed to keep the page light
A vendor/github.com/spf13/pflag/.travis.yml +22 -0 collapsed to keep the page light
A vendor/github.com/spf13/pflag/LICENSE +28 -0 collapsed to keep the page light
A vendor/github.com/spf13/pflag/README.md +323 -0 collapsed to keep the page light
A vendor/github.com/spf13/pflag/bool.go +94 -0 collapsed to keep the page light
A vendor/github.com/spf13/pflag/bool_func.go +40 -0 collapsed to keep the page light
A vendor/github.com/spf13/pflag/bool_slice.go +185 -0 collapsed to keep the page light
A vendor/github.com/spf13/pflag/bytes.go +209 -0 collapsed to keep the page light
A vendor/github.com/spf13/pflag/count.go +96 -0 collapsed to keep the page light
A vendor/github.com/spf13/pflag/duration.go +86 -0 collapsed to keep the page light
A vendor/github.com/spf13/pflag/duration_slice.go +166 -0 collapsed to keep the page light
A vendor/github.com/spf13/pflag/errors.go +149 -0 collapsed to keep the page light
A vendor/github.com/spf13/pflag/flag.go +1289 -0 collapsed to keep the page light
A vendor/github.com/spf13/pflag/float32.go +88 -0 collapsed to keep the page light
A vendor/github.com/spf13/pflag/float32_slice.go +174 -0 collapsed to keep the page light
A vendor/github.com/spf13/pflag/float64.go +84 -0 collapsed to keep the page light
A vendor/github.com/spf13/pflag/float64_slice.go +166 -0 collapsed to keep the page light
A vendor/github.com/spf13/pflag/func.go +37 -0 collapsed to keep the page light
A vendor/github.com/spf13/pflag/golangflag.go +161 -0 collapsed to keep the page light
A vendor/github.com/spf13/pflag/int.go +84 -0 collapsed to keep the page light
A vendor/github.com/spf13/pflag/int16.go +88 -0 collapsed to keep the page light
A vendor/github.com/spf13/pflag/int32.go +88 -0 collapsed to keep the page light
A vendor/github.com/spf13/pflag/int32_slice.go +174 -0 collapsed to keep the page light
A vendor/github.com/spf13/pflag/int64.go +84 -0 collapsed to keep the page light
A vendor/github.com/spf13/pflag/int64_slice.go +166 -0 collapsed to keep the page light
A vendor/github.com/spf13/pflag/int8.go +88 -0 collapsed to keep the page light
A vendor/github.com/spf13/pflag/int_slice.go +158 -0 collapsed to keep the page light
A vendor/github.com/spf13/pflag/ip.go +97 -0 collapsed to keep the page light
A vendor/github.com/spf13/pflag/ip_slice.go +186 -0 collapsed to keep the page light
A vendor/github.com/spf13/pflag/ipmask.go +122 -0 collapsed to keep the page light
A vendor/github.com/spf13/pflag/ipnet.go +98 -0 collapsed to keep the page light
A vendor/github.com/spf13/pflag/ipnet_slice.go +147 -0 collapsed to keep the page light
A vendor/github.com/spf13/pflag/string.go +80 -0 collapsed to keep the page light
A vendor/github.com/spf13/pflag/string_array.go +125 -0 collapsed to keep the page light
A vendor/github.com/spf13/pflag/string_slice.go +163 -0 collapsed to keep the page light
A vendor/github.com/spf13/pflag/string_to_int.go +149 -0 collapsed to keep the page light
A vendor/github.com/spf13/pflag/string_to_int64.go +149 -0 collapsed to keep the page light
A vendor/github.com/spf13/pflag/string_to_string.go +168 -0 collapsed to keep the page light
A vendor/github.com/spf13/pflag/text.go +81 -0 collapsed to keep the page light
A vendor/github.com/spf13/pflag/time.go +124 -0 collapsed to keep the page light
A vendor/github.com/spf13/pflag/uint.go +88 -0 collapsed to keep the page light
A vendor/github.com/spf13/pflag/uint16.go +88 -0 collapsed to keep the page light
A vendor/github.com/spf13/pflag/uint32.go +88 -0 collapsed to keep the page light
A vendor/github.com/spf13/pflag/uint64.go +88 -0 collapsed to keep the page light
A vendor/github.com/spf13/pflag/uint8.go +88 -0 collapsed to keep the page light
A vendor/github.com/spf13/pflag/uint_slice.go +168 -0 collapsed to keep the page light
A vendor/github.com/spf13/viper/.editorconfig +21 -0 collapsed to keep the page light
A vendor/github.com/spf13/viper/.envrc +4 -0 collapsed to keep the page light
A vendor/github.com/spf13/viper/.gitignore +8 -0 collapsed to keep the page light
A vendor/github.com/spf13/viper/.golangci.yaml +118 -0 collapsed to keep the page light
A vendor/github.com/spf13/viper/.yamlignore +2 -0 collapsed to keep the page light
A vendor/github.com/spf13/viper/.yamllint.yaml +6 -0 collapsed to keep the page light
A vendor/github.com/spf13/viper/LICENSE +21 -0 collapsed to keep the page light
A vendor/github.com/spf13/viper/Makefile +87 -0 collapsed to keep the page light
A vendor/github.com/spf13/viper/README.md +931 -0 collapsed to keep the page light
A vendor/github.com/spf13/viper/TROUBLESHOOTING.md +32 -0 collapsed to keep the page light
A vendor/github.com/spf13/viper/UPGRADE.md +147 -0 collapsed to keep the page light
A vendor/github.com/spf13/viper/encoding.go +181 -0 collapsed to keep the page light
A vendor/github.com/spf13/viper/experimental.go +8 -0 collapsed to keep the page light
A vendor/github.com/spf13/viper/file.go +104 -0 collapsed to keep the page light
A vendor/github.com/spf13/viper/finder.go +55 -0 collapsed to keep the page light
A vendor/github.com/spf13/viper/flags.go +57 -0 collapsed to keep the page light
A vendor/github.com/spf13/viper/flake.lock +255 -0 collapsed to keep the page light
A vendor/github.com/spf13/viper/flake.nix +61 -0 collapsed to keep the page light
A vendor/github.com/spf13/viper/internal/encoding/dotenv/codec.go +61 -0 collapsed to keep the page light
A vendor/github.com/spf13/viper/internal/encoding/dotenv/map_utils.go +41 -0 collapsed to keep the page light
A vendor/github.com/spf13/viper/internal/encoding/json/codec.go +17 -0 collapsed to keep the page light
A vendor/github.com/spf13/viper/internal/encoding/toml/codec.go +16 -0 collapsed to keep the page light
A vendor/github.com/spf13/viper/internal/encoding/yaml/codec.go +14 -0 collapsed to keep the page light
A vendor/github.com/spf13/viper/internal/features/bind_struct.go +5 -0 collapsed to keep the page light
A vendor/github.com/spf13/viper/internal/features/bind_struct_default.go +5 -0 collapsed to keep the page light
A vendor/github.com/spf13/viper/internal/features/finder.go +5 -0 collapsed to keep the page light
A vendor/github.com/spf13/viper/internal/features/finder_default.go +5 -0 collapsed to keep the page light
A vendor/github.com/spf13/viper/logger.go +31 -0 collapsed to keep the page light
A vendor/github.com/spf13/viper/remote.go +259 -0 collapsed to keep the page light
A vendor/github.com/spf13/viper/util.go +211 -0 collapsed to keep the page light
A vendor/github.com/spf13/viper/viper.go +2077 -0 collapsed to keep the page light
A vendor/github.com/stretchr/objx/.codeclimate.yml +21 -0 collapsed to keep the page light
A vendor/github.com/stretchr/objx/.gitignore +11 -0 collapsed to keep the page light
A vendor/github.com/stretchr/objx/LICENSE +22 -0 collapsed to keep the page light
A vendor/github.com/stretchr/objx/README.md +91 -0 collapsed to keep the page light
A vendor/github.com/stretchr/objx/Taskfile.yml +27 -0 collapsed to keep the page light
A vendor/github.com/stretchr/objx/accessors.go +197 -0 collapsed to keep the page light
A vendor/github.com/stretchr/objx/conversions.go +280 -0 collapsed to keep the page light
A vendor/github.com/stretchr/objx/doc.go +66 -0 collapsed to keep the page light
A vendor/github.com/stretchr/objx/map.go +214 -0 collapsed to keep the page light
A vendor/github.com/stretchr/objx/mutations.go +77 -0 collapsed to keep the page light
A vendor/github.com/stretchr/objx/security.go +12 -0 collapsed to keep the page light
A vendor/github.com/stretchr/objx/tests.go +17 -0 collapsed to keep the page light
A vendor/github.com/stretchr/objx/type_specific.go +346 -0 collapsed to keep the page light
A vendor/github.com/stretchr/objx/type_specific_codegen.go +2261 -0 collapsed to keep the page light
A vendor/github.com/stretchr/objx/value.go +159 -0 collapsed to keep the page light
A vendor/github.com/stretchr/testify/LICENSE +21 -0 collapsed to keep the page light
A vendor/github.com/stretchr/testify/assert/assertion_compare.go +495 -0 collapsed to keep the page light
A vendor/github.com/stretchr/testify/assert/assertion_format.go +866 -0 collapsed to keep the page light
A vendor/github.com/stretchr/testify/assert/assertion_format.go.tmpl +5 -0 collapsed to keep the page light
A vendor/github.com/stretchr/testify/assert/assertion_forward.go +1723 -0 collapsed to keep the page light
A vendor/github.com/stretchr/testify/assert/assertion_forward.go.tmpl +5 -0 collapsed to keep the page light
A vendor/github.com/stretchr/testify/assert/assertion_order.go +81 -0 collapsed to keep the page light
A vendor/github.com/stretchr/testify/assert/assertions.go +2295 -0 collapsed to keep the page light
A vendor/github.com/stretchr/testify/assert/doc.go +50 -0 collapsed to keep the page light
A vendor/github.com/stretchr/testify/assert/errors.go +10 -0 collapsed to keep the page light
A vendor/github.com/stretchr/testify/assert/forward_assertions.go +16 -0 collapsed to keep the page light
A vendor/github.com/stretchr/testify/assert/http_assertions.go +165 -0 collapsed to keep the page light
A vendor/github.com/stretchr/testify/assert/yaml/yaml_custom.go +24 -0 collapsed to keep the page light
A vendor/github.com/stretchr/testify/assert/yaml/yaml_default.go +36 -0 collapsed to keep the page light
A vendor/github.com/stretchr/testify/assert/yaml/yaml_fail.go +17 -0 collapsed to keep the page light
A vendor/github.com/stretchr/testify/mock/doc.go +44 -0 collapsed to keep the page light
A vendor/github.com/stretchr/testify/mock/mock.go +1298 -0 collapsed to keep the page light
A vendor/github.com/stretchr/testify/require/doc.go +31 -0 collapsed to keep the page light
A vendor/github.com/stretchr/testify/require/forward_requirements.go +16 -0 collapsed to keep the page light
A vendor/github.com/stretchr/testify/require/require.go +2180 -0 collapsed to keep the page light
A vendor/github.com/stretchr/testify/require/require.go.tmpl +6 -0 collapsed to keep the page light
A vendor/github.com/stretchr/testify/require/require_forward.go +1724 -0 collapsed to keep the page light
A vendor/github.com/stretchr/testify/require/require_forward.go.tmpl +5 -0 collapsed to keep the page light
A vendor/github.com/stretchr/testify/require/requirements.go +29 -0 collapsed to keep the page light
A vendor/github.com/subosito/gotenv/.env +1 -0 collapsed to keep the page light
A vendor/github.com/subosito/gotenv/.env.invalid +1 -0 collapsed to keep the page light
A vendor/github.com/subosito/gotenv/.gitignore +4 -0 collapsed to keep the page light
A vendor/github.com/subosito/gotenv/.golangci.yaml +7 -0 collapsed to keep the page light
A vendor/github.com/subosito/gotenv/CHANGELOG.md +105 -0 collapsed to keep the page light
A vendor/github.com/subosito/gotenv/LICENSE +21 -0 collapsed to keep the page light
A vendor/github.com/subosito/gotenv/README.md +129 -0 collapsed to keep the page light
A vendor/github.com/subosito/gotenv/gotenv.go +409 -0 collapsed to keep the page light
A vendor/github.com/xo/terminfo/.gitignore +9 -0 collapsed to keep the page light
A vendor/github.com/xo/terminfo/LICENSE +21 -0 collapsed to keep the page light
A vendor/github.com/xo/terminfo/README.md +139 -0 collapsed to keep the page light
A vendor/github.com/xo/terminfo/caps.go +31 -0 collapsed to keep the page light
A vendor/github.com/xo/terminfo/capvals.go +1525 -0 collapsed to keep the page light
A vendor/github.com/xo/terminfo/color.go +88 -0 collapsed to keep the page light
A vendor/github.com/xo/terminfo/dec.go +245 -0 collapsed to keep the page light
A vendor/github.com/xo/terminfo/load.go +64 -0 collapsed to keep the page light
A vendor/github.com/xo/terminfo/param.go +405 -0 collapsed to keep the page light
A vendor/github.com/xo/terminfo/stack.go +48 -0 collapsed to keep the page light
A vendor/github.com/xo/terminfo/terminfo.go +479 -0 collapsed to keep the page light
A vendor/go.uber.org/multierr/.codecov.yml +15 -0 collapsed to keep the page light
A vendor/go.uber.org/multierr/.gitignore +4 -0 collapsed to keep the page light
A vendor/go.uber.org/multierr/CHANGELOG.md +95 -0 collapsed to keep the page light
A vendor/go.uber.org/multierr/LICENSE.txt +19 -0 collapsed to keep the page light
A vendor/go.uber.org/multierr/Makefile +38 -0 collapsed to keep the page light
A vendor/go.uber.org/multierr/README.md +43 -0 collapsed to keep the page light
A vendor/go.uber.org/multierr/error.go +646 -0 collapsed to keep the page light
A vendor/go.uber.org/multierr/error_post_go120.go +48 -0 collapsed to keep the page light
A vendor/go.uber.org/multierr/error_pre_go120.go +79 -0 collapsed to keep the page light
A vendor/go.yaml.in/yaml/v3/LICENSE +50 -0 collapsed to keep the page light
A vendor/go.yaml.in/yaml/v3/NOTICE +13 -0 collapsed to keep the page light
A vendor/go.yaml.in/yaml/v3/README.md +171 -0 collapsed to keep the page light
A vendor/go.yaml.in/yaml/v3/apic.go +747 -0 collapsed to keep the page light
A vendor/go.yaml.in/yaml/v3/decode.go +1018 -0 collapsed to keep the page light
A vendor/go.yaml.in/yaml/v3/emitterc.go +2054 -0 collapsed to keep the page light
A vendor/go.yaml.in/yaml/v3/encode.go +577 -0 collapsed to keep the page light
A vendor/go.yaml.in/yaml/v3/parserc.go +1274 -0 collapsed to keep the page light
A vendor/go.yaml.in/yaml/v3/readerc.go +434 -0 collapsed to keep the page light
A vendor/go.yaml.in/yaml/v3/resolve.go +326 -0 collapsed to keep the page light
A vendor/go.yaml.in/yaml/v3/scannerc.go +3040 -0 collapsed to keep the page light
A vendor/go.yaml.in/yaml/v3/sorter.go +134 -0 collapsed to keep the page light
A vendor/go.yaml.in/yaml/v3/writerc.go +48 -0 collapsed to keep the page light
A vendor/go.yaml.in/yaml/v3/yaml.go +703 -0 collapsed to keep the page light
A vendor/go.yaml.in/yaml/v3/yamlh.go +811 -0 collapsed to keep the page light
A vendor/go.yaml.in/yaml/v3/yamlprivateh.go +198 -0 collapsed to keep the page light
A vendor/golang.org/x/image/LICENSE +27 -0 collapsed to keep the page light
A vendor/golang.org/x/image/PATENTS +22 -0 collapsed to keep the page light
A vendor/golang.org/x/image/draw/draw.go +67 -0 collapsed to keep the page light
A vendor/golang.org/x/image/draw/impl.go +8426 -0 collapsed to keep the page light
A vendor/golang.org/x/image/draw/scale.go +525 -0 collapsed to keep the page light
A vendor/golang.org/x/image/math/f64/f64.go +37 -0 collapsed to keep the page light
A vendor/golang.org/x/mod/LICENSE +27 -0 collapsed to keep the page light
A vendor/golang.org/x/mod/PATENTS +22 -0 collapsed to keep the page light
A vendor/golang.org/x/mod/internal/lazyregexp/lazyre.go +78 -0 collapsed to keep the page light
A vendor/golang.org/x/mod/modfile/print.go +184 -0 collapsed to keep the page light
A vendor/golang.org/x/mod/modfile/read.go +962 -0 collapsed to keep the page light
A vendor/golang.org/x/mod/modfile/rule.go +1951 -0 collapsed to keep the page light
A vendor/golang.org/x/mod/modfile/work.go +333 -0 collapsed to keep the page light
A vendor/golang.org/x/mod/module/module.go +840 -0 collapsed to keep the page light
A vendor/golang.org/x/mod/module/pseudo.go +250 -0 collapsed to keep the page light
A vendor/golang.org/x/mod/semver/semver.go +407 -0 collapsed to keep the page light
A vendor/golang.org/x/net/LICENSE +27 -0 collapsed to keep the page light
A vendor/golang.org/x/net/PATENTS +22 -0 collapsed to keep the page light
A vendor/golang.org/x/net/html/atom/atom.go +78 -0 collapsed to keep the page light
A vendor/golang.org/x/net/html/atom/table.go +785 -0 collapsed to keep the page light
A vendor/golang.org/x/net/html/const.go +111 -0 collapsed to keep the page light
A vendor/golang.org/x/net/html/doc.go +122 -0 collapsed to keep the page light
A vendor/golang.org/x/net/html/doctype.go +156 -0 collapsed to keep the page light
A vendor/golang.org/x/net/html/entity.go +2252 -0 collapsed to keep the page light
A vendor/golang.org/x/net/html/escape.go +379 -0 collapsed to keep the page light
A vendor/golang.org/x/net/html/foreign.go +221 -0 collapsed to keep the page light
A vendor/golang.org/x/net/html/iter.go +54 -0 collapsed to keep the page light
A vendor/golang.org/x/net/html/node.go +230 -0 collapsed to keep the page light
A vendor/golang.org/x/net/html/nodetype_string.go +31 -0 collapsed to keep the page light
A vendor/golang.org/x/net/html/parse.go +2378 -0 collapsed to keep the page light
A vendor/golang.org/x/net/html/render.go +316 -0 collapsed to keep the page light
A vendor/golang.org/x/net/html/token.go +1322 -0 collapsed to keep the page light
A vendor/golang.org/x/net/idna/idna.go +880 -0 collapsed to keep the page light
A vendor/golang.org/x/net/idna/punycode.go +220 -0 collapsed to keep the page light
A vendor/golang.org/x/net/idna/tables15.0.0.go +5144 -0 collapsed to keep the page light
A vendor/golang.org/x/net/idna/tables17.0.0.go +5302 -0 collapsed to keep the page light
A vendor/golang.org/x/net/idna/trie.go +51 -0 collapsed to keep the page light
A vendor/golang.org/x/net/idna/trieval.go +119 -0 collapsed to keep the page light
A vendor/golang.org/x/net/publicsuffix/data/children +0 -0 binary file: no text diff

binary file: no text diff

A vendor/golang.org/x/net/publicsuffix/data/nodes +0 -0 binary file: no text diff

binary file: no text diff

A vendor/golang.org/x/net/publicsuffix/data/text +1 -0 collapsed to keep the page light
A vendor/golang.org/x/net/publicsuffix/list.go +210 -0 collapsed to keep the page light
A vendor/golang.org/x/net/publicsuffix/table.go +70 -0 collapsed to keep the page light
A vendor/golang.org/x/sync/LICENSE +27 -0 collapsed to keep the page light
A vendor/golang.org/x/sync/PATENTS +22 -0 collapsed to keep the page light
A vendor/golang.org/x/sync/errgroup/errgroup.go +151 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/LICENSE +27 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/PATENTS +22 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/.gitignore +2 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/README.md +184 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/affinity_linux.go +189 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/aliases.go +13 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/asm_aix_ppc64.s +17 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/asm_bsd_386.s +27 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/asm_bsd_amd64.s +27 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/asm_bsd_arm.s +27 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/asm_bsd_arm64.s +27 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/asm_bsd_ppc64.s +29 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/asm_bsd_riscv64.s +27 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/asm_linux_386.s +65 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/asm_linux_amd64.s +57 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/asm_linux_arm.s +56 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/asm_linux_arm64.s +50 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/asm_linux_loong64.s +51 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/asm_linux_mips64x.s +54 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/asm_linux_mipsx.s +52 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/asm_linux_ppc64x.s +42 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/asm_linux_riscv64.s +47 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/asm_linux_s390x.s +54 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/asm_openbsd_mips64.s +29 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/asm_solaris_amd64.s +17 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/asm_zos_s390x.s +382 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/auxv.go +36 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/auxv_unsupported.go +13 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/bluetooth_linux.go +36 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/bpxsvc_zos.go +657 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/bpxsvc_zos.s +192 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/cap_freebsd.go +195 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/constants.go +13 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/dev_aix_ppc.go +26 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/dev_aix_ppc64.go +28 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/dev_darwin.go +24 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/dev_dragonfly.go +30 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/dev_freebsd.go +30 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/dev_linux.go +42 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/dev_netbsd.go +29 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/dev_openbsd.go +29 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/dev_zos.go +28 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/dirent.go +102 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/endian_big.go +9 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/endian_little.go +9 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/env_unix.go +31 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/fcntl.go +36 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/fcntl_darwin.go +24 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/fcntl_linux_32bit.go +13 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/fdset.go +27 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/gccgo.go +59 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/gccgo_c.c +44 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/gccgo_linux_amd64.go +20 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/ifreq_linux.go +139 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/ioctl_linux.go +334 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/ioctl_signed.go +74 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/ioctl_unsigned.go +74 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/ioctl_zos.go +71 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/mkall.sh +250 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/mkerrors.sh +814 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/mmap_nomremap.go +13 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/mremap.go +57 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/pagesize_unix.go +15 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/pledge_openbsd.go +111 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/ptrace_darwin.go +11 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/ptrace_ios.go +11 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/race.go +30 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/race0.go +25 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/readdirent_getdents.go +12 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/readdirent_getdirentries.go +19 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/readv_unix.go +103 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/sockcmsg_dragonfly.go +16 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/sockcmsg_linux.go +85 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/sockcmsg_unix.go +106 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/sockcmsg_unix_other.go +46 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/sockcmsg_zos.go +58 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/symaddr_zos_s390x.s +75 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/syscall.go +86 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/syscall_aix.go +582 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/syscall_aix_ppc.go +52 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/syscall_aix_ppc64.go +83 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/syscall_bsd.go +609 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/syscall_darwin.go +711 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/syscall_darwin_amd64.go +50 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/syscall_darwin_arm64.go +50 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/syscall_darwin_libSystem.go +26 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/syscall_dragonfly.go +359 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/syscall_dragonfly_amd64.go +56 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/syscall_freebsd.go +455 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/syscall_freebsd_386.go +64 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/syscall_freebsd_amd64.go +64 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/syscall_freebsd_arm.go +60 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/syscall_freebsd_arm64.go +60 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/syscall_freebsd_riscv64.go +60 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/syscall_hurd.go +30 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/syscall_hurd_386.go +28 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/syscall_illumos.go +78 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/syscall_linux.go +2574 -0
@@ -0,0 +1,2574 @@
1+// Copyright 2009 The Go Authors. All rights reserved.
2+// Use of this source code is governed by a BSD-style
3+// license that can be found in the LICENSE file.
4+
5+// Linux system calls.
6+// This file is compiled as ordinary Go code,
7+// but it is also input to mksyscall,
8+// which parses the //sys lines and generates system call stubs.
9+// Note that sometimes we use a lowercase //sys name and
10+// wrap it in our own nicer implementation.
11+
12+package unix
13+
14+import (
15+ "encoding/binary"
16+ "slices"
17+ "strconv"
18+ "syscall"
19+ "time"
20+ "unsafe"
21+)
22+
23+/*
24+ * Wrapped
25+ */
26+
27+func Access(path string, mode uint32) (err error) {
28+ return Faccessat(AT_FDCWD, path, mode, 0)
29+}
30+
31+func Chmod(path string, mode uint32) (err error) {
32+ return Fchmodat(AT_FDCWD, path, mode, 0)
33+}
34+
35+func Chown(path string, uid int, gid int) (err error) {
36+ return Fchownat(AT_FDCWD, path, uid, gid, 0)
37+}
38+
39+func Creat(path string, mode uint32) (fd int, err error) {
40+ return Open(path, O_CREAT|O_WRONLY|O_TRUNC, mode)
41+}
42+
43+func EpollCreate(size int) (fd int, err error) {
44+ if size <= 0 {
45+ return -1, EINVAL
46+ }
47+ return EpollCreate1(0)
48+}
49+
50+//sys FanotifyInit(flags uint, event_f_flags uint) (fd int, err error)
51+//sys fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error)
52+
53+func FanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname string) (err error) {
54+ if pathname == "" {
55+ return fanotifyMark(fd, flags, mask, dirFd, nil)
56+ }
57+ p, err := BytePtrFromString(pathname)
58+ if err != nil {
59+ return err
60+ }
61+ return fanotifyMark(fd, flags, mask, dirFd, p)
62+}
63+
64+//sys fchmodat(dirfd int, path string, mode uint32) (err error)
65+//sys fchmodat2(dirfd int, path string, mode uint32, flags int) (err error)
66+
67+func Fchmodat(dirfd int, path string, mode uint32, flags int) error {
68+ // Linux fchmodat doesn't support the flags parameter, but fchmodat2 does.
69+ // Try fchmodat2 if flags are specified.
70+ if flags != 0 {
71+ err := fchmodat2(dirfd, path, mode, flags)
72+ if err == ENOSYS {
73+ // fchmodat2 isn't available. If the flags are known to be valid,
74+ // return EOPNOTSUPP to indicate that fchmodat doesn't support them.
75+ if flags&^(AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) != 0 {
76+ return EINVAL
77+ } else if flags&(AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) != 0 {
78+ return EOPNOTSUPP
79+ }
80+ }
81+ return err
82+ }
83+ return fchmodat(dirfd, path, mode)
84+}
85+
86+func InotifyInit() (fd int, err error) {
87+ return InotifyInit1(0)
88+}
89+
90+//sys ioctl(fd int, req uint, arg uintptr) (err error) = SYS_IOCTL
91+//sys ioctlPtr(fd int, req uint, arg unsafe.Pointer) (err error) = SYS_IOCTL
92+
93+// ioctl itself should not be exposed directly, but additional get/set functions
94+// for specific types are permissible. These are defined in ioctl.go and
95+// ioctl_linux.go.
96+//
97+// The third argument to ioctl is often a pointer but sometimes an integer.
98+// Callers should use ioctlPtr when the third argument is a pointer and ioctl
99+// when the third argument is an integer.
100+//
101+// TODO: some existing code incorrectly uses ioctl when it should use ioctlPtr.
102+
103+//sys Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error)
104+
105+func Link(oldpath string, newpath string) (err error) {
106+ return Linkat(AT_FDCWD, oldpath, AT_FDCWD, newpath, 0)
107+}
108+
109+func Mkdir(path string, mode uint32) (err error) {
110+ return Mkdirat(AT_FDCWD, path, mode)
111+}
112+
113+func Mknod(path string, mode uint32, dev int) (err error) {
114+ return Mknodat(AT_FDCWD, path, mode, dev)
115+}
116+
117+func Open(path string, mode int, perm uint32) (fd int, err error) {
118+ return openat(AT_FDCWD, path, mode|O_LARGEFILE, perm)
119+}
120+
121+//sys openat(dirfd int, path string, flags int, mode uint32) (fd int, err error)
122+
123+func Openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) {
124+ return openat(dirfd, path, flags|O_LARGEFILE, mode)
125+}
126+
127+//sys openat2(dirfd int, path string, open_how *OpenHow, size int) (fd int, err error)
128+
129+func Openat2(dirfd int, path string, how *OpenHow) (fd int, err error) {
130+ return openat2(dirfd, path, how, SizeofOpenHow)
131+}
132+
133+func Pipe(p []int) error {
134+ return Pipe2(p, 0)
135+}
136+
137+//sysnb pipe2(p *[2]_C_int, flags int) (err error)
138+
139+func Pipe2(p []int, flags int) error {
140+ if len(p) != 2 {
141+ return EINVAL
142+ }
143+ var pp [2]_C_int
144+ err := pipe2(&pp, flags)
145+ if err == nil {
146+ p[0] = int(pp[0])
147+ p[1] = int(pp[1])
148+ }
149+ return err
150+}
151+
152+//sys ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error)
153+
154+func Ppoll(fds []PollFd, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {
155+ if len(fds) == 0 {
156+ return ppoll(nil, 0, timeout, sigmask)
157+ }
158+ return ppoll(&fds[0], len(fds), timeout, sigmask)
159+}
160+
161+func Poll(fds []PollFd, timeout int) (n int, err error) {
162+ var ts *Timespec
163+ if timeout >= 0 {
164+ ts = new(Timespec)
165+ *ts = NsecToTimespec(int64(timeout) * 1e6)
166+ }
167+ return Ppoll(fds, ts, nil)
168+}
169+
170+//sys Readlinkat(dirfd int, path string, buf []byte) (n int, err error)
171+
172+func Readlink(path string, buf []byte) (n int, err error) {
173+ return Readlinkat(AT_FDCWD, path, buf)
174+}
175+
176+func Rename(oldpath string, newpath string) (err error) {
177+ return Renameat(AT_FDCWD, oldpath, AT_FDCWD, newpath)
178+}
179+
180+func Rmdir(path string) error {
181+ return Unlinkat(AT_FDCWD, path, AT_REMOVEDIR)
182+}
183+
184+//sys Symlinkat(oldpath string, newdirfd int, newpath string) (err error)
185+
186+func Symlink(oldpath string, newpath string) (err error) {
187+ return Symlinkat(oldpath, AT_FDCWD, newpath)
188+}
189+
190+func Unlink(path string) error {
191+ return Unlinkat(AT_FDCWD, path, 0)
192+}
193+
194+//sys Unlinkat(dirfd int, path string, flags int) (err error)
195+
196+func Utimes(path string, tv []Timeval) error {
197+ if tv == nil {
198+ err := utimensat(AT_FDCWD, path, nil, 0)
199+ if err != ENOSYS {
200+ return err
201+ }
202+ return utimes(path, nil)
203+ }
204+ if len(tv) != 2 {
205+ return EINVAL
206+ }
207+ var ts [2]Timespec
208+ ts[0] = NsecToTimespec(TimevalToNsec(tv[0]))
209+ ts[1] = NsecToTimespec(TimevalToNsec(tv[1]))
210+ err := utimensat(AT_FDCWD, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0)
211+ if err != ENOSYS {
212+ return err
213+ }
214+ return utimes(path, (*[2]Timeval)(unsafe.Pointer(&tv[0])))
215+}
216+
217+//sys utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error)
218+
219+func UtimesNano(path string, ts []Timespec) error {
220+ return UtimesNanoAt(AT_FDCWD, path, ts, 0)
221+}
222+
223+func UtimesNanoAt(dirfd int, path string, ts []Timespec, flags int) error {
224+ if ts == nil {
225+ return utimensat(dirfd, path, nil, flags)
226+ }
227+ if len(ts) != 2 {
228+ return EINVAL
229+ }
230+ return utimensat(dirfd, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), flags)
231+}
232+
233+func Futimesat(dirfd int, path string, tv []Timeval) error {
234+ if tv == nil {
235+ return futimesat(dirfd, path, nil)
236+ }
237+ if len(tv) != 2 {
238+ return EINVAL
239+ }
240+ return futimesat(dirfd, path, (*[2]Timeval)(unsafe.Pointer(&tv[0])))
241+}
242+
243+func Futimes(fd int, tv []Timeval) (err error) {
244+ // Believe it or not, this is the best we can do on Linux
245+ // (and is what glibc does).
246+ return Utimes("/proc/self/fd/"+strconv.Itoa(fd), tv)
247+}
248+
249+const ImplementsGetwd = true
250+
251+//sys Getcwd(buf []byte) (n int, err error)
252+
253+func Getwd() (wd string, err error) {
254+ var buf [PathMax]byte
255+ n, err := Getcwd(buf[0:])
256+ if err != nil {
257+ return "", err
258+ }
259+ // Getcwd returns the number of bytes written to buf, including the NUL.
260+ if n < 1 || n > len(buf) || buf[n-1] != 0 {
261+ return "", EINVAL
262+ }
263+ // In some cases, Linux can return a path that starts with the
264+ // "(unreachable)" prefix, which can potentially be a valid relative
265+ // path. To work around that, return ENOENT if path is not absolute.
266+ if buf[0] != '/' {
267+ return "", ENOENT
268+ }
269+
270+ return string(buf[0 : n-1]), nil
271+}
272+
273+func Getgroups() (gids []int, err error) {
274+ n, err := getgroups(0, nil)
275+ if err != nil {
276+ return nil, err
277+ }
278+ if n == 0 {
279+ return nil, nil
280+ }
281+
282+ // Sanity check group count. Max is 1<<16 on Linux.
283+ if n < 0 || n > 1<<20 {
284+ return nil, EINVAL
285+ }
286+
287+ a := make([]_Gid_t, n)
288+ n, err = getgroups(n, &a[0])
289+ if err != nil {
290+ return nil, err
291+ }
292+ gids = make([]int, n)
293+ for i, v := range a[0:n] {
294+ gids[i] = int(v)
295+ }
296+ return
297+}
298+
299+func Setgroups(gids []int) (err error) {
300+ if len(gids) == 0 {
301+ return setgroups(0, nil)
302+ }
303+
304+ a := make([]_Gid_t, len(gids))
305+ for i, v := range gids {
306+ a[i] = _Gid_t(v)
307+ }
308+ return setgroups(len(a), &a[0])
309+}
310+
311+type WaitStatus uint32
312+
313+// Wait status is 7 bits at bottom, either 0 (exited),
314+// 0x7F (stopped), or a signal number that caused an exit.
315+// The 0x80 bit is whether there was a core dump.
316+// An extra number (exit code, signal causing a stop)
317+// is in the high bits. At least that's the idea.
318+// There are various irregularities. For example, the
319+// "continued" status is 0xFFFF, distinguishing itself
320+// from stopped via the core dump bit.
321+
322+const (
323+ mask = 0x7F
324+ core = 0x80
325+ exited = 0x00
326+ stopped = 0x7F
327+ shift = 8
328+)
329+
330+func (w WaitStatus) Exited() bool { return w&mask == exited }
331+
332+func (w WaitStatus) Signaled() bool { return w&mask != stopped && w&mask != exited }
333+
334+func (w WaitStatus) Stopped() bool { return w&0xFF == stopped }
335+
336+func (w WaitStatus) Continued() bool { return w == 0xFFFF }
337+
338+func (w WaitStatus) CoreDump() bool { return w.Signaled() && w&core != 0 }
339+
340+func (w WaitStatus) ExitStatus() int {
341+ if !w.Exited() {
342+ return -1
343+ }
344+ return int(w>>shift) & 0xFF
345+}
346+
347+func (w WaitStatus) Signal() syscall.Signal {
348+ if !w.Signaled() {
349+ return -1
350+ }
351+ return syscall.Signal(w & mask)
352+}
353+
354+func (w WaitStatus) StopSignal() syscall.Signal {
355+ if !w.Stopped() {
356+ return -1
357+ }
358+ return syscall.Signal(w>>shift) & 0xFF
359+}
360+
361+func (w WaitStatus) TrapCause() int {
362+ if w.StopSignal() != SIGTRAP {
363+ return -1
364+ }
365+ return int(w>>shift) >> 8
366+}
367+
368+//sys wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error)
369+
370+func Wait4(pid int, wstatus *WaitStatus, options int, rusage *Rusage) (wpid int, err error) {
371+ var status _C_int
372+ wpid, err = wait4(pid, &status, options, rusage)
373+ if wstatus != nil {
374+ *wstatus = WaitStatus(status)
375+ }
376+ return
377+}
378+
379+//sys Waitid(idType int, id int, info *Siginfo, options int, rusage *Rusage) (err error)
380+
381+func Mkfifo(path string, mode uint32) error {
382+ return Mknod(path, mode|S_IFIFO, 0)
383+}
384+
385+func Mkfifoat(dirfd int, path string, mode uint32) error {
386+ return Mknodat(dirfd, path, mode|S_IFIFO, 0)
387+}
388+
389+func (sa *SockaddrInet4) sockaddr() (unsafe.Pointer, _Socklen, error) {
390+ if sa.Port < 0 || sa.Port > 0xFFFF {
391+ return nil, 0, EINVAL
392+ }
393+ sa.raw.Family = AF_INET
394+ p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port))
395+ p[0] = byte(sa.Port >> 8)
396+ p[1] = byte(sa.Port)
397+ sa.raw.Addr = sa.Addr
398+ return unsafe.Pointer(&sa.raw), SizeofSockaddrInet4, nil
399+}
400+
401+func (sa *SockaddrInet6) sockaddr() (unsafe.Pointer, _Socklen, error) {
402+ if sa.Port < 0 || sa.Port > 0xFFFF {
403+ return nil, 0, EINVAL
404+ }
405+ sa.raw.Family = AF_INET6
406+ p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port))
407+ p[0] = byte(sa.Port >> 8)
408+ p[1] = byte(sa.Port)
409+ sa.raw.Scope_id = sa.ZoneId
410+ sa.raw.Addr = sa.Addr
411+ return unsafe.Pointer(&sa.raw), SizeofSockaddrInet6, nil
412+}
413+
414+func (sa *SockaddrUnix) sockaddr() (unsafe.Pointer, _Socklen, error) {
415+ name := sa.Name
416+ n := len(name)
417+ if n >= len(sa.raw.Path) {
418+ return nil, 0, EINVAL
419+ }
420+ sa.raw.Family = AF_UNIX
421+ for i := range n {
422+ sa.raw.Path[i] = int8(name[i])
423+ }
424+ // length is family (uint16), name, NUL.
425+ sl := _Socklen(2)
426+ if n > 0 {
427+ sl += _Socklen(n) + 1
428+ }
429+ if sa.raw.Path[0] == '@' || (sa.raw.Path[0] == 0 && sl > 3) {
430+ // Check sl > 3 so we don't change unnamed socket behavior.
431+ sa.raw.Path[0] = 0
432+ // Don't count trailing NUL for abstract address.
433+ sl--
434+ }
435+
436+ return unsafe.Pointer(&sa.raw), sl, nil
437+}
438+
439+// SockaddrLinklayer implements the Sockaddr interface for AF_PACKET type sockets.
440+type SockaddrLinklayer struct {
441+ Protocol uint16
442+ Ifindex int
443+ Hatype uint16
444+ Pkttype uint8
445+ Halen uint8
446+ Addr [8]byte
447+ raw RawSockaddrLinklayer
448+}
449+
450+func (sa *SockaddrLinklayer) sockaddr() (unsafe.Pointer, _Socklen, error) {
451+ if sa.Ifindex < 0 || sa.Ifindex > 0x7fffffff {
452+ return nil, 0, EINVAL
453+ }
454+ sa.raw.Family = AF_PACKET
455+ sa.raw.Protocol = sa.Protocol
456+ sa.raw.Ifindex = int32(sa.Ifindex)
457+ sa.raw.Hatype = sa.Hatype
458+ sa.raw.Pkttype = sa.Pkttype
459+ sa.raw.Halen = sa.Halen
460+ sa.raw.Addr = sa.Addr
461+ return unsafe.Pointer(&sa.raw), SizeofSockaddrLinklayer, nil
462+}
463+
464+// SockaddrNetlink implements the Sockaddr interface for AF_NETLINK type sockets.
465+type SockaddrNetlink struct {
466+ Family uint16
467+ Pad uint16
468+ Pid uint32
469+ Groups uint32
470+ raw RawSockaddrNetlink
471+}
472+
473+func (sa *SockaddrNetlink) sockaddr() (unsafe.Pointer, _Socklen, error) {
474+ sa.raw.Family = AF_NETLINK
475+ sa.raw.Pad = sa.Pad
476+ sa.raw.Pid = sa.Pid
477+ sa.raw.Groups = sa.Groups
478+ return unsafe.Pointer(&sa.raw), SizeofSockaddrNetlink, nil
479+}
480+
481+// SockaddrHCI implements the Sockaddr interface for AF_BLUETOOTH type sockets
482+// using the HCI protocol.
483+type SockaddrHCI struct {
484+ Dev uint16
485+ Channel uint16
486+ raw RawSockaddrHCI
487+}
488+
489+func (sa *SockaddrHCI) sockaddr() (unsafe.Pointer, _Socklen, error) {
490+ sa.raw.Family = AF_BLUETOOTH
491+ sa.raw.Dev = sa.Dev
492+ sa.raw.Channel = sa.Channel
493+ return unsafe.Pointer(&sa.raw), SizeofSockaddrHCI, nil
494+}
495+
496+// SockaddrL2 implements the Sockaddr interface for AF_BLUETOOTH type sockets
497+// using the L2CAP protocol.
498+type SockaddrL2 struct {
499+ PSM uint16
500+ CID uint16
501+ Addr [6]uint8
502+ AddrType uint8
503+ raw RawSockaddrL2
504+}
505+
506+func (sa *SockaddrL2) sockaddr() (unsafe.Pointer, _Socklen, error) {
507+ sa.raw.Family = AF_BLUETOOTH
508+ psm := (*[2]byte)(unsafe.Pointer(&sa.raw.Psm))
509+ psm[0] = byte(sa.PSM)
510+ psm[1] = byte(sa.PSM >> 8)
511+ for i := range len(sa.Addr) {
512+ sa.raw.Bdaddr[i] = sa.Addr[len(sa.Addr)-1-i]
513+ }
514+ cid := (*[2]byte)(unsafe.Pointer(&sa.raw.Cid))
515+ cid[0] = byte(sa.CID)
516+ cid[1] = byte(sa.CID >> 8)
517+ sa.raw.Bdaddr_type = sa.AddrType
518+ return unsafe.Pointer(&sa.raw), SizeofSockaddrL2, nil
519+}
520+
521+// SockaddrRFCOMM implements the Sockaddr interface for AF_BLUETOOTH type sockets
522+// using the RFCOMM protocol.
523+//
524+// Server example:
525+//
526+// fd, _ := Socket(AF_BLUETOOTH, SOCK_STREAM, BTPROTO_RFCOMM)
527+// _ = unix.Bind(fd, &unix.SockaddrRFCOMM{
528+// Channel: 1,
529+// Addr: [6]uint8{0, 0, 0, 0, 0, 0}, // BDADDR_ANY or 00:00:00:00:00:00
530+// })
531+// _ = Listen(fd, 1)
532+// nfd, sa, _ := Accept(fd)
533+// fmt.Printf("conn addr=%v fd=%d", sa.(*unix.SockaddrRFCOMM).Addr, nfd)
534+// Read(nfd, buf)
535+//
536+// Client example:
537+//
538+// fd, _ := Socket(AF_BLUETOOTH, SOCK_STREAM, BTPROTO_RFCOMM)
539+// _ = Connect(fd, &SockaddrRFCOMM{
540+// Channel: 1,
541+// Addr: [6]byte{0x11, 0x22, 0x33, 0xaa, 0xbb, 0xcc}, // CC:BB:AA:33:22:11
542+// })
543+// Write(fd, []byte(`hello`))
544+type SockaddrRFCOMM struct {
545+ // Addr represents a bluetooth address, byte ordering is little-endian.
546+ Addr [6]uint8
547+
548+ // Channel is a designated bluetooth channel, only 1-30 are available for use.
549+ // Since Linux 2.6.7 and further zero value is the first available channel.
550+ Channel uint8
551+
552+ raw RawSockaddrRFCOMM
553+}
554+
555+func (sa *SockaddrRFCOMM) sockaddr() (unsafe.Pointer, _Socklen, error) {
556+ sa.raw.Family = AF_BLUETOOTH
557+ sa.raw.Channel = sa.Channel
558+ sa.raw.Bdaddr = sa.Addr
559+ return unsafe.Pointer(&sa.raw), SizeofSockaddrRFCOMM, nil
560+}
561+
562+// SockaddrCAN implements the Sockaddr interface for AF_CAN type sockets.
563+// The RxID and TxID fields are used for transport protocol addressing in
564+// (CAN_TP16, CAN_TP20, CAN_MCNET, and CAN_ISOTP), they can be left with
565+// zero values for CAN_RAW and CAN_BCM sockets as they have no meaning.
566+//
567+// The SockaddrCAN struct must be bound to the socket file descriptor
568+// using Bind before the CAN socket can be used.
569+//
570+// // Read one raw CAN frame
571+// fd, _ := Socket(AF_CAN, SOCK_RAW, CAN_RAW)
572+// addr := &SockaddrCAN{Ifindex: index}
573+// Bind(fd, addr)
574+// frame := make([]byte, 16)
575+// Read(fd, frame)
576+//
577+// The full SocketCAN documentation can be found in the linux kernel
578+// archives at: https://www.kernel.org/doc/Documentation/networking/can.txt
579+type SockaddrCAN struct {
580+ Ifindex int
581+ RxID uint32
582+ TxID uint32
583+ raw RawSockaddrCAN
584+}
585+
586+func (sa *SockaddrCAN) sockaddr() (unsafe.Pointer, _Socklen, error) {
587+ if sa.Ifindex < 0 || sa.Ifindex > 0x7fffffff {
588+ return nil, 0, EINVAL
589+ }
590+ sa.raw.Family = AF_CAN
591+ sa.raw.Ifindex = int32(sa.Ifindex)
592+ rx := (*[4]byte)(unsafe.Pointer(&sa.RxID))
593+ for i := range 4 {
594+ sa.raw.Addr[i] = rx[i]
595+ }
596+ tx := (*[4]byte)(unsafe.Pointer(&sa.TxID))
597+ for i := range 4 {
598+ sa.raw.Addr[i+4] = tx[i]
599+ }
600+ return unsafe.Pointer(&sa.raw), SizeofSockaddrCAN, nil
601+}
602+
603+// SockaddrCANJ1939 implements the Sockaddr interface for AF_CAN using J1939
604+// protocol (https://en.wikipedia.org/wiki/SAE_J1939). For more information
605+// on the purposes of the fields, check the official linux kernel documentation
606+// available here: https://www.kernel.org/doc/Documentation/networking/j1939.rst
607+type SockaddrCANJ1939 struct {
608+ Ifindex int
609+ Name uint64
610+ PGN uint32
611+ Addr uint8
612+ raw RawSockaddrCAN
613+}
614+
615+func (sa *SockaddrCANJ1939) sockaddr() (unsafe.Pointer, _Socklen, error) {
616+ if sa.Ifindex < 0 || sa.Ifindex > 0x7fffffff {
617+ return nil, 0, EINVAL
618+ }
619+ sa.raw.Family = AF_CAN
620+ sa.raw.Ifindex = int32(sa.Ifindex)
621+ n := (*[8]byte)(unsafe.Pointer(&sa.Name))
622+ for i := range 8 {
623+ sa.raw.Addr[i] = n[i]
624+ }
625+ p := (*[4]byte)(unsafe.Pointer(&sa.PGN))
626+ for i := range 4 {
627+ sa.raw.Addr[i+8] = p[i]
628+ }
629+ sa.raw.Addr[12] = sa.Addr
630+ return unsafe.Pointer(&sa.raw), SizeofSockaddrCAN, nil
631+}
632+
633+// SockaddrALG implements the Sockaddr interface for AF_ALG type sockets.
634+// SockaddrALG enables userspace access to the Linux kernel's cryptography
635+// subsystem. The Type and Name fields specify which type of hash or cipher
636+// should be used with a given socket.
637+//
638+// To create a file descriptor that provides access to a hash or cipher, both
639+// Bind and Accept must be used. Once the setup process is complete, input
640+// data can be written to the socket, processed by the kernel, and then read
641+// back as hash output or ciphertext.
642+//
643+// Here is an example of using an AF_ALG socket with SHA1 hashing.
644+// The initial socket setup process is as follows:
645+//
646+// // Open a socket to perform SHA1 hashing.
647+// fd, _ := unix.Socket(unix.AF_ALG, unix.SOCK_SEQPACKET, 0)
648+// addr := &unix.SockaddrALG{Type: "hash", Name: "sha1"}
649+// unix.Bind(fd, addr)
650+// // Note: unix.Accept does not work at this time; must invoke accept()
651+// // manually using unix.Syscall.
652+// hashfd, _, _ := unix.Syscall(unix.SYS_ACCEPT, uintptr(fd), 0, 0)
653+//
654+// Once a file descriptor has been returned from Accept, it may be used to
655+// perform SHA1 hashing. The descriptor is not safe for concurrent use, but
656+// may be re-used repeatedly with subsequent Write and Read operations.
657+//
658+// When hashing a small byte slice or string, a single Write and Read may
659+// be used:
660+//
661+// // Assume hashfd is already configured using the setup process.
662+// hash := os.NewFile(hashfd, "sha1")
663+// // Hash an input string and read the results. Each Write discards
664+// // previous hash state. Read always reads the current state.
665+// b := make([]byte, 20)
666+// for i := 0; i < 2; i++ {
667+// io.WriteString(hash, "Hello, world.")
668+// hash.Read(b)
669+// fmt.Println(hex.EncodeToString(b))
670+// }
671+// // Output:
672+// // 2ae01472317d1935a84797ec1983ae243fc6aa28
673+// // 2ae01472317d1935a84797ec1983ae243fc6aa28
674+//
675+// For hashing larger byte slices, or byte streams such as those read from
676+// a file or socket, use Sendto with MSG_MORE to instruct the kernel to update
677+// the hash digest instead of creating a new one for a given chunk and finalizing it.
678+//
679+// // Assume hashfd and addr are already configured using the setup process.
680+// hash := os.NewFile(hashfd, "sha1")
681+// // Hash the contents of a file.
682+// f, _ := os.Open("/tmp/linux-4.10-rc7.tar.xz")
683+// b := make([]byte, 4096)
684+// for {
685+// n, err := f.Read(b)
686+// if err == io.EOF {
687+// break
688+// }
689+// unix.Sendto(hashfd, b[:n], unix.MSG_MORE, addr)
690+// }
691+// hash.Read(b)
692+// fmt.Println(hex.EncodeToString(b))
693+// // Output: 85cdcad0c06eef66f805ecce353bec9accbeecc5
694+//
695+// For more information, see: http://www.chronox.de/crypto-API/crypto/userspace-if.html.
696+type SockaddrALG struct {
697+ Type string
698+ Name string
699+ Feature uint32
700+ Mask uint32
701+ raw RawSockaddrALG
702+}
703+
704+func (sa *SockaddrALG) sockaddr() (unsafe.Pointer, _Socklen, error) {
705+ // Leave room for NUL byte terminator.
706+ if len(sa.Type) > len(sa.raw.Type)-1 {
707+ return nil, 0, EINVAL
708+ }
709+ if len(sa.Name) > len(sa.raw.Name)-1 {
710+ return nil, 0, EINVAL
711+ }
712+
713+ sa.raw.Family = AF_ALG
714+ sa.raw.Feat = sa.Feature
715+ sa.raw.Mask = sa.Mask
716+
717+ copy(sa.raw.Type[:], sa.Type)
718+ copy(sa.raw.Name[:], sa.Name)
719+
720+ return unsafe.Pointer(&sa.raw), SizeofSockaddrALG, nil
721+}
722+
723+// SockaddrVM implements the Sockaddr interface for AF_VSOCK type sockets.
724+// SockaddrVM provides access to Linux VM sockets: a mechanism that enables
725+// bidirectional communication between a hypervisor and its guest virtual
726+// machines.
727+type SockaddrVM struct {
728+ // CID and Port specify a context ID and port address for a VM socket.
729+ // Guests have a unique CID, and hosts may have a well-known CID of:
730+ // - VMADDR_CID_HYPERVISOR: refers to the hypervisor process.
731+ // - VMADDR_CID_LOCAL: refers to local communication (loopback).
732+ // - VMADDR_CID_HOST: refers to other processes on the host.
733+ CID uint32
734+ Port uint32
735+ Flags uint8
736+ raw RawSockaddrVM
737+}
738+
739+func (sa *SockaddrVM) sockaddr() (unsafe.Pointer, _Socklen, error) {
740+ sa.raw.Family = AF_VSOCK
741+ sa.raw.Port = sa.Port
742+ sa.raw.Cid = sa.CID
743+ sa.raw.Flags = sa.Flags
744+
745+ return unsafe.Pointer(&sa.raw), SizeofSockaddrVM, nil
746+}
747+
748+type SockaddrXDP struct {
749+ Flags uint16
750+ Ifindex uint32
751+ QueueID uint32
752+ SharedUmemFD uint32
753+ raw RawSockaddrXDP
754+}
755+
756+func (sa *SockaddrXDP) sockaddr() (unsafe.Pointer, _Socklen, error) {
757+ sa.raw.Family = AF_XDP
758+ sa.raw.Flags = sa.Flags
759+ sa.raw.Ifindex = sa.Ifindex
760+ sa.raw.Queue_id = sa.QueueID
761+ sa.raw.Shared_umem_fd = sa.SharedUmemFD
762+
763+ return unsafe.Pointer(&sa.raw), SizeofSockaddrXDP, nil
764+}
765+
766+// This constant mirrors the #define of PX_PROTO_OE in
767+// linux/if_pppox.h. We're defining this by hand here instead of
768+// autogenerating through mkerrors.sh because including
769+// linux/if_pppox.h causes some declaration conflicts with other
770+// includes (linux/if_pppox.h includes linux/in.h, which conflicts
771+// with netinet/in.h). Given that we only need a single zero constant
772+// out of that file, it's cleaner to just define it by hand here.
773+const px_proto_oe = 0
774+
775+type SockaddrPPPoE struct {
776+ SID uint16
777+ Remote []byte
778+ Dev string
779+ raw RawSockaddrPPPoX
780+}
781+
782+func (sa *SockaddrPPPoE) sockaddr() (unsafe.Pointer, _Socklen, error) {
783+ if len(sa.Remote) != 6 {
784+ return nil, 0, EINVAL
785+ }
786+ if len(sa.Dev) > IFNAMSIZ-1 {
787+ return nil, 0, EINVAL
788+ }
789+
790+ *(*uint16)(unsafe.Pointer(&sa.raw[0])) = AF_PPPOX
791+ // This next field is in host-endian byte order. We can't use the
792+ // same unsafe pointer cast as above, because this value is not
793+ // 32-bit aligned and some architectures don't allow unaligned
794+ // access.
795+ //
796+ // However, the value of px_proto_oe is 0, so we can use
797+ // encoding/binary helpers to write the bytes without worrying
798+ // about the ordering.
799+ binary.BigEndian.PutUint32(sa.raw[2:6], px_proto_oe)
800+ // This field is deliberately big-endian, unlike the previous
801+ // one. The kernel expects SID to be in network byte order.
802+ binary.BigEndian.PutUint16(sa.raw[6:8], sa.SID)
803+ copy(sa.raw[8:14], sa.Remote)
804+ clear(sa.raw[14 : 14+IFNAMSIZ])
805+ copy(sa.raw[14:], sa.Dev)
806+ return unsafe.Pointer(&sa.raw), SizeofSockaddrPPPoX, nil
807+}
808+
809+// SockaddrTIPC implements the Sockaddr interface for AF_TIPC type sockets.
810+// For more information on TIPC, see: http://tipc.sourceforge.net/.
811+type SockaddrTIPC struct {
812+ // Scope is the publication scopes when binding service/service range.
813+ // Should be set to TIPC_CLUSTER_SCOPE or TIPC_NODE_SCOPE.
814+ Scope int
815+
816+ // Addr is the type of address used to manipulate a socket. Addr must be
817+ // one of:
818+ // - *TIPCSocketAddr: "id" variant in the C addr union
819+ // - *TIPCServiceRange: "nameseq" variant in the C addr union
820+ // - *TIPCServiceName: "name" variant in the C addr union
821+ //
822+ // If nil, EINVAL will be returned when the structure is used.
823+ Addr TIPCAddr
824+
825+ raw RawSockaddrTIPC
826+}
827+
828+// TIPCAddr is implemented by types that can be used as an address for
829+// SockaddrTIPC. It is only implemented by *TIPCSocketAddr, *TIPCServiceRange,
830+// and *TIPCServiceName.
831+type TIPCAddr interface {
832+ tipcAddrtype() uint8
833+ tipcAddr() [12]byte
834+}
835+
836+func (sa *TIPCSocketAddr) tipcAddr() [12]byte {
837+ var out [12]byte
838+ copy(out[:], (*(*[unsafe.Sizeof(TIPCSocketAddr{})]byte)(unsafe.Pointer(sa)))[:])
839+ return out
840+}
841+
842+func (sa *TIPCSocketAddr) tipcAddrtype() uint8 { return TIPC_SOCKET_ADDR }
843+
844+func (sa *TIPCServiceRange) tipcAddr() [12]byte {
845+ var out [12]byte
846+ copy(out[:], (*(*[unsafe.Sizeof(TIPCServiceRange{})]byte)(unsafe.Pointer(sa)))[:])
847+ return out
848+}
849+
850+func (sa *TIPCServiceRange) tipcAddrtype() uint8 { return TIPC_SERVICE_RANGE }
851+
852+func (sa *TIPCServiceName) tipcAddr() [12]byte {
853+ var out [12]byte
854+ copy(out[:], (*(*[unsafe.Sizeof(TIPCServiceName{})]byte)(unsafe.Pointer(sa)))[:])
855+ return out
856+}
857+
858+func (sa *TIPCServiceName) tipcAddrtype() uint8 { return TIPC_SERVICE_ADDR }
859+
860+func (sa *SockaddrTIPC) sockaddr() (unsafe.Pointer, _Socklen, error) {
861+ if sa.Addr == nil {
862+ return nil, 0, EINVAL
863+ }
864+ sa.raw.Family = AF_TIPC
865+ sa.raw.Scope = int8(sa.Scope)
866+ sa.raw.Addrtype = sa.Addr.tipcAddrtype()
867+ sa.raw.Addr = sa.Addr.tipcAddr()
868+ return unsafe.Pointer(&sa.raw), SizeofSockaddrTIPC, nil
869+}
870+
871+// SockaddrL2TPIP implements the Sockaddr interface for IPPROTO_L2TP/AF_INET sockets.
872+type SockaddrL2TPIP struct {
873+ Addr [4]byte
874+ ConnId uint32
875+ raw RawSockaddrL2TPIP
876+}
877+
878+func (sa *SockaddrL2TPIP) sockaddr() (unsafe.Pointer, _Socklen, error) {
879+ sa.raw.Family = AF_INET
880+ sa.raw.Conn_id = sa.ConnId
881+ sa.raw.Addr = sa.Addr
882+ return unsafe.Pointer(&sa.raw), SizeofSockaddrL2TPIP, nil
883+}
884+
885+// SockaddrL2TPIP6 implements the Sockaddr interface for IPPROTO_L2TP/AF_INET6 sockets.
886+type SockaddrL2TPIP6 struct {
887+ Addr [16]byte
888+ ZoneId uint32
889+ ConnId uint32
890+ raw RawSockaddrL2TPIP6
891+}
892+
893+func (sa *SockaddrL2TPIP6) sockaddr() (unsafe.Pointer, _Socklen, error) {
894+ sa.raw.Family = AF_INET6
895+ sa.raw.Conn_id = sa.ConnId
896+ sa.raw.Scope_id = sa.ZoneId
897+ sa.raw.Addr = sa.Addr
898+ return unsafe.Pointer(&sa.raw), SizeofSockaddrL2TPIP6, nil
899+}
900+
901+// SockaddrIUCV implements the Sockaddr interface for AF_IUCV sockets.
902+type SockaddrIUCV struct {
903+ UserID string
904+ Name string
905+ raw RawSockaddrIUCV
906+}
907+
908+func (sa *SockaddrIUCV) sockaddr() (unsafe.Pointer, _Socklen, error) {
909+ sa.raw.Family = AF_IUCV
910+ // These are EBCDIC encoded by the kernel, but we still need to pad them
911+ // with blanks. Initializing with blanks allows the caller to feed in either
912+ // a padded or an unpadded string.
913+ for i := range 8 {
914+ sa.raw.Nodeid[i] = ' '
915+ sa.raw.User_id[i] = ' '
916+ sa.raw.Name[i] = ' '
917+ }
918+ if len(sa.UserID) > 8 || len(sa.Name) > 8 {
919+ return nil, 0, EINVAL
920+ }
921+ for i, b := range []byte(sa.UserID[:]) {
922+ sa.raw.User_id[i] = int8(b)
923+ }
924+ for i, b := range []byte(sa.Name[:]) {
925+ sa.raw.Name[i] = int8(b)
926+ }
927+ return unsafe.Pointer(&sa.raw), SizeofSockaddrIUCV, nil
928+}
929+
930+type SockaddrNFC struct {
931+ DeviceIdx uint32
932+ TargetIdx uint32
933+ NFCProtocol uint32
934+ raw RawSockaddrNFC
935+}
936+
937+func (sa *SockaddrNFC) sockaddr() (unsafe.Pointer, _Socklen, error) {
938+ sa.raw.Sa_family = AF_NFC
939+ sa.raw.Dev_idx = sa.DeviceIdx
940+ sa.raw.Target_idx = sa.TargetIdx
941+ sa.raw.Nfc_protocol = sa.NFCProtocol
942+ return unsafe.Pointer(&sa.raw), SizeofSockaddrNFC, nil
943+}
944+
945+type SockaddrNFCLLCP struct {
946+ DeviceIdx uint32
947+ TargetIdx uint32
948+ NFCProtocol uint32
949+ DestinationSAP uint8
950+ SourceSAP uint8
951+ ServiceName string
952+ raw RawSockaddrNFCLLCP
953+}
954+
955+func (sa *SockaddrNFCLLCP) sockaddr() (unsafe.Pointer, _Socklen, error) {
956+ sa.raw.Sa_family = AF_NFC
957+ sa.raw.Dev_idx = sa.DeviceIdx
958+ sa.raw.Target_idx = sa.TargetIdx
959+ sa.raw.Nfc_protocol = sa.NFCProtocol
960+ sa.raw.Dsap = sa.DestinationSAP
961+ sa.raw.Ssap = sa.SourceSAP
962+ if len(sa.ServiceName) > len(sa.raw.Service_name) {
963+ return nil, 0, EINVAL
964+ }
965+ copy(sa.raw.Service_name[:], sa.ServiceName)
966+ sa.raw.SetServiceNameLen(len(sa.ServiceName))
967+ return unsafe.Pointer(&sa.raw), SizeofSockaddrNFCLLCP, nil
968+}
969+
970+var socketProtocol = func(fd int) (int, error) {
971+ return GetsockoptInt(fd, SOL_SOCKET, SO_PROTOCOL)
972+}
973+
974+func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) {
975+ switch rsa.Addr.Family {
976+ case AF_NETLINK:
977+ pp := (*RawSockaddrNetlink)(unsafe.Pointer(rsa))
978+ sa := new(SockaddrNetlink)
979+ sa.Family = pp.Family
980+ sa.Pad = pp.Pad
981+ sa.Pid = pp.Pid
982+ sa.Groups = pp.Groups
983+ return sa, nil
984+
985+ case AF_PACKET:
986+ pp := (*RawSockaddrLinklayer)(unsafe.Pointer(rsa))
987+ sa := new(SockaddrLinklayer)
988+ sa.Protocol = pp.Protocol
989+ sa.Ifindex = int(pp.Ifindex)
990+ sa.Hatype = pp.Hatype
991+ sa.Pkttype = pp.Pkttype
992+ sa.Halen = pp.Halen
993+ sa.Addr = pp.Addr
994+ return sa, nil
995+
996+ case AF_UNIX:
997+ pp := (*RawSockaddrUnix)(unsafe.Pointer(rsa))
998+ sa := new(SockaddrUnix)
999+ if pp.Path[0] == 0 {
1000+ // "Abstract" Unix domain socket.
1001+ // Rewrite leading NUL as @ for textual display.
1002+ // (This is the standard convention.)
1003+ // Not friendly to overwrite in place,
1004+ // but the callers below don't care.
1005+ pp.Path[0] = '@'
1006+ }
1007+
1008+ // Assume path ends at NUL.
1009+ // This is not technically the Linux semantics for
1010+ // abstract Unix domain sockets--they are supposed
1011+ // to be uninterpreted fixed-size binary blobs--but
1012+ // everyone uses this convention.
1013+ n := 0
1014+ for n < len(pp.Path) && pp.Path[n] != 0 {
1015+ n++
1016+ }
1017+ sa.Name = string(unsafe.Slice((*byte)(unsafe.Pointer(&pp.Path[0])), n))
1018+ return sa, nil
1019+
1020+ case AF_INET:
1021+ proto, err := socketProtocol(fd)
1022+ if err != nil {
1023+ return nil, err
1024+ }
1025+
1026+ switch proto {
1027+ case IPPROTO_L2TP:
1028+ pp := (*RawSockaddrL2TPIP)(unsafe.Pointer(rsa))
1029+ sa := new(SockaddrL2TPIP)
1030+ sa.ConnId = pp.Conn_id
1031+ sa.Addr = pp.Addr
1032+ return sa, nil
1033+ default:
1034+ pp := (*RawSockaddrInet4)(unsafe.Pointer(rsa))
1035+ sa := new(SockaddrInet4)
1036+ p := (*[2]byte)(unsafe.Pointer(&pp.Port))
1037+ sa.Port = int(p[0])<<8 + int(p[1])
1038+ sa.Addr = pp.Addr
1039+ return sa, nil
1040+ }
1041+
1042+ case AF_INET6:
1043+ proto, err := socketProtocol(fd)
1044+ if err != nil {
1045+ return nil, err
1046+ }
1047+
1048+ switch proto {
1049+ case IPPROTO_L2TP:
1050+ pp := (*RawSockaddrL2TPIP6)(unsafe.Pointer(rsa))
1051+ sa := new(SockaddrL2TPIP6)
1052+ sa.ConnId = pp.Conn_id
1053+ sa.ZoneId = pp.Scope_id
1054+ sa.Addr = pp.Addr
1055+ return sa, nil
1056+ default:
1057+ pp := (*RawSockaddrInet6)(unsafe.Pointer(rsa))
1058+ sa := new(SockaddrInet6)
1059+ p := (*[2]byte)(unsafe.Pointer(&pp.Port))
1060+ sa.Port = int(p[0])<<8 + int(p[1])
1061+ sa.ZoneId = pp.Scope_id
1062+ sa.Addr = pp.Addr
1063+ return sa, nil
1064+ }
1065+
1066+ case AF_VSOCK:
1067+ pp := (*RawSockaddrVM)(unsafe.Pointer(rsa))
1068+ sa := &SockaddrVM{
1069+ CID: pp.Cid,
1070+ Port: pp.Port,
1071+ Flags: pp.Flags,
1072+ }
1073+ return sa, nil
1074+ case AF_BLUETOOTH:
1075+ proto, err := socketProtocol(fd)
1076+ if err != nil {
1077+ return nil, err
1078+ }
1079+ // only BTPROTO_L2CAP and BTPROTO_RFCOMM can accept connections
1080+ switch proto {
1081+ case BTPROTO_L2CAP:
1082+ pp := (*RawSockaddrL2)(unsafe.Pointer(rsa))
1083+ sa := &SockaddrL2{
1084+ PSM: pp.Psm,
1085+ CID: pp.Cid,
1086+ Addr: pp.Bdaddr,
1087+ AddrType: pp.Bdaddr_type,
1088+ }
1089+ return sa, nil
1090+ case BTPROTO_RFCOMM:
1091+ pp := (*RawSockaddrRFCOMM)(unsafe.Pointer(rsa))
1092+ sa := &SockaddrRFCOMM{
1093+ Channel: pp.Channel,
1094+ Addr: pp.Bdaddr,
1095+ }
1096+ return sa, nil
1097+ }
1098+ case AF_XDP:
1099+ pp := (*RawSockaddrXDP)(unsafe.Pointer(rsa))
1100+ sa := &SockaddrXDP{
1101+ Flags: pp.Flags,
1102+ Ifindex: pp.Ifindex,
1103+ QueueID: pp.Queue_id,
1104+ SharedUmemFD: pp.Shared_umem_fd,
1105+ }
1106+ return sa, nil
1107+ case AF_PPPOX:
1108+ pp := (*RawSockaddrPPPoX)(unsafe.Pointer(rsa))
1109+ if binary.BigEndian.Uint32(pp[2:6]) != px_proto_oe {
1110+ return nil, EINVAL
1111+ }
1112+ sa := &SockaddrPPPoE{
1113+ SID: binary.BigEndian.Uint16(pp[6:8]),
1114+ Remote: pp[8:14],
1115+ }
1116+ for i := 14; i < 14+IFNAMSIZ; i++ {
1117+ if pp[i] == 0 {
1118+ sa.Dev = string(pp[14:i])
1119+ break
1120+ }
1121+ }
1122+ return sa, nil
1123+ case AF_TIPC:
1124+ pp := (*RawSockaddrTIPC)(unsafe.Pointer(rsa))
1125+
1126+ sa := &SockaddrTIPC{
1127+ Scope: int(pp.Scope),
1128+ }
1129+
1130+ // Determine which union variant is present in pp.Addr by checking
1131+ // pp.Addrtype.
1132+ switch pp.Addrtype {
1133+ case TIPC_SERVICE_RANGE:
1134+ sa.Addr = (*TIPCServiceRange)(unsafe.Pointer(&pp.Addr))
1135+ case TIPC_SERVICE_ADDR:
1136+ sa.Addr = (*TIPCServiceName)(unsafe.Pointer(&pp.Addr))
1137+ case TIPC_SOCKET_ADDR:
1138+ sa.Addr = (*TIPCSocketAddr)(unsafe.Pointer(&pp.Addr))
1139+ default:
1140+ return nil, EINVAL
1141+ }
1142+
1143+ return sa, nil
1144+ case AF_IUCV:
1145+ pp := (*RawSockaddrIUCV)(unsafe.Pointer(rsa))
1146+
1147+ var user [8]byte
1148+ var name [8]byte
1149+
1150+ for i := range 8 {
1151+ user[i] = byte(pp.User_id[i])
1152+ name[i] = byte(pp.Name[i])
1153+ }
1154+
1155+ sa := &SockaddrIUCV{
1156+ UserID: string(user[:]),
1157+ Name: string(name[:]),
1158+ }
1159+ return sa, nil
1160+
1161+ case AF_CAN:
1162+ proto, err := socketProtocol(fd)
1163+ if err != nil {
1164+ return nil, err
1165+ }
1166+
1167+ pp := (*RawSockaddrCAN)(unsafe.Pointer(rsa))
1168+
1169+ switch proto {
1170+ case CAN_J1939:
1171+ sa := &SockaddrCANJ1939{
1172+ Ifindex: int(pp.Ifindex),
1173+ }
1174+ name := (*[8]byte)(unsafe.Pointer(&sa.Name))
1175+ for i := range 8 {
1176+ name[i] = pp.Addr[i]
1177+ }
1178+ pgn := (*[4]byte)(unsafe.Pointer(&sa.PGN))
1179+ for i := range 4 {
1180+ pgn[i] = pp.Addr[i+8]
1181+ }
1182+ addr := (*[1]byte)(unsafe.Pointer(&sa.Addr))
1183+ addr[0] = pp.Addr[12]
1184+ return sa, nil
1185+ default:
1186+ sa := &SockaddrCAN{
1187+ Ifindex: int(pp.Ifindex),
1188+ }
1189+ rx := (*[4]byte)(unsafe.Pointer(&sa.RxID))
1190+ for i := range 4 {
1191+ rx[i] = pp.Addr[i]
1192+ }
1193+ tx := (*[4]byte)(unsafe.Pointer(&sa.TxID))
1194+ for i := range 4 {
1195+ tx[i] = pp.Addr[i+4]
1196+ }
1197+ return sa, nil
1198+ }
1199+ case AF_NFC:
1200+ proto, err := socketProtocol(fd)
1201+ if err != nil {
1202+ return nil, err
1203+ }
1204+ switch proto {
1205+ case NFC_SOCKPROTO_RAW:
1206+ pp := (*RawSockaddrNFC)(unsafe.Pointer(rsa))
1207+ sa := &SockaddrNFC{
1208+ DeviceIdx: pp.Dev_idx,
1209+ TargetIdx: pp.Target_idx,
1210+ NFCProtocol: pp.Nfc_protocol,
1211+ }
1212+ return sa, nil
1213+ case NFC_SOCKPROTO_LLCP:
1214+ pp := (*RawSockaddrNFCLLCP)(unsafe.Pointer(rsa))
1215+ if uint64(pp.Service_name_len) > uint64(len(pp.Service_name)) {
1216+ return nil, EINVAL
1217+ }
1218+ sa := &SockaddrNFCLLCP{
1219+ DeviceIdx: pp.Dev_idx,
1220+ TargetIdx: pp.Target_idx,
1221+ NFCProtocol: pp.Nfc_protocol,
1222+ DestinationSAP: pp.Dsap,
1223+ SourceSAP: pp.Ssap,
1224+ ServiceName: string(pp.Service_name[:pp.Service_name_len]),
1225+ }
1226+ return sa, nil
1227+ default:
1228+ return nil, EINVAL
1229+ }
1230+ }
1231+ return nil, EAFNOSUPPORT
1232+}
1233+
1234+func Accept(fd int) (nfd int, sa Sockaddr, err error) {
1235+ var rsa RawSockaddrAny
1236+ var len _Socklen = SizeofSockaddrAny
1237+ nfd, err = accept4(fd, &rsa, &len, 0)
1238+ if err != nil {
1239+ return
1240+ }
1241+ sa, err = anyToSockaddr(fd, &rsa)
1242+ if err != nil {
1243+ Close(nfd)
1244+ nfd = 0
1245+ }
1246+ return
1247+}
1248+
1249+func Accept4(fd int, flags int) (nfd int, sa Sockaddr, err error) {
1250+ var rsa RawSockaddrAny
1251+ var len _Socklen = SizeofSockaddrAny
1252+ nfd, err = accept4(fd, &rsa, &len, flags)
1253+ if err != nil {
1254+ return
1255+ }
1256+ if len > SizeofSockaddrAny {
1257+ panic("RawSockaddrAny too small")
1258+ }
1259+ sa, err = anyToSockaddr(fd, &rsa)
1260+ if err != nil {
1261+ Close(nfd)
1262+ nfd = 0
1263+ }
1264+ return
1265+}
1266+
1267+func Getsockname(fd int) (sa Sockaddr, err error) {
1268+ var rsa RawSockaddrAny
1269+ var len _Socklen = SizeofSockaddrAny
1270+ if err = getsockname(fd, &rsa, &len); err != nil {
1271+ return
1272+ }
1273+ return anyToSockaddr(fd, &rsa)
1274+}
1275+
1276+func GetsockoptIPMreqn(fd, level, opt int) (*IPMreqn, error) {
1277+ var value IPMreqn
1278+ vallen := _Socklen(SizeofIPMreqn)
1279+ err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen)
1280+ return &value, err
1281+}
1282+
1283+func GetsockoptUcred(fd, level, opt int) (*Ucred, error) {
1284+ var value Ucred
1285+ vallen := _Socklen(SizeofUcred)
1286+ err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen)
1287+ return &value, err
1288+}
1289+
1290+func GetsockoptTCPInfo(fd, level, opt int) (*TCPInfo, error) {
1291+ var value TCPInfo
1292+ vallen := _Socklen(SizeofTCPInfo)
1293+ err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen)
1294+ return &value, err
1295+}
1296+
1297+// GetsockoptTCPCCVegasInfo returns algorithm specific congestion control information for a socket using the "vegas"
1298+// algorithm.
1299+//
1300+// The socket's congestion control algorighm can be retrieved via [GetsockoptString] with the [TCP_CONGESTION] option:
1301+//
1302+// algo, err := unix.GetsockoptString(fd, unix.IPPROTO_TCP, unix.TCP_CONGESTION)
1303+func GetsockoptTCPCCVegasInfo(fd, level, opt int) (*TCPVegasInfo, error) {
1304+ var value [SizeofTCPCCInfo / 4]uint32 // ensure proper alignment
1305+ vallen := _Socklen(SizeofTCPCCInfo)
1306+ err := getsockopt(fd, level, opt, unsafe.Pointer(&value[0]), &vallen)
1307+ out := (*TCPVegasInfo)(unsafe.Pointer(&value[0]))
1308+ return out, err
1309+}
1310+
1311+// GetsockoptTCPCCDCTCPInfo returns algorithm specific congestion control information for a socket using the "dctp"
1312+// algorithm.
1313+//
1314+// The socket's congestion control algorighm can be retrieved via [GetsockoptString] with the [TCP_CONGESTION] option:
1315+//
1316+// algo, err := unix.GetsockoptString(fd, unix.IPPROTO_TCP, unix.TCP_CONGESTION)
1317+func GetsockoptTCPCCDCTCPInfo(fd, level, opt int) (*TCPDCTCPInfo, error) {
1318+ var value [SizeofTCPCCInfo / 4]uint32 // ensure proper alignment
1319+ vallen := _Socklen(SizeofTCPCCInfo)
1320+ err := getsockopt(fd, level, opt, unsafe.Pointer(&value[0]), &vallen)
1321+ out := (*TCPDCTCPInfo)(unsafe.Pointer(&value[0]))
1322+ return out, err
1323+}
1324+
1325+// GetsockoptTCPCCBBRInfo returns algorithm specific congestion control information for a socket using the "bbr"
1326+// algorithm.
1327+//
1328+// The socket's congestion control algorighm can be retrieved via [GetsockoptString] with the [TCP_CONGESTION] option:
1329+//
1330+// algo, err := unix.GetsockoptString(fd, unix.IPPROTO_TCP, unix.TCP_CONGESTION)
1331+func GetsockoptTCPCCBBRInfo(fd, level, opt int) (*TCPBBRInfo, error) {
1332+ var value [SizeofTCPCCInfo / 4]uint32 // ensure proper alignment
1333+ vallen := _Socklen(SizeofTCPCCInfo)
1334+ err := getsockopt(fd, level, opt, unsafe.Pointer(&value[0]), &vallen)
1335+ out := (*TCPBBRInfo)(unsafe.Pointer(&value[0]))
1336+ return out, err
1337+}
1338+
1339+// GetsockoptString returns the string value of the socket option opt for the
1340+// socket associated with fd at the given socket level.
1341+func GetsockoptString(fd, level, opt int) (string, error) {
1342+ buf := make([]byte, 256)
1343+ vallen := _Socklen(len(buf))
1344+ err := getsockopt(fd, level, opt, unsafe.Pointer(&buf[0]), &vallen)
1345+ if err != nil {
1346+ if err == ERANGE {
1347+ buf = make([]byte, vallen)
1348+ err = getsockopt(fd, level, opt, unsafe.Pointer(&buf[0]), &vallen)
1349+ }
1350+ if err != nil {
1351+ return "", err
1352+ }
1353+ }
1354+ return ByteSliceToString(buf[:vallen]), nil
1355+}
1356+
1357+func GetsockoptTpacketStats(fd, level, opt int) (*TpacketStats, error) {
1358+ var value TpacketStats
1359+ vallen := _Socklen(SizeofTpacketStats)
1360+ err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen)
1361+ return &value, err
1362+}
1363+
1364+func GetsockoptTpacketStatsV3(fd, level, opt int) (*TpacketStatsV3, error) {
1365+ var value TpacketStatsV3
1366+ vallen := _Socklen(SizeofTpacketStatsV3)
1367+ err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen)
1368+ return &value, err
1369+}
1370+
1371+func SetsockoptIPMreqn(fd, level, opt int, mreq *IPMreqn) (err error) {
1372+ return setsockopt(fd, level, opt, unsafe.Pointer(mreq), unsafe.Sizeof(*mreq))
1373+}
1374+
1375+func SetsockoptPacketMreq(fd, level, opt int, mreq *PacketMreq) error {
1376+ return setsockopt(fd, level, opt, unsafe.Pointer(mreq), unsafe.Sizeof(*mreq))
1377+}
1378+
1379+// SetsockoptSockFprog attaches a classic BPF or an extended BPF program to a
1380+// socket to filter incoming packets. See 'man 7 socket' for usage information.
1381+func SetsockoptSockFprog(fd, level, opt int, fprog *SockFprog) error {
1382+ return setsockopt(fd, level, opt, unsafe.Pointer(fprog), unsafe.Sizeof(*fprog))
1383+}
1384+
1385+func SetsockoptCanRawFilter(fd, level, opt int, filter []CanFilter) error {
1386+ var p unsafe.Pointer
1387+ if len(filter) > 0 {
1388+ p = unsafe.Pointer(&filter[0])
1389+ }
1390+ return setsockopt(fd, level, opt, p, uintptr(len(filter)*SizeofCanFilter))
1391+}
1392+
1393+func SetsockoptTpacketReq(fd, level, opt int, tp *TpacketReq) error {
1394+ return setsockopt(fd, level, opt, unsafe.Pointer(tp), unsafe.Sizeof(*tp))
1395+}
1396+
1397+func SetsockoptTpacketReq3(fd, level, opt int, tp *TpacketReq3) error {
1398+ return setsockopt(fd, level, opt, unsafe.Pointer(tp), unsafe.Sizeof(*tp))
1399+}
1400+
1401+func SetsockoptTCPRepairOpt(fd, level, opt int, o []TCPRepairOpt) (err error) {
1402+ if len(o) == 0 {
1403+ return EINVAL
1404+ }
1405+ return setsockopt(fd, level, opt, unsafe.Pointer(&o[0]), uintptr(SizeofTCPRepairOpt*len(o)))
1406+}
1407+
1408+func SetsockoptTCPMD5Sig(fd, level, opt int, s *TCPMD5Sig) error {
1409+ return setsockopt(fd, level, opt, unsafe.Pointer(s), unsafe.Sizeof(*s))
1410+}
1411+
1412+// Keyctl Commands (http://man7.org/linux/man-pages/man2/keyctl.2.html)
1413+
1414+// KeyctlInt calls keyctl commands in which each argument is an int.
1415+// These commands are KEYCTL_REVOKE, KEYCTL_CHOWN, KEYCTL_CLEAR, KEYCTL_LINK,
1416+// KEYCTL_UNLINK, KEYCTL_NEGATE, KEYCTL_SET_REQKEY_KEYRING, KEYCTL_SET_TIMEOUT,
1417+// KEYCTL_ASSUME_AUTHORITY, KEYCTL_SESSION_TO_PARENT, KEYCTL_REJECT,
1418+// KEYCTL_INVALIDATE, and KEYCTL_GET_PERSISTENT.
1419+//sys KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) = SYS_KEYCTL
1420+
1421+// KeyctlBuffer calls keyctl commands in which the third and fourth
1422+// arguments are a buffer and its length, respectively.
1423+// These commands are KEYCTL_UPDATE, KEYCTL_READ, and KEYCTL_INSTANTIATE.
1424+//sys KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) = SYS_KEYCTL
1425+
1426+// KeyctlString calls keyctl commands which return a string.
1427+// These commands are KEYCTL_DESCRIBE and KEYCTL_GET_SECURITY.
1428+func KeyctlString(cmd int, id int) (string, error) {
1429+ // We must loop as the string data may change in between the syscalls.
1430+ // We could allocate a large buffer here to reduce the chance that the
1431+ // syscall needs to be called twice; however, this is unnecessary as
1432+ // the performance loss is negligible.
1433+ var buffer []byte
1434+ for {
1435+ // Try to fill the buffer with data
1436+ length, err := KeyctlBuffer(cmd, id, buffer, 0)
1437+ if err != nil {
1438+ return "", err
1439+ }
1440+
1441+ // Check if the data was written
1442+ if length <= len(buffer) {
1443+ // Exclude the null terminator
1444+ return string(buffer[:length-1]), nil
1445+ }
1446+
1447+ // Make a bigger buffer if needed
1448+ buffer = make([]byte, length)
1449+ }
1450+}
1451+
1452+// Keyctl commands with special signatures.
1453+
1454+// KeyctlGetKeyringID implements the KEYCTL_GET_KEYRING_ID command.
1455+// See the full documentation at:
1456+// http://man7.org/linux/man-pages/man3/keyctl_get_keyring_ID.3.html
1457+func KeyctlGetKeyringID(id int, create bool) (ringid int, err error) {
1458+ createInt := 0
1459+ if create {
1460+ createInt = 1
1461+ }
1462+ return KeyctlInt(KEYCTL_GET_KEYRING_ID, id, createInt, 0, 0)
1463+}
1464+
1465+// KeyctlSetperm implements the KEYCTL_SETPERM command. The perm value is the
1466+// key handle permission mask as described in the "keyctl setperm" section of
1467+// http://man7.org/linux/man-pages/man1/keyctl.1.html.
1468+// See the full documentation at:
1469+// http://man7.org/linux/man-pages/man3/keyctl_setperm.3.html
1470+func KeyctlSetperm(id int, perm uint32) error {
1471+ _, err := KeyctlInt(KEYCTL_SETPERM, id, int(perm), 0, 0)
1472+ return err
1473+}
1474+
1475+//sys keyctlJoin(cmd int, arg2 string) (ret int, err error) = SYS_KEYCTL
1476+
1477+// KeyctlJoinSessionKeyring implements the KEYCTL_JOIN_SESSION_KEYRING command.
1478+// See the full documentation at:
1479+// http://man7.org/linux/man-pages/man3/keyctl_join_session_keyring.3.html
1480+func KeyctlJoinSessionKeyring(name string) (ringid int, err error) {
1481+ return keyctlJoin(KEYCTL_JOIN_SESSION_KEYRING, name)
1482+}
1483+
1484+//sys keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) = SYS_KEYCTL
1485+
1486+// KeyctlSearch implements the KEYCTL_SEARCH command.
1487+// See the full documentation at:
1488+// http://man7.org/linux/man-pages/man3/keyctl_search.3.html
1489+func KeyctlSearch(ringid int, keyType, description string, destRingid int) (id int, err error) {
1490+ return keyctlSearch(KEYCTL_SEARCH, ringid, keyType, description, destRingid)
1491+}
1492+
1493+//sys keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) = SYS_KEYCTL
1494+
1495+// KeyctlInstantiateIOV implements the KEYCTL_INSTANTIATE_IOV command. This
1496+// command is similar to KEYCTL_INSTANTIATE, except that the payload is a slice
1497+// of Iovec (each of which represents a buffer) instead of a single buffer.
1498+// See the full documentation at:
1499+// http://man7.org/linux/man-pages/man3/keyctl_instantiate_iov.3.html
1500+func KeyctlInstantiateIOV(id int, payload []Iovec, ringid int) error {
1501+ return keyctlIOV(KEYCTL_INSTANTIATE_IOV, id, payload, ringid)
1502+}
1503+
1504+//sys keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) = SYS_KEYCTL
1505+
1506+// KeyctlDHCompute implements the KEYCTL_DH_COMPUTE command. This command
1507+// computes a Diffie-Hellman shared secret based on the provide params. The
1508+// secret is written to the provided buffer and the returned size is the number
1509+// of bytes written (returning an error if there is insufficient space in the
1510+// buffer). If a nil buffer is passed in, this function returns the minimum
1511+// buffer length needed to store the appropriate data. Note that this differs
1512+// from KEYCTL_READ's behavior which always returns the requested payload size.
1513+// See the full documentation at:
1514+// http://man7.org/linux/man-pages/man3/keyctl_dh_compute.3.html
1515+func KeyctlDHCompute(params *KeyctlDHParams, buffer []byte) (size int, err error) {
1516+ return keyctlDH(KEYCTL_DH_COMPUTE, params, buffer)
1517+}
1518+
1519+// KeyctlRestrictKeyring implements the KEYCTL_RESTRICT_KEYRING command. This
1520+// command limits the set of keys that can be linked to the keyring, regardless
1521+// of keyring permissions. The command requires the "setattr" permission.
1522+//
1523+// When called with an empty keyType the command locks the keyring, preventing
1524+// any further keys from being linked to the keyring.
1525+//
1526+// The "asymmetric" keyType defines restrictions requiring key payloads to be
1527+// DER encoded X.509 certificates signed by keys in another keyring. Restrictions
1528+// for "asymmetric" include "builtin_trusted", "builtin_and_secondary_trusted",
1529+// "key_or_keyring:<key>", and "key_or_keyring:<key>:chain".
1530+//
1531+// As of Linux 4.12, only the "asymmetric" keyType defines type-specific
1532+// restrictions.
1533+//
1534+// See the full documentation at:
1535+// http://man7.org/linux/man-pages/man3/keyctl_restrict_keyring.3.html
1536+// http://man7.org/linux/man-pages/man2/keyctl.2.html
1537+func KeyctlRestrictKeyring(ringid int, keyType string, restriction string) error {
1538+ if keyType == "" {
1539+ return keyctlRestrictKeyring(KEYCTL_RESTRICT_KEYRING, ringid)
1540+ }
1541+ return keyctlRestrictKeyringByType(KEYCTL_RESTRICT_KEYRING, ringid, keyType, restriction)
1542+}
1543+
1544+//sys keyctlRestrictKeyringByType(cmd int, arg2 int, keyType string, restriction string) (err error) = SYS_KEYCTL
1545+//sys keyctlRestrictKeyring(cmd int, arg2 int) (err error) = SYS_KEYCTL
1546+
1547+func recvmsgRaw(fd int, iov []Iovec, oob []byte, flags int, rsa *RawSockaddrAny) (n, oobn int, recvflags int, err error) {
1548+ var msg Msghdr
1549+ msg.Name = (*byte)(unsafe.Pointer(rsa))
1550+ msg.Namelen = uint32(SizeofSockaddrAny)
1551+ var dummy byte
1552+ if len(oob) > 0 {
1553+ if emptyIovecs(iov) {
1554+ var sockType int
1555+ sockType, err = GetsockoptInt(fd, SOL_SOCKET, SO_TYPE)
1556+ if err != nil {
1557+ return
1558+ }
1559+ // receive at least one normal byte
1560+ if sockType != SOCK_DGRAM {
1561+ var iova [1]Iovec
1562+ iova[0].Base = &dummy
1563+ iova[0].SetLen(1)
1564+ iov = iova[:]
1565+ }
1566+ }
1567+ msg.Control = &oob[0]
1568+ msg.SetControllen(len(oob))
1569+ }
1570+ if len(iov) > 0 {
1571+ msg.Iov = &iov[0]
1572+ msg.SetIovlen(len(iov))
1573+ }
1574+ if n, err = recvmsg(fd, &msg, flags); err != nil {
1575+ return
1576+ }
1577+ oobn = int(msg.Controllen)
1578+ recvflags = int(msg.Flags)
1579+ return
1580+}
1581+
1582+func sendmsgN(fd int, iov []Iovec, oob []byte, ptr unsafe.Pointer, salen _Socklen, flags int) (n int, err error) {
1583+ var msg Msghdr
1584+ msg.Name = (*byte)(ptr)
1585+ msg.Namelen = uint32(salen)
1586+ var dummy byte
1587+ var empty bool
1588+ if len(oob) > 0 {
1589+ empty = emptyIovecs(iov)
1590+ if empty {
1591+ var sockType int
1592+ sockType, err = GetsockoptInt(fd, SOL_SOCKET, SO_TYPE)
1593+ if err != nil {
1594+ return 0, err
1595+ }
1596+ // send at least one normal byte
1597+ if sockType != SOCK_DGRAM {
1598+ var iova [1]Iovec
1599+ iova[0].Base = &dummy
1600+ iova[0].SetLen(1)
1601+ iov = iova[:]
1602+ }
1603+ }
1604+ msg.Control = &oob[0]
1605+ msg.SetControllen(len(oob))
1606+ }
1607+ if len(iov) > 0 {
1608+ msg.Iov = &iov[0]
1609+ msg.SetIovlen(len(iov))
1610+ }
1611+ if n, err = sendmsg(fd, &msg, flags); err != nil {
1612+ return 0, err
1613+ }
1614+ if len(oob) > 0 && empty {
1615+ n = 0
1616+ }
1617+ return n, nil
1618+}
1619+
1620+// BindToDevice binds the socket associated with fd to device.
1621+func BindToDevice(fd int, device string) (err error) {
1622+ return SetsockoptString(fd, SOL_SOCKET, SO_BINDTODEVICE, device)
1623+}
1624+
1625+//sys ptrace(request int, pid int, addr uintptr, data uintptr) (err error)
1626+//sys ptracePtr(request int, pid int, addr uintptr, data unsafe.Pointer) (err error) = SYS_PTRACE
1627+
1628+func ptracePeek(req int, pid int, addr uintptr, out []byte) (count int, err error) {
1629+ // The peek requests are machine-size oriented, so we wrap it
1630+ // to retrieve arbitrary-length data.
1631+
1632+ // The ptrace syscall differs from glibc's ptrace.
1633+ // Peeks returns the word in *data, not as the return value.
1634+
1635+ var buf [SizeofPtr]byte
1636+
1637+ // Leading edge. PEEKTEXT/PEEKDATA don't require aligned
1638+ // access (PEEKUSER warns that it might), but if we don't
1639+ // align our reads, we might straddle an unmapped page
1640+ // boundary and not get the bytes leading up to the page
1641+ // boundary.
1642+ n := 0
1643+ if addr%SizeofPtr != 0 {
1644+ err = ptracePtr(req, pid, addr-addr%SizeofPtr, unsafe.Pointer(&buf[0]))
1645+ if err != nil {
1646+ return 0, err
1647+ }
1648+ n += copy(out, buf[addr%SizeofPtr:])
1649+ out = out[n:]
1650+ }
1651+
1652+ // Remainder.
1653+ for len(out) > 0 {
1654+ // We use an internal buffer to guarantee alignment.
1655+ // It's not documented if this is necessary, but we're paranoid.
1656+ err = ptracePtr(req, pid, addr+uintptr(n), unsafe.Pointer(&buf[0]))
1657+ if err != nil {
1658+ return n, err
1659+ }
1660+ copied := copy(out, buf[0:])
1661+ n += copied
1662+ out = out[copied:]
1663+ }
1664+
1665+ return n, nil
1666+}
1667+
1668+func PtracePeekText(pid int, addr uintptr, out []byte) (count int, err error) {
1669+ return ptracePeek(PTRACE_PEEKTEXT, pid, addr, out)
1670+}
1671+
1672+func PtracePeekData(pid int, addr uintptr, out []byte) (count int, err error) {
1673+ return ptracePeek(PTRACE_PEEKDATA, pid, addr, out)
1674+}
1675+
1676+func PtracePeekUser(pid int, addr uintptr, out []byte) (count int, err error) {
1677+ return ptracePeek(PTRACE_PEEKUSR, pid, addr, out)
1678+}
1679+
1680+func ptracePoke(pokeReq int, peekReq int, pid int, addr uintptr, data []byte) (count int, err error) {
1681+ // As for ptracePeek, we need to align our accesses to deal
1682+ // with the possibility of straddling an invalid page.
1683+
1684+ // Leading edge.
1685+ n := 0
1686+ if addr%SizeofPtr != 0 {
1687+ var buf [SizeofPtr]byte
1688+ err = ptracePtr(peekReq, pid, addr-addr%SizeofPtr, unsafe.Pointer(&buf[0]))
1689+ if err != nil {
1690+ return 0, err
1691+ }
1692+ n += copy(buf[addr%SizeofPtr:], data)
1693+ word := *((*uintptr)(unsafe.Pointer(&buf[0])))
1694+ err = ptrace(pokeReq, pid, addr-addr%SizeofPtr, word)
1695+ if err != nil {
1696+ return 0, err
1697+ }
1698+ data = data[n:]
1699+ }
1700+
1701+ // Interior.
1702+ for len(data) > SizeofPtr {
1703+ word := *((*uintptr)(unsafe.Pointer(&data[0])))
1704+ err = ptrace(pokeReq, pid, addr+uintptr(n), word)
1705+ if err != nil {
1706+ return n, err
1707+ }
1708+ n += SizeofPtr
1709+ data = data[SizeofPtr:]
1710+ }
1711+
1712+ // Trailing edge.
1713+ if len(data) > 0 {
1714+ var buf [SizeofPtr]byte
1715+ err = ptracePtr(peekReq, pid, addr+uintptr(n), unsafe.Pointer(&buf[0]))
1716+ if err != nil {
1717+ return n, err
1718+ }
1719+ copy(buf[0:], data)
1720+ word := *((*uintptr)(unsafe.Pointer(&buf[0])))
1721+ err = ptrace(pokeReq, pid, addr+uintptr(n), word)
1722+ if err != nil {
1723+ return n, err
1724+ }
1725+ n += len(data)
1726+ }
1727+
1728+ return n, nil
1729+}
1730+
1731+func PtracePokeText(pid int, addr uintptr, data []byte) (count int, err error) {
1732+ return ptracePoke(PTRACE_POKETEXT, PTRACE_PEEKTEXT, pid, addr, data)
1733+}
1734+
1735+func PtracePokeData(pid int, addr uintptr, data []byte) (count int, err error) {
1736+ return ptracePoke(PTRACE_POKEDATA, PTRACE_PEEKDATA, pid, addr, data)
1737+}
1738+
1739+func PtracePokeUser(pid int, addr uintptr, data []byte) (count int, err error) {
1740+ return ptracePoke(PTRACE_POKEUSR, PTRACE_PEEKUSR, pid, addr, data)
1741+}
1742+
1743+// elfNT_PRSTATUS is a copy of the debug/elf.NT_PRSTATUS constant so
1744+// x/sys/unix doesn't need to depend on debug/elf and thus
1745+// compress/zlib, debug/dwarf, and other packages.
1746+const elfNT_PRSTATUS = 1
1747+
1748+func PtraceGetRegs(pid int, regsout *PtraceRegs) (err error) {
1749+ var iov Iovec
1750+ iov.Base = (*byte)(unsafe.Pointer(regsout))
1751+ iov.SetLen(int(unsafe.Sizeof(*regsout)))
1752+ return ptracePtr(PTRACE_GETREGSET, pid, uintptr(elfNT_PRSTATUS), unsafe.Pointer(&iov))
1753+}
1754+
1755+func PtraceSetRegs(pid int, regs *PtraceRegs) (err error) {
1756+ var iov Iovec
1757+ iov.Base = (*byte)(unsafe.Pointer(regs))
1758+ iov.SetLen(int(unsafe.Sizeof(*regs)))
1759+ return ptracePtr(PTRACE_SETREGSET, pid, uintptr(elfNT_PRSTATUS), unsafe.Pointer(&iov))
1760+}
1761+
1762+func PtraceSetOptions(pid int, options int) (err error) {
1763+ return ptrace(PTRACE_SETOPTIONS, pid, 0, uintptr(options))
1764+}
1765+
1766+func PtraceGetEventMsg(pid int) (msg uint, err error) {
1767+ var data _C_long
1768+ err = ptracePtr(PTRACE_GETEVENTMSG, pid, 0, unsafe.Pointer(&data))
1769+ msg = uint(data)
1770+ return
1771+}
1772+
1773+func PtraceCont(pid int, signal int) (err error) {
1774+ return ptrace(PTRACE_CONT, pid, 0, uintptr(signal))
1775+}
1776+
1777+func PtraceSyscall(pid int, signal int) (err error) {
1778+ return ptrace(PTRACE_SYSCALL, pid, 0, uintptr(signal))
1779+}
1780+
1781+func PtraceSingleStep(pid int) (err error) { return ptrace(PTRACE_SINGLESTEP, pid, 0, 0) }
1782+
1783+func PtraceInterrupt(pid int) (err error) { return ptrace(PTRACE_INTERRUPT, pid, 0, 0) }
1784+
1785+func PtraceAttach(pid int) (err error) { return ptrace(PTRACE_ATTACH, pid, 0, 0) }
1786+
1787+func PtraceSeize(pid int) (err error) { return ptrace(PTRACE_SEIZE, pid, 0, 0) }
1788+
1789+func PtraceDetach(pid int) (err error) { return ptrace(PTRACE_DETACH, pid, 0, 0) }
1790+
1791+//sys reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error)
1792+
1793+func Reboot(cmd int) (err error) {
1794+ return reboot(LINUX_REBOOT_MAGIC1, LINUX_REBOOT_MAGIC2, cmd, "")
1795+}
1796+
1797+func direntIno(buf []byte) (uint64, bool) {
1798+ return readInt(buf, unsafe.Offsetof(Dirent{}.Ino), unsafe.Sizeof(Dirent{}.Ino))
1799+}
1800+
1801+func direntReclen(buf []byte) (uint64, bool) {
1802+ return readInt(buf, unsafe.Offsetof(Dirent{}.Reclen), unsafe.Sizeof(Dirent{}.Reclen))
1803+}
1804+
1805+func direntNamlen(buf []byte) (uint64, bool) {
1806+ reclen, ok := direntReclen(buf)
1807+ if !ok {
1808+ return 0, false
1809+ }
1810+ return reclen - uint64(unsafe.Offsetof(Dirent{}.Name)), true
1811+}
1812+
1813+//sys mount(source string, target string, fstype string, flags uintptr, data *byte) (err error)
1814+
1815+func Mount(source string, target string, fstype string, flags uintptr, data string) (err error) {
1816+ // Certain file systems get rather angry and EINVAL if you give
1817+ // them an empty string of data, rather than NULL.
1818+ if data == "" {
1819+ return mount(source, target, fstype, flags, nil)
1820+ }
1821+ datap, err := BytePtrFromString(data)
1822+ if err != nil {
1823+ return err
1824+ }
1825+ return mount(source, target, fstype, flags, datap)
1826+}
1827+
1828+//sys mountSetattr(dirfd int, pathname string, flags uint, attr *MountAttr, size uintptr) (err error) = SYS_MOUNT_SETATTR
1829+
1830+// MountSetattr is a wrapper for mount_setattr(2).
1831+// https://man7.org/linux/man-pages/man2/mount_setattr.2.html
1832+//
1833+// Requires kernel >= 5.12.
1834+func MountSetattr(dirfd int, pathname string, flags uint, attr *MountAttr) error {
1835+ return mountSetattr(dirfd, pathname, flags, attr, unsafe.Sizeof(*attr))
1836+}
1837+
1838+func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {
1839+ if raceenabled {
1840+ raceReleaseMerge(unsafe.Pointer(&ioSync))
1841+ }
1842+ return sendfile(outfd, infd, offset, count)
1843+}
1844+
1845+// Sendto
1846+// Recvfrom
1847+// Socketpair
1848+
1849+/*
1850+ * Direct access
1851+ */
1852+//sys Acct(path string) (err error)
1853+//sys AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error)
1854+//sys Adjtimex(buf *Timex) (state int, err error)
1855+//sysnb Capget(hdr *CapUserHeader, data *CapUserData) (err error)
1856+//sysnb Capset(hdr *CapUserHeader, data *CapUserData) (err error)
1857+//sys Chdir(path string) (err error)
1858+//sys Chroot(path string) (err error)
1859+//sys ClockAdjtime(clockid int32, buf *Timex) (state int, err error)
1860+//sys ClockGetres(clockid int32, res *Timespec) (err error)
1861+//sys ClockGettime(clockid int32, time *Timespec) (err error)
1862+//sys ClockSettime(clockid int32, time *Timespec) (err error)
1863+//sys ClockNanosleep(clockid int32, flags int, request *Timespec, remain *Timespec) (err error)
1864+//sys Close(fd int) (err error)
1865+//sys CloseRange(first uint, last uint, flags uint) (err error)
1866+//sys CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error)
1867+//sys DeleteModule(name string, flags int) (err error)
1868+//sys Dup(oldfd int) (fd int, err error)
1869+
1870+func Dup2(oldfd, newfd int) error {
1871+ return Dup3(oldfd, newfd, 0)
1872+}
1873+
1874+//sys Dup3(oldfd int, newfd int, flags int) (err error)
1875+//sysnb EpollCreate1(flag int) (fd int, err error)
1876+//sysnb EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error)
1877+//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) = SYS_EPOLL_PWAIT
1878+//sys Eventfd(initval uint, flags int) (fd int, err error) = SYS_EVENTFD2
1879+//sys Exit(code int) = SYS_EXIT_GROUP
1880+//sys Fallocate(fd int, mode uint32, off int64, len int64) (err error)
1881+//sys Fchdir(fd int) (err error)
1882+//sys Fchmod(fd int, mode uint32) (err error)
1883+//sys Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error)
1884+//sys Fdatasync(fd int) (err error)
1885+//sys Fgetxattr(fd int, attr string, dest []byte) (sz int, err error)
1886+//sys FinitModule(fd int, params string, flags int) (err error)
1887+//sys Flistxattr(fd int, dest []byte) (sz int, err error)
1888+//sys Flock(fd int, how int) (err error)
1889+//sys Fremovexattr(fd int, attr string) (err error)
1890+//sys Fsetxattr(fd int, attr string, dest []byte, flags int) (err error)
1891+//sys Fsync(fd int) (err error)
1892+//sys Fsmount(fd int, flags int, mountAttrs int) (fsfd int, err error)
1893+//sys Fsopen(fsName string, flags int) (fd int, err error)
1894+//sys Fspick(dirfd int, pathName string, flags int) (fd int, err error)
1895+
1896+//sys fsconfig(fd int, cmd uint, key *byte, value *byte, aux int) (err error)
1897+
1898+func fsconfigCommon(fd int, cmd uint, key string, value *byte, aux int) (err error) {
1899+ var keyp *byte
1900+ if keyp, err = BytePtrFromString(key); err != nil {
1901+ return
1902+ }
1903+ return fsconfig(fd, cmd, keyp, value, aux)
1904+}
1905+
1906+// FsconfigSetFlag is equivalent to fsconfig(2) called
1907+// with cmd == FSCONFIG_SET_FLAG.
1908+//
1909+// fd is the filesystem context to act upon.
1910+// key the parameter key to set.
1911+func FsconfigSetFlag(fd int, key string) (err error) {
1912+ return fsconfigCommon(fd, FSCONFIG_SET_FLAG, key, nil, 0)
1913+}
1914+
1915+// FsconfigSetString is equivalent to fsconfig(2) called
1916+// with cmd == FSCONFIG_SET_STRING.
1917+//
1918+// fd is the filesystem context to act upon.
1919+// key the parameter key to set.
1920+// value is the parameter value to set.
1921+func FsconfigSetString(fd int, key string, value string) (err error) {
1922+ var valuep *byte
1923+ if valuep, err = BytePtrFromString(value); err != nil {
1924+ return
1925+ }
1926+ return fsconfigCommon(fd, FSCONFIG_SET_STRING, key, valuep, 0)
1927+}
1928+
1929+// FsconfigSetBinary is equivalent to fsconfig(2) called
1930+// with cmd == FSCONFIG_SET_BINARY.
1931+//
1932+// fd is the filesystem context to act upon.
1933+// key the parameter key to set.
1934+// value is the parameter value to set.
1935+func FsconfigSetBinary(fd int, key string, value []byte) (err error) {
1936+ if len(value) == 0 {
1937+ return EINVAL
1938+ }
1939+ return fsconfigCommon(fd, FSCONFIG_SET_BINARY, key, &value[0], len(value))
1940+}
1941+
1942+// FsconfigSetPath is equivalent to fsconfig(2) called
1943+// with cmd == FSCONFIG_SET_PATH.
1944+//
1945+// fd is the filesystem context to act upon.
1946+// key the parameter key to set.
1947+// path is a non-empty path for specified key.
1948+// atfd is a file descriptor at which to start lookup from or AT_FDCWD.
1949+func FsconfigSetPath(fd int, key string, path string, atfd int) (err error) {
1950+ var valuep *byte
1951+ if valuep, err = BytePtrFromString(path); err != nil {
1952+ return
1953+ }
1954+ return fsconfigCommon(fd, FSCONFIG_SET_PATH, key, valuep, atfd)
1955+}
1956+
1957+// FsconfigSetPathEmpty is equivalent to fsconfig(2) called
1958+// with cmd == FSCONFIG_SET_PATH_EMPTY. The same as
1959+// FconfigSetPath but with AT_PATH_EMPTY implied.
1960+func FsconfigSetPathEmpty(fd int, key string, path string, atfd int) (err error) {
1961+ var valuep *byte
1962+ if valuep, err = BytePtrFromString(path); err != nil {
1963+ return
1964+ }
1965+ return fsconfigCommon(fd, FSCONFIG_SET_PATH_EMPTY, key, valuep, atfd)
1966+}
1967+
1968+// FsconfigSetFd is equivalent to fsconfig(2) called
1969+// with cmd == FSCONFIG_SET_FD.
1970+//
1971+// fd is the filesystem context to act upon.
1972+// key the parameter key to set.
1973+// value is a file descriptor to be assigned to specified key.
1974+func FsconfigSetFd(fd int, key string, value int) (err error) {
1975+ return fsconfigCommon(fd, FSCONFIG_SET_FD, key, nil, value)
1976+}
1977+
1978+// FsconfigCreate is equivalent to fsconfig(2) called
1979+// with cmd == FSCONFIG_CMD_CREATE.
1980+//
1981+// fd is the filesystem context to act upon.
1982+func FsconfigCreate(fd int) (err error) {
1983+ return fsconfig(fd, FSCONFIG_CMD_CREATE, nil, nil, 0)
1984+}
1985+
1986+// FsconfigReconfigure is equivalent to fsconfig(2) called
1987+// with cmd == FSCONFIG_CMD_RECONFIGURE.
1988+//
1989+// fd is the filesystem context to act upon.
1990+func FsconfigReconfigure(fd int) (err error) {
1991+ return fsconfig(fd, FSCONFIG_CMD_RECONFIGURE, nil, nil, 0)
1992+}
1993+
1994+//sys Getdents(fd int, buf []byte) (n int, err error) = SYS_GETDENTS64
1995+//sysnb Getpgid(pid int) (pgid int, err error)
1996+
1997+func Getpgrp() (pid int) {
1998+ pid, _ = Getpgid(0)
1999+ return
2000+}
2001+
2002+//sysnb Getpid() (pid int)
2003+//sysnb Getppid() (ppid int)
2004+//sys Getpriority(which int, who int) (prio int, err error)
2005+
2006+func Getrandom(buf []byte, flags int) (n int, err error) {
2007+ vdsoRet, supported := vgetrandom(buf, uint32(flags))
2008+ if supported {
2009+ if vdsoRet < 0 {
2010+ return 0, errnoErr(syscall.Errno(-vdsoRet))
2011+ }
2012+ return vdsoRet, nil
2013+ }
2014+ var p *byte
2015+ if len(buf) > 0 {
2016+ p = &buf[0]
2017+ }
2018+ r, _, e := Syscall(SYS_GETRANDOM, uintptr(unsafe.Pointer(p)), uintptr(len(buf)), uintptr(flags))
2019+ if e != 0 {
2020+ return 0, errnoErr(e)
2021+ }
2022+ return int(r), nil
2023+}
2024+
2025+//sysnb Getrusage(who int, rusage *Rusage) (err error)
2026+//sysnb Getsid(pid int) (sid int, err error)
2027+//sysnb Gettid() (tid int)
2028+//sys Getxattr(path string, attr string, dest []byte) (sz int, err error)
2029+//sys InitModule(moduleImage []byte, params string) (err error)
2030+//sys InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error)
2031+//sysnb InotifyInit1(flags int) (fd int, err error)
2032+//sysnb InotifyRmWatch(fd int, watchdesc uint32) (success int, err error)
2033+//sysnb Kill(pid int, sig syscall.Signal) (err error)
2034+//sys Klogctl(typ int, buf []byte) (n int, err error) = SYS_SYSLOG
2035+//sys Lgetxattr(path string, attr string, dest []byte) (sz int, err error)
2036+//sys Listxattr(path string, dest []byte) (sz int, err error)
2037+//sys Llistxattr(path string, dest []byte) (sz int, err error)
2038+//sys Lremovexattr(path string, attr string) (err error)
2039+//sys Lsetxattr(path string, attr string, data []byte, flags int) (err error)
2040+//sys MemfdCreate(name string, flags int) (fd int, err error)
2041+//sys Mkdirat(dirfd int, path string, mode uint32) (err error)
2042+//sys Mknodat(dirfd int, path string, mode uint32, dev int) (err error)
2043+//sys MoveMount(fromDirfd int, fromPathName string, toDirfd int, toPathName string, flags int) (err error)
2044+//sys Nanosleep(time *Timespec, leftover *Timespec) (err error)
2045+//sys OpenTree(dfd int, fileName string, flags uint) (r int, err error)
2046+//sys PerfEventOpen(attr *PerfEventAttr, pid int, cpu int, groupFd int, flags int) (fd int, err error)
2047+//sys PivotRoot(newroot string, putold string) (err error) = SYS_PIVOT_ROOT
2048+//sys Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error)
2049+//sys pselect6(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *sigset_argpack) (n int, err error)
2050+//sys read(fd int, p []byte) (n int, err error)
2051+//sys Removexattr(path string, attr string) (err error)
2052+//sys Renameat2(olddirfd int, oldpath string, newdirfd int, newpath string, flags uint) (err error)
2053+//sys RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error)
2054+//sys Setdomainname(p []byte) (err error)
2055+//sys Sethostname(p []byte) (err error)
2056+//sysnb Setpgid(pid int, pgid int) (err error)
2057+//sysnb Setsid() (pid int, err error)
2058+//sysnb Settimeofday(tv *Timeval) (err error)
2059+//sys Setns(fd int, nstype int) (err error)
2060+
2061+//go:linkname syscall_prlimit syscall.prlimit
2062+func syscall_prlimit(pid, resource int, newlimit, old *syscall.Rlimit) error
2063+
2064+func Prlimit(pid, resource int, newlimit, old *Rlimit) error {
2065+ // Just call the syscall version, because as of Go 1.21
2066+ // it will affect starting a new process.
2067+ return syscall_prlimit(pid, resource, (*syscall.Rlimit)(newlimit), (*syscall.Rlimit)(old))
2068+}
2069+
2070+// PrctlRetInt performs a prctl operation specified by option and further
2071+// optional arguments arg2 through arg5 depending on option. It returns a
2072+// non-negative integer that is returned by the prctl syscall.
2073+func PrctlRetInt(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (int, error) {
2074+ ret, _, err := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0)
2075+ if err != 0 {
2076+ return 0, err
2077+ }
2078+ return int(ret), nil
2079+}
2080+
2081+func Setuid(uid int) (err error) {
2082+ return syscall.Setuid(uid)
2083+}
2084+
2085+func Setgid(gid int) (err error) {
2086+ return syscall.Setgid(gid)
2087+}
2088+
2089+func Setreuid(ruid, euid int) (err error) {
2090+ return syscall.Setreuid(ruid, euid)
2091+}
2092+
2093+func Setregid(rgid, egid int) (err error) {
2094+ return syscall.Setregid(rgid, egid)
2095+}
2096+
2097+func Setresuid(ruid, euid, suid int) (err error) {
2098+ return syscall.Setresuid(ruid, euid, suid)
2099+}
2100+
2101+func Setresgid(rgid, egid, sgid int) (err error) {
2102+ return syscall.Setresgid(rgid, egid, sgid)
2103+}
2104+
2105+// SetfsgidRetGid sets fsgid for current thread and returns previous fsgid set.
2106+// setfsgid(2) will return a non-nil error only if its caller lacks CAP_SETUID capability.
2107+// If the call fails due to other reasons, current fsgid will be returned.
2108+func SetfsgidRetGid(gid int) (int, error) {
2109+ return setfsgid(gid)
2110+}
2111+
2112+// SetfsuidRetUid sets fsuid for current thread and returns previous fsuid set.
2113+// setfsgid(2) will return a non-nil error only if its caller lacks CAP_SETUID capability
2114+// If the call fails due to other reasons, current fsuid will be returned.
2115+func SetfsuidRetUid(uid int) (int, error) {
2116+ return setfsuid(uid)
2117+}
2118+
2119+func Setfsgid(gid int) error {
2120+ _, err := setfsgid(gid)
2121+ return err
2122+}
2123+
2124+func Setfsuid(uid int) error {
2125+ _, err := setfsuid(uid)
2126+ return err
2127+}
2128+
2129+func Signalfd(fd int, sigmask *Sigset_t, flags int) (newfd int, err error) {
2130+ return signalfd(fd, sigmask, _C__NSIG/8, flags)
2131+}
2132+
2133+//sys Setpriority(which int, who int, prio int) (err error)
2134+//sys Setxattr(path string, attr string, data []byte, flags int) (err error)
2135+//sys signalfd(fd int, sigmask *Sigset_t, maskSize uintptr, flags int) (newfd int, err error) = SYS_SIGNALFD4
2136+//sys Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error)
2137+//sys Sync()
2138+//sys Syncfs(fd int) (err error)
2139+//sysnb Sysinfo(info *Sysinfo_t) (err error)
2140+//sys Tee(rfd int, wfd int, len int, flags int) (n int64, err error)
2141+//sysnb TimerfdCreate(clockid int, flags int) (fd int, err error)
2142+//sysnb TimerfdGettime(fd int, currValue *ItimerSpec) (err error)
2143+//sysnb TimerfdSettime(fd int, flags int, newValue *ItimerSpec, oldValue *ItimerSpec) (err error)
2144+//sysnb Tgkill(tgid int, tid int, sig syscall.Signal) (err error)
2145+//sysnb Times(tms *Tms) (ticks uintptr, err error)
2146+//sysnb Umask(mask int) (oldmask int)
2147+//sysnb Uname(buf *Utsname) (err error)
2148+//sys Unmount(target string, flags int) (err error) = SYS_UMOUNT2
2149+//sys Unshare(flags int) (err error)
2150+//sys write(fd int, p []byte) (n int, err error)
2151+//sys exitThread(code int) (err error) = SYS_EXIT
2152+//sys readv(fd int, iovs []Iovec) (n int, err error) = SYS_READV
2153+//sys writev(fd int, iovs []Iovec) (n int, err error) = SYS_WRITEV
2154+//sys preadvSyscall(fd int, iovs []Iovec, offs_l uintptr, offs_h uintptr) (n int, err error) = SYS_PREADV
2155+//sys pwritevSyscall(fd int, iovs []Iovec, offs_l uintptr, offs_h uintptr) (n int, err error) = SYS_PWRITEV
2156+//sys preadv2Syscall(fd int, iovs []Iovec, offs_l uintptr, offs_h uintptr, flags int) (n int, err error) = SYS_PREADV2
2157+//sys pwritev2Syscall(fd int, iovs []Iovec, offs_l uintptr, offs_h uintptr, flags int) (n int, err error) = SYS_PWRITEV2
2158+
2159+// offs2lohi splits offs into its low and high order bits.
2160+func offs2lohi(offs int64) (lo, hi uintptr) {
2161+ const longBits = SizeofLong * 8
2162+ return uintptr(offs), uintptr(uint64(offs) >> (longBits - 1) >> 1) // two shifts to avoid false positive in vet
2163+}
2164+
2165+func preadv(fd int, iovecs []Iovec, offset int64) (n int, err error) {
2166+ lo, hi := offs2lohi(offset)
2167+ return preadvSyscall(fd, iovecs, lo, hi)
2168+}
2169+
2170+func Preadv2(fd int, iovs [][]byte, offset int64, flags int) (n int, err error) {
2171+ iovecs := make([]Iovec, 0, minIovec)
2172+ iovecs = appendBytes(iovecs, iovs)
2173+ lo, hi := offs2lohi(offset)
2174+ n, err = preadv2Syscall(fd, iovecs, lo, hi, flags)
2175+ readvRaceDetect(iovecs, n, err)
2176+ return n, err
2177+}
2178+
2179+func pwritev(fd int, iovecs []Iovec, offset int64) (n int, err error) {
2180+ lo, hi := offs2lohi(offset)
2181+ return pwritevSyscall(fd, iovecs, lo, hi)
2182+}
2183+
2184+func Pwritev2(fd int, iovs [][]byte, offset int64, flags int) (n int, err error) {
2185+ iovecs := make([]Iovec, 0, minIovec)
2186+ iovecs = appendBytes(iovecs, iovs)
2187+ if raceenabled {
2188+ raceReleaseMerge(unsafe.Pointer(&ioSync))
2189+ }
2190+ lo, hi := offs2lohi(offset)
2191+ n, err = pwritev2Syscall(fd, iovecs, lo, hi, flags)
2192+ writevRaceDetect(iovecs, n)
2193+ return n, err
2194+}
2195+
2196+// mmap varies by architecture; see syscall_linux_*.go.
2197+//sys munmap(addr uintptr, length uintptr) (err error)
2198+//sys mremap(oldaddr uintptr, oldlength uintptr, newlength uintptr, flags int, newaddr uintptr) (xaddr uintptr, err error)
2199+//sys Madvise(b []byte, advice int) (err error)
2200+//sys Mprotect(b []byte, prot int) (err error)
2201+//sys Mlock(b []byte) (err error)
2202+//sys Mlockall(flags int) (err error)
2203+//sys Msync(b []byte, flags int) (err error)
2204+//sys Munlock(b []byte) (err error)
2205+//sys Munlockall() (err error)
2206+
2207+const (
2208+ mremapFixed = MREMAP_FIXED
2209+ mremapDontunmap = MREMAP_DONTUNMAP
2210+ mremapMaymove = MREMAP_MAYMOVE
2211+)
2212+
2213+// Vmsplice splices user pages from a slice of Iovecs into a pipe specified by fd,
2214+// using the specified flags.
2215+func Vmsplice(fd int, iovs []Iovec, flags int) (int, error) {
2216+ var p unsafe.Pointer
2217+ if len(iovs) > 0 {
2218+ p = unsafe.Pointer(&iovs[0])
2219+ }
2220+
2221+ n, _, errno := Syscall6(SYS_VMSPLICE, uintptr(fd), uintptr(p), uintptr(len(iovs)), uintptr(flags), 0, 0)
2222+ if errno != 0 {
2223+ return 0, syscall.Errno(errno)
2224+ }
2225+
2226+ return int(n), nil
2227+}
2228+
2229+func isGroupMember(gid int) bool {
2230+ groups, err := Getgroups()
2231+ if err != nil {
2232+ return false
2233+ }
2234+
2235+ return slices.Contains(groups, gid)
2236+}
2237+
2238+func isCapDacOverrideSet() bool {
2239+ hdr := CapUserHeader{Version: LINUX_CAPABILITY_VERSION_3}
2240+ data := [2]CapUserData{}
2241+ err := Capget(&hdr, &data[0])
2242+
2243+ return err == nil && data[0].Effective&(1<<CAP_DAC_OVERRIDE) != 0
2244+}
2245+
2246+//sys faccessat(dirfd int, path string, mode uint32) (err error)
2247+//sys Faccessat2(dirfd int, path string, mode uint32, flags int) (err error)
2248+
2249+func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {
2250+ if flags == 0 {
2251+ return faccessat(dirfd, path, mode)
2252+ }
2253+
2254+ if err := Faccessat2(dirfd, path, mode, flags); err != ENOSYS && err != EPERM {
2255+ return err
2256+ }
2257+
2258+ // The Linux kernel faccessat system call does not take any flags.
2259+ // The glibc faccessat implements the flags itself; see
2260+ // https://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/unix/sysv/linux/faccessat.c;hb=HEAD
2261+ // Because people naturally expect syscall.Faccessat to act
2262+ // like C faccessat, we do the same.
2263+
2264+ if flags & ^(AT_SYMLINK_NOFOLLOW|AT_EACCESS) != 0 {
2265+ return EINVAL
2266+ }
2267+
2268+ var st Stat_t
2269+ if err := Fstatat(dirfd, path, &st, flags&AT_SYMLINK_NOFOLLOW); err != nil {
2270+ return err
2271+ }
2272+
2273+ mode &= 7
2274+ if mode == 0 {
2275+ return nil
2276+ }
2277+
2278+ var uid int
2279+ if flags&AT_EACCESS != 0 {
2280+ uid = Geteuid()
2281+ if uid != 0 && isCapDacOverrideSet() {
2282+ // If CAP_DAC_OVERRIDE is set, file access check is
2283+ // done by the kernel in the same way as for root
2284+ // (see generic_permission() in the Linux sources).
2285+ uid = 0
2286+ }
2287+ } else {
2288+ uid = Getuid()
2289+ }
2290+
2291+ if uid == 0 {
2292+ if mode&1 == 0 {
2293+ // Root can read and write any file.
2294+ return nil
2295+ }
2296+ if st.Mode&0111 != 0 {
2297+ // Root can execute any file that anybody can execute.
2298+ return nil
2299+ }
2300+ return EACCES
2301+ }
2302+
2303+ var fmode uint32
2304+ if uint32(uid) == st.Uid {
2305+ fmode = (st.Mode >> 6) & 7
2306+ } else {
2307+ var gid int
2308+ if flags&AT_EACCESS != 0 {
2309+ gid = Getegid()
2310+ } else {
2311+ gid = Getgid()
2312+ }
2313+
2314+ if uint32(gid) == st.Gid || isGroupMember(int(st.Gid)) {
2315+ fmode = (st.Mode >> 3) & 7
2316+ } else {
2317+ fmode = st.Mode & 7
2318+ }
2319+ }
2320+
2321+ if fmode&mode == mode {
2322+ return nil
2323+ }
2324+
2325+ return EACCES
2326+}
2327+
2328+//sys nameToHandleAt(dirFD int, pathname string, fh *fileHandle, mountID *_C_int, flags int) (err error) = SYS_NAME_TO_HANDLE_AT
2329+//sys openByHandleAt(mountFD int, fh *fileHandle, flags int) (fd int, err error) = SYS_OPEN_BY_HANDLE_AT
2330+
2331+// fileHandle is the argument to nameToHandleAt and openByHandleAt. We
2332+// originally tried to generate it via unix/linux/types.go with "type
2333+// fileHandle C.struct_file_handle" but that generated empty structs
2334+// for mips64 and mips64le. Instead, hard code it for now (it's the
2335+// same everywhere else) until the mips64 generator issue is fixed.
2336+type fileHandle struct {
2337+ Bytes uint32
2338+ Type int32
2339+}
2340+
2341+// FileHandle represents the C struct file_handle used by
2342+// name_to_handle_at (see NameToHandleAt) and open_by_handle_at (see
2343+// OpenByHandleAt).
2344+type FileHandle struct {
2345+ *fileHandle
2346+}
2347+
2348+// NewFileHandle constructs a FileHandle.
2349+func NewFileHandle(handleType int32, handle []byte) FileHandle {
2350+ const hdrSize = unsafe.Sizeof(fileHandle{})
2351+ buf := make([]byte, hdrSize+uintptr(len(handle)))
2352+ copy(buf[hdrSize:], handle)
2353+ fh := (*fileHandle)(unsafe.Pointer(&buf[0]))
2354+ fh.Type = handleType
2355+ fh.Bytes = uint32(len(handle))
2356+ return FileHandle{fh}
2357+}
2358+
2359+func (fh *FileHandle) Size() int { return int(fh.fileHandle.Bytes) }
2360+func (fh *FileHandle) Type() int32 { return fh.fileHandle.Type }
2361+func (fh *FileHandle) Bytes() []byte {
2362+ n := fh.Size()
2363+ if n == 0 {
2364+ return nil
2365+ }
2366+ return unsafe.Slice((*byte)(unsafe.Pointer(uintptr(unsafe.Pointer(&fh.fileHandle.Type))+4)), n)
2367+}
2368+
2369+// NameToHandleAt wraps the name_to_handle_at system call; it obtains
2370+// a handle for a path name.
2371+func NameToHandleAt(dirfd int, path string, flags int) (handle FileHandle, mountID int, err error) {
2372+ var mid _C_int
2373+ // Try first with a small buffer, assuming the handle will
2374+ // only be 32 bytes.
2375+ size := uint32(32 + unsafe.Sizeof(fileHandle{}))
2376+ didResize := false
2377+ for {
2378+ buf := make([]byte, size)
2379+ fh := (*fileHandle)(unsafe.Pointer(&buf[0]))
2380+ fh.Bytes = size - uint32(unsafe.Sizeof(fileHandle{}))
2381+ err = nameToHandleAt(dirfd, path, fh, &mid, flags)
2382+ if err == EOVERFLOW {
2383+ if didResize {
2384+ // We shouldn't need to resize more than once
2385+ return
2386+ }
2387+ didResize = true
2388+ size = fh.Bytes + uint32(unsafe.Sizeof(fileHandle{}))
2389+ continue
2390+ }
2391+ if err != nil {
2392+ return
2393+ }
2394+ return FileHandle{fh}, int(mid), nil
2395+ }
2396+}
2397+
2398+// OpenByHandleAt wraps the open_by_handle_at system call; it opens a
2399+// file via a handle as previously returned by NameToHandleAt.
2400+func OpenByHandleAt(mountFD int, handle FileHandle, flags int) (fd int, err error) {
2401+ return openByHandleAt(mountFD, handle.fileHandle, flags)
2402+}
2403+
2404+// Klogset wraps the sys_syslog system call; it sets console_loglevel to
2405+// the value specified by arg and passes a dummy pointer to bufp.
2406+func Klogset(typ int, arg int) (err error) {
2407+ var p unsafe.Pointer
2408+ _, _, errno := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(p), uintptr(arg))
2409+ if errno != 0 {
2410+ return errnoErr(errno)
2411+ }
2412+ return nil
2413+}
2414+
2415+// RemoteIovec is Iovec with the pointer replaced with an integer.
2416+// It is used for ProcessVMReadv and ProcessVMWritev, where the pointer
2417+// refers to a location in a different process' address space, which
2418+// would confuse the Go garbage collector.
2419+type RemoteIovec struct {
2420+ Base uintptr
2421+ Len int
2422+}
2423+
2424+//sys ProcessVMReadv(pid int, localIov []Iovec, remoteIov []RemoteIovec, flags uint) (n int, err error) = SYS_PROCESS_VM_READV
2425+//sys ProcessVMWritev(pid int, localIov []Iovec, remoteIov []RemoteIovec, flags uint) (n int, err error) = SYS_PROCESS_VM_WRITEV
2426+
2427+//sys PidfdOpen(pid int, flags int) (fd int, err error) = SYS_PIDFD_OPEN
2428+//sys PidfdGetfd(pidfd int, targetfd int, flags int) (fd int, err error) = SYS_PIDFD_GETFD
2429+//sys PidfdSendSignal(pidfd int, sig Signal, info *Siginfo, flags int) (err error) = SYS_PIDFD_SEND_SIGNAL
2430+
2431+//sys shmat(id int, addr uintptr, flag int) (ret uintptr, err error)
2432+//sys shmctl(id int, cmd int, buf *SysvShmDesc) (result int, err error)
2433+//sys shmdt(addr uintptr) (err error)
2434+//sys shmget(key int, size int, flag int) (id int, err error)
2435+
2436+//sys getitimer(which int, currValue *Itimerval) (err error)
2437+//sys setitimer(which int, newValue *Itimerval, oldValue *Itimerval) (err error)
2438+
2439+// MakeItimerval creates an Itimerval from interval and value durations.
2440+func MakeItimerval(interval, value time.Duration) Itimerval {
2441+ return Itimerval{
2442+ Interval: NsecToTimeval(interval.Nanoseconds()),
2443+ Value: NsecToTimeval(value.Nanoseconds()),
2444+ }
2445+}
2446+
2447+// A value which may be passed to the which parameter for Getitimer and
2448+// Setitimer.
2449+type ItimerWhich int
2450+
2451+// Possible which values for Getitimer and Setitimer.
2452+const (
2453+ ItimerReal ItimerWhich = ITIMER_REAL
2454+ ItimerVirtual ItimerWhich = ITIMER_VIRTUAL
2455+ ItimerProf ItimerWhich = ITIMER_PROF
2456+)
2457+
2458+// Getitimer wraps getitimer(2) to return the current value of the timer
2459+// specified by which.
2460+func Getitimer(which ItimerWhich) (Itimerval, error) {
2461+ var it Itimerval
2462+ if err := getitimer(int(which), &it); err != nil {
2463+ return Itimerval{}, err
2464+ }
2465+
2466+ return it, nil
2467+}
2468+
2469+// Setitimer wraps setitimer(2) to arm or disarm the timer specified by which.
2470+// It returns the previous value of the timer.
2471+//
2472+// If the Itimerval argument is the zero value, the timer will be disarmed.
2473+func Setitimer(which ItimerWhich, it Itimerval) (Itimerval, error) {
2474+ var prev Itimerval
2475+ if err := setitimer(int(which), &it, &prev); err != nil {
2476+ return Itimerval{}, err
2477+ }
2478+
2479+ return prev, nil
2480+}
2481+
2482+//sysnb rtSigprocmask(how int, set *Sigset_t, oldset *Sigset_t, sigsetsize uintptr) (err error) = SYS_RT_SIGPROCMASK
2483+
2484+func PthreadSigmask(how int, set, oldset *Sigset_t) error {
2485+ if oldset != nil {
2486+ // Explicitly clear in case Sigset_t is larger than _C__NSIG.
2487+ *oldset = Sigset_t{}
2488+ }
2489+ return rtSigprocmask(how, set, oldset, _C__NSIG/8)
2490+}
2491+
2492+//sysnb getresuid(ruid *_C_int, euid *_C_int, suid *_C_int)
2493+//sysnb getresgid(rgid *_C_int, egid *_C_int, sgid *_C_int)
2494+
2495+func Getresuid() (ruid, euid, suid int) {
2496+ var r, e, s _C_int
2497+ getresuid(&r, &e, &s)
2498+ return int(r), int(e), int(s)
2499+}
2500+
2501+func Getresgid() (rgid, egid, sgid int) {
2502+ var r, e, s _C_int
2503+ getresgid(&r, &e, &s)
2504+ return int(r), int(e), int(s)
2505+}
2506+
2507+// Pselect is a wrapper around the Linux pselect6 system call.
2508+// This version does not modify the timeout argument.
2509+func Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {
2510+ // Per https://man7.org/linux/man-pages/man2/select.2.html#NOTES,
2511+ // The Linux pselect6() system call modifies its timeout argument.
2512+ // [Not modifying the argument] is the behavior required by POSIX.1-2001.
2513+ var mutableTimeout *Timespec
2514+ if timeout != nil {
2515+ mutableTimeout = new(Timespec)
2516+ *mutableTimeout = *timeout
2517+ }
2518+
2519+ // The final argument of the pselect6() system call is not a
2520+ // sigset_t * pointer, but is instead a structure
2521+ var kernelMask *sigset_argpack
2522+ if sigmask != nil {
2523+ wordBits := 32 << (^uintptr(0) >> 63) // see math.intSize
2524+
2525+ // A sigset stores one bit per signal,
2526+ // offset by 1 (because signal 0 does not exist).
2527+ // So the number of words needed is ⌈__C_NSIG - 1 / wordBits⌉.
2528+ sigsetWords := (_C__NSIG - 1 + wordBits - 1) / (wordBits)
2529+
2530+ sigsetBytes := uintptr(sigsetWords * (wordBits / 8))
2531+ kernelMask = &sigset_argpack{
2532+ ss: sigmask,
2533+ ssLen: sigsetBytes,
2534+ }
2535+ }
2536+
2537+ return pselect6(nfd, r, w, e, mutableTimeout, kernelMask)
2538+}
2539+
2540+//sys schedSetattr(pid int, attr *SchedAttr, flags uint) (err error)
2541+//sys schedGetattr(pid int, attr *SchedAttr, size uint, flags uint) (err error)
2542+
2543+// SchedSetAttr is a wrapper for sched_setattr(2) syscall.
2544+// https://man7.org/linux/man-pages/man2/sched_setattr.2.html
2545+func SchedSetAttr(pid int, attr *SchedAttr, flags uint) error {
2546+ if attr == nil {
2547+ return EINVAL
2548+ }
2549+ attr.Size = SizeofSchedAttr
2550+ return schedSetattr(pid, attr, flags)
2551+}
2552+
2553+// SchedGetAttr is a wrapper for sched_getattr(2) syscall.
2554+// https://man7.org/linux/man-pages/man2/sched_getattr.2.html
2555+func SchedGetAttr(pid int, flags uint) (*SchedAttr, error) {
2556+ attr := &SchedAttr{}
2557+ if err := schedGetattr(pid, attr, SizeofSchedAttr, flags); err != nil {
2558+ return nil, err
2559+ }
2560+ return attr, nil
2561+}
2562+
2563+//sys Cachestat(fd uint, crange *CachestatRange, cstat *Cachestat_t, flags uint) (err error)
2564+//sys Mseal(b []byte, flags uint) (err error)
2565+
2566+//sys setMemPolicy(mode int, mask unsafe.Pointer, size uintptr) (err error) = SYS_SET_MEMPOLICY
2567+
2568+func SetMemPolicy(mode int, mask *CPUSet) error {
2569+ return setMemPolicy(mode, unsafe.Pointer(mask), _CPU_SETSIZE)
2570+}
2571+
2572+func SetMemPolicyDynamic(mode int, mask CPUSetDynamic) error {
2573+ return setMemPolicy(mode, mask.pointer(), mask.size())
2574+}
@@ -0,0 +1,2574 @@
1+// Copyright 2009 The Go Authors. All rights reserved.
2+// Use of this source code is governed by a BSD-style
3+// license that can be found in the LICENSE file.
4+
5+// Linux system calls.
6+// This file is compiled as ordinary Go code,
7+// but it is also input to mksyscall,
8+// which parses the //sys lines and generates system call stubs.
9+// Note that sometimes we use a lowercase //sys name and
10+// wrap it in our own nicer implementation.
11+
12+package unix
13+
14+import (
15+ "encoding/binary"
16+ "slices"
17+ "strconv"
18+ "syscall"
19+ "time"
20+ "unsafe"
21+)
22+
23+/*
24+ * Wrapped
25+ */
26+
27+func Access(path string, mode uint32) (err error) {
28+ return Faccessat(AT_FDCWD, path, mode, 0)
29+}
30+
31+func Chmod(path string, mode uint32) (err error) {
32+ return Fchmodat(AT_FDCWD, path, mode, 0)
33+}
34+
35+func Chown(path string, uid int, gid int) (err error) {
36+ return Fchownat(AT_FDCWD, path, uid, gid, 0)
37+}
38+
39+func Creat(path string, mode uint32) (fd int, err error) {
40+ return Open(path, O_CREAT|O_WRONLY|O_TRUNC, mode)
41+}
42+
43+func EpollCreate(size int) (fd int, err error) {
44+ if size <= 0 {
45+ return -1, EINVAL
46+ }
47+ return EpollCreate1(0)
48+}
49+
50+//sys FanotifyInit(flags uint, event_f_flags uint) (fd int, err error)
51+//sys fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error)
52+
53+func FanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname string) (err error) {
54+ if pathname == "" {
55+ return fanotifyMark(fd, flags, mask, dirFd, nil)
56+ }
57+ p, err := BytePtrFromString(pathname)
58+ if err != nil {
59+ return err
60+ }
61+ return fanotifyMark(fd, flags, mask, dirFd, p)
62+}
63+
64+//sys fchmodat(dirfd int, path string, mode uint32) (err error)
65+//sys fchmodat2(dirfd int, path string, mode uint32, flags int) (err error)
66+
67+func Fchmodat(dirfd int, path string, mode uint32, flags int) error {
68+ // Linux fchmodat doesn't support the flags parameter, but fchmodat2 does.
69+ // Try fchmodat2 if flags are specified.
70+ if flags != 0 {
71+ err := fchmodat2(dirfd, path, mode, flags)
72+ if err == ENOSYS {
73+ // fchmodat2 isn't available. If the flags are known to be valid,
74+ // return EOPNOTSUPP to indicate that fchmodat doesn't support them.
75+ if flags&^(AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) != 0 {
76+ return EINVAL
77+ } else if flags&(AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) != 0 {
78+ return EOPNOTSUPP
79+ }
80+ }
81+ return err
82+ }
83+ return fchmodat(dirfd, path, mode)
84+}
85+
86+func InotifyInit() (fd int, err error) {
87+ return InotifyInit1(0)
88+}
89+
90+//sys ioctl(fd int, req uint, arg uintptr) (err error) = SYS_IOCTL
91+//sys ioctlPtr(fd int, req uint, arg unsafe.Pointer) (err error) = SYS_IOCTL
92+
93+// ioctl itself should not be exposed directly, but additional get/set functions
94+// for specific types are permissible. These are defined in ioctl.go and
95+// ioctl_linux.go.
96+//
97+// The third argument to ioctl is often a pointer but sometimes an integer.
98+// Callers should use ioctlPtr when the third argument is a pointer and ioctl
99+// when the third argument is an integer.
100+//
101+// TODO: some existing code incorrectly uses ioctl when it should use ioctlPtr.
102+
103+//sys Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error)
104+
105+func Link(oldpath string, newpath string) (err error) {
106+ return Linkat(AT_FDCWD, oldpath, AT_FDCWD, newpath, 0)
107+}
108+
109+func Mkdir(path string, mode uint32) (err error) {
110+ return Mkdirat(AT_FDCWD, path, mode)
111+}
112+
113+func Mknod(path string, mode uint32, dev int) (err error) {
114+ return Mknodat(AT_FDCWD, path, mode, dev)
115+}
116+
117+func Open(path string, mode int, perm uint32) (fd int, err error) {
118+ return openat(AT_FDCWD, path, mode|O_LARGEFILE, perm)
119+}
120+
121+//sys openat(dirfd int, path string, flags int, mode uint32) (fd int, err error)
122+
123+func Openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) {
124+ return openat(dirfd, path, flags|O_LARGEFILE, mode)
125+}
126+
127+//sys openat2(dirfd int, path string, open_how *OpenHow, size int) (fd int, err error)
128+
129+func Openat2(dirfd int, path string, how *OpenHow) (fd int, err error) {
130+ return openat2(dirfd, path, how, SizeofOpenHow)
131+}
132+
133+func Pipe(p []int) error {
134+ return Pipe2(p, 0)
135+}
136+
137+//sysnb pipe2(p *[2]_C_int, flags int) (err error)
138+
139+func Pipe2(p []int, flags int) error {
140+ if len(p) != 2 {
141+ return EINVAL
142+ }
143+ var pp [2]_C_int
144+ err := pipe2(&pp, flags)
145+ if err == nil {
146+ p[0] = int(pp[0])
147+ p[1] = int(pp[1])
148+ }
149+ return err
150+}
151+
152+//sys ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error)
153+
154+func Ppoll(fds []PollFd, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {
155+ if len(fds) == 0 {
156+ return ppoll(nil, 0, timeout, sigmask)
157+ }
158+ return ppoll(&fds[0], len(fds), timeout, sigmask)
159+}
160+
161+func Poll(fds []PollFd, timeout int) (n int, err error) {
162+ var ts *Timespec
163+ if timeout >= 0 {
164+ ts = new(Timespec)
165+ *ts = NsecToTimespec(int64(timeout) * 1e6)
166+ }
167+ return Ppoll(fds, ts, nil)
168+}
169+
170+//sys Readlinkat(dirfd int, path string, buf []byte) (n int, err error)
171+
172+func Readlink(path string, buf []byte) (n int, err error) {
173+ return Readlinkat(AT_FDCWD, path, buf)
174+}
175+
176+func Rename(oldpath string, newpath string) (err error) {
177+ return Renameat(AT_FDCWD, oldpath, AT_FDCWD, newpath)
178+}
179+
180+func Rmdir(path string) error {
181+ return Unlinkat(AT_FDCWD, path, AT_REMOVEDIR)
182+}
183+
184+//sys Symlinkat(oldpath string, newdirfd int, newpath string) (err error)
185+
186+func Symlink(oldpath string, newpath string) (err error) {
187+ return Symlinkat(oldpath, AT_FDCWD, newpath)
188+}
189+
190+func Unlink(path string) error {
191+ return Unlinkat(AT_FDCWD, path, 0)
192+}
193+
194+//sys Unlinkat(dirfd int, path string, flags int) (err error)
195+
196+func Utimes(path string, tv []Timeval) error {
197+ if tv == nil {
198+ err := utimensat(AT_FDCWD, path, nil, 0)
199+ if err != ENOSYS {
200+ return err
201+ }
202+ return utimes(path, nil)
203+ }
204+ if len(tv) != 2 {
205+ return EINVAL
206+ }
207+ var ts [2]Timespec
208+ ts[0] = NsecToTimespec(TimevalToNsec(tv[0]))
209+ ts[1] = NsecToTimespec(TimevalToNsec(tv[1]))
210+ err := utimensat(AT_FDCWD, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0)
211+ if err != ENOSYS {
212+ return err
213+ }
214+ return utimes(path, (*[2]Timeval)(unsafe.Pointer(&tv[0])))
215+}
216+
217+//sys utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error)
218+
219+func UtimesNano(path string, ts []Timespec) error {
220+ return UtimesNanoAt(AT_FDCWD, path, ts, 0)
221+}
222+
223+func UtimesNanoAt(dirfd int, path string, ts []Timespec, flags int) error {
224+ if ts == nil {
225+ return utimensat(dirfd, path, nil, flags)
226+ }
227+ if len(ts) != 2 {
228+ return EINVAL
229+ }
230+ return utimensat(dirfd, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), flags)
231+}
232+
233+func Futimesat(dirfd int, path string, tv []Timeval) error {
234+ if tv == nil {
235+ return futimesat(dirfd, path, nil)
236+ }
237+ if len(tv) != 2 {
238+ return EINVAL
239+ }
240+ return futimesat(dirfd, path, (*[2]Timeval)(unsafe.Pointer(&tv[0])))
241+}
242+
243+func Futimes(fd int, tv []Timeval) (err error) {
244+ // Believe it or not, this is the best we can do on Linux
245+ // (and is what glibc does).
246+ return Utimes("/proc/self/fd/"+strconv.Itoa(fd), tv)
247+}
248+
249+const ImplementsGetwd = true
250+
251+//sys Getcwd(buf []byte) (n int, err error)
252+
253+func Getwd() (wd string, err error) {
254+ var buf [PathMax]byte
255+ n, err := Getcwd(buf[0:])
256+ if err != nil {
257+ return "", err
258+ }
259+ // Getcwd returns the number of bytes written to buf, including the NUL.
260+ if n < 1 || n > len(buf) || buf[n-1] != 0 {
261+ return "", EINVAL
262+ }
263+ // In some cases, Linux can return a path that starts with the
264+ // "(unreachable)" prefix, which can potentially be a valid relative
265+ // path. To work around that, return ENOENT if path is not absolute.
266+ if buf[0] != '/' {
267+ return "", ENOENT
268+ }
269+
270+ return string(buf[0 : n-1]), nil
271+}
272+
273+func Getgroups() (gids []int, err error) {
274+ n, err := getgroups(0, nil)
275+ if err != nil {
276+ return nil, err
277+ }
278+ if n == 0 {
279+ return nil, nil
280+ }
281+
282+ // Sanity check group count. Max is 1<<16 on Linux.
283+ if n < 0 || n > 1<<20 {
284+ return nil, EINVAL
285+ }
286+
287+ a := make([]_Gid_t, n)
288+ n, err = getgroups(n, &a[0])
289+ if err != nil {
290+ return nil, err
291+ }
292+ gids = make([]int, n)
293+ for i, v := range a[0:n] {
294+ gids[i] = int(v)
295+ }
296+ return
297+}
298+
299+func Setgroups(gids []int) (err error) {
300+ if len(gids) == 0 {
301+ return setgroups(0, nil)
302+ }
303+
304+ a := make([]_Gid_t, len(gids))
305+ for i, v := range gids {
306+ a[i] = _Gid_t(v)
307+ }
308+ return setgroups(len(a), &a[0])
309+}
310+
311+type WaitStatus uint32
312+
313+// Wait status is 7 bits at bottom, either 0 (exited),
314+// 0x7F (stopped), or a signal number that caused an exit.
315+// The 0x80 bit is whether there was a core dump.
316+// An extra number (exit code, signal causing a stop)
317+// is in the high bits. At least that's the idea.
318+// There are various irregularities. For example, the
319+// "continued" status is 0xFFFF, distinguishing itself
320+// from stopped via the core dump bit.
321+
322+const (
323+ mask = 0x7F
324+ core = 0x80
325+ exited = 0x00
326+ stopped = 0x7F
327+ shift = 8
328+)
329+
330+func (w WaitStatus) Exited() bool { return w&mask == exited }
331+
332+func (w WaitStatus) Signaled() bool { return w&mask != stopped && w&mask != exited }
333+
334+func (w WaitStatus) Stopped() bool { return w&0xFF == stopped }
335+
336+func (w WaitStatus) Continued() bool { return w == 0xFFFF }
337+
338+func (w WaitStatus) CoreDump() bool { return w.Signaled() && w&core != 0 }
339+
340+func (w WaitStatus) ExitStatus() int {
341+ if !w.Exited() {
342+ return -1
343+ }
344+ return int(w>>shift) & 0xFF
345+}
346+
347+func (w WaitStatus) Signal() syscall.Signal {
348+ if !w.Signaled() {
349+ return -1
350+ }
351+ return syscall.Signal(w & mask)
352+}
353+
354+func (w WaitStatus) StopSignal() syscall.Signal {
355+ if !w.Stopped() {
356+ return -1
357+ }
358+ return syscall.Signal(w>>shift) & 0xFF
359+}
360+
361+func (w WaitStatus) TrapCause() int {
362+ if w.StopSignal() != SIGTRAP {
363+ return -1
364+ }
365+ return int(w>>shift) >> 8
366+}
367+
368+//sys wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error)
369+
370+func Wait4(pid int, wstatus *WaitStatus, options int, rusage *Rusage) (wpid int, err error) {
371+ var status _C_int
372+ wpid, err = wait4(pid, &status, options, rusage)
373+ if wstatus != nil {
374+ *wstatus = WaitStatus(status)
375+ }
376+ return
377+}
378+
379+//sys Waitid(idType int, id int, info *Siginfo, options int, rusage *Rusage) (err error)
380+
381+func Mkfifo(path string, mode uint32) error {
382+ return Mknod(path, mode|S_IFIFO, 0)
383+}
384+
385+func Mkfifoat(dirfd int, path string, mode uint32) error {
386+ return Mknodat(dirfd, path, mode|S_IFIFO, 0)
387+}
388+
389+func (sa *SockaddrInet4) sockaddr() (unsafe.Pointer, _Socklen, error) {
390+ if sa.Port < 0 || sa.Port > 0xFFFF {
391+ return nil, 0, EINVAL
392+ }
393+ sa.raw.Family = AF_INET
394+ p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port))
395+ p[0] = byte(sa.Port >> 8)
396+ p[1] = byte(sa.Port)
397+ sa.raw.Addr = sa.Addr
398+ return unsafe.Pointer(&sa.raw), SizeofSockaddrInet4, nil
399+}
400+
401+func (sa *SockaddrInet6) sockaddr() (unsafe.Pointer, _Socklen, error) {
402+ if sa.Port < 0 || sa.Port > 0xFFFF {
403+ return nil, 0, EINVAL
404+ }
405+ sa.raw.Family = AF_INET6
406+ p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port))
407+ p[0] = byte(sa.Port >> 8)
408+ p[1] = byte(sa.Port)
409+ sa.raw.Scope_id = sa.ZoneId
410+ sa.raw.Addr = sa.Addr
411+ return unsafe.Pointer(&sa.raw), SizeofSockaddrInet6, nil
412+}
413+
414+func (sa *SockaddrUnix) sockaddr() (unsafe.Pointer, _Socklen, error) {
415+ name := sa.Name
416+ n := len(name)
417+ if n >= len(sa.raw.Path) {
418+ return nil, 0, EINVAL
419+ }
420+ sa.raw.Family = AF_UNIX
421+ for i := range n {
422+ sa.raw.Path[i] = int8(name[i])
423+ }
424+ // length is family (uint16), name, NUL.
425+ sl := _Socklen(2)
426+ if n > 0 {
427+ sl += _Socklen(n) + 1
428+ }
429+ if sa.raw.Path[0] == '@' || (sa.raw.Path[0] == 0 && sl > 3) {
430+ // Check sl > 3 so we don't change unnamed socket behavior.
431+ sa.raw.Path[0] = 0
432+ // Don't count trailing NUL for abstract address.
433+ sl--
434+ }
435+
436+ return unsafe.Pointer(&sa.raw), sl, nil
437+}
438+
439+// SockaddrLinklayer implements the Sockaddr interface for AF_PACKET type sockets.
440+type SockaddrLinklayer struct {
441+ Protocol uint16
442+ Ifindex int
443+ Hatype uint16
444+ Pkttype uint8
445+ Halen uint8
446+ Addr [8]byte
447+ raw RawSockaddrLinklayer
448+}
449+
450+func (sa *SockaddrLinklayer) sockaddr() (unsafe.Pointer, _Socklen, error) {
451+ if sa.Ifindex < 0 || sa.Ifindex > 0x7fffffff {
452+ return nil, 0, EINVAL
453+ }
454+ sa.raw.Family = AF_PACKET
455+ sa.raw.Protocol = sa.Protocol
456+ sa.raw.Ifindex = int32(sa.Ifindex)
457+ sa.raw.Hatype = sa.Hatype
458+ sa.raw.Pkttype = sa.Pkttype
459+ sa.raw.Halen = sa.Halen
460+ sa.raw.Addr = sa.Addr
461+ return unsafe.Pointer(&sa.raw), SizeofSockaddrLinklayer, nil
462+}
463+
464+// SockaddrNetlink implements the Sockaddr interface for AF_NETLINK type sockets.
465+type SockaddrNetlink struct {
466+ Family uint16
467+ Pad uint16
468+ Pid uint32
469+ Groups uint32
470+ raw RawSockaddrNetlink
471+}
472+
473+func (sa *SockaddrNetlink) sockaddr() (unsafe.Pointer, _Socklen, error) {
474+ sa.raw.Family = AF_NETLINK
475+ sa.raw.Pad = sa.Pad
476+ sa.raw.Pid = sa.Pid
477+ sa.raw.Groups = sa.Groups
478+ return unsafe.Pointer(&sa.raw), SizeofSockaddrNetlink, nil
479+}
480+
481+// SockaddrHCI implements the Sockaddr interface for AF_BLUETOOTH type sockets
482+// using the HCI protocol.
483+type SockaddrHCI struct {
484+ Dev uint16
485+ Channel uint16
486+ raw RawSockaddrHCI
487+}
488+
489+func (sa *SockaddrHCI) sockaddr() (unsafe.Pointer, _Socklen, error) {
490+ sa.raw.Family = AF_BLUETOOTH
491+ sa.raw.Dev = sa.Dev
492+ sa.raw.Channel = sa.Channel
493+ return unsafe.Pointer(&sa.raw), SizeofSockaddrHCI, nil
494+}
495+
496+// SockaddrL2 implements the Sockaddr interface for AF_BLUETOOTH type sockets
497+// using the L2CAP protocol.
498+type SockaddrL2 struct {
499+ PSM uint16
500+ CID uint16
501+ Addr [6]uint8
502+ AddrType uint8
503+ raw RawSockaddrL2
504+}
505+
506+func (sa *SockaddrL2) sockaddr() (unsafe.Pointer, _Socklen, error) {
507+ sa.raw.Family = AF_BLUETOOTH
508+ psm := (*[2]byte)(unsafe.Pointer(&sa.raw.Psm))
509+ psm[0] = byte(sa.PSM)
510+ psm[1] = byte(sa.PSM >> 8)
511+ for i := range len(sa.Addr) {
512+ sa.raw.Bdaddr[i] = sa.Addr[len(sa.Addr)-1-i]
513+ }
514+ cid := (*[2]byte)(unsafe.Pointer(&sa.raw.Cid))
515+ cid[0] = byte(sa.CID)
516+ cid[1] = byte(sa.CID >> 8)
517+ sa.raw.Bdaddr_type = sa.AddrType
518+ return unsafe.Pointer(&sa.raw), SizeofSockaddrL2, nil
519+}
520+
521+// SockaddrRFCOMM implements the Sockaddr interface for AF_BLUETOOTH type sockets
522+// using the RFCOMM protocol.
523+//
524+// Server example:
525+//
526+// fd, _ := Socket(AF_BLUETOOTH, SOCK_STREAM, BTPROTO_RFCOMM)
527+// _ = unix.Bind(fd, &unix.SockaddrRFCOMM{
528+// Channel: 1,
529+// Addr: [6]uint8{0, 0, 0, 0, 0, 0}, // BDADDR_ANY or 00:00:00:00:00:00
530+// })
531+// _ = Listen(fd, 1)
532+// nfd, sa, _ := Accept(fd)
533+// fmt.Printf("conn addr=%v fd=%d", sa.(*unix.SockaddrRFCOMM).Addr, nfd)
534+// Read(nfd, buf)
535+//
536+// Client example:
537+//
538+// fd, _ := Socket(AF_BLUETOOTH, SOCK_STREAM, BTPROTO_RFCOMM)
539+// _ = Connect(fd, &SockaddrRFCOMM{
540+// Channel: 1,
541+// Addr: [6]byte{0x11, 0x22, 0x33, 0xaa, 0xbb, 0xcc}, // CC:BB:AA:33:22:11
542+// })
543+// Write(fd, []byte(`hello`))
544+type SockaddrRFCOMM struct {
545+ // Addr represents a bluetooth address, byte ordering is little-endian.
546+ Addr [6]uint8
547+
548+ // Channel is a designated bluetooth channel, only 1-30 are available for use.
549+ // Since Linux 2.6.7 and further zero value is the first available channel.
550+ Channel uint8
551+
552+ raw RawSockaddrRFCOMM
553+}
554+
555+func (sa *SockaddrRFCOMM) sockaddr() (unsafe.Pointer, _Socklen, error) {
556+ sa.raw.Family = AF_BLUETOOTH
557+ sa.raw.Channel = sa.Channel
558+ sa.raw.Bdaddr = sa.Addr
559+ return unsafe.Pointer(&sa.raw), SizeofSockaddrRFCOMM, nil
560+}
561+
562+// SockaddrCAN implements the Sockaddr interface for AF_CAN type sockets.
563+// The RxID and TxID fields are used for transport protocol addressing in
564+// (CAN_TP16, CAN_TP20, CAN_MCNET, and CAN_ISOTP), they can be left with
565+// zero values for CAN_RAW and CAN_BCM sockets as they have no meaning.
566+//
567+// The SockaddrCAN struct must be bound to the socket file descriptor
568+// using Bind before the CAN socket can be used.
569+//
570+// // Read one raw CAN frame
571+// fd, _ := Socket(AF_CAN, SOCK_RAW, CAN_RAW)
572+// addr := &SockaddrCAN{Ifindex: index}
573+// Bind(fd, addr)
574+// frame := make([]byte, 16)
575+// Read(fd, frame)
576+//
577+// The full SocketCAN documentation can be found in the linux kernel
578+// archives at: https://www.kernel.org/doc/Documentation/networking/can.txt
579+type SockaddrCAN struct {
580+ Ifindex int
581+ RxID uint32
582+ TxID uint32
583+ raw RawSockaddrCAN
584+}
585+
586+func (sa *SockaddrCAN) sockaddr() (unsafe.Pointer, _Socklen, error) {
587+ if sa.Ifindex < 0 || sa.Ifindex > 0x7fffffff {
588+ return nil, 0, EINVAL
589+ }
590+ sa.raw.Family = AF_CAN
591+ sa.raw.Ifindex = int32(sa.Ifindex)
592+ rx := (*[4]byte)(unsafe.Pointer(&sa.RxID))
593+ for i := range 4 {
594+ sa.raw.Addr[i] = rx[i]
595+ }
596+ tx := (*[4]byte)(unsafe.Pointer(&sa.TxID))
597+ for i := range 4 {
598+ sa.raw.Addr[i+4] = tx[i]
599+ }
600+ return unsafe.Pointer(&sa.raw), SizeofSockaddrCAN, nil
601+}
602+
603+// SockaddrCANJ1939 implements the Sockaddr interface for AF_CAN using J1939
604+// protocol (https://en.wikipedia.org/wiki/SAE_J1939). For more information
605+// on the purposes of the fields, check the official linux kernel documentation
606+// available here: https://www.kernel.org/doc/Documentation/networking/j1939.rst
607+type SockaddrCANJ1939 struct {
608+ Ifindex int
609+ Name uint64
610+ PGN uint32
611+ Addr uint8
612+ raw RawSockaddrCAN
613+}
614+
615+func (sa *SockaddrCANJ1939) sockaddr() (unsafe.Pointer, _Socklen, error) {
616+ if sa.Ifindex < 0 || sa.Ifindex > 0x7fffffff {
617+ return nil, 0, EINVAL
618+ }
619+ sa.raw.Family = AF_CAN
620+ sa.raw.Ifindex = int32(sa.Ifindex)
621+ n := (*[8]byte)(unsafe.Pointer(&sa.Name))
622+ for i := range 8 {
623+ sa.raw.Addr[i] = n[i]
624+ }
625+ p := (*[4]byte)(unsafe.Pointer(&sa.PGN))
626+ for i := range 4 {
627+ sa.raw.Addr[i+8] = p[i]
628+ }
629+ sa.raw.Addr[12] = sa.Addr
630+ return unsafe.Pointer(&sa.raw), SizeofSockaddrCAN, nil
631+}
632+
633+// SockaddrALG implements the Sockaddr interface for AF_ALG type sockets.
634+// SockaddrALG enables userspace access to the Linux kernel's cryptography
635+// subsystem. The Type and Name fields specify which type of hash or cipher
636+// should be used with a given socket.
637+//
638+// To create a file descriptor that provides access to a hash or cipher, both
639+// Bind and Accept must be used. Once the setup process is complete, input
640+// data can be written to the socket, processed by the kernel, and then read
641+// back as hash output or ciphertext.
642+//
643+// Here is an example of using an AF_ALG socket with SHA1 hashing.
644+// The initial socket setup process is as follows:
645+//
646+// // Open a socket to perform SHA1 hashing.
647+// fd, _ := unix.Socket(unix.AF_ALG, unix.SOCK_SEQPACKET, 0)
648+// addr := &unix.SockaddrALG{Type: "hash", Name: "sha1"}
649+// unix.Bind(fd, addr)
650+// // Note: unix.Accept does not work at this time; must invoke accept()
651+// // manually using unix.Syscall.
652+// hashfd, _, _ := unix.Syscall(unix.SYS_ACCEPT, uintptr(fd), 0, 0)
653+//
654+// Once a file descriptor has been returned from Accept, it may be used to
655+// perform SHA1 hashing. The descriptor is not safe for concurrent use, but
656+// may be re-used repeatedly with subsequent Write and Read operations.
657+//
658+// When hashing a small byte slice or string, a single Write and Read may
659+// be used:
660+//
661+// // Assume hashfd is already configured using the setup process.
662+// hash := os.NewFile(hashfd, "sha1")
663+// // Hash an input string and read the results. Each Write discards
664+// // previous hash state. Read always reads the current state.
665+// b := make([]byte, 20)
666+// for i := 0; i < 2; i++ {
667+// io.WriteString(hash, "Hello, world.")
668+// hash.Read(b)
669+// fmt.Println(hex.EncodeToString(b))
670+// }
671+// // Output:
672+// // 2ae01472317d1935a84797ec1983ae243fc6aa28
673+// // 2ae01472317d1935a84797ec1983ae243fc6aa28
674+//
675+// For hashing larger byte slices, or byte streams such as those read from
676+// a file or socket, use Sendto with MSG_MORE to instruct the kernel to update
677+// the hash digest instead of creating a new one for a given chunk and finalizing it.
678+//
679+// // Assume hashfd and addr are already configured using the setup process.
680+// hash := os.NewFile(hashfd, "sha1")
681+// // Hash the contents of a file.
682+// f, _ := os.Open("/tmp/linux-4.10-rc7.tar.xz")
683+// b := make([]byte, 4096)
684+// for {
685+// n, err := f.Read(b)
686+// if err == io.EOF {
687+// break
688+// }
689+// unix.Sendto(hashfd, b[:n], unix.MSG_MORE, addr)
690+// }
691+// hash.Read(b)
692+// fmt.Println(hex.EncodeToString(b))
693+// // Output: 85cdcad0c06eef66f805ecce353bec9accbeecc5
694+//
695+// For more information, see: http://www.chronox.de/crypto-API/crypto/userspace-if.html.
696+type SockaddrALG struct {
697+ Type string
698+ Name string
699+ Feature uint32
700+ Mask uint32
701+ raw RawSockaddrALG
702+}
703+
704+func (sa *SockaddrALG) sockaddr() (unsafe.Pointer, _Socklen, error) {
705+ // Leave room for NUL byte terminator.
706+ if len(sa.Type) > len(sa.raw.Type)-1 {
707+ return nil, 0, EINVAL
708+ }
709+ if len(sa.Name) > len(sa.raw.Name)-1 {
710+ return nil, 0, EINVAL
711+ }
712+
713+ sa.raw.Family = AF_ALG
714+ sa.raw.Feat = sa.Feature
715+ sa.raw.Mask = sa.Mask
716+
717+ copy(sa.raw.Type[:], sa.Type)
718+ copy(sa.raw.Name[:], sa.Name)
719+
720+ return unsafe.Pointer(&sa.raw), SizeofSockaddrALG, nil
721+}
722+
723+// SockaddrVM implements the Sockaddr interface for AF_VSOCK type sockets.
724+// SockaddrVM provides access to Linux VM sockets: a mechanism that enables
725+// bidirectional communication between a hypervisor and its guest virtual
726+// machines.
727+type SockaddrVM struct {
728+ // CID and Port specify a context ID and port address for a VM socket.
729+ // Guests have a unique CID, and hosts may have a well-known CID of:
730+ // - VMADDR_CID_HYPERVISOR: refers to the hypervisor process.
731+ // - VMADDR_CID_LOCAL: refers to local communication (loopback).
732+ // - VMADDR_CID_HOST: refers to other processes on the host.
733+ CID uint32
734+ Port uint32
735+ Flags uint8
736+ raw RawSockaddrVM
737+}
738+
739+func (sa *SockaddrVM) sockaddr() (unsafe.Pointer, _Socklen, error) {
740+ sa.raw.Family = AF_VSOCK
741+ sa.raw.Port = sa.Port
742+ sa.raw.Cid = sa.CID
743+ sa.raw.Flags = sa.Flags
744+
745+ return unsafe.Pointer(&sa.raw), SizeofSockaddrVM, nil
746+}
747+
748+type SockaddrXDP struct {
749+ Flags uint16
750+ Ifindex uint32
751+ QueueID uint32
752+ SharedUmemFD uint32
753+ raw RawSockaddrXDP
754+}
755+
756+func (sa *SockaddrXDP) sockaddr() (unsafe.Pointer, _Socklen, error) {
757+ sa.raw.Family = AF_XDP
758+ sa.raw.Flags = sa.Flags
759+ sa.raw.Ifindex = sa.Ifindex
760+ sa.raw.Queue_id = sa.QueueID
761+ sa.raw.Shared_umem_fd = sa.SharedUmemFD
762+
763+ return unsafe.Pointer(&sa.raw), SizeofSockaddrXDP, nil
764+}
765+
766+// This constant mirrors the #define of PX_PROTO_OE in
767+// linux/if_pppox.h. We're defining this by hand here instead of
768+// autogenerating through mkerrors.sh because including
769+// linux/if_pppox.h causes some declaration conflicts with other
770+// includes (linux/if_pppox.h includes linux/in.h, which conflicts
771+// with netinet/in.h). Given that we only need a single zero constant
772+// out of that file, it's cleaner to just define it by hand here.
773+const px_proto_oe = 0
774+
775+type SockaddrPPPoE struct {
776+ SID uint16
777+ Remote []byte
778+ Dev string
779+ raw RawSockaddrPPPoX
780+}
781+
782+func (sa *SockaddrPPPoE) sockaddr() (unsafe.Pointer, _Socklen, error) {
783+ if len(sa.Remote) != 6 {
784+ return nil, 0, EINVAL
785+ }
786+ if len(sa.Dev) > IFNAMSIZ-1 {
787+ return nil, 0, EINVAL
788+ }
789+
790+ *(*uint16)(unsafe.Pointer(&sa.raw[0])) = AF_PPPOX
791+ // This next field is in host-endian byte order. We can't use the
792+ // same unsafe pointer cast as above, because this value is not
793+ // 32-bit aligned and some architectures don't allow unaligned
794+ // access.
795+ //
796+ // However, the value of px_proto_oe is 0, so we can use
797+ // encoding/binary helpers to write the bytes without worrying
798+ // about the ordering.
799+ binary.BigEndian.PutUint32(sa.raw[2:6], px_proto_oe)
800+ // This field is deliberately big-endian, unlike the previous
801+ // one. The kernel expects SID to be in network byte order.
802+ binary.BigEndian.PutUint16(sa.raw[6:8], sa.SID)
803+ copy(sa.raw[8:14], sa.Remote)
804+ clear(sa.raw[14 : 14+IFNAMSIZ])
805+ copy(sa.raw[14:], sa.Dev)
806+ return unsafe.Pointer(&sa.raw), SizeofSockaddrPPPoX, nil
807+}
808+
809+// SockaddrTIPC implements the Sockaddr interface for AF_TIPC type sockets.
810+// For more information on TIPC, see: http://tipc.sourceforge.net/.
811+type SockaddrTIPC struct {
812+ // Scope is the publication scopes when binding service/service range.
813+ // Should be set to TIPC_CLUSTER_SCOPE or TIPC_NODE_SCOPE.
814+ Scope int
815+
816+ // Addr is the type of address used to manipulate a socket. Addr must be
817+ // one of:
818+ // - *TIPCSocketAddr: "id" variant in the C addr union
819+ // - *TIPCServiceRange: "nameseq" variant in the C addr union
820+ // - *TIPCServiceName: "name" variant in the C addr union
821+ //
822+ // If nil, EINVAL will be returned when the structure is used.
823+ Addr TIPCAddr
824+
825+ raw RawSockaddrTIPC
826+}
827+
828+// TIPCAddr is implemented by types that can be used as an address for
829+// SockaddrTIPC. It is only implemented by *TIPCSocketAddr, *TIPCServiceRange,
830+// and *TIPCServiceName.
831+type TIPCAddr interface {
832+ tipcAddrtype() uint8
833+ tipcAddr() [12]byte
834+}
835+
836+func (sa *TIPCSocketAddr) tipcAddr() [12]byte {
837+ var out [12]byte
838+ copy(out[:], (*(*[unsafe.Sizeof(TIPCSocketAddr{})]byte)(unsafe.Pointer(sa)))[:])
839+ return out
840+}
841+
842+func (sa *TIPCSocketAddr) tipcAddrtype() uint8 { return TIPC_SOCKET_ADDR }
843+
844+func (sa *TIPCServiceRange) tipcAddr() [12]byte {
845+ var out [12]byte
846+ copy(out[:], (*(*[unsafe.Sizeof(TIPCServiceRange{})]byte)(unsafe.Pointer(sa)))[:])
847+ return out
848+}
849+
850+func (sa *TIPCServiceRange) tipcAddrtype() uint8 { return TIPC_SERVICE_RANGE }
851+
852+func (sa *TIPCServiceName) tipcAddr() [12]byte {
853+ var out [12]byte
854+ copy(out[:], (*(*[unsafe.Sizeof(TIPCServiceName{})]byte)(unsafe.Pointer(sa)))[:])
855+ return out
856+}
857+
858+func (sa *TIPCServiceName) tipcAddrtype() uint8 { return TIPC_SERVICE_ADDR }
859+
860+func (sa *SockaddrTIPC) sockaddr() (unsafe.Pointer, _Socklen, error) {
861+ if sa.Addr == nil {
862+ return nil, 0, EINVAL
863+ }
864+ sa.raw.Family = AF_TIPC
865+ sa.raw.Scope = int8(sa.Scope)
866+ sa.raw.Addrtype = sa.Addr.tipcAddrtype()
867+ sa.raw.Addr = sa.Addr.tipcAddr()
868+ return unsafe.Pointer(&sa.raw), SizeofSockaddrTIPC, nil
869+}
870+
871+// SockaddrL2TPIP implements the Sockaddr interface for IPPROTO_L2TP/AF_INET sockets.
872+type SockaddrL2TPIP struct {
873+ Addr [4]byte
874+ ConnId uint32
875+ raw RawSockaddrL2TPIP
876+}
877+
878+func (sa *SockaddrL2TPIP) sockaddr() (unsafe.Pointer, _Socklen, error) {
879+ sa.raw.Family = AF_INET
880+ sa.raw.Conn_id = sa.ConnId
881+ sa.raw.Addr = sa.Addr
882+ return unsafe.Pointer(&sa.raw), SizeofSockaddrL2TPIP, nil
883+}
884+
885+// SockaddrL2TPIP6 implements the Sockaddr interface for IPPROTO_L2TP/AF_INET6 sockets.
886+type SockaddrL2TPIP6 struct {
887+ Addr [16]byte
888+ ZoneId uint32
889+ ConnId uint32
890+ raw RawSockaddrL2TPIP6
891+}
892+
893+func (sa *SockaddrL2TPIP6) sockaddr() (unsafe.Pointer, _Socklen, error) {
894+ sa.raw.Family = AF_INET6
895+ sa.raw.Conn_id = sa.ConnId
896+ sa.raw.Scope_id = sa.ZoneId
897+ sa.raw.Addr = sa.Addr
898+ return unsafe.Pointer(&sa.raw), SizeofSockaddrL2TPIP6, nil
899+}
900+
901+// SockaddrIUCV implements the Sockaddr interface for AF_IUCV sockets.
902+type SockaddrIUCV struct {
903+ UserID string
904+ Name string
905+ raw RawSockaddrIUCV
906+}
907+
908+func (sa *SockaddrIUCV) sockaddr() (unsafe.Pointer, _Socklen, error) {
909+ sa.raw.Family = AF_IUCV
910+ // These are EBCDIC encoded by the kernel, but we still need to pad them
911+ // with blanks. Initializing with blanks allows the caller to feed in either
912+ // a padded or an unpadded string.
913+ for i := range 8 {
914+ sa.raw.Nodeid[i] = ' '
915+ sa.raw.User_id[i] = ' '
916+ sa.raw.Name[i] = ' '
917+ }
918+ if len(sa.UserID) > 8 || len(sa.Name) > 8 {
919+ return nil, 0, EINVAL
920+ }
921+ for i, b := range []byte(sa.UserID[:]) {
922+ sa.raw.User_id[i] = int8(b)
923+ }
924+ for i, b := range []byte(sa.Name[:]) {
925+ sa.raw.Name[i] = int8(b)
926+ }
927+ return unsafe.Pointer(&sa.raw), SizeofSockaddrIUCV, nil
928+}
929+
930+type SockaddrNFC struct {
931+ DeviceIdx uint32
932+ TargetIdx uint32
933+ NFCProtocol uint32
934+ raw RawSockaddrNFC
935+}
936+
937+func (sa *SockaddrNFC) sockaddr() (unsafe.Pointer, _Socklen, error) {
938+ sa.raw.Sa_family = AF_NFC
939+ sa.raw.Dev_idx = sa.DeviceIdx
940+ sa.raw.Target_idx = sa.TargetIdx
941+ sa.raw.Nfc_protocol = sa.NFCProtocol
942+ return unsafe.Pointer(&sa.raw), SizeofSockaddrNFC, nil
943+}
944+
945+type SockaddrNFCLLCP struct {
946+ DeviceIdx uint32
947+ TargetIdx uint32
948+ NFCProtocol uint32
949+ DestinationSAP uint8
950+ SourceSAP uint8
951+ ServiceName string
952+ raw RawSockaddrNFCLLCP
953+}
954+
955+func (sa *SockaddrNFCLLCP) sockaddr() (unsafe.Pointer, _Socklen, error) {
956+ sa.raw.Sa_family = AF_NFC
957+ sa.raw.Dev_idx = sa.DeviceIdx
958+ sa.raw.Target_idx = sa.TargetIdx
959+ sa.raw.Nfc_protocol = sa.NFCProtocol
960+ sa.raw.Dsap = sa.DestinationSAP
961+ sa.raw.Ssap = sa.SourceSAP
962+ if len(sa.ServiceName) > len(sa.raw.Service_name) {
963+ return nil, 0, EINVAL
964+ }
965+ copy(sa.raw.Service_name[:], sa.ServiceName)
966+ sa.raw.SetServiceNameLen(len(sa.ServiceName))
967+ return unsafe.Pointer(&sa.raw), SizeofSockaddrNFCLLCP, nil
968+}
969+
970+var socketProtocol = func(fd int) (int, error) {
971+ return GetsockoptInt(fd, SOL_SOCKET, SO_PROTOCOL)
972+}
973+
974+func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) {
975+ switch rsa.Addr.Family {
976+ case AF_NETLINK:
977+ pp := (*RawSockaddrNetlink)(unsafe.Pointer(rsa))
978+ sa := new(SockaddrNetlink)
979+ sa.Family = pp.Family
980+ sa.Pad = pp.Pad
981+ sa.Pid = pp.Pid
982+ sa.Groups = pp.Groups
983+ return sa, nil
984+
985+ case AF_PACKET:
986+ pp := (*RawSockaddrLinklayer)(unsafe.Pointer(rsa))
987+ sa := new(SockaddrLinklayer)
988+ sa.Protocol = pp.Protocol
989+ sa.Ifindex = int(pp.Ifindex)
990+ sa.Hatype = pp.Hatype
991+ sa.Pkttype = pp.Pkttype
992+ sa.Halen = pp.Halen
993+ sa.Addr = pp.Addr
994+ return sa, nil
995+
996+ case AF_UNIX:
997+ pp := (*RawSockaddrUnix)(unsafe.Pointer(rsa))
998+ sa := new(SockaddrUnix)
999+ if pp.Path[0] == 0 {
1000+ // "Abstract" Unix domain socket.
1001+ // Rewrite leading NUL as @ for textual display.
1002+ // (This is the standard convention.)
1003+ // Not friendly to overwrite in place,
1004+ // but the callers below don't care.
1005+ pp.Path[0] = '@'
1006+ }
1007+
1008+ // Assume path ends at NUL.
1009+ // This is not technically the Linux semantics for
1010+ // abstract Unix domain sockets--they are supposed
1011+ // to be uninterpreted fixed-size binary blobs--but
1012+ // everyone uses this convention.
1013+ n := 0
1014+ for n < len(pp.Path) && pp.Path[n] != 0 {
1015+ n++
1016+ }
1017+ sa.Name = string(unsafe.Slice((*byte)(unsafe.Pointer(&pp.Path[0])), n))
1018+ return sa, nil
1019+
1020+ case AF_INET:
1021+ proto, err := socketProtocol(fd)
1022+ if err != nil {
1023+ return nil, err
1024+ }
1025+
1026+ switch proto {
1027+ case IPPROTO_L2TP:
1028+ pp := (*RawSockaddrL2TPIP)(unsafe.Pointer(rsa))
1029+ sa := new(SockaddrL2TPIP)
1030+ sa.ConnId = pp.Conn_id
1031+ sa.Addr = pp.Addr
1032+ return sa, nil
1033+ default:
1034+ pp := (*RawSockaddrInet4)(unsafe.Pointer(rsa))
1035+ sa := new(SockaddrInet4)
1036+ p := (*[2]byte)(unsafe.Pointer(&pp.Port))
1037+ sa.Port = int(p[0])<<8 + int(p[1])
1038+ sa.Addr = pp.Addr
1039+ return sa, nil
1040+ }
1041+
1042+ case AF_INET6:
1043+ proto, err := socketProtocol(fd)
1044+ if err != nil {
1045+ return nil, err
1046+ }
1047+
1048+ switch proto {
1049+ case IPPROTO_L2TP:
1050+ pp := (*RawSockaddrL2TPIP6)(unsafe.Pointer(rsa))
1051+ sa := new(SockaddrL2TPIP6)
1052+ sa.ConnId = pp.Conn_id
1053+ sa.ZoneId = pp.Scope_id
1054+ sa.Addr = pp.Addr
1055+ return sa, nil
1056+ default:
1057+ pp := (*RawSockaddrInet6)(unsafe.Pointer(rsa))
1058+ sa := new(SockaddrInet6)
1059+ p := (*[2]byte)(unsafe.Pointer(&pp.Port))
1060+ sa.Port = int(p[0])<<8 + int(p[1])
1061+ sa.ZoneId = pp.Scope_id
1062+ sa.Addr = pp.Addr
1063+ return sa, nil
1064+ }
1065+
1066+ case AF_VSOCK:
1067+ pp := (*RawSockaddrVM)(unsafe.Pointer(rsa))
1068+ sa := &SockaddrVM{
1069+ CID: pp.Cid,
1070+ Port: pp.Port,
1071+ Flags: pp.Flags,
1072+ }
1073+ return sa, nil
1074+ case AF_BLUETOOTH:
1075+ proto, err := socketProtocol(fd)
1076+ if err != nil {
1077+ return nil, err
1078+ }
1079+ // only BTPROTO_L2CAP and BTPROTO_RFCOMM can accept connections
1080+ switch proto {
1081+ case BTPROTO_L2CAP:
1082+ pp := (*RawSockaddrL2)(unsafe.Pointer(rsa))
1083+ sa := &SockaddrL2{
1084+ PSM: pp.Psm,
1085+ CID: pp.Cid,
1086+ Addr: pp.Bdaddr,
1087+ AddrType: pp.Bdaddr_type,
1088+ }
1089+ return sa, nil
1090+ case BTPROTO_RFCOMM:
1091+ pp := (*RawSockaddrRFCOMM)(unsafe.Pointer(rsa))
1092+ sa := &SockaddrRFCOMM{
1093+ Channel: pp.Channel,
1094+ Addr: pp.Bdaddr,
1095+ }
1096+ return sa, nil
1097+ }
1098+ case AF_XDP:
1099+ pp := (*RawSockaddrXDP)(unsafe.Pointer(rsa))
1100+ sa := &SockaddrXDP{
1101+ Flags: pp.Flags,
1102+ Ifindex: pp.Ifindex,
1103+ QueueID: pp.Queue_id,
1104+ SharedUmemFD: pp.Shared_umem_fd,
1105+ }
1106+ return sa, nil
1107+ case AF_PPPOX:
1108+ pp := (*RawSockaddrPPPoX)(unsafe.Pointer(rsa))
1109+ if binary.BigEndian.Uint32(pp[2:6]) != px_proto_oe {
1110+ return nil, EINVAL
1111+ }
1112+ sa := &SockaddrPPPoE{
1113+ SID: binary.BigEndian.Uint16(pp[6:8]),
1114+ Remote: pp[8:14],
1115+ }
1116+ for i := 14; i < 14+IFNAMSIZ; i++ {
1117+ if pp[i] == 0 {
1118+ sa.Dev = string(pp[14:i])
1119+ break
1120+ }
1121+ }
1122+ return sa, nil
1123+ case AF_TIPC:
1124+ pp := (*RawSockaddrTIPC)(unsafe.Pointer(rsa))
1125+
1126+ sa := &SockaddrTIPC{
1127+ Scope: int(pp.Scope),
1128+ }
1129+
1130+ // Determine which union variant is present in pp.Addr by checking
1131+ // pp.Addrtype.
1132+ switch pp.Addrtype {
1133+ case TIPC_SERVICE_RANGE:
1134+ sa.Addr = (*TIPCServiceRange)(unsafe.Pointer(&pp.Addr))
1135+ case TIPC_SERVICE_ADDR:
1136+ sa.Addr = (*TIPCServiceName)(unsafe.Pointer(&pp.Addr))
1137+ case TIPC_SOCKET_ADDR:
1138+ sa.Addr = (*TIPCSocketAddr)(unsafe.Pointer(&pp.Addr))
1139+ default:
1140+ return nil, EINVAL
1141+ }
1142+
1143+ return sa, nil
1144+ case AF_IUCV:
1145+ pp := (*RawSockaddrIUCV)(unsafe.Pointer(rsa))
1146+
1147+ var user [8]byte
1148+ var name [8]byte
1149+
1150+ for i := range 8 {
1151+ user[i] = byte(pp.User_id[i])
1152+ name[i] = byte(pp.Name[i])
1153+ }
1154+
1155+ sa := &SockaddrIUCV{
1156+ UserID: string(user[:]),
1157+ Name: string(name[:]),
1158+ }
1159+ return sa, nil
1160+
1161+ case AF_CAN:
1162+ proto, err := socketProtocol(fd)
1163+ if err != nil {
1164+ return nil, err
1165+ }
1166+
1167+ pp := (*RawSockaddrCAN)(unsafe.Pointer(rsa))
1168+
1169+ switch proto {
1170+ case CAN_J1939:
1171+ sa := &SockaddrCANJ1939{
1172+ Ifindex: int(pp.Ifindex),
1173+ }
1174+ name := (*[8]byte)(unsafe.Pointer(&sa.Name))
1175+ for i := range 8 {
1176+ name[i] = pp.Addr[i]
1177+ }
1178+ pgn := (*[4]byte)(unsafe.Pointer(&sa.PGN))
1179+ for i := range 4 {
1180+ pgn[i] = pp.Addr[i+8]
1181+ }
1182+ addr := (*[1]byte)(unsafe.Pointer(&sa.Addr))
1183+ addr[0] = pp.Addr[12]
1184+ return sa, nil
1185+ default:
1186+ sa := &SockaddrCAN{
1187+ Ifindex: int(pp.Ifindex),
1188+ }
1189+ rx := (*[4]byte)(unsafe.Pointer(&sa.RxID))
1190+ for i := range 4 {
1191+ rx[i] = pp.Addr[i]
1192+ }
1193+ tx := (*[4]byte)(unsafe.Pointer(&sa.TxID))
1194+ for i := range 4 {
1195+ tx[i] = pp.Addr[i+4]
1196+ }
1197+ return sa, nil
1198+ }
1199+ case AF_NFC:
1200+ proto, err := socketProtocol(fd)
1201+ if err != nil {
1202+ return nil, err
1203+ }
1204+ switch proto {
1205+ case NFC_SOCKPROTO_RAW:
1206+ pp := (*RawSockaddrNFC)(unsafe.Pointer(rsa))
1207+ sa := &SockaddrNFC{
1208+ DeviceIdx: pp.Dev_idx,
1209+ TargetIdx: pp.Target_idx,
1210+ NFCProtocol: pp.Nfc_protocol,
1211+ }
1212+ return sa, nil
1213+ case NFC_SOCKPROTO_LLCP:
1214+ pp := (*RawSockaddrNFCLLCP)(unsafe.Pointer(rsa))
1215+ if uint64(pp.Service_name_len) > uint64(len(pp.Service_name)) {
1216+ return nil, EINVAL
1217+ }
1218+ sa := &SockaddrNFCLLCP{
1219+ DeviceIdx: pp.Dev_idx,
1220+ TargetIdx: pp.Target_idx,
1221+ NFCProtocol: pp.Nfc_protocol,
1222+ DestinationSAP: pp.Dsap,
1223+ SourceSAP: pp.Ssap,
1224+ ServiceName: string(pp.Service_name[:pp.Service_name_len]),
1225+ }
1226+ return sa, nil
1227+ default:
1228+ return nil, EINVAL
1229+ }
1230+ }
1231+ return nil, EAFNOSUPPORT
1232+}
1233+
1234+func Accept(fd int) (nfd int, sa Sockaddr, err error) {
1235+ var rsa RawSockaddrAny
1236+ var len _Socklen = SizeofSockaddrAny
1237+ nfd, err = accept4(fd, &rsa, &len, 0)
1238+ if err != nil {
1239+ return
1240+ }
1241+ sa, err = anyToSockaddr(fd, &rsa)
1242+ if err != nil {
1243+ Close(nfd)
1244+ nfd = 0
1245+ }
1246+ return
1247+}
1248+
1249+func Accept4(fd int, flags int) (nfd int, sa Sockaddr, err error) {
1250+ var rsa RawSockaddrAny
1251+ var len _Socklen = SizeofSockaddrAny
1252+ nfd, err = accept4(fd, &rsa, &len, flags)
1253+ if err != nil {
1254+ return
1255+ }
1256+ if len > SizeofSockaddrAny {
1257+ panic("RawSockaddrAny too small")
1258+ }
1259+ sa, err = anyToSockaddr(fd, &rsa)
1260+ if err != nil {
1261+ Close(nfd)
1262+ nfd = 0
1263+ }
1264+ return
1265+}
1266+
1267+func Getsockname(fd int) (sa Sockaddr, err error) {
1268+ var rsa RawSockaddrAny
1269+ var len _Socklen = SizeofSockaddrAny
1270+ if err = getsockname(fd, &rsa, &len); err != nil {
1271+ return
1272+ }
1273+ return anyToSockaddr(fd, &rsa)
1274+}
1275+
1276+func GetsockoptIPMreqn(fd, level, opt int) (*IPMreqn, error) {
1277+ var value IPMreqn
1278+ vallen := _Socklen(SizeofIPMreqn)
1279+ err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen)
1280+ return &value, err
1281+}
1282+
1283+func GetsockoptUcred(fd, level, opt int) (*Ucred, error) {
1284+ var value Ucred
1285+ vallen := _Socklen(SizeofUcred)
1286+ err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen)
1287+ return &value, err
1288+}
1289+
1290+func GetsockoptTCPInfo(fd, level, opt int) (*TCPInfo, error) {
1291+ var value TCPInfo
1292+ vallen := _Socklen(SizeofTCPInfo)
1293+ err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen)
1294+ return &value, err
1295+}
1296+
1297+// GetsockoptTCPCCVegasInfo returns algorithm specific congestion control information for a socket using the "vegas"
1298+// algorithm.
1299+//
1300+// The socket's congestion control algorighm can be retrieved via [GetsockoptString] with the [TCP_CONGESTION] option:
1301+//
1302+// algo, err := unix.GetsockoptString(fd, unix.IPPROTO_TCP, unix.TCP_CONGESTION)
1303+func GetsockoptTCPCCVegasInfo(fd, level, opt int) (*TCPVegasInfo, error) {
1304+ var value [SizeofTCPCCInfo / 4]uint32 // ensure proper alignment
1305+ vallen := _Socklen(SizeofTCPCCInfo)
1306+ err := getsockopt(fd, level, opt, unsafe.Pointer(&value[0]), &vallen)
1307+ out := (*TCPVegasInfo)(unsafe.Pointer(&value[0]))
1308+ return out, err
1309+}
1310+
1311+// GetsockoptTCPCCDCTCPInfo returns algorithm specific congestion control information for a socket using the "dctp"
1312+// algorithm.
1313+//
1314+// The socket's congestion control algorighm can be retrieved via [GetsockoptString] with the [TCP_CONGESTION] option:
1315+//
1316+// algo, err := unix.GetsockoptString(fd, unix.IPPROTO_TCP, unix.TCP_CONGESTION)
1317+func GetsockoptTCPCCDCTCPInfo(fd, level, opt int) (*TCPDCTCPInfo, error) {
1318+ var value [SizeofTCPCCInfo / 4]uint32 // ensure proper alignment
1319+ vallen := _Socklen(SizeofTCPCCInfo)
1320+ err := getsockopt(fd, level, opt, unsafe.Pointer(&value[0]), &vallen)
1321+ out := (*TCPDCTCPInfo)(unsafe.Pointer(&value[0]))
1322+ return out, err
1323+}
1324+
1325+// GetsockoptTCPCCBBRInfo returns algorithm specific congestion control information for a socket using the "bbr"
1326+// algorithm.
1327+//
1328+// The socket's congestion control algorighm can be retrieved via [GetsockoptString] with the [TCP_CONGESTION] option:
1329+//
1330+// algo, err := unix.GetsockoptString(fd, unix.IPPROTO_TCP, unix.TCP_CONGESTION)
1331+func GetsockoptTCPCCBBRInfo(fd, level, opt int) (*TCPBBRInfo, error) {
1332+ var value [SizeofTCPCCInfo / 4]uint32 // ensure proper alignment
1333+ vallen := _Socklen(SizeofTCPCCInfo)
1334+ err := getsockopt(fd, level, opt, unsafe.Pointer(&value[0]), &vallen)
1335+ out := (*TCPBBRInfo)(unsafe.Pointer(&value[0]))
1336+ return out, err
1337+}
1338+
1339+// GetsockoptString returns the string value of the socket option opt for the
1340+// socket associated with fd at the given socket level.
1341+func GetsockoptString(fd, level, opt int) (string, error) {
1342+ buf := make([]byte, 256)
1343+ vallen := _Socklen(len(buf))
1344+ err := getsockopt(fd, level, opt, unsafe.Pointer(&buf[0]), &vallen)
1345+ if err != nil {
1346+ if err == ERANGE {
1347+ buf = make([]byte, vallen)
1348+ err = getsockopt(fd, level, opt, unsafe.Pointer(&buf[0]), &vallen)
1349+ }
1350+ if err != nil {
1351+ return "", err
1352+ }
1353+ }
1354+ return ByteSliceToString(buf[:vallen]), nil
1355+}
1356+
1357+func GetsockoptTpacketStats(fd, level, opt int) (*TpacketStats, error) {
1358+ var value TpacketStats
1359+ vallen := _Socklen(SizeofTpacketStats)
1360+ err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen)
1361+ return &value, err
1362+}
1363+
1364+func GetsockoptTpacketStatsV3(fd, level, opt int) (*TpacketStatsV3, error) {
1365+ var value TpacketStatsV3
1366+ vallen := _Socklen(SizeofTpacketStatsV3)
1367+ err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen)
1368+ return &value, err
1369+}
1370+
1371+func SetsockoptIPMreqn(fd, level, opt int, mreq *IPMreqn) (err error) {
1372+ return setsockopt(fd, level, opt, unsafe.Pointer(mreq), unsafe.Sizeof(*mreq))
1373+}
1374+
1375+func SetsockoptPacketMreq(fd, level, opt int, mreq *PacketMreq) error {
1376+ return setsockopt(fd, level, opt, unsafe.Pointer(mreq), unsafe.Sizeof(*mreq))
1377+}
1378+
1379+// SetsockoptSockFprog attaches a classic BPF or an extended BPF program to a
1380+// socket to filter incoming packets. See 'man 7 socket' for usage information.
1381+func SetsockoptSockFprog(fd, level, opt int, fprog *SockFprog) error {
1382+ return setsockopt(fd, level, opt, unsafe.Pointer(fprog), unsafe.Sizeof(*fprog))
1383+}
1384+
1385+func SetsockoptCanRawFilter(fd, level, opt int, filter []CanFilter) error {
1386+ var p unsafe.Pointer
1387+ if len(filter) > 0 {
1388+ p = unsafe.Pointer(&filter[0])
1389+ }
1390+ return setsockopt(fd, level, opt, p, uintptr(len(filter)*SizeofCanFilter))
1391+}
1392+
1393+func SetsockoptTpacketReq(fd, level, opt int, tp *TpacketReq) error {
1394+ return setsockopt(fd, level, opt, unsafe.Pointer(tp), unsafe.Sizeof(*tp))
1395+}
1396+
1397+func SetsockoptTpacketReq3(fd, level, opt int, tp *TpacketReq3) error {
1398+ return setsockopt(fd, level, opt, unsafe.Pointer(tp), unsafe.Sizeof(*tp))
1399+}
1400+
1401+func SetsockoptTCPRepairOpt(fd, level, opt int, o []TCPRepairOpt) (err error) {
1402+ if len(o) == 0 {
1403+ return EINVAL
1404+ }
1405+ return setsockopt(fd, level, opt, unsafe.Pointer(&o[0]), uintptr(SizeofTCPRepairOpt*len(o)))
1406+}
1407+
1408+func SetsockoptTCPMD5Sig(fd, level, opt int, s *TCPMD5Sig) error {
1409+ return setsockopt(fd, level, opt, unsafe.Pointer(s), unsafe.Sizeof(*s))
1410+}
1411+
1412+// Keyctl Commands (http://man7.org/linux/man-pages/man2/keyctl.2.html)
1413+
1414+// KeyctlInt calls keyctl commands in which each argument is an int.
1415+// These commands are KEYCTL_REVOKE, KEYCTL_CHOWN, KEYCTL_CLEAR, KEYCTL_LINK,
1416+// KEYCTL_UNLINK, KEYCTL_NEGATE, KEYCTL_SET_REQKEY_KEYRING, KEYCTL_SET_TIMEOUT,
1417+// KEYCTL_ASSUME_AUTHORITY, KEYCTL_SESSION_TO_PARENT, KEYCTL_REJECT,
1418+// KEYCTL_INVALIDATE, and KEYCTL_GET_PERSISTENT.
1419+//sys KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) = SYS_KEYCTL
1420+
1421+// KeyctlBuffer calls keyctl commands in which the third and fourth
1422+// arguments are a buffer and its length, respectively.
1423+// These commands are KEYCTL_UPDATE, KEYCTL_READ, and KEYCTL_INSTANTIATE.
1424+//sys KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) = SYS_KEYCTL
1425+
1426+// KeyctlString calls keyctl commands which return a string.
1427+// These commands are KEYCTL_DESCRIBE and KEYCTL_GET_SECURITY.
1428+func KeyctlString(cmd int, id int) (string, error) {
1429+ // We must loop as the string data may change in between the syscalls.
1430+ // We could allocate a large buffer here to reduce the chance that the
1431+ // syscall needs to be called twice; however, this is unnecessary as
1432+ // the performance loss is negligible.
1433+ var buffer []byte
1434+ for {
1435+ // Try to fill the buffer with data
1436+ length, err := KeyctlBuffer(cmd, id, buffer, 0)
1437+ if err != nil {
1438+ return "", err
1439+ }
1440+
1441+ // Check if the data was written
1442+ if length <= len(buffer) {
1443+ // Exclude the null terminator
1444+ return string(buffer[:length-1]), nil
1445+ }
1446+
1447+ // Make a bigger buffer if needed
1448+ buffer = make([]byte, length)
1449+ }
1450+}
1451+
1452+// Keyctl commands with special signatures.
1453+
1454+// KeyctlGetKeyringID implements the KEYCTL_GET_KEYRING_ID command.
1455+// See the full documentation at:
1456+// http://man7.org/linux/man-pages/man3/keyctl_get_keyring_ID.3.html
1457+func KeyctlGetKeyringID(id int, create bool) (ringid int, err error) {
1458+ createInt := 0
1459+ if create {
1460+ createInt = 1
1461+ }
1462+ return KeyctlInt(KEYCTL_GET_KEYRING_ID, id, createInt, 0, 0)
1463+}
1464+
1465+// KeyctlSetperm implements the KEYCTL_SETPERM command. The perm value is the
1466+// key handle permission mask as described in the "keyctl setperm" section of
1467+// http://man7.org/linux/man-pages/man1/keyctl.1.html.
1468+// See the full documentation at:
1469+// http://man7.org/linux/man-pages/man3/keyctl_setperm.3.html
1470+func KeyctlSetperm(id int, perm uint32) error {
1471+ _, err := KeyctlInt(KEYCTL_SETPERM, id, int(perm), 0, 0)
1472+ return err
1473+}
1474+
1475+//sys keyctlJoin(cmd int, arg2 string) (ret int, err error) = SYS_KEYCTL
1476+
1477+// KeyctlJoinSessionKeyring implements the KEYCTL_JOIN_SESSION_KEYRING command.
1478+// See the full documentation at:
1479+// http://man7.org/linux/man-pages/man3/keyctl_join_session_keyring.3.html
1480+func KeyctlJoinSessionKeyring(name string) (ringid int, err error) {
1481+ return keyctlJoin(KEYCTL_JOIN_SESSION_KEYRING, name)
1482+}
1483+
1484+//sys keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) = SYS_KEYCTL
1485+
1486+// KeyctlSearch implements the KEYCTL_SEARCH command.
1487+// See the full documentation at:
1488+// http://man7.org/linux/man-pages/man3/keyctl_search.3.html
1489+func KeyctlSearch(ringid int, keyType, description string, destRingid int) (id int, err error) {
1490+ return keyctlSearch(KEYCTL_SEARCH, ringid, keyType, description, destRingid)
1491+}
1492+
1493+//sys keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) = SYS_KEYCTL
1494+
1495+// KeyctlInstantiateIOV implements the KEYCTL_INSTANTIATE_IOV command. This
1496+// command is similar to KEYCTL_INSTANTIATE, except that the payload is a slice
1497+// of Iovec (each of which represents a buffer) instead of a single buffer.
1498+// See the full documentation at:
1499+// http://man7.org/linux/man-pages/man3/keyctl_instantiate_iov.3.html
1500+func KeyctlInstantiateIOV(id int, payload []Iovec, ringid int) error {
1501+ return keyctlIOV(KEYCTL_INSTANTIATE_IOV, id, payload, ringid)
1502+}
1503+
1504+//sys keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) = SYS_KEYCTL
1505+
1506+// KeyctlDHCompute implements the KEYCTL_DH_COMPUTE command. This command
1507+// computes a Diffie-Hellman shared secret based on the provide params. The
1508+// secret is written to the provided buffer and the returned size is the number
1509+// of bytes written (returning an error if there is insufficient space in the
1510+// buffer). If a nil buffer is passed in, this function returns the minimum
1511+// buffer length needed to store the appropriate data. Note that this differs
1512+// from KEYCTL_READ's behavior which always returns the requested payload size.
1513+// See the full documentation at:
1514+// http://man7.org/linux/man-pages/man3/keyctl_dh_compute.3.html
1515+func KeyctlDHCompute(params *KeyctlDHParams, buffer []byte) (size int, err error) {
1516+ return keyctlDH(KEYCTL_DH_COMPUTE, params, buffer)
1517+}
1518+
1519+// KeyctlRestrictKeyring implements the KEYCTL_RESTRICT_KEYRING command. This
1520+// command limits the set of keys that can be linked to the keyring, regardless
1521+// of keyring permissions. The command requires the "setattr" permission.
1522+//
1523+// When called with an empty keyType the command locks the keyring, preventing
1524+// any further keys from being linked to the keyring.
1525+//
1526+// The "asymmetric" keyType defines restrictions requiring key payloads to be
1527+// DER encoded X.509 certificates signed by keys in another keyring. Restrictions
1528+// for "asymmetric" include "builtin_trusted", "builtin_and_secondary_trusted",
1529+// "key_or_keyring:<key>", and "key_or_keyring:<key>:chain".
1530+//
1531+// As of Linux 4.12, only the "asymmetric" keyType defines type-specific
1532+// restrictions.
1533+//
1534+// See the full documentation at:
1535+// http://man7.org/linux/man-pages/man3/keyctl_restrict_keyring.3.html
1536+// http://man7.org/linux/man-pages/man2/keyctl.2.html
1537+func KeyctlRestrictKeyring(ringid int, keyType string, restriction string) error {
1538+ if keyType == "" {
1539+ return keyctlRestrictKeyring(KEYCTL_RESTRICT_KEYRING, ringid)
1540+ }
1541+ return keyctlRestrictKeyringByType(KEYCTL_RESTRICT_KEYRING, ringid, keyType, restriction)
1542+}
1543+
1544+//sys keyctlRestrictKeyringByType(cmd int, arg2 int, keyType string, restriction string) (err error) = SYS_KEYCTL
1545+//sys keyctlRestrictKeyring(cmd int, arg2 int) (err error) = SYS_KEYCTL
1546+
1547+func recvmsgRaw(fd int, iov []Iovec, oob []byte, flags int, rsa *RawSockaddrAny) (n, oobn int, recvflags int, err error) {
1548+ var msg Msghdr
1549+ msg.Name = (*byte)(unsafe.Pointer(rsa))
1550+ msg.Namelen = uint32(SizeofSockaddrAny)
1551+ var dummy byte
1552+ if len(oob) > 0 {
1553+ if emptyIovecs(iov) {
1554+ var sockType int
1555+ sockType, err = GetsockoptInt(fd, SOL_SOCKET, SO_TYPE)
1556+ if err != nil {
1557+ return
1558+ }
1559+ // receive at least one normal byte
1560+ if sockType != SOCK_DGRAM {
1561+ var iova [1]Iovec
1562+ iova[0].Base = &dummy
1563+ iova[0].SetLen(1)
1564+ iov = iova[:]
1565+ }
1566+ }
1567+ msg.Control = &oob[0]
1568+ msg.SetControllen(len(oob))
1569+ }
1570+ if len(iov) > 0 {
1571+ msg.Iov = &iov[0]
1572+ msg.SetIovlen(len(iov))
1573+ }
1574+ if n, err = recvmsg(fd, &msg, flags); err != nil {
1575+ return
1576+ }
1577+ oobn = int(msg.Controllen)
1578+ recvflags = int(msg.Flags)
1579+ return
1580+}
1581+
1582+func sendmsgN(fd int, iov []Iovec, oob []byte, ptr unsafe.Pointer, salen _Socklen, flags int) (n int, err error) {
1583+ var msg Msghdr
1584+ msg.Name = (*byte)(ptr)
1585+ msg.Namelen = uint32(salen)
1586+ var dummy byte
1587+ var empty bool
1588+ if len(oob) > 0 {
1589+ empty = emptyIovecs(iov)
1590+ if empty {
1591+ var sockType int
1592+ sockType, err = GetsockoptInt(fd, SOL_SOCKET, SO_TYPE)
1593+ if err != nil {
1594+ return 0, err
1595+ }
1596+ // send at least one normal byte
1597+ if sockType != SOCK_DGRAM {
1598+ var iova [1]Iovec
1599+ iova[0].Base = &dummy
1600+ iova[0].SetLen(1)
1601+ iov = iova[:]
1602+ }
1603+ }
1604+ msg.Control = &oob[0]
1605+ msg.SetControllen(len(oob))
1606+ }
1607+ if len(iov) > 0 {
1608+ msg.Iov = &iov[0]
1609+ msg.SetIovlen(len(iov))
1610+ }
1611+ if n, err = sendmsg(fd, &msg, flags); err != nil {
1612+ return 0, err
1613+ }
1614+ if len(oob) > 0 && empty {
1615+ n = 0
1616+ }
1617+ return n, nil
1618+}
1619+
1620+// BindToDevice binds the socket associated with fd to device.
1621+func BindToDevice(fd int, device string) (err error) {
1622+ return SetsockoptString(fd, SOL_SOCKET, SO_BINDTODEVICE, device)
1623+}
1624+
1625+//sys ptrace(request int, pid int, addr uintptr, data uintptr) (err error)
1626+//sys ptracePtr(request int, pid int, addr uintptr, data unsafe.Pointer) (err error) = SYS_PTRACE
1627+
1628+func ptracePeek(req int, pid int, addr uintptr, out []byte) (count int, err error) {
1629+ // The peek requests are machine-size oriented, so we wrap it
1630+ // to retrieve arbitrary-length data.
1631+
1632+ // The ptrace syscall differs from glibc's ptrace.
1633+ // Peeks returns the word in *data, not as the return value.
1634+
1635+ var buf [SizeofPtr]byte
1636+
1637+ // Leading edge. PEEKTEXT/PEEKDATA don't require aligned
1638+ // access (PEEKUSER warns that it might), but if we don't
1639+ // align our reads, we might straddle an unmapped page
1640+ // boundary and not get the bytes leading up to the page
1641+ // boundary.
1642+ n := 0
1643+ if addr%SizeofPtr != 0 {
1644+ err = ptracePtr(req, pid, addr-addr%SizeofPtr, unsafe.Pointer(&buf[0]))
1645+ if err != nil {
1646+ return 0, err
1647+ }
1648+ n += copy(out, buf[addr%SizeofPtr:])
1649+ out = out[n:]
1650+ }
1651+
1652+ // Remainder.
1653+ for len(out) > 0 {
1654+ // We use an internal buffer to guarantee alignment.
1655+ // It's not documented if this is necessary, but we're paranoid.
1656+ err = ptracePtr(req, pid, addr+uintptr(n), unsafe.Pointer(&buf[0]))
1657+ if err != nil {
1658+ return n, err
1659+ }
1660+ copied := copy(out, buf[0:])
1661+ n += copied
1662+ out = out[copied:]
1663+ }
1664+
1665+ return n, nil
1666+}
1667+
1668+func PtracePeekText(pid int, addr uintptr, out []byte) (count int, err error) {
1669+ return ptracePeek(PTRACE_PEEKTEXT, pid, addr, out)
1670+}
1671+
1672+func PtracePeekData(pid int, addr uintptr, out []byte) (count int, err error) {
1673+ return ptracePeek(PTRACE_PEEKDATA, pid, addr, out)
1674+}
1675+
1676+func PtracePeekUser(pid int, addr uintptr, out []byte) (count int, err error) {
1677+ return ptracePeek(PTRACE_PEEKUSR, pid, addr, out)
1678+}
1679+
1680+func ptracePoke(pokeReq int, peekReq int, pid int, addr uintptr, data []byte) (count int, err error) {
1681+ // As for ptracePeek, we need to align our accesses to deal
1682+ // with the possibility of straddling an invalid page.
1683+
1684+ // Leading edge.
1685+ n := 0
1686+ if addr%SizeofPtr != 0 {
1687+ var buf [SizeofPtr]byte
1688+ err = ptracePtr(peekReq, pid, addr-addr%SizeofPtr, unsafe.Pointer(&buf[0]))
1689+ if err != nil {
1690+ return 0, err
1691+ }
1692+ n += copy(buf[addr%SizeofPtr:], data)
1693+ word := *((*uintptr)(unsafe.Pointer(&buf[0])))
1694+ err = ptrace(pokeReq, pid, addr-addr%SizeofPtr, word)
1695+ if err != nil {
1696+ return 0, err
1697+ }
1698+ data = data[n:]
1699+ }
1700+
1701+ // Interior.
1702+ for len(data) > SizeofPtr {
1703+ word := *((*uintptr)(unsafe.Pointer(&data[0])))
1704+ err = ptrace(pokeReq, pid, addr+uintptr(n), word)
1705+ if err != nil {
1706+ return n, err
1707+ }
1708+ n += SizeofPtr
1709+ data = data[SizeofPtr:]
1710+ }
1711+
1712+ // Trailing edge.
1713+ if len(data) > 0 {
1714+ var buf [SizeofPtr]byte
1715+ err = ptracePtr(peekReq, pid, addr+uintptr(n), unsafe.Pointer(&buf[0]))
1716+ if err != nil {
1717+ return n, err
1718+ }
1719+ copy(buf[0:], data)
1720+ word := *((*uintptr)(unsafe.Pointer(&buf[0])))
1721+ err = ptrace(pokeReq, pid, addr+uintptr(n), word)
1722+ if err != nil {
1723+ return n, err
1724+ }
1725+ n += len(data)
1726+ }
1727+
1728+ return n, nil
1729+}
1730+
1731+func PtracePokeText(pid int, addr uintptr, data []byte) (count int, err error) {
1732+ return ptracePoke(PTRACE_POKETEXT, PTRACE_PEEKTEXT, pid, addr, data)
1733+}
1734+
1735+func PtracePokeData(pid int, addr uintptr, data []byte) (count int, err error) {
1736+ return ptracePoke(PTRACE_POKEDATA, PTRACE_PEEKDATA, pid, addr, data)
1737+}
1738+
1739+func PtracePokeUser(pid int, addr uintptr, data []byte) (count int, err error) {
1740+ return ptracePoke(PTRACE_POKEUSR, PTRACE_PEEKUSR, pid, addr, data)
1741+}
1742+
1743+// elfNT_PRSTATUS is a copy of the debug/elf.NT_PRSTATUS constant so
1744+// x/sys/unix doesn't need to depend on debug/elf and thus
1745+// compress/zlib, debug/dwarf, and other packages.
1746+const elfNT_PRSTATUS = 1
1747+
1748+func PtraceGetRegs(pid int, regsout *PtraceRegs) (err error) {
1749+ var iov Iovec
1750+ iov.Base = (*byte)(unsafe.Pointer(regsout))
1751+ iov.SetLen(int(unsafe.Sizeof(*regsout)))
1752+ return ptracePtr(PTRACE_GETREGSET, pid, uintptr(elfNT_PRSTATUS), unsafe.Pointer(&iov))
1753+}
1754+
1755+func PtraceSetRegs(pid int, regs *PtraceRegs) (err error) {
1756+ var iov Iovec
1757+ iov.Base = (*byte)(unsafe.Pointer(regs))
1758+ iov.SetLen(int(unsafe.Sizeof(*regs)))
1759+ return ptracePtr(PTRACE_SETREGSET, pid, uintptr(elfNT_PRSTATUS), unsafe.Pointer(&iov))
1760+}
1761+
1762+func PtraceSetOptions(pid int, options int) (err error) {
1763+ return ptrace(PTRACE_SETOPTIONS, pid, 0, uintptr(options))
1764+}
1765+
1766+func PtraceGetEventMsg(pid int) (msg uint, err error) {
1767+ var data _C_long
1768+ err = ptracePtr(PTRACE_GETEVENTMSG, pid, 0, unsafe.Pointer(&data))
1769+ msg = uint(data)
1770+ return
1771+}
1772+
1773+func PtraceCont(pid int, signal int) (err error) {
1774+ return ptrace(PTRACE_CONT, pid, 0, uintptr(signal))
1775+}
1776+
1777+func PtraceSyscall(pid int, signal int) (err error) {
1778+ return ptrace(PTRACE_SYSCALL, pid, 0, uintptr(signal))
1779+}
1780+
1781+func PtraceSingleStep(pid int) (err error) { return ptrace(PTRACE_SINGLESTEP, pid, 0, 0) }
1782+
1783+func PtraceInterrupt(pid int) (err error) { return ptrace(PTRACE_INTERRUPT, pid, 0, 0) }
1784+
1785+func PtraceAttach(pid int) (err error) { return ptrace(PTRACE_ATTACH, pid, 0, 0) }
1786+
1787+func PtraceSeize(pid int) (err error) { return ptrace(PTRACE_SEIZE, pid, 0, 0) }
1788+
1789+func PtraceDetach(pid int) (err error) { return ptrace(PTRACE_DETACH, pid, 0, 0) }
1790+
1791+//sys reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error)
1792+
1793+func Reboot(cmd int) (err error) {
1794+ return reboot(LINUX_REBOOT_MAGIC1, LINUX_REBOOT_MAGIC2, cmd, "")
1795+}
1796+
1797+func direntIno(buf []byte) (uint64, bool) {
1798+ return readInt(buf, unsafe.Offsetof(Dirent{}.Ino), unsafe.Sizeof(Dirent{}.Ino))
1799+}
1800+
1801+func direntReclen(buf []byte) (uint64, bool) {
1802+ return readInt(buf, unsafe.Offsetof(Dirent{}.Reclen), unsafe.Sizeof(Dirent{}.Reclen))
1803+}
1804+
1805+func direntNamlen(buf []byte) (uint64, bool) {
1806+ reclen, ok := direntReclen(buf)
1807+ if !ok {
1808+ return 0, false
1809+ }
1810+ return reclen - uint64(unsafe.Offsetof(Dirent{}.Name)), true
1811+}
1812+
1813+//sys mount(source string, target string, fstype string, flags uintptr, data *byte) (err error)
1814+
1815+func Mount(source string, target string, fstype string, flags uintptr, data string) (err error) {
1816+ // Certain file systems get rather angry and EINVAL if you give
1817+ // them an empty string of data, rather than NULL.
1818+ if data == "" {
1819+ return mount(source, target, fstype, flags, nil)
1820+ }
1821+ datap, err := BytePtrFromString(data)
1822+ if err != nil {
1823+ return err
1824+ }
1825+ return mount(source, target, fstype, flags, datap)
1826+}
1827+
1828+//sys mountSetattr(dirfd int, pathname string, flags uint, attr *MountAttr, size uintptr) (err error) = SYS_MOUNT_SETATTR
1829+
1830+// MountSetattr is a wrapper for mount_setattr(2).
1831+// https://man7.org/linux/man-pages/man2/mount_setattr.2.html
1832+//
1833+// Requires kernel >= 5.12.
1834+func MountSetattr(dirfd int, pathname string, flags uint, attr *MountAttr) error {
1835+ return mountSetattr(dirfd, pathname, flags, attr, unsafe.Sizeof(*attr))
1836+}
1837+
1838+func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {
1839+ if raceenabled {
1840+ raceReleaseMerge(unsafe.Pointer(&ioSync))
1841+ }
1842+ return sendfile(outfd, infd, offset, count)
1843+}
1844+
1845+// Sendto
1846+// Recvfrom
1847+// Socketpair
1848+
1849+/*
1850+ * Direct access
1851+ */
1852+//sys Acct(path string) (err error)
1853+//sys AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error)
1854+//sys Adjtimex(buf *Timex) (state int, err error)
1855+//sysnb Capget(hdr *CapUserHeader, data *CapUserData) (err error)
1856+//sysnb Capset(hdr *CapUserHeader, data *CapUserData) (err error)
1857+//sys Chdir(path string) (err error)
1858+//sys Chroot(path string) (err error)
1859+//sys ClockAdjtime(clockid int32, buf *Timex) (state int, err error)
1860+//sys ClockGetres(clockid int32, res *Timespec) (err error)
1861+//sys ClockGettime(clockid int32, time *Timespec) (err error)
1862+//sys ClockSettime(clockid int32, time *Timespec) (err error)
1863+//sys ClockNanosleep(clockid int32, flags int, request *Timespec, remain *Timespec) (err error)
1864+//sys Close(fd int) (err error)
1865+//sys CloseRange(first uint, last uint, flags uint) (err error)
1866+//sys CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error)
1867+//sys DeleteModule(name string, flags int) (err error)
1868+//sys Dup(oldfd int) (fd int, err error)
1869+
1870+func Dup2(oldfd, newfd int) error {
1871+ return Dup3(oldfd, newfd, 0)
1872+}
1873+
1874+//sys Dup3(oldfd int, newfd int, flags int) (err error)
1875+//sysnb EpollCreate1(flag int) (fd int, err error)
1876+//sysnb EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error)
1877+//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) = SYS_EPOLL_PWAIT
1878+//sys Eventfd(initval uint, flags int) (fd int, err error) = SYS_EVENTFD2
1879+//sys Exit(code int) = SYS_EXIT_GROUP
1880+//sys Fallocate(fd int, mode uint32, off int64, len int64) (err error)
1881+//sys Fchdir(fd int) (err error)
1882+//sys Fchmod(fd int, mode uint32) (err error)
1883+//sys Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error)
1884+//sys Fdatasync(fd int) (err error)
1885+//sys Fgetxattr(fd int, attr string, dest []byte) (sz int, err error)
1886+//sys FinitModule(fd int, params string, flags int) (err error)
1887+//sys Flistxattr(fd int, dest []byte) (sz int, err error)
1888+//sys Flock(fd int, how int) (err error)
1889+//sys Fremovexattr(fd int, attr string) (err error)
1890+//sys Fsetxattr(fd int, attr string, dest []byte, flags int) (err error)
1891+//sys Fsync(fd int) (err error)
1892+//sys Fsmount(fd int, flags int, mountAttrs int) (fsfd int, err error)
1893+//sys Fsopen(fsName string, flags int) (fd int, err error)
1894+//sys Fspick(dirfd int, pathName string, flags int) (fd int, err error)
1895+
1896+//sys fsconfig(fd int, cmd uint, key *byte, value *byte, aux int) (err error)
1897+
1898+func fsconfigCommon(fd int, cmd uint, key string, value *byte, aux int) (err error) {
1899+ var keyp *byte
1900+ if keyp, err = BytePtrFromString(key); err != nil {
1901+ return
1902+ }
1903+ return fsconfig(fd, cmd, keyp, value, aux)
1904+}
1905+
1906+// FsconfigSetFlag is equivalent to fsconfig(2) called
1907+// with cmd == FSCONFIG_SET_FLAG.
1908+//
1909+// fd is the filesystem context to act upon.
1910+// key the parameter key to set.
1911+func FsconfigSetFlag(fd int, key string) (err error) {
1912+ return fsconfigCommon(fd, FSCONFIG_SET_FLAG, key, nil, 0)
1913+}
1914+
1915+// FsconfigSetString is equivalent to fsconfig(2) called
1916+// with cmd == FSCONFIG_SET_STRING.
1917+//
1918+// fd is the filesystem context to act upon.
1919+// key the parameter key to set.
1920+// value is the parameter value to set.
1921+func FsconfigSetString(fd int, key string, value string) (err error) {
1922+ var valuep *byte
1923+ if valuep, err = BytePtrFromString(value); err != nil {
1924+ return
1925+ }
1926+ return fsconfigCommon(fd, FSCONFIG_SET_STRING, key, valuep, 0)
1927+}
1928+
1929+// FsconfigSetBinary is equivalent to fsconfig(2) called
1930+// with cmd == FSCONFIG_SET_BINARY.
1931+//
1932+// fd is the filesystem context to act upon.
1933+// key the parameter key to set.
1934+// value is the parameter value to set.
1935+func FsconfigSetBinary(fd int, key string, value []byte) (err error) {
1936+ if len(value) == 0 {
1937+ return EINVAL
1938+ }
1939+ return fsconfigCommon(fd, FSCONFIG_SET_BINARY, key, &value[0], len(value))
1940+}
1941+
1942+// FsconfigSetPath is equivalent to fsconfig(2) called
1943+// with cmd == FSCONFIG_SET_PATH.
1944+//
1945+// fd is the filesystem context to act upon.
1946+// key the parameter key to set.
1947+// path is a non-empty path for specified key.
1948+// atfd is a file descriptor at which to start lookup from or AT_FDCWD.
1949+func FsconfigSetPath(fd int, key string, path string, atfd int) (err error) {
1950+ var valuep *byte
1951+ if valuep, err = BytePtrFromString(path); err != nil {
1952+ return
1953+ }
1954+ return fsconfigCommon(fd, FSCONFIG_SET_PATH, key, valuep, atfd)
1955+}
1956+
1957+// FsconfigSetPathEmpty is equivalent to fsconfig(2) called
1958+// with cmd == FSCONFIG_SET_PATH_EMPTY. The same as
1959+// FconfigSetPath but with AT_PATH_EMPTY implied.
1960+func FsconfigSetPathEmpty(fd int, key string, path string, atfd int) (err error) {
1961+ var valuep *byte
1962+ if valuep, err = BytePtrFromString(path); err != nil {
1963+ return
1964+ }
1965+ return fsconfigCommon(fd, FSCONFIG_SET_PATH_EMPTY, key, valuep, atfd)
1966+}
1967+
1968+// FsconfigSetFd is equivalent to fsconfig(2) called
1969+// with cmd == FSCONFIG_SET_FD.
1970+//
1971+// fd is the filesystem context to act upon.
1972+// key the parameter key to set.
1973+// value is a file descriptor to be assigned to specified key.
1974+func FsconfigSetFd(fd int, key string, value int) (err error) {
1975+ return fsconfigCommon(fd, FSCONFIG_SET_FD, key, nil, value)
1976+}
1977+
1978+// FsconfigCreate is equivalent to fsconfig(2) called
1979+// with cmd == FSCONFIG_CMD_CREATE.
1980+//
1981+// fd is the filesystem context to act upon.
1982+func FsconfigCreate(fd int) (err error) {
1983+ return fsconfig(fd, FSCONFIG_CMD_CREATE, nil, nil, 0)
1984+}
1985+
1986+// FsconfigReconfigure is equivalent to fsconfig(2) called
1987+// with cmd == FSCONFIG_CMD_RECONFIGURE.
1988+//
1989+// fd is the filesystem context to act upon.
1990+func FsconfigReconfigure(fd int) (err error) {
1991+ return fsconfig(fd, FSCONFIG_CMD_RECONFIGURE, nil, nil, 0)
1992+}
1993+
1994+//sys Getdents(fd int, buf []byte) (n int, err error) = SYS_GETDENTS64
1995+//sysnb Getpgid(pid int) (pgid int, err error)
1996+
1997+func Getpgrp() (pid int) {
1998+ pid, _ = Getpgid(0)
1999+ return
2000+}
2001+
2002+//sysnb Getpid() (pid int)
2003+//sysnb Getppid() (ppid int)
2004+//sys Getpriority(which int, who int) (prio int, err error)
2005+
2006+func Getrandom(buf []byte, flags int) (n int, err error) {
2007+ vdsoRet, supported := vgetrandom(buf, uint32(flags))
2008+ if supported {
2009+ if vdsoRet < 0 {
2010+ return 0, errnoErr(syscall.Errno(-vdsoRet))
2011+ }
2012+ return vdsoRet, nil
2013+ }
2014+ var p *byte
2015+ if len(buf) > 0 {
2016+ p = &buf[0]
2017+ }
2018+ r, _, e := Syscall(SYS_GETRANDOM, uintptr(unsafe.Pointer(p)), uintptr(len(buf)), uintptr(flags))
2019+ if e != 0 {
2020+ return 0, errnoErr(e)
2021+ }
2022+ return int(r), nil
2023+}
2024+
2025+//sysnb Getrusage(who int, rusage *Rusage) (err error)
2026+//sysnb Getsid(pid int) (sid int, err error)
2027+//sysnb Gettid() (tid int)
2028+//sys Getxattr(path string, attr string, dest []byte) (sz int, err error)
2029+//sys InitModule(moduleImage []byte, params string) (err error)
2030+//sys InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error)
2031+//sysnb InotifyInit1(flags int) (fd int, err error)
2032+//sysnb InotifyRmWatch(fd int, watchdesc uint32) (success int, err error)
2033+//sysnb Kill(pid int, sig syscall.Signal) (err error)
2034+//sys Klogctl(typ int, buf []byte) (n int, err error) = SYS_SYSLOG
2035+//sys Lgetxattr(path string, attr string, dest []byte) (sz int, err error)
2036+//sys Listxattr(path string, dest []byte) (sz int, err error)
2037+//sys Llistxattr(path string, dest []byte) (sz int, err error)
2038+//sys Lremovexattr(path string, attr string) (err error)
2039+//sys Lsetxattr(path string, attr string, data []byte, flags int) (err error)
2040+//sys MemfdCreate(name string, flags int) (fd int, err error)
2041+//sys Mkdirat(dirfd int, path string, mode uint32) (err error)
2042+//sys Mknodat(dirfd int, path string, mode uint32, dev int) (err error)
2043+//sys MoveMount(fromDirfd int, fromPathName string, toDirfd int, toPathName string, flags int) (err error)
2044+//sys Nanosleep(time *Timespec, leftover *Timespec) (err error)
2045+//sys OpenTree(dfd int, fileName string, flags uint) (r int, err error)
2046+//sys PerfEventOpen(attr *PerfEventAttr, pid int, cpu int, groupFd int, flags int) (fd int, err error)
2047+//sys PivotRoot(newroot string, putold string) (err error) = SYS_PIVOT_ROOT
2048+//sys Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error)
2049+//sys pselect6(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *sigset_argpack) (n int, err error)
2050+//sys read(fd int, p []byte) (n int, err error)
2051+//sys Removexattr(path string, attr string) (err error)
2052+//sys Renameat2(olddirfd int, oldpath string, newdirfd int, newpath string, flags uint) (err error)
2053+//sys RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error)
2054+//sys Setdomainname(p []byte) (err error)
2055+//sys Sethostname(p []byte) (err error)
2056+//sysnb Setpgid(pid int, pgid int) (err error)
2057+//sysnb Setsid() (pid int, err error)
2058+//sysnb Settimeofday(tv *Timeval) (err error)
2059+//sys Setns(fd int, nstype int) (err error)
2060+
2061+//go:linkname syscall_prlimit syscall.prlimit
2062+func syscall_prlimit(pid, resource int, newlimit, old *syscall.Rlimit) error
2063+
2064+func Prlimit(pid, resource int, newlimit, old *Rlimit) error {
2065+ // Just call the syscall version, because as of Go 1.21
2066+ // it will affect starting a new process.
2067+ return syscall_prlimit(pid, resource, (*syscall.Rlimit)(newlimit), (*syscall.Rlimit)(old))
2068+}
2069+
2070+// PrctlRetInt performs a prctl operation specified by option and further
2071+// optional arguments arg2 through arg5 depending on option. It returns a
2072+// non-negative integer that is returned by the prctl syscall.
2073+func PrctlRetInt(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (int, error) {
2074+ ret, _, err := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0)
2075+ if err != 0 {
2076+ return 0, err
2077+ }
2078+ return int(ret), nil
2079+}
2080+
2081+func Setuid(uid int) (err error) {
2082+ return syscall.Setuid(uid)
2083+}
2084+
2085+func Setgid(gid int) (err error) {
2086+ return syscall.Setgid(gid)
2087+}
2088+
2089+func Setreuid(ruid, euid int) (err error) {
2090+ return syscall.Setreuid(ruid, euid)
2091+}
2092+
2093+func Setregid(rgid, egid int) (err error) {
2094+ return syscall.Setregid(rgid, egid)
2095+}
2096+
2097+func Setresuid(ruid, euid, suid int) (err error) {
2098+ return syscall.Setresuid(ruid, euid, suid)
2099+}
2100+
2101+func Setresgid(rgid, egid, sgid int) (err error) {
2102+ return syscall.Setresgid(rgid, egid, sgid)
2103+}
2104+
2105+// SetfsgidRetGid sets fsgid for current thread and returns previous fsgid set.
2106+// setfsgid(2) will return a non-nil error only if its caller lacks CAP_SETUID capability.
2107+// If the call fails due to other reasons, current fsgid will be returned.
2108+func SetfsgidRetGid(gid int) (int, error) {
2109+ return setfsgid(gid)
2110+}
2111+
2112+// SetfsuidRetUid sets fsuid for current thread and returns previous fsuid set.
2113+// setfsgid(2) will return a non-nil error only if its caller lacks CAP_SETUID capability
2114+// If the call fails due to other reasons, current fsuid will be returned.
2115+func SetfsuidRetUid(uid int) (int, error) {
2116+ return setfsuid(uid)
2117+}
2118+
2119+func Setfsgid(gid int) error {
2120+ _, err := setfsgid(gid)
2121+ return err
2122+}
2123+
2124+func Setfsuid(uid int) error {
2125+ _, err := setfsuid(uid)
2126+ return err
2127+}
2128+
2129+func Signalfd(fd int, sigmask *Sigset_t, flags int) (newfd int, err error) {
2130+ return signalfd(fd, sigmask, _C__NSIG/8, flags)
2131+}
2132+
2133+//sys Setpriority(which int, who int, prio int) (err error)
2134+//sys Setxattr(path string, attr string, data []byte, flags int) (err error)
2135+//sys signalfd(fd int, sigmask *Sigset_t, maskSize uintptr, flags int) (newfd int, err error) = SYS_SIGNALFD4
2136+//sys Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error)
2137+//sys Sync()
2138+//sys Syncfs(fd int) (err error)
2139+//sysnb Sysinfo(info *Sysinfo_t) (err error)
2140+//sys Tee(rfd int, wfd int, len int, flags int) (n int64, err error)
2141+//sysnb TimerfdCreate(clockid int, flags int) (fd int, err error)
2142+//sysnb TimerfdGettime(fd int, currValue *ItimerSpec) (err error)
2143+//sysnb TimerfdSettime(fd int, flags int, newValue *ItimerSpec, oldValue *ItimerSpec) (err error)
2144+//sysnb Tgkill(tgid int, tid int, sig syscall.Signal) (err error)
2145+//sysnb Times(tms *Tms) (ticks uintptr, err error)
2146+//sysnb Umask(mask int) (oldmask int)
2147+//sysnb Uname(buf *Utsname) (err error)
2148+//sys Unmount(target string, flags int) (err error) = SYS_UMOUNT2
2149+//sys Unshare(flags int) (err error)
2150+//sys write(fd int, p []byte) (n int, err error)
2151+//sys exitThread(code int) (err error) = SYS_EXIT
2152+//sys readv(fd int, iovs []Iovec) (n int, err error) = SYS_READV
2153+//sys writev(fd int, iovs []Iovec) (n int, err error) = SYS_WRITEV
2154+//sys preadvSyscall(fd int, iovs []Iovec, offs_l uintptr, offs_h uintptr) (n int, err error) = SYS_PREADV
2155+//sys pwritevSyscall(fd int, iovs []Iovec, offs_l uintptr, offs_h uintptr) (n int, err error) = SYS_PWRITEV
2156+//sys preadv2Syscall(fd int, iovs []Iovec, offs_l uintptr, offs_h uintptr, flags int) (n int, err error) = SYS_PREADV2
2157+//sys pwritev2Syscall(fd int, iovs []Iovec, offs_l uintptr, offs_h uintptr, flags int) (n int, err error) = SYS_PWRITEV2
2158+
2159+// offs2lohi splits offs into its low and high order bits.
2160+func offs2lohi(offs int64) (lo, hi uintptr) {
2161+ const longBits = SizeofLong * 8
2162+ return uintptr(offs), uintptr(uint64(offs) >> (longBits - 1) >> 1) // two shifts to avoid false positive in vet
2163+}
2164+
2165+func preadv(fd int, iovecs []Iovec, offset int64) (n int, err error) {
2166+ lo, hi := offs2lohi(offset)
2167+ return preadvSyscall(fd, iovecs, lo, hi)
2168+}
2169+
2170+func Preadv2(fd int, iovs [][]byte, offset int64, flags int) (n int, err error) {
2171+ iovecs := make([]Iovec, 0, minIovec)
2172+ iovecs = appendBytes(iovecs, iovs)
2173+ lo, hi := offs2lohi(offset)
2174+ n, err = preadv2Syscall(fd, iovecs, lo, hi, flags)
2175+ readvRaceDetect(iovecs, n, err)
2176+ return n, err
2177+}
2178+
2179+func pwritev(fd int, iovecs []Iovec, offset int64) (n int, err error) {
2180+ lo, hi := offs2lohi(offset)
2181+ return pwritevSyscall(fd, iovecs, lo, hi)
2182+}
2183+
2184+func Pwritev2(fd int, iovs [][]byte, offset int64, flags int) (n int, err error) {
2185+ iovecs := make([]Iovec, 0, minIovec)
2186+ iovecs = appendBytes(iovecs, iovs)
2187+ if raceenabled {
2188+ raceReleaseMerge(unsafe.Pointer(&ioSync))
2189+ }
2190+ lo, hi := offs2lohi(offset)
2191+ n, err = pwritev2Syscall(fd, iovecs, lo, hi, flags)
2192+ writevRaceDetect(iovecs, n)
2193+ return n, err
2194+}
2195+
2196+// mmap varies by architecture; see syscall_linux_*.go.
2197+//sys munmap(addr uintptr, length uintptr) (err error)
2198+//sys mremap(oldaddr uintptr, oldlength uintptr, newlength uintptr, flags int, newaddr uintptr) (xaddr uintptr, err error)
2199+//sys Madvise(b []byte, advice int) (err error)
2200+//sys Mprotect(b []byte, prot int) (err error)
2201+//sys Mlock(b []byte) (err error)
2202+//sys Mlockall(flags int) (err error)
2203+//sys Msync(b []byte, flags int) (err error)
2204+//sys Munlock(b []byte) (err error)
2205+//sys Munlockall() (err error)
2206+
2207+const (
2208+ mremapFixed = MREMAP_FIXED
2209+ mremapDontunmap = MREMAP_DONTUNMAP
2210+ mremapMaymove = MREMAP_MAYMOVE
2211+)
2212+
2213+// Vmsplice splices user pages from a slice of Iovecs into a pipe specified by fd,
2214+// using the specified flags.
2215+func Vmsplice(fd int, iovs []Iovec, flags int) (int, error) {
2216+ var p unsafe.Pointer
2217+ if len(iovs) > 0 {
2218+ p = unsafe.Pointer(&iovs[0])
2219+ }
2220+
2221+ n, _, errno := Syscall6(SYS_VMSPLICE, uintptr(fd), uintptr(p), uintptr(len(iovs)), uintptr(flags), 0, 0)
2222+ if errno != 0 {
2223+ return 0, syscall.Errno(errno)
2224+ }
2225+
2226+ return int(n), nil
2227+}
2228+
2229+func isGroupMember(gid int) bool {
2230+ groups, err := Getgroups()
2231+ if err != nil {
2232+ return false
2233+ }
2234+
2235+ return slices.Contains(groups, gid)
2236+}
2237+
2238+func isCapDacOverrideSet() bool {
2239+ hdr := CapUserHeader{Version: LINUX_CAPABILITY_VERSION_3}
2240+ data := [2]CapUserData{}
2241+ err := Capget(&hdr, &data[0])
2242+
2243+ return err == nil && data[0].Effective&(1<<CAP_DAC_OVERRIDE) != 0
2244+}
2245+
2246+//sys faccessat(dirfd int, path string, mode uint32) (err error)
2247+//sys Faccessat2(dirfd int, path string, mode uint32, flags int) (err error)
2248+
2249+func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {
2250+ if flags == 0 {
2251+ return faccessat(dirfd, path, mode)
2252+ }
2253+
2254+ if err := Faccessat2(dirfd, path, mode, flags); err != ENOSYS && err != EPERM {
2255+ return err
2256+ }
2257+
2258+ // The Linux kernel faccessat system call does not take any flags.
2259+ // The glibc faccessat implements the flags itself; see
2260+ // https://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/unix/sysv/linux/faccessat.c;hb=HEAD
2261+ // Because people naturally expect syscall.Faccessat to act
2262+ // like C faccessat, we do the same.
2263+
2264+ if flags & ^(AT_SYMLINK_NOFOLLOW|AT_EACCESS) != 0 {
2265+ return EINVAL
2266+ }
2267+
2268+ var st Stat_t
2269+ if err := Fstatat(dirfd, path, &st, flags&AT_SYMLINK_NOFOLLOW); err != nil {
2270+ return err
2271+ }
2272+
2273+ mode &= 7
2274+ if mode == 0 {
2275+ return nil
2276+ }
2277+
2278+ var uid int
2279+ if flags&AT_EACCESS != 0 {
2280+ uid = Geteuid()
2281+ if uid != 0 && isCapDacOverrideSet() {
2282+ // If CAP_DAC_OVERRIDE is set, file access check is
2283+ // done by the kernel in the same way as for root
2284+ // (see generic_permission() in the Linux sources).
2285+ uid = 0
2286+ }
2287+ } else {
2288+ uid = Getuid()
2289+ }
2290+
2291+ if uid == 0 {
2292+ if mode&1 == 0 {
2293+ // Root can read and write any file.
2294+ return nil
2295+ }
2296+ if st.Mode&0111 != 0 {
2297+ // Root can execute any file that anybody can execute.
2298+ return nil
2299+ }
2300+ return EACCES
2301+ }
2302+
2303+ var fmode uint32
2304+ if uint32(uid) == st.Uid {
2305+ fmode = (st.Mode >> 6) & 7
2306+ } else {
2307+ var gid int
2308+ if flags&AT_EACCESS != 0 {
2309+ gid = Getegid()
2310+ } else {
2311+ gid = Getgid()
2312+ }
2313+
2314+ if uint32(gid) == st.Gid || isGroupMember(int(st.Gid)) {
2315+ fmode = (st.Mode >> 3) & 7
2316+ } else {
2317+ fmode = st.Mode & 7
2318+ }
2319+ }
2320+
2321+ if fmode&mode == mode {
2322+ return nil
2323+ }
2324+
2325+ return EACCES
2326+}
2327+
2328+//sys nameToHandleAt(dirFD int, pathname string, fh *fileHandle, mountID *_C_int, flags int) (err error) = SYS_NAME_TO_HANDLE_AT
2329+//sys openByHandleAt(mountFD int, fh *fileHandle, flags int) (fd int, err error) = SYS_OPEN_BY_HANDLE_AT
2330+
2331+// fileHandle is the argument to nameToHandleAt and openByHandleAt. We
2332+// originally tried to generate it via unix/linux/types.go with "type
2333+// fileHandle C.struct_file_handle" but that generated empty structs
2334+// for mips64 and mips64le. Instead, hard code it for now (it's the
2335+// same everywhere else) until the mips64 generator issue is fixed.
2336+type fileHandle struct {
2337+ Bytes uint32
2338+ Type int32
2339+}
2340+
2341+// FileHandle represents the C struct file_handle used by
2342+// name_to_handle_at (see NameToHandleAt) and open_by_handle_at (see
2343+// OpenByHandleAt).
2344+type FileHandle struct {
2345+ *fileHandle
2346+}
2347+
2348+// NewFileHandle constructs a FileHandle.
2349+func NewFileHandle(handleType int32, handle []byte) FileHandle {
2350+ const hdrSize = unsafe.Sizeof(fileHandle{})
2351+ buf := make([]byte, hdrSize+uintptr(len(handle)))
2352+ copy(buf[hdrSize:], handle)
2353+ fh := (*fileHandle)(unsafe.Pointer(&buf[0]))
2354+ fh.Type = handleType
2355+ fh.Bytes = uint32(len(handle))
2356+ return FileHandle{fh}
2357+}
2358+
2359+func (fh *FileHandle) Size() int { return int(fh.fileHandle.Bytes) }
2360+func (fh *FileHandle) Type() int32 { return fh.fileHandle.Type }
2361+func (fh *FileHandle) Bytes() []byte {
2362+ n := fh.Size()
2363+ if n == 0 {
2364+ return nil
2365+ }
2366+ return unsafe.Slice((*byte)(unsafe.Pointer(uintptr(unsafe.Pointer(&fh.fileHandle.Type))+4)), n)
2367+}
2368+
2369+// NameToHandleAt wraps the name_to_handle_at system call; it obtains
2370+// a handle for a path name.
2371+func NameToHandleAt(dirfd int, path string, flags int) (handle FileHandle, mountID int, err error) {
2372+ var mid _C_int
2373+ // Try first with a small buffer, assuming the handle will
2374+ // only be 32 bytes.
2375+ size := uint32(32 + unsafe.Sizeof(fileHandle{}))
2376+ didResize := false
2377+ for {
2378+ buf := make([]byte, size)
2379+ fh := (*fileHandle)(unsafe.Pointer(&buf[0]))
2380+ fh.Bytes = size - uint32(unsafe.Sizeof(fileHandle{}))
2381+ err = nameToHandleAt(dirfd, path, fh, &mid, flags)
2382+ if err == EOVERFLOW {
2383+ if didResize {
2384+ // We shouldn't need to resize more than once
2385+ return
2386+ }
2387+ didResize = true
2388+ size = fh.Bytes + uint32(unsafe.Sizeof(fileHandle{}))
2389+ continue
2390+ }
2391+ if err != nil {
2392+ return
2393+ }
2394+ return FileHandle{fh}, int(mid), nil
2395+ }
2396+}
2397+
2398+// OpenByHandleAt wraps the open_by_handle_at system call; it opens a
2399+// file via a handle as previously returned by NameToHandleAt.
2400+func OpenByHandleAt(mountFD int, handle FileHandle, flags int) (fd int, err error) {
2401+ return openByHandleAt(mountFD, handle.fileHandle, flags)
2402+}
2403+
2404+// Klogset wraps the sys_syslog system call; it sets console_loglevel to
2405+// the value specified by arg and passes a dummy pointer to bufp.
2406+func Klogset(typ int, arg int) (err error) {
2407+ var p unsafe.Pointer
2408+ _, _, errno := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(p), uintptr(arg))
2409+ if errno != 0 {
2410+ return errnoErr(errno)
2411+ }
2412+ return nil
2413+}
2414+
2415+// RemoteIovec is Iovec with the pointer replaced with an integer.
2416+// It is used for ProcessVMReadv and ProcessVMWritev, where the pointer
2417+// refers to a location in a different process' address space, which
2418+// would confuse the Go garbage collector.
2419+type RemoteIovec struct {
2420+ Base uintptr
2421+ Len int
2422+}
2423+
2424+//sys ProcessVMReadv(pid int, localIov []Iovec, remoteIov []RemoteIovec, flags uint) (n int, err error) = SYS_PROCESS_VM_READV
2425+//sys ProcessVMWritev(pid int, localIov []Iovec, remoteIov []RemoteIovec, flags uint) (n int, err error) = SYS_PROCESS_VM_WRITEV
2426+
2427+//sys PidfdOpen(pid int, flags int) (fd int, err error) = SYS_PIDFD_OPEN
2428+//sys PidfdGetfd(pidfd int, targetfd int, flags int) (fd int, err error) = SYS_PIDFD_GETFD
2429+//sys PidfdSendSignal(pidfd int, sig Signal, info *Siginfo, flags int) (err error) = SYS_PIDFD_SEND_SIGNAL
2430+
2431+//sys shmat(id int, addr uintptr, flag int) (ret uintptr, err error)
2432+//sys shmctl(id int, cmd int, buf *SysvShmDesc) (result int, err error)
2433+//sys shmdt(addr uintptr) (err error)
2434+//sys shmget(key int, size int, flag int) (id int, err error)
2435+
2436+//sys getitimer(which int, currValue *Itimerval) (err error)
2437+//sys setitimer(which int, newValue *Itimerval, oldValue *Itimerval) (err error)
2438+
2439+// MakeItimerval creates an Itimerval from interval and value durations.
2440+func MakeItimerval(interval, value time.Duration) Itimerval {
2441+ return Itimerval{
2442+ Interval: NsecToTimeval(interval.Nanoseconds()),
2443+ Value: NsecToTimeval(value.Nanoseconds()),
2444+ }
2445+}
2446+
2447+// A value which may be passed to the which parameter for Getitimer and
2448+// Setitimer.
2449+type ItimerWhich int
2450+
2451+// Possible which values for Getitimer and Setitimer.
2452+const (
2453+ ItimerReal ItimerWhich = ITIMER_REAL
2454+ ItimerVirtual ItimerWhich = ITIMER_VIRTUAL
2455+ ItimerProf ItimerWhich = ITIMER_PROF
2456+)
2457+
2458+// Getitimer wraps getitimer(2) to return the current value of the timer
2459+// specified by which.
2460+func Getitimer(which ItimerWhich) (Itimerval, error) {
2461+ var it Itimerval
2462+ if err := getitimer(int(which), &it); err != nil {
2463+ return Itimerval{}, err
2464+ }
2465+
2466+ return it, nil
2467+}
2468+
2469+// Setitimer wraps setitimer(2) to arm or disarm the timer specified by which.
2470+// It returns the previous value of the timer.
2471+//
2472+// If the Itimerval argument is the zero value, the timer will be disarmed.
2473+func Setitimer(which ItimerWhich, it Itimerval) (Itimerval, error) {
2474+ var prev Itimerval
2475+ if err := setitimer(int(which), &it, &prev); err != nil {
2476+ return Itimerval{}, err
2477+ }
2478+
2479+ return prev, nil
2480+}
2481+
2482+//sysnb rtSigprocmask(how int, set *Sigset_t, oldset *Sigset_t, sigsetsize uintptr) (err error) = SYS_RT_SIGPROCMASK
2483+
2484+func PthreadSigmask(how int, set, oldset *Sigset_t) error {
2485+ if oldset != nil {
2486+ // Explicitly clear in case Sigset_t is larger than _C__NSIG.
2487+ *oldset = Sigset_t{}
2488+ }
2489+ return rtSigprocmask(how, set, oldset, _C__NSIG/8)
2490+}
2491+
2492+//sysnb getresuid(ruid *_C_int, euid *_C_int, suid *_C_int)
2493+//sysnb getresgid(rgid *_C_int, egid *_C_int, sgid *_C_int)
2494+
2495+func Getresuid() (ruid, euid, suid int) {
2496+ var r, e, s _C_int
2497+ getresuid(&r, &e, &s)
2498+ return int(r), int(e), int(s)
2499+}
2500+
2501+func Getresgid() (rgid, egid, sgid int) {
2502+ var r, e, s _C_int
2503+ getresgid(&r, &e, &s)
2504+ return int(r), int(e), int(s)
2505+}
2506+
2507+// Pselect is a wrapper around the Linux pselect6 system call.
2508+// This version does not modify the timeout argument.
2509+func Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {
2510+ // Per https://man7.org/linux/man-pages/man2/select.2.html#NOTES,
2511+ // The Linux pselect6() system call modifies its timeout argument.
2512+ // [Not modifying the argument] is the behavior required by POSIX.1-2001.
2513+ var mutableTimeout *Timespec
2514+ if timeout != nil {
2515+ mutableTimeout = new(Timespec)
2516+ *mutableTimeout = *timeout
2517+ }
2518+
2519+ // The final argument of the pselect6() system call is not a
2520+ // sigset_t * pointer, but is instead a structure
2521+ var kernelMask *sigset_argpack
2522+ if sigmask != nil {
2523+ wordBits := 32 << (^uintptr(0) >> 63) // see math.intSize
2524+
2525+ // A sigset stores one bit per signal,
2526+ // offset by 1 (because signal 0 does not exist).
2527+ // So the number of words needed is ⌈__C_NSIG - 1 / wordBits⌉.
2528+ sigsetWords := (_C__NSIG - 1 + wordBits - 1) / (wordBits)
2529+
2530+ sigsetBytes := uintptr(sigsetWords * (wordBits / 8))
2531+ kernelMask = &sigset_argpack{
2532+ ss: sigmask,
2533+ ssLen: sigsetBytes,
2534+ }
2535+ }
2536+
2537+ return pselect6(nfd, r, w, e, mutableTimeout, kernelMask)
2538+}
2539+
2540+//sys schedSetattr(pid int, attr *SchedAttr, flags uint) (err error)
2541+//sys schedGetattr(pid int, attr *SchedAttr, size uint, flags uint) (err error)
2542+
2543+// SchedSetAttr is a wrapper for sched_setattr(2) syscall.
2544+// https://man7.org/linux/man-pages/man2/sched_setattr.2.html
2545+func SchedSetAttr(pid int, attr *SchedAttr, flags uint) error {
2546+ if attr == nil {
2547+ return EINVAL
2548+ }
2549+ attr.Size = SizeofSchedAttr
2550+ return schedSetattr(pid, attr, flags)
2551+}
2552+
2553+// SchedGetAttr is a wrapper for sched_getattr(2) syscall.
2554+// https://man7.org/linux/man-pages/man2/sched_getattr.2.html
2555+func SchedGetAttr(pid int, flags uint) (*SchedAttr, error) {
2556+ attr := &SchedAttr{}
2557+ if err := schedGetattr(pid, attr, SizeofSchedAttr, flags); err != nil {
2558+ return nil, err
2559+ }
2560+ return attr, nil
2561+}
2562+
2563+//sys Cachestat(fd uint, crange *CachestatRange, cstat *Cachestat_t, flags uint) (err error)
2564+//sys Mseal(b []byte, flags uint) (err error)
2565+
2566+//sys setMemPolicy(mode int, mask unsafe.Pointer, size uintptr) (err error) = SYS_SET_MEMPOLICY
2567+
2568+func SetMemPolicy(mode int, mask *CPUSet) error {
2569+ return setMemPolicy(mode, unsafe.Pointer(mask), _CPU_SETSIZE)
2570+}
2571+
2572+func SetMemPolicyDynamic(mode int, mask CPUSetDynamic) error {
2573+ return setMemPolicy(mode, mask.pointer(), mask.size())
2574+}
A vendor/golang.org/x/sys/unix/syscall_linux_386.go +313 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/syscall_linux_alarm.go +12 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/syscall_linux_amd64.go +144 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/syscall_linux_amd64_gc.go +12 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/syscall_linux_arm.go +218 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/syscall_linux_arm64.go +188 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/syscall_linux_gc.go +14 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/syscall_linux_gc_386.go +16 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/syscall_linux_gc_arm.go +13 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/syscall_linux_gccgo_386.go +30 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/syscall_linux_gccgo_arm.go +20 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/syscall_linux_loong64.go +220 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go +187 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go +173 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/syscall_linux_ppc.go +203 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go +114 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/syscall_linux_riscv64.go +193 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/syscall_linux_s390x.go +295 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go +111 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/syscall_netbsd.go +388 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/syscall_netbsd_386.go +37 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/syscall_netbsd_amd64.go +37 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/syscall_netbsd_arm.go +37 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/syscall_netbsd_arm64.go +37 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/syscall_openbsd.go +346 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/syscall_openbsd_386.go +41 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/syscall_openbsd_amd64.go +41 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/syscall_openbsd_arm.go +41 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/syscall_openbsd_arm64.go +41 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/syscall_openbsd_libc.go +26 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/syscall_openbsd_mips64.go +39 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/syscall_openbsd_ppc64.go +41 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/syscall_openbsd_riscv64.go +41 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/syscall_solaris.go +1183 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/syscall_solaris_amd64.go +27 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/syscall_unix.go +619 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/syscall_unix_gc.go +14 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/syscall_unix_gc_ppc64x.go +22 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/syscall_zos_s390x.go +3213 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/sysvshm_linux.go +20 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/sysvshm_unix.go +51 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/sysvshm_unix_other.go +13 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/timestruct.go +76 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/unveil_openbsd.go +51 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/vgetrandom_linux.go +13 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/vgetrandom_unsupported.go +11 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/xattr_bsd.go +280 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zerrors_aix_ppc.go +1384 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zerrors_aix_ppc64.go +1385 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go +1922 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go +1922 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zerrors_dragonfly_amd64.go +1737 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zerrors_freebsd_386.go +2042 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zerrors_freebsd_amd64.go +2039 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zerrors_freebsd_arm.go +2033 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zerrors_freebsd_arm64.go +2033 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zerrors_freebsd_riscv64.go +2147 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zerrors_linux.go +4207 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zerrors_linux_386.go +883 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go +883 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zerrors_linux_arm.go +888 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go +885 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zerrors_linux_loong64.go +875 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zerrors_linux_mips.go +889 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go +889 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go +889 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go +889 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zerrors_linux_ppc.go +941 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go +945 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go +945 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go +885 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go +944 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go +987 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zerrors_netbsd_386.go +1779 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zerrors_netbsd_amd64.go +1769 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zerrors_netbsd_arm.go +1758 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zerrors_netbsd_arm64.go +1769 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zerrors_openbsd_386.go +1905 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zerrors_openbsd_amd64.go +1905 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zerrors_openbsd_arm.go +1905 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zerrors_openbsd_arm64.go +1905 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zerrors_openbsd_mips64.go +1905 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zerrors_openbsd_ppc64.go +1904 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zerrors_openbsd_riscv64.go +1903 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zerrors_solaris_amd64.go +1556 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zerrors_zos_s390x.go +990 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zptrace_armnn_linux.go +40 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zptrace_linux_arm64.go +17 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zptrace_mipsnn_linux.go +49 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zptrace_mipsnnle_linux.go +49 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zptrace_x86_linux.go +79 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zsymaddr_zos_s390x.s +364 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zsyscall_aix_ppc.go +1461 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64.go +1420 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gc.go +1188 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gccgo.go +1069 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go +2728 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s +799 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go +2728 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.s +799 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go +1666 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go +1886 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go +1886 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go +1886 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm64.go +1886 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zsyscall_freebsd_riscv64.go +1886 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zsyscall_illumos_amd64.go +101 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zsyscall_linux.go +2267 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zsyscall_linux_386.go +469 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go +636 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go +584 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go +535 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zsyscall_linux_loong64.go +469 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go +636 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go +630 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go +619 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go +636 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zsyscall_linux_ppc.go +641 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go +687 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go +687 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zsyscall_linux_riscv64.go +531 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go +478 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go +631 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go +1848 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go +1848 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go +1848 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm64.go +1848 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go +2407 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.s +719 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go +2407 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.s +719 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go +2407 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.s +719 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.go +2407 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.s +719 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.go +2407 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.s +719 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zsyscall_openbsd_ppc64.go +2407 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zsyscall_openbsd_ppc64.s +862 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zsyscall_openbsd_riscv64.go +2407 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zsyscall_openbsd_riscv64.s +719 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go +2217 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zsyscall_zos_s390x.go +3458 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zsysctl_openbsd_386.go +280 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zsysctl_openbsd_amd64.go +280 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zsysctl_openbsd_arm.go +280 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zsysctl_openbsd_arm64.go +280 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zsysctl_openbsd_mips64.go +280 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zsysctl_openbsd_ppc64.go +280 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zsysctl_openbsd_riscv64.go +281 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zsysnum_darwin_amd64.go +439 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zsysnum_darwin_arm64.go +437 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zsysnum_dragonfly_amd64.go +316 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zsysnum_freebsd_386.go +393 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zsysnum_freebsd_amd64.go +393 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm.go +393 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm64.go +393 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zsysnum_freebsd_riscv64.go +393 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zsysnum_linux_386.go +470 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go +394 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go +434 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go +337 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zsysnum_linux_loong64.go +334 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go +454 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go +384 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go +384 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go +454 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zsysnum_linux_ppc.go +461 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go +433 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go +433 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go +338 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go +399 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go +413 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zsysnum_netbsd_386.go +274 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zsysnum_netbsd_amd64.go +274 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm.go +274 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm64.go +274 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zsysnum_openbsd_386.go +219 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zsysnum_openbsd_amd64.go +219 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm.go +219 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm64.go +218 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zsysnum_openbsd_mips64.go +221 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zsysnum_openbsd_ppc64.go +217 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zsysnum_openbsd_riscv64.go +218 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/zsysnum_zos_s390x.go +2852 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/ztypes_aix_ppc.go +353 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/ztypes_aix_ppc64.go +357 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go +878 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go +878 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/ztypes_dragonfly_amd64.go +473 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go +651 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go +656 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go +642 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/ztypes_freebsd_arm64.go +636 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/ztypes_freebsd_riscv64.go +638 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/ztypes_linux.go +6475 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/ztypes_linux_386.go +717 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go +731 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/ztypes_linux_arm.go +711 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go +710 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/ztypes_linux_loong64.go +711 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/ztypes_linux_mips.go +716 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go +713 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go +713 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go +716 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/ztypes_linux_ppc.go +724 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go +719 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go +719 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go +798 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go +733 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go +714 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/ztypes_netbsd_386.go +585 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/ztypes_netbsd_amd64.go +593 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/ztypes_netbsd_arm.go +590 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/ztypes_netbsd_arm64.go +593 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/ztypes_openbsd_386.go +568 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/ztypes_openbsd_amd64.go +568 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/ztypes_openbsd_arm.go +575 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/ztypes_openbsd_arm64.go +568 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/ztypes_openbsd_mips64.go +568 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/ztypes_openbsd_ppc64.go +570 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/ztypes_openbsd_riscv64.go +570 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/ztypes_solaris_amd64.go +516 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/unix/ztypes_zos_s390x.go +552 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/windows/aliases.go +13 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/windows/dll_windows.go +380 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/windows/env_windows.go +57 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/windows/eventlog.go +20 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/windows/exec_windows.go +248 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/windows/memory_windows.go +48 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/windows/mkerrors.bash +70 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/windows/mkknownfolderids.bash +27 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/windows/mksyscall.go +9 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/windows/race.go +30 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/windows/race0.go +25 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/windows/security_windows.go +1537 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/windows/service.go +257 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/windows/setupapi_windows.go +1425 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/windows/str.go +22 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/windows/syscall.go +104 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/windows/syscall_windows.go +1952 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/windows/types_windows.go +4057 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/windows/types_windows_386.go +35 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/windows/types_windows_amd64.go +34 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/windows/types_windows_arm.go +35 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/windows/types_windows_arm64.go +34 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/windows/zerrors_windows.go +9468 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/windows/zknownfolderids_windows.go +149 -0 collapsed to keep the page light
A vendor/golang.org/x/sys/windows/zsyscall_windows.go +4828 -0 collapsed to keep the page light
A vendor/golang.org/x/text/LICENSE +27 -0 collapsed to keep the page light
A vendor/golang.org/x/text/PATENTS +22 -0 collapsed to keep the page light
A vendor/golang.org/x/text/encoding/encoding.go +335 -0 collapsed to keep the page light
A vendor/golang.org/x/text/encoding/internal/identifier/identifier.go +81 -0 collapsed to keep the page light
A vendor/golang.org/x/text/encoding/internal/identifier/mib.go +1627 -0 collapsed to keep the page light
A vendor/golang.org/x/text/encoding/internal/internal.go +75 -0 collapsed to keep the page light
A vendor/golang.org/x/text/encoding/unicode/override.go +82 -0 collapsed to keep the page light
A vendor/golang.org/x/text/encoding/unicode/unicode.go +512 -0 collapsed to keep the page light
A vendor/golang.org/x/text/internal/utf8internal/utf8internal.go +87 -0 collapsed to keep the page light
A vendor/golang.org/x/text/runes/cond.go +187 -0 collapsed to keep the page light
A vendor/golang.org/x/text/runes/runes.go +355 -0 collapsed to keep the page light
A vendor/golang.org/x/text/secure/bidirule/bidirule.go +340 -0 collapsed to keep the page light
A vendor/golang.org/x/text/transform/transform.go +709 -0 collapsed to keep the page light
A vendor/golang.org/x/text/unicode/bidi/bidi.go +359 -0 collapsed to keep the page light
A vendor/golang.org/x/text/unicode/bidi/bracket.go +335 -0 collapsed to keep the page light
A vendor/golang.org/x/text/unicode/bidi/core.go +1064 -0 collapsed to keep the page light
A vendor/golang.org/x/text/unicode/bidi/prop.go +206 -0 collapsed to keep the page light
A vendor/golang.org/x/text/unicode/bidi/tables15.0.0.go +2042 -0 collapsed to keep the page light
A vendor/golang.org/x/text/unicode/bidi/tables17.0.0.go +2135 -0 collapsed to keep the page light
A vendor/golang.org/x/text/unicode/bidi/trieval.go +48 -0 collapsed to keep the page light
A vendor/golang.org/x/text/unicode/norm/composition.go +512 -0 collapsed to keep the page light
A vendor/golang.org/x/text/unicode/norm/forminfo.go +296 -0 collapsed to keep the page light
A vendor/golang.org/x/text/unicode/norm/input.go +109 -0 collapsed to keep the page light
A vendor/golang.org/x/text/unicode/norm/iter.go +454 -0 collapsed to keep the page light
A vendor/golang.org/x/text/unicode/norm/normalize.go +610 -0 collapsed to keep the page light
A vendor/golang.org/x/text/unicode/norm/readwriter.go +125 -0 collapsed to keep the page light
A vendor/golang.org/x/text/unicode/norm/tables15.0.0.go +7907 -0 collapsed to keep the page light
A vendor/golang.org/x/text/unicode/norm/tables17.0.0.go +8104 -0 collapsed to keep the page light
A vendor/golang.org/x/text/unicode/norm/transform.go +88 -0 collapsed to keep the page light
A vendor/golang.org/x/text/unicode/norm/trie.go +54 -0 collapsed to keep the page light
A vendor/golang.org/x/tools/LICENSE +27 -0 collapsed to keep the page light
A vendor/golang.org/x/tools/PATENTS +22 -0 collapsed to keep the page light
A vendor/golang.org/x/tools/go/ast/astutil/enclosing.go +663 -0 collapsed to keep the page light
A vendor/golang.org/x/tools/go/ast/astutil/imports.go +487 -0 collapsed to keep the page light
A vendor/golang.org/x/tools/go/ast/astutil/rewrite.go +490 -0 collapsed to keep the page light
A vendor/golang.org/x/tools/go/ast/astutil/util.go +13 -0 collapsed to keep the page light
A vendor/golang.org/x/tools/go/ast/edge/edge.go +299 -0 collapsed to keep the page light
A vendor/golang.org/x/tools/go/ast/inspector/cursor.go +551 -0 collapsed to keep the page light
A vendor/golang.org/x/tools/go/ast/inspector/inspector.go +311 -0 collapsed to keep the page light
A vendor/golang.org/x/tools/go/ast/inspector/iter.go +113 -0 collapsed to keep the page light
A vendor/golang.org/x/tools/go/ast/inspector/typeof.go +227 -0 collapsed to keep the page light
A vendor/golang.org/x/tools/go/ast/inspector/walk.go +341 -0 collapsed to keep the page light
A vendor/golang.org/x/tools/go/gcexportdata/gcexportdata.go +236 -0 collapsed to keep the page light
A vendor/golang.org/x/tools/go/gcexportdata/importer.go +75 -0 collapsed to keep the page light
A vendor/golang.org/x/tools/go/packages/doc.go +253 -0 collapsed to keep the page light
A vendor/golang.org/x/tools/go/packages/external.go +153 -0 collapsed to keep the page light
A vendor/golang.org/x/tools/go/packages/golist.go +1126 -0 collapsed to keep the page light
A vendor/golang.org/x/tools/go/packages/golist_overlay.go +83 -0 collapsed to keep the page light
A vendor/golang.org/x/tools/go/packages/loadmode_string.go +56 -0 collapsed to keep the page light
A vendor/golang.org/x/tools/go/packages/packages.go +1605 -0 collapsed to keep the page light
A vendor/golang.org/x/tools/go/packages/visit.go +133 -0 collapsed to keep the page light
A vendor/golang.org/x/tools/go/types/objectpath/objectpath.go +945 -0 collapsed to keep the page light
A vendor/golang.org/x/tools/go/types/typeutil/callee.go +86 -0 collapsed to keep the page light
A vendor/golang.org/x/tools/go/types/typeutil/imports.go +30 -0 collapsed to keep the page light
A vendor/golang.org/x/tools/go/types/typeutil/map.go +459 -0 collapsed to keep the page light
A vendor/golang.org/x/tools/go/types/typeutil/methodsetcache.go +71 -0 collapsed to keep the page light
A vendor/golang.org/x/tools/go/types/typeutil/ui.go +53 -0 collapsed to keep the page light
A vendor/golang.org/x/tools/imports/forward.go +77 -0 collapsed to keep the page light
A vendor/golang.org/x/tools/internal/aliases/aliases.go +18 -0 collapsed to keep the page light
A vendor/golang.org/x/tools/internal/event/core/event.go +95 -0 collapsed to keep the page light
A vendor/golang.org/x/tools/internal/event/core/export.go +67 -0 collapsed to keep the page light
A vendor/golang.org/x/tools/internal/event/core/fast.go +77 -0 collapsed to keep the page light
A vendor/golang.org/x/tools/internal/event/doc.go +7 -0 collapsed to keep the page light
A vendor/golang.org/x/tools/internal/event/event.go +127 -0 collapsed to keep the page light
A vendor/golang.org/x/tools/internal/event/keys/keys.go +237 -0 collapsed to keep the page light
A vendor/golang.org/x/tools/internal/event/keys/standard.go +22 -0 collapsed to keep the page light
A vendor/golang.org/x/tools/internal/event/keys/util.go +21 -0 collapsed to keep the page light
A vendor/golang.org/x/tools/internal/event/label/label.go +203 -0 collapsed to keep the page light
A vendor/golang.org/x/tools/internal/gcimporter/bimport.go +89 -0 collapsed to keep the page light
A vendor/golang.org/x/tools/internal/gcimporter/exportdata.go +421 -0 collapsed to keep the page light
A vendor/golang.org/x/tools/internal/gcimporter/gcimporter.go +108 -0 collapsed to keep the page light
A vendor/golang.org/x/tools/internal/gcimporter/iexport.go +1605 -0 collapsed to keep the page light
A vendor/golang.org/x/tools/internal/gcimporter/iimport.go +1122 -0 collapsed to keep the page light
A vendor/golang.org/x/tools/internal/gcimporter/predeclared.go +91 -0 collapsed to keep the page light
A vendor/golang.org/x/tools/internal/gcimporter/support.go +30 -0 collapsed to keep the page light
A vendor/golang.org/x/tools/internal/gcimporter/ureader.go +813 -0 collapsed to keep the page light
A vendor/golang.org/x/tools/internal/gocommand/invoke.go +567 -0 collapsed to keep the page light
A vendor/golang.org/x/tools/internal/gocommand/invoke_notunix.go +13 -0 collapsed to keep the page light
A vendor/golang.org/x/tools/internal/gocommand/invoke_unix.go +13 -0 collapsed to keep the page light
A vendor/golang.org/x/tools/internal/gocommand/vendor.go +163 -0 collapsed to keep the page light
A vendor/golang.org/x/tools/internal/gocommand/version.go +75 -0 collapsed to keep the page light
A vendor/golang.org/x/tools/internal/gopathwalk/walk.go +336 -0 collapsed to keep the page light
A vendor/golang.org/x/tools/internal/imports/fix.go +1893 -0 collapsed to keep the page light
A vendor/golang.org/x/tools/internal/imports/imports.go +363 -0 collapsed to keep the page light
A vendor/golang.org/x/tools/internal/imports/mod.go +841 -0 collapsed to keep the page light
A vendor/golang.org/x/tools/internal/imports/mod_cache.go +331 -0 collapsed to keep the page light
A vendor/golang.org/x/tools/internal/imports/sortimports.go +313 -0 collapsed to keep the page light
A vendor/golang.org/x/tools/internal/imports/source.go +63 -0 collapsed to keep the page light
A vendor/golang.org/x/tools/internal/imports/source_env.go +129 -0 collapsed to keep the page light
A vendor/golang.org/x/tools/internal/packagesinternal/packages.go +23 -0 collapsed to keep the page light
A vendor/golang.org/x/tools/internal/pkgbits/codes.go +77 -0 collapsed to keep the page light
A vendor/golang.org/x/tools/internal/pkgbits/decoder.go +519 -0 collapsed to keep the page light
A vendor/golang.org/x/tools/internal/pkgbits/doc.go +32 -0 collapsed to keep the page light
A vendor/golang.org/x/tools/internal/pkgbits/encoder.go +392 -0 collapsed to keep the page light
A vendor/golang.org/x/tools/internal/pkgbits/flags.go +9 -0 collapsed to keep the page light
A vendor/golang.org/x/tools/internal/pkgbits/reloc.go +42 -0 collapsed to keep the page light
A vendor/golang.org/x/tools/internal/pkgbits/support.go +17 -0 collapsed to keep the page light
A vendor/golang.org/x/tools/internal/pkgbits/sync.go +136 -0 collapsed to keep the page light
A vendor/golang.org/x/tools/internal/pkgbits/syncmarker_string.go +92 -0 collapsed to keep the page light
A vendor/golang.org/x/tools/internal/pkgbits/version.go +102 -0 collapsed to keep the page light
A vendor/golang.org/x/tools/internal/stdlib/deps.go +549 -0 collapsed to keep the page light
A vendor/golang.org/x/tools/internal/stdlib/import.go +97 -0 collapsed to keep the page light
A vendor/golang.org/x/tools/internal/stdlib/manifest.go +18613 -0 collapsed to keep the page light
A vendor/golang.org/x/tools/internal/stdlib/stdlib.go +105 -0 collapsed to keep the page light
A vendor/golang.org/x/tools/internal/typeparams/common.go +68 -0 collapsed to keep the page light
A vendor/golang.org/x/tools/internal/typeparams/coretype.go +157 -0 collapsed to keep the page light
A vendor/golang.org/x/tools/internal/typeparams/free.go +129 -0 collapsed to keep the page light
A vendor/golang.org/x/tools/internal/typeparams/normalize.go +216 -0 collapsed to keep the page light
A vendor/golang.org/x/tools/internal/typeparams/termlist.go +169 -0 collapsed to keep the page light
A vendor/golang.org/x/tools/internal/typeparams/typeterm.go +172 -0 collapsed to keep the page light
A vendor/golang.org/x/tools/internal/typesinternal/classify_call.go +137 -0 collapsed to keep the page light
A vendor/golang.org/x/tools/internal/typesinternal/element.go +137 -0 collapsed to keep the page light
A vendor/golang.org/x/tools/internal/typesinternal/errorcode.go +1560 -0 collapsed to keep the page light
A vendor/golang.org/x/tools/internal/typesinternal/errorcode_string.go +179 -0 collapsed to keep the page light
A vendor/golang.org/x/tools/internal/typesinternal/fx.go +88 -0 collapsed to keep the page light
A vendor/golang.org/x/tools/internal/typesinternal/isnamed.go +71 -0 collapsed to keep the page light
A vendor/golang.org/x/tools/internal/typesinternal/qualifier.go +54 -0 collapsed to keep the page light
A vendor/golang.org/x/tools/internal/typesinternal/recv.go +44 -0 collapsed to keep the page light
A vendor/golang.org/x/tools/internal/typesinternal/toonew.go +89 -0 collapsed to keep the page light
A vendor/golang.org/x/tools/internal/typesinternal/types.go +272 -0 collapsed to keep the page light
A vendor/golang.org/x/tools/internal/typesinternal/varkind.go +23 -0 collapsed to keep the page light
A vendor/golang.org/x/tools/internal/typesinternal/varkind_go124.go +39 -0 collapsed to keep the page light
A vendor/golang.org/x/tools/internal/typesinternal/zerovalue.go +381 -0 collapsed to keep the page light
A vendor/golang.org/x/tools/internal/versions/features.go +49 -0 collapsed to keep the page light
A vendor/golang.org/x/tools/internal/versions/gover.go +172 -0 collapsed to keep the page light
A vendor/golang.org/x/tools/internal/versions/types.go +33 -0 collapsed to keep the page light
A vendor/golang.org/x/tools/internal/versions/versions.go +57 -0 collapsed to keep the page light
A vendor/gopkg.in/yaml.v3/LICENSE +50 -0 collapsed to keep the page light
A vendor/gopkg.in/yaml.v3/NOTICE +13 -0 collapsed to keep the page light
A vendor/gopkg.in/yaml.v3/README.md +150 -0 collapsed to keep the page light
A vendor/gopkg.in/yaml.v3/apic.go +747 -0 collapsed to keep the page light
A vendor/gopkg.in/yaml.v3/decode.go +1000 -0 collapsed to keep the page light
A vendor/gopkg.in/yaml.v3/emitterc.go +2020 -0 collapsed to keep the page light
A vendor/gopkg.in/yaml.v3/encode.go +577 -0 collapsed to keep the page light
A vendor/gopkg.in/yaml.v3/parserc.go +1258 -0 collapsed to keep the page light
A vendor/gopkg.in/yaml.v3/readerc.go +434 -0 collapsed to keep the page light
A vendor/gopkg.in/yaml.v3/resolve.go +326 -0 collapsed to keep the page light
A vendor/gopkg.in/yaml.v3/scannerc.go +3038 -0 collapsed to keep the page light
A vendor/gopkg.in/yaml.v3/sorter.go +134 -0 collapsed to keep the page light
A vendor/gopkg.in/yaml.v3/writerc.go +48 -0 collapsed to keep the page light
A vendor/gopkg.in/yaml.v3/yaml.go +698 -0 collapsed to keep the page light
A vendor/gopkg.in/yaml.v3/yamlh.go +807 -0 collapsed to keep the page light
A vendor/gopkg.in/yaml.v3/yamlprivateh.go +198 -0 collapsed to keep the page light
A vendor/modules.txt +376 -0 collapsed to keep the page light

Keyboard shortcuts

Single-key shortcuts are on. ctrl k and esc work whatever this says.

ctrl k :
go to a section, branch, tag, file or repository
?
this list
j k
move the row cursor down / up
enter
open the row under the cursor; on Files, a directory opens or closes in place
↑ ↓ ← → home end
in the file tree (focus on a row): previous / next row, close / open a directory or go to its parent / first entry, first / last row. They never open a file
l h
on Files: open a directory or a file / close a directory or go up to its parent, then to the parent page. Elsewhere: into the side panel (on a merge request, its files) / back to the content; there j k move between its controls
g g G
first / last row
/
filter the list; on Files, find a file anywhere in the repository (esc clears, enter opens the best match)
b
switch branch or tag
g s g f g c g b g m g i g r g a
tabs: summary, files, commits, branches & tags, merge requests, issues, releases, actions (when available)
g h
home
w
wide mode: use the whole width of the screen, or not (remembered)
y
copy a permalink pinned to the commit
d u x
diff: split / unified / collapse or expand all
e E
diff: the whole file in view / every file, with the lines the hunks hide
n
merge request: next note in the diff
esc
close a dialog, leave a field

Branches 8

Tags 42

↑↓ moveenter openesc close