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 collapsed to keep the page light
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
@@ -0,0 +1,3213 @@
1+// Copyright 2020 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+//go:build zos && s390x
6+
7+// Many of the following syscalls are not available on all versions of z/OS.
8+// Some missing calls have legacy implementations/simulations but others
9+// will be missing completely. To achieve consistent failing behaviour on
10+// legacy systems, we first test the function pointer via a safeloading
11+// mechanism to see if the function exists on a given system. Then execution
12+// is branched to either continue the function call, or return an error.
13+
14+package unix
15+
16+import (
17+ "bytes"
18+ "fmt"
19+ "os"
20+ "reflect"
21+ "regexp"
22+ "runtime"
23+ "sort"
24+ "strings"
25+ "sync"
26+ "syscall"
27+ "unsafe"
28+)
29+
30+//go:noescape
31+func initZosLibVec()
32+
33+//go:noescape
34+func GetZosLibVec() uintptr
35+
36+func init() {
37+ initZosLibVec()
38+ r0, _, _ := CallLeFuncWithPtrReturn(GetZosLibVec()+SYS_____GETENV_A<<4, uintptr(unsafe.Pointer(&([]byte("__ZOS_XSYSTRACE\x00"))[0])))
39+ if r0 != 0 {
40+ n, _, _ := CallLeFuncWithPtrReturn(GetZosLibVec()+SYS___ATOI_A<<4, r0)
41+ ZosTraceLevel = int(n)
42+ r0, _, _ := CallLeFuncWithPtrReturn(GetZosLibVec()+SYS_____GETENV_A<<4, uintptr(unsafe.Pointer(&([]byte("__ZOS_XSYSTRACEFD\x00"))[0])))
43+ if r0 != 0 {
44+ fd, _, _ := CallLeFuncWithPtrReturn(GetZosLibVec()+SYS___ATOI_A<<4, r0)
45+ f := os.NewFile(fd, "zostracefile")
46+ if f != nil {
47+ ZosTracefile = f
48+ }
49+ }
50+
51+ }
52+}
53+
54+//go:noescape
55+func CallLeFuncWithErr(funcdesc uintptr, parms ...uintptr) (ret, errno2 uintptr, err Errno)
56+
57+//go:noescape
58+func CallLeFuncWithPtrReturn(funcdesc uintptr, parms ...uintptr) (ret, errno2 uintptr, err Errno)
59+
60+// -------------------------------
61+// pointer validity test
62+// good pointer returns 0
63+// bad pointer returns 1
64+//
65+//go:nosplit
66+func ptrtest(uintptr) uint64
67+
68+// Load memory at ptr location with error handling if the location is invalid
69+//
70+//go:noescape
71+func safeload(ptr uintptr) (value uintptr, error uintptr)
72+
73+const (
74+ entrypointLocationOffset = 8 // From function descriptor
75+
76+ xplinkEyecatcher = 0x00c300c500c500f1 // ".C.E.E.1"
77+ eyecatcherOffset = 16 // From function entrypoint (negative)
78+ ppa1LocationOffset = 8 // From function entrypoint (negative)
79+
80+ nameLenOffset = 0x14 // From PPA1 start
81+ nameOffset = 0x16 // From PPA1 start
82+)
83+
84+func getPpaOffset(funcptr uintptr) int64 {
85+ entrypoint, err := safeload(funcptr + entrypointLocationOffset)
86+ if err != 0 {
87+ return -1
88+ }
89+
90+ // XPLink functions have ".C.E.E.1" as the first 8 bytes (EBCDIC)
91+ val, err := safeload(entrypoint - eyecatcherOffset)
92+ if err != 0 {
93+ return -1
94+ }
95+ if val != xplinkEyecatcher {
96+ return -1
97+ }
98+
99+ ppaoff, err := safeload(entrypoint - ppa1LocationOffset)
100+ if err != 0 {
101+ return -1
102+ }
103+
104+ ppaoff >>= 32
105+ return int64(ppaoff)
106+}
107+
108+//-------------------------------
109+// function descriptor pointer validity test
110+// good pointer returns 0
111+// bad pointer returns 1
112+
113+// TODO: currently mksyscall_zos_s390x.go generate empty string for funcName
114+// have correct funcName pass to the funcptrtest function
115+func funcptrtest(funcptr uintptr, funcName string) uint64 {
116+ entrypoint, err := safeload(funcptr + entrypointLocationOffset)
117+ if err != 0 {
118+ return 1
119+ }
120+
121+ ppaoff := getPpaOffset(funcptr)
122+ if ppaoff == -1 {
123+ return 1
124+ }
125+
126+ // PPA1 offset value is from the start of the entire function block, not the entrypoint
127+ ppa1 := (entrypoint - eyecatcherOffset) + uintptr(ppaoff)
128+
129+ nameLen, err := safeload(ppa1 + nameLenOffset)
130+ if err != 0 {
131+ return 1
132+ }
133+
134+ nameLen >>= 48
135+ if nameLen > 128 {
136+ return 1
137+ }
138+
139+ // no function name input to argument end here
140+ if funcName == "" {
141+ return 0
142+ }
143+
144+ var funcname [128]byte
145+ for i := 0; i < int(nameLen); i += 8 {
146+ v, err := safeload(ppa1 + nameOffset + uintptr(i))
147+ if err != 0 {
148+ return 1
149+ }
150+ funcname[i] = byte(v >> 56)
151+ funcname[i+1] = byte(v >> 48)
152+ funcname[i+2] = byte(v >> 40)
153+ funcname[i+3] = byte(v >> 32)
154+ funcname[i+4] = byte(v >> 24)
155+ funcname[i+5] = byte(v >> 16)
156+ funcname[i+6] = byte(v >> 8)
157+ funcname[i+7] = byte(v)
158+ }
159+
160+ runtime.CallLeFuncByPtr(runtime.XplinkLibvec+SYS___E2A_L<<4, // __e2a_l
161+ []uintptr{uintptr(unsafe.Pointer(&funcname[0])), nameLen})
162+
163+ name := string(funcname[:nameLen])
164+ if name != funcName {
165+ return 1
166+ }
167+
168+ return 0
169+}
170+
171+// For detection of capabilities on a system.
172+// Is function descriptor f a valid function?
173+func isValidLeFunc(f uintptr) error {
174+ ret := funcptrtest(f, "")
175+ if ret != 0 {
176+ return fmt.Errorf("Bad pointer, not an LE function ")
177+ }
178+ return nil
179+}
180+
181+// Retrieve function name from descriptor
182+func getLeFuncName(f uintptr) (string, error) {
183+ // assume it has been checked, only check ppa1 validity here
184+ entry := ((*[2]uintptr)(unsafe.Pointer(f)))[1]
185+ preamp := ((*[4]uint32)(unsafe.Pointer(entry - eyecatcherOffset)))
186+
187+ offsetPpa1 := preamp[2]
188+ if offsetPpa1 > 0x0ffff {
189+ return "", fmt.Errorf("PPA1 offset seems too big 0x%x\n", offsetPpa1)
190+ }
191+
192+ ppa1 := uintptr(unsafe.Pointer(preamp)) + uintptr(offsetPpa1)
193+ res := ptrtest(ppa1)
194+ if res != 0 {
195+ return "", fmt.Errorf("PPA1 address not valid")
196+ }
197+
198+ size := *(*uint16)(unsafe.Pointer(ppa1 + nameLenOffset))
199+ if size > 128 {
200+ return "", fmt.Errorf("Function name seems too long, length=%d\n", size)
201+ }
202+
203+ var name [128]byte
204+ funcname := (*[128]byte)(unsafe.Pointer(ppa1 + nameOffset))
205+ copy(name[0:size], funcname[0:size])
206+
207+ runtime.CallLeFuncByPtr(runtime.XplinkLibvec+SYS___E2A_L<<4, // __e2a_l
208+ []uintptr{uintptr(unsafe.Pointer(&name[0])), uintptr(size)})
209+
210+ return string(name[:size]), nil
211+}
212+
213+// Check z/OS version
214+func zosLeVersion() (version, release uint32) {
215+ p1 := (*(*uintptr)(unsafe.Pointer(uintptr(1208)))) >> 32
216+ p1 = *(*uintptr)(unsafe.Pointer(uintptr(p1 + 88)))
217+ p1 = *(*uintptr)(unsafe.Pointer(uintptr(p1 + 8)))
218+ p1 = *(*uintptr)(unsafe.Pointer(uintptr(p1 + 984)))
219+ vrm := *(*uint32)(unsafe.Pointer(p1 + 80))
220+ version = (vrm & 0x00ff0000) >> 16
221+ release = (vrm & 0x0000ff00) >> 8
222+ return
223+}
224+
225+// returns a zos C FILE * for stdio fd 0, 1, 2
226+func ZosStdioFilep(fd int32) uintptr {
227+ return uintptr(*(*uint64)(unsafe.Pointer(uintptr(*(*uint64)(unsafe.Pointer(uintptr(*(*uint64)(unsafe.Pointer(uintptr(uint64(*(*uint32)(unsafe.Pointer(uintptr(1208)))) + 80))) + uint64((fd+2)<<3))))))))
228+}
229+
230+func copyStat(stat *Stat_t, statLE *Stat_LE_t) {
231+ stat.Dev = uint64(statLE.Dev)
232+ stat.Ino = uint64(statLE.Ino)
233+ stat.Nlink = uint64(statLE.Nlink)
234+ stat.Mode = uint32(statLE.Mode)
235+ stat.Uid = uint32(statLE.Uid)
236+ stat.Gid = uint32(statLE.Gid)
237+ stat.Rdev = uint64(statLE.Rdev)
238+ stat.Size = statLE.Size
239+ stat.Atim.Sec = int64(statLE.Atim)
240+ stat.Atim.Nsec = 0 //zos doesn't return nanoseconds
241+ stat.Mtim.Sec = int64(statLE.Mtim)
242+ stat.Mtim.Nsec = 0 //zos doesn't return nanoseconds
243+ stat.Ctim.Sec = int64(statLE.Ctim)
244+ stat.Ctim.Nsec = 0 //zos doesn't return nanoseconds
245+ stat.Blksize = int64(statLE.Blksize)
246+ stat.Blocks = statLE.Blocks
247+}
248+
249+func svcCall(fnptr unsafe.Pointer, argv *unsafe.Pointer, dsa *uint64)
250+func svcLoad(name *byte) unsafe.Pointer
251+func svcUnload(name *byte, fnptr unsafe.Pointer) int64
252+
253+func (d *Dirent) NameString() string {
254+ if d == nil {
255+ return ""
256+ }
257+ s := string(d.Name[:])
258+ idx := strings.IndexByte(s, 0)
259+ if idx == -1 {
260+ return s
261+ } else {
262+ return s[:idx]
263+ }
264+}
265+
266+func DecodeData(dest []byte, sz int, val uint64) {
267+ for i := 0; i < sz; i++ {
268+ dest[sz-1-i] = byte((val >> (uint64(i * 8))) & 0xff)
269+ }
270+}
271+
272+func EncodeData(data []byte) uint64 {
273+ var value uint64
274+ sz := len(data)
275+ for i := 0; i < sz; i++ {
276+ value |= uint64(data[i]) << uint64(((sz - i - 1) * 8))
277+ }
278+ return value
279+}
280+
281+func (sa *SockaddrInet4) sockaddr() (unsafe.Pointer, _Socklen, error) {
282+ if sa.Port < 0 || sa.Port > 0xFFFF {
283+ return nil, 0, EINVAL
284+ }
285+ sa.raw.Len = SizeofSockaddrInet4
286+ sa.raw.Family = AF_INET
287+ p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port))
288+ p[0] = byte(sa.Port >> 8)
289+ p[1] = byte(sa.Port)
290+ for i := 0; i < len(sa.Addr); i++ {
291+ sa.raw.Addr[i] = sa.Addr[i]
292+ }
293+ return unsafe.Pointer(&sa.raw), _Socklen(sa.raw.Len), nil
294+}
295+
296+func (sa *SockaddrInet6) sockaddr() (unsafe.Pointer, _Socklen, error) {
297+ if sa.Port < 0 || sa.Port > 0xFFFF {
298+ return nil, 0, EINVAL
299+ }
300+ sa.raw.Len = SizeofSockaddrInet6
301+ sa.raw.Family = AF_INET6
302+ p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port))
303+ p[0] = byte(sa.Port >> 8)
304+ p[1] = byte(sa.Port)
305+ sa.raw.Scope_id = sa.ZoneId
306+ for i := 0; i < len(sa.Addr); i++ {
307+ sa.raw.Addr[i] = sa.Addr[i]
308+ }
309+ return unsafe.Pointer(&sa.raw), _Socklen(sa.raw.Len), nil
310+}
311+
312+func (sa *SockaddrUnix) sockaddr() (unsafe.Pointer, _Socklen, error) {
313+ name := sa.Name
314+ n := len(name)
315+ if n >= len(sa.raw.Path) || n == 0 {
316+ return nil, 0, EINVAL
317+ }
318+ sa.raw.Len = byte(3 + n) // 2 for Family, Len; 1 for NUL
319+ sa.raw.Family = AF_UNIX
320+ for i := 0; i < n; i++ {
321+ sa.raw.Path[i] = int8(name[i])
322+ }
323+ return unsafe.Pointer(&sa.raw), _Socklen(sa.raw.Len), nil
324+}
325+
326+func anyToSockaddr(_ int, rsa *RawSockaddrAny) (Sockaddr, error) {
327+ // TODO(neeilan): Implement use of first param (fd)
328+ switch rsa.Addr.Family {
329+ case AF_UNIX:
330+ pp := (*RawSockaddrUnix)(unsafe.Pointer(rsa))
331+ sa := new(SockaddrUnix)
332+ // For z/OS, only replace NUL with @ when the
333+ // length is not zero.
334+ if pp.Len != 0 && pp.Path[0] == 0 {
335+ // "Abstract" Unix domain socket.
336+ // Rewrite leading NUL as @ for textual display.
337+ // (This is the standard convention.)
338+ // Not friendly to overwrite in place,
339+ // but the callers below don't care.
340+ pp.Path[0] = '@'
341+ }
342+
343+ // Assume path ends at NUL.
344+ //
345+ // For z/OS, the length of the name is a field
346+ // in the structure. To be on the safe side, we
347+ // will still scan the name for a NUL but only
348+ // to the length provided in the structure.
349+ //
350+ // This is not technically the Linux semantics for
351+ // abstract Unix domain sockets--they are supposed
352+ // to be uninterpreted fixed-size binary blobs--but
353+ // everyone uses this convention.
354+ n := 0
355+ for n < int(pp.Len) && pp.Path[n] != 0 {
356+ n++
357+ }
358+ sa.Name = string(unsafe.Slice((*byte)(unsafe.Pointer(&pp.Path[0])), n))
359+ return sa, nil
360+
361+ case AF_INET:
362+ pp := (*RawSockaddrInet4)(unsafe.Pointer(rsa))
363+ sa := new(SockaddrInet4)
364+ p := (*[2]byte)(unsafe.Pointer(&pp.Port))
365+ sa.Port = int(p[0])<<8 + int(p[1])
366+ for i := 0; i < len(sa.Addr); i++ {
367+ sa.Addr[i] = pp.Addr[i]
368+ }
369+ return sa, nil
370+
371+ case AF_INET6:
372+ pp := (*RawSockaddrInet6)(unsafe.Pointer(rsa))
373+ sa := new(SockaddrInet6)
374+ p := (*[2]byte)(unsafe.Pointer(&pp.Port))
375+ sa.Port = int(p[0])<<8 + int(p[1])
376+ sa.ZoneId = pp.Scope_id
377+ for i := 0; i < len(sa.Addr); i++ {
378+ sa.Addr[i] = pp.Addr[i]
379+ }
380+ return sa, nil
381+ }
382+ return nil, EAFNOSUPPORT
383+}
384+
385+func Accept(fd int) (nfd int, sa Sockaddr, err error) {
386+ var rsa RawSockaddrAny
387+ var len _Socklen = SizeofSockaddrAny
388+ nfd, err = accept(fd, &rsa, &len)
389+ if err != nil {
390+ return
391+ }
392+ // TODO(neeilan): Remove 0 in call
393+ sa, err = anyToSockaddr(0, &rsa)
394+ if err != nil {
395+ Close(nfd)
396+ nfd = 0
397+ }
398+ return
399+}
400+
401+func Accept4(fd int, flags int) (nfd int, sa Sockaddr, err error) {
402+ var rsa RawSockaddrAny
403+ var len _Socklen = SizeofSockaddrAny
404+ nfd, err = accept4(fd, &rsa, &len, flags)
405+ if err != nil {
406+ return
407+ }
408+ if len > SizeofSockaddrAny {
409+ panic("RawSockaddrAny too small")
410+ }
411+ // TODO(neeilan): Remove 0 in call
412+ sa, err = anyToSockaddr(0, &rsa)
413+ if err != nil {
414+ Close(nfd)
415+ nfd = 0
416+ }
417+ return
418+}
419+
420+func Ctermid() (tty string, err error) {
421+ var termdev [1025]byte
422+ runtime.EnterSyscall()
423+ r0, err2, err1 := CallLeFuncWithPtrReturn(GetZosLibVec()+SYS___CTERMID_A<<4, uintptr(unsafe.Pointer(&termdev[0])))
424+ runtime.ExitSyscall()
425+ if r0 == 0 {
426+ return "", fmt.Errorf("%s (errno2=0x%x)\n", err1.Error(), err2)
427+ }
428+ s := string(termdev[:])
429+ idx := strings.Index(s, string(rune(0)))
430+ if idx == -1 {
431+ tty = s
432+ } else {
433+ tty = s[:idx]
434+ }
435+ return
436+}
437+
438+func (iov *Iovec) SetLen(length int) {
439+ iov.Len = uint64(length)
440+}
441+
442+func (msghdr *Msghdr) SetControllen(length int) {
443+ msghdr.Controllen = int32(length)
444+}
445+
446+func (cmsg *Cmsghdr) SetLen(length int) {
447+ cmsg.Len = int32(length)
448+}
449+
450+//sys fcntl(fd int, cmd int, arg int) (val int, err error)
451+//sys Flistxattr(fd int, dest []byte) (sz int, err error) = SYS___FLISTXATTR_A
452+//sys Fremovexattr(fd int, attr string) (err error) = SYS___FREMOVEXATTR_A
453+//sys read(fd int, p []byte) (n int, err error)
454+//sys write(fd int, p []byte) (n int, err error)
455+
456+//sys Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) = SYS___FGETXATTR_A
457+//sys Fsetxattr(fd int, attr string, data []byte, flag int) (err error) = SYS___FSETXATTR_A
458+
459+//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) = SYS___ACCEPT_A
460+//sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) = SYS___ACCEPT4_A
461+//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) = SYS___BIND_A
462+//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) = SYS___CONNECT_A
463+//sysnb getgroups(n int, list *_Gid_t) (nn int, err error)
464+//sysnb setgroups(n int, list *_Gid_t) (err error)
465+//sys getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error)
466+//sys setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error)
467+//sysnb socket(domain int, typ int, proto int) (fd int, err error)
468+//sysnb socketpair(domain int, typ int, proto int, fd *[2]int32) (err error)
469+//sysnb getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) = SYS___GETPEERNAME_A
470+//sysnb getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) = SYS___GETSOCKNAME_A
471+//sys Removexattr(path string, attr string) (err error) = SYS___REMOVEXATTR_A
472+//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) = SYS___RECVFROM_A
473+//sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) = SYS___SENDTO_A
474+//sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) = SYS___RECVMSG_A
475+//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) = SYS___SENDMSG_A
476+//sys mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) = SYS_MMAP
477+//sys munmap(addr uintptr, length uintptr) (err error) = SYS_MUNMAP
478+//sys ioctl(fd int, req int, arg uintptr) (err error) = SYS_IOCTL
479+//sys ioctlPtr(fd int, req int, arg unsafe.Pointer) (err error) = SYS_IOCTL
480+//sys shmat(id int, addr uintptr, flag int) (ret uintptr, err error) = SYS_SHMAT
481+//sys shmctl(id int, cmd int, buf *SysvShmDesc) (result int, err error) = SYS_SHMCTL64
482+//sys shmdt(addr uintptr) (err error) = SYS_SHMDT
483+//sys shmget(key int, size int, flag int) (id int, err error) = SYS_SHMGET
484+
485+//sys Access(path string, mode uint32) (err error) = SYS___ACCESS_A
486+//sys Chdir(path string) (err error) = SYS___CHDIR_A
487+//sys Chown(path string, uid int, gid int) (err error) = SYS___CHOWN_A
488+//sys Chmod(path string, mode uint32) (err error) = SYS___CHMOD_A
489+//sys Creat(path string, mode uint32) (fd int, err error) = SYS___CREAT_A
490+//sys Dup(oldfd int) (fd int, err error)
491+//sys Dup2(oldfd int, newfd int) (err error)
492+//sys Dup3(oldfd int, newfd int, flags int) (err error) = SYS_DUP3
493+//sys Dirfd(dirp uintptr) (fd int, err error) = SYS_DIRFD
494+//sys EpollCreate(size int) (fd int, err error) = SYS_EPOLL_CREATE
495+//sys EpollCreate1(flags int) (fd int, err error) = SYS_EPOLL_CREATE1
496+//sys EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) = SYS_EPOLL_CTL
497+//sys EpollPwait(epfd int, events []EpollEvent, msec int, sigmask *int) (n int, err error) = SYS_EPOLL_PWAIT
498+//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) = SYS_EPOLL_WAIT
499+//sys Errno2() (er2 int) = SYS___ERRNO2
500+//sys Eventfd(initval uint, flags int) (fd int, err error) = SYS_EVENTFD
501+//sys Exit(code int)
502+//sys Faccessat(dirfd int, path string, mode uint32, flags int) (err error) = SYS___FACCESSAT_A
503+
504+func Faccessat2(dirfd int, path string, mode uint32, flags int) (err error) {
505+ return Faccessat(dirfd, path, mode, flags)
506+}
507+
508+//sys Fchdir(fd int) (err error)
509+//sys Fchmod(fd int, mode uint32) (err error)
510+//sys Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) = SYS___FCHMODAT_A
511+//sys Fchown(fd int, uid int, gid int) (err error)
512+//sys Fchownat(fd int, path string, uid int, gid int, flags int) (err error) = SYS___FCHOWNAT_A
513+//sys FcntlInt(fd uintptr, cmd int, arg int) (retval int, err error) = SYS_FCNTL
514+//sys Fdatasync(fd int) (err error) = SYS_FDATASYNC
515+//sys fstat(fd int, stat *Stat_LE_t) (err error)
516+//sys fstatat(dirfd int, path string, stat *Stat_LE_t, flags int) (err error) = SYS___FSTATAT_A
517+
518+func Fstat(fd int, stat *Stat_t) (err error) {
519+ var statLE Stat_LE_t
520+ err = fstat(fd, &statLE)
521+ copyStat(stat, &statLE)
522+ return
523+}
524+
525+func Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) {
526+ var statLE Stat_LE_t
527+ err = fstatat(dirfd, path, &statLE, flags)
528+ copyStat(stat, &statLE)
529+ return
530+}
531+
532+func impl_Getxattr(path string, attr string, dest []byte) (sz int, err error) {
533+ var _p0 *byte
534+ _p0, err = BytePtrFromString(path)
535+ if err != nil {
536+ return
537+ }
538+ var _p1 *byte
539+ _p1, err = BytePtrFromString(attr)
540+ if err != nil {
541+ return
542+ }
543+ var _p2 unsafe.Pointer
544+ if len(dest) > 0 {
545+ _p2 = unsafe.Pointer(&dest[0])
546+ } else {
547+ _p2 = unsafe.Pointer(&_zero)
548+ }
549+ r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___GETXATTR_A<<4, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)))
550+ sz = int(r0)
551+ if int64(r0) == -1 {
552+ err = errnoErr2(e1, e2)
553+ }
554+ return
555+}
556+
557+//go:nosplit
558+func get_GetxattrAddr() *(func(path string, attr string, dest []byte) (sz int, err error))
559+
560+var Getxattr = enter_Getxattr
561+
562+func enter_Getxattr(path string, attr string, dest []byte) (sz int, err error) {
563+ funcref := get_GetxattrAddr()
564+ if validGetxattr() {
565+ *funcref = impl_Getxattr
566+ } else {
567+ *funcref = error_Getxattr
568+ }
569+ return (*funcref)(path, attr, dest)
570+}
571+
572+func error_Getxattr(path string, attr string, dest []byte) (sz int, err error) {
573+ return -1, ENOSYS
574+}
575+
576+func validGetxattr() bool {
577+ if funcptrtest(GetZosLibVec()+SYS___GETXATTR_A<<4, "") == 0 {
578+ if name, err := getLeFuncName(GetZosLibVec() + SYS___GETXATTR_A<<4); err == nil {
579+ return name == "__getxattr_a"
580+ }
581+ }
582+ return false
583+}
584+
585+//sys Lgetxattr(link string, attr string, dest []byte) (sz int, err error) = SYS___LGETXATTR_A
586+//sys Lsetxattr(path string, attr string, data []byte, flags int) (err error) = SYS___LSETXATTR_A
587+
588+func impl_Setxattr(path string, attr string, data []byte, flags int) (err error) {
589+ var _p0 *byte
590+ _p0, err = BytePtrFromString(path)
591+ if err != nil {
592+ return
593+ }
594+ var _p1 *byte
595+ _p1, err = BytePtrFromString(attr)
596+ if err != nil {
597+ return
598+ }
599+ var _p2 unsafe.Pointer
600+ if len(data) > 0 {
601+ _p2 = unsafe.Pointer(&data[0])
602+ } else {
603+ _p2 = unsafe.Pointer(&_zero)
604+ }
605+ r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___SETXATTR_A<<4, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags))
606+ if int64(r0) == -1 {
607+ err = errnoErr2(e1, e2)
608+ }
609+ return
610+}
611+
612+//go:nosplit
613+func get_SetxattrAddr() *(func(path string, attr string, data []byte, flags int) (err error))
614+
615+var Setxattr = enter_Setxattr
616+
617+func enter_Setxattr(path string, attr string, data []byte, flags int) (err error) {
618+ funcref := get_SetxattrAddr()
619+ if validSetxattr() {
620+ *funcref = impl_Setxattr
621+ } else {
622+ *funcref = error_Setxattr
623+ }
624+ return (*funcref)(path, attr, data, flags)
625+}
626+
627+func error_Setxattr(path string, attr string, data []byte, flags int) (err error) {
628+ return ENOSYS
629+}
630+
631+func validSetxattr() bool {
632+ if funcptrtest(GetZosLibVec()+SYS___SETXATTR_A<<4, "") == 0 {
633+ if name, err := getLeFuncName(GetZosLibVec() + SYS___SETXATTR_A<<4); err == nil {
634+ return name == "__setxattr_a"
635+ }
636+ }
637+ return false
638+}
639+
640+//sys Fstatfs(fd int, buf *Statfs_t) (err error) = SYS_FSTATFS
641+//sys Fstatvfs(fd int, stat *Statvfs_t) (err error) = SYS_FSTATVFS
642+//sys Fsync(fd int) (err error)
643+//sys Futimes(fd int, tv []Timeval) (err error) = SYS_FUTIMES
644+//sys Futimesat(dirfd int, path string, tv []Timeval) (err error) = SYS___FUTIMESAT_A
645+//sys Ftruncate(fd int, length int64) (err error)
646+//sys Getrandom(buf []byte, flags int) (n int, err error) = SYS_GETRANDOM
647+//sys InotifyInit() (fd int, err error) = SYS_INOTIFY_INIT
648+//sys InotifyInit1(flags int) (fd int, err error) = SYS_INOTIFY_INIT1
649+//sys InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) = SYS___INOTIFY_ADD_WATCH_A
650+//sys InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) = SYS_INOTIFY_RM_WATCH
651+//sys Listxattr(path string, dest []byte) (sz int, err error) = SYS___LISTXATTR_A
652+//sys Llistxattr(path string, dest []byte) (sz int, err error) = SYS___LLISTXATTR_A
653+//sys Lremovexattr(path string, attr string) (err error) = SYS___LREMOVEXATTR_A
654+//sys Lutimes(path string, tv []Timeval) (err error) = SYS___LUTIMES_A
655+//sys Mprotect(b []byte, prot int) (err error) = SYS_MPROTECT
656+//sys Msync(b []byte, flags int) (err error) = SYS_MSYNC
657+//sys Console2(cmsg *ConsMsg2, modstr *byte, concmd *uint32) (err error) = SYS___CONSOLE2
658+
659+// Pipe2 begin
660+
661+//go:nosplit
662+func getPipe2Addr() *(func([]int, int) error)
663+
664+var Pipe2 = pipe2Enter
665+
666+func pipe2Enter(p []int, flags int) (err error) {
667+ if funcptrtest(GetZosLibVec()+SYS_PIPE2<<4, "") == 0 {
668+ *getPipe2Addr() = pipe2Impl
669+ } else {
670+ *getPipe2Addr() = pipe2Error
671+ }
672+ return (*getPipe2Addr())(p, flags)
673+}
674+
675+func pipe2Impl(p []int, flags int) (err error) {
676+ var pp [2]_C_int
677+ r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_PIPE2<<4, uintptr(unsafe.Pointer(&pp[0])), uintptr(flags))
678+ if int64(r0) == -1 {
679+ err = errnoErr2(e1, e2)
680+ } else {
681+ p[0] = int(pp[0])
682+ p[1] = int(pp[1])
683+ }
684+ return
685+}
686+func pipe2Error(p []int, flags int) (err error) {
687+ return fmt.Errorf("Pipe2 is not available on this system")
688+}
689+
690+// Pipe2 end
691+
692+//sys Poll(fds []PollFd, timeout int) (n int, err error) = SYS_POLL
693+
694+func Readdir(dir uintptr) (dirent *Dirent, err error) {
695+ runtime.EnterSyscall()
696+ r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___READDIR_A<<4, uintptr(dir))
697+ runtime.ExitSyscall()
698+ dirent = (*Dirent)(unsafe.Pointer(r0))
699+ if int64(r0) == -1 {
700+ err = errnoErr2(e1, e2)
701+ }
702+ return
703+}
704+
705+//sys Readdir_r(dirp uintptr, entry *direntLE, result **direntLE) (err error) = SYS___READDIR_R_A
706+//sys Statfs(path string, buf *Statfs_t) (err error) = SYS___STATFS_A
707+//sys Syncfs(fd int) (err error) = SYS_SYNCFS
708+//sys Times(tms *Tms) (ticks uintptr, err error) = SYS_TIMES
709+//sys W_Getmntent(buff *byte, size int) (lastsys int, err error) = SYS_W_GETMNTENT
710+//sys W_Getmntent_A(buff *byte, size int) (lastsys int, err error) = SYS___W_GETMNTENT_A
711+
712+//sys mount_LE(path string, filesystem string, fstype string, mtm uint32, parmlen int32, parm string) (err error) = SYS___MOUNT_A
713+//sys unmount_LE(filesystem string, mtm int) (err error) = SYS___UMOUNT_A
714+//sys Chroot(path string) (err error) = SYS___CHROOT_A
715+//sys Select(nmsgsfds int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (ret int, err error) = SYS_SELECT
716+//sysnb Uname(buf *Utsname) (err error) = SYS_____OSNAME_A
717+//sys Unshare(flags int) (err error) = SYS_UNSHARE
718+
719+func Ptsname(fd int) (name string, err error) {
720+ runtime.EnterSyscall()
721+ r0, e2, e1 := CallLeFuncWithPtrReturn(GetZosLibVec()+SYS___PTSNAME_A<<4, uintptr(fd))
722+ runtime.ExitSyscall()
723+ if r0 == 0 {
724+ err = errnoErr2(e1, e2)
725+ } else {
726+ name = u2s(unsafe.Pointer(r0))
727+ }
728+ return
729+}
730+
731+func u2s(cstr unsafe.Pointer) string {
732+ str := (*[1024]uint8)(cstr)
733+ i := 0
734+ for str[i] != 0 {
735+ i++
736+ }
737+ return string(str[:i])
738+}
739+
740+func Close(fd int) (err error) {
741+ runtime.EnterSyscall()
742+ r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_CLOSE<<4, uintptr(fd))
743+ runtime.ExitSyscall()
744+ for i := 0; e1 == EAGAIN && i < 10; i++ {
745+ runtime.EnterSyscall()
746+ CallLeFuncWithErr(GetZosLibVec()+SYS_USLEEP<<4, uintptr(10))
747+ runtime.ExitSyscall()
748+ runtime.EnterSyscall()
749+ r0, e2, e1 = CallLeFuncWithErr(GetZosLibVec()+SYS_CLOSE<<4, uintptr(fd))
750+ runtime.ExitSyscall()
751+ }
752+ if r0 != 0 {
753+ err = errnoErr2(e1, e2)
754+ }
755+ return
756+}
757+
758+// Dummy function: there are no semantics for Madvise on z/OS
759+func Madvise(b []byte, advice int) (err error) {
760+ return
761+}
762+
763+func Mmap(fd int, offset int64, length int, prot int, flags int) (data []byte, err error) {
764+ return mapper.Mmap(fd, offset, length, prot, flags)
765+}
766+
767+func Munmap(b []byte) (err error) {
768+ return mapper.Munmap(b)
769+}
770+
771+func MmapPtr(fd int, offset int64, addr unsafe.Pointer, length uintptr, prot int, flags int) (ret unsafe.Pointer, err error) {
772+ xaddr, err := mapper.mmap(uintptr(addr), length, prot, flags, fd, offset)
773+ return unsafe.Pointer(xaddr), err
774+}
775+
776+func MunmapPtr(addr unsafe.Pointer, length uintptr) (err error) {
777+ return mapper.munmap(uintptr(addr), length)
778+}
779+
780+//sys Gethostname(buf []byte) (err error) = SYS___GETHOSTNAME_A
781+//sysnb Getgid() (gid int)
782+//sysnb Getpid() (pid int)
783+//sysnb Getpgid(pid int) (pgid int, err error) = SYS_GETPGID
784+
785+func Getpgrp() (pid int) {
786+ pid, _ = Getpgid(0)
787+ return
788+}
789+
790+//sysnb Getppid() (pid int)
791+//sys Getpriority(which int, who int) (prio int, err error)
792+//sysnb Getrlimit(resource int, rlim *Rlimit) (err error) = SYS_GETRLIMIT
793+
794+//sysnb getrusage(who int, rusage *rusage_zos) (err error) = SYS_GETRUSAGE
795+
796+func Getrusage(who int, rusage *Rusage) (err error) {
797+ var ruz rusage_zos
798+ err = getrusage(who, &ruz)
799+ //Only the first two fields of Rusage are set
800+ rusage.Utime.Sec = ruz.Utime.Sec
801+ rusage.Utime.Usec = int64(ruz.Utime.Usec)
802+ rusage.Stime.Sec = ruz.Stime.Sec
803+ rusage.Stime.Usec = int64(ruz.Stime.Usec)
804+ return
805+}
806+
807+//sys Getegid() (egid int) = SYS_GETEGID
808+//sys Geteuid() (euid int) = SYS_GETEUID
809+//sysnb Getsid(pid int) (sid int, err error) = SYS_GETSID
810+//sysnb Getuid() (uid int)
811+//sysnb Kill(pid int, sig Signal) (err error)
812+//sys Lchown(path string, uid int, gid int) (err error) = SYS___LCHOWN_A
813+//sys Link(path string, link string) (err error) = SYS___LINK_A
814+//sys Linkat(oldDirFd int, oldPath string, newDirFd int, newPath string, flags int) (err error) = SYS___LINKAT_A
815+//sys Listen(s int, n int) (err error)
816+//sys lstat(path string, stat *Stat_LE_t) (err error) = SYS___LSTAT_A
817+
818+func Lstat(path string, stat *Stat_t) (err error) {
819+ var statLE Stat_LE_t
820+ err = lstat(path, &statLE)
821+ copyStat(stat, &statLE)
822+ return
823+}
824+
825+// for checking symlinks begins with $VERSION/ $SYSNAME/ $SYSSYMR/ $SYSSYMA/
826+func isSpecialPath(path []byte) (v bool) {
827+ var special = [4][8]byte{
828+ {'V', 'E', 'R', 'S', 'I', 'O', 'N', '/'},
829+ {'S', 'Y', 'S', 'N', 'A', 'M', 'E', '/'},
830+ {'S', 'Y', 'S', 'S', 'Y', 'M', 'R', '/'},
831+ {'S', 'Y', 'S', 'S', 'Y', 'M', 'A', '/'}}
832+
833+ var i, j int
834+ for i = 0; i < len(special); i++ {
835+ for j = 0; j < len(special[i]); j++ {
836+ if path[j] != special[i][j] {
837+ break
838+ }
839+ }
840+ if j == len(special[i]) {
841+ return true
842+ }
843+ }
844+ return false
845+}
846+
847+func realpath(srcpath string, abspath []byte) (pathlen int, errno int) {
848+ var source [1024]byte
849+ copy(source[:], srcpath)
850+ source[len(srcpath)] = 0
851+ ret := runtime.CallLeFuncByPtr(runtime.XplinkLibvec+SYS___REALPATH_A<<4, //__realpath_a()
852+ []uintptr{uintptr(unsafe.Pointer(&source[0])),
853+ uintptr(unsafe.Pointer(&abspath[0]))})
854+ if ret != 0 {
855+ index := bytes.IndexByte(abspath[:], byte(0))
856+ if index != -1 {
857+ return index, 0
858+ }
859+ } else {
860+ errptr := (*int)(unsafe.Pointer(runtime.CallLeFuncByPtr(runtime.XplinkLibvec+SYS___ERRNO<<4, []uintptr{}))) //__errno()
861+ return 0, *errptr
862+ }
863+ return 0, 245 // EBADDATA 245
864+}
865+
866+func Readlink(path string, buf []byte) (n int, err error) {
867+ var _p0 *byte
868+ _p0, err = BytePtrFromString(path)
869+ if err != nil {
870+ return
871+ }
872+ var _p1 unsafe.Pointer
873+ if len(buf) > 0 {
874+ _p1 = unsafe.Pointer(&buf[0])
875+ } else {
876+ _p1 = unsafe.Pointer(&_zero)
877+ }
878+ n = int(runtime.CallLeFuncByPtr(runtime.XplinkLibvec+SYS___READLINK_A<<4,
879+ []uintptr{uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))}))
880+ runtime.KeepAlive(unsafe.Pointer(_p0))
881+ if n == -1 {
882+ value := *(*int32)(unsafe.Pointer(runtime.CallLeFuncByPtr(runtime.XplinkLibvec+SYS___ERRNO<<4, []uintptr{})))
883+ err = errnoErr(Errno(value))
884+ } else {
885+ if buf[0] == '$' {
886+ if isSpecialPath(buf[1:9]) {
887+ cnt, err1 := realpath(path, buf)
888+ if err1 == 0 {
889+ n = cnt
890+ }
891+ }
892+ }
893+ }
894+ return
895+}
896+
897+func impl_Readlinkat(dirfd int, path string, buf []byte) (n int, err error) {
898+ var _p0 *byte
899+ _p0, err = BytePtrFromString(path)
900+ if err != nil {
901+ return
902+ }
903+ var _p1 unsafe.Pointer
904+ if len(buf) > 0 {
905+ _p1 = unsafe.Pointer(&buf[0])
906+ } else {
907+ _p1 = unsafe.Pointer(&_zero)
908+ }
909+ runtime.EnterSyscall()
910+ r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___READLINKAT_A<<4, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)))
911+ runtime.ExitSyscall()
912+ n = int(r0)
913+ if int64(r0) == -1 {
914+ err = errnoErr2(e1, e2)
915+ return n, err
916+ } else {
917+ if buf[0] == '$' {
918+ if isSpecialPath(buf[1:9]) {
919+ cnt, err1 := realpath(path, buf)
920+ if err1 == 0 {
921+ n = cnt
922+ }
923+ }
924+ }
925+ }
926+ return
927+}
928+
929+//go:nosplit
930+func get_ReadlinkatAddr() *(func(dirfd int, path string, buf []byte) (n int, err error))
931+
932+var Readlinkat = enter_Readlinkat
933+
934+func enter_Readlinkat(dirfd int, path string, buf []byte) (n int, err error) {
935+ funcref := get_ReadlinkatAddr()
936+ if funcptrtest(GetZosLibVec()+SYS___READLINKAT_A<<4, "") == 0 {
937+ *funcref = impl_Readlinkat
938+ } else {
939+ *funcref = error_Readlinkat
940+ }
941+ return (*funcref)(dirfd, path, buf)
942+}
943+
944+func error_Readlinkat(dirfd int, path string, buf []byte) (n int, err error) {
945+ n = -1
946+ err = ENOSYS
947+ return
948+}
949+
950+//sys Mkdir(path string, mode uint32) (err error) = SYS___MKDIR_A
951+//sys Mkdirat(dirfd int, path string, mode uint32) (err error) = SYS___MKDIRAT_A
952+//sys Mkfifo(path string, mode uint32) (err error) = SYS___MKFIFO_A
953+//sys Mknod(path string, mode uint32, dev int) (err error) = SYS___MKNOD_A
954+//sys Mknodat(dirfd int, path string, mode uint32, dev int) (err error) = SYS___MKNODAT_A
955+//sys PivotRoot(newroot string, oldroot string) (err error) = SYS___PIVOT_ROOT_A
956+//sys Pread(fd int, p []byte, offset int64) (n int, err error)
957+//sys Pwrite(fd int, p []byte, offset int64) (n int, err error)
958+//sys Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) = SYS___PRCTL_A
959+//sysnb Prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) = SYS_PRLIMIT
960+//sys Rename(from string, to string) (err error) = SYS___RENAME_A
961+//sys Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) = SYS___RENAMEAT_A
962+//sys Renameat2(olddirfd int, oldpath string, newdirfd int, newpath string, flags uint) (err error) = SYS___RENAMEAT2_A
963+//sys Rmdir(path string) (err error) = SYS___RMDIR_A
964+//sys Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK
965+//sys Setegid(egid int) (err error) = SYS_SETEGID
966+//sys Seteuid(euid int) (err error) = SYS_SETEUID
967+//sys Sethostname(p []byte) (err error) = SYS___SETHOSTNAME_A
968+//sys Setns(fd int, nstype int) (err error) = SYS_SETNS
969+//sys Setpriority(which int, who int, prio int) (err error)
970+//sysnb Setpgid(pid int, pgid int) (err error) = SYS_SETPGID
971+//sysnb Setrlimit(resource int, lim *Rlimit) (err error)
972+//sysnb Setregid(rgid int, egid int) (err error) = SYS_SETREGID
973+//sysnb Setreuid(ruid int, euid int) (err error) = SYS_SETREUID
974+//sysnb Setsid() (pid int, err error) = SYS_SETSID
975+//sys Setuid(uid int) (err error) = SYS_SETUID
976+//sys Setgid(uid int) (err error) = SYS_SETGID
977+//sys Shutdown(fd int, how int) (err error)
978+//sys stat(path string, statLE *Stat_LE_t) (err error) = SYS___STAT_A
979+
980+func Stat(path string, sta *Stat_t) (err error) {
981+ var statLE Stat_LE_t
982+ err = stat(path, &statLE)
983+ copyStat(sta, &statLE)
984+ return
985+}
986+
987+//sys Symlink(path string, link string) (err error) = SYS___SYMLINK_A
988+//sys Symlinkat(oldPath string, dirfd int, newPath string) (err error) = SYS___SYMLINKAT_A
989+//sys Sync() = SYS_SYNC
990+//sys Truncate(path string, length int64) (err error) = SYS___TRUNCATE_A
991+//sys Tcgetattr(fildes int, termptr *Termios) (err error) = SYS_TCGETATTR
992+//sys Tcsetattr(fildes int, when int, termptr *Termios) (err error) = SYS_TCSETATTR
993+//sys Umask(mask int) (oldmask int)
994+//sys Unlink(path string) (err error) = SYS___UNLINK_A
995+//sys Unlinkat(dirfd int, path string, flags int) (err error) = SYS___UNLINKAT_A
996+//sys Utime(path string, utim *Utimbuf) (err error) = SYS___UTIME_A
997+
998+//sys open(path string, mode int, perm uint32) (fd int, err error) = SYS___OPEN_A
999+
1000+func Open(path string, mode int, perm uint32) (fd int, err error) {
1001+ if mode&O_ACCMODE == 0 {
1002+ mode |= O_RDONLY
1003+ }
1004+ return open(path, mode, perm)
1005+}
1006+
1007+//sys openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) = SYS___OPENAT_A
1008+
1009+func Openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) {
1010+ if flags&O_ACCMODE == 0 {
1011+ flags |= O_RDONLY
1012+ }
1013+ return openat(dirfd, path, flags, mode)
1014+}
1015+
1016+//sys openat2(dirfd int, path string, open_how *OpenHow, size int) (fd int, err error) = SYS___OPENAT2_A
1017+
1018+func Openat2(dirfd int, path string, how *OpenHow) (fd int, err error) {
1019+ if how.Flags&O_ACCMODE == 0 {
1020+ how.Flags |= O_RDONLY
1021+ }
1022+ return openat2(dirfd, path, how, SizeofOpenHow)
1023+}
1024+
1025+func ZosFdToPath(dirfd int) (path string, err error) {
1026+ var buffer [1024]byte
1027+ runtime.EnterSyscall()
1028+ ret, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_W_IOCTL<<4, uintptr(dirfd), 17, 1024, uintptr(unsafe.Pointer(&buffer[0])))
1029+ runtime.ExitSyscall()
1030+ if ret == 0 {
1031+ zb := bytes.IndexByte(buffer[:], 0)
1032+ if zb == -1 {
1033+ zb = len(buffer)
1034+ }
1035+ CallLeFuncWithErr(GetZosLibVec()+SYS___E2A_L<<4, uintptr(unsafe.Pointer(&buffer[0])), uintptr(zb))
1036+ return string(buffer[:zb]), nil
1037+ }
1038+ return "", errnoErr2(e1, e2)
1039+}
1040+
1041+//sys remove(path string) (err error)
1042+
1043+func Remove(path string) error {
1044+ return remove(path)
1045+}
1046+
1047+const ImplementsGetwd = true
1048+
1049+func Getcwd(buf []byte) (n int, err error) {
1050+ var p unsafe.Pointer
1051+ if len(buf) > 0 {
1052+ p = unsafe.Pointer(&buf[0])
1053+ } else {
1054+ p = unsafe.Pointer(&_zero)
1055+ }
1056+ runtime.EnterSyscall()
1057+ r0, e2, e1 := CallLeFuncWithPtrReturn(GetZosLibVec()+SYS___GETCWD_A<<4, uintptr(p), uintptr(len(buf)))
1058+ runtime.ExitSyscall()
1059+ n = clen(buf) + 1
1060+ if r0 == 0 {
1061+ err = errnoErr2(e1, e2)
1062+ }
1063+ return
1064+}
1065+
1066+func Getwd() (wd string, err error) {
1067+ var buf [PathMax]byte
1068+ n, err := Getcwd(buf[0:])
1069+ if err != nil {
1070+ return "", err
1071+ }
1072+ // Getcwd returns the number of bytes written to buf, including the NUL.
1073+ if n < 1 || n > len(buf) || buf[n-1] != 0 {
1074+ return "", EINVAL
1075+ }
1076+ return string(buf[0 : n-1]), nil
1077+}
1078+
1079+func Getgroups() (gids []int, err error) {
1080+ n, err := getgroups(0, nil)
1081+ if err != nil {
1082+ return nil, err
1083+ }
1084+ if n == 0 {
1085+ return nil, nil
1086+ }
1087+
1088+ // Sanity check group count. Max is 1<<16 on Linux.
1089+ if n < 0 || n > 1<<20 {
1090+ return nil, EINVAL
1091+ }
1092+
1093+ a := make([]_Gid_t, n)
1094+ n, err = getgroups(n, &a[0])
1095+ if err != nil {
1096+ return nil, err
1097+ }
1098+ gids = make([]int, n)
1099+ for i, v := range a[0:n] {
1100+ gids[i] = int(v)
1101+ }
1102+ return
1103+}
1104+
1105+func Setgroups(gids []int) (err error) {
1106+ if len(gids) == 0 {
1107+ return setgroups(0, nil)
1108+ }
1109+
1110+ a := make([]_Gid_t, len(gids))
1111+ for i, v := range gids {
1112+ a[i] = _Gid_t(v)
1113+ }
1114+ return setgroups(len(a), &a[0])
1115+}
1116+
1117+func gettid() uint64
1118+
1119+func Gettid() (tid int) {
1120+ return int(gettid())
1121+}
1122+
1123+type WaitStatus uint32
1124+
1125+// Wait status is 7 bits at bottom, either 0 (exited),
1126+// 0x7F (stopped), or a signal number that caused an exit.
1127+// The 0x80 bit is whether there was a core dump.
1128+// An extra number (exit code, signal causing a stop)
1129+// is in the high bits. At least that's the idea.
1130+// There are various irregularities. For example, the
1131+// "continued" status is 0xFFFF, distinguishing itself
1132+// from stopped via the core dump bit.
1133+
1134+const (
1135+ mask = 0x7F
1136+ core = 0x80
1137+ exited = 0x00
1138+ stopped = 0x7F
1139+ shift = 8
1140+)
1141+
1142+func (w WaitStatus) Exited() bool { return w&mask == exited }
1143+
1144+func (w WaitStatus) Signaled() bool { return w&mask != stopped && w&mask != exited }
1145+
1146+func (w WaitStatus) Stopped() bool { return w&0xFF == stopped }
1147+
1148+func (w WaitStatus) Continued() bool { return w == 0xFFFF }
1149+
1150+func (w WaitStatus) CoreDump() bool { return w.Signaled() && w&core != 0 }
1151+
1152+func (w WaitStatus) ExitStatus() int {
1153+ if !w.Exited() {
1154+ return -1
1155+ }
1156+ return int(w>>shift) & 0xFF
1157+}
1158+
1159+func (w WaitStatus) Signal() Signal {
1160+ if !w.Signaled() {
1161+ return -1
1162+ }
1163+ return Signal(w & mask)
1164+}
1165+
1166+func (w WaitStatus) StopSignal() Signal {
1167+ if !w.Stopped() {
1168+ return -1
1169+ }
1170+ return Signal(w>>shift) & 0xFF
1171+}
1172+
1173+func (w WaitStatus) TrapCause() int { return -1 }
1174+
1175+//sys waitid(idType int, id int, info *Siginfo, options int) (err error)
1176+
1177+func Waitid(idType int, id int, info *Siginfo, options int, rusage *Rusage) (err error) {
1178+ return waitid(idType, id, info, options)
1179+}
1180+
1181+//sys waitpid(pid int, wstatus *_C_int, options int) (wpid int, err error)
1182+
1183+func impl_Wait4(pid int, wstatus *WaitStatus, options int, rusage *Rusage) (wpid int, err error) {
1184+ runtime.EnterSyscall()
1185+ r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_WAIT4<<4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)))
1186+ runtime.ExitSyscall()
1187+ wpid = int(r0)
1188+ if int64(r0) == -1 {
1189+ err = errnoErr2(e1, e2)
1190+ }
1191+ return
1192+}
1193+
1194+//go:nosplit
1195+func get_Wait4Addr() *(func(pid int, wstatus *WaitStatus, options int, rusage *Rusage) (wpid int, err error))
1196+
1197+var Wait4 = enter_Wait4
1198+
1199+func enter_Wait4(pid int, wstatus *WaitStatus, options int, rusage *Rusage) (wpid int, err error) {
1200+ funcref := get_Wait4Addr()
1201+ if funcptrtest(GetZosLibVec()+SYS_WAIT4<<4, "") == 0 {
1202+ *funcref = impl_Wait4
1203+ } else {
1204+ *funcref = legacyWait4
1205+ }
1206+ return (*funcref)(pid, wstatus, options, rusage)
1207+}
1208+
1209+func legacyWait4(pid int, wstatus *WaitStatus, options int, rusage *Rusage) (wpid int, err error) {
1210+ // TODO(mundaym): z/OS doesn't have wait4. I don't think getrusage does what we want.
1211+ // At the moment rusage will not be touched.
1212+ var status _C_int
1213+ wpid, err = waitpid(pid, &status, options)
1214+ if wstatus != nil {
1215+ *wstatus = WaitStatus(status)
1216+ }
1217+ return
1218+}
1219+
1220+//sysnb gettimeofday(tv *timeval_zos) (err error)
1221+
1222+func Gettimeofday(tv *Timeval) (err error) {
1223+ var tvz timeval_zos
1224+ err = gettimeofday(&tvz)
1225+ tv.Sec = tvz.Sec
1226+ tv.Usec = int64(tvz.Usec)
1227+ return
1228+}
1229+
1230+func Time(t *Time_t) (tt Time_t, err error) {
1231+ var tv Timeval
1232+ err = Gettimeofday(&tv)
1233+ if err != nil {
1234+ return 0, err
1235+ }
1236+ if t != nil {
1237+ *t = Time_t(tv.Sec)
1238+ }
1239+ return Time_t(tv.Sec), nil
1240+}
1241+
1242+func setTimespec(sec, nsec int64) Timespec {
1243+ return Timespec{Sec: sec, Nsec: nsec}
1244+}
1245+
1246+func setTimeval(sec, usec int64) Timeval { //fix
1247+ return Timeval{Sec: sec, Usec: usec}
1248+}
1249+
1250+//sysnb pipe(p *[2]_C_int) (err error)
1251+
1252+func Pipe(p []int) (err error) {
1253+ if len(p) != 2 {
1254+ return EINVAL
1255+ }
1256+ var pp [2]_C_int
1257+ err = pipe(&pp)
1258+ p[0] = int(pp[0])
1259+ p[1] = int(pp[1])
1260+ return
1261+}
1262+
1263+//sys utimes(path string, timeval *[2]Timeval) (err error) = SYS___UTIMES_A
1264+
1265+func Utimes(path string, tv []Timeval) (err error) {
1266+ if tv == nil {
1267+ return utimes(path, nil)
1268+ }
1269+ if len(tv) != 2 {
1270+ return EINVAL
1271+ }
1272+ return utimes(path, (*[2]Timeval)(unsafe.Pointer(&tv[0])))
1273+}
1274+
1275+//sys utimensat(dirfd int, path string, ts *[2]Timespec, flags int) (err error) = SYS___UTIMENSAT_A
1276+
1277+func validUtimensat() bool {
1278+ if funcptrtest(GetZosLibVec()+SYS___UTIMENSAT_A<<4, "") == 0 {
1279+ if name, err := getLeFuncName(GetZosLibVec() + SYS___UTIMENSAT_A<<4); err == nil {
1280+ return name == "__utimensat_a"
1281+ }
1282+ }
1283+ return false
1284+}
1285+
1286+// Begin UtimesNano
1287+
1288+//go:nosplit
1289+func get_UtimesNanoAddr() *(func(path string, ts []Timespec) (err error))
1290+
1291+var UtimesNano = enter_UtimesNano
1292+
1293+func enter_UtimesNano(path string, ts []Timespec) (err error) {
1294+ funcref := get_UtimesNanoAddr()
1295+ if validUtimensat() {
1296+ *funcref = utimesNanoImpl
1297+ } else {
1298+ *funcref = legacyUtimesNano
1299+ }
1300+ return (*funcref)(path, ts)
1301+}
1302+
1303+func utimesNanoImpl(path string, ts []Timespec) (err error) {
1304+ if ts == nil {
1305+ return utimensat(AT_FDCWD, path, nil, 0)
1306+ }
1307+ if len(ts) != 2 {
1308+ return EINVAL
1309+ }
1310+ return utimensat(AT_FDCWD, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0)
1311+}
1312+
1313+func legacyUtimesNano(path string, ts []Timespec) (err error) {
1314+ if len(ts) != 2 {
1315+ return EINVAL
1316+ }
1317+ // Not as efficient as it could be because Timespec and
1318+ // Timeval have different types in the different OSes
1319+ tv := [2]Timeval{
1320+ NsecToTimeval(TimespecToNsec(ts[0])),
1321+ NsecToTimeval(TimespecToNsec(ts[1])),
1322+ }
1323+ return utimes(path, (*[2]Timeval)(unsafe.Pointer(&tv[0])))
1324+}
1325+
1326+// End UtimesNano
1327+
1328+// Begin UtimesNanoAt
1329+
1330+//go:nosplit
1331+func get_UtimesNanoAtAddr() *(func(dirfd int, path string, ts []Timespec, flags int) (err error))
1332+
1333+var UtimesNanoAt = enter_UtimesNanoAt
1334+
1335+func enter_UtimesNanoAt(dirfd int, path string, ts []Timespec, flags int) (err error) {
1336+ funcref := get_UtimesNanoAtAddr()
1337+ if validUtimensat() {
1338+ *funcref = utimesNanoAtImpl
1339+ } else {
1340+ *funcref = legacyUtimesNanoAt
1341+ }
1342+ return (*funcref)(dirfd, path, ts, flags)
1343+}
1344+
1345+func utimesNanoAtImpl(dirfd int, path string, ts []Timespec, flags int) (err error) {
1346+ if ts == nil {
1347+ return utimensat(dirfd, path, nil, flags)
1348+ }
1349+ if len(ts) != 2 {
1350+ return EINVAL
1351+ }
1352+ return utimensat(dirfd, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), flags)
1353+}
1354+
1355+func legacyUtimesNanoAt(dirfd int, path string, ts []Timespec, flags int) (err error) {
1356+ if path[0] != '/' {
1357+ dirPath, err := ZosFdToPath(dirfd)
1358+ if err != nil {
1359+ return err
1360+ }
1361+ path = dirPath + "/" + path
1362+ }
1363+ if flags == AT_SYMLINK_NOFOLLOW {
1364+ if len(ts) != 2 {
1365+ return EINVAL
1366+ }
1367+
1368+ if ts[0].Nsec >= 5e8 {
1369+ ts[0].Sec++
1370+ }
1371+ ts[0].Nsec = 0
1372+ if ts[1].Nsec >= 5e8 {
1373+ ts[1].Sec++
1374+ }
1375+ ts[1].Nsec = 0
1376+
1377+ // Not as efficient as it could be because Timespec and
1378+ // Timeval have different types in the different OSes
1379+ tv := []Timeval{
1380+ NsecToTimeval(TimespecToNsec(ts[0])),
1381+ NsecToTimeval(TimespecToNsec(ts[1])),
1382+ }
1383+ return Lutimes(path, tv)
1384+ }
1385+ return UtimesNano(path, ts)
1386+}
1387+
1388+// End UtimesNanoAt
1389+
1390+func Getsockname(fd int) (sa Sockaddr, err error) {
1391+ var rsa RawSockaddrAny
1392+ var len _Socklen = SizeofSockaddrAny
1393+ if err = getsockname(fd, &rsa, &len); err != nil {
1394+ return
1395+ }
1396+ // TODO(neeilan) : Remove this 0 ( added to get sys/unix compiling on z/OS )
1397+ return anyToSockaddr(0, &rsa)
1398+}
1399+
1400+const (
1401+ // identifier constants
1402+ nwmHeaderIdentifier = 0xd5e6d4c8
1403+ nwmFilterIdentifier = 0xd5e6d4c6
1404+ nwmTCPConnIdentifier = 0xd5e6d4c3
1405+ nwmRecHeaderIdentifier = 0xd5e6d4d9
1406+ nwmIPStatsIdentifier = 0xd5e6d4c9d7e2e340
1407+ nwmIPGStatsIdentifier = 0xd5e6d4c9d7c7e2e3
1408+ nwmTCPStatsIdentifier = 0xd5e6d4e3c3d7e2e3
1409+ nwmUDPStatsIdentifier = 0xd5e6d4e4c4d7e2e3
1410+ nwmICMPGStatsEntry = 0xd5e6d4c9c3d4d7c7
1411+ nwmICMPTStatsEntry = 0xd5e6d4c9c3d4d7e3
1412+
1413+ // nwmHeader constants
1414+ nwmVersion1 = 1
1415+ nwmVersion2 = 2
1416+ nwmCurrentVer = 2
1417+
1418+ nwmTCPConnType = 1
1419+ nwmGlobalStatsType = 14
1420+
1421+ // nwmFilter constants
1422+ nwmFilterLclAddrMask = 0x20000000 // Local address
1423+ nwmFilterSrcAddrMask = 0x20000000 // Source address
1424+ nwmFilterLclPortMask = 0x10000000 // Local port
1425+ nwmFilterSrcPortMask = 0x10000000 // Source port
1426+
1427+ // nwmConnEntry constants
1428+ nwmTCPStateClosed = 1
1429+ nwmTCPStateListen = 2
1430+ nwmTCPStateSynSent = 3
1431+ nwmTCPStateSynRcvd = 4
1432+ nwmTCPStateEstab = 5
1433+ nwmTCPStateFinWait1 = 6
1434+ nwmTCPStateFinWait2 = 7
1435+ nwmTCPStateClosWait = 8
1436+ nwmTCPStateLastAck = 9
1437+ nwmTCPStateClosing = 10
1438+ nwmTCPStateTimeWait = 11
1439+ nwmTCPStateDeletTCB = 12
1440+
1441+ // Existing constants on linux
1442+ BPF_TCP_CLOSE = 1
1443+ BPF_TCP_LISTEN = 2
1444+ BPF_TCP_SYN_SENT = 3
1445+ BPF_TCP_SYN_RECV = 4
1446+ BPF_TCP_ESTABLISHED = 5
1447+ BPF_TCP_FIN_WAIT1 = 6
1448+ BPF_TCP_FIN_WAIT2 = 7
1449+ BPF_TCP_CLOSE_WAIT = 8
1450+ BPF_TCP_LAST_ACK = 9
1451+ BPF_TCP_CLOSING = 10
1452+ BPF_TCP_TIME_WAIT = 11
1453+ BPF_TCP_NEW_SYN_RECV = -1
1454+ BPF_TCP_MAX_STATES = -2
1455+)
1456+
1457+type nwmTriplet struct {
1458+ offset uint32
1459+ length uint32
1460+ number uint32
1461+}
1462+
1463+type nwmQuadruplet struct {
1464+ offset uint32
1465+ length uint32
1466+ number uint32
1467+ match uint32
1468+}
1469+
1470+type nwmHeader struct {
1471+ ident uint32
1472+ length uint32
1473+ version uint16
1474+ nwmType uint16
1475+ bytesNeeded uint32
1476+ options uint32
1477+ _ [16]byte
1478+ inputDesc nwmTriplet
1479+ outputDesc nwmQuadruplet
1480+}
1481+
1482+type nwmFilter struct {
1483+ ident uint32
1484+ flags uint32
1485+ resourceName [8]byte
1486+ resourceId uint32
1487+ listenerId uint32
1488+ local [28]byte // union of sockaddr4 and sockaddr6
1489+ remote [28]byte // union of sockaddr4 and sockaddr6
1490+ _ uint16
1491+ _ uint16
1492+ asid uint16
1493+ _ [2]byte
1494+ tnLuName [8]byte
1495+ tnMonGrp uint32
1496+ tnAppl [8]byte
1497+ applData [40]byte
1498+ nInterface [16]byte
1499+ dVipa [16]byte
1500+ dVipaPfx uint16
1501+ dVipaPort uint16
1502+ dVipaFamily byte
1503+ _ [3]byte
1504+ destXCF [16]byte
1505+ destXCFPfx uint16
1506+ destXCFFamily byte
1507+ _ [1]byte
1508+ targIP [16]byte
1509+ targIPPfx uint16
1510+ targIPFamily byte
1511+ _ [1]byte
1512+ _ [20]byte
1513+}
1514+
1515+type nwmRecHeader struct {
1516+ ident uint32
1517+ length uint32
1518+ number byte
1519+ _ [3]byte
1520+}
1521+
1522+type nwmTCPStatsEntry struct {
1523+ ident uint64
1524+ currEstab uint32
1525+ activeOpened uint32
1526+ passiveOpened uint32
1527+ connClosed uint32
1528+ estabResets uint32
1529+ attemptFails uint32
1530+ passiveDrops uint32
1531+ timeWaitReused uint32
1532+ inSegs uint64
1533+ predictAck uint32
1534+ predictData uint32
1535+ inDupAck uint32
1536+ inBadSum uint32
1537+ inBadLen uint32
1538+ inShort uint32
1539+ inDiscOldTime uint32
1540+ inAllBeforeWin uint32
1541+ inSomeBeforeWin uint32
1542+ inAllAfterWin uint32
1543+ inSomeAfterWin uint32
1544+ inOutOfOrder uint32
1545+ inAfterClose uint32
1546+ inWinProbes uint32
1547+ inWinUpdates uint32
1548+ outWinUpdates uint32
1549+ outSegs uint64
1550+ outDelayAcks uint32
1551+ outRsts uint32
1552+ retransSegs uint32
1553+ retransTimeouts uint32
1554+ retransDrops uint32
1555+ pmtuRetrans uint32
1556+ pmtuErrors uint32
1557+ outWinProbes uint32
1558+ probeDrops uint32
1559+ keepAliveProbes uint32
1560+ keepAliveDrops uint32
1561+ finwait2Drops uint32
1562+ acceptCount uint64
1563+ inBulkQSegs uint64
1564+ inDiscards uint64
1565+ connFloods uint32
1566+ connStalls uint32
1567+ cfgEphemDef uint16
1568+ ephemInUse uint16
1569+ ephemHiWater uint16
1570+ flags byte
1571+ _ [1]byte
1572+ ephemExhaust uint32
1573+ smcRCurrEstabLnks uint32
1574+ smcRLnkActTimeOut uint32
1575+ smcRActLnkOpened uint32
1576+ smcRPasLnkOpened uint32
1577+ smcRLnksClosed uint32
1578+ smcRCurrEstab uint32
1579+ smcRActiveOpened uint32
1580+ smcRPassiveOpened uint32
1581+ smcRConnClosed uint32
1582+ smcRInSegs uint64
1583+ smcROutSegs uint64
1584+ smcRInRsts uint32
1585+ smcROutRsts uint32
1586+ smcDCurrEstabLnks uint32
1587+ smcDActLnkOpened uint32
1588+ smcDPasLnkOpened uint32
1589+ smcDLnksClosed uint32
1590+ smcDCurrEstab uint32
1591+ smcDActiveOpened uint32
1592+ smcDPassiveOpened uint32
1593+ smcDConnClosed uint32
1594+ smcDInSegs uint64
1595+ smcDOutSegs uint64
1596+ smcDInRsts uint32
1597+ smcDOutRsts uint32
1598+}
1599+
1600+type nwmConnEntry struct {
1601+ ident uint32
1602+ local [28]byte // union of sockaddr4 and sockaddr6
1603+ remote [28]byte // union of sockaddr4 and sockaddr6
1604+ startTime [8]byte // uint64, changed to prevent padding from being inserted
1605+ lastActivity [8]byte // uint64
1606+ bytesIn [8]byte // uint64
1607+ bytesOut [8]byte // uint64
1608+ inSegs [8]byte // uint64
1609+ outSegs [8]byte // uint64
1610+ state uint16
1611+ activeOpen byte
1612+ flag01 byte
1613+ outBuffered uint32
1614+ inBuffered uint32
1615+ maxSndWnd uint32
1616+ reXmtCount uint32
1617+ congestionWnd uint32
1618+ ssThresh uint32
1619+ roundTripTime uint32
1620+ roundTripVar uint32
1621+ sendMSS uint32
1622+ sndWnd uint32
1623+ rcvBufSize uint32
1624+ sndBufSize uint32
1625+ outOfOrderCount uint32
1626+ lcl0WindowCount uint32
1627+ rmt0WindowCount uint32
1628+ dupacks uint32
1629+ flag02 byte
1630+ sockOpt6Cont byte
1631+ asid uint16
1632+ resourceName [8]byte
1633+ resourceId uint32
1634+ subtask uint32
1635+ sockOpt byte
1636+ sockOpt6 byte
1637+ clusterConnFlag byte
1638+ proto byte
1639+ targetAppl [8]byte
1640+ luName [8]byte
1641+ clientUserId [8]byte
1642+ logMode [8]byte
1643+ timeStamp uint32
1644+ timeStampAge uint32
1645+ serverResourceId uint32
1646+ intfName [16]byte
1647+ ttlsStatPol byte
1648+ ttlsStatConn byte
1649+ ttlsSSLProt uint16
1650+ ttlsNegCiph [2]byte
1651+ ttlsSecType byte
1652+ ttlsFIPS140Mode byte
1653+ ttlsUserID [8]byte
1654+ applData [40]byte
1655+ inOldestTime [8]byte // uint64
1656+ outOldestTime [8]byte // uint64
1657+ tcpTrustedPartner byte
1658+ _ [3]byte
1659+ bulkDataIntfName [16]byte
1660+ ttlsNegCiph4 [4]byte
1661+ smcReason uint32
1662+ lclSMCLinkId uint32
1663+ rmtSMCLinkId uint32
1664+ smcStatus byte
1665+ smcFlags byte
1666+ _ [2]byte
1667+ rcvWnd uint32
1668+ lclSMCBufSz uint32
1669+ rmtSMCBufSz uint32
1670+ ttlsSessID [32]byte
1671+ ttlsSessIDLen int16
1672+ _ [1]byte
1673+ smcDStatus byte
1674+ smcDReason uint32
1675+}
1676+
1677+var svcNameTable [][]byte = [][]byte{
1678+ []byte("\xc5\xe9\xc2\xd5\xd4\xc9\xc6\xf4"), // svc_EZBNMIF4
1679+}
1680+
1681+const (
1682+ svc_EZBNMIF4 = 0
1683+)
1684+
1685+func GetsockoptTCPInfo(fd, level, opt int) (*TCPInfo, error) {
1686+ jobname := []byte("\x5c\x40\x40\x40\x40\x40\x40\x40") // "*"
1687+ responseBuffer := [4096]byte{0}
1688+ var bufferAlet, reasonCode uint32 = 0, 0
1689+ var bufferLen, returnValue, returnCode int32 = 4096, 0, 0
1690+
1691+ dsa := [18]uint64{0}
1692+ var argv [7]unsafe.Pointer
1693+ argv[0] = unsafe.Pointer(&jobname[0])
1694+ argv[1] = unsafe.Pointer(&responseBuffer[0])
1695+ argv[2] = unsafe.Pointer(&bufferAlet)
1696+ argv[3] = unsafe.Pointer(&bufferLen)
1697+ argv[4] = unsafe.Pointer(&returnValue)
1698+ argv[5] = unsafe.Pointer(&returnCode)
1699+ argv[6] = unsafe.Pointer(&reasonCode)
1700+
1701+ request := (*struct {
1702+ header nwmHeader
1703+ filter nwmFilter
1704+ })(unsafe.Pointer(&responseBuffer[0]))
1705+
1706+ EZBNMIF4 := svcLoad(&svcNameTable[svc_EZBNMIF4][0])
1707+ if EZBNMIF4 == nil {
1708+ return nil, errnoErr(EINVAL)
1709+ }
1710+
1711+ // GetGlobalStats EZBNMIF4 call
1712+ request.header.ident = nwmHeaderIdentifier
1713+ request.header.length = uint32(unsafe.Sizeof(request.header))
1714+ request.header.version = nwmCurrentVer
1715+ request.header.nwmType = nwmGlobalStatsType
1716+ request.header.options = 0x80000000
1717+
1718+ svcCall(EZBNMIF4, &argv[0], &dsa[0])
1719+
1720+ // outputDesc field is filled by EZBNMIF4 on success
1721+ if returnCode != 0 || request.header.outputDesc.offset == 0 {
1722+ return nil, errnoErr(EINVAL)
1723+ }
1724+
1725+ // Check that EZBNMIF4 returned a nwmRecHeader
1726+ recHeader := (*nwmRecHeader)(unsafe.Pointer(&responseBuffer[request.header.outputDesc.offset]))
1727+ if recHeader.ident != nwmRecHeaderIdentifier {
1728+ return nil, errnoErr(EINVAL)
1729+ }
1730+
1731+ // Parse nwmTriplets to get offsets of returned entries
1732+ var sections []*uint64
1733+ var sectionDesc *nwmTriplet = (*nwmTriplet)(unsafe.Pointer(&responseBuffer[0]))
1734+ for i := uint32(0); i < uint32(recHeader.number); i++ {
1735+ offset := request.header.outputDesc.offset + uint32(unsafe.Sizeof(*recHeader)) + i*uint32(unsafe.Sizeof(*sectionDesc))
1736+ sectionDesc = (*nwmTriplet)(unsafe.Pointer(&responseBuffer[offset]))
1737+ for j := uint32(0); j < sectionDesc.number; j++ {
1738+ offset = request.header.outputDesc.offset + sectionDesc.offset + j*sectionDesc.length
1739+ sections = append(sections, (*uint64)(unsafe.Pointer(&responseBuffer[offset])))
1740+ }
1741+ }
1742+
1743+ // Find nwmTCPStatsEntry in returned entries
1744+ var tcpStats *nwmTCPStatsEntry = nil
1745+ for _, ptr := range sections {
1746+ switch *ptr {
1747+ case nwmTCPStatsIdentifier:
1748+ if tcpStats != nil {
1749+ return nil, errnoErr(EINVAL)
1750+ }
1751+ tcpStats = (*nwmTCPStatsEntry)(unsafe.Pointer(ptr))
1752+ case nwmIPStatsIdentifier:
1753+ case nwmIPGStatsIdentifier:
1754+ case nwmUDPStatsIdentifier:
1755+ case nwmICMPGStatsEntry:
1756+ case nwmICMPTStatsEntry:
1757+ default:
1758+ return nil, errnoErr(EINVAL)
1759+ }
1760+ }
1761+ if tcpStats == nil {
1762+ return nil, errnoErr(EINVAL)
1763+ }
1764+
1765+ // GetConnectionDetail EZBNMIF4 call
1766+ responseBuffer = [4096]byte{0}
1767+ dsa = [18]uint64{0}
1768+ bufferAlet, reasonCode = 0, 0
1769+ bufferLen, returnValue, returnCode = 4096, 0, 0
1770+ nameptr := (*uint32)(unsafe.Pointer(uintptr(0x21c))) // Get jobname of current process
1771+ nameptr = (*uint32)(unsafe.Pointer(uintptr(*nameptr + 12)))
1772+ argv[0] = unsafe.Pointer(uintptr(*nameptr))
1773+
1774+ request.header.ident = nwmHeaderIdentifier
1775+ request.header.length = uint32(unsafe.Sizeof(request.header))
1776+ request.header.version = nwmCurrentVer
1777+ request.header.nwmType = nwmTCPConnType
1778+ request.header.options = 0x80000000
1779+
1780+ request.filter.ident = nwmFilterIdentifier
1781+
1782+ var localSockaddr RawSockaddrAny
1783+ socklen := _Socklen(SizeofSockaddrAny)
1784+ err := getsockname(fd, &localSockaddr, &socklen)
1785+ if err != nil {
1786+ return nil, errnoErr(EINVAL)
1787+ }
1788+ if localSockaddr.Addr.Family == AF_INET {
1789+ localSockaddr := (*RawSockaddrInet4)(unsafe.Pointer(&localSockaddr.Addr))
1790+ localSockFilter := (*RawSockaddrInet4)(unsafe.Pointer(&request.filter.local[0]))
1791+ localSockFilter.Family = AF_INET
1792+ var i int
1793+ for i = 0; i < 4; i++ {
1794+ if localSockaddr.Addr[i] != 0 {
1795+ break
1796+ }
1797+ }
1798+ if i != 4 {
1799+ request.filter.flags |= nwmFilterLclAddrMask
1800+ for i = 0; i < 4; i++ {
1801+ localSockFilter.Addr[i] = localSockaddr.Addr[i]
1802+ }
1803+ }
1804+ if localSockaddr.Port != 0 {
1805+ request.filter.flags |= nwmFilterLclPortMask
1806+ localSockFilter.Port = localSockaddr.Port
1807+ }
1808+ } else if localSockaddr.Addr.Family == AF_INET6 {
1809+ localSockaddr := (*RawSockaddrInet6)(unsafe.Pointer(&localSockaddr.Addr))
1810+ localSockFilter := (*RawSockaddrInet6)(unsafe.Pointer(&request.filter.local[0]))
1811+ localSockFilter.Family = AF_INET6
1812+ var i int
1813+ for i = 0; i < 16; i++ {
1814+ if localSockaddr.Addr[i] != 0 {
1815+ break
1816+ }
1817+ }
1818+ if i != 16 {
1819+ request.filter.flags |= nwmFilterLclAddrMask
1820+ for i = 0; i < 16; i++ {
1821+ localSockFilter.Addr[i] = localSockaddr.Addr[i]
1822+ }
1823+ }
1824+ if localSockaddr.Port != 0 {
1825+ request.filter.flags |= nwmFilterLclPortMask
1826+ localSockFilter.Port = localSockaddr.Port
1827+ }
1828+ }
1829+
1830+ svcCall(EZBNMIF4, &argv[0], &dsa[0])
1831+
1832+ // outputDesc field is filled by EZBNMIF4 on success
1833+ if returnCode != 0 || request.header.outputDesc.offset == 0 {
1834+ return nil, errnoErr(EINVAL)
1835+ }
1836+
1837+ // Check that EZBNMIF4 returned a nwmConnEntry
1838+ conn := (*nwmConnEntry)(unsafe.Pointer(&responseBuffer[request.header.outputDesc.offset]))
1839+ if conn.ident != nwmTCPConnIdentifier {
1840+ return nil, errnoErr(EINVAL)
1841+ }
1842+
1843+ // Copy data from the returned data structures into tcpInfo
1844+ // Stats from nwmConnEntry are specific to that connection.
1845+ // Stats from nwmTCPStatsEntry are global (to the interface?)
1846+ // Fields may not be an exact match. Some fields have no equivalent.
1847+ var tcpinfo TCPInfo
1848+ tcpinfo.State = uint8(conn.state)
1849+ tcpinfo.Ca_state = 0 // dummy
1850+ tcpinfo.Retransmits = uint8(tcpStats.retransSegs)
1851+ tcpinfo.Probes = uint8(tcpStats.outWinProbes)
1852+ tcpinfo.Backoff = 0 // dummy
1853+ tcpinfo.Options = 0 // dummy
1854+ tcpinfo.Rto = tcpStats.retransTimeouts
1855+ tcpinfo.Ato = tcpStats.outDelayAcks
1856+ tcpinfo.Snd_mss = conn.sendMSS
1857+ tcpinfo.Rcv_mss = conn.sendMSS // dummy
1858+ tcpinfo.Unacked = 0 // dummy
1859+ tcpinfo.Sacked = 0 // dummy
1860+ tcpinfo.Lost = 0 // dummy
1861+ tcpinfo.Retrans = conn.reXmtCount
1862+ tcpinfo.Fackets = 0 // dummy
1863+ tcpinfo.Last_data_sent = uint32(*(*uint64)(unsafe.Pointer(&conn.lastActivity[0])))
1864+ tcpinfo.Last_ack_sent = uint32(*(*uint64)(unsafe.Pointer(&conn.outOldestTime[0])))
1865+ tcpinfo.Last_data_recv = uint32(*(*uint64)(unsafe.Pointer(&conn.inOldestTime[0])))
1866+ tcpinfo.Last_ack_recv = uint32(*(*uint64)(unsafe.Pointer(&conn.inOldestTime[0])))
1867+ tcpinfo.Pmtu = conn.sendMSS // dummy, NWMIfRouteMtu is a candidate
1868+ tcpinfo.Rcv_ssthresh = conn.ssThresh
1869+ tcpinfo.Rtt = conn.roundTripTime
1870+ tcpinfo.Rttvar = conn.roundTripVar
1871+ tcpinfo.Snd_ssthresh = conn.ssThresh // dummy
1872+ tcpinfo.Snd_cwnd = conn.congestionWnd
1873+ tcpinfo.Advmss = conn.sendMSS // dummy
1874+ tcpinfo.Reordering = 0 // dummy
1875+ tcpinfo.Rcv_rtt = conn.roundTripTime // dummy
1876+ tcpinfo.Rcv_space = conn.sendMSS // dummy
1877+ tcpinfo.Total_retrans = conn.reXmtCount
1878+
1879+ svcUnload(&svcNameTable[svc_EZBNMIF4][0], EZBNMIF4)
1880+
1881+ return &tcpinfo, nil
1882+}
1883+
1884+// GetsockoptString returns the string value of the socket option opt for the
1885+// socket associated with fd at the given socket level.
1886+func GetsockoptString(fd, level, opt int) (string, error) {
1887+ buf := make([]byte, 256)
1888+ vallen := _Socklen(len(buf))
1889+ err := getsockopt(fd, level, opt, unsafe.Pointer(&buf[0]), &vallen)
1890+ if err != nil {
1891+ return "", err
1892+ }
1893+
1894+ return ByteSliceToString(buf[:vallen]), nil
1895+}
1896+
1897+func Recvmsg(fd int, p, oob []byte, flags int) (n, oobn int, recvflags int, from Sockaddr, err error) {
1898+ var msg Msghdr
1899+ var rsa RawSockaddrAny
1900+ msg.Name = (*byte)(unsafe.Pointer(&rsa))
1901+ msg.Namelen = SizeofSockaddrAny
1902+ var iov Iovec
1903+ if len(p) > 0 {
1904+ iov.Base = (*byte)(unsafe.Pointer(&p[0]))
1905+ iov.SetLen(len(p))
1906+ }
1907+ var dummy byte
1908+ if len(oob) > 0 {
1909+ // receive at least one normal byte
1910+ if len(p) == 0 {
1911+ iov.Base = &dummy
1912+ iov.SetLen(1)
1913+ }
1914+ msg.Control = (*byte)(unsafe.Pointer(&oob[0]))
1915+ msg.SetControllen(len(oob))
1916+ }
1917+ msg.Iov = &iov
1918+ msg.Iovlen = 1
1919+ if n, err = recvmsg(fd, &msg, flags); err != nil {
1920+ return
1921+ }
1922+ oobn = int(msg.Controllen)
1923+ recvflags = int(msg.Flags)
1924+ // source address is only specified if the socket is unconnected
1925+ if rsa.Addr.Family != AF_UNSPEC {
1926+ // TODO(neeilan): Remove 0 arg added to get this compiling on z/OS
1927+ from, err = anyToSockaddr(0, &rsa)
1928+ }
1929+ return
1930+}
1931+
1932+func Sendmsg(fd int, p, oob []byte, to Sockaddr, flags int) (err error) {
1933+ _, err = SendmsgN(fd, p, oob, to, flags)
1934+ return
1935+}
1936+
1937+func SendmsgN(fd int, p, oob []byte, to Sockaddr, flags int) (n int, err error) {
1938+ var ptr unsafe.Pointer
1939+ var salen _Socklen
1940+ if to != nil {
1941+ var err error
1942+ ptr, salen, err = to.sockaddr()
1943+ if err != nil {
1944+ return 0, err
1945+ }
1946+ }
1947+ var msg Msghdr
1948+ msg.Name = (*byte)(unsafe.Pointer(ptr))
1949+ msg.Namelen = int32(salen)
1950+ var iov Iovec
1951+ if len(p) > 0 {
1952+ iov.Base = (*byte)(unsafe.Pointer(&p[0]))
1953+ iov.SetLen(len(p))
1954+ }
1955+ var dummy byte
1956+ if len(oob) > 0 {
1957+ // send at least one normal byte
1958+ if len(p) == 0 {
1959+ iov.Base = &dummy
1960+ iov.SetLen(1)
1961+ }
1962+ msg.Control = (*byte)(unsafe.Pointer(&oob[0]))
1963+ msg.SetControllen(len(oob))
1964+ }
1965+ msg.Iov = &iov
1966+ msg.Iovlen = 1
1967+ if n, err = sendmsg(fd, &msg, flags); err != nil {
1968+ return 0, err
1969+ }
1970+ if len(oob) > 0 && len(p) == 0 {
1971+ n = 0
1972+ }
1973+ return n, nil
1974+}
1975+
1976+func Opendir(name string) (uintptr, error) {
1977+ p, err := BytePtrFromString(name)
1978+ if err != nil {
1979+ return 0, err
1980+ }
1981+ err = nil
1982+ runtime.EnterSyscall()
1983+ dir, e2, e1 := CallLeFuncWithPtrReturn(GetZosLibVec()+SYS___OPENDIR_A<<4, uintptr(unsafe.Pointer(p)))
1984+ runtime.ExitSyscall()
1985+ runtime.KeepAlive(unsafe.Pointer(p))
1986+ if dir == 0 {
1987+ err = errnoErr2(e1, e2)
1988+ }
1989+ return dir, err
1990+}
1991+
1992+// clearsyscall.Errno resets the errno value to 0.
1993+func clearErrno()
1994+
1995+func Closedir(dir uintptr) error {
1996+ runtime.EnterSyscall()
1997+ r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_CLOSEDIR<<4, dir)
1998+ runtime.ExitSyscall()
1999+ if r0 != 0 {
2000+ return errnoErr2(e1, e2)
2001+ }
2002+ return nil
2003+}
2004+
2005+func Seekdir(dir uintptr, pos int) {
2006+ runtime.EnterSyscall()
2007+ CallLeFuncWithErr(GetZosLibVec()+SYS_SEEKDIR<<4, dir, uintptr(pos))
2008+ runtime.ExitSyscall()
2009+}
2010+
2011+func Telldir(dir uintptr) (int, error) {
2012+ p, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_TELLDIR<<4, dir)
2013+ pos := int(p)
2014+ if int64(p) == -1 {
2015+ return pos, errnoErr2(e1, e2)
2016+ }
2017+ return pos, nil
2018+}
2019+
2020+// FcntlFlock performs a fcntl syscall for the F_GETLK, F_SETLK or F_SETLKW command.
2021+func FcntlFlock(fd uintptr, cmd int, lk *Flock_t) error {
2022+ // struct flock is packed on z/OS. We can't emulate that in Go so
2023+ // instead we pack it here.
2024+ var flock [24]byte
2025+ *(*int16)(unsafe.Pointer(&flock[0])) = lk.Type
2026+ *(*int16)(unsafe.Pointer(&flock[2])) = lk.Whence
2027+ *(*int64)(unsafe.Pointer(&flock[4])) = lk.Start
2028+ *(*int64)(unsafe.Pointer(&flock[12])) = lk.Len
2029+ *(*int32)(unsafe.Pointer(&flock[20])) = lk.Pid
2030+ runtime.EnterSyscall()
2031+ r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_FCNTL<<4, fd, uintptr(cmd), uintptr(unsafe.Pointer(&flock)))
2032+ runtime.ExitSyscall()
2033+ lk.Type = *(*int16)(unsafe.Pointer(&flock[0]))
2034+ lk.Whence = *(*int16)(unsafe.Pointer(&flock[2]))
2035+ lk.Start = *(*int64)(unsafe.Pointer(&flock[4]))
2036+ lk.Len = *(*int64)(unsafe.Pointer(&flock[12]))
2037+ lk.Pid = *(*int32)(unsafe.Pointer(&flock[20]))
2038+ if r0 == 0 {
2039+ return nil
2040+ }
2041+ return errnoErr2(e1, e2)
2042+}
2043+
2044+func impl_Flock(fd int, how int) (err error) {
2045+ runtime.EnterSyscall()
2046+ r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_FLOCK<<4, uintptr(fd), uintptr(how))
2047+ runtime.ExitSyscall()
2048+ if int64(r0) == -1 {
2049+ err = errnoErr2(e1, e2)
2050+ }
2051+ return
2052+}
2053+
2054+//go:nosplit
2055+func get_FlockAddr() *(func(fd int, how int) (err error))
2056+
2057+var Flock = enter_Flock
2058+
2059+func validFlock(fp uintptr) bool {
2060+ if funcptrtest(GetZosLibVec()+SYS_FLOCK<<4, "") == 0 {
2061+ if name, err := getLeFuncName(GetZosLibVec() + SYS_FLOCK<<4); err == nil {
2062+ return name == "flock"
2063+ }
2064+ }
2065+ return false
2066+}
2067+
2068+func enter_Flock(fd int, how int) (err error) {
2069+ funcref := get_FlockAddr()
2070+ if validFlock(GetZosLibVec() + SYS_FLOCK<<4) {
2071+ *funcref = impl_Flock
2072+ } else {
2073+ *funcref = legacyFlock
2074+ }
2075+ return (*funcref)(fd, how)
2076+}
2077+
2078+func legacyFlock(fd int, how int) error {
2079+
2080+ var flock_type int16
2081+ var fcntl_cmd int
2082+
2083+ switch how {
2084+ case LOCK_SH | LOCK_NB:
2085+ flock_type = F_RDLCK
2086+ fcntl_cmd = F_SETLK
2087+ case LOCK_EX | LOCK_NB:
2088+ flock_type = F_WRLCK
2089+ fcntl_cmd = F_SETLK
2090+ case LOCK_EX:
2091+ flock_type = F_WRLCK
2092+ fcntl_cmd = F_SETLKW
2093+ case LOCK_UN:
2094+ flock_type = F_UNLCK
2095+ fcntl_cmd = F_SETLKW
2096+ default:
2097+ }
2098+
2099+ flock := Flock_t{
2100+ Type: int16(flock_type),
2101+ Whence: int16(0),
2102+ Start: int64(0),
2103+ Len: int64(0),
2104+ Pid: int32(Getppid()),
2105+ }
2106+
2107+ err := FcntlFlock(uintptr(fd), fcntl_cmd, &flock)
2108+ return err
2109+}
2110+
2111+func Mlock(b []byte) (err error) {
2112+ runtime.EnterSyscall()
2113+ r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___MLOCKALL<<4, _BPX_NONSWAP)
2114+ runtime.ExitSyscall()
2115+ if r0 != 0 {
2116+ err = errnoErr2(e1, e2)
2117+ }
2118+ return
2119+}
2120+
2121+func Mlock2(b []byte, flags int) (err error) {
2122+ runtime.EnterSyscall()
2123+ r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___MLOCKALL<<4, _BPX_NONSWAP)
2124+ runtime.ExitSyscall()
2125+ if r0 != 0 {
2126+ err = errnoErr2(e1, e2)
2127+ }
2128+ return
2129+}
2130+
2131+func Mlockall(flags int) (err error) {
2132+ runtime.EnterSyscall()
2133+ r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___MLOCKALL<<4, _BPX_NONSWAP)
2134+ runtime.ExitSyscall()
2135+ if r0 != 0 {
2136+ err = errnoErr2(e1, e2)
2137+ }
2138+ return
2139+}
2140+
2141+func Munlock(b []byte) (err error) {
2142+ runtime.EnterSyscall()
2143+ r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___MLOCKALL<<4, _BPX_SWAP)
2144+ runtime.ExitSyscall()
2145+ if r0 != 0 {
2146+ err = errnoErr2(e1, e2)
2147+ }
2148+ return
2149+}
2150+
2151+func Munlockall() (err error) {
2152+ runtime.EnterSyscall()
2153+ r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___MLOCKALL<<4, _BPX_SWAP)
2154+ runtime.ExitSyscall()
2155+ if r0 != 0 {
2156+ err = errnoErr2(e1, e2)
2157+ }
2158+ return
2159+}
2160+
2161+func ClockGettime(clockid int32, ts *Timespec) error {
2162+
2163+ var ticks_per_sec uint32 = 100 //TODO(kenan): value is currently hardcoded; need sysconf() call otherwise
2164+ var nsec_per_sec int64 = 1000000000
2165+
2166+ if ts == nil {
2167+ return EFAULT
2168+ }
2169+ if clockid == CLOCK_REALTIME || clockid == CLOCK_MONOTONIC {
2170+ var nanotime int64 = runtime.Nanotime1()
2171+ ts.Sec = nanotime / nsec_per_sec
2172+ ts.Nsec = nanotime % nsec_per_sec
2173+ } else if clockid == CLOCK_PROCESS_CPUTIME_ID || clockid == CLOCK_THREAD_CPUTIME_ID {
2174+ var tm Tms
2175+ _, err := Times(&tm)
2176+ if err != nil {
2177+ return EFAULT
2178+ }
2179+ ts.Sec = int64(tm.Utime / ticks_per_sec)
2180+ ts.Nsec = int64(tm.Utime) * nsec_per_sec / int64(ticks_per_sec)
2181+ } else {
2182+ return EINVAL
2183+ }
2184+ return nil
2185+}
2186+
2187+// Chtag
2188+
2189+//go:nosplit
2190+func get_ChtagAddr() *(func(path string, ccsid uint64, textbit uint64) error)
2191+
2192+var Chtag = enter_Chtag
2193+
2194+func enter_Chtag(path string, ccsid uint64, textbit uint64) error {
2195+ funcref := get_ChtagAddr()
2196+ if validSetxattr() {
2197+ *funcref = impl_Chtag
2198+ } else {
2199+ *funcref = legacy_Chtag
2200+ }
2201+ return (*funcref)(path, ccsid, textbit)
2202+}
2203+
2204+func legacy_Chtag(path string, ccsid uint64, textbit uint64) error {
2205+ tag := ccsid<<16 | textbit<<15
2206+ var tag_buff [8]byte
2207+ DecodeData(tag_buff[:], 8, tag)
2208+ return Setxattr(path, "filetag", tag_buff[:], XATTR_REPLACE)
2209+}
2210+
2211+func impl_Chtag(path string, ccsid uint64, textbit uint64) error {
2212+ tag := ccsid<<16 | textbit<<15
2213+ var tag_buff [4]byte
2214+ DecodeData(tag_buff[:], 4, tag)
2215+ return Setxattr(path, "system.filetag", tag_buff[:], XATTR_REPLACE)
2216+}
2217+
2218+// End of Chtag
2219+
2220+// Nanosleep
2221+
2222+//go:nosplit
2223+func get_NanosleepAddr() *(func(time *Timespec, leftover *Timespec) error)
2224+
2225+var Nanosleep = enter_Nanosleep
2226+
2227+func enter_Nanosleep(time *Timespec, leftover *Timespec) error {
2228+ funcref := get_NanosleepAddr()
2229+ if funcptrtest(GetZosLibVec()+SYS_NANOSLEEP<<4, "") == 0 {
2230+ *funcref = impl_Nanosleep
2231+ } else {
2232+ *funcref = legacyNanosleep
2233+ }
2234+ return (*funcref)(time, leftover)
2235+}
2236+
2237+func impl_Nanosleep(time *Timespec, leftover *Timespec) error {
2238+ runtime.EnterSyscall()
2239+ r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_NANOSLEEP<<4, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)))
2240+ runtime.ExitSyscall()
2241+ if int64(r0) == -1 {
2242+ return errnoErr2(e1, e2)
2243+ }
2244+ return nil
2245+}
2246+
2247+func legacyNanosleep(time *Timespec, leftover *Timespec) error {
2248+ t0 := runtime.Nanotime1()
2249+ var secrem uint32
2250+ var nsecrem uint32
2251+ total := time.Sec*1000000000 + time.Nsec
2252+ elapsed := runtime.Nanotime1() - t0
2253+ var rv int32
2254+ var rc int32
2255+ var err error
2256+ // repeatedly sleep for 1 second until less than 1 second left
2257+ for total-elapsed > 1000000000 {
2258+ rv, rc, _ = BpxCondTimedWait(uint32(1), uint32(0), uint32(CW_CONDVAR), &secrem, &nsecrem)
2259+ if rv != 0 && rc != 112 { // 112 is EAGAIN
2260+ if leftover != nil && rc == 120 { // 120 is EINTR
2261+ leftover.Sec = int64(secrem)
2262+ leftover.Nsec = int64(nsecrem)
2263+ }
2264+ err = Errno(rc)
2265+ return err
2266+ }
2267+ elapsed = runtime.Nanotime1() - t0
2268+ }
2269+ // sleep the remainder
2270+ if total > elapsed {
2271+ rv, rc, _ = BpxCondTimedWait(uint32(0), uint32(total-elapsed), uint32(CW_CONDVAR), &secrem, &nsecrem)
2272+ }
2273+ if leftover != nil && rc == 120 {
2274+ leftover.Sec = int64(secrem)
2275+ leftover.Nsec = int64(nsecrem)
2276+ }
2277+ if rv != 0 && rc != 112 {
2278+ err = Errno(rc)
2279+ }
2280+ return err
2281+}
2282+
2283+// End of Nanosleep
2284+
2285+var (
2286+ Stdin = 0
2287+ Stdout = 1
2288+ Stderr = 2
2289+)
2290+
2291+// Do the interface allocations only once for common
2292+// Errno values.
2293+var (
2294+ errEAGAIN error = syscall.EAGAIN
2295+ errEINVAL error = syscall.EINVAL
2296+ errENOENT error = syscall.ENOENT
2297+)
2298+
2299+var ZosTraceLevel int
2300+var ZosTracefile *os.File
2301+
2302+var (
2303+ signalNameMapOnce sync.Once
2304+ signalNameMap map[string]syscall.Signal
2305+)
2306+
2307+// errnoErr returns common boxed Errno values, to prevent
2308+// allocations at runtime.
2309+func errnoErr(e Errno) error {
2310+ switch e {
2311+ case 0:
2312+ return nil
2313+ case EAGAIN:
2314+ return errEAGAIN
2315+ case EINVAL:
2316+ return errEINVAL
2317+ case ENOENT:
2318+ return errENOENT
2319+ }
2320+ return e
2321+}
2322+
2323+var reg *regexp.Regexp
2324+
2325+// enhanced with zos specific errno2
2326+func errnoErr2(e Errno, e2 uintptr) error {
2327+ switch e {
2328+ case 0:
2329+ return nil
2330+ case EAGAIN:
2331+ return errEAGAIN
2332+ /*
2333+ Allow the retrieval of errno2 for EINVAL and ENOENT on zos
2334+ case EINVAL:
2335+ return errEINVAL
2336+ case ENOENT:
2337+ return errENOENT
2338+ */
2339+ }
2340+ if ZosTraceLevel > 0 {
2341+ var name string
2342+ if reg == nil {
2343+ reg = regexp.MustCompile("(^unix\\.[^/]+$|.*\\/unix\\.[^/]+$)")
2344+ }
2345+ i := 1
2346+ pc, file, line, ok := runtime.Caller(i)
2347+ if ok {
2348+ name = runtime.FuncForPC(pc).Name()
2349+ }
2350+ for ok && reg.MatchString(runtime.FuncForPC(pc).Name()) {
2351+ i += 1
2352+ pc, file, line, ok = runtime.Caller(i)
2353+ }
2354+ if ok {
2355+ if ZosTracefile == nil {
2356+ ZosConsolePrintf("From %s:%d\n", file, line)
2357+ ZosConsolePrintf("%s: %s (errno2=0x%x)\n", name, e.Error(), e2)
2358+ } else {
2359+ fmt.Fprintf(ZosTracefile, "From %s:%d\n", file, line)
2360+ fmt.Fprintf(ZosTracefile, "%s: %s (errno2=0x%x)\n", name, e.Error(), e2)
2361+ }
2362+ } else {
2363+ if ZosTracefile == nil {
2364+ ZosConsolePrintf("%s (errno2=0x%x)\n", e.Error(), e2)
2365+ } else {
2366+ fmt.Fprintf(ZosTracefile, "%s (errno2=0x%x)\n", e.Error(), e2)
2367+ }
2368+ }
2369+ }
2370+ return e
2371+}
2372+
2373+// ErrnoName returns the error name for error number e.
2374+func ErrnoName(e Errno) string {
2375+ i := sort.Search(len(errorList), func(i int) bool {
2376+ return errorList[i].num >= e
2377+ })
2378+ if i < len(errorList) && errorList[i].num == e {
2379+ return errorList[i].name
2380+ }
2381+ return ""
2382+}
2383+
2384+// SignalName returns the signal name for signal number s.
2385+func SignalName(s syscall.Signal) string {
2386+ i := sort.Search(len(signalList), func(i int) bool {
2387+ return signalList[i].num >= s
2388+ })
2389+ if i < len(signalList) && signalList[i].num == s {
2390+ return signalList[i].name
2391+ }
2392+ return ""
2393+}
2394+
2395+// SignalNum returns the syscall.Signal for signal named s,
2396+// or 0 if a signal with such name is not found.
2397+// The signal name should start with "SIG".
2398+func SignalNum(s string) syscall.Signal {
2399+ signalNameMapOnce.Do(func() {
2400+ signalNameMap = make(map[string]syscall.Signal, len(signalList))
2401+ for _, signal := range signalList {
2402+ signalNameMap[signal.name] = signal.num
2403+ }
2404+ })
2405+ return signalNameMap[s]
2406+}
2407+
2408+// clen returns the index of the first NULL byte in n or len(n) if n contains no NULL byte.
2409+func clen(n []byte) int {
2410+ i := bytes.IndexByte(n, 0)
2411+ if i == -1 {
2412+ i = len(n)
2413+ }
2414+ return i
2415+}
2416+
2417+// Mmap manager, for use by operating system-specific implementations.
2418+
2419+type mmapper struct {
2420+ sync.Mutex
2421+ active map[*byte][]byte // active mappings; key is last byte in mapping
2422+ mmap func(addr, length uintptr, prot, flags, fd int, offset int64) (uintptr, error)
2423+ munmap func(addr uintptr, length uintptr) error
2424+}
2425+
2426+func (m *mmapper) Mmap(fd int, offset int64, length int, prot int, flags int) (data []byte, err error) {
2427+ if length <= 0 {
2428+ return nil, EINVAL
2429+ }
2430+
2431+ // Set __MAP_64 by default
2432+ flags |= __MAP_64
2433+
2434+ // Map the requested memory.
2435+ addr, errno := m.mmap(0, uintptr(length), prot, flags, fd, offset)
2436+ if errno != nil {
2437+ return nil, errno
2438+ }
2439+
2440+ // Slice memory layout
2441+ var sl = struct {
2442+ addr uintptr
2443+ len int
2444+ cap int
2445+ }{addr, length, length}
2446+
2447+ // Use unsafe to turn sl into a []byte.
2448+ b := *(*[]byte)(unsafe.Pointer(&sl))
2449+
2450+ // Register mapping in m and return it.
2451+ p := &b[cap(b)-1]
2452+ m.Lock()
2453+ defer m.Unlock()
2454+ m.active[p] = b
2455+ return b, nil
2456+}
2457+
2458+func (m *mmapper) Munmap(data []byte) (err error) {
2459+ if len(data) == 0 || len(data) != cap(data) {
2460+ return EINVAL
2461+ }
2462+
2463+ // Find the base of the mapping.
2464+ p := &data[cap(data)-1]
2465+ m.Lock()
2466+ defer m.Unlock()
2467+ b := m.active[p]
2468+ if b == nil || &b[0] != &data[0] {
2469+ return EINVAL
2470+ }
2471+
2472+ // Unmap the memory and update m.
2473+ if errno := m.munmap(uintptr(unsafe.Pointer(&b[0])), uintptr(len(b))); errno != nil {
2474+ return errno
2475+ }
2476+ delete(m.active, p)
2477+ return nil
2478+}
2479+
2480+func Read(fd int, p []byte) (n int, err error) {
2481+ n, err = read(fd, p)
2482+ if raceenabled {
2483+ if n > 0 {
2484+ raceWriteRange(unsafe.Pointer(&p[0]), n)
2485+ }
2486+ if err == nil {
2487+ raceAcquire(unsafe.Pointer(&ioSync))
2488+ }
2489+ }
2490+ return
2491+}
2492+
2493+func Write(fd int, p []byte) (n int, err error) {
2494+ if raceenabled {
2495+ raceReleaseMerge(unsafe.Pointer(&ioSync))
2496+ }
2497+ n, err = write(fd, p)
2498+ if raceenabled && n > 0 {
2499+ raceReadRange(unsafe.Pointer(&p[0]), n)
2500+ }
2501+ return
2502+}
2503+
2504+// For testing: clients can set this flag to force
2505+// creation of IPv6 sockets to return EAFNOSUPPORT.
2506+var SocketDisableIPv6 bool
2507+
2508+// Sockaddr represents a socket address.
2509+type Sockaddr interface {
2510+ sockaddr() (ptr unsafe.Pointer, len _Socklen, err error) // lowercase; only we can define Sockaddrs
2511+}
2512+
2513+// SockaddrInet4 implements the Sockaddr interface for AF_INET type sockets.
2514+type SockaddrInet4 struct {
2515+ Port int
2516+ Addr [4]byte
2517+ raw RawSockaddrInet4
2518+}
2519+
2520+// SockaddrInet6 implements the Sockaddr interface for AF_INET6 type sockets.
2521+type SockaddrInet6 struct {
2522+ Port int
2523+ ZoneId uint32
2524+ Addr [16]byte
2525+ raw RawSockaddrInet6
2526+}
2527+
2528+// SockaddrUnix implements the Sockaddr interface for AF_UNIX type sockets.
2529+type SockaddrUnix struct {
2530+ Name string
2531+ raw RawSockaddrUnix
2532+}
2533+
2534+func Bind(fd int, sa Sockaddr) (err error) {
2535+ ptr, n, err := sa.sockaddr()
2536+ if err != nil {
2537+ return err
2538+ }
2539+ return bind(fd, ptr, n)
2540+}
2541+
2542+func Connect(fd int, sa Sockaddr) (err error) {
2543+ ptr, n, err := sa.sockaddr()
2544+ if err != nil {
2545+ return err
2546+ }
2547+ return connect(fd, ptr, n)
2548+}
2549+
2550+func Getpeername(fd int) (sa Sockaddr, err error) {
2551+ var rsa RawSockaddrAny
2552+ var len _Socklen = SizeofSockaddrAny
2553+ if err = getpeername(fd, &rsa, &len); err != nil {
2554+ return
2555+ }
2556+ return anyToSockaddr(fd, &rsa)
2557+}
2558+
2559+func GetsockoptByte(fd, level, opt int) (value byte, err error) {
2560+ var n byte
2561+ vallen := _Socklen(1)
2562+ err = getsockopt(fd, level, opt, unsafe.Pointer(&n), &vallen)
2563+ return n, err
2564+}
2565+
2566+func GetsockoptInt(fd, level, opt int) (value int, err error) {
2567+ var n int32
2568+ vallen := _Socklen(4)
2569+ err = getsockopt(fd, level, opt, unsafe.Pointer(&n), &vallen)
2570+ return int(n), err
2571+}
2572+
2573+func GetsockoptInet4Addr(fd, level, opt int) (value [4]byte, err error) {
2574+ vallen := _Socklen(4)
2575+ err = getsockopt(fd, level, opt, unsafe.Pointer(&value[0]), &vallen)
2576+ return value, err
2577+}
2578+
2579+func GetsockoptIPMreq(fd, level, opt int) (*IPMreq, error) {
2580+ var value IPMreq
2581+ vallen := _Socklen(SizeofIPMreq)
2582+ err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen)
2583+ return &value, err
2584+}
2585+
2586+func GetsockoptIPv6Mreq(fd, level, opt int) (*IPv6Mreq, error) {
2587+ var value IPv6Mreq
2588+ vallen := _Socklen(SizeofIPv6Mreq)
2589+ err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen)
2590+ return &value, err
2591+}
2592+
2593+func GetsockoptIPv6MTUInfo(fd, level, opt int) (*IPv6MTUInfo, error) {
2594+ var value IPv6MTUInfo
2595+ vallen := _Socklen(SizeofIPv6MTUInfo)
2596+ err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen)
2597+ return &value, err
2598+}
2599+
2600+func GetsockoptICMPv6Filter(fd, level, opt int) (*ICMPv6Filter, error) {
2601+ var value ICMPv6Filter
2602+ vallen := _Socklen(SizeofICMPv6Filter)
2603+ err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen)
2604+ return &value, err
2605+}
2606+
2607+func GetsockoptLinger(fd, level, opt int) (*Linger, error) {
2608+ var linger Linger
2609+ vallen := _Socklen(SizeofLinger)
2610+ err := getsockopt(fd, level, opt, unsafe.Pointer(&linger), &vallen)
2611+ return &linger, err
2612+}
2613+
2614+func GetsockoptTimeval(fd, level, opt int) (*Timeval, error) {
2615+ var tv Timeval
2616+ vallen := _Socklen(unsafe.Sizeof(tv))
2617+ err := getsockopt(fd, level, opt, unsafe.Pointer(&tv), &vallen)
2618+ return &tv, err
2619+}
2620+
2621+func GetsockoptUint64(fd, level, opt int) (value uint64, err error) {
2622+ var n uint64
2623+ vallen := _Socklen(8)
2624+ err = getsockopt(fd, level, opt, unsafe.Pointer(&n), &vallen)
2625+ return n, err
2626+}
2627+
2628+func Recvfrom(fd int, p []byte, flags int) (n int, from Sockaddr, err error) {
2629+ var rsa RawSockaddrAny
2630+ var len _Socklen = SizeofSockaddrAny
2631+ if n, err = recvfrom(fd, p, flags, &rsa, &len); err != nil {
2632+ return
2633+ }
2634+ if rsa.Addr.Family != AF_UNSPEC {
2635+ from, err = anyToSockaddr(fd, &rsa)
2636+ }
2637+ return
2638+}
2639+
2640+func Sendto(fd int, p []byte, flags int, to Sockaddr) (err error) {
2641+ ptr, n, err := to.sockaddr()
2642+ if err != nil {
2643+ return err
2644+ }
2645+ return sendto(fd, p, flags, ptr, n)
2646+}
2647+
2648+func SetsockoptByte(fd, level, opt int, value byte) (err error) {
2649+ return setsockopt(fd, level, opt, unsafe.Pointer(&value), 1)
2650+}
2651+
2652+func SetsockoptInt(fd, level, opt int, value int) (err error) {
2653+ var n = int32(value)
2654+ return setsockopt(fd, level, opt, unsafe.Pointer(&n), 4)
2655+}
2656+
2657+func SetsockoptInet4Addr(fd, level, opt int, value [4]byte) (err error) {
2658+ return setsockopt(fd, level, opt, unsafe.Pointer(&value[0]), 4)
2659+}
2660+
2661+func SetsockoptIPMreq(fd, level, opt int, mreq *IPMreq) (err error) {
2662+ return setsockopt(fd, level, opt, unsafe.Pointer(mreq), SizeofIPMreq)
2663+}
2664+
2665+func SetsockoptIPv6Mreq(fd, level, opt int, mreq *IPv6Mreq) (err error) {
2666+ return setsockopt(fd, level, opt, unsafe.Pointer(mreq), SizeofIPv6Mreq)
2667+}
2668+
2669+func SetsockoptICMPv6Filter(fd, level, opt int, filter *ICMPv6Filter) error {
2670+ return setsockopt(fd, level, opt, unsafe.Pointer(filter), SizeofICMPv6Filter)
2671+}
2672+
2673+func SetsockoptLinger(fd, level, opt int, l *Linger) (err error) {
2674+ return setsockopt(fd, level, opt, unsafe.Pointer(l), SizeofLinger)
2675+}
2676+
2677+func SetsockoptString(fd, level, opt int, s string) (err error) {
2678+ var p unsafe.Pointer
2679+ if len(s) > 0 {
2680+ p = unsafe.Pointer(&[]byte(s)[0])
2681+ }
2682+ return setsockopt(fd, level, opt, p, uintptr(len(s)))
2683+}
2684+
2685+func SetsockoptTimeval(fd, level, opt int, tv *Timeval) (err error) {
2686+ return setsockopt(fd, level, opt, unsafe.Pointer(tv), unsafe.Sizeof(*tv))
2687+}
2688+
2689+func SetsockoptUint64(fd, level, opt int, value uint64) (err error) {
2690+ return setsockopt(fd, level, opt, unsafe.Pointer(&value), 8)
2691+}
2692+
2693+func Socket(domain, typ, proto int) (fd int, err error) {
2694+ if domain == AF_INET6 && SocketDisableIPv6 {
2695+ return -1, EAFNOSUPPORT
2696+ }
2697+ fd, err = socket(domain, typ, proto)
2698+ return
2699+}
2700+
2701+func Socketpair(domain, typ, proto int) (fd [2]int, err error) {
2702+ var fdx [2]int32
2703+ err = socketpair(domain, typ, proto, &fdx)
2704+ if err == nil {
2705+ fd[0] = int(fdx[0])
2706+ fd[1] = int(fdx[1])
2707+ }
2708+ return
2709+}
2710+
2711+var ioSync int64
2712+
2713+func CloseOnExec(fd int) { fcntl(fd, F_SETFD, FD_CLOEXEC) }
2714+
2715+func SetNonblock(fd int, nonblocking bool) (err error) {
2716+ flag, err := fcntl(fd, F_GETFL, 0)
2717+ if err != nil {
2718+ return err
2719+ }
2720+ if nonblocking {
2721+ flag |= O_NONBLOCK
2722+ } else {
2723+ flag &= ^O_NONBLOCK
2724+ }
2725+ _, err = fcntl(fd, F_SETFL, flag)
2726+ return err
2727+}
2728+
2729+// Exec calls execve(2), which replaces the calling executable in the process
2730+// tree. argv0 should be the full path to an executable ("/bin/ls") and the
2731+// executable name should also be the first argument in argv (["ls", "-l"]).
2732+// envv are the environment variables that should be passed to the new
2733+// process (["USER=go", "PWD=/tmp"]).
2734+func Exec(argv0 string, argv []string, envv []string) error {
2735+ return syscall.Exec(argv0, argv, envv)
2736+}
2737+
2738+func Getag(path string) (ccsid uint16, flag uint16, err error) {
2739+ var val [8]byte
2740+ sz, err := Getxattr(path, "ccsid", val[:])
2741+ if err != nil {
2742+ return
2743+ }
2744+ ccsid = uint16(EncodeData(val[0:sz]))
2745+ sz, err = Getxattr(path, "flags", val[:])
2746+ if err != nil {
2747+ return
2748+ }
2749+ flag = uint16(EncodeData(val[0:sz]) >> 15)
2750+ return
2751+}
2752+
2753+// Mount begin
2754+func impl_Mount(source string, target string, fstype string, flags uintptr, data string) (err error) {
2755+ var _p0 *byte
2756+ _p0, err = BytePtrFromString(source)
2757+ if err != nil {
2758+ return
2759+ }
2760+ var _p1 *byte
2761+ _p1, err = BytePtrFromString(target)
2762+ if err != nil {
2763+ return
2764+ }
2765+ var _p2 *byte
2766+ _p2, err = BytePtrFromString(fstype)
2767+ if err != nil {
2768+ return
2769+ }
2770+ var _p3 *byte
2771+ _p3, err = BytePtrFromString(data)
2772+ if err != nil {
2773+ return
2774+ }
2775+ runtime.EnterSyscall()
2776+ r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___MOUNT1_A<<4, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(_p3)))
2777+ runtime.ExitSyscall()
2778+ if int64(r0) == -1 {
2779+ err = errnoErr2(e1, e2)
2780+ }
2781+ return
2782+}
2783+
2784+//go:nosplit
2785+func get_MountAddr() *(func(source string, target string, fstype string, flags uintptr, data string) (err error))
2786+
2787+var Mount = enter_Mount
2788+
2789+func enter_Mount(source string, target string, fstype string, flags uintptr, data string) (err error) {
2790+ funcref := get_MountAddr()
2791+ if validMount() {
2792+ *funcref = impl_Mount
2793+ } else {
2794+ *funcref = legacyMount
2795+ }
2796+ return (*funcref)(source, target, fstype, flags, data)
2797+}
2798+
2799+func legacyMount(source string, target string, fstype string, flags uintptr, data string) (err error) {
2800+ if needspace := 8 - len(fstype); needspace <= 0 {
2801+ fstype = fstype[0:8]
2802+ } else {
2803+ fstype += " "[0:needspace]
2804+ }
2805+ return mount_LE(target, source, fstype, uint32(flags), int32(len(data)), data)
2806+}
2807+
2808+func validMount() bool {
2809+ if funcptrtest(GetZosLibVec()+SYS___MOUNT1_A<<4, "") == 0 {
2810+ if name, err := getLeFuncName(GetZosLibVec() + SYS___MOUNT1_A<<4); err == nil {
2811+ return name == "__mount1_a"
2812+ }
2813+ }
2814+ return false
2815+}
2816+
2817+// Mount end
2818+
2819+// Unmount begin
2820+func impl_Unmount(target string, flags int) (err error) {
2821+ var _p0 *byte
2822+ _p0, err = BytePtrFromString(target)
2823+ if err != nil {
2824+ return
2825+ }
2826+ runtime.EnterSyscall()
2827+ r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___UMOUNT2_A<<4, uintptr(unsafe.Pointer(_p0)), uintptr(flags))
2828+ runtime.ExitSyscall()
2829+ if int64(r0) == -1 {
2830+ err = errnoErr2(e1, e2)
2831+ }
2832+ return
2833+}
2834+
2835+//go:nosplit
2836+func get_UnmountAddr() *(func(target string, flags int) (err error))
2837+
2838+var Unmount = enter_Unmount
2839+
2840+func enter_Unmount(target string, flags int) (err error) {
2841+ funcref := get_UnmountAddr()
2842+ if funcptrtest(GetZosLibVec()+SYS___UMOUNT2_A<<4, "") == 0 {
2843+ *funcref = impl_Unmount
2844+ } else {
2845+ *funcref = legacyUnmount
2846+ }
2847+ return (*funcref)(target, flags)
2848+}
2849+
2850+func legacyUnmount(name string, mtm int) (err error) {
2851+ // mountpoint is always a full path and starts with a '/'
2852+ // check if input string is not a mountpoint but a filesystem name
2853+ if name[0] != '/' {
2854+ return unmount_LE(name, mtm)
2855+ }
2856+ // treat name as mountpoint
2857+ b2s := func(arr []byte) string {
2858+ var str string
2859+ for i := 0; i < len(arr); i++ {
2860+ if arr[i] == 0 {
2861+ str = string(arr[:i])
2862+ break
2863+ }
2864+ }
2865+ return str
2866+ }
2867+ var buffer struct {
2868+ header W_Mnth
2869+ fsinfo [64]W_Mntent
2870+ }
2871+ fs_count, err := W_Getmntent_A((*byte)(unsafe.Pointer(&buffer)), int(unsafe.Sizeof(buffer)))
2872+ if err == nil {
2873+ err = EINVAL
2874+ for i := 0; i < fs_count; i++ {
2875+ if b2s(buffer.fsinfo[i].Mountpoint[:]) == name {
2876+ err = unmount_LE(b2s(buffer.fsinfo[i].Fsname[:]), mtm)
2877+ break
2878+ }
2879+ }
2880+ } else if fs_count == 0 {
2881+ err = EINVAL
2882+ }
2883+ return err
2884+}
2885+
2886+// Unmount end
2887+
2888+func direntIno(buf []byte) (uint64, bool) {
2889+ return readInt(buf, unsafe.Offsetof(Dirent{}.Ino), unsafe.Sizeof(Dirent{}.Ino))
2890+}
2891+
2892+func direntReclen(buf []byte) (uint64, bool) {
2893+ return readInt(buf, unsafe.Offsetof(Dirent{}.Reclen), unsafe.Sizeof(Dirent{}.Reclen))
2894+}
2895+
2896+func direntNamlen(buf []byte) (uint64, bool) {
2897+ reclen, ok := direntReclen(buf)
2898+ if !ok {
2899+ return 0, false
2900+ }
2901+ return reclen - uint64(unsafe.Offsetof(Dirent{}.Name)), true
2902+}
2903+
2904+func direntLeToDirentUnix(dirent *direntLE, dir uintptr, path string) (Dirent, error) {
2905+ var d Dirent
2906+
2907+ d.Ino = uint64(dirent.Ino)
2908+ offset, err := Telldir(dir)
2909+ if err != nil {
2910+ return d, err
2911+ }
2912+
2913+ d.Off = int64(offset)
2914+ s := string(bytes.Split(dirent.Name[:], []byte{0})[0])
2915+ copy(d.Name[:], s)
2916+
2917+ d.Reclen = uint16(24 + len(d.NameString()))
2918+ var st Stat_t
2919+ path = path + "/" + s
2920+ err = Lstat(path, &st)
2921+ if err != nil {
2922+ return d, err
2923+ }
2924+
2925+ d.Type = uint8(st.Mode >> 24)
2926+ return d, err
2927+}
2928+
2929+func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {
2930+ // Simulation of Getdirentries port from the Darwin implementation.
2931+ // COMMENTS FROM DARWIN:
2932+ // It's not the full required semantics, but should handle the case
2933+ // of calling Getdirentries or ReadDirent repeatedly.
2934+ // It won't handle assigning the results of lseek to *basep, or handle
2935+ // the directory being edited underfoot.
2936+
2937+ skip, err := Seek(fd, 0, 1 /* SEEK_CUR */)
2938+ if err != nil {
2939+ return 0, err
2940+ }
2941+
2942+ // Get path from fd to avoid unavailable call (fdopendir)
2943+ path, err := ZosFdToPath(fd)
2944+ if err != nil {
2945+ return 0, err
2946+ }
2947+ d, err := Opendir(path)
2948+ if err != nil {
2949+ return 0, err
2950+ }
2951+ defer Closedir(d)
2952+
2953+ var cnt int64
2954+ for {
2955+ var entryLE direntLE
2956+ var entrypLE *direntLE
2957+ e := Readdir_r(d, &entryLE, &entrypLE)
2958+ if e != nil {
2959+ return n, e
2960+ }
2961+ if entrypLE == nil {
2962+ break
2963+ }
2964+ if skip > 0 {
2965+ skip--
2966+ cnt++
2967+ continue
2968+ }
2969+
2970+ // Dirent on zos has a different structure
2971+ entry, e := direntLeToDirentUnix(&entryLE, d, path)
2972+ if e != nil {
2973+ return n, e
2974+ }
2975+
2976+ reclen := int(entry.Reclen)
2977+ if reclen > len(buf) {
2978+ // Not enough room. Return for now.
2979+ // The counter will let us know where we should start up again.
2980+ // Note: this strategy for suspending in the middle and
2981+ // restarting is O(n^2) in the length of the directory. Oh well.
2982+ break
2983+ }
2984+
2985+ // Copy entry into return buffer.
2986+ s := unsafe.Slice((*byte)(unsafe.Pointer(&entry)), reclen)
2987+ copy(buf, s)
2988+
2989+ buf = buf[reclen:]
2990+ n += reclen
2991+ cnt++
2992+ }
2993+ // Set the seek offset of the input fd to record
2994+ // how many files we've already returned.
2995+ _, err = Seek(fd, cnt, 0 /* SEEK_SET */)
2996+ if err != nil {
2997+ return n, err
2998+ }
2999+
3000+ return n, nil
3001+}
3002+
3003+func Err2ad() (eadd *int) {
3004+ r0, _, _ := CallLeFuncWithErr(GetZosLibVec() + SYS___ERR2AD<<4)
3005+ eadd = (*int)(unsafe.Pointer(r0))
3006+ return
3007+}
3008+
3009+func ZosConsolePrintf(format string, v ...interface{}) (int, error) {
3010+ type __cmsg struct {
3011+ _ uint16
3012+ _ [2]uint8
3013+ __msg_length uint32
3014+ __msg uintptr
3015+ _ [4]uint8
3016+ }
3017+ msg := fmt.Sprintf(format, v...)
3018+ strptr := unsafe.Pointer((*reflect.StringHeader)(unsafe.Pointer(&msg)).Data)
3019+ len := (*reflect.StringHeader)(unsafe.Pointer(&msg)).Len
3020+ cmsg := __cmsg{__msg_length: uint32(len), __msg: uintptr(strptr)}
3021+ cmd := uint32(0)
3022+ runtime.EnterSyscall()
3023+ rc, err2, err1 := CallLeFuncWithErr(GetZosLibVec()+SYS_____CONSOLE_A<<4, uintptr(unsafe.Pointer(&cmsg)), 0, uintptr(unsafe.Pointer(&cmd)))
3024+ runtime.ExitSyscall()
3025+ if rc != 0 {
3026+ return 0, fmt.Errorf("%s (errno2=0x%x)\n", err1.Error(), err2)
3027+ }
3028+ return 0, nil
3029+}
3030+func ZosStringToEbcdicBytes(str string, nullterm bool) (ebcdicBytes []byte) {
3031+ if nullterm {
3032+ ebcdicBytes = []byte(str + "\x00")
3033+ } else {
3034+ ebcdicBytes = []byte(str)
3035+ }
3036+ A2e(ebcdicBytes)
3037+ return
3038+}
3039+func ZosEbcdicBytesToString(b []byte, trimRight bool) (str string) {
3040+ res := make([]byte, len(b))
3041+ copy(res, b)
3042+ E2a(res)
3043+ if trimRight {
3044+ str = string(bytes.TrimRight(res, " \x00"))
3045+ } else {
3046+ str = string(res)
3047+ }
3048+ return
3049+}
3050+
3051+func fdToPath(dirfd int) (path string, err error) {
3052+ var buffer [1024]byte
3053+ // w_ctrl()
3054+ ret := runtime.CallLeFuncByPtr(runtime.XplinkLibvec+SYS_W_IOCTL<<4,
3055+ []uintptr{uintptr(dirfd), 17, 1024, uintptr(unsafe.Pointer(&buffer[0]))})
3056+ if ret == 0 {
3057+ zb := bytes.IndexByte(buffer[:], 0)
3058+ if zb == -1 {
3059+ zb = len(buffer)
3060+ }
3061+ // __e2a_l()
3062+ runtime.CallLeFuncByPtr(runtime.XplinkLibvec+SYS___E2A_L<<4,
3063+ []uintptr{uintptr(unsafe.Pointer(&buffer[0])), uintptr(zb)})
3064+ return string(buffer[:zb]), nil
3065+ }
3066+ // __errno()
3067+ errno := int(*(*int32)(unsafe.Pointer(runtime.CallLeFuncByPtr(runtime.XplinkLibvec+SYS___ERRNO<<4,
3068+ []uintptr{}))))
3069+ // __errno2()
3070+ errno2 := int(runtime.CallLeFuncByPtr(runtime.XplinkLibvec+SYS___ERRNO2<<4,
3071+ []uintptr{}))
3072+ // strerror_r()
3073+ ret = runtime.CallLeFuncByPtr(runtime.XplinkLibvec+SYS_STRERROR_R<<4,
3074+ []uintptr{uintptr(errno), uintptr(unsafe.Pointer(&buffer[0])), 1024})
3075+ if ret == 0 {
3076+ zb := bytes.IndexByte(buffer[:], 0)
3077+ if zb == -1 {
3078+ zb = len(buffer)
3079+ }
3080+ return "", fmt.Errorf("%s (errno2=0x%x)", buffer[:zb], errno2)
3081+ } else {
3082+ return "", fmt.Errorf("fdToPath errno %d (errno2=0x%x)", errno, errno2)
3083+ }
3084+}
3085+
3086+func impl_Mkfifoat(dirfd int, path string, mode uint32) (err error) {
3087+ var _p0 *byte
3088+ _p0, err = BytePtrFromString(path)
3089+ if err != nil {
3090+ return
3091+ }
3092+ runtime.EnterSyscall()
3093+ r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___MKFIFOAT_A<<4, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))
3094+ runtime.ExitSyscall()
3095+ if int64(r0) == -1 {
3096+ err = errnoErr2(e1, e2)
3097+ }
3098+ return
3099+}
3100+
3101+//go:nosplit
3102+func get_MkfifoatAddr() *(func(dirfd int, path string, mode uint32) (err error))
3103+
3104+var Mkfifoat = enter_Mkfifoat
3105+
3106+func enter_Mkfifoat(dirfd int, path string, mode uint32) (err error) {
3107+ funcref := get_MkfifoatAddr()
3108+ if funcptrtest(GetZosLibVec()+SYS___MKFIFOAT_A<<4, "") == 0 {
3109+ *funcref = impl_Mkfifoat
3110+ } else {
3111+ *funcref = legacy_Mkfifoat
3112+ }
3113+ return (*funcref)(dirfd, path, mode)
3114+}
3115+
3116+func legacy_Mkfifoat(dirfd int, path string, mode uint32) (err error) {
3117+ dirname, err := ZosFdToPath(dirfd)
3118+ if err != nil {
3119+ return err
3120+ }
3121+ return Mkfifo(dirname+"/"+path, mode)
3122+}
3123+
3124+//sys Posix_openpt(oflag int) (fd int, err error) = SYS_POSIX_OPENPT
3125+//sys Grantpt(fildes int) (rc int, err error) = SYS_GRANTPT
3126+//sys Unlockpt(fildes int) (rc int, err error) = SYS_UNLOCKPT
3127+
3128+func fcntlAsIs(fd uintptr, cmd int, arg uintptr) (val int, err error) {
3129+ runtime.EnterSyscall()
3130+ r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_FCNTL<<4, uintptr(fd), uintptr(cmd), arg)
3131+ runtime.ExitSyscall()
3132+ val = int(r0)
3133+ if int64(r0) == -1 {
3134+ err = errnoErr2(e1, e2)
3135+ }
3136+ return
3137+}
3138+
3139+func Fcntl(fd uintptr, cmd int, op interface{}) (ret int, err error) {
3140+ switch op.(type) {
3141+ case *Flock_t:
3142+ err = FcntlFlock(fd, cmd, op.(*Flock_t))
3143+ if err != nil {
3144+ ret = -1
3145+ }
3146+ return
3147+ case int:
3148+ return FcntlInt(fd, cmd, op.(int))
3149+ case *F_cnvrt:
3150+ return fcntlAsIs(fd, cmd, uintptr(unsafe.Pointer(op.(*F_cnvrt))))
3151+ case unsafe.Pointer:
3152+ return fcntlAsIs(fd, cmd, uintptr(op.(unsafe.Pointer)))
3153+ default:
3154+ return -1, EINVAL
3155+ }
3156+ return
3157+}
3158+
3159+func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {
3160+ if raceenabled {
3161+ raceReleaseMerge(unsafe.Pointer(&ioSync))
3162+ }
3163+ return sendfile(outfd, infd, offset, count)
3164+}
3165+
3166+func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {
3167+ // TODO: use LE call instead if the call is implemented
3168+ originalOffset, err := Seek(infd, 0, SEEK_CUR)
3169+ if err != nil {
3170+ return -1, err
3171+ }
3172+ //start reading data from in_fd
3173+ if offset != nil {
3174+ _, err := Seek(infd, *offset, SEEK_SET)
3175+ if err != nil {
3176+ return -1, err
3177+ }
3178+ }
3179+
3180+ buf := make([]byte, count)
3181+ readBuf := make([]byte, 0)
3182+ var n int = 0
3183+ for i := 0; i < count; i += n {
3184+ n, err := Read(infd, buf)
3185+ if n == 0 {
3186+ if err != nil {
3187+ return -1, err
3188+ } else { // EOF
3189+ break
3190+ }
3191+ }
3192+ readBuf = append(readBuf, buf...)
3193+ buf = buf[0:0]
3194+ }
3195+
3196+ n2, err := Write(outfd, readBuf)
3197+ if err != nil {
3198+ return -1, err
3199+ }
3200+
3201+ //When sendfile() returns, this variable will be set to the
3202+ // offset of the byte following the last byte that was read.
3203+ if offset != nil {
3204+ *offset = *offset + int64(n)
3205+ // If offset is not NULL, then sendfile() does not modify the file
3206+ // offset of in_fd
3207+ _, err := Seek(infd, originalOffset, SEEK_SET)
3208+ if err != nil {
3209+ return -1, err
3210+ }
3211+ }
3212+ return n2, nil
3213+}
@@ -0,0 +1,3213 @@
1+// Copyright 2020 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+//go:build zos && s390x
6+
7+// Many of the following syscalls are not available on all versions of z/OS.
8+// Some missing calls have legacy implementations/simulations but others
9+// will be missing completely. To achieve consistent failing behaviour on
10+// legacy systems, we first test the function pointer via a safeloading
11+// mechanism to see if the function exists on a given system. Then execution
12+// is branched to either continue the function call, or return an error.
13+
14+package unix
15+
16+import (
17+ "bytes"
18+ "fmt"
19+ "os"
20+ "reflect"
21+ "regexp"
22+ "runtime"
23+ "sort"
24+ "strings"
25+ "sync"
26+ "syscall"
27+ "unsafe"
28+)
29+
30+//go:noescape
31+func initZosLibVec()
32+
33+//go:noescape
34+func GetZosLibVec() uintptr
35+
36+func init() {
37+ initZosLibVec()
38+ r0, _, _ := CallLeFuncWithPtrReturn(GetZosLibVec()+SYS_____GETENV_A<<4, uintptr(unsafe.Pointer(&([]byte("__ZOS_XSYSTRACE\x00"))[0])))
39+ if r0 != 0 {
40+ n, _, _ := CallLeFuncWithPtrReturn(GetZosLibVec()+SYS___ATOI_A<<4, r0)
41+ ZosTraceLevel = int(n)
42+ r0, _, _ := CallLeFuncWithPtrReturn(GetZosLibVec()+SYS_____GETENV_A<<4, uintptr(unsafe.Pointer(&([]byte("__ZOS_XSYSTRACEFD\x00"))[0])))
43+ if r0 != 0 {
44+ fd, _, _ := CallLeFuncWithPtrReturn(GetZosLibVec()+SYS___ATOI_A<<4, r0)
45+ f := os.NewFile(fd, "zostracefile")
46+ if f != nil {
47+ ZosTracefile = f
48+ }
49+ }
50+
51+ }
52+}
53+
54+//go:noescape
55+func CallLeFuncWithErr(funcdesc uintptr, parms ...uintptr) (ret, errno2 uintptr, err Errno)
56+
57+//go:noescape
58+func CallLeFuncWithPtrReturn(funcdesc uintptr, parms ...uintptr) (ret, errno2 uintptr, err Errno)
59+
60+// -------------------------------
61+// pointer validity test
62+// good pointer returns 0
63+// bad pointer returns 1
64+//
65+//go:nosplit
66+func ptrtest(uintptr) uint64
67+
68+// Load memory at ptr location with error handling if the location is invalid
69+//
70+//go:noescape
71+func safeload(ptr uintptr) (value uintptr, error uintptr)
72+
73+const (
74+ entrypointLocationOffset = 8 // From function descriptor
75+
76+ xplinkEyecatcher = 0x00c300c500c500f1 // ".C.E.E.1"
77+ eyecatcherOffset = 16 // From function entrypoint (negative)
78+ ppa1LocationOffset = 8 // From function entrypoint (negative)
79+
80+ nameLenOffset = 0x14 // From PPA1 start
81+ nameOffset = 0x16 // From PPA1 start
82+)
83+
84+func getPpaOffset(funcptr uintptr) int64 {
85+ entrypoint, err := safeload(funcptr + entrypointLocationOffset)
86+ if err != 0 {
87+ return -1
88+ }
89+
90+ // XPLink functions have ".C.E.E.1" as the first 8 bytes (EBCDIC)
91+ val, err := safeload(entrypoint - eyecatcherOffset)
92+ if err != 0 {
93+ return -1
94+ }
95+ if val != xplinkEyecatcher {
96+ return -1
97+ }
98+
99+ ppaoff, err := safeload(entrypoint - ppa1LocationOffset)
100+ if err != 0 {
101+ return -1
102+ }
103+
104+ ppaoff >>= 32
105+ return int64(ppaoff)
106+}
107+
108+//-------------------------------
109+// function descriptor pointer validity test
110+// good pointer returns 0
111+// bad pointer returns 1
112+
113+// TODO: currently mksyscall_zos_s390x.go generate empty string for funcName
114+// have correct funcName pass to the funcptrtest function
115+func funcptrtest(funcptr uintptr, funcName string) uint64 {
116+ entrypoint, err := safeload(funcptr + entrypointLocationOffset)
117+ if err != 0 {
118+ return 1
119+ }
120+
121+ ppaoff := getPpaOffset(funcptr)
122+ if ppaoff == -1 {
123+ return 1
124+ }
125+
126+ // PPA1 offset value is from the start of the entire function block, not the entrypoint
127+ ppa1 := (entrypoint - eyecatcherOffset) + uintptr(ppaoff)
128+
129+ nameLen, err := safeload(ppa1 + nameLenOffset)
130+ if err != 0 {
131+ return 1
132+ }
133+
134+ nameLen >>= 48
135+ if nameLen > 128 {
136+ return 1
137+ }
138+
139+ // no function name input to argument end here
140+ if funcName == "" {
141+ return 0
142+ }
143+
144+ var funcname [128]byte
145+ for i := 0; i < int(nameLen); i += 8 {
146+ v, err := safeload(ppa1 + nameOffset + uintptr(i))
147+ if err != 0 {
148+ return 1
149+ }
150+ funcname[i] = byte(v >> 56)
151+ funcname[i+1] = byte(v >> 48)
152+ funcname[i+2] = byte(v >> 40)
153+ funcname[i+3] = byte(v >> 32)
154+ funcname[i+4] = byte(v >> 24)
155+ funcname[i+5] = byte(v >> 16)
156+ funcname[i+6] = byte(v >> 8)
157+ funcname[i+7] = byte(v)
158+ }
159+
160+ runtime.CallLeFuncByPtr(runtime.XplinkLibvec+SYS___E2A_L<<4, // __e2a_l
161+ []uintptr{uintptr(unsafe.Pointer(&funcname[0])), nameLen})
162+
163+ name := string(funcname[:nameLen])
164+ if name != funcName {
165+ return 1
166+ }
167+
168+ return 0
169+}
170+
171+// For detection of capabilities on a system.
172+// Is function descriptor f a valid function?
173+func isValidLeFunc(f uintptr) error {
174+ ret := funcptrtest(f, "")
175+ if ret != 0 {
176+ return fmt.Errorf("Bad pointer, not an LE function ")
177+ }
178+ return nil
179+}
180+
181+// Retrieve function name from descriptor
182+func getLeFuncName(f uintptr) (string, error) {
183+ // assume it has been checked, only check ppa1 validity here
184+ entry := ((*[2]uintptr)(unsafe.Pointer(f)))[1]
185+ preamp := ((*[4]uint32)(unsafe.Pointer(entry - eyecatcherOffset)))
186+
187+ offsetPpa1 := preamp[2]
188+ if offsetPpa1 > 0x0ffff {
189+ return "", fmt.Errorf("PPA1 offset seems too big 0x%x\n", offsetPpa1)
190+ }
191+
192+ ppa1 := uintptr(unsafe.Pointer(preamp)) + uintptr(offsetPpa1)
193+ res := ptrtest(ppa1)
194+ if res != 0 {
195+ return "", fmt.Errorf("PPA1 address not valid")
196+ }
197+
198+ size := *(*uint16)(unsafe.Pointer(ppa1 + nameLenOffset))
199+ if size > 128 {
200+ return "", fmt.Errorf("Function name seems too long, length=%d\n", size)
201+ }
202+
203+ var name [128]byte
204+ funcname := (*[128]byte)(unsafe.Pointer(ppa1 + nameOffset))
205+ copy(name[0:size], funcname[0:size])
206+
207+ runtime.CallLeFuncByPtr(runtime.XplinkLibvec+SYS___E2A_L<<4, // __e2a_l
208+ []uintptr{uintptr(unsafe.Pointer(&name[0])), uintptr(size)})
209+
210+ return string(name[:size]), nil
211+}
212+
213+// Check z/OS version
214+func zosLeVersion() (version, release uint32) {
215+ p1 := (*(*uintptr)(unsafe.Pointer(uintptr(1208)))) >> 32
216+ p1 = *(*uintptr)(unsafe.Pointer(uintptr(p1 + 88)))
217+ p1 = *(*uintptr)(unsafe.Pointer(uintptr(p1 + 8)))
218+ p1 = *(*uintptr)(unsafe.Pointer(uintptr(p1 + 984)))
219+ vrm := *(*uint32)(unsafe.Pointer(p1 + 80))
220+ version = (vrm & 0x00ff0000) >> 16
221+ release = (vrm & 0x0000ff00) >> 8
222+ return
223+}
224+
225+// returns a zos C FILE * for stdio fd 0, 1, 2
226+func ZosStdioFilep(fd int32) uintptr {
227+ return uintptr(*(*uint64)(unsafe.Pointer(uintptr(*(*uint64)(unsafe.Pointer(uintptr(*(*uint64)(unsafe.Pointer(uintptr(uint64(*(*uint32)(unsafe.Pointer(uintptr(1208)))) + 80))) + uint64((fd+2)<<3))))))))
228+}
229+
230+func copyStat(stat *Stat_t, statLE *Stat_LE_t) {
231+ stat.Dev = uint64(statLE.Dev)
232+ stat.Ino = uint64(statLE.Ino)
233+ stat.Nlink = uint64(statLE.Nlink)
234+ stat.Mode = uint32(statLE.Mode)
235+ stat.Uid = uint32(statLE.Uid)
236+ stat.Gid = uint32(statLE.Gid)
237+ stat.Rdev = uint64(statLE.Rdev)
238+ stat.Size = statLE.Size
239+ stat.Atim.Sec = int64(statLE.Atim)
240+ stat.Atim.Nsec = 0 //zos doesn't return nanoseconds
241+ stat.Mtim.Sec = int64(statLE.Mtim)
242+ stat.Mtim.Nsec = 0 //zos doesn't return nanoseconds
243+ stat.Ctim.Sec = int64(statLE.Ctim)
244+ stat.Ctim.Nsec = 0 //zos doesn't return nanoseconds
245+ stat.Blksize = int64(statLE.Blksize)
246+ stat.Blocks = statLE.Blocks
247+}
248+
249+func svcCall(fnptr unsafe.Pointer, argv *unsafe.Pointer, dsa *uint64)
250+func svcLoad(name *byte) unsafe.Pointer
251+func svcUnload(name *byte, fnptr unsafe.Pointer) int64
252+
253+func (d *Dirent) NameString() string {
254+ if d == nil {
255+ return ""
256+ }
257+ s := string(d.Name[:])
258+ idx := strings.IndexByte(s, 0)
259+ if idx == -1 {
260+ return s
261+ } else {
262+ return s[:idx]
263+ }
264+}
265+
266+func DecodeData(dest []byte, sz int, val uint64) {
267+ for i := 0; i < sz; i++ {
268+ dest[sz-1-i] = byte((val >> (uint64(i * 8))) & 0xff)
269+ }
270+}
271+
272+func EncodeData(data []byte) uint64 {
273+ var value uint64
274+ sz := len(data)
275+ for i := 0; i < sz; i++ {
276+ value |= uint64(data[i]) << uint64(((sz - i - 1) * 8))
277+ }
278+ return value
279+}
280+
281+func (sa *SockaddrInet4) sockaddr() (unsafe.Pointer, _Socklen, error) {
282+ if sa.Port < 0 || sa.Port > 0xFFFF {
283+ return nil, 0, EINVAL
284+ }
285+ sa.raw.Len = SizeofSockaddrInet4
286+ sa.raw.Family = AF_INET
287+ p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port))
288+ p[0] = byte(sa.Port >> 8)
289+ p[1] = byte(sa.Port)
290+ for i := 0; i < len(sa.Addr); i++ {
291+ sa.raw.Addr[i] = sa.Addr[i]
292+ }
293+ return unsafe.Pointer(&sa.raw), _Socklen(sa.raw.Len), nil
294+}
295+
296+func (sa *SockaddrInet6) sockaddr() (unsafe.Pointer, _Socklen, error) {
297+ if sa.Port < 0 || sa.Port > 0xFFFF {
298+ return nil, 0, EINVAL
299+ }
300+ sa.raw.Len = SizeofSockaddrInet6
301+ sa.raw.Family = AF_INET6
302+ p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port))
303+ p[0] = byte(sa.Port >> 8)
304+ p[1] = byte(sa.Port)
305+ sa.raw.Scope_id = sa.ZoneId
306+ for i := 0; i < len(sa.Addr); i++ {
307+ sa.raw.Addr[i] = sa.Addr[i]
308+ }
309+ return unsafe.Pointer(&sa.raw), _Socklen(sa.raw.Len), nil
310+}
311+
312+func (sa *SockaddrUnix) sockaddr() (unsafe.Pointer, _Socklen, error) {
313+ name := sa.Name
314+ n := len(name)
315+ if n >= len(sa.raw.Path) || n == 0 {
316+ return nil, 0, EINVAL
317+ }
318+ sa.raw.Len = byte(3 + n) // 2 for Family, Len; 1 for NUL
319+ sa.raw.Family = AF_UNIX
320+ for i := 0; i < n; i++ {
321+ sa.raw.Path[i] = int8(name[i])
322+ }
323+ return unsafe.Pointer(&sa.raw), _Socklen(sa.raw.Len), nil
324+}
325+
326+func anyToSockaddr(_ int, rsa *RawSockaddrAny) (Sockaddr, error) {
327+ // TODO(neeilan): Implement use of first param (fd)
328+ switch rsa.Addr.Family {
329+ case AF_UNIX:
330+ pp := (*RawSockaddrUnix)(unsafe.Pointer(rsa))
331+ sa := new(SockaddrUnix)
332+ // For z/OS, only replace NUL with @ when the
333+ // length is not zero.
334+ if pp.Len != 0 && pp.Path[0] == 0 {
335+ // "Abstract" Unix domain socket.
336+ // Rewrite leading NUL as @ for textual display.
337+ // (This is the standard convention.)
338+ // Not friendly to overwrite in place,
339+ // but the callers below don't care.
340+ pp.Path[0] = '@'
341+ }
342+
343+ // Assume path ends at NUL.
344+ //
345+ // For z/OS, the length of the name is a field
346+ // in the structure. To be on the safe side, we
347+ // will still scan the name for a NUL but only
348+ // to the length provided in the structure.
349+ //
350+ // This is not technically the Linux semantics for
351+ // abstract Unix domain sockets--they are supposed
352+ // to be uninterpreted fixed-size binary blobs--but
353+ // everyone uses this convention.
354+ n := 0
355+ for n < int(pp.Len) && pp.Path[n] != 0 {
356+ n++
357+ }
358+ sa.Name = string(unsafe.Slice((*byte)(unsafe.Pointer(&pp.Path[0])), n))
359+ return sa, nil
360+
361+ case AF_INET:
362+ pp := (*RawSockaddrInet4)(unsafe.Pointer(rsa))
363+ sa := new(SockaddrInet4)
364+ p := (*[2]byte)(unsafe.Pointer(&pp.Port))
365+ sa.Port = int(p[0])<<8 + int(p[1])
366+ for i := 0; i < len(sa.Addr); i++ {
367+ sa.Addr[i] = pp.Addr[i]
368+ }
369+ return sa, nil
370+
371+ case AF_INET6:
372+ pp := (*RawSockaddrInet6)(unsafe.Pointer(rsa))
373+ sa := new(SockaddrInet6)
374+ p := (*[2]byte)(unsafe.Pointer(&pp.Port))
375+ sa.Port = int(p[0])<<8 + int(p[1])
376+ sa.ZoneId = pp.Scope_id
377+ for i := 0; i < len(sa.Addr); i++ {
378+ sa.Addr[i] = pp.Addr[i]
379+ }
380+ return sa, nil
381+ }
382+ return nil, EAFNOSUPPORT
383+}
384+
385+func Accept(fd int) (nfd int, sa Sockaddr, err error) {
386+ var rsa RawSockaddrAny
387+ var len _Socklen = SizeofSockaddrAny
388+ nfd, err = accept(fd, &rsa, &len)
389+ if err != nil {
390+ return
391+ }
392+ // TODO(neeilan): Remove 0 in call
393+ sa, err = anyToSockaddr(0, &rsa)
394+ if err != nil {
395+ Close(nfd)
396+ nfd = 0
397+ }
398+ return
399+}
400+
401+func Accept4(fd int, flags int) (nfd int, sa Sockaddr, err error) {
402+ var rsa RawSockaddrAny
403+ var len _Socklen = SizeofSockaddrAny
404+ nfd, err = accept4(fd, &rsa, &len, flags)
405+ if err != nil {
406+ return
407+ }
408+ if len > SizeofSockaddrAny {
409+ panic("RawSockaddrAny too small")
410+ }
411+ // TODO(neeilan): Remove 0 in call
412+ sa, err = anyToSockaddr(0, &rsa)
413+ if err != nil {
414+ Close(nfd)
415+ nfd = 0
416+ }
417+ return
418+}
419+
420+func Ctermid() (tty string, err error) {
421+ var termdev [1025]byte
422+ runtime.EnterSyscall()
423+ r0, err2, err1 := CallLeFuncWithPtrReturn(GetZosLibVec()+SYS___CTERMID_A<<4, uintptr(unsafe.Pointer(&termdev[0])))
424+ runtime.ExitSyscall()
425+ if r0 == 0 {
426+ return "", fmt.Errorf("%s (errno2=0x%x)\n", err1.Error(), err2)
427+ }
428+ s := string(termdev[:])
429+ idx := strings.Index(s, string(rune(0)))
430+ if idx == -1 {
431+ tty = s
432+ } else {
433+ tty = s[:idx]
434+ }
435+ return
436+}
437+
438+func (iov *Iovec) SetLen(length int) {
439+ iov.Len = uint64(length)
440+}
441+
442+func (msghdr *Msghdr) SetControllen(length int) {
443+ msghdr.Controllen = int32(length)
444+}
445+
446+func (cmsg *Cmsghdr) SetLen(length int) {
447+ cmsg.Len = int32(length)
448+}
449+
450+//sys fcntl(fd int, cmd int, arg int) (val int, err error)
451+//sys Flistxattr(fd int, dest []byte) (sz int, err error) = SYS___FLISTXATTR_A
452+//sys Fremovexattr(fd int, attr string) (err error) = SYS___FREMOVEXATTR_A
453+//sys read(fd int, p []byte) (n int, err error)
454+//sys write(fd int, p []byte) (n int, err error)
455+
456+//sys Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) = SYS___FGETXATTR_A
457+//sys Fsetxattr(fd int, attr string, data []byte, flag int) (err error) = SYS___FSETXATTR_A
458+
459+//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) = SYS___ACCEPT_A
460+//sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) = SYS___ACCEPT4_A
461+//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) = SYS___BIND_A
462+//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) = SYS___CONNECT_A
463+//sysnb getgroups(n int, list *_Gid_t) (nn int, err error)
464+//sysnb setgroups(n int, list *_Gid_t) (err error)
465+//sys getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error)
466+//sys setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error)
467+//sysnb socket(domain int, typ int, proto int) (fd int, err error)
468+//sysnb socketpair(domain int, typ int, proto int, fd *[2]int32) (err error)
469+//sysnb getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) = SYS___GETPEERNAME_A
470+//sysnb getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) = SYS___GETSOCKNAME_A
471+//sys Removexattr(path string, attr string) (err error) = SYS___REMOVEXATTR_A
472+//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) = SYS___RECVFROM_A
473+//sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) = SYS___SENDTO_A
474+//sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) = SYS___RECVMSG_A
475+//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) = SYS___SENDMSG_A
476+//sys mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) = SYS_MMAP
477+//sys munmap(addr uintptr, length uintptr) (err error) = SYS_MUNMAP
478+//sys ioctl(fd int, req int, arg uintptr) (err error) = SYS_IOCTL
479+//sys ioctlPtr(fd int, req int, arg unsafe.Pointer) (err error) = SYS_IOCTL
480+//sys shmat(id int, addr uintptr, flag int) (ret uintptr, err error) = SYS_SHMAT
481+//sys shmctl(id int, cmd int, buf *SysvShmDesc) (result int, err error) = SYS_SHMCTL64
482+//sys shmdt(addr uintptr) (err error) = SYS_SHMDT
483+//sys shmget(key int, size int, flag int) (id int, err error) = SYS_SHMGET
484+
485+//sys Access(path string, mode uint32) (err error) = SYS___ACCESS_A
486+//sys Chdir(path string) (err error) = SYS___CHDIR_A
487+//sys Chown(path string, uid int, gid int) (err error) = SYS___CHOWN_A
488+//sys Chmod(path string, mode uint32) (err error) = SYS___CHMOD_A
489+//sys Creat(path string, mode uint32) (fd int, err error) = SYS___CREAT_A
490+//sys Dup(oldfd int) (fd int, err error)
491+//sys Dup2(oldfd int, newfd int) (err error)
492+//sys Dup3(oldfd int, newfd int, flags int) (err error) = SYS_DUP3
493+//sys Dirfd(dirp uintptr) (fd int, err error) = SYS_DIRFD
494+//sys EpollCreate(size int) (fd int, err error) = SYS_EPOLL_CREATE
495+//sys EpollCreate1(flags int) (fd int, err error) = SYS_EPOLL_CREATE1
496+//sys EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) = SYS_EPOLL_CTL
497+//sys EpollPwait(epfd int, events []EpollEvent, msec int, sigmask *int) (n int, err error) = SYS_EPOLL_PWAIT
498+//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) = SYS_EPOLL_WAIT
499+//sys Errno2() (er2 int) = SYS___ERRNO2
500+//sys Eventfd(initval uint, flags int) (fd int, err error) = SYS_EVENTFD
501+//sys Exit(code int)
502+//sys Faccessat(dirfd int, path string, mode uint32, flags int) (err error) = SYS___FACCESSAT_A
503+
504+func Faccessat2(dirfd int, path string, mode uint32, flags int) (err error) {
505+ return Faccessat(dirfd, path, mode, flags)
506+}
507+
508+//sys Fchdir(fd int) (err error)
509+//sys Fchmod(fd int, mode uint32) (err error)
510+//sys Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) = SYS___FCHMODAT_A
511+//sys Fchown(fd int, uid int, gid int) (err error)
512+//sys Fchownat(fd int, path string, uid int, gid int, flags int) (err error) = SYS___FCHOWNAT_A
513+//sys FcntlInt(fd uintptr, cmd int, arg int) (retval int, err error) = SYS_FCNTL
514+//sys Fdatasync(fd int) (err error) = SYS_FDATASYNC
515+//sys fstat(fd int, stat *Stat_LE_t) (err error)
516+//sys fstatat(dirfd int, path string, stat *Stat_LE_t, flags int) (err error) = SYS___FSTATAT_A
517+
518+func Fstat(fd int, stat *Stat_t) (err error) {
519+ var statLE Stat_LE_t
520+ err = fstat(fd, &statLE)
521+ copyStat(stat, &statLE)
522+ return
523+}
524+
525+func Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) {
526+ var statLE Stat_LE_t
527+ err = fstatat(dirfd, path, &statLE, flags)
528+ copyStat(stat, &statLE)
529+ return
530+}
531+
532+func impl_Getxattr(path string, attr string, dest []byte) (sz int, err error) {
533+ var _p0 *byte
534+ _p0, err = BytePtrFromString(path)
535+ if err != nil {
536+ return
537+ }
538+ var _p1 *byte
539+ _p1, err = BytePtrFromString(attr)
540+ if err != nil {
541+ return
542+ }
543+ var _p2 unsafe.Pointer
544+ if len(dest) > 0 {
545+ _p2 = unsafe.Pointer(&dest[0])
546+ } else {
547+ _p2 = unsafe.Pointer(&_zero)
548+ }
549+ r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___GETXATTR_A<<4, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)))
550+ sz = int(r0)
551+ if int64(r0) == -1 {
552+ err = errnoErr2(e1, e2)
553+ }
554+ return
555+}
556+
557+//go:nosplit
558+func get_GetxattrAddr() *(func(path string, attr string, dest []byte) (sz int, err error))
559+
560+var Getxattr = enter_Getxattr
561+
562+func enter_Getxattr(path string, attr string, dest []byte) (sz int, err error) {
563+ funcref := get_GetxattrAddr()
564+ if validGetxattr() {
565+ *funcref = impl_Getxattr
566+ } else {
567+ *funcref = error_Getxattr
568+ }
569+ return (*funcref)(path, attr, dest)
570+}
571+
572+func error_Getxattr(path string, attr string, dest []byte) (sz int, err error) {
573+ return -1, ENOSYS
574+}
575+
576+func validGetxattr() bool {
577+ if funcptrtest(GetZosLibVec()+SYS___GETXATTR_A<<4, "") == 0 {
578+ if name, err := getLeFuncName(GetZosLibVec() + SYS___GETXATTR_A<<4); err == nil {
579+ return name == "__getxattr_a"
580+ }
581+ }
582+ return false
583+}
584+
585+//sys Lgetxattr(link string, attr string, dest []byte) (sz int, err error) = SYS___LGETXATTR_A
586+//sys Lsetxattr(path string, attr string, data []byte, flags int) (err error) = SYS___LSETXATTR_A
587+
588+func impl_Setxattr(path string, attr string, data []byte, flags int) (err error) {
589+ var _p0 *byte
590+ _p0, err = BytePtrFromString(path)
591+ if err != nil {
592+ return
593+ }
594+ var _p1 *byte
595+ _p1, err = BytePtrFromString(attr)
596+ if err != nil {
597+ return
598+ }
599+ var _p2 unsafe.Pointer
600+ if len(data) > 0 {
601+ _p2 = unsafe.Pointer(&data[0])
602+ } else {
603+ _p2 = unsafe.Pointer(&_zero)
604+ }
605+ r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___SETXATTR_A<<4, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags))
606+ if int64(r0) == -1 {
607+ err = errnoErr2(e1, e2)
608+ }
609+ return
610+}
611+
612+//go:nosplit
613+func get_SetxattrAddr() *(func(path string, attr string, data []byte, flags int) (err error))
614+
615+var Setxattr = enter_Setxattr
616+
617+func enter_Setxattr(path string, attr string, data []byte, flags int) (err error) {
618+ funcref := get_SetxattrAddr()
619+ if validSetxattr() {
620+ *funcref = impl_Setxattr
621+ } else {
622+ *funcref = error_Setxattr
623+ }
624+ return (*funcref)(path, attr, data, flags)
625+}
626+
627+func error_Setxattr(path string, attr string, data []byte, flags int) (err error) {
628+ return ENOSYS
629+}
630+
631+func validSetxattr() bool {
632+ if funcptrtest(GetZosLibVec()+SYS___SETXATTR_A<<4, "") == 0 {
633+ if name, err := getLeFuncName(GetZosLibVec() + SYS___SETXATTR_A<<4); err == nil {
634+ return name == "__setxattr_a"
635+ }
636+ }
637+ return false
638+}
639+
640+//sys Fstatfs(fd int, buf *Statfs_t) (err error) = SYS_FSTATFS
641+//sys Fstatvfs(fd int, stat *Statvfs_t) (err error) = SYS_FSTATVFS
642+//sys Fsync(fd int) (err error)
643+//sys Futimes(fd int, tv []Timeval) (err error) = SYS_FUTIMES
644+//sys Futimesat(dirfd int, path string, tv []Timeval) (err error) = SYS___FUTIMESAT_A
645+//sys Ftruncate(fd int, length int64) (err error)
646+//sys Getrandom(buf []byte, flags int) (n int, err error) = SYS_GETRANDOM
647+//sys InotifyInit() (fd int, err error) = SYS_INOTIFY_INIT
648+//sys InotifyInit1(flags int) (fd int, err error) = SYS_INOTIFY_INIT1
649+//sys InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) = SYS___INOTIFY_ADD_WATCH_A
650+//sys InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) = SYS_INOTIFY_RM_WATCH
651+//sys Listxattr(path string, dest []byte) (sz int, err error) = SYS___LISTXATTR_A
652+//sys Llistxattr(path string, dest []byte) (sz int, err error) = SYS___LLISTXATTR_A
653+//sys Lremovexattr(path string, attr string) (err error) = SYS___LREMOVEXATTR_A
654+//sys Lutimes(path string, tv []Timeval) (err error) = SYS___LUTIMES_A
655+//sys Mprotect(b []byte, prot int) (err error) = SYS_MPROTECT
656+//sys Msync(b []byte, flags int) (err error) = SYS_MSYNC
657+//sys Console2(cmsg *ConsMsg2, modstr *byte, concmd *uint32) (err error) = SYS___CONSOLE2
658+
659+// Pipe2 begin
660+
661+//go:nosplit
662+func getPipe2Addr() *(func([]int, int) error)
663+
664+var Pipe2 = pipe2Enter
665+
666+func pipe2Enter(p []int, flags int) (err error) {
667+ if funcptrtest(GetZosLibVec()+SYS_PIPE2<<4, "") == 0 {
668+ *getPipe2Addr() = pipe2Impl
669+ } else {
670+ *getPipe2Addr() = pipe2Error
671+ }
672+ return (*getPipe2Addr())(p, flags)
673+}
674+
675+func pipe2Impl(p []int, flags int) (err error) {
676+ var pp [2]_C_int
677+ r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_PIPE2<<4, uintptr(unsafe.Pointer(&pp[0])), uintptr(flags))
678+ if int64(r0) == -1 {
679+ err = errnoErr2(e1, e2)
680+ } else {
681+ p[0] = int(pp[0])
682+ p[1] = int(pp[1])
683+ }
684+ return
685+}
686+func pipe2Error(p []int, flags int) (err error) {
687+ return fmt.Errorf("Pipe2 is not available on this system")
688+}
689+
690+// Pipe2 end
691+
692+//sys Poll(fds []PollFd, timeout int) (n int, err error) = SYS_POLL
693+
694+func Readdir(dir uintptr) (dirent *Dirent, err error) {
695+ runtime.EnterSyscall()
696+ r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___READDIR_A<<4, uintptr(dir))
697+ runtime.ExitSyscall()
698+ dirent = (*Dirent)(unsafe.Pointer(r0))
699+ if int64(r0) == -1 {
700+ err = errnoErr2(e1, e2)
701+ }
702+ return
703+}
704+
705+//sys Readdir_r(dirp uintptr, entry *direntLE, result **direntLE) (err error) = SYS___READDIR_R_A
706+//sys Statfs(path string, buf *Statfs_t) (err error) = SYS___STATFS_A
707+//sys Syncfs(fd int) (err error) = SYS_SYNCFS
708+//sys Times(tms *Tms) (ticks uintptr, err error) = SYS_TIMES
709+//sys W_Getmntent(buff *byte, size int) (lastsys int, err error) = SYS_W_GETMNTENT
710+//sys W_Getmntent_A(buff *byte, size int) (lastsys int, err error) = SYS___W_GETMNTENT_A
711+
712+//sys mount_LE(path string, filesystem string, fstype string, mtm uint32, parmlen int32, parm string) (err error) = SYS___MOUNT_A
713+//sys unmount_LE(filesystem string, mtm int) (err error) = SYS___UMOUNT_A
714+//sys Chroot(path string) (err error) = SYS___CHROOT_A
715+//sys Select(nmsgsfds int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (ret int, err error) = SYS_SELECT
716+//sysnb Uname(buf *Utsname) (err error) = SYS_____OSNAME_A
717+//sys Unshare(flags int) (err error) = SYS_UNSHARE
718+
719+func Ptsname(fd int) (name string, err error) {
720+ runtime.EnterSyscall()
721+ r0, e2, e1 := CallLeFuncWithPtrReturn(GetZosLibVec()+SYS___PTSNAME_A<<4, uintptr(fd))
722+ runtime.ExitSyscall()
723+ if r0 == 0 {
724+ err = errnoErr2(e1, e2)
725+ } else {
726+ name = u2s(unsafe.Pointer(r0))
727+ }
728+ return
729+}
730+
731+func u2s(cstr unsafe.Pointer) string {
732+ str := (*[1024]uint8)(cstr)
733+ i := 0
734+ for str[i] != 0 {
735+ i++
736+ }
737+ return string(str[:i])
738+}
739+
740+func Close(fd int) (err error) {
741+ runtime.EnterSyscall()
742+ r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_CLOSE<<4, uintptr(fd))
743+ runtime.ExitSyscall()
744+ for i := 0; e1 == EAGAIN && i < 10; i++ {
745+ runtime.EnterSyscall()
746+ CallLeFuncWithErr(GetZosLibVec()+SYS_USLEEP<<4, uintptr(10))
747+ runtime.ExitSyscall()
748+ runtime.EnterSyscall()
749+ r0, e2, e1 = CallLeFuncWithErr(GetZosLibVec()+SYS_CLOSE<<4, uintptr(fd))
750+ runtime.ExitSyscall()
751+ }
752+ if r0 != 0 {
753+ err = errnoErr2(e1, e2)
754+ }
755+ return
756+}
757+
758+// Dummy function: there are no semantics for Madvise on z/OS
759+func Madvise(b []byte, advice int) (err error) {
760+ return
761+}
762+
763+func Mmap(fd int, offset int64, length int, prot int, flags int) (data []byte, err error) {
764+ return mapper.Mmap(fd, offset, length, prot, flags)
765+}
766+
767+func Munmap(b []byte) (err error) {
768+ return mapper.Munmap(b)
769+}
770+
771+func MmapPtr(fd int, offset int64, addr unsafe.Pointer, length uintptr, prot int, flags int) (ret unsafe.Pointer, err error) {
772+ xaddr, err := mapper.mmap(uintptr(addr), length, prot, flags, fd, offset)
773+ return unsafe.Pointer(xaddr), err
774+}
775+
776+func MunmapPtr(addr unsafe.Pointer, length uintptr) (err error) {
777+ return mapper.munmap(uintptr(addr), length)
778+}
779+
780+//sys Gethostname(buf []byte) (err error) = SYS___GETHOSTNAME_A
781+//sysnb Getgid() (gid int)
782+//sysnb Getpid() (pid int)
783+//sysnb Getpgid(pid int) (pgid int, err error) = SYS_GETPGID
784+
785+func Getpgrp() (pid int) {
786+ pid, _ = Getpgid(0)
787+ return
788+}
789+
790+//sysnb Getppid() (pid int)
791+//sys Getpriority(which int, who int) (prio int, err error)
792+//sysnb Getrlimit(resource int, rlim *Rlimit) (err error) = SYS_GETRLIMIT
793+
794+//sysnb getrusage(who int, rusage *rusage_zos) (err error) = SYS_GETRUSAGE
795+
796+func Getrusage(who int, rusage *Rusage) (err error) {
797+ var ruz rusage_zos
798+ err = getrusage(who, &ruz)
799+ //Only the first two fields of Rusage are set
800+ rusage.Utime.Sec = ruz.Utime.Sec
801+ rusage.Utime.Usec = int64(ruz.Utime.Usec)
802+ rusage.Stime.Sec = ruz.Stime.Sec
803+ rusage.Stime.Usec = int64(ruz.Stime.Usec)
804+ return
805+}
806+
807+//sys Getegid() (egid int) = SYS_GETEGID
808+//sys Geteuid() (euid int) = SYS_GETEUID
809+//sysnb Getsid(pid int) (sid int, err error) = SYS_GETSID
810+//sysnb Getuid() (uid int)
811+//sysnb Kill(pid int, sig Signal) (err error)
812+//sys Lchown(path string, uid int, gid int) (err error) = SYS___LCHOWN_A
813+//sys Link(path string, link string) (err error) = SYS___LINK_A
814+//sys Linkat(oldDirFd int, oldPath string, newDirFd int, newPath string, flags int) (err error) = SYS___LINKAT_A
815+//sys Listen(s int, n int) (err error)
816+//sys lstat(path string, stat *Stat_LE_t) (err error) = SYS___LSTAT_A
817+
818+func Lstat(path string, stat *Stat_t) (err error) {
819+ var statLE Stat_LE_t
820+ err = lstat(path, &statLE)
821+ copyStat(stat, &statLE)
822+ return
823+}
824+
825+// for checking symlinks begins with $VERSION/ $SYSNAME/ $SYSSYMR/ $SYSSYMA/
826+func isSpecialPath(path []byte) (v bool) {
827+ var special = [4][8]byte{
828+ {'V', 'E', 'R', 'S', 'I', 'O', 'N', '/'},
829+ {'S', 'Y', 'S', 'N', 'A', 'M', 'E', '/'},
830+ {'S', 'Y', 'S', 'S', 'Y', 'M', 'R', '/'},
831+ {'S', 'Y', 'S', 'S', 'Y', 'M', 'A', '/'}}
832+
833+ var i, j int
834+ for i = 0; i < len(special); i++ {
835+ for j = 0; j < len(special[i]); j++ {
836+ if path[j] != special[i][j] {
837+ break
838+ }
839+ }
840+ if j == len(special[i]) {
841+ return true
842+ }
843+ }
844+ return false
845+}
846+
847+func realpath(srcpath string, abspath []byte) (pathlen int, errno int) {
848+ var source [1024]byte
849+ copy(source[:], srcpath)
850+ source[len(srcpath)] = 0
851+ ret := runtime.CallLeFuncByPtr(runtime.XplinkLibvec+SYS___REALPATH_A<<4, //__realpath_a()
852+ []uintptr{uintptr(unsafe.Pointer(&source[0])),
853+ uintptr(unsafe.Pointer(&abspath[0]))})
854+ if ret != 0 {
855+ index := bytes.IndexByte(abspath[:], byte(0))
856+ if index != -1 {
857+ return index, 0
858+ }
859+ } else {
860+ errptr := (*int)(unsafe.Pointer(runtime.CallLeFuncByPtr(runtime.XplinkLibvec+SYS___ERRNO<<4, []uintptr{}))) //__errno()
861+ return 0, *errptr
862+ }
863+ return 0, 245 // EBADDATA 245
864+}
865+
866+func Readlink(path string, buf []byte) (n int, err error) {
867+ var _p0 *byte
868+ _p0, err = BytePtrFromString(path)
869+ if err != nil {
870+ return
871+ }
872+ var _p1 unsafe.Pointer
873+ if len(buf) > 0 {
874+ _p1 = unsafe.Pointer(&buf[0])
875+ } else {
876+ _p1 = unsafe.Pointer(&_zero)
877+ }
878+ n = int(runtime.CallLeFuncByPtr(runtime.XplinkLibvec+SYS___READLINK_A<<4,
879+ []uintptr{uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))}))
880+ runtime.KeepAlive(unsafe.Pointer(_p0))
881+ if n == -1 {
882+ value := *(*int32)(unsafe.Pointer(runtime.CallLeFuncByPtr(runtime.XplinkLibvec+SYS___ERRNO<<4, []uintptr{})))
883+ err = errnoErr(Errno(value))
884+ } else {
885+ if buf[0] == '$' {
886+ if isSpecialPath(buf[1:9]) {
887+ cnt, err1 := realpath(path, buf)
888+ if err1 == 0 {
889+ n = cnt
890+ }
891+ }
892+ }
893+ }
894+ return
895+}
896+
897+func impl_Readlinkat(dirfd int, path string, buf []byte) (n int, err error) {
898+ var _p0 *byte
899+ _p0, err = BytePtrFromString(path)
900+ if err != nil {
901+ return
902+ }
903+ var _p1 unsafe.Pointer
904+ if len(buf) > 0 {
905+ _p1 = unsafe.Pointer(&buf[0])
906+ } else {
907+ _p1 = unsafe.Pointer(&_zero)
908+ }
909+ runtime.EnterSyscall()
910+ r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___READLINKAT_A<<4, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)))
911+ runtime.ExitSyscall()
912+ n = int(r0)
913+ if int64(r0) == -1 {
914+ err = errnoErr2(e1, e2)
915+ return n, err
916+ } else {
917+ if buf[0] == '$' {
918+ if isSpecialPath(buf[1:9]) {
919+ cnt, err1 := realpath(path, buf)
920+ if err1 == 0 {
921+ n = cnt
922+ }
923+ }
924+ }
925+ }
926+ return
927+}
928+
929+//go:nosplit
930+func get_ReadlinkatAddr() *(func(dirfd int, path string, buf []byte) (n int, err error))
931+
932+var Readlinkat = enter_Readlinkat
933+
934+func enter_Readlinkat(dirfd int, path string, buf []byte) (n int, err error) {
935+ funcref := get_ReadlinkatAddr()
936+ if funcptrtest(GetZosLibVec()+SYS___READLINKAT_A<<4, "") == 0 {
937+ *funcref = impl_Readlinkat
938+ } else {
939+ *funcref = error_Readlinkat
940+ }
941+ return (*funcref)(dirfd, path, buf)
942+}
943+
944+func error_Readlinkat(dirfd int, path string, buf []byte) (n int, err error) {
945+ n = -1
946+ err = ENOSYS
947+ return
948+}
949+
950+//sys Mkdir(path string, mode uint32) (err error) = SYS___MKDIR_A
951+//sys Mkdirat(dirfd int, path string, mode uint32) (err error) = SYS___MKDIRAT_A
952+//sys Mkfifo(path string, mode uint32) (err error) = SYS___MKFIFO_A
953+//sys Mknod(path string, mode uint32, dev int) (err error) = SYS___MKNOD_A
954+//sys Mknodat(dirfd int, path string, mode uint32, dev int) (err error) = SYS___MKNODAT_A
955+//sys PivotRoot(newroot string, oldroot string) (err error) = SYS___PIVOT_ROOT_A
956+//sys Pread(fd int, p []byte, offset int64) (n int, err error)
957+//sys Pwrite(fd int, p []byte, offset int64) (n int, err error)
958+//sys Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) = SYS___PRCTL_A
959+//sysnb Prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) = SYS_PRLIMIT
960+//sys Rename(from string, to string) (err error) = SYS___RENAME_A
961+//sys Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) = SYS___RENAMEAT_A
962+//sys Renameat2(olddirfd int, oldpath string, newdirfd int, newpath string, flags uint) (err error) = SYS___RENAMEAT2_A
963+//sys Rmdir(path string) (err error) = SYS___RMDIR_A
964+//sys Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK
965+//sys Setegid(egid int) (err error) = SYS_SETEGID
966+//sys Seteuid(euid int) (err error) = SYS_SETEUID
967+//sys Sethostname(p []byte) (err error) = SYS___SETHOSTNAME_A
968+//sys Setns(fd int, nstype int) (err error) = SYS_SETNS
969+//sys Setpriority(which int, who int, prio int) (err error)
970+//sysnb Setpgid(pid int, pgid int) (err error) = SYS_SETPGID
971+//sysnb Setrlimit(resource int, lim *Rlimit) (err error)
972+//sysnb Setregid(rgid int, egid int) (err error) = SYS_SETREGID
973+//sysnb Setreuid(ruid int, euid int) (err error) = SYS_SETREUID
974+//sysnb Setsid() (pid int, err error) = SYS_SETSID
975+//sys Setuid(uid int) (err error) = SYS_SETUID
976+//sys Setgid(uid int) (err error) = SYS_SETGID
977+//sys Shutdown(fd int, how int) (err error)
978+//sys stat(path string, statLE *Stat_LE_t) (err error) = SYS___STAT_A
979+
980+func Stat(path string, sta *Stat_t) (err error) {
981+ var statLE Stat_LE_t
982+ err = stat(path, &statLE)
983+ copyStat(sta, &statLE)
984+ return
985+}
986+
987+//sys Symlink(path string, link string) (err error) = SYS___SYMLINK_A
988+//sys Symlinkat(oldPath string, dirfd int, newPath string) (err error) = SYS___SYMLINKAT_A
989+//sys Sync() = SYS_SYNC
990+//sys Truncate(path string, length int64) (err error) = SYS___TRUNCATE_A
991+//sys Tcgetattr(fildes int, termptr *Termios) (err error) = SYS_TCGETATTR
992+//sys Tcsetattr(fildes int, when int, termptr *Termios) (err error) = SYS_TCSETATTR
993+//sys Umask(mask int) (oldmask int)
994+//sys Unlink(path string) (err error) = SYS___UNLINK_A
995+//sys Unlinkat(dirfd int, path string, flags int) (err error) = SYS___UNLINKAT_A
996+//sys Utime(path string, utim *Utimbuf) (err error) = SYS___UTIME_A
997+
998+//sys open(path string, mode int, perm uint32) (fd int, err error) = SYS___OPEN_A
999+
1000+func Open(path string, mode int, perm uint32) (fd int, err error) {
1001+ if mode&O_ACCMODE == 0 {
1002+ mode |= O_RDONLY
1003+ }
1004+ return open(path, mode, perm)
1005+}
1006+
1007+//sys openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) = SYS___OPENAT_A
1008+
1009+func Openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) {
1010+ if flags&O_ACCMODE == 0 {
1011+ flags |= O_RDONLY
1012+ }
1013+ return openat(dirfd, path, flags, mode)
1014+}
1015+
1016+//sys openat2(dirfd int, path string, open_how *OpenHow, size int) (fd int, err error) = SYS___OPENAT2_A
1017+
1018+func Openat2(dirfd int, path string, how *OpenHow) (fd int, err error) {
1019+ if how.Flags&O_ACCMODE == 0 {
1020+ how.Flags |= O_RDONLY
1021+ }
1022+ return openat2(dirfd, path, how, SizeofOpenHow)
1023+}
1024+
1025+func ZosFdToPath(dirfd int) (path string, err error) {
1026+ var buffer [1024]byte
1027+ runtime.EnterSyscall()
1028+ ret, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_W_IOCTL<<4, uintptr(dirfd), 17, 1024, uintptr(unsafe.Pointer(&buffer[0])))
1029+ runtime.ExitSyscall()
1030+ if ret == 0 {
1031+ zb := bytes.IndexByte(buffer[:], 0)
1032+ if zb == -1 {
1033+ zb = len(buffer)
1034+ }
1035+ CallLeFuncWithErr(GetZosLibVec()+SYS___E2A_L<<4, uintptr(unsafe.Pointer(&buffer[0])), uintptr(zb))
1036+ return string(buffer[:zb]), nil
1037+ }
1038+ return "", errnoErr2(e1, e2)
1039+}
1040+
1041+//sys remove(path string) (err error)
1042+
1043+func Remove(path string) error {
1044+ return remove(path)
1045+}
1046+
1047+const ImplementsGetwd = true
1048+
1049+func Getcwd(buf []byte) (n int, err error) {
1050+ var p unsafe.Pointer
1051+ if len(buf) > 0 {
1052+ p = unsafe.Pointer(&buf[0])
1053+ } else {
1054+ p = unsafe.Pointer(&_zero)
1055+ }
1056+ runtime.EnterSyscall()
1057+ r0, e2, e1 := CallLeFuncWithPtrReturn(GetZosLibVec()+SYS___GETCWD_A<<4, uintptr(p), uintptr(len(buf)))
1058+ runtime.ExitSyscall()
1059+ n = clen(buf) + 1
1060+ if r0 == 0 {
1061+ err = errnoErr2(e1, e2)
1062+ }
1063+ return
1064+}
1065+
1066+func Getwd() (wd string, err error) {
1067+ var buf [PathMax]byte
1068+ n, err := Getcwd(buf[0:])
1069+ if err != nil {
1070+ return "", err
1071+ }
1072+ // Getcwd returns the number of bytes written to buf, including the NUL.
1073+ if n < 1 || n > len(buf) || buf[n-1] != 0 {
1074+ return "", EINVAL
1075+ }
1076+ return string(buf[0 : n-1]), nil
1077+}
1078+
1079+func Getgroups() (gids []int, err error) {
1080+ n, err := getgroups(0, nil)
1081+ if err != nil {
1082+ return nil, err
1083+ }
1084+ if n == 0 {
1085+ return nil, nil
1086+ }
1087+
1088+ // Sanity check group count. Max is 1<<16 on Linux.
1089+ if n < 0 || n > 1<<20 {
1090+ return nil, EINVAL
1091+ }
1092+
1093+ a := make([]_Gid_t, n)
1094+ n, err = getgroups(n, &a[0])
1095+ if err != nil {
1096+ return nil, err
1097+ }
1098+ gids = make([]int, n)
1099+ for i, v := range a[0:n] {
1100+ gids[i] = int(v)
1101+ }
1102+ return
1103+}
1104+
1105+func Setgroups(gids []int) (err error) {
1106+ if len(gids) == 0 {
1107+ return setgroups(0, nil)
1108+ }
1109+
1110+ a := make([]_Gid_t, len(gids))
1111+ for i, v := range gids {
1112+ a[i] = _Gid_t(v)
1113+ }
1114+ return setgroups(len(a), &a[0])
1115+}
1116+
1117+func gettid() uint64
1118+
1119+func Gettid() (tid int) {
1120+ return int(gettid())
1121+}
1122+
1123+type WaitStatus uint32
1124+
1125+// Wait status is 7 bits at bottom, either 0 (exited),
1126+// 0x7F (stopped), or a signal number that caused an exit.
1127+// The 0x80 bit is whether there was a core dump.
1128+// An extra number (exit code, signal causing a stop)
1129+// is in the high bits. At least that's the idea.
1130+// There are various irregularities. For example, the
1131+// "continued" status is 0xFFFF, distinguishing itself
1132+// from stopped via the core dump bit.
1133+
1134+const (
1135+ mask = 0x7F
1136+ core = 0x80
1137+ exited = 0x00
1138+ stopped = 0x7F
1139+ shift = 8
1140+)
1141+
1142+func (w WaitStatus) Exited() bool { return w&mask == exited }
1143+
1144+func (w WaitStatus) Signaled() bool { return w&mask != stopped && w&mask != exited }
1145+
1146+func (w WaitStatus) Stopped() bool { return w&0xFF == stopped }
1147+
1148+func (w WaitStatus) Continued() bool { return w == 0xFFFF }
1149+
1150+func (w WaitStatus) CoreDump() bool { return w.Signaled() && w&core != 0 }
1151+
1152+func (w WaitStatus) ExitStatus() int {
1153+ if !w.Exited() {
1154+ return -1
1155+ }
1156+ return int(w>>shift) & 0xFF
1157+}
1158+
1159+func (w WaitStatus) Signal() Signal {
1160+ if !w.Signaled() {
1161+ return -1
1162+ }
1163+ return Signal(w & mask)
1164+}
1165+
1166+func (w WaitStatus) StopSignal() Signal {
1167+ if !w.Stopped() {
1168+ return -1
1169+ }
1170+ return Signal(w>>shift) & 0xFF
1171+}
1172+
1173+func (w WaitStatus) TrapCause() int { return -1 }
1174+
1175+//sys waitid(idType int, id int, info *Siginfo, options int) (err error)
1176+
1177+func Waitid(idType int, id int, info *Siginfo, options int, rusage *Rusage) (err error) {
1178+ return waitid(idType, id, info, options)
1179+}
1180+
1181+//sys waitpid(pid int, wstatus *_C_int, options int) (wpid int, err error)
1182+
1183+func impl_Wait4(pid int, wstatus *WaitStatus, options int, rusage *Rusage) (wpid int, err error) {
1184+ runtime.EnterSyscall()
1185+ r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_WAIT4<<4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)))
1186+ runtime.ExitSyscall()
1187+ wpid = int(r0)
1188+ if int64(r0) == -1 {
1189+ err = errnoErr2(e1, e2)
1190+ }
1191+ return
1192+}
1193+
1194+//go:nosplit
1195+func get_Wait4Addr() *(func(pid int, wstatus *WaitStatus, options int, rusage *Rusage) (wpid int, err error))
1196+
1197+var Wait4 = enter_Wait4
1198+
1199+func enter_Wait4(pid int, wstatus *WaitStatus, options int, rusage *Rusage) (wpid int, err error) {
1200+ funcref := get_Wait4Addr()
1201+ if funcptrtest(GetZosLibVec()+SYS_WAIT4<<4, "") == 0 {
1202+ *funcref = impl_Wait4
1203+ } else {
1204+ *funcref = legacyWait4
1205+ }
1206+ return (*funcref)(pid, wstatus, options, rusage)
1207+}
1208+
1209+func legacyWait4(pid int, wstatus *WaitStatus, options int, rusage *Rusage) (wpid int, err error) {
1210+ // TODO(mundaym): z/OS doesn't have wait4. I don't think getrusage does what we want.
1211+ // At the moment rusage will not be touched.
1212+ var status _C_int
1213+ wpid, err = waitpid(pid, &status, options)
1214+ if wstatus != nil {
1215+ *wstatus = WaitStatus(status)
1216+ }
1217+ return
1218+}
1219+
1220+//sysnb gettimeofday(tv *timeval_zos) (err error)
1221+
1222+func Gettimeofday(tv *Timeval) (err error) {
1223+ var tvz timeval_zos
1224+ err = gettimeofday(&tvz)
1225+ tv.Sec = tvz.Sec
1226+ tv.Usec = int64(tvz.Usec)
1227+ return
1228+}
1229+
1230+func Time(t *Time_t) (tt Time_t, err error) {
1231+ var tv Timeval
1232+ err = Gettimeofday(&tv)
1233+ if err != nil {
1234+ return 0, err
1235+ }
1236+ if t != nil {
1237+ *t = Time_t(tv.Sec)
1238+ }
1239+ return Time_t(tv.Sec), nil
1240+}
1241+
1242+func setTimespec(sec, nsec int64) Timespec {
1243+ return Timespec{Sec: sec, Nsec: nsec}
1244+}
1245+
1246+func setTimeval(sec, usec int64) Timeval { //fix
1247+ return Timeval{Sec: sec, Usec: usec}
1248+}
1249+
1250+//sysnb pipe(p *[2]_C_int) (err error)
1251+
1252+func Pipe(p []int) (err error) {
1253+ if len(p) != 2 {
1254+ return EINVAL
1255+ }
1256+ var pp [2]_C_int
1257+ err = pipe(&pp)
1258+ p[0] = int(pp[0])
1259+ p[1] = int(pp[1])
1260+ return
1261+}
1262+
1263+//sys utimes(path string, timeval *[2]Timeval) (err error) = SYS___UTIMES_A
1264+
1265+func Utimes(path string, tv []Timeval) (err error) {
1266+ if tv == nil {
1267+ return utimes(path, nil)
1268+ }
1269+ if len(tv) != 2 {
1270+ return EINVAL
1271+ }
1272+ return utimes(path, (*[2]Timeval)(unsafe.Pointer(&tv[0])))
1273+}
1274+
1275+//sys utimensat(dirfd int, path string, ts *[2]Timespec, flags int) (err error) = SYS___UTIMENSAT_A
1276+
1277+func validUtimensat() bool {
1278+ if funcptrtest(GetZosLibVec()+SYS___UTIMENSAT_A<<4, "") == 0 {
1279+ if name, err := getLeFuncName(GetZosLibVec() + SYS___UTIMENSAT_A<<4); err == nil {
1280+ return name == "__utimensat_a"
1281+ }
1282+ }
1283+ return false
1284+}
1285+
1286+// Begin UtimesNano
1287+
1288+//go:nosplit
1289+func get_UtimesNanoAddr() *(func(path string, ts []Timespec) (err error))
1290+
1291+var UtimesNano = enter_UtimesNano
1292+
1293+func enter_UtimesNano(path string, ts []Timespec) (err error) {
1294+ funcref := get_UtimesNanoAddr()
1295+ if validUtimensat() {
1296+ *funcref = utimesNanoImpl
1297+ } else {
1298+ *funcref = legacyUtimesNano
1299+ }
1300+ return (*funcref)(path, ts)
1301+}
1302+
1303+func utimesNanoImpl(path string, ts []Timespec) (err error) {
1304+ if ts == nil {
1305+ return utimensat(AT_FDCWD, path, nil, 0)
1306+ }
1307+ if len(ts) != 2 {
1308+ return EINVAL
1309+ }
1310+ return utimensat(AT_FDCWD, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0)
1311+}
1312+
1313+func legacyUtimesNano(path string, ts []Timespec) (err error) {
1314+ if len(ts) != 2 {
1315+ return EINVAL
1316+ }
1317+ // Not as efficient as it could be because Timespec and
1318+ // Timeval have different types in the different OSes
1319+ tv := [2]Timeval{
1320+ NsecToTimeval(TimespecToNsec(ts[0])),
1321+ NsecToTimeval(TimespecToNsec(ts[1])),
1322+ }
1323+ return utimes(path, (*[2]Timeval)(unsafe.Pointer(&tv[0])))
1324+}
1325+
1326+// End UtimesNano
1327+
1328+// Begin UtimesNanoAt
1329+
1330+//go:nosplit
1331+func get_UtimesNanoAtAddr() *(func(dirfd int, path string, ts []Timespec, flags int) (err error))
1332+
1333+var UtimesNanoAt = enter_UtimesNanoAt
1334+
1335+func enter_UtimesNanoAt(dirfd int, path string, ts []Timespec, flags int) (err error) {
1336+ funcref := get_UtimesNanoAtAddr()
1337+ if validUtimensat() {
1338+ *funcref = utimesNanoAtImpl
1339+ } else {
1340+ *funcref = legacyUtimesNanoAt
1341+ }
1342+ return (*funcref)(dirfd, path, ts, flags)
1343+}
1344+
1345+func utimesNanoAtImpl(dirfd int, path string, ts []Timespec, flags int) (err error) {
1346+ if ts == nil {
1347+ return utimensat(dirfd, path, nil, flags)
1348+ }
1349+ if len(ts) != 2 {
1350+ return EINVAL
1351+ }
1352+ return utimensat(dirfd, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), flags)
1353+}
1354+
1355+func legacyUtimesNanoAt(dirfd int, path string, ts []Timespec, flags int) (err error) {
1356+ if path[0] != '/' {
1357+ dirPath, err := ZosFdToPath(dirfd)
1358+ if err != nil {
1359+ return err
1360+ }
1361+ path = dirPath + "/" + path
1362+ }
1363+ if flags == AT_SYMLINK_NOFOLLOW {
1364+ if len(ts) != 2 {
1365+ return EINVAL
1366+ }
1367+
1368+ if ts[0].Nsec >= 5e8 {
1369+ ts[0].Sec++
1370+ }
1371+ ts[0].Nsec = 0
1372+ if ts[1].Nsec >= 5e8 {
1373+ ts[1].Sec++
1374+ }
1375+ ts[1].Nsec = 0
1376+
1377+ // Not as efficient as it could be because Timespec and
1378+ // Timeval have different types in the different OSes
1379+ tv := []Timeval{
1380+ NsecToTimeval(TimespecToNsec(ts[0])),
1381+ NsecToTimeval(TimespecToNsec(ts[1])),
1382+ }
1383+ return Lutimes(path, tv)
1384+ }
1385+ return UtimesNano(path, ts)
1386+}
1387+
1388+// End UtimesNanoAt
1389+
1390+func Getsockname(fd int) (sa Sockaddr, err error) {
1391+ var rsa RawSockaddrAny
1392+ var len _Socklen = SizeofSockaddrAny
1393+ if err = getsockname(fd, &rsa, &len); err != nil {
1394+ return
1395+ }
1396+ // TODO(neeilan) : Remove this 0 ( added to get sys/unix compiling on z/OS )
1397+ return anyToSockaddr(0, &rsa)
1398+}
1399+
1400+const (
1401+ // identifier constants
1402+ nwmHeaderIdentifier = 0xd5e6d4c8
1403+ nwmFilterIdentifier = 0xd5e6d4c6
1404+ nwmTCPConnIdentifier = 0xd5e6d4c3
1405+ nwmRecHeaderIdentifier = 0xd5e6d4d9
1406+ nwmIPStatsIdentifier = 0xd5e6d4c9d7e2e340
1407+ nwmIPGStatsIdentifier = 0xd5e6d4c9d7c7e2e3
1408+ nwmTCPStatsIdentifier = 0xd5e6d4e3c3d7e2e3
1409+ nwmUDPStatsIdentifier = 0xd5e6d4e4c4d7e2e3
1410+ nwmICMPGStatsEntry = 0xd5e6d4c9c3d4d7c7
1411+ nwmICMPTStatsEntry = 0xd5e6d4c9c3d4d7e3
1412+
1413+ // nwmHeader constants
1414+ nwmVersion1 = 1
1415+ nwmVersion2 = 2
1416+ nwmCurrentVer = 2
1417+
1418+ nwmTCPConnType = 1
1419+ nwmGlobalStatsType = 14
1420+
1421+ // nwmFilter constants
1422+ nwmFilterLclAddrMask = 0x20000000 // Local address
1423+ nwmFilterSrcAddrMask = 0x20000000 // Source address
1424+ nwmFilterLclPortMask = 0x10000000 // Local port
1425+ nwmFilterSrcPortMask = 0x10000000 // Source port
1426+
1427+ // nwmConnEntry constants
1428+ nwmTCPStateClosed = 1
1429+ nwmTCPStateListen = 2
1430+ nwmTCPStateSynSent = 3
1431+ nwmTCPStateSynRcvd = 4
1432+ nwmTCPStateEstab = 5
1433+ nwmTCPStateFinWait1 = 6
1434+ nwmTCPStateFinWait2 = 7
1435+ nwmTCPStateClosWait = 8
1436+ nwmTCPStateLastAck = 9
1437+ nwmTCPStateClosing = 10
1438+ nwmTCPStateTimeWait = 11
1439+ nwmTCPStateDeletTCB = 12
1440+
1441+ // Existing constants on linux
1442+ BPF_TCP_CLOSE = 1
1443+ BPF_TCP_LISTEN = 2
1444+ BPF_TCP_SYN_SENT = 3
1445+ BPF_TCP_SYN_RECV = 4
1446+ BPF_TCP_ESTABLISHED = 5
1447+ BPF_TCP_FIN_WAIT1 = 6
1448+ BPF_TCP_FIN_WAIT2 = 7
1449+ BPF_TCP_CLOSE_WAIT = 8
1450+ BPF_TCP_LAST_ACK = 9
1451+ BPF_TCP_CLOSING = 10
1452+ BPF_TCP_TIME_WAIT = 11
1453+ BPF_TCP_NEW_SYN_RECV = -1
1454+ BPF_TCP_MAX_STATES = -2
1455+)
1456+
1457+type nwmTriplet struct {
1458+ offset uint32
1459+ length uint32
1460+ number uint32
1461+}
1462+
1463+type nwmQuadruplet struct {
1464+ offset uint32
1465+ length uint32
1466+ number uint32
1467+ match uint32
1468+}
1469+
1470+type nwmHeader struct {
1471+ ident uint32
1472+ length uint32
1473+ version uint16
1474+ nwmType uint16
1475+ bytesNeeded uint32
1476+ options uint32
1477+ _ [16]byte
1478+ inputDesc nwmTriplet
1479+ outputDesc nwmQuadruplet
1480+}
1481+
1482+type nwmFilter struct {
1483+ ident uint32
1484+ flags uint32
1485+ resourceName [8]byte
1486+ resourceId uint32
1487+ listenerId uint32
1488+ local [28]byte // union of sockaddr4 and sockaddr6
1489+ remote [28]byte // union of sockaddr4 and sockaddr6
1490+ _ uint16
1491+ _ uint16
1492+ asid uint16
1493+ _ [2]byte
1494+ tnLuName [8]byte
1495+ tnMonGrp uint32
1496+ tnAppl [8]byte
1497+ applData [40]byte
1498+ nInterface [16]byte
1499+ dVipa [16]byte
1500+ dVipaPfx uint16
1501+ dVipaPort uint16
1502+ dVipaFamily byte
1503+ _ [3]byte
1504+ destXCF [16]byte
1505+ destXCFPfx uint16
1506+ destXCFFamily byte
1507+ _ [1]byte
1508+ targIP [16]byte
1509+ targIPPfx uint16
1510+ targIPFamily byte
1511+ _ [1]byte
1512+ _ [20]byte
1513+}
1514+
1515+type nwmRecHeader struct {
1516+ ident uint32
1517+ length uint32
1518+ number byte
1519+ _ [3]byte
1520+}
1521+
1522+type nwmTCPStatsEntry struct {
1523+ ident uint64
1524+ currEstab uint32
1525+ activeOpened uint32
1526+ passiveOpened uint32
1527+ connClosed uint32
1528+ estabResets uint32
1529+ attemptFails uint32
1530+ passiveDrops uint32
1531+ timeWaitReused uint32
1532+ inSegs uint64
1533+ predictAck uint32
1534+ predictData uint32
1535+ inDupAck uint32
1536+ inBadSum uint32
1537+ inBadLen uint32
1538+ inShort uint32
1539+ inDiscOldTime uint32
1540+ inAllBeforeWin uint32
1541+ inSomeBeforeWin uint32
1542+ inAllAfterWin uint32
1543+ inSomeAfterWin uint32
1544+ inOutOfOrder uint32
1545+ inAfterClose uint32
1546+ inWinProbes uint32
1547+ inWinUpdates uint32
1548+ outWinUpdates uint32
1549+ outSegs uint64
1550+ outDelayAcks uint32
1551+ outRsts uint32
1552+ retransSegs uint32
1553+ retransTimeouts uint32
1554+ retransDrops uint32
1555+ pmtuRetrans uint32
1556+ pmtuErrors uint32
1557+ outWinProbes uint32
1558+ probeDrops uint32
1559+ keepAliveProbes uint32
1560+ keepAliveDrops uint32
1561+ finwait2Drops uint32
1562+ acceptCount uint64
1563+ inBulkQSegs uint64
1564+ inDiscards uint64
1565+ connFloods uint32
1566+ connStalls uint32
1567+ cfgEphemDef uint16
1568+ ephemInUse uint16
1569+ ephemHiWater uint16
1570+ flags byte
1571+ _ [1]byte
1572+ ephemExhaust uint32
1573+ smcRCurrEstabLnks uint32
1574+ smcRLnkActTimeOut uint32
1575+ smcRActLnkOpened uint32
1576+ smcRPasLnkOpened uint32
1577+ smcRLnksClosed uint32
1578+ smcRCurrEstab uint32
1579+ smcRActiveOpened uint32
1580+ smcRPassiveOpened uint32
1581+ smcRConnClosed uint32
1582+ smcRInSegs uint64
1583+ smcROutSegs uint64
1584+ smcRInRsts uint32
1585+ smcROutRsts uint32
1586+ smcDCurrEstabLnks uint32
1587+ smcDActLnkOpened uint32
1588+ smcDPasLnkOpened uint32
1589+ smcDLnksClosed uint32
1590+ smcDCurrEstab uint32
1591+ smcDActiveOpened uint32
1592+ smcDPassiveOpened uint32
1593+ smcDConnClosed uint32
1594+ smcDInSegs uint64
1595+ smcDOutSegs uint64
1596+ smcDInRsts uint32
1597+ smcDOutRsts uint32
1598+}
1599+
1600+type nwmConnEntry struct {
1601+ ident uint32
1602+ local [28]byte // union of sockaddr4 and sockaddr6
1603+ remote [28]byte // union of sockaddr4 and sockaddr6
1604+ startTime [8]byte // uint64, changed to prevent padding from being inserted
1605+ lastActivity [8]byte // uint64
1606+ bytesIn [8]byte // uint64
1607+ bytesOut [8]byte // uint64
1608+ inSegs [8]byte // uint64
1609+ outSegs [8]byte // uint64
1610+ state uint16
1611+ activeOpen byte
1612+ flag01 byte
1613+ outBuffered uint32
1614+ inBuffered uint32
1615+ maxSndWnd uint32
1616+ reXmtCount uint32
1617+ congestionWnd uint32
1618+ ssThresh uint32
1619+ roundTripTime uint32
1620+ roundTripVar uint32
1621+ sendMSS uint32
1622+ sndWnd uint32
1623+ rcvBufSize uint32
1624+ sndBufSize uint32
1625+ outOfOrderCount uint32
1626+ lcl0WindowCount uint32
1627+ rmt0WindowCount uint32
1628+ dupacks uint32
1629+ flag02 byte
1630+ sockOpt6Cont byte
1631+ asid uint16
1632+ resourceName [8]byte
1633+ resourceId uint32
1634+ subtask uint32
1635+ sockOpt byte
1636+ sockOpt6 byte
1637+ clusterConnFlag byte
1638+ proto byte
1639+ targetAppl [8]byte
1640+ luName [8]byte
1641+ clientUserId [8]byte
1642+ logMode [8]byte
1643+ timeStamp uint32
1644+ timeStampAge uint32
1645+ serverResourceId uint32
1646+ intfName [16]byte
1647+ ttlsStatPol byte
1648+ ttlsStatConn byte
1649+ ttlsSSLProt uint16
1650+ ttlsNegCiph [2]byte
1651+ ttlsSecType byte
1652+ ttlsFIPS140Mode byte
1653+ ttlsUserID [8]byte
1654+ applData [40]byte
1655+ inOldestTime [8]byte // uint64
1656+ outOldestTime [8]byte // uint64
1657+ tcpTrustedPartner byte
1658+ _ [3]byte
1659+ bulkDataIntfName [16]byte
1660+ ttlsNegCiph4 [4]byte
1661+ smcReason uint32
1662+ lclSMCLinkId uint32
1663+ rmtSMCLinkId uint32
1664+ smcStatus byte
1665+ smcFlags byte
1666+ _ [2]byte
1667+ rcvWnd uint32
1668+ lclSMCBufSz uint32
1669+ rmtSMCBufSz uint32
1670+ ttlsSessID [32]byte
1671+ ttlsSessIDLen int16
1672+ _ [1]byte
1673+ smcDStatus byte
1674+ smcDReason uint32
1675+}
1676+
1677+var svcNameTable [][]byte = [][]byte{
1678+ []byte("\xc5\xe9\xc2\xd5\xd4\xc9\xc6\xf4"), // svc_EZBNMIF4
1679+}
1680+
1681+const (
1682+ svc_EZBNMIF4 = 0
1683+)
1684+
1685+func GetsockoptTCPInfo(fd, level, opt int) (*TCPInfo, error) {
1686+ jobname := []byte("\x5c\x40\x40\x40\x40\x40\x40\x40") // "*"
1687+ responseBuffer := [4096]byte{0}
1688+ var bufferAlet, reasonCode uint32 = 0, 0
1689+ var bufferLen, returnValue, returnCode int32 = 4096, 0, 0
1690+
1691+ dsa := [18]uint64{0}
1692+ var argv [7]unsafe.Pointer
1693+ argv[0] = unsafe.Pointer(&jobname[0])
1694+ argv[1] = unsafe.Pointer(&responseBuffer[0])
1695+ argv[2] = unsafe.Pointer(&bufferAlet)
1696+ argv[3] = unsafe.Pointer(&bufferLen)
1697+ argv[4] = unsafe.Pointer(&returnValue)
1698+ argv[5] = unsafe.Pointer(&returnCode)
1699+ argv[6] = unsafe.Pointer(&reasonCode)
1700+
1701+ request := (*struct {
1702+ header nwmHeader
1703+ filter nwmFilter
1704+ })(unsafe.Pointer(&responseBuffer[0]))
1705+
1706+ EZBNMIF4 := svcLoad(&svcNameTable[svc_EZBNMIF4][0])
1707+ if EZBNMIF4 == nil {
1708+ return nil, errnoErr(EINVAL)
1709+ }
1710+
1711+ // GetGlobalStats EZBNMIF4 call
1712+ request.header.ident = nwmHeaderIdentifier
1713+ request.header.length = uint32(unsafe.Sizeof(request.header))
1714+ request.header.version = nwmCurrentVer
1715+ request.header.nwmType = nwmGlobalStatsType
1716+ request.header.options = 0x80000000
1717+
1718+ svcCall(EZBNMIF4, &argv[0], &dsa[0])
1719+
1720+ // outputDesc field is filled by EZBNMIF4 on success
1721+ if returnCode != 0 || request.header.outputDesc.offset == 0 {
1722+ return nil, errnoErr(EINVAL)
1723+ }
1724+
1725+ // Check that EZBNMIF4 returned a nwmRecHeader
1726+ recHeader := (*nwmRecHeader)(unsafe.Pointer(&responseBuffer[request.header.outputDesc.offset]))
1727+ if recHeader.ident != nwmRecHeaderIdentifier {
1728+ return nil, errnoErr(EINVAL)
1729+ }
1730+
1731+ // Parse nwmTriplets to get offsets of returned entries
1732+ var sections []*uint64
1733+ var sectionDesc *nwmTriplet = (*nwmTriplet)(unsafe.Pointer(&responseBuffer[0]))
1734+ for i := uint32(0); i < uint32(recHeader.number); i++ {
1735+ offset := request.header.outputDesc.offset + uint32(unsafe.Sizeof(*recHeader)) + i*uint32(unsafe.Sizeof(*sectionDesc))
1736+ sectionDesc = (*nwmTriplet)(unsafe.Pointer(&responseBuffer[offset]))
1737+ for j := uint32(0); j < sectionDesc.number; j++ {
1738+ offset = request.header.outputDesc.offset + sectionDesc.offset + j*sectionDesc.length
1739+ sections = append(sections, (*uint64)(unsafe.Pointer(&responseBuffer[offset])))
1740+ }
1741+ }
1742+
1743+ // Find nwmTCPStatsEntry in returned entries
1744+ var tcpStats *nwmTCPStatsEntry = nil
1745+ for _, ptr := range sections {
1746+ switch *ptr {
1747+ case nwmTCPStatsIdentifier:
1748+ if tcpStats != nil {
1749+ return nil, errnoErr(EINVAL)
1750+ }
1751+ tcpStats = (*nwmTCPStatsEntry)(unsafe.Pointer(ptr))
1752+ case nwmIPStatsIdentifier:
1753+ case nwmIPGStatsIdentifier:
1754+ case nwmUDPStatsIdentifier:
1755+ case nwmICMPGStatsEntry:
1756+ case nwmICMPTStatsEntry:
1757+ default:
1758+ return nil, errnoErr(EINVAL)
1759+ }
1760+ }
1761+ if tcpStats == nil {
1762+ return nil, errnoErr(EINVAL)
1763+ }
1764+
1765+ // GetConnectionDetail EZBNMIF4 call
1766+ responseBuffer = [4096]byte{0}
1767+ dsa = [18]uint64{0}
1768+ bufferAlet, reasonCode = 0, 0
1769+ bufferLen, returnValue, returnCode = 4096, 0, 0
1770+ nameptr := (*uint32)(unsafe.Pointer(uintptr(0x21c))) // Get jobname of current process
1771+ nameptr = (*uint32)(unsafe.Pointer(uintptr(*nameptr + 12)))
1772+ argv[0] = unsafe.Pointer(uintptr(*nameptr))
1773+
1774+ request.header.ident = nwmHeaderIdentifier
1775+ request.header.length = uint32(unsafe.Sizeof(request.header))
1776+ request.header.version = nwmCurrentVer
1777+ request.header.nwmType = nwmTCPConnType
1778+ request.header.options = 0x80000000
1779+
1780+ request.filter.ident = nwmFilterIdentifier
1781+
1782+ var localSockaddr RawSockaddrAny
1783+ socklen := _Socklen(SizeofSockaddrAny)
1784+ err := getsockname(fd, &localSockaddr, &socklen)
1785+ if err != nil {
1786+ return nil, errnoErr(EINVAL)
1787+ }
1788+ if localSockaddr.Addr.Family == AF_INET {
1789+ localSockaddr := (*RawSockaddrInet4)(unsafe.Pointer(&localSockaddr.Addr))
1790+ localSockFilter := (*RawSockaddrInet4)(unsafe.Pointer(&request.filter.local[0]))
1791+ localSockFilter.Family = AF_INET
1792+ var i int
1793+ for i = 0; i < 4; i++ {
1794+ if localSockaddr.Addr[i] != 0 {
1795+ break
1796+ }
1797+ }
1798+ if i != 4 {
1799+ request.filter.flags |= nwmFilterLclAddrMask
1800+ for i = 0; i < 4; i++ {
1801+ localSockFilter.Addr[i] = localSockaddr.Addr[i]
1802+ }
1803+ }
1804+ if localSockaddr.Port != 0 {
1805+ request.filter.flags |= nwmFilterLclPortMask
1806+ localSockFilter.Port = localSockaddr.Port
1807+ }
1808+ } else if localSockaddr.Addr.Family == AF_INET6 {
1809+ localSockaddr := (*RawSockaddrInet6)(unsafe.Pointer(&localSockaddr.Addr))
1810+ localSockFilter := (*RawSockaddrInet6)(unsafe.Pointer(&request.filter.local[0]))
1811+ localSockFilter.Family = AF_INET6
1812+ var i int
1813+ for i = 0; i < 16; i++ {
1814+ if localSockaddr.Addr[i] != 0 {
1815+ break
1816+ }
1817+ }
1818+ if i != 16 {
1819+ request.filter.flags |= nwmFilterLclAddrMask
1820+ for i = 0; i < 16; i++ {
1821+ localSockFilter.Addr[i] = localSockaddr.Addr[i]
1822+ }
1823+ }
1824+ if localSockaddr.Port != 0 {
1825+ request.filter.flags |= nwmFilterLclPortMask
1826+ localSockFilter.Port = localSockaddr.Port
1827+ }
1828+ }
1829+
1830+ svcCall(EZBNMIF4, &argv[0], &dsa[0])
1831+
1832+ // outputDesc field is filled by EZBNMIF4 on success
1833+ if returnCode != 0 || request.header.outputDesc.offset == 0 {
1834+ return nil, errnoErr(EINVAL)
1835+ }
1836+
1837+ // Check that EZBNMIF4 returned a nwmConnEntry
1838+ conn := (*nwmConnEntry)(unsafe.Pointer(&responseBuffer[request.header.outputDesc.offset]))
1839+ if conn.ident != nwmTCPConnIdentifier {
1840+ return nil, errnoErr(EINVAL)
1841+ }
1842+
1843+ // Copy data from the returned data structures into tcpInfo
1844+ // Stats from nwmConnEntry are specific to that connection.
1845+ // Stats from nwmTCPStatsEntry are global (to the interface?)
1846+ // Fields may not be an exact match. Some fields have no equivalent.
1847+ var tcpinfo TCPInfo
1848+ tcpinfo.State = uint8(conn.state)
1849+ tcpinfo.Ca_state = 0 // dummy
1850+ tcpinfo.Retransmits = uint8(tcpStats.retransSegs)
1851+ tcpinfo.Probes = uint8(tcpStats.outWinProbes)
1852+ tcpinfo.Backoff = 0 // dummy
1853+ tcpinfo.Options = 0 // dummy
1854+ tcpinfo.Rto = tcpStats.retransTimeouts
1855+ tcpinfo.Ato = tcpStats.outDelayAcks
1856+ tcpinfo.Snd_mss = conn.sendMSS
1857+ tcpinfo.Rcv_mss = conn.sendMSS // dummy
1858+ tcpinfo.Unacked = 0 // dummy
1859+ tcpinfo.Sacked = 0 // dummy
1860+ tcpinfo.Lost = 0 // dummy
1861+ tcpinfo.Retrans = conn.reXmtCount
1862+ tcpinfo.Fackets = 0 // dummy
1863+ tcpinfo.Last_data_sent = uint32(*(*uint64)(unsafe.Pointer(&conn.lastActivity[0])))
1864+ tcpinfo.Last_ack_sent = uint32(*(*uint64)(unsafe.Pointer(&conn.outOldestTime[0])))
1865+ tcpinfo.Last_data_recv = uint32(*(*uint64)(unsafe.Pointer(&conn.inOldestTime[0])))
1866+ tcpinfo.Last_ack_recv = uint32(*(*uint64)(unsafe.Pointer(&conn.inOldestTime[0])))
1867+ tcpinfo.Pmtu = conn.sendMSS // dummy, NWMIfRouteMtu is a candidate
1868+ tcpinfo.Rcv_ssthresh = conn.ssThresh
1869+ tcpinfo.Rtt = conn.roundTripTime
1870+ tcpinfo.Rttvar = conn.roundTripVar
1871+ tcpinfo.Snd_ssthresh = conn.ssThresh // dummy
1872+ tcpinfo.Snd_cwnd = conn.congestionWnd
1873+ tcpinfo.Advmss = conn.sendMSS // dummy
1874+ tcpinfo.Reordering = 0 // dummy
1875+ tcpinfo.Rcv_rtt = conn.roundTripTime // dummy
1876+ tcpinfo.Rcv_space = conn.sendMSS // dummy
1877+ tcpinfo.Total_retrans = conn.reXmtCount
1878+
1879+ svcUnload(&svcNameTable[svc_EZBNMIF4][0], EZBNMIF4)
1880+
1881+ return &tcpinfo, nil
1882+}
1883+
1884+// GetsockoptString returns the string value of the socket option opt for the
1885+// socket associated with fd at the given socket level.
1886+func GetsockoptString(fd, level, opt int) (string, error) {
1887+ buf := make([]byte, 256)
1888+ vallen := _Socklen(len(buf))
1889+ err := getsockopt(fd, level, opt, unsafe.Pointer(&buf[0]), &vallen)
1890+ if err != nil {
1891+ return "", err
1892+ }
1893+
1894+ return ByteSliceToString(buf[:vallen]), nil
1895+}
1896+
1897+func Recvmsg(fd int, p, oob []byte, flags int) (n, oobn int, recvflags int, from Sockaddr, err error) {
1898+ var msg Msghdr
1899+ var rsa RawSockaddrAny
1900+ msg.Name = (*byte)(unsafe.Pointer(&rsa))
1901+ msg.Namelen = SizeofSockaddrAny
1902+ var iov Iovec
1903+ if len(p) > 0 {
1904+ iov.Base = (*byte)(unsafe.Pointer(&p[0]))
1905+ iov.SetLen(len(p))
1906+ }
1907+ var dummy byte
1908+ if len(oob) > 0 {
1909+ // receive at least one normal byte
1910+ if len(p) == 0 {
1911+ iov.Base = &dummy
1912+ iov.SetLen(1)
1913+ }
1914+ msg.Control = (*byte)(unsafe.Pointer(&oob[0]))
1915+ msg.SetControllen(len(oob))
1916+ }
1917+ msg.Iov = &iov
1918+ msg.Iovlen = 1
1919+ if n, err = recvmsg(fd, &msg, flags); err != nil {
1920+ return
1921+ }
1922+ oobn = int(msg.Controllen)
1923+ recvflags = int(msg.Flags)
1924+ // source address is only specified if the socket is unconnected
1925+ if rsa.Addr.Family != AF_UNSPEC {
1926+ // TODO(neeilan): Remove 0 arg added to get this compiling on z/OS
1927+ from, err = anyToSockaddr(0, &rsa)
1928+ }
1929+ return
1930+}
1931+
1932+func Sendmsg(fd int, p, oob []byte, to Sockaddr, flags int) (err error) {
1933+ _, err = SendmsgN(fd, p, oob, to, flags)
1934+ return
1935+}
1936+
1937+func SendmsgN(fd int, p, oob []byte, to Sockaddr, flags int) (n int, err error) {
1938+ var ptr unsafe.Pointer
1939+ var salen _Socklen
1940+ if to != nil {
1941+ var err error
1942+ ptr, salen, err = to.sockaddr()
1943+ if err != nil {
1944+ return 0, err
1945+ }
1946+ }
1947+ var msg Msghdr
1948+ msg.Name = (*byte)(unsafe.Pointer(ptr))
1949+ msg.Namelen = int32(salen)
1950+ var iov Iovec
1951+ if len(p) > 0 {
1952+ iov.Base = (*byte)(unsafe.Pointer(&p[0]))
1953+ iov.SetLen(len(p))
1954+ }
1955+ var dummy byte
1956+ if len(oob) > 0 {
1957+ // send at least one normal byte
1958+ if len(p) == 0 {
1959+ iov.Base = &dummy
1960+ iov.SetLen(1)
1961+ }
1962+ msg.Control = (*byte)(unsafe.Pointer(&oob[0]))
1963+ msg.SetControllen(len(oob))
1964+ }
1965+ msg.Iov = &iov
1966+ msg.Iovlen = 1
1967+ if n, err = sendmsg(fd, &msg, flags); err != nil {
1968+ return 0, err
1969+ }
1970+ if len(oob) > 0 && len(p) == 0 {
1971+ n = 0
1972+ }
1973+ return n, nil
1974+}
1975+
1976+func Opendir(name string) (uintptr, error) {
1977+ p, err := BytePtrFromString(name)
1978+ if err != nil {
1979+ return 0, err
1980+ }
1981+ err = nil
1982+ runtime.EnterSyscall()
1983+ dir, e2, e1 := CallLeFuncWithPtrReturn(GetZosLibVec()+SYS___OPENDIR_A<<4, uintptr(unsafe.Pointer(p)))
1984+ runtime.ExitSyscall()
1985+ runtime.KeepAlive(unsafe.Pointer(p))
1986+ if dir == 0 {
1987+ err = errnoErr2(e1, e2)
1988+ }
1989+ return dir, err
1990+}
1991+
1992+// clearsyscall.Errno resets the errno value to 0.
1993+func clearErrno()
1994+
1995+func Closedir(dir uintptr) error {
1996+ runtime.EnterSyscall()
1997+ r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_CLOSEDIR<<4, dir)
1998+ runtime.ExitSyscall()
1999+ if r0 != 0 {
2000+ return errnoErr2(e1, e2)
2001+ }
2002+ return nil
2003+}
2004+
2005+func Seekdir(dir uintptr, pos int) {
2006+ runtime.EnterSyscall()
2007+ CallLeFuncWithErr(GetZosLibVec()+SYS_SEEKDIR<<4, dir, uintptr(pos))
2008+ runtime.ExitSyscall()
2009+}
2010+
2011+func Telldir(dir uintptr) (int, error) {
2012+ p, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_TELLDIR<<4, dir)
2013+ pos := int(p)
2014+ if int64(p) == -1 {
2015+ return pos, errnoErr2(e1, e2)
2016+ }
2017+ return pos, nil
2018+}
2019+
2020+// FcntlFlock performs a fcntl syscall for the F_GETLK, F_SETLK or F_SETLKW command.
2021+func FcntlFlock(fd uintptr, cmd int, lk *Flock_t) error {
2022+ // struct flock is packed on z/OS. We can't emulate that in Go so
2023+ // instead we pack it here.
2024+ var flock [24]byte
2025+ *(*int16)(unsafe.Pointer(&flock[0])) = lk.Type
2026+ *(*int16)(unsafe.Pointer(&flock[2])) = lk.Whence
2027+ *(*int64)(unsafe.Pointer(&flock[4])) = lk.Start
2028+ *(*int64)(unsafe.Pointer(&flock[12])) = lk.Len
2029+ *(*int32)(unsafe.Pointer(&flock[20])) = lk.Pid
2030+ runtime.EnterSyscall()
2031+ r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_FCNTL<<4, fd, uintptr(cmd), uintptr(unsafe.Pointer(&flock)))
2032+ runtime.ExitSyscall()
2033+ lk.Type = *(*int16)(unsafe.Pointer(&flock[0]))
2034+ lk.Whence = *(*int16)(unsafe.Pointer(&flock[2]))
2035+ lk.Start = *(*int64)(unsafe.Pointer(&flock[4]))
2036+ lk.Len = *(*int64)(unsafe.Pointer(&flock[12]))
2037+ lk.Pid = *(*int32)(unsafe.Pointer(&flock[20]))
2038+ if r0 == 0 {
2039+ return nil
2040+ }
2041+ return errnoErr2(e1, e2)
2042+}
2043+
2044+func impl_Flock(fd int, how int) (err error) {
2045+ runtime.EnterSyscall()
2046+ r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_FLOCK<<4, uintptr(fd), uintptr(how))
2047+ runtime.ExitSyscall()
2048+ if int64(r0) == -1 {
2049+ err = errnoErr2(e1, e2)
2050+ }
2051+ return
2052+}
2053+
2054+//go:nosplit
2055+func get_FlockAddr() *(func(fd int, how int) (err error))
2056+
2057+var Flock = enter_Flock
2058+
2059+func validFlock(fp uintptr) bool {
2060+ if funcptrtest(GetZosLibVec()+SYS_FLOCK<<4, "") == 0 {
2061+ if name, err := getLeFuncName(GetZosLibVec() + SYS_FLOCK<<4); err == nil {
2062+ return name == "flock"
2063+ }
2064+ }
2065+ return false
2066+}
2067+
2068+func enter_Flock(fd int, how int) (err error) {
2069+ funcref := get_FlockAddr()
2070+ if validFlock(GetZosLibVec() + SYS_FLOCK<<4) {
2071+ *funcref = impl_Flock
2072+ } else {
2073+ *funcref = legacyFlock
2074+ }
2075+ return (*funcref)(fd, how)
2076+}
2077+
2078+func legacyFlock(fd int, how int) error {
2079+
2080+ var flock_type int16
2081+ var fcntl_cmd int
2082+
2083+ switch how {
2084+ case LOCK_SH | LOCK_NB:
2085+ flock_type = F_RDLCK
2086+ fcntl_cmd = F_SETLK
2087+ case LOCK_EX | LOCK_NB:
2088+ flock_type = F_WRLCK
2089+ fcntl_cmd = F_SETLK
2090+ case LOCK_EX:
2091+ flock_type = F_WRLCK
2092+ fcntl_cmd = F_SETLKW
2093+ case LOCK_UN:
2094+ flock_type = F_UNLCK
2095+ fcntl_cmd = F_SETLKW
2096+ default:
2097+ }
2098+
2099+ flock := Flock_t{
2100+ Type: int16(flock_type),
2101+ Whence: int16(0),
2102+ Start: int64(0),
2103+ Len: int64(0),
2104+ Pid: int32(Getppid()),
2105+ }
2106+
2107+ err := FcntlFlock(uintptr(fd), fcntl_cmd, &flock)
2108+ return err
2109+}
2110+
2111+func Mlock(b []byte) (err error) {
2112+ runtime.EnterSyscall()
2113+ r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___MLOCKALL<<4, _BPX_NONSWAP)
2114+ runtime.ExitSyscall()
2115+ if r0 != 0 {
2116+ err = errnoErr2(e1, e2)
2117+ }
2118+ return
2119+}
2120+
2121+func Mlock2(b []byte, flags int) (err error) {
2122+ runtime.EnterSyscall()
2123+ r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___MLOCKALL<<4, _BPX_NONSWAP)
2124+ runtime.ExitSyscall()
2125+ if r0 != 0 {
2126+ err = errnoErr2(e1, e2)
2127+ }
2128+ return
2129+}
2130+
2131+func Mlockall(flags int) (err error) {
2132+ runtime.EnterSyscall()
2133+ r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___MLOCKALL<<4, _BPX_NONSWAP)
2134+ runtime.ExitSyscall()
2135+ if r0 != 0 {
2136+ err = errnoErr2(e1, e2)
2137+ }
2138+ return
2139+}
2140+
2141+func Munlock(b []byte) (err error) {
2142+ runtime.EnterSyscall()
2143+ r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___MLOCKALL<<4, _BPX_SWAP)
2144+ runtime.ExitSyscall()
2145+ if r0 != 0 {
2146+ err = errnoErr2(e1, e2)
2147+ }
2148+ return
2149+}
2150+
2151+func Munlockall() (err error) {
2152+ runtime.EnterSyscall()
2153+ r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___MLOCKALL<<4, _BPX_SWAP)
2154+ runtime.ExitSyscall()
2155+ if r0 != 0 {
2156+ err = errnoErr2(e1, e2)
2157+ }
2158+ return
2159+}
2160+
2161+func ClockGettime(clockid int32, ts *Timespec) error {
2162+
2163+ var ticks_per_sec uint32 = 100 //TODO(kenan): value is currently hardcoded; need sysconf() call otherwise
2164+ var nsec_per_sec int64 = 1000000000
2165+
2166+ if ts == nil {
2167+ return EFAULT
2168+ }
2169+ if clockid == CLOCK_REALTIME || clockid == CLOCK_MONOTONIC {
2170+ var nanotime int64 = runtime.Nanotime1()
2171+ ts.Sec = nanotime / nsec_per_sec
2172+ ts.Nsec = nanotime % nsec_per_sec
2173+ } else if clockid == CLOCK_PROCESS_CPUTIME_ID || clockid == CLOCK_THREAD_CPUTIME_ID {
2174+ var tm Tms
2175+ _, err := Times(&tm)
2176+ if err != nil {
2177+ return EFAULT
2178+ }
2179+ ts.Sec = int64(tm.Utime / ticks_per_sec)
2180+ ts.Nsec = int64(tm.Utime) * nsec_per_sec / int64(ticks_per_sec)
2181+ } else {
2182+ return EINVAL
2183+ }
2184+ return nil
2185+}
2186+
2187+// Chtag
2188+
2189+//go:nosplit
2190+func get_ChtagAddr() *(func(path string, ccsid uint64, textbit uint64) error)
2191+
2192+var Chtag = enter_Chtag
2193+
2194+func enter_Chtag(path string, ccsid uint64, textbit uint64) error {
2195+ funcref := get_ChtagAddr()
2196+ if validSetxattr() {
2197+ *funcref = impl_Chtag
2198+ } else {
2199+ *funcref = legacy_Chtag
2200+ }
2201+ return (*funcref)(path, ccsid, textbit)
2202+}
2203+
2204+func legacy_Chtag(path string, ccsid uint64, textbit uint64) error {
2205+ tag := ccsid<<16 | textbit<<15
2206+ var tag_buff [8]byte
2207+ DecodeData(tag_buff[:], 8, tag)
2208+ return Setxattr(path, "filetag", tag_buff[:], XATTR_REPLACE)
2209+}
2210+
2211+func impl_Chtag(path string, ccsid uint64, textbit uint64) error {
2212+ tag := ccsid<<16 | textbit<<15
2213+ var tag_buff [4]byte
2214+ DecodeData(tag_buff[:], 4, tag)
2215+ return Setxattr(path, "system.filetag", tag_buff[:], XATTR_REPLACE)
2216+}
2217+
2218+// End of Chtag
2219+
2220+// Nanosleep
2221+
2222+//go:nosplit
2223+func get_NanosleepAddr() *(func(time *Timespec, leftover *Timespec) error)
2224+
2225+var Nanosleep = enter_Nanosleep
2226+
2227+func enter_Nanosleep(time *Timespec, leftover *Timespec) error {
2228+ funcref := get_NanosleepAddr()
2229+ if funcptrtest(GetZosLibVec()+SYS_NANOSLEEP<<4, "") == 0 {
2230+ *funcref = impl_Nanosleep
2231+ } else {
2232+ *funcref = legacyNanosleep
2233+ }
2234+ return (*funcref)(time, leftover)
2235+}
2236+
2237+func impl_Nanosleep(time *Timespec, leftover *Timespec) error {
2238+ runtime.EnterSyscall()
2239+ r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_NANOSLEEP<<4, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)))
2240+ runtime.ExitSyscall()
2241+ if int64(r0) == -1 {
2242+ return errnoErr2(e1, e2)
2243+ }
2244+ return nil
2245+}
2246+
2247+func legacyNanosleep(time *Timespec, leftover *Timespec) error {
2248+ t0 := runtime.Nanotime1()
2249+ var secrem uint32
2250+ var nsecrem uint32
2251+ total := time.Sec*1000000000 + time.Nsec
2252+ elapsed := runtime.Nanotime1() - t0
2253+ var rv int32
2254+ var rc int32
2255+ var err error
2256+ // repeatedly sleep for 1 second until less than 1 second left
2257+ for total-elapsed > 1000000000 {
2258+ rv, rc, _ = BpxCondTimedWait(uint32(1), uint32(0), uint32(CW_CONDVAR), &secrem, &nsecrem)
2259+ if rv != 0 && rc != 112 { // 112 is EAGAIN
2260+ if leftover != nil && rc == 120 { // 120 is EINTR
2261+ leftover.Sec = int64(secrem)
2262+ leftover.Nsec = int64(nsecrem)
2263+ }
2264+ err = Errno(rc)
2265+ return err
2266+ }
2267+ elapsed = runtime.Nanotime1() - t0
2268+ }
2269+ // sleep the remainder
2270+ if total > elapsed {
2271+ rv, rc, _ = BpxCondTimedWait(uint32(0), uint32(total-elapsed), uint32(CW_CONDVAR), &secrem, &nsecrem)
2272+ }
2273+ if leftover != nil && rc == 120 {
2274+ leftover.Sec = int64(secrem)
2275+ leftover.Nsec = int64(nsecrem)
2276+ }
2277+ if rv != 0 && rc != 112 {
2278+ err = Errno(rc)
2279+ }
2280+ return err
2281+}
2282+
2283+// End of Nanosleep
2284+
2285+var (
2286+ Stdin = 0
2287+ Stdout = 1
2288+ Stderr = 2
2289+)
2290+
2291+// Do the interface allocations only once for common
2292+// Errno values.
2293+var (
2294+ errEAGAIN error = syscall.EAGAIN
2295+ errEINVAL error = syscall.EINVAL
2296+ errENOENT error = syscall.ENOENT
2297+)
2298+
2299+var ZosTraceLevel int
2300+var ZosTracefile *os.File
2301+
2302+var (
2303+ signalNameMapOnce sync.Once
2304+ signalNameMap map[string]syscall.Signal
2305+)
2306+
2307+// errnoErr returns common boxed Errno values, to prevent
2308+// allocations at runtime.
2309+func errnoErr(e Errno) error {
2310+ switch e {
2311+ case 0:
2312+ return nil
2313+ case EAGAIN:
2314+ return errEAGAIN
2315+ case EINVAL:
2316+ return errEINVAL
2317+ case ENOENT:
2318+ return errENOENT
2319+ }
2320+ return e
2321+}
2322+
2323+var reg *regexp.Regexp
2324+
2325+// enhanced with zos specific errno2
2326+func errnoErr2(e Errno, e2 uintptr) error {
2327+ switch e {
2328+ case 0:
2329+ return nil
2330+ case EAGAIN:
2331+ return errEAGAIN
2332+ /*
2333+ Allow the retrieval of errno2 for EINVAL and ENOENT on zos
2334+ case EINVAL:
2335+ return errEINVAL
2336+ case ENOENT:
2337+ return errENOENT
2338+ */
2339+ }
2340+ if ZosTraceLevel > 0 {
2341+ var name string
2342+ if reg == nil {
2343+ reg = regexp.MustCompile("(^unix\\.[^/]+$|.*\\/unix\\.[^/]+$)")
2344+ }
2345+ i := 1
2346+ pc, file, line, ok := runtime.Caller(i)
2347+ if ok {
2348+ name = runtime.FuncForPC(pc).Name()
2349+ }
2350+ for ok && reg.MatchString(runtime.FuncForPC(pc).Name()) {
2351+ i += 1
2352+ pc, file, line, ok = runtime.Caller(i)
2353+ }
2354+ if ok {
2355+ if ZosTracefile == nil {
2356+ ZosConsolePrintf("From %s:%d\n", file, line)
2357+ ZosConsolePrintf("%s: %s (errno2=0x%x)\n", name, e.Error(), e2)
2358+ } else {
2359+ fmt.Fprintf(ZosTracefile, "From %s:%d\n", file, line)
2360+ fmt.Fprintf(ZosTracefile, "%s: %s (errno2=0x%x)\n", name, e.Error(), e2)
2361+ }
2362+ } else {
2363+ if ZosTracefile == nil {
2364+ ZosConsolePrintf("%s (errno2=0x%x)\n", e.Error(), e2)
2365+ } else {
2366+ fmt.Fprintf(ZosTracefile, "%s (errno2=0x%x)\n", e.Error(), e2)
2367+ }
2368+ }
2369+ }
2370+ return e
2371+}
2372+
2373+// ErrnoName returns the error name for error number e.
2374+func ErrnoName(e Errno) string {
2375+ i := sort.Search(len(errorList), func(i int) bool {
2376+ return errorList[i].num >= e
2377+ })
2378+ if i < len(errorList) && errorList[i].num == e {
2379+ return errorList[i].name
2380+ }
2381+ return ""
2382+}
2383+
2384+// SignalName returns the signal name for signal number s.
2385+func SignalName(s syscall.Signal) string {
2386+ i := sort.Search(len(signalList), func(i int) bool {
2387+ return signalList[i].num >= s
2388+ })
2389+ if i < len(signalList) && signalList[i].num == s {
2390+ return signalList[i].name
2391+ }
2392+ return ""
2393+}
2394+
2395+// SignalNum returns the syscall.Signal for signal named s,
2396+// or 0 if a signal with such name is not found.
2397+// The signal name should start with "SIG".
2398+func SignalNum(s string) syscall.Signal {
2399+ signalNameMapOnce.Do(func() {
2400+ signalNameMap = make(map[string]syscall.Signal, len(signalList))
2401+ for _, signal := range signalList {
2402+ signalNameMap[signal.name] = signal.num
2403+ }
2404+ })
2405+ return signalNameMap[s]
2406+}
2407+
2408+// clen returns the index of the first NULL byte in n or len(n) if n contains no NULL byte.
2409+func clen(n []byte) int {
2410+ i := bytes.IndexByte(n, 0)
2411+ if i == -1 {
2412+ i = len(n)
2413+ }
2414+ return i
2415+}
2416+
2417+// Mmap manager, for use by operating system-specific implementations.
2418+
2419+type mmapper struct {
2420+ sync.Mutex
2421+ active map[*byte][]byte // active mappings; key is last byte in mapping
2422+ mmap func(addr, length uintptr, prot, flags, fd int, offset int64) (uintptr, error)
2423+ munmap func(addr uintptr, length uintptr) error
2424+}
2425+
2426+func (m *mmapper) Mmap(fd int, offset int64, length int, prot int, flags int) (data []byte, err error) {
2427+ if length <= 0 {
2428+ return nil, EINVAL
2429+ }
2430+
2431+ // Set __MAP_64 by default
2432+ flags |= __MAP_64
2433+
2434+ // Map the requested memory.
2435+ addr, errno := m.mmap(0, uintptr(length), prot, flags, fd, offset)
2436+ if errno != nil {
2437+ return nil, errno
2438+ }
2439+
2440+ // Slice memory layout
2441+ var sl = struct {
2442+ addr uintptr
2443+ len int
2444+ cap int
2445+ }{addr, length, length}
2446+
2447+ // Use unsafe to turn sl into a []byte.
2448+ b := *(*[]byte)(unsafe.Pointer(&sl))
2449+
2450+ // Register mapping in m and return it.
2451+ p := &b[cap(b)-1]
2452+ m.Lock()
2453+ defer m.Unlock()
2454+ m.active[p] = b
2455+ return b, nil
2456+}
2457+
2458+func (m *mmapper) Munmap(data []byte) (err error) {
2459+ if len(data) == 0 || len(data) != cap(data) {
2460+ return EINVAL
2461+ }
2462+
2463+ // Find the base of the mapping.
2464+ p := &data[cap(data)-1]
2465+ m.Lock()
2466+ defer m.Unlock()
2467+ b := m.active[p]
2468+ if b == nil || &b[0] != &data[0] {
2469+ return EINVAL
2470+ }
2471+
2472+ // Unmap the memory and update m.
2473+ if errno := m.munmap(uintptr(unsafe.Pointer(&b[0])), uintptr(len(b))); errno != nil {
2474+ return errno
2475+ }
2476+ delete(m.active, p)
2477+ return nil
2478+}
2479+
2480+func Read(fd int, p []byte) (n int, err error) {
2481+ n, err = read(fd, p)
2482+ if raceenabled {
2483+ if n > 0 {
2484+ raceWriteRange(unsafe.Pointer(&p[0]), n)
2485+ }
2486+ if err == nil {
2487+ raceAcquire(unsafe.Pointer(&ioSync))
2488+ }
2489+ }
2490+ return
2491+}
2492+
2493+func Write(fd int, p []byte) (n int, err error) {
2494+ if raceenabled {
2495+ raceReleaseMerge(unsafe.Pointer(&ioSync))
2496+ }
2497+ n, err = write(fd, p)
2498+ if raceenabled && n > 0 {
2499+ raceReadRange(unsafe.Pointer(&p[0]), n)
2500+ }
2501+ return
2502+}
2503+
2504+// For testing: clients can set this flag to force
2505+// creation of IPv6 sockets to return EAFNOSUPPORT.
2506+var SocketDisableIPv6 bool
2507+
2508+// Sockaddr represents a socket address.
2509+type Sockaddr interface {
2510+ sockaddr() (ptr unsafe.Pointer, len _Socklen, err error) // lowercase; only we can define Sockaddrs
2511+}
2512+
2513+// SockaddrInet4 implements the Sockaddr interface for AF_INET type sockets.
2514+type SockaddrInet4 struct {
2515+ Port int
2516+ Addr [4]byte
2517+ raw RawSockaddrInet4
2518+}
2519+
2520+// SockaddrInet6 implements the Sockaddr interface for AF_INET6 type sockets.
2521+type SockaddrInet6 struct {
2522+ Port int
2523+ ZoneId uint32
2524+ Addr [16]byte
2525+ raw RawSockaddrInet6
2526+}
2527+
2528+// SockaddrUnix implements the Sockaddr interface for AF_UNIX type sockets.
2529+type SockaddrUnix struct {
2530+ Name string
2531+ raw RawSockaddrUnix
2532+}
2533+
2534+func Bind(fd int, sa Sockaddr) (err error) {
2535+ ptr, n, err := sa.sockaddr()
2536+ if err != nil {
2537+ return err
2538+ }
2539+ return bind(fd, ptr, n)
2540+}
2541+
2542+func Connect(fd int, sa Sockaddr) (err error) {
2543+ ptr, n, err := sa.sockaddr()
2544+ if err != nil {
2545+ return err
2546+ }
2547+ return connect(fd, ptr, n)
2548+}
2549+
2550+func Getpeername(fd int) (sa Sockaddr, err error) {
2551+ var rsa RawSockaddrAny
2552+ var len _Socklen = SizeofSockaddrAny
2553+ if err = getpeername(fd, &rsa, &len); err != nil {
2554+ return
2555+ }
2556+ return anyToSockaddr(fd, &rsa)
2557+}
2558+
2559+func GetsockoptByte(fd, level, opt int) (value byte, err error) {
2560+ var n byte
2561+ vallen := _Socklen(1)
2562+ err = getsockopt(fd, level, opt, unsafe.Pointer(&n), &vallen)
2563+ return n, err
2564+}
2565+
2566+func GetsockoptInt(fd, level, opt int) (value int, err error) {
2567+ var n int32
2568+ vallen := _Socklen(4)
2569+ err = getsockopt(fd, level, opt, unsafe.Pointer(&n), &vallen)
2570+ return int(n), err
2571+}
2572+
2573+func GetsockoptInet4Addr(fd, level, opt int) (value [4]byte, err error) {
2574+ vallen := _Socklen(4)
2575+ err = getsockopt(fd, level, opt, unsafe.Pointer(&value[0]), &vallen)
2576+ return value, err
2577+}
2578+
2579+func GetsockoptIPMreq(fd, level, opt int) (*IPMreq, error) {
2580+ var value IPMreq
2581+ vallen := _Socklen(SizeofIPMreq)
2582+ err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen)
2583+ return &value, err
2584+}
2585+
2586+func GetsockoptIPv6Mreq(fd, level, opt int) (*IPv6Mreq, error) {
2587+ var value IPv6Mreq
2588+ vallen := _Socklen(SizeofIPv6Mreq)
2589+ err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen)
2590+ return &value, err
2591+}
2592+
2593+func GetsockoptIPv6MTUInfo(fd, level, opt int) (*IPv6MTUInfo, error) {
2594+ var value IPv6MTUInfo
2595+ vallen := _Socklen(SizeofIPv6MTUInfo)
2596+ err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen)
2597+ return &value, err
2598+}
2599+
2600+func GetsockoptICMPv6Filter(fd, level, opt int) (*ICMPv6Filter, error) {
2601+ var value ICMPv6Filter
2602+ vallen := _Socklen(SizeofICMPv6Filter)
2603+ err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen)
2604+ return &value, err
2605+}
2606+
2607+func GetsockoptLinger(fd, level, opt int) (*Linger, error) {
2608+ var linger Linger
2609+ vallen := _Socklen(SizeofLinger)
2610+ err := getsockopt(fd, level, opt, unsafe.Pointer(&linger), &vallen)
2611+ return &linger, err
2612+}
2613+
2614+func GetsockoptTimeval(fd, level, opt int) (*Timeval, error) {
2615+ var tv Timeval
2616+ vallen := _Socklen(unsafe.Sizeof(tv))
2617+ err := getsockopt(fd, level, opt, unsafe.Pointer(&tv), &vallen)
2618+ return &tv, err
2619+}
2620+
2621+func GetsockoptUint64(fd, level, opt int) (value uint64, err error) {
2622+ var n uint64
2623+ vallen := _Socklen(8)
2624+ err = getsockopt(fd, level, opt, unsafe.Pointer(&n), &vallen)
2625+ return n, err
2626+}
2627+
2628+func Recvfrom(fd int, p []byte, flags int) (n int, from Sockaddr, err error) {
2629+ var rsa RawSockaddrAny
2630+ var len _Socklen = SizeofSockaddrAny
2631+ if n, err = recvfrom(fd, p, flags, &rsa, &len); err != nil {
2632+ return
2633+ }
2634+ if rsa.Addr.Family != AF_UNSPEC {
2635+ from, err = anyToSockaddr(fd, &rsa)
2636+ }
2637+ return
2638+}
2639+
2640+func Sendto(fd int, p []byte, flags int, to Sockaddr) (err error) {
2641+ ptr, n, err := to.sockaddr()
2642+ if err != nil {
2643+ return err
2644+ }
2645+ return sendto(fd, p, flags, ptr, n)
2646+}
2647+
2648+func SetsockoptByte(fd, level, opt int, value byte) (err error) {
2649+ return setsockopt(fd, level, opt, unsafe.Pointer(&value), 1)
2650+}
2651+
2652+func SetsockoptInt(fd, level, opt int, value int) (err error) {
2653+ var n = int32(value)
2654+ return setsockopt(fd, level, opt, unsafe.Pointer(&n), 4)
2655+}
2656+
2657+func SetsockoptInet4Addr(fd, level, opt int, value [4]byte) (err error) {
2658+ return setsockopt(fd, level, opt, unsafe.Pointer(&value[0]), 4)
2659+}
2660+
2661+func SetsockoptIPMreq(fd, level, opt int, mreq *IPMreq) (err error) {
2662+ return setsockopt(fd, level, opt, unsafe.Pointer(mreq), SizeofIPMreq)
2663+}
2664+
2665+func SetsockoptIPv6Mreq(fd, level, opt int, mreq *IPv6Mreq) (err error) {
2666+ return setsockopt(fd, level, opt, unsafe.Pointer(mreq), SizeofIPv6Mreq)
2667+}
2668+
2669+func SetsockoptICMPv6Filter(fd, level, opt int, filter *ICMPv6Filter) error {
2670+ return setsockopt(fd, level, opt, unsafe.Pointer(filter), SizeofICMPv6Filter)
2671+}
2672+
2673+func SetsockoptLinger(fd, level, opt int, l *Linger) (err error) {
2674+ return setsockopt(fd, level, opt, unsafe.Pointer(l), SizeofLinger)
2675+}
2676+
2677+func SetsockoptString(fd, level, opt int, s string) (err error) {
2678+ var p unsafe.Pointer
2679+ if len(s) > 0 {
2680+ p = unsafe.Pointer(&[]byte(s)[0])
2681+ }
2682+ return setsockopt(fd, level, opt, p, uintptr(len(s)))
2683+}
2684+
2685+func SetsockoptTimeval(fd, level, opt int, tv *Timeval) (err error) {
2686+ return setsockopt(fd, level, opt, unsafe.Pointer(tv), unsafe.Sizeof(*tv))
2687+}
2688+
2689+func SetsockoptUint64(fd, level, opt int, value uint64) (err error) {
2690+ return setsockopt(fd, level, opt, unsafe.Pointer(&value), 8)
2691+}
2692+
2693+func Socket(domain, typ, proto int) (fd int, err error) {
2694+ if domain == AF_INET6 && SocketDisableIPv6 {
2695+ return -1, EAFNOSUPPORT
2696+ }
2697+ fd, err = socket(domain, typ, proto)
2698+ return
2699+}
2700+
2701+func Socketpair(domain, typ, proto int) (fd [2]int, err error) {
2702+ var fdx [2]int32
2703+ err = socketpair(domain, typ, proto, &fdx)
2704+ if err == nil {
2705+ fd[0] = int(fdx[0])
2706+ fd[1] = int(fdx[1])
2707+ }
2708+ return
2709+}
2710+
2711+var ioSync int64
2712+
2713+func CloseOnExec(fd int) { fcntl(fd, F_SETFD, FD_CLOEXEC) }
2714+
2715+func SetNonblock(fd int, nonblocking bool) (err error) {
2716+ flag, err := fcntl(fd, F_GETFL, 0)
2717+ if err != nil {
2718+ return err
2719+ }
2720+ if nonblocking {
2721+ flag |= O_NONBLOCK
2722+ } else {
2723+ flag &= ^O_NONBLOCK
2724+ }
2725+ _, err = fcntl(fd, F_SETFL, flag)
2726+ return err
2727+}
2728+
2729+// Exec calls execve(2), which replaces the calling executable in the process
2730+// tree. argv0 should be the full path to an executable ("/bin/ls") and the
2731+// executable name should also be the first argument in argv (["ls", "-l"]).
2732+// envv are the environment variables that should be passed to the new
2733+// process (["USER=go", "PWD=/tmp"]).
2734+func Exec(argv0 string, argv []string, envv []string) error {
2735+ return syscall.Exec(argv0, argv, envv)
2736+}
2737+
2738+func Getag(path string) (ccsid uint16, flag uint16, err error) {
2739+ var val [8]byte
2740+ sz, err := Getxattr(path, "ccsid", val[:])
2741+ if err != nil {
2742+ return
2743+ }
2744+ ccsid = uint16(EncodeData(val[0:sz]))
2745+ sz, err = Getxattr(path, "flags", val[:])
2746+ if err != nil {
2747+ return
2748+ }
2749+ flag = uint16(EncodeData(val[0:sz]) >> 15)
2750+ return
2751+}
2752+
2753+// Mount begin
2754+func impl_Mount(source string, target string, fstype string, flags uintptr, data string) (err error) {
2755+ var _p0 *byte
2756+ _p0, err = BytePtrFromString(source)
2757+ if err != nil {
2758+ return
2759+ }
2760+ var _p1 *byte
2761+ _p1, err = BytePtrFromString(target)
2762+ if err != nil {
2763+ return
2764+ }
2765+ var _p2 *byte
2766+ _p2, err = BytePtrFromString(fstype)
2767+ if err != nil {
2768+ return
2769+ }
2770+ var _p3 *byte
2771+ _p3, err = BytePtrFromString(data)
2772+ if err != nil {
2773+ return
2774+ }
2775+ runtime.EnterSyscall()
2776+ r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___MOUNT1_A<<4, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(_p3)))
2777+ runtime.ExitSyscall()
2778+ if int64(r0) == -1 {
2779+ err = errnoErr2(e1, e2)
2780+ }
2781+ return
2782+}
2783+
2784+//go:nosplit
2785+func get_MountAddr() *(func(source string, target string, fstype string, flags uintptr, data string) (err error))
2786+
2787+var Mount = enter_Mount
2788+
2789+func enter_Mount(source string, target string, fstype string, flags uintptr, data string) (err error) {
2790+ funcref := get_MountAddr()
2791+ if validMount() {
2792+ *funcref = impl_Mount
2793+ } else {
2794+ *funcref = legacyMount
2795+ }
2796+ return (*funcref)(source, target, fstype, flags, data)
2797+}
2798+
2799+func legacyMount(source string, target string, fstype string, flags uintptr, data string) (err error) {
2800+ if needspace := 8 - len(fstype); needspace <= 0 {
2801+ fstype = fstype[0:8]
2802+ } else {
2803+ fstype += " "[0:needspace]
2804+ }
2805+ return mount_LE(target, source, fstype, uint32(flags), int32(len(data)), data)
2806+}
2807+
2808+func validMount() bool {
2809+ if funcptrtest(GetZosLibVec()+SYS___MOUNT1_A<<4, "") == 0 {
2810+ if name, err := getLeFuncName(GetZosLibVec() + SYS___MOUNT1_A<<4); err == nil {
2811+ return name == "__mount1_a"
2812+ }
2813+ }
2814+ return false
2815+}
2816+
2817+// Mount end
2818+
2819+// Unmount begin
2820+func impl_Unmount(target string, flags int) (err error) {
2821+ var _p0 *byte
2822+ _p0, err = BytePtrFromString(target)
2823+ if err != nil {
2824+ return
2825+ }
2826+ runtime.EnterSyscall()
2827+ r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___UMOUNT2_A<<4, uintptr(unsafe.Pointer(_p0)), uintptr(flags))
2828+ runtime.ExitSyscall()
2829+ if int64(r0) == -1 {
2830+ err = errnoErr2(e1, e2)
2831+ }
2832+ return
2833+}
2834+
2835+//go:nosplit
2836+func get_UnmountAddr() *(func(target string, flags int) (err error))
2837+
2838+var Unmount = enter_Unmount
2839+
2840+func enter_Unmount(target string, flags int) (err error) {
2841+ funcref := get_UnmountAddr()
2842+ if funcptrtest(GetZosLibVec()+SYS___UMOUNT2_A<<4, "") == 0 {
2843+ *funcref = impl_Unmount
2844+ } else {
2845+ *funcref = legacyUnmount
2846+ }
2847+ return (*funcref)(target, flags)
2848+}
2849+
2850+func legacyUnmount(name string, mtm int) (err error) {
2851+ // mountpoint is always a full path and starts with a '/'
2852+ // check if input string is not a mountpoint but a filesystem name
2853+ if name[0] != '/' {
2854+ return unmount_LE(name, mtm)
2855+ }
2856+ // treat name as mountpoint
2857+ b2s := func(arr []byte) string {
2858+ var str string
2859+ for i := 0; i < len(arr); i++ {
2860+ if arr[i] == 0 {
2861+ str = string(arr[:i])
2862+ break
2863+ }
2864+ }
2865+ return str
2866+ }
2867+ var buffer struct {
2868+ header W_Mnth
2869+ fsinfo [64]W_Mntent
2870+ }
2871+ fs_count, err := W_Getmntent_A((*byte)(unsafe.Pointer(&buffer)), int(unsafe.Sizeof(buffer)))
2872+ if err == nil {
2873+ err = EINVAL
2874+ for i := 0; i < fs_count; i++ {
2875+ if b2s(buffer.fsinfo[i].Mountpoint[:]) == name {
2876+ err = unmount_LE(b2s(buffer.fsinfo[i].Fsname[:]), mtm)
2877+ break
2878+ }
2879+ }
2880+ } else if fs_count == 0 {
2881+ err = EINVAL
2882+ }
2883+ return err
2884+}
2885+
2886+// Unmount end
2887+
2888+func direntIno(buf []byte) (uint64, bool) {
2889+ return readInt(buf, unsafe.Offsetof(Dirent{}.Ino), unsafe.Sizeof(Dirent{}.Ino))
2890+}
2891+
2892+func direntReclen(buf []byte) (uint64, bool) {
2893+ return readInt(buf, unsafe.Offsetof(Dirent{}.Reclen), unsafe.Sizeof(Dirent{}.Reclen))
2894+}
2895+
2896+func direntNamlen(buf []byte) (uint64, bool) {
2897+ reclen, ok := direntReclen(buf)
2898+ if !ok {
2899+ return 0, false
2900+ }
2901+ return reclen - uint64(unsafe.Offsetof(Dirent{}.Name)), true
2902+}
2903+
2904+func direntLeToDirentUnix(dirent *direntLE, dir uintptr, path string) (Dirent, error) {
2905+ var d Dirent
2906+
2907+ d.Ino = uint64(dirent.Ino)
2908+ offset, err := Telldir(dir)
2909+ if err != nil {
2910+ return d, err
2911+ }
2912+
2913+ d.Off = int64(offset)
2914+ s := string(bytes.Split(dirent.Name[:], []byte{0})[0])
2915+ copy(d.Name[:], s)
2916+
2917+ d.Reclen = uint16(24 + len(d.NameString()))
2918+ var st Stat_t
2919+ path = path + "/" + s
2920+ err = Lstat(path, &st)
2921+ if err != nil {
2922+ return d, err
2923+ }
2924+
2925+ d.Type = uint8(st.Mode >> 24)
2926+ return d, err
2927+}
2928+
2929+func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {
2930+ // Simulation of Getdirentries port from the Darwin implementation.
2931+ // COMMENTS FROM DARWIN:
2932+ // It's not the full required semantics, but should handle the case
2933+ // of calling Getdirentries or ReadDirent repeatedly.
2934+ // It won't handle assigning the results of lseek to *basep, or handle
2935+ // the directory being edited underfoot.
2936+
2937+ skip, err := Seek(fd, 0, 1 /* SEEK_CUR */)
2938+ if err != nil {
2939+ return 0, err
2940+ }
2941+
2942+ // Get path from fd to avoid unavailable call (fdopendir)
2943+ path, err := ZosFdToPath(fd)
2944+ if err != nil {
2945+ return 0, err
2946+ }
2947+ d, err := Opendir(path)
2948+ if err != nil {
2949+ return 0, err
2950+ }
2951+ defer Closedir(d)
2952+
2953+ var cnt int64
2954+ for {
2955+ var entryLE direntLE
2956+ var entrypLE *direntLE
2957+ e := Readdir_r(d, &entryLE, &entrypLE)
2958+ if e != nil {
2959+ return n, e
2960+ }
2961+ if entrypLE == nil {
2962+ break
2963+ }
2964+ if skip > 0 {
2965+ skip--
2966+ cnt++
2967+ continue
2968+ }
2969+
2970+ // Dirent on zos has a different structure
2971+ entry, e := direntLeToDirentUnix(&entryLE, d, path)
2972+ if e != nil {
2973+ return n, e
2974+ }
2975+
2976+ reclen := int(entry.Reclen)
2977+ if reclen > len(buf) {
2978+ // Not enough room. Return for now.
2979+ // The counter will let us know where we should start up again.
2980+ // Note: this strategy for suspending in the middle and
2981+ // restarting is O(n^2) in the length of the directory. Oh well.
2982+ break
2983+ }
2984+
2985+ // Copy entry into return buffer.
2986+ s := unsafe.Slice((*byte)(unsafe.Pointer(&entry)), reclen)
2987+ copy(buf, s)
2988+
2989+ buf = buf[reclen:]
2990+ n += reclen
2991+ cnt++
2992+ }
2993+ // Set the seek offset of the input fd to record
2994+ // how many files we've already returned.
2995+ _, err = Seek(fd, cnt, 0 /* SEEK_SET */)
2996+ if err != nil {
2997+ return n, err
2998+ }
2999+
3000+ return n, nil
3001+}
3002+
3003+func Err2ad() (eadd *int) {
3004+ r0, _, _ := CallLeFuncWithErr(GetZosLibVec() + SYS___ERR2AD<<4)
3005+ eadd = (*int)(unsafe.Pointer(r0))
3006+ return
3007+}
3008+
3009+func ZosConsolePrintf(format string, v ...interface{}) (int, error) {
3010+ type __cmsg struct {
3011+ _ uint16
3012+ _ [2]uint8
3013+ __msg_length uint32
3014+ __msg uintptr
3015+ _ [4]uint8
3016+ }
3017+ msg := fmt.Sprintf(format, v...)
3018+ strptr := unsafe.Pointer((*reflect.StringHeader)(unsafe.Pointer(&msg)).Data)
3019+ len := (*reflect.StringHeader)(unsafe.Pointer(&msg)).Len
3020+ cmsg := __cmsg{__msg_length: uint32(len), __msg: uintptr(strptr)}
3021+ cmd := uint32(0)
3022+ runtime.EnterSyscall()
3023+ rc, err2, err1 := CallLeFuncWithErr(GetZosLibVec()+SYS_____CONSOLE_A<<4, uintptr(unsafe.Pointer(&cmsg)), 0, uintptr(unsafe.Pointer(&cmd)))
3024+ runtime.ExitSyscall()
3025+ if rc != 0 {
3026+ return 0, fmt.Errorf("%s (errno2=0x%x)\n", err1.Error(), err2)
3027+ }
3028+ return 0, nil
3029+}
3030+func ZosStringToEbcdicBytes(str string, nullterm bool) (ebcdicBytes []byte) {
3031+ if nullterm {
3032+ ebcdicBytes = []byte(str + "\x00")
3033+ } else {
3034+ ebcdicBytes = []byte(str)
3035+ }
3036+ A2e(ebcdicBytes)
3037+ return
3038+}
3039+func ZosEbcdicBytesToString(b []byte, trimRight bool) (str string) {
3040+ res := make([]byte, len(b))
3041+ copy(res, b)
3042+ E2a(res)
3043+ if trimRight {
3044+ str = string(bytes.TrimRight(res, " \x00"))
3045+ } else {
3046+ str = string(res)
3047+ }
3048+ return
3049+}
3050+
3051+func fdToPath(dirfd int) (path string, err error) {
3052+ var buffer [1024]byte
3053+ // w_ctrl()
3054+ ret := runtime.CallLeFuncByPtr(runtime.XplinkLibvec+SYS_W_IOCTL<<4,
3055+ []uintptr{uintptr(dirfd), 17, 1024, uintptr(unsafe.Pointer(&buffer[0]))})
3056+ if ret == 0 {
3057+ zb := bytes.IndexByte(buffer[:], 0)
3058+ if zb == -1 {
3059+ zb = len(buffer)
3060+ }
3061+ // __e2a_l()
3062+ runtime.CallLeFuncByPtr(runtime.XplinkLibvec+SYS___E2A_L<<4,
3063+ []uintptr{uintptr(unsafe.Pointer(&buffer[0])), uintptr(zb)})
3064+ return string(buffer[:zb]), nil
3065+ }
3066+ // __errno()
3067+ errno := int(*(*int32)(unsafe.Pointer(runtime.CallLeFuncByPtr(runtime.XplinkLibvec+SYS___ERRNO<<4,
3068+ []uintptr{}))))
3069+ // __errno2()
3070+ errno2 := int(runtime.CallLeFuncByPtr(runtime.XplinkLibvec+SYS___ERRNO2<<4,
3071+ []uintptr{}))
3072+ // strerror_r()
3073+ ret = runtime.CallLeFuncByPtr(runtime.XplinkLibvec+SYS_STRERROR_R<<4,
3074+ []uintptr{uintptr(errno), uintptr(unsafe.Pointer(&buffer[0])), 1024})
3075+ if ret == 0 {
3076+ zb := bytes.IndexByte(buffer[:], 0)
3077+ if zb == -1 {
3078+ zb = len(buffer)
3079+ }
3080+ return "", fmt.Errorf("%s (errno2=0x%x)", buffer[:zb], errno2)
3081+ } else {
3082+ return "", fmt.Errorf("fdToPath errno %d (errno2=0x%x)", errno, errno2)
3083+ }
3084+}
3085+
3086+func impl_Mkfifoat(dirfd int, path string, mode uint32) (err error) {
3087+ var _p0 *byte
3088+ _p0, err = BytePtrFromString(path)
3089+ if err != nil {
3090+ return
3091+ }
3092+ runtime.EnterSyscall()
3093+ r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS___MKFIFOAT_A<<4, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))
3094+ runtime.ExitSyscall()
3095+ if int64(r0) == -1 {
3096+ err = errnoErr2(e1, e2)
3097+ }
3098+ return
3099+}
3100+
3101+//go:nosplit
3102+func get_MkfifoatAddr() *(func(dirfd int, path string, mode uint32) (err error))
3103+
3104+var Mkfifoat = enter_Mkfifoat
3105+
3106+func enter_Mkfifoat(dirfd int, path string, mode uint32) (err error) {
3107+ funcref := get_MkfifoatAddr()
3108+ if funcptrtest(GetZosLibVec()+SYS___MKFIFOAT_A<<4, "") == 0 {
3109+ *funcref = impl_Mkfifoat
3110+ } else {
3111+ *funcref = legacy_Mkfifoat
3112+ }
3113+ return (*funcref)(dirfd, path, mode)
3114+}
3115+
3116+func legacy_Mkfifoat(dirfd int, path string, mode uint32) (err error) {
3117+ dirname, err := ZosFdToPath(dirfd)
3118+ if err != nil {
3119+ return err
3120+ }
3121+ return Mkfifo(dirname+"/"+path, mode)
3122+}
3123+
3124+//sys Posix_openpt(oflag int) (fd int, err error) = SYS_POSIX_OPENPT
3125+//sys Grantpt(fildes int) (rc int, err error) = SYS_GRANTPT
3126+//sys Unlockpt(fildes int) (rc int, err error) = SYS_UNLOCKPT
3127+
3128+func fcntlAsIs(fd uintptr, cmd int, arg uintptr) (val int, err error) {
3129+ runtime.EnterSyscall()
3130+ r0, e2, e1 := CallLeFuncWithErr(GetZosLibVec()+SYS_FCNTL<<4, uintptr(fd), uintptr(cmd), arg)
3131+ runtime.ExitSyscall()
3132+ val = int(r0)
3133+ if int64(r0) == -1 {
3134+ err = errnoErr2(e1, e2)
3135+ }
3136+ return
3137+}
3138+
3139+func Fcntl(fd uintptr, cmd int, op interface{}) (ret int, err error) {
3140+ switch op.(type) {
3141+ case *Flock_t:
3142+ err = FcntlFlock(fd, cmd, op.(*Flock_t))
3143+ if err != nil {
3144+ ret = -1
3145+ }
3146+ return
3147+ case int:
3148+ return FcntlInt(fd, cmd, op.(int))
3149+ case *F_cnvrt:
3150+ return fcntlAsIs(fd, cmd, uintptr(unsafe.Pointer(op.(*F_cnvrt))))
3151+ case unsafe.Pointer:
3152+ return fcntlAsIs(fd, cmd, uintptr(op.(unsafe.Pointer)))
3153+ default:
3154+ return -1, EINVAL
3155+ }
3156+ return
3157+}
3158+
3159+func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {
3160+ if raceenabled {
3161+ raceReleaseMerge(unsafe.Pointer(&ioSync))
3162+ }
3163+ return sendfile(outfd, infd, offset, count)
3164+}
3165+
3166+func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {
3167+ // TODO: use LE call instead if the call is implemented
3168+ originalOffset, err := Seek(infd, 0, SEEK_CUR)
3169+ if err != nil {
3170+ return -1, err
3171+ }
3172+ //start reading data from in_fd
3173+ if offset != nil {
3174+ _, err := Seek(infd, *offset, SEEK_SET)
3175+ if err != nil {
3176+ return -1, err
3177+ }
3178+ }
3179+
3180+ buf := make([]byte, count)
3181+ readBuf := make([]byte, 0)
3182+ var n int = 0
3183+ for i := 0; i < count; i += n {
3184+ n, err := Read(infd, buf)
3185+ if n == 0 {
3186+ if err != nil {
3187+ return -1, err
3188+ } else { // EOF
3189+ break
3190+ }
3191+ }
3192+ readBuf = append(readBuf, buf...)
3193+ buf = buf[0:0]
3194+ }
3195+
3196+ n2, err := Write(outfd, readBuf)
3197+ if err != nil {
3198+ return -1, err
3199+ }
3200+
3201+ //When sendfile() returns, this variable will be set to the
3202+ // offset of the byte following the last byte that was read.
3203+ if offset != nil {
3204+ *offset = *offset + int64(n)
3205+ // If offset is not NULL, then sendfile() does not modify the file
3206+ // offset of in_fd
3207+ _, err := Seek(infd, originalOffset, SEEK_SET)
3208+ if err != nil {
3209+ return -1, err
3210+ }
3211+ }
3212+ return n2, nil
3213+}
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