grpc 0.12.0 → 0.13.0.pre1.1

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of grpc might be problematic. Click here for more details.

Files changed (673) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +5707 -22222
  3. data/include/grpc/byte_buffer.h +2 -83
  4. data/include/grpc/census.h +191 -121
  5. data/include/grpc/compression.h +14 -38
  6. data/include/grpc/grpc.h +88 -434
  7. data/include/grpc/grpc_security.h +76 -46
  8. data/include/grpc/grpc_zookeeper.h +1 -1
  9. data/include/grpc/impl/codegen/alloc.h +74 -0
  10. data/include/grpc/impl/codegen/atm.h +92 -0
  11. data/include/grpc/impl/codegen/atm_gcc_atomic.h +72 -0
  12. data/include/grpc/impl/codegen/atm_gcc_sync.h +87 -0
  13. data/include/grpc/impl/codegen/atm_win32.h +125 -0
  14. data/include/grpc/impl/codegen/byte_buffer.h +121 -0
  15. data/include/grpc/impl/codegen/compression_types.h +73 -0
  16. data/include/grpc/impl/codegen/connectivity_state.h +59 -0
  17. data/include/grpc/impl/codegen/grpc_types.h +373 -0
  18. data/include/grpc/impl/codegen/log.h +110 -0
  19. data/include/grpc/impl/codegen/port_platform.h +362 -0
  20. data/include/grpc/impl/codegen/propagation_bits.h +67 -0
  21. data/include/grpc/impl/codegen/slice.h +182 -0
  22. data/include/grpc/impl/codegen/slice_buffer.h +105 -0
  23. data/include/grpc/impl/codegen/status.h +163 -0
  24. data/include/grpc/impl/codegen/sync.h +316 -0
  25. data/include/grpc/impl/codegen/sync_generic.h +55 -0
  26. data/{src/core/census/context.h → include/grpc/impl/codegen/sync_posix.h} +11 -11
  27. data/include/grpc/impl/codegen/sync_win32.h +49 -0
  28. data/include/grpc/impl/codegen/time.h +132 -0
  29. data/include/grpc/status.h +2 -126
  30. data/include/grpc/support/alloc.h +2 -35
  31. data/include/grpc/support/atm.h +2 -55
  32. data/include/grpc/support/atm_gcc_atomic.h +5 -38
  33. data/include/grpc/support/atm_gcc_sync.h +2 -50
  34. data/include/grpc/support/atm_win32.h +2 -88
  35. data/include/grpc/support/avl.h +7 -7
  36. data/include/grpc/support/cmdline.h +15 -13
  37. data/include/grpc/support/cpu.h +5 -3
  38. data/include/grpc/support/histogram.h +23 -20
  39. data/include/grpc/support/host_port.h +5 -3
  40. data/include/grpc/support/log.h +2 -71
  41. data/include/grpc/support/log_win32.h +2 -2
  42. data/include/grpc/support/port_platform.h +2 -319
  43. data/include/grpc/support/slice.h +2 -145
  44. data/include/grpc/support/slice_buffer.h +2 -65
  45. data/include/grpc/support/string_util.h +3 -3
  46. data/include/grpc/support/subprocess.h +8 -6
  47. data/include/grpc/support/sync.h +2 -278
  48. data/include/grpc/support/sync_generic.h +2 -18
  49. data/include/grpc/support/sync_posix.h +2 -10
  50. data/include/grpc/support/sync_win32.h +2 -12
  51. data/include/grpc/support/thd.h +11 -11
  52. data/include/grpc/support/time.h +2 -91
  53. data/include/grpc/support/tls.h +1 -1
  54. data/include/grpc/support/tls_gcc.h +1 -1
  55. data/include/grpc/support/tls_msvc.h +1 -1
  56. data/include/grpc/support/tls_pthread.h +2 -2
  57. data/src/boringssl/err_data.c +1252 -0
  58. data/src/core/census/context.c +492 -8
  59. data/src/core/census/grpc_filter.c +3 -3
  60. data/src/core/census/initialize.c +4 -7
  61. data/src/core/census/operation.c +2 -2
  62. data/src/core/census/placeholders.c +109 -0
  63. data/src/core/census/rpc_metric_id.h +6 -6
  64. data/src/core/census/tracing.c +1 -1
  65. data/src/core/channel/channel_args.c +4 -3
  66. data/src/core/channel/channel_stack.c +1 -1
  67. data/src/core/channel/client_channel.c +18 -14
  68. data/src/core/channel/client_uchannel.c +3 -3
  69. data/src/core/channel/compress_filter.c +8 -8
  70. data/src/core/channel/http_client_filter.c +2 -2
  71. data/src/core/channel/http_server_filter.c +9 -9
  72. data/src/core/channel/subchannel_call_holder.c +12 -10
  73. data/src/core/client_config/lb_policies/pick_first.c +49 -31
  74. data/src/core/client_config/lb_policies/round_robin.c +7 -7
  75. data/src/core/client_config/resolvers/dns_resolver.c +3 -3
  76. data/src/core/client_config/resolvers/sockaddr_resolver.c +5 -5
  77. data/src/core/client_config/subchannel.c +36 -25
  78. data/src/core/compression/algorithm.c +3 -3
  79. data/src/core/httpcli/format_request.c +1 -1
  80. data/src/core/httpcli/httpcli.c +5 -5
  81. data/src/core/httpcli/httpcli_security_connector.c +2 -3
  82. data/src/core/httpcli/parser.c +7 -7
  83. data/src/core/httpcli/parser.h +1 -1
  84. data/src/core/iomgr/closure.c +7 -7
  85. data/src/core/iomgr/closure.h +6 -5
  86. data/src/core/iomgr/exec_ctx.c +12 -8
  87. data/src/core/iomgr/exec_ctx.h +12 -5
  88. data/src/core/iomgr/executor.c +4 -4
  89. data/src/core/iomgr/executor.h +2 -2
  90. data/src/core/iomgr/fd_posix.c +28 -17
  91. data/src/core/iomgr/fd_posix.h +7 -4
  92. data/src/core/iomgr/iocp_windows.c +6 -8
  93. data/src/core/iomgr/pollset_multipoller_with_epoll.c +70 -5
  94. data/src/core/iomgr/pollset_multipoller_with_poll_posix.c +4 -2
  95. data/src/core/iomgr/pollset_posix.c +15 -15
  96. data/src/core/iomgr/pollset_posix.h +4 -2
  97. data/src/core/iomgr/pollset_windows.c +3 -12
  98. data/src/core/iomgr/resolve_address_posix.c +2 -2
  99. data/src/core/iomgr/resolve_address_windows.c +2 -2
  100. data/src/core/iomgr/sockaddr_utils.c +6 -6
  101. data/src/core/iomgr/sockaddr_win32.h +1 -6
  102. data/src/core/iomgr/tcp_client_posix.c +7 -7
  103. data/src/core/iomgr/tcp_client_windows.c +4 -4
  104. data/src/core/iomgr/tcp_posix.c +14 -8
  105. data/src/core/iomgr/tcp_posix.h +7 -1
  106. data/src/core/iomgr/tcp_server.h +40 -20
  107. data/src/core/iomgr/tcp_server_posix.c +106 -49
  108. data/src/core/iomgr/tcp_server_windows.c +98 -49
  109. data/src/core/iomgr/tcp_windows.c +11 -15
  110. data/src/core/iomgr/timer.c +8 -8
  111. data/src/core/iomgr/timer.h +1 -1
  112. data/src/core/iomgr/timer_heap.c +10 -10
  113. data/src/core/iomgr/timer_heap.h +2 -2
  114. data/src/core/iomgr/udp_server.c +2 -12
  115. data/src/core/iomgr/udp_server.h +1 -9
  116. data/src/core/iomgr/workqueue.h +2 -4
  117. data/src/core/iomgr/workqueue_posix.c +3 -3
  118. data/src/core/json/json_reader.c +11 -12
  119. data/src/core/json/json_reader.h +4 -4
  120. data/src/core/json/json_string.c +19 -19
  121. data/src/core/json/json_writer.c +7 -9
  122. data/src/core/profiling/basic_timers.c +1 -1
  123. data/src/core/security/base64.c +9 -9
  124. data/src/core/security/client_auth_filter.c +4 -4
  125. data/src/core/security/credentials.c +5 -5
  126. data/src/core/security/google_default_credentials.c +3 -3
  127. data/src/core/security/handshake.c +6 -5
  128. data/src/core/security/json_token.c +13 -7
  129. data/src/core/security/jwt_verifier.c +3 -2
  130. data/src/core/security/secure_endpoint.c +16 -16
  131. data/src/core/security/security_connector.c +47 -17
  132. data/src/core/security/security_connector.h +5 -5
  133. data/src/core/security/server_auth_filter.c +3 -3
  134. data/src/core/security/server_secure_chttp2.c +30 -31
  135. data/src/core/statistics/census_interface.h +2 -2
  136. data/src/core/statistics/census_rpc_stats.h +3 -3
  137. data/src/core/support/alloc.c +1 -1
  138. data/src/core/support/cpu_posix.c +2 -2
  139. data/src/core/support/env_linux.c +12 -2
  140. data/src/core/support/env_win32.c +15 -7
  141. data/src/core/support/histogram.c +5 -5
  142. data/src/core/support/log_posix.c +1 -1
  143. data/src/core/support/log_win32.c +4 -3
  144. data/src/core/support/murmur_hash.c +11 -11
  145. data/src/core/support/murmur_hash.h +1 -1
  146. data/src/core/support/slice.c +11 -11
  147. data/src/core/support/slice_buffer.c +6 -6
  148. data/src/core/support/stack_lockfree.c +20 -10
  149. data/src/core/support/string.c +15 -15
  150. data/src/core/support/string.h +5 -5
  151. data/src/core/support/string_win32.c +5 -5
  152. data/src/core/support/subprocess_windows.c +141 -0
  153. data/src/core/support/sync.c +4 -4
  154. data/src/core/support/sync_posix.c +2 -2
  155. data/src/core/support/sync_win32.c +10 -5
  156. data/src/core/support/time.c +29 -29
  157. data/src/core/support/time_posix.c +15 -6
  158. data/src/core/support/time_precise.c +2 -2
  159. data/src/core/support/time_win32.c +18 -9
  160. data/src/core/support/tls_pthread.c +1 -1
  161. data/src/core/support/wrap_memcpy.c +53 -0
  162. data/src/core/surface/alarm.c +83 -0
  163. data/src/core/surface/byte_buffer_reader.c +1 -1
  164. data/src/core/surface/call.c +78 -69
  165. data/src/core/surface/call.h +2 -2
  166. data/src/core/surface/call_test_only.h +2 -2
  167. data/src/core/surface/channel.c +9 -9
  168. data/src/core/surface/channel.h +1 -1
  169. data/src/core/surface/channel_connectivity.c +3 -3
  170. data/src/core/surface/channel_create.c +3 -3
  171. data/src/core/surface/channel_ping.c +2 -2
  172. data/src/core/surface/completion_queue.c +11 -12
  173. data/src/core/surface/completion_queue.h +1 -1
  174. data/src/core/surface/init.c +7 -5
  175. data/src/core/surface/lame_client.c +3 -3
  176. data/src/core/surface/secure_channel_create.c +3 -3
  177. data/src/core/surface/server.c +28 -28
  178. data/src/core/surface/server_chttp2.c +8 -8
  179. data/src/core/surface/server_create.c +1 -4
  180. data/src/core/surface/validate_metadata.c +3 -3
  181. data/src/core/surface/version.c +2 -2
  182. data/src/core/transport/byte_stream.c +8 -6
  183. data/src/core/transport/byte_stream.h +6 -5
  184. data/src/core/transport/chttp2/bin_encoder.c +29 -29
  185. data/src/core/transport/chttp2/frame_data.c +29 -26
  186. data/src/core/transport/chttp2/frame_data.h +6 -6
  187. data/src/core/transport/chttp2/frame_goaway.c +30 -30
  188. data/src/core/transport/chttp2/frame_goaway.h +6 -6
  189. data/src/core/transport/chttp2/frame_ping.c +6 -6
  190. data/src/core/transport/chttp2/frame_ping.h +5 -5
  191. data/src/core/transport/chttp2/frame_rst_stream.c +18 -19
  192. data/src/core/transport/chttp2/frame_rst_stream.h +4 -4
  193. data/src/core/transport/chttp2/frame_settings.c +30 -30
  194. data/src/core/transport/chttp2/frame_settings.h +13 -13
  195. data/src/core/transport/chttp2/frame_window_update.c +17 -18
  196. data/src/core/transport/chttp2/frame_window_update.h +5 -7
  197. data/src/core/transport/chttp2/hpack_encoder.c +69 -73
  198. data/src/core/transport/chttp2/hpack_encoder.h +16 -16
  199. data/src/core/transport/chttp2/hpack_parser.c +167 -167
  200. data/src/core/transport/chttp2/hpack_parser.h +16 -16
  201. data/src/core/transport/chttp2/hpack_table.c +13 -13
  202. data/src/core/transport/chttp2/hpack_table.h +11 -11
  203. data/src/core/transport/chttp2/internal.h +97 -86
  204. data/src/core/transport/chttp2/parsing.c +25 -25
  205. data/src/core/transport/chttp2/stream_lists.c +26 -3
  206. data/src/core/transport/chttp2/stream_map.c +13 -14
  207. data/src/core/transport/chttp2/stream_map.h +6 -7
  208. data/src/core/transport/chttp2/timeout_encoding.c +19 -16
  209. data/src/core/transport/chttp2/varint.c +8 -9
  210. data/src/core/transport/chttp2/varint.h +7 -8
  211. data/src/core/transport/chttp2/writing.c +26 -23
  212. data/src/core/transport/chttp2_transport.c +133 -92
  213. data/src/core/transport/connectivity_state.c +6 -6
  214. data/src/core/transport/metadata.c +18 -18
  215. data/src/core/transport/metadata.h +5 -5
  216. data/src/core/transport/static_metadata.c +15 -16
  217. data/src/core/transport/static_metadata.h +5 -5
  218. data/src/core/transport/transport.c +5 -5
  219. data/src/core/transport/transport.h +14 -1
  220. data/src/core/tsi/fake_transport_security.c +7 -7
  221. data/src/core/tsi/ssl_transport_security.c +6 -4
  222. data/src/core/tsi/ssl_types.h +55 -0
  223. data/src/ruby/ext/grpc/extconf.rb +51 -14
  224. data/src/ruby/ext/grpc/rb_byte_buffer.c +3 -1
  225. data/src/ruby/ext/grpc/rb_call.c +6 -3
  226. data/src/ruby/ext/grpc/rb_call_credentials.c +4 -0
  227. data/src/ruby/ext/grpc/rb_channel.c +4 -2
  228. data/src/ruby/ext/grpc/rb_channel_args.c +3 -1
  229. data/src/ruby/ext/grpc/rb_channel_credentials.c +3 -1
  230. data/src/ruby/ext/grpc/rb_completion_queue.c +3 -1
  231. data/src/ruby/ext/grpc/rb_event_thread.c +5 -0
  232. data/src/ruby/ext/grpc/rb_grpc.c +11 -3
  233. data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +560 -0
  234. data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +843 -0
  235. data/src/ruby/ext/grpc/rb_loader.c +72 -0
  236. data/src/ruby/ext/grpc/rb_loader.h +40 -0
  237. data/src/ruby/ext/grpc/rb_server.c +3 -1
  238. data/src/ruby/ext/grpc/rb_server_credentials.c +4 -2
  239. data/src/ruby/lib/grpc/generic/bidi_call.rb +1 -1
  240. data/src/ruby/lib/grpc/generic/rpc_desc.rb +1 -1
  241. data/src/ruby/lib/grpc/generic/rpc_server.rb +1 -1
  242. data/src/ruby/lib/grpc/grpc.rb +34 -0
  243. data/src/ruby/lib/grpc/version.rb +1 -1
  244. data/src/ruby/spec/pb/health/checker_spec.rb +1 -1
  245. data/third_party/boringssl/crypto/aes/aes.c +1142 -0
  246. data/third_party/boringssl/crypto/aes/internal.h +87 -0
  247. data/third_party/boringssl/crypto/aes/mode_wrappers.c +108 -0
  248. data/third_party/boringssl/crypto/asn1/a_bitstr.c +255 -0
  249. data/third_party/boringssl/crypto/asn1/a_bool.c +112 -0
  250. data/third_party/boringssl/crypto/asn1/a_bytes.c +317 -0
  251. data/third_party/boringssl/crypto/asn1/a_d2i_fp.c +286 -0
  252. data/third_party/boringssl/crypto/asn1/a_dup.c +103 -0
  253. data/third_party/boringssl/crypto/asn1/a_enum.c +183 -0
  254. data/third_party/boringssl/crypto/asn1/a_gentm.c +255 -0
  255. data/third_party/boringssl/crypto/asn1/a_i2d_fp.c +154 -0
  256. data/third_party/boringssl/crypto/asn1/a_int.c +456 -0
  257. data/third_party/boringssl/crypto/asn1/a_mbstr.c +390 -0
  258. data/third_party/boringssl/crypto/asn1/a_object.c +412 -0
  259. data/third_party/boringssl/crypto/asn1/a_octet.c +70 -0
  260. data/third_party/boringssl/crypto/asn1/a_print.c +119 -0
  261. data/third_party/boringssl/crypto/asn1/a_strnid.c +286 -0
  262. data/third_party/boringssl/crypto/asn1/a_time.c +221 -0
  263. data/third_party/boringssl/crypto/asn1/a_type.c +160 -0
  264. data/third_party/boringssl/crypto/asn1/a_utctm.c +342 -0
  265. data/third_party/boringssl/crypto/asn1/a_utf8.c +210 -0
  266. data/third_party/boringssl/crypto/asn1/asn1_lib.c +510 -0
  267. data/third_party/boringssl/crypto/asn1/asn1_locl.h +73 -0
  268. data/third_party/boringssl/crypto/asn1/asn1_par.c +444 -0
  269. data/third_party/boringssl/crypto/asn1/asn_pack.c +104 -0
  270. data/third_party/boringssl/crypto/asn1/bio_asn1.c +496 -0
  271. data/third_party/boringssl/crypto/asn1/bio_ndef.c +254 -0
  272. data/third_party/boringssl/crypto/asn1/f_enum.c +206 -0
  273. data/third_party/boringssl/crypto/asn1/f_int.c +210 -0
  274. data/third_party/boringssl/crypto/asn1/f_string.c +204 -0
  275. data/third_party/boringssl/crypto/asn1/t_bitst.c +102 -0
  276. data/third_party/boringssl/crypto/asn1/t_pkey.c +112 -0
  277. data/third_party/boringssl/crypto/asn1/tasn_dec.c +1342 -0
  278. data/third_party/boringssl/crypto/asn1/tasn_enc.c +695 -0
  279. data/third_party/boringssl/crypto/asn1/tasn_fre.c +264 -0
  280. data/third_party/boringssl/crypto/asn1/tasn_new.c +398 -0
  281. data/third_party/boringssl/crypto/asn1/tasn_prn.c +642 -0
  282. data/third_party/boringssl/crypto/asn1/tasn_typ.c +137 -0
  283. data/third_party/boringssl/crypto/asn1/tasn_utl.c +266 -0
  284. data/third_party/boringssl/crypto/asn1/x_bignum.c +143 -0
  285. data/third_party/boringssl/crypto/asn1/x_long.c +182 -0
  286. data/third_party/boringssl/crypto/base64/base64.c +478 -0
  287. data/third_party/boringssl/crypto/bio/bio.c +608 -0
  288. data/third_party/boringssl/crypto/bio/bio_mem.c +327 -0
  289. data/third_party/boringssl/crypto/bio/buffer.c +496 -0
  290. data/third_party/boringssl/crypto/bio/connect.c +544 -0
  291. data/third_party/boringssl/crypto/bio/fd.c +270 -0
  292. data/third_party/boringssl/crypto/bio/file.c +349 -0
  293. data/third_party/boringssl/crypto/bio/hexdump.c +192 -0
  294. data/third_party/boringssl/crypto/bio/internal.h +108 -0
  295. data/third_party/boringssl/crypto/bio/pair.c +803 -0
  296. data/third_party/boringssl/crypto/bio/printf.c +119 -0
  297. data/third_party/boringssl/crypto/bio/socket.c +195 -0
  298. data/third_party/boringssl/crypto/bio/socket_helper.c +113 -0
  299. data/third_party/boringssl/crypto/bn/add.c +377 -0
  300. data/third_party/boringssl/crypto/bn/asm/x86_64-gcc.c +599 -0
  301. data/third_party/boringssl/crypto/bn/bn.c +341 -0
  302. data/third_party/boringssl/crypto/bn/bn_asn1.c +93 -0
  303. data/third_party/boringssl/crypto/bn/cmp.c +200 -0
  304. data/third_party/boringssl/crypto/bn/convert.c +597 -0
  305. data/third_party/boringssl/crypto/bn/ctx.c +311 -0
  306. data/third_party/boringssl/crypto/bn/div.c +625 -0
  307. data/third_party/boringssl/crypto/bn/exponentiation.c +1544 -0
  308. data/third_party/boringssl/crypto/bn/gcd.c +711 -0
  309. data/third_party/boringssl/crypto/bn/generic.c +1019 -0
  310. data/third_party/boringssl/crypto/bn/internal.h +294 -0
  311. data/third_party/boringssl/crypto/bn/kronecker.c +175 -0
  312. data/third_party/boringssl/crypto/bn/montgomery.c +561 -0
  313. data/third_party/boringssl/crypto/bn/mul.c +888 -0
  314. data/third_party/boringssl/crypto/bn/prime.c +845 -0
  315. data/third_party/boringssl/crypto/bn/random.c +326 -0
  316. data/third_party/boringssl/crypto/bn/rsaz_exp.c +326 -0
  317. data/third_party/boringssl/crypto/bn/rsaz_exp.h +56 -0
  318. data/third_party/boringssl/crypto/bn/shift.c +299 -0
  319. data/third_party/boringssl/crypto/bn/sqrt.c +505 -0
  320. data/third_party/boringssl/crypto/buf/buf.c +235 -0
  321. data/third_party/boringssl/crypto/bytestring/ber.c +221 -0
  322. data/third_party/boringssl/crypto/bytestring/cbb.c +411 -0
  323. data/third_party/boringssl/crypto/bytestring/cbs.c +415 -0
  324. data/third_party/boringssl/crypto/bytestring/internal.h +46 -0
  325. data/third_party/boringssl/crypto/chacha/chacha_generic.c +140 -0
  326. data/third_party/boringssl/crypto/chacha/chacha_vec.c +323 -0
  327. data/third_party/boringssl/crypto/cipher/aead.c +167 -0
  328. data/third_party/boringssl/crypto/cipher/cipher.c +652 -0
  329. data/third_party/boringssl/crypto/cipher/derive_key.c +154 -0
  330. data/third_party/boringssl/crypto/cipher/e_aes.c +1767 -0
  331. data/third_party/boringssl/crypto/cipher/e_chacha20poly1305.c +311 -0
  332. data/third_party/boringssl/crypto/cipher/e_des.c +207 -0
  333. data/third_party/boringssl/crypto/cipher/e_null.c +85 -0
  334. data/third_party/boringssl/crypto/cipher/e_rc2.c +443 -0
  335. data/third_party/boringssl/crypto/cipher/e_rc4.c +87 -0
  336. data/third_party/boringssl/crypto/cipher/e_ssl3.c +463 -0
  337. data/third_party/boringssl/crypto/cipher/e_tls.c +673 -0
  338. data/third_party/boringssl/crypto/cipher/internal.h +164 -0
  339. data/third_party/boringssl/crypto/cipher/tls_cbc.c +495 -0
  340. data/third_party/boringssl/crypto/cmac/cmac.c +239 -0
  341. data/third_party/boringssl/crypto/conf/conf.c +778 -0
  342. data/third_party/boringssl/crypto/conf/conf_def.h +127 -0
  343. data/third_party/boringssl/crypto/conf/internal.h +31 -0
  344. data/third_party/boringssl/crypto/cpu-arm.c +199 -0
  345. data/third_party/boringssl/crypto/cpu-intel.c +261 -0
  346. data/third_party/boringssl/crypto/crypto.c +140 -0
  347. data/third_party/boringssl/crypto/curve25519/curve25519.c +4897 -0
  348. data/third_party/boringssl/crypto/des/des.c +771 -0
  349. data/third_party/boringssl/crypto/des/internal.h +212 -0
  350. data/third_party/boringssl/crypto/dh/check.c +180 -0
  351. data/third_party/boringssl/crypto/dh/dh.c +463 -0
  352. data/third_party/boringssl/crypto/dh/dh_asn1.c +84 -0
  353. data/third_party/boringssl/crypto/dh/internal.h +80 -0
  354. data/third_party/boringssl/crypto/dh/params.c +301 -0
  355. data/third_party/boringssl/crypto/digest/digest.c +248 -0
  356. data/third_party/boringssl/crypto/digest/digests.c +321 -0
  357. data/third_party/boringssl/crypto/digest/internal.h +112 -0
  358. data/third_party/boringssl/crypto/digest/md32_common.h +322 -0
  359. data/third_party/boringssl/crypto/directory.h +66 -0
  360. data/third_party/boringssl/crypto/directory_posix.c +108 -0
  361. data/third_party/boringssl/crypto/directory_win.c +144 -0
  362. data/third_party/boringssl/crypto/dsa/dsa.c +908 -0
  363. data/third_party/boringssl/crypto/dsa/dsa_asn1.c +150 -0
  364. data/third_party/boringssl/crypto/dsa/internal.h +78 -0
  365. data/third_party/boringssl/crypto/ec/ec.c +889 -0
  366. data/third_party/boringssl/crypto/ec/ec_asn1.c +586 -0
  367. data/third_party/boringssl/crypto/ec/ec_key.c +482 -0
  368. data/third_party/boringssl/crypto/ec/ec_montgomery.c +280 -0
  369. data/third_party/boringssl/crypto/ec/internal.h +318 -0
  370. data/third_party/boringssl/crypto/ec/oct.c +416 -0
  371. data/third_party/boringssl/crypto/ec/p224-64.c +1305 -0
  372. data/third_party/boringssl/crypto/ec/p256-64.c +1878 -0
  373. data/third_party/boringssl/crypto/ec/p256-x86_64-table.h +9548 -0
  374. data/third_party/boringssl/crypto/ec/p256-x86_64.c +596 -0
  375. data/third_party/boringssl/crypto/ec/simple.c +1313 -0
  376. data/third_party/boringssl/crypto/ec/util-64.c +183 -0
  377. data/third_party/boringssl/crypto/ec/wnaf.c +449 -0
  378. data/third_party/boringssl/crypto/ecdh/ecdh.c +153 -0
  379. data/third_party/boringssl/crypto/ecdsa/ecdsa.c +496 -0
  380. data/third_party/boringssl/crypto/ecdsa/ecdsa_asn1.c +240 -0
  381. data/third_party/boringssl/crypto/engine/engine.c +96 -0
  382. data/third_party/boringssl/crypto/err/err.c +756 -0
  383. data/third_party/boringssl/crypto/evp/algorithm.c +153 -0
  384. data/third_party/boringssl/crypto/evp/digestsign.c +159 -0
  385. data/third_party/boringssl/crypto/evp/evp.c +411 -0
  386. data/third_party/boringssl/crypto/evp/evp_asn1.c +179 -0
  387. data/third_party/boringssl/crypto/evp/evp_ctx.c +477 -0
  388. data/third_party/boringssl/crypto/evp/internal.h +278 -0
  389. data/third_party/boringssl/crypto/evp/p_dsa_asn1.c +588 -0
  390. data/third_party/boringssl/crypto/evp/p_ec.c +283 -0
  391. data/third_party/boringssl/crypto/evp/p_ec_asn1.c +562 -0
  392. data/third_party/boringssl/crypto/evp/p_rsa.c +596 -0
  393. data/third_party/boringssl/crypto/evp/p_rsa_asn1.c +737 -0
  394. data/third_party/boringssl/crypto/evp/pbkdf.c +151 -0
  395. data/third_party/boringssl/crypto/evp/sign.c +151 -0
  396. data/third_party/boringssl/crypto/ex_data.c +294 -0
  397. data/third_party/boringssl/crypto/hkdf/hkdf.c +89 -0
  398. data/third_party/boringssl/crypto/hmac/hmac.c +213 -0
  399. data/third_party/boringssl/crypto/internal.h +532 -0
  400. data/third_party/boringssl/crypto/lhash/lhash.c +346 -0
  401. data/third_party/boringssl/crypto/md4/md4.c +225 -0
  402. data/third_party/boringssl/crypto/md5/md5.c +275 -0
  403. data/third_party/boringssl/crypto/mem.c +200 -0
  404. data/third_party/boringssl/crypto/modes/cbc.c +216 -0
  405. data/third_party/boringssl/crypto/modes/cfb.c +231 -0
  406. data/third_party/boringssl/crypto/modes/ctr.c +226 -0
  407. data/third_party/boringssl/crypto/modes/gcm.c +1252 -0
  408. data/third_party/boringssl/crypto/modes/internal.h +370 -0
  409. data/third_party/boringssl/crypto/modes/ofb.c +108 -0
  410. data/third_party/boringssl/crypto/obj/obj.c +664 -0
  411. data/third_party/boringssl/crypto/obj/obj_dat.h +5257 -0
  412. data/third_party/boringssl/crypto/obj/obj_xref.c +124 -0
  413. data/third_party/boringssl/crypto/obj/obj_xref.h +96 -0
  414. data/third_party/boringssl/crypto/pem/pem_all.c +281 -0
  415. data/third_party/boringssl/crypto/pem/pem_info.c +404 -0
  416. data/third_party/boringssl/crypto/pem/pem_lib.c +835 -0
  417. data/third_party/boringssl/crypto/pem/pem_oth.c +89 -0
  418. data/third_party/boringssl/crypto/pem/pem_pk8.c +244 -0
  419. data/third_party/boringssl/crypto/pem/pem_pkey.c +312 -0
  420. data/third_party/boringssl/crypto/pem/pem_x509.c +65 -0
  421. data/third_party/boringssl/crypto/pem/pem_xaux.c +66 -0
  422. data/third_party/boringssl/crypto/pkcs8/internal.h +83 -0
  423. data/third_party/boringssl/crypto/pkcs8/p5_pbe.c +150 -0
  424. data/third_party/boringssl/crypto/pkcs8/p5_pbev2.c +440 -0
  425. data/third_party/boringssl/crypto/pkcs8/p8_pkey.c +85 -0
  426. data/third_party/boringssl/crypto/pkcs8/pkcs8.c +1217 -0
  427. data/third_party/boringssl/crypto/poly1305/poly1305.c +331 -0
  428. data/third_party/boringssl/crypto/poly1305/poly1305_arm.c +301 -0
  429. data/third_party/boringssl/crypto/poly1305/poly1305_vec.c +892 -0
  430. data/third_party/boringssl/crypto/rand/internal.h +32 -0
  431. data/third_party/boringssl/crypto/rand/rand.c +239 -0
  432. data/third_party/boringssl/crypto/rand/urandom.c +223 -0
  433. data/third_party/boringssl/crypto/rand/windows.c +56 -0
  434. data/third_party/boringssl/crypto/rc4/rc4.c +283 -0
  435. data/third_party/boringssl/crypto/refcount_c11.c +67 -0
  436. data/third_party/boringssl/crypto/refcount_lock.c +53 -0
  437. data/third_party/boringssl/crypto/rsa/blinding.c +462 -0
  438. data/third_party/boringssl/crypto/rsa/internal.h +164 -0
  439. data/third_party/boringssl/crypto/rsa/padding.c +711 -0
  440. data/third_party/boringssl/crypto/rsa/rsa.c +808 -0
  441. data/third_party/boringssl/crypto/rsa/rsa_asn1.c +473 -0
  442. data/third_party/boringssl/crypto/rsa/rsa_impl.c +1138 -0
  443. data/third_party/boringssl/crypto/sha/sha1.c +337 -0
  444. data/third_party/boringssl/crypto/sha/sha256.c +327 -0
  445. data/third_party/boringssl/crypto/sha/sha512.c +607 -0
  446. data/third_party/boringssl/crypto/stack/stack.c +386 -0
  447. data/third_party/boringssl/crypto/test/scoped_types.h +137 -0
  448. data/third_party/boringssl/crypto/test/test_util.h +35 -0
  449. data/third_party/boringssl/crypto/thread.c +101 -0
  450. data/third_party/boringssl/crypto/thread_none.c +55 -0
  451. data/third_party/boringssl/crypto/thread_pthread.c +167 -0
  452. data/third_party/boringssl/crypto/thread_win.c +282 -0
  453. data/third_party/boringssl/crypto/time_support.c +212 -0
  454. data/third_party/boringssl/crypto/x509/a_digest.c +97 -0
  455. data/third_party/boringssl/crypto/x509/a_sign.c +136 -0
  456. data/third_party/boringssl/crypto/x509/a_strex.c +564 -0
  457. data/third_party/boringssl/crypto/x509/a_verify.c +133 -0
  458. data/third_party/boringssl/crypto/x509/asn1_gen.c +873 -0
  459. data/third_party/boringssl/crypto/x509/by_dir.c +491 -0
  460. data/third_party/boringssl/crypto/x509/by_file.c +295 -0
  461. data/third_party/boringssl/crypto/x509/charmap.h +15 -0
  462. data/third_party/boringssl/crypto/x509/i2d_pr.c +84 -0
  463. data/third_party/boringssl/crypto/x509/pkcs7.c +353 -0
  464. data/third_party/boringssl/crypto/x509/t_crl.c +129 -0
  465. data/third_party/boringssl/crypto/x509/t_req.c +246 -0
  466. data/third_party/boringssl/crypto/x509/t_x509.c +500 -0
  467. data/third_party/boringssl/crypto/x509/t_x509a.c +109 -0
  468. data/third_party/boringssl/crypto/x509/vpm_int.h +70 -0
  469. data/third_party/boringssl/crypto/x509/x509.c +152 -0
  470. data/third_party/boringssl/crypto/x509/x509_att.c +353 -0
  471. data/third_party/boringssl/crypto/x509/x509_cmp.c +490 -0
  472. data/third_party/boringssl/crypto/x509/x509_d2.c +105 -0
  473. data/third_party/boringssl/crypto/x509/x509_def.c +88 -0
  474. data/third_party/boringssl/crypto/x509/x509_ext.c +206 -0
  475. data/third_party/boringssl/crypto/x509/x509_lu.c +738 -0
  476. data/third_party/boringssl/crypto/x509/x509_obj.c +191 -0
  477. data/third_party/boringssl/crypto/x509/x509_r2x.c +113 -0
  478. data/third_party/boringssl/crypto/x509/x509_req.c +315 -0
  479. data/third_party/boringssl/crypto/x509/x509_set.c +154 -0
  480. data/third_party/boringssl/crypto/x509/x509_trs.c +304 -0
  481. data/third_party/boringssl/crypto/x509/x509_txt.c +209 -0
  482. data/third_party/boringssl/crypto/x509/x509_v3.c +271 -0
  483. data/third_party/boringssl/crypto/x509/x509_vfy.c +2456 -0
  484. data/third_party/boringssl/crypto/x509/x509_vpm.c +672 -0
  485. data/third_party/boringssl/crypto/x509/x509cset.c +172 -0
  486. data/third_party/boringssl/crypto/x509/x509name.c +381 -0
  487. data/third_party/boringssl/crypto/x509/x509rset.c +80 -0
  488. data/third_party/boringssl/crypto/x509/x509spki.c +135 -0
  489. data/third_party/boringssl/crypto/x509/x509type.c +128 -0
  490. data/third_party/boringssl/crypto/x509/x_algor.c +154 -0
  491. data/third_party/boringssl/crypto/x509/x_all.c +547 -0
  492. data/third_party/boringssl/crypto/x509/x_attrib.c +117 -0
  493. data/third_party/boringssl/crypto/x509/x_crl.c +560 -0
  494. data/third_party/boringssl/crypto/x509/x_exten.c +75 -0
  495. data/third_party/boringssl/crypto/x509/x_info.c +95 -0
  496. data/third_party/boringssl/crypto/x509/x_name.c +538 -0
  497. data/third_party/boringssl/crypto/x509/x_pkey.c +100 -0
  498. data/third_party/boringssl/crypto/x509/x_pubkey.c +384 -0
  499. data/third_party/boringssl/crypto/x509/x_req.c +112 -0
  500. data/third_party/boringssl/crypto/x509/x_sig.c +69 -0
  501. data/third_party/boringssl/crypto/x509/x_spki.c +78 -0
  502. data/third_party/boringssl/crypto/x509/x_val.c +69 -0
  503. data/third_party/boringssl/crypto/x509/x_x509.c +227 -0
  504. data/third_party/boringssl/crypto/x509/x_x509a.c +197 -0
  505. data/third_party/boringssl/crypto/x509v3/ext_dat.h +129 -0
  506. data/third_party/boringssl/crypto/x509v3/pcy_cache.c +299 -0
  507. data/third_party/boringssl/crypto/x509v3/pcy_data.c +137 -0
  508. data/third_party/boringssl/crypto/x509v3/pcy_int.h +212 -0
  509. data/third_party/boringssl/crypto/x509v3/pcy_lib.c +165 -0
  510. data/third_party/boringssl/crypto/x509v3/pcy_map.c +133 -0
  511. data/third_party/boringssl/crypto/x509v3/pcy_node.c +197 -0
  512. data/third_party/boringssl/crypto/x509v3/pcy_tree.c +876 -0
  513. data/third_party/boringssl/crypto/x509v3/v3_akey.c +212 -0
  514. data/third_party/boringssl/crypto/x509v3/v3_akeya.c +71 -0
  515. data/third_party/boringssl/crypto/x509v3/v3_alt.c +622 -0
  516. data/third_party/boringssl/crypto/x509v3/v3_bcons.c +126 -0
  517. data/third_party/boringssl/crypto/x509v3/v3_bitst.c +141 -0
  518. data/third_party/boringssl/crypto/x509v3/v3_conf.c +459 -0
  519. data/third_party/boringssl/crypto/x509v3/v3_cpols.c +475 -0
  520. data/third_party/boringssl/crypto/x509v3/v3_crld.c +616 -0
  521. data/third_party/boringssl/crypto/x509v3/v3_enum.c +98 -0
  522. data/third_party/boringssl/crypto/x509v3/v3_extku.c +145 -0
  523. data/third_party/boringssl/crypto/x509v3/v3_genn.c +252 -0
  524. data/third_party/boringssl/crypto/x509v3/v3_ia5.c +117 -0
  525. data/third_party/boringssl/crypto/x509v3/v3_info.c +200 -0
  526. data/third_party/boringssl/crypto/x509v3/v3_int.c +87 -0
  527. data/third_party/boringssl/crypto/x509v3/v3_lib.c +335 -0
  528. data/third_party/boringssl/crypto/x509v3/v3_ncons.c +510 -0
  529. data/third_party/boringssl/crypto/x509v3/v3_pci.c +335 -0
  530. data/third_party/boringssl/crypto/x509v3/v3_pcia.c +56 -0
  531. data/third_party/boringssl/crypto/x509v3/v3_pcons.c +142 -0
  532. data/third_party/boringssl/crypto/x509v3/v3_pku.c +109 -0
  533. data/third_party/boringssl/crypto/x509v3/v3_pmaps.c +156 -0
  534. data/third_party/boringssl/crypto/x509v3/v3_prn.c +207 -0
  535. data/third_party/boringssl/crypto/x509v3/v3_purp.c +805 -0
  536. data/third_party/boringssl/crypto/x509v3/v3_skey.c +148 -0
  537. data/third_party/boringssl/crypto/x509v3/v3_sxnet.c +266 -0
  538. data/third_party/boringssl/crypto/x509v3/v3_utl.c +1322 -0
  539. data/third_party/boringssl/include/openssl/aead.h +346 -0
  540. data/third_party/boringssl/include/openssl/aes.h +158 -0
  541. data/third_party/boringssl/include/openssl/arm_arch.h +127 -0
  542. data/third_party/boringssl/include/openssl/asn1.h +1168 -0
  543. data/third_party/boringssl/include/openssl/asn1_mac.h +75 -0
  544. data/third_party/boringssl/include/openssl/asn1t.h +906 -0
  545. data/third_party/boringssl/include/openssl/base.h +261 -0
  546. data/third_party/boringssl/include/openssl/base64.h +184 -0
  547. data/third_party/boringssl/include/openssl/bio.h +902 -0
  548. data/third_party/boringssl/include/openssl/blowfish.h +93 -0
  549. data/third_party/boringssl/include/openssl/bn.h +885 -0
  550. data/third_party/boringssl/include/openssl/buf.h +118 -0
  551. data/third_party/boringssl/include/openssl/buffer.h +18 -0
  552. data/third_party/boringssl/include/openssl/bytestring.h +360 -0
  553. data/third_party/boringssl/include/openssl/cast.h +96 -0
  554. data/third_party/boringssl/include/openssl/chacha.h +37 -0
  555. data/third_party/boringssl/include/openssl/cipher.h +571 -0
  556. data/third_party/boringssl/include/openssl/cmac.h +76 -0
  557. data/third_party/boringssl/include/openssl/conf.h +145 -0
  558. data/third_party/boringssl/include/openssl/cpu.h +184 -0
  559. data/third_party/boringssl/include/openssl/crypto.h +68 -0
  560. data/third_party/boringssl/include/openssl/curve25519.h +88 -0
  561. data/third_party/boringssl/include/openssl/des.h +177 -0
  562. data/third_party/boringssl/include/openssl/dh.h +238 -0
  563. data/third_party/boringssl/include/openssl/digest.h +258 -0
  564. data/third_party/boringssl/include/openssl/dsa.h +343 -0
  565. data/third_party/boringssl/include/openssl/dtls1.h +16 -0
  566. data/third_party/boringssl/include/openssl/ec.h +355 -0
  567. data/third_party/boringssl/include/openssl/ec_key.h +280 -0
  568. data/third_party/boringssl/include/openssl/ecdh.h +102 -0
  569. data/third_party/boringssl/include/openssl/ecdsa.h +206 -0
  570. data/third_party/boringssl/include/openssl/engine.h +98 -0
  571. data/third_party/boringssl/include/openssl/err.h +487 -0
  572. data/third_party/boringssl/include/openssl/evp.h +750 -0
  573. data/third_party/boringssl/include/openssl/ex_data.h +213 -0
  574. data/third_party/boringssl/include/openssl/hkdf.h +44 -0
  575. data/third_party/boringssl/include/openssl/hmac.h +160 -0
  576. data/third_party/boringssl/include/openssl/lhash.h +192 -0
  577. data/third_party/boringssl/include/openssl/lhash_macros.h +132 -0
  578. data/third_party/boringssl/include/openssl/md4.h +102 -0
  579. data/third_party/boringssl/include/openssl/md5.h +107 -0
  580. data/third_party/boringssl/include/openssl/mem.h +140 -0
  581. data/third_party/boringssl/include/openssl/obj.h +198 -0
  582. data/third_party/boringssl/include/openssl/obj_mac.h +4140 -0
  583. data/third_party/boringssl/include/openssl/objects.h +18 -0
  584. data/third_party/boringssl/include/openssl/opensslfeatures.h +60 -0
  585. data/third_party/boringssl/include/openssl/opensslv.h +18 -0
  586. data/third_party/boringssl/include/openssl/ossl_typ.h +18 -0
  587. data/third_party/boringssl/include/openssl/pem.h +521 -0
  588. data/third_party/boringssl/include/openssl/pkcs12.h +18 -0
  589. data/third_party/boringssl/include/openssl/pkcs7.h +16 -0
  590. data/third_party/boringssl/include/openssl/pkcs8.h +220 -0
  591. data/third_party/boringssl/include/openssl/poly1305.h +51 -0
  592. data/third_party/boringssl/include/openssl/pqueue.h +146 -0
  593. data/third_party/boringssl/include/openssl/rand.h +113 -0
  594. data/third_party/boringssl/include/openssl/rc4.h +90 -0
  595. data/third_party/boringssl/include/openssl/rsa.h +637 -0
  596. data/third_party/boringssl/include/openssl/safestack.h +16 -0
  597. data/third_party/boringssl/include/openssl/sha.h +256 -0
  598. data/third_party/boringssl/include/openssl/srtp.h +18 -0
  599. data/third_party/boringssl/include/openssl/ssl.h +4466 -0
  600. data/third_party/boringssl/include/openssl/ssl3.h +441 -0
  601. data/third_party/boringssl/include/openssl/stack.h +298 -0
  602. data/third_party/boringssl/include/openssl/stack_macros.h +4190 -0
  603. data/third_party/boringssl/include/openssl/thread.h +173 -0
  604. data/third_party/boringssl/include/openssl/time_support.h +90 -0
  605. data/third_party/boringssl/include/openssl/tls1.h +653 -0
  606. data/third_party/boringssl/include/openssl/type_check.h +91 -0
  607. data/third_party/boringssl/include/openssl/x509.h +1258 -0
  608. data/third_party/boringssl/include/openssl/x509_vfy.h +611 -0
  609. data/third_party/boringssl/include/openssl/x509v3.h +798 -0
  610. data/third_party/boringssl/ssl/custom_extensions.c +257 -0
  611. data/third_party/boringssl/ssl/d1_both.c +880 -0
  612. data/third_party/boringssl/ssl/d1_clnt.c +566 -0
  613. data/third_party/boringssl/ssl/d1_lib.c +340 -0
  614. data/third_party/boringssl/ssl/d1_meth.c +130 -0
  615. data/third_party/boringssl/ssl/d1_pkt.c +578 -0
  616. data/third_party/boringssl/ssl/d1_srtp.c +234 -0
  617. data/third_party/boringssl/ssl/d1_srvr.c +485 -0
  618. data/third_party/boringssl/ssl/dtls_record.c +308 -0
  619. data/third_party/boringssl/ssl/internal.h +1276 -0
  620. data/third_party/boringssl/ssl/pqueue/pqueue.c +197 -0
  621. data/third_party/boringssl/ssl/s3_both.c +571 -0
  622. data/third_party/boringssl/ssl/s3_clnt.c +2241 -0
  623. data/third_party/boringssl/ssl/s3_enc.c +494 -0
  624. data/third_party/boringssl/ssl/s3_lib.c +587 -0
  625. data/third_party/boringssl/ssl/s3_meth.c +166 -0
  626. data/third_party/boringssl/ssl/s3_pkt.c +732 -0
  627. data/third_party/boringssl/ssl/s3_srvr.c +2536 -0
  628. data/third_party/boringssl/ssl/ssl_aead_ctx.c +300 -0
  629. data/third_party/boringssl/ssl/ssl_asn1.c +718 -0
  630. data/third_party/boringssl/ssl/ssl_buffer.c +319 -0
  631. data/third_party/boringssl/ssl/ssl_cert.c +539 -0
  632. data/third_party/boringssl/ssl/ssl_cipher.c +2003 -0
  633. data/third_party/boringssl/ssl/ssl_file.c +633 -0
  634. data/third_party/boringssl/ssl/ssl_lib.c +2653 -0
  635. data/third_party/boringssl/ssl/ssl_rsa.c +423 -0
  636. data/third_party/boringssl/ssl/ssl_session.c +764 -0
  637. data/third_party/boringssl/ssl/ssl_stat.c +591 -0
  638. data/third_party/boringssl/ssl/t1_enc.c +708 -0
  639. data/third_party/boringssl/ssl/t1_lib.c +2905 -0
  640. data/third_party/boringssl/ssl/test/async_bio.h +45 -0
  641. data/third_party/boringssl/ssl/test/packeted_bio.h +44 -0
  642. data/third_party/boringssl/ssl/test/scoped_types.h +28 -0
  643. data/third_party/boringssl/ssl/test/test_config.h +108 -0
  644. data/third_party/boringssl/ssl/tls_record.c +342 -0
  645. data/third_party/zlib/adler32.c +179 -0
  646. data/third_party/zlib/compress.c +80 -0
  647. data/third_party/zlib/crc32.c +425 -0
  648. data/third_party/zlib/crc32.h +441 -0
  649. data/third_party/zlib/deflate.c +1967 -0
  650. data/third_party/zlib/deflate.h +346 -0
  651. data/third_party/zlib/gzclose.c +25 -0
  652. data/third_party/zlib/gzguts.h +209 -0
  653. data/third_party/zlib/gzlib.c +634 -0
  654. data/third_party/zlib/gzread.c +594 -0
  655. data/third_party/zlib/gzwrite.c +577 -0
  656. data/third_party/zlib/infback.c +640 -0
  657. data/third_party/zlib/inffast.c +340 -0
  658. data/third_party/zlib/inffast.h +11 -0
  659. data/third_party/zlib/inffixed.h +94 -0
  660. data/third_party/zlib/inflate.c +1512 -0
  661. data/third_party/zlib/inflate.h +122 -0
  662. data/third_party/zlib/inftrees.c +306 -0
  663. data/third_party/zlib/inftrees.h +62 -0
  664. data/third_party/zlib/trees.c +1226 -0
  665. data/third_party/zlib/trees.h +128 -0
  666. data/third_party/zlib/uncompr.c +59 -0
  667. data/third_party/zlib/zconf.h +511 -0
  668. data/third_party/zlib/zlib.h +1768 -0
  669. data/third_party/zlib/zutil.c +324 -0
  670. data/third_party/zlib/zutil.h +253 -0
  671. metadata +492 -25
  672. data/Rakefile +0 -63
  673. data/src/ruby/lib/grpc/grpc.so +0 -0
