asyncengine 0.0.1.testing

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (317) hide show
  1. data/README.markdown +0 -0
  2. data/asyncengine.gemspec +26 -0
  3. data/ext/asyncengine_ext/asyncengine_ruby.c +82 -0
  4. data/ext/asyncengine_ext/extconf.rb +47 -0
  5. data/ext/asyncengine_ext/libuv/AUTHORS +45 -0
  6. data/ext/asyncengine_ext/libuv/LICENSE +42 -0
  7. data/ext/asyncengine_ext/libuv/Makefile +119 -0
  8. data/ext/asyncengine_ext/libuv/README.md +88 -0
  9. data/ext/asyncengine_ext/libuv/build/gcc_version.py +20 -0
  10. data/ext/asyncengine_ext/libuv/common.gypi +176 -0
  11. data/ext/asyncengine_ext/libuv/config-mingw.mk +61 -0
  12. data/ext/asyncengine_ext/libuv/config-unix.mk +173 -0
  13. data/ext/asyncengine_ext/libuv/gyp_uv +60 -0
  14. data/ext/asyncengine_ext/libuv/include/ares.h +591 -0
  15. data/ext/asyncengine_ext/libuv/include/ares_version.h +24 -0
  16. data/ext/asyncengine_ext/libuv/include/uv-private/eio.h +403 -0
  17. data/ext/asyncengine_ext/libuv/include/uv-private/ev.h +838 -0
  18. data/ext/asyncengine_ext/libuv/include/uv-private/ngx-queue.h +106 -0
  19. data/ext/asyncengine_ext/libuv/include/uv-private/tree.h +768 -0
  20. data/ext/asyncengine_ext/libuv/include/uv-private/uv-unix.h +256 -0
  21. data/ext/asyncengine_ext/libuv/include/uv-private/uv-win.h +458 -0
  22. data/ext/asyncengine_ext/libuv/include/uv.h +1556 -0
  23. data/ext/asyncengine_ext/libuv/src/ares/AUTHORS +37 -0
  24. data/ext/asyncengine_ext/libuv/src/ares/CHANGES +1218 -0
  25. data/ext/asyncengine_ext/libuv/src/ares/CMakeLists.txt +22 -0
  26. data/ext/asyncengine_ext/libuv/src/ares/NEWS +21 -0
  27. data/ext/asyncengine_ext/libuv/src/ares/README +60 -0
  28. data/ext/asyncengine_ext/libuv/src/ares/README.cares +13 -0
  29. data/ext/asyncengine_ext/libuv/src/ares/README.msvc +142 -0
  30. data/ext/asyncengine_ext/libuv/src/ares/README.node +21 -0
  31. data/ext/asyncengine_ext/libuv/src/ares/RELEASE-NOTES +26 -0
  32. data/ext/asyncengine_ext/libuv/src/ares/TODO +23 -0
  33. data/ext/asyncengine_ext/libuv/src/ares/ares__close_sockets.c +66 -0
  34. data/ext/asyncengine_ext/libuv/src/ares/ares__get_hostent.c +263 -0
  35. data/ext/asyncengine_ext/libuv/src/ares/ares__read_line.c +71 -0
  36. data/ext/asyncengine_ext/libuv/src/ares/ares__timeval.c +111 -0
  37. data/ext/asyncengine_ext/libuv/src/ares/ares_cancel.c +63 -0
  38. data/ext/asyncengine_ext/libuv/src/ares/ares_data.c +190 -0
  39. data/ext/asyncengine_ext/libuv/src/ares/ares_data.h +65 -0
  40. data/ext/asyncengine_ext/libuv/src/ares/ares_destroy.c +105 -0
  41. data/ext/asyncengine_ext/libuv/src/ares/ares_dns.h +90 -0
  42. data/ext/asyncengine_ext/libuv/src/ares/ares_expand_name.c +200 -0
  43. data/ext/asyncengine_ext/libuv/src/ares/ares_expand_string.c +75 -0
  44. data/ext/asyncengine_ext/libuv/src/ares/ares_fds.c +63 -0
  45. data/ext/asyncengine_ext/libuv/src/ares/ares_free_hostent.c +42 -0
  46. data/ext/asyncengine_ext/libuv/src/ares/ares_free_string.c +25 -0
  47. data/ext/asyncengine_ext/libuv/src/ares/ares_getenv.c +30 -0
  48. data/ext/asyncengine_ext/libuv/src/ares/ares_getenv.h +26 -0
  49. data/ext/asyncengine_ext/libuv/src/ares/ares_gethostbyaddr.c +301 -0
  50. data/ext/asyncengine_ext/libuv/src/ares/ares_gethostbyname.c +523 -0
  51. data/ext/asyncengine_ext/libuv/src/ares/ares_getnameinfo.c +427 -0
  52. data/ext/asyncengine_ext/libuv/src/ares/ares_getopt.c +122 -0
  53. data/ext/asyncengine_ext/libuv/src/ares/ares_getopt.h +53 -0
  54. data/ext/asyncengine_ext/libuv/src/ares/ares_getsock.c +72 -0
  55. data/ext/asyncengine_ext/libuv/src/ares/ares_init.c +1809 -0
  56. data/ext/asyncengine_ext/libuv/src/ares/ares_iphlpapi.h +221 -0
  57. data/ext/asyncengine_ext/libuv/src/ares/ares_ipv6.h +78 -0
  58. data/ext/asyncengine_ext/libuv/src/ares/ares_library_init.c +142 -0
  59. data/ext/asyncengine_ext/libuv/src/ares/ares_library_init.h +42 -0
  60. data/ext/asyncengine_ext/libuv/src/ares/ares_llist.c +86 -0
  61. data/ext/asyncengine_ext/libuv/src/ares/ares_llist.h +42 -0
  62. data/ext/asyncengine_ext/libuv/src/ares/ares_mkquery.c +195 -0
  63. data/ext/asyncengine_ext/libuv/src/ares/ares_nowarn.c +181 -0
  64. data/ext/asyncengine_ext/libuv/src/ares/ares_nowarn.h +55 -0
  65. data/ext/asyncengine_ext/libuv/src/ares/ares_options.c +248 -0
  66. data/ext/asyncengine_ext/libuv/src/ares/ares_parse_a_reply.c +263 -0
  67. data/ext/asyncengine_ext/libuv/src/ares/ares_parse_aaaa_reply.c +259 -0
  68. data/ext/asyncengine_ext/libuv/src/ares/ares_parse_mx_reply.c +170 -0
  69. data/ext/asyncengine_ext/libuv/src/ares/ares_parse_ns_reply.c +182 -0
  70. data/ext/asyncengine_ext/libuv/src/ares/ares_parse_ptr_reply.c +217 -0
  71. data/ext/asyncengine_ext/libuv/src/ares/ares_parse_srv_reply.c +179 -0
  72. data/ext/asyncengine_ext/libuv/src/ares/ares_parse_txt_reply.c +201 -0
  73. data/ext/asyncengine_ext/libuv/src/ares/ares_platform.c +11035 -0
  74. data/ext/asyncengine_ext/libuv/src/ares/ares_platform.h +43 -0
  75. data/ext/asyncengine_ext/libuv/src/ares/ares_private.h +355 -0
  76. data/ext/asyncengine_ext/libuv/src/ares/ares_process.c +1295 -0
  77. data/ext/asyncengine_ext/libuv/src/ares/ares_query.c +183 -0
  78. data/ext/asyncengine_ext/libuv/src/ares/ares_rules.h +144 -0
  79. data/ext/asyncengine_ext/libuv/src/ares/ares_search.c +321 -0
  80. data/ext/asyncengine_ext/libuv/src/ares/ares_send.c +134 -0
  81. data/ext/asyncengine_ext/libuv/src/ares/ares_setup.h +199 -0
  82. data/ext/asyncengine_ext/libuv/src/ares/ares_strcasecmp.c +66 -0
  83. data/ext/asyncengine_ext/libuv/src/ares/ares_strcasecmp.h +30 -0
  84. data/ext/asyncengine_ext/libuv/src/ares/ares_strdup.c +42 -0
  85. data/ext/asyncengine_ext/libuv/src/ares/ares_strdup.h +26 -0
  86. data/ext/asyncengine_ext/libuv/src/ares/ares_strerror.c +56 -0
  87. data/ext/asyncengine_ext/libuv/src/ares/ares_timeout.c +80 -0
  88. data/ext/asyncengine_ext/libuv/src/ares/ares_version.c +11 -0
  89. data/ext/asyncengine_ext/libuv/src/ares/ares_writev.c +79 -0
  90. data/ext/asyncengine_ext/libuv/src/ares/ares_writev.h +36 -0
  91. data/ext/asyncengine_ext/libuv/src/ares/bitncmp.c +59 -0
  92. data/ext/asyncengine_ext/libuv/src/ares/bitncmp.h +26 -0
  93. data/ext/asyncengine_ext/libuv/src/ares/config_cygwin/ares_config.h +512 -0
  94. data/ext/asyncengine_ext/libuv/src/ares/config_darwin/ares_config.h +512 -0
  95. data/ext/asyncengine_ext/libuv/src/ares/config_freebsd/ares_config.h +512 -0
  96. data/ext/asyncengine_ext/libuv/src/ares/config_linux/ares_config.h +512 -0
  97. data/ext/asyncengine_ext/libuv/src/ares/config_netbsd/ares_config.h +512 -0
  98. data/ext/asyncengine_ext/libuv/src/ares/config_openbsd/ares_config.h +512 -0
  99. data/ext/asyncengine_ext/libuv/src/ares/config_sunos/ares_config.h +512 -0
  100. data/ext/asyncengine_ext/libuv/src/ares/config_win32/ares_config.h +369 -0
  101. data/ext/asyncengine_ext/libuv/src/ares/get_ver.awk +35 -0
  102. data/ext/asyncengine_ext/libuv/src/ares/inet_net_pton.c +451 -0
  103. data/ext/asyncengine_ext/libuv/src/ares/inet_net_pton.h +31 -0
  104. data/ext/asyncengine_ext/libuv/src/ares/inet_ntop.c +208 -0
  105. data/ext/asyncengine_ext/libuv/src/ares/inet_ntop.h +26 -0
  106. data/ext/asyncengine_ext/libuv/src/ares/nameser.h +203 -0
  107. data/ext/asyncengine_ext/libuv/src/ares/setup_once.h +504 -0
  108. data/ext/asyncengine_ext/libuv/src/ares/windows_port.c +22 -0
  109. data/ext/asyncengine_ext/libuv/src/unix/async.c +58 -0
  110. data/ext/asyncengine_ext/libuv/src/unix/cares.c +194 -0
  111. data/ext/asyncengine_ext/libuv/src/unix/check.c +80 -0
  112. data/ext/asyncengine_ext/libuv/src/unix/core.c +588 -0
  113. data/ext/asyncengine_ext/libuv/src/unix/cygwin.c +84 -0
  114. data/ext/asyncengine_ext/libuv/src/unix/darwin.c +341 -0
  115. data/ext/asyncengine_ext/libuv/src/unix/dl.c +91 -0
  116. data/ext/asyncengine_ext/libuv/src/unix/eio/Changes +63 -0
  117. data/ext/asyncengine_ext/libuv/src/unix/eio/LICENSE +36 -0
  118. data/ext/asyncengine_ext/libuv/src/unix/eio/Makefile.am +15 -0
  119. data/ext/asyncengine_ext/libuv/src/unix/eio/aclocal.m4 +8957 -0
  120. data/ext/asyncengine_ext/libuv/src/unix/eio/autogen.sh +3 -0
  121. data/ext/asyncengine_ext/libuv/src/unix/eio/config.h.in +86 -0
  122. data/ext/asyncengine_ext/libuv/src/unix/eio/config_cygwin.h +80 -0
  123. data/ext/asyncengine_ext/libuv/src/unix/eio/config_darwin.h +141 -0
  124. data/ext/asyncengine_ext/libuv/src/unix/eio/config_freebsd.h +81 -0
  125. data/ext/asyncengine_ext/libuv/src/unix/eio/config_linux.h +94 -0
  126. data/ext/asyncengine_ext/libuv/src/unix/eio/config_netbsd.h +81 -0
  127. data/ext/asyncengine_ext/libuv/src/unix/eio/config_openbsd.h +137 -0
  128. data/ext/asyncengine_ext/libuv/src/unix/eio/config_sunos.h +84 -0
  129. data/ext/asyncengine_ext/libuv/src/unix/eio/configure.ac +22 -0
  130. data/ext/asyncengine_ext/libuv/src/unix/eio/demo.c +194 -0
  131. data/ext/asyncengine_ext/libuv/src/unix/eio/ecb.h +370 -0
  132. data/ext/asyncengine_ext/libuv/src/unix/eio/eio.3 +3428 -0
  133. data/ext/asyncengine_ext/libuv/src/unix/eio/eio.c +2593 -0
  134. data/ext/asyncengine_ext/libuv/src/unix/eio/eio.pod +969 -0
  135. data/ext/asyncengine_ext/libuv/src/unix/eio/libeio.m4 +195 -0
  136. data/ext/asyncengine_ext/libuv/src/unix/eio/xthread.h +164 -0
  137. data/ext/asyncengine_ext/libuv/src/unix/error.c +98 -0
  138. data/ext/asyncengine_ext/libuv/src/unix/ev/Changes +388 -0
  139. data/ext/asyncengine_ext/libuv/src/unix/ev/LICENSE +36 -0
  140. data/ext/asyncengine_ext/libuv/src/unix/ev/Makefile.am +18 -0
  141. data/ext/asyncengine_ext/libuv/src/unix/ev/Makefile.in +771 -0
  142. data/ext/asyncengine_ext/libuv/src/unix/ev/README +58 -0
  143. data/ext/asyncengine_ext/libuv/src/unix/ev/aclocal.m4 +8957 -0
  144. data/ext/asyncengine_ext/libuv/src/unix/ev/autogen.sh +6 -0
  145. data/ext/asyncengine_ext/libuv/src/unix/ev/config.guess +1526 -0
  146. data/ext/asyncengine_ext/libuv/src/unix/ev/config.h.in +125 -0
  147. data/ext/asyncengine_ext/libuv/src/unix/ev/config.sub +1658 -0
  148. data/ext/asyncengine_ext/libuv/src/unix/ev/config_cygwin.h +123 -0
  149. data/ext/asyncengine_ext/libuv/src/unix/ev/config_darwin.h +122 -0
  150. data/ext/asyncengine_ext/libuv/src/unix/ev/config_freebsd.h +120 -0
  151. data/ext/asyncengine_ext/libuv/src/unix/ev/config_linux.h +141 -0
  152. data/ext/asyncengine_ext/libuv/src/unix/ev/config_netbsd.h +120 -0
  153. data/ext/asyncengine_ext/libuv/src/unix/ev/config_openbsd.h +126 -0
  154. data/ext/asyncengine_ext/libuv/src/unix/ev/config_sunos.h +122 -0
  155. data/ext/asyncengine_ext/libuv/src/unix/ev/configure +13037 -0
  156. data/ext/asyncengine_ext/libuv/src/unix/ev/configure.ac +18 -0
  157. data/ext/asyncengine_ext/libuv/src/unix/ev/depcomp +630 -0
  158. data/ext/asyncengine_ext/libuv/src/unix/ev/ev++.h +816 -0
  159. data/ext/asyncengine_ext/libuv/src/unix/ev/ev.3 +5311 -0
  160. data/ext/asyncengine_ext/libuv/src/unix/ev/ev.c +3921 -0
  161. data/ext/asyncengine_ext/libuv/src/unix/ev/ev.pod +5243 -0
  162. data/ext/asyncengine_ext/libuv/src/unix/ev/ev_epoll.c +266 -0
  163. data/ext/asyncengine_ext/libuv/src/unix/ev/ev_kqueue.c +235 -0
  164. data/ext/asyncengine_ext/libuv/src/unix/ev/ev_poll.c +148 -0
  165. data/ext/asyncengine_ext/libuv/src/unix/ev/ev_port.c +179 -0
  166. data/ext/asyncengine_ext/libuv/src/unix/ev/ev_select.c +310 -0
  167. data/ext/asyncengine_ext/libuv/src/unix/ev/ev_vars.h +203 -0
  168. data/ext/asyncengine_ext/libuv/src/unix/ev/ev_win32.c +153 -0
  169. data/ext/asyncengine_ext/libuv/src/unix/ev/ev_wrap.h +196 -0
  170. data/ext/asyncengine_ext/libuv/src/unix/ev/event.c +402 -0
  171. data/ext/asyncengine_ext/libuv/src/unix/ev/event.h +170 -0
  172. data/ext/asyncengine_ext/libuv/src/unix/ev/install-sh +294 -0
  173. data/ext/asyncengine_ext/libuv/src/unix/ev/libev.m4 +39 -0
  174. data/ext/asyncengine_ext/libuv/src/unix/ev/ltmain.sh +8413 -0
  175. data/ext/asyncengine_ext/libuv/src/unix/ev/missing +336 -0
  176. data/ext/asyncengine_ext/libuv/src/unix/ev/mkinstalldirs +111 -0
  177. data/ext/asyncengine_ext/libuv/src/unix/freebsd.c +312 -0
  178. data/ext/asyncengine_ext/libuv/src/unix/fs.c +707 -0
  179. data/ext/asyncengine_ext/libuv/src/unix/idle.c +79 -0
  180. data/ext/asyncengine_ext/libuv/src/unix/internal.h +161 -0
  181. data/ext/asyncengine_ext/libuv/src/unix/kqueue.c +127 -0
  182. data/ext/asyncengine_ext/libuv/src/unix/linux/core.c +474 -0
  183. data/ext/asyncengine_ext/libuv/src/unix/linux/inotify.c +211 -0
  184. data/ext/asyncengine_ext/libuv/src/unix/linux/syscalls.c +230 -0
  185. data/ext/asyncengine_ext/libuv/src/unix/linux/syscalls.h +87 -0
  186. data/ext/asyncengine_ext/libuv/src/unix/loop.c +58 -0
  187. data/ext/asyncengine_ext/libuv/src/unix/netbsd.c +108 -0
  188. data/ext/asyncengine_ext/libuv/src/unix/openbsd.c +295 -0
  189. data/ext/asyncengine_ext/libuv/src/unix/pipe.c +266 -0
  190. data/ext/asyncengine_ext/libuv/src/unix/prepare.c +79 -0
  191. data/ext/asyncengine_ext/libuv/src/unix/process.c +369 -0
  192. data/ext/asyncengine_ext/libuv/src/unix/stream.c +1033 -0
  193. data/ext/asyncengine_ext/libuv/src/unix/sunos.c +466 -0
  194. data/ext/asyncengine_ext/libuv/src/unix/tcp.c +327 -0
  195. data/ext/asyncengine_ext/libuv/src/unix/thread.c +154 -0
  196. data/ext/asyncengine_ext/libuv/src/unix/timer.c +127 -0
  197. data/ext/asyncengine_ext/libuv/src/unix/tty.c +146 -0
  198. data/ext/asyncengine_ext/libuv/src/unix/udp.c +670 -0
  199. data/ext/asyncengine_ext/libuv/src/unix/uv-eio.c +124 -0
  200. data/ext/asyncengine_ext/libuv/src/unix/uv-eio.h +13 -0
  201. data/ext/asyncengine_ext/libuv/src/uv-common.c +354 -0
  202. data/ext/asyncengine_ext/libuv/src/uv-common.h +87 -0
  203. data/ext/asyncengine_ext/libuv/src/win/async.c +127 -0
  204. data/ext/asyncengine_ext/libuv/src/win/cares.c +290 -0
  205. data/ext/asyncengine_ext/libuv/src/win/core.c +270 -0
  206. data/ext/asyncengine_ext/libuv/src/win/dl.c +82 -0
  207. data/ext/asyncengine_ext/libuv/src/win/error.c +132 -0
  208. data/ext/asyncengine_ext/libuv/src/win/fs-event.c +514 -0
  209. data/ext/asyncengine_ext/libuv/src/win/fs.c +1576 -0
  210. data/ext/asyncengine_ext/libuv/src/win/getaddrinfo.c +372 -0
  211. data/ext/asyncengine_ext/libuv/src/win/handle.c +225 -0
  212. data/ext/asyncengine_ext/libuv/src/win/internal.h +352 -0
  213. data/ext/asyncengine_ext/libuv/src/win/loop-watcher.c +131 -0
  214. data/ext/asyncengine_ext/libuv/src/win/pipe.c +1661 -0
  215. data/ext/asyncengine_ext/libuv/src/win/process.c +1140 -0
  216. data/ext/asyncengine_ext/libuv/src/win/req.c +174 -0
  217. data/ext/asyncengine_ext/libuv/src/win/stream.c +201 -0
  218. data/ext/asyncengine_ext/libuv/src/win/tcp.c +1282 -0
  219. data/ext/asyncengine_ext/libuv/src/win/thread.c +332 -0
  220. data/ext/asyncengine_ext/libuv/src/win/threadpool.c +73 -0
  221. data/ext/asyncengine_ext/libuv/src/win/timer.c +276 -0
  222. data/ext/asyncengine_ext/libuv/src/win/tty.c +1795 -0
  223. data/ext/asyncengine_ext/libuv/src/win/udp.c +709 -0
  224. data/ext/asyncengine_ext/libuv/src/win/util.c +719 -0
  225. data/ext/asyncengine_ext/libuv/src/win/winapi.c +117 -0
  226. data/ext/asyncengine_ext/libuv/src/win/winapi.h +4419 -0
  227. data/ext/asyncengine_ext/libuv/src/win/winsock.c +470 -0
  228. data/ext/asyncengine_ext/libuv/src/win/winsock.h +138 -0
  229. data/ext/asyncengine_ext/libuv/test/benchmark-ares.c +118 -0
  230. data/ext/asyncengine_ext/libuv/test/benchmark-getaddrinfo.c +94 -0
  231. data/ext/asyncengine_ext/libuv/test/benchmark-list.h +105 -0
  232. data/ext/asyncengine_ext/libuv/test/benchmark-ping-pongs.c +213 -0
  233. data/ext/asyncengine_ext/libuv/test/benchmark-pound.c +324 -0
  234. data/ext/asyncengine_ext/libuv/test/benchmark-pump.c +462 -0
  235. data/ext/asyncengine_ext/libuv/test/benchmark-sizes.c +40 -0
  236. data/ext/asyncengine_ext/libuv/test/benchmark-spawn.c +156 -0
  237. data/ext/asyncengine_ext/libuv/test/benchmark-tcp-write-batch.c +140 -0
  238. data/ext/asyncengine_ext/libuv/test/benchmark-thread.c +64 -0
  239. data/ext/asyncengine_ext/libuv/test/benchmark-udp-packet-storm.c +247 -0
  240. data/ext/asyncengine_ext/libuv/test/blackhole-server.c +118 -0
  241. data/ext/asyncengine_ext/libuv/test/dns-server.c +321 -0
  242. data/ext/asyncengine_ext/libuv/test/echo-server.c +370 -0
  243. data/ext/asyncengine_ext/libuv/test/fixtures/empty_file +0 -0
  244. data/ext/asyncengine_ext/libuv/test/fixtures/load_error.node +1 -0
  245. data/ext/asyncengine_ext/libuv/test/run-benchmarks.c +64 -0
  246. data/ext/asyncengine_ext/libuv/test/run-tests.c +108 -0
  247. data/ext/asyncengine_ext/libuv/test/runner-unix.c +315 -0
  248. data/ext/asyncengine_ext/libuv/test/runner-unix.h +36 -0
  249. data/ext/asyncengine_ext/libuv/test/runner-win.c +343 -0
  250. data/ext/asyncengine_ext/libuv/test/runner-win.h +42 -0
  251. data/ext/asyncengine_ext/libuv/test/runner.c +317 -0
  252. data/ext/asyncengine_ext/libuv/test/runner.h +159 -0
  253. data/ext/asyncengine_ext/libuv/test/task.h +117 -0
  254. data/ext/asyncengine_ext/libuv/test/test-async.c +216 -0
  255. data/ext/asyncengine_ext/libuv/test/test-callback-stack.c +203 -0
  256. data/ext/asyncengine_ext/libuv/test/test-connection-fail.c +148 -0
  257. data/ext/asyncengine_ext/libuv/test/test-counters-init.c +216 -0
  258. data/ext/asyncengine_ext/libuv/test/test-cwd-and-chdir.c +64 -0
  259. data/ext/asyncengine_ext/libuv/test/test-delayed-accept.c +197 -0
  260. data/ext/asyncengine_ext/libuv/test/test-dlerror.c +49 -0
  261. data/ext/asyncengine_ext/libuv/test/test-eio-overflow.c +90 -0
  262. data/ext/asyncengine_ext/libuv/test/test-error.c +59 -0
  263. data/ext/asyncengine_ext/libuv/test/test-fail-always.c +29 -0
  264. data/ext/asyncengine_ext/libuv/test/test-fs-event.c +442 -0
  265. data/ext/asyncengine_ext/libuv/test/test-fs.c +1731 -0
  266. data/ext/asyncengine_ext/libuv/test/test-get-currentexe.c +63 -0
  267. data/ext/asyncengine_ext/libuv/test/test-get-loadavg.c +36 -0
  268. data/ext/asyncengine_ext/libuv/test/test-get-memory.c +38 -0
  269. data/ext/asyncengine_ext/libuv/test/test-getaddrinfo.c +122 -0
  270. data/ext/asyncengine_ext/libuv/test/test-gethostbyname.c +189 -0
  271. data/ext/asyncengine_ext/libuv/test/test-getsockname.c +342 -0
  272. data/ext/asyncengine_ext/libuv/test/test-hrtime.c +51 -0
  273. data/ext/asyncengine_ext/libuv/test/test-idle.c +81 -0
  274. data/ext/asyncengine_ext/libuv/test/test-ipc-send-recv.c +209 -0
  275. data/ext/asyncengine_ext/libuv/test/test-ipc.c +614 -0
  276. data/ext/asyncengine_ext/libuv/test/test-list.h +371 -0
  277. data/ext/asyncengine_ext/libuv/test/test-loop-handles.c +359 -0
  278. data/ext/asyncengine_ext/libuv/test/test-multiple-listen.c +102 -0
  279. data/ext/asyncengine_ext/libuv/test/test-mutexes.c +63 -0
  280. data/ext/asyncengine_ext/libuv/test/test-pass-always.c +28 -0
  281. data/ext/asyncengine_ext/libuv/test/test-ping-pong.c +253 -0
  282. data/ext/asyncengine_ext/libuv/test/test-pipe-bind-error.c +140 -0
  283. data/ext/asyncengine_ext/libuv/test/test-pipe-connect-error.c +96 -0
  284. data/ext/asyncengine_ext/libuv/test/test-platform-output.c +87 -0
  285. data/ext/asyncengine_ext/libuv/test/test-process-title.c +42 -0
  286. data/ext/asyncengine_ext/libuv/test/test-ref.c +322 -0
  287. data/ext/asyncengine_ext/libuv/test/test-run-once.c +44 -0
  288. data/ext/asyncengine_ext/libuv/test/test-shutdown-close.c +103 -0
  289. data/ext/asyncengine_ext/libuv/test/test-shutdown-eof.c +183 -0
  290. data/ext/asyncengine_ext/libuv/test/test-spawn.c +499 -0
  291. data/ext/asyncengine_ext/libuv/test/test-stdio-over-pipes.c +256 -0
  292. data/ext/asyncengine_ext/libuv/test/test-tcp-bind-error.c +191 -0
  293. data/ext/asyncengine_ext/libuv/test/test-tcp-bind6-error.c +154 -0
  294. data/ext/asyncengine_ext/libuv/test/test-tcp-close.c +129 -0
  295. data/ext/asyncengine_ext/libuv/test/test-tcp-connect-error.c +70 -0
  296. data/ext/asyncengine_ext/libuv/test/test-tcp-connect6-error.c +68 -0
  297. data/ext/asyncengine_ext/libuv/test/test-tcp-flags.c +51 -0
  298. data/ext/asyncengine_ext/libuv/test/test-tcp-write-error.c +168 -0
  299. data/ext/asyncengine_ext/libuv/test/test-tcp-write-to-half-open-connection.c +135 -0
  300. data/ext/asyncengine_ext/libuv/test/test-tcp-writealot.c +195 -0
  301. data/ext/asyncengine_ext/libuv/test/test-thread.c +183 -0
  302. data/ext/asyncengine_ext/libuv/test/test-threadpool.c +57 -0
  303. data/ext/asyncengine_ext/libuv/test/test-timer-again.c +141 -0
  304. data/ext/asyncengine_ext/libuv/test/test-timer.c +130 -0
  305. data/ext/asyncengine_ext/libuv/test/test-tty.c +110 -0
  306. data/ext/asyncengine_ext/libuv/test/test-udp-dgram-too-big.c +86 -0
  307. data/ext/asyncengine_ext/libuv/test/test-udp-ipv6.c +156 -0
  308. data/ext/asyncengine_ext/libuv/test/test-udp-multicast-join.c +139 -0
  309. data/ext/asyncengine_ext/libuv/test/test-udp-multicast-ttl.c +86 -0
  310. data/ext/asyncengine_ext/libuv/test/test-udp-options.c +86 -0
  311. data/ext/asyncengine_ext/libuv/test/test-udp-send-and-recv.c +208 -0
  312. data/ext/asyncengine_ext/libuv/test/test-util.c +97 -0
  313. data/ext/asyncengine_ext/libuv/uv.gyp +435 -0
  314. data/ext/asyncengine_ext/libuv/vcbuild.bat +105 -0
  315. data/lib/asyncengine/version.rb +3 -0
  316. data/lib/asyncengine.rb +41 -0
  317. metadata +384 -0
