blob: b2186a69aa95a6d308043c6a0c5cf25bf2637f65 [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/cpu.h>
David Garcia Quintasc79b0652016-07-27 21:11:58 -070037#include <grpc/support/log.h>
Yuchen Zeng12dfdc32016-04-26 22:05:41 -070038#include <grpc/support/log_windows.h>
Nicolas "Pixel" Nobleb8e9e9c2016-01-30 18:35:13 +010039#include <grpc/support/string_util.h>
David Garcia Quintas2ee99f42016-08-01 19:15:31 -070040#include <grpc/support/sync.h>
Vijay Paic7456902018-02-12 10:28:24 -080041#include <grpc/support/thd_id.h>
David Garcia Quintas1399e462016-07-27 20:31:55 -070042#include <grpc/support/time.h>
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +010043
Muxi Yan1c285b92017-09-25 12:38:17 -070044typedef int(*grpc_compression_algorithm_is_message_type)(grpc_compression_algorithm algorithm);
45extern grpc_compression_algorithm_is_message_type grpc_compression_algorithm_is_message_import;
46#define grpc_compression_algorithm_is_message grpc_compression_algorithm_is_message_import
47typedef int(*grpc_compression_algorithm_is_stream_type)(grpc_compression_algorithm algorithm);
48extern grpc_compression_algorithm_is_stream_type grpc_compression_algorithm_is_stream_import;
49#define grpc_compression_algorithm_is_stream grpc_compression_algorithm_is_stream_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -080050typedef int(*grpc_compression_algorithm_parse_type)(grpc_slice value, grpc_compression_algorithm* algorithm);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +010051extern grpc_compression_algorithm_parse_type grpc_compression_algorithm_parse_import;
52#define grpc_compression_algorithm_parse grpc_compression_algorithm_parse_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -080053typedef int(*grpc_compression_algorithm_name_type)(grpc_compression_algorithm algorithm, const char** name);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +010054extern grpc_compression_algorithm_name_type grpc_compression_algorithm_name_import;
55#define grpc_compression_algorithm_name grpc_compression_algorithm_name_import
David Garcia Quintasa36ec162016-03-18 10:00:23 -070056typedef 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 +010057extern grpc_compression_algorithm_for_level_type grpc_compression_algorithm_for_level_import;
58#define grpc_compression_algorithm_for_level grpc_compression_algorithm_for_level_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -080059typedef void(*grpc_compression_options_init_type)(grpc_compression_options* opts);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +010060extern grpc_compression_options_init_type grpc_compression_options_init_import;
61#define grpc_compression_options_init grpc_compression_options_init_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -080062typedef void(*grpc_compression_options_enable_algorithm_type)(grpc_compression_options* opts, grpc_compression_algorithm algorithm);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +010063extern grpc_compression_options_enable_algorithm_type grpc_compression_options_enable_algorithm_import;
64#define grpc_compression_options_enable_algorithm grpc_compression_options_enable_algorithm_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -080065typedef void(*grpc_compression_options_disable_algorithm_type)(grpc_compression_options* opts, grpc_compression_algorithm algorithm);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +010066extern grpc_compression_options_disable_algorithm_type grpc_compression_options_disable_algorithm_import;
67#define grpc_compression_options_disable_algorithm grpc_compression_options_disable_algorithm_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -080068typedef 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 +010069extern grpc_compression_options_is_algorithm_enabled_type grpc_compression_options_is_algorithm_enabled_import;
70#define grpc_compression_options_is_algorithm_enabled grpc_compression_options_is_algorithm_enabled_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -080071typedef void(*grpc_metadata_array_init_type)(grpc_metadata_array* array);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +010072extern grpc_metadata_array_init_type grpc_metadata_array_init_import;
73#define grpc_metadata_array_init grpc_metadata_array_init_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -080074typedef void(*grpc_metadata_array_destroy_type)(grpc_metadata_array* array);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +010075extern grpc_metadata_array_destroy_type grpc_metadata_array_destroy_import;
76#define grpc_metadata_array_destroy grpc_metadata_array_destroy_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -080077typedef void(*grpc_call_details_init_type)(grpc_call_details* details);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +010078extern grpc_call_details_init_type grpc_call_details_init_import;
79#define grpc_call_details_init grpc_call_details_init_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -080080typedef void(*grpc_call_details_destroy_type)(grpc_call_details* details);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +010081extern grpc_call_details_destroy_type grpc_call_details_destroy_import;
82#define grpc_call_details_destroy grpc_call_details_destroy_import
83typedef void(*grpc_register_plugin_type)(void (*init)(void), void (*destroy)(void));
84extern grpc_register_plugin_type grpc_register_plugin_import;
85#define grpc_register_plugin grpc_register_plugin_import
86typedef void(*grpc_init_type)(void);
87extern grpc_init_type grpc_init_import;
88#define grpc_init grpc_init_import
89typedef void(*grpc_shutdown_type)(void);
90extern grpc_shutdown_type grpc_shutdown_import;
91#define grpc_shutdown grpc_shutdown_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -080092typedef const char*(*grpc_version_string_type)(void);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +010093extern grpc_version_string_type grpc_version_string_import;
94#define grpc_version_string grpc_version_string_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -080095typedef const char*(*grpc_g_stands_for_type)(void);
Craig Tillerd9f90762016-08-29 16:47:22 -070096extern grpc_g_stands_for_type grpc_g_stands_for_import;
97#define grpc_g_stands_for grpc_g_stands_for_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -080098typedef const grpc_completion_queue_factory*(*grpc_completion_queue_factory_lookup_type)(const grpc_completion_queue_attributes* attributes);
Sree Kuchibhotlabf184282017-03-21 15:18:58 -070099extern grpc_completion_queue_factory_lookup_type grpc_completion_queue_factory_lookup_import;
100#define grpc_completion_queue_factory_lookup grpc_completion_queue_factory_lookup_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800101typedef grpc_completion_queue*(*grpc_completion_queue_create_for_next_type)(void* reserved);
Sree Kuchibhotlabf184282017-03-21 15:18:58 -0700102extern grpc_completion_queue_create_for_next_type grpc_completion_queue_create_for_next_import;
103#define grpc_completion_queue_create_for_next grpc_completion_queue_create_for_next_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800104typedef grpc_completion_queue*(*grpc_completion_queue_create_for_pluck_type)(void* reserved);
Sree Kuchibhotlabf184282017-03-21 15:18:58 -0700105extern grpc_completion_queue_create_for_pluck_type grpc_completion_queue_create_for_pluck_import;
106#define grpc_completion_queue_create_for_pluck grpc_completion_queue_create_for_pluck_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800107typedef 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 +0100108extern grpc_completion_queue_create_type grpc_completion_queue_create_import;
109#define grpc_completion_queue_create grpc_completion_queue_create_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800110typedef grpc_event(*grpc_completion_queue_next_type)(grpc_completion_queue* cq, gpr_timespec deadline, void* reserved);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100111extern grpc_completion_queue_next_type grpc_completion_queue_next_import;
112#define grpc_completion_queue_next grpc_completion_queue_next_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800113typedef 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 +0100114extern grpc_completion_queue_pluck_type grpc_completion_queue_pluck_import;
115#define grpc_completion_queue_pluck grpc_completion_queue_pluck_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800116typedef void(*grpc_completion_queue_shutdown_type)(grpc_completion_queue* cq);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100117extern grpc_completion_queue_shutdown_type grpc_completion_queue_shutdown_import;
118#define grpc_completion_queue_shutdown grpc_completion_queue_shutdown_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800119typedef void(*grpc_completion_queue_destroy_type)(grpc_completion_queue* cq);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100120extern grpc_completion_queue_destroy_type grpc_completion_queue_destroy_import;
121#define grpc_completion_queue_destroy grpc_completion_queue_destroy_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800122typedef void(*grpc_completion_queue_thread_local_cache_init_type)(grpc_completion_queue* cq);
Ken Payson42bd87e2017-10-20 10:32:30 -0700123extern grpc_completion_queue_thread_local_cache_init_type grpc_completion_queue_thread_local_cache_init_import;
124#define grpc_completion_queue_thread_local_cache_init grpc_completion_queue_thread_local_cache_init_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800125typedef int(*grpc_completion_queue_thread_local_cache_flush_type)(grpc_completion_queue* cq, void** tag, int* ok);
Ken Payson42bd87e2017-10-20 10:32:30 -0700126extern grpc_completion_queue_thread_local_cache_flush_type grpc_completion_queue_thread_local_cache_flush_import;
127#define grpc_completion_queue_thread_local_cache_flush grpc_completion_queue_thread_local_cache_flush_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800128typedef grpc_connectivity_state(*grpc_channel_check_connectivity_state_type)(grpc_channel* channel, int try_to_connect);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100129extern grpc_channel_check_connectivity_state_type grpc_channel_check_connectivity_state_import;
130#define grpc_channel_check_connectivity_state grpc_channel_check_connectivity_state_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800131typedef int(*grpc_channel_num_external_connectivity_watchers_type)(grpc_channel* channel);
Alexander Polcync3b1f182017-04-18 13:51:36 -0700132extern grpc_channel_num_external_connectivity_watchers_type grpc_channel_num_external_connectivity_watchers_import;
133#define grpc_channel_num_external_connectivity_watchers grpc_channel_num_external_connectivity_watchers_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800134typedef 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 +0100135extern grpc_channel_watch_connectivity_state_type grpc_channel_watch_connectivity_state_import;
136#define grpc_channel_watch_connectivity_state grpc_channel_watch_connectivity_state_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800137typedef int(*grpc_channel_support_connectivity_watcher_type)(grpc_channel* channel);
Yuchen Zengba23e792017-08-24 23:13:09 -0700138extern grpc_channel_support_connectivity_watcher_type grpc_channel_support_connectivity_watcher_import;
139#define grpc_channel_support_connectivity_watcher grpc_channel_support_connectivity_watcher_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800140typedef 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 +0100141extern grpc_channel_create_call_type grpc_channel_create_call_import;
142#define grpc_channel_create_call grpc_channel_create_call_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800143typedef void(*grpc_channel_ping_type)(grpc_channel* channel, grpc_completion_queue* cq, void* tag, void* reserved);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100144extern grpc_channel_ping_type grpc_channel_ping_import;
145#define grpc_channel_ping grpc_channel_ping_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800146typedef 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 +0100147extern grpc_channel_register_call_type grpc_channel_register_call_import;
148#define grpc_channel_register_call grpc_channel_register_call_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800149typedef 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 +0100150extern grpc_channel_create_registered_call_type grpc_channel_create_registered_call_import;
151#define grpc_channel_create_registered_call grpc_channel_create_registered_call_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800152typedef void*(*grpc_call_arena_alloc_type)(grpc_call* call, size_t size);
Vijay Paic0e67012017-03-17 20:00:55 -0700153extern grpc_call_arena_alloc_type grpc_call_arena_alloc_import;
154#define grpc_call_arena_alloc grpc_call_arena_alloc_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800155typedef 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 +0100156extern grpc_call_start_batch_type grpc_call_start_batch_import;
157#define grpc_call_start_batch grpc_call_start_batch_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800158typedef char*(*grpc_call_get_peer_type)(grpc_call* call);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100159extern grpc_call_get_peer_type grpc_call_get_peer_import;
160#define grpc_call_get_peer grpc_call_get_peer_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800161typedef void(*grpc_census_call_set_context_type)(grpc_call* call, struct census_context* context);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100162extern grpc_census_call_set_context_type grpc_census_call_set_context_import;
163#define grpc_census_call_set_context grpc_census_call_set_context_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800164typedef struct census_context*(*grpc_census_call_get_context_type)(grpc_call* call);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100165extern grpc_census_call_get_context_type grpc_census_call_get_context_import;
166#define grpc_census_call_get_context grpc_census_call_get_context_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800167typedef char*(*grpc_channel_get_target_type)(grpc_channel* channel);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100168extern grpc_channel_get_target_type grpc_channel_get_target_import;
169#define grpc_channel_get_target grpc_channel_get_target_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800170typedef void(*grpc_channel_get_info_type)(grpc_channel* channel, const grpc_channel_info* channel_info);
Mark D. Roth8e2d8d92016-11-04 12:55:07 -0700171extern grpc_channel_get_info_type grpc_channel_get_info_import;
172#define grpc_channel_get_info grpc_channel_get_info_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800173typedef 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 +0100174extern grpc_insecure_channel_create_type grpc_insecure_channel_create_import;
175#define grpc_insecure_channel_create grpc_insecure_channel_create_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800176typedef 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 +0100177extern grpc_lame_client_channel_create_type grpc_lame_client_channel_create_import;
178#define grpc_lame_client_channel_create grpc_lame_client_channel_create_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800179typedef void(*grpc_channel_destroy_type)(grpc_channel* channel);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100180extern grpc_channel_destroy_type grpc_channel_destroy_import;
181#define grpc_channel_destroy grpc_channel_destroy_import
ncteisen3b42f832018-03-19 13:22:35 -0700182typedef char*(*grpc_channel_get_trace_type)(grpc_channel* channel);
183extern grpc_channel_get_trace_type grpc_channel_get_trace_import;
184#define grpc_channel_get_trace grpc_channel_get_trace_import
185typedef intptr_t(*grpc_channel_get_uuid_type)(grpc_channel* channel);
186extern grpc_channel_get_uuid_type grpc_channel_get_uuid_import;
187#define grpc_channel_get_uuid grpc_channel_get_uuid_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800188typedef grpc_call_error(*grpc_call_cancel_type)(grpc_call* call, void* reserved);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100189extern grpc_call_cancel_type grpc_call_cancel_import;
190#define grpc_call_cancel grpc_call_cancel_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800191typedef 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 +0100192extern grpc_call_cancel_with_status_type grpc_call_cancel_with_status_import;
193#define grpc_call_cancel_with_status grpc_call_cancel_with_status_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800194typedef void(*grpc_call_ref_type)(grpc_call* call);
Craig Tillerd35bb9e2017-03-31 12:56:15 -0700195extern grpc_call_ref_type grpc_call_ref_import;
196#define grpc_call_ref grpc_call_ref_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800197typedef void(*grpc_call_unref_type)(grpc_call* call);
Craig Tillerdd36b152017-03-31 08:27:28 -0700198extern grpc_call_unref_type grpc_call_unref_import;
199#define grpc_call_unref grpc_call_unref_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800200typedef 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 +0100201extern grpc_server_request_call_type grpc_server_request_call_import;
202#define grpc_server_request_call grpc_server_request_call_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800203typedef 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 +0100204extern grpc_server_register_method_type grpc_server_register_method_import;
205#define grpc_server_register_method grpc_server_register_method_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800206typedef 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 +0100207extern grpc_server_request_registered_call_type grpc_server_request_registered_call_import;
208#define grpc_server_request_registered_call grpc_server_request_registered_call_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800209typedef grpc_server*(*grpc_server_create_type)(const grpc_channel_args* args, void* reserved);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100210extern grpc_server_create_type grpc_server_create_import;
211#define grpc_server_create grpc_server_create_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800212typedef void(*grpc_server_register_completion_queue_type)(grpc_server* server, grpc_completion_queue* cq, void* reserved);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100213extern grpc_server_register_completion_queue_type grpc_server_register_completion_queue_import;
214#define grpc_server_register_completion_queue grpc_server_register_completion_queue_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800215typedef int(*grpc_server_add_insecure_http2_port_type)(grpc_server* server, const char* addr);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100216extern grpc_server_add_insecure_http2_port_type grpc_server_add_insecure_http2_port_import;
217#define grpc_server_add_insecure_http2_port grpc_server_add_insecure_http2_port_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800218typedef void(*grpc_server_start_type)(grpc_server* server);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100219extern grpc_server_start_type grpc_server_start_import;
220#define grpc_server_start grpc_server_start_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800221typedef void(*grpc_server_shutdown_and_notify_type)(grpc_server* server, grpc_completion_queue* cq, void* tag);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100222extern grpc_server_shutdown_and_notify_type grpc_server_shutdown_and_notify_import;
223#define grpc_server_shutdown_and_notify grpc_server_shutdown_and_notify_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800224typedef void(*grpc_server_cancel_all_calls_type)(grpc_server* server);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100225extern grpc_server_cancel_all_calls_type grpc_server_cancel_all_calls_import;
226#define grpc_server_cancel_all_calls grpc_server_cancel_all_calls_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800227typedef void(*grpc_server_destroy_type)(grpc_server* server);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100228extern grpc_server_destroy_type grpc_server_destroy_import;
229#define grpc_server_destroy grpc_server_destroy_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800230typedef int(*grpc_tracer_set_enabled_type)(const char* name, int enabled);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100231extern grpc_tracer_set_enabled_type grpc_tracer_set_enabled_import;
232#define grpc_tracer_set_enabled grpc_tracer_set_enabled_import
Craig Tiller7c70b6c2017-01-23 07:48:42 -0800233typedef int(*grpc_header_key_is_legal_type)(grpc_slice slice);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100234extern grpc_header_key_is_legal_type grpc_header_key_is_legal_import;
235#define grpc_header_key_is_legal grpc_header_key_is_legal_import
Craig Tiller7c70b6c2017-01-23 07:48:42 -0800236typedef int(*grpc_header_nonbin_value_is_legal_type)(grpc_slice slice);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100237extern grpc_header_nonbin_value_is_legal_type grpc_header_nonbin_value_is_legal_import;
238#define grpc_header_nonbin_value_is_legal grpc_header_nonbin_value_is_legal_import
Craig Tiller7c70b6c2017-01-23 07:48:42 -0800239typedef int(*grpc_is_binary_header_type)(grpc_slice slice);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100240extern grpc_is_binary_header_type grpc_is_binary_header_import;
241#define grpc_is_binary_header grpc_is_binary_header_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800242typedef const char*(*grpc_call_error_to_string_type)(grpc_call_error error);
Yuchen Zeng2e7d9572016-04-15 17:29:57 -0700243extern grpc_call_error_to_string_type grpc_call_error_to_string_import;
244#define grpc_call_error_to_string grpc_call_error_to_string_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800245typedef grpc_resource_quota*(*grpc_resource_quota_create_type)(const char* trace_name);
Craig Tiller20afa3d2016-10-17 14:52:14 -0700246extern grpc_resource_quota_create_type grpc_resource_quota_create_import;
247#define grpc_resource_quota_create grpc_resource_quota_create_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800248typedef void(*grpc_resource_quota_ref_type)(grpc_resource_quota* resource_quota);
Craig Tiller20afa3d2016-10-17 14:52:14 -0700249extern grpc_resource_quota_ref_type grpc_resource_quota_ref_import;
250#define grpc_resource_quota_ref grpc_resource_quota_ref_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800251typedef void(*grpc_resource_quota_unref_type)(grpc_resource_quota* resource_quota);
Craig Tiller20afa3d2016-10-17 14:52:14 -0700252extern grpc_resource_quota_unref_type grpc_resource_quota_unref_import;
253#define grpc_resource_quota_unref grpc_resource_quota_unref_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800254typedef void(*grpc_resource_quota_resize_type)(grpc_resource_quota* resource_quota, size_t new_size);
Craig Tiller20afa3d2016-10-17 14:52:14 -0700255extern grpc_resource_quota_resize_type grpc_resource_quota_resize_import;
256#define grpc_resource_quota_resize grpc_resource_quota_resize_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800257typedef const grpc_arg_pointer_vtable*(*grpc_resource_quota_arg_vtable_type)(void);
Craig Tiller20afa3d2016-10-17 14:52:14 -0700258extern grpc_resource_quota_arg_vtable_type grpc_resource_quota_arg_vtable_import;
259#define grpc_resource_quota_arg_vtable grpc_resource_quota_arg_vtable_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800260typedef 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 -0700261extern grpc_insecure_channel_create_from_fd_type grpc_insecure_channel_create_from_fd_import;
262#define grpc_insecure_channel_create_from_fd grpc_insecure_channel_create_from_fd_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800263typedef void(*grpc_server_add_insecure_channel_from_fd_type)(grpc_server* server, void* reserved, int fd);
Adam Michalikbf10c822016-05-20 16:13:32 -0700264extern grpc_server_add_insecure_channel_from_fd_type grpc_server_add_insecure_channel_from_fd_import;
265#define grpc_server_add_insecure_channel_from_fd grpc_server_add_insecure_channel_from_fd_import
Sree Kuchibhotla492fd962016-06-10 09:03:34 -0700266typedef void(*grpc_use_signal_type)(int signum);
267extern grpc_use_signal_type grpc_use_signal_import;
268#define grpc_use_signal grpc_use_signal_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800269typedef const grpc_auth_property*(*grpc_auth_property_iterator_next_type)(grpc_auth_property_iterator* it);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100270extern grpc_auth_property_iterator_next_type grpc_auth_property_iterator_next_import;
271#define grpc_auth_property_iterator_next grpc_auth_property_iterator_next_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800272typedef grpc_auth_property_iterator(*grpc_auth_context_property_iterator_type)(const grpc_auth_context* ctx);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100273extern grpc_auth_context_property_iterator_type grpc_auth_context_property_iterator_import;
274#define grpc_auth_context_property_iterator grpc_auth_context_property_iterator_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800275typedef grpc_auth_property_iterator(*grpc_auth_context_peer_identity_type)(const grpc_auth_context* ctx);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100276extern grpc_auth_context_peer_identity_type grpc_auth_context_peer_identity_import;
277#define grpc_auth_context_peer_identity grpc_auth_context_peer_identity_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800278typedef 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 +0100279extern grpc_auth_context_find_properties_by_name_type grpc_auth_context_find_properties_by_name_import;
280#define grpc_auth_context_find_properties_by_name grpc_auth_context_find_properties_by_name_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800281typedef const char*(*grpc_auth_context_peer_identity_property_name_type)(const grpc_auth_context* ctx);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100282extern grpc_auth_context_peer_identity_property_name_type grpc_auth_context_peer_identity_property_name_import;
283#define grpc_auth_context_peer_identity_property_name grpc_auth_context_peer_identity_property_name_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800284typedef int(*grpc_auth_context_peer_is_authenticated_type)(const grpc_auth_context* ctx);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100285extern grpc_auth_context_peer_is_authenticated_type grpc_auth_context_peer_is_authenticated_import;
286#define grpc_auth_context_peer_is_authenticated grpc_auth_context_peer_is_authenticated_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800287typedef grpc_auth_context*(*grpc_call_auth_context_type)(grpc_call* call);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100288extern grpc_call_auth_context_type grpc_call_auth_context_import;
289#define grpc_call_auth_context grpc_call_auth_context_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800290typedef void(*grpc_auth_context_release_type)(grpc_auth_context* context);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100291extern grpc_auth_context_release_type grpc_auth_context_release_import;
292#define grpc_auth_context_release grpc_auth_context_release_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800293typedef 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 +0100294extern grpc_auth_context_add_property_type grpc_auth_context_add_property_import;
295#define grpc_auth_context_add_property grpc_auth_context_add_property_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800296typedef 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 +0100297extern grpc_auth_context_add_cstring_property_type grpc_auth_context_add_cstring_property_import;
298#define grpc_auth_context_add_cstring_property grpc_auth_context_add_cstring_property_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800299typedef 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 +0100300extern grpc_auth_context_set_peer_identity_property_name_type grpc_auth_context_set_peer_identity_property_name_import;
301#define grpc_auth_context_set_peer_identity_property_name grpc_auth_context_set_peer_identity_property_name_import
Ruslan Nigmatullin99d0cee2018-03-20 09:18:29 -0700302typedef grpc_ssl_session_cache*(*grpc_ssl_session_cache_create_lru_type)(size_t capacity);
303extern grpc_ssl_session_cache_create_lru_type grpc_ssl_session_cache_create_lru_import;
304#define grpc_ssl_session_cache_create_lru grpc_ssl_session_cache_create_lru_import
305typedef void(*grpc_ssl_session_cache_destroy_type)(grpc_ssl_session_cache* cache);
306extern grpc_ssl_session_cache_destroy_type grpc_ssl_session_cache_destroy_import;
307#define grpc_ssl_session_cache_destroy grpc_ssl_session_cache_destroy_import
308typedef grpc_arg(*grpc_ssl_session_cache_create_channel_arg_type)(grpc_ssl_session_cache* cache);
309extern grpc_ssl_session_cache_create_channel_arg_type grpc_ssl_session_cache_create_channel_arg_import;
310#define grpc_ssl_session_cache_create_channel_arg grpc_ssl_session_cache_create_channel_arg_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800311typedef void(*grpc_channel_credentials_release_type)(grpc_channel_credentials* creds);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100312extern grpc_channel_credentials_release_type grpc_channel_credentials_release_import;
313#define grpc_channel_credentials_release grpc_channel_credentials_release_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800314typedef grpc_channel_credentials*(*grpc_google_default_credentials_create_type)(void);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100315extern grpc_google_default_credentials_create_type grpc_google_default_credentials_create_import;
316#define grpc_google_default_credentials_create grpc_google_default_credentials_create_import
Nicolas "Pixel" Noble63976602016-02-17 23:43:55 +0100317typedef void(*grpc_set_ssl_roots_override_callback_type)(grpc_ssl_roots_override_callback cb);
318extern grpc_set_ssl_roots_override_callback_type grpc_set_ssl_roots_override_callback_import;
319#define grpc_set_ssl_roots_override_callback grpc_set_ssl_roots_override_callback_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800320typedef 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 +0100321extern grpc_ssl_credentials_create_type grpc_ssl_credentials_create_import;
322#define grpc_ssl_credentials_create grpc_ssl_credentials_create_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800323typedef void(*grpc_call_credentials_release_type)(grpc_call_credentials* creds);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100324extern grpc_call_credentials_release_type grpc_call_credentials_release_import;
325#define grpc_call_credentials_release grpc_call_credentials_release_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800326typedef 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 +0100327extern grpc_composite_channel_credentials_create_type grpc_composite_channel_credentials_create_import;
328#define grpc_composite_channel_credentials_create grpc_composite_channel_credentials_create_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800329typedef 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 +0100330extern grpc_composite_call_credentials_create_type grpc_composite_call_credentials_create_import;
331#define grpc_composite_call_credentials_create grpc_composite_call_credentials_create_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800332typedef grpc_call_credentials*(*grpc_google_compute_engine_credentials_create_type)(void* reserved);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100333extern grpc_google_compute_engine_credentials_create_type grpc_google_compute_engine_credentials_create_import;
334#define grpc_google_compute_engine_credentials_create grpc_google_compute_engine_credentials_create_import
Muxi Yanfba96772017-11-27 14:39:28 -0800335typedef gpr_timespec(*grpc_max_auth_token_lifetime_type)(void);
Nicolas "Pixel" Nobled2f20ef2016-01-31 07:52:59 +0100336extern grpc_max_auth_token_lifetime_type grpc_max_auth_token_lifetime_import;
337#define grpc_max_auth_token_lifetime grpc_max_auth_token_lifetime_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800338typedef 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 +0100339extern grpc_service_account_jwt_access_credentials_create_type grpc_service_account_jwt_access_credentials_create_import;
340#define grpc_service_account_jwt_access_credentials_create grpc_service_account_jwt_access_credentials_create_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800341typedef 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 +0100342extern grpc_google_refresh_token_credentials_create_type grpc_google_refresh_token_credentials_create_import;
343#define grpc_google_refresh_token_credentials_create grpc_google_refresh_token_credentials_create_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800344typedef grpc_call_credentials*(*grpc_access_token_credentials_create_type)(const char* access_token, void* reserved);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100345extern grpc_access_token_credentials_create_type grpc_access_token_credentials_create_import;
346#define grpc_access_token_credentials_create grpc_access_token_credentials_create_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800347typedef 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 +0100348extern grpc_google_iam_credentials_create_type grpc_google_iam_credentials_create_import;
349#define grpc_google_iam_credentials_create grpc_google_iam_credentials_create_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800350typedef 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 +0100351extern grpc_metadata_credentials_create_from_plugin_type grpc_metadata_credentials_create_from_plugin_import;
352#define grpc_metadata_credentials_create_from_plugin grpc_metadata_credentials_create_from_plugin_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800353typedef 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 +0100354extern grpc_secure_channel_create_type grpc_secure_channel_create_import;
355#define grpc_secure_channel_create grpc_secure_channel_create_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800356typedef void(*grpc_server_credentials_release_type)(grpc_server_credentials* creds);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100357extern grpc_server_credentials_release_type grpc_server_credentials_release_import;
358#define grpc_server_credentials_release grpc_server_credentials_release_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800359typedef 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 -0700360extern grpc_ssl_server_certificate_config_create_type grpc_ssl_server_certificate_config_create_import;
361#define grpc_ssl_server_certificate_config_create grpc_ssl_server_certificate_config_create_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800362typedef void(*grpc_ssl_server_certificate_config_destroy_type)(grpc_ssl_server_certificate_config* config);
Justin Burkec1d354d2017-09-19 15:06:01 -0700363extern grpc_ssl_server_certificate_config_destroy_type grpc_ssl_server_certificate_config_destroy_import;
364#define grpc_ssl_server_certificate_config_destroy grpc_ssl_server_certificate_config_destroy_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800365typedef 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 +0100366extern grpc_ssl_server_credentials_create_type grpc_ssl_server_credentials_create_import;
367#define grpc_ssl_server_credentials_create grpc_ssl_server_credentials_create_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800368typedef 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 -0700369extern grpc_ssl_server_credentials_create_ex_type grpc_ssl_server_credentials_create_ex_import;
370#define grpc_ssl_server_credentials_create_ex grpc_ssl_server_credentials_create_ex_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800371typedef 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 -0700372extern grpc_ssl_server_credentials_create_options_using_config_type grpc_ssl_server_credentials_create_options_using_config_import;
373#define grpc_ssl_server_credentials_create_options_using_config grpc_ssl_server_credentials_create_options_using_config_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800374typedef 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 -0700375extern grpc_ssl_server_credentials_create_options_using_config_fetcher_type grpc_ssl_server_credentials_create_options_using_config_fetcher_import;
376#define grpc_ssl_server_credentials_create_options_using_config_fetcher grpc_ssl_server_credentials_create_options_using_config_fetcher_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800377typedef void(*grpc_ssl_server_credentials_options_destroy_type)(grpc_ssl_server_credentials_options* options);
Justin Burkec1d354d2017-09-19 15:06:01 -0700378extern grpc_ssl_server_credentials_options_destroy_type grpc_ssl_server_credentials_options_destroy_import;
379#define grpc_ssl_server_credentials_options_destroy grpc_ssl_server_credentials_options_destroy_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800380typedef grpc_server_credentials*(*grpc_ssl_server_credentials_create_with_options_type)(grpc_ssl_server_credentials_options* options);
Justin Burkec1d354d2017-09-19 15:06:01 -0700381extern grpc_ssl_server_credentials_create_with_options_type grpc_ssl_server_credentials_create_with_options_import;
382#define grpc_ssl_server_credentials_create_with_options grpc_ssl_server_credentials_create_with_options_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800383typedef 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 +0100384extern grpc_server_add_secure_http2_port_type grpc_server_add_secure_http2_port_import;
385#define grpc_server_add_secure_http2_port grpc_server_add_secure_http2_port_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800386typedef grpc_call_error(*grpc_call_set_credentials_type)(grpc_call* call, grpc_call_credentials* creds);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100387extern grpc_call_set_credentials_type grpc_call_set_credentials_import;
388#define grpc_call_set_credentials grpc_call_set_credentials_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800389typedef 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 +0100390extern grpc_server_credentials_set_auth_metadata_processor_type grpc_server_credentials_set_auth_metadata_processor_import;
391#define grpc_server_credentials_set_auth_metadata_processor grpc_server_credentials_set_auth_metadata_processor_import
Yihua Zhangfe2fa0c2018-04-16 15:11:32 -0700392typedef grpc_alts_credentials_options*(*grpc_alts_credentials_client_options_create_type)();
393extern grpc_alts_credentials_client_options_create_type grpc_alts_credentials_client_options_create_import;
394#define grpc_alts_credentials_client_options_create grpc_alts_credentials_client_options_create_import
395typedef grpc_alts_credentials_options*(*grpc_alts_credentials_server_options_create_type)();
396extern grpc_alts_credentials_server_options_create_type grpc_alts_credentials_server_options_create_import;
397#define grpc_alts_credentials_server_options_create grpc_alts_credentials_server_options_create_import
398typedef void(*grpc_alts_credentials_client_options_add_target_service_account_type)(grpc_alts_credentials_options* options, const char* service_account);
399extern grpc_alts_credentials_client_options_add_target_service_account_type grpc_alts_credentials_client_options_add_target_service_account_import;
400#define grpc_alts_credentials_client_options_add_target_service_account grpc_alts_credentials_client_options_add_target_service_account_import
401typedef void(*grpc_alts_credentials_options_destroy_type)(grpc_alts_credentials_options* options);
402extern grpc_alts_credentials_options_destroy_type grpc_alts_credentials_options_destroy_import;
403#define grpc_alts_credentials_options_destroy grpc_alts_credentials_options_destroy_import
404typedef grpc_channel_credentials*(*grpc_alts_credentials_create_type)(const grpc_alts_credentials_options* options);
405extern grpc_alts_credentials_create_type grpc_alts_credentials_create_import;
406#define grpc_alts_credentials_create grpc_alts_credentials_create_import
407typedef grpc_server_credentials*(*grpc_alts_server_credentials_create_type)(const grpc_alts_credentials_options* options);
408extern grpc_alts_server_credentials_create_type grpc_alts_server_credentials_create_import;
409#define grpc_alts_server_credentials_create grpc_alts_server_credentials_create_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800410typedef grpc_byte_buffer*(*grpc_raw_byte_buffer_create_type)(grpc_slice* slices, size_t nslices);
Vijay Paiefce6e12017-09-14 09:07:50 -0700411extern grpc_raw_byte_buffer_create_type grpc_raw_byte_buffer_create_import;
412#define grpc_raw_byte_buffer_create grpc_raw_byte_buffer_create_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800413typedef 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 -0700414extern grpc_raw_compressed_byte_buffer_create_type grpc_raw_compressed_byte_buffer_create_import;
415#define grpc_raw_compressed_byte_buffer_create grpc_raw_compressed_byte_buffer_create_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800416typedef grpc_byte_buffer*(*grpc_byte_buffer_copy_type)(grpc_byte_buffer* bb);
Vijay Paiefce6e12017-09-14 09:07:50 -0700417extern grpc_byte_buffer_copy_type grpc_byte_buffer_copy_import;
418#define grpc_byte_buffer_copy grpc_byte_buffer_copy_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800419typedef size_t(*grpc_byte_buffer_length_type)(grpc_byte_buffer* bb);
Vijay Paiefce6e12017-09-14 09:07:50 -0700420extern grpc_byte_buffer_length_type grpc_byte_buffer_length_import;
421#define grpc_byte_buffer_length grpc_byte_buffer_length_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800422typedef void(*grpc_byte_buffer_destroy_type)(grpc_byte_buffer* byte_buffer);
Vijay Paiefce6e12017-09-14 09:07:50 -0700423extern grpc_byte_buffer_destroy_type grpc_byte_buffer_destroy_import;
424#define grpc_byte_buffer_destroy grpc_byte_buffer_destroy_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800425typedef int(*grpc_byte_buffer_reader_init_type)(grpc_byte_buffer_reader* reader, grpc_byte_buffer* buffer);
Vijay Paiefce6e12017-09-14 09:07:50 -0700426extern grpc_byte_buffer_reader_init_type grpc_byte_buffer_reader_init_import;
427#define grpc_byte_buffer_reader_init grpc_byte_buffer_reader_init_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800428typedef void(*grpc_byte_buffer_reader_destroy_type)(grpc_byte_buffer_reader* reader);
Vijay Paiefce6e12017-09-14 09:07:50 -0700429extern grpc_byte_buffer_reader_destroy_type grpc_byte_buffer_reader_destroy_import;
430#define grpc_byte_buffer_reader_destroy grpc_byte_buffer_reader_destroy_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800431typedef int(*grpc_byte_buffer_reader_next_type)(grpc_byte_buffer_reader* reader, grpc_slice* slice);
Vijay Paiefce6e12017-09-14 09:07:50 -0700432extern grpc_byte_buffer_reader_next_type grpc_byte_buffer_reader_next_import;
433#define grpc_byte_buffer_reader_next grpc_byte_buffer_reader_next_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800434typedef grpc_slice(*grpc_byte_buffer_reader_readall_type)(grpc_byte_buffer_reader* reader);
Vijay Paiefce6e12017-09-14 09:07:50 -0700435extern grpc_byte_buffer_reader_readall_type grpc_byte_buffer_reader_readall_import;
436#define grpc_byte_buffer_reader_readall grpc_byte_buffer_reader_readall_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800437typedef grpc_byte_buffer*(*grpc_raw_byte_buffer_from_reader_type)(grpc_byte_buffer_reader* reader);
Vijay Paiefce6e12017-09-14 09:07:50 -0700438extern grpc_raw_byte_buffer_from_reader_type grpc_raw_byte_buffer_from_reader_import;
439#define grpc_raw_byte_buffer_from_reader grpc_raw_byte_buffer_from_reader_import
Craig Tillerc3350542016-10-26 16:19:01 -0700440typedef grpc_slice(*grpc_slice_ref_type)(grpc_slice s);
441extern grpc_slice_ref_type grpc_slice_ref_import;
442#define grpc_slice_ref grpc_slice_ref_import
443typedef void(*grpc_slice_unref_type)(grpc_slice s);
444extern grpc_slice_unref_type grpc_slice_unref_import;
445#define grpc_slice_unref grpc_slice_unref_import
Craig Tillerbb4046c2017-04-26 08:56:30 -0700446typedef grpc_slice(*grpc_slice_copy_type)(grpc_slice s);
447extern grpc_slice_copy_type grpc_slice_copy_import;
448#define grpc_slice_copy grpc_slice_copy_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800449typedef grpc_slice(*grpc_slice_new_type)(void* p, size_t len, void (*destroy)(void*));
Craig Tillerc3350542016-10-26 16:19:01 -0700450extern grpc_slice_new_type grpc_slice_new_import;
451#define grpc_slice_new grpc_slice_new_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800452typedef 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 -0700453extern grpc_slice_new_with_user_data_type grpc_slice_new_with_user_data_import;
454#define grpc_slice_new_with_user_data grpc_slice_new_with_user_data_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800455typedef 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 -0700456extern grpc_slice_new_with_len_type grpc_slice_new_with_len_import;
457#define grpc_slice_new_with_len grpc_slice_new_with_len_import
458typedef grpc_slice(*grpc_slice_malloc_type)(size_t length);
459extern grpc_slice_malloc_type grpc_slice_malloc_import;
460#define grpc_slice_malloc grpc_slice_malloc_import
Craig Tillerc39fbcf2017-04-17 08:20:25 -0700461typedef grpc_slice(*grpc_slice_malloc_large_type)(size_t length);
462extern grpc_slice_malloc_large_type grpc_slice_malloc_large_import;
463#define grpc_slice_malloc_large grpc_slice_malloc_large_import
Craig Tiller7c70b6c2017-01-23 07:48:42 -0800464typedef grpc_slice(*grpc_slice_intern_type)(grpc_slice slice);
465extern grpc_slice_intern_type grpc_slice_intern_import;
466#define grpc_slice_intern grpc_slice_intern_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800467typedef grpc_slice(*grpc_slice_from_copied_string_type)(const char* source);
Craig Tillerc3350542016-10-26 16:19:01 -0700468extern grpc_slice_from_copied_string_type grpc_slice_from_copied_string_import;
469#define grpc_slice_from_copied_string grpc_slice_from_copied_string_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800470typedef grpc_slice(*grpc_slice_from_copied_buffer_type)(const char* source, size_t len);
Craig Tillerc3350542016-10-26 16:19:01 -0700471extern grpc_slice_from_copied_buffer_type grpc_slice_from_copied_buffer_import;
472#define grpc_slice_from_copied_buffer grpc_slice_from_copied_buffer_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800473typedef grpc_slice(*grpc_slice_from_static_string_type)(const char* source);
Craig Tillerc3350542016-10-26 16:19:01 -0700474extern grpc_slice_from_static_string_type grpc_slice_from_static_string_import;
475#define grpc_slice_from_static_string grpc_slice_from_static_string_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800476typedef grpc_slice(*grpc_slice_from_static_buffer_type)(const void* source, size_t len);
Craig Tiller7c70b6c2017-01-23 07:48:42 -0800477extern grpc_slice_from_static_buffer_type grpc_slice_from_static_buffer_import;
478#define grpc_slice_from_static_buffer grpc_slice_from_static_buffer_import
Craig Tillerc3350542016-10-26 16:19:01 -0700479typedef grpc_slice(*grpc_slice_sub_type)(grpc_slice s, size_t begin, size_t end);
480extern grpc_slice_sub_type grpc_slice_sub_import;
481#define grpc_slice_sub grpc_slice_sub_import
482typedef grpc_slice(*grpc_slice_sub_no_ref_type)(grpc_slice s, size_t begin, size_t end);
483extern grpc_slice_sub_no_ref_type grpc_slice_sub_no_ref_import;
484#define grpc_slice_sub_no_ref grpc_slice_sub_no_ref_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800485typedef grpc_slice(*grpc_slice_split_tail_type)(grpc_slice* s, size_t split);
Craig Tillerc3350542016-10-26 16:19:01 -0700486extern grpc_slice_split_tail_type grpc_slice_split_tail_import;
487#define grpc_slice_split_tail grpc_slice_split_tail_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800488typedef 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 -0700489extern grpc_slice_split_tail_maybe_ref_type grpc_slice_split_tail_maybe_ref_import;
490#define grpc_slice_split_tail_maybe_ref grpc_slice_split_tail_maybe_ref_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800491typedef grpc_slice(*grpc_slice_split_head_type)(grpc_slice* s, size_t split);
Craig Tillerc3350542016-10-26 16:19:01 -0700492extern grpc_slice_split_head_type grpc_slice_split_head_import;
493#define grpc_slice_split_head grpc_slice_split_head_import
Craig Tiller7c70b6c2017-01-23 07:48:42 -0800494typedef grpc_slice(*grpc_empty_slice_type)(void);
495extern grpc_empty_slice_type grpc_empty_slice_import;
496#define grpc_empty_slice grpc_empty_slice_import
497typedef uint32_t(*grpc_slice_default_hash_impl_type)(grpc_slice s);
498extern grpc_slice_default_hash_impl_type grpc_slice_default_hash_impl_import;
499#define grpc_slice_default_hash_impl grpc_slice_default_hash_impl_import
500typedef int(*grpc_slice_default_eq_impl_type)(grpc_slice a, grpc_slice b);
501extern grpc_slice_default_eq_impl_type grpc_slice_default_eq_impl_import;
502#define grpc_slice_default_eq_impl grpc_slice_default_eq_impl_import
503typedef int(*grpc_slice_eq_type)(grpc_slice a, grpc_slice b);
504extern grpc_slice_eq_type grpc_slice_eq_import;
505#define grpc_slice_eq grpc_slice_eq_import
Craig Tillerc3350542016-10-26 16:19:01 -0700506typedef int(*grpc_slice_cmp_type)(grpc_slice a, grpc_slice b);
507extern grpc_slice_cmp_type grpc_slice_cmp_import;
508#define grpc_slice_cmp grpc_slice_cmp_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800509typedef int(*grpc_slice_str_cmp_type)(grpc_slice a, const char* b);
Craig Tillerc3350542016-10-26 16:19:01 -0700510extern grpc_slice_str_cmp_type grpc_slice_str_cmp_import;
511#define grpc_slice_str_cmp grpc_slice_str_cmp_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800512typedef int(*grpc_slice_buf_start_eq_type)(grpc_slice a, const void* b, size_t blen);
Craig Tiller7c70b6c2017-01-23 07:48:42 -0800513extern grpc_slice_buf_start_eq_type grpc_slice_buf_start_eq_import;
514#define grpc_slice_buf_start_eq grpc_slice_buf_start_eq_import
515typedef int(*grpc_slice_rchr_type)(grpc_slice s, char c);
516extern grpc_slice_rchr_type grpc_slice_rchr_import;
517#define grpc_slice_rchr grpc_slice_rchr_import
518typedef int(*grpc_slice_chr_type)(grpc_slice s, char c);
519extern grpc_slice_chr_type grpc_slice_chr_import;
520#define grpc_slice_chr grpc_slice_chr_import
521typedef int(*grpc_slice_slice_type)(grpc_slice haystack, grpc_slice needle);
522extern grpc_slice_slice_type grpc_slice_slice_import;
523#define grpc_slice_slice grpc_slice_slice_import
524typedef uint32_t(*grpc_slice_hash_type)(grpc_slice s);
525extern grpc_slice_hash_type grpc_slice_hash_import;
526#define grpc_slice_hash grpc_slice_hash_import
Craig Tillerc5866662016-11-16 15:25:00 -0800527typedef int(*grpc_slice_is_equivalent_type)(grpc_slice a, grpc_slice b);
528extern grpc_slice_is_equivalent_type grpc_slice_is_equivalent_import;
529#define grpc_slice_is_equivalent grpc_slice_is_equivalent_import
Craig Tiller7c70b6c2017-01-23 07:48:42 -0800530typedef grpc_slice(*grpc_slice_dup_type)(grpc_slice a);
531extern grpc_slice_dup_type grpc_slice_dup_import;
532#define grpc_slice_dup grpc_slice_dup_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800533typedef char*(*grpc_slice_to_c_string_type)(grpc_slice s);
Craig Tiller7c70b6c2017-01-23 07:48:42 -0800534extern grpc_slice_to_c_string_type grpc_slice_to_c_string_import;
535#define grpc_slice_to_c_string grpc_slice_to_c_string_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800536typedef void(*grpc_slice_buffer_init_type)(grpc_slice_buffer* sb);
Craig Tillerc3350542016-10-26 16:19:01 -0700537extern grpc_slice_buffer_init_type grpc_slice_buffer_init_import;
538#define grpc_slice_buffer_init grpc_slice_buffer_init_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800539typedef void(*grpc_slice_buffer_destroy_type)(grpc_slice_buffer* sb);
Craig Tillerc3350542016-10-26 16:19:01 -0700540extern grpc_slice_buffer_destroy_type grpc_slice_buffer_destroy_import;
541#define grpc_slice_buffer_destroy grpc_slice_buffer_destroy_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800542typedef void(*grpc_slice_buffer_add_type)(grpc_slice_buffer* sb, grpc_slice slice);
Craig Tillerc3350542016-10-26 16:19:01 -0700543extern grpc_slice_buffer_add_type grpc_slice_buffer_add_import;
544#define grpc_slice_buffer_add grpc_slice_buffer_add_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800545typedef size_t(*grpc_slice_buffer_add_indexed_type)(grpc_slice_buffer* sb, grpc_slice slice);
Craig Tillerc3350542016-10-26 16:19:01 -0700546extern grpc_slice_buffer_add_indexed_type grpc_slice_buffer_add_indexed_import;
547#define grpc_slice_buffer_add_indexed grpc_slice_buffer_add_indexed_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800548typedef void(*grpc_slice_buffer_addn_type)(grpc_slice_buffer* sb, grpc_slice* slices, size_t n);
Craig Tillerc3350542016-10-26 16:19:01 -0700549extern grpc_slice_buffer_addn_type grpc_slice_buffer_addn_import;
550#define grpc_slice_buffer_addn grpc_slice_buffer_addn_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800551typedef uint8_t*(*grpc_slice_buffer_tiny_add_type)(grpc_slice_buffer* sb, size_t len);
Craig Tillerc3350542016-10-26 16:19:01 -0700552extern grpc_slice_buffer_tiny_add_type grpc_slice_buffer_tiny_add_import;
553#define grpc_slice_buffer_tiny_add grpc_slice_buffer_tiny_add_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800554typedef void(*grpc_slice_buffer_pop_type)(grpc_slice_buffer* sb);
Craig Tillerc3350542016-10-26 16:19:01 -0700555extern grpc_slice_buffer_pop_type grpc_slice_buffer_pop_import;
556#define grpc_slice_buffer_pop grpc_slice_buffer_pop_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800557typedef void(*grpc_slice_buffer_reset_and_unref_type)(grpc_slice_buffer* sb);
Craig Tillerc3350542016-10-26 16:19:01 -0700558extern grpc_slice_buffer_reset_and_unref_type grpc_slice_buffer_reset_and_unref_import;
559#define grpc_slice_buffer_reset_and_unref grpc_slice_buffer_reset_and_unref_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800560typedef void(*grpc_slice_buffer_swap_type)(grpc_slice_buffer* a, grpc_slice_buffer* b);
Craig Tillerc3350542016-10-26 16:19:01 -0700561extern grpc_slice_buffer_swap_type grpc_slice_buffer_swap_import;
562#define grpc_slice_buffer_swap grpc_slice_buffer_swap_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800563typedef void(*grpc_slice_buffer_move_into_type)(grpc_slice_buffer* src, grpc_slice_buffer* dst);
Craig Tillerc3350542016-10-26 16:19:01 -0700564extern grpc_slice_buffer_move_into_type grpc_slice_buffer_move_into_import;
565#define grpc_slice_buffer_move_into grpc_slice_buffer_move_into_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800566typedef 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 -0700567extern grpc_slice_buffer_trim_end_type grpc_slice_buffer_trim_end_import;
568#define grpc_slice_buffer_trim_end grpc_slice_buffer_trim_end_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800569typedef 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 -0700570extern grpc_slice_buffer_move_first_type grpc_slice_buffer_move_first_import;
571#define grpc_slice_buffer_move_first grpc_slice_buffer_move_first_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800572typedef 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 -0700573extern grpc_slice_buffer_move_first_no_ref_type grpc_slice_buffer_move_first_no_ref_import;
574#define grpc_slice_buffer_move_first_no_ref grpc_slice_buffer_move_first_no_ref_import
Yash Tibrewal8cf14702017-12-06 09:47:54 -0800575typedef void(*grpc_slice_buffer_move_first_into_buffer_type)(grpc_slice_buffer* src, size_t n, void* dst);
Craig Tiller0cf6a712017-01-20 14:07:05 -0800576extern grpc_slice_buffer_move_first_into_buffer_type grpc_slice_buffer_move_first_into_buffer_import;
577#define grpc_slice_buffer_move_first_into_buffer grpc_slice_buffer_move_first_into_buffer_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800578typedef grpc_slice(*grpc_slice_buffer_take_first_type)(grpc_slice_buffer* src);
Craig Tillerc3350542016-10-26 16:19:01 -0700579extern grpc_slice_buffer_take_first_type grpc_slice_buffer_take_first_import;
580#define grpc_slice_buffer_take_first grpc_slice_buffer_take_first_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800581typedef void(*grpc_slice_buffer_undo_take_first_type)(grpc_slice_buffer* src, grpc_slice slice);
Craig Tiller0cf6a712017-01-20 14:07:05 -0800582extern grpc_slice_buffer_undo_take_first_type grpc_slice_buffer_undo_take_first_import;
583#define grpc_slice_buffer_undo_take_first grpc_slice_buffer_undo_take_first_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800584typedef void*(*gpr_malloc_type)(size_t size);
David Garcia Quintas3b31fdf2016-07-27 18:17:12 -0700585extern gpr_malloc_type gpr_malloc_import;
586#define gpr_malloc gpr_malloc_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800587typedef void*(*gpr_zalloc_type)(size_t size);
Craig Tillerff714492017-02-17 09:02:18 -0800588extern gpr_zalloc_type gpr_zalloc_import;
589#define gpr_zalloc gpr_zalloc_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800590typedef void(*gpr_free_type)(void* ptr);
David Garcia Quintas3b31fdf2016-07-27 18:17:12 -0700591extern gpr_free_type gpr_free_import;
592#define gpr_free gpr_free_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800593typedef void*(*gpr_realloc_type)(void* p, size_t size);
David Garcia Quintas3b31fdf2016-07-27 18:17:12 -0700594extern gpr_realloc_type gpr_realloc_import;
595#define gpr_realloc gpr_realloc_import
Mark D. Roth62569dd2018-01-22 12:51:03 -0800596typedef void*(*gpr_malloc_aligned_type)(size_t size, size_t alignment);
David Garcia Quintas3b31fdf2016-07-27 18:17:12 -0700597extern gpr_malloc_aligned_type gpr_malloc_aligned_import;
598#define gpr_malloc_aligned gpr_malloc_aligned_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800599typedef void(*gpr_free_aligned_type)(void* ptr);
David Garcia Quintas3b31fdf2016-07-27 18:17:12 -0700600extern gpr_free_aligned_type gpr_free_aligned_import;
601#define gpr_free_aligned gpr_free_aligned_import
602typedef void(*gpr_set_allocation_functions_type)(gpr_allocation_functions functions);
603extern gpr_set_allocation_functions_type gpr_set_allocation_functions_import;
604#define gpr_set_allocation_functions gpr_set_allocation_functions_import
Muxi Yanfba96772017-11-27 14:39:28 -0800605typedef gpr_allocation_functions(*gpr_get_allocation_functions_type)(void);
David Garcia Quintas3b31fdf2016-07-27 18:17:12 -0700606extern gpr_get_allocation_functions_type gpr_get_allocation_functions_import;
607#define gpr_get_allocation_functions gpr_get_allocation_functions_import
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100608typedef unsigned(*gpr_cpu_num_cores_type)(void);
609extern gpr_cpu_num_cores_type gpr_cpu_num_cores_import;
610#define gpr_cpu_num_cores gpr_cpu_num_cores_import
611typedef unsigned(*gpr_cpu_current_cpu_type)(void);
612extern gpr_cpu_current_cpu_type gpr_cpu_current_cpu_import;
613#define gpr_cpu_current_cpu gpr_cpu_current_cpu_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800614typedef const char*(*gpr_log_severity_string_type)(gpr_log_severity severity);
Craig Tillercc919832017-05-23 13:35:55 -0700615extern gpr_log_severity_string_type gpr_log_severity_string_import;
616#define gpr_log_severity_string gpr_log_severity_string_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800617typedef 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 -0700618extern gpr_log_type gpr_log_import;
619#define gpr_log gpr_log_import
Jan Tattermusch3095e352018-04-05 09:41:03 +0200620typedef int(*gpr_should_log_type)(gpr_log_severity severity);
621extern gpr_should_log_type gpr_should_log_import;
622#define gpr_should_log gpr_should_log_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800623typedef 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 -0700624extern gpr_log_message_type gpr_log_message_import;
625#define gpr_log_message gpr_log_message_import
626typedef void(*gpr_set_log_verbosity_type)(gpr_log_severity min_severity_to_print);
627extern gpr_set_log_verbosity_type gpr_set_log_verbosity_import;
628#define gpr_set_log_verbosity gpr_set_log_verbosity_import
Muxi Yanfba96772017-11-27 14:39:28 -0800629typedef void(*gpr_log_verbosity_init_type)(void);
David Garcia Quintasc79b0652016-07-27 21:11:58 -0700630extern gpr_log_verbosity_init_type gpr_log_verbosity_init_import;
631#define gpr_log_verbosity_init gpr_log_verbosity_init_import
632typedef void(*gpr_set_log_function_type)(gpr_log_func func);
633extern gpr_set_log_function_type gpr_set_log_function_import;
634#define gpr_set_log_function gpr_set_log_function_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800635typedef char*(*gpr_format_message_type)(int messageid);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100636extern gpr_format_message_type gpr_format_message_import;
637#define gpr_format_message gpr_format_message_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800638typedef char*(*gpr_strdup_type)(const char* src);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100639extern gpr_strdup_type gpr_strdup_import;
640#define gpr_strdup gpr_strdup_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800641typedef int(*gpr_asprintf_type)(char** strp, const char* format, ...) GPR_PRINT_FORMAT_CHECK(2, 3);
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100642extern gpr_asprintf_type gpr_asprintf_import;
643#define gpr_asprintf gpr_asprintf_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800644typedef void(*gpr_mu_init_type)(gpr_mu* mu);
David Garcia Quintas2ee99f42016-08-01 19:15:31 -0700645extern gpr_mu_init_type gpr_mu_init_import;
646#define gpr_mu_init gpr_mu_init_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800647typedef void(*gpr_mu_destroy_type)(gpr_mu* mu);
David Garcia Quintas2ee99f42016-08-01 19:15:31 -0700648extern gpr_mu_destroy_type gpr_mu_destroy_import;
649#define gpr_mu_destroy gpr_mu_destroy_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800650typedef void(*gpr_mu_lock_type)(gpr_mu* mu);
David Garcia Quintas2ee99f42016-08-01 19:15:31 -0700651extern gpr_mu_lock_type gpr_mu_lock_import;
652#define gpr_mu_lock gpr_mu_lock_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800653typedef void(*gpr_mu_unlock_type)(gpr_mu* mu);
David Garcia Quintas2ee99f42016-08-01 19:15:31 -0700654extern gpr_mu_unlock_type gpr_mu_unlock_import;
655#define gpr_mu_unlock gpr_mu_unlock_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800656typedef int(*gpr_mu_trylock_type)(gpr_mu* mu);
David Garcia Quintas2ee99f42016-08-01 19:15:31 -0700657extern gpr_mu_trylock_type gpr_mu_trylock_import;
658#define gpr_mu_trylock gpr_mu_trylock_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800659typedef void(*gpr_cv_init_type)(gpr_cv* cv);
David Garcia Quintas2ee99f42016-08-01 19:15:31 -0700660extern gpr_cv_init_type gpr_cv_init_import;
661#define gpr_cv_init gpr_cv_init_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800662typedef void(*gpr_cv_destroy_type)(gpr_cv* cv);
David Garcia Quintas2ee99f42016-08-01 19:15:31 -0700663extern gpr_cv_destroy_type gpr_cv_destroy_import;
664#define gpr_cv_destroy gpr_cv_destroy_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800665typedef int(*gpr_cv_wait_type)(gpr_cv* cv, gpr_mu* mu, gpr_timespec abs_deadline);
David Garcia Quintas2ee99f42016-08-01 19:15:31 -0700666extern gpr_cv_wait_type gpr_cv_wait_import;
667#define gpr_cv_wait gpr_cv_wait_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800668typedef void(*gpr_cv_signal_type)(gpr_cv* cv);
David Garcia Quintas2ee99f42016-08-01 19:15:31 -0700669extern gpr_cv_signal_type gpr_cv_signal_import;
670#define gpr_cv_signal gpr_cv_signal_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800671typedef void(*gpr_cv_broadcast_type)(gpr_cv* cv);
David Garcia Quintas2ee99f42016-08-01 19:15:31 -0700672extern gpr_cv_broadcast_type gpr_cv_broadcast_import;
673#define gpr_cv_broadcast gpr_cv_broadcast_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800674typedef void(*gpr_once_init_type)(gpr_once* once, void (*init_routine)(void));
David Garcia Quintas2ee99f42016-08-01 19:15:31 -0700675extern gpr_once_init_type gpr_once_init_import;
676#define gpr_once_init gpr_once_init_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800677typedef void(*gpr_event_init_type)(gpr_event* ev);
David Garcia Quintas2ee99f42016-08-01 19:15:31 -0700678extern gpr_event_init_type gpr_event_init_import;
679#define gpr_event_init gpr_event_init_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800680typedef void(*gpr_event_set_type)(gpr_event* ev, void* value);
David Garcia Quintas2ee99f42016-08-01 19:15:31 -0700681extern gpr_event_set_type gpr_event_set_import;
682#define gpr_event_set gpr_event_set_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800683typedef void*(*gpr_event_get_type)(gpr_event* ev);
David Garcia Quintas2ee99f42016-08-01 19:15:31 -0700684extern gpr_event_get_type gpr_event_get_import;
685#define gpr_event_get gpr_event_get_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800686typedef void*(*gpr_event_wait_type)(gpr_event* ev, gpr_timespec abs_deadline);
David Garcia Quintas2ee99f42016-08-01 19:15:31 -0700687extern gpr_event_wait_type gpr_event_wait_import;
688#define gpr_event_wait gpr_event_wait_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800689typedef void(*gpr_ref_init_type)(gpr_refcount* r, int n);
David Garcia Quintas2ee99f42016-08-01 19:15:31 -0700690extern gpr_ref_init_type gpr_ref_init_import;
691#define gpr_ref_init gpr_ref_init_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800692typedef void(*gpr_ref_type)(gpr_refcount* r);
David Garcia Quintas2ee99f42016-08-01 19:15:31 -0700693extern gpr_ref_type gpr_ref_import;
694#define gpr_ref gpr_ref_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800695typedef void(*gpr_ref_non_zero_type)(gpr_refcount* r);
David Garcia Quintas2ee99f42016-08-01 19:15:31 -0700696extern gpr_ref_non_zero_type gpr_ref_non_zero_import;
697#define gpr_ref_non_zero gpr_ref_non_zero_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800698typedef void(*gpr_refn_type)(gpr_refcount* r, int n);
David Garcia Quintas2ee99f42016-08-01 19:15:31 -0700699extern gpr_refn_type gpr_refn_import;
700#define gpr_refn gpr_refn_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800701typedef int(*gpr_unref_type)(gpr_refcount* r);
David Garcia Quintas2ee99f42016-08-01 19:15:31 -0700702extern gpr_unref_type gpr_unref_import;
703#define gpr_unref gpr_unref_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800704typedef int(*gpr_ref_is_unique_type)(gpr_refcount* r);
ncteisen3da3ce32017-02-17 09:51:25 -0800705extern gpr_ref_is_unique_type gpr_ref_is_unique_import;
706#define gpr_ref_is_unique gpr_ref_is_unique_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800707typedef void(*gpr_stats_init_type)(gpr_stats_counter* c, intptr_t n);
David Garcia Quintas2ee99f42016-08-01 19:15:31 -0700708extern gpr_stats_init_type gpr_stats_init_import;
709#define gpr_stats_init gpr_stats_init_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800710typedef void(*gpr_stats_inc_type)(gpr_stats_counter* c, intptr_t inc);
David Garcia Quintas2ee99f42016-08-01 19:15:31 -0700711extern gpr_stats_inc_type gpr_stats_inc_import;
712#define gpr_stats_inc gpr_stats_inc_import
Muxi Yan38fcd0c2017-12-06 18:52:18 -0800713typedef intptr_t(*gpr_stats_read_type)(const gpr_stats_counter* c);
David Garcia Quintas2ee99f42016-08-01 19:15:31 -0700714extern gpr_stats_read_type gpr_stats_read_import;
715#define gpr_stats_read gpr_stats_read_import
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100716typedef gpr_thd_id(*gpr_thd_currentid_type)(void);
717extern gpr_thd_currentid_type gpr_thd_currentid_import;
718#define gpr_thd_currentid gpr_thd_currentid_import
David Garcia Quintas1399e462016-07-27 20:31:55 -0700719typedef gpr_timespec(*gpr_time_0_type)(gpr_clock_type type);
720extern gpr_time_0_type gpr_time_0_import;
721#define gpr_time_0 gpr_time_0_import
722typedef gpr_timespec(*gpr_inf_future_type)(gpr_clock_type type);
723extern gpr_inf_future_type gpr_inf_future_import;
724#define gpr_inf_future gpr_inf_future_import
725typedef gpr_timespec(*gpr_inf_past_type)(gpr_clock_type type);
726extern gpr_inf_past_type gpr_inf_past_import;
727#define gpr_inf_past gpr_inf_past_import
728typedef void(*gpr_time_init_type)(void);
729extern gpr_time_init_type gpr_time_init_import;
730#define gpr_time_init gpr_time_init_import
731typedef gpr_timespec(*gpr_now_type)(gpr_clock_type clock);
732extern gpr_now_type gpr_now_import;
733#define gpr_now gpr_now_import
734typedef gpr_timespec(*gpr_convert_clock_type_type)(gpr_timespec t, gpr_clock_type target_clock);
735extern gpr_convert_clock_type_type gpr_convert_clock_type_import;
736#define gpr_convert_clock_type gpr_convert_clock_type_import
737typedef int(*gpr_time_cmp_type)(gpr_timespec a, gpr_timespec b);
738extern gpr_time_cmp_type gpr_time_cmp_import;
739#define gpr_time_cmp gpr_time_cmp_import
740typedef gpr_timespec(*gpr_time_max_type)(gpr_timespec a, gpr_timespec b);
741extern gpr_time_max_type gpr_time_max_import;
742#define gpr_time_max gpr_time_max_import
743typedef gpr_timespec(*gpr_time_min_type)(gpr_timespec a, gpr_timespec b);
744extern gpr_time_min_type gpr_time_min_import;
745#define gpr_time_min gpr_time_min_import
746typedef gpr_timespec(*gpr_time_add_type)(gpr_timespec a, gpr_timespec b);
747extern gpr_time_add_type gpr_time_add_import;
748#define gpr_time_add gpr_time_add_import
749typedef gpr_timespec(*gpr_time_sub_type)(gpr_timespec a, gpr_timespec b);
750extern gpr_time_sub_type gpr_time_sub_import;
751#define gpr_time_sub gpr_time_sub_import
752typedef gpr_timespec(*gpr_time_from_micros_type)(int64_t x, gpr_clock_type clock_type);
753extern gpr_time_from_micros_type gpr_time_from_micros_import;
754#define gpr_time_from_micros gpr_time_from_micros_import
755typedef gpr_timespec(*gpr_time_from_nanos_type)(int64_t x, gpr_clock_type clock_type);
756extern gpr_time_from_nanos_type gpr_time_from_nanos_import;
757#define gpr_time_from_nanos gpr_time_from_nanos_import
758typedef gpr_timespec(*gpr_time_from_millis_type)(int64_t x, gpr_clock_type clock_type);
759extern gpr_time_from_millis_type gpr_time_from_millis_import;
760#define gpr_time_from_millis gpr_time_from_millis_import
761typedef gpr_timespec(*gpr_time_from_seconds_type)(int64_t x, gpr_clock_type clock_type);
762extern gpr_time_from_seconds_type gpr_time_from_seconds_import;
763#define gpr_time_from_seconds gpr_time_from_seconds_import
764typedef gpr_timespec(*gpr_time_from_minutes_type)(int64_t x, gpr_clock_type clock_type);
765extern gpr_time_from_minutes_type gpr_time_from_minutes_import;
766#define gpr_time_from_minutes gpr_time_from_minutes_import
767typedef gpr_timespec(*gpr_time_from_hours_type)(int64_t x, gpr_clock_type clock_type);
768extern gpr_time_from_hours_type gpr_time_from_hours_import;
769#define gpr_time_from_hours gpr_time_from_hours_import
770typedef int32_t(*gpr_time_to_millis_type)(gpr_timespec timespec);
771extern gpr_time_to_millis_type gpr_time_to_millis_import;
772#define gpr_time_to_millis gpr_time_to_millis_import
773typedef int(*gpr_time_similar_type)(gpr_timespec a, gpr_timespec b, gpr_timespec threshold);
774extern gpr_time_similar_type gpr_time_similar_import;
775#define gpr_time_similar gpr_time_similar_import
776typedef void(*gpr_sleep_until_type)(gpr_timespec until);
777extern gpr_sleep_until_type gpr_sleep_until_import;
778#define gpr_sleep_until gpr_sleep_until_import
779typedef double(*gpr_timespec_to_micros_type)(gpr_timespec t);
780extern gpr_timespec_to_micros_type gpr_timespec_to_micros_import;
781#define gpr_timespec_to_micros gpr_timespec_to_micros_import
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100782
783void grpc_rb_load_imports(HMODULE library);
784
Yuchen Zeng12dfdc32016-04-26 22:05:41 -0700785#endif /* GPR_WINDOWS */
Nicolas "Pixel" Nobled14b6ac2016-01-30 05:21:15 +0100786
787#endif