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,27 @@
1
+ // Copyright 2009 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 amd64 && solaris
6
+
7
+ package unix
8
+
9
+ func setTimespec(sec, nsec int64) Timespec {
10
+ return Timespec{Sec: sec, Nsec: nsec}
11
+ }
12
+
13
+ func setTimeval(sec, usec int64) Timeval {
14
+ return Timeval{Sec: sec, Usec: usec}
15
+ }
16
+
17
+ func (iov *Iovec) SetLen(length int) {
18
+ iov.Len = uint64(length)
19
+ }
20
+
21
+ func (msghdr *Msghdr) SetIovlen(length int) {
22
+ msghdr.Iovlen = int32(length)
23
+ }
24
+
25
+ func (cmsg *Cmsghdr) SetLen(length int) {
26
+ cmsg.Len = uint32(length)
27
+ }
@@ -0,0 +1,619 @@
1
+ // Copyright 2009 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
6
+
7
+ package unix
8
+
9
+ import (
10
+ "bytes"
11
+ "sort"
12
+ "sync"
13
+ "syscall"
14
+ "unsafe"
15
+ )
16
+
17
+ var (
18
+ Stdin = 0
19
+ Stdout = 1
20
+ Stderr = 2
21
+ )
22
+
23
+ // Do the interface allocations only once for common
24
+ // Errno values.
25
+ var (
26
+ errEAGAIN error = syscall.EAGAIN
27
+ errEINVAL error = syscall.EINVAL
28
+ errENOENT error = syscall.ENOENT
29
+ )
30
+
31
+ var (
32
+ signalNameMapOnce sync.Once
33
+ signalNameMap map[string]syscall.Signal
34
+ )
35
+
36
+ // errnoErr returns common boxed Errno values, to prevent
37
+ // allocations at runtime.
38
+ func errnoErr(e syscall.Errno) error {
39
+ switch e {
40
+ case 0:
41
+ return nil
42
+ case EAGAIN:
43
+ return errEAGAIN
44
+ case EINVAL:
45
+ return errEINVAL
46
+ case ENOENT:
47
+ return errENOENT
48
+ }
49
+ return e
50
+ }
51
+
52
+ // ErrnoName returns the error name for error number e.
53
+ func ErrnoName(e syscall.Errno) string {
54
+ i := sort.Search(len(errorList), func(i int) bool {
55
+ return errorList[i].num >= e
56
+ })
57
+ if i < len(errorList) && errorList[i].num == e {
58
+ return errorList[i].name
59
+ }
60
+ return ""
61
+ }
62
+
63
+ // SignalName returns the signal name for signal number s.
64
+ func SignalName(s syscall.Signal) string {
65
+ i := sort.Search(len(signalList), func(i int) bool {
66
+ return signalList[i].num >= s
67
+ })
68
+ if i < len(signalList) && signalList[i].num == s {
69
+ return signalList[i].name
70
+ }
71
+ return ""
72
+ }
73
+
74
+ // SignalNum returns the syscall.Signal for signal named s,
75
+ // or 0 if a signal with such name is not found.
76
+ // The signal name should start with "SIG".
77
+ func SignalNum(s string) syscall.Signal {
78
+ signalNameMapOnce.Do(func() {
79
+ signalNameMap = make(map[string]syscall.Signal, len(signalList))
80
+ for _, signal := range signalList {
81
+ signalNameMap[signal.name] = signal.num
82
+ }
83
+ })
84
+ return signalNameMap[s]
85
+ }
86
+
87
+ // clen returns the index of the first NULL byte in n or len(n) if n contains no NULL byte.
88
+ func clen(n []byte) int {
89
+ i := bytes.IndexByte(n, 0)
90
+ if i == -1 {
91
+ i = len(n)
92
+ }
93
+ return i
94
+ }
95
+
96
+ // Mmap manager, for use by operating system-specific implementations.
97
+
98
+ type mmapper struct {
99
+ sync.Mutex
100
+ active map[*byte][]byte // active mappings; key is last byte in mapping
101
+ mmap func(addr, length uintptr, prot, flags, fd int, offset int64) (uintptr, error)
102
+ munmap func(addr uintptr, length uintptr) error
103
+ }
104
+
105
+ func (m *mmapper) Mmap(fd int, offset int64, length int, prot int, flags int) (data []byte, err error) {
106
+ if length <= 0 {
107
+ return nil, EINVAL
108
+ }
109
+
110
+ // Map the requested memory.
111
+ addr, errno := m.mmap(0, uintptr(length), prot, flags, fd, offset)
112
+ if errno != nil {
113
+ return nil, errno
114
+ }
115
+
116
+ // Use unsafe to convert addr into a []byte.
117
+ b := unsafe.Slice((*byte)(unsafe.Pointer(addr)), length)
118
+
119
+ // Register mapping in m and return it.
120
+ p := &b[cap(b)-1]
121
+ m.Lock()
122
+ defer m.Unlock()
123
+ m.active[p] = b
124
+ return b, nil
125
+ }
126
+
127
+ func (m *mmapper) Munmap(data []byte) (err error) {
128
+ if len(data) == 0 || len(data) != cap(data) {
129
+ return EINVAL
130
+ }
131
+
132
+ // Find the base of the mapping.
133
+ p := &data[cap(data)-1]
134
+ m.Lock()
135
+ defer m.Unlock()
136
+ b := m.active[p]
137
+ if b == nil || &b[0] != &data[0] {
138
+ return EINVAL
139
+ }
140
+
141
+ // Unmap the memory and update m.
142
+ if errno := m.munmap(uintptr(unsafe.Pointer(&b[0])), uintptr(len(b))); errno != nil {
143
+ return errno
144
+ }
145
+ delete(m.active, p)
146
+ return nil
147
+ }
148
+
149
+ func Mmap(fd int, offset int64, length int, prot int, flags int) (data []byte, err error) {
150
+ return mapper.Mmap(fd, offset, length, prot, flags)
151
+ }
152
+
153
+ func Munmap(b []byte) (err error) {
154
+ return mapper.Munmap(b)
155
+ }
156
+
157
+ func MmapPtr(fd int, offset int64, addr unsafe.Pointer, length uintptr, prot int, flags int) (ret unsafe.Pointer, err error) {
158
+ xaddr, err := mapper.mmap(uintptr(addr), length, prot, flags, fd, offset)
159
+ return unsafe.Pointer(xaddr), err
160
+ }
161
+
162
+ func MunmapPtr(addr unsafe.Pointer, length uintptr) (err error) {
163
+ return mapper.munmap(uintptr(addr), length)
164
+ }
165
+
166
+ func Read(fd int, p []byte) (n int, err error) {
167
+ n, err = read(fd, p)
168
+ if raceenabled {
169
+ if n > 0 {
170
+ raceWriteRange(unsafe.Pointer(&p[0]), n)
171
+ }
172
+ if err == nil {
173
+ raceAcquire(unsafe.Pointer(&ioSync))
174
+ }
175
+ }
176
+ return
177
+ }
178
+
179
+ func Write(fd int, p []byte) (n int, err error) {
180
+ if raceenabled {
181
+ raceReleaseMerge(unsafe.Pointer(&ioSync))
182
+ }
183
+ n, err = write(fd, p)
184
+ if raceenabled && n > 0 {
185
+ raceReadRange(unsafe.Pointer(&p[0]), n)
186
+ }
187
+ return
188
+ }
189
+
190
+ func Pread(fd int, p []byte, offset int64) (n int, err error) {
191
+ n, err = pread(fd, p, offset)
192
+ if raceenabled {
193
+ if n > 0 {
194
+ raceWriteRange(unsafe.Pointer(&p[0]), n)
195
+ }
196
+ if err == nil {
197
+ raceAcquire(unsafe.Pointer(&ioSync))
198
+ }
199
+ }
200
+ return
201
+ }
202
+
203
+ func Pwrite(fd int, p []byte, offset int64) (n int, err error) {
204
+ if raceenabled {
205
+ raceReleaseMerge(unsafe.Pointer(&ioSync))
206
+ }
207
+ n, err = pwrite(fd, p, offset)
208
+ if raceenabled && n > 0 {
209
+ raceReadRange(unsafe.Pointer(&p[0]), n)
210
+ }
211
+ return
212
+ }
213
+
214
+ // For testing: clients can set this flag to force
215
+ // creation of IPv6 sockets to return EAFNOSUPPORT.
216
+ var SocketDisableIPv6 bool
217
+
218
+ // Sockaddr represents a socket address.
219
+ type Sockaddr interface {
220
+ sockaddr() (ptr unsafe.Pointer, len _Socklen, err error) // lowercase; only we can define Sockaddrs
221
+ }
222
+
223
+ // SockaddrInet4 implements the Sockaddr interface for AF_INET type sockets.
224
+ type SockaddrInet4 struct {
225
+ Port int
226
+ Addr [4]byte
227
+ raw RawSockaddrInet4
228
+ }
229
+
230
+ // SockaddrInet6 implements the Sockaddr interface for AF_INET6 type sockets.
231
+ type SockaddrInet6 struct {
232
+ Port int
233
+ ZoneId uint32
234
+ Addr [16]byte
235
+ raw RawSockaddrInet6
236
+ }
237
+
238
+ // SockaddrUnix implements the Sockaddr interface for AF_UNIX type sockets.
239
+ type SockaddrUnix struct {
240
+ Name string
241
+ raw RawSockaddrUnix
242
+ }
243
+
244
+ func Bind(fd int, sa Sockaddr) (err error) {
245
+ ptr, n, err := sa.sockaddr()
246
+ if err != nil {
247
+ return err
248
+ }
249
+ return bind(fd, ptr, n)
250
+ }
251
+
252
+ func Connect(fd int, sa Sockaddr) (err error) {
253
+ ptr, n, err := sa.sockaddr()
254
+ if err != nil {
255
+ return err
256
+ }
257
+ return connect(fd, ptr, n)
258
+ }
259
+
260
+ func Getpeername(fd int) (sa Sockaddr, err error) {
261
+ var rsa RawSockaddrAny
262
+ var len _Socklen = SizeofSockaddrAny
263
+ if err = getpeername(fd, &rsa, &len); err != nil {
264
+ return
265
+ }
266
+ return anyToSockaddr(fd, &rsa)
267
+ }
268
+
269
+ func GetsockoptByte(fd, level, opt int) (value byte, err error) {
270
+ var n byte
271
+ vallen := _Socklen(1)
272
+ err = getsockopt(fd, level, opt, unsafe.Pointer(&n), &vallen)
273
+ return n, err
274
+ }
275
+
276
+ func GetsockoptInt(fd, level, opt int) (value int, err error) {
277
+ var n int32
278
+ vallen := _Socklen(4)
279
+ err = getsockopt(fd, level, opt, unsafe.Pointer(&n), &vallen)
280
+ return int(n), err
281
+ }
282
+
283
+ func GetsockoptInet4Addr(fd, level, opt int) (value [4]byte, err error) {
284
+ vallen := _Socklen(4)
285
+ err = getsockopt(fd, level, opt, unsafe.Pointer(&value[0]), &vallen)
286
+ return value, err
287
+ }
288
+
289
+ func GetsockoptIPMreq(fd, level, opt int) (*IPMreq, error) {
290
+ var value IPMreq
291
+ vallen := _Socklen(SizeofIPMreq)
292
+ err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen)
293
+ return &value, err
294
+ }
295
+
296
+ func GetsockoptIPv6Mreq(fd, level, opt int) (*IPv6Mreq, error) {
297
+ var value IPv6Mreq
298
+ vallen := _Socklen(SizeofIPv6Mreq)
299
+ err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen)
300
+ return &value, err
301
+ }
302
+
303
+ func GetsockoptIPv6MTUInfo(fd, level, opt int) (*IPv6MTUInfo, error) {
304
+ var value IPv6MTUInfo
305
+ vallen := _Socklen(SizeofIPv6MTUInfo)
306
+ err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen)
307
+ return &value, err
308
+ }
309
+
310
+ func GetsockoptICMPv6Filter(fd, level, opt int) (*ICMPv6Filter, error) {
311
+ var value ICMPv6Filter
312
+ vallen := _Socklen(SizeofICMPv6Filter)
313
+ err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen)
314
+ return &value, err
315
+ }
316
+
317
+ func GetsockoptLinger(fd, level, opt int) (*Linger, error) {
318
+ var linger Linger
319
+ vallen := _Socklen(SizeofLinger)
320
+ err := getsockopt(fd, level, opt, unsafe.Pointer(&linger), &vallen)
321
+ return &linger, err
322
+ }
323
+
324
+ func GetsockoptTimeval(fd, level, opt int) (*Timeval, error) {
325
+ var tv Timeval
326
+ vallen := _Socklen(unsafe.Sizeof(tv))
327
+ err := getsockopt(fd, level, opt, unsafe.Pointer(&tv), &vallen)
328
+ return &tv, err
329
+ }
330
+
331
+ func GetsockoptUint64(fd, level, opt int) (value uint64, err error) {
332
+ var n uint64
333
+ vallen := _Socklen(8)
334
+ err = getsockopt(fd, level, opt, unsafe.Pointer(&n), &vallen)
335
+ return n, err
336
+ }
337
+
338
+ func Recvfrom(fd int, p []byte, flags int) (n int, from Sockaddr, err error) {
339
+ var rsa RawSockaddrAny
340
+ var len _Socklen = SizeofSockaddrAny
341
+ if n, err = recvfrom(fd, p, flags, &rsa, &len); err != nil {
342
+ return
343
+ }
344
+ if rsa.Addr.Family != AF_UNSPEC {
345
+ from, err = anyToSockaddr(fd, &rsa)
346
+ }
347
+ return
348
+ }
349
+
350
+ // Recvmsg receives a message from a socket using the recvmsg system call. The
351
+ // received non-control data will be written to p, and any "out of band"
352
+ // control data will be written to oob. The flags are passed to recvmsg.
353
+ //
354
+ // The results are:
355
+ // - n is the number of non-control data bytes read into p
356
+ // - oobn is the number of control data bytes read into oob; this may be interpreted using [ParseSocketControlMessage]
357
+ // - recvflags is flags returned by recvmsg
358
+ // - from is the address of the sender
359
+ //
360
+ // If the underlying socket type is not SOCK_DGRAM, a received message
361
+ // containing oob data and a single '\0' of non-control data is treated as if
362
+ // the message contained only control data, i.e. n will be zero on return.
363
+ func Recvmsg(fd int, p, oob []byte, flags int) (n, oobn int, recvflags int, from Sockaddr, err error) {
364
+ var iov [1]Iovec
365
+ if len(p) > 0 {
366
+ iov[0].Base = &p[0]
367
+ iov[0].SetLen(len(p))
368
+ }
369
+ var rsa RawSockaddrAny
370
+ if n, oobn, recvflags, err = recvmsgRaw(fd, iov[:], oob, flags, &rsa); err != nil {
371
+ return
372
+ }
373
+ // source address is only specified if the socket is unconnected
374
+ if rsa.Addr.Family != AF_UNSPEC {
375
+ from, err = anyToSockaddr(fd, &rsa)
376
+ }
377
+ return
378
+ }
379
+
380
+ // RecvmsgBuffers receives a message from a socket using the recvmsg system
381
+ // call. This function is equivalent to Recvmsg, but non-control data read is
382
+ // scattered into the buffers slices.
383
+ func RecvmsgBuffers(fd int, buffers [][]byte, oob []byte, flags int) (n, oobn int, recvflags int, from Sockaddr, err error) {
384
+ iov := make([]Iovec, len(buffers))
385
+ for i := range buffers {
386
+ if len(buffers[i]) > 0 {
387
+ iov[i].Base = &buffers[i][0]
388
+ iov[i].SetLen(len(buffers[i]))
389
+ } else {
390
+ iov[i].Base = (*byte)(unsafe.Pointer(&_zero))
391
+ }
392
+ }
393
+ var rsa RawSockaddrAny
394
+ if n, oobn, recvflags, err = recvmsgRaw(fd, iov, oob, flags, &rsa); err != nil {
395
+ return
396
+ }
397
+ if rsa.Addr.Family != AF_UNSPEC {
398
+ from, err = anyToSockaddr(fd, &rsa)
399
+ }
400
+ return
401
+ }
402
+
403
+ // Sendmsg sends a message on a socket to an address using the sendmsg system
404
+ // call. This function is equivalent to SendmsgN, but does not return the
405
+ // number of bytes actually sent.
406
+ func Sendmsg(fd int, p, oob []byte, to Sockaddr, flags int) (err error) {
407
+ _, err = SendmsgN(fd, p, oob, to, flags)
408
+ return
409
+ }
410
+
411
+ // SendmsgN sends a message on a socket to an address using the sendmsg system
412
+ // call. p contains the non-control data to send, and oob contains the "out of
413
+ // band" control data. The flags are passed to sendmsg. The number of
414
+ // non-control bytes actually written to the socket is returned.
415
+ //
416
+ // Some socket types do not support sending control data without accompanying
417
+ // non-control data. If p is empty, and oob contains control data, and the
418
+ // underlying socket type is not SOCK_DGRAM, p will be treated as containing a
419
+ // single '\0' and the return value will indicate zero bytes sent.
420
+ //
421
+ // The Go function Recvmsg, if called with an empty p and a non-empty oob,
422
+ // will read and ignore this additional '\0'. If the message is received by
423
+ // code that does not use Recvmsg, or that does not use Go at all, that code
424
+ // will need to be written to expect and ignore the additional '\0'.
425
+ //
426
+ // If you need to send non-empty oob with p actually empty, and if the
427
+ // underlying socket type supports it, you can do so via a raw system call as
428
+ // follows:
429
+ //
430
+ // msg := &unix.Msghdr{
431
+ // Control: &oob[0],
432
+ // }
433
+ // msg.SetControllen(len(oob))
434
+ // n, _, errno := unix.Syscall(unix.SYS_SENDMSG, uintptr(fd), uintptr(unsafe.Pointer(msg)), flags)
435
+ func SendmsgN(fd int, p, oob []byte, to Sockaddr, flags int) (n int, err error) {
436
+ var iov [1]Iovec
437
+ if len(p) > 0 {
438
+ iov[0].Base = &p[0]
439
+ iov[0].SetLen(len(p))
440
+ }
441
+ var ptr unsafe.Pointer
442
+ var salen _Socklen
443
+ if to != nil {
444
+ ptr, salen, err = to.sockaddr()
445
+ if err != nil {
446
+ return 0, err
447
+ }
448
+ }
449
+ return sendmsgN(fd, iov[:], oob, ptr, salen, flags)
450
+ }
451
+
452
+ // SendmsgBuffers sends a message on a socket to an address using the sendmsg
453
+ // system call. This function is equivalent to SendmsgN, but the non-control
454
+ // data is gathered from buffers.
455
+ func SendmsgBuffers(fd int, buffers [][]byte, oob []byte, to Sockaddr, flags int) (n int, err error) {
456
+ iov := make([]Iovec, len(buffers))
457
+ for i := range buffers {
458
+ if len(buffers[i]) > 0 {
459
+ iov[i].Base = &buffers[i][0]
460
+ iov[i].SetLen(len(buffers[i]))
461
+ } else {
462
+ iov[i].Base = (*byte)(unsafe.Pointer(&_zero))
463
+ }
464
+ }
465
+ var ptr unsafe.Pointer
466
+ var salen _Socklen
467
+ if to != nil {
468
+ ptr, salen, err = to.sockaddr()
469
+ if err != nil {
470
+ return 0, err
471
+ }
472
+ }
473
+ return sendmsgN(fd, iov, oob, ptr, salen, flags)
474
+ }
475
+
476
+ func Send(s int, buf []byte, flags int) (err error) {
477
+ return sendto(s, buf, flags, nil, 0)
478
+ }
479
+
480
+ func Sendto(fd int, p []byte, flags int, to Sockaddr) (err error) {
481
+ var ptr unsafe.Pointer
482
+ var salen _Socklen
483
+ if to != nil {
484
+ ptr, salen, err = to.sockaddr()
485
+ if err != nil {
486
+ return err
487
+ }
488
+ }
489
+ return sendto(fd, p, flags, ptr, salen)
490
+ }
491
+
492
+ func SetsockoptByte(fd, level, opt int, value byte) (err error) {
493
+ return setsockopt(fd, level, opt, unsafe.Pointer(&value), 1)
494
+ }
495
+
496
+ func SetsockoptInt(fd, level, opt int, value int) (err error) {
497
+ var n = int32(value)
498
+ return setsockopt(fd, level, opt, unsafe.Pointer(&n), 4)
499
+ }
500
+
501
+ func SetsockoptInet4Addr(fd, level, opt int, value [4]byte) (err error) {
502
+ return setsockopt(fd, level, opt, unsafe.Pointer(&value[0]), 4)
503
+ }
504
+
505
+ func SetsockoptIPMreq(fd, level, opt int, mreq *IPMreq) (err error) {
506
+ return setsockopt(fd, level, opt, unsafe.Pointer(mreq), SizeofIPMreq)
507
+ }
508
+
509
+ func SetsockoptIPv6Mreq(fd, level, opt int, mreq *IPv6Mreq) (err error) {
510
+ return setsockopt(fd, level, opt, unsafe.Pointer(mreq), SizeofIPv6Mreq)
511
+ }
512
+
513
+ func SetsockoptICMPv6Filter(fd, level, opt int, filter *ICMPv6Filter) error {
514
+ return setsockopt(fd, level, opt, unsafe.Pointer(filter), SizeofICMPv6Filter)
515
+ }
516
+
517
+ func SetsockoptLinger(fd, level, opt int, l *Linger) (err error) {
518
+ return setsockopt(fd, level, opt, unsafe.Pointer(l), SizeofLinger)
519
+ }
520
+
521
+ func SetsockoptString(fd, level, opt int, s string) (err error) {
522
+ var p unsafe.Pointer
523
+ if len(s) > 0 {
524
+ p = unsafe.Pointer(&[]byte(s)[0])
525
+ }
526
+ return setsockopt(fd, level, opt, p, uintptr(len(s)))
527
+ }
528
+
529
+ func SetsockoptTimeval(fd, level, opt int, tv *Timeval) (err error) {
530
+ return setsockopt(fd, level, opt, unsafe.Pointer(tv), unsafe.Sizeof(*tv))
531
+ }
532
+
533
+ func SetsockoptUint64(fd, level, opt int, value uint64) (err error) {
534
+ return setsockopt(fd, level, opt, unsafe.Pointer(&value), 8)
535
+ }
536
+
537
+ func Socket(domain, typ, proto int) (fd int, err error) {
538
+ if domain == AF_INET6 && SocketDisableIPv6 {
539
+ return -1, EAFNOSUPPORT
540
+ }
541
+ fd, err = socket(domain, typ, proto)
542
+ return
543
+ }
544
+
545
+ func Socketpair(domain, typ, proto int) (fd [2]int, err error) {
546
+ var fdx [2]int32
547
+ err = socketpair(domain, typ, proto, &fdx)
548
+ if err == nil {
549
+ fd[0] = int(fdx[0])
550
+ fd[1] = int(fdx[1])
551
+ }
552
+ return
553
+ }
554
+
555
+ var ioSync int64
556
+
557
+ func CloseOnExec(fd int) { fcntl(fd, F_SETFD, FD_CLOEXEC) }
558
+
559
+ func SetNonblock(fd int, nonblocking bool) (err error) {
560
+ flag, err := fcntl(fd, F_GETFL, 0)
561
+ if err != nil {
562
+ return err
563
+ }
564
+ if (flag&O_NONBLOCK != 0) == nonblocking {
565
+ return nil
566
+ }
567
+ if nonblocking {
568
+ flag |= O_NONBLOCK
569
+ } else {
570
+ flag &= ^O_NONBLOCK
571
+ }
572
+ _, err = fcntl(fd, F_SETFL, flag)
573
+ return err
574
+ }
575
+
576
+ // Exec calls execve(2), which replaces the calling executable in the process
577
+ // tree. argv0 should be the full path to an executable ("/bin/ls") and the
578
+ // executable name should also be the first argument in argv (["ls", "-l"]).
579
+ // envv are the environment variables that should be passed to the new
580
+ // process (["USER=go", "PWD=/tmp"]).
581
+ func Exec(argv0 string, argv []string, envv []string) error {
582
+ return syscall.Exec(argv0, argv, envv)
583
+ }
584
+
585
+ // Lutimes sets the access and modification times tv on path. If path refers to
586
+ // a symlink, it is not dereferenced and the timestamps are set on the symlink.
587
+ // If tv is nil, the access and modification times are set to the current time.
588
+ // Otherwise tv must contain exactly 2 elements, with access time as the first
589
+ // element and modification time as the second element.
590
+ func Lutimes(path string, tv []Timeval) error {
591
+ if tv == nil {
592
+ return UtimesNanoAt(AT_FDCWD, path, nil, AT_SYMLINK_NOFOLLOW)
593
+ }
594
+ if len(tv) != 2 {
595
+ return EINVAL
596
+ }
597
+ ts := []Timespec{
598
+ NsecToTimespec(TimevalToNsec(tv[0])),
599
+ NsecToTimespec(TimevalToNsec(tv[1])),
600
+ }
601
+ return UtimesNanoAt(AT_FDCWD, path, ts, AT_SYMLINK_NOFOLLOW)
602
+ }
603
+
604
+ // emptyIovecs reports whether there are no bytes in the slice of Iovec.
605
+ func emptyIovecs(iov []Iovec) bool {
606
+ for i := range iov {
607
+ if iov[i].Len > 0 {
608
+ return false
609
+ }
610
+ }
611
+ return true
612
+ }
613
+
614
+ // Setrlimit sets a resource limit.
615
+ func Setrlimit(resource int, rlim *Rlimit) error {
616
+ // Just call the syscall version, because as of Go 1.21
617
+ // it will affect starting a new process.
618
+ return syscall.Setrlimit(resource, (*syscall.Rlimit)(rlim))
619
+ }
@@ -0,0 +1,14 @@
1
+ // Copyright 2016 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 (darwin || dragonfly || freebsd || (linux && !ppc64 && !ppc64le) || netbsd || openbsd || solaris) && gc
6
+
7
+ package unix
8
+
9
+ import "syscall"
10
+
11
+ func Syscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno)
12
+ func Syscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno)
13
+ func RawSyscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno)
14
+ func RawSyscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno)
@@ -0,0 +1,22 @@
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 linux && (ppc64le || ppc64) && gc
6
+
7
+ package unix
8
+
9
+ import "syscall"
10
+
11
+ func Syscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno) {
12
+ return syscall.Syscall(trap, a1, a2, a3)
13
+ }
14
+ func Syscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) {
15
+ return syscall.Syscall6(trap, a1, a2, a3, a4, a5, a6)
16
+ }
17
+ func RawSyscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno) {
18
+ return syscall.RawSyscall(trap, a1, a2, a3)
19
+ }
20
+ func RawSyscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) {
21
+ return syscall.RawSyscall6(trap, a1, a2, a3, a4, a5, a6)
22
+ }