webruby 0.1.2 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (518) hide show
  1. checksums.yaml +4 -4
  2. data/driver/driver.c +12 -0
  3. data/lib/webruby/config.rb +3 -3
  4. data/lib/webruby/environment.rb +1 -0
  5. data/lib/webruby/rake/files.rake +22 -22
  6. data/lib/webruby/rake/general.rake +0 -1
  7. data/lib/webruby/utility.rb +2 -0
  8. data/modules/emscripten/AUTHORS +12 -1
  9. data/modules/emscripten/cmake/Platform/Emscripten.cmake +152 -15
  10. data/modules/emscripten/em++ +2 -0
  11. data/modules/emscripten/em++.bat +1 -1
  12. data/modules/emscripten/em-config.bat +1 -1
  13. data/modules/emscripten/emar.bat +1 -1
  14. data/modules/emscripten/emcc +233 -95
  15. data/modules/emscripten/emcc.bat +1 -1
  16. data/modules/emscripten/emconfigure.bat +1 -1
  17. data/modules/emscripten/emmake.bat +1 -1
  18. data/modules/emscripten/emranlib.bat +1 -1
  19. data/modules/emscripten/emscripten.py +221 -217
  20. data/modules/emscripten/package.json +7 -0
  21. data/modules/emscripten/src/analyzer.js +1437 -1385
  22. data/modules/emscripten/src/compiler.js +30 -6
  23. data/modules/emscripten/src/compiler_phase.html +33 -0
  24. data/modules/emscripten/src/fastLong.js +6 -6
  25. data/modules/emscripten/src/headless.js +47 -656
  26. data/modules/emscripten/src/headlessCanvas.js +618 -0
  27. data/modules/emscripten/src/intertyper.js +1038 -899
  28. data/modules/emscripten/src/jsifier.js +818 -714
  29. data/modules/emscripten/src/library.js +1794 -2968
  30. data/modules/emscripten/src/library_browser.js +81 -16
  31. data/modules/emscripten/src/library_egl.js +9 -3
  32. data/modules/emscripten/src/library_fs.js +1585 -0
  33. data/modules/emscripten/src/library_gl.js +445 -202
  34. data/modules/emscripten/src/library_glfw.js +4 -1
  35. data/modules/emscripten/src/library_glut.js +61 -13
  36. data/modules/emscripten/src/library_idbfs.js +216 -0
  37. data/modules/emscripten/src/library_memfs.js +279 -0
  38. data/modules/emscripten/src/library_nodefs.js +234 -0
  39. data/modules/emscripten/src/library_openal.js +131 -150
  40. data/modules/emscripten/src/library_path.js +3 -0
  41. data/modules/emscripten/src/library_sdl.js +499 -229
  42. data/modules/emscripten/src/library_sockfs.js +576 -0
  43. data/modules/emscripten/src/library_tty.js +146 -0
  44. data/modules/emscripten/src/modules.js +30 -35
  45. data/modules/emscripten/src/parseTools.js +356 -161
  46. data/modules/emscripten/src/postamble.js +76 -31
  47. data/modules/emscripten/src/preamble.js +271 -41
  48. data/modules/emscripten/src/proxyClient.js +82 -0
  49. data/modules/emscripten/src/proxyWorker.js +143 -0
  50. data/modules/emscripten/src/relooper/Relooper.cpp +60 -24
  51. data/modules/emscripten/src/relooper/Relooper.h +3 -2
  52. data/modules/emscripten/src/relooper/emscripten/glue.js +20 -10
  53. data/modules/emscripten/src/relooper/fuzzer.py +19 -10
  54. data/modules/emscripten/src/relooper/test.cpp +50 -50
  55. data/modules/emscripten/src/relooper/test.txt +147 -30
  56. data/modules/emscripten/src/relooper/test2.c +13 -13
  57. data/modules/emscripten/src/relooper/test2.txt +17 -3
  58. data/modules/emscripten/src/relooper/test3.c +7 -7
  59. data/modules/emscripten/src/relooper/test3.txt +36 -7
  60. data/modules/emscripten/src/relooper/test4.cpp +7 -7
  61. data/modules/emscripten/src/relooper/test4.txt +28 -7
  62. data/modules/emscripten/src/relooper/test5.cpp +6 -6
  63. data/modules/emscripten/src/relooper/test5.txt +34 -10
  64. data/modules/emscripten/src/relooper/test6.cpp +4 -4
  65. data/modules/emscripten/src/relooper/test6.txt +17 -3
  66. data/modules/emscripten/src/relooper/test_dead.cpp +2 -2
  67. data/modules/emscripten/src/relooper/test_debug.cpp +4 -4
  68. data/modules/emscripten/src/relooper/test_debug.txt +17 -3
  69. data/modules/emscripten/src/relooper/test_fuzz1.cpp +9 -9
  70. data/modules/emscripten/src/relooper/test_fuzz1.txt +45 -5
  71. data/modules/emscripten/src/relooper/test_fuzz2.cpp +4 -4
  72. data/modules/emscripten/src/relooper/test_fuzz2.txt +18 -1
  73. data/modules/emscripten/src/relooper/test_fuzz3.cpp +5 -5
  74. data/modules/emscripten/src/relooper/test_fuzz3.txt +16 -0
  75. data/modules/emscripten/src/relooper/test_fuzz4.cpp +5 -5
  76. data/modules/emscripten/src/relooper/test_fuzz4.txt +25 -3
  77. data/modules/emscripten/src/relooper/test_fuzz5.cpp +10 -10
  78. data/modules/emscripten/src/relooper/test_fuzz5.txt +49 -15
  79. data/modules/emscripten/src/relooper/test_fuzz6.cpp +92 -92
  80. data/modules/emscripten/src/relooper/test_fuzz6.txt +201 -18
  81. data/modules/emscripten/src/relooper/test_inf.cpp +184 -184
  82. data/modules/emscripten/src/relooper/test_inf.txt +1078 -332
  83. data/modules/emscripten/src/runtime.js +69 -45
  84. data/modules/emscripten/src/settings.js +48 -919
  85. data/modules/emscripten/src/shell.html +1 -1
  86. data/modules/emscripten/src/shell.js +14 -8
  87. data/modules/emscripten/src/shell_sharedlib.js +18 -1
  88. data/modules/emscripten/src/simd.js +958 -0
  89. data/modules/emscripten/src/struct_info.json +1045 -0
  90. data/modules/emscripten/src/utility.js +11 -0
  91. data/modules/emscripten/system/bin/sdl-config +13 -0
  92. data/modules/emscripten/system/include/compat/ctype.h +17 -0
  93. data/modules/emscripten/system/include/compat/malloc.h +48 -0
  94. data/modules/emscripten/system/include/compat/math.h +14 -0
  95. data/modules/emscripten/system/include/compat/netdb.h +22 -0
  96. data/modules/emscripten/system/include/compat/stdarg.h +16 -0
  97. data/modules/emscripten/system/include/compat/stdlib.h +16 -0
  98. data/modules/emscripten/system/include/compat/string.h +17 -0
  99. data/modules/emscripten/system/include/compat/sys/socketvar.h +14 -0
  100. data/modules/emscripten/system/include/compat/sys/stat.h +20 -0
  101. data/modules/emscripten/system/include/{libc → compat}/sys/timeb.h +3 -7
  102. data/modules/emscripten/system/include/compat/time.h +18 -0
  103. data/modules/emscripten/system/include/compat/unistd.h +16 -0
  104. data/modules/emscripten/system/include/compat/xlocale.h +19 -0
  105. data/modules/emscripten/system/include/emscripten/emscripten.h +48 -7
  106. data/modules/emscripten/system/include/emscripten/vector.h +6 -0
  107. data/modules/emscripten/system/include/libc/aio.h +69 -0
  108. data/modules/emscripten/system/include/libc/alloca.h +13 -13
  109. data/modules/emscripten/system/include/libc/ar.h +19 -63
  110. data/modules/emscripten/system/include/libc/arpa/ftp.h +35 -0
  111. data/modules/emscripten/system/include/libc/arpa/inet.h +36 -0
  112. data/modules/emscripten/system/include/libc/arpa/nameser.h +467 -0
  113. data/modules/emscripten/system/include/libc/arpa/nameser_compat.h +2 -0
  114. data/modules/emscripten/system/include/libc/arpa/telnet.h +251 -0
  115. data/modules/emscripten/system/include/libc/arpa/tftp.h +31 -0
  116. data/modules/emscripten/system/include/libc/assert.h +9 -36
  117. data/modules/emscripten/system/include/libc/bits/alltypes.h +397 -0
  118. data/modules/emscripten/system/include/libc/bits/endian.h +1 -0
  119. data/modules/emscripten/system/include/libc/bits/errno.h +134 -0
  120. data/modules/emscripten/system/include/libc/bits/fcntl.h +38 -0
  121. data/modules/emscripten/system/include/libc/bits/fenv.h +34 -0
  122. data/modules/emscripten/system/include/libc/bits/float.h +17 -0
  123. data/modules/emscripten/system/include/libc/bits/io.h +0 -0
  124. data/modules/emscripten/system/include/libc/bits/ioctl.h +197 -0
  125. data/modules/emscripten/system/include/libc/bits/ipc.h +14 -0
  126. data/modules/emscripten/system/include/libc/bits/limits.h +8 -0
  127. data/modules/emscripten/system/include/libc/bits/mman.h +62 -0
  128. data/modules/emscripten/system/include/libc/bits/msg.h +16 -0
  129. data/modules/emscripten/system/include/libc/bits/posix.h +2 -0
  130. data/modules/emscripten/system/include/libc/bits/reg.h +19 -0
  131. data/modules/emscripten/system/include/libc/bits/setjmp.h +1 -0
  132. data/modules/emscripten/system/include/libc/bits/shm.h +18 -0
  133. data/modules/emscripten/system/include/libc/bits/signal.h +112 -0
  134. data/modules/emscripten/system/include/libc/bits/socket.h +17 -0
  135. data/modules/emscripten/system/include/libc/bits/stat.h +22 -0
  136. data/modules/emscripten/system/include/libc/bits/statfs.h +7 -0
  137. data/modules/emscripten/system/include/libc/bits/stdarg.h +4 -0
  138. data/modules/emscripten/system/include/libc/bits/stdint.h +20 -0
  139. data/modules/emscripten/system/include/libc/bits/syscall.h +696 -0
  140. data/modules/emscripten/system/include/libc/bits/termios.h +160 -0
  141. data/modules/emscripten/system/include/libc/bits/user.h +48 -0
  142. data/modules/emscripten/system/include/libc/byteswap.h +26 -0
  143. data/modules/emscripten/system/include/libc/complex.h +55 -54
  144. data/modules/emscripten/system/include/libc/cpio.h +29 -0
  145. data/modules/emscripten/system/include/libc/crypt.h +20 -0
  146. data/modules/emscripten/system/include/libc/ctype.h +58 -187
  147. data/modules/emscripten/system/include/libc/dirent.h +69 -6
  148. data/modules/emscripten/system/include/libc/dlfcn.h +42 -0
  149. data/modules/emscripten/system/include/libc/elf.h +2555 -0
  150. data/modules/emscripten/system/include/libc/endian.h +80 -1
  151. data/modules/emscripten/system/include/libc/err.h +25 -0
  152. data/modules/emscripten/system/include/libc/errno.h +23 -7
  153. data/modules/emscripten/system/include/libc/fcntl.h +175 -1
  154. data/modules/emscripten/system/include/libc/features.h +32 -0
  155. data/modules/emscripten/system/include/libc/fenv.h +28 -0
  156. data/modules/emscripten/system/include/libc/float.h +34 -0
  157. data/modules/emscripten/system/include/libc/fnmatch.h +24 -50
  158. data/modules/emscripten/system/include/libc/ftw.h +42 -0
  159. data/modules/emscripten/system/include/libc/getopt.h +22 -187
  160. data/modules/emscripten/system/include/libc/glob.h +42 -83
  161. data/modules/emscripten/system/include/libc/grp.h +37 -79
  162. data/modules/emscripten/system/include/libc/iconv.h +18 -56
  163. data/modules/emscripten/system/include/libc/ifaddrs.h +24 -53
  164. data/modules/emscripten/system/include/libc/inttypes.h +208 -271
  165. data/modules/emscripten/system/include/libc/iso646.h +5 -28
  166. data/modules/emscripten/system/include/libc/langinfo.h +88 -316
  167. data/modules/emscripten/system/include/libc/lastlog.h +1 -0
  168. data/modules/emscripten/system/include/libc/libgen.h +5 -13
  169. data/modules/emscripten/system/include/libc/libintl.h +25 -0
  170. data/modules/emscripten/system/include/libc/limits.h +140 -149
  171. data/modules/emscripten/system/include/libc/link.h +54 -0
  172. data/modules/emscripten/system/include/libc/locale.h +72 -70
  173. data/modules/emscripten/system/include/libc/malloc.h +0 -169
  174. data/modules/emscripten/system/include/libc/math.h +393 -573
  175. data/modules/emscripten/system/include/libc/memory.h +1 -0
  176. data/modules/emscripten/system/include/libc/mntent.h +44 -0
  177. data/modules/emscripten/system/include/libc/monetary.h +23 -0
  178. data/modules/emscripten/system/include/libc/mqueue.h +36 -0
  179. data/modules/emscripten/system/include/libc/net/ethernet.h +55 -0
  180. data/modules/emscripten/system/include/libc/net/if.h +135 -0
  181. data/modules/emscripten/system/include/libc/net/if_arp.h +133 -0
  182. data/modules/emscripten/system/include/libc/net/route.h +124 -0
  183. data/modules/emscripten/system/include/libc/netdb.h +161 -0
  184. data/modules/emscripten/system/include/libc/netinet/ether.h +14 -0
  185. data/modules/emscripten/system/include/libc/netinet/icmp6.h +305 -0
  186. data/modules/emscripten/system/include/libc/netinet/if_ether.h +126 -0
  187. data/modules/emscripten/system/include/libc/netinet/in.h +336 -0
  188. data/modules/emscripten/system/include/libc/netinet/in_systm.h +9 -0
  189. data/modules/emscripten/system/include/libc/netinet/ip.h +186 -0
  190. data/modules/emscripten/system/include/libc/netinet/ip6.h +142 -0
  191. data/modules/emscripten/system/include/libc/netinet/ip_icmp.h +192 -0
  192. data/modules/emscripten/system/include/libc/netinet/tcp.h +71 -0
  193. data/modules/emscripten/system/include/libc/netinet/udp.h +35 -0
  194. data/modules/emscripten/system/include/libc/netpacket/packet.h +44 -0
  195. data/modules/emscripten/system/include/libc/nl_types.h +22 -0
  196. data/modules/emscripten/system/include/libc/paths.h +30 -5
  197. data/modules/emscripten/system/include/libc/poll.h +46 -0
  198. data/modules/emscripten/system/include/libc/pthread.h +191 -331
  199. data/modules/emscripten/system/include/libc/pty.h +18 -0
  200. data/modules/emscripten/system/include/libc/pwd.h +33 -62
  201. data/modules/emscripten/system/include/libc/readme.txt +2 -2
  202. data/modules/emscripten/system/include/libc/regex.h +53 -93
  203. data/modules/emscripten/system/include/libc/resolv.h +144 -0
  204. data/modules/emscripten/system/include/libc/sched.h +124 -89
  205. data/modules/emscripten/system/include/libc/search.h +40 -48
  206. data/modules/emscripten/system/include/libc/semaphore.h +35 -0
  207. data/modules/emscripten/system/include/libc/setjmp.h +35 -13
  208. data/modules/emscripten/system/include/libc/shadow.h +44 -0
  209. data/modules/emscripten/system/include/libc/signal.h +245 -20
  210. data/modules/emscripten/system/include/libc/spawn.h +74 -0
  211. data/modules/emscripten/system/include/libc/stdalign.h +15 -0
  212. data/modules/emscripten/system/include/libc/stdarg.h +18 -43
  213. data/modules/emscripten/system/include/libc/stdbool.h +14 -0
  214. data/modules/emscripten/system/include/libc/stddef.h +12 -58
  215. data/modules/emscripten/system/include/libc/stdint.h +82 -458
  216. data/modules/emscripten/system/include/libc/stdio.h +184 -679
  217. data/modules/emscripten/system/include/libc/stdio_ext.h +34 -0
  218. data/modules/emscripten/system/include/libc/stdlib.h +146 -205
  219. data/modules/emscripten/system/include/libc/stdnoreturn.h +5 -0
  220. data/modules/emscripten/system/include/libc/string.h +86 -89
  221. data/modules/emscripten/system/include/libc/strings.h +27 -27
  222. data/modules/emscripten/system/include/libc/stropts.h +139 -0
  223. data/modules/emscripten/system/include/libc/sys/acct.h +75 -0
  224. data/modules/emscripten/system/include/libc/sys/cachectl.h +22 -0
  225. data/modules/emscripten/system/include/libc/sys/dir.h +0 -8
  226. data/modules/emscripten/system/include/libc/sys/epoll.h +67 -0
  227. data/modules/emscripten/system/include/libc/sys/errno.h +2 -190
  228. data/modules/emscripten/system/include/libc/sys/eventfd.h +26 -0
  229. data/modules/emscripten/system/include/libc/sys/fcntl.h +2 -4
  230. data/modules/emscripten/system/include/libc/sys/file.h +20 -1
  231. data/modules/emscripten/system/include/libc/sys/fsuid.h +20 -0
  232. data/modules/emscripten/system/include/libc/sys/inotify.h +57 -0
  233. data/modules/emscripten/system/include/libc/sys/io.h +17 -0
  234. data/modules/emscripten/system/include/libc/sys/ioctl.h +14 -0
  235. data/modules/emscripten/system/include/libc/sys/ipc.h +42 -0
  236. data/modules/emscripten/system/include/{sys/sysctl.h → libc/sys/klog.h} +4 -4
  237. data/modules/emscripten/system/include/libc/sys/mman.h +55 -0
  238. data/modules/emscripten/system/include/libc/sys/mount.h +72 -0
  239. data/modules/emscripten/system/include/libc/sys/msg.h +52 -0
  240. data/modules/emscripten/system/include/libc/sys/mtio.h +188 -0
  241. data/modules/emscripten/system/include/libc/sys/param.h +29 -19
  242. data/modules/emscripten/system/include/libc/sys/personality.h +46 -0
  243. data/modules/emscripten/system/include/libc/sys/poll.h +2 -0
  244. data/modules/emscripten/system/include/libc/sys/prctl.h +101 -0
  245. data/modules/emscripten/system/include/libc/sys/procfs.h +65 -0
  246. data/modules/emscripten/system/include/libc/sys/ptrace.h +96 -0
  247. data/modules/emscripten/system/include/libc/sys/reboot.h +20 -0
  248. data/modules/emscripten/system/include/libc/sys/reg.h +9 -0
  249. data/modules/emscripten/system/include/libc/sys/resource.h +89 -45
  250. data/modules/emscripten/system/include/libc/sys/select.h +42 -0
  251. data/modules/emscripten/system/include/libc/sys/sem.h +82 -0
  252. data/modules/emscripten/system/include/libc/sys/sendfile.h +22 -0
  253. data/modules/emscripten/system/include/libc/sys/shm.h +61 -0
  254. data/modules/emscripten/system/include/libc/sys/signal.h +1 -315
  255. data/modules/emscripten/system/include/libc/sys/signalfd.h +44 -0
  256. data/modules/emscripten/system/include/libc/sys/socket.h +299 -0
  257. data/modules/emscripten/system/include/libc/sys/stat.h +95 -204
  258. data/modules/emscripten/system/include/libc/sys/statfs.h +32 -0
  259. data/modules/emscripten/system/include/libc/sys/statvfs.h +57 -0
  260. data/modules/emscripten/system/include/libc/sys/stropts.h +1 -0
  261. data/modules/emscripten/system/include/libc/sys/swap.h +21 -0
  262. data/modules/emscripten/system/include/libc/sys/syscall.h +6 -0
  263. data/modules/emscripten/system/include/libc/sys/sysctl.h +17 -0
  264. data/modules/emscripten/system/include/libc/sys/sysinfo.h +36 -0
  265. data/modules/emscripten/system/include/libc/sys/syslog.h +1 -0
  266. data/modules/emscripten/system/include/libc/sys/sysmacros.h +15 -0
  267. data/modules/emscripten/system/include/libc/sys/termios.h +2 -280
  268. data/modules/emscripten/system/include/libc/sys/time.h +40 -68
  269. data/modules/emscripten/system/include/libc/sys/timerfd.h +24 -0
  270. data/modules/emscripten/system/include/libc/sys/times.h +14 -16
  271. data/modules/emscripten/system/include/libc/sys/timex.h +98 -0
  272. data/modules/emscripten/system/include/libc/sys/ttydefaults.h +34 -92
  273. data/modules/emscripten/system/include/libc/sys/types.h +87 -481
  274. data/modules/emscripten/system/include/libc/sys/ucontext.h +1 -0
  275. data/modules/emscripten/system/include/libc/sys/uio.h +48 -0
  276. data/modules/emscripten/system/include/libc/sys/un.h +32 -0
  277. data/modules/emscripten/system/include/libc/sys/user.h +16 -0
  278. data/modules/emscripten/system/include/libc/sys/utsname.h +30 -0
  279. data/modules/emscripten/system/include/libc/sys/vfs.h +1 -0
  280. data/modules/emscripten/system/include/libc/sys/wait.h +41 -26
  281. data/modules/emscripten/system/include/libc/sys/xattr.h +30 -0
  282. data/modules/emscripten/system/include/libc/syscall.h +1 -0
  283. data/modules/emscripten/system/include/libc/sysexits.h +21 -0
  284. data/modules/emscripten/system/include/libc/syslog.h +104 -0
  285. data/modules/emscripten/system/include/libc/tar.h +27 -33
  286. data/modules/emscripten/system/include/libc/termios.h +40 -1
  287. data/modules/emscripten/system/include/libc/tgmath.h +270 -0
  288. data/modules/emscripten/system/include/libc/time.h +96 -237
  289. data/modules/emscripten/system/include/libc/ucontext.h +25 -0
  290. data/modules/emscripten/system/include/libc/ulimit.h +17 -0
  291. data/modules/emscripten/system/include/libc/unistd.h +517 -4
  292. data/modules/emscripten/system/include/libc/utime.h +15 -3
  293. data/modules/emscripten/system/include/libc/utmp.h +40 -1
  294. data/modules/emscripten/system/include/libc/utmpx.h +58 -0
  295. data/modules/emscripten/system/include/libc/values.h +39 -0
  296. data/modules/emscripten/system/include/libc/wchar.h +164 -175
  297. data/modules/emscripten/system/include/libc/wctype.h +67 -37
  298. data/modules/emscripten/system/include/libc/wordexp.h +31 -42
  299. data/modules/emscripten/system/include/libcxx/__locale +6 -6
  300. data/modules/emscripten/system/include/libcxx/locale +1 -1
  301. data/modules/emscripten/system/lib/libc/musl/readme.txt +9 -1
  302. data/modules/emscripten/system/lib/libc/musl/src/internal/locale_impl.h +5 -0
  303. data/modules/emscripten/system/lib/libc/musl/src/internal/stdio_impl.h +92 -0
  304. data/modules/emscripten/system/lib/libc/musl/src/locale/big5.h +1085 -0
  305. data/modules/emscripten/system/lib/libc/musl/src/locale/codepages.h +238 -0
  306. data/modules/emscripten/system/lib/libc/musl/src/locale/gb18030.h +1836 -0
  307. data/modules/emscripten/system/lib/libc/musl/src/locale/hkscs.h +390 -0
  308. data/modules/emscripten/system/lib/libc/musl/src/locale/iconv.c +454 -0
  309. data/modules/emscripten/system/lib/libc/musl/src/locale/iswalnum_l.c +6 -0
  310. data/modules/emscripten/system/lib/libc/musl/src/locale/iswalpha_l.c +6 -0
  311. data/modules/emscripten/system/lib/libc/musl/src/locale/iswblank_l.c +6 -0
  312. data/modules/emscripten/system/lib/libc/musl/src/locale/iswcntrl_l.c +6 -0
  313. data/modules/emscripten/system/lib/libc/musl/src/locale/iswctype_l.c +9 -0
  314. data/modules/emscripten/system/lib/libc/musl/src/locale/iswdigit_l.c +6 -0
  315. data/modules/emscripten/system/lib/libc/musl/src/locale/iswgraph_l.c +6 -0
  316. data/modules/emscripten/system/lib/libc/musl/src/locale/iswlower_l.c +6 -0
  317. data/modules/emscripten/system/lib/libc/musl/src/locale/iswprint_l.c +6 -0
  318. data/modules/emscripten/system/lib/libc/musl/src/locale/iswpunct_l.c +6 -0
  319. data/modules/emscripten/system/lib/libc/musl/src/locale/iswspace_l.c +6 -0
  320. data/modules/emscripten/system/lib/libc/musl/src/locale/iswupper_l.c +6 -0
  321. data/modules/emscripten/system/lib/libc/musl/src/locale/iswxdigit_l.c +6 -0
  322. data/modules/emscripten/system/lib/libc/musl/src/locale/jis0208.h +550 -0
  323. data/modules/emscripten/system/lib/libc/musl/src/locale/ksc.h +640 -0
  324. data/modules/emscripten/system/lib/libc/musl/src/locale/legacychars.h +39 -0
  325. data/modules/emscripten/system/lib/libc/musl/src/locale/strfmon.c +101 -0
  326. data/modules/emscripten/system/lib/libc/musl/src/locale/strxfrm.c +18 -0
  327. data/modules/emscripten/system/lib/libc/musl/src/locale/towctrans_l.c +6 -0
  328. data/modules/emscripten/system/lib/libc/musl/src/locale/towlower_l.c +9 -0
  329. data/modules/emscripten/system/lib/libc/musl/src/locale/towupper_l.c +9 -0
  330. data/modules/emscripten/system/lib/libc/musl/src/locale/wcscoll.c +16 -0
  331. data/modules/emscripten/system/lib/libc/musl/src/locale/wcscoll_l.c +6 -0
  332. data/modules/emscripten/system/lib/libc/musl/src/locale/wcsxfrm.c +21 -0
  333. data/modules/emscripten/system/lib/libc/musl/src/locale/wcsxfrm_l.c +6 -0
  334. data/modules/emscripten/system/lib/libc/musl/src/locale/wctrans_l.c +6 -0
  335. data/modules/emscripten/system/lib/libc/musl/src/locale/wctype_l.c +9 -0
  336. data/modules/emscripten/system/lib/libc/musl/src/stdio/fwprintf.c +13 -0
  337. data/modules/emscripten/system/lib/libc/musl/src/stdio/swprintf.c +14 -0
  338. data/modules/emscripten/system/lib/libc/musl/src/stdio/vfwprintf.c +361 -0
  339. data/modules/emscripten/system/lib/libc/musl/src/stdio/vswprintf.c +53 -0
  340. data/modules/emscripten/system/lib/libc/musl/src/stdio/vwprintf.c +7 -0
  341. data/modules/emscripten/system/lib/libc/musl/src/stdio/wprintf.c +13 -0
  342. data/modules/emscripten/system/lib/libcextra.symbols +44 -0
  343. data/modules/emscripten/system/lib/libcxx/exception.cpp +3 -3
  344. data/modules/emscripten/system/lib/libcxx/locale.cpp +12 -12
  345. data/modules/emscripten/system/lib/libcxxabi/src/cxa_new_delete.cpp +1 -1
  346. data/modules/emscripten/tools/asm_module.py +2 -0
  347. data/modules/emscripten/tools/autodebugger.py +3 -1
  348. data/modules/emscripten/tools/eliminator/asm-eliminator-test-output.js +0 -4835
  349. data/modules/emscripten/tools/eliminator/asm-eliminator-test.js +0 -6495
  350. data/modules/emscripten/tools/file_packager.py +53 -56
  351. data/modules/emscripten/tools/find_bigfuncs.py +2 -2
  352. data/modules/emscripten/tools/find_bigvars.py +24 -0
  353. data/modules/emscripten/tools/gen_struct_info.py +509 -0
  354. data/modules/emscripten/tools/gen_struct_info.pyc +0 -0
  355. data/modules/emscripten/tools/js-optimizer.js +177 -86
  356. data/modules/emscripten/tools/js_optimizer.py +54 -19
  357. data/modules/emscripten/tools/js_optimizer.pyc +0 -0
  358. data/modules/emscripten/tools/jsrun.py +17 -7
  359. data/modules/emscripten/tools/jsrun.pyc +0 -0
  360. data/modules/emscripten/tools/response_file.py +2 -2
  361. data/modules/emscripten/tools/response_file.pyc +0 -0
  362. data/modules/emscripten/tools/shared.py +257 -123
  363. data/modules/emscripten/tools/shared.pyc +0 -0
  364. data/modules/emscripten/tools/source-maps/sourcemapper.js +37 -6
  365. data/modules/emscripten/tools/tempfiles.py +1 -0
  366. data/modules/emscripten/tools/tempfiles.pyc +0 -0
  367. data/modules/emscripten/tools/test-js-optimizer-asm-minlast-output.js +2 -0
  368. data/modules/emscripten/tools/test-js-optimizer-asm-minlast.js +8 -0
  369. data/modules/emscripten/tools/test-js-optimizer-asm-outline1-output.js +412 -169
  370. data/modules/emscripten/tools/test-js-optimizer-asm-outline1.js +88 -0
  371. data/modules/emscripten/tools/test-js-optimizer-asm-outline2-output.js +311 -265
  372. data/modules/emscripten/tools/test-js-optimizer-asm-pre-output.js +0 -20
  373. data/modules/emscripten/tools/test-js-optimizer-asm-pre.js +0 -21
  374. data/modules/emscripten/tools/test-js-optimizer-asm-regs.js +2 -2
  375. data/modules/emscripten/tools/test-js-optimizer-regs-output.js +8 -8
  376. data/modules/emscripten/tools/test-js-optimizer-regs.js +1 -1
  377. data/modules/emscripten/tools/validate_asmjs.py +82 -0
  378. data/modules/mruby/Rakefile +2 -2
  379. data/modules/mruby/include/mruby/class.h +2 -2
  380. data/modules/mruby/include/mruby/compile.h +12 -4
  381. data/modules/mruby/include/mruby/data.h +8 -3
  382. data/modules/mruby/include/mruby/debug.h +65 -0
  383. data/modules/mruby/include/mruby/dump.h +10 -2
  384. data/modules/mruby/include/mruby/irep.h +1 -0
  385. data/modules/mruby/include/mruby/string.h +2 -1
  386. data/modules/mruby/include/mruby/value.h +20 -13
  387. data/modules/mruby/include/mruby/variable.h +1 -0
  388. data/modules/mruby/include/mruby.h +5 -6
  389. data/modules/mruby/mrbgems/mruby-bin-mirb/tools/mirb/mirb.c +6 -4
  390. data/modules/mruby/mrbgems/mruby-math/src/math.c +4 -0
  391. data/modules/mruby/mrbgems/mruby-objectspace/src/mruby_objectspace.c +1 -1
  392. data/modules/mruby/mrbgems/mruby-proc-ext/src/proc.c +1 -1
  393. data/modules/mruby/mrbgems/mruby-random/src/random.c +1 -4
  394. data/modules/mruby/mrbgems/mruby-string-ext/src/string.c +25 -16
  395. data/modules/mruby/mrbgems/mruby-string-ext/test/string.rb +4 -0
  396. data/modules/mruby/mrbgems/mruby-struct/src/struct.c +1 -1
  397. data/modules/mruby/mrbgems/mruby-symbol-ext/mrblib/symbol.rb +51 -0
  398. data/modules/mruby/mrbgems/mruby-symbol-ext/test/symbol.rb +22 -0
  399. data/modules/mruby/mrbgems/mruby-time/src/time.c +38 -60
  400. data/modules/mruby/mrblib/class.rb +2 -2
  401. data/modules/mruby/src/backtrace.c +96 -23
  402. data/modules/mruby/src/class.c +43 -41
  403. data/modules/mruby/src/codegen.c +52 -46
  404. data/modules/mruby/src/debug.c +214 -0
  405. data/modules/mruby/src/dump.c +245 -17
  406. data/modules/mruby/src/error.c +14 -6
  407. data/modules/mruby/src/etc.c +17 -10
  408. data/modules/mruby/src/gc.c +9 -9
  409. data/modules/mruby/src/kernel.c +1 -1
  410. data/modules/mruby/src/load.c +137 -1
  411. data/modules/mruby/src/object.c +1 -1
  412. data/modules/mruby/src/parse.y +162 -37
  413. data/modules/mruby/src/state.c +2 -0
  414. data/modules/mruby/src/string.c +28 -19
  415. data/modules/mruby/src/symbol.c +0 -1
  416. data/modules/mruby/src/variable.c +12 -15
  417. data/modules/mruby/src/vm.c +38 -22
  418. data/modules/mruby/tasks/mrbgem_spec.rake +6 -4
  419. data/modules/mruby/tasks/mrbgems_test.rake +9 -9
  420. data/modules/mruby/tasks/mruby_build_gem.rake +9 -0
  421. data/modules/mruby/tasks/toolchains/androideabi.rake +2 -0
  422. data/modules/mruby/test/driver.c +3 -3
  423. data/modules/mruby/test/t/array.rb +13 -0
  424. data/modules/mruby/test/t/class.rb +28 -0
  425. data/modules/mruby/test/t/exception.rb +10 -0
  426. data/modules/mruby/test/t/literals.rb +50 -0
  427. data/modules/mruby/test/t/module.rb +22 -0
  428. data/modules/mruby/test/t/proc.rb +37 -0
  429. data/modules/mruby/test/t/string.rb +20 -21
  430. data/modules/mruby/tools/mrbc/mrbc.c +2 -4
  431. data/scripts/gen_post.rb +1 -0
  432. data/scripts/gen_require.rb +107 -0
  433. data/templates/minimal/Rakefile +20 -0
  434. metadata +210 -88
  435. data/driver/main.c +0 -40
  436. data/modules/emscripten/cmake/Platform/Emscripten_unix.cmake +0 -24
  437. data/modules/emscripten/emlibtool +0 -11
  438. data/modules/emscripten/emlibtool.bat +0 -2
  439. data/modules/emscripten/src/framework.js +0 -257
  440. data/modules/emscripten/system/include/bsd/float.h +0 -91
  441. data/modules/emscripten/system/include/bsd/readme.txt +0 -2
  442. data/modules/emscripten/system/include/bsd/sys/mman.h +0 -180
  443. data/modules/emscripten/system/include/bsd/sys/utsname.h +0 -70
  444. data/modules/emscripten/system/include/dlfcn.h +0 -31
  445. data/modules/emscripten/system/include/err.h +0 -95
  446. data/modules/emscripten/system/include/features.h +0 -3
  447. data/modules/emscripten/system/include/libc/_ansi.h +0 -135
  448. data/modules/emscripten/system/include/libc/_syslist.h +0 -40
  449. data/modules/emscripten/system/include/libc/argz.h +0 -33
  450. data/modules/emscripten/system/include/libc/envlock.h +0 -15
  451. data/modules/emscripten/system/include/libc/envz.h +0 -16
  452. data/modules/emscripten/system/include/libc/fastmath.h +0 -13
  453. data/modules/emscripten/system/include/libc/ieeefp.h +0 -256
  454. data/modules/emscripten/system/include/libc/machine/_default_types.h +0 -121
  455. data/modules/emscripten/system/include/libc/machine/_types.h +0 -8
  456. data/modules/emscripten/system/include/libc/machine/ansi.h +0 -1
  457. data/modules/emscripten/system/include/libc/machine/endian.h +0 -31
  458. data/modules/emscripten/system/include/libc/machine/fastmath.h +0 -100
  459. data/modules/emscripten/system/include/libc/machine/ieeefp.h +0 -376
  460. data/modules/emscripten/system/include/libc/machine/malloc.h +0 -8
  461. data/modules/emscripten/system/include/libc/machine/param.h +0 -1
  462. data/modules/emscripten/system/include/libc/machine/setjmp-dj.h +0 -43
  463. data/modules/emscripten/system/include/libc/machine/setjmp.h +0 -361
  464. data/modules/emscripten/system/include/libc/machine/stdlib.h +0 -8
  465. data/modules/emscripten/system/include/libc/machine/termios.h +0 -1
  466. data/modules/emscripten/system/include/libc/machine/time.h +0 -19
  467. data/modules/emscripten/system/include/libc/machine/types.h +0 -30
  468. data/modules/emscripten/system/include/libc/newlib.h +0 -2
  469. data/modules/emscripten/system/include/libc/process.h +0 -44
  470. data/modules/emscripten/system/include/libc/reent.h +0 -183
  471. data/modules/emscripten/system/include/libc/regdef.h +0 -7
  472. data/modules/emscripten/system/include/libc/sys/_default_fcntl.h +0 -223
  473. data/modules/emscripten/system/include/libc/sys/_types.h +0 -93
  474. data/modules/emscripten/system/include/libc/sys/cdefs.h +0 -123
  475. data/modules/emscripten/system/include/libc/sys/config.h +0 -255
  476. data/modules/emscripten/system/include/libc/sys/custom_file.h +0 -2
  477. data/modules/emscripten/system/include/libc/sys/dirent.h +0 -58
  478. data/modules/emscripten/system/include/libc/sys/features.h +0 -212
  479. data/modules/emscripten/system/include/libc/sys/iconvnls.h +0 -77
  480. data/modules/emscripten/system/include/libc/sys/lock.h +0 -24
  481. data/modules/emscripten/system/include/libc/sys/queue.h +0 -471
  482. data/modules/emscripten/system/include/libc/sys/reent.h +0 -843
  483. data/modules/emscripten/system/include/libc/sys/sched.h +0 -67
  484. data/modules/emscripten/system/include/libc/sys/stdio.h +0 -27
  485. data/modules/emscripten/system/include/libc/sys/string.h +0 -2
  486. data/modules/emscripten/system/include/libc/sys/syslimits.h +0 -65
  487. data/modules/emscripten/system/include/libc/sys/unistd.h +0 -514
  488. data/modules/emscripten/system/include/libc/sys/utime.h +0 -26
  489. data/modules/emscripten/system/include/libc/unctrl.h +0 -46
  490. data/modules/emscripten/system/include/memory.h +0 -10
  491. data/modules/emscripten/system/include/mntent.h +0 -23
  492. data/modules/emscripten/system/include/net/arpa/inet.h +0 -32
  493. data/modules/emscripten/system/include/net/arpa/nameser.h +0 -535
  494. data/modules/emscripten/system/include/net/arpa/nameser_compat.h +0 -187
  495. data/modules/emscripten/system/include/net/if.h +0 -106
  496. data/modules/emscripten/system/include/net/netinet/in.h +0 -230
  497. data/modules/emscripten/system/include/net/netinet/tcp.h +0 -246
  498. data/modules/emscripten/system/include/net/resolv.h +0 -389
  499. data/modules/emscripten/system/include/netdb.h +0 -130
  500. data/modules/emscripten/system/include/nl_types.h +0 -19
  501. data/modules/emscripten/system/include/poll.h +0 -3
  502. data/modules/emscripten/system/include/pty.h +0 -6
  503. data/modules/emscripten/system/include/semaphore.h +0 -31
  504. data/modules/emscripten/system/include/spawn.h +0 -105
  505. data/modules/emscripten/system/include/stdbool.h +0 -16
  506. data/modules/emscripten/system/include/sys/bitypes.h +0 -3
  507. data/modules/emscripten/system/include/sys/io.h +0 -14
  508. data/modules/emscripten/system/include/sys/ioctl.h +0 -78
  509. data/modules/emscripten/system/include/sys/poll.h +0 -31
  510. data/modules/emscripten/system/include/sys/select.h +0 -16
  511. data/modules/emscripten/system/include/sys/sendfile.h +0 -16
  512. data/modules/emscripten/system/include/sys/socket.h +0 -247
  513. data/modules/emscripten/system/include/sys/socketvar.h +0 -3
  514. data/modules/emscripten/system/include/sys/statvfs.h +0 -32
  515. data/modules/emscripten/system/include/sys/uio.h +0 -22
  516. data/modules/emscripten/system/include/sys/un.h +0 -66
  517. data/modules/emscripten/system/include/sysexits.h +0 -108
  518. data/modules/emscripten/system/include/xlocale.h +0 -47