@@ -0,0 +1,55 @@
1
+ /*
2
+ *
3
+ * Copyright 2015, Google Inc.
4
+ * All rights reserved.
5
+ *
6
+ * Redistribution and use in source and binary forms, with or without
7
+ * modification, are permitted provided that the following conditions are
8
+ * met:
9
+ *
10
+ * * Redistributions of source code must retain the above copyright
11
+ * notice, this list of conditions and the following disclaimer.
12
+ * * Redistributions in binary form must reproduce the above
13
+ * copyright notice, this list of conditions and the following disclaimer
14
+ * in the documentation and/or other materials provided with the
15
+ * distribution.
16
+ * * Neither the name of Google Inc. nor the names of its
17
+ * contributors may be used to endorse or promote products derived from
18
+ * this software without specific prior written permission.
19
+ *
20
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
24
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31
+ *
32
+ */
33
+
34
+ #ifndef GRPC_INTERNAL_CORE_TSI_SSL_TYPES_H
35
+ #define GRPC_INTERNAL_CORE_TSI_SSL_TYPES_H
36
+
37
+ /* A collection of macros to cast between various integer types that are
38
+ * used differently between BoringSSL and OpenSSL:
39
+ * TSI_INT_AS_SIZE(x): convert 'int x' to a length parameter for an OpenSSL
40
+ * function
41
+ * TSI_SIZE_AS_SIZE(x): convert 'size_t x' to a length parameter for an OpenSSL
42
+ * function
43
+ */
44
+
45
+ #include <openssl/ssl.h>
46
+
47
+ #ifdef OPENSSL_IS_BORINGSSL
48
+ #define TSI_INT_AS_SIZE(x) ((size_t)(x))
49
+ #define TSI_SIZE_AS_SIZE(x) (x)
50
+ #else
51
+ #define TSI_INT_AS_SIZE(x) (x)
52
+ #define TSI_SIZE_AS_SIZE(x) ((int)(x))
53
+ #endif
54
+
55
+ #endif
@@ -1,4 +1,4 @@
1
- # Copyright 2015, Google Inc.
1
+ # Copyright 2015-2016, Google Inc.
2
2
  # All rights reserved.
