slidge-whatsapp 0.2.2__cp311-cp311-manylinux_2_36_aarch64.whl → 0.2.7__cp311-cp311-manylinux_2_36_aarch64.whl

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.

Potentially problematic release.


This version of slidge-whatsapp might be problematic. Click here for more details.

Files changed (1283) hide show
  1. slidge_whatsapp/__init__.py +26 -8
  2. slidge_whatsapp/__main__.py +3 -0
  3. slidge_whatsapp/config.py +3 -0
  4. slidge_whatsapp/contact.py +1 -1
  5. slidge_whatsapp/event.go +87 -26
  6. slidge_whatsapp/gateway.go +13 -9
  7. slidge_whatsapp/gateway.py +2 -2
  8. slidge_whatsapp/generated/_whatsapp.cpython-311-aarch64-linux-gnu.h +174 -137
  9. slidge_whatsapp/generated/_whatsapp.cpython-311-aarch64-linux-gnu.so +0 -0
  10. slidge_whatsapp/generated/build.py +139 -114
  11. slidge_whatsapp/generated/go.py +1 -1
  12. slidge_whatsapp/generated/whatsapp.c +1609 -1138
  13. slidge_whatsapp/generated/whatsapp.go +1274 -1029
  14. slidge_whatsapp/generated/whatsapp.py +1379 -1059
  15. slidge_whatsapp/generated/whatsapp_go.h +174 -137
  16. slidge_whatsapp/go.mod +18 -13
  17. slidge_whatsapp/go.sum +35 -29
  18. slidge_whatsapp/group.py +7 -2
  19. slidge_whatsapp/media/__init__.py +0 -0
  20. slidge_whatsapp/media/media.go +29 -14
  21. slidge_whatsapp/session.go +77 -71
  22. slidge_whatsapp/session.py +53 -31
  23. slidge_whatsapp/vendor/filippo.io/edwards25519/LICENSE +27 -0
  24. slidge_whatsapp/vendor/filippo.io/edwards25519/README.md +14 -0
  25. slidge_whatsapp/vendor/filippo.io/edwards25519/doc.go +20 -0
  26. slidge_whatsapp/vendor/filippo.io/edwards25519/edwards25519.go +427 -0
  27. slidge_whatsapp/vendor/filippo.io/edwards25519/extra.go +349 -0
  28. slidge_whatsapp/vendor/filippo.io/edwards25519/field/fe.go +420 -0
  29. slidge_whatsapp/vendor/filippo.io/edwards25519/field/fe_amd64.go +16 -0
  30. slidge_whatsapp/vendor/filippo.io/edwards25519/field/fe_amd64.s +379 -0
  31. slidge_whatsapp/vendor/filippo.io/edwards25519/field/fe_amd64_noasm.go +12 -0
  32. slidge_whatsapp/vendor/filippo.io/edwards25519/field/fe_arm64.go +16 -0
  33. slidge_whatsapp/vendor/filippo.io/edwards25519/field/fe_arm64.s +42 -0
  34. slidge_whatsapp/vendor/filippo.io/edwards25519/field/fe_arm64_noasm.go +12 -0
  35. slidge_whatsapp/vendor/filippo.io/edwards25519/field/fe_extra.go +50 -0
  36. slidge_whatsapp/vendor/filippo.io/edwards25519/field/fe_generic.go +266 -0
  37. slidge_whatsapp/vendor/filippo.io/edwards25519/scalar.go +343 -0
  38. slidge_whatsapp/vendor/filippo.io/edwards25519/scalar_fiat.go +1147 -0
  39. slidge_whatsapp/vendor/filippo.io/edwards25519/scalarmult.go +214 -0
  40. slidge_whatsapp/vendor/filippo.io/edwards25519/tables.go +129 -0
  41. slidge_whatsapp/vendor/github.com/ebitengine/purego/.gitignore +1 -0
  42. slidge_whatsapp/vendor/github.com/ebitengine/purego/LICENSE +201 -0
  43. slidge_whatsapp/vendor/github.com/ebitengine/purego/README.md +97 -0
  44. slidge_whatsapp/vendor/github.com/ebitengine/purego/abi_amd64.h +99 -0
  45. slidge_whatsapp/vendor/github.com/ebitengine/purego/abi_arm64.h +39 -0
  46. slidge_whatsapp/vendor/github.com/ebitengine/purego/cgo.go +19 -0
  47. slidge_whatsapp/vendor/github.com/ebitengine/purego/dlerror.go +17 -0
  48. slidge_whatsapp/vendor/github.com/ebitengine/purego/dlfcn.go +99 -0
  49. slidge_whatsapp/vendor/github.com/ebitengine/purego/dlfcn_android.go +34 -0
  50. slidge_whatsapp/vendor/github.com/ebitengine/purego/dlfcn_darwin.go +19 -0
  51. slidge_whatsapp/vendor/github.com/ebitengine/purego/dlfcn_freebsd.go +14 -0
  52. slidge_whatsapp/vendor/github.com/ebitengine/purego/dlfcn_linux.go +16 -0
  53. slidge_whatsapp/vendor/github.com/ebitengine/purego/dlfcn_nocgo_freebsd.go +11 -0
  54. slidge_whatsapp/vendor/github.com/ebitengine/purego/dlfcn_nocgo_linux.go +19 -0
  55. slidge_whatsapp/vendor/github.com/ebitengine/purego/dlfcn_playground.go +24 -0
  56. slidge_whatsapp/vendor/github.com/ebitengine/purego/dlfcn_stubs.s +26 -0
  57. slidge_whatsapp/vendor/github.com/ebitengine/purego/func.go +436 -0
  58. slidge_whatsapp/vendor/github.com/ebitengine/purego/go_runtime.go +13 -0
  59. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/cgo/dlfcn_cgo_unix.go +56 -0
  60. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/cgo/empty.go +6 -0
  61. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/cgo/syscall_cgo_unix.go +55 -0
  62. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/abi_amd64.h +99 -0
  63. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/abi_arm64.h +39 -0
  64. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/asm_amd64.s +39 -0
  65. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/asm_arm64.s +36 -0
  66. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/callbacks.go +93 -0
  67. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/doc.go +32 -0
  68. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/freebsd.go +27 -0
  69. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/go_darwin_amd64.go +73 -0
  70. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/go_darwin_arm64.go +88 -0
  71. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/go_freebsd_amd64.go +95 -0
  72. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/go_freebsd_arm64.go +98 -0
  73. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/go_libinit.go +72 -0
  74. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/go_linux_amd64.go +95 -0
  75. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/go_linux_arm64.go +98 -0
  76. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/go_setenv.go +18 -0
  77. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/go_util.go +37 -0
  78. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/iscgo.go +19 -0
  79. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/libcgo.go +39 -0
  80. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/libcgo_darwin.go +22 -0
  81. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/libcgo_freebsd.go +16 -0
  82. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/libcgo_linux.go +16 -0
  83. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/setenv.go +19 -0
  84. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/symbols.go +221 -0
  85. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/symbols_darwin.go +29 -0
  86. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/symbols_freebsd.go +29 -0
  87. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/symbols_linux.go +29 -0
  88. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/trampolines_amd64.s +104 -0
  89. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/trampolines_arm64.s +72 -0
  90. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/trampolines_stubs.s +90 -0
  91. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/strings/strings.go +40 -0
  92. slidge_whatsapp/vendor/github.com/ebitengine/purego/is_ios.go +13 -0
  93. slidge_whatsapp/vendor/github.com/ebitengine/purego/nocgo.go +25 -0
  94. slidge_whatsapp/vendor/github.com/ebitengine/purego/struct_amd64.go +260 -0
  95. slidge_whatsapp/vendor/github.com/ebitengine/purego/struct_arm64.go +274 -0
  96. slidge_whatsapp/vendor/github.com/ebitengine/purego/struct_other.go +16 -0
  97. slidge_whatsapp/vendor/github.com/ebitengine/purego/sys_amd64.s +164 -0
  98. slidge_whatsapp/vendor/github.com/ebitengine/purego/sys_arm64.s +92 -0
  99. slidge_whatsapp/vendor/github.com/ebitengine/purego/sys_unix_arm64.s +70 -0
  100. slidge_whatsapp/vendor/github.com/ebitengine/purego/syscall.go +53 -0
  101. slidge_whatsapp/vendor/github.com/ebitengine/purego/syscall_cgo_linux.go +21 -0
  102. slidge_whatsapp/vendor/github.com/ebitengine/purego/syscall_sysv.go +223 -0
  103. slidge_whatsapp/vendor/github.com/ebitengine/purego/syscall_windows.go +46 -0
  104. slidge_whatsapp/vendor/github.com/ebitengine/purego/zcallback_amd64.s +2014 -0
  105. slidge_whatsapp/vendor/github.com/ebitengine/purego/zcallback_arm64.s +4014 -0
  106. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/.gitattributes +6 -0
  107. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/AUTHORS +1 -0
  108. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/COPYING +661 -0
  109. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/README.md +71 -0
  110. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/fitz.go +66 -0
  111. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/fitz_cgo.go +596 -0
  112. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/fitz_cgo_cgo.go +18 -0
  113. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/fitz_cgo_extlib.go +11 -0
  114. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/fitz_cgo_extlib_pkgconfig.go +9 -0
  115. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/fitz_content_types.go +383 -0
  116. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/fitz_nocgo.go +1098 -0
  117. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/fitz_vendor.go +9 -0
  118. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/archive.h +444 -0
  119. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/band-writer.h +117 -0
  120. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/bidi.h +90 -0
  121. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/bitmap.h +175 -0
  122. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/buffer.h +250 -0
  123. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/color.h +427 -0
  124. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/compress.h +88 -0
  125. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/compressed-buffer.h +185 -0
  126. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/config.h +222 -0
  127. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/context.h +1006 -0
  128. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/crypt.h +270 -0
  129. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/device.h +654 -0
  130. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/display-list.h +142 -0
  131. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/document.h +1108 -0
  132. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/export.h +52 -0
  133. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/filter.h +263 -0
  134. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/font.h +815 -0
  135. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/geometry.h +818 -0
  136. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/getopt.h +128 -0
  137. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/glyph-cache.h +96 -0
  138. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/glyph.h +81 -0
  139. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/hash.h +126 -0
  140. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/heap-imp.h +163 -0
  141. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/heap.h +140 -0
  142. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/image.h +443 -0
  143. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/link.h +130 -0
  144. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/log.h +61 -0
  145. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/outline.h +228 -0
  146. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/output-svg.h +64 -0
  147. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/output.h +415 -0
  148. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/path.h +447 -0
  149. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/pixmap.h +501 -0
  150. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/pool.h +68 -0
  151. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/separation.h +138 -0
  152. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/shade.h +233 -0
  153. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/store.h +456 -0
  154. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/story-writer.h +209 -0
  155. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/story.h +232 -0
  156. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/stream.h +646 -0
  157. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/string-util.h +286 -0
  158. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/structured-text.h +365 -0
  159. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/system.h +459 -0
  160. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/text.h +209 -0
  161. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/track-usage.h +57 -0
  162. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/transition.h +76 -0
  163. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/tree.h +62 -0
  164. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/types.h +41 -0
  165. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/util.h +151 -0
  166. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/vendor.go +3 -0
  167. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/version.h +31 -0
  168. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/write-pixmap.h +499 -0
  169. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/writer.h +266 -0
  170. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz/xml.h +397 -0
  171. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/fitz.h +97 -0
  172. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/memento.h +423 -0
  173. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/include/mupdf/vendor.go +3 -0
  174. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/libs/libmupdf_linux_arm64.a +0 -0
  175. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/libs/libmupdfthird_linux_arm64.a +0 -0
  176. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/libs/vendor.go +3 -0
  177. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/purego_darwin.go +23 -0
  178. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/purego_linux.go +22 -0
  179. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/purego_windows.go +22 -0
  180. slidge_whatsapp/vendor/github.com/go-python/gopy/LICENSE +23 -0
  181. slidge_whatsapp/vendor/github.com/go-python/gopy/gopyh/handle.go +210 -0
  182. slidge_whatsapp/vendor/github.com/google/uuid/CHANGELOG.md +41 -0
  183. slidge_whatsapp/vendor/github.com/google/uuid/CONTRIBUTING.md +26 -0
  184. slidge_whatsapp/vendor/github.com/google/uuid/CONTRIBUTORS +9 -0
  185. slidge_whatsapp/vendor/github.com/google/uuid/LICENSE +27 -0
  186. slidge_whatsapp/vendor/github.com/google/uuid/README.md +21 -0
  187. slidge_whatsapp/vendor/github.com/google/uuid/dce.go +80 -0
  188. slidge_whatsapp/vendor/github.com/google/uuid/doc.go +12 -0
  189. slidge_whatsapp/vendor/github.com/google/uuid/hash.go +59 -0
  190. slidge_whatsapp/vendor/github.com/google/uuid/marshal.go +38 -0
  191. slidge_whatsapp/vendor/github.com/google/uuid/node.go +90 -0
  192. slidge_whatsapp/vendor/github.com/google/uuid/node_js.go +12 -0
  193. slidge_whatsapp/vendor/github.com/google/uuid/node_net.go +33 -0
  194. slidge_whatsapp/vendor/github.com/google/uuid/null.go +118 -0
  195. slidge_whatsapp/vendor/github.com/google/uuid/sql.go +59 -0
  196. slidge_whatsapp/vendor/github.com/google/uuid/time.go +134 -0
  197. slidge_whatsapp/vendor/github.com/google/uuid/util.go +43 -0
  198. slidge_whatsapp/vendor/github.com/google/uuid/uuid.go +365 -0
  199. slidge_whatsapp/vendor/github.com/google/uuid/version1.go +44 -0
  200. slidge_whatsapp/vendor/github.com/google/uuid/version4.go +76 -0
  201. slidge_whatsapp/vendor/github.com/google/uuid/version6.go +56 -0
  202. slidge_whatsapp/vendor/github.com/google/uuid/version7.go +104 -0
  203. slidge_whatsapp/vendor/github.com/gorilla/websocket/.gitignore +25 -0
  204. slidge_whatsapp/vendor/github.com/gorilla/websocket/AUTHORS +9 -0
  205. slidge_whatsapp/vendor/github.com/gorilla/websocket/LICENSE +22 -0
  206. slidge_whatsapp/vendor/github.com/gorilla/websocket/README.md +33 -0
  207. slidge_whatsapp/vendor/github.com/gorilla/websocket/client.go +434 -0
  208. slidge_whatsapp/vendor/github.com/gorilla/websocket/compression.go +148 -0
  209. slidge_whatsapp/vendor/github.com/gorilla/websocket/conn.go +1238 -0
  210. slidge_whatsapp/vendor/github.com/gorilla/websocket/doc.go +227 -0
  211. slidge_whatsapp/vendor/github.com/gorilla/websocket/join.go +42 -0
  212. slidge_whatsapp/vendor/github.com/gorilla/websocket/json.go +60 -0
  213. slidge_whatsapp/vendor/github.com/gorilla/websocket/mask.go +55 -0
  214. slidge_whatsapp/vendor/github.com/gorilla/websocket/mask_safe.go +16 -0
  215. slidge_whatsapp/vendor/github.com/gorilla/websocket/prepared.go +102 -0
  216. slidge_whatsapp/vendor/github.com/gorilla/websocket/proxy.go +77 -0
  217. slidge_whatsapp/vendor/github.com/gorilla/websocket/server.go +365 -0
  218. slidge_whatsapp/vendor/github.com/gorilla/websocket/tls_handshake.go +21 -0
  219. slidge_whatsapp/vendor/github.com/gorilla/websocket/tls_handshake_116.go +21 -0
  220. slidge_whatsapp/vendor/github.com/gorilla/websocket/util.go +298 -0
  221. slidge_whatsapp/vendor/github.com/gorilla/websocket/x_net_proxy.go +473 -0
  222. slidge_whatsapp/vendor/github.com/h2non/filetype/.editorconfig +12 -0
  223. slidge_whatsapp/vendor/github.com/h2non/filetype/.gitignore +2 -0
  224. slidge_whatsapp/vendor/github.com/h2non/filetype/.travis.yml +16 -0
  225. slidge_whatsapp/vendor/github.com/h2non/filetype/History.md +163 -0
  226. slidge_whatsapp/vendor/github.com/h2non/filetype/LICENSE +24 -0
  227. slidge_whatsapp/vendor/github.com/h2non/filetype/README.md +294 -0
  228. slidge_whatsapp/vendor/github.com/h2non/filetype/filetype.go +102 -0
  229. slidge_whatsapp/vendor/github.com/h2non/filetype/kind.go +91 -0
  230. slidge_whatsapp/vendor/github.com/h2non/filetype/match.go +90 -0
  231. slidge_whatsapp/vendor/github.com/h2non/filetype/matchers/application.go +43 -0
  232. slidge_whatsapp/vendor/github.com/h2non/filetype/matchers/archive.go +211 -0
  233. slidge_whatsapp/vendor/github.com/h2non/filetype/matchers/audio.go +85 -0
  234. slidge_whatsapp/vendor/github.com/h2non/filetype/matchers/document.go +197 -0
  235. slidge_whatsapp/vendor/github.com/h2non/filetype/matchers/font.go +45 -0
  236. slidge_whatsapp/vendor/github.com/h2non/filetype/matchers/image.go +143 -0
  237. slidge_whatsapp/vendor/github.com/h2non/filetype/matchers/isobmff/isobmff.go +37 -0
  238. slidge_whatsapp/vendor/github.com/h2non/filetype/matchers/matchers.go +51 -0
  239. slidge_whatsapp/vendor/github.com/h2non/filetype/matchers/video.go +145 -0
  240. slidge_whatsapp/vendor/github.com/h2non/filetype/types/defaults.go +4 -0
  241. slidge_whatsapp/vendor/github.com/h2non/filetype/types/mime.go +14 -0
  242. slidge_whatsapp/vendor/github.com/h2non/filetype/types/split.go +11 -0
  243. slidge_whatsapp/vendor/github.com/h2non/filetype/types/type.go +16 -0
  244. slidge_whatsapp/vendor/github.com/h2non/filetype/types/types.go +23 -0
  245. slidge_whatsapp/vendor/github.com/h2non/filetype/version.go +4 -0
  246. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/.gitignore +21 -0
  247. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/CHANGELOG.md +69 -0
  248. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/COPYRIGHT.txt +147 -0
  249. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/LICENSE +21 -0
  250. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/README.md +162 -0
  251. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/abi.go +7 -0
  252. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/abi_amd64.go +7 -0
  253. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/ffi.go +272 -0
  254. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/fun.go +54 -0
  255. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/init.go +55 -0
  256. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/lib.go +82 -0
  257. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/lib_unix.go +63 -0
  258. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/lib_windows.go +68 -0
  259. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/tramp_amd64.go +5 -0
  260. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/tramp_arm64.go +5 -0
  261. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/tramp_darwin_arm64.go +5 -0
  262. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/types.go +34 -0
  263. slidge_whatsapp/vendor/github.com/mattn/go-colorable/LICENSE +21 -0
  264. slidge_whatsapp/vendor/github.com/mattn/go-colorable/README.md +48 -0
  265. slidge_whatsapp/vendor/github.com/mattn/go-colorable/colorable_others.go +38 -0
  266. slidge_whatsapp/vendor/github.com/mattn/go-colorable/colorable_windows.go +1047 -0
  267. slidge_whatsapp/vendor/github.com/mattn/go-colorable/go.test.sh +12 -0
  268. slidge_whatsapp/vendor/github.com/mattn/go-colorable/noncolorable.go +57 -0
  269. slidge_whatsapp/vendor/github.com/mattn/go-isatty/LICENSE +9 -0
  270. slidge_whatsapp/vendor/github.com/mattn/go-isatty/README.md +50 -0
  271. slidge_whatsapp/vendor/github.com/mattn/go-isatty/doc.go +2 -0
  272. slidge_whatsapp/vendor/github.com/mattn/go-isatty/go.test.sh +12 -0
  273. slidge_whatsapp/vendor/github.com/mattn/go-isatty/isatty_bsd.go +20 -0
  274. slidge_whatsapp/vendor/github.com/mattn/go-isatty/isatty_others.go +17 -0
  275. slidge_whatsapp/vendor/github.com/mattn/go-isatty/isatty_plan9.go +23 -0
  276. slidge_whatsapp/vendor/github.com/mattn/go-isatty/isatty_solaris.go +21 -0
  277. slidge_whatsapp/vendor/github.com/mattn/go-isatty/isatty_tcgets.go +20 -0
  278. slidge_whatsapp/vendor/github.com/mattn/go-isatty/isatty_windows.go +125 -0
  279. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/.codecov.yml +4 -0
  280. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/.gitignore +14 -0
  281. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/LICENSE +21 -0
  282. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/README.md +598 -0
  283. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/backup.go +85 -0
  284. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/callback.go +412 -0
  285. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/convert.go +299 -0
  286. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/doc.go +134 -0
  287. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/error.go +150 -0
  288. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3-binding.c +261459 -0
  289. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3-binding.h +13720 -0
  290. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3.go +2315 -0
  291. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_context.go +103 -0
  292. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_func_crypt.go +120 -0
  293. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_go18.go +54 -0
  294. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_libsqlite3.go +23 -0
  295. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_load_extension.go +85 -0
  296. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_load_extension_omit.go +25 -0
  297. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_opt_allow_uri_authority.go +16 -0
  298. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_opt_app_armor.go +16 -0
  299. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_opt_column_metadata.go +22 -0
  300. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_opt_foreign_keys.go +16 -0
  301. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_opt_fts5.go +15 -0
  302. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_opt_icu.go +20 -0
  303. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_opt_introspect.go +16 -0
  304. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_opt_math_functions.go +15 -0
  305. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_opt_os_trace.go +15 -0
  306. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_opt_preupdate.go +21 -0
  307. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_opt_preupdate_hook.go +113 -0
  308. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_opt_preupdate_omit.go +22 -0
  309. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_opt_secure_delete.go +16 -0
  310. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_opt_secure_delete_fast.go +16 -0
  311. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_opt_serialize.go +83 -0
  312. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_opt_serialize_omit.go +21 -0
  313. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_opt_stat4.go +16 -0
  314. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_opt_unlock_notify.c +89 -0
  315. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_opt_unlock_notify.go +97 -0
  316. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_opt_userauth.go +295 -0
  317. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_opt_userauth_omit.go +158 -0
  318. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_opt_vacuum_full.go +16 -0
  319. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_opt_vacuum_incr.go +16 -0
  320. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_opt_vtable.go +721 -0
  321. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_other.go +18 -0
  322. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_solaris.go +15 -0
  323. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_trace.go +288 -0
  324. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_type.go +108 -0
  325. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_usleep_windows.go +42 -0
  326. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_windows.go +18 -0
  327. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3ext.h +728 -0
  328. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/static_mock.go +38 -0
  329. slidge_whatsapp/vendor/github.com/petermattis/goid/.gitignore +4 -0
  330. slidge_whatsapp/vendor/github.com/petermattis/goid/LICENSE +202 -0
  331. slidge_whatsapp/vendor/github.com/petermattis/goid/README.md +4 -0
  332. slidge_whatsapp/vendor/github.com/petermattis/goid/goid.go +35 -0
  333. slidge_whatsapp/vendor/github.com/petermattis/goid/goid_gccgo.go +26 -0
  334. slidge_whatsapp/vendor/github.com/petermattis/goid/goid_go1.3.c +23 -0
  335. slidge_whatsapp/vendor/github.com/petermattis/goid/goid_go1.3.go +22 -0
  336. slidge_whatsapp/vendor/github.com/petermattis/goid/goid_go1.4.go +35 -0
  337. slidge_whatsapp/vendor/github.com/petermattis/goid/goid_go1.4.s +18 -0
  338. slidge_whatsapp/vendor/github.com/petermattis/goid/goid_go1.5.go +28 -0
  339. slidge_whatsapp/vendor/github.com/petermattis/goid/goid_go1.5.s +44 -0
  340. slidge_whatsapp/vendor/github.com/petermattis/goid/goid_slow.go +24 -0
  341. slidge_whatsapp/vendor/github.com/petermattis/goid/runtime_gccgo_go1.8.go +17 -0
  342. slidge_whatsapp/vendor/github.com/petermattis/goid/runtime_go1.23.go +38 -0
  343. slidge_whatsapp/vendor/github.com/petermattis/goid/runtime_go1.5.go +57 -0
  344. slidge_whatsapp/vendor/github.com/petermattis/goid/runtime_go1.6.go +43 -0
  345. slidge_whatsapp/vendor/github.com/petermattis/goid/runtime_go1.9.go +37 -0
  346. slidge_whatsapp/vendor/github.com/rs/zerolog/.gitignore +25 -0
  347. slidge_whatsapp/vendor/github.com/rs/zerolog/CONTRIBUTING.md +43 -0
  348. slidge_whatsapp/vendor/github.com/rs/zerolog/LICENSE +21 -0
  349. slidge_whatsapp/vendor/github.com/rs/zerolog/README.md +813 -0
  350. slidge_whatsapp/vendor/github.com/rs/zerolog/array.go +240 -0
  351. slidge_whatsapp/vendor/github.com/rs/zerolog/console.go +535 -0
  352. slidge_whatsapp/vendor/github.com/rs/zerolog/context.go +480 -0
  353. slidge_whatsapp/vendor/github.com/rs/zerolog/ctx.go +52 -0
  354. slidge_whatsapp/vendor/github.com/rs/zerolog/encoder.go +56 -0
  355. slidge_whatsapp/vendor/github.com/rs/zerolog/encoder_cbor.go +45 -0
  356. slidge_whatsapp/vendor/github.com/rs/zerolog/encoder_json.go +51 -0
  357. slidge_whatsapp/vendor/github.com/rs/zerolog/event.go +830 -0
  358. slidge_whatsapp/vendor/github.com/rs/zerolog/example.jsonl +7 -0
  359. slidge_whatsapp/vendor/github.com/rs/zerolog/fields.go +292 -0
  360. slidge_whatsapp/vendor/github.com/rs/zerolog/globals.go +190 -0
  361. slidge_whatsapp/vendor/github.com/rs/zerolog/go112.go +7 -0
  362. slidge_whatsapp/vendor/github.com/rs/zerolog/hook.go +64 -0
  363. slidge_whatsapp/vendor/github.com/rs/zerolog/internal/cbor/README.md +56 -0
  364. slidge_whatsapp/vendor/github.com/rs/zerolog/internal/cbor/base.go +19 -0
  365. slidge_whatsapp/vendor/github.com/rs/zerolog/internal/cbor/cbor.go +102 -0
  366. slidge_whatsapp/vendor/github.com/rs/zerolog/internal/cbor/decode_stream.go +654 -0
  367. slidge_whatsapp/vendor/github.com/rs/zerolog/internal/cbor/string.go +117 -0
  368. slidge_whatsapp/vendor/github.com/rs/zerolog/internal/cbor/time.go +93 -0
  369. slidge_whatsapp/vendor/github.com/rs/zerolog/internal/cbor/types.go +486 -0
  370. slidge_whatsapp/vendor/github.com/rs/zerolog/internal/json/base.go +19 -0
  371. slidge_whatsapp/vendor/github.com/rs/zerolog/internal/json/bytes.go +85 -0
  372. slidge_whatsapp/vendor/github.com/rs/zerolog/internal/json/string.go +149 -0
  373. slidge_whatsapp/vendor/github.com/rs/zerolog/internal/json/time.go +113 -0
  374. slidge_whatsapp/vendor/github.com/rs/zerolog/internal/json/types.go +435 -0
  375. slidge_whatsapp/vendor/github.com/rs/zerolog/log/log.go +131 -0
  376. slidge_whatsapp/vendor/github.com/rs/zerolog/log.go +518 -0
  377. slidge_whatsapp/vendor/github.com/rs/zerolog/not_go112.go +5 -0
  378. slidge_whatsapp/vendor/github.com/rs/zerolog/pretty.png +0 -0
  379. slidge_whatsapp/vendor/github.com/rs/zerolog/sampler.go +137 -0
  380. slidge_whatsapp/vendor/github.com/rs/zerolog/syslog.go +89 -0
  381. slidge_whatsapp/vendor/github.com/rs/zerolog/writer.go +355 -0
  382. slidge_whatsapp/vendor/go.mau.fi/libsignal/LICENSE +674 -0
  383. slidge_whatsapp/vendor/go.mau.fi/libsignal/cipher/Cbc.go +101 -0
  384. slidge_whatsapp/vendor/go.mau.fi/libsignal/cipher/Cipher.go +105 -0
  385. slidge_whatsapp/vendor/go.mau.fi/libsignal/ecc/Curve.go +109 -0
  386. slidge_whatsapp/vendor/go.mau.fi/libsignal/ecc/DjbECPublicKey.go +29 -0
  387. slidge_whatsapp/vendor/go.mau.fi/libsignal/ecc/DkbECPrivateKey.go +29 -0
  388. slidge_whatsapp/vendor/go.mau.fi/libsignal/ecc/Doc.go +3 -0
  389. slidge_whatsapp/vendor/go.mau.fi/libsignal/ecc/ECKeyPair.go +27 -0
  390. slidge_whatsapp/vendor/go.mau.fi/libsignal/ecc/ECPrivateKey.go +7 -0
  391. slidge_whatsapp/vendor/go.mau.fi/libsignal/ecc/ECPublicKey.go +11 -0
  392. slidge_whatsapp/vendor/go.mau.fi/libsignal/ecc/SignCurve25519.go +97 -0
  393. slidge_whatsapp/vendor/go.mau.fi/libsignal/groups/GroupCipher.go +152 -0
  394. slidge_whatsapp/vendor/go.mau.fi/libsignal/groups/GroupSessionBuilder.go +94 -0
  395. slidge_whatsapp/vendor/go.mau.fi/libsignal/groups/ratchet/Doc.go +3 -0
  396. slidge_whatsapp/vendor/go.mau.fi/libsignal/groups/ratchet/SenderChainKey.go +68 -0
  397. slidge_whatsapp/vendor/go.mau.fi/libsignal/groups/ratchet/SenderMessageKey.go +89 -0
  398. slidge_whatsapp/vendor/go.mau.fi/libsignal/groups/state/record/Doc.go +2 -0
  399. slidge_whatsapp/vendor/go.mau.fi/libsignal/groups/state/record/SenderKeyRecord.go +149 -0
  400. slidge_whatsapp/vendor/go.mau.fi/libsignal/groups/state/record/SenderKeyState.go +186 -0
  401. slidge_whatsapp/vendor/go.mau.fi/libsignal/groups/state/store/Doc.go +3 -0
  402. slidge_whatsapp/vendor/go.mau.fi/libsignal/groups/state/store/SenderKeyStore.go +13 -0
  403. slidge_whatsapp/vendor/go.mau.fi/libsignal/kdf/HKDF.go +47 -0
  404. slidge_whatsapp/vendor/go.mau.fi/libsignal/keys/chain/ChainKey.go +128 -0
  405. slidge_whatsapp/vendor/go.mau.fi/libsignal/keys/identity/IdentityKey.go +48 -0
  406. slidge_whatsapp/vendor/go.mau.fi/libsignal/keys/identity/IdentityKeyPair.go +39 -0
  407. slidge_whatsapp/vendor/go.mau.fi/libsignal/keys/message/MessageKey.go +91 -0
  408. slidge_whatsapp/vendor/go.mau.fi/libsignal/keys/prekey/PreKeyBundle.go +86 -0
  409. slidge_whatsapp/vendor/go.mau.fi/libsignal/keys/root/RootKey.go +66 -0
  410. slidge_whatsapp/vendor/go.mau.fi/libsignal/keys/session/DerivedSecrets.go +29 -0
  411. slidge_whatsapp/vendor/go.mau.fi/libsignal/keys/session/Pair.go +43 -0
  412. slidge_whatsapp/vendor/go.mau.fi/libsignal/logger/DefaultLogger.go +85 -0
  413. slidge_whatsapp/vendor/go.mau.fi/libsignal/logger/Logger.go +89 -0
  414. slidge_whatsapp/vendor/go.mau.fi/libsignal/protocol/CiphertextMessage.go +19 -0
  415. slidge_whatsapp/vendor/go.mau.fi/libsignal/protocol/Doc.go +3 -0
  416. slidge_whatsapp/vendor/go.mau.fi/libsignal/protocol/PreKeySignalMessage.go +152 -0
  417. slidge_whatsapp/vendor/go.mau.fi/libsignal/protocol/SenderKeyDistributionMessage.go +147 -0
  418. slidge_whatsapp/vendor/go.mau.fi/libsignal/protocol/SenderKeyMessage.go +168 -0
  419. slidge_whatsapp/vendor/go.mau.fi/libsignal/protocol/SenderKeyName.go +25 -0
  420. slidge_whatsapp/vendor/go.mau.fi/libsignal/protocol/SignalMessage.go +226 -0
  421. slidge_whatsapp/vendor/go.mau.fi/libsignal/protocol/SignalProtocolAddress.go +38 -0
  422. slidge_whatsapp/vendor/go.mau.fi/libsignal/ratchet/Ratchet.go +197 -0
  423. slidge_whatsapp/vendor/go.mau.fi/libsignal/ratchet/ReceiverParameters.go +106 -0
  424. slidge_whatsapp/vendor/go.mau.fi/libsignal/ratchet/SenderParameters.go +106 -0
  425. slidge_whatsapp/vendor/go.mau.fi/libsignal/ratchet/SymmetricParameters.go +18 -0
  426. slidge_whatsapp/vendor/go.mau.fi/libsignal/serialize/FingerprintProtocol.pb.go +246 -0
  427. slidge_whatsapp/vendor/go.mau.fi/libsignal/serialize/FingerprintProtocol.proto +14 -0
  428. slidge_whatsapp/vendor/go.mau.fi/libsignal/serialize/JSONSerializer.go +303 -0
  429. slidge_whatsapp/vendor/go.mau.fi/libsignal/serialize/LocalStorageProtocol.pb.go +1501 -0
  430. slidge_whatsapp/vendor/go.mau.fi/libsignal/serialize/LocalStorageProtocol.proto +114 -0
  431. slidge_whatsapp/vendor/go.mau.fi/libsignal/serialize/ProtoBufferSerializer.go +262 -0
  432. slidge_whatsapp/vendor/go.mau.fi/libsignal/serialize/Serializer.go +31 -0
  433. slidge_whatsapp/vendor/go.mau.fi/libsignal/serialize/WhisperTextProtocol.pb.go +641 -0
  434. slidge_whatsapp/vendor/go.mau.fi/libsignal/serialize/WhisperTextProtocol.proto +45 -0
  435. slidge_whatsapp/vendor/go.mau.fi/libsignal/session/Session.go +299 -0
  436. slidge_whatsapp/vendor/go.mau.fi/libsignal/session/SessionCipher.go +409 -0
  437. slidge_whatsapp/vendor/go.mau.fi/libsignal/signalerror/errors.go +37 -0
  438. slidge_whatsapp/vendor/go.mau.fi/libsignal/state/record/ChainState.go +157 -0
  439. slidge_whatsapp/vendor/go.mau.fi/libsignal/state/record/Doc.go +3 -0
  440. slidge_whatsapp/vendor/go.mau.fi/libsignal/state/record/PendingKeyExchangeState.go +91 -0
  441. slidge_whatsapp/vendor/go.mau.fi/libsignal/state/record/PendingPreKeyState.go +62 -0
  442. slidge_whatsapp/vendor/go.mau.fi/libsignal/state/record/PreKeyRecord.go +90 -0
  443. slidge_whatsapp/vendor/go.mau.fi/libsignal/state/record/SessionRecord.go +197 -0
  444. slidge_whatsapp/vendor/go.mau.fi/libsignal/state/record/SessionState.go +531 -0
  445. slidge_whatsapp/vendor/go.mau.fi/libsignal/state/record/SignedPreKeyRecord.go +112 -0
  446. slidge_whatsapp/vendor/go.mau.fi/libsignal/state/record/UnacknowledgedPreKey.go +69 -0
  447. slidge_whatsapp/vendor/go.mau.fi/libsignal/state/store/Doc.go +3 -0
  448. slidge_whatsapp/vendor/go.mau.fi/libsignal/state/store/IdentityKeyStore.go +31 -0
  449. slidge_whatsapp/vendor/go.mau.fi/libsignal/state/store/MessageKeyStore.go +23 -0
  450. slidge_whatsapp/vendor/go.mau.fi/libsignal/state/store/PreKeyStore.go +23 -0
  451. slidge_whatsapp/vendor/go.mau.fi/libsignal/state/store/SessionStore.go +19 -0
  452. slidge_whatsapp/vendor/go.mau.fi/libsignal/state/store/SignalProtocolStore.go +15 -0
  453. slidge_whatsapp/vendor/go.mau.fi/libsignal/state/store/SignedPreKeyStore.go +26 -0
  454. slidge_whatsapp/vendor/go.mau.fi/libsignal/util/bytehelper/ByteHelper.go +97 -0
  455. slidge_whatsapp/vendor/go.mau.fi/libsignal/util/errorhelper/ErrorHelper.go +40 -0
  456. slidge_whatsapp/vendor/go.mau.fi/libsignal/util/keyhelper/KeyHelper.go +95 -0
  457. slidge_whatsapp/vendor/go.mau.fi/libsignal/util/medium/Medium.go +4 -0
  458. slidge_whatsapp/vendor/go.mau.fi/libsignal/util/optional/Integer.go +17 -0
  459. slidge_whatsapp/vendor/go.mau.fi/util/LICENSE +373 -0
  460. slidge_whatsapp/vendor/go.mau.fi/util/dbutil/connlog.go +257 -0
  461. slidge_whatsapp/vendor/go.mau.fi/util/dbutil/database.go +309 -0
  462. slidge_whatsapp/vendor/go.mau.fi/util/dbutil/iter.go +233 -0
  463. slidge_whatsapp/vendor/go.mau.fi/util/dbutil/json.go +47 -0
  464. slidge_whatsapp/vendor/go.mau.fi/util/dbutil/log.go +129 -0
  465. slidge_whatsapp/vendor/go.mau.fi/util/dbutil/massinsert.go +164 -0
  466. slidge_whatsapp/vendor/go.mau.fi/util/dbutil/queryhelper.go +137 -0
  467. slidge_whatsapp/vendor/go.mau.fi/util/dbutil/reflectscan.go +30 -0
  468. slidge_whatsapp/vendor/go.mau.fi/util/dbutil/transaction.go +180 -0
  469. slidge_whatsapp/vendor/go.mau.fi/util/dbutil/upgrades.go +250 -0
  470. slidge_whatsapp/vendor/go.mau.fi/util/dbutil/upgradetable.go +331 -0
  471. slidge_whatsapp/vendor/go.mau.fi/util/exerrors/dualerror.go +33 -0
  472. slidge_whatsapp/vendor/go.mau.fi/util/exerrors/must.go +23 -0
  473. slidge_whatsapp/vendor/go.mau.fi/util/exhttp/cors.go +32 -0
  474. slidge_whatsapp/vendor/go.mau.fi/util/exhttp/handleerrors.go +64 -0
  475. slidge_whatsapp/vendor/go.mau.fi/util/exhttp/json.go +36 -0
  476. slidge_whatsapp/vendor/go.mau.fi/util/exhttp/middleware.go +30 -0
  477. slidge_whatsapp/vendor/go.mau.fi/util/exhttp/networkerror.go +37 -0
  478. slidge_whatsapp/vendor/go.mau.fi/util/exstrings/stringutil.go +76 -0
  479. slidge_whatsapp/vendor/go.mau.fi/util/exsync/event.go +88 -0
  480. slidge_whatsapp/vendor/go.mau.fi/util/exsync/returnonce.go +25 -0
  481. slidge_whatsapp/vendor/go.mau.fi/util/exsync/ringbuffer.go +139 -0
  482. slidge_whatsapp/vendor/go.mau.fi/util/exsync/syncmap.go +94 -0
  483. slidge_whatsapp/vendor/go.mau.fi/util/exsync/syncset.go +136 -0
  484. slidge_whatsapp/vendor/go.mau.fi/util/exzerolog/callermarshal.go +28 -0
  485. slidge_whatsapp/vendor/go.mau.fi/util/exzerolog/defaults.go +32 -0
  486. slidge_whatsapp/vendor/go.mau.fi/util/exzerolog/generics.go +45 -0
  487. slidge_whatsapp/vendor/go.mau.fi/util/exzerolog/writer.go +81 -0
  488. slidge_whatsapp/vendor/go.mau.fi/util/fallocate/doc.go +9 -0
  489. slidge_whatsapp/vendor/go.mau.fi/util/fallocate/fallocate_darwin.go +29 -0
  490. slidge_whatsapp/vendor/go.mau.fi/util/fallocate/fallocate_linux.go +24 -0
  491. slidge_whatsapp/vendor/go.mau.fi/util/fallocate/fallocate_unknown.go +17 -0
  492. slidge_whatsapp/vendor/go.mau.fi/util/jsontime/duration.go +155 -0
  493. slidge_whatsapp/vendor/go.mau.fi/util/jsontime/helpers.go +59 -0
  494. slidge_whatsapp/vendor/go.mau.fi/util/jsontime/integer.go +170 -0
  495. slidge_whatsapp/vendor/go.mau.fi/util/jsontime/string.go +95 -0
  496. slidge_whatsapp/vendor/go.mau.fi/util/ptr/ptr.go +43 -0
  497. slidge_whatsapp/vendor/go.mau.fi/util/random/bytes.go +21 -0
  498. slidge_whatsapp/vendor/go.mau.fi/util/random/string.go +87 -0
  499. slidge_whatsapp/vendor/go.mau.fi/util/retryafter/retryafter.go +53 -0
  500. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/.editorconfig +13 -0
  501. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/.gitattributes +3 -0
  502. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/.pre-commit-config.yaml +31 -0
  503. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/LICENSE +374 -0
  504. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/README.md +35 -0
  505. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/appstate/decode.go +312 -0
  506. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/appstate/encode.go +323 -0
  507. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/appstate/errors.go +19 -0
  508. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/appstate/hash.go +97 -0
  509. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/appstate/keys.go +138 -0
  510. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/appstate/lthash/lthash.go +58 -0
  511. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/appstate.go +409 -0
  512. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/armadillomessage.go +132 -0
  513. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/binary/attrs.go +218 -0
  514. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/binary/decoder.go +406 -0
  515. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/binary/encoder.go +308 -0
  516. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/binary/errors.go +12 -0
  517. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/binary/node.go +139 -0
  518. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/binary/token/token.go +94 -0
  519. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/binary/unpack.go +31 -0
  520. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/binary/xml.go +108 -0
  521. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/broadcast.go +143 -0
  522. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/call.go +112 -0
  523. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/client.go +933 -0
  524. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/connectionevents.go +214 -0
  525. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/download-to-file.go +234 -0
  526. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/download.go +410 -0
  527. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/errors.go +261 -0
  528. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/group.go +960 -0
  529. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/handshake.go +165 -0
  530. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/internals.go +696 -0
  531. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/keepalive.go +85 -0
  532. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/mediaconn.go +98 -0
  533. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/mediaretry.go +185 -0
  534. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/message.go +992 -0
  535. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/msgsecret.go +374 -0
  536. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/newsletter.go +376 -0
  537. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/notification.go +457 -0
  538. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/pair-code.go +245 -0
  539. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/pair.go +272 -0
  540. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/prekeys.go +255 -0
  541. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/presence.go +139 -0
  542. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/privacysettings.go +170 -0
  543. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/.gitignore +1 -0
  544. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/armadilloutil/decode.go +32 -0
  545. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/extra.go +43 -0
  546. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloAddMessage/InstamadilloAddMessage.pb.go +983 -0
  547. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloAddMessage/InstamadilloAddMessage.proto +85 -0
  548. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloAddMessage/extra.go +3 -0
  549. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeActionLog/InstamadilloCoreTypeActionLog.pb.go +197 -0
  550. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeActionLog/InstamadilloCoreTypeActionLog.proto +13 -0
  551. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeAdminMessage/InstamadilloCoreTypeAdminMessage.pb.go +279 -0
  552. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeAdminMessage/InstamadilloCoreTypeAdminMessage.proto +21 -0
  553. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeCollection/InstamadilloCoreTypeCollection.pb.go +137 -0
  554. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeCollection/InstamadilloCoreTypeCollection.proto +10 -0
  555. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeLink/InstamadilloCoreTypeLink.pb.go +313 -0
  556. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeLink/InstamadilloCoreTypeLink.proto +27 -0
  557. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeMedia/InstamadilloCoreTypeMedia.pb.go +1299 -0
  558. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeMedia/InstamadilloCoreTypeMedia.proto +112 -0
  559. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeText/InstamadilloCoreTypeText.pb.go +514 -0
  560. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeText/InstamadilloCoreTypeText.proto +47 -0
  561. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloDeleteMessage/InstamadilloDeleteMessage.pb.go +123 -0
  562. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloDeleteMessage/InstamadilloDeleteMessage.proto +7 -0
  563. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloDeleteMessage/extra.go +3 -0
  564. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloSupplementMessage/InstamadilloSupplementMessage.pb.go +720 -0
  565. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloSupplementMessage/InstamadilloSupplementMessage.proto +59 -0
  566. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloSupplementMessage/extra.go +3 -0
  567. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloTransportPayload/InstamadilloTransportPayload.pb.go +365 -0
  568. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloTransportPayload/InstamadilloTransportPayload.proto +33 -0
  569. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloXmaContentRef/InstamadilloXmaContentRef.pb.go +1238 -0
  570. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloXmaContentRef/InstamadilloXmaContentRef.proto +105 -0
  571. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waAdv/WAAdv.pb.go +515 -0
  572. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waAdv/WAAdv.proto +43 -0
  573. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waArmadilloApplication/WAArmadilloApplication.pb.go +2982 -0
  574. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waArmadilloApplication/WAArmadilloApplication.proto +258 -0
  575. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waArmadilloApplication/extra.go +3 -0
  576. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waArmadilloXMA/WAArmadilloXMA.pb.go +1029 -0
  577. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waArmadilloXMA/WAArmadilloXMA.proto +143 -0
  578. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waCert/WACert.pb.go +412 -0
  579. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waCert/WACert.proto +34 -0
  580. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waChatLockSettings/WAProtobufsChatLockSettings.pb.go +138 -0
  581. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waChatLockSettings/WAProtobufsChatLockSettings.proto +10 -0
  582. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waCommon/WACommon.pb.go +769 -0
  583. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waCommon/WACommon.proto +67 -0
  584. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waCommon/legacy.go +11 -0
  585. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waCompanionReg/WACompanionReg.pb.go +987 -0
  586. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waCompanionReg/WACompanionReg.proto +101 -0
  587. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waConsumerApplication/WAConsumerApplication.pb.go +2817 -0
  588. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waConsumerApplication/WAConsumerApplication.proto +233 -0
  589. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waConsumerApplication/extra.go +82 -0
  590. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waDeviceCapabilities/WAProtobufsDeviceCapabilities.pb.go +247 -0
  591. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waDeviceCapabilities/WAProtobufsDeviceCapabilities.proto +18 -0
  592. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waE2E/WAWebProtobufsE2E.pb.go +27357 -0
  593. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waE2E/WAWebProtobufsE2E.proto +2628 -0
  594. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waE2E/legacy.go +31 -0
  595. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waHistorySync/WAWebProtobufsHistorySync.pb.go +2368 -0
  596. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waHistorySync/WAWebProtobufsHistorySync.proto +231 -0
  597. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waHistorySync/legacy.go +11 -0
  598. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waLidMigrationSyncPayload/WAWebProtobufLidMigrationSyncPayload.pb.go +198 -0
  599. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waLidMigrationSyncPayload/WAWebProtobufLidMigrationSyncPayload.proto +14 -0
  600. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMediaTransport/WAMediaTransport.pb.go +2130 -0
  601. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMediaTransport/WAMediaTransport.proto +191 -0
  602. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMmsRetry/WAMmsRetry.pb.go +272 -0
  603. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMmsRetry/WAMmsRetry.proto +21 -0
  604. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMsgApplication/WAMsgApplication.pb.go +1156 -0
  605. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMsgApplication/WAMsgApplication.proto +96 -0
  606. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMsgApplication/extra.go +41 -0
  607. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMsgTransport/WAMsgTransport.pb.go +859 -0
  608. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMsgTransport/WAMsgTransport.proto +75 -0
  609. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMsgTransport/extra.go +20 -0
  610. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMultiDevice/WAMultiDevice.pb.go +732 -0
  611. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMultiDevice/WAMultiDevice.proto +57 -0
  612. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMultiDevice/extra.go +3 -0
  613. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waServerSync/WAServerSync.pb.go +857 -0
  614. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waServerSync/WAServerSync.proto +72 -0
  615. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waServerSync/legacy.go +31 -0
  616. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waStatusAttributions/WAStatusAttributions.pb.go +800 -0
  617. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waStatusAttributions/WAStatusAttributions.proto +72 -0
  618. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waSyncAction/WASyncAction.pb.go +5581 -0
  619. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waSyncAction/WASyncAction.proto +513 -0
  620. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waUserPassword/WAProtobufsUserPassword.pb.go +428 -0
  621. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waUserPassword/WAProtobufsUserPassword.proto +33 -0
  622. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waVnameCert/WAWebProtobufsVnameCert.pb.go +852 -0
  623. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waVnameCert/WAWebProtobufsVnameCert.proto +72 -0
  624. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waWa6/WAWebProtobufsWa6.pb.go +2325 -0
  625. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waWa6/WAWebProtobufsWa6.proto +253 -0
  626. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waWeb/WAWebProtobufsWeb.pb.go +4449 -0
  627. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waWeb/WAWebProtobufsWeb.proto +581 -0
  628. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waWeb/legacy.go +1 -0
  629. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/push.go +110 -0
  630. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/qrchan.go +180 -0
  631. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/receipt.go +254 -0
  632. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/reportingfields.json +1 -0
  633. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/reportingtoken.go +176 -0
  634. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/request.go +225 -0
  635. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/retry.go +458 -0
  636. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/send.go +1314 -0
  637. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/sendfb.go +658 -0
  638. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/socket/constants.go +43 -0
  639. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/socket/framesocket.go +235 -0
  640. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/socket/noisehandshake.go +124 -0
  641. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/socket/noisesocket.go +108 -0
  642. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/clientpayload.go +187 -0
  643. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/noop.go +256 -0
  644. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/signal.go +182 -0
  645. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/container.go +291 -0
  646. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/lidmap.go +186 -0
  647. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/store.go +897 -0
  648. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/00-latest-schema.sql +155 -0
  649. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/03-message-secrets.sql +11 -0
  650. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/04-privacy-tokens.sql +8 -0
  651. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/05-account-jid-format.sql +2 -0
  652. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/06-facebook-uuid.sql +2 -0
  653. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/07-account-lid.sql +2 -0
  654. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/08-lid-mapping.sql +5 -0
  655. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/09-decryption-buffer.sql +10 -0
  656. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/10-chat-db-lid-migration-ts.sql +2 -0
  657. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/upgrades.go +22 -0
  658. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/store.go +245 -0
  659. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/botmap.go +210 -0
  660. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/call.go +21 -0
  661. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/events/appstate.go +185 -0
  662. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/events/call.go +77 -0
  663. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/events/events.go +611 -0
  664. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/group.go +164 -0
  665. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/jid.go +262 -0
  666. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/message.go +116 -0
  667. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/newsletter.go +201 -0
  668. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/presence.go +78 -0
  669. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/user.go +195 -0
  670. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/update.go +64 -0
  671. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/upload.go +251 -0
  672. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/user.go +882 -0
  673. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/util/cbcutil/cbc.go +217 -0
  674. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/util/gcmutil/gcm.go +41 -0
  675. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/util/hkdfutil/hkdf.go +28 -0
  676. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/util/keys/keypair.go +68 -0
  677. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/util/log/log.go +83 -0
  678. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/util/log/zerolog.go +38 -0
  679. slidge_whatsapp/vendor/golang.org/x/crypto/LICENSE +27 -0
  680. slidge_whatsapp/vendor/golang.org/x/crypto/PATENTS +22 -0
  681. slidge_whatsapp/vendor/golang.org/x/crypto/curve25519/curve25519.go +90 -0
  682. slidge_whatsapp/vendor/golang.org/x/crypto/hkdf/hkdf.go +95 -0
  683. slidge_whatsapp/vendor/golang.org/x/crypto/pbkdf2/pbkdf2.go +77 -0
  684. slidge_whatsapp/vendor/golang.org/x/exp/LICENSE +27 -0
  685. slidge_whatsapp/vendor/golang.org/x/exp/PATENTS +22 -0
  686. slidge_whatsapp/vendor/golang.org/x/exp/constraints/constraints.go +54 -0
  687. slidge_whatsapp/vendor/golang.org/x/image/LICENSE +27 -0
  688. slidge_whatsapp/vendor/golang.org/x/image/PATENTS +22 -0
  689. slidge_whatsapp/vendor/golang.org/x/image/draw/draw.go +67 -0
  690. slidge_whatsapp/vendor/golang.org/x/image/draw/impl.go +8426 -0
  691. slidge_whatsapp/vendor/golang.org/x/image/draw/scale.go +525 -0
  692. slidge_whatsapp/vendor/golang.org/x/image/math/f64/f64.go +37 -0
  693. slidge_whatsapp/vendor/golang.org/x/image/riff/riff.go +193 -0
  694. slidge_whatsapp/vendor/golang.org/x/image/vp8/decode.go +403 -0
  695. slidge_whatsapp/vendor/golang.org/x/image/vp8/filter.go +273 -0
  696. slidge_whatsapp/vendor/golang.org/x/image/vp8/idct.go +98 -0
  697. slidge_whatsapp/vendor/golang.org/x/image/vp8/partition.go +129 -0
  698. slidge_whatsapp/vendor/golang.org/x/image/vp8/pred.go +201 -0
  699. slidge_whatsapp/vendor/golang.org/x/image/vp8/predfunc.go +553 -0
  700. slidge_whatsapp/vendor/golang.org/x/image/vp8/quant.go +98 -0
  701. slidge_whatsapp/vendor/golang.org/x/image/vp8/reconstruct.go +442 -0
  702. slidge_whatsapp/vendor/golang.org/x/image/vp8/token.go +381 -0
  703. slidge_whatsapp/vendor/golang.org/x/image/vp8l/decode.go +603 -0
  704. slidge_whatsapp/vendor/golang.org/x/image/vp8l/huffman.go +245 -0
  705. slidge_whatsapp/vendor/golang.org/x/image/vp8l/transform.go +299 -0
  706. slidge_whatsapp/vendor/golang.org/x/image/webp/decode.go +276 -0
  707. slidge_whatsapp/vendor/golang.org/x/image/webp/doc.go +9 -0
  708. slidge_whatsapp/vendor/golang.org/x/net/LICENSE +27 -0
  709. slidge_whatsapp/vendor/golang.org/x/net/PATENTS +22 -0
  710. slidge_whatsapp/vendor/golang.org/x/net/http/httpguts/guts.go +50 -0
  711. slidge_whatsapp/vendor/golang.org/x/net/http/httpguts/httplex.go +347 -0
  712. slidge_whatsapp/vendor/golang.org/x/net/http2/.gitignore +2 -0
  713. slidge_whatsapp/vendor/golang.org/x/net/http2/ascii.go +53 -0
  714. slidge_whatsapp/vendor/golang.org/x/net/http2/ciphers.go +641 -0
  715. slidge_whatsapp/vendor/golang.org/x/net/http2/client_conn_pool.go +311 -0
  716. slidge_whatsapp/vendor/golang.org/x/net/http2/config.go +122 -0
  717. slidge_whatsapp/vendor/golang.org/x/net/http2/config_go124.go +61 -0
  718. slidge_whatsapp/vendor/golang.org/x/net/http2/config_pre_go124.go +16 -0
  719. slidge_whatsapp/vendor/golang.org/x/net/http2/databuffer.go +149 -0
  720. slidge_whatsapp/vendor/golang.org/x/net/http2/errors.go +145 -0
  721. slidge_whatsapp/vendor/golang.org/x/net/http2/flow.go +120 -0
  722. slidge_whatsapp/vendor/golang.org/x/net/http2/frame.go +1702 -0
  723. slidge_whatsapp/vendor/golang.org/x/net/http2/gotrack.go +170 -0
  724. slidge_whatsapp/vendor/golang.org/x/net/http2/hpack/encode.go +245 -0
  725. slidge_whatsapp/vendor/golang.org/x/net/http2/hpack/hpack.go +523 -0
  726. slidge_whatsapp/vendor/golang.org/x/net/http2/hpack/huffman.go +226 -0
  727. slidge_whatsapp/vendor/golang.org/x/net/http2/hpack/static_table.go +188 -0
  728. slidge_whatsapp/vendor/golang.org/x/net/http2/hpack/tables.go +403 -0
  729. slidge_whatsapp/vendor/golang.org/x/net/http2/http2.go +432 -0
  730. slidge_whatsapp/vendor/golang.org/x/net/http2/pipe.go +184 -0
  731. slidge_whatsapp/vendor/golang.org/x/net/http2/server.go +3350 -0
  732. slidge_whatsapp/vendor/golang.org/x/net/http2/timer.go +20 -0
  733. slidge_whatsapp/vendor/golang.org/x/net/http2/transport.go +3287 -0
  734. slidge_whatsapp/vendor/golang.org/x/net/http2/unencrypted.go +32 -0
  735. slidge_whatsapp/vendor/golang.org/x/net/http2/write.go +381 -0
  736. slidge_whatsapp/vendor/golang.org/x/net/http2/writesched.go +251 -0
  737. slidge_whatsapp/vendor/golang.org/x/net/http2/writesched_priority.go +451 -0
  738. slidge_whatsapp/vendor/golang.org/x/net/http2/writesched_random.go +77 -0
  739. slidge_whatsapp/vendor/golang.org/x/net/http2/writesched_roundrobin.go +119 -0
  740. slidge_whatsapp/vendor/golang.org/x/net/idna/go118.go +13 -0
  741. slidge_whatsapp/vendor/golang.org/x/net/idna/idna10.0.0.go +769 -0
  742. slidge_whatsapp/vendor/golang.org/x/net/idna/idna9.0.0.go +717 -0
  743. slidge_whatsapp/vendor/golang.org/x/net/idna/pre_go118.go +11 -0
  744. slidge_whatsapp/vendor/golang.org/x/net/idna/punycode.go +217 -0
  745. slidge_whatsapp/vendor/golang.org/x/net/idna/tables10.0.0.go +4559 -0
  746. slidge_whatsapp/vendor/golang.org/x/net/idna/tables11.0.0.go +4653 -0
  747. slidge_whatsapp/vendor/golang.org/x/net/idna/tables12.0.0.go +4733 -0
  748. slidge_whatsapp/vendor/golang.org/x/net/idna/tables13.0.0.go +4959 -0
  749. slidge_whatsapp/vendor/golang.org/x/net/idna/tables15.0.0.go +5144 -0
  750. slidge_whatsapp/vendor/golang.org/x/net/idna/tables9.0.0.go +4486 -0
  751. slidge_whatsapp/vendor/golang.org/x/net/idna/trie.go +51 -0
  752. slidge_whatsapp/vendor/golang.org/x/net/idna/trie12.0.0.go +30 -0
  753. slidge_whatsapp/vendor/golang.org/x/net/idna/trie13.0.0.go +30 -0
  754. slidge_whatsapp/vendor/golang.org/x/net/idna/trieval.go +119 -0
  755. slidge_whatsapp/vendor/golang.org/x/net/internal/httpcommon/ascii.go +53 -0
  756. slidge_whatsapp/vendor/golang.org/x/net/internal/httpcommon/headermap.go +115 -0
  757. slidge_whatsapp/vendor/golang.org/x/net/internal/httpcommon/request.go +467 -0
  758. slidge_whatsapp/vendor/golang.org/x/net/internal/socks/client.go +168 -0
  759. slidge_whatsapp/vendor/golang.org/x/net/internal/socks/socks.go +317 -0
  760. slidge_whatsapp/vendor/golang.org/x/net/proxy/dial.go +54 -0
  761. slidge_whatsapp/vendor/golang.org/x/net/proxy/direct.go +31 -0
  762. slidge_whatsapp/vendor/golang.org/x/net/proxy/per_host.go +153 -0
  763. slidge_whatsapp/vendor/golang.org/x/net/proxy/proxy.go +149 -0
  764. slidge_whatsapp/vendor/golang.org/x/net/proxy/socks5.go +42 -0
  765. slidge_whatsapp/vendor/golang.org/x/sys/LICENSE +27 -0
  766. slidge_whatsapp/vendor/golang.org/x/sys/PATENTS +22 -0
  767. slidge_whatsapp/vendor/golang.org/x/sys/unix/.gitignore +2 -0
  768. slidge_whatsapp/vendor/golang.org/x/sys/unix/README.md +184 -0
  769. slidge_whatsapp/vendor/golang.org/x/sys/unix/affinity_linux.go +86 -0
  770. slidge_whatsapp/vendor/golang.org/x/sys/unix/aliases.go +13 -0
  771. slidge_whatsapp/vendor/golang.org/x/sys/unix/asm_aix_ppc64.s +17 -0
  772. slidge_whatsapp/vendor/golang.org/x/sys/unix/asm_bsd_386.s +27 -0
  773. slidge_whatsapp/vendor/golang.org/x/sys/unix/asm_bsd_amd64.s +27 -0
  774. slidge_whatsapp/vendor/golang.org/x/sys/unix/asm_bsd_arm.s +27 -0
  775. slidge_whatsapp/vendor/golang.org/x/sys/unix/asm_bsd_arm64.s +27 -0
  776. slidge_whatsapp/vendor/golang.org/x/sys/unix/asm_bsd_ppc64.s +29 -0
  777. slidge_whatsapp/vendor/golang.org/x/sys/unix/asm_bsd_riscv64.s +27 -0
  778. slidge_whatsapp/vendor/golang.org/x/sys/unix/asm_linux_386.s +65 -0
  779. slidge_whatsapp/vendor/golang.org/x/sys/unix/asm_linux_amd64.s +57 -0
  780. slidge_whatsapp/vendor/golang.org/x/sys/unix/asm_linux_arm.s +56 -0
  781. slidge_whatsapp/vendor/golang.org/x/sys/unix/asm_linux_arm64.s +50 -0
  782. slidge_whatsapp/vendor/golang.org/x/sys/unix/asm_linux_loong64.s +51 -0
  783. slidge_whatsapp/vendor/golang.org/x/sys/unix/asm_linux_mips64x.s +54 -0
  784. slidge_whatsapp/vendor/golang.org/x/sys/unix/asm_linux_mipsx.s +52 -0
  785. slidge_whatsapp/vendor/golang.org/x/sys/unix/asm_linux_ppc64x.s +42 -0
  786. slidge_whatsapp/vendor/golang.org/x/sys/unix/asm_linux_riscv64.s +47 -0
  787. slidge_whatsapp/vendor/golang.org/x/sys/unix/asm_linux_s390x.s +54 -0
  788. slidge_whatsapp/vendor/golang.org/x/sys/unix/asm_openbsd_mips64.s +29 -0
  789. slidge_whatsapp/vendor/golang.org/x/sys/unix/asm_solaris_amd64.s +17 -0
  790. slidge_whatsapp/vendor/golang.org/x/sys/unix/asm_zos_s390x.s +382 -0
  791. slidge_whatsapp/vendor/golang.org/x/sys/unix/auxv.go +36 -0
  792. slidge_whatsapp/vendor/golang.org/x/sys/unix/auxv_unsupported.go +13 -0
  793. slidge_whatsapp/vendor/golang.org/x/sys/unix/bluetooth_linux.go +36 -0
  794. slidge_whatsapp/vendor/golang.org/x/sys/unix/bpxsvc_zos.go +657 -0
  795. slidge_whatsapp/vendor/golang.org/x/sys/unix/bpxsvc_zos.s +192 -0
  796. slidge_whatsapp/vendor/golang.org/x/sys/unix/cap_freebsd.go +195 -0
  797. slidge_whatsapp/vendor/golang.org/x/sys/unix/constants.go +13 -0
  798. slidge_whatsapp/vendor/golang.org/x/sys/unix/dev_aix_ppc.go +26 -0
  799. slidge_whatsapp/vendor/golang.org/x/sys/unix/dev_aix_ppc64.go +28 -0
  800. slidge_whatsapp/vendor/golang.org/x/sys/unix/dev_darwin.go +24 -0
  801. slidge_whatsapp/vendor/golang.org/x/sys/unix/dev_dragonfly.go +30 -0
  802. slidge_whatsapp/vendor/golang.org/x/sys/unix/dev_freebsd.go +30 -0
  803. slidge_whatsapp/vendor/golang.org/x/sys/unix/dev_linux.go +42 -0
  804. slidge_whatsapp/vendor/golang.org/x/sys/unix/dev_netbsd.go +29 -0
  805. slidge_whatsapp/vendor/golang.org/x/sys/unix/dev_openbsd.go +29 -0
  806. slidge_whatsapp/vendor/golang.org/x/sys/unix/dev_zos.go +28 -0
  807. slidge_whatsapp/vendor/golang.org/x/sys/unix/dirent.go +102 -0
  808. slidge_whatsapp/vendor/golang.org/x/sys/unix/endian_big.go +9 -0
  809. slidge_whatsapp/vendor/golang.org/x/sys/unix/endian_little.go +9 -0
  810. slidge_whatsapp/vendor/golang.org/x/sys/unix/env_unix.go +31 -0
  811. slidge_whatsapp/vendor/golang.org/x/sys/unix/fcntl.go +36 -0
  812. slidge_whatsapp/vendor/golang.org/x/sys/unix/fcntl_darwin.go +24 -0
  813. slidge_whatsapp/vendor/golang.org/x/sys/unix/fcntl_linux_32bit.go +13 -0
  814. slidge_whatsapp/vendor/golang.org/x/sys/unix/fdset.go +29 -0
  815. slidge_whatsapp/vendor/golang.org/x/sys/unix/gccgo.go +59 -0
  816. slidge_whatsapp/vendor/golang.org/x/sys/unix/gccgo_c.c +44 -0
  817. slidge_whatsapp/vendor/golang.org/x/sys/unix/gccgo_linux_amd64.go +20 -0
  818. slidge_whatsapp/vendor/golang.org/x/sys/unix/ifreq_linux.go +141 -0
  819. slidge_whatsapp/vendor/golang.org/x/sys/unix/ioctl_linux.go +334 -0
  820. slidge_whatsapp/vendor/golang.org/x/sys/unix/ioctl_signed.go +69 -0
  821. slidge_whatsapp/vendor/golang.org/x/sys/unix/ioctl_unsigned.go +69 -0
  822. slidge_whatsapp/vendor/golang.org/x/sys/unix/ioctl_zos.go +71 -0
  823. slidge_whatsapp/vendor/golang.org/x/sys/unix/mkall.sh +249 -0
  824. slidge_whatsapp/vendor/golang.org/x/sys/unix/mkerrors.sh +805 -0
  825. slidge_whatsapp/vendor/golang.org/x/sys/unix/mmap_nomremap.go +13 -0
  826. slidge_whatsapp/vendor/golang.org/x/sys/unix/mremap.go +57 -0
  827. slidge_whatsapp/vendor/golang.org/x/sys/unix/pagesize_unix.go +15 -0
  828. slidge_whatsapp/vendor/golang.org/x/sys/unix/pledge_openbsd.go +111 -0
  829. slidge_whatsapp/vendor/golang.org/x/sys/unix/ptrace_darwin.go +11 -0
  830. slidge_whatsapp/vendor/golang.org/x/sys/unix/ptrace_ios.go +11 -0
  831. slidge_whatsapp/vendor/golang.org/x/sys/unix/race.go +30 -0
  832. slidge_whatsapp/vendor/golang.org/x/sys/unix/race0.go +25 -0
  833. slidge_whatsapp/vendor/golang.org/x/sys/unix/readdirent_getdents.go +12 -0
  834. slidge_whatsapp/vendor/golang.org/x/sys/unix/readdirent_getdirentries.go +19 -0
  835. slidge_whatsapp/vendor/golang.org/x/sys/unix/sockcmsg_dragonfly.go +16 -0
  836. slidge_whatsapp/vendor/golang.org/x/sys/unix/sockcmsg_linux.go +85 -0
  837. slidge_whatsapp/vendor/golang.org/x/sys/unix/sockcmsg_unix.go +106 -0
  838. slidge_whatsapp/vendor/golang.org/x/sys/unix/sockcmsg_unix_other.go +46 -0
  839. slidge_whatsapp/vendor/golang.org/x/sys/unix/sockcmsg_zos.go +58 -0
  840. slidge_whatsapp/vendor/golang.org/x/sys/unix/symaddr_zos_s390x.s +75 -0
  841. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall.go +86 -0
  842. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_aix.go +582 -0
  843. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_aix_ppc.go +52 -0
  844. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_aix_ppc64.go +83 -0
  845. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_bsd.go +609 -0
  846. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_darwin.go +854 -0
  847. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_darwin_amd64.go +50 -0
  848. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_darwin_arm64.go +50 -0
  849. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_darwin_libSystem.go +26 -0
  850. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_dragonfly.go +359 -0
  851. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_dragonfly_amd64.go +56 -0
  852. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_freebsd.go +455 -0
  853. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_freebsd_386.go +64 -0
  854. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_freebsd_amd64.go +64 -0
  855. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_freebsd_arm.go +60 -0
  856. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_freebsd_arm64.go +60 -0
  857. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_freebsd_riscv64.go +60 -0
  858. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_hurd.go +30 -0
  859. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_hurd_386.go +28 -0
  860. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_illumos.go +78 -0
  861. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_linux.go +2647 -0
  862. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_linux_386.go +314 -0
  863. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_linux_alarm.go +12 -0
  864. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_linux_amd64.go +145 -0
  865. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_linux_amd64_gc.go +12 -0
  866. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_linux_arm.go +216 -0
  867. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_linux_arm64.go +186 -0
  868. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_linux_gc.go +14 -0
  869. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_linux_gc_386.go +16 -0
  870. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_linux_gc_arm.go +13 -0
  871. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_linux_gccgo_386.go +30 -0
  872. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_linux_gccgo_arm.go +20 -0
  873. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_linux_loong64.go +218 -0
  874. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go +188 -0
  875. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go +174 -0
  876. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_linux_ppc.go +204 -0
  877. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go +115 -0
  878. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_linux_riscv64.go +191 -0
  879. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_linux_s390x.go +296 -0
  880. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go +112 -0
  881. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_netbsd.go +371 -0
  882. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_netbsd_386.go +37 -0
  883. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_netbsd_amd64.go +37 -0
  884. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_netbsd_arm.go +37 -0
  885. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_netbsd_arm64.go +37 -0
  886. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_openbsd.go +342 -0
  887. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_openbsd_386.go +41 -0
  888. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_openbsd_amd64.go +41 -0
  889. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_openbsd_arm.go +41 -0
  890. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_openbsd_arm64.go +41 -0
  891. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_openbsd_libc.go +26 -0
  892. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_openbsd_mips64.go +39 -0
  893. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_openbsd_ppc64.go +41 -0
  894. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_openbsd_riscv64.go +41 -0
  895. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_solaris.go +1191 -0
  896. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_solaris_amd64.go +27 -0
  897. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_unix.go +615 -0
  898. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_unix_gc.go +14 -0
  899. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_unix_gc_ppc64x.go +22 -0
  900. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_zos_s390x.go +3213 -0
  901. slidge_whatsapp/vendor/golang.org/x/sys/unix/sysvshm_linux.go +20 -0
  902. slidge_whatsapp/vendor/golang.org/x/sys/unix/sysvshm_unix.go +51 -0
  903. slidge_whatsapp/vendor/golang.org/x/sys/unix/sysvshm_unix_other.go +13 -0
  904. slidge_whatsapp/vendor/golang.org/x/sys/unix/timestruct.go +76 -0
  905. slidge_whatsapp/vendor/golang.org/x/sys/unix/unveil_openbsd.go +51 -0
  906. slidge_whatsapp/vendor/golang.org/x/sys/unix/vgetrandom_linux.go +13 -0
  907. slidge_whatsapp/vendor/golang.org/x/sys/unix/vgetrandom_unsupported.go +11 -0
  908. slidge_whatsapp/vendor/golang.org/x/sys/unix/xattr_bsd.go +280 -0
  909. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_aix_ppc.go +1384 -0
  910. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_aix_ppc64.go +1385 -0
  911. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go +1922 -0
  912. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go +1922 -0
  913. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_dragonfly_amd64.go +1737 -0
  914. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_freebsd_386.go +2042 -0
  915. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_freebsd_amd64.go +2039 -0
  916. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm.go +2033 -0
  917. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm64.go +2033 -0
  918. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_freebsd_riscv64.go +2147 -0
  919. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux.go +3752 -0
  920. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_386.go +873 -0
  921. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go +873 -0
  922. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go +878 -0
  923. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go +875 -0
  924. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_loong64.go +865 -0
  925. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go +879 -0
  926. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go +879 -0
  927. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go +879 -0
  928. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go +879 -0
  929. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_ppc.go +931 -0
  930. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go +935 -0
  931. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go +935 -0
  932. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go +862 -0
  933. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go +934 -0
  934. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go +977 -0
  935. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_netbsd_386.go +1779 -0
  936. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_netbsd_amd64.go +1769 -0
  937. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm.go +1758 -0
  938. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm64.go +1769 -0
  939. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_openbsd_386.go +1905 -0
  940. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_openbsd_amd64.go +1905 -0
  941. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_openbsd_arm.go +1905 -0
  942. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_openbsd_arm64.go +1905 -0
  943. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_openbsd_mips64.go +1905 -0
  944. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_openbsd_ppc64.go +1904 -0
  945. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_openbsd_riscv64.go +1903 -0
  946. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_solaris_amd64.go +1556 -0
  947. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_zos_s390x.go +990 -0
  948. slidge_whatsapp/vendor/golang.org/x/sys/unix/zptrace_armnn_linux.go +40 -0
  949. slidge_whatsapp/vendor/golang.org/x/sys/unix/zptrace_linux_arm64.go +17 -0
  950. slidge_whatsapp/vendor/golang.org/x/sys/unix/zptrace_mipsnn_linux.go +49 -0
  951. slidge_whatsapp/vendor/golang.org/x/sys/unix/zptrace_mipsnnle_linux.go +49 -0
  952. slidge_whatsapp/vendor/golang.org/x/sys/unix/zptrace_x86_linux.go +79 -0
  953. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsymaddr_zos_s390x.s +364 -0
  954. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc.go +1461 -0
  955. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64.go +1420 -0
  956. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gc.go +1188 -0
  957. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gccgo.go +1069 -0
  958. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go +2728 -0
  959. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s +799 -0
  960. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go +2728 -0
  961. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.s +799 -0
  962. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go +1666 -0
  963. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go +1886 -0
  964. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go +1886 -0
  965. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go +1886 -0
  966. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm64.go +1886 -0
  967. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_freebsd_riscv64.go +1886 -0
  968. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_illumos_amd64.go +101 -0
  969. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_linux.go +2240 -0
  970. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go +486 -0
  971. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go +653 -0
  972. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go +601 -0
  973. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go +552 -0
  974. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_linux_loong64.go +486 -0
  975. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go +653 -0
  976. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go +647 -0
  977. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go +636 -0
  978. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go +653 -0
  979. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc.go +658 -0
  980. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go +704 -0
  981. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go +704 -0
  982. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_linux_riscv64.go +548 -0
  983. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go +495 -0
  984. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go +648 -0
  985. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go +1848 -0
  986. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go +1848 -0
  987. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go +1848 -0
  988. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm64.go +1848 -0
  989. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go +2323 -0
  990. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.s +699 -0
  991. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go +2323 -0
  992. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.s +699 -0
  993. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go +2323 -0
  994. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.s +699 -0
  995. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.go +2323 -0
  996. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.s +699 -0
  997. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.go +2323 -0
  998. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.s +699 -0
  999. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_openbsd_ppc64.go +2323 -0
  1000. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_openbsd_ppc64.s +838 -0
  1001. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_openbsd_riscv64.go +2323 -0
  1002. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_openbsd_riscv64.s +699 -0
  1003. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go +2217 -0
  1004. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_zos_s390x.go +3458 -0
  1005. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysctl_openbsd_386.go +280 -0
  1006. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysctl_openbsd_amd64.go +280 -0
  1007. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysctl_openbsd_arm.go +280 -0
  1008. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysctl_openbsd_arm64.go +280 -0
  1009. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysctl_openbsd_mips64.go +280 -0
  1010. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysctl_openbsd_ppc64.go +280 -0
  1011. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysctl_openbsd_riscv64.go +281 -0
  1012. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_darwin_amd64.go +439 -0
  1013. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm64.go +437 -0
  1014. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_dragonfly_amd64.go +316 -0
  1015. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_freebsd_386.go +393 -0
  1016. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_freebsd_amd64.go +393 -0
  1017. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm.go +393 -0
  1018. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm64.go +393 -0
  1019. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_freebsd_riscv64.go +393 -0
  1020. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go +465 -0
  1021. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go +388 -0
  1022. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go +429 -0
  1023. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go +332 -0
  1024. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_loong64.go +328 -0
  1025. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go +449 -0
  1026. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go +379 -0
  1027. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go +379 -0
  1028. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go +449 -0
  1029. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc.go +456 -0
  1030. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go +428 -0
  1031. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go +428 -0
  1032. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go +333 -0
  1033. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go +394 -0
  1034. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go +407 -0
  1035. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_netbsd_386.go +274 -0
  1036. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_netbsd_amd64.go +274 -0
  1037. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm.go +274 -0
  1038. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm64.go +274 -0
  1039. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_openbsd_386.go +219 -0
  1040. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_openbsd_amd64.go +219 -0
  1041. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm.go +219 -0
  1042. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm64.go +218 -0
  1043. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_openbsd_mips64.go +221 -0
  1044. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_openbsd_ppc64.go +217 -0
  1045. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_openbsd_riscv64.go +218 -0
  1046. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_zos_s390x.go +2852 -0
  1047. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_aix_ppc.go +353 -0
  1048. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_aix_ppc64.go +357 -0
  1049. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go +878 -0
  1050. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go +878 -0
  1051. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_dragonfly_amd64.go +473 -0
  1052. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go +651 -0
  1053. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go +656 -0
  1054. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go +642 -0
  1055. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm64.go +636 -0
  1056. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_freebsd_riscv64.go +638 -0
  1057. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux.go +6178 -0
  1058. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_386.go +689 -0
  1059. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go +703 -0
  1060. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go +683 -0
  1061. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go +682 -0
  1062. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_loong64.go +683 -0
  1063. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go +688 -0
  1064. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go +685 -0
  1065. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go +685 -0
  1066. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go +688 -0
  1067. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_ppc.go +696 -0
  1068. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go +691 -0
  1069. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go +691 -0
  1070. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go +770 -0
  1071. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go +705 -0
  1072. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go +686 -0
  1073. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_netbsd_386.go +585 -0
  1074. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_netbsd_amd64.go +593 -0
  1075. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm.go +590 -0
  1076. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm64.go +593 -0
  1077. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_openbsd_386.go +568 -0
  1078. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_openbsd_amd64.go +568 -0
  1079. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm.go +575 -0
  1080. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm64.go +568 -0
  1081. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_openbsd_mips64.go +568 -0
  1082. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_openbsd_ppc64.go +570 -0
  1083. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_openbsd_riscv64.go +570 -0
  1084. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_solaris_amd64.go +516 -0
  1085. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_zos_s390x.go +552 -0
  1086. slidge_whatsapp/vendor/golang.org/x/sys/windows/aliases.go +12 -0
  1087. slidge_whatsapp/vendor/golang.org/x/sys/windows/dll_windows.go +415 -0
  1088. slidge_whatsapp/vendor/golang.org/x/sys/windows/env_windows.go +57 -0
  1089. slidge_whatsapp/vendor/golang.org/x/sys/windows/eventlog.go +20 -0
  1090. slidge_whatsapp/vendor/golang.org/x/sys/windows/exec_windows.go +248 -0
  1091. slidge_whatsapp/vendor/golang.org/x/sys/windows/memory_windows.go +48 -0
  1092. slidge_whatsapp/vendor/golang.org/x/sys/windows/mkerrors.bash +70 -0
  1093. slidge_whatsapp/vendor/golang.org/x/sys/windows/mkknownfolderids.bash +27 -0
  1094. slidge_whatsapp/vendor/golang.org/x/sys/windows/mksyscall.go +9 -0
  1095. slidge_whatsapp/vendor/golang.org/x/sys/windows/race.go +30 -0
  1096. slidge_whatsapp/vendor/golang.org/x/sys/windows/race0.go +25 -0
  1097. slidge_whatsapp/vendor/golang.org/x/sys/windows/security_windows.go +1497 -0
  1098. slidge_whatsapp/vendor/golang.org/x/sys/windows/service.go +257 -0
  1099. slidge_whatsapp/vendor/golang.org/x/sys/windows/setupapi_windows.go +1425 -0
  1100. slidge_whatsapp/vendor/golang.org/x/sys/windows/str.go +22 -0
  1101. slidge_whatsapp/vendor/golang.org/x/sys/windows/syscall.go +104 -0
  1102. slidge_whatsapp/vendor/golang.org/x/sys/windows/syscall_windows.go +1934 -0
  1103. slidge_whatsapp/vendor/golang.org/x/sys/windows/types_windows.go +3842 -0
  1104. slidge_whatsapp/vendor/golang.org/x/sys/windows/types_windows_386.go +35 -0
  1105. slidge_whatsapp/vendor/golang.org/x/sys/windows/types_windows_amd64.go +34 -0
  1106. slidge_whatsapp/vendor/golang.org/x/sys/windows/types_windows_arm.go +35 -0
  1107. slidge_whatsapp/vendor/golang.org/x/sys/windows/types_windows_arm64.go +34 -0
  1108. slidge_whatsapp/vendor/golang.org/x/sys/windows/zerrors_windows.go +9468 -0
  1109. slidge_whatsapp/vendor/golang.org/x/sys/windows/zknownfolderids_windows.go +149 -0
  1110. slidge_whatsapp/vendor/golang.org/x/sys/windows/zsyscall_windows.go +4695 -0
  1111. slidge_whatsapp/vendor/golang.org/x/text/LICENSE +27 -0
  1112. slidge_whatsapp/vendor/golang.org/x/text/PATENTS +22 -0
  1113. slidge_whatsapp/vendor/golang.org/x/text/secure/bidirule/bidirule.go +336 -0
  1114. slidge_whatsapp/vendor/golang.org/x/text/secure/bidirule/bidirule10.0.0.go +11 -0
  1115. slidge_whatsapp/vendor/golang.org/x/text/secure/bidirule/bidirule9.0.0.go +14 -0
  1116. slidge_whatsapp/vendor/golang.org/x/text/transform/transform.go +709 -0
  1117. slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/bidi.go +359 -0
  1118. slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/bracket.go +335 -0
  1119. slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/core.go +1071 -0
  1120. slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/prop.go +206 -0
  1121. slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/tables10.0.0.go +1815 -0
  1122. slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/tables11.0.0.go +1887 -0
  1123. slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/tables12.0.0.go +1923 -0
  1124. slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/tables13.0.0.go +1955 -0
  1125. slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/tables15.0.0.go +2042 -0
  1126. slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/tables9.0.0.go +1781 -0
  1127. slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/trieval.go +48 -0
  1128. slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/composition.go +512 -0
  1129. slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/forminfo.go +279 -0
  1130. slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/input.go +109 -0
  1131. slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/iter.go +458 -0
  1132. slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/normalize.go +610 -0
  1133. slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/readwriter.go +125 -0
  1134. slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/tables10.0.0.go +7657 -0
  1135. slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/tables11.0.0.go +7693 -0
  1136. slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/tables12.0.0.go +7710 -0
  1137. slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/tables13.0.0.go +7760 -0
  1138. slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/tables15.0.0.go +7907 -0
  1139. slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/tables9.0.0.go +7637 -0
  1140. slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/transform.go +88 -0
  1141. slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/trie.go +54 -0
  1142. slidge_whatsapp/vendor/google.golang.org/protobuf/LICENSE +27 -0
  1143. slidge_whatsapp/vendor/google.golang.org/protobuf/PATENTS +22 -0
  1144. slidge_whatsapp/vendor/google.golang.org/protobuf/encoding/prototext/decode.go +767 -0
  1145. slidge_whatsapp/vendor/google.golang.org/protobuf/encoding/prototext/doc.go +7 -0
  1146. slidge_whatsapp/vendor/google.golang.org/protobuf/encoding/prototext/encode.go +380 -0
  1147. slidge_whatsapp/vendor/google.golang.org/protobuf/encoding/protowire/wire.go +547 -0
  1148. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/descfmt/stringer.go +414 -0
  1149. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/descopts/options.go +29 -0
  1150. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/detrand/rand.go +69 -0
  1151. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/editiondefaults/defaults.go +12 -0
  1152. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/editiondefaults/editions_defaults.binpb +0 -0
  1153. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/encoding/defval/default.go +213 -0
  1154. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/encoding/messageset/messageset.go +242 -0
  1155. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/encoding/tag/tag.go +201 -0
  1156. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/encoding/text/decode.go +686 -0
  1157. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/encoding/text/decode_number.go +211 -0
  1158. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/encoding/text/decode_string.go +161 -0
  1159. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/encoding/text/decode_token.go +373 -0
  1160. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/encoding/text/doc.go +29 -0
  1161. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/encoding/text/encode.go +272 -0
  1162. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/errors/errors.go +104 -0
  1163. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/filedesc/build.go +157 -0
  1164. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/filedesc/desc.go +748 -0
  1165. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/filedesc/desc_init.go +560 -0
  1166. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/filedesc/desc_lazy.go +694 -0
  1167. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/filedesc/desc_list.go +457 -0
  1168. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/filedesc/desc_list_gen.go +367 -0
  1169. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/filedesc/editions.go +167 -0
  1170. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/filedesc/placeholder.go +110 -0
  1171. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/filetype/build.go +296 -0
  1172. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/flags/flags.go +24 -0
  1173. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/flags/proto_legacy_disable.go +10 -0
  1174. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/flags/proto_legacy_enable.go +10 -0
  1175. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/genid/any_gen.go +34 -0
  1176. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/genid/api_gen.go +106 -0
  1177. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/genid/descriptor_gen.go +1286 -0
  1178. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/genid/doc.go +11 -0
  1179. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/genid/duration_gen.go +34 -0
  1180. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/genid/empty_gen.go +19 -0
  1181. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/genid/field_mask_gen.go +31 -0
  1182. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/genid/go_features_gen.go +70 -0
  1183. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/genid/goname.go +20 -0
  1184. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/genid/map_entry.go +16 -0
  1185. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/genid/name.go +12 -0
  1186. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/genid/source_context_gen.go +31 -0
  1187. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/genid/struct_gen.go +121 -0
  1188. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/genid/timestamp_gen.go +34 -0
  1189. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/genid/type_gen.go +228 -0
  1190. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/genid/wrappers.go +13 -0
  1191. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/genid/wrappers_gen.go +175 -0
  1192. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/api_export.go +177 -0
  1193. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/api_export_opaque.go +128 -0
  1194. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/bitmap.go +34 -0
  1195. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/bitmap_race.go +126 -0
  1196. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/checkinit.go +174 -0
  1197. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/codec_extension.go +228 -0
  1198. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/codec_field.go +788 -0
  1199. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/codec_field_opaque.go +264 -0
  1200. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/codec_gen.go +5724 -0
  1201. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/codec_map.go +399 -0
  1202. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/codec_message.go +230 -0
  1203. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/codec_message_opaque.go +153 -0
  1204. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/codec_messageset.go +145 -0
  1205. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/codec_tables.go +557 -0
  1206. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/codec_unsafe.go +15 -0
  1207. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/convert.go +495 -0
  1208. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/convert_list.go +141 -0
  1209. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/convert_map.go +121 -0
  1210. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/decode.go +333 -0
  1211. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/encode.go +315 -0
  1212. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/enum.go +21 -0
  1213. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/equal.go +224 -0
  1214. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/extension.go +156 -0
  1215. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/lazy.go +433 -0
  1216. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/legacy_enum.go +219 -0
  1217. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/legacy_export.go +92 -0
  1218. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/legacy_extension.go +177 -0
  1219. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/legacy_file.go +81 -0
  1220. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/legacy_message.go +569 -0
  1221. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/merge.go +203 -0
  1222. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/merge_gen.go +209 -0
  1223. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/message.go +283 -0
  1224. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/message_opaque.go +627 -0
  1225. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/message_opaque_gen.go +132 -0
  1226. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/message_reflect.go +462 -0
  1227. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/message_reflect_field.go +423 -0
  1228. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/message_reflect_field_gen.go +273 -0
  1229. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/message_reflect_gen.go +271 -0
  1230. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/pointer_unsafe.go +220 -0
  1231. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/pointer_unsafe_opaque.go +42 -0
  1232. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/presence.go +142 -0
  1233. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/validate.go +570 -0
  1234. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/order/order.go +89 -0
  1235. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/order/range.go +115 -0
  1236. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/pragma/pragma.go +29 -0
  1237. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/protolazy/bufferreader.go +364 -0
  1238. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/protolazy/lazy.go +359 -0
  1239. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/protolazy/pointer_unsafe.go +17 -0
  1240. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/set/ints.go +58 -0
  1241. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/strs/strings.go +196 -0
  1242. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/strs/strings_unsafe.go +71 -0
  1243. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/version/version.go +79 -0
  1244. slidge_whatsapp/vendor/google.golang.org/protobuf/proto/checkinit.go +71 -0
  1245. slidge_whatsapp/vendor/google.golang.org/protobuf/proto/decode.go +307 -0
  1246. slidge_whatsapp/vendor/google.golang.org/protobuf/proto/decode_gen.go +603 -0
  1247. slidge_whatsapp/vendor/google.golang.org/protobuf/proto/doc.go +86 -0
  1248. slidge_whatsapp/vendor/google.golang.org/protobuf/proto/encode.go +355 -0
  1249. slidge_whatsapp/vendor/google.golang.org/protobuf/proto/encode_gen.go +97 -0
  1250. slidge_whatsapp/vendor/google.golang.org/protobuf/proto/equal.go +66 -0
  1251. slidge_whatsapp/vendor/google.golang.org/protobuf/proto/extension.go +166 -0
  1252. slidge_whatsapp/vendor/google.golang.org/protobuf/proto/merge.go +145 -0
  1253. slidge_whatsapp/vendor/google.golang.org/protobuf/proto/messageset.go +98 -0
  1254. slidge_whatsapp/vendor/google.golang.org/protobuf/proto/proto.go +45 -0
  1255. slidge_whatsapp/vendor/google.golang.org/protobuf/proto/proto_methods.go +20 -0
  1256. slidge_whatsapp/vendor/google.golang.org/protobuf/proto/proto_reflect.go +20 -0
  1257. slidge_whatsapp/vendor/google.golang.org/protobuf/proto/reset.go +43 -0
  1258. slidge_whatsapp/vendor/google.golang.org/protobuf/proto/size.go +111 -0
  1259. slidge_whatsapp/vendor/google.golang.org/protobuf/proto/size_gen.go +55 -0
  1260. slidge_whatsapp/vendor/google.golang.org/protobuf/proto/wrapperopaque.go +80 -0
  1261. slidge_whatsapp/vendor/google.golang.org/protobuf/proto/wrappers.go +29 -0
  1262. slidge_whatsapp/vendor/google.golang.org/protobuf/reflect/protoreflect/methods.go +88 -0
  1263. slidge_whatsapp/vendor/google.golang.org/protobuf/reflect/protoreflect/proto.go +513 -0
  1264. slidge_whatsapp/vendor/google.golang.org/protobuf/reflect/protoreflect/source.go +129 -0
  1265. slidge_whatsapp/vendor/google.golang.org/protobuf/reflect/protoreflect/source_gen.go +575 -0
  1266. slidge_whatsapp/vendor/google.golang.org/protobuf/reflect/protoreflect/type.go +666 -0
  1267. slidge_whatsapp/vendor/google.golang.org/protobuf/reflect/protoreflect/value.go +285 -0
  1268. slidge_whatsapp/vendor/google.golang.org/protobuf/reflect/protoreflect/value_equal.go +168 -0
  1269. slidge_whatsapp/vendor/google.golang.org/protobuf/reflect/protoreflect/value_union.go +438 -0
  1270. slidge_whatsapp/vendor/google.golang.org/protobuf/reflect/protoreflect/value_unsafe.go +84 -0
  1271. slidge_whatsapp/vendor/google.golang.org/protobuf/reflect/protoregistry/registry.go +882 -0
  1272. slidge_whatsapp/vendor/google.golang.org/protobuf/runtime/protoiface/legacy.go +15 -0
  1273. slidge_whatsapp/vendor/google.golang.org/protobuf/runtime/protoiface/methods.go +202 -0
  1274. slidge_whatsapp/vendor/google.golang.org/protobuf/runtime/protoimpl/impl.go +48 -0
  1275. slidge_whatsapp/vendor/google.golang.org/protobuf/runtime/protoimpl/version.go +60 -0
  1276. slidge_whatsapp/vendor/modules.txt +212 -0
  1277. slidge_whatsapp-0.2.7.dist-info/METADATA +63 -0
  1278. slidge_whatsapp-0.2.7.dist-info/RECORD +1286 -0
  1279. {slidge_whatsapp-0.2.2.dist-info → slidge_whatsapp-0.2.7.dist-info}/WHEEL +1 -1
  1280. slidge_whatsapp-0.2.2.dist-info/METADATA +0 -744
  1281. slidge_whatsapp-0.2.2.dist-info/RECORD +0 -31
  1282. {slidge_whatsapp-0.2.2.dist-info → slidge_whatsapp-0.2.7.dist-info}/LICENSE +0 -0
  1283. {slidge_whatsapp-0.2.2.dist-info → slidge_whatsapp-0.2.7.dist-info}/entry_points.txt +0 -0