@@ -0,0 +1,203 @@
1
+
2
+ #ifndef ARES_NAMESER_H
3
+ #define ARES_NAMESER_H
4
+
5
+ /* header file provided by liren@vivisimo.com */
6
+
7
+ #ifndef HAVE_ARPA_NAMESER_H
8
+
9
+ #define NS_PACKETSZ 512 /* maximum packet size */
10
+ #define NS_MAXDNAME 256 /* maximum domain name */
11
+ #define NS_MAXCDNAME 255 /* maximum compressed domain name */
12
+ #define NS_MAXLABEL 63
13
+ #define NS_HFIXEDSZ 12 /* #/bytes of fixed data in header */
14
+ #define NS_QFIXEDSZ 4 /* #/bytes of fixed data in query */
15
+ #define NS_RRFIXEDSZ 10 /* #/bytes of fixed data in r record */
16
+ #define NS_INT16SZ 2
17
+ #define NS_INADDRSZ 4
18
+ #define NS_IN6ADDRSZ 16
19
+ #define NS_CMPRSFLGS 0xc0 /* Flag bits indicating name compression. */
20
+ #define NS_DEFAULTPORT 53 /* For both TCP and UDP. */
21
+
22
+ typedef enum __ns_class {
23
+ ns_c_invalid = 0, /* Cookie. */
24
+ ns_c_in = 1, /* Internet. */
25
+ ns_c_2 = 2, /* unallocated/unsupported. */
26
+ ns_c_chaos = 3, /* MIT Chaos-net. */
27
+ ns_c_hs = 4, /* MIT Hesiod. */
28
+ /* Query class values which do not appear in resource records */
29
+ ns_c_none = 254, /* for prereq. sections in update requests */
30
+ ns_c_any = 255, /* Wildcard match. */
31
+ ns_c_max = 65536
32
+ } ns_class;
33
+
34
+ typedef enum __ns_type {
35
+ ns_t_invalid = 0, /* Cookie. */
36
+ ns_t_a = 1, /* Host address. */
37
+ ns_t_ns = 2, /* Authoritative server. */
38
+ ns_t_md = 3, /* Mail destination. */
39
+ ns_t_mf = 4, /* Mail forwarder. */
40
+ ns_t_cname = 5, /* Canonical name. */
41
+ ns_t_soa = 6, /* Start of authority zone. */
42
+ ns_t_mb = 7, /* Mailbox domain name. */
43
+ ns_t_mg = 8, /* Mail group member. */
44
+ ns_t_mr = 9, /* Mail rename name. */
45
+ ns_t_null = 10, /* Null resource record. */
46
+ ns_t_wks = 11, /* Well known service. */
47
+ ns_t_ptr = 12, /* Domain name pointer. */
48
+ ns_t_hinfo = 13, /* Host information. */
49
+ ns_t_minfo = 14, /* Mailbox information. */
50
+ ns_t_mx = 15, /* Mail routing information. */
51
+ ns_t_txt = 16, /* Text strings. */
52
+ ns_t_rp = 17, /* Responsible person. */
53
+ ns_t_afsdb = 18, /* AFS cell database. */
54
+ ns_t_x25 = 19, /* X_25 calling address. */
55
+ ns_t_isdn = 20, /* ISDN calling address. */
56
+ ns_t_rt = 21, /* Router. */
57
+ ns_t_nsap = 22, /* NSAP address. */
58
+ ns_t_nsap_ptr = 23, /* Reverse NSAP lookup (deprecated). */
59
+ ns_t_sig = 24, /* Security signature. */
60
+ ns_t_key = 25, /* Security key. */
61
+ ns_t_px = 26, /* X.400 mail mapping. */
62
+ ns_t_gpos = 27, /* Geographical position (withdrawn). */
63
+ ns_t_aaaa = 28, /* Ip6 Address. */
64
+ ns_t_loc = 29, /* Location Information. */
65
+ ns_t_nxt = 30, /* Next domain (security). */
66
+ ns_t_eid = 31, /* Endpoint identifier. */
67
+ ns_t_nimloc = 32, /* Nimrod Locator. */
68
+ ns_t_srv = 33, /* Server Selection. */
69
+ ns_t_atma = 34, /* ATM Address */
70
+ ns_t_naptr = 35, /* Naming Authority PoinTeR */
71
+ ns_t_kx = 36, /* Key Exchange */
72
+ ns_t_cert = 37, /* Certification record */
73
+ ns_t_a6 = 38, /* IPv6 address (deprecates AAAA) */
74
+ ns_t_dname = 39, /* Non-terminal DNAME (for IPv6) */
75
+ ns_t_sink = 40, /* Kitchen sink (experimentatl) */
76
+ ns_t_opt = 41, /* EDNS0 option (meta-RR) */
77
+ ns_t_apl = 42, /* Address prefix list (RFC3123) */
78
+ ns_t_ds = 43, /* Delegation Signer (RFC4034) */
79
+ ns_t_sshfp = 44, /* SSH Key Fingerprint (RFC4255) */
80
+ ns_t_rrsig = 46, /* Resource Record Signature (RFC4034) */
81
+ ns_t_nsec = 47, /* Next Secure (RFC4034) */
82
+ ns_t_dnskey = 48, /* DNS Public Key (RFC4034) */
83
+ ns_t_tkey = 249, /* Transaction key */
84
+ ns_t_tsig = 250, /* Transaction signature. */
85
+ ns_t_ixfr = 251, /* Incremental zone transfer. */
86
+ ns_t_axfr = 252, /* Transfer zone of authority. */
87
+ ns_t_mailb = 253, /* Transfer mailbox records. */
88
+ ns_t_maila = 254, /* Transfer mail agent records. */
89
+ ns_t_any = 255, /* Wildcard match. */
90
+ ns_t_zxfr = 256, /* BIND-specific, nonstandard. */
91
+ ns_t_max = 65536
92
+ } ns_type;
93
+
94
+ typedef enum __ns_opcode {
95
+ ns_o_query = 0, /* Standard query. */
96
+ ns_o_iquery = 1, /* Inverse query (deprecated/unsupported). */
97
+ ns_o_status = 2, /* Name server status query (unsupported). */
98
+ /* Opcode 3 is undefined/reserved. */
99
+ ns_o_notify = 4, /* Zone change notification. */
100
+ ns_o_update = 5, /* Zone update message. */
101
+ ns_o_max = 6
102
+ } ns_opcode;
103
+
104
+ typedef enum __ns_rcode {
105
+ ns_r_noerror = 0, /* No error occurred. */
106
+ ns_r_formerr = 1, /* Format error. */
107
+ ns_r_servfail = 2, /* Server failure. */
108
+ ns_r_nxdomain = 3, /* Name error. */
109
+ ns_r_notimpl = 4, /* Unimplemented. */
110
+ ns_r_refused = 5, /* Operation refused. */
111
+ /* these are for BIND_UPDATE */
112
+ ns_r_yxdomain = 6, /* Name exists */
113
+ ns_r_yxrrset = 7, /* RRset exists */
114
+ ns_r_nxrrset = 8, /* RRset does not exist */
115
+ ns_r_notauth = 9, /* Not authoritative for zone */
116
+ ns_r_notzone = 10, /* Zone of record different from zone section */
117
+ ns_r_max = 11,
118
+ /* The following are TSIG extended errors */
119
+ ns_r_badsig = 16,
120
+ ns_r_badkey = 17,
121
+ ns_r_badtime = 18
122
+ } ns_rcode;
123
+
124
+ #endif /* HAVE_ARPA_NAMESER_H */
125
+
126
+ #ifndef HAVE_ARPA_NAMESER_COMPAT_H
127
+
128
+ #define PACKETSZ NS_PACKETSZ
129
+ #define MAXDNAME NS_MAXDNAME
130
+ #define MAXCDNAME NS_MAXCDNAME
131
+ #define MAXLABEL NS_MAXLABEL
132
+ #define HFIXEDSZ NS_HFIXEDSZ
133
+ #define QFIXEDSZ NS_QFIXEDSZ
134
+ #define RRFIXEDSZ NS_RRFIXEDSZ
135
+ #define INDIR_MASK NS_CMPRSFLGS
136
+ #define NAMESERVER_PORT NS_DEFAULTPORT
137
+
138
+ #define QUERY ns_o_query
139
+
140
+ #define SERVFAIL ns_r_servfail
141
+ #define NOTIMP ns_r_notimpl
142
+ #define REFUSED ns_r_refused
143
+ #undef NOERROR /* it seems this is already defined in winerror.h */
144
+ #define NOERROR ns_r_noerror
145
+ #define FORMERR ns_r_formerr
146
+ #define NXDOMAIN ns_r_nxdomain
147
+
148
+ #define C_IN ns_c_in
149
+ #define C_CHAOS ns_c_chaos
150
+ #define C_HS ns_c_hs
151
+ #define C_NONE ns_c_none
152
+ #define C_ANY ns_c_any
153
+
154
+ #define T_A ns_t_a
155
+ #define T_NS ns_t_ns
156
+ #define T_MD ns_t_md
157
+ #define T_MF ns_t_mf
158
+ #define T_CNAME ns_t_cname
159
+ #define T_SOA ns_t_soa
160
+ #define T_MB ns_t_mb
161
+ #define T_MG ns_t_mg
162
+ #define T_MR ns_t_mr
163
+ #define T_NULL ns_t_null
164
+ #define T_WKS ns_t_wks
165
+ #define T_PTR ns_t_ptr
166
+ #define T_HINFO ns_t_hinfo
167
+ #define T_MINFO ns_t_minfo
168
+ #define T_MX ns_t_mx
169
+ #define T_TXT ns_t_txt
170
+ #define T_RP ns_t_rp
171
+ #define T_AFSDB ns_t_afsdb
172
+ #define T_X25 ns_t_x25
173
+ #define T_ISDN ns_t_isdn
174
+ #define T_RT ns_t_rt
175
+ #define T_NSAP ns_t_nsap
176
+ #define T_NSAP_PTR ns_t_nsap_ptr
177
+ #define T_SIG ns_t_sig
178
+ #define T_KEY ns_t_key
179
+ #define T_PX ns_t_px
180
+ #define T_GPOS ns_t_gpos
181
+ #define T_AAAA ns_t_aaaa
182
+ #define T_LOC ns_t_loc
183
+ #define T_NXT ns_t_nxt
184
+ #define T_EID ns_t_eid
185
+ #define T_NIMLOC ns_t_nimloc
186
+ #define T_SRV ns_t_srv
187
+ #define T_ATMA ns_t_atma
188
+ #define T_NAPTR ns_t_naptr
189
+ #define T_DS ns_t_ds
190
+ #define T_SSHFP ns_t_sshfp
191
+ #define T_RRSIG ns_t_rrsig
192
+ #define T_NSEC ns_t_nsec
193
+ #define T_DNSKEY ns_t_dnskey
194
+ #define T_TSIG ns_t_tsig
195
+ #define T_IXFR ns_t_ixfr
196
+ #define T_AXFR ns_t_axfr
197
+ #define T_MAILB ns_t_mailb
198
+ #define T_MAILA ns_t_maila
199
+ #define T_ANY ns_t_any
200
+
201
+ #endif /* HAVE_ARPA_NAMESER_COMPAT_H */
202
+
203
+ #endif /* ARES_NAMESER_H */
@@ -0,0 +1,504 @@
1
+ #ifndef __SETUP_ONCE_H
2
+ #define __SETUP_ONCE_H
3
+
4
+
5
+ /* Copyright (C) 2004 - 2011 by Daniel Stenberg et al
6
+ *
7
+ * Permission to use, copy, modify, and distribute this software and its
8
+ * documentation for any purpose and without fee is hereby granted, provided
9
+ * that the above copyright notice appear in all copies and that both that
10
+ * copyright notice and this permission notice appear in supporting
11
+ * documentation, and that the name of M.I.T. not be used in advertising or
12
+ * publicity pertaining to distribution of the software without specific,
13
+ * written prior permission. M.I.T. makes no representations about the
14
+ * suitability of this software for any purpose. It is provided "as is"
15
+ * without express or implied warranty.
16
+ */
17
+
18
+
19
+ /********************************************************************
20
+ * NOTICE *
21
+ * ======== *
22
+ * *
23
+ * Content of header files lib/setup_once.h and ares/setup_once.h *
24
+ * must be kept in sync. Modify the other one if you change this. *
25
+ * *
26
+ ********************************************************************/
27
+
28
+
29
+ /*
30
+ * Inclusion of common header files.
31
+ */
32
+
33
+ #include <stdio.h>
34
+ #include <stdlib.h>
35
+ #include <string.h>
36
+ #include <stdarg.h>
37
+ #include <ctype.h>
38
+
39
+ #ifdef HAVE_ERRNO_H
40
+ #include <errno.h>
41
+ #endif
42
+
43
+ #ifdef HAVE_SYS_TYPES_H
44
+ #include <sys/types.h>
45
+ #endif
46
+
47
+ #ifdef NEED_MALLOC_H
48
+ #include <malloc.h>
49
+ #endif
50
+
51
+ #ifdef NEED_MEMORY_H
52
+ #include <memory.h>
53
+ #endif
54
+
55
+ #ifdef HAVE_SYS_STAT_H
56
+ #include <sys/stat.h>
57
+ #endif
58
+
59
+ #ifdef HAVE_SYS_TIME_H
60
+ #include <sys/time.h>
61
+ #ifdef TIME_WITH_SYS_TIME
62
+ #include <time.h>
63
+ #endif
64
+ #else
65
+ #ifdef HAVE_TIME_H
66
+ #include <time.h>
67
+ #endif
68
+ #endif
69
+
70
+ #ifdef WIN32
71
+ #include <io.h>
72
+ #include <fcntl.h>
73
+ #endif
74
+
75
+ #ifdef HAVE_STDBOOL_H
76
+ #include <stdbool.h>
77
+ #endif
78
+
79
+
80
+ /*
81
+ * Definition of timeval struct for platforms that don't have it.
82
+ */
83
+
84
+ #ifndef HAVE_STRUCT_TIMEVAL
85
+ struct timeval {
86
+ long tv_sec;
87
+ long tv_usec;
88
+ };
89
+ #endif
90
+
91
+
92
+ /*
93
+ * If we have the MSG_NOSIGNAL define, make sure we use
94
+ * it as the fourth argument of function send()
95
+ */
96
+
97
+ #ifdef HAVE_MSG_NOSIGNAL
98
+ #define SEND_4TH_ARG MSG_NOSIGNAL
99
+ #else
100
+ #define SEND_4TH_ARG 0
101
+ #endif
102
+
103
+
104
+ #if defined(__minix)
105
+ /* Minix doesn't support recv on TCP sockets */
106
+ #define sread(x,y,z) (ssize_t)read((RECV_TYPE_ARG1)(x), \
107
+ (RECV_TYPE_ARG2)(y), \
108
+ (RECV_TYPE_ARG3)(z))
109
+
110
+ #elif defined(HAVE_RECV)
111
+ /*
112
+ * The definitions for the return type and arguments types
113
+ * of functions recv() and send() belong and come from the
114
+ * configuration file. Do not define them in any other place.
115
+ *
116
+ * HAVE_RECV is defined if you have a function named recv()
117
+ * which is used to read incoming data from sockets. If your
118
+ * function has another name then don't define HAVE_RECV.
119
+ *
120
+ * If HAVE_RECV is defined then RECV_TYPE_ARG1, RECV_TYPE_ARG2,
121
+ * RECV_TYPE_ARG3, RECV_TYPE_ARG4 and RECV_TYPE_RETV must also
122
+ * be defined.
123
+ *
124
+ * HAVE_SEND is defined if you have a function named send()
125
+ * which is used to write outgoing data on a connected socket.
126
+ * If yours has another name then don't define HAVE_SEND.
127
+ *
128
+ * If HAVE_SEND is defined then SEND_TYPE_ARG1, SEND_QUAL_ARG2,
129
+ * SEND_TYPE_ARG2, SEND_TYPE_ARG3, SEND_TYPE_ARG4 and
130
+ * SEND_TYPE_RETV must also be defined.
131
+ */
132
+
133
+ #if !defined(RECV_TYPE_ARG1) || \
134
+ !defined(RECV_TYPE_ARG2) || \
135
+ !defined(RECV_TYPE_ARG3) || \
136
+ !defined(RECV_TYPE_ARG4) || \
137
+ !defined(RECV_TYPE_RETV)
138
+ /* */
139
+ Error Missing_definition_of_return_and_arguments_types_of_recv
140
+ /* */
141
+ #else
142
+ #define sread(x,y,z) (ssize_t)recv((RECV_TYPE_ARG1)(x), \
143
+ (RECV_TYPE_ARG2)(y), \
144
+ (RECV_TYPE_ARG3)(z), \
145
+ (RECV_TYPE_ARG4)(0))
146
+ #endif
147
+ #else /* HAVE_RECV */
148
+ #ifndef sread
149
+ /* */
150
+ Error Missing_definition_of_macro_sread
151
+ /* */
152
+ #endif
153
+ #endif /* HAVE_RECV */
154
+
155
+
156
+ #if defined(__minix)
157
+ /* Minix doesn't support send on TCP sockets */
158
+ #define swrite(x,y,z) (ssize_t)write((SEND_TYPE_ARG1)(x), \
159
+ (SEND_TYPE_ARG2)(y), \
160
+ (SEND_TYPE_ARG3)(z))
161
+
162
+ #elif defined(HAVE_SEND)
163
+ #if !defined(SEND_TYPE_ARG1) || \
164
+ !defined(SEND_QUAL_ARG2) || \
165
+ !defined(SEND_TYPE_ARG2) || \
166
+ !defined(SEND_TYPE_ARG3) || \
167
+ !defined(SEND_TYPE_ARG4) || \
168
+ !defined(SEND_TYPE_RETV)
169
+ /* */
170
+ Error Missing_definition_of_return_and_arguments_types_of_send
171
+ /* */
172
+ #else
173
+ #define swrite(x,y,z) (ssize_t)send((SEND_TYPE_ARG1)(x), \
174
+ (SEND_TYPE_ARG2)(y), \
175
+ (SEND_TYPE_ARG3)(z), \
176
+ (SEND_TYPE_ARG4)(SEND_4TH_ARG))
177
+ #endif
178
+ #else /* HAVE_SEND */
179
+ #ifndef swrite
180
+ /* */
181
+ Error Missing_definition_of_macro_swrite
182
+ /* */
183
+ #endif
184
+ #endif /* HAVE_SEND */
185
+
186
+
187
+ #if 0
188
+ #if defined(HAVE_RECVFROM)
189
+ /*
190
+ * Currently recvfrom is only used on udp sockets.
191
+ */
192
+ #if !defined(RECVFROM_TYPE_ARG1) || \
193
+ !defined(RECVFROM_TYPE_ARG2) || \
194
+ !defined(RECVFROM_TYPE_ARG3) || \
195
+ !defined(RECVFROM_TYPE_ARG4) || \
196
+ !defined(RECVFROM_TYPE_ARG5) || \
197
+ !defined(RECVFROM_TYPE_ARG6) || \
198
+ !defined(RECVFROM_TYPE_RETV)
199
+ /* */
200
+ Error Missing_definition_of_return_and_arguments_types_of_recvfrom
201
+ /* */
202
+ #else
203
+ #define sreadfrom(s,b,bl,f,fl) (ssize_t)recvfrom((RECVFROM_TYPE_ARG1) (s), \
204
+ (RECVFROM_TYPE_ARG2 *)(b), \
205
+ (RECVFROM_TYPE_ARG3) (bl), \
206
+ (RECVFROM_TYPE_ARG4) (0), \
207
+ (RECVFROM_TYPE_ARG5 *)(f), \
208
+ (RECVFROM_TYPE_ARG6 *)(fl))
209
+ #endif
210
+ #else /* HAVE_RECVFROM */
211
+ #ifndef sreadfrom
212
+ /* */
213
+ Error Missing_definition_of_macro_sreadfrom
214
+ /* */
215
+ #endif
216
+ #endif /* HAVE_RECVFROM */
217
+
218
+
219
+ #ifdef RECVFROM_TYPE_ARG6_IS_VOID
220
+ # define RECVFROM_ARG6_T int
221
+ #else
222
+ # define RECVFROM_ARG6_T RECVFROM_TYPE_ARG6
223
+ #endif
224
+ #endif /* if 0 */
225
+
226
+
227
+ /*
228
+ * Function-like macro definition used to close a socket.
229
+ */
230
+
231
+ #if defined(HAVE_CLOSESOCKET)
232
+ # define sclose(x) closesocket((x))
233
+ #elif defined(HAVE_CLOSESOCKET_CAMEL)
234
+ # define sclose(x) CloseSocket((x))
235
+ #else
236
+ # define sclose(x) close((x))
237
+ #endif
238
+
239
+
240
+ /*
241
+ * Uppercase macro versions of ANSI/ISO is*() functions/macros which
242
+ * avoid negative number inputs with argument byte codes > 127.
243
+ */
244
+
245
+ #define ISSPACE(x) (isspace((int) ((unsigned char)x)))
246
+ #define ISDIGIT(x) (isdigit((int) ((unsigned char)x)))
247
+ #define ISALNUM(x) (isalnum((int) ((unsigned char)x)))
248
+ #define ISXDIGIT(x) (isxdigit((int) ((unsigned char)x)))
249
+ #define ISGRAPH(x) (isgraph((int) ((unsigned char)x)))
250
+ #define ISALPHA(x) (isalpha((int) ((unsigned char)x)))
251
+ #define ISPRINT(x) (isprint((int) ((unsigned char)x)))
252
+ #define ISUPPER(x) (isupper((int) ((unsigned char)x)))
253
+ #define ISLOWER(x) (islower((int) ((unsigned char)x)))
254
+ #define ISASCII(x) (isascii((int) ((unsigned char)x)))
255
+
256
+ #define ISBLANK(x) (int)((((unsigned char)x) == ' ') || \
257
+ (((unsigned char)x) == '\t'))
258
+
259
+ #define TOLOWER(x) (tolower((int) ((unsigned char)x)))
260
+
261
+
262
+ /*
263
+ * 'bool' exists on platforms with <stdbool.h>, i.e. C99 platforms.
264
+ * On non-C99 platforms there's no bool, so define an enum for that.
265
+ * On C99 platforms 'false' and 'true' also exist. Enum uses a
266
+ * global namespace though, so use bool_false and bool_true.
267
+ */
268
+
269
+ #ifndef HAVE_BOOL_T
270
+ typedef enum {
271
+ bool_false = 0,
272
+ bool_true = 1
273
+ } bool;
274
+
275
+ /*
276
+ * Use a define to let 'true' and 'false' use those enums. There
277
+ * are currently no use of true and false in libcurl proper, but
278
+ * there are some in the examples. This will cater for any later
279
+ * code happening to use true and false.
280
+ */
281
+ # define false bool_false
282
+ # define true bool_true
283
+ # define HAVE_BOOL_T
284
+ #endif
285
+
286
+
287
+ /*
288
+ * Redefine TRUE and FALSE too, to catch current use. With this
289
+ * change, 'bool found = 1' will give a warning on MIPSPro, but
290
+ * 'bool found = TRUE' will not. Change tested on IRIX/MIPSPro,
291
+ * AIX 5.1/Xlc, Tru64 5.1/cc, w/make test too.
292
+ */
293
+
294
+ #ifndef TRUE
295
+ #define TRUE true
296
+ #endif
297
+ #ifndef FALSE
298
+ #define FALSE false
299
+ #endif
300
+
301
+
302
+ /*
303
+ * Typedef to 'int' if sig_atomic_t is not an available 'typedefed' type.
304
+ */
305
+
306
+ #ifndef HAVE_SIG_ATOMIC_T
307
+ typedef int sig_atomic_t;
308
+ #define HAVE_SIG_ATOMIC_T
309
+ #endif
310
+
311
+
312
+ /*
313
+ * Convenience SIG_ATOMIC_T definition
314
+ */
315
+
316
+ #ifdef HAVE_SIG_ATOMIC_T_VOLATILE
317
+ #define SIG_ATOMIC_T static sig_atomic_t
318
+ #else
319
+ #define SIG_ATOMIC_T static volatile sig_atomic_t
320
+ #endif
321
+
322
+
323
+ /*
324
+ * Default return type for signal handlers.
325
+ */
326
+
327
+ #ifndef RETSIGTYPE
328
+ #define RETSIGTYPE void
329
+ #endif
330
+
331
+
332
+ /*
333
+ * Macro used to include code only in debug builds.
334
+ */
335
+
336
+ #ifdef DEBUGBUILD
337
+ #define DEBUGF(x) x
338
+ #else
339
+ #define DEBUGF(x) do { } while (0)
340
+ #endif
341
+
342
+
343
+ /*
344
+ * Macro used to include assertion code only in debug builds.
345
+ */
346
+
347
+ #if defined(DEBUGBUILD) && defined(HAVE_ASSERT_H)
348
+ #define DEBUGASSERT(x) assert(x)
349
+ #else
350
+ #define DEBUGASSERT(x) do { } while (0)
351
+ #endif
352
+
353
+
354
+ /*
355
+ * Macro SOCKERRNO / SET_SOCKERRNO() returns / sets the *socket-related* errno
356
+ * (or equivalent) on this platform to hide platform details to code using it.
357
+ */
358
+
359
+ #ifdef USE_WINSOCK
360
+ #define SOCKERRNO ((int)WSAGetLastError())
361
+ #define SET_SOCKERRNO(x) (WSASetLastError((int)(x)))
362
+ #else
363
+ #define SOCKERRNO (errno)
364
+ #define SET_SOCKERRNO(x) (errno = (x))
365
+ #endif
366
+
367
+
368
+ /*
369
+ * Macro ERRNO / SET_ERRNO() returns / sets the NOT *socket-related* errno
370
+ * (or equivalent) on this platform to hide platform details to code using it.
371
+ */
372
+
373
+ #if defined(WIN32) && !defined(WATT32)
374
+ #define ERRNO ((int)GetLastError())
375
+ #define SET_ERRNO(x) (SetLastError((DWORD)(x)))
376
+ #else
377
+ #define ERRNO (errno)
378
+ #define SET_ERRNO(x) (errno = (x))
379
+ #endif
380
+
381
+
382
+ /*
383
+ * Portable error number symbolic names defined to Winsock error codes.
384
+ */
385
+
386
+ #ifdef USE_WINSOCK
387
+ #undef EBADF /* override definition in errno.h */
388
+ #define EBADF WSAEBADF
389
+ #undef EINTR /* override definition in errno.h */
390
+ #define EINTR WSAEINTR
391
+ #undef EINVAL /* override definition in errno.h */
392
+ #define EINVAL WSAEINVAL
393
+ #undef EWOULDBLOCK /* override definition in errno.h */
394
+ #define EWOULDBLOCK WSAEWOULDBLOCK
395
+ #undef EINPROGRESS /* override definition in errno.h */
396
+ #define EINPROGRESS WSAEINPROGRESS
397
+ #undef EALREADY /* override definition in errno.h */
398
+ #define EALREADY WSAEALREADY
399
+ #undef ENOTSOCK /* override definition in errno.h */
400
+ #define ENOTSOCK WSAENOTSOCK
401
+ #undef EDESTADDRREQ /* override definition in errno.h */
402
+ #define EDESTADDRREQ WSAEDESTADDRREQ
403
+ #undef EMSGSIZE /* override definition in errno.h */
404
+ #define EMSGSIZE WSAEMSGSIZE
405
+ #undef EPROTOTYPE /* override definition in errno.h */
406
+ #define EPROTOTYPE WSAEPROTOTYPE
407
+ #undef ENOPROTOOPT /* override definition in errno.h */
408
+ #define ENOPROTOOPT WSAENOPROTOOPT
409
+ #undef EPROTONOSUPPORT /* override definition in errno.h */
410
+ #define EPROTONOSUPPORT WSAEPROTONOSUPPORT
411
+ #define ESOCKTNOSUPPORT WSAESOCKTNOSUPPORT
412
+ #undef EOPNOTSUPP /* override definition in errno.h */
413
+ #define EOPNOTSUPP WSAEOPNOTSUPP
414
+ #define EPFNOSUPPORT WSAEPFNOSUPPORT
415
+ #undef EAFNOSUPPORT /* override definition in errno.h */
416
+ #define EAFNOSUPPORT WSAEAFNOSUPPORT
417
+ #undef EADDRINUSE /* override definition in errno.h */
418
+ #define EADDRINUSE WSAEADDRINUSE
419
+ #undef EADDRNOTAVAIL /* override definition in errno.h */
420
+ #define EADDRNOTAVAIL WSAEADDRNOTAVAIL
421
+ #undef ENETDOWN /* override definition in errno.h */
422
+ #define ENETDOWN WSAENETDOWN
423
+ #undef ENETUNREACH /* override definition in errno.h */
424
+ #define ENETUNREACH WSAENETUNREACH
425
+ #undef ENETRESET /* override definition in errno.h */
426
+ #define ENETRESET WSAENETRESET
427
+ #undef ECONNABORTED /* override definition in errno.h */
428
+ #define ECONNABORTED WSAECONNABORTED
429
+ #undef ECONNRESET /* override definition in errno.h */
430
+ #define ECONNRESET WSAECONNRESET
431
+ #undef ENOBUFS /* override definition in errno.h */
432
+ #define ENOBUFS WSAENOBUFS
433
+ #undef EISCONN /* override definition in errno.h */
434
+ #define EISCONN WSAEISCONN
435
+ #undef ENOTCONN /* override definition in errno.h */
436
+ #define ENOTCONN WSAENOTCONN
437
+ #define ESHUTDOWN WSAESHUTDOWN
438
+ #define ETOOMANYREFS WSAETOOMANYREFS
439
+ #undef ETIMEDOUT /* override definition in errno.h */
440
+ #define ETIMEDOUT WSAETIMEDOUT
441
+ #undef ECONNREFUSED /* override definition in errno.h */
442
+ #define ECONNREFUSED WSAECONNREFUSED
443
+ #undef ELOOP /* override definition in errno.h */
444
+ #define ELOOP WSAELOOP
445
+ #ifndef ENAMETOOLONG /* possible previous definition in errno.h */
446
+ #define ENAMETOOLONG WSAENAMETOOLONG
447
+ #endif
448
+ #define EHOSTDOWN WSAEHOSTDOWN
449
+ #undef EHOSTUNREACH /* override definition in errno.h */
450
+ #define EHOSTUNREACH WSAEHOSTUNREACH
451
+ #ifndef ENOTEMPTY /* possible previous definition in errno.h */
452
+ #define ENOTEMPTY WSAENOTEMPTY
453
+ #endif
454
+ #define EPROCLIM WSAEPROCLIM
455
+ #define EUSERS WSAEUSERS
456
+ #define EDQUOT WSAEDQUOT
457
+ #define ESTALE WSAESTALE
458
+ #define EREMOTE WSAEREMOTE
459
+ #endif
460
+
461
+
462
+ /*
463
+ * System error codes for Windows CE
464
+ */
465
+
466
+ #if defined(WIN32) && !defined(HAVE_ERRNO_H)
467
+ #define ENOENT ERROR_FILE_NOT_FOUND
468
+ #define ESRCH ERROR_PATH_NOT_FOUND
469
+ #define ENOMEM ERROR_NOT_ENOUGH_MEMORY
470
+ #define ENOSPC ERROR_INVALID_PARAMETER
471
+ #endif
472
+
473
+
474
+ /*
475
+ * Actually use __32_getpwuid() on 64-bit VMS builds for getpwuid()
476
+ */
477
+
478
+ #if defined(__VMS) && \
479
+ defined(__INITIAL_POINTER_SIZE) && (__INITIAL_POINTER_SIZE == 64)
480
+ #define getpwuid __32_getpwuid
481
+ #endif
482
+
483
+
484
+ /*
485
+ * Macro argv_item_t hides platform details to code using it.
486
+ */
487
+
488
+ #ifdef __VMS
489
+ #define argv_item_t __char_ptr32
490
+ #else
491
+ #define argv_item_t char *
492
+ #endif
493
+
494
+
495
+ /*
496
+ * We use this ZERO_NULL to avoid picky compiler warnings,
497
+ * when assigning a NULL pointer to a function pointer var.
498
+ */
499
+
500
+ #define ZERO_NULL 0
501
+
502
+
503
+ #endif /* __SETUP_ONCE_H */
504
+