blob: 6d0a6e06c0002fe42d899ab0665eb8c86dcd4144 [file] [log] [blame]
Masood Malekghassemidf1e07e2016-02-02 14:17:14 -08001/*
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 PYGRPC_CYTHON_WINDOWS_IMPORTS_H_
35#define PYGRPC_CYTHON_WINDOWS_IMPORTS_H_
36
37#include <grpc/support/port_platform.h>
38
39#ifdef GPR_WIN32
40
41#include <windows.h>
42
43#include <grpc/census.h>
44#include <grpc/compression.h>
45#include <grpc/grpc.h>
46#include <grpc/grpc_security.h>
47#include <grpc/impl/codegen/alloc.h>
48#include <grpc/impl/codegen/byte_buffer.h>
49#include <grpc/impl/codegen/log.h>
50#include <grpc/impl/codegen/slice.h>
51#include <grpc/impl/codegen/slice_buffer.h>
52#include <grpc/impl/codegen/sync.h>
53#include <grpc/impl/codegen/time.h>
54#include <grpc/support/avl.h>
55#include <grpc/support/cmdline.h>
56#include <grpc/support/cpu.h>
57#include <grpc/support/histogram.h>
58#include <grpc/support/host_port.h>
59#include <grpc/support/log_win32.h>
60#include <grpc/support/string_util.h>
61#include <grpc/support/subprocess.h>
62#include <grpc/support/thd.h>
63
64typedef int(*census_initialize_type)(int features);
65extern census_initialize_type census_initialize_import;
66#define census_initialize census_initialize_import
67typedef void(*census_shutdown_type)(void);
68extern census_shutdown_type census_shutdown_import;
69#define census_shutdown census_shutdown_import
70typedef int(*census_supported_type)(void);
71extern census_supported_type census_supported_import;
72#define census_supported census_supported_import
73typedef int(*census_enabled_type)(void);
74extern census_enabled_type census_enabled_import;
75#define census_enabled census_enabled_import
murgatroid99309830f2016-02-05 11:30:00 -080076typedef census_context *(*census_context_create_type)(const census_context *base, const census_tag *tags, int ntags, census_context_status const **status);
77extern census_context_create_type census_context_create_import;
78#define census_context_create census_context_create_import
79typedef void(*census_context_destroy_type)(census_context *context);
80extern census_context_destroy_type census_context_destroy_import;
81#define census_context_destroy census_context_destroy_import
82typedef const census_context_status *(*census_context_get_status_type)(const census_context *context);
83extern census_context_get_status_type census_context_get_status_import;
84#define census_context_get_status census_context_get_status_import
85typedef void(*census_context_initialize_iterator_type)(const census_context *context, census_context_iterator *iterator);
86extern census_context_initialize_iterator_type census_context_initialize_iterator_import;
87#define census_context_initialize_iterator census_context_initialize_iterator_import
88typedef int(*census_context_next_tag_type)(census_context_iterator *iterator, census_tag *tag);
89extern census_context_next_tag_type census_context_next_tag_import;
90#define census_context_next_tag census_context_next_tag_import
91typedef int(*census_context_get_tag_type)(const census_context *context, const char *key, census_tag *tag);
92extern census_context_get_tag_type census_context_get_tag_import;
93#define census_context_get_tag census_context_get_tag_import
94typedef char *(*census_context_encode_type)(const census_context *context, char *buffer, size_t buf_size, size_t *print_buf_size, size_t *bin_buf_size);
95extern census_context_encode_type census_context_encode_import;
96#define census_context_encode census_context_encode_import
97typedef census_context *(*census_context_decode_type)(const char *buffer, size_t size, const char *bin_buffer, size_t bin_size);
98extern census_context_decode_type census_context_decode_import;
99#define census_context_decode census_context_decode_import
Masood Malekghassemidf1e07e2016-02-02 14:17:14 -0800100typedef int(*census_trace_mask_type)(const census_context *context);
101extern census_trace_mask_type census_trace_mask_import;
102#define census_trace_mask census_trace_mask_import
103typedef void(*census_set_trace_mask_type)(int trace_mask);
104extern census_set_trace_mask_type census_set_trace_mask_import;
105#define census_set_trace_mask census_set_trace_mask_import
106typedef census_timestamp(*census_start_rpc_op_timestamp_type)(void);
107extern census_start_rpc_op_timestamp_type census_start_rpc_op_timestamp_import;
108#define census_start_rpc_op_timestamp census_start_rpc_op_timestamp_import
109typedef 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);
110extern census_start_client_rpc_op_type census_start_client_rpc_op_import;
111#define census_start_client_rpc_op census_start_client_rpc_op_import
112typedef void(*census_set_rpc_client_peer_type)(census_context *context, const char *peer);
113extern census_set_rpc_client_peer_type census_set_rpc_client_peer_import;
114#define census_set_rpc_client_peer census_set_rpc_client_peer_import
115typedef 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);
116extern census_start_server_rpc_op_type census_start_server_rpc_op_import;
117#define census_start_server_rpc_op census_start_server_rpc_op_import
118typedef census_context *(*census_start_op_type)(census_context *context, const char *family, const char *name, int trace_mask);
119extern census_start_op_type census_start_op_import;
120#define census_start_op census_start_op_import
121typedef void(*census_end_op_type)(census_context *context, int status);
122extern census_end_op_type census_end_op_import;
123#define census_end_op census_end_op_import
124typedef void(*census_trace_print_type)(census_context *context, uint32_t type, const char *buffer, size_t n);
125extern census_trace_print_type census_trace_print_import;
126#define census_trace_print census_trace_print_import
127typedef int(*census_trace_scan_start_type)(int consume);
128extern census_trace_scan_start_type census_trace_scan_start_import;
129#define census_trace_scan_start census_trace_scan_start_import
130typedef int(*census_get_trace_record_type)(census_trace_record *trace_record);
131extern census_get_trace_record_type census_get_trace_record_import;
132#define census_get_trace_record census_get_trace_record_import
133typedef void(*census_trace_scan_end_type)();
134extern census_trace_scan_end_type census_trace_scan_end_import;
135#define census_trace_scan_end census_trace_scan_end_import
Masood Malekghassemidf1e07e2016-02-02 14:17:14 -0800136typedef void(*census_record_values_type)(census_context *context, census_value *values, size_t nvalues);
137extern census_record_values_type census_record_values_import;
138#define census_record_values census_record_values_import
murgatroid99309830f2016-02-05 11:30:00 -0800139typedef census_view *(*census_view_create_type)(uint32_t metric_id, const census_context *tags, const census_aggregation *aggregations, size_t naggregations);
Masood Malekghassemidf1e07e2016-02-02 14:17:14 -0800140extern census_view_create_type census_view_create_import;
141#define census_view_create census_view_create_import
142typedef void(*census_view_delete_type)(census_view *view);
143extern census_view_delete_type census_view_delete_import;
144#define census_view_delete census_view_delete_import
145typedef size_t(*census_view_metric_type)(const census_view *view);
146extern census_view_metric_type census_view_metric_import;
147#define census_view_metric census_view_metric_import
148typedef size_t(*census_view_naggregations_type)(const census_view *view);
149extern census_view_naggregations_type census_view_naggregations_import;
150#define census_view_naggregations census_view_naggregations_import
murgatroid99309830f2016-02-05 11:30:00 -0800151typedef const census_context *(*census_view_tags_type)(const census_view *view);
Masood Malekghassemidf1e07e2016-02-02 14:17:14 -0800152extern census_view_tags_type census_view_tags_import;
153#define census_view_tags census_view_tags_import
154typedef const census_aggregation *(*census_view_aggregrations_type)(const census_view *view);
155extern census_view_aggregrations_type census_view_aggregrations_import;
156#define census_view_aggregrations census_view_aggregrations_import
157typedef const census_view_data *(*census_view_get_data_type)(const census_view *view);
158extern census_view_get_data_type census_view_get_data_import;
159#define census_view_get_data census_view_get_data_import
160typedef void(*census_view_reset_type)(census_view *view);
161extern census_view_reset_type census_view_reset_import;
162#define census_view_reset census_view_reset_import
163typedef int(*grpc_compression_algorithm_parse_type)(const char *name, size_t name_length, grpc_compression_algorithm *algorithm);
164extern grpc_compression_algorithm_parse_type grpc_compression_algorithm_parse_import;
165#define grpc_compression_algorithm_parse grpc_compression_algorithm_parse_import
166typedef int(*grpc_compression_algorithm_name_type)(grpc_compression_algorithm algorithm, char **name);
167extern grpc_compression_algorithm_name_type grpc_compression_algorithm_name_import;
168#define grpc_compression_algorithm_name grpc_compression_algorithm_name_import
169typedef grpc_compression_algorithm(*grpc_compression_algorithm_for_level_type)(grpc_compression_level level);
170extern grpc_compression_algorithm_for_level_type grpc_compression_algorithm_for_level_import;
171#define grpc_compression_algorithm_for_level grpc_compression_algorithm_for_level_import
172typedef void(*grpc_compression_options_init_type)(grpc_compression_options *opts);
173extern grpc_compression_options_init_type grpc_compression_options_init_import;
174#define grpc_compression_options_init grpc_compression_options_init_import
175typedef void(*grpc_compression_options_enable_algorithm_type)(grpc_compression_options *opts, grpc_compression_algorithm algorithm);
176extern grpc_compression_options_enable_algorithm_type grpc_compression_options_enable_algorithm_import;
177#define grpc_compression_options_enable_algorithm grpc_compression_options_enable_algorithm_import
178typedef void(*grpc_compression_options_disable_algorithm_type)(grpc_compression_options *opts, grpc_compression_algorithm algorithm);
179extern grpc_compression_options_disable_algorithm_type grpc_compression_options_disable_algorithm_import;
180#define grpc_compression_options_disable_algorithm grpc_compression_options_disable_algorithm_import
181typedef int(*grpc_compression_options_is_algorithm_enabled_type)(const grpc_compression_options *opts, grpc_compression_algorithm algorithm);
182extern grpc_compression_options_is_algorithm_enabled_type grpc_compression_options_is_algorithm_enabled_import;
183#define grpc_compression_options_is_algorithm_enabled grpc_compression_options_is_algorithm_enabled_import
184typedef void(*grpc_metadata_array_init_type)(grpc_metadata_array *array);
185extern grpc_metadata_array_init_type grpc_metadata_array_init_import;
186#define grpc_metadata_array_init grpc_metadata_array_init_import
187typedef void(*grpc_metadata_array_destroy_type)(grpc_metadata_array *array);
188extern grpc_metadata_array_destroy_type grpc_metadata_array_destroy_import;
189#define grpc_metadata_array_destroy grpc_metadata_array_destroy_import
190typedef void(*grpc_call_details_init_type)(grpc_call_details *details);
191extern grpc_call_details_init_type grpc_call_details_init_import;
192#define grpc_call_details_init grpc_call_details_init_import
193typedef void(*grpc_call_details_destroy_type)(grpc_call_details *details);
194extern grpc_call_details_destroy_type grpc_call_details_destroy_import;
195#define grpc_call_details_destroy grpc_call_details_destroy_import
196typedef void(*grpc_register_plugin_type)(void (*init)(void), void (*destroy)(void));
197extern grpc_register_plugin_type grpc_register_plugin_import;
198#define grpc_register_plugin grpc_register_plugin_import
199typedef void(*grpc_init_type)(void);
200extern grpc_init_type grpc_init_import;
201#define grpc_init grpc_init_import
202typedef void(*grpc_shutdown_type)(void);
203extern grpc_shutdown_type grpc_shutdown_import;
204#define grpc_shutdown grpc_shutdown_import
205typedef const char *(*grpc_version_string_type)(void);
206extern grpc_version_string_type grpc_version_string_import;
207#define grpc_version_string grpc_version_string_import
208typedef grpc_completion_queue *(*grpc_completion_queue_create_type)(void *reserved);
209extern grpc_completion_queue_create_type grpc_completion_queue_create_import;
210#define grpc_completion_queue_create grpc_completion_queue_create_import
211typedef grpc_event(*grpc_completion_queue_next_type)(grpc_completion_queue *cq, gpr_timespec deadline, void *reserved);
212extern grpc_completion_queue_next_type grpc_completion_queue_next_import;
213#define grpc_completion_queue_next grpc_completion_queue_next_import
214typedef grpc_event(*grpc_completion_queue_pluck_type)(grpc_completion_queue *cq, void *tag, gpr_timespec deadline, void *reserved);
215extern grpc_completion_queue_pluck_type grpc_completion_queue_pluck_import;
216#define grpc_completion_queue_pluck grpc_completion_queue_pluck_import
217typedef void(*grpc_completion_queue_shutdown_type)(grpc_completion_queue *cq);
218extern grpc_completion_queue_shutdown_type grpc_completion_queue_shutdown_import;
219#define grpc_completion_queue_shutdown grpc_completion_queue_shutdown_import
220typedef void(*grpc_completion_queue_destroy_type)(grpc_completion_queue *cq);
221extern grpc_completion_queue_destroy_type grpc_completion_queue_destroy_import;
222#define grpc_completion_queue_destroy grpc_completion_queue_destroy_import
223typedef grpc_alarm *(*grpc_alarm_create_type)(grpc_completion_queue *cq, gpr_timespec deadline, void *tag);
224extern grpc_alarm_create_type grpc_alarm_create_import;
225#define grpc_alarm_create grpc_alarm_create_import
226typedef void(*grpc_alarm_cancel_type)(grpc_alarm *alarm);
227extern grpc_alarm_cancel_type grpc_alarm_cancel_import;
228#define grpc_alarm_cancel grpc_alarm_cancel_import
229typedef void(*grpc_alarm_destroy_type)(grpc_alarm *alarm);
230extern grpc_alarm_destroy_type grpc_alarm_destroy_import;
231#define grpc_alarm_destroy grpc_alarm_destroy_import
232typedef grpc_connectivity_state(*grpc_channel_check_connectivity_state_type)(grpc_channel *channel, int try_to_connect);
233extern grpc_channel_check_connectivity_state_type grpc_channel_check_connectivity_state_import;
234#define grpc_channel_check_connectivity_state grpc_channel_check_connectivity_state_import
235typedef 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);
236extern grpc_channel_watch_connectivity_state_type grpc_channel_watch_connectivity_state_import;
237#define grpc_channel_watch_connectivity_state grpc_channel_watch_connectivity_state_import
238typedef grpc_call *(*grpc_channel_create_call_type)(grpc_channel *channel, grpc_call *parent_call, uint32_t propagation_mask, grpc_completion_queue *completion_queue, const char *method, const char *host, gpr_timespec deadline, void *reserved);
239extern grpc_channel_create_call_type grpc_channel_create_call_import;
240#define grpc_channel_create_call grpc_channel_create_call_import
241typedef void(*grpc_channel_ping_type)(grpc_channel *channel, grpc_completion_queue *cq, void *tag, void *reserved);
242extern grpc_channel_ping_type grpc_channel_ping_import;
243#define grpc_channel_ping grpc_channel_ping_import
244typedef void *(*grpc_channel_register_call_type)(grpc_channel *channel, const char *method, const char *host, void *reserved);
245extern grpc_channel_register_call_type grpc_channel_register_call_import;
246#define grpc_channel_register_call grpc_channel_register_call_import
247typedef 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);
248extern grpc_channel_create_registered_call_type grpc_channel_create_registered_call_import;
249#define grpc_channel_create_registered_call grpc_channel_create_registered_call_import
250typedef grpc_call_error(*grpc_call_start_batch_type)(grpc_call *call, const grpc_op *ops, size_t nops, void *tag, void *reserved);
251extern grpc_call_start_batch_type grpc_call_start_batch_import;
252#define grpc_call_start_batch grpc_call_start_batch_import
253typedef char *(*grpc_call_get_peer_type)(grpc_call *call);
254extern grpc_call_get_peer_type grpc_call_get_peer_import;
255#define grpc_call_get_peer grpc_call_get_peer_import
256typedef void(*grpc_census_call_set_context_type)(grpc_call *call, struct census_context *context);
257extern grpc_census_call_set_context_type grpc_census_call_set_context_import;
258#define grpc_census_call_set_context grpc_census_call_set_context_import
259typedef struct census_context *(*grpc_census_call_get_context_type)(grpc_call *call);
260extern grpc_census_call_get_context_type grpc_census_call_get_context_import;
261#define grpc_census_call_get_context grpc_census_call_get_context_import
262typedef char *(*grpc_channel_get_target_type)(grpc_channel *channel);
263extern grpc_channel_get_target_type grpc_channel_get_target_import;
264#define grpc_channel_get_target grpc_channel_get_target_import
265typedef grpc_channel *(*grpc_insecure_channel_create_type)(const char *target, const grpc_channel_args *args, void *reserved);
266extern grpc_insecure_channel_create_type grpc_insecure_channel_create_import;
267#define grpc_insecure_channel_create grpc_insecure_channel_create_import
268typedef grpc_channel *(*grpc_lame_client_channel_create_type)(const char *target, grpc_status_code error_code, const char *error_message);
269extern grpc_lame_client_channel_create_type grpc_lame_client_channel_create_import;
270#define grpc_lame_client_channel_create grpc_lame_client_channel_create_import
271typedef void(*grpc_channel_destroy_type)(grpc_channel *channel);
272extern grpc_channel_destroy_type grpc_channel_destroy_import;
273#define grpc_channel_destroy grpc_channel_destroy_import
274typedef grpc_call_error(*grpc_call_cancel_type)(grpc_call *call, void *reserved);
275extern grpc_call_cancel_type grpc_call_cancel_import;
276#define grpc_call_cancel grpc_call_cancel_import
277typedef grpc_call_error(*grpc_call_cancel_with_status_type)(grpc_call *call, grpc_status_code status, const char *description, void *reserved);
278extern grpc_call_cancel_with_status_type grpc_call_cancel_with_status_import;
279#define grpc_call_cancel_with_status grpc_call_cancel_with_status_import
280typedef void(*grpc_call_destroy_type)(grpc_call *call);
281extern grpc_call_destroy_type grpc_call_destroy_import;
282#define grpc_call_destroy grpc_call_destroy_import
283typedef 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);
284extern grpc_server_request_call_type grpc_server_request_call_import;
285#define grpc_server_request_call grpc_server_request_call_import
286typedef void *(*grpc_server_register_method_type)(grpc_server *server, const char *method, const char *host);
287extern grpc_server_register_method_type grpc_server_register_method_import;
288#define grpc_server_register_method grpc_server_register_method_import
289typedef 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);
290extern grpc_server_request_registered_call_type grpc_server_request_registered_call_import;
291#define grpc_server_request_registered_call grpc_server_request_registered_call_import
292typedef grpc_server *(*grpc_server_create_type)(const grpc_channel_args *args, void *reserved);
293extern grpc_server_create_type grpc_server_create_import;
294#define grpc_server_create grpc_server_create_import
295typedef void(*grpc_server_register_completion_queue_type)(grpc_server *server, grpc_completion_queue *cq, void *reserved);
296extern grpc_server_register_completion_queue_type grpc_server_register_completion_queue_import;
297#define grpc_server_register_completion_queue grpc_server_register_completion_queue_import
298typedef int(*grpc_server_add_insecure_http2_port_type)(grpc_server *server, const char *addr);
299extern grpc_server_add_insecure_http2_port_type grpc_server_add_insecure_http2_port_import;
300#define grpc_server_add_insecure_http2_port grpc_server_add_insecure_http2_port_import
301typedef void(*grpc_server_start_type)(grpc_server *server);
302extern grpc_server_start_type grpc_server_start_import;
303#define grpc_server_start grpc_server_start_import
304typedef void(*grpc_server_shutdown_and_notify_type)(grpc_server *server, grpc_completion_queue *cq, void *tag);
305extern grpc_server_shutdown_and_notify_type grpc_server_shutdown_and_notify_import;
306#define grpc_server_shutdown_and_notify grpc_server_shutdown_and_notify_import
307typedef void(*grpc_server_cancel_all_calls_type)(grpc_server *server);
308extern grpc_server_cancel_all_calls_type grpc_server_cancel_all_calls_import;
309#define grpc_server_cancel_all_calls grpc_server_cancel_all_calls_import
310typedef void(*grpc_server_destroy_type)(grpc_server *server);
311extern grpc_server_destroy_type grpc_server_destroy_import;
312#define grpc_server_destroy grpc_server_destroy_import
313typedef int(*grpc_tracer_set_enabled_type)(const char *name, int enabled);
314extern grpc_tracer_set_enabled_type grpc_tracer_set_enabled_import;
315#define grpc_tracer_set_enabled grpc_tracer_set_enabled_import
316typedef int(*grpc_header_key_is_legal_type)(const char *key, size_t length);
317extern grpc_header_key_is_legal_type grpc_header_key_is_legal_import;
318#define grpc_header_key_is_legal grpc_header_key_is_legal_import
319typedef int(*grpc_header_nonbin_value_is_legal_type)(const char *value, size_t length);
320extern grpc_header_nonbin_value_is_legal_type grpc_header_nonbin_value_is_legal_import;
321#define grpc_header_nonbin_value_is_legal grpc_header_nonbin_value_is_legal_import
322typedef int(*grpc_is_binary_header_type)(const char *key, size_t length);
323extern grpc_is_binary_header_type grpc_is_binary_header_import;
324#define grpc_is_binary_header grpc_is_binary_header_import
325typedef const grpc_auth_property *(*grpc_auth_property_iterator_next_type)(grpc_auth_property_iterator *it);
326extern grpc_auth_property_iterator_next_type grpc_auth_property_iterator_next_import;
327#define grpc_auth_property_iterator_next grpc_auth_property_iterator_next_import
328typedef grpc_auth_property_iterator(*grpc_auth_context_property_iterator_type)(const grpc_auth_context *ctx);
329extern grpc_auth_context_property_iterator_type grpc_auth_context_property_iterator_import;
330#define grpc_auth_context_property_iterator grpc_auth_context_property_iterator_import
331typedef grpc_auth_property_iterator(*grpc_auth_context_peer_identity_type)(const grpc_auth_context *ctx);
332extern grpc_auth_context_peer_identity_type grpc_auth_context_peer_identity_import;
333#define grpc_auth_context_peer_identity grpc_auth_context_peer_identity_import
334typedef grpc_auth_property_iterator(*grpc_auth_context_find_properties_by_name_type)(const grpc_auth_context *ctx, const char *name);
335extern grpc_auth_context_find_properties_by_name_type grpc_auth_context_find_properties_by_name_import;
336#define grpc_auth_context_find_properties_by_name grpc_auth_context_find_properties_by_name_import
337typedef const char *(*grpc_auth_context_peer_identity_property_name_type)(const grpc_auth_context *ctx);
338extern grpc_auth_context_peer_identity_property_name_type grpc_auth_context_peer_identity_property_name_import;
339#define grpc_auth_context_peer_identity_property_name grpc_auth_context_peer_identity_property_name_import
340typedef int(*grpc_auth_context_peer_is_authenticated_type)(const grpc_auth_context *ctx);
341extern grpc_auth_context_peer_is_authenticated_type grpc_auth_context_peer_is_authenticated_import;
342#define grpc_auth_context_peer_is_authenticated grpc_auth_context_peer_is_authenticated_import
343typedef grpc_auth_context *(*grpc_call_auth_context_type)(grpc_call *call);
344extern grpc_call_auth_context_type grpc_call_auth_context_import;
345#define grpc_call_auth_context grpc_call_auth_context_import
346typedef void(*grpc_auth_context_release_type)(grpc_auth_context *context);
347extern grpc_auth_context_release_type grpc_auth_context_release_import;
348#define grpc_auth_context_release grpc_auth_context_release_import
349typedef void(*grpc_auth_context_add_property_type)(grpc_auth_context *ctx, const char *name, const char *value, size_t value_length);
350extern grpc_auth_context_add_property_type grpc_auth_context_add_property_import;
351#define grpc_auth_context_add_property grpc_auth_context_add_property_import
352typedef void(*grpc_auth_context_add_cstring_property_type)(grpc_auth_context *ctx, const char *name, const char *value);
353extern grpc_auth_context_add_cstring_property_type grpc_auth_context_add_cstring_property_import;
354#define grpc_auth_context_add_cstring_property grpc_auth_context_add_cstring_property_import
355typedef int(*grpc_auth_context_set_peer_identity_property_name_type)(grpc_auth_context *ctx, const char *name);
356extern grpc_auth_context_set_peer_identity_property_name_type grpc_auth_context_set_peer_identity_property_name_import;
357#define grpc_auth_context_set_peer_identity_property_name grpc_auth_context_set_peer_identity_property_name_import
358typedef void(*grpc_channel_credentials_release_type)(grpc_channel_credentials *creds);
359extern grpc_channel_credentials_release_type grpc_channel_credentials_release_import;
360#define grpc_channel_credentials_release grpc_channel_credentials_release_import
361typedef grpc_channel_credentials *(*grpc_google_default_credentials_create_type)(void);
362extern grpc_google_default_credentials_create_type grpc_google_default_credentials_create_import;
363#define grpc_google_default_credentials_create grpc_google_default_credentials_create_import
364typedef 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);
365extern grpc_ssl_credentials_create_type grpc_ssl_credentials_create_import;
366#define grpc_ssl_credentials_create grpc_ssl_credentials_create_import
367typedef void(*grpc_call_credentials_release_type)(grpc_call_credentials *creds);
368extern grpc_call_credentials_release_type grpc_call_credentials_release_import;
369#define grpc_call_credentials_release grpc_call_credentials_release_import
370typedef grpc_channel_credentials *(*grpc_composite_channel_credentials_create_type)(grpc_channel_credentials *channel_creds, grpc_call_credentials *call_creds, void *reserved);
371extern grpc_composite_channel_credentials_create_type grpc_composite_channel_credentials_create_import;
372#define grpc_composite_channel_credentials_create grpc_composite_channel_credentials_create_import
373typedef grpc_call_credentials *(*grpc_composite_call_credentials_create_type)(grpc_call_credentials *creds1, grpc_call_credentials *creds2, void *reserved);
374extern grpc_composite_call_credentials_create_type grpc_composite_call_credentials_create_import;
375#define grpc_composite_call_credentials_create grpc_composite_call_credentials_create_import
376typedef grpc_call_credentials *(*grpc_google_compute_engine_credentials_create_type)(void *reserved);
377extern grpc_google_compute_engine_credentials_create_type grpc_google_compute_engine_credentials_create_import;
378#define grpc_google_compute_engine_credentials_create grpc_google_compute_engine_credentials_create_import
379typedef gpr_timespec(*grpc_max_auth_token_lifetime_type)();
380extern grpc_max_auth_token_lifetime_type grpc_max_auth_token_lifetime_import;
381#define grpc_max_auth_token_lifetime grpc_max_auth_token_lifetime_import
382typedef grpc_call_credentials *(*grpc_service_account_jwt_access_credentials_create_type)(const char *json_key, gpr_timespec token_lifetime, void *reserved);
383extern grpc_service_account_jwt_access_credentials_create_type grpc_service_account_jwt_access_credentials_create_import;
384#define grpc_service_account_jwt_access_credentials_create grpc_service_account_jwt_access_credentials_create_import
385typedef grpc_call_credentials *(*grpc_google_refresh_token_credentials_create_type)(const char *json_refresh_token, void *reserved);
386extern grpc_google_refresh_token_credentials_create_type grpc_google_refresh_token_credentials_create_import;
387#define grpc_google_refresh_token_credentials_create grpc_google_refresh_token_credentials_create_import
388typedef grpc_call_credentials *(*grpc_access_token_credentials_create_type)(const char *access_token, void *reserved);
389extern grpc_access_token_credentials_create_type grpc_access_token_credentials_create_import;
390#define grpc_access_token_credentials_create grpc_access_token_credentials_create_import
391typedef grpc_call_credentials *(*grpc_google_iam_credentials_create_type)(const char *authorization_token, const char *authority_selector, void *reserved);
392extern grpc_google_iam_credentials_create_type grpc_google_iam_credentials_create_import;
393#define grpc_google_iam_credentials_create grpc_google_iam_credentials_create_import
394typedef grpc_call_credentials *(*grpc_metadata_credentials_create_from_plugin_type)(grpc_metadata_credentials_plugin plugin, void *reserved);
395extern grpc_metadata_credentials_create_from_plugin_type grpc_metadata_credentials_create_from_plugin_import;
396#define grpc_metadata_credentials_create_from_plugin grpc_metadata_credentials_create_from_plugin_import
397typedef grpc_channel *(*grpc_secure_channel_create_type)(grpc_channel_credentials *creds, const char *target, const grpc_channel_args *args, void *reserved);
398extern grpc_secure_channel_create_type grpc_secure_channel_create_import;
399#define grpc_secure_channel_create grpc_secure_channel_create_import
400typedef void(*grpc_server_credentials_release_type)(grpc_server_credentials *creds);
401extern grpc_server_credentials_release_type grpc_server_credentials_release_import;
402#define grpc_server_credentials_release grpc_server_credentials_release_import
403typedef 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);
404extern grpc_ssl_server_credentials_create_type grpc_ssl_server_credentials_create_import;
405#define grpc_ssl_server_credentials_create grpc_ssl_server_credentials_create_import
406typedef int(*grpc_server_add_secure_http2_port_type)(grpc_server *server, const char *addr, grpc_server_credentials *creds);
407extern grpc_server_add_secure_http2_port_type grpc_server_add_secure_http2_port_import;
408#define grpc_server_add_secure_http2_port grpc_server_add_secure_http2_port_import
409typedef grpc_call_error(*grpc_call_set_credentials_type)(grpc_call *call, grpc_call_credentials *creds);
410extern grpc_call_set_credentials_type grpc_call_set_credentials_import;
411#define grpc_call_set_credentials grpc_call_set_credentials_import
412typedef void(*grpc_server_credentials_set_auth_metadata_processor_type)(grpc_server_credentials *creds, grpc_auth_metadata_processor processor);
413extern grpc_server_credentials_set_auth_metadata_processor_type grpc_server_credentials_set_auth_metadata_processor_import;
414#define grpc_server_credentials_set_auth_metadata_processor grpc_server_credentials_set_auth_metadata_processor_import
415typedef void *(*gpr_malloc_type)(size_t size);
416extern gpr_malloc_type gpr_malloc_import;
417#define gpr_malloc gpr_malloc_import
418typedef void(*gpr_free_type)(void *ptr);
419extern gpr_free_type gpr_free_import;
420#define gpr_free gpr_free_import
421typedef void *(*gpr_realloc_type)(void *p, size_t size);
422extern gpr_realloc_type gpr_realloc_import;
423#define gpr_realloc gpr_realloc_import
424typedef void *(*gpr_malloc_aligned_type)(size_t size, size_t alignment_log);
425extern gpr_malloc_aligned_type gpr_malloc_aligned_import;
426#define gpr_malloc_aligned gpr_malloc_aligned_import
427typedef void(*gpr_free_aligned_type)(void *ptr);
428extern gpr_free_aligned_type gpr_free_aligned_import;
429#define gpr_free_aligned gpr_free_aligned_import
430typedef void(*gpr_set_allocation_functions_type)(gpr_allocation_functions functions);
431extern gpr_set_allocation_functions_type gpr_set_allocation_functions_import;
432#define gpr_set_allocation_functions gpr_set_allocation_functions_import
433typedef gpr_allocation_functions(*gpr_get_allocation_functions_type)();
434extern gpr_get_allocation_functions_type gpr_get_allocation_functions_import;
435#define gpr_get_allocation_functions gpr_get_allocation_functions_import
436typedef grpc_byte_buffer *(*grpc_raw_byte_buffer_create_type)(gpr_slice *slices, size_t nslices);
437extern grpc_raw_byte_buffer_create_type grpc_raw_byte_buffer_create_import;
438#define grpc_raw_byte_buffer_create grpc_raw_byte_buffer_create_import
439typedef grpc_byte_buffer *(*grpc_raw_compressed_byte_buffer_create_type)(gpr_slice *slices, size_t nslices, grpc_compression_algorithm compression);
440extern grpc_raw_compressed_byte_buffer_create_type grpc_raw_compressed_byte_buffer_create_import;
441#define grpc_raw_compressed_byte_buffer_create grpc_raw_compressed_byte_buffer_create_import
442typedef grpc_byte_buffer *(*grpc_byte_buffer_copy_type)(grpc_byte_buffer *bb);
443extern grpc_byte_buffer_copy_type grpc_byte_buffer_copy_import;
444#define grpc_byte_buffer_copy grpc_byte_buffer_copy_import
445typedef size_t(*grpc_byte_buffer_length_type)(grpc_byte_buffer *bb);
446extern grpc_byte_buffer_length_type grpc_byte_buffer_length_import;
447#define grpc_byte_buffer_length grpc_byte_buffer_length_import
448typedef void(*grpc_byte_buffer_destroy_type)(grpc_byte_buffer *byte_buffer);
449extern grpc_byte_buffer_destroy_type grpc_byte_buffer_destroy_import;
450#define grpc_byte_buffer_destroy grpc_byte_buffer_destroy_import
451typedef void(*grpc_byte_buffer_reader_init_type)(grpc_byte_buffer_reader *reader, grpc_byte_buffer *buffer);
452extern grpc_byte_buffer_reader_init_type grpc_byte_buffer_reader_init_import;
453#define grpc_byte_buffer_reader_init grpc_byte_buffer_reader_init_import
454typedef void(*grpc_byte_buffer_reader_destroy_type)(grpc_byte_buffer_reader *reader);
455extern grpc_byte_buffer_reader_destroy_type grpc_byte_buffer_reader_destroy_import;
456#define grpc_byte_buffer_reader_destroy grpc_byte_buffer_reader_destroy_import
457typedef int(*grpc_byte_buffer_reader_next_type)(grpc_byte_buffer_reader *reader, gpr_slice *slice);
458extern grpc_byte_buffer_reader_next_type grpc_byte_buffer_reader_next_import;
459#define grpc_byte_buffer_reader_next grpc_byte_buffer_reader_next_import
460typedef gpr_slice(*grpc_byte_buffer_reader_readall_type)(grpc_byte_buffer_reader *reader);
461extern grpc_byte_buffer_reader_readall_type grpc_byte_buffer_reader_readall_import;
462#define grpc_byte_buffer_reader_readall grpc_byte_buffer_reader_readall_import
463typedef grpc_byte_buffer *(*grpc_raw_byte_buffer_from_reader_type)(grpc_byte_buffer_reader *reader);
464extern grpc_raw_byte_buffer_from_reader_type grpc_raw_byte_buffer_from_reader_import;
465#define grpc_raw_byte_buffer_from_reader grpc_raw_byte_buffer_from_reader_import
466typedef void(*gpr_log_type)(const char *file, int line, gpr_log_severity severity, const char *format, ...);
467extern gpr_log_type gpr_log_import;
468#define gpr_log gpr_log_import
469typedef void(*gpr_log_message_type)(const char *file, int line, gpr_log_severity severity, const char *message);
470extern gpr_log_message_type gpr_log_message_import;
471#define gpr_log_message gpr_log_message_import
472typedef void(*gpr_set_log_function_type)(gpr_log_func func);
473extern gpr_set_log_function_type gpr_set_log_function_import;
474#define gpr_set_log_function gpr_set_log_function_import
475typedef gpr_slice(*gpr_slice_ref_type)(gpr_slice s);
476extern gpr_slice_ref_type gpr_slice_ref_import;
477#define gpr_slice_ref gpr_slice_ref_import
478typedef void(*gpr_slice_unref_type)(gpr_slice s);
479extern gpr_slice_unref_type gpr_slice_unref_import;
480#define gpr_slice_unref gpr_slice_unref_import
481typedef gpr_slice(*gpr_slice_new_type)(void *p, size_t len, void (*destroy)(void *));
482extern gpr_slice_new_type gpr_slice_new_import;
483#define gpr_slice_new gpr_slice_new_import
484typedef gpr_slice(*gpr_slice_new_with_len_type)(void *p, size_t len, void (*destroy)(void *, size_t));
485extern gpr_slice_new_with_len_type gpr_slice_new_with_len_import;
486#define gpr_slice_new_with_len gpr_slice_new_with_len_import
487typedef gpr_slice(*gpr_slice_malloc_type)(size_t length);
488extern gpr_slice_malloc_type gpr_slice_malloc_import;
489#define gpr_slice_malloc gpr_slice_malloc_import
490typedef gpr_slice(*gpr_slice_from_copied_string_type)(const char *source);
491extern gpr_slice_from_copied_string_type gpr_slice_from_copied_string_import;
492#define gpr_slice_from_copied_string gpr_slice_from_copied_string_import
493typedef gpr_slice(*gpr_slice_from_copied_buffer_type)(const char *source, size_t len);
494extern gpr_slice_from_copied_buffer_type gpr_slice_from_copied_buffer_import;
495#define gpr_slice_from_copied_buffer gpr_slice_from_copied_buffer_import
496typedef gpr_slice(*gpr_slice_from_static_string_type)(const char *source);
497extern gpr_slice_from_static_string_type gpr_slice_from_static_string_import;
498#define gpr_slice_from_static_string gpr_slice_from_static_string_import
499typedef gpr_slice(*gpr_slice_sub_type)(gpr_slice s, size_t begin, size_t end);
500extern gpr_slice_sub_type gpr_slice_sub_import;
501#define gpr_slice_sub gpr_slice_sub_import
502typedef gpr_slice(*gpr_slice_sub_no_ref_type)(gpr_slice s, size_t begin, size_t end);
503extern gpr_slice_sub_no_ref_type gpr_slice_sub_no_ref_import;
504#define gpr_slice_sub_no_ref gpr_slice_sub_no_ref_import
505typedef gpr_slice(*gpr_slice_split_tail_type)(gpr_slice *s, size_t split);
506extern gpr_slice_split_tail_type gpr_slice_split_tail_import;
507#define gpr_slice_split_tail gpr_slice_split_tail_import
508typedef gpr_slice(*gpr_slice_split_head_type)(gpr_slice *s, size_t split);
509extern gpr_slice_split_head_type gpr_slice_split_head_import;
510#define gpr_slice_split_head gpr_slice_split_head_import
511typedef gpr_slice(*gpr_empty_slice_type)(void);
512extern gpr_empty_slice_type gpr_empty_slice_import;
513#define gpr_empty_slice gpr_empty_slice_import
514typedef int(*gpr_slice_cmp_type)(gpr_slice a, gpr_slice b);
515extern gpr_slice_cmp_type gpr_slice_cmp_import;
516#define gpr_slice_cmp gpr_slice_cmp_import
517typedef int(*gpr_slice_str_cmp_type)(gpr_slice a, const char *b);
518extern gpr_slice_str_cmp_type gpr_slice_str_cmp_import;
519#define gpr_slice_str_cmp gpr_slice_str_cmp_import
520typedef void(*gpr_slice_buffer_init_type)(gpr_slice_buffer *sb);
521extern gpr_slice_buffer_init_type gpr_slice_buffer_init_import;
522#define gpr_slice_buffer_init gpr_slice_buffer_init_import
523typedef void(*gpr_slice_buffer_destroy_type)(gpr_slice_buffer *sb);
524extern gpr_slice_buffer_destroy_type gpr_slice_buffer_destroy_import;
525#define gpr_slice_buffer_destroy gpr_slice_buffer_destroy_import
526typedef void(*gpr_slice_buffer_add_type)(gpr_slice_buffer *sb, gpr_slice slice);
527extern gpr_slice_buffer_add_type gpr_slice_buffer_add_import;
528#define gpr_slice_buffer_add gpr_slice_buffer_add_import
529typedef size_t(*gpr_slice_buffer_add_indexed_type)(gpr_slice_buffer *sb, gpr_slice slice);
530extern gpr_slice_buffer_add_indexed_type gpr_slice_buffer_add_indexed_import;
531#define gpr_slice_buffer_add_indexed gpr_slice_buffer_add_indexed_import
532typedef void(*gpr_slice_buffer_addn_type)(gpr_slice_buffer *sb, gpr_slice *slices, size_t n);
533extern gpr_slice_buffer_addn_type gpr_slice_buffer_addn_import;
534#define gpr_slice_buffer_addn gpr_slice_buffer_addn_import
535typedef uint8_t *(*gpr_slice_buffer_tiny_add_type)(gpr_slice_buffer *sb, size_t len);
536extern gpr_slice_buffer_tiny_add_type gpr_slice_buffer_tiny_add_import;
537#define gpr_slice_buffer_tiny_add gpr_slice_buffer_tiny_add_import
538typedef void(*gpr_slice_buffer_pop_type)(gpr_slice_buffer *sb);
539extern gpr_slice_buffer_pop_type gpr_slice_buffer_pop_import;
540#define gpr_slice_buffer_pop gpr_slice_buffer_pop_import
541typedef void(*gpr_slice_buffer_reset_and_unref_type)(gpr_slice_buffer *sb);
542extern gpr_slice_buffer_reset_and_unref_type gpr_slice_buffer_reset_and_unref_import;
543#define gpr_slice_buffer_reset_and_unref gpr_slice_buffer_reset_and_unref_import
544typedef void(*gpr_slice_buffer_swap_type)(gpr_slice_buffer *a, gpr_slice_buffer *b);
545extern gpr_slice_buffer_swap_type gpr_slice_buffer_swap_import;
546#define gpr_slice_buffer_swap gpr_slice_buffer_swap_import
547typedef void(*gpr_slice_buffer_move_into_type)(gpr_slice_buffer *src, gpr_slice_buffer *dst);
548extern gpr_slice_buffer_move_into_type gpr_slice_buffer_move_into_import;
549#define gpr_slice_buffer_move_into gpr_slice_buffer_move_into_import
550typedef void(*gpr_slice_buffer_trim_end_type)(gpr_slice_buffer *src, size_t n, gpr_slice_buffer *garbage);
551extern gpr_slice_buffer_trim_end_type gpr_slice_buffer_trim_end_import;
552#define gpr_slice_buffer_trim_end gpr_slice_buffer_trim_end_import
553typedef void(*gpr_slice_buffer_move_first_type)(gpr_slice_buffer *src, size_t n, gpr_slice_buffer *dst);
554extern gpr_slice_buffer_move_first_type gpr_slice_buffer_move_first_import;
555#define gpr_slice_buffer_move_first gpr_slice_buffer_move_first_import
556typedef gpr_slice(*gpr_slice_buffer_take_first_type)(gpr_slice_buffer *src);
557extern gpr_slice_buffer_take_first_type gpr_slice_buffer_take_first_import;
558#define gpr_slice_buffer_take_first gpr_slice_buffer_take_first_import
559typedef void(*gpr_mu_init_type)(gpr_mu *mu);
560extern gpr_mu_init_type gpr_mu_init_import;
561#define gpr_mu_init gpr_mu_init_import
562typedef void(*gpr_mu_destroy_type)(gpr_mu *mu);
563extern gpr_mu_destroy_type gpr_mu_destroy_import;
564#define gpr_mu_destroy gpr_mu_destroy_import
565typedef void(*gpr_mu_lock_type)(gpr_mu *mu);
566extern gpr_mu_lock_type gpr_mu_lock_import;
567#define gpr_mu_lock gpr_mu_lock_import
568typedef void(*gpr_mu_unlock_type)(gpr_mu *mu);
569extern gpr_mu_unlock_type gpr_mu_unlock_import;
570#define gpr_mu_unlock gpr_mu_unlock_import
571typedef int(*gpr_mu_trylock_type)(gpr_mu *mu);
572extern gpr_mu_trylock_type gpr_mu_trylock_import;
573#define gpr_mu_trylock gpr_mu_trylock_import
574typedef void(*gpr_cv_init_type)(gpr_cv *cv);
575extern gpr_cv_init_type gpr_cv_init_import;
576#define gpr_cv_init gpr_cv_init_import
577typedef void(*gpr_cv_destroy_type)(gpr_cv *cv);
578extern gpr_cv_destroy_type gpr_cv_destroy_import;
579#define gpr_cv_destroy gpr_cv_destroy_import
580typedef int(*gpr_cv_wait_type)(gpr_cv *cv, gpr_mu *mu, gpr_timespec abs_deadline);
581extern gpr_cv_wait_type gpr_cv_wait_import;
582#define gpr_cv_wait gpr_cv_wait_import
583typedef void(*gpr_cv_signal_type)(gpr_cv *cv);
584extern gpr_cv_signal_type gpr_cv_signal_import;
585#define gpr_cv_signal gpr_cv_signal_import
586typedef void(*gpr_cv_broadcast_type)(gpr_cv *cv);
587extern gpr_cv_broadcast_type gpr_cv_broadcast_import;
588#define gpr_cv_broadcast gpr_cv_broadcast_import
589typedef void(*gpr_once_init_type)(gpr_once *once, void (*init_routine)(void));
590extern gpr_once_init_type gpr_once_init_import;
591#define gpr_once_init gpr_once_init_import
592typedef void(*gpr_event_init_type)(gpr_event *ev);
593extern gpr_event_init_type gpr_event_init_import;
594#define gpr_event_init gpr_event_init_import
595typedef void(*gpr_event_set_type)(gpr_event *ev, void *value);
596extern gpr_event_set_type gpr_event_set_import;
597#define gpr_event_set gpr_event_set_import
598typedef void *(*gpr_event_get_type)(gpr_event *ev);
599extern gpr_event_get_type gpr_event_get_import;
600#define gpr_event_get gpr_event_get_import
601typedef void *(*gpr_event_wait_type)(gpr_event *ev, gpr_timespec abs_deadline);
602extern gpr_event_wait_type gpr_event_wait_import;
603#define gpr_event_wait gpr_event_wait_import
604typedef void(*gpr_ref_init_type)(gpr_refcount *r, int n);
605extern gpr_ref_init_type gpr_ref_init_import;
606#define gpr_ref_init gpr_ref_init_import
607typedef void(*gpr_ref_type)(gpr_refcount *r);
608extern gpr_ref_type gpr_ref_import;
609#define gpr_ref gpr_ref_import
610typedef void(*gpr_refn_type)(gpr_refcount *r, int n);
611extern gpr_refn_type gpr_refn_import;
612#define gpr_refn gpr_refn_import
613typedef int(*gpr_unref_type)(gpr_refcount *r);
614extern gpr_unref_type gpr_unref_import;
615#define gpr_unref gpr_unref_import
616typedef void(*gpr_stats_init_type)(gpr_stats_counter *c, intptr_t n);
617extern gpr_stats_init_type gpr_stats_init_import;
618#define gpr_stats_init gpr_stats_init_import
619typedef void(*gpr_stats_inc_type)(gpr_stats_counter *c, intptr_t inc);
620extern gpr_stats_inc_type gpr_stats_inc_import;
621#define gpr_stats_inc gpr_stats_inc_import
622typedef intptr_t(*gpr_stats_read_type)(const gpr_stats_counter *c);
623extern gpr_stats_read_type gpr_stats_read_import;
624#define gpr_stats_read gpr_stats_read_import
625typedef gpr_timespec(*gpr_time_0_type)(gpr_clock_type type);
626extern gpr_time_0_type gpr_time_0_import;
627#define gpr_time_0 gpr_time_0_import
628typedef gpr_timespec(*gpr_inf_future_type)(gpr_clock_type type);
629extern gpr_inf_future_type gpr_inf_future_import;
630#define gpr_inf_future gpr_inf_future_import
631typedef gpr_timespec(*gpr_inf_past_type)(gpr_clock_type type);
632extern gpr_inf_past_type gpr_inf_past_import;
633#define gpr_inf_past gpr_inf_past_import
634typedef void(*gpr_time_init_type)(void);
635extern gpr_time_init_type gpr_time_init_import;
636#define gpr_time_init gpr_time_init_import
637typedef gpr_timespec(*gpr_now_type)(gpr_clock_type clock);
638extern gpr_now_type gpr_now_import;
639#define gpr_now gpr_now_import
640typedef gpr_timespec(*gpr_convert_clock_type_type)(gpr_timespec t, gpr_clock_type target_clock);
641extern gpr_convert_clock_type_type gpr_convert_clock_type_import;
642#define gpr_convert_clock_type gpr_convert_clock_type_import
643typedef int(*gpr_time_cmp_type)(gpr_timespec a, gpr_timespec b);
644extern gpr_time_cmp_type gpr_time_cmp_import;
645#define gpr_time_cmp gpr_time_cmp_import
646typedef gpr_timespec(*gpr_time_max_type)(gpr_timespec a, gpr_timespec b);
647extern gpr_time_max_type gpr_time_max_import;
648#define gpr_time_max gpr_time_max_import
649typedef gpr_timespec(*gpr_time_min_type)(gpr_timespec a, gpr_timespec b);
650extern gpr_time_min_type gpr_time_min_import;
651#define gpr_time_min gpr_time_min_import
652typedef gpr_timespec(*gpr_time_add_type)(gpr_timespec a, gpr_timespec b);
653extern gpr_time_add_type gpr_time_add_import;
654#define gpr_time_add gpr_time_add_import
655typedef gpr_timespec(*gpr_time_sub_type)(gpr_timespec a, gpr_timespec b);
656extern gpr_time_sub_type gpr_time_sub_import;
657#define gpr_time_sub gpr_time_sub_import
murgatroid99309830f2016-02-05 11:30:00 -0800658typedef gpr_timespec(*gpr_time_from_micros_type)(int64_t x, gpr_clock_type clock_type);
Masood Malekghassemidf1e07e2016-02-02 14:17:14 -0800659extern gpr_time_from_micros_type gpr_time_from_micros_import;
660#define gpr_time_from_micros gpr_time_from_micros_import
murgatroid99309830f2016-02-05 11:30:00 -0800661typedef gpr_timespec(*gpr_time_from_nanos_type)(int64_t x, gpr_clock_type clock_type);
Masood Malekghassemidf1e07e2016-02-02 14:17:14 -0800662extern gpr_time_from_nanos_type gpr_time_from_nanos_import;
663#define gpr_time_from_nanos gpr_time_from_nanos_import
murgatroid99309830f2016-02-05 11:30:00 -0800664typedef gpr_timespec(*gpr_time_from_millis_type)(int64_t x, gpr_clock_type clock_type);
Masood Malekghassemidf1e07e2016-02-02 14:17:14 -0800665extern gpr_time_from_millis_type gpr_time_from_millis_import;
666#define gpr_time_from_millis gpr_time_from_millis_import
murgatroid99309830f2016-02-05 11:30:00 -0800667typedef gpr_timespec(*gpr_time_from_seconds_type)(int64_t x, gpr_clock_type clock_type);
Masood Malekghassemidf1e07e2016-02-02 14:17:14 -0800668extern gpr_time_from_seconds_type gpr_time_from_seconds_import;
669#define gpr_time_from_seconds gpr_time_from_seconds_import
murgatroid99309830f2016-02-05 11:30:00 -0800670typedef gpr_timespec(*gpr_time_from_minutes_type)(int64_t x, gpr_clock_type clock_type);
Masood Malekghassemidf1e07e2016-02-02 14:17:14 -0800671extern gpr_time_from_minutes_type gpr_time_from_minutes_import;
672#define gpr_time_from_minutes gpr_time_from_minutes_import
murgatroid99309830f2016-02-05 11:30:00 -0800673typedef gpr_timespec(*gpr_time_from_hours_type)(int64_t x, gpr_clock_type clock_type);
Masood Malekghassemidf1e07e2016-02-02 14:17:14 -0800674extern gpr_time_from_hours_type gpr_time_from_hours_import;
675#define gpr_time_from_hours gpr_time_from_hours_import
676typedef int32_t(*gpr_time_to_millis_type)(gpr_timespec timespec);
677extern gpr_time_to_millis_type gpr_time_to_millis_import;
678#define gpr_time_to_millis gpr_time_to_millis_import
679typedef int(*gpr_time_similar_type)(gpr_timespec a, gpr_timespec b, gpr_timespec threshold);
680extern gpr_time_similar_type gpr_time_similar_import;
681#define gpr_time_similar gpr_time_similar_import
682typedef void(*gpr_sleep_until_type)(gpr_timespec until);
683extern gpr_sleep_until_type gpr_sleep_until_import;
684#define gpr_sleep_until gpr_sleep_until_import
685typedef double(*gpr_timespec_to_micros_type)(gpr_timespec t);
686extern gpr_timespec_to_micros_type gpr_timespec_to_micros_import;
687#define gpr_timespec_to_micros gpr_timespec_to_micros_import
688typedef gpr_avl(*gpr_avl_create_type)(const gpr_avl_vtable *vtable);
689extern gpr_avl_create_type gpr_avl_create_import;
690#define gpr_avl_create gpr_avl_create_import
691typedef gpr_avl(*gpr_avl_ref_type)(gpr_avl avl);
692extern gpr_avl_ref_type gpr_avl_ref_import;
693#define gpr_avl_ref gpr_avl_ref_import
694typedef void(*gpr_avl_unref_type)(gpr_avl avl);
695extern gpr_avl_unref_type gpr_avl_unref_import;
696#define gpr_avl_unref gpr_avl_unref_import
697typedef gpr_avl(*gpr_avl_add_type)(gpr_avl avl, void *key, void *value);
698extern gpr_avl_add_type gpr_avl_add_import;
699#define gpr_avl_add gpr_avl_add_import
700typedef gpr_avl(*gpr_avl_remove_type)(gpr_avl avl, void *key);
701extern gpr_avl_remove_type gpr_avl_remove_import;
702#define gpr_avl_remove gpr_avl_remove_import
703typedef void *(*gpr_avl_get_type)(gpr_avl avl, void *key);
704extern gpr_avl_get_type gpr_avl_get_import;
705#define gpr_avl_get gpr_avl_get_import
706typedef gpr_cmdline *(*gpr_cmdline_create_type)(const char *description);
707extern gpr_cmdline_create_type gpr_cmdline_create_import;
708#define gpr_cmdline_create gpr_cmdline_create_import
709typedef void(*gpr_cmdline_add_int_type)(gpr_cmdline *cl, const char *name, const char *help, int *value);
710extern gpr_cmdline_add_int_type gpr_cmdline_add_int_import;
711#define gpr_cmdline_add_int gpr_cmdline_add_int_import
712typedef void(*gpr_cmdline_add_flag_type)(gpr_cmdline *cl, const char *name, const char *help, int *value);
713extern gpr_cmdline_add_flag_type gpr_cmdline_add_flag_import;
714#define gpr_cmdline_add_flag gpr_cmdline_add_flag_import
715typedef void(*gpr_cmdline_add_string_type)(gpr_cmdline *cl, const char *name, const char *help, char **value);
716extern gpr_cmdline_add_string_type gpr_cmdline_add_string_import;
717#define gpr_cmdline_add_string gpr_cmdline_add_string_import
718typedef 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);
719extern gpr_cmdline_on_extra_arg_type gpr_cmdline_on_extra_arg_import;
720#define gpr_cmdline_on_extra_arg gpr_cmdline_on_extra_arg_import
721typedef void(*gpr_cmdline_set_survive_failure_type)(gpr_cmdline *cl);
722extern gpr_cmdline_set_survive_failure_type gpr_cmdline_set_survive_failure_import;
723#define gpr_cmdline_set_survive_failure gpr_cmdline_set_survive_failure_import
724typedef int(*gpr_cmdline_parse_type)(gpr_cmdline *cl, int argc, char **argv);
725extern gpr_cmdline_parse_type gpr_cmdline_parse_import;
726#define gpr_cmdline_parse gpr_cmdline_parse_import
727typedef void(*gpr_cmdline_destroy_type)(gpr_cmdline *cl);
728extern gpr_cmdline_destroy_type gpr_cmdline_destroy_import;
729#define gpr_cmdline_destroy gpr_cmdline_destroy_import
730typedef char *(*gpr_cmdline_usage_string_type)(gpr_cmdline *cl, const char *argv0);
731extern gpr_cmdline_usage_string_type gpr_cmdline_usage_string_import;
732#define gpr_cmdline_usage_string gpr_cmdline_usage_string_import
733typedef unsigned(*gpr_cpu_num_cores_type)(void);
734extern gpr_cpu_num_cores_type gpr_cpu_num_cores_import;
735#define gpr_cpu_num_cores gpr_cpu_num_cores_import
736typedef unsigned(*gpr_cpu_current_cpu_type)(void);
737extern gpr_cpu_current_cpu_type gpr_cpu_current_cpu_import;
738#define gpr_cpu_current_cpu gpr_cpu_current_cpu_import
739typedef gpr_histogram *(*gpr_histogram_create_type)(double resolution, double max_bucket_start);
740extern gpr_histogram_create_type gpr_histogram_create_import;
741#define gpr_histogram_create gpr_histogram_create_import
742typedef void(*gpr_histogram_destroy_type)(gpr_histogram *h);
743extern gpr_histogram_destroy_type gpr_histogram_destroy_import;
744#define gpr_histogram_destroy gpr_histogram_destroy_import
745typedef void(*gpr_histogram_add_type)(gpr_histogram *h, double x);
746extern gpr_histogram_add_type gpr_histogram_add_import;
747#define gpr_histogram_add gpr_histogram_add_import
748typedef int(*gpr_histogram_merge_type)(gpr_histogram *dst, const gpr_histogram *src);
749extern gpr_histogram_merge_type gpr_histogram_merge_import;
750#define gpr_histogram_merge gpr_histogram_merge_import
751typedef double(*gpr_histogram_percentile_type)(gpr_histogram *histogram, double percentile);
752extern gpr_histogram_percentile_type gpr_histogram_percentile_import;
753#define gpr_histogram_percentile gpr_histogram_percentile_import
754typedef double(*gpr_histogram_mean_type)(gpr_histogram *histogram);
755extern gpr_histogram_mean_type gpr_histogram_mean_import;
756#define gpr_histogram_mean gpr_histogram_mean_import
757typedef double(*gpr_histogram_stddev_type)(gpr_histogram *histogram);
758extern gpr_histogram_stddev_type gpr_histogram_stddev_import;
759#define gpr_histogram_stddev gpr_histogram_stddev_import
760typedef double(*gpr_histogram_variance_type)(gpr_histogram *histogram);
761extern gpr_histogram_variance_type gpr_histogram_variance_import;
762#define gpr_histogram_variance gpr_histogram_variance_import
763typedef double(*gpr_histogram_maximum_type)(gpr_histogram *histogram);
764extern gpr_histogram_maximum_type gpr_histogram_maximum_import;
765#define gpr_histogram_maximum gpr_histogram_maximum_import
766typedef double(*gpr_histogram_minimum_type)(gpr_histogram *histogram);
767extern gpr_histogram_minimum_type gpr_histogram_minimum_import;
768#define gpr_histogram_minimum gpr_histogram_minimum_import
769typedef double(*gpr_histogram_count_type)(gpr_histogram *histogram);
770extern gpr_histogram_count_type gpr_histogram_count_import;
771#define gpr_histogram_count gpr_histogram_count_import
772typedef double(*gpr_histogram_sum_type)(gpr_histogram *histogram);
773extern gpr_histogram_sum_type gpr_histogram_sum_import;
774#define gpr_histogram_sum gpr_histogram_sum_import
775typedef double(*gpr_histogram_sum_of_squares_type)(gpr_histogram *histogram);
776extern gpr_histogram_sum_of_squares_type gpr_histogram_sum_of_squares_import;
777#define gpr_histogram_sum_of_squares gpr_histogram_sum_of_squares_import
778typedef const uint32_t *(*gpr_histogram_get_contents_type)(gpr_histogram *histogram, size_t *count);
779extern gpr_histogram_get_contents_type gpr_histogram_get_contents_import;
780#define gpr_histogram_get_contents gpr_histogram_get_contents_import
781typedef 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);
782extern gpr_histogram_merge_contents_type gpr_histogram_merge_contents_import;
783#define gpr_histogram_merge_contents gpr_histogram_merge_contents_import
784typedef int(*gpr_join_host_port_type)(char **out, const char *host, int port);
785extern gpr_join_host_port_type gpr_join_host_port_import;
786#define gpr_join_host_port gpr_join_host_port_import
787typedef int(*gpr_split_host_port_type)(const char *name, char **host, char **port);
788extern gpr_split_host_port_type gpr_split_host_port_import;
789#define gpr_split_host_port gpr_split_host_port_import
790typedef char *(*gpr_format_message_type)(int messageid);
791extern gpr_format_message_type gpr_format_message_import;
792#define gpr_format_message gpr_format_message_import
793typedef char *(*gpr_strdup_type)(const char *src);
794extern gpr_strdup_type gpr_strdup_import;
795#define gpr_strdup gpr_strdup_import
796typedef int(*gpr_asprintf_type)(char **strp, const char *format, ...);
797extern gpr_asprintf_type gpr_asprintf_import;
798#define gpr_asprintf gpr_asprintf_import
799typedef const char *(*gpr_subprocess_binary_extension_type)();
800extern gpr_subprocess_binary_extension_type gpr_subprocess_binary_extension_import;
801#define gpr_subprocess_binary_extension gpr_subprocess_binary_extension_import
802typedef gpr_subprocess *(*gpr_subprocess_create_type)(int argc, const char **argv);
803extern gpr_subprocess_create_type gpr_subprocess_create_import;
804#define gpr_subprocess_create gpr_subprocess_create_import
805typedef void(*gpr_subprocess_destroy_type)(gpr_subprocess *p);
806extern gpr_subprocess_destroy_type gpr_subprocess_destroy_import;
807#define gpr_subprocess_destroy gpr_subprocess_destroy_import
808typedef int(*gpr_subprocess_join_type)(gpr_subprocess *p);
809extern gpr_subprocess_join_type gpr_subprocess_join_import;
810#define gpr_subprocess_join gpr_subprocess_join_import
811typedef void(*gpr_subprocess_interrupt_type)(gpr_subprocess *p);
812extern gpr_subprocess_interrupt_type gpr_subprocess_interrupt_import;
813#define gpr_subprocess_interrupt gpr_subprocess_interrupt_import
814typedef int(*gpr_thd_new_type)(gpr_thd_id *t, void (*thd_body)(void *arg), void *arg, const gpr_thd_options *options);
815extern gpr_thd_new_type gpr_thd_new_import;
816#define gpr_thd_new gpr_thd_new_import
817typedef gpr_thd_options(*gpr_thd_options_default_type)(void);
818extern gpr_thd_options_default_type gpr_thd_options_default_import;
819#define gpr_thd_options_default gpr_thd_options_default_import
820typedef void(*gpr_thd_options_set_detached_type)(gpr_thd_options *options);
821extern gpr_thd_options_set_detached_type gpr_thd_options_set_detached_import;
822#define gpr_thd_options_set_detached gpr_thd_options_set_detached_import
823typedef void(*gpr_thd_options_set_joinable_type)(gpr_thd_options *options);
824extern gpr_thd_options_set_joinable_type gpr_thd_options_set_joinable_import;
825#define gpr_thd_options_set_joinable gpr_thd_options_set_joinable_import
826typedef int(*gpr_thd_options_is_detached_type)(const gpr_thd_options *options);
827extern gpr_thd_options_is_detached_type gpr_thd_options_is_detached_import;
828#define gpr_thd_options_is_detached gpr_thd_options_is_detached_import
829typedef int(*gpr_thd_options_is_joinable_type)(const gpr_thd_options *options);
830extern gpr_thd_options_is_joinable_type gpr_thd_options_is_joinable_import;
831#define gpr_thd_options_is_joinable gpr_thd_options_is_joinable_import
832typedef gpr_thd_id(*gpr_thd_currentid_type)(void);
833extern gpr_thd_currentid_type gpr_thd_currentid_import;
834#define gpr_thd_currentid gpr_thd_currentid_import
835typedef void(*gpr_thd_join_type)(gpr_thd_id t);
836extern gpr_thd_join_type gpr_thd_join_import;
837#define gpr_thd_join gpr_thd_join_import
838
839void pygrpc_load_imports(HMODULE library);
840
841#else /* !GPR_WIN32 */
842
843#include <grpc/support/alloc.h>
844#include <grpc/support/slice.h>
845#include <grpc/support/time.h>
846#include <grpc/status.h>
847#include <grpc/byte_buffer.h>
848#include <grpc/byte_buffer_reader.h>
849#include <grpc/grpc.h>
850#include <grpc/grpc_security.h>
851
852#endif /* !GPR_WIN32 */
853
854#endif