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
@@ -0,0 +1,336 @@
1
+ #ifndef _NETINET_IN_H
2
+ #define _NETINET_IN_H
3
+
4
+ #ifdef __cplusplus
5
+ extern "C" {
6
+ #endif
7
+
8
+ #include <features.h>
9
+ #include <inttypes.h>
10
+ #include <sys/socket.h>
11
+
12
+ typedef uint16_t in_port_t;
13
+ typedef uint32_t in_addr_t;
14
+ struct in_addr { in_addr_t s_addr; };
15
+
16
+ struct sockaddr_in
17
+ {
18
+ sa_family_t sin_family;
19
+ in_port_t sin_port;
20
+ struct in_addr sin_addr;
21
+ uint8_t sin_zero[8];
22
+ };
23
+
24
+ struct in6_addr
25
+ {
26
+ union {
27
+ uint8_t __s6_addr[16];
28
+ uint16_t __s6_addr16[8];
29
+ uint32_t __s6_addr32[4];
30
+ } __in6_union;
31
+ };
32
+ #define s6_addr __in6_union.__s6_addr
33
+ #define s6_addr16 __in6_union.__s6_addr16
34
+ #define s6_addr32 __in6_union.__s6_addr32
35
+
36
+ struct sockaddr_in6
37
+ {
38
+ sa_family_t sin6_family;
39
+ in_port_t sin6_port;
40
+ uint32_t sin6_flowinfo;
41
+ struct in6_addr sin6_addr;
42
+ uint32_t sin6_scope_id;
43
+ };
44
+
45
+ struct ipv6_mreq
46
+ {
47
+ struct in6_addr ipv6mr_multiaddr;
48
+ unsigned ipv6mr_interface;
49
+ };
50
+
51
+ #define INADDR_ANY ((in_addr_t) 0x00000000)
52
+ #define INADDR_BROADCAST ((in_addr_t) 0xffffffff)
53
+ #define INADDR_NONE ((in_addr_t) 0xffffffff)
54
+ #define INADDR_LOOPBACK ((in_addr_t) 0x7f000001)
55
+
56
+ #define IN6ADDR_ANY_INIT { { { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 } } }
57
+ #define IN6ADDR_LOOPBACK_INIT { { { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 } } }
58
+
59
+ extern const struct in6_addr in6addr_any, in6addr_loopback;
60
+
61
+ #undef INET_ADDRSTRLEN
62
+ #undef INET6_ADDRSTRLEN
63
+ #define INET_ADDRSTRLEN 16
64
+ #define INET6_ADDRSTRLEN 46
65
+
66
+ uint32_t htonl(uint32_t);
67
+ uint16_t htons(uint16_t);
68
+ uint32_t ntohl(uint32_t);
69
+ uint16_t ntohs(uint16_t);
70
+
71
+ #define IPPROTO_IP 0
72
+ #define IPPROTO_HOPOPTS 0
73
+ #define IPPROTO_ICMP 1
74
+ #define IPPROTO_IGMP 2
75
+ #define IPPROTO_IPIP 4
76
+ #define IPPROTO_TCP 6
77
+ #define IPPROTO_EGP 8
78
+ #define IPPROTO_PUP 12
79
+ #define IPPROTO_UDP 17
80
+ #define IPPROTO_IDP 22
81
+ #define IPPROTO_TP 29
82
+ #define IPPROTO_DCCP 33
83
+ #define IPPROTO_IPV6 41
84
+ #define IPPROTO_ROUTING 43
85
+ #define IPPROTO_FRAGMENT 44
86
+ #define IPPROTO_RSVP 46
87
+ #define IPPROTO_GRE 47
88
+ #define IPPROTO_ESP 50
89
+ #define IPPROTO_AH 51
90
+ #define IPPROTO_ICMPV6 58
91
+ #define IPPROTO_NONE 59
92
+ #define IPPROTO_DSTOPTS 60
93
+ #define IPPROTO_MTP 92
94
+ #define IPPROTO_ENCAP 98
95
+ #define IPPROTO_PIM 103
96
+ #define IPPROTO_COMP 108
97
+ #define IPPROTO_SCTP 132
98
+ #define IPPROTO_UDPLITE 136
99
+ #define IPPROTO_RAW 255
100
+ #define IPPROTO_MAX 256
101
+
102
+ #define IN6_IS_ADDR_UNSPECIFIED(a) \
103
+ (((uint32_t *) (a))[0] == 0 && ((uint32_t *) (a))[1] == 0 && \
104
+ ((uint32_t *) (a))[2] == 0 && ((uint32_t *) (a))[3] == 0)
105
+
106
+ #define IN6_IS_ADDR_LOOPBACK(a) \
107
+ (((uint32_t *) (a))[0] == 0 && ((uint32_t *) (a))[1] == 0 && \
108
+ ((uint32_t *) (a))[2] == 0 && \
109
+ ((uint8_t *) (a))[12] == 0 && ((uint8_t *) (a))[13] == 0 && \
110
+ ((uint8_t *) (a))[14] == 0 && ((uint8_t *) (a))[15] == 1 )
111
+
112
+ #define IN6_IS_ADDR_MULTICAST(a) (((uint8_t *) (a))[0] == 0xff)
113
+
114
+ #define IN6_IS_ADDR_LINKLOCAL(a) \
115
+ ((((uint8_t *) (a))[0]) == 0xfe && (((uint8_t *) (a))[1] & 0xc0) == 0x80)
116
+
117
+ #define IN6_IS_ADDR_SITELOCAL(a) \
118
+ ((((uint8_t *) (a))[0]) == 0xfe && (((uint8_t *) (a))[1] & 0xc0) == 0xc0)
119
+
120
+ #define IN6_IS_ADDR_V4MAPPED(a) \
121
+ (((uint32_t *) (a))[0] == 0 && ((uint32_t *) (a))[1] == 0 && \
122
+ ((uint8_t *) (a))[8] == 0 && ((uint8_t *) (a))[9] == 0 && \
123
+ ((uint8_t *) (a))[10] == 0xff && ((uint8_t *) (a))[11] == 0xff)
124
+
125
+ #define IN6_IS_ADDR_V4COMPAT(a) \
126
+ (((uint32_t *) (a))[0] == 0 && ((uint32_t *) (a))[1] == 0 && \
127
+ ((uint32_t *) (a))[2] == 0 && ((uint8_t *) (a))[15] > 1)
128
+
129
+ #define IN6_IS_ADDR_MC_NODELOCAL(a) \
130
+ (IN6_IS_ADDR_MULTICAST(a) && ((((uint8_t *) (a))[1] & 0xf) == 0x1))
131
+
132
+ #define IN6_IS_ADDR_MC_LINKLOCAL(a) \
133
+ (IN6_IS_ADDR_MULTICAST(a) && ((((uint8_t *) (a))[1] & 0xf) == 0x2))
134
+
135
+ #define IN6_IS_ADDR_MC_SITELOCAL(a) \
136
+ (IN6_IS_ADDR_MULTICAST(a) && ((((uint8_t *) (a))[1] & 0xf) == 0x5))
137
+
138
+ #define IN6_IS_ADDR_MC_ORGLOCAL(a) \
139
+ (IN6_IS_ADDR_MULTICAST(a) && ((((uint8_t *) (a))[1] & 0xf) == 0x8))
140
+
141
+ #define IN6_IS_ADDR_MC_GLOBAL(a) \
142
+ (IN6_IS_ADDR_MULTICAST(a) && ((((uint8_t *) (a))[1] & 0xf) == 0xe))
143
+
144
+ #define __ARE_4_EQUAL(a,b) \
145
+ (!( 0[a]-0[b] | 1[a]-1[b] | 2[a]-2[b] | 3[a]-3[b] ))
146
+ #define IN6_ARE_ADDR_EQUAL(a,b) \
147
+ __ARE_4_EQUAL((const uint32_t *)(a), (const uint32_t *)(b))
148
+
149
+ #define IN_CLASSA(a) ((((in_addr_t)(a)) & 0x80000000) == 0)
150
+ #define IN_CLASSA_NET 0xff000000
151
+ #define IN_CLASSA_NSHIFT 24
152
+ #define IN_CLASSA_HOST (0xffffffff & ~IN_CLASSA_NET)
153
+ #define IN_CLASSA_MAX 128
154
+ #define IN_CLASSB(a) ((((in_addr_t)(a)) & 0xc0000000) == 0x80000000)
155
+ #define IN_CLASSB_NET 0xffff0000
156
+ #define IN_CLASSB_NSHIFT 16
157
+ #define IN_CLASSB_HOST (0xffffffff & ~IN_CLASSB_NET)
158
+ #define IN_CLASSB_MAX 65536
159
+ #define IN_CLASSC(a) ((((in_addr_t)(a)) & 0xe0000000) == 0xc0000000)
160
+ #define IN_CLASSC_NET 0xffffff00
161
+ #define IN_CLASSC_NSHIFT 8
162
+ #define IN_CLASSC_HOST (0xffffffff & ~IN_CLASSC_NET)
163
+ #define IN_CLASSD(a) ((((in_addr_t)(a)) & 0xf0000000) == 0xe0000000)
164
+ #define IN_MULTICAST(a) IN_CLASSD(a)
165
+ #define IN_EXPERIMENTAL(a) ((((in_addr_t)(a)) & 0xe0000000) == 0xe0000000)
166
+ #define IN_BADCLASS(a) ((((in_addr_t)(a)) & 0xf0000000) == 0xf0000000)
167
+
168
+ #define IN_LOOPBACKNET 127
169
+
170
+
171
+ #define IP_TOS 1
172
+ #define IP_TTL 2
173
+ #define IP_HDRINCL 3
174
+ #define IP_OPTIONS 4
175
+ #define IP_ROUTER_ALERT 5
176
+ #define IP_RECVOPTS 6
177
+ #define IP_RETOPTS 7
178
+ #define IP_PKTINFO 8
179
+ #define IP_PKTOPTIONS 9
180
+ #define IP_PMTUDISC 10
181
+ #define IP_MTU_DISCOVER 10
182
+ #define IP_RECVERR 11
183
+ #define IP_RECVTTL 12
184
+ #define IP_RECVTOS 13
185
+ #define IP_MTU 14
186
+ #define IP_FREEBIND 15
187
+ #define IP_IPSEC_POLICY 16
188
+ #define IP_XFRM_POLICY 17
189
+ #define IP_PASSSEC 18
190
+ #define IP_TRANSPARENT 19
191
+ #define IP_ORIGDSTADDR 20
192
+ #define IP_RECVORIGDSTADDR IP_ORIGDSTADDR
193
+ #define IP_MINTTL 21
194
+ #define IP_MULTICAST_IF 32
195
+ #define IP_MULTICAST_TTL 33
196
+ #define IP_MULTICAST_LOOP 34
197
+ #define IP_ADD_MEMBERSHIP 35
198
+ #define IP_DROP_MEMBERSHIP 36
199
+ #define IP_UNBLOCK_SOURCE 37
200
+ #define IP_BLOCK_SOURCE 38
201
+ #define IP_ADD_SOURCE_MEMBERSHIP 39
202
+ #define IP_DROP_SOURCE_MEMBERSHIP 40
203
+ #define IP_MSFILTER 41
204
+ #define IP_MULTICAST_ALL 49
205
+ #define IP_UNICAST_IF 50
206
+
207
+ #ifdef _GNU_SOURCE
208
+ #define MCAST_JOIN_GROUP 42
209
+ #define MCAST_BLOCK_SOURCE 43
210
+ #define MCAST_UNBLOCK_SOURCE 44
211
+ #define MCAST_LEAVE_GROUP 45
212
+ #define MCAST_JOIN_SOURCE_GROUP 46
213
+ #define MCAST_LEAVE_SOURCE_GROUP 47
214
+ #define MCAST_MSFILTER 48
215
+
216
+ #define MCAST_EXCLUDE 0
217
+ #define MCAST_INCLUDE 1
218
+ #endif
219
+
220
+ #define IP_RECVRETOPTS IP_RETOPTS
221
+
222
+ #define IP_PMTUDISC_DONT 0
223
+ #define IP_PMTUDISC_WANT 1
224
+ #define IP_PMTUDISC_DO 2
225
+ #define IP_PMTUDISC_PROBE 3
226
+
227
+ #define SOL_IP 0
228
+
229
+ #define IP_DEFAULT_MULTICAST_TTL 1
230
+ #define IP_DEFAULT_MULTICAST_LOOP 1
231
+ #define IP_MAX_MEMBERSHIPS 20
232
+
233
+ struct ip_opts
234
+ {
235
+ struct in_addr ip_dst;
236
+ char ip_opts[40];
237
+ };
238
+
239
+ struct ip_mreq
240
+ {
241
+ struct in_addr imr_multiaddr;
242
+ struct in_addr imr_interface;
243
+ };
244
+
245
+ struct ip_mreqn
246
+ {
247
+ struct in_addr imr_multiaddr;
248
+ struct in_addr imr_address;
249
+ int imr_ifindex;
250
+ };
251
+
252
+ struct in_pktinfo
253
+ {
254
+ int ipi_ifindex;
255
+ struct in_addr ipi_spec_dst;
256
+ struct in_addr ipi_addr;
257
+ };
258
+
259
+ struct in6_pktinfo
260
+ {
261
+ struct in6_addr ipi6_addr;
262
+ unsigned ipi6_ifindex;
263
+ };
264
+
265
+ struct ip6_mtuinfo
266
+ {
267
+ struct sockaddr_in6 ip6m_addr;
268
+ uint32_t ip6m_mtu;
269
+ };
270
+
271
+ #define IPV6_ADDRFORM 1
272
+ #define IPV6_2292PKTINFO 2
273
+ #define IPV6_2292HOPOPTS 3
274
+ #define IPV6_2292DSTOPTS 4
275
+ #define IPV6_2292RTHDR 5
276
+ #define IPV6_2292PKTOPTIONS 6
277
+ #define IPV6_CHECKSUM 7
278
+ #define IPV6_2292HOPLIMIT 8
279
+ #define SCM_SRCRT IPV6_RXSRCRT
280
+ #define IPV6_NEXTHOP 9
281
+ #define IPV6_AUTHHDR 10
282
+ #define IPV6_UNICAST_HOPS 16
283
+ #define IPV6_MULTICAST_IF 17
284
+ #define IPV6_MULTICAST_HOPS 18
285
+ #define IPV6_MULTICAST_LOOP 19
286
+ #define IPV6_JOIN_GROUP 20
287
+ #define IPV6_LEAVE_GROUP 21
288
+ #define IPV6_ROUTER_ALERT 22
289
+ #define IPV6_MTU_DISCOVER 23
290
+ #define IPV6_MTU 24
291
+ #define IPV6_RECVERR 25
292
+ #define IPV6_V6ONLY 26
293
+ #define IPV6_JOIN_ANYCAST 27
294
+ #define IPV6_LEAVE_ANYCAST 28
295
+ #define IPV6_IPSEC_POLICY 34
296
+ #define IPV6_XFRM_POLICY 35
297
+
298
+ #define IPV6_RECVPKTINFO 49
299
+ #define IPV6_PKTINFO 50
300
+ #define IPV6_RECVHOPLIMIT 51
301
+ #define IPV6_HOPLIMIT 52
302
+ #define IPV6_RECVHOPOPTS 53
303
+ #define IPV6_HOPOPTS 54
304
+ #define IPV6_RTHDRDSTOPTS 55
305
+ #define IPV6_RECVRTHDR 56
306
+ #define IPV6_RTHDR 57
307
+ #define IPV6_RECVDSTOPTS 58
308
+ #define IPV6_DSTOPTS 59
309
+
310
+ #define IPV6_RECVTCLASS 66
311
+ #define IPV6_TCLASS 67
312
+
313
+ #define IPV6_ADD_MEMBERSHIP IPV6_JOIN_GROUP
314
+ #define IPV6_DROP_MEMBERSHIP IPV6_LEAVE_GROUP
315
+ #define IPV6_RXHOPOPTS IPV6_HOPOPTS
316
+ #define IPV6_RXDSTOPTS IPV6_DSTOPTS
317
+
318
+
319
+ #define IPV6_PMTUDISC_DONT 0
320
+ #define IPV6_PMTUDISC_WANT 1
321
+ #define IPV6_PMTUDISC_DO 2
322
+ #define IPV6_PMTUDISC_PROBE 3
323
+
324
+ #define SOL_IPV6 41
325
+ #define SOL_ICMPV6 58
326
+
327
+ #define IPV6_RTHDR_LOOSE 0
328
+ #define IPV6_RTHDR_STRICT 1
329
+
330
+ #define IPV6_RTHDR_TYPE_0 0
331
+
332
+ #ifdef __cplusplus
333
+ }
334
+ #endif
335
+
336
+ #endif
@@ -0,0 +1,9 @@
1
+ #ifndef _NETINET_IN_SYSTM_H
2
+ #define _NETINET_IN_SYSTM_H
3
+
4
+ #include <stdint.h>
5
+
6
+ typedef uint16_t n_short;
7
+ typedef uint32_t n_long, n_time;
8
+
9
+ #endif
@@ -0,0 +1,186 @@
1
+ #ifndef _NETINET_IP_H
2
+ #define _NETINET_IP_H
3
+
4
+ #ifdef __cplusplus
5
+ extern "C" {
6
+ #endif
7
+
8
+ #include <stdint.h>
9
+ #include <netinet/in.h>
10
+ #include <endian.h>
11
+
12
+ struct timestamp {
13
+ uint8_t len;
14
+ uint8_t ptr;
15
+ #if __BYTE_ORDER == __LITTLE_ENDIAN
16
+ unsigned int flags:4;
17
+ unsigned int overflow:4;
18
+ #else
19
+ unsigned int overflow:4;
20
+ unsigned int flags:4;
21
+ #endif
22
+ uint32_t data[9];
23
+ };
24
+
25
+ struct iphdr {
26
+ #if __BYTE_ORDER == __LITTLE_ENDIAN
27
+ unsigned int ihl:4;
28
+ unsigned int version:4;
29
+ #else
30
+ unsigned int version:4;
31
+ unsigned int ihl:4;
32
+ #endif
33
+ uint8_t tos;
34
+ uint16_t tot_len;
35
+ uint16_t id;
36
+ uint16_t frag_off;
37
+ uint8_t ttl;
38
+ uint8_t protocol;
39
+ uint16_t check;
40
+ uint32_t saddr;
41
+ uint32_t daddr;
42
+ };
43
+
44
+ struct ip {
45
+ #if __BYTE_ORDER == __LITTLE_ENDIAN
46
+ unsigned int ip_hl:4;
47
+ unsigned int ip_v:4;
48
+ #else
49
+ unsigned int ip_v:4;
50
+ unsigned int ip_hl:4;
51
+ #endif
52
+ uint8_t ip_tos;
53
+ uint16_t ip_len;
54
+ uint16_t ip_id;
55
+ uint16_t ip_off;
56
+ uint8_t ip_ttl;
57
+ uint8_t ip_p;
58
+ uint16_t ip_sum;
59
+ struct in_addr ip_src, ip_dst;
60
+ };
61
+
62
+ #define IP_RF 0x8000
63
+ #define IP_DF 0x4000
64
+ #define IP_MF 0x2000
65
+ #define IP_OFFMASK 0x1fff
66
+
67
+ struct ip_timestamp {
68
+ uint8_t ipt_code;
69
+ uint8_t ipt_len;
70
+ uint8_t ipt_ptr;
71
+ #if __BYTE_ORDER == __LITTLE_ENDIAN
72
+ unsigned int ipt_flg:4;
73
+ unsigned int ipt_oflw:4;
74
+ #else
75
+ unsigned int ipt_oflw:4;
76
+ unsigned int ipt_flg:4;
77
+ #endif
78
+ uint32_t data[9];
79
+ };
80
+
81
+ #define IPVERSION 4
82
+ #define IP_MAXPACKET 65535
83
+
84
+ #define IPTOS_ECN_MASK 0x03
85
+ #define IPTOS_ECN(x) ((x) & IPTOS_ECN_MASK)
86
+ #define IPTOS_ECN_NOT_ECT 0x00
87
+ #define IPTOS_ECN_ECT1 0x01
88
+ #define IPTOS_ECN_ECT0 0x02
89
+ #define IPTOS_ECN_CE 0x03
90
+
91
+ #define IPTOS_DSCP_MASK 0xfc
92
+ #define IPTOS_DSCP(x) ((x) & IPTOS_DSCP_MASK)
93
+ #define IPTOS_DSCP_AF11 0x28
94
+ #define IPTOS_DSCP_AF12 0x30
95
+ #define IPTOS_DSCP_AF13 0x38
96
+ #define IPTOS_DSCP_AF21 0x48
97
+ #define IPTOS_DSCP_AF22 0x50
98
+ #define IPTOS_DSCP_AF23 0x58
99
+ #define IPTOS_DSCP_AF31 0x68
100
+ #define IPTOS_DSCP_AF32 0x70
101
+ #define IPTOS_DSCP_AF33 0x78
102
+ #define IPTOS_DSCP_AF41 0x88
103
+ #define IPTOS_DSCP_AF42 0x90
104
+ #define IPTOS_DSCP_AF43 0x98
105
+ #define IPTOS_DSCP_EF 0xb8
106
+
107
+ #define IPTOS_TOS_MASK 0x1E
108
+ #define IPTOS_TOS(tos) ((tos) & IPTOS_TOS_MASK)
109
+ #define IPTOS_LOWDELAY 0x10
110
+ #define IPTOS_THROUGHPUT 0x08
111
+ #define IPTOS_RELIABILITY 0x04
112
+ #define IPTOS_LOWCOST 0x02
113
+ #define IPTOS_MINCOST IPTOS_LOWCOST
114
+
115
+ #define IPTOS_PREC_MASK 0xe0
116
+ #define IPTOS_PREC(tos) ((tos) & IPTOS_PREC_MASK)
117
+ #define IPTOS_PREC_NETCONTROL 0xe0
118
+ #define IPTOS_PREC_INTERNETCONTROL 0xc0
119
+ #define IPTOS_PREC_CRITIC_ECP 0xa0
120
+ #define IPTOS_PREC_FLASHOVERRIDE 0x80
121
+ #define IPTOS_PREC_FLASH 0x60
122
+ #define IPTOS_PREC_IMMEDIATE 0x40
123
+ #define IPTOS_PREC_PRIORITY 0x20
124
+ #define IPTOS_PREC_ROUTINE 0x00
125
+
126
+ #define IPOPT_COPY 0x80
127
+ #define IPOPT_CLASS_MASK 0x60
128
+ #define IPOPT_NUMBER_MASK 0x1f
129
+
130
+ #define IPOPT_COPIED(o) ((o) & IPOPT_COPY)
131
+ #define IPOPT_CLASS(o) ((o) & IPOPT_CLASS_MASK)
132
+ #define IPOPT_NUMBER(o) ((o) & IPOPT_NUMBER_MASK)
133
+
134
+ #define IPOPT_CONTROL 0x00
135
+ #define IPOPT_RESERVED1 0x20
136
+ #define IPOPT_DEBMEAS 0x40
137
+ #define IPOPT_MEASUREMENT IPOPT_DEBMEAS
138
+ #define IPOPT_RESERVED2 0x60
139
+
140
+ #define IPOPT_EOL 0
141
+ #define IPOPT_END IPOPT_EOL
142
+ #define IPOPT_NOP 1
143
+ #define IPOPT_NOOP IPOPT_NOP
144
+
145
+ #define IPOPT_RR 7
146
+ #define IPOPT_TS 68
147
+ #define IPOPT_TIMESTAMP IPOPT_TS
148
+ #define IPOPT_SECURITY 130
149
+ #define IPOPT_SEC IPOPT_SECURITY
150
+ #define IPOPT_LSRR 131
151
+ #define IPOPT_SATID 136
152
+ #define IPOPT_SID IPOPT_SATID
153
+ #define IPOPT_SSRR 137
154
+ #define IPOPT_RA 148
155
+
156
+ #define IPOPT_OPTVAL 0
157
+ #define IPOPT_OLEN 1
158
+ #define IPOPT_OFFSET 2
159
+ #define IPOPT_MINOFF 4
160
+
161
+ #define MAX_IPOPTLEN 40
162
+
163
+ #define IPOPT_TS_TSONLY 0
164
+ #define IPOPT_TS_TSANDADDR 1
165
+ #define IPOPT_TS_PRESPEC 3
166
+
167
+ #define IPOPT_SECUR_UNCLASS 0x0000
168
+ #define IPOPT_SECUR_CONFID 0xf135
169
+ #define IPOPT_SECUR_EFTO 0x789a
170
+ #define IPOPT_SECUR_MMMM 0xbc4d
171
+ #define IPOPT_SECUR_RESTR 0xaf13
172
+ #define IPOPT_SECUR_SECRET 0xd788
173
+ #define IPOPT_SECUR_TOPSECRET 0x6bc5
174
+
175
+ #define MAXTTL 255
176
+ #define IPDEFTTL 64
177
+ #define IPFRAGTTL 60
178
+ #define IPTTLDEC 1
179
+
180
+ #define IP_MSS 576
181
+
182
+ #ifdef __cplusplus
183
+ }
184
+ #endif
185
+
186
+ #endif
@@ -0,0 +1,142 @@
1
+ #ifndef _NETINET_IP6_H
2
+ #define _NETINET_IP6_H
3
+
4
+ #ifdef __cplusplus
5
+ extern "C" {
6
+ #endif
7
+
8
+ #include <stdint.h>
9
+ #include <netinet/in.h>
10
+ #include <endian.h>
11
+
12
+ struct ip6_hdr {
13
+ union {
14
+ struct ip6_hdrctl {
15
+ uint32_t ip6_un1_flow;
16
+ uint16_t ip6_un1_plen;
17
+ uint8_t ip6_un1_nxt;
18
+ uint8_t ip6_un1_hlim;
19
+ } ip6_un1;
20
+ uint8_t ip6_un2_vfc;
21
+ } ip6_ctlun;
22
+ struct in6_addr ip6_src;
23
+ struct in6_addr ip6_dst;
24
+ };
25
+
26
+ #define ip6_vfc ip6_ctlun.ip6_un2_vfc
27
+ #define ip6_flow ip6_ctlun.ip6_un1.ip6_un1_flow
28
+ #define ip6_plen ip6_ctlun.ip6_un1.ip6_un1_plen
29
+ #define ip6_nxt ip6_ctlun.ip6_un1.ip6_un1_nxt
30
+ #define ip6_hlim ip6_ctlun.ip6_un1.ip6_un1_hlim
31
+ #define ip6_hops ip6_ctlun.ip6_un1.ip6_un1_hlim
32
+
33
+ struct ip6_ext {
34
+ uint8_t ip6e_nxt;
35
+ uint8_t ip6e_len;
36
+ };
37
+
38
+ struct ip6_hbh {
39
+ uint8_t ip6h_nxt;
40
+ uint8_t ip6h_len;
41
+ };
42
+
43
+ struct ip6_dest {
44
+ uint8_t ip6d_nxt;
45
+ uint8_t ip6d_len;
46
+ };
47
+
48
+ struct ip6_rthdr {
49
+ uint8_t ip6r_nxt;
50
+ uint8_t ip6r_len;
51
+ uint8_t ip6r_type;
52
+ uint8_t ip6r_segleft;
53
+ };
54
+
55
+ struct ip6_rthdr0 {
56
+ uint8_t ip6r0_nxt;
57
+ uint8_t ip6r0_len;
58
+ uint8_t ip6r0_type;
59
+ uint8_t ip6r0_segleft;
60
+ uint8_t ip6r0_reserved;
61
+ uint8_t ip6r0_slmap[3];
62
+ struct in6_addr ip6r0_addr[];
63
+ };
64
+
65
+ struct ip6_frag {
66
+ uint8_t ip6f_nxt;
67
+ uint8_t ip6f_reserved;
68
+ uint16_t ip6f_offlg;
69
+ uint32_t ip6f_ident;
70
+ };
71
+
72
+ #if __BYTE_ORDER == __BIG_ENDIAN
73
+ #define IP6F_OFF_MASK 0xfff8
74
+ #define IP6F_RESERVED_MASK 0x0006
75
+ #define IP6F_MORE_FRAG 0x0001
76
+ #else
77
+ #define IP6F_OFF_MASK 0xf8ff
78
+ #define IP6F_RESERVED_MASK 0x0600
79
+ #define IP6F_MORE_FRAG 0x0100
80
+ #endif
81
+
82
+ struct ip6_opt {
83
+ uint8_t ip6o_type;
84
+ uint8_t ip6o_len;
85
+ };
86
+
87
+ #define IP6OPT_TYPE(o) ((o) & 0xc0)
88
+ #define IP6OPT_TYPE_SKIP 0x00
89
+ #define IP6OPT_TYPE_DISCARD 0x40
90
+ #define IP6OPT_TYPE_FORCEICMP 0x80
91
+ #define IP6OPT_TYPE_ICMP 0xc0
92
+ #define IP6OPT_TYPE_MUTABLE 0x20
93
+
94
+ #define IP6OPT_PAD1 0
95
+ #define IP6OPT_PADN 1
96
+
97
+ #define IP6OPT_JUMBO 0xc2
98
+ #define IP6OPT_NSAP_ADDR 0xc3
99
+ #define IP6OPT_TUNNEL_LIMIT 0x04
100
+ #define IP6OPT_ROUTER_ALERT 0x05
101
+
102
+ struct ip6_opt_jumbo {
103
+ uint8_t ip6oj_type;
104
+ uint8_t ip6oj_len;
105
+ uint8_t ip6oj_jumbo_len[4];
106
+ };
107
+ #define IP6OPT_JUMBO_LEN 6
108
+
109
+ struct ip6_opt_nsap {
110
+ uint8_t ip6on_type;
111
+ uint8_t ip6on_len;
112
+ uint8_t ip6on_src_nsap_len;
113
+ uint8_t ip6on_dst_nsap_len;
114
+ };
115
+
116
+ struct ip6_opt_tunnel {
117
+ uint8_t ip6ot_type;
118
+ uint8_t ip6ot_len;
119
+ uint8_t ip6ot_encap_limit;
120
+ };
121
+
122
+ struct ip6_opt_router {
123
+ uint8_t ip6or_type;
124
+ uint8_t ip6or_len;
125
+ uint8_t ip6or_value[2];
126
+ };
127
+
128
+ #if __BYTE_ORDER == __BIG_ENDIAN
129
+ #define IP6_ALERT_MLD 0x0000
130
+ #define IP6_ALERT_RSVP 0x0001
131
+ #define IP6_ALERT_AN 0x0002
132
+ #else
133
+ #define IP6_ALERT_MLD 0x0000
134
+ #define IP6_ALERT_RSVP 0x0100
135
+ #define IP6_ALERT_AN 0x0200
136
+ #endif
137
+
138
+ #ifdef __cplusplus
139
+ }
140
+ #endif
141
+
142
+ #endif