3
3
  #
4
4
  # Redistribution and use in source and binary forms, with or without
@@ -54,8 +54,7 @@ LIB_DIRS = [
54
54
  LIBDIR
55
55
  ]
56
56
 
57
- fail 'libdl not found' unless have_library('dl', 'dlopen')
58
- fail 'zlib not found' unless have_library('z', 'inflate')
57
+ windows = RUBY_PLATFORM =~ /mingw|mswin/
59
58
 
60
59
  grpc_root = File.expand_path(File.join(File.dirname(__FILE__), '../../../..'))
61
60
 
@@ -64,29 +63,67 @@ grpc_config = ENV['GRPC_CONFIG'] || 'opt'
64
63
  if ENV.key?('GRPC_LIB_DIR')
65
64
  grpc_lib_dir = File.join(grpc_root, ENV['GRPC_LIB_DIR'])
66
65
  else
67
- grpc_lib_dir = File.join(File.join(grpc_root, 'libs'), grpc_config)
66
+ grpc_lib_dir = File.join(grpc_root, 'libs', grpc_config)
68
67
  end
69
68
 
70
- unless File.exist?(File.join(grpc_lib_dir, 'libgrpc.a'))
71
- print "Building internal gRPC\n"
72
- system("make -C #{grpc_root} static_c CONFIG=#{grpc_config}")
69
+ ENV['MACOSX_DEPLOYMENT_TARGET'] = '10.7'
70
+
71
+ unless File.exist?(File.join(grpc_lib_dir, 'libgrpc.a')) or windows
72
+ ENV['AR'] = RbConfig::CONFIG['AR'] + ' rcs'
73
+ ENV['CC'] = RbConfig::CONFIG['CC']
74
+ ENV['LD'] = ENV['CC']
75
+
76
+ ENV['AR'] = 'libtool -o' if RUBY_PLATFORM =~ /darwin/
77
+
78
+ ENV['EMBED_OPENSSL'] = 'true'
79
+ ENV['EMBED_ZLIB'] = 'true'
80
+ ENV['ARCH_FLAGS'] = RbConfig::CONFIG['ARCH_FLAG']
81
+ ENV['ARCH_FLAGS'] = '-arch i386 -arch x86_64' if RUBY_PLATFORM =~ /darwin/
82
+
83
+ output_dir = File.expand_path(RbConfig::CONFIG['topdir'])
84
+ grpc_lib_dir = File.join(output_dir, 'libs', grpc_config)
85
+ ENV['BUILDDIR'] = output_dir
86
+
87
+ puts 'Building internal gRPC into ' + grpc_lib_dir
88
+ system("make -j -C #{grpc_root} #{grpc_lib_dir}/libgrpc.a CONFIG=#{grpc_config}")
89
+ exit 1 unless $? == 0
73
90
  end
