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,694 +1,199 @@
1
- /*
2
- * Copyright (c) 1990 The Regents of the University of California.
3
- * All rights reserved.
4
- *
5
- * Redistribution and use in source and binary forms are permitted
6
- * provided that the above copyright notice and this paragraph are
7
- * duplicated in all such forms and that any documentation,
8
- * advertising materials, and other materials related to such
9
- * distribution and use acknowledge that the software was developed
10
- * by the University of California, Berkeley. The name of the
11
- * University may not be used to endorse or promote products derived
12
- * from this software without specific prior written permission.
13
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
14
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
15
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
16
- *
17
- * @(#)stdio.h 5.3 (Berkeley) 3/15/86
18
- */
19
-
20
- /*
21
- * NB: to fit things in six character monocase externals, the
22
- * stdio code uses the prefix `__s' for stdio objects, typically
23
- * followed by a three-character attempt at a mnemonic.
24
- */
25
-
26
- #ifndef _STDIO_H_
27
- #define _STDIO_H_
28
-
29
- #include "_ansi.h"
30
-
31
- #define _FSTDIO /* ``function stdio'' */
32
-
33
- #define __need_size_t
34
- #include <stddef.h>
35
-
36
- #define __need___va_list
37
- #include <stdarg.h>
38
-
39
- /*
40
- * <sys/reent.h> defines __FILE, _fpos_t.
41
- * They must be defined there because struct _reent needs them (and we don't
42
- * want reent.h to include this file.
43
- */
44
-
45
- #include <sys/reent.h>
46
- #include <sys/types.h>
47
-
48
- _BEGIN_STD_C
49
-
50
- typedef __FILE FILE;
51
-
52
- #ifdef __CYGWIN__
53
- typedef _fpos64_t fpos_t;
54
- #else
55
- typedef _fpos_t fpos_t;
56
- #ifdef __LARGE64_FILES
57
- typedef _fpos64_t fpos64_t;
58
- #endif
59
- #endif /* !__CYGWIN__ */
60
-
61
- #include <sys/stdio.h>
62
-
63
- #define __SLBF 0x0001 /* line buffered */
64
- #define __SNBF 0x0002 /* unbuffered */
65
- #define __SRD 0x0004 /* OK to read */
66
- #define __SWR 0x0008 /* OK to write */
67
- /* RD and WR are never simultaneously asserted */
68
- #define __SRW 0x0010 /* open for reading & writing */
69
- #define __SEOF 0x0020 /* found EOF */
70
- #define __SERR 0x0040 /* found error */
71
- #define __SMBF 0x0080 /* _buf is from malloc */
72
- #define __SAPP 0x0100 /* fdopen()ed in append mode - so must write to end */
73
- #define __SSTR 0x0200 /* this is an sprintf/snprintf string */
74
- #define __SOPT 0x0400 /* do fseek() optimisation */
75
- #define __SNPT 0x0800 /* do not do fseek() optimisation */
76
- #define __SOFF 0x1000 /* set iff _offset is in fact correct */
77
- #define __SORD 0x2000 /* true => stream orientation (byte/wide) decided */
78
- #if defined(__CYGWIN__)
79
- # define __SCLE 0x4000 /* convert line endings CR/LF <-> NL */
80
- #endif
81
- #define __SL64 0x8000 /* is 64-bit offset large file */
82
-
83
- /* _flags2 flags */
84
- #define __SWID 0x2000 /* true => stream orientation wide, false => byte, only valid if __SORD in _flags is true */
85
-
86
- /*
87
- * The following three definitions are for ANSI C, which took them
88
- * from System V, which stupidly took internal interface macros and
89
- * made them official arguments to setvbuf(), without renaming them.
90
- * Hence, these ugly _IOxxx names are *supposed* to appear in user code.
91
- *
92
- * Although these happen to match their counterparts above, the
93
- * implementation does not rely on that (so these could be renumbered).
94
- */
95
- #define _IOFBF 0 /* setvbuf should set fully buffered */
96
- #define _IOLBF 1 /* setvbuf should set line buffered */
97
- #define _IONBF 2 /* setvbuf should set unbuffered */
98
-
99
- #ifndef NULL
100
- #define NULL 0
101
- #endif
102
-
103
- #define EOF (-1)
104
-
105
- #ifdef __BUFSIZ__
106
- #define BUFSIZ __BUFSIZ__
107
- #else
108
- #define BUFSIZ 1024
109
- #endif
1
+ #ifndef _STDIO_H
2
+ #define _STDIO_H
110
3
 
111
- #ifdef __FOPEN_MAX__
112
- #define FOPEN_MAX __FOPEN_MAX__
113
- #else
114
- #define FOPEN_MAX 20
4
+ #ifdef __cplusplus
5
+ extern "C" {
115
6
  #endif
116
7
 
117
- #ifdef __FILENAME_MAX__
118
- #define FILENAME_MAX __FILENAME_MAX__
119
- #else
120
- #define FILENAME_MAX 1024
121
- #endif
8
+ #include <features.h>
122
9
 
123
- #ifdef __L_tmpnam__
124
- #define L_tmpnam __L_tmpnam__
125
- #else
126
- #define L_tmpnam FILENAME_MAX
127
- #endif
128
-
129
- #ifndef __STRICT_ANSI__
130
- #define P_tmpdir "/tmp"
131
- #endif
10
+ #define __NEED_FILE
11
+ #define __NEED___isoc_va_list
12
+ #define __NEED_size_t
132
13
 
133
- #ifndef SEEK_SET
134
- #define SEEK_SET 0 /* set file offset to offset */
135
- #endif
136
- #ifndef SEEK_CUR
137
- #define SEEK_CUR 1 /* set file offset to current plus offset */
138
- #endif
139
- #ifndef SEEK_END
140
- #define SEEK_END 2 /* set file offset to EOF plus offset */
14
+ #if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \
15
+ || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) \
16
+ || defined(_BSD_SOURCE)
17
+ #define __NEED_ssize_t
18
+ #define __NEED_off_t
19
+ #define __NEED_va_list
141
20
  #endif
142
21
 
