typenative 0.1.3 → 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 (500) 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 +4 -4
  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 +294 -240
  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/transpiler.js +2650 -575
  54. package/bin/version.js +2 -0
  55. package/conformance.md +707 -241
  56. package/govendor/github.com/ncruces/go-sqlite3/LICENSE +21 -0
  57. package/govendor/github.com/ncruces/go-sqlite3/README.md +121 -0
  58. package/govendor/github.com/ncruces/go-sqlite3/backup.go +132 -0
  59. package/govendor/github.com/ncruces/go-sqlite3/blob.go +266 -0
  60. package/govendor/github.com/ncruces/go-sqlite3/config.go +397 -0
  61. package/govendor/github.com/ncruces/go-sqlite3/conn.go +540 -0
  62. package/govendor/github.com/ncruces/go-sqlite3/conn_127.go +93 -0
  63. package/govendor/github.com/ncruces/go-sqlite3/const.go +436 -0
  64. package/govendor/github.com/ncruces/go-sqlite3/context.go +222 -0
  65. package/govendor/github.com/ncruces/go-sqlite3/error.go +182 -0
  66. package/govendor/github.com/ncruces/go-sqlite3/ext.go +153 -0
  67. package/govendor/github.com/ncruces/go-sqlite3/func.go +309 -0
  68. package/govendor/github.com/ncruces/go-sqlite3/go.mod +3 -0
  69. package/govendor/github.com/ncruces/go-sqlite3/internal/dotlk/dotlk.go +29 -0
  70. package/govendor/github.com/ncruces/go-sqlite3/internal/dotlk/dotlk_other.go +13 -0
  71. package/govendor/github.com/ncruces/go-sqlite3/internal/dotlk/dotlk_unix.go +57 -0
  72. package/govendor/github.com/ncruces/go-sqlite3/internal/errutil/error.go +41 -0
  73. package/govendor/github.com/ncruces/go-sqlite3/internal/sqlite3_wrap/alloc.go +128 -0
  74. package/govendor/github.com/ncruces/go-sqlite3/internal/sqlite3_wrap/const.go +122 -0
  75. package/govendor/github.com/ncruces/go-sqlite3/internal/sqlite3_wrap/error.go +77 -0
  76. package/govendor/github.com/ncruces/go-sqlite3/internal/sqlite3_wrap/mem.go +116 -0
  77. package/govendor/github.com/ncruces/go-sqlite3/internal/sqlite3_wrap/mem_other.go +34 -0
  78. package/govendor/github.com/ncruces/go-sqlite3/internal/sqlite3_wrap/mem_unix.go +87 -0
  79. package/govendor/github.com/ncruces/go-sqlite3/internal/sqlite3_wrap/mem_windows.go +149 -0
  80. package/govendor/github.com/ncruces/go-sqlite3/internal/sqlite3_wrap/mmap_unix.go +80 -0
  81. package/govendor/github.com/ncruces/go-sqlite3/internal/sqlite3_wrap/mmap_windows.go +129 -0
  82. package/govendor/github.com/ncruces/go-sqlite3/internal/sqlite3_wrap/sys_windows.go +60 -0
  83. package/govendor/github.com/ncruces/go-sqlite3/internal/sqlite3_wrap/wrap.go +82 -0
  84. package/govendor/github.com/ncruces/go-sqlite3/internal/sqlite3_wrap/wrap_sys.go +113 -0
  85. package/govendor/github.com/ncruces/go-sqlite3/internal/sqlite3_wrap/wrap_vfs.go +181 -0
  86. package/govendor/github.com/ncruces/go-sqlite3/internal/testenv/env.go +55 -0
  87. package/govendor/github.com/ncruces/go-sqlite3/internal/util/json.go +54 -0
  88. package/govendor/github.com/ncruces/go-sqlite3/internal/util/json_v2.go +54 -0
  89. package/govendor/github.com/ncruces/go-sqlite3/internal/util/math.go +29 -0
  90. package/govendor/github.com/ncruces/go-sqlite3/internal/util/page.go +5 -0
  91. package/govendor/github.com/ncruces/go-sqlite3/internal/util/parse.go +142 -0
  92. package/govendor/github.com/ncruces/go-sqlite3/internal/util/pointer.go +3 -0
  93. package/govendor/github.com/ncruces/go-sqlite3/internal/util/reflect.go +10 -0
  94. package/govendor/github.com/ncruces/go-sqlite3/json.go +100 -0
  95. package/govendor/github.com/ncruces/go-sqlite3/json_v2.go +116 -0
  96. package/govendor/github.com/ncruces/go-sqlite3/pointer.go +13 -0
  97. package/govendor/github.com/ncruces/go-sqlite3/quote.go +140 -0
  98. package/govendor/github.com/ncruces/go-sqlite3/stmt.go +692 -0
  99. package/govendor/github.com/ncruces/go-sqlite3/time.go +360 -0
  100. package/govendor/github.com/ncruces/go-sqlite3/txn.go +374 -0
  101. package/govendor/github.com/ncruces/go-sqlite3/value.go +212 -0
  102. package/govendor/github.com/ncruces/go-sqlite3/vfs/README.md +133 -0
  103. package/govendor/github.com/ncruces/go-sqlite3/vfs/api.go +239 -0
  104. package/govendor/github.com/ncruces/go-sqlite3/vfs/cksm.go +143 -0
  105. package/govendor/github.com/ncruces/go-sqlite3/vfs/const.go +256 -0
  106. package/govendor/github.com/ncruces/go-sqlite3/vfs/file.go +260 -0
  107. package/govendor/github.com/ncruces/go-sqlite3/vfs/filename.go +187 -0
  108. package/govendor/github.com/ncruces/go-sqlite3/vfs/lock.go +128 -0
  109. package/govendor/github.com/ncruces/go-sqlite3/vfs/lock_other.go +23 -0
  110. package/govendor/github.com/ncruces/go-sqlite3/vfs/map.go +63 -0
  111. package/govendor/github.com/ncruces/go-sqlite3/vfs/map_other.go +13 -0
  112. package/govendor/github.com/ncruces/go-sqlite3/vfs/os_bsd.go +110 -0
  113. package/govendor/github.com/ncruces/go-sqlite3/vfs/os_darwin.go +131 -0
  114. package/govendor/github.com/ncruces/go-sqlite3/vfs/os_dotlk.go +140 -0
  115. package/govendor/github.com/ncruces/go-sqlite3/vfs/os_f2fs_linux.go +56 -0
  116. package/govendor/github.com/ncruces/go-sqlite3/vfs/os_linux.go +117 -0
  117. package/govendor/github.com/ncruces/go-sqlite3/vfs/os_ofd.go +59 -0
  118. package/govendor/github.com/ncruces/go-sqlite3/vfs/os_std.go +50 -0
  119. package/govendor/github.com/ncruces/go-sqlite3/vfs/os_std_alloc.go +19 -0
  120. package/govendor/github.com/ncruces/go-sqlite3/vfs/os_std_atomic.go +9 -0
  121. package/govendor/github.com/ncruces/go-sqlite3/vfs/os_std_rw.go +13 -0
  122. package/govendor/github.com/ncruces/go-sqlite3/vfs/os_std_sync.go +9 -0
  123. package/govendor/github.com/ncruces/go-sqlite3/vfs/os_std_temp.go +16 -0
  124. package/govendor/github.com/ncruces/go-sqlite3/vfs/os_unix.go +108 -0
  125. package/govendor/github.com/ncruces/go-sqlite3/vfs/os_windows.go +180 -0
  126. package/govendor/github.com/ncruces/go-sqlite3/vfs/registry.go +48 -0
  127. package/govendor/github.com/ncruces/go-sqlite3/vfs/shm.go +26 -0
  128. package/govendor/github.com/ncruces/go-sqlite3/vfs/shm_bsd.go +258 -0
  129. package/govendor/github.com/ncruces/go-sqlite3/vfs/shm_copy.go +90 -0
  130. package/govendor/github.com/ncruces/go-sqlite3/vfs/shm_dotlk.go +168 -0
  131. package/govendor/github.com/ncruces/go-sqlite3/vfs/shm_memlk.go +52 -0
  132. package/govendor/github.com/ncruces/go-sqlite3/vfs/shm_ofd.go +185 -0
  133. package/govendor/github.com/ncruces/go-sqlite3/vfs/shm_other.go +21 -0
  134. package/govendor/github.com/ncruces/go-sqlite3/vfs/shm_windows.go +124 -0
  135. package/govendor/github.com/ncruces/go-sqlite3/vfs/vfs.go +455 -0
  136. package/govendor/github.com/ncruces/go-sqlite3/vtab.go +677 -0
  137. package/govendor/github.com/ncruces/go-sqlite3/wrap.go +48 -0
  138. package/govendor/github.com/ncruces/go-sqlite3-wasm/v6/LICENSE +18 -0
  139. package/govendor/github.com/ncruces/go-sqlite3-wasm/v6/README.md +11 -0
  140. package/govendor/github.com/ncruces/go-sqlite3-wasm/v6/go.mod +3 -0
  141. package/govendor/github.com/ncruces/go-sqlite3-wasm/v6/libc.go +215 -0
  142. package/govendor/github.com/ncruces/go-sqlite3-wasm/v6/sqlite3.dat +0 -0
  143. package/govendor/github.com/ncruces/go-sqlite3-wasm/v6/sqlite3.go +157903 -0
  144. package/govendor/github.com/ncruces/go-sqlite3-wasm/v6/tools.sh +38 -0
  145. package/govendor/github.com/ncruces/julianday/LICENSE +21 -0
  146. package/govendor/github.com/ncruces/julianday/README.md +9 -0
  147. package/govendor/github.com/ncruces/julianday/go.mod +3 -0
  148. package/govendor/github.com/ncruces/julianday/julianday.go +124 -0
  149. package/govendor/golang.org/x/sys/LICENSE +27 -0
  150. package/govendor/golang.org/x/sys/PATENTS +22 -0
  151. package/govendor/golang.org/x/sys/go.mod +3 -0
  152. package/govendor/golang.org/x/sys/unix/README.md +184 -0
  153. package/govendor/golang.org/x/sys/unix/affinity_linux.go +189 -0
  154. package/govendor/golang.org/x/sys/unix/aliases.go +13 -0
  155. package/govendor/golang.org/x/sys/unix/asm_aix_ppc64.s +17 -0
  156. package/govendor/golang.org/x/sys/unix/asm_bsd_386.s +27 -0
  157. package/govendor/golang.org/x/sys/unix/asm_bsd_amd64.s +27 -0
  158. package/govendor/golang.org/x/sys/unix/asm_bsd_arm.s +27 -0
  159. package/govendor/golang.org/x/sys/unix/asm_bsd_arm64.s +27 -0
  160. package/govendor/golang.org/x/sys/unix/asm_bsd_ppc64.s +29 -0
  161. package/govendor/golang.org/x/sys/unix/asm_bsd_riscv64.s +27 -0
  162. package/govendor/golang.org/x/sys/unix/asm_linux_386.s +65 -0
  163. package/govendor/golang.org/x/sys/unix/asm_linux_amd64.s +57 -0
  164. package/govendor/golang.org/x/sys/unix/asm_linux_arm.s +56 -0
  165. package/govendor/golang.org/x/sys/unix/asm_linux_arm64.s +50 -0
  166. package/govendor/golang.org/x/sys/unix/asm_linux_loong64.s +51 -0
  167. package/govendor/golang.org/x/sys/unix/asm_linux_mips64x.s +54 -0
  168. package/govendor/golang.org/x/sys/unix/asm_linux_mipsx.s +52 -0
  169. package/govendor/golang.org/x/sys/unix/asm_linux_ppc64x.s +42 -0
  170. package/govendor/golang.org/x/sys/unix/asm_linux_riscv64.s +47 -0
  171. package/govendor/golang.org/x/sys/unix/asm_linux_s390x.s +54 -0
  172. package/govendor/golang.org/x/sys/unix/asm_openbsd_mips64.s +29 -0
  173. package/govendor/golang.org/x/sys/unix/asm_solaris_amd64.s +17 -0
  174. package/govendor/golang.org/x/sys/unix/asm_zos_s390x.s +382 -0
  175. package/govendor/golang.org/x/sys/unix/auxv.go +36 -0
  176. package/govendor/golang.org/x/sys/unix/auxv_unsupported.go +13 -0
  177. package/govendor/golang.org/x/sys/unix/bluetooth_linux.go +36 -0
  178. package/govendor/golang.org/x/sys/unix/bpxsvc_zos.go +657 -0
  179. package/govendor/golang.org/x/sys/unix/bpxsvc_zos.s +192 -0
  180. package/govendor/golang.org/x/sys/unix/cap_freebsd.go +195 -0
  181. package/govendor/golang.org/x/sys/unix/constants.go +13 -0
  182. package/govendor/golang.org/x/sys/unix/dev_aix_ppc.go +26 -0
  183. package/govendor/golang.org/x/sys/unix/dev_aix_ppc64.go +28 -0
  184. package/govendor/golang.org/x/sys/unix/dev_darwin.go +24 -0
  185. package/govendor/golang.org/x/sys/unix/dev_dragonfly.go +30 -0
  186. package/govendor/golang.org/x/sys/unix/dev_freebsd.go +30 -0
  187. package/govendor/golang.org/x/sys/unix/dev_linux.go +42 -0
  188. package/govendor/golang.org/x/sys/unix/dev_netbsd.go +29 -0
  189. package/govendor/golang.org/x/sys/unix/dev_openbsd.go +29 -0
  190. package/govendor/golang.org/x/sys/unix/dev_zos.go +28 -0
  191. package/govendor/golang.org/x/sys/unix/dirent.go +102 -0
  192. package/govendor/golang.org/x/sys/unix/endian_big.go +9 -0
  193. package/govendor/golang.org/x/sys/unix/endian_little.go +9 -0
  194. package/govendor/golang.org/x/sys/unix/env_unix.go +31 -0
  195. package/govendor/golang.org/x/sys/unix/fcntl.go +36 -0
  196. package/govendor/golang.org/x/sys/unix/fcntl_darwin.go +24 -0
  197. package/govendor/golang.org/x/sys/unix/fcntl_linux_32bit.go +13 -0
  198. package/govendor/golang.org/x/sys/unix/fdset.go +27 -0
  199. package/govendor/golang.org/x/sys/unix/gccgo.go +59 -0
  200. package/govendor/golang.org/x/sys/unix/gccgo_c.c +44 -0
  201. package/govendor/golang.org/x/sys/unix/gccgo_linux_amd64.go +20 -0
  202. package/govendor/golang.org/x/sys/unix/ifreq_linux.go +145 -0
  203. package/govendor/golang.org/x/sys/unix/ioctl_linux.go +341 -0
  204. package/govendor/golang.org/x/sys/unix/ioctl_signed.go +74 -0
  205. package/govendor/golang.org/x/sys/unix/ioctl_unsigned.go +74 -0
  206. package/govendor/golang.org/x/sys/unix/ioctl_zos.go +71 -0
  207. package/govendor/golang.org/x/sys/unix/mkall.sh +250 -0
  208. package/govendor/golang.org/x/sys/unix/mkerrors.sh +807 -0
  209. package/govendor/golang.org/x/sys/unix/mmap_nomremap.go +13 -0
  210. package/govendor/golang.org/x/sys/unix/mremap.go +57 -0
  211. package/govendor/golang.org/x/sys/unix/pagesize_unix.go +15 -0
  212. package/govendor/golang.org/x/sys/unix/pledge_openbsd.go +111 -0
  213. package/govendor/golang.org/x/sys/unix/ptrace_darwin.go +11 -0
  214. package/govendor/golang.org/x/sys/unix/ptrace_ios.go +11 -0
  215. package/govendor/golang.org/x/sys/unix/race.go +30 -0
  216. package/govendor/golang.org/x/sys/unix/race0.go +25 -0
  217. package/govendor/golang.org/x/sys/unix/readdirent_getdents.go +12 -0
  218. package/govendor/golang.org/x/sys/unix/readdirent_getdirentries.go +19 -0
  219. package/govendor/golang.org/x/sys/unix/readv_unix.go +103 -0
  220. package/govendor/golang.org/x/sys/unix/sockcmsg_dragonfly.go +16 -0
  221. package/govendor/golang.org/x/sys/unix/sockcmsg_linux.go +85 -0
  222. package/govendor/golang.org/x/sys/unix/sockcmsg_unix.go +106 -0
  223. package/govendor/golang.org/x/sys/unix/sockcmsg_unix_other.go +46 -0
  224. package/govendor/golang.org/x/sys/unix/sockcmsg_zos.go +58 -0
  225. package/govendor/golang.org/x/sys/unix/symaddr_zos_s390x.s +75 -0
  226. package/govendor/golang.org/x/sys/unix/syscall.go +86 -0
  227. package/govendor/golang.org/x/sys/unix/syscall_aix.go +582 -0
  228. package/govendor/golang.org/x/sys/unix/syscall_aix_ppc.go +52 -0
  229. package/govendor/golang.org/x/sys/unix/syscall_aix_ppc64.go +83 -0
  230. package/govendor/golang.org/x/sys/unix/syscall_bsd.go +609 -0
  231. package/govendor/golang.org/x/sys/unix/syscall_darwin.go +711 -0
  232. package/govendor/golang.org/x/sys/unix/syscall_darwin_amd64.go +50 -0
  233. package/govendor/golang.org/x/sys/unix/syscall_darwin_arm64.go +50 -0
  234. package/govendor/golang.org/x/sys/unix/syscall_darwin_libSystem.go +26 -0
  235. package/govendor/golang.org/x/sys/unix/syscall_dragonfly.go +359 -0
  236. package/govendor/golang.org/x/sys/unix/syscall_dragonfly_amd64.go +56 -0
  237. package/govendor/golang.org/x/sys/unix/syscall_freebsd.go +455 -0
  238. package/govendor/golang.org/x/sys/unix/syscall_freebsd_386.go +64 -0
  239. package/govendor/golang.org/x/sys/unix/syscall_freebsd_amd64.go +64 -0
  240. package/govendor/golang.org/x/sys/unix/syscall_freebsd_arm.go +60 -0
  241. package/govendor/golang.org/x/sys/unix/syscall_freebsd_arm64.go +60 -0
  242. package/govendor/golang.org/x/sys/unix/syscall_freebsd_riscv64.go +60 -0
  243. package/govendor/golang.org/x/sys/unix/syscall_hurd.go +30 -0
  244. package/govendor/golang.org/x/sys/unix/syscall_hurd_386.go +28 -0
  245. package/govendor/golang.org/x/sys/unix/syscall_illumos.go +78 -0
  246. package/govendor/golang.org/x/sys/unix/syscall_linux.go +2574 -0
  247. package/govendor/golang.org/x/sys/unix/syscall_linux_386.go +313 -0
  248. package/govendor/golang.org/x/sys/unix/syscall_linux_alarm.go +12 -0
  249. package/govendor/golang.org/x/sys/unix/syscall_linux_amd64.go +144 -0
  250. package/govendor/golang.org/x/sys/unix/syscall_linux_amd64_gc.go +12 -0
  251. package/govendor/golang.org/x/sys/unix/syscall_linux_arm.go +218 -0
  252. package/govendor/golang.org/x/sys/unix/syscall_linux_arm64.go +188 -0
  253. package/govendor/golang.org/x/sys/unix/syscall_linux_gc.go +14 -0
  254. package/govendor/golang.org/x/sys/unix/syscall_linux_gc_386.go +16 -0
  255. package/govendor/golang.org/x/sys/unix/syscall_linux_gc_arm.go +13 -0
  256. package/govendor/golang.org/x/sys/unix/syscall_linux_gccgo_386.go +30 -0
  257. package/govendor/golang.org/x/sys/unix/syscall_linux_gccgo_arm.go +20 -0
  258. package/govendor/golang.org/x/sys/unix/syscall_linux_loong64.go +220 -0
  259. package/govendor/golang.org/x/sys/unix/syscall_linux_mips64x.go +187 -0
  260. package/govendor/golang.org/x/sys/unix/syscall_linux_mipsx.go +173 -0
  261. package/govendor/golang.org/x/sys/unix/syscall_linux_ppc.go +203 -0
  262. package/govendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go +114 -0
  263. package/govendor/golang.org/x/sys/unix/syscall_linux_riscv64.go +193 -0
  264. package/govendor/golang.org/x/sys/unix/syscall_linux_s390x.go +295 -0
  265. package/govendor/golang.org/x/sys/unix/syscall_linux_sparc64.go +111 -0
  266. package/govendor/golang.org/x/sys/unix/syscall_netbsd.go +388 -0
  267. package/govendor/golang.org/x/sys/unix/syscall_netbsd_386.go +37 -0
  268. package/govendor/golang.org/x/sys/unix/syscall_netbsd_amd64.go +37 -0
  269. package/govendor/golang.org/x/sys/unix/syscall_netbsd_arm.go +37 -0
  270. package/govendor/golang.org/x/sys/unix/syscall_netbsd_arm64.go +37 -0
  271. package/govendor/golang.org/x/sys/unix/syscall_openbsd.go +346 -0
  272. package/govendor/golang.org/x/sys/unix/syscall_openbsd_386.go +41 -0
  273. package/govendor/golang.org/x/sys/unix/syscall_openbsd_amd64.go +41 -0
  274. package/govendor/golang.org/x/sys/unix/syscall_openbsd_arm.go +41 -0
  275. package/govendor/golang.org/x/sys/unix/syscall_openbsd_arm64.go +41 -0
  276. package/govendor/golang.org/x/sys/unix/syscall_openbsd_libc.go +26 -0
  277. package/govendor/golang.org/x/sys/unix/syscall_openbsd_mips64.go +39 -0
  278. package/govendor/golang.org/x/sys/unix/syscall_openbsd_ppc64.go +41 -0
  279. package/govendor/golang.org/x/sys/unix/syscall_openbsd_riscv64.go +41 -0
  280. package/govendor/golang.org/x/sys/unix/syscall_solaris.go +1183 -0
  281. package/govendor/golang.org/x/sys/unix/syscall_solaris_amd64.go +27 -0
  282. package/govendor/golang.org/x/sys/unix/syscall_unix.go +619 -0
  283. package/govendor/golang.org/x/sys/unix/syscall_unix_gc.go +14 -0
  284. package/govendor/golang.org/x/sys/unix/syscall_unix_gc_ppc64x.go +22 -0
  285. package/govendor/golang.org/x/sys/unix/syscall_zos_s390x.go +3213 -0
  286. package/govendor/golang.org/x/sys/unix/sysvshm_linux.go +20 -0
  287. package/govendor/golang.org/x/sys/unix/sysvshm_unix.go +51 -0
  288. package/govendor/golang.org/x/sys/unix/sysvshm_unix_other.go +13 -0
  289. package/govendor/golang.org/x/sys/unix/timestruct.go +76 -0
  290. package/govendor/golang.org/x/sys/unix/unveil_openbsd.go +51 -0
  291. package/govendor/golang.org/x/sys/unix/vgetrandom_linux.go +13 -0
  292. package/govendor/golang.org/x/sys/unix/vgetrandom_unsupported.go +11 -0
  293. package/govendor/golang.org/x/sys/unix/xattr_bsd.go +280 -0
  294. package/govendor/golang.org/x/sys/unix/zerrors_aix_ppc.go +1384 -0
  295. package/govendor/golang.org/x/sys/unix/zerrors_aix_ppc64.go +1385 -0
  296. package/govendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go +1922 -0
  297. package/govendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go +1922 -0
  298. package/govendor/golang.org/x/sys/unix/zerrors_dragonfly_amd64.go +1737 -0
  299. package/govendor/golang.org/x/sys/unix/zerrors_freebsd_386.go +2042 -0
  300. package/govendor/golang.org/x/sys/unix/zerrors_freebsd_amd64.go +2039 -0
  301. package/govendor/golang.org/x/sys/unix/zerrors_freebsd_arm.go +2033 -0
  302. package/govendor/golang.org/x/sys/unix/zerrors_freebsd_arm64.go +2033 -0
  303. package/govendor/golang.org/x/sys/unix/zerrors_freebsd_riscv64.go +2147 -0
  304. package/govendor/golang.org/x/sys/unix/zerrors_linux.go +4209 -0
  305. package/govendor/golang.org/x/sys/unix/zerrors_linux_386.go +882 -0
  306. package/govendor/golang.org/x/sys/unix/zerrors_linux_amd64.go +882 -0
  307. package/govendor/golang.org/x/sys/unix/zerrors_linux_arm.go +887 -0
  308. package/govendor/golang.org/x/sys/unix/zerrors_linux_arm64.go +884 -0
  309. package/govendor/golang.org/x/sys/unix/zerrors_linux_loong64.go +874 -0
  310. package/govendor/golang.org/x/sys/unix/zerrors_linux_mips.go +888 -0
  311. package/govendor/golang.org/x/sys/unix/zerrors_linux_mips64.go +888 -0
  312. package/govendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go +888 -0
  313. package/govendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go +888 -0
  314. package/govendor/golang.org/x/sys/unix/zerrors_linux_ppc.go +940 -0
  315. package/govendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go +944 -0
  316. package/govendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go +944 -0
  317. package/govendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go +884 -0
  318. package/govendor/golang.org/x/sys/unix/zerrors_linux_s390x.go +943 -0
  319. package/govendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go +992 -0
  320. package/govendor/golang.org/x/sys/unix/zerrors_netbsd_386.go +1779 -0
  321. package/govendor/golang.org/x/sys/unix/zerrors_netbsd_amd64.go +1769 -0
  322. package/govendor/golang.org/x/sys/unix/zerrors_netbsd_arm.go +1758 -0
  323. package/govendor/golang.org/x/sys/unix/zerrors_netbsd_arm64.go +1769 -0
  324. package/govendor/golang.org/x/sys/unix/zerrors_openbsd_386.go +1905 -0
  325. package/govendor/golang.org/x/sys/unix/zerrors_openbsd_amd64.go +1905 -0
  326. package/govendor/golang.org/x/sys/unix/zerrors_openbsd_arm.go +1905 -0
  327. package/govendor/golang.org/x/sys/unix/zerrors_openbsd_arm64.go +1905 -0
  328. package/govendor/golang.org/x/sys/unix/zerrors_openbsd_mips64.go +1905 -0
  329. package/govendor/golang.org/x/sys/unix/zerrors_openbsd_ppc64.go +1904 -0
  330. package/govendor/golang.org/x/sys/unix/zerrors_openbsd_riscv64.go +1903 -0
  331. package/govendor/golang.org/x/sys/unix/zerrors_solaris_amd64.go +1556 -0
  332. package/govendor/golang.org/x/sys/unix/zerrors_zos_s390x.go +990 -0
  333. package/govendor/golang.org/x/sys/unix/zptrace_armnn_linux.go +40 -0
  334. package/govendor/golang.org/x/sys/unix/zptrace_linux_arm64.go +17 -0
  335. package/govendor/golang.org/x/sys/unix/zptrace_mipsnn_linux.go +49 -0
  336. package/govendor/golang.org/x/sys/unix/zptrace_mipsnnle_linux.go +49 -0
  337. package/govendor/golang.org/x/sys/unix/zptrace_x86_linux.go +79 -0
  338. package/govendor/golang.org/x/sys/unix/zsymaddr_zos_s390x.s +364 -0
  339. package/govendor/golang.org/x/sys/unix/zsyscall_aix_ppc.go +1461 -0
  340. package/govendor/golang.org/x/sys/unix/zsyscall_aix_ppc64.go +1420 -0
  341. package/govendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gc.go +1188 -0
  342. package/govendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gccgo.go +1069 -0
  343. package/govendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go +2728 -0
  344. package/govendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s +799 -0
  345. package/govendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go +2728 -0
  346. package/govendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.s +799 -0
  347. package/govendor/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go +1666 -0
  348. package/govendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go +1886 -0
  349. package/govendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go +1886 -0
  350. package/govendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go +1886 -0
  351. package/govendor/golang.org/x/sys/unix/zsyscall_freebsd_arm64.go +1886 -0
  352. package/govendor/golang.org/x/sys/unix/zsyscall_freebsd_riscv64.go +1886 -0
  353. package/govendor/golang.org/x/sys/unix/zsyscall_illumos_amd64.go +101 -0
  354. package/govendor/golang.org/x/sys/unix/zsyscall_linux.go +2267 -0
  355. package/govendor/golang.org/x/sys/unix/zsyscall_linux_386.go +469 -0
  356. package/govendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go +636 -0
  357. package/govendor/golang.org/x/sys/unix/zsyscall_linux_arm.go +584 -0
  358. package/govendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go +535 -0
  359. package/govendor/golang.org/x/sys/unix/zsyscall_linux_loong64.go +469 -0
  360. package/govendor/golang.org/x/sys/unix/zsyscall_linux_mips.go +636 -0
  361. package/govendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go +630 -0
  362. package/govendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go +619 -0
  363. package/govendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go +636 -0
  364. package/govendor/golang.org/x/sys/unix/zsyscall_linux_ppc.go +641 -0
  365. package/govendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go +687 -0
  366. package/govendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go +687 -0
  367. package/govendor/golang.org/x/sys/unix/zsyscall_linux_riscv64.go +531 -0
  368. package/govendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go +478 -0
  369. package/govendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go +631 -0
  370. package/govendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go +1848 -0
  371. package/govendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go +1848 -0
  372. package/govendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go +1848 -0
  373. package/govendor/golang.org/x/sys/unix/zsyscall_netbsd_arm64.go +1848 -0
  374. package/govendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go +2407 -0
  375. package/govendor/golang.org/x/sys/unix/zsyscall_openbsd_386.s +719 -0
  376. package/govendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go +2407 -0
  377. package/govendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.s +719 -0
  378. package/govendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go +2407 -0
  379. package/govendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.s +719 -0
  380. package/govendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.go +2407 -0
  381. package/govendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.s +719 -0
  382. package/govendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.go +2407 -0
  383. package/govendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.s +719 -0
  384. package/govendor/golang.org/x/sys/unix/zsyscall_openbsd_ppc64.go +2407 -0
  385. package/govendor/golang.org/x/sys/unix/zsyscall_openbsd_ppc64.s +862 -0
  386. package/govendor/golang.org/x/sys/unix/zsyscall_openbsd_riscv64.go +2407 -0
  387. package/govendor/golang.org/x/sys/unix/zsyscall_openbsd_riscv64.s +719 -0
  388. package/govendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go +2217 -0
  389. package/govendor/golang.org/x/sys/unix/zsyscall_zos_s390x.go +3458 -0
  390. package/govendor/golang.org/x/sys/unix/zsysctl_openbsd_386.go +280 -0
  391. package/govendor/golang.org/x/sys/unix/zsysctl_openbsd_amd64.go +280 -0
  392. package/govendor/golang.org/x/sys/unix/zsysctl_openbsd_arm.go +280 -0
  393. package/govendor/golang.org/x/sys/unix/zsysctl_openbsd_arm64.go +280 -0
  394. package/govendor/golang.org/x/sys/unix/zsysctl_openbsd_mips64.go +280 -0
  395. package/govendor/golang.org/x/sys/unix/zsysctl_openbsd_ppc64.go +280 -0
  396. package/govendor/golang.org/x/sys/unix/zsysctl_openbsd_riscv64.go +281 -0
  397. package/govendor/golang.org/x/sys/unix/zsysnum_darwin_amd64.go +439 -0
  398. package/govendor/golang.org/x/sys/unix/zsysnum_darwin_arm64.go +437 -0
  399. package/govendor/golang.org/x/sys/unix/zsysnum_dragonfly_amd64.go +316 -0
  400. package/govendor/golang.org/x/sys/unix/zsysnum_freebsd_386.go +393 -0
  401. package/govendor/golang.org/x/sys/unix/zsysnum_freebsd_amd64.go +393 -0
  402. package/govendor/golang.org/x/sys/unix/zsysnum_freebsd_arm.go +393 -0
  403. package/govendor/golang.org/x/sys/unix/zsysnum_freebsd_arm64.go +393 -0
  404. package/govendor/golang.org/x/sys/unix/zsysnum_freebsd_riscv64.go +393 -0
  405. package/govendor/golang.org/x/sys/unix/zsysnum_linux_386.go +470 -0
  406. package/govendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go +394 -0
  407. package/govendor/golang.org/x/sys/unix/zsysnum_linux_arm.go +434 -0
  408. package/govendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go +337 -0
  409. package/govendor/golang.org/x/sys/unix/zsysnum_linux_loong64.go +334 -0
  410. package/govendor/golang.org/x/sys/unix/zsysnum_linux_mips.go +454 -0
  411. package/govendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go +384 -0
  412. package/govendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go +384 -0
  413. package/govendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go +454 -0
  414. package/govendor/golang.org/x/sys/unix/zsysnum_linux_ppc.go +461 -0
  415. package/govendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go +433 -0
  416. package/govendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go +433 -0
  417. package/govendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go +338 -0
  418. package/govendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go +399 -0
  419. package/govendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go +413 -0
  420. package/govendor/golang.org/x/sys/unix/zsysnum_netbsd_386.go +274 -0
  421. package/govendor/golang.org/x/sys/unix/zsysnum_netbsd_amd64.go +274 -0
  422. package/govendor/golang.org/x/sys/unix/zsysnum_netbsd_arm.go +274 -0
  423. package/govendor/golang.org/x/sys/unix/zsysnum_netbsd_arm64.go +274 -0
  424. package/govendor/golang.org/x/sys/unix/zsysnum_openbsd_386.go +219 -0
  425. package/govendor/golang.org/x/sys/unix/zsysnum_openbsd_amd64.go +219 -0
  426. package/govendor/golang.org/x/sys/unix/zsysnum_openbsd_arm.go +219 -0
  427. package/govendor/golang.org/x/sys/unix/zsysnum_openbsd_arm64.go +218 -0
  428. package/govendor/golang.org/x/sys/unix/zsysnum_openbsd_mips64.go +221 -0
  429. package/govendor/golang.org/x/sys/unix/zsysnum_openbsd_ppc64.go +217 -0
  430. package/govendor/golang.org/x/sys/unix/zsysnum_openbsd_riscv64.go +218 -0
  431. package/govendor/golang.org/x/sys/unix/zsysnum_zos_s390x.go +2852 -0
  432. package/govendor/golang.org/x/sys/unix/ztypes_aix_ppc.go +353 -0
  433. package/govendor/golang.org/x/sys/unix/ztypes_aix_ppc64.go +357 -0
  434. package/govendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go +878 -0
  435. package/govendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go +878 -0
  436. package/govendor/golang.org/x/sys/unix/ztypes_dragonfly_amd64.go +473 -0
  437. package/govendor/golang.org/x/sys/unix/ztypes_freebsd_386.go +651 -0
  438. package/govendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go +656 -0
  439. package/govendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go +642 -0
  440. package/govendor/golang.org/x/sys/unix/ztypes_freebsd_arm64.go +636 -0
  441. package/govendor/golang.org/x/sys/unix/ztypes_freebsd_riscv64.go +638 -0
  442. package/govendor/golang.org/x/sys/unix/ztypes_linux.go +6547 -0
  443. package/govendor/golang.org/x/sys/unix/ztypes_linux_386.go +747 -0
  444. package/govendor/golang.org/x/sys/unix/ztypes_linux_amd64.go +761 -0
  445. package/govendor/golang.org/x/sys/unix/ztypes_linux_arm.go +741 -0
  446. package/govendor/golang.org/x/sys/unix/ztypes_linux_arm64.go +740 -0
  447. package/govendor/golang.org/x/sys/unix/ztypes_linux_loong64.go +741 -0
  448. package/govendor/golang.org/x/sys/unix/ztypes_linux_mips.go +746 -0
  449. package/govendor/golang.org/x/sys/unix/ztypes_linux_mips64.go +743 -0
  450. package/govendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go +743 -0
  451. package/govendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go +746 -0
  452. package/govendor/golang.org/x/sys/unix/ztypes_linux_ppc.go +754 -0
  453. package/govendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go +749 -0
  454. package/govendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go +749 -0
  455. package/govendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go +828 -0
  456. package/govendor/golang.org/x/sys/unix/ztypes_linux_s390x.go +763 -0
  457. package/govendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go +744 -0
  458. package/govendor/golang.org/x/sys/unix/ztypes_netbsd_386.go +585 -0
  459. package/govendor/golang.org/x/sys/unix/ztypes_netbsd_amd64.go +593 -0
  460. package/govendor/golang.org/x/sys/unix/ztypes_netbsd_arm.go +590 -0
  461. package/govendor/golang.org/x/sys/unix/ztypes_netbsd_arm64.go +593 -0
  462. package/govendor/golang.org/x/sys/unix/ztypes_openbsd_386.go +568 -0
  463. package/govendor/golang.org/x/sys/unix/ztypes_openbsd_amd64.go +568 -0
  464. package/govendor/golang.org/x/sys/unix/ztypes_openbsd_arm.go +575 -0
  465. package/govendor/golang.org/x/sys/unix/ztypes_openbsd_arm64.go +568 -0
  466. package/govendor/golang.org/x/sys/unix/ztypes_openbsd_mips64.go +568 -0
  467. package/govendor/golang.org/x/sys/unix/ztypes_openbsd_ppc64.go +570 -0
  468. package/govendor/golang.org/x/sys/unix/ztypes_openbsd_riscv64.go +570 -0
  469. package/govendor/golang.org/x/sys/unix/ztypes_solaris_amd64.go +516 -0
  470. package/govendor/golang.org/x/sys/unix/ztypes_zos_s390x.go +552 -0
  471. package/govendor/golang.org/x/sys/windows/aliases.go +13 -0
  472. package/govendor/golang.org/x/sys/windows/dll_windows.go +380 -0
  473. package/govendor/golang.org/x/sys/windows/env_windows.go +57 -0
  474. package/govendor/golang.org/x/sys/windows/eventlog.go +20 -0
  475. package/govendor/golang.org/x/sys/windows/exec_windows.go +248 -0
  476. package/govendor/golang.org/x/sys/windows/memory_windows.go +48 -0
  477. package/govendor/golang.org/x/sys/windows/mkerrors.bash +70 -0
  478. package/govendor/golang.org/x/sys/windows/mkknownfolderids.bash +27 -0
  479. package/govendor/golang.org/x/sys/windows/mksyscall.go +9 -0
  480. package/govendor/golang.org/x/sys/windows/race.go +30 -0
  481. package/govendor/golang.org/x/sys/windows/race0.go +25 -0
  482. package/govendor/golang.org/x/sys/windows/security_windows.go +1537 -0
  483. package/govendor/golang.org/x/sys/windows/service.go +257 -0
  484. package/govendor/golang.org/x/sys/windows/setupapi_windows.go +1425 -0
  485. package/govendor/golang.org/x/sys/windows/str.go +22 -0
  486. package/govendor/golang.org/x/sys/windows/syscall.go +104 -0
  487. package/govendor/golang.org/x/sys/windows/syscall_windows.go +1952 -0
  488. package/govendor/golang.org/x/sys/windows/types_windows.go +4058 -0
  489. package/govendor/golang.org/x/sys/windows/types_windows_386.go +35 -0
  490. package/govendor/golang.org/x/sys/windows/types_windows_amd64.go +34 -0
  491. package/govendor/golang.org/x/sys/windows/types_windows_arm.go +35 -0
  492. package/govendor/golang.org/x/sys/windows/types_windows_arm64.go +34 -0
  493. package/govendor/golang.org/x/sys/windows/zerrors_windows.go +9468 -0
  494. package/govendor/golang.org/x/sys/windows/zknownfolderids_windows.go +149 -0
  495. package/govendor/golang.org/x/sys/windows/zsyscall_windows.go +4828 -0
  496. package/govendor/manifest.txt +7 -0
  497. package/package.json +6 -1
  498. package/types/typenative-go.d.ts +15159 -5
  499. package/types/typenative-npm.d.ts +2637 -34
  500. package/types/typenative.d.ts +651 -8