74
91
 
75
92
  $CFLAGS << ' -I' + File.join(grpc_root, 'include')
76
- $LDFLAGS << ' ' + File.join(grpc_lib_dir, 'libgrpc.a')
77
- $LDFLAGS << ' ' + File.join(grpc_lib_dir, 'libgpr.a')
93
+ $LDFLAGS << ' ' + File.join(grpc_lib_dir, 'libgrpc.a') unless windows
78
94
  if grpc_config == 'gcov'
79
95
  $CFLAGS << ' -O0 -fprofile-arcs -ftest-coverage'
80
96
  $LDFLAGS << ' -fprofile-arcs -ftest-coverage -rdynamic'
81
97
  end
82
98
 
99
+ $LDFLAGS << ' -Wl,-wrap,memcpy' if RUBY_PLATFORM =~ /linux/
100
+ $LDFLAGS << ' -static' if windows
101
+
83
102
  $CFLAGS << ' -std=c99 '
84
103
  $CFLAGS << ' -Wall '
85
104
  $CFLAGS << ' -Wextra '
86
105
  $CFLAGS << ' -pedantic '
87
106
  $CFLAGS << ' -Werror '
88
-
89
- $LDFLAGS << ' -lssl '
90
- $LDFLAGS << ' -lcrypto '
91
-
92
- create_makefile('grpc/grpc')
107
+ $CFLAGS << ' -Wno-format '
108
+
109
+ output = File.join('grpc', 'grpc_c')
110
+ puts 'Generating Makefile for ' + output
111
+ create_makefile(output)
112
+
113
+ strip_tool = RbConfig::CONFIG['STRIP']
114
+ strip_tool = 'strip -x' if RUBY_PLATFORM =~ /darwin/
115
+
116
+ if grpc_config == 'opt'
117
+ File.open('Makefile.new', 'w') do |o|
118
+ o.puts 'hijack: all strip'
119
+ o.puts
120
+ File.foreach('Makefile') do |i|
121
+ o.puts i
122
+ end
123
+ o.puts
124
+ o.puts 'strip:'
125
+ o.puts "\t$(ECHO) Stripping $(DLLIB)"
126
+ o.puts "\t$(Q) #{strip_tool} $(DLLIB)"
127
+ end
128
+ File.rename('Makefile.new', 'Makefile')
129
+ end
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  *
3
- * Copyright 2015, Google Inc.
3
+ * Copyright 2015-2016, Google Inc.
4
4
  * All rights reserved.
5
5
  *
6
6
  * Redistribution and use in source and binary forms, with or without
@@ -31,6 +31,8 @@
31
31
  *
32
32
  */
33
33
 
34
+ #include <ruby/ruby.h>
35
+ #include "rb_grpc_imports.generated.h"
34
36
  #include "rb_byte_buffer.h"
35
37
 
36
38
  #include <ruby/ruby.h>
@@ -31,6 +31,8 @@
31
31
  *
32
32
  */
33
33
 
34
+ #include <ruby/ruby.h>
35
+ #include "rb_grpc_imports.generated.h"
34
36
  #include "rb_call.h"
35
37
 
36
38
  #include <ruby/ruby.h>
@@ -525,12 +527,13 @@ typedef struct run_batch_stack {
525
527
  grpc_status_code recv_status;
526
528
  char *recv_status_details;
527
529
  size_t recv_status_details_capacity;
528
- uint write_flag;
530
+ unsigned write_flag;
529
531
  } run_batch_stack;
530
532
 
531
533
  /* grpc_run_batch_stack_init ensures the run_batch_stack is properly
532
534
  * initialized */