143
- #define TMP_MAX 26
144
-
145
- #if 0 /* XXX Emscripten: do not use impure stuff for std*, it makes comparing to native builds harder */
146
- #ifndef _REENT_ONLY
147
- #define stdin (_REENT->_stdin)
148
- #define stdout (_REENT->_stdout)
149
- #define stderr (_REENT->_stderr)
150
- #else /* _REENT_ONLY */
151
- #define stdin (_impure_ptr->_stdin)
152
- #define stdout (_impure_ptr->_stdout)
153
- #define stderr (_impure_ptr->_stderr)
154
- #endif /* _REENT_ONLY */
155
- #else
156
- extern FILE *stdin;
157
- extern FILE *stdout;
158
- extern FILE *stderr;
159
- #define stdin stdin
160
- #define stdout stdout
161
- #define stderr stderr
162
- #endif
22
+ #include <bits/alltypes.h>
163
23
 
164
- #define _stdin_r(x) ((x)->_stdin)
165
- #define _stdout_r(x) ((x)->_stdout)
166
- #define _stderr_r(x) ((x)->_stderr)
24
+ #define NULL 0L
167
25
 
168
- /*
169
- * Functions defined in ANSI C standard.
170
- */
26
+ #undef EOF
27
+ #define EOF (-1)
171
28
 
172
- #ifndef __VALIST
173
- #ifdef __GNUC__
174
- #define __VALIST __gnuc_va_list
175
- #else
176
- #define __VALIST char*
177
- #endif
178
- #endif
29
+ #undef SEEK_SET
30
+ #undef SEEK_CUR
31
+ #undef SEEK_END
32
+ #define SEEK_SET 0
33
+ #define SEEK_CUR 1
34
+ #define SEEK_END 2
179
35
 
