kibi-swipl-linux-x64-gnu 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (550) hide show
  1. package/README.md +29 -0
  2. package/bin/swipl +0 -0
  3. package/bin/swipl-win +0 -0
  4. package/build-manifest.json +70 -0
  5. package/lib/cmake/swipl/SWIPLConfig.cmake +21 -0
  6. package/lib/cmake/swipl/SWIPLConfigVersion.cmake +65 -0
  7. package/lib/cmake/swipl/SWIPLTargets-release.cmake +28 -0
  8. package/lib/cmake/swipl/SWIPLTargets.cmake +109 -0
  9. package/lib/swipl/ABI +1 -0
  10. package/lib/swipl/LICENSE +41 -0
  11. package/lib/swipl/README.md +116 -0
  12. package/lib/swipl/app/README.md +25 -0
  13. package/lib/swipl/app/app.pl +87 -0
  14. package/lib/swipl/app/pack.pl +350 -0
  15. package/lib/swipl/app/qlf.pl +521 -0
  16. package/lib/swipl/app/splfr.pl +177 -0
  17. package/lib/swipl/app/sys.pl +310 -0
  18. package/lib/swipl/bin/swipl.home +1 -0
  19. package/lib/swipl/boot/apply.pl +73 -0
  20. package/lib/swipl/boot/attvar.pl +344 -0
  21. package/lib/swipl/boot/autoload.pl +1226 -0
  22. package/lib/swipl/boot/bags.pl +283 -0
  23. package/lib/swipl/boot/dcg.pl +388 -0
  24. package/lib/swipl/boot/dicts.pl +193 -0
  25. package/lib/swipl/boot/dwim.pl +485 -0
  26. package/lib/swipl/boot/engines.pl +152 -0
  27. package/lib/swipl/boot/expand.pl +1628 -0
  28. package/lib/swipl/boot/gc.pl +65 -0
  29. package/lib/swipl/boot/history.pl +304 -0
  30. package/lib/swipl/boot/init.pl +4682 -0
  31. package/lib/swipl/boot/iri.pl +64 -0
  32. package/lib/swipl/boot/license.pl +390 -0
  33. package/lib/swipl/boot/load.pl +81 -0
  34. package/lib/swipl/boot/messages.pl +2521 -0
  35. package/lib/swipl/boot/packs.pl +306 -0
  36. package/lib/swipl/boot/predopts.pl +154 -0
  37. package/lib/swipl/boot/qlf.pl +141 -0
  38. package/lib/swipl/boot/rc.pl +263 -0
  39. package/lib/swipl/boot/syspred.pl +1634 -0
  40. package/lib/swipl/boot/tabling.pl +2321 -0
  41. package/lib/swipl/boot/threads.pl +42 -0
  42. package/lib/swipl/boot/toplevel.pl +2248 -0
  43. package/lib/swipl/boot/topvars.pl +261 -0
  44. package/lib/swipl/boot.prc +0 -0
  45. package/lib/swipl/cmake/swipl.cmake +131 -0
  46. package/lib/swipl/customize/README.md +23 -0
  47. package/lib/swipl/customize/edit +101 -0
  48. package/lib/swipl/customize/init.pl +164 -0
  49. package/lib/swipl/demo/README.md +33 -0
  50. package/lib/swipl/demo/likes.pl +44 -0
  51. package/lib/swipl/doc/packages/examples/chr/bool.chr +281 -0
  52. package/lib/swipl/doc/packages/examples/chr/chrdif.chr +87 -0
  53. package/lib/swipl/doc/packages/examples/chr/chrfreeze.chr +6 -0
  54. package/lib/swipl/doc/packages/examples/chr/family.chr +116 -0
  55. package/lib/swipl/doc/packages/examples/chr/fib.chr +24 -0
  56. package/lib/swipl/doc/packages/examples/chr/fibonacci.chr +31 -0
  57. package/lib/swipl/doc/packages/examples/chr/gcd.chr +28 -0
  58. package/lib/swipl/doc/packages/examples/chr/leq.chr +34 -0
  59. package/lib/swipl/doc/packages/examples/chr/listdom.chr +138 -0
  60. package/lib/swipl/doc/packages/examples/chr/primes.chr +29 -0
  61. package/lib/swipl/doc/packages/examples/http/README.md +98 -0
  62. package/lib/swipl/doc/packages/examples/http/calc.pl +92 -0
  63. package/lib/swipl/doc/packages/examples/http/demo_body.pl +232 -0
  64. package/lib/swipl/doc/packages/examples/http/demo_client.pl +165 -0
  65. package/lib/swipl/doc/packages/examples/http/demo_daemon.pl +38 -0
  66. package/lib/swipl/doc/packages/examples/http/demo_files.pl +50 -0
  67. package/lib/swipl/doc/packages/examples/http/demo_hello.pl +15 -0
  68. package/lib/swipl/doc/packages/examples/http/demo_login.pl +280 -0
  69. package/lib/swipl/doc/packages/examples/http/demo_openid.pl +177 -0
  70. package/lib/swipl/doc/packages/examples/http/demo_pwp.pl +20 -0
  71. package/lib/swipl/doc/packages/examples/http/demo_rest.pl +56 -0
  72. package/lib/swipl/doc/packages/examples/http/demo_threads.pl +52 -0
  73. package/lib/swipl/doc/packages/examples/http/linux-init-script +126 -0
  74. package/lib/swipl/doc/packages/examples/http/pwp/context.pwp +23 -0
  75. package/lib/swipl/doc/packages/examples/http/pwp/index.pwp +25 -0
  76. package/lib/swipl/doc/packages/examples/http/pwp/pwp1.pwp +12 -0
  77. package/lib/swipl/doc/packages/examples/http/pwp/pwp2.pwp +10 -0
  78. package/lib/swipl/doc/packages/examples/http/pwp/pwp3.pwp +25 -0
  79. package/lib/swipl/doc/packages/examples/http/pwp/pwp4.pwp +23 -0
  80. package/lib/swipl/doc/packages/examples/http/pwp/pwp5.pwp +11 -0
  81. package/lib/swipl/doc/packages/examples/http/pwp/pwp6.pwp +3 -0
  82. package/lib/swipl/doc/packages/examples/http/pwp/pwp7.pwp +3 -0
  83. package/lib/swipl/doc/packages/examples/http/pwp/pwp8.pwp +3 -0
  84. package/lib/swipl/doc/packages/examples/http/pwp/pwpdb.pl +12 -0
  85. package/lib/swipl/doc/packages/examples/http/systemd-script.service +18 -0
  86. package/lib/swipl/doc/packages/examples/http/upstart-script.conf +20 -0
  87. package/lib/swipl/doc/packages/examples/plunit/read.pl +17 -0
  88. package/lib/swipl/doc/packages/examples/plunit/simple.pl +33 -0
  89. package/lib/swipl/doc/packages/examples/ssl/client.pl +83 -0
  90. package/lib/swipl/doc/packages/examples/ssl/etc/README +52 -0
  91. package/lib/swipl/doc/packages/examples/ssl/etc/client/client-cert.p12 +0 -0
  92. package/lib/swipl/doc/packages/examples/ssl/etc/client/client-cert.pem +85 -0
  93. package/lib/swipl/doc/packages/examples/ssl/etc/client/client-key.pem +30 -0
  94. package/lib/swipl/doc/packages/examples/ssl/etc/demoCA/cacert.pem +82 -0
  95. package/lib/swipl/doc/packages/examples/ssl/etc/demoCA/careq.pem +18 -0
  96. package/lib/swipl/doc/packages/examples/ssl/etc/demoCA/crlnumber +1 -0
  97. package/lib/swipl/doc/packages/examples/ssl/etc/demoCA/index.txt +3 -0
  98. package/lib/swipl/doc/packages/examples/ssl/etc/demoCA/index.txt.attr +1 -0
  99. package/lib/swipl/doc/packages/examples/ssl/etc/demoCA/newcerts/9DC08797A0F63F7C.pem +85 -0
  100. package/lib/swipl/doc/packages/examples/ssl/etc/demoCA/newcerts/9DC08797A0F63F7D.pem +85 -0
  101. package/lib/swipl/doc/packages/examples/ssl/etc/demoCA/private/cakey.pem +30 -0
  102. package/lib/swipl/doc/packages/examples/ssl/etc/demoCA/serial +1 -0
  103. package/lib/swipl/doc/packages/examples/ssl/etc/server/server-cert.pem +85 -0
  104. package/lib/swipl/doc/packages/examples/ssl/etc/server/server-key.pem +30 -0
  105. package/lib/swipl/doc/packages/examples/ssl/https.pl +267 -0
  106. package/lib/swipl/doc/packages/examples/ssl/server.pl +106 -0
  107. package/lib/swipl/include/SWI-Prolog.h +1544 -0
  108. package/lib/swipl/include/SWI-Stream.h +537 -0
  109. package/lib/swipl/include/Yap/YapInterface.h +283 -0
  110. package/lib/swipl/include/sicstus/sicstus.h +452 -0
  111. package/lib/swipl/lib/x86_64-linux/cgi.so +0 -0
  112. package/lib/swipl/lib/x86_64-linux/crypt.so +0 -0
  113. package/lib/swipl/lib/x86_64-linux/crypto4pl.so +0 -0
  114. package/lib/swipl/lib/x86_64-linux/double_metaphone.so +0 -0
  115. package/lib/swipl/lib/x86_64-linux/files.so +0 -0
  116. package/lib/swipl/lib/x86_64-linux/hashstream.so +0 -0
  117. package/lib/swipl/lib/x86_64-linux/http_stream.so +0 -0
  118. package/lib/swipl/lib/x86_64-linux/isub.so +0 -0
  119. package/lib/swipl/lib/x86_64-linux/json.so +0 -0
  120. package/lib/swipl/lib/x86_64-linux/libswipl.so.10 +0 -0
  121. package/lib/swipl/lib/x86_64-linux/mallocinfo.so +0 -0
  122. package/lib/swipl/lib/x86_64-linux/md54pl.so +0 -0
  123. package/lib/swipl/lib/x86_64-linux/memfile.so +0 -0
  124. package/lib/swipl/lib/x86_64-linux/ntriples.so +0 -0
  125. package/lib/swipl/lib/x86_64-linux/pcre4pl.so +0 -0
  126. package/lib/swipl/lib/x86_64-linux/porter_stem.so +0 -0
  127. package/lib/swipl/lib/x86_64-linux/process.so +0 -0
  128. package/lib/swipl/lib/x86_64-linux/prolog_stream.so +0 -0
  129. package/lib/swipl/lib/x86_64-linux/rdf_db.so +0 -0
  130. package/lib/swipl/lib/x86_64-linux/readutil.so +0 -0
  131. package/lib/swipl/lib/x86_64-linux/rlimit.so +0 -0
  132. package/lib/swipl/lib/x86_64-linux/sched.so +0 -0
  133. package/lib/swipl/lib/x86_64-linux/sgml2pl.so +0 -0
  134. package/lib/swipl/lib/x86_64-linux/sha4pl.so +0 -0
  135. package/lib/swipl/lib/x86_64-linux/snowball.so +0 -0
  136. package/lib/swipl/lib/x86_64-linux/socket.so +0 -0
  137. package/lib/swipl/lib/x86_64-linux/ssl4pl.so +0 -0
  138. package/lib/swipl/lib/x86_64-linux/streaminfo.so +0 -0
  139. package/lib/swipl/lib/x86_64-linux/syslog.so +0 -0
  140. package/lib/swipl/lib/x86_64-linux/time.so +0 -0
  141. package/lib/swipl/lib/x86_64-linux/turtle.so +0 -0
  142. package/lib/swipl/lib/x86_64-linux/uid.so +0 -0
  143. package/lib/swipl/lib/x86_64-linux/unix.so +0 -0
  144. package/lib/swipl/lib/x86_64-linux/uri.so +0 -0
  145. package/lib/swipl/lib/x86_64-linux/websocket.so +0 -0
  146. package/lib/swipl/lib/x86_64-linux/zlib4pl.so +0 -0
  147. package/lib/swipl/library/INDEX.pl +1020 -0
  148. package/lib/swipl/library/aggregate.pl +755 -0
  149. package/lib/swipl/library/ansi_term.pl +653 -0
  150. package/lib/swipl/library/apply.pl +426 -0
  151. package/lib/swipl/library/apply_macros.pl +497 -0
  152. package/lib/swipl/library/arithmetic.pl +320 -0
  153. package/lib/swipl/library/assoc.pl +522 -0
  154. package/lib/swipl/library/atom.pl +169 -0
  155. package/lib/swipl/library/backcomp.pl +688 -0
  156. package/lib/swipl/library/base32.pl +291 -0
  157. package/lib/swipl/library/base64.pl +441 -0
  158. package/lib/swipl/library/broadcast.pl +161 -0
  159. package/lib/swipl/library/build/cmake.pl +137 -0
  160. package/lib/swipl/library/build/conan.pl +232 -0
  161. package/lib/swipl/library/build/make.pl +168 -0
  162. package/lib/swipl/library/build/tools.pl +825 -0
  163. package/lib/swipl/library/charsio.pl +195 -0
  164. package/lib/swipl/library/check.pl +1097 -0
  165. package/lib/swipl/library/check_installation.pl +912 -0
  166. package/lib/swipl/library/clp/INDEX.pl +157 -0
  167. package/lib/swipl/library/clp/bounds.pl +2036 -0
  168. package/lib/swipl/library/clp/clp_distinct.pl +263 -0
  169. package/lib/swipl/library/clp/clp_events.pl +92 -0
  170. package/lib/swipl/library/clp/clpb.pl +1896 -0
  171. package/lib/swipl/library/clp/clpfd.pl +7906 -0
  172. package/lib/swipl/library/clp/simplex.pl +1580 -0
  173. package/lib/swipl/library/codesio.pl +182 -0
  174. package/lib/swipl/library/coinduction.pl +183 -0
  175. package/lib/swipl/library/console_input.pl +289 -0
  176. package/lib/swipl/library/csv.pl +611 -0
  177. package/lib/swipl/library/ctypes.pl +161 -0
  178. package/lib/swipl/library/date.pl +370 -0
  179. package/lib/swipl/library/dcg/INDEX.pl +35 -0
  180. package/lib/swipl/library/dcg/basics.pl +514 -0
  181. package/lib/swipl/library/dcg/high_order.pl +227 -0
  182. package/lib/swipl/library/debug.pl +499 -0
  183. package/lib/swipl/library/dialect/bim.pl +186 -0
  184. package/lib/swipl/library/dialect/commons.pl +77 -0
  185. package/lib/swipl/library/dialect/eclipse/test_util_iso.pl +355 -0
  186. package/lib/swipl/library/dialect/hprolog/format.pl +44 -0
  187. package/lib/swipl/library/dialect/hprolog.pl +314 -0
  188. package/lib/swipl/library/dialect/ifprolog.pl +1317 -0
  189. package/lib/swipl/library/dialect/iso/iso_predicates.pl +277 -0
  190. package/lib/swipl/library/dialect/sicstus/README.TXT +1 -0
  191. package/lib/swipl/library/dialect/sicstus/arrays.pl +121 -0
  192. package/lib/swipl/library/dialect/sicstus/block.pl +278 -0
  193. package/lib/swipl/library/dialect/sicstus/lists.pl +167 -0
  194. package/lib/swipl/library/dialect/sicstus/ordsets.pl +52 -0
  195. package/lib/swipl/library/dialect/sicstus/sockets.pl +174 -0
  196. package/lib/swipl/library/dialect/sicstus/system.pl +262 -0
  197. package/lib/swipl/library/dialect/sicstus/terms.pl +57 -0
  198. package/lib/swipl/library/dialect/sicstus/timeout.pl +92 -0
  199. package/lib/swipl/library/dialect/sicstus.pl +582 -0
  200. package/lib/swipl/library/dialect/sicstus4/aggregate.pl +60 -0
  201. package/lib/swipl/library/dialect/sicstus4/between.pl +62 -0
  202. package/lib/swipl/library/dialect/sicstus4/clpfd.pl +75 -0
  203. package/lib/swipl/library/dialect/sicstus4/file_systems.pl +413 -0
  204. package/lib/swipl/library/dialect/sicstus4/lists.pl +274 -0
  205. package/lib/swipl/library/dialect/sicstus4/ordsets.pl +54 -0
  206. package/lib/swipl/library/dialect/sicstus4/samsort.pl +86 -0
  207. package/lib/swipl/library/dialect/sicstus4/sets.pl +124 -0
  208. package/lib/swipl/library/dialect/sicstus4/sockets.pl +164 -0
  209. package/lib/swipl/library/dialect/sicstus4/system.pl +80 -0
  210. package/lib/swipl/library/dialect/sicstus4/terms.pl +89 -0
  211. package/lib/swipl/library/dialect/sicstus4/timeout.pl +43 -0
  212. package/lib/swipl/library/dialect/sicstus4/types.pl +103 -0
  213. package/lib/swipl/library/dialect/sicstus4.pl +200 -0
  214. package/lib/swipl/library/dialect/swi/syspred_options.pl +250 -0
  215. package/lib/swipl/library/dialect/xsb/README.md +20 -0
  216. package/lib/swipl/library/dialect/xsb/basics.pl +318 -0
  217. package/lib/swipl/library/dialect/xsb/consult.pl +87 -0
  218. package/lib/swipl/library/dialect/xsb/curr_sym.pl +57 -0
  219. package/lib/swipl/library/dialect/xsb/error_handler.pl +111 -0
  220. package/lib/swipl/library/dialect/xsb/gensym.pl +53 -0
  221. package/lib/swipl/library/dialect/xsb/gpp.pl +138 -0
  222. package/lib/swipl/library/dialect/xsb/intern.pl +48 -0
  223. package/lib/swipl/library/dialect/xsb/lists.pl +47 -0
  224. package/lib/swipl/library/dialect/xsb/machine.pl +295 -0
  225. package/lib/swipl/library/dialect/xsb/ordsets.pl +53 -0
  226. package/lib/swipl/library/dialect/xsb/setof.pl +54 -0
  227. package/lib/swipl/library/dialect/xsb/source.pl +308 -0
  228. package/lib/swipl/library/dialect/xsb/standard.pl +169 -0
  229. package/lib/swipl/library/dialect/xsb/storage.pl +70 -0
  230. package/lib/swipl/library/dialect/xsb/string.pl +76 -0
  231. package/lib/swipl/library/dialect/xsb/thread.pl +62 -0
  232. package/lib/swipl/library/dialect/xsb/timed_call.pl +158 -0
  233. package/lib/swipl/library/dialect/xsb.pl +688 -0
  234. package/lib/swipl/library/dialect/yap/README.TXT +8 -0
  235. package/lib/swipl/library/dialect/yap.pl +283 -0
  236. package/lib/swipl/library/dialect.pl +123 -0
  237. package/lib/swipl/library/dicts.pl +399 -0
  238. package/lib/swipl/library/dif.pl +426 -0
  239. package/lib/swipl/library/edinburgh.pl +138 -0
  240. package/lib/swipl/library/edit.pl +783 -0
  241. package/lib/swipl/library/error.pl +495 -0
  242. package/lib/swipl/library/exceptions.pl +231 -0
  243. package/lib/swipl/library/explain.pl +543 -0
  244. package/lib/swipl/library/ext/RDF/INDEX.pl +25 -0
  245. package/lib/swipl/library/ext/RDF/rdf.pl +450 -0
  246. package/lib/swipl/library/ext/RDF/rdf_parser.pl +649 -0
  247. package/lib/swipl/library/ext/RDF/rdf_triple.pl +448 -0
  248. package/lib/swipl/library/ext/RDF/rdf_write.pl +701 -0
  249. package/lib/swipl/library/ext/RDF/rewrite_term.pl +177 -0
  250. package/lib/swipl/library/ext/chr/chr/a_star.pl +80 -0
  251. package/lib/swipl/library/ext/chr/chr/binomialheap.pl +142 -0
  252. package/lib/swipl/library/ext/chr/chr/builtins.pl +629 -0
  253. package/lib/swipl/library/ext/chr/chr/chr_compiler_errors.pl +179 -0
  254. package/lib/swipl/library/ext/chr/chr/chr_compiler_options.pl +382 -0
  255. package/lib/swipl/library/ext/chr/chr/chr_compiler_utility.pl +338 -0
  256. package/lib/swipl/library/ext/chr/chr/chr_debug.pl +59 -0
  257. package/lib/swipl/library/ext/chr/chr/chr_hashtable_store.pl +425 -0
  258. package/lib/swipl/library/ext/chr/chr/chr_integertable_store.pl +139 -0
  259. package/lib/swipl/library/ext/chr/chr/chr_messages.pl +176 -0
  260. package/lib/swipl/library/ext/chr/chr/chr_op.pl +53 -0
  261. package/lib/swipl/library/ext/chr/chr/chr_runtime.pl +1016 -0
  262. package/lib/swipl/library/ext/chr/chr/chr_translate.pl +25424 -0
  263. package/lib/swipl/library/ext/chr/chr/clean_code.pl +252 -0
  264. package/lib/swipl/library/ext/chr/chr/find.pl +78 -0
  265. package/lib/swipl/library/ext/chr/chr/guard_entailment.pl +19432 -0
  266. package/lib/swipl/library/ext/chr/chr/listmap.pl +108 -0
  267. package/lib/swipl/library/ext/chr/chr/pairlist.pl +78 -0
  268. package/lib/swipl/library/ext/chr/chr.pl +686 -0
  269. package/lib/swipl/library/ext/clib/INDEX.pl +158 -0
  270. package/lib/swipl/library/ext/clib/cgi.pl +86 -0
  271. package/lib/swipl/library/ext/clib/crypt.pl +44 -0
  272. package/lib/swipl/library/ext/clib/filesex.pl +644 -0
  273. package/lib/swipl/library/ext/clib/hash_stream.pl +119 -0
  274. package/lib/swipl/library/ext/clib/mallocinfo.pl +138 -0
  275. package/lib/swipl/library/ext/clib/md5.pl +68 -0
  276. package/lib/swipl/library/ext/clib/memfile.pl +61 -0
  277. package/lib/swipl/library/ext/clib/process.pl +573 -0
  278. package/lib/swipl/library/ext/clib/prolog_server.pl +157 -0
  279. package/lib/swipl/library/ext/clib/prolog_stream.pl +80 -0
  280. package/lib/swipl/library/ext/clib/rlimit.pl +54 -0
  281. package/lib/swipl/library/ext/clib/sched.pl +85 -0
  282. package/lib/swipl/library/ext/clib/sha.pl +162 -0
  283. package/lib/swipl/library/ext/clib/socket.pl +1102 -0
  284. package/lib/swipl/library/ext/clib/streaminfo.pl +103 -0
  285. package/lib/swipl/library/ext/clib/streampool.pl +136 -0
  286. package/lib/swipl/library/ext/clib/syslog.pl +180 -0
  287. package/lib/swipl/library/ext/clib/time.pl +194 -0
  288. package/lib/swipl/library/ext/clib/udp_broadcast.pl +975 -0
  289. package/lib/swipl/library/ext/clib/uid.pl +220 -0
  290. package/lib/swipl/library/ext/clib/unix.pl +317 -0
  291. package/lib/swipl/library/ext/clib/uri.pl +530 -0
  292. package/lib/swipl/library/ext/clib/uuid.pl +207 -0
  293. package/lib/swipl/library/ext/http/http/INDEX.pl +266 -0
  294. package/lib/swipl/library/ext/http/http/README.md +34 -0
  295. package/lib/swipl/library/ext/http/http/ax.pl +189 -0
  296. package/lib/swipl/library/ext/http/http/dcg_basics.pl +49 -0
  297. package/lib/swipl/library/ext/http/http/graphql.pl +1367 -0
  298. package/lib/swipl/library/ext/http/http/html_decl.pl +416 -0
  299. package/lib/swipl/library/ext/http/http/html_head.pl +654 -0
  300. package/lib/swipl/library/ext/http/http/html_quasiquotations.pl +120 -0
  301. package/lib/swipl/library/ext/http/http/html_write.pl +1425 -0
  302. package/lib/swipl/library/ext/http/http/htmx.pl +139 -0
  303. package/lib/swipl/library/ext/http/http/http_authenticate.pl +364 -0
  304. package/lib/swipl/library/ext/http/http/http_client.pl +412 -0
  305. package/lib/swipl/library/ext/http/http/http_cookie.pl +245 -0
  306. package/lib/swipl/library/ext/http/http/http_cors.pl +176 -0
  307. package/lib/swipl/library/ext/http/http/http_digest.pl +820 -0
  308. package/lib/swipl/library/ext/http/http/http_dirindex.pl +296 -0
  309. package/lib/swipl/library/ext/http/http/http_dispatch.pl +1552 -0
  310. package/lib/swipl/library/ext/http/http/http_dyn_workers.pl +214 -0
  311. package/lib/swipl/library/ext/http/http/http_error.pl +126 -0
  312. package/lib/swipl/library/ext/http/http/http_exception.pl +225 -0
  313. package/lib/swipl/library/ext/http/http/http_files.pl +163 -0
  314. package/lib/swipl/library/ext/http/http/http_header.pl +2820 -0
  315. package/lib/swipl/library/ext/http/http/http_hook.pl +106 -0
  316. package/lib/swipl/library/ext/http/http/http_host.pl +204 -0
  317. package/lib/swipl/library/ext/http/http/http_load.pl +113 -0
  318. package/lib/swipl/library/ext/http/http/http_log.pl +738 -0
  319. package/lib/swipl/library/ext/http/http/http_multipart_plugin.pl +232 -0
  320. package/lib/swipl/library/ext/http/http/http_open.pl +1821 -0
  321. package/lib/swipl/library/ext/http/http/http_openid.pl +1561 -0
  322. package/lib/swipl/library/ext/http/http/http_parameters.pl +504 -0
  323. package/lib/swipl/library/ext/http/http/http_path.pl +380 -0
  324. package/lib/swipl/library/ext/http/http/http_proxy.pl +80 -0
  325. package/lib/swipl/library/ext/http/http/http_pwp.pl +351 -0
  326. package/lib/swipl/library/ext/http/http/http_redis_plugin.pl +332 -0
  327. package/lib/swipl/library/ext/http/http/http_server.pl +105 -0
  328. package/lib/swipl/library/ext/http/http/http_server_files.pl +126 -0
  329. package/lib/swipl/library/ext/http/http/http_server_health.pl +186 -0
  330. package/lib/swipl/library/ext/http/http/http_session.pl +1040 -0
  331. package/lib/swipl/library/ext/http/http/http_sgml_plugin.pl +137 -0
  332. package/lib/swipl/library/ext/http/http/http_stream.pl +376 -0
  333. package/lib/swipl/library/ext/http/http/http_unix_daemon.pl +989 -0
  334. package/lib/swipl/library/ext/http/http/http_wrapper.pl +559 -0
  335. package/lib/swipl/library/ext/http/http/hub.pl +600 -0
  336. package/lib/swipl/library/ext/http/http/js_write.pl +461 -0
  337. package/lib/swipl/library/ext/http/http/mimepack.pl +224 -0
  338. package/lib/swipl/library/ext/http/http/mimetype.pl +276 -0
  339. package/lib/swipl/library/ext/http/http/term_html.pl +797 -0
  340. package/lib/swipl/library/ext/http/http/thread_httpd.pl +1181 -0
  341. package/lib/swipl/library/ext/http/http/web/css/dirindex.css +24 -0
  342. package/lib/swipl/library/ext/http/http/web/css/openid.css +57 -0
  343. package/lib/swipl/library/ext/http/http/web/icons/back.png +0 -0
  344. package/lib/swipl/library/ext/http/http/web/icons/c.png +0 -0
  345. package/lib/swipl/library/ext/http/http/web/icons/compressed.png +0 -0
  346. package/lib/swipl/library/ext/http/http/web/icons/folder.png +0 -0
  347. package/lib/swipl/library/ext/http/http/web/icons/generic.png +0 -0
  348. package/lib/swipl/library/ext/http/http/web/icons/layout.png +0 -0
  349. package/lib/swipl/library/ext/http/http/web/icons/openid-logo-square.png +0 -0
  350. package/lib/swipl/library/ext/http/http/web/icons/openid-logo-tiny.png +0 -0
  351. package/lib/swipl/library/ext/http/http/websocket.pl +729 -0
  352. package/lib/swipl/library/ext/http/http/yadis.pl +205 -0
  353. package/lib/swipl/library/ext/json/INDEX.pl +36 -0
  354. package/lib/swipl/library/ext/json/http/INDEX.pl +16 -0
  355. package/lib/swipl/library/ext/json/http/http_json.pl +490 -0
  356. package/lib/swipl/library/ext/json/http/js_grammar.pl +53 -0
  357. package/lib/swipl/library/ext/json/http/json.pl +48 -0
  358. package/lib/swipl/library/ext/json/http/json_convert.pl +48 -0
  359. package/lib/swipl/library/ext/json/json.pl +1215 -0
  360. package/lib/swipl/library/ext/json/json_convert.pl +681 -0
  361. package/lib/swipl/library/ext/json/json_grammar.pl +349 -0
  362. package/lib/swipl/library/ext/json/json_rpc_client.pl +423 -0
  363. package/lib/swipl/library/ext/json/json_rpc_common.pl +104 -0
  364. package/lib/swipl/library/ext/json/json_rpc_server.pl +489 -0
  365. package/lib/swipl/library/ext/json/json_schema.pl +2111 -0
  366. package/lib/swipl/library/ext/nlp/INDEX.pl +15 -0
  367. package/lib/swipl/library/ext/nlp/double_metaphone.pl +86 -0
  368. package/lib/swipl/library/ext/nlp/isub.pl +162 -0
  369. package/lib/swipl/library/ext/nlp/porter_stem.pl +50 -0
  370. package/lib/swipl/library/ext/nlp/snowball.pl +97 -0
  371. package/lib/swipl/library/ext/pcre/INDEX.pl +17 -0
  372. package/lib/swipl/library/ext/pcre/pcre.pl +974 -0
  373. package/lib/swipl/library/ext/plunit/INDEX.pl +20 -0
  374. package/lib/swipl/library/ext/plunit/plunit.pl +2631 -0
  375. package/lib/swipl/library/ext/plunit/test_wizard.pl +249 -0
  376. package/lib/swipl/library/ext/semweb/semweb/INDEX.pl +288 -0
  377. package/lib/swipl/library/ext/semweb/semweb/rdf11.pl +2106 -0
  378. package/lib/swipl/library/ext/semweb/semweb/rdf11_containers.pl +299 -0
  379. package/lib/swipl/library/ext/semweb/semweb/rdf_cache.pl +278 -0
  380. package/lib/swipl/library/ext/semweb/semweb/rdf_compare.pl +132 -0
  381. package/lib/swipl/library/ext/semweb/semweb/rdf_db.pl +3468 -0
  382. package/lib/swipl/library/ext/semweb/semweb/rdf_edit.pl +1145 -0
  383. package/lib/swipl/library/ext/semweb/semweb/rdf_http_plugin.pl +274 -0
  384. package/lib/swipl/library/ext/semweb/semweb/rdf_library.pl +1021 -0
  385. package/lib/swipl/library/ext/semweb/semweb/rdf_litindex.pl +1035 -0
  386. package/lib/swipl/library/ext/semweb/semweb/rdf_ntriples.pl +422 -0
  387. package/lib/swipl/library/ext/semweb/semweb/rdf_persistency.pl +1576 -0
  388. package/lib/swipl/library/ext/semweb/semweb/rdf_portray.pl +182 -0
  389. package/lib/swipl/library/ext/semweb/semweb/rdf_prefixes.pl +681 -0
  390. package/lib/swipl/library/ext/semweb/semweb/rdf_sandbox.pl +153 -0
  391. package/lib/swipl/library/ext/semweb/semweb/rdf_turtle.pl +54 -0
  392. package/lib/swipl/library/ext/semweb/semweb/rdf_turtle_write.pl +1587 -0
  393. package/lib/swipl/library/ext/semweb/semweb/rdf_zlib_plugin.pl +52 -0
  394. package/lib/swipl/library/ext/semweb/semweb/rdfa.pl +1510 -0
  395. package/lib/swipl/library/ext/semweb/semweb/rdfs.pl +475 -0
  396. package/lib/swipl/library/ext/semweb/semweb/sparql_client.pl +643 -0
  397. package/lib/swipl/library/ext/semweb/semweb/turtle.pl +455 -0
  398. package/lib/swipl/library/ext/sgml/DTD/HTML4.dcl +88 -0
  399. package/lib/swipl/library/ext/sgml/DTD/HTML4.dtd +1092 -0
  400. package/lib/swipl/library/ext/sgml/DTD/HTML4.soc +6 -0
  401. package/lib/swipl/library/ext/sgml/DTD/HTML5.dtd +906 -0
  402. package/lib/swipl/library/ext/sgml/DTD/HTMLlat1.ent +195 -0
  403. package/lib/swipl/library/ext/sgml/DTD/HTMLspec.ent +77 -0
  404. package/lib/swipl/library/ext/sgml/DTD/HTMLsym.ent +241 -0
  405. package/lib/swipl/library/ext/sgml/INDEX.pl +64 -0
  406. package/lib/swipl/library/ext/sgml/c14n2.pl +203 -0
  407. package/lib/swipl/library/ext/sgml/iso_639.pl +631 -0
  408. package/lib/swipl/library/ext/sgml/pwp.pl +705 -0
  409. package/lib/swipl/library/ext/sgml/sgml.pl +815 -0
  410. package/lib/swipl/library/ext/sgml/sgml_write.pl +1003 -0
  411. package/lib/swipl/library/ext/sgml/xpath.pl +620 -0
  412. package/lib/swipl/library/ext/sgml/xsdp_types.pl +232 -0
  413. package/lib/swipl/library/ext/ssl/INDEX.pl +60 -0
  414. package/lib/swipl/library/ext/ssl/crypto.pl +1015 -0
  415. package/lib/swipl/library/ext/ssl/http/INDEX.pl +5 -0
  416. package/lib/swipl/library/ext/ssl/http/http_ssl_plugin.pl +296 -0
  417. package/lib/swipl/library/ext/ssl/saml.pl +609 -0
  418. package/lib/swipl/library/ext/ssl/ssl.pl +647 -0
  419. package/lib/swipl/library/ext/ssl/xmldsig.pl +391 -0
  420. package/lib/swipl/library/ext/ssl/xmlenc.pl +354 -0
  421. package/lib/swipl/library/ext/zlib/INDEX.pl +8 -0
  422. package/lib/swipl/library/ext/zlib/zlib.pl +112 -0
  423. package/lib/swipl/library/fastrw.pl +105 -0
  424. package/lib/swipl/library/files.pl +80 -0
  425. package/lib/swipl/library/gensym.pl +111 -0
  426. package/lib/swipl/library/git.pl +1027 -0
  427. package/lib/swipl/library/hashtable.pl +365 -0
  428. package/lib/swipl/library/heaps.pl +252 -0
  429. package/lib/swipl/library/hotfix.pl +239 -0
  430. package/lib/swipl/library/http/jquery.pl +103 -0
  431. package/lib/swipl/library/http/web/js/jquery-3.6.0.min.js +2 -0
  432. package/lib/swipl/library/increval.pl +217 -0
  433. package/lib/swipl/library/intercept.pl +263 -0
  434. package/lib/swipl/library/iostream.pl +237 -0
  435. package/lib/swipl/library/iri_scheme/file.pl +70 -0
  436. package/lib/swipl/library/lazy_lists.pl +481 -0
  437. package/lib/swipl/library/listing.pl +1362 -0
  438. package/lib/swipl/library/lists.pl +860 -0
  439. package/lib/swipl/library/lynx/INDEX.pl +14 -0
  440. package/lib/swipl/library/lynx/format.pl +380 -0
  441. package/lib/swipl/library/lynx/html_style.pl +129 -0
  442. package/lib/swipl/library/lynx/html_text.pl +865 -0
  443. package/lib/swipl/library/lynx/pldoc_style.pl +87 -0
  444. package/lib/swipl/library/macros.pl +451 -0
  445. package/lib/swipl/library/main.pl +1200 -0
  446. package/lib/swipl/library/make.pl +197 -0
  447. package/lib/swipl/library/modules.pl +129 -0
  448. package/lib/swipl/library/nb_rbtrees.pl +267 -0
  449. package/lib/swipl/library/nb_set.pl +203 -0
  450. package/lib/swipl/library/obfuscate.pl +115 -0
  451. package/lib/swipl/library/occurs.pl +241 -0
  452. package/lib/swipl/library/operators.pl +182 -0
  453. package/lib/swipl/library/option.pl +388 -0
  454. package/lib/swipl/library/optparse.pl +966 -0
  455. package/lib/swipl/library/ordsets.pl +518 -0
  456. package/lib/swipl/library/oset.pl +160 -0
  457. package/lib/swipl/library/pairs.pl +187 -0
  458. package/lib/swipl/library/persistency.pl +713 -0
  459. package/lib/swipl/library/pio.pl +47 -0
  460. package/lib/swipl/library/portray_text.pl +277 -0
  461. package/lib/swipl/library/pprint.pl +940 -0
  462. package/lib/swipl/library/predicate_options.pl +975 -0
  463. package/lib/swipl/library/prolog_autoload.pl +233 -0
  464. package/lib/swipl/library/prolog_breakpoints.pl +396 -0
  465. package/lib/swipl/library/prolog_clause.pl +1104 -0
  466. package/lib/swipl/library/prolog_code.pl +416 -0
  467. package/lib/swipl/library/prolog_codewalk.pl +1248 -0
  468. package/lib/swipl/library/prolog_colour.pl +3301 -0
  469. package/lib/swipl/library/prolog_colour.qlf +0 -0
  470. package/lib/swipl/library/prolog_config.pl +154 -0
  471. package/lib/swipl/library/prolog_coverage.pl +1333 -0
  472. package/lib/swipl/library/prolog_debug.pl +404 -0
  473. package/lib/swipl/library/prolog_deps.pl +675 -0
  474. package/lib/swipl/library/prolog_evaluable.pl +234 -0
  475. package/lib/swipl/library/prolog_format.pl +219 -0
  476. package/lib/swipl/library/prolog_history.pl +161 -0
  477. package/lib/swipl/library/prolog_jiti.pl +333 -0
  478. package/lib/swipl/library/prolog_locale.pl +61 -0
  479. package/lib/swipl/library/prolog_metainference.pl +307 -0
  480. package/lib/swipl/library/prolog_pack.pl +3906 -0
  481. package/lib/swipl/library/prolog_profile.pl +346 -0
  482. package/lib/swipl/library/prolog_qlfmake.pl +533 -0
  483. package/lib/swipl/library/prolog_source.pl +1188 -0
  484. package/lib/swipl/library/prolog_stack.pl +794 -0
  485. package/lib/swipl/library/prolog_trace.pl +365 -0
  486. package/lib/swipl/library/prolog_versions.pl +347 -0
  487. package/lib/swipl/library/prolog_wrap.pl +164 -0
  488. package/lib/swipl/library/prolog_xref.pl +3090 -0
  489. package/lib/swipl/library/prolog_xref.qlf +0 -0
  490. package/lib/swipl/library/pure_input.pl +266 -0
  491. package/lib/swipl/library/qpforeign.pl +695 -0
  492. package/lib/swipl/library/qsave.pl +1516 -0
  493. package/lib/swipl/library/quasi_quotations.pl +300 -0
  494. package/lib/swipl/library/quintus.pl +437 -0
  495. package/lib/swipl/library/random.pl +459 -0
  496. package/lib/swipl/library/rbtrees.pl +1153 -0
  497. package/lib/swipl/library/readln.pl +256 -0
  498. package/lib/swipl/library/readutil.pl +304 -0
  499. package/lib/swipl/library/record.pl +544 -0
  500. package/lib/swipl/library/rwlocks.pl +172 -0
  501. package/lib/swipl/library/sandbox.pl +1384 -0
  502. package/lib/swipl/library/semweb/dc.rdfs +198 -0
  503. package/lib/swipl/library/semweb/eor.rdfs +95 -0
  504. package/lib/swipl/library/semweb/owl.owl +287 -0
  505. package/lib/swipl/library/semweb/rdf_library.ttl +90 -0
  506. package/lib/swipl/library/semweb/rdfs.rdfs +251 -0
  507. package/lib/swipl/library/settings.pl +755 -0
  508. package/lib/swipl/library/shell.pl +462 -0
  509. package/lib/swipl/library/shlib.pl +670 -0
  510. package/lib/swipl/library/solution_sequences.pl +439 -0
  511. package/lib/swipl/library/sort.pl +119 -0
  512. package/lib/swipl/library/statistics.pl +541 -0
  513. package/lib/swipl/library/streams.pl +118 -0
  514. package/lib/swipl/library/strings.pl +469 -0
  515. package/lib/swipl/library/system.pl +95 -0
  516. package/lib/swipl/library/tables.pl +381 -0
  517. package/lib/swipl/library/tableutil.pl +771 -0
  518. package/lib/swipl/library/tabling.pl +42 -0
  519. package/lib/swipl/library/terms.pl +457 -0
  520. package/lib/swipl/library/theme/auto.pl +61 -0
  521. package/lib/swipl/library/theme/dark.pl +455 -0
  522. package/lib/swipl/library/theme/light.pl +45 -0
  523. package/lib/swipl/library/thread.pl +810 -0
  524. package/lib/swipl/library/thread_pool.pl +508 -0
  525. package/lib/swipl/library/threadutil.pl +574 -0
  526. package/lib/swipl/library/tty.pl +316 -0
  527. package/lib/swipl/library/ugraphs.pl +644 -0
  528. package/lib/swipl/library/unicode/INDEX.pl +6 -0
  529. package/lib/swipl/library/unicode/blocks.pl +414 -0
  530. package/lib/swipl/library/url.pl +1129 -0
  531. package/lib/swipl/library/utf8.pl +145 -0
  532. package/lib/swipl/library/varnumbers.pl +221 -0
  533. package/lib/swipl/library/vm.pl +251 -0
  534. package/lib/swipl/library/wfs.pl +205 -0
  535. package/lib/swipl/library/when.pl +263 -0
  536. package/lib/swipl/library/writef.pl +278 -0
  537. package/lib/swipl/library/www_browser.pl +251 -0
  538. package/lib/swipl/library/yall.pl +574 -0
  539. package/lib/swipl/library/zip.pl +211 -0
  540. package/lib/swipl/swipl.home +1 -0
  541. package/lib/vendor/libcrypto.so.3 +0 -0
  542. package/lib/vendor/libpcre2-8.so.0 +0 -0
  543. package/lib/vendor/libssl.so.3 +0 -0
  544. package/lib/vendor/libz.so.1 +0 -0
  545. package/licenses/OpenSSL-LICENSE.txt +177 -0
  546. package/licenses/PCRE2-COPYING +5 -0
  547. package/licenses/README.md +12 -0
  548. package/licenses/SWI-Prolog-LICENSE +41 -0
  549. package/licenses/zlib-LICENSE +22 -0
  550. package/package.json +27 -0