533
- static void grpc_run_batch_stack_init(run_batch_stack *st, uint write_flag) {
535
+ static void grpc_run_batch_stack_init(run_batch_stack *st,
536
+ unsigned write_flag) {
534
537
  MEMZERO(st, run_batch_stack, 1);
535
538
  grpc_metadata_array_init(&st->send_metadata);
536
539
  grpc_metadata_array_init(&st->send_trailing_metadata);
@@ -696,7 +699,7 @@ static VALUE grpc_rb_call_run_batch(VALUE self, VALUE cqueue, VALUE tag,
696
699
  grpc_call_error err;
697
700
  VALUE result = Qnil;
698
701
  VALUE rb_write_flag = rb_ivar_get(self, id_write_flag);
699
- uint write_flag = 0;
702
+ unsigned write_flag = 0;
700
703
  TypedData_Get_Struct(self, grpc_call, &grpc_call_data_type, call);
701
704
 
702
705
  /* Validate the ops args, adding them to a ruby array */
@@ -31,6 +31,8 @@
31
31
  *
32
32
  */
33
33
 
34
+ #include <ruby/ruby.h>
35
+ #include "rb_grpc_imports.generated.h"
34
36
  #include "rb_call_credentials.h"
35
37
 
36
38
  #include <ruby/ruby.h>
@@ -79,6 +81,7 @@ static VALUE grpc_rb_call_credentials_callback(VALUE callback_args) {
79
81
  static VALUE grpc_rb_call_credentials_callback_rescue(VALUE args,
80
82
  VALUE exception_object) {
81
83
  VALUE result = rb_hash_new();
84
+ (void)args;
82
85
  rb_hash_aset(result, rb_str_new2("metadata"), Qnil);
83
86
  /* Currently only gives the exception class name. It should be possible get
84
87
  more details */
@@ -132,6 +135,7 @@ static void grpc_rb_call_credentials_plugin_get_metadata(
132
135
  }
133
136
 
134
137
  static void grpc_rb_call_credentials_plugin_destroy(void *state) {
138
+ (void)state;
135
139
  // Not sure what needs to be done here
136
140
  }
137
141
 
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  *
3
- * Copyright 2015, Google Inc.
3
+ * Copyright 2015-2016, Google Inc.
4
4
  * All rights reserved.
5
5
  *
6
6
  * Redistribution and use in source and binary forms, with or without
@@ -31,6 +31,8 @@
31
31
  *
32
32
  */
33
33
 
34
+ #include <ruby/ruby.h>
35
+ #include "rb_grpc_imports.generated.h"
34
36
  #include "rb_channel.h"
35
37
 
36
38
  #include <ruby/ruby.h>
@@ -227,7 +229,7 @@ static VALUE grpc_rb_channel_watch_connectivity_state(VALUE self,
227
229
  }
228
230
  grpc_channel_watch_connectivity_state(
229
231
  ch,
230
- NUM2LONG(last_state),
232
+ (grpc_connectivity_state)NUM2LONG(last_state),
231
233
  grpc_rb_time_timeval(deadline, /* absolute time */ 0),
232
234
  cq,
233
235
  ROBJECT(tag));
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  *
3
- * Copyright 2015, Google Inc.
3
+ * Copyright 2015-2016, Google Inc.
4
4
  * All rights reserved.
5
5
  *
6
6
  * Redistribution and use in source and binary forms, with or without
@@ -31,6 +31,8 @@
31
31
  *
32
32
  */
33
33
 
34
+ #include <ruby/ruby.h>
35
+ #include "rb_grpc_imports.generated.h"
34
36
  #include "rb_channel_args.h"
35
37
 
36
38
  #include <ruby/ruby.h>
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  *
3
- * Copyright 2015, Google Inc.
3
+ * Copyright 2015-2016, Google Inc.
4
4
  * All rights reserved.
5
5
  *
6
6
  * Redistribution and use in source and binary forms, with or without
@@ -31,6 +31,8 @@
31
31
  *
32
32
  */
33
33
 
34
+ #include <ruby/ruby.h>
35
+ #include "rb_grpc_imports.generated.h"
34
36
  #include "rb_channel_credentials.h"
35
37
 
36
38
  #include <ruby/ruby.h>
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  *
3
- * Copyright 2015, Google Inc.
3
+ * Copyright 2015-2016, Google Inc.
4
4
  * All rights reserved.
5
5
  *
6
6
  * Redistribution and use in source and binary forms, with or without
@@ -31,6 +31,8 @@
31
31
  *
32
32
  */
33
33
 
34
+ #include <ruby/ruby.h>
35
+ #include "rb_grpc_imports.generated.h"
34
36
  #include "rb_completion_queue.h"
35
37
 
36
38
  #include <ruby/ruby.h>
@@ -31,6 +31,8 @@
31
31
  *
32
32
  */
33
33
 
34
+ #include <ruby/ruby.h>
35
+ #include "rb_grpc_imports.generated.h"
34
36
  #include "rb_event_thread.h"
35
37
 
36
38
  #include <stdbool.h>
@@ -102,6 +104,7 @@ static void grpc_rb_event_queue_destroy() {
102
104
 
103
105
  static void *grpc_rb_wait_for_event_no_gil(void *param) {
104
106
  grpc_rb_event *event = NULL;
107
+ (void)param;
105
108
  gpr_mu_lock(&event_queue.mu);
106
109
  while ((event = grpc_rb_event_queue_dequeue()) == NULL) {
107
110
  gpr_cv_wait(&event_queue.cv,
@@ -117,6 +120,7 @@ static void *grpc_rb_wait_for_event_no_gil(void *param) {
117
120
  }
118
121
 
119
122
  static void grpc_rb_event_unblocking_func(void *arg) {
123
+ (void)arg;
120
124
  gpr_mu_lock(&event_queue.mu);
121
125
  event_queue.abort = true;
122
126
  gpr_cv_signal(&event_queue.cv);
@@ -127,6 +131,7 @@ static void grpc_rb_event_unblocking_func(void *arg) {
127
131
  * events */
128
132
  static VALUE grpc_rb_event_thread(VALUE arg) {
129
133
  grpc_rb_event *event;
134
+ (void)arg;
130
135
  while(true) {
131
136
  event = (grpc_rb_event*)rb_thread_call_without_gvl(
132
137
  grpc_rb_wait_for_event_no_gil, NULL,
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  *
3
- * Copyright 2015, Google Inc.
3
+ * Copyright 2015-2016, Google Inc.
4
4
  * All rights reserved.
5
5
  *
6
6
  * Redistribution and use in source and binary forms, with or without
@@ -31,6 +31,8 @@
31
31
  *
32
32
  */
33
33
 
34
+ #include <ruby/ruby.h>
35
+ #include "rb_grpc_imports.generated.h"
34
36
  #include "rb_grpc.h"
35
37
 
36
38
  #include <math.h>
@@ -45,6 +47,7 @@
45
47
  #include "rb_channel.h"
46
48
  #include "rb_channel_credentials.h"
47
49
  #include "rb_completion_queue.h"
50
+ #include "rb_loader.h"
48
51
  #include "rb_server.h"
49
52
  #include "rb_server_credentials.h"
50
53
 
@@ -138,7 +141,7 @@ gpr_timespec grpc_rb_time_timeval(VALUE time, int interval) {
138
141
  d += 1;
139
142
  f -= 1;
140
143
  }
141
- t.tv_sec = (gpr_int64)f;
144
+ t.tv_sec = (int64_t)f;
142
145
  if (f != t.tv_sec) {
143
146
  rb_raise(rb_eRangeError, "%f out of Time range",
144
147
  RFLOAT_VALUE(time));
@@ -297,7 +300,12 @@ VALUE sym_code = Qundef;
297
300
  VALUE sym_details = Qundef;
298
301
  VALUE sym_metadata = Qundef;
299
302
 
300
- void Init_grpc() {
303
+ void Init_grpc_c() {
304
+ if (!grpc_rb_load_core()) {
305
+ rb_raise(rb_eLoadError, "Couldn't find or load gRPC's dynamic C core");
306
+ return;
307
+ }
308
+
301
309
  grpc_init();
302
310
 
303
311
  /* TODO: find alternative to ruby_vm_at_exit that is ok in Ruby 2.0 */
@@ -0,0 +1,560 @@
1
+ /*
2
+ *
3
+ * Copyright 2016, Google Inc.
4
+ * All rights reserved.
5
+ *
6
+ * Redistribution and use in source and binary forms, with or without
7
+ * modification, are permitted provided that the following conditions are
8
+ * met:
9
+ *
10
+ * * Redistributions of source code must retain the above copyright
11
+ * notice, this list of conditions and the following disclaimer.
12
+ * * Redistributions in binary form must reproduce the above
13
+ * copyright notice, this list of conditions and the following disclaimer
14
+ * in the documentation and/or other materials provided with the
15
+ * distribution.
16
+ * * Neither the name of Google Inc. nor the names of its
17
+ * contributors may be used to endorse or promote products derived from
18
+ * this software without specific prior written permission.
19
+ *
20
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
24
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31
+ *
32
+ */
33
+
34
+ #include <grpc/support/port_platform.h>
35
+
36
+ #ifdef GPR_WIN32
37
+
38
+ #include "rb_grpc_imports.generated.h"
39
+
40
+ census_initialize_type census_initialize_import;
41
+ census_shutdown_type census_shutdown_import;
42
+ census_supported_type census_supported_import;
43
+ census_enabled_type census_enabled_import;
44
+ census_context_create_type census_context_create_import;
45
+ census_context_destroy_type census_context_destroy_import;
46
+ census_context_get_status_type census_context_get_status_import;
47
+ census_context_initialize_iterator_type census_context_initialize_iterator_import;
48
+ census_context_next_tag_type census_context_next_tag_import;
49
+ census_context_get_tag_type census_context_get_tag_import;
50
+ census_context_encode_type census_context_encode_import;
51
+ census_context_decode_type census_context_decode_import;
52
+ census_trace_mask_type census_trace_mask_import;
53
+ census_set_trace_mask_type census_set_trace_mask_import;
54
+ census_start_rpc_op_timestamp_type census_start_rpc_op_timestamp_import;
55
+ census_start_client_rpc_op_type census_start_client_rpc_op_import;
56
+ census_set_rpc_client_peer_type census_set_rpc_client_peer_import;
57
+ census_start_server_rpc_op_type census_start_server_rpc_op_import;
58
+ census_start_op_type census_start_op_import;
59
+ census_end_op_type census_end_op_import;
60
+ census_trace_print_type census_trace_print_import;
61
+ census_trace_scan_start_type census_trace_scan_start_import;
62
+ census_get_trace_record_type census_get_trace_record_import;
63
+ census_trace_scan_end_type census_trace_scan_end_import;
64
+ census_record_values_type census_record_values_import;
65
+ census_view_create_type census_view_create_import;
66
+ census_view_delete_type census_view_delete_import;
67
+ census_view_metric_type census_view_metric_import;
68
+ census_view_naggregations_type census_view_naggregations_import;
69
+ census_view_tags_type census_view_tags_import;
70
+ census_view_aggregrations_type census_view_aggregrations_import;
71
+ census_view_get_data_type census_view_get_data_import;
72
+ census_view_reset_type census_view_reset_import;
73
+ grpc_compression_algorithm_parse_type grpc_compression_algorithm_parse_import;
74
+ grpc_compression_algorithm_name_type grpc_compression_algorithm_name_import;
75
+ grpc_compression_algorithm_for_level_type grpc_compression_algorithm_for_level_import;
76
+ grpc_compression_options_init_type grpc_compression_options_init_import;
77
+ grpc_compression_options_enable_algorithm_type grpc_compression_options_enable_algorithm_import;
78
+ grpc_compression_options_disable_algorithm_type grpc_compression_options_disable_algorithm_import;
79
+ grpc_compression_options_is_algorithm_enabled_type grpc_compression_options_is_algorithm_enabled_import;
80
+ grpc_metadata_array_init_type grpc_metadata_array_init_import;
81
+ grpc_metadata_array_destroy_type grpc_metadata_array_destroy_import;
82
+ grpc_call_details_init_type grpc_call_details_init_import;
83
+ grpc_call_details_destroy_type grpc_call_details_destroy_import;
84
+ grpc_register_plugin_type grpc_register_plugin_import;
85
+ grpc_init_type grpc_init_import;
86
+ grpc_shutdown_type grpc_shutdown_import;
87
+ grpc_version_string_type grpc_version_string_import;
88
+ grpc_completion_queue_create_type grpc_completion_queue_create_import;
89
+ grpc_completion_queue_next_type grpc_completion_queue_next_import;
90
+ grpc_completion_queue_pluck_type grpc_completion_queue_pluck_import;
91
+ grpc_completion_queue_shutdown_type grpc_completion_queue_shutdown_import;
92
+ grpc_completion_queue_destroy_type grpc_completion_queue_destroy_import;
93
+ grpc_alarm_create_type grpc_alarm_create_import;
94
+ grpc_alarm_cancel_type grpc_alarm_cancel_import;
95
+ grpc_alarm_destroy_type grpc_alarm_destroy_import;
96
+ grpc_channel_check_connectivity_state_type grpc_channel_check_connectivity_state_import;
97
+ grpc_channel_watch_connectivity_state_type grpc_channel_watch_connectivity_state_import;
98
+ grpc_channel_create_call_type grpc_channel_create_call_import;
99
+ grpc_channel_ping_type grpc_channel_ping_import;
100
+ grpc_channel_register_call_type grpc_channel_register_call_import;
101
+ grpc_channel_create_registered_call_type grpc_channel_create_registered_call_import;
102
+ grpc_call_start_batch_type grpc_call_start_batch_import;
103
+ grpc_call_get_peer_type grpc_call_get_peer_import;
104
+ grpc_census_call_set_context_type grpc_census_call_set_context_import;
105
+ grpc_census_call_get_context_type grpc_census_call_get_context_import;
106
+ grpc_channel_get_target_type grpc_channel_get_target_import;
107
+ grpc_insecure_channel_create_type grpc_insecure_channel_create_import;
108
+ grpc_lame_client_channel_create_type grpc_lame_client_channel_create_import;
109
+ grpc_channel_destroy_type grpc_channel_destroy_import;
110
+ grpc_call_cancel_type grpc_call_cancel_import;
111
+ grpc_call_cancel_with_status_type grpc_call_cancel_with_status_import;
112
+ grpc_call_destroy_type grpc_call_destroy_import;
113
+ grpc_server_request_call_type grpc_server_request_call_import;
114
+ grpc_server_register_method_type grpc_server_register_method_import;
115
+ grpc_server_request_registered_call_type grpc_server_request_registered_call_import;
116
+ grpc_server_create_type grpc_server_create_import;
117
+ grpc_server_register_completion_queue_type grpc_server_register_completion_queue_import;
118
+ grpc_server_add_insecure_http2_port_type grpc_server_add_insecure_http2_port_import;
119
+ grpc_server_start_type grpc_server_start_import;
120
+ grpc_server_shutdown_and_notify_type grpc_server_shutdown_and_notify_import;
121
+ grpc_server_cancel_all_calls_type grpc_server_cancel_all_calls_import;
122
+ grpc_server_destroy_type grpc_server_destroy_import;
123
+ grpc_tracer_set_enabled_type grpc_tracer_set_enabled_import;
124
+ grpc_header_key_is_legal_type grpc_header_key_is_legal_import;
125
+ grpc_header_nonbin_value_is_legal_type grpc_header_nonbin_value_is_legal_import;
126
+ grpc_is_binary_header_type grpc_is_binary_header_import;
127
+ grpc_auth_property_iterator_next_type grpc_auth_property_iterator_next_import;
128
+ grpc_auth_context_property_iterator_type grpc_auth_context_property_iterator_import;
129
+ grpc_auth_context_peer_identity_type grpc_auth_context_peer_identity_import;
130
+ grpc_auth_context_find_properties_by_name_type grpc_auth_context_find_properties_by_name_import;
131
+ grpc_auth_context_peer_identity_property_name_type grpc_auth_context_peer_identity_property_name_import;
132
+ grpc_auth_context_peer_is_authenticated_type grpc_auth_context_peer_is_authenticated_import;
133
+ grpc_call_auth_context_type grpc_call_auth_context_import;
134
+ grpc_auth_context_release_type grpc_auth_context_release_import;
135
+ grpc_auth_context_add_property_type grpc_auth_context_add_property_import;
136
+ grpc_auth_context_add_cstring_property_type grpc_auth_context_add_cstring_property_import;
137
+ grpc_auth_context_set_peer_identity_property_name_type grpc_auth_context_set_peer_identity_property_name_import;
138
+ grpc_channel_credentials_release_type grpc_channel_credentials_release_import;
139
+ grpc_google_default_credentials_create_type grpc_google_default_credentials_create_import;
140
+ grpc_ssl_credentials_create_type grpc_ssl_credentials_create_import;
141
+ grpc_call_credentials_release_type grpc_call_credentials_release_import;
142
+ grpc_composite_channel_credentials_create_type grpc_composite_channel_credentials_create_import;
143
+ grpc_composite_call_credentials_create_type grpc_composite_call_credentials_create_import;
144
+ grpc_google_compute_engine_credentials_create_type grpc_google_compute_engine_credentials_create_import;
145
+ grpc_max_auth_token_lifetime_type grpc_max_auth_token_lifetime_import;
146
+ grpc_service_account_jwt_access_credentials_create_type grpc_service_account_jwt_access_credentials_create_import;
147
+ grpc_google_refresh_token_credentials_create_type grpc_google_refresh_token_credentials_create_import;
148
+ grpc_access_token_credentials_create_type grpc_access_token_credentials_create_import;
149
+ grpc_google_iam_credentials_create_type grpc_google_iam_credentials_create_import;
150
+ grpc_metadata_credentials_create_from_plugin_type grpc_metadata_credentials_create_from_plugin_import;
151
+ grpc_secure_channel_create_type grpc_secure_channel_create_import;
152
+ grpc_server_credentials_release_type grpc_server_credentials_release_import;
153
+ grpc_ssl_server_credentials_create_type grpc_ssl_server_credentials_create_import;
154
+ grpc_server_add_secure_http2_port_type grpc_server_add_secure_http2_port_import;
155
+ grpc_call_set_credentials_type grpc_call_set_credentials_import;
156
+ grpc_server_credentials_set_auth_metadata_processor_type grpc_server_credentials_set_auth_metadata_processor_import;
157
+ gpr_malloc_type gpr_malloc_import;
158
+ gpr_free_type gpr_free_import;
159
+ gpr_realloc_type gpr_realloc_import;
160
+ gpr_malloc_aligned_type gpr_malloc_aligned_import;
161
+ gpr_free_aligned_type gpr_free_aligned_import;
162
+ gpr_set_allocation_functions_type gpr_set_allocation_functions_import;
163
+ gpr_get_allocation_functions_type gpr_get_allocation_functions_import;
164
+ grpc_raw_byte_buffer_create_type grpc_raw_byte_buffer_create_import;
165
+ grpc_raw_compressed_byte_buffer_create_type grpc_raw_compressed_byte_buffer_create_import;
166
+ grpc_byte_buffer_copy_type grpc_byte_buffer_copy_import;
167
+ grpc_byte_buffer_length_type grpc_byte_buffer_length_import;
168
+ grpc_byte_buffer_destroy_type grpc_byte_buffer_destroy_import;
169
+ grpc_byte_buffer_reader_init_type grpc_byte_buffer_reader_init_import;
170
+ grpc_byte_buffer_reader_destroy_type grpc_byte_buffer_reader_destroy_import;
171
+ grpc_byte_buffer_reader_next_type grpc_byte_buffer_reader_next_import;
172
+ grpc_byte_buffer_reader_readall_type grpc_byte_buffer_reader_readall_import;
173
+ grpc_raw_byte_buffer_from_reader_type grpc_raw_byte_buffer_from_reader_import;
174
+ gpr_log_type gpr_log_import;
175
+ gpr_log_message_type gpr_log_message_import;
176
+ gpr_set_log_function_type gpr_set_log_function_import;
177
+ gpr_slice_ref_type gpr_slice_ref_import;
178
+ gpr_slice_unref_type gpr_slice_unref_import;
179
+ gpr_slice_new_type gpr_slice_new_import;
180
+ gpr_slice_new_with_len_type gpr_slice_new_with_len_import;
181
+ gpr_slice_malloc_type gpr_slice_malloc_import;
182
+ gpr_slice_from_copied_string_type gpr_slice_from_copied_string_import;
183
+ gpr_slice_from_copied_buffer_type gpr_slice_from_copied_buffer_import;
184
+ gpr_slice_from_static_string_type gpr_slice_from_static_string_import;
185
+ gpr_slice_sub_type gpr_slice_sub_import;
186
+ gpr_slice_sub_no_ref_type gpr_slice_sub_no_ref_import;
187
+ gpr_slice_split_tail_type gpr_slice_split_tail_import;
188
+ gpr_slice_split_head_type gpr_slice_split_head_import;
189
+ gpr_empty_slice_type gpr_empty_slice_import;
190
+ gpr_slice_cmp_type gpr_slice_cmp_import;
191
+ gpr_slice_str_cmp_type gpr_slice_str_cmp_import;
192
+ gpr_slice_buffer_init_type gpr_slice_buffer_init_import;
193
+ gpr_slice_buffer_destroy_type gpr_slice_buffer_destroy_import;
194
+ gpr_slice_buffer_add_type gpr_slice_buffer_add_import;
195
+ gpr_slice_buffer_add_indexed_type gpr_slice_buffer_add_indexed_import;
196
+ gpr_slice_buffer_addn_type gpr_slice_buffer_addn_import;
197
+ gpr_slice_buffer_tiny_add_type gpr_slice_buffer_tiny_add_import;
198
+ gpr_slice_buffer_pop_type gpr_slice_buffer_pop_import;
199
+ gpr_slice_buffer_reset_and_unref_type gpr_slice_buffer_reset_and_unref_import;
200
+ gpr_slice_buffer_swap_type gpr_slice_buffer_swap_import;
201
+ gpr_slice_buffer_move_into_type gpr_slice_buffer_move_into_import;
202
+ gpr_slice_buffer_trim_end_type gpr_slice_buffer_trim_end_import;
203
+ gpr_slice_buffer_move_first_type gpr_slice_buffer_move_first_import;
204
+ gpr_slice_buffer_take_first_type gpr_slice_buffer_take_first_import;
205
+ gpr_mu_init_type gpr_mu_init_import;
206
+ gpr_mu_destroy_type gpr_mu_destroy_import;
207
+ gpr_mu_lock_type gpr_mu_lock_import;
208
+ gpr_mu_unlock_type gpr_mu_unlock_import;
209
+ gpr_mu_trylock_type gpr_mu_trylock_import;
210
+ gpr_cv_init_type gpr_cv_init_import;
211
+ gpr_cv_destroy_type gpr_cv_destroy_import;
212
+ gpr_cv_wait_type gpr_cv_wait_import;
213
+ gpr_cv_signal_type gpr_cv_signal_import;
214
+ gpr_cv_broadcast_type gpr_cv_broadcast_import;
215
+ gpr_once_init_type gpr_once_init_import;
216
+ gpr_event_init_type gpr_event_init_import;
217
+ gpr_event_set_type gpr_event_set_import;
218
+ gpr_event_get_type gpr_event_get_import;
219
+ gpr_event_wait_type gpr_event_wait_import;
220
+ gpr_ref_init_type gpr_ref_init_import;
221
+ gpr_ref_type gpr_ref_import;
222
+ gpr_refn_type gpr_refn_import;
223
+ gpr_unref_type gpr_unref_import;
224
+ gpr_stats_init_type gpr_stats_init_import;
225
+ gpr_stats_inc_type gpr_stats_inc_import;
226
+ gpr_stats_read_type gpr_stats_read_import;
227
+ gpr_time_0_type gpr_time_0_import;
228
+ gpr_inf_future_type gpr_inf_future_import;
229
+ gpr_inf_past_type gpr_inf_past_import;
230
+ gpr_time_init_type gpr_time_init_import;
231
+ gpr_now_type gpr_now_import;
232
+ gpr_convert_clock_type_type gpr_convert_clock_type_import;
233
+ gpr_time_cmp_type gpr_time_cmp_import;
234
+ gpr_time_max_type gpr_time_max_import;
235
+ gpr_time_min_type gpr_time_min_import;
236
+ gpr_time_add_type gpr_time_add_import;
237
+ gpr_time_sub_type gpr_time_sub_import;
238
+ gpr_time_from_micros_type gpr_time_from_micros_import;
239
+ gpr_time_from_nanos_type gpr_time_from_nanos_import;
240
+ gpr_time_from_millis_type gpr_time_from_millis_import;
241
+ gpr_time_from_seconds_type gpr_time_from_seconds_import;
242
+ gpr_time_from_minutes_type gpr_time_from_minutes_import;
243
+ gpr_time_from_hours_type gpr_time_from_hours_import;
244
+ gpr_time_to_millis_type gpr_time_to_millis_import;
245
+ gpr_time_similar_type gpr_time_similar_import;
246
+ gpr_sleep_until_type gpr_sleep_until_import;
247
+ gpr_timespec_to_micros_type gpr_timespec_to_micros_import;
248
+ gpr_avl_create_type gpr_avl_create_import;
249
+ gpr_avl_ref_type gpr_avl_ref_import;
250
+ gpr_avl_unref_type gpr_avl_unref_import;
251
+ gpr_avl_add_type gpr_avl_add_import;
252
+ gpr_avl_remove_type gpr_avl_remove_import;
253
+ gpr_avl_get_type gpr_avl_get_import;
254
+ gpr_cmdline_create_type gpr_cmdline_create_import;
255
+ gpr_cmdline_add_int_type gpr_cmdline_add_int_import;
256
+ gpr_cmdline_add_flag_type gpr_cmdline_add_flag_import;
257
+ gpr_cmdline_add_string_type gpr_cmdline_add_string_import;
258
+ gpr_cmdline_on_extra_arg_type gpr_cmdline_on_extra_arg_import;
259
+ gpr_cmdline_set_survive_failure_type gpr_cmdline_set_survive_failure_import;
260
+ gpr_cmdline_parse_type gpr_cmdline_parse_import;
261
+ gpr_cmdline_destroy_type gpr_cmdline_destroy_import;
262
+ gpr_cmdline_usage_string_type gpr_cmdline_usage_string_import;
263
+ gpr_cpu_num_cores_type gpr_cpu_num_cores_import;
264
+ gpr_cpu_current_cpu_type gpr_cpu_current_cpu_import;
265
+ gpr_histogram_create_type gpr_histogram_create_import;
266
+ gpr_histogram_destroy_type gpr_histogram_destroy_import;
267
+ gpr_histogram_add_type gpr_histogram_add_import;
268
+ gpr_histogram_merge_type gpr_histogram_merge_import;
269
+ gpr_histogram_percentile_type gpr_histogram_percentile_import;
270
+ gpr_histogram_mean_type gpr_histogram_mean_import;
271
+ gpr_histogram_stddev_type gpr_histogram_stddev_import;
272
+ gpr_histogram_variance_type gpr_histogram_variance_import;
273
+ gpr_histogram_maximum_type gpr_histogram_maximum_import;
274
+ gpr_histogram_minimum_type gpr_histogram_minimum_import;
275
+ gpr_histogram_count_type gpr_histogram_count_import;
276
+ gpr_histogram_sum_type gpr_histogram_sum_import;
277
+ gpr_histogram_sum_of_squares_type gpr_histogram_sum_of_squares_import;
278
+ gpr_histogram_get_contents_type gpr_histogram_get_contents_import;
279
+ gpr_histogram_merge_contents_type gpr_histogram_merge_contents_import;
280
+ gpr_join_host_port_type gpr_join_host_port_import;
281
+ gpr_split_host_port_type gpr_split_host_port_import;
282
+ gpr_format_message_type gpr_format_message_import;
283
+ gpr_strdup_type gpr_strdup_import;
284
+ gpr_asprintf_type gpr_asprintf_import;
285
+ gpr_subprocess_binary_extension_type gpr_subprocess_binary_extension_import;
286
+ gpr_subprocess_create_type gpr_subprocess_create_import;
287
+ gpr_subprocess_destroy_type gpr_subprocess_destroy_import;
288
+ gpr_subprocess_join_type gpr_subprocess_join_import;
289
+ gpr_subprocess_interrupt_type gpr_subprocess_interrupt_import;
290
+ gpr_thd_new_type gpr_thd_new_import;
291
+ gpr_thd_options_default_type gpr_thd_options_default_import;
292
+ gpr_thd_options_set_detached_type gpr_thd_options_set_detached_import;
293
+ gpr_thd_options_set_joinable_type gpr_thd_options_set_joinable_import;
294
+ gpr_thd_options_is_detached_type gpr_thd_options_is_detached_import;
295
+ gpr_thd_options_is_joinable_type gpr_thd_options_is_joinable_import;
296
+ gpr_thd_currentid_type gpr_thd_currentid_import;
297
+ gpr_thd_join_type gpr_thd_join_import;
298
+
299
+ void grpc_rb_load_imports(HMODULE library) {
300
+ census_initialize_import = (census_initialize_type) GetProcAddress(library, "census_initialize");
301
+ census_shutdown_import = (census_shutdown_type) GetProcAddress(library, "census_shutdown");
302
+ census_supported_import = (census_supported_type) GetProcAddress(library, "census_supported");
303
+ census_enabled_import = (census_enabled_type) GetProcAddress(library, "census_enabled");
304
+ census_context_create_import = (census_context_create_type) GetProcAddress(library, "census_context_create");
305
+ census_context_destroy_import = (census_context_destroy_type) GetProcAddress(library, "census_context_destroy");
306
+ census_context_get_status_import = (census_context_get_status_type) GetProcAddress(library, "census_context_get_status");
307
+ census_context_initialize_iterator_import = (census_context_initialize_iterator_type) GetProcAddress(library, "census_context_initialize_iterator");
308
+ census_context_next_tag_import = (census_context_next_tag_type) GetProcAddress(library, "census_context_next_tag");
309
+ census_context_get_tag_import = (census_context_get_tag_type) GetProcAddress(library, "census_context_get_tag");
310
+ census_context_encode_import = (census_context_encode_type) GetProcAddress(library, "census_context_encode");
311
+ census_context_decode_import = (census_context_decode_type) GetProcAddress(library, "census_context_decode");
312
+ census_trace_mask_import = (census_trace_mask_type) GetProcAddress(library, "census_trace_mask");
313
+ census_set_trace_mask_import = (census_set_trace_mask_type) GetProcAddress(library, "census_set_trace_mask");
314
+ census_start_rpc_op_timestamp_import = (census_start_rpc_op_timestamp_type) GetProcAddress(library, "census_start_rpc_op_timestamp");
315
+ census_start_client_rpc_op_import = (census_start_client_rpc_op_type) GetProcAddress(library, "census_start_client_rpc_op");
316
+ census_set_rpc_client_peer_import = (census_set_rpc_client_peer_type) GetProcAddress(library, "census_set_rpc_client_peer");
317
+ census_start_server_rpc_op_import = (census_start_server_rpc_op_type) GetProcAddress(library, "census_start_server_rpc_op");
318
+ census_start_op_import = (census_start_op_type) GetProcAddress(library, "census_start_op");
319
+ census_end_op_import = (census_end_op_type) GetProcAddress(library, "census_end_op");
320
+ census_trace_print_import = (census_trace_print_type) GetProcAddress(library, "census_trace_print");
321
+ census_trace_scan_start_import = (census_trace_scan_start_type) GetProcAddress(library, "census_trace_scan_start");
322
+ census_get_trace_record_import = (census_get_trace_record_type) GetProcAddress(library, "census_get_trace_record");
323
+ census_trace_scan_end_import = (census_trace_scan_end_type) GetProcAddress(library, "census_trace_scan_end");
324
+ census_record_values_import = (census_record_values_type) GetProcAddress(library, "census_record_values");
325
+ census_view_create_import = (census_view_create_type) GetProcAddress(library, "census_view_create");
326
+ census_view_delete_import = (census_view_delete_type) GetProcAddress(library, "census_view_delete");
327
+ census_view_metric_import = (census_view_metric_type) GetProcAddress(library, "census_view_metric");
328
+ census_view_naggregations_import = (census_view_naggregations_type) GetProcAddress(library, "census_view_naggregations");
329
+ census_view_tags_import = (census_view_tags_type) GetProcAddress(library, "census_view_tags");
330
+ census_view_aggregrations_import = (census_view_aggregrations_type) GetProcAddress(library, "census_view_aggregrations");
331
+ census_view_get_data_import = (census_view_get_data_type) GetProcAddress(library, "census_view_get_data");
332
+ census_view_reset_import = (census_view_reset_type) GetProcAddress(library, "census_view_reset");
333
+ grpc_compression_algorithm_parse_import = (grpc_compression_algorithm_parse_type) GetProcAddress(library, "grpc_compression_algorithm_parse");
334
+ grpc_compression_algorithm_name_import = (grpc_compression_algorithm_name_type) GetProcAddress(library, "grpc_compression_algorithm_name");
335
+ grpc_compression_algorithm_for_level_import = (grpc_compression_algorithm_for_level_type) GetProcAddress(library, "grpc_compression_algorithm_for_level");
336
+ grpc_compression_options_init_import = (grpc_compression_options_init_type) GetProcAddress(library, "grpc_compression_options_init");
337
+ grpc_compression_options_enable_algorithm_import = (grpc_compression_options_enable_algorithm_type) GetProcAddress(library, "grpc_compression_options_enable_algorithm");
338
+ grpc_compression_options_disable_algorithm_import = (grpc_compression_options_disable_algorithm_type) GetProcAddress(library, "grpc_compression_options_disable_algorithm");
339
+ grpc_compression_options_is_algorithm_enabled_import = (grpc_compression_options_is_algorithm_enabled_type) GetProcAddress(library, "grpc_compression_options_is_algorithm_enabled");
340
+ grpc_metadata_array_init_import = (grpc_metadata_array_init_type) GetProcAddress(library, "grpc_metadata_array_init");
341
+ grpc_metadata_array_destroy_import = (grpc_metadata_array_destroy_type) GetProcAddress(library, "grpc_metadata_array_destroy");
342
+ grpc_call_details_init_import = (grpc_call_details_init_type) GetProcAddress(library, "grpc_call_details_init");
343
+ grpc_call_details_destroy_import = (grpc_call_details_destroy_type) GetProcAddress(library, "grpc_call_details_destroy");
344
+ grpc_register_plugin_import = (grpc_register_plugin_type) GetProcAddress(library, "grpc_register_plugin");
345
+ grpc_init_import = (grpc_init_type) GetProcAddress(library, "grpc_init");
346
+ grpc_shutdown_import = (grpc_shutdown_type) GetProcAddress(library, "grpc_shutdown");
347
+ grpc_version_string_import = (grpc_version_string_type) GetProcAddress(library, "grpc_version_string");
348
+ grpc_completion_queue_create_import = (grpc_completion_queue_create_type) GetProcAddress(library, "grpc_completion_queue_create");
349
+ grpc_completion_queue_next_import = (grpc_completion_queue_next_type) GetProcAddress(library, "grpc_completion_queue_next");
350
+ grpc_completion_queue_pluck_import = (grpc_completion_queue_pluck_type) GetProcAddress(library, "grpc_completion_queue_pluck");
351
+ grpc_completion_queue_shutdown_import = (grpc_completion_queue_shutdown_type) GetProcAddress(library, "grpc_completion_queue_shutdown");
352
+ grpc_completion_queue_destroy_import = (grpc_completion_queue_destroy_type) GetProcAddress(library, "grpc_completion_queue_destroy");
353
+ grpc_alarm_create_import = (grpc_alarm_create_type) GetProcAddress(library, "grpc_alarm_create");
354
+ grpc_alarm_cancel_import = (grpc_alarm_cancel_type) GetProcAddress(library, "grpc_alarm_cancel");
355
+ grpc_alarm_destroy_import = (grpc_alarm_destroy_type) GetProcAddress(library, "grpc_alarm_destroy");
356
+ grpc_channel_check_connectivity_state_import = (grpc_channel_check_connectivity_state_type) GetProcAddress(library, "grpc_channel_check_connectivity_state");
357
+ grpc_channel_watch_connectivity_state_import = (grpc_channel_watch_connectivity_state_type) GetProcAddress(library, "grpc_channel_watch_connectivity_state");
358
+ grpc_channel_create_call_import = (grpc_channel_create_call_type) GetProcAddress(library, "grpc_channel_create_call");
359
+ grpc_channel_ping_import = (grpc_channel_ping_type) GetProcAddress(library, "grpc_channel_ping");
360
+ grpc_channel_register_call_import = (grpc_channel_register_call_type) GetProcAddress(library, "grpc_channel_register_call");
361
+ grpc_channel_create_registered_call_import = (grpc_channel_create_registered_call_type) GetProcAddress(library, "grpc_channel_create_registered_call");
362
+ grpc_call_start_batch_import = (grpc_call_start_batch_type) GetProcAddress(library, "grpc_call_start_batch");
363
+ grpc_call_get_peer_import = (grpc_call_get_peer_type) GetProcAddress(library, "grpc_call_get_peer");
364
+ grpc_census_call_set_context_import = (grpc_census_call_set_context_type) GetProcAddress(library, "grpc_census_call_set_context");
365
+ grpc_census_call_get_context_import = (grpc_census_call_get_context_type) GetProcAddress(library, "grpc_census_call_get_context");
366
+ grpc_channel_get_target_import = (grpc_channel_get_target_type) GetProcAddress(library, "grpc_channel_get_target");
367
+ grpc_insecure_channel_create_import = (grpc_insecure_channel_create_type) GetProcAddress(library, "grpc_insecure_channel_create");
368
+ grpc_lame_client_channel_create_import = (grpc_lame_client_channel_create_type) GetProcAddress(library, "grpc_lame_client_channel_create");
369
+ grpc_channel_destroy_import = (grpc_channel_destroy_type) GetProcAddress(library, "grpc_channel_destroy");
370
+ grpc_call_cancel_import = (grpc_call_cancel_type) GetProcAddress(library, "grpc_call_cancel");
371
+ grpc_call_cancel_with_status_import = (grpc_call_cancel_with_status_type) GetProcAddress(library, "grpc_call_cancel_with_status");
372
+ grpc_call_destroy_import = (grpc_call_destroy_type) GetProcAddress(library, "grpc_call_destroy");
373
+ grpc_server_request_call_import = (grpc_server_request_call_type) GetProcAddress(library, "grpc_server_request_call");
374
+ grpc_server_register_method_import = (grpc_server_register_method_type) GetProcAddress(library, "grpc_server_register_method");
375
+ grpc_server_request_registered_call_import = (grpc_server_request_registered_call_type) GetProcAddress(library, "grpc_server_request_registered_call");
376
+ grpc_server_create_import = (grpc_server_create_type) GetProcAddress(library, "grpc_server_create");
377
+ grpc_server_register_completion_queue_import = (grpc_server_register_completion_queue_type) GetProcAddress(library, "grpc_server_register_completion_queue");
378
+ grpc_server_add_insecure_http2_port_import = (grpc_server_add_insecure_http2_port_type) GetProcAddress(library, "grpc_server_add_insecure_http2_port");
379
+ grpc_server_start_import = (grpc_server_start_type) GetProcAddress(library, "grpc_server_start");
380
+ grpc_server_shutdown_and_notify_import = (grpc_server_shutdown_and_notify_type) GetProcAddress(library, "grpc_server_shutdown_and_notify");
381
+ grpc_server_cancel_all_calls_import = (grpc_server_cancel_all_calls_type) GetProcAddress(library, "grpc_server_cancel_all_calls");
382
+ grpc_server_destroy_import = (grpc_server_destroy_type) GetProcAddress(library, "grpc_server_destroy");
383
+ grpc_tracer_set_enabled_import = (grpc_tracer_set_enabled_type) GetProcAddress(library, "grpc_tracer_set_enabled");
384
+ grpc_header_key_is_legal_import = (grpc_header_key_is_legal_type) GetProcAddress(library, "grpc_header_key_is_legal");
385
+ grpc_header_nonbin_value_is_legal_import = (grpc_header_nonbin_value_is_legal_type) GetProcAddress(library, "grpc_header_nonbin_value_is_legal");
386
+ grpc_is_binary_header_import = (grpc_is_binary_header_type) GetProcAddress(library, "grpc_is_binary_header");
387
+ grpc_auth_property_iterator_next_import = (grpc_auth_property_iterator_next_type) GetProcAddress(library, "grpc_auth_property_iterator_next");
388
+ grpc_auth_context_property_iterator_import = (grpc_auth_context_property_iterator_type) GetProcAddress(library, "grpc_auth_context_property_iterator");
389
+ grpc_auth_context_peer_identity_import = (grpc_auth_context_peer_identity_type) GetProcAddress(library, "grpc_auth_context_peer_identity");
390
+ grpc_auth_context_find_properties_by_name_import = (grpc_auth_context_find_properties_by_name_type) GetProcAddress(library, "grpc_auth_context_find_properties_by_name");
391
+ grpc_auth_context_peer_identity_property_name_import = (grpc_auth_context_peer_identity_property_name_type) GetProcAddress(library, "grpc_auth_context_peer_identity_property_name");
392
+ grpc_auth_context_peer_is_authenticated_import = (grpc_auth_context_peer_is_authenticated_type) GetProcAddress(library, "grpc_auth_context_peer_is_authenticated");
393
+ grpc_call_auth_context_import = (grpc_call_auth_context_type) GetProcAddress(library, "grpc_call_auth_context");
394
+ grpc_auth_context_release_import = (grpc_auth_context_release_type) GetProcAddress(library, "grpc_auth_context_release");
395
+ grpc_auth_context_add_property_import = (grpc_auth_context_add_property_type) GetProcAddress(library, "grpc_auth_context_add_property");
396
+ grpc_auth_context_add_cstring_property_import = (grpc_auth_context_add_cstring_property_type) GetProcAddress(library, "grpc_auth_context_add_cstring_property");
397
+ grpc_auth_context_set_peer_identity_property_name_import = (grpc_auth_context_set_peer_identity_property_name_type) GetProcAddress(library, "grpc_auth_context_set_peer_identity_property_name");
398
+ grpc_channel_credentials_release_import = (grpc_channel_credentials_release_type) GetProcAddress(library, "grpc_channel_credentials_release");
399
+ grpc_google_default_credentials_create_import = (grpc_google_default_credentials_create_type) GetProcAddress(library, "grpc_google_default_credentials_create");
400
+ grpc_ssl_credentials_create_import = (grpc_ssl_credentials_create_type) GetProcAddress(library, "grpc_ssl_credentials_create");
401
+ grpc_call_credentials_release_import = (grpc_call_credentials_release_type) GetProcAddress(library, "grpc_call_credentials_release");
402
+ grpc_composite_channel_credentials_create_import = (grpc_composite_channel_credentials_create_type) GetProcAddress(library, "grpc_composite_channel_credentials_create");
403
+ grpc_composite_call_credentials_create_import = (grpc_composite_call_credentials_create_type) GetProcAddress(library, "grpc_composite_call_credentials_create");
404
+ grpc_google_compute_engine_credentials_create_import = (grpc_google_compute_engine_credentials_create_type) GetProcAddress(library, "grpc_google_compute_engine_credentials_create");
405
+ grpc_max_auth_token_lifetime_import = (grpc_max_auth_token_lifetime_type) GetProcAddress(library, "grpc_max_auth_token_lifetime");
406
+ grpc_service_account_jwt_access_credentials_create_import = (grpc_service_account_jwt_access_credentials_create_type) GetProcAddress(library, "grpc_service_account_jwt_access_credentials_create");
407
+ grpc_google_refresh_token_credentials_create_import = (grpc_google_refresh_token_credentials_create_type) GetProcAddress(library, "grpc_google_refresh_token_credentials_create");
408
+ grpc_access_token_credentials_create_import = (grpc_access_token_credentials_create_type) GetProcAddress(library, "grpc_access_token_credentials_create");
409
+ grpc_google_iam_credentials_create_import = (grpc_google_iam_credentials_create_type) GetProcAddress(library, "grpc_google_iam_credentials_create");
410
+ grpc_metadata_credentials_create_from_plugin_import = (grpc_metadata_credentials_create_from_plugin_type) GetProcAddress(library, "grpc_metadata_credentials_create_from_plugin");
411
+ grpc_secure_channel_create_import = (grpc_secure_channel_create_type) GetProcAddress(library, "grpc_secure_channel_create");
412
+ grpc_server_credentials_release_import = (grpc_server_credentials_release_type) GetProcAddress(library, "grpc_server_credentials_release");
413
+ grpc_ssl_server_credentials_create_import = (grpc_ssl_server_credentials_create_type) GetProcAddress(library, "grpc_ssl_server_credentials_create");
414
+ grpc_server_add_secure_http2_port_import = (grpc_server_add_secure_http2_port_type) GetProcAddress(library, "grpc_server_add_secure_http2_port");
415
+ grpc_call_set_credentials_import = (grpc_call_set_credentials_type) GetProcAddress(library, "grpc_call_set_credentials");
416
+ grpc_server_credentials_set_auth_metadata_processor_import = (grpc_server_credentials_set_auth_metadata_processor_type) GetProcAddress(library, "grpc_server_credentials_set_auth_metadata_processor");
417
+ gpr_malloc_import = (gpr_malloc_type) GetProcAddress(library, "gpr_malloc");
418
+ gpr_free_import = (gpr_free_type) GetProcAddress(library, "gpr_free");
419
+ gpr_realloc_import = (gpr_realloc_type) GetProcAddress(library, "gpr_realloc");
420
+ gpr_malloc_aligned_import = (gpr_malloc_aligned_type) GetProcAddress(library, "gpr_malloc_aligned");
421
+ gpr_free_aligned_import = (gpr_free_aligned_type) GetProcAddress(library, "gpr_free_aligned");
422
+ gpr_set_allocation_functions_import = (gpr_set_allocation_functions_type) GetProcAddress(library, "gpr_set_allocation_functions");
423
+ gpr_get_allocation_functions_import = (gpr_get_allocation_functions_type) GetProcAddress(library, "gpr_get_allocation_functions");
424
+ grpc_raw_byte_buffer_create_import = (grpc_raw_byte_buffer_create_type) GetProcAddress(library, "grpc_raw_byte_buffer_create");
425
+ grpc_raw_compressed_byte_buffer_create_import = (grpc_raw_compressed_byte_buffer_create_type) GetProcAddress(library, "grpc_raw_compressed_byte_buffer_create");
426
+ grpc_byte_buffer_copy_import = (grpc_byte_buffer_copy_type) GetProcAddress(library, "grpc_byte_buffer_copy");
427
+ grpc_byte_buffer_length_import = (grpc_byte_buffer_length_type) GetProcAddress(library, "grpc_byte_buffer_length");
428
+ grpc_byte_buffer_destroy_import = (grpc_byte_buffer_destroy_type) GetProcAddress(library, "grpc_byte_buffer_destroy");
429
+ grpc_byte_buffer_reader_init_import = (grpc_byte_buffer_reader_init_type) GetProcAddress(library, "grpc_byte_buffer_reader_init");
430
+ grpc_byte_buffer_reader_destroy_import = (grpc_byte_buffer_reader_destroy_type) GetProcAddress(library, "grpc_byte_buffer_reader_destroy");
431
+ grpc_byte_buffer_reader_next_import = (grpc_byte_buffer_reader_next_type) GetProcAddress(library, "grpc_byte_buffer_reader_next");
432
+ grpc_byte_buffer_reader_readall_import = (grpc_byte_buffer_reader_readall_type) GetProcAddress(library, "grpc_byte_buffer_reader_readall");
433
+ grpc_raw_byte_buffer_from_reader_import = (grpc_raw_byte_buffer_from_reader_type) GetProcAddress(library, "grpc_raw_byte_buffer_from_reader");
434
+ gpr_log_import = (gpr_log_type) GetProcAddress(library, "gpr_log");
435
+ gpr_log_message_import = (gpr_log_message_type) GetProcAddress(library, "gpr_log_message");
436
+ gpr_set_log_function_import = (gpr_set_log_function_type) GetProcAddress(library, "gpr_set_log_function");
437
+ gpr_slice_ref_import = (gpr_slice_ref_type) GetProcAddress(library, "gpr_slice_ref");
438
+ gpr_slice_unref_import = (gpr_slice_unref_type) GetProcAddress(library, "gpr_slice_unref");
439
+ gpr_slice_new_import = (gpr_slice_new_type) GetProcAddress(library, "gpr_slice_new");
440
+ gpr_slice_new_with_len_import = (gpr_slice_new_with_len_type) GetProcAddress(library, "gpr_slice_new_with_len");
441
+ gpr_slice_malloc_import = (gpr_slice_malloc_type) GetProcAddress(library, "gpr_slice_malloc");
442
+ gpr_slice_from_copied_string_import = (gpr_slice_from_copied_string_type) GetProcAddress(library, "gpr_slice_from_copied_string");
443
+ gpr_slice_from_copied_buffer_import = (gpr_slice_from_copied_buffer_type) GetProcAddress(library, "gpr_slice_from_copied_buffer");
444
+ gpr_slice_from_static_string_import = (gpr_slice_from_static_string_type) GetProcAddress(library, "gpr_slice_from_static_string");
445
+ gpr_slice_sub_import = (gpr_slice_sub_type) GetProcAddress(library, "gpr_slice_sub");
446
+ gpr_slice_sub_no_ref_import = (gpr_slice_sub_no_ref_type) GetProcAddress(library, "gpr_slice_sub_no_ref");
447
+ gpr_slice_split_tail_import = (gpr_slice_split_tail_type) GetProcAddress(library, "gpr_slice_split_tail");
448
+ gpr_slice_split_head_import = (gpr_slice_split_head_type) GetProcAddress(library, "gpr_slice_split_head");
449
+ gpr_empty_slice_import = (gpr_empty_slice_type) GetProcAddress(library, "gpr_empty_slice");
450
+ gpr_slice_cmp_import = (gpr_slice_cmp_type) GetProcAddress(library, "gpr_slice_cmp");
451
+ gpr_slice_str_cmp_import = (gpr_slice_str_cmp_type) GetProcAddress(library, "gpr_slice_str_cmp");
452
+ gpr_slice_buffer_init_import = (gpr_slice_buffer_init_type) GetProcAddress(library, "gpr_slice_buffer_init");
453
+ gpr_slice_buffer_destroy_import = (gpr_slice_buffer_destroy_type) GetProcAddress(library, "gpr_slice_buffer_destroy");
454
+ gpr_slice_buffer_add_import = (gpr_slice_buffer_add_type) GetProcAddress(library, "gpr_slice_buffer_add");
455
+ gpr_slice_buffer_add_indexed_import = (gpr_slice_buffer_add_indexed_type) GetProcAddress(library, "gpr_slice_buffer_add_indexed");
456
+ gpr_slice_buffer_addn_import = (gpr_slice_buffer_addn_type) GetProcAddress(library, "gpr_slice_buffer_addn");
457
+ gpr_slice_buffer_tiny_add_import = (gpr_slice_buffer_tiny_add_type) GetProcAddress(library, "gpr_slice_buffer_tiny_add");
458
+ gpr_slice_buffer_pop_import = (gpr_slice_buffer_pop_type) GetProcAddress(library, "gpr_slice_buffer_pop");
459
+ gpr_slice_buffer_reset_and_unref_import = (gpr_slice_buffer_reset_and_unref_type) GetProcAddress(library, "gpr_slice_buffer_reset_and_unref");
460
+ gpr_slice_buffer_swap_import = (gpr_slice_buffer_swap_type) GetProcAddress(library, "gpr_slice_buffer_swap");
461
+ gpr_slice_buffer_move_into_import = (gpr_slice_buffer_move_into_type) GetProcAddress(library, "gpr_slice_buffer_move_into");
462
+ gpr_slice_buffer_trim_end_import = (gpr_slice_buffer_trim_end_type) GetProcAddress(library, "gpr_slice_buffer_trim_end");
463
+ gpr_slice_buffer_move_first_import = (gpr_slice_buffer_move_first_type) GetProcAddress(library, "gpr_slice_buffer_move_first");
464
+ gpr_slice_buffer_take_first_import = (gpr_slice_buffer_take_first_type) GetProcAddress(library, "gpr_slice_buffer_take_first");
465
+ gpr_mu_init_import = (gpr_mu_init_type) GetProcAddress(library, "gpr_mu_init");
466
+ gpr_mu_destroy_import = (gpr_mu_destroy_type) GetProcAddress(library, "gpr_mu_destroy");
467
+ gpr_mu_lock_import = (gpr_mu_lock_type) GetProcAddress(library, "gpr_mu_lock");
468
+ gpr_mu_unlock_import = (gpr_mu_unlock_type) GetProcAddress(library, "gpr_mu_unlock");
469
+ gpr_mu_trylock_import = (gpr_mu_trylock_type) GetProcAddress(library, "gpr_mu_trylock");
470
+ gpr_cv_init_import = (gpr_cv_init_type) GetProcAddress(library, "gpr_cv_init");
471
+ gpr_cv_destroy_import = (gpr_cv_destroy_type) GetProcAddress(library, "gpr_cv_destroy");
472
+ gpr_cv_wait_import = (gpr_cv_wait_type) GetProcAddress(library, "gpr_cv_wait");
473
+ gpr_cv_signal_import = (gpr_cv_signal_type) GetProcAddress(library, "gpr_cv_signal");
474
+ gpr_cv_broadcast_import = (gpr_cv_broadcast_type) GetProcAddress(library, "gpr_cv_broadcast");
475
+ gpr_once_init_import = (gpr_once_init_type) GetProcAddress(library, "gpr_once_init");
476
+ gpr_event_init_import = (gpr_event_init_type) GetProcAddress(library, "gpr_event_init");
477
+ gpr_event_set_import = (gpr_event_set_type) GetProcAddress(library, "gpr_event_set");
478
+ gpr_event_get_import = (gpr_event_get_type) GetProcAddress(library, "gpr_event_get");
479
+ gpr_event_wait_import = (gpr_event_wait_type) GetProcAddress(library, "gpr_event_wait");
480
+ gpr_ref_init_import = (gpr_ref_init_type) GetProcAddress(library, "gpr_ref_init");
481
+ gpr_ref_import = (gpr_ref_type) GetProcAddress(library, "gpr_ref");
482
+ gpr_refn_import = (gpr_refn_type) GetProcAddress(library, "gpr_refn");
483
+ gpr_unref_import = (gpr_unref_type) GetProcAddress(library, "gpr_unref");
484
+ gpr_stats_init_import = (gpr_stats_init_type) GetProcAddress(library, "gpr_stats_init");
485
+ gpr_stats_inc_import = (gpr_stats_inc_type) GetProcAddress(library, "gpr_stats_inc");
486
+ gpr_stats_read_import = (gpr_stats_read_type) GetProcAddress(library, "gpr_stats_read");
487
+ gpr_time_0_import = (gpr_time_0_type) GetProcAddress(library, "gpr_time_0");
488
+ gpr_inf_future_import = (gpr_inf_future_type) GetProcAddress(library, "gpr_inf_future");
489
+ gpr_inf_past_import = (gpr_inf_past_type) GetProcAddress(library, "gpr_inf_past");
490
+ gpr_time_init_import = (gpr_time_init_type) GetProcAddress(library, "gpr_time_init");
491
+ gpr_now_import = (gpr_now_type) GetProcAddress(library, "gpr_now");
492
+ gpr_convert_clock_type_import = (gpr_convert_clock_type_type) GetProcAddress(library, "gpr_convert_clock_type");
493
+ gpr_time_cmp_import = (gpr_time_cmp_type) GetProcAddress(library, "gpr_time_cmp");
494
+ gpr_time_max_import = (gpr_time_max_type) GetProcAddress(library, "gpr_time_max");
495
+ gpr_time_min_import = (gpr_time_min_type) GetProcAddress(library, "gpr_time_min");
496
+ gpr_time_add_import = (gpr_time_add_type) GetProcAddress(library, "gpr_time_add");
497
+ gpr_time_sub_import = (gpr_time_sub_type) GetProcAddress(library, "gpr_time_sub");
498
+ gpr_time_from_micros_import = (gpr_time_from_micros_type) GetProcAddress(library, "gpr_time_from_micros");
499
+ gpr_time_from_nanos_import = (gpr_time_from_nanos_type) GetProcAddress(library, "gpr_time_from_nanos");
500
+ gpr_time_from_millis_import = (gpr_time_from_millis_type) GetProcAddress(library, "gpr_time_from_millis");
501
+ gpr_time_from_seconds_import = (gpr_time_from_seconds_type) GetProcAddress(library, "gpr_time_from_seconds");
502
+ gpr_time_from_minutes_import = (gpr_time_from_minutes_type) GetProcAddress(library, "gpr_time_from_minutes");
503
+ gpr_time_from_hours_import = (gpr_time_from_hours_type) GetProcAddress(library, "gpr_time_from_hours");
504
+ gpr_time_to_millis_import = (gpr_time_to_millis_type) GetProcAddress(library, "gpr_time_to_millis");
505
+ gpr_time_similar_import = (gpr_time_similar_type) GetProcAddress(library, "gpr_time_similar");
506
+ gpr_sleep_until_import = (gpr_sleep_until_type) GetProcAddress(library, "gpr_sleep_until");
507
+ gpr_timespec_to_micros_import = (gpr_timespec_to_micros_type) GetProcAddress(library, "gpr_timespec_to_micros");
508
+ gpr_avl_create_import = (gpr_avl_create_type) GetProcAddress(library, "gpr_avl_create");
509
+ gpr_avl_ref_import = (gpr_avl_ref_type) GetProcAddress(library, "gpr_avl_ref");
510
+ gpr_avl_unref_import = (gpr_avl_unref_type) GetProcAddress(library, "gpr_avl_unref");
511
+ gpr_avl_add_import = (gpr_avl_add_type) GetProcAddress(library, "gpr_avl_add");
512
+ gpr_avl_remove_import = (gpr_avl_remove_type) GetProcAddress(library, "gpr_avl_remove");
513
+ gpr_avl_get_import = (gpr_avl_get_type) GetProcAddress(library, "gpr_avl_get");
514
+ gpr_cmdline_create_import = (gpr_cmdline_create_type) GetProcAddress(library, "gpr_cmdline_create");
515
+ gpr_cmdline_add_int_import = (gpr_cmdline_add_int_type) GetProcAddress(library, "gpr_cmdline_add_int");
516
+ gpr_cmdline_add_flag_import = (gpr_cmdline_add_flag_type) GetProcAddress(library, "gpr_cmdline_add_flag");
517
+ gpr_cmdline_add_string_import = (gpr_cmdline_add_string_type) GetProcAddress(library, "gpr_cmdline_add_string");
518
+ gpr_cmdline_on_extra_arg_import = (gpr_cmdline_on_extra_arg_type) GetProcAddress(library, "gpr_cmdline_on_extra_arg");
519
+ gpr_cmdline_set_survive_failure_import = (gpr_cmdline_set_survive_failure_type) GetProcAddress(library, "gpr_cmdline_set_survive_failure");
520
+ gpr_cmdline_parse_import = (gpr_cmdline_parse_type) GetProcAddress(library, "gpr_cmdline_parse");
521
+ gpr_cmdline_destroy_import = (gpr_cmdline_destroy_type) GetProcAddress(library, "gpr_cmdline_destroy");
522
+ gpr_cmdline_usage_string_import = (gpr_cmdline_usage_string_type) GetProcAddress(library, "gpr_cmdline_usage_string");
523
+ gpr_cpu_num_cores_import = (gpr_cpu_num_cores_type) GetProcAddress(library, "gpr_cpu_num_cores");
524
+ gpr_cpu_current_cpu_import = (gpr_cpu_current_cpu_type) GetProcAddress(library, "gpr_cpu_current_cpu");
525
+ gpr_histogram_create_import = (gpr_histogram_create_type) GetProcAddress(library, "gpr_histogram_create");
526
+ gpr_histogram_destroy_import = (gpr_histogram_destroy_type) GetProcAddress(library, "gpr_histogram_destroy");
527
+ gpr_histogram_add_import = (gpr_histogram_add_type) GetProcAddress(library, "gpr_histogram_add");
528
+ gpr_histogram_merge_import = (gpr_histogram_merge_type) GetProcAddress(library, "gpr_histogram_merge");
529
+ gpr_histogram_percentile_import = (gpr_histogram_percentile_type) GetProcAddress(library, "gpr_histogram_percentile");
530
+ gpr_histogram_mean_import = (gpr_histogram_mean_type) GetProcAddress(library, "gpr_histogram_mean");
531
+ gpr_histogram_stddev_import = (gpr_histogram_stddev_type) GetProcAddress(library, "gpr_histogram_stddev");
532
+ gpr_histogram_variance_import = (gpr_histogram_variance_type) GetProcAddress(library, "gpr_histogram_variance");
533
+ gpr_histogram_maximum_import = (gpr_histogram_maximum_type) GetProcAddress(library, "gpr_histogram_maximum");
534
+ gpr_histogram_minimum_import = (gpr_histogram_minimum_type) GetProcAddress(library, "gpr_histogram_minimum");
535
+ gpr_histogram_count_import = (gpr_histogram_count_type) GetProcAddress(library, "gpr_histogram_count");
536
+ gpr_histogram_sum_import = (gpr_histogram_sum_type) GetProcAddress(library, "gpr_histogram_sum");
537
+ gpr_histogram_sum_of_squares_import = (gpr_histogram_sum_of_squares_type) GetProcAddress(library, "gpr_histogram_sum_of_squares");
538
+ gpr_histogram_get_contents_import = (gpr_histogram_get_contents_type) GetProcAddress(library, "gpr_histogram_get_contents");
539
+ gpr_histogram_merge_contents_import = (gpr_histogram_merge_contents_type) GetProcAddress(library, "gpr_histogram_merge_contents");
540
+ gpr_join_host_port_import = (gpr_join_host_port_type) GetProcAddress(library, "gpr_join_host_port");
541
+ gpr_split_host_port_import = (gpr_split_host_port_type) GetProcAddress(library, "gpr_split_host_port");
542
+ gpr_format_message_import = (gpr_format_message_type) GetProcAddress(library, "gpr_format_message");
543
+ gpr_strdup_import = (gpr_strdup_type) GetProcAddress(library, "gpr_strdup");
544
+ gpr_asprintf_import = (gpr_asprintf_type) GetProcAddress(library, "gpr_asprintf");
545
+ gpr_subprocess_binary_extension_import = (gpr_subprocess_binary_extension_type) GetProcAddress(library, "gpr_subprocess_binary_extension");
546
+ gpr_subprocess_create_import = (gpr_subprocess_create_type) GetProcAddress(library, "gpr_subprocess_create");
547
+ gpr_subprocess_destroy_import = (gpr_subprocess_destroy_type) GetProcAddress(library, "gpr_subprocess_destroy");
548
+ gpr_subprocess_join_import = (gpr_subprocess_join_type) GetProcAddress(library, "gpr_subprocess_join");
549
+ gpr_subprocess_interrupt_import = (gpr_subprocess_interrupt_type) GetProcAddress(library, "gpr_subprocess_interrupt");
550
+ gpr_thd_new_import = (gpr_thd_new_type) GetProcAddress(library, "gpr_thd_new");
551
+ gpr_thd_options_default_import = (gpr_thd_options_default_type) GetProcAddress(library, "gpr_thd_options_default");
552
+ gpr_thd_options_set_detached_import = (gpr_thd_options_set_detached_type) GetProcAddress(library, "gpr_thd_options_set_detached");
553
+ gpr_thd_options_set_joinable_import = (gpr_thd_options_set_joinable_type) GetProcAddress(library, "gpr_thd_options_set_joinable");
554
+ gpr_thd_options_is_detached_import = (gpr_thd_options_is_detached_type) GetProcAddress(library, "gpr_thd_options_is_detached");
555
+ gpr_thd_options_is_joinable_import = (gpr_thd_options_is_joinable_type) GetProcAddress(library, "gpr_thd_options_is_joinable");
556
+ gpr_thd_currentid_import = (gpr_thd_currentid_type) GetProcAddress(library, "gpr_thd_currentid");
557
+ gpr_thd_join_import = (gpr_thd_join_type) GetProcAddress(library, "gpr_thd_join");
558
+ }
559
+
560
+ #endif /* GPR_WIN32 */