@@ -0,0 +1,13 @@
1
+ // Copyright 2023 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 || openbsd || solaris || zos
6
+
7
+ package unix
8
+
9
+ var mapper = &mmapper{
10
+ active: make(map[*byte][]byte),
11
+ mmap: mmap,
12
+ munmap: munmap,
13
+ }
@@ -0,0 +1,57 @@
1
+ // Copyright 2023 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 || netbsd
6
+
7
+ package unix
8
+
9
+ import "unsafe"
10
+
11
+ type mremapMmapper struct {
12
+ mmapper
13
+ mremap func(oldaddr uintptr, oldlength uintptr, newlength uintptr, flags int, newaddr uintptr) (xaddr uintptr, err error)
14
+ }
15
+
16
+ var mapper = &mremapMmapper{
17
+ mmapper: mmapper{
18
+ active: make(map[*byte][]byte),
19
+ mmap: mmap,
20
+ munmap: munmap,
21
+ },
22
+ mremap: mremap,
23
+ }
24
+
25
+ func (m *mremapMmapper) Mremap(oldData []byte, newLength int, flags int) (data []byte, err error) {
26
+ if newLength <= 0 || len(oldData) == 0 || len(oldData) != cap(oldData) || flags&mremapFixed != 0 {
27
+ return nil, EINVAL
28
+ }
29
+
30
+ pOld := &oldData[cap(oldData)-1]
31
+ m.Lock()
32
+ defer m.Unlock()
33
+ bOld := m.active[pOld]
34
+ if bOld == nil || &bOld[0] != &oldData[0] {
35
+ return nil, EINVAL
36
+ }
37
+ newAddr, errno := m.mremap(uintptr(unsafe.Pointer(&bOld[0])), uintptr(len(bOld)), uintptr(newLength), flags, 0)
38
+ if errno != nil {
39
+ return nil, errno
40
+ }
41
+ bNew := unsafe.Slice((*byte)(unsafe.Pointer(newAddr)), newLength)
42
+ pNew := &bNew[cap(bNew)-1]
43
+ if flags&mremapDontunmap == 0 {
44
+ delete(m.active, pOld)
45
+ }
46
+ m.active[pNew] = bNew
47
+ return bNew, nil
48
+ }
49
+
50
+ func Mremap(oldData []byte, newLength int, flags int) (data []byte, err error) {
51
+ return mapper.Mremap(oldData, newLength, flags)
52
+ }
53
+
54
+ func MremapPtr(oldAddr unsafe.Pointer, oldSize uintptr, newAddr unsafe.Pointer, newSize uintptr, flags int) (ret unsafe.Pointer, err error) {
55
+ xaddr, err := mapper.mremap(uintptr(oldAddr), oldSize, newSize, flags, uintptr(newAddr))
56
+ return unsafe.Pointer(xaddr), err
57
+ }
@@ -0,0 +1,15 @@
1
+ // Copyright 2017 The Go Authors. All rights reserved.
2
+ // Use of this source code is governed by a BSD-style
3
+ // license that can be found in the LICENSE file.
4
+
5
+ //go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos
6
+
7
+ // For Unix, get the pagesize from the runtime.
8
+
9
+ package unix
10
+
11
+ import "syscall"
12
+
13
+ func Getpagesize() int {
14
+ return syscall.Getpagesize()
15
+ }
@@ -0,0 +1,111 @@
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
+ package unix
6
+
7
+ import (
8
+ "errors"
9
+ "fmt"
10
+ "strconv"
11
+ )
12
+
13
+ // Pledge implements the pledge syscall.
14
+ //
15
+ // This changes both the promises and execpromises; use PledgePromises or
16
+ // PledgeExecpromises to only change the promises or execpromises
17
+ // respectively.
18
+ //
19
+ // For more information see pledge(2).
20
+ func Pledge(promises, execpromises string) error {
21
+ if err := pledgeAvailable(); err != nil {
22
+ return err
23
+ }
24
+
25
+ pptr, err := BytePtrFromString(promises)
26
+ if err != nil {
27
+ return err
28
+ }
29
+
30
+ exptr, err := BytePtrFromString(execpromises)
31
+ if err != nil {
32
+ return err
33
+ }
34
+
35
+ return pledge(pptr, exptr)
36
+ }
37
+
38
+ // PledgePromises implements the pledge syscall.
39
+ //
40
+ // This changes the promises and leaves the execpromises untouched.
41
+ //
42
+ // For more information see pledge(2).
43
+ func PledgePromises(promises string) error {
44
+ if err := pledgeAvailable(); err != nil {
45
+ return err
46
+ }
47
+
48
+ pptr, err := BytePtrFromString(promises)
49
+ if err != nil {
50
+ return err
51
+ }
52
+
53
+ return pledge(pptr, nil)
54
+ }
55
+
56
+ // PledgeExecpromises implements the pledge syscall.
57
+ //
58
+ // This changes the execpromises and leaves the promises untouched.
59
+ //
60
+ // For more information see pledge(2).
61
+ func PledgeExecpromises(execpromises string) error {
62
+ if err := pledgeAvailable(); err != nil {
63
+ return err
64
+ }
65
+
66
+ exptr, err := BytePtrFromString(execpromises)
67
+ if err != nil {
68
+ return err
69
+ }
70
+
71
+ return pledge(nil, exptr)
72
+ }
73
+
74
+ // majmin returns major and minor version number for an OpenBSD system.
75
+ func majmin() (major int, minor int, err error) {
76
+ var v Utsname
77
+ err = Uname(&v)
78
+ if err != nil {
79
+ return
80
+ }
81
+
82
+ major, err = strconv.Atoi(string(v.Release[0]))
83
+ if err != nil {
84
+ err = errors.New("cannot parse major version number returned by uname")
85
+ return
86
+ }
87
+
88
+ minor, err = strconv.Atoi(string(v.Release[2]))
89
+ if err != nil {
90
+ err = errors.New("cannot parse minor version number returned by uname")
91
+ return
92
+ }
93
+
94
+ return
95
+ }
96
+
97
+ // pledgeAvailable checks for availability of the pledge(2) syscall
98
+ // based on the running OpenBSD version.
99
+ func pledgeAvailable() error {
100
+ maj, min, err := majmin()
101
+ if err != nil {
102
+ return err
103
+ }
104
+
105
+ // Require OpenBSD 6.4 as a minimum.
106
+ if maj < 6 || (maj == 6 && min <= 3) {
107
+ return fmt.Errorf("cannot call Pledge on OpenBSD %d.%d", maj, min)
108
+ }
109
+
110
+ return nil
111
+ }
@@ -0,0 +1,11 @@
1
+ // Copyright 2020 The Go Authors. All rights reserved.
2
+ // Use of this source code is governed by a BSD-style
3
+ // license that can be found in the LICENSE file.
4
+
5
+ //go:build darwin && !ios
6
+
7
+ package unix
8
+
9
+ func ptrace(request int, pid int, addr uintptr, data uintptr) error {
10
+ return ptrace1(request, pid, addr, data)
11
+ }
@@ -0,0 +1,11 @@
1
+ // Copyright 2020 The Go Authors. All rights reserved.
2
+ // Use of this source code is governed by a BSD-style
3
+ // license that can be found in the LICENSE file.
4
+
5
+ //go:build ios
6
+
7
+ package unix
8
+
9
+ func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) {
10
+ return ENOTSUP
11
+ }
@@ -0,0 +1,30 @@
1
+ // Copyright 2012 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 && race) || (linux && race) || (freebsd && race)
6
+
7
+ package unix
8
+
9
+ import (
10
+ "runtime"
11
+ "unsafe"
12
+ )
13
+
14
+ const raceenabled = true
15
+
16
+ func raceAcquire(addr unsafe.Pointer) {
17
+ runtime.RaceAcquire(addr)
18
+ }
19
+
20
+ func raceReleaseMerge(addr unsafe.Pointer) {
21
+ runtime.RaceReleaseMerge(addr)
22
+ }
23
+
24
+ func raceReadRange(addr unsafe.Pointer, len int) {
25
+ runtime.RaceReadRange(addr, len)
26
+ }
27
+
28
+ func raceWriteRange(addr unsafe.Pointer, len int) {
29
+ runtime.RaceWriteRange(addr, len)
30
+ }
@@ -0,0 +1,25 @@
1
+ // Copyright 2012 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 && !race) || (linux && !race) || (freebsd && !race) || netbsd || openbsd || solaris || dragonfly || zos
6
+
7
+ package unix
8
+
9
+ import (
10
+ "unsafe"
11
+ )
12
+
13
+ const raceenabled = false
14
+
15
+ func raceAcquire(addr unsafe.Pointer) {
16
+ }
17
+
18
+ func raceReleaseMerge(addr unsafe.Pointer) {
19
+ }
20
+
21
+ func raceReadRange(addr unsafe.Pointer, len int) {
22
+ }
23
+
24
+ func raceWriteRange(addr unsafe.Pointer, len int) {
25
+ }
@@ -0,0 +1,12 @@
1
+ // Copyright 2019 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 || dragonfly || freebsd || linux || netbsd || openbsd
6
+
7
+ package unix
8
+
9
+ // ReadDirent reads directory entries from fd and writes them into buf.
10
+ func ReadDirent(fd int, buf []byte) (n int, err error) {
11
+ return Getdents(fd, buf)
12
+ }
@@ -0,0 +1,19 @@
1
+ // Copyright 2019 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 || zos
6
+
7
+ package unix
8
+
9
+ import "unsafe"
10
+
11
+ // ReadDirent reads directory entries from fd and writes them into buf.
12
+ func ReadDirent(fd int, buf []byte) (n int, err error) {
13
+ // Final argument is (basep *uintptr) and the syscall doesn't take nil.
14
+ // 64 bits should be enough. (32 bits isn't even on 386). Since the
15
+ // actual system call is getdirentries64, 64 is a good guess.
16
+ // TODO(rsc): Can we use a single global basep for all calls?
17
+ var base = (*uintptr)(unsafe.Pointer(new(uint64)))
18
+ return Getdirentries(fd, buf, base)
19
+ }
@@ -0,0 +1,103 @@
1
+ // Copyright 2026 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 || linux || openbsd
6
+
7
+ package unix
8
+
9
+ import "unsafe"
10
+
11
+ // minIovec is the size of the small initial allocation used by
12
+ // Readv, Writev, etc.
13
+ //
14
+ // This small allocation gets stack allocated, which lets the
15
+ // common use case of len(iovs) <= minIovec avoid more expensive
16
+ // heap allocations.
17
+ const minIovec = 8
18
+
19
+ // appendBytes converts bs to Iovecs and appends them to vecs.
20
+ func appendBytes(vecs []Iovec, bs [][]byte) []Iovec {
21
+ for _, b := range bs {
22
+ var v Iovec
23
+ v.SetLen(len(b))
24
+ if len(b) > 0 {
25
+ v.Base = &b[0]
26
+ } else {
27
+ v.Base = (*byte)(unsafe.Pointer(&_zero))
28
+ }
29
+ vecs = append(vecs, v)
30
+ }
31
+ return vecs
32
+ }
33
+
34
+ // writevRaceDetect tells the race detector that the program
35
+ // has read the first n bytes stored in iovecs.
36
+ func writevRaceDetect(iovecs []Iovec, n int) {
37
+ if !raceenabled {
38
+ return
39
+ }
40
+ for i := 0; n > 0 && i < len(iovecs); i++ {
41
+ m := min(int(iovecs[i].Len), n)
42
+ n -= m
43
+ if m > 0 {
44
+ raceReadRange(unsafe.Pointer(iovecs[i].Base), m)
45
+ }
46
+ }
47
+ }
48
+
49
+ // readvRaceDetect tells the race detector that the program
50
+ // has written to the first n bytes stored in iovecs.
51
+ func readvRaceDetect(iovecs []Iovec, n int, err error) {
52
+ if !raceenabled {
53
+ return
54
+ }
55
+ for i := 0; n > 0 && i < len(iovecs); i++ {
56
+ m := min(int(iovecs[i].Len), n)
57
+ n -= m
58
+ if m > 0 {
59
+ raceWriteRange(unsafe.Pointer(iovecs[i].Base), m)
60
+ }
61
+ }
62
+ if err == nil {
63
+ raceAcquire(unsafe.Pointer(&ioSync))
64
+ }
65
+ }
66
+
67
+ func Readv(fd int, iovs [][]byte) (n int, err error) {
68
+ iovecs := make([]Iovec, 0, minIovec)
69
+ iovecs = appendBytes(iovecs, iovs)
70
+ n, err = readv(fd, iovecs)
71
+ readvRaceDetect(iovecs, n, err)
72
+ return n, err
73
+ }
74
+
75
+ func Preadv(fd int, iovs [][]byte, offset int64) (n int, err error) {
76
+ iovecs := make([]Iovec, 0, minIovec)
77
+ iovecs = appendBytes(iovecs, iovs)
78
+ n, err = preadv(fd, iovecs, offset)
79
+ readvRaceDetect(iovecs, n, err)
80
+ return n, err
81
+ }
82
+
83
+ func Writev(fd int, iovs [][]byte) (n int, err error) {
84
+ iovecs := make([]Iovec, 0, minIovec)
85
+ iovecs = appendBytes(iovecs, iovs)
86
+ if raceenabled {
87
+ raceReleaseMerge(unsafe.Pointer(&ioSync))
88
+ }
89
+ n, err = writev(fd, iovecs)
90
+ writevRaceDetect(iovecs, n)
91
+ return n, err
92
+ }
93
+
94
+ func Pwritev(fd int, iovs [][]byte, offset int64) (n int, err error) {
95
+ iovecs := make([]Iovec, 0, minIovec)
96
+ iovecs = appendBytes(iovecs, iovs)
97
+ if raceenabled {
98
+ raceReleaseMerge(unsafe.Pointer(&ioSync))
99
+ }
100
+ n, err = pwritev(fd, iovecs, offset)
101
+ writevRaceDetect(iovecs, n)
102
+ return n, err
103
+ }
@@ -0,0 +1,16 @@
1
+ // Copyright 2019 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
+ package unix
6
+
7
+ // Round the length of a raw sockaddr up to align it properly.
8
+ func cmsgAlignOf(salen int) int {
9
+ salign := SizeofPtr
10
+ if SizeofPtr == 8 && !supportsABI(_dragonflyABIChangeVersion) {
11
+ // 64-bit Dragonfly before the September 2019 ABI changes still requires
12
+ // 32-bit aligned access to network subsystem.
13
+ salign = 4
14
+ }
15
+ return (salen + salign - 1) & ^(salign - 1)
16
+ }
@@ -0,0 +1,85 @@
1
+ // Copyright 2011 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
+ // Socket control messages
6
+
7
+ package unix
8
+
9
+ import "unsafe"
10
+
11
+ // UnixCredentials encodes credentials into a socket control message
12
+ // for sending to another process. This can be used for
13
+ // authentication.
14
+ func UnixCredentials(ucred *Ucred) []byte {
15
+ b := make([]byte, CmsgSpace(SizeofUcred))
16
+ h := (*Cmsghdr)(unsafe.Pointer(&b[0]))
17
+ h.Level = SOL_SOCKET
18
+ h.Type = SCM_CREDENTIALS
19
+ h.SetLen(CmsgLen(SizeofUcred))
20
+ *(*Ucred)(h.data(0)) = *ucred
21
+ return b
22
+ }
23
+
24
+ // ParseUnixCredentials decodes a socket control message that contains
25
+ // credentials in a Ucred structure. To receive such a message, the
26
+ // SO_PASSCRED option must be enabled on the socket.
27
+ func ParseUnixCredentials(m *SocketControlMessage) (*Ucred, error) {
28
+ if m.Header.Level != SOL_SOCKET {
29
+ return nil, EINVAL
30
+ }
31
+ if m.Header.Type != SCM_CREDENTIALS {
32
+ return nil, EINVAL
33
+ }
34
+ ucred := *(*Ucred)(unsafe.Pointer(&m.Data[0]))
35
+ return &ucred, nil
36
+ }
37
+
38
+ // PktInfo4 encodes Inet4Pktinfo into a socket control message of type IP_PKTINFO.
39
+ func PktInfo4(info *Inet4Pktinfo) []byte {
40
+ b := make([]byte, CmsgSpace(SizeofInet4Pktinfo))
41
+ h := (*Cmsghdr)(unsafe.Pointer(&b[0]))
42
+ h.Level = SOL_IP
43
+ h.Type = IP_PKTINFO
44
+ h.SetLen(CmsgLen(SizeofInet4Pktinfo))
45
+ *(*Inet4Pktinfo)(h.data(0)) = *info
46
+ return b
47
+ }
48
+
49
+ // PktInfo6 encodes Inet6Pktinfo into a socket control message of type IPV6_PKTINFO.
50
+ func PktInfo6(info *Inet6Pktinfo) []byte {
51
+ b := make([]byte, CmsgSpace(SizeofInet6Pktinfo))
52
+ h := (*Cmsghdr)(unsafe.Pointer(&b[0]))
53
+ h.Level = SOL_IPV6
54
+ h.Type = IPV6_PKTINFO
55
+ h.SetLen(CmsgLen(SizeofInet6Pktinfo))
56
+ *(*Inet6Pktinfo)(h.data(0)) = *info
57
+ return b
58
+ }
59
+
60
+ // ParseOrigDstAddr decodes a socket control message containing the original
61
+ // destination address. To receive such a message the IP_RECVORIGDSTADDR or
62
+ // IPV6_RECVORIGDSTADDR option must be enabled on the socket.
63
+ func ParseOrigDstAddr(m *SocketControlMessage) (Sockaddr, error) {
64
+ switch {
65
+ case m.Header.Level == SOL_IP && m.Header.Type == IP_ORIGDSTADDR:
66
+ pp := (*RawSockaddrInet4)(unsafe.Pointer(&m.Data[0]))
67
+ sa := new(SockaddrInet4)
68
+ p := (*[2]byte)(unsafe.Pointer(&pp.Port))
69
+ sa.Port = int(p[0])<<8 + int(p[1])
70
+ sa.Addr = pp.Addr
71
+ return sa, nil
72
+
73
+ case m.Header.Level == SOL_IPV6 && m.Header.Type == IPV6_ORIGDSTADDR:
74
+ pp := (*RawSockaddrInet6)(unsafe.Pointer(&m.Data[0]))
75
+ sa := new(SockaddrInet6)
76
+ p := (*[2]byte)(unsafe.Pointer(&pp.Port))
77
+ sa.Port = int(p[0])<<8 + int(p[1])
78
+ sa.ZoneId = pp.Scope_id
79
+ sa.Addr = pp.Addr
80
+ return sa, nil
81
+
82
+ default:
83
+ return nil, EINVAL
84
+ }
85
+ }
@@ -0,0 +1,106 @@
1
+ // Copyright 2011 The Go Authors. All rights reserved.
2
+ // Use of this source code is governed by a BSD-style
3
+ // license that can be found in the LICENSE file.
4
+
5
+ //go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos
6
+
7
+ // Socket control messages
8
+
9
+ package unix
10
+
11
+ import (
12
+ "unsafe"
13
+ )
14
+
15
+ // CmsgLen returns the value to store in the Len field of the Cmsghdr
16
+ // structure, taking into account any necessary alignment.
17
+ func CmsgLen(datalen int) int {
18
+ return cmsgAlignOf(SizeofCmsghdr) + datalen
19
+ }
20
+
21
+ // CmsgSpace returns the number of bytes an ancillary element with
22
+ // payload of the passed data length occupies.
23
+ func CmsgSpace(datalen int) int {
24
+ return cmsgAlignOf(SizeofCmsghdr) + cmsgAlignOf(datalen)
25
+ }
26
+
27
+ func (h *Cmsghdr) data(offset uintptr) unsafe.Pointer {
28
+ return unsafe.Pointer(uintptr(unsafe.Pointer(h)) + uintptr(cmsgAlignOf(SizeofCmsghdr)) + offset)
29
+ }
30
+
31
+ // SocketControlMessage represents a socket control message.
32
+ type SocketControlMessage struct {
33
+ Header Cmsghdr
34
+ Data []byte
35
+ }
36
+
37
+ // ParseSocketControlMessage parses b as an array of socket control
38
+ // messages.
39
+ func ParseSocketControlMessage(b []byte) ([]SocketControlMessage, error) {
40
+ var msgs []SocketControlMessage
41
+ i := 0
42
+ for i+CmsgLen(0) <= len(b) {
43
+ h, dbuf, err := socketControlMessageHeaderAndData(b[i:])
44
+ if err != nil {
45
+ return nil, err
46
+ }
47
+ m := SocketControlMessage{Header: *h, Data: dbuf}
48
+ msgs = append(msgs, m)
49
+ i += cmsgAlignOf(int(h.Len))
50
+ }
51
+ return msgs, nil
52
+ }
53
+
54
+ // ParseOneSocketControlMessage parses a single socket control message from b, returning the message header,
55
+ // message data (a slice of b), and the remainder of b after that single message.
56
+ // When there are no remaining messages, len(remainder) == 0.
57
+ func ParseOneSocketControlMessage(b []byte) (hdr Cmsghdr, data []byte, remainder []byte, err error) {
58
+ h, dbuf, err := socketControlMessageHeaderAndData(b)
59
+ if err != nil {
60
+ return Cmsghdr{}, nil, nil, err
61
+ }
62
+ if i := cmsgAlignOf(int(h.Len)); i < len(b) {
63
+ remainder = b[i:]
64
+ }
65
+ return *h, dbuf, remainder, nil
66
+ }
67
+
68
+ func socketControlMessageHeaderAndData(b []byte) (*Cmsghdr, []byte, error) {
69
+ h := (*Cmsghdr)(unsafe.Pointer(&b[0]))
70
+ if h.Len < SizeofCmsghdr || uint64(h.Len) > uint64(len(b)) {
71
+ return nil, nil, EINVAL
72
+ }
73
+ return h, b[cmsgAlignOf(SizeofCmsghdr):h.Len], nil
74
+ }
75
+
76
+ // UnixRights encodes a set of open file descriptors into a socket
77
+ // control message for sending to another process.
78
+ func UnixRights(fds ...int) []byte {
79
+ datalen := len(fds) * 4
80
+ b := make([]byte, CmsgSpace(datalen))
81
+ h := (*Cmsghdr)(unsafe.Pointer(&b[0]))
82
+ h.Level = SOL_SOCKET
83
+ h.Type = SCM_RIGHTS
84
+ h.SetLen(CmsgLen(datalen))
85
+ for i, fd := range fds {
86
+ *(*int32)(h.data(4 * uintptr(i))) = int32(fd)
87
+ }
88
+ return b
89
+ }
90
+
91
+ // ParseUnixRights decodes a socket control message that contains an
92
+ // integer array of open file descriptors from another process.
93
+ func ParseUnixRights(m *SocketControlMessage) ([]int, error) {
94
+ if m.Header.Level != SOL_SOCKET {
95
+ return nil, EINVAL
96
+ }
97
+ if m.Header.Type != SCM_RIGHTS {
98
+ return nil, EINVAL
99
+ }
100
+ fds := make([]int, len(m.Data)>>2)
101
+ for i, j := 0, 0; i < len(m.Data); i += 4 {
102
+ fds[j] = int(*(*int32)(unsafe.Pointer(&m.Data[i])))
103
+ j++
104
+ }
105
+ return fds, nil
106
+ }
@@ -0,0 +1,46 @@
1
+ // Copyright 2019 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 || freebsd || linux || netbsd || openbsd || solaris || zos
6
+
7
+ package unix
8
+
9
+ import (
10
+ "runtime"
11
+ )
12
+
13
+ // Round the length of a raw sockaddr up to align it properly.
14
+ func cmsgAlignOf(salen int) int {
15
+ salign := SizeofPtr
16
+
17
+ // dragonfly needs to check ABI version at runtime, see cmsgAlignOf in
18
+ // sockcmsg_dragonfly.go
19
+ switch runtime.GOOS {
20
+ case "aix":
21
+ // There is no alignment on AIX.
22
+ salign = 1
23
+ case "darwin", "ios", "illumos", "solaris":
24
+ // NOTE: It seems like 64-bit Darwin, Illumos and Solaris
25
+ // kernels still require 32-bit aligned access to network
26
+ // subsystem.
27
+ if SizeofPtr == 8 {
28
+ salign = 4
29
+ }
30
+ case "netbsd", "openbsd":
31
+ // NetBSD and OpenBSD armv7 require 64-bit alignment.
32
+ if runtime.GOARCH == "arm" {
33
+ salign = 8
34
+ }
35
+ // NetBSD aarch64 requires 128-bit alignment.
36
+ if runtime.GOOS == "netbsd" && runtime.GOARCH == "arm64" {
37
+ salign = 16
38
+ }
39
+ case "zos":
40
+ // z/OS socket macros use [32-bit] sizeof(int) alignment,
41
+ // not pointer width.
42
+ salign = SizeofInt
43
+ }
44
+
45
+ return (salen + salign - 1) & ^(salign - 1)
46
+ }