@@ -0,0 +1,3842 @@
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
+ package windows
6
+
7
+ import (
8
+ "net"
9
+ "syscall"
10
+ "unsafe"
11
+ )
12
+
13
+ // NTStatus corresponds with NTSTATUS, error values returned by ntdll.dll and
14
+ // other native functions.
15
+ type NTStatus uint32
16
+
17
+ const (
18
+ // Invented values to support what package os expects.
19
+ O_RDONLY = 0x00000
20
+ O_WRONLY = 0x00001
21
+ O_RDWR = 0x00002
22
+ O_CREAT = 0x00040
23
+ O_EXCL = 0x00080
24
+ O_NOCTTY = 0x00100
25
+ O_TRUNC = 0x00200
26
+ O_NONBLOCK = 0x00800
27
+ O_APPEND = 0x00400
28
+ O_SYNC = 0x01000
29
+ O_ASYNC = 0x02000
30
+ O_CLOEXEC = 0x80000
31
+ )
32
+
33
+ const (
34
+ // More invented values for signals
35
+ SIGHUP = Signal(0x1)
36
+ SIGINT = Signal(0x2)
37
+ SIGQUIT = Signal(0x3)
38
+ SIGILL = Signal(0x4)
39
+ SIGTRAP = Signal(0x5)
40
+ SIGABRT = Signal(0x6)
41
+ SIGBUS = Signal(0x7)
42
+ SIGFPE = Signal(0x8)
43
+ SIGKILL = Signal(0x9)
44
+ SIGSEGV = Signal(0xb)
45
+ SIGPIPE = Signal(0xd)
46
+ SIGALRM = Signal(0xe)
47
+ SIGTERM = Signal(0xf)
48
+ )
49
+
50
+ var signals = [...]string{
51
+ 1: "hangup",
52
+ 2: "interrupt",
53
+ 3: "quit",
54
+ 4: "illegal instruction",
55
+ 5: "trace/breakpoint trap",
56
+ 6: "aborted",
57
+ 7: "bus error",
58
+ 8: "floating point exception",
59
+ 9: "killed",
60
+ 10: "user defined signal 1",
61
+ 11: "segmentation fault",
62
+ 12: "user defined signal 2",
63
+ 13: "broken pipe",
64
+ 14: "alarm clock",
65
+ 15: "terminated",
66
+ }
67
+
68
+ const (
69
+ FILE_READ_DATA = 0x00000001
70
+ FILE_READ_ATTRIBUTES = 0x00000080
71
+ FILE_READ_EA = 0x00000008
72
+ FILE_WRITE_DATA = 0x00000002
73
+ FILE_WRITE_ATTRIBUTES = 0x00000100
74
+ FILE_WRITE_EA = 0x00000010
75
+ FILE_APPEND_DATA = 0x00000004
76
+ FILE_EXECUTE = 0x00000020
77
+
78
+ FILE_GENERIC_READ = STANDARD_RIGHTS_READ | FILE_READ_DATA | FILE_READ_ATTRIBUTES | FILE_READ_EA | SYNCHRONIZE
79
+ FILE_GENERIC_WRITE = STANDARD_RIGHTS_WRITE | FILE_WRITE_DATA | FILE_WRITE_ATTRIBUTES | FILE_WRITE_EA | FILE_APPEND_DATA | SYNCHRONIZE
80
+ FILE_GENERIC_EXECUTE = STANDARD_RIGHTS_EXECUTE | FILE_READ_ATTRIBUTES | FILE_EXECUTE | SYNCHRONIZE
81
+
82
+ FILE_LIST_DIRECTORY = 0x00000001
83
+ FILE_TRAVERSE = 0x00000020
84
+
85
+ FILE_SHARE_READ = 0x00000001
86
+ FILE_SHARE_WRITE = 0x00000002
87
+ FILE_SHARE_DELETE = 0x00000004
88
+
89
+ FILE_ATTRIBUTE_READONLY = 0x00000001
90
+ FILE_ATTRIBUTE_HIDDEN = 0x00000002
91
+ FILE_ATTRIBUTE_SYSTEM = 0x00000004
92
+ FILE_ATTRIBUTE_DIRECTORY = 0x00000010
93
+ FILE_ATTRIBUTE_ARCHIVE = 0x00000020
94
+ FILE_ATTRIBUTE_DEVICE = 0x00000040
95
+ FILE_ATTRIBUTE_NORMAL = 0x00000080
96
+ FILE_ATTRIBUTE_TEMPORARY = 0x00000100
97
+ FILE_ATTRIBUTE_SPARSE_FILE = 0x00000200
98
+ FILE_ATTRIBUTE_REPARSE_POINT = 0x00000400
99
+ FILE_ATTRIBUTE_COMPRESSED = 0x00000800
100
+ FILE_ATTRIBUTE_OFFLINE = 0x00001000
101
+ FILE_ATTRIBUTE_NOT_CONTENT_INDEXED = 0x00002000
102
+ FILE_ATTRIBUTE_ENCRYPTED = 0x00004000
103
+ FILE_ATTRIBUTE_INTEGRITY_STREAM = 0x00008000
104
+ FILE_ATTRIBUTE_VIRTUAL = 0x00010000
105
+ FILE_ATTRIBUTE_NO_SCRUB_DATA = 0x00020000
106
+ FILE_ATTRIBUTE_RECALL_ON_OPEN = 0x00040000
107
+ FILE_ATTRIBUTE_RECALL_ON_DATA_ACCESS = 0x00400000
108
+
109
+ INVALID_FILE_ATTRIBUTES = 0xffffffff
110
+
111
+ CREATE_NEW = 1
112
+ CREATE_ALWAYS = 2
113
+ OPEN_EXISTING = 3
114
+ OPEN_ALWAYS = 4
115
+ TRUNCATE_EXISTING = 5
116
+
117
+ FILE_FLAG_OPEN_REQUIRING_OPLOCK = 0x00040000
118
+ FILE_FLAG_FIRST_PIPE_INSTANCE = 0x00080000
119
+ FILE_FLAG_OPEN_NO_RECALL = 0x00100000
120
+ FILE_FLAG_OPEN_REPARSE_POINT = 0x00200000
121
+ FILE_FLAG_SESSION_AWARE = 0x00800000
122
+ FILE_FLAG_POSIX_SEMANTICS = 0x01000000
123
+ FILE_FLAG_BACKUP_SEMANTICS = 0x02000000
124
+ FILE_FLAG_DELETE_ON_CLOSE = 0x04000000
125
+ FILE_FLAG_SEQUENTIAL_SCAN = 0x08000000
126
+ FILE_FLAG_RANDOM_ACCESS = 0x10000000
127
+ FILE_FLAG_NO_BUFFERING = 0x20000000
128
+ FILE_FLAG_OVERLAPPED = 0x40000000
129
+ FILE_FLAG_WRITE_THROUGH = 0x80000000
130
+
131
+ HANDLE_FLAG_INHERIT = 0x00000001
132
+ STARTF_USESTDHANDLES = 0x00000100
133
+ STARTF_USESHOWWINDOW = 0x00000001
134
+ DUPLICATE_CLOSE_SOURCE = 0x00000001
135
+ DUPLICATE_SAME_ACCESS = 0x00000002
136
+
137
+ STD_INPUT_HANDLE = -10 & (1<<32 - 1)
138
+ STD_OUTPUT_HANDLE = -11 & (1<<32 - 1)
139
+ STD_ERROR_HANDLE = -12 & (1<<32 - 1)
140
+
141
+ FILE_BEGIN = 0
142
+ FILE_CURRENT = 1
143
+ FILE_END = 2
144
+
145
+ LANG_ENGLISH = 0x09
146
+ SUBLANG_ENGLISH_US = 0x01
147
+
148
+ FORMAT_MESSAGE_ALLOCATE_BUFFER = 256
149
+ FORMAT_MESSAGE_IGNORE_INSERTS = 512
150
+ FORMAT_MESSAGE_FROM_STRING = 1024
151
+ FORMAT_MESSAGE_FROM_HMODULE = 2048
152
+ FORMAT_MESSAGE_FROM_SYSTEM = 4096
153
+ FORMAT_MESSAGE_ARGUMENT_ARRAY = 8192
154
+ FORMAT_MESSAGE_MAX_WIDTH_MASK = 255
155
+
156
+ MAX_PATH = 260
157
+ MAX_LONG_PATH = 32768
158
+
159
+ MAX_MODULE_NAME32 = 255
160
+
161
+ MAX_COMPUTERNAME_LENGTH = 15
162
+
163
+ MAX_DHCPV6_DUID_LENGTH = 130
164
+
165
+ MAX_DNS_SUFFIX_STRING_LENGTH = 256
166
+
167
+ TIME_ZONE_ID_UNKNOWN = 0
168
+ TIME_ZONE_ID_STANDARD = 1
169
+
170
+ TIME_ZONE_ID_DAYLIGHT = 2
171
+ IGNORE = 0
172
+ INFINITE = 0xffffffff
173
+
174
+ WAIT_ABANDONED = 0x00000080
175
+ WAIT_OBJECT_0 = 0x00000000
176
+ WAIT_FAILED = 0xFFFFFFFF
177
+
178
+ // Access rights for process.
179
+ PROCESS_ALL_ACCESS = 0xFFFF
180
+ PROCESS_CREATE_PROCESS = 0x0080
181
+ PROCESS_CREATE_THREAD = 0x0002
182
+ PROCESS_DUP_HANDLE = 0x0040
183
+ PROCESS_QUERY_INFORMATION = 0x0400
184
+ PROCESS_QUERY_LIMITED_INFORMATION = 0x1000
185
+ PROCESS_SET_INFORMATION = 0x0200
186
+ PROCESS_SET_QUOTA = 0x0100
187
+ PROCESS_SUSPEND_RESUME = 0x0800
188
+ PROCESS_TERMINATE = 0x0001
189
+ PROCESS_VM_OPERATION = 0x0008
190
+ PROCESS_VM_READ = 0x0010
191
+ PROCESS_VM_WRITE = 0x0020
192
+
193
+ // Access rights for thread.
194
+ THREAD_DIRECT_IMPERSONATION = 0x0200
195
+ THREAD_GET_CONTEXT = 0x0008
196
+ THREAD_IMPERSONATE = 0x0100
197
+ THREAD_QUERY_INFORMATION = 0x0040
198
+ THREAD_QUERY_LIMITED_INFORMATION = 0x0800
199
+ THREAD_SET_CONTEXT = 0x0010
200
+ THREAD_SET_INFORMATION = 0x0020
201
+ THREAD_SET_LIMITED_INFORMATION = 0x0400
202
+ THREAD_SET_THREAD_TOKEN = 0x0080
203
+ THREAD_SUSPEND_RESUME = 0x0002
204
+ THREAD_TERMINATE = 0x0001
205
+
206
+ FILE_MAP_COPY = 0x01
207
+ FILE_MAP_WRITE = 0x02
208
+ FILE_MAP_READ = 0x04
209
+ FILE_MAP_EXECUTE = 0x20
210
+
211
+ CTRL_C_EVENT = 0
212
+ CTRL_BREAK_EVENT = 1
213
+ CTRL_CLOSE_EVENT = 2
214
+ CTRL_LOGOFF_EVENT = 5
215
+ CTRL_SHUTDOWN_EVENT = 6
216
+
217
+ // Windows reserves errors >= 1<<29 for application use.
218
+ APPLICATION_ERROR = 1 << 29
219
+ )
220
+
221
+ const (
222
+ // Process creation flags.
223
+ CREATE_BREAKAWAY_FROM_JOB = 0x01000000
224
+ CREATE_DEFAULT_ERROR_MODE = 0x04000000
225
+ CREATE_NEW_CONSOLE = 0x00000010
226
+ CREATE_NEW_PROCESS_GROUP = 0x00000200
227
+ CREATE_NO_WINDOW = 0x08000000
228
+ CREATE_PROTECTED_PROCESS = 0x00040000
229
+ CREATE_PRESERVE_CODE_AUTHZ_LEVEL = 0x02000000
230
+ CREATE_SEPARATE_WOW_VDM = 0x00000800
231
+ CREATE_SHARED_WOW_VDM = 0x00001000
232
+ CREATE_SUSPENDED = 0x00000004
233
+ CREATE_UNICODE_ENVIRONMENT = 0x00000400
234
+ DEBUG_ONLY_THIS_PROCESS = 0x00000002
235
+ DEBUG_PROCESS = 0x00000001
236
+ DETACHED_PROCESS = 0x00000008
237
+ EXTENDED_STARTUPINFO_PRESENT = 0x00080000
238
+ INHERIT_PARENT_AFFINITY = 0x00010000
239
+ )
240
+
241
+ const (
242
+ // attributes for ProcThreadAttributeList
243
+ PROC_THREAD_ATTRIBUTE_PARENT_PROCESS = 0x00020000
244
+ PROC_THREAD_ATTRIBUTE_HANDLE_LIST = 0x00020002
245
+ PROC_THREAD_ATTRIBUTE_GROUP_AFFINITY = 0x00030003
246
+ PROC_THREAD_ATTRIBUTE_PREFERRED_NODE = 0x00020004
247
+ PROC_THREAD_ATTRIBUTE_IDEAL_PROCESSOR = 0x00030005
248
+ PROC_THREAD_ATTRIBUTE_MITIGATION_POLICY = 0x00020007
249
+ PROC_THREAD_ATTRIBUTE_UMS_THREAD = 0x00030006
250
+ PROC_THREAD_ATTRIBUTE_PROTECTION_LEVEL = 0x0002000b
251
+ PROC_THREAD_ATTRIBUTE_PSEUDOCONSOLE = 0x00020016
252
+ )
253
+
254
+ const (
255
+ // flags for CreateToolhelp32Snapshot
256
+ TH32CS_SNAPHEAPLIST = 0x01
257
+ TH32CS_SNAPPROCESS = 0x02
258
+ TH32CS_SNAPTHREAD = 0x04
259
+ TH32CS_SNAPMODULE = 0x08
260
+ TH32CS_SNAPMODULE32 = 0x10
261
+ TH32CS_SNAPALL = TH32CS_SNAPHEAPLIST | TH32CS_SNAPMODULE | TH32CS_SNAPPROCESS | TH32CS_SNAPTHREAD
262
+ TH32CS_INHERIT = 0x80000000
263
+ )
264
+
265
+ const (
266
+ // flags for EnumProcessModulesEx
267
+ LIST_MODULES_32BIT = 0x01
268
+ LIST_MODULES_64BIT = 0x02
269
+ LIST_MODULES_ALL = 0x03
270
+ LIST_MODULES_DEFAULT = 0x00
271
+ )
272
+
273
+ const (
274
+ // filters for ReadDirectoryChangesW and FindFirstChangeNotificationW
275
+ FILE_NOTIFY_CHANGE_FILE_NAME = 0x001
276
+ FILE_NOTIFY_CHANGE_DIR_NAME = 0x002
277
+ FILE_NOTIFY_CHANGE_ATTRIBUTES = 0x004
278
+ FILE_NOTIFY_CHANGE_SIZE = 0x008
279
+ FILE_NOTIFY_CHANGE_LAST_WRITE = 0x010
280
+ FILE_NOTIFY_CHANGE_LAST_ACCESS = 0x020
281
+ FILE_NOTIFY_CHANGE_CREATION = 0x040
282
+ FILE_NOTIFY_CHANGE_SECURITY = 0x100
283
+ )
284
+
285
+ const (
286
+ // do not reorder
287
+ FILE_ACTION_ADDED = iota + 1
288
+ FILE_ACTION_REMOVED
289
+ FILE_ACTION_MODIFIED
290
+ FILE_ACTION_RENAMED_OLD_NAME
291
+ FILE_ACTION_RENAMED_NEW_NAME
292
+ )
293
+
294
+ const (
295
+ // wincrypt.h
296
+ /* certenrolld_begin -- PROV_RSA_*/
297
+ PROV_RSA_FULL = 1
298
+ PROV_RSA_SIG = 2
299
+ PROV_DSS = 3
300
+ PROV_FORTEZZA = 4
301
+ PROV_MS_EXCHANGE = 5
302
+ PROV_SSL = 6
303
+ PROV_RSA_SCHANNEL = 12
304
+ PROV_DSS_DH = 13
305
+ PROV_EC_ECDSA_SIG = 14
306
+ PROV_EC_ECNRA_SIG = 15
307
+ PROV_EC_ECDSA_FULL = 16
308
+ PROV_EC_ECNRA_FULL = 17
309
+ PROV_DH_SCHANNEL = 18
310
+ PROV_SPYRUS_LYNKS = 20
311
+ PROV_RNG = 21
312
+ PROV_INTEL_SEC = 22
313
+ PROV_REPLACE_OWF = 23
314
+ PROV_RSA_AES = 24
315
+
316
+ /* dwFlags definitions for CryptAcquireContext */
317
+ CRYPT_VERIFYCONTEXT = 0xF0000000
318
+ CRYPT_NEWKEYSET = 0x00000008
319
+ CRYPT_DELETEKEYSET = 0x00000010
320
+ CRYPT_MACHINE_KEYSET = 0x00000020
321
+ CRYPT_SILENT = 0x00000040
322
+ CRYPT_DEFAULT_CONTAINER_OPTIONAL = 0x00000080
323
+
324
+ /* Flags for PFXImportCertStore */
325
+ CRYPT_EXPORTABLE = 0x00000001
326
+ CRYPT_USER_PROTECTED = 0x00000002
327
+ CRYPT_USER_KEYSET = 0x00001000
328
+ PKCS12_PREFER_CNG_KSP = 0x00000100
329
+ PKCS12_ALWAYS_CNG_KSP = 0x00000200
330
+ PKCS12_ALLOW_OVERWRITE_KEY = 0x00004000
331
+ PKCS12_NO_PERSIST_KEY = 0x00008000
332
+ PKCS12_INCLUDE_EXTENDED_PROPERTIES = 0x00000010
333
+
334
+ /* Flags for CryptAcquireCertificatePrivateKey */
335
+ CRYPT_ACQUIRE_CACHE_FLAG = 0x00000001
336
+ CRYPT_ACQUIRE_USE_PROV_INFO_FLAG = 0x00000002
337
+ CRYPT_ACQUIRE_COMPARE_KEY_FLAG = 0x00000004
338
+ CRYPT_ACQUIRE_NO_HEALING = 0x00000008
339
+ CRYPT_ACQUIRE_SILENT_FLAG = 0x00000040
340
+ CRYPT_ACQUIRE_WINDOW_HANDLE_FLAG = 0x00000080
341
+ CRYPT_ACQUIRE_NCRYPT_KEY_FLAGS_MASK = 0x00070000
342
+ CRYPT_ACQUIRE_ALLOW_NCRYPT_KEY_FLAG = 0x00010000
343
+ CRYPT_ACQUIRE_PREFER_NCRYPT_KEY_FLAG = 0x00020000
344
+ CRYPT_ACQUIRE_ONLY_NCRYPT_KEY_FLAG = 0x00040000
345
+
346
+ /* pdwKeySpec for CryptAcquireCertificatePrivateKey */
347
+ AT_KEYEXCHANGE = 1
348
+ AT_SIGNATURE = 2
349
+ CERT_NCRYPT_KEY_SPEC = 0xFFFFFFFF
350
+
351
+ /* Default usage match type is AND with value zero */
352
+ USAGE_MATCH_TYPE_AND = 0
353
+ USAGE_MATCH_TYPE_OR = 1
354
+
355
+ /* msgAndCertEncodingType values for CertOpenStore function */
356
+ X509_ASN_ENCODING = 0x00000001
357
+ PKCS_7_ASN_ENCODING = 0x00010000
358
+
359
+ /* storeProvider values for CertOpenStore function */
360
+ CERT_STORE_PROV_MSG = 1
361
+ CERT_STORE_PROV_MEMORY = 2
362
+ CERT_STORE_PROV_FILE = 3
363
+ CERT_STORE_PROV_REG = 4
364
+ CERT_STORE_PROV_PKCS7 = 5
365
+ CERT_STORE_PROV_SERIALIZED = 6
366
+ CERT_STORE_PROV_FILENAME_A = 7
367
+ CERT_STORE_PROV_FILENAME_W = 8
368
+ CERT_STORE_PROV_FILENAME = CERT_STORE_PROV_FILENAME_W
369
+ CERT_STORE_PROV_SYSTEM_A = 9
370
+ CERT_STORE_PROV_SYSTEM_W = 10
371
+ CERT_STORE_PROV_SYSTEM = CERT_STORE_PROV_SYSTEM_W
372
+ CERT_STORE_PROV_COLLECTION = 11
373
+ CERT_STORE_PROV_SYSTEM_REGISTRY_A = 12
374
+ CERT_STORE_PROV_SYSTEM_REGISTRY_W = 13
375
+ CERT_STORE_PROV_SYSTEM_REGISTRY = CERT_STORE_PROV_SYSTEM_REGISTRY_W
376
+ CERT_STORE_PROV_PHYSICAL_W = 14
377
+ CERT_STORE_PROV_PHYSICAL = CERT_STORE_PROV_PHYSICAL_W
378
+ CERT_STORE_PROV_SMART_CARD_W = 15
379
+ CERT_STORE_PROV_SMART_CARD = CERT_STORE_PROV_SMART_CARD_W
380
+ CERT_STORE_PROV_LDAP_W = 16
381
+ CERT_STORE_PROV_LDAP = CERT_STORE_PROV_LDAP_W
382
+ CERT_STORE_PROV_PKCS12 = 17
383
+
384
+ /* store characteristics (low WORD of flag) for CertOpenStore function */
385
+ CERT_STORE_NO_CRYPT_RELEASE_FLAG = 0x00000001
386
+ CERT_STORE_SET_LOCALIZED_NAME_FLAG = 0x00000002
387
+ CERT_STORE_DEFER_CLOSE_UNTIL_LAST_FREE_FLAG = 0x00000004
388
+ CERT_STORE_DELETE_FLAG = 0x00000010
389
+ CERT_STORE_UNSAFE_PHYSICAL_FLAG = 0x00000020
390
+ CERT_STORE_SHARE_STORE_FLAG = 0x00000040
391
+ CERT_STORE_SHARE_CONTEXT_FLAG = 0x00000080
392
+ CERT_STORE_MANIFOLD_FLAG = 0x00000100
393
+ CERT_STORE_ENUM_ARCHIVED_FLAG = 0x00000200
394
+ CERT_STORE_UPDATE_KEYID_FLAG = 0x00000400
395
+ CERT_STORE_BACKUP_RESTORE_FLAG = 0x00000800
396
+ CERT_STORE_MAXIMUM_ALLOWED_FLAG = 0x00001000
397
+ CERT_STORE_CREATE_NEW_FLAG = 0x00002000
398
+ CERT_STORE_OPEN_EXISTING_FLAG = 0x00004000
399
+ CERT_STORE_READONLY_FLAG = 0x00008000
400
+
401
+ /* store locations (high WORD of flag) for CertOpenStore function */
402
+ CERT_SYSTEM_STORE_CURRENT_USER = 0x00010000
403
+ CERT_SYSTEM_STORE_LOCAL_MACHINE = 0x00020000
404
+ CERT_SYSTEM_STORE_CURRENT_SERVICE = 0x00040000
405
+ CERT_SYSTEM_STORE_SERVICES = 0x00050000
406
+ CERT_SYSTEM_STORE_USERS = 0x00060000
407
+ CERT_SYSTEM_STORE_CURRENT_USER_GROUP_POLICY = 0x00070000
408
+ CERT_SYSTEM_STORE_LOCAL_MACHINE_GROUP_POLICY = 0x00080000
409
+ CERT_SYSTEM_STORE_LOCAL_MACHINE_ENTERPRISE = 0x00090000
410
+ CERT_SYSTEM_STORE_UNPROTECTED_FLAG = 0x40000000
411
+ CERT_SYSTEM_STORE_RELOCATE_FLAG = 0x80000000
412
+
413
+ /* Miscellaneous high-WORD flags for CertOpenStore function */
414
+ CERT_REGISTRY_STORE_REMOTE_FLAG = 0x00010000
415
+ CERT_REGISTRY_STORE_SERIALIZED_FLAG = 0x00020000
416
+ CERT_REGISTRY_STORE_ROAMING_FLAG = 0x00040000
417
+ CERT_REGISTRY_STORE_MY_IE_DIRTY_FLAG = 0x00080000
418
+ CERT_REGISTRY_STORE_LM_GPT_FLAG = 0x01000000
419
+ CERT_REGISTRY_STORE_CLIENT_GPT_FLAG = 0x80000000
420
+ CERT_FILE_STORE_COMMIT_ENABLE_FLAG = 0x00010000
421
+ CERT_LDAP_STORE_SIGN_FLAG = 0x00010000
422
+ CERT_LDAP_STORE_AREC_EXCLUSIVE_FLAG = 0x00020000
423
+ CERT_LDAP_STORE_OPENED_FLAG = 0x00040000
424
+ CERT_LDAP_STORE_UNBIND_FLAG = 0x00080000
425
+
426
+ /* addDisposition values for CertAddCertificateContextToStore function */
427
+ CERT_STORE_ADD_NEW = 1
428
+ CERT_STORE_ADD_USE_EXISTING = 2
429
+ CERT_STORE_ADD_REPLACE_EXISTING = 3
430
+ CERT_STORE_ADD_ALWAYS = 4
431
+ CERT_STORE_ADD_REPLACE_EXISTING_INHERIT_PROPERTIES = 5
432
+ CERT_STORE_ADD_NEWER = 6
433
+ CERT_STORE_ADD_NEWER_INHERIT_PROPERTIES = 7
434
+
435
+ /* ErrorStatus values for CertTrustStatus struct */
436
+ CERT_TRUST_NO_ERROR = 0x00000000
437
+ CERT_TRUST_IS_NOT_TIME_VALID = 0x00000001
438
+ CERT_TRUST_IS_REVOKED = 0x00000004
439
+ CERT_TRUST_IS_NOT_SIGNATURE_VALID = 0x00000008
440
+ CERT_TRUST_IS_NOT_VALID_FOR_USAGE = 0x00000010
441
+ CERT_TRUST_IS_UNTRUSTED_ROOT = 0x00000020
442
+ CERT_TRUST_REVOCATION_STATUS_UNKNOWN = 0x00000040
443
+ CERT_TRUST_IS_CYCLIC = 0x00000080
444
+ CERT_TRUST_INVALID_EXTENSION = 0x00000100
445
+ CERT_TRUST_INVALID_POLICY_CONSTRAINTS = 0x00000200
446
+ CERT_TRUST_INVALID_BASIC_CONSTRAINTS = 0x00000400
447
+ CERT_TRUST_INVALID_NAME_CONSTRAINTS = 0x00000800
448
+ CERT_TRUST_HAS_NOT_SUPPORTED_NAME_CONSTRAINT = 0x00001000
449
+ CERT_TRUST_HAS_NOT_DEFINED_NAME_CONSTRAINT = 0x00002000
450
+ CERT_TRUST_HAS_NOT_PERMITTED_NAME_CONSTRAINT = 0x00004000
451
+ CERT_TRUST_HAS_EXCLUDED_NAME_CONSTRAINT = 0x00008000
452
+ CERT_TRUST_IS_PARTIAL_CHAIN = 0x00010000
453
+ CERT_TRUST_CTL_IS_NOT_TIME_VALID = 0x00020000
454
+ CERT_TRUST_CTL_IS_NOT_SIGNATURE_VALID = 0x00040000
455
+ CERT_TRUST_CTL_IS_NOT_VALID_FOR_USAGE = 0x00080000
456
+ CERT_TRUST_HAS_WEAK_SIGNATURE = 0x00100000
457
+ CERT_TRUST_IS_OFFLINE_REVOCATION = 0x01000000
458
+ CERT_TRUST_NO_ISSUANCE_CHAIN_POLICY = 0x02000000
459
+ CERT_TRUST_IS_EXPLICIT_DISTRUST = 0x04000000
460
+ CERT_TRUST_HAS_NOT_SUPPORTED_CRITICAL_EXT = 0x08000000
461
+
462
+ /* InfoStatus values for CertTrustStatus struct */
463
+ CERT_TRUST_HAS_EXACT_MATCH_ISSUER = 0x00000001
464
+ CERT_TRUST_HAS_KEY_MATCH_ISSUER = 0x00000002
465
+ CERT_TRUST_HAS_NAME_MATCH_ISSUER = 0x00000004
466
+ CERT_TRUST_IS_SELF_SIGNED = 0x00000008
467
+ CERT_TRUST_HAS_PREFERRED_ISSUER = 0x00000100
468
+ CERT_TRUST_HAS_ISSUANCE_CHAIN_POLICY = 0x00000400
469
+ CERT_TRUST_HAS_VALID_NAME_CONSTRAINTS = 0x00000400
470
+ CERT_TRUST_IS_PEER_TRUSTED = 0x00000800
471
+ CERT_TRUST_HAS_CRL_VALIDITY_EXTENDED = 0x00001000
472
+ CERT_TRUST_IS_FROM_EXCLUSIVE_TRUST_STORE = 0x00002000
473
+ CERT_TRUST_IS_CA_TRUSTED = 0x00004000
474
+ CERT_TRUST_IS_COMPLEX_CHAIN = 0x00010000
475
+
476
+ /* Certificate Information Flags */
477
+ CERT_INFO_VERSION_FLAG = 1
478
+ CERT_INFO_SERIAL_NUMBER_FLAG = 2
479
+ CERT_INFO_SIGNATURE_ALGORITHM_FLAG = 3
480
+ CERT_INFO_ISSUER_FLAG = 4
481
+ CERT_INFO_NOT_BEFORE_FLAG = 5
482
+ CERT_INFO_NOT_AFTER_FLAG = 6
483
+ CERT_INFO_SUBJECT_FLAG = 7
484
+ CERT_INFO_SUBJECT_PUBLIC_KEY_INFO_FLAG = 8
485
+ CERT_INFO_ISSUER_UNIQUE_ID_FLAG = 9
486
+ CERT_INFO_SUBJECT_UNIQUE_ID_FLAG = 10
487
+ CERT_INFO_EXTENSION_FLAG = 11
488
+
489
+ /* dwFindType for CertFindCertificateInStore */
490
+ CERT_COMPARE_MASK = 0xFFFF
491
+ CERT_COMPARE_SHIFT = 16
492
+ CERT_COMPARE_ANY = 0
493
+ CERT_COMPARE_SHA1_HASH = 1
494
+ CERT_COMPARE_NAME = 2
495
+ CERT_COMPARE_ATTR = 3
496
+ CERT_COMPARE_MD5_HASH = 4
497
+ CERT_COMPARE_PROPERTY = 5
498
+ CERT_COMPARE_PUBLIC_KEY = 6
499
+ CERT_COMPARE_HASH = CERT_COMPARE_SHA1_HASH
500
+ CERT_COMPARE_NAME_STR_A = 7
501
+ CERT_COMPARE_NAME_STR_W = 8
502
+ CERT_COMPARE_KEY_SPEC = 9
503
+ CERT_COMPARE_ENHKEY_USAGE = 10
504
+ CERT_COMPARE_CTL_USAGE = CERT_COMPARE_ENHKEY_USAGE
505
+ CERT_COMPARE_SUBJECT_CERT = 11
506
+ CERT_COMPARE_ISSUER_OF = 12
507
+ CERT_COMPARE_EXISTING = 13
508
+ CERT_COMPARE_SIGNATURE_HASH = 14
509
+ CERT_COMPARE_KEY_IDENTIFIER = 15
510
+ CERT_COMPARE_CERT_ID = 16
511
+ CERT_COMPARE_CROSS_CERT_DIST_POINTS = 17
512
+ CERT_COMPARE_PUBKEY_MD5_HASH = 18
513
+ CERT_COMPARE_SUBJECT_INFO_ACCESS = 19
514
+ CERT_COMPARE_HASH_STR = 20
515
+ CERT_COMPARE_HAS_PRIVATE_KEY = 21
516
+ CERT_FIND_ANY = (CERT_COMPARE_ANY << CERT_COMPARE_SHIFT)
517
+ CERT_FIND_SHA1_HASH = (CERT_COMPARE_SHA1_HASH << CERT_COMPARE_SHIFT)
518
+ CERT_FIND_MD5_HASH = (CERT_COMPARE_MD5_HASH << CERT_COMPARE_SHIFT)
519
+ CERT_FIND_SIGNATURE_HASH = (CERT_COMPARE_SIGNATURE_HASH << CERT_COMPARE_SHIFT)
520
+ CERT_FIND_KEY_IDENTIFIER = (CERT_COMPARE_KEY_IDENTIFIER << CERT_COMPARE_SHIFT)
521
+ CERT_FIND_HASH = CERT_FIND_SHA1_HASH
522
+ CERT_FIND_PROPERTY = (CERT_COMPARE_PROPERTY << CERT_COMPARE_SHIFT)
523
+ CERT_FIND_PUBLIC_KEY = (CERT_COMPARE_PUBLIC_KEY << CERT_COMPARE_SHIFT)
524
+ CERT_FIND_SUBJECT_NAME = (CERT_COMPARE_NAME<<CERT_COMPARE_SHIFT | CERT_INFO_SUBJECT_FLAG)
525
+ CERT_FIND_SUBJECT_ATTR = (CERT_COMPARE_ATTR<<CERT_COMPARE_SHIFT | CERT_INFO_SUBJECT_FLAG)
526
+ CERT_FIND_ISSUER_NAME = (CERT_COMPARE_NAME<<CERT_COMPARE_SHIFT | CERT_INFO_ISSUER_FLAG)
527
+ CERT_FIND_ISSUER_ATTR = (CERT_COMPARE_ATTR<<CERT_COMPARE_SHIFT | CERT_INFO_ISSUER_FLAG)
528
+ CERT_FIND_SUBJECT_STR_A = (CERT_COMPARE_NAME_STR_A<<CERT_COMPARE_SHIFT | CERT_INFO_SUBJECT_FLAG)
529
+ CERT_FIND_SUBJECT_STR_W = (CERT_COMPARE_NAME_STR_W<<CERT_COMPARE_SHIFT | CERT_INFO_SUBJECT_FLAG)
530
+ CERT_FIND_SUBJECT_STR = CERT_FIND_SUBJECT_STR_W
531
+ CERT_FIND_ISSUER_STR_A = (CERT_COMPARE_NAME_STR_A<<CERT_COMPARE_SHIFT | CERT_INFO_ISSUER_FLAG)
532
+ CERT_FIND_ISSUER_STR_W = (CERT_COMPARE_NAME_STR_W<<CERT_COMPARE_SHIFT | CERT_INFO_ISSUER_FLAG)
533
+ CERT_FIND_ISSUER_STR = CERT_FIND_ISSUER_STR_W
534
+ CERT_FIND_KEY_SPEC = (CERT_COMPARE_KEY_SPEC << CERT_COMPARE_SHIFT)
535
+ CERT_FIND_ENHKEY_USAGE = (CERT_COMPARE_ENHKEY_USAGE << CERT_COMPARE_SHIFT)
536
+ CERT_FIND_CTL_USAGE = CERT_FIND_ENHKEY_USAGE
537
+ CERT_FIND_SUBJECT_CERT = (CERT_COMPARE_SUBJECT_CERT << CERT_COMPARE_SHIFT)
538
+ CERT_FIND_ISSUER_OF = (CERT_COMPARE_ISSUER_OF << CERT_COMPARE_SHIFT)
539
+ CERT_FIND_EXISTING = (CERT_COMPARE_EXISTING << CERT_COMPARE_SHIFT)
540
+ CERT_FIND_CERT_ID = (CERT_COMPARE_CERT_ID << CERT_COMPARE_SHIFT)
541
+ CERT_FIND_CROSS_CERT_DIST_POINTS = (CERT_COMPARE_CROSS_CERT_DIST_POINTS << CERT_COMPARE_SHIFT)
542
+ CERT_FIND_PUBKEY_MD5_HASH = (CERT_COMPARE_PUBKEY_MD5_HASH << CERT_COMPARE_SHIFT)
543
+ CERT_FIND_SUBJECT_INFO_ACCESS = (CERT_COMPARE_SUBJECT_INFO_ACCESS << CERT_COMPARE_SHIFT)
544
+ CERT_FIND_HASH_STR = (CERT_COMPARE_HASH_STR << CERT_COMPARE_SHIFT)
545
+ CERT_FIND_HAS_PRIVATE_KEY = (CERT_COMPARE_HAS_PRIVATE_KEY << CERT_COMPARE_SHIFT)
546
+ CERT_FIND_OPTIONAL_ENHKEY_USAGE_FLAG = 0x1
547
+ CERT_FIND_EXT_ONLY_ENHKEY_USAGE_FLAG = 0x2
548
+ CERT_FIND_PROP_ONLY_ENHKEY_USAGE_FLAG = 0x4
549
+ CERT_FIND_NO_ENHKEY_USAGE_FLAG = 0x8
550
+ CERT_FIND_OR_ENHKEY_USAGE_FLAG = 0x10
551
+ CERT_FIND_VALID_ENHKEY_USAGE_FLAG = 0x20
552
+ CERT_FIND_OPTIONAL_CTL_USAGE_FLAG = CERT_FIND_OPTIONAL_ENHKEY_USAGE_FLAG
553
+ CERT_FIND_EXT_ONLY_CTL_USAGE_FLAG = CERT_FIND_EXT_ONLY_ENHKEY_USAGE_FLAG
554
+ CERT_FIND_PROP_ONLY_CTL_USAGE_FLAG = CERT_FIND_PROP_ONLY_ENHKEY_USAGE_FLAG
555
+ CERT_FIND_NO_CTL_USAGE_FLAG = CERT_FIND_NO_ENHKEY_USAGE_FLAG
556
+ CERT_FIND_OR_CTL_USAGE_FLAG = CERT_FIND_OR_ENHKEY_USAGE_FLAG
557
+ CERT_FIND_VALID_CTL_USAGE_FLAG = CERT_FIND_VALID_ENHKEY_USAGE_FLAG
558
+
559
+ /* policyOID values for CertVerifyCertificateChainPolicy function */
560
+ CERT_CHAIN_POLICY_BASE = 1
561
+ CERT_CHAIN_POLICY_AUTHENTICODE = 2
562
+ CERT_CHAIN_POLICY_AUTHENTICODE_TS = 3
563
+ CERT_CHAIN_POLICY_SSL = 4
564
+ CERT_CHAIN_POLICY_BASIC_CONSTRAINTS = 5
565
+ CERT_CHAIN_POLICY_NT_AUTH = 6
566
+ CERT_CHAIN_POLICY_MICROSOFT_ROOT = 7
567
+ CERT_CHAIN_POLICY_EV = 8
568
+ CERT_CHAIN_POLICY_SSL_F12 = 9
569
+
570
+ /* flag for dwFindType CertFindChainInStore */
571
+ CERT_CHAIN_FIND_BY_ISSUER = 1
572
+
573
+ /* dwFindFlags for CertFindChainInStore when dwFindType == CERT_CHAIN_FIND_BY_ISSUER */
574
+ CERT_CHAIN_FIND_BY_ISSUER_COMPARE_KEY_FLAG = 0x0001
575
+ CERT_CHAIN_FIND_BY_ISSUER_COMPLEX_CHAIN_FLAG = 0x0002
576
+ CERT_CHAIN_FIND_BY_ISSUER_CACHE_ONLY_URL_FLAG = 0x0004
577
+ CERT_CHAIN_FIND_BY_ISSUER_LOCAL_MACHINE_FLAG = 0x0008
578
+ CERT_CHAIN_FIND_BY_ISSUER_NO_KEY_FLAG = 0x4000
579
+ CERT_CHAIN_FIND_BY_ISSUER_CACHE_ONLY_FLAG = 0x8000
580
+
581
+ /* Certificate Store close flags */
582
+ CERT_CLOSE_STORE_FORCE_FLAG = 0x00000001
583
+ CERT_CLOSE_STORE_CHECK_FLAG = 0x00000002
584
+
585
+ /* CryptQueryObject object type */
586
+ CERT_QUERY_OBJECT_FILE = 1
587
+ CERT_QUERY_OBJECT_BLOB = 2
588
+
589
+ /* CryptQueryObject content type flags */
590
+ CERT_QUERY_CONTENT_CERT = 1
591
+ CERT_QUERY_CONTENT_CTL = 2
592
+ CERT_QUERY_CONTENT_CRL = 3
593
+ CERT_QUERY_CONTENT_SERIALIZED_STORE = 4
594
+ CERT_QUERY_CONTENT_SERIALIZED_CERT = 5
595
+ CERT_QUERY_CONTENT_SERIALIZED_CTL = 6
596
+ CERT_QUERY_CONTENT_SERIALIZED_CRL = 7
597
+ CERT_QUERY_CONTENT_PKCS7_SIGNED = 8
598
+ CERT_QUERY_CONTENT_PKCS7_UNSIGNED = 9
599
+ CERT_QUERY_CONTENT_PKCS7_SIGNED_EMBED = 10
600
+ CERT_QUERY_CONTENT_PKCS10 = 11
601
+ CERT_QUERY_CONTENT_PFX = 12
602
+ CERT_QUERY_CONTENT_CERT_PAIR = 13
603
+ CERT_QUERY_CONTENT_PFX_AND_LOAD = 14
604
+ CERT_QUERY_CONTENT_FLAG_CERT = (1 << CERT_QUERY_CONTENT_CERT)
605
+ CERT_QUERY_CONTENT_FLAG_CTL = (1 << CERT_QUERY_CONTENT_CTL)
606
+ CERT_QUERY_CONTENT_FLAG_CRL = (1 << CERT_QUERY_CONTENT_CRL)
607
+ CERT_QUERY_CONTENT_FLAG_SERIALIZED_STORE = (1 << CERT_QUERY_CONTENT_SERIALIZED_STORE)
608
+ CERT_QUERY_CONTENT_FLAG_SERIALIZED_CERT = (1 << CERT_QUERY_CONTENT_SERIALIZED_CERT)
609
+ CERT_QUERY_CONTENT_FLAG_SERIALIZED_CTL = (1 << CERT_QUERY_CONTENT_SERIALIZED_CTL)
610
+ CERT_QUERY_CONTENT_FLAG_SERIALIZED_CRL = (1 << CERT_QUERY_CONTENT_SERIALIZED_CRL)
611
+ CERT_QUERY_CONTENT_FLAG_PKCS7_SIGNED = (1 << CERT_QUERY_CONTENT_PKCS7_SIGNED)
612
+ CERT_QUERY_CONTENT_FLAG_PKCS7_UNSIGNED = (1 << CERT_QUERY_CONTENT_PKCS7_UNSIGNED)
613
+ CERT_QUERY_CONTENT_FLAG_PKCS7_SIGNED_EMBED = (1 << CERT_QUERY_CONTENT_PKCS7_SIGNED_EMBED)
614
+ CERT_QUERY_CONTENT_FLAG_PKCS10 = (1 << CERT_QUERY_CONTENT_PKCS10)
615
+ CERT_QUERY_CONTENT_FLAG_PFX = (1 << CERT_QUERY_CONTENT_PFX)
616
+ CERT_QUERY_CONTENT_FLAG_CERT_PAIR = (1 << CERT_QUERY_CONTENT_CERT_PAIR)
617
+ CERT_QUERY_CONTENT_FLAG_PFX_AND_LOAD = (1 << CERT_QUERY_CONTENT_PFX_AND_LOAD)
618
+ CERT_QUERY_CONTENT_FLAG_ALL = (CERT_QUERY_CONTENT_FLAG_CERT | CERT_QUERY_CONTENT_FLAG_CTL | CERT_QUERY_CONTENT_FLAG_CRL | CERT_QUERY_CONTENT_FLAG_SERIALIZED_STORE | CERT_QUERY_CONTENT_FLAG_SERIALIZED_CERT | CERT_QUERY_CONTENT_FLAG_SERIALIZED_CTL | CERT_QUERY_CONTENT_FLAG_SERIALIZED_CRL | CERT_QUERY_CONTENT_FLAG_PKCS7_SIGNED | CERT_QUERY_CONTENT_FLAG_PKCS7_UNSIGNED | CERT_QUERY_CONTENT_FLAG_PKCS7_SIGNED_EMBED | CERT_QUERY_CONTENT_FLAG_PKCS10 | CERT_QUERY_CONTENT_FLAG_PFX | CERT_QUERY_CONTENT_FLAG_CERT_PAIR)
619
+ CERT_QUERY_CONTENT_FLAG_ALL_ISSUER_CERT = (CERT_QUERY_CONTENT_FLAG_CERT | CERT_QUERY_CONTENT_FLAG_SERIALIZED_STORE | CERT_QUERY_CONTENT_FLAG_SERIALIZED_CERT | CERT_QUERY_CONTENT_FLAG_PKCS7_SIGNED | CERT_QUERY_CONTENT_FLAG_PKCS7_UNSIGNED)
620
+
621
+ /* CryptQueryObject format type flags */
622
+ CERT_QUERY_FORMAT_BINARY = 1
623
+ CERT_QUERY_FORMAT_BASE64_ENCODED = 2
624
+ CERT_QUERY_FORMAT_ASN_ASCII_HEX_ENCODED = 3
625
+ CERT_QUERY_FORMAT_FLAG_BINARY = (1 << CERT_QUERY_FORMAT_BINARY)
626
+ CERT_QUERY_FORMAT_FLAG_BASE64_ENCODED = (1 << CERT_QUERY_FORMAT_BASE64_ENCODED)
627
+ CERT_QUERY_FORMAT_FLAG_ASN_ASCII_HEX_ENCODED = (1 << CERT_QUERY_FORMAT_ASN_ASCII_HEX_ENCODED)
628
+ CERT_QUERY_FORMAT_FLAG_ALL = (CERT_QUERY_FORMAT_FLAG_BINARY | CERT_QUERY_FORMAT_FLAG_BASE64_ENCODED | CERT_QUERY_FORMAT_FLAG_ASN_ASCII_HEX_ENCODED)
629
+
630
+ /* CertGetNameString name types */
631
+ CERT_NAME_EMAIL_TYPE = 1
632
+ CERT_NAME_RDN_TYPE = 2
633
+ CERT_NAME_ATTR_TYPE = 3
634
+ CERT_NAME_SIMPLE_DISPLAY_TYPE = 4
635
+ CERT_NAME_FRIENDLY_DISPLAY_TYPE = 5
636
+ CERT_NAME_DNS_TYPE = 6
637
+ CERT_NAME_URL_TYPE = 7
638
+ CERT_NAME_UPN_TYPE = 8
639
+
640
+ /* CertGetNameString flags */
641
+ CERT_NAME_ISSUER_FLAG = 0x1
642
+ CERT_NAME_DISABLE_IE4_UTF8_FLAG = 0x10000
643
+ CERT_NAME_SEARCH_ALL_NAMES_FLAG = 0x2
644
+ CERT_NAME_STR_ENABLE_PUNYCODE_FLAG = 0x00200000
645
+
646
+ /* AuthType values for SSLExtraCertChainPolicyPara struct */
647
+ AUTHTYPE_CLIENT = 1
648
+ AUTHTYPE_SERVER = 2
649
+
650
+ /* Checks values for SSLExtraCertChainPolicyPara struct */
651
+ SECURITY_FLAG_IGNORE_REVOCATION = 0x00000080
652
+ SECURITY_FLAG_IGNORE_UNKNOWN_CA = 0x00000100
653
+ SECURITY_FLAG_IGNORE_WRONG_USAGE = 0x00000200
654
+ SECURITY_FLAG_IGNORE_CERT_CN_INVALID = 0x00001000
655
+ SECURITY_FLAG_IGNORE_CERT_DATE_INVALID = 0x00002000
656
+
657
+ /* Flags for Crypt[Un]ProtectData */
658
+ CRYPTPROTECT_UI_FORBIDDEN = 0x1
659
+ CRYPTPROTECT_LOCAL_MACHINE = 0x4
660
+ CRYPTPROTECT_CRED_SYNC = 0x8
661
+ CRYPTPROTECT_AUDIT = 0x10
662
+ CRYPTPROTECT_NO_RECOVERY = 0x20
663
+ CRYPTPROTECT_VERIFY_PROTECTION = 0x40
664
+ CRYPTPROTECT_CRED_REGENERATE = 0x80
665
+
666
+ /* Flags for CryptProtectPromptStruct */
667
+ CRYPTPROTECT_PROMPT_ON_UNPROTECT = 1
668
+ CRYPTPROTECT_PROMPT_ON_PROTECT = 2
669
+ CRYPTPROTECT_PROMPT_RESERVED = 4
670
+ CRYPTPROTECT_PROMPT_STRONG = 8
671
+ CRYPTPROTECT_PROMPT_REQUIRE_STRONG = 16
672
+ )
673
+
674
+ const (
675
+ // flags for SetErrorMode
676
+ SEM_FAILCRITICALERRORS = 0x0001
677
+ SEM_NOALIGNMENTFAULTEXCEPT = 0x0004
678
+ SEM_NOGPFAULTERRORBOX = 0x0002
679
+ SEM_NOOPENFILEERRORBOX = 0x8000
680
+ )
681
+
682
+ const (
683
+ // Priority class.
684
+ ABOVE_NORMAL_PRIORITY_CLASS = 0x00008000
685
+ BELOW_NORMAL_PRIORITY_CLASS = 0x00004000
686
+ HIGH_PRIORITY_CLASS = 0x00000080
687
+ IDLE_PRIORITY_CLASS = 0x00000040
688
+ NORMAL_PRIORITY_CLASS = 0x00000020
689
+ PROCESS_MODE_BACKGROUND_BEGIN = 0x00100000
690
+ PROCESS_MODE_BACKGROUND_END = 0x00200000
691
+ REALTIME_PRIORITY_CLASS = 0x00000100
692
+ )
693
+
694
+ /* wintrust.h constants for WinVerifyTrustEx */
695
+ const (
696
+ WTD_UI_ALL = 1
697
+ WTD_UI_NONE = 2
698
+ WTD_UI_NOBAD = 3
699
+ WTD_UI_NOGOOD = 4
700
+
701
+ WTD_REVOKE_NONE = 0
702
+ WTD_REVOKE_WHOLECHAIN = 1
703
+
704
+ WTD_CHOICE_FILE = 1
705
+ WTD_CHOICE_CATALOG = 2
706
+ WTD_CHOICE_BLOB = 3
707
+ WTD_CHOICE_SIGNER = 4
708
+ WTD_CHOICE_CERT = 5
709
+
710
+ WTD_STATEACTION_IGNORE = 0x00000000
711
+ WTD_STATEACTION_VERIFY = 0x00000001
712
+ WTD_STATEACTION_CLOSE = 0x00000002
713
+ WTD_STATEACTION_AUTO_CACHE = 0x00000003
714
+ WTD_STATEACTION_AUTO_CACHE_FLUSH = 0x00000004
715
+
716
+ WTD_USE_IE4_TRUST_FLAG = 0x1
717
+ WTD_NO_IE4_CHAIN_FLAG = 0x2
718
+ WTD_NO_POLICY_USAGE_FLAG = 0x4
719
+ WTD_REVOCATION_CHECK_NONE = 0x10
720
+ WTD_REVOCATION_CHECK_END_CERT = 0x20
721
+ WTD_REVOCATION_CHECK_CHAIN = 0x40
722
+ WTD_REVOCATION_CHECK_CHAIN_EXCLUDE_ROOT = 0x80
723
+ WTD_SAFER_FLAG = 0x100
724
+ WTD_HASH_ONLY_FLAG = 0x200
725
+ WTD_USE_DEFAULT_OSVER_CHECK = 0x400
726
+ WTD_LIFETIME_SIGNING_FLAG = 0x800
727
+ WTD_CACHE_ONLY_URL_RETRIEVAL = 0x1000
728
+ WTD_DISABLE_MD2_MD4 = 0x2000
729
+ WTD_MOTW = 0x4000
730
+
731
+ WTD_UICONTEXT_EXECUTE = 0
732
+ WTD_UICONTEXT_INSTALL = 1
733
+ )
734
+
735
+ var (
736
+ OID_PKIX_KP_SERVER_AUTH = []byte("1.3.6.1.5.5.7.3.1\x00")
737
+ OID_SERVER_GATED_CRYPTO = []byte("1.3.6.1.4.1.311.10.3.3\x00")
738
+ OID_SGC_NETSCAPE = []byte("2.16.840.1.113730.4.1\x00")
739
+
740
+ WINTRUST_ACTION_GENERIC_VERIFY_V2 = GUID{
741
+ Data1: 0xaac56b,
742
+ Data2: 0xcd44,
743
+ Data3: 0x11d0,
744
+ Data4: [8]byte{0x8c, 0xc2, 0x0, 0xc0, 0x4f, 0xc2, 0x95, 0xee},
745
+ }
746
+ )
747
+
748
+ // Pointer represents a pointer to an arbitrary Windows type.
749
+ //
750
+ // Pointer-typed fields may point to one of many different types. It's
751
+ // up to the caller to provide a pointer to the appropriate type, cast
752
+ // to Pointer. The caller must obey the unsafe.Pointer rules while
753
+ // doing so.
754
+ type Pointer *struct{}
755
+
756
+ // Invented values to support what package os expects.
757
+ type Timeval struct {
758
+ Sec int32
759
+ Usec int32
760
+ }
761
+
762
+ func (tv *Timeval) Nanoseconds() int64 {
763
+ return (int64(tv.Sec)*1e6 + int64(tv.Usec)) * 1e3
764
+ }
765
+
766
+ func NsecToTimeval(nsec int64) (tv Timeval) {
767
+ tv.Sec = int32(nsec / 1e9)
768
+ tv.Usec = int32(nsec % 1e9 / 1e3)
769
+ return
770
+ }
771
+
772
+ type Overlapped struct {
773
+ Internal uintptr
774
+ InternalHigh uintptr
775
+ Offset uint32
776
+ OffsetHigh uint32
777
+ HEvent Handle
778
+ }
779
+
780
+ type FileNotifyInformation struct {
781
+ NextEntryOffset uint32
782
+ Action uint32
783
+ FileNameLength uint32
784
+ FileName uint16
785
+ }
786
+
787
+ type Filetime struct {
788
+ LowDateTime uint32
789
+ HighDateTime uint32
790
+ }
791
+
792
+ // Nanoseconds returns Filetime ft in nanoseconds
793
+ // since Epoch (00:00:00 UTC, January 1, 1970).
794
+ func (ft *Filetime) Nanoseconds() int64 {
795
+ // 100-nanosecond intervals since January 1, 1601
796
+ nsec := int64(ft.HighDateTime)<<32 + int64(ft.LowDateTime)
797
+ // change starting time to the Epoch (00:00:00 UTC, January 1, 1970)
798
+ nsec -= 116444736000000000
799
+ // convert into nanoseconds
800
+ nsec *= 100
801
+ return nsec
802
+ }
803
+
804
+ func NsecToFiletime(nsec int64) (ft Filetime) {
805
+ // convert into 100-nanosecond
806
+ nsec /= 100
807
+ // change starting time to January 1, 1601
808
+ nsec += 116444736000000000
809
+ // split into high / low
810
+ ft.LowDateTime = uint32(nsec & 0xffffffff)
811
+ ft.HighDateTime = uint32(nsec >> 32 & 0xffffffff)
812
+ return ft
813
+ }
814
+
815
+ type Win32finddata struct {
816
+ FileAttributes uint32
817
+ CreationTime Filetime
818
+ LastAccessTime Filetime
819
+ LastWriteTime Filetime
820
+ FileSizeHigh uint32
821
+ FileSizeLow uint32
822
+ Reserved0 uint32
823
+ Reserved1 uint32
824
+ FileName [MAX_PATH - 1]uint16
825
+ AlternateFileName [13]uint16
826
+ }
827
+
828
+ // This is the actual system call structure.
829
+ // Win32finddata is what we committed to in Go 1.
830
+ type win32finddata1 struct {
831
+ FileAttributes uint32
832
+ CreationTime Filetime
833
+ LastAccessTime Filetime
834
+ LastWriteTime Filetime
835
+ FileSizeHigh uint32
836
+ FileSizeLow uint32
837
+ Reserved0 uint32
838
+ Reserved1 uint32
839
+ FileName [MAX_PATH]uint16
840
+ AlternateFileName [14]uint16
841
+
842
+ // The Microsoft documentation for this struct¹ describes three additional
843
+ // fields: dwFileType, dwCreatorType, and wFinderFlags. However, those fields
844
+ // are empirically only present in the macOS port of the Win32 API,² and thus
845
+ // not needed for binaries built for Windows.
846
+ //
847
+ // ¹ https://docs.microsoft.com/en-us/windows/win32/api/minwinbase/ns-minwinbase-win32_find_dataw describe
848
+ // ² https://golang.org/issue/42637#issuecomment-760715755.
849
+ }
850
+
851
+ func copyFindData(dst *Win32finddata, src *win32finddata1) {
852
+ dst.FileAttributes = src.FileAttributes
853
+ dst.CreationTime = src.CreationTime
854
+ dst.LastAccessTime = src.LastAccessTime
855
+ dst.LastWriteTime = src.LastWriteTime
856
+ dst.FileSizeHigh = src.FileSizeHigh
857
+ dst.FileSizeLow = src.FileSizeLow
858
+ dst.Reserved0 = src.Reserved0
859
+ dst.Reserved1 = src.Reserved1
860
+
861
+ // The src is 1 element bigger than dst, but it must be NUL.
862
+ copy(dst.FileName[:], src.FileName[:])
863
+ copy(dst.AlternateFileName[:], src.AlternateFileName[:])
864
+ }
865
+
866
+ type ByHandleFileInformation struct {
867
+ FileAttributes uint32
868
+ CreationTime Filetime
869
+ LastAccessTime Filetime
870
+ LastWriteTime Filetime
871
+ VolumeSerialNumber uint32
872
+ FileSizeHigh uint32
873
+ FileSizeLow uint32
874
+ NumberOfLinks uint32
875
+ FileIndexHigh uint32
876
+ FileIndexLow uint32
877
+ }
878
+
879
+ const (
880
+ GetFileExInfoStandard = 0
881
+ GetFileExMaxInfoLevel = 1
882
+ )
883
+
884
+ type Win32FileAttributeData struct {
885
+ FileAttributes uint32
886
+ CreationTime Filetime
887
+ LastAccessTime Filetime
888
+ LastWriteTime Filetime
889
+ FileSizeHigh uint32
890
+ FileSizeLow uint32
891
+ }
892
+
893
+ // ShowWindow constants
894
+ const (
895
+ // winuser.h
896
+ SW_HIDE = 0
897
+ SW_NORMAL = 1
898
+ SW_SHOWNORMAL = 1
899
+ SW_SHOWMINIMIZED = 2
900
+ SW_SHOWMAXIMIZED = 3
901
+ SW_MAXIMIZE = 3
902
+ SW_SHOWNOACTIVATE = 4
903
+ SW_SHOW = 5
904
+ SW_MINIMIZE = 6
905
+ SW_SHOWMINNOACTIVE = 7
906
+ SW_SHOWNA = 8
907
+ SW_RESTORE = 9
908
+ SW_SHOWDEFAULT = 10
909
+ SW_FORCEMINIMIZE = 11
910
+ )
911
+
912
+ type StartupInfo struct {
913
+ Cb uint32
914
+ _ *uint16
915
+ Desktop *uint16
916
+ Title *uint16
917
+ X uint32
918
+ Y uint32
919
+ XSize uint32
920
+ YSize uint32
921
+ XCountChars uint32
922
+ YCountChars uint32
923
+ FillAttribute uint32
924
+ Flags uint32
925
+ ShowWindow uint16
926
+ _ uint16
927
+ _ *byte
928
+ StdInput Handle
929
+ StdOutput Handle
930
+ StdErr Handle
931
+ }
932
+
933
+ type StartupInfoEx struct {
934
+ StartupInfo
935
+ ProcThreadAttributeList *ProcThreadAttributeList
936
+ }
937
+
938
+ // ProcThreadAttributeList is a placeholder type to represent a PROC_THREAD_ATTRIBUTE_LIST.
939
+ //
940
+ // To create a *ProcThreadAttributeList, use NewProcThreadAttributeList, update
941
+ // it with ProcThreadAttributeListContainer.Update, free its memory using
942
+ // ProcThreadAttributeListContainer.Delete, and access the list itself using
943
+ // ProcThreadAttributeListContainer.List.
944
+ type ProcThreadAttributeList struct{}
945
+
946
+ type ProcThreadAttributeListContainer struct {
947
+ data *ProcThreadAttributeList
948
+ pointers []unsafe.Pointer
949
+ }
950
+
951
+ type ProcessInformation struct {
952
+ Process Handle
953
+ Thread Handle
954
+ ProcessId uint32
955
+ ThreadId uint32
956
+ }
957
+
958
+ type ProcessEntry32 struct {
959
+ Size uint32
960
+ Usage uint32
961
+ ProcessID uint32
962
+ DefaultHeapID uintptr
963
+ ModuleID uint32
964
+ Threads uint32
965
+ ParentProcessID uint32
966
+ PriClassBase int32
967
+ Flags uint32
968
+ ExeFile [MAX_PATH]uint16
969
+ }
970
+
971
+ type ThreadEntry32 struct {
972
+ Size uint32
973
+ Usage uint32
974
+ ThreadID uint32
975
+ OwnerProcessID uint32
976
+ BasePri int32
977
+ DeltaPri int32
978
+ Flags uint32
979
+ }
980
+
981
+ type ModuleEntry32 struct {
982
+ Size uint32
983
+ ModuleID uint32
984
+ ProcessID uint32
985
+ GlblcntUsage uint32
986
+ ProccntUsage uint32
987
+ ModBaseAddr uintptr
988
+ ModBaseSize uint32
989
+ ModuleHandle Handle
990
+ Module [MAX_MODULE_NAME32 + 1]uint16
991
+ ExePath [MAX_PATH]uint16
992
+ }
993
+
994
+ const SizeofModuleEntry32 = unsafe.Sizeof(ModuleEntry32{})
995
+
996
+ type Systemtime struct {
997
+ Year uint16
998
+ Month uint16
999
+ DayOfWeek uint16
1000
+ Day uint16
1001
+ Hour uint16
1002
+ Minute uint16
1003
+ Second uint16
1004
+ Milliseconds uint16
1005
+ }
1006
+
1007
+ type Timezoneinformation struct {
1008
+ Bias int32
1009
+ StandardName [32]uint16
1010
+ StandardDate Systemtime
1011
+ StandardBias int32
1012
+ DaylightName [32]uint16
1013
+ DaylightDate Systemtime
1014
+ DaylightBias int32
1015
+ }
1016
+
1017
+ // Socket related.
1018
+
1019
+ const (
1020
+ AF_UNSPEC = 0
1021
+ AF_UNIX = 1
1022
+ AF_INET = 2
1023
+ AF_NETBIOS = 17
1024
+ AF_INET6 = 23
1025
+ AF_IRDA = 26
1026
+ AF_BTH = 32
1027
+
1028
+ SOCK_STREAM = 1
1029
+ SOCK_DGRAM = 2
1030
+ SOCK_RAW = 3
1031
+ SOCK_RDM = 4
1032
+ SOCK_SEQPACKET = 5
1033
+
1034
+ IPPROTO_IP = 0
1035
+ IPPROTO_ICMP = 1
1036
+ IPPROTO_IGMP = 2
1037
+ BTHPROTO_RFCOMM = 3
1038
+ IPPROTO_TCP = 6
1039
+ IPPROTO_UDP = 17
1040
+ IPPROTO_IPV6 = 41
1041
+ IPPROTO_ICMPV6 = 58
1042
+ IPPROTO_RM = 113
1043
+
1044
+ SOL_SOCKET = 0xffff
1045
+ SO_REUSEADDR = 4
1046
+ SO_KEEPALIVE = 8
1047
+ SO_DONTROUTE = 16
1048
+ SO_BROADCAST = 32
1049
+ SO_LINGER = 128
1050
+ SO_RCVBUF = 0x1002
1051
+ SO_RCVTIMEO = 0x1006
1052
+ SO_SNDBUF = 0x1001
1053
+ SO_UPDATE_ACCEPT_CONTEXT = 0x700b
1054
+ SO_UPDATE_CONNECT_CONTEXT = 0x7010
1055
+
1056
+ IOC_OUT = 0x40000000
1057
+ IOC_IN = 0x80000000
1058
+ IOC_VENDOR = 0x18000000
1059
+ IOC_INOUT = IOC_IN | IOC_OUT
1060
+ IOC_WS2 = 0x08000000
1061
+ SIO_GET_EXTENSION_FUNCTION_POINTER = IOC_INOUT | IOC_WS2 | 6
1062
+ SIO_KEEPALIVE_VALS = IOC_IN | IOC_VENDOR | 4
1063
+ SIO_UDP_CONNRESET = IOC_IN | IOC_VENDOR | 12
1064
+ SIO_UDP_NETRESET = IOC_IN | IOC_VENDOR | 15
1065
+
1066
+ // cf. http://support.microsoft.com/default.aspx?scid=kb;en-us;257460
1067
+
1068
+ IP_HDRINCL = 0x2
1069
+ IP_TOS = 0x3
1070
+ IP_TTL = 0x4
1071
+ IP_MULTICAST_IF = 0x9
1072
+ IP_MULTICAST_TTL = 0xa
1073
+ IP_MULTICAST_LOOP = 0xb
1074
+ IP_ADD_MEMBERSHIP = 0xc
1075
+ IP_DROP_MEMBERSHIP = 0xd
1076
+ IP_PKTINFO = 0x13
1077
+ IP_MTU_DISCOVER = 0x47
1078
+
1079
+ IPV6_V6ONLY = 0x1b
1080
+ IPV6_UNICAST_HOPS = 0x4
1081
+ IPV6_MULTICAST_IF = 0x9
1082
+ IPV6_MULTICAST_HOPS = 0xa
1083
+ IPV6_MULTICAST_LOOP = 0xb
1084
+ IPV6_JOIN_GROUP = 0xc
1085
+ IPV6_LEAVE_GROUP = 0xd
1086
+ IPV6_PKTINFO = 0x13
1087
+ IPV6_MTU_DISCOVER = 0x47
1088
+
1089
+ MSG_OOB = 0x1
1090
+ MSG_PEEK = 0x2
1091
+ MSG_DONTROUTE = 0x4
1092
+ MSG_WAITALL = 0x8
1093
+
1094
+ MSG_TRUNC = 0x0100
1095
+ MSG_CTRUNC = 0x0200
1096
+ MSG_BCAST = 0x0400
1097
+ MSG_MCAST = 0x0800
1098
+
1099
+ SOMAXCONN = 0x7fffffff
1100
+
1101
+ TCP_NODELAY = 1
1102
+ TCP_EXPEDITED_1122 = 2
1103
+ TCP_KEEPALIVE = 3
1104
+ TCP_MAXSEG = 4
1105
+ TCP_MAXRT = 5
1106
+ TCP_STDURG = 6
1107
+ TCP_NOURG = 7
1108
+ TCP_ATMARK = 8
1109
+ TCP_NOSYNRETRIES = 9
1110
+ TCP_TIMESTAMPS = 10
1111
+ TCP_OFFLOAD_PREFERENCE = 11
1112
+ TCP_CONGESTION_ALGORITHM = 12
1113
+ TCP_DELAY_FIN_ACK = 13
1114
+ TCP_MAXRTMS = 14
1115
+ TCP_FASTOPEN = 15
1116
+ TCP_KEEPCNT = 16
1117
+ TCP_KEEPIDLE = TCP_KEEPALIVE
1118
+ TCP_KEEPINTVL = 17
1119
+ TCP_FAIL_CONNECT_ON_ICMP_ERROR = 18
1120
+ TCP_ICMP_ERROR_INFO = 19
1121
+
1122
+ UDP_NOCHECKSUM = 1
1123
+ UDP_SEND_MSG_SIZE = 2
1124
+ UDP_RECV_MAX_COALESCED_SIZE = 3
1125
+ UDP_CHECKSUM_COVERAGE = 20
1126
+
1127
+ UDP_COALESCED_INFO = 3
1128
+
1129
+ SHUT_RD = 0
1130
+ SHUT_WR = 1
1131
+ SHUT_RDWR = 2
1132
+
1133
+ WSADESCRIPTION_LEN = 256
1134
+ WSASYS_STATUS_LEN = 128
1135
+ )
1136
+
1137
+ // enum PMTUD_STATE from ws2ipdef.h
1138
+ const (
1139
+ IP_PMTUDISC_NOT_SET = 0
1140
+ IP_PMTUDISC_DO = 1
1141
+ IP_PMTUDISC_DONT = 2
1142
+ IP_PMTUDISC_PROBE = 3
1143
+ IP_PMTUDISC_MAX = 4
1144
+ )
1145
+
1146
+ type WSABuf struct {
1147
+ Len uint32
1148
+ Buf *byte
1149
+ }
1150
+
1151
+ type WSAMsg struct {
1152
+ Name *syscall.RawSockaddrAny
1153
+ Namelen int32
1154
+ Buffers *WSABuf
1155
+ BufferCount uint32
1156
+ Control WSABuf
1157
+ Flags uint32
1158
+ }
1159
+
1160
+ type WSACMSGHDR struct {
1161
+ Len uintptr
1162
+ Level int32
1163
+ Type int32
1164
+ }
1165
+
1166
+ type IN_PKTINFO struct {
1167
+ Addr [4]byte
1168
+ Ifindex uint32
1169
+ }
1170
+
1171
+ type IN6_PKTINFO struct {
1172
+ Addr [16]byte
1173
+ Ifindex uint32
1174
+ }
1175
+
1176
+ // Flags for WSASocket
1177
+ const (
1178
+ WSA_FLAG_OVERLAPPED = 0x01
1179
+ WSA_FLAG_MULTIPOINT_C_ROOT = 0x02
1180
+ WSA_FLAG_MULTIPOINT_C_LEAF = 0x04
1181
+ WSA_FLAG_MULTIPOINT_D_ROOT = 0x08
1182
+ WSA_FLAG_MULTIPOINT_D_LEAF = 0x10
1183
+ WSA_FLAG_ACCESS_SYSTEM_SECURITY = 0x40
1184
+ WSA_FLAG_NO_HANDLE_INHERIT = 0x80
1185
+ WSA_FLAG_REGISTERED_IO = 0x100
1186
+ )
1187
+
1188
+ // Invented values to support what package os expects.
1189
+ const (
1190
+ S_IFMT = 0x1f000
1191
+ S_IFIFO = 0x1000
1192
+ S_IFCHR = 0x2000
1193
+ S_IFDIR = 0x4000
1194
+ S_IFBLK = 0x6000
1195
+ S_IFREG = 0x8000
1196
+ S_IFLNK = 0xa000
1197
+ S_IFSOCK = 0xc000
1198
+ S_ISUID = 0x800
1199
+ S_ISGID = 0x400
1200
+ S_ISVTX = 0x200
1201
+ S_IRUSR = 0x100
1202
+ S_IWRITE = 0x80
1203
+ S_IWUSR = 0x80
1204
+ S_IXUSR = 0x40
1205
+ )
1206
+
1207
+ const (
1208
+ FILE_TYPE_CHAR = 0x0002
1209
+ FILE_TYPE_DISK = 0x0001
1210
+ FILE_TYPE_PIPE = 0x0003
1211
+ FILE_TYPE_REMOTE = 0x8000
1212
+ FILE_TYPE_UNKNOWN = 0x0000
1213
+ )
1214
+
1215
+ type Hostent struct {
1216
+ Name *byte
1217
+ Aliases **byte
1218
+ AddrType uint16
1219
+ Length uint16
1220
+ AddrList **byte
1221
+ }
1222
+
1223
+ type Protoent struct {
1224
+ Name *byte
1225
+ Aliases **byte
1226
+ Proto uint16
1227
+ }
1228
+
1229
+ const (
1230
+ DNS_TYPE_A = 0x0001
1231
+ DNS_TYPE_NS = 0x0002
1232
+ DNS_TYPE_MD = 0x0003
1233
+ DNS_TYPE_MF = 0x0004
1234
+ DNS_TYPE_CNAME = 0x0005
1235
+ DNS_TYPE_SOA = 0x0006
1236
+ DNS_TYPE_MB = 0x0007
1237
+ DNS_TYPE_MG = 0x0008
1238
+ DNS_TYPE_MR = 0x0009
1239
+ DNS_TYPE_NULL = 0x000a
1240
+ DNS_TYPE_WKS = 0x000b
1241
+ DNS_TYPE_PTR = 0x000c
1242
+ DNS_TYPE_HINFO = 0x000d
1243
+ DNS_TYPE_MINFO = 0x000e
1244
+ DNS_TYPE_MX = 0x000f
1245
+ DNS_TYPE_TEXT = 0x0010
1246
+ DNS_TYPE_RP = 0x0011
1247
+ DNS_TYPE_AFSDB = 0x0012
1248
+ DNS_TYPE_X25 = 0x0013
1249
+ DNS_TYPE_ISDN = 0x0014
1250
+ DNS_TYPE_RT = 0x0015
1251
+ DNS_TYPE_NSAP = 0x0016
1252
+ DNS_TYPE_NSAPPTR = 0x0017
1253
+ DNS_TYPE_SIG = 0x0018
1254
+ DNS_TYPE_KEY = 0x0019
1255
+ DNS_TYPE_PX = 0x001a
1256
+ DNS_TYPE_GPOS = 0x001b
1257
+ DNS_TYPE_AAAA = 0x001c
1258
+ DNS_TYPE_LOC = 0x001d
1259
+ DNS_TYPE_NXT = 0x001e
1260
+ DNS_TYPE_EID = 0x001f
1261
+ DNS_TYPE_NIMLOC = 0x0020
1262
+ DNS_TYPE_SRV = 0x0021
1263
+ DNS_TYPE_ATMA = 0x0022
1264
+ DNS_TYPE_NAPTR = 0x0023
1265
+ DNS_TYPE_KX = 0x0024
1266
+ DNS_TYPE_CERT = 0x0025
1267
+ DNS_TYPE_A6 = 0x0026
1268
+ DNS_TYPE_DNAME = 0x0027
1269
+ DNS_TYPE_SINK = 0x0028
1270
+ DNS_TYPE_OPT = 0x0029
1271
+ DNS_TYPE_DS = 0x002B
1272
+ DNS_TYPE_RRSIG = 0x002E
1273
+ DNS_TYPE_NSEC = 0x002F
1274
+ DNS_TYPE_DNSKEY = 0x0030
1275
+ DNS_TYPE_DHCID = 0x0031
1276
+ DNS_TYPE_UINFO = 0x0064
1277
+ DNS_TYPE_UID = 0x0065
1278
+ DNS_TYPE_GID = 0x0066
1279
+ DNS_TYPE_UNSPEC = 0x0067
1280
+ DNS_TYPE_ADDRS = 0x00f8
1281
+ DNS_TYPE_TKEY = 0x00f9
1282
+ DNS_TYPE_TSIG = 0x00fa
1283
+ DNS_TYPE_IXFR = 0x00fb
1284
+ DNS_TYPE_AXFR = 0x00fc
1285
+ DNS_TYPE_MAILB = 0x00fd
1286
+ DNS_TYPE_MAILA = 0x00fe
1287
+ DNS_TYPE_ALL = 0x00ff
1288
+ DNS_TYPE_ANY = 0x00ff
1289
+ DNS_TYPE_WINS = 0xff01
1290
+ DNS_TYPE_WINSR = 0xff02
1291
+ DNS_TYPE_NBSTAT = 0xff01
1292
+ )
1293
+
1294
+ const (
1295
+ // flags inside DNSRecord.Dw
1296
+ DnsSectionQuestion = 0x0000
1297
+ DnsSectionAnswer = 0x0001
1298
+ DnsSectionAuthority = 0x0002
1299
+ DnsSectionAdditional = 0x0003
1300
+ )
1301
+
1302
+ const (
1303
+ // flags of WSALookupService
1304
+ LUP_DEEP = 0x0001
1305
+ LUP_CONTAINERS = 0x0002
1306
+ LUP_NOCONTAINERS = 0x0004
1307
+ LUP_NEAREST = 0x0008
1308
+ LUP_RETURN_NAME = 0x0010
1309
+ LUP_RETURN_TYPE = 0x0020
1310
+ LUP_RETURN_VERSION = 0x0040
1311
+ LUP_RETURN_COMMENT = 0x0080
1312
+ LUP_RETURN_ADDR = 0x0100
1313
+ LUP_RETURN_BLOB = 0x0200
1314
+ LUP_RETURN_ALIASES = 0x0400
1315
+ LUP_RETURN_QUERY_STRING = 0x0800
1316
+ LUP_RETURN_ALL = 0x0FF0
1317
+ LUP_RES_SERVICE = 0x8000
1318
+
1319
+ LUP_FLUSHCACHE = 0x1000
1320
+ LUP_FLUSHPREVIOUS = 0x2000
1321
+
1322
+ LUP_NON_AUTHORITATIVE = 0x4000
1323
+ LUP_SECURE = 0x8000
1324
+ LUP_RETURN_PREFERRED_NAMES = 0x10000
1325
+ LUP_DNS_ONLY = 0x20000
1326
+
1327
+ LUP_ADDRCONFIG = 0x100000
1328
+ LUP_DUAL_ADDR = 0x200000
1329
+ LUP_FILESERVER = 0x400000
1330
+ LUP_DISABLE_IDN_ENCODING = 0x00800000
1331
+ LUP_API_ANSI = 0x01000000
1332
+
1333
+ LUP_RESOLUTION_HANDLE = 0x80000000
1334
+ )
1335
+
1336
+ const (
1337
+ // values of WSAQUERYSET's namespace
1338
+ NS_ALL = 0
1339
+ NS_DNS = 12
1340
+ NS_NLA = 15
1341
+ NS_BTH = 16
1342
+ NS_EMAIL = 37
1343
+ NS_PNRPNAME = 38
1344
+ NS_PNRPCLOUD = 39
1345
+ )
1346
+
1347
+ type DNSSRVData struct {
1348
+ Target *uint16
1349
+ Priority uint16
1350
+ Weight uint16
1351
+ Port uint16
1352
+ Pad uint16
1353
+ }
1354
+
1355
+ type DNSPTRData struct {
1356
+ Host *uint16
1357
+ }
1358
+
1359
+ type DNSMXData struct {
1360
+ NameExchange *uint16
1361
+ Preference uint16
1362
+ Pad uint16
1363
+ }
1364
+
1365
+ type DNSTXTData struct {
1366
+ StringCount uint16
1367
+ StringArray [1]*uint16
1368
+ }
1369
+
1370
+ type DNSRecord struct {
1371
+ Next *DNSRecord
1372
+ Name *uint16
1373
+ Type uint16
1374
+ Length uint16
1375
+ Dw uint32
1376
+ Ttl uint32
1377
+ Reserved uint32
1378
+ Data [40]byte
1379
+ }
1380
+
1381
+ const (
1382
+ TF_DISCONNECT = 1
1383
+ TF_REUSE_SOCKET = 2
1384
+ TF_WRITE_BEHIND = 4
1385
+ TF_USE_DEFAULT_WORKER = 0
1386
+ TF_USE_SYSTEM_THREAD = 16
1387
+ TF_USE_KERNEL_APC = 32
1388
+ )
1389
+
1390
+ type TransmitFileBuffers struct {
1391
+ Head uintptr
1392
+ HeadLength uint32
1393
+ Tail uintptr
1394
+ TailLength uint32
1395
+ }
1396
+
1397
+ const (
1398
+ IFF_UP = 1
1399
+ IFF_BROADCAST = 2
1400
+ IFF_LOOPBACK = 4
1401
+ IFF_POINTTOPOINT = 8
1402
+ IFF_MULTICAST = 16
1403
+ )
1404
+
1405
+ const SIO_GET_INTERFACE_LIST = 0x4004747F
1406
+
1407
+ // TODO(mattn): SockaddrGen is union of sockaddr/sockaddr_in/sockaddr_in6_old.
1408
+ // will be fixed to change variable type as suitable.
1409
+
1410
+ type SockaddrGen [24]byte
1411
+
1412
+ type InterfaceInfo struct {
1413
+ Flags uint32
1414
+ Address SockaddrGen
1415
+ BroadcastAddress SockaddrGen
1416
+ Netmask SockaddrGen
1417
+ }
1418
+
1419
+ type IpAddressString struct {
1420
+ String [16]byte
1421
+ }
1422
+
1423
+ type IpMaskString IpAddressString
1424
+
1425
+ type IpAddrString struct {
1426
+ Next *IpAddrString
1427
+ IpAddress IpAddressString
1428
+ IpMask IpMaskString
1429
+ Context uint32
1430
+ }
1431
+
1432
+ const MAX_ADAPTER_NAME_LENGTH = 256
1433
+ const MAX_ADAPTER_DESCRIPTION_LENGTH = 128
1434
+ const MAX_ADAPTER_ADDRESS_LENGTH = 8
1435
+
1436
+ type IpAdapterInfo struct {
1437
+ Next *IpAdapterInfo
1438
+ ComboIndex uint32
1439
+ AdapterName [MAX_ADAPTER_NAME_LENGTH + 4]byte
1440
+ Description [MAX_ADAPTER_DESCRIPTION_LENGTH + 4]byte
1441
+ AddressLength uint32
1442
+ Address [MAX_ADAPTER_ADDRESS_LENGTH]byte
1443
+ Index uint32
1444
+ Type uint32
1445
+ DhcpEnabled uint32
1446
+ CurrentIpAddress *IpAddrString
1447
+ IpAddressList IpAddrString
1448
+ GatewayList IpAddrString
1449
+ DhcpServer IpAddrString
1450
+ HaveWins bool
1451
+ PrimaryWinsServer IpAddrString
1452
+ SecondaryWinsServer IpAddrString
1453
+ LeaseObtained int64
1454
+ LeaseExpires int64
1455
+ }
1456
+
1457
+ const MAXLEN_PHYSADDR = 8
1458
+ const MAX_INTERFACE_NAME_LEN = 256
1459
+ const MAXLEN_IFDESCR = 256
1460
+
1461
+ type MibIfRow struct {
1462
+ Name [MAX_INTERFACE_NAME_LEN]uint16
1463
+ Index uint32
1464
+ Type uint32
1465
+ Mtu uint32
1466
+ Speed uint32
1467
+ PhysAddrLen uint32
1468
+ PhysAddr [MAXLEN_PHYSADDR]byte
1469
+ AdminStatus uint32
1470
+ OperStatus uint32
1471
+ LastChange uint32
1472
+ InOctets uint32
1473
+ InUcastPkts uint32
1474
+ InNUcastPkts uint32
1475
+ InDiscards uint32
1476
+ InErrors uint32
1477
+ InUnknownProtos uint32
1478
+ OutOctets uint32
1479
+ OutUcastPkts uint32
1480
+ OutNUcastPkts uint32
1481
+ OutDiscards uint32
1482
+ OutErrors uint32
1483
+ OutQLen uint32
1484
+ DescrLen uint32
1485
+ Descr [MAXLEN_IFDESCR]byte
1486
+ }
1487
+
1488
+ type CertInfo struct {
1489
+ Version uint32
1490
+ SerialNumber CryptIntegerBlob
1491
+ SignatureAlgorithm CryptAlgorithmIdentifier
1492
+ Issuer CertNameBlob
1493
+ NotBefore Filetime
1494
+ NotAfter Filetime
1495
+ Subject CertNameBlob
1496
+ SubjectPublicKeyInfo CertPublicKeyInfo
1497
+ IssuerUniqueId CryptBitBlob
1498
+ SubjectUniqueId CryptBitBlob
1499
+ CountExtensions uint32
1500
+ Extensions *CertExtension
1501
+ }
1502
+
1503
+ type CertExtension struct {
1504
+ ObjId *byte
1505
+ Critical int32
1506
+ Value CryptObjidBlob
1507
+ }
1508
+
1509
+ type CryptAlgorithmIdentifier struct {
1510
+ ObjId *byte
1511
+ Parameters CryptObjidBlob
1512
+ }
1513
+
1514
+ type CertPublicKeyInfo struct {
1515
+ Algorithm CryptAlgorithmIdentifier
1516
+ PublicKey CryptBitBlob
1517
+ }
1518
+
1519
+ type DataBlob struct {
1520
+ Size uint32
1521
+ Data *byte
1522
+ }
1523
+ type CryptIntegerBlob DataBlob
1524
+ type CryptUintBlob DataBlob
1525
+ type CryptObjidBlob DataBlob
1526
+ type CertNameBlob DataBlob
1527
+ type CertRdnValueBlob DataBlob
1528
+ type CertBlob DataBlob
1529
+ type CrlBlob DataBlob
1530
+ type CryptDataBlob DataBlob
1531
+ type CryptHashBlob DataBlob
1532
+ type CryptDigestBlob DataBlob
1533
+ type CryptDerBlob DataBlob
1534
+ type CryptAttrBlob DataBlob
1535
+
1536
+ type CryptBitBlob struct {
1537
+ Size uint32
1538
+ Data *byte
1539
+ UnusedBits uint32
1540
+ }
1541
+
1542
+ type CertContext struct {
1543
+ EncodingType uint32
1544
+ EncodedCert *byte
1545
+ Length uint32
1546
+ CertInfo *CertInfo
1547
+ Store Handle
1548
+ }
1549
+
1550
+ type CertChainContext struct {
1551
+ Size uint32
1552
+ TrustStatus CertTrustStatus
1553
+ ChainCount uint32
1554
+ Chains **CertSimpleChain
1555
+ LowerQualityChainCount uint32
1556
+ LowerQualityChains **CertChainContext
1557
+ HasRevocationFreshnessTime uint32
1558
+ RevocationFreshnessTime uint32
1559
+ }
1560
+
1561
+ type CertTrustListInfo struct {
1562
+ // Not implemented
1563
+ }
1564
+
1565
+ type CertSimpleChain struct {
1566
+ Size uint32
1567
+ TrustStatus CertTrustStatus
1568
+ NumElements uint32
1569
+ Elements **CertChainElement
1570
+ TrustListInfo *CertTrustListInfo
1571
+ HasRevocationFreshnessTime uint32
1572
+ RevocationFreshnessTime uint32
1573
+ }
1574
+
1575
+ type CertChainElement struct {
1576
+ Size uint32
1577
+ CertContext *CertContext
1578
+ TrustStatus CertTrustStatus
1579
+ RevocationInfo *CertRevocationInfo
1580
+ IssuanceUsage *CertEnhKeyUsage
1581
+ ApplicationUsage *CertEnhKeyUsage
1582
+ ExtendedErrorInfo *uint16
1583
+ }
1584
+
1585
+ type CertRevocationCrlInfo struct {
1586
+ // Not implemented
1587
+ }
1588
+
1589
+ type CertRevocationInfo struct {
1590
+ Size uint32
1591
+ RevocationResult uint32
1592
+ RevocationOid *byte
1593
+ OidSpecificInfo Pointer
1594
+ HasFreshnessTime uint32
1595
+ FreshnessTime uint32
1596
+ CrlInfo *CertRevocationCrlInfo
1597
+ }
1598
+
1599
+ type CertTrustStatus struct {
1600
+ ErrorStatus uint32
1601
+ InfoStatus uint32
1602
+ }
1603
+
1604
+ type CertUsageMatch struct {
1605
+ Type uint32
1606
+ Usage CertEnhKeyUsage
1607
+ }
1608
+
1609
+ type CertEnhKeyUsage struct {
1610
+ Length uint32
1611
+ UsageIdentifiers **byte
1612
+ }
1613
+
1614
+ type CertChainPara struct {
1615
+ Size uint32
1616
+ RequestedUsage CertUsageMatch
1617
+ RequstedIssuancePolicy CertUsageMatch
1618
+ URLRetrievalTimeout uint32
1619
+ CheckRevocationFreshnessTime uint32
1620
+ RevocationFreshnessTime uint32
1621
+ CacheResync *Filetime
1622
+ }
1623
+
1624
+ type CertChainPolicyPara struct {
1625
+ Size uint32
1626
+ Flags uint32
1627
+ ExtraPolicyPara Pointer
1628
+ }
1629
+
1630
+ type SSLExtraCertChainPolicyPara struct {
1631
+ Size uint32
1632
+ AuthType uint32
1633
+ Checks uint32
1634
+ ServerName *uint16
1635
+ }
1636
+
1637
+ type CertChainPolicyStatus struct {
1638
+ Size uint32
1639
+ Error uint32
1640
+ ChainIndex uint32
1641
+ ElementIndex uint32
1642
+ ExtraPolicyStatus Pointer
1643
+ }
1644
+
1645
+ type CertPolicyInfo struct {
1646
+ Identifier *byte
1647
+ CountQualifiers uint32
1648
+ Qualifiers *CertPolicyQualifierInfo
1649
+ }
1650
+
1651
+ type CertPoliciesInfo struct {
1652
+ Count uint32
1653
+ PolicyInfos *CertPolicyInfo
1654
+ }
1655
+
1656
+ type CertPolicyQualifierInfo struct {
1657
+ // Not implemented
1658
+ }
1659
+
1660
+ type CertStrongSignPara struct {
1661
+ Size uint32
1662
+ InfoChoice uint32
1663
+ InfoOrSerializedInfoOrOID unsafe.Pointer
1664
+ }
1665
+
1666
+ type CryptProtectPromptStruct struct {
1667
+ Size uint32
1668
+ PromptFlags uint32
1669
+ App HWND
1670
+ Prompt *uint16
1671
+ }
1672
+
1673
+ type CertChainFindByIssuerPara struct {
1674
+ Size uint32
1675
+ UsageIdentifier *byte
1676
+ KeySpec uint32
1677
+ AcquirePrivateKeyFlags uint32
1678
+ IssuerCount uint32
1679
+ Issuer Pointer
1680
+ FindCallback Pointer
1681
+ FindArg Pointer
1682
+ IssuerChainIndex *uint32
1683
+ IssuerElementIndex *uint32
1684
+ }
1685
+
1686
+ type WinTrustData struct {
1687
+ Size uint32
1688
+ PolicyCallbackData uintptr
1689
+ SIPClientData uintptr
1690
+ UIChoice uint32
1691
+ RevocationChecks uint32
1692
+ UnionChoice uint32
1693
+ FileOrCatalogOrBlobOrSgnrOrCert unsafe.Pointer
1694
+ StateAction uint32
1695
+ StateData Handle
1696
+ URLReference *uint16
1697
+ ProvFlags uint32
1698
+ UIContext uint32
1699
+ SignatureSettings *WinTrustSignatureSettings
1700
+ }
1701
+
1702
+ type WinTrustFileInfo struct {
1703
+ Size uint32
1704
+ FilePath *uint16
1705
+ File Handle
1706
+ KnownSubject *GUID
1707
+ }
1708
+
1709
+ type WinTrustSignatureSettings struct {
1710
+ Size uint32
1711
+ Index uint32
1712
+ Flags uint32
1713
+ SecondarySigs uint32
1714
+ VerifiedSigIndex uint32
1715
+ CryptoPolicy *CertStrongSignPara
1716
+ }
1717
+
1718
+ const (
1719
+ // do not reorder
1720
+ HKEY_CLASSES_ROOT = 0x80000000 + iota
1721
+ HKEY_CURRENT_USER
1722
+ HKEY_LOCAL_MACHINE
1723
+ HKEY_USERS
1724
+ HKEY_PERFORMANCE_DATA
1725
+ HKEY_CURRENT_CONFIG
1726
+ HKEY_DYN_DATA
1727
+
1728
+ KEY_QUERY_VALUE = 1
1729
+ KEY_SET_VALUE = 2
1730
+ KEY_CREATE_SUB_KEY = 4
1731
+ KEY_ENUMERATE_SUB_KEYS = 8
1732
+ KEY_NOTIFY = 16
1733
+ KEY_CREATE_LINK = 32
1734
+ KEY_WRITE = 0x20006
1735
+ KEY_EXECUTE = 0x20019
1736
+ KEY_READ = 0x20019
1737
+ KEY_WOW64_64KEY = 0x0100
1738
+ KEY_WOW64_32KEY = 0x0200
1739
+ KEY_ALL_ACCESS = 0xf003f
1740
+ )
1741
+
1742
+ const (
1743
+ // do not reorder
1744
+ REG_NONE = iota
1745
+ REG_SZ
1746
+ REG_EXPAND_SZ
1747
+ REG_BINARY
1748
+ REG_DWORD_LITTLE_ENDIAN
1749
+ REG_DWORD_BIG_ENDIAN
1750
+ REG_LINK
1751
+ REG_MULTI_SZ
1752
+ REG_RESOURCE_LIST
1753
+ REG_FULL_RESOURCE_DESCRIPTOR
1754
+ REG_RESOURCE_REQUIREMENTS_LIST
1755
+ REG_QWORD_LITTLE_ENDIAN
1756
+ REG_DWORD = REG_DWORD_LITTLE_ENDIAN
1757
+ REG_QWORD = REG_QWORD_LITTLE_ENDIAN
1758
+ )
1759
+
1760
+ const (
1761
+ EVENT_MODIFY_STATE = 0x0002
1762
+ EVENT_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0x3
1763
+
1764
+ MUTANT_QUERY_STATE = 0x0001
1765
+ MUTANT_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | MUTANT_QUERY_STATE
1766
+
1767
+ SEMAPHORE_MODIFY_STATE = 0x0002
1768
+ SEMAPHORE_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0x3
1769
+
1770
+ TIMER_QUERY_STATE = 0x0001
1771
+ TIMER_MODIFY_STATE = 0x0002
1772
+ TIMER_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | TIMER_QUERY_STATE | TIMER_MODIFY_STATE
1773
+
1774
+ MUTEX_MODIFY_STATE = MUTANT_QUERY_STATE
1775
+ MUTEX_ALL_ACCESS = MUTANT_ALL_ACCESS
1776
+
1777
+ CREATE_EVENT_MANUAL_RESET = 0x1
1778
+ CREATE_EVENT_INITIAL_SET = 0x2
1779
+ CREATE_MUTEX_INITIAL_OWNER = 0x1
1780
+ )
1781
+
1782
+ type AddrinfoW struct {
1783
+ Flags int32
1784
+ Family int32
1785
+ Socktype int32
1786
+ Protocol int32
1787
+ Addrlen uintptr
1788
+ Canonname *uint16
1789
+ Addr uintptr
1790
+ Next *AddrinfoW
1791
+ }
1792
+
1793
+ const (
1794
+ AI_PASSIVE = 1
1795
+ AI_CANONNAME = 2
1796
+ AI_NUMERICHOST = 4
1797
+ )
1798
+
1799
+ type GUID struct {
1800
+ Data1 uint32
1801
+ Data2 uint16
1802
+ Data3 uint16
1803
+ Data4 [8]byte
1804
+ }
1805
+
1806
+ var WSAID_CONNECTEX = GUID{
1807
+ 0x25a207b9,
1808
+ 0xddf3,
1809
+ 0x4660,
1810
+ [8]byte{0x8e, 0xe9, 0x76, 0xe5, 0x8c, 0x74, 0x06, 0x3e},
1811
+ }
1812
+
1813
+ var WSAID_WSASENDMSG = GUID{
1814
+ 0xa441e712,
1815
+ 0x754f,
1816
+ 0x43ca,
1817
+ [8]byte{0x84, 0xa7, 0x0d, 0xee, 0x44, 0xcf, 0x60, 0x6d},
1818
+ }
1819
+
1820
+ var WSAID_WSARECVMSG = GUID{
1821
+ 0xf689d7c8,
1822
+ 0x6f1f,
1823
+ 0x436b,
1824
+ [8]byte{0x8a, 0x53, 0xe5, 0x4f, 0xe3, 0x51, 0xc3, 0x22},
1825
+ }
1826
+
1827
+ const (
1828
+ FILE_SKIP_COMPLETION_PORT_ON_SUCCESS = 1
1829
+ FILE_SKIP_SET_EVENT_ON_HANDLE = 2
1830
+ )
1831
+
1832
+ const (
1833
+ WSAPROTOCOL_LEN = 255
1834
+ MAX_PROTOCOL_CHAIN = 7
1835
+ BASE_PROTOCOL = 1
1836
+ LAYERED_PROTOCOL = 0
1837
+
1838
+ XP1_CONNECTIONLESS = 0x00000001
1839
+ XP1_GUARANTEED_DELIVERY = 0x00000002
1840
+ XP1_GUARANTEED_ORDER = 0x00000004
1841
+ XP1_MESSAGE_ORIENTED = 0x00000008
1842
+ XP1_PSEUDO_STREAM = 0x00000010
1843
+ XP1_GRACEFUL_CLOSE = 0x00000020
1844
+ XP1_EXPEDITED_DATA = 0x00000040
1845
+ XP1_CONNECT_DATA = 0x00000080
1846
+ XP1_DISCONNECT_DATA = 0x00000100
1847
+ XP1_SUPPORT_BROADCAST = 0x00000200
1848
+ XP1_SUPPORT_MULTIPOINT = 0x00000400
1849
+ XP1_MULTIPOINT_CONTROL_PLANE = 0x00000800
1850
+ XP1_MULTIPOINT_DATA_PLANE = 0x00001000
1851
+ XP1_QOS_SUPPORTED = 0x00002000
1852
+ XP1_UNI_SEND = 0x00008000
1853
+ XP1_UNI_RECV = 0x00010000
1854
+ XP1_IFS_HANDLES = 0x00020000
1855
+ XP1_PARTIAL_MESSAGE = 0x00040000
1856
+ XP1_SAN_SUPPORT_SDP = 0x00080000
1857
+
1858
+ PFL_MULTIPLE_PROTO_ENTRIES = 0x00000001
1859
+ PFL_RECOMMENDED_PROTO_ENTRY = 0x00000002
1860
+ PFL_HIDDEN = 0x00000004
1861
+ PFL_MATCHES_PROTOCOL_ZERO = 0x00000008
1862
+ PFL_NETWORKDIRECT_PROVIDER = 0x00000010
1863
+ )
1864
+
1865
+ type WSAProtocolInfo struct {
1866
+ ServiceFlags1 uint32
1867
+ ServiceFlags2 uint32
1868
+ ServiceFlags3 uint32
1869
+ ServiceFlags4 uint32
1870
+ ProviderFlags uint32
1871
+ ProviderId GUID
1872
+ CatalogEntryId uint32
1873
+ ProtocolChain WSAProtocolChain
1874
+ Version int32
1875
+ AddressFamily int32
1876
+ MaxSockAddr int32
1877
+ MinSockAddr int32
1878
+ SocketType int32
1879
+ Protocol int32
1880
+ ProtocolMaxOffset int32
1881
+ NetworkByteOrder int32
1882
+ SecurityScheme int32
1883
+ MessageSize uint32
1884
+ ProviderReserved uint32
1885
+ ProtocolName [WSAPROTOCOL_LEN + 1]uint16
1886
+ }
1887
+
1888
+ type WSAProtocolChain struct {
1889
+ ChainLen int32
1890
+ ChainEntries [MAX_PROTOCOL_CHAIN]uint32
1891
+ }
1892
+
1893
+ type TCPKeepalive struct {
1894
+ OnOff uint32
1895
+ Time uint32
1896
+ Interval uint32
1897
+ }
1898
+
1899
+ type symbolicLinkReparseBuffer struct {
1900
+ SubstituteNameOffset uint16
1901
+ SubstituteNameLength uint16
1902
+ PrintNameOffset uint16
1903
+ PrintNameLength uint16
1904
+ Flags uint32
1905
+ PathBuffer [1]uint16
1906
+ }
1907
+
1908
+ type mountPointReparseBuffer struct {
1909
+ SubstituteNameOffset uint16
1910
+ SubstituteNameLength uint16
1911
+ PrintNameOffset uint16
1912
+ PrintNameLength uint16
1913
+ PathBuffer [1]uint16
1914
+ }
1915
+
1916
+ type reparseDataBuffer struct {
1917
+ ReparseTag uint32
1918
+ ReparseDataLength uint16
1919
+ Reserved uint16
1920
+
1921
+ // GenericReparseBuffer
1922
+ reparseBuffer byte
1923
+ }
1924
+
1925
+ const (
1926
+ FSCTL_CREATE_OR_GET_OBJECT_ID = 0x0900C0
1927
+ FSCTL_DELETE_OBJECT_ID = 0x0900A0
1928
+ FSCTL_DELETE_REPARSE_POINT = 0x0900AC
1929
+ FSCTL_DUPLICATE_EXTENTS_TO_FILE = 0x098344
1930
+ FSCTL_DUPLICATE_EXTENTS_TO_FILE_EX = 0x0983E8
1931
+ FSCTL_FILESYSTEM_GET_STATISTICS = 0x090060
1932
+ FSCTL_FILE_LEVEL_TRIM = 0x098208
1933
+ FSCTL_FIND_FILES_BY_SID = 0x09008F
1934
+ FSCTL_GET_COMPRESSION = 0x09003C
1935
+ FSCTL_GET_INTEGRITY_INFORMATION = 0x09027C
1936
+ FSCTL_GET_NTFS_VOLUME_DATA = 0x090064
1937
+ FSCTL_GET_REFS_VOLUME_DATA = 0x0902D8
1938
+ FSCTL_GET_OBJECT_ID = 0x09009C
1939
+ FSCTL_GET_REPARSE_POINT = 0x0900A8
1940
+ FSCTL_GET_RETRIEVAL_POINTER_COUNT = 0x09042B
1941
+ FSCTL_GET_RETRIEVAL_POINTERS = 0x090073
1942
+ FSCTL_GET_RETRIEVAL_POINTERS_AND_REFCOUNT = 0x0903D3
1943
+ FSCTL_IS_PATHNAME_VALID = 0x09002C
1944
+ FSCTL_LMR_SET_LINK_TRACKING_INFORMATION = 0x1400EC
1945
+ FSCTL_MARK_HANDLE = 0x0900FC
1946
+ FSCTL_OFFLOAD_READ = 0x094264
1947
+ FSCTL_OFFLOAD_WRITE = 0x098268
1948
+ FSCTL_PIPE_PEEK = 0x11400C
1949
+ FSCTL_PIPE_TRANSCEIVE = 0x11C017
1950
+ FSCTL_PIPE_WAIT = 0x110018
1951
+ FSCTL_QUERY_ALLOCATED_RANGES = 0x0940CF
1952
+ FSCTL_QUERY_FAT_BPB = 0x090058
1953
+ FSCTL_QUERY_FILE_REGIONS = 0x090284
1954
+ FSCTL_QUERY_ON_DISK_VOLUME_INFO = 0x09013C
1955
+ FSCTL_QUERY_SPARING_INFO = 0x090138
1956
+ FSCTL_READ_FILE_USN_DATA = 0x0900EB
1957
+ FSCTL_RECALL_FILE = 0x090117
1958
+ FSCTL_REFS_STREAM_SNAPSHOT_MANAGEMENT = 0x090440
1959
+ FSCTL_SET_COMPRESSION = 0x09C040
1960
+ FSCTL_SET_DEFECT_MANAGEMENT = 0x098134
1961
+ FSCTL_SET_ENCRYPTION = 0x0900D7
1962
+ FSCTL_SET_INTEGRITY_INFORMATION = 0x09C280
1963
+ FSCTL_SET_INTEGRITY_INFORMATION_EX = 0x090380
1964
+ FSCTL_SET_OBJECT_ID = 0x090098
1965
+ FSCTL_SET_OBJECT_ID_EXTENDED = 0x0900BC
1966
+ FSCTL_SET_REPARSE_POINT = 0x0900A4
1967
+ FSCTL_SET_SPARSE = 0x0900C4
1968
+ FSCTL_SET_ZERO_DATA = 0x0980C8
1969
+ FSCTL_SET_ZERO_ON_DEALLOCATION = 0x090194
1970
+ FSCTL_SIS_COPYFILE = 0x090100
1971
+ FSCTL_WRITE_USN_CLOSE_RECORD = 0x0900EF
1972
+
1973
+ MAXIMUM_REPARSE_DATA_BUFFER_SIZE = 16 * 1024
1974
+ IO_REPARSE_TAG_MOUNT_POINT = 0xA0000003
1975
+ IO_REPARSE_TAG_SYMLINK = 0xA000000C
1976
+ SYMBOLIC_LINK_FLAG_DIRECTORY = 0x1
1977
+ )
1978
+
1979
+ const (
1980
+ ComputerNameNetBIOS = 0
1981
+ ComputerNameDnsHostname = 1
1982
+ ComputerNameDnsDomain = 2
1983
+ ComputerNameDnsFullyQualified = 3
1984
+ ComputerNamePhysicalNetBIOS = 4
1985
+ ComputerNamePhysicalDnsHostname = 5
1986
+ ComputerNamePhysicalDnsDomain = 6
1987
+ ComputerNamePhysicalDnsFullyQualified = 7
1988
+ ComputerNameMax = 8
1989
+ )
1990
+
1991
+ // For MessageBox()
1992
+ const (
1993
+ MB_OK = 0x00000000
1994
+ MB_OKCANCEL = 0x00000001
1995
+ MB_ABORTRETRYIGNORE = 0x00000002
1996
+ MB_YESNOCANCEL = 0x00000003
1997
+ MB_YESNO = 0x00000004
1998
+ MB_RETRYCANCEL = 0x00000005
1999
+ MB_CANCELTRYCONTINUE = 0x00000006
2000
+ MB_ICONHAND = 0x00000010
2001
+ MB_ICONQUESTION = 0x00000020
2002
+ MB_ICONEXCLAMATION = 0x00000030
2003
+ MB_ICONASTERISK = 0x00000040
2004
+ MB_USERICON = 0x00000080
2005
+ MB_ICONWARNING = MB_ICONEXCLAMATION
2006
+ MB_ICONERROR = MB_ICONHAND
2007
+ MB_ICONINFORMATION = MB_ICONASTERISK
2008
+ MB_ICONSTOP = MB_ICONHAND
2009
+ MB_DEFBUTTON1 = 0x00000000
2010
+ MB_DEFBUTTON2 = 0x00000100
2011
+ MB_DEFBUTTON3 = 0x00000200
2012
+ MB_DEFBUTTON4 = 0x00000300
2013
+ MB_APPLMODAL = 0x00000000
2014
+ MB_SYSTEMMODAL = 0x00001000
2015
+ MB_TASKMODAL = 0x00002000
2016
+ MB_HELP = 0x00004000
2017
+ MB_NOFOCUS = 0x00008000
2018
+ MB_SETFOREGROUND = 0x00010000
2019
+ MB_DEFAULT_DESKTOP_ONLY = 0x00020000
2020
+ MB_TOPMOST = 0x00040000
2021
+ MB_RIGHT = 0x00080000
2022
+ MB_RTLREADING = 0x00100000
2023
+ MB_SERVICE_NOTIFICATION = 0x00200000
2024
+ )
2025
+
2026
+ const (
2027
+ MOVEFILE_REPLACE_EXISTING = 0x1
2028
+ MOVEFILE_COPY_ALLOWED = 0x2
2029
+ MOVEFILE_DELAY_UNTIL_REBOOT = 0x4
2030
+ MOVEFILE_WRITE_THROUGH = 0x8
2031
+ MOVEFILE_CREATE_HARDLINK = 0x10
2032
+ MOVEFILE_FAIL_IF_NOT_TRACKABLE = 0x20
2033
+ )
2034
+
2035
+ // Flags for GetAdaptersAddresses, see
2036
+ // https://learn.microsoft.com/en-us/windows/win32/api/iphlpapi/nf-iphlpapi-getadaptersaddresses.
2037
+ const (
2038
+ GAA_FLAG_SKIP_UNICAST = 0x1
2039
+ GAA_FLAG_SKIP_ANYCAST = 0x2
2040
+ GAA_FLAG_SKIP_MULTICAST = 0x4
2041
+ GAA_FLAG_SKIP_DNS_SERVER = 0x8
2042
+ GAA_FLAG_INCLUDE_PREFIX = 0x10
2043
+ GAA_FLAG_SKIP_FRIENDLY_NAME = 0x20
2044
+ GAA_FLAG_INCLUDE_WINS_INFO = 0x40
2045
+ GAA_FLAG_INCLUDE_GATEWAYS = 0x80
2046
+ GAA_FLAG_INCLUDE_ALL_INTERFACES = 0x100
2047
+ GAA_FLAG_INCLUDE_ALL_COMPARTMENTS = 0x200
2048
+ GAA_FLAG_INCLUDE_TUNNEL_BINDINGORDER = 0x400
2049
+ )
2050
+
2051
+ const (
2052
+ IF_TYPE_OTHER = 1
2053
+ IF_TYPE_ETHERNET_CSMACD = 6
2054
+ IF_TYPE_ISO88025_TOKENRING = 9
2055
+ IF_TYPE_PPP = 23
2056
+ IF_TYPE_SOFTWARE_LOOPBACK = 24
2057
+ IF_TYPE_ATM = 37
2058
+ IF_TYPE_IEEE80211 = 71
2059
+ IF_TYPE_TUNNEL = 131
2060
+ IF_TYPE_IEEE1394 = 144
2061
+ )
2062
+
2063
+ // Enum NL_PREFIX_ORIGIN for [IpAdapterUnicastAddress], see
2064
+ // https://learn.microsoft.com/en-us/windows/win32/api/nldef/ne-nldef-nl_prefix_origin
2065
+ const (
2066
+ IpPrefixOriginOther = 0
2067
+ IpPrefixOriginManual = 1
2068
+ IpPrefixOriginWellKnown = 2
2069
+ IpPrefixOriginDhcp = 3
2070
+ IpPrefixOriginRouterAdvertisement = 4
2071
+ IpPrefixOriginUnchanged = 1 << 4
2072
+ )
2073
+
2074
+ // Enum NL_SUFFIX_ORIGIN for [IpAdapterUnicastAddress], see
2075
+ // https://learn.microsoft.com/en-us/windows/win32/api/nldef/ne-nldef-nl_suffix_origin
2076
+ const (
2077
+ NlsoOther = 0
2078
+ NlsoManual = 1
2079
+ NlsoWellKnown = 2
2080
+ NlsoDhcp = 3
2081
+ NlsoLinkLayerAddress = 4
2082
+ NlsoRandom = 5
2083
+ IpSuffixOriginOther = 0
2084
+ IpSuffixOriginManual = 1
2085
+ IpSuffixOriginWellKnown = 2
2086
+ IpSuffixOriginDhcp = 3
2087
+ IpSuffixOriginLinkLayerAddress = 4
2088
+ IpSuffixOriginRandom = 5
2089
+ IpSuffixOriginUnchanged = 1 << 4
2090
+ )
2091
+
2092
+ // Enum NL_DAD_STATE for [IpAdapterUnicastAddress], see
2093
+ // https://learn.microsoft.com/en-us/windows/win32/api/nldef/ne-nldef-nl_dad_state
2094
+ const (
2095
+ NldsInvalid = 0
2096
+ NldsTentative = 1
2097
+ NldsDuplicate = 2
2098
+ NldsDeprecated = 3
2099
+ NldsPreferred = 4
2100
+ IpDadStateInvalid = 0
2101
+ IpDadStateTentative = 1
2102
+ IpDadStateDuplicate = 2
2103
+ IpDadStateDeprecated = 3
2104
+ IpDadStatePreferred = 4
2105
+ )
2106
+
2107
+ type SocketAddress struct {
2108
+ Sockaddr *syscall.RawSockaddrAny
2109
+ SockaddrLength int32
2110
+ }
2111
+
2112
+ // IP returns an IPv4 or IPv6 address, or nil if the underlying SocketAddress is neither.
2113
+ func (addr *SocketAddress) IP() net.IP {
2114
+ if uintptr(addr.SockaddrLength) >= unsafe.Sizeof(RawSockaddrInet4{}) && addr.Sockaddr.Addr.Family == AF_INET {
2115
+ return (*RawSockaddrInet4)(unsafe.Pointer(addr.Sockaddr)).Addr[:]
2116
+ } else if uintptr(addr.SockaddrLength) >= unsafe.Sizeof(RawSockaddrInet6{}) && addr.Sockaddr.Addr.Family == AF_INET6 {
2117
+ return (*RawSockaddrInet6)(unsafe.Pointer(addr.Sockaddr)).Addr[:]
2118
+ }
2119
+ return nil
2120
+ }
2121
+
2122
+ type IpAdapterUnicastAddress struct {
2123
+ Length uint32
2124
+ Flags uint32
2125
+ Next *IpAdapterUnicastAddress
2126
+ Address SocketAddress
2127
+ PrefixOrigin int32
2128
+ SuffixOrigin int32
2129
+ DadState int32
2130
+ ValidLifetime uint32
2131
+ PreferredLifetime uint32
2132
+ LeaseLifetime uint32
2133
+ OnLinkPrefixLength uint8
2134
+ }
2135
+
2136
+ type IpAdapterAnycastAddress struct {
2137
+ Length uint32
2138
+ Flags uint32
2139
+ Next *IpAdapterAnycastAddress
2140
+ Address SocketAddress
2141
+ }
2142
+
2143
+ type IpAdapterMulticastAddress struct {
2144
+ Length uint32
2145
+ Flags uint32
2146
+ Next *IpAdapterMulticastAddress
2147
+ Address SocketAddress
2148
+ }
2149
+
2150
+ type IpAdapterDnsServerAdapter struct {
2151
+ Length uint32
2152
+ Reserved uint32
2153
+ Next *IpAdapterDnsServerAdapter
2154
+ Address SocketAddress
2155
+ }
2156
+
2157
+ type IpAdapterPrefix struct {
2158
+ Length uint32
2159
+ Flags uint32
2160
+ Next *IpAdapterPrefix
2161
+ Address SocketAddress
2162
+ PrefixLength uint32
2163
+ }
2164
+
2165
+ type IpAdapterAddresses struct {
2166
+ Length uint32
2167
+ IfIndex uint32
2168
+ Next *IpAdapterAddresses
2169
+ AdapterName *byte
2170
+ FirstUnicastAddress *IpAdapterUnicastAddress
2171
+ FirstAnycastAddress *IpAdapterAnycastAddress
2172
+ FirstMulticastAddress *IpAdapterMulticastAddress
2173
+ FirstDnsServerAddress *IpAdapterDnsServerAdapter
2174
+ DnsSuffix *uint16
2175
+ Description *uint16
2176
+ FriendlyName *uint16
2177
+ PhysicalAddress [syscall.MAX_ADAPTER_ADDRESS_LENGTH]byte
2178
+ PhysicalAddressLength uint32
2179
+ Flags uint32
2180
+ Mtu uint32
2181
+ IfType uint32
2182
+ OperStatus uint32
2183
+ Ipv6IfIndex uint32
2184
+ ZoneIndices [16]uint32
2185
+ FirstPrefix *IpAdapterPrefix
2186
+ TransmitLinkSpeed uint64
2187
+ ReceiveLinkSpeed uint64
2188
+ FirstWinsServerAddress *IpAdapterWinsServerAddress
2189
+ FirstGatewayAddress *IpAdapterGatewayAddress
2190
+ Ipv4Metric uint32
2191
+ Ipv6Metric uint32
2192
+ Luid uint64
2193
+ Dhcpv4Server SocketAddress
2194
+ CompartmentId uint32
2195
+ NetworkGuid GUID
2196
+ ConnectionType uint32
2197
+ TunnelType uint32
2198
+ Dhcpv6Server SocketAddress
2199
+ Dhcpv6ClientDuid [MAX_DHCPV6_DUID_LENGTH]byte
2200
+ Dhcpv6ClientDuidLength uint32
2201
+ Dhcpv6Iaid uint32
2202
+ FirstDnsSuffix *IpAdapterDNSSuffix
2203
+ }
2204
+
2205
+ type IpAdapterWinsServerAddress struct {
2206
+ Length uint32
2207
+ Reserved uint32
2208
+ Next *IpAdapterWinsServerAddress
2209
+ Address SocketAddress
2210
+ }
2211
+
2212
+ type IpAdapterGatewayAddress struct {
2213
+ Length uint32
2214
+ Reserved uint32
2215
+ Next *IpAdapterGatewayAddress
2216
+ Address SocketAddress
2217
+ }
2218
+
2219
+ type IpAdapterDNSSuffix struct {
2220
+ Next *IpAdapterDNSSuffix
2221
+ String [MAX_DNS_SUFFIX_STRING_LENGTH]uint16
2222
+ }
2223
+
2224
+ const (
2225
+ IfOperStatusUp = 1
2226
+ IfOperStatusDown = 2
2227
+ IfOperStatusTesting = 3
2228
+ IfOperStatusUnknown = 4
2229
+ IfOperStatusDormant = 5
2230
+ IfOperStatusNotPresent = 6
2231
+ IfOperStatusLowerLayerDown = 7
2232
+ )
2233
+
2234
+ const (
2235
+ IF_MAX_PHYS_ADDRESS_LENGTH = 32
2236
+ IF_MAX_STRING_SIZE = 256
2237
+ )
2238
+
2239
+ // MIB_IF_ENTRY_LEVEL enumeration from netioapi.h or
2240
+ // https://learn.microsoft.com/en-us/windows/win32/api/netioapi/nf-netioapi-getifentry2ex.
2241
+ const (
2242
+ MibIfEntryNormal = 0
2243
+ MibIfEntryNormalWithoutStatistics = 2
2244
+ )
2245
+
2246
+ // MIB_NOTIFICATION_TYPE enumeration from netioapi.h or
2247
+ // https://learn.microsoft.com/en-us/windows/win32/api/netioapi/ne-netioapi-mib_notification_type.
2248
+ const (
2249
+ MibParameterNotification = 0
2250
+ MibAddInstance = 1
2251
+ MibDeleteInstance = 2
2252
+ MibInitialNotification = 3
2253
+ )
2254
+
2255
+ // MibIfRow2 stores information about a particular interface. See
2256
+ // https://learn.microsoft.com/en-us/windows/win32/api/netioapi/ns-netioapi-mib_if_row2.
2257
+ type MibIfRow2 struct {
2258
+ InterfaceLuid uint64
2259
+ InterfaceIndex uint32
2260
+ InterfaceGuid GUID
2261
+ Alias [IF_MAX_STRING_SIZE + 1]uint16
2262
+ Description [IF_MAX_STRING_SIZE + 1]uint16
2263
+ PhysicalAddressLength uint32
2264
+ PhysicalAddress [IF_MAX_PHYS_ADDRESS_LENGTH]uint8
2265
+ PermanentPhysicalAddress [IF_MAX_PHYS_ADDRESS_LENGTH]uint8
2266
+ Mtu uint32
2267
+ Type uint32
2268
+ TunnelType uint32
2269
+ MediaType uint32
2270
+ PhysicalMediumType uint32
2271
+ AccessType uint32
2272
+ DirectionType uint32
2273
+ InterfaceAndOperStatusFlags uint8
2274
+ OperStatus uint32
2275
+ AdminStatus uint32
2276
+ MediaConnectState uint32
2277
+ NetworkGuid GUID
2278
+ ConnectionType uint32
2279
+ TransmitLinkSpeed uint64
2280
+ ReceiveLinkSpeed uint64
2281
+ InOctets uint64
2282
+ InUcastPkts uint64
2283
+ InNUcastPkts uint64
2284
+ InDiscards uint64
2285
+ InErrors uint64
2286
+ InUnknownProtos uint64
2287
+ InUcastOctets uint64
2288
+ InMulticastOctets uint64
2289
+ InBroadcastOctets uint64
2290
+ OutOctets uint64
2291
+ OutUcastPkts uint64
2292
+ OutNUcastPkts uint64
2293
+ OutDiscards uint64
2294
+ OutErrors uint64
2295
+ OutUcastOctets uint64
2296
+ OutMulticastOctets uint64
2297
+ OutBroadcastOctets uint64
2298
+ OutQLen uint64
2299
+ }
2300
+
2301
+ // MIB_UNICASTIPADDRESS_ROW stores information about a unicast IP address. See
2302
+ // https://learn.microsoft.com/en-us/windows/win32/api/netioapi/ns-netioapi-mib_unicastipaddress_row.
2303
+ type MibUnicastIpAddressRow struct {
2304
+ Address RawSockaddrInet6 // SOCKADDR_INET union
2305
+ InterfaceLuid uint64
2306
+ InterfaceIndex uint32
2307
+ PrefixOrigin uint32
2308
+ SuffixOrigin uint32
2309
+ ValidLifetime uint32
2310
+ PreferredLifetime uint32
2311
+ OnLinkPrefixLength uint8
2312
+ SkipAsSource uint8
2313
+ DadState uint32
2314
+ ScopeId uint32
2315
+ CreationTimeStamp Filetime
2316
+ }
2317
+
2318
+ const ScopeLevelCount = 16
2319
+
2320
+ // MIB_IPINTERFACE_ROW stores interface management information for a particular IP address family on a network interface.
2321
+ // See https://learn.microsoft.com/en-us/windows/win32/api/netioapi/ns-netioapi-mib_ipinterface_row.
2322
+ type MibIpInterfaceRow struct {
2323
+ Family uint16
2324
+ InterfaceLuid uint64
2325
+ InterfaceIndex uint32
2326
+ MaxReassemblySize uint32
2327
+ InterfaceIdentifier uint64
2328
+ MinRouterAdvertisementInterval uint32
2329
+ MaxRouterAdvertisementInterval uint32
2330
+ AdvertisingEnabled uint8
2331
+ ForwardingEnabled uint8
2332
+ WeakHostSend uint8
2333
+ WeakHostReceive uint8
2334
+ UseAutomaticMetric uint8
2335
+ UseNeighborUnreachabilityDetection uint8
2336
+ ManagedAddressConfigurationSupported uint8
2337
+ OtherStatefulConfigurationSupported uint8
2338
+ AdvertiseDefaultRoute uint8
2339
+ RouterDiscoveryBehavior uint32
2340
+ DadTransmits uint32
2341
+ BaseReachableTime uint32
2342
+ RetransmitTime uint32
2343
+ PathMtuDiscoveryTimeout uint32
2344
+ LinkLocalAddressBehavior uint32
2345
+ LinkLocalAddressTimeout uint32
2346
+ ZoneIndices [ScopeLevelCount]uint32
2347
+ SitePrefixLength uint32
2348
+ Metric uint32
2349
+ NlMtu uint32
2350
+ Connected uint8
2351
+ SupportsWakeUpPatterns uint8
2352
+ SupportsNeighborDiscovery uint8
2353
+ SupportsRouterDiscovery uint8
2354
+ ReachableTime uint32
2355
+ TransmitOffload uint32
2356
+ ReceiveOffload uint32
2357
+ DisableDefaultRoutes uint8
2358
+ }
2359
+
2360
+ // Console related constants used for the mode parameter to SetConsoleMode. See
2361
+ // https://docs.microsoft.com/en-us/windows/console/setconsolemode for details.
2362
+
2363
+ const (
2364
+ ENABLE_PROCESSED_INPUT = 0x1
2365
+ ENABLE_LINE_INPUT = 0x2
2366
+ ENABLE_ECHO_INPUT = 0x4
2367
+ ENABLE_WINDOW_INPUT = 0x8
2368
+ ENABLE_MOUSE_INPUT = 0x10
2369
+ ENABLE_INSERT_MODE = 0x20
2370
+ ENABLE_QUICK_EDIT_MODE = 0x40
2371
+ ENABLE_EXTENDED_FLAGS = 0x80
2372
+ ENABLE_AUTO_POSITION = 0x100
2373
+ ENABLE_VIRTUAL_TERMINAL_INPUT = 0x200
2374
+
2375
+ ENABLE_PROCESSED_OUTPUT = 0x1
2376
+ ENABLE_WRAP_AT_EOL_OUTPUT = 0x2
2377
+ ENABLE_VIRTUAL_TERMINAL_PROCESSING = 0x4
2378
+ DISABLE_NEWLINE_AUTO_RETURN = 0x8
2379
+ ENABLE_LVB_GRID_WORLDWIDE = 0x10
2380
+ )
2381
+
2382
+ // Pseudo console related constants used for the flags parameter to
2383
+ // CreatePseudoConsole. See: https://learn.microsoft.com/en-us/windows/console/createpseudoconsole
2384
+ const (
2385
+ PSEUDOCONSOLE_INHERIT_CURSOR = 0x1
2386
+ )
2387
+
2388
+ type Coord struct {
2389
+ X int16
2390
+ Y int16
2391
+ }
2392
+
2393
+ type SmallRect struct {
2394
+ Left int16
2395
+ Top int16
2396
+ Right int16
2397
+ Bottom int16
2398
+ }
2399
+
2400
+ // Used with GetConsoleScreenBuffer to retrieve information about a console
2401
+ // screen buffer. See
2402
+ // https://docs.microsoft.com/en-us/windows/console/console-screen-buffer-info-str
2403
+ // for details.
2404
+
2405
+ type ConsoleScreenBufferInfo struct {
2406
+ Size Coord
2407
+ CursorPosition Coord
2408
+ Attributes uint16
2409
+ Window SmallRect
2410
+ MaximumWindowSize Coord
2411
+ }
2412
+
2413
+ const UNIX_PATH_MAX = 108 // defined in afunix.h
2414
+
2415
+ const (
2416
+ // flags for JOBOBJECT_BASIC_LIMIT_INFORMATION.LimitFlags
2417
+ JOB_OBJECT_LIMIT_ACTIVE_PROCESS = 0x00000008
2418
+ JOB_OBJECT_LIMIT_AFFINITY = 0x00000010
2419
+ JOB_OBJECT_LIMIT_BREAKAWAY_OK = 0x00000800
2420
+ JOB_OBJECT_LIMIT_DIE_ON_UNHANDLED_EXCEPTION = 0x00000400
2421
+ JOB_OBJECT_LIMIT_JOB_MEMORY = 0x00000200
2422
+ JOB_OBJECT_LIMIT_JOB_TIME = 0x00000004
2423
+ JOB_OBJECT_LIMIT_KILL_ON_JOB_CLOSE = 0x00002000
2424
+ JOB_OBJECT_LIMIT_PRESERVE_JOB_TIME = 0x00000040
2425
+ JOB_OBJECT_LIMIT_PRIORITY_CLASS = 0x00000020
2426
+ JOB_OBJECT_LIMIT_PROCESS_MEMORY = 0x00000100
2427
+ JOB_OBJECT_LIMIT_PROCESS_TIME = 0x00000002
2428
+ JOB_OBJECT_LIMIT_SCHEDULING_CLASS = 0x00000080
2429
+ JOB_OBJECT_LIMIT_SILENT_BREAKAWAY_OK = 0x00001000
2430
+ JOB_OBJECT_LIMIT_SUBSET_AFFINITY = 0x00004000
2431
+ JOB_OBJECT_LIMIT_WORKINGSET = 0x00000001
2432
+ )
2433
+
2434
+ type IO_COUNTERS struct {
2435
+ ReadOperationCount uint64
2436
+ WriteOperationCount uint64
2437
+ OtherOperationCount uint64
2438
+ ReadTransferCount uint64
2439
+ WriteTransferCount uint64
2440
+ OtherTransferCount uint64
2441
+ }
2442
+
2443
+ type JOBOBJECT_EXTENDED_LIMIT_INFORMATION struct {
2444
+ BasicLimitInformation JOBOBJECT_BASIC_LIMIT_INFORMATION
2445
+ IoInfo IO_COUNTERS
2446
+ ProcessMemoryLimit uintptr
2447
+ JobMemoryLimit uintptr
2448
+ PeakProcessMemoryUsed uintptr
2449
+ PeakJobMemoryUsed uintptr
2450
+ }
2451
+
2452
+ const (
2453
+ // UIRestrictionsClass
2454
+ JOB_OBJECT_UILIMIT_DESKTOP = 0x00000040
2455
+ JOB_OBJECT_UILIMIT_DISPLAYSETTINGS = 0x00000010
2456
+ JOB_OBJECT_UILIMIT_EXITWINDOWS = 0x00000080
2457
+ JOB_OBJECT_UILIMIT_GLOBALATOMS = 0x00000020
2458
+ JOB_OBJECT_UILIMIT_HANDLES = 0x00000001
2459
+ JOB_OBJECT_UILIMIT_READCLIPBOARD = 0x00000002
2460
+ JOB_OBJECT_UILIMIT_SYSTEMPARAMETERS = 0x00000008
2461
+ JOB_OBJECT_UILIMIT_WRITECLIPBOARD = 0x00000004
2462
+ )
2463
+
2464
+ type JOBOBJECT_BASIC_UI_RESTRICTIONS struct {
2465
+ UIRestrictionsClass uint32
2466
+ }
2467
+
2468
+ const (
2469
+ // JobObjectInformationClass for QueryInformationJobObject and SetInformationJobObject
2470
+ JobObjectAssociateCompletionPortInformation = 7
2471
+ JobObjectBasicAccountingInformation = 1
2472
+ JobObjectBasicAndIoAccountingInformation = 8
2473
+ JobObjectBasicLimitInformation = 2
2474
+ JobObjectBasicProcessIdList = 3
2475
+ JobObjectBasicUIRestrictions = 4
2476
+ JobObjectCpuRateControlInformation = 15
2477
+ JobObjectEndOfJobTimeInformation = 6
2478
+ JobObjectExtendedLimitInformation = 9
2479
+ JobObjectGroupInformation = 11
2480
+ JobObjectGroupInformationEx = 14
2481
+ JobObjectLimitViolationInformation = 13
2482
+ JobObjectLimitViolationInformation2 = 34
2483
+ JobObjectNetRateControlInformation = 32
2484
+ JobObjectNotificationLimitInformation = 12
2485
+ JobObjectNotificationLimitInformation2 = 33
2486
+ JobObjectSecurityLimitInformation = 5
2487
+ )
2488
+
2489
+ const (
2490
+ KF_FLAG_DEFAULT = 0x00000000
2491
+ KF_FLAG_FORCE_APP_DATA_REDIRECTION = 0x00080000
2492
+ KF_FLAG_RETURN_FILTER_REDIRECTION_TARGET = 0x00040000
2493
+ KF_FLAG_FORCE_PACKAGE_REDIRECTION = 0x00020000
2494
+ KF_FLAG_NO_PACKAGE_REDIRECTION = 0x00010000
2495
+ KF_FLAG_FORCE_APPCONTAINER_REDIRECTION = 0x00020000
2496
+ KF_FLAG_NO_APPCONTAINER_REDIRECTION = 0x00010000
2497
+ KF_FLAG_CREATE = 0x00008000
2498
+ KF_FLAG_DONT_VERIFY = 0x00004000
2499
+ KF_FLAG_DONT_UNEXPAND = 0x00002000
2500
+ KF_FLAG_NO_ALIAS = 0x00001000
2501
+ KF_FLAG_INIT = 0x00000800
2502
+ KF_FLAG_DEFAULT_PATH = 0x00000400
2503
+ KF_FLAG_NOT_PARENT_RELATIVE = 0x00000200
2504
+ KF_FLAG_SIMPLE_IDLIST = 0x00000100
2505
+ KF_FLAG_ALIAS_ONLY = 0x80000000
2506
+ )
2507
+
2508
+ type OsVersionInfoEx struct {
2509
+ osVersionInfoSize uint32
2510
+ MajorVersion uint32
2511
+ MinorVersion uint32
2512
+ BuildNumber uint32
2513
+ PlatformId uint32
2514
+ CsdVersion [128]uint16
2515
+ ServicePackMajor uint16
2516
+ ServicePackMinor uint16
2517
+ SuiteMask uint16
2518
+ ProductType byte
2519
+ _ byte
2520
+ }
2521
+
2522
+ const (
2523
+ EWX_LOGOFF = 0x00000000
2524
+ EWX_SHUTDOWN = 0x00000001
2525
+ EWX_REBOOT = 0x00000002
2526
+ EWX_FORCE = 0x00000004
2527
+ EWX_POWEROFF = 0x00000008
2528
+ EWX_FORCEIFHUNG = 0x00000010
2529
+ EWX_QUICKRESOLVE = 0x00000020
2530
+ EWX_RESTARTAPPS = 0x00000040
2531
+ EWX_HYBRID_SHUTDOWN = 0x00400000
2532
+ EWX_BOOTOPTIONS = 0x01000000
2533
+
2534
+ SHTDN_REASON_FLAG_COMMENT_REQUIRED = 0x01000000
2535
+ SHTDN_REASON_FLAG_DIRTY_PROBLEM_ID_REQUIRED = 0x02000000
2536
+ SHTDN_REASON_FLAG_CLEAN_UI = 0x04000000
2537
+ SHTDN_REASON_FLAG_DIRTY_UI = 0x08000000
2538
+ SHTDN_REASON_FLAG_USER_DEFINED = 0x40000000
2539
+ SHTDN_REASON_FLAG_PLANNED = 0x80000000
2540
+ SHTDN_REASON_MAJOR_OTHER = 0x00000000
2541
+ SHTDN_REASON_MAJOR_NONE = 0x00000000
2542
+ SHTDN_REASON_MAJOR_HARDWARE = 0x00010000
2543
+ SHTDN_REASON_MAJOR_OPERATINGSYSTEM = 0x00020000
2544
+ SHTDN_REASON_MAJOR_SOFTWARE = 0x00030000
2545
+ SHTDN_REASON_MAJOR_APPLICATION = 0x00040000
2546
+ SHTDN_REASON_MAJOR_SYSTEM = 0x00050000
2547
+ SHTDN_REASON_MAJOR_POWER = 0x00060000
2548
+ SHTDN_REASON_MAJOR_LEGACY_API = 0x00070000
2549
+ SHTDN_REASON_MINOR_OTHER = 0x00000000
2550
+ SHTDN_REASON_MINOR_NONE = 0x000000ff
2551
+ SHTDN_REASON_MINOR_MAINTENANCE = 0x00000001
2552
+ SHTDN_REASON_MINOR_INSTALLATION = 0x00000002
2553
+ SHTDN_REASON_MINOR_UPGRADE = 0x00000003
2554
+ SHTDN_REASON_MINOR_RECONFIG = 0x00000004
2555
+ SHTDN_REASON_MINOR_HUNG = 0x00000005
2556
+ SHTDN_REASON_MINOR_UNSTABLE = 0x00000006
2557
+ SHTDN_REASON_MINOR_DISK = 0x00000007
2558
+ SHTDN_REASON_MINOR_PROCESSOR = 0x00000008
2559
+ SHTDN_REASON_MINOR_NETWORKCARD = 0x00000009
2560
+ SHTDN_REASON_MINOR_POWER_SUPPLY = 0x0000000a
2561
+ SHTDN_REASON_MINOR_CORDUNPLUGGED = 0x0000000b
2562
+ SHTDN_REASON_MINOR_ENVIRONMENT = 0x0000000c
2563
+ SHTDN_REASON_MINOR_HARDWARE_DRIVER = 0x0000000d
2564
+ SHTDN_REASON_MINOR_OTHERDRIVER = 0x0000000e
2565
+ SHTDN_REASON_MINOR_BLUESCREEN = 0x0000000F
2566
+ SHTDN_REASON_MINOR_SERVICEPACK = 0x00000010
2567
+ SHTDN_REASON_MINOR_HOTFIX = 0x00000011
2568
+ SHTDN_REASON_MINOR_SECURITYFIX = 0x00000012
2569
+ SHTDN_REASON_MINOR_SECURITY = 0x00000013
2570
+ SHTDN_REASON_MINOR_NETWORK_CONNECTIVITY = 0x00000014
2571
+ SHTDN_REASON_MINOR_WMI = 0x00000015
2572
+ SHTDN_REASON_MINOR_SERVICEPACK_UNINSTALL = 0x00000016
2573
+ SHTDN_REASON_MINOR_HOTFIX_UNINSTALL = 0x00000017
2574
+ SHTDN_REASON_MINOR_SECURITYFIX_UNINSTALL = 0x00000018
2575
+ SHTDN_REASON_MINOR_MMC = 0x00000019
2576
+ SHTDN_REASON_MINOR_SYSTEMRESTORE = 0x0000001a
2577
+ SHTDN_REASON_MINOR_TERMSRV = 0x00000020
2578
+ SHTDN_REASON_MINOR_DC_PROMOTION = 0x00000021
2579
+ SHTDN_REASON_MINOR_DC_DEMOTION = 0x00000022
2580
+ SHTDN_REASON_UNKNOWN = SHTDN_REASON_MINOR_NONE
2581
+ SHTDN_REASON_LEGACY_API = SHTDN_REASON_MAJOR_LEGACY_API | SHTDN_REASON_FLAG_PLANNED
2582
+ SHTDN_REASON_VALID_BIT_MASK = 0xc0ffffff
2583
+
2584
+ SHUTDOWN_NORETRY = 0x1
2585
+ )
2586
+
2587
+ // Flags used for GetModuleHandleEx
2588
+ const (
2589
+ GET_MODULE_HANDLE_EX_FLAG_PIN = 1
2590
+ GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT = 2
2591
+ GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS = 4
2592
+ )
2593
+
2594
+ // MUI function flag values
2595
+ const (
2596
+ MUI_LANGUAGE_ID = 0x4
2597
+ MUI_LANGUAGE_NAME = 0x8
2598
+ MUI_MERGE_SYSTEM_FALLBACK = 0x10
2599
+ MUI_MERGE_USER_FALLBACK = 0x20
2600
+ MUI_UI_FALLBACK = MUI_MERGE_SYSTEM_FALLBACK | MUI_MERGE_USER_FALLBACK
2601
+ MUI_THREAD_LANGUAGES = 0x40
2602
+ MUI_CONSOLE_FILTER = 0x100
2603
+ MUI_COMPLEX_SCRIPT_FILTER = 0x200
2604
+ MUI_RESET_FILTERS = 0x001
2605
+ MUI_USER_PREFERRED_UI_LANGUAGES = 0x10
2606
+ MUI_USE_INSTALLED_LANGUAGES = 0x20
2607
+ MUI_USE_SEARCH_ALL_LANGUAGES = 0x40
2608
+ MUI_LANG_NEUTRAL_PE_FILE = 0x100
2609
+ MUI_NON_LANG_NEUTRAL_FILE = 0x200
2610
+ MUI_MACHINE_LANGUAGE_SETTINGS = 0x400
2611
+ MUI_FILETYPE_NOT_LANGUAGE_NEUTRAL = 0x001
2612
+ MUI_FILETYPE_LANGUAGE_NEUTRAL_MAIN = 0x002
2613
+ MUI_FILETYPE_LANGUAGE_NEUTRAL_MUI = 0x004
2614
+ MUI_QUERY_TYPE = 0x001
2615
+ MUI_QUERY_CHECKSUM = 0x002
2616
+ MUI_QUERY_LANGUAGE_NAME = 0x004
2617
+ MUI_QUERY_RESOURCE_TYPES = 0x008
2618
+ MUI_FILEINFO_VERSION = 0x001
2619
+
2620
+ MUI_FULL_LANGUAGE = 0x01
2621
+ MUI_PARTIAL_LANGUAGE = 0x02
2622
+ MUI_LIP_LANGUAGE = 0x04
2623
+ MUI_LANGUAGE_INSTALLED = 0x20
2624
+ MUI_LANGUAGE_LICENSED = 0x40
2625
+ )
2626
+
2627
+ // FILE_INFO_BY_HANDLE_CLASS constants for SetFileInformationByHandle/GetFileInformationByHandleEx
2628
+ const (
2629
+ FileBasicInfo = 0
2630
+ FileStandardInfo = 1
2631
+ FileNameInfo = 2
2632
+ FileRenameInfo = 3
2633
+ FileDispositionInfo = 4
2634
+ FileAllocationInfo = 5
2635
+ FileEndOfFileInfo = 6
2636
+ FileStreamInfo = 7
2637
+ FileCompressionInfo = 8
2638
+ FileAttributeTagInfo = 9
2639
+ FileIdBothDirectoryInfo = 10
2640
+ FileIdBothDirectoryRestartInfo = 11
2641
+ FileIoPriorityHintInfo = 12
2642
+ FileRemoteProtocolInfo = 13
2643
+ FileFullDirectoryInfo = 14
2644
+ FileFullDirectoryRestartInfo = 15
2645
+ FileStorageInfo = 16
2646
+ FileAlignmentInfo = 17
2647
+ FileIdInfo = 18
2648
+ FileIdExtdDirectoryInfo = 19
2649
+ FileIdExtdDirectoryRestartInfo = 20
2650
+ FileDispositionInfoEx = 21
2651
+ FileRenameInfoEx = 22
2652
+ FileCaseSensitiveInfo = 23
2653
+ FileNormalizedNameInfo = 24
2654
+ )
2655
+
2656
+ // LoadLibrary flags for determining from where to search for a DLL
2657
+ const (
2658
+ DONT_RESOLVE_DLL_REFERENCES = 0x1
2659
+ LOAD_LIBRARY_AS_DATAFILE = 0x2
2660
+ LOAD_WITH_ALTERED_SEARCH_PATH = 0x8
2661
+ LOAD_IGNORE_CODE_AUTHZ_LEVEL = 0x10
2662
+ LOAD_LIBRARY_AS_IMAGE_RESOURCE = 0x20
2663
+ LOAD_LIBRARY_AS_DATAFILE_EXCLUSIVE = 0x40
2664
+ LOAD_LIBRARY_REQUIRE_SIGNED_TARGET = 0x80
2665
+ LOAD_LIBRARY_SEARCH_DLL_LOAD_DIR = 0x100
2666
+ LOAD_LIBRARY_SEARCH_APPLICATION_DIR = 0x200
2667
+ LOAD_LIBRARY_SEARCH_USER_DIRS = 0x400
2668
+ LOAD_LIBRARY_SEARCH_SYSTEM32 = 0x800
2669
+ LOAD_LIBRARY_SEARCH_DEFAULT_DIRS = 0x1000
2670
+ LOAD_LIBRARY_SAFE_CURRENT_DIRS = 0x00002000
2671
+ LOAD_LIBRARY_SEARCH_SYSTEM32_NO_FORWARDER = 0x00004000
2672
+ LOAD_LIBRARY_OS_INTEGRITY_CONTINUITY = 0x00008000
2673
+ )
2674
+
2675
+ // RegNotifyChangeKeyValue notifyFilter flags.
2676
+ const (
2677
+ // REG_NOTIFY_CHANGE_NAME notifies the caller if a subkey is added or deleted.
2678
+ REG_NOTIFY_CHANGE_NAME = 0x00000001
2679
+
2680
+ // REG_NOTIFY_CHANGE_ATTRIBUTES notifies the caller of changes to the attributes of the key, such as the security descriptor information.
2681
+ REG_NOTIFY_CHANGE_ATTRIBUTES = 0x00000002
2682
+
2683
+ // REG_NOTIFY_CHANGE_LAST_SET notifies the caller of changes to a value of the key. This can include adding or deleting a value, or changing an existing value.
2684
+ REG_NOTIFY_CHANGE_LAST_SET = 0x00000004
2685
+
2686
+ // REG_NOTIFY_CHANGE_SECURITY notifies the caller of changes to the security descriptor of the key.
2687
+ REG_NOTIFY_CHANGE_SECURITY = 0x00000008
2688
+
2689
+ // REG_NOTIFY_THREAD_AGNOSTIC indicates that the lifetime of the registration must not be tied to the lifetime of the thread issuing the RegNotifyChangeKeyValue call. Note: This flag value is only supported in Windows 8 and later.
2690
+ REG_NOTIFY_THREAD_AGNOSTIC = 0x10000000
2691
+ )
2692
+
2693
+ type CommTimeouts struct {
2694
+ ReadIntervalTimeout uint32
2695
+ ReadTotalTimeoutMultiplier uint32
2696
+ ReadTotalTimeoutConstant uint32
2697
+ WriteTotalTimeoutMultiplier uint32
2698
+ WriteTotalTimeoutConstant uint32
2699
+ }
2700
+
2701
+ // NTUnicodeString is a UTF-16 string for NT native APIs, corresponding to UNICODE_STRING.
2702
+ type NTUnicodeString struct {
2703
+ // Note: Length and MaximumLength are in *bytes*, not uint16s.
2704
+ // They should always be even.
2705
+ Length uint16
2706
+ MaximumLength uint16
2707
+ Buffer *uint16
2708
+ }
2709
+
2710
+ // NTString is an ANSI string for NT native APIs, corresponding to STRING.
2711
+ type NTString struct {
2712
+ Length uint16
2713
+ MaximumLength uint16
2714
+ Buffer *byte
2715
+ }
2716
+
2717
+ type LIST_ENTRY struct {
2718
+ Flink *LIST_ENTRY
2719
+ Blink *LIST_ENTRY
2720
+ }
2721
+
2722
+ type RUNTIME_FUNCTION struct {
2723
+ BeginAddress uint32
2724
+ EndAddress uint32
2725
+ UnwindData uint32
2726
+ }
2727
+
2728
+ type LDR_DATA_TABLE_ENTRY struct {
2729
+ reserved1 [2]uintptr
2730
+ InMemoryOrderLinks LIST_ENTRY
2731
+ reserved2 [2]uintptr
2732
+ DllBase uintptr
2733
+ reserved3 [2]uintptr
2734
+ FullDllName NTUnicodeString
2735
+ reserved4 [8]byte
2736
+ reserved5 [3]uintptr
2737
+ reserved6 uintptr
2738
+ TimeDateStamp uint32
2739
+ }
2740
+
2741
+ type PEB_LDR_DATA struct {
2742
+ reserved1 [8]byte
2743
+ reserved2 [3]uintptr
2744
+ InMemoryOrderModuleList LIST_ENTRY
2745
+ }
2746
+
2747
+ type CURDIR struct {
2748
+ DosPath NTUnicodeString
2749
+ Handle Handle
2750
+ }
2751
+
2752
+ type RTL_DRIVE_LETTER_CURDIR struct {
2753
+ Flags uint16
2754
+ Length uint16
2755
+ TimeStamp uint32
2756
+ DosPath NTString
2757
+ }
2758
+
2759
+ type RTL_USER_PROCESS_PARAMETERS struct {
2760
+ MaximumLength, Length uint32
2761
+
2762
+ Flags, DebugFlags uint32
2763
+
2764
+ ConsoleHandle Handle
2765
+ ConsoleFlags uint32
2766
+ StandardInput, StandardOutput, StandardError Handle
2767
+
2768
+ CurrentDirectory CURDIR
2769
+ DllPath NTUnicodeString
2770
+ ImagePathName NTUnicodeString
2771
+ CommandLine NTUnicodeString
2772
+ Environment unsafe.Pointer
2773
+
2774
+ StartingX, StartingY, CountX, CountY, CountCharsX, CountCharsY, FillAttribute uint32
2775
+
2776
+ WindowFlags, ShowWindowFlags uint32
2777
+ WindowTitle, DesktopInfo, ShellInfo, RuntimeData NTUnicodeString
2778
+ CurrentDirectories [32]RTL_DRIVE_LETTER_CURDIR
2779
+
2780
+ EnvironmentSize, EnvironmentVersion uintptr
2781
+
2782
+ PackageDependencyData unsafe.Pointer
2783
+ ProcessGroupId uint32
2784
+ LoaderThreads uint32
2785
+
2786
+ RedirectionDllName NTUnicodeString
2787
+ HeapPartitionName NTUnicodeString
2788
+ DefaultThreadpoolCpuSetMasks uintptr
2789
+ DefaultThreadpoolCpuSetMaskCount uint32
2790
+ }
2791
+
2792
+ type PEB struct {
2793
+ reserved1 [2]byte
2794
+ BeingDebugged byte
2795
+ BitField byte
2796
+ reserved3 uintptr
2797
+ ImageBaseAddress uintptr
2798
+ Ldr *PEB_LDR_DATA
2799
+ ProcessParameters *RTL_USER_PROCESS_PARAMETERS
2800
+ reserved4 [3]uintptr
2801
+ AtlThunkSListPtr uintptr
2802
+ reserved5 uintptr
2803
+ reserved6 uint32
2804
+ reserved7 uintptr
2805
+ reserved8 uint32
2806
+ AtlThunkSListPtr32 uint32
2807
+ reserved9 [45]uintptr
2808
+ reserved10 [96]byte
2809
+ PostProcessInitRoutine uintptr
2810
+ reserved11 [128]byte
2811
+ reserved12 [1]uintptr
2812
+ SessionId uint32
2813
+ }
2814
+
2815
+ type OBJECT_ATTRIBUTES struct {
2816
+ Length uint32
2817
+ RootDirectory Handle
2818
+ ObjectName *NTUnicodeString
2819
+ Attributes uint32
2820
+ SecurityDescriptor *SECURITY_DESCRIPTOR
2821
+ SecurityQoS *SECURITY_QUALITY_OF_SERVICE
2822
+ }
2823
+
2824
+ // Values for the Attributes member of OBJECT_ATTRIBUTES.
2825
+ const (
2826
+ OBJ_INHERIT = 0x00000002
2827
+ OBJ_PERMANENT = 0x00000010
2828
+ OBJ_EXCLUSIVE = 0x00000020
2829
+ OBJ_CASE_INSENSITIVE = 0x00000040
2830
+ OBJ_OPENIF = 0x00000080
2831
+ OBJ_OPENLINK = 0x00000100
2832
+ OBJ_KERNEL_HANDLE = 0x00000200
2833
+ OBJ_FORCE_ACCESS_CHECK = 0x00000400
2834
+ OBJ_IGNORE_IMPERSONATED_DEVICEMAP = 0x00000800
2835
+ OBJ_DONT_REPARSE = 0x00001000
2836
+ OBJ_VALID_ATTRIBUTES = 0x00001FF2
2837
+ )
2838
+
2839
+ type IO_STATUS_BLOCK struct {
2840
+ Status NTStatus
2841
+ Information uintptr
2842
+ }
2843
+
2844
+ type RTLP_CURDIR_REF struct {
2845
+ RefCount int32
2846
+ Handle Handle
2847
+ }
2848
+
2849
+ type RTL_RELATIVE_NAME struct {
2850
+ RelativeName NTUnicodeString
2851
+ ContainingDirectory Handle
2852
+ CurDirRef *RTLP_CURDIR_REF
2853
+ }
2854
+
2855
+ const (
2856
+ // CreateDisposition flags for NtCreateFile and NtCreateNamedPipeFile.
2857
+ FILE_SUPERSEDE = 0x00000000
2858
+ FILE_OPEN = 0x00000001
2859
+ FILE_CREATE = 0x00000002
2860
+ FILE_OPEN_IF = 0x00000003
2861
+ FILE_OVERWRITE = 0x00000004
2862
+ FILE_OVERWRITE_IF = 0x00000005
2863
+ FILE_MAXIMUM_DISPOSITION = 0x00000005
2864
+
2865
+ // CreateOptions flags for NtCreateFile and NtCreateNamedPipeFile.
2866
+ FILE_DIRECTORY_FILE = 0x00000001
2867
+ FILE_WRITE_THROUGH = 0x00000002
2868
+ FILE_SEQUENTIAL_ONLY = 0x00000004
2869
+ FILE_NO_INTERMEDIATE_BUFFERING = 0x00000008
2870
+ FILE_SYNCHRONOUS_IO_ALERT = 0x00000010
2871
+ FILE_SYNCHRONOUS_IO_NONALERT = 0x00000020
2872
+ FILE_NON_DIRECTORY_FILE = 0x00000040
2873
+ FILE_CREATE_TREE_CONNECTION = 0x00000080
2874
+ FILE_COMPLETE_IF_OPLOCKED = 0x00000100
2875
+ FILE_NO_EA_KNOWLEDGE = 0x00000200
2876
+ FILE_OPEN_REMOTE_INSTANCE = 0x00000400
2877
+ FILE_RANDOM_ACCESS = 0x00000800
2878
+ FILE_DELETE_ON_CLOSE = 0x00001000
2879
+ FILE_OPEN_BY_FILE_ID = 0x00002000
2880
+ FILE_OPEN_FOR_BACKUP_INTENT = 0x00004000
2881
+ FILE_NO_COMPRESSION = 0x00008000
2882
+ FILE_OPEN_REQUIRING_OPLOCK = 0x00010000
2883
+ FILE_DISALLOW_EXCLUSIVE = 0x00020000
2884
+ FILE_RESERVE_OPFILTER = 0x00100000
2885
+ FILE_OPEN_REPARSE_POINT = 0x00200000
2886
+ FILE_OPEN_NO_RECALL = 0x00400000
2887
+ FILE_OPEN_FOR_FREE_SPACE_QUERY = 0x00800000
2888
+
2889
+ // Parameter constants for NtCreateNamedPipeFile.
2890
+
2891
+ FILE_PIPE_BYTE_STREAM_TYPE = 0x00000000
2892
+ FILE_PIPE_MESSAGE_TYPE = 0x00000001
2893
+
2894
+ FILE_PIPE_ACCEPT_REMOTE_CLIENTS = 0x00000000
2895
+ FILE_PIPE_REJECT_REMOTE_CLIENTS = 0x00000002
2896
+
2897
+ FILE_PIPE_TYPE_VALID_MASK = 0x00000003
2898
+
2899
+ FILE_PIPE_BYTE_STREAM_MODE = 0x00000000
2900
+ FILE_PIPE_MESSAGE_MODE = 0x00000001
2901
+
2902
+ FILE_PIPE_QUEUE_OPERATION = 0x00000000
2903
+ FILE_PIPE_COMPLETE_OPERATION = 0x00000001
2904
+
2905
+ FILE_PIPE_INBOUND = 0x00000000
2906
+ FILE_PIPE_OUTBOUND = 0x00000001
2907
+ FILE_PIPE_FULL_DUPLEX = 0x00000002
2908
+
2909
+ FILE_PIPE_DISCONNECTED_STATE = 0x00000001
2910
+ FILE_PIPE_LISTENING_STATE = 0x00000002
2911
+ FILE_PIPE_CONNECTED_STATE = 0x00000003
2912
+ FILE_PIPE_CLOSING_STATE = 0x00000004
2913
+
2914
+ FILE_PIPE_CLIENT_END = 0x00000000
2915
+ FILE_PIPE_SERVER_END = 0x00000001
2916
+ )
2917
+
2918
+ const (
2919
+ // FileInformationClass for NtSetInformationFile
2920
+ FileBasicInformation = 4
2921
+ FileRenameInformation = 10
2922
+ FileDispositionInformation = 13
2923
+ FilePositionInformation = 14
2924
+ FileEndOfFileInformation = 20
2925
+ FileValidDataLengthInformation = 39
2926
+ FileShortNameInformation = 40
2927
+ FileIoPriorityHintInformation = 43
2928
+ FileReplaceCompletionInformation = 61
2929
+ FileDispositionInformationEx = 64
2930
+ FileCaseSensitiveInformation = 71
2931
+ FileLinkInformation = 72
2932
+ FileCaseSensitiveInformationForceAccessCheck = 75
2933
+ FileKnownFolderInformation = 76
2934
+
2935
+ // Flags for FILE_RENAME_INFORMATION
2936
+ FILE_RENAME_REPLACE_IF_EXISTS = 0x00000001
2937
+ FILE_RENAME_POSIX_SEMANTICS = 0x00000002
2938
+ FILE_RENAME_SUPPRESS_PIN_STATE_INHERITANCE = 0x00000004
2939
+ FILE_RENAME_SUPPRESS_STORAGE_RESERVE_INHERITANCE = 0x00000008
2940
+ FILE_RENAME_NO_INCREASE_AVAILABLE_SPACE = 0x00000010
2941
+ FILE_RENAME_NO_DECREASE_AVAILABLE_SPACE = 0x00000020
2942
+ FILE_RENAME_PRESERVE_AVAILABLE_SPACE = 0x00000030
2943
+ FILE_RENAME_IGNORE_READONLY_ATTRIBUTE = 0x00000040
2944
+ FILE_RENAME_FORCE_RESIZE_TARGET_SR = 0x00000080
2945
+ FILE_RENAME_FORCE_RESIZE_SOURCE_SR = 0x00000100
2946
+ FILE_RENAME_FORCE_RESIZE_SR = 0x00000180
2947
+
2948
+ // Flags for FILE_DISPOSITION_INFORMATION_EX
2949
+ FILE_DISPOSITION_DO_NOT_DELETE = 0x00000000
2950
+ FILE_DISPOSITION_DELETE = 0x00000001
2951
+ FILE_DISPOSITION_POSIX_SEMANTICS = 0x00000002
2952
+ FILE_DISPOSITION_FORCE_IMAGE_SECTION_CHECK = 0x00000004
2953
+ FILE_DISPOSITION_ON_CLOSE = 0x00000008
2954
+ FILE_DISPOSITION_IGNORE_READONLY_ATTRIBUTE = 0x00000010
2955
+
2956
+ // Flags for FILE_CASE_SENSITIVE_INFORMATION
2957
+ FILE_CS_FLAG_CASE_SENSITIVE_DIR = 0x00000001
2958
+
2959
+ // Flags for FILE_LINK_INFORMATION
2960
+ FILE_LINK_REPLACE_IF_EXISTS = 0x00000001
2961
+ FILE_LINK_POSIX_SEMANTICS = 0x00000002
2962
+ FILE_LINK_SUPPRESS_STORAGE_RESERVE_INHERITANCE = 0x00000008
2963
+ FILE_LINK_NO_INCREASE_AVAILABLE_SPACE = 0x00000010
2964
+ FILE_LINK_NO_DECREASE_AVAILABLE_SPACE = 0x00000020
2965
+ FILE_LINK_PRESERVE_AVAILABLE_SPACE = 0x00000030
2966
+ FILE_LINK_IGNORE_READONLY_ATTRIBUTE = 0x00000040
2967
+ FILE_LINK_FORCE_RESIZE_TARGET_SR = 0x00000080
2968
+ FILE_LINK_FORCE_RESIZE_SOURCE_SR = 0x00000100
2969
+ FILE_LINK_FORCE_RESIZE_SR = 0x00000180
2970
+ )
2971
+
2972
+ // ProcessInformationClasses for NtQueryInformationProcess and NtSetInformationProcess.
2973
+ const (
2974
+ ProcessBasicInformation = iota
2975
+ ProcessQuotaLimits
2976
+ ProcessIoCounters
2977
+ ProcessVmCounters
2978
+ ProcessTimes
2979
+ ProcessBasePriority
2980
+ ProcessRaisePriority
2981
+ ProcessDebugPort
2982
+ ProcessExceptionPort
2983
+ ProcessAccessToken
2984
+ ProcessLdtInformation
2985
+ ProcessLdtSize
2986
+ ProcessDefaultHardErrorMode
2987
+ ProcessIoPortHandlers
2988
+ ProcessPooledUsageAndLimits
2989
+ ProcessWorkingSetWatch
2990
+ ProcessUserModeIOPL
2991
+ ProcessEnableAlignmentFaultFixup
2992
+ ProcessPriorityClass
2993
+ ProcessWx86Information
2994
+ ProcessHandleCount
2995
+ ProcessAffinityMask
2996
+ ProcessPriorityBoost
2997
+ ProcessDeviceMap
2998
+ ProcessSessionInformation
2999
+ ProcessForegroundInformation
3000
+ ProcessWow64Information
3001
+ ProcessImageFileName
3002
+ ProcessLUIDDeviceMapsEnabled
3003
+ ProcessBreakOnTermination
3004
+ ProcessDebugObjectHandle
3005
+ ProcessDebugFlags
3006
+ ProcessHandleTracing
3007
+ ProcessIoPriority
3008
+ ProcessExecuteFlags
3009
+ ProcessTlsInformation
3010
+ ProcessCookie
3011
+ ProcessImageInformation
3012
+ ProcessCycleTime
3013
+ ProcessPagePriority
3014
+ ProcessInstrumentationCallback
3015
+ ProcessThreadStackAllocation
3016
+ ProcessWorkingSetWatchEx
3017
+ ProcessImageFileNameWin32
3018
+ ProcessImageFileMapping
3019
+ ProcessAffinityUpdateMode
3020
+ ProcessMemoryAllocationMode
3021
+ ProcessGroupInformation
3022
+ ProcessTokenVirtualizationEnabled
3023
+ ProcessConsoleHostProcess
3024
+ ProcessWindowInformation
3025
+ ProcessHandleInformation
3026
+ ProcessMitigationPolicy
3027
+ ProcessDynamicFunctionTableInformation
3028
+ ProcessHandleCheckingMode
3029
+ ProcessKeepAliveCount
3030
+ ProcessRevokeFileHandles
3031
+ ProcessWorkingSetControl
3032
+ ProcessHandleTable
3033
+ ProcessCheckStackExtentsMode
3034
+ ProcessCommandLineInformation
3035
+ ProcessProtectionInformation
3036
+ ProcessMemoryExhaustion
3037
+ ProcessFaultInformation
3038
+ ProcessTelemetryIdInformation
3039
+ ProcessCommitReleaseInformation
3040
+ ProcessDefaultCpuSetsInformation
3041
+ ProcessAllowedCpuSetsInformation
3042
+ ProcessSubsystemProcess
3043
+ ProcessJobMemoryInformation
3044
+ ProcessInPrivate
3045
+ ProcessRaiseUMExceptionOnInvalidHandleClose
3046
+ ProcessIumChallengeResponse
3047
+ ProcessChildProcessInformation
3048
+ ProcessHighGraphicsPriorityInformation
3049
+ ProcessSubsystemInformation
3050
+ ProcessEnergyValues
3051
+ ProcessActivityThrottleState
3052
+ ProcessActivityThrottlePolicy
3053
+ ProcessWin32kSyscallFilterInformation
3054
+ ProcessDisableSystemAllowedCpuSets
3055
+ ProcessWakeInformation
3056
+ ProcessEnergyTrackingState
3057
+ ProcessManageWritesToExecutableMemory
3058
+ ProcessCaptureTrustletLiveDump
3059
+ ProcessTelemetryCoverage
3060
+ ProcessEnclaveInformation
3061
+ ProcessEnableReadWriteVmLogging
3062
+ ProcessUptimeInformation
3063
+ ProcessImageSection
3064
+ ProcessDebugAuthInformation
3065
+ ProcessSystemResourceManagement
3066
+ ProcessSequenceNumber
3067
+ ProcessLoaderDetour
3068
+ ProcessSecurityDomainInformation
3069
+ ProcessCombineSecurityDomainsInformation
3070
+ ProcessEnableLogging
3071
+ ProcessLeapSecondInformation
3072
+ ProcessFiberShadowStackAllocation
3073
+ ProcessFreeFiberShadowStackAllocation
3074
+ ProcessAltSystemCallInformation
3075
+ ProcessDynamicEHContinuationTargets
3076
+ ProcessDynamicEnforcedCetCompatibleRanges
3077
+ )
3078
+
3079
+ type PROCESS_BASIC_INFORMATION struct {
3080
+ ExitStatus NTStatus
3081
+ PebBaseAddress *PEB
3082
+ AffinityMask uintptr
3083
+ BasePriority int32
3084
+ UniqueProcessId uintptr
3085
+ InheritedFromUniqueProcessId uintptr
3086
+ }
3087
+
3088
+ type SYSTEM_PROCESS_INFORMATION struct {
3089
+ NextEntryOffset uint32
3090
+ NumberOfThreads uint32
3091
+ WorkingSetPrivateSize int64
3092
+ HardFaultCount uint32
3093
+ NumberOfThreadsHighWatermark uint32
3094
+ CycleTime uint64
3095
+ CreateTime int64
3096
+ UserTime int64
3097
+ KernelTime int64
3098
+ ImageName NTUnicodeString
3099
+ BasePriority int32
3100
+ UniqueProcessID uintptr
3101
+ InheritedFromUniqueProcessID uintptr
3102
+ HandleCount uint32
3103
+ SessionID uint32
3104
+ UniqueProcessKey *uint32
3105
+ PeakVirtualSize uintptr
3106
+ VirtualSize uintptr
3107
+ PageFaultCount uint32
3108
+ PeakWorkingSetSize uintptr
3109
+ WorkingSetSize uintptr
3110
+ QuotaPeakPagedPoolUsage uintptr
3111
+ QuotaPagedPoolUsage uintptr
3112
+ QuotaPeakNonPagedPoolUsage uintptr
3113
+ QuotaNonPagedPoolUsage uintptr
3114
+ PagefileUsage uintptr
3115
+ PeakPagefileUsage uintptr
3116
+ PrivatePageCount uintptr
3117
+ ReadOperationCount int64
3118
+ WriteOperationCount int64
3119
+ OtherOperationCount int64
3120
+ ReadTransferCount int64
3121
+ WriteTransferCount int64
3122
+ OtherTransferCount int64
3123
+ }
3124
+
3125
+ // SystemInformationClasses for NtQuerySystemInformation and NtSetSystemInformation
3126
+ const (
3127
+ SystemBasicInformation = iota
3128
+ SystemProcessorInformation
3129
+ SystemPerformanceInformation
3130
+ SystemTimeOfDayInformation
3131
+ SystemPathInformation
3132
+ SystemProcessInformation
3133
+ SystemCallCountInformation
3134
+ SystemDeviceInformation
3135
+ SystemProcessorPerformanceInformation
3136
+ SystemFlagsInformation
3137
+ SystemCallTimeInformation
3138
+ SystemModuleInformation
3139
+ SystemLocksInformation
3140
+ SystemStackTraceInformation
3141
+ SystemPagedPoolInformation
3142
+ SystemNonPagedPoolInformation
3143
+ SystemHandleInformation
3144
+ SystemObjectInformation
3145
+ SystemPageFileInformation
3146
+ SystemVdmInstemulInformation
3147
+ SystemVdmBopInformation
3148
+ SystemFileCacheInformation
3149
+ SystemPoolTagInformation
3150
+ SystemInterruptInformation
3151
+ SystemDpcBehaviorInformation
3152
+ SystemFullMemoryInformation
3153
+ SystemLoadGdiDriverInformation
3154
+ SystemUnloadGdiDriverInformation
3155
+ SystemTimeAdjustmentInformation
3156
+ SystemSummaryMemoryInformation
3157
+ SystemMirrorMemoryInformation
3158
+ SystemPerformanceTraceInformation
3159
+ systemObsolete0
3160
+ SystemExceptionInformation
3161
+ SystemCrashDumpStateInformation
3162
+ SystemKernelDebuggerInformation
3163
+ SystemContextSwitchInformation
3164
+ SystemRegistryQuotaInformation
3165
+ SystemExtendServiceTableInformation
3166
+ SystemPrioritySeperation
3167
+ SystemVerifierAddDriverInformation
3168
+ SystemVerifierRemoveDriverInformation
3169
+ SystemProcessorIdleInformation
3170
+ SystemLegacyDriverInformation
3171
+ SystemCurrentTimeZoneInformation
3172
+ SystemLookasideInformation
3173
+ SystemTimeSlipNotification
3174
+ SystemSessionCreate
3175
+ SystemSessionDetach
3176
+ SystemSessionInformation
3177
+ SystemRangeStartInformation
3178
+ SystemVerifierInformation
3179
+ SystemVerifierThunkExtend
3180
+ SystemSessionProcessInformation
3181
+ SystemLoadGdiDriverInSystemSpace
3182
+ SystemNumaProcessorMap
3183
+ SystemPrefetcherInformation
3184
+ SystemExtendedProcessInformation
3185
+ SystemRecommendedSharedDataAlignment
3186
+ SystemComPlusPackage
3187
+ SystemNumaAvailableMemory
3188
+ SystemProcessorPowerInformation
3189
+ SystemEmulationBasicInformation
3190
+ SystemEmulationProcessorInformation
3191
+ SystemExtendedHandleInformation
3192
+ SystemLostDelayedWriteInformation
3193
+ SystemBigPoolInformation
3194
+ SystemSessionPoolTagInformation
3195
+ SystemSessionMappedViewInformation
3196
+ SystemHotpatchInformation
3197
+ SystemObjectSecurityMode
3198
+ SystemWatchdogTimerHandler
3199
+ SystemWatchdogTimerInformation
3200
+ SystemLogicalProcessorInformation
3201
+ SystemWow64SharedInformationObsolete
3202
+ SystemRegisterFirmwareTableInformationHandler
3203
+ SystemFirmwareTableInformation
3204
+ SystemModuleInformationEx
3205
+ SystemVerifierTriageInformation
3206
+ SystemSuperfetchInformation
3207
+ SystemMemoryListInformation
3208
+ SystemFileCacheInformationEx
3209
+ SystemThreadPriorityClientIdInformation
3210
+ SystemProcessorIdleCycleTimeInformation
3211
+ SystemVerifierCancellationInformation
3212
+ SystemProcessorPowerInformationEx
3213
+ SystemRefTraceInformation
3214
+ SystemSpecialPoolInformation
3215
+ SystemProcessIdInformation
3216
+ SystemErrorPortInformation
3217
+ SystemBootEnvironmentInformation
3218
+ SystemHypervisorInformation
3219
+ SystemVerifierInformationEx
3220
+ SystemTimeZoneInformation
3221
+ SystemImageFileExecutionOptionsInformation
3222
+ SystemCoverageInformation
3223
+ SystemPrefetchPatchInformation
3224
+ SystemVerifierFaultsInformation
3225
+ SystemSystemPartitionInformation
3226
+ SystemSystemDiskInformation
3227
+ SystemProcessorPerformanceDistribution
3228
+ SystemNumaProximityNodeInformation
3229
+ SystemDynamicTimeZoneInformation
3230
+ SystemCodeIntegrityInformation
3231
+ SystemProcessorMicrocodeUpdateInformation
3232
+ SystemProcessorBrandString
3233
+ SystemVirtualAddressInformation
3234
+ SystemLogicalProcessorAndGroupInformation
3235
+ SystemProcessorCycleTimeInformation
3236
+ SystemStoreInformation
3237
+ SystemRegistryAppendString
3238
+ SystemAitSamplingValue
3239
+ SystemVhdBootInformation
3240
+ SystemCpuQuotaInformation
3241
+ SystemNativeBasicInformation
3242
+ systemSpare1
3243
+ SystemLowPriorityIoInformation
3244
+ SystemTpmBootEntropyInformation
3245
+ SystemVerifierCountersInformation
3246
+ SystemPagedPoolInformationEx
3247
+ SystemSystemPtesInformationEx
3248
+ SystemNodeDistanceInformation
3249
+ SystemAcpiAuditInformation
3250
+ SystemBasicPerformanceInformation
3251
+ SystemQueryPerformanceCounterInformation
3252
+ SystemSessionBigPoolInformation
3253
+ SystemBootGraphicsInformation
3254
+ SystemScrubPhysicalMemoryInformation
3255
+ SystemBadPageInformation
3256
+ SystemProcessorProfileControlArea
3257
+ SystemCombinePhysicalMemoryInformation
3258
+ SystemEntropyInterruptTimingCallback
3259
+ SystemConsoleInformation
3260
+ SystemPlatformBinaryInformation
3261
+ SystemThrottleNotificationInformation
3262
+ SystemHypervisorProcessorCountInformation
3263
+ SystemDeviceDataInformation
3264
+ SystemDeviceDataEnumerationInformation
3265
+ SystemMemoryTopologyInformation
3266
+ SystemMemoryChannelInformation
3267
+ SystemBootLogoInformation
3268
+ SystemProcessorPerformanceInformationEx
3269
+ systemSpare0
3270
+ SystemSecureBootPolicyInformation
3271
+ SystemPageFileInformationEx
3272
+ SystemSecureBootInformation
3273
+ SystemEntropyInterruptTimingRawInformation
3274
+ SystemPortableWorkspaceEfiLauncherInformation
3275
+ SystemFullProcessInformation
3276
+ SystemKernelDebuggerInformationEx
3277
+ SystemBootMetadataInformation
3278
+ SystemSoftRebootInformation
3279
+ SystemElamCertificateInformation
3280
+ SystemOfflineDumpConfigInformation
3281
+ SystemProcessorFeaturesInformation
3282
+ SystemRegistryReconciliationInformation
3283
+ SystemEdidInformation
3284
+ SystemManufacturingInformation
3285
+ SystemEnergyEstimationConfigInformation
3286
+ SystemHypervisorDetailInformation
3287
+ SystemProcessorCycleStatsInformation
3288
+ SystemVmGenerationCountInformation
3289
+ SystemTrustedPlatformModuleInformation
3290
+ SystemKernelDebuggerFlags
3291
+ SystemCodeIntegrityPolicyInformation
3292
+ SystemIsolatedUserModeInformation
3293
+ SystemHardwareSecurityTestInterfaceResultsInformation
3294
+ SystemSingleModuleInformation
3295
+ SystemAllowedCpuSetsInformation
3296
+ SystemDmaProtectionInformation
3297
+ SystemInterruptCpuSetsInformation
3298
+ SystemSecureBootPolicyFullInformation
3299
+ SystemCodeIntegrityPolicyFullInformation
3300
+ SystemAffinitizedInterruptProcessorInformation
3301
+ SystemRootSiloInformation
3302
+ )
3303
+
3304
+ type RTL_PROCESS_MODULE_INFORMATION struct {
3305
+ Section Handle
3306
+ MappedBase uintptr
3307
+ ImageBase uintptr
3308
+ ImageSize uint32
3309
+ Flags uint32
3310
+ LoadOrderIndex uint16
3311
+ InitOrderIndex uint16
3312
+ LoadCount uint16
3313
+ OffsetToFileName uint16
3314
+ FullPathName [256]byte
3315
+ }
3316
+
3317
+ type RTL_PROCESS_MODULES struct {
3318
+ NumberOfModules uint32
3319
+ Modules [1]RTL_PROCESS_MODULE_INFORMATION
3320
+ }
3321
+
3322
+ // Constants for LocalAlloc flags.
3323
+ const (
3324
+ LMEM_FIXED = 0x0
3325
+ LMEM_MOVEABLE = 0x2
3326
+ LMEM_NOCOMPACT = 0x10
3327
+ LMEM_NODISCARD = 0x20
3328
+ LMEM_ZEROINIT = 0x40
3329
+ LMEM_MODIFY = 0x80
3330
+ LMEM_DISCARDABLE = 0xf00
3331
+ LMEM_VALID_FLAGS = 0xf72
3332
+ LMEM_INVALID_HANDLE = 0x8000
3333
+ LHND = LMEM_MOVEABLE | LMEM_ZEROINIT
3334
+ LPTR = LMEM_FIXED | LMEM_ZEROINIT
3335
+ NONZEROLHND = LMEM_MOVEABLE
3336
+ NONZEROLPTR = LMEM_FIXED
3337
+ )
3338
+
3339
+ // Constants for the CreateNamedPipe-family of functions.
3340
+ const (
3341
+ PIPE_ACCESS_INBOUND = 0x1
3342
+ PIPE_ACCESS_OUTBOUND = 0x2
3343
+ PIPE_ACCESS_DUPLEX = 0x3
3344
+
3345
+ PIPE_CLIENT_END = 0x0
3346
+ PIPE_SERVER_END = 0x1
3347
+
3348
+ PIPE_WAIT = 0x0
3349
+ PIPE_NOWAIT = 0x1
3350
+ PIPE_READMODE_BYTE = 0x0
3351
+ PIPE_READMODE_MESSAGE = 0x2
3352
+ PIPE_TYPE_BYTE = 0x0
3353
+ PIPE_TYPE_MESSAGE = 0x4
3354
+ PIPE_ACCEPT_REMOTE_CLIENTS = 0x0
3355
+ PIPE_REJECT_REMOTE_CLIENTS = 0x8
3356
+
3357
+ PIPE_UNLIMITED_INSTANCES = 255
3358
+ )
3359
+
3360
+ // Constants for security attributes when opening named pipes.
3361
+ const (
3362
+ SECURITY_ANONYMOUS = SecurityAnonymous << 16
3363
+ SECURITY_IDENTIFICATION = SecurityIdentification << 16
3364
+ SECURITY_IMPERSONATION = SecurityImpersonation << 16
3365
+ SECURITY_DELEGATION = SecurityDelegation << 16
3366
+
3367
+ SECURITY_CONTEXT_TRACKING = 0x40000
3368
+ SECURITY_EFFECTIVE_ONLY = 0x80000
3369
+
3370
+ SECURITY_SQOS_PRESENT = 0x100000
3371
+ SECURITY_VALID_SQOS_FLAGS = 0x1f0000
3372
+ )
3373
+
3374
+ // ResourceID represents a 16-bit resource identifier, traditionally created with the MAKEINTRESOURCE macro.
3375
+ type ResourceID uint16
3376
+
3377
+ // ResourceIDOrString must be either a ResourceID, to specify a resource or resource type by ID,
3378
+ // or a string, to specify a resource or resource type by name.
3379
+ type ResourceIDOrString interface{}
3380
+
3381
+ // Predefined resource names and types.
3382
+ var (
3383
+ // Predefined names.
3384
+ CREATEPROCESS_MANIFEST_RESOURCE_ID ResourceID = 1
3385
+ ISOLATIONAWARE_MANIFEST_RESOURCE_ID ResourceID = 2
3386
+ ISOLATIONAWARE_NOSTATICIMPORT_MANIFEST_RESOURCE_ID ResourceID = 3
3387
+ ISOLATIONPOLICY_MANIFEST_RESOURCE_ID ResourceID = 4
3388
+ ISOLATIONPOLICY_BROWSER_MANIFEST_RESOURCE_ID ResourceID = 5
3389
+ MINIMUM_RESERVED_MANIFEST_RESOURCE_ID ResourceID = 1 // inclusive
3390
+ MAXIMUM_RESERVED_MANIFEST_RESOURCE_ID ResourceID = 16 // inclusive
3391
+
3392
+ // Predefined types.
3393
+ RT_CURSOR ResourceID = 1
3394
+ RT_BITMAP ResourceID = 2
3395
+ RT_ICON ResourceID = 3
3396
+ RT_MENU ResourceID = 4
3397
+ RT_DIALOG ResourceID = 5
3398
+ RT_STRING ResourceID = 6
3399
+ RT_FONTDIR ResourceID = 7
3400
+ RT_FONT ResourceID = 8
3401
+ RT_ACCELERATOR ResourceID = 9
3402
+ RT_RCDATA ResourceID = 10
3403
+ RT_MESSAGETABLE ResourceID = 11
3404
+ RT_GROUP_CURSOR ResourceID = 12
3405
+ RT_GROUP_ICON ResourceID = 14
3406
+ RT_VERSION ResourceID = 16
3407
+ RT_DLGINCLUDE ResourceID = 17
3408
+ RT_PLUGPLAY ResourceID = 19
3409
+ RT_VXD ResourceID = 20
3410
+ RT_ANICURSOR ResourceID = 21
3411
+ RT_ANIICON ResourceID = 22
3412
+ RT_HTML ResourceID = 23
3413
+ RT_MANIFEST ResourceID = 24
3414
+ )
3415
+
3416
+ type VS_FIXEDFILEINFO struct {
3417
+ Signature uint32
3418
+ StrucVersion uint32
3419
+ FileVersionMS uint32
3420
+ FileVersionLS uint32
3421
+ ProductVersionMS uint32
3422
+ ProductVersionLS uint32
3423
+ FileFlagsMask uint32
3424
+ FileFlags uint32
3425
+ FileOS uint32
3426
+ FileType uint32
3427
+ FileSubtype uint32
3428
+ FileDateMS uint32
3429
+ FileDateLS uint32
3430
+ }
3431
+
3432
+ type COAUTHIDENTITY struct {
3433
+ User *uint16
3434
+ UserLength uint32
3435
+ Domain *uint16
3436
+ DomainLength uint32
3437
+ Password *uint16
3438
+ PasswordLength uint32
3439
+ Flags uint32
3440
+ }
3441
+
3442
+ type COAUTHINFO struct {
3443
+ AuthnSvc uint32
3444
+ AuthzSvc uint32
3445
+ ServerPrincName *uint16
3446
+ AuthnLevel uint32
3447
+ ImpersonationLevel uint32
3448
+ AuthIdentityData *COAUTHIDENTITY
3449
+ Capabilities uint32
3450
+ }
3451
+
3452
+ type COSERVERINFO struct {
3453
+ Reserved1 uint32
3454
+ Aame *uint16
3455
+ AuthInfo *COAUTHINFO
3456
+ Reserved2 uint32
3457
+ }
3458
+
3459
+ type BIND_OPTS3 struct {
3460
+ CbStruct uint32
3461
+ Flags uint32
3462
+ Mode uint32
3463
+ TickCountDeadline uint32
3464
+ TrackFlags uint32
3465
+ ClassContext uint32
3466
+ Locale uint32
3467
+ ServerInfo *COSERVERINFO
3468
+ Hwnd HWND
3469
+ }
3470
+
3471
+ const (
3472
+ CLSCTX_INPROC_SERVER = 0x1
3473
+ CLSCTX_INPROC_HANDLER = 0x2
3474
+ CLSCTX_LOCAL_SERVER = 0x4
3475
+ CLSCTX_INPROC_SERVER16 = 0x8
3476
+ CLSCTX_REMOTE_SERVER = 0x10
3477
+ CLSCTX_INPROC_HANDLER16 = 0x20
3478
+ CLSCTX_RESERVED1 = 0x40
3479
+ CLSCTX_RESERVED2 = 0x80
3480
+ CLSCTX_RESERVED3 = 0x100
3481
+ CLSCTX_RESERVED4 = 0x200
3482
+ CLSCTX_NO_CODE_DOWNLOAD = 0x400
3483
+ CLSCTX_RESERVED5 = 0x800
3484
+ CLSCTX_NO_CUSTOM_MARSHAL = 0x1000
3485
+ CLSCTX_ENABLE_CODE_DOWNLOAD = 0x2000
3486
+ CLSCTX_NO_FAILURE_LOG = 0x4000
3487
+ CLSCTX_DISABLE_AAA = 0x8000
3488
+ CLSCTX_ENABLE_AAA = 0x10000
3489
+ CLSCTX_FROM_DEFAULT_CONTEXT = 0x20000
3490
+ CLSCTX_ACTIVATE_32_BIT_SERVER = 0x40000
3491
+ CLSCTX_ACTIVATE_64_BIT_SERVER = 0x80000
3492
+ CLSCTX_ENABLE_CLOAKING = 0x100000
3493
+ CLSCTX_APPCONTAINER = 0x400000
3494
+ CLSCTX_ACTIVATE_AAA_AS_IU = 0x800000
3495
+ CLSCTX_PS_DLL = 0x80000000
3496
+
3497
+ COINIT_MULTITHREADED = 0x0
3498
+ COINIT_APARTMENTTHREADED = 0x2
3499
+ COINIT_DISABLE_OLE1DDE = 0x4
3500
+ COINIT_SPEED_OVER_MEMORY = 0x8
3501
+ )
3502
+
3503
+ // Flag for QueryFullProcessImageName.
3504
+ const PROCESS_NAME_NATIVE = 1
3505
+
3506
+ type ModuleInfo struct {
3507
+ BaseOfDll uintptr
3508
+ SizeOfImage uint32
3509
+ EntryPoint uintptr
3510
+ }
3511
+
3512
+ const ALL_PROCESSOR_GROUPS = 0xFFFF
3513
+
3514
+ type Rect struct {
3515
+ Left int32
3516
+ Top int32
3517
+ Right int32
3518
+ Bottom int32
3519
+ }
3520
+
3521
+ type GUIThreadInfo struct {
3522
+ Size uint32
3523
+ Flags uint32
3524
+ Active HWND
3525
+ Focus HWND
3526
+ Capture HWND
3527
+ MenuOwner HWND
3528
+ MoveSize HWND
3529
+ CaretHandle HWND
3530
+ CaretRect Rect
3531
+ }
3532
+
3533
+ const (
3534
+ DWMWA_NCRENDERING_ENABLED = 1
3535
+ DWMWA_NCRENDERING_POLICY = 2
3536
+ DWMWA_TRANSITIONS_FORCEDISABLED = 3
3537
+ DWMWA_ALLOW_NCPAINT = 4
3538
+ DWMWA_CAPTION_BUTTON_BOUNDS = 5
3539
+ DWMWA_NONCLIENT_RTL_LAYOUT = 6
3540
+ DWMWA_FORCE_ICONIC_REPRESENTATION = 7
3541
+ DWMWA_FLIP3D_POLICY = 8
3542
+ DWMWA_EXTENDED_FRAME_BOUNDS = 9
3543
+ DWMWA_HAS_ICONIC_BITMAP = 10
3544
+ DWMWA_DISALLOW_PEEK = 11
3545
+ DWMWA_EXCLUDED_FROM_PEEK = 12
3546
+ DWMWA_CLOAK = 13
3547
+ DWMWA_CLOAKED = 14
3548
+ DWMWA_FREEZE_REPRESENTATION = 15
3549
+ DWMWA_PASSIVE_UPDATE_MODE = 16
3550
+ DWMWA_USE_HOSTBACKDROPBRUSH = 17
3551
+ DWMWA_USE_IMMERSIVE_DARK_MODE = 20
3552
+ DWMWA_WINDOW_CORNER_PREFERENCE = 33
3553
+ DWMWA_BORDER_COLOR = 34
3554
+ DWMWA_CAPTION_COLOR = 35
3555
+ DWMWA_TEXT_COLOR = 36
3556
+ DWMWA_VISIBLE_FRAME_BORDER_THICKNESS = 37
3557
+ )
3558
+
3559
+ type WSAQUERYSET struct {
3560
+ Size uint32
3561
+ ServiceInstanceName *uint16
3562
+ ServiceClassId *GUID
3563
+ Version *WSAVersion
3564
+ Comment *uint16
3565
+ NameSpace uint32
3566
+ NSProviderId *GUID
3567
+ Context *uint16
3568
+ NumberOfProtocols uint32
3569
+ AfpProtocols *AFProtocols
3570
+ QueryString *uint16
3571
+ NumberOfCsAddrs uint32
3572
+ SaBuffer *CSAddrInfo
3573
+ OutputFlags uint32
3574
+ Blob *BLOB
3575
+ }
3576
+
3577
+ type WSAVersion struct {
3578
+ Version uint32
3579
+ EnumerationOfComparison int32
3580
+ }
3581
+
3582
+ type AFProtocols struct {
3583
+ AddressFamily int32
3584
+ Protocol int32
3585
+ }
3586
+
3587
+ type CSAddrInfo struct {
3588
+ LocalAddr SocketAddress
3589
+ RemoteAddr SocketAddress
3590
+ SocketType int32
3591
+ Protocol int32
3592
+ }
3593
+
3594
+ type BLOB struct {
3595
+ Size uint32
3596
+ BlobData *byte
3597
+ }
3598
+
3599
+ type ComStat struct {
3600
+ Flags uint32
3601
+ CBInQue uint32
3602
+ CBOutQue uint32
3603
+ }
3604
+
3605
+ type DCB struct {
3606
+ DCBlength uint32
3607
+ BaudRate uint32
3608
+ Flags uint32
3609
+ wReserved uint16
3610
+ XonLim uint16
3611
+ XoffLim uint16
3612
+ ByteSize uint8
3613
+ Parity uint8
3614
+ StopBits uint8
3615
+ XonChar byte
3616
+ XoffChar byte
3617
+ ErrorChar byte
3618
+ EofChar byte
3619
+ EvtChar byte
3620
+ wReserved1 uint16
3621
+ }
3622
+
3623
+ // Keyboard Layout Flags.
3624
+ // See https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-loadkeyboardlayoutw
3625
+ const (
3626
+ KLF_ACTIVATE = 0x00000001
3627
+ KLF_SUBSTITUTE_OK = 0x00000002
3628
+ KLF_REORDER = 0x00000008
3629
+ KLF_REPLACELANG = 0x00000010
3630
+ KLF_NOTELLSHELL = 0x00000080
3631
+ KLF_SETFORPROCESS = 0x00000100
3632
+ )
3633
+
3634
+ // Virtual Key codes
3635
+ // https://docs.microsoft.com/en-us/windows/win32/inputdev/virtual-key-codes
3636
+ const (
3637
+ VK_LBUTTON = 0x01
3638
+ VK_RBUTTON = 0x02
3639
+ VK_CANCEL = 0x03
3640
+ VK_MBUTTON = 0x04
3641
+ VK_XBUTTON1 = 0x05
3642
+ VK_XBUTTON2 = 0x06
3643
+ VK_BACK = 0x08
3644
+ VK_TAB = 0x09
3645
+ VK_CLEAR = 0x0C
3646
+ VK_RETURN = 0x0D
3647
+ VK_SHIFT = 0x10
3648
+ VK_CONTROL = 0x11
3649
+ VK_MENU = 0x12
3650
+ VK_PAUSE = 0x13
3651
+ VK_CAPITAL = 0x14
3652
+ VK_KANA = 0x15
3653
+ VK_HANGEUL = 0x15
3654
+ VK_HANGUL = 0x15
3655
+ VK_IME_ON = 0x16
3656
+ VK_JUNJA = 0x17
3657
+ VK_FINAL = 0x18
3658
+ VK_HANJA = 0x19
3659
+ VK_KANJI = 0x19
3660
+ VK_IME_OFF = 0x1A
3661
+ VK_ESCAPE = 0x1B
3662
+ VK_CONVERT = 0x1C
3663
+ VK_NONCONVERT = 0x1D
3664
+ VK_ACCEPT = 0x1E
3665
+ VK_MODECHANGE = 0x1F
3666
+ VK_SPACE = 0x20
3667
+ VK_PRIOR = 0x21
3668
+ VK_NEXT = 0x22
3669
+ VK_END = 0x23
3670
+ VK_HOME = 0x24
3671
+ VK_LEFT = 0x25
3672
+ VK_UP = 0x26
3673
+ VK_RIGHT = 0x27
3674
+ VK_DOWN = 0x28
3675
+ VK_SELECT = 0x29
3676
+ VK_PRINT = 0x2A
3677
+ VK_EXECUTE = 0x2B
3678
+ VK_SNAPSHOT = 0x2C
3679
+ VK_INSERT = 0x2D
3680
+ VK_DELETE = 0x2E
3681
+ VK_HELP = 0x2F
3682
+ VK_LWIN = 0x5B
3683
+ VK_RWIN = 0x5C
3684
+ VK_APPS = 0x5D
3685
+ VK_SLEEP = 0x5F
3686
+ VK_NUMPAD0 = 0x60
3687
+ VK_NUMPAD1 = 0x61
3688
+ VK_NUMPAD2 = 0x62
3689
+ VK_NUMPAD3 = 0x63
3690
+ VK_NUMPAD4 = 0x64
3691
+ VK_NUMPAD5 = 0x65
3692
+ VK_NUMPAD6 = 0x66
3693
+ VK_NUMPAD7 = 0x67
3694
+ VK_NUMPAD8 = 0x68
3695
+ VK_NUMPAD9 = 0x69
3696
+ VK_MULTIPLY = 0x6A
3697
+ VK_ADD = 0x6B
3698
+ VK_SEPARATOR = 0x6C
3699
+ VK_SUBTRACT = 0x6D
3700
+ VK_DECIMAL = 0x6E
3701
+ VK_DIVIDE = 0x6F
3702
+ VK_F1 = 0x70
3703
+ VK_F2 = 0x71
3704
+ VK_F3 = 0x72
3705
+ VK_F4 = 0x73
3706
+ VK_F5 = 0x74
3707
+ VK_F6 = 0x75
3708
+ VK_F7 = 0x76
3709
+ VK_F8 = 0x77
3710
+ VK_F9 = 0x78
3711
+ VK_F10 = 0x79
3712
+ VK_F11 = 0x7A
3713
+ VK_F12 = 0x7B
3714
+ VK_F13 = 0x7C
3715
+ VK_F14 = 0x7D
3716
+ VK_F15 = 0x7E
3717
+ VK_F16 = 0x7F
3718
+ VK_F17 = 0x80
3719
+ VK_F18 = 0x81
3720
+ VK_F19 = 0x82
3721
+ VK_F20 = 0x83
3722
+ VK_F21 = 0x84
3723
+ VK_F22 = 0x85
3724
+ VK_F23 = 0x86
3725
+ VK_F24 = 0x87
3726
+ VK_NUMLOCK = 0x90
3727
+ VK_SCROLL = 0x91
3728
+ VK_OEM_NEC_EQUAL = 0x92
3729
+ VK_OEM_FJ_JISHO = 0x92
3730
+ VK_OEM_FJ_MASSHOU = 0x93
3731
+ VK_OEM_FJ_TOUROKU = 0x94
3732
+ VK_OEM_FJ_LOYA = 0x95
3733
+ VK_OEM_FJ_ROYA = 0x96
3734
+ VK_LSHIFT = 0xA0
3735
+ VK_RSHIFT = 0xA1
3736
+ VK_LCONTROL = 0xA2
3737
+ VK_RCONTROL = 0xA3
3738
+ VK_LMENU = 0xA4
3739
+ VK_RMENU = 0xA5
3740
+ VK_BROWSER_BACK = 0xA6
3741
+ VK_BROWSER_FORWARD = 0xA7
3742
+ VK_BROWSER_REFRESH = 0xA8
3743
+ VK_BROWSER_STOP = 0xA9
3744
+ VK_BROWSER_SEARCH = 0xAA
3745
+ VK_BROWSER_FAVORITES = 0xAB
3746
+ VK_BROWSER_HOME = 0xAC
3747
+ VK_VOLUME_MUTE = 0xAD
3748
+ VK_VOLUME_DOWN = 0xAE
3749
+ VK_VOLUME_UP = 0xAF
3750
+ VK_MEDIA_NEXT_TRACK = 0xB0
3751
+ VK_MEDIA_PREV_TRACK = 0xB1
3752
+ VK_MEDIA_STOP = 0xB2
3753
+ VK_MEDIA_PLAY_PAUSE = 0xB3
3754
+ VK_LAUNCH_MAIL = 0xB4
3755
+ VK_LAUNCH_MEDIA_SELECT = 0xB5
3756
+ VK_LAUNCH_APP1 = 0xB6
3757
+ VK_LAUNCH_APP2 = 0xB7
3758
+ VK_OEM_1 = 0xBA
3759
+ VK_OEM_PLUS = 0xBB
3760
+ VK_OEM_COMMA = 0xBC
3761
+ VK_OEM_MINUS = 0xBD
3762
+ VK_OEM_PERIOD = 0xBE
3763
+ VK_OEM_2 = 0xBF
3764
+ VK_OEM_3 = 0xC0
3765
+ VK_OEM_4 = 0xDB
3766
+ VK_OEM_5 = 0xDC
3767
+ VK_OEM_6 = 0xDD
3768
+ VK_OEM_7 = 0xDE
3769
+ VK_OEM_8 = 0xDF
3770
+ VK_OEM_AX = 0xE1
3771
+ VK_OEM_102 = 0xE2
3772
+ VK_ICO_HELP = 0xE3
3773
+ VK_ICO_00 = 0xE4
3774
+ VK_PROCESSKEY = 0xE5
3775
+ VK_ICO_CLEAR = 0xE6
3776
+ VK_OEM_RESET = 0xE9
3777
+ VK_OEM_JUMP = 0xEA
3778
+ VK_OEM_PA1 = 0xEB
3779
+ VK_OEM_PA2 = 0xEC
3780
+ VK_OEM_PA3 = 0xED
3781
+ VK_OEM_WSCTRL = 0xEE
3782
+ VK_OEM_CUSEL = 0xEF
3783
+ VK_OEM_ATTN = 0xF0
3784
+ VK_OEM_FINISH = 0xF1
3785
+ VK_OEM_COPY = 0xF2
3786
+ VK_OEM_AUTO = 0xF3
3787
+ VK_OEM_ENLW = 0xF4
3788
+ VK_OEM_BACKTAB = 0xF5
3789
+ VK_ATTN = 0xF6
3790
+ VK_CRSEL = 0xF7
3791
+ VK_EXSEL = 0xF8
3792
+ VK_EREOF = 0xF9
3793
+ VK_PLAY = 0xFA
3794
+ VK_ZOOM = 0xFB
3795
+ VK_NONAME = 0xFC
3796
+ VK_PA1 = 0xFD
3797
+ VK_OEM_CLEAR = 0xFE
3798
+ )
3799
+
3800
+ // Mouse button constants.
3801
+ // https://docs.microsoft.com/en-us/windows/console/mouse-event-record-str
3802
+ const (
3803
+ FROM_LEFT_1ST_BUTTON_PRESSED = 0x0001
3804
+ RIGHTMOST_BUTTON_PRESSED = 0x0002
3805
+ FROM_LEFT_2ND_BUTTON_PRESSED = 0x0004
3806
+ FROM_LEFT_3RD_BUTTON_PRESSED = 0x0008
3807
+ FROM_LEFT_4TH_BUTTON_PRESSED = 0x0010
3808
+ )
3809
+
3810
+ // Control key state constaints.
3811
+ // https://docs.microsoft.com/en-us/windows/console/key-event-record-str
3812
+ // https://docs.microsoft.com/en-us/windows/console/mouse-event-record-str
3813
+ const (
3814
+ CAPSLOCK_ON = 0x0080
3815
+ ENHANCED_KEY = 0x0100
3816
+ LEFT_ALT_PRESSED = 0x0002
3817
+ LEFT_CTRL_PRESSED = 0x0008
3818
+ NUMLOCK_ON = 0x0020
3819
+ RIGHT_ALT_PRESSED = 0x0001
3820
+ RIGHT_CTRL_PRESSED = 0x0004
3821
+ SCROLLLOCK_ON = 0x0040
3822
+ SHIFT_PRESSED = 0x0010
3823
+ )
3824
+
3825
+ // Mouse event record event flags.
3826
+ // https://docs.microsoft.com/en-us/windows/console/mouse-event-record-str
3827
+ const (
3828
+ MOUSE_MOVED = 0x0001
3829
+ DOUBLE_CLICK = 0x0002
3830
+ MOUSE_WHEELED = 0x0004
3831
+ MOUSE_HWHEELED = 0x0008
3832
+ )
3833
+
3834
+ // Input Record Event Types
3835
+ // https://learn.microsoft.com/en-us/windows/console/input-record-str
3836
+ const (
3837
+ FOCUS_EVENT = 0x0010
3838
+ KEY_EVENT = 0x0001
3839
+ MENU_EVENT = 0x0008
3840
+ MOUSE_EVENT = 0x0002
3841
+ WINDOW_BUFFER_SIZE_EVENT = 0x0004
3842
+ )