@@ -1,102 +1,62 @@
1
- /*-
2
- * Copyright (c) 1992 Henry Spencer.
3
- * Copyright (c) 1992, 1993
4
- * The Regents of the University of California. All rights reserved.
5
- *
6
- * This code is derived from software contributed to Berkeley by
7
- * Henry Spencer of the University of Toronto.
8
- *
9
- * Redistribution and use in source and binary forms, with or without
10
- * modification, are permitted provided that the following conditions
11
- * are met:
12
- * 1. Redistributions of source code must retain the above copyright
13
- * notice, this list of conditions and the following disclaimer.
14
- * 2. Redistributions in binary form must reproduce the above copyright
15
- * notice, this list of conditions and the following disclaimer in the
16
- * documentation and/or other materials provided with the distribution.
17
- * 4. Neither the name of the University nor the names of its contributors
18
- * may be used to endorse or promote products derived from this software
19
- * without specific prior written permission.
20
- *
21
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
22
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
24
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
25
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
27
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
28
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
29
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
30
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
31
- * SUCH DAMAGE.
32
- *
33
- * @(#)regex.h 8.2 (Berkeley) 1/3/94
34
- * $FreeBSD: src/include/regex.h,v 1.4 2002/03/23 17:24:53 imp Exp $
35
- */
1
+ #ifndef _REGEX_H
2
+ #define _REGEX_H
36
3
 
