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,26 +0,0 @@
1
- #ifndef _SYS_UTIME_H
2
- #define _SYS_UTIME_H
3
-
4
- /* This is a dummy <sys/utime.h> file, not customized for any
5
- particular system. If there is a utime.h in libc/sys/SYSDIR/sys,
6
- it will override this one. */
7
-
8
- #ifdef __cplusplus
9
- extern "C" {
10
- #endif
11
-
12
- #include <time.h> /* XXX Emscripten */
13
-
14
- struct utimbuf
15
- {
16
- time_t actime;
17
- time_t modtime;
18
- };
19
-
20
- int utime(const char *path, const struct utimbuf *times); /* XXX Emscripten */
21
-
22
- #ifdef __cplusplus
23
- };
24
- #endif
25
-
26
- #endif /* _SYS_UTIME_H */
@@ -1,46 +0,0 @@
1
- /* From curses.h. */
2
- /*
3
- * Copyright (c) 1981, 1993
4
- * The Regents of the University of California. All rights reserved.
5
- *
6
- * Redistribution and use in source and binary forms, with or without
7
- * modification, are permitted provided that the following conditions
8
- * are met:
9
- * 1. Redistributions of source code must retain the above copyright
10
- * notice, this list of conditions and the following disclaimer.
11
- * 2. Redistributions in binary form must reproduce the above copyright
12
- * notice, this list of conditions and the following disclaimer in the
13
- * documentation and/or other materials provided with the distribution.
14
- * 3. All advertising materials mentioning features or use of this software
15
- * must display the following acknowledgement:
16
- * This product includes software developed by the University of
17
- * California, Berkeley and its contributors.
18
- * 4. Neither the name of the University nor the names of its contributors
19
- * may be used to endorse or promote products derived from this software
20
- * without specific prior written permission.
21
- *
22
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
23
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
24
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
25
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
26
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
27
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
28
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
29
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
30
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
31
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
32
- * SUCH DAMAGE.
33
- */
34
-
35
- #ifndef _UNCTRL_H_
36
- #define _UNCTRL_H_
37
-
38
- #include <_ansi.h>
39
-
40
- #define unctrl(c) __unctrl[(c) & 0xff]
41
- #define unctrllen(ch) __unctrllen[(ch) & 0xff]
42
-
43
- extern __IMPORT _CONST char * _CONST __unctrl[256]; /* Control strings. */
44
- extern __IMPORT _CONST char __unctrllen[256]; /* Control strings length. */
45
-
46
- #endif /* _UNCTRL_H_ */
@@ -1,10 +0,0 @@
1
-
2
- #ifndef _MEMORY_H
3
- #define _MEMORY_H
4
-
5
- #include <sys/features.h>
6
-
7
- #include <string.h>
8
-
9
- #endif
10
-
@@ -1,23 +0,0 @@
1
-
2
- #ifndef _MNTENT_H
3
- #define _MNTENT_H
4
-
5
- #include <stdio.h>
6
-
7
- struct mntent {
8
- char *mnt_fsname;
9
- char *mnt_dir;
10
- char *mnt_type;
11
- char *mnt_opts;
12
- int mnt_freq;
13
- int mnt_passno;
14
- };
15
-
16
- struct mntent *getmntent(FILE *f);
17
- FILE *setmntent(const char *filename, const char *type);
18
- int addmntent(FILE *f, const struct mntent *m);
19
- int endmntent(FILE *f);
20
- char *hasmntopt(const struct mntent *m, const char *opt);
21
-
22
- #endif
23
-
@@ -1,32 +0,0 @@
1
-
2
- #ifndef _NET_ARPA_INET_H
3
- #define _NET_ARPA_INET_H
4
-
5
- #ifdef __cplusplus
6
- extern "C" {
7
- #endif
8
-
9
- #include <stdint.h>
10
- #include <netdb.h>
11
- #include <netinet/in.h>
12
-
13
- uint32_t htonl(uint32_t hostlong);
14
- uint16_t htons(uint16_t hostshort);
15
- uint32_t ntohl(uint32_t netlong);
16
- uint16_t ntohs(uint16_t netshort);
17
-
18
- int inet_aton(const char *cp, struct in_addr *addr);
19
- char *inet_ntoa(struct in_addr in);
20
-
21
- int inet_pton(int af, const char *src, void *dst);
22
- const char *inet_ntop(int af, const void *src, char *dst, socklen_t size);
23
-
24
- typedef long in_addr_t;
25
- in_addr_t inet_addr(const char *cp);
26
-
27
- #ifdef __cplusplus
28
- }
29
- #endif
30
-
31
- #endif
32
-
@@ -1,535 +0,0 @@
1
- /*
2
- * Copyright (c) 1983, 1989, 1993
3
- * The Regents of the University of California. All rights reserved.
4
- *
5
- * Redistribution and use in source and binary forms, with or without
6
- * modification, are permitted provided that the following conditions
7
- * are met:
8
- * 1. Redistributions of source code must retain the above copyright
9
- * notice, this list of conditions and the following disclaimer.
10
- * 2. Redistributions in binary form must reproduce the above copyright
11
- * notice, this list of conditions and the following disclaimer in the
12
- * documentation and/or other materials provided with the distribution.
13
- * 4. Neither the name of the University nor the names of its contributors
14
- * may be used to endorse or promote products derived from this software
15
- * without specific prior written permission.
16
- *
17
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
18
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
20
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
21
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
22
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
23
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
24
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
25
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
26
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
27
- * SUCH DAMAGE.
28
- */
29
-
30
- /*
31
- * Copyright (c) 2004 by Internet Systems Consortium, Inc. ("ISC")
32
- * Copyright (c) 1996-1999 by Internet Software Consortium.
33
- *
34
- * Permission to use, copy, modify, and distribute this software for any
35
- * purpose with or without fee is hereby granted, provided that the above
36
- * copyright notice and this permission notice appear in all copies.
37
- *
38
- * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS
39
- * ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
40
- * OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE
41
- * CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
42
- * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
43
- * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
44
- * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
45
- * SOFTWARE.
46
- */
47
-
48
- /*
49
- * $BINDId: nameser.h,v 8.37 2000/03/30 21:16:49 vixie Exp $
50
- */
51
-
52
- #ifndef _ARPA_NAMESER_H_
53
- #define _ARPA_NAMESER_H_
54
-
55
- /*! \file */
56
-
57
- #define BIND_4_COMPAT
58
-
59
- #include <sys/param.h>
60
- #if (!defined(BSD)) || (BSD < 199306)
61
- # include <sys/bitypes.h>
62
- #else
63
- # include <sys/types.h>
64
- #endif
65
- #include <sys/cdefs.h>
66
-
67
- /*%
68
- * Revision information. This is the release date in YYYYMMDD format.
69
- * It can change every day so the right thing to do with it is use it
70
- * in preprocessor commands such as "#if (__NAMESER > 19931104)". Do not
71
- * compare for equality; rather, use it to determine whether your libbind.a
72
- * contains a new enough lib/nameser/ to support the feature you need.
73
- */
74
-
75
- #define __NAMESER 19991006 /*%< New interface version stamp. */
76
- /*
77
- * Define constants based on RFC 883, RFC 1034, RFC 1035
78
- */
79
- #define NS_PACKETSZ 512 /*%< default UDP packet size */
80
- #define NS_MAXDNAME 1025 /*%< maximum domain name */
81
- #define NS_MAXMSG 65535 /*%< maximum message size */
82
- #define NS_MAXCDNAME 255 /*%< maximum compressed domain name */
83
- #define NS_MAXLABEL 63 /*%< maximum length of domain label */
84
- #define NS_HFIXEDSZ 12 /*%< #/bytes of fixed data in header */
85
- #define NS_QFIXEDSZ 4 /*%< #/bytes of fixed data in query */
86
- #define NS_RRFIXEDSZ 10 /*%< #/bytes of fixed data in r record */
87
- #define NS_INT32SZ 4 /*%< #/bytes of data in a u_int32_t */
88
- #define NS_INT16SZ 2 /*%< #/bytes of data in a u_int16_t */
89
- #define NS_INT8SZ 1 /*%< #/bytes of data in a u_int8_t */
90
- #define NS_INADDRSZ 4 /*%< IPv4 T_A */
91
- #define NS_IN6ADDRSZ 16 /*%< IPv6 T_AAAA */
92
- #define NS_CMPRSFLGS 0xc0 /*%< Flag bits indicating name compression. */
93
- #define NS_DEFAULTPORT 53 /*%< For both TCP and UDP. */
94
- /*
95
- * These can be expanded with synonyms, just keep ns_parse.c:ns_parserecord()
96
- * in synch with it.
97
- */
98
- typedef enum __ns_sect {
99
- ns_s_qd = 0, /*%< Query: Question. */
100
- ns_s_zn = 0, /*%< Update: Zone. */
101
- ns_s_an = 1, /*%< Query: Answer. */
102
- ns_s_pr = 1, /*%< Update: Prerequisites. */
103
- ns_s_ns = 2, /*%< Query: Name servers. */
104
- ns_s_ud = 2, /*%< Update: Update. */
105
- ns_s_ar = 3, /*%< Query|Update: Additional records. */
106
- ns_s_max = 4
107
- } ns_sect;
108
-
109
- /*%
110
- * This is a message handle. It is caller allocated and has no dynamic data.
111
- * This structure is intended to be opaque to all but ns_parse.c, thus the
112
- * leading _'s on the member names. Use the accessor functions, not the _'s.
113
- */
114
- typedef struct __ns_msg {
115
- const u_char *_msg, *_eom;
116
- u_int16_t _id, _flags, _counts[ns_s_max];
117
- const u_char *_sections[ns_s_max];
118
- ns_sect _sect;
119
- int _rrnum;
120
- const u_char *_msg_ptr;
121
- } ns_msg;
122
-
123
- /* Private data structure - do not use from outside library. */
124
- struct _ns_flagdata { int mask, shift; };
125
- extern const struct _ns_flagdata _ns_flagdata[];
126
-
127
- /* Accessor macros - this is part of the public interface. */
128
-
129
- #define ns_msg_id(handle) ((handle)._id + 0)
130
- #define ns_msg_base(handle) ((handle)._msg + 0)
131
- #define ns_msg_end(handle) ((handle)._eom + 0)
132
- #define ns_msg_size(handle) ((handle)._eom - (handle)._msg)
133
- #define ns_msg_count(handle, section) ((handle)._counts[section] + 0)
134
-
135
- /*%
136
- * This is a parsed record. It is caller allocated and has no dynamic data.
137
- */
138
- typedef struct __ns_rr {
139
- char name[NS_MAXDNAME];
140
- u_int16_t type;
141
- u_int16_t rr_class;
142
- u_int32_t ttl;
143
- u_int16_t rdlength;
144
- const u_char * rdata;
145
- } ns_rr;
146
-
147
- /* Accessor macros - this is part of the public interface. */
148
- #define ns_rr_name(rr) (((rr).name[0] != '\0') ? (rr).name : ".")
149
- #define ns_rr_type(rr) ((ns_type)((rr).type + 0))
150
- #define ns_rr_class(rr) ((ns_class)((rr).rr_class + 0))
151
- #define ns_rr_ttl(rr) ((rr).ttl + 0)
152
- #define ns_rr_rdlen(rr) ((rr).rdlength + 0)
153
- #define ns_rr_rdata(rr) ((rr).rdata + 0)
154
-
155
- /*%
156
- * These don't have to be in the same order as in the packet flags word,
157
- * and they can even overlap in some cases, but they will need to be kept
158
- * in synch with ns_parse.c:ns_flagdata[].
159
- */
160
- typedef enum __ns_flag {
161
- ns_f_qr, /*%< Question/Response. */
162
- ns_f_opcode, /*%< Operation code. */
163
- ns_f_aa, /*%< Authoritative Answer. */
164
- ns_f_tc, /*%< Truncation occurred. */
165
- ns_f_rd, /*%< Recursion Desired. */
166
- ns_f_ra, /*%< Recursion Available. */
167
- ns_f_z, /*%< MBZ. */
168
- ns_f_ad, /*%< Authentic Data (DNSSEC). */
169
- ns_f_cd, /*%< Checking Disabled (DNSSEC). */
170
- ns_f_rcode, /*%< Response code. */
171
- ns_f_max
172
- } ns_flag;
173
-
174
- /*%
175
- * Currently defined opcodes.
176
- */
177
- typedef enum __ns_opcode {
178
- ns_o_query = 0, /*%< Standard query. */
179
- ns_o_iquery = 1, /*%< Inverse query (deprecated/unsupported). */
180
- ns_o_status = 2, /*%< Name server status query (unsupported). */
181
- /* Opcode 3 is undefined/reserved. */
182
- ns_o_notify = 4, /*%< Zone change notification. */
183
- ns_o_update = 5, /*%< Zone update message. */
184
- ns_o_max = 6
185
- } ns_opcode;
186
-
187
- /*%
188
- * Currently defined response codes.
189
- */
190
- typedef enum __ns_rcode {
191
- ns_r_noerror = 0, /*%< No error occurred. */
192
- ns_r_formerr = 1, /*%< Format error. */
193
- ns_r_servfail = 2, /*%< Server failure. */
194
- ns_r_nxdomain = 3, /*%< Name error. */
195
- ns_r_notimpl = 4, /*%< Unimplemented. */
196
- ns_r_refused = 5, /*%< Operation refused. */
197
- /* these are for BIND_UPDATE */
198
- ns_r_yxdomain = 6, /*%< Name exists */
199
- ns_r_yxrrset = 7, /*%< RRset exists */
200
- ns_r_nxrrset = 8, /*%< RRset does not exist */
201
- ns_r_notauth = 9, /*%< Not authoritative for zone */
202
- ns_r_notzone = 10, /*%< Zone of record different from zone section */
203
- ns_r_max = 11,
204
- /* The following are EDNS extended rcodes */
205
- ns_r_badvers = 16,
206
- /* The following are TSIG errors */
207
- ns_r_badsig = 16,
208
- ns_r_badkey = 17,
209
- ns_r_badtime = 18
210
- } ns_rcode;
211
-
212
- /* BIND_UPDATE */
213
- typedef enum __ns_update_operation {
214
- ns_uop_delete = 0,
215
- ns_uop_add = 1,
216
- ns_uop_max = 2
217
- } ns_update_operation;
218
-
219
- /*%
220
- * This structure is used for TSIG authenticated messages
221
- */
222
- struct ns_tsig_key {
223
- char name[NS_MAXDNAME], alg[NS_MAXDNAME];
224
- unsigned char *data;
225
- int len;
226
- };
227
- typedef struct ns_tsig_key ns_tsig_key;
228
-
229
- /*%
230
- * This structure is used for TSIG authenticated TCP messages
231
- */
232
- struct ns_tcp_tsig_state {
233
- int counter;
234
- struct dst_key *key;
235
- void *ctx;
236
- unsigned char sig[NS_PACKETSZ];
237
- int siglen;
238
- };
239
- typedef struct ns_tcp_tsig_state ns_tcp_tsig_state;
240
-
241
- #define NS_TSIG_FUDGE 300
242
- #define NS_TSIG_TCP_COUNT 100
243
- #define NS_TSIG_ALG_HMAC_MD5 "HMAC-MD5.SIG-ALG.REG.INT"
244
-
245
- #define NS_TSIG_ERROR_NO_TSIG -10
246
- #define NS_TSIG_ERROR_NO_SPACE -11
247
- #define NS_TSIG_ERROR_FORMERR -12
248
-
249
- /*%
250
- * Currently defined type values for resources and queries.
251
- */
252
- typedef enum __ns_type {
253
- ns_t_invalid = 0, /*%< Cookie. */
254
- ns_t_a = 1, /*%< Host address. */
255
- ns_t_ns = 2, /*%< Authoritative server. */
256
- ns_t_md = 3, /*%< Mail destination. */
257
- ns_t_mf = 4, /*%< Mail forwarder. */
258
- ns_t_cname = 5, /*%< Canonical name. */
259
- ns_t_soa = 6, /*%< Start of authority zone. */
260
- ns_t_mb = 7, /*%< Mailbox domain name. */
261
- ns_t_mg = 8, /*%< Mail group member. */
262
- ns_t_mr = 9, /*%< Mail rename name. */
263
- ns_t_null = 10, /*%< Null resource record. */
264
- ns_t_wks = 11, /*%< Well known service. */
265
- ns_t_ptr = 12, /*%< Domain name pointer. */
266
- ns_t_hinfo = 13, /*%< Host information. */
267
- ns_t_minfo = 14, /*%< Mailbox information. */
268
- ns_t_mx = 15, /*%< Mail routing information. */
269
- ns_t_txt = 16, /*%< Text strings. */
270
- ns_t_rp = 17, /*%< Responsible person. */
271
- ns_t_afsdb = 18, /*%< AFS cell database. */
272
- ns_t_x25 = 19, /*%< X_25 calling address. */
273
- ns_t_isdn = 20, /*%< ISDN calling address. */
274
- ns_t_rt = 21, /*%< Router. */
275
- ns_t_nsap = 22, /*%< NSAP address. */
276
- ns_t_nsap_ptr = 23, /*%< Reverse NSAP lookup (deprecated). */
277
- ns_t_sig = 24, /*%< Security signature. */
278
- ns_t_key = 25, /*%< Security key. */
279
- ns_t_px = 26, /*%< X.400 mail mapping. */
280
- ns_t_gpos = 27, /*%< Geographical position (withdrawn). */
281
- ns_t_aaaa = 28, /*%< Ip6 Address. */
282
- ns_t_loc = 29, /*%< Location Information. */
283
- ns_t_nxt = 30, /*%< Next domain (security). */
284
- ns_t_eid = 31, /*%< Endpoint identifier. */
285
- ns_t_nimloc = 32, /*%< Nimrod Locator. */
286
- ns_t_srv = 33, /*%< Server Selection. */
287
- ns_t_atma = 34, /*%< ATM Address */
288
- ns_t_naptr = 35, /*%< Naming Authority PoinTeR */
289
- ns_t_kx = 36, /*%< Key Exchange */
290
- ns_t_cert = 37, /*%< Certification record */
291
- ns_t_a6 = 38, /*%< IPv6 address (deprecated, use ns_t_aaaa) */
292
- ns_t_dname = 39, /*%< Non-terminal DNAME (for IPv6) */
293
- ns_t_sink = 40, /*%< Kitchen sink (experimentatl) */
294
- ns_t_opt = 41, /*%< EDNS0 option (meta-RR) */
295
- ns_t_apl = 42, /*%< Address prefix list (RFC3123) */
296
- ns_t_tkey = 249, /*%< Transaction key */
297
- ns_t_tsig = 250, /*%< Transaction signature. */
298
- ns_t_ixfr = 251, /*%< Incremental zone transfer. */
299
- ns_t_axfr = 252, /*%< Transfer zone of authority. */
300
- ns_t_mailb = 253, /*%< Transfer mailbox records. */
301
- ns_t_maila = 254, /*%< Transfer mail agent records. */
302
- ns_t_any = 255, /*%< Wildcard match. */
303
- ns_t_zxfr = 256, /*%< BIND-specific, nonstandard. */
304
- ns_t_max = 65536
305
- } ns_type;
306
-
307
- /* Exclusively a QTYPE? (not also an RTYPE) */
308
- #define ns_t_qt_p(t) (ns_t_xfr_p(t) || (t) == ns_t_any || \
309
- (t) == ns_t_mailb || (t) == ns_t_maila)
310
- /* Some kind of meta-RR? (not a QTYPE, but also not an RTYPE) */
311
- #define ns_t_mrr_p(t) ((t) == ns_t_tsig || (t) == ns_t_opt)
312
- /* Exclusively an RTYPE? (not also a QTYPE or a meta-RR) */
313
- #define ns_t_rr_p(t) (!ns_t_qt_p(t) && !ns_t_mrr_p(t))
314
- #define ns_t_udp_p(t) ((t) != ns_t_axfr && (t) != ns_t_zxfr)
315
- #define ns_t_xfr_p(t) ((t) == ns_t_axfr || (t) == ns_t_ixfr || \
316
- (t) == ns_t_zxfr)
317
-
318
- /*%
319
- * Values for class field
320
- */
321
- typedef enum __ns_class {
322
- ns_c_invalid = 0, /*%< Cookie. */
323
- ns_c_in = 1, /*%< Internet. */
324
- ns_c_2 = 2, /*%< unallocated/unsupported. */
325
- ns_c_chaos = 3, /*%< MIT Chaos-net. */
326
- ns_c_hs = 4, /*%< MIT Hesiod. */
327
- /* Query class values which do not appear in resource records */
328
- ns_c_none = 254, /*%< for prereq. sections in update requests */
329
- ns_c_any = 255, /*%< Wildcard match. */
330
- ns_c_max = 65536
331
- } ns_class;
332
-
333
- /* DNSSEC constants. */
334
-
335
- typedef enum __ns_key_types {
336
- ns_kt_rsa = 1, /*%< key type RSA/MD5 */
337
- ns_kt_dh = 2, /*%< Diffie Hellman */
338
- ns_kt_dsa = 3, /*%< Digital Signature Standard (MANDATORY) */
339
- ns_kt_private = 254 /*%< Private key type starts with OID */
340
- } ns_key_types;
341
-
342
- typedef enum __ns_cert_types {
343
- cert_t_pkix = 1, /*%< PKIX (X.509v3) */
344
- cert_t_spki = 2, /*%< SPKI */
345
- cert_t_pgp = 3, /*%< PGP */
346
- cert_t_url = 253, /*%< URL private type */
347
- cert_t_oid = 254 /*%< OID private type */
348
- } ns_cert_types;
349
-
350
- /* Flags field of the KEY RR rdata. */
351
- #define NS_KEY_TYPEMASK 0xC000 /*%< Mask for "type" bits */
352
- #define NS_KEY_TYPE_AUTH_CONF 0x0000 /*%< Key usable for both */
353
- #define NS_KEY_TYPE_CONF_ONLY 0x8000 /*%< Key usable for confidentiality */
354
- #define NS_KEY_TYPE_AUTH_ONLY 0x4000 /*%< Key usable for authentication */
355
- #define NS_KEY_TYPE_NO_KEY 0xC000 /*%< No key usable for either; no key */
356
- /* The type bits can also be interpreted independently, as single bits: */
357
- #define NS_KEY_NO_AUTH 0x8000 /*%< Key unusable for authentication */
358
- #define NS_KEY_NO_CONF 0x4000 /*%< Key unusable for confidentiality */
359
- #define NS_KEY_RESERVED2 0x2000 /* Security is *mandatory* if bit=0 */
360
- #define NS_KEY_EXTENDED_FLAGS 0x1000 /*%< reserved - must be zero */
361
- #define NS_KEY_RESERVED4 0x0800 /*%< reserved - must be zero */
362
- #define NS_KEY_RESERVED5 0x0400 /*%< reserved - must be zero */
363
- #define NS_KEY_NAME_TYPE 0x0300 /*%< these bits determine the type */
364
- #define NS_KEY_NAME_USER 0x0000 /*%< key is assoc. with user */
365
- #define NS_KEY_NAME_ENTITY 0x0200 /*%< key is assoc. with entity eg host */
366
- #define NS_KEY_NAME_ZONE 0x0100 /*%< key is zone key */
367
- #define NS_KEY_NAME_RESERVED 0x0300 /*%< reserved meaning */
368
- #define NS_KEY_RESERVED8 0x0080 /*%< reserved - must be zero */
369
- #define NS_KEY_RESERVED9 0x0040 /*%< reserved - must be zero */
370
- #define NS_KEY_RESERVED10 0x0020 /*%< reserved - must be zero */
371
- #define NS_KEY_RESERVED11 0x0010 /*%< reserved - must be zero */
372
- #define NS_KEY_SIGNATORYMASK 0x000F /*%< key can sign RR's of same name */
373
- #define NS_KEY_RESERVED_BITMASK ( NS_KEY_RESERVED2 | \
374
- NS_KEY_RESERVED4 | \
375
- NS_KEY_RESERVED5 | \
376
- NS_KEY_RESERVED8 | \
377
- NS_KEY_RESERVED9 | \
378
- NS_KEY_RESERVED10 | \
379
- NS_KEY_RESERVED11 )
380
- #define NS_KEY_RESERVED_BITMASK2 0xFFFF /*%< no bits defined here */
381
- /* The Algorithm field of the KEY and SIG RR's is an integer, {1..254} */
382
- #define NS_ALG_MD5RSA 1 /*%< MD5 with RSA */
383
- #define NS_ALG_DH 2 /*%< Diffie Hellman KEY */
384
- #define NS_ALG_DSA 3 /*%< DSA KEY */
385
- #define NS_ALG_DSS NS_ALG_DSA
386
- #define NS_ALG_EXPIRE_ONLY 253 /*%< No alg, no security */
387
- #define NS_ALG_PRIVATE_OID 254 /*%< Key begins with OID giving alg */
388
- /* Protocol values */
389
- /* value 0 is reserved */
390
- #define NS_KEY_PROT_TLS 1
391
- #define NS_KEY_PROT_EMAIL 2
392
- #define NS_KEY_PROT_DNSSEC 3
393
- #define NS_KEY_PROT_IPSEC 4
394
- #define NS_KEY_PROT_ANY 255
395
-
396
- /* Signatures */
397
- #define NS_MD5RSA_MIN_BITS 512 /*%< Size of a mod or exp in bits */
398
- #define NS_MD5RSA_MAX_BITS 4096
399
- /* Total of binary mod and exp */
400
- #define NS_MD5RSA_MAX_BYTES ((NS_MD5RSA_MAX_BITS+7/8)*2+3)
401
- /* Max length of text sig block */
402
- #define NS_MD5RSA_MAX_BASE64 (((NS_MD5RSA_MAX_BYTES+2)/3)*4)
403
- #define NS_MD5RSA_MIN_SIZE ((NS_MD5RSA_MIN_BITS+7)/8)
404
- #define NS_MD5RSA_MAX_SIZE ((NS_MD5RSA_MAX_BITS+7)/8)
405
-
406
- #define NS_DSA_SIG_SIZE 41
407
- #define NS_DSA_MIN_SIZE 213
408
- #define NS_DSA_MAX_BYTES 405
409
-
410
- /* Offsets into SIG record rdata to find various values */
411
- #define NS_SIG_TYPE 0 /*%< Type flags */
412
- #define NS_SIG_ALG 2 /*%< Algorithm */
413
- #define NS_SIG_LABELS 3 /*%< How many labels in name */
414
- #define NS_SIG_OTTL 4 /*%< Original TTL */
415
- #define NS_SIG_EXPIR 8 /*%< Expiration time */
416
- #define NS_SIG_SIGNED 12 /*%< Signature time */
417
- #define NS_SIG_FOOT 16 /*%< Key footprint */
418
- #define NS_SIG_SIGNER 18 /*%< Domain name of who signed it */
419
- /* How RR types are represented as bit-flags in NXT records */
420
- #define NS_NXT_BITS 8
421
- #define NS_NXT_BIT_SET( n,p) (p[(n)/NS_NXT_BITS] |= (0x80>>((n)%NS_NXT_BITS)))
422
- #define NS_NXT_BIT_CLEAR(n,p) (p[(n)/NS_NXT_BITS] &= ~(0x80>>((n)%NS_NXT_BITS)))
423
- #define NS_NXT_BIT_ISSET(n,p) (p[(n)/NS_NXT_BITS] & (0x80>>((n)%NS_NXT_BITS)))
424
- #define NS_NXT_MAX 127
425
-
426
- /*%
427
- * EDNS0 extended flags and option codes, host order.
428
- */
429
- #define NS_OPT_DNSSEC_OK 0x8000U
430
- #define NS_OPT_NSID 3
431
-
432
- /*%
433
- * Inline versions of get/put short/long. Pointer is advanced.
434
- */
435
- #define NS_GET16(s, cp) do { \
436
- register const u_char *t_cp = (const u_char *)(cp); \
437
- (s) = ((u_int16_t)t_cp[0] << 8) \
438
- | ((u_int16_t)t_cp[1]) \
439
- ; \
440
- (cp) += NS_INT16SZ; \
441
- } while (0)
442
-
443
- #define NS_GET32(l, cp) do { \
444
- register const u_char *t_cp = (const u_char *)(cp); \
445
- (l) = ((u_int32_t)t_cp[0] << 24) \
446
- | ((u_int32_t)t_cp[1] << 16) \
447
- | ((u_int32_t)t_cp[2] << 8) \
448
- | ((u_int32_t)t_cp[3]) \
449
- ; \
450
- (cp) += NS_INT32SZ; \
451
- } while (0)
452
-
453
- #define NS_PUT16(s, cp) do { \
454
- register u_int16_t t_s = (u_int16_t)(s); \
455
- register u_char *t_cp = (u_char *)(cp); \
456
- *t_cp++ = t_s >> 8; \
457
- *t_cp = t_s; \
458
- (cp) += NS_INT16SZ; \
459
- } while (0)
460
-
461
- #define NS_PUT32(l, cp) do { \
462
- register u_int32_t t_l = (u_int32_t)(l); \
463
- register u_char *t_cp = (u_char *)(cp); \
464
- *t_cp++ = t_l >> 24; \
465
- *t_cp++ = t_l >> 16; \
466
- *t_cp++ = t_l >> 8; \
467
- *t_cp = t_l; \
468
- (cp) += NS_INT32SZ; \
469
- } while (0)
470
-
471
- __BEGIN_DECLS
472
- int ns_msg_getflag (ns_msg, int) __THROW;
473
- u_int ns_get16 (const u_char *) __THROW;
474
- u_long ns_get32 (const u_char *) __THROW;
475
- void ns_put16 (u_int, u_char *) __THROW;
476
- void ns_put32 (u_long, u_char *) __THROW;
477
- int ns_initparse (const u_char *, int, ns_msg *) __THROW;
478
- int ns_skiprr (const u_char *, const u_char *, ns_sect, int)
479
- __THROW;
480
- int ns_parserr (ns_msg *, ns_sect, int, ns_rr *) __THROW;
481
- int ns_sprintrr (const ns_msg *, const ns_rr *,
482
- const char *, const char *, char *, size_t)
483
- __THROW;
484
- int ns_sprintrrf (const u_char *, size_t, const char *,
485
- ns_class, ns_type, u_long, const u_char *,
486
- size_t, const char *, const char *,
487
- char *, size_t) __THROW;
488
- int ns_format_ttl (u_long, char *, size_t) __THROW;
489
- int ns_parse_ttl (const char *, u_long *) __THROW;
490
- u_int32_t ns_datetosecs (const char *, int *) __THROW;
491
- int ns_name_ntol (const u_char *, u_char *, size_t) __THROW;
492
- int ns_name_ntop (const u_char *, char *, size_t) __THROW;
493
- int ns_name_pton (const char *, u_char *, size_t) __THROW;
494
- int ns_name_unpack (const u_char *, const u_char *,
495
- const u_char *, u_char *, size_t) __THROW;
496
- int ns_name_pack (const u_char *, u_char *, int,
497
- const u_char **, const u_char **) __THROW;
498
- int ns_name_uncompress (const u_char *, const u_char *,
499
- const u_char *, char *, size_t) __THROW;
500
- int ns_name_compress (const char *, u_char *, size_t,
501
- const u_char **, const u_char **) __THROW;
502
- int ns_name_skip (const u_char **, const u_char *) __THROW;
503
- void ns_name_rollback (const u_char *, const u_char **,
504
- const u_char **) __THROW;
505
- int ns_sign (u_char *, int *, int, int, void *,
506
- const u_char *, int, u_char *, int *, time_t) __THROW;
507
- int ns_sign2 (u_char *, int *, int, int, void *,
508
- const u_char *, int, u_char *, int *, time_t,
509
- u_char **, u_char **) __THROW;
510
- int ns_sign_tcp (u_char *, int *, int, int,
511
- ns_tcp_tsig_state *, int) __THROW;
512
- int ns_sign_tcp2 (u_char *, int *, int, int,
513
- ns_tcp_tsig_state *, int,
514
- u_char **, u_char **) __THROW;
515
- int ns_sign_tcp_init (void *, const u_char *, int,
516
- ns_tcp_tsig_state *) __THROW;
517
- u_char *ns_find_tsig (u_char *, u_char *) __THROW;
518
- int ns_verify (u_char *, int *, void *, const u_char *, int,
519
- u_char *, int *, time_t *, int) __THROW;
520
- int ns_verify_tcp (u_char *, int *, ns_tcp_tsig_state *, int)
521
- __THROW;
522
- int ns_verify_tcp_init (void *, const u_char *, int,
523
- ns_tcp_tsig_state *) __THROW;
524
- int ns_samedomain (const char *, const char *) __THROW;
525
- int ns_subdomain (const char *, const char *) __THROW;
526
- int ns_makecanon (const char *, char *, size_t) __THROW;
527
- int ns_samename (const char *, const char *) __THROW;
528
- __END_DECLS
529
-
530
- #ifdef BIND_4_COMPAT
531
- #include <arpa/nameser_compat.h>
532
- #endif
533
-
534
- #endif /* !_ARPA_NAMESER_H_ */
535
- /*! \file */