blob: ae1e1a0b30dd5b27d53d138959ea6d8f0494a3b1 [file] [log] [blame]
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +01001/*
2 *
Jan Tattermusch7897ae92017-06-07 22:57:36 +02003 * Copyright 2016 gRPC authors.
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +01004 *
Jan Tattermusch7897ae92017-06-07 22:57:36 +02005 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +01008 *
Jan Tattermusch7897ae92017-06-07 22:57:36 +02009 * http://www.apache.org/licenses/LICENSE-2.0
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +010010 *
Jan Tattermusch7897ae92017-06-07 22:57:36 +020011 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +010016 *
17 */
18
19#ifndef GRPC_RB_GRPC_IMPORTS_H_
20#define GRPC_RB_GRPC_IMPORTS_H_
21
22#include <grpc/support/port_platform.h>
23
Yuchen Zeng12dfdc32016-04-26 22:05:41 -070024#ifdef GPR_WINDOWS
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +010025
26#include <windows.h>
27
Nicolas "Pixel" Nobleb8e9e9c2016-01-30 18:35:13 +010028#include <grpc/compression.h>
29#include <grpc/grpc.h>
Adam Michalik321b1fb2016-05-16 15:42:36 -070030#include <grpc/grpc_posix.h>
Nicolas "Pixel" Nobleb8e9e9c2016-01-30 18:35:13 +010031#include <grpc/grpc_security.h>
Vijay Paiefce6e12017-09-14 09:07:50 -070032#include <grpc/impl/codegen/byte_buffer.h>
Craig Tillerc3350542016-10-26 16:19:01 -070033#include <grpc/slice.h>
34#include <grpc/slice_buffer.h>
David Garcia Quintas3b31fdf2016-07-27 18:17:12 -070035#include <grpc/support/alloc.h>
Nicolas "Pixel" Nobleb8e9e9c2016-01-30 18:35:13 +010036#include <grpc/support/avl.h>
37#include <grpc/support/cmdline.h>
38#include <grpc/support/cpu.h>
39#include <grpc/support/histogram.h>
40#include <grpc/support/host_port.h>
David Garcia Quintasc79b0652016-07-27 21:11:58 -070041#include <grpc/support/log.h>
Yuchen Zeng12dfdc32016-04-26 22:05:41 -070042#include <grpc/support/log_windows.h>
Nicolas "Pixel" Nobleb8e9e9c2016-01-30 18:35:13 +010043#include <grpc/support/string_util.h>
44#include <grpc/support/subprocess.h>
David Garcia Quintas2ee99f42016-08-01 19:15:31 -070045#include <grpc/support/sync.h>
Nicolas "Pixel" Nobleb8e9e9c2016-01-30 18:35:13 +010046#include <grpc/support/thd.h>
David Garcia Quintas1399e462016-07-27 20:31:55 -070047#include <grpc/support/time.h>
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +010048
Craig Tiller44ab6a52017-11-03 16:22:34 -070049typedef int(*grpc_compression_algorithm_parse_type)(grpc_slice value, grpc_compression_algorithm* algorithm);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +010050extern grpc_compression_algorithm_parse_type grpc_compression_algorithm_parse_import;
51#define grpc_compression_algorithm_parse grpc_compression_algorithm_parse_import
Craig Tiller44ab6a52017-11-03 16:22:34 -070052typedef int(*grpc_compression_algorithm_name_type)(grpc_compression_algorithm algorithm, const char** name);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +010053extern grpc_compression_algorithm_name_type grpc_compression_algorithm_name_import;
54#define grpc_compression_algorithm_name grpc_compression_algorithm_name_import
Craig Tiller44ab6a52017-11-03 16:22:34 -070055typedef int(*grpc_stream_compression_algorithm_name_type)(grpc_stream_compression_algorithm algorithm, const char** name);
Muxi Yanb32c23a2017-07-26 14:49:53 -070056extern grpc_stream_compression_algorithm_name_type grpc_stream_compression_algorithm_name_import;
57#define grpc_stream_compression_algorithm_name grpc_stream_compression_algorithm_name_import
David Garcia Quintasa36ec162016-03-18 10:00:23 -070058typedef 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 +010059extern grpc_compression_algorithm_for_level_type grpc_compression_algorithm_for_level_import;
60#define grpc_compression_algorithm_for_level grpc_compression_algorithm_for_level_import
Muxi Yanb32c23a2017-07-26 14:49:53 -070061typedef grpc_stream_compression_algorithm(*grpc_stream_compression_algorithm_for_level_type)(grpc_stream_compression_level level, uint32_t accepted_stream_encodings);
62extern grpc_stream_compression_algorithm_for_level_type grpc_stream_compression_algorithm_for_level_import;
63#define grpc_stream_compression_algorithm_for_level grpc_stream_compression_algorithm_for_level_import
Craig Tiller44ab6a52017-11-03 16:22:34 -070064typedef void(*grpc_compression_options_init_type)(grpc_compression_options* opts);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +010065extern grpc_compression_options_init_type grpc_compression_options_init_import;
66#define grpc_compression_options_init grpc_compression_options_init_import
Craig Tiller44ab6a52017-11-03 16:22:34 -070067typedef void(*grpc_compression_options_enable_algorithm_type)(grpc_compression_options* opts, grpc_compression_algorithm algorithm);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +010068extern grpc_compression_options_enable_algorithm_type grpc_compression_options_enable_algorithm_import;
69#define grpc_compression_options_enable_algorithm grpc_compression_options_enable_algorithm_import
Craig Tiller44ab6a52017-11-03 16:22:34 -070070typedef void(*grpc_compression_options_disable_algorithm_type)(grpc_compression_options* opts, grpc_compression_algorithm algorithm);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +010071extern grpc_compression_options_disable_algorithm_type grpc_compression_options_disable_algorithm_import;
72#define grpc_compression_options_disable_algorithm grpc_compression_options_disable_algorithm_import
Craig Tiller44ab6a52017-11-03 16:22:34 -070073typedef int(*grpc_compression_options_is_algorithm_enabled_type)(const grpc_compression_options* opts, grpc_compression_algorithm algorithm);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +010074extern grpc_compression_options_is_algorithm_enabled_type grpc_compression_options_is_algorithm_enabled_import;
75#define grpc_compression_options_is_algorithm_enabled grpc_compression_options_is_algorithm_enabled_import
Craig Tiller44ab6a52017-11-03 16:22:34 -070076typedef int(*grpc_compression_options_is_stream_compression_algorithm_enabled_type)(const grpc_compression_options* opts, grpc_stream_compression_algorithm algorithm);
Muxi Yanb32c23a2017-07-26 14:49:53 -070077extern grpc_compression_options_is_stream_compression_algorithm_enabled_type grpc_compression_options_is_stream_compression_algorithm_enabled_import;
78#define grpc_compression_options_is_stream_compression_algorithm_enabled grpc_compression_options_is_stream_compression_algorithm_enabled_import
Craig Tiller44ab6a52017-11-03 16:22:34 -070079typedef void(*grpc_metadata_array_init_type)(grpc_metadata_array* array);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +010080extern grpc_metadata_array_init_type grpc_metadata_array_init_import;
81#define grpc_metadata_array_init grpc_metadata_array_init_import
Craig Tiller44ab6a52017-11-03 16:22:34 -070082typedef void(*grpc_metadata_array_destroy_type)(grpc_metadata_array* array);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +010083extern grpc_metadata_array_destroy_type grpc_metadata_array_destroy_import;
84#define grpc_metadata_array_destroy grpc_metadata_array_destroy_import
Craig Tiller44ab6a52017-11-03 16:22:34 -070085typedef void(*grpc_call_details_init_type)(grpc_call_details* details);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +010086extern grpc_call_details_init_type grpc_call_details_init_import;
87#define grpc_call_details_init grpc_call_details_init_import
Craig Tiller44ab6a52017-11-03 16:22:34 -070088typedef void(*grpc_call_details_destroy_type)(grpc_call_details* details);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +010089extern grpc_call_details_destroy_type grpc_call_details_destroy_import;
90#define grpc_call_details_destroy grpc_call_details_destroy_import
91typedef void(*grpc_register_plugin_type)(void (*init)(void), void (*destroy)(void));
92extern grpc_register_plugin_type grpc_register_plugin_import;
93#define grpc_register_plugin grpc_register_plugin_import
94typedef void(*grpc_init_type)(void);
95extern grpc_init_type grpc_init_import;
96#define grpc_init grpc_init_import
97typedef void(*grpc_shutdown_type)(void);
98extern grpc_shutdown_type grpc_shutdown_import;
99#define grpc_shutdown grpc_shutdown_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700100typedef const char*(*grpc_version_string_type)(void);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100101extern grpc_version_string_type grpc_version_string_import;
102#define grpc_version_string grpc_version_string_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700103typedef const char*(*grpc_g_stands_for_type)(void);
Craig Tillerd9f90762016-08-29 16:47:22 -0700104extern grpc_g_stands_for_type grpc_g_stands_for_import;
105#define grpc_g_stands_for grpc_g_stands_for_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700106typedef const grpc_completion_queue_factory*(*grpc_completion_queue_factory_lookup_type)(const grpc_completion_queue_attributes* attributes);
Sree Kuchibhotlabf184282017-03-21 15:18:58 -0700107extern grpc_completion_queue_factory_lookup_type grpc_completion_queue_factory_lookup_import;
108#define grpc_completion_queue_factory_lookup grpc_completion_queue_factory_lookup_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700109typedef grpc_completion_queue*(*grpc_completion_queue_create_for_next_type)(void* reserved);
Sree Kuchibhotlabf184282017-03-21 15:18:58 -0700110extern grpc_completion_queue_create_for_next_type grpc_completion_queue_create_for_next_import;
111#define grpc_completion_queue_create_for_next grpc_completion_queue_create_for_next_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700112typedef grpc_completion_queue*(*grpc_completion_queue_create_for_pluck_type)(void* reserved);
Sree Kuchibhotlabf184282017-03-21 15:18:58 -0700113extern grpc_completion_queue_create_for_pluck_type grpc_completion_queue_create_for_pluck_import;
114#define grpc_completion_queue_create_for_pluck grpc_completion_queue_create_for_pluck_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700115typedef grpc_completion_queue*(*grpc_completion_queue_create_type)(const grpc_completion_queue_factory* factory, const grpc_completion_queue_attributes* attributes, void* reserved);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100116extern grpc_completion_queue_create_type grpc_completion_queue_create_import;
117#define grpc_completion_queue_create grpc_completion_queue_create_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700118typedef grpc_event(*grpc_completion_queue_next_type)(grpc_completion_queue* cq, gpr_timespec deadline, void* reserved);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100119extern grpc_completion_queue_next_type grpc_completion_queue_next_import;
120#define grpc_completion_queue_next grpc_completion_queue_next_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700121typedef grpc_event(*grpc_completion_queue_pluck_type)(grpc_completion_queue* cq, void* tag, gpr_timespec deadline, void* reserved);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100122extern grpc_completion_queue_pluck_type grpc_completion_queue_pluck_import;
123#define grpc_completion_queue_pluck grpc_completion_queue_pluck_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700124typedef void(*grpc_completion_queue_shutdown_type)(grpc_completion_queue* cq);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100125extern grpc_completion_queue_shutdown_type grpc_completion_queue_shutdown_import;
126#define grpc_completion_queue_shutdown grpc_completion_queue_shutdown_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700127typedef void(*grpc_completion_queue_destroy_type)(grpc_completion_queue* cq);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100128extern grpc_completion_queue_destroy_type grpc_completion_queue_destroy_import;
129#define grpc_completion_queue_destroy grpc_completion_queue_destroy_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700130typedef void(*grpc_completion_queue_thread_local_cache_init_type)(grpc_completion_queue* cq);
Ken Payson42bd87e2017-10-20 10:32:30 -0700131extern grpc_completion_queue_thread_local_cache_init_type grpc_completion_queue_thread_local_cache_init_import;
132#define grpc_completion_queue_thread_local_cache_init grpc_completion_queue_thread_local_cache_init_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700133typedef int(*grpc_completion_queue_thread_local_cache_flush_type)(grpc_completion_queue* cq, void** tag, int* ok);
Ken Payson42bd87e2017-10-20 10:32:30 -0700134extern grpc_completion_queue_thread_local_cache_flush_type grpc_completion_queue_thread_local_cache_flush_import;
135#define grpc_completion_queue_thread_local_cache_flush grpc_completion_queue_thread_local_cache_flush_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700136typedef grpc_alarm*(*grpc_alarm_create_type)(void* reserved);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100137extern grpc_alarm_create_type grpc_alarm_create_import;
138#define grpc_alarm_create grpc_alarm_create_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700139typedef void(*grpc_alarm_set_type)(grpc_alarm* alarm, grpc_completion_queue* cq, gpr_timespec deadline, void* tag, void* reserved);
Vijay Pai58c33ba2017-09-01 14:08:42 -0700140extern grpc_alarm_set_type grpc_alarm_set_import;
141#define grpc_alarm_set grpc_alarm_set_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700142typedef void(*grpc_alarm_cancel_type)(grpc_alarm* alarm, void* reserved);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100143extern grpc_alarm_cancel_type grpc_alarm_cancel_import;
144#define grpc_alarm_cancel grpc_alarm_cancel_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700145typedef void(*grpc_alarm_destroy_type)(grpc_alarm* alarm, void* reserved);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100146extern grpc_alarm_destroy_type grpc_alarm_destroy_import;
147#define grpc_alarm_destroy grpc_alarm_destroy_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700148typedef grpc_connectivity_state(*grpc_channel_check_connectivity_state_type)(grpc_channel* channel, int try_to_connect);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100149extern grpc_channel_check_connectivity_state_type grpc_channel_check_connectivity_state_import;
150#define grpc_channel_check_connectivity_state grpc_channel_check_connectivity_state_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700151typedef int(*grpc_channel_num_external_connectivity_watchers_type)(grpc_channel* channel);
Alexander Polcync3b1f182017-04-18 13:51:36 -0700152extern grpc_channel_num_external_connectivity_watchers_type grpc_channel_num_external_connectivity_watchers_import;
153#define grpc_channel_num_external_connectivity_watchers grpc_channel_num_external_connectivity_watchers_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700154typedef 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);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100155extern grpc_channel_watch_connectivity_state_type grpc_channel_watch_connectivity_state_import;
156#define grpc_channel_watch_connectivity_state grpc_channel_watch_connectivity_state_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700157typedef int(*grpc_channel_support_connectivity_watcher_type)(grpc_channel* channel);
Yuchen Zengba23e792017-08-24 23:13:09 -0700158extern grpc_channel_support_connectivity_watcher_type grpc_channel_support_connectivity_watcher_import;
159#define grpc_channel_support_connectivity_watcher grpc_channel_support_connectivity_watcher_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700160typedef 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 +0100161extern grpc_channel_create_call_type grpc_channel_create_call_import;
162#define grpc_channel_create_call grpc_channel_create_call_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700163typedef void(*grpc_channel_ping_type)(grpc_channel* channel, grpc_completion_queue* cq, void* tag, void* reserved);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100164extern grpc_channel_ping_type grpc_channel_ping_import;
165#define grpc_channel_ping grpc_channel_ping_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700166typedef void*(*grpc_channel_register_call_type)(grpc_channel* channel, const char* method, const char* host, void* reserved);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100167extern grpc_channel_register_call_type grpc_channel_register_call_import;
168#define grpc_channel_register_call grpc_channel_register_call_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700169typedef 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);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100170extern grpc_channel_create_registered_call_type grpc_channel_create_registered_call_import;
171#define grpc_channel_create_registered_call grpc_channel_create_registered_call_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700172typedef void*(*grpc_call_arena_alloc_type)(grpc_call* call, size_t size);
Vijay Paic0e67012017-03-17 20:00:55 -0700173extern grpc_call_arena_alloc_type grpc_call_arena_alloc_import;
174#define grpc_call_arena_alloc grpc_call_arena_alloc_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700175typedef grpc_call_error(*grpc_call_start_batch_type)(grpc_call* call, const grpc_op* ops, size_t nops, void* tag, void* reserved);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100176extern grpc_call_start_batch_type grpc_call_start_batch_import;
177#define grpc_call_start_batch grpc_call_start_batch_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700178typedef char*(*grpc_call_get_peer_type)(grpc_call* call);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100179extern grpc_call_get_peer_type grpc_call_get_peer_import;
180#define grpc_call_get_peer grpc_call_get_peer_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700181typedef void(*grpc_census_call_set_context_type)(grpc_call* call, struct census_context* context);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100182extern grpc_census_call_set_context_type grpc_census_call_set_context_import;
183#define grpc_census_call_set_context grpc_census_call_set_context_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700184typedef struct census_context*(*grpc_census_call_get_context_type)(grpc_call* call);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100185extern grpc_census_call_get_context_type grpc_census_call_get_context_import;
186#define grpc_census_call_get_context grpc_census_call_get_context_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700187typedef char*(*grpc_channel_get_target_type)(grpc_channel* channel);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100188extern grpc_channel_get_target_type grpc_channel_get_target_import;
189#define grpc_channel_get_target grpc_channel_get_target_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700190typedef void(*grpc_channel_get_info_type)(grpc_channel* channel, const grpc_channel_info* channel_info);
Mark D. Roth8e2d8d92016-11-04 12:55:07 -0700191extern grpc_channel_get_info_type grpc_channel_get_info_import;
192#define grpc_channel_get_info grpc_channel_get_info_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700193typedef grpc_channel*(*grpc_insecure_channel_create_type)(const char* target, const grpc_channel_args* args, void* reserved);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100194extern grpc_insecure_channel_create_type grpc_insecure_channel_create_import;
195#define grpc_insecure_channel_create grpc_insecure_channel_create_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700196typedef grpc_channel*(*grpc_lame_client_channel_create_type)(const char* target, grpc_status_code error_code, const char* error_message);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100197extern grpc_lame_client_channel_create_type grpc_lame_client_channel_create_import;
198#define grpc_lame_client_channel_create grpc_lame_client_channel_create_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700199typedef void(*grpc_channel_destroy_type)(grpc_channel* channel);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100200extern grpc_channel_destroy_type grpc_channel_destroy_import;
201#define grpc_channel_destroy grpc_channel_destroy_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700202typedef grpc_call_error(*grpc_call_cancel_type)(grpc_call* call, void* reserved);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100203extern grpc_call_cancel_type grpc_call_cancel_import;
204#define grpc_call_cancel grpc_call_cancel_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700205typedef grpc_call_error(*grpc_call_cancel_with_status_type)(grpc_call* call, grpc_status_code status, const char* description, void* reserved);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100206extern grpc_call_cancel_with_status_type grpc_call_cancel_with_status_import;
207#define grpc_call_cancel_with_status grpc_call_cancel_with_status_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700208typedef void(*grpc_call_ref_type)(grpc_call* call);
Craig Tillerd35bb9e2017-03-31 12:56:15 -0700209extern grpc_call_ref_type grpc_call_ref_import;
210#define grpc_call_ref grpc_call_ref_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700211typedef void(*grpc_call_unref_type)(grpc_call* call);
Craig Tillerdd36b152017-03-31 08:27:28 -0700212extern grpc_call_unref_type grpc_call_unref_import;
213#define grpc_call_unref grpc_call_unref_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700214typedef 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);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100215extern grpc_server_request_call_type grpc_server_request_call_import;
216#define grpc_server_request_call grpc_server_request_call_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700217typedef 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 +0100218extern grpc_server_register_method_type grpc_server_register_method_import;
219#define grpc_server_register_method grpc_server_register_method_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700220typedef 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);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100221extern grpc_server_request_registered_call_type grpc_server_request_registered_call_import;
222#define grpc_server_request_registered_call grpc_server_request_registered_call_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700223typedef grpc_server*(*grpc_server_create_type)(const grpc_channel_args* args, void* reserved);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100224extern grpc_server_create_type grpc_server_create_import;
225#define grpc_server_create grpc_server_create_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700226typedef void(*grpc_server_register_completion_queue_type)(grpc_server* server, grpc_completion_queue* cq, void* reserved);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100227extern grpc_server_register_completion_queue_type grpc_server_register_completion_queue_import;
228#define grpc_server_register_completion_queue grpc_server_register_completion_queue_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700229typedef int(*grpc_server_add_insecure_http2_port_type)(grpc_server* server, const char* addr);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100230extern grpc_server_add_insecure_http2_port_type grpc_server_add_insecure_http2_port_import;
231#define grpc_server_add_insecure_http2_port grpc_server_add_insecure_http2_port_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700232typedef void(*grpc_server_start_type)(grpc_server* server);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100233extern grpc_server_start_type grpc_server_start_import;
234#define grpc_server_start grpc_server_start_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700235typedef void(*grpc_server_shutdown_and_notify_type)(grpc_server* server, grpc_completion_queue* cq, void* tag);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100236extern grpc_server_shutdown_and_notify_type grpc_server_shutdown_and_notify_import;
237#define grpc_server_shutdown_and_notify grpc_server_shutdown_and_notify_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700238typedef void(*grpc_server_cancel_all_calls_type)(grpc_server* server);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100239extern grpc_server_cancel_all_calls_type grpc_server_cancel_all_calls_import;
240#define grpc_server_cancel_all_calls grpc_server_cancel_all_calls_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700241typedef void(*grpc_server_destroy_type)(grpc_server* server);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100242extern grpc_server_destroy_type grpc_server_destroy_import;
243#define grpc_server_destroy grpc_server_destroy_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700244typedef int(*grpc_tracer_set_enabled_type)(const char* name, int enabled);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100245extern grpc_tracer_set_enabled_type grpc_tracer_set_enabled_import;
246#define grpc_tracer_set_enabled grpc_tracer_set_enabled_import
Craig Tiller7c70b6c2017-01-23 07:48:42 -0800247typedef int(*grpc_header_key_is_legal_type)(grpc_slice slice);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100248extern grpc_header_key_is_legal_type grpc_header_key_is_legal_import;
249#define grpc_header_key_is_legal grpc_header_key_is_legal_import
Craig Tiller7c70b6c2017-01-23 07:48:42 -0800250typedef int(*grpc_header_nonbin_value_is_legal_type)(grpc_slice slice);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100251extern grpc_header_nonbin_value_is_legal_type grpc_header_nonbin_value_is_legal_import;
252#define grpc_header_nonbin_value_is_legal grpc_header_nonbin_value_is_legal_import
Craig Tiller7c70b6c2017-01-23 07:48:42 -0800253typedef int(*grpc_is_binary_header_type)(grpc_slice slice);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100254extern grpc_is_binary_header_type grpc_is_binary_header_import;
255#define grpc_is_binary_header grpc_is_binary_header_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700256typedef const char*(*grpc_call_error_to_string_type)(grpc_call_error error);
Yuchen Zeng2e7d9572016-04-15 17:29:57 -0700257extern grpc_call_error_to_string_type grpc_call_error_to_string_import;
258#define grpc_call_error_to_string grpc_call_error_to_string_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700259typedef grpc_resource_quota*(*grpc_resource_quota_create_type)(const char* trace_name);
Craig Tiller20afa3d2016-10-17 14:52:14 -0700260extern grpc_resource_quota_create_type grpc_resource_quota_create_import;
261#define grpc_resource_quota_create grpc_resource_quota_create_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700262typedef void(*grpc_resource_quota_ref_type)(grpc_resource_quota* resource_quota);
Craig Tiller20afa3d2016-10-17 14:52:14 -0700263extern grpc_resource_quota_ref_type grpc_resource_quota_ref_import;
264#define grpc_resource_quota_ref grpc_resource_quota_ref_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700265typedef void(*grpc_resource_quota_unref_type)(grpc_resource_quota* resource_quota);
Craig Tiller20afa3d2016-10-17 14:52:14 -0700266extern grpc_resource_quota_unref_type grpc_resource_quota_unref_import;
267#define grpc_resource_quota_unref grpc_resource_quota_unref_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700268typedef void(*grpc_resource_quota_resize_type)(grpc_resource_quota* resource_quota, size_t new_size);
Craig Tiller20afa3d2016-10-17 14:52:14 -0700269extern grpc_resource_quota_resize_type grpc_resource_quota_resize_import;
270#define grpc_resource_quota_resize grpc_resource_quota_resize_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700271typedef const grpc_arg_pointer_vtable*(*grpc_resource_quota_arg_vtable_type)(void);
Craig Tiller20afa3d2016-10-17 14:52:14 -0700272extern grpc_resource_quota_arg_vtable_type grpc_resource_quota_arg_vtable_import;
273#define grpc_resource_quota_arg_vtable grpc_resource_quota_arg_vtable_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700274typedef grpc_channel*(*grpc_insecure_channel_create_from_fd_type)(const char* target, int fd, const grpc_channel_args* args);
Adam Michalik321b1fb2016-05-16 15:42:36 -0700275extern grpc_insecure_channel_create_from_fd_type grpc_insecure_channel_create_from_fd_import;
276#define grpc_insecure_channel_create_from_fd grpc_insecure_channel_create_from_fd_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700277typedef void(*grpc_server_add_insecure_channel_from_fd_type)(grpc_server* server, void* reserved, int fd);
Adam Michalikbf10c822016-05-20 16:13:32 -0700278extern grpc_server_add_insecure_channel_from_fd_type grpc_server_add_insecure_channel_from_fd_import;
279#define grpc_server_add_insecure_channel_from_fd grpc_server_add_insecure_channel_from_fd_import
Sree Kuchibhotla492fd962016-06-10 09:03:34 -0700280typedef void(*grpc_use_signal_type)(int signum);
281extern grpc_use_signal_type grpc_use_signal_import;
282#define grpc_use_signal grpc_use_signal_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700283typedef const grpc_auth_property*(*grpc_auth_property_iterator_next_type)(grpc_auth_property_iterator* it);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100284extern grpc_auth_property_iterator_next_type grpc_auth_property_iterator_next_import;
285#define grpc_auth_property_iterator_next grpc_auth_property_iterator_next_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700286typedef grpc_auth_property_iterator(*grpc_auth_context_property_iterator_type)(const grpc_auth_context* ctx);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100287extern grpc_auth_context_property_iterator_type grpc_auth_context_property_iterator_import;
288#define grpc_auth_context_property_iterator grpc_auth_context_property_iterator_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700289typedef grpc_auth_property_iterator(*grpc_auth_context_peer_identity_type)(const grpc_auth_context* ctx);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100290extern grpc_auth_context_peer_identity_type grpc_auth_context_peer_identity_import;
291#define grpc_auth_context_peer_identity grpc_auth_context_peer_identity_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700292typedef grpc_auth_property_iterator(*grpc_auth_context_find_properties_by_name_type)(const grpc_auth_context* ctx, const char* name);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100293extern grpc_auth_context_find_properties_by_name_type grpc_auth_context_find_properties_by_name_import;
294#define grpc_auth_context_find_properties_by_name grpc_auth_context_find_properties_by_name_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700295typedef const char*(*grpc_auth_context_peer_identity_property_name_type)(const grpc_auth_context* ctx);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100296extern grpc_auth_context_peer_identity_property_name_type grpc_auth_context_peer_identity_property_name_import;
297#define grpc_auth_context_peer_identity_property_name grpc_auth_context_peer_identity_property_name_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700298typedef int(*grpc_auth_context_peer_is_authenticated_type)(const grpc_auth_context* ctx);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100299extern grpc_auth_context_peer_is_authenticated_type grpc_auth_context_peer_is_authenticated_import;
300#define grpc_auth_context_peer_is_authenticated grpc_auth_context_peer_is_authenticated_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700301typedef grpc_auth_context*(*grpc_call_auth_context_type)(grpc_call* call);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100302extern grpc_call_auth_context_type grpc_call_auth_context_import;
303#define grpc_call_auth_context grpc_call_auth_context_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700304typedef void(*grpc_auth_context_release_type)(grpc_auth_context* context);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100305extern grpc_auth_context_release_type grpc_auth_context_release_import;
306#define grpc_auth_context_release grpc_auth_context_release_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700307typedef void(*grpc_auth_context_add_property_type)(grpc_auth_context* ctx, const char* name, const char* value, size_t value_length);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100308extern grpc_auth_context_add_property_type grpc_auth_context_add_property_import;
309#define grpc_auth_context_add_property grpc_auth_context_add_property_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700310typedef void(*grpc_auth_context_add_cstring_property_type)(grpc_auth_context* ctx, const char* name, const char* value);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100311extern grpc_auth_context_add_cstring_property_type grpc_auth_context_add_cstring_property_import;
312#define grpc_auth_context_add_cstring_property grpc_auth_context_add_cstring_property_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700313typedef int(*grpc_auth_context_set_peer_identity_property_name_type)(grpc_auth_context* ctx, const char* name);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100314extern grpc_auth_context_set_peer_identity_property_name_type grpc_auth_context_set_peer_identity_property_name_import;
315#define grpc_auth_context_set_peer_identity_property_name grpc_auth_context_set_peer_identity_property_name_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700316typedef void(*grpc_channel_credentials_release_type)(grpc_channel_credentials* creds);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100317extern grpc_channel_credentials_release_type grpc_channel_credentials_release_import;
318#define grpc_channel_credentials_release grpc_channel_credentials_release_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700319typedef grpc_channel_credentials*(*grpc_google_default_credentials_create_type)(void);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100320extern grpc_google_default_credentials_create_type grpc_google_default_credentials_create_import;
321#define grpc_google_default_credentials_create grpc_google_default_credentials_create_import
Nicolas "Pixel" Noble63976602016-02-17 23:43:55 +0100322typedef void(*grpc_set_ssl_roots_override_callback_type)(grpc_ssl_roots_override_callback cb);
323extern grpc_set_ssl_roots_override_callback_type grpc_set_ssl_roots_override_callback_import;
324#define grpc_set_ssl_roots_override_callback grpc_set_ssl_roots_override_callback_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700325typedef 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);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100326extern grpc_ssl_credentials_create_type grpc_ssl_credentials_create_import;
327#define grpc_ssl_credentials_create grpc_ssl_credentials_create_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700328typedef void(*grpc_call_credentials_release_type)(grpc_call_credentials* creds);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100329extern grpc_call_credentials_release_type grpc_call_credentials_release_import;
330#define grpc_call_credentials_release grpc_call_credentials_release_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700331typedef grpc_channel_credentials*(*grpc_composite_channel_credentials_create_type)(grpc_channel_credentials* channel_creds, grpc_call_credentials* call_creds, void* reserved);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100332extern grpc_composite_channel_credentials_create_type grpc_composite_channel_credentials_create_import;
333#define grpc_composite_channel_credentials_create grpc_composite_channel_credentials_create_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700334typedef grpc_call_credentials*(*grpc_composite_call_credentials_create_type)(grpc_call_credentials* creds1, grpc_call_credentials* creds2, void* reserved);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100335extern grpc_composite_call_credentials_create_type grpc_composite_call_credentials_create_import;
336#define grpc_composite_call_credentials_create grpc_composite_call_credentials_create_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700337typedef grpc_call_credentials*(*grpc_google_compute_engine_credentials_create_type)(void* reserved);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100338extern grpc_google_compute_engine_credentials_create_type grpc_google_compute_engine_credentials_create_import;
339#define grpc_google_compute_engine_credentials_create grpc_google_compute_engine_credentials_create_import
Nicolas "Pixel" Nobled2f20ef2016-01-31 07:52:59 +0100340typedef gpr_timespec(*grpc_max_auth_token_lifetime_type)();
341extern grpc_max_auth_token_lifetime_type grpc_max_auth_token_lifetime_import;
342#define grpc_max_auth_token_lifetime grpc_max_auth_token_lifetime_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700343typedef grpc_call_credentials*(*grpc_service_account_jwt_access_credentials_create_type)(const char* json_key, gpr_timespec token_lifetime, void* reserved);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100344extern grpc_service_account_jwt_access_credentials_create_type grpc_service_account_jwt_access_credentials_create_import;
345#define grpc_service_account_jwt_access_credentials_create grpc_service_account_jwt_access_credentials_create_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700346typedef grpc_call_credentials*(*grpc_google_refresh_token_credentials_create_type)(const char* json_refresh_token, void* reserved);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100347extern grpc_google_refresh_token_credentials_create_type grpc_google_refresh_token_credentials_create_import;
348#define grpc_google_refresh_token_credentials_create grpc_google_refresh_token_credentials_create_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700349typedef grpc_call_credentials*(*grpc_access_token_credentials_create_type)(const char* access_token, void* reserved);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100350extern grpc_access_token_credentials_create_type grpc_access_token_credentials_create_import;
351#define grpc_access_token_credentials_create grpc_access_token_credentials_create_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700352typedef grpc_call_credentials*(*grpc_google_iam_credentials_create_type)(const char* authorization_token, const char* authority_selector, void* reserved);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100353extern grpc_google_iam_credentials_create_type grpc_google_iam_credentials_create_import;
354#define grpc_google_iam_credentials_create grpc_google_iam_credentials_create_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700355typedef grpc_call_credentials*(*grpc_metadata_credentials_create_from_plugin_type)(grpc_metadata_credentials_plugin plugin, void* reserved);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100356extern grpc_metadata_credentials_create_from_plugin_type grpc_metadata_credentials_create_from_plugin_import;
357#define grpc_metadata_credentials_create_from_plugin grpc_metadata_credentials_create_from_plugin_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700358typedef grpc_channel*(*grpc_secure_channel_create_type)(grpc_channel_credentials* creds, const char* target, const grpc_channel_args* args, void* reserved);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100359extern grpc_secure_channel_create_type grpc_secure_channel_create_import;
360#define grpc_secure_channel_create grpc_secure_channel_create_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700361typedef void(*grpc_server_credentials_release_type)(grpc_server_credentials* creds);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100362extern grpc_server_credentials_release_type grpc_server_credentials_release_import;
363#define grpc_server_credentials_release grpc_server_credentials_release_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700364typedef grpc_ssl_server_certificate_config*(*grpc_ssl_server_certificate_config_create_type)(const char* pem_root_certs, const grpc_ssl_pem_key_cert_pair* pem_key_cert_pairs, size_t num_key_cert_pairs);
Justin Burkec1d354d2017-09-19 15:06:01 -0700365extern grpc_ssl_server_certificate_config_create_type grpc_ssl_server_certificate_config_create_import;
366#define grpc_ssl_server_certificate_config_create grpc_ssl_server_certificate_config_create_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700367typedef void(*grpc_ssl_server_certificate_config_destroy_type)(grpc_ssl_server_certificate_config* config);
Justin Burkec1d354d2017-09-19 15:06:01 -0700368extern grpc_ssl_server_certificate_config_destroy_type grpc_ssl_server_certificate_config_destroy_import;
369#define grpc_ssl_server_certificate_config_destroy grpc_ssl_server_certificate_config_destroy_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700370typedef 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);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100371extern grpc_ssl_server_credentials_create_type grpc_ssl_server_credentials_create_import;
372#define grpc_ssl_server_credentials_create grpc_ssl_server_credentials_create_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700373typedef 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);
Deepak Lukosedba4c5f2016-03-25 12:54:25 -0700374extern grpc_ssl_server_credentials_create_ex_type grpc_ssl_server_credentials_create_ex_import;
375#define grpc_ssl_server_credentials_create_ex grpc_ssl_server_credentials_create_ex_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700376typedef grpc_ssl_server_credentials_options*(*grpc_ssl_server_credentials_create_options_using_config_type)(grpc_ssl_client_certificate_request_type client_certificate_request, grpc_ssl_server_certificate_config* certificate_config);
Justin Burkec1d354d2017-09-19 15:06:01 -0700377extern grpc_ssl_server_credentials_create_options_using_config_type grpc_ssl_server_credentials_create_options_using_config_import;
378#define grpc_ssl_server_credentials_create_options_using_config grpc_ssl_server_credentials_create_options_using_config_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700379typedef grpc_ssl_server_credentials_options*(*grpc_ssl_server_credentials_create_options_using_config_fetcher_type)(grpc_ssl_client_certificate_request_type client_certificate_request, grpc_ssl_server_certificate_config_callback cb, void* user_data);
Justin Burkec1d354d2017-09-19 15:06:01 -0700380extern grpc_ssl_server_credentials_create_options_using_config_fetcher_type grpc_ssl_server_credentials_create_options_using_config_fetcher_import;
381#define grpc_ssl_server_credentials_create_options_using_config_fetcher grpc_ssl_server_credentials_create_options_using_config_fetcher_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700382typedef void(*grpc_ssl_server_credentials_options_destroy_type)(grpc_ssl_server_credentials_options* options);
Justin Burkec1d354d2017-09-19 15:06:01 -0700383extern grpc_ssl_server_credentials_options_destroy_type grpc_ssl_server_credentials_options_destroy_import;
384#define grpc_ssl_server_credentials_options_destroy grpc_ssl_server_credentials_options_destroy_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700385typedef grpc_server_credentials*(*grpc_ssl_server_credentials_create_with_options_type)(grpc_ssl_server_credentials_options* options);
Justin Burkec1d354d2017-09-19 15:06:01 -0700386extern grpc_ssl_server_credentials_create_with_options_type grpc_ssl_server_credentials_create_with_options_import;
387#define grpc_ssl_server_credentials_create_with_options grpc_ssl_server_credentials_create_with_options_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700388typedef int(*grpc_server_add_secure_http2_port_type)(grpc_server* server, const char* addr, grpc_server_credentials* creds);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100389extern grpc_server_add_secure_http2_port_type grpc_server_add_secure_http2_port_import;
390#define grpc_server_add_secure_http2_port grpc_server_add_secure_http2_port_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700391typedef grpc_call_error(*grpc_call_set_credentials_type)(grpc_call* call, grpc_call_credentials* creds);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100392extern grpc_call_set_credentials_type grpc_call_set_credentials_import;
393#define grpc_call_set_credentials grpc_call_set_credentials_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700394typedef void(*grpc_server_credentials_set_auth_metadata_processor_type)(grpc_server_credentials* creds, grpc_auth_metadata_processor processor);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100395extern grpc_server_credentials_set_auth_metadata_processor_type grpc_server_credentials_set_auth_metadata_processor_import;
396#define grpc_server_credentials_set_auth_metadata_processor grpc_server_credentials_set_auth_metadata_processor_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700397typedef grpc_byte_buffer*(*grpc_raw_byte_buffer_create_type)(grpc_slice* slices, size_t nslices);
Vijay Paiefce6e12017-09-14 09:07:50 -0700398extern grpc_raw_byte_buffer_create_type grpc_raw_byte_buffer_create_import;
399#define grpc_raw_byte_buffer_create grpc_raw_byte_buffer_create_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700400typedef grpc_byte_buffer*(*grpc_raw_compressed_byte_buffer_create_type)(grpc_slice* slices, size_t nslices, grpc_compression_algorithm compression);
Vijay Paiefce6e12017-09-14 09:07:50 -0700401extern grpc_raw_compressed_byte_buffer_create_type grpc_raw_compressed_byte_buffer_create_import;
402#define grpc_raw_compressed_byte_buffer_create grpc_raw_compressed_byte_buffer_create_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700403typedef grpc_byte_buffer*(*grpc_byte_buffer_copy_type)(grpc_byte_buffer* bb);
Vijay Paiefce6e12017-09-14 09:07:50 -0700404extern grpc_byte_buffer_copy_type grpc_byte_buffer_copy_import;
405#define grpc_byte_buffer_copy grpc_byte_buffer_copy_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700406typedef size_t(*grpc_byte_buffer_length_type)(grpc_byte_buffer* bb);
Vijay Paiefce6e12017-09-14 09:07:50 -0700407extern grpc_byte_buffer_length_type grpc_byte_buffer_length_import;
408#define grpc_byte_buffer_length grpc_byte_buffer_length_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700409typedef void(*grpc_byte_buffer_destroy_type)(grpc_byte_buffer* byte_buffer);
Vijay Paiefce6e12017-09-14 09:07:50 -0700410extern grpc_byte_buffer_destroy_type grpc_byte_buffer_destroy_import;
411#define grpc_byte_buffer_destroy grpc_byte_buffer_destroy_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700412typedef int(*grpc_byte_buffer_reader_init_type)(grpc_byte_buffer_reader* reader, grpc_byte_buffer* buffer);
Vijay Paiefce6e12017-09-14 09:07:50 -0700413extern grpc_byte_buffer_reader_init_type grpc_byte_buffer_reader_init_import;
414#define grpc_byte_buffer_reader_init grpc_byte_buffer_reader_init_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700415typedef void(*grpc_byte_buffer_reader_destroy_type)(grpc_byte_buffer_reader* reader);
Vijay Paiefce6e12017-09-14 09:07:50 -0700416extern grpc_byte_buffer_reader_destroy_type grpc_byte_buffer_reader_destroy_import;
417#define grpc_byte_buffer_reader_destroy grpc_byte_buffer_reader_destroy_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700418typedef int(*grpc_byte_buffer_reader_next_type)(grpc_byte_buffer_reader* reader, grpc_slice* slice);
Vijay Paiefce6e12017-09-14 09:07:50 -0700419extern grpc_byte_buffer_reader_next_type grpc_byte_buffer_reader_next_import;
420#define grpc_byte_buffer_reader_next grpc_byte_buffer_reader_next_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700421typedef grpc_slice(*grpc_byte_buffer_reader_readall_type)(grpc_byte_buffer_reader* reader);
Vijay Paiefce6e12017-09-14 09:07:50 -0700422extern grpc_byte_buffer_reader_readall_type grpc_byte_buffer_reader_readall_import;
423#define grpc_byte_buffer_reader_readall grpc_byte_buffer_reader_readall_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700424typedef grpc_byte_buffer*(*grpc_raw_byte_buffer_from_reader_type)(grpc_byte_buffer_reader* reader);
Vijay Paiefce6e12017-09-14 09:07:50 -0700425extern grpc_raw_byte_buffer_from_reader_type grpc_raw_byte_buffer_from_reader_import;
426#define grpc_raw_byte_buffer_from_reader grpc_raw_byte_buffer_from_reader_import
Craig Tillerc3350542016-10-26 16:19:01 -0700427typedef grpc_slice(*grpc_slice_ref_type)(grpc_slice s);
428extern grpc_slice_ref_type grpc_slice_ref_import;
429#define grpc_slice_ref grpc_slice_ref_import
430typedef void(*grpc_slice_unref_type)(grpc_slice s);
431extern grpc_slice_unref_type grpc_slice_unref_import;
432#define grpc_slice_unref grpc_slice_unref_import
Craig Tillerbb4046c2017-04-26 08:56:30 -0700433typedef grpc_slice(*grpc_slice_copy_type)(grpc_slice s);
434extern grpc_slice_copy_type grpc_slice_copy_import;
435#define grpc_slice_copy grpc_slice_copy_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700436typedef grpc_slice(*grpc_slice_new_type)(void* p, size_t len, void (*destroy)(void*));
Craig Tillerc3350542016-10-26 16:19:01 -0700437extern grpc_slice_new_type grpc_slice_new_import;
438#define grpc_slice_new grpc_slice_new_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700439typedef grpc_slice(*grpc_slice_new_with_user_data_type)(void* p, size_t len, void (*destroy)(void*), void* user_data);
Craig Tillerc3350542016-10-26 16:19:01 -0700440extern grpc_slice_new_with_user_data_type grpc_slice_new_with_user_data_import;
441#define grpc_slice_new_with_user_data grpc_slice_new_with_user_data_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700442typedef grpc_slice(*grpc_slice_new_with_len_type)(void* p, size_t len, void (*destroy)(void*, size_t));
Craig Tillerc3350542016-10-26 16:19:01 -0700443extern grpc_slice_new_with_len_type grpc_slice_new_with_len_import;
444#define grpc_slice_new_with_len grpc_slice_new_with_len_import
445typedef grpc_slice(*grpc_slice_malloc_type)(size_t length);
446extern grpc_slice_malloc_type grpc_slice_malloc_import;
447#define grpc_slice_malloc grpc_slice_malloc_import
Craig Tillerc39fbcf2017-04-17 08:20:25 -0700448typedef grpc_slice(*grpc_slice_malloc_large_type)(size_t length);
449extern grpc_slice_malloc_large_type grpc_slice_malloc_large_import;
450#define grpc_slice_malloc_large grpc_slice_malloc_large_import
Craig Tiller7c70b6c2017-01-23 07:48:42 -0800451typedef grpc_slice(*grpc_slice_intern_type)(grpc_slice slice);
452extern grpc_slice_intern_type grpc_slice_intern_import;
453#define grpc_slice_intern grpc_slice_intern_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700454typedef grpc_slice(*grpc_slice_from_copied_string_type)(const char* source);
Craig Tillerc3350542016-10-26 16:19:01 -0700455extern grpc_slice_from_copied_string_type grpc_slice_from_copied_string_import;
456#define grpc_slice_from_copied_string grpc_slice_from_copied_string_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700457typedef grpc_slice(*grpc_slice_from_copied_buffer_type)(const char* source, size_t len);
Craig Tillerc3350542016-10-26 16:19:01 -0700458extern grpc_slice_from_copied_buffer_type grpc_slice_from_copied_buffer_import;
459#define grpc_slice_from_copied_buffer grpc_slice_from_copied_buffer_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700460typedef grpc_slice(*grpc_slice_from_static_string_type)(const char* source);
Craig Tillerc3350542016-10-26 16:19:01 -0700461extern grpc_slice_from_static_string_type grpc_slice_from_static_string_import;
462#define grpc_slice_from_static_string grpc_slice_from_static_string_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700463typedef grpc_slice(*grpc_slice_from_static_buffer_type)(const void* source, size_t len);
Craig Tiller7c70b6c2017-01-23 07:48:42 -0800464extern grpc_slice_from_static_buffer_type grpc_slice_from_static_buffer_import;
465#define grpc_slice_from_static_buffer grpc_slice_from_static_buffer_import
Craig Tillerc3350542016-10-26 16:19:01 -0700466typedef grpc_slice(*grpc_slice_sub_type)(grpc_slice s, size_t begin, size_t end);
467extern grpc_slice_sub_type grpc_slice_sub_import;
468#define grpc_slice_sub grpc_slice_sub_import
469typedef grpc_slice(*grpc_slice_sub_no_ref_type)(grpc_slice s, size_t begin, size_t end);
470extern grpc_slice_sub_no_ref_type grpc_slice_sub_no_ref_import;
471#define grpc_slice_sub_no_ref grpc_slice_sub_no_ref_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700472typedef grpc_slice(*grpc_slice_split_tail_type)(grpc_slice* s, size_t split);
Craig Tillerc3350542016-10-26 16:19:01 -0700473extern grpc_slice_split_tail_type grpc_slice_split_tail_import;
474#define grpc_slice_split_tail grpc_slice_split_tail_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700475typedef grpc_slice(*grpc_slice_split_tail_maybe_ref_type)(grpc_slice* s, size_t split, grpc_slice_ref_whom ref_whom);
Craig Tillerc39fbcf2017-04-17 08:20:25 -0700476extern grpc_slice_split_tail_maybe_ref_type grpc_slice_split_tail_maybe_ref_import;
477#define grpc_slice_split_tail_maybe_ref grpc_slice_split_tail_maybe_ref_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700478typedef grpc_slice(*grpc_slice_split_head_type)(grpc_slice* s, size_t split);
Craig Tillerc3350542016-10-26 16:19:01 -0700479extern grpc_slice_split_head_type grpc_slice_split_head_import;
480#define grpc_slice_split_head grpc_slice_split_head_import
Craig Tiller7c70b6c2017-01-23 07:48:42 -0800481typedef grpc_slice(*grpc_empty_slice_type)(void);
482extern grpc_empty_slice_type grpc_empty_slice_import;
483#define grpc_empty_slice grpc_empty_slice_import
484typedef uint32_t(*grpc_slice_default_hash_impl_type)(grpc_slice s);
485extern grpc_slice_default_hash_impl_type grpc_slice_default_hash_impl_import;
486#define grpc_slice_default_hash_impl grpc_slice_default_hash_impl_import
487typedef int(*grpc_slice_default_eq_impl_type)(grpc_slice a, grpc_slice b);
488extern grpc_slice_default_eq_impl_type grpc_slice_default_eq_impl_import;
489#define grpc_slice_default_eq_impl grpc_slice_default_eq_impl_import
490typedef int(*grpc_slice_eq_type)(grpc_slice a, grpc_slice b);
491extern grpc_slice_eq_type grpc_slice_eq_import;
492#define grpc_slice_eq grpc_slice_eq_import
Craig Tillerc3350542016-10-26 16:19:01 -0700493typedef int(*grpc_slice_cmp_type)(grpc_slice a, grpc_slice b);
494extern grpc_slice_cmp_type grpc_slice_cmp_import;
495#define grpc_slice_cmp grpc_slice_cmp_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700496typedef int(*grpc_slice_str_cmp_type)(grpc_slice a, const char* b);
Craig Tillerc3350542016-10-26 16:19:01 -0700497extern grpc_slice_str_cmp_type grpc_slice_str_cmp_import;
498#define grpc_slice_str_cmp grpc_slice_str_cmp_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700499typedef int(*grpc_slice_buf_start_eq_type)(grpc_slice a, const void* b, size_t blen);
Craig Tiller7c70b6c2017-01-23 07:48:42 -0800500extern grpc_slice_buf_start_eq_type grpc_slice_buf_start_eq_import;
501#define grpc_slice_buf_start_eq grpc_slice_buf_start_eq_import
502typedef int(*grpc_slice_rchr_type)(grpc_slice s, char c);
503extern grpc_slice_rchr_type grpc_slice_rchr_import;
504#define grpc_slice_rchr grpc_slice_rchr_import
505typedef int(*grpc_slice_chr_type)(grpc_slice s, char c);
506extern grpc_slice_chr_type grpc_slice_chr_import;
507#define grpc_slice_chr grpc_slice_chr_import
508typedef int(*grpc_slice_slice_type)(grpc_slice haystack, grpc_slice needle);
509extern grpc_slice_slice_type grpc_slice_slice_import;
510#define grpc_slice_slice grpc_slice_slice_import
511typedef uint32_t(*grpc_slice_hash_type)(grpc_slice s);
512extern grpc_slice_hash_type grpc_slice_hash_import;
513#define grpc_slice_hash grpc_slice_hash_import
Craig Tillerc5866662016-11-16 15:25:00 -0800514typedef int(*grpc_slice_is_equivalent_type)(grpc_slice a, grpc_slice b);
515extern grpc_slice_is_equivalent_type grpc_slice_is_equivalent_import;
516#define grpc_slice_is_equivalent grpc_slice_is_equivalent_import
Craig Tiller7c70b6c2017-01-23 07:48:42 -0800517typedef grpc_slice(*grpc_slice_dup_type)(grpc_slice a);
518extern grpc_slice_dup_type grpc_slice_dup_import;
519#define grpc_slice_dup grpc_slice_dup_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700520typedef char*(*grpc_slice_to_c_string_type)(grpc_slice s);
Craig Tiller7c70b6c2017-01-23 07:48:42 -0800521extern grpc_slice_to_c_string_type grpc_slice_to_c_string_import;
522#define grpc_slice_to_c_string grpc_slice_to_c_string_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700523typedef void(*grpc_slice_buffer_init_type)(grpc_slice_buffer* sb);
Craig Tillerc3350542016-10-26 16:19:01 -0700524extern grpc_slice_buffer_init_type grpc_slice_buffer_init_import;
525#define grpc_slice_buffer_init grpc_slice_buffer_init_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700526typedef void(*grpc_slice_buffer_destroy_type)(grpc_slice_buffer* sb);
Craig Tillerc3350542016-10-26 16:19:01 -0700527extern grpc_slice_buffer_destroy_type grpc_slice_buffer_destroy_import;
528#define grpc_slice_buffer_destroy grpc_slice_buffer_destroy_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700529typedef void(*grpc_slice_buffer_add_type)(grpc_slice_buffer* sb, grpc_slice slice);
Craig Tillerc3350542016-10-26 16:19:01 -0700530extern grpc_slice_buffer_add_type grpc_slice_buffer_add_import;
531#define grpc_slice_buffer_add grpc_slice_buffer_add_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700532typedef size_t(*grpc_slice_buffer_add_indexed_type)(grpc_slice_buffer* sb, grpc_slice slice);
Craig Tillerc3350542016-10-26 16:19:01 -0700533extern grpc_slice_buffer_add_indexed_type grpc_slice_buffer_add_indexed_import;
534#define grpc_slice_buffer_add_indexed grpc_slice_buffer_add_indexed_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700535typedef void(*grpc_slice_buffer_addn_type)(grpc_slice_buffer* sb, grpc_slice* slices, size_t n);
Craig Tillerc3350542016-10-26 16:19:01 -0700536extern grpc_slice_buffer_addn_type grpc_slice_buffer_addn_import;
537#define grpc_slice_buffer_addn grpc_slice_buffer_addn_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700538typedef uint8_t*(*grpc_slice_buffer_tiny_add_type)(grpc_slice_buffer* sb, size_t len);
Craig Tillerc3350542016-10-26 16:19:01 -0700539extern grpc_slice_buffer_tiny_add_type grpc_slice_buffer_tiny_add_import;
540#define grpc_slice_buffer_tiny_add grpc_slice_buffer_tiny_add_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700541typedef void(*grpc_slice_buffer_pop_type)(grpc_slice_buffer* sb);
Craig Tillerc3350542016-10-26 16:19:01 -0700542extern grpc_slice_buffer_pop_type grpc_slice_buffer_pop_import;
543#define grpc_slice_buffer_pop grpc_slice_buffer_pop_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700544typedef void(*grpc_slice_buffer_reset_and_unref_type)(grpc_slice_buffer* sb);
Craig Tillerc3350542016-10-26 16:19:01 -0700545extern grpc_slice_buffer_reset_and_unref_type grpc_slice_buffer_reset_and_unref_import;
546#define grpc_slice_buffer_reset_and_unref grpc_slice_buffer_reset_and_unref_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700547typedef void(*grpc_slice_buffer_swap_type)(grpc_slice_buffer* a, grpc_slice_buffer* b);
Craig Tillerc3350542016-10-26 16:19:01 -0700548extern grpc_slice_buffer_swap_type grpc_slice_buffer_swap_import;
549#define grpc_slice_buffer_swap grpc_slice_buffer_swap_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700550typedef void(*grpc_slice_buffer_move_into_type)(grpc_slice_buffer* src, grpc_slice_buffer* dst);
Craig Tillerc3350542016-10-26 16:19:01 -0700551extern grpc_slice_buffer_move_into_type grpc_slice_buffer_move_into_import;
552#define grpc_slice_buffer_move_into grpc_slice_buffer_move_into_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700553typedef void(*grpc_slice_buffer_trim_end_type)(grpc_slice_buffer* src, size_t n, grpc_slice_buffer* garbage);
Craig Tillerc3350542016-10-26 16:19:01 -0700554extern grpc_slice_buffer_trim_end_type grpc_slice_buffer_trim_end_import;
555#define grpc_slice_buffer_trim_end grpc_slice_buffer_trim_end_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700556typedef void(*grpc_slice_buffer_move_first_type)(grpc_slice_buffer* src, size_t n, grpc_slice_buffer* dst);
Craig Tillerc3350542016-10-26 16:19:01 -0700557extern grpc_slice_buffer_move_first_type grpc_slice_buffer_move_first_import;
558#define grpc_slice_buffer_move_first grpc_slice_buffer_move_first_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700559typedef void(*grpc_slice_buffer_move_first_no_ref_type)(grpc_slice_buffer* src, size_t n, grpc_slice_buffer* dst);
Craig Tillerc39fbcf2017-04-17 08:20:25 -0700560extern grpc_slice_buffer_move_first_no_ref_type grpc_slice_buffer_move_first_no_ref_import;
561#define grpc_slice_buffer_move_first_no_ref grpc_slice_buffer_move_first_no_ref_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700562typedef 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 -0800563extern grpc_slice_buffer_move_first_into_buffer_type grpc_slice_buffer_move_first_into_buffer_import;
564#define grpc_slice_buffer_move_first_into_buffer grpc_slice_buffer_move_first_into_buffer_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700565typedef grpc_slice(*grpc_slice_buffer_take_first_type)(grpc_slice_buffer* src);
Craig Tillerc3350542016-10-26 16:19:01 -0700566extern grpc_slice_buffer_take_first_type grpc_slice_buffer_take_first_import;
567#define grpc_slice_buffer_take_first grpc_slice_buffer_take_first_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700568typedef void(*grpc_slice_buffer_undo_take_first_type)(grpc_slice_buffer* src, grpc_slice slice);
Craig Tiller0cf6a712017-01-20 14:07:05 -0800569extern grpc_slice_buffer_undo_take_first_type grpc_slice_buffer_undo_take_first_import;
570#define grpc_slice_buffer_undo_take_first grpc_slice_buffer_undo_take_first_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700571typedef void*(*gpr_malloc_type)(size_t size);
David Garcia Quintas3b31fdf2016-07-27 18:17:12 -0700572extern gpr_malloc_type gpr_malloc_import;
573#define gpr_malloc gpr_malloc_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700574typedef void*(*gpr_zalloc_type)(size_t size);
Craig Tillerff714492017-02-17 09:02:18 -0800575extern gpr_zalloc_type gpr_zalloc_import;
576#define gpr_zalloc gpr_zalloc_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700577typedef void(*gpr_free_type)(void* ptr);
David Garcia Quintas3b31fdf2016-07-27 18:17:12 -0700578extern gpr_free_type gpr_free_import;
579#define gpr_free gpr_free_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700580typedef void*(*gpr_realloc_type)(void* p, size_t size);
David Garcia Quintas3b31fdf2016-07-27 18:17:12 -0700581extern gpr_realloc_type gpr_realloc_import;
582#define gpr_realloc gpr_realloc_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700583typedef void*(*gpr_malloc_aligned_type)(size_t size, size_t alignment_log);
David Garcia Quintas3b31fdf2016-07-27 18:17:12 -0700584extern gpr_malloc_aligned_type gpr_malloc_aligned_import;
585#define gpr_malloc_aligned gpr_malloc_aligned_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700586typedef void(*gpr_free_aligned_type)(void* ptr);
David Garcia Quintas3b31fdf2016-07-27 18:17:12 -0700587extern gpr_free_aligned_type gpr_free_aligned_import;
588#define gpr_free_aligned gpr_free_aligned_import
589typedef void(*gpr_set_allocation_functions_type)(gpr_allocation_functions functions);
590extern gpr_set_allocation_functions_type gpr_set_allocation_functions_import;
591#define gpr_set_allocation_functions gpr_set_allocation_functions_import
592typedef gpr_allocation_functions(*gpr_get_allocation_functions_type)();
593extern gpr_get_allocation_functions_type gpr_get_allocation_functions_import;
594#define gpr_get_allocation_functions gpr_get_allocation_functions_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700595typedef gpr_avl(*gpr_avl_create_type)(const gpr_avl_vtable* vtable);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100596extern gpr_avl_create_type gpr_avl_create_import;
597#define gpr_avl_create gpr_avl_create_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700598typedef gpr_avl(*gpr_avl_ref_type)(gpr_avl avl, void* user_data);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100599extern gpr_avl_ref_type gpr_avl_ref_import;
600#define gpr_avl_ref gpr_avl_ref_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700601typedef void(*gpr_avl_unref_type)(gpr_avl avl, void* user_data);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100602extern gpr_avl_unref_type gpr_avl_unref_import;
603#define gpr_avl_unref gpr_avl_unref_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700604typedef gpr_avl(*gpr_avl_add_type)(gpr_avl avl, void* key, void* value, void* user_data);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100605extern gpr_avl_add_type gpr_avl_add_import;
606#define gpr_avl_add gpr_avl_add_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700607typedef gpr_avl(*gpr_avl_remove_type)(gpr_avl avl, void* key, void* user_data);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100608extern gpr_avl_remove_type gpr_avl_remove_import;
609#define gpr_avl_remove gpr_avl_remove_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700610typedef void*(*gpr_avl_get_type)(gpr_avl avl, void* key, void* user_data);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100611extern gpr_avl_get_type gpr_avl_get_import;
612#define gpr_avl_get gpr_avl_get_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700613typedef int(*gpr_avl_maybe_get_type)(gpr_avl avl, void* key, void** value, void* user_data);
Craig Tillerd6a5b802016-05-13 20:17:38 -0700614extern gpr_avl_maybe_get_type gpr_avl_maybe_get_import;
615#define gpr_avl_maybe_get gpr_avl_maybe_get_import
616typedef int(*gpr_avl_is_empty_type)(gpr_avl avl);
617extern gpr_avl_is_empty_type gpr_avl_is_empty_import;
618#define gpr_avl_is_empty gpr_avl_is_empty_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700619typedef gpr_cmdline*(*gpr_cmdline_create_type)(const char* description);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100620extern gpr_cmdline_create_type gpr_cmdline_create_import;
621#define gpr_cmdline_create gpr_cmdline_create_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700622typedef void(*gpr_cmdline_add_int_type)(gpr_cmdline* cl, const char* name, const char* help, int* value);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100623extern gpr_cmdline_add_int_type gpr_cmdline_add_int_import;
624#define gpr_cmdline_add_int gpr_cmdline_add_int_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700625typedef void(*gpr_cmdline_add_flag_type)(gpr_cmdline* cl, const char* name, const char* help, int* value);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100626extern gpr_cmdline_add_flag_type gpr_cmdline_add_flag_import;
627#define gpr_cmdline_add_flag gpr_cmdline_add_flag_import
Yash Tibrewal40422d52017-11-06 14:39:17 -0800628typedef void(*gpr_cmdline_add_string_type)(gpr_cmdline* cl, const char* name, const char* help, const char** value);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100629extern gpr_cmdline_add_string_type gpr_cmdline_add_string_import;
630#define gpr_cmdline_add_string gpr_cmdline_add_string_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700631typedef 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);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100632extern gpr_cmdline_on_extra_arg_type gpr_cmdline_on_extra_arg_import;
633#define gpr_cmdline_on_extra_arg gpr_cmdline_on_extra_arg_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700634typedef void(*gpr_cmdline_set_survive_failure_type)(gpr_cmdline* cl);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100635extern gpr_cmdline_set_survive_failure_type gpr_cmdline_set_survive_failure_import;
636#define gpr_cmdline_set_survive_failure gpr_cmdline_set_survive_failure_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700637typedef int(*gpr_cmdline_parse_type)(gpr_cmdline* cl, int argc, char** argv);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100638extern gpr_cmdline_parse_type gpr_cmdline_parse_import;
639#define gpr_cmdline_parse gpr_cmdline_parse_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700640typedef void(*gpr_cmdline_destroy_type)(gpr_cmdline* cl);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100641extern gpr_cmdline_destroy_type gpr_cmdline_destroy_import;
642#define gpr_cmdline_destroy gpr_cmdline_destroy_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700643typedef char*(*gpr_cmdline_usage_string_type)(gpr_cmdline* cl, const char* argv0);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100644extern gpr_cmdline_usage_string_type gpr_cmdline_usage_string_import;
645#define gpr_cmdline_usage_string gpr_cmdline_usage_string_import
646typedef unsigned(*gpr_cpu_num_cores_type)(void);
647extern gpr_cpu_num_cores_type gpr_cpu_num_cores_import;
648#define gpr_cpu_num_cores gpr_cpu_num_cores_import
649typedef unsigned(*gpr_cpu_current_cpu_type)(void);
650extern gpr_cpu_current_cpu_type gpr_cpu_current_cpu_import;
651#define gpr_cpu_current_cpu gpr_cpu_current_cpu_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700652typedef gpr_histogram*(*gpr_histogram_create_type)(double resolution, double max_bucket_start);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100653extern gpr_histogram_create_type gpr_histogram_create_import;
654#define gpr_histogram_create gpr_histogram_create_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700655typedef void(*gpr_histogram_destroy_type)(gpr_histogram* h);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100656extern gpr_histogram_destroy_type gpr_histogram_destroy_import;
657#define gpr_histogram_destroy gpr_histogram_destroy_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700658typedef void(*gpr_histogram_add_type)(gpr_histogram* h, double x);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100659extern gpr_histogram_add_type gpr_histogram_add_import;
660#define gpr_histogram_add gpr_histogram_add_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700661typedef int(*gpr_histogram_merge_type)(gpr_histogram* dst, const gpr_histogram* src);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100662extern gpr_histogram_merge_type gpr_histogram_merge_import;
663#define gpr_histogram_merge gpr_histogram_merge_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700664typedef double(*gpr_histogram_percentile_type)(gpr_histogram* histogram, double percentile);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100665extern gpr_histogram_percentile_type gpr_histogram_percentile_import;
666#define gpr_histogram_percentile gpr_histogram_percentile_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700667typedef double(*gpr_histogram_mean_type)(gpr_histogram* histogram);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100668extern gpr_histogram_mean_type gpr_histogram_mean_import;
669#define gpr_histogram_mean gpr_histogram_mean_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700670typedef double(*gpr_histogram_stddev_type)(gpr_histogram* histogram);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100671extern gpr_histogram_stddev_type gpr_histogram_stddev_import;
672#define gpr_histogram_stddev gpr_histogram_stddev_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700673typedef double(*gpr_histogram_variance_type)(gpr_histogram* histogram);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100674extern gpr_histogram_variance_type gpr_histogram_variance_import;
675#define gpr_histogram_variance gpr_histogram_variance_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700676typedef double(*gpr_histogram_maximum_type)(gpr_histogram* histogram);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100677extern gpr_histogram_maximum_type gpr_histogram_maximum_import;
678#define gpr_histogram_maximum gpr_histogram_maximum_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700679typedef double(*gpr_histogram_minimum_type)(gpr_histogram* histogram);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100680extern gpr_histogram_minimum_type gpr_histogram_minimum_import;
681#define gpr_histogram_minimum gpr_histogram_minimum_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700682typedef double(*gpr_histogram_count_type)(gpr_histogram* histogram);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100683extern gpr_histogram_count_type gpr_histogram_count_import;
684#define gpr_histogram_count gpr_histogram_count_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700685typedef double(*gpr_histogram_sum_type)(gpr_histogram* histogram);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100686extern gpr_histogram_sum_type gpr_histogram_sum_import;
687#define gpr_histogram_sum gpr_histogram_sum_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700688typedef double(*gpr_histogram_sum_of_squares_type)(gpr_histogram* histogram);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100689extern gpr_histogram_sum_of_squares_type gpr_histogram_sum_of_squares_import;
690#define gpr_histogram_sum_of_squares gpr_histogram_sum_of_squares_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700691typedef const uint32_t*(*gpr_histogram_get_contents_type)(gpr_histogram* histogram, size_t* count);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100692extern gpr_histogram_get_contents_type gpr_histogram_get_contents_import;
693#define gpr_histogram_get_contents gpr_histogram_get_contents_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700694typedef 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);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100695extern gpr_histogram_merge_contents_type gpr_histogram_merge_contents_import;
696#define gpr_histogram_merge_contents gpr_histogram_merge_contents_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700697typedef int(*gpr_join_host_port_type)(char** out, const char* host, int port);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100698extern gpr_join_host_port_type gpr_join_host_port_import;
699#define gpr_join_host_port gpr_join_host_port_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700700typedef int(*gpr_split_host_port_type)(const char* name, char** host, char** port);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100701extern gpr_split_host_port_type gpr_split_host_port_import;
702#define gpr_split_host_port gpr_split_host_port_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700703typedef const char*(*gpr_log_severity_string_type)(gpr_log_severity severity);
Craig Tillercc919832017-05-23 13:35:55 -0700704extern gpr_log_severity_string_type gpr_log_severity_string_import;
705#define gpr_log_severity_string gpr_log_severity_string_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700706typedef 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 -0700707extern gpr_log_type gpr_log_import;
708#define gpr_log gpr_log_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700709typedef void(*gpr_log_message_type)(const char* file, int line, gpr_log_severity severity, const char* message);
David Garcia Quintasc79b0652016-07-27 21:11:58 -0700710extern gpr_log_message_type gpr_log_message_import;
711#define gpr_log_message gpr_log_message_import
712typedef void(*gpr_set_log_verbosity_type)(gpr_log_severity min_severity_to_print);
713extern gpr_set_log_verbosity_type gpr_set_log_verbosity_import;
714#define gpr_set_log_verbosity gpr_set_log_verbosity_import
715typedef void(*gpr_log_verbosity_init_type)();
716extern gpr_log_verbosity_init_type gpr_log_verbosity_init_import;
717#define gpr_log_verbosity_init gpr_log_verbosity_init_import
718typedef void(*gpr_set_log_function_type)(gpr_log_func func);
719extern gpr_set_log_function_type gpr_set_log_function_import;
720#define gpr_set_log_function gpr_set_log_function_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700721typedef char*(*gpr_format_message_type)(int messageid);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100722extern gpr_format_message_type gpr_format_message_import;
723#define gpr_format_message gpr_format_message_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700724typedef char*(*gpr_strdup_type)(const char* src);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100725extern gpr_strdup_type gpr_strdup_import;
726#define gpr_strdup gpr_strdup_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700727typedef int(*gpr_asprintf_type)(char** strp, const char* format, ...) GPR_PRINT_FORMAT_CHECK(2, 3);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100728extern gpr_asprintf_type gpr_asprintf_import;
729#define gpr_asprintf gpr_asprintf_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700730typedef const char*(*gpr_subprocess_binary_extension_type)();
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100731extern gpr_subprocess_binary_extension_type gpr_subprocess_binary_extension_import;
732#define gpr_subprocess_binary_extension gpr_subprocess_binary_extension_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700733typedef gpr_subprocess*(*gpr_subprocess_create_type)(int argc, const char** argv);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100734extern gpr_subprocess_create_type gpr_subprocess_create_import;
735#define gpr_subprocess_create gpr_subprocess_create_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700736typedef void(*gpr_subprocess_destroy_type)(gpr_subprocess* p);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100737extern gpr_subprocess_destroy_type gpr_subprocess_destroy_import;
738#define gpr_subprocess_destroy gpr_subprocess_destroy_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700739typedef int(*gpr_subprocess_join_type)(gpr_subprocess* p);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100740extern gpr_subprocess_join_type gpr_subprocess_join_import;
741#define gpr_subprocess_join gpr_subprocess_join_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700742typedef void(*gpr_subprocess_interrupt_type)(gpr_subprocess* p);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100743extern gpr_subprocess_interrupt_type gpr_subprocess_interrupt_import;
744#define gpr_subprocess_interrupt gpr_subprocess_interrupt_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700745typedef void(*gpr_mu_init_type)(gpr_mu* mu);
David Garcia Quintas2ee99f42016-08-01 19:15:31 -0700746extern gpr_mu_init_type gpr_mu_init_import;
747#define gpr_mu_init gpr_mu_init_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700748typedef void(*gpr_mu_destroy_type)(gpr_mu* mu);
David Garcia Quintas2ee99f42016-08-01 19:15:31 -0700749extern gpr_mu_destroy_type gpr_mu_destroy_import;
750#define gpr_mu_destroy gpr_mu_destroy_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700751typedef void(*gpr_mu_lock_type)(gpr_mu* mu);
David Garcia Quintas2ee99f42016-08-01 19:15:31 -0700752extern gpr_mu_lock_type gpr_mu_lock_import;
753#define gpr_mu_lock gpr_mu_lock_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700754typedef void(*gpr_mu_unlock_type)(gpr_mu* mu);
David Garcia Quintas2ee99f42016-08-01 19:15:31 -0700755extern gpr_mu_unlock_type gpr_mu_unlock_import;
756#define gpr_mu_unlock gpr_mu_unlock_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700757typedef int(*gpr_mu_trylock_type)(gpr_mu* mu);
David Garcia Quintas2ee99f42016-08-01 19:15:31 -0700758extern gpr_mu_trylock_type gpr_mu_trylock_import;
759#define gpr_mu_trylock gpr_mu_trylock_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700760typedef void(*gpr_cv_init_type)(gpr_cv* cv);
David Garcia Quintas2ee99f42016-08-01 19:15:31 -0700761extern gpr_cv_init_type gpr_cv_init_import;
762#define gpr_cv_init gpr_cv_init_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700763typedef void(*gpr_cv_destroy_type)(gpr_cv* cv);
David Garcia Quintas2ee99f42016-08-01 19:15:31 -0700764extern gpr_cv_destroy_type gpr_cv_destroy_import;
765#define gpr_cv_destroy gpr_cv_destroy_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700766typedef int(*gpr_cv_wait_type)(gpr_cv* cv, gpr_mu* mu, gpr_timespec abs_deadline);
David Garcia Quintas2ee99f42016-08-01 19:15:31 -0700767extern gpr_cv_wait_type gpr_cv_wait_import;
768#define gpr_cv_wait gpr_cv_wait_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700769typedef void(*gpr_cv_signal_type)(gpr_cv* cv);
David Garcia Quintas2ee99f42016-08-01 19:15:31 -0700770extern gpr_cv_signal_type gpr_cv_signal_import;
771#define gpr_cv_signal gpr_cv_signal_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700772typedef void(*gpr_cv_broadcast_type)(gpr_cv* cv);
David Garcia Quintas2ee99f42016-08-01 19:15:31 -0700773extern gpr_cv_broadcast_type gpr_cv_broadcast_import;
774#define gpr_cv_broadcast gpr_cv_broadcast_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700775typedef void(*gpr_once_init_type)(gpr_once* once, void (*init_routine)(void));
David Garcia Quintas2ee99f42016-08-01 19:15:31 -0700776extern gpr_once_init_type gpr_once_init_import;
777#define gpr_once_init gpr_once_init_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700778typedef void(*gpr_event_init_type)(gpr_event* ev);
David Garcia Quintas2ee99f42016-08-01 19:15:31 -0700779extern gpr_event_init_type gpr_event_init_import;
780#define gpr_event_init gpr_event_init_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700781typedef void(*gpr_event_set_type)(gpr_event* ev, void* value);
David Garcia Quintas2ee99f42016-08-01 19:15:31 -0700782extern gpr_event_set_type gpr_event_set_import;
783#define gpr_event_set gpr_event_set_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700784typedef void*(*gpr_event_get_type)(gpr_event* ev);
David Garcia Quintas2ee99f42016-08-01 19:15:31 -0700785extern gpr_event_get_type gpr_event_get_import;
786#define gpr_event_get gpr_event_get_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700787typedef void*(*gpr_event_wait_type)(gpr_event* ev, gpr_timespec abs_deadline);
David Garcia Quintas2ee99f42016-08-01 19:15:31 -0700788extern gpr_event_wait_type gpr_event_wait_import;
789#define gpr_event_wait gpr_event_wait_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700790typedef void(*gpr_ref_init_type)(gpr_refcount* r, int n);
David Garcia Quintas2ee99f42016-08-01 19:15:31 -0700791extern gpr_ref_init_type gpr_ref_init_import;
792#define gpr_ref_init gpr_ref_init_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700793typedef void(*gpr_ref_type)(gpr_refcount* r);
David Garcia Quintas2ee99f42016-08-01 19:15:31 -0700794extern gpr_ref_type gpr_ref_import;
795#define gpr_ref gpr_ref_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700796typedef void(*gpr_ref_non_zero_type)(gpr_refcount* r);
David Garcia Quintas2ee99f42016-08-01 19:15:31 -0700797extern gpr_ref_non_zero_type gpr_ref_non_zero_import;
798#define gpr_ref_non_zero gpr_ref_non_zero_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700799typedef void(*gpr_refn_type)(gpr_refcount* r, int n);
David Garcia Quintas2ee99f42016-08-01 19:15:31 -0700800extern gpr_refn_type gpr_refn_import;
801#define gpr_refn gpr_refn_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700802typedef int(*gpr_unref_type)(gpr_refcount* r);
David Garcia Quintas2ee99f42016-08-01 19:15:31 -0700803extern gpr_unref_type gpr_unref_import;
804#define gpr_unref gpr_unref_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700805typedef int(*gpr_ref_is_unique_type)(gpr_refcount* r);
ncteisen3da3ce32017-02-17 09:51:25 -0800806extern gpr_ref_is_unique_type gpr_ref_is_unique_import;
807#define gpr_ref_is_unique gpr_ref_is_unique_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700808typedef void(*gpr_stats_init_type)(gpr_stats_counter* c, intptr_t n);
David Garcia Quintas2ee99f42016-08-01 19:15:31 -0700809extern gpr_stats_init_type gpr_stats_init_import;
810#define gpr_stats_init gpr_stats_init_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700811typedef void(*gpr_stats_inc_type)(gpr_stats_counter* c, intptr_t inc);
David Garcia Quintas2ee99f42016-08-01 19:15:31 -0700812extern gpr_stats_inc_type gpr_stats_inc_import;
813#define gpr_stats_inc gpr_stats_inc_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700814typedef intptr_t(*gpr_stats_read_type)(const gpr_stats_counter* c);
David Garcia Quintas2ee99f42016-08-01 19:15:31 -0700815extern gpr_stats_read_type gpr_stats_read_import;
816#define gpr_stats_read gpr_stats_read_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700817typedef int(*gpr_thd_new_type)(gpr_thd_id* t, void (*thd_body)(void* arg), void* arg, const gpr_thd_options* options);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100818extern gpr_thd_new_type gpr_thd_new_import;
819#define gpr_thd_new gpr_thd_new_import
820typedef gpr_thd_options(*gpr_thd_options_default_type)(void);
821extern gpr_thd_options_default_type gpr_thd_options_default_import;
822#define gpr_thd_options_default gpr_thd_options_default_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700823typedef void(*gpr_thd_options_set_detached_type)(gpr_thd_options* options);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100824extern gpr_thd_options_set_detached_type gpr_thd_options_set_detached_import;
825#define gpr_thd_options_set_detached gpr_thd_options_set_detached_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700826typedef void(*gpr_thd_options_set_joinable_type)(gpr_thd_options* options);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100827extern gpr_thd_options_set_joinable_type gpr_thd_options_set_joinable_import;
828#define gpr_thd_options_set_joinable gpr_thd_options_set_joinable_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700829typedef int(*gpr_thd_options_is_detached_type)(const gpr_thd_options* options);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100830extern gpr_thd_options_is_detached_type gpr_thd_options_is_detached_import;
831#define gpr_thd_options_is_detached gpr_thd_options_is_detached_import
Craig Tiller44ab6a52017-11-03 16:22:34 -0700832typedef int(*gpr_thd_options_is_joinable_type)(const gpr_thd_options* options);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100833extern gpr_thd_options_is_joinable_type gpr_thd_options_is_joinable_import;
834#define gpr_thd_options_is_joinable gpr_thd_options_is_joinable_import
835typedef gpr_thd_id(*gpr_thd_currentid_type)(void);
836extern gpr_thd_currentid_type gpr_thd_currentid_import;
837#define gpr_thd_currentid gpr_thd_currentid_import
838typedef void(*gpr_thd_join_type)(gpr_thd_id t);
839extern gpr_thd_join_type gpr_thd_join_import;
840#define gpr_thd_join gpr_thd_join_import
David Garcia Quintas1399e462016-07-27 20:31:55 -0700841typedef gpr_timespec(*gpr_time_0_type)(gpr_clock_type type);
842extern gpr_time_0_type gpr_time_0_import;
843#define gpr_time_0 gpr_time_0_import
844typedef gpr_timespec(*gpr_inf_future_type)(gpr_clock_type type);
845extern gpr_inf_future_type gpr_inf_future_import;
846#define gpr_inf_future gpr_inf_future_import
847typedef gpr_timespec(*gpr_inf_past_type)(gpr_clock_type type);
848extern gpr_inf_past_type gpr_inf_past_import;
849#define gpr_inf_past gpr_inf_past_import
850typedef void(*gpr_time_init_type)(void);
851extern gpr_time_init_type gpr_time_init_import;
852#define gpr_time_init gpr_time_init_import
853typedef gpr_timespec(*gpr_now_type)(gpr_clock_type clock);
854extern gpr_now_type gpr_now_import;
855#define gpr_now gpr_now_import
856typedef gpr_timespec(*gpr_convert_clock_type_type)(gpr_timespec t, gpr_clock_type target_clock);
857extern gpr_convert_clock_type_type gpr_convert_clock_type_import;
858#define gpr_convert_clock_type gpr_convert_clock_type_import
859typedef int(*gpr_time_cmp_type)(gpr_timespec a, gpr_timespec b);
860extern gpr_time_cmp_type gpr_time_cmp_import;
861#define gpr_time_cmp gpr_time_cmp_import
862typedef gpr_timespec(*gpr_time_max_type)(gpr_timespec a, gpr_timespec b);
863extern gpr_time_max_type gpr_time_max_import;
864#define gpr_time_max gpr_time_max_import
865typedef gpr_timespec(*gpr_time_min_type)(gpr_timespec a, gpr_timespec b);
866extern gpr_time_min_type gpr_time_min_import;
867#define gpr_time_min gpr_time_min_import
868typedef gpr_timespec(*gpr_time_add_type)(gpr_timespec a, gpr_timespec b);
869extern gpr_time_add_type gpr_time_add_import;
870#define gpr_time_add gpr_time_add_import
871typedef gpr_timespec(*gpr_time_sub_type)(gpr_timespec a, gpr_timespec b);
872extern gpr_time_sub_type gpr_time_sub_import;
873#define gpr_time_sub gpr_time_sub_import
874typedef gpr_timespec(*gpr_time_from_micros_type)(int64_t x, gpr_clock_type clock_type);
875extern gpr_time_from_micros_type gpr_time_from_micros_import;
876#define gpr_time_from_micros gpr_time_from_micros_import
877typedef gpr_timespec(*gpr_time_from_nanos_type)(int64_t x, gpr_clock_type clock_type);
878extern gpr_time_from_nanos_type gpr_time_from_nanos_import;
879#define gpr_time_from_nanos gpr_time_from_nanos_import
880typedef gpr_timespec(*gpr_time_from_millis_type)(int64_t x, gpr_clock_type clock_type);
881extern gpr_time_from_millis_type gpr_time_from_millis_import;
882#define gpr_time_from_millis gpr_time_from_millis_import
883typedef gpr_timespec(*gpr_time_from_seconds_type)(int64_t x, gpr_clock_type clock_type);
884extern gpr_time_from_seconds_type gpr_time_from_seconds_import;
885#define gpr_time_from_seconds gpr_time_from_seconds_import
886typedef gpr_timespec(*gpr_time_from_minutes_type)(int64_t x, gpr_clock_type clock_type);
887extern gpr_time_from_minutes_type gpr_time_from_minutes_import;
888#define gpr_time_from_minutes gpr_time_from_minutes_import
889typedef gpr_timespec(*gpr_time_from_hours_type)(int64_t x, gpr_clock_type clock_type);
890extern gpr_time_from_hours_type gpr_time_from_hours_import;
891#define gpr_time_from_hours gpr_time_from_hours_import
892typedef int32_t(*gpr_time_to_millis_type)(gpr_timespec timespec);
893extern gpr_time_to_millis_type gpr_time_to_millis_import;
894#define gpr_time_to_millis gpr_time_to_millis_import
895typedef int(*gpr_time_similar_type)(gpr_timespec a, gpr_timespec b, gpr_timespec threshold);
896extern gpr_time_similar_type gpr_time_similar_import;
897#define gpr_time_similar gpr_time_similar_import
898typedef void(*gpr_sleep_until_type)(gpr_timespec until);
899extern gpr_sleep_until_type gpr_sleep_until_import;
900#define gpr_sleep_until gpr_sleep_until_import
901typedef double(*gpr_timespec_to_micros_type)(gpr_timespec t);
902extern gpr_timespec_to_micros_type gpr_timespec_to_micros_import;
903#define gpr_timespec_to_micros gpr_timespec_to_micros_import
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100904
905void grpc_rb_load_imports(HMODULE library);
906
Yuchen Zeng12dfdc32016-04-26 22:05:41 -0700907#endif /* GPR_WINDOWS */
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100908
909#endif