@@ -0,0 +1,537 @@
1
+ /* Part of SWI-Prolog
2
+
3
+ Author: Jan Wielemaker
4
+ E-mail: J.Wielemaker@vu.nl
5
+ WWW: http://www.swi-prolog.org
6
+ Copyright (c) 2011-2025, University of Amsterdam
7
+ VU University Amsterdam
8
+ SWI-Prolog Solutions b.v.
9
+ All rights reserved.
10
+
11
+ Redistribution and use in source and binary forms, with or without
12
+ modification, are permitted provided that the following conditions
13
+ are met:
14
+
15
+ 1. Redistributions of source code must retain the above copyright
16
+ notice, this list of conditions and the following disclaimer.
17
+
18
+ 2. Redistributions in binary form must reproduce the above copyright
19
+ notice, this list of conditions and the following disclaimer in
20
+ the documentation and/or other materials provided with the
21
+ distribution.
22
+
23
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
24
+ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
25
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
26
+ FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
27
+ COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
28
+ INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
29
+ BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
30
+ LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
31
+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
32
+ LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
33
+ ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
34
+ POSSIBILITY OF SUCH DAMAGE.
35
+ */
36
+
37
+ #ifndef _SWI_STREAM_H
38
+ #define _SWI_STREAM_H
39
+
40
+ /* This appears to make the wide-character support compile and work
41
+ on HPUX 11.23. There really should be a cleaner way ...
42
+ */
43
+ #if defined(__hpux)
44
+ #include <sys/_mbstate_t.h>
45
+ #endif
46
+
47
+ #ifndef __WINDOWS__
48
+ #if defined(_MSC_VER) || defined(__MINGW32__)
49
+ #define __WINDOWS__ 1
50
+ #endif
51
+ #endif
52
+
53
+ /* define SWIPL_WINDOWS_NATIVE_ACCESS to 1 if you want the native
54
+ * Windows types for Swinhandle() and Swinsock()
55
+ */
56
+
57
+ #ifdef __WINDOWS__
58
+ #if SWIPL_WINDOWS_NATIVE_ACCESS
59
+ #include <winsock2.h>
60
+ #include <windows.h>
61
+ #endif
62
+ #else /*__WINDOWS__*/
63
+ #include <unistd.h>
64
+ #endif /*__WINDOWS__*/
65
+
66
+ #include <stdarg.h>
67
+ #include <wchar.h>
68
+ #include <stddef.h>
69
+ #include <inttypes.h> /* more portable than stdint.h */
70
+
71
+ #ifdef _MSC_VER
72
+ typedef __int32 int32_t;
73
+ typedef unsigned __int32 uint32_t;
74
+ typedef __int64 int64_t;
75
+ typedef unsigned __int64 uint64_t;
76
+ typedef intptr_t ssize_t;
77
+ typedef uintptr_t size_t;
78
+ #endif
79
+
80
+ #ifdef __cplusplus
81
+ extern "C" {
82
+ #endif
83
+
84
+ /*******************************
85
+ * EXPORT *
86
+ *******************************/
87
+
88
+ /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
89
+ See SWI-Prolog.h, containing the same code for an explanation on this
90
+ stuff.
91
+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
92
+
93
+ #ifndef _PL_EXPORT_DONE
94
+ #define _PL_EXPORT_DONE
95
+
96
+ #if defined(_MSC_VER) || defined(__MINGW32__)
97
+ #define HAVE_DECLSPEC
98
+ #else
99
+ #if !defined(HAVE_VISIBILITY_ATTRIBUTE) && (__GNUC__ >= 4 || defined(__clang__))
100
+ #define HAVE_VISIBILITY_ATTRIBUTE 1
101
+ #endif
102
+ #endif
103
+
104
+ #ifdef HAVE_DECLSPEC
105
+ # ifdef PL_KERNEL
106
+ #define PL_EXPORT(type) __declspec(dllexport) extern type
107
+ #define PL_EXPORT_DATA(type) __declspec(dllexport) extern type
108
+ # else
109
+ # ifdef __BORLANDC__
110
+ #define PL_EXPORT(type) type _stdcall
111
+ #define PL_EXPORT_DATA(type) extern type
112
+ # else
113
+ # ifdef __MINGW32__
114
+ #define PL_EXPORT(type) extern type
115
+ #define PL_EXPORT_DATA(type) extern type
116
+ # else
117
+ #define PL_EXPORT(type) extern type
118
+ #define PL_EXPORT_DATA(type) __declspec(dllimport) type
119
+ # endif
120
+ # endif
121
+ #define install_t __declspec(dllexport) void
122
+ # endif
123
+ #else /*HAVE_DECLSPEC*/
124
+ # ifdef PL_SO_EXPORT
125
+ #define PL_EXPORT(type) extern PL_SO_EXPORT type
126
+ #define PL_EXPORT_DATA(type) extern PL_SO_EXPORT type
127
+ # else
128
+ #define PL_EXPORT(type) extern type
129
+ #define PL_EXPORT_DATA(type) extern type
130
+ # endif
131
+ #ifdef HAVE_VISIBILITY_ATTRIBUTE
132
+ #define install_t __attribute__((visibility("default"))) void
133
+ #else
134
+ #define install_t void
135
+ #endif
136
+ #endif /*HAVE_DECLSPEC*/
137
+ #endif /*_PL_EXPORT_DONE*/
138
+
139
+ /*******************************
140
+ * CONSTANTS *
141
+ *******************************/
142
+
143
+ #ifndef EOF
144
+ #define EOF (-1)
145
+ #endif
146
+
147
+ #ifndef NULL
148
+ #define NULL ((void *)0)
149
+ #endif
150
+
151
+ #if defined(__WINDOWS__) && !defined(EWOULDBLOCK)
152
+ #define EWOULDBLOCK 140 /* Needed for socket handling */
153
+ /* 140 is compatible to VS2010 */
154
+ #endif
155
+ #define EPLEXCEPTION 1001 /* errno: pending Prolog exception */
156
+
157
+ #define SIO_BUFSIZE (4096) /* buffering buffer-size */
158
+ #define SIO_LINESIZE (1024) /* Sgets() default buffer size */
159
+ #define SIO_OMAGIC (7212676) /* old magic number */
160
+ #define SIO_MAGIC (7212677) /* magic number */
161
+ #define SIO_CMAGIC (42) /* we are close (and thus illegal!) */
162
+
163
+ typedef ssize_t (*Sread_function)(void *handle, char *buf, size_t bufsize);
164
+ typedef ssize_t (*Swrite_function)(void *handle, char*buf, size_t bufsize);
165
+ typedef long (*Sseek_function)(void *handle, long pos, int whence);
166
+ typedef int64_t (*Sseek64_function)(void *handle, int64_t pos, int whence);
167
+ typedef int (*Sclose_function)(void *handle);
168
+ typedef int (*Scontrol_function)(void *handle, int action, void *arg);
169
+
170
+ typedef struct recursiveMutex IOLOCK;
171
+
172
+ #ifndef PL_HAVE_TERM_T
173
+ #define PL_HAVE_TERM_T
174
+ typedef uintptr_t term_t; /* opaque term handle */
175
+ #endif
176
+ #ifndef PL_HAVE_ATOM_T
177
+ #define PL_HAVE_ATOM_T
178
+ typedef uintptr_t atom_t; /* opaque handle to an atom */
179
+ #endif
180
+
181
+ typedef struct io_functions
182
+ { Sread_function read; /* fill the buffer */
183
+ Swrite_function write; /* empty the buffer */
184
+ Sseek_function seek; /* seek to position */
185
+ Sclose_function close; /* close stream */
186
+ Scontrol_function control; /* Info/control */
187
+ Sseek64_function seek64; /* seek to position (large files) */
188
+ } IOFUNCTIONS;
189
+
190
+ typedef struct io_position
191
+ { int64_t byteno; /* byte-position in file */
192
+ int64_t charno; /* character position in file */
193
+ int lineno; /* lineno in file */
194
+ int linepos; /* position in line */
195
+ intptr_t reserved[2]; /* future extensions */
196
+ } IOPOS;
197
+
198
+ /* NOTE: check with encoding_names */
199
+ /* in pl-file.c */
200
+ #undef IOENC
201
+ typedef enum
202
+ { ENC_UNKNOWN = 0, /* invalid/unknown */
203
+ ENC_OCTET, /* raw 8 bit input */
204
+ ENC_ASCII, /* US-ASCII (0..127) */
205
+ ENC_ISO_LATIN_1, /* ISO Latin-1 (0..256) */
206
+ ENC_ANSI, /* default (multibyte) codepage */
207
+ ENC_UTF8,
208
+ ENC_UTF16BE, /* big endian UTF-16 */
209
+ ENC_UTF16LE, /* little endian UTF-16 file */
210
+ ENC_WCHAR /* wchar_t */
211
+ } IOENC;
212
+
213
+ #define ENC_UNICODE_BE ENC_UTF16BE
214
+ #define ENC_UNICODE_LE ENC_UTF16LE
215
+
216
+
217
+ #define SIO_NL_POSIX 0 /* newline as \n */
218
+ #define SIO_NL_DOS 1 /* newline as \r\n */
219
+ #define SIO_NL_DETECT 3 /* detect processing mode */
220
+
221
+ typedef struct io_stream
222
+ { char *bufp; /* `here' */
223
+ char *limitp; /* read/write limit */
224
+ char *buffer; /* the buffer */
225
+ char *unbuffer; /* Sungetc buffer */
226
+ int lastc; /* last character written */
227
+ int magic; /* magic number SIO_MAGIC */
228
+ int bufsize; /* size of the buffer */
229
+ unsigned int flags; /* Status flags */
230
+ IOPOS posbuf; /* location in file */
231
+ IOPOS * position; /* pointer to above */
232
+ void *handle; /* function's handle */
233
+ IOFUNCTIONS *functions; /* open/close/read/write/seek */
234
+ int timeout; /* timeout (milliseconds) */
235
+ IOENC encoding; /* character encoding used */
236
+ int locks; /* lock/unlock count */
237
+ int references; /* Reference-count */
238
+ IOLOCK * mutex; /* stream mutex */
239
+ void (*close_hook)(void* closure);
240
+ void * closure;
241
+ mbstate_t * mbstate; /* ENC_ANSI decoding */
242
+ struct io_stream * tee; /* copy data to this stream */
243
+ struct io_stream * upstream; /* stream providing our input */
244
+ struct io_stream * downstream; /* stream providing our output */
245
+ unsigned newline : 2; /* Newline mode */
246
+ unsigned erased : 1; /* Stream was erased */
247
+ int io_errno; /* Save errno value */
248
+ char * message; /* error/warning message */
249
+ void * exception; /* pending exception (record_t) */
250
+ void * context; /* getStreamContext() */
251
+ struct PL_locale * locale; /* Locale associated to stream */
252
+ intptr_t fileno; /* File number if this is associated to a file */
253
+ uintptr_t tty_size; /* Size of terminal (2 shorts) */
254
+ intptr_t reserved[2]; /* reserved for extension */
255
+ } IOSTREAM;
256
+
257
+
258
+ #define SmakeFlag(n) ((unsigned int)1<<(n-1))
259
+
260
+ #define SIO_FBUF SmakeFlag(1) /* full buffering */
261
+ #define SIO_LBUF SmakeFlag(2) /* line buffering */
262
+ #define SIO_NBUF SmakeFlag(3) /* no buffering */
263
+ #define SIO_FEOF SmakeFlag(4) /* end-of-file */
264
+ #define SIO_FERR SmakeFlag(5) /* error ocurred */
265
+ #define SIO_USERBUF SmakeFlag(6) /* buffer is from user */
266
+ #define SIO_INPUT SmakeFlag(7) /* input stream */
267
+ #define SIO_OUTPUT SmakeFlag(8) /* output stream */
268
+ #define SIO_NOLINENO SmakeFlag(9) /* line no. info is void */
269
+ #define SIO_NOLINEPOS SmakeFlag(10) /* line pos is void */
270
+ #define SIO_STATIC SmakeFlag(11) /* Stream in static memory */
271
+ #define SIO_RECORDPOS SmakeFlag(12) /* Maintain position */
272
+ #define SIO_FILE SmakeFlag(13) /* Stream refers to an OS file */
273
+ #define SIO_NOERROR SmakeFlag(14) /* Ignore write errors */
274
+ #define SIO_NOFEOF SmakeFlag(15) /* don't set SIO_FEOF flag */
275
+ #define SIO_TEXT SmakeFlag(16) /* text-mode operation */
276
+ #define SIO_FEOF2 SmakeFlag(17) /* attempt to read past eof */
277
+ #define SIO_FEOF2ERR SmakeFlag(18) /* Sfpasteof() */
278
+ #define SIO_NOCLOSE SmakeFlag(19) /* Do not close on abort */
279
+ #define SIO_APPEND SmakeFlag(20) /* opened in append-mode */
280
+ #define SIO_UPDATE SmakeFlag(21) /* opened in update-mode */
281
+ #define SIO_ISATTY SmakeFlag(22) /* Stream is a tty */
282
+ #define SIO_CLOSING SmakeFlag(23) /* We are closing the stream */
283
+ #define SIO_TIMEOUT SmakeFlag(24) /* We had a timeout */
284
+ #define SIO_NOMUTEX SmakeFlag(25) /* Do not allow multi-thread access */
285
+ #define SIO_ADVLOCK SmakeFlag(26) /* File locked with advisory lock */
286
+ #define SIO_WARN SmakeFlag(27) /* Pending warning */
287
+ #define SIO_RAW SmakeFlag(28) /* TTY Stream is in raw mode */
288
+ #define SIO_REPXML SmakeFlag(29) /* Bad char --> XML entity */
289
+ #define SIO_REPPL SmakeFlag(30) /* Bad char --> Prolog \hex\ */
290
+ #define SIO_BOM SmakeFlag(31) /* BOM was detected/written */
291
+ #define SIO_REPPLU SmakeFlag(32) /* Bad char --> Prolog \uXXXX */
292
+
293
+ #define SIO_TRYLOCK SIO_CLOSING /* Used by PL_get_stream() */
294
+
295
+ #define SIO_SEEK_SET 0 /* From beginning of file. */
296
+ #define SIO_SEEK_CUR 1 /* From current position. */
297
+ #define SIO_SEEK_END 2 /* From end of file. */
298
+
299
+ PL_EXPORT(IOSTREAM *) S__getiob(void); /* get DLL's __iob[] address */
300
+
301
+ PL_EXPORT_DATA(IOFUNCTIONS) Sfilefunctions; /* OS file functions */
302
+ PL_EXPORT_DATA(int) Slinesize; /* Sgets() linesize */
303
+ #if defined(__CYGWIN__) && !defined(PL_KERNEL)
304
+ #define S__iob S__getiob()
305
+ #else
306
+ PL_EXPORT_DATA(IOSTREAM) S__iob[3]; /* Libs standard streams */
307
+ #endif
308
+
309
+ /* WARNING: Sinput, Soutput, Serror use the OS's files directly.
310
+ If you wish to use Prolog's streams, use Suser_input,
311
+ Scurrent_output, etc. in SWI-Prolog.h
312
+ */
313
+
314
+ #define Sinput (&S__iob[0]) /* Stream Sinput */
315
+ #define Soutput (&S__iob[1]) /* Stream Soutput */
316
+ #define Serror (&S__iob[2]) /* Stream Serror */
317
+
318
+ #define Sgetchar() Sgetc(Sinput)
319
+ #define Sputchar(c) Sputc((c), Soutput)
320
+
321
+ #define S__updatefilepos_getc(s, c) \
322
+ ((s)->position ? S__fupdatefilepos_getc((s), (c)) \
323
+ : (c))
324
+
325
+ #define Snpgetc(s) ((s)->bufp < (s)->limitp ? (int)(*(s)->bufp++)&0xff \
326
+ : S__fillbuf(s))
327
+ #define Sgetc(s) S__updatefilepos_getc((s), Snpgetc(s))
328
+
329
+ /* Control-operations */
330
+ #define SIO_GETSIZE (1) /* get size of underlying object */
331
+ #define SIO_GETFILENO (2) /* get underlying file (if any) */
332
+ #define SIO_SETENCODING (3) /* modify encoding of stream */
333
+ #define SIO_FLUSHOUTPUT (4) /* flush output */
334
+ #define SIO_LASTERROR (5) /* string holding last error */
335
+ #ifdef __WINDOWS__
336
+ #define SIO_GETWINSOCK (6) /* get underlying SOCKET object */
337
+ #endif
338
+ #define SIO_GETPENDING (7) /* get #pending bytes */
339
+ #define SIO_GETREPOSITION (8) /* Test if stream is repositionable */
340
+ #ifdef __WINDOWS__
341
+ #define SIO_GETWINHANDLE (9) /* Get underlying handle */
342
+ #endif
343
+
344
+ /* Sread_pending() */
345
+ #define SIO_RP_BLOCK 0x1 /* wait for new input */
346
+ #define SIO_RP_NOPOS 0x2 /* Do not update position */
347
+
348
+ #define SIO_CLOSE_TRYLOCK 0x1 /* Sgcclose(): fail if we cannot lock */
349
+ #define SIO_CLOSE_FORCE 0x2 /* Sgcclose(): force regardless of lock */
350
+ /*#define #define SIO_CLOSE_GC 0x4 Sgcclose(): used internally */
351
+
352
+ #if IOSTREAM_REPLACES_STDIO
353
+
354
+ #undef FILE
355
+ #undef stdin
356
+ #undef stdout
357
+ #undef stderr
358
+ #undef putc
359
+ #undef getc
360
+ #undef putchar
361
+ #undef getchar
362
+ #undef feof
363
+ #undef ferror
364
+ #undef fileno
365
+ #undef clearerr
366
+
367
+ #define FILE IOSTREAM
368
+ #define stdin Sinput
369
+ #define stdout Soutput
370
+ #define stderr Serror
371
+
372
+ #define putc Sputc
373
+ #define getc Sgetc
374
+ #define fputc Sputc
375
+ #define fgetc Sgetc
376
+ #define getw Sgetw
377
+ #define putw Sputw
378
+ #define fread Sfread
379
+ #define fwrite Sfwrite
380
+ #define ungetc Sungetc
381
+ #define putchar Sputchar
382
+ #define getchar Sgetchar
383
+ #define feof Sfeof
384
+ #define ferror Sferror
385
+ #define clearerr Sclearerr
386
+ #define fflush Sflush
387
+ #define fseek Sseek
388
+ #define ftell Stell
389
+ #define fclose Sclose
390
+ #define fgets Sfgets
391
+ #define gets Sgets
392
+ #define fputs Sfputs
393
+ #define puts Sputs
394
+ #define fprintf Sfprintf
395
+ #define printf Sprintf
396
+ #define vprintf Svprintf
397
+ #define vfprintf Svfprintf
398
+ #define sprintf Ssprintf
399
+ #define vsprintf Svsprintf
400
+ #define fopen Sopen_file
401
+ #define fdopen Sfdopen
402
+ #define fileno Sfileno
403
+ #define popen Sopen_pipe
404
+
405
+ #endif /*IOSTREAM_REPLACES_STDIO*/
406
+
407
+ /*******************************
408
+ * PROTOTYPES *
409
+ *******************************/
410
+
411
+ #if !defined(WPRINTF12)
412
+ /* these macros are duplicated in SWI-Prolog.h */
413
+ #if defined(CHECK_FORMAT)
414
+ #define WPRINTF12 __attribute__ ((format (printf, 1, 2)))
415
+ #define WPRINTF23 __attribute__ ((format (printf, 2, 3)))
416
+ #define WPRINTF34 __attribute__ ((format (printf, 3, 4)))
417
+ #else
418
+ #define WPRINTF12
419
+ #define WPRINTF23
420
+ #define WPRINTF34
421
+ #endif
422
+ #endif
423
+
424
+ PL_EXPORT(void) SinitStreams(void);
425
+ PL_EXPORT(void) Scleanup(void);
426
+ PL_EXPORT(void) Sreset(void);
427
+ PL_EXPORT(int) S__fupdatefilepos_getc(IOSTREAM *s, int c);
428
+ PL_EXPORT(int) S__fillbuf(IOSTREAM *s);
429
+ PL_EXPORT(int) Sset_timeout(IOSTREAM *s, int tmo);
430
+ PL_EXPORT(int) Sunit_size(IOSTREAM *s);
431
+ /* byte I/O */
432
+ PL_EXPORT(int) Sputc(int c, IOSTREAM *s);
433
+ PL_EXPORT(int) Sfgetc(IOSTREAM *s);
434
+ PL_EXPORT(int) Sungetc(int c, IOSTREAM *s);
435
+ /* multibyte I/O */
436
+ PL_EXPORT(int) Scanrepresent(int c, IOSTREAM *s);
437
+ PL_EXPORT(int) Sputcode(int c, IOSTREAM *s);
438
+ PL_EXPORT(int) Sgetcode(IOSTREAM *s);
439
+ PL_EXPORT(int) Speekcode(IOSTREAM *s);
440
+ /* word I/O */
441
+ PL_EXPORT(int) Sputw(int w, IOSTREAM *s);
442
+ PL_EXPORT(int) Sgetw(IOSTREAM *s);
443
+ PL_EXPORT(size_t) Sfread(void *data, size_t size, size_t elems,
444
+ IOSTREAM *s);
445
+ PL_EXPORT(size_t) Sfwrite(const void *data, size_t size, size_t elems,
446
+ IOSTREAM *s);
447
+ PL_EXPORT(int) Sfeof(IOSTREAM *s);
448
+ PL_EXPORT(int) Sfpasteof(IOSTREAM *s);
449
+ PL_EXPORT(int) Sferror(IOSTREAM *s);
450
+ PL_EXPORT(void) Sclearerr(IOSTREAM *s);
451
+ PL_EXPORT(int) Sseterr(IOSTREAM *s, int which, const char *message);
452
+ PL_EXPORT(int) Sset_exception(IOSTREAM *s, term_t ex);
453
+ PL_EXPORT(int) Ssetenc(IOSTREAM *s, IOENC new_enc, IOENC *old_enc);
454
+ PL_EXPORT(int) Ssetlocale(IOSTREAM *s,
455
+ struct PL_locale *new_loc,
456
+ struct PL_locale **old_loc);
457
+ PL_EXPORT(int) Sflush(IOSTREAM *s);
458
+ PL_EXPORT(int64_t) Ssize(IOSTREAM *s);
459
+ PL_EXPORT(int) Sseek(IOSTREAM *s, long pos, int whence); /* WDEPRECATED */ /* use Sseek64() */
460
+ PL_EXPORT(long) Stell(IOSTREAM *s); /* WDEPRECATED */ /* use Stell64() */
461
+ PL_EXPORT(int) Ssetttysize(IOSTREAM *s, short cols, short rows);
462
+ PL_EXPORT(int) Sgetttysize(IOSTREAM *s, short *cols, short *rows);
463
+ PL_EXPORT(int) Sclose(IOSTREAM *s);
464
+ PL_EXPORT(int) Sgcclose(IOSTREAM *s, int flags);
465
+ PL_EXPORT(char *) Sfgets(char *buf, int n, IOSTREAM *s);
466
+ PL_EXPORT(char *) Sgets(char *buf);
467
+ PL_EXPORT(ssize_t) Sread_pending(IOSTREAM *s,
468
+ char *buf, size_t limit, int flags);
469
+ PL_EXPORT(size_t) Spending(IOSTREAM *s);
470
+ PL_EXPORT(int) Sfputs(const char *q, IOSTREAM *s);
471
+ PL_EXPORT(int) Sputs(const char *q);
472
+ PL_EXPORT(int) Sfprintf(IOSTREAM *s, const char *fm, ...) WPRINTF23;
473
+ PL_EXPORT(int) SfprintfX(IOSTREAM *s, const char *fm, ...);
474
+ PL_EXPORT(int) Sprintf(const char *fm, ...) WPRINTF12;
475
+ PL_EXPORT(int) Svprintf(const char *fm, va_list args);
476
+ PL_EXPORT(int) Svfprintf(IOSTREAM *s, const char *fm, va_list args);
477
+ PL_EXPORT(int) Ssprintf(char *buf, const char *fm, ...) WPRINTF23;
478
+ PL_EXPORT(int) Ssnprintf(char *buf, size_t size, const char *fm, ...) WPRINTF34;
479
+ PL_EXPORT(int) SsnprintfX(char *buf, size_t size, const char *fm, ...);
480
+ PL_EXPORT(int) Svsprintf(char *buf, const char *fm, va_list args);
481
+ PL_EXPORT(int) Svsnprintf(char *buf, size_t size, const char *fm, va_list args);
482
+ PL_EXPORT(int) Svdprintf(const char *fm, va_list args);
483
+ PL_EXPORT(int) Sdprintf(const char *fm, ...) WPRINTF12;
484
+ PL_EXPORT(int) SdprintfX(const char *fm, ...);
485
+ PL_EXPORT(int) Slock(IOSTREAM *s);
486
+ PL_EXPORT(int) StryLock(IOSTREAM *s);
487
+ PL_EXPORT(int) Sunlock(IOSTREAM *s);
488
+ PL_EXPORT(IOSTREAM *) Snew(void *handle, int flags, IOFUNCTIONS *functions);
489
+ PL_EXPORT(IOSTREAM *) Sopen_file(const char *path, const char *how);
490
+ PL_EXPORT(IOSTREAM *) Sopen_iri_or_file(const char *path, const char *how);
491
+ PL_EXPORT(IOSTREAM *) Sfdopen(int fd, const char *type);
492
+ PL_EXPORT(int) Sfileno(IOSTREAM *s);
493
+ #if defined(__WINDOWS__) && SWIPL_WINDOWS_NATIVE_ACCESS
494
+ PL_EXPORT(int) Swin_open_osfhandle(HANDLE h, int flags);
495
+ PL_EXPORT(IOSTREAM *) Swin_open_handle(HANDLE h, const char *mode);
496
+ PL_EXPORT(HANDLE) Swinhandle(IOSTREAM *s);
497
+ #if defined(_WINSOCKAPI_) || defined(NEEDS_SWINSOCK) /* have SOCKET */
498
+ PL_EXPORT(SOCKET) Swinsock(IOSTREAM *s);
499
+ #endif
500
+ #endif
501
+ PL_EXPORT(IOSTREAM *) Sopen_pipe(const char *command, const char *type);
502
+ PL_EXPORT(IOSTREAM *) Sopenmem(char **buffer, size_t *sizep, const char *mode);
503
+ PL_EXPORT(IOSTREAM *) Sopen_string(IOSTREAM *s, char *buf, size_t sz, const char *m);
504
+ PL_EXPORT(int) Sclosehook(void (*hook)(IOSTREAM *s));
505
+ PL_EXPORT(void) Sfree(void *ptr);
506
+ PL_EXPORT(int) Sset_filter(IOSTREAM *parent, IOSTREAM *filter);
507
+ PL_EXPORT(void) Ssetbuffer(IOSTREAM *s, char *buf, size_t size);
508
+
509
+ PL_EXPORT(int64_t) Stell64(IOSTREAM *s);
510
+ PL_EXPORT(int) Sseek64(IOSTREAM *s, int64_t pos, int whence);
511
+
512
+ PL_EXPORT(int) ScheckBOM(IOSTREAM *s);
513
+ PL_EXPORT(int) SwriteBOM(IOSTREAM *s);
514
+
515
+ #ifdef _SWI_PROLOG_H
516
+ PL_EXPORT(IOENC) PL_atom_to_encoding(atom_t name);
517
+ PL_EXPORT(atom_t) PL_encoding_to_atom(IOENC enc);
518
+ #endif
519
+
520
+ PL_EXPORT(int) PL_qlf_get_int64(IOSTREAM *s, int64_t *ip);
521
+ PL_EXPORT(int) PL_qlf_get_int32(IOSTREAM *s, int32_t *ip);
522
+ PL_EXPORT(int) PL_qlf_get_uint32(IOSTREAM *s, uint32_t *ip);
523
+ PL_EXPORT(int) PL_qlf_get_double(IOSTREAM *s, double *fp);
524
+ PL_EXPORT(int) PL_qlf_get_atom(IOSTREAM *s, atom_t *a);
525
+
526
+ PL_EXPORT(int) PL_qlf_put_int64(int64_t i, IOSTREAM *s);
527
+ PL_EXPORT(int) PL_qlf_put_int32(int32_t i, IOSTREAM *s);
528
+ PL_EXPORT(int) PL_qlf_put_uint32(uint32_t i, IOSTREAM *s);
529
+ PL_EXPORT(int) PL_qlf_put_double(double f, IOSTREAM *s);
530
+ PL_EXPORT(int) PL_qlf_put_atom(atom_t a, IOSTREAM *s);
531
+
532
+
533
+ #ifdef __cplusplus
534
+ }
535
+ #endif
536
+
537
+ #endif /*_SWI_STREAM_H*/