180
- FILE * _EXFUN(tmpfile, (void));
181
- char * _EXFUN(tmpnam, (char *));
182
- int _EXFUN(fclose, (FILE *));
183
- int _EXFUN(fflush, (FILE *));
184
- FILE * _EXFUN(freopen, (const char *, const char *, FILE *));
185
- void _EXFUN(setbuf, (FILE *, char *));
186
- int _EXFUN(setvbuf, (FILE *, char *, int, size_t));
187
- int _EXFUN(fprintf, (FILE *, const char *, ...)
188
- _ATTRIBUTE (__format__ (__printf__, 2, 3)));
189
- int _EXFUN(fscanf, (FILE *, const char *, ...)
190
- _ATTRIBUTE (__format__ (__scanf__, 2, 3)));
191
- int _EXFUN(printf, (const char *, ...)
192
- _ATTRIBUTE (__format__ (__printf__, 1, 2)));
193
- int _EXFUN(scanf, (const char *, ...)
194
- _ATTRIBUTE (__format__ (__scanf__, 1, 2)));
195
- int _EXFUN(sscanf, (const char *, const char *, ...)
196
- _ATTRIBUTE (__format__ (__scanf__, 2, 3)));
197
- int _EXFUN(vfprintf, (FILE *, const char *, __VALIST)
198
- _ATTRIBUTE (__format__ (__printf__, 2, 0)));
199
- int _EXFUN(vprintf, (const char *, __VALIST)
200
- _ATTRIBUTE (__format__ (__printf__, 1, 0)));
201
- int _EXFUN(vsprintf, (char *, const char *, __VALIST)
202
- _ATTRIBUTE (__format__ (__printf__, 2, 0)));
203
- int _EXFUN(fgetc, (FILE *));
204
- char * _EXFUN(fgets, (char *, int, FILE *));
205
- int _EXFUN(fputc, (int, FILE *));
206
- int _EXFUN(fputs, (const char *, FILE *));
207
- int _EXFUN(getc, (FILE *));
208
- int _EXFUN(getchar, (void));
209
- char * _EXFUN(gets, (char *));
210
- int _EXFUN(putc, (int, FILE *));
211
- int _EXFUN(putchar, (int));
212
- int _EXFUN(puts, (const char *));
213
- int _EXFUN(ungetc, (int, FILE *));
214
- size_t _EXFUN(fread, (_PTR, size_t _size, size_t _n, FILE *));
215
- size_t _EXFUN(fwrite, (const _PTR , size_t _size, size_t _n, FILE *));
216
- #ifdef _COMPILING_NEWLIB
217
- int _EXFUN(fgetpos, (FILE *, _fpos_t *));
218
- #else
219
- int _EXFUN(fgetpos, (FILE *, fpos_t *));
220
- #endif
221
- int _EXFUN(fseek, (FILE *, long, int));
222
- #ifdef _COMPILING_NEWLIB
223
- int _EXFUN(fsetpos, (FILE *, const _fpos_t *));
224
- #else
225
- int _EXFUN(fsetpos, (FILE *, const fpos_t *));
226
- #endif
227
- long _EXFUN(ftell, ( FILE *));
228
- void _EXFUN(rewind, (FILE *));
229
- void _EXFUN(clearerr, (FILE *));
230
- int _EXFUN(feof, (FILE *));
231
- int _EXFUN(ferror, (FILE *));
232
- void _EXFUN(perror, (const char *));
233
- #ifndef _REENT_ONLY
234
- FILE * _EXFUN(fopen, (const char *_name, const char *_type));
235
- int _EXFUN(sprintf, (char *, const char *, ...)
236
- _ATTRIBUTE (__format__ (__printf__, 2, 3)));
237
- int _EXFUN(remove, (const char *));
238
- int _EXFUN(rename, (const char *, const char *));
239
- #endif
240
- #if !defined(__STRICT_ANSI__) || defined(__USE_XOPEN2K)
241
- #ifdef _COMPILING_NEWLIB
242
- int _EXFUN(fseeko, (FILE *, _off_t, int));
243
- _off_t _EXFUN(ftello, ( FILE *));
244
- #else
245
- int _EXFUN(fseeko, (FILE *, off_t, int));
246
- off_t _EXFUN(ftello, ( FILE *));
247
- #endif
248
- #endif
249
- #if !defined(__STRICT_ANSI__) || (__STDC_VERSION__ >= 199901L)
250
- #ifndef _REENT_ONLY
251
- int _EXFUN(asiprintf, (char **, const char *, ...)
252
- _ATTRIBUTE (__format__ (__printf__, 2, 3)));
253
- char * _EXFUN(asniprintf, (char *, size_t *, const char *, ...)
254
- _ATTRIBUTE (__format__ (__printf__, 3, 4)));
255
- char * _EXFUN(asnprintf, (char *, size_t *, const char *, ...)
256
- _ATTRIBUTE (__format__ (__printf__, 3, 4)));
257
- int _EXFUN(asprintf, (char **, const char *, ...)
258
- _ATTRIBUTE (__format__ (__printf__, 2, 3)));
259
- #ifndef diprintf
260
- int _EXFUN(diprintf, (int, const char *, ...)
261
- _ATTRIBUTE (__format__ (__printf__, 2, 3)));
262
- #endif
263
- int _EXFUN(fcloseall, (_VOID));
264
- int _EXFUN(fiprintf, (FILE *, const char *, ...)
265
- _ATTRIBUTE (__format__ (__printf__, 2, 3)));
266
- int _EXFUN(fiscanf, (FILE *, const char *, ...)
267
- _ATTRIBUTE (__format__ (__scanf__, 2, 3)));
268
- int _EXFUN(iprintf, (const char *, ...)
269
- _ATTRIBUTE (__format__ (__printf__, 1, 2)));
270
- int _EXFUN(iscanf, (const char *, ...)
271
- _ATTRIBUTE (__format__ (__scanf__, 1, 2)));
272
- int _EXFUN(siprintf, (char *, const char *, ...)
273
- _ATTRIBUTE (__format__ (__printf__, 2, 3)));
274
- int _EXFUN(siscanf, (const char *, const char *, ...)
275
- _ATTRIBUTE (__format__ (__scanf__, 2, 3)));
276
- int _EXFUN(snprintf, (char *, size_t, const char *, ...)
277
- _ATTRIBUTE (__format__ (__printf__, 3, 4)));
278
- int _EXFUN(sniprintf, (char *, size_t, const char *, ...)
279
- _ATTRIBUTE (__format__ (__printf__, 3, 4)));
280
- char * _EXFUN(tempnam, (const char *, const char *));
281
- int _EXFUN(vasiprintf, (char **, const char *, __VALIST)
282
- _ATTRIBUTE (__format__ (__printf__, 2, 0)));
283
- char * _EXFUN(vasniprintf, (char *, size_t *, const char *, __VALIST)
284
- _ATTRIBUTE (__format__ (__printf__, 3, 0)));
285
- char * _EXFUN(vasnprintf, (char *, size_t *, const char *, __VALIST)
286
- _ATTRIBUTE (__format__ (__printf__, 3, 0)));
287
- int _EXFUN(vasprintf, (char **, const char *, __VALIST)
288
- _ATTRIBUTE (__format__ (__printf__, 2, 0)));
289
- int _EXFUN(vdiprintf, (int, const char *, __VALIST)
290
- _ATTRIBUTE (__format__ (__printf__, 2, 0)));
291
- int _EXFUN(vfiprintf, (FILE *, const char *, __VALIST)
292
- _ATTRIBUTE (__format__ (__printf__, 2, 0)));
293
- int _EXFUN(vfiscanf, (FILE *, const char *, __VALIST)
294
- _ATTRIBUTE (__format__ (__scanf__, 2, 0)));
295
- int _EXFUN(vfscanf, (FILE *, const char *, __VALIST)
296
- _ATTRIBUTE (__format__ (__scanf__, 2, 0)));
297
- int _EXFUN(viprintf, (const char *, __VALIST)
298
- _ATTRIBUTE (__format__ (__printf__, 1, 0)));
299
- int _EXFUN(viscanf, (const char *, __VALIST)
300
- _ATTRIBUTE (__format__ (__scanf__, 1, 0)));
301
- int _EXFUN(vscanf, (const char *, __VALIST)
302
- _ATTRIBUTE (__format__ (__scanf__, 1, 0)));
303
- int _EXFUN(vsiprintf, (char *, const char *, __VALIST)
304
- _ATTRIBUTE (__format__ (__printf__, 2, 0)));
305
- int _EXFUN(vsiscanf, (const char *, const char *, __VALIST)
306
- _ATTRIBUTE (__format__ (__scanf__, 2, 0)));
307
- int _EXFUN(vsniprintf, (char *, size_t, const char *, __VALIST)
308
- _ATTRIBUTE (__format__ (__printf__, 3, 0)));
309
- int _EXFUN(vsnprintf, (char *, size_t, const char *, __VALIST)
310
- _ATTRIBUTE (__format__ (__printf__, 3, 0)));
311
- int _EXFUN(vsscanf, (const char *, const char *, __VALIST)
312
- _ATTRIBUTE (__format__ (__scanf__, 2, 0)));
313
- #endif /* !_REENT_ONLY */
314
- #endif /* !__STRICT_ANSI__ */
315
-
316
- /*
317
- * Routines in POSIX 1003.1:2001.
318
- */
319
-
320
- #ifndef __STRICT_ANSI__
321
- #ifndef _REENT_ONLY
322
- FILE * _EXFUN(fdopen, (int, const char *));
323
- #endif
324
- int _EXFUN(fileno, (FILE *));
325
- int _EXFUN(getw, (FILE *));
326
- int _EXFUN(pclose, (FILE *));
327
- FILE * _EXFUN(popen, (const char *, const char *));
328
- int _EXFUN(putw, (int, FILE *));
329
- void _EXFUN(setbuffer, (FILE *, char *, int));
330
- int _EXFUN(setlinebuf, (FILE *));
331
- int _EXFUN(getc_unlocked, (FILE *));
332
- int _EXFUN(getchar_unlocked, (void));
333
- void _EXFUN(flockfile, (FILE *));
334
- int _EXFUN(ftrylockfile, (FILE *));
335
- void _EXFUN(funlockfile, (FILE *));
336
- int _EXFUN(putc_unlocked, (int, FILE *));
337
- int _EXFUN(putchar_unlocked, (int));
338
- #endif /* ! __STRICT_ANSI__ */
339
-
340
- /*
341
- * Routines in POSIX 1003.1:200x.
342
- */
343
-
344
- #ifndef __STRICT_ANSI__
345
- # ifndef _REENT_ONLY
346
- # ifndef dprintf
347
- int _EXFUN(dprintf, (int, const char *, ...)
348
- _ATTRIBUTE (__format__ (__printf__, 2, 3)));
349
- # endif
350
- FILE * _EXFUN(fmemopen, (void *, size_t, const char *));
351
- /* getdelim - see __getdelim for now */
352
- /* getline - see __getline for now */
353
- FILE * _EXFUN(open_memstream, (char **, size_t *));
354
- #if defined (__CYGWIN__)
355
- int _EXFUN(renameat, (int, const char *, int, const char *));
356
- #endif
357
- int _EXFUN(vdprintf, (int, const char *, __VALIST)
358
- _ATTRIBUTE (__format__ (__printf__, 2, 0)));
359
- # endif
360
- #endif
361
-
362
- /*
363
- * Recursive versions of the above.
364
- */
365
-
366
- int _EXFUN(_asiprintf_r, (struct _reent *, char **, const char *, ...)
367
- _ATTRIBUTE (__format__ (__printf__, 3, 4)));
368
- char * _EXFUN(_asniprintf_r, (struct _reent *, char *, size_t *, const char *, ...)
369
- _ATTRIBUTE (__format__ (__printf__, 4, 5)));
370
- char * _EXFUN(_asnprintf_r, (struct _reent *, char *, size_t *, const char *, ...)
371
- _ATTRIBUTE (__format__ (__printf__, 4, 5)));
372
- int _EXFUN(_asprintf_r, (struct _reent *, char **, const char *, ...)
373
- _ATTRIBUTE (__format__ (__printf__, 3, 4)));
374
- int _EXFUN(_diprintf_r, (struct _reent *, int, const char *, ...)
375
- _ATTRIBUTE (__format__ (__printf__, 3, 4)));
376
- int _EXFUN(_dprintf_r, (struct _reent *, int, const char *, ...)
377
- _ATTRIBUTE (__format__ (__printf__, 3, 4)));
378
- int _EXFUN(_fclose_r, (struct _reent *, FILE *));
379
- int _EXFUN(_fcloseall_r, (struct _reent *));
380
- FILE * _EXFUN(_fdopen_r, (struct _reent *, int, const char *));
381
- int _EXFUN(_fflush_r, (struct _reent *, FILE *));
382
- int _EXFUN(_fgetc_r, (struct _reent *, FILE *));
383
- char * _EXFUN(_fgets_r, (struct _reent *, char *, int, FILE *));
384
- #ifdef _COMPILING_NEWLIB
385
- int _EXFUN(_fgetpos_r, (struct _reent *, FILE *, _fpos_t *));
386
- int _EXFUN(_fsetpos_r, (struct _reent *, FILE *, const _fpos_t *));
387
- #else
388
- int _EXFUN(_fgetpos_r, (struct _reent *, FILE *, fpos_t *));
389
- int _EXFUN(_fsetpos_r, (struct _reent *, FILE *, const fpos_t *));
390
- #endif
391
- int _EXFUN(_fiprintf_r, (struct _reent *, FILE *, const char *, ...)
392
- _ATTRIBUTE (__format__ (__printf__, 3, 4)));
393
- int _EXFUN(_fiscanf_r, (struct _reent *, FILE *, const char *, ...)
394
- _ATTRIBUTE (__format__ (__scanf__, 3, 4)));
395
- FILE * _EXFUN(_fmemopen_r, (struct _reent *, void *, size_t, const char *));
396
- FILE * _EXFUN(_fopen_r, (struct _reent *, const char *, const char *));
397
- FILE * _EXFUN(_freopen_r, (struct _reent *, const char *, const char *, FILE *));
398
- int _EXFUN(_fprintf_r, (struct _reent *, FILE *, const char *, ...)
399
- _ATTRIBUTE (__format__ (__printf__, 3, 4)));
400
- int _EXFUN(_fpurge_r, (struct _reent *, FILE *));
401
- int _EXFUN(_fputc_r, (struct _reent *, int, FILE *));
402
- int _EXFUN(_fputs_r, (struct _reent *, const char *, FILE *));
403
- size_t _EXFUN(_fread_r, (struct _reent *, _PTR, size_t _size, size_t _n, FILE *));
404
- int _EXFUN(_fscanf_r, (struct _reent *, FILE *, const char *, ...)
405
- _ATTRIBUTE (__format__ (__scanf__, 3, 4)));
406
- int _EXFUN(_fseek_r, (struct _reent *, FILE *, long, int));
407
- int _EXFUN(_fseeko_r,(struct _reent *, FILE *, _off_t, int));
408
- long _EXFUN(_ftell_r, (struct _reent *, FILE *));
409
- _off_t _EXFUN(_ftello_r,(struct _reent *, FILE *));
410
- void _EXFUN(_rewind_r, (struct _reent *, FILE *));
411
- size_t _EXFUN(_fwrite_r, (struct _reent *, const _PTR , size_t _size, size_t _n, FILE *));
412
- int _EXFUN(_getc_r, (struct _reent *, FILE *));
413
- int _EXFUN(_getc_unlocked_r, (struct _reent *, FILE *));
414
- int _EXFUN(_getchar_r, (struct _reent *));
415
- int _EXFUN(_getchar_unlocked_r, (struct _reent *));
416
- char * _EXFUN(_gets_r, (struct _reent *, char *));
417
- int _EXFUN(_iprintf_r, (struct _reent *, const char *, ...)
418
- _ATTRIBUTE (__format__ (__printf__, 2, 3)));
419
- int _EXFUN(_iscanf_r, (struct _reent *, const char *, ...)
420
- _ATTRIBUTE (__format__ (__scanf__, 2, 3)));
421
- FILE * _EXFUN(_open_memstream_r, (struct _reent *, char **, size_t *));
422
- void _EXFUN(_perror_r, (struct _reent *, const char *));
423
- int _EXFUN(_printf_r, (struct _reent *, const char *, ...)
424
- _ATTRIBUTE (__format__ (__printf__, 2, 3)));
425
- int _EXFUN(_putc_r, (struct _reent *, int, FILE *));
426
- int _EXFUN(_putc_unlocked_r, (struct _reent *, int, FILE *));
427
- int _EXFUN(_putchar_unlocked_r, (struct _reent *, int));
428
- int _EXFUN(_putchar_r, (struct _reent *, int));
429
- int _EXFUN(_puts_r, (struct _reent *, const char *));
430
- int _EXFUN(_remove_r, (struct _reent *, const char *));
431
- int _EXFUN(_rename_r, (struct _reent *,
432
- const char *_old, const char *_new));
433
- int _EXFUN(_scanf_r, (struct _reent *, const char *, ...)
434
- _ATTRIBUTE (__format__ (__scanf__, 2, 3)));
435
- int _EXFUN(_siprintf_r, (struct _reent *, char *, const char *, ...)
436
- _ATTRIBUTE (__format__ (__printf__, 3, 4)));
437
- int _EXFUN(_siscanf_r, (struct _reent *, const char *, const char *, ...)
438
- _ATTRIBUTE (__format__ (__scanf__, 3, 4)));
439
- int _EXFUN(_sniprintf_r, (struct _reent *, char *, size_t, const char *, ...)
440
- _ATTRIBUTE (__format__ (__printf__, 4, 5)));
441
- int _EXFUN(_snprintf_r, (struct _reent *, char *, size_t, const char *, ...)
442
- _ATTRIBUTE (__format__ (__printf__, 4, 5)));
443
- int _EXFUN(_sprintf_r, (struct _reent *, char *, const char *, ...)
444
- _ATTRIBUTE (__format__ (__printf__, 3, 4)));
445
- int _EXFUN(_sscanf_r, (struct _reent *, const char *, const char *, ...)
446
- _ATTRIBUTE (__format__ (__scanf__, 3, 4)));
447
- char * _EXFUN(_tempnam_r, (struct _reent *, const char *, const char *));
448
- FILE * _EXFUN(_tmpfile_r, (struct _reent *));
449
- char * _EXFUN(_tmpnam_r, (struct _reent *, char *));
450
- int _EXFUN(_ungetc_r, (struct _reent *, int, FILE *));
451
- int _EXFUN(_vasiprintf_r, (struct _reent *, char **, const char *, __VALIST)
452
- _ATTRIBUTE (__format__ (__printf__, 3, 0)));
453
- char * _EXFUN(_vasniprintf_r, (struct _reent*, char *, size_t *, const char *, __VALIST)
454
- _ATTRIBUTE (__format__ (__printf__, 4, 0)));
455
- char * _EXFUN(_vasnprintf_r, (struct _reent*, char *, size_t *, const char *, __VALIST)
456
- _ATTRIBUTE (__format__ (__printf__, 4, 0)));
457
- int _EXFUN(_vasprintf_r, (struct _reent *, char **, const char *, __VALIST)
458
- _ATTRIBUTE (__format__ (__printf__, 3, 0)));
459
- int _EXFUN(_vdiprintf_r, (struct _reent *, int, const char *, __VALIST)
460
- _ATTRIBUTE (__format__ (__printf__, 3, 0)));
461
- int _EXFUN(_vdprintf_r, (struct _reent *, int, const char *, __VALIST)
462
- _ATTRIBUTE (__format__ (__printf__, 3, 0)));
463
- int _EXFUN(_vfiprintf_r, (struct _reent *, FILE *, const char *, __VALIST)
464
- _ATTRIBUTE (__format__ (__printf__, 3, 0)));
465
- int _EXFUN(_vfiscanf_r, (struct _reent *, FILE *, const char *, __VALIST)
466
- _ATTRIBUTE (__format__ (__scanf__, 3, 0)));
467
- int _EXFUN(_vfprintf_r, (struct _reent *, FILE *, const char *, __VALIST)
468
- _ATTRIBUTE (__format__ (__printf__, 3, 0)));
469
- int _EXFUN(_vfscanf_r, (struct _reent *, FILE *, const char *, __VALIST)
470
- _ATTRIBUTE (__format__ (__scanf__, 3, 0)));
471
- int _EXFUN(_viprintf_r, (struct _reent *, const char *, __VALIST)
472
- _ATTRIBUTE (__format__ (__printf__, 2, 0)));
473
- int _EXFUN(_viscanf_r, (struct _reent *, const char *, __VALIST)
474
- _ATTRIBUTE (__format__ (__scanf__, 2, 0)));
475
- int _EXFUN(_vprintf_r, (struct _reent *, const char *, __VALIST)
476
- _ATTRIBUTE (__format__ (__printf__, 2, 0)));
477
- int _EXFUN(_vscanf_r, (struct _reent *, const char *, __VALIST)
478
- _ATTRIBUTE (__format__ (__scanf__, 2, 0)));
479
- int _EXFUN(_vsiprintf_r, (struct _reent *, char *, const char *, __VALIST)
480
- _ATTRIBUTE (__format__ (__printf__, 3, 0)));
481
- int _EXFUN(_vsiscanf_r, (struct _reent *, const char *, const char *, __VALIST)
482
- _ATTRIBUTE (__format__ (__scanf__, 3, 0)));
483
- int _EXFUN(_vsniprintf_r, (struct _reent *, char *, size_t, const char *, __VALIST)
484
- _ATTRIBUTE (__format__ (__printf__, 4, 0)));
485
- int _EXFUN(_vsnprintf_r, (struct _reent *, char *, size_t, const char *, __VALIST)
486
- _ATTRIBUTE (__format__ (__printf__, 4, 0)));
487
- int _EXFUN(_vsprintf_r, (struct _reent *, char *, const char *, __VALIST)
488
- _ATTRIBUTE (__format__ (__printf__, 3, 0)));
489
- int _EXFUN(_vsscanf_r, (struct _reent *, const char *, const char *, __VALIST)
490
- _ATTRIBUTE (__format__ (__scanf__, 3, 0)));
491
-
492
- /* Other extensions. */
493
-
494
- int _EXFUN(fpurge, (FILE *));
495
- ssize_t _EXFUN(__getdelim, (char **, size_t *, int, FILE *));
496
- ssize_t _EXFUN(__getline, (char **, size_t *, FILE *));
497
-
498
- #ifdef __LARGE64_FILES
499
- #if !defined(__CYGWIN__) || defined(_COMPILING_NEWLIB)
500
- FILE * _EXFUN(fdopen64, (int, const char *));
501
- FILE * _EXFUN(fopen64, (const char *, const char *));
502
- FILE * _EXFUN(freopen64, (_CONST char *, _CONST char *, FILE *));
503
- _off64_t _EXFUN(ftello64, (FILE *));
504
- _off64_t _EXFUN(fseeko64, (FILE *, _off64_t, int));
505
- int _EXFUN(fgetpos64, (FILE *, _fpos64_t *));
506
- int _EXFUN(fsetpos64, (FILE *, const _fpos64_t *));
507
- FILE * _EXFUN(tmpfile64, (void));
508
-
509
- FILE * _EXFUN(_fdopen64_r, (struct _reent *, int, const char *));
510
- FILE * _EXFUN(_fopen64_r, (struct _reent *,const char *, const char *));
511
- FILE * _EXFUN(_freopen64_r, (struct _reent *, _CONST char *, _CONST char *, FILE *));
512
- _off64_t _EXFUN(_ftello64_r, (struct _reent *, FILE *));
513
- _off64_t _EXFUN(_fseeko64_r, (struct _reent *, FILE *, _off64_t, int));
514
- int _EXFUN(_fgetpos64_r, (struct _reent *, FILE *, _fpos64_t *));
515
- int _EXFUN(_fsetpos64_r, (struct _reent *, FILE *, const _fpos64_t *));
516
- FILE * _EXFUN(_tmpfile64_r, (struct _reent *));
517
- #endif /* !__CYGWIN__ */
518
- #endif /* __LARGE64_FILES */
519
-
520
- /*
521
- * Routines internal to the implementation.
522
- */
523
-
524
- int _EXFUN(__srget_r, (struct _reent *, FILE *));
525
- int _EXFUN(__swbuf_r, (struct _reent *, int, FILE *));
526
-
527
- /*
528
- * Stdio function-access interface.
529
- */
530
-
531
- #ifndef __STRICT_ANSI__
532
- # ifdef __LARGE64_FILES
533
- FILE *_EXFUN(funopen,(const _PTR __cookie,
534
- int (*__readfn)(_PTR __c, char *__buf, int __n),
535
- int (*__writefn)(_PTR __c, const char *__buf, int __n),
536
- _fpos64_t (*__seekfn)(_PTR __c, _fpos64_t __off, int __whence),
537
- int (*__closefn)(_PTR __c)));
538
- FILE *_EXFUN(_funopen_r,(struct _reent *, const _PTR __cookie,
539
- int (*__readfn)(_PTR __c, char *__buf, int __n),
540
- int (*__writefn)(_PTR __c, const char *__buf, int __n),
541
- _fpos64_t (*__seekfn)(_PTR __c, _fpos64_t __off, int __whence),
542
- int (*__closefn)(_PTR __c)));
543
- # else
544
- FILE *_EXFUN(funopen,(const _PTR __cookie,
545
- int (*__readfn)(_PTR __cookie, char *__buf, int __n),
546
- int (*__writefn)(_PTR __cookie, const char *__buf, int __n),
547
- fpos_t (*__seekfn)(_PTR __cookie, fpos_t __off, int __whence),
548
- int (*__closefn)(_PTR __cookie)));
549
- FILE *_EXFUN(_funopen_r,(struct _reent *, const _PTR __cookie,
550
- int (*__readfn)(_PTR __cookie, char *__buf, int __n),
551
- int (*__writefn)(_PTR __cookie, const char *__buf, int __n),
552
- fpos_t (*__seekfn)(_PTR __cookie, fpos_t __off, int __whence),
553
- int (*__closefn)(_PTR __cookie)));
554
- # endif /* !__LARGE64_FILES */
555
-
556
- # define fropen(__cookie, __fn) funopen(__cookie, __fn, (int (*)())0, \
557
- (fpos_t (*)())0, (int (*)())0)
558
- # define fwopen(__cookie, __fn) funopen(__cookie, (int (*)())0, __fn, \
559
- (fpos_t (*)())0, (int (*)())0)
560
-
561
- typedef ssize_t cookie_read_function_t(void *__cookie, char *__buf, size_t __n);
562
- typedef ssize_t cookie_write_function_t(void *__cookie, const char *__buf,
563
- size_t __n);
564
- # ifdef __LARGE64_FILES
565
- typedef int cookie_seek_function_t(void *__cookie, _off64_t *__off,
566
- int __whence);
567
- # else
568
- typedef int cookie_seek_function_t(void *__cookie, off_t *__off, int __whence);
569
- # endif /* !__LARGE64_FILES */
570
- typedef int cookie_close_function_t(void *__cookie);
571
- typedef struct
572
- {
573
- /* These four struct member names are dictated by Linux; hopefully,
574
- they don't conflict with any macros. */
575
- cookie_read_function_t *read;
576
- cookie_write_function_t *write;
577
- cookie_seek_function_t *seek;
578
- cookie_close_function_t *close;
579
- } cookie_io_functions_t;
580
- FILE *_EXFUN(fopencookie,(void *__cookie,
581
- const char *__mode, cookie_io_functions_t __functions));
582
- FILE *_EXFUN(_fopencookie_r,(struct _reent *, void *__cookie,
583
- const char *__mode, cookie_io_functions_t __functions));
584
- #endif /* ! __STRICT_ANSI__ */
585
-
586
- #ifndef __CUSTOM_FILE_IO__
587
- /*
588
- * The __sfoo macros are here so that we can
589
- * define function versions in the C library.
590
- */
591
- #define __sgetc_raw_r(__ptr, __f) (--(__f)->_r < 0 ? __srget_r(__ptr, __f) : (int)(*(__f)->_p++))
592
-
593
- #ifdef __SCLE
594
- /* For a platform with CR/LF, additional logic is required by
595
- __sgetc_r which would otherwise simply be a macro; therefore we
596
- use an inlined function. The function is only meant to be inlined
597
- in place as used and the function body should never be emitted.
598
-
599
- There are two possible means to this end when compiling with GCC,
600
- one when compiling with a standard C99 compiler, and for other
601
- compilers we're just stuck. At the moment, this issue only
602
- affects the Cygwin target, so we'll most likely be using GCC. */
603
-
604
- _ELIDABLE_INLINE int __sgetc_r(struct _reent *__ptr, FILE *__p);
605
-
606
- _ELIDABLE_INLINE int __sgetc_r(struct _reent *__ptr, FILE *__p)
607
- {
608
- int __c = __sgetc_raw_r(__ptr, __p);
609
- if ((__p->_flags & __SCLE) && (__c == '\r'))
610
- {
611
- int __c2 = __sgetc_raw_r(__ptr, __p);
612
- if (__c2 == '\n')
613
- __c = __c2;
614
- else
615
- ungetc(__c2, __p);
616
- }
617
- return __c;
618
- }
619
- #else
620
- #define __sgetc_r(__ptr, __p) __sgetc_raw_r(__ptr, __p)
621
- #endif
622
-
623
- #ifdef _never /* __GNUC__ */
624
- /* If this inline is actually used, then systems using coff debugging
625
- info get hopelessly confused. 21sept93 rich@cygnus.com. */
626
- _ELIDABLE_INLINE int __sputc_r(struct _reent *_ptr, int _c, FILE *_p) {
627
- if (--_p->_w >= 0 || (_p->_w >= _p->_lbfsize && (char)_c != '\n'))
628
- return (*_p->_p++ = _c);
629
- else
630
- return (__swbuf_r(_ptr, _c, _p));
36
+ #define _IOFBF 0
37
+ #define _IOLBF 1
38
+ #define _IONBF 2
39
+
40
+ #define BUFSIZ 1024
41
+ #define FILENAME_MAX 4096
42
+ #define FOPEN_MAX 1000
43
+ #define TMP_MAX 10000
44
+ #define L_tmpnam 20
45
+
46
+ typedef union _G_fpos64_t {
47
+ char __opaque[16];
48
+ double __align;
49
+ } fpos_t;
50
+
51
+ extern FILE *const stdin;
52
+ extern FILE *const stdout;
53
+ extern FILE *const stderr;
54
+
55
+ #define stdin (stdin)
56
+ #define stdout (stdout)
57
+ #define stderr (stderr)
58
+
59
+ FILE *fopen(const char *__restrict, const char *__restrict);
60
+ FILE *freopen(const char *__restrict, const char *__restrict, FILE *__restrict);
61
+ int fclose(FILE *);
62
+
63
+ int remove(const char *);
64
+ int rename(const char *, const char *);
65
+
66
+ int feof(FILE *);
67
+ int ferror(FILE *);
68
+ int fflush(FILE *);
69
+ void clearerr(FILE *);
70
+
71
+ int fseek(FILE *, long, int);
72
+ long ftell(FILE *);
73
+ void rewind(FILE *);
74
+
75
+ int fgetpos(FILE *__restrict, fpos_t *__restrict);
76
+ int fsetpos(FILE *, const fpos_t *);
77
+
78
+ size_t fread(void *__restrict, size_t, size_t, FILE *__restrict);
79
+ size_t fwrite(const void *__restrict, size_t, size_t, FILE *__restrict);
80
+
81
+ int fgetc(FILE *);
82
+ int getc(FILE *);
83
+ int getchar(void);
84
+ int ungetc(int, FILE *);
85
+
86
+ int fputc(int, FILE *);
87
+ int putc(int, FILE *);
88
+ int putchar(int);
89
+
90
+ char *fgets(char *__restrict, int, FILE *__restrict);
91
+ #if __STDC_VERSION__ < 201112L
92
+ char *gets(char *);
93
+ #endif
94
+
95
+ int fputs(const char *__restrict, FILE *__restrict);
96
+ int puts(const char *);
97
+
98
+ int printf(const char *__restrict, ...);
99
+ int fprintf(FILE *__restrict, const char *__restrict, ...);
100
+ int sprintf(char *__restrict, const char *__restrict, ...);
101
+ int snprintf(char *__restrict, size_t, const char *__restrict, ...);
102
+
103
+ int vprintf(const char *__restrict, __isoc_va_list);
104
+ int vfprintf(FILE *__restrict, const char *__restrict, __isoc_va_list);
105
+ int vsprintf(char *__restrict, const char *__restrict, __isoc_va_list);
106
+ int vsnprintf(char *__restrict, size_t, const char *__restrict, __isoc_va_list);
107
+
108
+ int scanf(const char *__restrict, ...);
109
+ int fscanf(FILE *__restrict, const char *__restrict, ...);
110
+ int sscanf(const char *__restrict, const char *__restrict, ...);
111
+ int vscanf(const char *__restrict, __isoc_va_list);
112
+ int vfscanf(FILE *__restrict, const char *__restrict, __isoc_va_list);
113
+ int vsscanf(const char *__restrict, const char *__restrict, __isoc_va_list);
114
+
115
+ void perror(const char *);
116
+
117
+ int setvbuf(FILE *__restrict, char *__restrict, int, size_t);
118
+ void setbuf(FILE *__restrict, char *__restrict);
119
+
120
+ char *tmpnam(char *);
121
+ FILE *tmpfile(void);
122
+
123
+ #if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \
124
+ || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) \
125
+ || defined(_BSD_SOURCE)
126
+ FILE *fmemopen(void *__restrict, size_t, const char *__restrict);
127
+ FILE *open_memstream(char **, size_t *);
128
+ FILE *fdopen(int, const char *);
129
+ FILE *popen(const char *, const char *);
130
+ int pclose(FILE *);
131
+ int fileno(FILE *);
132
+ int fseeko(FILE *, off_t, int);
133
+ off_t ftello(FILE *);
134
+ int dprintf(int, const char *__restrict, ...);
135
+ int vdprintf(int, const char *__restrict, __isoc_va_list);
136
+ void flockfile(FILE *);
137
+ int ftrylockfile(FILE *);
138
+ void funlockfile(FILE *);
139
+ int getc_unlocked(FILE *);
140
+ int getchar_unlocked(void);
141
+ int putc_unlocked(int, FILE *);
142
+ int putchar_unlocked(int);
143
+ ssize_t getdelim(char **__restrict, size_t *__restrict, int, FILE *__restrict);
144
+ ssize_t getline(char **__restrict, size_t *__restrict, FILE *__restrict);
145
+ int renameat(int, const char *, int, const char *);
146
+ char *ctermid(char *);
147
+ #define L_ctermid 20
148
+ #endif
149
+
150
+
151
+ #if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) \
152
+ || defined(_BSD_SOURCE)
153
+ #define P_tmpdir "/tmp"
154
+ char *tempnam(const char *, const char *);
155
+ #endif
156
+
157
+ #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
158
+ #define L_cuserid 20
159
+ char *cuserid(char *);
160
+ void setlinebuf(FILE *);
161
+ void setbuffer(FILE *, char *, size_t);
162
+ int fgetc_unlocked(FILE *);
163
+ int fputc_unlocked(int, FILE *);
164
+ int fflush_unlocked(FILE *);
165
+ size_t fread_unlocked(void *, size_t, size_t, FILE *);
166
+ size_t fwrite_unlocked(const void *, size_t, size_t, FILE *);
167
+ void clearerr_unlocked(FILE *);
168
+ int feof_unlocked(FILE *);
169
+ int ferror_unlocked(FILE *);
170
+ int fileno_unlocked(FILE *);
171
+ int getw(FILE *);
172
+ int putw(int, FILE *);
173
+ char *fgetln(FILE *, size_t *);
174
+ int asprintf(char **, const char *, ...);
175
+ int vasprintf(char **, const char *, __isoc_va_list);
176
+ #endif
177
+
178
+ #ifdef _GNU_SOURCE
179
+ char *fgets_unlocked(char *, int, FILE *);
180
+ int fputs_unlocked(const char *, FILE *);
181
+ #endif
182
+
183
+ #if defined(_LARGEFILE64_SOURCE) || defined(_GNU_SOURCE)
184
+ #define tmpfile64 tmpfile
185
+ #define fopen64 fopen
186
+ #define freopen64 freopen
187
+ #define fseeko64 fseeko
188
+ #define ftello64 ftello
189
+ #define fgetpos64 fgetpos
190
+ #define fsetpos64 fsetpos
191
+ #define fpos64_t fpos_t
192
+ #define off64_t off_t
193
+ #endif
194
+
195
+ #ifdef __cplusplus
631
196
  }
