mirror of https://github.com/grpc/grpc.git
commit
6f2b8993fd
567 changed files with 7279 additions and 50452 deletions
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,35 @@ |
||||
# Status codes and their use in gRPC |
||||
|
||||
gRPC uses a set of well defined status codes as part of the RPC API. All RPCs started at a client return a `status` object composed of an integer `code` and a string `message`. The server-side can choose the status it returns for a given RPC. |
||||
|
||||
The gRPC client and server-side implementations may also generate and return `status` on their own when errors happen. |
||||
Only a subset of the pre-defined status codes are generated by the gRPC libraries. The following table lists these codes and summarizes the situations in which they are generated, either by the client or the server-side library implementation. |
||||
|
||||
| Case | Code | Generated at Client or Server | |
||||
| ------------- |:-------------| :-----:| |
||||
| Client Application cancelled the request | CANCELLED | Both | |
||||
| Deadline expires before server returns status | DEADLINE_EXCEEDED | Both | |
||||
| Method not found at server | UNIMPLEMENTED | Server| |
||||
| Server shutting down | UNAVAILABLE | Server| |
||||
| Server side application throws an exception (or does something other than returning a Status code to terminate an RPC) | UNKNOWN | Server| |
||||
| No response received before Deadline expires. This may occur either when the client is unable to send the request to the server or when the server fails to respond in time. | DEADLINE_EXCEEDED | Both| |
||||
| Some data transmitted (e.g., request metadata written to TCP connection) before connection breaks | UNAVAILABLE | Client | |
||||
| Could not decompress, but compression algorithm supported (Client -> Server) | INTERNAL | Server | |
||||
| Could not decompress, but compression algorithm supported (Server -> Client) | INTERNAL | Client | |
||||
| Compression mechanism used by client not supported at server | UNIMPLEMENTED | Server | |
||||
| Server temporarily out of resources (e.g., Flow-control resource limits reached) | RESOURCE_EXHAUSTED | Server| |
||||
| Flow-control protocol violation | INTERNAL | Both | |
||||
| Error parsing returned status | UNKNOWN | Client | |
||||
| Incorrect Auth metadata ( Credentials failed to get metadata, Incompatible credentials set on channel and call, Invalid host set in `:authority` metadata, etc.) | UNAUTHENTICATED | Both | |
||||
| Error parsing response proto | INTERNAL | Client| |
||||
| Error parsing request proto | INTERNAL | Server| |
||||
|
||||
|
||||
The following status codes are never generated by the library: |
||||
- INVALID_ARGUMENT |
||||
- NOT_FOUND |
||||
- ALREADY_EXISTS |
||||
- FAILED_PRECONDITION |
||||
- ABORTED |
||||
- OUT_OF_RANGE |
||||
- DATA_LOSS |
@ -0,0 +1,259 @@ |
||||
EXPORTS |
||||
census_initialize |
||||
census_shutdown |
||||
census_supported |
||||
census_enabled |
||||
census_context_create |
||||
census_context_destroy |
||||
census_context_get_status |
||||
census_context_initialize_iterator |
||||
census_context_next_tag |
||||
census_context_get_tag |
||||
census_context_encode |
||||
census_context_decode |
||||
census_trace_mask |
||||
census_set_trace_mask |
||||
census_start_rpc_op_timestamp |
||||
census_start_client_rpc_op |
||||
census_set_rpc_client_peer |
||||
census_start_server_rpc_op |
||||
census_start_op |
||||
census_end_op |
||||
census_trace_print |
||||
census_trace_scan_start |
||||
census_get_trace_record |
||||
census_trace_scan_end |
||||
census_record_values |
||||
census_view_create |
||||
census_view_delete |
||||
census_view_metric |
||||
census_view_naggregations |
||||
census_view_tags |
||||
census_view_aggregrations |
||||
census_view_get_data |
||||
census_view_reset |
||||
grpc_compression_algorithm_parse |
||||
grpc_compression_algorithm_name |
||||
grpc_compression_algorithm_for_level |
||||
grpc_compression_options_init |
||||
grpc_compression_options_enable_algorithm |
||||
grpc_compression_options_disable_algorithm |
||||
grpc_compression_options_is_algorithm_enabled |
||||
grpc_metadata_array_init |
||||
grpc_metadata_array_destroy |
||||
grpc_call_details_init |
||||
grpc_call_details_destroy |
||||
grpc_register_plugin |
||||
grpc_init |
||||
grpc_shutdown |
||||
grpc_version_string |
||||
grpc_completion_queue_create |
||||
grpc_completion_queue_next |
||||
grpc_completion_queue_pluck |
||||
grpc_completion_queue_shutdown |
||||
grpc_completion_queue_destroy |
||||
grpc_alarm_create |
||||
grpc_alarm_cancel |
||||
grpc_alarm_destroy |
||||
grpc_channel_check_connectivity_state |
||||
grpc_channel_watch_connectivity_state |
||||
grpc_channel_create_call |
||||
grpc_channel_ping |
||||
grpc_channel_register_call |
||||
grpc_channel_create_registered_call |
||||
grpc_call_start_batch |
||||
grpc_call_get_peer |
||||
grpc_census_call_set_context |
||||
grpc_census_call_get_context |
||||
grpc_channel_get_target |
||||
grpc_insecure_channel_create |
||||
grpc_lame_client_channel_create |
||||
grpc_channel_destroy |
||||
grpc_call_cancel |
||||
grpc_call_cancel_with_status |
||||
grpc_call_destroy |
||||
grpc_server_request_call |
||||
grpc_server_register_method |
||||
grpc_server_request_registered_call |
||||
grpc_server_create |
||||
grpc_server_register_completion_queue |
||||
grpc_server_add_insecure_http2_port |
||||
grpc_server_start |
||||
grpc_server_shutdown_and_notify |
||||
grpc_server_cancel_all_calls |
||||
grpc_server_destroy |
||||
grpc_tracer_set_enabled |
||||
grpc_header_key_is_legal |
||||
grpc_header_nonbin_value_is_legal |
||||
grpc_is_binary_header |
||||
grpc_auth_property_iterator_next |
||||
grpc_auth_context_property_iterator |
||||
grpc_auth_context_peer_identity |
||||
grpc_auth_context_find_properties_by_name |
||||
grpc_auth_context_peer_identity_property_name |
||||
grpc_auth_context_peer_is_authenticated |
||||
grpc_call_auth_context |
||||
grpc_auth_context_release |
||||
grpc_auth_context_add_property |
||||
grpc_auth_context_add_cstring_property |
||||
grpc_auth_context_set_peer_identity_property_name |
||||
grpc_channel_credentials_release |
||||
grpc_google_default_credentials_create |
||||
grpc_ssl_credentials_create |
||||
grpc_call_credentials_release |
||||
grpc_composite_channel_credentials_create |
||||
grpc_composite_call_credentials_create |
||||
grpc_google_compute_engine_credentials_create |
||||
grpc_max_auth_token_lifetime |
||||
grpc_service_account_jwt_access_credentials_create |
||||
grpc_google_refresh_token_credentials_create |
||||
grpc_access_token_credentials_create |
||||
grpc_google_iam_credentials_create |
||||
grpc_metadata_credentials_create_from_plugin |
||||
grpc_secure_channel_create |
||||
grpc_server_credentials_release |
||||
grpc_ssl_server_credentials_create |
||||
grpc_server_add_secure_http2_port |
||||
grpc_call_set_credentials |
||||
grpc_server_credentials_set_auth_metadata_processor |
||||
gpr_malloc |
||||
gpr_free |
||||
gpr_realloc |
||||
gpr_malloc_aligned |
||||
gpr_free_aligned |
||||
gpr_set_allocation_functions |
||||
gpr_get_allocation_functions |
||||
grpc_raw_byte_buffer_create |
||||
grpc_raw_compressed_byte_buffer_create |
||||
grpc_byte_buffer_copy |
||||
grpc_byte_buffer_length |
||||
grpc_byte_buffer_destroy |
||||
grpc_byte_buffer_reader_init |
||||
grpc_byte_buffer_reader_destroy |
||||
grpc_byte_buffer_reader_next |
||||
grpc_byte_buffer_reader_readall |
||||
grpc_raw_byte_buffer_from_reader |
||||
gpr_log |
||||
gpr_log_message |
||||
gpr_set_log_function |
||||
gpr_slice_ref |
||||
gpr_slice_unref |
||||
gpr_slice_new |
||||
gpr_slice_new_with_len |
||||
gpr_slice_malloc |
||||
gpr_slice_from_copied_string |
||||
gpr_slice_from_copied_buffer |
||||
gpr_slice_from_static_string |
||||
gpr_slice_sub |
||||
gpr_slice_sub_no_ref |
||||
gpr_slice_split_tail |
||||
gpr_slice_split_head |
||||
gpr_empty_slice |
||||
gpr_slice_cmp |
||||
gpr_slice_str_cmp |
||||
gpr_slice_buffer_init |
||||
gpr_slice_buffer_destroy |
||||
gpr_slice_buffer_add |
||||
gpr_slice_buffer_add_indexed |
||||
gpr_slice_buffer_addn |
||||
gpr_slice_buffer_tiny_add |
||||
gpr_slice_buffer_pop |
||||
gpr_slice_buffer_reset_and_unref |
||||
gpr_slice_buffer_swap |
||||
gpr_slice_buffer_move_into |
||||
gpr_slice_buffer_trim_end |
||||
gpr_slice_buffer_move_first |
||||
gpr_slice_buffer_take_first |
||||
gpr_mu_init |
||||
gpr_mu_destroy |
||||
gpr_mu_lock |
||||
gpr_mu_unlock |
||||
gpr_mu_trylock |
||||
gpr_cv_init |
||||
gpr_cv_destroy |
||||
gpr_cv_wait |
||||
gpr_cv_signal |
||||
gpr_cv_broadcast |
||||
gpr_once_init |
||||
gpr_event_init |
||||
gpr_event_set |
||||
gpr_event_get |
||||
gpr_event_wait |
||||
gpr_ref_init |
||||
gpr_ref |
||||
gpr_refn |
||||
gpr_unref |
||||
gpr_stats_init |
||||
gpr_stats_inc |
||||
gpr_stats_read |
||||
gpr_time_0 |
||||
gpr_inf_future |
||||
gpr_inf_past |
||||
gpr_time_init |
||||
gpr_now |
||||
gpr_convert_clock_type |
||||
gpr_time_cmp |
||||
gpr_time_max |
||||
gpr_time_min |
||||
gpr_time_add |
||||
gpr_time_sub |
||||
gpr_time_from_micros |
||||
gpr_time_from_nanos |
||||
gpr_time_from_millis |
||||
gpr_time_from_seconds |
||||
gpr_time_from_minutes |
||||
gpr_time_from_hours |
||||
gpr_time_to_millis |
||||
gpr_time_similar |
||||
gpr_sleep_until |
||||
gpr_timespec_to_micros |
||||
gpr_avl_create |
||||
gpr_avl_ref |
||||
gpr_avl_unref |
||||
gpr_avl_add |
||||
gpr_avl_remove |
||||
gpr_avl_get |
||||
gpr_cmdline_create |
||||
gpr_cmdline_add_int |
||||
gpr_cmdline_add_flag |
||||
gpr_cmdline_add_string |
||||
gpr_cmdline_on_extra_arg |
||||
gpr_cmdline_set_survive_failure |
||||
gpr_cmdline_parse |
||||
gpr_cmdline_destroy |
||||
gpr_cmdline_usage_string |
||||
gpr_cpu_num_cores |
||||
gpr_cpu_current_cpu |
||||
gpr_histogram_create |
||||
gpr_histogram_destroy |
||||
gpr_histogram_add |
||||
gpr_histogram_merge |
||||
gpr_histogram_percentile |
||||
gpr_histogram_mean |
||||
gpr_histogram_stddev |
||||
gpr_histogram_variance |
||||
gpr_histogram_maximum |
||||
gpr_histogram_minimum |
||||
gpr_histogram_count |
||||
gpr_histogram_sum |
||||
gpr_histogram_sum_of_squares |
||||
gpr_histogram_get_contents |
||||
gpr_histogram_merge_contents |
||||
gpr_join_host_port |
||||
gpr_split_host_port |
||||
gpr_format_message |
||||
gpr_strdup |
||||
gpr_asprintf |
||||
gpr_subprocess_binary_extension |
||||
gpr_subprocess_create |
||||
gpr_subprocess_destroy |
||||
gpr_subprocess_join |
||||
gpr_subprocess_interrupt |
||||
gpr_thd_new |
||||
gpr_thd_options_default |
||||
gpr_thd_options_set_detached |
||||
gpr_thd_options_set_joinable |
||||
gpr_thd_options_is_detached |
||||
gpr_thd_options_is_joinable |
||||
gpr_thd_currentid |
||||
gpr_thd_join |
@ -0,0 +1,50 @@ |
||||
/*
|
||||
* |
||||
* Copyright 2016, Google Inc. |
||||
* All rights reserved. |
||||
* |
||||
* Redistribution and use in source and binary forms, with or without |
||||
* modification, are permitted provided that the following conditions are |
||||
* met: |
||||
* |
||||
* * Redistributions of source code must retain the above copyright |
||||
* notice, this list of conditions and the following disclaimer. |
||||
* * Redistributions in binary form must reproduce the above |
||||
* copyright notice, this list of conditions and the following disclaimer |
||||
* in the documentation and/or other materials provided with the |
||||
* distribution. |
||||
* * Neither the name of Google Inc. nor the names of its |
||||
* contributors may be used to endorse or promote products derived from |
||||
* this software without specific prior written permission. |
||||
* |
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
||||
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
||||
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
||||
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
||||
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
||||
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
||||
* |
||||
*/ |
||||
|
||||
#include <string.h> |
||||
|
||||
/* Provide a wrapped memcpy for targets that need to be backwards
|
||||
* compatible with older libc's. |
||||
* |
||||
* Enable by setting LDFLAGS=-Wl,-wrap,memcpy when linking. |
||||
*/ |
||||
|
||||
#ifdef __linux__ |
||||
#ifdef __x86_64__ |
||||
__asm__(".symver memcpy,memcpy@GLIBC_2.2.5"); |
||||
#endif |
||||
|
||||
void *__wrap_memcpy(void *destination, const void *source, size_t num) { |
||||
return memcpy(destination, source, num); |
||||
} |
||||
#endif |
@ -0,0 +1,72 @@ |
||||
#region Copyright notice and license |
||||
|
||||
// Copyright 2015-2016, Google Inc. |
||||
// All rights reserved. |
||||
// |
||||
// Redistribution and use in source and binary forms, with or without |
||||
// modification, are permitted provided that the following conditions are |
||||
// met: |
||||
// |
||||
// * Redistributions of source code must retain the above copyright |
||||
// notice, this list of conditions and the following disclaimer. |
||||
// * Redistributions in binary form must reproduce the above |
||||
// copyright notice, this list of conditions and the following disclaimer |
||||
// in the documentation and/or other materials provided with the |
||||
// distribution. |
||||
// * Neither the name of Google Inc. nor the names of its |
||||
// contributors may be used to endorse or promote products derived from |
||||
// this software without specific prior written permission. |
||||
// |
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||||
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
||||
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
||||
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
||||
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
||||
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
||||
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
||||
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
||||
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
||||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
||||
|
||||
#endregion |
||||
|
||||
using System; |
||||
using System.Collections.Concurrent; |
||||
using System.Diagnostics; |
||||
using System.IO; |
||||
using System.Reflection; |
||||
using System.Runtime.InteropServices; |
||||
using System.Threading; |
||||
|
||||
namespace Grpc.Core.Internal |
||||
{ |
||||
/// <summary> |
||||
/// Overrides the content of default SSL roots. |
||||
/// </summary> |
||||
internal static class DefaultSslRootsOverride |
||||
{ |
||||
const string RootsPemResourceName = "Grpc.Core.Resources.roots.pem"; |
||||
static object staticLock = new object(); |
||||
|
||||
/// <summary> |
||||
/// Overrides C core's default roots with roots.pem loaded as embedded resource. |
||||
/// </summary> |
||||
public static void Override(NativeMethods native) |
||||
{ |
||||
lock (staticLock) |
||||
{ |
||||
var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(RootsPemResourceName); |
||||
if (stream == null) |
||||
{ |
||||
throw new IOException(string.Format("Error loading the embedded resource \"{0}\"", RootsPemResourceName)); |
||||
} |
||||
using (var streamReader = new StreamReader(stream)) |
||||
{ |
||||
var pemRootCerts = streamReader.ReadToEnd(); |
||||
native.grpcsharp_override_default_ssl_roots(pemRootCerts); |
||||
} |
||||
} |
||||
} |
||||
} |
||||
} |
@ -0,0 +1,560 @@ |
||||
/*
|
||||
* |
||||
* Copyright 2016, Google Inc. |
||||
* All rights reserved. |
||||
* |
||||
* Redistribution and use in source and binary forms, with or without |
||||
* modification, are permitted provided that the following conditions are |
||||
* met: |
||||
* |
||||
* * Redistributions of source code must retain the above copyright |
||||
* notice, this list of conditions and the following disclaimer. |
||||
* * Redistributions in binary form must reproduce the above |
||||
* copyright notice, this list of conditions and the following disclaimer |
||||
* in the documentation and/or other materials provided with the |
||||
* distribution. |
||||
* * Neither the name of Google Inc. nor the names of its |
||||
* contributors may be used to endorse or promote products derived from |
||||
* this software without specific prior written permission. |
||||
* |
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
||||
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
||||
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
||||
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
||||
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
||||
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
||||
* |
||||
*/ |
||||
|
||||
#include <grpc/support/port_platform.h> |
||||
|
||||
#ifdef GPR_WIN32 |
||||
|
||||
#include "rb_grpc_imports.generated.h" |
||||
|
||||
census_initialize_type census_initialize_import; |
||||
census_shutdown_type census_shutdown_import; |
||||
census_supported_type census_supported_import; |
||||
census_enabled_type census_enabled_import; |
||||
census_context_create_type census_context_create_import; |
||||
census_context_destroy_type census_context_destroy_import; |
||||
census_context_get_status_type census_context_get_status_import; |
||||
census_context_initialize_iterator_type census_context_initialize_iterator_import; |
||||
census_context_next_tag_type census_context_next_tag_import; |
||||
census_context_get_tag_type census_context_get_tag_import; |
||||
census_context_encode_type census_context_encode_import; |
||||
census_context_decode_type census_context_decode_import; |
||||
census_trace_mask_type census_trace_mask_import; |
||||
census_set_trace_mask_type census_set_trace_mask_import; |
||||
census_start_rpc_op_timestamp_type census_start_rpc_op_timestamp_import; |
||||
census_start_client_rpc_op_type census_start_client_rpc_op_import; |
||||
census_set_rpc_client_peer_type census_set_rpc_client_peer_import; |
||||
census_start_server_rpc_op_type census_start_server_rpc_op_import; |
||||
census_start_op_type census_start_op_import; |
||||
census_end_op_type census_end_op_import; |
||||
census_trace_print_type census_trace_print_import; |
||||
census_trace_scan_start_type census_trace_scan_start_import; |
||||
census_get_trace_record_type census_get_trace_record_import; |
||||
census_trace_scan_end_type census_trace_scan_end_import; |
||||
census_record_values_type census_record_values_import; |
||||
census_view_create_type census_view_create_import; |
||||
census_view_delete_type census_view_delete_import; |
||||
census_view_metric_type census_view_metric_import; |
||||
census_view_naggregations_type census_view_naggregations_import; |
||||
census_view_tags_type census_view_tags_import; |
||||
census_view_aggregrations_type census_view_aggregrations_import; |
||||
census_view_get_data_type census_view_get_data_import; |
||||
census_view_reset_type census_view_reset_import; |
||||
grpc_compression_algorithm_parse_type grpc_compression_algorithm_parse_import; |
||||
grpc_compression_algorithm_name_type grpc_compression_algorithm_name_import; |
||||
grpc_compression_algorithm_for_level_type grpc_compression_algorithm_for_level_import; |
||||
grpc_compression_options_init_type grpc_compression_options_init_import; |
||||
grpc_compression_options_enable_algorithm_type grpc_compression_options_enable_algorithm_import; |
||||
grpc_compression_options_disable_algorithm_type grpc_compression_options_disable_algorithm_import; |
||||
grpc_compression_options_is_algorithm_enabled_type grpc_compression_options_is_algorithm_enabled_import; |
||||
grpc_metadata_array_init_type grpc_metadata_array_init_import; |
||||
grpc_metadata_array_destroy_type grpc_metadata_array_destroy_import; |
||||
grpc_call_details_init_type grpc_call_details_init_import; |
||||
grpc_call_details_destroy_type grpc_call_details_destroy_import; |
||||
grpc_register_plugin_type grpc_register_plugin_import; |
||||
grpc_init_type grpc_init_import; |
||||
grpc_shutdown_type grpc_shutdown_import; |
||||
grpc_version_string_type grpc_version_string_import; |
||||
grpc_completion_queue_create_type grpc_completion_queue_create_import; |
||||
grpc_completion_queue_next_type grpc_completion_queue_next_import; |
||||
grpc_completion_queue_pluck_type grpc_completion_queue_pluck_import; |
||||
grpc_completion_queue_shutdown_type grpc_completion_queue_shutdown_import; |
||||
grpc_completion_queue_destroy_type grpc_completion_queue_destroy_import; |
||||
grpc_alarm_create_type grpc_alarm_create_import; |
||||
grpc_alarm_cancel_type grpc_alarm_cancel_import; |
||||
grpc_alarm_destroy_type grpc_alarm_destroy_import; |
||||
grpc_channel_check_connectivity_state_type grpc_channel_check_connectivity_state_import; |
||||
grpc_channel_watch_connectivity_state_type grpc_channel_watch_connectivity_state_import; |
||||
grpc_channel_create_call_type grpc_channel_create_call_import; |
||||
grpc_channel_ping_type grpc_channel_ping_import; |
||||
grpc_channel_register_call_type grpc_channel_register_call_import; |
||||
grpc_channel_create_registered_call_type grpc_channel_create_registered_call_import; |
||||
grpc_call_start_batch_type grpc_call_start_batch_import; |
||||
grpc_call_get_peer_type grpc_call_get_peer_import; |
||||
grpc_census_call_set_context_type grpc_census_call_set_context_import; |
||||
grpc_census_call_get_context_type grpc_census_call_get_context_import; |
||||
grpc_channel_get_target_type grpc_channel_get_target_import; |
||||
grpc_insecure_channel_create_type grpc_insecure_channel_create_import; |
||||
grpc_lame_client_channel_create_type grpc_lame_client_channel_create_import; |
||||
grpc_channel_destroy_type grpc_channel_destroy_import; |
||||
grpc_call_cancel_type grpc_call_cancel_import; |
||||
grpc_call_cancel_with_status_type grpc_call_cancel_with_status_import; |
||||
grpc_call_destroy_type grpc_call_destroy_import; |
||||
grpc_server_request_call_type grpc_server_request_call_import; |
||||
grpc_server_register_method_type grpc_server_register_method_import; |
||||
grpc_server_request_registered_call_type grpc_server_request_registered_call_import; |
||||
grpc_server_create_type grpc_server_create_import; |
||||
grpc_server_register_completion_queue_type grpc_server_register_completion_queue_import; |
||||
grpc_server_add_insecure_http2_port_type grpc_server_add_insecure_http2_port_import; |
||||
grpc_server_start_type grpc_server_start_import; |
||||
grpc_server_shutdown_and_notify_type grpc_server_shutdown_and_notify_import; |
||||
grpc_server_cancel_all_calls_type grpc_server_cancel_all_calls_import; |
||||
grpc_server_destroy_type grpc_server_destroy_import; |
||||
grpc_tracer_set_enabled_type grpc_tracer_set_enabled_import; |
||||
grpc_header_key_is_legal_type grpc_header_key_is_legal_import; |
||||
grpc_header_nonbin_value_is_legal_type grpc_header_nonbin_value_is_legal_import; |
||||
grpc_is_binary_header_type grpc_is_binary_header_import; |
||||
grpc_auth_property_iterator_next_type grpc_auth_property_iterator_next_import; |
||||
grpc_auth_context_property_iterator_type grpc_auth_context_property_iterator_import; |
||||
grpc_auth_context_peer_identity_type grpc_auth_context_peer_identity_import; |
||||
grpc_auth_context_find_properties_by_name_type grpc_auth_context_find_properties_by_name_import; |
||||
grpc_auth_context_peer_identity_property_name_type grpc_auth_context_peer_identity_property_name_import; |
||||
grpc_auth_context_peer_is_authenticated_type grpc_auth_context_peer_is_authenticated_import; |
||||
grpc_call_auth_context_type grpc_call_auth_context_import; |
||||
grpc_auth_context_release_type grpc_auth_context_release_import; |
||||
grpc_auth_context_add_property_type grpc_auth_context_add_property_import; |
||||
grpc_auth_context_add_cstring_property_type grpc_auth_context_add_cstring_property_import; |
||||
grpc_auth_context_set_peer_identity_property_name_type grpc_auth_context_set_peer_identity_property_name_import; |
||||
grpc_channel_credentials_release_type grpc_channel_credentials_release_import; |
||||
grpc_google_default_credentials_create_type grpc_google_default_credentials_create_import; |
||||
grpc_ssl_credentials_create_type grpc_ssl_credentials_create_import; |
||||
grpc_call_credentials_release_type grpc_call_credentials_release_import; |
||||
grpc_composite_channel_credentials_create_type grpc_composite_channel_credentials_create_import; |
||||
grpc_composite_call_credentials_create_type grpc_composite_call_credentials_create_import; |
||||
grpc_google_compute_engine_credentials_create_type grpc_google_compute_engine_credentials_create_import; |
||||
grpc_max_auth_token_lifetime_type grpc_max_auth_token_lifetime_import; |
||||
grpc_service_account_jwt_access_credentials_create_type grpc_service_account_jwt_access_credentials_create_import; |
||||
grpc_google_refresh_token_credentials_create_type grpc_google_refresh_token_credentials_create_import; |
||||
grpc_access_token_credentials_create_type grpc_access_token_credentials_create_import; |
||||
grpc_google_iam_credentials_create_type grpc_google_iam_credentials_create_import; |
||||
grpc_metadata_credentials_create_from_plugin_type grpc_metadata_credentials_create_from_plugin_import; |
||||
grpc_secure_channel_create_type grpc_secure_channel_create_import; |
||||
grpc_server_credentials_release_type grpc_server_credentials_release_import; |
||||
grpc_ssl_server_credentials_create_type grpc_ssl_server_credentials_create_import; |
||||
grpc_server_add_secure_http2_port_type grpc_server_add_secure_http2_port_import; |
||||
grpc_call_set_credentials_type grpc_call_set_credentials_import; |
||||
grpc_server_credentials_set_auth_metadata_processor_type grpc_server_credentials_set_auth_metadata_processor_import; |
||||
gpr_malloc_type gpr_malloc_import; |
||||
gpr_free_type gpr_free_import; |
||||
gpr_realloc_type gpr_realloc_import; |
||||
gpr_malloc_aligned_type gpr_malloc_aligned_import; |
||||
gpr_free_aligned_type gpr_free_aligned_import; |
||||
gpr_set_allocation_functions_type gpr_set_allocation_functions_import; |
||||
gpr_get_allocation_functions_type gpr_get_allocation_functions_import; |
||||
grpc_raw_byte_buffer_create_type grpc_raw_byte_buffer_create_import; |
||||
grpc_raw_compressed_byte_buffer_create_type grpc_raw_compressed_byte_buffer_create_import; |
||||
grpc_byte_buffer_copy_type grpc_byte_buffer_copy_import; |
||||
grpc_byte_buffer_length_type grpc_byte_buffer_length_import; |
||||
grpc_byte_buffer_destroy_type grpc_byte_buffer_destroy_import; |
||||
grpc_byte_buffer_reader_init_type grpc_byte_buffer_reader_init_import; |
||||
grpc_byte_buffer_reader_destroy_type grpc_byte_buffer_reader_destroy_import; |
||||
grpc_byte_buffer_reader_next_type grpc_byte_buffer_reader_next_import; |
||||
grpc_byte_buffer_reader_readall_type grpc_byte_buffer_reader_readall_import; |
||||
grpc_raw_byte_buffer_from_reader_type grpc_raw_byte_buffer_from_reader_import; |
||||
gpr_log_type gpr_log_import; |
||||
gpr_log_message_type gpr_log_message_import; |
||||
gpr_set_log_function_type gpr_set_log_function_import; |
||||
gpr_slice_ref_type gpr_slice_ref_import; |
||||
gpr_slice_unref_type gpr_slice_unref_import; |
||||
gpr_slice_new_type gpr_slice_new_import; |
||||
gpr_slice_new_with_len_type gpr_slice_new_with_len_import; |
||||
gpr_slice_malloc_type gpr_slice_malloc_import; |
||||
gpr_slice_from_copied_string_type gpr_slice_from_copied_string_import; |
||||
gpr_slice_from_copied_buffer_type gpr_slice_from_copied_buffer_import; |
||||
gpr_slice_from_static_string_type gpr_slice_from_static_string_import; |
||||
gpr_slice_sub_type gpr_slice_sub_import; |
||||
gpr_slice_sub_no_ref_type gpr_slice_sub_no_ref_import; |
||||
gpr_slice_split_tail_type gpr_slice_split_tail_import; |
||||
gpr_slice_split_head_type gpr_slice_split_head_import; |
||||
gpr_empty_slice_type gpr_empty_slice_import; |
||||
gpr_slice_cmp_type gpr_slice_cmp_import; |
||||
gpr_slice_str_cmp_type gpr_slice_str_cmp_import; |
||||
gpr_slice_buffer_init_type gpr_slice_buffer_init_import; |
||||
gpr_slice_buffer_destroy_type gpr_slice_buffer_destroy_import; |
||||
gpr_slice_buffer_add_type gpr_slice_buffer_add_import; |
||||
gpr_slice_buffer_add_indexed_type gpr_slice_buffer_add_indexed_import; |
||||
gpr_slice_buffer_addn_type gpr_slice_buffer_addn_import; |
||||
gpr_slice_buffer_tiny_add_type gpr_slice_buffer_tiny_add_import; |
||||
gpr_slice_buffer_pop_type gpr_slice_buffer_pop_import; |
||||
gpr_slice_buffer_reset_and_unref_type gpr_slice_buffer_reset_and_unref_import; |
||||
gpr_slice_buffer_swap_type gpr_slice_buffer_swap_import; |
||||
gpr_slice_buffer_move_into_type gpr_slice_buffer_move_into_import; |
||||
gpr_slice_buffer_trim_end_type gpr_slice_buffer_trim_end_import; |
||||
gpr_slice_buffer_move_first_type gpr_slice_buffer_move_first_import; |
||||
gpr_slice_buffer_take_first_type gpr_slice_buffer_take_first_import; |
||||
gpr_mu_init_type gpr_mu_init_import; |
||||
gpr_mu_destroy_type gpr_mu_destroy_import; |
||||
gpr_mu_lock_type gpr_mu_lock_import; |
||||
gpr_mu_unlock_type gpr_mu_unlock_import; |
||||
gpr_mu_trylock_type gpr_mu_trylock_import; |
||||
gpr_cv_init_type gpr_cv_init_import; |
||||
gpr_cv_destroy_type gpr_cv_destroy_import; |
||||
gpr_cv_wait_type gpr_cv_wait_import; |
||||
gpr_cv_signal_type gpr_cv_signal_import; |
||||
gpr_cv_broadcast_type gpr_cv_broadcast_import; |
||||
gpr_once_init_type gpr_once_init_import; |
||||
gpr_event_init_type gpr_event_init_import; |
||||
gpr_event_set_type gpr_event_set_import; |
||||
gpr_event_get_type gpr_event_get_import; |
||||
gpr_event_wait_type gpr_event_wait_import; |
||||
gpr_ref_init_type gpr_ref_init_import; |
||||
gpr_ref_type gpr_ref_import; |
||||
gpr_refn_type gpr_refn_import; |
||||
gpr_unref_type gpr_unref_import; |
||||
gpr_stats_init_type gpr_stats_init_import; |
||||
gpr_stats_inc_type gpr_stats_inc_import; |
||||
gpr_stats_read_type gpr_stats_read_import; |
||||
gpr_time_0_type gpr_time_0_import; |
||||
gpr_inf_future_type gpr_inf_future_import; |
||||
gpr_inf_past_type gpr_inf_past_import; |
||||
gpr_time_init_type gpr_time_init_import; |
||||
gpr_now_type gpr_now_import; |
||||
gpr_convert_clock_type_type gpr_convert_clock_type_import; |
||||
gpr_time_cmp_type gpr_time_cmp_import; |
||||
gpr_time_max_type gpr_time_max_import; |
||||
gpr_time_min_type gpr_time_min_import; |
||||
gpr_time_add_type gpr_time_add_import; |
||||
gpr_time_sub_type gpr_time_sub_import; |
||||
gpr_time_from_micros_type gpr_time_from_micros_import; |
||||
gpr_time_from_nanos_type gpr_time_from_nanos_import; |
||||
gpr_time_from_millis_type gpr_time_from_millis_import; |
||||
gpr_time_from_seconds_type gpr_time_from_seconds_import; |
||||
gpr_time_from_minutes_type gpr_time_from_minutes_import; |
||||
gpr_time_from_hours_type gpr_time_from_hours_import; |
||||
gpr_time_to_millis_type gpr_time_to_millis_import; |
||||
gpr_time_similar_type gpr_time_similar_import; |
||||
gpr_sleep_until_type gpr_sleep_until_import; |
||||
gpr_timespec_to_micros_type gpr_timespec_to_micros_import; |
||||
gpr_avl_create_type gpr_avl_create_import; |
||||
gpr_avl_ref_type gpr_avl_ref_import; |
||||
gpr_avl_unref_type gpr_avl_unref_import; |
||||
gpr_avl_add_type gpr_avl_add_import; |
||||
gpr_avl_remove_type gpr_avl_remove_import; |
||||
gpr_avl_get_type gpr_avl_get_import; |
||||
gpr_cmdline_create_type gpr_cmdline_create_import; |
||||
gpr_cmdline_add_int_type gpr_cmdline_add_int_import; |
||||
gpr_cmdline_add_flag_type gpr_cmdline_add_flag_import; |
||||
gpr_cmdline_add_string_type gpr_cmdline_add_string_import; |
||||
gpr_cmdline_on_extra_arg_type gpr_cmdline_on_extra_arg_import; |
||||
gpr_cmdline_set_survive_failure_type gpr_cmdline_set_survive_failure_import; |
||||
gpr_cmdline_parse_type gpr_cmdline_parse_import; |
||||
gpr_cmdline_destroy_type gpr_cmdline_destroy_import; |
||||
gpr_cmdline_usage_string_type gpr_cmdline_usage_string_import; |
||||
gpr_cpu_num_cores_type gpr_cpu_num_cores_import; |
||||
gpr_cpu_current_cpu_type gpr_cpu_current_cpu_import; |
||||
gpr_histogram_create_type gpr_histogram_create_import; |
||||
gpr_histogram_destroy_type gpr_histogram_destroy_import; |
||||
gpr_histogram_add_type gpr_histogram_add_import; |
||||
gpr_histogram_merge_type gpr_histogram_merge_import; |
||||
gpr_histogram_percentile_type gpr_histogram_percentile_import; |
||||
gpr_histogram_mean_type gpr_histogram_mean_import; |
||||
gpr_histogram_stddev_type gpr_histogram_stddev_import; |
||||
gpr_histogram_variance_type gpr_histogram_variance_import; |
||||
gpr_histogram_maximum_type gpr_histogram_maximum_import; |
||||
gpr_histogram_minimum_type gpr_histogram_minimum_import; |
||||
gpr_histogram_count_type gpr_histogram_count_import; |
||||
gpr_histogram_sum_type gpr_histogram_sum_import; |
||||
gpr_histogram_sum_of_squares_type gpr_histogram_sum_of_squares_import; |
||||
gpr_histogram_get_contents_type gpr_histogram_get_contents_import; |
||||
gpr_histogram_merge_contents_type gpr_histogram_merge_contents_import; |
||||
gpr_join_host_port_type gpr_join_host_port_import; |
||||
gpr_split_host_port_type gpr_split_host_port_import; |
||||
gpr_format_message_type gpr_format_message_import; |
||||
gpr_strdup_type gpr_strdup_import; |
||||
gpr_asprintf_type gpr_asprintf_import; |
||||
gpr_subprocess_binary_extension_type gpr_subprocess_binary_extension_import; |
||||
gpr_subprocess_create_type gpr_subprocess_create_import; |
||||
gpr_subprocess_destroy_type gpr_subprocess_destroy_import; |
||||
gpr_subprocess_join_type gpr_subprocess_join_import; |
||||
gpr_subprocess_interrupt_type gpr_subprocess_interrupt_import; |
||||
gpr_thd_new_type gpr_thd_new_import; |
||||
gpr_thd_options_default_type gpr_thd_options_default_import; |
||||
gpr_thd_options_set_detached_type gpr_thd_options_set_detached_import; |
||||
gpr_thd_options_set_joinable_type gpr_thd_options_set_joinable_import; |
||||
gpr_thd_options_is_detached_type gpr_thd_options_is_detached_import; |
||||
gpr_thd_options_is_joinable_type gpr_thd_options_is_joinable_import; |
||||
gpr_thd_currentid_type gpr_thd_currentid_import; |
||||
gpr_thd_join_type gpr_thd_join_import; |
||||
|
||||
void grpc_rb_load_imports(HMODULE library) { |
||||
census_initialize_import = (census_initialize_type) GetProcAddress(library, "census_initialize"); |
||||
census_shutdown_import = (census_shutdown_type) GetProcAddress(library, "census_shutdown"); |
||||
census_supported_import = (census_supported_type) GetProcAddress(library, "census_supported"); |
||||
census_enabled_import = (census_enabled_type) GetProcAddress(library, "census_enabled"); |
||||
census_context_create_import = (census_context_create_type) GetProcAddress(library, "census_context_create"); |
||||
census_context_destroy_import = (census_context_destroy_type) GetProcAddress(library, "census_context_destroy"); |
||||
census_context_get_status_import = (census_context_get_status_type) GetProcAddress(library, "census_context_get_status"); |
||||
census_context_initialize_iterator_import = (census_context_initialize_iterator_type) GetProcAddress(library, "census_context_initialize_iterator"); |
||||
census_context_next_tag_import = (census_context_next_tag_type) GetProcAddress(library, "census_context_next_tag"); |
||||
census_context_get_tag_import = (census_context_get_tag_type) GetProcAddress(library, "census_context_get_tag"); |
||||
census_context_encode_import = (census_context_encode_type) GetProcAddress(library, "census_context_encode"); |
||||
census_context_decode_import = (census_context_decode_type) GetProcAddress(library, "census_context_decode"); |
||||
census_trace_mask_import = (census_trace_mask_type) GetProcAddress(library, "census_trace_mask"); |
||||
census_set_trace_mask_import = (census_set_trace_mask_type) GetProcAddress(library, "census_set_trace_mask"); |
||||
census_start_rpc_op_timestamp_import = (census_start_rpc_op_timestamp_type) GetProcAddress(library, "census_start_rpc_op_timestamp"); |
||||
census_start_client_rpc_op_import = (census_start_client_rpc_op_type) GetProcAddress(library, "census_start_client_rpc_op"); |
||||
census_set_rpc_client_peer_import = (census_set_rpc_client_peer_type) GetProcAddress(library, "census_set_rpc_client_peer"); |
||||
census_start_server_rpc_op_import = (census_start_server_rpc_op_type) GetProcAddress(library, "census_start_server_rpc_op"); |
||||
census_start_op_import = (census_start_op_type) GetProcAddress(library, "census_start_op"); |
||||
census_end_op_import = (census_end_op_type) GetProcAddress(library, "census_end_op"); |
||||
census_trace_print_import = (census_trace_print_type) GetProcAddress(library, "census_trace_print"); |
||||
census_trace_scan_start_import = (census_trace_scan_start_type) GetProcAddress(library, "census_trace_scan_start"); |
||||
census_get_trace_record_import = (census_get_trace_record_type) GetProcAddress(library, "census_get_trace_record"); |
||||
census_trace_scan_end_import = (census_trace_scan_end_type) GetProcAddress(library, "census_trace_scan_end"); |
||||
census_record_values_import = (census_record_values_type) GetProcAddress(library, "census_record_values"); |
||||
census_view_create_import = (census_view_create_type) GetProcAddress(library, "census_view_create"); |
||||
census_view_delete_import = (census_view_delete_type) GetProcAddress(library, "census_view_delete"); |
||||
census_view_metric_import = (census_view_metric_type) GetProcAddress(library, "census_view_metric"); |
||||
census_view_naggregations_import = (census_view_naggregations_type) GetProcAddress(library, "census_view_naggregations"); |
||||
census_view_tags_import = (census_view_tags_type) GetProcAddress(library, "census_view_tags"); |
||||
census_view_aggregrations_import = (census_view_aggregrations_type) GetProcAddress(library, "census_view_aggregrations"); |
||||
census_view_get_data_import = (census_view_get_data_type) GetProcAddress(library, "census_view_get_data"); |
||||
census_view_reset_import = (census_view_reset_type) GetProcAddress(library, "census_view_reset"); |
||||
grpc_compression_algorithm_parse_import = (grpc_compression_algorithm_parse_type) GetProcAddress(library, "grpc_compression_algorithm_parse"); |
||||
grpc_compression_algorithm_name_import = (grpc_compression_algorithm_name_type) GetProcAddress(library, "grpc_compression_algorithm_name"); |
||||
grpc_compression_algorithm_for_level_import = (grpc_compression_algorithm_for_level_type) GetProcAddress(library, "grpc_compression_algorithm_for_level"); |
||||
grpc_compression_options_init_import = (grpc_compression_options_init_type) GetProcAddress(library, "grpc_compression_options_init"); |
||||
grpc_compression_options_enable_algorithm_import = (grpc_compression_options_enable_algorithm_type) GetProcAddress(library, "grpc_compression_options_enable_algorithm"); |
||||
grpc_compression_options_disable_algorithm_import = (grpc_compression_options_disable_algorithm_type) GetProcAddress(library, "grpc_compression_options_disable_algorithm"); |
||||
grpc_compression_options_is_algorithm_enabled_import = (grpc_compression_options_is_algorithm_enabled_type) GetProcAddress(library, "grpc_compression_options_is_algorithm_enabled"); |
||||
grpc_metadata_array_init_import = (grpc_metadata_array_init_type) GetProcAddress(library, "grpc_metadata_array_init"); |
||||
grpc_metadata_array_destroy_import = (grpc_metadata_array_destroy_type) GetProcAddress(library, "grpc_metadata_array_destroy"); |
||||
grpc_call_details_init_import = (grpc_call_details_init_type) GetProcAddress(library, "grpc_call_details_init"); |
||||
grpc_call_details_destroy_import = (grpc_call_details_destroy_type) GetProcAddress(library, "grpc_call_details_destroy"); |
||||
grpc_register_plugin_import = (grpc_register_plugin_type) GetProcAddress(library, "grpc_register_plugin"); |
||||
grpc_init_import = (grpc_init_type) GetProcAddress(library, "grpc_init"); |
||||
grpc_shutdown_import = (grpc_shutdown_type) GetProcAddress(library, "grpc_shutdown"); |
||||
grpc_version_string_import = (grpc_version_string_type) GetProcAddress(library, "grpc_version_string"); |
||||
grpc_completion_queue_create_import = (grpc_completion_queue_create_type) GetProcAddress(library, "grpc_completion_queue_create"); |
||||
grpc_completion_queue_next_import = (grpc_completion_queue_next_type) GetProcAddress(library, "grpc_completion_queue_next"); |
||||
grpc_completion_queue_pluck_import = (grpc_completion_queue_pluck_type) GetProcAddress(library, "grpc_completion_queue_pluck"); |
||||
grpc_completion_queue_shutdown_import = (grpc_completion_queue_shutdown_type) GetProcAddress(library, "grpc_completion_queue_shutdown"); |
||||
grpc_completion_queue_destroy_import = (grpc_completion_queue_destroy_type) GetProcAddress(library, "grpc_completion_queue_destroy"); |
||||
grpc_alarm_create_import = (grpc_alarm_create_type) GetProcAddress(library, "grpc_alarm_create"); |
||||
grpc_alarm_cancel_import = (grpc_alarm_cancel_type) GetProcAddress(library, "grpc_alarm_cancel"); |
||||
grpc_alarm_destroy_import = (grpc_alarm_destroy_type) GetProcAddress(library, "grpc_alarm_destroy"); |
||||
grpc_channel_check_connectivity_state_import = (grpc_channel_check_connectivity_state_type) GetProcAddress(library, "grpc_channel_check_connectivity_state"); |
||||
grpc_channel_watch_connectivity_state_import = (grpc_channel_watch_connectivity_state_type) GetProcAddress(library, "grpc_channel_watch_connectivity_state"); |
||||
grpc_channel_create_call_import = (grpc_channel_create_call_type) GetProcAddress(library, "grpc_channel_create_call"); |
||||
grpc_channel_ping_import = (grpc_channel_ping_type) GetProcAddress(library, "grpc_channel_ping"); |
||||
grpc_channel_register_call_import = (grpc_channel_register_call_type) GetProcAddress(library, "grpc_channel_register_call"); |
||||
grpc_channel_create_registered_call_import = (grpc_channel_create_registered_call_type) GetProcAddress(library, "grpc_channel_create_registered_call"); |
||||
grpc_call_start_batch_import = (grpc_call_start_batch_type) GetProcAddress(library, "grpc_call_start_batch"); |
||||
grpc_call_get_peer_import = (grpc_call_get_peer_type) GetProcAddress(library, "grpc_call_get_peer"); |
||||
grpc_census_call_set_context_import = (grpc_census_call_set_context_type) GetProcAddress(library, "grpc_census_call_set_context"); |
||||
grpc_census_call_get_context_import = (grpc_census_call_get_context_type) GetProcAddress(library, "grpc_census_call_get_context"); |
||||
grpc_channel_get_target_import = (grpc_channel_get_target_type) GetProcAddress(library, "grpc_channel_get_target"); |
||||
grpc_insecure_channel_create_import = (grpc_insecure_channel_create_type) GetProcAddress(library, "grpc_insecure_channel_create"); |
||||
grpc_lame_client_channel_create_import = (grpc_lame_client_channel_create_type) GetProcAddress(library, "grpc_lame_client_channel_create"); |
||||
grpc_channel_destroy_import = (grpc_channel_destroy_type) GetProcAddress(library, "grpc_channel_destroy"); |
||||
grpc_call_cancel_import = (grpc_call_cancel_type) GetProcAddress(library, "grpc_call_cancel"); |
||||
grpc_call_cancel_with_status_import = (grpc_call_cancel_with_status_type) GetProcAddress(library, "grpc_call_cancel_with_status"); |
||||
grpc_call_destroy_import = (grpc_call_destroy_type) GetProcAddress(library, "grpc_call_destroy"); |
||||
grpc_server_request_call_import = (grpc_server_request_call_type) GetProcAddress(library, "grpc_server_request_call"); |
||||
grpc_server_register_method_import = (grpc_server_register_method_type) GetProcAddress(library, "grpc_server_register_method"); |
||||
grpc_server_request_registered_call_import = (grpc_server_request_registered_call_type) GetProcAddress(library, "grpc_server_request_registered_call"); |
||||
grpc_server_create_import = (grpc_server_create_type) GetProcAddress(library, "grpc_server_create"); |
||||
grpc_server_register_completion_queue_import = (grpc_server_register_completion_queue_type) GetProcAddress(library, "grpc_server_register_completion_queue"); |
||||
grpc_server_add_insecure_http2_port_import = (grpc_server_add_insecure_http2_port_type) GetProcAddress(library, "grpc_server_add_insecure_http2_port"); |
||||
grpc_server_start_import = (grpc_server_start_type) GetProcAddress(library, "grpc_server_start"); |
||||
grpc_server_shutdown_and_notify_import = (grpc_server_shutdown_and_notify_type) GetProcAddress(library, "grpc_server_shutdown_and_notify"); |
||||
grpc_server_cancel_all_calls_import = (grpc_server_cancel_all_calls_type) GetProcAddress(library, "grpc_server_cancel_all_calls"); |
||||
grpc_server_destroy_import = (grpc_server_destroy_type) GetProcAddress(library, "grpc_server_destroy"); |
||||
grpc_tracer_set_enabled_import = (grpc_tracer_set_enabled_type) GetProcAddress(library, "grpc_tracer_set_enabled"); |
||||
grpc_header_key_is_legal_import = (grpc_header_key_is_legal_type) GetProcAddress(library, "grpc_header_key_is_legal"); |
||||
grpc_header_nonbin_value_is_legal_import = (grpc_header_nonbin_value_is_legal_type) GetProcAddress(library, "grpc_header_nonbin_value_is_legal"); |
||||
grpc_is_binary_header_import = (grpc_is_binary_header_type) GetProcAddress(library, "grpc_is_binary_header"); |
||||
grpc_auth_property_iterator_next_import = (grpc_auth_property_iterator_next_type) GetProcAddress(library, "grpc_auth_property_iterator_next"); |
||||
grpc_auth_context_property_iterator_import = (grpc_auth_context_property_iterator_type) GetProcAddress(library, "grpc_auth_context_property_iterator"); |
||||
grpc_auth_context_peer_identity_import = (grpc_auth_context_peer_identity_type) GetProcAddress(library, "grpc_auth_context_peer_identity"); |
||||
grpc_auth_context_find_properties_by_name_import = (grpc_auth_context_find_properties_by_name_type) GetProcAddress(library, "grpc_auth_context_find_properties_by_name"); |
||||
grpc_auth_context_peer_identity_property_name_import = (grpc_auth_context_peer_identity_property_name_type) GetProcAddress(library, "grpc_auth_context_peer_identity_property_name"); |
||||
grpc_auth_context_peer_is_authenticated_import = (grpc_auth_context_peer_is_authenticated_type) GetProcAddress(library, "grpc_auth_context_peer_is_authenticated"); |
||||
grpc_call_auth_context_import = (grpc_call_auth_context_type) GetProcAddress(library, "grpc_call_auth_context"); |
||||
grpc_auth_context_release_import = (grpc_auth_context_release_type) GetProcAddress(library, "grpc_auth_context_release"); |
||||
grpc_auth_context_add_property_import = (grpc_auth_context_add_property_type) GetProcAddress(library, "grpc_auth_context_add_property"); |
||||
grpc_auth_context_add_cstring_property_import = (grpc_auth_context_add_cstring_property_type) GetProcAddress(library, "grpc_auth_context_add_cstring_property"); |
||||
grpc_auth_context_set_peer_identity_property_name_import = (grpc_auth_context_set_peer_identity_property_name_type) GetProcAddress(library, "grpc_auth_context_set_peer_identity_property_name"); |
||||
grpc_channel_credentials_release_import = (grpc_channel_credentials_release_type) GetProcAddress(library, "grpc_channel_credentials_release"); |
||||
grpc_google_default_credentials_create_import = (grpc_google_default_credentials_create_type) GetProcAddress(library, "grpc_google_default_credentials_create"); |
||||
grpc_ssl_credentials_create_import = (grpc_ssl_credentials_create_type) GetProcAddress(library, "grpc_ssl_credentials_create"); |
||||
grpc_call_credentials_release_import = (grpc_call_credentials_release_type) GetProcAddress(library, "grpc_call_credentials_release"); |
||||
grpc_composite_channel_credentials_create_import = (grpc_composite_channel_credentials_create_type) GetProcAddress(library, "grpc_composite_channel_credentials_create"); |
||||
grpc_composite_call_credentials_create_import = (grpc_composite_call_credentials_create_type) GetProcAddress(library, "grpc_composite_call_credentials_create"); |
||||
grpc_google_compute_engine_credentials_create_import = (grpc_google_compute_engine_credentials_create_type) GetProcAddress(library, "grpc_google_compute_engine_credentials_create"); |
||||
grpc_max_auth_token_lifetime_import = (grpc_max_auth_token_lifetime_type) GetProcAddress(library, "grpc_max_auth_token_lifetime"); |
||||
grpc_service_account_jwt_access_credentials_create_import = (grpc_service_account_jwt_access_credentials_create_type) GetProcAddress(library, "grpc_service_account_jwt_access_credentials_create"); |
||||
grpc_google_refresh_token_credentials_create_import = (grpc_google_refresh_token_credentials_create_type) GetProcAddress(library, "grpc_google_refresh_token_credentials_create"); |
||||
grpc_access_token_credentials_create_import = (grpc_access_token_credentials_create_type) GetProcAddress(library, "grpc_access_token_credentials_create"); |
||||
grpc_google_iam_credentials_create_import = (grpc_google_iam_credentials_create_type) GetProcAddress(library, "grpc_google_iam_credentials_create"); |
||||
grpc_metadata_credentials_create_from_plugin_import = (grpc_metadata_credentials_create_from_plugin_type) GetProcAddress(library, "grpc_metadata_credentials_create_from_plugin"); |
||||
grpc_secure_channel_create_import = (grpc_secure_channel_create_type) GetProcAddress(library, "grpc_secure_channel_create"); |
||||
grpc_server_credentials_release_import = (grpc_server_credentials_release_type) GetProcAddress(library, "grpc_server_credentials_release"); |
||||
grpc_ssl_server_credentials_create_import = (grpc_ssl_server_credentials_create_type) GetProcAddress(library, "grpc_ssl_server_credentials_create"); |
||||
grpc_server_add_secure_http2_port_import = (grpc_server_add_secure_http2_port_type) GetProcAddress(library, "grpc_server_add_secure_http2_port"); |
||||
grpc_call_set_credentials_import = (grpc_call_set_credentials_type) GetProcAddress(library, "grpc_call_set_credentials"); |
||||
grpc_server_credentials_set_auth_metadata_processor_import = (grpc_server_credentials_set_auth_metadata_processor_type) GetProcAddress(library, "grpc_server_credentials_set_auth_metadata_processor"); |
||||
gpr_malloc_import = (gpr_malloc_type) GetProcAddress(library, "gpr_malloc"); |
||||
gpr_free_import = (gpr_free_type) GetProcAddress(library, "gpr_free"); |
||||
gpr_realloc_import = (gpr_realloc_type) GetProcAddress(library, "gpr_realloc"); |
||||
gpr_malloc_aligned_import = (gpr_malloc_aligned_type) GetProcAddress(library, "gpr_malloc_aligned"); |
||||
gpr_free_aligned_import = (gpr_free_aligned_type) GetProcAddress(library, "gpr_free_aligned"); |
||||
gpr_set_allocation_functions_import = (gpr_set_allocation_functions_type) GetProcAddress(library, "gpr_set_allocation_functions"); |
||||
gpr_get_allocation_functions_import = (gpr_get_allocation_functions_type) GetProcAddress(library, "gpr_get_allocation_functions"); |
||||
grpc_raw_byte_buffer_create_import = (grpc_raw_byte_buffer_create_type) GetProcAddress(library, "grpc_raw_byte_buffer_create"); |
||||
grpc_raw_compressed_byte_buffer_create_import = (grpc_raw_compressed_byte_buffer_create_type) GetProcAddress(library, "grpc_raw_compressed_byte_buffer_create"); |
||||
grpc_byte_buffer_copy_import = (grpc_byte_buffer_copy_type) GetProcAddress(library, "grpc_byte_buffer_copy"); |
||||
grpc_byte_buffer_length_import = (grpc_byte_buffer_length_type) GetProcAddress(library, "grpc_byte_buffer_length"); |
||||
grpc_byte_buffer_destroy_import = (grpc_byte_buffer_destroy_type) GetProcAddress(library, "grpc_byte_buffer_destroy"); |
||||
grpc_byte_buffer_reader_init_import = (grpc_byte_buffer_reader_init_type) GetProcAddress(library, "grpc_byte_buffer_reader_init"); |
||||
grpc_byte_buffer_reader_destroy_import = (grpc_byte_buffer_reader_destroy_type) GetProcAddress(library, "grpc_byte_buffer_reader_destroy"); |
||||
grpc_byte_buffer_reader_next_import = (grpc_byte_buffer_reader_next_type) GetProcAddress(library, "grpc_byte_buffer_reader_next"); |
||||
grpc_byte_buffer_reader_readall_import = (grpc_byte_buffer_reader_readall_type) GetProcAddress(library, "grpc_byte_buffer_reader_readall"); |
||||
grpc_raw_byte_buffer_from_reader_import = (grpc_raw_byte_buffer_from_reader_type) GetProcAddress(library, "grpc_raw_byte_buffer_from_reader"); |
||||
gpr_log_import = (gpr_log_type) GetProcAddress(library, "gpr_log"); |
||||
gpr_log_message_import = (gpr_log_message_type) GetProcAddress(library, "gpr_log_message"); |
||||
gpr_set_log_function_import = (gpr_set_log_function_type) GetProcAddress(library, "gpr_set_log_function"); |
||||
gpr_slice_ref_import = (gpr_slice_ref_type) GetProcAddress(library, "gpr_slice_ref"); |
||||
gpr_slice_unref_import = (gpr_slice_unref_type) GetProcAddress(library, "gpr_slice_unref"); |
||||
gpr_slice_new_import = (gpr_slice_new_type) GetProcAddress(library, "gpr_slice_new"); |
||||
gpr_slice_new_with_len_import = (gpr_slice_new_with_len_type) GetProcAddress(library, "gpr_slice_new_with_len"); |
||||
gpr_slice_malloc_import = (gpr_slice_malloc_type) GetProcAddress(library, "gpr_slice_malloc"); |
||||
gpr_slice_from_copied_string_import = (gpr_slice_from_copied_string_type) GetProcAddress(library, "gpr_slice_from_copied_string"); |
||||
gpr_slice_from_copied_buffer_import = (gpr_slice_from_copied_buffer_type) GetProcAddress(library, "gpr_slice_from_copied_buffer"); |
||||
gpr_slice_from_static_string_import = (gpr_slice_from_static_string_type) GetProcAddress(library, "gpr_slice_from_static_string"); |
||||
gpr_slice_sub_import = (gpr_slice_sub_type) GetProcAddress(library, "gpr_slice_sub"); |
||||
gpr_slice_sub_no_ref_import = (gpr_slice_sub_no_ref_type) GetProcAddress(library, "gpr_slice_sub_no_ref"); |
||||
gpr_slice_split_tail_import = (gpr_slice_split_tail_type) GetProcAddress(library, "gpr_slice_split_tail"); |
||||
gpr_slice_split_head_import = (gpr_slice_split_head_type) GetProcAddress(library, "gpr_slice_split_head"); |
||||
gpr_empty_slice_import = (gpr_empty_slice_type) GetProcAddress(library, "gpr_empty_slice"); |
||||
gpr_slice_cmp_import = (gpr_slice_cmp_type) GetProcAddress(library, "gpr_slice_cmp"); |
||||
gpr_slice_str_cmp_import = (gpr_slice_str_cmp_type) GetProcAddress(library, "gpr_slice_str_cmp"); |
||||
gpr_slice_buffer_init_import = (gpr_slice_buffer_init_type) GetProcAddress(library, "gpr_slice_buffer_init"); |
||||
gpr_slice_buffer_destroy_import = (gpr_slice_buffer_destroy_type) GetProcAddress(library, "gpr_slice_buffer_destroy"); |
||||
gpr_slice_buffer_add_import = (gpr_slice_buffer_add_type) GetProcAddress(library, "gpr_slice_buffer_add"); |
||||
gpr_slice_buffer_add_indexed_import = (gpr_slice_buffer_add_indexed_type) GetProcAddress(library, "gpr_slice_buffer_add_indexed"); |
||||
gpr_slice_buffer_addn_import = (gpr_slice_buffer_addn_type) GetProcAddress(library, "gpr_slice_buffer_addn"); |
||||
gpr_slice_buffer_tiny_add_import = (gpr_slice_buffer_tiny_add_type) GetProcAddress(library, "gpr_slice_buffer_tiny_add"); |
||||
gpr_slice_buffer_pop_import = (gpr_slice_buffer_pop_type) GetProcAddress(library, "gpr_slice_buffer_pop"); |
||||
gpr_slice_buffer_reset_and_unref_import = (gpr_slice_buffer_reset_and_unref_type) GetProcAddress(library, "gpr_slice_buffer_reset_and_unref"); |
||||
gpr_slice_buffer_swap_import = (gpr_slice_buffer_swap_type) GetProcAddress(library, "gpr_slice_buffer_swap"); |
||||
gpr_slice_buffer_move_into_import = (gpr_slice_buffer_move_into_type) GetProcAddress(library, "gpr_slice_buffer_move_into"); |
||||
gpr_slice_buffer_trim_end_import = (gpr_slice_buffer_trim_end_type) GetProcAddress(library, "gpr_slice_buffer_trim_end"); |
||||
gpr_slice_buffer_move_first_import = (gpr_slice_buffer_move_first_type) GetProcAddress(library, "gpr_slice_buffer_move_first"); |
||||
gpr_slice_buffer_take_first_import = (gpr_slice_buffer_take_first_type) GetProcAddress(library, "gpr_slice_buffer_take_first"); |
||||
gpr_mu_init_import = (gpr_mu_init_type) GetProcAddress(library, "gpr_mu_init"); |
||||
gpr_mu_destroy_import = (gpr_mu_destroy_type) GetProcAddress(library, "gpr_mu_destroy"); |
||||
gpr_mu_lock_import = (gpr_mu_lock_type) GetProcAddress(library, "gpr_mu_lock"); |
||||
gpr_mu_unlock_import = (gpr_mu_unlock_type) GetProcAddress(library, "gpr_mu_unlock"); |
||||
gpr_mu_trylock_import = (gpr_mu_trylock_type) GetProcAddress(library, "gpr_mu_trylock"); |
||||
gpr_cv_init_import = (gpr_cv_init_type) GetProcAddress(library, "gpr_cv_init"); |
||||
gpr_cv_destroy_import = (gpr_cv_destroy_type) GetProcAddress(library, "gpr_cv_destroy"); |
||||
gpr_cv_wait_import = (gpr_cv_wait_type) GetProcAddress(library, "gpr_cv_wait"); |
||||
gpr_cv_signal_import = (gpr_cv_signal_type) GetProcAddress(library, "gpr_cv_signal"); |
||||
gpr_cv_broadcast_import = (gpr_cv_broadcast_type) GetProcAddress(library, "gpr_cv_broadcast"); |
||||
gpr_once_init_import = (gpr_once_init_type) GetProcAddress(library, "gpr_once_init"); |
||||
gpr_event_init_import = (gpr_event_init_type) GetProcAddress(library, "gpr_event_init"); |
||||
gpr_event_set_import = (gpr_event_set_type) GetProcAddress(library, "gpr_event_set"); |
||||
gpr_event_get_import = (gpr_event_get_type) GetProcAddress(library, "gpr_event_get"); |
||||
gpr_event_wait_import = (gpr_event_wait_type) GetProcAddress(library, "gpr_event_wait"); |
||||
gpr_ref_init_import = (gpr_ref_init_type) GetProcAddress(library, "gpr_ref_init"); |
||||
gpr_ref_import = (gpr_ref_type) GetProcAddress(library, "gpr_ref"); |
||||
gpr_refn_import = (gpr_refn_type) GetProcAddress(library, "gpr_refn"); |
||||
gpr_unref_import = (gpr_unref_type) GetProcAddress(library, "gpr_unref"); |
||||
gpr_stats_init_import = (gpr_stats_init_type) GetProcAddress(library, "gpr_stats_init"); |
||||
gpr_stats_inc_import = (gpr_stats_inc_type) GetProcAddress(library, "gpr_stats_inc"); |
||||
gpr_stats_read_import = (gpr_stats_read_type) GetProcAddress(library, "gpr_stats_read"); |
||||
gpr_time_0_import = (gpr_time_0_type) GetProcAddress(library, "gpr_time_0"); |
||||
gpr_inf_future_import = (gpr_inf_future_type) GetProcAddress(library, "gpr_inf_future"); |
||||
gpr_inf_past_import = (gpr_inf_past_type) GetProcAddress(library, "gpr_inf_past"); |
||||
gpr_time_init_import = (gpr_time_init_type) GetProcAddress(library, "gpr_time_init"); |
||||
gpr_now_import = (gpr_now_type) GetProcAddress(library, "gpr_now"); |
||||
gpr_convert_clock_type_import = (gpr_convert_clock_type_type) GetProcAddress(library, "gpr_convert_clock_type"); |
||||
gpr_time_cmp_import = (gpr_time_cmp_type) GetProcAddress(library, "gpr_time_cmp"); |
||||
gpr_time_max_import = (gpr_time_max_type) GetProcAddress(library, "gpr_time_max"); |
||||
gpr_time_min_import = (gpr_time_min_type) GetProcAddress(library, "gpr_time_min"); |
||||
gpr_time_add_import = (gpr_time_add_type) GetProcAddress(library, "gpr_time_add"); |
||||
gpr_time_sub_import = (gpr_time_sub_type) GetProcAddress(library, "gpr_time_sub"); |
||||
gpr_time_from_micros_import = (gpr_time_from_micros_type) GetProcAddress(library, "gpr_time_from_micros"); |
||||
gpr_time_from_nanos_import = (gpr_time_from_nanos_type) GetProcAddress(library, "gpr_time_from_nanos"); |
||||
gpr_time_from_millis_import = (gpr_time_from_millis_type) GetProcAddress(library, "gpr_time_from_millis"); |
||||
gpr_time_from_seconds_import = (gpr_time_from_seconds_type) GetProcAddress(library, "gpr_time_from_seconds"); |
||||
gpr_time_from_minutes_import = (gpr_time_from_minutes_type) GetProcAddress(library, "gpr_time_from_minutes"); |
||||
gpr_time_from_hours_import = (gpr_time_from_hours_type) GetProcAddress(library, "gpr_time_from_hours"); |
||||
gpr_time_to_millis_import = (gpr_time_to_millis_type) GetProcAddress(library, "gpr_time_to_millis"); |
||||
gpr_time_similar_import = (gpr_time_similar_type) GetProcAddress(library, "gpr_time_similar"); |
||||
gpr_sleep_until_import = (gpr_sleep_until_type) GetProcAddress(library, "gpr_sleep_until"); |
||||
gpr_timespec_to_micros_import = (gpr_timespec_to_micros_type) GetProcAddress(library, "gpr_timespec_to_micros"); |
||||
gpr_avl_create_import = (gpr_avl_create_type) GetProcAddress(library, "gpr_avl_create"); |
||||
gpr_avl_ref_import = (gpr_avl_ref_type) GetProcAddress(library, "gpr_avl_ref"); |
||||
gpr_avl_unref_import = (gpr_avl_unref_type) GetProcAddress(library, "gpr_avl_unref"); |
||||
gpr_avl_add_import = (gpr_avl_add_type) GetProcAddress(library, "gpr_avl_add"); |
||||
gpr_avl_remove_import = (gpr_avl_remove_type) GetProcAddress(library, "gpr_avl_remove"); |
||||
gpr_avl_get_import = (gpr_avl_get_type) GetProcAddress(library, "gpr_avl_get"); |
||||
gpr_cmdline_create_import = (gpr_cmdline_create_type) GetProcAddress(library, "gpr_cmdline_create"); |
||||
gpr_cmdline_add_int_import = (gpr_cmdline_add_int_type) GetProcAddress(library, "gpr_cmdline_add_int"); |
||||
gpr_cmdline_add_flag_import = (gpr_cmdline_add_flag_type) GetProcAddress(library, "gpr_cmdline_add_flag"); |
||||
gpr_cmdline_add_string_import = (gpr_cmdline_add_string_type) GetProcAddress(library, "gpr_cmdline_add_string"); |
||||
gpr_cmdline_on_extra_arg_import = (gpr_cmdline_on_extra_arg_type) GetProcAddress(library, "gpr_cmdline_on_extra_arg"); |
||||
gpr_cmdline_set_survive_failure_import = (gpr_cmdline_set_survive_failure_type) GetProcAddress(library, "gpr_cmdline_set_survive_failure"); |
||||
gpr_cmdline_parse_import = (gpr_cmdline_parse_type) GetProcAddress(library, "gpr_cmdline_parse"); |
||||
gpr_cmdline_destroy_import = (gpr_cmdline_destroy_type) GetProcAddress(library, "gpr_cmdline_destroy"); |
||||
gpr_cmdline_usage_string_import = (gpr_cmdline_usage_string_type) GetProcAddress(library, "gpr_cmdline_usage_string"); |
||||
gpr_cpu_num_cores_import = (gpr_cpu_num_cores_type) GetProcAddress(library, "gpr_cpu_num_cores"); |
||||
gpr_cpu_current_cpu_import = (gpr_cpu_current_cpu_type) GetProcAddress(library, "gpr_cpu_current_cpu"); |
||||
gpr_histogram_create_import = (gpr_histogram_create_type) GetProcAddress(library, "gpr_histogram_create"); |
||||
gpr_histogram_destroy_import = (gpr_histogram_destroy_type) GetProcAddress(library, "gpr_histogram_destroy"); |
||||
gpr_histogram_add_import = (gpr_histogram_add_type) GetProcAddress(library, "gpr_histogram_add"); |
||||
gpr_histogram_merge_import = (gpr_histogram_merge_type) GetProcAddress(library, "gpr_histogram_merge"); |
||||
gpr_histogram_percentile_import = (gpr_histogram_percentile_type) GetProcAddress(library, "gpr_histogram_percentile"); |
||||
gpr_histogram_mean_import = (gpr_histogram_mean_type) GetProcAddress(library, "gpr_histogram_mean"); |
||||
gpr_histogram_stddev_import = (gpr_histogram_stddev_type) GetProcAddress(library, "gpr_histogram_stddev"); |
||||
gpr_histogram_variance_import = (gpr_histogram_variance_type) GetProcAddress(library, "gpr_histogram_variance"); |
||||
gpr_histogram_maximum_import = (gpr_histogram_maximum_type) GetProcAddress(library, "gpr_histogram_maximum"); |
||||
gpr_histogram_minimum_import = (gpr_histogram_minimum_type) GetProcAddress(library, "gpr_histogram_minimum"); |
||||
gpr_histogram_count_import = (gpr_histogram_count_type) GetProcAddress(library, "gpr_histogram_count"); |
||||
gpr_histogram_sum_import = (gpr_histogram_sum_type) GetProcAddress(library, "gpr_histogram_sum"); |
||||
gpr_histogram_sum_of_squares_import = (gpr_histogram_sum_of_squares_type) GetProcAddress(library, "gpr_histogram_sum_of_squares"); |
||||
gpr_histogram_get_contents_import = (gpr_histogram_get_contents_type) GetProcAddress(library, "gpr_histogram_get_contents"); |
||||
gpr_histogram_merge_contents_import = (gpr_histogram_merge_contents_type) GetProcAddress(library, "gpr_histogram_merge_contents"); |
||||
gpr_join_host_port_import = (gpr_join_host_port_type) GetProcAddress(library, "gpr_join_host_port"); |
||||
gpr_split_host_port_import = (gpr_split_host_port_type) GetProcAddress(library, "gpr_split_host_port"); |
||||
gpr_format_message_import = (gpr_format_message_type) GetProcAddress(library, "gpr_format_message"); |
||||
gpr_strdup_import = (gpr_strdup_type) GetProcAddress(library, "gpr_strdup"); |
||||
gpr_asprintf_import = (gpr_asprintf_type) GetProcAddress(library, "gpr_asprintf"); |
||||
gpr_subprocess_binary_extension_import = (gpr_subprocess_binary_extension_type) GetProcAddress(library, "gpr_subprocess_binary_extension"); |
||||
gpr_subprocess_create_import = (gpr_subprocess_create_type) GetProcAddress(library, "gpr_subprocess_create"); |
||||
gpr_subprocess_destroy_import = (gpr_subprocess_destroy_type) GetProcAddress(library, "gpr_subprocess_destroy"); |
||||
gpr_subprocess_join_import = (gpr_subprocess_join_type) GetProcAddress(library, "gpr_subprocess_join"); |
||||
gpr_subprocess_interrupt_import = (gpr_subprocess_interrupt_type) GetProcAddress(library, "gpr_subprocess_interrupt"); |
||||
gpr_thd_new_import = (gpr_thd_new_type) GetProcAddress(library, "gpr_thd_new"); |
||||
gpr_thd_options_default_import = (gpr_thd_options_default_type) GetProcAddress(library, "gpr_thd_options_default"); |
||||
gpr_thd_options_set_detached_import = (gpr_thd_options_set_detached_type) GetProcAddress(library, "gpr_thd_options_set_detached"); |
||||
gpr_thd_options_set_joinable_import = (gpr_thd_options_set_joinable_type) GetProcAddress(library, "gpr_thd_options_set_joinable"); |
||||
gpr_thd_options_is_detached_import = (gpr_thd_options_is_detached_type) GetProcAddress(library, "gpr_thd_options_is_detached"); |
||||
gpr_thd_options_is_joinable_import = (gpr_thd_options_is_joinable_type) GetProcAddress(library, "gpr_thd_options_is_joinable"); |
||||
gpr_thd_currentid_import = (gpr_thd_currentid_type) GetProcAddress(library, "gpr_thd_currentid"); |
||||
gpr_thd_join_import = (gpr_thd_join_type) GetProcAddress(library, "gpr_thd_join"); |
||||
} |
||||
|
||||
#endif /* GPR_WIN32 */ |
@ -0,0 +1,843 @@ |
||||
/*
|
||||
* |
||||
* Copyright 2016, Google Inc. |
||||
* All rights reserved. |
||||
* |
||||
* Redistribution and use in source and binary forms, with or without |
||||
* modification, are permitted provided that the following conditions are |
||||
* met: |
||||
* |
||||
* * Redistributions of source code must retain the above copyright |
||||
* notice, this list of conditions and the following disclaimer. |
||||
* * Redistributions in binary form must reproduce the above |
||||
* copyright notice, this list of conditions and the following disclaimer |
||||
* in the documentation and/or other materials provided with the |
||||
* distribution. |
||||
* * Neither the name of Google Inc. nor the names of its |
||||
* contributors may be used to endorse or promote products derived from |
||||
* this software without specific prior written permission. |
||||
* |
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
||||
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
||||
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
||||
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
||||
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
||||
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
||||
* |
||||
*/ |
||||
|
||||
#ifndef GRPC_RB_GRPC_IMPORTS_H_ |
||||
#define GRPC_RB_GRPC_IMPORTS_H_ |
||||
|
||||
#include <grpc/support/port_platform.h> |
||||
|
||||
#ifdef GPR_WIN32 |
||||
|
||||
#include <windows.h> |
||||
|
||||
#include <grpc/census.h> |
||||
#include <grpc/compression.h> |
||||
#include <grpc/grpc.h> |
||||
#include <grpc/grpc_security.h> |
||||
#include <grpc/impl/codegen/alloc.h> |
||||
#include <grpc/impl/codegen/byte_buffer.h> |
||||
#include <grpc/impl/codegen/log.h> |
||||
#include <grpc/impl/codegen/slice.h> |
||||
#include <grpc/impl/codegen/slice_buffer.h> |
||||
#include <grpc/impl/codegen/sync.h> |
||||
#include <grpc/impl/codegen/time.h> |
||||
#include <grpc/support/avl.h> |
||||
#include <grpc/support/cmdline.h> |
||||
#include <grpc/support/cpu.h> |
||||
#include <grpc/support/histogram.h> |
||||
#include <grpc/support/host_port.h> |
||||
#include <grpc/support/log_win32.h> |
||||
#include <grpc/support/string_util.h> |
||||
#include <grpc/support/subprocess.h> |
||||
#include <grpc/support/thd.h> |
||||
|
||||
typedef int(*census_initialize_type)(int features); |
||||
extern census_initialize_type census_initialize_import; |
||||
#define census_initialize census_initialize_import |
||||
typedef void(*census_shutdown_type)(void); |
||||
extern census_shutdown_type census_shutdown_import; |
||||
#define census_shutdown census_shutdown_import |
||||
typedef int(*census_supported_type)(void); |
||||
extern census_supported_type census_supported_import; |
||||
#define census_supported census_supported_import |
||||
typedef int(*census_enabled_type)(void); |
||||
extern census_enabled_type census_enabled_import; |
||||
#define census_enabled census_enabled_import |
||||
typedef census_context *(*census_context_create_type)(const census_context *base, const census_tag *tags, int ntags, census_context_status const **status); |
||||
extern census_context_create_type census_context_create_import; |
||||
#define census_context_create census_context_create_import |
||||
typedef void(*census_context_destroy_type)(census_context *context); |
||||
extern census_context_destroy_type census_context_destroy_import; |
||||
#define census_context_destroy census_context_destroy_import |
||||
typedef const census_context_status *(*census_context_get_status_type)(const census_context *context); |
||||
extern census_context_get_status_type census_context_get_status_import; |
||||
#define census_context_get_status census_context_get_status_import |
||||
typedef void(*census_context_initialize_iterator_type)(const census_context *context, census_context_iterator *iterator); |
||||
extern census_context_initialize_iterator_type census_context_initialize_iterator_import; |
||||
#define census_context_initialize_iterator census_context_initialize_iterator_import |
||||
typedef int(*census_context_next_tag_type)(census_context_iterator *iterator, census_tag *tag); |
||||
extern census_context_next_tag_type census_context_next_tag_import; |
||||
#define census_context_next_tag census_context_next_tag_import |
||||
typedef int(*census_context_get_tag_type)(const census_context *context, const char *key, census_tag *tag); |
||||
extern census_context_get_tag_type census_context_get_tag_import; |
||||
#define census_context_get_tag census_context_get_tag_import |
||||
typedef char *(*census_context_encode_type)(const census_context *context, char *buffer, size_t buf_size, size_t *print_buf_size, size_t *bin_buf_size); |
||||
extern census_context_encode_type census_context_encode_import; |
||||
#define census_context_encode census_context_encode_import |
||||
typedef census_context *(*census_context_decode_type)(const char *buffer, size_t size, const char *bin_buffer, size_t bin_size); |
||||
extern census_context_decode_type census_context_decode_import; |
||||
#define census_context_decode census_context_decode_import |
||||
typedef int(*census_trace_mask_type)(const census_context *context); |
||||
extern census_trace_mask_type census_trace_mask_import; |
||||
#define census_trace_mask census_trace_mask_import |
||||
typedef void(*census_set_trace_mask_type)(int trace_mask); |
||||
extern census_set_trace_mask_type census_set_trace_mask_import; |
||||
#define census_set_trace_mask census_set_trace_mask_import |
||||
typedef census_timestamp(*census_start_rpc_op_timestamp_type)(void); |
||||
extern census_start_rpc_op_timestamp_type census_start_rpc_op_timestamp_import; |
||||
#define census_start_rpc_op_timestamp census_start_rpc_op_timestamp_import |
||||
typedef census_context *(*census_start_client_rpc_op_type)(const census_context *context, int64_t rpc_name_id, const census_rpc_name_info *rpc_name_info, const char *peer, int trace_mask, const census_timestamp *start_time); |
||||
extern census_start_client_rpc_op_type census_start_client_rpc_op_import; |
||||
#define census_start_client_rpc_op census_start_client_rpc_op_import |
||||
typedef void(*census_set_rpc_client_peer_type)(census_context *context, const char *peer); |
||||
extern census_set_rpc_client_peer_type census_set_rpc_client_peer_import; |
||||
#define census_set_rpc_client_peer census_set_rpc_client_peer_import |
||||
typedef census_context *(*census_start_server_rpc_op_type)(const char *buffer, int64_t rpc_name_id, const census_rpc_name_info *rpc_name_info, const char *peer, int trace_mask, census_timestamp *start_time); |
||||
extern census_start_server_rpc_op_type census_start_server_rpc_op_import; |
||||
#define census_start_server_rpc_op census_start_server_rpc_op_import |
||||
typedef census_context *(*census_start_op_type)(census_context *context, const char *family, const char *name, int trace_mask); |
||||
extern census_start_op_type census_start_op_import; |
||||
#define census_start_op census_start_op_import |
||||
typedef void(*census_end_op_type)(census_context *context, int status); |
||||
extern census_end_op_type census_end_op_import; |
||||
#define census_end_op census_end_op_import |
||||
typedef void(*census_trace_print_type)(census_context *context, uint32_t type, const char *buffer, size_t n); |
||||
extern census_trace_print_type census_trace_print_import; |
||||
#define census_trace_print census_trace_print_import |
||||
typedef int(*census_trace_scan_start_type)(int consume); |
||||
extern census_trace_scan_start_type census_trace_scan_start_import; |
||||
#define census_trace_scan_start census_trace_scan_start_import |
||||
typedef int(*census_get_trace_record_type)(census_trace_record *trace_record); |
||||
extern census_get_trace_record_type census_get_trace_record_import; |
||||
#define census_get_trace_record census_get_trace_record_import |
||||
typedef void(*census_trace_scan_end_type)(); |
||||
extern census_trace_scan_end_type census_trace_scan_end_import; |
||||
#define census_trace_scan_end census_trace_scan_end_import |
||||
typedef void(*census_record_values_type)(census_context *context, census_value *values, size_t nvalues); |
||||
extern census_record_values_type census_record_values_import; |
||||
#define census_record_values census_record_values_import |
||||
typedef census_view *(*census_view_create_type)(uint32_t metric_id, const census_context *tags, const census_aggregation *aggregations, size_t naggregations); |
||||
extern census_view_create_type census_view_create_import; |
||||
#define census_view_create census_view_create_import |
||||
typedef void(*census_view_delete_type)(census_view *view); |
||||
extern census_view_delete_type census_view_delete_import; |
||||
#define census_view_delete census_view_delete_import |
||||
typedef size_t(*census_view_metric_type)(const census_view *view); |
||||
extern census_view_metric_type census_view_metric_import; |
||||
#define census_view_metric census_view_metric_import |
||||
typedef size_t(*census_view_naggregations_type)(const census_view *view); |
||||
extern census_view_naggregations_type census_view_naggregations_import; |
||||
#define census_view_naggregations census_view_naggregations_import |
||||
typedef const census_context *(*census_view_tags_type)(const census_view *view); |
||||
extern census_view_tags_type census_view_tags_import; |
||||
#define census_view_tags census_view_tags_import |
||||
typedef const census_aggregation *(*census_view_aggregrations_type)(const census_view *view); |
||||
extern census_view_aggregrations_type census_view_aggregrations_import; |
||||
#define census_view_aggregrations census_view_aggregrations_import |
||||
typedef const census_view_data *(*census_view_get_data_type)(const census_view *view); |
||||
extern census_view_get_data_type census_view_get_data_import; |
||||
#define census_view_get_data census_view_get_data_import |
||||
typedef void(*census_view_reset_type)(census_view *view); |
||||
extern census_view_reset_type census_view_reset_import; |
||||
#define census_view_reset census_view_reset_import |
||||
typedef int(*grpc_compression_algorithm_parse_type)(const char *name, size_t name_length, grpc_compression_algorithm *algorithm); |
||||
extern grpc_compression_algorithm_parse_type grpc_compression_algorithm_parse_import; |
||||
#define grpc_compression_algorithm_parse grpc_compression_algorithm_parse_import |
||||
typedef int(*grpc_compression_algorithm_name_type)(grpc_compression_algorithm algorithm, char **name); |
||||
extern grpc_compression_algorithm_name_type grpc_compression_algorithm_name_import; |
||||
#define grpc_compression_algorithm_name grpc_compression_algorithm_name_import |
||||
typedef grpc_compression_algorithm(*grpc_compression_algorithm_for_level_type)(grpc_compression_level level); |
||||
extern grpc_compression_algorithm_for_level_type grpc_compression_algorithm_for_level_import; |
||||
#define grpc_compression_algorithm_for_level grpc_compression_algorithm_for_level_import |
||||
typedef void(*grpc_compression_options_init_type)(grpc_compression_options *opts); |
||||
extern grpc_compression_options_init_type grpc_compression_options_init_import; |
||||
#define grpc_compression_options_init grpc_compression_options_init_import |
||||
typedef void(*grpc_compression_options_enable_algorithm_type)(grpc_compression_options *opts, grpc_compression_algorithm algorithm); |
||||
extern grpc_compression_options_enable_algorithm_type grpc_compression_options_enable_algorithm_import; |
||||
#define grpc_compression_options_enable_algorithm grpc_compression_options_enable_algorithm_import |
||||
typedef void(*grpc_compression_options_disable_algorithm_type)(grpc_compression_options *opts, grpc_compression_algorithm algorithm); |
||||
extern grpc_compression_options_disable_algorithm_type grpc_compression_options_disable_algorithm_import; |
||||
#define grpc_compression_options_disable_algorithm grpc_compression_options_disable_algorithm_import |
||||
typedef int(*grpc_compression_options_is_algorithm_enabled_type)(const grpc_compression_options *opts, grpc_compression_algorithm algorithm); |
||||
extern grpc_compression_options_is_algorithm_enabled_type grpc_compression_options_is_algorithm_enabled_import; |
||||
#define grpc_compression_options_is_algorithm_enabled grpc_compression_options_is_algorithm_enabled_import |
||||
typedef void(*grpc_metadata_array_init_type)(grpc_metadata_array *array); |
||||
extern grpc_metadata_array_init_type grpc_metadata_array_init_import; |
||||
#define grpc_metadata_array_init grpc_metadata_array_init_import |
||||
typedef void(*grpc_metadata_array_destroy_type)(grpc_metadata_array *array); |
||||
extern grpc_metadata_array_destroy_type grpc_metadata_array_destroy_import; |
||||
#define grpc_metadata_array_destroy grpc_metadata_array_destroy_import |
||||
typedef void(*grpc_call_details_init_type)(grpc_call_details *details); |
||||
extern grpc_call_details_init_type grpc_call_details_init_import; |
||||
#define grpc_call_details_init grpc_call_details_init_import |
||||
typedef void(*grpc_call_details_destroy_type)(grpc_call_details *details); |
||||
extern grpc_call_details_destroy_type grpc_call_details_destroy_import; |
||||
#define grpc_call_details_destroy grpc_call_details_destroy_import |
||||
typedef void(*grpc_register_plugin_type)(void (*init)(void), void (*destroy)(void)); |
||||
extern grpc_register_plugin_type grpc_register_plugin_import; |
||||
#define grpc_register_plugin grpc_register_plugin_import |
||||
typedef void(*grpc_init_type)(void); |
||||
extern grpc_init_type grpc_init_import; |
||||
#define grpc_init grpc_init_import |
||||
typedef void(*grpc_shutdown_type)(void); |
||||
extern grpc_shutdown_type grpc_shutdown_import; |
||||
#define grpc_shutdown grpc_shutdown_import |
||||
typedef const char *(*grpc_version_string_type)(void); |
||||
extern grpc_version_string_type grpc_version_string_import; |
||||
#define grpc_version_string grpc_version_string_import |
||||
typedef grpc_completion_queue *(*grpc_completion_queue_create_type)(void *reserved); |
||||
extern grpc_completion_queue_create_type grpc_completion_queue_create_import; |
||||
#define grpc_completion_queue_create grpc_completion_queue_create_import |
||||
typedef grpc_event(*grpc_completion_queue_next_type)(grpc_completion_queue *cq, gpr_timespec deadline, void *reserved); |
||||
extern grpc_completion_queue_next_type grpc_completion_queue_next_import; |
||||
#define grpc_completion_queue_next grpc_completion_queue_next_import |
||||
typedef grpc_event(*grpc_completion_queue_pluck_type)(grpc_completion_queue *cq, void *tag, gpr_timespec deadline, void *reserved); |
||||
extern grpc_completion_queue_pluck_type grpc_completion_queue_pluck_import; |
||||
#define grpc_completion_queue_pluck grpc_completion_queue_pluck_import |
||||
typedef void(*grpc_completion_queue_shutdown_type)(grpc_completion_queue *cq); |
||||
extern grpc_completion_queue_shutdown_type grpc_completion_queue_shutdown_import; |
||||
#define grpc_completion_queue_shutdown grpc_completion_queue_shutdown_import |
||||
typedef void(*grpc_completion_queue_destroy_type)(grpc_completion_queue *cq); |
||||
extern grpc_completion_queue_destroy_type grpc_completion_queue_destroy_import; |
||||
#define grpc_completion_queue_destroy grpc_completion_queue_destroy_import |
||||
typedef grpc_alarm *(*grpc_alarm_create_type)(grpc_completion_queue *cq, gpr_timespec deadline, void *tag); |
||||
extern grpc_alarm_create_type grpc_alarm_create_import; |
||||
#define grpc_alarm_create grpc_alarm_create_import |
||||
typedef void(*grpc_alarm_cancel_type)(grpc_alarm *alarm); |
||||
extern grpc_alarm_cancel_type grpc_alarm_cancel_import; |
||||
#define grpc_alarm_cancel grpc_alarm_cancel_import |
||||
typedef void(*grpc_alarm_destroy_type)(grpc_alarm *alarm); |
||||
extern grpc_alarm_destroy_type grpc_alarm_destroy_import; |
||||
#define grpc_alarm_destroy grpc_alarm_destroy_import |
||||
typedef grpc_connectivity_state(*grpc_channel_check_connectivity_state_type)(grpc_channel *channel, int try_to_connect); |
||||
extern grpc_channel_check_connectivity_state_type grpc_channel_check_connectivity_state_import; |
||||
#define grpc_channel_check_connectivity_state grpc_channel_check_connectivity_state_import |
||||
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); |
||||
extern grpc_channel_watch_connectivity_state_type grpc_channel_watch_connectivity_state_import; |
||||
#define grpc_channel_watch_connectivity_state grpc_channel_watch_connectivity_state_import |
||||
typedef grpc_call *(*grpc_channel_create_call_type)(grpc_channel *channel, grpc_call *parent_call, uint32_t propagation_mask, grpc_completion_queue *completion_queue, const char *method, const char *host, gpr_timespec deadline, void *reserved); |
||||
extern grpc_channel_create_call_type grpc_channel_create_call_import; |
||||
#define grpc_channel_create_call grpc_channel_create_call_import |
||||
typedef void(*grpc_channel_ping_type)(grpc_channel *channel, grpc_completion_queue *cq, void *tag, void *reserved); |
||||
extern grpc_channel_ping_type grpc_channel_ping_import; |
||||
#define grpc_channel_ping grpc_channel_ping_import |
||||
typedef void *(*grpc_channel_register_call_type)(grpc_channel *channel, const char *method, const char *host, void *reserved); |
||||
extern grpc_channel_register_call_type grpc_channel_register_call_import; |
||||
#define grpc_channel_register_call grpc_channel_register_call_import |
||||
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); |
||||
extern grpc_channel_create_registered_call_type grpc_channel_create_registered_call_import; |
||||
#define grpc_channel_create_registered_call grpc_channel_create_registered_call_import |
||||
typedef grpc_call_error(*grpc_call_start_batch_type)(grpc_call *call, const grpc_op *ops, size_t nops, void *tag, void *reserved); |
||||
extern grpc_call_start_batch_type grpc_call_start_batch_import; |
||||
#define grpc_call_start_batch grpc_call_start_batch_import |
||||
typedef char *(*grpc_call_get_peer_type)(grpc_call *call); |
||||
extern grpc_call_get_peer_type grpc_call_get_peer_import; |
||||
#define grpc_call_get_peer grpc_call_get_peer_import |
||||
typedef void(*grpc_census_call_set_context_type)(grpc_call *call, struct census_context *context); |
||||
extern grpc_census_call_set_context_type grpc_census_call_set_context_import; |
||||
#define grpc_census_call_set_context grpc_census_call_set_context_import |
||||
typedef struct census_context *(*grpc_census_call_get_context_type)(grpc_call *call); |
||||
extern grpc_census_call_get_context_type grpc_census_call_get_context_import; |
||||
#define grpc_census_call_get_context grpc_census_call_get_context_import |
||||
typedef char *(*grpc_channel_get_target_type)(grpc_channel *channel); |
||||
extern grpc_channel_get_target_type grpc_channel_get_target_import; |
||||
#define grpc_channel_get_target grpc_channel_get_target_import |
||||
typedef grpc_channel *(*grpc_insecure_channel_create_type)(const char *target, const grpc_channel_args *args, void *reserved); |
||||
extern grpc_insecure_channel_create_type grpc_insecure_channel_create_import; |
||||
#define grpc_insecure_channel_create grpc_insecure_channel_create_import |
||||
typedef grpc_channel *(*grpc_lame_client_channel_create_type)(const char *target, grpc_status_code error_code, const char *error_message); |
||||
extern grpc_lame_client_channel_create_type grpc_lame_client_channel_create_import; |
||||
#define grpc_lame_client_channel_create grpc_lame_client_channel_create_import |
||||
typedef void(*grpc_channel_destroy_type)(grpc_channel *channel); |
||||
extern grpc_channel_destroy_type grpc_channel_destroy_import; |
||||
#define grpc_channel_destroy grpc_channel_destroy_import |
||||
typedef grpc_call_error(*grpc_call_cancel_type)(grpc_call *call, void *reserved); |
||||
extern grpc_call_cancel_type grpc_call_cancel_import; |
||||
#define grpc_call_cancel grpc_call_cancel_import |
||||
typedef grpc_call_error(*grpc_call_cancel_with_status_type)(grpc_call *call, grpc_status_code status, const char *description, void *reserved); |
||||
extern grpc_call_cancel_with_status_type grpc_call_cancel_with_status_import; |
||||
#define grpc_call_cancel_with_status grpc_call_cancel_with_status_import |
||||
typedef void(*grpc_call_destroy_type)(grpc_call *call); |
||||
extern grpc_call_destroy_type grpc_call_destroy_import; |
||||
#define grpc_call_destroy grpc_call_destroy_import |
||||
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); |
||||
extern grpc_server_request_call_type grpc_server_request_call_import; |
||||
#define grpc_server_request_call grpc_server_request_call_import |
||||
typedef void *(*grpc_server_register_method_type)(grpc_server *server, const char *method, const char *host); |
||||
extern grpc_server_register_method_type grpc_server_register_method_import; |
||||
#define grpc_server_register_method grpc_server_register_method_import |
||||
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); |
||||
extern grpc_server_request_registered_call_type grpc_server_request_registered_call_import; |
||||
#define grpc_server_request_registered_call grpc_server_request_registered_call_import |
||||
typedef grpc_server *(*grpc_server_create_type)(const grpc_channel_args *args, void *reserved); |
||||
extern grpc_server_create_type grpc_server_create_import; |
||||
#define grpc_server_create grpc_server_create_import |
||||
typedef void(*grpc_server_register_completion_queue_type)(grpc_server *server, grpc_completion_queue *cq, void *reserved); |
||||
extern grpc_server_register_completion_queue_type grpc_server_register_completion_queue_import; |
||||
#define grpc_server_register_completion_queue grpc_server_register_completion_queue_import |
||||
typedef int(*grpc_server_add_insecure_http2_port_type)(grpc_server *server, const char *addr); |
||||
extern grpc_server_add_insecure_http2_port_type grpc_server_add_insecure_http2_port_import; |
||||
#define grpc_server_add_insecure_http2_port grpc_server_add_insecure_http2_port_import |
||||
typedef void(*grpc_server_start_type)(grpc_server *server); |
||||
extern grpc_server_start_type grpc_server_start_import; |
||||
#define grpc_server_start grpc_server_start_import |
||||
typedef void(*grpc_server_shutdown_and_notify_type)(grpc_server *server, grpc_completion_queue *cq, void *tag); |
||||
extern grpc_server_shutdown_and_notify_type grpc_server_shutdown_and_notify_import; |
||||
#define grpc_server_shutdown_and_notify grpc_server_shutdown_and_notify_import |
||||
typedef void(*grpc_server_cancel_all_calls_type)(grpc_server *server); |
||||
extern grpc_server_cancel_all_calls_type grpc_server_cancel_all_calls_import; |
||||
#define grpc_server_cancel_all_calls grpc_server_cancel_all_calls_import |
||||
typedef void(*grpc_server_destroy_type)(grpc_server *server); |
||||
extern grpc_server_destroy_type grpc_server_destroy_import; |
||||
#define grpc_server_destroy grpc_server_destroy_import |
||||
typedef int(*grpc_tracer_set_enabled_type)(const char *name, int enabled); |
||||
extern grpc_tracer_set_enabled_type grpc_tracer_set_enabled_import; |
||||
#define grpc_tracer_set_enabled grpc_tracer_set_enabled_import |
||||
typedef int(*grpc_header_key_is_legal_type)(const char *key, size_t length); |
||||
extern grpc_header_key_is_legal_type grpc_header_key_is_legal_import; |
||||
#define grpc_header_key_is_legal grpc_header_key_is_legal_import |
||||
typedef int(*grpc_header_nonbin_value_is_legal_type)(const char *value, size_t length); |
||||
extern grpc_header_nonbin_value_is_legal_type grpc_header_nonbin_value_is_legal_import; |
||||
#define grpc_header_nonbin_value_is_legal grpc_header_nonbin_value_is_legal_import |
||||
typedef int(*grpc_is_binary_header_type)(const char *key, size_t length); |
||||
extern grpc_is_binary_header_type grpc_is_binary_header_import; |
||||
#define grpc_is_binary_header grpc_is_binary_header_import |
||||
typedef const grpc_auth_property *(*grpc_auth_property_iterator_next_type)(grpc_auth_property_iterator *it); |
||||
extern grpc_auth_property_iterator_next_type grpc_auth_property_iterator_next_import; |
||||
#define grpc_auth_property_iterator_next grpc_auth_property_iterator_next_import |
||||
typedef grpc_auth_property_iterator(*grpc_auth_context_property_iterator_type)(const grpc_auth_context *ctx); |
||||
extern grpc_auth_context_property_iterator_type grpc_auth_context_property_iterator_import; |
||||
#define grpc_auth_context_property_iterator grpc_auth_context_property_iterator_import |
||||
typedef grpc_auth_property_iterator(*grpc_auth_context_peer_identity_type)(const grpc_auth_context *ctx); |
||||
extern grpc_auth_context_peer_identity_type grpc_auth_context_peer_identity_import; |
||||
#define grpc_auth_context_peer_identity grpc_auth_context_peer_identity_import |
||||
typedef grpc_auth_property_iterator(*grpc_auth_context_find_properties_by_name_type)(const grpc_auth_context *ctx, const char *name); |
||||
extern grpc_auth_context_find_properties_by_name_type grpc_auth_context_find_properties_by_name_import; |
||||
#define grpc_auth_context_find_properties_by_name grpc_auth_context_find_properties_by_name_import |
||||
typedef const char *(*grpc_auth_context_peer_identity_property_name_type)(const grpc_auth_context *ctx); |
||||
extern grpc_auth_context_peer_identity_property_name_type grpc_auth_context_peer_identity_property_name_import; |
||||
#define grpc_auth_context_peer_identity_property_name grpc_auth_context_peer_identity_property_name_import |
||||
typedef int(*grpc_auth_context_peer_is_authenticated_type)(const grpc_auth_context *ctx); |
||||
extern grpc_auth_context_peer_is_authenticated_type grpc_auth_context_peer_is_authenticated_import; |
||||
#define grpc_auth_context_peer_is_authenticated grpc_auth_context_peer_is_authenticated_import |
||||
typedef grpc_auth_context *(*grpc_call_auth_context_type)(grpc_call *call); |
||||
extern grpc_call_auth_context_type grpc_call_auth_context_import; |
||||
#define grpc_call_auth_context grpc_call_auth_context_import |
||||
typedef void(*grpc_auth_context_release_type)(grpc_auth_context *context); |
||||
extern grpc_auth_context_release_type grpc_auth_context_release_import; |
||||
#define grpc_auth_context_release grpc_auth_context_release_import |
||||
typedef void(*grpc_auth_context_add_property_type)(grpc_auth_context *ctx, const char *name, const char *value, size_t value_length); |
||||
extern grpc_auth_context_add_property_type grpc_auth_context_add_property_import; |
||||
#define grpc_auth_context_add_property grpc_auth_context_add_property_import |
||||
typedef void(*grpc_auth_context_add_cstring_property_type)(grpc_auth_context *ctx, const char *name, const char *value); |
||||
extern grpc_auth_context_add_cstring_property_type grpc_auth_context_add_cstring_property_import; |
||||
#define grpc_auth_context_add_cstring_property grpc_auth_context_add_cstring_property_import |
||||
typedef int(*grpc_auth_context_set_peer_identity_property_name_type)(grpc_auth_context *ctx, const char *name); |
||||
extern grpc_auth_context_set_peer_identity_property_name_type grpc_auth_context_set_peer_identity_property_name_import; |
||||
#define grpc_auth_context_set_peer_identity_property_name grpc_auth_context_set_peer_identity_property_name_import |
||||
typedef void(*grpc_channel_credentials_release_type)(grpc_channel_credentials *creds); |
||||
extern grpc_channel_credentials_release_type grpc_channel_credentials_release_import; |
||||
#define grpc_channel_credentials_release grpc_channel_credentials_release_import |
||||
typedef grpc_channel_credentials *(*grpc_google_default_credentials_create_type)(void); |
||||
extern grpc_google_default_credentials_create_type grpc_google_default_credentials_create_import; |
||||
#define grpc_google_default_credentials_create grpc_google_default_credentials_create_import |
||||
typedef 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); |
||||
extern grpc_ssl_credentials_create_type grpc_ssl_credentials_create_import; |
||||
#define grpc_ssl_credentials_create grpc_ssl_credentials_create_import |
||||
typedef void(*grpc_call_credentials_release_type)(grpc_call_credentials *creds); |
||||
extern grpc_call_credentials_release_type grpc_call_credentials_release_import; |
||||
#define grpc_call_credentials_release grpc_call_credentials_release_import |
||||
typedef grpc_channel_credentials *(*grpc_composite_channel_credentials_create_type)(grpc_channel_credentials *channel_creds, grpc_call_credentials *call_creds, void *reserved); |
||||
extern grpc_composite_channel_credentials_create_type grpc_composite_channel_credentials_create_import; |
||||
#define grpc_composite_channel_credentials_create grpc_composite_channel_credentials_create_import |
||||
typedef grpc_call_credentials *(*grpc_composite_call_credentials_create_type)(grpc_call_credentials *creds1, grpc_call_credentials *creds2, void *reserved); |
||||
extern grpc_composite_call_credentials_create_type grpc_composite_call_credentials_create_import; |
||||
#define grpc_composite_call_credentials_create grpc_composite_call_credentials_create_import |
||||
typedef grpc_call_credentials *(*grpc_google_compute_engine_credentials_create_type)(void *reserved); |
||||
extern grpc_google_compute_engine_credentials_create_type grpc_google_compute_engine_credentials_create_import; |
||||
#define grpc_google_compute_engine_credentials_create grpc_google_compute_engine_credentials_create_import |
||||
typedef gpr_timespec(*grpc_max_auth_token_lifetime_type)(); |
||||
extern grpc_max_auth_token_lifetime_type grpc_max_auth_token_lifetime_import; |
||||
#define grpc_max_auth_token_lifetime grpc_max_auth_token_lifetime_import |
||||
typedef grpc_call_credentials *(*grpc_service_account_jwt_access_credentials_create_type)(const char *json_key, gpr_timespec token_lifetime, void *reserved); |
||||
extern grpc_service_account_jwt_access_credentials_create_type grpc_service_account_jwt_access_credentials_create_import; |
||||
#define grpc_service_account_jwt_access_credentials_create grpc_service_account_jwt_access_credentials_create_import |
||||
typedef grpc_call_credentials *(*grpc_google_refresh_token_credentials_create_type)(const char *json_refresh_token, void *reserved); |
||||
extern grpc_google_refresh_token_credentials_create_type grpc_google_refresh_token_credentials_create_import; |
||||
#define grpc_google_refresh_token_credentials_create grpc_google_refresh_token_credentials_create_import |
||||
typedef grpc_call_credentials *(*grpc_access_token_credentials_create_type)(const char *access_token, void *reserved); |
||||
extern grpc_access_token_credentials_create_type grpc_access_token_credentials_create_import; |
||||
#define grpc_access_token_credentials_create grpc_access_token_credentials_create_import |
||||
typedef grpc_call_credentials *(*grpc_google_iam_credentials_create_type)(const char *authorization_token, const char *authority_selector, void *reserved); |
||||
extern grpc_google_iam_credentials_create_type grpc_google_iam_credentials_create_import; |
||||
#define grpc_google_iam_credentials_create grpc_google_iam_credentials_create_import |
||||
typedef grpc_call_credentials *(*grpc_metadata_credentials_create_from_plugin_type)(grpc_metadata_credentials_plugin plugin, void *reserved); |
||||
extern grpc_metadata_credentials_create_from_plugin_type grpc_metadata_credentials_create_from_plugin_import; |
||||
#define grpc_metadata_credentials_create_from_plugin grpc_metadata_credentials_create_from_plugin_import |
||||
typedef grpc_channel *(*grpc_secure_channel_create_type)(grpc_channel_credentials *creds, const char *target, const grpc_channel_args *args, void *reserved); |
||||
extern grpc_secure_channel_create_type grpc_secure_channel_create_import; |
||||
#define grpc_secure_channel_create grpc_secure_channel_create_import |
||||
typedef void(*grpc_server_credentials_release_type)(grpc_server_credentials *creds); |
||||
extern grpc_server_credentials_release_type grpc_server_credentials_release_import; |
||||
#define grpc_server_credentials_release grpc_server_credentials_release_import |
||||
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); |
||||
extern grpc_ssl_server_credentials_create_type grpc_ssl_server_credentials_create_import; |
||||
#define grpc_ssl_server_credentials_create grpc_ssl_server_credentials_create_import |
||||
typedef int(*grpc_server_add_secure_http2_port_type)(grpc_server *server, const char *addr, grpc_server_credentials *creds); |
||||
extern grpc_server_add_secure_http2_port_type grpc_server_add_secure_http2_port_import; |
||||
#define grpc_server_add_secure_http2_port grpc_server_add_secure_http2_port_import |
||||
typedef grpc_call_error(*grpc_call_set_credentials_type)(grpc_call *call, grpc_call_credentials *creds); |
||||
extern grpc_call_set_credentials_type grpc_call_set_credentials_import; |
||||
#define grpc_call_set_credentials grpc_call_set_credentials_import |
||||
typedef void(*grpc_server_credentials_set_auth_metadata_processor_type)(grpc_server_credentials *creds, grpc_auth_metadata_processor processor); |
||||
extern grpc_server_credentials_set_auth_metadata_processor_type grpc_server_credentials_set_auth_metadata_processor_import; |
||||
#define grpc_server_credentials_set_auth_metadata_processor grpc_server_credentials_set_auth_metadata_processor_import |
||||
typedef void *(*gpr_malloc_type)(size_t size); |
||||
extern gpr_malloc_type gpr_malloc_import; |
||||
#define gpr_malloc gpr_malloc_import |
||||
typedef void(*gpr_free_type)(void *ptr); |
||||
extern gpr_free_type gpr_free_import; |
||||
#define gpr_free gpr_free_import |
||||
typedef void *(*gpr_realloc_type)(void *p, size_t size); |
||||
extern gpr_realloc_type gpr_realloc_import; |
||||
#define gpr_realloc gpr_realloc_import |
||||
typedef void *(*gpr_malloc_aligned_type)(size_t size, size_t alignment_log); |
||||
extern gpr_malloc_aligned_type gpr_malloc_aligned_import; |
||||
#define gpr_malloc_aligned gpr_malloc_aligned_import |
||||
typedef void(*gpr_free_aligned_type)(void *ptr); |
||||
extern gpr_free_aligned_type gpr_free_aligned_import; |
||||
#define gpr_free_aligned gpr_free_aligned_import |
||||
typedef void(*gpr_set_allocation_functions_type)(gpr_allocation_functions functions); |
||||
extern gpr_set_allocation_functions_type gpr_set_allocation_functions_import; |
||||
#define gpr_set_allocation_functions gpr_set_allocation_functions_import |
||||
typedef gpr_allocation_functions(*gpr_get_allocation_functions_type)(); |
||||
extern gpr_get_allocation_functions_type gpr_get_allocation_functions_import; |
||||
#define gpr_get_allocation_functions gpr_get_allocation_functions_import |
||||
typedef grpc_byte_buffer *(*grpc_raw_byte_buffer_create_type)(gpr_slice *slices, size_t nslices); |
||||
extern grpc_raw_byte_buffer_create_type grpc_raw_byte_buffer_create_import; |
||||
#define grpc_raw_byte_buffer_create grpc_raw_byte_buffer_create_import |
||||
typedef grpc_byte_buffer *(*grpc_raw_compressed_byte_buffer_create_type)(gpr_slice *slices, size_t nslices, grpc_compression_algorithm compression); |
||||
extern grpc_raw_compressed_byte_buffer_create_type grpc_raw_compressed_byte_buffer_create_import; |
||||
#define grpc_raw_compressed_byte_buffer_create grpc_raw_compressed_byte_buffer_create_import |
||||
typedef grpc_byte_buffer *(*grpc_byte_buffer_copy_type)(grpc_byte_buffer *bb); |
||||
extern grpc_byte_buffer_copy_type grpc_byte_buffer_copy_import; |
||||
#define grpc_byte_buffer_copy grpc_byte_buffer_copy_import |
||||
typedef size_t(*grpc_byte_buffer_length_type)(grpc_byte_buffer *bb); |
||||
extern grpc_byte_buffer_length_type grpc_byte_buffer_length_import; |
||||
#define grpc_byte_buffer_length grpc_byte_buffer_length_import |
||||
typedef void(*grpc_byte_buffer_destroy_type)(grpc_byte_buffer *byte_buffer); |
||||
extern grpc_byte_buffer_destroy_type grpc_byte_buffer_destroy_import; |
||||
#define grpc_byte_buffer_destroy grpc_byte_buffer_destroy_import |
||||
typedef void(*grpc_byte_buffer_reader_init_type)(grpc_byte_buffer_reader *reader, grpc_byte_buffer *buffer); |
||||
extern grpc_byte_buffer_reader_init_type grpc_byte_buffer_reader_init_import; |
||||
#define grpc_byte_buffer_reader_init grpc_byte_buffer_reader_init_import |
||||
typedef void(*grpc_byte_buffer_reader_destroy_type)(grpc_byte_buffer_reader *reader); |
||||
extern grpc_byte_buffer_reader_destroy_type grpc_byte_buffer_reader_destroy_import; |
||||
#define grpc_byte_buffer_reader_destroy grpc_byte_buffer_reader_destroy_import |
||||
typedef int(*grpc_byte_buffer_reader_next_type)(grpc_byte_buffer_reader *reader, gpr_slice *slice); |
||||
extern grpc_byte_buffer_reader_next_type grpc_byte_buffer_reader_next_import; |
||||
#define grpc_byte_buffer_reader_next grpc_byte_buffer_reader_next_import |
||||
typedef gpr_slice(*grpc_byte_buffer_reader_readall_type)(grpc_byte_buffer_reader *reader); |
||||
extern grpc_byte_buffer_reader_readall_type grpc_byte_buffer_reader_readall_import; |
||||
#define grpc_byte_buffer_reader_readall grpc_byte_buffer_reader_readall_import |
||||
typedef grpc_byte_buffer *(*grpc_raw_byte_buffer_from_reader_type)(grpc_byte_buffer_reader *reader); |
||||
extern grpc_raw_byte_buffer_from_reader_type grpc_raw_byte_buffer_from_reader_import; |
||||
#define grpc_raw_byte_buffer_from_reader grpc_raw_byte_buffer_from_reader_import |
||||
typedef void(*gpr_log_type)(const char *file, int line, gpr_log_severity severity, const char *format, ...); |
||||
extern gpr_log_type gpr_log_import; |
||||
#define gpr_log gpr_log_import |
||||
typedef void(*gpr_log_message_type)(const char *file, int line, gpr_log_severity severity, const char *message); |
||||
extern gpr_log_message_type gpr_log_message_import; |
||||
#define gpr_log_message gpr_log_message_import |
||||
typedef void(*gpr_set_log_function_type)(gpr_log_func func); |
||||
extern gpr_set_log_function_type gpr_set_log_function_import; |
||||
#define gpr_set_log_function gpr_set_log_function_import |
||||
typedef gpr_slice(*gpr_slice_ref_type)(gpr_slice s); |
||||
extern gpr_slice_ref_type gpr_slice_ref_import; |
||||
#define gpr_slice_ref gpr_slice_ref_import |
||||
typedef void(*gpr_slice_unref_type)(gpr_slice s); |
||||
extern gpr_slice_unref_type gpr_slice_unref_import; |
||||
#define gpr_slice_unref gpr_slice_unref_import |
||||
typedef gpr_slice(*gpr_slice_new_type)(void *p, size_t len, void (*destroy)(void *)); |
||||
extern gpr_slice_new_type gpr_slice_new_import; |
||||
#define gpr_slice_new gpr_slice_new_import |
||||
typedef gpr_slice(*gpr_slice_new_with_len_type)(void *p, size_t len, void (*destroy)(void *, size_t)); |
||||
extern gpr_slice_new_with_len_type gpr_slice_new_with_len_import; |
||||
#define gpr_slice_new_with_len gpr_slice_new_with_len_import |
||||
typedef gpr_slice(*gpr_slice_malloc_type)(size_t length); |
||||
extern gpr_slice_malloc_type gpr_slice_malloc_import; |
||||
#define gpr_slice_malloc gpr_slice_malloc_import |
||||
typedef gpr_slice(*gpr_slice_from_copied_string_type)(const char *source); |
||||
extern gpr_slice_from_copied_string_type gpr_slice_from_copied_string_import; |
||||
#define gpr_slice_from_copied_string gpr_slice_from_copied_string_import |
||||
typedef gpr_slice(*gpr_slice_from_copied_buffer_type)(const char *source, size_t len); |
||||
extern gpr_slice_from_copied_buffer_type gpr_slice_from_copied_buffer_import; |
||||
#define gpr_slice_from_copied_buffer gpr_slice_from_copied_buffer_import |
||||
typedef gpr_slice(*gpr_slice_from_static_string_type)(const char *source); |
||||
extern gpr_slice_from_static_string_type gpr_slice_from_static_string_import; |
||||
#define gpr_slice_from_static_string gpr_slice_from_static_string_import |
||||
typedef gpr_slice(*gpr_slice_sub_type)(gpr_slice s, size_t begin, size_t end); |
||||
extern gpr_slice_sub_type gpr_slice_sub_import; |
||||
#define gpr_slice_sub gpr_slice_sub_import |
||||
typedef gpr_slice(*gpr_slice_sub_no_ref_type)(gpr_slice s, size_t begin, size_t end); |
||||
extern gpr_slice_sub_no_ref_type gpr_slice_sub_no_ref_import; |
||||
#define gpr_slice_sub_no_ref gpr_slice_sub_no_ref_import |
||||
typedef gpr_slice(*gpr_slice_split_tail_type)(gpr_slice *s, size_t split); |
||||
extern gpr_slice_split_tail_type gpr_slice_split_tail_import; |
||||
#define gpr_slice_split_tail gpr_slice_split_tail_import |
||||
typedef gpr_slice(*gpr_slice_split_head_type)(gpr_slice *s, size_t split); |
||||
extern gpr_slice_split_head_type gpr_slice_split_head_import; |
||||
#define gpr_slice_split_head gpr_slice_split_head_import |
||||
typedef gpr_slice(*gpr_empty_slice_type)(void); |
||||
extern gpr_empty_slice_type gpr_empty_slice_import; |
||||
#define gpr_empty_slice gpr_empty_slice_import |
||||
typedef int(*gpr_slice_cmp_type)(gpr_slice a, gpr_slice b); |
||||
extern gpr_slice_cmp_type gpr_slice_cmp_import; |
||||
#define gpr_slice_cmp gpr_slice_cmp_import |
||||
typedef int(*gpr_slice_str_cmp_type)(gpr_slice a, const char *b); |
||||
extern gpr_slice_str_cmp_type gpr_slice_str_cmp_import; |
||||
#define gpr_slice_str_cmp gpr_slice_str_cmp_import |
||||
typedef void(*gpr_slice_buffer_init_type)(gpr_slice_buffer *sb); |
||||
extern gpr_slice_buffer_init_type gpr_slice_buffer_init_import; |
||||
#define gpr_slice_buffer_init gpr_slice_buffer_init_import |
||||
typedef void(*gpr_slice_buffer_destroy_type)(gpr_slice_buffer *sb); |
||||
extern gpr_slice_buffer_destroy_type gpr_slice_buffer_destroy_import; |
||||
#define gpr_slice_buffer_destroy gpr_slice_buffer_destroy_import |
||||
typedef void(*gpr_slice_buffer_add_type)(gpr_slice_buffer *sb, gpr_slice slice); |
||||
extern gpr_slice_buffer_add_type gpr_slice_buffer_add_import; |
||||
#define gpr_slice_buffer_add gpr_slice_buffer_add_import |
||||
typedef size_t(*gpr_slice_buffer_add_indexed_type)(gpr_slice_buffer *sb, gpr_slice slice); |
||||
extern gpr_slice_buffer_add_indexed_type gpr_slice_buffer_add_indexed_import; |
||||
#define gpr_slice_buffer_add_indexed gpr_slice_buffer_add_indexed_import |
||||
typedef void(*gpr_slice_buffer_addn_type)(gpr_slice_buffer *sb, gpr_slice *slices, size_t n); |
||||
extern gpr_slice_buffer_addn_type gpr_slice_buffer_addn_import; |
||||
#define gpr_slice_buffer_addn gpr_slice_buffer_addn_import |
||||
typedef uint8_t *(*gpr_slice_buffer_tiny_add_type)(gpr_slice_buffer *sb, size_t len); |
||||
extern gpr_slice_buffer_tiny_add_type gpr_slice_buffer_tiny_add_import; |
||||
#define gpr_slice_buffer_tiny_add gpr_slice_buffer_tiny_add_import |
||||
typedef void(*gpr_slice_buffer_pop_type)(gpr_slice_buffer *sb); |
||||
extern gpr_slice_buffer_pop_type gpr_slice_buffer_pop_import; |
||||
#define gpr_slice_buffer_pop gpr_slice_buffer_pop_import |
||||
typedef void(*gpr_slice_buffer_reset_and_unref_type)(gpr_slice_buffer *sb); |
||||
extern gpr_slice_buffer_reset_and_unref_type gpr_slice_buffer_reset_and_unref_import; |
||||
#define gpr_slice_buffer_reset_and_unref gpr_slice_buffer_reset_and_unref_import |
||||
typedef void(*gpr_slice_buffer_swap_type)(gpr_slice_buffer *a, gpr_slice_buffer *b); |
||||
extern gpr_slice_buffer_swap_type gpr_slice_buffer_swap_import; |
||||
#define gpr_slice_buffer_swap gpr_slice_buffer_swap_import |
||||
typedef void(*gpr_slice_buffer_move_into_type)(gpr_slice_buffer *src, gpr_slice_buffer *dst); |
||||
extern gpr_slice_buffer_move_into_type gpr_slice_buffer_move_into_import; |
||||
#define gpr_slice_buffer_move_into gpr_slice_buffer_move_into_import |
||||
typedef void(*gpr_slice_buffer_trim_end_type)(gpr_slice_buffer *src, size_t n, gpr_slice_buffer *garbage); |
||||
extern gpr_slice_buffer_trim_end_type gpr_slice_buffer_trim_end_import; |
||||
#define gpr_slice_buffer_trim_end gpr_slice_buffer_trim_end_import |
||||
typedef void(*gpr_slice_buffer_move_first_type)(gpr_slice_buffer *src, size_t n, gpr_slice_buffer *dst); |
||||
extern gpr_slice_buffer_move_first_type gpr_slice_buffer_move_first_import; |
||||
#define gpr_slice_buffer_move_first gpr_slice_buffer_move_first_import |
||||
typedef gpr_slice(*gpr_slice_buffer_take_first_type)(gpr_slice_buffer *src); |
||||
extern gpr_slice_buffer_take_first_type gpr_slice_buffer_take_first_import; |
||||
#define gpr_slice_buffer_take_first gpr_slice_buffer_take_first_import |
||||
typedef void(*gpr_mu_init_type)(gpr_mu *mu); |
||||
extern gpr_mu_init_type gpr_mu_init_import; |
||||
#define gpr_mu_init gpr_mu_init_import |
||||
typedef void(*gpr_mu_destroy_type)(gpr_mu *mu); |
||||
extern gpr_mu_destroy_type gpr_mu_destroy_import; |
||||
#define gpr_mu_destroy gpr_mu_destroy_import |
||||
typedef void(*gpr_mu_lock_type)(gpr_mu *mu); |
||||
extern gpr_mu_lock_type gpr_mu_lock_import; |
||||
#define gpr_mu_lock gpr_mu_lock_import |
||||
typedef void(*gpr_mu_unlock_type)(gpr_mu *mu); |
||||
extern gpr_mu_unlock_type gpr_mu_unlock_import; |
||||
#define gpr_mu_unlock gpr_mu_unlock_import |
||||
typedef int(*gpr_mu_trylock_type)(gpr_mu *mu); |
||||
extern gpr_mu_trylock_type gpr_mu_trylock_import; |
||||
#define gpr_mu_trylock gpr_mu_trylock_import |
||||
typedef void(*gpr_cv_init_type)(gpr_cv *cv); |
||||
extern gpr_cv_init_type gpr_cv_init_import; |
||||
#define gpr_cv_init gpr_cv_init_import |
||||
typedef void(*gpr_cv_destroy_type)(gpr_cv *cv); |
||||
extern gpr_cv_destroy_type gpr_cv_destroy_import; |
||||
#define gpr_cv_destroy gpr_cv_destroy_import |
||||
typedef int(*gpr_cv_wait_type)(gpr_cv *cv, gpr_mu *mu, gpr_timespec abs_deadline); |
||||
extern gpr_cv_wait_type gpr_cv_wait_import; |
||||
#define gpr_cv_wait gpr_cv_wait_import |
||||
typedef void(*gpr_cv_signal_type)(gpr_cv *cv); |
||||
extern gpr_cv_signal_type gpr_cv_signal_import; |
||||
#define gpr_cv_signal gpr_cv_signal_import |
||||
typedef void(*gpr_cv_broadcast_type)(gpr_cv *cv); |
||||
extern gpr_cv_broadcast_type gpr_cv_broadcast_import; |
||||
#define gpr_cv_broadcast gpr_cv_broadcast_import |
||||
typedef void(*gpr_once_init_type)(gpr_once *once, void (*init_routine)(void)); |
||||
extern gpr_once_init_type gpr_once_init_import; |
||||
#define gpr_once_init gpr_once_init_import |
||||
typedef void(*gpr_event_init_type)(gpr_event *ev); |
||||
extern gpr_event_init_type gpr_event_init_import; |
||||
#define gpr_event_init gpr_event_init_import |
||||
typedef void(*gpr_event_set_type)(gpr_event *ev, void *value); |
||||
extern gpr_event_set_type gpr_event_set_import; |
||||
#define gpr_event_set gpr_event_set_import |
||||
typedef void *(*gpr_event_get_type)(gpr_event *ev); |
||||
extern gpr_event_get_type gpr_event_get_import; |
||||
#define gpr_event_get gpr_event_get_import |
||||
typedef void *(*gpr_event_wait_type)(gpr_event *ev, gpr_timespec abs_deadline); |
||||
extern gpr_event_wait_type gpr_event_wait_import; |
||||
#define gpr_event_wait gpr_event_wait_import |
||||
typedef void(*gpr_ref_init_type)(gpr_refcount *r, int n); |
||||
extern gpr_ref_init_type gpr_ref_init_import; |
||||
#define gpr_ref_init gpr_ref_init_import |
||||
typedef void(*gpr_ref_type)(gpr_refcount *r); |
||||
extern gpr_ref_type gpr_ref_import; |
||||
#define gpr_ref gpr_ref_import |
||||
typedef void(*gpr_refn_type)(gpr_refcount *r, int n); |
||||
extern gpr_refn_type gpr_refn_import; |
||||
#define gpr_refn gpr_refn_import |
||||
typedef int(*gpr_unref_type)(gpr_refcount *r); |
||||
extern gpr_unref_type gpr_unref_import; |
||||
#define gpr_unref gpr_unref_import |
||||
typedef void(*gpr_stats_init_type)(gpr_stats_counter *c, intptr_t n); |
||||
extern gpr_stats_init_type gpr_stats_init_import; |
||||
#define gpr_stats_init gpr_stats_init_import |
||||
typedef void(*gpr_stats_inc_type)(gpr_stats_counter *c, intptr_t inc); |
||||
extern gpr_stats_inc_type gpr_stats_inc_import; |
||||
#define gpr_stats_inc gpr_stats_inc_import |
||||
typedef intptr_t(*gpr_stats_read_type)(const gpr_stats_counter *c); |
||||
extern gpr_stats_read_type gpr_stats_read_import; |
||||
#define gpr_stats_read gpr_stats_read_import |
||||
typedef gpr_timespec(*gpr_time_0_type)(gpr_clock_type type); |
||||
extern gpr_time_0_type gpr_time_0_import; |
||||
#define gpr_time_0 gpr_time_0_import |
||||
typedef gpr_timespec(*gpr_inf_future_type)(gpr_clock_type type); |
||||
extern gpr_inf_future_type gpr_inf_future_import; |
||||
#define gpr_inf_future gpr_inf_future_import |
||||
typedef gpr_timespec(*gpr_inf_past_type)(gpr_clock_type type); |
||||
extern gpr_inf_past_type gpr_inf_past_import; |
||||
#define gpr_inf_past gpr_inf_past_import |
||||
typedef void(*gpr_time_init_type)(void); |
||||
extern gpr_time_init_type gpr_time_init_import; |
||||
#define gpr_time_init gpr_time_init_import |
||||
typedef gpr_timespec(*gpr_now_type)(gpr_clock_type clock); |
||||
extern gpr_now_type gpr_now_import; |
||||
#define gpr_now gpr_now_import |
||||
typedef gpr_timespec(*gpr_convert_clock_type_type)(gpr_timespec t, gpr_clock_type target_clock); |
||||
extern gpr_convert_clock_type_type gpr_convert_clock_type_import; |
||||
#define gpr_convert_clock_type gpr_convert_clock_type_import |
||||
typedef int(*gpr_time_cmp_type)(gpr_timespec a, gpr_timespec b); |
||||
extern gpr_time_cmp_type gpr_time_cmp_import; |
||||
#define gpr_time_cmp gpr_time_cmp_import |
||||
typedef gpr_timespec(*gpr_time_max_type)(gpr_timespec a, gpr_timespec b); |
||||
extern gpr_time_max_type gpr_time_max_import; |
||||
#define gpr_time_max gpr_time_max_import |
||||
typedef gpr_timespec(*gpr_time_min_type)(gpr_timespec a, gpr_timespec b); |
||||
extern gpr_time_min_type gpr_time_min_import; |
||||
#define gpr_time_min gpr_time_min_import |
||||
typedef gpr_timespec(*gpr_time_add_type)(gpr_timespec a, gpr_timespec b); |
||||
extern gpr_time_add_type gpr_time_add_import; |
||||
#define gpr_time_add gpr_time_add_import |
||||
typedef gpr_timespec(*gpr_time_sub_type)(gpr_timespec a, gpr_timespec b); |
||||
extern gpr_time_sub_type gpr_time_sub_import; |
||||
#define gpr_time_sub gpr_time_sub_import |
||||
typedef gpr_timespec(*gpr_time_from_micros_type)(long x, gpr_clock_type clock_type); |
||||
extern gpr_time_from_micros_type gpr_time_from_micros_import; |
||||
#define gpr_time_from_micros gpr_time_from_micros_import |
||||
typedef gpr_timespec(*gpr_time_from_nanos_type)(long x, gpr_clock_type clock_type); |
||||
extern gpr_time_from_nanos_type gpr_time_from_nanos_import; |
||||
#define gpr_time_from_nanos gpr_time_from_nanos_import |
||||
typedef gpr_timespec(*gpr_time_from_millis_type)(long x, gpr_clock_type clock_type); |
||||
extern gpr_time_from_millis_type gpr_time_from_millis_import; |
||||
#define gpr_time_from_millis gpr_time_from_millis_import |
||||
typedef gpr_timespec(*gpr_time_from_seconds_type)(long x, gpr_clock_type clock_type); |
||||
extern gpr_time_from_seconds_type gpr_time_from_seconds_import; |
||||
#define gpr_time_from_seconds gpr_time_from_seconds_import |
||||
typedef gpr_timespec(*gpr_time_from_minutes_type)(long x, gpr_clock_type clock_type); |
||||
extern gpr_time_from_minutes_type gpr_time_from_minutes_import; |
||||
#define gpr_time_from_minutes gpr_time_from_minutes_import |
||||
typedef gpr_timespec(*gpr_time_from_hours_type)(long x, gpr_clock_type clock_type); |
||||
extern gpr_time_from_hours_type gpr_time_from_hours_import; |
||||
#define gpr_time_from_hours gpr_time_from_hours_import |
||||
typedef int32_t(*gpr_time_to_millis_type)(gpr_timespec timespec); |
||||
extern gpr_time_to_millis_type gpr_time_to_millis_import; |
||||
#define gpr_time_to_millis gpr_time_to_millis_import |
||||
typedef int(*gpr_time_similar_type)(gpr_timespec a, gpr_timespec b, gpr_timespec threshold); |
||||
extern gpr_time_similar_type gpr_time_similar_import; |
||||
#define gpr_time_similar gpr_time_similar_import |
||||
typedef void(*gpr_sleep_until_type)(gpr_timespec until); |
||||
extern gpr_sleep_until_type gpr_sleep_until_import; |
||||
#define gpr_sleep_until gpr_sleep_until_import |
||||
typedef double(*gpr_timespec_to_micros_type)(gpr_timespec t); |
||||
extern gpr_timespec_to_micros_type gpr_timespec_to_micros_import; |
||||
#define gpr_timespec_to_micros gpr_timespec_to_micros_import |
||||
typedef gpr_avl(*gpr_avl_create_type)(const gpr_avl_vtable *vtable); |
||||
extern gpr_avl_create_type gpr_avl_create_import; |
||||
#define gpr_avl_create gpr_avl_create_import |
||||
typedef gpr_avl(*gpr_avl_ref_type)(gpr_avl avl); |
||||
extern gpr_avl_ref_type gpr_avl_ref_import; |
||||
#define gpr_avl_ref gpr_avl_ref_import |
||||
typedef void(*gpr_avl_unref_type)(gpr_avl avl); |
||||
extern gpr_avl_unref_type gpr_avl_unref_import; |
||||
#define gpr_avl_unref gpr_avl_unref_import |
||||
typedef gpr_avl(*gpr_avl_add_type)(gpr_avl avl, void *key, void *value); |
||||
extern gpr_avl_add_type gpr_avl_add_import; |
||||
#define gpr_avl_add gpr_avl_add_import |
||||
typedef gpr_avl(*gpr_avl_remove_type)(gpr_avl avl, void *key); |
||||
extern gpr_avl_remove_type gpr_avl_remove_import; |
||||
#define gpr_avl_remove gpr_avl_remove_import |
||||
typedef void *(*gpr_avl_get_type)(gpr_avl avl, void *key); |
||||
extern gpr_avl_get_type gpr_avl_get_import; |
||||
#define gpr_avl_get gpr_avl_get_import |
||||
typedef gpr_cmdline *(*gpr_cmdline_create_type)(const char *description); |
||||
extern gpr_cmdline_create_type gpr_cmdline_create_import; |
||||
#define gpr_cmdline_create gpr_cmdline_create_import |
||||
typedef void(*gpr_cmdline_add_int_type)(gpr_cmdline *cl, const char *name, const char *help, int *value); |
||||
extern gpr_cmdline_add_int_type gpr_cmdline_add_int_import; |
||||
#define gpr_cmdline_add_int gpr_cmdline_add_int_import |
||||
typedef void(*gpr_cmdline_add_flag_type)(gpr_cmdline *cl, const char *name, const char *help, int *value); |
||||
extern gpr_cmdline_add_flag_type gpr_cmdline_add_flag_import; |
||||
#define gpr_cmdline_add_flag gpr_cmdline_add_flag_import |
||||
typedef void(*gpr_cmdline_add_string_type)(gpr_cmdline *cl, const char *name, const char *help, char **value); |
||||
extern gpr_cmdline_add_string_type gpr_cmdline_add_string_import; |
||||
#define gpr_cmdline_add_string gpr_cmdline_add_string_import |
||||
typedef void(*gpr_cmdline_on_extra_arg_type)(gpr_cmdline *cl, const char *name, const char *help, void (*on_extra_arg)(void *user_data, const char *arg), void *user_data); |
||||
extern gpr_cmdline_on_extra_arg_type gpr_cmdline_on_extra_arg_import; |
||||
#define gpr_cmdline_on_extra_arg gpr_cmdline_on_extra_arg_import |
||||
typedef void(*gpr_cmdline_set_survive_failure_type)(gpr_cmdline *cl); |
||||
extern gpr_cmdline_set_survive_failure_type gpr_cmdline_set_survive_failure_import; |
||||
#define gpr_cmdline_set_survive_failure gpr_cmdline_set_survive_failure_import |
||||
typedef int(*gpr_cmdline_parse_type)(gpr_cmdline *cl, int argc, char **argv); |
||||
extern gpr_cmdline_parse_type gpr_cmdline_parse_import; |
||||
#define gpr_cmdline_parse gpr_cmdline_parse_import |
||||
typedef void(*gpr_cmdline_destroy_type)(gpr_cmdline *cl); |
||||
extern gpr_cmdline_destroy_type gpr_cmdline_destroy_import; |
||||
#define gpr_cmdline_destroy gpr_cmdline_destroy_import |
||||
typedef char *(*gpr_cmdline_usage_string_type)(gpr_cmdline *cl, const char *argv0); |
||||
extern gpr_cmdline_usage_string_type gpr_cmdline_usage_string_import; |
||||
#define gpr_cmdline_usage_string gpr_cmdline_usage_string_import |
||||
typedef unsigned(*gpr_cpu_num_cores_type)(void); |
||||
extern gpr_cpu_num_cores_type gpr_cpu_num_cores_import; |
||||
#define gpr_cpu_num_cores gpr_cpu_num_cores_import |
||||
typedef unsigned(*gpr_cpu_current_cpu_type)(void); |
||||
extern gpr_cpu_current_cpu_type gpr_cpu_current_cpu_import; |
||||
#define gpr_cpu_current_cpu gpr_cpu_current_cpu_import |
||||
typedef gpr_histogram *(*gpr_histogram_create_type)(double resolution, double max_bucket_start); |
||||
extern gpr_histogram_create_type gpr_histogram_create_import; |
||||
#define gpr_histogram_create gpr_histogram_create_import |
||||
typedef void(*gpr_histogram_destroy_type)(gpr_histogram *h); |
||||
extern gpr_histogram_destroy_type gpr_histogram_destroy_import; |
||||
#define gpr_histogram_destroy gpr_histogram_destroy_import |
||||
typedef void(*gpr_histogram_add_type)(gpr_histogram *h, double x); |
||||
extern gpr_histogram_add_type gpr_histogram_add_import; |
||||
#define gpr_histogram_add gpr_histogram_add_import |
||||
typedef int(*gpr_histogram_merge_type)(gpr_histogram *dst, const gpr_histogram *src); |
||||
extern gpr_histogram_merge_type gpr_histogram_merge_import; |
||||
#define gpr_histogram_merge gpr_histogram_merge_import |
||||
typedef double(*gpr_histogram_percentile_type)(gpr_histogram *histogram, double percentile); |
||||
extern gpr_histogram_percentile_type gpr_histogram_percentile_import; |
||||
#define gpr_histogram_percentile gpr_histogram_percentile_import |
||||
typedef double(*gpr_histogram_mean_type)(gpr_histogram *histogram); |
||||
extern gpr_histogram_mean_type gpr_histogram_mean_import; |
||||
#define gpr_histogram_mean gpr_histogram_mean_import |
||||
typedef double(*gpr_histogram_stddev_type)(gpr_histogram *histogram); |
||||
extern gpr_histogram_stddev_type gpr_histogram_stddev_import; |
||||
#define gpr_histogram_stddev gpr_histogram_stddev_import |
||||
typedef double(*gpr_histogram_variance_type)(gpr_histogram *histogram); |
||||
extern gpr_histogram_variance_type gpr_histogram_variance_import; |
||||
#define gpr_histogram_variance gpr_histogram_variance_import |
||||
typedef double(*gpr_histogram_maximum_type)(gpr_histogram *histogram); |
||||
extern gpr_histogram_maximum_type gpr_histogram_maximum_import; |
||||
#define gpr_histogram_maximum gpr_histogram_maximum_import |
||||
typedef double(*gpr_histogram_minimum_type)(gpr_histogram *histogram); |
||||
extern gpr_histogram_minimum_type gpr_histogram_minimum_import; |
||||
#define gpr_histogram_minimum gpr_histogram_minimum_import |
||||
typedef double(*gpr_histogram_count_type)(gpr_histogram *histogram); |
||||
extern gpr_histogram_count_type gpr_histogram_count_import; |
||||
#define gpr_histogram_count gpr_histogram_count_import |
||||
typedef double(*gpr_histogram_sum_type)(gpr_histogram *histogram); |
||||
extern gpr_histogram_sum_type gpr_histogram_sum_import; |
||||
#define gpr_histogram_sum gpr_histogram_sum_import |
||||
typedef double(*gpr_histogram_sum_of_squares_type)(gpr_histogram *histogram); |
||||
extern gpr_histogram_sum_of_squares_type gpr_histogram_sum_of_squares_import; |
||||
#define gpr_histogram_sum_of_squares gpr_histogram_sum_of_squares_import |
||||
typedef const uint32_t *(*gpr_histogram_get_contents_type)(gpr_histogram *histogram, size_t *count); |
||||
extern gpr_histogram_get_contents_type gpr_histogram_get_contents_import; |
||||
#define gpr_histogram_get_contents gpr_histogram_get_contents_import |
||||
typedef void(*gpr_histogram_merge_contents_type)(gpr_histogram *histogram, const uint32_t *data, size_t data_count, double min_seen, double max_seen, double sum, double sum_of_squares, double count); |
||||
extern gpr_histogram_merge_contents_type gpr_histogram_merge_contents_import; |
||||
#define gpr_histogram_merge_contents gpr_histogram_merge_contents_import |
||||
typedef int(*gpr_join_host_port_type)(char **out, const char *host, int port); |
||||
extern gpr_join_host_port_type gpr_join_host_port_import; |
||||
#define gpr_join_host_port gpr_join_host_port_import |
||||
typedef int(*gpr_split_host_port_type)(const char *name, char **host, char **port); |
||||
extern gpr_split_host_port_type gpr_split_host_port_import; |
||||
#define gpr_split_host_port gpr_split_host_port_import |
||||
typedef char *(*gpr_format_message_type)(int messageid); |
||||
extern gpr_format_message_type gpr_format_message_import; |
||||
#define gpr_format_message gpr_format_message_import |
||||
typedef char *(*gpr_strdup_type)(const char *src); |
||||
extern gpr_strdup_type gpr_strdup_import; |
||||
#define gpr_strdup gpr_strdup_import |
||||
typedef int(*gpr_asprintf_type)(char **strp, const char *format, ...); |
||||
extern gpr_asprintf_type gpr_asprintf_import; |
||||
#define gpr_asprintf gpr_asprintf_import |
||||
typedef const char *(*gpr_subprocess_binary_extension_type)(); |
||||
extern gpr_subprocess_binary_extension_type gpr_subprocess_binary_extension_import; |
||||
#define gpr_subprocess_binary_extension gpr_subprocess_binary_extension_import |
||||
typedef gpr_subprocess *(*gpr_subprocess_create_type)(int argc, const char **argv); |
||||
extern gpr_subprocess_create_type gpr_subprocess_create_import; |
||||
#define gpr_subprocess_create gpr_subprocess_create_import |
||||
typedef void(*gpr_subprocess_destroy_type)(gpr_subprocess *p); |
||||
extern gpr_subprocess_destroy_type gpr_subprocess_destroy_import; |
||||
#define gpr_subprocess_destroy gpr_subprocess_destroy_import |
||||
typedef int(*gpr_subprocess_join_type)(gpr_subprocess *p); |
||||
extern gpr_subprocess_join_type gpr_subprocess_join_import; |
||||
#define gpr_subprocess_join gpr_subprocess_join_import |
||||
typedef void(*gpr_subprocess_interrupt_type)(gpr_subprocess *p); |
||||
extern gpr_subprocess_interrupt_type gpr_subprocess_interrupt_import; |
||||
#define gpr_subprocess_interrupt gpr_subprocess_interrupt_import |
||||
typedef int(*gpr_thd_new_type)(gpr_thd_id *t, void (*thd_body)(void *arg), void *arg, const gpr_thd_options *options); |
||||
extern gpr_thd_new_type gpr_thd_new_import; |
||||
#define gpr_thd_new gpr_thd_new_import |
||||
typedef gpr_thd_options(*gpr_thd_options_default_type)(void); |
||||
extern gpr_thd_options_default_type gpr_thd_options_default_import; |
||||
#define gpr_thd_options_default gpr_thd_options_default_import |
||||
typedef void(*gpr_thd_options_set_detached_type)(gpr_thd_options *options); |
||||
extern gpr_thd_options_set_detached_type gpr_thd_options_set_detached_import; |
||||
#define gpr_thd_options_set_detached gpr_thd_options_set_detached_import |
||||
typedef void(*gpr_thd_options_set_joinable_type)(gpr_thd_options *options); |
||||
extern gpr_thd_options_set_joinable_type gpr_thd_options_set_joinable_import; |
||||
#define gpr_thd_options_set_joinable gpr_thd_options_set_joinable_import |
||||
typedef int(*gpr_thd_options_is_detached_type)(const gpr_thd_options *options); |
||||
extern gpr_thd_options_is_detached_type gpr_thd_options_is_detached_import; |
||||
#define gpr_thd_options_is_detached gpr_thd_options_is_detached_import |
||||
typedef int(*gpr_thd_options_is_joinable_type)(const gpr_thd_options *options); |
||||
extern gpr_thd_options_is_joinable_type gpr_thd_options_is_joinable_import; |
||||
#define gpr_thd_options_is_joinable gpr_thd_options_is_joinable_import |
||||
typedef gpr_thd_id(*gpr_thd_currentid_type)(void); |
||||
extern gpr_thd_currentid_type gpr_thd_currentid_import; |
||||
#define gpr_thd_currentid gpr_thd_currentid_import |
||||
typedef void(*gpr_thd_join_type)(gpr_thd_id t); |
||||
extern gpr_thd_join_type gpr_thd_join_import; |
||||
#define gpr_thd_join gpr_thd_join_import |
||||
|
||||
void grpc_rb_load_imports(HMODULE library); |
||||
|
||||
#endif /* GPR_WIN32 */ |
||||
|
||||
#endif |
@ -0,0 +1,72 @@ |
||||
/*
|
||||
* |
||||
* Copyright 2016, Google Inc. |
||||
* All rights reserved. |
||||
* |
||||
* Redistribution and use in source and binary forms, with or without |
||||
* modification, are permitted provided that the following conditions are |
||||
* met: |
||||
* |
||||
* * Redistributions of source code must retain the above copyright |
||||
* notice, this list of conditions and the following disclaimer. |
||||
* * Redistributions in binary form must reproduce the above |
||||
* copyright notice, this list of conditions and the following disclaimer |
||||
* in the documentation and/or other materials provided with the |
||||
* distribution. |
||||
* * Neither the name of Google Inc. nor the names of its |
||||
* contributors may be used to endorse or promote products derived from |
||||
* this software without specific prior written permission. |
||||
* |
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
||||
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
||||
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
||||
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
||||
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
||||
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
||||
* |
||||
*/ |
||||
|
||||
#include "rb_grpc_imports.generated.h" |
||||
|
||||
#if GPR_WIN32 |
||||
#include <tchar.h> |
||||
|
||||
int grpc_rb_load_core() { |
||||
#if GPR_ARCH_64 |
||||
TCHAR fname[] = _T("grpc_c.64.ruby"); |
||||
#else |
||||
TCHAR fname[] = _T("grpc_c.32.ruby"); |
||||
#endif |
||||
HMODULE module = GetModuleHandle(_T("grpc_c.so")); |
||||
TCHAR path[2048 + 32] = _T(""); |
||||
LPTSTR seek_back = NULL; |
||||
GetModuleFileName(module, path, 2048); |
||||
|
||||
seek_back = _tcsrchr(path, _T('\\')); |
||||
|
||||
while (seek_back) { |
||||
HMODULE grpc_c; |
||||
_tcscpy(seek_back + 1, fname); |
||||
grpc_c = LoadLibrary(path); |
||||
if (grpc_c) { |
||||
grpc_rb_load_imports(grpc_c); |
||||
return 1; |
||||
} else { |
||||
*seek_back = _T('\0'); |
||||
seek_back = _tcsrchr(path, _T('\\')); |
||||
} |
||||
} |
||||
|
||||
return 0; |
||||
} |
||||
|
||||
#else |
||||
|
||||
int grpc_rb_load_core() { return 1; } |
||||
|
||||
#endif |
@ -0,0 +1,40 @@ |
||||
/*
|
||||
* |
||||
* Copyright 2016, Google Inc. |
||||
* All rights reserved. |
||||
* |
||||
* Redistribution and use in source and binary forms, with or without |
||||
* modification, are permitted provided that the following conditions are |
||||
* met: |
||||
* |
||||
* * Redistributions of source code must retain the above copyright |
||||
* notice, this list of conditions and the following disclaimer. |
||||
* * Redistributions in binary form must reproduce the above |
||||
* copyright notice, this list of conditions and the following disclaimer |
||||
* in the documentation and/or other materials provided with the |
||||
* distribution. |
||||
* * Neither the name of Google Inc. nor the names of its |
||||
* contributors may be used to endorse or promote products derived from |
||||
* this software without specific prior written permission. |
||||
* |
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
||||
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
||||
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
||||
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
||||
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
||||
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
||||
* |
||||
*/ |
||||
|
||||
#ifndef GRPC_RB_LOADER_H_ |
||||
#define GRPC_RB_LOADER_H_ |
||||
|
||||
/* Attempts to load the core if necessary, and return non-zero upon succes. */ |
||||
int grpc_rb_load_core(); |
||||
|
||||
#endif /* GRPC_RB_BYTE_BUFFER_H_ */ |
@ -0,0 +1,34 @@ |
||||
# Copyright 2015-2016, Google Inc. |
||||
# All rights reserved. |
||||
# |
||||
# Redistribution and use in source and binary forms, with or without |
||||
# modification, are permitted provided that the following conditions are |
||||
# met: |
||||
# |
||||
# * Redistributions of source code must retain the above copyright |
||||
# notice, this list of conditions and the following disclaimer. |
||||
# * Redistributions in binary form must reproduce the above |
||||
# copyright notice, this list of conditions and the following disclaimer |
||||
# in the documentation and/or other materials provided with the |
||||
# distribution. |
||||
# * Neither the name of Google Inc. nor the names of its |
||||
# contributors may be used to endorse or promote products derived from |
||||
# this software without specific prior written permission. |
||||
# |
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||||
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
||||
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
||||
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
||||
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
||||
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
||||
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
||||
|
||||
begin |
||||
require "grpc/#{RUBY_VERSION.sub(/\.\d$/, '')}/grpc_c" |
||||
rescue LoadError |
||||
require 'grpc/grpc_c' |
||||
end |
@ -0,0 +1,6 @@ |
||||
%YAML 1.2 |
||||
--- | |
||||
EXPORTS |
||||
% for api in c_apis: |
||||
${api.name} |
||||
% endfor |
@ -0,0 +1,52 @@ |
||||
%YAML 1.2 |
||||
--- | |
||||
/* |
||||
* |
||||
* Copyright 2016, Google Inc. |
||||
* All rights reserved. |
||||
* |
||||
* Redistribution and use in source and binary forms, with or without |
||||
* modification, are permitted provided that the following conditions are |
||||
* met: |
||||
* |
||||
* * Redistributions of source code must retain the above copyright |
||||
* notice, this list of conditions and the following disclaimer. |
||||
* * Redistributions in binary form must reproduce the above |
||||
* copyright notice, this list of conditions and the following disclaimer |
||||
* in the documentation and/or other materials provided with the |
||||
* distribution. |
||||
* * Neither the name of Google Inc. nor the names of its |
||||
* contributors may be used to endorse or promote products derived from |
||||
* this software without specific prior written permission. |
||||
* |
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
||||
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
||||
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
||||
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
||||
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
||||
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
||||
* |
||||
*/ |
||||
|
||||
#include <grpc/support/port_platform.h> |
||||
|
||||
#ifdef GPR_WIN32 |
||||
|
||||
#include "rb_grpc_imports.generated.h" |
||||
|
||||
%for api in c_apis: |
||||
${api.name}_type ${api.name}_import; |
||||
%endfor |
||||
|
||||
void grpc_rb_load_imports(HMODULE library) { |
||||
%for api in c_apis: |
||||
${api.name}_import = (${api.name}_type) GetProcAddress(library, "${api.name}"); |
||||
%endfor |
||||
} |
||||
|
||||
#endif /* GPR_WIN32 */ |
@ -0,0 +1,59 @@ |
||||
%YAML 1.2 |
||||
--- | |
||||
/* |
||||
* |
||||
* Copyright 2016, Google Inc. |
||||
* All rights reserved. |
||||
* |
||||
* Redistribution and use in source and binary forms, with or without |
||||
* modification, are permitted provided that the following conditions are |
||||
* met: |
||||
* |
||||
* * Redistributions of source code must retain the above copyright |
||||
* notice, this list of conditions and the following disclaimer. |
||||
* * Redistributions in binary form must reproduce the above |
||||
* copyright notice, this list of conditions and the following disclaimer |
||||
* in the documentation and/or other materials provided with the |
||||
* distribution. |
||||
* * Neither the name of Google Inc. nor the names of its |
||||
* contributors may be used to endorse or promote products derived from |
||||
* this software without specific prior written permission. |
||||
* |
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
||||
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
||||
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
||||
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
||||
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
||||
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
||||
* |
||||
*/ |
||||
|
||||
#ifndef GRPC_RB_GRPC_IMPORTS_H_ |
||||
#define GRPC_RB_GRPC_IMPORTS_H_ |
||||
|
||||
#include <grpc/support/port_platform.h> |
||||
|
||||
#ifdef GPR_WIN32 |
||||
|
||||
#include <windows.h> |
||||
|
||||
%for header in sorted(set(api.header for api in c_apis)): |
||||
#include <${'/'.join(header.split('/')[1:])}> |
||||
%endfor |
||||
|
||||
%for api in c_apis: |
||||
typedef ${api.return_type}(*${api.name}_type)(${api.arguments}); |
||||
extern ${api.name}_type ${api.name}_import; |
||||
#define ${api.name} ${api.name}_import |
||||
%endfor |
||||
|
||||
void grpc_rb_load_imports(HMODULE library); |
||||
|
||||
#endif /* GPR_WIN32 */ |
||||
|
||||
#endif |
@ -1,4 +1,4 @@ |
||||
%YAML 1.2 |
||||
--- | |
||||
<%namespace file="Doxyfile.include" import="gen_doxyfile"/>\ |
||||
${gen_doxyfile(['grpc', 'gpr'], 'Core', libs, True)} |
||||
${gen_doxyfile(['grpc'], 'Core', libs, True)} |
||||
|
@ -1,4 +1,4 @@ |
||||
%YAML 1.2 |
||||
--- | |
||||
<%namespace file="Doxyfile.include" import="gen_doxyfile"/>\ |
||||
${gen_doxyfile(['grpc', 'gpr'], 'Core', libs, False)} |
||||
${gen_doxyfile(['grpc'], 'Core', libs, False)} |
||||
|
@ -0,0 +1,36 @@ |
||||
#!/bin/bash |
||||
# Copyright 2015-2016, Google Inc. |
||||
# All rights reserved. |
||||
# |
||||
# Redistribution and use in source and binary forms, with or without |
||||
# modification, are permitted provided that the following conditions are |
||||
# met: |
||||
# |
||||
# * Redistributions of source code must retain the above copyright |
||||
# notice, this list of conditions and the following disclaimer. |
||||
# * Redistributions in binary form must reproduce the above |
||||
# copyright notice, this list of conditions and the following disclaimer |
||||
# in the documentation and/or other materials provided with the |
||||
# distribution. |
||||
# * Neither the name of Google Inc. nor the names of its |
||||
# contributors may be used to endorse or promote products derived from |
||||
# this software without specific prior written permission. |
||||
# |
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||||
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
||||
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
||||
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
||||
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
||||
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
||||
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
||||
|
||||
set -ex |
||||
|
||||
cd $(dirname $0) |
||||
|
||||
pip install "$EXTERNAL_GIT_ROOT/input_artifacts/grpcio-0.12.0b6.tar.gz" |
||||
|
@ -0,0 +1,36 @@ |
||||
#!/bin/bash |
||||
# Copyright 2015-2016, Google Inc. |
||||
# All rights reserved. |
||||
# |
||||
# Redistribution and use in source and binary forms, with or without |
||||
# modification, are permitted provided that the following conditions are |
||||
# met: |
||||
# |
||||
# * Redistributions of source code must retain the above copyright |
||||
# notice, this list of conditions and the following disclaimer. |
||||
# * Redistributions in binary form must reproduce the above |
||||
# copyright notice, this list of conditions and the following disclaimer |
||||
# in the documentation and/or other materials provided with the |
||||
# distribution. |
||||
# * Neither the name of Google Inc. nor the names of its |
||||
# contributors may be used to endorse or promote products derived from |
||||
# this software without specific prior written permission. |
||||
# |
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||||
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
||||
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
||||
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
||||
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
||||
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
||||
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
||||
|
||||
set -ex |
||||
|
||||
cd $(dirname $0) |
||||
|
||||
# do something ruby-ish |
||||
|
@ -0,0 +1,156 @@ |
||||
FROM ubuntu:14.04 |
||||
|
||||
RUN apt-get -y update && \ |
||||
apt-get install -y curl git-core mingw-w64 xz-utils build-essential wget unzip |
||||
|
||||
RUN mkdir -p /opt/mingw && \ |
||||
curl -SL http://downloads.sourceforge.net/mingw-w64/i686-w64-mingw32-gcc-4.7.2-release-linux64_rubenvb.tar.xz | \ |
||||
tar -xJC /opt/mingw && \ |
||||
echo "export PATH=\$PATH:/opt/mingw/mingw32/bin" >> /etc/rubybashrc |
||||
|
||||
RUN mkdir -p /opt/mingw && \ |
||||
curl -SL http://downloads.sourceforge.net/mingw-w64/x86_64-w64-mingw32-gcc-4.7.2-release-linux64_rubenvb.tar.xz | \ |
||||
tar -xJC /opt/mingw && \ |
||||
echo "export PATH=\$PATH:/opt/mingw/mingw64/bin" >> /etc/rubybashrc |
||||
|
||||
# Add "rvm" as system group, to avoid conflicts with host GIDs typically starting with 1000 |
||||
RUN groupadd -r rvm && useradd -r -g rvm -G sudo -p "" --create-home rvm && \ |
||||
echo "source /etc/profile.d/rvm.sh" >> /etc/rubybashrc |
||||
USER rvm |
||||
|
||||
# install rvm, RVM 1.26.0+ has signed releases, source rvm for usage outside of package scripts |
||||
RUN gpg --keyserver hkp://keys.gnupg.net --recv-keys D39DC0E3 && \ |
||||
(curl -L http://get.rvm.io | sudo bash -s stable) && \ |
||||
bash -c " \ |
||||
source /etc/rubybashrc && \ |
||||
rvmsudo rvm cleanup all " |
||||
|
||||
# Regenerate the following using build.sh if the build folder changes. |
||||
RUN echo \ |
||||
H4sIAByxrVYAA+1ae1PbSBLPv6dP0SeoxYAlWX7IkEAuBBziqgRSPJK7SnLasTSydJYl3cwIQwH7\ |
||||
2a9nJAMmIYTb4K3s6ldlaTSP7p5X93R7BnkU+9aTR0UD0e125Nvudhrq2+621LvEE7vpdFqtZrdp\ |
||||
Y75tt1qtJ9B5XLEK5FwQBvAki05p/I16fuqNKJuHRHPFQM0/j4bBxPQeiYecYMdp3zX/ttO8Pf9N\ |
||||
x+48gcYjyTODv/j8WysarMBRGHHIWDpkZAwhSfyYcjjs7/b3jgC/IEjZhDCfQyRApJiVipAy2cKj\ |
||||
nJuSRF8A0ogSQROf+rLWgALLEyAc3vV3wJa1ZMUdNZAgh13wKQlkN4lECHoxzLKhPtMS9hN4EyX5\ |
||||
aR2QNfg0IHksABduQuJSZCblLJoA5qcMqZLkrKxUiHmEclOsRmFbsNjYBjIi055K+VUzHzIkVvKQ\ |
||||
zSxNW4gSL859ChsFOTN8fjPvjFviLKP8y+wJiYTM1XBsIIt82ITGM007SSNfK+R2kaIsrMmHpJ6P\ |
||||
l7VzDSAKathgGVMAoyiO5Ve9lHb5mXZZ0ByTKFFNCRt6dfBCXM8rmD75+HlZUuGC5Z4iTDwRpQkk\ |
||||
dOIWyWeSiWQqiMg5SmbYKBqAtQKHVECeqcEuCOQ4ZjirPKNeFJypAiQEBSFTjhHcoGxy4k5nZRNm\ |
||||
+imZYoqOM3HGkUvtl9lmY8JHy8++oBbEZMjLwYMbvakV41GHG2TqUJPju7LcWFa1i2HHaR/VFOVy\ |
||||
YM/VyMoJqv1SDIEqBWAUu5vAh94/+0eHR1tHx4e1G+WXNOa0aHs1cPSUeidZTQ27/RmFKVMlQVxP\ |
||||
LGU1XVbTZ5kUJBRdnNF57/9C/2dEeCHlj3QOeLj9b3adZmX/54HZ+Wf54MywzTWza2StbvsHrYeH\ |
||||
z3/HbnSr+Z8Hvj3/SZqZqux38bjn/NewG/at+Xe6drs6/80DfhQEYBhDPNgRy0uTIBpKQz+4TuMZ\ |
||||
w6en0OnYnS4JTNNxWg06IGDjpu505m6wKvxQfGX/N82W2fiRR4GH6/92G1VCpf/ngDvnP0ldjq5c\ |
||||
EMX095qA+/R/22ndmv9u125W+n8e+G79Twe05a95pklaLWfQbU31v2EYN1tqq6urM61fvECncm29\ |
||||
3ap3YbVIOICZfgpPpRtEPDdIXM/F9eeN3CBPPNAX3/T3env7OujTJYhJrOidqApXC1PX0JMDQbkA\ |
||||
/XTxaxXQMzs9o/yZdFeTgqFHBDx/LgVEBx/9ddjYcLe2e/uvNGMBc6KEwuut9z33sLe386r/pge2\ |
||||
BmUF0CCI/lwW76vnv3Wz9Ufrf7vS/3PBnfM/P/1vN/Gw/4X+r+K/c8F36/+19bVuq4H63wuo0+w8\ |
||||
TP+3nfWO0v9lAjNlqFbqfqnwowSCceqrGGc2VAG5tnrKuJ2M2gHPyCQ5AX7GPRLH4LrTlBeyNBUw\ |
||||
pBr8DRQ4FRybCRrHfsTwk47kO/BCycJLeQg8SkIQBB9xOmwCS/PE/3STQI4E8DXEl0/oOE3wK6ae\ |
||||
cGPChtQNfBm3xB9FmfKkSHzSYBbjkYjGFORjOIbhWCZcBl6MK8kdUqFKy3ca+OQMshR7lMnnJ82Y\ |
||||
JZYxSqRMxY4EHubCTyeJioPGAtewNwI/diNBGRHUzUKfaatfJfE9La+tM3dxkk4I2/x1EdPUC9MZ\ |
||||
S7xYTqEOFyArCOby8FftHqt+3UpfvOKg/7kM60+Cb+j/HxH6Ufg/4j9N26n0/zxQxX/+2ri1/8mI\ |
||||
Gl46ztDGMKOBiqDzAxyBh5//Hdup7n/MBffPv/xfPs2FQU8FN6W6eDCP+/R/t9mcnf+m3WlU8Z+5\ |
||||
YEb/C8JH3BpEieWxlHNDHgdMuSbQHtxZVtoHh3jemu2gfSCkSdrr0j447XbpH9zduvAX7i5X/kOr\ |
||||
U19D76E19R3kEVhfOD8+7B24r/ff9i4ttY65tXD+tr+3+wEzD48u8evg+OW/3O1t933v4LC/v3dp\ |
||||
vUWaZWToOXwsaRQnd90wFJXNstnL4/6bnUu9XpQuGQZNyCCmBg8Jo/7Sdb4fcVUQJbiW4tjApYKl\ |
||||
Rlk63T9i9LVML14qzullptxmm0uS9Gd5cQEW4FXKPAofkDiuwKbymw5wdMA21+r4WJ/eU+HydkYk\ |
||||
HmiQy/tfuZ9Sxh9nid27/5sN54v//9uNav/PAzvTxVMCHVl3RGkGq5ugh0JkbsbS0zOQSV6mg6vc\ |
||||
g+0dtdVctWHevdk6erV/8PZWdrn3VG7/7dZuD27tysrz++NQ7n/BosydMJJlj7DG7zn/2bbdvR3/\ |
||||
tZ3K/s8FC3+3cs6U5ZXBLGl3NW0BDuWCKOxsmkCceiRGyxP7lIG0cjKQlAZA4H3ERE7iQXoKhVks\ |
||||
ayEJtEYTGbojKrwGQl4xHeTDp4UqeWpZk8nEPLlqb6ZsaIkIB1lYa22npWmM/jeP0BddEnScSVGW\ |
||||
rrPkZy6imC9pmlq8sCkPBK9ktHpAOFrqMa0tNpYvTeyZrmmyvrymt3Ww+95k9D/UE+cXwQUEm79Z\ |
||||
/zYsuDTHJJNRrwvChhdoeMVYkjwqOZvypuOSYrRUFJpenHKKacnyWEpiepm8gVlXpXigDrHwI6br\ |
||||
MvezRhNf09JM3k68EqQIKs4KAqtq2LkU6PxC1NMLEIocXGpanmAJl2FQHJMaKIHqsDIlK2+K0lM8\ |
||||
yqEBVQy91KfIbPEfpswubhqWg2FS4oWqx0rGlEWq39fdYWOVebuL094VTYpuKZ6SV6XIfzYU+p/l\ |
||||
CXms09/9/n+7fTv+12zb1flvLkD9L3U/6sxQ04aoqjPi+2AMQV/c7e/IAP3uwf7xO10bq39RjAws\ |
||||
1ABWmI6plnPKZmsbOaaOVWoX2Mm4Lh0L2UjHnMF1UzDGsiK6XqibpQO3uViTIsDGxgbo6l+G34ri\ |
||||
ZS1OwOCgrJSyQ7NBCiQj2+uWOZONVkFxzqds0MflVBiKefFPzcutw9dub+/9pkWFpyLfUgLmlcXo\ |
||||
tuqLL6qjaYUKFSpUqFChQoUKFSpUqFChQoUKFSpUqFChQoWfCv8DRAWcgwBQAAA=\ |
||||
| base64 -d | tar xzC /tmp |
||||
|
||||
# Import patch files for ruby and gems |
||||
RUN cp -r /tmp/build/patches /home/rvm/patches/ |
||||
ENV BASH_ENV /etc/rubybashrc |
||||
|
||||
# install rubies and fix permissions on |
||||
RUN bash -c " \ |
||||
export CFLAGS='-s -O3 -fno-fast-math -fPIC' && \ |
||||
for v in 2.3.0 ; do \ |
||||
rvm install \$v --patch \$(echo ~/patches/ruby-\$v/* | tr ' ' ','); \ |
||||
done && \ |
||||
rvm cleanup all && \ |
||||
find /usr/local/rvm -type d -print0 | sudo xargs -0 chmod g+sw " |
||||
|
||||
# Install rake-compiler and typical gems in all Rubies |
||||
# do not generate documentation for gems |
||||
RUN echo "gem: --no-ri --no-rdoc" >> ~/.gemrc && \ |
||||
bash -c " \ |
||||
rvm all do gem install bundler rake-compiler hoe mini_portile rubygems-tasks json && \ |
||||
rvm 2.3.0 do gem install mini_portile2 && \ |
||||
find /usr/local/rvm -type d -print0 | sudo xargs -0 chmod g+sw " |
||||
|
||||
# Install rake-compiler's cross rubies in global dir instead of /root |
||||
RUN sudo mkdir -p /usr/local/rake-compiler && \ |
||||
sudo chown rvm.rvm /usr/local/rake-compiler && \ |
||||
ln -s /usr/local/rake-compiler ~/.rake-compiler |
||||
|
||||
# Patch rake-compiler to avoid build of ruby extensions |
||||
RUN cd /usr/local/rvm/gems/ruby-2.3.0/gems/rake-compiler-0.9.5 && patch -p1 < /home/rvm/patches/rake-compiler-0.9.5/without-exts.diff ; \ |
||||
true |
||||
|
||||
RUN bash -c "rvm use 2.3.0 --default && \ |
||||
export MAKE=\"make -j`nproc`\" CFLAGS='-s -O1 -fno-omit-frame-pointer -fno-fast-math' && \ |
||||
rake-compiler cross-ruby VERSION=2.3.0 HOST=i686-w64-mingw32 && \ |
||||
rake-compiler cross-ruby VERSION=2.3.0 HOST=x86_64-w64-mingw32 && \ |
||||
rake-compiler cross-ruby VERSION=2.2.2 HOST=i686-w64-mingw32 && \ |
||||
rake-compiler cross-ruby VERSION=2.2.2 HOST=x86_64-w64-mingw32 && \ |
||||
rake-compiler cross-ruby VERSION=2.1.6 HOST=i686-w64-mingw32 && \ |
||||
rake-compiler cross-ruby VERSION=2.1.6 HOST=x86_64-w64-mingw32 && \ |
||||
rake-compiler cross-ruby VERSION=2.0.0-p645 HOST=i686-w64-mingw32 && \ |
||||
rake-compiler cross-ruby VERSION=2.0.0-p645 HOST=x86_64-w64-mingw32 && \ |
||||
rm -rf ~/.rake-compiler/tmp/builds ~/.rake-compiler/sources && \ |
||||
find /usr/local/rvm -type d -print0 | sudo xargs -0 chmod g+sw " |
||||
|
||||
RUN bash -c " \ |
||||
rvm alias create 2.3 2.3.0 " |
||||
|
||||
USER root |
||||
|
||||
# Fix paths in rake-compiler/config.yml and add rvm and mingw-tools to the global bashrc |
||||
RUN sed -i -- "s:/root/.rake-compiler:/usr/local/rake-compiler:g" /usr/local/rake-compiler/config.yml && \ |
||||
echo "source /etc/profile.d/rvm.sh" >> /etc/bash.bashrc && \ |
||||
echo "export PATH=\$PATH:/opt/mingw/mingw32/bin" >> /etc/bash.bashrc && \ |
||||
echo "export PATH=\$PATH:/opt/mingw/mingw64/bin" >> /etc/bash.bashrc |
||||
|
||||
# Install wrappers for strip commands as a workaround for "Protocol error" in boot2docker. |
||||
RUN cp /tmp/build/strip_wrapper /root/ |
||||
RUN mv /opt/mingw/mingw32/bin/i686-w64-mingw32-strip /opt/mingw/mingw32/bin/i686-w64-mingw32-strip.bin && \ |
||||
mv /opt/mingw/mingw64/bin/x86_64-w64-mingw32-strip /opt/mingw/mingw64/bin/x86_64-w64-mingw32-strip.bin && \ |
||||
mv /usr/bin/i686-w64-mingw32-strip /usr/bin/i686-w64-mingw32-strip.bin && \ |
||||
mv /usr/bin/x86_64-w64-mingw32-strip /usr/bin/x86_64-w64-mingw32-strip.bin && \ |
||||
ln /root/strip_wrapper /opt/mingw/mingw32/bin/i686-w64-mingw32-strip && \ |
||||
ln /root/strip_wrapper /opt/mingw/mingw64/bin/x86_64-w64-mingw32-strip && \ |
||||
ln /root/strip_wrapper /usr/bin/i686-w64-mingw32-strip && \ |
||||
ln /root/strip_wrapper /usr/bin/x86_64-w64-mingw32-strip |
||||
|
||||
RUN find / -name rbconfig.rb | while read f ; do sed -i 's/0x0501/0x0600/' $f ; done |
||||
RUN find / -name win32.h | while read f ; do sed -i 's/gettimeofday/rb_gettimeofday/' $f ; done |
||||
RUN sed -i 's/defined.__MINGW64__.$/1/' /usr/local/rake-compiler/ruby/i686-w64-mingw32/ruby-2.0.0-p645/include/ruby-2.0.0/ruby/win32.h |
||||
RUN find / -name libwinpthread.dll.a | while read f ; do rm $f ; done |
||||
RUN find / -name libwinpthread-1.dll | while read f ; do rm $f ; done |
||||
RUN find / -name *msvcrt-ruby*.dll.a | while read f ; do n=`echo $f | sed s/.dll//` ; mv $f $n ; done |
||||
|
||||
# Install SIGINT forwarder |
||||
RUN cp /tmp/build/sigfw.c /root/ |
||||
RUN gcc $HOME/sigfw.c -o /usr/local/bin/sigfw |
||||
|
||||
# Install user mapper |
||||
RUN cp /tmp/build/runas /usr/local/bin/ |
||||
|
||||
# Install sudoers configuration |
||||
RUN cp /tmp/build/sudoers /etc/sudoers.d/rake-compiler-dock |
||||
|
||||
ENV RUBY_CC_VERSION 2.3.0:2.2.2:2.1.6:2.0.0 |
||||
|
||||
CMD bash |
@ -0,0 +1,22 @@ |
||||
Copyright (c) 2015 Lars Kanis |
||||
|
||||
MIT License |
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining |
||||
a copy of this software and associated documentation files (the |
||||
"Software"), to deal in the Software without restriction, including |
||||
without limitation the rights to use, copy, modify, merge, publish, |
||||
distribute, sublicense, and/or sell copies of the Software, and to |
||||
permit persons to whom the Software is furnished to do so, subject to |
||||
the following conditions: |
||||
|
||||
The above copyright notice and this permission notice shall be |
||||
included in all copies or substantial portions of the Software. |
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, |
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF |
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND |
||||
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE |
||||
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION |
||||
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION |
||||
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. |
@ -0,0 +1 @@ |
||||
This is a modified Dockerfile taken from [rake-compiler-dock](https://github.com/rake-compiler/rake-compiler-dock) for the purpose of building gRPC's ruby gem. |
@ -0,0 +1,7 @@ |
||||
#!/bin/sh |
||||
|
||||
# Run this to produce the snipplet of data to insert in the Dockerfile. |
||||
|
||||
echo 'RUN echo \\' |
||||
tar cz build | base64 | sed 's/$/\\/' |
||||
echo '| base64 -d | tar xzC /' |
@ -0,0 +1,14 @@ |
||||
diff --git a/tasks/bin/cross-ruby.rake b/tasks/bin/cross-ruby.rake
|
||||
index 6acc816..6aa2a49 100644
|
||||
--- a/tasks/bin/cross-ruby.rake
|
||||
+++ b/tasks/bin/cross-ruby.rake
|
||||
@@ -135,8 +135,7 @@ file "#{USER_HOME}/builds/#{MINGW_HOST}/#{RUBY_CC_VERSION}/Makefile" => ["#{USER
|
||||
"--build=#{RUBY_BUILD}",
|
||||
'--enable-shared',
|
||||
'--disable-install-doc',
|
||||
- '--without-tk',
|
||||
- '--without-tcl'
|
||||
+ '--with-ext='
|
||||
]
|
||||
|
||||
# Force Winsock2 for Ruby 1.8, 1.9 defaults to it
|
@ -0,0 +1,2 @@ |
||||
diff --git a/configure b/configure
|
||||
index 55157af..6630eba 100755
|
@ -0,0 +1,13 @@ |
||||
diff --git a/configure b/configure
|
||||
index 898730c..cfe6253 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -14695,7 +14695,7 @@ for ac_func in fmod killpg wait4 waitpid fork spawnv syscall __syscall chroot ge
|
||||
setsid telldir seekdir fchmod cosh sinh tanh log2 round\
|
||||
setuid setgid daemon select_large_fdset setenv unsetenv\
|
||||
mktime timegm gmtime_r clock_gettime gettimeofday poll ppoll\
|
||||
- pread sendfile shutdown sigaltstack dl_iterate_phdr
|
||||
+ pread shutdown sigaltstack dl_iterate_phdr
|
||||
do :
|
||||
as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
|
||||
ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
|
@ -0,0 +1,2 @@ |
||||
diff --git a/configure b/configure
|
||||
index 55157af..6630eba 100755
|
@ -0,0 +1,12 @@ |
||||
diff --git a/configure b/configure
|
||||
index ebe3d8c..a336b73 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -18943,7 +18943,6 @@ do :
|
||||
ac_fn_c_check_func "$LINENO" "sendfile" "ac_cv_func_sendfile"
|
||||
if test "x$ac_cv_func_sendfile" = xyes; then :
|
||||
cat >>confdefs.h <<_ACEOF
|
||||
-#define HAVE_SENDFILE 1
|
||||
_ACEOF
|
||||
|
||||
fi
|
@ -0,0 +1,12 @@ |
||||
#!/bin/bash |
||||
|
||||
groupadd -g "$GID" "$GROUP" |
||||
mkdir -p /tmp/home |
||||
useradd -g "$GID" -u "$UID" -G rvm,sudo -p "" -b /tmp/home -m "$USER" |
||||
|
||||
HOME=$(bash <<< "echo ~$USER") |
||||
ln -s /usr/local/rake-compiler "$HOME"/.rake-compiler |
||||
|
||||
sudo -u "$USER" --set-home \ |
||||
BASH_ENV=/etc/rubybashrc \ |
||||
-- "$@" |
@ -0,0 +1,43 @@ |
||||
/*
|
||||
* This program handles SIGINT and forwards it to another process. |
||||
* It is intended to be run as PID 1. |
||||
* |
||||
* Docker starts processes with "docker run" as PID 1. |
||||
* On Linux, the default signal handler for PID 1 ignores any signals. |
||||
* Therefore Ctrl-C aka SIGINT is ignored per default. |
||||
*/ |
||||
|
||||
#include <signal.h> |
||||
#include <sys/types.h> |
||||
#include <sys/wait.h> |
||||
|
||||
int pid = 0; |
||||
|
||||
void |
||||
handle_sigint (int signum) |
||||
{ |
||||
if(pid) |
||||
kill(pid, SIGINT); |
||||
} |
||||
|
||||
int main(int argc, char *argv[]){ |
||||
struct sigaction new_action; |
||||
int status = -1; |
||||
|
||||
/* Set up the structure to specify the new action. */ |
||||
new_action.sa_handler = handle_sigint; |
||||
sigemptyset (&new_action.sa_mask); |
||||
new_action.sa_flags = 0; |
||||
|
||||
sigaction (SIGINT, &new_action, (void*)0); |
||||
|
||||
pid = fork(); |
||||
if(pid){ |
||||
wait(&status); |
||||
return WEXITSTATUS(status); |
||||
}else{ |
||||
status = execvp(argv[1], &argv[1]); |
||||
perror("exec"); |
||||
return status; |
||||
} |
||||
} |
@ -0,0 +1,30 @@ |
||||
#!/usr/bin/env ruby |
||||
|
||||
# Strip file on local folder instead of a Virtualbox shared folder |
||||
# to work around this bug: https://www.virtualbox.org/ticket/8463 |
||||
|
||||
require 'tempfile' |
||||
require 'fileutils' |
||||
|
||||
strip = "#{File.basename($0)}.bin" |
||||
|
||||
files = ARGV.reject{|f| f=~/^-/ }.map do |arg| |
||||
tmp = Tempfile.new 'strip' |
||||
tmp.close |
||||
FileUtils.cp arg, tmp.path |
||||
[tmp, arg] |
||||
end |
||||
|
||||
options = ARGV.select{|f| f=~/^-/ } + files.map{|t,o| t.path } |
||||
|
||||
unless system( strip, *options ) |
||||
exit 127 |
||||
end |
||||
code = $?.exitstatus |
||||
|
||||
files.each do |tmp, orig| |
||||
FileUtils.rm orig |
||||
FileUtils.cp tmp.path, orig |
||||
end |
||||
|
||||
exit code |
@ -0,0 +1 @@ |
||||
Defaults env_keep += "http_proxy https_proxy ftp_proxy RCD_HOST_RUBY_PLATFORM RCD_HOST_RUBY_VERSION RCD_IMAGE RUBY_CC_VERSION" |
@ -0,0 +1,78 @@ |
||||
#!/usr/bin/env python2.7 |
||||
|
||||
# Copyright 2016, Google Inc. |
||||
# All rights reserved. |
||||
# |
||||
# Redistribution and use in source and binary forms, with or without |
||||
# modification, are permitted provided that the following conditions are |
||||
# met: |
||||
# |
||||
# * Redistributions of source code must retain the above copyright |
||||
# notice, this list of conditions and the following disclaimer. |
||||
# * Redistributions in binary form must reproduce the above |
||||
# copyright notice, this list of conditions and the following disclaimer |
||||
# in the documentation and/or other materials provided with the |
||||
# distribution. |
||||
# * Neither the name of Google Inc. nor the names of its |
||||
# contributors may be used to endorse or promote products derived from |
||||
# this software without specific prior written permission. |
||||
# |
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||||
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
||||
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
||||
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
||||
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
||||
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
||||
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
||||
|
||||
import collections |
||||
import fnmatch |
||||
import os |
||||
import re |
||||
import sys |
||||
import yaml |
||||
|
||||
|
||||
_RE_API = r'(?:GPR_API|GRPC_API|CENSUS_API)([^;]*);' |
||||
|
||||
|
||||
def list_c_apis(filenames): |
||||
for filename in filenames: |
||||
with open(filename, 'r') as f: |
||||
text = f.read() |
||||
for m in re.finditer(_RE_API, text): |
||||
api_declaration = re.sub('[ \r\n\t]+', ' ', m.group(1)) |
||||
type_and_name, args_and_close = api_declaration.split('(', 1) |
||||
args = args_and_close[:args_and_close.rfind(')')].strip() |
||||
last_space = type_and_name.rfind(' ') |
||||
last_star = type_and_name.rfind('*') |
||||
type_end = max(last_space, last_star) |
||||
return_type = type_and_name[0:type_end+1].strip() |
||||
name = type_and_name[type_end+1:].strip() |
||||
yield {'return_type': return_type, 'name': name, 'arguments': args, 'header': filename} |
||||
|
||||
|
||||
def headers_under(directory): |
||||
for root, dirnames, filenames in os.walk(directory): |
||||
for filename in fnmatch.filter(filenames, '*.h'): |
||||
yield os.path.join(root, filename) |
||||
|
||||
|
||||
def mako_plugin(dictionary): |
||||
apis = [] |
||||
|
||||
# for lib in dictionary['libs']: |
||||
# if lib['name'] == 'grpc': |
||||
# apis.extend(list_c_apis(lib['public_headers'])) |
||||
apis.extend(list_c_apis(sorted(headers_under('include/grpc')))) |
||||
|
||||
dictionary['c_apis'] = apis |
||||
|
||||
|
||||
if __name__ == '__main__': |
||||
print yaml.dump([api for api in list_c_apis(headers_under('include/grpc'))]) |
||||
|
@ -0,0 +1,37 @@ |
||||
#!/bin/bash |
||||
# Copyright 2015-2016, Google Inc. |
||||
# All rights reserved. |
||||
# |
||||
# Redistribution and use in source and binary forms, with or without |
||||
# modification, are permitted provided that the following conditions are |
||||
# met: |
||||
# |
||||
# * Redistributions of source code must retain the above copyright |
||||
# notice, this list of conditions and the following disclaimer. |
||||
# * Redistributions in binary form must reproduce the above |
||||
# copyright notice, this list of conditions and the following disclaimer |
||||
# in the documentation and/or other materials provided with the |
||||
# distribution. |
||||
# * Neither the name of Google Inc. nor the names of its |
||||
# contributors may be used to endorse or promote products derived from |
||||
# this software without specific prior written permission. |
||||
# |
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||||
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
||||
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
||||
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
||||
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
||||
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
||||
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
||||
|
||||
set -ex |
||||
|
||||
# change to root directory |
||||
cd $(dirname $0)/../.. |
||||
|
||||
bundle |
||||
rake dlls |
@ -0,0 +1,61 @@ |
||||
#!/usr/bin/env ruby |
||||
# Copyright 2016, Google Inc. |
||||
# All rights reserved. |
||||
# |
||||
# Redistribution and use in source and binary forms, with or without |
||||
# modification, are permitted provided that the following conditions are |
||||
# met: |
||||
# |
||||
# * Redistributions of source code must retain the above copyright |
||||
# notice, this list of conditions and the following disclaimer. |
||||
# * Redistributions in binary form must reproduce the above |
||||
# copyright notice, this list of conditions and the following disclaimer |
||||
# in the documentation and/or other materials provided with the |
||||
# distribution. |
||||
# * Neither the name of Google Inc. nor the names of its |
||||
# contributors may be used to endorse or promote products derived from |
||||
# this software without specific prior written permission. |
||||
# |
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||||
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
||||
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
||||
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
||||
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
||||
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
||||
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
||||
|
||||
def grpc_root() |
||||
File.expand_path(File.join(File.dirname(__FILE__), '..', '..')) |
||||
end |
||||
|
||||
def docker_for_windows_image() |
||||
require 'digest' |
||||
|
||||
dockerfile = File.join(grpc_root, 'third_party', 'rake-compiler-dock', 'Dockerfile') |
||||
dockerpath = File.dirname(dockerfile) |
||||
version = Digest::SHA1.file(dockerfile).hexdigest |
||||
image_name = 'grpc/rake-compiler-dock:' + version |
||||
cmd = "docker build -t #{image_name} --file #{dockerfile} #{dockerpath}" |
||||
puts cmd |
||||
system cmd |
||||
raise "Failed to build the docker image." unless $? == 0 |
||||
image_name |
||||
end |
||||
|
||||
def docker_for_windows(args) |
||||
require 'rake_compiler_dock' |
||||
|
||||
args = 'bash -l' if args.empty? |
||||
|
||||
ENV['RAKE_COMPILER_DOCK_IMAGE'] = docker_for_windows_image |
||||
|
||||
RakeCompilerDock.sh args |
||||
end |
||||
|
||||
if __FILE__ == $0 |
||||
docker_for_windows $*.join(' ') |
||||
end |
@ -0,0 +1,38 @@ |
||||
# Copyright 2015-2016, Google Inc. |
||||
# All rights reserved. |
||||
# |
||||
# Redistribution and use in source and binary forms, with or without |
||||
# modification, are permitted provided that the following conditions are |
||||
# met: |
||||
# |
||||
# * Redistributions of source code must retain the above copyright |
||||
# notice, this list of conditions and the following disclaimer. |
||||
# * Redistributions in binary form must reproduce the above |
||||
# copyright notice, this list of conditions and the following disclaimer |
||||
# in the documentation and/or other materials provided with the |
||||
# distribution. |
||||
# * Neither the name of Google Inc. nor the names of its |
||||
# contributors may be used to endorse or promote products derived from |
||||
# this software without specific prior written permission. |
||||
# |
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||||
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
||||
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
||||
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
||||
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
||||
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
||||
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
||||
|
||||
FROM centos:7 |
||||
|
||||
RUN rpm --import "http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF" |
||||
RUN yum-config-manager --add-repo http://download.mono-project.com/repo/centos/ |
||||
|
||||
RUN yum install -y mono |
||||
RUN yum install -y git |
||||
RUN yum install -y unzip |
||||
RUN yum install -y nuget |
@ -0,0 +1,36 @@ |
||||
# Copyright 2015-2016, Google Inc. |
||||
# All rights reserved. |
||||
# |
||||
# Redistribution and use in source and binary forms, with or without |
||||
# modification, are permitted provided that the following conditions are |
||||
# met: |
||||
# |
||||
# * Redistributions of source code must retain the above copyright |
||||
# notice, this list of conditions and the following disclaimer. |
||||
# * Redistributions in binary form must reproduce the above |
||||
# copyright notice, this list of conditions and the following disclaimer |
||||
# in the documentation and/or other materials provided with the |
||||
# distribution. |
||||
# * Neither the name of Google Inc. nor the names of its |
||||
# contributors may be used to endorse or promote products derived from |
||||
# this software without specific prior written permission. |
||||
# |
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||||
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
||||
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
||||
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
||||
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
||||
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
||||
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
||||
|
||||
FROM base/archlinux |
||||
|
||||
RUN pacman --noconfirm -Syy |
||||
RUN pacman --noconfirm -S git |
||||
RUN pacman --noconfirm -S python |
||||
RUN pacman --noconfirm -S python-pip |
||||
|
@ -0,0 +1,37 @@ |
||||
# Copyright 2015-2016, Google Inc. |
||||
# All rights reserved. |
||||
# |
||||
# Redistribution and use in source and binary forms, with or without |
||||
# modification, are permitted provided that the following conditions are |
||||
# met: |
||||
# |
||||
# * Redistributions of source code must retain the above copyright |
||||
# notice, this list of conditions and the following disclaimer. |
||||
# * Redistributions in binary form must reproduce the above |
||||
# copyright notice, this list of conditions and the following disclaimer |
||||
# in the documentation and/or other materials provided with the |
||||
# distribution. |
||||
# * Neither the name of Google Inc. nor the names of its |
||||
# contributors may be used to endorse or promote products derived from |
||||
# this software without specific prior written permission. |
||||
# |
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||||
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
||||
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
||||
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
||||
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
||||
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
||||
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
||||
|
||||
FROM centos:6 |
||||
|
||||
RUN yum install -y git |
||||
RUN yum install -y python |
||||
|
||||
RUN rpm -ivh http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm |
||||
RUN yum install -y python-pip |
||||
|
@ -0,0 +1,36 @@ |
||||
# Copyright 2015-2016, Google Inc. |
||||
# All rights reserved. |
||||
# |
||||
# Redistribution and use in source and binary forms, with or without |
||||
# modification, are permitted provided that the following conditions are |
||||
# met: |
||||
# |
||||
# * Redistributions of source code must retain the above copyright |
||||
# notice, this list of conditions and the following disclaimer. |
||||
# * Redistributions in binary form must reproduce the above |
||||
# copyright notice, this list of conditions and the following disclaimer |
||||
# in the documentation and/or other materials provided with the |
||||
# distribution. |
||||
# * Neither the name of Google Inc. nor the names of its |
||||
# contributors may be used to endorse or promote products derived from |
||||
# this software without specific prior written permission. |
||||
# |
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||||
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
||||
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
||||
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
||||
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
||||
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
||||
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
||||
|
||||
FROM centos:7 |
||||
|
||||
RUN yum install -y git |
||||
RUN yum install -y python |
||||
RUN yum install -y epel-release |
||||
RUN yum install -y python-pip |
||||
|
@ -0,0 +1,37 @@ |
||||
# Copyright 2015-2016, Google Inc. |
||||
# All rights reserved. |
||||
# |
||||
# Redistribution and use in source and binary forms, with or without |
||||
# modification, are permitted provided that the following conditions are |
||||
# met: |
||||
# |
||||
# * Redistributions of source code must retain the above copyright |
||||
# notice, this list of conditions and the following disclaimer. |
||||
# * Redistributions in binary form must reproduce the above |
||||
# copyright notice, this list of conditions and the following disclaimer |
||||
# in the documentation and/or other materials provided with the |
||||
# distribution. |
||||
# * Neither the name of Google Inc. nor the names of its |
||||
# contributors may be used to endorse or promote products derived from |
||||
# this software without specific prior written permission. |
||||
# |
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||||
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
||||
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
||||
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
||||
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
||||
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
||||
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
||||
|
||||
FROM fedora:20 |
||||
|
||||
RUN yum clean all |
||||
RUN yum update -y |
||||
RUN yum install -y git |
||||
RUN yum install -y python |
||||
RUN yum install -y python-pip |
||||
|
@ -0,0 +1,37 @@ |
||||
# Copyright 2015-2016, Google Inc. |
||||
# All rights reserved. |
||||
# |
||||
# Redistribution and use in source and binary forms, with or without |
||||
# modification, are permitted provided that the following conditions are |
||||
# met: |
||||
# |
||||
# * Redistributions of source code must retain the above copyright |
||||
# notice, this list of conditions and the following disclaimer. |
||||
# * Redistributions in binary form must reproduce the above |
||||
# copyright notice, this list of conditions and the following disclaimer |
||||
# in the documentation and/or other materials provided with the |
||||
# distribution. |
||||
# * Neither the name of Google Inc. nor the names of its |
||||
# contributors may be used to endorse or promote products derived from |
||||
# this software without specific prior written permission. |
||||
# |
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||||
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
||||
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
||||
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
||||
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
||||
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
||||
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
||||
|
||||
FROM fedora:21 |
||||
|
||||
RUN yum clean all |
||||
RUN yum update -y |
||||
RUN yum install -y git |
||||
RUN yum install -y python |
||||
RUN yum install -y python-pip |
||||
|
@ -0,0 +1,37 @@ |
||||
# Copyright 2015-2016, Google Inc. |
||||
# All rights reserved. |
||||
# |
||||
# Redistribution and use in source and binary forms, with or without |
||||
# modification, are permitted provided that the following conditions are |
||||
# met: |
||||
# |
||||
# * Redistributions of source code must retain the above copyright |
||||
# notice, this list of conditions and the following disclaimer. |
||||
# * Redistributions in binary form must reproduce the above |
||||
# copyright notice, this list of conditions and the following disclaimer |
||||
# in the documentation and/or other materials provided with the |
||||
# distribution. |
||||
# * Neither the name of Google Inc. nor the names of its |
||||
# contributors may be used to endorse or promote products derived from |
||||
# this software without specific prior written permission. |
||||
# |
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||||
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
||||
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
||||
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
||||
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
||||
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
||||
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
||||
|
||||
FROM fedora:22 |
||||
|
||||
RUN yum clean all |
||||
RUN yum update -y |
||||
RUN yum install -y git |
||||
RUN yum install -y python |
||||
RUN yum install -y python-pip |
||||
|
@ -0,0 +1,37 @@ |
||||
# Copyright 2015-2016, Google Inc. |
||||
# All rights reserved. |
||||
# |
||||
# Redistribution and use in source and binary forms, with or without |
||||
# modification, are permitted provided that the following conditions are |
||||
# met: |
||||
# |
||||
# * Redistributions of source code must retain the above copyright |
||||
# notice, this list of conditions and the following disclaimer. |
||||
# * Redistributions in binary form must reproduce the above |
||||
# copyright notice, this list of conditions and the following disclaimer |
||||
# in the documentation and/or other materials provided with the |
||||
# distribution. |
||||
# * Neither the name of Google Inc. nor the names of its |
||||
# contributors may be used to endorse or promote products derived from |
||||
# this software without specific prior written permission. |
||||
# |
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||||
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
||||
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
||||
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
||||
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
||||
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
||||
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
||||
|
||||
FROM fedora:23 |
||||
|
||||
RUN yum clean all |
||||
RUN yum update -y |
||||
RUN yum install -y git |
||||
RUN yum install -y python |
||||
RUN yum install -y python-pip |
||||
|
@ -0,0 +1,34 @@ |
||||
# Copyright 2015-2016, Google Inc. |
||||
# All rights reserved. |
||||
# |
||||
# Redistribution and use in source and binary forms, with or without |
||||
# modification, are permitted provided that the following conditions are |
||||
# met: |
||||
# |
||||
# * Redistributions of source code must retain the above copyright |
||||
# notice, this list of conditions and the following disclaimer. |
||||
# * Redistributions in binary form must reproduce the above |
||||
# copyright notice, this list of conditions and the following disclaimer |
||||
# in the documentation and/or other materials provided with the |
||||
# distribution. |
||||
# * Neither the name of Google Inc. nor the names of its |
||||
# contributors may be used to endorse or promote products derived from |
||||
# this software without specific prior written permission. |
||||
# |
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||||
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
||||
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
||||
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
||||
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
||||
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
||||
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
||||
|
||||
FROM debian:jessie |
||||
|
||||
RUN apt-get update |
||||
RUN apt-get install -y git python python-pip |
||||
|
@ -0,0 +1,34 @@ |
||||
# Copyright 2015-2016, Google Inc. |
||||
# All rights reserved. |
||||
# |
||||
# Redistribution and use in source and binary forms, with or without |
||||
# modification, are permitted provided that the following conditions are |
||||
# met: |
||||
# |
||||
# * Redistributions of source code must retain the above copyright |
||||
# notice, this list of conditions and the following disclaimer. |
||||
# * Redistributions in binary form must reproduce the above |
||||
# copyright notice, this list of conditions and the following disclaimer |
||||
# in the documentation and/or other materials provided with the |
||||
# distribution. |
||||
# * Neither the name of Google Inc. nor the names of its |
||||
# contributors may be used to endorse or promote products derived from |
||||
# this software without specific prior written permission. |
||||
# |
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||||
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
||||
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
||||
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
||||
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
||||
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
||||
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
||||
|
||||
FROM 32bit/debian:jessie |
||||
|
||||
RUN apt-get update |
||||
RUN apt-get install -y git python python-pip |
||||
|
@ -0,0 +1,35 @@ |
||||
# Copyright 2015-2016, Google Inc. |
||||
# All rights reserved. |
||||
# |
||||
# Redistribution and use in source and binary forms, with or without |
||||
# modification, are permitted provided that the following conditions are |
||||
# met: |
||||
# |
||||
# * Redistributions of source code must retain the above copyright |
||||
# notice, this list of conditions and the following disclaimer. |
||||
# * Redistributions in binary form must reproduce the above |
||||
# copyright notice, this list of conditions and the following disclaimer |
||||
# in the documentation and/or other materials provided with the |
||||
# distribution. |
||||
# * Neither the name of Google Inc. nor the names of its |
||||
# contributors may be used to endorse or promote products derived from |
||||
# this software without specific prior written permission. |
||||
# |
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||||
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
||||
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
||||
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
||||
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
||||
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
||||
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
||||
|
||||
FROM opensuse:42.1 |
||||
|
||||
RUN zypper --non-interactive install git |
||||
RUN zypper --non-interactive install python |
||||
RUN zypper --non-interactive install python-pip |
||||
|
@ -0,0 +1,36 @@ |
||||
# Copyright 2015-2016, Google Inc. |
||||
# All rights reserved. |
||||
# |
||||
# Redistribution and use in source and binary forms, with or without |
||||
# modification, are permitted provided that the following conditions are |
||||
# met: |
||||
# |
||||
# * Redistributions of source code must retain the above copyright |
||||
# notice, this list of conditions and the following disclaimer. |
||||
# * Redistributions in binary form must reproduce the above |
||||
# copyright notice, this list of conditions and the following disclaimer |
||||
# in the documentation and/or other materials provided with the |
||||
# distribution. |
||||
# * Neither the name of Google Inc. nor the names of its |
||||
# contributors may be used to endorse or promote products derived from |
||||
# this software without specific prior written permission. |
||||
# |
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||||
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
||||
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
||||
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
||||
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
||||
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
||||
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
||||
|
||||
FROM ubuntu:12.04 |
||||
|
||||
RUN apt-get update -y |
||||
RUN apt-get install -y git |
||||
RUN apt-get install -y python |
||||
RUN apt-get install -y python-pip |
||||
|
@ -0,0 +1,36 @@ |
||||
# Copyright 2015-2016, Google Inc. |
||||
# All rights reserved. |
||||
# |
||||
# Redistribution and use in source and binary forms, with or without |
||||
# modification, are permitted provided that the following conditions are |
||||
# met: |
||||
# |
||||
# * Redistributions of source code must retain the above copyright |
||||
# notice, this list of conditions and the following disclaimer. |
||||
# * Redistributions in binary form must reproduce the above |
||||
# copyright notice, this list of conditions and the following disclaimer |
||||
# in the documentation and/or other materials provided with the |
||||
# distribution. |
||||
# * Neither the name of Google Inc. nor the names of its |
||||
# contributors may be used to endorse or promote products derived from |
||||
# this software without specific prior written permission. |
||||
# |
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||||
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
||||
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
||||
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
||||
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
||||
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
||||
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
||||
|
||||
FROM ubuntu:14.04 |
||||
|
||||
RUN apt-get update -y |
||||
RUN apt-get install -y git |
||||
RUN apt-get install -y python |
||||
RUN apt-get install -y python-pip |
||||
|
@ -0,0 +1,36 @@ |
||||
# Copyright 2015-2016, Google Inc. |
||||
# All rights reserved. |
||||
# |
||||
# Redistribution and use in source and binary forms, with or without |
||||
# modification, are permitted provided that the following conditions are |
||||
# met: |
||||
# |
||||
# * Redistributions of source code must retain the above copyright |
||||
# notice, this list of conditions and the following disclaimer. |
||||
# * Redistributions in binary form must reproduce the above |
||||
# copyright notice, this list of conditions and the following disclaimer |
||||
# in the documentation and/or other materials provided with the |
||||
# distribution. |
||||
# * Neither the name of Google Inc. nor the names of its |
||||
# contributors may be used to endorse or promote products derived from |
||||
# this software without specific prior written permission. |
||||
# |
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||||
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
||||
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
||||
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
||||
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
||||
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
||||
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
||||
|
||||
FROM ubuntu:15.04 |
||||
|
||||
RUN apt-get update -y |
||||
RUN apt-get install -y git |
||||
RUN apt-get install -y python |
||||
RUN apt-get install -y python-pip |
||||
|
@ -0,0 +1,36 @@ |
||||
# Copyright 2015-2016, Google Inc. |
||||
# All rights reserved. |
||||
# |
||||
# Redistribution and use in source and binary forms, with or without |
||||
# modification, are permitted provided that the following conditions are |
||||
# met: |
||||
# |
||||
# * Redistributions of source code must retain the above copyright |
||||
# notice, this list of conditions and the following disclaimer. |
||||
# * Redistributions in binary form must reproduce the above |
||||
# copyright notice, this list of conditions and the following disclaimer |
||||
# in the documentation and/or other materials provided with the |
||||
# distribution. |
||||
# * Neither the name of Google Inc. nor the names of its |
||||
# contributors may be used to endorse or promote products derived from |
||||
# this software without specific prior written permission. |
||||
# |
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||||
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
||||
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
||||
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
||||
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
||||
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
||||
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
||||
|
||||
FROM ubuntu:15.10 |
||||
|
||||
RUN apt-get update -y |
||||
RUN apt-get install -y git |
||||
RUN apt-get install -y python |
||||
RUN apt-get install -y python-pip |
||||
|
@ -0,0 +1,36 @@ |
||||
# Copyright 2015-2016, Google Inc. |
||||
# All rights reserved. |
||||
# |
||||
# Redistribution and use in source and binary forms, with or without |
||||
# modification, are permitted provided that the following conditions are |
||||
# met: |
||||
# |
||||
# * Redistributions of source code must retain the above copyright |
||||
# notice, this list of conditions and the following disclaimer. |
||||
# * Redistributions in binary form must reproduce the above |
||||
# copyright notice, this list of conditions and the following disclaimer |
||||
# in the documentation and/or other materials provided with the |
||||
# distribution. |
||||
# * Neither the name of Google Inc. nor the names of its |
||||
# contributors may be used to endorse or promote products derived from |
||||
# this software without specific prior written permission. |
||||
# |
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||||
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
||||
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
||||
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
||||
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
||||
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
||||
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
||||
|
||||
FROM ubuntu:16.04 |
||||
|
||||
RUN apt-get update -y |
||||
RUN apt-get install -y git |
||||
RUN apt-get install -y python |
||||
RUN apt-get install -y python-pip |
||||
|
@ -0,0 +1,34 @@ |
||||
# Copyright 2015-2016, Google Inc. |
||||
# All rights reserved. |
||||
# |
||||
# Redistribution and use in source and binary forms, with or without |
||||
# modification, are permitted provided that the following conditions are |
||||
# met: |
||||
# |
||||
# * Redistributions of source code must retain the above copyright |
||||
# notice, this list of conditions and the following disclaimer. |
||||
# * Redistributions in binary form must reproduce the above |
||||
# copyright notice, this list of conditions and the following disclaimer |
||||
# in the documentation and/or other materials provided with the |
||||
# distribution. |
||||
# * Neither the name of Google Inc. nor the names of its |
||||
# contributors may be used to endorse or promote products derived from |
||||
# this software without specific prior written permission. |
||||
# |
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||||
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
||||
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
||||
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
||||
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
||||
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
||||
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
||||
|
||||
FROM debian:wheezy |
||||
|
||||
RUN apt-get update |
||||
RUN apt-get install -y git python python-pip |
||||
|
@ -0,0 +1,34 @@ |
||||
# Copyright 2015-2016, Google Inc. |
||||
# All rights reserved. |
||||
# |
||||
# Redistribution and use in source and binary forms, with or without |
||||
# modification, are permitted provided that the following conditions are |
||||
# met: |
||||
# |
||||
# * Redistributions of source code must retain the above copyright |
||||
# notice, this list of conditions and the following disclaimer. |
||||
# * Redistributions in binary form must reproduce the above |
||||
# copyright notice, this list of conditions and the following disclaimer |
||||
# in the documentation and/or other materials provided with the |
||||
# distribution. |
||||
# * Neither the name of Google Inc. nor the names of its |
||||
# contributors may be used to endorse or promote products derived from |
||||
# this software without specific prior written permission. |
||||
# |
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||||
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
||||
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
||||
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
||||
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
||||
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
||||
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
||||
|
||||
FROM centos:6 |
||||
|
||||
RUN yum install -y git |
||||
RUN yum install -y ruby |
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue