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.
Files changed (504) hide show
  1. package/.gitattributes +1 -0
  2. package/.github/workflows/ci.yml +1 -1
  3. package/.github/workflows/npm-publish-github-packages.yml +1 -1
  4. package/CHANGELOG.md +247 -0
  5. package/CONTRIBUTION.md +1 -1
  6. package/README.md +30 -21
  7. package/bin/cli.js +3 -1
  8. package/bin/go/bridge.js +919 -0
  9. package/bin/go/convert.js +238 -0
  10. package/bin/go/metadata.js +211 -0
  11. package/bin/go/overrides.js +68 -0
  12. package/bin/go/stdlib.generated.js +175 -0
  13. package/bin/index.js +98 -6
  14. package/bin/main.js +4 -1
  15. package/bin/node/assert.js +344 -0
  16. package/bin/node/async_hooks.js +273 -0
  17. package/bin/node/buffer.js +765 -0
  18. package/bin/node/child_process.js +600 -0
  19. package/bin/node/cluster.js +1002 -0
  20. package/bin/node/console.js +121 -0
  21. package/bin/node/core.js +111 -0
  22. package/bin/node/crypto.js +414 -0
  23. package/bin/node/crypto_keys.js +2685 -0
  24. package/bin/node/dgram.js +388 -0
  25. package/bin/node/diagnostics_channel.js +534 -0
  26. package/bin/node/dns.js +635 -0
  27. package/bin/node/events.js +743 -0
  28. package/bin/node/fetch.js +737 -0
  29. package/bin/node/fs.js +998 -0
  30. package/bin/node/http.js +1500 -0
  31. package/bin/node/http2.js +688 -0
  32. package/bin/node/net.js +1143 -0
  33. package/bin/node/os.js +257 -0
  34. package/bin/node/path.js +758 -0
  35. package/bin/node/process.js +316 -0
  36. package/bin/node/punycode.js +195 -0
  37. package/bin/node/querystring.js +143 -0
  38. package/bin/node/readline.js +299 -0
  39. package/bin/node/registry.js +161 -0
  40. package/bin/node/sqlite.js +1142 -0
  41. package/bin/node/stream.js +1221 -0
  42. package/bin/node/stream_web.js +2259 -0
  43. package/bin/node/string_decoder.js +101 -0
  44. package/bin/node/system_extra.js +661 -0
  45. package/bin/node/test.js +1068 -0
  46. package/bin/node/timers.js +250 -0
  47. package/bin/node/tls.js +719 -0
  48. package/bin/node/url.js +861 -0
  49. package/bin/node/util.js +1311 -0
  50. package/bin/node/util_extra.js +599 -0
  51. package/bin/node/worker_threads.js +745 -0
  52. package/bin/node/zlib.js +263 -0
  53. package/bin/parse-native.js +3 -2
  54. package/bin/parse-node.js +18 -2
  55. package/bin/transpiler.js +3529 -597
  56. package/bin/version.js +2 -0
  57. package/conformance.md +724 -258
  58. package/govendor/github.com/ncruces/go-sqlite3/LICENSE +21 -0
  59. package/govendor/github.com/ncruces/go-sqlite3/README.md +121 -0
  60. package/govendor/github.com/ncruces/go-sqlite3/backup.go +132 -0
  61. package/govendor/github.com/ncruces/go-sqlite3/blob.go +266 -0
  62. package/govendor/github.com/ncruces/go-sqlite3/config.go +397 -0
  63. package/govendor/github.com/ncruces/go-sqlite3/conn.go +540 -0
  64. package/govendor/github.com/ncruces/go-sqlite3/conn_127.go +93 -0
  65. package/govendor/github.com/ncruces/go-sqlite3/const.go +436 -0
  66. package/govendor/github.com/ncruces/go-sqlite3/context.go +222 -0
  67. package/govendor/github.com/ncruces/go-sqlite3/error.go +182 -0
  68. package/govendor/github.com/ncruces/go-sqlite3/ext.go +153 -0
  69. package/govendor/github.com/ncruces/go-sqlite3/func.go +309 -0
  70. package/govendor/github.com/ncruces/go-sqlite3/go.mod +3 -0
  71. package/govendor/github.com/ncruces/go-sqlite3/internal/dotlk/dotlk.go +29 -0
  72. package/govendor/github.com/ncruces/go-sqlite3/internal/dotlk/dotlk_other.go +13 -0
  73. package/govendor/github.com/ncruces/go-sqlite3/internal/dotlk/dotlk_unix.go +57 -0
  74. package/govendor/github.com/ncruces/go-sqlite3/internal/errutil/error.go +41 -0
  75. package/govendor/github.com/ncruces/go-sqlite3/internal/sqlite3_wrap/alloc.go +128 -0
  76. package/govendor/github.com/ncruces/go-sqlite3/internal/sqlite3_wrap/const.go +122 -0
  77. package/govendor/github.com/ncruces/go-sqlite3/internal/sqlite3_wrap/error.go +77 -0
  78. package/govendor/github.com/ncruces/go-sqlite3/internal/sqlite3_wrap/mem.go +116 -0
  79. package/govendor/github.com/ncruces/go-sqlite3/internal/sqlite3_wrap/mem_other.go +34 -0
  80. package/govendor/github.com/ncruces/go-sqlite3/internal/sqlite3_wrap/mem_unix.go +87 -0
  81. package/govendor/github.com/ncruces/go-sqlite3/internal/sqlite3_wrap/mem_windows.go +149 -0
  82. package/govendor/github.com/ncruces/go-sqlite3/internal/sqlite3_wrap/mmap_unix.go +80 -0
  83. package/govendor/github.com/ncruces/go-sqlite3/internal/sqlite3_wrap/mmap_windows.go +129 -0
  84. package/govendor/github.com/ncruces/go-sqlite3/internal/sqlite3_wrap/sys_windows.go +60 -0
  85. package/govendor/github.com/ncruces/go-sqlite3/internal/sqlite3_wrap/wrap.go +82 -0
  86. package/govendor/github.com/ncruces/go-sqlite3/internal/sqlite3_wrap/wrap_sys.go +113 -0
  87. package/govendor/github.com/ncruces/go-sqlite3/internal/sqlite3_wrap/wrap_vfs.go +181 -0
  88. package/govendor/github.com/ncruces/go-sqlite3/internal/testenv/env.go +55 -0
  89. package/govendor/github.com/ncruces/go-sqlite3/internal/util/json.go +54 -0
  90. package/govendor/github.com/ncruces/go-sqlite3/internal/util/json_v2.go +54 -0
  91. package/govendor/github.com/ncruces/go-sqlite3/internal/util/math.go +29 -0
  92. package/govendor/github.com/ncruces/go-sqlite3/internal/util/page.go +5 -0
  93. package/govendor/github.com/ncruces/go-sqlite3/internal/util/parse.go +142 -0
  94. package/govendor/github.com/ncruces/go-sqlite3/internal/util/pointer.go +3 -0
  95. package/govendor/github.com/ncruces/go-sqlite3/internal/util/reflect.go +10 -0
  96. package/govendor/github.com/ncruces/go-sqlite3/json.go +100 -0
  97. package/govendor/github.com/ncruces/go-sqlite3/json_v2.go +116 -0
  98. package/govendor/github.com/ncruces/go-sqlite3/pointer.go +13 -0
  99. package/govendor/github.com/ncruces/go-sqlite3/quote.go +140 -0
  100. package/govendor/github.com/ncruces/go-sqlite3/stmt.go +692 -0
  101. package/govendor/github.com/ncruces/go-sqlite3/time.go +360 -0
  102. package/govendor/github.com/ncruces/go-sqlite3/txn.go +374 -0
  103. package/govendor/github.com/ncruces/go-sqlite3/value.go +212 -0
  104. package/govendor/github.com/ncruces/go-sqlite3/vfs/README.md +133 -0
  105. package/govendor/github.com/ncruces/go-sqlite3/vfs/api.go +239 -0
  106. package/govendor/github.com/ncruces/go-sqlite3/vfs/cksm.go +143 -0
  107. package/govendor/github.com/ncruces/go-sqlite3/vfs/const.go +256 -0
  108. package/govendor/github.com/ncruces/go-sqlite3/vfs/file.go +260 -0
  109. package/govendor/github.com/ncruces/go-sqlite3/vfs/filename.go +187 -0
  110. package/govendor/github.com/ncruces/go-sqlite3/vfs/lock.go +128 -0
  111. package/govendor/github.com/ncruces/go-sqlite3/vfs/lock_other.go +23 -0
  112. package/govendor/github.com/ncruces/go-sqlite3/vfs/map.go +63 -0
  113. package/govendor/github.com/ncruces/go-sqlite3/vfs/map_other.go +13 -0
  114. package/govendor/github.com/ncruces/go-sqlite3/vfs/os_bsd.go +110 -0
  115. package/govendor/github.com/ncruces/go-sqlite3/vfs/os_darwin.go +131 -0
  116. package/govendor/github.com/ncruces/go-sqlite3/vfs/os_dotlk.go +140 -0
  117. package/govendor/github.com/ncruces/go-sqlite3/vfs/os_f2fs_linux.go +56 -0
  118. package/govendor/github.com/ncruces/go-sqlite3/vfs/os_linux.go +117 -0
  119. package/govendor/github.com/ncruces/go-sqlite3/vfs/os_ofd.go +59 -0
  120. package/govendor/github.com/ncruces/go-sqlite3/vfs/os_std.go +50 -0
  121. package/govendor/github.com/ncruces/go-sqlite3/vfs/os_std_alloc.go +19 -0
  122. package/govendor/github.com/ncruces/go-sqlite3/vfs/os_std_atomic.go +9 -0
  123. package/govendor/github.com/ncruces/go-sqlite3/vfs/os_std_rw.go +13 -0
  124. package/govendor/github.com/ncruces/go-sqlite3/vfs/os_std_sync.go +9 -0
  125. package/govendor/github.com/ncruces/go-sqlite3/vfs/os_std_temp.go +16 -0
  126. package/govendor/github.com/ncruces/go-sqlite3/vfs/os_unix.go +108 -0
  127. package/govendor/github.com/ncruces/go-sqlite3/vfs/os_windows.go +180 -0
  128. package/govendor/github.com/ncruces/go-sqlite3/vfs/registry.go +48 -0
  129. package/govendor/github.com/ncruces/go-sqlite3/vfs/shm.go +26 -0
  130. package/govendor/github.com/ncruces/go-sqlite3/vfs/shm_bsd.go +258 -0
  131. package/govendor/github.com/ncruces/go-sqlite3/vfs/shm_copy.go +90 -0
  132. package/govendor/github.com/ncruces/go-sqlite3/vfs/shm_dotlk.go +168 -0
  133. package/govendor/github.com/ncruces/go-sqlite3/vfs/shm_memlk.go +52 -0
  134. package/govendor/github.com/ncruces/go-sqlite3/vfs/shm_ofd.go +185 -0
  135. package/govendor/github.com/ncruces/go-sqlite3/vfs/shm_other.go +21 -0
  136. package/govendor/github.com/ncruces/go-sqlite3/vfs/shm_windows.go +124 -0
  137. package/govendor/github.com/ncruces/go-sqlite3/vfs/vfs.go +455 -0
  138. package/govendor/github.com/ncruces/go-sqlite3/vtab.go +677 -0
  139. package/govendor/github.com/ncruces/go-sqlite3/wrap.go +48 -0
  140. package/govendor/github.com/ncruces/go-sqlite3-wasm/v6/LICENSE +18 -0
  141. package/govendor/github.com/ncruces/go-sqlite3-wasm/v6/README.md +11 -0
  142. package/govendor/github.com/ncruces/go-sqlite3-wasm/v6/go.mod +3 -0
  143. package/govendor/github.com/ncruces/go-sqlite3-wasm/v6/libc.go +215 -0
  144. package/govendor/github.com/ncruces/go-sqlite3-wasm/v6/sqlite3.dat +0 -0
  145. package/govendor/github.com/ncruces/go-sqlite3-wasm/v6/sqlite3.go +157903 -0
  146. package/govendor/github.com/ncruces/go-sqlite3-wasm/v6/tools.sh +38 -0
  147. package/govendor/github.com/ncruces/julianday/LICENSE +21 -0
  148. package/govendor/github.com/ncruces/julianday/README.md +9 -0
  149. package/govendor/github.com/ncruces/julianday/go.mod +3 -0
  150. package/govendor/github.com/ncruces/julianday/julianday.go +124 -0
  151. package/govendor/golang.org/x/sys/LICENSE +27 -0
  152. package/govendor/golang.org/x/sys/PATENTS +22 -0
  153. package/govendor/golang.org/x/sys/go.mod +3 -0
  154. package/govendor/golang.org/x/sys/unix/README.md +184 -0
  155. package/govendor/golang.org/x/sys/unix/affinity_linux.go +189 -0
  156. package/govendor/golang.org/x/sys/unix/aliases.go +13 -0
  157. package/govendor/golang.org/x/sys/unix/asm_aix_ppc64.s +17 -0
  158. package/govendor/golang.org/x/sys/unix/asm_bsd_386.s +27 -0
  159. package/govendor/golang.org/x/sys/unix/asm_bsd_amd64.s +27 -0
  160. package/govendor/golang.org/x/sys/unix/asm_bsd_arm.s +27 -0
  161. package/govendor/golang.org/x/sys/unix/asm_bsd_arm64.s +27 -0
  162. package/govendor/golang.org/x/sys/unix/asm_bsd_ppc64.s +29 -0
  163. package/govendor/golang.org/x/sys/unix/asm_bsd_riscv64.s +27 -0
  164. package/govendor/golang.org/x/sys/unix/asm_linux_386.s +65 -0
  165. package/govendor/golang.org/x/sys/unix/asm_linux_amd64.s +57 -0
  166. package/govendor/golang.org/x/sys/unix/asm_linux_arm.s +56 -0
  167. package/govendor/golang.org/x/sys/unix/asm_linux_arm64.s +50 -0
  168. package/govendor/golang.org/x/sys/unix/asm_linux_loong64.s +51 -0
  169. package/govendor/golang.org/x/sys/unix/asm_linux_mips64x.s +54 -0
  170. package/govendor/golang.org/x/sys/unix/asm_linux_mipsx.s +52 -0
  171. package/govendor/golang.org/x/sys/unix/asm_linux_ppc64x.s +42 -0
  172. package/govendor/golang.org/x/sys/unix/asm_linux_riscv64.s +47 -0
  173. package/govendor/golang.org/x/sys/unix/asm_linux_s390x.s +54 -0
  174. package/govendor/golang.org/x/sys/unix/asm_openbsd_mips64.s +29 -0
  175. package/govendor/golang.org/x/sys/unix/asm_solaris_amd64.s +17 -0
  176. package/govendor/golang.org/x/sys/unix/asm_zos_s390x.s +382 -0
  177. package/govendor/golang.org/x/sys/unix/auxv.go +36 -0
  178. package/govendor/golang.org/x/sys/unix/auxv_unsupported.go +13 -0
  179. package/govendor/golang.org/x/sys/unix/bluetooth_linux.go +36 -0
  180. package/govendor/golang.org/x/sys/unix/bpxsvc_zos.go +657 -0
  181. package/govendor/golang.org/x/sys/unix/bpxsvc_zos.s +192 -0
  182. package/govendor/golang.org/x/sys/unix/cap_freebsd.go +195 -0
  183. package/govendor/golang.org/x/sys/unix/constants.go +13 -0
  184. package/govendor/golang.org/x/sys/unix/dev_aix_ppc.go +26 -0
  185. package/govendor/golang.org/x/sys/unix/dev_aix_ppc64.go +28 -0
  186. package/govendor/golang.org/x/sys/unix/dev_darwin.go +24 -0
  187. package/govendor/golang.org/x/sys/unix/dev_dragonfly.go +30 -0
  188. package/govendor/golang.org/x/sys/unix/dev_freebsd.go +30 -0
  189. package/govendor/golang.org/x/sys/unix/dev_linux.go +42 -0
  190. package/govendor/golang.org/x/sys/unix/dev_netbsd.go +29 -0
  191. package/govendor/golang.org/x/sys/unix/dev_openbsd.go +29 -0
  192. package/govendor/golang.org/x/sys/unix/dev_zos.go +28 -0
  193. package/govendor/golang.org/x/sys/unix/dirent.go +102 -0
  194. package/govendor/golang.org/x/sys/unix/endian_big.go +9 -0
  195. package/govendor/golang.org/x/sys/unix/endian_little.go +9 -0
  196. package/govendor/golang.org/x/sys/unix/env_unix.go +31 -0
  197. package/govendor/golang.org/x/sys/unix/fcntl.go +36 -0
  198. package/govendor/golang.org/x/sys/unix/fcntl_darwin.go +24 -0
  199. package/govendor/golang.org/x/sys/unix/fcntl_linux_32bit.go +13 -0
  200. package/govendor/golang.org/x/sys/unix/fdset.go +27 -0
  201. package/govendor/golang.org/x/sys/unix/gccgo.go +59 -0
  202. package/govendor/golang.org/x/sys/unix/gccgo_c.c +44 -0
  203. package/govendor/golang.org/x/sys/unix/gccgo_linux_amd64.go +20 -0
  204. package/govendor/golang.org/x/sys/unix/ifreq_linux.go +145 -0
  205. package/govendor/golang.org/x/sys/unix/ioctl_linux.go +341 -0
  206. package/govendor/golang.org/x/sys/unix/ioctl_signed.go +74 -0
  207. package/govendor/golang.org/x/sys/unix/ioctl_unsigned.go +74 -0
  208. package/govendor/golang.org/x/sys/unix/ioctl_zos.go +71 -0
  209. package/govendor/golang.org/x/sys/unix/mkall.sh +250 -0
  210. package/govendor/golang.org/x/sys/unix/mkerrors.sh +807 -0
  211. package/govendor/golang.org/x/sys/unix/mmap_nomremap.go +13 -0
  212. package/govendor/golang.org/x/sys/unix/mremap.go +57 -0
  213. package/govendor/golang.org/x/sys/unix/pagesize_unix.go +15 -0
  214. package/govendor/golang.org/x/sys/unix/pledge_openbsd.go +111 -0
  215. package/govendor/golang.org/x/sys/unix/ptrace_darwin.go +11 -0
  216. package/govendor/golang.org/x/sys/unix/ptrace_ios.go +11 -0
  217. package/govendor/golang.org/x/sys/unix/race.go +30 -0
  218. package/govendor/golang.org/x/sys/unix/race0.go +25 -0
  219. package/govendor/golang.org/x/sys/unix/readdirent_getdents.go +12 -0
  220. package/govendor/golang.org/x/sys/unix/readdirent_getdirentries.go +19 -0
  221. package/govendor/golang.org/x/sys/unix/readv_unix.go +103 -0
  222. package/govendor/golang.org/x/sys/unix/sockcmsg_dragonfly.go +16 -0
  223. package/govendor/golang.org/x/sys/unix/sockcmsg_linux.go +85 -0
  224. package/govendor/golang.org/x/sys/unix/sockcmsg_unix.go +106 -0
  225. package/govendor/golang.org/x/sys/unix/sockcmsg_unix_other.go +46 -0
  226. package/govendor/golang.org/x/sys/unix/sockcmsg_zos.go +58 -0
  227. package/govendor/golang.org/x/sys/unix/symaddr_zos_s390x.s +75 -0
  228. package/govendor/golang.org/x/sys/unix/syscall.go +86 -0
  229. package/govendor/golang.org/x/sys/unix/syscall_aix.go +582 -0
  230. package/govendor/golang.org/x/sys/unix/syscall_aix_ppc.go +52 -0
  231. package/govendor/golang.org/x/sys/unix/syscall_aix_ppc64.go +83 -0
  232. package/govendor/golang.org/x/sys/unix/syscall_bsd.go +609 -0
  233. package/govendor/golang.org/x/sys/unix/syscall_darwin.go +711 -0
  234. package/govendor/golang.org/x/sys/unix/syscall_darwin_amd64.go +50 -0
  235. package/govendor/golang.org/x/sys/unix/syscall_darwin_arm64.go +50 -0
  236. package/govendor/golang.org/x/sys/unix/syscall_darwin_libSystem.go +26 -0
  237. package/govendor/golang.org/x/sys/unix/syscall_dragonfly.go +359 -0
  238. package/govendor/golang.org/x/sys/unix/syscall_dragonfly_amd64.go +56 -0
  239. package/govendor/golang.org/x/sys/unix/syscall_freebsd.go +455 -0
  240. package/govendor/golang.org/x/sys/unix/syscall_freebsd_386.go +64 -0
  241. package/govendor/golang.org/x/sys/unix/syscall_freebsd_amd64.go +64 -0
  242. package/govendor/golang.org/x/sys/unix/syscall_freebsd_arm.go +60 -0
  243. package/govendor/golang.org/x/sys/unix/syscall_freebsd_arm64.go +60 -0
  244. package/govendor/golang.org/x/sys/unix/syscall_freebsd_riscv64.go +60 -0
  245. package/govendor/golang.org/x/sys/unix/syscall_hurd.go +30 -0
  246. package/govendor/golang.org/x/sys/unix/syscall_hurd_386.go +28 -0
  247. package/govendor/golang.org/x/sys/unix/syscall_illumos.go +78 -0
  248. package/govendor/golang.org/x/sys/unix/syscall_linux.go +2574 -0
  249. package/govendor/golang.org/x/sys/unix/syscall_linux_386.go +313 -0
  250. package/govendor/golang.org/x/sys/unix/syscall_linux_alarm.go +12 -0
  251. package/govendor/golang.org/x/sys/unix/syscall_linux_amd64.go +144 -0
  252. package/govendor/golang.org/x/sys/unix/syscall_linux_amd64_gc.go +12 -0
  253. package/govendor/golang.org/x/sys/unix/syscall_linux_arm.go +218 -0
  254. package/govendor/golang.org/x/sys/unix/syscall_linux_arm64.go +188 -0
  255. package/govendor/golang.org/x/sys/unix/syscall_linux_gc.go +14 -0
  256. package/govendor/golang.org/x/sys/unix/syscall_linux_gc_386.go +16 -0
  257. package/govendor/golang.org/x/sys/unix/syscall_linux_gc_arm.go +13 -0
  258. package/govendor/golang.org/x/sys/unix/syscall_linux_gccgo_386.go +30 -0
  259. package/govendor/golang.org/x/sys/unix/syscall_linux_gccgo_arm.go +20 -0
  260. package/govendor/golang.org/x/sys/unix/syscall_linux_loong64.go +220 -0
  261. package/govendor/golang.org/x/sys/unix/syscall_linux_mips64x.go +187 -0
  262. package/govendor/golang.org/x/sys/unix/syscall_linux_mipsx.go +173 -0
  263. package/govendor/golang.org/x/sys/unix/syscall_linux_ppc.go +203 -0
  264. package/govendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go +114 -0
  265. package/govendor/golang.org/x/sys/unix/syscall_linux_riscv64.go +193 -0
  266. package/govendor/golang.org/x/sys/unix/syscall_linux_s390x.go +295 -0
  267. package/govendor/golang.org/x/sys/unix/syscall_linux_sparc64.go +111 -0
  268. package/govendor/golang.org/x/sys/unix/syscall_netbsd.go +388 -0
  269. package/govendor/golang.org/x/sys/unix/syscall_netbsd_386.go +37 -0
  270. package/govendor/golang.org/x/sys/unix/syscall_netbsd_amd64.go +37 -0
  271. package/govendor/golang.org/x/sys/unix/syscall_netbsd_arm.go +37 -0
  272. package/govendor/golang.org/x/sys/unix/syscall_netbsd_arm64.go +37 -0
  273. package/govendor/golang.org/x/sys/unix/syscall_openbsd.go +346 -0
  274. package/govendor/golang.org/x/sys/unix/syscall_openbsd_386.go +41 -0
  275. package/govendor/golang.org/x/sys/unix/syscall_openbsd_amd64.go +41 -0
  276. package/govendor/golang.org/x/sys/unix/syscall_openbsd_arm.go +41 -0
  277. package/govendor/golang.org/x/sys/unix/syscall_openbsd_arm64.go +41 -0
  278. package/govendor/golang.org/x/sys/unix/syscall_openbsd_libc.go +26 -0
  279. package/govendor/golang.org/x/sys/unix/syscall_openbsd_mips64.go +39 -0
  280. package/govendor/golang.org/x/sys/unix/syscall_openbsd_ppc64.go +41 -0
  281. package/govendor/golang.org/x/sys/unix/syscall_openbsd_riscv64.go +41 -0
  282. package/govendor/golang.org/x/sys/unix/syscall_solaris.go +1183 -0
  283. package/govendor/golang.org/x/sys/unix/syscall_solaris_amd64.go +27 -0
  284. package/govendor/golang.org/x/sys/unix/syscall_unix.go +619 -0
  285. package/govendor/golang.org/x/sys/unix/syscall_unix_gc.go +14 -0
  286. package/govendor/golang.org/x/sys/unix/syscall_unix_gc_ppc64x.go +22 -0
  287. package/govendor/golang.org/x/sys/unix/syscall_zos_s390x.go +3213 -0
  288. package/govendor/golang.org/x/sys/unix/sysvshm_linux.go +20 -0
  289. package/govendor/golang.org/x/sys/unix/sysvshm_unix.go +51 -0
  290. package/govendor/golang.org/x/sys/unix/sysvshm_unix_other.go +13 -0
  291. package/govendor/golang.org/x/sys/unix/timestruct.go +76 -0
  292. package/govendor/golang.org/x/sys/unix/unveil_openbsd.go +51 -0
  293. package/govendor/golang.org/x/sys/unix/vgetrandom_linux.go +13 -0
  294. package/govendor/golang.org/x/sys/unix/vgetrandom_unsupported.go +11 -0
  295. package/govendor/golang.org/x/sys/unix/xattr_bsd.go +280 -0
  296. package/govendor/golang.org/x/sys/unix/zerrors_aix_ppc.go +1384 -0
  297. package/govendor/golang.org/x/sys/unix/zerrors_aix_ppc64.go +1385 -0
  298. package/govendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go +1922 -0
  299. package/govendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go +1922 -0
  300. package/govendor/golang.org/x/sys/unix/zerrors_dragonfly_amd64.go +1737 -0
  301. package/govendor/golang.org/x/sys/unix/zerrors_freebsd_386.go +2042 -0
  302. package/govendor/golang.org/x/sys/unix/zerrors_freebsd_amd64.go +2039 -0
  303. package/govendor/golang.org/x/sys/unix/zerrors_freebsd_arm.go +2033 -0
  304. package/govendor/golang.org/x/sys/unix/zerrors_freebsd_arm64.go +2033 -0
  305. package/govendor/golang.org/x/sys/unix/zerrors_freebsd_riscv64.go +2147 -0
  306. package/govendor/golang.org/x/sys/unix/zerrors_linux.go +4209 -0
  307. package/govendor/golang.org/x/sys/unix/zerrors_linux_386.go +882 -0
  308. package/govendor/golang.org/x/sys/unix/zerrors_linux_amd64.go +882 -0
  309. package/govendor/golang.org/x/sys/unix/zerrors_linux_arm.go +887 -0
  310. package/govendor/golang.org/x/sys/unix/zerrors_linux_arm64.go +884 -0
  311. package/govendor/golang.org/x/sys/unix/zerrors_linux_loong64.go +874 -0
  312. package/govendor/golang.org/x/sys/unix/zerrors_linux_mips.go +888 -0
  313. package/govendor/golang.org/x/sys/unix/zerrors_linux_mips64.go +888 -0
  314. package/govendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go +888 -0
  315. package/govendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go +888 -0
  316. package/govendor/golang.org/x/sys/unix/zerrors_linux_ppc.go +940 -0
  317. package/govendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go +944 -0
  318. package/govendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go +944 -0
  319. package/govendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go +884 -0
  320. package/govendor/golang.org/x/sys/unix/zerrors_linux_s390x.go +943 -0
  321. package/govendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go +992 -0
  322. package/govendor/golang.org/x/sys/unix/zerrors_netbsd_386.go +1779 -0
  323. package/govendor/golang.org/x/sys/unix/zerrors_netbsd_amd64.go +1769 -0
  324. package/govendor/golang.org/x/sys/unix/zerrors_netbsd_arm.go +1758 -0
  325. package/govendor/golang.org/x/sys/unix/zerrors_netbsd_arm64.go +1769 -0
  326. package/govendor/golang.org/x/sys/unix/zerrors_openbsd_386.go +1905 -0
  327. package/govendor/golang.org/x/sys/unix/zerrors_openbsd_amd64.go +1905 -0
  328. package/govendor/golang.org/x/sys/unix/zerrors_openbsd_arm.go +1905 -0
  329. package/govendor/golang.org/x/sys/unix/zerrors_openbsd_arm64.go +1905 -0
  330. package/govendor/golang.org/x/sys/unix/zerrors_openbsd_mips64.go +1905 -0
  331. package/govendor/golang.org/x/sys/unix/zerrors_openbsd_ppc64.go +1904 -0
  332. package/govendor/golang.org/x/sys/unix/zerrors_openbsd_riscv64.go +1903 -0
  333. package/govendor/golang.org/x/sys/unix/zerrors_solaris_amd64.go +1556 -0
  334. package/govendor/golang.org/x/sys/unix/zerrors_zos_s390x.go +990 -0
  335. package/govendor/golang.org/x/sys/unix/zptrace_armnn_linux.go +40 -0
  336. package/govendor/golang.org/x/sys/unix/zptrace_linux_arm64.go +17 -0
  337. package/govendor/golang.org/x/sys/unix/zptrace_mipsnn_linux.go +49 -0
  338. package/govendor/golang.org/x/sys/unix/zptrace_mipsnnle_linux.go +49 -0
  339. package/govendor/golang.org/x/sys/unix/zptrace_x86_linux.go +79 -0
  340. package/govendor/golang.org/x/sys/unix/zsymaddr_zos_s390x.s +364 -0
  341. package/govendor/golang.org/x/sys/unix/zsyscall_aix_ppc.go +1461 -0
  342. package/govendor/golang.org/x/sys/unix/zsyscall_aix_ppc64.go +1420 -0
  343. package/govendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gc.go +1188 -0
  344. package/govendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gccgo.go +1069 -0
  345. package/govendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go +2728 -0
  346. package/govendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s +799 -0
  347. package/govendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go +2728 -0
  348. package/govendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.s +799 -0
  349. package/govendor/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go +1666 -0
  350. package/govendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go +1886 -0
  351. package/govendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go +1886 -0
  352. package/govendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go +1886 -0
  353. package/govendor/golang.org/x/sys/unix/zsyscall_freebsd_arm64.go +1886 -0
  354. package/govendor/golang.org/x/sys/unix/zsyscall_freebsd_riscv64.go +1886 -0
  355. package/govendor/golang.org/x/sys/unix/zsyscall_illumos_amd64.go +101 -0
  356. package/govendor/golang.org/x/sys/unix/zsyscall_linux.go +2267 -0
  357. package/govendor/golang.org/x/sys/unix/zsyscall_linux_386.go +469 -0
  358. package/govendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go +636 -0
  359. package/govendor/golang.org/x/sys/unix/zsyscall_linux_arm.go +584 -0
  360. package/govendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go +535 -0
  361. package/govendor/golang.org/x/sys/unix/zsyscall_linux_loong64.go +469 -0
  362. package/govendor/golang.org/x/sys/unix/zsyscall_linux_mips.go +636 -0
  363. package/govendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go +630 -0
  364. package/govendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go +619 -0
  365. package/govendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go +636 -0
  366. package/govendor/golang.org/x/sys/unix/zsyscall_linux_ppc.go +641 -0
  367. package/govendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go +687 -0
  368. package/govendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go +687 -0
  369. package/govendor/golang.org/x/sys/unix/zsyscall_linux_riscv64.go +531 -0
  370. package/govendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go +478 -0
  371. package/govendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go +631 -0
  372. package/govendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go +1848 -0
  373. package/govendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go +1848 -0
  374. package/govendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go +1848 -0
  375. package/govendor/golang.org/x/sys/unix/zsyscall_netbsd_arm64.go +1848 -0
  376. package/govendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go +2407 -0
  377. package/govendor/golang.org/x/sys/unix/zsyscall_openbsd_386.s +719 -0
  378. package/govendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go +2407 -0
  379. package/govendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.s +719 -0
  380. package/govendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go +2407 -0
  381. package/govendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.s +719 -0
  382. package/govendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.go +2407 -0
  383. package/govendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.s +719 -0
  384. package/govendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.go +2407 -0
  385. package/govendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.s +719 -0
  386. package/govendor/golang.org/x/sys/unix/zsyscall_openbsd_ppc64.go +2407 -0
  387. package/govendor/golang.org/x/sys/unix/zsyscall_openbsd_ppc64.s +862 -0
  388. package/govendor/golang.org/x/sys/unix/zsyscall_openbsd_riscv64.go +2407 -0
  389. package/govendor/golang.org/x/sys/unix/zsyscall_openbsd_riscv64.s +719 -0
  390. package/govendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go +2217 -0
  391. package/govendor/golang.org/x/sys/unix/zsyscall_zos_s390x.go +3458 -0
  392. package/govendor/golang.org/x/sys/unix/zsysctl_openbsd_386.go +280 -0
  393. package/govendor/golang.org/x/sys/unix/zsysctl_openbsd_amd64.go +280 -0
  394. package/govendor/golang.org/x/sys/unix/zsysctl_openbsd_arm.go +280 -0
  395. package/govendor/golang.org/x/sys/unix/zsysctl_openbsd_arm64.go +280 -0
  396. package/govendor/golang.org/x/sys/unix/zsysctl_openbsd_mips64.go +280 -0
  397. package/govendor/golang.org/x/sys/unix/zsysctl_openbsd_ppc64.go +280 -0
  398. package/govendor/golang.org/x/sys/unix/zsysctl_openbsd_riscv64.go +281 -0
  399. package/govendor/golang.org/x/sys/unix/zsysnum_darwin_amd64.go +439 -0
  400. package/govendor/golang.org/x/sys/unix/zsysnum_darwin_arm64.go +437 -0
  401. package/govendor/golang.org/x/sys/unix/zsysnum_dragonfly_amd64.go +316 -0
  402. package/govendor/golang.org/x/sys/unix/zsysnum_freebsd_386.go +393 -0
  403. package/govendor/golang.org/x/sys/unix/zsysnum_freebsd_amd64.go +393 -0
  404. package/govendor/golang.org/x/sys/unix/zsysnum_freebsd_arm.go +393 -0
  405. package/govendor/golang.org/x/sys/unix/zsysnum_freebsd_arm64.go +393 -0
  406. package/govendor/golang.org/x/sys/unix/zsysnum_freebsd_riscv64.go +393 -0
  407. package/govendor/golang.org/x/sys/unix/zsysnum_linux_386.go +470 -0
  408. package/govendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go +394 -0
  409. package/govendor/golang.org/x/sys/unix/zsysnum_linux_arm.go +434 -0
  410. package/govendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go +337 -0
  411. package/govendor/golang.org/x/sys/unix/zsysnum_linux_loong64.go +334 -0
  412. package/govendor/golang.org/x/sys/unix/zsysnum_linux_mips.go +454 -0
  413. package/govendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go +384 -0
  414. package/govendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go +384 -0
  415. package/govendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go +454 -0
  416. package/govendor/golang.org/x/sys/unix/zsysnum_linux_ppc.go +461 -0
  417. package/govendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go +433 -0
  418. package/govendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go +433 -0
  419. package/govendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go +338 -0
  420. package/govendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go +399 -0
  421. package/govendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go +413 -0
  422. package/govendor/golang.org/x/sys/unix/zsysnum_netbsd_386.go +274 -0
  423. package/govendor/golang.org/x/sys/unix/zsysnum_netbsd_amd64.go +274 -0
  424. package/govendor/golang.org/x/sys/unix/zsysnum_netbsd_arm.go +274 -0
  425. package/govendor/golang.org/x/sys/unix/zsysnum_netbsd_arm64.go +274 -0
  426. package/govendor/golang.org/x/sys/unix/zsysnum_openbsd_386.go +219 -0
  427. package/govendor/golang.org/x/sys/unix/zsysnum_openbsd_amd64.go +219 -0
  428. package/govendor/golang.org/x/sys/unix/zsysnum_openbsd_arm.go +219 -0
  429. package/govendor/golang.org/x/sys/unix/zsysnum_openbsd_arm64.go +218 -0
  430. package/govendor/golang.org/x/sys/unix/zsysnum_openbsd_mips64.go +221 -0
  431. package/govendor/golang.org/x/sys/unix/zsysnum_openbsd_ppc64.go +217 -0
  432. package/govendor/golang.org/x/sys/unix/zsysnum_openbsd_riscv64.go +218 -0
  433. package/govendor/golang.org/x/sys/unix/zsysnum_zos_s390x.go +2852 -0
  434. package/govendor/golang.org/x/sys/unix/ztypes_aix_ppc.go +353 -0
  435. package/govendor/golang.org/x/sys/unix/ztypes_aix_ppc64.go +357 -0
  436. package/govendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go +878 -0
  437. package/govendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go +878 -0
  438. package/govendor/golang.org/x/sys/unix/ztypes_dragonfly_amd64.go +473 -0
  439. package/govendor/golang.org/x/sys/unix/ztypes_freebsd_386.go +651 -0
  440. package/govendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go +656 -0
  441. package/govendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go +642 -0
  442. package/govendor/golang.org/x/sys/unix/ztypes_freebsd_arm64.go +636 -0
  443. package/govendor/golang.org/x/sys/unix/ztypes_freebsd_riscv64.go +638 -0
  444. package/govendor/golang.org/x/sys/unix/ztypes_linux.go +6547 -0
  445. package/govendor/golang.org/x/sys/unix/ztypes_linux_386.go +747 -0
  446. package/govendor/golang.org/x/sys/unix/ztypes_linux_amd64.go +761 -0
  447. package/govendor/golang.org/x/sys/unix/ztypes_linux_arm.go +741 -0
  448. package/govendor/golang.org/x/sys/unix/ztypes_linux_arm64.go +740 -0
  449. package/govendor/golang.org/x/sys/unix/ztypes_linux_loong64.go +741 -0
  450. package/govendor/golang.org/x/sys/unix/ztypes_linux_mips.go +746 -0
  451. package/govendor/golang.org/x/sys/unix/ztypes_linux_mips64.go +743 -0
  452. package/govendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go +743 -0
  453. package/govendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go +746 -0
  454. package/govendor/golang.org/x/sys/unix/ztypes_linux_ppc.go +754 -0
  455. package/govendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go +749 -0
  456. package/govendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go +749 -0
  457. package/govendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go +828 -0
  458. package/govendor/golang.org/x/sys/unix/ztypes_linux_s390x.go +763 -0
  459. package/govendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go +744 -0
  460. package/govendor/golang.org/x/sys/unix/ztypes_netbsd_386.go +585 -0
  461. package/govendor/golang.org/x/sys/unix/ztypes_netbsd_amd64.go +593 -0
  462. package/govendor/golang.org/x/sys/unix/ztypes_netbsd_arm.go +590 -0
  463. package/govendor/golang.org/x/sys/unix/ztypes_netbsd_arm64.go +593 -0
  464. package/govendor/golang.org/x/sys/unix/ztypes_openbsd_386.go +568 -0
  465. package/govendor/golang.org/x/sys/unix/ztypes_openbsd_amd64.go +568 -0
  466. package/govendor/golang.org/x/sys/unix/ztypes_openbsd_arm.go +575 -0
  467. package/govendor/golang.org/x/sys/unix/ztypes_openbsd_arm64.go +568 -0
  468. package/govendor/golang.org/x/sys/unix/ztypes_openbsd_mips64.go +568 -0
  469. package/govendor/golang.org/x/sys/unix/ztypes_openbsd_ppc64.go +570 -0
  470. package/govendor/golang.org/x/sys/unix/ztypes_openbsd_riscv64.go +570 -0
  471. package/govendor/golang.org/x/sys/unix/ztypes_solaris_amd64.go +516 -0
  472. package/govendor/golang.org/x/sys/unix/ztypes_zos_s390x.go +552 -0
  473. package/govendor/golang.org/x/sys/windows/aliases.go +13 -0
  474. package/govendor/golang.org/x/sys/windows/dll_windows.go +380 -0
  475. package/govendor/golang.org/x/sys/windows/env_windows.go +57 -0
  476. package/govendor/golang.org/x/sys/windows/eventlog.go +20 -0
  477. package/govendor/golang.org/x/sys/windows/exec_windows.go +248 -0
  478. package/govendor/golang.org/x/sys/windows/memory_windows.go +48 -0
  479. package/govendor/golang.org/x/sys/windows/mkerrors.bash +70 -0
  480. package/govendor/golang.org/x/sys/windows/mkknownfolderids.bash +27 -0
  481. package/govendor/golang.org/x/sys/windows/mksyscall.go +9 -0
  482. package/govendor/golang.org/x/sys/windows/race.go +30 -0
  483. package/govendor/golang.org/x/sys/windows/race0.go +25 -0
  484. package/govendor/golang.org/x/sys/windows/security_windows.go +1537 -0
  485. package/govendor/golang.org/x/sys/windows/service.go +257 -0
  486. package/govendor/golang.org/x/sys/windows/setupapi_windows.go +1425 -0
  487. package/govendor/golang.org/x/sys/windows/str.go +22 -0
  488. package/govendor/golang.org/x/sys/windows/syscall.go +104 -0
  489. package/govendor/golang.org/x/sys/windows/syscall_windows.go +1952 -0
  490. package/govendor/golang.org/x/sys/windows/types_windows.go +4058 -0
  491. package/govendor/golang.org/x/sys/windows/types_windows_386.go +35 -0
  492. package/govendor/golang.org/x/sys/windows/types_windows_amd64.go +34 -0
  493. package/govendor/golang.org/x/sys/windows/types_windows_arm.go +35 -0
  494. package/govendor/golang.org/x/sys/windows/types_windows_arm64.go +34 -0
  495. package/govendor/golang.org/x/sys/windows/zerrors_windows.go +9468 -0
  496. package/govendor/golang.org/x/sys/windows/zknownfolderids_windows.go +149 -0
  497. package/govendor/golang.org/x/sys/windows/zsyscall_windows.go +4828 -0
  498. package/govendor/manifest.txt +7 -0
  499. package/package.json +6 -1
  500. package/tsparser/main.go +37 -3
  501. package/tsparser/tsparser.exe +2 -2
  502. package/types/typenative-go.d.ts +15159 -5
  503. package/types/typenative-npm.d.ts +2637 -30
  504. package/types/typenative.d.ts +1092 -56
