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