blob: b16e6738781abc30871609d5328f7fa04b2c5faa [file] [log] [blame]
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +01001/*
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#ifndef GRPC_RB_GRPC_IMPORTS_H_
35#define GRPC_RB_GRPC_IMPORTS_H_
36
37#include <grpc/support/port_platform.h>
38
Yuchen Zeng12dfdc32016-04-26 22:05:41 -070039#ifdef GPR_WINDOWS
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +010040
41#include <windows.h>
42
David Garcia Quintas3b31fdf2016-07-27 18:17:12 -070043#include <grpc/byte_buffer.h>
Nicolas "Pixel" Nobleb8e9e9c2016-01-30 18:35:13 +010044#include <grpc/census.h>
45#include <grpc/compression.h>
46#include <grpc/grpc.h>
Adam Michalik321b1fb2016-05-16 15:42:36 -070047#include <grpc/grpc_posix.h>
Nicolas "Pixel" Nobleb8e9e9c2016-01-30 18:35:13 +010048#include <grpc/grpc_security.h>
Craig Tillerc3350542016-10-26 16:19:01 -070049#include <grpc/slice.h>
50#include <grpc/slice_buffer.h>
David Garcia Quintas3b31fdf2016-07-27 18:17:12 -070051#include <grpc/support/alloc.h>
Nicolas "Pixel" Nobleb8e9e9c2016-01-30 18:35:13 +010052#include <grpc/support/avl.h>
53#include <grpc/support/cmdline.h>
54#include <grpc/support/cpu.h>
55#include <grpc/support/histogram.h>
56#include <grpc/support/host_port.h>
David Garcia Quintasc79b0652016-07-27 21:11:58 -070057#include <grpc/support/log.h>
Yuchen Zeng12dfdc32016-04-26 22:05:41 -070058#include <grpc/support/log_windows.h>
Nicolas "Pixel" Nobleb8e9e9c2016-01-30 18:35:13 +010059#include <grpc/support/string_util.h>
60#include <grpc/support/subprocess.h>
David Garcia Quintas2ee99f42016-08-01 19:15:31 -070061#include <grpc/support/sync.h>
Nicolas "Pixel" Nobleb8e9e9c2016-01-30 18:35:13 +010062#include <grpc/support/thd.h>
David Garcia Quintas1399e462016-07-27 20:31:55 -070063#include <grpc/support/time.h>
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +010064
Craig Tillerd41a4a72016-10-26 16:16:06 -070065typedef grpc_byte_buffer *(*grpc_raw_byte_buffer_create_type)(grpc_slice *slices, size_t nslices);
David Garcia Quintas3b31fdf2016-07-27 18:17:12 -070066extern grpc_raw_byte_buffer_create_type grpc_raw_byte_buffer_create_import;
67#define grpc_raw_byte_buffer_create grpc_raw_byte_buffer_create_import
Craig Tillerd41a4a72016-10-26 16:16:06 -070068typedef grpc_byte_buffer *(*grpc_raw_compressed_byte_buffer_create_type)(grpc_slice *slices, size_t nslices, grpc_compression_algorithm compression);
David Garcia Quintas3b31fdf2016-07-27 18:17:12 -070069extern grpc_raw_compressed_byte_buffer_create_type grpc_raw_compressed_byte_buffer_create_import;
70#define grpc_raw_compressed_byte_buffer_create grpc_raw_compressed_byte_buffer_create_import
71typedef grpc_byte_buffer *(*grpc_byte_buffer_copy_type)(grpc_byte_buffer *bb);
72extern grpc_byte_buffer_copy_type grpc_byte_buffer_copy_import;
73#define grpc_byte_buffer_copy grpc_byte_buffer_copy_import
74typedef size_t(*grpc_byte_buffer_length_type)(grpc_byte_buffer *bb);
75extern grpc_byte_buffer_length_type grpc_byte_buffer_length_import;
76#define grpc_byte_buffer_length grpc_byte_buffer_length_import
77typedef void(*grpc_byte_buffer_destroy_type)(grpc_byte_buffer *byte_buffer);
78extern grpc_byte_buffer_destroy_type grpc_byte_buffer_destroy_import;
79#define grpc_byte_buffer_destroy grpc_byte_buffer_destroy_import
80typedef int(*grpc_byte_buffer_reader_init_type)(grpc_byte_buffer_reader *reader, grpc_byte_buffer *buffer);
81extern grpc_byte_buffer_reader_init_type grpc_byte_buffer_reader_init_import;
82#define grpc_byte_buffer_reader_init grpc_byte_buffer_reader_init_import
83typedef void(*grpc_byte_buffer_reader_destroy_type)(grpc_byte_buffer_reader *reader);
84extern grpc_byte_buffer_reader_destroy_type grpc_byte_buffer_reader_destroy_import;
85#define grpc_byte_buffer_reader_destroy grpc_byte_buffer_reader_destroy_import
Craig Tillerd41a4a72016-10-26 16:16:06 -070086typedef int(*grpc_byte_buffer_reader_next_type)(grpc_byte_buffer_reader *reader, grpc_slice *slice);
David Garcia Quintas3b31fdf2016-07-27 18:17:12 -070087extern grpc_byte_buffer_reader_next_type grpc_byte_buffer_reader_next_import;
88#define grpc_byte_buffer_reader_next grpc_byte_buffer_reader_next_import
Craig Tillerd41a4a72016-10-26 16:16:06 -070089typedef grpc_slice(*grpc_byte_buffer_reader_readall_type)(grpc_byte_buffer_reader *reader);
David Garcia Quintas3b31fdf2016-07-27 18:17:12 -070090extern grpc_byte_buffer_reader_readall_type grpc_byte_buffer_reader_readall_import;
91#define grpc_byte_buffer_reader_readall grpc_byte_buffer_reader_readall_import
92typedef grpc_byte_buffer *(*grpc_raw_byte_buffer_from_reader_type)(grpc_byte_buffer_reader *reader);
93extern grpc_raw_byte_buffer_from_reader_type grpc_raw_byte_buffer_from_reader_import;
94#define grpc_raw_byte_buffer_from_reader grpc_raw_byte_buffer_from_reader_import
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +010095typedef int(*census_initialize_type)(int features);
96extern census_initialize_type census_initialize_import;
97#define census_initialize census_initialize_import
98typedef void(*census_shutdown_type)(void);
99extern census_shutdown_type census_shutdown_import;
100#define census_shutdown census_shutdown_import
101typedef int(*census_supported_type)(void);
102extern census_supported_type census_supported_import;
103#define census_supported census_supported_import
104typedef int(*census_enabled_type)(void);
105extern census_enabled_type census_enabled_import;
106#define census_enabled census_enabled_import
Alistair Veitch6f2b8992016-02-03 09:02:46 -0800107typedef census_context *(*census_context_create_type)(const census_context *base, const census_tag *tags, int ntags, census_context_status const **status);
108extern census_context_create_type census_context_create_import;
109#define census_context_create census_context_create_import
110typedef void(*census_context_destroy_type)(census_context *context);
111extern census_context_destroy_type census_context_destroy_import;
112#define census_context_destroy census_context_destroy_import
113typedef const census_context_status *(*census_context_get_status_type)(const census_context *context);
114extern census_context_get_status_type census_context_get_status_import;
115#define census_context_get_status census_context_get_status_import
116typedef void(*census_context_initialize_iterator_type)(const census_context *context, census_context_iterator *iterator);
117extern census_context_initialize_iterator_type census_context_initialize_iterator_import;
118#define census_context_initialize_iterator census_context_initialize_iterator_import
119typedef int(*census_context_next_tag_type)(census_context_iterator *iterator, census_tag *tag);
120extern census_context_next_tag_type census_context_next_tag_import;
121#define census_context_next_tag census_context_next_tag_import
122typedef int(*census_context_get_tag_type)(const census_context *context, const char *key, census_tag *tag);
123extern census_context_get_tag_type census_context_get_tag_import;
124#define census_context_get_tag census_context_get_tag_import
Alistair Veitch0cc82422016-02-26 10:54:20 -0800125typedef size_t(*census_context_encode_type)(const census_context *context, char *buffer, size_t buf_size);
Alistair Veitch6f2b8992016-02-03 09:02:46 -0800126extern census_context_encode_type census_context_encode_import;
127#define census_context_encode census_context_encode_import
Alistair Veitch0cc82422016-02-26 10:54:20 -0800128typedef census_context *(*census_context_decode_type)(const char *buffer, size_t size);
Alistair Veitch6f2b8992016-02-03 09:02:46 -0800129extern census_context_decode_type census_context_decode_import;
130#define census_context_decode census_context_decode_import
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100131typedef int(*census_trace_mask_type)(const census_context *context);
132extern census_trace_mask_type census_trace_mask_import;
133#define census_trace_mask census_trace_mask_import
134typedef void(*census_set_trace_mask_type)(int trace_mask);
135extern census_set_trace_mask_type census_set_trace_mask_import;
136#define census_set_trace_mask census_set_trace_mask_import
137typedef census_timestamp(*census_start_rpc_op_timestamp_type)(void);
138extern census_start_rpc_op_timestamp_type census_start_rpc_op_timestamp_import;
139#define census_start_rpc_op_timestamp census_start_rpc_op_timestamp_import
140typedef census_context *(*census_start_client_rpc_op_type)(const census_context *context, int64_t rpc_name_id, const census_rpc_name_info *rpc_name_info, const char *peer, int trace_mask, const census_timestamp *start_time);
141extern census_start_client_rpc_op_type census_start_client_rpc_op_import;
142#define census_start_client_rpc_op census_start_client_rpc_op_import
143typedef void(*census_set_rpc_client_peer_type)(census_context *context, const char *peer);
144extern census_set_rpc_client_peer_type census_set_rpc_client_peer_import;
145#define census_set_rpc_client_peer census_set_rpc_client_peer_import
146typedef census_context *(*census_start_server_rpc_op_type)(const char *buffer, int64_t rpc_name_id, const census_rpc_name_info *rpc_name_info, const char *peer, int trace_mask, census_timestamp *start_time);
147extern census_start_server_rpc_op_type census_start_server_rpc_op_import;
148#define census_start_server_rpc_op census_start_server_rpc_op_import
149typedef census_context *(*census_start_op_type)(census_context *context, const char *family, const char *name, int trace_mask);
150extern census_start_op_type census_start_op_import;
151#define census_start_op census_start_op_import
152typedef void(*census_end_op_type)(census_context *context, int status);
153extern census_end_op_type census_end_op_import;
154#define census_end_op census_end_op_import
155typedef void(*census_trace_print_type)(census_context *context, uint32_t type, const char *buffer, size_t n);
156extern census_trace_print_type census_trace_print_import;
157#define census_trace_print census_trace_print_import
158typedef int(*census_trace_scan_start_type)(int consume);
159extern census_trace_scan_start_type census_trace_scan_start_import;
160#define census_trace_scan_start census_trace_scan_start_import
161typedef int(*census_get_trace_record_type)(census_trace_record *trace_record);
162extern census_get_trace_record_type census_get_trace_record_import;
163#define census_get_trace_record census_get_trace_record_import
164typedef void(*census_trace_scan_end_type)();
165extern census_trace_scan_end_type census_trace_scan_end_import;
166#define census_trace_scan_end census_trace_scan_end_import
Alistair Veitch4aaba752016-06-02 17:11:46 -0700167typedef int32_t(*census_define_resource_type)(const uint8_t *resource_pb, size_t resource_pb_size);
168extern census_define_resource_type census_define_resource_import;
169#define census_define_resource census_define_resource_import
170typedef void(*census_delete_resource_type)(int32_t resource_id);
171extern census_delete_resource_type census_delete_resource_import;
172#define census_delete_resource census_delete_resource_import
173typedef int32_t(*census_resource_id_type)(const char *name);
174extern census_resource_id_type census_resource_id_import;
175#define census_resource_id census_resource_id_import
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100176typedef void(*census_record_values_type)(census_context *context, census_value *values, size_t nvalues);
177extern census_record_values_type census_record_values_import;
178#define census_record_values census_record_values_import
Craig Tiller7c70b6c2017-01-23 07:48:42 -0800179typedef int(*grpc_compression_algorithm_parse_type)(grpc_slice value, grpc_compression_algorithm *algorithm);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100180extern grpc_compression_algorithm_parse_type grpc_compression_algorithm_parse_import;
181#define grpc_compression_algorithm_parse grpc_compression_algorithm_parse_import
182typedef int(*grpc_compression_algorithm_name_type)(grpc_compression_algorithm algorithm, char **name);
183extern grpc_compression_algorithm_name_type grpc_compression_algorithm_name_import;
184#define grpc_compression_algorithm_name grpc_compression_algorithm_name_import
David Garcia Quintasa36ec162016-03-18 10:00:23 -0700185typedef grpc_compression_algorithm(*grpc_compression_algorithm_for_level_type)(grpc_compression_level level, uint32_t accepted_encodings);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100186extern grpc_compression_algorithm_for_level_type grpc_compression_algorithm_for_level_import;
187#define grpc_compression_algorithm_for_level grpc_compression_algorithm_for_level_import
188typedef void(*grpc_compression_options_init_type)(grpc_compression_options *opts);
189extern grpc_compression_options_init_type grpc_compression_options_init_import;
190#define grpc_compression_options_init grpc_compression_options_init_import
191typedef void(*grpc_compression_options_enable_algorithm_type)(grpc_compression_options *opts, grpc_compression_algorithm algorithm);
192extern grpc_compression_options_enable_algorithm_type grpc_compression_options_enable_algorithm_import;
193#define grpc_compression_options_enable_algorithm grpc_compression_options_enable_algorithm_import
194typedef void(*grpc_compression_options_disable_algorithm_type)(grpc_compression_options *opts, grpc_compression_algorithm algorithm);
195extern grpc_compression_options_disable_algorithm_type grpc_compression_options_disable_algorithm_import;
196#define grpc_compression_options_disable_algorithm grpc_compression_options_disable_algorithm_import
197typedef int(*grpc_compression_options_is_algorithm_enabled_type)(const grpc_compression_options *opts, grpc_compression_algorithm algorithm);
198extern grpc_compression_options_is_algorithm_enabled_type grpc_compression_options_is_algorithm_enabled_import;
199#define grpc_compression_options_is_algorithm_enabled grpc_compression_options_is_algorithm_enabled_import
200typedef void(*grpc_metadata_array_init_type)(grpc_metadata_array *array);
201extern grpc_metadata_array_init_type grpc_metadata_array_init_import;
202#define grpc_metadata_array_init grpc_metadata_array_init_import
203typedef void(*grpc_metadata_array_destroy_type)(grpc_metadata_array *array);
204extern grpc_metadata_array_destroy_type grpc_metadata_array_destroy_import;
205#define grpc_metadata_array_destroy grpc_metadata_array_destroy_import
206typedef void(*grpc_call_details_init_type)(grpc_call_details *details);
207extern grpc_call_details_init_type grpc_call_details_init_import;
208#define grpc_call_details_init grpc_call_details_init_import
209typedef void(*grpc_call_details_destroy_type)(grpc_call_details *details);
210extern grpc_call_details_destroy_type grpc_call_details_destroy_import;
211#define grpc_call_details_destroy grpc_call_details_destroy_import
212typedef void(*grpc_register_plugin_type)(void (*init)(void), void (*destroy)(void));
213extern grpc_register_plugin_type grpc_register_plugin_import;
214#define grpc_register_plugin grpc_register_plugin_import
215typedef void(*grpc_init_type)(void);
216extern grpc_init_type grpc_init_import;
217#define grpc_init grpc_init_import
218typedef void(*grpc_shutdown_type)(void);
219extern grpc_shutdown_type grpc_shutdown_import;
220#define grpc_shutdown grpc_shutdown_import
221typedef const char *(*grpc_version_string_type)(void);
222extern grpc_version_string_type grpc_version_string_import;
223#define grpc_version_string grpc_version_string_import
Craig Tillerd9f90762016-08-29 16:47:22 -0700224typedef const char *(*grpc_g_stands_for_type)(void);
225extern grpc_g_stands_for_type grpc_g_stands_for_import;
226#define grpc_g_stands_for grpc_g_stands_for_import
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100227typedef grpc_completion_queue *(*grpc_completion_queue_create_type)(void *reserved);
228extern grpc_completion_queue_create_type grpc_completion_queue_create_import;
229#define grpc_completion_queue_create grpc_completion_queue_create_import
230typedef grpc_event(*grpc_completion_queue_next_type)(grpc_completion_queue *cq, gpr_timespec deadline, void *reserved);
231extern grpc_completion_queue_next_type grpc_completion_queue_next_import;
232#define grpc_completion_queue_next grpc_completion_queue_next_import
233typedef grpc_event(*grpc_completion_queue_pluck_type)(grpc_completion_queue *cq, void *tag, gpr_timespec deadline, void *reserved);
234extern grpc_completion_queue_pluck_type grpc_completion_queue_pluck_import;
235#define grpc_completion_queue_pluck grpc_completion_queue_pluck_import
236typedef void(*grpc_completion_queue_shutdown_type)(grpc_completion_queue *cq);
237extern grpc_completion_queue_shutdown_type grpc_completion_queue_shutdown_import;
238#define grpc_completion_queue_shutdown grpc_completion_queue_shutdown_import
239typedef void(*grpc_completion_queue_destroy_type)(grpc_completion_queue *cq);
240extern grpc_completion_queue_destroy_type grpc_completion_queue_destroy_import;
241#define grpc_completion_queue_destroy grpc_completion_queue_destroy_import
242typedef grpc_alarm *(*grpc_alarm_create_type)(grpc_completion_queue *cq, gpr_timespec deadline, void *tag);
243extern grpc_alarm_create_type grpc_alarm_create_import;
244#define grpc_alarm_create grpc_alarm_create_import
245typedef void(*grpc_alarm_cancel_type)(grpc_alarm *alarm);
246extern grpc_alarm_cancel_type grpc_alarm_cancel_import;
247#define grpc_alarm_cancel grpc_alarm_cancel_import
248typedef void(*grpc_alarm_destroy_type)(grpc_alarm *alarm);
249extern grpc_alarm_destroy_type grpc_alarm_destroy_import;
250#define grpc_alarm_destroy grpc_alarm_destroy_import
251typedef grpc_connectivity_state(*grpc_channel_check_connectivity_state_type)(grpc_channel *channel, int try_to_connect);
252extern grpc_channel_check_connectivity_state_type grpc_channel_check_connectivity_state_import;
253#define grpc_channel_check_connectivity_state grpc_channel_check_connectivity_state_import
254typedef 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);
255extern grpc_channel_watch_connectivity_state_type grpc_channel_watch_connectivity_state_import;
256#define grpc_channel_watch_connectivity_state grpc_channel_watch_connectivity_state_import
Craig Tiller7c70b6c2017-01-23 07:48:42 -0800257typedef 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);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100258extern grpc_channel_create_call_type grpc_channel_create_call_import;
259#define grpc_channel_create_call grpc_channel_create_call_import
260typedef void(*grpc_channel_ping_type)(grpc_channel *channel, grpc_completion_queue *cq, void *tag, void *reserved);
261extern grpc_channel_ping_type grpc_channel_ping_import;
262#define grpc_channel_ping grpc_channel_ping_import
263typedef void *(*grpc_channel_register_call_type)(grpc_channel *channel, const char *method, const char *host, void *reserved);
264extern grpc_channel_register_call_type grpc_channel_register_call_import;
265#define grpc_channel_register_call grpc_channel_register_call_import
266typedef 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);
267extern grpc_channel_create_registered_call_type grpc_channel_create_registered_call_import;
268#define grpc_channel_create_registered_call grpc_channel_create_registered_call_import
269typedef grpc_call_error(*grpc_call_start_batch_type)(grpc_call *call, const grpc_op *ops, size_t nops, void *tag, void *reserved);
270extern grpc_call_start_batch_type grpc_call_start_batch_import;
271#define grpc_call_start_batch grpc_call_start_batch_import
272typedef char *(*grpc_call_get_peer_type)(grpc_call *call);
273extern grpc_call_get_peer_type grpc_call_get_peer_import;
274#define grpc_call_get_peer grpc_call_get_peer_import
David Garcia Quintasf31f0962017-02-10 14:53:58 -0800275typedef void(*grpc_call_set_load_reporting_cost_context_type)(grpc_call *call, struct grpc_load_reporting_cost_context *context);
276extern grpc_call_set_load_reporting_cost_context_type grpc_call_set_load_reporting_cost_context_import;
277#define grpc_call_set_load_reporting_cost_context grpc_call_set_load_reporting_cost_context_import
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100278typedef void(*grpc_census_call_set_context_type)(grpc_call *call, struct census_context *context);
279extern grpc_census_call_set_context_type grpc_census_call_set_context_import;
280#define grpc_census_call_set_context grpc_census_call_set_context_import
281typedef struct census_context *(*grpc_census_call_get_context_type)(grpc_call *call);
282extern grpc_census_call_get_context_type grpc_census_call_get_context_import;
283#define grpc_census_call_get_context grpc_census_call_get_context_import
284typedef char *(*grpc_channel_get_target_type)(grpc_channel *channel);
285extern grpc_channel_get_target_type grpc_channel_get_target_import;
286#define grpc_channel_get_target grpc_channel_get_target_import
Mark D. Roth8e2d8d92016-11-04 12:55:07 -0700287typedef void(*grpc_channel_get_info_type)(grpc_channel *channel, const grpc_channel_info *channel_info);
288extern grpc_channel_get_info_type grpc_channel_get_info_import;
289#define grpc_channel_get_info grpc_channel_get_info_import
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100290typedef grpc_channel *(*grpc_insecure_channel_create_type)(const char *target, const grpc_channel_args *args, void *reserved);
291extern grpc_insecure_channel_create_type grpc_insecure_channel_create_import;
292#define grpc_insecure_channel_create grpc_insecure_channel_create_import
293typedef grpc_channel *(*grpc_lame_client_channel_create_type)(const char *target, grpc_status_code error_code, const char *error_message);
294extern grpc_lame_client_channel_create_type grpc_lame_client_channel_create_import;
295#define grpc_lame_client_channel_create grpc_lame_client_channel_create_import
296typedef void(*grpc_channel_destroy_type)(grpc_channel *channel);
297extern grpc_channel_destroy_type grpc_channel_destroy_import;
298#define grpc_channel_destroy grpc_channel_destroy_import
299typedef grpc_call_error(*grpc_call_cancel_type)(grpc_call *call, void *reserved);
300extern grpc_call_cancel_type grpc_call_cancel_import;
301#define grpc_call_cancel grpc_call_cancel_import
302typedef grpc_call_error(*grpc_call_cancel_with_status_type)(grpc_call *call, grpc_status_code status, const char *description, void *reserved);
303extern grpc_call_cancel_with_status_type grpc_call_cancel_with_status_import;
304#define grpc_call_cancel_with_status grpc_call_cancel_with_status_import
305typedef void(*grpc_call_destroy_type)(grpc_call *call);
306extern grpc_call_destroy_type grpc_call_destroy_import;
307#define grpc_call_destroy grpc_call_destroy_import
308typedef 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);
309extern grpc_server_request_call_type grpc_server_request_call_import;
310#define grpc_server_request_call grpc_server_request_call_import
Craig Tiller725aaf22016-04-04 10:11:23 -0700311typedef 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);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100312extern grpc_server_register_method_type grpc_server_register_method_import;
313#define grpc_server_register_method grpc_server_register_method_import
314typedef 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);
315extern grpc_server_request_registered_call_type grpc_server_request_registered_call_import;
316#define grpc_server_request_registered_call grpc_server_request_registered_call_import
317typedef grpc_server *(*grpc_server_create_type)(const grpc_channel_args *args, void *reserved);
318extern grpc_server_create_type grpc_server_create_import;
319#define grpc_server_create grpc_server_create_import
320typedef void(*grpc_server_register_completion_queue_type)(grpc_server *server, grpc_completion_queue *cq, void *reserved);
321extern grpc_server_register_completion_queue_type grpc_server_register_completion_queue_import;
322#define grpc_server_register_completion_queue grpc_server_register_completion_queue_import
Sree Kuchibhotla01907122016-04-21 15:09:13 -0700323typedef void(*grpc_server_register_non_listening_completion_queue_type)(grpc_server *server, grpc_completion_queue *q, void *reserved);
324extern grpc_server_register_non_listening_completion_queue_type grpc_server_register_non_listening_completion_queue_import;
325#define grpc_server_register_non_listening_completion_queue grpc_server_register_non_listening_completion_queue_import
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100326typedef int(*grpc_server_add_insecure_http2_port_type)(grpc_server *server, const char *addr);
327extern grpc_server_add_insecure_http2_port_type grpc_server_add_insecure_http2_port_import;
328#define grpc_server_add_insecure_http2_port grpc_server_add_insecure_http2_port_import
329typedef void(*grpc_server_start_type)(grpc_server *server);
330extern grpc_server_start_type grpc_server_start_import;
331#define grpc_server_start grpc_server_start_import
332typedef void(*grpc_server_shutdown_and_notify_type)(grpc_server *server, grpc_completion_queue *cq, void *tag);
333extern grpc_server_shutdown_and_notify_type grpc_server_shutdown_and_notify_import;
334#define grpc_server_shutdown_and_notify grpc_server_shutdown_and_notify_import
335typedef void(*grpc_server_cancel_all_calls_type)(grpc_server *server);
336extern grpc_server_cancel_all_calls_type grpc_server_cancel_all_calls_import;
337#define grpc_server_cancel_all_calls grpc_server_cancel_all_calls_import
338typedef void(*grpc_server_destroy_type)(grpc_server *server);
339extern grpc_server_destroy_type grpc_server_destroy_import;
340#define grpc_server_destroy grpc_server_destroy_import
341typedef int(*grpc_tracer_set_enabled_type)(const char *name, int enabled);
342extern grpc_tracer_set_enabled_type grpc_tracer_set_enabled_import;
343#define grpc_tracer_set_enabled grpc_tracer_set_enabled_import
Craig Tiller7c70b6c2017-01-23 07:48:42 -0800344typedef int(*grpc_header_key_is_legal_type)(grpc_slice slice);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100345extern grpc_header_key_is_legal_type grpc_header_key_is_legal_import;
346#define grpc_header_key_is_legal grpc_header_key_is_legal_import
Craig Tiller7c70b6c2017-01-23 07:48:42 -0800347typedef int(*grpc_header_nonbin_value_is_legal_type)(grpc_slice slice);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100348extern grpc_header_nonbin_value_is_legal_type grpc_header_nonbin_value_is_legal_import;
349#define grpc_header_nonbin_value_is_legal grpc_header_nonbin_value_is_legal_import
Craig Tiller7c70b6c2017-01-23 07:48:42 -0800350typedef int(*grpc_is_binary_header_type)(grpc_slice slice);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100351extern grpc_is_binary_header_type grpc_is_binary_header_import;
352#define grpc_is_binary_header grpc_is_binary_header_import
Yuchen Zeng2e7d9572016-04-15 17:29:57 -0700353typedef const char *(*grpc_call_error_to_string_type)(grpc_call_error error);
354extern grpc_call_error_to_string_type grpc_call_error_to_string_import;
355#define grpc_call_error_to_string grpc_call_error_to_string_import
Craig Tiller20afa3d2016-10-17 14:52:14 -0700356typedef grpc_resource_quota *(*grpc_resource_quota_create_type)(const char *trace_name);
357extern grpc_resource_quota_create_type grpc_resource_quota_create_import;
358#define grpc_resource_quota_create grpc_resource_quota_create_import
359typedef void(*grpc_resource_quota_ref_type)(grpc_resource_quota *resource_quota);
360extern grpc_resource_quota_ref_type grpc_resource_quota_ref_import;
361#define grpc_resource_quota_ref grpc_resource_quota_ref_import
362typedef void(*grpc_resource_quota_unref_type)(grpc_resource_quota *resource_quota);
363extern grpc_resource_quota_unref_type grpc_resource_quota_unref_import;
364#define grpc_resource_quota_unref grpc_resource_quota_unref_import
365typedef void(*grpc_resource_quota_resize_type)(grpc_resource_quota *resource_quota, size_t new_size);
366extern grpc_resource_quota_resize_type grpc_resource_quota_resize_import;
367#define grpc_resource_quota_resize grpc_resource_quota_resize_import
368typedef const grpc_arg_pointer_vtable *(*grpc_resource_quota_arg_vtable_type)(void);
369extern grpc_resource_quota_arg_vtable_type grpc_resource_quota_arg_vtable_import;
370#define grpc_resource_quota_arg_vtable grpc_resource_quota_arg_vtable_import
Adam Michalik321b1fb2016-05-16 15:42:36 -0700371typedef grpc_channel *(*grpc_insecure_channel_create_from_fd_type)(const char *target, int fd, const grpc_channel_args *args);
372extern grpc_insecure_channel_create_from_fd_type grpc_insecure_channel_create_from_fd_import;
373#define grpc_insecure_channel_create_from_fd grpc_insecure_channel_create_from_fd_import
Sree Kuchibhotlacc357bf2016-08-22 16:08:50 -0700374typedef void(*grpc_server_add_insecure_channel_from_fd_type)(grpc_server *server, void *reserved, int fd);
Adam Michalikbf10c822016-05-20 16:13:32 -0700375extern grpc_server_add_insecure_channel_from_fd_type grpc_server_add_insecure_channel_from_fd_import;
376#define grpc_server_add_insecure_channel_from_fd grpc_server_add_insecure_channel_from_fd_import
Sree Kuchibhotla492fd962016-06-10 09:03:34 -0700377typedef void(*grpc_use_signal_type)(int signum);
378extern grpc_use_signal_type grpc_use_signal_import;
379#define grpc_use_signal grpc_use_signal_import
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100380typedef const grpc_auth_property *(*grpc_auth_property_iterator_next_type)(grpc_auth_property_iterator *it);
381extern grpc_auth_property_iterator_next_type grpc_auth_property_iterator_next_import;
382#define grpc_auth_property_iterator_next grpc_auth_property_iterator_next_import
383typedef grpc_auth_property_iterator(*grpc_auth_context_property_iterator_type)(const grpc_auth_context *ctx);
384extern grpc_auth_context_property_iterator_type grpc_auth_context_property_iterator_import;
385#define grpc_auth_context_property_iterator grpc_auth_context_property_iterator_import
386typedef grpc_auth_property_iterator(*grpc_auth_context_peer_identity_type)(const grpc_auth_context *ctx);
387extern grpc_auth_context_peer_identity_type grpc_auth_context_peer_identity_import;
388#define grpc_auth_context_peer_identity grpc_auth_context_peer_identity_import
389typedef grpc_auth_property_iterator(*grpc_auth_context_find_properties_by_name_type)(const grpc_auth_context *ctx, const char *name);
390extern grpc_auth_context_find_properties_by_name_type grpc_auth_context_find_properties_by_name_import;
391#define grpc_auth_context_find_properties_by_name grpc_auth_context_find_properties_by_name_import
392typedef const char *(*grpc_auth_context_peer_identity_property_name_type)(const grpc_auth_context *ctx);
393extern grpc_auth_context_peer_identity_property_name_type grpc_auth_context_peer_identity_property_name_import;
394#define grpc_auth_context_peer_identity_property_name grpc_auth_context_peer_identity_property_name_import
395typedef int(*grpc_auth_context_peer_is_authenticated_type)(const grpc_auth_context *ctx);
396extern grpc_auth_context_peer_is_authenticated_type grpc_auth_context_peer_is_authenticated_import;
397#define grpc_auth_context_peer_is_authenticated grpc_auth_context_peer_is_authenticated_import
398typedef grpc_auth_context *(*grpc_call_auth_context_type)(grpc_call *call);
399extern grpc_call_auth_context_type grpc_call_auth_context_import;
400#define grpc_call_auth_context grpc_call_auth_context_import
401typedef void(*grpc_auth_context_release_type)(grpc_auth_context *context);
402extern grpc_auth_context_release_type grpc_auth_context_release_import;
403#define grpc_auth_context_release grpc_auth_context_release_import
404typedef void(*grpc_auth_context_add_property_type)(grpc_auth_context *ctx, const char *name, const char *value, size_t value_length);
405extern grpc_auth_context_add_property_type grpc_auth_context_add_property_import;
406#define grpc_auth_context_add_property grpc_auth_context_add_property_import
407typedef void(*grpc_auth_context_add_cstring_property_type)(grpc_auth_context *ctx, const char *name, const char *value);
408extern grpc_auth_context_add_cstring_property_type grpc_auth_context_add_cstring_property_import;
409#define grpc_auth_context_add_cstring_property grpc_auth_context_add_cstring_property_import
410typedef int(*grpc_auth_context_set_peer_identity_property_name_type)(grpc_auth_context *ctx, const char *name);
411extern grpc_auth_context_set_peer_identity_property_name_type grpc_auth_context_set_peer_identity_property_name_import;
412#define grpc_auth_context_set_peer_identity_property_name grpc_auth_context_set_peer_identity_property_name_import
413typedef void(*grpc_channel_credentials_release_type)(grpc_channel_credentials *creds);
414extern grpc_channel_credentials_release_type grpc_channel_credentials_release_import;
415#define grpc_channel_credentials_release grpc_channel_credentials_release_import
416typedef grpc_channel_credentials *(*grpc_google_default_credentials_create_type)(void);
417extern grpc_google_default_credentials_create_type grpc_google_default_credentials_create_import;
418#define grpc_google_default_credentials_create grpc_google_default_credentials_create_import
Nicolas "Pixel" Noble63976602016-02-17 23:43:55 +0100419typedef void(*grpc_set_ssl_roots_override_callback_type)(grpc_ssl_roots_override_callback cb);
420extern grpc_set_ssl_roots_override_callback_type grpc_set_ssl_roots_override_callback_import;
421#define grpc_set_ssl_roots_override_callback grpc_set_ssl_roots_override_callback_import
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100422typedef grpc_channel_credentials *(*grpc_ssl_credentials_create_type)(const char *pem_root_certs, grpc_ssl_pem_key_cert_pair *pem_key_cert_pair, void *reserved);
423extern grpc_ssl_credentials_create_type grpc_ssl_credentials_create_import;
424#define grpc_ssl_credentials_create grpc_ssl_credentials_create_import
425typedef void(*grpc_call_credentials_release_type)(grpc_call_credentials *creds);
426extern grpc_call_credentials_release_type grpc_call_credentials_release_import;
427#define grpc_call_credentials_release grpc_call_credentials_release_import
428typedef grpc_channel_credentials *(*grpc_composite_channel_credentials_create_type)(grpc_channel_credentials *channel_creds, grpc_call_credentials *call_creds, void *reserved);
429extern grpc_composite_channel_credentials_create_type grpc_composite_channel_credentials_create_import;
430#define grpc_composite_channel_credentials_create grpc_composite_channel_credentials_create_import
431typedef grpc_call_credentials *(*grpc_composite_call_credentials_create_type)(grpc_call_credentials *creds1, grpc_call_credentials *creds2, void *reserved);
432extern grpc_composite_call_credentials_create_type grpc_composite_call_credentials_create_import;
433#define grpc_composite_call_credentials_create grpc_composite_call_credentials_create_import
434typedef grpc_call_credentials *(*grpc_google_compute_engine_credentials_create_type)(void *reserved);
435extern grpc_google_compute_engine_credentials_create_type grpc_google_compute_engine_credentials_create_import;
436#define grpc_google_compute_engine_credentials_create grpc_google_compute_engine_credentials_create_import
Nicolas "Pixel" Nobled2f20ef2016-01-31 07:52:59 +0100437typedef gpr_timespec(*grpc_max_auth_token_lifetime_type)();
438extern grpc_max_auth_token_lifetime_type grpc_max_auth_token_lifetime_import;
439#define grpc_max_auth_token_lifetime grpc_max_auth_token_lifetime_import
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100440typedef grpc_call_credentials *(*grpc_service_account_jwt_access_credentials_create_type)(const char *json_key, gpr_timespec token_lifetime, void *reserved);
441extern grpc_service_account_jwt_access_credentials_create_type grpc_service_account_jwt_access_credentials_create_import;
442#define grpc_service_account_jwt_access_credentials_create grpc_service_account_jwt_access_credentials_create_import
443typedef grpc_call_credentials *(*grpc_google_refresh_token_credentials_create_type)(const char *json_refresh_token, void *reserved);
444extern grpc_google_refresh_token_credentials_create_type grpc_google_refresh_token_credentials_create_import;
445#define grpc_google_refresh_token_credentials_create grpc_google_refresh_token_credentials_create_import
446typedef grpc_call_credentials *(*grpc_access_token_credentials_create_type)(const char *access_token, void *reserved);
447extern grpc_access_token_credentials_create_type grpc_access_token_credentials_create_import;
448#define grpc_access_token_credentials_create grpc_access_token_credentials_create_import
449typedef grpc_call_credentials *(*grpc_google_iam_credentials_create_type)(const char *authorization_token, const char *authority_selector, void *reserved);
450extern grpc_google_iam_credentials_create_type grpc_google_iam_credentials_create_import;
451#define grpc_google_iam_credentials_create grpc_google_iam_credentials_create_import
452typedef grpc_call_credentials *(*grpc_metadata_credentials_create_from_plugin_type)(grpc_metadata_credentials_plugin plugin, void *reserved);
453extern grpc_metadata_credentials_create_from_plugin_type grpc_metadata_credentials_create_from_plugin_import;
454#define grpc_metadata_credentials_create_from_plugin grpc_metadata_credentials_create_from_plugin_import
455typedef grpc_channel *(*grpc_secure_channel_create_type)(grpc_channel_credentials *creds, const char *target, const grpc_channel_args *args, void *reserved);
456extern grpc_secure_channel_create_type grpc_secure_channel_create_import;
457#define grpc_secure_channel_create grpc_secure_channel_create_import
458typedef void(*grpc_server_credentials_release_type)(grpc_server_credentials *creds);
459extern grpc_server_credentials_release_type grpc_server_credentials_release_import;
460#define grpc_server_credentials_release grpc_server_credentials_release_import
461typedef 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);
462extern grpc_ssl_server_credentials_create_type grpc_ssl_server_credentials_create_import;
463#define grpc_ssl_server_credentials_create grpc_ssl_server_credentials_create_import
Deepak Lukosedba4c5f2016-03-25 12:54:25 -0700464typedef 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);
465extern grpc_ssl_server_credentials_create_ex_type grpc_ssl_server_credentials_create_ex_import;
466#define grpc_ssl_server_credentials_create_ex grpc_ssl_server_credentials_create_ex_import
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100467typedef int(*grpc_server_add_secure_http2_port_type)(grpc_server *server, const char *addr, grpc_server_credentials *creds);
468extern grpc_server_add_secure_http2_port_type grpc_server_add_secure_http2_port_import;
469#define grpc_server_add_secure_http2_port grpc_server_add_secure_http2_port_import
470typedef grpc_call_error(*grpc_call_set_credentials_type)(grpc_call *call, grpc_call_credentials *creds);
471extern grpc_call_set_credentials_type grpc_call_set_credentials_import;
472#define grpc_call_set_credentials grpc_call_set_credentials_import
473typedef void(*grpc_server_credentials_set_auth_metadata_processor_type)(grpc_server_credentials *creds, grpc_auth_metadata_processor processor);
474extern grpc_server_credentials_set_auth_metadata_processor_type grpc_server_credentials_set_auth_metadata_processor_import;
475#define grpc_server_credentials_set_auth_metadata_processor grpc_server_credentials_set_auth_metadata_processor_import
Craig Tillerc3350542016-10-26 16:19:01 -0700476typedef grpc_slice(*grpc_slice_ref_type)(grpc_slice s);
477extern grpc_slice_ref_type grpc_slice_ref_import;
478#define grpc_slice_ref grpc_slice_ref_import
479typedef void(*grpc_slice_unref_type)(grpc_slice s);
480extern grpc_slice_unref_type grpc_slice_unref_import;
481#define grpc_slice_unref grpc_slice_unref_import
482typedef grpc_slice(*grpc_slice_new_type)(void *p, size_t len, void (*destroy)(void *));
483extern grpc_slice_new_type grpc_slice_new_import;
484#define grpc_slice_new grpc_slice_new_import
485typedef grpc_slice(*grpc_slice_new_with_user_data_type)(void *p, size_t len, void (*destroy)(void *), void *user_data);
486extern grpc_slice_new_with_user_data_type grpc_slice_new_with_user_data_import;
487#define grpc_slice_new_with_user_data grpc_slice_new_with_user_data_import
488typedef grpc_slice(*grpc_slice_new_with_len_type)(void *p, size_t len, void (*destroy)(void *, size_t));
489extern grpc_slice_new_with_len_type grpc_slice_new_with_len_import;
490#define grpc_slice_new_with_len grpc_slice_new_with_len_import
491typedef grpc_slice(*grpc_slice_malloc_type)(size_t length);
492extern grpc_slice_malloc_type grpc_slice_malloc_import;
493#define grpc_slice_malloc grpc_slice_malloc_import
Craig Tiller7c70b6c2017-01-23 07:48:42 -0800494typedef grpc_slice(*grpc_slice_intern_type)(grpc_slice slice);
495extern grpc_slice_intern_type grpc_slice_intern_import;
496#define grpc_slice_intern grpc_slice_intern_import
Craig Tillerc3350542016-10-26 16:19:01 -0700497typedef grpc_slice(*grpc_slice_from_copied_string_type)(const char *source);
498extern grpc_slice_from_copied_string_type grpc_slice_from_copied_string_import;
499#define grpc_slice_from_copied_string grpc_slice_from_copied_string_import
500typedef grpc_slice(*grpc_slice_from_copied_buffer_type)(const char *source, size_t len);
501extern grpc_slice_from_copied_buffer_type grpc_slice_from_copied_buffer_import;
502#define grpc_slice_from_copied_buffer grpc_slice_from_copied_buffer_import
503typedef grpc_slice(*grpc_slice_from_static_string_type)(const char *source);
504extern grpc_slice_from_static_string_type grpc_slice_from_static_string_import;
505#define grpc_slice_from_static_string grpc_slice_from_static_string_import
Craig Tiller7c70b6c2017-01-23 07:48:42 -0800506typedef grpc_slice(*grpc_slice_from_static_buffer_type)(const void *source, size_t len);
507extern grpc_slice_from_static_buffer_type grpc_slice_from_static_buffer_import;
508#define grpc_slice_from_static_buffer grpc_slice_from_static_buffer_import
Craig Tillerc3350542016-10-26 16:19:01 -0700509typedef grpc_slice(*grpc_slice_sub_type)(grpc_slice s, size_t begin, size_t end);
510extern grpc_slice_sub_type grpc_slice_sub_import;
511#define grpc_slice_sub grpc_slice_sub_import
512typedef grpc_slice(*grpc_slice_sub_no_ref_type)(grpc_slice s, size_t begin, size_t end);
513extern grpc_slice_sub_no_ref_type grpc_slice_sub_no_ref_import;
514#define grpc_slice_sub_no_ref grpc_slice_sub_no_ref_import
515typedef grpc_slice(*grpc_slice_split_tail_type)(grpc_slice *s, size_t split);
516extern grpc_slice_split_tail_type grpc_slice_split_tail_import;
517#define grpc_slice_split_tail grpc_slice_split_tail_import
518typedef grpc_slice(*grpc_slice_split_head_type)(grpc_slice *s, size_t split);
519extern grpc_slice_split_head_type grpc_slice_split_head_import;
520#define grpc_slice_split_head grpc_slice_split_head_import
Craig Tiller7c70b6c2017-01-23 07:48:42 -0800521typedef grpc_slice(*grpc_empty_slice_type)(void);
522extern grpc_empty_slice_type grpc_empty_slice_import;
523#define grpc_empty_slice grpc_empty_slice_import
524typedef uint32_t(*grpc_slice_default_hash_impl_type)(grpc_slice s);
525extern grpc_slice_default_hash_impl_type grpc_slice_default_hash_impl_import;
526#define grpc_slice_default_hash_impl grpc_slice_default_hash_impl_import
527typedef int(*grpc_slice_default_eq_impl_type)(grpc_slice a, grpc_slice b);
528extern grpc_slice_default_eq_impl_type grpc_slice_default_eq_impl_import;
529#define grpc_slice_default_eq_impl grpc_slice_default_eq_impl_import
530typedef int(*grpc_slice_eq_type)(grpc_slice a, grpc_slice b);
531extern grpc_slice_eq_type grpc_slice_eq_import;
532#define grpc_slice_eq grpc_slice_eq_import
Craig Tillerc3350542016-10-26 16:19:01 -0700533typedef int(*grpc_slice_cmp_type)(grpc_slice a, grpc_slice b);
534extern grpc_slice_cmp_type grpc_slice_cmp_import;
535#define grpc_slice_cmp grpc_slice_cmp_import
536typedef int(*grpc_slice_str_cmp_type)(grpc_slice a, const char *b);
537extern grpc_slice_str_cmp_type grpc_slice_str_cmp_import;
538#define grpc_slice_str_cmp grpc_slice_str_cmp_import
Craig Tiller7c70b6c2017-01-23 07:48:42 -0800539typedef int(*grpc_slice_buf_cmp_type)(grpc_slice a, const void *b, size_t blen);
540extern grpc_slice_buf_cmp_type grpc_slice_buf_cmp_import;
541#define grpc_slice_buf_cmp grpc_slice_buf_cmp_import
542typedef int(*grpc_slice_buf_start_eq_type)(grpc_slice a, const void *b, size_t blen);
543extern grpc_slice_buf_start_eq_type grpc_slice_buf_start_eq_import;
544#define grpc_slice_buf_start_eq grpc_slice_buf_start_eq_import
545typedef int(*grpc_slice_rchr_type)(grpc_slice s, char c);
546extern grpc_slice_rchr_type grpc_slice_rchr_import;
547#define grpc_slice_rchr grpc_slice_rchr_import
548typedef int(*grpc_slice_chr_type)(grpc_slice s, char c);
549extern grpc_slice_chr_type grpc_slice_chr_import;
550#define grpc_slice_chr grpc_slice_chr_import
551typedef int(*grpc_slice_slice_type)(grpc_slice haystack, grpc_slice needle);
552extern grpc_slice_slice_type grpc_slice_slice_import;
553#define grpc_slice_slice grpc_slice_slice_import
554typedef uint32_t(*grpc_slice_hash_type)(grpc_slice s);
555extern grpc_slice_hash_type grpc_slice_hash_import;
556#define grpc_slice_hash grpc_slice_hash_import
Craig Tillerc5866662016-11-16 15:25:00 -0800557typedef int(*grpc_slice_is_equivalent_type)(grpc_slice a, grpc_slice b);
558extern grpc_slice_is_equivalent_type grpc_slice_is_equivalent_import;
559#define grpc_slice_is_equivalent grpc_slice_is_equivalent_import
Craig Tiller7c70b6c2017-01-23 07:48:42 -0800560typedef grpc_slice(*grpc_slice_dup_type)(grpc_slice a);
561extern grpc_slice_dup_type grpc_slice_dup_import;
562#define grpc_slice_dup grpc_slice_dup_import
563typedef char *(*grpc_slice_to_c_string_type)(grpc_slice s);
564extern grpc_slice_to_c_string_type grpc_slice_to_c_string_import;
565#define grpc_slice_to_c_string grpc_slice_to_c_string_import
Craig Tillerc3350542016-10-26 16:19:01 -0700566typedef void(*grpc_slice_buffer_init_type)(grpc_slice_buffer *sb);
567extern grpc_slice_buffer_init_type grpc_slice_buffer_init_import;
568#define grpc_slice_buffer_init grpc_slice_buffer_init_import
569typedef void(*grpc_slice_buffer_destroy_type)(grpc_slice_buffer *sb);
570extern grpc_slice_buffer_destroy_type grpc_slice_buffer_destroy_import;
571#define grpc_slice_buffer_destroy grpc_slice_buffer_destroy_import
572typedef void(*grpc_slice_buffer_add_type)(grpc_slice_buffer *sb, grpc_slice slice);
573extern grpc_slice_buffer_add_type grpc_slice_buffer_add_import;
574#define grpc_slice_buffer_add grpc_slice_buffer_add_import
575typedef size_t(*grpc_slice_buffer_add_indexed_type)(grpc_slice_buffer *sb, grpc_slice slice);
576extern grpc_slice_buffer_add_indexed_type grpc_slice_buffer_add_indexed_import;
577#define grpc_slice_buffer_add_indexed grpc_slice_buffer_add_indexed_import
578typedef void(*grpc_slice_buffer_addn_type)(grpc_slice_buffer *sb, grpc_slice *slices, size_t n);
579extern grpc_slice_buffer_addn_type grpc_slice_buffer_addn_import;
580#define grpc_slice_buffer_addn grpc_slice_buffer_addn_import
581typedef uint8_t *(*grpc_slice_buffer_tiny_add_type)(grpc_slice_buffer *sb, size_t len);
582extern grpc_slice_buffer_tiny_add_type grpc_slice_buffer_tiny_add_import;
583#define grpc_slice_buffer_tiny_add grpc_slice_buffer_tiny_add_import
584typedef void(*grpc_slice_buffer_pop_type)(grpc_slice_buffer *sb);
585extern grpc_slice_buffer_pop_type grpc_slice_buffer_pop_import;
586#define grpc_slice_buffer_pop grpc_slice_buffer_pop_import
587typedef void(*grpc_slice_buffer_reset_and_unref_type)(grpc_slice_buffer *sb);
588extern grpc_slice_buffer_reset_and_unref_type grpc_slice_buffer_reset_and_unref_import;
589#define grpc_slice_buffer_reset_and_unref grpc_slice_buffer_reset_and_unref_import
590typedef void(*grpc_slice_buffer_swap_type)(grpc_slice_buffer *a, grpc_slice_buffer *b);
591extern grpc_slice_buffer_swap_type grpc_slice_buffer_swap_import;
592#define grpc_slice_buffer_swap grpc_slice_buffer_swap_import
593typedef void(*grpc_slice_buffer_move_into_type)(grpc_slice_buffer *src, grpc_slice_buffer *dst);
594extern grpc_slice_buffer_move_into_type grpc_slice_buffer_move_into_import;
595#define grpc_slice_buffer_move_into grpc_slice_buffer_move_into_import
596typedef void(*grpc_slice_buffer_trim_end_type)(grpc_slice_buffer *src, size_t n, grpc_slice_buffer *garbage);
597extern grpc_slice_buffer_trim_end_type grpc_slice_buffer_trim_end_import;
598#define grpc_slice_buffer_trim_end grpc_slice_buffer_trim_end_import
599typedef void(*grpc_slice_buffer_move_first_type)(grpc_slice_buffer *src, size_t n, grpc_slice_buffer *dst);
600extern grpc_slice_buffer_move_first_type grpc_slice_buffer_move_first_import;
601#define grpc_slice_buffer_move_first grpc_slice_buffer_move_first_import
Craig Tiller1a56a932017-01-23 14:55:15 -0800602typedef void(*grpc_slice_buffer_move_first_into_buffer_type)(grpc_exec_ctx *exec_ctx, grpc_slice_buffer *src, size_t n, void *dst);
Craig Tiller0cf6a712017-01-20 14:07:05 -0800603extern grpc_slice_buffer_move_first_into_buffer_type grpc_slice_buffer_move_first_into_buffer_import;
604#define grpc_slice_buffer_move_first_into_buffer grpc_slice_buffer_move_first_into_buffer_import
Craig Tillerc3350542016-10-26 16:19:01 -0700605typedef grpc_slice(*grpc_slice_buffer_take_first_type)(grpc_slice_buffer *src);
606extern grpc_slice_buffer_take_first_type grpc_slice_buffer_take_first_import;
607#define grpc_slice_buffer_take_first grpc_slice_buffer_take_first_import
Craig Tiller0cf6a712017-01-20 14:07:05 -0800608typedef void(*grpc_slice_buffer_undo_take_first_type)(grpc_slice_buffer *src, grpc_slice slice);
609extern grpc_slice_buffer_undo_take_first_type grpc_slice_buffer_undo_take_first_import;
610#define grpc_slice_buffer_undo_take_first grpc_slice_buffer_undo_take_first_import
David Garcia Quintas3b31fdf2016-07-27 18:17:12 -0700611typedef void *(*gpr_malloc_type)(size_t size);
612extern gpr_malloc_type gpr_malloc_import;
613#define gpr_malloc gpr_malloc_import
Craig Tillerff714492017-02-17 09:02:18 -0800614typedef void *(*gpr_zalloc_type)(size_t size);
615extern gpr_zalloc_type gpr_zalloc_import;
616#define gpr_zalloc gpr_zalloc_import
David Garcia Quintas3b31fdf2016-07-27 18:17:12 -0700617typedef void(*gpr_free_type)(void *ptr);
618extern gpr_free_type gpr_free_import;
619#define gpr_free gpr_free_import
620typedef void *(*gpr_realloc_type)(void *p, size_t size);
621extern gpr_realloc_type gpr_realloc_import;
622#define gpr_realloc gpr_realloc_import
623typedef void *(*gpr_malloc_aligned_type)(size_t size, size_t alignment_log);
624extern gpr_malloc_aligned_type gpr_malloc_aligned_import;
625#define gpr_malloc_aligned gpr_malloc_aligned_import
626typedef void(*gpr_free_aligned_type)(void *ptr);
627extern gpr_free_aligned_type gpr_free_aligned_import;
628#define gpr_free_aligned gpr_free_aligned_import
629typedef void(*gpr_set_allocation_functions_type)(gpr_allocation_functions functions);
630extern gpr_set_allocation_functions_type gpr_set_allocation_functions_import;
631#define gpr_set_allocation_functions gpr_set_allocation_functions_import
632typedef gpr_allocation_functions(*gpr_get_allocation_functions_type)();
633extern gpr_get_allocation_functions_type gpr_get_allocation_functions_import;
634#define gpr_get_allocation_functions gpr_get_allocation_functions_import
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100635typedef gpr_avl(*gpr_avl_create_type)(const gpr_avl_vtable *vtable);
636extern gpr_avl_create_type gpr_avl_create_import;
637#define gpr_avl_create gpr_avl_create_import
638typedef gpr_avl(*gpr_avl_ref_type)(gpr_avl avl);
639extern gpr_avl_ref_type gpr_avl_ref_import;
640#define gpr_avl_ref gpr_avl_ref_import
641typedef void(*gpr_avl_unref_type)(gpr_avl avl);
642extern gpr_avl_unref_type gpr_avl_unref_import;
643#define gpr_avl_unref gpr_avl_unref_import
644typedef gpr_avl(*gpr_avl_add_type)(gpr_avl avl, void *key, void *value);
645extern gpr_avl_add_type gpr_avl_add_import;
646#define gpr_avl_add gpr_avl_add_import
647typedef gpr_avl(*gpr_avl_remove_type)(gpr_avl avl, void *key);
648extern gpr_avl_remove_type gpr_avl_remove_import;
649#define gpr_avl_remove gpr_avl_remove_import
650typedef void *(*gpr_avl_get_type)(gpr_avl avl, void *key);
651extern gpr_avl_get_type gpr_avl_get_import;
652#define gpr_avl_get gpr_avl_get_import
Craig Tillerd6a5b802016-05-13 20:17:38 -0700653typedef int(*gpr_avl_maybe_get_type)(gpr_avl avl, void *key, void **value);
654extern gpr_avl_maybe_get_type gpr_avl_maybe_get_import;
655#define gpr_avl_maybe_get gpr_avl_maybe_get_import
656typedef int(*gpr_avl_is_empty_type)(gpr_avl avl);
657extern gpr_avl_is_empty_type gpr_avl_is_empty_import;
658#define gpr_avl_is_empty gpr_avl_is_empty_import
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100659typedef gpr_cmdline *(*gpr_cmdline_create_type)(const char *description);
660extern gpr_cmdline_create_type gpr_cmdline_create_import;
661#define gpr_cmdline_create gpr_cmdline_create_import
662typedef void(*gpr_cmdline_add_int_type)(gpr_cmdline *cl, const char *name, const char *help, int *value);
663extern gpr_cmdline_add_int_type gpr_cmdline_add_int_import;
664#define gpr_cmdline_add_int gpr_cmdline_add_int_import
665typedef void(*gpr_cmdline_add_flag_type)(gpr_cmdline *cl, const char *name, const char *help, int *value);
666extern gpr_cmdline_add_flag_type gpr_cmdline_add_flag_import;
667#define gpr_cmdline_add_flag gpr_cmdline_add_flag_import
668typedef void(*gpr_cmdline_add_string_type)(gpr_cmdline *cl, const char *name, const char *help, char **value);
669extern gpr_cmdline_add_string_type gpr_cmdline_add_string_import;
670#define gpr_cmdline_add_string gpr_cmdline_add_string_import
671typedef void(*gpr_cmdline_on_extra_arg_type)(gpr_cmdline *cl, const char *name, const char *help, void (*on_extra_arg)(void *user_data, const char *arg), void *user_data);
672extern gpr_cmdline_on_extra_arg_type gpr_cmdline_on_extra_arg_import;
673#define gpr_cmdline_on_extra_arg gpr_cmdline_on_extra_arg_import
674typedef void(*gpr_cmdline_set_survive_failure_type)(gpr_cmdline *cl);
675extern gpr_cmdline_set_survive_failure_type gpr_cmdline_set_survive_failure_import;
676#define gpr_cmdline_set_survive_failure gpr_cmdline_set_survive_failure_import
677typedef int(*gpr_cmdline_parse_type)(gpr_cmdline *cl, int argc, char **argv);
678extern gpr_cmdline_parse_type gpr_cmdline_parse_import;
679#define gpr_cmdline_parse gpr_cmdline_parse_import
680typedef void(*gpr_cmdline_destroy_type)(gpr_cmdline *cl);
681extern gpr_cmdline_destroy_type gpr_cmdline_destroy_import;
682#define gpr_cmdline_destroy gpr_cmdline_destroy_import
683typedef char *(*gpr_cmdline_usage_string_type)(gpr_cmdline *cl, const char *argv0);
684extern gpr_cmdline_usage_string_type gpr_cmdline_usage_string_import;
685#define gpr_cmdline_usage_string gpr_cmdline_usage_string_import
686typedef unsigned(*gpr_cpu_num_cores_type)(void);
687extern gpr_cpu_num_cores_type gpr_cpu_num_cores_import;
688#define gpr_cpu_num_cores gpr_cpu_num_cores_import
689typedef unsigned(*gpr_cpu_current_cpu_type)(void);
690extern gpr_cpu_current_cpu_type gpr_cpu_current_cpu_import;
691#define gpr_cpu_current_cpu gpr_cpu_current_cpu_import
692typedef gpr_histogram *(*gpr_histogram_create_type)(double resolution, double max_bucket_start);
693extern gpr_histogram_create_type gpr_histogram_create_import;
694#define gpr_histogram_create gpr_histogram_create_import
695typedef void(*gpr_histogram_destroy_type)(gpr_histogram *h);
696extern gpr_histogram_destroy_type gpr_histogram_destroy_import;
697#define gpr_histogram_destroy gpr_histogram_destroy_import
698typedef void(*gpr_histogram_add_type)(gpr_histogram *h, double x);
699extern gpr_histogram_add_type gpr_histogram_add_import;
700#define gpr_histogram_add gpr_histogram_add_import
701typedef int(*gpr_histogram_merge_type)(gpr_histogram *dst, const gpr_histogram *src);
702extern gpr_histogram_merge_type gpr_histogram_merge_import;
703#define gpr_histogram_merge gpr_histogram_merge_import
704typedef double(*gpr_histogram_percentile_type)(gpr_histogram *histogram, double percentile);
705extern gpr_histogram_percentile_type gpr_histogram_percentile_import;
706#define gpr_histogram_percentile gpr_histogram_percentile_import
707typedef double(*gpr_histogram_mean_type)(gpr_histogram *histogram);
708extern gpr_histogram_mean_type gpr_histogram_mean_import;
709#define gpr_histogram_mean gpr_histogram_mean_import
710typedef double(*gpr_histogram_stddev_type)(gpr_histogram *histogram);
711extern gpr_histogram_stddev_type gpr_histogram_stddev_import;
712#define gpr_histogram_stddev gpr_histogram_stddev_import
713typedef double(*gpr_histogram_variance_type)(gpr_histogram *histogram);
714extern gpr_histogram_variance_type gpr_histogram_variance_import;
715#define gpr_histogram_variance gpr_histogram_variance_import
716typedef double(*gpr_histogram_maximum_type)(gpr_histogram *histogram);
717extern gpr_histogram_maximum_type gpr_histogram_maximum_import;
718#define gpr_histogram_maximum gpr_histogram_maximum_import
719typedef double(*gpr_histogram_minimum_type)(gpr_histogram *histogram);
720extern gpr_histogram_minimum_type gpr_histogram_minimum_import;
721#define gpr_histogram_minimum gpr_histogram_minimum_import
722typedef double(*gpr_histogram_count_type)(gpr_histogram *histogram);
723extern gpr_histogram_count_type gpr_histogram_count_import;
724#define gpr_histogram_count gpr_histogram_count_import
725typedef double(*gpr_histogram_sum_type)(gpr_histogram *histogram);
726extern gpr_histogram_sum_type gpr_histogram_sum_import;
727#define gpr_histogram_sum gpr_histogram_sum_import
728typedef double(*gpr_histogram_sum_of_squares_type)(gpr_histogram *histogram);
729extern gpr_histogram_sum_of_squares_type gpr_histogram_sum_of_squares_import;
730#define gpr_histogram_sum_of_squares gpr_histogram_sum_of_squares_import
731typedef const uint32_t *(*gpr_histogram_get_contents_type)(gpr_histogram *histogram, size_t *count);
732extern gpr_histogram_get_contents_type gpr_histogram_get_contents_import;
733#define gpr_histogram_get_contents gpr_histogram_get_contents_import
734typedef void(*gpr_histogram_merge_contents_type)(gpr_histogram *histogram, const uint32_t *data, size_t data_count, double min_seen, double max_seen, double sum, double sum_of_squares, double count);
735extern gpr_histogram_merge_contents_type gpr_histogram_merge_contents_import;
736#define gpr_histogram_merge_contents gpr_histogram_merge_contents_import
737typedef int(*gpr_join_host_port_type)(char **out, const char *host, int port);
738extern gpr_join_host_port_type gpr_join_host_port_import;
739#define gpr_join_host_port gpr_join_host_port_import
740typedef int(*gpr_split_host_port_type)(const char *name, char **host, char **port);
741extern gpr_split_host_port_type gpr_split_host_port_import;
742#define gpr_split_host_port gpr_split_host_port_import
Yuchen Zeng66f3a4b2016-09-15 11:21:52 -0700743typedef void(*gpr_log_type)(const char *file, int line, gpr_log_severity severity, const char *format, ...) GPR_PRINT_FORMAT_CHECK(4, 5);
David Garcia Quintasc79b0652016-07-27 21:11:58 -0700744extern gpr_log_type gpr_log_import;
745#define gpr_log gpr_log_import
746typedef void(*gpr_log_message_type)(const char *file, int line, gpr_log_severity severity, const char *message);
747extern gpr_log_message_type gpr_log_message_import;
748#define gpr_log_message gpr_log_message_import
749typedef void(*gpr_set_log_verbosity_type)(gpr_log_severity min_severity_to_print);
750extern gpr_set_log_verbosity_type gpr_set_log_verbosity_import;
751#define gpr_set_log_verbosity gpr_set_log_verbosity_import
752typedef void(*gpr_log_verbosity_init_type)();
753extern gpr_log_verbosity_init_type gpr_log_verbosity_init_import;
754#define gpr_log_verbosity_init gpr_log_verbosity_init_import
755typedef void(*gpr_set_log_function_type)(gpr_log_func func);
756extern gpr_set_log_function_type gpr_set_log_function_import;
757#define gpr_set_log_function gpr_set_log_function_import
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100758typedef char *(*gpr_format_message_type)(int messageid);
759extern gpr_format_message_type gpr_format_message_import;
760#define gpr_format_message gpr_format_message_import
761typedef char *(*gpr_strdup_type)(const char *src);
762extern gpr_strdup_type gpr_strdup_import;
763#define gpr_strdup gpr_strdup_import
Yuchen Zeng362ac1b2016-09-13 16:01:31 -0700764typedef int(*gpr_asprintf_type)(char **strp, const char *format, ...) GPR_PRINT_FORMAT_CHECK(2, 3);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100765extern gpr_asprintf_type gpr_asprintf_import;
766#define gpr_asprintf gpr_asprintf_import
767typedef const char *(*gpr_subprocess_binary_extension_type)();
768extern gpr_subprocess_binary_extension_type gpr_subprocess_binary_extension_import;
769#define gpr_subprocess_binary_extension gpr_subprocess_binary_extension_import
770typedef gpr_subprocess *(*gpr_subprocess_create_type)(int argc, const char **argv);
771extern gpr_subprocess_create_type gpr_subprocess_create_import;
772#define gpr_subprocess_create gpr_subprocess_create_import
773typedef void(*gpr_subprocess_destroy_type)(gpr_subprocess *p);
774extern gpr_subprocess_destroy_type gpr_subprocess_destroy_import;
775#define gpr_subprocess_destroy gpr_subprocess_destroy_import
776typedef int(*gpr_subprocess_join_type)(gpr_subprocess *p);
777extern gpr_subprocess_join_type gpr_subprocess_join_import;
778#define gpr_subprocess_join gpr_subprocess_join_import
779typedef void(*gpr_subprocess_interrupt_type)(gpr_subprocess *p);
780extern gpr_subprocess_interrupt_type gpr_subprocess_interrupt_import;
781#define gpr_subprocess_interrupt gpr_subprocess_interrupt_import
David Garcia Quintas2ee99f42016-08-01 19:15:31 -0700782typedef void(*gpr_mu_init_type)(gpr_mu *mu);
783extern gpr_mu_init_type gpr_mu_init_import;
784#define gpr_mu_init gpr_mu_init_import
785typedef void(*gpr_mu_destroy_type)(gpr_mu *mu);
786extern gpr_mu_destroy_type gpr_mu_destroy_import;
787#define gpr_mu_destroy gpr_mu_destroy_import
788typedef void(*gpr_mu_lock_type)(gpr_mu *mu);
789extern gpr_mu_lock_type gpr_mu_lock_import;
790#define gpr_mu_lock gpr_mu_lock_import
791typedef void(*gpr_mu_unlock_type)(gpr_mu *mu);
792extern gpr_mu_unlock_type gpr_mu_unlock_import;
793#define gpr_mu_unlock gpr_mu_unlock_import
794typedef int(*gpr_mu_trylock_type)(gpr_mu *mu);
795extern gpr_mu_trylock_type gpr_mu_trylock_import;
796#define gpr_mu_trylock gpr_mu_trylock_import
797typedef void(*gpr_cv_init_type)(gpr_cv *cv);
798extern gpr_cv_init_type gpr_cv_init_import;
799#define gpr_cv_init gpr_cv_init_import
800typedef void(*gpr_cv_destroy_type)(gpr_cv *cv);
801extern gpr_cv_destroy_type gpr_cv_destroy_import;
802#define gpr_cv_destroy gpr_cv_destroy_import
803typedef int(*gpr_cv_wait_type)(gpr_cv *cv, gpr_mu *mu, gpr_timespec abs_deadline);
804extern gpr_cv_wait_type gpr_cv_wait_import;
805#define gpr_cv_wait gpr_cv_wait_import
806typedef void(*gpr_cv_signal_type)(gpr_cv *cv);
807extern gpr_cv_signal_type gpr_cv_signal_import;
808#define gpr_cv_signal gpr_cv_signal_import
809typedef void(*gpr_cv_broadcast_type)(gpr_cv *cv);
810extern gpr_cv_broadcast_type gpr_cv_broadcast_import;
811#define gpr_cv_broadcast gpr_cv_broadcast_import
812typedef void(*gpr_once_init_type)(gpr_once *once, void (*init_routine)(void));
813extern gpr_once_init_type gpr_once_init_import;
814#define gpr_once_init gpr_once_init_import
815typedef void(*gpr_event_init_type)(gpr_event *ev);
816extern gpr_event_init_type gpr_event_init_import;
817#define gpr_event_init gpr_event_init_import
818typedef void(*gpr_event_set_type)(gpr_event *ev, void *value);
819extern gpr_event_set_type gpr_event_set_import;
820#define gpr_event_set gpr_event_set_import
821typedef void *(*gpr_event_get_type)(gpr_event *ev);
822extern gpr_event_get_type gpr_event_get_import;
823#define gpr_event_get gpr_event_get_import
824typedef void *(*gpr_event_wait_type)(gpr_event *ev, gpr_timespec abs_deadline);
825extern gpr_event_wait_type gpr_event_wait_import;
826#define gpr_event_wait gpr_event_wait_import
827typedef void(*gpr_ref_init_type)(gpr_refcount *r, int n);
828extern gpr_ref_init_type gpr_ref_init_import;
829#define gpr_ref_init gpr_ref_init_import
830typedef void(*gpr_ref_type)(gpr_refcount *r);
831extern gpr_ref_type gpr_ref_import;
832#define gpr_ref gpr_ref_import
833typedef void(*gpr_ref_non_zero_type)(gpr_refcount *r);
834extern gpr_ref_non_zero_type gpr_ref_non_zero_import;
835#define gpr_ref_non_zero gpr_ref_non_zero_import
836typedef void(*gpr_refn_type)(gpr_refcount *r, int n);
837extern gpr_refn_type gpr_refn_import;
838#define gpr_refn gpr_refn_import
839typedef int(*gpr_unref_type)(gpr_refcount *r);
840extern gpr_unref_type gpr_unref_import;
841#define gpr_unref gpr_unref_import
842typedef void(*gpr_stats_init_type)(gpr_stats_counter *c, intptr_t n);
843extern gpr_stats_init_type gpr_stats_init_import;
844#define gpr_stats_init gpr_stats_init_import
845typedef void(*gpr_stats_inc_type)(gpr_stats_counter *c, intptr_t inc);
846extern gpr_stats_inc_type gpr_stats_inc_import;
847#define gpr_stats_inc gpr_stats_inc_import
848typedef intptr_t(*gpr_stats_read_type)(const gpr_stats_counter *c);
849extern gpr_stats_read_type gpr_stats_read_import;
850#define gpr_stats_read gpr_stats_read_import
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100851typedef int(*gpr_thd_new_type)(gpr_thd_id *t, void (*thd_body)(void *arg), void *arg, const gpr_thd_options *options);
852extern gpr_thd_new_type gpr_thd_new_import;
853#define gpr_thd_new gpr_thd_new_import
854typedef gpr_thd_options(*gpr_thd_options_default_type)(void);
855extern gpr_thd_options_default_type gpr_thd_options_default_import;
856#define gpr_thd_options_default gpr_thd_options_default_import
857typedef void(*gpr_thd_options_set_detached_type)(gpr_thd_options *options);
858extern gpr_thd_options_set_detached_type gpr_thd_options_set_detached_import;
859#define gpr_thd_options_set_detached gpr_thd_options_set_detached_import
860typedef void(*gpr_thd_options_set_joinable_type)(gpr_thd_options *options);
861extern gpr_thd_options_set_joinable_type gpr_thd_options_set_joinable_import;
862#define gpr_thd_options_set_joinable gpr_thd_options_set_joinable_import
863typedef int(*gpr_thd_options_is_detached_type)(const gpr_thd_options *options);
864extern gpr_thd_options_is_detached_type gpr_thd_options_is_detached_import;
865#define gpr_thd_options_is_detached gpr_thd_options_is_detached_import
866typedef int(*gpr_thd_options_is_joinable_type)(const gpr_thd_options *options);
867extern gpr_thd_options_is_joinable_type gpr_thd_options_is_joinable_import;
868#define gpr_thd_options_is_joinable gpr_thd_options_is_joinable_import
869typedef gpr_thd_id(*gpr_thd_currentid_type)(void);
870extern gpr_thd_currentid_type gpr_thd_currentid_import;
871#define gpr_thd_currentid gpr_thd_currentid_import
872typedef void(*gpr_thd_join_type)(gpr_thd_id t);
873extern gpr_thd_join_type gpr_thd_join_import;
874#define gpr_thd_join gpr_thd_join_import
David Garcia Quintas1399e462016-07-27 20:31:55 -0700875typedef gpr_timespec(*gpr_time_0_type)(gpr_clock_type type);
876extern gpr_time_0_type gpr_time_0_import;
877#define gpr_time_0 gpr_time_0_import
878typedef gpr_timespec(*gpr_inf_future_type)(gpr_clock_type type);
879extern gpr_inf_future_type gpr_inf_future_import;
880#define gpr_inf_future gpr_inf_future_import
881typedef gpr_timespec(*gpr_inf_past_type)(gpr_clock_type type);
882extern gpr_inf_past_type gpr_inf_past_import;
883#define gpr_inf_past gpr_inf_past_import
884typedef void(*gpr_time_init_type)(void);
885extern gpr_time_init_type gpr_time_init_import;
886#define gpr_time_init gpr_time_init_import
887typedef gpr_timespec(*gpr_now_type)(gpr_clock_type clock);
888extern gpr_now_type gpr_now_import;
889#define gpr_now gpr_now_import
890typedef gpr_timespec(*gpr_convert_clock_type_type)(gpr_timespec t, gpr_clock_type target_clock);
891extern gpr_convert_clock_type_type gpr_convert_clock_type_import;
892#define gpr_convert_clock_type gpr_convert_clock_type_import
893typedef int(*gpr_time_cmp_type)(gpr_timespec a, gpr_timespec b);
894extern gpr_time_cmp_type gpr_time_cmp_import;
895#define gpr_time_cmp gpr_time_cmp_import
896typedef gpr_timespec(*gpr_time_max_type)(gpr_timespec a, gpr_timespec b);
897extern gpr_time_max_type gpr_time_max_import;
898#define gpr_time_max gpr_time_max_import
899typedef gpr_timespec(*gpr_time_min_type)(gpr_timespec a, gpr_timespec b);
900extern gpr_time_min_type gpr_time_min_import;
901#define gpr_time_min gpr_time_min_import
902typedef gpr_timespec(*gpr_time_add_type)(gpr_timespec a, gpr_timespec b);
903extern gpr_time_add_type gpr_time_add_import;
904#define gpr_time_add gpr_time_add_import
905typedef gpr_timespec(*gpr_time_sub_type)(gpr_timespec a, gpr_timespec b);
906extern gpr_time_sub_type gpr_time_sub_import;
907#define gpr_time_sub gpr_time_sub_import
908typedef gpr_timespec(*gpr_time_from_micros_type)(int64_t x, gpr_clock_type clock_type);
909extern gpr_time_from_micros_type gpr_time_from_micros_import;
910#define gpr_time_from_micros gpr_time_from_micros_import
911typedef gpr_timespec(*gpr_time_from_nanos_type)(int64_t x, gpr_clock_type clock_type);
912extern gpr_time_from_nanos_type gpr_time_from_nanos_import;
913#define gpr_time_from_nanos gpr_time_from_nanos_import
914typedef gpr_timespec(*gpr_time_from_millis_type)(int64_t x, gpr_clock_type clock_type);
915extern gpr_time_from_millis_type gpr_time_from_millis_import;
916#define gpr_time_from_millis gpr_time_from_millis_import
917typedef gpr_timespec(*gpr_time_from_seconds_type)(int64_t x, gpr_clock_type clock_type);
918extern gpr_time_from_seconds_type gpr_time_from_seconds_import;
919#define gpr_time_from_seconds gpr_time_from_seconds_import
920typedef gpr_timespec(*gpr_time_from_minutes_type)(int64_t x, gpr_clock_type clock_type);
921extern gpr_time_from_minutes_type gpr_time_from_minutes_import;
922#define gpr_time_from_minutes gpr_time_from_minutes_import
923typedef gpr_timespec(*gpr_time_from_hours_type)(int64_t x, gpr_clock_type clock_type);
924extern gpr_time_from_hours_type gpr_time_from_hours_import;
925#define gpr_time_from_hours gpr_time_from_hours_import
926typedef int32_t(*gpr_time_to_millis_type)(gpr_timespec timespec);
927extern gpr_time_to_millis_type gpr_time_to_millis_import;
928#define gpr_time_to_millis gpr_time_to_millis_import
929typedef int(*gpr_time_similar_type)(gpr_timespec a, gpr_timespec b, gpr_timespec threshold);
930extern gpr_time_similar_type gpr_time_similar_import;
931#define gpr_time_similar gpr_time_similar_import
932typedef void(*gpr_sleep_until_type)(gpr_timespec until);
933extern gpr_sleep_until_type gpr_sleep_until_import;
934#define gpr_sleep_until gpr_sleep_until_import
935typedef double(*gpr_timespec_to_micros_type)(gpr_timespec t);
936extern gpr_timespec_to_micros_type gpr_timespec_to_micros_import;
937#define gpr_timespec_to_micros gpr_timespec_to_micros_import
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100938
939void grpc_rb_load_imports(HMODULE library);
940
Yuchen Zeng12dfdc32016-04-26 22:05:41 -0700941#endif /* GPR_WINDOWS */
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100942
943#endif