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
================================================
[](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
[](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
[](https://pkg.go.dev/github.com/creachadair/wirepb)
[](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
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
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": "[](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[](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[](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.