632
- #else
633
- /*
634
- * This has been tuned to generate reasonable code on the vax using pcc
635
- */
636
- #define __sputc_raw_r(__ptr, __c, __p) \
637
- (--(__p)->_w < 0 ? \
638
- (__p)->_w >= (__p)->_lbfsize ? \
639
- (*(__p)->_p = (__c)), *(__p)->_p != '\n' ? \
640
- (int)*(__p)->_p++ : \
641
- __swbuf_r(__ptr, '\n', __p) : \
642
- __swbuf_r(__ptr, (int)(__c), __p) : \
643
- (*(__p)->_p = (__c), (int)*(__p)->_p++))
644
- #ifdef __SCLE
645
- #define __sputc_r(__ptr, __c, __p) \
646
- ((((__p)->_flags & __SCLE) && ((__c) == '\n')) \
647
- ? __sputc_raw_r(__ptr, '\r', (__p)) : 0 , \
648
- __sputc_raw_r((__ptr), (__c), (__p)))
649
- #else
650
- #define __sputc_r(__ptr, __c, __p) __sputc_raw_r(__ptr, __c, __p)
651
197
  #endif
652
- #endif
653
-
654
- #define __sfeof(p) (((p)->_flags & __SEOF) != 0)
655
- #define __sferror(p) (((p)->_flags & __SERR) != 0)
656
- #define __sclearerr(p) ((void)((p)->_flags &= ~(__SERR|__SEOF)))
657
- #define __sfileno(p) ((p)->_file)
658
198
 