37
- #ifndef _REGEX_H_
38
- #define _REGEX_H_
4
+ #ifdef __cplusplus
5
+ extern "C" {
6
+ #endif
39
7
 
40
- #include <sys/cdefs.h>
8
+ #include <features.h>
41
9
 
42
- /* types */
43
- typedef off_t regoff_t;
10
+ #define __NEED_regoff_t
11
+ #define __NEED_size_t
44
12
 
45
- typedef struct {
46
- int re_magic;
47
- size_t re_nsub; /* number of parenthesized subexpressions */
48
- __const char *re_endp; /* end pointer for REG_PEND */
49
- struct re_guts *re_g; /* none of your business :-) */
13
+ #include <bits/alltypes.h>
14
+
15
+ typedef struct re_pattern_buffer {
16
+ size_t re_nsub;
17
+ void *__opaque, *__padding[4];
18
+ size_t __nsub2;
19
+ char __padding2;
50
20
  } regex_t;
51
21
 
52
22
  typedef struct {
53
- regoff_t rm_so; /* start of match */
54
- regoff_t rm_eo; /* end of match */
23
+ regoff_t rm_so;
24
+ regoff_t rm_eo;
55
25
  } regmatch_t;
56
26
 
57
- /* regcomp() flags */
58
- #define REG_BASIC 0000
59
- #define REG_EXTENDED 0001
60
- #define REG_ICASE 0002
61
- #define REG_NOSUB 0004
62
- #define REG_NEWLINE 0010
63
- #define REG_NOSPEC 0020
64
- #define REG_PEND 0040
65
- #define REG_DUMP 0200
66
-
67
- /* regerror() flags */
68
- #define REG_NOMATCH 1
69
- #define REG_BADPAT 2
70
- #define REG_ECOLLATE 3
71
- #define REG_ECTYPE 4
72
- #define REG_EESCAPE 5
73
- #define REG_ESUBREG 6
74
- #define REG_EBRACK 7
75
- #define REG_EPAREN 8
76
- #define REG_EBRACE 9
77
- #define REG_BADBR 10
78
- #define REG_ERANGE 11
79
- #define REG_ESPACE 12
80
- #define REG_BADRPT 13
81
- #define REG_EMPTY 14
82
- #define REG_ASSERT 15
83
- #define REG_INVARG 16
84
- #define REG_ATOI 255 /* convert name to number (!) */
85
- #define REG_ITOA 0400 /* convert number to name (!) */
86
-
87
- /* regexec() flags */
88
- #define REG_NOTBOL 00001
89
- #define REG_NOTEOL 00002
90
- #define REG_STARTEND 00004
91
- #define REG_TRACE 00400 /* tracing of execution */
92
- #define REG_LARGE 01000 /* force large representation */
93
- #define REG_BACKR 02000 /* force use of backref code */
94
-
95
- __BEGIN_DECLS
96
- int regcomp(regex_t *, const char *, int);
97
- size_t regerror(int, const regex_t *, char *, size_t);
98
- int regexec(const regex_t *, const char *, size_t, regmatch_t [], int);
99
- void regfree(regex_t *);
100
- __END_DECLS
101
-
102
- #endif /* !_REGEX_H_ */
27
+ #define REG_EXTENDED 1
28
+ #define REG_ICASE 2
29
+ #define REG_NEWLINE 4
30
+ #define REG_NOSUB 8
31
+
32
+ #define REG_NOTBOL 1
33
+ #define REG_NOTEOL 2
34
+
35
+ #define REG_OK 0
36
+ #define REG_NOMATCH 1
37
+ #define REG_BADPAT 2
38
+ #define REG_ECOLLATE 3
39
+ #define REG_ECTYPE 4
40
+ #define REG_EESCAPE 5
41
+ #define REG_ESUBREG 6
42
+ #define REG_EBRACK 7
43
+ #define REG_EPAREN 8
44
+ #define REG_EBRACE 9
45
+ #define REG_BADBR 10
46
+ #define REG_ERANGE 11
47
+ #define REG_ESPACE 12
48
+ #define REG_BADRPT 13
49
+
50
+ #define REG_ENOSYS -1
51
+
52
+ int regcomp(regex_t *__restrict, const char *__restrict, int);
53
+ int regexec(const regex_t *__restrict, const char *__restrict, size_t, regmatch_t *__restrict, int);
54
+ void regfree(regex_t *);
55
+
56
+ size_t regerror(int, const regex_t *__restrict, char *__restrict, size_t);
57
+
58
+ #ifdef __cplusplus
59
+ }
60
+ #endif
61
+
62
+ #endif
@@ -0,0 +1,144 @@
1
+ #ifndef _RESOLV_H
2
+ #define _RESOLV_H
3
+
4
+ #include <stdint.h>
5
+ #include <arpa/nameser.h>
6
+ #include <netinet/in.h>
7
+
8
+ #ifdef __cplusplus
9
+ extern "C" {
10
+ #endif
11
+
12
+ #define MAXNS 3
13
+ #define MAXDFLSRCH 3
14
+ #define MAXDNSRCH 6
15
+ #define LOCALDOMAINPARTS 2
16
+
17
+ #define RES_TIMEOUT 5
18
+ #define MAXRESOLVSORT 10
19
+ #define RES_MAXNDOTS 15
20
+ #define RES_MAXRETRANS 30
21
+ #define RES_MAXRETRY 5
22
+ #define RES_DFLRETRY 2
23
+ #define RES_MAXTIME 65535
24
+
25
+ /* unused; purely for broken apps */
26
+ typedef struct __res_state {
27
+ int retrans;
28
+ int retry;
29
+ unsigned long options;
30
+ int nscount;
31
+ struct sockaddr_in nsaddr_list[MAXNS];
32
+ # define nsaddr nsaddr_list[0]
33
+ unsigned short id;
34
+ char *dnsrch[MAXDNSRCH+1];
35
+ char defdname[256];
36
+ unsigned long pfcode;
37
+ unsigned ndots:4;
38
+ unsigned nsort:4;
39
+ unsigned ipv6_unavail:1;
40
+ unsigned unused:23;
41
+ struct {
42
+ struct in_addr addr;
43
+ uint32_t mask;
44
+ } sort_list[MAXRESOLVSORT];
45
+ void *qhook;
46
+ void *rhook;
47
+ int res_h_errno;
48
+ int _vcsock;
49
+ unsigned _flags;
50
+ union {
51
+ char pad[52];
52
+ struct {
53
+ uint16_t nscount;
54
+ uint16_t nsmap[MAXNS];
55
+ int nssocks[MAXNS];
56
+ uint16_t nscount6;
57
+ uint16_t nsinit;
58
+ struct sockaddr_in6 *nsaddrs[MAXNS];
59
+ unsigned int _initstamp[2];
60
+ } _ext;
61
+ } _u;
62
+ } *res_state;
63
+
64
+ #define __RES 19991006
65
+
66
+ #ifndef _PATH_RESCONF
67
+ #define _PATH_RESCONF "/etc/resolv.conf"
68
+ #endif
69
+
70
+ struct res_sym {
71
+ int number;
72
+ char *name;
73
+ char *humanname;
74
+ };
75
+
76
+ #define RES_F_VC 0x00000001
77
+ #define RES_F_CONN 0x00000002
78
+ #define RES_F_EDNS0ERR 0x00000004
79
+
80
+ #define RES_EXHAUSTIVE 0x00000001
81
+
82
+ #define RES_INIT 0x00000001
83
+ #define RES_DEBUG 0x00000002
84
+ #define RES_AAONLY 0x00000004
85
+ #define RES_USEVC 0x00000008
86
+ #define RES_PRIMARY 0x00000010
87
+ #define RES_IGNTC 0x00000020
88
+ #define RES_RECURSE 0x00000040
89
+ #define RES_DEFNAMES 0x00000080
90
+ #define RES_STAYOPEN 0x00000100
91
+ #define RES_DNSRCH 0x00000200
92
+ #define RES_INSECURE1 0x00000400
93
+ #define RES_INSECURE2 0x00000800
94
+ #define RES_NOALIASES 0x00001000
95
+ #define RES_USE_INET6 0x00002000
96
+ #define RES_ROTATE 0x00004000
97
+ #define RES_NOCHECKNAME 0x00008000
98
+ #define RES_KEEPTSIG 0x00010000
99
+ #define RES_BLAST 0x00020000
100
+ #define RES_USEBSTRING 0x00040000
101
+ #define RES_NOIP6DOTINT 0x00080000
102
+ #define RES_USE_EDNS0 0x00100000
103
+ #define RES_SNGLKUP 0x00200000
104
+ #define RES_SNGLKUPREOP 0x00400000
105
+ #define RES_USE_DNSSEC 0x00800000
106
+
107
+ #define RES_DEFAULT (RES_RECURSE|RES_DEFNAMES|RES_DNSRCH|RES_NOIP6DOTINT)
108
+
109
+ #define RES_PRF_STATS 0x00000001
110
+ #define RES_PRF_UPDATE 0x00000002
111
+ #define RES_PRF_CLASS 0x00000004
112
+ #define RES_PRF_CMD 0x00000008
113
+ #define RES_PRF_QUES 0x00000010
114
+ #define RES_PRF_ANS 0x00000020
115
+ #define RES_PRF_AUTH 0x00000040
116
+ #define RES_PRF_ADD 0x00000080
117
+ #define RES_PRF_HEAD1 0x00000100
118
+ #define RES_PRF_HEAD2 0x00000200
119
+ #define RES_PRF_TTLID 0x00000400
120
+ #define RES_PRF_HEADX 0x00000800
121
+ #define RES_PRF_QUERY 0x00001000
122
+ #define RES_PRF_REPLY 0x00002000
123
+ #define RES_PRF_INIT 0x00004000
124
+
125
+ struct __res_state *__res_state(void);
126
+ #define _res (*__res_state())
127
+
128
+ struct rrec;
129
+
130
+ int res_init(void);
131
+ int res_query(const char *, int, int, unsigned char *, int);
132
+ int res_querydomain(const char *, const char *, int, int, unsigned char *, int);
133
+ int res_search(const char *, int, int, unsigned char *, int);
134
+ int res_mkquery(int, const char *, int, int, char *, int, struct rrec *, char *, int);
135
+ int res_send(const char *, int, char *, int);
136
+ int dn_comp(unsigned char *, unsigned char *, int, unsigned char **, unsigned char *, unsigned char **);
137
+ int dn_expand(const unsigned char *, const unsigned char *, const unsigned char *, char *, int);
138
+ int dn_skipname(const unsigned char *, const unsigned char *);
139
+
140
+ #ifdef __cplusplus
141
+ }
142
+ #endif
143
+
144
+ #endif
@@ -1,97 +1,132 @@
1
- /*
2
- * Written by Joel Sherrill <joel@OARcorp.com>.
3
- *
4
- * COPYRIGHT (c) 1989-2010.
5
- * On-Line Applications Research Corporation (OAR).
6
- *
7
- * Permission to use, copy, modify, and distribute this software for any
8
- * purpose without fee is hereby granted, provided that this entire notice
9
- * is included in all copies of any software which is or includes a copy
10
- * or modification of this software.
11
- *
12
- * THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED
13
- * WARRANTY. IN PARTICULAR, THE AUTHOR MAKES NO REPRESENTATION
14
- * OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY OF THIS
15
- * SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE.
16
- *
17
- * $Id: sched.h,v 1.2 2010/04/01 18:33:33 jjohnstn Exp $
18
- */
19
-
20
- #ifndef _SCHED_H_
21
- #define _SCHED_H_
22
-
23
- #include <sys/types.h>
24
- #include <sys/sched.h>
25
-
1
+ #ifndef _SCHED_H
2
+ #define _SCHED_H
26
3
  #ifdef __cplusplus
27
4
  extern "C" {
28
5
  #endif
29
6
 
30
- #if defined(_POSIX_PRIORITY_SCHEDULING)
31
- /*
32
- * XBD 13 - Set Scheduling Parameters, P1003.1b-2008, p. 1803
33
- */
34
- int sched_setparam(
35
- pid_t __pid,
36
- const struct sched_param *__param
37
- );
38
-
39
- /*
40
- * XBD 13 - Set Scheduling Parameters, P1003.1b-2008, p. 1800
41
- */
42
- int sched_getparam(
43
- pid_t __pid,
44
- struct sched_param *__param
45
- );
46
-
47
- /*
48
- * XBD 13 - Set Scheduling Policy and Scheduling Parameters,
49
- * P1003.1b-2008, p. 1805
50
- */
51
- int sched_setscheduler(
52
- pid_t __pid,
53
- int __policy,
54
- const struct sched_param *__param
55
- );
56
-
57
- /*
58
- * XBD 13 - Get Scheduling Policy, P1003.1b-2008, p. 1801
59
- */
60
- int sched_getscheduler(
61
- pid_t __pid
62
- );
63
-
64
- /*
65
- * XBD 13 - Get Scheduling Parameter Limits, P1003.1b-2008, p. 1799
66
- */
67
- int sched_get_priority_max(
68
- int __policy
69
- );
70
-
71
- int sched_get_priority_min(
72
- int __policy
73
- );
74
-
75
- /*
76
- * XBD 13 - Get Scheduling Parameter Limits, P1003.1b-2008, p. 1802
77
- */
78
- int sched_rr_get_interval(
79
- pid_t __pid,
80
- struct timespec *__interval
81
- );
82
- #endif /* _POSIX_PRIORITY_SCHEDULING */
83
-
84
- #if defined(_POSIX_THREADS) || defined(_POSIX_PRIORITY_SCHEDULING) || defined(EMSCRIPTEN)
85
-
86
- /*
87
- * XBD 13 - Yield Processor, P1003.1b-2008, p. 1807
88
- */
89
- int sched_yield( void );
90
-
91
- #endif /* _POSIX_THREADS or _POSIX_PRIORITY_SCHEDULING */
7
+ #include <features.h>
92
8
 
93
- #ifdef __cplusplus
9
+ #define __NEED_struct_timespec
10
+ #define __NEED_pid_t
11
+ #define __NEED_time_t
12
+
13
+ #ifdef _GNU_SOURCE
14
+ #define __NEED_size_t
15
+ #endif
16
+
17
+ #include <bits/alltypes.h>
18
+
19
+ struct sched_param {
20
+ int sched_priority;
21
+ int sched_ss_low_priority;
22
+ struct timespec sched_ss_repl_period;
23
+ struct timespec sched_ss_init_budget;
24
+ int sched_ss_max_repl;
25
+ };
26
+
27
+ int sched_get_priority_max(int);
28
+ int sched_get_priority_min(int);
29
+ int sched_getparam(pid_t, struct sched_param *);
30
+ int sched_getscheduler(pid_t);
31
+ int sched_rr_get_interval(pid_t, struct timespec *);
32
+ int sched_setparam(pid_t, const struct sched_param *);
33
+ int sched_setscheduler(pid_t, int, const struct sched_param *);
34
+ int sched_yield(void);
35
+
36
+ #define SCHED_OTHER 0
37
+ #define SCHED_FIFO 1
38
+ #define SCHED_RR 2
39
+ #define SCHED_BATCH 3
40
+ #define SCHED_IDLE 5
41
+ #define SCHED_RESET_ON_FORK 0x40000000
42
+
43
+ #ifdef _GNU_SOURCE
44
+ #define CSIGNAL 0x000000ff
45
+ #define CLONE_VM 0x00000100
46
+ #define CLONE_FS 0x00000200
47
+ #define CLONE_FILES 0x00000400
48
+ #define CLONE_SIGHAND 0x00000800
49
+ #define CLONE_PTRACE 0x00002000
50
+ #define CLONE_VFORK 0x00004000
51
+ #define CLONE_PARENT 0x00008000
52
+ #define CLONE_THREAD 0x00010000
53
+ #define CLONE_NEWNS 0x00020000
54
+ #define CLONE_SYSVSEM 0x00040000
55
+ #define CLONE_SETTLS 0x00080000
56
+ #define CLONE_PARENT_SETTID 0x00100000
57
+ #define CLONE_CHILD_CLEARTID 0x00200000
58
+ #define CLONE_DETACHED 0x00400000
59
+ #define CLONE_UNTRACED 0x00800000
60
+ #define CLONE_CHILD_SETTID 0x01000000
61
+ #define CLONE_NEWUTS 0x04000000
62
+ #define CLONE_NEWIPC 0x08000000
63
+ #define CLONE_NEWUSER 0x10000000
64
+ #define CLONE_NEWPID 0x20000000
65
+ #define CLONE_NEWNET 0x40000000
66
+ #define CLONE_IO 0x80000000
67
+ int clone (int (*)(void *), void *, int, void *, ...);
68
+ int unshare(int);
69
+ int setns(int, int);
70
+
71
+ void *memcpy(void *__restrict, const void *__restrict, size_t);
72
+ int memcmp(const void *, const void *, size_t);
73
+ void *calloc(size_t, size_t);
74
+ void free(void *);
75
+
76
+ typedef struct cpu_set_t { unsigned long __bits[128/sizeof(long)]; } cpu_set_t;
77
+ int __sched_cpucount(size_t, const cpu_set_t *);
78
+ int sched_getaffinity(pid_t, size_t, cpu_set_t *);
79
+ int sched_setaffinity(pid_t, size_t, const cpu_set_t *);
80
+
81
+ #define __CPU_op_S(i, size, set, op) ( (i)/8 >= (size) ? 0 : \
82
+ ((set)->__bits[(i)/8/sizeof(long)] op (1UL<<((i)%(8*sizeof(long))))) )
83
+
84
+ #define CPU_SET_S(i, size, set) __CPU_op_S(i, size, set, |=)
85
+ #define CPU_CLR_S(i, size, set) __CPU_op_S(i, size, set, &=~)
86
+ #define CPU_ISSET_S(i, size, set) __CPU_op_S(i, size, set, &)
87
+
88
+ #define __CPU_op_func_S(func, op) \
89
+ static __inline void __CPU_##func##_S(size_t __size, cpu_set_t *__dest, \
90
+ const cpu_set_t *__src1, const cpu_set_t *__src2) \
91
+ { \
92
+ size_t __i; \
93
+ for (__i=0; __i<__size/sizeof(long); __i++) \
94
+ __dest->__bits[__i] = __src1->__bits[__i] \
95
+ op __src2->__bits[__i] ; \
94
96
  }
