typenative 0.1.2 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.gitattributes +1 -0
- package/.github/workflows/ci.yml +1 -1
- package/.github/workflows/npm-publish-github-packages.yml +1 -1
- package/CHANGELOG.md +247 -0
- package/CONTRIBUTION.md +1 -1
- package/README.md +30 -21
- package/bin/cli.js +3 -1
- package/bin/go/bridge.js +919 -0
- package/bin/go/convert.js +238 -0
- package/bin/go/metadata.js +211 -0
- package/bin/go/overrides.js +68 -0
- package/bin/go/stdlib.generated.js +175 -0
- package/bin/index.js +98 -6
- package/bin/main.js +4 -1
- package/bin/node/assert.js +344 -0
- package/bin/node/async_hooks.js +273 -0
- package/bin/node/buffer.js +765 -0
- package/bin/node/child_process.js +600 -0
- package/bin/node/cluster.js +1002 -0
- package/bin/node/console.js +121 -0
- package/bin/node/core.js +111 -0
- package/bin/node/crypto.js +414 -0
- package/bin/node/crypto_keys.js +2685 -0
- package/bin/node/dgram.js +388 -0
- package/bin/node/diagnostics_channel.js +534 -0
- package/bin/node/dns.js +635 -0
- package/bin/node/events.js +743 -0
- package/bin/node/fetch.js +737 -0
- package/bin/node/fs.js +998 -0
- package/bin/node/http.js +1500 -0
- package/bin/node/http2.js +688 -0
- package/bin/node/net.js +1143 -0
- package/bin/node/os.js +257 -0
- package/bin/node/path.js +758 -0
- package/bin/node/process.js +316 -0
- package/bin/node/punycode.js +195 -0
- package/bin/node/querystring.js +143 -0
- package/bin/node/readline.js +299 -0
- package/bin/node/registry.js +161 -0
- package/bin/node/sqlite.js +1142 -0
- package/bin/node/stream.js +1221 -0
- package/bin/node/stream_web.js +2259 -0
- package/bin/node/string_decoder.js +101 -0
- package/bin/node/system_extra.js +661 -0
- package/bin/node/test.js +1068 -0
- package/bin/node/timers.js +250 -0
- package/bin/node/tls.js +719 -0
- package/bin/node/url.js +861 -0
- package/bin/node/util.js +1311 -0
- package/bin/node/util_extra.js +599 -0
- package/bin/node/worker_threads.js +745 -0
- package/bin/node/zlib.js +263 -0
- package/bin/parse-native.js +3 -2
- package/bin/parse-node.js +18 -2
- package/bin/transpiler.js +3529 -597
- package/bin/version.js +2 -0
- package/conformance.md +724 -258
- package/govendor/github.com/ncruces/go-sqlite3/LICENSE +21 -0
- package/govendor/github.com/ncruces/go-sqlite3/README.md +121 -0
- package/govendor/github.com/ncruces/go-sqlite3/backup.go +132 -0
- package/govendor/github.com/ncruces/go-sqlite3/blob.go +266 -0
- package/govendor/github.com/ncruces/go-sqlite3/config.go +397 -0
- package/govendor/github.com/ncruces/go-sqlite3/conn.go +540 -0
- package/govendor/github.com/ncruces/go-sqlite3/conn_127.go +93 -0
- package/govendor/github.com/ncruces/go-sqlite3/const.go +436 -0
- package/govendor/github.com/ncruces/go-sqlite3/context.go +222 -0
- package/govendor/github.com/ncruces/go-sqlite3/error.go +182 -0
- package/govendor/github.com/ncruces/go-sqlite3/ext.go +153 -0
- package/govendor/github.com/ncruces/go-sqlite3/func.go +309 -0
- package/govendor/github.com/ncruces/go-sqlite3/go.mod +3 -0
- package/govendor/github.com/ncruces/go-sqlite3/internal/dotlk/dotlk.go +29 -0
- package/govendor/github.com/ncruces/go-sqlite3/internal/dotlk/dotlk_other.go +13 -0
- package/govendor/github.com/ncruces/go-sqlite3/internal/dotlk/dotlk_unix.go +57 -0
- package/govendor/github.com/ncruces/go-sqlite3/internal/errutil/error.go +41 -0
- package/govendor/github.com/ncruces/go-sqlite3/internal/sqlite3_wrap/alloc.go +128 -0
- package/govendor/github.com/ncruces/go-sqlite3/internal/sqlite3_wrap/const.go +122 -0
- package/govendor/github.com/ncruces/go-sqlite3/internal/sqlite3_wrap/error.go +77 -0
- package/govendor/github.com/ncruces/go-sqlite3/internal/sqlite3_wrap/mem.go +116 -0
- package/govendor/github.com/ncruces/go-sqlite3/internal/sqlite3_wrap/mem_other.go +34 -0
- package/govendor/github.com/ncruces/go-sqlite3/internal/sqlite3_wrap/mem_unix.go +87 -0
- package/govendor/github.com/ncruces/go-sqlite3/internal/sqlite3_wrap/mem_windows.go +149 -0
- package/govendor/github.com/ncruces/go-sqlite3/internal/sqlite3_wrap/mmap_unix.go +80 -0
- package/govendor/github.com/ncruces/go-sqlite3/internal/sqlite3_wrap/mmap_windows.go +129 -0
- package/govendor/github.com/ncruces/go-sqlite3/internal/sqlite3_wrap/sys_windows.go +60 -0
- package/govendor/github.com/ncruces/go-sqlite3/internal/sqlite3_wrap/wrap.go +82 -0
- package/govendor/github.com/ncruces/go-sqlite3/internal/sqlite3_wrap/wrap_sys.go +113 -0
- package/govendor/github.com/ncruces/go-sqlite3/internal/sqlite3_wrap/wrap_vfs.go +181 -0
- package/govendor/github.com/ncruces/go-sqlite3/internal/testenv/env.go +55 -0
- package/govendor/github.com/ncruces/go-sqlite3/internal/util/json.go +54 -0
- package/govendor/github.com/ncruces/go-sqlite3/internal/util/json_v2.go +54 -0
- package/govendor/github.com/ncruces/go-sqlite3/internal/util/math.go +29 -0
- package/govendor/github.com/ncruces/go-sqlite3/internal/util/page.go +5 -0
- package/govendor/github.com/ncruces/go-sqlite3/internal/util/parse.go +142 -0
- package/govendor/github.com/ncruces/go-sqlite3/internal/util/pointer.go +3 -0
- package/govendor/github.com/ncruces/go-sqlite3/internal/util/reflect.go +10 -0
- package/govendor/github.com/ncruces/go-sqlite3/json.go +100 -0
- package/govendor/github.com/ncruces/go-sqlite3/json_v2.go +116 -0
- package/govendor/github.com/ncruces/go-sqlite3/pointer.go +13 -0
- package/govendor/github.com/ncruces/go-sqlite3/quote.go +140 -0
- package/govendor/github.com/ncruces/go-sqlite3/stmt.go +692 -0
- package/govendor/github.com/ncruces/go-sqlite3/time.go +360 -0
- package/govendor/github.com/ncruces/go-sqlite3/txn.go +374 -0
- package/govendor/github.com/ncruces/go-sqlite3/value.go +212 -0
- package/govendor/github.com/ncruces/go-sqlite3/vfs/README.md +133 -0
- package/govendor/github.com/ncruces/go-sqlite3/vfs/api.go +239 -0
- package/govendor/github.com/ncruces/go-sqlite3/vfs/cksm.go +143 -0
- package/govendor/github.com/ncruces/go-sqlite3/vfs/const.go +256 -0
- package/govendor/github.com/ncruces/go-sqlite3/vfs/file.go +260 -0
- package/govendor/github.com/ncruces/go-sqlite3/vfs/filename.go +187 -0
- package/govendor/github.com/ncruces/go-sqlite3/vfs/lock.go +128 -0
- package/govendor/github.com/ncruces/go-sqlite3/vfs/lock_other.go +23 -0
- package/govendor/github.com/ncruces/go-sqlite3/vfs/map.go +63 -0
- package/govendor/github.com/ncruces/go-sqlite3/vfs/map_other.go +13 -0
- package/govendor/github.com/ncruces/go-sqlite3/vfs/os_bsd.go +110 -0
- package/govendor/github.com/ncruces/go-sqlite3/vfs/os_darwin.go +131 -0
- package/govendor/github.com/ncruces/go-sqlite3/vfs/os_dotlk.go +140 -0
- package/govendor/github.com/ncruces/go-sqlite3/vfs/os_f2fs_linux.go +56 -0
- package/govendor/github.com/ncruces/go-sqlite3/vfs/os_linux.go +117 -0
- package/govendor/github.com/ncruces/go-sqlite3/vfs/os_ofd.go +59 -0
- package/govendor/github.com/ncruces/go-sqlite3/vfs/os_std.go +50 -0
- package/govendor/github.com/ncruces/go-sqlite3/vfs/os_std_alloc.go +19 -0
- package/govendor/github.com/ncruces/go-sqlite3/vfs/os_std_atomic.go +9 -0
- package/govendor/github.com/ncruces/go-sqlite3/vfs/os_std_rw.go +13 -0
- package/govendor/github.com/ncruces/go-sqlite3/vfs/os_std_sync.go +9 -0
- package/govendor/github.com/ncruces/go-sqlite3/vfs/os_std_temp.go +16 -0
- package/govendor/github.com/ncruces/go-sqlite3/vfs/os_unix.go +108 -0
- package/govendor/github.com/ncruces/go-sqlite3/vfs/os_windows.go +180 -0
- package/govendor/github.com/ncruces/go-sqlite3/vfs/registry.go +48 -0
- package/govendor/github.com/ncruces/go-sqlite3/vfs/shm.go +26 -0
- package/govendor/github.com/ncruces/go-sqlite3/vfs/shm_bsd.go +258 -0
- package/govendor/github.com/ncruces/go-sqlite3/vfs/shm_copy.go +90 -0
- package/govendor/github.com/ncruces/go-sqlite3/vfs/shm_dotlk.go +168 -0
- package/govendor/github.com/ncruces/go-sqlite3/vfs/shm_memlk.go +52 -0
- package/govendor/github.com/ncruces/go-sqlite3/vfs/shm_ofd.go +185 -0
- package/govendor/github.com/ncruces/go-sqlite3/vfs/shm_other.go +21 -0
- package/govendor/github.com/ncruces/go-sqlite3/vfs/shm_windows.go +124 -0
- package/govendor/github.com/ncruces/go-sqlite3/vfs/vfs.go +455 -0
- package/govendor/github.com/ncruces/go-sqlite3/vtab.go +677 -0
- package/govendor/github.com/ncruces/go-sqlite3/wrap.go +48 -0
- package/govendor/github.com/ncruces/go-sqlite3-wasm/v6/LICENSE +18 -0
- package/govendor/github.com/ncruces/go-sqlite3-wasm/v6/README.md +11 -0
- package/govendor/github.com/ncruces/go-sqlite3-wasm/v6/go.mod +3 -0
- package/govendor/github.com/ncruces/go-sqlite3-wasm/v6/libc.go +215 -0
- package/govendor/github.com/ncruces/go-sqlite3-wasm/v6/sqlite3.dat +0 -0
- package/govendor/github.com/ncruces/go-sqlite3-wasm/v6/sqlite3.go +157903 -0
- package/govendor/github.com/ncruces/go-sqlite3-wasm/v6/tools.sh +38 -0
- package/govendor/github.com/ncruces/julianday/LICENSE +21 -0
- package/govendor/github.com/ncruces/julianday/README.md +9 -0
- package/govendor/github.com/ncruces/julianday/go.mod +3 -0
- package/govendor/github.com/ncruces/julianday/julianday.go +124 -0
- package/govendor/golang.org/x/sys/LICENSE +27 -0
- package/govendor/golang.org/x/sys/PATENTS +22 -0
- package/govendor/golang.org/x/sys/go.mod +3 -0
- package/govendor/golang.org/x/sys/unix/README.md +184 -0
- package/govendor/golang.org/x/sys/unix/affinity_linux.go +189 -0
- package/govendor/golang.org/x/sys/unix/aliases.go +13 -0
- package/govendor/golang.org/x/sys/unix/asm_aix_ppc64.s +17 -0
- package/govendor/golang.org/x/sys/unix/asm_bsd_386.s +27 -0
- package/govendor/golang.org/x/sys/unix/asm_bsd_amd64.s +27 -0
- package/govendor/golang.org/x/sys/unix/asm_bsd_arm.s +27 -0
- package/govendor/golang.org/x/sys/unix/asm_bsd_arm64.s +27 -0
- package/govendor/golang.org/x/sys/unix/asm_bsd_ppc64.s +29 -0
- package/govendor/golang.org/x/sys/unix/asm_bsd_riscv64.s +27 -0
- package/govendor/golang.org/x/sys/unix/asm_linux_386.s +65 -0
- package/govendor/golang.org/x/sys/unix/asm_linux_amd64.s +57 -0
- package/govendor/golang.org/x/sys/unix/asm_linux_arm.s +56 -0
- package/govendor/golang.org/x/sys/unix/asm_linux_arm64.s +50 -0
- package/govendor/golang.org/x/sys/unix/asm_linux_loong64.s +51 -0
- package/govendor/golang.org/x/sys/unix/asm_linux_mips64x.s +54 -0
- package/govendor/golang.org/x/sys/unix/asm_linux_mipsx.s +52 -0
- package/govendor/golang.org/x/sys/unix/asm_linux_ppc64x.s +42 -0
- package/govendor/golang.org/x/sys/unix/asm_linux_riscv64.s +47 -0
- package/govendor/golang.org/x/sys/unix/asm_linux_s390x.s +54 -0
- package/govendor/golang.org/x/sys/unix/asm_openbsd_mips64.s +29 -0
- package/govendor/golang.org/x/sys/unix/asm_solaris_amd64.s +17 -0
- package/govendor/golang.org/x/sys/unix/asm_zos_s390x.s +382 -0
- package/govendor/golang.org/x/sys/unix/auxv.go +36 -0
- package/govendor/golang.org/x/sys/unix/auxv_unsupported.go +13 -0
- package/govendor/golang.org/x/sys/unix/bluetooth_linux.go +36 -0
- package/govendor/golang.org/x/sys/unix/bpxsvc_zos.go +657 -0
- package/govendor/golang.org/x/sys/unix/bpxsvc_zos.s +192 -0
- package/govendor/golang.org/x/sys/unix/cap_freebsd.go +195 -0
- package/govendor/golang.org/x/sys/unix/constants.go +13 -0
- package/govendor/golang.org/x/sys/unix/dev_aix_ppc.go +26 -0
- package/govendor/golang.org/x/sys/unix/dev_aix_ppc64.go +28 -0
- package/govendor/golang.org/x/sys/unix/dev_darwin.go +24 -0
- package/govendor/golang.org/x/sys/unix/dev_dragonfly.go +30 -0
- package/govendor/golang.org/x/sys/unix/dev_freebsd.go +30 -0
- package/govendor/golang.org/x/sys/unix/dev_linux.go +42 -0
- package/govendor/golang.org/x/sys/unix/dev_netbsd.go +29 -0
- package/govendor/golang.org/x/sys/unix/dev_openbsd.go +29 -0
- package/govendor/golang.org/x/sys/unix/dev_zos.go +28 -0
- package/govendor/golang.org/x/sys/unix/dirent.go +102 -0
- package/govendor/golang.org/x/sys/unix/endian_big.go +9 -0
- package/govendor/golang.org/x/sys/unix/endian_little.go +9 -0
- package/govendor/golang.org/x/sys/unix/env_unix.go +31 -0
- package/govendor/golang.org/x/sys/unix/fcntl.go +36 -0
- package/govendor/golang.org/x/sys/unix/fcntl_darwin.go +24 -0
- package/govendor/golang.org/x/sys/unix/fcntl_linux_32bit.go +13 -0
- package/govendor/golang.org/x/sys/unix/fdset.go +27 -0
- package/govendor/golang.org/x/sys/unix/gccgo.go +59 -0
- package/govendor/golang.org/x/sys/unix/gccgo_c.c +44 -0
- package/govendor/golang.org/x/sys/unix/gccgo_linux_amd64.go +20 -0
- package/govendor/golang.org/x/sys/unix/ifreq_linux.go +145 -0
- package/govendor/golang.org/x/sys/unix/ioctl_linux.go +341 -0
- package/govendor/golang.org/x/sys/unix/ioctl_signed.go +74 -0
- package/govendor/golang.org/x/sys/unix/ioctl_unsigned.go +74 -0
- package/govendor/golang.org/x/sys/unix/ioctl_zos.go +71 -0
- package/govendor/golang.org/x/sys/unix/mkall.sh +250 -0
- package/govendor/golang.org/x/sys/unix/mkerrors.sh +807 -0
- package/govendor/golang.org/x/sys/unix/mmap_nomremap.go +13 -0
- package/govendor/golang.org/x/sys/unix/mremap.go +57 -0
- package/govendor/golang.org/x/sys/unix/pagesize_unix.go +15 -0
- package/govendor/golang.org/x/sys/unix/pledge_openbsd.go +111 -0
- package/govendor/golang.org/x/sys/unix/ptrace_darwin.go +11 -0
- package/govendor/golang.org/x/sys/unix/ptrace_ios.go +11 -0
- package/govendor/golang.org/x/sys/unix/race.go +30 -0
- package/govendor/golang.org/x/sys/unix/race0.go +25 -0
- package/govendor/golang.org/x/sys/unix/readdirent_getdents.go +12 -0
- package/govendor/golang.org/x/sys/unix/readdirent_getdirentries.go +19 -0
- package/govendor/golang.org/x/sys/unix/readv_unix.go +103 -0
- package/govendor/golang.org/x/sys/unix/sockcmsg_dragonfly.go +16 -0
- package/govendor/golang.org/x/sys/unix/sockcmsg_linux.go +85 -0
- package/govendor/golang.org/x/sys/unix/sockcmsg_unix.go +106 -0
- package/govendor/golang.org/x/sys/unix/sockcmsg_unix_other.go +46 -0
- package/govendor/golang.org/x/sys/unix/sockcmsg_zos.go +58 -0
- package/govendor/golang.org/x/sys/unix/symaddr_zos_s390x.s +75 -0
- package/govendor/golang.org/x/sys/unix/syscall.go +86 -0
- package/govendor/golang.org/x/sys/unix/syscall_aix.go +582 -0
- package/govendor/golang.org/x/sys/unix/syscall_aix_ppc.go +52 -0
- package/govendor/golang.org/x/sys/unix/syscall_aix_ppc64.go +83 -0
- package/govendor/golang.org/x/sys/unix/syscall_bsd.go +609 -0
- package/govendor/golang.org/x/sys/unix/syscall_darwin.go +711 -0
- package/govendor/golang.org/x/sys/unix/syscall_darwin_amd64.go +50 -0
- package/govendor/golang.org/x/sys/unix/syscall_darwin_arm64.go +50 -0
- package/govendor/golang.org/x/sys/unix/syscall_darwin_libSystem.go +26 -0
- package/govendor/golang.org/x/sys/unix/syscall_dragonfly.go +359 -0
- package/govendor/golang.org/x/sys/unix/syscall_dragonfly_amd64.go +56 -0
- package/govendor/golang.org/x/sys/unix/syscall_freebsd.go +455 -0
- package/govendor/golang.org/x/sys/unix/syscall_freebsd_386.go +64 -0
- package/govendor/golang.org/x/sys/unix/syscall_freebsd_amd64.go +64 -0
- package/govendor/golang.org/x/sys/unix/syscall_freebsd_arm.go +60 -0
- package/govendor/golang.org/x/sys/unix/syscall_freebsd_arm64.go +60 -0
- package/govendor/golang.org/x/sys/unix/syscall_freebsd_riscv64.go +60 -0
- package/govendor/golang.org/x/sys/unix/syscall_hurd.go +30 -0
- package/govendor/golang.org/x/sys/unix/syscall_hurd_386.go +28 -0
- package/govendor/golang.org/x/sys/unix/syscall_illumos.go +78 -0
- package/govendor/golang.org/x/sys/unix/syscall_linux.go +2574 -0
- package/govendor/golang.org/x/sys/unix/syscall_linux_386.go +313 -0
- package/govendor/golang.org/x/sys/unix/syscall_linux_alarm.go +12 -0
- package/govendor/golang.org/x/sys/unix/syscall_linux_amd64.go +144 -0
- package/govendor/golang.org/x/sys/unix/syscall_linux_amd64_gc.go +12 -0
- package/govendor/golang.org/x/sys/unix/syscall_linux_arm.go +218 -0
- package/govendor/golang.org/x/sys/unix/syscall_linux_arm64.go +188 -0
- package/govendor/golang.org/x/sys/unix/syscall_linux_gc.go +14 -0
- package/govendor/golang.org/x/sys/unix/syscall_linux_gc_386.go +16 -0
- package/govendor/golang.org/x/sys/unix/syscall_linux_gc_arm.go +13 -0
- package/govendor/golang.org/x/sys/unix/syscall_linux_gccgo_386.go +30 -0
- package/govendor/golang.org/x/sys/unix/syscall_linux_gccgo_arm.go +20 -0
- package/govendor/golang.org/x/sys/unix/syscall_linux_loong64.go +220 -0
- package/govendor/golang.org/x/sys/unix/syscall_linux_mips64x.go +187 -0
- package/govendor/golang.org/x/sys/unix/syscall_linux_mipsx.go +173 -0
- package/govendor/golang.org/x/sys/unix/syscall_linux_ppc.go +203 -0
- package/govendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go +114 -0
- package/govendor/golang.org/x/sys/unix/syscall_linux_riscv64.go +193 -0
- package/govendor/golang.org/x/sys/unix/syscall_linux_s390x.go +295 -0
- package/govendor/golang.org/x/sys/unix/syscall_linux_sparc64.go +111 -0
- package/govendor/golang.org/x/sys/unix/syscall_netbsd.go +388 -0
- package/govendor/golang.org/x/sys/unix/syscall_netbsd_386.go +37 -0
- package/govendor/golang.org/x/sys/unix/syscall_netbsd_amd64.go +37 -0
- package/govendor/golang.org/x/sys/unix/syscall_netbsd_arm.go +37 -0
- package/govendor/golang.org/x/sys/unix/syscall_netbsd_arm64.go +37 -0
- package/govendor/golang.org/x/sys/unix/syscall_openbsd.go +346 -0
- package/govendor/golang.org/x/sys/unix/syscall_openbsd_386.go +41 -0
- package/govendor/golang.org/x/sys/unix/syscall_openbsd_amd64.go +41 -0
- package/govendor/golang.org/x/sys/unix/syscall_openbsd_arm.go +41 -0
- package/govendor/golang.org/x/sys/unix/syscall_openbsd_arm64.go +41 -0
- package/govendor/golang.org/x/sys/unix/syscall_openbsd_libc.go +26 -0
- package/govendor/golang.org/x/sys/unix/syscall_openbsd_mips64.go +39 -0
- package/govendor/golang.org/x/sys/unix/syscall_openbsd_ppc64.go +41 -0
- package/govendor/golang.org/x/sys/unix/syscall_openbsd_riscv64.go +41 -0
- package/govendor/golang.org/x/sys/unix/syscall_solaris.go +1183 -0
- package/govendor/golang.org/x/sys/unix/syscall_solaris_amd64.go +27 -0
- package/govendor/golang.org/x/sys/unix/syscall_unix.go +619 -0
- package/govendor/golang.org/x/sys/unix/syscall_unix_gc.go +14 -0
- package/govendor/golang.org/x/sys/unix/syscall_unix_gc_ppc64x.go +22 -0
- package/govendor/golang.org/x/sys/unix/syscall_zos_s390x.go +3213 -0
- package/govendor/golang.org/x/sys/unix/sysvshm_linux.go +20 -0
- package/govendor/golang.org/x/sys/unix/sysvshm_unix.go +51 -0
- package/govendor/golang.org/x/sys/unix/sysvshm_unix_other.go +13 -0
- package/govendor/golang.org/x/sys/unix/timestruct.go +76 -0
- package/govendor/golang.org/x/sys/unix/unveil_openbsd.go +51 -0
- package/govendor/golang.org/x/sys/unix/vgetrandom_linux.go +13 -0
- package/govendor/golang.org/x/sys/unix/vgetrandom_unsupported.go +11 -0
- package/govendor/golang.org/x/sys/unix/xattr_bsd.go +280 -0
- package/govendor/golang.org/x/sys/unix/zerrors_aix_ppc.go +1384 -0
- package/govendor/golang.org/x/sys/unix/zerrors_aix_ppc64.go +1385 -0
- package/govendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go +1922 -0
- package/govendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go +1922 -0
- package/govendor/golang.org/x/sys/unix/zerrors_dragonfly_amd64.go +1737 -0
- package/govendor/golang.org/x/sys/unix/zerrors_freebsd_386.go +2042 -0
- package/govendor/golang.org/x/sys/unix/zerrors_freebsd_amd64.go +2039 -0
- package/govendor/golang.org/x/sys/unix/zerrors_freebsd_arm.go +2033 -0
- package/govendor/golang.org/x/sys/unix/zerrors_freebsd_arm64.go +2033 -0
- package/govendor/golang.org/x/sys/unix/zerrors_freebsd_riscv64.go +2147 -0
- package/govendor/golang.org/x/sys/unix/zerrors_linux.go +4209 -0
- package/govendor/golang.org/x/sys/unix/zerrors_linux_386.go +882 -0
- package/govendor/golang.org/x/sys/unix/zerrors_linux_amd64.go +882 -0
- package/govendor/golang.org/x/sys/unix/zerrors_linux_arm.go +887 -0
- package/govendor/golang.org/x/sys/unix/zerrors_linux_arm64.go +884 -0
- package/govendor/golang.org/x/sys/unix/zerrors_linux_loong64.go +874 -0
- package/govendor/golang.org/x/sys/unix/zerrors_linux_mips.go +888 -0
- package/govendor/golang.org/x/sys/unix/zerrors_linux_mips64.go +888 -0
- package/govendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go +888 -0
- package/govendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go +888 -0
- package/govendor/golang.org/x/sys/unix/zerrors_linux_ppc.go +940 -0
- package/govendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go +944 -0
- package/govendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go +944 -0
- package/govendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go +884 -0
- package/govendor/golang.org/x/sys/unix/zerrors_linux_s390x.go +943 -0
- package/govendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go +992 -0
- package/govendor/golang.org/x/sys/unix/zerrors_netbsd_386.go +1779 -0
- package/govendor/golang.org/x/sys/unix/zerrors_netbsd_amd64.go +1769 -0
- package/govendor/golang.org/x/sys/unix/zerrors_netbsd_arm.go +1758 -0
- package/govendor/golang.org/x/sys/unix/zerrors_netbsd_arm64.go +1769 -0
- package/govendor/golang.org/x/sys/unix/zerrors_openbsd_386.go +1905 -0
- package/govendor/golang.org/x/sys/unix/zerrors_openbsd_amd64.go +1905 -0
- package/govendor/golang.org/x/sys/unix/zerrors_openbsd_arm.go +1905 -0
- package/govendor/golang.org/x/sys/unix/zerrors_openbsd_arm64.go +1905 -0
- package/govendor/golang.org/x/sys/unix/zerrors_openbsd_mips64.go +1905 -0
- package/govendor/golang.org/x/sys/unix/zerrors_openbsd_ppc64.go +1904 -0
- package/govendor/golang.org/x/sys/unix/zerrors_openbsd_riscv64.go +1903 -0
- package/govendor/golang.org/x/sys/unix/zerrors_solaris_amd64.go +1556 -0
- package/govendor/golang.org/x/sys/unix/zerrors_zos_s390x.go +990 -0
- package/govendor/golang.org/x/sys/unix/zptrace_armnn_linux.go +40 -0
- package/govendor/golang.org/x/sys/unix/zptrace_linux_arm64.go +17 -0
- package/govendor/golang.org/x/sys/unix/zptrace_mipsnn_linux.go +49 -0
- package/govendor/golang.org/x/sys/unix/zptrace_mipsnnle_linux.go +49 -0
- package/govendor/golang.org/x/sys/unix/zptrace_x86_linux.go +79 -0
- package/govendor/golang.org/x/sys/unix/zsymaddr_zos_s390x.s +364 -0
- package/govendor/golang.org/x/sys/unix/zsyscall_aix_ppc.go +1461 -0
- package/govendor/golang.org/x/sys/unix/zsyscall_aix_ppc64.go +1420 -0
- package/govendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gc.go +1188 -0
- package/govendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gccgo.go +1069 -0
- package/govendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go +2728 -0
- package/govendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s +799 -0
- package/govendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go +2728 -0
- package/govendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.s +799 -0
- package/govendor/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go +1666 -0
- package/govendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go +1886 -0
- package/govendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go +1886 -0
- package/govendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go +1886 -0
- package/govendor/golang.org/x/sys/unix/zsyscall_freebsd_arm64.go +1886 -0
- package/govendor/golang.org/x/sys/unix/zsyscall_freebsd_riscv64.go +1886 -0
- package/govendor/golang.org/x/sys/unix/zsyscall_illumos_amd64.go +101 -0
- package/govendor/golang.org/x/sys/unix/zsyscall_linux.go +2267 -0
- package/govendor/golang.org/x/sys/unix/zsyscall_linux_386.go +469 -0
- package/govendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go +636 -0
- package/govendor/golang.org/x/sys/unix/zsyscall_linux_arm.go +584 -0
- package/govendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go +535 -0
- package/govendor/golang.org/x/sys/unix/zsyscall_linux_loong64.go +469 -0
- package/govendor/golang.org/x/sys/unix/zsyscall_linux_mips.go +636 -0
- package/govendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go +630 -0
- package/govendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go +619 -0
- package/govendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go +636 -0
- package/govendor/golang.org/x/sys/unix/zsyscall_linux_ppc.go +641 -0
- package/govendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go +687 -0
- package/govendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go +687 -0
- package/govendor/golang.org/x/sys/unix/zsyscall_linux_riscv64.go +531 -0
- package/govendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go +478 -0
- package/govendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go +631 -0
- package/govendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go +1848 -0
- package/govendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go +1848 -0
- package/govendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go +1848 -0
- package/govendor/golang.org/x/sys/unix/zsyscall_netbsd_arm64.go +1848 -0
- package/govendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go +2407 -0
- package/govendor/golang.org/x/sys/unix/zsyscall_openbsd_386.s +719 -0
- package/govendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go +2407 -0
- package/govendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.s +719 -0
- package/govendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go +2407 -0
- package/govendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.s +719 -0
- package/govendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.go +2407 -0
- package/govendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.s +719 -0
- package/govendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.go +2407 -0
- package/govendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.s +719 -0
- package/govendor/golang.org/x/sys/unix/zsyscall_openbsd_ppc64.go +2407 -0
- package/govendor/golang.org/x/sys/unix/zsyscall_openbsd_ppc64.s +862 -0
- package/govendor/golang.org/x/sys/unix/zsyscall_openbsd_riscv64.go +2407 -0
- package/govendor/golang.org/x/sys/unix/zsyscall_openbsd_riscv64.s +719 -0
- package/govendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go +2217 -0
- package/govendor/golang.org/x/sys/unix/zsyscall_zos_s390x.go +3458 -0
- package/govendor/golang.org/x/sys/unix/zsysctl_openbsd_386.go +280 -0
- package/govendor/golang.org/x/sys/unix/zsysctl_openbsd_amd64.go +280 -0
- package/govendor/golang.org/x/sys/unix/zsysctl_openbsd_arm.go +280 -0
- package/govendor/golang.org/x/sys/unix/zsysctl_openbsd_arm64.go +280 -0
- package/govendor/golang.org/x/sys/unix/zsysctl_openbsd_mips64.go +280 -0
- package/govendor/golang.org/x/sys/unix/zsysctl_openbsd_ppc64.go +280 -0
- package/govendor/golang.org/x/sys/unix/zsysctl_openbsd_riscv64.go +281 -0
- package/govendor/golang.org/x/sys/unix/zsysnum_darwin_amd64.go +439 -0
- package/govendor/golang.org/x/sys/unix/zsysnum_darwin_arm64.go +437 -0
- package/govendor/golang.org/x/sys/unix/zsysnum_dragonfly_amd64.go +316 -0
- package/govendor/golang.org/x/sys/unix/zsysnum_freebsd_386.go +393 -0
- package/govendor/golang.org/x/sys/unix/zsysnum_freebsd_amd64.go +393 -0
- package/govendor/golang.org/x/sys/unix/zsysnum_freebsd_arm.go +393 -0
- package/govendor/golang.org/x/sys/unix/zsysnum_freebsd_arm64.go +393 -0
- package/govendor/golang.org/x/sys/unix/zsysnum_freebsd_riscv64.go +393 -0
- package/govendor/golang.org/x/sys/unix/zsysnum_linux_386.go +470 -0
- package/govendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go +394 -0
- package/govendor/golang.org/x/sys/unix/zsysnum_linux_arm.go +434 -0
- package/govendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go +337 -0
- package/govendor/golang.org/x/sys/unix/zsysnum_linux_loong64.go +334 -0
- package/govendor/golang.org/x/sys/unix/zsysnum_linux_mips.go +454 -0
- package/govendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go +384 -0
- package/govendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go +384 -0
- package/govendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go +454 -0
- package/govendor/golang.org/x/sys/unix/zsysnum_linux_ppc.go +461 -0
- package/govendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go +433 -0
- package/govendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go +433 -0
- package/govendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go +338 -0
- package/govendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go +399 -0
- package/govendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go +413 -0
- package/govendor/golang.org/x/sys/unix/zsysnum_netbsd_386.go +274 -0
- package/govendor/golang.org/x/sys/unix/zsysnum_netbsd_amd64.go +274 -0
- package/govendor/golang.org/x/sys/unix/zsysnum_netbsd_arm.go +274 -0
- package/govendor/golang.org/x/sys/unix/zsysnum_netbsd_arm64.go +274 -0
- package/govendor/golang.org/x/sys/unix/zsysnum_openbsd_386.go +219 -0
- package/govendor/golang.org/x/sys/unix/zsysnum_openbsd_amd64.go +219 -0
- package/govendor/golang.org/x/sys/unix/zsysnum_openbsd_arm.go +219 -0
- package/govendor/golang.org/x/sys/unix/zsysnum_openbsd_arm64.go +218 -0
- package/govendor/golang.org/x/sys/unix/zsysnum_openbsd_mips64.go +221 -0
- package/govendor/golang.org/x/sys/unix/zsysnum_openbsd_ppc64.go +217 -0
- package/govendor/golang.org/x/sys/unix/zsysnum_openbsd_riscv64.go +218 -0
- package/govendor/golang.org/x/sys/unix/zsysnum_zos_s390x.go +2852 -0
- package/govendor/golang.org/x/sys/unix/ztypes_aix_ppc.go +353 -0
- package/govendor/golang.org/x/sys/unix/ztypes_aix_ppc64.go +357 -0
- package/govendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go +878 -0
- package/govendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go +878 -0
- package/govendor/golang.org/x/sys/unix/ztypes_dragonfly_amd64.go +473 -0
- package/govendor/golang.org/x/sys/unix/ztypes_freebsd_386.go +651 -0
- package/govendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go +656 -0
- package/govendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go +642 -0
- package/govendor/golang.org/x/sys/unix/ztypes_freebsd_arm64.go +636 -0
- package/govendor/golang.org/x/sys/unix/ztypes_freebsd_riscv64.go +638 -0
- package/govendor/golang.org/x/sys/unix/ztypes_linux.go +6547 -0
- package/govendor/golang.org/x/sys/unix/ztypes_linux_386.go +747 -0
- package/govendor/golang.org/x/sys/unix/ztypes_linux_amd64.go +761 -0
- package/govendor/golang.org/x/sys/unix/ztypes_linux_arm.go +741 -0
- package/govendor/golang.org/x/sys/unix/ztypes_linux_arm64.go +740 -0
- package/govendor/golang.org/x/sys/unix/ztypes_linux_loong64.go +741 -0
- package/govendor/golang.org/x/sys/unix/ztypes_linux_mips.go +746 -0
- package/govendor/golang.org/x/sys/unix/ztypes_linux_mips64.go +743 -0
- package/govendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go +743 -0
- package/govendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go +746 -0
- package/govendor/golang.org/x/sys/unix/ztypes_linux_ppc.go +754 -0
- package/govendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go +749 -0
- package/govendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go +749 -0
- package/govendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go +828 -0
- package/govendor/golang.org/x/sys/unix/ztypes_linux_s390x.go +763 -0
- package/govendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go +744 -0
- package/govendor/golang.org/x/sys/unix/ztypes_netbsd_386.go +585 -0
- package/govendor/golang.org/x/sys/unix/ztypes_netbsd_amd64.go +593 -0
- package/govendor/golang.org/x/sys/unix/ztypes_netbsd_arm.go +590 -0
- package/govendor/golang.org/x/sys/unix/ztypes_netbsd_arm64.go +593 -0
- package/govendor/golang.org/x/sys/unix/ztypes_openbsd_386.go +568 -0
- package/govendor/golang.org/x/sys/unix/ztypes_openbsd_amd64.go +568 -0
- package/govendor/golang.org/x/sys/unix/ztypes_openbsd_arm.go +575 -0
- package/govendor/golang.org/x/sys/unix/ztypes_openbsd_arm64.go +568 -0
- package/govendor/golang.org/x/sys/unix/ztypes_openbsd_mips64.go +568 -0
- package/govendor/golang.org/x/sys/unix/ztypes_openbsd_ppc64.go +570 -0
- package/govendor/golang.org/x/sys/unix/ztypes_openbsd_riscv64.go +570 -0
- package/govendor/golang.org/x/sys/unix/ztypes_solaris_amd64.go +516 -0
- package/govendor/golang.org/x/sys/unix/ztypes_zos_s390x.go +552 -0
- package/govendor/golang.org/x/sys/windows/aliases.go +13 -0
- package/govendor/golang.org/x/sys/windows/dll_windows.go +380 -0
- package/govendor/golang.org/x/sys/windows/env_windows.go +57 -0
- package/govendor/golang.org/x/sys/windows/eventlog.go +20 -0
- package/govendor/golang.org/x/sys/windows/exec_windows.go +248 -0
- package/govendor/golang.org/x/sys/windows/memory_windows.go +48 -0
- package/govendor/golang.org/x/sys/windows/mkerrors.bash +70 -0
- package/govendor/golang.org/x/sys/windows/mkknownfolderids.bash +27 -0
- package/govendor/golang.org/x/sys/windows/mksyscall.go +9 -0
- package/govendor/golang.org/x/sys/windows/race.go +30 -0
- package/govendor/golang.org/x/sys/windows/race0.go +25 -0
- package/govendor/golang.org/x/sys/windows/security_windows.go +1537 -0
- package/govendor/golang.org/x/sys/windows/service.go +257 -0
- package/govendor/golang.org/x/sys/windows/setupapi_windows.go +1425 -0
- package/govendor/golang.org/x/sys/windows/str.go +22 -0
- package/govendor/golang.org/x/sys/windows/syscall.go +104 -0
- package/govendor/golang.org/x/sys/windows/syscall_windows.go +1952 -0
- package/govendor/golang.org/x/sys/windows/types_windows.go +4058 -0
- package/govendor/golang.org/x/sys/windows/types_windows_386.go +35 -0
- package/govendor/golang.org/x/sys/windows/types_windows_amd64.go +34 -0
- package/govendor/golang.org/x/sys/windows/types_windows_arm.go +35 -0
- package/govendor/golang.org/x/sys/windows/types_windows_arm64.go +34 -0
- package/govendor/golang.org/x/sys/windows/zerrors_windows.go +9468 -0
- package/govendor/golang.org/x/sys/windows/zknownfolderids_windows.go +149 -0
- package/govendor/golang.org/x/sys/windows/zsyscall_windows.go +4828 -0
- package/govendor/manifest.txt +7 -0
- package/package.json +6 -1
- package/tsparser/main.go +37 -3
- package/tsparser/tsparser.exe +2 -2
- package/types/typenative-go.d.ts +15159 -5
- package/types/typenative-npm.d.ts +2637 -30
- package/types/typenative.d.ts +1092 -56
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
// Copyright 2024 The Go Authors. All rights reserved.
|
|
2
|
+
// Use of this source code is governed by a BSD-style
|
|
3
|
+
// license that can be found in the LICENSE file.
|
|
4
|
+
|
|
5
|
+
#include "go_asm.h"
|
|
6
|
+
#include "textflag.h"
|
|
7
|
+
|
|
8
|
+
// function to call USS assembly language services
|
|
9
|
+
//
|
|
10
|
+
// doc: https://www.ibm.com/support/knowledgecenter/en/SSLTBW_3.1.0/com.ibm.zos.v3r1.bpxb100/bit64env.htm
|
|
11
|
+
//
|
|
12
|
+
// arg1 unsafe.Pointer array that ressembles an OS PLIST
|
|
13
|
+
//
|
|
14
|
+
// arg2 function offset as in
|
|
15
|
+
// doc: https://www.ibm.com/support/knowledgecenter/en/SSLTBW_3.1.0/com.ibm.zos.v3r1.bpxb100/bpx2cr_List_of_offsets.htm
|
|
16
|
+
//
|
|
17
|
+
// func bpxcall(plist []unsafe.Pointer, bpx_offset int64)
|
|
18
|
+
|
|
19
|
+
TEXT ·bpxcall(SB), NOSPLIT|NOFRAME, $0
|
|
20
|
+
MOVD plist_base+0(FP), R1 // r1 points to plist
|
|
21
|
+
MOVD bpx_offset+24(FP), R2 // r2 offset to BPX vector table
|
|
22
|
+
MOVD R14, R7 // save r14
|
|
23
|
+
MOVD R15, R8 // save r15
|
|
24
|
+
MOVWZ 16(R0), R9
|
|
25
|
+
MOVWZ 544(R9), R9
|
|
26
|
+
MOVWZ 24(R9), R9 // call vector in r9
|
|
27
|
+
ADD R2, R9 // add offset to vector table
|
|
28
|
+
MOVWZ (R9), R9 // r9 points to entry point
|
|
29
|
+
BYTE $0x0D // BL R14,R9 --> basr r14,r9
|
|
30
|
+
BYTE $0xE9 // clobbers 0,1,14,15
|
|
31
|
+
MOVD R8, R15 // restore 15
|
|
32
|
+
JMP R7 // return via saved return address
|
|
33
|
+
|
|
34
|
+
// func A2e(arr [] byte)
|
|
35
|
+
// code page conversion from 819 to 1047
|
|
36
|
+
TEXT ·A2e(SB), NOSPLIT|NOFRAME, $0
|
|
37
|
+
MOVD arg_base+0(FP), R2 // pointer to arry of characters
|
|
38
|
+
MOVD arg_len+8(FP), R3 // count
|
|
39
|
+
XOR R0, R0
|
|
40
|
+
XOR R1, R1
|
|
41
|
+
BYTE $0xA7; BYTE $0x15; BYTE $0x00; BYTE $0x82 // BRAS 1,(2+(256/2))
|
|
42
|
+
|
|
43
|
+
// ASCII -> EBCDIC conversion table:
|
|
44
|
+
BYTE $0x00; BYTE $0x01; BYTE $0x02; BYTE $0x03
|
|
45
|
+
BYTE $0x37; BYTE $0x2d; BYTE $0x2e; BYTE $0x2f
|
|
46
|
+
BYTE $0x16; BYTE $0x05; BYTE $0x15; BYTE $0x0b
|
|
47
|
+
BYTE $0x0c; BYTE $0x0d; BYTE $0x0e; BYTE $0x0f
|
|
48
|
+
BYTE $0x10; BYTE $0x11; BYTE $0x12; BYTE $0x13
|
|
49
|
+
BYTE $0x3c; BYTE $0x3d; BYTE $0x32; BYTE $0x26
|
|
50
|
+
BYTE $0x18; BYTE $0x19; BYTE $0x3f; BYTE $0x27
|
|
51
|
+
BYTE $0x1c; BYTE $0x1d; BYTE $0x1e; BYTE $0x1f
|
|
52
|
+
BYTE $0x40; BYTE $0x5a; BYTE $0x7f; BYTE $0x7b
|
|
53
|
+
BYTE $0x5b; BYTE $0x6c; BYTE $0x50; BYTE $0x7d
|
|
54
|
+
BYTE $0x4d; BYTE $0x5d; BYTE $0x5c; BYTE $0x4e
|
|
55
|
+
BYTE $0x6b; BYTE $0x60; BYTE $0x4b; BYTE $0x61
|
|
56
|
+
BYTE $0xf0; BYTE $0xf1; BYTE $0xf2; BYTE $0xf3
|
|
57
|
+
BYTE $0xf4; BYTE $0xf5; BYTE $0xf6; BYTE $0xf7
|
|
58
|
+
BYTE $0xf8; BYTE $0xf9; BYTE $0x7a; BYTE $0x5e
|
|
59
|
+
BYTE $0x4c; BYTE $0x7e; BYTE $0x6e; BYTE $0x6f
|
|
60
|
+
BYTE $0x7c; BYTE $0xc1; BYTE $0xc2; BYTE $0xc3
|
|
61
|
+
BYTE $0xc4; BYTE $0xc5; BYTE $0xc6; BYTE $0xc7
|
|
62
|
+
BYTE $0xc8; BYTE $0xc9; BYTE $0xd1; BYTE $0xd2
|
|
63
|
+
BYTE $0xd3; BYTE $0xd4; BYTE $0xd5; BYTE $0xd6
|
|
64
|
+
BYTE $0xd7; BYTE $0xd8; BYTE $0xd9; BYTE $0xe2
|
|
65
|
+
BYTE $0xe3; BYTE $0xe4; BYTE $0xe5; BYTE $0xe6
|
|
66
|
+
BYTE $0xe7; BYTE $0xe8; BYTE $0xe9; BYTE $0xad
|
|
67
|
+
BYTE $0xe0; BYTE $0xbd; BYTE $0x5f; BYTE $0x6d
|
|
68
|
+
BYTE $0x79; BYTE $0x81; BYTE $0x82; BYTE $0x83
|
|
69
|
+
BYTE $0x84; BYTE $0x85; BYTE $0x86; BYTE $0x87
|
|
70
|
+
BYTE $0x88; BYTE $0x89; BYTE $0x91; BYTE $0x92
|
|
71
|
+
BYTE $0x93; BYTE $0x94; BYTE $0x95; BYTE $0x96
|
|
72
|
+
BYTE $0x97; BYTE $0x98; BYTE $0x99; BYTE $0xa2
|
|
73
|
+
BYTE $0xa3; BYTE $0xa4; BYTE $0xa5; BYTE $0xa6
|
|
74
|
+
BYTE $0xa7; BYTE $0xa8; BYTE $0xa9; BYTE $0xc0
|
|
75
|
+
BYTE $0x4f; BYTE $0xd0; BYTE $0xa1; BYTE $0x07
|
|
76
|
+
BYTE $0x20; BYTE $0x21; BYTE $0x22; BYTE $0x23
|
|
77
|
+
BYTE $0x24; BYTE $0x25; BYTE $0x06; BYTE $0x17
|
|
78
|
+
BYTE $0x28; BYTE $0x29; BYTE $0x2a; BYTE $0x2b
|
|
79
|
+
BYTE $0x2c; BYTE $0x09; BYTE $0x0a; BYTE $0x1b
|
|
80
|
+
BYTE $0x30; BYTE $0x31; BYTE $0x1a; BYTE $0x33
|
|
81
|
+
BYTE $0x34; BYTE $0x35; BYTE $0x36; BYTE $0x08
|
|
82
|
+
BYTE $0x38; BYTE $0x39; BYTE $0x3a; BYTE $0x3b
|
|
83
|
+
BYTE $0x04; BYTE $0x14; BYTE $0x3e; BYTE $0xff
|
|
84
|
+
BYTE $0x41; BYTE $0xaa; BYTE $0x4a; BYTE $0xb1
|
|
85
|
+
BYTE $0x9f; BYTE $0xb2; BYTE $0x6a; BYTE $0xb5
|
|
86
|
+
BYTE $0xbb; BYTE $0xb4; BYTE $0x9a; BYTE $0x8a
|
|
87
|
+
BYTE $0xb0; BYTE $0xca; BYTE $0xaf; BYTE $0xbc
|
|
88
|
+
BYTE $0x90; BYTE $0x8f; BYTE $0xea; BYTE $0xfa
|
|
89
|
+
BYTE $0xbe; BYTE $0xa0; BYTE $0xb6; BYTE $0xb3
|
|
90
|
+
BYTE $0x9d; BYTE $0xda; BYTE $0x9b; BYTE $0x8b
|
|
91
|
+
BYTE $0xb7; BYTE $0xb8; BYTE $0xb9; BYTE $0xab
|
|
92
|
+
BYTE $0x64; BYTE $0x65; BYTE $0x62; BYTE $0x66
|
|
93
|
+
BYTE $0x63; BYTE $0x67; BYTE $0x9e; BYTE $0x68
|
|
94
|
+
BYTE $0x74; BYTE $0x71; BYTE $0x72; BYTE $0x73
|
|
95
|
+
BYTE $0x78; BYTE $0x75; BYTE $0x76; BYTE $0x77
|
|
96
|
+
BYTE $0xac; BYTE $0x69; BYTE $0xed; BYTE $0xee
|
|
97
|
+
BYTE $0xeb; BYTE $0xef; BYTE $0xec; BYTE $0xbf
|
|
98
|
+
BYTE $0x80; BYTE $0xfd; BYTE $0xfe; BYTE $0xfb
|
|
99
|
+
BYTE $0xfc; BYTE $0xba; BYTE $0xae; BYTE $0x59
|
|
100
|
+
BYTE $0x44; BYTE $0x45; BYTE $0x42; BYTE $0x46
|
|
101
|
+
BYTE $0x43; BYTE $0x47; BYTE $0x9c; BYTE $0x48
|
|
102
|
+
BYTE $0x54; BYTE $0x51; BYTE $0x52; BYTE $0x53
|
|
103
|
+
BYTE $0x58; BYTE $0x55; BYTE $0x56; BYTE $0x57
|
|
104
|
+
BYTE $0x8c; BYTE $0x49; BYTE $0xcd; BYTE $0xce
|
|
105
|
+
BYTE $0xcb; BYTE $0xcf; BYTE $0xcc; BYTE $0xe1
|
|
106
|
+
BYTE $0x70; BYTE $0xdd; BYTE $0xde; BYTE $0xdb
|
|
107
|
+
BYTE $0xdc; BYTE $0x8d; BYTE $0x8e; BYTE $0xdf
|
|
108
|
+
|
|
109
|
+
retry:
|
|
110
|
+
WORD $0xB9931022 // TROO 2,2,b'0001'
|
|
111
|
+
BVS retry
|
|
112
|
+
RET
|
|
113
|
+
|
|
114
|
+
// func e2a(arr [] byte)
|
|
115
|
+
// code page conversion from 1047 to 819
|
|
116
|
+
TEXT ·E2a(SB), NOSPLIT|NOFRAME, $0
|
|
117
|
+
MOVD arg_base+0(FP), R2 // pointer to arry of characters
|
|
118
|
+
MOVD arg_len+8(FP), R3 // count
|
|
119
|
+
XOR R0, R0
|
|
120
|
+
XOR R1, R1
|
|
121
|
+
BYTE $0xA7; BYTE $0x15; BYTE $0x00; BYTE $0x82 // BRAS 1,(2+(256/2))
|
|
122
|
+
|
|
123
|
+
// EBCDIC -> ASCII conversion table:
|
|
124
|
+
BYTE $0x00; BYTE $0x01; BYTE $0x02; BYTE $0x03
|
|
125
|
+
BYTE $0x9c; BYTE $0x09; BYTE $0x86; BYTE $0x7f
|
|
126
|
+
BYTE $0x97; BYTE $0x8d; BYTE $0x8e; BYTE $0x0b
|
|
127
|
+
BYTE $0x0c; BYTE $0x0d; BYTE $0x0e; BYTE $0x0f
|
|
128
|
+
BYTE $0x10; BYTE $0x11; BYTE $0x12; BYTE $0x13
|
|
129
|
+
BYTE $0x9d; BYTE $0x0a; BYTE $0x08; BYTE $0x87
|
|
130
|
+
BYTE $0x18; BYTE $0x19; BYTE $0x92; BYTE $0x8f
|
|
131
|
+
BYTE $0x1c; BYTE $0x1d; BYTE $0x1e; BYTE $0x1f
|
|
132
|
+
BYTE $0x80; BYTE $0x81; BYTE $0x82; BYTE $0x83
|
|
133
|
+
BYTE $0x84; BYTE $0x85; BYTE $0x17; BYTE $0x1b
|
|
134
|
+
BYTE $0x88; BYTE $0x89; BYTE $0x8a; BYTE $0x8b
|
|
135
|
+
BYTE $0x8c; BYTE $0x05; BYTE $0x06; BYTE $0x07
|
|
136
|
+
BYTE $0x90; BYTE $0x91; BYTE $0x16; BYTE $0x93
|
|
137
|
+
BYTE $0x94; BYTE $0x95; BYTE $0x96; BYTE $0x04
|
|
138
|
+
BYTE $0x98; BYTE $0x99; BYTE $0x9a; BYTE $0x9b
|
|
139
|
+
BYTE $0x14; BYTE $0x15; BYTE $0x9e; BYTE $0x1a
|
|
140
|
+
BYTE $0x20; BYTE $0xa0; BYTE $0xe2; BYTE $0xe4
|
|
141
|
+
BYTE $0xe0; BYTE $0xe1; BYTE $0xe3; BYTE $0xe5
|
|
142
|
+
BYTE $0xe7; BYTE $0xf1; BYTE $0xa2; BYTE $0x2e
|
|
143
|
+
BYTE $0x3c; BYTE $0x28; BYTE $0x2b; BYTE $0x7c
|
|
144
|
+
BYTE $0x26; BYTE $0xe9; BYTE $0xea; BYTE $0xeb
|
|
145
|
+
BYTE $0xe8; BYTE $0xed; BYTE $0xee; BYTE $0xef
|
|
146
|
+
BYTE $0xec; BYTE $0xdf; BYTE $0x21; BYTE $0x24
|
|
147
|
+
BYTE $0x2a; BYTE $0x29; BYTE $0x3b; BYTE $0x5e
|
|
148
|
+
BYTE $0x2d; BYTE $0x2f; BYTE $0xc2; BYTE $0xc4
|
|
149
|
+
BYTE $0xc0; BYTE $0xc1; BYTE $0xc3; BYTE $0xc5
|
|
150
|
+
BYTE $0xc7; BYTE $0xd1; BYTE $0xa6; BYTE $0x2c
|
|
151
|
+
BYTE $0x25; BYTE $0x5f; BYTE $0x3e; BYTE $0x3f
|
|
152
|
+
BYTE $0xf8; BYTE $0xc9; BYTE $0xca; BYTE $0xcb
|
|
153
|
+
BYTE $0xc8; BYTE $0xcd; BYTE $0xce; BYTE $0xcf
|
|
154
|
+
BYTE $0xcc; BYTE $0x60; BYTE $0x3a; BYTE $0x23
|
|
155
|
+
BYTE $0x40; BYTE $0x27; BYTE $0x3d; BYTE $0x22
|
|
156
|
+
BYTE $0xd8; BYTE $0x61; BYTE $0x62; BYTE $0x63
|
|
157
|
+
BYTE $0x64; BYTE $0x65; BYTE $0x66; BYTE $0x67
|
|
158
|
+
BYTE $0x68; BYTE $0x69; BYTE $0xab; BYTE $0xbb
|
|
159
|
+
BYTE $0xf0; BYTE $0xfd; BYTE $0xfe; BYTE $0xb1
|
|
160
|
+
BYTE $0xb0; BYTE $0x6a; BYTE $0x6b; BYTE $0x6c
|
|
161
|
+
BYTE $0x6d; BYTE $0x6e; BYTE $0x6f; BYTE $0x70
|
|
162
|
+
BYTE $0x71; BYTE $0x72; BYTE $0xaa; BYTE $0xba
|
|
163
|
+
BYTE $0xe6; BYTE $0xb8; BYTE $0xc6; BYTE $0xa4
|
|
164
|
+
BYTE $0xb5; BYTE $0x7e; BYTE $0x73; BYTE $0x74
|
|
165
|
+
BYTE $0x75; BYTE $0x76; BYTE $0x77; BYTE $0x78
|
|
166
|
+
BYTE $0x79; BYTE $0x7a; BYTE $0xa1; BYTE $0xbf
|
|
167
|
+
BYTE $0xd0; BYTE $0x5b; BYTE $0xde; BYTE $0xae
|
|
168
|
+
BYTE $0xac; BYTE $0xa3; BYTE $0xa5; BYTE $0xb7
|
|
169
|
+
BYTE $0xa9; BYTE $0xa7; BYTE $0xb6; BYTE $0xbc
|
|
170
|
+
BYTE $0xbd; BYTE $0xbe; BYTE $0xdd; BYTE $0xa8
|
|
171
|
+
BYTE $0xaf; BYTE $0x5d; BYTE $0xb4; BYTE $0xd7
|
|
172
|
+
BYTE $0x7b; BYTE $0x41; BYTE $0x42; BYTE $0x43
|
|
173
|
+
BYTE $0x44; BYTE $0x45; BYTE $0x46; BYTE $0x47
|
|
174
|
+
BYTE $0x48; BYTE $0x49; BYTE $0xad; BYTE $0xf4
|
|
175
|
+
BYTE $0xf6; BYTE $0xf2; BYTE $0xf3; BYTE $0xf5
|
|
176
|
+
BYTE $0x7d; BYTE $0x4a; BYTE $0x4b; BYTE $0x4c
|
|
177
|
+
BYTE $0x4d; BYTE $0x4e; BYTE $0x4f; BYTE $0x50
|
|
178
|
+
BYTE $0x51; BYTE $0x52; BYTE $0xb9; BYTE $0xfb
|
|
179
|
+
BYTE $0xfc; BYTE $0xf9; BYTE $0xfa; BYTE $0xff
|
|
180
|
+
BYTE $0x5c; BYTE $0xf7; BYTE $0x53; BYTE $0x54
|
|
181
|
+
BYTE $0x55; BYTE $0x56; BYTE $0x57; BYTE $0x58
|
|
182
|
+
BYTE $0x59; BYTE $0x5a; BYTE $0xb2; BYTE $0xd4
|
|
183
|
+
BYTE $0xd6; BYTE $0xd2; BYTE $0xd3; BYTE $0xd5
|
|
184
|
+
BYTE $0x30; BYTE $0x31; BYTE $0x32; BYTE $0x33
|
|
185
|
+
BYTE $0x34; BYTE $0x35; BYTE $0x36; BYTE $0x37
|
|
186
|
+
BYTE $0x38; BYTE $0x39; BYTE $0xb3; BYTE $0xdb
|
|
187
|
+
BYTE $0xdc; BYTE $0xd9; BYTE $0xda; BYTE $0x9f
|
|
188
|
+
|
|
189
|
+
retry:
|
|
190
|
+
WORD $0xB9931022 // TROO 2,2,b'0001'
|
|
191
|
+
BVS retry
|
|
192
|
+
RET
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
// Copyright 2017 The Go Authors. All rights reserved.
|
|
2
|
+
// Use of this source code is governed by a BSD-style
|
|
3
|
+
// license that can be found in the LICENSE file.
|
|
4
|
+
|
|
5
|
+
//go:build freebsd
|
|
6
|
+
|
|
7
|
+
package unix
|
|
8
|
+
|
|
9
|
+
import (
|
|
10
|
+
"errors"
|
|
11
|
+
"fmt"
|
|
12
|
+
)
|
|
13
|
+
|
|
14
|
+
// Go implementation of C mostly found in /usr/src/sys/kern/subr_capability.c
|
|
15
|
+
|
|
16
|
+
const (
|
|
17
|
+
// This is the version of CapRights this package understands. See C implementation for parallels.
|
|
18
|
+
capRightsGoVersion = CAP_RIGHTS_VERSION_00
|
|
19
|
+
capArSizeMin = CAP_RIGHTS_VERSION_00 + 2
|
|
20
|
+
capArSizeMax = capRightsGoVersion + 2
|
|
21
|
+
)
|
|
22
|
+
|
|
23
|
+
var (
|
|
24
|
+
bit2idx = []int{
|
|
25
|
+
-1, 0, 1, -1, 2, -1, -1, -1, 3, -1, -1, -1, -1, -1, -1, -1,
|
|
26
|
+
4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
|
27
|
+
}
|
|
28
|
+
)
|
|
29
|
+
|
|
30
|
+
func capidxbit(right uint64) int {
|
|
31
|
+
return int((right >> 57) & 0x1f)
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
func rightToIndex(right uint64) (int, error) {
|
|
35
|
+
idx := capidxbit(right)
|
|
36
|
+
if idx < 0 || idx >= len(bit2idx) {
|
|
37
|
+
return -2, fmt.Errorf("index for right 0x%x out of range", right)
|
|
38
|
+
}
|
|
39
|
+
return bit2idx[idx], nil
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
func caprver(right uint64) int {
|
|
43
|
+
return int(right >> 62)
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
func capver(rights *CapRights) int {
|
|
47
|
+
return caprver(rights.Rights[0])
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
func caparsize(rights *CapRights) int {
|
|
51
|
+
return capver(rights) + 2
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
// CapRightsSet sets the permissions in setrights in rights.
|
|
55
|
+
func CapRightsSet(rights *CapRights, setrights []uint64) error {
|
|
56
|
+
// This is essentially a copy of cap_rights_vset()
|
|
57
|
+
if capver(rights) != CAP_RIGHTS_VERSION_00 {
|
|
58
|
+
return fmt.Errorf("bad rights version %d", capver(rights))
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
n := caparsize(rights)
|
|
62
|
+
if n < capArSizeMin || n > capArSizeMax {
|
|
63
|
+
return errors.New("bad rights size")
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
for _, right := range setrights {
|
|
67
|
+
if caprver(right) != CAP_RIGHTS_VERSION_00 {
|
|
68
|
+
return errors.New("bad right version")
|
|
69
|
+
}
|
|
70
|
+
i, err := rightToIndex(right)
|
|
71
|
+
if err != nil {
|
|
72
|
+
return err
|
|
73
|
+
}
|
|
74
|
+
if i >= n {
|
|
75
|
+
return errors.New("index overflow")
|
|
76
|
+
}
|
|
77
|
+
if capidxbit(rights.Rights[i]) != capidxbit(right) {
|
|
78
|
+
return errors.New("index mismatch")
|
|
79
|
+
}
|
|
80
|
+
rights.Rights[i] |= right
|
|
81
|
+
if capidxbit(rights.Rights[i]) != capidxbit(right) {
|
|
82
|
+
return errors.New("index mismatch (after assign)")
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
return nil
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
// CapRightsClear clears the permissions in clearrights from rights.
|
|
90
|
+
func CapRightsClear(rights *CapRights, clearrights []uint64) error {
|
|
91
|
+
// This is essentially a copy of cap_rights_vclear()
|
|
92
|
+
if capver(rights) != CAP_RIGHTS_VERSION_00 {
|
|
93
|
+
return fmt.Errorf("bad rights version %d", capver(rights))
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
n := caparsize(rights)
|
|
97
|
+
if n < capArSizeMin || n > capArSizeMax {
|
|
98
|
+
return errors.New("bad rights size")
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
for _, right := range clearrights {
|
|
102
|
+
if caprver(right) != CAP_RIGHTS_VERSION_00 {
|
|
103
|
+
return errors.New("bad right version")
|
|
104
|
+
}
|
|
105
|
+
i, err := rightToIndex(right)
|
|
106
|
+
if err != nil {
|
|
107
|
+
return err
|
|
108
|
+
}
|
|
109
|
+
if i >= n {
|
|
110
|
+
return errors.New("index overflow")
|
|
111
|
+
}
|
|
112
|
+
if capidxbit(rights.Rights[i]) != capidxbit(right) {
|
|
113
|
+
return errors.New("index mismatch")
|
|
114
|
+
}
|
|
115
|
+
rights.Rights[i] &= ^(right & 0x01FFFFFFFFFFFFFF)
|
|
116
|
+
if capidxbit(rights.Rights[i]) != capidxbit(right) {
|
|
117
|
+
return errors.New("index mismatch (after assign)")
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
return nil
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
// CapRightsIsSet checks whether all the permissions in setrights are present in rights.
|
|
125
|
+
func CapRightsIsSet(rights *CapRights, setrights []uint64) (bool, error) {
|
|
126
|
+
// This is essentially a copy of cap_rights_is_vset()
|
|
127
|
+
if capver(rights) != CAP_RIGHTS_VERSION_00 {
|
|
128
|
+
return false, fmt.Errorf("bad rights version %d", capver(rights))
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
n := caparsize(rights)
|
|
132
|
+
if n < capArSizeMin || n > capArSizeMax {
|
|
133
|
+
return false, errors.New("bad rights size")
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
for _, right := range setrights {
|
|
137
|
+
if caprver(right) != CAP_RIGHTS_VERSION_00 {
|
|
138
|
+
return false, errors.New("bad right version")
|
|
139
|
+
}
|
|
140
|
+
i, err := rightToIndex(right)
|
|
141
|
+
if err != nil {
|
|
142
|
+
return false, err
|
|
143
|
+
}
|
|
144
|
+
if i >= n {
|
|
145
|
+
return false, errors.New("index overflow")
|
|
146
|
+
}
|
|
147
|
+
if capidxbit(rights.Rights[i]) != capidxbit(right) {
|
|
148
|
+
return false, errors.New("index mismatch")
|
|
149
|
+
}
|
|
150
|
+
if (rights.Rights[i] & right) != right {
|
|
151
|
+
return false, nil
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
return true, nil
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
func capright(idx uint64, bit uint64) uint64 {
|
|
159
|
+
return ((1 << (57 + idx)) | bit)
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
// CapRightsInit returns a pointer to an initialised CapRights structure filled with rights.
|
|
163
|
+
// See man cap_rights_init(3) and rights(4).
|
|
164
|
+
func CapRightsInit(rights []uint64) (*CapRights, error) {
|
|
165
|
+
var r CapRights
|
|
166
|
+
r.Rights[0] = (capRightsGoVersion << 62) | capright(0, 0)
|
|
167
|
+
r.Rights[1] = capright(1, 0)
|
|
168
|
+
|
|
169
|
+
err := CapRightsSet(&r, rights)
|
|
170
|
+
if err != nil {
|
|
171
|
+
return nil, err
|
|
172
|
+
}
|
|
173
|
+
return &r, nil
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
// CapRightsLimit reduces the operations permitted on fd to at most those contained in rights.
|
|
177
|
+
// The capability rights on fd can never be increased by CapRightsLimit.
|
|
178
|
+
// See man cap_rights_limit(2) and rights(4).
|
|
179
|
+
func CapRightsLimit(fd uintptr, rights *CapRights) error {
|
|
180
|
+
return capRightsLimit(int(fd), rights)
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
// CapRightsGet returns a CapRights structure containing the operations permitted on fd.
|
|
184
|
+
// See man cap_rights_get(3) and rights(4).
|
|
185
|
+
func CapRightsGet(fd uintptr) (*CapRights, error) {
|
|
186
|
+
r, err := CapRightsInit(nil)
|
|
187
|
+
if err != nil {
|
|
188
|
+
return nil, err
|
|
189
|
+
}
|
|
190
|
+
err = capRightsGet(capRightsGoVersion, int(fd), r)
|
|
191
|
+
if err != nil {
|
|
192
|
+
return nil, err
|
|
193
|
+
}
|
|
194
|
+
return r, nil
|
|
195
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
// Copyright 2015 The Go Authors. All rights reserved.
|
|
2
|
+
// Use of this source code is governed by a BSD-style
|
|
3
|
+
// license that can be found in the LICENSE file.
|
|
4
|
+
|
|
5
|
+
//go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos
|
|
6
|
+
|
|
7
|
+
package unix
|
|
8
|
+
|
|
9
|
+
const (
|
|
10
|
+
R_OK = 0x4
|
|
11
|
+
W_OK = 0x2
|
|
12
|
+
X_OK = 0x1
|
|
13
|
+
)
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
// Copyright 2018 The Go Authors. All rights reserved.
|
|
2
|
+
// Use of this source code is governed by a BSD-style
|
|
3
|
+
// license that can be found in the LICENSE file.
|
|
4
|
+
|
|
5
|
+
//go:build aix && ppc
|
|
6
|
+
|
|
7
|
+
// Functions to access/create device major and minor numbers matching the
|
|
8
|
+
// encoding used by AIX.
|
|
9
|
+
|
|
10
|
+
package unix
|
|
11
|
+
|
|
12
|
+
// Major returns the major component of a Linux device number.
|
|
13
|
+
func Major(dev uint64) uint32 {
|
|
14
|
+
return uint32((dev >> 16) & 0xffff)
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
// Minor returns the minor component of a Linux device number.
|
|
18
|
+
func Minor(dev uint64) uint32 {
|
|
19
|
+
return uint32(dev & 0xffff)
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
// Mkdev returns a Linux device number generated from the given major and minor
|
|
23
|
+
// components.
|
|
24
|
+
func Mkdev(major, minor uint32) uint64 {
|
|
25
|
+
return uint64(((major) << 16) | (minor))
|
|
26
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
// Copyright 2018 The Go Authors. All rights reserved.
|
|
2
|
+
// Use of this source code is governed by a BSD-style
|
|
3
|
+
// license that can be found in the LICENSE file.
|
|
4
|
+
|
|
5
|
+
//go:build aix && ppc64
|
|
6
|
+
|
|
7
|
+
// Functions to access/create device major and minor numbers matching the
|
|
8
|
+
// encoding used AIX.
|
|
9
|
+
|
|
10
|
+
package unix
|
|
11
|
+
|
|
12
|
+
// Major returns the major component of a Linux device number.
|
|
13
|
+
func Major(dev uint64) uint32 {
|
|
14
|
+
return uint32((dev & 0x3fffffff00000000) >> 32)
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
// Minor returns the minor component of a Linux device number.
|
|
18
|
+
func Minor(dev uint64) uint32 {
|
|
19
|
+
return uint32((dev & 0x00000000ffffffff) >> 0)
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
// Mkdev returns a Linux device number generated from the given major and minor
|
|
23
|
+
// components.
|
|
24
|
+
func Mkdev(major, minor uint32) uint64 {
|
|
25
|
+
var DEVNO64 uint64
|
|
26
|
+
DEVNO64 = 0x8000000000000000
|
|
27
|
+
return ((uint64(major) << 32) | (uint64(minor) & 0x00000000FFFFFFFF) | DEVNO64)
|
|
28
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
// Copyright 2017 The Go Authors. All rights reserved.
|
|
2
|
+
// Use of this source code is governed by a BSD-style
|
|
3
|
+
// license that can be found in the LICENSE file.
|
|
4
|
+
|
|
5
|
+
// Functions to access/create device major and minor numbers matching the
|
|
6
|
+
// encoding used in Darwin's sys/types.h header.
|
|
7
|
+
|
|
8
|
+
package unix
|
|
9
|
+
|
|
10
|
+
// Major returns the major component of a Darwin device number.
|
|
11
|
+
func Major(dev uint64) uint32 {
|
|
12
|
+
return uint32((dev >> 24) & 0xff)
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
// Minor returns the minor component of a Darwin device number.
|
|
16
|
+
func Minor(dev uint64) uint32 {
|
|
17
|
+
return uint32(dev & 0xffffff)
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
// Mkdev returns a Darwin device number generated from the given major and minor
|
|
21
|
+
// components.
|
|
22
|
+
func Mkdev(major, minor uint32) uint64 {
|
|
23
|
+
return (uint64(major) << 24) | uint64(minor)
|
|
24
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
// Copyright 2017 The Go Authors. All rights reserved.
|
|
2
|
+
// Use of this source code is governed by a BSD-style
|
|
3
|
+
// license that can be found in the LICENSE file.
|
|
4
|
+
|
|
5
|
+
// Functions to access/create device major and minor numbers matching the
|
|
6
|
+
// encoding used in Dragonfly's sys/types.h header.
|
|
7
|
+
//
|
|
8
|
+
// The information below is extracted and adapted from sys/types.h:
|
|
9
|
+
//
|
|
10
|
+
// Minor gives a cookie instead of an index since in order to avoid changing the
|
|
11
|
+
// meanings of bits 0-15 or wasting time and space shifting bits 16-31 for
|
|
12
|
+
// devices that don't use them.
|
|
13
|
+
|
|
14
|
+
package unix
|
|
15
|
+
|
|
16
|
+
// Major returns the major component of a DragonFlyBSD device number.
|
|
17
|
+
func Major(dev uint64) uint32 {
|
|
18
|
+
return uint32((dev >> 8) & 0xff)
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
// Minor returns the minor component of a DragonFlyBSD device number.
|
|
22
|
+
func Minor(dev uint64) uint32 {
|
|
23
|
+
return uint32(dev & 0xffff00ff)
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
// Mkdev returns a DragonFlyBSD device number generated from the given major and
|
|
27
|
+
// minor components.
|
|
28
|
+
func Mkdev(major, minor uint32) uint64 {
|
|
29
|
+
return (uint64(major) << 8) | uint64(minor)
|
|
30
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
// Copyright 2017 The Go Authors. All rights reserved.
|
|
2
|
+
// Use of this source code is governed by a BSD-style
|
|
3
|
+
// license that can be found in the LICENSE file.
|
|
4
|
+
|
|
5
|
+
// Functions to access/create device major and minor numbers matching the
|
|
6
|
+
// encoding used in FreeBSD's sys/types.h header.
|
|
7
|
+
//
|
|
8
|
+
// The information below is extracted and adapted from sys/types.h:
|
|
9
|
+
//
|
|
10
|
+
// Minor gives a cookie instead of an index since in order to avoid changing the
|
|
11
|
+
// meanings of bits 0-15 or wasting time and space shifting bits 16-31 for
|
|
12
|
+
// devices that don't use them.
|
|
13
|
+
|
|
14
|
+
package unix
|
|
15
|
+
|
|
16
|
+
// Major returns the major component of a FreeBSD device number.
|
|
17
|
+
func Major(dev uint64) uint32 {
|
|
18
|
+
return uint32((dev >> 8) & 0xff)
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
// Minor returns the minor component of a FreeBSD device number.
|
|
22
|
+
func Minor(dev uint64) uint32 {
|
|
23
|
+
return uint32(dev & 0xffff00ff)
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
// Mkdev returns a FreeBSD device number generated from the given major and
|
|
27
|
+
// minor components.
|
|
28
|
+
func Mkdev(major, minor uint32) uint64 {
|
|
29
|
+
return (uint64(major) << 8) | uint64(minor)
|
|
30
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
// Copyright 2017 The Go Authors. All rights reserved.
|
|
2
|
+
// Use of this source code is governed by a BSD-style
|
|
3
|
+
// license that can be found in the LICENSE file.
|
|
4
|
+
|
|
5
|
+
// Functions to access/create device major and minor numbers matching the
|
|
6
|
+
// encoding used by the Linux kernel and glibc.
|
|
7
|
+
//
|
|
8
|
+
// The information below is extracted and adapted from bits/sysmacros.h in the
|
|
9
|
+
// glibc sources:
|
|
10
|
+
//
|
|
11
|
+
// dev_t in glibc is 64-bit, with 32-bit major and minor numbers. glibc's
|
|
12
|
+
// default encoding is MMMM Mmmm mmmM MMmm, where M is a hex digit of the major
|
|
13
|
+
// number and m is a hex digit of the minor number. This is backward compatible
|
|
14
|
+
// with legacy systems where dev_t is 16 bits wide, encoded as MMmm. It is also
|
|
15
|
+
// backward compatible with the Linux kernel, which for some architectures uses
|
|
16
|
+
// 32-bit dev_t, encoded as mmmM MMmm.
|
|
17
|
+
|
|
18
|
+
package unix
|
|
19
|
+
|
|
20
|
+
// Major returns the major component of a Linux device number.
|
|
21
|
+
func Major(dev uint64) uint32 {
|
|
22
|
+
major := uint32((dev & 0x00000000000fff00) >> 8)
|
|
23
|
+
major |= uint32((dev & 0xfffff00000000000) >> 32)
|
|
24
|
+
return major
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
// Minor returns the minor component of a Linux device number.
|
|
28
|
+
func Minor(dev uint64) uint32 {
|
|
29
|
+
minor := uint32((dev & 0x00000000000000ff) >> 0)
|
|
30
|
+
minor |= uint32((dev & 0x00000ffffff00000) >> 12)
|
|
31
|
+
return minor
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
// Mkdev returns a Linux device number generated from the given major and minor
|
|
35
|
+
// components.
|
|
36
|
+
func Mkdev(major, minor uint32) uint64 {
|
|
37
|
+
dev := (uint64(major) & 0x00000fff) << 8
|
|
38
|
+
dev |= (uint64(major) & 0xfffff000) << 32
|
|
39
|
+
dev |= (uint64(minor) & 0x000000ff) << 0
|
|
40
|
+
dev |= (uint64(minor) & 0xffffff00) << 12
|
|
41
|
+
return dev
|
|
42
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
// Copyright 2017 The Go Authors. All rights reserved.
|
|
2
|
+
// Use of this source code is governed by a BSD-style
|
|
3
|
+
// license that can be found in the LICENSE file.
|
|
4
|
+
|
|
5
|
+
// Functions to access/create device major and minor numbers matching the
|
|
6
|
+
// encoding used in NetBSD's sys/types.h header.
|
|
7
|
+
|
|
8
|
+
package unix
|
|
9
|
+
|
|
10
|
+
// Major returns the major component of a NetBSD device number.
|
|
11
|
+
func Major(dev uint64) uint32 {
|
|
12
|
+
return uint32((dev & 0x000fff00) >> 8)
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
// Minor returns the minor component of a NetBSD device number.
|
|
16
|
+
func Minor(dev uint64) uint32 {
|
|
17
|
+
minor := uint32((dev & 0x000000ff) >> 0)
|
|
18
|
+
minor |= uint32((dev & 0xfff00000) >> 12)
|
|
19
|
+
return minor
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
// Mkdev returns a NetBSD device number generated from the given major and minor
|
|
23
|
+
// components.
|
|
24
|
+
func Mkdev(major, minor uint32) uint64 {
|
|
25
|
+
dev := (uint64(major) << 8) & 0x000fff00
|
|
26
|
+
dev |= (uint64(minor) << 12) & 0xfff00000
|
|
27
|
+
dev |= (uint64(minor) << 0) & 0x000000ff
|
|
28
|
+
return dev
|
|
29
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
// Copyright 2017 The Go Authors. All rights reserved.
|
|
2
|
+
// Use of this source code is governed by a BSD-style
|
|
3
|
+
// license that can be found in the LICENSE file.
|
|
4
|
+
|
|
5
|
+
// Functions to access/create device major and minor numbers matching the
|
|
6
|
+
// encoding used in OpenBSD's sys/types.h header.
|
|
7
|
+
|
|
8
|
+
package unix
|
|
9
|
+
|
|
10
|
+
// Major returns the major component of an OpenBSD device number.
|
|
11
|
+
func Major(dev uint64) uint32 {
|
|
12
|
+
return uint32((dev & 0x0000ff00) >> 8)
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
// Minor returns the minor component of an OpenBSD device number.
|
|
16
|
+
func Minor(dev uint64) uint32 {
|
|
17
|
+
minor := uint32((dev & 0x000000ff) >> 0)
|
|
18
|
+
minor |= uint32((dev & 0xffff0000) >> 8)
|
|
19
|
+
return minor
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
// Mkdev returns an OpenBSD device number generated from the given major and minor
|
|
23
|
+
// components.
|
|
24
|
+
func Mkdev(major, minor uint32) uint64 {
|
|
25
|
+
dev := (uint64(major) << 8) & 0x0000ff00
|
|
26
|
+
dev |= (uint64(minor) << 8) & 0xffff0000
|
|
27
|
+
dev |= (uint64(minor) << 0) & 0x000000ff
|
|
28
|
+
return dev
|
|
29
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
// Copyright 2020 The Go Authors. All rights reserved.
|
|
2
|
+
// Use of this source code is governed by a BSD-style
|
|
3
|
+
// license that can be found in the LICENSE file.
|
|
4
|
+
|
|
5
|
+
//go:build zos && s390x
|
|
6
|
+
|
|
7
|
+
// Functions to access/create device major and minor numbers matching the
|
|
8
|
+
// encoding used by z/OS.
|
|
9
|
+
//
|
|
10
|
+
// The information below is extracted and adapted from <sys/stat.h> macros.
|
|
11
|
+
|
|
12
|
+
package unix
|
|
13
|
+
|
|
14
|
+
// Major returns the major component of a z/OS device number.
|
|
15
|
+
func Major(dev uint64) uint32 {
|
|
16
|
+
return uint32((dev >> 16) & 0x0000FFFF)
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
// Minor returns the minor component of a z/OS device number.
|
|
20
|
+
func Minor(dev uint64) uint32 {
|
|
21
|
+
return uint32(dev & 0x0000FFFF)
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
// Mkdev returns a z/OS device number generated from the given major and minor
|
|
25
|
+
// components.
|
|
26
|
+
func Mkdev(major, minor uint32) uint64 {
|
|
27
|
+
return (uint64(major) << 16) | uint64(minor)
|
|
28
|
+
}
|