659
- #if 0 /* XXX Emscripten ndef _REENT_SMALL */
660
- #define feof(p) __sfeof(p)
661
- #define ferror(p) __sferror(p)
662
- #define clearerr(p) __sclearerr(p)
663
199
  #endif
664
-
665
- #if 0 /*ndef __STRICT_ANSI__ - FIXME: must initialize stdio first, use fn */
666
- #define fileno(p) __sfileno(p)
667
- #endif
668
-
669
- #if !defined(__CYGWIN__) && !defined(EMSCRIPTEN)
670
- #ifndef lint
671
- #define getc(fp) __sgetc_r(_REENT, fp)
672
- #define putc(x, fp) __sputc_r(_REENT, x, fp)
673
- #endif /* lint */
674
- #endif /* __CYGWIN__ */
675
-
676
- #ifndef __STRICT_ANSI__
677
- /* fast always-buffered version, true iff error */
678
- #define fast_putc(x,p) (--(p)->_w < 0 ? \
679
- __swbuf_r(_REENT, (int)(x), p) == EOF : (*(p)->_p = (x), (p)->_p++, 0))
680
-
681
- #define L_cuserid 9 /* posix says it goes in stdio.h :( */
682
- #if defined(__CYGWIN__) || defined(EMSCRIPTEN)
683
- #define L_ctermid 16
684
- #endif
685
- #endif
686
-
687
- #endif /* !__CUSTOM_FILE_IO__ */
688
-
689
- #define getchar() getc(stdin)
690
- #define putchar(x) putc(x, stdout)
691
-
692
- _END_STD_C
693
-
694
- #endif /* _STDIO_H_ */