@@ -0,0 +1,657 @@
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
+ //go:build zos
6
+
7
+ package unix
8
+
9
+ import (
10
+ "bytes"
11
+ "fmt"
12
+ "unsafe"
13
+ )
14
+
15
+ //go:noescape
16
+ func bpxcall(plist []unsafe.Pointer, bpx_offset int64)
17
+
18
+ //go:noescape
19
+ func A2e([]byte)
20
+
21
+ //go:noescape
22
+ func E2a([]byte)
23
+
24
+ const (
25
+ BPX4STA = 192 // stat
26
+ BPX4FST = 104 // fstat
27
+ BPX4LST = 132 // lstat
28
+ BPX4OPN = 156 // open
29
+ BPX4CLO = 72 // close
30
+ BPX4CHR = 500 // chattr
31
+ BPX4FCR = 504 // fchattr
32
+ BPX4LCR = 1180 // lchattr
33
+ BPX4CTW = 492 // cond_timed_wait
34
+ BPX4GTH = 1056 // __getthent
35
+ BPX4PTQ = 412 // pthread_quiesc
36
+ BPX4PTR = 320 // ptrace
37
+ )
38
+
39
+ const (
40
+ //options
41
+ //byte1
42
+ BPX_OPNFHIGH = 0x80
43
+ //byte2
44
+ BPX_OPNFEXEC = 0x80
45
+ //byte3
46
+ BPX_O_NOLARGEFILE = 0x08
47
+ BPX_O_LARGEFILE = 0x04
48
+ BPX_O_ASYNCSIG = 0x02
49
+ BPX_O_SYNC = 0x01
50
+ //byte4
51
+ BPX_O_CREXCL = 0xc0
52
+ BPX_O_CREAT = 0x80
53
+ BPX_O_EXCL = 0x40
54
+ BPX_O_NOCTTY = 0x20
55
+ BPX_O_TRUNC = 0x10
56
+ BPX_O_APPEND = 0x08
57
+ BPX_O_NONBLOCK = 0x04
58
+ BPX_FNDELAY = 0x04
59
+ BPX_O_RDWR = 0x03
60
+ BPX_O_RDONLY = 0x02
61
+ BPX_O_WRONLY = 0x01
62
+ BPX_O_ACCMODE = 0x03
63
+ BPX_O_GETFL = 0x0f
64
+
65
+ //mode
66
+ // byte1 (file type)
67
+ BPX_FT_DIR = 1
68
+ BPX_FT_CHARSPEC = 2
69
+ BPX_FT_REGFILE = 3
70
+ BPX_FT_FIFO = 4
71
+ BPX_FT_SYMLINK = 5
72
+ BPX_FT_SOCKET = 6
73
+ //byte3
74
+ BPX_S_ISUID = 0x08
75
+ BPX_S_ISGID = 0x04
76
+ BPX_S_ISVTX = 0x02
77
+ BPX_S_IRWXU1 = 0x01
78
+ BPX_S_IRUSR = 0x01
79
+ //byte4
80
+ BPX_S_IRWXU2 = 0xc0
81
+ BPX_S_IWUSR = 0x80
82
+ BPX_S_IXUSR = 0x40
83
+ BPX_S_IRWXG = 0x38
84
+ BPX_S_IRGRP = 0x20
85
+ BPX_S_IWGRP = 0x10
86
+ BPX_S_IXGRP = 0x08
87
+ BPX_S_IRWXOX = 0x07
88
+ BPX_S_IROTH = 0x04
89
+ BPX_S_IWOTH = 0x02
90
+ BPX_S_IXOTH = 0x01
91
+
92
+ CW_INTRPT = 1
93
+ CW_CONDVAR = 32
94
+ CW_TIMEOUT = 64
95
+
96
+ PGTHA_NEXT = 2
97
+ PGTHA_CURRENT = 1
98
+ PGTHA_FIRST = 0
99
+ PGTHA_LAST = 3
100
+ PGTHA_PROCESS = 0x80
101
+ PGTHA_CONTTY = 0x40
102
+ PGTHA_PATH = 0x20
103
+ PGTHA_COMMAND = 0x10
104
+ PGTHA_FILEDATA = 0x08
105
+ PGTHA_THREAD = 0x04
106
+ PGTHA_PTAG = 0x02
107
+ PGTHA_COMMANDLONG = 0x01
108
+ PGTHA_THREADFAST = 0x80
109
+ PGTHA_FILEPATH = 0x40
110
+ PGTHA_THDSIGMASK = 0x20
111
+ // thread quiece mode
112
+ QUIESCE_TERM int32 = 1
113
+ QUIESCE_FORCE int32 = 2
114
+ QUIESCE_QUERY int32 = 3
115
+ QUIESCE_FREEZE int32 = 4
116
+ QUIESCE_UNFREEZE int32 = 5
117
+ FREEZE_THIS_THREAD int32 = 6
118
+ FREEZE_EXIT int32 = 8
119
+ QUIESCE_SRB int32 = 9
120
+ )
121
+
122
+ type Pgtha struct {
123
+ Pid uint32 // 0
124
+ Tid0 uint32 // 4
125
+ Tid1 uint32
126
+ Accesspid byte // C
127
+ Accesstid byte // D
128
+ Accessasid uint16 // E
129
+ Loginname [8]byte // 10
130
+ Flag1 byte // 18
131
+ Flag1b2 byte // 19
132
+ }
133
+
134
+ type Bpxystat_t struct { // DSECT BPXYSTAT
135
+ St_id [4]uint8 // 0
136
+ St_length uint16 // 0x4
137
+ St_version uint16 // 0x6
138
+ St_mode uint32 // 0x8
139
+ St_ino uint32 // 0xc
140
+ St_dev uint32 // 0x10
141
+ St_nlink uint32 // 0x14
142
+ St_uid uint32 // 0x18
143
+ St_gid uint32 // 0x1c
144
+ St_size uint64 // 0x20
145
+ St_atime uint32 // 0x28
146
+ St_mtime uint32 // 0x2c
147
+ St_ctime uint32 // 0x30
148
+ St_rdev uint32 // 0x34
149
+ St_auditoraudit uint32 // 0x38
150
+ St_useraudit uint32 // 0x3c
151
+ St_blksize uint32 // 0x40
152
+ St_createtime uint32 // 0x44
153
+ St_auditid [4]uint32 // 0x48
154
+ St_res01 uint32 // 0x58
155
+ Ft_ccsid uint16 // 0x5c
156
+ Ft_flags uint16 // 0x5e
157
+ St_res01a [2]uint32 // 0x60
158
+ St_res02 uint32 // 0x68
159
+ St_blocks uint32 // 0x6c
160
+ St_opaque [3]uint8 // 0x70
161
+ St_visible uint8 // 0x73
162
+ St_reftime uint32 // 0x74
163
+ St_fid uint64 // 0x78
164
+ St_filefmt uint8 // 0x80
165
+ St_fspflag2 uint8 // 0x81
166
+ St_res03 [2]uint8 // 0x82
167
+ St_ctimemsec uint32 // 0x84
168
+ St_seclabel [8]uint8 // 0x88
169
+ St_res04 [4]uint8 // 0x90
170
+ // end of version 1
171
+ _ uint32 // 0x94
172
+ St_atime64 uint64 // 0x98
173
+ St_mtime64 uint64 // 0xa0
174
+ St_ctime64 uint64 // 0xa8
175
+ St_createtime64 uint64 // 0xb0
176
+ St_reftime64 uint64 // 0xb8
177
+ _ uint64 // 0xc0
178
+ St_res05 [16]uint8 // 0xc8
179
+ // end of version 2
180
+ }
181
+
182
+ type BpxFilestatus struct {
183
+ Oflag1 byte
184
+ Oflag2 byte
185
+ Oflag3 byte
186
+ Oflag4 byte
187
+ }
188
+
189
+ type BpxMode struct {
190
+ Ftype byte
191
+ Mode1 byte
192
+ Mode2 byte
193
+ Mode3 byte
194
+ }
195
+
196
+ // Thr attribute structure for extended attributes
197
+ type Bpxyatt_t struct { // DSECT BPXYATT
198
+ Att_id [4]uint8
199
+ Att_version uint16
200
+ Att_res01 [2]uint8
201
+ Att_setflags1 uint8
202
+ Att_setflags2 uint8
203
+ Att_setflags3 uint8
204
+ Att_setflags4 uint8
205
+ Att_mode uint32
206
+ Att_uid uint32
207
+ Att_gid uint32
208
+ Att_opaquemask [3]uint8
209
+ Att_visblmaskres uint8
210
+ Att_opaque [3]uint8
211
+ Att_visibleres uint8
212
+ Att_size_h uint32
213
+ Att_size_l uint32
214
+ Att_atime uint32
215
+ Att_mtime uint32
216
+ Att_auditoraudit uint32
217
+ Att_useraudit uint32
218
+ Att_ctime uint32
219
+ Att_reftime uint32
220
+ // end of version 1
221
+ Att_filefmt uint8
222
+ Att_res02 [3]uint8
223
+ Att_filetag uint32
224
+ Att_res03 [8]uint8
225
+ // end of version 2
226
+ Att_atime64 uint64
227
+ Att_mtime64 uint64
228
+ Att_ctime64 uint64
229
+ Att_reftime64 uint64
230
+ Att_seclabel [8]uint8
231
+ Att_ver3res02 [8]uint8
232
+ // end of version 3
233
+ }
234
+
235
+ func BpxOpen(name string, options *BpxFilestatus, mode *BpxMode) (rv int32, rc int32, rn int32) {
236
+ if len(name) < 1024 {
237
+ var namebuf [1024]byte
238
+ sz := int32(copy(namebuf[:], name))
239
+ A2e(namebuf[:sz])
240
+ var parms [7]unsafe.Pointer
241
+ parms[0] = unsafe.Pointer(&sz)
242
+ parms[1] = unsafe.Pointer(&namebuf[0])
243
+ parms[2] = unsafe.Pointer(options)
244
+ parms[3] = unsafe.Pointer(mode)
245
+ parms[4] = unsafe.Pointer(&rv)
246
+ parms[5] = unsafe.Pointer(&rc)
247
+ parms[6] = unsafe.Pointer(&rn)
248
+ bpxcall(parms[:], BPX4OPN)
249
+ return rv, rc, rn
250
+ }
251
+ return -1, -1, -1
252
+ }
253
+
254
+ func BpxClose(fd int32) (rv int32, rc int32, rn int32) {
255
+ var parms [4]unsafe.Pointer
256
+ parms[0] = unsafe.Pointer(&fd)
257
+ parms[1] = unsafe.Pointer(&rv)
258
+ parms[2] = unsafe.Pointer(&rc)
259
+ parms[3] = unsafe.Pointer(&rn)
260
+ bpxcall(parms[:], BPX4CLO)
261
+ return rv, rc, rn
262
+ }
263
+
264
+ func BpxFileFStat(fd int32, st *Bpxystat_t) (rv int32, rc int32, rn int32) {
265
+ st.St_id = [4]uint8{0xe2, 0xe3, 0xc1, 0xe3}
266
+ st.St_version = 2
267
+ stat_sz := uint32(unsafe.Sizeof(*st))
268
+ var parms [6]unsafe.Pointer
269
+ parms[0] = unsafe.Pointer(&fd)
270
+ parms[1] = unsafe.Pointer(&stat_sz)
271
+ parms[2] = unsafe.Pointer(st)
272
+ parms[3] = unsafe.Pointer(&rv)
273
+ parms[4] = unsafe.Pointer(&rc)
274
+ parms[5] = unsafe.Pointer(&rn)
275
+ bpxcall(parms[:], BPX4FST)
276
+ return rv, rc, rn
277
+ }
278
+
279
+ func BpxFileStat(name string, st *Bpxystat_t) (rv int32, rc int32, rn int32) {
280
+ if len(name) < 1024 {
281
+ var namebuf [1024]byte
282
+ sz := int32(copy(namebuf[:], name))
283
+ A2e(namebuf[:sz])
284
+ st.St_id = [4]uint8{0xe2, 0xe3, 0xc1, 0xe3}
285
+ st.St_version = 2
286
+ stat_sz := uint32(unsafe.Sizeof(*st))
287
+ var parms [7]unsafe.Pointer
288
+ parms[0] = unsafe.Pointer(&sz)
289
+ parms[1] = unsafe.Pointer(&namebuf[0])
290
+ parms[2] = unsafe.Pointer(&stat_sz)
291
+ parms[3] = unsafe.Pointer(st)
292
+ parms[4] = unsafe.Pointer(&rv)
293
+ parms[5] = unsafe.Pointer(&rc)
294
+ parms[6] = unsafe.Pointer(&rn)
295
+ bpxcall(parms[:], BPX4STA)
296
+ return rv, rc, rn
297
+ }
298
+ return -1, -1, -1
299
+ }
300
+
301
+ func BpxFileLStat(name string, st *Bpxystat_t) (rv int32, rc int32, rn int32) {
302
+ if len(name) < 1024 {
303
+ var namebuf [1024]byte
304
+ sz := int32(copy(namebuf[:], name))
305
+ A2e(namebuf[:sz])
306
+ st.St_id = [4]uint8{0xe2, 0xe3, 0xc1, 0xe3}
307
+ st.St_version = 2
308
+ stat_sz := uint32(unsafe.Sizeof(*st))
309
+ var parms [7]unsafe.Pointer
310
+ parms[0] = unsafe.Pointer(&sz)
311
+ parms[1] = unsafe.Pointer(&namebuf[0])
312
+ parms[2] = unsafe.Pointer(&stat_sz)
313
+ parms[3] = unsafe.Pointer(st)
314
+ parms[4] = unsafe.Pointer(&rv)
315
+ parms[5] = unsafe.Pointer(&rc)
316
+ parms[6] = unsafe.Pointer(&rn)
317
+ bpxcall(parms[:], BPX4LST)
318
+ return rv, rc, rn
319
+ }
320
+ return -1, -1, -1
321
+ }
322
+
323
+ func BpxChattr(path string, attr *Bpxyatt_t) (rv int32, rc int32, rn int32) {
324
+ if len(path) >= 1024 {
325
+ return -1, -1, -1
326
+ }
327
+ var namebuf [1024]byte
328
+ sz := int32(copy(namebuf[:], path))
329
+ A2e(namebuf[:sz])
330
+ attr_sz := uint32(unsafe.Sizeof(*attr))
331
+ var parms [7]unsafe.Pointer
332
+ parms[0] = unsafe.Pointer(&sz)
333
+ parms[1] = unsafe.Pointer(&namebuf[0])
334
+ parms[2] = unsafe.Pointer(&attr_sz)
335
+ parms[3] = unsafe.Pointer(attr)
336
+ parms[4] = unsafe.Pointer(&rv)
337
+ parms[5] = unsafe.Pointer(&rc)
338
+ parms[6] = unsafe.Pointer(&rn)
339
+ bpxcall(parms[:], BPX4CHR)
340
+ return rv, rc, rn
341
+ }
342
+
343
+ func BpxLchattr(path string, attr *Bpxyatt_t) (rv int32, rc int32, rn int32) {
344
+ if len(path) >= 1024 {
345
+ return -1, -1, -1
346
+ }
347
+ var namebuf [1024]byte
348
+ sz := int32(copy(namebuf[:], path))
349
+ A2e(namebuf[:sz])
350
+ attr_sz := uint32(unsafe.Sizeof(*attr))
351
+ var parms [7]unsafe.Pointer
352
+ parms[0] = unsafe.Pointer(&sz)
353
+ parms[1] = unsafe.Pointer(&namebuf[0])
354
+ parms[2] = unsafe.Pointer(&attr_sz)
355
+ parms[3] = unsafe.Pointer(attr)
356
+ parms[4] = unsafe.Pointer(&rv)
357
+ parms[5] = unsafe.Pointer(&rc)
358
+ parms[6] = unsafe.Pointer(&rn)
359
+ bpxcall(parms[:], BPX4LCR)
360
+ return rv, rc, rn
361
+ }
362
+
363
+ func BpxFchattr(fd int32, attr *Bpxyatt_t) (rv int32, rc int32, rn int32) {
364
+ attr_sz := uint32(unsafe.Sizeof(*attr))
365
+ var parms [6]unsafe.Pointer
366
+ parms[0] = unsafe.Pointer(&fd)
367
+ parms[1] = unsafe.Pointer(&attr_sz)
368
+ parms[2] = unsafe.Pointer(attr)
369
+ parms[3] = unsafe.Pointer(&rv)
370
+ parms[4] = unsafe.Pointer(&rc)
371
+ parms[5] = unsafe.Pointer(&rn)
372
+ bpxcall(parms[:], BPX4FCR)
373
+ return rv, rc, rn
374
+ }
375
+
376
+ func BpxCondTimedWait(sec uint32, nsec uint32, events uint32, secrem *uint32, nsecrem *uint32) (rv int32, rc int32, rn int32) {
377
+ var parms [8]unsafe.Pointer
378
+ parms[0] = unsafe.Pointer(&sec)
379
+ parms[1] = unsafe.Pointer(&nsec)
380
+ parms[2] = unsafe.Pointer(&events)
381
+ parms[3] = unsafe.Pointer(secrem)
382
+ parms[4] = unsafe.Pointer(nsecrem)
383
+ parms[5] = unsafe.Pointer(&rv)
384
+ parms[6] = unsafe.Pointer(&rc)
385
+ parms[7] = unsafe.Pointer(&rn)
386
+ bpxcall(parms[:], BPX4CTW)
387
+ return rv, rc, rn
388
+ }
389
+ func BpxGetthent(in *Pgtha, outlen *uint32, out unsafe.Pointer) (rv int32, rc int32, rn int32) {
390
+ var parms [7]unsafe.Pointer
391
+ 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
392
+ parms[0] = unsafe.Pointer(&inlen)
393
+ parms[1] = unsafe.Pointer(&in)
394
+ parms[2] = unsafe.Pointer(outlen)
395
+ parms[3] = unsafe.Pointer(&out)
396
+ parms[4] = unsafe.Pointer(&rv)
397
+ parms[5] = unsafe.Pointer(&rc)
398
+ parms[6] = unsafe.Pointer(&rn)
399
+ bpxcall(parms[:], BPX4GTH)
400
+ return rv, rc, rn
401
+ }
402
+ func ZosJobname() (jobname string, err error) {
403
+ var pgtha Pgtha
404
+ pgtha.Pid = uint32(Getpid())
405
+ pgtha.Accesspid = PGTHA_CURRENT
406
+ pgtha.Flag1 = PGTHA_PROCESS
407
+ var out [256]byte
408
+ var outlen uint32
409
+ outlen = 256
410
+ rv, rc, rn := BpxGetthent(&pgtha, &outlen, unsafe.Pointer(&out[0]))
411
+ if rv == 0 {
412
+ gthc := []byte{0x87, 0xa3, 0x88, 0x83} // 'gthc' in ebcdic
413
+ ix := bytes.Index(out[:], gthc)
414
+ if ix == -1 {
415
+ err = fmt.Errorf("BPX4GTH: gthc return data not found")
416
+ return
417
+ }
418
+ jn := out[ix+80 : ix+88] // we didn't declare Pgthc, but jobname is 8-byte at offset 80
419
+ E2a(jn)
420
+ jobname = string(bytes.TrimRight(jn, " "))
421
+
422
+ } else {
423
+ err = fmt.Errorf("BPX4GTH: rc=%d errno=%d reason=code=0x%x", rv, rc, rn)
424
+ }
425
+ return
426
+ }
427
+ func Bpx4ptq(code int32, data string) (rv int32, rc int32, rn int32) {
428
+ var userdata [8]byte
429
+ var parms [5]unsafe.Pointer
430
+ copy(userdata[:], data+" ")
431
+ A2e(userdata[:])
432
+ parms[0] = unsafe.Pointer(&code)
433
+ parms[1] = unsafe.Pointer(&userdata[0])
434
+ parms[2] = unsafe.Pointer(&rv)
435
+ parms[3] = unsafe.Pointer(&rc)
436
+ parms[4] = unsafe.Pointer(&rn)
437
+ bpxcall(parms[:], BPX4PTQ)
438
+ return rv, rc, rn
439
+ }
440
+
441
+ const (
442
+ PT_TRACE_ME = 0 // Debug this process
443
+ PT_READ_I = 1 // Read a full word
444
+ PT_READ_D = 2 // Read a full word
445
+ PT_READ_U = 3 // Read control info
446
+ PT_WRITE_I = 4 //Write a full word
447
+ PT_WRITE_D = 5 //Write a full word
448
+ PT_CONTINUE = 7 //Continue the process
449
+ PT_KILL = 8 //Terminate the process
450
+ PT_READ_GPR = 11 // Read GPR, CR, PSW
451
+ PT_READ_FPR = 12 // Read FPR
452
+ PT_READ_VR = 13 // Read VR
453
+ PT_WRITE_GPR = 14 // Write GPR, CR, PSW
454
+ PT_WRITE_FPR = 15 // Write FPR
455
+ PT_WRITE_VR = 16 // Write VR
456
+ PT_READ_BLOCK = 17 // Read storage
457
+ PT_WRITE_BLOCK = 19 // Write storage
458
+ PT_READ_GPRH = 20 // Read GPRH
459
+ PT_WRITE_GPRH = 21 // Write GPRH
460
+ PT_REGHSET = 22 // Read all GPRHs
461
+ PT_ATTACH = 30 // Attach to a process
462
+ PT_DETACH = 31 // Detach from a process
463
+ PT_REGSET = 32 // Read all GPRs
464
+ PT_REATTACH = 33 // Reattach to a process
465
+ PT_LDINFO = 34 // Read loader info
466
+ PT_MULTI = 35 // Multi process mode
467
+ PT_LD64INFO = 36 // RMODE64 Info Area
468
+ PT_BLOCKREQ = 40 // Block request
469
+ PT_THREAD_INFO = 60 // Read thread info
470
+ PT_THREAD_MODIFY = 61
471
+ PT_THREAD_READ_FOCUS = 62
472
+ PT_THREAD_WRITE_FOCUS = 63
473
+ PT_THREAD_HOLD = 64
474
+ PT_THREAD_SIGNAL = 65
475
+ PT_EXPLAIN = 66
476
+ PT_EVENTS = 67
477
+ PT_THREAD_INFO_EXTENDED = 68
478
+ PT_REATTACH2 = 71
479
+ PT_CAPTURE = 72
480
+ PT_UNCAPTURE = 73
481
+ PT_GET_THREAD_TCB = 74
482
+ PT_GET_ALET = 75
483
+ PT_SWAPIN = 76
484
+ PT_EXTENDED_EVENT = 98
485
+ PT_RECOVER = 99 // Debug a program check
486
+ PT_GPR0 = 0 // General purpose register 0
487
+ PT_GPR1 = 1 // General purpose register 1
488
+ PT_GPR2 = 2 // General purpose register 2
489
+ PT_GPR3 = 3 // General purpose register 3
490
+ PT_GPR4 = 4 // General purpose register 4
491
+ PT_GPR5 = 5 // General purpose register 5
492
+ PT_GPR6 = 6 // General purpose register 6
493
+ PT_GPR7 = 7 // General purpose register 7
494
+ PT_GPR8 = 8 // General purpose register 8
495
+ PT_GPR9 = 9 // General purpose register 9
496
+ PT_GPR10 = 10 // General purpose register 10
497
+ PT_GPR11 = 11 // General purpose register 11
498
+ PT_GPR12 = 12 // General purpose register 12
499
+ PT_GPR13 = 13 // General purpose register 13
500
+ PT_GPR14 = 14 // General purpose register 14
501
+ PT_GPR15 = 15 // General purpose register 15
502
+ PT_FPR0 = 16 // Floating point register 0
503
+ PT_FPR1 = 17 // Floating point register 1
504
+ PT_FPR2 = 18 // Floating point register 2
505
+ PT_FPR3 = 19 // Floating point register 3
506
+ PT_FPR4 = 20 // Floating point register 4
507
+ PT_FPR5 = 21 // Floating point register 5
508
+ PT_FPR6 = 22 // Floating point register 6
509
+ PT_FPR7 = 23 // Floating point register 7
510
+ PT_FPR8 = 24 // Floating point register 8
511
+ PT_FPR9 = 25 // Floating point register 9
512
+ PT_FPR10 = 26 // Floating point register 10
513
+ PT_FPR11 = 27 // Floating point register 11
514
+ PT_FPR12 = 28 // Floating point register 12
515
+ PT_FPR13 = 29 // Floating point register 13
516
+ PT_FPR14 = 30 // Floating point register 14
517
+ PT_FPR15 = 31 // Floating point register 15
518
+ PT_FPC = 32 // Floating point control register
519
+ PT_PSW = 40 // PSW
520
+ PT_PSW0 = 40 // Left half of the PSW
521
+ PT_PSW1 = 41 // Right half of the PSW
522
+ PT_CR0 = 42 // Control register 0
523
+ PT_CR1 = 43 // Control register 1
524
+ PT_CR2 = 44 // Control register 2
525
+ PT_CR3 = 45 // Control register 3
526
+ PT_CR4 = 46 // Control register 4
527
+ PT_CR5 = 47 // Control register 5
528
+ PT_CR6 = 48 // Control register 6
529
+ PT_CR7 = 49 // Control register 7
530
+ PT_CR8 = 50 // Control register 8
531
+ PT_CR9 = 51 // Control register 9
532
+ PT_CR10 = 52 // Control register 10
533
+ PT_CR11 = 53 // Control register 11
534
+ PT_CR12 = 54 // Control register 12
535
+ PT_CR13 = 55 // Control register 13
536
+ PT_CR14 = 56 // Control register 14
537
+ PT_CR15 = 57 // Control register 15
538
+ PT_GPRH0 = 58 // GP High register 0
539
+ PT_GPRH1 = 59 // GP High register 1
540
+ PT_GPRH2 = 60 // GP High register 2
541
+ PT_GPRH3 = 61 // GP High register 3
542
+ PT_GPRH4 = 62 // GP High register 4
543
+ PT_GPRH5 = 63 // GP High register 5
544
+ PT_GPRH6 = 64 // GP High register 6
545
+ PT_GPRH7 = 65 // GP High register 7
546
+ PT_GPRH8 = 66 // GP High register 8
547
+ PT_GPRH9 = 67 // GP High register 9
548
+ PT_GPRH10 = 68 // GP High register 10
549
+ PT_GPRH11 = 69 // GP High register 11
550
+ PT_GPRH12 = 70 // GP High register 12
551
+ PT_GPRH13 = 71 // GP High register 13
552
+ PT_GPRH14 = 72 // GP High register 14
553
+ PT_GPRH15 = 73 // GP High register 15
554
+ PT_VR0 = 74 // Vector register 0
555
+ PT_VR1 = 75 // Vector register 1
556
+ PT_VR2 = 76 // Vector register 2
557
+ PT_VR3 = 77 // Vector register 3
558
+ PT_VR4 = 78 // Vector register 4
559
+ PT_VR5 = 79 // Vector register 5
560
+ PT_VR6 = 80 // Vector register 6
561
+ PT_VR7 = 81 // Vector register 7
562
+ PT_VR8 = 82 // Vector register 8
563
+ PT_VR9 = 83 // Vector register 9
564
+ PT_VR10 = 84 // Vector register 10
565
+ PT_VR11 = 85 // Vector register 11
566
+ PT_VR12 = 86 // Vector register 12
567
+ PT_VR13 = 87 // Vector register 13
568
+ PT_VR14 = 88 // Vector register 14
569
+ PT_VR15 = 89 // Vector register 15
570
+ PT_VR16 = 90 // Vector register 16
571
+ PT_VR17 = 91 // Vector register 17
572
+ PT_VR18 = 92 // Vector register 18
573
+ PT_VR19 = 93 // Vector register 19
574
+ PT_VR20 = 94 // Vector register 20
575
+ PT_VR21 = 95 // Vector register 21
576
+ PT_VR22 = 96 // Vector register 22
577
+ PT_VR23 = 97 // Vector register 23
578
+ PT_VR24 = 98 // Vector register 24
579
+ PT_VR25 = 99 // Vector register 25
580
+ PT_VR26 = 100 // Vector register 26
581
+ PT_VR27 = 101 // Vector register 27
582
+ PT_VR28 = 102 // Vector register 28
583
+ PT_VR29 = 103 // Vector register 29
584
+ PT_VR30 = 104 // Vector register 30
585
+ PT_VR31 = 105 // Vector register 31
586
+ PT_PSWG = 106 // PSWG
587
+ PT_PSWG0 = 106 // Bytes 0-3
588
+ PT_PSWG1 = 107 // Bytes 4-7
589
+ PT_PSWG2 = 108 // Bytes 8-11 (IA high word)
590
+ PT_PSWG3 = 109 // Bytes 12-15 (IA low word)
591
+ )
592
+
593
+ func Bpx4ptr(request int32, pid int32, addr unsafe.Pointer, data unsafe.Pointer, buffer unsafe.Pointer) (rv int32, rc int32, rn int32) {
594
+ var parms [8]unsafe.Pointer
595
+ parms[0] = unsafe.Pointer(&request)
596
+ parms[1] = unsafe.Pointer(&pid)
597
+ parms[2] = unsafe.Pointer(&addr)
598
+ parms[3] = unsafe.Pointer(&data)
599
+ parms[4] = unsafe.Pointer(&buffer)
600
+ parms[5] = unsafe.Pointer(&rv)
601
+ parms[6] = unsafe.Pointer(&rc)
602
+ parms[7] = unsafe.Pointer(&rn)
603
+ bpxcall(parms[:], BPX4PTR)
604
+ return rv, rc, rn
605
+ }
606
+
607
+ func copyU8(val uint8, dest []uint8) int {
608
+ if len(dest) < 1 {
609
+ return 0
610
+ }
611
+ dest[0] = val
612
+ return 1
613
+ }
614
+
615
+ func copyU8Arr(src, dest []uint8) int {
616
+ if len(dest) < len(src) {
617
+ return 0
618
+ }
619
+ for i, v := range src {
620
+ dest[i] = v
621
+ }
622
+ return len(src)
623
+ }
624
+
625
+ func copyU16(val uint16, dest []uint16) int {
626
+ if len(dest) < 1 {
627
+ return 0
628
+ }
629
+ dest[0] = val
630
+ return 1
631
+ }
632
+
633
+ func copyU32(val uint32, dest []uint32) int {
634
+ if len(dest) < 1 {
635
+ return 0
636
+ }
637
+ dest[0] = val
638
+ return 1
639
+ }
640
+
641
+ func copyU32Arr(src, dest []uint32) int {
642
+ if len(dest) < len(src) {
643
+ return 0
644
+ }
645
+ for i, v := range src {
646
+ dest[i] = v
647
+ }
648
+ return len(src)
649
+ }
650
+
651
+ func copyU64(val uint64, dest []uint64) int {
652
+ if len(dest) < 1 {
653
+ return 0
654
+ }
655
+ dest[0] = val
656
+ return 1
657
+ }