Full Code of pcarrier/gauth for AI

main 0711b6217a91 cached
408 files
7.9 MB
2.1M tokens
96039 symbols
1 requests
Download .txt
Showing preview only (8,371K chars total). Download the full file or copy to clipboard to get everything.
Repository: pcarrier/gauth
Branch: main
Commit: 0711b6217a91
Files: 408
Total size: 7.9 MB

Directory structure:
gitextract_e3224pot/

├── .github/
│   ├── FUNDING.yml
│   └── workflows/
│       ├── go-presubmit.yml
│       └── goreleaser.yml
├── .gitignore
├── .goreleaser.yaml
├── LICENSE
├── PKGBUILD
├── README.md
├── gauth/
│   ├── gauth.go
│   ├── gauth_test.go
│   └── testdata/
│       ├── encrypted.csv
│       └── plaintext.csv
├── gauth.go
├── go.mod
├── go.sum
└── vendor/
    ├── github.com/
    │   └── creachadair/
    │       ├── otp/
    │       │   ├── .gitignore
    │       │   ├── LICENSE
    │       │   ├── README.md
    │       │   ├── notes.txt
    │       │   ├── otp.go
    │       │   └── otpauth/
    │       │       ├── migration.go
    │       │       └── otpauth.go
    │       └── wirepb/
    │           ├── LICENSE
    │           ├── README.md
    │           ├── enums.go
    │           └── wirepb.go
    ├── golang.org/
    │   └── x/
    │       ├── sys/
    │       │   ├── LICENSE
    │       │   ├── PATENTS
    │       │   ├── plan9/
    │       │   │   ├── asm.s
    │       │   │   ├── asm_plan9_386.s
    │       │   │   ├── asm_plan9_amd64.s
    │       │   │   ├── asm_plan9_arm.s
    │       │   │   ├── const_plan9.go
    │       │   │   ├── dir_plan9.go
    │       │   │   ├── env_plan9.go
    │       │   │   ├── errors_plan9.go
    │       │   │   ├── mkall.sh
    │       │   │   ├── mkerrors.sh
    │       │   │   ├── mksysnum_plan9.sh
    │       │   │   ├── pwd_go15_plan9.go
    │       │   │   ├── pwd_plan9.go
    │       │   │   ├── race.go
    │       │   │   ├── race0.go
    │       │   │   ├── str.go
    │       │   │   ├── syscall.go
    │       │   │   ├── syscall_plan9.go
    │       │   │   ├── zsyscall_plan9_386.go
    │       │   │   ├── zsyscall_plan9_amd64.go
    │       │   │   ├── zsyscall_plan9_arm.go
    │       │   │   └── zsysnum_plan9.go
    │       │   ├── unix/
    │       │   │   ├── .gitignore
    │       │   │   ├── README.md
    │       │   │   ├── affinity_linux.go
    │       │   │   ├── aliases.go
    │       │   │   ├── asm_aix_ppc64.s
    │       │   │   ├── asm_bsd_386.s
    │       │   │   ├── asm_bsd_amd64.s
    │       │   │   ├── asm_bsd_arm.s
    │       │   │   ├── asm_bsd_arm64.s
    │       │   │   ├── asm_bsd_ppc64.s
    │       │   │   ├── asm_bsd_riscv64.s
    │       │   │   ├── asm_linux_386.s
    │       │   │   ├── asm_linux_amd64.s
    │       │   │   ├── asm_linux_arm.s
    │       │   │   ├── asm_linux_arm64.s
    │       │   │   ├── asm_linux_loong64.s
    │       │   │   ├── asm_linux_mips64x.s
    │       │   │   ├── asm_linux_mipsx.s
    │       │   │   ├── asm_linux_ppc64x.s
    │       │   │   ├── asm_linux_riscv64.s
    │       │   │   ├── asm_linux_s390x.s
    │       │   │   ├── asm_openbsd_mips64.s
    │       │   │   ├── asm_solaris_amd64.s
    │       │   │   ├── asm_zos_s390x.s
    │       │   │   ├── auxv.go
    │       │   │   ├── auxv_unsupported.go
    │       │   │   ├── bluetooth_linux.go
    │       │   │   ├── bpxsvc_zos.go
    │       │   │   ├── bpxsvc_zos.s
    │       │   │   ├── cap_freebsd.go
    │       │   │   ├── constants.go
    │       │   │   ├── dev_aix_ppc.go
    │       │   │   ├── dev_aix_ppc64.go
    │       │   │   ├── dev_darwin.go
    │       │   │   ├── dev_dragonfly.go
    │       │   │   ├── dev_freebsd.go
    │       │   │   ├── dev_linux.go
    │       │   │   ├── dev_netbsd.go
    │       │   │   ├── dev_openbsd.go
    │       │   │   ├── dev_zos.go
    │       │   │   ├── dirent.go
    │       │   │   ├── endian_big.go
    │       │   │   ├── endian_little.go
    │       │   │   ├── env_unix.go
    │       │   │   ├── fcntl.go
    │       │   │   ├── fcntl_darwin.go
    │       │   │   ├── fcntl_linux_32bit.go
    │       │   │   ├── fdset.go
    │       │   │   ├── gccgo.go
    │       │   │   ├── gccgo_c.c
    │       │   │   ├── gccgo_linux_amd64.go
    │       │   │   ├── ifreq_linux.go
    │       │   │   ├── ioctl_linux.go
    │       │   │   ├── ioctl_signed.go
    │       │   │   ├── ioctl_unsigned.go
    │       │   │   ├── ioctl_zos.go
    │       │   │   ├── mkall.sh
    │       │   │   ├── mkerrors.sh
    │       │   │   ├── mmap_nomremap.go
    │       │   │   ├── mremap.go
    │       │   │   ├── pagesize_unix.go
    │       │   │   ├── pledge_openbsd.go
    │       │   │   ├── ptrace_darwin.go
    │       │   │   ├── ptrace_ios.go
    │       │   │   ├── race.go
    │       │   │   ├── race0.go
    │       │   │   ├── readdirent_getdents.go
    │       │   │   ├── readdirent_getdirentries.go
    │       │   │   ├── sockcmsg_dragonfly.go
    │       │   │   ├── sockcmsg_linux.go
    │       │   │   ├── sockcmsg_unix.go
    │       │   │   ├── sockcmsg_unix_other.go
    │       │   │   ├── sockcmsg_zos.go
    │       │   │   ├── symaddr_zos_s390x.s
    │       │   │   ├── syscall.go
    │       │   │   ├── syscall_aix.go
    │       │   │   ├── syscall_aix_ppc.go
    │       │   │   ├── syscall_aix_ppc64.go
    │       │   │   ├── syscall_bsd.go
    │       │   │   ├── syscall_darwin.go
    │       │   │   ├── syscall_darwin_amd64.go
    │       │   │   ├── syscall_darwin_arm64.go
    │       │   │   ├── syscall_darwin_libSystem.go
    │       │   │   ├── syscall_dragonfly.go
    │       │   │   ├── syscall_dragonfly_amd64.go
    │       │   │   ├── syscall_freebsd.go
    │       │   │   ├── syscall_freebsd_386.go
    │       │   │   ├── syscall_freebsd_amd64.go
    │       │   │   ├── syscall_freebsd_arm.go
    │       │   │   ├── syscall_freebsd_arm64.go
    │       │   │   ├── syscall_freebsd_riscv64.go
    │       │   │   ├── syscall_hurd.go
    │       │   │   ├── syscall_hurd_386.go
    │       │   │   ├── syscall_illumos.go
    │       │   │   ├── syscall_linux.go
    │       │   │   ├── syscall_linux_386.go
    │       │   │   ├── syscall_linux_alarm.go
    │       │   │   ├── syscall_linux_amd64.go
    │       │   │   ├── syscall_linux_amd64_gc.go
    │       │   │   ├── syscall_linux_arm.go
    │       │   │   ├── syscall_linux_arm64.go
    │       │   │   ├── syscall_linux_gc.go
    │       │   │   ├── syscall_linux_gc_386.go
    │       │   │   ├── syscall_linux_gc_arm.go
    │       │   │   ├── syscall_linux_gccgo_386.go
    │       │   │   ├── syscall_linux_gccgo_arm.go
    │       │   │   ├── syscall_linux_loong64.go
    │       │   │   ├── syscall_linux_mips64x.go
    │       │   │   ├── syscall_linux_mipsx.go
    │       │   │   ├── syscall_linux_ppc.go
    │       │   │   ├── syscall_linux_ppc64x.go
    │       │   │   ├── syscall_linux_riscv64.go
    │       │   │   ├── syscall_linux_s390x.go
    │       │   │   ├── syscall_linux_sparc64.go
    │       │   │   ├── syscall_netbsd.go
    │       │   │   ├── syscall_netbsd_386.go
    │       │   │   ├── syscall_netbsd_amd64.go
    │       │   │   ├── syscall_netbsd_arm.go
    │       │   │   ├── syscall_netbsd_arm64.go
    │       │   │   ├── syscall_openbsd.go
    │       │   │   ├── syscall_openbsd_386.go
    │       │   │   ├── syscall_openbsd_amd64.go
    │       │   │   ├── syscall_openbsd_arm.go
    │       │   │   ├── syscall_openbsd_arm64.go
    │       │   │   ├── syscall_openbsd_libc.go
    │       │   │   ├── syscall_openbsd_mips64.go
    │       │   │   ├── syscall_openbsd_ppc64.go
    │       │   │   ├── syscall_openbsd_riscv64.go
    │       │   │   ├── syscall_solaris.go
    │       │   │   ├── syscall_solaris_amd64.go
    │       │   │   ├── syscall_unix.go
    │       │   │   ├── syscall_unix_gc.go
    │       │   │   ├── syscall_unix_gc_ppc64x.go
    │       │   │   ├── syscall_zos_s390x.go
    │       │   │   ├── sysvshm_linux.go
    │       │   │   ├── sysvshm_unix.go
    │       │   │   ├── sysvshm_unix_other.go
    │       │   │   ├── timestruct.go
    │       │   │   ├── unveil_openbsd.go
    │       │   │   ├── vgetrandom_linux.go
    │       │   │   ├── vgetrandom_unsupported.go
    │       │   │   ├── xattr_bsd.go
    │       │   │   ├── zerrors_aix_ppc.go
    │       │   │   ├── zerrors_aix_ppc64.go
    │       │   │   ├── zerrors_darwin_amd64.go
    │       │   │   ├── zerrors_darwin_arm64.go
    │       │   │   ├── zerrors_dragonfly_amd64.go
    │       │   │   ├── zerrors_freebsd_386.go
    │       │   │   ├── zerrors_freebsd_amd64.go
    │       │   │   ├── zerrors_freebsd_arm.go
    │       │   │   ├── zerrors_freebsd_arm64.go
    │       │   │   ├── zerrors_freebsd_riscv64.go
    │       │   │   ├── zerrors_linux.go
    │       │   │   ├── zerrors_linux_386.go
    │       │   │   ├── zerrors_linux_amd64.go
    │       │   │   ├── zerrors_linux_arm.go
    │       │   │   ├── zerrors_linux_arm64.go
    │       │   │   ├── zerrors_linux_loong64.go
    │       │   │   ├── zerrors_linux_mips.go
    │       │   │   ├── zerrors_linux_mips64.go
    │       │   │   ├── zerrors_linux_mips64le.go
    │       │   │   ├── zerrors_linux_mipsle.go
    │       │   │   ├── zerrors_linux_ppc.go
    │       │   │   ├── zerrors_linux_ppc64.go
    │       │   │   ├── zerrors_linux_ppc64le.go
    │       │   │   ├── zerrors_linux_riscv64.go
    │       │   │   ├── zerrors_linux_s390x.go
    │       │   │   ├── zerrors_linux_sparc64.go
    │       │   │   ├── zerrors_netbsd_386.go
    │       │   │   ├── zerrors_netbsd_amd64.go
    │       │   │   ├── zerrors_netbsd_arm.go
    │       │   │   ├── zerrors_netbsd_arm64.go
    │       │   │   ├── zerrors_openbsd_386.go
    │       │   │   ├── zerrors_openbsd_amd64.go
    │       │   │   ├── zerrors_openbsd_arm.go
    │       │   │   ├── zerrors_openbsd_arm64.go
    │       │   │   ├── zerrors_openbsd_mips64.go
    │       │   │   ├── zerrors_openbsd_ppc64.go
    │       │   │   ├── zerrors_openbsd_riscv64.go
    │       │   │   ├── zerrors_solaris_amd64.go
    │       │   │   ├── zerrors_zos_s390x.go
    │       │   │   ├── zptrace_armnn_linux.go
    │       │   │   ├── zptrace_linux_arm64.go
    │       │   │   ├── zptrace_mipsnn_linux.go
    │       │   │   ├── zptrace_mipsnnle_linux.go
    │       │   │   ├── zptrace_x86_linux.go
    │       │   │   ├── zsymaddr_zos_s390x.s
    │       │   │   ├── zsyscall_aix_ppc.go
    │       │   │   ├── zsyscall_aix_ppc64.go
    │       │   │   ├── zsyscall_aix_ppc64_gc.go
    │       │   │   ├── zsyscall_aix_ppc64_gccgo.go
    │       │   │   ├── zsyscall_darwin_amd64.go
    │       │   │   ├── zsyscall_darwin_amd64.s
    │       │   │   ├── zsyscall_darwin_arm64.go
    │       │   │   ├── zsyscall_darwin_arm64.s
    │       │   │   ├── zsyscall_dragonfly_amd64.go
    │       │   │   ├── zsyscall_freebsd_386.go
    │       │   │   ├── zsyscall_freebsd_amd64.go
    │       │   │   ├── zsyscall_freebsd_arm.go
    │       │   │   ├── zsyscall_freebsd_arm64.go
    │       │   │   ├── zsyscall_freebsd_riscv64.go
    │       │   │   ├── zsyscall_illumos_amd64.go
    │       │   │   ├── zsyscall_linux.go
    │       │   │   ├── zsyscall_linux_386.go
    │       │   │   ├── zsyscall_linux_amd64.go
    │       │   │   ├── zsyscall_linux_arm.go
    │       │   │   ├── zsyscall_linux_arm64.go
    │       │   │   ├── zsyscall_linux_loong64.go
    │       │   │   ├── zsyscall_linux_mips.go
    │       │   │   ├── zsyscall_linux_mips64.go
    │       │   │   ├── zsyscall_linux_mips64le.go
    │       │   │   ├── zsyscall_linux_mipsle.go
    │       │   │   ├── zsyscall_linux_ppc.go
    │       │   │   ├── zsyscall_linux_ppc64.go
    │       │   │   ├── zsyscall_linux_ppc64le.go
    │       │   │   ├── zsyscall_linux_riscv64.go
    │       │   │   ├── zsyscall_linux_s390x.go
    │       │   │   ├── zsyscall_linux_sparc64.go
    │       │   │   ├── zsyscall_netbsd_386.go
    │       │   │   ├── zsyscall_netbsd_amd64.go
    │       │   │   ├── zsyscall_netbsd_arm.go
    │       │   │   ├── zsyscall_netbsd_arm64.go
    │       │   │   ├── zsyscall_openbsd_386.go
    │       │   │   ├── zsyscall_openbsd_386.s
    │       │   │   ├── zsyscall_openbsd_amd64.go
    │       │   │   ├── zsyscall_openbsd_amd64.s
    │       │   │   ├── zsyscall_openbsd_arm.go
    │       │   │   ├── zsyscall_openbsd_arm.s
    │       │   │   ├── zsyscall_openbsd_arm64.go
    │       │   │   ├── zsyscall_openbsd_arm64.s
    │       │   │   ├── zsyscall_openbsd_mips64.go
    │       │   │   ├── zsyscall_openbsd_mips64.s
    │       │   │   ├── zsyscall_openbsd_ppc64.go
    │       │   │   ├── zsyscall_openbsd_ppc64.s
    │       │   │   ├── zsyscall_openbsd_riscv64.go
    │       │   │   ├── zsyscall_openbsd_riscv64.s
    │       │   │   ├── zsyscall_solaris_amd64.go
    │       │   │   ├── zsyscall_zos_s390x.go
    │       │   │   ├── zsysctl_openbsd_386.go
    │       │   │   ├── zsysctl_openbsd_amd64.go
    │       │   │   ├── zsysctl_openbsd_arm.go
    │       │   │   ├── zsysctl_openbsd_arm64.go
    │       │   │   ├── zsysctl_openbsd_mips64.go
    │       │   │   ├── zsysctl_openbsd_ppc64.go
    │       │   │   ├── zsysctl_openbsd_riscv64.go
    │       │   │   ├── zsysnum_darwin_amd64.go
    │       │   │   ├── zsysnum_darwin_arm64.go
    │       │   │   ├── zsysnum_dragonfly_amd64.go
    │       │   │   ├── zsysnum_freebsd_386.go
    │       │   │   ├── zsysnum_freebsd_amd64.go
    │       │   │   ├── zsysnum_freebsd_arm.go
    │       │   │   ├── zsysnum_freebsd_arm64.go
    │       │   │   ├── zsysnum_freebsd_riscv64.go
    │       │   │   ├── zsysnum_linux_386.go
    │       │   │   ├── zsysnum_linux_amd64.go
    │       │   │   ├── zsysnum_linux_arm.go
    │       │   │   ├── zsysnum_linux_arm64.go
    │       │   │   ├── zsysnum_linux_loong64.go
    │       │   │   ├── zsysnum_linux_mips.go
    │       │   │   ├── zsysnum_linux_mips64.go
    │       │   │   ├── zsysnum_linux_mips64le.go
    │       │   │   ├── zsysnum_linux_mipsle.go
    │       │   │   ├── zsysnum_linux_ppc.go
    │       │   │   ├── zsysnum_linux_ppc64.go
    │       │   │   ├── zsysnum_linux_ppc64le.go
    │       │   │   ├── zsysnum_linux_riscv64.go
    │       │   │   ├── zsysnum_linux_s390x.go
    │       │   │   ├── zsysnum_linux_sparc64.go
    │       │   │   ├── zsysnum_netbsd_386.go
    │       │   │   ├── zsysnum_netbsd_amd64.go
    │       │   │   ├── zsysnum_netbsd_arm.go
    │       │   │   ├── zsysnum_netbsd_arm64.go
    │       │   │   ├── zsysnum_openbsd_386.go
    │       │   │   ├── zsysnum_openbsd_amd64.go
    │       │   │   ├── zsysnum_openbsd_arm.go
    │       │   │   ├── zsysnum_openbsd_arm64.go
    │       │   │   ├── zsysnum_openbsd_mips64.go
    │       │   │   ├── zsysnum_openbsd_ppc64.go
    │       │   │   ├── zsysnum_openbsd_riscv64.go
    │       │   │   ├── zsysnum_zos_s390x.go
    │       │   │   ├── ztypes_aix_ppc.go
    │       │   │   ├── ztypes_aix_ppc64.go
    │       │   │   ├── ztypes_darwin_amd64.go
    │       │   │   ├── ztypes_darwin_arm64.go
    │       │   │   ├── ztypes_dragonfly_amd64.go
    │       │   │   ├── ztypes_freebsd_386.go
    │       │   │   ├── ztypes_freebsd_amd64.go
    │       │   │   ├── ztypes_freebsd_arm.go
    │       │   │   ├── ztypes_freebsd_arm64.go
    │       │   │   ├── ztypes_freebsd_riscv64.go
    │       │   │   ├── ztypes_linux.go
    │       │   │   ├── ztypes_linux_386.go
    │       │   │   ├── ztypes_linux_amd64.go
    │       │   │   ├── ztypes_linux_arm.go
    │       │   │   ├── ztypes_linux_arm64.go
    │       │   │   ├── ztypes_linux_loong64.go
    │       │   │   ├── ztypes_linux_mips.go
    │       │   │   ├── ztypes_linux_mips64.go
    │       │   │   ├── ztypes_linux_mips64le.go
    │       │   │   ├── ztypes_linux_mipsle.go
    │       │   │   ├── ztypes_linux_ppc.go
    │       │   │   ├── ztypes_linux_ppc64.go
    │       │   │   ├── ztypes_linux_ppc64le.go
    │       │   │   ├── ztypes_linux_riscv64.go
    │       │   │   ├── ztypes_linux_s390x.go
    │       │   │   ├── ztypes_linux_sparc64.go
    │       │   │   ├── ztypes_netbsd_386.go
    │       │   │   ├── ztypes_netbsd_amd64.go
    │       │   │   ├── ztypes_netbsd_arm.go
    │       │   │   ├── ztypes_netbsd_arm64.go
    │       │   │   ├── ztypes_openbsd_386.go
    │       │   │   ├── ztypes_openbsd_amd64.go
    │       │   │   ├── ztypes_openbsd_arm.go
    │       │   │   ├── ztypes_openbsd_arm64.go
    │       │   │   ├── ztypes_openbsd_mips64.go
    │       │   │   ├── ztypes_openbsd_ppc64.go
    │       │   │   ├── ztypes_openbsd_riscv64.go
    │       │   │   ├── ztypes_solaris_amd64.go
    │       │   │   └── ztypes_zos_s390x.go
    │       │   └── windows/
    │       │       ├── aliases.go
    │       │       ├── dll_windows.go
    │       │       ├── env_windows.go
    │       │       ├── eventlog.go
    │       │       ├── exec_windows.go
    │       │       ├── memory_windows.go
    │       │       ├── mkerrors.bash
    │       │       ├── mkknownfolderids.bash
    │       │       ├── mksyscall.go
    │       │       ├── race.go
    │       │       ├── race0.go
    │       │       ├── security_windows.go
    │       │       ├── service.go
    │       │       ├── setupapi_windows.go
    │       │       ├── str.go
    │       │       ├── syscall.go
    │       │       ├── syscall_windows.go
    │       │       ├── types_windows.go
    │       │       ├── types_windows_386.go
    │       │       ├── types_windows_amd64.go
    │       │       ├── types_windows_arm.go
    │       │       ├── types_windows_arm64.go
    │       │       ├── zerrors_windows.go
    │       │       ├── zknownfolderids_windows.go
    │       │       └── zsyscall_windows.go
    │       └── term/
    │           ├── CONTRIBUTING.md
    │           ├── LICENSE
    │           ├── PATENTS
    │           ├── README.md
    │           ├── codereview.cfg
    │           ├── term.go
    │           ├── term_plan9.go
    │           ├── term_unix.go
    │           ├── term_unix_bsd.go
    │           ├── term_unix_other.go
    │           ├── term_unsupported.go
    │           ├── term_windows.go
    │           └── terminal.go
    └── modules.txt

================================================
FILE CONTENTS
================================================

================================================
FILE: .github/FUNDING.yml
================================================
ko_fi: pcarrier


================================================
FILE: .github/workflows/go-presubmit.yml
================================================
name: Go presubmit

on:
  push:
    branches:
      - main
  pull_request:
    types: [opened, reopened, synchronize]

jobs:
  build:
    name: Go presubmit
    runs-on: ubuntu-latest
    strategy:
      matrix:
        go-version: ["1.23", "stable"]
    steps:
      - name: Install Go ${{ matrix.go-version }}
        uses: actions/setup-go@v5
        with:
          go-version: ${{ matrix.go-version }}
      - uses: actions/checkout@v4
      - uses: creachadair/go-presubmit-action@v2
        with:
          staticcheck-version: "2024.1.1"


================================================
FILE: .github/workflows/goreleaser.yml
================================================
name: goreleaser

on:
  push:
    branches:
      - main
    tags:
      - "*"
  pull_request:
    types: [opened, reopened, synchronize]

permissions:
  contents: write

jobs:
  goreleaser:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v4

      - name: Set up Go
        uses: actions/setup-go@v5
        with:
          go-version: 1.23

      - name: Run GoReleaser release (SKIP publish)
        uses: goreleaser/goreleaser-action@v5
        if: startsWith(github.ref, 'refs/tags/') != true
        with:
          distribution: goreleaser
          version: latest
          args: release --clean --skip=publish --snapshot
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

      - name: Run GoReleaser release
        uses: goreleaser/goreleaser-action@v5
        if: startsWith(github.ref, 'refs/tags/')
        with:
          distribution: goreleaser
          version: latest
          args: release --clean
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}


================================================
FILE: .gitignore
================================================
.DS_STORE
.idea/
dist/


================================================
FILE: .goreleaser.yaml
================================================
# This is an example .goreleaser.yml file with some sensible defaults.
# Make sure to check the documentation at https://goreleaser.com
before:
  hooks:
    # You may remove this if you don't use go modules.
    - go mod tidy
    # you may remove this if you don't need go generate
    - go generate ./...
builds:
  - env:
      - CGO_ENABLED=0
    goos:
      - linux
      - windows
      - darwin
archives:
  - format: binary
checksum:
  name_template: 'checksums.txt'
snapshot:
  name_template: "{{ incpatch .Version }}-next"
changelog:
  sort: asc
  filters:
    exclude:
      - '^docs:'
      - '^test:'


================================================
FILE: LICENSE
================================================
Copyright 2013-2021 M. J. Fromberger, Pierre Carrier

Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted, provided that the above
copyright notice and this permission notice appear in all copies.

THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.


================================================
FILE: PKGBUILD
================================================
# Maintainer: pcarrier

pkgname=gauth
pkgver=1.0
pkgrel=1
pkgdesc="Local laptop/desktop Google Authenticator written in go"
arch=('x86_64' 'i686')
url="https://github.com/pcarrier/gauth"
license=('MIT')
depends=('go')
makedepends=('mercurial')
options=('!strip' '!emptydirs')
_gourl=github.com/pcarrier/gauth

build() {
  GOPATH="$srcdir" go get -fix -v -x ${_gourl}/...
}

check() {
  GOPATH="$GOPATH:$srcdir" go test -v -x ${_gourl}/...
}

package() {
  mkdir -p "$pkgdir/usr/bin"
  install -p -m755 "$srcdir/bin/"* "$pkgdir/usr/bin"

  mkdir -p "$pkgdir/$GOPATH"
  cp -Rv --preserve=timestamps "$srcdir/"{src,pkg} "$pkgdir/$GOPATH"

  # Package license (if available)
  for f in LICENSE COPYING LICENSE.* COPYING.*; do
      if [ -e "$srcdir/src/$_gourl/$f" ]; then
            install -Dm644 "$srcdir/src/$_gourl/$f" \
                    "$pkgdir/usr/share/licenses/$pkgname/$f"
      fi
      done
}

# vim:set ts=2 sw=2 et:


================================================
FILE: README.md
================================================
[![Go presubmit](https://github.com/pcarrier/gauth/actions/workflows/go-presubmit.yml/badge.svg)](https://github.com/pcarrier/gauth/actions)

gauth: replace Google Authenticator
===================================

Installation
------------

Choose your preferred path.

- With [brew](https://brew.sh) on Mac, `brew install gauth`.

- With Go installed, `GOBIN=/usr/local/bin go install github.com/pcarrier/gauth@latest`.

Usage
-----

- In web interfaces, claim you can't read QR codes, get a secret like `hret 3ij7 kaj4 2jzg` instead.
- Store one secret per line in `~/.config/gauth.csv`, in the format `name:secret`. For example:

        AWS:   ABCDEFGHIJKLMNOPQRSTUVWXYZ234567ABCDEFGHIJKLMNOPQRSTUVWXYZ234567
        Airbnb:abcd efgh ijkl mnop
        Google:a2b3c4d5e6f7ghij
        Github:234567qrstuvwxyz
        otpauth://totp/testOrg:testuser?secret=AAAQEAYEAUDAOCAJ======&issuer=testOrg&algorithm=SHA512&digits=8&period=30

- Restrict access to your user:

        $ chmod 600 ~/.config/gauth.csv

- Run `gauth`. The progress bar indicates how far the next change is.

        $ gauth
                   prev   curr   next
        AWS        315306 135387 483601
        Airbnb     563728 339206 904549
        Google     453564 477615 356846
        Github     911264 548790 784099
        [=======                      ]

- Run `gauth KEYNAME` to print a specific key with progress bar.

- Run `gauth KEYNAME -b` to print a bare current key.

        $ gauth Google -b
        477615

- Run `gauth KEYNAME -s` to retrieve an accounts secret from the config.

        $ gauth Google -s
        your_secret_for_google

- `gauth` is convenient to use in `watch`.

        $ watch -n1 gauth

- Remember to keep your system clock synchronized and to **lock your computer when brewing your tea!**

- If you find yourself needing to interpret a QR code (e.g. exporting a code
  from an existing Google Authenticator setup, on a phone to which you do not
  have root access), then [gauthQR](https://github.com/jbert/gauthQR) may be useful.


Adding and removing keys
------------------------

- Run `gauth KEYNAME -a` to add a new key.

        $ gauth Google -a
        Key for Google: examplekey
        Current OTP for Google: 306726

- Run `gauth KEYNAME -r` to remove an existing key.

        $ gauth Google -r
        Are you sure you want to remove Google [y/N]: y
        Google has been removed.

Encryption
----------

`gauth` supports password-based encryption of `gauth.csv`. To encrypt, use:

        $ openssl enc -aes-128-cbc -md sha256 -in ~/gauth.csv -out ~/.config/gauth.csv
        enter aes-128-cbc encryption password:
        Verifying - enter aes-128-cbc encryption password:

`gauth` will then prompt you for that password on every run:

        $ gauth
        Encryption password:
                   prev   curr   next
        LastPass   915200 479333 408710

Note that this encryption mechanism is far from ideal from a pure security standpoint.
Please read [OpenSSL's notes on the subject](https://www.openssl.org/docs/man3.2/man3/EVP_BytesToKey.html#NOTES).

Compatibility
-------------

Tested with:

- Airbnb
- Apple
- AWS
- DreamHost
- Dropbox
- Evernote
- Facebook
- Gandi
- Github
- Google
- LastPass
- Linode
- Microsoft
- Okta (reported by Bryan Baldwin)
- WP.com
- bittrex.com
- Ügyfélkapu+
- poloniex.com

Please report further results to pc@rrier.ca.

Rooted Android?
---------------

If your Android phone is rooted, it's easy to "back up" your secrets from an `adb shell` into `gauth`.

    # sqlite3 /data/data/com.google.android.apps.authenticator2/databases/database \
              'select email,secret from accounts'

If your phone isn't rooted, you may have luck with the gauthQR tool mentioned
in the Usage section above.

Really, does this make sense?
-----------------------------

At least to me, it does. My laptop features encrypted storage, a stronger authentication mechanism,
and I take good care of its physical integrity.

My phone also runs arbitrary apps, is constantly connected to the Internet, gets forgotten on tables.

Thanks to the convenience of a command line utility, my usage of 2-factor authentication went from
3 to 10 services over a few days.

Clearly a win for security.


================================================
FILE: gauth/gauth.go
================================================
// Package gauth implements the time-based OTP generation scheme used by Google
// Authenticator.
package gauth

import (
	"bytes"
	"crypto/aes"
	"crypto/cipher"
	"crypto/sha1"
	"crypto/sha256"
	"crypto/sha512"
	"errors"
	"fmt"
	"hash"
	"os"
	"strings"

	"github.com/creachadair/otp"
	"github.com/creachadair/otp/otpauth"
)

const (
	saltedPrefix  = "Salted__"
	aesKeySize    = 16
	DefaultPeriod = 30
	blockSize     = 16
	saltOffset    = 8
	saltSize      = 8 // 16 - saltOffset
	minPadding    = 1
)

// pickAlgorithm returns a constructor for the named hash function, or
// an error if the name is not a supported algorithm.
func pickAlgorithm(name string) (func() hash.Hash, error) {
	switch name {
	case "", "SHA1":
		return sha1.New, nil
	case "SHA256":
		return sha256.New, nil
	case "SHA512":
		return sha512.New, nil
	default:
		return nil, fmt.Errorf("unsupported algorithm: %q", name)
	}
}

// Codes returns the previous, current, and next codes from u.
func Codes(u *otpauth.URL) (prev, curr, next string, _ error) {
	var ts uint64
	if u.Period == 0 {
		u.Period = DefaultPeriod
	}
	ts = otp.TimeWindow(u.Period)()
	return CodesAtTimeStep(u, ts)
}

// CodesAtTimeStep returns the previous, current, and next codes from u at the
// given time step value.
func CodesAtTimeStep(u *otpauth.URL, timeStep uint64) (prev, curr, next string, _ error) {
	if u.Type != "totp" {
		return "", "", "", fmt.Errorf("unsupported type: %q", u.Type)
	}

	alg, err := pickAlgorithm(u.Algorithm)
	if err != nil {
		return "", "", "", err
	}

	cfg := otp.Config{Hash: alg, Digits: u.Digits}
	if err := cfg.ParseKey(u.RawSecret); err != nil {
		return "", "", "", fmt.Errorf("invalid secret: %v", err)
	}
	prev = cfg.HOTP(timeStep - 1)
	curr = cfg.HOTP(timeStep)
	next = cfg.HOTP(timeStep + 1)
	return
}

// ReadConfigFile reads the config file at path and returns its contents and
// whether it is encrypted or not
func ReadConfigFile(path string) ([]byte, bool, error) {
	data, err := os.ReadFile(path)
	if err != nil {
		return nil, false, err
	}

	if bytes.HasPrefix(data, []byte(saltedPrefix)) {
		return data, true, nil // encrypted
	}

	return data, false, nil
}

// LoadConfigFile reads and decrypts, if necessary, the CSV config at path.
// The getPass function is called to obtain a password if needed.
func LoadConfigFile(path string, getPass func() ([]byte, error)) ([]byte, error) {
	data, isEncrypted, err := ReadConfigFile(path)
	if err != nil {
		return nil, fmt.Errorf("reading config file: %v", err)
	}

	if !isEncrypted {
		return data, nil
	}

	passwd, err := getPass()
	if err != nil {
		return nil, fmt.Errorf("reading passphrase: %v", err)
	}

	return decryptConfig(data, passwd)
}

// decryptConfig handles the decryption of encrypted configuration data
func decryptConfig(data, passwd []byte) ([]byte, error) {
	if len(data) < saltOffset+saltSize {
		return nil, errors.New("encrypted data too short")
	}

	salt := data[saltOffset : saltOffset+saltSize]
	rest := data[saltOffset+saltSize:]

	key, iv := deriveKeyAndIV(passwd, salt)

	block, err := aes.NewCipher(key)
	if err != nil {
		return nil, fmt.Errorf("creating cipher: %v", err)
	}

	mode := cipher.NewCBCDecrypter(block, iv)
	mode.CryptBlocks(rest, rest)

	return removePadding(rest)
}

// deriveKeyAndIV generates the key and IV from password and salt
func deriveKeyAndIV(passwd, salt []byte) (key, iv []byte) {
	salting := sha256.New()
	salting.Write(passwd)
	salting.Write(salt)
	sum := salting.Sum(nil)
	return sum[:blockSize], sum[blockSize:]
}

// removePadding removes and validates PKCS#7 padding
func removePadding(data []byte) ([]byte, error) {
	if len(data) == 0 {
		return nil, errors.New("empty data")
	}

	pad := int(data[len(data)-1])
	if pad < minPadding || pad > blockSize || pad > len(data) {
		return nil, errors.New("invalid decryption key")
	}

	for i := len(data) - pad; i < len(data); i++ {
		if int(data[i]) != pad {
			return nil, errors.New("invalid block padding")
		}
	}

	return data[:len(data)-pad], nil
}

// WriteConfigFile encrypts the provided newConfig using passwd, if necessary,
// and writes it to path
func WriteConfigFile(path string, passwd []byte, newConfig []byte) error {
	data, isEncrypted, err := ReadConfigFile(path)
	if err != nil {
		if os.IsNotExist(err) {
			// If the file doesn't exist, treat it as non-encrypted
			isEncrypted = false
		} else {
			return fmt.Errorf("reading config file: %v", err)
		}
	}

	if !isEncrypted {
		return os.WriteFile(path, newConfig, 0600)
	}

	encryptedConfig, err := encryptConfig(data[8:16], passwd, newConfig)
	if err != nil {
		return fmt.Errorf("encrypting config: %v", err)
	}

	return os.WriteFile(path, encryptedConfig, 0600)
}

func encryptConfig(salt, passwd, config []byte) ([]byte, error) {
	salting := sha256.New()
	salting.Write(passwd)
	salting.Write(salt)
	sum := salting.Sum(nil)

	key := sum[:aesKeySize]
	iv := sum[aesKeySize:]

	block, err := aes.NewCipher(key)
	if err != nil {
		return nil, fmt.Errorf("creating cipher: %v", err)
	}

	// Add padding
	padLength := blockSize - (len(config) % blockSize)
	paddedConfig := append(config, bytes.Repeat([]byte{byte(padLength)}, padLength)...)

	// Encrypt
	mode := cipher.NewCBCEncrypter(block, iv)
	mode.CryptBlocks(paddedConfig, paddedConfig)

	// Construct final output
	return append([]byte(saltedPrefix+string(salt)), paddedConfig...), nil
}

// ParseConfig parses the contents of data as a gauth configuration file.
// Returns a slice of otpauth URLs representing the parsed configurations.
func ParseConfig(data []byte) ([]*otpauth.URL, error) {
	var out []*otpauth.URL
	lines := strings.Split(string(data), "\n")

	for i, line := range lines {
		trim := strings.TrimSpace(line)
		if trim == "" {
			continue
		}

		url, err := parseConfigLine(trim, i+1)
		if err != nil {
			return nil, err
		}

		if url != nil {
			out = append(out, url)
		}
	}
	return out, nil
}

// parseConfigLine parses a single line of configuration
func parseConfigLine(line string, lineNum int) (*otpauth.URL, error) {
	if strings.HasPrefix(line, "otpauth://") {
		u, err := otpauth.ParseURL(line)
		if err != nil {
			return nil, fmt.Errorf("line %d: invalid otpauth URL: %v", lineNum, err)
		}
		return u, nil
	}

	parts := strings.SplitN(line, ":", 2)
	if len(parts) != 2 {
		return nil, fmt.Errorf("line %d: invalid format (want name:secret)", lineNum)
	}

	return &otpauth.URL{
		Type:      "totp",
		Account:   strings.TrimSpace(parts[0]),
		RawSecret: strings.TrimSpace(parts[1]),
	}, nil
}


================================================
FILE: gauth/gauth_test.go
================================================
package gauth_test

import (
	"bytes"
	"testing"

	"github.com/creachadair/otp/otpauth"
	"github.com/pcarrier/gauth/gauth"
)

func TestCodes(t *testing.T) {
	tests := []struct {
		secret string
		index  uint64
		want   string
		fail   bool
	}{
		// Manually verified with the Google authenticator app.
		{"ABCDEFGH", 51790421, "305441", false},

		// Invalid Base32 input for the secret.
		{"blargh!", 123, "", true},
	}
	for _, test := range tests {
		u := &otpauth.URL{Type: "totp", RawSecret: test.secret}
		_, got, _, err := gauth.CodesAtTimeStep(u, test.index)
		if err != nil && !test.fail {
			t.Errorf("Codes(%q) at %d: unexpected error: %v", u, test.index, err)
		} else if got != test.want {
			t.Errorf("Codes(%q) at %d: got %q, want %q", u, test.index, got, test.want)
		}
	}
}

//go:generate openssl enc -aes-128-cbc -md sha256 -pass pass:x -in testdata/plaintext.csv -out testdata/encrypted.csv

func TestLoadConfig(t *testing.T) {

	// To update test data, edit testdata/plaintext.csv as desired,
	// then run go generate ./...
	// If you change the passphrase, update getPass below.
	//
	// For this test, the contents don't actually matter.

	var calledGetPass bool

	getPass := func() ([]byte, error) {
		calledGetPass = true
		return []byte("x"), nil
	}

	// Load the plaintext configuration file, and verify that we did not try to
	// decrypt its content.
	plain, err := gauth.LoadConfigFile("testdata/plaintext.csv", getPass)
	if err != nil {
		t.Fatalf("Loading plaintext config: %v", err)
	} else if calledGetPass {
		t.Error("Loading plaintext unexpectedly called getPass")
		calledGetPass = false
	}

	// Load the encrypted configuration file, and verify that we were able to
	// decrypt it successfully.
	enc, err := gauth.LoadConfigFile("testdata/encrypted.csv", getPass)
	if err != nil {
		t.Fatalf("Loading encrypted config: %v", err)
	} else if !calledGetPass {
		t.Error("Loading encrypted did not call getPass")
	}

	if !bytes.Equal(plain, enc) {
		t.Errorf("Decrypted not equal to plaintext:\ngot  %+v\nwant %+v", enc, plain)
	}
}


================================================
FILE: gauth/testdata/plaintext.csv
================================================
test2:AEBAGBAFAYDQQCIK
test1:AAAQEAYEAUDAOCAJ
otpauth://totp/test3:testuser3?secret=AAAQEAYEAUDAOCAJ======&issuer=test3&algorithm=SHA512&digits=8&period=30


================================================
FILE: gauth.go
================================================
package main

import (
	"bufio"
	"fmt"
	"log"
	"os"
	"path/filepath"
	"strings"
	"syscall"
	"text/tabwriter"
	"time"

	"github.com/creachadair/otp/otpauth"
	"github.com/pcarrier/gauth/gauth"
	"golang.org/x/term"
)

type command struct {
	name        string
	shortFlag   string
	longFlags   []string
	description string
	handler     func(string, []*otpauth.URL)
}

var commands = []command{
	{
		name:        "bare",
		shortFlag:   "-b",
		longFlags:   []string{"-bare", "--bare"},
		description: "Print bare code for account",
		handler:     func(acc string, urls []*otpauth.URL) { printBareCode(acc, urls) },
	},
	{
		name:        "add",
		shortFlag:   "-a",
		longFlags:   []string{"-add", "--add"},
		description: "Add new account",
		handler:     func(acc string, _ []*otpauth.URL) { addCode(acc) },
	},
	{
		name:        "remove",
		shortFlag:   "-r",
		longFlags:   []string{"-remove", "--remove"},
		description: "Remove account",
		handler:     func(acc string, _ []*otpauth.URL) { removeCode(acc) },
	},
	{
		name:        "secret",
		shortFlag:   "-s",
		longFlags:   []string{"-secret", "--secret"},
		description: "Show secret for account",
		handler:     func(acc string, urls []*otpauth.URL) { printSecret(acc, urls) },
	},
}

var (
	cachedRaw  []byte
	cachedUrls []*otpauth.URL
)

func findCommand(arg string) *command {
	for i := range commands {
		if arg == commands[i].shortFlag {
			return &commands[i]
		}
		for _, f := range commands[i].longFlags {
			if arg == f {
				return &commands[i]
			}
		}
	}
	return nil
}

func printUsage() {
	fmt.Println("Usage: gauth [account] [command]")
	fmt.Println("\nCommands:")
	for _, cmd := range commands {
		flags := append([]string{cmd.shortFlag}, cmd.longFlags...)
		fmt.Printf("  %-25s %s\n", strings.Join(flags, ", "), cmd.description)
	}
	fmt.Println("\nExamples:")
	fmt.Println("  gauth                     # Show all codes")
	fmt.Println("  gauth github              # Show codes for an account (partial matches supported)")
	fmt.Println("  gauth github -b           # Show current code for an account")
	fmt.Println("  gauth github --add        # Add new account")
}

func isHelpFlag(arg string) bool {
	return arg == "-h" || arg == "--help"
}

func shouldShowHelp() bool {
	for _, a := range os.Args[1:] {
		if isHelpFlag(a) {
			return true
		}
	}
	cfgPath := getConfigPath()
	if _, err := os.Stat(cfgPath); os.IsNotExist(err) {
		if len(os.Args) > 2 {
			if cmd := findCommand(os.Args[2]); cmd != nil && cmd.name == "add" {
				return false
			}
		}
		fmt.Printf("No config file found at %s\n\n", cfgPath)
		return true
	}
	return false
}

func matchAccount(pattern, account string) bool {
	return strings.Contains(strings.ToLower(account), strings.ToLower(pattern))
}

func main() {
	if shouldShowHelp() {
		printUsage()
		return
	}

	var accountName string
	if len(os.Args) > 1 && !isHelpFlag(os.Args[1]) {
		accountName = os.Args[1]
	}

	var cmd *command
	if len(os.Args) > 2 {
		cmd = findCommand(os.Args[2])
	}

	if cmd != nil {
		var urls []*otpauth.URL
		if cmd.name != "add" {
			urls = getUrls()
		}
		cmd.handler(accountName, urls)
		return
	}

	printCodes(getUrls(), accountName)
}

func getPassword() ([]byte, error) {
	fmt.Print("Encryption password: ")
	defer fmt.Println()
	return term.ReadPassword(int(syscall.Stdin))
}

func getConfigPath() string {
	if cfg := os.Getenv("GAUTH_CONFIG"); cfg != "" {
		return cfg
	}
	home, err := os.UserHomeDir()
	if err != nil {
		log.Fatalf("Getting home directory: %v", err)
	}
	return filepath.Join(home, ".config", "gauth.csv")
}

func loadConfig() error {
	if cachedRaw != nil {
		return nil
	}

	cfgPath := getConfigPath()
	raw, err := gauth.LoadConfigFile(cfgPath, getPassword)
	if err != nil {
		return fmt.Errorf("loading config: %v", err)
	}

	urls, err := gauth.ParseConfig(raw)
	if err != nil {
		return fmt.Errorf("parsing config: %v", err)
	}

	cachedRaw = raw
	cachedUrls = urls
	return nil
}

func getUrls() []*otpauth.URL {
	if err := loadConfig(); err != nil {
		log.Fatal(err)
	}
	return cachedUrls
}

func getRawConfig() []byte {
	if err := loadConfig(); err != nil {
		log.Fatal(err)
	}
	return cachedRaw
}

func printBareCode(accountName string, urls []*otpauth.URL) {
	for _, url := range urls {
		if matchAccount(accountName, url.Account) {
			_, curr, _, err := gauth.Codes(url)
			if err != nil {
				log.Fatalf("Generating codes for %q: %v", url.Account, err)
			}
			fmt.Print(curr)
			return
		}
	}
}

func printSecret(accountName string, urls []*otpauth.URL) {
	for _, url := range urls {
		if matchAccount(accountName, url.Account) {
			fmt.Print(url.RawSecret)
			return
		}
	}
}

func addCode(accountName string) {
	cfgPath := getConfigPath()
	if err := os.MkdirAll(filepath.Dir(cfgPath), 0700); err != nil {
		log.Fatalf("Creating config directory: %v", err)
	}

	password, err := handleEncryption(cfgPath)
	if err != nil && !os.IsNotExist(err) {
		log.Fatalf("Handling encryption: %v", err)
	}

	var rawConfig []byte
	if _, statErr := os.Stat(cfgPath); os.IsNotExist(statErr) {
		rawConfig = []byte("")
	} else {
		rawConfig = getRawConfig()
		if accountExists(accountName, rawConfig) {
			fmt.Printf("Account %q already exists. Nothing added.\n", accountName)
			return
		}
	}

	key := readNewKey(accountName)
	newConfig := updateConfig(string(rawConfig), accountName, key)
	if err := validateAndSaveConfig(cfgPath, password, newConfig, accountName); err != nil {
		log.Fatalf("Saving config: %v", err)
	}
	cachedRaw = nil
	cachedUrls = nil
}

func removeCode(accountName string) {
	cfgPath := getConfigPath()
	password, err := handleEncryption(cfgPath)
	if err != nil {
		log.Fatalf("Reading config: %v", err)
	}
	rawConfig := getRawConfig()
	newConfig, removed := buildNewConfig(accountName, rawConfig)
	if !removed {
		fmt.Printf("Account %q not found. Nothing removed.\n", accountName)
		return
	}
	if !confirmRemoval(accountName) {
		return
	}
	if err := gauth.WriteConfigFile(cfgPath, password, []byte(newConfig)); err != nil {
		log.Fatalf("Error writing config: %v", err)
	}
	cachedRaw = nil
	cachedUrls = nil
	fmt.Printf("%s has been removed.\n", accountName)
}

func buildNewConfig(accountName string, rawConfig []byte) (string, bool) {
	var builder strings.Builder
	removed := false
	for _, line := range strings.Split(string(rawConfig), "\n") {
		trim := strings.TrimSpace(line)
		if trim == "" {
			continue
		}
		parts := strings.SplitN(trim, ":", 2)
		if len(parts) > 0 {
			accName := strings.TrimSpace(parts[0])
			if matchAccount(accountName, accName) {
				removed = true
				continue
			}
		}
		builder.WriteString(trim)
		builder.WriteByte('\n')
	}
	return builder.String(), removed
}

func confirmRemoval(accountName string) bool {
	fmt.Printf("Are you sure you want to remove %s [y/N]: ", accountName)
	reader := bufio.NewReader(os.Stdin)
	resp, _ := reader.ReadString('\n')
	return strings.ToLower(strings.TrimSpace(resp)) == "y"
}

func updateConfig(currentConfig, accountName, key string) string {
	var builder strings.Builder
	builder.WriteString(strings.TrimSuffix(currentConfig, "\n"))
	builder.WriteByte('\n')
	builder.WriteString(accountName)
	builder.WriteByte(':')
	builder.WriteString(key)
	builder.WriteByte('\n')
	return builder.String()
}

func validateAndSaveConfig(cfgPath string, password []byte, newConfig, accountName string) error {
	parsedCfg, err := gauth.ParseConfig([]byte(newConfig))
	if err != nil {
		return fmt.Errorf("parsing new config: %v", err)
	}
	fmt.Printf("Current OTP for %s: ", accountName)
	printBareCode(accountName, parsedCfg)
	return gauth.WriteConfigFile(cfgPath, password, []byte(newConfig))
}

func accountExists(accountName string, rawConfig []byte) bool {
	for _, line := range strings.Split(string(rawConfig), "\n") {
		trim := strings.TrimSpace(line)
		if trim == "" {
			continue
		}
		parts := strings.SplitN(trim, ":", 2)
		if len(parts) < 2 {
			continue
		}
		if matchAccount(accountName, strings.TrimSpace(parts[0])) {
			return true
		}
	}
	return false
}

func handleEncryption(cfgPath string) ([]byte, error) {
	_, isEncrypted, err := gauth.ReadConfigFile(cfgPath)
	if err != nil && !os.IsNotExist(err) {
		return nil, err
	}
	if !isEncrypted {
		return nil, nil
	}
	pass, err := getPassword()
	if err != nil {
		return nil, fmt.Errorf("reading passphrase: %v", err)
	}
	return pass, nil
}

func printCodes(urls []*otpauth.URL, filter string) {
	tw := tabwriter.NewWriter(os.Stdout, 0, 8, 1, ' ', 0)
	if _, err := fmt.Fprintln(tw, "\tprev\tcurr\tnext\tprog"); err != nil {
		log.Fatalf("Writing header: %v", err)
	}
	for _, url := range urls {
		if filter != "" && !matchAccount(filter, url.Account) {
			continue
		}
		prev, curr, next, err := gauth.Codes(url)
		if err != nil {
			log.Fatalf("Generating codes for %q: %v", url.Account, err)
		}
		period := url.Period
		if period == 0 {
			period = gauth.DefaultPeriod
		}
		elapsed := int(time.Now().Unix() % int64(period))
		progress := makeProgressBar(elapsed, period)
		if _, err := fmt.Fprintf(tw, "%s\t%s\t%s\t%s\t%s\n", url.Account, prev, curr, next, progress); err != nil {
			log.Fatalf("Writing codes: %v", err)
		}
	}
	if err := tw.Flush(); err != nil {
		log.Fatalf("Flushing output: %v", err)
	}
}

func makeProgressBar(elapsed, period int) string {
	const width = 10
	filled := int(float64(elapsed) / float64(period) * float64(width))
	return "[" + strings.Repeat("=", filled) + strings.Repeat(" ", width-filled) + "]"
}

func readNewKey(accountName string) string {
	fmt.Printf("Key for %s: ", accountName)
	reader := bufio.NewReader(os.Stdin)
	key, _ := reader.ReadString('\n')
	return strings.TrimSpace(key)
}


================================================
FILE: go.mod
================================================
module github.com/pcarrier/gauth

go 1.23

toolchain go1.23.6

require (
	github.com/creachadair/otp v0.5.0
	golang.org/x/term v0.29.0
)

require (
	github.com/creachadair/mds v0.21.3 // indirect
	github.com/creachadair/wirepb v0.0.0-20241211162510-f7f2e8a40ddc // indirect
	github.com/google/go-cmp v0.6.0 // indirect
	golang.org/x/sys v0.30.0 // indirect
)


================================================
FILE: go.sum
================================================
github.com/creachadair/mds v0.21.3/go.mod h1:1ltMWZd9yXhaHEoZwBialMaviWVUpRPvMwVP7saFAzM=
github.com/creachadair/otp v0.4.0 h1:3PBnESxegU3hQ0D447D75lSnTtTVfw6Eny8GviOXcqM=
github.com/creachadair/otp v0.4.0/go.mod h1:mDkCUSoWN8zqxFoDMw20Boe6xeDd1jJuy6pNQQ4lCy4=
github.com/creachadair/otp v0.5.0 h1:q3Th7CXm2zlmCdBjw5tEPFOj4oWJMnVL5HXlq0sNKS0=
github.com/creachadair/otp v0.5.0/go.mod h1:0kceI87EnYFNYSTL121goJVAnk3eJhaed9H0nMuJUkA=
github.com/creachadair/wirepb v0.0.0-20241211162510-f7f2e8a40ddc h1:eEmY60ZlUMsvNX1AiVR6WdVY5b+WhAATf3opftu6LP0=
github.com/creachadair/wirepb v0.0.0-20241211162510-f7f2e8a40ddc/go.mod h1:dHvCVZSsk3Y/fhY0mUex0U2XBZszomOe7PzlghOtHnQ=
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.1.0 h1:kunALQeHf1/185U1i0GOB/fy1IPRDDpuoOOqRReG57U=
golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.30.0 h1:QjkSwP/36a20jFYWkSue1YwXzLmsV5Gfq7Eiy72C1uc=
golang.org/x/sys v0.30.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/term v0.1.0 h1:g6Z6vPFA9dYBAF7DWcH6sCcOntplXsDKcliusYijMlw=
golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/term v0.29.0 h1:L6pJp37ocefwRRtYPKSWOWzOtWSxVajvz2ldH/xi3iU=
golang.org/x/term v0.29.0/go.mod h1:6bl4lRlvVuDgSf3179VpIxBF0o10JUpXWOnI7nErv7s=


================================================
FILE: vendor/github.com/creachadair/otp/.gitignore
================================================
.go-update


================================================
FILE: vendor/github.com/creachadair/otp/LICENSE
================================================
Copyright (C) 2019, Michael J. Fromberger
All Rights Reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

    (1) Redistributions of source code must retain the above copyright notice,
    this list of conditions and the following disclaimer.

    (2) Redistributions in binary form must reproduce the above copyright
    notice, this list of conditions and the following disclaimer in the
    documentation and/or other materials provided with the distribution.

    (3) The name of the author may not be used to endorse or promote products
    derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
OF SUCH DAMAGE.


================================================
FILE: vendor/github.com/creachadair/otp/README.md
================================================
# otp

[![GoDoc](https://img.shields.io/static/v1?label=godoc&message=reference&color=blue)](https://pkg.go.dev/github.com/creachadair/otp)

This repository contains a Go package to generate single use authenticator
codes using the [HOTP](https://tools.ietf.org/html/rfc4226) (RFC 4226) or
[TOTP](https://tools.ietf.org/html/rfc6238) (RFC 6238) algorithm.


================================================
FILE: vendor/github.com/creachadair/otp/notes.txt
================================================
Standard alphabet:   "0123456789"
SteamGuard alphabet: "23456789BCDFGHJKMNPQRTVWXY"


================================================
FILE: vendor/github.com/creachadair/otp/otp.go
================================================
// Copyright (C) 2019 Michael J. Fromberger. All Rights Reserved.

// Package otp generates single use authenticator codes using the HOTP or TOTP
// algorithms specified in RFC 4226 and RFC 6238 respectively.
//
// See https://tools.ietf.org/html/rfc4226, https://tools.ietf.org/html/rfc6238
package otp

import (
	"crypto/hmac"
	"crypto/sha1"
	"encoding/base32"
	"encoding/binary"
	"fmt"
	"hash"
	"strconv"
	"strings"
	"time"
)

// DefaultTOTP generates a TOTP for the current time step using the default
// settings (compatible with Google Authenticator) based on the given key.
// An error is reported if the key is invalid.
func DefaultTOTP(key string) (string, error) {
	var std Config
	if err := std.ParseKey(key); err != nil {
		return "", err
	}
	return std.TOTP(), nil
}

// DefaultHOTP generates an HTOP for the specified counter using the default
// settings (compatible with Google Authenticator) based on the given key.
// An error is reported if the key is invalid.
func DefaultHOTP(key string, counter uint64) (string, error) {
	var std Config
	if err := std.ParseKey(key); err != nil {
		return "", err
	}
	return std.HOTP(counter), nil
}

// TimeWindow returns a time step generator that yields the number of n-second
// intervals elapsed at the current wallclock time since the Unix epoch.
func TimeWindow(n int) func() uint64 {
	return func() uint64 { return uint64(time.Now().Unix()) / uint64(n) }
}

var timeWindow30 = TimeWindow(30) // default 30-second window

// Config holds the settings that control generation of authentication codes.
// The only required field is Key. The other fields may be omitted, and will
// use default values compatible with the Google authenticator.
type Config struct {
	Key string // shared secret between server and user (required)

	Hash     func() hash.Hash // hash constructor (default is sha1.New)
	TimeStep func() uint64    // TOTP time step (default is TimeWindow(30))
	Counter  uint64           // HOTP counter value
	Digits   int              // number of OTP digits (default 6)

	// If set, this function is called with the counter hash to format a code of
	// the specified length. By default, the code is truncated per RFC 4226 and
	// formatted as decimal digits (0..9).
	//
	// If Format returns a string of the wrong length, code generation panics.
	Format func(hash []byte, length int) string
}

// ParseKey parses a base32 key using the top-level ParseKey function, and
// stores the result in c.
func (c *Config) ParseKey(s string) error {
	dec, err := ParseKey(s)
	if err != nil {
		return err
	}
	c.Key = string(dec)
	return nil
}

// ParseKey parses a key encoded as base32, the format used by common
// two-factor authentication setup tools. Whitespace is ignored, case is
// normalized, and padding is added if required.
func ParseKey(s string) ([]byte, error) {
	clean := strings.ToUpper(strings.Join(strings.Fields(s), ""))
	if n := len(clean) % 8; n != 0 {
		clean += "========"[:8-n]
	}
	return base32.StdEncoding.DecodeString(clean)
}

// HOTP returns the HOTP code for the specified counter value.
func (c Config) HOTP(counter uint64) string {
	nd := c.digits()
	code := c.format(c.hmac(counter), nd)
	if len(code) != nd {
		panic(fmt.Sprintf("invalid code length: got %d, want %d", len(code), nd))
	}
	return code
}

// Next increments the counter and returns the HOTP corresponding to its new value.
func (c *Config) Next() string { c.Counter++; return c.HOTP(c.Counter) }

// TOTP returns the TOTP code for the current time step.  If the current time
// step value is t, this is equivalent to c.HOTP(t).
func (c Config) TOTP() string {
	return c.HOTP(c.timeStepWindow())
}

func (c Config) newHash() func() hash.Hash {
	if c.Hash != nil {
		return c.Hash
	}
	return sha1.New
}

func (c Config) digits() int {
	if c.Digits <= 0 {
		return 6
	}
	return c.Digits
}

func (c Config) timeStepWindow() uint64 {
	if c.TimeStep != nil {
		return c.TimeStep()
	}
	return timeWindow30()
}

func (c Config) hmac(counter uint64) []byte {
	var ctr [8]byte
	binary.BigEndian.PutUint64(ctr[:], uint64(counter))
	h := hmac.New(c.newHash(), []byte(c.Key))
	h.Write(ctr[:])
	return h.Sum(nil)
}

func (c Config) format(v []byte, nd int) string {
	if c.Format != nil {
		return c.Format(v, nd)
	}
	return formatDecimal(v, nd)
}

// Truncate truncates the specified digest using the algorithm from RFC 4226.
// Only the low-order 31 bits of the value are populated; the rest are zero.
//
// Note that RFC 6238 stipulates the same truncation algorithm regardless of
// the length of the chosen digest.
func Truncate(digest []byte) uint64 {
	offset := digest[len(digest)-1] & 0x0f
	code := (uint64(digest[offset]&0x7f) << 24) |
		(uint64(digest[offset+1]) << 16) |
		(uint64(digest[offset+2]) << 8) |
		(uint64(digest[offset+3]) << 0)
	return code
}

func formatDecimal(hash []byte, width int) string {
	const padding = "00000000000000000000"

	s := strconv.FormatUint(Truncate(hash), 10)
	if len(s) < width {
		s = padding[:width-len(s)] + s // left-pad with zeros
	}
	return s[len(s)-width:]
}

// FormatAlphabet constructs a formatting function that truncates the counter
// hash per RFC 4226 and assigns code digits using the letters of the given
// alphabet string.  Code digits are expanded from most to least significant.
func FormatAlphabet(alphabet string) func([]byte, int) string {
	if alphabet == "" {
		panic("empty formatting alphabet")
	}
	return func(hmac []byte, width int) string {
		code := Truncate(hmac)
		w := uint64(len(alphabet))
		out := make([]byte, width)
		for i := width - 1; i >= 0; i-- {
			out[i] = alphabet[int(code%w)]
			code /= w
		}
		return string(out)
	}
}


================================================
FILE: vendor/github.com/creachadair/otp/otpauth/migration.go
================================================
package otpauth

import (
	"bytes"
	"encoding/base64"
	"encoding/binary"
	"errors"
	"fmt"
	"io"
	"net/url"
	"strings"

	"github.com/creachadair/wirepb"
)

// ParseMigrationURL parses an otpauth-migration URL in the format generated by
// the Google Authenticator for "exported" configurations. Typically these URLs
// are embedded as QR codes, encoding a proprietary URL in this format:
//
//	otpauth-migration://offline?data=<content>
//
// The content is a protocol buffer message encoded as base64 in standard
// encoding.  Note that a single migration URL may encode multiple OTP
// settings; on success this function returns all the otpauth URLs encoded by
// the content.  It will always return at least one URL, or report an error.
func ParseMigrationURL(s string) ([]*URL, error) {
	rest, ok := strings.CutPrefix(s, "otpauth-migration://")
	if !ok {
		return nil, errors.New("missing otpauth-migration schema prefix")
	}
	content, ok := strings.CutPrefix(rest, "offline?data=")
	if !ok {
		return nil, errors.New("unrecognized path format")
	}
	dec, err := url.QueryUnescape(content)
	if err != nil {
		return nil, fmt.Errorf("invalid data: %w", err)
	}
	bits, err := base64.StdEncoding.DecodeString(dec)
	if err != nil {
		return nil, fmt.Errorf("invalid base64: %w", err)
	}
	return parseMigrations(bits)
}

/*
The content of a migration URL is a wire-format protocol buffer message.

I don't want to take a dependency on protobuf, since that pulls in a lot of
other expensive Google nonsense, but fortunately the message structure is
fairly simple:

   message Content {
      repeated Params params = 1;

      // ... other fields not of interest.
      // If you're exporting more data than can fit in one QR code, the app may
      // split up the export into multiple codes. There are some fields here to
      // keep track of that, but they aren't relevant here.
   }

   message Params {
      bytes  secret    = 1;
      string account   = 2;
      string issuer    = 3;
      int32  algorithm = 4;  // 0: unspec, 1: SHA1, 2: SHA256, 3: SHA512, 4: MD5
      int32  digits    = 5;  // 0: unspec, 1: 6 digits, 2: 8 digits (typical Google)
      int32  type      = 6;  // 0: unspec, 1: HOTP, 2: TOTP
      uint64 counter   = 7;
   }

So here we just unpack the wire format directly.
*/

// parseMigrations parses data as a wire-format protobuf message in the Content
// format described above, and returns a single URL for each instance of the
// Params found therein. Other fields of the message are ignored.
func parseMigrations(data []byte) ([]*URL, error) {
	const paramsField = 1

	var out []*URL
	s := wirepb.NewScanner(bytes.NewReader(data))
	for s.Next() == nil {
		if s.ID() == paramsField {
			u, err := parseParams(s.Data())
			if err != nil {
				return nil, err
			}
			out = append(out, u)
		}
	}
	if s.Err() != io.EOF {
		return nil, s.Err()
	} else if len(out) == 0 {
		return nil, errors.New("no URLs found")
	}
	return out, nil
}

func parseParams(data []byte) (*URL, error) {
	const (
		secretField = 1 + iota
		accountField
		issuerField
		algorithmField
		digitsField
		typeField
		counterField
	)

	var out = URL{Algorithm: defaultAlgorithm, Digits: defaultDigits, Period: defaultPeriod}
	s := wirepb.NewScanner(bytes.NewReader(data))
	for s.Next() == nil {
		switch s.ID() {
		case secretField:
			out.SetSecret(s.Data())
		case accountField:
			out.Account = string(s.Data())
		case issuerField:
			out.Issuer = string(s.Data())
		case algorithmField:
			switch v, _ := binary.Uvarint(s.Data()); v {
			case 1:
				out.Algorithm = "SHA1"
			case 2:
				out.Algorithm = "SHA256"
			case 3:
				out.Algorithm = "SHA512"
			case 4:
				out.Algorithm = "MD5"
			default:
				return nil, fmt.Errorf("unknown algorithm code %d", v)
			}
		case digitsField:
			switch v, _ := binary.Uvarint(s.Data()); v {
			case 1:
				out.Digits = 6
			case 2:
				out.Digits = 8
			default:
				return nil, fmt.Errorf("unknown digits code %d", v)
			}
		case typeField:
			switch v, _ := binary.Uvarint(s.Data()); v {
			case 1:
				out.Type = "hotp"
			case 2:
				out.Type = "totp"
			default:
				return nil, fmt.Errorf("unknown type code %d", v)
			}
		case counterField:
			v, n := binary.Uvarint(s.Data())
			if n <= 0 {
				return nil, errors.New("invalid counter value")
			}
			out.Counter = v
		}
	}
	if s.Err() != io.EOF {
		return nil, s.Err()
	}
	return &out, nil
}


================================================
FILE: vendor/github.com/creachadair/otp/otpauth/otpauth.go
================================================
// Copyright (C) 2020 Michael J. Fromberger. All Rights Reserved.

// Package otpauth handles the URL format used to specify OTP parameters.
//
// This package conforms to the specification at:
// https://github.com/google/google-authenticator/wiki/Key-Uri-Format
//
// The general form of an OTP URL is:
//
//	otpauth://TYPE/LABEL?PARAMETERS
package otpauth

import (
	"encoding/base32"
	"errors"
	"fmt"
	"net/url"
	"strconv"
	"strings"

	"github.com/creachadair/otp"
)

const (
	defaultAlgorithm = "SHA1"
	defaultDigits    = 6
	defaultPeriod    = 30
)

// A URL contains the parsed representation of an otpauth URL.
type URL struct {
	Type      string // normalized to lowercase, e.g., "totp"
	Issuer    string // also called "provider" in some docs
	Account   string // without provider prefix
	RawSecret string // base32-encoded, no padding
	Algorithm string // normalized to uppercase; default is "SHA1"
	Digits    int    // default is 6
	Period    int    // in seconds; default is 30
	Counter   uint64
}

// Secret parses the contents of the RawSecret field.
func (u *URL) Secret() ([]byte, error) { return otp.ParseKey(u.RawSecret) }

// SetSecret encodes key as base32 and updates the RawSecret field.
func (u *URL) SetSecret(key []byte) {
	enc := base32.StdEncoding.EncodeToString(key)
	u.RawSecret = strings.TrimRight(enc, "=")
}

// String converts u to a URL in the standard encoding.
func (u *URL) String() string {
	var sb strings.Builder
	sb.WriteString("otpauth://")
	typ := strings.ToLower(u.Type)
	sb.WriteString(typ)
	sb.WriteByte('/')
	sb.WriteString(u.labelString())

	// Encode parameters if there are any non-default values.
	var params []string
	if a := strings.ToUpper(u.Algorithm); a != "" && a != "SHA1" {
		params = append(params, "algorithm="+queryEscape(a))
	}
	if c := u.Counter; c > 0 || typ == "hotp" {
		params = append(params, "counter="+strconv.FormatUint(c, 10))
	}
	if d := u.Digits; d > 0 && d != defaultDigits {
		params = append(params, "digits="+strconv.Itoa(d))
	}
	if o := u.Issuer; o != "" {
		params = append(params, "issuer="+queryEscape(o))
	}
	if p := u.Period; p > 0 && p != defaultPeriod {
		params = append(params, "period="+strconv.Itoa(p))
	}
	if s := u.RawSecret; s != "" {
		enc := strings.ToUpper(strings.Join(strings.Fields(strings.TrimRight(s, "=")), ""))
		params = append(params, "secret="+queryEscape(enc))
	}
	if len(params) != 0 {
		sb.WriteByte('?')
		sb.WriteString(strings.Join(params, "&"))
	}
	return sb.String()
}

// UnmarshalText implements the encoding.TextUnmarshaler interface.
// It expects its input to be a URL in the standard encoding.
func (u *URL) UnmarshalText(data []byte) error {
	p, err := ParseURL(string(data))
	if err != nil {
		return err
	}
	*u = *p // a shallow copy is safe, there are no pointers
	return nil
}

// MarshalText implemens the encoding.TextMarshaler interface.
// It emits the same URL string produced by the String method.
func (u *URL) MarshalText() ([]byte, error) {
	return []byte(u.String()), nil
}

func (u *URL) labelString() string {
	label := url.PathEscape(u.Account)
	if u.Issuer != "" {
		return url.PathEscape(u.Issuer) + ":" + label
	}
	return label
}

func (u *URL) parseLabel(s string) error {
	account, err := url.PathUnescape(s)
	if err != nil {
		return err
	}
	if i := strings.Index(account, ":"); i >= 0 {
		u.Issuer = strings.TrimSpace(account[:i])
		if u.Issuer == "" {
			return errors.New("empty issuer")
		}
		account = account[i+1:]
	}
	u.Account = strings.TrimSpace(account)
	if u.Account == "" {
		return errors.New("empty account name")
	}
	return nil
}

// ParseURL parses s as a URL in the otpauth scheme.
//
// The input may omit a scheme, but if present the scheme must be otpauth://.
// The parser will report an error for invalid syntax, including unknown URL
// parameters, but does not otherwise validate the results. In particular, the
// values of the Type and Algorithm fields are not checked.
//
// Fields of the URL corresponding to unset parameters are populated with
// default values as described on the URL struct. If a different issuer is set
// on the label and in the parameters, the parameter takes priority.
func ParseURL(s string) (*URL, error) {
	// A scheme is not required, but if present it must be "otpauth".
	if ps := strings.SplitN(s, "://", 2); len(ps) == 2 {
		if ps[0] != "otpauth" {
			return nil, fmt.Errorf("invalid scheme %q", ps[0])
		}
		s = ps[1] // trim scheme prefix
	}

	// Extract TYPE/LABEL and optional PARAMS.
	var typeLabel, params string
	if ps := strings.SplitN(s, "?", 2); len(ps) == 2 {
		typeLabel, params = ps[0], ps[1]
	} else {
		typeLabel = ps[0]
	}

	// Require that type and label are both present and non-empty.
	// Note that the "//" authority marker is treated as optional.
	ps := strings.SplitN(strings.TrimPrefix(typeLabel, "//"), "/", 2) // [TYPE, LABEL]
	if len(ps) != 2 || ps[0] == "" || ps[1] == "" {
		return nil, errors.New("invalid type/label")
	}

	out := &URL{
		Type:      strings.ToLower(ps[0]),
		Algorithm: defaultAlgorithm,
		Digits:    defaultDigits,
		Period:    defaultPeriod,
	}
	if err := out.parseLabel(ps[1]); err != nil {
		return nil, fmt.Errorf("invalid label: %v", err)
	}
	if params == "" {
		return out, nil
	}

	// Parse URL parameters.
	for _, param := range strings.Split(params, "&") {
		ps := strings.SplitN(param, "=", 2)
		if len(ps) == 1 {
			ps = append(ps, "") // check value below
		}
		value, err := url.QueryUnescape(ps[1])
		if err != nil {
			return nil, fmt.Errorf("invalid value: %v", err)
		}

		// Handle string-valued parameters.
		if ps[0] == "algorithm" {
			out.Algorithm = strings.ToUpper(value)
			continue
		} else if ps[0] == "issuer" {
			out.Issuer = value
			continue
		} else if ps[0] == "secret" {
			out.RawSecret = value
			continue
		}

		// All other valid parameters require an integer argument.
		// Defer error reporting so we report an unknown field first.
		n, err := strconv.ParseUint(value, 10, 64)

		switch ps[0] {
		case "counter":
			out.Counter = n
		case "digits":
			out.Digits = int(n)
		case "period":
			out.Period = int(n)
		default:
			return nil, fmt.Errorf("invalid parameter %q", ps[0])
		}
		if err != nil {
			return nil, fmt.Errorf("invalid integer value %q", value)
		}
	}
	return out, nil
}

func queryEscape(s string) string {
	return strings.ReplaceAll(url.QueryEscape(s), "+", "%20")
}


================================================
FILE: vendor/github.com/creachadair/wirepb/LICENSE
================================================
Copyright (C) 2024, Michael J. Fromberger
All Rights Reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

    (1) Redistributions of source code must retain the above copyright notice,
    this list of conditions and the following disclaimer.

    (2) Redistributions in binary form must reproduce the above copyright
    notice, this list of conditions and the following disclaimer in the
    documentation and/or other materials provided with the distribution.

    (3) The name of the author may not be used to endorse or promote products
    derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
OF SUCH DAMAGE.


================================================
FILE: vendor/github.com/creachadair/wirepb/README.md
================================================
# wirepb

[![GoDoc](https://img.shields.io/static/v1?label=godoc&message=reference&color=white)](https://pkg.go.dev/github.com/creachadair/wirepb)
[![CI](https://github.com/creachadair/wirepb/actions/workflows/go-presubmit.yml/badge.svg?event=push&branch=main)](https://github.com/creachadair/wirepb/actions/workflows/go-presubmit.yml)

This repository defines a low-level protocol buffer wire format scanner in Go.
It has no dependency on the protocol buffer compiler or code generators.


================================================
FILE: vendor/github.com/creachadair/wirepb/enums.go
================================================
// Code generated by enumgen. DO NOT EDIT.

package wirepb

// Type is a protobuf wire type code.
type Type struct{ _Type uint8 }

// Enum returns the name of the enumeration type for Type.
func (Type) Enum() string { return "Type" }

// String returns the string representation of Type v.
func (v Type) String() string { return _str_Type[v._Type] }

// Valid reports whether v is a valid non-zero Type value.
func (v Type) Valid() bool { return v._Type > 0 && int(v._Type) < len(_str_Type) }

// Index returns the integer index of Type v.
func (v Type) Index() int { return _idx_Type[v._Type] }

// Values for low-level wire types.
var (
	_str_Type = []string{"<invalid>", "Varint", "I64", "Len", "StartGroup", "EndGroup", "I32"}
	_idx_Type = []int{0, 0, 1, 2, 3, 4, 5}

	Invalid    = Type{0}
	Varint     = Type{1} // Base 128 varint
	I64        = Type{2} // 64-bit fixed-width integer
	Len        = Type{3} // Length-prefixed string
	StartGroup = Type{4} // Group start marker (obsolete, unused)
	EndGroup   = Type{5} // Group end marker (obsolete, unused)
	I32        = Type{6} // 32-bit fixed-width integer
)


================================================
FILE: vendor/github.com/creachadair/wirepb/wirepb.go
================================================
// Package wirepb implements a rudimentary decoder for the protocol buffers wire format.
//
// See: https://protobuf.dev/programming-guides/encoding
package wirepb

import (
	"bufio"
	"encoding/binary"
	"fmt"
	"io"
)

//go:generate go run github.com/creachadair/enumgen@latest -output enums.go

/*enumgen:type Type
doc: Type is a protobuf wire type code.
zero: Invalid
val-doc: Values for low-level wire types.
values:
  - name: Varint
    doc: Base 128 varint
    index: 0
  - name: I64
    doc: 64-bit fixed-width integer
  - name: Len
    doc: Length-prefixed string
  - name: StartGroup
    doc: Group start marker (obsolete, unused)
  - name: EndGroup
    doc: Group end marker (obsolete, unused)
  - name: I32
    doc: 32-bit fixed-width integer
*/

// Scanner is a protocol buffer wire format lexical scanner.
type Scanner struct {
	r *bufio.Reader

	tok  Type   // current token type
	id   int    // current field ID
	data []byte // current field contents

	err error // last error
}

// NewScanner creates a new scanner that consumes input from r.
func NewScanner(r io.Reader) *Scanner {
	return &Scanner{r: bufio.NewReader(r), id: -1}
}

// Type returns the type of the current token, or Invalid if there is not
// currently a token available.
func (s *Scanner) Type() Type { return s.tok }

// Data returns the contents of the current token in binary form, or nil if
// there is not currently a token available. The contents of the returned slice
// are only valid until the next call to Next.
func (s *Scanner) Data() []byte { return s.data }

// ID returns the field ID of the current token, or -1 if there is no token.
func (s *Scanner) ID() int { return s.id }

// Next advances s to the next token of the input or reports an error.  At the
// end of the input, Next returns io.EOF.
func (s *Scanner) Next() error {
	s.tok = Invalid
	s.id = -1
	s.data = nil
	s.err = nil

	tag, err := binary.ReadUvarint(s.r)
	if err == io.EOF {
		return s.fail(err) // return unwrapped
	} else if err != nil {
		return s.failf("read tag: %w", err)
	}
	id, wtype := tag>>3, tag&7
	switch wtype {
	case 0:
		v, err := binary.ReadUvarint(s.r)
		if err != nil {
			return s.failf("read varint: %w", err)
		}
		s.data = binary.AppendUvarint(s.data, v)
		s.tok = Varint
	case 1:
		var buf [8]byte
		if _, err := io.ReadFull(s.r, buf[:]); err != nil {
			return s.failf("read i64: %w", err)
		}
		s.data, s.tok = buf[:], I64
	case 2:
		v, err := binary.ReadUvarint(s.r)
		if err != nil {
			return s.failf("read length: %w", err)
		}
		buf := make([]byte, int(v))
		if _, err := io.ReadFull(s.r, buf); err != nil {
			return s.failf("read string: %w", err)
		}
		s.data, s.tok = buf, Len
	case 5:
		var buf [4]byte
		if _, err := io.ReadFull(s.r, buf[:]); err != nil {
			return s.failf("read i32: %w", err)
		}
		s.data, s.tok = buf[:], I32
	case 3, 4:
		return s.failf("obsolete wire type %d", wtype)
	default:
		return s.failf("invalid wire type %d", wtype)
	}
	s.id = int(id)
	return nil
}

// Err returns the last error reported by Next, or nil if none.
func (s *Scanner) Err() error { return s.err }

func (s *Scanner) fail(err error) error { s.err = err; return err }

func (s *Scanner) failf(msg string, args ...any) error { return s.fail(fmt.Errorf(msg, args...)) }


================================================
FILE: vendor/golang.org/x/sys/LICENSE
================================================
Copyright 2009 The Go Authors.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:

   * Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
   * Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following disclaimer
in the documentation and/or other materials provided with the
distribution.
   * Neither the name of Google LLC nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


================================================
FILE: vendor/golang.org/x/sys/PATENTS
================================================
Additional IP Rights Grant (Patents)

"This implementation" means the copyrightable works distributed by
Google as part of the Go project.

Google hereby grants to You a perpetual, worldwide, non-exclusive,
no-charge, royalty-free, irrevocable (except as stated in this section)
patent license to make, have made, use, offer to sell, sell, import,
transfer and otherwise run, modify and propagate the contents of this
implementation of Go, where such license applies only to those patent
claims, both currently owned or controlled by Google and acquired in
the future, licensable by Google that are necessarily infringed by this
implementation of Go.  This grant does not include claims that would be
infringed only as a consequence of further modification of this
implementation.  If you or your agent or exclusive licensee institute or
order or agree to the institution of patent litigation against any
entity (including a cross-claim or counterclaim in a lawsuit) alleging
that this implementation of Go or any code incorporated within this
implementation of Go constitutes direct or contributory patent
infringement, or inducement of patent infringement, then any patent
rights granted to you under this License for this implementation of Go
shall terminate as of the date such litigation is filed.


================================================
FILE: vendor/golang.org/x/sys/plan9/asm.s
================================================
// Copyright 2014 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

#include "textflag.h"

TEXT ·use(SB),NOSPLIT,$0
	RET


================================================
FILE: vendor/golang.org/x/sys/plan9/asm_plan9_386.s
================================================
// Copyright 2009 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

#include "textflag.h"

//
// System call support for 386, Plan 9
//

// Just jump to package syscall's implementation for all these functions.
// The runtime may know about them.

TEXT	·Syscall(SB),NOSPLIT,$0-32
	JMP	syscall·Syscall(SB)

TEXT	·Syscall6(SB),NOSPLIT,$0-44
	JMP	syscall·Syscall6(SB)

TEXT ·RawSyscall(SB),NOSPLIT,$0-28
	JMP	syscall·RawSyscall(SB)

TEXT ·RawSyscall6(SB),NOSPLIT,$0-40
	JMP	syscall·RawSyscall6(SB)

TEXT ·seek(SB),NOSPLIT,$0-36
	JMP	syscall·seek(SB)

TEXT ·exit(SB),NOSPLIT,$4-4
	JMP	syscall·exit(SB)


================================================
FILE: vendor/golang.org/x/sys/plan9/asm_plan9_amd64.s
================================================
// Copyright 2009 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

#include "textflag.h"

//
// System call support for amd64, Plan 9
//

// Just jump to package syscall's implementation for all these functions.
// The runtime may know about them.

TEXT	·Syscall(SB),NOSPLIT,$0-64
	JMP	syscall·Syscall(SB)

TEXT	·Syscall6(SB),NOSPLIT,$0-88
	JMP	syscall·Syscall6(SB)

TEXT ·RawSyscall(SB),NOSPLIT,$0-56
	JMP	syscall·RawSyscall(SB)

TEXT	·RawSyscall6(SB),NOSPLIT,$0-80
	JMP	syscall·RawSyscall6(SB)

TEXT ·seek(SB),NOSPLIT,$0-56
	JMP	syscall·seek(SB)

TEXT ·exit(SB),NOSPLIT,$8-8
	JMP	syscall·exit(SB)


================================================
FILE: vendor/golang.org/x/sys/plan9/asm_plan9_arm.s
================================================
// Copyright 2009 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

#include "textflag.h"

// System call support for plan9 on arm

// Just jump to package syscall's implementation for all these functions.
// The runtime may know about them.

TEXT ·Syscall(SB),NOSPLIT,$0-32
	JMP	syscall·Syscall(SB)

TEXT ·Syscall6(SB),NOSPLIT,$0-44
	JMP	syscall·Syscall6(SB)

TEXT ·RawSyscall(SB),NOSPLIT,$0-28
	JMP	syscall·RawSyscall(SB)

TEXT ·RawSyscall6(SB),NOSPLIT,$0-40
	JMP	syscall·RawSyscall6(SB)

TEXT ·seek(SB),NOSPLIT,$0-36
	JMP	syscall·exit(SB)


================================================
FILE: vendor/golang.org/x/sys/plan9/const_plan9.go
================================================
package plan9

// Plan 9 Constants

// Open modes
const (
	O_RDONLY  = 0
	O_WRONLY  = 1
	O_RDWR    = 2
	O_TRUNC   = 16
	O_CLOEXEC = 32
	O_EXCL    = 0x1000
)

// Rfork flags
const (
	RFNAMEG  = 1 << 0
	RFENVG   = 1 << 1
	RFFDG    = 1 << 2
	RFNOTEG  = 1 << 3
	RFPROC   = 1 << 4
	RFMEM    = 1 << 5
	RFNOWAIT = 1 << 6
	RFCNAMEG = 1 << 10
	RFCENVG  = 1 << 11
	RFCFDG   = 1 << 12
	RFREND   = 1 << 13
	RFNOMNT  = 1 << 14
)

// Qid.Type bits
const (
	QTDIR    = 0x80
	QTAPPEND = 0x40
	QTEXCL   = 0x20
	QTMOUNT  = 0x10
	QTAUTH   = 0x08
	QTTMP    = 0x04
	QTFILE   = 0x00
)

// Dir.Mode bits
const (
	DMDIR    = 0x80000000
	DMAPPEND = 0x40000000
	DMEXCL   = 0x20000000
	DMMOUNT  = 0x10000000
	DMAUTH   = 0x08000000
	DMTMP    = 0x04000000
	DMREAD   = 0x4
	DMWRITE  = 0x2
	DMEXEC   = 0x1
)

const (
	STATMAX    = 65535
	ERRMAX     = 128
	STATFIXLEN = 49
)

// Mount and bind flags
const (
	MREPL   = 0x0000
	MBEFORE = 0x0001
	MAFTER  = 0x0002
	MORDER  = 0x0003
	MCREATE = 0x0004
	MCACHE  = 0x0010
	MMASK   = 0x0017
)


================================================
FILE: vendor/golang.org/x/sys/plan9/dir_plan9.go
================================================
// Copyright 2012 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

// Plan 9 directory marshalling. See intro(5).

package plan9

import "errors"

var (
	ErrShortStat = errors.New("stat buffer too short")
	ErrBadStat   = errors.New("malformed stat buffer")
	ErrBadName   = errors.New("bad character in file name")
)

// A Qid represents a 9P server's unique identification for a file.
type Qid struct {
	Path uint64 // the file server's unique identification for the file
	Vers uint32 // version number for given Path
	Type uint8  // the type of the file (plan9.QTDIR for example)
}

// A Dir contains the metadata for a file.
type Dir struct {
	// system-modified data
	Type uint16 // server type
	Dev  uint32 // server subtype

	// file data
	Qid    Qid    // unique id from server
	Mode   uint32 // permissions
	Atime  uint32 // last read time
	Mtime  uint32 // last write time
	Length int64  // file length
	Name   string // last element of path
	Uid    string // owner name
	Gid    string // group name
	Muid   string // last modifier name
}

var nullDir = Dir{
	Type: ^uint16(0),
	Dev:  ^uint32(0),
	Qid: Qid{
		Path: ^uint64(0),
		Vers: ^uint32(0),
		Type: ^uint8(0),
	},
	Mode:   ^uint32(0),
	Atime:  ^uint32(0),
	Mtime:  ^uint32(0),
	Length: ^int64(0),
}

// Null assigns special "don't touch" values to members of d to
// avoid modifying them during plan9.Wstat.
func (d *Dir) Null() { *d = nullDir }

// Marshal encodes a 9P stat message corresponding to d into b
//
// If there isn't enough space in b for a stat message, ErrShortStat is returned.
func (d *Dir) Marshal(b []byte) (n int, err error) {
	n = STATFIXLEN + len(d.Name) + len(d.Uid) + len(d.Gid) + len(d.Muid)
	if n > len(b) {
		return n, ErrShortStat
	}

	for _, c := range d.Name {
		if c == '/' {
			return n, ErrBadName
		}
	}

	b = pbit16(b, uint16(n)-2)
	b = pbit16(b, d.Type)
	b = pbit32(b, d.Dev)
	b = pbit8(b, d.Qid.Type)
	b = pbit32(b, d.Qid.Vers)
	b = pbit64(b, d.Qid.Path)
	b = pbit32(b, d.Mode)
	b = pbit32(b, d.Atime)
	b = pbit32(b, d.Mtime)
	b = pbit64(b, uint64(d.Length))
	b = pstring(b, d.Name)
	b = pstring(b, d.Uid)
	b = pstring(b, d.Gid)
	b = pstring(b, d.Muid)

	return n, nil
}

// UnmarshalDir decodes a single 9P stat message from b and returns the resulting Dir.
//
// If b is too small to hold a valid stat message, ErrShortStat is returned.
//
// If the stat message itself is invalid, ErrBadStat is returned.
func UnmarshalDir(b []byte) (*Dir, error) {
	if len(b) < STATFIXLEN {
		return nil, ErrShortStat
	}
	size, buf := gbit16(b)
	if len(b) != int(size)+2 {
		return nil, ErrBadStat
	}
	b = buf

	var d Dir
	d.Type, b = gbit16(b)
	d.Dev, b = gbit32(b)
	d.Qid.Type, b = gbit8(b)
	d.Qid.Vers, b = gbit32(b)
	d.Qid.Path, b = gbit64(b)
	d.Mode, b = gbit32(b)
	d.Atime, b = gbit32(b)
	d.Mtime, b = gbit32(b)

	n, b := gbit64(b)
	d.Length = int64(n)

	var ok bool
	if d.Name, b, ok = gstring(b); !ok {
		return nil, ErrBadStat
	}
	if d.Uid, b, ok = gstring(b); !ok {
		return nil, ErrBadStat
	}
	if d.Gid, b, ok = gstring(b); !ok {
		return nil, ErrBadStat
	}
	if d.Muid, b, ok = gstring(b); !ok {
		return nil, ErrBadStat
	}

	return &d, nil
}

// pbit8 copies the 8-bit number v to b and returns the remaining slice of b.
func pbit8(b []byte, v uint8) []byte {
	b[0] = byte(v)
	return b[1:]
}

// pbit16 copies the 16-bit number v to b in little-endian order and returns the remaining slice of b.
func pbit16(b []byte, v uint16) []byte {
	b[0] = byte(v)
	b[1] = byte(v >> 8)
	return b[2:]
}

// pbit32 copies the 32-bit number v to b in little-endian order and returns the remaining slice of b.
func pbit32(b []byte, v uint32) []byte {
	b[0] = byte(v)
	b[1] = byte(v >> 8)
	b[2] = byte(v >> 16)
	b[3] = byte(v >> 24)
	return b[4:]
}

// pbit64 copies the 64-bit number v to b in little-endian order and returns the remaining slice of b.
func pbit64(b []byte, v uint64) []byte {
	b[0] = byte(v)
	b[1] = byte(v >> 8)
	b[2] = byte(v >> 16)
	b[3] = byte(v >> 24)
	b[4] = byte(v >> 32)
	b[5] = byte(v >> 40)
	b[6] = byte(v >> 48)
	b[7] = byte(v >> 56)
	return b[8:]
}

// pstring copies the string s to b, prepending it with a 16-bit length in little-endian order, and
// returning the remaining slice of b..
func pstring(b []byte, s string) []byte {
	b = pbit16(b, uint16(len(s)))
	n := copy(b, s)
	return b[n:]
}

// gbit8 reads an 8-bit number from b and returns it with the remaining slice of b.
func gbit8(b []byte) (uint8, []byte) {
	return uint8(b[0]), b[1:]
}

// gbit16 reads a 16-bit number in little-endian order from b and returns it with the remaining slice of b.
func gbit16(b []byte) (uint16, []byte) {
	return uint16(b[0]) | uint16(b[1])<<8, b[2:]
}

// gbit32 reads a 32-bit number in little-endian order from b and returns it with the remaining slice of b.
func gbit32(b []byte) (uint32, []byte) {
	return uint32(b[0]) | uint32(b[1])<<8 | uint32(b[2])<<16 | uint32(b[3])<<24, b[4:]
}

// gbit64 reads a 64-bit number in little-endian order from b and returns it with the remaining slice of b.
func gbit64(b []byte) (uint64, []byte) {
	lo := uint32(b[0]) | uint32(b[1])<<8 | uint32(b[2])<<16 | uint32(b[3])<<24
	hi := uint32(b[4]) | uint32(b[5])<<8 | uint32(b[6])<<16 | uint32(b[7])<<24
	return uint64(lo) | uint64(hi)<<32, b[8:]
}

// gstring reads a string from b, prefixed with a 16-bit length in little-endian order.
// It returns the string with the remaining slice of b and a boolean. If the length is
// greater than the number of bytes in b, the boolean will be false.
func gstring(b []byte) (string, []byte, bool) {
	n, b := gbit16(b)
	if int(n) > len(b) {
		return "", b, false
	}
	return string(b[:n]), b[n:], true
}


================================================
FILE: vendor/golang.org/x/sys/plan9/env_plan9.go
================================================
// Copyright 2011 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

// Plan 9 environment variables.

package plan9

import (
	"syscall"
)

func Getenv(key string) (value string, found bool) {
	return syscall.Getenv(key)
}

func Setenv(key, value string) error {
	return syscall.Setenv(key, value)
}

func Clearenv() {
	syscall.Clearenv()
}

func Environ() []string {
	return syscall.Environ()
}

func Unsetenv(key string) error {
	return syscall.Unsetenv(key)
}


================================================
FILE: vendor/golang.org/x/sys/plan9/errors_plan9.go
================================================
// Copyright 2011 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

package plan9

import "syscall"

// Constants
const (
	// Invented values to support what package os expects.
	O_CREAT    = 0x02000
	O_APPEND   = 0x00400
	O_NOCTTY   = 0x00000
	O_NONBLOCK = 0x00000
	O_SYNC     = 0x00000
	O_ASYNC    = 0x00000

	S_IFMT   = 0x1f000
	S_IFIFO  = 0x1000
	S_IFCHR  = 0x2000
	S_IFDIR  = 0x4000
	S_IFBLK  = 0x6000
	S_IFREG  = 0x8000
	S_IFLNK  = 0xa000
	S_IFSOCK = 0xc000
)

// Errors
var (
	EINVAL       = syscall.NewError("bad arg in system call")
	ENOTDIR      = syscall.NewError("not a directory")
	EISDIR       = syscall.NewError("file is a directory")
	ENOENT       = syscall.NewError("file does not exist")
	EEXIST       = syscall.NewError("file already exists")
	EMFILE       = syscall.NewError("no free file descriptors")
	EIO          = syscall.NewError("i/o error")
	ENAMETOOLONG = syscall.NewError("file name too long")
	EINTR        = syscall.NewError("interrupted")
	EPERM        = syscall.NewError("permission denied")
	EBUSY        = syscall.NewError("no free devices")
	ETIMEDOUT    = syscall.NewError("connection timed out")
	EPLAN9       = syscall.NewError("not supported by plan 9")

	// The following errors do not correspond to any
	// Plan 9 system messages. Invented to support
	// what package os and others expect.
	EACCES       = syscall.NewError("access permission denied")
	EAFNOSUPPORT = syscall.NewError("address family not supported by protocol")
)


================================================
FILE: vendor/golang.org/x/sys/plan9/mkall.sh
================================================
#!/usr/bin/env bash
# Copyright 2009 The Go Authors. All rights reserved.
# Use of this source code is governed by a BSD-style
# license that can be found in the LICENSE file.

# The plan9 package provides access to the raw system call
# interface of the underlying operating system.  Porting Go to
# a new architecture/operating system combination requires
# some manual effort, though there are tools that automate
# much of the process.  The auto-generated files have names
# beginning with z.
#
# This script runs or (given -n) prints suggested commands to generate z files
# for the current system.  Running those commands is not automatic.
# This script is documentation more than anything else.
#
# * asm_${GOOS}_${GOARCH}.s
#
# This hand-written assembly file implements system call dispatch.
# There are three entry points:
#
# 	func Syscall(trap, a1, a2, a3 uintptr) (r1, r2, err uintptr);
# 	func Syscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2, err uintptr);
# 	func RawSyscall(trap, a1, a2, a3 uintptr) (r1, r2, err uintptr);
#
# The first and second are the standard ones; they differ only in
# how many arguments can be passed to the kernel.
# The third is for low-level use by the ForkExec wrapper;
# unlike the first two, it does not call into the scheduler to
# let it know that a system call is running.
#
# * syscall_${GOOS}.go
#
# This hand-written Go file implements system calls that need
# special handling and lists "//sys" comments giving prototypes
# for ones that can be auto-generated.  Mksyscall reads those
# comments to generate the stubs.
#
# * syscall_${GOOS}_${GOARCH}.go
#
# Same as syscall_${GOOS}.go except that it contains code specific
# to ${GOOS} on one particular architecture.
#
# * types_${GOOS}.c
#
# This hand-written C file includes standard C headers and then
# creates typedef or enum names beginning with a dollar sign
# (use of $ in variable names is a gcc extension).  The hardest
# part about preparing this file is figuring out which headers to
# include and which symbols need to be #defined to get the
# actual data structures that pass through to the kernel system calls.
# Some C libraries present alternate versions for binary compatibility
# and translate them on the way in and out of system calls, but
# there is almost always a #define that can get the real ones.
# See types_darwin.c and types_linux.c for examples.
#
# * zerror_${GOOS}_${GOARCH}.go
#
# This machine-generated file defines the system's error numbers,
# error strings, and signal numbers.  The generator is "mkerrors.sh".
# Usually no arguments are needed, but mkerrors.sh will pass its
# arguments on to godefs.
#
# * zsyscall_${GOOS}_${GOARCH}.go
#
# Generated by mksyscall.pl; see syscall_${GOOS}.go above.
#
# * zsysnum_${GOOS}_${GOARCH}.go
#
# Generated by mksysnum_${GOOS}.
#
# * ztypes_${GOOS}_${GOARCH}.go
#
# Generated by godefs; see types_${GOOS}.c above.

GOOSARCH="${GOOS}_${GOARCH}"

# defaults
mksyscall="go run mksyscall.go"
mkerrors="./mkerrors.sh"
zerrors="zerrors_$GOOSARCH.go"
mksysctl=""
zsysctl="zsysctl_$GOOSARCH.go"
mksysnum=
mktypes=
run="sh"

case "$1" in
-syscalls)
	for i in zsyscall*go
	do
		sed 1q $i | sed 's;^// ;;' | sh > _$i && gofmt < _$i > $i
		rm _$i
	done
	exit 0
	;;
-n)
	run="cat"
	shift
esac

case "$#" in
0)
	;;
*)
	echo 'usage: mkall.sh [-n]' 1>&2
	exit 2
esac

case "$GOOSARCH" in
_* | *_ | _)
	echo 'undefined $GOOS_$GOARCH:' "$GOOSARCH" 1>&2
	exit 1
	;;
plan9_386)
	mkerrors=
	mksyscall="go run mksyscall.go -l32 -plan9 -tags plan9,386"
	mksysnum="./mksysnum_plan9.sh /n/sources/plan9/sys/src/libc/9syscall/sys.h"
	mktypes="XXX"
	;;
plan9_amd64)
	mkerrors=
	mksyscall="go run mksyscall.go -l32 -plan9 -tags plan9,amd64"
	mksysnum="./mksysnum_plan9.sh /n/sources/plan9/sys/src/libc/9syscall/sys.h"
	mktypes="XXX"
	;;
plan9_arm)
	mkerrors=
	mksyscall="go run mksyscall.go -l32 -plan9 -tags plan9,arm"
	mksysnum="./mksysnum_plan9.sh /n/sources/plan9/sys/src/libc/9syscall/sys.h"
	mktypes="XXX"
	;;
*)
	echo 'unrecognized $GOOS_$GOARCH: ' "$GOOSARCH" 1>&2
	exit 1
	;;
esac

(
	if [ -n "$mkerrors" ]; then echo "$mkerrors |gofmt >$zerrors"; fi
	case "$GOOS" in
	plan9)
		syscall_goos="syscall_$GOOS.go"
		if [ -n "$mksyscall" ]; then echo "$mksyscall $syscall_goos |gofmt >zsyscall_$GOOSARCH.go"; fi
		;;
	esac
	if [ -n "$mksysctl" ]; then echo "$mksysctl |gofmt >$zsysctl"; fi
	if [ -n "$mksysnum" ]; then echo "$mksysnum |gofmt >zsysnum_$GOOSARCH.go"; fi
	if [ -n "$mktypes" ]; then echo "$mktypes types_$GOOS.go |gofmt >ztypes_$GOOSARCH.go"; fi
) | $run


================================================
FILE: vendor/golang.org/x/sys/plan9/mkerrors.sh
================================================
#!/usr/bin/env bash
# Copyright 2009 The Go Authors. All rights reserved.
# Use of this source code is governed by a BSD-style
# license that can be found in the LICENSE file.

# Generate Go code listing errors and other #defined constant
# values (ENAMETOOLONG etc.), by asking the preprocessor
# about the definitions.

unset LANG
export LC_ALL=C
export LC_CTYPE=C

CC=${CC:-gcc}

uname=$(uname)

includes='
#include <sys/types.h>
#include <sys/file.h>
#include <fcntl.h>
#include <dirent.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netinet/ip.h>
#include <netinet/ip6.h>
#include <netinet/tcp.h>
#include <errno.h>
#include <sys/signal.h>
#include <signal.h>
#include <sys/resource.h>
'

ccflags="$@"

# Write go tool cgo -godefs input.
(
	echo package plan9
	echo
	echo '/*'
	indirect="includes_$(uname)"
	echo "${!indirect} $includes"
	echo '*/'
	echo 'import "C"'
	echo
	echo 'const ('

	# The gcc command line prints all the #defines
	# it encounters while processing the input
	echo "${!indirect} $includes" | $CC -x c - -E -dM $ccflags |
	awk '
		$1 != "#define" || $2 ~ /\(/ || $3 == "" {next}

		$2 ~ /^E([ABCD]X|[BIS]P|[SD]I|S|FL)$/ {next}  # 386 registers
		$2 ~ /^(SIGEV_|SIGSTKSZ|SIGRT(MIN|MAX))/ {next}
		$2 ~ /^(SCM_SRCRT)$/ {next}
		$2 ~ /^(MAP_FAILED)$/ {next}

		$2 !~ /^ETH_/ &&
		$2 !~ /^EPROC_/ &&
		$2 !~ /^EQUIV_/ &&
		$2 !~ /^EXPR_/ &&
		$2 ~ /^E[A-Z0-9_]+$/ ||
		$2 ~ /^B[0-9_]+$/ ||
		$2 ~ /^V[A-Z0-9]+$/ ||
		$2 ~ /^CS[A-Z0-9]/ ||
		$2 ~ /^I(SIG|CANON|CRNL|EXTEN|MAXBEL|STRIP|UTF8)$/ ||
		$2 ~ /^IGN/ ||
		$2 ~ /^IX(ON|ANY|OFF)$/ ||
		$2 ~ /^IN(LCR|PCK)$/ ||
		$2 ~ /(^FLU?SH)|(FLU?SH$)/ ||
		$2 ~ /^C(LOCAL|READ)$/ ||
		$2 == "BRKINT" ||
		$2 == "HUPCL" ||
		$2 == "PENDIN" ||
		$2 == "TOSTOP" ||
		$2 ~ /^PAR/ ||
		$2 ~ /^SIG[^_]/ ||
		$2 ~ /^O[CNPFP][A-Z]+[^_][A-Z]+$/ ||
		$2 ~ /^IN_/ ||
		$2 ~ /^LOCK_(SH|EX|NB|UN)$/ ||
		$2 ~ /^(AF|SOCK|SO|SOL|IPPROTO|IP|IPV6|ICMP6|TCP|EVFILT|NOTE|EV|SHUT|PROT|MAP|PACKET|MSG|SCM|MCL|DT|MADV|PR)_/ ||
		$2 == "ICMPV6_FILTER" ||
		$2 == "SOMAXCONN" ||
		$2 == "NAME_MAX" ||
		$2 == "IFNAMSIZ" ||
		$2 ~ /^CTL_(MAXNAME|NET|QUERY)$/ ||
		$2 ~ /^SYSCTL_VERS/ ||
		$2 ~ /^(MS|MNT)_/ ||
		$2 ~ /^TUN(SET|GET|ATTACH|DETACH)/ ||
		$2 ~ /^(O|F|FD|NAME|S|PTRACE|PT)_/ ||
		$2 ~ /^LINUX_REBOOT_CMD_/ ||
		$2 ~ /^LINUX_REBOOT_MAGIC[12]$/ ||
		$2 !~ "NLA_TYPE_MASK" &&
		$2 ~ /^(NETLINK|NLM|NLMSG|NLA|IFA|IFAN|RT|RTCF|RTN|RTPROT|RTNH|ARPHRD|ETH_P)_/ ||
		$2 ~ /^SIOC/ ||
		$2 ~ /^TIOC/ ||
		$2 !~ "RTF_BITS" &&
		$2 ~ /^(IFF|IFT|NET_RT|RTM|RTF|RTV|RTA|RTAX)_/ ||
		$2 ~ /^BIOC/ ||
		$2 ~ /^RUSAGE_(SELF|CHILDREN|THREAD)/ ||
		$2 ~ /^RLIMIT_(AS|CORE|CPU|DATA|FSIZE|NOFILE|STACK)|RLIM_INFINITY/ ||
		$2 ~ /^PRIO_(PROCESS|PGRP|USER)/ ||
		$2 ~ /^CLONE_[A-Z_]+/ ||
		$2 !~ /^(BPF_TIMEVAL)$/ &&
		$2 ~ /^(BPF|DLT)_/ ||
		$2 !~ "WMESGLEN" &&
		$2 ~ /^W[A-Z0-9]+$/ {printf("\t%s = C.%s\n", $2, $2)}
		$2 ~ /^__WCOREFLAG$/ {next}
		$2 ~ /^__W[A-Z0-9]+$/ {printf("\t%s = C.%s\n", substr($2,3), $2)}

		{next}
	' | sort

	echo ')'
) >_const.go

# Pull out the error names for later.
errors=$(
	echo '#include <errno.h>' | $CC -x c - -E -dM $ccflags |
	awk '$1=="#define" && $2 ~ /^E[A-Z0-9_]+$/ { print $2 }' |
	sort
)

# Pull out the signal names for later.
signals=$(
	echo '#include <signal.h>' | $CC -x c - -E -dM $ccflags |
	awk '$1=="#define" && $2 ~ /^SIG[A-Z0-9]+$/ { print $2 }' |
	grep -v 'SIGSTKSIZE\|SIGSTKSZ\|SIGRT' |
	sort
)

# Again, writing regexps to a file.
echo '#include <errno.h>' | $CC -x c - -E -dM $ccflags |
	awk '$1=="#define" && $2 ~ /^E[A-Z0-9_]+$/ { print "^\t" $2 "[ \t]*=" }' |
	sort >_error.grep
echo '#include <signal.h>' | $CC -x c - -E -dM $ccflags |
	awk '$1=="#define" && $2 ~ /^SIG[A-Z0-9]+$/ { print "^\t" $2 "[ \t]*=" }' |
	grep -v 'SIGSTKSIZE\|SIGSTKSZ\|SIGRT' |
	sort >_signal.grep

echo '// mkerrors.sh' "$@"
echo '// Code generated by the command above; DO NOT EDIT.'
echo
go tool cgo -godefs -- "$@" _const.go >_error.out
cat _error.out | grep -vf _error.grep | grep -vf _signal.grep
echo
echo '// Errors'
echo 'const ('
cat _error.out | grep -f _error.grep | sed 's/=\(.*\)/= Errno(\1)/'
echo ')'

echo
echo '// Signals'
echo 'const ('
cat _error.out | grep -f _signal.grep | sed 's/=\(.*\)/= Signal(\1)/'
echo ')'

# Run C program to print error and syscall strings.
(
	echo -E "
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <ctype.h>
#include <string.h>
#include <signal.h>

#define nelem(x) (sizeof(x)/sizeof((x)[0]))

enum { A = 'A', Z = 'Z', a = 'a', z = 'z' }; // avoid need for single quotes below

int errors[] = {
"
	for i in $errors
	do
		echo -E '	'$i,
	done

	echo -E "
};

int signals[] = {
"
	for i in $signals
	do
		echo -E '	'$i,
	done

	# Use -E because on some systems bash builtin interprets \n itself.
	echo -E '
};

static int
intcmp(const void *a, const void *b)
{
	return *(int*)a - *(int*)b;
}

int
main(void)
{
	int i, j, e;
	char buf[1024], *p;

	printf("\n\n// Error table\n");
	printf("var errors = [...]string {\n");
	qsort(errors, nelem(errors), sizeof errors[0], intcmp);
	for(i=0; i<nelem(errors); i++) {
		e = errors[i];
		if(i > 0 && errors[i-1] == e)
			continue;
		strcpy(buf, strerror(e));
		// lowercase first letter: Bad -> bad, but STREAM -> STREAM.
		if(A <= buf[0] && buf[0] <= Z && a <= buf[1] && buf[1] <= z)
			buf[0] += a - A;
		printf("\t%d: \"%s\",\n", e, buf);
	}
	printf("}\n\n");
	
	printf("\n\n// Signal table\n");
	printf("var signals = [...]string {\n");
	qsort(signals, nelem(signals), sizeof signals[0], intcmp);
	for(i=0; i<nelem(signals); i++) {
		e = signals[i];
		if(i > 0 && signals[i-1] == e)
			continue;
		strcpy(buf, strsignal(e));
		// lowercase first letter: Bad -> bad, but STREAM -> STREAM.
		if(A <= buf[0] && buf[0] <= Z && a <= buf[1] && buf[1] <= z)
			buf[0] += a - A;
		// cut trailing : number.
		p = strrchr(buf, ":"[0]);
		if(p)
			*p = '\0';
		printf("\t%d: \"%s\",\n", e, buf);
	}
	printf("}\n\n");

	return 0;
}

'
) >_errors.c

$CC $ccflags -o _errors _errors.c && $GORUN ./_errors && rm -f _errors.c _errors _const.go _error.grep _signal.grep _error.out


================================================
FILE: vendor/golang.org/x/sys/plan9/mksysnum_plan9.sh
================================================
#!/bin/sh
# Copyright 2009 The Go Authors. All rights reserved.
# Use of this source code is governed by a BSD-style
# license that can be found in the LICENSE file.

COMMAND="mksysnum_plan9.sh $@"

cat <<EOF
// $COMMAND
// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT

package plan9

const(
EOF

SP='[ 	]' # space or tab
sed "s/^#define${SP}\\([A-Z0-9_][A-Z0-9_]*\\)${SP}${SP}*\\([0-9][0-9]*\\)/SYS_\\1=\\2/g" \
	< $1 | grep -v SYS__

cat <<EOF
)
EOF


================================================
FILE: vendor/golang.org/x/sys/plan9/pwd_go15_plan9.go
================================================
// Copyright 2015 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

//go:build go1.5

package plan9

import "syscall"

func fixwd() {
	syscall.Fixwd()
}

func Getwd() (wd string, err error) {
	return syscall.Getwd()
}

func Chdir(path string) error {
	return syscall.Chdir(path)
}


================================================
FILE: vendor/golang.org/x/sys/plan9/pwd_plan9.go
================================================
// Copyright 2015 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

//go:build !go1.5

package plan9

func fixwd() {
}

func Getwd() (wd string, err error) {
	fd, err := open(".", O_RDONLY)
	if err != nil {
		return "", err
	}
	defer Close(fd)
	return Fd2path(fd)
}

func Chdir(path string) error {
	return chdir(path)
}


================================================
FILE: vendor/golang.org/x/sys/plan9/race.go
================================================
// Copyright 2012 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

//go:build plan9 && race

package plan9

import (
	"runtime"
	"unsafe"
)

const raceenabled = true

func raceAcquire(addr unsafe.Pointer) {
	runtime.RaceAcquire(addr)
}

func raceReleaseMerge(addr unsafe.Pointer) {
	runtime.RaceReleaseMerge(addr)
}

func raceReadRange(addr unsafe.Pointer, len int) {
	runtime.RaceReadRange(addr, len)
}

func raceWriteRange(addr unsafe.Pointer, len int) {
	runtime.RaceWriteRange(addr, len)
}


================================================
FILE: vendor/golang.org/x/sys/plan9/race0.go
================================================
// Copyright 2012 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

//go:build plan9 && !race

package plan9

import (
	"unsafe"
)

const raceenabled = false

func raceAcquire(addr unsafe.Pointer) {
}

func raceReleaseMerge(addr unsafe.Pointer) {
}

func raceReadRange(addr unsafe.Pointer, len int) {
}

func raceWriteRange(addr unsafe.Pointer, len int) {
}


================================================
FILE: vendor/golang.org/x/sys/plan9/str.go
================================================
// Copyright 2009 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

//go:build plan9

package plan9

func itoa(val int) string { // do it here rather than with fmt to avoid dependency
	if val < 0 {
		return "-" + itoa(-val)
	}
	var buf [32]byte // big enough for int64
	i := len(buf) - 1
	for val >= 10 {
		buf[i] = byte(val%10 + '0')
		i--
		val /= 10
	}
	buf[i] = byte(val + '0')
	return string(buf[i:])
}


================================================
FILE: vendor/golang.org/x/sys/plan9/syscall.go
================================================
// Copyright 2009 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

//go:build plan9

// Package plan9 contains an interface to the low-level operating system
// primitives. OS details vary depending on the underlying system, and
// by default, godoc will display the OS-specific documentation for the current
// system. If you want godoc to display documentation for another
// system, set $GOOS and $GOARCH to the desired system. For example, if
// you want to view documentation for freebsd/arm on linux/amd64, set $GOOS
// to freebsd and $GOARCH to arm.
//
// The primary use of this package is inside other packages that provide a more
// portable interface to the system, such as "os", "time" and "net".  Use
// those packages rather than this one if you can.
//
// For details of the functions and data types in this package consult
// the manuals for the appropriate operating system.
//
// These calls return err == nil to indicate success; otherwise
// err represents an operating system error describing the failure and
// holds a value of type syscall.ErrorString.
package plan9 // import "golang.org/x/sys/plan9"

import (
	"bytes"
	"strings"
	"unsafe"
)

// ByteSliceFromString returns a NUL-terminated slice of bytes
// containing the text of s. If s contains a NUL byte at any
// location, it returns (nil, EINVAL).
func ByteSliceFromString(s string) ([]byte, error) {
	if strings.IndexByte(s, 0) != -1 {
		return nil, EINVAL
	}
	a := make([]byte, len(s)+1)
	copy(a, s)
	return a, nil
}

// BytePtrFromString returns a pointer to a NUL-terminated array of
// bytes containing the text of s. If s contains a NUL byte at any
// location, it returns (nil, EINVAL).
func BytePtrFromString(s string) (*byte, error) {
	a, err := ByteSliceFromString(s)
	if err != nil {
		return nil, err
	}
	return &a[0], nil
}

// ByteSliceToString returns a string form of the text represented by the slice s, with a terminating NUL and any
// bytes after the NUL removed.
func ByteSliceToString(s []byte) string {
	if i := bytes.IndexByte(s, 0); i != -1 {
		s = s[:i]
	}
	return string(s)
}

// BytePtrToString takes a pointer to a sequence of text and returns the corresponding string.
// If the pointer is nil, it returns the empty string. It assumes that the text sequence is terminated
// at a zero byte; if the zero byte is not present, the program may crash.
func BytePtrToString(p *byte) string {
	if p == nil {
		return ""
	}
	if *p == 0 {
		return ""
	}

	// Find NUL terminator.
	n := 0
	for ptr := unsafe.Pointer(p); *(*byte)(ptr) != 0; n++ {
		ptr = unsafe.Pointer(uintptr(ptr) + 1)
	}

	return string(unsafe.Slice(p, n))
}

// Single-word zero for use when we need a valid pointer to 0 bytes.
// See mksyscall.pl.
var _zero uintptr

func (ts *Timespec) Unix() (sec int64, nsec int64) {
	return int64(ts.Sec), int64(ts.Nsec)
}

func (tv *Timeval) Unix() (sec int64, nsec int64) {
	return int64(tv.Sec), int64(tv.Usec) * 1000
}

func (ts *Timespec) Nano() int64 {
	return int64(ts.Sec)*1e9 + int64(ts.Nsec)
}

func (tv *Timeval) Nano() int64 {
	return int64(tv.Sec)*1e9 + int64(tv.Usec)*1000
}

// use is a no-op, but the compiler cannot see that it is.
// Calling use(p) ensures that p is kept live until that point.
//
//go:noescape
func use(p unsafe.Pointer)


================================================
FILE: vendor/golang.org/x/sys/plan9/syscall_plan9.go
================================================
// Copyright 2011 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

// Plan 9 system calls.
// This file is compiled as ordinary Go code,
// but it is also input to mksyscall,
// which parses the //sys lines and generates system call stubs.
// Note that sometimes we use a lowercase //sys name and
// wrap it in our own nicer implementation.

package plan9

import (
	"bytes"
	"syscall"
	"unsafe"
)

// A Note is a string describing a process note.
// It implements the os.Signal interface.
type Note string

func (n Note) Signal() {}

func (n Note) String() string {
	return string(n)
}

var (
	Stdin  = 0
	Stdout = 1
	Stderr = 2
)

// For testing: clients can set this flag to force
// creation of IPv6 sockets to return EAFNOSUPPORT.
var SocketDisableIPv6 bool

func Syscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.ErrorString)
func Syscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.ErrorString)
func RawSyscall(trap, a1, a2, a3 uintptr) (r1, r2, err uintptr)
func RawSyscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2, err uintptr)

func atoi(b []byte) (n uint) {
	n = 0
	for i := 0; i < len(b); i++ {
		n = n*10 + uint(b[i]-'0')
	}
	return
}

func cstring(s []byte) string {
	i := bytes.IndexByte(s, 0)
	if i == -1 {
		i = len(s)
	}
	return string(s[:i])
}

func errstr() string {
	var buf [ERRMAX]byte

	RawSyscall(SYS_ERRSTR, uintptr(unsafe.Pointer(&buf[0])), uintptr(len(buf)), 0)

	buf[len(buf)-1] = 0
	return cstring(buf[:])
}

// Implemented in assembly to import from runtime.
func exit(code int)

func Exit(code int) { exit(code) }

func readnum(path string) (uint, error) {
	var b [12]byte

	fd, e := Open(path, O_RDONLY)
	if e != nil {
		return 0, e
	}
	defer Close(fd)

	n, e := Pread(fd, b[:], 0)

	if e != nil {
		return 0, e
	}

	m := 0
	for ; m < n && b[m] == ' '; m++ {
	}

	return atoi(b[m : n-1]), nil
}

func Getpid() (pid int) {
	n, _ := readnum("#c/pid")
	return int(n)
}

func Getppid() (ppid int) {
	n, _ := readnum("#c/ppid")
	return int(n)
}

func Read(fd int, p []byte) (n int, err error) {
	return Pread(fd, p, -1)
}

func Write(fd int, p []byte) (n int, err error) {
	return Pwrite(fd, p, -1)
}

var ioSync int64

//sys	fd2path(fd int, buf []byte) (err error)

func Fd2path(fd int) (path string, err error) {
	var buf [512]byte

	e := fd2path(fd, buf[:])
	if e != nil {
		return "", e
	}
	return cstring(buf[:]), nil
}

//sys	pipe(p *[2]int32) (err error)

func Pipe(p []int) (err error) {
	if len(p) != 2 {
		return syscall.ErrorString("bad arg in system call")
	}
	var pp [2]int32
	err = pipe(&pp)
	if err == nil {
		p[0] = int(pp[0])
		p[1] = int(pp[1])
	}
	return
}

// Underlying system call writes to newoffset via pointer.
// Implemented in assembly to avoid allocation.
func seek(placeholder uintptr, fd int, offset int64, whence int) (newoffset int64, err string)

func Seek(fd int, offset int64, whence int) (newoffset int64, err error) {
	newoffset, e := seek(0, fd, offset, whence)

	if newoffset == -1 {
		err = syscall.ErrorString(e)
	}
	return
}

func Mkdir(path string, mode uint32) (err error) {
	fd, err := Create(path, O_RDONLY, DMDIR|mode)

	if fd != -1 {
		Close(fd)
	}

	return
}

type Waitmsg struct {
	Pid  int
	Time [3]uint32
	Msg  string
}

func (w Waitmsg) Exited() bool   { return true }
func (w Waitmsg) Signaled() bool { return false }

func (w Waitmsg) ExitStatus() int {
	if len(w.Msg) == 0 {
		// a normal exit returns no message
		return 0
	}
	return 1
}

//sys	await(s []byte) (n int, err error)

func Await(w *Waitmsg) (err error) {
	var buf [512]byte
	var f [5][]byte

	n, err := await(buf[:])

	if err != nil || w == nil {
		return
	}

	nf := 0
	p := 0
	for i := 0; i < n && nf < len(f)-1; i++ {
		if buf[i] == ' ' {
			f[nf] = buf[p:i]
			p = i + 1
			nf++
		}
	}
	f[nf] = buf[p:]
	nf++

	if nf != len(f) {
		return syscall.ErrorString("invalid wait message")
	}
	w.Pid = int(atoi(f[0]))
	w.Time[0] = uint32(atoi(f[1]))
	w.Time[1] = uint32(atoi(f[2]))
	w.Time[2] = uint32(atoi(f[3]))
	w.Msg = cstring(f[4])
	if w.Msg == "''" {
		// await() returns '' for no error
		w.Msg = ""
	}
	return
}

func Unmount(name, old string) (err error) {
	fixwd()
	oldp, err := BytePtrFromString(old)
	if err != nil {
		return err
	}
	oldptr := uintptr(unsafe.Pointer(oldp))

	var r0 uintptr
	var e syscall.ErrorString

	// bind(2) man page: If name is zero, everything bound or mounted upon old is unbound or unmounted.
	if name == "" {
		r0, _, e = Syscall(SYS_UNMOUNT, _zero, oldptr, 0)
	} else {
		namep, err := BytePtrFromString(name)
		if err != nil {
			return err
		}
		r0, _, e = Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(namep)), oldptr, 0)
	}

	if int32(r0) == -1 {
		err = e
	}
	return
}

func Fchdir(fd int) (err error) {
	path, err := Fd2path(fd)

	if err != nil {
		return
	}

	return Chdir(path)
}

type Timespec struct {
	Sec  int32
	Nsec int32
}

type Timeval struct {
	Sec  int32
	Usec int32
}

func NsecToTimeval(nsec int64) (tv Timeval) {
	nsec += 999 // round up to microsecond
	tv.Usec = int32(nsec % 1e9 / 1e3)
	tv.Sec = int32(nsec / 1e9)
	return
}

func nsec() int64 {
	var scratch int64

	r0, _, _ := Syscall(SYS_NSEC, uintptr(unsafe.Pointer(&scratch)), 0, 0)
	// TODO(aram): remove hack after I fix _nsec in the pc64 kernel.
	if r0 == 0 {
		return scratch
	}
	return int64(r0)
}

func Gettimeofday(tv *Timeval) error {
	nsec := nsec()
	*tv = NsecToTimeval(nsec)
	return nil
}

func Getpagesize() int { return 0x1000 }

func Getegid() (egid int) { return -1 }
func Geteuid() (euid int) { return -1 }
func Getgid() (gid int)   { return -1 }
func Getuid() (uid int)   { return -1 }

func Getgroups() (gids []int, err error) {
	return make([]int, 0), nil
}

//sys	open(path string, mode int) (fd int, err error)

func Open(path string, mode int) (fd int, err error) {
	fixwd()
	return open(path, mode)
}

//sys	create(path string, mode int, perm uint32) (fd int, err error)

func Create(path string, mode int, perm uint32) (fd int, err error) {
	fixwd()
	return create(path, mode, perm)
}

//sys	remove(path string) (err error)

func Remove(path string) error {
	fixwd()
	return remove(path)
}

//sys	stat(path string, edir []byte) (n int, err error)

func Stat(path string, edir []byte) (n int, err error) {
	fixwd()
	return stat(path, edir)
}

//sys	bind(name string, old string, flag int) (err error)

func Bind(name string, old string, flag int) (err error) {
	fixwd()
	return bind(name, old, flag)
}

//sys	mount(fd int, afd int, old string, flag int, aname string) (err error)

func Mount(fd int, afd int, old string, flag int, aname string) (err error) {
	fixwd()
	return mount(fd, afd, old, flag, aname)
}

//sys	wstat(path string, edir []byte) (err error)

func Wstat(path string, edir []byte) (err error) {
	fixwd()
	return wstat(path, edir)
}

//sys	chdir(path string) (err error)
//sys	Dup(oldfd int, newfd int) (fd int, err error)
//sys	Pread(fd int, p []byte, offset int64) (n int, err error)
//sys	Pwrite(fd int, p []byte, offset int64) (n int, err error)
//sys	Close(fd int) (err error)
//sys	Fstat(fd int, edir []byte) (n int, err error)
//sys	Fwstat(fd int, edir []byte) (err error)


================================================
FILE: vendor/golang.org/x/sys/plan9/zsyscall_plan9_386.go
================================================
// go run mksyscall.go -l32 -plan9 -tags plan9,386 syscall_plan9.go
// Code generated by the command above; see README.md. DO NOT EDIT.

//go:build plan9 && 386

package plan9

import "unsafe"

// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT

func fd2path(fd int, buf []byte) (err error) {
	var _p0 unsafe.Pointer
	if len(buf) > 0 {
		_p0 = unsafe.Pointer(&buf[0])
	} else {
		_p0 = unsafe.Pointer(&_zero)
	}
	r0, _, e1 := Syscall(SYS_FD2PATH, uintptr(fd), uintptr(_p0), uintptr(len(buf)))
	if int32(r0) == -1 {
		err = e1
	}
	return
}

// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT

func pipe(p *[2]int32) (err error) {
	r0, _, e1 := Syscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0)
	if int32(r0) == -1 {
		err = e1
	}
	return
}

// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT

func await(s []byte) (n int, err error) {
	var _p0 unsafe.Pointer
	if len(s) > 0 {
		_p0 = unsafe.Pointer(&s[0])
	} else {
		_p0 = unsafe.Pointer(&_zero)
	}
	r0, _, e1 := Syscall(SYS_AWAIT, uintptr(_p0), uintptr(len(s)), 0)
	n = int(r0)
	if int32(r0) == -1 {
		err = e1
	}
	return
}

// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT

func open(path string, mode int) (fd int, err error) {
	var _p0 *byte
	_p0, err = BytePtrFromString(path)
	if err != nil {
		return
	}
	r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
	fd = int(r0)
	if int32(r0) == -1 {
		err = e1
	}
	return
}

// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT

func create(path string, mode int, perm uint32) (fd int, err error) {
	var _p0 *byte
	_p0, err = BytePtrFromString(path)
	if err != nil {
		return
	}
	r0, _, e1 := Syscall(SYS_CREATE, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm))
	fd = int(r0)
	if int32(r0) == -1 {
		err = e1
	}
	return
}

// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT

func remove(path string) (err error) {
	var _p0 *byte
	_p0, err = BytePtrFromString(path)
	if err != nil {
		return
	}
	r0, _, e1 := Syscall(SYS_REMOVE, uintptr(unsafe.Pointer(_p0)), 0, 0)
	if int32(r0) == -1 {
		err = e1
	}
	return
}

// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT

func stat(path string, edir []byte) (n int, err error) {
	var _p0 *byte
	_p0, err = BytePtrFromString(path)
	if err != nil {
		return
	}
	var _p1 unsafe.Pointer
	if len(edir) > 0 {
		_p1 = unsafe.Pointer(&edir[0])
	} else {
		_p1 = unsafe.Pointer(&_zero)
	}
	r0, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(edir)))
	n = int(r0)
	if int32(r0) == -1 {
		err = e1
	}
	return
}

// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT

func bind(name string, old string, flag int) (err error) {
	var _p0 *byte
	_p0, err = BytePtrFromString(name)
	if err != nil {
		return
	}
	var _p1 *byte
	_p1, err = BytePtrFromString(old)
	if err != nil {
		return
	}
	r0, _, e1 := Syscall(SYS_BIND, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(flag))
	if int32(r0) == -1 {
		err = e1
	}
	return
}

// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT

func mount(fd int, afd int, old string, flag int, aname string) (err error) {
	var _p0 *byte
	_p0, err = BytePtrFromString(old)
	if err != nil {
		return
	}
	var _p1 *byte
	_p1, err = BytePtrFromString(aname)
	if err != nil {
		return
	}
	r0, _, e1 := Syscall6(SYS_MOUNT, uintptr(fd), uintptr(afd), uintptr(unsafe.Pointer(_p0)), uintptr(flag), uintptr(unsafe.Pointer(_p1)), 0)
	if int32(r0) == -1 {
		err = e1
	}
	return
}

// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT

func wstat(path string, edir []byte) (err error) {
	var _p0 *byte
	_p0, err = BytePtrFromString(path)
	if err != nil {
		return
	}
	var _p1 unsafe.Pointer
	if len(edir) > 0 {
		_p1 = unsafe.Pointer(&edir[0])
	} else {
		_p1 = unsafe.Pointer(&_zero)
	}
	r0, _, e1 := Syscall(SYS_WSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(edir)))
	if int32(r0) == -1 {
		err = e1
	}
	return
}

// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT

func chdir(path string) (err error) {
	var _p0 *byte
	_p0, err = BytePtrFromString(path)
	if err != nil {
		return
	}
	r0, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)
	if int32(r0) == -1 {
		err = e1
	}
	return
}

// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT

func Dup(oldfd int, newfd int) (fd int, err error) {
	r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), uintptr(newfd), 0)
	fd = int(r0)
	if int32(r0) == -1 {
		err = e1
	}
	return
}

// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT

func Pread(fd int, p []byte, offset int64) (n int, err error) {
	var _p0 unsafe.Pointer
	if len(p) > 0 {
		_p0 = unsafe.Pointer(&p[0])
	} else {
		_p0 = unsafe.Pointer(&_zero)
	}
	r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0)
	n = int(r0)
	if int32(r0) == -1 {
		err = e1
	}
	return
}

// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT

func Pwrite(fd int, p []byte, offset int64) (n int, err error) {
	var _p0 unsafe.Pointer
	if len(p) > 0 {
		_p0 = unsafe.Pointer(&p[0])
	} else {
		_p0 = unsafe.Pointer(&_zero)
	}
	r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0)
	n = int(r0)
	if int32(r0) == -1 {
		err = e1
	}
	return
}

// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT

func Close(fd int) (err error) {
	r0, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0)
	if int32(r0) == -1 {
		err = e1
	}
	return
}

// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT

func Fstat(fd int, edir []byte) (n int, err error) {
	var _p0 unsafe.Pointer
	if len(edir) > 0 {
		_p0 = unsafe.Pointer(&edir[0])
	} else {
		_p0 = unsafe.Pointer(&_zero)
	}
	r0, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(_p0), uintptr(len(edir)))
	n = int(r0)
	if int32(r0) == -1 {
		err = e1
	}
	return
}

// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT

func Fwstat(fd int, edir []byte) (err error) {
	var _p0 unsafe.Pointer
	if len(edir) > 0 {
		_p0 = unsafe.Pointer(&edir[0])
	} else {
		_p0 = unsafe.Pointer(&_zero)
	}
	r0, _, e1 := Syscall(SYS_FWSTAT, uintptr(fd), uintptr(_p0), uintptr(len(edir)))
	if int32(r0) == -1 {
		err = e1
	}
	return
}


================================================
FILE: vendor/golang.org/x/sys/plan9/zsyscall_plan9_amd64.go
================================================
// go run mksyscall.go -l32 -plan9 -tags plan9,amd64 syscall_plan9.go
// Code generated by the command above; see README.md. DO NOT EDIT.

//go:build plan9 && amd64

package plan9

import "unsafe"

// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT

func fd2path(fd int, buf []byte) (err error) {
	var _p0 unsafe.Pointer
	if len(buf) > 0 {
		_p0 = unsafe.Pointer(&buf[0])
	} else {
		_p0 = unsafe.Pointer(&_zero)
	}
	r0, _, e1 := Syscall(SYS_FD2PATH, uintptr(fd), uintptr(_p0), uintptr(len(buf)))
	if int32(r0) == -1 {
		err = e1
	}
	return
}

// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT

func pipe(p *[2]int32) (err error) {
	r0, _, e1 := Syscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0)
	if int32(r0) == -1 {
		err = e1
	}
	return
}

// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT

func await(s []byte) (n int, err error) {
	var _p0 unsafe.Pointer
	if len(s) > 0 {
		_p0 = unsafe.Pointer(&s[0])
	} else {
		_p0 = unsafe.Pointer(&_zero)
	}
	r0, _, e1 := Syscall(SYS_AWAIT, uintptr(_p0), uintptr(len(s)), 0)
	n = int(r0)
	if int32(r0) == -1 {
		err = e1
	}
	return
}

// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT

func open(path string, mode int) (fd int, err error) {
	var _p0 *byte
	_p0, err = BytePtrFromString(path)
	if err != nil {
		return
	}
	r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
	fd = int(r0)
	if int32(r0) == -1 {
		err = e1
	}
	return
}

// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT

func create(path string, mode int, perm uint32) (fd int, err error) {
	var _p0 *byte
	_p0, err = BytePtrFromString(path)
	if err != nil {
		return
	}
	r0, _, e1 := Syscall(SYS_CREATE, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm))
	fd = int(r0)
	if int32(r0) == -1 {
		err = e1
	}
	return
}

// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT

func remove(path string) (err error) {
	var _p0 *byte
	_p0, err = BytePtrFromString(path)
	if err != nil {
		return
	}
	r0, _, e1 := Syscall(SYS_REMOVE, uintptr(unsafe.Pointer(_p0)), 0, 0)
	if int32(r0) == -1 {
		err = e1
	}
	return
}

// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT

func stat(path string, edir []byte) (n int, err error) {
	var _p0 *byte
	_p0, err = BytePtrFromString(path)
	if err != nil {
		return
	}
	var _p1 unsafe.Pointer
	if len(edir) > 0 {
		_p1 = unsafe.Pointer(&edir[0])
	} else {
		_p1 = unsafe.Pointer(&_zero)
	}
	r0, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(edir)))
	n = int(r0)
	if int32(r0) == -1 {
		err = e1
	}
	return
}

// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT

func bind(name string, old string, flag int) (err error) {
	var _p0 *byte
	_p0, err = BytePtrFromString(name)
	if err != nil {
		return
	}
	var _p1 *byte
	_p1, err = BytePtrFromString(old)
	if err != nil {
		return
	}
	r0, _, e1 := Syscall(SYS_BIND, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(flag))
	if int32(r0) == -1 {
		err = e1
	}
	return
}

// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT

func mount(fd int, afd int, old string, flag int, aname string) (err error) {
	var _p0 *byte
	_p0, err = BytePtrFromString(old)
	if err != nil {
		return
	}
	var _p1 *byte
	_p1, err = BytePtrFromString(aname)
	if err != nil {
		return
	}
	r0, _, e1 := Syscall6(SYS_MOUNT, uintptr(fd), uintptr(afd), uintptr(unsafe.Pointer(_p0)), uintptr(flag), uintptr(unsafe.Pointer(_p1)), 0)
	if int32(r0) == -1 {
		err = e1
	}
	return
}

// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT

func wstat(path string, edir []byte) (err error) {
	var _p0 *byte
	_p0, err = BytePtrFromString(path)
	if err != nil {
		return
	}
	var _p1 unsafe.Pointer
	if len(edir) > 0 {
		_p1 = unsafe.Pointer(&edir[0])
	} else {
		_p1 = unsafe.Pointer(&_zero)
	}
	r0, _, e1 := Syscall(SYS_WSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(edir)))
	if int32(r0) == -1 {
		err = e1
	}
	return
}

// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT

func chdir(path string) (err error) {
	var _p0 *byte
	_p0, err = BytePtrFromString(path)
	if err != nil {
		return
	}
	r0, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)
	if int32(r0) == -1 {
		err = e1
	}
	return
}

// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT

func Dup(oldfd int, newfd int) (fd int, err error) {
	r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), uintptr(newfd), 0)
	fd = int(r0)
	if int32(r0) == -1 {
		err = e1
	}
	return
}

// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT

func Pread(fd int, p []byte, offset int64) (n int, err error) {
	var _p0 unsafe.Pointer
	if len(p) > 0 {
		_p0 = unsafe.Pointer(&p[0])
	} else {
		_p0 = unsafe.Pointer(&_zero)
	}
	r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0)
	n = int(r0)
	if int32(r0) == -1 {
		err = e1
	}
	return
}

// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT

func Pwrite(fd int, p []byte, offset int64) (n int, err error) {
	var _p0 unsafe.Pointer
	if len(p) > 0 {
		_p0 = unsafe.Pointer(&p[0])
	} else {
		_p0 = unsafe.Pointer(&_zero)
	}
	r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0)
	n = int(r0)
	if int32(r0) == -1 {
		err = e1
	}
	return
}

// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT

func Close(fd int) (err error) {
	r0, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0)
	if int32(r0) == -1 {
		err = e1
	}
	return
}

// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT

func Fstat(fd int, edir []byte) (n int, err error) {
	var _p0 unsafe.Pointer
	if len(edir) > 0 {
		_p0 = unsafe.Pointer(&edir[0])
	} else {
		_p0 = unsafe.Pointer(&_zero)
	}
	r0, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(_p0), uintptr(len(edir)))
	n = int(r0)
	if int32(r0) == -1 {
		err = e1
	}
	return
}

// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT

func Fwstat(fd int, edir []byte) (err error) {
	var _p0 unsafe.Pointer
	if len(edir) > 0 {
		_p0 = unsafe.Pointer(&edir[0])
	} else {
		_p0 = unsafe.Pointer(&_zero)
	}
	r0, _, e1 := Syscall(SYS_FWSTAT, uintptr(fd), uintptr(_p0), uintptr(len(edir)))
	if int32(r0) == -1 {
		err = e1
	}
	return
}


================================================
FILE: vendor/golang.org/x/sys/plan9/zsyscall_plan9_arm.go
================================================
// go run mksyscall.go -l32 -plan9 -tags plan9,arm syscall_plan9.go
// Code generated by the command above; see README.md. DO NOT EDIT.

//go:build plan9 && arm

package plan9

import "unsafe"

// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT

func fd2path(fd int, buf []byte) (err error) {
	var _p0 unsafe.Pointer
	if len(buf) > 0 {
		_p0 = unsafe.Pointer(&buf[0])
	} else {
		_p0 = unsafe.Pointer(&_zero)
	}
	r0, _, e1 := Syscall(SYS_FD2PATH, uintptr(fd), uintptr(_p0), uintptr(len(buf)))
	if int32(r0) == -1 {
		err = e1
	}
	return
}

// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT

func pipe(p *[2]int32) (err error) {
	r0, _, e1 := Syscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0)
	if int32(r0) == -1 {
		err = e1
	}
	return
}

// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT

func await(s []byte) (n int, err error) {
	var _p0 unsafe.Pointer
	if len(s) > 0 {
		_p0 = unsafe.Pointer(&s[0])
	} else {
		_p0 = unsafe.Pointer(&_zero)
	}
	r0, _, e1 := Syscall(SYS_AWAIT, uintptr(_p0), uintptr(len(s)), 0)
	n = int(r0)
	if int32(r0) == -1 {
		err = e1
	}
	return
}

// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT

func open(path string, mode int) (fd int, err error) {
	var _p0 *byte
	_p0, err = BytePtrFromString(path)
	if err != nil {
		return
	}
	r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
	fd = int(r0)
	if int32(r0) == -1 {
		err = e1
	}
	return
}

// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT

func create(path string, mode int, perm uint32) (fd int, err error) {
	var _p0 *byte
	_p0, err = BytePtrFromString(path)
	if err != nil {
		return
	}
	r0, _, e1 := Syscall(SYS_CREATE, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm))
	fd = int(r0)
	if int32(r0) == -1 {
		err = e1
	}
	return
}

// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT

func remove(path string) (err error) {
	var _p0 *byte
	_p0, err = BytePtrFromString(path)
	if err != nil {
		return
	}
	r0, _, e1 := Syscall(SYS_REMOVE, uintptr(unsafe.Pointer(_p0)), 0, 0)
	if int32(r0) == -1 {
		err = e1
	}
	return
}

// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT

func stat(path string, edir []byte) (n int, err error) {
	var _p0 *byte
	_p0, err = BytePtrFromString(path)
	if err != nil {
		return
	}
	var _p1 unsafe.Pointer
	if len(edir) > 0 {
		_p1 = unsafe.Pointer(&edir[0])
	} else {
		_p1 = unsafe.Pointer(&_zero)
	}
	r0, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(edir)))
	n = int(r0)
	if int32(r0) == -1 {
		err = e1
	}
	return
}

// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT

func bind(name string, old string, flag int) (err error) {
	var _p0 *byte
	_p0, err = BytePtrFromString(name)
	if err != nil {
		return
	}
	var _p1 *byte
	_p1, err = BytePtrFromString(old)
	if err != nil {
		return
	}
	r0, _, e1 := Syscall(SYS_BIND, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(flag))
	if int32(r0) == -1 {
		err = e1
	}
	return
}

// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT

func mount(fd int, afd int, old string, flag int, aname string) (err error) {
	var _p0 *byte
	_p0, err = BytePtrFromString(old)
	if err != nil {
		return
	}
	var _p1 *byte
	_p1, err = BytePtrFromString(aname)
	if err != nil {
		return
	}
	r0, _, e1 := Syscall6(SYS_MOUNT, uintptr(fd), uintptr(afd), uintptr(unsafe.Pointer(_p0)), uintptr(flag), uintptr(unsafe.Pointer(_p1)), 0)
	if int32(r0) == -1 {
		err = e1
	}
	return
}

// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT

func wstat(path string, edir []byte) (err error) {
	var _p0 *byte
	_p0, err = BytePtrFromString(path)
	if err != nil {
		return
	}
	var _p1 unsafe.Pointer
	if len(edir) > 0 {
		_p1 = unsafe.Pointer(&edir[0])
	} else {
		_p1 = unsafe.Pointer(&_zero)
	}
	r0, _, e1 := Syscall(SYS_WSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(edir)))
	if int32(r0) == -1 {
		err = e1
	}
	return
}

// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT

func chdir(path string) (err error) {
	var _p0 *byte
	_p0, err = BytePtrFromString(path)
	if err != nil {
		return
	}
	r0, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)
	if int32(r0) == -1 {
		err = e1
	}
	return
}

// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT

func Dup(oldfd int, newfd int) (fd int, err error) {
	r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), uintptr(newfd), 0)
	fd = int(r0)
	if int32(r0) == -1 {
		err = e1
	}
	return
}

// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT

func Pread(fd int, p []byte, offset int64) (n int, err error) {
	var _p0 unsafe.Pointer
	if len(p) > 0 {
		_p0 = unsafe.Pointer(&p[0])
	} else {
		_p0 = unsafe.Pointer(&_zero)
	}
	r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0)
	n = int(r0)
	if int32(r0) == -1 {
		err = e1
	}
	return
}

// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT

func Pwrite(fd int, p []byte, offset int64) (n int, err error) {
	var _p0 unsafe.Pointer
	if len(p) > 0 {
		_p0 = unsafe.Pointer(&p[0])
	} else {
		_p0 = unsafe.Pointer(&_zero)
	}
	r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0)
	n = int(r0)
	if int32(r0) == -1 {
		err = e1
	}
	return
}

// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT

func Close(fd int) (err error) {
	r0, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0)
	if int32(r0) == -1 {
		err = e1
	}
	return
}

// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT

func Fstat(fd int, edir []byte) (n int, err error) {
	var _p0 unsafe.Pointer
	if len(edir) > 0 {
		_p0 = unsafe.Pointer(&edir[0])
	} else {
		_p0 = unsafe.Pointer(&_zero)
	}
	r0, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(_p0), uintptr(len(edir)))
	n = int(r0)
	if int32(r0) == -1 {
		err = e1
	}
	return
}

// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT

func Fwstat(fd int, edir []byte) (err error) {
	var _p0 unsafe.Pointer
	if len(edir) > 0 {
		_p0 = unsafe.Pointer(&edir[0])
	} else {
		_p0 = unsafe.Pointer(&_zero)
	}
	r0, _, e1 := Syscall(SYS_FWSTAT, uintptr(fd), uintptr(_p0), uintptr(len(edir)))
	if int32(r0) == -1 {
		err = e1
	}
	return
}


================================================
FILE: vendor/golang.org/x/sys/plan9/zsysnum_plan9.go
================================================
// mksysnum_plan9.sh /opt/plan9/sys/src/libc/9syscall/sys.h
// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT

package plan9

const (
	SYS_SYSR1       = 0
	SYS_BIND        = 2
	SYS_CHDIR       = 3
	SYS_CLOSE       = 4
	SYS_DUP         = 5
	SYS_ALARM       = 6
	SYS_EXEC        = 7
	SYS_EXITS       = 8
	SYS_FAUTH       = 10
	SYS_SEGBRK      = 12
	SYS_OPEN        = 14
	SYS_OSEEK       = 16
	SYS_SLEEP       = 17
	SYS_RFORK       = 19
	SYS_PIPE        = 21
	SYS_CREATE      = 22
	SYS_FD2PATH     = 23
	SYS_BRK_        = 24
	SYS_REMOVE      = 25
	SYS_NOTIFY      = 28
	SYS_NOTED       = 29
	SYS_SEGATTACH   = 30
	SYS_SEGDETACH   = 31
	SYS_SEGFREE     = 32
	SYS_SEGFLUSH    = 33
	SYS_RENDEZVOUS  = 34
	SYS_UNMOUNT     = 35
	SYS_SEMACQUIRE  = 37
	SYS_SEMRELEASE  = 38
	SYS_SEEK        = 39
	SYS_FVERSION    = 40
	SYS_ERRSTR      = 41
	SYS_STAT        = 42
	SYS_FSTAT       = 43
	SYS_WSTAT       = 44
	SYS_FWSTAT      = 45
	SYS_MOUNT       = 46
	SYS_AWAIT       = 47
	SYS_PREAD       = 50
	SYS_PWRITE      = 51
	SYS_TSEMACQUIRE = 52
	SYS_NSEC        = 53
)


================================================
FILE: vendor/golang.org/x/sys/unix/.gitignore
================================================
_obj/
unix.test


================================================
FILE: vendor/golang.org/x/sys/unix/README.md
================================================
# Building `sys/unix`

The sys/unix package provides access to the raw system call interface of the
underlying operating system. See: https://godoc.org/golang.org/x/sys/unix

Porting Go to a new architecture/OS combination or adding syscalls, types, or
constants to an existing architecture/OS pair requires some manual effort;
however, there are tools that automate much of the process.

## Build Systems

There are currently two ways we generate the necessary files. We are currently
migrating the build system to use containers so the builds are reproducible.
This is being done on an OS-by-OS basis. Please update this documentation as
components of the build system change.

### Old Build System (currently for `GOOS != "linux"`)

The old build system generates the Go files based on the C header files
present on your system. This means that files
for a given GOOS/GOARCH pair must be generated on a system with that OS and
architecture. This also means that the generated code can differ from system
to system, based on differences in the header files.

To avoid this, if you are using the old build system, only generate the Go
files on an installation with unmodified header files. It is also important to
keep track of which version of the OS the files were generated from (ex.
Darwin 14 vs Darwin 15). This makes it easier to track the progress of changes
and have each OS upgrade correspond to a single change.

To build the files for your current OS and architecture, make sure GOOS and
GOARCH are set correctly and run `mkall.sh`. This will generate the files for
your specific system. Running `mkall.sh -n` shows the commands that will be run.

Requirements: bash, go

### New Build System (currently for `GOOS == "linux"`)

The new build system uses a Docker container to generate the go files directly
from source checkouts of the kernel and various system libraries. This means
that on any platform that supports Docker, all the files using the new build
system can be generated at once, and generated files will not change based on
what the person running the scripts has installed on their computer.

The OS specific files for the new build system are located in the `${GOOS}`
directory, and the build is coordinated by the `${GOOS}/mkall.go` program. When
the kernel or system library updates, modify the Dockerfile at
`${GOOS}/Dockerfile` to checkout the new release of the source.

To build all the files under the new build system, you must be on an amd64/Linux
system and have your GOOS and GOARCH set accordingly. Running `mkall.sh` will
then generate all of the files for all of the GOOS/GOARCH pairs in the new build
system. Running `mkall.sh -n` shows the commands that will be run.

Requirements: bash, go, docker

## Component files

This section describes the various files used in the code generation process.
It also contains instructions on how to modify these files to add a new
architecture/OS or to add additional syscalls, types, or constants. Note that
if you are using the new build system, the scripts/programs cannot be called normally.
They must be called from within the docker container.

### asm files

The hand-written assembly file at `asm_${GOOS}_${GOARCH}.s` implements system
call dispatch. There are three entry points:
```
  func Syscall(trap, a1, a2, a3 uintptr) (r1, r2, err uintptr)
  func Syscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2, err uintptr)
  func RawSyscall(trap, a1, a2, a3 uintptr) (r1, r2, err uintptr)
```
The first and second are the standard ones; they differ only in how many
arguments can be passed to the kernel. The third is for low-level use by the
ForkExec wrapper. Unlike the first two, it does not call into the scheduler to
let it know that a system call is running.

When porting Go to a new architecture/OS, this file must be implemented for
each GOOS/GOARCH pair.

### mksysnum

Mksysnum is a Go program located at `${GOOS}/mksysnum.go` (or `mksysnum_${GOOS}.go`
for the old system). This program takes in a list of header files containing the
syscall number declarations and parses them to produce the corresponding list of
Go numeric constants. See `zsysnum_${GOOS}_${GOARCH}.go` for the generated
constants.

Adding new syscall numbers is mostly done by running the build on a sufficiently
new installation of the target OS (or updating the source checkouts for the
new build system). However, depending on the OS, you may need to update the
parsing in mksysnum.

### mksyscall.go

The `syscall.go`, `syscall_${GOOS}.go`, `syscall_${GOOS}_${GOARCH}.go` are
hand-written Go files which implement system calls (for unix, the specific OS,
or the specific OS/Architecture pair respectively) that need special handling
and list `//sys` comments giving prototypes for ones that can be generated.

The mksyscall.go program takes the `//sys` and `//sysnb` comments and converts
them into syscalls. This requires the name of the prototype in the comment to
match a syscall number in the `zsysnum_${GOOS}_${GOARCH}.go` file. The function
prototype can be exported (capitalized) or not.

Adding a new syscall often just requires adding a new `//sys` function prototype
with the desired arguments and a capitalized name so it is exported. However, if
you want the interface to the syscall to be different, often one will make an
unexported `//sys` prototype, and then write a custom wrapper in
`syscall_${GOOS}.go`.

### types files

For each OS, there is a hand-written Go file at `${GOOS}/types.go` (or
`types_${GOOS}.go` on the old system). This file includes standard C headers and
creates Go type aliases to the corresponding C types. The file is then fed
through godef to get the Go compatible definitions. Finally, the generated code
is fed though mkpost.go to format the code correctly and remove any hidden or
private identifiers. This cleaned-up code is written to
`ztypes_${GOOS}_${GOARCH}.go`.

The hardest part about preparing this file is figuring out which headers to
include and which symbols need to be `#define`d to get the actual data
structures that pass through to the kernel system calls. Some C libraries
preset alternate versions for binary compatibility and translate them on the
way in and out of system calls, but there is almost always a `#define` that can
get the real ones.
See `types_darwin.go` and `linux/types.go` for examples.

To add a new type, add in the necessary include statement at the top of the
file (if it is not already there) and add in a type alias line. Note that if
your type is significantly different on different architectures, you may need
some `#if/#elif` macros in your include statements.

### mkerrors.sh

This script is used to generate the system's various constants. This doesn't
just include the error numbers and error strings, but also the signal numbers
and a wide variety of miscellaneous constants. The constants come from the list
of include files in the `includes_${uname}` variable. A regex then picks out
the desired `#define` statements, and generates the corresponding Go constants.
The error numbers and strings are generated from `#include <errno.h>`, and the
signal numbers and strings are generated from `#include <signal.h>`. All of
these constants are written to `zerrors_${GOOS}_${GOARCH}.go` via a C program,
`_errors.c`, which prints out all the constants.

To add a constant, add the header that includes it to the appropriate variable.
Then, edit the regex (if necessary) to match the desired constant. Avoid making
the regex too broad to avoid matching unintended constants.

### internal/mkmerge

This program is used to extract duplicate const, func, and type declarations
from the generated architecture-specific files listed below, and merge these
into a common file for each OS.

The merge is performed in the following steps:
1. Construct the set of common code that is identical in all architecture-specific files.
2. Write this common code to the merged file.
3. Remove the common code from all architecture-specific files.


## Generated files

### `zerrors_${GOOS}_${GOARCH}.go`

A file containing all of the system's generated error numbers, error strings,
signal numbers, and constants. Generated by `mkerrors.sh` (see above).

### `zsyscall_${GOOS}_${GOARCH}.go`

A file containing all the generated syscalls for a specific GOOS and GOARCH.
Generated by `mksyscall.go` (see above).

### `zsysnum_${GOOS}_${GOARCH}.go`

A list of numeric constants for all the syscall number of the specific GOOS
and GOARCH. Generated by mksysnum (see above).

### `ztypes_${GOOS}_${GOARCH}.go`

A file containing Go types for passing into (or returning from) syscalls.
Generated by godefs and the types file (see above).


================================================
FILE: vendor/golang.org/x/sys/unix/affinity_linux.go
================================================
// Copyright 2018 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

// CPU affinity functions

package unix

import (
	"math/bits"
	"unsafe"
)

const cpuSetSize = _CPU_SETSIZE / _NCPUBITS

// CPUSet represents a CPU affinity mask.
type CPUSet [cpuSetSize]cpuMask

func schedAffinity(trap uintptr, pid int, set *CPUSet) error {
	_, _, e := RawSyscall(trap, uintptr(pid), uintptr(unsafe.Sizeof(*set)), uintptr(unsafe.Pointer(set)))
	if e != 0 {
		return errnoErr(e)
	}
	return nil
}

// SchedGetaffinity gets the CPU affinity mask of the thread specified by pid.
// If pid is 0 the calling thread is used.
func SchedGetaffinity(pid int, set *CPUSet) error {
	return schedAffinity(SYS_SCHED_GETAFFINITY, pid, set)
}

// SchedSetaffinity sets the CPU affinity mask of the thread specified by pid.
// If pid is 0 the calling thread is used.
func SchedSetaffinity(pid int, set *CPUSet) error {
	return schedAffinity(SYS_SCHED_SETAFFINITY, pid, set)
}

// Zero clears the set s, so that it contains no CPUs.
func (s *CPUSet) Zero() {
	for i := range s {
		s[i] = 0
	}
}

func cpuBitsIndex(cpu int) int {
	return cpu / _NCPUBITS
}

func cpuBitsMask(cpu int) cpuMask {
	return cpuMask(1 << (uint(cpu) % _NCPUBITS))
}

// Set adds cpu to the set s.
func (s *CPUSet) Set(cpu int) {
	i := cpuBitsIndex(cpu)
	if i < len(s) {
		s[i] |= cpuBitsMask(cpu)
	}
}

// Clear removes cpu from the set s.
func (s *CPUSet) Clear(cpu int) {
	i := cpuBitsIndex(cpu)
	if i < len(s) {
		s[i] &^= cpuBitsMask(cpu)
	}
}

// IsSet reports whether cpu is in the set s.
func (s *CPUSet) IsSet(cpu int) bool {
	i := cpuBitsIndex(cpu)
	if i < len(s) {
		return s[i]&cpuBitsMask(cpu) != 0
	}
	return false
}

// Count returns the number of CPUs in the set s.
func (s *CPUSet) Count() int {
	c := 0
	for _, b := range s {
		c += bits.OnesCount64(uint64(b))
	}
	return c
}


================================================
FILE: vendor/golang.org/x/sys/unix/aliases.go
================================================
// Copyright 2018 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

//go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos

package unix

import "syscall"

type Signal = syscall.Signal
type Errno = syscall.Errno
type SysProcAttr = syscall.SysProcAttr


================================================
FILE: vendor/golang.org/x/sys/unix/asm_aix_ppc64.s
================================================
// Copyright 2018 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

//go:build gc

#include "textflag.h"

//
// System calls for ppc64, AIX are implemented in runtime/syscall_aix.go
//

TEXT ·syscall6(SB),NOSPLIT,$0-88
	JMP	syscall·syscall6(SB)

TEXT ·rawSyscall6(SB),NOSPLIT,$0-88
	JMP	syscall·rawSyscall6(SB)


================================================
FILE: vendor/golang.org/x/sys/unix/asm_bsd_386.s
================================================
// Copyright 2021 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

//go:build (freebsd || netbsd || openbsd) && gc

#include "textflag.h"

// System call support for 386 BSD

// Just jump to package syscall's implementation for all these functions.
// The runtime may know about them.

TEXT	·Syscall(SB),NOSPLIT,$0-28
	JMP	syscall·Syscall(SB)

TEXT	·Syscall6(SB),NOSPLIT,$0-40
	JMP	syscall·Syscall6(SB)

TEXT	·Syscall9(SB),NOSPLIT,$0-52
	JMP	syscall·Syscall9(SB)

TEXT	·RawSyscall(SB),NOSPLIT,$0-28
	JMP	syscall·RawSyscall(SB)

TEXT	·RawSyscall6(SB),NOSPLIT,$0-40
	JMP	syscall·RawSyscall6(SB)


================================================
FILE: vendor/golang.org/x/sys/unix/asm_bsd_amd64.s
================================================
// Copyright 2021 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

//go:build (darwin || dragonfly || freebsd || netbsd || openbsd) && gc

#include "textflag.h"

// System call support for AMD64 BSD

// Just jump to package syscall's implementation for all these functions.
// The runtime may know about them.

TEXT	·Syscall(SB),NOSPLIT,$0-56
	JMP	syscall·Syscall(SB)

TEXT	·Syscall6(SB),NOSPLIT,$0-80
	JMP	syscall·Syscall6(SB)

TEXT	·Syscall9(SB),NOSPLIT,$0-104
	JMP	syscall·Syscall9(SB)

TEXT	·RawSyscall(SB),NOSPLIT,$0-56
	JMP	syscall·RawSyscall(SB)

TEXT	·RawSyscall6(SB),NOSPLIT,$0-80
	JMP	syscall·RawSyscall6(SB)


================================================
FILE: vendor/golang.org/x/sys/unix/asm_bsd_arm.s
================================================
// Copyright 2021 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

//go:build (freebsd || netbsd || openbsd) && gc

#include "textflag.h"

// System call support for ARM BSD

// Just jump to package syscall's implementation for all these functions.
// The runtime may know about them.

TEXT	·Syscall(SB),NOSPLIT,$0-28
	B	syscall·Syscall(SB)

TEXT	·Syscall6(SB),NOSPLIT,$0-40
	B	syscall·Syscall6(SB)

TEXT	·Syscall9(SB),NOSPLIT,$0-52
	B	syscall·Syscall9(SB)

TEXT	·RawSyscall(SB),NOSPLIT,$0-28
	B	syscall·RawSyscall(SB)

TEXT	·RawSyscall6(SB),NOSPLIT,$0-40
	B	syscall·RawSyscall6(SB)


================================================
FILE: vendor/golang.org/x/sys/unix/asm_bsd_arm64.s
================================================
// Copyright 2021 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

//go:build (darwin || freebsd || netbsd || openbsd) && gc

#include "textflag.h"

// System call support for ARM64 BSD

// Just jump to package syscall's implementation for all these functions.
// The runtime may know about them.

TEXT	·Syscall(SB),NOSPLIT,$0-56
	JMP	syscall·Syscall(SB)

TEXT	·Syscall6(SB),NOSPLIT,$0-80
	JMP	syscall·Syscall6(SB)

TEXT	·Syscall9(SB),NOSPLIT,$0-104
	JMP	syscall·Syscall9(SB)

TEXT	·RawSyscall(SB),NOSPLIT,$0-56
	JMP	syscall·RawSyscall(SB)

TEXT	·RawSyscall6(SB),NOSPLIT,$0-80
	JMP	syscall·RawSyscall6(SB)


================================================
FILE: vendor/golang.org/x/sys/unix/asm_bsd_ppc64.s
================================================
// Copyright 2022 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

//go:build (darwin || freebsd || netbsd || openbsd) && gc

#include "textflag.h"

//
// System call support for ppc64, BSD
//

// Just jump to package syscall's implementation for all these functions.
// The runtime may know about them.

TEXT	·Syscall(SB),NOSPLIT,$0-56
	JMP	syscall·Syscall(SB)

TEXT	·Syscall6(SB),NOSPLIT,$0-80
	JMP	syscall·Syscall6(SB)

TEXT	·Syscall9(SB),NOSPLIT,$0-104
	JMP	syscall·Syscall9(SB)

TEXT	·RawSyscall(SB),NOSPLIT,$0-56
	JMP	syscall·RawSyscall(SB)

TEXT	·RawSyscall6(SB),NOSPLIT,$0-80
	JMP	syscall·RawSyscall6(SB)


================================================
FILE: vendor/golang.org/x/sys/unix/asm_bsd_riscv64.s
================================================
// Copyright 2021 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

//go:build (darwin || freebsd || netbsd || openbsd) && gc

#include "textflag.h"

// System call support for RISCV64 BSD

// Just jump to package syscall's implementation for all these functions.
// The runtime may know about them.

TEXT	·Syscall(SB),NOSPLIT,$0-56
	JMP	syscall·Syscall(SB)

TEXT	·Syscall6(SB),NOSPLIT,$0-80
	JMP	syscall·Syscall6(SB)

TEXT	·Syscall9(SB),NOSPLIT,$0-104
	JMP	syscall·Syscall9(SB)

TEXT	·RawSyscall(SB),NOSPLIT,$0-56
	JMP	syscall·RawSyscall(SB)

TEXT	·RawSyscall6(SB),NOSPLIT,$0-80
	JMP	syscall·RawSyscall6(SB)


================================================
FILE: vendor/golang.org/x/sys/unix/asm_linux_386.s
================================================
// Copyright 2009 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

//go:build gc

#include "textflag.h"

//
// System calls for 386, Linux
//

// See ../runtime/sys_linux_386.s for the reason why we always use int 0x80
// instead of the glibc-specific "CALL 0x10(GS)".
#define INVOKE_SYSCALL	INT	$0x80

// Just jump to package syscall's implementation for all these functions.
// The runtime may know about them.

TEXT ·Syscall(SB),NOSPLIT,$0-28
	JMP	syscall·Syscall(SB)

TEXT ·Syscall6(SB),NOSPLIT,$0-40
	JMP	syscall·Syscall6(SB)

TEXT ·SyscallNoError(SB),NOSPLIT,$0-24
	CALL	runtime·entersyscall(SB)
	MOVL	trap+0(FP), AX  // syscall entry
	MOVL	a1+4(FP), BX
	MOVL	a2+8(FP), CX
	MOVL	a3+12(FP), DX
	MOVL	$0, SI
	MOVL	$0, DI
	INVOKE_SYSCALL
	MOVL	AX, r1+16(FP)
	MOVL	DX, r2+20(FP)
	CALL	runtime·exitsyscall(SB)
	RET

TEXT ·RawSyscall(SB),NOSPLIT,$0-28
	JMP	syscall·RawSyscall(SB)

TEXT ·RawSyscall6(SB),NOSPLIT,$0-40
	JMP	syscall·RawSyscall6(SB)

TEXT ·RawSyscallNoError(SB),NOSPLIT,$0-24
	MOVL	trap+0(FP), AX  // syscall entry
	MOVL	a1+4(FP), BX
	MOVL	a2+8(FP), CX
	MOVL	a3+12(FP), DX
	MOVL	$0, SI
	MOVL	$0, DI
	INVOKE_SYSCALL
	MOVL	AX, r1+16(FP)
	MOVL	DX, r2+20(FP)
	RET

TEXT ·socketcall(SB),NOSPLIT,$0-36
	JMP	syscall·socketcall(SB)

TEXT ·rawsocketcall(SB),NOSPLIT,$0-36
	JMP	syscall·rawsocketcall(SB)

TEXT ·seek(SB),NOSPLIT,$0-28
	JMP	syscall·seek(SB)


================================================
FILE: vendor/golang.org/x/sys/unix/asm_linux_amd64.s
================================================
// Copyright 2009 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

//go:build gc

#include "textflag.h"

//
// System calls for AMD64, Linux
//

// Just jump to package syscall's implementation for all these functions.
// The runtime may know about them.

TEXT ·Syscall(SB),NOSPLIT,$0-56
	JMP	syscall·Syscall(SB)

TEXT ·Syscall6(SB),NOSPLIT,$0-80
	JMP	syscall·Syscall6(SB)

TEXT ·SyscallNoError(SB),NOSPLIT,$0-48
	CALL	runtime·entersyscall(SB)
	MOVQ	a1+8(FP), DI
	MOVQ	a2+16(FP), SI
	MOVQ	a3+24(FP), DX
	MOVQ	$0, R10
	MOVQ	$0, R8
	MOVQ	$0, R9
	MOVQ	trap+0(FP), AX	// syscall entry
	SYSCALL
	MOVQ	AX, r1+32(FP)
	MOVQ	DX, r2+40(FP)
	CALL	runtime·exitsyscall(SB)
	RET

TEXT ·RawSyscall(SB),NOSPLIT,$0-56
	JMP	syscall·RawSyscall(SB)

TEXT ·RawSyscall6(SB),NOSPLIT,$0-80
	JMP	syscall·RawSyscall6(SB)

TEXT ·RawSyscallNoError(SB),NOSPLIT,$0-48
	MOVQ	a1+8(FP), DI
	MOVQ	a2+16(FP), SI
	MOVQ	a3+24(FP), DX
	MOVQ	$0, R10
	MOVQ	$0, R8
	MOVQ	$0, R9
	MOVQ	trap+0(FP), AX	// syscall entry
	SYSCALL
	MOVQ	AX, r1+32(FP)
	MOVQ	DX, r2+40(FP)
	RET

TEXT ·gettimeofday(SB),NOSPLIT,$0-16
	JMP	syscall·gettimeofday(SB)


================================================
FILE: vendor/golang.org/x/sys/unix/asm_linux_arm.s
================================================
// Copyright 2009 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

//go:build gc

#include "textflag.h"

//
// System calls for arm, Linux
//

// Just jump to package syscall's implementation for all these functions.
// The runtime may know about them.

TEXT ·Syscall(SB),NOSPLIT,$0-28
	B	syscall·Syscall(SB)

TEXT ·Syscall6(SB),NOSPLIT,$0-40
	B	syscall·Syscall6(SB)

TEXT ·SyscallNoError(SB),NOSPLIT,$0-24
	BL	runtime·entersyscall(SB)
	MOVW	trap+0(FP), R7
	MOVW	a1+4(FP), R0
	MOVW	a2+8(FP), R1
	MOVW	a3+12(FP), R2
	MOVW	$0, R3
	MOVW	$0, R4
	MOVW	$0, R5
	SWI	$0
	MOVW	R0, r1+16(FP)
	MOVW	$0, R0
	MOVW	R0, r2+20(FP)
	BL	runtime·exitsyscall(SB)
	RET

TEXT ·RawSyscall(SB),NOSPLIT,$0-28
	B	syscall·RawSyscall(SB)

TEXT ·RawSyscall6(SB),NOSPLIT,$0-40
	B	syscall·RawSyscall6(SB)

TEXT ·RawSyscallNoError(SB),NOSPLIT,$0-24
	MOVW	trap+0(FP), R7	// syscall entry
	MOVW	a1+4(FP), R0
	MOVW	a2+8(FP), R1
	MOVW	a3+12(FP), R2
	SWI	$0
	MOVW	R0, r1+16(FP)
	MOVW	$0, R0
	MOVW	R0, r2+20(FP)
	RET

TEXT ·seek(SB),NOSPLIT,$0-28
	B	syscall·seek(SB)


================================================
FILE: vendor/golang.org/x/sys/unix/asm_linux_arm64.s
================================================
// Copyright 2015 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

//go:build linux && arm64 && gc

#include "textflag.h"

// Just jump to package syscall's implementation for all these functions.
// The runtime may know about them.

TEXT ·Syscall(SB),NOSPLIT,$0-56
	B	syscall·Syscall(SB)

TEXT ·Syscall6(SB),NOSPLIT,$0-80
	B	syscall·Syscall6(SB)

TEXT ·SyscallNoError(SB),NOSPLIT,$0-48
	BL	runtime·entersyscall(SB)
	MOVD	a1+8(FP), R0
	MOVD	a2+16(FP), R1
	MOVD	a3+24(FP), R2
	MOVD	$0, R3
	MOVD	$0, R4
	MOVD	$0, R5
	MOVD	trap+0(FP), R8	// syscall entry
	SVC
	MOVD	R0, r1+32(FP)	// r1
	MOVD	R1, r2+40(FP)	// r2
	BL	runtime·exitsyscall(SB)
	RET

TEXT ·RawSyscall(SB),NOSPLIT,$0-56
	B	syscall·RawSyscall(SB)

TEXT ·RawSyscall6(SB),NOSPLIT,$0-80
	B	syscall·RawSyscall6(SB)

TEXT ·RawSyscallNoError(SB),NOSPLIT,$0-48
	MOVD	a1+8(FP), R0
	MOVD	a2+16(FP), R1
	MOVD	a3+24(FP), R2
	MOVD	$0, R3
	MOVD	$0, R4
	MOVD	$0, R5
	MOVD	trap+0(FP), R8	// syscall entry
	SVC
	MOVD	R0, r1+32(FP)
	MOVD	R1, r2+40(FP)
	RET


================================================
FILE: vendor/golang.org/x/sys/unix/asm_linux_loong64.s
================================================
// Copyright 2022 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

//go:build linux && loong64 && gc

#include "textflag.h"


// Just jump to package syscall's implementation for all these functions.
// The runtime may know about them.

TEXT ·Syscall(SB),NOSPLIT,$0-56
	JMP	syscall·Syscall(SB)

TEXT ·Syscall6(SB),NOSPLIT,$0-80
	JMP	syscall·Syscall6(SB)

TEXT ·SyscallNoError(SB),NOSPLIT,$0-48
	JAL	runtime·entersyscall(SB)
	MOVV	a1+8(FP), R4
	MOVV	a2+16(FP), R5
	MOVV	a3+24(FP), R6
	MOVV	R0, R7
	MOVV	R0, R8
	MOVV	R0, R9
	MOVV	trap+0(FP), R11	// syscall entry
	SYSCALL
	MOVV	R4, r1+32(FP)
	MOVV	R0, r2+40(FP)	// r2 is not used. Always set to 0
	JAL	runtime·exitsyscall(SB)
	RET

TEXT ·RawSyscall(SB),NOSPLIT,$0-56
	JMP	syscall·RawSyscall(SB)

TEXT ·RawSyscall6(SB),NOSPLIT,$0-80
	JMP	syscall·RawSyscall6(SB)

TEXT ·RawSyscallNoError(SB),NOSPLIT,$0-48
	MOVV	a1+8(FP), R4
	MOVV	a2+16(FP), R5
	MOVV	a3+24(FP), R6
	MOVV	R0, R7
	MOVV	R0, R8
	MOVV	R0, R9
	MOVV	trap+0(FP), R11	// syscall entry
	SYSCALL
	MOVV	R4, r1+32(FP)
	MOVV	R0, r2+40(FP)	// r2 is not used. Always set to 0
	RET


================================================
FILE: vendor/golang.org/x/sys/unix/asm_linux_mips64x.s
================================================
// Copyright 2015 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

//go:build linux && (mips64 || mips64le) && gc

#include "textflag.h"

//
// System calls for mips64, Linux
//

// Just jump to package syscall's implementation for all these functions.
// The runtime may know about them.

TEXT ·Syscall(SB),NOSPLIT,$0-56
	JMP	syscall·Syscall(SB)

TEXT ·Syscall6(SB),NOSPLIT,$0-80
	JMP	syscall·Syscall6(SB)

TEXT ·SyscallNoError(SB),NOSPLIT,$0-48
	JAL	runtime·entersyscall(SB)
	MOVV	a1+8(FP), R4
	MOVV	a2+16(FP), R5
	MOVV	a3+24(FP), R6
	MOVV	R0, R7
	MOVV	R0, R8
	MOVV	R0, R9
	MOVV	trap+0(FP), R2	// syscall entry
	SYSCALL
	MOVV	R2, r1+32(FP)
	MOVV	R3, r2+40(FP)
	JAL	runtime·exitsyscall(SB)
	RET

TEXT ·RawSyscall(SB),NOSPLIT,$0-56
	JMP	syscall·RawSyscall(SB)

TEXT ·RawSyscall6(SB),NOSPLIT,$0-80
	JMP	syscall·RawSyscall6(SB)

TEXT ·RawSyscallNoError(SB),NOSPLIT,$0-48
	MOVV	a1+8(FP), R4
	MOVV	a2+16(FP), R5
	MOVV	a3+24(FP), R6
	MOVV	R0, R7
	MOVV	R0, R8
	MOVV	R0, R9
	MOVV	trap+0(FP), R2	// syscall entry
	SYSCALL
	MOVV	R2, r1+32(FP)
	MOVV	R3, r2+40(FP)
	RET


================================================
FILE: vendor/golang.org/x/sys/unix/asm_linux_mipsx.s
================================================
// Copyright 2016 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

//go:build linux && (mips || mipsle) && gc

#include "textflag.h"

//
// System calls for mips, Linux
//

// Just jump to package syscall's implementation for all these functions.
// The runtime may know about them.

TEXT ·Syscall(SB),NOSPLIT,$0-28
	JMP syscall·Syscall(SB)

TEXT ·Syscall6(SB),NOSPLIT,$0-40
	JMP syscall·Syscall6(SB)

TEXT ·Syscall9(SB),NOSPLIT,$0-52
	JMP syscall·Syscall9(SB)

TEXT ·SyscallNoError(SB),NOSPLIT,$0-24
	JAL	runtime·entersyscall(SB)
	MOVW	a1+4(FP), R4
	MOVW	a2+8(FP), R5
	MOVW	a3+12(FP), R6
	MOVW	R0, R7
	MOVW	trap+0(FP), R2	// syscall entry
	SYSCALL
	MOVW	R2, r1+16(FP)	// r1
	MOVW	R3, r2+20(FP)	// r2
	JAL	runtime·exitsyscall(SB)
	RET

TEXT ·RawSyscall(SB),NOSPLIT,$0-28
	JMP syscall·RawSyscall(SB)

TEXT ·RawSyscall6(SB),NOSPLIT,$0-40
	JMP syscall·RawSyscall6(SB)

TEXT ·RawSyscallNoError(SB),NOSPLIT,$0-24
	MOVW	a1+4(FP), R4
	MOVW	a2+8(FP), R5
	MOVW	a3+12(FP), R6
	MOVW	trap+0(FP), R2	// syscall entry
	SYSCALL
	MOVW	R2, r1+16(FP)
	MOVW	R3, r2+20(FP)
	RET


================================================
FILE: vendor/golang.org/x/sys/unix/asm_linux_ppc64x.s
================================================
// Copyright 2014 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

//go:build linux && (ppc64 || ppc64le) && gc

#include "textflag.h"

//
// System calls for ppc64, Linux
//

// Just jump to package syscall's implementation for all these functions.
// The runtime may know about them.

TEXT ·SyscallNoError(SB),NOSPLIT,$0-48
	BL	runtime·entersyscall(SB)
	MOVD	a1+8(FP), R3
	MOVD	a2+16(FP), R4
	MOVD	a3+24(FP), R5
	MOVD	R0, R6
	MOVD	R0, R7
	MOVD	R0, R8
	MOVD	trap+0(FP), R9	// syscall entry
	SYSCALL R9
	MOVD	R3, r1+32(FP)
	MOVD	R4, r2+40(FP)
	BL	runtime·exitsyscall(SB)
	RET

TEXT ·RawSyscallNoError(SB),NOSPLIT,$0-48
	MOVD	a1+8(FP), R3
	MOVD	a2+16(FP), R4
	MOVD	a3+24(FP), R5
	MOVD	R0, R6
	MOVD	R0, R7
	MOVD	R0, R8
	MOVD	trap+0(FP), R9	// syscall entry
	SYSCALL R9
	MOVD	R3, r1+32(FP)
	MOVD	R4, r2+40(FP)
	RET


================================================
FILE: vendor/golang.org/x/sys/unix/asm_linux_riscv64.s
================================================
// Copyright 2019 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

//go:build riscv64 && gc

#include "textflag.h"

//
// System calls for linux/riscv64.
//
// Where available, just jump to package syscall's implementation of
// these functions.

TEXT ·Syscall(SB),NOSPLIT,$0-56
	JMP	syscall·Syscall(SB)

TEXT ·Syscall6(SB),NOSPLIT,$0-80
	JMP	syscall·Syscall6(SB)

TEXT ·SyscallNoError(SB),NOSPLIT,$0-48
	CALL	runtime·entersyscall(SB)
	MOV	a1+8(FP), A0
	MOV	a2+16(FP), A1
	MOV	a3+24(FP), A2
	MOV	trap+0(FP), A7	// syscall entry
	ECALL
	MOV	A0, r1+32(FP)	// r1
	MOV	A1, r2+40(FP)	// r2
	CALL	runtime·exitsyscall(SB)
	RET

TEXT ·RawSyscall(SB),NOSPLIT,$0-56
	JMP	syscall·RawSyscall(SB)

TEXT ·RawSyscall6(SB),NOSPLIT,$0-80
	JMP	syscall·RawSyscall6(SB)

TEXT ·RawSyscallNoError(SB),NOSPLIT,$0-48
	MOV	a1+8(FP), A0
	MOV	a2+16(FP), A1
	MOV	a3+24(FP), A2
	MOV	trap+0(FP), A7	// syscall entry
	ECALL
	MOV	A0, r1+32(FP)
	MOV	A1, r2+40(FP)
	RET


================================================
FILE: vendor/golang.org/x/sys/unix/asm_linux_s390x.s
================================================
// Copyright 2016 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

//go:build linux && s390x && gc

#include "textflag.h"

//
// System calls for s390x, Linux
//

// Just jump to package syscall's implementation for all these functions.
// The runtime may know about them.

TEXT ·Syscall(SB),NOSPLIT,$0-56
	BR	syscall·Syscall(SB)

TEXT ·Syscall6(SB),NOSPLIT,$0-80
	BR	syscall·Syscall6(SB)

TEXT ·SyscallNoError(SB),NOSPLIT,$0-48
	BL	runtime·entersyscall(SB)
	MOVD	a1+8(FP), R2
	MOVD	a2+16(FP), R3
	MOVD	a3+24(FP), R4
	MOVD	$0, R5
	MOVD	$0, R6
	MOVD	$0, R7
	MOVD	trap+0(FP), R1	// syscall entry
	SYSCALL
	MOVD	R2, r1+32(FP)
	MOVD	R3, r2+40(FP)
	BL	runtime·exitsyscall(SB)
	RET

TEXT ·RawSyscall(SB),NOSPLIT,$0-56
	BR	syscall·RawSyscall(SB)

TEXT ·RawSyscall6(SB),NOSPLIT,$0-80
	BR	syscall·RawSyscall6(SB)

TEXT ·RawSyscallNoError(SB),NOSPLIT,$0-48
	MOVD	a1+8(FP), R2
	MOVD	a2+16(FP), R3
	MOVD	a3+24(FP), R4
	MOVD	$0, R5
	MOVD	$0, R6
	MOVD	$0, R7
	MOVD	trap+0(FP), R1	// syscall entry
	SYSCALL
	MOVD	R2, r1+32(FP)
	MOVD	R3, r2+40(FP)
	RET


================================================
FILE: vendor/golang.org/x/sys/unix/asm_openbsd_mips64.s
================================================
// Copyright 2019 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

//go:build gc

#include "textflag.h"

//
// System call support for mips64, OpenBSD
//

// Just jump to package syscall's implementation for all these functions.
// The runtime may know about them.

TEXT	·Syscall(SB),NOSPLIT,$0-56
	JMP	syscall·Syscall(SB)

TEXT	·Syscall6(SB),NOSPLIT,$0-80
	JMP	syscall·Syscall6(SB)

TEXT	·Syscall9(SB),NOSPLIT,$0-104
	JMP	syscall·Syscall9(SB)

TEXT	·RawSyscall(SB),NOSPLIT,$0-56
	JMP	syscall·RawSyscall(SB)

TEXT	·RawSyscall6(SB),NOSPLIT,$0-80
	JMP	syscall·RawSyscall6(SB)


================================================
FILE: vendor/golang.org/x/sys/unix/asm_solaris_amd64.s
================================================
// Copyright 2014 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

//go:build gc

#include "textflag.h"

//
// System calls for amd64, Solaris are implemented in runtime/syscall_solaris.go
//

TEXT ·sysvicall6(SB),NOSPLIT,$0-88
	JMP	syscall·sysvicall6(SB)

TEXT ·rawSysvicall6(SB),NOSPLIT,$0-88
	JMP	syscall·rawSysvicall6(SB)


================================================
FILE: vendor/golang.org/x/sys/unix/asm_zos_s390x.s
================================================
// Copyright 2020 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

//go:build zos && s390x && gc

#include "textflag.h"

#define PSALAA            1208(R0)
#define GTAB64(x)           80(x)
#define LCA64(x)            88(x)
#define SAVSTACK_ASYNC(x)  336(x) // in the LCA
#define CAA(x)               8(x)
#define CEECAATHDID(x)     976(x) // in the CAA
#define EDCHPXV(x)        1016(x) // in the CAA
#define GOCB(x)           1104(x) // in the CAA

// SS_*, where x=SAVSTACK_ASYNC
#define SS_LE(x)             0(x)
#define SS_GO(x)             8(x)
#define SS_ERRNO(x)         16(x)
#define SS_ERRNOJR(x)       20(x)

// Function Descriptor Offsets
#define __errno  0x156*16
#define __err2ad 0x16C*16

// Call Instructions
#define LE_CALL    BYTE $0x0D; BYTE $0x76 // BL R7, R6
#define SVC_LOAD   BYTE $0x0A; BYTE $0x08 // SVC 08 LOAD
#define SVC_DELETE BYTE $0x0A; BYTE $0x09 // SVC 09 DELETE

DATA zosLibVec<>(SB)/8, $0
GLOBL zosLibVec<>(SB), NOPTR, $8

TEXT ·initZosLibVec(SB), NOSPLIT|NOFRAME, $0-0
	MOVW PSALAA, R8
	MOVD LCA64(R8), R8
	MOVD CAA(R8), R8
	MOVD EDCHPXV(R8), R8
	MOVD R8, zosLibVec<>(SB)
	RET

TEXT ·GetZosLibVec(SB), NOSPLIT|NOFRAME, $0-0
	MOVD zosLibVec<>(SB), R8
	MOVD R8, ret+0(FP)
	RET

TEXT ·clearErrno(SB), NOSPLIT, $0-0
	BL   addrerrno<>(SB)
	MOVD $0, 0(R3)
	RET

// Returns the address of errno in R3.
TEXT addrerrno<>(SB), NOSPLIT|NOFRAME, $0-0
	// Get library control area (LCA).
	MOVW PSALAA, R8
	MOVD LCA64(R8), R8

	// Get __errno FuncDesc.
	MOVD CAA(R8), R9
	MOVD EDCHPXV(R9), R9
	ADD  $(__errno), R9
	LMG  0(R9), R5, R6

	// Switch to saved LE stack.
	MOVD SAVSTACK_ASYNC(R8), R9
	MOVD 0(R9), R4
	MOVD $0, 0(R9)

	// Call __errno function.
	LE_CALL
	NOPH

	// Switch back to Go stack.
	XOR  R0, R0    // Restore R0 to $0.
	MOVD R4, 0(R9) // Save stack pointer.
	RET

// func svcCall(fnptr unsafe.Pointer, argv *unsafe.Pointer, dsa *uint64)
TEXT ·svcCall(SB), NOSPLIT, $0
	BL   runtime·save_g(SB)     // Save g and stack pointer
	MOVW PSALAA, R8
	MOVD LCA64(R8), R8
	MOVD SAVSTACK_ASYNC(R8), R9
	MOVD R15, 0(R9)

	MOVD argv+8(FP), R1   // Move function arguments into registers
	MOVD dsa+16(FP), g
	MOVD fnptr+0(FP), R15

	BYTE $0x0D // Branch to function
	BYTE $0xEF

	BL   runtime·load_g(SB)     // Restore g and stack pointer
	MOVW PSALAA, R8
	MOVD LCA64(R8), R8
	MOVD SAVSTACK_ASYNC(R8), R9
	MOVD 0(R9), R15

	RET

// func svcLoad(name *byte) unsafe.Pointer
TEXT ·svcLoad(SB), NOSPLIT, $0
	MOVD R15, R2         // Save go stack pointer
	MOVD name+0(FP), R0  // Move SVC args into registers
	MOVD $0x80000000, R1
	MOVD $0, R15
	SVC_LOAD
	MOVW R15, R3         // Save return code from SVC
	MOVD R2, R15         // Restore go stack pointer
	CMP  R3, $0          // Check SVC return code
	BNE  error

	MOVD $-2, R3       // Reset last bit of entry point to zero
	AND  R0, R3
	MOVD R3, ret+8(FP) // Return entry point returned by SVC
	CMP  R0, R3        // Check if last bit of entry point was set
	BNE  done

	MOVD R15, R2 // Save go stack pointer
	MOVD $0, R15 // Move SVC args into registers (entry point still in r0 from SVC 08)
	SVC_DELETE
	MOVD R2, R15 // Restore go stack pointer

error:
	MOVD $0, ret+8(FP) // Return 0 on failure

done:
	XOR R0, R0 // Reset r0 to 0
	RET

// func svcUnload(name *byte, fnptr unsafe.Pointer) int64
TEXT ·svcUnload(SB), NOSPLIT, $0
	MOVD R15, R2          // Save go stack pointer
	MOVD name+0(FP), R0   // Move SVC args into registers
	MOVD fnptr+8(FP), R15
	SVC_DELETE
	XOR  R0, R0           // Reset r0 to 0
	MOVD R15, R1          // Save SVC return code
	MOVD R2, R15          // Restore go stack pointer
	MOVD R1, ret+16(FP)   // Return SVC return code
	RET

// func gettid() uint64
TEXT ·gettid(SB), NOSPLIT, $0
	// Get library control area (LCA).
	MOVW PSALAA, R8
	MOVD LCA64(R8), R8

	// Get CEECAATHDID
	MOVD CAA(R8), R9
	MOVD CEECAATHDID(R9), R9
	MOVD R9, ret+0(FP)

	RET

//
// Call LE function, if the return is -1
// errno and errno2 is retrieved
//
TEXT ·CallLeFuncWithErr(SB), NOSPLIT, $0
	MOVW PSALAA, R8
	MOVD LCA64(R8), R8
	MOVD CAA(R8), R9
	MOVD g, GOCB(R9)

	// Restore LE stack.
	MOVD SAVSTACK_ASYNC(R8), R9 // R9-> LE stack frame saving address
	MOVD 0(R9), R4              // R4-> restore previously saved stack frame pointer

	MOVD parms_base+8(FP), R7 // R7 -> argument array
	MOVD parms_len+16(FP), R8 // R8 number of arguments

	//  arg 1 ---> R1
	CMP  R8, $0
	BEQ  docall
	SUB  $1, R8
	MOVD 0(R7), R1

	//  arg 2 ---> R2
	CMP  R8, $0
	BEQ  docall
	SUB  $1, R8
	ADD  $8, R7
	MOVD 0(R7), R2

	//  arg 3 --> R3
	CMP  R8, $0
	BEQ  docall
	SUB  $1, R8
	ADD  $8, R7
	MOVD 0(R7), R3

	CMP  R8, $0
	BEQ  docall
	MOVD $2176+16, R6 // starting LE stack address-8 to store 4th argument

repeat:
	ADD  $8, R7
	MOVD 0(R7), R0      // advance arg pointer by 8 byte
	ADD  $8, R6         // advance LE argument address by 8 byte
	MOVD R0, (R4)(R6*1) // copy argument from go-slice to le-frame
	SUB  $1, R8
	CMP  R8, $0
	BNE  repeat

docall:
	MOVD funcdesc+0(FP), R8 // R8-> function descriptor
	LMG  0(R8), R5, R6
	MOVD $0, 0(R9)          // R9 address of SAVSTACK_ASYNC
	LE_CALL                 // balr R7, R6 (return #1)
	NOPH
	MOVD R3, ret+32(FP)
	CMP  R3, $-1            // compare result to -1
	BNE  done

	// retrieve errno and errno2
	MOVD  zosLibVec<>(SB), R8
	ADD   $(__errno), R8
	LMG   0(R8), R5, R6
	LE_CALL                   // balr R7, R6 __errno (return #3)
	NOPH
	MOVWZ 0(R3), R3
	MOVD  R3, err+48(FP)
	MOVD  zosLibVec<>(SB), R8
	ADD   $(__err2ad), R8
	LMG   0(R8), R5, R6
	LE_CALL                   // balr R7, R6 __err2ad (return #2)
	NOPH
	MOVW  (R3), R2            // retrieve errno2
	MOVD  R2, errno2+40(FP)   // store in return area

done:
	MOVD R4, 0(R9)            // Save stack pointer.
	RET

//
// Call LE function, if the return is 0
// errno and errno2 is retrieved
//
TEXT ·CallLeFuncWithPtrReturn(SB), NOSPLIT, $0
	MOVW PSALAA, R8
	MOVD LCA64(R8), R8
	MOVD CAA(R8), R9
	MOVD g, GOCB(R9)

	// Restore LE stack.
	MOVD SAVSTACK_ASYNC(R8), R9 // R9-> LE stack frame saving address
	MOVD 0(R9), R4              // R4-> restore previously saved stack frame pointer

	MOVD parms_base+8(FP), R7 // R7 -> argument array
	MOVD parms_len+16(FP), R8 // R8 number of arguments

	//  arg 1 ---> R1
	CMP  R8, $0
	BEQ  docall
	SUB  $1, R8
	MOVD 0(R7), R1

	//  arg 2 ---> R2
	CMP  R8, $0
	BEQ  docall
	SUB  $1, R8
	ADD  $8, R7
	MOVD 0(R7), R2

	//  arg 3 --> R3
	CMP  R8, $0
	BEQ  docall
	SUB  $1, R8
	ADD  $8, R7
	MOVD 0(R7), R3

	CMP  R8, $0
	BEQ  docall
	MOVD $2176+16, R6 // starting LE stack address-8 to store 4th argument

repeat:
	ADD  $8, R7
	MOVD 0(R7), R0      // advance arg pointer by 8 byte
	ADD  $8, R6         // advance LE argument address by 8 byte
	MOVD R0, (R4)(R6*1) // copy argument from go-slice to le-frame
	SUB  $1, R8
	CMP  R8, $0
	BNE  repeat

docall:
	MOVD funcdesc+0(FP), R8 // R8-> function descriptor
	LMG  0(R8), R5, R6
	MOVD $0, 0(R9)          // R9 address of SAVSTACK_ASYNC
	LE_CALL                 // balr R7, R6 (return #1)
	NOPH
	MOVD R3, ret+32(FP)
	CMP  R3, $0             // compare result to 0
	BNE  done

	// retrieve errno and errno2
	MOVD  zosLibVec<>(SB), R8
	ADD   $(__errno), R8
	LMG   0(R8), R5, R6
	LE_CALL                   // balr R7, R6 __errno (return #3)
	NOPH
	MOVWZ 0(R3), R3
	MOVD  R3, err+48(FP)
	MOVD  zosLibVec<>(SB), R8
	ADD   $(__err2ad), R8
	LMG   0(R8), R5, R6
	LE_CALL                   // balr R7, R6 __err2ad (return #2)
	NOPH
	MOVW  (R3), R2            // retrieve errno2
	MOVD  R2, errno2+40(FP)   // store in return area
	XOR   R2, R2
	MOVWZ R2, (R3)            // clear errno2

done:
	MOVD R4, 0(R9)            // Save stack pointer.
	RET

//
// function to test if a pointer can be safely dereferenced (content read)
// return 0 for succces
//
TEXT ·ptrtest(SB), NOSPLIT, $0-16
	MOVD arg+0(FP), R10 // test pointer in R10

	// set up R2 to point to CEECAADMC
	BYTE $0xE3; BYTE $0x20; BYTE $0x04; BYTE $0xB8; BYTE $0x00; BYTE $0x17 // llgt  2,1208
	BYTE $0xB9; BYTE $0x17; BYTE $0x00; BYTE $0x22                         // llgtr 2,2
	BYTE $0xA5; BYTE $0x26; BYTE $0x7F; BYTE $0xFF                         // nilh  2,32767
	BYTE $0xE3; BYTE $0x22; BYTE $0x00; BYTE $0x58; BYTE $0x00; BYTE $0x04 // lg    2,88(2)
	BYTE $0xE3; BYTE $0x22; BYTE $0x00; BYTE $0x08; BYTE $0x00; BYTE $0x04 // lg    2,8(2)
	BYTE $0x41; BYTE $0x22; BYTE $0x03; BYTE $0x68                         // la    2,872(2)

	// set up R5 to point to the "shunt" path which set 1 to R3 (failure)
	BYTE $0xB9; BYTE $0x82; BYTE $0x00; BYTE $0x33 // xgr   3,3
	BYTE $0xA7; BYTE $0x55; BYTE $0x00; BYTE $0x04 // bras  5,lbl1
	BYTE $0xA7; BYTE $0x39; BYTE $0x00; BYTE $0x01 // lghi  3,1

	// if r3 is not zero (failed) then branch to finish
	BYTE $0xB9; BYTE $0x02; BYTE $0x00; BYTE $0x33 // lbl1     ltgr  3,3
	BYTE $0xA7; BYTE $0x74; BYTE $0x00; BYTE $0x08 // brc   b'0111',lbl2

	// stomic store shunt address in R5 into CEECAADMC
	BYTE $0xE3; BYTE $0x52; BYTE $0x00; BYTE $0x00; BYTE $0x00; BYTE $0x24 // stg   5,0(2)

	// now try reading from the test pointer in R10, if it fails it branches to the "lghi" instruction above
	BYTE $0xE3; BYTE $0x9A; BYTE $0x00; BYTE $0x00; BYTE $0x00; BYTE $0x04 // lg    9,0(10)

	// finish here, restore 0 into CEECAADMC
	BYTE $0xB9; BYTE $0x82; BYTE $0x00; BYTE $0x99                         // lbl2     xgr   9,9
	BYTE $0xE3; BYTE $0x92; BYTE $0x00; BYTE $0x00; BYTE $0x00; BYTE $0x24 // stg   9,0(2)
	MOVD R3, ret+8(FP)                                                     // result in R3
	RET

//
// function to test if a untptr can be loaded from a pointer
// return 1: the 8-byte content
//        2: 0 for success, 1 for failure
//
// func safeload(ptr uintptr) ( value uintptr, error uintptr)
TEXT ·safeload(SB), NOSPLIT, $0-24
	MOVD ptr+0(FP), R10                                                    // test pointer in R10
	MOVD $0x0, R6
	BYTE $0xE3; BYTE $0x20; BYTE $0x04; BYTE $0xB8; BYTE $0x00; BYTE $0x17 // llgt  2,1208
	BYTE $0xB9; BYTE $0x17; BYTE $0x00; BYTE $0x22                         // llgtr 2,2
	BYTE $0xA5; BYTE $0x26; BYTE $0x7F; BYTE $0xFF                         // nilh  2,32767
	BYTE $0xE3; BYTE $0x22; BYTE $0x00; BYTE $0x58; BYTE $0x00; BYTE $0x04 // lg    2,88(2)
	BYTE $0xE3; BYTE $0x22; BYTE $0x00; BYTE $0x08; BYTE $0x00; BYTE $0x04 // lg    2,8(2)
	BYTE $0x41; BYTE $0x22; BYTE $0x03; BYTE $0x68                         // la    2,872(2)
	BYTE $0xB9; BYTE $0x82; BYTE $0x00; BYTE $0x33                         // xgr   3,3
	BYTE $0xA7; BYTE $0x55; BYTE $0x00; BYTE $0x04                         // bras  5,lbl1
	BYTE $0xA7; BYTE $0x39; BYTE $0x00; BYTE $0x01                         // lghi  3,1
	BYTE $0xB9; BYTE $0x02; BYTE $0x00; BYTE $0x33                         // lbl1     ltgr  3,3
	BYTE $0xA7; BYTE $0x74; BYTE $0x00; BYTE $0x08                         // brc   b'0111',lbl2
	BYTE $0xE3; BYTE $0x52; BYTE $0x00; BYTE $0x00; BYTE $0x00; BYTE $0x24 // stg 5,0(2)
	BYTE $0xE3; BYTE $0x6A; BYTE $0x00; BYTE $0x00; BYTE $0x00; BYTE $0x04 // lg    6,0(10)
	BYTE $0xB9; BYTE $0x82; BYTE $0x00; BYTE $0x99                         // lbl2     xgr   9,9
	BYTE $0xE3; BYTE $0x92; BYTE $0x00; BYTE $0x00; BYTE $0x00; BYTE $0x24 // stg   9,0(2)
	MOVD R6, value+8(FP)                                                   // result in R6
	MOVD R3, error+16(FP)                                                  // error in R3
	RET


================================================
FILE: vendor/golang.org/x/sys/unix/auxv.go
================================================
// Copyright 2025 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

//go:build go1.21 && (aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos)

package unix

import (
	"syscall"
	"unsafe"
)

//go:linkname runtime_getAuxv runtime.getAuxv
func runtime_getAuxv() []uintptr

// Auxv returns the ELF auxiliary vector as a sequence of key/value pairs.
// The returned slice is always a fresh copy, owned by the caller.
// It returns an error on non-ELF platforms, or if the auxiliary vector cannot be accessed,
// which happens in some locked-down environments and build modes.
func Auxv() ([][2]uintptr, error) {
	vec := runtime_getAuxv()
	vecLen := len(vec)

	if vecLen == 0 {
		return nil, syscall.ENOENT
	}

	if vecLen%2 != 0 {
		return nil, syscall.EINVAL
	}

	result := make([]uintptr, vecLen)
	copy(result, vec)
	return unsafe.Slice((*[2]uintptr)(unsafe.Pointer(&result[0])), vecLen/2), nil
}


================================================
FILE: vendor/golang.org/x/sys/unix/auxv_unsupported.go
================================================
// Copyright 2025 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

//go:build !go1.21 && (aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos)

package unix

import "syscall"

func Auxv() ([][2]uintptr, error) {
	return nil, syscall.ENOTSUP
}


================================================
FILE: vendor/golang.org/x/sys/unix/bluetooth_linux.go
================================================
// Copyright 2016 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

// Bluetooth sockets and messages

package unix

// Bluetooth Protocols
const (
	BTPROTO_L2CAP  = 0
	BTPROTO_HCI    = 1
	BTPROTO_SCO    = 2
	BTPROTO_RFCOMM = 3
	BTPROTO_BNEP   = 4
	BTPROTO_CMTP   = 5
	BTPROTO_HIDP   = 6
	BTPROTO_AVDTP  = 7
)

const (
	HCI_CHANNEL_RAW     = 0
	HCI_CHANNEL_USER    = 1
	HCI_CHANNEL_MONITOR = 2
	HCI_CHANNEL_CONTROL = 3
	HCI_CHANNEL_LOGGING = 4
)

// Socketoption Level
const (
	SOL_BLUETOOTH = 0x112
	SOL_HCI       = 0x0
	SOL_L2CAP     = 0x6
	SOL_RFCOMM    = 0x12
	SOL_SCO       = 0x11
)


================================================
FILE: vendor/golang.org/x/sys/unix/bpxsvc_zos.go
================================================
// Copyright 2024 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

//go:build zos

package unix

import (
	"bytes"
	"fmt"
	"unsafe"
)

//go:noescape
func bpxcall(plist []unsafe.Pointer, bpx_offset int64)

//go:noescape
func A2e([]byte)

//go:noescape
func E2a([]byte)

const (
	BPX4STA = 192  // stat
	BPX4FST = 104  // fstat
	BPX4LST = 132  // lstat
	BPX4OPN = 156  // open
	BPX4CLO = 72   // close
	BPX4CHR = 500  // chattr
	BPX4FCR = 504  // fchattr
	BPX4LCR = 1180 // lchattr
	BPX4CTW = 492  // cond_timed_wait
	BPX4GTH = 1056 // __getthent
	BPX4PTQ = 412  // pthread_quiesc
	BPX4PTR = 320  // ptrace
)

const (
	//options
	//byte1
	BPX_OPNFHIGH = 0x80
	//byte2
	BPX_OPNFEXEC = 0x80
	//byte3
	BPX_O_NOLARGEFILE = 0x08
	BPX_O_LARGEFILE   = 0x04
	BPX_O_ASYNCSIG    = 0x02
	BPX_O_SYNC        = 0x01
	//byte4
	BPX_O_CREXCL   = 0xc0
	BPX_O_CREAT    = 0x80
	BPX_O_EXCL     = 0x40
	BPX_O_NOCTTY   = 0x20
	BPX_O_TRUNC    = 0x10
	BPX_O_APPEND   = 0x08
	BPX_O_NONBLOCK = 0x04
	BPX_FNDELAY    = 0x04
	BPX_O_RDWR     = 0x03
	BPX_O_RDONLY   = 0x02
	BPX_O_WRONLY   = 0x01
	BPX_O_ACCMODE  = 0x03
	BPX_O_GETFL    = 0x0f

	//mode
	// byte1 (file type)
	BPX_FT_DIR      = 1
	BPX_FT_CHARSPEC = 2
	BPX_FT_REGFILE  = 3
	BPX_FT_FIFO     = 4
	BPX_FT_SYMLINK  = 5
	BPX_FT_SOCKET   = 6
	//byte3
	BPX_S_ISUID  = 0x08
	BPX_S_ISGID  = 0x04
	BPX_S_ISVTX  = 0x02
	BPX_S_IRWXU1 = 0x01
	BPX_S_IRUSR  = 0x01
	//byte4
	BPX_S_IRWXU2 = 0xc0
	BPX_S_IWUSR  = 0x80
	BPX_S_IXUSR  = 0x40
	BPX_S_IRWXG  = 0x38
	BPX_S_IRGRP  = 0x20
	BPX_S_IWGRP  = 0x10
	BPX_S_IXGRP  = 0x08
	BPX_S_IRWXOX = 0x07
	BPX_S_IROTH  = 0x04
	BPX_S_IWOTH  = 0x02
	BPX_S_IXOTH  = 0x01

	CW_INTRPT  = 1
	CW_CONDVAR = 32
	CW_TIMEOUT = 64

	PGTHA_NEXT        = 2
	PGTHA_CURRENT     = 1
	PGTHA_FIRST       = 0
	PGTHA_LAST        = 3
	PGTHA_PROCESS     = 0x80
	PGTHA_CONTTY      = 0x40
	PGTHA_PATH        = 0x20
	PGTHA_COMMAND     = 0x10
	PGTHA_FILEDATA    = 0x08
	PGTHA_THREAD      = 0x04
	PGTHA_PTAG        = 0x02
	PGTHA_COMMANDLONG = 0x01
	PGTHA_THREADFAST  = 0x80
	PGTHA_FILEPATH    = 0x40
	PGTHA_THDSIGMASK  = 0x20
	// thread quiece mode
	QUIESCE_TERM       int32 = 1
	QUIESCE_FORCE      int32 = 2
	QUIESCE_QUERY      int32 = 3
	QUIESCE_FREEZE     int32 = 4
	QUIESCE_UNFREEZE   int32 = 5
	FREEZE_THIS_THREAD int32 = 6
	FREEZE_EXIT        int32 = 8
	QUIESCE_SRB        int32 = 9
)

type Pgtha struct {
	Pid        uint32 // 0
	Tid0       uint32 // 4
	Tid1       uint32
	Accesspid  byte    // C
	Accesstid  byte    // D
	Accessasid uint16  // E
	Loginname  [8]byte // 10
	Flag1      byte    // 18
	Flag1b2    byte    // 19
}

type Bpxystat_t struct { // DSECT BPXYSTAT
	St_id           [4]uint8  // 0
	St_length       uint16    // 0x4
	St_version      uint16    // 0x6
	St_mode         uint32    // 0x8
	St_ino          uint32    // 0xc
	St_dev          uint32    // 0x10
	St_nlink        uint32    // 0x14
	St_uid          uint32    // 0x18
	St_gid          uint32    // 0x1c
	St_size         uint64    // 0x20
	St_atime        uint32    // 0x28
	St_mtime        uint32    // 0x2c
	St_ctime        uint32    // 0x30
	St_rdev         uint32    // 0x34
	St_auditoraudit uint32    // 0x38
	St_useraudit    uint32    // 0x3c
	St_blksize      uint32    // 0x40
	St_createtime   uint32    // 0x44
	St_auditid      [4]uint32 // 0x48
	St_res01        uint32    // 0x58
	Ft_ccsid        uint16    // 0x5c
	Ft_flags        uint16    // 0x5e
	St_res01a       [2]uint32 // 0x60
	St_res02        uint32    // 0x68
	St_blocks       uint32    // 0x6c
	St_opaque       [3]uint8  // 0x70
	St_visible      uint8     // 0x73
	St_reftime      uint32    // 0x74
	St_fid          uint64    // 0x78
	St_filefmt      uint8     // 0x80
	St_fspflag2     uint8     // 0x81
	St_res03        [2]uint8  // 0x82
	St_ctimemsec    uint32    // 0x84
	St_seclabel     [8]uint8  // 0x88
	St_res04        [4]uint8  // 0x90
	// end of version 1
	_               uint32    // 0x94
	St_atime64      uint64    // 0x98
	St_mtime64      uint64    // 0xa0
	St_ctime64      uint64    // 0xa8
	St_createtime64 uint64    // 0xb0
	St_reftime64    uint64    // 0xb8
	_               uint64    // 0xc0
	St_res05        [16]uint8 // 0xc8
	// end of version 2
}

type BpxFilestatus struct {
	Oflag1 byte
	Oflag2 byte
	Oflag3 byte
	Oflag4 byte
}

type BpxMode struct {
	Ftype byte
	Mode1 byte
	Mode2 byte
	Mode3 byte
}

// Thr attribute structure for extended attributes
type Bpxyatt_t struct { // DSECT BPXYATT
	Att_id           [4]uint8
	Att_version      uint16
	Att_res01        [2]uint8
	Att_setflags1    uint8
	Att_setflags2    uint8
	Att_setflags3    uint8
	Att_setflags4    uint8
	Att_mode         uint32
	Att_uid          uint32
	Att_gid          uint32
	Att_opaquemask   [3]uint8
	Att_visblmaskres uint8
	Att_opaque       [3]uint8
	Att_visibleres   uint8
	Att_size_h       uint32
	Att_size_l       uint32
	Att_atime        uint32
	Att_mtime        uint32
	Att_auditoraudit uint32
	Att_useraudit    uint32
	Att_ctime        uint32
	Att_reftime      uint32
	// end of version 1
	Att_filefmt uint8
	Att_res02   [3]uint8
	Att_filetag uint32
	Att_res03   [8]uint8
	// end of version 2
	Att_atime64   uint64
	Att_mtime64   uint64
	Att_ctime64   uint64
	Att_reftime64 uint64
	Att_seclabel  [8]uint8
	Att_ver3res02 [8]uint8
	// end of version 3
}

func BpxOpen(name string, options *BpxFilestatus, mode *BpxMode) (rv int32, rc int32, rn int32) {
	if len(name) < 1024 {
		var namebuf [1024]byte
		sz := int32(copy(namebuf[:], name))
		A2e(namebuf[:sz])
		var parms [7]unsafe.Pointer
		parms[0] = unsafe.Pointer(&sz)
		parms[1] = unsafe.Pointer(&namebuf[0])
		parms[2] = unsafe.Pointer(options)
		parms[3] = unsafe.Pointer(mode)
		parms[4] = unsafe.Pointer(&rv)
		parms[5] = unsafe.Pointer(&rc)
		parms[6] = unsafe.Pointer(&rn)
		bpxcall(parms[:], BPX4OPN)
		return rv, rc, rn
	}
	return -1, -1, -1
}

func BpxClose(fd int32) (rv int32, rc int32, rn int32) {
	var parms [4]unsafe.Pointer
	parms[0] = unsafe.Pointer(&fd)
	parms[1] = unsafe.Pointer(&rv)
	parms[2] = unsafe.Pointer(&rc)
	parms[3] = unsafe.Pointer(&rn)
	bpxcall(parms[:], BPX4CLO)
	return rv, rc, rn
}

func BpxFileFStat(fd int32, st *Bpxystat_t) (rv int32, rc int32, rn int32) {
	st.St_id = [4]uint8{0xe2, 0xe3, 0xc1, 0xe3}
	st.St_version = 2
	stat_sz := uint32(unsafe.Sizeof(*st))
	var parms [6]unsafe.Pointer
	parms[0] = unsafe.Pointer(&fd)
	parms[1] = unsafe.Pointer(&stat_sz)
	parms[2] = unsafe.Pointer(st)
	parms[3] = unsafe.Pointer(&rv)
	parms[4] = unsafe.Pointer(&rc)
	parms[5] = unsafe.Pointer(&rn)
	bpxcall(parms[:], BPX4FST)
	return rv, rc, rn
}

func BpxFileStat(name string, st *Bpxystat_t) (rv int32, rc int32, rn int32) {
	if len(name) < 1024 {
		var namebuf [1024]byte
		sz := int32(copy(namebuf[:], name))
		A2e(namebuf[:sz])
		st.St_id = [4]uint8{0xe2, 0xe3, 0xc1, 0xe3}
		st.St_version = 2
		stat_sz := uint32(unsafe.Sizeof(*st))
		var parms [7]unsafe.Pointer
		parms[0] = unsafe.Pointer(&sz)
		parms[1] = unsafe.Pointer(&namebuf[0])
		parms[2] = unsafe.Pointer(&stat_sz)
		parms[3] = unsafe.Pointer(st)
		parms[4] = unsafe.Pointer(&rv)
		parms[5] = unsafe.Pointer(&rc)
		parms[6] = unsafe.Pointer(&rn)
		bpxcall(parms[:], BPX4STA)
		return rv, rc, rn
	}
	return -1, -1, -1
}

func BpxFileLStat(name string, st *Bpxystat_t) (rv int32, rc int32, rn int32) {
	if len(name) < 1024 {
		var namebuf [1024]byte
		sz := int32(copy(namebuf[:], name))
		A2e(namebuf[:sz])
		st.St_id = [4]uint8{0xe2, 0xe3, 0xc1, 0xe3}
		st.St_version = 2
		stat_sz := uint32(unsafe.Sizeof(*st))
		var parms [7]unsafe.Pointer
		parms[0] = unsafe.Pointer(&sz)
		parms[1] = unsafe.Pointer(&namebuf[0])
		parms[2] = unsafe.Pointer(&stat_sz)
		parms[3] = unsafe.Pointer(st)
		parms[4] = unsafe.Pointer(&rv)
		parms[5] = unsafe.Pointer(&rc)
		parms[6] = unsafe.Pointer(&rn)
		bpxcall(parms[:], BPX4LST)
		return rv, rc, rn
	}
	return -1, -1, -1
}

func BpxChattr(path string, attr *Bpxyatt_t) (rv int32, rc int32, rn int32) {
	if len(path) >= 1024 {
		return -1, -1, -1
	}
	var namebuf [1024]byte
	sz := int32(copy(namebuf[:], path))
	A2e(namebuf[:sz])
	attr_sz := uint32(unsafe.Sizeof(*attr))
	var parms [7]unsafe.Pointer
	parms[0] = unsafe.Pointer(&sz)
	parms[1] = unsafe.Pointer(&namebuf[0])
	parms[2] = unsafe.Pointer(&attr_sz)
	parms[3] = unsafe.Pointer(attr)
	parms[4] = unsafe.Pointer(&rv)
	parms[5] = unsafe.Pointer(&rc)
	parms[6] = unsafe.Pointer(&rn)
	bpxcall(parms[:], BPX4CHR)
	return rv, rc, rn
}

func BpxLchattr(path string, attr *Bpxyatt_t) (rv int32, rc int32, rn int32) {
	if len(path) >= 1024 {
		return -1, -1, -1
	}
	var namebuf [1024]byte
	sz := int32(copy(namebuf[:], path))
	A2e(namebuf[:sz])
	attr_sz := uint32(unsafe.Sizeof(*attr))
	var parms [7]unsafe.Pointer
	parms[0] = unsafe.Pointer(&sz)
	parms[1] = unsafe.Pointer(&namebuf[0])
	parms[2] = unsafe.Pointer(&attr_sz)
	parms[3] = unsafe.Pointer(attr)
	parms[4] = unsafe.Pointer(&rv)
	parms[5] = unsafe.Pointer(&rc)
	parms[6] = unsafe.Pointer(&rn)
	bpxcall(parms[:], BPX4LCR)
	return rv, rc, rn
}

func BpxFchattr(fd int32, attr *Bpxyatt_t) (rv int32, rc int32, rn int32) {
	attr_sz := uint32(unsafe.Sizeof(*attr))
	var parms [6]unsafe.Pointer
	parms[0] = unsafe.Pointer(&fd)
	parms[1] = unsafe.Pointer(&attr_sz)
	parms[2] = unsafe.Pointer(attr)
	parms[3] = unsafe.Pointer(&rv)
	parms[4] = unsafe.Pointer(&rc)
	parms[5] = unsafe.Pointer(&rn)
	bpxcall(parms[:], BPX4FCR)
	return rv, rc, rn
}

func BpxCondTimedWait(sec uint32, nsec uint32, events uint32, secrem *uint32, nsecrem *uint32) (rv int32, rc int32, rn int32) {
	var parms [8]unsafe.Pointer
	parms[0] = unsafe.Pointer(&sec)
	parms[1] = unsafe.Pointer(&nsec)
	parms[2] = unsafe.Pointer(&events)
	parms[3] = unsafe.Pointer(secrem)
	parms[4] = unsafe.Pointer(nsecrem)
	parms[5] = unsafe.Pointer(&rv)
	parms[6] = unsafe.Pointer(&rc)
	parms[7] = unsafe.Pointer(&rn)
	bpxcall(parms[:], BPX4CTW)
	return rv, rc, rn
}
func BpxGetthent(in *Pgtha, outlen *uint32, out unsafe.Pointer) (rv int32, rc int32, rn int32) {
	var parms [7]unsafe.Pointer
	inlen := uint32(26) // nothing else will work. Go says Pgtha is 28-byte because of alignment, but Pgtha is "packed" and must be 26-byte
	parms[0] = unsafe.Pointer(&inlen)
	parms[1] = unsafe.Pointer(&in)
	parms[2] = unsafe.Pointer(outlen)
	parms[3] = unsafe.Pointer(&out)
	parms[4] = unsafe.Pointer(&rv)
	parms[5] = unsafe.Pointer(&rc)
	parms[6] = unsafe.Pointer(&rn)
	bpxcall(parms[:], BPX4GTH)
	return rv, rc, rn
}
func ZosJobname() (jobname string, err error) {
	var pgtha Pgtha
	pgtha.Pid = uint32(Getpid())
	pgtha.Accesspid = PGTHA_CURRENT
	pgtha.Flag1 = PGTHA_PROCESS
	var out [256]byte
	var outlen uint32
	outlen = 256
	rv, rc, rn := BpxGetthent(&pgtha, &outlen, unsafe.Pointer(&out[0]))
	if rv == 0 {
		gthc := []byte{0x87, 0xa3, 0x88, 0x83} // 'gthc' in ebcdic
		ix := bytes.Index(out[:], gthc)
		if ix == -1 {
			err = fmt.Errorf("BPX4GTH: gthc return data not found")
			return
		}
		jn := out[ix+80 : ix+88] // we didn't declare Pgthc, but jobname is 8-byte at offset 80
		E2a(jn)
		jobname = string(bytes.TrimRight(jn, " "))

	} else {
		err = fmt.Errorf("BPX4GTH: rc=%d errno=%d reason=code=0x%x", rv, rc, rn)
	}
	return
}
func Bpx4ptq(code int32, data string) (rv int32, rc int32, rn int32) {
	var userdata [8]byte
	var parms [5]unsafe.Pointer
	copy(userdata[:], data+"        ")
	A2e(userdata[:])
	parms[0] = unsafe.Pointer(&code)
	parms[1] = unsafe.Pointer(&userdata[0])
	parms[2] = unsafe.Pointer(&rv)
	parms[3] = unsafe.Pointer(&rc)
	parms[4] = unsafe.Pointer(&rn)
	bpxcall(parms[:], BPX4PTQ)
	return rv, rc, rn
}

const (
	PT_TRACE_ME             = 0  // Debug this process
	PT_READ_I               = 1  // Read a full word
	PT_READ_D               = 2  // Read a full word
	PT_READ_U               = 3  // Read control info
	PT_WRITE_I              = 4  //Write a full word
	PT_WRITE_D              = 5  //Write a full word
	PT_CONTINUE             = 7  //Continue the process
	PT_KILL                 = 8  //Terminate the process
	PT_READ_GPR             = 11 // Read GPR, CR, PSW
	PT_READ_FPR             = 12 // Read FPR
	PT_READ_VR              = 13 // Read VR
	PT_WRITE_GPR            = 14 // Write GPR, CR, PSW
	PT_WRITE_FPR            = 15 // Write FPR
	PT_WRITE_VR             = 16 // Write VR
	PT_READ_BLOCK           = 17 // Read storage
	PT_WRITE_BLOCK          = 19 // Write storage
	PT_READ_GPRH            = 20 // Read GPRH
	PT_WRITE_GPRH           = 21 // Write GPRH
	PT_REGHSET              = 22 // Read all GPRHs
	PT_ATTACH               = 30 // Attach to a process
	PT_DETACH               = 31 // Detach from a process
	PT_REGSET               = 32 // Read all GPRs
	PT_REATTACH             = 33 // Reattach to a process
	PT_LDINFO               = 34 // Read loader info
	PT_MULTI                = 35 // Multi process mode
	PT_LD64INFO             = 36 // RMODE64 Info Area
	PT_BLOCKREQ             = 40 // Block request
	PT_THREAD_INFO          = 60 // Read thread info
	PT_THREAD_MODIFY        = 61
	PT_THREAD_READ_FOCUS    = 62
	PT_THREAD_WRITE_FOCUS   = 63
	PT_THREAD_HOLD          = 64
	PT_THREAD_SIGNAL        = 65
	PT_EXPLAIN              = 66
	PT_EVENTS               = 67
	PT_THREAD_INFO_EXTENDED = 68
	PT_REATTACH2            = 71
	PT_CAPTURE              = 72
	PT_UNCAPTURE            = 73
	PT_GET_THREAD_TCB       = 74
	PT_GET_ALET             = 75
	PT_SWAPIN               = 76
	PT_EXTENDED_EVENT       = 98
	PT_RECOVER              = 99  // Debug a program check
	PT_GPR0                 = 0   // General purpose register 0
	PT_GPR1                 = 1   // General purpose register 1
	PT_GPR2                 = 2   // General purpose register 2
	PT_GPR3                 = 3   // General purpose register 3
	PT_GPR4                 = 4   // General purpose register 4
	PT_GPR5                 = 5   // General purpose register 5
	PT_GPR6                 = 6   // General purpose register 6
	PT_GPR7                 = 7   // General purpose register 7
	PT_GPR8                 = 8   // General purpose register 8
	PT_GPR9                 = 9   // General purpose register 9
	PT_GPR10                = 10  // General purpose register 10
	PT_GPR11                = 11  // General purpose register 11
	PT_GPR12                = 12  // General purpose register 12
	PT_GPR13                = 13  // General purpose register 13
	PT_GPR14                = 14  // General purpose register 14
	PT_GPR15                = 15  // General purpose register 15
	PT_FPR0                 = 16  // Floating point register 0
	PT_FPR1                 = 17  // Floating point register 1
	PT_FPR2                 = 18  // Floating point register 2
	PT_FPR3                 = 19  // Floating point register 3
	PT_FPR4                 = 20  // Floating point register 4
	PT_FPR5                 = 21  // Floating point register 5
	PT_FPR6                 = 22  // Floating point register 6
	PT_FPR7                 = 23  // Floating point register 7
	PT_FPR8                 = 24  // Floating point register 8
	PT_FPR9                 = 25  // Floating point register 9
	PT_FPR10                = 26  // Floating point register 10
	PT_FPR11                = 27  // Floating point register 11
	PT_FPR12                = 28  // Floating point register 12
	PT_FPR13                = 29  // Floating point register 13
	PT_FPR14                = 30  // Floating point register 14
	PT_FPR15                = 31  // Floating point register 15
	PT_FPC                  = 32  // Floating point control register
	PT_PSW                  = 40  // PSW
	PT_PSW0                 = 40  // Left half of the PSW
	PT_PSW1                 = 41  // Right half of the PSW
	PT_CR0                  = 42  // Control register 0
	PT_CR1                  = 43  // Control register 1
	PT_CR2                  = 44  // Control register 2
	PT_CR3                  = 45  // Control register 3
	PT_CR4                  = 46  // Control register 4
	PT_CR5                  = 47  // Control register 5
	PT_CR6                  = 48  // Control register 6
	PT_CR7                  = 49  // Control register 7
	PT_CR8                  = 50  // Control register 8
	PT_CR9                  = 51  // Control register 9
	PT_CR10                 = 52  // Control register 10
	PT_CR11                 = 53  // Control register 11
	PT_CR12                 = 54  // Control register 12
	PT_CR13                 = 55  // Control register 13
	PT_CR14                 = 56  // Control register 14
	PT_CR15                 = 57  // Control register 15
	PT_GPRH0                = 58  // GP High register 0
	PT_GPRH1                = 59  // GP High register 1
	PT_GPRH2                = 60  // GP High register 2
	PT_GPRH3                = 61  // GP High register 3
	PT_GPRH4                = 62  // GP High register 4
	PT_GPRH5                = 63  // GP High register 5
	PT_GPRH6                = 64  // GP High register 6
	PT_GPRH7                = 65  // GP High register 7
	PT_GPRH8                = 66  // GP High register 8
	PT_GPRH9                = 67  // GP High register 9
	PT_GPRH10               = 68  // GP High register 10
	PT_GPRH11               = 69  // GP High register 11
	PT_GPRH12               = 70  // GP High register 12
	PT_GPRH13               = 71  // GP High register 13
	PT_GPRH14               = 72  // GP High register 14
	PT_GPRH15               = 73  // GP High register 15
	PT_VR0                  = 74  // Vector register 0
	PT_VR1                  = 75  // Vector register 1
	PT_VR2                  = 76  // Vector register 2
	PT_VR3                  = 77  // Vector register 3
	PT_VR4                  = 78  // Vector register 4
	PT_VR5                  = 79  // Vector register 5
	PT_VR6                  = 80  // Vector register 6
	PT_VR7                  = 81  // Vector register 7
	PT_VR8                  = 82  // Vector register 8
	PT_VR9                  = 83  // Vector register 9
	PT_VR10                 = 84  // Vector register 10
	PT_VR11                 = 85  // Vector register 11
	PT_VR12                 = 86  // Vector register 12
	PT_VR13                 = 87  // Vector register 13
	PT_VR14                 = 88  // Vector register 14
	PT_VR15                 = 89  // Vector register 15
	PT_VR16                 = 90  // Vector register 16
	PT_VR17                 = 91  // Vector register 17
	PT_VR18                 = 92  // Vector register 18
	PT_VR19                 = 93  // Vector register 19
	PT_VR20                 = 94  // Vector register 20
	PT_VR21                 = 95  // Vector register 21
	PT_VR22                 = 96  // Vector register 22
	PT_VR23                 = 97  // Vector register 23
	PT_VR24                 = 98  // Vector register 24
	PT_VR25                 = 99  // Vector register 25
	PT_VR26                 = 100 // Vector register 26
	PT_VR27                 = 101 // Vector register 27
	PT_VR28                 = 102 // Vector register 28
	PT_VR29                 = 103 // Vector register 29
	PT_VR30                 = 104 // Vector register 30
	PT_VR31                 = 105 // Vector register 31
	PT_PSWG                 = 106 // PSWG
	PT_PSWG0                = 106 // Bytes 0-3
	PT_PSWG1                = 107 // Bytes 4-7
	PT_PSWG2                = 108 // Bytes 8-11 (IA high word)
	PT_PSWG3                = 109 // Bytes 12-15 (IA low word)
)

func Bpx4ptr(request int32, pid int32, addr unsafe.Pointer, data unsafe.Pointer, buffer unsafe.Pointer) (rv int32, rc int32, rn int32) {
	var parms [8]unsafe.Pointer
	parms[0] = unsafe.Pointer(&request)
	parms[1] = unsafe.Pointer(&pid)
	parms[2] = unsafe.Pointer(&addr)
	parms[3] = unsafe.Pointer(&data)
	parms[4] = unsafe.Pointer(&buffer)
	parms[5] = unsafe.Pointer(&rv)
	parms[6] = unsafe.Pointer(&rc)
	parms[7] = unsafe.Pointer(&rn)
	bpxcall(parms[:], BPX4PTR)
	return rv, rc, rn
}

func copyU8(val uint8, dest []uint8) int {
	if len(dest) < 1 {
		return 0
	}
	dest[0] = val
	return 1
}

func copyU8Arr(src, dest []uint8) int {
	if len(dest) < len(src) {
		return 0
	}
	for i, v := range src {
		dest[i] = v
	}
	return len(src)
}

func copyU16(val uint16, dest []uint16) int {
	if len(dest) < 1 {
		return 0
	}
	dest[0] = val
	return 1
}

func copyU32(val uint32, dest []uint32) int {
	if len(dest) < 1 {
		return 0
	}
	dest[0] = val
	return 1
}

func copyU32Arr(src, dest []uint32) int {
	if len(dest) < len(src) {
		return 0
	}
	for i, v := range src {
		dest[i] = v
	}
	return len(src)
}

func copyU64(val uint64, dest []uint64) int {
	if len(dest) < 1 {
		return 0
	}
	dest[0] = val
	return 1
}


================================================
FILE: vendor/golang.org/x/sys/unix/bpxsvc_zos.s
================================================
// Copyright 2024 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

#include "go_asm.h"
#include "textflag.h"

// function to call USS assembly language services
//
// doc: https://www.ibm.com/support/knowledgecenter/en/SSLTBW_3.1.0/com.ibm.zos.v3r1.bpxb100/bit64env.htm
//
//   arg1 unsafe.Pointer array that ressembles an OS PLIST
//
//   arg2 function offset as in
//       doc: https://www.ibm.com/support/knowledgecenter/en/SSLTBW_3.1.0/com.ibm.zos.v3r1.bpxb100/bpx2cr_List_of_offsets.htm
//
// func bpxcall(plist []unsafe.Pointer, bpx_offset int64)

TEXT ·bpxcall(SB), NOSPLIT|NOFRAME, $0
	MOVD  plist_base+0(FP), R1  // r1 points to plist
	MOVD  bpx_offset+24(FP), R2 // r2 offset to BPX vector table
	MOVD  R14, R7               // save r14
	MOVD  R15, R8               // save r15
	MOVWZ 16(R0), R9
	MOVWZ 544(R9), R9
	MOVWZ 24(R9), R9            // call vector in r9
	ADD   R2, R9                // add offset to vector table
	MOVWZ (R9), R9              // r9 points to entry point
	BYTE  $0x0D                 // BL R14,R9 --> basr r14,r9
	BYTE  $0xE9                 // clobbers 0,1,14,15
	MOVD  R8, R15               // restore 15
	JMP   R7                    // return via saved return address

//   func A2e(arr [] byte)
//   code page conversion from  819 to 1047
TEXT ·A2e(SB), NOSPLIT|NOFRAME, $0
	MOVD arg_base+0(FP), R2                        // pointer to arry of characters
	MOVD arg_len+8(FP), R3                         // count
	XOR  R0, R0
	XOR  R1, R1
	BYTE $0xA7; BYTE $0x15; BYTE $0x00; BYTE $0x82 // BRAS 1,(2+(256/2))

	// ASCII -> EBCDIC conversion table:
	BYTE $0x00; BYTE $0x01; BYTE $0x02; BYTE $0x03
	BYTE $0x37; BYTE $0x2d; BYTE $0x2e; BYTE $0x2f
	BYTE $0x16; BYTE $0x05; BYTE $0x15; BYTE $0x0b
	BYTE $0x0c; BYTE $0x0d; BYTE $0x0e; BYTE $0x0f
	BYTE $0x10; BYTE $0x11; BYTE $0x12; BYTE $0x13
	BYTE $0x3c; BYTE $0x3d; BYTE $0x32; BYTE $0x26
	BYTE $0x18; BYTE $0x19; BYTE $0x3f; BYTE $0x27
	BYTE $0x1c; BYTE $0x1d; BYTE $0x1e; BYTE $0x1f
	BYTE $0x40; BYTE $0x5a; BYTE $0x7f; BYTE $0x7b
	BYTE $0x5b; BYTE $0x6c; BYTE $0x50; BYTE $0x7d
	BYTE $0x4d; BYTE $0x5d; BYTE $0x5c; BYTE $0x4e
	BYTE $0x6b; BYTE $0x60; BYTE $0x4b; BYTE $0x61
	BYTE $0xf0; BYTE $0xf1; BYTE $0xf2; BYTE $0xf3
	BYTE $0xf4; BYTE $0xf5; BYTE $0xf6; BYTE $0xf7
	BYTE $0xf8; BYTE $0xf9; BYTE $0x7a; BYTE $0x5e
	BYTE $0x4c; BYTE $0x7e; BYTE $0x6e; BYTE $0x6f
	BYTE $0x7c; BYTE $0xc1; BYTE $0xc2; BYTE $0xc3
	BYTE $0xc4; BYTE $0xc5; BYTE $0xc6; BYTE $0xc7
	BYTE $0xc8; BYTE $0xc9; BYTE $0xd1; BYTE $0xd2
	BYTE $0xd3; BYTE $0xd4; BYTE $0xd5; BYTE $0xd6
	BYTE $0xd7; BYTE $0xd8; BYTE $0xd9; BYTE $0xe2
	BYTE $0xe3; BYTE $0xe4; BYTE $0xe5; BYTE $0xe6
	BYTE $0xe7; BYTE $0xe8; BYTE $0xe9; BYTE $0xad
	BYTE $0xe0; BYTE $0xbd; BYTE $0x5f; BYTE $0x6d
	BYTE $0x79; BYTE $0x81; BYTE $0x82; BYTE $0x83
	BYTE $0x84; BYTE $0x85; BYTE $0x86; BYTE $0x87
	BYTE $0x88; BYTE $0x89; BYTE $0x91; BYTE $0x92
	BYTE $0x93; BYTE $0x94; BYTE $0x95; BYTE $0x96
	BYTE $0x97; BYTE $0x98; BYTE $0x99; BYTE $0xa2
	BYTE $0xa3; BYTE $0xa4; BYTE $0xa5; BYTE $0xa6
	BYTE $0xa7; BYTE $0xa8; BYTE $0xa9; BYTE $0xc0
	BYTE $0x4f; BYTE $0xd0; BYTE $0xa1; BYTE $0x07
	BYTE $0x20; BYTE $0x21; BYTE $0x22; BYTE $0x23
	BYTE $0x24; BYTE $0x25; BYTE $0x06; BYTE $0x17
	BYTE $0x28; BYTE $0x29; BYTE $0x2a; BYTE $0x2b
	BYTE $0x2c; BYTE $0x09; BYTE $0x0a; BYTE $0x1b
	BYTE $0x30; BYTE $0x31; BYTE $0x1a; BYTE $0x33
	BYTE $0x34; BYTE $0x35; BYTE $0x36; BYTE $0x08
	BYTE $0x38; BYTE $0x39; BYTE $0x3a; BYTE $0x3b
	BYTE $0x04; BYTE $0x14; BYTE $0x3e; BYTE $0xff
	BYTE $0x41; BYTE $0xaa; BYTE $0x4a; BYTE $0xb1
	BYTE $0x9f; BYTE $0xb2; BYTE $0x6a; BYTE $0xb5
	BYTE $0xbb; BYTE $0xb4; BYTE $0x9a; BYTE $0x8a
	BYTE $0xb0; BYTE $0xca; BYTE $0xaf; BYTE $0xbc
	BYTE $0x90; BYTE $0x8f; BYTE $0xea; BYTE $0xfa
	BYTE $0xbe; BYTE $0xa0; BYTE $0xb6; BYTE $0xb3
	BYTE $0x9d; BYTE $0xda; BYTE $0x9b; BYTE $0x8b
	BYTE $0xb7; BYTE $0xb8; BYTE $0xb9; BYTE $0xab
	BYTE $0x64; BYTE $0x65; BYTE $0x62; BYTE $0x66
	BYTE $0x63; BYTE $0x67; BYTE $0x9e; BYTE $0x68
	BYTE $0x74; BYTE $0x71; BYTE $0x72; BYTE $0x73
	BYTE $0x78; BYTE $0x75; BYTE $0x76; BYTE $0x77
	BYTE $0xac; BYTE $0x69; BYTE $0xed; BYTE $0xee
	BYTE $0xeb; BYTE $0xef; BYTE $0xec; BYTE $0xbf
	BYTE $0x80; BYTE $0xfd; BYTE $0xfe; BYTE $0xfb
	BYTE $0xfc; BYTE $0xba; BYTE $0xae; BYTE $0x59
	BYTE $0x44; BYTE $0x45; BYTE $0x42; BYTE $0x46
	BYTE $0x43; BYTE $0x47; BYTE $0x9c; BYTE $0x48
	BYTE $0x54; BYTE $0x51; BYTE $0x52; BYTE $0x53
	BYTE $0x58; BYTE $0x55; BYTE $0x56; BYTE $0x57
	BYTE $0x8c; BYTE $0x49; BYTE $0xcd; BYTE $0xce
	BYTE $0xcb; BYTE $0xcf; BYTE $0xcc; BYTE $0xe1
	BYTE $0x70; BYTE $0xdd; BYTE $0xde; BYTE $0xdb
	BYTE $0xdc; BYTE $0x8d; BYTE $0x8e; BYTE $0xdf

retry:
	WORD $0xB9931022 // TROO 2,2,b'0001'
	BVS  retry
	RET

//   func e2a(arr [] byte)
//   code page conversion from  1047 to 819
TEXT ·E2a(SB), NOSPLIT|NOFRAME, $0
	MOVD arg_base+0(FP), R2                        // pointer to arry of characters
	MOVD arg_len+8(FP), R3                         // count
	XOR  R0, R0
	XOR  R1, R1
	BYTE $0xA7; BYTE $0x15; BYTE $0x00; BYTE $0x82 // BRAS 1,(2+(256/2))

	// EBCDIC -> ASCII conversion table:
	BYTE $0x00; BYTE $0x01; BYTE $0x02; BYTE $0x03
	BYTE $0x9c; BYTE $0x09; BYTE $0x86; BYTE $0x7f
	BYTE $0x97; BYTE $0x8d; BYTE $0x8e; BYTE $0x0b
	BYTE $0x0c; BYTE $0x0d; BYTE $0x0e; BYTE $0x0f
	BYTE $0x10; BYTE $0x11; BYTE $0x12; BYTE $0x13
	BYTE $0x9d; BYTE $0x0a; BYTE $0x08; BYTE $0x87
	BYTE $0x18; BYTE $0x19; BYTE $0x92; BYTE $0x8f
	BYTE $0x1c; BYTE $0x1d; BYTE $0x1e; BYTE $0x1f
	BYTE $0x80; BYTE $0x81; BYTE $0x82; BYTE $0x83
	BYTE $0x84; BYTE $0x85; BYTE $0x17; BYTE $0x1b
	BYTE $0x88; BYTE $0x89; BYTE $0x8a; BYTE $0x8b
	BYTE $0x8c; BYTE $0x05; BYTE $0x06; BYTE $0x07
	BYTE $0x90; BYTE $0x91; BYTE $0x16; BYTE $0x93
	BYTE $0x94; BYTE $0x95; BYTE $0x96; BYTE $0x04
	BYTE $0x98; BYTE $0x99; BYTE $0x9a; BYTE $0x9b
	BYTE $0x14; BYTE $0x15; BYTE $0x9e; BYTE $0x1a
	BYTE $0x20; BYTE $0xa0; BYTE $0xe2; BYTE $0xe4
	BYTE $0xe0; BYTE $0xe1; BYTE $0xe3; BYTE $0xe5
	BYTE $0xe7; BYTE $0xf1; BYTE $0xa2; BYTE $0x2e
	BYTE $0x3c; BYTE $0x28; BYTE $0x2b; BYTE $0x7c
	BYTE $0x26; BYTE $0xe9; BYTE $0xea; BYTE $0xeb
	BYTE $0xe8; BYTE $0xed; BYTE $0xee; BYTE $0xef
	BYTE $0xec; BYTE $0xdf; BYTE $0x21; BYTE $0x24
	BYTE $0x2a; BYTE $0x29; BYTE $0x3b; BYTE $0x5e
	BYTE $0x2d; BYTE $0x2f; BYTE $0xc2; BYTE $0xc4
	BYTE $0xc0; BYTE $0xc1; BYTE $0xc3; BYTE $0xc5
	BYTE $0xc7; BYTE $0xd1; BYTE $0xa6; BYTE $0x2c
	BYTE $0x25; BYTE $0x5f; BYTE $0x3e; BYTE $0x3f
	BYTE $0xf8; BYTE $0xc9; BYTE $0xca; BYTE $0xcb
	BYTE $0xc8; BYTE $0xcd; BYTE $0xce; BYTE $0xcf
	BYTE $0xcc; BYTE $0x60; BYTE $0x3a; BYTE $0x23
	BYTE $0x40; BYTE $0x27; BYTE $0x3d; BYTE $0x22
	BYTE $0xd8; BYTE $0x61; BYTE $0x62; BYTE $0x63
	BYTE $0x64; BYTE $0x65; BYTE $0x66; BYTE $0x67
	BYTE $0x68; BYTE $0x69; BYTE $0xab; BYTE $0xbb
	BYTE $0xf0; BYTE $0xfd; BYTE $0xfe; BYTE $0xb1
	BYTE $0xb0; BYTE $0x6a; BYTE $0x6b; BYTE $0x6c
	BYTE $0x6d; BYTE $0x6e; BYTE $0x6f; BYTE $0x70
	BYTE $0x71; BYTE $0x72; BYTE $0xaa; BYTE $0xba
	BYTE $0xe6; BYTE $0xb8; BYTE $0xc6; BYTE $0xa4
	BYTE $0xb5; BYTE $0x7e; BYTE $0x73; BYTE $0x74
	BYTE $0x75; BYTE $0x76; BYTE $0x77; BYTE $0x78
	BYTE $0x79; BYTE $0x7a; BYTE $0xa1; BYTE $0xbf
	BYTE $0xd0; BYTE $0x5b; BYTE $0xde; BYTE $0xae
	BYTE $0xac; BYTE $0xa3; BYTE $0xa5; BYTE $0xb7
	BYTE $0xa9; BYTE $0xa7; BYTE $0xb6; BYTE $0xbc
	BYTE $0xbd; BYTE $0xbe; BYTE $0xdd; BYTE $0xa8
	BYTE $0xaf; BYTE $0x5d; BYTE $0xb4; BYTE $0xd7
	BYTE $0x7b; BYTE $0x41; BYTE $0x42; BYTE $0x43
	BYTE $0x44; BYTE $0x45; BYTE $0x46; BYTE $0x47
	BYTE $0x48; BYTE $0x49; BYTE $0xad; BYTE $0xf4
	BYTE $0xf6; BYTE $0xf2; BYTE $0xf3; BYTE $0xf5
	BYTE $0x7d; BYTE $0x4a; BYTE $0x4b; BYTE $0x4c
	BYTE $0x4d; BYTE $0x4e; BYTE $0x4f; BYTE $0x50
	BYTE $0x51; BYTE $0x52; BYTE $0xb9; BYTE $0xfb
	BYTE $0xfc; BYTE $0xf9; BYTE $0xfa; BYTE $0xff
	BYTE $0x5c; BYTE $0xf7; BYTE $0x53; BYTE $0x54
	BYTE $0x55; BYTE $0x56; BYTE $0x57; BYTE $0x58
	BYTE $0x59; BYTE $0x5a; BYTE $0xb2; BYTE $0xd4
	BYTE $0xd6; BYTE $0xd2; BYTE $0xd3; BYTE $0xd5
	BYTE $0x30; BYTE $0x31; BYTE $0x32; BYTE $0x33
	BYTE $0x34; BYTE $0x35; BYTE $0x36; BYTE $0x37
	BYTE $0x38; BYTE $0x39; BYTE $0xb3; BYTE $0xdb
	BYTE $0xdc; BYTE $0xd9; BYTE $0xda; BYTE $0x9f

retry:
	WORD $0xB9931022 // TROO 2,2,b'0001'
	BVS  retry
	RET


================================================
FILE: vendor/golang.org/x/sys/unix/cap_freebsd.go
================================================
// Copyright 2017 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

//go:build freebsd

package unix

import (
	"errors"
	"fmt"
)

// Go implementation of C mostly found in /usr/src/sys/kern/subr_capability.c

const (
	// This is the version of CapRights this package understands. See C implementation for parallels.
	capRightsGoVersion = CAP_RIGHTS_VERSION_00
	capArSizeMin       = CAP_RIGHTS_VERSION_00 + 2
	capArSizeMax       = capRightsGoVersion + 2
)

var (
	bit2idx = []int{
		-1, 0, 1, -1, 2, -1, -1, -1, 3, -1, -1, -1, -1, -1, -1, -1,
		4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
	}
)

func capidxbit(right uint64) int {
	return int((right >> 57) & 0x1f)
}

func rightToIndex(right uint64) (int, error) {
	idx := capidxbit(right)
	if idx < 0 || idx >= len(bit2idx) {
		return -2, fmt.Errorf("index for right 0x%x out of range", right)
	}
	return bit2idx[idx], nil
}

func caprver(right uint64) int {
	return int(right >> 62)
}

func capver(rights *CapRights) int {
	return caprver(rights.Rights[0])
}

func caparsize(rights *CapRights) int {
	return capver(rights) + 2
}

// CapRightsSet sets the permissions in setrights in rights.
func CapRightsSet(rights *CapRights, setrights []uint64) error {
	// This is essentially a copy of cap_rights_vset()
	if capver(rights) != CAP_RIGHTS_VERSION_00 {
		return fmt.Errorf("bad rights version %d", capver(rights))
	}

	n := caparsize(rights)
	if n < capArSizeMin || n > capArSizeMax {
		return errors.New("bad rights size")
	}

	for _, right := range setrights {
		if caprver(right) != CAP_RIGHTS_VERSION_00 {
			return errors.New("bad right version")
		}
		i, err := rightToIndex(right)
		if err != nil {
			return err
		}
		if i >= n {
			return errors.New("index overflow")
		}
		if capidxbit(rights.Rights[i]) != capidxbit(right) {
			return errors.New("index mismatch")
		}
		rights.Rights[i] |= right
		if capidxbit(rights.Rights[i]) != capidxbit(right) {
			return errors.New("index mismatch (after assign)")
		}
	}

	return nil
}

// CapRightsClear clears the permissions in clearrights from rights.
func CapRightsClear(rights *CapRights, clearrights []uint64) error {
	// This is essentially a copy of cap_rights_vclear()
	if capver(rights) != CAP_RIGHTS_VERSION_00 {
		return fmt.Errorf("bad rights version %d", capver(rights))
	}

	n := caparsize(rights)
	if n < capArSizeMin || n > capArSizeMax {
		return errors.New("bad rights size")
	}

	for _, right := range clearrights {
		if caprver(right) != CAP_RIGHTS_VERSION_00 {
			return errors.New("bad right version")
		}
		i, err := rightToIndex(right)
		if err != nil {
			return err
		}
		if i >= n {
			return errors.New("index overflow")
		}
		if capidxbit(rights.Rights[i]) != capidxbit(right) {
			return errors.New("index mismatch")
		}
		rights.Rights[i] &= ^(right & 0x01FFFFFFFFFFFFFF)
		if capidxbit(rights.Rights[i]) != capidxbit(right) {
			return errors.New("index mismatch (after assign)")
		}
	}

	return nil
}

// CapRightsIsSet checks whether all the permissions in setrights are present in rights.
func CapRightsIsSet(rights *CapRights, setrights []uint64) (bool, error) {
	// This is essentially a copy of cap_rights_is_vset()
	if capver(rights) != CAP_RIGHTS_VERSION_00 {
		return false, fmt.Errorf("bad rights version %d", capver(rights))
	}

	n := caparsize(rights)
	if n < capArSizeMin || n > capArSizeMax {
		return false, errors.New("bad rights size")
	}

	for _, right := range setrights {
		if caprver(right) != CAP_RIGHTS_VERSION_00 {
			return false, errors.New("bad right version")
		}
		i, err := rightToIndex(right)
		if err != nil {
			return false, err
		}
		if i >= n {
			return false, errors.New("index overflow")
		}
		if capidxbit(rights.Rights[i]) != capidxbit(right) {
			return false, errors.New("index mismatch")
		}
		if (rights.Rights[i] & right) != right {
			return false, nil
		}
	}

	return true, nil
}

func capright(idx uint64, bit uint64) uint64 {
	return ((1 << (57 + idx)) | bit)
}

// CapRightsInit returns a pointer to an initialised CapRights structure filled with rights.
// See man cap_rights_init(3) and rights(4).
func CapRightsInit(rights []uint64) (*CapRights, error) {
	var r CapRights
	r.Rights[0] = (capRightsGoVersion << 62) | capright(0, 0)
	r.Rights[1] = capright(1, 0)

	err := CapRightsSet(&r, rights)
	if err != nil {
		return nil, err
	}
	return &r, nil
}

// CapRightsLimit reduces the operations permitted on fd to at most those contained in rights.
// The capability rights on fd can never be increased by CapRightsLimit.
// See man cap_rights_limit(2) and rights(4).
func CapRightsLimit(fd uintptr, rights *CapRights) error {
	return capRightsLimit(int(fd), rights)
}

// CapRightsGet returns a CapRights structure containing the operations permitted on fd.
// See man cap_rights_get(3) and rights(4).
func CapRightsGet(fd uintptr) (*CapRights, error) {
	r, err := CapRightsInit(nil)
	if err != nil {
		return nil, err
	}
	err = capRightsGet(capRightsGoVersion, int(fd), r)
	if err != nil {
		return nil, err
	}
	return r, nil
}


================================================
FILE: vendor/golang.org/x/sys/unix/constants.go
================================================
// Copyright 2015 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

//go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos

package unix

const (
	R_OK = 0x4
	W_OK = 0x2
	X_OK = 0x1
)


================================================
FILE: vendor/golang.org/x/sys/unix/dev_aix_ppc.go
================================================
// Copyright 2018 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

//go:build aix && ppc

// Functions to access/create device major and minor numbers matching the
// encoding used by AIX.

package unix

// Major returns the major component of a Linux device number.
func Major(dev uint64) uint32 {
	return uint32((dev >> 16) & 0xffff)
}

// Minor returns the minor component of a Linux device number.
func Minor(dev uint64) uint32 {
	return uint32(dev & 0xffff)
}

// Mkdev returns a Linux device number generated from the given major and minor
// components.
func Mkdev(major, minor uint32) uint64 {
	return uint64(((major) << 16) | (minor))
}


================================================
FILE: vendor/golang.org/x/sys/unix/dev_aix_ppc64.go
================================================
// Copyright 2018 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

//go:build aix && ppc64

// Functions to access/create device major and minor numbers matching the
// encoding used AIX.

package unix

// Major returns the major component of a Linux device number.
func Major(dev uint64) uint32 {
	return uint32((dev & 0x3fffffff00000000) >> 32)
}

// Minor returns the minor component of a Linux device number.
func Minor(dev uint64) uint32 {
	return uint32((dev & 0x00000000ffffffff) >> 0)
}

// Mkdev returns a Linux device number generated from the given major and minor
// components.
func Mkdev(ma
Download .txt
gitextract_e3224pot/

├── .github/
│   ├── FUNDING.yml
│   └── workflows/
│       ├── go-presubmit.yml
│       └── goreleaser.yml
├── .gitignore
├── .goreleaser.yaml
├── LICENSE
├── PKGBUILD
├── README.md
├── gauth/
│   ├── gauth.go
│   ├── gauth_test.go
│   └── testdata/
│       ├── encrypted.csv
│       └── plaintext.csv
├── gauth.go
├── go.mod
├── go.sum
└── vendor/
    ├── github.com/
    │   └── creachadair/
    │       ├── otp/
    │       │   ├── .gitignore
    │       │   ├── LICENSE
    │       │   ├── README.md
    │       │   ├── notes.txt
    │       │   ├── otp.go
    │       │   └── otpauth/
    │       │       ├── migration.go
    │       │       └── otpauth.go
    │       └── wirepb/
    │           ├── LICENSE
    │           ├── README.md
    │           ├── enums.go
    │           └── wirepb.go
    ├── golang.org/
    │   └── x/
    │       ├── sys/
    │       │   ├── LICENSE
    │       │   ├── PATENTS
    │       │   ├── plan9/
    │       │   │   ├── asm.s
    │       │   │   ├── asm_plan9_386.s
    │       │   │   ├── asm_plan9_amd64.s
    │       │   │   ├── asm_plan9_arm.s
    │       │   │   ├── const_plan9.go
    │       │   │   ├── dir_plan9.go
    │       │   │   ├── env_plan9.go
    │       │   │   ├── errors_plan9.go
    │       │   │   ├── mkall.sh
    │       │   │   ├── mkerrors.sh
    │       │   │   ├── mksysnum_plan9.sh
    │       │   │   ├── pwd_go15_plan9.go
    │       │   │   ├── pwd_plan9.go
    │       │   │   ├── race.go
    │       │   │   ├── race0.go
    │       │   │   ├── str.go
    │       │   │   ├── syscall.go
    │       │   │   ├── syscall_plan9.go
    │       │   │   ├── zsyscall_plan9_386.go
    │       │   │   ├── zsyscall_plan9_amd64.go
    │       │   │   ├── zsyscall_plan9_arm.go
    │       │   │   └── zsysnum_plan9.go
    │       │   ├── unix/
    │       │   │   ├── .gitignore
    │       │   │   ├── README.md
    │       │   │   ├── affinity_linux.go
    │       │   │   ├── aliases.go
    │       │   │   ├── asm_aix_ppc64.s
    │       │   │   ├── asm_bsd_386.s
    │       │   │   ├── asm_bsd_amd64.s
    │       │   │   ├── asm_bsd_arm.s
    │       │   │   ├── asm_bsd_arm64.s
    │       │   │   ├── asm_bsd_ppc64.s
    │       │   │   ├── asm_bsd_riscv64.s
    │       │   │   ├── asm_linux_386.s
    │       │   │   ├── asm_linux_amd64.s
    │       │   │   ├── asm_linux_arm.s
    │       │   │   ├── asm_linux_arm64.s
    │       │   │   ├── asm_linux_loong64.s
    │       │   │   ├── asm_linux_mips64x.s
    │       │   │   ├── asm_linux_mipsx.s
    │       │   │   ├── asm_linux_ppc64x.s
    │       │   │   ├── asm_linux_riscv64.s
    │       │   │   ├── asm_linux_s390x.s
    │       │   │   ├── asm_openbsd_mips64.s
    │       │   │   ├── asm_solaris_amd64.s
    │       │   │   ├── asm_zos_s390x.s
    │       │   │   ├── auxv.go
    │       │   │   ├── auxv_unsupported.go
    │       │   │   ├── bluetooth_linux.go
    │       │   │   ├── bpxsvc_zos.go
    │       │   │   ├── bpxsvc_zos.s
    │       │   │   ├── cap_freebsd.go
    │       │   │   ├── constants.go
    │       │   │   ├── dev_aix_ppc.go
    │       │   │   ├── dev_aix_ppc64.go
    │       │   │   ├── dev_darwin.go
    │       │   │   ├── dev_dragonfly.go
    │       │   │   ├── dev_freebsd.go
    │       │   │   ├── dev_linux.go
    │       │   │   ├── dev_netbsd.go
    │       │   │   ├── dev_openbsd.go
    │       │   │   ├── dev_zos.go
    │       │   │   ├── dirent.go
    │       │   │   ├── endian_big.go
    │       │   │   ├── endian_little.go
    │       │   │   ├── env_unix.go
    │       │   │   ├── fcntl.go
    │       │   │   ├── fcntl_darwin.go
    │       │   │   ├── fcntl_linux_32bit.go
    │       │   │   ├── fdset.go
    │       │   │   ├── gccgo.go
    │       │   │   ├── gccgo_c.c
    │       │   │   ├── gccgo_linux_amd64.go
    │       │   │   ├── ifreq_linux.go
    │       │   │   ├── ioctl_linux.go
    │       │   │   ├── ioctl_signed.go
    │       │   │   ├── ioctl_unsigned.go
    │       │   │   ├── ioctl_zos.go
    │       │   │   ├── mkall.sh
    │       │   │   ├── mkerrors.sh
    │       │   │   ├── mmap_nomremap.go
    │       │   │   ├── mremap.go
    │       │   │   ├── pagesize_unix.go
    │       │   │   ├── pledge_openbsd.go
    │       │   │   ├── ptrace_darwin.go
    │       │   │   ├── ptrace_ios.go
    │       │   │   ├── race.go
    │       │   │   ├── race0.go
    │       │   │   ├── readdirent_getdents.go
    │       │   │   ├── readdirent_getdirentries.go
    │       │   │   ├── sockcmsg_dragonfly.go
    │       │   │   ├── sockcmsg_linux.go
    │       │   │   ├── sockcmsg_unix.go
    │       │   │   ├── sockcmsg_unix_other.go
    │       │   │   ├── sockcmsg_zos.go
    │       │   │   ├── symaddr_zos_s390x.s
    │       │   │   ├── syscall.go
    │       │   │   ├── syscall_aix.go
    │       │   │   ├── syscall_aix_ppc.go
    │       │   │   ├── syscall_aix_ppc64.go
    │       │   │   ├── syscall_bsd.go
    │       │   │   ├── syscall_darwin.go
    │       │   │   ├── syscall_darwin_amd64.go
    │       │   │   ├── syscall_darwin_arm64.go
    │       │   │   ├── syscall_darwin_libSystem.go
    │       │   │   ├── syscall_dragonfly.go
    │       │   │   ├── syscall_dragonfly_amd64.go
    │       │   │   ├── syscall_freebsd.go
    │       │   │   ├── syscall_freebsd_386.go
    │       │   │   ├── syscall_freebsd_amd64.go
    │       │   │   ├── syscall_freebsd_arm.go
    │       │   │   ├── syscall_freebsd_arm64.go
    │       │   │   ├── syscall_freebsd_riscv64.go
    │       │   │   ├── syscall_hurd.go
    │       │   │   ├── syscall_hurd_386.go
    │       │   │   ├── syscall_illumos.go
    │       │   │   ├── syscall_linux.go
    │       │   │   ├── syscall_linux_386.go
    │       │   │   ├── syscall_linux_alarm.go
    │       │   │   ├── syscall_linux_amd64.go
    │       │   │   ├── syscall_linux_amd64_gc.go
    │       │   │   ├── syscall_linux_arm.go
    │       │   │   ├── syscall_linux_arm64.go
    │       │   │   ├── syscall_linux_gc.go
    │       │   │   ├── syscall_linux_gc_386.go
    │       │   │   ├── syscall_linux_gc_arm.go
    │       │   │   ├── syscall_linux_gccgo_386.go
    │       │   │   ├── syscall_linux_gccgo_arm.go
    │       │   │   ├── syscall_linux_loong64.go
    │       │   │   ├── syscall_linux_mips64x.go
    │       │   │   ├── syscall_linux_mipsx.go
    │       │   │   ├── syscall_linux_ppc.go
    │       │   │   ├── syscall_linux_ppc64x.go
    │       │   │   ├── syscall_linux_riscv64.go
    │       │   │   ├── syscall_linux_s390x.go
    │       │   │   ├── syscall_linux_sparc64.go
    │       │   │   ├── syscall_netbsd.go
    │       │   │   ├── syscall_netbsd_386.go
    │       │   │   ├── syscall_netbsd_amd64.go
    │       │   │   ├── syscall_netbsd_arm.go
    │       │   │   ├── syscall_netbsd_arm64.go
    │       │   │   ├── syscall_openbsd.go
    │       │   │   ├── syscall_openbsd_386.go
    │       │   │   ├── syscall_openbsd_amd64.go
    │       │   │   ├── syscall_openbsd_arm.go
    │       │   │   ├── syscall_openbsd_arm64.go
    │       │   │   ├── syscall_openbsd_libc.go
    │       │   │   ├── syscall_openbsd_mips64.go
    │       │   │   ├── syscall_openbsd_ppc64.go
    │       │   │   ├── syscall_openbsd_riscv64.go
    │       │   │   ├── syscall_solaris.go
    │       │   │   ├── syscall_solaris_amd64.go
    │       │   │   ├── syscall_unix.go
    │       │   │   ├── syscall_unix_gc.go
    │       │   │   ├── syscall_unix_gc_ppc64x.go
    │       │   │   ├── syscall_zos_s390x.go
    │       │   │   ├── sysvshm_linux.go
    │       │   │   ├── sysvshm_unix.go
    │       │   │   ├── sysvshm_unix_other.go
    │       │   │   ├── timestruct.go
    │       │   │   ├── unveil_openbsd.go
    │       │   │   ├── vgetrandom_linux.go
    │       │   │   ├── vgetrandom_unsupported.go
    │       │   │   ├── xattr_bsd.go
    │       │   │   ├── zerrors_aix_ppc.go
    │       │   │   ├── zerrors_aix_ppc64.go
    │       │   │   ├── zerrors_darwin_amd64.go
    │       │   │   ├── zerrors_darwin_arm64.go
    │       │   │   ├── zerrors_dragonfly_amd64.go
    │       │   │   ├── zerrors_freebsd_386.go
    │       │   │   ├── zerrors_freebsd_amd64.go
    │       │   │   ├── zerrors_freebsd_arm.go
    │       │   │   ├── zerrors_freebsd_arm64.go
    │       │   │   ├── zerrors_freebsd_riscv64.go
    │       │   │   ├── zerrors_linux.go
    │       │   │   ├── zerrors_linux_386.go
    │       │   │   ├── zerrors_linux_amd64.go
    │       │   │   ├── zerrors_linux_arm.go
    │       │   │   ├── zerrors_linux_arm64.go
    │       │   │   ├── zerrors_linux_loong64.go
    │       │   │   ├── zerrors_linux_mips.go
    │       │   │   ├── zerrors_linux_mips64.go
    │       │   │   ├── zerrors_linux_mips64le.go
    │       │   │   ├── zerrors_linux_mipsle.go
    │       │   │   ├── zerrors_linux_ppc.go
    │       │   │   ├── zerrors_linux_ppc64.go
    │       │   │   ├── zerrors_linux_ppc64le.go
    │       │   │   ├── zerrors_linux_riscv64.go
    │       │   │   ├── zerrors_linux_s390x.go
    │       │   │   ├── zerrors_linux_sparc64.go
    │       │   │   ├── zerrors_netbsd_386.go
    │       │   │   ├── zerrors_netbsd_amd64.go
    │       │   │   ├── zerrors_netbsd_arm.go
    │       │   │   ├── zerrors_netbsd_arm64.go
    │       │   │   ├── zerrors_openbsd_386.go
    │       │   │   ├── zerrors_openbsd_amd64.go
    │       │   │   ├── zerrors_openbsd_arm.go
    │       │   │   ├── zerrors_openbsd_arm64.go
    │       │   │   ├── zerrors_openbsd_mips64.go
    │       │   │   ├── zerrors_openbsd_ppc64.go
    │       │   │   ├── zerrors_openbsd_riscv64.go
    │       │   │   ├── zerrors_solaris_amd64.go
    │       │   │   ├── zerrors_zos_s390x.go
    │       │   │   ├── zptrace_armnn_linux.go
    │       │   │   ├── zptrace_linux_arm64.go
    │       │   │   ├── zptrace_mipsnn_linux.go
    │       │   │   ├── zptrace_mipsnnle_linux.go
    │       │   │   ├── zptrace_x86_linux.go
    │       │   │   ├── zsymaddr_zos_s390x.s
    │       │   │   ├── zsyscall_aix_ppc.go
    │       │   │   ├── zsyscall_aix_ppc64.go
    │       │   │   ├── zsyscall_aix_ppc64_gc.go
    │       │   │   ├── zsyscall_aix_ppc64_gccgo.go
    │       │   │   ├── zsyscall_darwin_amd64.go
    │       │   │   ├── zsyscall_darwin_amd64.s
    │       │   │   ├── zsyscall_darwin_arm64.go
    │       │   │   ├── zsyscall_darwin_arm64.s
    │       │   │   ├── zsyscall_dragonfly_amd64.go
    │       │   │   ├── zsyscall_freebsd_386.go
    │       │   │   ├── zsyscall_freebsd_amd64.go
    │       │   │   ├── zsyscall_freebsd_arm.go
    │       │   │   ├── zsyscall_freebsd_arm64.go
    │       │   │   ├── zsyscall_freebsd_riscv64.go
    │       │   │   ├── zsyscall_illumos_amd64.go
    │       │   │   ├── zsyscall_linux.go
    │       │   │   ├── zsyscall_linux_386.go
    │       │   │   ├── zsyscall_linux_amd64.go
    │       │   │   ├── zsyscall_linux_arm.go
    │       │   │   ├── zsyscall_linux_arm64.go
    │       │   │   ├── zsyscall_linux_loong64.go
    │       │   │   ├── zsyscall_linux_mips.go
    │       │   │   ├── zsyscall_linux_mips64.go
    │       │   │   ├── zsyscall_linux_mips64le.go
    │       │   │   ├── zsyscall_linux_mipsle.go
    │       │   │   ├── zsyscall_linux_ppc.go
    │       │   │   ├── zsyscall_linux_ppc64.go
    │       │   │   ├── zsyscall_linux_ppc64le.go
    │       │   │   ├── zsyscall_linux_riscv64.go
    │       │   │   ├── zsyscall_linux_s390x.go
    │       │   │   ├── zsyscall_linux_sparc64.go
    │       │   │   ├── zsyscall_netbsd_386.go
    │       │   │   ├── zsyscall_netbsd_amd64.go
    │       │   │   ├── zsyscall_netbsd_arm.go
    │       │   │   ├── zsyscall_netbsd_arm64.go
    │       │   │   ├── zsyscall_openbsd_386.go
    │       │   │   ├── zsyscall_openbsd_386.s
    │       │   │   ├── zsyscall_openbsd_amd64.go
    │       │   │   ├── zsyscall_openbsd_amd64.s
    │       │   │   ├── zsyscall_openbsd_arm.go
    │       │   │   ├── zsyscall_openbsd_arm.s
    │       │   │   ├── zsyscall_openbsd_arm64.go
    │       │   │   ├── zsyscall_openbsd_arm64.s
    │       │   │   ├── zsyscall_openbsd_mips64.go
    │       │   │   ├── zsyscall_openbsd_mips64.s
    │       │   │   ├── zsyscall_openbsd_ppc64.go
    │       │   │   ├── zsyscall_openbsd_ppc64.s
    │       │   │   ├── zsyscall_openbsd_riscv64.go
    │       │   │   ├── zsyscall_openbsd_riscv64.s
    │       │   │   ├── zsyscall_solaris_amd64.go
    │       │   │   ├── zsyscall_zos_s390x.go
    │       │   │   ├── zsysctl_openbsd_386.go
    │       │   │   ├── zsysctl_openbsd_amd64.go
    │       │   │   ├── zsysctl_openbsd_arm.go
    │       │   │   ├── zsysctl_openbsd_arm64.go
    │       │   │   ├── zsysctl_openbsd_mips64.go
    │       │   │   ├── zsysctl_openbsd_ppc64.go
    │       │   │   ├── zsysctl_openbsd_riscv64.go
    │       │   │   ├── zsysnum_darwin_amd64.go
    │       │   │   ├── zsysnum_darwin_arm64.go
    │       │   │   ├── zsysnum_dragonfly_amd64.go
    │       │   │   ├── zsysnum_freebsd_386.go
    │       │   │   ├── zsysnum_freebsd_amd64.go
    │       │   │   ├── zsysnum_freebsd_arm.go
    │       │   │   ├── zsysnum_freebsd_arm64.go
    │       │   │   ├── zsysnum_freebsd_riscv64.go
    │       │   │   ├── zsysnum_linux_386.go
    │       │   │   ├── zsysnum_linux_amd64.go
    │       │   │   ├── zsysnum_linux_arm.go
    │       │   │   ├── zsysnum_linux_arm64.go
    │       │   │   ├── zsysnum_linux_loong64.go
    │       │   │   ├── zsysnum_linux_mips.go
    │       │   │   ├── zsysnum_linux_mips64.go
    │       │   │   ├── zsysnum_linux_mips64le.go
    │       │   │   ├── zsysnum_linux_mipsle.go
    │       │   │   ├── zsysnum_linux_ppc.go
    │       │   │   ├── zsysnum_linux_ppc64.go
    │       │   │   ├── zsysnum_linux_ppc64le.go
    │       │   │   ├── zsysnum_linux_riscv64.go
    │       │   │   ├── zsysnum_linux_s390x.go
    │       │   │   ├── zsysnum_linux_sparc64.go
    │       │   │   ├── zsysnum_netbsd_386.go
    │       │   │   ├── zsysnum_netbsd_amd64.go
    │       │   │   ├── zsysnum_netbsd_arm.go
    │       │   │   ├── zsysnum_netbsd_arm64.go
    │       │   │   ├── zsysnum_openbsd_386.go
    │       │   │   ├── zsysnum_openbsd_amd64.go
    │       │   │   ├── zsysnum_openbsd_arm.go
    │       │   │   ├── zsysnum_openbsd_arm64.go
    │       │   │   ├── zsysnum_openbsd_mips64.go
    │       │   │   ├── zsysnum_openbsd_ppc64.go
    │       │   │   ├── zsysnum_openbsd_riscv64.go
    │       │   │   ├── zsysnum_zos_s390x.go
    │       │   │   ├── ztypes_aix_ppc.go
    │       │   │   ├── ztypes_aix_ppc64.go
    │       │   │   ├── ztypes_darwin_amd64.go
    │       │   │   ├── ztypes_darwin_arm64.go
    │       │   │   ├── ztypes_dragonfly_amd64.go
    │       │   │   ├── ztypes_freebsd_386.go
    │       │   │   ├── ztypes_freebsd_amd64.go
    │       │   │   ├── ztypes_freebsd_arm.go
    │       │   │   ├── ztypes_freebsd_arm64.go
    │       │   │   ├── ztypes_freebsd_riscv64.go
    │       │   │   ├── ztypes_linux.go
    │       │   │   ├── ztypes_linux_386.go
    │       │   │   ├── ztypes_linux_amd64.go
    │       │   │   ├── ztypes_linux_arm.go
    │       │   │   ├── ztypes_linux_arm64.go
    │       │   │   ├── ztypes_linux_loong64.go
    │       │   │   ├── ztypes_linux_mips.go
    │       │   │   ├── ztypes_linux_mips64.go
    │       │   │   ├── ztypes_linux_mips64le.go
    │       │   │   ├── ztypes_linux_mipsle.go
    │       │   │   ├── ztypes_linux_ppc.go
    │       │   │   ├── ztypes_linux_ppc64.go
    │       │   │   ├── ztypes_linux_ppc64le.go
    │       │   │   ├── ztypes_linux_riscv64.go
    │       │   │   ├── ztypes_linux_s390x.go
    │       │   │   ├── ztypes_linux_sparc64.go
    │       │   │   ├── ztypes_netbsd_386.go
    │       │   │   ├── ztypes_netbsd_amd64.go
    │       │   │   ├── ztypes_netbsd_arm.go
    │       │   │   ├── ztypes_netbsd_arm64.go
    │       │   │   ├── ztypes_openbsd_386.go
    │       │   │   ├── ztypes_openbsd_amd64.go
    │       │   │   ├── ztypes_openbsd_arm.go
    │       │   │   ├── ztypes_openbsd_arm64.go
    │       │   │   ├── ztypes_openbsd_mips64.go
    │       │   │   ├── ztypes_openbsd_ppc64.go
    │       │   │   ├── ztypes_openbsd_riscv64.go
    │       │   │   ├── ztypes_solaris_amd64.go
    │       │   │   └── ztypes_zos_s390x.go
    │       │   └── windows/
    │       │       ├── aliases.go
    │       │       ├── dll_windows.go
    │       │       ├── env_windows.go
    │       │       ├── eventlog.go
    │       │       ├── exec_windows.go
    │       │       ├── memory_windows.go
    │       │       ├── mkerrors.bash
    │       │       ├── mkknownfolderids.bash
    │       │       ├── mksyscall.go
    │       │       ├── race.go
    │       │       ├── race0.go
    │       │       ├── security_windows.go
    │       │       ├── service.go
    │       │       ├── setupapi_windows.go
    │       │       ├── str.go
    │       │       ├── syscall.go
    │       │       ├── syscall_windows.go
    │       │       ├── types_windows.go
    │       │       ├── types_windows_386.go
    │       │       ├── types_windows_amd64.go
    │       │       ├── types_windows_arm.go
    │       │       ├── types_windows_arm64.go
    │       │       ├── zerrors_windows.go
    │       │       ├── zknownfolderids_windows.go
    │       │       └── zsyscall_windows.go
    │       └── term/
    │           ├── CONTRIBUTING.md
    │           ├── LICENSE
    │           ├── PATENTS
    │           ├── README.md
    │           ├── codereview.cfg
    │           ├── term.go
    │           ├── term_plan9.go
    │           ├── term_unix.go
    │           ├── term_unix_bsd.go
    │           ├── term_unix_other.go
    │           ├── term_unsupported.go
    │           ├── term_windows.go
    │           └── terminal.go
    └── modules.txt
Download .txt
Showing preview only (8,094K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (96039 symbols across 332 files)

FILE: gauth.go
  type command (line 19) | type command struct
  function findCommand (line 63) | func findCommand(arg string) *command {
  function printUsage (line 77) | func printUsage() {
  function isHelpFlag (line 91) | func isHelpFlag(arg string) bool {
  function shouldShowHelp (line 95) | func shouldShowHelp() bool {
  function matchAccount (line 114) | func matchAccount(pattern, account string) bool {
  function main (line 118) | func main() {
  function getPassword (line 146) | func getPassword() ([]byte, error) {
  function getConfigPath (line 152) | func getConfigPath() string {
  function loadConfig (line 163) | func loadConfig() error {
  function getUrls (line 184) | func getUrls() []*otpauth.URL {
  function getRawConfig (line 191) | func getRawConfig() []byte {
  function printBareCode (line 198) | func printBareCode(accountName string, urls []*otpauth.URL) {
  function printSecret (line 211) | func printSecret(accountName string, urls []*otpauth.URL) {
  function addCode (line 220) | func addCode(accountName string) {
  function removeCode (line 251) | func removeCode(accountName string) {
  function buildNewConfig (line 274) | func buildNewConfig(accountName string, rawConfig []byte) (string, bool) {
  function confirmRemoval (line 296) | func confirmRemoval(accountName string) bool {
  function updateConfig (line 303) | func updateConfig(currentConfig, accountName, key string) string {
  function validateAndSaveConfig (line 314) | func validateAndSaveConfig(cfgPath string, password []byte, newConfig, a...
  function accountExists (line 324) | func accountExists(accountName string, rawConfig []byte) bool {
  function handleEncryption (line 341) | func handleEncryption(cfgPath string) ([]byte, error) {
  function printCodes (line 356) | func printCodes(urls []*otpauth.URL, filter string) {
  function makeProgressBar (line 384) | func makeProgressBar(elapsed, period int) string {
  function readNewKey (line 390) | func readNewKey(accountName string) string {

FILE: gauth/gauth.go
  constant saltedPrefix (line 23) | saltedPrefix  = "Salted__"
  constant aesKeySize (line 24) | aesKeySize    = 16
  constant DefaultPeriod (line 25) | DefaultPeriod = 30
  constant blockSize (line 26) | blockSize     = 16
  constant saltOffset (line 27) | saltOffset    = 8
  constant saltSize (line 28) | saltSize      = 8
  constant minPadding (line 29) | minPadding    = 1
  function pickAlgorithm (line 34) | func pickAlgorithm(name string) (func() hash.Hash, error) {
  function Codes (line 48) | func Codes(u *otpauth.URL) (prev, curr, next string, _ error) {
  function CodesAtTimeStep (line 59) | func CodesAtTimeStep(u *otpauth.URL, timeStep uint64) (prev, curr, next ...
  function ReadConfigFile (line 81) | func ReadConfigFile(path string) ([]byte, bool, error) {
  function LoadConfigFile (line 96) | func LoadConfigFile(path string, getPass func() ([]byte, error)) ([]byte...
  function decryptConfig (line 115) | func decryptConfig(data, passwd []byte) ([]byte, error) {
  function deriveKeyAndIV (line 137) | func deriveKeyAndIV(passwd, salt []byte) (key, iv []byte) {
  function removePadding (line 146) | func removePadding(data []byte) ([]byte, error) {
  function WriteConfigFile (line 167) | func WriteConfigFile(path string, passwd []byte, newConfig []byte) error {
  function encryptConfig (line 190) | func encryptConfig(salt, passwd, config []byte) ([]byte, error) {
  function ParseConfig (line 218) | func ParseConfig(data []byte) ([]*otpauth.URL, error) {
  function parseConfigLine (line 241) | func parseConfigLine(line string, lineNum int) (*otpauth.URL, error) {

FILE: gauth/gauth_test.go
  function TestCodes (line 11) | func TestCodes(t *testing.T) {
  function TestLoadConfig (line 37) | func TestLoadConfig(t *testing.T) {

FILE: vendor/github.com/creachadair/otp/otp.go
  function DefaultTOTP (line 24) | func DefaultTOTP(key string) (string, error) {
  function DefaultHOTP (line 35) | func DefaultHOTP(key string, counter uint64) (string, error) {
  function TimeWindow (line 45) | func TimeWindow(n int) func() uint64 {
  type Config (line 54) | type Config struct
    method ParseKey (line 72) | func (c *Config) ParseKey(s string) error {
    method HOTP (line 93) | func (c Config) HOTP(counter uint64) string {
    method Next (line 103) | func (c *Config) Next() string { c.Counter++; return c.HOTP(c.Counter) }
    method TOTP (line 107) | func (c Config) TOTP() string {
    method newHash (line 111) | func (c Config) newHash() func() hash.Hash {
    method digits (line 118) | func (c Config) digits() int {
    method timeStepWindow (line 125) | func (c Config) timeStepWindow() uint64 {
    method hmac (line 132) | func (c Config) hmac(counter uint64) []byte {
    method format (line 140) | func (c Config) format(v []byte, nd int) string {
  function ParseKey (line 84) | func ParseKey(s string) ([]byte, error) {
  function Truncate (line 152) | func Truncate(digest []byte) uint64 {
  function formatDecimal (line 161) | func formatDecimal(hash []byte, width int) string {
  function FormatAlphabet (line 174) | func FormatAlphabet(alphabet string) func([]byte, int) string {

FILE: vendor/github.com/creachadair/otp/otpauth/migration.go
  function ParseMigrationURL (line 26) | func ParseMigrationURL(s string) ([]*URL, error) {
  function parseMigrations (line 78) | func parseMigrations(data []byte) ([]*URL, error) {
  function parseParams (line 100) | func parseParams(data []byte) (*URL, error) {

FILE: vendor/github.com/creachadair/otp/otpauth/otpauth.go
  constant defaultAlgorithm (line 25) | defaultAlgorithm = "SHA1"
  constant defaultDigits (line 26) | defaultDigits    = 6
  constant defaultPeriod (line 27) | defaultPeriod    = 30
  type URL (line 31) | type URL struct
    method Secret (line 43) | func (u *URL) Secret() ([]byte, error) { return otp.ParseKey(u.RawSecr...
    method SetSecret (line 46) | func (u *URL) SetSecret(key []byte) {
    method String (line 52) | func (u *URL) String() string {
    method UnmarshalText (line 90) | func (u *URL) UnmarshalText(data []byte) error {
    method MarshalText (line 101) | func (u *URL) MarshalText() ([]byte, error) {
    method labelString (line 105) | func (u *URL) labelString() string {
    method parseLabel (line 113) | func (u *URL) parseLabel(s string) error {
  function ParseURL (line 142) | func ParseURL(s string) (*URL, error) {
  function queryEscape (line 223) | func queryEscape(s string) string {

FILE: vendor/github.com/creachadair/wirepb/enums.go
  type Type (line 6) | type Type struct
    method Enum (line 9) | func (Type) Enum() string { return "Type" }
    method String (line 12) | func (v Type) String() string { return _str_Type[v._Type] }
    method Valid (line 15) | func (v Type) Valid() bool { return v._Type > 0 && int(v._Type) < len(...
    method Index (line 18) | func (v Type) Index() int { return _idx_Type[v._Type] }

FILE: vendor/github.com/creachadair/wirepb/wirepb.go
  type Scanner (line 36) | type Scanner struct
    method Type (line 53) | func (s *Scanner) Type() Type { return s.tok }
    method Data (line 58) | func (s *Scanner) Data() []byte { return s.data }
    method ID (line 61) | func (s *Scanner) ID() int { return s.id }
    method Next (line 65) | func (s *Scanner) Next() error {
    method Err (line 118) | func (s *Scanner) Err() error { return s.err }
    method fail (line 120) | func (s *Scanner) fail(err error) error { s.err = err; return err }
    method failf (line 122) | func (s *Scanner) failf(msg string, args ...any) error { return s.fail...
  function NewScanner (line 47) | func NewScanner(r io.Reader) *Scanner {

FILE: vendor/golang.org/x/sys/plan9/const_plan9.go
  constant O_RDONLY (line 7) | O_RDONLY  = 0
  constant O_WRONLY (line 8) | O_WRONLY  = 1
  constant O_RDWR (line 9) | O_RDWR    = 2
  constant O_TRUNC (line 10) | O_TRUNC   = 16
  constant O_CLOEXEC (line 11) | O_CLOEXEC = 32
  constant O_EXCL (line 12) | O_EXCL    = 0x1000
  constant RFNAMEG (line 17) | RFNAMEG  = 1 << 0
  constant RFENVG (line 18) | RFENVG   = 1 << 1
  constant RFFDG (line 19) | RFFDG    = 1 << 2
  constant RFNOTEG (line 20) | RFNOTEG  = 1 << 3
  constant RFPROC (line 21) | RFPROC   = 1 << 4
  constant RFMEM (line 22) | RFMEM    = 1 << 5
  constant RFNOWAIT (line 23) | RFNOWAIT = 1 << 6
  constant RFCNAMEG (line 24) | RFCNAMEG = 1 << 10
  constant RFCENVG (line 25) | RFCENVG  = 1 << 11
  constant RFCFDG (line 26) | RFCFDG   = 1 << 12
  constant RFREND (line 27) | RFREND   = 1 << 13
  constant RFNOMNT (line 28) | RFNOMNT  = 1 << 14
  constant QTDIR (line 33) | QTDIR    = 0x80
  constant QTAPPEND (line 34) | QTAPPEND = 0x40
  constant QTEXCL (line 35) | QTEXCL   = 0x20
  constant QTMOUNT (line 36) | QTMOUNT  = 0x10
  constant QTAUTH (line 37) | QTAUTH   = 0x08
  constant QTTMP (line 38) | QTTMP    = 0x04
  constant QTFILE (line 39) | QTFILE   = 0x00
  constant DMDIR (line 44) | DMDIR    = 0x80000000
  constant DMAPPEND (line 45) | DMAPPEND = 0x40000000
  constant DMEXCL (line 46) | DMEXCL   = 0x20000000
  constant DMMOUNT (line 47) | DMMOUNT  = 0x10000000
  constant DMAUTH (line 48) | DMAUTH   = 0x08000000
  constant DMTMP (line 49) | DMTMP    = 0x04000000
  constant DMREAD (line 50) | DMREAD   = 0x4
  constant DMWRITE (line 51) | DMWRITE  = 0x2
  constant DMEXEC (line 52) | DMEXEC   = 0x1
  constant STATMAX (line 56) | STATMAX    = 65535
  constant ERRMAX (line 57) | ERRMAX     = 128
  constant STATFIXLEN (line 58) | STATFIXLEN = 49
  constant MREPL (line 63) | MREPL   = 0x0000
  constant MBEFORE (line 64) | MBEFORE = 0x0001
  constant MAFTER (line 65) | MAFTER  = 0x0002
  constant MORDER (line 66) | MORDER  = 0x0003
  constant MCREATE (line 67) | MCREATE = 0x0004
  constant MCACHE (line 68) | MCACHE  = 0x0010
  constant MMASK (line 69) | MMASK   = 0x0017

FILE: vendor/golang.org/x/sys/plan9/dir_plan9.go
  type Qid (line 18) | type Qid struct
  type Dir (line 25) | type Dir struct
    method Null (line 58) | func (d *Dir) Null() { *d = nullDir }
    method Marshal (line 63) | func (d *Dir) Marshal(b []byte) (n int, err error) {
  function UnmarshalDir (line 98) | func UnmarshalDir(b []byte) (*Dir, error) {
  function pbit8 (line 139) | func pbit8(b []byte, v uint8) []byte {
  function pbit16 (line 145) | func pbit16(b []byte, v uint16) []byte {
  function pbit32 (line 152) | func pbit32(b []byte, v uint32) []byte {
  function pbit64 (line 161) | func pbit64(b []byte, v uint64) []byte {
  function pstring (line 175) | func pstring(b []byte, s string) []byte {
  function gbit8 (line 182) | func gbit8(b []byte) (uint8, []byte) {
  function gbit16 (line 187) | func gbit16(b []byte) (uint16, []byte) {
  function gbit32 (line 192) | func gbit32(b []byte) (uint32, []byte) {
  function gbit64 (line 197) | func gbit64(b []byte) (uint64, []byte) {
  function gstring (line 206) | func gstring(b []byte) (string, []byte, bool) {

FILE: vendor/golang.org/x/sys/plan9/env_plan9.go
  function Getenv (line 13) | func Getenv(key string) (value string, found bool) {
  function Setenv (line 17) | func Setenv(key, value string) error {
  function Clearenv (line 21) | func Clearenv() {
  function Environ (line 25) | func Environ() []string {
  function Unsetenv (line 29) | func Unsetenv(key string) error {

FILE: vendor/golang.org/x/sys/plan9/errors_plan9.go
  constant O_CREAT (line 12) | O_CREAT    = 0x02000
  constant O_APPEND (line 13) | O_APPEND   = 0x00400
  constant O_NOCTTY (line 14) | O_NOCTTY   = 0x00000
  constant O_NONBLOCK (line 15) | O_NONBLOCK = 0x00000
  constant O_SYNC (line 16) | O_SYNC     = 0x00000
  constant O_ASYNC (line 17) | O_ASYNC    = 0x00000
  constant S_IFMT (line 19) | S_IFMT   = 0x1f000
  constant S_IFIFO (line 20) | S_IFIFO  = 0x1000
  constant S_IFCHR (line 21) | S_IFCHR  = 0x2000
  constant S_IFDIR (line 22) | S_IFDIR  = 0x4000
  constant S_IFBLK (line 23) | S_IFBLK  = 0x6000
  constant S_IFREG (line 24) | S_IFREG  = 0x8000
  constant S_IFLNK (line 25) | S_IFLNK  = 0xa000
  constant S_IFSOCK (line 26) | S_IFSOCK = 0xc000

FILE: vendor/golang.org/x/sys/plan9/pwd_go15_plan9.go
  function fixwd (line 11) | func fixwd() {
  function Getwd (line 15) | func Getwd() (wd string, err error) {
  function Chdir (line 19) | func Chdir(path string) error {

FILE: vendor/golang.org/x/sys/plan9/pwd_plan9.go
  function fixwd (line 9) | func fixwd() {
  function Getwd (line 12) | func Getwd() (wd string, err error) {
  function Chdir (line 21) | func Chdir(path string) error {

FILE: vendor/golang.org/x/sys/plan9/race.go
  constant raceenabled (line 14) | raceenabled = true
  function raceAcquire (line 16) | func raceAcquire(addr unsafe.Pointer) {
  function raceReleaseMerge (line 20) | func raceReleaseMerge(addr unsafe.Pointer) {
  function raceReadRange (line 24) | func raceReadRange(addr unsafe.Pointer, len int) {
  function raceWriteRange (line 28) | func raceWriteRange(addr unsafe.Pointer, len int) {

FILE: vendor/golang.org/x/sys/plan9/race0.go
  constant raceenabled (line 13) | raceenabled = false
  function raceAcquire (line 15) | func raceAcquire(addr unsafe.Pointer) {
  function raceReleaseMerge (line 18) | func raceReleaseMerge(addr unsafe.Pointer) {
  function raceReadRange (line 21) | func raceReadRange(addr unsafe.Pointer, len int) {
  function raceWriteRange (line 24) | func raceWriteRange(addr unsafe.Pointer, len int) {

FILE: vendor/golang.org/x/sys/plan9/str.go
  function itoa (line 9) | func itoa(val int) string { // do it here rather than with fmt to avoid ...

FILE: vendor/golang.org/x/sys/plan9/syscall.go
  function ByteSliceFromString (line 36) | func ByteSliceFromString(s string) ([]byte, error) {
  function BytePtrFromString (line 48) | func BytePtrFromString(s string) (*byte, error) {
  function ByteSliceToString (line 58) | func ByteSliceToString(s []byte) string {
  function BytePtrToString (line 68) | func BytePtrToString(p *byte) string {
  method Unix (line 89) | func (ts *Timespec) Unix() (sec int64, nsec int64) {
  method Unix (line 93) | func (tv *Timeval) Unix() (sec int64, nsec int64) {
  method Nano (line 97) | func (ts *Timespec) Nano() int64 {
  method Nano (line 101) | func (tv *Timeval) Nano() int64 {
  function use (line 109) | func use(p unsafe.Pointer)

FILE: vendor/golang.org/x/sys/plan9/syscall_plan9.go
  type Note (line 22) | type Note
    method Signal (line 24) | func (n Note) Signal() {}
    method String (line 26) | func (n Note) String() string {
  function Syscall (line 40) | func Syscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Erro...
  function Syscall6 (line 41) | func Syscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err...
  function RawSyscall (line 42) | func RawSyscall(trap, a1, a2, a3 uintptr) (r1, r2, err uintptr)
  function RawSyscall6 (line 43) | func RawSyscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2, err uint...
  function atoi (line 45) | func atoi(b []byte) (n uint) {
  function cstring (line 53) | func cstring(s []byte) string {
  function errstr (line 61) | func errstr() string {
  function exit (line 71) | func exit(code int)
  function Exit (line 73) | func Exit(code int) { exit(code) }
  function readnum (line 75) | func readnum(path string) (uint, error) {
  function Getpid (line 97) | func Getpid() (pid int) {
  function Getppid (line 102) | func Getppid() (ppid int) {
  function Read (line 107) | func Read(fd int, p []byte) (n int, err error) {
  function Write (line 111) | func Write(fd int, p []byte) (n int, err error) {
  function Fd2path (line 119) | func Fd2path(fd int) (path string, err error) {
  function Pipe (line 131) | func Pipe(p []int) (err error) {
  function seek (line 146) | func seek(placeholder uintptr, fd int, offset int64, whence int) (newoff...
  function Seek (line 148) | func Seek(fd int, offset int64, whence int) (newoffset int64, err error) {
  function Mkdir (line 157) | func Mkdir(path string, mode uint32) (err error) {
  type Waitmsg (line 167) | type Waitmsg struct
    method Exited (line 173) | func (w Waitmsg) Exited() bool   { return true }
    method Signaled (line 174) | func (w Waitmsg) Signaled() bool { return false }
    method ExitStatus (line 176) | func (w Waitmsg) ExitStatus() int {
  function Await (line 186) | func Await(w *Waitmsg) (err error) {
  function Unmount (line 223) | func Unmount(name, old string) (err error) {
  function Fchdir (line 251) | func Fchdir(fd int) (err error) {
  type Timespec (line 261) | type Timespec struct
  type Timeval (line 266) | type Timeval struct
  function NsecToTimeval (line 271) | func NsecToTimeval(nsec int64) (tv Timeval) {
  function nsec (line 278) | func nsec() int64 {
  function Gettimeofday (line 289) | func Gettimeofday(tv *Timeval) error {
  function Getpagesize (line 295) | func Getpagesize() int { return 0x1000 }
  function Getegid (line 297) | func Getegid() (egid int) { return -1 }
  function Geteuid (line 298) | func Geteuid() (euid int) { return -1 }
  function Getgid (line 299) | func Getgid() (gid int)   { return -1 }
  function Getuid (line 300) | func Getuid() (uid int)   { return -1 }
  function Getgroups (line 302) | func Getgroups() (gids []int, err error) {
  function Open (line 308) | func Open(path string, mode int) (fd int, err error) {
  function Create (line 315) | func Create(path string, mode int, perm uint32) (fd int, err error) {
  function Remove (line 322) | func Remove(path string) error {
  function Stat (line 329) | func Stat(path string, edir []byte) (n int, err error) {
  function Bind (line 336) | func Bind(name string, old string, flag int) (err error) {
  function Mount (line 343) | func Mount(fd int, afd int, old string, flag int, aname string) (err err...
  function Wstat (line 350) | func Wstat(path string, edir []byte) (err error) {

FILE: vendor/golang.org/x/sys/plan9/zsyscall_plan9_386.go
  function fd2path (line 12) | func fd2path(fd int, buf []byte) (err error) {
  function pipe (line 28) | func pipe(p *[2]int32) (err error) {
  function await (line 38) | func await(s []byte) (n int, err error) {
  function open (line 55) | func open(path string, mode int) (fd int, err error) {
  function create (line 71) | func create(path string, mode int, perm uint32) (fd int, err error) {
  function remove (line 87) | func remove(path string) (err error) {
  function stat (line 102) | func stat(path string, edir []byte) (n int, err error) {
  function bind (line 124) | func bind(name string, old string, flag int) (err error) {
  function mount (line 144) | func mount(fd int, afd int, old string, flag int, aname string) (err err...
  function wstat (line 164) | func wstat(path string, edir []byte) (err error) {
  function chdir (line 185) | func chdir(path string) (err error) {
  function Dup (line 200) | func Dup(oldfd int, newfd int) (fd int, err error) {
  function Pread (line 211) | func Pread(fd int, p []byte, offset int64) (n int, err error) {
  function Pwrite (line 228) | func Pwrite(fd int, p []byte, offset int64) (n int, err error) {
  function Close (line 245) | func Close(fd int) (err error) {
  function Fstat (line 255) | func Fstat(fd int, edir []byte) (n int, err error) {
  function Fwstat (line 272) | func Fwstat(fd int, edir []byte) (err error) {

FILE: vendor/golang.org/x/sys/plan9/zsyscall_plan9_amd64.go
  function fd2path (line 12) | func fd2path(fd int, buf []byte) (err error) {
  function pipe (line 28) | func pipe(p *[2]int32) (err error) {
  function await (line 38) | func await(s []byte) (n int, err error) {
  function open (line 55) | func open(path string, mode int) (fd int, err error) {
  function create (line 71) | func create(path string, mode int, perm uint32) (fd int, err error) {
  function remove (line 87) | func remove(path string) (err error) {
  function stat (line 102) | func stat(path string, edir []byte) (n int, err error) {
  function bind (line 124) | func bind(name string, old string, flag int) (err error) {
  function mount (line 144) | func mount(fd int, afd int, old string, flag int, aname string) (err err...
  function wstat (line 164) | func wstat(path string, edir []byte) (err error) {
  function chdir (line 185) | func chdir(path string) (err error) {
  function Dup (line 200) | func Dup(oldfd int, newfd int) (fd int, err error) {
  function Pread (line 211) | func Pread(fd int, p []byte, offset int64) (n int, err error) {
  function Pwrite (line 228) | func Pwrite(fd int, p []byte, offset int64) (n int, err error) {
  function Close (line 245) | func Close(fd int) (err error) {
  function Fstat (line 255) | func Fstat(fd int, edir []byte) (n int, err error) {
  function Fwstat (line 272) | func Fwstat(fd int, edir []byte) (err error) {

FILE: vendor/golang.org/x/sys/plan9/zsyscall_plan9_arm.go
  function fd2path (line 12) | func fd2path(fd int, buf []byte) (err error) {
  function pipe (line 28) | func pipe(p *[2]int32) (err error) {
  function await (line 38) | func await(s []byte) (n int, err error) {
  function open (line 55) | func open(path string, mode int) (fd int, err error) {
  function create (line 71) | func create(path string, mode int, perm uint32) (fd int, err error) {
  function remove (line 87) | func remove(path string) (err error) {
  function stat (line 102) | func stat(path string, edir []byte) (n int, err error) {
  function bind (line 124) | func bind(name string, old string, flag int) (err error) {
  function mount (line 144) | func mount(fd int, afd int, old string, flag int, aname string) (err err...
  function wstat (line 164) | func wstat(path string, edir []byte) (err error) {
  function chdir (line 185) | func chdir(path string) (err error) {
  function Dup (line 200) | func Dup(oldfd int, newfd int) (fd int, err error) {
  function Pread (line 211) | func Pread(fd int, p []byte, offset int64) (n int, err error) {
  function Pwrite (line 228) | func Pwrite(fd int, p []byte, offset int64) (n int, err error) {
  function Close (line 245) | func Close(fd int) (err error) {
  function Fstat (line 255) | func Fstat(fd int, edir []byte) (n int, err error) {
  function Fwstat (line 272) | func Fwstat(fd int, edir []byte) (err error) {

FILE: vendor/golang.org/x/sys/plan9/zsysnum_plan9.go
  constant SYS_SYSR1 (line 7) | SYS_SYSR1       = 0
  constant SYS_BIND (line 8) | SYS_BIND        = 2
  constant SYS_CHDIR (line 9) | SYS_CHDIR       = 3
  constant SYS_CLOSE (line 10) | SYS_CLOSE       = 4
  constant SYS_DUP (line 11) | SYS_DUP         = 5
  constant SYS_ALARM (line 12) | SYS_ALARM       = 6
  constant SYS_EXEC (line 13) | SYS_EXEC        = 7
  constant SYS_EXITS (line 14) | SYS_EXITS       = 8
  constant SYS_FAUTH (line 15) | SYS_FAUTH       = 10
  constant SYS_SEGBRK (line 16) | SYS_SEGBRK      = 12
  constant SYS_OPEN (line 17) | SYS_OPEN        = 14
  constant SYS_OSEEK (line 18) | SYS_OSEEK       = 16
  constant SYS_SLEEP (line 19) | SYS_SLEEP       = 17
  constant SYS_RFORK (line 20) | SYS_RFORK       = 19
  constant SYS_PIPE (line 21) | SYS_PIPE        = 21
  constant SYS_CREATE (line 22) | SYS_CREATE      = 22
  constant SYS_FD2PATH (line 23) | SYS_FD2PATH     = 23
  constant SYS_BRK_ (line 24) | SYS_BRK_        = 24
  constant SYS_REMOVE (line 25) | SYS_REMOVE      = 25
  constant SYS_NOTIFY (line 26) | SYS_NOTIFY      = 28
  constant SYS_NOTED (line 27) | SYS_NOTED       = 29
  constant SYS_SEGATTACH (line 28) | SYS_SEGATTACH   = 30
  constant SYS_SEGDETACH (line 29) | SYS_SEGDETACH   = 31
  constant SYS_SEGFREE (line 30) | SYS_SEGFREE     = 32
  constant SYS_SEGFLUSH (line 31) | SYS_SEGFLUSH    = 33
  constant SYS_RENDEZVOUS (line 32) | SYS_RENDEZVOUS  = 34
  constant SYS_UNMOUNT (line 33) | SYS_UNMOUNT     = 35
  constant SYS_SEMACQUIRE (line 34) | SYS_SEMACQUIRE  = 37
  constant SYS_SEMRELEASE (line 35) | SYS_SEMRELEASE  = 38
  constant SYS_SEEK (line 36) | SYS_SEEK        = 39
  constant SYS_FVERSION (line 37) | SYS_FVERSION    = 40
  constant SYS_ERRSTR (line 38) | SYS_ERRSTR      = 41
  constant SYS_STAT (line 39) | SYS_STAT        = 42
  constant SYS_FSTAT (line 40) | SYS_FSTAT       = 43
  constant SYS_WSTAT (line 41) | SYS_WSTAT       = 44
  constant SYS_FWSTAT (line 42) | SYS_FWSTAT      = 45
  constant SYS_MOUNT (line 43) | SYS_MOUNT       = 46
  constant SYS_AWAIT (line 44) | SYS_AWAIT       = 47
  constant SYS_PREAD (line 45) | SYS_PREAD       = 50
  constant SYS_PWRITE (line 46) | SYS_PWRITE      = 51
  constant SYS_TSEMACQUIRE (line 47) | SYS_TSEMACQUIRE = 52
  constant SYS_NSEC (line 48) | SYS_NSEC        = 53

FILE: vendor/golang.org/x/sys/unix/affinity_linux.go
  constant cpuSetSize (line 14) | cpuSetSize = _CPU_SETSIZE / _NCPUBITS
  type CPUSet (line 17) | type CPUSet
    method Zero (line 40) | func (s *CPUSet) Zero() {
    method Set (line 55) | func (s *CPUSet) Set(cpu int) {
    method Clear (line 63) | func (s *CPUSet) Clear(cpu int) {
    method IsSet (line 71) | func (s *CPUSet) IsSet(cpu int) bool {
    method Count (line 80) | func (s *CPUSet) Count() int {
  function schedAffinity (line 19) | func schedAffinity(trap uintptr, pid int, set *CPUSet) error {
  function SchedGetaffinity (line 29) | func SchedGetaffinity(pid int, set *CPUSet) error {
  function SchedSetaffinity (line 35) | func SchedSetaffinity(pid int, set *CPUSet) error {
  function cpuBitsIndex (line 46) | func cpuBitsIndex(cpu int) int {
  function cpuBitsMask (line 50) | func cpuBitsMask(cpu int) cpuMask {

FILE: vendor/golang.org/x/sys/unix/auxv.go
  function runtime_getAuxv (line 15) | func runtime_getAuxv() []uintptr
  function Auxv (line 21) | func Auxv() ([][2]uintptr, error) {

FILE: vendor/golang.org/x/sys/unix/auxv_unsupported.go
  function Auxv (line 11) | func Auxv() ([][2]uintptr, error) {

FILE: vendor/golang.org/x/sys/unix/bluetooth_linux.go
  constant BTPROTO_L2CAP (line 11) | BTPROTO_L2CAP  = 0
  constant BTPROTO_HCI (line 12) | BTPROTO_HCI    = 1
  constant BTPROTO_SCO (line 13) | BTPROTO_SCO    = 2
  constant BTPROTO_RFCOMM (line 14) | BTPROTO_RFCOMM = 3
  constant BTPROTO_BNEP (line 15) | BTPROTO_BNEP   = 4
  constant BTPROTO_CMTP (line 16) | BTPROTO_CMTP   = 5
  constant BTPROTO_HIDP (line 17) | BTPROTO_HIDP   = 6
  constant BTPROTO_AVDTP (line 18) | BTPROTO_AVDTP  = 7
  constant HCI_CHANNEL_RAW (line 22) | HCI_CHANNEL_RAW     = 0
  constant HCI_CHANNEL_USER (line 23) | HCI_CHANNEL_USER    = 1
  constant HCI_CHANNEL_MONITOR (line 24) | HCI_CHANNEL_MONITOR = 2
  constant HCI_CHANNEL_CONTROL (line 25) | HCI_CHANNEL_CONTROL = 3
  constant HCI_CHANNEL_LOGGING (line 26) | HCI_CHANNEL_LOGGING = 4
  constant SOL_BLUETOOTH (line 31) | SOL_BLUETOOTH = 0x112
  constant SOL_HCI (line 32) | SOL_HCI       = 0x0
  constant SOL_L2CAP (line 33) | SOL_L2CAP     = 0x6
  constant SOL_RFCOMM (line 34) | SOL_RFCOMM    = 0x12
  constant SOL_SCO (line 35) | SOL_SCO       = 0x11

FILE: vendor/golang.org/x/sys/unix/bpxsvc_zos.go
  function bpxcall (line 16) | func bpxcall(plist []unsafe.Pointer, bpx_offset int64)
  function A2e (line 19) | func A2e([]byte)
  function E2a (line 22) | func E2a([]byte)
  constant BPX4STA (line 25) | BPX4STA = 192
  constant BPX4FST (line 26) | BPX4FST = 104
  constant BPX4LST (line 27) | BPX4LST = 132
  constant BPX4OPN (line 28) | BPX4OPN = 156
  constant BPX4CLO (line 29) | BPX4CLO = 72
  constant BPX4CHR (line 30) | BPX4CHR = 500
  constant BPX4FCR (line 31) | BPX4FCR = 504
  constant BPX4LCR (line 32) | BPX4LCR = 1180
  constant BPX4CTW (line 33) | BPX4CTW = 492
  constant BPX4GTH (line 34) | BPX4GTH = 1056
  constant BPX4PTQ (line 35) | BPX4PTQ = 412
  constant BPX4PTR (line 36) | BPX4PTR = 320
  constant BPX_OPNFHIGH (line 42) | BPX_OPNFHIGH = 0x80
  constant BPX_OPNFEXEC (line 44) | BPX_OPNFEXEC = 0x80
  constant BPX_O_NOLARGEFILE (line 46) | BPX_O_NOLARGEFILE = 0x08
  constant BPX_O_LARGEFILE (line 47) | BPX_O_LARGEFILE   = 0x04
  constant BPX_O_ASYNCSIG (line 48) | BPX_O_ASYNCSIG    = 0x02
  constant BPX_O_SYNC (line 49) | BPX_O_SYNC        = 0x01
  constant BPX_O_CREXCL (line 51) | BPX_O_CREXCL   = 0xc0
  constant BPX_O_CREAT (line 52) | BPX_O_CREAT    = 0x80
  constant BPX_O_EXCL (line 53) | BPX_O_EXCL     = 0x40
  constant BPX_O_NOCTTY (line 54) | BPX_O_NOCTTY   = 0x20
  constant BPX_O_TRUNC (line 55) | BPX_O_TRUNC    = 0x10
  constant BPX_O_APPEND (line 56) | BPX_O_APPEND   = 0x08
  constant BPX_O_NONBLOCK (line 57) | BPX_O_NONBLOCK = 0x04
  constant BPX_FNDELAY (line 58) | BPX_FNDELAY    = 0x04
  constant BPX_O_RDWR (line 59) | BPX_O_RDWR     = 0x03
  constant BPX_O_RDONLY (line 60) | BPX_O_RDONLY   = 0x02
  constant BPX_O_WRONLY (line 61) | BPX_O_WRONLY   = 0x01
  constant BPX_O_ACCMODE (line 62) | BPX_O_ACCMODE  = 0x03
  constant BPX_O_GETFL (line 63) | BPX_O_GETFL    = 0x0f
  constant BPX_FT_DIR (line 67) | BPX_FT_DIR      = 1
  constant BPX_FT_CHARSPEC (line 68) | BPX_FT_CHARSPEC = 2
  constant BPX_FT_REGFILE (line 69) | BPX_FT_REGFILE  = 3
  constant BPX_FT_FIFO (line 70) | BPX_FT_FIFO     = 4
  constant BPX_FT_SYMLINK (line 71) | BPX_FT_SYMLINK  = 5
  constant BPX_FT_SOCKET (line 72) | BPX_FT_SOCKET   = 6
  constant BPX_S_ISUID (line 74) | BPX_S_ISUID  = 0x08
  constant BPX_S_ISGID (line 75) | BPX_S_ISGID  = 0x04
  constant BPX_S_ISVTX (line 76) | BPX_S_ISVTX  = 0x02
  constant BPX_S_IRWXU1 (line 77) | BPX_S_IRWXU1 = 0x01
  constant BPX_S_IRUSR (line 78) | BPX_S_IRUSR  = 0x01
  constant BPX_S_IRWXU2 (line 80) | BPX_S_IRWXU2 = 0xc0
  constant BPX_S_IWUSR (line 81) | BPX_S_IWUSR  = 0x80
  constant BPX_S_IXUSR (line 82) | BPX_S_IXUSR  = 0x40
  constant BPX_S_IRWXG (line 83) | BPX_S_IRWXG  = 0x38
  constant BPX_S_IRGRP (line 84) | BPX_S_IRGRP  = 0x20
  constant BPX_S_IWGRP (line 85) | BPX_S_IWGRP  = 0x10
  constant BPX_S_IXGRP (line 86) | BPX_S_IXGRP  = 0x08
  constant BPX_S_IRWXOX (line 87) | BPX_S_IRWXOX = 0x07
  constant BPX_S_IROTH (line 88) | BPX_S_IROTH  = 0x04
  constant BPX_S_IWOTH (line 89) | BPX_S_IWOTH  = 0x02
  constant BPX_S_IXOTH (line 90) | BPX_S_IXOTH  = 0x01
  constant CW_INTRPT (line 92) | CW_INTRPT  = 1
  constant CW_CONDVAR (line 93) | CW_CONDVAR = 32
  constant CW_TIMEOUT (line 94) | CW_TIMEOUT = 64
  constant PGTHA_NEXT (line 96) | PGTHA_NEXT        = 2
  constant PGTHA_CURRENT (line 97) | PGTHA_CURRENT     = 1
  constant PGTHA_FIRST (line 98) | PGTHA_FIRST       = 0
  constant PGTHA_LAST (line 99) | PGTHA_LAST        = 3
  constant PGTHA_PROCESS (line 100) | PGTHA_PROCESS     = 0x80
  constant PGTHA_CONTTY (line 101) | PGTHA_CONTTY      = 0x40
  constant PGTHA_PATH (line 102) | PGTHA_PATH        = 0x20
  constant PGTHA_COMMAND (line 103) | PGTHA_COMMAND     = 0x10
  constant PGTHA_FILEDATA (line 104) | PGTHA_FILEDATA    = 0x08
  constant PGTHA_THREAD (line 105) | PGTHA_THREAD      = 0x04
  constant PGTHA_PTAG (line 106) | PGTHA_PTAG        = 0x02
  constant PGTHA_COMMANDLONG (line 107) | PGTHA_COMMANDLONG = 0x01
  constant PGTHA_THREADFAST (line 108) | PGTHA_THREADFAST  = 0x80
  constant PGTHA_FILEPATH (line 109) | PGTHA_FILEPATH    = 0x40
  constant PGTHA_THDSIGMASK (line 110) | PGTHA_THDSIGMASK  = 0x20
  constant QUIESCE_TERM (line 112) | QUIESCE_TERM       int32 = 1
  constant QUIESCE_FORCE (line 113) | QUIESCE_FORCE      int32 = 2
  constant QUIESCE_QUERY (line 114) | QUIESCE_QUERY      int32 = 3
  constant QUIESCE_FREEZE (line 115) | QUIESCE_FREEZE     int32 = 4
  constant QUIESCE_UNFREEZE (line 116) | QUIESCE_UNFREEZE   int32 = 5
  constant FREEZE_THIS_THREAD (line 117) | FREEZE_THIS_THREAD int32 = 6
  constant FREEZE_EXIT (line 118) | FREEZE_EXIT        int32 = 8
  constant QUIESCE_SRB (line 119) | QUIESCE_SRB        int32 = 9
  type Pgtha (line 122) | type Pgtha struct
  type Bpxystat_t (line 134) | type Bpxystat_t struct
  type BpxFilestatus (line 182) | type BpxFilestatus struct
  type BpxMode (line 189) | type BpxMode struct
  type Bpxyatt_t (line 197) | type Bpxyatt_t struct
  function BpxOpen (line 235) | func BpxOpen(name string, options *BpxFilestatus, mode *BpxMode) (rv int...
  function BpxClose (line 254) | func BpxClose(fd int32) (rv int32, rc int32, rn int32) {
  function BpxFileFStat (line 264) | func BpxFileFStat(fd int32, st *Bpxystat_t) (rv int32, rc int32, rn int3...
  function BpxFileStat (line 279) | func BpxFileStat(name string, st *Bpxystat_t) (rv int32, rc int32, rn in...
  function BpxFileLStat (line 301) | func BpxFileLStat(name string, st *Bpxystat_t) (rv int32, rc int32, rn i...
  function BpxChattr (line 323) | func BpxChattr(path string, attr *Bpxyatt_t) (rv int32, rc int32, rn int...
  function BpxLchattr (line 343) | func BpxLchattr(path string, attr *Bpxyatt_t) (rv int32, rc int32, rn in...
  function BpxFchattr (line 363) | func BpxFchattr(fd int32, attr *Bpxyatt_t) (rv int32, rc int32, rn int32) {
  function BpxCondTimedWait (line 376) | func BpxCondTimedWait(sec uint32, nsec uint32, events uint32, secrem *ui...
  function BpxGetthent (line 389) | func BpxGetthent(in *Pgtha, outlen *uint32, out unsafe.Pointer) (rv int3...
  function ZosJobname (line 402) | func ZosJobname() (jobname string, err error) {
  function Bpx4ptq (line 427) | func Bpx4ptq(code int32, data string) (rv int32, rc int32, rn int32) {
  constant PT_TRACE_ME (line 442) | PT_TRACE_ME             = 0
  constant PT_READ_I (line 443) | PT_READ_I               = 1
  constant PT_READ_D (line 444) | PT_READ_D               = 2
  constant PT_READ_U (line 445) | PT_READ_U               = 3
  constant PT_WRITE_I (line 446) | PT_WRITE_I              = 4
  constant PT_WRITE_D (line 447) | PT_WRITE_D              = 5
  constant PT_CONTINUE (line 448) | PT_CONTINUE             = 7
  constant PT_KILL (line 449) | PT_KILL                 = 8
  constant PT_READ_GPR (line 450) | PT_READ_GPR             = 11
  constant PT_READ_FPR (line 451) | PT_READ_FPR             = 12
  constant PT_READ_VR (line 452) | PT_READ_VR              = 13
  constant PT_WRITE_GPR (line 453) | PT_WRITE_GPR            = 14
  constant PT_WRITE_FPR (line 454) | PT_WRITE_FPR            = 15
  constant PT_WRITE_VR (line 455) | PT_WRITE_VR             = 16
  constant PT_READ_BLOCK (line 456) | PT_READ_BLOCK           = 17
  constant PT_WRITE_BLOCK (line 457) | PT_WRITE_BLOCK          = 19
  constant PT_READ_GPRH (line 458) | PT_READ_GPRH            = 20
  constant PT_WRITE_GPRH (line 459) | PT_WRITE_GPRH           = 21
  constant PT_REGHSET (line 460) | PT_REGHSET              = 22
  constant PT_ATTACH (line 461) | PT_ATTACH               = 30
  constant PT_DETACH (line 462) | PT_DETACH               = 31
  constant PT_REGSET (line 463) | PT_REGSET               = 32
  constant PT_REATTACH (line 464) | PT_REATTACH             = 33
  constant PT_LDINFO (line 465) | PT_LDINFO               = 34
  constant PT_MULTI (line 466) | PT_MULTI                = 35
  constant PT_LD64INFO (line 467) | PT_LD64INFO             = 36
  constant PT_BLOCKREQ (line 468) | PT_BLOCKREQ             = 40
  constant PT_THREAD_INFO (line 469) | PT_THREAD_INFO          = 60
  constant PT_THREAD_MODIFY (line 470) | PT_THREAD_MODIFY        = 61
  constant PT_THREAD_READ_FOCUS (line 471) | PT_THREAD_READ_FOCUS    = 62
  constant PT_THREAD_WRITE_FOCUS (line 472) | PT_THREAD_WRITE_FOCUS   = 63
  constant PT_THREAD_HOLD (line 473) | PT_THREAD_HOLD          = 64
  constant PT_THREAD_SIGNAL (line 474) | PT_THREAD_SIGNAL        = 65
  constant PT_EXPLAIN (line 475) | PT_EXPLAIN              = 66
  constant PT_EVENTS (line 476) | PT_EVENTS               = 67
  constant PT_THREAD_INFO_EXTENDED (line 477) | PT_THREAD_INFO_EXTENDED = 68
  constant PT_REATTACH2 (line 478) | PT_REATTACH2            = 71
  constant PT_CAPTURE (line 479) | PT_CAPTURE              = 72
  constant PT_UNCAPTURE (line 480) | PT_UNCAPTURE            = 73
  constant PT_GET_THREAD_TCB (line 481) | PT_GET_THREAD_TCB       = 74
  constant PT_GET_ALET (line 482) | PT_GET_ALET             = 75
  constant PT_SWAPIN (line 483) | PT_SWAPIN               = 76
  constant PT_EXTENDED_EVENT (line 484) | PT_EXTENDED_EVENT       = 98
  constant PT_RECOVER (line 485) | PT_RECOVER              = 99
  constant PT_GPR0 (line 486) | PT_GPR0                 = 0
  constant PT_GPR1 (line 487) | PT_GPR1                 = 1
  constant PT_GPR2 (line 488) | PT_GPR2                 = 2
  constant PT_GPR3 (line 489) | PT_GPR3                 = 3
  constant PT_GPR4 (line 490) | PT_GPR4                 = 4
  constant PT_GPR5 (line 491) | PT_GPR5                 = 5
  constant PT_GPR6 (line 492) | PT_GPR6                 = 6
  constant PT_GPR7 (line 493) | PT_GPR7                 = 7
  constant PT_GPR8 (line 494) | PT_GPR8                 = 8
  constant PT_GPR9 (line 495) | PT_GPR9                 = 9
  constant PT_GPR10 (line 496) | PT_GPR10                = 10
  constant PT_GPR11 (line 497) | PT_GPR11                = 11
  constant PT_GPR12 (line 498) | PT_GPR12                = 12
  constant PT_GPR13 (line 499) | PT_GPR13                = 13
  constant PT_GPR14 (line 500) | PT_GPR14                = 14
  constant PT_GPR15 (line 501) | PT_GPR15                = 15
  constant PT_FPR0 (line 502) | PT_FPR0                 = 16
  constant PT_FPR1 (line 503) | PT_FPR1                 = 17
  constant PT_FPR2 (line 504) | PT_FPR2                 = 18
  constant PT_FPR3 (line 505) | PT_FPR3                 = 19
  constant PT_FPR4 (line 506) | PT_FPR4                 = 20
  constant PT_FPR5 (line 507) | PT_FPR5                 = 21
  constant PT_FPR6 (line 508) | PT_FPR6                 = 22
  constant PT_FPR7 (line 509) | PT_FPR7                 = 23
  constant PT_FPR8 (line 510) | PT_FPR8                 = 24
  constant PT_FPR9 (line 511) | PT_FPR9                 = 25
  constant PT_FPR10 (line 512) | PT_FPR10                = 26
  constant PT_FPR11 (line 513) | PT_FPR11                = 27
  constant PT_FPR12 (line 514) | PT_FPR12                = 28
  constant PT_FPR13 (line 515) | PT_FPR13                = 29
  constant PT_FPR14 (line 516) | PT_FPR14                = 30
  constant PT_FPR15 (line 517) | PT_FPR15                = 31
  constant PT_FPC (line 518) | PT_FPC                  = 32
  constant PT_PSW (line 519) | PT_PSW                  = 40
  constant PT_PSW0 (line 520) | PT_PSW0                 = 40
  constant PT_PSW1 (line 521) | PT_PSW1                 = 41
  constant PT_CR0 (line 522) | PT_CR0                  = 42
  constant PT_CR1 (line 523) | PT_CR1                  = 43
  constant PT_CR2 (line 524) | PT_CR2                  = 44
  constant PT_CR3 (line 525) | PT_CR3                  = 45
  constant PT_CR4 (line 526) | PT_CR4                  = 46
  constant PT_CR5 (line 527) | PT_CR5                  = 47
  constant PT_CR6 (line 528) | PT_CR6                  = 48
  constant PT_CR7 (line 529) | PT_CR7                  = 49
  constant PT_CR8 (line 530) | PT_CR8                  = 50
  constant PT_CR9 (line 531) | PT_CR9                  = 51
  constant PT_CR10 (line 532) | PT_CR10                 = 52
  constant PT_CR11 (line 533) | PT_CR11                 = 53
  constant PT_CR12 (line 534) | PT_CR12                 = 54
  constant PT_CR13 (line 535) | PT_CR13                 = 55
  constant PT_CR14 (line 536) | PT_CR14                 = 56
  constant PT_CR15 (line 537) | PT_CR15                 = 57
  constant PT_GPRH0 (line 538) | PT_GPRH0                = 58
  constant PT_GPRH1 (line 539) | PT_GPRH1                = 59
  constant PT_GPRH2 (line 540) | PT_GPRH2                = 60
  constant PT_GPRH3 (line 541) | PT_GPRH3                = 61
  constant PT_GPRH4 (line 542) | PT_GPRH4                = 62
  constant PT_GPRH5 (line 543) | PT_GPRH5                = 63
  constant PT_GPRH6 (line 544) | PT_GPRH6                = 64
  constant PT_GPRH7 (line 545) | PT_GPRH7                = 65
  constant PT_GPRH8 (line 546) | PT_GPRH8                = 66
  constant PT_GPRH9 (line 547) | PT_GPRH9                = 67
  constant PT_GPRH10 (line 548) | PT_GPRH10               = 68
  constant PT_GPRH11 (line 549) | PT_GPRH11               = 69
  constant PT_GPRH12 (line 550) | PT_GPRH12               = 70
  constant PT_GPRH13 (line 551) | PT_GPRH13               = 71
  constant PT_GPRH14 (line 552) | PT_GPRH14               = 72
  constant PT_GPRH15 (line 553) | PT_GPRH15               = 73
  constant PT_VR0 (line 554) | PT_VR0                  = 74
  constant PT_VR1 (line 555) | PT_VR1                  = 75
  constant PT_VR2 (line 556) | PT_VR2                  = 76
  constant PT_VR3 (line 557) | PT_VR3                  = 77
  constant PT_VR4 (line 558) | PT_VR4                  = 78
  constant PT_VR5 (line 559) | PT_VR5                  = 79
  constant PT_VR6 (line 560) | PT_VR6                  = 80
  constant PT_VR7 (line 561) | PT_VR7                  = 81
  constant PT_VR8 (line 562) | PT_VR8                  = 82
  constant PT_VR9 (line 563) | PT_VR9                  = 83
  constant PT_VR10 (line 564) | PT_VR10                 = 84
  constant PT_VR11 (line 565) | PT_VR11                 = 85
  constant PT_VR12 (line 566) | PT_VR12                 = 86
  constant PT_VR13 (line 567) | PT_VR13                 = 87
  constant PT_VR14 (line 568) | PT_VR14                 = 88
  constant PT_VR15 (line 569) | PT_VR15                 = 89
  constant PT_VR16 (line 570) | PT_VR16                 = 90
  constant PT_VR17 (line 571) | PT_VR17                 = 91
  constant PT_VR18 (line 572) | PT_VR18                 = 92
  constant PT_VR19 (line 573) | PT_VR19                 = 93
  constant PT_VR20 (line 574) | PT_VR20                 = 94
  constant PT_VR21 (line 575) | PT_VR21                 = 95
  constant PT_VR22 (line 576) | PT_VR22                 = 96
  constant PT_VR23 (line 577) | PT_VR23                 = 97
  constant PT_VR24 (line 578) | PT_VR24                 = 98
  constant PT_VR25 (line 579) | PT_VR25                 = 99
  constant PT_VR26 (line 580) | PT_VR26                 = 100
  constant PT_VR27 (line 581) | PT_VR27                 = 101
  constant PT_VR28 (line 582) | PT_VR28                 = 102
  constant PT_VR29 (line 583) | PT_VR29                 = 103
  constant PT_VR30 (line 584) | PT_VR30                 = 104
  constant PT_VR31 (line 585) | PT_VR31                 = 105
  constant PT_PSWG (line 586) | PT_PSWG                 = 106
  constant PT_PSWG0 (line 587) | PT_PSWG0                = 106
  constant PT_PSWG1 (line 588) | PT_PSWG1                = 107
  constant PT_PSWG2 (line 589) | PT_PSWG2                = 108
  constant PT_PSWG3 (line 590) | PT_PSWG3                = 109
  function Bpx4ptr (line 593) | func Bpx4ptr(request int32, pid int32, addr unsafe.Pointer, data unsafe....
  function copyU8 (line 607) | func copyU8(val uint8, dest []uint8) int {
  function copyU8Arr (line 615) | func copyU8Arr(src, dest []uint8) int {
  function copyU16 (line 625) | func copyU16(val uint16, dest []uint16) int {
  function copyU32 (line 633) | func copyU32(val uint32, dest []uint32) int {
  function copyU32Arr (line 641) | func copyU32Arr(src, dest []uint32) int {
  function copyU64 (line 651) | func copyU64(val uint64, dest []uint64) int {

FILE: vendor/golang.org/x/sys/unix/cap_freebsd.go
  constant capRightsGoVersion (line 18) | capRightsGoVersion = CAP_RIGHTS_VERSION_00
  constant capArSizeMin (line 19) | capArSizeMin       = CAP_RIGHTS_VERSION_00 + 2
  constant capArSizeMax (line 20) | capArSizeMax       = capRightsGoVersion + 2
  function capidxbit (line 30) | func capidxbit(right uint64) int {
  function rightToIndex (line 34) | func rightToIndex(right uint64) (int, error) {
  function caprver (line 42) | func caprver(right uint64) int {
  function capver (line 46) | func capver(rights *CapRights) int {
  function caparsize (line 50) | func caparsize(rights *CapRights) int {
  function CapRightsSet (line 55) | func CapRightsSet(rights *CapRights, setrights []uint64) error {
  function CapRightsClear (line 90) | func CapRightsClear(rights *CapRights, clearrights []uint64) error {
  function CapRightsIsSet (line 125) | func CapRightsIsSet(rights *CapRights, setrights []uint64) (bool, error) {
  function capright (line 158) | func capright(idx uint64, bit uint64) uint64 {
  function CapRightsInit (line 164) | func CapRightsInit(rights []uint64) (*CapRights, error) {
  function CapRightsLimit (line 179) | func CapRightsLimit(fd uintptr, rights *CapRights) error {
  function CapRightsGet (line 185) | func CapRightsGet(fd uintptr) (*CapRights, error) {

FILE: vendor/golang.org/x/sys/unix/constants.go
  constant R_OK (line 10) | R_OK = 0x4
  constant W_OK (line 11) | W_OK = 0x2
  constant X_OK (line 12) | X_OK = 0x1

FILE: vendor/golang.org/x/sys/unix/dev_aix_ppc.go
  function Major (line 13) | func Major(dev uint64) uint32 {
  function Minor (line 18) | func Minor(dev uint64) uint32 {
  function Mkdev (line 24) | func Mkdev(major, minor uint32) uint64 {

FILE: vendor/golang.org/x/sys/unix/dev_aix_ppc64.go
  function Major (line 13) | func Major(dev uint64) uint32 {
  function Minor (line 18) | func Minor(dev uint64) uint32 {
  function Mkdev (line 24) | func Mkdev(major, minor uint32) uint64 {

FILE: vendor/golang.org/x/sys/unix/dev_darwin.go
  function Major (line 11) | func Major(dev uint64) uint32 {
  function Minor (line 16) | func Minor(dev uint64) uint32 {
  function Mkdev (line 22) | func Mkdev(major, minor uint32) uint64 {

FILE: vendor/golang.org/x/sys/unix/dev_dragonfly.go
  function Major (line 17) | func Major(dev uint64) uint32 {
  function Minor (line 22) | func Minor(dev uint64) uint32 {
  function Mkdev (line 28) | func Mkdev(major, minor uint32) uint64 {

FILE: vendor/golang.org/x/sys/unix/dev_freebsd.go
  function Major (line 17) | func Major(dev uint64) uint32 {
  function Minor (line 22) | func Minor(dev uint64) uint32 {
  function Mkdev (line 28) | func Mkdev(major, minor uint32) uint64 {

FILE: vendor/golang.org/x/sys/unix/dev_linux.go
  function Major (line 21) | func Major(dev uint64) uint32 {
  function Minor (line 28) | func Minor(dev uint64) uint32 {
  function Mkdev (line 36) | func Mkdev(major, minor uint32) uint64 {

FILE: vendor/golang.org/x/sys/unix/dev_netbsd.go
  function Major (line 11) | func Major(dev uint64) uint32 {
  function Minor (line 16) | func Minor(dev uint64) uint32 {
  function Mkdev (line 24) | func Mkdev(major, minor uint32) uint64 {

FILE: vendor/golang.org/x/sys/unix/dev_openbsd.go
  function Major (line 11) | func Major(dev uint64) uint32 {
  function Minor (line 16) | func Minor(dev uint64) uint32 {
  function Mkdev (line 24) | func Mkdev(major, minor uint32) uint64 {

FILE: vendor/golang.org/x/sys/unix/dev_zos.go
  function Major (line 15) | func Major(dev uint64) uint32 {
  function Minor (line 20) | func Minor(dev uint64) uint32 {
  function Mkdev (line 26) | func Mkdev(major, minor uint32) uint64 {

FILE: vendor/golang.org/x/sys/unix/dirent.go
  function readInt (line 12) | func readInt(b []byte, off, size uintptr) (u uint64, ok bool) {
  function readIntBE (line 22) | func readIntBE(b []byte, size uintptr) uint64 {
  function readIntLE (line 41) | func readIntLE(b []byte, size uintptr) uint64 {
  function ParseDirent (line 64) | func ParseDirent(buf []byte, max int, names []string) (consumed int, cou...

FILE: vendor/golang.org/x/sys/unix/endian_big.go
  constant isBigEndian (line 9) | isBigEndian = true

FILE: vendor/golang.org/x/sys/unix/endian_little.go
  constant isBigEndian (line 9) | isBigEndian = false

FILE: vendor/golang.org/x/sys/unix/env_unix.go
  function Getenv (line 13) | func Getenv(key string) (value string, found bool) {
  function Setenv (line 17) | func Setenv(key, value string) error {
  function Clearenv (line 21) | func Clearenv() {
  function Environ (line 25) | func Environ() []string {
  function Unsetenv (line 29) | func Unsetenv(key string) error {

FILE: vendor/golang.org/x/sys/unix/fcntl.go
  function fcntl (line 15) | func fcntl(fd int, cmd, arg int) (int, error) {
  function FcntlInt (line 25) | func FcntlInt(fd uintptr, cmd, arg int) (int, error) {
  function FcntlFlock (line 30) | func FcntlFlock(fd uintptr, cmd int, lk *Flock_t) error {

FILE: vendor/golang.org/x/sys/unix/fcntl_darwin.go
  function FcntlInt (line 10) | func FcntlInt(fd uintptr, cmd, arg int) (int, error) {
  function FcntlFlock (line 15) | func FcntlFlock(fd uintptr, cmd int, lk *Flock_t) error {
  function FcntlFstore (line 21) | func FcntlFstore(fd uintptr, cmd int, fstore *Fstore_t) error {

FILE: vendor/golang.org/x/sys/unix/fcntl_linux_32bit.go
  function init (line 9) | func init() {

FILE: vendor/golang.org/x/sys/unix/fdset.go
  method Set (line 10) | func (fds *FdSet) Set(fd int) {
  method Clear (line 15) | func (fds *FdSet) Clear(fd int) {
  method IsSet (line 20) | func (fds *FdSet) IsSet(fd int) bool {
  method Zero (line 25) | func (fds *FdSet) Zero() {

FILE: vendor/golang.org/x/sys/unix/gccgo.go
  function realSyscallNoError (line 14) | func realSyscallNoError(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr...
  function realSyscall (line 16) | func realSyscall(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r, e...
  function SyscallNoError (line 18) | func SyscallNoError(trap, a1, a2, a3 uintptr) (r1, r2 uintptr) {
  function Syscall (line 25) | func Syscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errn...
  function Syscall6 (line 32) | func Syscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err...
  function Syscall9 (line 39) | func Syscall9(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 ...
  function RawSyscallNoError (line 46) | func RawSyscallNoError(trap, a1, a2, a3 uintptr) (r1, r2 uintptr) {
  function RawSyscall (line 51) | func RawSyscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.E...
  function RawSyscall6 (line 56) | func RawSyscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, ...

FILE: vendor/golang.org/x/sys/unix/gccgo_c.c
  type ret (line 18) | struct ret {
  type ret (line 23) | struct ret
  function gccgoRealSyscall (line 26) | struct ret
  function gccgoRealSyscallNoError (line 40) | uintptr_t

FILE: vendor/golang.org/x/sys/unix/gccgo_linux_amd64.go
  function realGettimeofday (line 12) | func realGettimeofday(*Timeval, *byte) int32
  function gettimeofday (line 14) | func gettimeofday(tv *Timeval) (err syscall.Errno) {

FILE: vendor/golang.org/x/sys/unix/ifreq_linux.go
  type Ifreq (line 25) | type Ifreq struct
    method Name (line 45) | func (ifr *Ifreq) Name() string {
    method Inet4Addr (line 56) | func (ifr *Ifreq) Inet4Addr() ([]byte, error) {
    method SetInet4Addr (line 69) | func (ifr *Ifreq) SetInet4Addr(v []byte) error {
    method Uint16 (line 90) | func (ifr *Ifreq) Uint16() uint16 {
    method SetUint16 (line 95) | func (ifr *Ifreq) SetUint16(v uint16) {
    method Uint32 (line 101) | func (ifr *Ifreq) Uint32() uint32 {
    method SetUint32 (line 106) | func (ifr *Ifreq) SetUint32(v uint32) {
    method clear (line 113) | func (ifr *Ifreq) clear() {
    method withData (line 136) | func (ifr Ifreq) withData(p unsafe.Pointer) ifreqData {
  function NewIfreq (line 30) | func NewIfreq(name string) (*Ifreq, error) {
  type ifreqData (line 124) | type ifreqData struct

FILE: vendor/golang.org/x/sys/unix/ioctl_linux.go
  function IoctlRetInt (line 12) | func IoctlRetInt(fd int, req uint) (int, error) {
  function IoctlGetUint32 (line 20) | func IoctlGetUint32(fd int, req uint) (uint32, error) {
  function IoctlGetRTCTime (line 26) | func IoctlGetRTCTime(fd int) (*RTCTime, error) {
  function IoctlSetRTCTime (line 32) | func IoctlSetRTCTime(fd int, value *RTCTime) error {
  function IoctlGetRTCWkAlrm (line 36) | func IoctlGetRTCWkAlrm(fd int) (*RTCWkAlrm, error) {
  function IoctlSetRTCWkAlrm (line 42) | func IoctlSetRTCWkAlrm(fd int, value *RTCWkAlrm) error {
  function IoctlGetEthtoolDrvinfo (line 48) | func IoctlGetEthtoolDrvinfo(fd int, ifname string) (*EthtoolDrvinfo, err...
  function IoctlGetEthtoolTsInfo (line 63) | func IoctlGetEthtoolTsInfo(fd int, ifname string) (*EthtoolTsInfo, error) {
  function IoctlGetHwTstamp (line 78) | func IoctlGetHwTstamp(fd int, ifname string) (*HwTstampConfig, error) {
  function IoctlSetHwTstamp (line 93) | func IoctlSetHwTstamp(fd int, ifname string, cfg *HwTstampConfig) error {
  function FdToClockID (line 105) | func FdToClockID(fd int) int32 { return int32((int(^fd) << 3) | 3) }
  function IoctlPtpClockGetcaps (line 108) | func IoctlPtpClockGetcaps(fd int) (*PtpClockCaps, error) {
  function IoctlPtpSysOffsetPrecise (line 116) | func IoctlPtpSysOffsetPrecise(fd int) (*PtpSysOffsetPrecise, error) {
  function IoctlPtpSysOffsetExtended (line 125) | func IoctlPtpSysOffsetExtended(fd int, samples uint) (*PtpSysOffsetExten...
  function IoctlPtpPinGetfunc (line 133) | func IoctlPtpPinGetfunc(fd int, index uint) (*PtpPinDesc, error) {
  function IoctlPtpPinSetfunc (line 141) | func IoctlPtpPinSetfunc(fd int, pd *PtpPinDesc) error {
  function IoctlPtpPeroutRequest (line 147) | func IoctlPtpPeroutRequest(fd int, r *PtpPeroutRequest) error {
  function IoctlPtpExttsRequest (line 153) | func IoctlPtpExttsRequest(fd int, r *PtpExttsRequest) error {
  function IoctlGetWatchdogInfo (line 160) | func IoctlGetWatchdogInfo(fd int) (*WatchdogInfo, error) {
  function IoctlWatchdogKeepalive (line 169) | func IoctlWatchdogKeepalive(fd int) error {
  function IoctlFileCloneRange (line 177) | func IoctlFileCloneRange(destFd int, value *FileCloneRange) error {
  function IoctlFileClone (line 184) | func IoctlFileClone(destFd, srcFd int) error {
  type FileDedupeRange (line 188) | type FileDedupeRange struct
  type FileDedupeRangeInfo (line 196) | type FileDedupeRangeInfo struct
  function IoctlFileDedupeRange (line 208) | func IoctlFileDedupeRange(srcFd int, value *FileDedupeRange) error {
  function IoctlHIDGetDesc (line 246) | func IoctlHIDGetDesc(fd int, value *HIDRawReportDescriptor) error {
  function IoctlHIDGetRawInfo (line 250) | func IoctlHIDGetRawInfo(fd int) (*HIDRawDevInfo, error) {
  function IoctlHIDGetRawName (line 256) | func IoctlHIDGetRawName(fd int) (string, error) {
  function IoctlHIDGetRawPhys (line 262) | func IoctlHIDGetRawPhys(fd int) (string, error) {
  function IoctlHIDGetRawUniq (line 268) | func IoctlHIDGetRawUniq(fd int) (string, error) {
  function IoctlIfreq (line 276) | func IoctlIfreq(fd int, req uint, value *Ifreq) error {
  function ioctlIfreqData (line 286) | func ioctlIfreqData(fd int, req uint, value *ifreqData) error {
  function IoctlKCMClone (line 295) | func IoctlKCMClone(fd int) (*KCMClone, error) {
  function IoctlKCMAttach (line 306) | func IoctlKCMAttach(fd int, info KCMAttach) error {
  function IoctlKCMUnattach (line 311) | func IoctlKCMUnattach(fd int, info KCMUnattach) error {
  function IoctlLoopGetStatus64 (line 317) | func IoctlLoopGetStatus64(fd int) (*LoopInfo64, error) {
  function IoctlLoopSetStatus64 (line 327) | func IoctlLoopSetStatus64(fd int, value *LoopInfo64) error {
  function IoctlLoopConfigure (line 332) | func IoctlLoopConfigure(fd int, value *LoopConfig) error {

FILE: vendor/golang.org/x/sys/unix/ioctl_signed.go
  function IoctlSetInt (line 18) | func IoctlSetInt(fd int, req int, value int) error {
  function IoctlSetPointerInt (line 26) | func IoctlSetPointerInt(fd int, req int, value int) error {
  function IoctlSetWinsize (line 34) | func IoctlSetWinsize(fd int, req int, value *Winsize) error {
  function IoctlSetTermios (line 43) | func IoctlSetTermios(fd int, req int, value *Termios) error {
  function IoctlGetInt (line 53) | func IoctlGetInt(fd int, req int) (int, error) {
  function IoctlGetWinsize (line 59) | func IoctlGetWinsize(fd int, req int) (*Winsize, error) {
  function IoctlGetTermios (line 65) | func IoctlGetTermios(fd int, req int) (*Termios, error) {

FILE: vendor/golang.org/x/sys/unix/ioctl_unsigned.go
  function IoctlSetInt (line 18) | func IoctlSetInt(fd int, req uint, value int) error {
  function IoctlSetPointerInt (line 26) | func IoctlSetPointerInt(fd int, req uint, value int) error {
  function IoctlSetWinsize (line 34) | func IoctlSetWinsize(fd int, req uint, value *Winsize) error {
  function IoctlSetTermios (line 43) | func IoctlSetTermios(fd int, req uint, value *Termios) error {
  function IoctlGetInt (line 53) | func IoctlGetInt(fd int, req uint) (int, error) {
  function IoctlGetWinsize (line 59) | func IoctlGetWinsize(fd int, req uint) (*Winsize, error) {
  function IoctlGetTermios (line 65) | func IoctlGetTermios(fd int, req uint) (*Termios, error) {

FILE: vendor/golang.org/x/sys/unix/ioctl_zos.go
  function IoctlSetInt (line 19) | func IoctlSetInt(fd int, req int, value int) error {
  function IoctlSetWinsize (line 26) | func IoctlSetWinsize(fd int, req int, value *Winsize) error {
  function IoctlSetTermios (line 35) | func IoctlSetTermios(fd int, req int, value *Termios) error {
  function IoctlGetInt (line 49) | func IoctlGetInt(fd int, req int) (int, error) {
  function IoctlGetWinsize (line 55) | func IoctlGetWinsize(fd int, req int) (*Winsize, error) {
  function IoctlGetTermios (line 64) | func IoctlGetTermios(fd int, req int) (*Termios, error) {

FILE: vendor/golang.org/x/sys/unix/mremap.go
  type mremapMmapper (line 11) | type mremapMmapper struct
    method Mremap (line 25) | func (m *mremapMmapper) Mremap(oldData []byte, newLength int, flags in...
  function Mremap (line 50) | func Mremap(oldData []byte, newLength int, flags int) (data []byte, err ...
  function MremapPtr (line 54) | func MremapPtr(oldAddr unsafe.Pointer, oldSize uintptr, newAddr unsafe.P...

FILE: vendor/golang.org/x/sys/unix/pagesize_unix.go
  function Getpagesize (line 13) | func Getpagesize() int {

FILE: vendor/golang.org/x/sys/unix/pledge_openbsd.go
  function Pledge (line 20) | func Pledge(promises, execpromises string) error {
  function PledgePromises (line 43) | func PledgePromises(promises string) error {
  function PledgeExecpromises (line 61) | func PledgeExecpromises(execpromises string) error {
  function majmin (line 75) | func majmin() (major int, minor int, err error) {
  function pledgeAvailable (line 99) | func pledgeAvailable() error {

FILE: vendor/golang.org/x/sys/unix/ptrace_darwin.go
  function ptrace (line 9) | func ptrace(request int, pid int, addr uintptr, data uintptr) error {

FILE: vendor/golang.org/x/sys/unix/ptrace_ios.go
  function ptrace (line 9) | func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) {

FILE: vendor/golang.org/x/sys/unix/race.go
  constant raceenabled (line 14) | raceenabled = true
  function raceAcquire (line 16) | func raceAcquire(addr unsafe.Pointer) {
  function raceReleaseMerge (line 20) | func raceReleaseMerge(addr unsafe.Pointer) {
  function raceReadRange (line 24) | func raceReadRange(addr unsafe.Pointer, len int) {
  function raceWriteRange (line 28) | func raceWriteRange(addr unsafe.Pointer, len int) {

FILE: vendor/golang.org/x/sys/unix/race0.go
  constant raceenabled (line 13) | raceenabled = false
  function raceAcquire (line 15) | func raceAcquire(addr unsafe.Pointer) {
  function raceReleaseMerge (line 18) | func raceReleaseMerge(addr unsafe.Pointer) {
  function raceReadRange (line 21) | func raceReadRange(addr unsafe.Pointer, len int) {
  function raceWriteRange (line 24) | func raceWriteRange(addr unsafe.Pointer, len int) {

FILE: vendor/golang.org/x/sys/unix/readdirent_getdents.go
  function ReadDirent (line 10) | func ReadDirent(fd int, buf []byte) (n int, err error) {

FILE: vendor/golang.org/x/sys/unix/readdirent_getdirentries.go
  function ReadDirent (line 12) | func ReadDirent(fd int, buf []byte) (n int, err error) {

FILE: vendor/golang.org/x/sys/unix/sockcmsg_dragonfly.go
  function cmsgAlignOf (line 8) | func cmsgAlignOf(salen int) int {

FILE: vendor/golang.org/x/sys/unix/sockcmsg_linux.go
  function UnixCredentials (line 14) | func UnixCredentials(ucred *Ucred) []byte {
  function ParseUnixCredentials (line 27) | func ParseUnixCredentials(m *SocketControlMessage) (*Ucred, error) {
  function PktInfo4 (line 39) | func PktInfo4(info *Inet4Pktinfo) []byte {
  function PktInfo6 (line 50) | func PktInfo6(info *Inet6Pktinfo) []byte {
  function ParseOrigDstAddr (line 63) | func ParseOrigDstAddr(m *SocketControlMessage) (Sockaddr, error) {

FILE: vendor/golang.org/x/sys/unix/sockcmsg_unix.go
  function CmsgLen (line 17) | func CmsgLen(datalen int) int {
  function CmsgSpace (line 23) | func CmsgSpace(datalen int) int {
  method data (line 27) | func (h *Cmsghdr) data(offset uintptr) unsafe.Pointer {
  type SocketControlMessage (line 32) | type SocketControlMessage struct
  function ParseSocketControlMessage (line 39) | func ParseSocketControlMessage(b []byte) ([]SocketControlMessage, error) {
  function ParseOneSocketControlMessage (line 57) | func ParseOneSocketControlMessage(b []byte) (hdr Cmsghdr, data []byte, r...
  function socketControlMessageHeaderAndData (line 68) | func socketControlMessageHeaderAndData(b []byte) (*Cmsghdr, []byte, erro...
  function UnixRights (line 78) | func UnixRights(fds ...int) []byte {
  function ParseUnixRights (line 93) | func ParseUnixRights(m *SocketControlMessage) ([]int, error) {

FILE: vendor/golang.org/x/sys/unix/sockcmsg_unix_other.go
  function cmsgAlignOf (line 14) | func cmsgAlignOf(salen int) int {

FILE: vendor/golang.org/x/sys/unix/sockcmsg_zos.go
  function UnixCredentials (line 14) | func UnixCredentials(ucred *Ucred) []byte {
  function ParseUnixCredentials (line 27) | func ParseUnixCredentials(m *SocketControlMessage) (*Ucred, error) {
  function PktInfo4 (line 39) | func PktInfo4(info *Inet4Pktinfo) []byte {
  function PktInfo6 (line 50) | func PktInfo6(info *Inet6Pktinfo) []byte {

FILE: vendor/golang.org/x/sys/unix/syscall.go
  function ByteSliceFromString (line 36) | func ByteSliceFromString(s string) ([]byte, error) {
  function BytePtrFromString (line 48) | func BytePtrFromString(s string) (*byte, error) {
  function ByteSliceToString (line 58) | func ByteSliceToString(s []byte) string {
  function BytePtrToString (line 68) | func BytePtrToString(p *byte) string {

FILE: vendor/golang.org/x/sys/unix/syscall_aix.go
  function Access (line 22) | func Access(path string, mode uint32) (err error) {
  function Chmod (line 26) | func Chmod(path string, mode uint32) (err error) {
  function Chown (line 30) | func Chown(path string, uid int, gid int) (err error) {
  function Creat (line 34) | func Creat(path string, mode uint32) (fd int, err error) {
  function Utimes (line 40) | func Utimes(path string, tv []Timeval) error {
  function UtimesNano (line 49) | func UtimesNano(path string, ts []Timespec) error {
  function UtimesNanoAt (line 56) | func UtimesNanoAt(dirfd int, path string, ts []Timespec, flags int) error {
  method sockaddr (line 66) | func (sa *SockaddrInet4) sockaddr() (unsafe.Pointer, _Socklen, error) {
  method sockaddr (line 78) | func (sa *SockaddrInet6) sockaddr() (unsafe.Pointer, _Socklen, error) {
  method sockaddr (line 91) | func (sa *SockaddrUnix) sockaddr() (unsafe.Pointer, _Socklen, error) {
  function Getsockname (line 119) | func Getsockname(fd int) (sa Sockaddr, err error) {
  constant ImplementsGetwd (line 130) | ImplementsGetwd = true
  function Getwd (line 132) | func Getwd() (ret string, err error) {
  function Getcwd (line 149) | func Getcwd(buf []byte) (n int, err error) {
  function Getgroups (line 161) | func Getgroups() (gids []int, err error) {
  function Setgroups (line 187) | func Setgroups(gids []int) (err error) {
  function Accept (line 205) | func Accept(fd int) (nfd int, sa Sockaddr, err error) {
  function recvmsgRaw (line 220) | func recvmsgRaw(fd int, iov []Iovec, oob []byte, flags int, rsa *RawSock...
  function sendmsgN (line 248) | func sendmsgN(fd int, iov []Iovec, oob []byte, ptr unsafe.Pointer, salen...
  function anyToSockaddr (line 279) | func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) {
  function Gettimeofday (line 318) | func Gettimeofday(tv *Timeval) (err error) {
  function Sendfile (line 323) | func Sendfile(outfd int, infd int, offset *int64, count int) (written in...
  function sendfile (line 331) | func sendfile(outfd int, infd int, offset *int64, count int) (written in...
  function direntIno (line 335) | func direntIno(buf []byte) (uint64, bool) {
  function direntReclen (line 339) | func direntReclen(buf []byte) (uint64, bool) {
  function direntNamlen (line 343) | func direntNamlen(buf []byte) (uint64, bool) {
  function Getdents (line 353) | func Getdents(fd int, buf []byte) (n int, err error) {
  function Wait4 (line 359) | func Wait4(pid int, wstatus *WaitStatus, options int, rusage *Rusage) (w...
  type WaitStatus (line 379) | type WaitStatus
    method Stopped (line 381) | func (w WaitStatus) Stopped() bool { return w&0x40 != 0 }
    method StopSignal (line 382) | func (w WaitStatus) StopSignal() Signal {
    method Exited (line 389) | func (w WaitStatus) Exited() bool { return w&0xFF == 0 }
    method ExitStatus (line 390) | func (w WaitStatus) ExitStatus() int {
    method Signaled (line 397) | func (w WaitStatus) Signaled() bool { return w&0x40 == 0 && w&0xFF != 0 }
    method Signal (line 398) | func (w WaitStatus) Signal() Signal {
    method Continued (line 405) | func (w WaitStatus) Continued() bool { return w&0x01000000 != 0 }
    method CoreDump (line 407) | func (w WaitStatus) CoreDump() bool { return w&0x80 == 0x80 }
    method TrapCause (line 409) | func (w WaitStatus) TrapCause() int { return -1 }
  function Fsync (line 428) | func Fsync(fd int) error {
  function Pipe (line 546) | func Pipe(p []int) (err error) {
  function Poll (line 561) | func Poll(fds []PollFd, timeout int) (n int, err error) {
  function Unmount (line 576) | func Unmount(target string, flags int) (err error) {

FILE: vendor/golang.org/x/sys/unix/syscall_aix_ppc.go
  function setTimespec (line 14) | func setTimespec(sec, nsec int64) Timespec {
  function setTimeval (line 18) | func setTimeval(sec, usec int64) Timeval {
  method SetLen (line 22) | func (iov *Iovec) SetLen(length int) {
  method SetControllen (line 26) | func (msghdr *Msghdr) SetControllen(length int) {
  method SetIovlen (line 30) | func (msghdr *Msghdr) SetIovlen(length int) {
  method SetLen (line 34) | func (cmsg *Cmsghdr) SetLen(length int) {
  function Fstat (line 38) | func Fstat(fd int, stat *Stat_t) error {
  function Fstatat (line 42) | func Fstatat(dirfd int, path string, stat *Stat_t, flags int) error {
  function Lstat (line 46) | func Lstat(path string, stat *Stat_t) error {
  function Stat (line 50) | func Stat(path string, statptr *Stat_t) error {

FILE: vendor/golang.org/x/sys/unix/syscall_aix_ppc64.go
  function setTimespec (line 14) | func setTimespec(sec, nsec int64) Timespec {
  function setTimeval (line 18) | func setTimeval(sec, usec int64) Timeval {
  method SetLen (line 22) | func (iov *Iovec) SetLen(length int) {
  method SetControllen (line 26) | func (msghdr *Msghdr) SetControllen(length int) {
  method SetIovlen (line 30) | func (msghdr *Msghdr) SetIovlen(length int) {
  method SetLen (line 34) | func (cmsg *Cmsghdr) SetLen(length int) {
  function fixStatTimFields (line 43) | func fixStatTimFields(stat *Stat_t) {
  function Fstat (line 49) | func Fstat(fd int, stat *Stat_t) error {
  function Fstatat (line 58) | func Fstatat(dirfd int, path string, stat *Stat_t, flags int) error {
  function Lstat (line 67) | func Lstat(path string, stat *Stat_t) error {
  function Stat (line 76) | func Stat(path string, statptr *Stat_t) error {

FILE: vendor/golang.org/x/sys/unix/syscall_bsd.go
  constant ImplementsGetwd (line 21) | ImplementsGetwd = true
  function Getwd (line 23) | func Getwd() (string, error) {
  function Getgroups (line 43) | func Getgroups() (gids []int, err error) {
  function Setgroups (line 69) | func Setgroups(gids []int) (err error) {
  type WaitStatus (line 87) | type WaitStatus
    method Exited (line 99) | func (w WaitStatus) Exited() bool { return w&mask == exited }
    method ExitStatus (line 101) | func (w WaitStatus) ExitStatus() int {
    method Signaled (line 108) | func (w WaitStatus) Signaled() bool { return w&mask != stopped && w&ma...
    method Signal (line 110) | func (w WaitStatus) Signal() syscall.Signal {
    method CoreDump (line 118) | func (w WaitStatus) CoreDump() bool { return w.Signaled() && w&core !=...
    method Stopped (line 120) | func (w WaitStatus) Stopped() bool { return w&mask == stopped && sysca...
    method Killed (line 122) | func (w WaitStatus) Killed() bool { return w&mask == killed && syscall...
    method Continued (line 124) | func (w WaitStatus) Continued() bool { return w&mask == stopped && sys...
    method StopSignal (line 126) | func (w WaitStatus) StopSignal() syscall.Signal {
    method TrapCause (line 133) | func (w WaitStatus) TrapCause() int { return -1 }
  constant mask (line 90) | mask  = 0x7F
  constant core (line 91) | core  = 0x80
  constant shift (line 92) | shift = 8
  constant exited (line 94) | exited  = 0
  constant killed (line 95) | killed  = 9
  constant stopped (line 96) | stopped = 0x7F
  function Wait4 (line 137) | func Wait4(pid int, wstatus *WaitStatus, options int, rusage *Rusage) (w...
  method sockaddr (line 156) | func (sa *SockaddrInet4) sockaddr() (unsafe.Pointer, _Socklen, error) {
  method sockaddr (line 169) | func (sa *SockaddrInet6) sockaddr() (unsafe.Pointer, _Socklen, error) {
  method sockaddr (line 183) | func (sa *SockaddrUnix) sockaddr() (unsafe.Pointer, _Socklen, error) {
  method sockaddr (line 197) | func (sa *SockaddrDatalink) sockaddr() (unsafe.Pointer, _Socklen, error) {
  function anyToSockaddr (line 212) | func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) {
  function Accept (line 270) | func Accept(fd int) (nfd int, sa Sockaddr, err error) {
  function Getsockname (line 293) | func Getsockname(fd int) (sa Sockaddr, err error) {
  function GetsockoptString (line 312) | func GetsockoptString(fd, level, opt int) (string, error) {
  function recvmsgRaw (line 326) | func recvmsgRaw(fd int, iov []Iovec, oob []byte, flags int, rsa *RawSock...
  function sendmsgN (line 356) | func sendmsgN(fd int, iov []Iovec, oob []byte, ptr unsafe.Pointer, salen...
  function Kevent (line 389) | func Kevent(kq int, changes, events []Kevent_t, timeout *Timespec) (n in...
  function sysctlmib (line 401) | func sysctlmib(name string, args ...int) ([]_C_int, error) {
  function Sysctl (line 415) | func Sysctl(name string) (string, error) {
  function SysctlArgs (line 419) | func SysctlArgs(name string, args ...int) (string, error) {
  function SysctlUint32 (line 433) | func SysctlUint32(name string) (uint32, error) {
  function SysctlUint32Args (line 437) | func SysctlUint32Args(name string, args ...int) (uint32, error) {
  function SysctlUint64 (line 454) | func SysctlUint64(name string, args ...int) (uint64, error) {
  function SysctlRaw (line 471) | func SysctlRaw(name string, args ...int) ([]byte, error) {
  function SysctlClockinfo (line 497) | func SysctlClockinfo(name string) (*Clockinfo, error) {
  function SysctlTimeval (line 514) | func SysctlTimeval(name string) (*Timeval, error) {
  function Utimes (line 533) | func Utimes(path string, tv []Timeval) error {
  function UtimesNano (line 543) | func UtimesNano(path string, ts []Timespec) error {
  function UtimesNanoAt (line 567) | func UtimesNanoAt(dirfd int, path string, ts []Timespec, flags int) error {
  function Futimes (line 579) | func Futimes(fd int, tv []Timeval) error {
  function Poll (line 591) | func Poll(fds []PollFd, timeout int) (n int, err error) {

FILE: vendor/golang.org/x/sys/unix/syscall_darwin.go
  function fdopendir (line 24) | func fdopendir(fd int) (dir uintptr, err error) {
  function Getdirentries (line 37) | func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {
  type SockaddrDatalink (line 112) | type SockaddrDatalink struct
  type SockaddrCtl (line 125) | type SockaddrCtl struct
    method sockaddr (line 131) | func (sa *SockaddrCtl) sockaddr() (unsafe.Pointer, _Socklen, error) {
  type SockaddrVM (line 144) | type SockaddrVM struct
    method sockaddr (line 155) | func (sa *SockaddrVM) sockaddr() (unsafe.Pointer, _Socklen, error) {
  function anyToSockaddrGOOS (line 164) | func anyToSockaddrGOOS(fd int, rsa *RawSockaddrAny) (Sockaddr, error) {
  constant SYS___SYSCTL (line 188) | SYS___SYSCTL = SYS_SYSCTL
  function nametomib (line 191) | func nametomib(name string) (mib []_C_int, err error) {
  function direntIno (line 218) | func direntIno(buf []byte) (uint64, bool) {
  function direntReclen (line 222) | func direntReclen(buf []byte) (uint64, bool) {
  function direntNamlen (line 226) | func direntNamlen(buf []byte) (uint64, bool) {
  function PtraceAttach (line 230) | func PtraceAttach(pid int) (err error) { return ptrace(PT_ATTACH, pid, 0...
  function PtraceDetach (line 231) | func PtraceDetach(pid int) (err error) { return ptrace(PT_DETACH, pid, 0...
  function PtraceDenyAttach (line 232) | func PtraceDenyAttach() (err error)    { return ptrace(PT_DENY_ATTACH, 0...
  function Pipe (line 236) | func Pipe(p []int) (err error) {
  function Getfsstat (line 249) | func Getfsstat(buf []Statfs_t, flags int) (n int, err error) {
  function xattrPointer (line 259) | func xattrPointer(dest []byte) *byte {
  function Getxattr (line 274) | func Getxattr(path string, attr string, dest []byte) (sz int, err error) {
  function Lgetxattr (line 278) | func Lgetxattr(link string, attr string, dest []byte) (sz int, err error) {
  function Fgetxattr (line 284) | func Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) {
  function Setxattr (line 290) | func Setxattr(path string, attr string, data []byte, flags int) (err err...
  function Lsetxattr (line 320) | func Lsetxattr(link string, attr string, data []byte, flags int) (err er...
  function Fsetxattr (line 326) | func Fsetxattr(fd int, attr string, data []byte, flags int) (err error) {
  function Removexattr (line 332) | func Removexattr(path string, attr string) (err error) {
  function Lremovexattr (line 339) | func Lremovexattr(link string, attr string) (err error) {
  function Fremovexattr (line 345) | func Fremovexattr(fd int, attr string) (err error) {
  function Listxattr (line 351) | func Listxattr(path string, dest []byte) (sz int, err error) {
  function Llistxattr (line 355) | func Llistxattr(link string, dest []byte) (sz int, err error) {
  function Flistxattr (line 361) | func Flistxattr(fd int, dest []byte) (sz int, err error) {
  function Kill (line 375) | func Kill(pid int, signum syscall.Signal) (err error) { return kill(pid,...
  function IoctlCtlInfo (line 380) | func IoctlCtlInfo(fd int, ctlInfo *CtlInfo) error {
  type IfreqMTU (line 385) | type IfreqMTU struct
  function IoctlGetIfreqMTU (line 392) | func IoctlGetIfreqMTU(fd int, ifname string) (*IfreqMTU, error) {
  function IoctlSetIfreqMTU (line 401) | func IoctlSetIfreqMTU(fd int, ifreq *IfreqMTU) error {
  function RenamexNp (line 407) | func RenamexNp(from string, to string, flag uint32) (err error) {
  function RenameatxNp (line 413) | func RenameatxNp(fromfd int, from string, tofd int, to string, flag uint...
  function Uname (line 419) | func Uname(uname *Utsname) error {
  function Sendfile (line 465) | func Sendfile(outfd int, infd int, offset *int64, count int) (written in...
  function GetsockoptIPMreqn (line 475) | func GetsockoptIPMreqn(fd, level, opt int) (*IPMreqn, error) {
  function SetsockoptIPMreqn (line 482) | func SetsockoptIPMreqn(fd, level, opt int, mreq *IPMreqn) (err error) {
  function GetsockoptXucred (line 488) | func GetsockoptXucred(fd, level, opt int) (*Xucred, error) {
  function GetsockoptTCPConnectionInfo (line 495) | func GetsockoptTCPConnectionInfo(fd, level, opt int) (*TCPConnectionInfo...
  function SysctlKinfoProc (line 502) | func SysctlKinfoProc(name string, args ...int) (*KinfoProc, error) {
  function SysctlKinfoProcSlice (line 519) | func SysctlKinfoProcSlice(name string, args ...int) ([]KinfoProc, error) {
  function PthreadChdir (line 559) | func PthreadChdir(path string) (err error) {
  function PthreadFchdir (line 565) | func PthreadFchdir(fd int) (err error) {
  function Connectx (line 578) | func Connectx(fd int, srcIf uint32, srcAddr, dstAddr Sockaddr, associd S...

FILE: vendor/golang.org/x/sys/unix/syscall_darwin_amd64.go
  function setTimespec (line 11) | func setTimespec(sec, nsec int64) Timespec {
  function setTimeval (line 15) | func setTimeval(sec, usec int64) Timeval {
  function SetKevent (line 19) | func SetKevent(k *Kevent_t, fd, mode, flags int) {
  method SetLen (line 25) | func (iov *Iovec) SetLen(length int) {
  method SetControllen (line 29) | func (msghdr *Msghdr) SetControllen(length int) {
  method SetIovlen (line 33) | func (msghdr *Msghdr) SetIovlen(length int) {
  method SetLen (line 37) | func (cmsg *Cmsghdr) SetLen(length int) {
  function Syscall9 (line 41) | func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 u...

FILE: vendor/golang.org/x/sys/unix/syscall_darwin_arm64.go
  function setTimespec (line 11) | func setTimespec(sec, nsec int64) Timespec {
  function setTimeval (line 15) | func setTimeval(sec, usec int64) Timeval {
  function SetKevent (line 19) | func SetKevent(k *Kevent_t, fd, mode, flags int) {
  method SetLen (line 25) | func (iov *Iovec) SetLen(length int) {
  method SetControllen (line 29) | func (msghdr *Msghdr) SetControllen(length int) {
  method SetIovlen (line 33) | func (msghdr *Msghdr) SetIovlen(length int) {
  method SetLen (line 37) | func (cmsg *Cmsghdr) SetLen(length int) {
  function Syscall9 (line 41) | func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 u...

FILE: vendor/golang.org/x/sys/unix/syscall_darwin_libSystem.go
  function syscall_syscall (line 12) | func syscall_syscall(fn, a1, a2, a3 uintptr) (r1, r2 uintptr, err Errno)
  function syscall_syscall6 (line 13) | func syscall_syscall6(fn, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintpt...
  function syscall_syscall6X (line 14) | func syscall_syscall6X(fn, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintp...
  function syscall_syscall9 (line 15) | func syscall_syscall9(fn, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r...
  function syscall_rawSyscall (line 16) | func syscall_rawSyscall(fn, a1, a2, a3 uintptr) (r1, r2 uintptr, err Errno)
  function syscall_rawSyscall6 (line 17) | func syscall_rawSyscall6(fn, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uin...
  function syscall_syscallPtr (line 18) | func syscall_syscallPtr(fn, a1, a2, a3 uintptr) (r1, r2 uintptr, err Errno)

FILE: vendor/golang.org/x/sys/unix/syscall_dragonfly.go
  constant _dragonflyABIChangeVersion (line 28) | _dragonflyABIChangeVersion = 500705
  function supportsABI (line 30) | func supportsABI(ver uint32) bool {
  type SockaddrDatalink (line 36) | type SockaddrDatalink struct
  function anyToSockaddrGOOS (line 50) | func anyToSockaddrGOOS(fd int, rsa *RawSockaddrAny) (Sockaddr, error) {
  function nametomib (line 55) | func nametomib(name string) (mib []_C_int, err error) {
  function direntIno (line 82) | func direntIno(buf []byte) (uint64, bool) {
  function direntReclen (line 86) | func direntReclen(buf []byte) (uint64, bool) {
  function direntNamlen (line 94) | func direntNamlen(buf []byte) (uint64, bool) {
  function Pipe (line 100) | func Pipe(p []int) (err error) {
  function Pipe2 (line 113) | func Pipe2(p []int, flags int) (err error) {
  function pread (line 129) | func pread(fd int, p []byte, offset int64) (n int, err error) {
  function pwrite (line 135) | func pwrite(fd int, p []byte, offset int64) (n int, err error) {
  function Accept4 (line 139) | func Accept4(fd, flags int) (nfd int, sa Sockaddr, err error) {
  function Getfsstat (line 159) | func Getfsstat(buf []Statfs_t, flags int) (n int, err error) {
  function sysctlUname (line 179) | func sysctlUname(mib []_C_int, old *byte, oldlen *uintptr) error {
  function Uname (line 192) | func Uname(uname *Utsname) error {
  function Sendfile (line 242) | func Sendfile(outfd int, infd int, offset *int64, count int) (written in...
  function Dup3 (line 249) | func Dup3(oldfd, newfd, flags int) error {

FILE: vendor/golang.org/x/sys/unix/syscall_dragonfly_amd64.go
  function setTimespec (line 14) | func setTimespec(sec, nsec int64) Timespec {
  function setTimeval (line 18) | func setTimeval(sec, usec int64) Timeval {
  function SetKevent (line 22) | func SetKevent(k *Kevent_t, fd, mode, flags int) {
  method SetLen (line 28) | func (iov *Iovec) SetLen(length int) {
  method SetControllen (line 32) | func (msghdr *Msghdr) SetControllen(length int) {
  method SetIovlen (line 36) | func (msghdr *Msghdr) SetIovlen(length int) {
  method SetLen (line 40) | func (cmsg *Cmsghdr) SetLen(length int) {
  function sendfile (line 44) | func sendfile(outfd int, infd int, offset *int64, count int) (written in...
  function Syscall9 (line 56) | func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 u...

FILE: vendor/golang.org/x/sys/unix/syscall_freebsd.go
  function supportsABI (line 27) | func supportsABI(ver uint32) bool {
  type SockaddrDatalink (line 33) | type SockaddrDatalink struct
  function anyToSockaddrGOOS (line 45) | func anyToSockaddrGOOS(fd int, rsa *RawSockaddrAny) (Sockaddr, error) {
  function nametomib (line 50) | func nametomib(name string) (mib []_C_int, err error) {
  function direntIno (line 77) | func direntIno(buf []byte) (uint64, bool) {
  function direntReclen (line 81) | func direntReclen(buf []byte) (uint64, bool) {
  function direntNamlen (line 85) | func direntNamlen(buf []byte) (uint64, bool) {
  function Pipe (line 89) | func Pipe(p []int) (err error) {
  function Pipe2 (line 95) | func Pipe2(p []int, flags int) error {
  function GetsockoptIPMreqn (line 108) | func GetsockoptIPMreqn(fd, level, opt int) (*IPMreqn, error) {
  function SetsockoptIPMreqn (line 115) | func SetsockoptIPMreqn(fd, level, opt int, mreq *IPMreqn) (err error) {
  function GetsockoptXucred (line 121) | func GetsockoptXucred(fd, level, opt int) (*Xucred, error) {
  function Accept4 (line 128) | func Accept4(fd, flags int) (nfd int, sa Sockaddr, err error) {
  function Getfsstat (line 148) | func Getfsstat(buf []Statfs_t, flags int) (n int, err error) {
  function Uname (line 170) | func Uname(uname *Utsname) error {
  function Stat (line 217) | func Stat(path string, st *Stat_t) (err error) {
  function Lstat (line 221) | func Lstat(path string, st *Stat_t) (err error) {
  function Getdents (line 225) | func Getdents(fd int, buf []byte) (n int, err error) {
  function Getdirentries (line 229) | func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {
  function Mknod (line 247) | func Mknod(path string, mode uint32, dev uint64) (err error) {
  function Sendfile (line 251) | func Sendfile(outfd int, infd int, offset *int64, count int) (written in...
  function PtraceAttach (line 261) | func PtraceAttach(pid int) (err error) {
  function PtraceCont (line 265) | func PtraceCont(pid int, signal int) (err error) {
  function PtraceDetach (line 269) | func PtraceDetach(pid int) (err error) {
  function PtraceGetFpRegs (line 273) | func PtraceGetFpRegs(pid int, fpregsout *FpReg) (err error) {
  function PtraceGetRegs (line 277) | func PtraceGetRegs(pid int, regsout *Reg) (err error) {
  function PtraceIO (line 281) | func PtraceIO(req int, pid int, offs uintptr, out []byte, countin int) (...
  function PtraceLwpEvents (line 298) | func PtraceLwpEvents(pid int, enable int) (err error) {
  function PtraceLwpInfo (line 302) | func PtraceLwpInfo(pid int, info *PtraceLwpInfoStruct) (err error) {
  function PtracePeekData (line 306) | func PtracePeekData(pid int, addr uintptr, out []byte) (count int, err e...
  function PtracePeekText (line 310) | func PtracePeekText(pid int, addr uintptr, out []byte) (count int, err e...
  function PtracePokeData (line 314) | func PtracePokeData(pid int, addr uintptr, data []byte) (count int, err ...
  function PtracePokeText (line 318) | func PtracePokeText(pid int, addr uintptr, data []byte) (count int, err ...
  function PtraceSetRegs (line 322) | func PtraceSetRegs(pid int, regs *Reg) (err error) {
  function PtraceSingleStep (line 326) | func PtraceSingleStep(pid int) (err error) {
  function Dup3 (line 330) | func Dup3(oldfd, newfd, flags int) error {

FILE: vendor/golang.org/x/sys/unix/syscall_freebsd_386.go
  function setTimespec (line 14) | func setTimespec(sec, nsec int64) Timespec {
  function setTimeval (line 18) | func setTimeval(sec, usec int64) Timeval {
  function SetKevent (line 22) | func SetKevent(k *Kevent_t, fd, mode, flags int) {
  method SetLen (line 28) | func (iov *Iovec) SetLen(length int) {
  method SetControllen (line 32) | func (msghdr *Msghdr) SetControllen(length int) {
  method SetIovlen (line 36) | func (msghdr *Msghdr) SetIovlen(length int) {
  method SetLen (line 40) | func (cmsg *Cmsghdr) SetLen(length int) {
  method SetLen (line 44) | func (d *PtraceIoDesc) SetLen(length int) {
  function sendfile (line 48) | func sendfile(outfd int, infd int, offset *int64, count int) (written in...
  function Syscall9 (line 60) | func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 u...
  function PtraceGetFsBase (line 62) | func PtraceGetFsBase(pid int, fsbase *int64) (err error) {

FILE: vendor/golang.org/x/sys/unix/syscall_freebsd_amd64.go
  function setTimespec (line 14) | func setTimespec(sec, nsec int64) Timespec {
  function setTimeval (line 18) | func setTimeval(sec, usec int64) Timeval {
  function SetKevent (line 22) | func SetKevent(k *Kevent_t, fd, mode, flags int) {
  method SetLen (line 28) | func (iov *Iovec) SetLen(length int) {
  method SetControllen (line 32) | func (msghdr *Msghdr) SetControllen(length int) {
  method SetIovlen (line 36) | func (msghdr *Msghdr) SetIovlen(length int) {
  method SetLen (line 40) | func (cmsg *Cmsghdr) SetLen(length int) {
  method SetLen (line 44) | func (d *PtraceIoDesc) SetLen(length int) {
  function sendfile (line 48) | func sendfile(outfd int, infd int, offset *int64, count int) (written in...
  function Syscall9 (line 60) | func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 u...
  function PtraceGetFsBase (line 62) | func PtraceGetFsBase(pid int, fsbase *int64) (err error) {

FILE: vendor/golang.org/x/sys/unix/syscall_freebsd_arm.go
  function setTimespec (line 14) | func setTimespec(sec, nsec int64) Timespec {
  function setTimeval (line 18) | func setTimeval(sec, usec int64) Timeval {
  function SetKevent (line 22) | func SetKevent(k *Kevent_t, fd, mode, flags int) {
  method SetLen (line 28) | func (iov *Iovec) SetLen(length int) {
  method SetControllen (line 32) | func (msghdr *Msghdr) SetControllen(length int) {
  method SetIovlen (line 36) | func (msghdr *Msghdr) SetIovlen(length int) {
  method SetLen (line 40) | func (cmsg *Cmsghdr) SetLen(length int) {
  method SetLen (line 44) | func (d *PtraceIoDesc) SetLen(length int) {
  function sendfile (line 48) | func sendfile(outfd int, infd int, offset *int64, count int) (written in...
  function Syscall9 (line 60) | func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 u...

FILE: vendor/golang.org/x/sys/unix/syscall_freebsd_arm64.go
  function setTimespec (line 14) | func setTimespec(sec, nsec int64) Timespec {
  function setTimeval (line 18) | func setTimeval(sec, usec int64) Timeval {
  function SetKevent (line 22) | func SetKevent(k *Kevent_t, fd, mode, flags int) {
  method SetLen (line 28) | func (iov *Iovec) SetLen(length int) {
  method SetControllen (line 32) | func (msghdr *Msghdr) SetControllen(length int) {
  method SetIovlen (line 36) | func (msghdr *Msghdr) SetIovlen(length int) {
  method SetLen (line 40) | func (cmsg *Cmsghdr) SetLen(length int) {
  method SetLen (line 44) | func (d *PtraceIoDesc) SetLen(length int) {
  function sendfile (line 48) | func sendfile(outfd int, infd int, offset *int64, count int) (written in...
  function Syscall9 (line 60) | func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 u...

FILE: vendor/golang.org/x/sys/unix/syscall_freebsd_riscv64.go
  function setTimespec (line 14) | func setTimespec(sec, nsec int64) Timespec {
  function setTimeval (line 18) | func setTimeval(sec, usec int64) Timeval {
  function SetKevent (line 22) | func SetKevent(k *Kevent_t, fd, mode, flags int) {
  method SetLen (line 28) | func (iov *Iovec) SetLen(length int) {
  method SetControllen (line 32) | func (msghdr *Msghdr) SetControllen(length int) {
  method SetIovlen (line 36) | func (msghdr *Msghdr) SetIovlen(length int) {
  method SetLen (line 40) | func (cmsg *Cmsghdr) SetLen(length int) {
  method SetLen (line 44) | func (d *PtraceIoDesc) SetLen(length int) {
  function sendfile (line 48) | func sendfile(outfd int, infd int, offset *int64, count int) (written in...
  function Syscall9 (line 60) | func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 u...

FILE: vendor/golang.org/x/sys/unix/syscall_hurd.go
  function ioctl (line 16) | func ioctl(fd int, req uint, arg uintptr) (err error) {
  function ioctlPtr (line 24) | func ioctlPtr(fd int, req uint, arg unsafe.Pointer) (err error) {

FILE: vendor/golang.org/x/sys/unix/syscall_hurd_386.go
  constant TIOCGETA (line 10) | TIOCGETA = 0x62251713
  type Winsize (line 13) | type Winsize struct
  type Termios (line 20) | type Termios struct

FILE: vendor/golang.org/x/sys/unix/syscall_illumos.go
  function bytes2iovec (line 15) | func bytes2iovec(bs [][]byte) []Iovec {
  function Readv (line 30) | func Readv(fd int, iovs [][]byte) (n int, err error) {
  function Preadv (line 38) | func Preadv(fd int, iovs [][]byte, off int64) (n int, err error) {
  function Writev (line 46) | func Writev(fd int, iovs [][]byte) (n int, err error) {
  function Pwritev (line 54) | func Pwritev(fd int, iovs [][]byte, off int64) (n int, err error) {
  function Accept4 (line 62) | func Accept4(fd int, flags int) (nfd int, sa Sockaddr, err error) {

FILE: vendor/golang.org/x/sys/unix/syscall_linux.go
  function Access (line 26) | func Access(path string, mode uint32) (err error) {
  function Chmod (line 30) | func Chmod(path string, mode uint32) (err error) {
  function Chown (line 34) | func Chown(path string, uid int, gid int) (err error) {
  function Creat (line 38) | func Creat(path string, mode uint32) (fd int, err error) {
  function EpollCreate (line 42) | func EpollCreate(size int) (fd int, err error) {
  function FanotifyMark (line 52) | func FanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname s...
  function Fchmodat (line 66) | func Fchmodat(dirfd int, path string, mode uint32, flags int) error {
  function InotifyInit (line 85) | func InotifyInit() (fd int, err error) {
  function Link (line 104) | func Link(oldpath string, newpath string) (err error) {
  function Mkdir (line 108) | func Mkdir(path string, mode uint32) (err error) {
  function Mknod (line 112) | func Mknod(path string, mode uint32, dev int) (err error) {
  function Open (line 116) | func Open(path string, mode int, perm uint32) (fd int, err error) {
  function Openat (line 122) | func Openat(dirfd int, path string, flags int, mode uint32) (fd int, err...
  function Openat2 (line 128) | func Openat2(dirfd int, path string, how *OpenHow) (fd int, err error) {
  function Pipe (line 132) | func Pipe(p []int) error {
  function Pipe2 (line 138) | func Pipe2(p []int, flags int) error {
  function Ppoll (line 153) | func Ppoll(fds []PollFd, timeout *Timespec, sigmask *Sigset_t) (n int, e...
  function Poll (line 160) | func Poll(fds []PollFd, timeout int) (n int, err error) {
  function Readlink (line 171) | func Readlink(path string, buf []byte) (n int, err error) {
  function Rename (line 175) | func Rename(oldpath string, newpath string) (err error) {
  function Rmdir (line 179) | func Rmdir(path string) error {
  function Symlink (line 185) | func Symlink(oldpath string, newpath string) (err error) {
  function Unlink (line 189) | func Unlink(path string) error {
  function Utimes (line 195) | func Utimes(path string, tv []Timeval) error {
  function UtimesNano (line 218) | func UtimesNano(path string, ts []Timespec) error {
  function UtimesNanoAt (line 222) | func UtimesNanoAt(dirfd int, path string, ts []Timespec, flags int) error {
  function Futimesat (line 232) | func Futimesat(dirfd int, path string, tv []Timeval) error {
  function Futimes (line 242) | func Futimes(fd int, tv []Timeval) (err error) {
  constant ImplementsGetwd (line 248) | ImplementsGetwd = true
  function Getwd (line 252) | func Getwd() (wd string, err error) {
  function Getgroups (line 272) | func Getgroups() (gids []int, err error) {
  function Setgroups (line 298) | func Setgroups(gids []int) (err error) {
  type WaitStatus (line 310) | type WaitStatus
    method Exited (line 329) | func (w WaitStatus) Exited() bool { return w&mask == exited }
    method Signaled (line 331) | func (w WaitStatus) Signaled() bool { return w&mask != stopped && w&ma...
    method Stopped (line 333) | func (w WaitStatus) Stopped() bool { return w&0xFF == stopped }
    method Continued (line 335) | func (w WaitStatus) Continued() bool { return w == 0xFFFF }
    method CoreDump (line 337) | func (w WaitStatus) CoreDump() bool { return w.Signaled() && w&core !=...
    method ExitStatus (line 339) | func (w WaitStatus) ExitStatus() int {
    method Signal (line 346) | func (w WaitStatus) Signal() syscall.Signal {
    method StopSignal (line 353) | func (w WaitStatus) StopSignal() syscall.Signal {
    method TrapCause (line 360) | func (w WaitStatus) TrapCause() int {
  constant mask (line 322) | mask    = 0x7F
  constant core (line 323) | core    = 0x80
  constant exited (line 324) | exited  = 0x00
  constant stopped (line 325) | stopped = 0x7F
  constant shift (line 326) | shift   = 8
  function Wait4 (line 369) | func Wait4(pid int, wstatus *WaitStatus, options int, rusage *Rusage) (w...
  function Mkfifo (line 380) | func Mkfifo(path string, mode uint32) error {
  function Mkfifoat (line 384) | func Mkfifoat(dirfd int, path string, mode uint32) error {
  method sockaddr (line 388) | func (sa *SockaddrInet4) sockaddr() (unsafe.Pointer, _Socklen, error) {
  method sockaddr (line 400) | func (sa *SockaddrInet6) sockaddr() (unsafe.Pointer, _Socklen, error) {
  method sockaddr (line 413) | func (sa *SockaddrUnix) sockaddr() (unsafe.Pointer, _Socklen, error) {
  type SockaddrLinklayer (line 439) | type SockaddrLinklayer struct
    method sockaddr (line 449) | func (sa *SockaddrLinklayer) sockaddr() (unsafe.Pointer, _Socklen, err...
  type SockaddrNetlink (line 464) | type SockaddrNetlink struct
    method sockaddr (line 472) | func (sa *SockaddrNetlink) sockaddr() (unsafe.Pointer, _Socklen, error) {
  type SockaddrHCI (line 482) | type SockaddrHCI struct
    method sockaddr (line 488) | func (sa *SockaddrHCI) sockaddr() (unsafe.Pointer, _Socklen, error) {
  type SockaddrL2 (line 497) | type SockaddrL2 struct
    method sockaddr (line 505) | func (sa *SockaddrL2) sockaddr() (unsafe.Pointer, _Socklen, error) {
  type SockaddrRFCOMM (line 543) | type SockaddrRFCOMM struct
    method sockaddr (line 554) | func (sa *SockaddrRFCOMM) sockaddr() (unsafe.Pointer, _Socklen, error) {
  type SockaddrCAN (line 578) | type SockaddrCAN struct
    method sockaddr (line 585) | func (sa *SockaddrCAN) sockaddr() (unsafe.Pointer, _Socklen, error) {
  type SockaddrCANJ1939 (line 606) | type SockaddrCANJ1939 struct
    method sockaddr (line 614) | func (sa *SockaddrCANJ1939) sockaddr() (unsafe.Pointer, _Socklen, erro...
  type SockaddrALG (line 695) | type SockaddrALG struct
    method sockaddr (line 703) | func (sa *SockaddrALG) sockaddr() (unsafe.Pointer, _Socklen, error) {
  type SockaddrVM (line 726) | type SockaddrVM struct
    method sockaddr (line 738) | func (sa *SockaddrVM) sockaddr() (unsafe.Pointer, _Socklen, error) {
  type SockaddrXDP (line 747) | type SockaddrXDP struct
    method sockaddr (line 755) | func (sa *SockaddrXDP) sockaddr() (unsafe.Pointer, _Socklen, error) {
  constant px_proto_oe (line 772) | px_proto_oe = 0
  type SockaddrPPPoE (line 774) | type SockaddrPPPoE struct
    method sockaddr (line 781) | func (sa *SockaddrPPPoE) sockaddr() (unsafe.Pointer, _Socklen, error) {
  type SockaddrTIPC (line 812) | type SockaddrTIPC struct
    method sockaddr (line 861) | func (sa *SockaddrTIPC) sockaddr() (unsafe.Pointer, _Socklen, error) {
  type TIPCAddr (line 832) | type TIPCAddr interface
  method tipcAddr (line 837) | func (sa *TIPCSocketAddr) tipcAddr() [12]byte {
  method tipcAddrtype (line 843) | func (sa *TIPCSocketAddr) tipcAddrtype() uint8 { return TIPC_SOCKET_ADDR }
  method tipcAddr (line 845) | func (sa *TIPCServiceRange) tipcAddr() [12]byte {
  method tipcAddrtype (line 851) | func (sa *TIPCServiceRange) tipcAddrtype() uint8 { return TIPC_SERVICE_R...
  method tipcAddr (line 853) | func (sa *TIPCServiceName) tipcAddr() [12]byte {
  method tipcAddrtype (line 859) | func (sa *TIPCServiceName) tipcAddrtype() uint8 { return TIPC_SERVICE_AD...
  type SockaddrL2TPIP (line 873) | type SockaddrL2TPIP struct
    method sockaddr (line 879) | func (sa *SockaddrL2TPIP) sockaddr() (unsafe.Pointer, _Socklen, error) {
  type SockaddrL2TPIP6 (line 887) | type SockaddrL2TPIP6 struct
    method sockaddr (line 894) | func (sa *SockaddrL2TPIP6) sockaddr() (unsafe.Pointer, _Socklen, error) {
  type SockaddrIUCV (line 903) | type SockaddrIUCV struct
    method sockaddr (line 909) | func (sa *SockaddrIUCV) sockaddr() (unsafe.Pointer, _Socklen, error) {
  type SockaddrNFC (line 931) | type SockaddrNFC struct
    method sockaddr (line 938) | func (sa *SockaddrNFC) sockaddr() (unsafe.Pointer, _Socklen, error) {
  type SockaddrNFCLLCP (line 946) | type SockaddrNFCLLCP struct
    method sockaddr (line 956) | func (sa *SockaddrNFCLLCP) sockaddr() (unsafe.Pointer, _Socklen, error) {
  function anyToSockaddr (line 975) | func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) {
  function Accept (line 1235) | func Accept(fd int) (nfd int, sa Sockaddr, err error) {
  function Accept4 (line 1250) | func Accept4(fd int, flags int) (nfd int, sa Sockaddr, err error) {
  function Getsockname (line 1268) | func Getsockname(fd int) (sa Sockaddr, err error) {
  function GetsockoptIPMreqn (line 1277) | func GetsockoptIPMreqn(fd, level, opt int) (*IPMreqn, error) {
  function GetsockoptUcred (line 1284) | func GetsockoptUcred(fd, level, opt int) (*Ucred, error) {
  function GetsockoptTCPInfo (line 1291) | func GetsockoptTCPInfo(fd, level, opt int) (*TCPInfo, error) {
  function GetsockoptTCPCCVegasInfo (line 1304) | func GetsockoptTCPCCVegasInfo(fd, level, opt int) (*TCPVegasInfo, error) {
  function GetsockoptTCPCCDCTCPInfo (line 1318) | func GetsockoptTCPCCDCTCPInfo(fd, level, opt int) (*TCPDCTCPInfo, error) {
  function GetsockoptTCPCCBBRInfo (line 1332) | func GetsockoptTCPCCBBRInfo(fd, level, opt int) (*TCPBBRInfo, error) {
  function GetsockoptString (line 1342) | func GetsockoptString(fd, level, opt int) (string, error) {
  function GetsockoptTpacketStats (line 1358) | func GetsockoptTpacketStats(fd, level, opt int) (*TpacketStats, error) {
  function GetsockoptTpacketStatsV3 (line 1365) | func GetsockoptTpacketStatsV3(fd, level, opt int) (*TpacketStatsV3, erro...
  function SetsockoptIPMreqn (line 1372) | func SetsockoptIPMreqn(fd, level, opt int, mreq *IPMreqn) (err error) {
  function SetsockoptPacketMreq (line 1376) | func SetsockoptPacketMreq(fd, level, opt int, mreq *PacketMreq) error {
  function SetsockoptSockFprog (line 1382) | func SetsockoptSockFprog(fd, level, opt int, fprog *SockFprog) error {
  function SetsockoptCanRawFilter (line 1386) | func SetsockoptCanRawFilter(fd, level, opt int, filter []CanFilter) error {
  function SetsockoptTpacketReq (line 1394) | func SetsockoptTpacketReq(fd, level, opt int, tp *TpacketReq) error {
  function SetsockoptTpacketReq3 (line 1398) | func SetsockoptTpacketReq3(fd, level, opt int, tp *TpacketReq3) error {
  function SetsockoptTCPRepairOpt (line 1402) | func SetsockoptTCPRepairOpt(fd, level, opt int, o []TCPRepairOpt) (err e...
  function SetsockoptTCPMD5Sig (line 1409) | func SetsockoptTCPMD5Sig(fd, level, opt int, s *TCPMD5Sig) error {
  function KeyctlString (line 1429) | func KeyctlString(cmd int, id int) (string, error) {
  function KeyctlGetKeyringID (line 1458) | func KeyctlGetKeyringID(id int, create bool) (ringid int, err error) {
  function KeyctlSetperm (line 1471) | func KeyctlSetperm(id int, perm uint32) error {
  function KeyctlJoinSessionKeyring (line 1481) | func KeyctlJoinSessionKeyring(name string) (ringid int, err error) {
  function KeyctlSearch (line 1490) | func KeyctlSearch(ringid int, keyType, description string, destRingid in...
  function KeyctlInstantiateIOV (line 1501) | func KeyctlInstantiateIOV(id int, payload []Iovec, ringid int) error {
  function KeyctlDHCompute (line 1516) | func KeyctlDHCompute(params *KeyctlDHParams, buffer []byte) (size int, e...
  function KeyctlRestrictKeyring (line 1538) | func KeyctlRestrictKeyring(ringid int, keyType string, restriction strin...
  function recvmsgRaw (line 1548) | func recvmsgRaw(fd int, iov []Iovec, oob []byte, flags int, rsa *RawSock...
  function sendmsgN (line 1583) | func sendmsgN(fd int, iov []Iovec, oob []byte, ptr unsafe.Pointer, salen...
  function BindToDevice (line 1622) | func BindToDevice(fd int, device string) (err error) {
  function ptracePeek (line 1629) | func ptracePeek(req int, pid int, addr uintptr, out []byte) (count int, ...
  function PtracePeekText (line 1669) | func PtracePeekText(pid int, addr uintptr, out []byte) (count int, err e...
  function PtracePeekData (line 1673) | func PtracePeekData(pid int, addr uintptr, out []byte) (count int, err e...
  function PtracePeekUser (line 1677) | func PtracePeekUser(pid int, addr uintptr, out []byte) (count int, err e...
  function ptracePoke (line 1681) | func ptracePoke(pokeReq int, peekReq int, pid int, addr uintptr, data []...
  function PtracePokeText (line 1732) | func PtracePokeText(pid int, addr uintptr, data []byte) (count int, err ...
  function PtracePokeData (line 1736) | func PtracePokeData(pid int, addr uintptr, data []byte) (count int, err ...
  function PtracePokeUser (line 1740) | func PtracePokeUser(pid int, addr uintptr, data []byte) (count int, err ...
  constant elfNT_PRSTATUS (line 1747) | elfNT_PRSTATUS = 1
  function PtraceGetRegs (line 1749) | func PtraceGetRegs(pid int, regsout *PtraceRegs) (err error) {
  function PtraceSetRegs (line 1756) | func PtraceSetRegs(pid int, regs *PtraceRegs) (err error) {
  function PtraceSetOptions (line 1763) | func PtraceSetOptions(pid int, options int) (err error) {
  function PtraceGetEventMsg (line 1767) | func PtraceGetEventMsg(pid int) (msg uint, err error) {
  function PtraceCont (line 1774) | func PtraceCont(pid int, signal int) (err error) {
  function PtraceSyscall (line 1778) | func PtraceSyscall(pid int, signal int) (err error) {
  function PtraceSingleStep (line 1782) | func PtraceSingleStep(pid int) (err error) { return ptrace(PTRACE_SINGLE...
  function PtraceInterrupt (line 1784) | func PtraceInterrupt(pid int) (err error) { return ptrace(PTRACE_INTERRU...
  function PtraceAttach (line 1786) | func PtraceAttach(pid int) (err error) { return ptrace(PTRACE_ATTACH, pi...
  function PtraceSeize (line 1788) | func PtraceSeize(pid int) (err error) { return ptrace(PTRACE_SEIZE, pid,...
  function PtraceDetach (line 1790) | func PtraceDetach(pid int) (err error) { return ptrace(PTRACE_DETACH, pi...
  function Reboot (line 1794) | func Reboot(cmd int) (err error) {
  function direntIno (line 1798) | func direntIno(buf []byte) (uint64, bool) {
  function direntReclen (line 1802) | func direntReclen(buf []byte) (uint64, bool) {
  function direntNamlen (line 1806) | func direntNamlen(buf []byte) (uint64, bool) {
  function Mount (line 1816) | func Mount(source string, target string, fstype string, flags uintptr, d...
  function MountSetattr (line 1835) | func MountSetattr(dirfd int, pathname string, flags uint, attr *MountAtt...
  function Sendfile (line 1839) | func Sendfile(outfd int, infd int, offset *int64, count int) (written in...
  function Dup2 (line 1871) | func Dup2(oldfd, newfd int) error {
  function fsconfigCommon (line 1898) | func fsconfigCommon(fd int, cmd uint, key string, value *byte, aux int) ...
  function FsconfigSetFlag (line 1911) | func FsconfigSetFlag(fd int, key string) (err error) {
  function FsconfigSetString (line 1921) | func FsconfigSetString(fd int, key string, value string) (err error) {
  function FsconfigSetBinary (line 1935) | func FsconfigSetBinary(fd int, key string, value []byte) (err error) {
  function FsconfigSetPath (line 1949) | func FsconfigSetPath(fd int, key string, path string, atfd int) (err err...
  function FsconfigSetPathEmpty (line 1960) | func FsconfigSetPathEmpty(fd int, key string, path string, atfd int) (er...
  function FsconfigSetFd (line 1974) | func FsconfigSetFd(fd int, key string, value int) (err error) {
  function FsconfigCreate (line 1982) | func FsconfigCreate(fd int) (err error) {
  function FsconfigReconfigure (line 1990) | func FsconfigReconfigure(fd int) (err error) {
  function Getpgrp (line 1997) | func Getpgrp() (pid int) {
  function Getrandom (line 2006) | func Getrandom(buf []byte, flags int) (n int, err error) {
  function syscall_prlimit (line 2062) | func syscall_prlimit(pid, resource int, newlimit, old *syscall.Rlimit) e...
  function Prlimit (line 2064) | func Prlimit(pid, resource int, newlimit, old *Rlimit) error {
  function PrctlRetInt (line 2073) | func PrctlRetInt(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, a...
  function Setuid (line 2081) | func Setuid(uid int) (err error) {
  function Setgid (line 2085) | func Setgid(gid int) (err error) {
  function Setreuid (line 2089) | func Setreuid(ruid, euid int) (err error) {
  function Setregid (line 2093) | func Setregid(rgid, egid int) (err error) {
  function Setresuid (line 2097) | func Setresuid(ruid, euid, suid int) (err error) {
  function Setresgid (line 2101) | func Setresgid(rgid, egid, sgid int) (err error) {
  function SetfsgidRetGid (line 2108) | func SetfsgidRetGid(gid int) (int, error) {
  function SetfsuidRetUid (line 2115) | func SetfsuidRetUid(uid int) (int, error) {
  function Setfsgid (line 2119) | func Setfsgid(gid int) error {
  function Setfsuid (line 2124) | func Setfsuid(uid int) error {
  function Signalfd (line 2129) | func Signalfd(fd int, sigmask *Sigset_t, flags int) (newfd int, err erro...
  constant minIovec (line 2165) | minIovec = 8
  function appendBytes (line 2168) | func appendBytes(vecs []Iovec, bs [][]byte) []Iovec {
  function offs2lohi (line 2183) | func offs2lohi(offs int64) (lo, hi uintptr) {
  function Readv (line 2188) | func Readv(fd int, iovs [][]byte) (n int, err error) {
  function Preadv (line 2196) | func Preadv(fd int, iovs [][]byte, offset int64) (n int, err error) {
  function Preadv2 (line 2205) | func Preadv2(fd int, iovs [][]byte, offset int64, flags int) (n int, err...
  function readvRacedetect (line 2214) | func readvRacedetect(iovecs []Iovec, n int, err error) {
  function Writev (line 2233) | func Writev(fd int, iovs [][]byte) (n int, err error) {
  function Pwritev (line 2244) | func Pwritev(fd int, iovs [][]byte, offset int64) (n int, err error) {
  function Pwritev2 (line 2256) | func Pwritev2(fd int, iovs [][]byte, offset int64, flags int) (n int, er...
  function writevRacedetect (line 2268) | func writevRacedetect(iovecs []Iovec, n int) {
  constant mremapFixed (line 2296) | mremapFixed     = MREMAP_FIXED
  constant mremapDontunmap (line 2297) | mremapDontunmap = MREMAP_DONTUNMAP
  constant mremapMaymove (line 2298) | mremapMaymove   = MREMAP_MAYMOVE
  function Vmsplice (line 2303) | func Vmsplice(fd int, iovs []Iovec, flags int) (int, error) {
  function isGroupMember (line 2317) | func isGroupMember(gid int) bool {
  function isCapDacOverrideSet (line 2331) | func isCapDacOverrideSet() bool {
  function Faccessat (line 2342) | func Faccessat(dirfd int, path string, mode uint32, flags int) (err erro...
  type fileHandle (line 2429) | type fileHandle struct
  type FileHandle (line 2437) | type FileHandle struct
    method Size (line 2452) | func (fh *FileHandle) Size() int   { return int(fh.fileHandle.Bytes) }
    method Type (line 2453) | func (fh *FileHandle) Type() int32 { return fh.fileHandle.Type }
    method Bytes (line 2454) | func (fh *FileHandle) Bytes() []byte {
  function NewFileHandle (line 2442) | func NewFileHandle(handleType int32, handle []byte) FileHandle {
  function NameToHandleAt (line 2464) | func NameToHandleAt(dirfd int, path string, flags int) (handle FileHandl...
  function OpenByHandleAt (line 2493) | func OpenByHandleAt(mountFD int, handle FileHandle, flags int) (fd int, ...
  function Klogset (line 2499) | func Klogset(typ int, arg int) (err error) {
  type RemoteIovec (line 2512) | type RemoteIovec struct
  function MakeItimerval (line 2533) | func MakeItimerval(interval, value time.Duration) Itimerval {
  type ItimerWhich (line 2542) | type ItimerWhich
  constant ItimerReal (line 2546) | ItimerReal    ItimerWhich = ITIMER_REAL
  constant ItimerVirtual (line 2547) | ItimerVirtual ItimerWhich = ITIMER_VIRTUAL
  constant ItimerProf (line 2548) | ItimerProf    ItimerWhich = ITIMER_PROF
  function Getitimer (line 2553) | func Getitimer(which ItimerWhich) (Itimerval, error) {
  function Setitimer (line 2566) | func Setitimer(which ItimerWhich, it Itimerval) (Itimerval, error) {
  function PthreadSigmask (line 2577) | func PthreadSigmask(how int, set, oldset *Sigset_t) error {
  function Getresuid (line 2588) | func Getresuid() (ruid, euid, suid int) {
  function Getresgid (line 2594) | func Getresgid() (rgid, egid, sgid int) {
  function Pselect (line 2602) | func Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, s...
  function SchedSetAttr (line 2638) | func SchedSetAttr(pid int, attr *SchedAttr, flags uint) error {
  function SchedGetAttr (line 2648) | func SchedGetAttr(pid int, flags uint) (*SchedAttr, error) {

FILE: vendor/golang.org/x/sys/unix/syscall_linux_386.go
  function setTimespec (line 13) | func setTimespec(sec, nsec int64) Timespec {
  function setTimeval (line 17) | func setTimeval(sec, usec int64) Timeval {
  function mmap (line 55) | func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, off...
  type rlimit32 (line 63) | type rlimit32 struct
  constant rlimInf32 (line 70) | rlimInf32 = ^uint32(0)
  constant rlimInf64 (line 71) | rlimInf64 = ^uint64(0)
  function Getrlimit (line 73) | func Getrlimit(resource int, rlim *Rlimit) (err error) {
  function Seek (line 99) | func Seek(fd int, offset int64, whence int) (newoffset int64, err error) {
  constant _SOCKET (line 122) | _SOCKET      = 1
  constant _BIND (line 123) | _BIND        = 2
  constant _CONNECT (line 124) | _CONNECT     = 3
  constant _LISTEN (line 125) | _LISTEN      = 4
  constant _ACCEPT (line 126) | _ACCEPT      = 5
  constant _GETSOCKNAME (line 127) | _GETSOCKNAME = 6
  constant _GETPEERNAME (line 128) | _GETPEERNAME = 7
  constant _SOCKETPAIR (line 129) | _SOCKETPAIR  = 8
  constant _SEND (line 130) | _SEND        = 9
  constant _RECV (line 131) | _RECV        = 10
  constant _SENDTO (line 132) | _SENDTO      = 11
  constant _RECVFROM (line 133) | _RECVFROM    = 12
  constant _SHUTDOWN (line 134) | _SHUTDOWN    = 13
  constant _SETSOCKOPT (line 135) | _SETSOCKOPT  = 14
  constant _GETSOCKOPT (line 136) | _GETSOCKOPT  = 15
  constant _SENDMSG (line 137) | _SENDMSG     = 16
  constant _RECVMSG (line 138) | _RECVMSG     = 17
  constant _ACCEPT4 (line 139) | _ACCEPT4     = 18
  constant _RECVMMSG (line 140) | _RECVMMSG    = 19
  constant _SENDMMSG (line 141) | _SENDMMSG    = 20
  function accept4 (line 144) | func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (...
  function getsockname (line 152) | func getsockname(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (err err...
  function getpeername (line 160) | func getpeername(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (err err...
  function socketpair (line 168) | func socketpair(domain int, typ int, flags int, fd *[2]int32) (err error) {
  function bind (line 176) | func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {
  function connect (line 184) | func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {
  function socket (line 192) | func socket(domain int, typ int, proto int) (fd int, err error) {
  function getsockopt (line 200) | func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *...
  function setsockopt (line 208) | func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen u...
  function recvfrom (line 216) | func recvfrom(s int, p []byte, flags int, from *RawSockaddrAny, fromlen ...
  function sendto (line 228) | func sendto(s int, p []byte, flags int, to unsafe.Pointer, addrlen _Sock...
  function recvmsg (line 240) | func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) {
  function sendmsg (line 248) | func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) {
  function Listen (line 256) | func Listen(s int, n int) (err error) {
  function Shutdown (line 264) | func Shutdown(s, how int) (err error) {
  function Fstatfs (line 272) | func Fstatfs(fd int, buf *Statfs_t) (err error) {
  function Statfs (line 280) | func Statfs(path string, buf *Statfs_t) (err error) {
  method PC (line 292) | func (r *PtraceRegs) PC() uint64 { return uint64(uint32(r.Eip)) }
  method SetPC (line 294) | func (r *PtraceRegs) SetPC(pc uint64) { r.Eip = int32(pc) }
  method SetLen (line 296) | func (iov *Iovec) SetLen(length int) {
  method SetControllen (line 300) | func (msghdr *Msghdr) SetControllen(length int) {
  method SetIovlen (line 304) | func (msghdr *Msghdr) SetIovlen(length int) {
  method SetLen (line 308) | func (cmsg *Cmsghdr) SetLen(length int) {
  method SetServiceNameLen (line 312) | func (rsa *RawSockaddrNFCLLCP) SetServiceNameLen(length int) {

FILE: vendor/golang.org/x/sys/unix/syscall_linux_amd64.go
  function Lstat (line 26) | func Lstat(path string, stat *Stat_t) (err error) {
  function Select (line 37) | func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n ...
  function Stat (line 51) | func Stat(path string, stat *Stat_t) (err error) {
  function Gettimeofday (line 79) | func Gettimeofday(tv *Timeval) (err error) {
  function Time (line 87) | func Time(t *Time_t) (tt Time_t, err error) {
  function setTimespec (line 102) | func setTimespec(sec, nsec int64) Timespec {
  function setTimeval (line 106) | func setTimeval(sec, usec int64) Timeval {
  method PC (line 110) | func (r *PtraceRegs) PC() uint64 { return r.Rip }
  method SetPC (line 112) | func (r *PtraceRegs) SetPC(pc uint64) { r.Rip = pc }
  method SetLen (line 114) | func (iov *Iovec) SetLen(length int) {
  method SetControllen (line 118) | func (msghdr *Msghdr) SetControllen(length int) {
  method SetIovlen (line 122) | func (msghdr *Msghdr) SetIovlen(length int) {
  method SetLen (line 126) | func (cmsg *Cmsghdr) SetLen(length int) {
  method SetServiceNameLen (line 130) | func (rsa *RawSockaddrNFCLLCP) SetServiceNameLen(length int) {
  function KexecFileLoad (line 136) | func KexecFileLoad(kernelFd int, initrdFd int, cmdline string, flags int...

FILE: vendor/golang.org/x/sys/unix/syscall_linux_amd64_gc.go
  function gettimeofday (line 12) | func gettimeofday(tv *Timeval) (err syscall.Errno)

FILE: vendor/golang.org/x/sys/unix/syscall_linux_arm.go
  function setTimespec (line 13) | func setTimespec(sec, nsec int64) Timespec {
  function setTimeval (line 17) | func setTimeval(sec, usec int64) Timeval {
  function Seek (line 21) | func Seek(fd int, offset int64, whence int) (newoffset int64, err error) {
  function Time (line 72) | func Time(t *Time_t) (Time_t, error) {
  function Utime (line 84) | func Utime(path string, buf *Utimbuf) error {
  function Fadvise (line 99) | func Fadvise(fd int, offset int64, length int64, advice int) (err error) {
  function Fstatfs (line 109) | func Fstatfs(fd int, buf *Statfs_t) (err error) {
  function Statfs (line 117) | func Statfs(path string, buf *Statfs_t) (err error) {
  function mmap (line 129) | func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, off...
  type rlimit32 (line 137) | type rlimit32 struct
  constant rlimInf32 (line 144) | rlimInf32 = ^uint32(0)
  constant rlimInf64 (line 145) | rlimInf64 = ^uint64(0)
  function Getrlimit (line 147) | func Getrlimit(resource int, rlim *Rlimit) (err error) {
  method PC (line 173) | func (r *PtraceRegs) PC() uint64 { return uint64(r.Uregs[15]) }
  method SetPC (line 175) | func (r *PtraceRegs) SetPC(pc uint64) { r.Uregs[15] = uint32(pc) }
  method SetLen (line 177) | func (iov *Iovec) SetLen(length int) {
  method SetControllen (line 181) | func (msghdr *Msghdr) SetControllen(length int) {
  method SetIovlen (line 185) | func (msghdr *Msghdr) SetIovlen(length int) {
  method SetLen (line 189) | func (cmsg *Cmsghdr) SetLen(length int) {
  method SetServiceNameLen (line 193) | func (rsa *RawSockaddrNFCLLCP) SetServiceNameLen(length int) {
  function SyncFileRange (line 199) | func SyncFileRange(fd int, off int64, n int64, flags int) error {
  function KexecFileLoad (line 207) | func KexecFileLoad(kernelFd int, initrdFd int, cmdline string, flags int...

FILE: vendor/golang.org/x/sys/unix/syscall_linux_arm64.go
  function Select (line 30) | func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n ...
  function Stat (line 44) | func Stat(path string, stat *Stat_t) (err error) {
  function Lchown (line 48) | func Lchown(path string, uid int, gid int) (err error) {
  function Lstat (line 52) | func Lstat(path string, stat *Stat_t) (err error) {
  function Ustat (line 60) | func Ustat(dev int, ubuf *Ustat_t) (err error) {
  function setTimespec (line 83) | func setTimespec(sec, nsec int64) Timespec {
  function setTimeval (line 87) | func setTimeval(sec, usec int64) Timeval {
  function futimesat (line 91) | func futimesat(dirfd int, path string, tv *[2]Timeval) (err error) {
  function Time (line 103) | func Time(t *Time_t) (Time_t, error) {
  function Utime (line 115) | func Utime(path string, buf *Utimbuf) error {
  function utimes (line 123) | func utimes(path string, tv *[2]Timeval) (err error) {
  function Getrlimit (line 136) | func Getrlimit(resource int, rlim *Rlimit) error {
  method PC (line 144) | func (r *PtraceRegs) PC() uint64 { return r.Pc }
  method SetPC (line 146) | func (r *PtraceRegs) SetPC(pc uint64) { r.Pc = pc }
  method SetLen (line 148) | func (iov *Iovec) SetLen(length int) {
  method SetControllen (line 152) | func (msghdr *Msghdr) SetControllen(length int) {
  method SetIovlen (line 156) | func (msghdr *Msghdr) SetIovlen(length int) {
  method SetLen (line 160) | func (cmsg *Cmsghdr) SetLen(length int) {
  method SetServiceNameLen (line 164) | func (rsa *RawSockaddrNFCLLCP) SetServiceNameLen(length int) {
  function Pause (line 168) | func Pause() error {
  function KexecFileLoad (line 175) | func KexecFileLoad(kernelFd int, initrdFd int, cmdline string, flags int...
  constant SYS_FSTATAT (line 186) | SYS_FSTATAT = SYS_NEWFSTATAT

FILE: vendor/golang.org/x/sys/unix/syscall_linux_gc.go
  function SyscallNoError (line 10) | func SyscallNoError(trap, a1, a2, a3 uintptr) (r1, r2 uintptr)
  function RawSyscallNoError (line 14) | func RawSyscallNoError(trap, a1, a2, a3 uintptr) (r1, r2 uintptr)

FILE: vendor/golang.org/x/sys/unix/syscall_linux_gc_386.go
  function seek (line 13) | func seek(fd int, offset int64, whence int) (newoffset int64, err syscal...
  function socketcall (line 15) | func socketcall(call int, a0, a1, a2, a3, a4, a5 uintptr) (n int, err sy...
  function rawsocketcall (line 16) | func rawsocketcall(call int, a0, a1, a2, a3, a4, a5 uintptr) (n int, err...

FILE: vendor/golang.org/x/sys/unix/syscall_linux_gc_arm.go
  function seek (line 13) | func seek(fd int, offset int64, whence int) (newoffset int64, err syscal...

FILE: vendor/golang.org/x/sys/unix/syscall_linux_gccgo_386.go
  function seek (line 14) | func seek(fd int, offset int64, whence int) (int64, syscall.Errno) {
  function socketcall (line 22) | func socketcall(call int, a0, a1, a2, a3, a4, a5 uintptr) (int, syscall....
  function rawsocketcall (line 27) | func rawsocketcall(call int, a0, a1, a2, a3, a4, a5 uintptr) (int, sysca...

FILE: vendor/golang.org/x/sys/unix/syscall_linux_gccgo_arm.go
  function seek (line 14) | func seek(fd int, offset int64, whence int) (int64, syscall.Errno) {

FILE: vendor/golang.org/x/sys/unix/syscall_linux_loong64.go
  function Select (line 25) | func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n ...
  function timespecFromStatxTimestamp (line 39) | func timespecFromStatxTimestamp(x StatxTimestamp) Timespec {
  function Fstatat (line 46) | func Fstatat(fd int, path string, stat *Stat_t, flags int) error {
  function Fstat (line 72) | func Fstat(fd int, stat *Stat_t) (err error) {
  function Stat (line 76) | func Stat(path string, stat *Stat_t) (err error) {
  function Lchown (line 80) | func Lchown(path string, uid int, gid int) (err error) {
  function Lstat (line 84) | func Lstat(path string, stat *Stat_t) (err error) {
  function Ustat (line 92) | func Ustat(dev int, ubuf *Ustat_t) (err error) {
  function setTimespec (line 115) | func setTimespec(sec, nsec int64) Timespec {
  function setTimeval (line 119) | func setTimeval(sec, usec int64) Timeval {
  function Getrlimit (line 123) | func Getrlimit(resource int, rlim *Rlimit) (err error) {
  function futimesat (line 128) | func futimesat(dirfd int, path string, tv *[2]Timeval) (err error) {
  function Time (line 140) | func Time(t *Time_t) (Time_t, error) {
  function Utime (line 152) | func Utime(path string, buf *Utimbuf) error {
  function utimes (line 160) | func utimes(path string, tv *[2]Timeval) (err error) {
  method PC (line 172) | func (r *PtraceRegs) PC() uint64 { return r.Era }
  method SetPC (line 174) | func (r *PtraceRegs) SetPC(era uint64) { r.Era = era }
  method SetLen (line 176) | func (iov *Iovec) SetLen(length int) {
  method SetControllen (line 180) | func (msghdr *Msghdr) SetControllen(length int) {
  method SetIovlen (line 184) | func (msghdr *Msghdr) SetIovlen(length int) {
  method SetLen (line 188) | func (cmsg *Cmsghdr) SetLen(length int) {
  method SetServiceNameLen (line 192) | func (rsa *RawSockaddrNFCLLCP) SetServiceNameLen(length int) {
  function Pause (line 196) | func Pause() error {
  function Renameat (line 201) | func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string...
  function KexecFileLoad (line 207) | func KexecFileLoad(kernelFd int, initrdFd int, cmdline string, flags int...
  constant SYS_FSTATAT (line 218) | SYS_FSTATAT = SYS_NEWFSTATAT

FILE: vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go
  function Select (line 27) | func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n ...
  function Time (line 64) | func Time(t *Time_t) (tt Time_t, err error) {
  function setTimespec (line 79) | func setTimespec(sec, nsec int64) Timespec {
  function setTimeval (line 83) | func setTimeval(sec, usec int64) Timeval {
  function Ioperm (line 87) | func Ioperm(from int, num int, on int) (err error) {
  function Iopl (line 91) | func Iopl(level int) (err error) {
  type stat_t (line 95) | type stat_t struct
  function Fstat (line 122) | func Fstat(fd int, s *Stat_t) (err error) {
  function Fstatat (line 129) | func Fstatat(dirfd int, path string, s *Stat_t, flags int) (err error) {
  function Lstat (line 136) | func Lstat(path string, s *Stat_t) (err error) {
  function Stat (line 143) | func Stat(path string, s *Stat_t) (err error) {
  function fillStat_t (line 150) | func fillStat_t(s *Stat_t, st *stat_t) {
  method PC (line 166) | func (r *PtraceRegs) PC() uint64 { return r.Epc }
  method SetPC (line 168) | func (r *PtraceRegs) SetPC(pc uint64) { r.Epc = pc }
  method SetLen (line 170) | func (iov *Iovec) SetLen(length int) {
  method SetControllen (line 174) | func (msghdr *Msghdr) SetControllen(length int) {
  method SetIovlen (line 178) | func (msghdr *Msghdr) SetIovlen(length int) {
  method SetLen (line 182) | func (cmsg *Cmsghdr) SetLen(length int) {
  method SetServiceNameLen (line 186) | func (rsa *RawSockaddrNFCLLCP) SetServiceNameLen(length int) {

FILE: vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go
  function Syscall9 (line 14) | func Syscall9(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 ...
  function Fstatfs (line 70) | func Fstatfs(fd int, buf *Statfs_t) (err error) {
  function Statfs (line 78) | func Statfs(path string, buf *Statfs_t) (err error) {
  function Seek (line 90) | func Seek(fd int, offset int64, whence int) (off int64, err error) {
  function setTimespec (line 98) | func setTimespec(sec, nsec int64) Timespec {
  function setTimeval (line 102) | func setTimeval(sec, usec int64) Timeval {
  function mmap (line 108) | func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, off...
  constant rlimInf32 (line 116) | rlimInf32 = ^uint32(0)
  constant rlimInf64 (line 117) | rlimInf64 = ^uint64(0)
  type rlimit32 (line 119) | type rlimit32 struct
  function Getrlimit (line 126) | func Getrlimit(resource int, rlim *Rlimit) (err error) {
  method PC (line 152) | func (r *PtraceRegs) PC() uint64 { return r.Epc }
  method SetPC (line 154) | func (r *PtraceRegs) SetPC(pc uint64) { r.Epc = pc }
  method SetLen (line 156) | func (iov *Iovec) SetLen(length int) {
  method SetControllen (line 160) | func (msghdr *Msghdr) SetControllen(length int) {
  method SetIovlen (line 164) | func (msghdr *Msghdr) SetIovlen(length int) {
  method SetLen (line 168) | func (cmsg *Cmsghdr) SetLen(length int) {
  method SetServiceNameLen (line 172) | func (rsa *RawSockaddrNFCLLCP) SetServiceNameLen(length int) {

FILE: vendor/golang.org/x/sys/unix/syscall_linux_ppc.go
  function Fadvise (line 63) | func Fadvise(fd int, offset int64, length int64, advice int) (err error) {
  function seek (line 71) | func seek(fd int, offset int64, whence int) (int64, syscall.Errno) {
  function Seek (line 79) | func Seek(fd int, offset int64, whence int) (newoffset int64, err error) {
  function Fstatfs (line 87) | func Fstatfs(fd int, buf *Statfs_t) (err error) {
  function Statfs (line 95) | func Statfs(path string, buf *Statfs_t) (err error) {
  function mmap (line 109) | func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, off...
  function setTimespec (line 117) | func setTimespec(sec, nsec int64) Timespec {
  function setTimeval (line 121) | func setTimeval(sec, usec int64) Timeval {
  type rlimit32 (line 125) | type rlimit32 struct
  constant rlimInf32 (line 132) | rlimInf32 = ^uint32(0)
  constant rlimInf64 (line 133) | rlimInf64 = ^uint64(0)
  function Getrlimit (line 135) | func Getrlimit(resource int, rlim *Rlimit) (err error) {
  method PC (line 161) | func (r *PtraceRegs) PC() uint32 { return r.Nip }
  method SetPC (line 163) | func (r *PtraceRegs) SetPC(pc uint32) { r.Nip = pc }
  method SetLen (line 165) | func (iov *Iovec) SetLen(length int) {
  method SetControllen (line 169) | func (msghdr *Msghdr) SetControllen(length int) {
  method SetIovlen (line 173) | func (msghdr *Msghdr) SetIovlen(length int) {
  method SetLen (line 177) | func (cmsg *Cmsghdr) SetLen(length int) {
  method SetServiceNameLen (line 181) | func (rsa *RawSockaddrNFCLLCP) SetServiceNameLen(length int) {
  function SyncFileRange (line 187) | func SyncFileRange(fd int, off int64, n int64, flags int) error {
  function KexecFileLoad (line 195) | func KexecFileLoad(kernelFd int, initrdFd int, cmdline string, flags int...

FILE: vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go
  function setTimespec (line 64) | func setTimespec(sec, nsec int64) Timespec {
  function setTimeval (line 68) | func setTimeval(sec, usec int64) Timeval {
  method PC (line 72) | func (r *PtraceRegs) PC() uint64 { return r.Nip }
  method SetPC (line 74) | func (r *PtraceRegs) SetPC(pc uint64) { r.Nip = pc }
  method SetLen (line 76) | func (iov *Iovec) SetLen(length int) {
  method SetControllen (line 80) | func (msghdr *Msghdr) SetControllen(length int) {
  method SetIovlen (line 84) | func (msghdr *Msghdr) SetIovlen(length int) {
  method SetLen (line 88) | func (cmsg *Cmsghdr) SetLen(length int) {
  method SetServiceNameLen (line 92) | func (rsa *RawSockaddrNFCLLCP) SetServiceNameLen(length int) {
  function SyncFileRange (line 98) | func SyncFileRange(fd int, off int64, n int64, flags int) error {
  function KexecFileLoad (line 106) | func KexecFileLoad(kernelFd int, initrdFd int, cmdline string, flags int...

FILE: vendor/golang.org/x/sys/unix/syscall_linux_riscv64.go
  function Select (line 29) | func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n ...
  function Stat (line 43) | func Stat(path string, stat *Stat_t) (err error) {
  function Lchown (line 47) | func Lchown(path string, uid int, gid int) (err error) {
  function Lstat (line 51) | func Lstat(path string, stat *Stat_t) (err error) {
  function Ustat (line 59) | func Ustat(dev int, ubuf *Ustat_t) (err error) {
  function setTimespec (line 82) | func setTimespec(sec, nsec int64) Timespec {
  function setTimeval (line 86) | func setTimeval(sec, usec int64) Timeval {
  function futimesat (line 90) | func futimesat(dirfd int, path string, tv *[2]Timeval) (err error) {
  function Time (line 102) | func Time(t *Time_t) (Time_t, error) {
  function Utime (line 114) | func Utime(path string, buf *Utimbuf) error {
  function utimes (line 122) | func utimes(path string, tv *[2]Timeval) (err error) {
  method PC (line 134) | func (r *PtraceRegs) PC() uint64 { return r.Pc }
  method SetPC (line 136) | func (r *PtraceRegs) SetPC(pc uint64) { r.Pc = pc }
  method SetLen (line 138) | func (iov *Iovec) SetLen(length int) {
  method SetControllen (line 142) | func (msghdr *Msghdr) SetControllen(length int) {
  method SetIovlen (line 146) | func (msghdr *Msghdr) SetIovlen(length int) {
  method SetLen (line 150) | func (cmsg *Cmsghdr) SetLen(length int) {
  method SetServiceNameLen (line 154) | func (rsa *RawSockaddrNFCLLCP) SetServiceNameLen(length int) {
  function Pause (line 158) | func Pause() error {
  function Renameat (line 163) | func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string...
  function KexecFileLoad (line 169) | func KexecFileLoad(kernelFd int, initrdFd int, cmdline string, flags int...
  function RISCVHWProbe (line 182) | func RISCVHWProbe(pairs []RISCVHWProbePairs, set *CPUSet, flags uint) (e...
  constant SYS_FSTATAT (line 191) | SYS_FSTATAT = SYS_NEWFSTATAT

FILE: vendor/golang.org/x/sys/unix/syscall_linux_s390x.go
  function Time (line 48) | func Time(t *Time_t) (tt Time_t, err error) {
  function setTimespec (line 63) | func setTimespec(sec, nsec int64) Timespec {
  function setTimeval (line 67) | func setTimeval(sec, usec int64) Timeval {
  function Ioperm (line 71) | func Ioperm(from int, num int, on int) (err error) {
  function Iopl (line 75) | func Iopl(level int) (err error) {
  method PC (line 79) | func (r *PtraceRegs) PC() uint64 { return r.Psw.Addr }
  method SetPC (line 81) | func (r *PtraceRegs) SetPC(pc uint64) { r.Psw.Addr = pc }
  method SetLen (line 83) | func (iov *Iovec) SetLen(length int) {
  method SetControllen (line 87) | func (msghdr *Msghdr) SetControllen(length int) {
  method SetIovlen (line 91) | func (msghdr *Msghdr) SetIovlen(length int) {
  method SetLen (line 95) | func (cmsg *Cmsghdr) SetLen(length int) {
  method SetServiceNameLen (line 99) | func (rsa *RawSockaddrNFCLLCP) SetServiceNameLen(length int) {
  function mmap (line 105) | func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, off...
  constant netSocket (line 120) | netSocket      = 1
  constant netBind (line 121) | netBind        = 2
  constant netConnect (line 122) | netConnect     = 3
  constant netListen (line 123) | netListen      = 4
  constant netAccept (line 124) | netAccept      = 5
  constant netGetSockName (line 125) | netGetSockName = 6
  constant netGetPeerName (line 126) | netGetPeerName = 7
  constant netSocketPair (line 127) | netSocketPair  = 8
  constant netSend (line 128) | netSend        = 9
  constant netRecv (line 129) | netRecv        = 10
  constant netSendTo (line 130) | netSendTo      = 11
  constant netRecvFrom (line 131) | netRecvFrom    = 12
  constant netShutdown (line 132) | netShutdown    = 13
  constant netSetSockOpt (line 133) | netSetSockOpt  = 14
  constant netGetSockOpt (line 134) | netGetSockOpt  = 15
  constant netSendMsg (line 135) | netSendMsg     = 16
  constant netRecvMsg (line 136) | netRecvMsg     = 17
  constant netAccept4 (line 137) | netAccept4     = 18
  constant netRecvMMsg (line 138) | netRecvMMsg    = 19
  constant netSendMMsg (line 139) | netSendMMsg    = 20
  function accept4 (line 142) | func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (...
  function getsockname (line 151) | func getsockname(s int, rsa *RawSockaddrAny, addrlen *_Socklen) error {
  function getpeername (line 160) | func getpeername(s int, rsa *RawSockaddrAny, addrlen *_Socklen) error {
  function socketpair (line 169) | func socketpair(domain int, typ int, flags int, fd *[2]int32) error {
  function bind (line 178) | func bind(s int, addr unsafe.Pointer, addrlen _Socklen) error {
  function connect (line 187) | func connect(s int, addr unsafe.Pointer, addrlen _Socklen) error {
  function socket (line 196) | func socket(domain int, typ int, proto int) (int, error) {
  function getsockopt (line 205) | func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *...
  function setsockopt (line 214) | func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen u...
  function recvfrom (line 223) | func recvfrom(s int, p []byte, flags int, from *RawSockaddrAny, fromlen ...
  function sendto (line 236) | func sendto(s int, p []byte, flags int, to unsafe.Pointer, addrlen _Sock...
  function recvmsg (line 249) | func recvmsg(s int, msg *Msghdr, flags int) (int, error) {
  function sendmsg (line 258) | func sendmsg(s int, msg *Msghdr, flags int) (int, error) {
  function Listen (line 267) | func Listen(s int, n int) error {
  function Shutdown (line 276) | func Shutdown(s, how int) error {
  function KexecFileLoad (line 287) | func KexecFileLoad(kernelFd int, initrdFd int, cmdline string, flags int...

FILE: vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go
  function Ioperm (line 56) | func Ioperm(from int, num int, on int) (err error) {
  function Iopl (line 60) | func Iopl(level int) (err error) {
  function Time (line 67) | func Time(t *Time_t) (tt Time_t, err error) {
  function setTimespec (line 82) | func setTimespec(sec, nsec int64) Timespec {
  function setTimeval (line 86) | func setTimeval(sec, usec int64) Timeval {
  method PC (line 90) | func (r *PtraceRegs) PC() uint64 { return r.Tpc }
  method SetPC (line 92) | func (r *PtraceRegs) SetPC(pc uint64) { r.Tpc = pc }
  method SetLen (line 94) | func (iov *Iovec) SetLen(length int) {
  method SetControllen (line 98) | func (msghdr *Msghdr) SetControllen(length int) {
  method SetIovlen (line 102) | func (msghdr *Msghdr) SetIovlen(length int) {
  method SetLen (line 106) | func (cmsg *Cmsghdr) SetLen(length int) {
  method SetServiceNameLen (line 110) | func (rsa *RawSockaddrNFCLLCP) SetServiceNameLen(length int) {

FILE: vendor/golang.org/x/sys/unix/syscall_netbsd.go
  type SockaddrDatalink (line 21) | type SockaddrDatalink struct
  function anyToSockaddrGOOS (line 33) | func anyToSockaddrGOOS(fd int, rsa *RawSockaddrAny) (Sockaddr, error) {
  function Syscall9 (line 37) | func Syscall9(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 ...
  function sysctlNodes (line 39) | func sysctlNodes(mib []_C_int) (nodes []Sysctlnode, err error) {
  function nametomib (line 62) | func nametomib(name string) (mib []_C_int, err error) {
  function direntIno (line 100) | func direntIno(buf []byte) (uint64, bool) {
  function direntReclen (line 104) | func direntReclen(buf []byte) (uint64, bool) {
  function direntNamlen (line 108) | func direntNamlen(buf []byte) (uint64, bool) {
  function SysctlUvmexp (line 112) | func SysctlUvmexp(name string) (*Uvmexp, error) {
  function Pipe (line 126) | func Pipe(p []int) (err error) {
  function Pipe2 (line 132) | func Pipe2(p []int, flags int) error {
  function Getdirentries (line 147) | func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {
  function sendfile (line 175) | func sendfile(outfd int, infd int, offset *int64, count int) (written in...
  function IoctlGetPtmget (line 184) | func IoctlGetPtmget(fd int, req uint) (*Ptmget, error) {
  function Uname (line 190) | func Uname(uname *Utsname) error {
  function Sendfile (line 236) | func Sendfile(outfd int, infd int, offset *int64, count int) (written in...
  function Fstatvfs (line 243) | func Fstatvfs(fd int, buf *Statvfs_t) (err error) {
  function Statvfs (line 247) | func Statvfs(path string, buf *Statvfs_t) (err error) {
  constant mremapFixed (line 362) | mremapFixed     = MAP_FIXED
  constant mremapDontunmap (line 363) | mremapDontunmap = 0
  constant mremapMaymove (line 364) | mremapMaymove   = 0
  function mremap (line 369) | func mremap(oldaddr uintptr, oldlength uintptr, newlength uintptr, flags...

FILE: vendor/golang.org/x/sys/unix/syscall_netbsd_386.go
  function setTimespec (line 9) | func setTimespec(sec, nsec int64) Timespec {
  function setTimeval (line 13) | func setTimeval(sec, usec int64) Timeval {
  function SetKevent (line 17) | func SetKevent(k *Kevent_t, fd, mode, flags int) {
  method SetLen (line 23) | func (iov *Iovec) SetLen(length int) {
  method SetControllen (line 27) | func (msghdr *Msghdr) SetControllen(length int) {
  method SetIovlen (line 31) | func (msghdr *Msghdr) SetIovlen(length int) {
  method SetLen (line 35) | func (cmsg *Cmsghdr) SetLen(length int) {

FILE: vendor/golang.org/x/sys/unix/syscall_netbsd_amd64.go
  function setTimespec (line 9) | func setTimespec(sec, nsec int64) Timespec {
  function setTimeval (line 13) | func setTimeval(sec, usec int64) Timeval {
  function SetKevent (line 17) | func SetKevent(k *Kevent_t, fd, mode, flags int) {
  method SetLen (line 23) | func (iov *Iovec) SetLen(length int) {
  method SetControllen (line 27) | func (msghdr *Msghdr) SetControllen(length int) {
  method SetIovlen (line 31) | func (msghdr *Msghdr) SetIovlen(length int) {
  method SetLen (line 35) | func (cmsg *Cmsghdr) SetLen(length int) {

FILE: vendor/golang.org/x/sys/unix/syscall_netbsd_arm.go
  function setTimespec (line 9) | func setTimespec(sec, nsec int64) Timespec {
  function setTimeval (line 13) | func setTimeval(sec, usec int64) Timeval {
  function SetKevent (line 17) | func SetKevent(k *Kevent_t, fd, mode, flags int) {
  method SetLen (line 23) | func (iov *Iovec) SetLen(length int) {
  method SetControllen (line 27) | func (msghdr *Msghdr) SetControllen(length int) {
  method SetIovlen (line 31) | func (msghdr *Msghdr) SetIovlen(length int) {
  method SetLen (line 35) | func (cmsg *Cmsghdr) SetLen(length int) {

FILE: vendor/golang.org/x/sys/unix/syscall_netbsd_arm64.go
  function setTimespec (line 9) | func setTimespec(sec, nsec int64) Timespec {
  function setTimeval (line 13) | func setTimeval(sec, usec int64) Timeval {
  function SetKevent (line 17) | func SetKevent(k *Kevent_t, fd, mode, flags int) {
  method SetLen (line 23) | func (iov *Iovec) SetLen(length int) {
  method SetControllen (line 27) | func (msghdr *Msghdr) SetControllen(length int) {
  method SetIovlen (line 31) | func (msghdr *Msghdr) SetIovlen(length int) {
  method SetLen (line 35) | func (cmsg *Cmsghdr) SetLen(length int) {

FILE: vendor/golang.org/x/sys/unix/syscall_openbsd.go
  type SockaddrDatalink (line 22) | type SockaddrDatalink struct
  function anyToSockaddrGOOS (line 34) | func anyToSockaddrGOOS(fd int, rsa *RawSockaddrAny) (Sockaddr, error) {
  function Syscall9 (line 38) | func Syscall9(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 ...
  function nametomib (line 40) | func nametomib(name string) (mib []_C_int, err error) {
  function direntIno (line 50) | func direntIno(buf []byte) (uint64, bool) {
  function direntReclen (line 54) | func direntReclen(buf []byte) (uint64, bool) {
  function direntNamlen (line 58) | func direntNamlen(buf []byte) (uint64, bool) {
  function SysctlUvmexp (line 62) | func SysctlUvmexp(name string) (*Uvmexp, error) {
  function Pipe (line 79) | func Pipe(p []int) (err error) {
  function Pipe2 (line 85) | func Pipe2(p []int, flags int) error {
  function Getdirentries (line 100) | func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {
  function Sendfile (line 127) | func Sendfile(outfd int, infd int, offset *int64, count int) (written in...
  function sendfile (line 135) | func sendfile(outfd int, infd int, offset *int64, count int) (written in...
  function Getfsstat (line 139) | func Getfsstat(buf []Statfs_t, flags int) (n int, err error) {
  function Getresuid (line 152) | func Getresuid() (ruid, euid, suid int) {
  function Getresgid (line 158) | func Getresgid() (rgid, egid, sgid int) {
  function FcntlInt (line 173) | func FcntlInt(fd uintptr, cmd, arg int) (int, error) {
  function FcntlFlock (line 178) | func FcntlFlock(fd uintptr, cmd int, lk *Flock_t) error {
  function Ppoll (line 185) | func Ppoll(fds []PollFd, timeout *Timespec, sigmask *Sigset_t) (n int, e...
  function Uname (line 192) | func Uname(uname *Utsname) error {

FILE: vendor/golang.org/x/sys/unix/syscall_openbsd_386.go
  function setTimespec (line 9) | func setTimespec(sec, nsec int64) Timespec {
  function setTimeval (line 13) | func setTimeval(sec, usec int64) Timeval {
  function SetKevent (line 17) | func SetKevent(k *Kevent_t, fd, mode, flags int) {
  method SetLen (line 23) | func (iov *Iovec) SetLen(length int) {
  method SetControllen (line 27) | func (msghdr *Msghdr) SetControllen(length int) {
  method SetIovlen (line 31) | func (msghdr *Msghdr) SetIovlen(length int) {
  method SetLen (line 35) | func (cmsg *Cmsghdr) SetLen(length int) {
  constant SYS___SYSCTL (line 41) | SYS___SYSCTL = SYS_SYSCTL

FILE: vendor/golang.org/x/sys/unix/syscall_openbsd_amd64.go
  function setTimespec (line 9) | func setTimespec(sec, nsec int64) Timespec {
  function setTimeval (line 13) | func setTimeval(sec, usec int64) Timeval {
  function SetKevent (line 17) | func SetKevent(k *Kevent_t, fd, mode, flags int) {
  method SetLen (line 23) | func (iov *Iovec) SetLen(length int) {
  method SetControllen (line 27) | func (msghdr *Msghdr) SetControllen(length int) {
  method SetIovlen (line 31) | func (msghdr *Msghdr) SetIovlen(length int) {
  method SetLen (line 35) | func (cmsg *Cmsghdr) SetLen(length int) {
  constant SYS___SYSCTL (line 41) | SYS___SYSCTL = SYS_SYSCTL

FILE: vendor/golang.org/x/sys/unix/syscall_openbsd_arm.go
  function setTimespec (line 9) | func setTimespec(sec, nsec int64) Timespec {
  function setTimeval (line 13) | func setTimeval(sec, usec int64) Timeval {
  function SetKevent (line 17) | func SetKevent(k *Kevent_t, fd, mode, flags int) {
  method SetLen (line 23) | func (iov *Iovec) SetLen(length int) {
  method SetControllen (line 27) | func (msghdr *Msghdr) SetControllen(length int) {
  method SetIovlen (line 31) | func (msghdr *Msghdr) SetIovlen(length int) {
  method SetLen (line 35) | func (cmsg *Cmsghdr) SetLen(length int) {
  constant SYS___SYSCTL (line 41) | SYS___SYSCTL = SYS_SYSCTL

FILE: vendor/golang.org/x/sys/unix/syscall_openbsd_arm64.go
  function setTimespec (line 9) | func setTimespec(sec, nsec int64) Timespec {
  function setTimeval (line 13) | func setTimeval(sec, usec int64) Timeval {
  function SetKevent (line 17) | func SetKevent(k *Kevent_t, fd, mode, flags int) {
  method SetLen (line 23) | func (iov *Iovec) SetLen(length int) {
  method SetControllen (line 27) | func (msghdr *Msghdr) SetControllen(length int) {
  method SetIovlen (line 31) | func (msghdr *Msghdr) SetIovlen(length int) {
  method SetLen (line 35) | func (cmsg *Cmsghdr) SetLen(length int) {
  constant SYS___SYSCTL (line 41) | SYS___SYSCTL = SYS_SYSCTL

FILE: vendor/golang.org/x/sys/unix/syscall_openbsd_libc.go
  function syscall_syscall (line 12) | func syscall_syscall(fn, a1, a2, a3 uintptr) (r1, r2 uintptr, err Errno)
  function syscall_syscall6 (line 13) | func syscall_syscall6(fn, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintpt...
  function syscall_syscall10 (line 14) | func syscall_syscall10(fn, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10 uintp...
  function syscall_rawSyscall (line 15) | func syscall_rawSyscall(fn, a1, a2, a3 uintptr) (r1, r2 uintptr, err Errno)
  function syscall_rawSyscall6 (line 16) | func syscall_rawSyscall6(fn, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uin...
  function syscall_syscall9 (line 24) | func syscall_syscall9(fn, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r...

FILE: vendor/golang.org/x/sys/unix/syscall_openbsd_mips64.go
  function setTimespec (line 7) | func setTimespec(sec, nsec int64) Timespec {
  function setTimeval (line 11) | func setTimeval(sec, usec int64) Timeval {
  function SetKevent (line 15) | func SetKevent(k *Kevent_t, fd, mode, flags int) {
  method SetLen (line 21) | func (iov *Iovec) SetLen(length int) {
  method SetControllen (line 25) | func (msghdr *Msghdr) SetControllen(length int) {
  method SetIovlen (line 29) | func (msghdr *Msghdr) SetIovlen(length int) {
  method SetLen (line 33) | func (cmsg *Cmsghdr) SetLen(length int) {
  constant SYS___SYSCTL (line 39) | SYS___SYSCTL = SYS_SYSCTL

FILE: vendor/golang.org/x/sys/unix/syscall_openbsd_ppc64.go
  function setTimespec (line 9) | func setTimespec(sec, nsec int64) Timespec {
  function setTimeval (line 13) | func setTimeval(sec, usec int64) Timeval {
  function SetKevent (line 17) | func SetKevent(k *Kevent_t, fd, mode, flags int) {
  method SetLen (line 23) | func (iov *Iovec) SetLen(length int) {
  method SetControllen (line 27) | func (msghdr *Msghdr) SetControllen(length int) {
  method SetIovlen (line 31) | func (msghdr *Msghdr) SetIovlen(length int) {
  method SetLen (line 35) | func (cmsg *Cmsghdr) SetLen(length int) {
  constant SYS___SYSCTL (line 41) | SYS___SYSCTL = SYS_SYSCTL

FILE: vendor/golang.org/x/sys/unix/syscall_openbsd_riscv64.go
  function setTimespec (line 9) | func setTimespec(sec, nsec int64) Timespec {
  function setTimeval (line 13) | func setTimeval(sec, usec int64) Timeval {
  function SetKevent (line 17) | func SetKevent(k *Kevent_t, fd, mode, flags int) {
  method SetLen (line 23) | func (iov *Iovec) SetLen(length int) {
  method SetControllen (line 27) | func (msghdr *Msghdr) SetControllen(length int) {
  method SetIovlen (line 31) | func (msghdr *Msghdr) SetIovlen(length int) {
  method SetLen (line 35) | func (cmsg *Cmsghdr) SetLen(length int) {
  constant SYS___SYSCTL (line 41) | SYS___SYSCTL = SYS_SYSCTL

FILE: vendor/golang.org/x/sys/unix/syscall_solaris.go
  type syscallFunc (line 25) | type syscallFunc
  function rawSysvicall6 (line 27) | func rawSysvicall6(trap, nargs, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 ...
  function sysvicall6 (line 28) | func sysvicall6(trap, nargs, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uin...
  type SockaddrDatalink (line 31) | type SockaddrDatalink struct
  function direntIno (line 42) | func direntIno(buf []byte) (uint64, bool) {
  function direntReclen (line 46) | func direntReclen(buf []byte) (uint64, bool) {
  function direntNamlen (line 50) | func direntNamlen(buf []byte) (uint64, bool) {
  function Pipe (line 60) | func Pipe(p []int) (err error) {
  function Pipe2 (line 78) | func Pipe2(p []int, flags int) error {
  method sockaddr (line 91) | func (sa *SockaddrInet4) sockaddr() (unsafe.Pointer, _Socklen, error) {
  method sockaddr (line 103) | func (sa *SockaddrInet6) sockaddr() (unsafe.Pointer, _Socklen, error) {
  method sockaddr (line 116) | func (sa *SockaddrUnix) sockaddr() (unsafe.Pointer, _Socklen, error) {
  function Getsockname (line 143) | func Getsockname(fd int) (sa Sockaddr, err error) {
  function GetsockoptString (line 154) | func GetsockoptString(fd, level, opt int) (string, error) {
  constant ImplementsGetwd (line 164) | ImplementsGetwd = true
  function Getwd (line 168) | func Getwd() (wd string, err error) {
  function Getgroups (line 189) | func Getgroups() (gids []int, err error) {
  function Setgroups (line 214) | func Setgroups(gids []int) (err error) {
  function ReadDirent (line 227) | func ReadDirent(fd int, buf []byte) (n int, err error) {
  type WaitStatus (line 239) | type WaitStatus
    method Exited (line 250) | func (w WaitStatus) Exited() bool { return w&mask == exited }
    method ExitStatus (line 252) | func (w WaitStatus) ExitStatus() int {
    method Signaled (line 259) | func (w WaitStatus) Signaled() bool { return w&mask != stopped && w&ma...
    method Signal (line 261) | func (w WaitStatus) Signal() syscall.Signal {
    method CoreDump (line 269) | func (w WaitStatus) CoreDump() bool { return w.Signaled() && w&core !=...
    method Stopped (line 271) | func (w WaitStatus) Stopped() bool { return w&mask == stopped && sysca...
    method Continued (line 273) | func (w WaitStatus) Continued() bool { return w&mask == stopped && sys...
    method StopSignal (line 275) | func (w WaitStatus) StopSignal() syscall.Signal {
    method TrapCause (line 282) | func (w WaitStatus) TrapCause() int { return -1 }
  constant mask (line 242) | mask  = 0x7F
  constant core (line 243) | core  = 0x80
  constant shift (line 244) | shift = 8
  constant exited (line 246) | exited  = 0
  constant stopped (line 247) | stopped = 0x7F
  function Wait4 (line 286) | func Wait4(pid int, wstatus *WaitStatus, options int, rusage *Rusage) (i...
  function Gethostname (line 301) | func Gethostname() (name string, err error) {
  function Utimes (line 316) | func Utimes(path string, tv []Timeval) (err error) {
  function UtimesNano (line 328) | func UtimesNano(path string, ts []Timespec) error {
  function UtimesNanoAt (line 338) | func UtimesNanoAt(dirfd int, path string, ts []Timespec, flags int) error {
  function FcntlInt (line 351) | func FcntlInt(fd uintptr, cmd, arg int) (int, error) {
  function FcntlFlock (line 361) | func FcntlFlock(fd uintptr, cmd int, lk *Flock_t) error {
  function Futimesat (line 371) | func Futimesat(dirfd int, path string, tv []Timeval) error {
  function Futimes (line 388) | func Futimes(fd int, tv []Timeval) error {
  function anyToSockaddr (line 398) | func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) {
  function Accept (line 437) | func Accept(fd int) (nfd int, sa Sockaddr, err error) {
  function recvmsgRaw (line 454) | func recvmsgRaw(fd int, iov []Iovec, oob []byte, flags int, rsa *RawSock...
  function sendmsgN (line 482) | func sendmsgN(fd int, iov []Iovec, oob []byte, ptr unsafe.Pointer, salen...
  function Acct (line 514) | func Acct(path string) (err error) {
  function Mkdev (line 529) | func Mkdev(major, minor uint32) uint64 {
  function Major (line 535) | func Major(dev uint64) uint32 {
  function Minor (line 541) | func Minor(dev uint64) uint32 {
  function ioctl (line 552) | func ioctl(fd int, req int, arg uintptr) (err error) {
  function ioctlPtr (line 557) | func ioctlPtr(fd int, req int, arg unsafe.Pointer) (err error) {
  function IoctlSetTermio (line 562) | func IoctlSetTermio(fd int, req int, value *Termio) error {
  function IoctlGetTermio (line 566) | func IoctlGetTermio(fd int, req int) (*Termio, error) {
  function Poll (line 574) | func Poll(fds []PollFd, timeout int) (n int, err error) {
  function Sendfile (line 581) | func Sendfile(outfd int, infd int, offset *int64, count int) (written in...
  type fileObjCookie (line 704) | type fileObjCookie struct
  type EventPort (line 710) | type EventPort struct
    method Close (line 765) | func (e *EventPort) Close() error {
    method PathIsWatched (line 779) | func (e *EventPort) PathIsWatched(path string) bool {
    method FdIsWatched (line 787) | func (e *EventPort) FdIsWatched(fd uintptr) bool {
    method AssociatePath (line 796) | func (e *EventPort) AssociatePath(path string, stat os.FileInfo, event...
    method DissociatePath (line 816) | func (e *EventPort) DissociatePath(path string) error {
    method AssociateFd (line 840) | func (e *EventPort) AssociateFd(fd uintptr, events int, cookie interfa...
    method DissociateFd (line 860) | func (e *EventPort) DissociateFd(fd uintptr) error {
    method GetOne (line 902) | func (e *EventPort) GetOne(t *Timespec) (*PortEvent, error) {
    method peIntToExt (line 920) | func (e *EventPort) peIntToExt(peInt *portEvent, peExt *PortEvent) err...
    method Pending (line 958) | func (e *EventPort) Pending() (int, error) {
    method Get (line 968) | func (e *EventPort) Get(s []PortEvent, min int, timeout *Timespec) (in...
  type PortEvent (line 733) | type PortEvent struct
  function NewEventPort (line 744) | func NewEventPort() (*EventPort, error) {
  function createFileObjCookie (line 880) | func createFileObjCookie(name string, stat os.FileInfo, cookie interface...
  function Putmsg (line 1004) | func Putmsg(fd int, cl []byte, data []byte, flags int) (err error) {
  function Getmsg (line 1023) | func Getmsg(fd int, cl []byte, data []byte) (retCl []byte, retData []byt...
  function IoctlSetIntRetInt (line 1051) | func IoctlSetIntRetInt(fd int, req int, arg int) (int, error) {
  function IoctlSetString (line 1055) | func IoctlSetString(fd int, req int, val string) error {
  method SetName (line 1065) | func (l *Lifreq) SetName(name string) error {
  method SetLifruInt (line 1075) | func (l *Lifreq) SetLifruInt(d int) {
  method GetLifruInt (line 1079) | func (l *Lifreq) GetLifruInt() int {
  method SetLifruUint (line 1083) | func (l *Lifreq) SetLifruUint(d uint) {
  method GetLifruUint (line 1087) | func (l *Lifreq) GetLifruUint() uint {
  function IoctlLifreq (line 1091) | func IoctlLifreq(fd int, req int, l *Lifreq) error {
  method SetInt (line 1097) | func (s *Strioctl) SetInt(i int) {
  function IoctlSetStrioctlRetInt (line 1102) | func IoctlSetStrioctlRetInt(fd int, req int, s *Strioctl) (int, error) {
  type Ucred (line 1121) | type Ucred struct
    method Geteuid (line 1158) | func (u *Ucred) Geteuid() int {
    method Getruid (line 1163) | func (u *Ucred) Getruid() int {
    method Getsuid (line 1168) | func (u *Ucred) Getsuid() int {
    method Getegid (line 1173) | func (u *Ucred) Getegid() int {
    method Getrgid (line 1178) | func (u *Ucred) Getrgid() int {
    method Getsgid (line 1183) | func (u *Ucred) Getsgid() int {
    method Getpid (line 1188) | func (u *Ucred) Getpid() int {
  function ucredFinalizer (line 1127) | func ucredFinalizer(u *Ucred) {
  function GetPeerUcred (line 1131) | func GetPeerUcred(fd uintptr) (*Ucred, error) {
  function UcredGet (line 1145) | func UcredGet(pid int) (*Ucred, error) {

FILE: vendor/golang.org/x/sys/unix/syscall_solaris_amd64.go
  function setTimespec (line 9) | func setTimespec(sec, nsec int64) Timespec {
  function setTimeval (line 13) | func setTimeval(sec, usec int64) Timeval {
  method SetLen (line 17) | func (iov *Iovec) SetLen(length int) {
  method SetIovlen (line 21) | func (msghdr *Msghdr) SetIovlen(length int) {
  method SetLen (line 25) | func (cmsg *Cmsghdr) SetLen(length int) {

FILE: vendor/golang.org/x/sys/unix/syscall_unix.go
  function errnoErr (line 38) | func errnoErr(e syscall.Errno) error {
  function ErrnoName (line 53) | func ErrnoName(e syscall.Errno) string {
  function SignalName (line 64) | func SignalName(s syscall.Signal) string {
  function SignalNum (line 77) | func SignalNum(s string) syscall.Signal {
  function clen (line 88) | func clen(n []byte) int {
  type mmapper (line 98) | type mmapper struct
    method Mmap (line 105) | func (m *mmapper) Mmap(fd int, offset int64, length int, prot int, fla...
    method Munmap (line 127) | func (m *mmapper) Munmap(data []byte) (err error) {
  function Mmap (line 149) | func Mmap(fd int, offset int64, length int, prot int, flags int) (data [...
  function Munmap (line 153) | func Munmap(b []byte) (err error) {
  function MmapPtr (line 157) | func MmapPtr(fd int, offset int64, addr unsafe.Pointer, length uintptr, ...
  function MunmapPtr (line 162) | func MunmapPtr(addr unsafe.Pointer, length uintptr) (err error) {
  function Read (line 166) | func Read(fd int, p []byte) (n int, err error) {
  function Write (line 179) | func Write(fd int, p []byte) (n int, err error) {
  function Pread (line 190) | func Pread(fd int, p []byte, offset int64) (n int, err error) {
  function Pwrite (line 203) | func Pwrite(fd int, p []byte, offset int64) (n int, err error) {
  type Sockaddr (line 219) | type Sockaddr interface
  type SockaddrInet4 (line 224) | type SockaddrInet4 struct
  type SockaddrInet6 (line 231) | type SockaddrInet6 struct
  type SockaddrUnix (line 239) | type SockaddrUnix struct
  function Bind (line 244) | func Bind(fd int, sa Sockaddr) (err error) {
  function Connect (line 252) | func Connect(fd int, sa Sockaddr) (err error) {
  function Getpeername (line 260) | func Getpeername(fd int) (sa Sockaddr, err error) {
  function GetsockoptByte (line 269) | func GetsockoptByte(fd, level, opt int) (value byte, err error) {
  function GetsockoptInt (line 276) | func GetsockoptInt(fd, level, opt int) (value int, err error) {
  function GetsockoptInet4Addr (line 283) | func GetsockoptInet4Addr(fd, level, opt int) (value [4]byte, err error) {
  function GetsockoptIPMreq (line 289) | func GetsockoptIPMreq(fd, level, opt int) (*IPMreq, error) {
  function GetsockoptIPv6Mreq (line 296) | func GetsockoptIPv6Mreq(fd, level, opt int) (*IPv6Mreq, error) {
  function GetsockoptIPv6MTUInfo (line 303) | func GetsockoptIPv6MTUInfo(fd, level, opt int) (*IPv6MTUInfo, error) {
  function GetsockoptICMPv6Filter (line 310) | func GetsockoptICMPv6Filter(fd, level, opt int) (*ICMPv6Filter, error) {
  function GetsockoptLinger (line 317) | func GetsockoptLinger(fd, level, opt int) (*Linger, error) {
  function GetsockoptTimeval (line 324) | func GetsockoptTimeval(fd, level, opt int) (*Timeval, error) {
  function GetsockoptUint64 (line 331) | func GetsockoptUint64(fd, level, opt int) (value uint64, err error) {
  function Recvfrom (line 338) | func Recvfrom(fd int, p []byte, flags int) (n int, from Sockaddr, err er...
  function Recvmsg (line 363) | func Recvmsg(fd int, p, oob []byte, flags int) (n, oobn int, recvflags i...
  function RecvmsgBuffers (line 381) | func RecvmsgBuffers(fd int, buffers [][]byte, oob []byte, flags int) (n,...
  function Sendmsg (line 402) | func Sendmsg(fd int, p, oob []byte, to Sockaddr, flags int) (err error) {
  function SendmsgN (line 431) | func SendmsgN(fd int, p, oob []byte, to Sockaddr, flags int) (n int, err...
  function SendmsgBuffers (line 451) | func SendmsgBuffers(fd int, buffers [][]byte, oob []byte, to Sockaddr, f...
  function Send (line 472) | func Send(s int, buf []byte, flags int) (err error) {
  function Sendto (line 476) | func Sendto(fd int, p []byte, flags int, to Sockaddr) (err error) {
  function SetsockoptByte (line 488) | func SetsockoptByte(fd, level, opt int, value byte) (err error) {
  function SetsockoptInt (line 492) | func SetsockoptInt(fd, level, opt int, value int) (err error) {
  function SetsockoptInet4Addr (line 497) | func SetsockoptInet4Addr(fd, level, opt int, value [4]byte) (err error) {
  function SetsockoptIPMreq (line 501) | func SetsockoptIPMreq(fd, level, opt int, mreq *IPMreq) (err error) {
  function SetsockoptIPv6Mreq (line 505) | func SetsockoptIPv6Mreq(fd, level, opt int, mreq *IPv6Mreq) (err error) {
  function SetsockoptICMPv6Filter (line 509) | func SetsockoptICMPv6Filter(fd, level, opt int, filter *ICMPv6Filter) er...
  function SetsockoptLinger (line 513) | func SetsockoptLinger(fd, level, opt int, l *Linger) (err error) {
  function SetsockoptString (line 517) | func SetsockoptString(fd, level, opt int, s string) (err error) {
  function SetsockoptTimeval (line 525) | func SetsockoptTimeval(fd, level, opt int, tv *Timeval) (err error) {
  function SetsockoptUint64 (line 529) | func SetsockoptUint64(fd, level, opt int, value uint64) (err error) {
  function Socket (line 533) | func Socket(domain, typ, proto int) (fd int, err error) {
  function Socketpair (line 541) | func Socketpair(domain, typ, proto int) (fd [2]int, err error) {
  function CloseOnExec (line 553) | func CloseOnExec(fd int) { fcntl(fd, F_SETFD, FD_CLOEXEC) }
  function SetNonblock (line 555) | func SetNonblock(fd int, nonblocking bool) (err error) {
  function Exec (line 577) | func Exec(argv0 string, argv []string, envv []string) error {
  function Lutimes (line 586) | func Lutimes(path string, tv []Timeval) error {
  function emptyIovecs (line 601) | func emptyIovecs(iov []Iovec) bool {
  function Setrlimit (line 611) | func Setrlimit(resource int, rlim *Rlimit) error {

FILE: vendor/golang.org/x/sys/unix/syscall_unix_gc.go
  function Syscall (line 11) | func Syscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno)
  function Syscall6 (line 12) | func Syscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err...
  function RawSyscall (line 13) | func RawSyscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.E...
  function RawSyscall6 (line 14) | func RawSyscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, ...

FILE: vendor/golang.org/x/sys/unix/syscall_unix_gc_ppc64x.go
  function Syscall (line 11) | func Syscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errn...
  function Syscall6 (line 14) | func Syscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err...
  function RawSyscall (line 17) | func RawSyscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.E...
  function RawSyscall6 (line 20) | func RawSyscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, ...

FILE: vendor/golang.org/x/sys/unix/syscall_zos_s390x.go
  function initZosLibVec (line 31) | func initZosLibVec()
  function GetZosLibVec (line 34) | func GetZosLibVec() uintptr
  function init (line 36) | func init() {
  function CallLeFuncWithErr (line 55) | func CallLeFuncWithErr(funcdesc uintptr, parms ...uintptr) (ret, errno2 ...
  function CallLeFuncWithPtrReturn (line 58) | func CallLeFuncWithPtrReturn(funcdesc uintptr, parms ...uintptr) (ret, e...
  function ptrtest (line 66) | func ptrtest(uintptr) uint64
  function safeload (line 71) | func safeload(ptr uintptr) (value uintptr, error uintptr)
  constant entrypointLocationOffset (line 74) | entrypointLocationOffset = 8
  constant xplinkEyecatcher (line 76) | xplinkEyecatcher   = 0x00c300c500c500f1
  constant eyecatcherOffset (line 77) | eyecatcherOffset   = 16
  constant ppa1LocationOffset (line 78) | ppa1LocationOffset = 8
  constant nameLenOffset (line 80) | nameLenOffset = 0x14
  constant nameOffset (line 81) | nameOffset    = 0x16
  function getPpaOffset (line 84) | func getPpaOffset(funcptr uintptr) int64 {
  function funcptrtest (line 115) | func funcptrtest(funcptr uintptr, funcName string) uint64 {
  function isValidLeFunc (line 173) | func isValidLeFunc(f uintptr) error {
  function getLeFuncName (line 182) | func getLeFuncName(f uintptr) (string, error) {
  function zosLeVersion (line 214) | func zosLeVersion() (version, release uint32) {
  function ZosStdioFilep (line 226) | func ZosStdioFilep(fd int32) uintptr {
  function copyStat (line 230) | func copyStat(stat *Stat_t, statLE *Stat_LE_t) {
  function svcCall (line 249) | func svcCall(fnptr unsafe.Pointer, argv *unsafe.Pointer, dsa *uint64)
  function svcLoad (line 250) | func svcLoad(name *byte) unsafe.Pointer
  function svcUnload (line 251) | func svcUnload(name *byte, fnptr unsafe.Pointer) int64
  method NameString (line 253) | func (d *Dirent) NameString() string {
  function DecodeData (line 266) | func DecodeData(dest []byte, sz int, val uint64) {
  function EncodeData (line 272) | func EncodeData(data []byte) uint64 {
  function anyToSockaddr (line 326) | func anyToSockaddr(_ int, rsa *RawSockaddrAny) (Sockaddr, error) {
  function Accept (line 385) | func Accept(fd int) (nfd int, sa Sockaddr, err error) {
  function Accept4 (line 401) | func Accept4(fd int, flags int) (nfd int, sa Sockaddr, err error) {
  function Ctermid (line 420) | func Ctermid() (tty string, err error) {
  method SetLen (line 438) | func (iov *Iovec) SetLen(length int) {
  method SetControllen (line 442) | func (msghdr *Msghdr) SetControllen(length int) {
  method SetLen (line 446) | func (cmsg *Cmsghdr) SetLen(length int) {
  function Faccessat2 (line 504) | func Faccessat2(dirfd int, path string, mode uint32, flags int) (err err...
  function Fstat (line 518) | func Fstat(fd int, stat *Stat_t) (err error) {
  function Fstatat (line 525) | func Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) {
  function impl_Getxattr (line 532) | func impl_Getxattr(path string, attr string, dest []byte) (sz int, err e...
  function get_GetxattrAddr (line 558) | func get_GetxattrAddr() *(func(path string, attr string, dest []byte) (s...
  function enter_Getxattr (line 562) | func enter_Getxattr(path string, attr string, dest []byte) (sz int, err ...
  function error_Getxattr (line 572) | func error_Getxattr(path string, attr string, dest []byte) (sz int, err ...
  function validGetxattr (line 576) | func validGetxattr() bool {
  function impl_Setxattr (line 588) | func impl_Setxattr(path string, attr string, data []byte, flags int) (er...
  function get_SetxattrAddr (line 613) | func get_SetxattrAddr() *(func(path string, attr string, data []byte, fl...
  function enter_Setxattr (line 617) | func enter_Setxattr(path string, attr string, data []byte, flags int) (e...
  function error_Setxattr (line 627) | func error_Setxattr(path string, attr string, data []byte, flags int) (e...
  function validSetxattr (line 631) | func validSetxattr() bool {
  function getPipe2Addr (line 662) | func getPipe2Addr() *(func([]int, int) error)
  function pipe2Enter (line 666) | func pipe2Enter(p []int, flags int) (err error) {
  function pipe2Impl (line 675) | func pipe2Impl(p []int, flags int) (err error) {
  function pipe2Error (line 686) | func pipe2Error(p []int, flags int) (err error) {
  function Readdir (line 694) | func Readdir(dir uintptr) (dirent *Dirent, err error) {
  function Ptsname (line 719) | func Ptsname(fd int) (name string, err error) {
  function u2s (line 731) | func u2s(cstr unsafe.Pointer) string {
  function Close (line 740) | func Close(fd int) (err error) {
  function Madvise (line 759) | func Madvise(b []byte, advice int) (err error) {
  function Mmap (line 763) | func Mmap(fd int, offset int64, length int, prot int, flags int) (data [...
  function Munmap (line 767) | func Munmap(b []byte) (err error) {
  function MmapPtr (line 771) | func MmapPtr(fd int, offset int64, addr unsafe.Pointer, length uintptr, ...
  function MunmapPtr (line 776) | func MunmapPtr(addr unsafe.Pointer, length uintptr) (err error) {
  function Getpgrp (line 785) | func Getpgrp() (pid int) {
  function Getrusage (line 796) | func Getrusage(who int, rusage *Rusage) (err error) {
  function Lstat (line 818) | func Lstat(path string, stat *Stat_t) (err error) {
  function isSpecialPath (line 826) | func isSpecialPath(path []byte) (v bool) {
  function realpath (line 847) | func realpath(srcpath string, abspath []byte) (pathlen int, errno int) {
  function Readlink (line 866) | func Readlink(path string, buf []byte) (n int, err error) {
  function impl_Readlinkat (line 897) | func impl_Readlinkat(dirfd int, path string, buf []byte) (n int, err err...
  function get_ReadlinkatAddr (line 930) | func get_ReadlinkatAddr() *(func(dirfd int, path string, buf []byte) (n ...
  function enter_Readlinkat (line 934) | func enter_Readlinkat(dirfd int, path string, buf []byte) (n int, err er...
  function error_Readlinkat (line 944) | func error_Readlinkat(dirfd int, path string, buf []byte) (n int, err er...
  function Stat (line 980) | func Stat(path string, sta *Stat_t) (err error) {
  function Open (line 1000) | func Open(path string, mode int, perm uint32) (fd int, err error) {
  function Openat (line 1009) | func Openat(dirfd int, path string, flags int, mode uint32) (fd int, err...
  function Openat2 (line 1018) | func Openat2(dirfd int, path string, how *OpenHow) (fd int, err error) {
  function ZosFdToPath (line 1025) | func ZosFdToPath(dirfd int) (path string, err error) {
  function Remove (line 1043) | func Remove(path string) error {
  constant ImplementsGetwd (line 1047) | ImplementsGetwd = true
  function Getcwd (line 1049) | func Getcwd(buf []byte) (n int, err error) {
  function Getwd (line 1066) | func Getwd() (wd string, err error) {
  function Getgroups (line 1079) | func Getgroups() (gids []int, err error) {
  function Setgroups (line 1105) | func Setgroups(gids []int) (err error) {
  function gettid (line 1117) | func gettid() uint64
  function Gettid (line 1119) | func Gettid() (tid int) {
  type WaitStatus (line 1123) | type WaitStatus
    method Exited (line 1142) | func (w WaitStatus) Exited() bool { return w&mask == exited }
    method Signaled (line 1144) | func (w WaitStatus) Signaled() bool { return w&mask != stopped && w&ma...
    method Stopped (line 1146) | func (w WaitStatus) Stopped() bool { return w&0xFF == stopped }
    method Continued (line 1148) | func (w WaitStatus) Continued() bool { return w == 0xFFFF }
    method CoreDump (line 1150) | func (w WaitStatus) CoreDump() bool { return w.Signaled() && w&core !=...
    method ExitStatus (line 1152) | func (w WaitStatus) ExitStatus() int {
    method Signal (line 1159) | func (w WaitStatus) Signal() Signal {
    method StopSignal (line 1166) | func (w WaitStatus) StopSignal() Signal {
    method TrapCause (line 1173) | func (w WaitStatus) TrapCause() int { return -1 }
  constant mask (line 1135) | mask    = 0x7F
  constant core (line 1136) | core    = 0x80
  constant exited (line 1137) | exited  = 0x00
  constant stopped (line 1138) | stopped = 0x7F
  constant shift (line 1139) | shift   = 8
  function Waitid (line 1177) | func Waitid(idType int, id int, info *Siginfo, options int, rusage *Rusa...
  function impl_Wait4 (line 1183) | func impl_Wait4(pid int, wstatus *WaitStatus, options int, rusage *Rusag...
  function get_Wait4Addr (line 1195) | func get_Wait4Addr() *(func(pid int, wstatus *WaitStatus, options int, r...
  function enter_Wait4 (line 1199) | func enter_Wait4(pid int, wstatus *WaitStatus, options int, rusage *Rusa...
  function legacyWait4 (line 1209) | func legacyWait4(pid int, wstatus *WaitStatus, options int, rusage *Rusa...
  function Gettimeofday (line 1222) | func Gettimeofday(tv *Timeval) (err error) {
  function Time (line 1230) | func Time(t *Time_t) (tt Time_t, err error) {
  function setTimespec (line 1242) | func setTimespec(sec, nsec int64) Timespec {
  function setTimeval (line 1246) | func setTimeval(sec, usec int64) Timeval { //fix
  function Pipe (line 1252) | func Pipe(p []int) (err error) {
  function Utimes (line 1265) | func Utimes(path string, tv []Timeval) (err error) {
  function validUtimensat (line 1277) | func validUtimensat() bool {
  function get_UtimesNanoAddr (line 1289) | func get_UtimesNanoAddr() *(func(path string, ts []Timespec) (err error))
  function enter_UtimesNano (line 1293) | func enter_UtimesNano(path string, ts []Timespec) (err error) {
  function utimesNanoImpl (line 1303) | func utimesNanoImpl(path string, ts []Timespec) (err error) {
  function legacyUtimesNano (line 1313) | func legacyUtimesNano(path string, ts []Timespec) (err error) {
  function get_UtimesNanoAtAddr (line 1331) | func get_UtimesNanoAtAddr() *(func(dirfd int, path string, ts []Timespec...
  function enter_UtimesNanoAt (line 1335) | func enter_UtimesNanoAt(dirfd int, path string, ts []Timespec, flags int...
  function utimesNanoAtImpl (line 1345) | func utimesNanoAtImpl(dirfd int, path string, ts []Timespec, flags int) ...
  function legacyUtimesNanoAt (line 1355) | func legacyUtimesNanoAt(dirfd int, path string, ts []Timespec, flags int...
  function Getsockname (line 1390) | func Getsockname(fd int) (sa Sockaddr, err error) {
  constant nwmHeaderIdentifier (line 1402) | nwmHeaderIdentifier    = 0xd5e6d4c8
  constant nwmFilterIdentifier (line 1403) | nwmFilterIdentifier    = 0xd5e6d4c6
  constant nwmTCPConnIdentifier (line 1404) | nwmTCPConnIdentifier   = 0xd5e6d4c3
  constant nwmRecHeaderIdentifier (line 1405) | nwmRecHeaderIdentifier = 0xd5e6d4d9
  constant nwmIPStatsIdentifier (line 1406) | nwmIPStatsIdentifier   = 0xd5e6d4c9d7e2e340
  constant nwmIPGStatsIdentifier (line 1407) | nwmIPGStatsIdentifier  = 0xd5e6d4c9d7c7e2e3
  constant nwmTCPStatsIdentifier (line 1408) | nwmTCPStatsIdentifier  = 0xd5e6d4e3c3d7e2e3
  constant nwmUDPStatsIdentifier (line 1409) | nwmUDPStatsIdentifier  = 0xd5e6d4e4c4d7e2e3
  constant nwmICMPGStatsEntry (line 1410) | nwmICMPGStatsEntry     = 0xd5e6d4c9c3d4d7c7
  constant nwmICMPTStatsEntry (line 1411) | nwmICMPTStatsEntry     = 0xd5e6d4c9c3d4d7e3
  constant nwmVersion1 (line 1414) | nwmVersion1   = 1
  constant nwmVersion2 (line 1415) | nwmVersion2   = 2
  constant nwmCurrentVer (line 1416) | nwmCurrentVer = 2
  constant nwmTCPConnType (line 1418) | nwmTCPConnType     = 1
  constant nwmGlobalStatsType (line 1419) | nwmGlobalStatsType = 14
  constant nwmFilterLclAddrMask (line 1422) | nwmFilterLclAddrMask = 0x20000000
  constant nwmFilterSrcAddrMask (line 1423) | nwmFilterSrcAddrMask = 0x20000000
  constant nwmFilterLclPortMask (line 1424) | nwmFilterLclPortMask = 0x10000000
  constant nwmFilterSrcPortMask (line 1425) | nwmFilterSrcPortMask = 0x10000000
  constant nwmTCPStateClosed (line 1428) | nwmTCPStateClosed   = 1
  constant nwmTCPStateListen (line 1429) | nwmTCPStateListen   = 2
  constant nwmTCPStateSynSent (line 1430) | nwmTCPStateSynSent  = 3
  constant nwmTCPStateSynRcvd (line 1431) | nwmTCPStateSynRcvd  = 4
  constant nwmTCPStateEstab (line 1432) | nwmTCPStateEstab    = 5
  constant nwmTCPStateFinWait1 (line 1433) | nwmTCPStateFinWait1 = 6
  constant nwmTCPStateFinWait2 (line 1434) | nwmTCPStateFinWait2 = 7
  constant nwmTCPStateClosWait (line 1435) | nwmTCPStateClosWait = 8
  constant nwmTCPStateLastAck (line 1436) | nwmTCPStateLastAck  = 9
  constant nwmTCPStateClosing (line 1437) | nwmTCPStateClosing  = 10
  constant nwmTCPStateTimeWait (line 1438) | nwmTCPStateTimeWait = 11
  constant nwmTCPStateDeletTCB (line 1439) | nwmTCPStateDeletTCB = 12
  constant BPF_TCP_CLOSE (line 1442) | BPF_TCP_CLOSE        = 1
  constant BPF_TCP_LISTEN (line 1443) | BPF_TCP_LISTEN       = 2
  constant BPF_TCP_SYN_SENT (line 1444) | BPF_TCP_SYN_SENT     = 3
  constant BPF_TCP_SYN_RECV (line 1445) | BPF_TCP_SYN_RECV     = 4
  constant BPF_TCP_ESTABLISHED (line 1446) | BPF_TCP_ESTABLISHED  = 5
  constant BPF_TCP_FIN_WAIT1 (line 1447) | BPF_TCP_FIN_WAIT1    = 6
  constant BPF_TCP_FIN_WAIT2 (line 1448) | BPF_TCP_FIN_WAIT2    = 7
  constant BPF_TCP_CLOSE_WAIT (line 1449) | BPF_TCP_CLOSE_WAIT   = 8
  constant BPF_TCP_LAST_ACK (line 1450) | BPF_TCP_LAST_ACK     = 9
  constant BPF_TCP_CLOSING (line 1451) | BPF_TCP_CLOSING      = 10
  constant BPF_TCP_TIME_WAIT (line 1452) | BPF_TCP_TIME_WAIT    = 11
  constant BPF_TCP_NEW_SYN_RECV (line 1453) | BPF_TCP_NEW_SYN_RECV = -1
  constant BPF_TCP_MAX_STATES (line 1454) | BPF_TCP_MAX_STATES   = -2
  type nwmTriplet (line 1457) | type nwmTriplet struct
  type nwmQuadruplet (line 1463) | type nwmQuadruplet struct
  type nwmHeader (line 1470) | type nwmHeader struct
  type nwmFilter (line 1482) | type nwmFilter struct
  type nwmRecHeader (line 1515) | type nwmRecHeader struct
  type nwmTCPStatsEntry (line 1522) | type nwmTCPStatsEntry struct
  type nwmConnEntry (line 1600) | type nwmConnEntry struct
  constant svc_EZBNMIF4 (line 1682) | svc_EZBNMIF4 = 0
  function GetsockoptTCPInfo (line 1685) | func GetsockoptTCPInfo(fd, level, opt int) (*TCPInfo, error) {
  function GetsockoptString (line 1886) | func GetsockoptString(fd, level, opt int) (string, error) {
  function Recvmsg (line 1897) | func Recvmsg(fd int, p, oob []byte, flags int) (n, oobn int, recvflags i...
  function Sendmsg (line 1932) | func Sendmsg(fd int, p, oob []byte, to Sockaddr, flags int) (err error) {
  function SendmsgN (line 1937) | func SendmsgN(fd int, p, oob []byte, to Sockaddr, flags int) (n int, err...
  function Opendir (line 1976) | func Opendir(name string) (uintptr, error) {
  function clearErrno (line 1993) | func clearErrno()
  function Closedir (line 1995) | func Closedir(dir uintptr) error {
  function Seekdir (line 2005) | func Seekdir(dir uintptr, pos int) {
  function Telldir (line 2011) | func Telldir(dir uintptr) (int, error) {
  function FcntlFlock (line 2021) | func FcntlFlock(fd uintptr, cmd int, lk *Flock_t) error {
  function impl_Flock (line 2044) | func impl_Flock(fd int, how int) (err error) {
  function get_FlockAddr (line 2055) | func get_FlockAddr() *(func(fd int, how int) (err error))
  function validFlock (line 2059) | func validFlock(fp uintptr) bool {
  function enter_Flock (line 2068) | func enter_Flock(fd int, how int) (err error) {
  function legacyFlock (line 2078) | func legacyFlock(fd int, how int) error {
  function Mlock (line 2111) | func Mlock(b []byte) (err error) {
  function Mlock2 (line 2121) | func Mlock2(b []byte, flags int) (err error) {
  function Mlockall (line 2131) | func Mlockall(flags int) (err error) {
  function Munlock (line 2141) | func Munlock(b []byte) (err error) {
  function Munlockall (line 2151) | func Munlockall() (err error) {
  function ClockGettime (line 2161) | func ClockGettime(clockid int32, ts *Timespec) error {
  function get_ChtagAddr (line 2190) | func get_ChtagAddr() *(func(path string, ccsid uint64, textbit uint64) e...
  function enter_Chtag (line 2194) | func enter_Chtag(path string, ccsid uint64, textbit uint64) error {
  function legacy_Chtag (line 2204) | func legacy_Chtag(path string, ccsid uint64, textbit uint64) error {
  function impl_Chtag (line 2211) | func impl_Chtag(path string, ccsid uint64, textbit uint64) error {
  function get_NanosleepAddr (line 2223) | func get_NanosleepAddr() *(func(time *Timespec, leftover *Timespec) error)
  function enter_Nanosleep (line 2227) | func enter_Nanosleep(time *Timespec, leftover *Timespec) error {
  function impl_Nanosleep (line 2237) | func impl_Nanosleep(time *Timespec, leftover *Timespec) error {
  function legacyNanosleep (line 2247) | func legacyNanosleep(time *Timespec, leftover *Timespec) error {
  function errnoErr (line 2309) | func errnoErr(e Errno) error {
  function errnoErr2 (line 2326) | func errnoErr2(e Errno, e2 uintptr) error {
  function ErrnoName (line 2374) | func ErrnoName(e Errno) string {
  function SignalName (line 2385) | func SignalName(s syscall.Signal) string {
  function SignalNum (line 2398) | func SignalNum(s string) syscall.Signal {
  function clen (line 2409) | func clen(n []byte) int {
  type mmapper (line 2419) | type mmapper struct
    method Mmap (line 2426) | func (m *mmapper) Mmap(fd int, offset int64, length int, prot int, fla...
    method Munmap (line 2458) | func (m *mmapper) Munmap(data []byte) (err error) {
  function Read (line 2480) | func Read(fd int, p []byte) (n int, err error) {
  function Write (line 2493) | func Write(fd int, p []byte) (n int, err error) {
  type Sockaddr (line 2509) | type Sockaddr interface
  type SockaddrInet4 (line 2514) | type SockaddrInet4 struct
    method sockaddr (line 281) | func (sa *SockaddrInet4) sockaddr() (unsafe.Pointer, _Socklen, error) {
  type SockaddrInet6 (line 2521) | type SockaddrInet6 struct
    method sockaddr (line 296) | func (sa *SockaddrInet6) sockaddr() (unsafe.Pointer, _Socklen, error) {
  type SockaddrUnix (line 2529) | type SockaddrUnix struct
    method sockaddr (line 312) | func (sa *SockaddrUnix) sockaddr() (unsafe.Pointer, _Socklen, error) {
  function Bind (line 2534) | func Bind(fd int, sa Sockaddr) (err error) {
  function Connect (line 2542) | func Connect(fd int, sa Sockaddr) (err error) {
  function Getpeername (line 2550) | func Getpeername(fd int) (sa Sockaddr, err error) {
  function GetsockoptByte (line 2559) | func GetsockoptByte(fd, level, opt int) (value byte, err error) {
  function GetsockoptInt (line 2566) | func GetsockoptInt(fd, level, opt int) (value int, err error) {
  function GetsockoptInet4Addr (line 2573) | func GetsockoptInet4Addr(fd, level, opt int) (value [4]byte, err error) {
  function GetsockoptIPMreq (line 2579) | func GetsockoptIPMreq(fd, level, opt int) (*IPMreq, error) {
  function GetsockoptIPv6Mreq (line 2586) | func GetsockoptIPv6Mreq(fd, level, opt int) (*IPv6Mreq, error) {
  function GetsockoptIPv6MTUInfo (line 2593) | func GetsockoptIPv6MTUInfo(fd, level, opt int) (*IPv6MTUInfo, error) {
  function GetsockoptICMPv6Filter (line 2600) | func GetsockoptICMPv6Filter(fd, level, opt int) (*ICMPv6Filter, error) {
  function GetsockoptLinger (line 2607) | func GetsockoptLinger(fd, level, opt int) (*Linger, error) {
  function GetsockoptTimeval (line 2614) | func GetsockoptTimeval(fd, level, opt int) (*Timeval, error) {
  function GetsockoptUint64 (line 2621) | func GetsockoptUint64(fd, level, opt int) (value uint64, err error) {
  function Recvfrom (line 2628) | func Recvfrom(fd int, p []byte, flags int) (n int, from Sockaddr, err er...
  function Sendto (line 2640) | func Sendto(fd int, p []byte, flags int, to Sockaddr) (err error) {
  function SetsockoptByte (line 2648) | func SetsockoptByte(fd, level, opt int, value byte) (err error) {
  function SetsockoptInt (line 2652) | func SetsockoptInt(fd, level, opt int, value int) (err error) {
  function SetsockoptInet4Addr (line 2657) | func SetsockoptInet4Addr(fd, level, opt int, value [4]byte) (err error) {
  function SetsockoptIPMreq (line 2661) | func SetsockoptIPMreq(fd, level, opt int, mreq *IPMreq) (err error) {
  function SetsockoptIPv6Mreq (line 2665) | func SetsockoptIPv6Mreq(fd, level, opt int, mreq *IPv6Mreq) (err error) {
  function SetsockoptICMPv6Filter (line 2669) | func SetsockoptICMPv6Filter(fd, level, opt int, filter *ICMPv6Filter) er...
  function SetsockoptLinger (line 2673) | func SetsockoptLinger(fd, level, opt int, l *Linger) (err error) {
  function SetsockoptString (line 2677) | func SetsockoptString(fd, level, opt int, s string) (err error) {
  function SetsockoptTimeval (line 2685) | func SetsockoptTimeval(fd, level, opt int, tv *Timeval) (err error) {
  function SetsockoptUint64 (line 2689) | func SetsockoptUint64(fd, level, opt int, value uint64) (err error) {
  function Socket (line 2693) | func Socket(domain, typ, proto int) (fd int, err error) {
  function Socketpair (line 2701) | func Socketpair(domain, typ, proto int) (fd [2]int, err error) {
  function CloseOnExec (line 2713) | func CloseOnExec(fd int) { fcntl(fd, F_SETFD, FD_CLOEXEC) }
  function SetNonblock (line 2715) | func SetNonblock(fd int, nonblocking bool) (err error) {
  function Exec (line 2734) | func Exec(argv0 string, argv []string, envv []string) error {
  function Getag (line 2738) | func Getag(path string) (ccsid uint16, flag uint16, err error) {
  function impl_Mount (line 2754) | func impl_Mount(source string, target string, fstype string, flags uintp...
  function get_MountAddr (line 2785) | func get_MountAddr() *(func(source string, target string, fstype string,...
  function enter_Mount (line 2789) | func enter_Mount(source string, target string, fstype string, flags uint...
  function legacyMount (line 2799) | func legacyMount(source string, target string, fstype string, flags uint...
  function validMount (line 2808) | func validMount() bool {
  function impl_Unmount (line 2820) | func impl_Unmount(target string, flags int) (err error) {
  function get_UnmountAddr (line 2836) | func get_UnmountAddr() *(func(target string, flags int) (err error))
  function enter_Unmount (line 2840) | func enter_Unmount(target string, flags int) (err error) {
  function legacyUnmount (line 2850) | func legacyUnmount(name string, mtm int) (err error) {
  function direntIno (line 2888) | func direntIno(buf []byte) (uint64, bool) {
  function direntReclen (line 2892) | func direntReclen(buf []byte) (uint64, bool) {
  function direntNamlen (line 2896) | func direntNamlen(buf []byte) (uint64, bool) {
  function direntLeToDirentUnix (line 2904) | func direntLeToDirentUnix(dirent *direntLE, dir uintptr, path string) (D...
  function Getdirentries (line 2929) | func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {
  function Err2ad (line 3003) | func Err2ad() (eadd *int) {
  function ZosConsolePrintf (line 3009) | func ZosConsolePrintf(format string, v ...interface{}) (int, error) {
  function ZosStringToEbcdicBytes (line 3030) | func ZosStringToEbcdicBytes(str string, nullterm bool) (ebcdicBytes []by...
  function ZosEbcdicBytesToString (line 3039) | func ZosEbcdicBytesToString(b []byte, trimRight bool) (str string) {
  function fdToPath (line 3051) | func fdToPath(dirfd int) (path string, err error) {
  function impl_Mkfifoat (line 3086) | func impl_Mkfifoat(dirfd int, path string, mode uint32) (err error) {
  function get_MkfifoatAddr (line 3102) | func get_MkfifoatAddr() *(func(dirfd int, path string, mode uint32) (err...
  function enter_Mkfifoat (line 3106) | func enter_Mkfifoat(dirfd int, path string, mode uint32) (err error) {
  function legacy_Mkfifoat (line 3116) | func legacy_Mkfifoat(dirfd int, path string, mode uint32) (err error) {
  function fcntlAsIs (line 3128) | func fcntlAsIs(fd uintptr, cmd int, arg uintptr) (val int, err error) {
  function Fcntl (line 3139) | func Fcntl(fd uintptr, cmd int, op interface{}) (ret int, err error) {
  function Sendfile (line 3159) | func Sendfile(outfd int, infd int, offset *int64, count int) (written in...
  function sendfile (line 3166) | func sendfile(outfd int, infd int, offset *int64, count int) (written in...

FILE: vendor/golang.org/x/sys/unix/sysvshm_linux.go
  function SysvShmCtl (line 13) | func SysvShmCtl(id, cmd int, desc *SysvShmDesc) (result int, err error) {

FILE: vendor/golang.org/x/sys/unix/sysvshm_unix.go
  function SysvShmAttach (line 13) | func SysvShmAttach(id int, addr uintptr, flag int) ([]byte, error) {
  function SysvShmDetach (line 39) | func SysvShmDetach(data []byte) error {
  function SysvShmGet (line 49) | func SysvShmGet(key, size, flag int) (id int, err error) {

FILE: vendor/golang.org/x/sys/unix/sysvshm_unix_other.go
  function SysvShmCtl (line 11) | func SysvShmCtl(id, cmd int, desc *SysvShmDesc) (result int, err error) {

FILE: vendor/golang.org/x/sys/unix/timestruct.go
  function TimespecToNsec (line 12) | func TimespecToNsec(ts Timespec) int64 { return ts.Nano() }
  function NsecToTimespec (line 15) | func NsecToTimespec(nsec int64) Timespec {
  function TimeToTimespec (line 29) | func TimeToTimespec(t time.Time) (Timespec, error) {
  function TimevalToNsec (line 44) | func TimevalToNsec(tv Timeval) int64 { return tv.Nano() }
  function NsecToTimeval (line 47) | func NsecToTimeval(nsec int64) Timeval {
  method Unix (line 59) | func (ts *Timespec) Unix() (sec int64, nsec int64) {
  method Unix (line 64) | func (tv *Timeval) Unix() (sec int64, nsec int64) {
  method Nano (line 69) | func (ts *Timespec) Nano() int64 {
  method Nano (line 74) | func (tv *Timeval) Nano() int64 {

FILE: vendor/golang.org/x/sys/unix/unveil_openbsd.go
  function Unveil (line 13) | func Unveil(path string, flags string) error {
  function UnveilBlock (line 30) | func UnveilBlock() error {
  function supportsUnveil (line 39) | func supportsUnveil() error {

FILE: vendor/golang.org/x/sys/unix/vgetrandom_linux.go
  function vgetrandom (line 13) | func vgetrandom(p []byte, flags uint32) (ret int, supported bool)

FILE: vendor/golang.org/x/sys/unix/vgetrandom_unsupported.go
  function vgetrandom (line 9) | func vgetrandom(p []byte, flags uint32) (ret int, supported bool) {

FILE: vendor/golang.org/x/sys/unix/xattr_bsd.go
  function xattrnamespace (line 16) | func xattrnamespace(fullattr string) (ns int, attr string, err error) {
  function initxattrdest (line 35) | func initxattrdest(dest []byte, idx int) (d unsafe.Pointer) {
  function Getxattr (line 50) | func Getxattr(file string, attr string, dest []byte) (sz int, err error) {
  function Fgetxattr (line 62) | func Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) {
  function Lgetxattr (line 74) | func Lgetxattr(link string, attr string, dest []byte) (sz int, err error) {
  function Fsetxattr (line 88) | func Fsetxattr(fd int, attr string, data []byte, flags int) (err error) {
  function Setxattr (line 104) | func Setxattr(file string, attr string, data []byte, flags int) (err err...
  function Lsetxattr (line 120) | func Lsetxattr(link string, attr string, data []byte, flags int) (err er...
  function Removexattr (line 136) | func Removexattr(file string, attr string) (err error) {
  function Fremovexattr (line 146) | func Fremovexattr(fd int, attr string) (err error) {
  function Lremovexattr (line 156) | func Lremovexattr(link string, attr string) (err error) {
  function Listxattr (line 166) | func Listxattr(file string, dest []byte) (sz int, err error) {
  function ListxattrNS (line 198) | func ListxattrNS(file string, nsid int, dest []byte) (sz int, err error) {
  function Flistxattr (line 210) | func Flistxattr(fd int, dest []byte) (sz int, err error) {
  function FlistxattrNS (line 234) | func FlistxattrNS(fd int, nsid int, dest []byte) (sz int, err error) {
  function Llistxattr (line 246) | func Llistxattr(link string, dest []byte) (sz int, err error) {
  function LlistxattrNS (line 270) | func LlistxattrNS(link string, nsid int, dest []byte) (sz int, err error) {

FILE: vendor/golang.org/x/sys/unix/zerrors_aix_ppc.go
  constant AF_APPLETALK (line 14) | AF_APPLETALK                  = 0x10
  constant AF_BYPASS (line 15) | AF_BYPASS                     = 0x19
  constant AF_CCITT (line 16) | AF_CCITT                      = 0xa
  constant AF_CHAOS (line 17) | AF_CHAOS                      = 0x5
  constant AF_DATAKIT (line 18) | AF_DATAKIT                    = 0x9
  constant AF_DECnet (line 19) | AF_DECnet                     = 0xc
  constant AF_DLI (line 20) | AF_DLI                        = 0xd
  constant AF_ECMA (line 21) | AF_ECMA                       = 0x8
  constant AF_HYLINK (line 22) | AF_HYLINK                     = 0xf
  constant AF_IMPLINK (line 23) | AF_IMPLINK                    = 0x3
  constant AF_INET (line 24) | AF_INET                       = 0x2
  constant AF_INET6 (line 25) | AF_INET6                      = 0x18
  constant AF_INTF (line 26) | AF_INTF                       = 0x14
  constant AF_ISO (line 27) | AF_ISO                        = 0x7
  constant AF_LAT (line 28) | AF_LAT                        = 0xe
  constant AF_LINK (line 29) | AF_LINK                       = 0x12
  constant AF_LOCAL (line 30) | AF_LOCAL                      = 0x1
  constant AF_MAX (line 31) | AF_MAX                        = 0x1e
  constant AF_NDD (line 32) | AF_NDD                        = 0x17
  constant AF_NETWARE (line 33) | AF_NETWARE                    = 0x16
  constant AF_NS (line 34) | AF_NS                         = 0x6
  constant AF_OSI (line 35) | AF_OSI                        = 0x7
  constant AF_PUP (line 36) | AF_PUP                        = 0x4
  constant AF_RIF (line 37) | AF_RIF                        = 0x15
  constant AF_ROUTE (line 38) | AF_ROUTE                      = 0x11
  constant AF_SNA (line 39) | AF_SNA                        = 0xb
  constant AF_UNIX (line 40) | AF_UNIX                       = 0x1
  constant AF_UNSPEC (line 41) | AF_UNSPEC                     = 0x0
  constant ALTWERASE (line 42) | ALTWERASE                     = 0x400000
  constant ARPHRD_802_3 (line 43) | ARPHRD_802_3                  = 0x6
  constant ARPHRD_802_5 (line 44) | ARPHRD_802_5                  = 0x6
  constant ARPHRD_ETHER (line 45) | ARPHRD_ETHER                  = 0x1
  constant ARPHRD_FDDI (line 46) | ARPHRD_FDDI                   = 0x1
  constant B0 (line 47) | B0                            = 0x0
  constant B110 (line 48) | B110                          = 0x3
  constant B1200 (line 49) | B1200                         = 0x9
  constant B134 (line 50) | B134                          = 0x4
  constant B150 (line 51) | B150                          = 0x5
  constant B1800 (line 52) | B1800                         = 0xa
  constant B19200 (line 53) | B19200                        = 0xe
  constant B200 (line 54) | B200                          = 0x6
  constant B2400 (line 55) | B2400                         = 0xb
  constant B300 (line 56) | B300                          = 0x7
  constant B38400 (line 57) | B38400                        = 0xf
  constant B4800 (line 58) | B4800                         = 0xc
  constant B50 (line 59) | B50                           = 0x1
  constant B600 (line 60) | B600                          = 0x8
  constant B75 (line 61) | B75                           = 0x2
  constant B9600 (line 62) | B9600                         = 0xd
  constant BRKINT (line 63) | BRKINT                        = 0x2
  constant BS0 (line 64) | BS0                           = 0x0
  constant BS1 (line 65) | BS1                           = 0x1000
  constant BSDLY (line 66) | BSDLY                         = 0x1000
  constant CAP_AACCT (line 67) | CAP_AACCT                     = 0x6
  constant CAP_ARM_APPLICATION (line 68) | CAP_ARM_APPLICATION           = 0x5
  constant CAP_BYPASS_RAC_VMM (line 69) | CAP_BYPASS_RAC_VMM            = 0x3
  constant CAP_CLEAR (line 70) | CAP_CLEAR                     = 0x0
  constant CAP_CREDENTIALS (line 71) | CAP_CREDENTIALS               = 0x7
  constant CAP_EFFECTIVE (line 72) | CAP_EFFECTIVE                 = 0x1
  constant CAP_EWLM_AGENT (line 73) | CAP_EWLM_AGENT                = 0x4
  constant CAP_INHERITABLE (line 74) | CAP_INHERITABLE               = 0x2
  constant CAP_MAXIMUM (line 75) | CAP_MAXIMUM                   = 0x7
  constant CAP_NUMA_ATTACH (line 76) | CAP_NUMA_ATTACH               = 0x2
  constant CAP_PERMITTED (line 77) | CAP_PERMITTED                 = 0x3
  constant CAP_PROPAGATE (line 78) | CAP_PROPAGATE                 = 0x1
  constant CAP_PROPOGATE (line 79) | CAP_PROPOGATE                 = 0x1
  constant CAP_SET (line 80) | CAP_SET                       = 0x1
  constant CBAUD (line 81) | CBAUD                         = 0xf
  constant CFLUSH (line 82) | CFLUSH                        = 0xf
  constant CIBAUD (line 83) | CIBAUD                        = 0xf0000
  constant CLOCAL (line 84) | CLOCAL                        = 0x800
  constant CLOCK_MONOTONIC (line 85) | CLOCK_MONOTONIC               = 0xa
  constant CLOCK_PROCESS_CPUTIME_ID (line 86) | CLOCK_PROCESS_CPUTIME_ID      = 0xb
  constant CLOCK_REALTIME (line 87) | CLOCK_REALTIME                = 0x9
  constant CLOCK_THREAD_CPUTIME_ID (line 88) | CLOCK_THREAD_CPUTIME_ID       = 0xc
  constant CR0 (line 89) | CR0                           = 0x0
  constant CR1 (line 90) | CR1                           = 0x100
  constant CR2 (line 91) | CR2                           = 0x200
  constant CR3 (line 92) | CR3                           = 0x300
  constant CRDLY (line 93) | CRDLY                         = 0x300
  constant CREAD (line 94) | CREAD                         = 0x80
  constant CS5 (line 95) | CS5                           = 0x0
  constant CS6 (line 96) | CS6                           = 0x10
  constant CS7 (line 97) | CS7                           = 0x20
  constant CS8 (line 98) | CS8                           = 0x30
  constant CSIOCGIFCONF (line 99) | CSIOCGIFCONF                  = -0x3ff796dc
  constant CSIZE (line 100) | CSIZE                         = 0x30
  constant CSMAP_DIR (line 101) | CSMAP_DIR                     = "/usr/lib/nls/csmap/"
  constant CSTART (line 102) | CSTART                        = '\021'
  constant CSTOP (line 103) | CSTOP                         = '\023'
  constant CSTOPB (line 104) | CSTOPB                        = 0x40
  constant CSUSP (line 105) | CSUSP                         = 0x1a
  constant ECHO (line 106) | ECHO                          = 0x8
  constant ECHOCTL (line 107) | ECHOCTL                       = 0x20000
  constant ECHOE (line 108) | ECHOE                         = 0x10
  constant ECHOK (line 109) | ECHOK                         = 0x20
  constant ECHOKE (line 110) | ECHOKE                        = 0x80000
  constant ECHONL (line 111) | ECHONL                        = 0x40
  constant ECHOPRT (line 112) | ECHOPRT                       = 0x40000
  constant ECH_ICMPID (line 113) | ECH_ICMPID                    = 0x2
  constant ETHERNET_CSMACD (line 114) | ETHERNET_CSMACD               = 0x6
  constant EVENP (line 115) | EVENP                         = 0x80
  constant EXCONTINUE (line 116) | EXCONTINUE                    = 0x0
  constant EXDLOK (line 117) | EXDLOK                        = 0x3
  constant EXIO (line 118) | EXIO                          = 0x2
  constant EXPGIO (line 119) | EXPGIO                        = 0x0
  constant EXRESUME (line 120) | EXRESUME                      = 0x2
  constant EXRETURN (line 121) | EXRETURN                      = 0x1
  constant EXSIG (line 122) | EXSIG                         = 0x4
  constant EXTA (line 123) | EXTA                          = 0xe
  constant EXTB (line 124) | EXTB                          = 0xf
  constant EXTRAP (line 125) | EXTRAP                        = 0x1
  constant EYEC_RTENTRYA (line 126) | EYEC_RTENTRYA                 = 0x257274656e747241
  constant EYEC_RTENTRYF (line 127) | EYEC_RTENTRYF                 = 0x257274656e747246
  constant E_ACC (line 128) | E_ACC                         = 0x0
  constant FD_CLOEXEC (line 129) | FD_CLOEXEC                    = 0x1
  constant FD_SETSIZE (line 130) | FD_SETSIZE                    = 0xfffe
  constant FF0 (line 131) | FF0                           = 0x0
  constant FF1 (line 132) | FF1                           = 0x2000
  constant FFDLY (line 133) | FFDLY                         = 0x2000
  constant FLUSHBAND (line 134) | FLUSHBAND                     = 0x40
  constant FLUSHLOW (line 135) | FLUSHLOW                      = 0x8
  constant FLUSHO (line 136) | FLUSHO                        = 0x100000
  constant FLUSHR (line 137) | FLUSHR                        = 0x1
  constant FLUSHRW (line 138) | FLUSHRW                       = 0x3
  constant FLUSHW (line 139) | FLUSHW                        = 0x2
  constant F_CLOSEM (line 140) | F_CLOSEM                      = 0xa
  constant F_DUP2FD (line 141) | F_DUP2FD                      = 0xe
  constant F_DUPFD (line 142) | F_DUPFD                       = 0x0
  constant F_GETFD (line 143) | F_GETFD                       = 0x1
  constant F_GETFL (line 144) | F_GETFL                       = 0x3
  constant F_GETLK (line 145) | F_GETLK                       = 0x5
  constant F_GETLK64 (line 146) | F_GETLK64                     = 0xb
  constant F_GETOWN (line 147) | F_GETOWN                      = 0x8
  constant F_LOCK (line 148) | F_LOCK                        = 0x1
  constant F_OK (line 149) | F_OK                          = 0x0
  constant F_RDLCK (line 150) | F_RDLCK                       = 0x1
  constant F_SETFD (line 151) | F_SETFD                       = 0x2
  constant F_SETFL (line 152) | F_SETFL                       = 0x4
  constant F_SETLK (line 153) | F_SETLK                       = 0x6
  constant F_SETLK64 (line 154) | F_SETLK64                     = 0xc
  constant F_SETLKW (line 155) | F_SETLKW                      = 0x7
  constant F_SETLKW64 (line 156) | F_SETLKW64                    = 0xd
  constant F_SETOWN (line 157) | F_SETOWN                      = 0x9
  constant F_TEST (line 158) | F_TEST                        = 0x3
  constant F_TLOCK (line 159) | F_TLO
Condensed preview — 408 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (8,758K chars).
[
  {
    "path": ".github/FUNDING.yml",
    "chars": 16,
    "preview": "ko_fi: pcarrier\n"
  },
  {
    "path": ".github/workflows/go-presubmit.yml",
    "chars": 546,
    "preview": "name: Go presubmit\n\non:\n  push:\n    branches:\n      - main\n  pull_request:\n    types: [opened, reopened, synchronize]\n\nj"
  },
  {
    "path": ".github/workflows/goreleaser.yml",
    "chars": 1045,
    "preview": "name: goreleaser\n\non:\n  push:\n    branches:\n      - main\n    tags:\n      - \"*\"\n  pull_request:\n    types: [opened, reope"
  },
  {
    "path": ".gitignore",
    "chars": 23,
    "preview": ".DS_STORE\n.idea/\ndist/\n"
  },
  {
    "path": ".goreleaser.yaml",
    "chars": 611,
    "preview": "# This is an example .goreleaser.yml file with some sensible defaults.\n# Make sure to check the documentation at https:/"
  },
  {
    "path": "LICENSE",
    "chars": 751,
    "preview": "Copyright 2013-2021 M. J. Fromberger, Pierre Carrier\n\nPermission to use, copy, modify, and/or distribute this software f"
  },
  {
    "path": "PKGBUILD",
    "chars": 931,
    "preview": "# Maintainer: pcarrier\n\npkgname=gauth\npkgver=1.0\npkgrel=1\npkgdesc=\"Local laptop/desktop Google Authenticator written in "
  },
  {
    "path": "README.md",
    "chars": 4252,
    "preview": "[![Go presubmit](https://github.com/pcarrier/gauth/actions/workflows/go-presubmit.yml/badge.svg)](https://github.com/pca"
  },
  {
    "path": "gauth/gauth.go",
    "chars": 6505,
    "preview": "// Package gauth implements the time-based OTP generation scheme used by Google\n// Authenticator.\npackage gauth\n\nimport "
  },
  {
    "path": "gauth/gauth_test.go",
    "chars": 2064,
    "preview": "package gauth_test\n\nimport (\n\t\"bytes\"\n\t\"testing\"\n\n\t\"github.com/creachadair/otp/otpauth\"\n\t\"github.com/pcarrier/gauth/gaut"
  },
  {
    "path": "gauth/testdata/plaintext.csv",
    "chars": 156,
    "preview": "test2:AEBAGBAFAYDQQCIK\ntest1:AAAQEAYEAUDAOCAJ\notpauth://totp/test3:testuser3?secret=AAAQEAYEAUDAOCAJ======&issuer=test3&"
  },
  {
    "path": "gauth.go",
    "chars": 9619,
    "preview": "package main\n\nimport (\n\t\"bufio\"\n\t\"fmt\"\n\t\"log\"\n\t\"os\"\n\t\"path/filepath\"\n\t\"strings\"\n\t\"syscall\"\n\t\"text/tabwriter\"\n\t\"time\"\n\n\t\""
  },
  {
    "path": "go.mod",
    "chars": 359,
    "preview": "module github.com/pcarrier/gauth\n\ngo 1.23\n\ntoolchain go1.23.6\n\nrequire (\n\tgithub.com/creachadair/otp v0.5.0\n\tgolang.org/"
  },
  {
    "path": "go.sum",
    "chars": 1471,
    "preview": "github.com/creachadair/mds v0.21.3/go.mod h1:1ltMWZd9yXhaHEoZwBialMaviWVUpRPvMwVP7saFAzM=\ngithub.com/creachadair/otp v0."
  },
  {
    "path": "vendor/github.com/creachadair/otp/.gitignore",
    "chars": 11,
    "preview": ".go-update\n"
  },
  {
    "path": "vendor/github.com/creachadair/otp/LICENSE",
    "chars": 1421,
    "preview": "Copyright (C) 2019, Michael J. Fromberger\nAll Rights Reserved.\n\nRedistribution and use in source and binary forms, with "
  },
  {
    "path": "vendor/github.com/creachadair/otp/README.md",
    "chars": 356,
    "preview": "# otp\n\n[![GoDoc](https://img.shields.io/static/v1?label=godoc&message=reference&color=blue)](https://pkg.go.dev/github.c"
  },
  {
    "path": "vendor/github.com/creachadair/otp/notes.txt",
    "chars": 84,
    "preview": "Standard alphabet:   \"0123456789\"\nSteamGuard alphabet: \"23456789BCDFGHJKMNPQRTVWXY\"\n"
  },
  {
    "path": "vendor/github.com/creachadair/otp/otp.go",
    "chars": 5661,
    "preview": "// Copyright (C) 2019 Michael J. Fromberger. All Rights Reserved.\n\n// Package otp generates single use authenticator cod"
  },
  {
    "path": "vendor/github.com/creachadair/otp/otpauth/migration.go",
    "chars": 4399,
    "preview": "package otpauth\n\nimport (\n\t\"bytes\"\n\t\"encoding/base64\"\n\t\"encoding/binary\"\n\t\"errors\"\n\t\"fmt\"\n\t\"io\"\n\t\"net/url\"\n\t\"strings\"\n\n\t"
  },
  {
    "path": "vendor/github.com/creachadair/otp/otpauth/otpauth.go",
    "chars": 6379,
    "preview": "// Copyright (C) 2020 Michael J. Fromberger. All Rights Reserved.\n\n// Package otpauth handles the URL format used to spe"
  },
  {
    "path": "vendor/github.com/creachadair/wirepb/LICENSE",
    "chars": 1421,
    "preview": "Copyright (C) 2024, Michael J. Fromberger\nAll Rights Reserved.\n\nRedistribution and use in source and binary forms, with "
  },
  {
    "path": "vendor/github.com/creachadair/wirepb/README.md",
    "chars": 489,
    "preview": "# wirepb\n\n[![GoDoc](https://img.shields.io/static/v1?label=godoc&message=reference&color=white)](https://pkg.go.dev/gith"
  },
  {
    "path": "vendor/github.com/creachadair/wirepb/enums.go",
    "chars": 1113,
    "preview": "// Code generated by enumgen. DO NOT EDIT.\n\npackage wirepb\n\n// Type is a protobuf wire type code.\ntype Type struct{ _Typ"
  },
  {
    "path": "vendor/github.com/creachadair/wirepb/wirepb.go",
    "chars": 3267,
    "preview": "// Package wirepb implements a rudimentary decoder for the protocol buffers wire format.\n//\n// See: https://protobuf.dev"
  },
  {
    "path": "vendor/golang.org/x/sys/LICENSE",
    "chars": 1453,
    "preview": "Copyright 2009 The Go Authors.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are per"
  },
  {
    "path": "vendor/golang.org/x/sys/PATENTS",
    "chars": 1303,
    "preview": "Additional IP Rights Grant (Patents)\n\n\"This implementation\" means the copyrightable works distributed by\nGoogle as part "
  },
  {
    "path": "vendor/golang.org/x/sys/plan9/asm.s",
    "chars": 213,
    "preview": "// Copyright 2014 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/plan9/asm_plan9_386.s",
    "chars": 690,
    "preview": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/plan9/asm_plan9_amd64.s",
    "chars": 692,
    "preview": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/plan9/asm_plan9_arm.s",
    "chars": 634,
    "preview": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/plan9/const_plan9.go",
    "chars": 1004,
    "preview": "package plan9\n\n// Plan 9 Constants\n\n// Open modes\nconst (\n\tO_RDONLY  = 0\n\tO_WRONLY  = 1\n\tO_RDWR    = 2\n\tO_TRUNC   = 16\n\t"
  },
  {
    "path": "vendor/golang.org/x/sys/plan9/dir_plan9.go",
    "chars": 5734,
    "preview": "// Copyright 2012 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/plan9/env_plan9.go",
    "chars": 555,
    "preview": "// Copyright 2011 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/plan9/errors_plan9.go",
    "chars": 1565,
    "preview": "// Copyright 2011 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/plan9/mkall.sh",
    "chars": 4535,
    "preview": "#!/usr/bin/env bash\n# Copyright 2009 The Go Authors. All rights reserved.\n# Use of this source code is governed by a BSD"
  },
  {
    "path": "vendor/golang.org/x/sys/plan9/mkerrors.sh",
    "chars": 6068,
    "preview": "#!/usr/bin/env bash\n# Copyright 2009 The Go Authors. All rights reserved.\n# Use of this source code is governed by a BSD"
  },
  {
    "path": "vendor/golang.org/x/sys/plan9/mksysnum_plan9.sh",
    "chars": 459,
    "preview": "#!/bin/sh\n# Copyright 2009 The Go Authors. All rights reserved.\n# Use of this source code is governed by a BSD-style\n# l"
  },
  {
    "path": "vendor/golang.org/x/sys/plan9/pwd_go15_plan9.go",
    "chars": 373,
    "preview": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/plan9/pwd_plan9.go",
    "chars": 413,
    "preview": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/plan9/race.go",
    "chars": 587,
    "preview": "// Copyright 2012 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/plan9/race0.go",
    "chars": 450,
    "preview": "// Copyright 2012 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/plan9/str.go",
    "chars": 500,
    "preview": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/plan9/syscall.go",
    "chars": 3361,
    "preview": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/plan9/syscall_plan9.go",
    "chars": 7216,
    "preview": "// Copyright 2011 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/plan9/zsyscall_plan9_386.go",
    "chars": 6340,
    "preview": "// go run mksyscall.go -l32 -plan9 -tags plan9,386 syscall_plan9.go\n// Code generated by the command above; see README.m"
  },
  {
    "path": "vendor/golang.org/x/sys/plan9/zsyscall_plan9_amd64.go",
    "chars": 6344,
    "preview": "// go run mksyscall.go -l32 -plan9 -tags plan9,amd64 syscall_plan9.go\n// Code generated by the command above; see README"
  },
  {
    "path": "vendor/golang.org/x/sys/plan9/zsyscall_plan9_arm.go",
    "chars": 6340,
    "preview": "// go run mksyscall.go -l32 -plan9 -tags plan9,arm syscall_plan9.go\n// Code generated by the command above; see README.m"
  },
  {
    "path": "vendor/golang.org/x/sys/plan9/zsysnum_plan9.go",
    "chars": 1057,
    "preview": "// mksysnum_plan9.sh /opt/plan9/sys/src/libc/9syscall/sys.h\n// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT\n\npack"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/.gitignore",
    "chars": 16,
    "preview": "_obj/\nunix.test\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/README.md",
    "chars": 8686,
    "preview": "# Building `sys/unix`\n\nThe sys/unix package provides access to the raw system call interface of the\nunderlying operating"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/affinity_linux.go",
    "chars": 1927,
    "preview": "// Copyright 2018 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/aliases.go",
    "chars": 385,
    "preview": "// Copyright 2018 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/asm_aix_ppc64.s",
    "chars": 403,
    "preview": "// Copyright 2018 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/asm_bsd_386.s",
    "chars": 686,
    "preview": "// Copyright 2021 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/asm_bsd_amd64.s",
    "chars": 712,
    "preview": "// Copyright 2021 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/asm_bsd_arm.s",
    "chars": 676,
    "preview": "// Copyright 2021 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/asm_bsd_arm64.s",
    "chars": 699,
    "preview": "// Copyright 2021 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/asm_bsd_ppc64.s",
    "chars": 706,
    "preview": "// Copyright 2022 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/asm_bsd_riscv64.s",
    "chars": 701,
    "preview": "// Copyright 2021 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/asm_linux_386.s",
    "chars": 1452,
    "preview": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/asm_linux_amd64.s",
    "chars": 1190,
    "preview": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/asm_linux_arm.s",
    "chars": 1122,
    "preview": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/asm_linux_arm64.s",
    "chars": 1090,
    "preview": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/asm_linux_loong64.s",
    "chars": 1171,
    "preview": "// Copyright 2022 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/asm_linux_mips64x.s",
    "chars": 1152,
    "preview": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/asm_linux_mipsx.s",
    "chars": 1151,
    "preview": "// Copyright 2016 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/asm_linux_ppc64x.s",
    "chars": 905,
    "preview": "// Copyright 2014 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/asm_linux_riscv64.s",
    "chars": 1029,
    "preview": "// Copyright 2019 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/asm_linux_s390x.s",
    "chars": 1130,
    "preview": "// Copyright 2016 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/asm_openbsd_mips64.s",
    "chars": 667,
    "preview": "// Copyright 2019 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/asm_solaris_amd64.s",
    "chars": 419,
    "preview": "// Copyright 2014 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/asm_zos_s390x.s",
    "chars": 11420,
    "preview": "// Copyright 2020 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/auxv.go",
    "chars": 1020,
    "preview": "// Copyright 2025 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/auxv_unsupported.go",
    "chars": 370,
    "preview": "// Copyright 2025 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/bluetooth_linux.go",
    "chars": 680,
    "preview": "// Copyright 2016 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/bpxsvc_zos.go",
    "chars": 20419,
    "preview": "// Copyright 2024 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/bpxsvc_zos.s",
    "chars": 8331,
    "preview": "// Copyright 2024 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/cap_freebsd.go",
    "chars": 5131,
    "preview": "// Copyright 2017 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/constants.go",
    "chars": 318,
    "preview": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/dev_aix_ppc.go",
    "chars": 739,
    "preview": "// Copyright 2018 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/dev_aix_ppc64.go",
    "chars": 858,
    "preview": "// Copyright 2018 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/dev_darwin.go",
    "chars": 747,
    "preview": "// Copyright 2017 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/dev_dragonfly.go",
    "chars": 1030,
    "preview": "// Copyright 2017 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/dev_freebsd.go",
    "chars": 1013,
    "preview": "// Copyright 2017 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/dev_linux.go",
    "chars": 1579,
    "preview": "// Copyright 2017 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/dev_netbsd.go",
    "chars": 913,
    "preview": "// Copyright 2017 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/dev_openbsd.go",
    "chars": 918,
    "preview": "// Copyright 2017 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/dev_zos.go",
    "chars": 830,
    "preview": "// Copyright 2020 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/dirent.go",
    "chars": 3085,
    "preview": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/endian_big.go",
    "chars": 330,
    "preview": "// Copyright 2016 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/endian_little.go",
    "chars": 358,
    "preview": "// Copyright 2016 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/env_unix.go",
    "chars": 645,
    "preview": "// Copyright 2010 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/fcntl.go",
    "chars": 1075,
    "preview": "// Copyright 2014 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/fcntl_darwin.go",
    "chars": 806,
    "preview": "// Copyright 2019 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/fcntl_linux_32bit.go",
    "chars": 436,
    "preview": "// Copyright 2014 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/fdset.go",
    "chars": 781,
    "preview": "// Copyright 2019 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/gccgo.go",
    "chars": 1952,
    "preview": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/gccgo_c.c",
    "chars": 1526,
    "preview": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/gccgo_linux_amd64.go",
    "chars": 436,
    "preview": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/ifreq_linux.go",
    "chars": 4371,
    "preview": "// Copyright 2021 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/ioctl_linux.go",
    "chars": 11577,
    "preview": "// Copyright 2021 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/ioctl_signed.go",
    "chars": 2251,
    "preview": "// Copyright 2018 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/ioctl_unsigned.go",
    "chars": 2312,
    "preview": "// Copyright 2018 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/ioctl_zos.go",
    "chars": 2081,
    "preview": "// Copyright 2020 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/mkall.sh",
    "chars": 8304,
    "preview": "#!/usr/bin/env bash\n# Copyright 2009 The Go Authors. All rights reserved.\n# Use of this source code is governed by a BSD"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/mkerrors.sh",
    "chars": 21018,
    "preview": "#!/usr/bin/env bash\n# Copyright 2009 The Go Authors. All rights reserved.\n# Use of this source code is governed by a BSD"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/mmap_nomremap.go",
    "chars": 343,
    "preview": "// Copyright 2023 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/mremap.go",
    "chars": 1659,
    "preview": "// Copyright 2023 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/pagesize_unix.go",
    "chars": 396,
    "preview": "// Copyright 2017 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/pledge_openbsd.go",
    "chars": 2385,
    "preview": "// Copyright 2016 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/ptrace_darwin.go",
    "chars": 315,
    "preview": "// Copyright 2020 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/ptrace_ios.go",
    "chars": 284,
    "preview": "// Copyright 2020 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/race.go",
    "chars": 629,
    "preview": "// Copyright 2012 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/race0.go",
    "chars": 553,
    "preview": "// Copyright 2012 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/readdirent_getdents.go",
    "chars": 401,
    "preview": "// Copyright 2019 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/readdirent_getdirentries.go",
    "chars": 705,
    "preview": "// Copyright 2019 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/sockcmsg_dragonfly.go",
    "chars": 544,
    "preview": "// Copyright 2019 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/sockcmsg_linux.go",
    "chars": 2658,
    "preview": "// Copyright 2011 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/sockcmsg_unix.go",
    "chars": 3214,
    "preview": "// Copyright 2011 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/sockcmsg_unix_other.go",
    "chars": 1233,
    "preview": "// Copyright 2019 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/sockcmsg_zos.go",
    "chars": 1761,
    "preview": "// Copyright 2024 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/symaddr_zos_s390x.s",
    "chars": 1575,
    "preview": "// Copyright 2024 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall.go",
    "chars": 2882,
    "preview": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_aix.go",
    "chars": 16480,
    "preview": "// Copyright 2018 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_aix_ppc.go",
    "chars": 1304,
    "preview": "// Copyright 2018 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_aix_ppc64.go",
    "chars": 1950,
    "preview": "// Copyright 2018 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_bsd.go",
    "chars": 15321,
    "preview": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_darwin.go",
    "chars": 23121,
    "preview": "// Copyright 2009,2010 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// lic"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_darwin_amd64.go",
    "chars": 1530,
    "preview": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_darwin_arm64.go",
    "chars": 1447,
    "preview": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_darwin_libSystem.go",
    "chars": 1225,
    "preview": "// Copyright 2018 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_dragonfly.go",
    "chars": 11684,
    "preview": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_dragonfly_amd64.go",
    "chars": 1276,
    "preview": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_freebsd.go",
    "chars": 15943,
    "preview": "// Copyright 2009,2010 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// lic"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_freebsd_386.go",
    "chars": 1518,
    "preview": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_freebsd_amd64.go",
    "chars": 1471,
    "preview": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_freebsd_arm.go",
    "chars": 1378,
    "preview": "// Copyright 2012 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_freebsd_arm64.go",
    "chars": 1345,
    "preview": "// Copyright 2018 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_freebsd_riscv64.go",
    "chars": 1347,
    "preview": "// Copyright 2022 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_hurd.go",
    "chars": 651,
    "preview": "// Copyright 2022 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_hurd_386.go",
    "chars": 447,
    "preview": "// Copyright 2022 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_illumos.go",
    "chars": 1805,
    "preview": "// Copyright 2021 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_linux.go",
    "chars": 81842,
    "preview": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_linux_386.go",
    "chars": 9098,
    "preview": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_linux_alarm.go",
    "chars": 440,
    "preview": "// Copyright 2022 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_linux_amd64.go",
    "chars": 5411,
    "preview": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_linux_amd64_gc.go",
    "chars": 290,
    "preview": "// Copyright 2016 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_linux_arm.go",
    "chars": 7105,
    "preview": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_linux_arm64.go",
    "chars": 6151,
    "preview": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_linux_gc.go",
    "chars": 495,
    "preview": "// Copyright 2018 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_linux_gc_386.go",
    "chars": 585,
    "preview": "// Copyright 2018 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_linux_gc_arm.go",
    "chars": 411,
    "preview": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_linux_gccgo_386.go",
    "chars": 986,
    "preview": "// Copyright 2018 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_linux_gccgo_arm.go",
    "chars": 596,
    "preview": "// Copyright 2018 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_linux_loong64.go",
    "chars": 6857,
    "preview": "// Copyright 2022 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go",
    "chars": 5966,
    "preview": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go",
    "chars": 5951,
    "preview": "// Copyright 2016 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_linux_ppc.go",
    "chars": 7016,
    "preview": "// Copyright 2021 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go",
    "chars": 5097,
    "preview": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_linux_riscv64.go",
    "chars": 6309,
    "preview": "// Copyright 2018 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_linux_s390x.go",
    "chars": 9509,
    "preview": "// Copyright 2016 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go",
    "chars": 4472,
    "preview": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_netbsd.go",
    "chars": 12645,
    "preview": "// Copyright 2009,2010 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// lic"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_netbsd_386.go",
    "chars": 819,
    "preview": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_netbsd_amd64.go",
    "chars": 814,
    "preview": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_netbsd_arm.go",
    "chars": 819,
    "preview": "// Copyright 2013 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_netbsd_arm64.go",
    "chars": 814,
    "preview": "// Copyright 2019 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_openbsd.go",
    "chars": 11384,
    "preview": "// Copyright 2009,2010 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// lic"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_openbsd_386.go",
    "chars": 1000,
    "preview": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_openbsd_amd64.go",
    "chars": 990,
    "preview": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_openbsd_arm.go",
    "chars": 1000,
    "preview": "// Copyright 2017 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_openbsd_arm64.go",
    "chars": 990,
    "preview": "// Copyright 2019 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_openbsd_libc.go",
    "chars": 1128,
    "preview": "// Copyright 2022 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_openbsd_mips64.go",
    "chars": 955,
    "preview": "// Copyright 2019 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_openbsd_ppc64.go",
    "chars": 990,
    "preview": "// Copyright 2019 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_openbsd_riscv64.go",
    "chars": 994,
    "preview": "// Copyright 2019 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_solaris.go",
    "chars": 33999,
    "preview": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_solaris_amd64.go",
    "chars": 593,
    "preview": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_unix.go",
    "chars": 17200,
    "preview": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_unix_gc.go",
    "chars": 640,
    "preview": "// Copyright 2016 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_unix_gc_ppc64x.go",
    "chars": 786,
    "preview": "// Copyright 2018 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_zos_s390x.go",
    "chars": 88760,
    "preview": "// Copyright 2020 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/sysvshm_linux.go",
    "chars": 521,
    "preview": "// Copyright 2021 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/sysvshm_unix.go",
    "chars": 1456,
    "preview": "// Copyright 2021 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/sysvshm_unix_other.go",
    "chars": 407,
    "preview": "// Copyright 2021 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/timestruct.go",
    "chars": 2254,
    "preview": "// Copyright 2017 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/unveil_openbsd.go",
    "chars": 1217,
    "preview": "// Copyright 2018 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/vgetrandom_linux.go",
    "chars": 345,
    "preview": "// Copyright 2024 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/vgetrandom_unsupported.go",
    "chars": 292,
    "preview": "// Copyright 2024 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/xattr_bsd.go",
    "chars": 5793,
    "preview": "// Copyright 2018 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zerrors_aix_ppc.go",
    "chars": 53675,
    "preview": "// mkerrors.sh -maix32\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n//go:build ppc && aix\n\n// Cr"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zerrors_aix_ppc64.go",
    "chars": 53932,
    "preview": "// mkerrors.sh -maix64\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n//go:build ppc64 && aix\n\n// "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go",
    "chars": 90132,
    "preview": "// mkerrors.sh -m64\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n//go:build amd64 && darwin\n\n// "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go",
    "chars": 90132,
    "preview": "// mkerrors.sh -m64\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n//go:build arm64 && darwin\n\n// "
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zerrors_dragonfly_amd64.go",
    "chars": 72394,
    "preview": "// mkerrors.sh -m64\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n//go:build amd64 && dragonfly\n\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zerrors_freebsd_386.go",
    "chars": 81461,
    "preview": "// mkerrors.sh -m32\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n//go:build 386 && freebsd\n\n// C"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zerrors_freebsd_amd64.go",
    "chars": 81347,
    "preview": "// mkerrors.sh -m64\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n//go:build amd64 && freebsd\n\n//"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zerrors_freebsd_arm.go",
    "chars": 81090,
    "preview": "// mkerrors.sh\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n//go:build arm && freebsd\n\n// Code g"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zerrors_freebsd_arm64.go",
    "chars": 81119,
    "preview": "// mkerrors.sh -m64\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n//go:build arm64 && freebsd\n\n//"
  }
]

// ... and 208 more files (download for full content)

About this extraction

This page contains the full source code of the pcarrier/gauth GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 408 files (7.9 MB), approximately 2.1M tokens, and a symbol index with 96039 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!