97
+
98
+ __CPU_op_func_S(AND, &)
99
+ __CPU_op_func_S(OR, |)
100
+ __CPU_op_func_S(XOR, ^)
101
+
102
+ #define CPU_AND_S(a,b,c,d) __CPU_AND_S(a,b,c,d)
103
+ #define CPU_OR_S(a,b,c,d) __CPU_OR_S(a,b,c,d)
104
+ #define CPU_XOR_S(a,b,c,d) __CPU_XOR_S(a,b,c,d)
105
+
106
+ #define CPU_COUNT_S(size,set) __sched_cpucount(size,set)
107
+ #define CPU_ZERO_S(size,set) memset(set,0,size)
108
+ #define CPU_EQUAL_S(size,set1,set2) (!memcmp(set1,set2,size))
109
+
110
+ #define CPU_ALLOC_SIZE(n) (sizeof(long) * ( (n)/(8*sizeof(long)) \
111
+ + ((n)%(8*sizeof(long)) + 8*sizeof(long)-1)/(8*sizeof(long)) ) )
112
+ #define CPU_ALLOC(n) ((cpu_set_t *)calloc(1,CPU_ALLOC_SIZE(n)))
113
+ #define CPU_FREE(set) free(set)
114
+
115
+ #define CPU_SETSIZE 128
116
+
117
+ #define CPU_SET(i, set) CPU_SET_S(i,sizeof(cpu_set_t),set)
118
+ #define CPU_CLR(i, set) CPU_CLR_S(i,sizeof(cpu_set_t),set)
119
+ #define CPU_ISSET(i, set) CPU_ISSET_S(i,sizeof(cpu_set_t),set)
120
+ #define CPU_AND(d,s1,s2) CPU_AND_S(sizeof(cpu_set_t),d,s1,s2)
121
+ #define CPU_OR(d,s1,s2) CPU_OR_S(sizeof(cpu_set_t),d,s1,s2)
122
+ #define CPU_XOR(d,s1,s2) CPU_XOR_S(sizeof(cpu_set_t),d,s1,s2)
123
+ #define CPU_COUNT(set) CPU_COUNT_S(sizeof(cpu_set_t),set)
124
+ #define CPU_ZERO(set) CPU_ZERO_S(sizeof(cpu_set_t),set)
125
+ #define CPU_EQUAL(set) CPU_EQUAL_S(sizeof(cpu_set_t),set)
126
+
95
127
  #endif
