• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  *
3  * Copyright 2016 gRPC authors.
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  *     http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  *
17  */
18 
19 #ifndef GRPC_RB_GRPC_IMPORTS_H_
20 #define GRPC_RB_GRPC_IMPORTS_H_
21 
22 #include <grpc/support/port_platform.h>
23 
24 #ifdef GPR_WINDOWS
25 
26 #include <windows.h>
27 
28 #include <grpc/compression.h>
29 #include <grpc/grpc.h>
30 #include <grpc/grpc_posix.h>
31 #include <grpc/grpc_security.h>
32 #include <grpc/impl/codegen/byte_buffer.h>
33 #include <grpc/impl/codegen/log.h>
34 #include <grpc/slice.h>
35 #include <grpc/slice_buffer.h>
36 #include <grpc/support/alloc.h>
37 #include <grpc/support/cpu.h>
38 #include <grpc/support/log_windows.h>
39 #include <grpc/support/string_util.h>
40 #include <grpc/support/sync.h>
41 #include <grpc/support/thd_id.h>
42 #include <grpc/support/time.h>
43 
44 typedef int(*grpc_compression_algorithm_is_message_type)(grpc_compression_algorithm algorithm);
45 extern grpc_compression_algorithm_is_message_type grpc_compression_algorithm_is_message_import;
46 #define grpc_compression_algorithm_is_message grpc_compression_algorithm_is_message_import
47 typedef int(*grpc_compression_algorithm_is_stream_type)(grpc_compression_algorithm algorithm);
48 extern grpc_compression_algorithm_is_stream_type grpc_compression_algorithm_is_stream_import;
49 #define grpc_compression_algorithm_is_stream grpc_compression_algorithm_is_stream_import
50 typedef int(*grpc_compression_algorithm_parse_type)(grpc_slice name, grpc_compression_algorithm* algorithm);
51 extern grpc_compression_algorithm_parse_type grpc_compression_algorithm_parse_import;
52 #define grpc_compression_algorithm_parse grpc_compression_algorithm_parse_import
53 typedef int(*grpc_compression_algorithm_name_type)(grpc_compression_algorithm algorithm, const char** name);
54 extern grpc_compression_algorithm_name_type grpc_compression_algorithm_name_import;
55 #define grpc_compression_algorithm_name grpc_compression_algorithm_name_import
56 typedef grpc_compression_algorithm(*grpc_compression_algorithm_for_level_type)(grpc_compression_level level, uint32_t accepted_encodings);
57 extern grpc_compression_algorithm_for_level_type grpc_compression_algorithm_for_level_import;
58 #define grpc_compression_algorithm_for_level grpc_compression_algorithm_for_level_import
59 typedef void(*grpc_compression_options_init_type)(grpc_compression_options* opts);
60 extern grpc_compression_options_init_type grpc_compression_options_init_import;
61 #define grpc_compression_options_init grpc_compression_options_init_import
62 typedef void(*grpc_compression_options_enable_algorithm_type)(grpc_compression_options* opts, grpc_compression_algorithm algorithm);
63 extern grpc_compression_options_enable_algorithm_type grpc_compression_options_enable_algorithm_import;
64 #define grpc_compression_options_enable_algorithm grpc_compression_options_enable_algorithm_import
65 typedef void(*grpc_compression_options_disable_algorithm_type)(grpc_compression_options* opts, grpc_compression_algorithm algorithm);
66 extern grpc_compression_options_disable_algorithm_type grpc_compression_options_disable_algorithm_import;
67 #define grpc_compression_options_disable_algorithm grpc_compression_options_disable_algorithm_import
68 typedef int(*grpc_compression_options_is_algorithm_enabled_type)(const grpc_compression_options* opts, grpc_compression_algorithm algorithm);
69 extern grpc_compression_options_is_algorithm_enabled_type grpc_compression_options_is_algorithm_enabled_import;
70 #define grpc_compression_options_is_algorithm_enabled grpc_compression_options_is_algorithm_enabled_import
71 typedef void(*grpc_metadata_array_init_type)(grpc_metadata_array* array);
72 extern grpc_metadata_array_init_type grpc_metadata_array_init_import;
73 #define grpc_metadata_array_init grpc_metadata_array_init_import
74 typedef void(*grpc_metadata_array_destroy_type)(grpc_metadata_array* array);
75 extern grpc_metadata_array_destroy_type grpc_metadata_array_destroy_import;
76 #define grpc_metadata_array_destroy grpc_metadata_array_destroy_import
77 typedef void(*grpc_call_details_init_type)(grpc_call_details* details);
78 extern grpc_call_details_init_type grpc_call_details_init_import;
79 #define grpc_call_details_init grpc_call_details_init_import
80 typedef void(*grpc_call_details_destroy_type)(grpc_call_details* details);
81 extern grpc_call_details_destroy_type grpc_call_details_destroy_import;
82 #define grpc_call_details_destroy grpc_call_details_destroy_import
83 typedef void(*grpc_register_plugin_type)(void (*init)(void), void (*destroy)(void));
84 extern grpc_register_plugin_type grpc_register_plugin_import;
85 #define grpc_register_plugin grpc_register_plugin_import
86 typedef void(*grpc_init_type)(void);
87 extern grpc_init_type grpc_init_import;
88 #define grpc_init grpc_init_import
89 typedef void(*grpc_shutdown_type)(void);
90 extern grpc_shutdown_type grpc_shutdown_import;
91 #define grpc_shutdown grpc_shutdown_import
92 typedef int(*grpc_is_initialized_type)(void);
93 extern grpc_is_initialized_type grpc_is_initialized_import;
94 #define grpc_is_initialized grpc_is_initialized_import
95 typedef void(*grpc_shutdown_blocking_type)(void);
96 extern grpc_shutdown_blocking_type grpc_shutdown_blocking_import;
97 #define grpc_shutdown_blocking grpc_shutdown_blocking_import
98 typedef const char*(*grpc_version_string_type)(void);
99 extern grpc_version_string_type grpc_version_string_import;
100 #define grpc_version_string grpc_version_string_import
101 typedef const char*(*grpc_g_stands_for_type)(void);
102 extern grpc_g_stands_for_type grpc_g_stands_for_import;
103 #define grpc_g_stands_for grpc_g_stands_for_import
104 typedef const grpc_completion_queue_factory*(*grpc_completion_queue_factory_lookup_type)(const grpc_completion_queue_attributes* attributes);
105 extern grpc_completion_queue_factory_lookup_type grpc_completion_queue_factory_lookup_import;
106 #define grpc_completion_queue_factory_lookup grpc_completion_queue_factory_lookup_import
107 typedef grpc_completion_queue*(*grpc_completion_queue_create_for_next_type)(void* reserved);
108 extern grpc_completion_queue_create_for_next_type grpc_completion_queue_create_for_next_import;
109 #define grpc_completion_queue_create_for_next grpc_completion_queue_create_for_next_import
110 typedef grpc_completion_queue*(*grpc_completion_queue_create_for_pluck_type)(void* reserved);
111 extern grpc_completion_queue_create_for_pluck_type grpc_completion_queue_create_for_pluck_import;
112 #define grpc_completion_queue_create_for_pluck grpc_completion_queue_create_for_pluck_import
113 typedef grpc_completion_queue*(*grpc_completion_queue_create_for_callback_type)(grpc_experimental_completion_queue_functor* shutdown_callback, void* reserved);
114 extern grpc_completion_queue_create_for_callback_type grpc_completion_queue_create_for_callback_import;
115 #define grpc_completion_queue_create_for_callback grpc_completion_queue_create_for_callback_import
116 typedef grpc_completion_queue*(*grpc_completion_queue_create_type)(const grpc_completion_queue_factory* factory, const grpc_completion_queue_attributes* attributes, void* reserved);
117 extern grpc_completion_queue_create_type grpc_completion_queue_create_import;
118 #define grpc_completion_queue_create grpc_completion_queue_create_import
119 typedef grpc_event(*grpc_completion_queue_next_type)(grpc_completion_queue* cq, gpr_timespec deadline, void* reserved);
120 extern grpc_completion_queue_next_type grpc_completion_queue_next_import;
121 #define grpc_completion_queue_next grpc_completion_queue_next_import
122 typedef grpc_event(*grpc_completion_queue_pluck_type)(grpc_completion_queue* cq, void* tag, gpr_timespec deadline, void* reserved);
123 extern grpc_completion_queue_pluck_type grpc_completion_queue_pluck_import;
124 #define grpc_completion_queue_pluck grpc_completion_queue_pluck_import
125 typedef void(*grpc_completion_queue_shutdown_type)(grpc_completion_queue* cq);
126 extern grpc_completion_queue_shutdown_type grpc_completion_queue_shutdown_import;
127 #define grpc_completion_queue_shutdown grpc_completion_queue_shutdown_import
128 typedef void(*grpc_completion_queue_destroy_type)(grpc_completion_queue* cq);
129 extern grpc_completion_queue_destroy_type grpc_completion_queue_destroy_import;
130 #define grpc_completion_queue_destroy grpc_completion_queue_destroy_import
131 typedef void(*grpc_completion_queue_thread_local_cache_init_type)(grpc_completion_queue* cq);
132 extern grpc_completion_queue_thread_local_cache_init_type grpc_completion_queue_thread_local_cache_init_import;
133 #define grpc_completion_queue_thread_local_cache_init grpc_completion_queue_thread_local_cache_init_import
134 typedef int(*grpc_completion_queue_thread_local_cache_flush_type)(grpc_completion_queue* cq, void** tag, int* ok);
135 extern grpc_completion_queue_thread_local_cache_flush_type grpc_completion_queue_thread_local_cache_flush_import;
136 #define grpc_completion_queue_thread_local_cache_flush grpc_completion_queue_thread_local_cache_flush_import
137 typedef grpc_connectivity_state(*grpc_channel_check_connectivity_state_type)(grpc_channel* channel, int try_to_connect);
138 extern grpc_channel_check_connectivity_state_type grpc_channel_check_connectivity_state_import;
139 #define grpc_channel_check_connectivity_state grpc_channel_check_connectivity_state_import
140 typedef int(*grpc_channel_num_external_connectivity_watchers_type)(grpc_channel* channel);
141 extern grpc_channel_num_external_connectivity_watchers_type grpc_channel_num_external_connectivity_watchers_import;
142 #define grpc_channel_num_external_connectivity_watchers grpc_channel_num_external_connectivity_watchers_import
143 typedef void(*grpc_channel_watch_connectivity_state_type)(grpc_channel* channel, grpc_connectivity_state last_observed_state, gpr_timespec deadline, grpc_completion_queue* cq, void* tag);
144 extern grpc_channel_watch_connectivity_state_type grpc_channel_watch_connectivity_state_import;
145 #define grpc_channel_watch_connectivity_state grpc_channel_watch_connectivity_state_import
146 typedef int(*grpc_channel_support_connectivity_watcher_type)(grpc_channel* channel);
147 extern grpc_channel_support_connectivity_watcher_type grpc_channel_support_connectivity_watcher_import;
148 #define grpc_channel_support_connectivity_watcher grpc_channel_support_connectivity_watcher_import
149 typedef grpc_call*(*grpc_channel_create_call_type)(grpc_channel* channel, grpc_call* parent_call, uint32_t propagation_mask, grpc_completion_queue* completion_queue, grpc_slice method, const grpc_slice* host, gpr_timespec deadline, void* reserved);
150 extern grpc_channel_create_call_type grpc_channel_create_call_import;
151 #define grpc_channel_create_call grpc_channel_create_call_import
152 typedef void*(*grpc_channel_register_call_type)(grpc_channel* channel, const char* method, const char* host, void* reserved);
153 extern grpc_channel_register_call_type grpc_channel_register_call_import;
154 #define grpc_channel_register_call grpc_channel_register_call_import
155 typedef grpc_call*(*grpc_channel_create_registered_call_type)(grpc_channel* channel, grpc_call* parent_call, uint32_t propagation_mask, grpc_completion_queue* completion_queue, void* registered_call_handle, gpr_timespec deadline, void* reserved);
156 extern grpc_channel_create_registered_call_type grpc_channel_create_registered_call_import;
157 #define grpc_channel_create_registered_call grpc_channel_create_registered_call_import
158 typedef void*(*grpc_call_arena_alloc_type)(grpc_call* call, size_t size);
159 extern grpc_call_arena_alloc_type grpc_call_arena_alloc_import;
160 #define grpc_call_arena_alloc grpc_call_arena_alloc_import
161 typedef grpc_call_error(*grpc_call_start_batch_type)(grpc_call* call, const grpc_op* ops, size_t nops, void* tag, void* reserved);
162 extern grpc_call_start_batch_type grpc_call_start_batch_import;
163 #define grpc_call_start_batch grpc_call_start_batch_import
164 typedef char*(*grpc_call_get_peer_type)(grpc_call* call);
165 extern grpc_call_get_peer_type grpc_call_get_peer_import;
166 #define grpc_call_get_peer grpc_call_get_peer_import
167 typedef void(*grpc_census_call_set_context_type)(grpc_call* call, struct census_context* context);
168 extern grpc_census_call_set_context_type grpc_census_call_set_context_import;
169 #define grpc_census_call_set_context grpc_census_call_set_context_import
170 typedef struct census_context*(*grpc_census_call_get_context_type)(grpc_call* call);
171 extern grpc_census_call_get_context_type grpc_census_call_get_context_import;
172 #define grpc_census_call_get_context grpc_census_call_get_context_import
173 typedef char*(*grpc_channel_get_target_type)(grpc_channel* channel);
174 extern grpc_channel_get_target_type grpc_channel_get_target_import;
175 #define grpc_channel_get_target grpc_channel_get_target_import
176 typedef void(*grpc_channel_get_info_type)(grpc_channel* channel, const grpc_channel_info* channel_info);
177 extern grpc_channel_get_info_type grpc_channel_get_info_import;
178 #define grpc_channel_get_info grpc_channel_get_info_import
179 typedef void(*grpc_channel_reset_connect_backoff_type)(grpc_channel* channel);
180 extern grpc_channel_reset_connect_backoff_type grpc_channel_reset_connect_backoff_import;
181 #define grpc_channel_reset_connect_backoff grpc_channel_reset_connect_backoff_import
182 typedef grpc_channel*(*grpc_insecure_channel_create_type)(const char* target, const grpc_channel_args* args, void* reserved);
183 extern grpc_insecure_channel_create_type grpc_insecure_channel_create_import;
184 #define grpc_insecure_channel_create grpc_insecure_channel_create_import
185 typedef grpc_channel*(*grpc_lame_client_channel_create_type)(const char* target, grpc_status_code error_code, const char* error_message);
186 extern grpc_lame_client_channel_create_type grpc_lame_client_channel_create_import;
187 #define grpc_lame_client_channel_create grpc_lame_client_channel_create_import
188 typedef void(*grpc_channel_destroy_type)(grpc_channel* channel);
189 extern grpc_channel_destroy_type grpc_channel_destroy_import;
190 #define grpc_channel_destroy grpc_channel_destroy_import
191 typedef grpc_call_error(*grpc_call_cancel_type)(grpc_call* call, void* reserved);
192 extern grpc_call_cancel_type grpc_call_cancel_import;
193 #define grpc_call_cancel grpc_call_cancel_import
194 typedef grpc_call_error(*grpc_call_cancel_with_status_type)(grpc_call* call, grpc_status_code status, const char* description, void* reserved);
195 extern grpc_call_cancel_with_status_type grpc_call_cancel_with_status_import;
196 #define grpc_call_cancel_with_status grpc_call_cancel_with_status_import
197 typedef void(*grpc_call_ref_type)(grpc_call* call);
198 extern grpc_call_ref_type grpc_call_ref_import;
199 #define grpc_call_ref grpc_call_ref_import
200 typedef void(*grpc_call_unref_type)(grpc_call* call);
201 extern grpc_call_unref_type grpc_call_unref_import;
202 #define grpc_call_unref grpc_call_unref_import
203 typedef grpc_call_error(*grpc_server_request_call_type)(grpc_server* server, grpc_call** call, grpc_call_details* details, grpc_metadata_array* request_metadata, grpc_completion_queue* cq_bound_to_call, grpc_completion_queue* cq_for_notification, void* tag_new);
204 extern grpc_server_request_call_type grpc_server_request_call_import;
205 #define grpc_server_request_call grpc_server_request_call_import
206 typedef void*(*grpc_server_register_method_type)(grpc_server* server, const char* method, const char* host, grpc_server_register_method_payload_handling payload_handling, uint32_t flags);
207 extern grpc_server_register_method_type grpc_server_register_method_import;
208 #define grpc_server_register_method grpc_server_register_method_import
209 typedef grpc_call_error(*grpc_server_request_registered_call_type)(grpc_server* server, void* registered_method, grpc_call** call, gpr_timespec* deadline, grpc_metadata_array* request_metadata, grpc_byte_buffer** optional_payload, grpc_completion_queue* cq_bound_to_call, grpc_completion_queue* cq_for_notification, void* tag_new);
210 extern grpc_server_request_registered_call_type grpc_server_request_registered_call_import;
211 #define grpc_server_request_registered_call grpc_server_request_registered_call_import
212 typedef grpc_server*(*grpc_server_create_type)(const grpc_channel_args* args, void* reserved);
213 extern grpc_server_create_type grpc_server_create_import;
214 #define grpc_server_create grpc_server_create_import
215 typedef void(*grpc_server_register_completion_queue_type)(grpc_server* server, grpc_completion_queue* cq, void* reserved);
216 extern grpc_server_register_completion_queue_type grpc_server_register_completion_queue_import;
217 #define grpc_server_register_completion_queue grpc_server_register_completion_queue_import
218 typedef grpc_server_config_fetcher*(*grpc_server_config_fetcher_xds_create_type)();
219 extern grpc_server_config_fetcher_xds_create_type grpc_server_config_fetcher_xds_create_import;
220 #define grpc_server_config_fetcher_xds_create grpc_server_config_fetcher_xds_create_import
221 typedef void(*grpc_server_config_fetcher_destroy_type)(grpc_server_config_fetcher* config_fetcher);
222 extern grpc_server_config_fetcher_destroy_type grpc_server_config_fetcher_destroy_import;
223 #define grpc_server_config_fetcher_destroy grpc_server_config_fetcher_destroy_import
224 typedef void(*grpc_server_set_config_fetcher_type)(grpc_server* server, grpc_server_config_fetcher* config_fetcher);
225 extern grpc_server_set_config_fetcher_type grpc_server_set_config_fetcher_import;
226 #define grpc_server_set_config_fetcher grpc_server_set_config_fetcher_import
227 typedef int(*grpc_server_add_insecure_http2_port_type)(grpc_server* server, const char* addr);
228 extern grpc_server_add_insecure_http2_port_type grpc_server_add_insecure_http2_port_import;
229 #define grpc_server_add_insecure_http2_port grpc_server_add_insecure_http2_port_import
230 typedef void(*grpc_server_start_type)(grpc_server* server);
231 extern grpc_server_start_type grpc_server_start_import;
232 #define grpc_server_start grpc_server_start_import
233 typedef void(*grpc_server_shutdown_and_notify_type)(grpc_server* server, grpc_completion_queue* cq, void* tag);
234 extern grpc_server_shutdown_and_notify_type grpc_server_shutdown_and_notify_import;
235 #define grpc_server_shutdown_and_notify grpc_server_shutdown_and_notify_import
236 typedef void(*grpc_server_cancel_all_calls_type)(grpc_server* server);
237 extern grpc_server_cancel_all_calls_type grpc_server_cancel_all_calls_import;
238 #define grpc_server_cancel_all_calls grpc_server_cancel_all_calls_import
239 typedef void(*grpc_server_destroy_type)(grpc_server* server);
240 extern grpc_server_destroy_type grpc_server_destroy_import;
241 #define grpc_server_destroy grpc_server_destroy_import
242 typedef int(*grpc_tracer_set_enabled_type)(const char* name, int enabled);
243 extern grpc_tracer_set_enabled_type grpc_tracer_set_enabled_import;
244 #define grpc_tracer_set_enabled grpc_tracer_set_enabled_import
245 typedef int(*grpc_header_key_is_legal_type)(grpc_slice slice);
246 extern grpc_header_key_is_legal_type grpc_header_key_is_legal_import;
247 #define grpc_header_key_is_legal grpc_header_key_is_legal_import
248 typedef int(*grpc_header_nonbin_value_is_legal_type)(grpc_slice slice);
249 extern grpc_header_nonbin_value_is_legal_type grpc_header_nonbin_value_is_legal_import;
250 #define grpc_header_nonbin_value_is_legal grpc_header_nonbin_value_is_legal_import
251 typedef int(*grpc_is_binary_header_type)(grpc_slice slice);
252 extern grpc_is_binary_header_type grpc_is_binary_header_import;
253 #define grpc_is_binary_header grpc_is_binary_header_import
254 typedef const char*(*grpc_call_error_to_string_type)(grpc_call_error error);
255 extern grpc_call_error_to_string_type grpc_call_error_to_string_import;
256 #define grpc_call_error_to_string grpc_call_error_to_string_import
257 typedef grpc_resource_quota*(*grpc_resource_quota_create_type)(const char* trace_name);
258 extern grpc_resource_quota_create_type grpc_resource_quota_create_import;
259 #define grpc_resource_quota_create grpc_resource_quota_create_import
260 typedef void(*grpc_resource_quota_ref_type)(grpc_resource_quota* resource_quota);
261 extern grpc_resource_quota_ref_type grpc_resource_quota_ref_import;
262 #define grpc_resource_quota_ref grpc_resource_quota_ref_import
263 typedef void(*grpc_resource_quota_unref_type)(grpc_resource_quota* resource_quota);
264 extern grpc_resource_quota_unref_type grpc_resource_quota_unref_import;
265 #define grpc_resource_quota_unref grpc_resource_quota_unref_import
266 typedef void(*grpc_resource_quota_resize_type)(grpc_resource_quota* resource_quota, size_t new_size);
267 extern grpc_resource_quota_resize_type grpc_resource_quota_resize_import;
268 #define grpc_resource_quota_resize grpc_resource_quota_resize_import
269 typedef void(*grpc_resource_quota_set_max_threads_type)(grpc_resource_quota* resource_quota, int new_max_threads);
270 extern grpc_resource_quota_set_max_threads_type grpc_resource_quota_set_max_threads_import;
271 #define grpc_resource_quota_set_max_threads grpc_resource_quota_set_max_threads_import
272 typedef const grpc_arg_pointer_vtable*(*grpc_resource_quota_arg_vtable_type)(void);
273 extern grpc_resource_quota_arg_vtable_type grpc_resource_quota_arg_vtable_import;
274 #define grpc_resource_quota_arg_vtable grpc_resource_quota_arg_vtable_import
275 typedef char*(*grpc_channelz_get_top_channels_type)(intptr_t start_channel_id);
276 extern grpc_channelz_get_top_channels_type grpc_channelz_get_top_channels_import;
277 #define grpc_channelz_get_top_channels grpc_channelz_get_top_channels_import
278 typedef char*(*grpc_channelz_get_servers_type)(intptr_t start_server_id);
279 extern grpc_channelz_get_servers_type grpc_channelz_get_servers_import;
280 #define grpc_channelz_get_servers grpc_channelz_get_servers_import
281 typedef char*(*grpc_channelz_get_server_type)(intptr_t server_id);
282 extern grpc_channelz_get_server_type grpc_channelz_get_server_import;
283 #define grpc_channelz_get_server grpc_channelz_get_server_import
284 typedef char*(*grpc_channelz_get_server_sockets_type)(intptr_t server_id, intptr_t start_socket_id, intptr_t max_results);
285 extern grpc_channelz_get_server_sockets_type grpc_channelz_get_server_sockets_import;
286 #define grpc_channelz_get_server_sockets grpc_channelz_get_server_sockets_import
287 typedef char*(*grpc_channelz_get_channel_type)(intptr_t channel_id);
288 extern grpc_channelz_get_channel_type grpc_channelz_get_channel_import;
289 #define grpc_channelz_get_channel grpc_channelz_get_channel_import
290 typedef char*(*grpc_channelz_get_subchannel_type)(intptr_t subchannel_id);
291 extern grpc_channelz_get_subchannel_type grpc_channelz_get_subchannel_import;
292 #define grpc_channelz_get_subchannel grpc_channelz_get_subchannel_import
293 typedef char*(*grpc_channelz_get_socket_type)(intptr_t socket_id);
294 extern grpc_channelz_get_socket_type grpc_channelz_get_socket_import;
295 #define grpc_channelz_get_socket grpc_channelz_get_socket_import
296 typedef grpc_channel*(*grpc_insecure_channel_create_from_fd_type)(const char* target, int fd, const grpc_channel_args* args);
297 extern grpc_insecure_channel_create_from_fd_type grpc_insecure_channel_create_from_fd_import;
298 #define grpc_insecure_channel_create_from_fd grpc_insecure_channel_create_from_fd_import
299 typedef void(*grpc_server_add_insecure_channel_from_fd_type)(grpc_server* server, void* reserved, int fd);
300 extern grpc_server_add_insecure_channel_from_fd_type grpc_server_add_insecure_channel_from_fd_import;
301 #define grpc_server_add_insecure_channel_from_fd grpc_server_add_insecure_channel_from_fd_import
302 typedef const grpc_auth_property*(*grpc_auth_property_iterator_next_type)(grpc_auth_property_iterator* it);
303 extern grpc_auth_property_iterator_next_type grpc_auth_property_iterator_next_import;
304 #define grpc_auth_property_iterator_next grpc_auth_property_iterator_next_import
305 typedef grpc_auth_property_iterator(*grpc_auth_context_property_iterator_type)(const grpc_auth_context* ctx);
306 extern grpc_auth_context_property_iterator_type grpc_auth_context_property_iterator_import;
307 #define grpc_auth_context_property_iterator grpc_auth_context_property_iterator_import
308 typedef grpc_auth_property_iterator(*grpc_auth_context_peer_identity_type)(const grpc_auth_context* ctx);
309 extern grpc_auth_context_peer_identity_type grpc_auth_context_peer_identity_import;
310 #define grpc_auth_context_peer_identity grpc_auth_context_peer_identity_import
311 typedef grpc_auth_property_iterator(*grpc_auth_context_find_properties_by_name_type)(const grpc_auth_context* ctx, const char* name);
312 extern grpc_auth_context_find_properties_by_name_type grpc_auth_context_find_properties_by_name_import;
313 #define grpc_auth_context_find_properties_by_name grpc_auth_context_find_properties_by_name_import
314 typedef const char*(*grpc_auth_context_peer_identity_property_name_type)(const grpc_auth_context* ctx);
315 extern grpc_auth_context_peer_identity_property_name_type grpc_auth_context_peer_identity_property_name_import;
316 #define grpc_auth_context_peer_identity_property_name grpc_auth_context_peer_identity_property_name_import
317 typedef int(*grpc_auth_context_peer_is_authenticated_type)(const grpc_auth_context* ctx);
318 extern grpc_auth_context_peer_is_authenticated_type grpc_auth_context_peer_is_authenticated_import;
319 #define grpc_auth_context_peer_is_authenticated grpc_auth_context_peer_is_authenticated_import
320 typedef grpc_auth_context*(*grpc_call_auth_context_type)(grpc_call* call);
321 extern grpc_call_auth_context_type grpc_call_auth_context_import;
322 #define grpc_call_auth_context grpc_call_auth_context_import
323 typedef void(*grpc_auth_context_release_type)(grpc_auth_context* context);
324 extern grpc_auth_context_release_type grpc_auth_context_release_import;
325 #define grpc_auth_context_release grpc_auth_context_release_import
326 typedef void(*grpc_auth_context_add_property_type)(grpc_auth_context* ctx, const char* name, const char* value, size_t value_length);
327 extern grpc_auth_context_add_property_type grpc_auth_context_add_property_import;
328 #define grpc_auth_context_add_property grpc_auth_context_add_property_import
329 typedef void(*grpc_auth_context_add_cstring_property_type)(grpc_auth_context* ctx, const char* name, const char* value);
330 extern grpc_auth_context_add_cstring_property_type grpc_auth_context_add_cstring_property_import;
331 #define grpc_auth_context_add_cstring_property grpc_auth_context_add_cstring_property_import
332 typedef int(*grpc_auth_context_set_peer_identity_property_name_type)(grpc_auth_context* ctx, const char* name);
333 extern grpc_auth_context_set_peer_identity_property_name_type grpc_auth_context_set_peer_identity_property_name_import;
334 #define grpc_auth_context_set_peer_identity_property_name grpc_auth_context_set_peer_identity_property_name_import
335 typedef grpc_ssl_session_cache*(*grpc_ssl_session_cache_create_lru_type)(size_t capacity);
336 extern grpc_ssl_session_cache_create_lru_type grpc_ssl_session_cache_create_lru_import;
337 #define grpc_ssl_session_cache_create_lru grpc_ssl_session_cache_create_lru_import
338 typedef void(*grpc_ssl_session_cache_destroy_type)(grpc_ssl_session_cache* cache);
339 extern grpc_ssl_session_cache_destroy_type grpc_ssl_session_cache_destroy_import;
340 #define grpc_ssl_session_cache_destroy grpc_ssl_session_cache_destroy_import
341 typedef grpc_arg(*grpc_ssl_session_cache_create_channel_arg_type)(grpc_ssl_session_cache* cache);
342 extern grpc_ssl_session_cache_create_channel_arg_type grpc_ssl_session_cache_create_channel_arg_import;
343 #define grpc_ssl_session_cache_create_channel_arg grpc_ssl_session_cache_create_channel_arg_import
344 typedef void(*grpc_call_credentials_release_type)(grpc_call_credentials* creds);
345 extern grpc_call_credentials_release_type grpc_call_credentials_release_import;
346 #define grpc_call_credentials_release grpc_call_credentials_release_import
347 typedef void(*grpc_channel_credentials_release_type)(grpc_channel_credentials* creds);
348 extern grpc_channel_credentials_release_type grpc_channel_credentials_release_import;
349 #define grpc_channel_credentials_release grpc_channel_credentials_release_import
350 typedef grpc_channel_credentials*(*grpc_google_default_credentials_create_type)(grpc_call_credentials* call_credentials);
351 extern grpc_google_default_credentials_create_type grpc_google_default_credentials_create_import;
352 #define grpc_google_default_credentials_create grpc_google_default_credentials_create_import
353 typedef void(*grpc_set_ssl_roots_override_callback_type)(grpc_ssl_roots_override_callback cb);
354 extern grpc_set_ssl_roots_override_callback_type grpc_set_ssl_roots_override_callback_import;
355 #define grpc_set_ssl_roots_override_callback grpc_set_ssl_roots_override_callback_import
356 typedef grpc_channel_credentials*(*grpc_ssl_credentials_create_type)(const char* pem_root_certs, grpc_ssl_pem_key_cert_pair* pem_key_cert_pair, const verify_peer_options* verify_options, void* reserved);
357 extern grpc_ssl_credentials_create_type grpc_ssl_credentials_create_import;
358 #define grpc_ssl_credentials_create grpc_ssl_credentials_create_import
359 typedef grpc_channel_credentials*(*grpc_ssl_credentials_create_ex_type)(const char* pem_root_certs, grpc_ssl_pem_key_cert_pair* pem_key_cert_pair, const grpc_ssl_verify_peer_options* verify_options, void* reserved);
360 extern grpc_ssl_credentials_create_ex_type grpc_ssl_credentials_create_ex_import;
361 #define grpc_ssl_credentials_create_ex grpc_ssl_credentials_create_ex_import
362 typedef grpc_channel_credentials*(*grpc_composite_channel_credentials_create_type)(grpc_channel_credentials* channel_creds, grpc_call_credentials* call_creds, void* reserved);
363 extern grpc_composite_channel_credentials_create_type grpc_composite_channel_credentials_create_import;
364 #define grpc_composite_channel_credentials_create grpc_composite_channel_credentials_create_import
365 typedef grpc_call_credentials*(*grpc_composite_call_credentials_create_type)(grpc_call_credentials* creds1, grpc_call_credentials* creds2, void* reserved);
366 extern grpc_composite_call_credentials_create_type grpc_composite_call_credentials_create_import;
367 #define grpc_composite_call_credentials_create grpc_composite_call_credentials_create_import
368 typedef grpc_call_credentials*(*grpc_google_compute_engine_credentials_create_type)(void* reserved);
369 extern grpc_google_compute_engine_credentials_create_type grpc_google_compute_engine_credentials_create_import;
370 #define grpc_google_compute_engine_credentials_create grpc_google_compute_engine_credentials_create_import
371 typedef gpr_timespec(*grpc_max_auth_token_lifetime_type)(void);
372 extern grpc_max_auth_token_lifetime_type grpc_max_auth_token_lifetime_import;
373 #define grpc_max_auth_token_lifetime grpc_max_auth_token_lifetime_import
374 typedef grpc_call_credentials*(*grpc_service_account_jwt_access_credentials_create_type)(const char* json_key, gpr_timespec token_lifetime, void* reserved);
375 extern grpc_service_account_jwt_access_credentials_create_type grpc_service_account_jwt_access_credentials_create_import;
376 #define grpc_service_account_jwt_access_credentials_create grpc_service_account_jwt_access_credentials_create_import
377 typedef grpc_call_credentials*(*grpc_external_account_credentials_create_type)(const char* json_string, const char* scopes_string);
378 extern grpc_external_account_credentials_create_type grpc_external_account_credentials_create_import;
379 #define grpc_external_account_credentials_create grpc_external_account_credentials_create_import
380 typedef grpc_call_credentials*(*grpc_google_refresh_token_credentials_create_type)(const char* json_refresh_token, void* reserved);
381 extern grpc_google_refresh_token_credentials_create_type grpc_google_refresh_token_credentials_create_import;
382 #define grpc_google_refresh_token_credentials_create grpc_google_refresh_token_credentials_create_import
383 typedef grpc_call_credentials*(*grpc_access_token_credentials_create_type)(const char* access_token, void* reserved);
384 extern grpc_access_token_credentials_create_type grpc_access_token_credentials_create_import;
385 #define grpc_access_token_credentials_create grpc_access_token_credentials_create_import
386 typedef grpc_call_credentials*(*grpc_google_iam_credentials_create_type)(const char* authorization_token, const char* authority_selector, void* reserved);
387 extern grpc_google_iam_credentials_create_type grpc_google_iam_credentials_create_import;
388 #define grpc_google_iam_credentials_create grpc_google_iam_credentials_create_import
389 typedef grpc_call_credentials*(*grpc_sts_credentials_create_type)(const grpc_sts_credentials_options* options, void* reserved);
390 extern grpc_sts_credentials_create_type grpc_sts_credentials_create_import;
391 #define grpc_sts_credentials_create grpc_sts_credentials_create_import
392 typedef void(*grpc_auth_metadata_context_copy_type)(grpc_auth_metadata_context* from, grpc_auth_metadata_context* to);
393 extern grpc_auth_metadata_context_copy_type grpc_auth_metadata_context_copy_import;
394 #define grpc_auth_metadata_context_copy grpc_auth_metadata_context_copy_import
395 typedef void(*grpc_auth_metadata_context_reset_type)(grpc_auth_metadata_context* context);
396 extern grpc_auth_metadata_context_reset_type grpc_auth_metadata_context_reset_import;
397 #define grpc_auth_metadata_context_reset grpc_auth_metadata_context_reset_import
398 typedef grpc_call_credentials*(*grpc_metadata_credentials_create_from_plugin_type)(grpc_metadata_credentials_plugin plugin, grpc_security_level min_security_level, void* reserved);
399 extern grpc_metadata_credentials_create_from_plugin_type grpc_metadata_credentials_create_from_plugin_import;
400 #define grpc_metadata_credentials_create_from_plugin grpc_metadata_credentials_create_from_plugin_import
401 typedef grpc_channel*(*grpc_secure_channel_create_type)(grpc_channel_credentials* creds, const char* target, const grpc_channel_args* args, void* reserved);
402 extern grpc_secure_channel_create_type grpc_secure_channel_create_import;
403 #define grpc_secure_channel_create grpc_secure_channel_create_import
404 typedef void(*grpc_server_credentials_release_type)(grpc_server_credentials* creds);
405 extern grpc_server_credentials_release_type grpc_server_credentials_release_import;
406 #define grpc_server_credentials_release grpc_server_credentials_release_import
407 typedef grpc_ssl_server_certificate_config*(*grpc_ssl_server_certificate_config_create_type)(const char* pem_root_certs, const grpc_ssl_pem_key_cert_pair* pem_key_cert_pairs, size_t num_key_cert_pairs);
408 extern grpc_ssl_server_certificate_config_create_type grpc_ssl_server_certificate_config_create_import;
409 #define grpc_ssl_server_certificate_config_create grpc_ssl_server_certificate_config_create_import
410 typedef void(*grpc_ssl_server_certificate_config_destroy_type)(grpc_ssl_server_certificate_config* config);
411 extern grpc_ssl_server_certificate_config_destroy_type grpc_ssl_server_certificate_config_destroy_import;
412 #define grpc_ssl_server_certificate_config_destroy grpc_ssl_server_certificate_config_destroy_import
413 typedef grpc_server_credentials*(*grpc_ssl_server_credentials_create_type)(const char* pem_root_certs, grpc_ssl_pem_key_cert_pair* pem_key_cert_pairs, size_t num_key_cert_pairs, int force_client_auth, void* reserved);
414 extern grpc_ssl_server_credentials_create_type grpc_ssl_server_credentials_create_import;
415 #define grpc_ssl_server_credentials_create grpc_ssl_server_credentials_create_import
416 typedef grpc_server_credentials*(*grpc_ssl_server_credentials_create_ex_type)(const char* pem_root_certs, grpc_ssl_pem_key_cert_pair* pem_key_cert_pairs, size_t num_key_cert_pairs, grpc_ssl_client_certificate_request_type client_certificate_request, void* reserved);
417 extern grpc_ssl_server_credentials_create_ex_type grpc_ssl_server_credentials_create_ex_import;
418 #define grpc_ssl_server_credentials_create_ex grpc_ssl_server_credentials_create_ex_import
419 typedef grpc_ssl_server_credentials_options*(*grpc_ssl_server_credentials_create_options_using_config_type)(grpc_ssl_client_certificate_request_type client_certificate_request, grpc_ssl_server_certificate_config* certificate_config);
420 extern grpc_ssl_server_credentials_create_options_using_config_type grpc_ssl_server_credentials_create_options_using_config_import;
421 #define grpc_ssl_server_credentials_create_options_using_config grpc_ssl_server_credentials_create_options_using_config_import
422 typedef grpc_ssl_server_credentials_options*(*grpc_ssl_server_credentials_create_options_using_config_fetcher_type)(grpc_ssl_client_certificate_request_type client_certificate_request, grpc_ssl_server_certificate_config_callback cb, void* user_data);
423 extern grpc_ssl_server_credentials_create_options_using_config_fetcher_type grpc_ssl_server_credentials_create_options_using_config_fetcher_import;
424 #define grpc_ssl_server_credentials_create_options_using_config_fetcher grpc_ssl_server_credentials_create_options_using_config_fetcher_import
425 typedef void(*grpc_ssl_server_credentials_options_destroy_type)(grpc_ssl_server_credentials_options* options);
426 extern grpc_ssl_server_credentials_options_destroy_type grpc_ssl_server_credentials_options_destroy_import;
427 #define grpc_ssl_server_credentials_options_destroy grpc_ssl_server_credentials_options_destroy_import
428 typedef grpc_server_credentials*(*grpc_ssl_server_credentials_create_with_options_type)(grpc_ssl_server_credentials_options* options);
429 extern grpc_ssl_server_credentials_create_with_options_type grpc_ssl_server_credentials_create_with_options_import;
430 #define grpc_ssl_server_credentials_create_with_options grpc_ssl_server_credentials_create_with_options_import
431 typedef int(*grpc_server_add_secure_http2_port_type)(grpc_server* server, const char* addr, grpc_server_credentials* creds);
432 extern grpc_server_add_secure_http2_port_type grpc_server_add_secure_http2_port_import;
433 #define grpc_server_add_secure_http2_port grpc_server_add_secure_http2_port_import
434 typedef grpc_call_error(*grpc_call_set_credentials_type)(grpc_call* call, grpc_call_credentials* creds);
435 extern grpc_call_set_credentials_type grpc_call_set_credentials_import;
436 #define grpc_call_set_credentials grpc_call_set_credentials_import
437 typedef void(*grpc_server_credentials_set_auth_metadata_processor_type)(grpc_server_credentials* creds, grpc_auth_metadata_processor processor);
438 extern grpc_server_credentials_set_auth_metadata_processor_type grpc_server_credentials_set_auth_metadata_processor_import;
439 #define grpc_server_credentials_set_auth_metadata_processor grpc_server_credentials_set_auth_metadata_processor_import
440 typedef grpc_alts_credentials_options*(*grpc_alts_credentials_client_options_create_type)(void);
441 extern grpc_alts_credentials_client_options_create_type grpc_alts_credentials_client_options_create_import;
442 #define grpc_alts_credentials_client_options_create grpc_alts_credentials_client_options_create_import
443 typedef grpc_alts_credentials_options*(*grpc_alts_credentials_server_options_create_type)(void);
444 extern grpc_alts_credentials_server_options_create_type grpc_alts_credentials_server_options_create_import;
445 #define grpc_alts_credentials_server_options_create grpc_alts_credentials_server_options_create_import
446 typedef void(*grpc_alts_credentials_client_options_add_target_service_account_type)(grpc_alts_credentials_options* options, const char* service_account);
447 extern grpc_alts_credentials_client_options_add_target_service_account_type grpc_alts_credentials_client_options_add_target_service_account_import;
448 #define grpc_alts_credentials_client_options_add_target_service_account grpc_alts_credentials_client_options_add_target_service_account_import
449 typedef void(*grpc_alts_credentials_options_destroy_type)(grpc_alts_credentials_options* options);
450 extern grpc_alts_credentials_options_destroy_type grpc_alts_credentials_options_destroy_import;
451 #define grpc_alts_credentials_options_destroy grpc_alts_credentials_options_destroy_import
452 typedef grpc_channel_credentials*(*grpc_alts_credentials_create_type)(const grpc_alts_credentials_options* options);
453 extern grpc_alts_credentials_create_type grpc_alts_credentials_create_import;
454 #define grpc_alts_credentials_create grpc_alts_credentials_create_import
455 typedef grpc_server_credentials*(*grpc_alts_server_credentials_create_type)(const grpc_alts_credentials_options* options);
456 extern grpc_alts_server_credentials_create_type grpc_alts_server_credentials_create_import;
457 #define grpc_alts_server_credentials_create grpc_alts_server_credentials_create_import
458 typedef grpc_channel_credentials*(*grpc_local_credentials_create_type)(grpc_local_connect_type type);
459 extern grpc_local_credentials_create_type grpc_local_credentials_create_import;
460 #define grpc_local_credentials_create grpc_local_credentials_create_import
461 typedef grpc_server_credentials*(*grpc_local_server_credentials_create_type)(grpc_local_connect_type type);
462 extern grpc_local_server_credentials_create_type grpc_local_server_credentials_create_import;
463 #define grpc_local_server_credentials_create grpc_local_server_credentials_create_import
464 typedef grpc_tls_identity_pairs*(*grpc_tls_identity_pairs_create_type)();
465 extern grpc_tls_identity_pairs_create_type grpc_tls_identity_pairs_create_import;
466 #define grpc_tls_identity_pairs_create grpc_tls_identity_pairs_create_import
467 typedef void(*grpc_tls_identity_pairs_add_pair_type)(grpc_tls_identity_pairs* pairs, const char* private_key, const char* cert_chain);
468 extern grpc_tls_identity_pairs_add_pair_type grpc_tls_identity_pairs_add_pair_import;
469 #define grpc_tls_identity_pairs_add_pair grpc_tls_identity_pairs_add_pair_import
470 typedef void(*grpc_tls_identity_pairs_destroy_type)(grpc_tls_identity_pairs* pairs);
471 extern grpc_tls_identity_pairs_destroy_type grpc_tls_identity_pairs_destroy_import;
472 #define grpc_tls_identity_pairs_destroy grpc_tls_identity_pairs_destroy_import
473 typedef grpc_tls_certificate_provider*(*grpc_tls_certificate_provider_static_data_create_type)(const char* root_certificate, grpc_tls_identity_pairs* pem_key_cert_pairs);
474 extern grpc_tls_certificate_provider_static_data_create_type grpc_tls_certificate_provider_static_data_create_import;
475 #define grpc_tls_certificate_provider_static_data_create grpc_tls_certificate_provider_static_data_create_import
476 typedef grpc_tls_certificate_provider*(*grpc_tls_certificate_provider_file_watcher_create_type)(const char* private_key_path, const char* identity_certificate_path, const char* root_cert_path, unsigned int refresh_interval_sec);
477 extern grpc_tls_certificate_provider_file_watcher_create_type grpc_tls_certificate_provider_file_watcher_create_import;
478 #define grpc_tls_certificate_provider_file_watcher_create grpc_tls_certificate_provider_file_watcher_create_import
479 typedef void(*grpc_tls_certificate_provider_release_type)(grpc_tls_certificate_provider* provider);
480 extern grpc_tls_certificate_provider_release_type grpc_tls_certificate_provider_release_import;
481 #define grpc_tls_certificate_provider_release grpc_tls_certificate_provider_release_import
482 typedef grpc_tls_credentials_options*(*grpc_tls_credentials_options_create_type)(void);
483 extern grpc_tls_credentials_options_create_type grpc_tls_credentials_options_create_import;
484 #define grpc_tls_credentials_options_create grpc_tls_credentials_options_create_import
485 typedef void(*grpc_tls_credentials_options_set_cert_request_type_type)(grpc_tls_credentials_options* options, grpc_ssl_client_certificate_request_type type);
486 extern grpc_tls_credentials_options_set_cert_request_type_type grpc_tls_credentials_options_set_cert_request_type_import;
487 #define grpc_tls_credentials_options_set_cert_request_type grpc_tls_credentials_options_set_cert_request_type_import
488 typedef void(*grpc_tls_credentials_options_set_server_verification_option_type)(grpc_tls_credentials_options* options, grpc_tls_server_verification_option server_verification_option);
489 extern grpc_tls_credentials_options_set_server_verification_option_type grpc_tls_credentials_options_set_server_verification_option_import;
490 #define grpc_tls_credentials_options_set_server_verification_option grpc_tls_credentials_options_set_server_verification_option_import
491 typedef void(*grpc_tls_credentials_options_set_certificate_provider_type)(grpc_tls_credentials_options* options, grpc_tls_certificate_provider* provider);
492 extern grpc_tls_credentials_options_set_certificate_provider_type grpc_tls_credentials_options_set_certificate_provider_import;
493 #define grpc_tls_credentials_options_set_certificate_provider grpc_tls_credentials_options_set_certificate_provider_import
494 typedef void(*grpc_tls_credentials_options_watch_root_certs_type)(grpc_tls_credentials_options* options);
495 extern grpc_tls_credentials_options_watch_root_certs_type grpc_tls_credentials_options_watch_root_certs_import;
496 #define grpc_tls_credentials_options_watch_root_certs grpc_tls_credentials_options_watch_root_certs_import
497 typedef void(*grpc_tls_credentials_options_set_root_cert_name_type)(grpc_tls_credentials_options* options, const char* root_cert_name);
498 extern grpc_tls_credentials_options_set_root_cert_name_type grpc_tls_credentials_options_set_root_cert_name_import;
499 #define grpc_tls_credentials_options_set_root_cert_name grpc_tls_credentials_options_set_root_cert_name_import
500 typedef void(*grpc_tls_credentials_options_watch_identity_key_cert_pairs_type)(grpc_tls_credentials_options* options);
501 extern grpc_tls_credentials_options_watch_identity_key_cert_pairs_type grpc_tls_credentials_options_watch_identity_key_cert_pairs_import;
502 #define grpc_tls_credentials_options_watch_identity_key_cert_pairs grpc_tls_credentials_options_watch_identity_key_cert_pairs_import
503 typedef void(*grpc_tls_credentials_options_set_identity_cert_name_type)(grpc_tls_credentials_options* options, const char* identity_cert_name);
504 extern grpc_tls_credentials_options_set_identity_cert_name_type grpc_tls_credentials_options_set_identity_cert_name_import;
505 #define grpc_tls_credentials_options_set_identity_cert_name grpc_tls_credentials_options_set_identity_cert_name_import
506 typedef void(*grpc_tls_credentials_options_set_server_authorization_check_config_type)(grpc_tls_credentials_options* options, grpc_tls_server_authorization_check_config* config);
507 extern grpc_tls_credentials_options_set_server_authorization_check_config_type grpc_tls_credentials_options_set_server_authorization_check_config_import;
508 #define grpc_tls_credentials_options_set_server_authorization_check_config grpc_tls_credentials_options_set_server_authorization_check_config_import
509 typedef grpc_tls_server_authorization_check_config*(*grpc_tls_server_authorization_check_config_create_type)(const void* config_user_data, int (*schedule)(void* config_user_data, grpc_tls_server_authorization_check_arg* arg), void (*cancel)(void* config_user_data, grpc_tls_server_authorization_check_arg* arg), void (*destruct)(void* config_user_data));
510 extern grpc_tls_server_authorization_check_config_create_type grpc_tls_server_authorization_check_config_create_import;
511 #define grpc_tls_server_authorization_check_config_create grpc_tls_server_authorization_check_config_create_import
512 typedef void(*grpc_tls_server_authorization_check_config_release_type)(grpc_tls_server_authorization_check_config* config);
513 extern grpc_tls_server_authorization_check_config_release_type grpc_tls_server_authorization_check_config_release_import;
514 #define grpc_tls_server_authorization_check_config_release grpc_tls_server_authorization_check_config_release_import
515 typedef grpc_channel_credentials*(*grpc_xds_credentials_create_type)(grpc_channel_credentials* fallback_credentials);
516 extern grpc_xds_credentials_create_type grpc_xds_credentials_create_import;
517 #define grpc_xds_credentials_create grpc_xds_credentials_create_import
518 typedef grpc_server_credentials*(*grpc_xds_server_credentials_create_type)(grpc_server_credentials* fallback_credentials);
519 extern grpc_xds_server_credentials_create_type grpc_xds_server_credentials_create_import;
520 #define grpc_xds_server_credentials_create grpc_xds_server_credentials_create_import
521 typedef grpc_byte_buffer*(*grpc_raw_byte_buffer_create_type)(grpc_slice* slices, size_t nslices);
522 extern grpc_raw_byte_buffer_create_type grpc_raw_byte_buffer_create_import;
523 #define grpc_raw_byte_buffer_create grpc_raw_byte_buffer_create_import
524 typedef grpc_byte_buffer*(*grpc_raw_compressed_byte_buffer_create_type)(grpc_slice* slices, size_t nslices, grpc_compression_algorithm compression);
525 extern grpc_raw_compressed_byte_buffer_create_type grpc_raw_compressed_byte_buffer_create_import;
526 #define grpc_raw_compressed_byte_buffer_create grpc_raw_compressed_byte_buffer_create_import
527 typedef grpc_byte_buffer*(*grpc_byte_buffer_copy_type)(grpc_byte_buffer* bb);
528 extern grpc_byte_buffer_copy_type grpc_byte_buffer_copy_import;
529 #define grpc_byte_buffer_copy grpc_byte_buffer_copy_import
530 typedef size_t(*grpc_byte_buffer_length_type)(grpc_byte_buffer* bb);
531 extern grpc_byte_buffer_length_type grpc_byte_buffer_length_import;
532 #define grpc_byte_buffer_length grpc_byte_buffer_length_import
533 typedef void(*grpc_byte_buffer_destroy_type)(grpc_byte_buffer* bb);
534 extern grpc_byte_buffer_destroy_type grpc_byte_buffer_destroy_import;
535 #define grpc_byte_buffer_destroy grpc_byte_buffer_destroy_import
536 typedef int(*grpc_byte_buffer_reader_init_type)(grpc_byte_buffer_reader* reader, grpc_byte_buffer* buffer);
537 extern grpc_byte_buffer_reader_init_type grpc_byte_buffer_reader_init_import;
538 #define grpc_byte_buffer_reader_init grpc_byte_buffer_reader_init_import
539 typedef void(*grpc_byte_buffer_reader_destroy_type)(grpc_byte_buffer_reader* reader);
540 extern grpc_byte_buffer_reader_destroy_type grpc_byte_buffer_reader_destroy_import;
541 #define grpc_byte_buffer_reader_destroy grpc_byte_buffer_reader_destroy_import
542 typedef int(*grpc_byte_buffer_reader_next_type)(grpc_byte_buffer_reader* reader, grpc_slice* slice);
543 extern grpc_byte_buffer_reader_next_type grpc_byte_buffer_reader_next_import;
544 #define grpc_byte_buffer_reader_next grpc_byte_buffer_reader_next_import
545 typedef int(*grpc_byte_buffer_reader_peek_type)(grpc_byte_buffer_reader* reader, grpc_slice** slice);
546 extern grpc_byte_buffer_reader_peek_type grpc_byte_buffer_reader_peek_import;
547 #define grpc_byte_buffer_reader_peek grpc_byte_buffer_reader_peek_import
548 typedef grpc_slice(*grpc_byte_buffer_reader_readall_type)(grpc_byte_buffer_reader* reader);
549 extern grpc_byte_buffer_reader_readall_type grpc_byte_buffer_reader_readall_import;
550 #define grpc_byte_buffer_reader_readall grpc_byte_buffer_reader_readall_import
551 typedef grpc_byte_buffer*(*grpc_raw_byte_buffer_from_reader_type)(grpc_byte_buffer_reader* reader);
552 extern grpc_raw_byte_buffer_from_reader_type grpc_raw_byte_buffer_from_reader_import;
553 #define grpc_raw_byte_buffer_from_reader grpc_raw_byte_buffer_from_reader_import
554 typedef const char*(*gpr_log_severity_string_type)(gpr_log_severity severity);
555 extern gpr_log_severity_string_type gpr_log_severity_string_import;
556 #define gpr_log_severity_string gpr_log_severity_string_import
557 typedef void(*gpr_log_type)(const char* file, int line, gpr_log_severity severity, const char* format, ...) GPR_PRINT_FORMAT_CHECK(4, 5);
558 extern gpr_log_type gpr_log_import;
559 #define gpr_log gpr_log_import
560 typedef int(*gpr_should_log_type)(gpr_log_severity severity);
561 extern gpr_should_log_type gpr_should_log_import;
562 #define gpr_should_log gpr_should_log_import
563 typedef void(*gpr_log_message_type)(const char* file, int line, gpr_log_severity severity, const char* message);
564 extern gpr_log_message_type gpr_log_message_import;
565 #define gpr_log_message gpr_log_message_import
566 typedef void(*gpr_set_log_verbosity_type)(gpr_log_severity min_severity_to_print);
567 extern gpr_set_log_verbosity_type gpr_set_log_verbosity_import;
568 #define gpr_set_log_verbosity gpr_set_log_verbosity_import
569 typedef void(*gpr_log_verbosity_init_type)(void);
570 extern gpr_log_verbosity_init_type gpr_log_verbosity_init_import;
571 #define gpr_log_verbosity_init gpr_log_verbosity_init_import
572 typedef void(*gpr_set_log_function_type)(gpr_log_func func);
573 extern gpr_set_log_function_type gpr_set_log_function_import;
574 #define gpr_set_log_function gpr_set_log_function_import
575 typedef grpc_slice(*grpc_slice_ref_type)(grpc_slice s);
576 extern grpc_slice_ref_type grpc_slice_ref_import;
577 #define grpc_slice_ref grpc_slice_ref_import
578 typedef void(*grpc_slice_unref_type)(grpc_slice s);
579 extern grpc_slice_unref_type grpc_slice_unref_import;
580 #define grpc_slice_unref grpc_slice_unref_import
581 typedef grpc_slice(*grpc_slice_copy_type)(grpc_slice s);
582 extern grpc_slice_copy_type grpc_slice_copy_import;
583 #define grpc_slice_copy grpc_slice_copy_import
584 typedef grpc_slice(*grpc_slice_new_type)(void* p, size_t len, void (*destroy)(void*));
585 extern grpc_slice_new_type grpc_slice_new_import;
586 #define grpc_slice_new grpc_slice_new_import
587 typedef grpc_slice(*grpc_slice_new_with_user_data_type)(void* p, size_t len, void (*destroy)(void*), void* user_data);
588 extern grpc_slice_new_with_user_data_type grpc_slice_new_with_user_data_import;
589 #define grpc_slice_new_with_user_data grpc_slice_new_with_user_data_import
590 typedef grpc_slice(*grpc_slice_new_with_len_type)(void* p, size_t len, void (*destroy)(void*, size_t));
591 extern grpc_slice_new_with_len_type grpc_slice_new_with_len_import;
592 #define grpc_slice_new_with_len grpc_slice_new_with_len_import
593 typedef grpc_slice(*grpc_slice_malloc_type)(size_t length);
594 extern grpc_slice_malloc_type grpc_slice_malloc_import;
595 #define grpc_slice_malloc grpc_slice_malloc_import
596 typedef grpc_slice(*grpc_slice_malloc_large_type)(size_t length);
597 extern grpc_slice_malloc_large_type grpc_slice_malloc_large_import;
598 #define grpc_slice_malloc_large grpc_slice_malloc_large_import
599 typedef grpc_slice(*grpc_slice_intern_type)(grpc_slice slice);
600 extern grpc_slice_intern_type grpc_slice_intern_import;
601 #define grpc_slice_intern grpc_slice_intern_import
602 typedef grpc_slice(*grpc_slice_from_copied_string_type)(const char* source);
603 extern grpc_slice_from_copied_string_type grpc_slice_from_copied_string_import;
604 #define grpc_slice_from_copied_string grpc_slice_from_copied_string_import
605 typedef grpc_slice(*grpc_slice_from_copied_buffer_type)(const char* source, size_t len);
606 extern grpc_slice_from_copied_buffer_type grpc_slice_from_copied_buffer_import;
607 #define grpc_slice_from_copied_buffer grpc_slice_from_copied_buffer_import
608 typedef grpc_slice(*grpc_slice_from_static_string_type)(const char* source);
609 extern grpc_slice_from_static_string_type grpc_slice_from_static_string_import;
610 #define grpc_slice_from_static_string grpc_slice_from_static_string_import
611 typedef grpc_slice(*grpc_slice_from_static_buffer_type)(const void* source, size_t len);
612 extern grpc_slice_from_static_buffer_type grpc_slice_from_static_buffer_import;
613 #define grpc_slice_from_static_buffer grpc_slice_from_static_buffer_import
614 typedef grpc_slice(*grpc_slice_sub_type)(grpc_slice s, size_t begin, size_t end);
615 extern grpc_slice_sub_type grpc_slice_sub_import;
616 #define grpc_slice_sub grpc_slice_sub_import
617 typedef grpc_slice(*grpc_slice_sub_no_ref_type)(grpc_slice s, size_t begin, size_t end);
618 extern grpc_slice_sub_no_ref_type grpc_slice_sub_no_ref_import;
619 #define grpc_slice_sub_no_ref grpc_slice_sub_no_ref_import
620 typedef grpc_slice(*grpc_slice_split_tail_type)(grpc_slice* s, size_t split);
621 extern grpc_slice_split_tail_type grpc_slice_split_tail_import;
622 #define grpc_slice_split_tail grpc_slice_split_tail_import
623 typedef grpc_slice(*grpc_slice_split_tail_maybe_ref_type)(grpc_slice* s, size_t split, grpc_slice_ref_whom ref_whom);
624 extern grpc_slice_split_tail_maybe_ref_type grpc_slice_split_tail_maybe_ref_import;
625 #define grpc_slice_split_tail_maybe_ref grpc_slice_split_tail_maybe_ref_import
626 typedef grpc_slice(*grpc_slice_split_head_type)(grpc_slice* s, size_t split);
627 extern grpc_slice_split_head_type grpc_slice_split_head_import;
628 #define grpc_slice_split_head grpc_slice_split_head_import
629 typedef grpc_slice(*grpc_empty_slice_type)(void);
630 extern grpc_empty_slice_type grpc_empty_slice_import;
631 #define grpc_empty_slice grpc_empty_slice_import
632 typedef uint32_t(*grpc_slice_default_hash_impl_type)(grpc_slice s);
633 extern grpc_slice_default_hash_impl_type grpc_slice_default_hash_impl_import;
634 #define grpc_slice_default_hash_impl grpc_slice_default_hash_impl_import
635 typedef int(*grpc_slice_default_eq_impl_type)(grpc_slice a, grpc_slice b);
636 extern grpc_slice_default_eq_impl_type grpc_slice_default_eq_impl_import;
637 #define grpc_slice_default_eq_impl grpc_slice_default_eq_impl_import
638 typedef int(*grpc_slice_eq_type)(grpc_slice a, grpc_slice b);
639 extern grpc_slice_eq_type grpc_slice_eq_import;
640 #define grpc_slice_eq grpc_slice_eq_import
641 typedef int(*grpc_slice_cmp_type)(grpc_slice a, grpc_slice b);
642 extern grpc_slice_cmp_type grpc_slice_cmp_import;
643 #define grpc_slice_cmp grpc_slice_cmp_import
644 typedef int(*grpc_slice_str_cmp_type)(grpc_slice a, const char* b);
645 extern grpc_slice_str_cmp_type grpc_slice_str_cmp_import;
646 #define grpc_slice_str_cmp grpc_slice_str_cmp_import
647 typedef int(*grpc_slice_buf_start_eq_type)(grpc_slice a, const void* b, size_t blen);
648 extern grpc_slice_buf_start_eq_type grpc_slice_buf_start_eq_import;
649 #define grpc_slice_buf_start_eq grpc_slice_buf_start_eq_import
650 typedef int(*grpc_slice_rchr_type)(grpc_slice s, char c);
651 extern grpc_slice_rchr_type grpc_slice_rchr_import;
652 #define grpc_slice_rchr grpc_slice_rchr_import
653 typedef int(*grpc_slice_chr_type)(grpc_slice s, char c);
654 extern grpc_slice_chr_type grpc_slice_chr_import;
655 #define grpc_slice_chr grpc_slice_chr_import
656 typedef int(*grpc_slice_slice_type)(grpc_slice haystack, grpc_slice needle);
657 extern grpc_slice_slice_type grpc_slice_slice_import;
658 #define grpc_slice_slice grpc_slice_slice_import
659 typedef uint32_t(*grpc_slice_hash_type)(grpc_slice s);
660 extern grpc_slice_hash_type grpc_slice_hash_import;
661 #define grpc_slice_hash grpc_slice_hash_import
662 typedef int(*grpc_slice_is_equivalent_type)(grpc_slice a, grpc_slice b);
663 extern grpc_slice_is_equivalent_type grpc_slice_is_equivalent_import;
664 #define grpc_slice_is_equivalent grpc_slice_is_equivalent_import
665 typedef grpc_slice(*grpc_slice_dup_type)(grpc_slice a);
666 extern grpc_slice_dup_type grpc_slice_dup_import;
667 #define grpc_slice_dup grpc_slice_dup_import
668 typedef char*(*grpc_slice_to_c_string_type)(grpc_slice s);
669 extern grpc_slice_to_c_string_type grpc_slice_to_c_string_import;
670 #define grpc_slice_to_c_string grpc_slice_to_c_string_import
671 typedef void(*grpc_slice_buffer_init_type)(grpc_slice_buffer* sb);
672 extern grpc_slice_buffer_init_type grpc_slice_buffer_init_import;
673 #define grpc_slice_buffer_init grpc_slice_buffer_init_import
674 typedef void(*grpc_slice_buffer_destroy_type)(grpc_slice_buffer* sb);
675 extern grpc_slice_buffer_destroy_type grpc_slice_buffer_destroy_import;
676 #define grpc_slice_buffer_destroy grpc_slice_buffer_destroy_import
677 typedef void(*grpc_slice_buffer_add_type)(grpc_slice_buffer* sb, grpc_slice slice);
678 extern grpc_slice_buffer_add_type grpc_slice_buffer_add_import;
679 #define grpc_slice_buffer_add grpc_slice_buffer_add_import
680 typedef size_t(*grpc_slice_buffer_add_indexed_type)(grpc_slice_buffer* sb, grpc_slice slice);
681 extern grpc_slice_buffer_add_indexed_type grpc_slice_buffer_add_indexed_import;
682 #define grpc_slice_buffer_add_indexed grpc_slice_buffer_add_indexed_import
683 typedef void(*grpc_slice_buffer_addn_type)(grpc_slice_buffer* sb, grpc_slice* slices, size_t n);
684 extern grpc_slice_buffer_addn_type grpc_slice_buffer_addn_import;
685 #define grpc_slice_buffer_addn grpc_slice_buffer_addn_import
686 typedef uint8_t*(*grpc_slice_buffer_tiny_add_type)(grpc_slice_buffer* sb, size_t len);
687 extern grpc_slice_buffer_tiny_add_type grpc_slice_buffer_tiny_add_import;
688 #define grpc_slice_buffer_tiny_add grpc_slice_buffer_tiny_add_import
689 typedef void(*grpc_slice_buffer_pop_type)(grpc_slice_buffer* sb);
690 extern grpc_slice_buffer_pop_type grpc_slice_buffer_pop_import;
691 #define grpc_slice_buffer_pop grpc_slice_buffer_pop_import
692 typedef void(*grpc_slice_buffer_reset_and_unref_type)(grpc_slice_buffer* sb);
693 extern grpc_slice_buffer_reset_and_unref_type grpc_slice_buffer_reset_and_unref_import;
694 #define grpc_slice_buffer_reset_and_unref grpc_slice_buffer_reset_and_unref_import
695 typedef void(*grpc_slice_buffer_swap_type)(grpc_slice_buffer* a, grpc_slice_buffer* b);
696 extern grpc_slice_buffer_swap_type grpc_slice_buffer_swap_import;
697 #define grpc_slice_buffer_swap grpc_slice_buffer_swap_import
698 typedef void(*grpc_slice_buffer_move_into_type)(grpc_slice_buffer* src, grpc_slice_buffer* dst);
699 extern grpc_slice_buffer_move_into_type grpc_slice_buffer_move_into_import;
700 #define grpc_slice_buffer_move_into grpc_slice_buffer_move_into_import
701 typedef void(*grpc_slice_buffer_trim_end_type)(grpc_slice_buffer* sb, size_t n, grpc_slice_buffer* garbage);
702 extern grpc_slice_buffer_trim_end_type grpc_slice_buffer_trim_end_import;
703 #define grpc_slice_buffer_trim_end grpc_slice_buffer_trim_end_import
704 typedef void(*grpc_slice_buffer_move_first_type)(grpc_slice_buffer* src, size_t n, grpc_slice_buffer* dst);
705 extern grpc_slice_buffer_move_first_type grpc_slice_buffer_move_first_import;
706 #define grpc_slice_buffer_move_first grpc_slice_buffer_move_first_import
707 typedef void(*grpc_slice_buffer_move_first_no_ref_type)(grpc_slice_buffer* src, size_t n, grpc_slice_buffer* dst);
708 extern grpc_slice_buffer_move_first_no_ref_type grpc_slice_buffer_move_first_no_ref_import;
709 #define grpc_slice_buffer_move_first_no_ref grpc_slice_buffer_move_first_no_ref_import
710 typedef void(*grpc_slice_buffer_move_first_into_buffer_type)(grpc_slice_buffer* src, size_t n, void* dst);
711 extern grpc_slice_buffer_move_first_into_buffer_type grpc_slice_buffer_move_first_into_buffer_import;
712 #define grpc_slice_buffer_move_first_into_buffer grpc_slice_buffer_move_first_into_buffer_import
713 typedef grpc_slice(*grpc_slice_buffer_take_first_type)(grpc_slice_buffer* sb);
714 extern grpc_slice_buffer_take_first_type grpc_slice_buffer_take_first_import;
715 #define grpc_slice_buffer_take_first grpc_slice_buffer_take_first_import
716 typedef void(*grpc_slice_buffer_undo_take_first_type)(grpc_slice_buffer* sb, grpc_slice slice);
717 extern grpc_slice_buffer_undo_take_first_type grpc_slice_buffer_undo_take_first_import;
718 #define grpc_slice_buffer_undo_take_first grpc_slice_buffer_undo_take_first_import
719 typedef void*(*gpr_malloc_type)(size_t size);
720 extern gpr_malloc_type gpr_malloc_import;
721 #define gpr_malloc gpr_malloc_import
722 typedef void*(*gpr_zalloc_type)(size_t size);
723 extern gpr_zalloc_type gpr_zalloc_import;
724 #define gpr_zalloc gpr_zalloc_import
725 typedef void(*gpr_free_type)(void* ptr);
726 extern gpr_free_type gpr_free_import;
727 #define gpr_free gpr_free_import
728 typedef void*(*gpr_realloc_type)(void* p, size_t size);
729 extern gpr_realloc_type gpr_realloc_import;
730 #define gpr_realloc gpr_realloc_import
731 typedef void*(*gpr_malloc_aligned_type)(size_t size, size_t alignment);
732 extern gpr_malloc_aligned_type gpr_malloc_aligned_import;
733 #define gpr_malloc_aligned gpr_malloc_aligned_import
734 typedef void(*gpr_free_aligned_type)(void* ptr);
735 extern gpr_free_aligned_type gpr_free_aligned_import;
736 #define gpr_free_aligned gpr_free_aligned_import
737 typedef unsigned(*gpr_cpu_num_cores_type)(void);
738 extern gpr_cpu_num_cores_type gpr_cpu_num_cores_import;
739 #define gpr_cpu_num_cores gpr_cpu_num_cores_import
740 typedef unsigned(*gpr_cpu_current_cpu_type)(void);
741 extern gpr_cpu_current_cpu_type gpr_cpu_current_cpu_import;
742 #define gpr_cpu_current_cpu gpr_cpu_current_cpu_import
743 typedef char*(*gpr_format_message_type)(int messageid);
744 extern gpr_format_message_type gpr_format_message_import;
745 #define gpr_format_message gpr_format_message_import
746 typedef char*(*gpr_strdup_type)(const char* src);
747 extern gpr_strdup_type gpr_strdup_import;
748 #define gpr_strdup gpr_strdup_import
749 typedef int(*gpr_asprintf_type)(char** strp, const char* format, ...) GPR_PRINT_FORMAT_CHECK(2, 3);
750 extern gpr_asprintf_type gpr_asprintf_import;
751 #define gpr_asprintf gpr_asprintf_import
752 typedef void(*gpr_mu_init_type)(gpr_mu* mu);
753 extern gpr_mu_init_type gpr_mu_init_import;
754 #define gpr_mu_init gpr_mu_init_import
755 typedef void(*gpr_mu_destroy_type)(gpr_mu* mu);
756 extern gpr_mu_destroy_type gpr_mu_destroy_import;
757 #define gpr_mu_destroy gpr_mu_destroy_import
758 typedef void(*gpr_mu_lock_type)(gpr_mu* mu);
759 extern gpr_mu_lock_type gpr_mu_lock_import;
760 #define gpr_mu_lock gpr_mu_lock_import
761 typedef void(*gpr_mu_unlock_type)(gpr_mu* mu);
762 extern gpr_mu_unlock_type gpr_mu_unlock_import;
763 #define gpr_mu_unlock gpr_mu_unlock_import
764 typedef int(*gpr_mu_trylock_type)(gpr_mu* mu);
765 extern gpr_mu_trylock_type gpr_mu_trylock_import;
766 #define gpr_mu_trylock gpr_mu_trylock_import
767 typedef void(*gpr_cv_init_type)(gpr_cv* cv);
768 extern gpr_cv_init_type gpr_cv_init_import;
769 #define gpr_cv_init gpr_cv_init_import
770 typedef void(*gpr_cv_destroy_type)(gpr_cv* cv);
771 extern gpr_cv_destroy_type gpr_cv_destroy_import;
772 #define gpr_cv_destroy gpr_cv_destroy_import
773 typedef int(*gpr_cv_wait_type)(gpr_cv* cv, gpr_mu* mu, gpr_timespec abs_deadline);
774 extern gpr_cv_wait_type gpr_cv_wait_import;
775 #define gpr_cv_wait gpr_cv_wait_import
776 typedef void(*gpr_cv_signal_type)(gpr_cv* cv);
777 extern gpr_cv_signal_type gpr_cv_signal_import;
778 #define gpr_cv_signal gpr_cv_signal_import
779 typedef void(*gpr_cv_broadcast_type)(gpr_cv* cv);
780 extern gpr_cv_broadcast_type gpr_cv_broadcast_import;
781 #define gpr_cv_broadcast gpr_cv_broadcast_import
782 typedef void(*gpr_once_init_type)(gpr_once* once, void (*init_function)(void));
783 extern gpr_once_init_type gpr_once_init_import;
784 #define gpr_once_init gpr_once_init_import
785 typedef void(*gpr_event_init_type)(gpr_event* ev);
786 extern gpr_event_init_type gpr_event_init_import;
787 #define gpr_event_init gpr_event_init_import
788 typedef void(*gpr_event_set_type)(gpr_event* ev, void* value);
789 extern gpr_event_set_type gpr_event_set_import;
790 #define gpr_event_set gpr_event_set_import
791 typedef void*(*gpr_event_get_type)(gpr_event* ev);
792 extern gpr_event_get_type gpr_event_get_import;
793 #define gpr_event_get gpr_event_get_import
794 typedef void*(*gpr_event_wait_type)(gpr_event* ev, gpr_timespec abs_deadline);
795 extern gpr_event_wait_type gpr_event_wait_import;
796 #define gpr_event_wait gpr_event_wait_import
797 typedef void(*gpr_ref_init_type)(gpr_refcount* r, int n);
798 extern gpr_ref_init_type gpr_ref_init_import;
799 #define gpr_ref_init gpr_ref_init_import
800 typedef void(*gpr_ref_type)(gpr_refcount* r);
801 extern gpr_ref_type gpr_ref_import;
802 #define gpr_ref gpr_ref_import
803 typedef void(*gpr_ref_non_zero_type)(gpr_refcount* r);
804 extern gpr_ref_non_zero_type gpr_ref_non_zero_import;
805 #define gpr_ref_non_zero gpr_ref_non_zero_import
806 typedef void(*gpr_refn_type)(gpr_refcount* r, int n);
807 extern gpr_refn_type gpr_refn_import;
808 #define gpr_refn gpr_refn_import
809 typedef int(*gpr_unref_type)(gpr_refcount* r);
810 extern gpr_unref_type gpr_unref_import;
811 #define gpr_unref gpr_unref_import
812 typedef int(*gpr_ref_is_unique_type)(gpr_refcount* r);
813 extern gpr_ref_is_unique_type gpr_ref_is_unique_import;
814 #define gpr_ref_is_unique gpr_ref_is_unique_import
815 typedef void(*gpr_stats_init_type)(gpr_stats_counter* c, intptr_t n);
816 extern gpr_stats_init_type gpr_stats_init_import;
817 #define gpr_stats_init gpr_stats_init_import
818 typedef void(*gpr_stats_inc_type)(gpr_stats_counter* c, intptr_t inc);
819 extern gpr_stats_inc_type gpr_stats_inc_import;
820 #define gpr_stats_inc gpr_stats_inc_import
821 typedef intptr_t(*gpr_stats_read_type)(const gpr_stats_counter* c);
822 extern gpr_stats_read_type gpr_stats_read_import;
823 #define gpr_stats_read gpr_stats_read_import
824 typedef gpr_thd_id(*gpr_thd_currentid_type)(void);
825 extern gpr_thd_currentid_type gpr_thd_currentid_import;
826 #define gpr_thd_currentid gpr_thd_currentid_import
827 typedef gpr_timespec(*gpr_time_0_type)(gpr_clock_type type);
828 extern gpr_time_0_type gpr_time_0_import;
829 #define gpr_time_0 gpr_time_0_import
830 typedef gpr_timespec(*gpr_inf_future_type)(gpr_clock_type type);
831 extern gpr_inf_future_type gpr_inf_future_import;
832 #define gpr_inf_future gpr_inf_future_import
833 typedef gpr_timespec(*gpr_inf_past_type)(gpr_clock_type type);
834 extern gpr_inf_past_type gpr_inf_past_import;
835 #define gpr_inf_past gpr_inf_past_import
836 typedef void(*gpr_time_init_type)(void);
837 extern gpr_time_init_type gpr_time_init_import;
838 #define gpr_time_init gpr_time_init_import
839 typedef gpr_timespec(*gpr_now_type)(gpr_clock_type clock);
840 extern gpr_now_type gpr_now_import;
841 #define gpr_now gpr_now_import
842 typedef gpr_timespec(*gpr_convert_clock_type_type)(gpr_timespec t, gpr_clock_type clock_type);
843 extern gpr_convert_clock_type_type gpr_convert_clock_type_import;
844 #define gpr_convert_clock_type gpr_convert_clock_type_import
845 typedef int(*gpr_time_cmp_type)(gpr_timespec a, gpr_timespec b);
846 extern gpr_time_cmp_type gpr_time_cmp_import;
847 #define gpr_time_cmp gpr_time_cmp_import
848 typedef gpr_timespec(*gpr_time_max_type)(gpr_timespec a, gpr_timespec b);
849 extern gpr_time_max_type gpr_time_max_import;
850 #define gpr_time_max gpr_time_max_import
851 typedef gpr_timespec(*gpr_time_min_type)(gpr_timespec a, gpr_timespec b);
852 extern gpr_time_min_type gpr_time_min_import;
853 #define gpr_time_min gpr_time_min_import
854 typedef gpr_timespec(*gpr_time_add_type)(gpr_timespec a, gpr_timespec b);
855 extern gpr_time_add_type gpr_time_add_import;
856 #define gpr_time_add gpr_time_add_import
857 typedef gpr_timespec(*gpr_time_sub_type)(gpr_timespec a, gpr_timespec b);
858 extern gpr_time_sub_type gpr_time_sub_import;
859 #define gpr_time_sub gpr_time_sub_import
860 typedef gpr_timespec(*gpr_time_from_micros_type)(int64_t us, gpr_clock_type clock_type);
861 extern gpr_time_from_micros_type gpr_time_from_micros_import;
862 #define gpr_time_from_micros gpr_time_from_micros_import
863 typedef gpr_timespec(*gpr_time_from_nanos_type)(int64_t ns, gpr_clock_type clock_type);
864 extern gpr_time_from_nanos_type gpr_time_from_nanos_import;
865 #define gpr_time_from_nanos gpr_time_from_nanos_import
866 typedef gpr_timespec(*gpr_time_from_millis_type)(int64_t ms, gpr_clock_type clock_type);
867 extern gpr_time_from_millis_type gpr_time_from_millis_import;
868 #define gpr_time_from_millis gpr_time_from_millis_import
869 typedef gpr_timespec(*gpr_time_from_seconds_type)(int64_t s, gpr_clock_type clock_type);
870 extern gpr_time_from_seconds_type gpr_time_from_seconds_import;
871 #define gpr_time_from_seconds gpr_time_from_seconds_import
872 typedef gpr_timespec(*gpr_time_from_minutes_type)(int64_t m, gpr_clock_type clock_type);
873 extern gpr_time_from_minutes_type gpr_time_from_minutes_import;
874 #define gpr_time_from_minutes gpr_time_from_minutes_import
875 typedef gpr_timespec(*gpr_time_from_hours_type)(int64_t h, gpr_clock_type clock_type);
876 extern gpr_time_from_hours_type gpr_time_from_hours_import;
877 #define gpr_time_from_hours gpr_time_from_hours_import
878 typedef int32_t(*gpr_time_to_millis_type)(gpr_timespec timespec);
879 extern gpr_time_to_millis_type gpr_time_to_millis_import;
880 #define gpr_time_to_millis gpr_time_to_millis_import
881 typedef int(*gpr_time_similar_type)(gpr_timespec a, gpr_timespec b, gpr_timespec threshold);
882 extern gpr_time_similar_type gpr_time_similar_import;
883 #define gpr_time_similar gpr_time_similar_import
884 typedef void(*gpr_sleep_until_type)(gpr_timespec until);
885 extern gpr_sleep_until_type gpr_sleep_until_import;
886 #define gpr_sleep_until gpr_sleep_until_import
887 typedef double(*gpr_timespec_to_micros_type)(gpr_timespec t);
888 extern gpr_timespec_to_micros_type gpr_timespec_to_micros_import;
889 #define gpr_timespec_to_micros gpr_timespec_to_micros_import
890 
891 void grpc_rb_load_imports(HMODULE library);
892 
893 #endif /* GPR_WINDOWS */
894 
895 #endif
896