96
128
 
97
- #endif /* _SCHED_H_ */
129
+ #ifdef __cplusplus
130
+ }
131
+ #endif
132
+ #endif
@@ -1,59 +1,51 @@
1
- /* $NetBSD: search.h,v 1.12 1999/02/22 10:34:28 christos Exp $ */
2
- /* $FreeBSD: src/include/search.h,v 1.4 2002/03/23 17:24:53 imp Exp $ */
1
+ #ifndef _SEARCH_H
2
+ #define _SEARCH_H
3
3
 
4
- /*
5
- * Written by J.T. Conklin <jtc@netbsd.org>
6
- * Public domain.
7
- */
4
+ #ifdef __cplusplus
5
+ extern "C" {
6
+ #endif
7
+
8
+ #include <features.h>
8
9
 
9
- #ifndef _SEARCH_H_
10
- #define _SEARCH_H_
10
+ #define __NEED_size_t
11
+ #include <bits/alltypes.h>
11
12
 
12
- #include <sys/cdefs.h>
13
- #include <machine/ansi.h>
14
- #include <sys/types.h>
13
+ typedef enum { FIND, ENTER } ACTION;
14
+ typedef enum { preorder, postorder, endorder, leaf } VISIT;
15
15
 
16
- typedef struct entry {
16
+ typedef struct {
17
17
  char *key;
18
18
  void *data;
19
19
  } ENTRY;
20
20
 
21
- typedef enum {
22
- FIND, ENTER
23
- } ACTION;
24
-
25
- typedef enum {
26
- preorder,
27
- postorder,
28
- endorder,
29
- leaf
30
- } VISIT;
31
-
32
- #ifdef _SEARCH_PRIVATE
33
- typedef struct node {
34
- char *key;
35
- struct node *llink, *rlink;
36
- } node_t;
37
- #endif
21
+ int hcreate(size_t);
22
+ void hdestroy(void);
23
+ ENTRY *hsearch(ENTRY, ACTION);
24
+
25
+ void insque(void *, void *);
26
+ void remque(void *);
27
+
28
+ void *lsearch(const void *, void *, size_t *, size_t,
29
+ int (*)(const void *, const void *));
30
+ void *lfind(const void *, const void *, size_t *, size_t,
31
+ int (*)(const void *, const void *));
32
+
33
+ void *tdelete(const void *__restrict, void **__restrict, int(*)(const void *, const void *));
34
+ void *tfind(const void *, void *const *, int(*)(const void *, const void *));
35
+ void *tsearch(const void *, void **, int (*)(const void *, const void *));
36
+ void twalk(const void *, void (*)(const void *, VISIT, int));
38
37
 
39
- struct hsearch_data
40
- {
41
- struct internal_head *htable;
42
- size_t htablesize;
38
+ #ifdef _GNU_SOURCE
39
+ struct qelem {
40
+ struct qelem *q_forw, *q_back;
41
+ char q_data[1];
43
42
  };
44
43
 
45
- __BEGIN_DECLS
46
- int hcreate(size_t);
47
- void hdestroy(void);
48
- ENTRY *hsearch(ENTRY, ACTION);
49
- int hcreate_r(size_t, struct hsearch_data *);
50
- void hdestroy_r(struct hsearch_data *);
51
- int hsearch_r(ENTRY, ACTION, ENTRY **, struct hsearch_data *);
52
- void *tdelete(const void *, void **, int (*)(const void *, const void *));
53
- void tdestroy (void *, void (*)(void *));
54
- void *tfind(const void *, void **, int (*)(const void *, const void *));
55
- void *tsearch(const void *, void **, int (*)(const void *, const void *));
56
- void twalk(const void *, void (*)(const void *, VISIT, int));
57
- __END_DECLS
58
-
59
- #endif /* !_SEARCH_H_ */
44
+ void tdestroy(void *, void (*)(void *));
45
+ #endif
46
+
47
+ #ifdef __cplusplus
48
+ }
49
+ #endif
50
+
51
+ #endif
@@ -0,0 +1,35 @@
1
+ #ifndef _SEMAPHORE_H
2
+ #define _SEMAPHORE_H
3
+ #ifdef __cplusplus
4
+ extern "C" {
5
+ #endif
6
+
7
+ #include <features.h>
8
+
9
+ #define __NEED_time_t
10
+ #define __NEED_struct_timespec
11
+ #include <bits/alltypes.h>
12
+
13
+ #include <fcntl.h>
14
+
15
+ #define SEM_FAILED ((sem_t *)0)
16
+
17
+ typedef struct {
18
+ int __val[4*sizeof(long)/sizeof(int)];
19
+ } sem_t;
20
+
21
+ int sem_close(sem_t *);
22
+ int sem_destroy(sem_t *);
23
+ int sem_getvalue(sem_t *__restrict, int *__restrict);
24
+ int sem_init(sem_t *, int, unsigned);
25
+ sem_t *sem_open(const char *, int, ...);
26
+ int sem_post(sem_t *);
27
+ int sem_timedwait(sem_t *__restrict, const struct timespec *__restrict);
28
+ int sem_trywait(sem_t *);
29
+ int sem_unlink(const char *);
30
+ int sem_wait(sem_t *);
31
+
32
+ #ifdef __cplusplus
33
+ }
34
+ #endif
35
+ #endif