diff options
author | David Garcia Quintas <dgq@google.com> | 2018-03-27 14:46:18 -0700 |
---|---|---|
committer | David Garcia Quintas <dgq@google.com> | 2018-03-27 14:46:18 -0700 |
commit | 158375a44007cfa3a07901d3a2035200a63c9e48 (patch) | |
tree | 43efac1051e80bda4e794cbb084f1928eefd5f92 | |
parent | 46511cd5d3488007b22480d64074feff0bf71010 (diff) | |
parent | b984a27d90ab1d3ed206a5f7a32200f01e1f3a11 (diff) |
Merge branch 'master' of github.com:grpc/grpc into authority_header
77 files changed, 9285 insertions, 12805 deletions
@@ -308,8 +308,12 @@ grpc_cc_library( deps = [ "grpc_base", "grpc_deadline_filter", + "grpc_lb_policy_pick_first", "grpc_http_filters", + "grpc_max_age_filter", "grpc_message_size_filter", + "grpc_resolver_dns_native", + "grpc_resolver_sockaddr", "grpc_server_load_reporting", "grpc_transport_chttp2_client_secure", "grpc_transport_chttp2_server_secure", @@ -1316,6 +1320,7 @@ grpc_cc_library( ], external_deps = [ "cares", + "address_sorting", ], language = "c++", deps = [ diff --git a/CMakeLists.txt b/CMakeLists.txt index a50017dc00..2b9e6988e3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -117,6 +117,7 @@ include(cmake/protobuf.cmake) include(cmake/ssl.cmake) include(cmake/gflags.cmake) include(cmake/benchmark.cmake) +include(cmake/address_sorting.cmake) if(NOT MSVC) set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c99") @@ -645,11 +646,62 @@ endif() if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) add_dependencies(buildtests_cxx resolver_component_tests_runner_invoker) endif() +if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) +add_dependencies(buildtests_cxx address_sorting_test_unsecure) +endif() +if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) +add_dependencies(buildtests_cxx address_sorting_test) +endif() add_custom_target(buildtests DEPENDS buildtests_c buildtests_cxx) endif (gRPC_BUILD_TESTS) + +add_library(address_sorting + third_party/address_sorting/address_sorting.c + third_party/address_sorting/address_sorting_posix.c + third_party/address_sorting/address_sorting_windows.c +) + +if(WIN32 AND MSVC) + set_target_properties(address_sorting PROPERTIES COMPILE_PDB_NAME "address_sorting" + COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}" + ) + if (gRPC_INSTALL) + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/address_sorting.pdb + DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL + ) + endif() +endif() + + +target_include_directories(address_sorting + PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include> + PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} + PRIVATE ${_gRPC_SSL_INCLUDE_DIR} + PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR} + PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR} + PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} + PRIVATE ${_gRPC_CARES_INCLUDE_DIR} + PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} +) + +target_link_libraries(address_sorting + ${_gRPC_ALLTARGETS_LIBRARIES} +) + + + +if (gRPC_INSTALL) + install(TARGETS address_sorting EXPORT gRPCTargets + RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR} + LIBRARY DESTINATION ${gRPC_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${gRPC_INSTALL_LIBDIR} + ) +endif() + if (gRPC_BUILD_TESTS) add_library(alts_test_util @@ -678,6 +730,7 @@ target_include_directories(alts_test_util PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(alts_test_util @@ -752,6 +805,7 @@ target_include_directories(gpr PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(gpr @@ -839,6 +893,7 @@ target_include_directories(gpr_test_util PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(gpr_test_util @@ -1177,6 +1232,7 @@ target_include_directories(grpc PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(grpc @@ -1184,6 +1240,7 @@ target_link_libraries(grpc ${_gRPC_SSL_LIBRARIES} ${_gRPC_ZLIB_LIBRARIES} ${_gRPC_CARES_LIBRARIES} + ${_gRPC_ADDRESS_SORTING_LIBRARIES} ${_gRPC_ALLTARGETS_LIBRARIES} gpr ) @@ -1394,7 +1451,33 @@ add_library(grpc_cronet src/core/lib/transport/transport_op_string.cc src/core/lib/debug/trace.cc src/core/ext/filters/deadline/deadline_filter.cc + src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc + src/core/ext/filters/client_channel/backup_poller.cc + src/core/ext/filters/client_channel/channel_connectivity.cc + src/core/ext/filters/client_channel/client_channel.cc + src/core/ext/filters/client_channel/client_channel_factory.cc + src/core/ext/filters/client_channel/client_channel_plugin.cc + src/core/ext/filters/client_channel/connector.cc + src/core/ext/filters/client_channel/http_connect_handshaker.cc + src/core/ext/filters/client_channel/http_proxy.cc + src/core/ext/filters/client_channel/lb_policy.cc + src/core/ext/filters/client_channel/lb_policy_factory.cc + src/core/ext/filters/client_channel/lb_policy_registry.cc + src/core/ext/filters/client_channel/method_params.cc + src/core/ext/filters/client_channel/parse_address.cc + src/core/ext/filters/client_channel/proxy_mapper.cc + src/core/ext/filters/client_channel/proxy_mapper_registry.cc + src/core/ext/filters/client_channel/resolver.cc + src/core/ext/filters/client_channel/resolver_registry.cc + src/core/ext/filters/client_channel/retry_throttle.cc + src/core/ext/filters/client_channel/subchannel.cc + src/core/ext/filters/client_channel/subchannel_index.cc + src/core/ext/filters/client_channel/uri_parser.cc + src/core/ext/filters/client_channel/lb_policy/subchannel_list.cc + src/core/ext/filters/max_age/max_age_filter.cc src/core/ext/filters/message_size/message_size_filter.cc + src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc + src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc src/core/ext/filters/load_reporting/server_load_reporting_filter.cc src/core/ext/filters/load_reporting/server_load_reporting_plugin.cc src/core/ext/transport/cronet/client/secure/cronet_channel_create.cc @@ -1428,27 +1511,6 @@ add_library(grpc_cronet src/core/ext/filters/http/http_filters_plugin.cc src/core/ext/filters/http/message_compress/message_compress_filter.cc src/core/ext/filters/http/server/http_server_filter.cc - src/core/ext/filters/client_channel/backup_poller.cc - src/core/ext/filters/client_channel/channel_connectivity.cc - src/core/ext/filters/client_channel/client_channel.cc - src/core/ext/filters/client_channel/client_channel_factory.cc - src/core/ext/filters/client_channel/client_channel_plugin.cc - src/core/ext/filters/client_channel/connector.cc - src/core/ext/filters/client_channel/http_connect_handshaker.cc - src/core/ext/filters/client_channel/http_proxy.cc - src/core/ext/filters/client_channel/lb_policy.cc - src/core/ext/filters/client_channel/lb_policy_factory.cc - src/core/ext/filters/client_channel/lb_policy_registry.cc - src/core/ext/filters/client_channel/method_params.cc - src/core/ext/filters/client_channel/parse_address.cc - src/core/ext/filters/client_channel/proxy_mapper.cc - src/core/ext/filters/client_channel/proxy_mapper_registry.cc - src/core/ext/filters/client_channel/resolver.cc - src/core/ext/filters/client_channel/resolver_registry.cc - src/core/ext/filters/client_channel/retry_throttle.cc - src/core/ext/filters/client_channel/subchannel.cc - src/core/ext/filters/client_channel/subchannel_index.cc - src/core/ext/filters/client_channel/uri_parser.cc src/core/lib/http/httpcli_security_connector.cc src/core/lib/security/context/security_context.cc src/core/lib/security/credentials/alts/alts_credentials.cc @@ -1548,6 +1610,7 @@ target_include_directories(grpc_cronet PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(grpc_cronet @@ -1555,6 +1618,7 @@ target_link_libraries(grpc_cronet ${_gRPC_SSL_LIBRARIES} ${_gRPC_ZLIB_LIBRARIES} ${_gRPC_CARES_LIBRARIES} + ${_gRPC_ADDRESS_SORTING_LIBRARIES} ${_gRPC_ALLTARGETS_LIBRARIES} gpr ) @@ -1862,6 +1926,7 @@ target_include_directories(grpc_test_util PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(grpc_test_util @@ -2164,6 +2229,7 @@ target_include_directories(grpc_test_util_unsecure PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(grpc_test_util_unsecure @@ -2483,12 +2549,14 @@ target_include_directories(grpc_unsecure PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(grpc_unsecure ${_gRPC_BASELIB_LIBRARIES} ${_gRPC_ZLIB_LIBRARIES} ${_gRPC_CARES_LIBRARIES} + ${_gRPC_ADDRESS_SORTING_LIBRARIES} ${_gRPC_ALLTARGETS_LIBRARIES} gpr ) @@ -2572,6 +2640,7 @@ target_include_directories(reconnect_server PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(reconnect_server @@ -2612,6 +2681,7 @@ target_include_directories(test_tcp_server PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(test_tcp_server @@ -2692,6 +2762,7 @@ target_include_directories(grpc++ PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE ${_gRPC_PROTO_GENS_DIR} ) @@ -2961,6 +3032,7 @@ target_include_directories(grpc++_core_stats PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -3250,6 +3322,7 @@ target_include_directories(grpc++_cronet PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE ${_gRPC_PROTO_GENS_DIR} ) @@ -3516,6 +3589,7 @@ target_include_directories(grpc++_error_details PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE ${_gRPC_PROTO_GENS_DIR} ) @@ -3582,6 +3656,7 @@ target_include_directories(grpc++_proto_reflection_desc_db PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -3644,6 +3719,7 @@ target_include_directories(grpc++_reflection PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE ${_gRPC_PROTO_GENS_DIR} ) @@ -3702,6 +3778,7 @@ target_include_directories(grpc++_test_config PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -3787,6 +3864,7 @@ target_include_directories(grpc++_test_util PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -3959,6 +4037,7 @@ target_include_directories(grpc++_test_util_unsecure PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -4133,6 +4212,7 @@ target_include_directories(grpc++_unsecure PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE ${_gRPC_PROTO_GENS_DIR} ) @@ -4389,6 +4469,7 @@ target_include_directories(grpc_benchmark PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -4447,6 +4528,7 @@ target_include_directories(grpc_cli_libs PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -4507,6 +4589,7 @@ target_include_directories(grpc_plugin_support PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE ${_gRPC_PROTO_GENS_DIR} ) @@ -4585,6 +4668,7 @@ target_include_directories(http2_client_main PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -4640,6 +4724,7 @@ target_include_directories(interop_client_helper PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -4710,6 +4795,7 @@ target_include_directories(interop_client_main PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -4760,6 +4846,7 @@ target_include_directories(interop_server_helper PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -4828,6 +4915,7 @@ target_include_directories(interop_server_lib PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -4878,6 +4966,7 @@ target_include_directories(interop_server_main PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -4965,6 +5054,7 @@ target_include_directories(qps PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -5011,6 +5101,7 @@ target_include_directories(grpc_csharp_ext PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(grpc_csharp_ext @@ -5056,6 +5147,7 @@ target_include_directories(bad_client_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(bad_client_test @@ -5095,6 +5187,7 @@ target_include_directories(bad_ssl_test_server PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(bad_ssl_test_server @@ -5211,6 +5304,7 @@ target_include_directories(end2end_tests PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(end2end_tests @@ -5327,6 +5421,7 @@ target_include_directories(end2end_nosec_tests PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(end2end_nosec_tests @@ -5356,6 +5451,7 @@ target_include_directories(algorithm_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(algorithm_test @@ -5383,6 +5479,7 @@ target_include_directories(alloc_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(alloc_test @@ -5408,6 +5505,7 @@ target_include_directories(alpn_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(alpn_test @@ -5435,6 +5533,7 @@ target_include_directories(arena_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(arena_test @@ -5460,6 +5559,7 @@ target_include_directories(avl_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(avl_test @@ -5486,6 +5586,7 @@ target_include_directories(bad_server_response_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(bad_server_response_test @@ -5514,6 +5615,7 @@ target_include_directories(bin_decoder_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(bin_decoder_test @@ -5539,6 +5641,7 @@ target_include_directories(bin_encoder_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(bin_encoder_test @@ -5564,6 +5667,7 @@ target_include_directories(channel_create_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(channel_create_test @@ -5590,6 +5694,7 @@ target_include_directories(check_epollexclusive PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(check_epollexclusive @@ -5623,6 +5728,7 @@ target_include_directories(chttp2_hpack_encoder_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(chttp2_hpack_encoder_test @@ -5650,6 +5756,7 @@ target_include_directories(chttp2_stream_map_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(chttp2_stream_map_test @@ -5677,6 +5784,7 @@ target_include_directories(chttp2_varint_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(chttp2_varint_test @@ -5704,6 +5812,7 @@ target_include_directories(cmdline_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(cmdline_test @@ -5730,6 +5839,7 @@ target_include_directories(combiner_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(combiner_test @@ -5757,6 +5867,7 @@ target_include_directories(compression_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(compression_test @@ -5784,6 +5895,7 @@ target_include_directories(concurrent_connectivity_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(concurrent_connectivity_test @@ -5811,6 +5923,7 @@ target_include_directories(connection_refused_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(connection_refused_test @@ -5838,6 +5951,7 @@ target_include_directories(dns_resolver_connectivity_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(dns_resolver_connectivity_test @@ -5865,6 +5979,7 @@ target_include_directories(dns_resolver_cooldown_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(dns_resolver_cooldown_test @@ -5892,6 +6007,7 @@ target_include_directories(dns_resolver_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(dns_resolver_test @@ -5920,6 +6036,7 @@ target_include_directories(dualstack_socket_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(dualstack_socket_test @@ -5948,6 +6065,7 @@ target_include_directories(endpoint_pair_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(endpoint_pair_test @@ -5975,6 +6093,7 @@ target_include_directories(error_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(error_test @@ -6003,6 +6122,7 @@ target_include_directories(ev_epollsig_linux_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(ev_epollsig_linux_test @@ -6031,6 +6151,7 @@ target_include_directories(fake_resolver_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(fake_resolver_test @@ -6060,6 +6181,7 @@ target_include_directories(fake_transport_security_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(fake_transport_security_test @@ -6088,6 +6210,7 @@ target_include_directories(fd_conservation_posix_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(fd_conservation_posix_test @@ -6117,6 +6240,7 @@ target_include_directories(fd_posix_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(fd_posix_test @@ -6145,6 +6269,7 @@ target_include_directories(fling_client PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(fling_client @@ -6172,6 +6297,7 @@ target_include_directories(fling_server PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(fling_server @@ -6200,6 +6326,7 @@ target_include_directories(fling_stream_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(fling_stream_test @@ -6229,6 +6356,7 @@ target_include_directories(fling_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(fling_test @@ -6258,6 +6386,7 @@ target_include_directories(goaway_server_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(goaway_server_test @@ -6286,6 +6415,7 @@ target_include_directories(gpr_cpu_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(gpr_cpu_test @@ -6311,6 +6441,7 @@ target_include_directories(gpr_env_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(gpr_env_test @@ -6336,6 +6467,7 @@ target_include_directories(gpr_host_port_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(gpr_host_port_test @@ -6361,6 +6493,7 @@ target_include_directories(gpr_log_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(gpr_log_test @@ -6386,6 +6519,7 @@ target_include_directories(gpr_manual_constructor_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(gpr_manual_constructor_test @@ -6411,6 +6545,7 @@ target_include_directories(gpr_mpscq_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(gpr_mpscq_test @@ -6436,6 +6571,7 @@ target_include_directories(gpr_spinlock_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(gpr_spinlock_test @@ -6461,6 +6597,7 @@ target_include_directories(gpr_string_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(gpr_string_test @@ -6486,6 +6623,7 @@ target_include_directories(gpr_sync_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(gpr_sync_test @@ -6511,6 +6649,7 @@ target_include_directories(gpr_thd_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(gpr_thd_test @@ -6536,6 +6675,7 @@ target_include_directories(gpr_time_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(gpr_time_test @@ -6561,6 +6701,7 @@ target_include_directories(gpr_tls_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(gpr_tls_test @@ -6586,6 +6727,7 @@ target_include_directories(gpr_useful_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(gpr_useful_test @@ -6611,6 +6753,7 @@ target_include_directories(grpc_auth_context_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(grpc_auth_context_test @@ -6638,6 +6781,7 @@ target_include_directories(grpc_b64_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(grpc_b64_test @@ -6665,6 +6809,7 @@ target_include_directories(grpc_byte_buffer_reader_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(grpc_byte_buffer_reader_test @@ -6692,6 +6837,7 @@ target_include_directories(grpc_channel_args_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(grpc_channel_args_test @@ -6719,6 +6865,7 @@ target_include_directories(grpc_channel_stack_builder_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(grpc_channel_stack_builder_test @@ -6746,6 +6893,7 @@ target_include_directories(grpc_channel_stack_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(grpc_channel_stack_test @@ -6773,6 +6921,7 @@ target_include_directories(grpc_completion_queue_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(grpc_completion_queue_test @@ -6800,6 +6949,7 @@ target_include_directories(grpc_completion_queue_threading_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(grpc_completion_queue_threading_test @@ -6827,6 +6977,7 @@ target_include_directories(grpc_create_jwt PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(grpc_create_jwt @@ -6861,6 +7012,7 @@ target_include_directories(grpc_credentials_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(grpc_credentials_test @@ -6888,6 +7040,7 @@ target_include_directories(grpc_fetch_oauth2 PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(grpc_fetch_oauth2 @@ -6916,6 +7069,7 @@ target_include_directories(grpc_json_token_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(grpc_json_token_test @@ -6944,6 +7098,7 @@ target_include_directories(grpc_jwt_verifier_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(grpc_jwt_verifier_test @@ -6971,6 +7126,7 @@ target_include_directories(grpc_print_google_default_creds_token PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(grpc_print_google_default_creds_token @@ -7004,6 +7160,7 @@ target_include_directories(grpc_security_connector_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(grpc_security_connector_test @@ -7031,6 +7188,7 @@ target_include_directories(grpc_ssl_credentials_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(grpc_ssl_credentials_test @@ -7058,6 +7216,7 @@ target_include_directories(grpc_verify_jwt PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(grpc_verify_jwt @@ -7092,6 +7251,7 @@ target_include_directories(handshake_client PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(handshake_client @@ -7123,6 +7283,7 @@ target_include_directories(handshake_server PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(handshake_server @@ -7154,6 +7315,7 @@ target_include_directories(handshake_server_with_readahead_handshaker PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(handshake_server_with_readahead_handshaker @@ -7183,6 +7345,7 @@ target_include_directories(histogram_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(histogram_test @@ -7208,6 +7371,7 @@ target_include_directories(hpack_parser_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(hpack_parser_test @@ -7235,6 +7399,7 @@ target_include_directories(hpack_table_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(hpack_table_test @@ -7262,6 +7427,7 @@ target_include_directories(http_parser_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(http_parser_test @@ -7289,6 +7455,7 @@ target_include_directories(httpcli_format_request_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(httpcli_format_request_test @@ -7317,6 +7484,7 @@ target_include_directories(httpcli_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(httpcli_test @@ -7346,6 +7514,7 @@ target_include_directories(httpscli_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(httpscli_test @@ -7374,6 +7543,7 @@ target_include_directories(init_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(init_test @@ -7401,6 +7571,7 @@ target_include_directories(invalid_call_argument_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(invalid_call_argument_test @@ -7428,6 +7599,7 @@ target_include_directories(json_rewrite PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(json_rewrite @@ -7455,6 +7627,7 @@ target_include_directories(json_rewrite_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(json_rewrite_test @@ -7482,6 +7655,7 @@ target_include_directories(json_stream_error_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(json_stream_error_test @@ -7509,6 +7683,7 @@ target_include_directories(json_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(json_test @@ -7536,6 +7711,7 @@ target_include_directories(lame_client_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(lame_client_test @@ -7563,6 +7739,7 @@ target_include_directories(load_file_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(load_file_test @@ -7590,6 +7767,7 @@ target_include_directories(memory_profile_client PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(memory_profile_client @@ -7617,6 +7795,7 @@ target_include_directories(memory_profile_server PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(memory_profile_server @@ -7645,6 +7824,7 @@ target_include_directories(memory_profile_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(memory_profile_test @@ -7673,6 +7853,7 @@ target_include_directories(message_compress_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(message_compress_test @@ -7700,6 +7881,7 @@ target_include_directories(minimal_stack_is_minimal_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(minimal_stack_is_minimal_test @@ -7727,6 +7909,7 @@ target_include_directories(multiple_server_queues_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(multiple_server_queues_test @@ -7754,6 +7937,7 @@ target_include_directories(murmur_hash_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(murmur_hash_test @@ -7779,6 +7963,7 @@ target_include_directories(no_server_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(no_server_test @@ -7806,6 +7991,7 @@ target_include_directories(num_external_connectivity_watchers_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(num_external_connectivity_watchers_test @@ -7833,6 +8019,7 @@ target_include_directories(parse_address_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(parse_address_test @@ -7860,6 +8047,7 @@ target_include_directories(percent_encoding_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(percent_encoding_test @@ -7888,6 +8076,7 @@ target_include_directories(pollset_set_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(pollset_set_test @@ -7917,6 +8106,7 @@ target_include_directories(resolve_address_posix_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(resolve_address_posix_test @@ -7945,6 +8135,7 @@ target_include_directories(resolve_address_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(resolve_address_test @@ -7972,6 +8163,7 @@ target_include_directories(resource_quota_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(resource_quota_test @@ -7999,6 +8191,7 @@ target_include_directories(secure_channel_create_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(secure_channel_create_test @@ -8026,6 +8219,7 @@ target_include_directories(secure_endpoint_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(secure_endpoint_test @@ -8053,6 +8247,7 @@ target_include_directories(sequential_connectivity_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(sequential_connectivity_test @@ -8080,6 +8275,7 @@ target_include_directories(server_chttp2_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(server_chttp2_test @@ -8107,6 +8303,7 @@ target_include_directories(server_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(server_test @@ -8134,6 +8331,7 @@ target_include_directories(slice_buffer_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(slice_buffer_test @@ -8161,6 +8359,7 @@ target_include_directories(slice_string_helpers_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(slice_string_helpers_test @@ -8188,6 +8387,7 @@ target_include_directories(slice_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(slice_test @@ -8215,6 +8415,7 @@ target_include_directories(sockaddr_resolver_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(sockaddr_resolver_test @@ -8242,6 +8443,7 @@ target_include_directories(sockaddr_utils_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(sockaddr_utils_test @@ -8270,6 +8472,7 @@ target_include_directories(socket_utils_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(socket_utils_test @@ -8300,6 +8503,7 @@ target_include_directories(ssl_transport_security_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(ssl_transport_security_test @@ -8327,6 +8531,7 @@ target_include_directories(status_conversion_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(status_conversion_test @@ -8354,6 +8559,7 @@ target_include_directories(stream_compression_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(stream_compression_test @@ -8381,6 +8587,7 @@ target_include_directories(stream_owned_slice_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(stream_owned_slice_test @@ -8409,6 +8616,7 @@ target_include_directories(tcp_client_posix_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(tcp_client_posix_test @@ -8437,6 +8645,7 @@ target_include_directories(tcp_client_uv_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(tcp_client_uv_test @@ -8465,6 +8674,7 @@ target_include_directories(tcp_posix_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(tcp_posix_test @@ -8494,6 +8704,7 @@ target_include_directories(tcp_server_posix_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(tcp_server_posix_test @@ -8522,6 +8733,7 @@ target_include_directories(tcp_server_uv_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(tcp_server_uv_test @@ -8549,6 +8761,7 @@ target_include_directories(time_averaged_stats_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(time_averaged_stats_test @@ -8576,6 +8789,7 @@ target_include_directories(timeout_encoding_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(timeout_encoding_test @@ -8603,6 +8817,7 @@ target_include_directories(timer_heap_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(timer_heap_test @@ -8630,6 +8845,7 @@ target_include_directories(timer_list_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(timer_list_test @@ -8657,6 +8873,7 @@ target_include_directories(transport_connectivity_state_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(transport_connectivity_state_test @@ -8684,6 +8901,7 @@ target_include_directories(transport_metadata_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(transport_metadata_test @@ -8712,6 +8930,7 @@ target_include_directories(transport_security_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(transport_security_test @@ -8741,6 +8960,7 @@ target_include_directories(udp_server_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(udp_server_test @@ -8769,6 +8989,7 @@ target_include_directories(uri_parser_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(uri_parser_test @@ -8797,6 +9018,7 @@ target_include_directories(wakeup_fd_cv_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(wakeup_fd_cv_test @@ -8827,6 +9049,7 @@ target_include_directories(alarm_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -8865,6 +9088,7 @@ target_include_directories(alts_counter_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -8900,6 +9124,7 @@ target_include_directories(alts_crypt_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -8936,6 +9161,7 @@ target_include_directories(alts_crypter_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -8971,6 +9197,7 @@ target_include_directories(alts_frame_handler_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -9007,6 +9234,7 @@ target_include_directories(alts_frame_protector_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -9042,6 +9270,7 @@ target_include_directories(alts_grpc_record_protocol_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -9077,6 +9306,7 @@ target_include_directories(alts_handshaker_client_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -9112,6 +9342,7 @@ target_include_directories(alts_handshaker_service_api_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -9147,6 +9378,7 @@ target_include_directories(alts_iovec_record_protocol_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -9182,6 +9414,7 @@ target_include_directories(alts_security_connector_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -9216,6 +9449,7 @@ target_include_directories(alts_tsi_handshaker_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -9251,6 +9485,7 @@ target_include_directories(alts_tsi_utils_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -9286,6 +9521,7 @@ target_include_directories(alts_zero_copy_grpc_protector_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -9321,6 +9557,7 @@ target_include_directories(async_end2end_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -9359,6 +9596,7 @@ target_include_directories(auth_property_iterator_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -9397,6 +9635,7 @@ target_include_directories(backoff_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -9433,6 +9672,7 @@ target_include_directories(bdp_estimator_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -9472,6 +9712,7 @@ target_include_directories(bm_arena PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -9514,6 +9755,7 @@ target_include_directories(bm_call_create PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -9556,6 +9798,7 @@ target_include_directories(bm_chttp2_hpack PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -9598,6 +9841,7 @@ target_include_directories(bm_chttp2_transport PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -9640,6 +9884,7 @@ target_include_directories(bm_closure PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -9682,6 +9927,7 @@ target_include_directories(bm_cq PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -9724,6 +9970,7 @@ target_include_directories(bm_cq_multiple_threads PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -9766,6 +10013,7 @@ target_include_directories(bm_error PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -9808,6 +10056,7 @@ target_include_directories(bm_fullstack_streaming_ping_pong PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -9850,6 +10099,7 @@ target_include_directories(bm_fullstack_streaming_pump PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -9892,6 +10142,7 @@ target_include_directories(bm_fullstack_trickle PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -9935,6 +10186,7 @@ target_include_directories(bm_fullstack_unary_ping_pong PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -9977,6 +10229,7 @@ target_include_directories(bm_metadata PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -10019,6 +10272,7 @@ target_include_directories(bm_pollset PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -10060,6 +10314,7 @@ target_include_directories(byte_stream_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -10096,6 +10351,7 @@ target_include_directories(channel_arguments_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -10131,6 +10387,7 @@ target_include_directories(channel_filter_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -10173,6 +10430,7 @@ target_include_directories(channel_trace_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -10211,6 +10469,7 @@ target_include_directories(check_gcp_environment_linux_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -10245,6 +10504,7 @@ target_include_directories(check_gcp_environment_windows_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -10279,6 +10539,7 @@ target_include_directories(chttp2_settings_timeout_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -10315,6 +10576,7 @@ target_include_directories(cli_call_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -10361,6 +10623,7 @@ target_include_directories(client_channel_stress_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -10400,6 +10663,7 @@ target_include_directories(client_crash_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -10439,6 +10703,7 @@ target_include_directories(client_crash_test_server PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -10477,6 +10742,7 @@ target_include_directories(client_lb_end2end_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -10550,6 +10816,7 @@ target_include_directories(codegen_test_full PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -10622,6 +10889,7 @@ target_include_directories(codegen_test_minimal PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -10657,6 +10925,7 @@ target_include_directories(credentials_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -10692,6 +10961,7 @@ target_include_directories(cxx_byte_buffer_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -10729,6 +10999,7 @@ target_include_directories(cxx_slice_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -10766,6 +11037,7 @@ target_include_directories(cxx_string_ref_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -10800,6 +11072,7 @@ target_include_directories(cxx_time_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -10837,6 +11110,7 @@ target_include_directories(end2end_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -10882,6 +11156,7 @@ target_include_directories(error_details_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -10916,6 +11191,7 @@ target_include_directories(exception_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -10954,6 +11230,7 @@ target_include_directories(filter_end2end_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -10992,6 +11269,7 @@ target_include_directories(generic_end2end_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -11037,6 +11315,7 @@ target_include_directories(golden_file_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -11072,6 +11351,7 @@ target_include_directories(grpc_alts_credentials_options_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -11106,6 +11386,7 @@ target_include_directories(grpc_cli PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -11142,6 +11423,7 @@ target_include_directories(grpc_cpp_plugin PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE ${_gRPC_PROTO_GENS_DIR} ) @@ -11178,6 +11460,7 @@ target_include_directories(grpc_csharp_plugin PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE ${_gRPC_PROTO_GENS_DIR} ) @@ -11214,6 +11497,7 @@ target_include_directories(grpc_node_plugin PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE ${_gRPC_PROTO_GENS_DIR} ) @@ -11250,6 +11534,7 @@ target_include_directories(grpc_objective_c_plugin PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE ${_gRPC_PROTO_GENS_DIR} ) @@ -11286,6 +11571,7 @@ target_include_directories(grpc_php_plugin PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE ${_gRPC_PROTO_GENS_DIR} ) @@ -11322,6 +11608,7 @@ target_include_directories(grpc_python_plugin PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE ${_gRPC_PROTO_GENS_DIR} ) @@ -11358,6 +11645,7 @@ target_include_directories(grpc_ruby_plugin PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE ${_gRPC_PROTO_GENS_DIR} ) @@ -11410,6 +11698,7 @@ target_include_directories(grpc_tool_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -11458,6 +11747,7 @@ target_include_directories(grpclb_api_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -11501,6 +11791,7 @@ target_include_directories(grpclb_end2end_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -11539,6 +11830,7 @@ target_include_directories(h2_ssl_cert_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -11576,6 +11868,7 @@ target_include_directories(h2_ssl_session_reuse_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -11613,6 +11906,7 @@ target_include_directories(health_service_end2end_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -11651,6 +11945,7 @@ target_include_directories(http2_client PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -11690,6 +11985,7 @@ target_include_directories(hybrid_end2end_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -11728,6 +12024,7 @@ target_include_directories(inlined_vector_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -11766,6 +12063,7 @@ target_include_directories(inproc_sync_unary_ping_pong_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -11808,6 +12106,7 @@ target_include_directories(interop_client PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -11850,6 +12149,7 @@ target_include_directories(interop_server PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -11894,6 +12194,7 @@ target_include_directories(interop_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -11933,6 +12234,7 @@ target_include_directories(json_run_localhost PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -11973,6 +12275,7 @@ target_include_directories(memory_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -12017,6 +12320,7 @@ target_include_directories(metrics_client PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -12053,6 +12357,7 @@ target_include_directories(mock_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -12091,6 +12396,7 @@ target_include_directories(nonblocking_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -12129,6 +12435,7 @@ target_include_directories(noop-benchmark PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -12162,6 +12469,7 @@ target_include_directories(orphanable_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -12199,6 +12507,7 @@ target_include_directories(proto_server_reflection_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -12239,6 +12548,7 @@ target_include_directories(proto_utils_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -12274,6 +12584,7 @@ target_include_directories(qps_interarrival_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -12315,6 +12626,7 @@ target_include_directories(qps_json_driver PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -12357,6 +12669,7 @@ target_include_directories(qps_openloop_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -12399,6 +12712,7 @@ target_include_directories(qps_worker PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -12461,6 +12775,7 @@ target_include_directories(reconnect_interop_client PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -12521,6 +12836,7 @@ target_include_directories(reconnect_interop_server PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -12562,6 +12878,7 @@ target_include_directories(ref_counted_ptr_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -12599,6 +12916,7 @@ target_include_directories(ref_counted_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -12636,6 +12954,7 @@ target_include_directories(secure_auth_context_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -12675,6 +12994,7 @@ target_include_directories(secure_sync_unary_ping_pong_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -12717,6 +13037,7 @@ target_include_directories(server_builder_plugin_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -12769,6 +13090,7 @@ target_include_directories(server_builder_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -12807,6 +13129,7 @@ target_include_directories(server_context_test_spouse_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -12845,6 +13168,7 @@ target_include_directories(server_crash_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -12884,6 +13208,7 @@ target_include_directories(server_crash_test_client PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -12922,6 +13247,7 @@ target_include_directories(server_early_return_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -12974,6 +13300,7 @@ target_include_directories(server_request_call_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -13012,6 +13339,7 @@ target_include_directories(shutdown_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -13050,6 +13378,7 @@ target_include_directories(slice_hash_table_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -13086,6 +13415,7 @@ target_include_directories(slice_weak_hash_table_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -13122,6 +13452,7 @@ target_include_directories(stats_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -13159,6 +13490,7 @@ target_include_directories(status_metadata_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -13192,6 +13524,7 @@ target_include_directories(status_util_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -13226,6 +13559,7 @@ target_include_directories(streaming_throughput_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -13296,6 +13630,7 @@ target_include_directories(stress_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -13335,6 +13670,7 @@ target_include_directories(thread_manager_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -13371,6 +13707,7 @@ target_include_directories(thread_stress_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -13409,6 +13746,7 @@ target_include_directories(transport_pid_controller_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -13447,6 +13785,7 @@ target_include_directories(transport_security_common_api_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -13483,6 +13822,7 @@ target_include_directories(writes_per_rpc_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -13520,6 +13860,7 @@ target_include_directories(public_headers_must_be_c89 PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(public_headers_must_be_c89 @@ -13544,6 +13885,7 @@ target_include_directories(gen_hpack_tables PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(gen_hpack_tables @@ -13576,6 +13918,7 @@ target_include_directories(gen_legal_metadata_characters PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(gen_legal_metadata_characters @@ -13606,6 +13949,7 @@ target_include_directories(gen_percent_encoding_tables PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(gen_percent_encoding_tables @@ -13637,6 +13981,7 @@ target_include_directories(badreq_bad_client_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(badreq_bad_client_test @@ -13666,6 +14011,7 @@ target_include_directories(connection_prefix_bad_client_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(connection_prefix_bad_client_test @@ -13695,6 +14041,7 @@ target_include_directories(duplicate_header_bad_client_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(duplicate_header_bad_client_test @@ -13724,6 +14071,7 @@ target_include_directories(head_of_line_blocking_bad_client_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(head_of_line_blocking_bad_client_test @@ -13753,6 +14101,7 @@ target_include_directories(headers_bad_client_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(headers_bad_client_test @@ -13782,6 +14131,7 @@ target_include_directories(initial_settings_frame_bad_client_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(initial_settings_frame_bad_client_test @@ -13811,6 +14161,7 @@ target_include_directories(large_metadata_bad_client_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(large_metadata_bad_client_test @@ -13840,6 +14191,7 @@ target_include_directories(server_registered_method_bad_client_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(server_registered_method_bad_client_test @@ -13869,6 +14221,7 @@ target_include_directories(simple_request_bad_client_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(simple_request_bad_client_test @@ -13898,6 +14251,7 @@ target_include_directories(unknown_frame_bad_client_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(unknown_frame_bad_client_test @@ -13927,6 +14281,7 @@ target_include_directories(window_overflow_bad_client_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(window_overflow_bad_client_test @@ -13957,6 +14312,7 @@ target_include_directories(bad_ssl_cert_server PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(bad_ssl_cert_server @@ -13987,6 +14343,7 @@ target_include_directories(bad_ssl_cert_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(bad_ssl_cert_test @@ -14015,6 +14372,7 @@ target_include_directories(h2_census_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(h2_census_test @@ -14043,6 +14401,7 @@ target_include_directories(h2_compress_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(h2_compress_test @@ -14071,6 +14430,7 @@ target_include_directories(h2_fakesec_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(h2_fakesec_test @@ -14100,6 +14460,7 @@ target_include_directories(h2_fd_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(h2_fd_test @@ -14129,6 +14490,7 @@ target_include_directories(h2_full_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(h2_full_test @@ -14158,6 +14520,7 @@ target_include_directories(h2_full+pipe_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(h2_full+pipe_test @@ -14187,6 +14550,7 @@ target_include_directories(h2_full+trace_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(h2_full+trace_test @@ -14215,6 +14579,7 @@ target_include_directories(h2_full+workarounds_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(h2_full+workarounds_test @@ -14243,6 +14608,7 @@ target_include_directories(h2_http_proxy_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(h2_http_proxy_test @@ -14271,6 +14637,7 @@ target_include_directories(h2_load_reporting_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(h2_load_reporting_test @@ -14299,6 +14666,7 @@ target_include_directories(h2_oauth2_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(h2_oauth2_test @@ -14327,6 +14695,7 @@ target_include_directories(h2_proxy_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(h2_proxy_test @@ -14355,6 +14724,7 @@ target_include_directories(h2_sockpair_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(h2_sockpair_test @@ -14383,6 +14753,7 @@ target_include_directories(h2_sockpair+trace_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(h2_sockpair+trace_test @@ -14411,6 +14782,7 @@ target_include_directories(h2_sockpair_1byte_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(h2_sockpair_1byte_test @@ -14439,6 +14811,7 @@ target_include_directories(h2_ssl_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(h2_ssl_test @@ -14467,6 +14840,7 @@ target_include_directories(h2_ssl_proxy_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(h2_ssl_proxy_test @@ -14496,6 +14870,7 @@ target_include_directories(h2_uds_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(h2_uds_test @@ -14525,6 +14900,7 @@ target_include_directories(inproc_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(inproc_test @@ -14553,6 +14929,7 @@ target_include_directories(h2_census_nosec_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(h2_census_nosec_test @@ -14581,6 +14958,7 @@ target_include_directories(h2_compress_nosec_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(h2_compress_nosec_test @@ -14610,6 +14988,7 @@ target_include_directories(h2_fd_nosec_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(h2_fd_nosec_test @@ -14639,6 +15018,7 @@ target_include_directories(h2_full_nosec_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(h2_full_nosec_test @@ -14668,6 +15048,7 @@ target_include_directories(h2_full+pipe_nosec_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(h2_full+pipe_nosec_test @@ -14697,6 +15078,7 @@ target_include_directories(h2_full+trace_nosec_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(h2_full+trace_nosec_test @@ -14725,6 +15107,7 @@ target_include_directories(h2_full+workarounds_nosec_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(h2_full+workarounds_nosec_test @@ -14753,6 +15136,7 @@ target_include_directories(h2_http_proxy_nosec_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(h2_http_proxy_nosec_test @@ -14781,6 +15165,7 @@ target_include_directories(h2_load_reporting_nosec_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(h2_load_reporting_nosec_test @@ -14809,6 +15194,7 @@ target_include_directories(h2_proxy_nosec_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(h2_proxy_nosec_test @@ -14837,6 +15223,7 @@ target_include_directories(h2_sockpair_nosec_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(h2_sockpair_nosec_test @@ -14865,6 +15252,7 @@ target_include_directories(h2_sockpair+trace_nosec_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(h2_sockpair+trace_nosec_test @@ -14893,6 +15281,7 @@ target_include_directories(h2_sockpair_1byte_nosec_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(h2_sockpair_1byte_nosec_test @@ -14922,6 +15311,7 @@ target_include_directories(h2_uds_nosec_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(h2_uds_nosec_test @@ -14951,6 +15341,7 @@ target_include_directories(inproc_nosec_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(inproc_nosec_test @@ -14982,6 +15373,7 @@ target_include_directories(resolver_component_test_unsecure PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -15023,6 +15415,7 @@ target_include_directories(resolver_component_test PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -15064,6 +15457,7 @@ target_include_directories(resolver_component_tests_runner_invoker_unsecure PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -15105,6 +15499,7 @@ target_include_directories(resolver_component_tests_runner_invoker PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest PRIVATE third_party/googletest/googlemock/include @@ -15128,6 +15523,90 @@ target_link_libraries(resolver_component_tests_runner_invoker endif() endif (gRPC_BUILD_TESTS) if (gRPC_BUILD_TESTS) +if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) + +add_executable(address_sorting_test_unsecure + test/cpp/naming/address_sorting_test.cc + third_party/googletest/googletest/src/gtest-all.cc + third_party/googletest/googlemock/src/gmock-all.cc +) + + +target_include_directories(address_sorting_test_unsecure + PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} + PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include + PRIVATE ${_gRPC_SSL_INCLUDE_DIR} + PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR} + PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR} + PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} + PRIVATE ${_gRPC_CARES_INCLUDE_DIR} + PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} + PRIVATE third_party/googletest/googletest/include + PRIVATE third_party/googletest/googletest + PRIVATE third_party/googletest/googlemock/include + PRIVATE third_party/googletest/googlemock + PRIVATE ${_gRPC_PROTO_GENS_DIR} +) + +target_link_libraries(address_sorting_test_unsecure + ${_gRPC_PROTOBUF_LIBRARIES} + ${_gRPC_ALLTARGETS_LIBRARIES} + grpc++_test_util_unsecure + grpc_test_util_unsecure + gpr_test_util + grpc++_unsecure + grpc_unsecure + gpr + grpc++_test_config + ${_gRPC_GFLAGS_LIBRARIES} +) + +endif() +endif (gRPC_BUILD_TESTS) +if (gRPC_BUILD_TESTS) +if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) + +add_executable(address_sorting_test + test/cpp/naming/address_sorting_test.cc + third_party/googletest/googletest/src/gtest-all.cc + third_party/googletest/googlemock/src/gmock-all.cc +) + + +target_include_directories(address_sorting_test + PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} + PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include + PRIVATE ${_gRPC_SSL_INCLUDE_DIR} + PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR} + PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR} + PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} + PRIVATE ${_gRPC_CARES_INCLUDE_DIR} + PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} + PRIVATE third_party/googletest/googletest/include + PRIVATE third_party/googletest/googletest + PRIVATE third_party/googletest/googlemock/include + PRIVATE third_party/googletest/googlemock + PRIVATE ${_gRPC_PROTO_GENS_DIR} +) + +target_link_libraries(address_sorting_test + ${_gRPC_PROTOBUF_LIBRARIES} + ${_gRPC_ALLTARGETS_LIBRARIES} + grpc++_test_util + grpc_test_util + gpr_test_util + grpc++ + grpc + gpr + grpc++_test_config + ${_gRPC_GFLAGS_LIBRARIES} +) + +endif() +endif (gRPC_BUILD_TESTS) +if (gRPC_BUILD_TESTS) add_executable(api_fuzzer_one_entry test/core/end2end/fuzzers/api_fuzzer.cc @@ -15144,6 +15623,7 @@ target_include_directories(api_fuzzer_one_entry PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(api_fuzzer_one_entry @@ -15172,6 +15652,7 @@ target_include_directories(client_fuzzer_one_entry PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(client_fuzzer_one_entry @@ -15200,6 +15681,7 @@ target_include_directories(hpack_parser_fuzzer_test_one_entry PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(hpack_parser_fuzzer_test_one_entry @@ -15228,6 +15710,7 @@ target_include_directories(http_request_fuzzer_test_one_entry PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(http_request_fuzzer_test_one_entry @@ -15256,6 +15739,7 @@ target_include_directories(http_response_fuzzer_test_one_entry PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(http_response_fuzzer_test_one_entry @@ -15284,6 +15768,7 @@ target_include_directories(json_fuzzer_test_one_entry PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(json_fuzzer_test_one_entry @@ -15312,6 +15797,7 @@ target_include_directories(nanopb_fuzzer_response_test_one_entry PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(nanopb_fuzzer_response_test_one_entry @@ -15340,6 +15826,7 @@ target_include_directories(nanopb_fuzzer_serverlist_test_one_entry PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(nanopb_fuzzer_serverlist_test_one_entry @@ -15368,6 +15855,7 @@ target_include_directories(percent_decode_fuzzer_one_entry PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(percent_decode_fuzzer_one_entry @@ -15396,6 +15884,7 @@ target_include_directories(percent_encode_fuzzer_one_entry PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(percent_encode_fuzzer_one_entry @@ -15424,6 +15913,7 @@ target_include_directories(server_fuzzer_one_entry PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(server_fuzzer_one_entry @@ -15452,6 +15942,7 @@ target_include_directories(ssl_server_fuzzer_one_entry PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(ssl_server_fuzzer_one_entry @@ -15480,6 +15971,7 @@ target_include_directories(uri_fuzzer_test_one_entry PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} PRIVATE ${_gRPC_CARES_INCLUDE_DIR} PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ) target_link_libraries(uri_fuzzer_test_one_entry @@ -677,6 +677,11 @@ else EMBED_CARES ?= false endif +ADDRESS_SORTING_DEP = $(LIBDIR)/$(CONFIG)/libaddress_sorting.a +ADDRESS_SORTING_MERGE_OBJS = $(LIBADDRESS_SORTING_OBJS) +ADDRESS_SORTING_MERGE_LIBS = $(LIBDIR)/$(CONFIG)/libaddress_sorting.a +CPPFLAGS := -Ithird_party/address_sorting/include $(CPPFLAGS) + ifeq ($(EMBED_CARES),true) CARES_DEP = $(LIBDIR)/$(CONFIG)/libares.a CARES_MERGE_OBJS = $(LIBARES_OBJS) @@ -1316,6 +1321,8 @@ resolver_component_test_unsecure: $(BINDIR)/$(CONFIG)/resolver_component_test_un resolver_component_test: $(BINDIR)/$(CONFIG)/resolver_component_test resolver_component_tests_runner_invoker_unsecure: $(BINDIR)/$(CONFIG)/resolver_component_tests_runner_invoker_unsecure resolver_component_tests_runner_invoker: $(BINDIR)/$(CONFIG)/resolver_component_tests_runner_invoker +address_sorting_test_unsecure: $(BINDIR)/$(CONFIG)/address_sorting_test_unsecure +address_sorting_test: $(BINDIR)/$(CONFIG)/address_sorting_test api_fuzzer_one_entry: $(BINDIR)/$(CONFIG)/api_fuzzer_one_entry client_fuzzer_one_entry: $(BINDIR)/$(CONFIG)/client_fuzzer_one_entry hpack_parser_fuzzer_test_one_entry: $(BINDIR)/$(CONFIG)/hpack_parser_fuzzer_test_one_entry @@ -1356,13 +1363,13 @@ $(LIBDIR)/$(CONFIG)/protobuf/libprotobuf.a: third_party/protobuf/configure static: static_c static_cxx -static_c: pc_c pc_c_unsecure cache.mk $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgrpc_cronet.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a +static_c: pc_c pc_c_unsecure cache.mk $(LIBDIR)/$(CONFIG)/libaddress_sorting.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgrpc_cronet.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a static_cxx: pc_cxx pc_cxx_unsecure cache.mk $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc++_cronet.a $(LIBDIR)/$(CONFIG)/libgrpc++_error_details.a $(LIBDIR)/$(CONFIG)/libgrpc++_reflection.a $(LIBDIR)/$(CONFIG)/libgrpc++_unsecure.a shared: shared_c shared_cxx -shared_c: pc_c pc_c_unsecure cache.mk $(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)gpr$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)grpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)grpc_cronet$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)grpc_unsecure$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) +shared_c: pc_c pc_c_unsecure cache.mk $(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)address_sorting$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)gpr$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)grpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)grpc_cronet$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)grpc_unsecure$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) shared_cxx: pc_cxx pc_cxx_unsecure cache.mk $(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)grpc++$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)grpc++_cronet$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)grpc++_error_details$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)grpc++_reflection$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)grpc++_unsecure$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) shared_csharp: shared_c $(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)grpc_csharp_ext$(SHARED_VERSION_CSHARP).$(SHARED_EXT_CSHARP) @@ -1744,6 +1751,8 @@ buildtests_cxx: privatelibs_cxx \ $(BINDIR)/$(CONFIG)/resolver_component_test \ $(BINDIR)/$(CONFIG)/resolver_component_tests_runner_invoker_unsecure \ $(BINDIR)/$(CONFIG)/resolver_component_tests_runner_invoker \ + $(BINDIR)/$(CONFIG)/address_sorting_test_unsecure \ + $(BINDIR)/$(CONFIG)/address_sorting_test \ else buildtests_cxx: privatelibs_cxx \ @@ -1862,6 +1871,8 @@ buildtests_cxx: privatelibs_cxx \ $(BINDIR)/$(CONFIG)/resolver_component_test \ $(BINDIR)/$(CONFIG)/resolver_component_tests_runner_invoker_unsecure \ $(BINDIR)/$(CONFIG)/resolver_component_tests_runner_invoker \ + $(BINDIR)/$(CONFIG)/address_sorting_test_unsecure \ + $(BINDIR)/$(CONFIG)/address_sorting_test \ endif @@ -2333,6 +2344,10 @@ test_cxx: buildtests_cxx $(Q) $(BINDIR)/$(CONFIG)/resolver_component_tests_runner_invoker_unsecure || ( echo test resolver_component_tests_runner_invoker_unsecure failed ; exit 1 ) $(E) "[RUN] Testing resolver_component_tests_runner_invoker" $(Q) $(BINDIR)/$(CONFIG)/resolver_component_tests_runner_invoker || ( echo test resolver_component_tests_runner_invoker failed ; exit 1 ) + $(E) "[RUN] Testing address_sorting_test_unsecure" + $(Q) $(BINDIR)/$(CONFIG)/address_sorting_test_unsecure || ( echo test address_sorting_test_unsecure failed ; exit 1 ) + $(E) "[RUN] Testing address_sorting_test" + $(Q) $(BINDIR)/$(CONFIG)/address_sorting_test || ( echo test address_sorting_test failed ; exit 1 ) flaky_test_cxx: buildtests_cxx @@ -2369,6 +2384,8 @@ strip-shared: strip-shared_c strip-shared_cxx strip-static_c: static_c ifeq ($(CONFIG),opt) + $(E) "[STRIP] Stripping libaddress_sorting.a" + $(Q) $(STRIP) $(LIBDIR)/$(CONFIG)/libaddress_sorting.a $(E) "[STRIP] Stripping libgpr.a" $(Q) $(STRIP) $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[STRIP] Stripping libgrpc.a" @@ -2395,6 +2412,8 @@ endif strip-shared_c: shared_c ifeq ($(CONFIG),opt) + $(E) "[STRIP] Stripping $(SHARED_PREFIX)address_sorting$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE)" + $(Q) $(STRIP) $(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)address_sorting$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(E) "[STRIP] Stripping $(SHARED_PREFIX)gpr$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE)" $(Q) $(STRIP) $(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)gpr$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(E) "[STRIP] Stripping $(SHARED_PREFIX)grpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE)" @@ -2807,6 +2826,9 @@ install-headers_cxx: install-static: install-static_c install-static_cxx install-static_c: static_c strip-static_c install-pkg-config_c + $(E) "[INSTALL] Installing libaddress_sorting.a" + $(Q) $(INSTALL) -d $(prefix)/lib + $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/libaddress_sorting.a $(prefix)/lib/libaddress_sorting.a $(E) "[INSTALL] Installing libgpr.a" $(Q) $(INSTALL) -d $(prefix)/lib $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/libgpr.a $(prefix)/lib/libgpr.a @@ -2840,6 +2862,15 @@ install-static_cxx: static_cxx strip-static_cxx install-pkg-config_cxx install-shared_c: shared_c strip-shared_c install-pkg-config_c + $(E) "[INSTALL] Installing $(SHARED_PREFIX)address_sorting$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE)" + $(Q) $(INSTALL) -d $(prefix)/lib + $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)address_sorting$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(prefix)/lib/$(SHARED_PREFIX)address_sorting$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) +ifeq ($(SYSTEM),MINGW32) + $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/libaddress_sorting$(SHARED_VERSION_CORE)-dll.a $(prefix)/lib/libaddress_sorting.a +else ifneq ($(SYSTEM),Darwin) + $(Q) ln -sf $(SHARED_PREFIX)address_sorting$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(prefix)/lib/libaddress_sorting.so.6 + $(Q) ln -sf $(SHARED_PREFIX)address_sorting$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(prefix)/lib/libaddress_sorting.so +endif $(E) "[INSTALL] Installing $(SHARED_PREFIX)gpr$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE)" $(Q) $(INSTALL) -d $(prefix)/lib $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)gpr$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(prefix)/lib/$(SHARED_PREFIX)gpr$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) @@ -3000,6 +3031,50 @@ clean: # The various libraries +LIBADDRESS_SORTING_SRC = \ + third_party/address_sorting/address_sorting.c \ + third_party/address_sorting/address_sorting_posix.c \ + third_party/address_sorting/address_sorting_windows.c \ + +PUBLIC_HEADERS_C += \ + +LIBADDRESS_SORTING_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBADDRESS_SORTING_SRC)))) + + +$(LIBDIR)/$(CONFIG)/libaddress_sorting.a: $(ZLIB_DEP) $(CARES_DEP) $(LIBADDRESS_SORTING_OBJS) + $(E) "[AR] Creating $@" + $(Q) mkdir -p `dirname $@` + $(Q) rm -f $(LIBDIR)/$(CONFIG)/libaddress_sorting.a + $(Q) $(AR) $(AROPTS) $(LIBDIR)/$(CONFIG)/libaddress_sorting.a $(LIBADDRESS_SORTING_OBJS) +ifeq ($(SYSTEM),Darwin) + $(Q) ranlib -no_warning_for_no_symbols $(LIBDIR)/$(CONFIG)/libaddress_sorting.a +endif + + + +ifeq ($(SYSTEM),MINGW32) +$(LIBDIR)/$(CONFIG)/address_sorting$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE): $(LIBADDRESS_SORTING_OBJS) $(ZLIB_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) + $(E) "[LD] Linking $@" + $(Q) mkdir -p `dirname $@` + $(Q) $(LD) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,--output-def=$(LIBDIR)/$(CONFIG)/address_sorting$(SHARED_VERSION_CORE).def -Wl,--out-implib=$(LIBDIR)/$(CONFIG)/libaddress_sorting$(SHARED_VERSION_CORE)-dll.a -o $(LIBDIR)/$(CONFIG)/address_sorting$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBADDRESS_SORTING_OBJS) $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(ADDRESS_SORTING_MERGE_LIBS) $(LDLIBS) +else +$(LIBDIR)/$(CONFIG)/libaddress_sorting$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE): $(LIBADDRESS_SORTING_OBJS) $(ZLIB_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) + $(E) "[LD] Linking $@" + $(Q) mkdir -p `dirname $@` +ifeq ($(SYSTEM),Darwin) + $(Q) $(LD) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -install_name $(SHARED_PREFIX)address_sorting$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) -dynamiclib -o $(LIBDIR)/$(CONFIG)/libaddress_sorting$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBADDRESS_SORTING_OBJS) $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(ADDRESS_SORTING_MERGE_LIBS) $(LDLIBS) +else + $(Q) $(LD) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libaddress_sorting.so.6 -o $(LIBDIR)/$(CONFIG)/libaddress_sorting$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBADDRESS_SORTING_OBJS) $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(ADDRESS_SORTING_MERGE_LIBS) $(LDLIBS) + $(Q) ln -sf $(SHARED_PREFIX)address_sorting$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libaddress_sorting$(SHARED_VERSION_CORE).so.6 + $(Q) ln -sf $(SHARED_PREFIX)address_sorting$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libaddress_sorting$(SHARED_VERSION_CORE).so +endif +endif + +ifneq ($(NO_DEPS),true) +-include $(LIBADDRESS_SORTING_OBJS:.o=.dep) +endif + + LIBALTS_TEST_UTIL_SRC = \ test/core/tsi/alts/crypt/gsec_test_util.cc \ test/core/tsi/alts/handshaker/alts_handshaker_service_api_test_lib.cc \ @@ -3019,7 +3094,7 @@ $(LIBDIR)/$(CONFIG)/libalts_test_util.a: openssl_dep_error else -$(LIBDIR)/$(CONFIG)/libalts_test_util.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(CARES_DEP) $(LIBALTS_TEST_UTIL_OBJS) +$(LIBDIR)/$(CONFIG)/libalts_test_util.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(LIBALTS_TEST_UTIL_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) rm -f $(LIBDIR)/$(CONFIG)/libalts_test_util.a @@ -3116,7 +3191,7 @@ PUBLIC_HEADERS_C += \ LIBGPR_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBGPR_SRC)))) -$(LIBDIR)/$(CONFIG)/libgpr.a: $(ZLIB_DEP) $(CARES_DEP) $(LIBGPR_OBJS) +$(LIBDIR)/$(CONFIG)/libgpr.a: $(ZLIB_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(LIBGPR_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) rm -f $(LIBDIR)/$(CONFIG)/libgpr.a @@ -3128,18 +3203,18 @@ endif ifeq ($(SYSTEM),MINGW32) -$(LIBDIR)/$(CONFIG)/gpr$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE): $(LIBGPR_OBJS) $(ZLIB_DEP) $(CARES_DEP) +$(LIBDIR)/$(CONFIG)/gpr$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE): $(LIBGPR_OBJS) $(ZLIB_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,--output-def=$(LIBDIR)/$(CONFIG)/gpr$(SHARED_VERSION_CORE).def -Wl,--out-implib=$(LIBDIR)/$(CONFIG)/libgpr$(SHARED_VERSION_CORE)-dll.a -o $(LIBDIR)/$(CONFIG)/gpr$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBGPR_OBJS) $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(LDLIBS) + $(Q) $(LD) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,--output-def=$(LIBDIR)/$(CONFIG)/gpr$(SHARED_VERSION_CORE).def -Wl,--out-implib=$(LIBDIR)/$(CONFIG)/libgpr$(SHARED_VERSION_CORE)-dll.a -o $(LIBDIR)/$(CONFIG)/gpr$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBGPR_OBJS) $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(ADDRESS_SORTING_MERGE_LIBS) $(LDLIBS) else -$(LIBDIR)/$(CONFIG)/libgpr$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE): $(LIBGPR_OBJS) $(ZLIB_DEP) $(CARES_DEP) +$(LIBDIR)/$(CONFIG)/libgpr$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE): $(LIBGPR_OBJS) $(ZLIB_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` ifeq ($(SYSTEM),Darwin) - $(Q) $(LD) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -install_name $(SHARED_PREFIX)gpr$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) -dynamiclib -o $(LIBDIR)/$(CONFIG)/libgpr$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBGPR_OBJS) $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(LDLIBS) + $(Q) $(LD) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -install_name $(SHARED_PREFIX)gpr$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) -dynamiclib -o $(LIBDIR)/$(CONFIG)/libgpr$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBGPR_OBJS) $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(ADDRESS_SORTING_MERGE_LIBS) $(LDLIBS) else - $(Q) $(LD) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libgpr.so.6 -o $(LIBDIR)/$(CONFIG)/libgpr$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBGPR_OBJS) $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(LDLIBS) + $(Q) $(LD) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libgpr.so.6 -o $(LIBDIR)/$(CONFIG)/libgpr$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBGPR_OBJS) $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(ADDRESS_SORTING_MERGE_LIBS) $(LDLIBS) $(Q) ln -sf $(SHARED_PREFIX)gpr$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libgpr$(SHARED_VERSION_CORE).so.6 $(Q) ln -sf $(SHARED_PREFIX)gpr$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libgpr$(SHARED_VERSION_CORE).so endif @@ -3158,7 +3233,7 @@ PUBLIC_HEADERS_C += \ LIBGPR_TEST_UTIL_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBGPR_TEST_UTIL_SRC)))) -$(LIBDIR)/$(CONFIG)/libgpr_test_util.a: $(ZLIB_DEP) $(CARES_DEP) $(LIBGPR_TEST_UTIL_OBJS) +$(LIBDIR)/$(CONFIG)/libgpr_test_util.a: $(ZLIB_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(LIBGPR_TEST_UTIL_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) rm -f $(LIBDIR)/$(CONFIG)/libgpr_test_util.a @@ -3532,11 +3607,11 @@ $(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)grpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE else -$(LIBDIR)/$(CONFIG)/libgrpc.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(CARES_DEP) $(LIBGRPC_OBJS) $(LIBGPR_OBJS) $(ZLIB_MERGE_OBJS) $(CARES_MERGE_OBJS) $(OPENSSL_MERGE_OBJS) +$(LIBDIR)/$(CONFIG)/libgrpc.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(LIBGRPC_OBJS) $(LIBGPR_OBJS) $(ZLIB_MERGE_OBJS) $(CARES_MERGE_OBJS) $(ADDRESS_SORTING_MERGE_OBJS) $(OPENSSL_MERGE_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) rm -f $(LIBDIR)/$(CONFIG)/libgrpc.a - $(Q) $(AR) $(AROPTS) $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBGRPC_OBJS) $(LIBGPR_OBJS) $(ZLIB_MERGE_OBJS) $(CARES_MERGE_OBJS) $(OPENSSL_MERGE_OBJS) + $(Q) $(AR) $(AROPTS) $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBGRPC_OBJS) $(LIBGPR_OBJS) $(ZLIB_MERGE_OBJS) $(CARES_MERGE_OBJS) $(ADDRESS_SORTING_MERGE_OBJS) $(OPENSSL_MERGE_OBJS) ifeq ($(SYSTEM),Darwin) $(Q) ranlib -no_warning_for_no_symbols $(LIBDIR)/$(CONFIG)/libgrpc.a endif @@ -3544,18 +3619,18 @@ endif ifeq ($(SYSTEM),MINGW32) -$(LIBDIR)/$(CONFIG)/grpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE): $(LIBGRPC_OBJS) $(ZLIB_DEP) $(CARES_DEP) $(LIBDIR)/$(CONFIG)/libgpr.a $(OPENSSL_DEP) +$(LIBDIR)/$(CONFIG)/grpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE): $(LIBGRPC_OBJS) $(ZLIB_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(LIBDIR)/$(CONFIG)/libgpr.a $(OPENSSL_DEP) $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,--output-def=$(LIBDIR)/$(CONFIG)/grpc$(SHARED_VERSION_CORE).def -Wl,--out-implib=$(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE)-dll.a -o $(LIBDIR)/$(CONFIG)/grpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBGRPC_OBJS) $(LIBDIR)/$(CONFIG)/libgpr.a $(OPENSSL_MERGE_LIBS) $(LDLIBS_SECURE) $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(LDLIBS) + $(Q) $(LD) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,--output-def=$(LIBDIR)/$(CONFIG)/grpc$(SHARED_VERSION_CORE).def -Wl,--out-implib=$(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE)-dll.a -o $(LIBDIR)/$(CONFIG)/grpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBGRPC_OBJS) $(LIBDIR)/$(CONFIG)/libgpr.a $(OPENSSL_MERGE_LIBS) $(LDLIBS_SECURE) $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(ADDRESS_SORTING_MERGE_LIBS) $(LDLIBS) else -$(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE): $(LIBGRPC_OBJS) $(ZLIB_DEP) $(CARES_DEP) $(LIBDIR)/$(CONFIG)/libgpr.a $(OPENSSL_DEP) +$(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE): $(LIBGRPC_OBJS) $(ZLIB_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(LIBDIR)/$(CONFIG)/libgpr.a $(OPENSSL_DEP) $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` ifeq ($(SYSTEM),Darwin) - $(Q) $(LD) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -install_name $(SHARED_PREFIX)grpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) -dynamiclib -o $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBGRPC_OBJS) $(LIBDIR)/$(CONFIG)/libgpr.a $(OPENSSL_MERGE_LIBS) $(LDLIBS_SECURE) $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(LDLIBS) + $(Q) $(LD) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -install_name $(SHARED_PREFIX)grpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) -dynamiclib -o $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBGRPC_OBJS) $(LIBDIR)/$(CONFIG)/libgpr.a $(OPENSSL_MERGE_LIBS) $(LDLIBS_SECURE) $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(ADDRESS_SORTING_MERGE_LIBS) $(LDLIBS) else - $(Q) $(LD) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libgrpc.so.6 -o $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBGRPC_OBJS) $(LIBDIR)/$(CONFIG)/libgpr.a $(OPENSSL_MERGE_LIBS) $(LDLIBS_SECURE) $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(LDLIBS) + $(Q) $(LD) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libgrpc.so.6 -o $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBGRPC_OBJS) $(LIBDIR)/$(CONFIG)/libgpr.a $(OPENSSL_MERGE_LIBS) $(LDLIBS_SECURE) $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(ADDRESS_SORTING_MERGE_LIBS) $(LDLIBS) $(Q) ln -sf $(SHARED_PREFIX)grpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE).so.6 $(Q) ln -sf $(SHARED_PREFIX)grpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE).so endif @@ -3722,7 +3797,33 @@ LIBGRPC_CRONET_SRC = \ src/core/lib/transport/transport_op_string.cc \ src/core/lib/debug/trace.cc \ src/core/ext/filters/deadline/deadline_filter.cc \ + src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc \ + src/core/ext/filters/client_channel/backup_poller.cc \ + src/core/ext/filters/client_channel/channel_connectivity.cc \ + src/core/ext/filters/client_channel/client_channel.cc \ + src/core/ext/filters/client_channel/client_channel_factory.cc \ + src/core/ext/filters/client_channel/client_channel_plugin.cc \ + src/core/ext/filters/client_channel/connector.cc \ + src/core/ext/filters/client_channel/http_connect_handshaker.cc \ + src/core/ext/filters/client_channel/http_proxy.cc \ + src/core/ext/filters/client_channel/lb_policy.cc \ + src/core/ext/filters/client_channel/lb_policy_factory.cc \ + src/core/ext/filters/client_channel/lb_policy_registry.cc \ + src/core/ext/filters/client_channel/method_params.cc \ + src/core/ext/filters/client_channel/parse_address.cc \ + src/core/ext/filters/client_channel/proxy_mapper.cc \ + src/core/ext/filters/client_channel/proxy_mapper_registry.cc \ + src/core/ext/filters/client_channel/resolver.cc \ + src/core/ext/filters/client_channel/resolver_registry.cc \ + src/core/ext/filters/client_channel/retry_throttle.cc \ + src/core/ext/filters/client_channel/subchannel.cc \ + src/core/ext/filters/client_channel/subchannel_index.cc \ + src/core/ext/filters/client_channel/uri_parser.cc \ + src/core/ext/filters/client_channel/lb_policy/subchannel_list.cc \ + src/core/ext/filters/max_age/max_age_filter.cc \ src/core/ext/filters/message_size/message_size_filter.cc \ + src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc \ + src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc \ src/core/ext/filters/load_reporting/server_load_reporting_filter.cc \ src/core/ext/filters/load_reporting/server_load_reporting_plugin.cc \ src/core/ext/transport/cronet/client/secure/cronet_channel_create.cc \ @@ -3756,27 +3857,6 @@ LIBGRPC_CRONET_SRC = \ src/core/ext/filters/http/http_filters_plugin.cc \ src/core/ext/filters/http/message_compress/message_compress_filter.cc \ src/core/ext/filters/http/server/http_server_filter.cc \ - src/core/ext/filters/client_channel/backup_poller.cc \ - src/core/ext/filters/client_channel/channel_connectivity.cc \ - src/core/ext/filters/client_channel/client_channel.cc \ - src/core/ext/filters/client_channel/client_channel_factory.cc \ - src/core/ext/filters/client_channel/client_channel_plugin.cc \ - src/core/ext/filters/client_channel/connector.cc \ - src/core/ext/filters/client_channel/http_connect_handshaker.cc \ - src/core/ext/filters/client_channel/http_proxy.cc \ - src/core/ext/filters/client_channel/lb_policy.cc \ - src/core/ext/filters/client_channel/lb_policy_factory.cc \ - src/core/ext/filters/client_channel/lb_policy_registry.cc \ - src/core/ext/filters/client_channel/method_params.cc \ - src/core/ext/filters/client_channel/parse_address.cc \ - src/core/ext/filters/client_channel/proxy_mapper.cc \ - src/core/ext/filters/client_channel/proxy_mapper_registry.cc \ - src/core/ext/filters/client_channel/resolver.cc \ - src/core/ext/filters/client_channel/resolver_registry.cc \ - src/core/ext/filters/client_channel/retry_throttle.cc \ - src/core/ext/filters/client_channel/subchannel.cc \ - src/core/ext/filters/client_channel/subchannel_index.cc \ - src/core/ext/filters/client_channel/uri_parser.cc \ src/core/lib/http/httpcli_security_connector.cc \ src/core/lib/security/context/security_context.cc \ src/core/lib/security/credentials/alts/alts_credentials.cc \ @@ -3905,11 +3985,11 @@ $(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)grpc_cronet$(SHARED_VERSION_CORE).$(SHARED_E else -$(LIBDIR)/$(CONFIG)/libgrpc_cronet.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(CARES_DEP) $(LIBGRPC_CRONET_OBJS) $(LIBGPR_OBJS) $(ZLIB_MERGE_OBJS) $(CARES_MERGE_OBJS) $(OPENSSL_MERGE_OBJS) +$(LIBDIR)/$(CONFIG)/libgrpc_cronet.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(LIBGRPC_CRONET_OBJS) $(LIBGPR_OBJS) $(ZLIB_MERGE_OBJS) $(CARES_MERGE_OBJS) $(ADDRESS_SORTING_MERGE_OBJS) $(OPENSSL_MERGE_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) rm -f $(LIBDIR)/$(CONFIG)/libgrpc_cronet.a - $(Q) $(AR) $(AROPTS) $(LIBDIR)/$(CONFIG)/libgrpc_cronet.a $(LIBGRPC_CRONET_OBJS) $(LIBGPR_OBJS) $(ZLIB_MERGE_OBJS) $(CARES_MERGE_OBJS) $(OPENSSL_MERGE_OBJS) + $(Q) $(AR) $(AROPTS) $(LIBDIR)/$(CONFIG)/libgrpc_cronet.a $(LIBGRPC_CRONET_OBJS) $(LIBGPR_OBJS) $(ZLIB_MERGE_OBJS) $(CARES_MERGE_OBJS) $(ADDRESS_SORTING_MERGE_OBJS) $(OPENSSL_MERGE_OBJS) ifeq ($(SYSTEM),Darwin) $(Q) ranlib -no_warning_for_no_symbols $(LIBDIR)/$(CONFIG)/libgrpc_cronet.a endif @@ -3917,18 +3997,18 @@ endif ifeq ($(SYSTEM),MINGW32) -$(LIBDIR)/$(CONFIG)/grpc_cronet$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE): $(LIBGRPC_CRONET_OBJS) $(ZLIB_DEP) $(CARES_DEP) $(LIBDIR)/$(CONFIG)/libgpr.a $(OPENSSL_DEP) +$(LIBDIR)/$(CONFIG)/grpc_cronet$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE): $(LIBGRPC_CRONET_OBJS) $(ZLIB_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(LIBDIR)/$(CONFIG)/libgpr.a $(OPENSSL_DEP) $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,--output-def=$(LIBDIR)/$(CONFIG)/grpc_cronet$(SHARED_VERSION_CORE).def -Wl,--out-implib=$(LIBDIR)/$(CONFIG)/libgrpc_cronet$(SHARED_VERSION_CORE)-dll.a -o $(LIBDIR)/$(CONFIG)/grpc_cronet$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBGRPC_CRONET_OBJS) $(LIBDIR)/$(CONFIG)/libgpr.a $(OPENSSL_MERGE_LIBS) $(LDLIBS_SECURE) $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(LDLIBS) + $(Q) $(LD) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,--output-def=$(LIBDIR)/$(CONFIG)/grpc_cronet$(SHARED_VERSION_CORE).def -Wl,--out-implib=$(LIBDIR)/$(CONFIG)/libgrpc_cronet$(SHARED_VERSION_CORE)-dll.a -o $(LIBDIR)/$(CONFIG)/grpc_cronet$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBGRPC_CRONET_OBJS) $(LIBDIR)/$(CONFIG)/libgpr.a $(OPENSSL_MERGE_LIBS) $(LDLIBS_SECURE) $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(ADDRESS_SORTING_MERGE_LIBS) $(LDLIBS) else -$(LIBDIR)/$(CONFIG)/libgrpc_cronet$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE): $(LIBGRPC_CRONET_OBJS) $(ZLIB_DEP) $(CARES_DEP) $(LIBDIR)/$(CONFIG)/libgpr.a $(OPENSSL_DEP) +$(LIBDIR)/$(CONFIG)/libgrpc_cronet$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE): $(LIBGRPC_CRONET_OBJS) $(ZLIB_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(LIBDIR)/$(CONFIG)/libgpr.a $(OPENSSL_DEP) $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` ifeq ($(SYSTEM),Darwin) - $(Q) $(LD) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -install_name $(SHARED_PREFIX)grpc_cronet$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) -dynamiclib -o $(LIBDIR)/$(CONFIG)/libgrpc_cronet$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBGRPC_CRONET_OBJS) $(LIBDIR)/$(CONFIG)/libgpr.a $(OPENSSL_MERGE_LIBS) $(LDLIBS_SECURE) $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(LDLIBS) + $(Q) $(LD) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -install_name $(SHARED_PREFIX)grpc_cronet$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) -dynamiclib -o $(LIBDIR)/$(CONFIG)/libgrpc_cronet$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBGRPC_CRONET_OBJS) $(LIBDIR)/$(CONFIG)/libgpr.a $(OPENSSL_MERGE_LIBS) $(LDLIBS_SECURE) $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(ADDRESS_SORTING_MERGE_LIBS) $(LDLIBS) else - $(Q) $(LD) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libgrpc_cronet.so.6 -o $(LIBDIR)/$(CONFIG)/libgrpc_cronet$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBGRPC_CRONET_OBJS) $(LIBDIR)/$(CONFIG)/libgpr.a $(OPENSSL_MERGE_LIBS) $(LDLIBS_SECURE) $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(LDLIBS) + $(Q) $(LD) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libgrpc_cronet.so.6 -o $(LIBDIR)/$(CONFIG)/libgrpc_cronet$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBGRPC_CRONET_OBJS) $(LIBDIR)/$(CONFIG)/libgpr.a $(OPENSSL_MERGE_LIBS) $(LDLIBS_SECURE) $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(ADDRESS_SORTING_MERGE_LIBS) $(LDLIBS) $(Q) ln -sf $(SHARED_PREFIX)grpc_cronet$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libgrpc_cronet$(SHARED_VERSION_CORE).so.6 $(Q) ln -sf $(SHARED_PREFIX)grpc_cronet$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libgrpc_cronet$(SHARED_VERSION_CORE).so endif @@ -4222,7 +4302,7 @@ $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a: openssl_dep_error else -$(LIBDIR)/$(CONFIG)/libgrpc_test_util.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(CARES_DEP) $(LIBGRPC_TEST_UTIL_OBJS) +$(LIBDIR)/$(CONFIG)/libgrpc_test_util.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(LIBGRPC_TEST_UTIL_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) rm -f $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a @@ -4507,7 +4587,7 @@ PUBLIC_HEADERS_C += \ LIBGRPC_TEST_UTIL_UNSECURE_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBGRPC_TEST_UTIL_UNSECURE_SRC)))) -$(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a: $(ZLIB_DEP) $(CARES_DEP) $(LIBGRPC_TEST_UTIL_UNSECURE_OBJS) +$(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a: $(ZLIB_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(LIBGRPC_TEST_UTIL_UNSECURE_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) rm -f $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a @@ -4802,11 +4882,11 @@ PUBLIC_HEADERS_C += \ LIBGRPC_UNSECURE_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBGRPC_UNSECURE_SRC)))) -$(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a: $(ZLIB_DEP) $(CARES_DEP) $(LIBGRPC_UNSECURE_OBJS) $(LIBGPR_OBJS) $(ZLIB_MERGE_OBJS) $(CARES_MERGE_OBJS) +$(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a: $(ZLIB_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(LIBGRPC_UNSECURE_OBJS) $(LIBGPR_OBJS) $(ZLIB_MERGE_OBJS) $(CARES_MERGE_OBJS) $(ADDRESS_SORTING_MERGE_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) rm -f $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a - $(Q) $(AR) $(AROPTS) $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBGRPC_UNSECURE_OBJS) $(LIBGPR_OBJS) $(ZLIB_MERGE_OBJS) $(CARES_MERGE_OBJS) + $(Q) $(AR) $(AROPTS) $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBGRPC_UNSECURE_OBJS) $(LIBGPR_OBJS) $(ZLIB_MERGE_OBJS) $(CARES_MERGE_OBJS) $(ADDRESS_SORTING_MERGE_OBJS) ifeq ($(SYSTEM),Darwin) $(Q) ranlib -no_warning_for_no_symbols $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a endif @@ -4814,18 +4894,18 @@ endif ifeq ($(SYSTEM),MINGW32) -$(LIBDIR)/$(CONFIG)/grpc_unsecure$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE): $(LIBGRPC_UNSECURE_OBJS) $(ZLIB_DEP) $(CARES_DEP) $(LIBDIR)/$(CONFIG)/libgpr.a +$(LIBDIR)/$(CONFIG)/grpc_unsecure$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE): $(LIBGRPC_UNSECURE_OBJS) $(ZLIB_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,--output-def=$(LIBDIR)/$(CONFIG)/grpc_unsecure$(SHARED_VERSION_CORE).def -Wl,--out-implib=$(LIBDIR)/$(CONFIG)/libgrpc_unsecure$(SHARED_VERSION_CORE)-dll.a -o $(LIBDIR)/$(CONFIG)/grpc_unsecure$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBGRPC_UNSECURE_OBJS) $(LIBDIR)/$(CONFIG)/libgpr.a $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(LDLIBS) + $(Q) $(LD) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,--output-def=$(LIBDIR)/$(CONFIG)/grpc_unsecure$(SHARED_VERSION_CORE).def -Wl,--out-implib=$(LIBDIR)/$(CONFIG)/libgrpc_unsecure$(SHARED_VERSION_CORE)-dll.a -o $(LIBDIR)/$(CONFIG)/grpc_unsecure$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBGRPC_UNSECURE_OBJS) $(LIBDIR)/$(CONFIG)/libgpr.a $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(ADDRESS_SORTING_MERGE_LIBS) $(LDLIBS) else -$(LIBDIR)/$(CONFIG)/libgrpc_unsecure$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE): $(LIBGRPC_UNSECURE_OBJS) $(ZLIB_DEP) $(CARES_DEP) $(LIBDIR)/$(CONFIG)/libgpr.a +$(LIBDIR)/$(CONFIG)/libgrpc_unsecure$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE): $(LIBGRPC_UNSECURE_OBJS) $(ZLIB_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` ifeq ($(SYSTEM),Darwin) - $(Q) $(LD) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -install_name $(SHARED_PREFIX)grpc_unsecure$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) -dynamiclib -o $(LIBDIR)/$(CONFIG)/libgrpc_unsecure$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBGRPC_UNSECURE_OBJS) $(LIBDIR)/$(CONFIG)/libgpr.a $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(LDLIBS) + $(Q) $(LD) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -install_name $(SHARED_PREFIX)grpc_unsecure$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) -dynamiclib -o $(LIBDIR)/$(CONFIG)/libgrpc_unsecure$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBGRPC_UNSECURE_OBJS) $(LIBDIR)/$(CONFIG)/libgpr.a $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(ADDRESS_SORTING_MERGE_LIBS) $(LDLIBS) else - $(Q) $(LD) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libgrpc_unsecure.so.6 -o $(LIBDIR)/$(CONFIG)/libgrpc_unsecure$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBGRPC_UNSECURE_OBJS) $(LIBDIR)/$(CONFIG)/libgpr.a $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(LDLIBS) + $(Q) $(LD) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libgrpc_unsecure.so.6 -o $(LIBDIR)/$(CONFIG)/libgrpc_unsecure$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBGRPC_UNSECURE_OBJS) $(LIBDIR)/$(CONFIG)/libgpr.a $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(ADDRESS_SORTING_MERGE_LIBS) $(LDLIBS) $(Q) ln -sf $(SHARED_PREFIX)grpc_unsecure$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libgrpc_unsecure$(SHARED_VERSION_CORE).so.6 $(Q) ln -sf $(SHARED_PREFIX)grpc_unsecure$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libgrpc_unsecure$(SHARED_VERSION_CORE).so endif @@ -4854,7 +4934,7 @@ $(LIBDIR)/$(CONFIG)/libreconnect_server.a: openssl_dep_error else -$(LIBDIR)/$(CONFIG)/libreconnect_server.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(CARES_DEP) $(LIBRECONNECT_SERVER_OBJS) +$(LIBDIR)/$(CONFIG)/libreconnect_server.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(LIBRECONNECT_SERVER_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) rm -f $(LIBDIR)/$(CONFIG)/libreconnect_server.a @@ -4893,7 +4973,7 @@ $(LIBDIR)/$(CONFIG)/libtest_tcp_server.a: openssl_dep_error else -$(LIBDIR)/$(CONFIG)/libtest_tcp_server.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(CARES_DEP) $(LIBTEST_TCP_SERVER_OBJS) +$(LIBDIR)/$(CONFIG)/libtest_tcp_server.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(LIBTEST_TCP_SERVER_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) rm -f $(LIBDIR)/$(CONFIG)/libtest_tcp_server.a @@ -5188,11 +5268,11 @@ $(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)grpc++$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP else -$(LIBDIR)/$(CONFIG)/libgrpc++.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(CARES_DEP) $(PROTOBUF_DEP) $(LIBGRPC++_OBJS) $(LIBGPR_OBJS) $(ZLIB_MERGE_OBJS) $(CARES_MERGE_OBJS) +$(LIBDIR)/$(CONFIG)/libgrpc++.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(PROTOBUF_DEP) $(LIBGRPC++_OBJS) $(LIBGPR_OBJS) $(ZLIB_MERGE_OBJS) $(CARES_MERGE_OBJS) $(ADDRESS_SORTING_MERGE_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) rm -f $(LIBDIR)/$(CONFIG)/libgrpc++.a - $(Q) $(AR) $(AROPTS) $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBGRPC++_OBJS) $(LIBGPR_OBJS) $(ZLIB_MERGE_OBJS) $(CARES_MERGE_OBJS) + $(Q) $(AR) $(AROPTS) $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBGRPC++_OBJS) $(LIBGPR_OBJS) $(ZLIB_MERGE_OBJS) $(CARES_MERGE_OBJS) $(ADDRESS_SORTING_MERGE_OBJS) ifeq ($(SYSTEM),Darwin) $(Q) ranlib -no_warning_for_no_symbols $(LIBDIR)/$(CONFIG)/libgrpc++.a endif @@ -5200,18 +5280,18 @@ endif ifeq ($(SYSTEM),MINGW32) -$(LIBDIR)/$(CONFIG)/grpc++$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP): $(LIBGRPC++_OBJS) $(ZLIB_DEP) $(CARES_DEP) $(PROTOBUF_DEP) $(LIBDIR)/$(CONFIG)/grpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/gpr$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(OPENSSL_DEP) +$(LIBDIR)/$(CONFIG)/grpc++$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP): $(LIBGRPC++_OBJS) $(ZLIB_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(PROTOBUF_DEP) $(LIBDIR)/$(CONFIG)/grpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/gpr$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(OPENSSL_DEP) $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,--output-def=$(LIBDIR)/$(CONFIG)/grpc++$(SHARED_VERSION_CPP).def -Wl,--out-implib=$(LIBDIR)/$(CONFIG)/libgrpc++$(SHARED_VERSION_CPP)-dll.a -o $(LIBDIR)/$(CONFIG)/grpc++$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(LIBGRPC++_OBJS) $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) -lgrpc$(SHARED_VERSION_CORE)-dll -lgpr$(SHARED_VERSION_CORE)-dll + $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,--output-def=$(LIBDIR)/$(CONFIG)/grpc++$(SHARED_VERSION_CPP).def -Wl,--out-implib=$(LIBDIR)/$(CONFIG)/libgrpc++$(SHARED_VERSION_CPP)-dll.a -o $(LIBDIR)/$(CONFIG)/grpc++$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(LIBGRPC++_OBJS) $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(ADDRESS_SORTING_MERGE_LIBS) $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) -lgrpc$(SHARED_VERSION_CORE)-dll -lgpr$(SHARED_VERSION_CORE)-dll else -$(LIBDIR)/$(CONFIG)/libgrpc++$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP): $(LIBGRPC++_OBJS) $(ZLIB_DEP) $(CARES_DEP) $(PROTOBUF_DEP) $(LIBDIR)/$(CONFIG)/libgrpc.$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libgpr.$(SHARED_EXT_CORE) $(OPENSSL_DEP) +$(LIBDIR)/$(CONFIG)/libgrpc++$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP): $(LIBGRPC++_OBJS) $(ZLIB_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(PROTOBUF_DEP) $(LIBDIR)/$(CONFIG)/libgrpc.$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libgpr.$(SHARED_EXT_CORE) $(OPENSSL_DEP) $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` ifeq ($(SYSTEM),Darwin) - $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -install_name $(SHARED_PREFIX)grpc++$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) -dynamiclib -o $(LIBDIR)/$(CONFIG)/libgrpc++$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(LIBGRPC++_OBJS) $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) -lgrpc -lgpr + $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -install_name $(SHARED_PREFIX)grpc++$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) -dynamiclib -o $(LIBDIR)/$(CONFIG)/libgrpc++$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(LIBGRPC++_OBJS) $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(ADDRESS_SORTING_MERGE_LIBS) $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) -lgrpc -lgpr else - $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libgrpc++.so.1 -o $(LIBDIR)/$(CONFIG)/libgrpc++$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(LIBGRPC++_OBJS) $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) -lgrpc -lgpr + $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libgrpc++.so.1 -o $(LIBDIR)/$(CONFIG)/libgrpc++$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(LIBGRPC++_OBJS) $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(ADDRESS_SORTING_MERGE_LIBS) $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) -lgrpc -lgpr $(Q) ln -sf $(SHARED_PREFIX)grpc++$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(LIBDIR)/$(CONFIG)/libgrpc++$(SHARED_VERSION_CPP).so.1 $(Q) ln -sf $(SHARED_PREFIX)grpc++$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(LIBDIR)/$(CONFIG)/libgrpc++$(SHARED_VERSION_CPP).so endif @@ -5255,7 +5335,7 @@ $(LIBDIR)/$(CONFIG)/libgrpc++_core_stats.a: protobuf_dep_error else -$(LIBDIR)/$(CONFIG)/libgrpc++_core_stats.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(CARES_DEP) $(PROTOBUF_DEP) $(LIBGRPC++_CORE_STATS_OBJS) +$(LIBDIR)/$(CONFIG)/libgrpc++_core_stats.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(PROTOBUF_DEP) $(LIBGRPC++_CORE_STATS_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) rm -f $(LIBDIR)/$(CONFIG)/libgrpc++_core_stats.a @@ -5755,11 +5835,11 @@ $(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)grpc++_cronet$(SHARED_VERSION_CPP).$(SHARED_ else -$(LIBDIR)/$(CONFIG)/libgrpc++_cronet.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(CARES_DEP) $(PROTOBUF_DEP) $(LIBGRPC++_CRONET_OBJS) $(LIBGPR_OBJS) $(ZLIB_MERGE_OBJS) $(CARES_MERGE_OBJS) $(OPENSSL_MERGE_OBJS) +$(LIBDIR)/$(CONFIG)/libgrpc++_cronet.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(PROTOBUF_DEP) $(LIBGRPC++_CRONET_OBJS) $(LIBGPR_OBJS) $(ZLIB_MERGE_OBJS) $(CARES_MERGE_OBJS) $(ADDRESS_SORTING_MERGE_OBJS) $(OPENSSL_MERGE_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) rm -f $(LIBDIR)/$(CONFIG)/libgrpc++_cronet.a - $(Q) $(AR) $(AROPTS) $(LIBDIR)/$(CONFIG)/libgrpc++_cronet.a $(LIBGRPC++_CRONET_OBJS) $(LIBGPR_OBJS) $(ZLIB_MERGE_OBJS) $(CARES_MERGE_OBJS) $(OPENSSL_MERGE_OBJS) + $(Q) $(AR) $(AROPTS) $(LIBDIR)/$(CONFIG)/libgrpc++_cronet.a $(LIBGRPC++_CRONET_OBJS) $(LIBGPR_OBJS) $(ZLIB_MERGE_OBJS) $(CARES_MERGE_OBJS) $(ADDRESS_SORTING_MERGE_OBJS) $(OPENSSL_MERGE_OBJS) ifeq ($(SYSTEM),Darwin) $(Q) ranlib -no_warning_for_no_symbols $(LIBDIR)/$(CONFIG)/libgrpc++_cronet.a endif @@ -5767,18 +5847,18 @@ endif ifeq ($(SYSTEM),MINGW32) -$(LIBDIR)/$(CONFIG)/grpc++_cronet$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP): $(LIBGRPC++_CRONET_OBJS) $(ZLIB_DEP) $(CARES_DEP) $(PROTOBUF_DEP) $(LIBDIR)/$(CONFIG)/gpr$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/grpc_cronet$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/grpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(OPENSSL_DEP) +$(LIBDIR)/$(CONFIG)/grpc++_cronet$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP): $(LIBGRPC++_CRONET_OBJS) $(ZLIB_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(PROTOBUF_DEP) $(LIBDIR)/$(CONFIG)/gpr$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/grpc_cronet$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/grpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(OPENSSL_DEP) $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,--output-def=$(LIBDIR)/$(CONFIG)/grpc++_cronet$(SHARED_VERSION_CPP).def -Wl,--out-implib=$(LIBDIR)/$(CONFIG)/libgrpc++_cronet$(SHARED_VERSION_CPP)-dll.a -o $(LIBDIR)/$(CONFIG)/grpc++_cronet$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(LIBGRPC++_CRONET_OBJS) $(OPENSSL_MERGE_LIBS) $(LDLIBS_SECURE) $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) -lgpr$(SHARED_VERSION_CORE)-dll -lgrpc_cronet$(SHARED_VERSION_CORE)-dll -lgrpc$(SHARED_VERSION_CORE)-dll + $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,--output-def=$(LIBDIR)/$(CONFIG)/grpc++_cronet$(SHARED_VERSION_CPP).def -Wl,--out-implib=$(LIBDIR)/$(CONFIG)/libgrpc++_cronet$(SHARED_VERSION_CPP)-dll.a -o $(LIBDIR)/$(CONFIG)/grpc++_cronet$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(LIBGRPC++_CRONET_OBJS) $(OPENSSL_MERGE_LIBS) $(LDLIBS_SECURE) $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(ADDRESS_SORTING_MERGE_LIBS) $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) -lgpr$(SHARED_VERSION_CORE)-dll -lgrpc_cronet$(SHARED_VERSION_CORE)-dll -lgrpc$(SHARED_VERSION_CORE)-dll else -$(LIBDIR)/$(CONFIG)/libgrpc++_cronet$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP): $(LIBGRPC++_CRONET_OBJS) $(ZLIB_DEP) $(CARES_DEP) $(PROTOBUF_DEP) $(LIBDIR)/$(CONFIG)/libgpr.$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libgrpc_cronet.$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libgrpc.$(SHARED_EXT_CORE) $(OPENSSL_DEP) +$(LIBDIR)/$(CONFIG)/libgrpc++_cronet$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP): $(LIBGRPC++_CRONET_OBJS) $(ZLIB_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(PROTOBUF_DEP) $(LIBDIR)/$(CONFIG)/libgpr.$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libgrpc_cronet.$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libgrpc.$(SHARED_EXT_CORE) $(OPENSSL_DEP) $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` ifeq ($(SYSTEM),Darwin) - $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -install_name $(SHARED_PREFIX)grpc++_cronet$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) -dynamiclib -o $(LIBDIR)/$(CONFIG)/libgrpc++_cronet$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(LIBGRPC++_CRONET_OBJS) $(OPENSSL_MERGE_LIBS) $(LDLIBS_SECURE) $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) -lgpr -lgrpc_cronet -lgrpc + $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -install_name $(SHARED_PREFIX)grpc++_cronet$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) -dynamiclib -o $(LIBDIR)/$(CONFIG)/libgrpc++_cronet$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(LIBGRPC++_CRONET_OBJS) $(OPENSSL_MERGE_LIBS) $(LDLIBS_SECURE) $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(ADDRESS_SORTING_MERGE_LIBS) $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) -lgpr -lgrpc_cronet -lgrpc else - $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libgrpc++_cronet.so.1 -o $(LIBDIR)/$(CONFIG)/libgrpc++_cronet$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(LIBGRPC++_CRONET_OBJS) $(OPENSSL_MERGE_LIBS) $(LDLIBS_SECURE) $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) -lgpr -lgrpc_cronet -lgrpc + $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libgrpc++_cronet.so.1 -o $(LIBDIR)/$(CONFIG)/libgrpc++_cronet$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(LIBGRPC++_CRONET_OBJS) $(OPENSSL_MERGE_LIBS) $(LDLIBS_SECURE) $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(ADDRESS_SORTING_MERGE_LIBS) $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) -lgpr -lgrpc_cronet -lgrpc $(Q) ln -sf $(SHARED_PREFIX)grpc++_cronet$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(LIBDIR)/$(CONFIG)/libgrpc++_cronet$(SHARED_VERSION_CPP).so.1 $(Q) ln -sf $(SHARED_PREFIX)grpc++_cronet$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(LIBDIR)/$(CONFIG)/libgrpc++_cronet$(SHARED_VERSION_CPP).so endif @@ -5826,11 +5906,11 @@ $(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)grpc++_error_details$(SHARED_VERSION_CPP).$( else -$(LIBDIR)/$(CONFIG)/libgrpc++_error_details.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(CARES_DEP) $(PROTOBUF_DEP) $(LIBGRPC++_ERROR_DETAILS_OBJS) $(LIBGPR_OBJS) $(ZLIB_MERGE_OBJS) $(CARES_MERGE_OBJS) +$(LIBDIR)/$(CONFIG)/libgrpc++_error_details.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(PROTOBUF_DEP) $(LIBGRPC++_ERROR_DETAILS_OBJS) $(LIBGPR_OBJS) $(ZLIB_MERGE_OBJS) $(CARES_MERGE_OBJS) $(ADDRESS_SORTING_MERGE_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) rm -f $(LIBDIR)/$(CONFIG)/libgrpc++_error_details.a - $(Q) $(AR) $(AROPTS) $(LIBDIR)/$(CONFIG)/libgrpc++_error_details.a $(LIBGRPC++_ERROR_DETAILS_OBJS) $(LIBGPR_OBJS) $(ZLIB_MERGE_OBJS) $(CARES_MERGE_OBJS) + $(Q) $(AR) $(AROPTS) $(LIBDIR)/$(CONFIG)/libgrpc++_error_details.a $(LIBGRPC++_ERROR_DETAILS_OBJS) $(LIBGPR_OBJS) $(ZLIB_MERGE_OBJS) $(CARES_MERGE_OBJS) $(ADDRESS_SORTING_MERGE_OBJS) ifeq ($(SYSTEM),Darwin) $(Q) ranlib -no_warning_for_no_symbols $(LIBDIR)/$(CONFIG)/libgrpc++_error_details.a endif @@ -5838,18 +5918,18 @@ endif ifeq ($(SYSTEM),MINGW32) -$(LIBDIR)/$(CONFIG)/grpc++_error_details$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP): $(LIBGRPC++_ERROR_DETAILS_OBJS) $(ZLIB_DEP) $(CARES_DEP) $(PROTOBUF_DEP) $(LIBDIR)/$(CONFIG)/grpc++$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(OPENSSL_DEP) +$(LIBDIR)/$(CONFIG)/grpc++_error_details$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP): $(LIBGRPC++_ERROR_DETAILS_OBJS) $(ZLIB_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(PROTOBUF_DEP) $(LIBDIR)/$(CONFIG)/grpc++$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(OPENSSL_DEP) $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,--output-def=$(LIBDIR)/$(CONFIG)/grpc++_error_details$(SHARED_VERSION_CPP).def -Wl,--out-implib=$(LIBDIR)/$(CONFIG)/libgrpc++_error_details$(SHARED_VERSION_CPP)-dll.a -o $(LIBDIR)/$(CONFIG)/grpc++_error_details$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(LIBGRPC++_ERROR_DETAILS_OBJS) $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) -lgrpc++$(SHARED_VERSION_CPP)-dll + $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,--output-def=$(LIBDIR)/$(CONFIG)/grpc++_error_details$(SHARED_VERSION_CPP).def -Wl,--out-implib=$(LIBDIR)/$(CONFIG)/libgrpc++_error_details$(SHARED_VERSION_CPP)-dll.a -o $(LIBDIR)/$(CONFIG)/grpc++_error_details$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(LIBGRPC++_ERROR_DETAILS_OBJS) $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(ADDRESS_SORTING_MERGE_LIBS) $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) -lgrpc++$(SHARED_VERSION_CPP)-dll else -$(LIBDIR)/$(CONFIG)/libgrpc++_error_details$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP): $(LIBGRPC++_ERROR_DETAILS_OBJS) $(ZLIB_DEP) $(CARES_DEP) $(PROTOBUF_DEP) $(LIBDIR)/$(CONFIG)/libgrpc++.$(SHARED_EXT_CPP) $(OPENSSL_DEP) +$(LIBDIR)/$(CONFIG)/libgrpc++_error_details$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP): $(LIBGRPC++_ERROR_DETAILS_OBJS) $(ZLIB_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(PROTOBUF_DEP) $(LIBDIR)/$(CONFIG)/libgrpc++.$(SHARED_EXT_CPP) $(OPENSSL_DEP) $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` ifeq ($(SYSTEM),Darwin) - $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -install_name $(SHARED_PREFIX)grpc++_error_details$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) -dynamiclib -o $(LIBDIR)/$(CONFIG)/libgrpc++_error_details$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(LIBGRPC++_ERROR_DETAILS_OBJS) $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) -lgrpc++ + $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -install_name $(SHARED_PREFIX)grpc++_error_details$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) -dynamiclib -o $(LIBDIR)/$(CONFIG)/libgrpc++_error_details$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(LIBGRPC++_ERROR_DETAILS_OBJS) $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(ADDRESS_SORTING_MERGE_LIBS) $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) -lgrpc++ else - $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libgrpc++_error_details.so.1 -o $(LIBDIR)/$(CONFIG)/libgrpc++_error_details$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(LIBGRPC++_ERROR_DETAILS_OBJS) $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) -lgrpc++ + $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libgrpc++_error_details.so.1 -o $(LIBDIR)/$(CONFIG)/libgrpc++_error_details$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(LIBGRPC++_ERROR_DETAILS_OBJS) $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(ADDRESS_SORTING_MERGE_LIBS) $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) -lgrpc++ $(Q) ln -sf $(SHARED_PREFIX)grpc++_error_details$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(LIBDIR)/$(CONFIG)/libgrpc++_error_details$(SHARED_VERSION_CPP).so.1 $(Q) ln -sf $(SHARED_PREFIX)grpc++_error_details$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(LIBDIR)/$(CONFIG)/libgrpc++_error_details$(SHARED_VERSION_CPP).so endif @@ -5896,7 +5976,7 @@ $(LIBDIR)/$(CONFIG)/libgrpc++_proto_reflection_desc_db.a: protobuf_dep_error else -$(LIBDIR)/$(CONFIG)/libgrpc++_proto_reflection_desc_db.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(CARES_DEP) $(PROTOBUF_DEP) $(LIBGRPC++_PROTO_REFLECTION_DESC_DB_OBJS) +$(LIBDIR)/$(CONFIG)/libgrpc++_proto_reflection_desc_db.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(PROTOBUF_DEP) $(LIBGRPC++_PROTO_REFLECTION_DESC_DB_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) rm -f $(LIBDIR)/$(CONFIG)/libgrpc++_proto_reflection_desc_db.a @@ -5952,7 +6032,7 @@ $(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)grpc++_reflection$(SHARED_VERSION_CPP).$(SHA else -$(LIBDIR)/$(CONFIG)/libgrpc++_reflection.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(CARES_DEP) $(PROTOBUF_DEP) $(LIBGRPC++_REFLECTION_OBJS) +$(LIBDIR)/$(CONFIG)/libgrpc++_reflection.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(PROTOBUF_DEP) $(LIBGRPC++_REFLECTION_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) rm -f $(LIBDIR)/$(CONFIG)/libgrpc++_reflection.a @@ -5964,18 +6044,18 @@ endif ifeq ($(SYSTEM),MINGW32) -$(LIBDIR)/$(CONFIG)/grpc++_reflection$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP): $(LIBGRPC++_REFLECTION_OBJS) $(ZLIB_DEP) $(CARES_DEP) $(PROTOBUF_DEP) $(LIBDIR)/$(CONFIG)/grpc++$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(LIBDIR)/$(CONFIG)/grpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(OPENSSL_DEP) +$(LIBDIR)/$(CONFIG)/grpc++_reflection$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP): $(LIBGRPC++_REFLECTION_OBJS) $(ZLIB_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(PROTOBUF_DEP) $(LIBDIR)/$(CONFIG)/grpc++$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(LIBDIR)/$(CONFIG)/grpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(OPENSSL_DEP) $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,--output-def=$(LIBDIR)/$(CONFIG)/grpc++_reflection$(SHARED_VERSION_CPP).def -Wl,--out-implib=$(LIBDIR)/$(CONFIG)/libgrpc++_reflection$(SHARED_VERSION_CPP)-dll.a -o $(LIBDIR)/$(CONFIG)/grpc++_reflection$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(LIBGRPC++_REFLECTION_OBJS) $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) -lgrpc++$(SHARED_VERSION_CPP)-dll -lgrpc$(SHARED_VERSION_CORE)-dll + $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,--output-def=$(LIBDIR)/$(CONFIG)/grpc++_reflection$(SHARED_VERSION_CPP).def -Wl,--out-implib=$(LIBDIR)/$(CONFIG)/libgrpc++_reflection$(SHARED_VERSION_CPP)-dll.a -o $(LIBDIR)/$(CONFIG)/grpc++_reflection$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(LIBGRPC++_REFLECTION_OBJS) $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(ADDRESS_SORTING_MERGE_LIBS) $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) -lgrpc++$(SHARED_VERSION_CPP)-dll -lgrpc$(SHARED_VERSION_CORE)-dll else -$(LIBDIR)/$(CONFIG)/libgrpc++_reflection$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP): $(LIBGRPC++_REFLECTION_OBJS) $(ZLIB_DEP) $(CARES_DEP) $(PROTOBUF_DEP) $(LIBDIR)/$(CONFIG)/libgrpc++.$(SHARED_EXT_CPP) $(LIBDIR)/$(CONFIG)/libgrpc.$(SHARED_EXT_CORE) $(OPENSSL_DEP) +$(LIBDIR)/$(CONFIG)/libgrpc++_reflection$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP): $(LIBGRPC++_REFLECTION_OBJS) $(ZLIB_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(PROTOBUF_DEP) $(LIBDIR)/$(CONFIG)/libgrpc++.$(SHARED_EXT_CPP) $(LIBDIR)/$(CONFIG)/libgrpc.$(SHARED_EXT_CORE) $(OPENSSL_DEP) $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` ifeq ($(SYSTEM),Darwin) - $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -install_name $(SHARED_PREFIX)grpc++_reflection$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) -dynamiclib -o $(LIBDIR)/$(CONFIG)/libgrpc++_reflection$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(LIBGRPC++_REFLECTION_OBJS) $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) -lgrpc++ -lgrpc + $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -install_name $(SHARED_PREFIX)grpc++_reflection$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) -dynamiclib -o $(LIBDIR)/$(CONFIG)/libgrpc++_reflection$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(LIBGRPC++_REFLECTION_OBJS) $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(ADDRESS_SORTING_MERGE_LIBS) $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) -lgrpc++ -lgrpc else - $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libgrpc++_reflection.so.1 -o $(LIBDIR)/$(CONFIG)/libgrpc++_reflection$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(LIBGRPC++_REFLECTION_OBJS) $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) -lgrpc++ -lgrpc + $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libgrpc++_reflection.so.1 -o $(LIBDIR)/$(CONFIG)/libgrpc++_reflection$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(LIBGRPC++_REFLECTION_OBJS) $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(ADDRESS_SORTING_MERGE_LIBS) $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) -lgrpc++ -lgrpc $(Q) ln -sf $(SHARED_PREFIX)grpc++_reflection$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(LIBDIR)/$(CONFIG)/libgrpc++_reflection$(SHARED_VERSION_CPP).so.1 $(Q) ln -sf $(SHARED_PREFIX)grpc++_reflection$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(LIBDIR)/$(CONFIG)/libgrpc++_reflection$(SHARED_VERSION_CPP).so endif @@ -6020,7 +6100,7 @@ $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a: protobuf_dep_error else -$(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(CARES_DEP) $(PROTOBUF_DEP) $(LIBGRPC++_TEST_CONFIG_OBJS) +$(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(PROTOBUF_DEP) $(LIBGRPC++_TEST_CONFIG_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) rm -f $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a @@ -6166,7 +6246,7 @@ $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a: protobuf_dep_error else -$(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(CARES_DEP) $(PROTOBUF_DEP) $(LIBGRPC++_TEST_UTIL_OBJS) +$(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(PROTOBUF_DEP) $(LIBGRPC++_TEST_UTIL_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) rm -f $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a @@ -6316,7 +6396,7 @@ $(LIBDIR)/$(CONFIG)/libgrpc++_test_util_unsecure.a: protobuf_dep_error else -$(LIBDIR)/$(CONFIG)/libgrpc++_test_util_unsecure.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(CARES_DEP) $(PROTOBUF_DEP) $(LIBGRPC++_TEST_UTIL_UNSECURE_OBJS) +$(LIBDIR)/$(CONFIG)/libgrpc++_test_util_unsecure.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(PROTOBUF_DEP) $(LIBGRPC++_TEST_UTIL_UNSECURE_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) rm -f $(LIBDIR)/$(CONFIG)/libgrpc++_test_util_unsecure.a @@ -6599,11 +6679,11 @@ $(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)grpc++_unsecure$(SHARED_VERSION_CPP).$(SHARE else -$(LIBDIR)/$(CONFIG)/libgrpc++_unsecure.a: $(ZLIB_DEP) $(CARES_DEP) $(PROTOBUF_DEP) $(LIBGRPC++_UNSECURE_OBJS) $(LIBGPR_OBJS) $(ZLIB_MERGE_OBJS) $(CARES_MERGE_OBJS) +$(LIBDIR)/$(CONFIG)/libgrpc++_unsecure.a: $(ZLIB_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(PROTOBUF_DEP) $(LIBGRPC++_UNSECURE_OBJS) $(LIBGPR_OBJS) $(ZLIB_MERGE_OBJS) $(CARES_MERGE_OBJS) $(ADDRESS_SORTING_MERGE_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) rm -f $(LIBDIR)/$(CONFIG)/libgrpc++_unsecure.a - $(Q) $(AR) $(AROPTS) $(LIBDIR)/$(CONFIG)/libgrpc++_unsecure.a $(LIBGRPC++_UNSECURE_OBJS) $(LIBGPR_OBJS) $(ZLIB_MERGE_OBJS) $(CARES_MERGE_OBJS) + $(Q) $(AR) $(AROPTS) $(LIBDIR)/$(CONFIG)/libgrpc++_unsecure.a $(LIBGRPC++_UNSECURE_OBJS) $(LIBGPR_OBJS) $(ZLIB_MERGE_OBJS) $(CARES_MERGE_OBJS) $(ADDRESS_SORTING_MERGE_OBJS) ifeq ($(SYSTEM),Darwin) $(Q) ranlib -no_warning_for_no_symbols $(LIBDIR)/$(CONFIG)/libgrpc++_unsecure.a endif @@ -6611,18 +6691,18 @@ endif ifeq ($(SYSTEM),MINGW32) -$(LIBDIR)/$(CONFIG)/grpc++_unsecure$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP): $(LIBGRPC++_UNSECURE_OBJS) $(ZLIB_DEP) $(CARES_DEP) $(PROTOBUF_DEP) $(LIBDIR)/$(CONFIG)/gpr$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/grpc_unsecure$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) +$(LIBDIR)/$(CONFIG)/grpc++_unsecure$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP): $(LIBGRPC++_UNSECURE_OBJS) $(ZLIB_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(PROTOBUF_DEP) $(LIBDIR)/$(CONFIG)/gpr$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/grpc_unsecure$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,--output-def=$(LIBDIR)/$(CONFIG)/grpc++_unsecure$(SHARED_VERSION_CPP).def -Wl,--out-implib=$(LIBDIR)/$(CONFIG)/libgrpc++_unsecure$(SHARED_VERSION_CPP)-dll.a -o $(LIBDIR)/$(CONFIG)/grpc++_unsecure$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(LIBGRPC++_UNSECURE_OBJS) $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) -lgpr$(SHARED_VERSION_CORE)-dll -lgrpc_unsecure$(SHARED_VERSION_CORE)-dll + $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,--output-def=$(LIBDIR)/$(CONFIG)/grpc++_unsecure$(SHARED_VERSION_CPP).def -Wl,--out-implib=$(LIBDIR)/$(CONFIG)/libgrpc++_unsecure$(SHARED_VERSION_CPP)-dll.a -o $(LIBDIR)/$(CONFIG)/grpc++_unsecure$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(LIBGRPC++_UNSECURE_OBJS) $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(ADDRESS_SORTING_MERGE_LIBS) $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) -lgpr$(SHARED_VERSION_CORE)-dll -lgrpc_unsecure$(SHARED_VERSION_CORE)-dll else -$(LIBDIR)/$(CONFIG)/libgrpc++_unsecure$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP): $(LIBGRPC++_UNSECURE_OBJS) $(ZLIB_DEP) $(CARES_DEP) $(PROTOBUF_DEP) $(LIBDIR)/$(CONFIG)/libgpr.$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.$(SHARED_EXT_CORE) +$(LIBDIR)/$(CONFIG)/libgrpc++_unsecure$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP): $(LIBGRPC++_UNSECURE_OBJS) $(ZLIB_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(PROTOBUF_DEP) $(LIBDIR)/$(CONFIG)/libgpr.$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.$(SHARED_EXT_CORE) $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` ifeq ($(SYSTEM),Darwin) - $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -install_name $(SHARED_PREFIX)grpc++_unsecure$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) -dynamiclib -o $(LIBDIR)/$(CONFIG)/libgrpc++_unsecure$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(LIBGRPC++_UNSECURE_OBJS) $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) -lgpr -lgrpc_unsecure + $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -install_name $(SHARED_PREFIX)grpc++_unsecure$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) -dynamiclib -o $(LIBDIR)/$(CONFIG)/libgrpc++_unsecure$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(LIBGRPC++_UNSECURE_OBJS) $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(ADDRESS_SORTING_MERGE_LIBS) $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) -lgpr -lgrpc_unsecure else - $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libgrpc++_unsecure.so.1 -o $(LIBDIR)/$(CONFIG)/libgrpc++_unsecure$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(LIBGRPC++_UNSECURE_OBJS) $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) -lgpr -lgrpc_unsecure + $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libgrpc++_unsecure.so.1 -o $(LIBDIR)/$(CONFIG)/libgrpc++_unsecure$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(LIBGRPC++_UNSECURE_OBJS) $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(ADDRESS_SORTING_MERGE_LIBS) $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) -lgpr -lgrpc_unsecure $(Q) ln -sf $(SHARED_PREFIX)grpc++_unsecure$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(LIBDIR)/$(CONFIG)/libgrpc++_unsecure$(SHARED_VERSION_CPP).so.1 $(Q) ln -sf $(SHARED_PREFIX)grpc++_unsecure$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(LIBDIR)/$(CONFIG)/libgrpc++_unsecure$(SHARED_VERSION_CPP).so endif @@ -6662,7 +6742,7 @@ $(LIBDIR)/$(CONFIG)/libgrpc_benchmark.a: protobuf_dep_error else -$(LIBDIR)/$(CONFIG)/libgrpc_benchmark.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(CARES_DEP) $(PROTOBUF_DEP) $(LIBGRPC_BENCHMARK_OBJS) +$(LIBDIR)/$(CONFIG)/libgrpc_benchmark.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(PROTOBUF_DEP) $(LIBGRPC_BENCHMARK_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) rm -f $(LIBDIR)/$(CONFIG)/libgrpc_benchmark.a @@ -6718,7 +6798,7 @@ $(LIBDIR)/$(CONFIG)/libgrpc_cli_libs.a: protobuf_dep_error else -$(LIBDIR)/$(CONFIG)/libgrpc_cli_libs.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(CARES_DEP) $(PROTOBUF_DEP) $(LIBGRPC_CLI_LIBS_OBJS) +$(LIBDIR)/$(CONFIG)/libgrpc_cli_libs.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(PROTOBUF_DEP) $(LIBGRPC_CLI_LIBS_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) rm -f $(LIBDIR)/$(CONFIG)/libgrpc_cli_libs.a @@ -6771,7 +6851,7 @@ $(LIBDIR)/$(CONFIG)/libgrpc_plugin_support.a: protobuf_dep_error else -$(LIBDIR)/$(CONFIG)/libgrpc_plugin_support.a: $(ZLIB_DEP) $(CARES_DEP) $(PROTOBUF_DEP) $(LIBGRPC_PLUGIN_SUPPORT_OBJS) +$(LIBDIR)/$(CONFIG)/libgrpc_plugin_support.a: $(ZLIB_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(PROTOBUF_DEP) $(LIBGRPC_PLUGIN_SUPPORT_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) rm -f $(LIBDIR)/$(CONFIG)/libgrpc_plugin_support.a @@ -6819,7 +6899,7 @@ $(LIBDIR)/$(CONFIG)/libhttp2_client_main.a: protobuf_dep_error else -$(LIBDIR)/$(CONFIG)/libhttp2_client_main.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(CARES_DEP) $(PROTOBUF_DEP) $(LIBHTTP2_CLIENT_MAIN_OBJS) +$(LIBDIR)/$(CONFIG)/libhttp2_client_main.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(PROTOBUF_DEP) $(LIBHTTP2_CLIENT_MAIN_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) rm -f $(LIBDIR)/$(CONFIG)/libhttp2_client_main.a @@ -6870,7 +6950,7 @@ $(LIBDIR)/$(CONFIG)/libinterop_client_helper.a: protobuf_dep_error else -$(LIBDIR)/$(CONFIG)/libinterop_client_helper.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(CARES_DEP) $(PROTOBUF_DEP) $(LIBINTEROP_CLIENT_HELPER_OBJS) +$(LIBDIR)/$(CONFIG)/libinterop_client_helper.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(PROTOBUF_DEP) $(LIBINTEROP_CLIENT_HELPER_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) rm -f $(LIBDIR)/$(CONFIG)/libinterop_client_helper.a @@ -6924,7 +7004,7 @@ $(LIBDIR)/$(CONFIG)/libinterop_client_main.a: protobuf_dep_error else -$(LIBDIR)/$(CONFIG)/libinterop_client_main.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(CARES_DEP) $(PROTOBUF_DEP) $(LIBINTEROP_CLIENT_MAIN_OBJS) +$(LIBDIR)/$(CONFIG)/libinterop_client_main.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(PROTOBUF_DEP) $(LIBINTEROP_CLIENT_MAIN_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) rm -f $(LIBDIR)/$(CONFIG)/libinterop_client_main.a @@ -6975,7 +7055,7 @@ $(LIBDIR)/$(CONFIG)/libinterop_server_helper.a: protobuf_dep_error else -$(LIBDIR)/$(CONFIG)/libinterop_server_helper.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(CARES_DEP) $(PROTOBUF_DEP) $(LIBINTEROP_SERVER_HELPER_OBJS) +$(LIBDIR)/$(CONFIG)/libinterop_server_helper.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(PROTOBUF_DEP) $(LIBINTEROP_SERVER_HELPER_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) rm -f $(LIBDIR)/$(CONFIG)/libinterop_server_helper.a @@ -7027,7 +7107,7 @@ $(LIBDIR)/$(CONFIG)/libinterop_server_lib.a: protobuf_dep_error else -$(LIBDIR)/$(CONFIG)/libinterop_server_lib.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(CARES_DEP) $(PROTOBUF_DEP) $(LIBINTEROP_SERVER_LIB_OBJS) +$(LIBDIR)/$(CONFIG)/libinterop_server_lib.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(PROTOBUF_DEP) $(LIBINTEROP_SERVER_LIB_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) rm -f $(LIBDIR)/$(CONFIG)/libinterop_server_lib.a @@ -7077,7 +7157,7 @@ $(LIBDIR)/$(CONFIG)/libinterop_server_main.a: protobuf_dep_error else -$(LIBDIR)/$(CONFIG)/libinterop_server_main.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(CARES_DEP) $(PROTOBUF_DEP) $(LIBINTEROP_SERVER_MAIN_OBJS) +$(LIBDIR)/$(CONFIG)/libinterop_server_main.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(PROTOBUF_DEP) $(LIBINTEROP_SERVER_MAIN_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) rm -f $(LIBDIR)/$(CONFIG)/libinterop_server_main.a @@ -7140,7 +7220,7 @@ $(LIBDIR)/$(CONFIG)/libqps.a: protobuf_dep_error else -$(LIBDIR)/$(CONFIG)/libqps.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(CARES_DEP) $(PROTOBUF_DEP) $(LIBQPS_OBJS) +$(LIBDIR)/$(CONFIG)/libqps.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(PROTOBUF_DEP) $(LIBQPS_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) rm -f $(LIBDIR)/$(CONFIG)/libqps.a @@ -7192,7 +7272,7 @@ $(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)grpc_csharp_ext$(SHARED_VERSION_CSHARP).$(SH else -$(LIBDIR)/$(CONFIG)/libgrpc_csharp_ext.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(CARES_DEP) $(LIBGRPC_CSHARP_EXT_OBJS) +$(LIBDIR)/$(CONFIG)/libgrpc_csharp_ext.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(LIBGRPC_CSHARP_EXT_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) rm -f $(LIBDIR)/$(CONFIG)/libgrpc_csharp_ext.a @@ -7204,18 +7284,18 @@ endif ifeq ($(SYSTEM),MINGW32) -$(LIBDIR)/$(CONFIG)/grpc_csharp_ext$(SHARED_VERSION_CSHARP).$(SHARED_EXT_CSHARP): $(LIBGRPC_CSHARP_EXT_OBJS) $(ZLIB_DEP) $(CARES_DEP) $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a $(OPENSSL_DEP) +$(LIBDIR)/$(CONFIG)/grpc_csharp_ext$(SHARED_VERSION_CSHARP).$(SHARED_EXT_CSHARP): $(LIBGRPC_CSHARP_EXT_OBJS) $(ZLIB_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a $(OPENSSL_DEP) $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(if $(subst Linux,,$(SYSTEM)),,-Wl$(comma)-wrap$(comma)memcpy) -L$(LIBDIR)/$(CONFIG) -shared -Wl,--output-def=$(LIBDIR)/$(CONFIG)/grpc_csharp_ext$(SHARED_VERSION_CSHARP).def -Wl,--out-implib=$(LIBDIR)/$(CONFIG)/libgrpc_csharp_ext$(SHARED_VERSION_CSHARP)-dll.a -o $(LIBDIR)/$(CONFIG)/grpc_csharp_ext$(SHARED_VERSION_CSHARP).$(SHARED_EXT_CSHARP) $(LIBGRPC_CSHARP_EXT_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(LDLIBS) + $(Q) $(LD) $(LDFLAGS) $(if $(subst Linux,,$(SYSTEM)),,-Wl$(comma)-wrap$(comma)memcpy) -L$(LIBDIR)/$(CONFIG) -shared -Wl,--output-def=$(LIBDIR)/$(CONFIG)/grpc_csharp_ext$(SHARED_VERSION_CSHARP).def -Wl,--out-implib=$(LIBDIR)/$(CONFIG)/libgrpc_csharp_ext$(SHARED_VERSION_CSHARP)-dll.a -o $(LIBDIR)/$(CONFIG)/grpc_csharp_ext$(SHARED_VERSION_CSHARP).$(SHARED_EXT_CSHARP) $(LIBGRPC_CSHARP_EXT_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(ADDRESS_SORTING_MERGE_LIBS) $(LDLIBS) else -$(LIBDIR)/$(CONFIG)/libgrpc_csharp_ext$(SHARED_VERSION_CSHARP).$(SHARED_EXT_CSHARP): $(LIBGRPC_CSHARP_EXT_OBJS) $(ZLIB_DEP) $(CARES_DEP) $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a $(OPENSSL_DEP) +$(LIBDIR)/$(CONFIG)/libgrpc_csharp_ext$(SHARED_VERSION_CSHARP).$(SHARED_EXT_CSHARP): $(LIBGRPC_CSHARP_EXT_OBJS) $(ZLIB_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a $(OPENSSL_DEP) $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` ifeq ($(SYSTEM),Darwin) - $(Q) $(LD) $(LDFLAGS) $(if $(subst Linux,,$(SYSTEM)),,-Wl$(comma)-wrap$(comma)memcpy) -L$(LIBDIR)/$(CONFIG) -install_name $(SHARED_PREFIX)grpc_csharp_ext$(SHARED_VERSION_CSHARP).$(SHARED_EXT_CSHARP) -dynamiclib -o $(LIBDIR)/$(CONFIG)/libgrpc_csharp_ext$(SHARED_VERSION_CSHARP).$(SHARED_EXT_CSHARP) $(LIBGRPC_CSHARP_EXT_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(LDLIBS) + $(Q) $(LD) $(LDFLAGS) $(if $(subst Linux,,$(SYSTEM)),,-Wl$(comma)-wrap$(comma)memcpy) -L$(LIBDIR)/$(CONFIG) -install_name $(SHARED_PREFIX)grpc_csharp_ext$(SHARED_VERSION_CSHARP).$(SHARED_EXT_CSHARP) -dynamiclib -o $(LIBDIR)/$(CONFIG)/libgrpc_csharp_ext$(SHARED_VERSION_CSHARP).$(SHARED_EXT_CSHARP) $(LIBGRPC_CSHARP_EXT_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(ADDRESS_SORTING_MERGE_LIBS) $(LDLIBS) else - $(Q) $(LD) $(LDFLAGS) $(if $(subst Linux,,$(SYSTEM)),,-Wl$(comma)-wrap$(comma)memcpy) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libgrpc_csharp_ext.so.1 -o $(LIBDIR)/$(CONFIG)/libgrpc_csharp_ext$(SHARED_VERSION_CSHARP).$(SHARED_EXT_CSHARP) $(LIBGRPC_CSHARP_EXT_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(LDLIBS) + $(Q) $(LD) $(LDFLAGS) $(if $(subst Linux,,$(SYSTEM)),,-Wl$(comma)-wrap$(comma)memcpy) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libgrpc_csharp_ext.so.1 -o $(LIBDIR)/$(CONFIG)/libgrpc_csharp_ext$(SHARED_VERSION_CSHARP).$(SHARED_EXT_CSHARP) $(LIBGRPC_CSHARP_EXT_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(ADDRESS_SORTING_MERGE_LIBS) $(LDLIBS) $(Q) ln -sf $(SHARED_PREFIX)grpc_csharp_ext$(SHARED_VERSION_CSHARP).$(SHARED_EXT_CSHARP) $(LIBDIR)/$(CONFIG)/libgrpc_csharp_ext$(SHARED_VERSION_CSHARP).so.1 $(Q) ln -sf $(SHARED_PREFIX)grpc_csharp_ext$(SHARED_VERSION_CSHARP).$(SHARED_EXT_CSHARP) $(LIBDIR)/$(CONFIG)/libgrpc_csharp_ext$(SHARED_VERSION_CSHARP).so endif @@ -7495,7 +7575,7 @@ $(LIBBORINGSSL_OBJS): CPPFLAGS += -Ithird_party/boringssl/include -fvisibility=h $(LIBBORINGSSL_OBJS): CXXFLAGS += -fno-rtti -fno-exceptions $(LIBBORINGSSL_OBJS): CFLAGS += -Wno-sign-conversion -Wno-conversion -Wno-unused-value -Wno-unknown-pragmas -Wno-implicit-function-declaration -Wno-unused-variable -Wno-sign-compare -Wno-implicit-fallthrough $(NO_W_EXTRA_SEMI) -$(LIBDIR)/$(CONFIG)/libboringssl.a: $(ZLIB_DEP) $(CARES_DEP) $(LIBBORINGSSL_OBJS) +$(LIBDIR)/$(CONFIG)/libboringssl.a: $(ZLIB_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(LIBBORINGSSL_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) rm -f $(LIBDIR)/$(CONFIG)/libboringssl.a @@ -7534,7 +7614,7 @@ $(LIBDIR)/$(CONFIG)/libboringssl_test_util.a: protobuf_dep_error else -$(LIBDIR)/$(CONFIG)/libboringssl_test_util.a: $(ZLIB_DEP) $(CARES_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_TEST_UTIL_OBJS) +$(LIBDIR)/$(CONFIG)/libboringssl_test_util.a: $(ZLIB_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_TEST_UTIL_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) rm -f $(LIBDIR)/$(CONFIG)/libboringssl_test_util.a @@ -7573,7 +7653,7 @@ $(LIBDIR)/$(CONFIG)/libboringssl_crypto_test_data_lib.a: protobuf_dep_error else -$(LIBDIR)/$(CONFIG)/libboringssl_crypto_test_data_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_CRYPTO_TEST_DATA_LIB_OBJS) +$(LIBDIR)/$(CONFIG)/libboringssl_crypto_test_data_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_CRYPTO_TEST_DATA_LIB_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) rm -f $(LIBDIR)/$(CONFIG)/libboringssl_crypto_test_data_lib.a @@ -7612,7 +7692,7 @@ $(LIBDIR)/$(CONFIG)/libboringssl_asn1_test_lib.a: protobuf_dep_error else -$(LIBDIR)/$(CONFIG)/libboringssl_asn1_test_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_ASN1_TEST_LIB_OBJS) +$(LIBDIR)/$(CONFIG)/libboringssl_asn1_test_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_ASN1_TEST_LIB_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) rm -f $(LIBDIR)/$(CONFIG)/libboringssl_asn1_test_lib.a @@ -7651,7 +7731,7 @@ $(LIBDIR)/$(CONFIG)/libboringssl_base64_test_lib.a: protobuf_dep_error else -$(LIBDIR)/$(CONFIG)/libboringssl_base64_test_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_BASE64_TEST_LIB_OBJS) +$(LIBDIR)/$(CONFIG)/libboringssl_base64_test_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_BASE64_TEST_LIB_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) rm -f $(LIBDIR)/$(CONFIG)/libboringssl_base64_test_lib.a @@ -7690,7 +7770,7 @@ $(LIBDIR)/$(CONFIG)/libboringssl_bio_test_lib.a: protobuf_dep_error else -$(LIBDIR)/$(CONFIG)/libboringssl_bio_test_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_BIO_TEST_LIB_OBJS) +$(LIBDIR)/$(CONFIG)/libboringssl_bio_test_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_BIO_TEST_LIB_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) rm -f $(LIBDIR)/$(CONFIG)/libboringssl_bio_test_lib.a @@ -7729,7 +7809,7 @@ $(LIBDIR)/$(CONFIG)/libboringssl_buf_test_lib.a: protobuf_dep_error else -$(LIBDIR)/$(CONFIG)/libboringssl_buf_test_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_BUF_TEST_LIB_OBJS) +$(LIBDIR)/$(CONFIG)/libboringssl_buf_test_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_BUF_TEST_LIB_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) rm -f $(LIBDIR)/$(CONFIG)/libboringssl_buf_test_lib.a @@ -7768,7 +7848,7 @@ $(LIBDIR)/$(CONFIG)/libboringssl_bytestring_test_lib.a: protobuf_dep_error else -$(LIBDIR)/$(CONFIG)/libboringssl_bytestring_test_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_BYTESTRING_TEST_LIB_OBJS) +$(LIBDIR)/$(CONFIG)/libboringssl_bytestring_test_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_BYTESTRING_TEST_LIB_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) rm -f $(LIBDIR)/$(CONFIG)/libboringssl_bytestring_test_lib.a @@ -7807,7 +7887,7 @@ $(LIBDIR)/$(CONFIG)/libboringssl_chacha_test_lib.a: protobuf_dep_error else -$(LIBDIR)/$(CONFIG)/libboringssl_chacha_test_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_CHACHA_TEST_LIB_OBJS) +$(LIBDIR)/$(CONFIG)/libboringssl_chacha_test_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_CHACHA_TEST_LIB_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) rm -f $(LIBDIR)/$(CONFIG)/libboringssl_chacha_test_lib.a @@ -7846,7 +7926,7 @@ $(LIBDIR)/$(CONFIG)/libboringssl_aead_test_lib.a: protobuf_dep_error else -$(LIBDIR)/$(CONFIG)/libboringssl_aead_test_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_AEAD_TEST_LIB_OBJS) +$(LIBDIR)/$(CONFIG)/libboringssl_aead_test_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_AEAD_TEST_LIB_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) rm -f $(LIBDIR)/$(CONFIG)/libboringssl_aead_test_lib.a @@ -7885,7 +7965,7 @@ $(LIBDIR)/$(CONFIG)/libboringssl_cipher_test_lib.a: protobuf_dep_error else -$(LIBDIR)/$(CONFIG)/libboringssl_cipher_test_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_CIPHER_TEST_LIB_OBJS) +$(LIBDIR)/$(CONFIG)/libboringssl_cipher_test_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_CIPHER_TEST_LIB_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) rm -f $(LIBDIR)/$(CONFIG)/libboringssl_cipher_test_lib.a @@ -7924,7 +8004,7 @@ $(LIBDIR)/$(CONFIG)/libboringssl_cmac_test_lib.a: protobuf_dep_error else -$(LIBDIR)/$(CONFIG)/libboringssl_cmac_test_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_CMAC_TEST_LIB_OBJS) +$(LIBDIR)/$(CONFIG)/libboringssl_cmac_test_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_CMAC_TEST_LIB_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) rm -f $(LIBDIR)/$(CONFIG)/libboringssl_cmac_test_lib.a @@ -7963,7 +8043,7 @@ $(LIBDIR)/$(CONFIG)/libboringssl_compiler_test_lib.a: protobuf_dep_error else -$(LIBDIR)/$(CONFIG)/libboringssl_compiler_test_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_COMPILER_TEST_LIB_OBJS) +$(LIBDIR)/$(CONFIG)/libboringssl_compiler_test_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_COMPILER_TEST_LIB_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) rm -f $(LIBDIR)/$(CONFIG)/libboringssl_compiler_test_lib.a @@ -8002,7 +8082,7 @@ $(LIBDIR)/$(CONFIG)/libboringssl_constant_time_test_lib.a: protobuf_dep_error else -$(LIBDIR)/$(CONFIG)/libboringssl_constant_time_test_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_CONSTANT_TIME_TEST_LIB_OBJS) +$(LIBDIR)/$(CONFIG)/libboringssl_constant_time_test_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_CONSTANT_TIME_TEST_LIB_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) rm -f $(LIBDIR)/$(CONFIG)/libboringssl_constant_time_test_lib.a @@ -8041,7 +8121,7 @@ $(LIBDIR)/$(CONFIG)/libboringssl_ed25519_test_lib.a: protobuf_dep_error else -$(LIBDIR)/$(CONFIG)/libboringssl_ed25519_test_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_ED25519_TEST_LIB_OBJS) +$(LIBDIR)/$(CONFIG)/libboringssl_ed25519_test_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_ED25519_TEST_LIB_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) rm -f $(LIBDIR)/$(CONFIG)/libboringssl_ed25519_test_lib.a @@ -8080,7 +8160,7 @@ $(LIBDIR)/$(CONFIG)/libboringssl_spake25519_test_lib.a: protobuf_dep_error else -$(LIBDIR)/$(CONFIG)/libboringssl_spake25519_test_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_SPAKE25519_TEST_LIB_OBJS) +$(LIBDIR)/$(CONFIG)/libboringssl_spake25519_test_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_SPAKE25519_TEST_LIB_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) rm -f $(LIBDIR)/$(CONFIG)/libboringssl_spake25519_test_lib.a @@ -8119,7 +8199,7 @@ $(LIBDIR)/$(CONFIG)/libboringssl_x25519_test_lib.a: protobuf_dep_error else -$(LIBDIR)/$(CONFIG)/libboringssl_x25519_test_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_X25519_TEST_LIB_OBJS) +$(LIBDIR)/$(CONFIG)/libboringssl_x25519_test_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_X25519_TEST_LIB_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) rm -f $(LIBDIR)/$(CONFIG)/libboringssl_x25519_test_lib.a @@ -8158,7 +8238,7 @@ $(LIBDIR)/$(CONFIG)/libboringssl_dh_test_lib.a: protobuf_dep_error else -$(LIBDIR)/$(CONFIG)/libboringssl_dh_test_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_DH_TEST_LIB_OBJS) +$(LIBDIR)/$(CONFIG)/libboringssl_dh_test_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_DH_TEST_LIB_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) rm -f $(LIBDIR)/$(CONFIG)/libboringssl_dh_test_lib.a @@ -8197,7 +8277,7 @@ $(LIBDIR)/$(CONFIG)/libboringssl_digest_test_lib.a: protobuf_dep_error else -$(LIBDIR)/$(CONFIG)/libboringssl_digest_test_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_DIGEST_TEST_LIB_OBJS) +$(LIBDIR)/$(CONFIG)/libboringssl_digest_test_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_DIGEST_TEST_LIB_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) rm -f $(LIBDIR)/$(CONFIG)/libboringssl_digest_test_lib.a @@ -8236,7 +8316,7 @@ $(LIBDIR)/$(CONFIG)/libboringssl_dsa_test_lib.a: protobuf_dep_error else -$(LIBDIR)/$(CONFIG)/libboringssl_dsa_test_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_DSA_TEST_LIB_OBJS) +$(LIBDIR)/$(CONFIG)/libboringssl_dsa_test_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_DSA_TEST_LIB_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) rm -f $(LIBDIR)/$(CONFIG)/libboringssl_dsa_test_lib.a @@ -8275,7 +8355,7 @@ $(LIBDIR)/$(CONFIG)/libboringssl_ecdh_test_lib.a: protobuf_dep_error else -$(LIBDIR)/$(CONFIG)/libboringssl_ecdh_test_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_ECDH_TEST_LIB_OBJS) +$(LIBDIR)/$(CONFIG)/libboringssl_ecdh_test_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_ECDH_TEST_LIB_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) rm -f $(LIBDIR)/$(CONFIG)/libboringssl_ecdh_test_lib.a @@ -8314,7 +8394,7 @@ $(LIBDIR)/$(CONFIG)/libboringssl_err_test_lib.a: protobuf_dep_error else -$(LIBDIR)/$(CONFIG)/libboringssl_err_test_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_ERR_TEST_LIB_OBJS) +$(LIBDIR)/$(CONFIG)/libboringssl_err_test_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_ERR_TEST_LIB_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) rm -f $(LIBDIR)/$(CONFIG)/libboringssl_err_test_lib.a @@ -8353,7 +8433,7 @@ $(LIBDIR)/$(CONFIG)/libboringssl_evp_extra_test_lib.a: protobuf_dep_error else -$(LIBDIR)/$(CONFIG)/libboringssl_evp_extra_test_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_EVP_EXTRA_TEST_LIB_OBJS) +$(LIBDIR)/$(CONFIG)/libboringssl_evp_extra_test_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_EVP_EXTRA_TEST_LIB_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) rm -f $(LIBDIR)/$(CONFIG)/libboringssl_evp_extra_test_lib.a @@ -8392,7 +8472,7 @@ $(LIBDIR)/$(CONFIG)/libboringssl_evp_test_lib.a: protobuf_dep_error else -$(LIBDIR)/$(CONFIG)/libboringssl_evp_test_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_EVP_TEST_LIB_OBJS) +$(LIBDIR)/$(CONFIG)/libboringssl_evp_test_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_EVP_TEST_LIB_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) rm -f $(LIBDIR)/$(CONFIG)/libboringssl_evp_test_lib.a @@ -8431,7 +8511,7 @@ $(LIBDIR)/$(CONFIG)/libboringssl_pbkdf_test_lib.a: protobuf_dep_error else -$(LIBDIR)/$(CONFIG)/libboringssl_pbkdf_test_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_PBKDF_TEST_LIB_OBJS) +$(LIBDIR)/$(CONFIG)/libboringssl_pbkdf_test_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_PBKDF_TEST_LIB_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) rm -f $(LIBDIR)/$(CONFIG)/libboringssl_pbkdf_test_lib.a @@ -8470,7 +8550,7 @@ $(LIBDIR)/$(CONFIG)/libboringssl_scrypt_test_lib.a: protobuf_dep_error else -$(LIBDIR)/$(CONFIG)/libboringssl_scrypt_test_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_SCRYPT_TEST_LIB_OBJS) +$(LIBDIR)/$(CONFIG)/libboringssl_scrypt_test_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_SCRYPT_TEST_LIB_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) rm -f $(LIBDIR)/$(CONFIG)/libboringssl_scrypt_test_lib.a @@ -8509,7 +8589,7 @@ $(LIBDIR)/$(CONFIG)/libboringssl_aes_test_lib.a: protobuf_dep_error else -$(LIBDIR)/$(CONFIG)/libboringssl_aes_test_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_AES_TEST_LIB_OBJS) +$(LIBDIR)/$(CONFIG)/libboringssl_aes_test_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_AES_TEST_LIB_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) rm -f $(LIBDIR)/$(CONFIG)/libboringssl_aes_test_lib.a @@ -8548,7 +8628,7 @@ $(LIBDIR)/$(CONFIG)/libboringssl_bn_test_lib.a: protobuf_dep_error else -$(LIBDIR)/$(CONFIG)/libboringssl_bn_test_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_BN_TEST_LIB_OBJS) +$(LIBDIR)/$(CONFIG)/libboringssl_bn_test_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_BN_TEST_LIB_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) rm -f $(LIBDIR)/$(CONFIG)/libboringssl_bn_test_lib.a @@ -8587,7 +8667,7 @@ $(LIBDIR)/$(CONFIG)/libboringssl_ec_test_lib.a: protobuf_dep_error else -$(LIBDIR)/$(CONFIG)/libboringssl_ec_test_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_EC_TEST_LIB_OBJS) +$(LIBDIR)/$(CONFIG)/libboringssl_ec_test_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_EC_TEST_LIB_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) rm -f $(LIBDIR)/$(CONFIG)/libboringssl_ec_test_lib.a @@ -8626,7 +8706,7 @@ $(LIBDIR)/$(CONFIG)/libboringssl_p256-x86_64_test_lib.a: protobuf_dep_error else -$(LIBDIR)/$(CONFIG)/libboringssl_p256-x86_64_test_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_P256-X86_64_TEST_LIB_OBJS) +$(LIBDIR)/$(CONFIG)/libboringssl_p256-x86_64_test_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_P256-X86_64_TEST_LIB_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) rm -f $(LIBDIR)/$(CONFIG)/libboringssl_p256-x86_64_test_lib.a @@ -8665,7 +8745,7 @@ $(LIBDIR)/$(CONFIG)/libboringssl_ecdsa_test_lib.a: protobuf_dep_error else -$(LIBDIR)/$(CONFIG)/libboringssl_ecdsa_test_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_ECDSA_TEST_LIB_OBJS) +$(LIBDIR)/$(CONFIG)/libboringssl_ecdsa_test_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_ECDSA_TEST_LIB_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) rm -f $(LIBDIR)/$(CONFIG)/libboringssl_ecdsa_test_lib.a @@ -8704,7 +8784,7 @@ $(LIBDIR)/$(CONFIG)/libboringssl_gcm_test_lib.a: protobuf_dep_error else -$(LIBDIR)/$(CONFIG)/libboringssl_gcm_test_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_GCM_TEST_LIB_OBJS) +$(LIBDIR)/$(CONFIG)/libboringssl_gcm_test_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_GCM_TEST_LIB_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) rm -f $(LIBDIR)/$(CONFIG)/libboringssl_gcm_test_lib.a @@ -8743,7 +8823,7 @@ $(LIBDIR)/$(CONFIG)/libboringssl_ctrdrbg_test_lib.a: protobuf_dep_error else -$(LIBDIR)/$(CONFIG)/libboringssl_ctrdrbg_test_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_CTRDRBG_TEST_LIB_OBJS) +$(LIBDIR)/$(CONFIG)/libboringssl_ctrdrbg_test_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_CTRDRBG_TEST_LIB_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) rm -f $(LIBDIR)/$(CONFIG)/libboringssl_ctrdrbg_test_lib.a @@ -8782,7 +8862,7 @@ $(LIBDIR)/$(CONFIG)/libboringssl_hkdf_test_lib.a: protobuf_dep_error else -$(LIBDIR)/$(CONFIG)/libboringssl_hkdf_test_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_HKDF_TEST_LIB_OBJS) +$(LIBDIR)/$(CONFIG)/libboringssl_hkdf_test_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_HKDF_TEST_LIB_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) rm -f $(LIBDIR)/$(CONFIG)/libboringssl_hkdf_test_lib.a @@ -8821,7 +8901,7 @@ $(LIBDIR)/$(CONFIG)/libboringssl_hmac_test_lib.a: protobuf_dep_error else -$(LIBDIR)/$(CONFIG)/libboringssl_hmac_test_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_HMAC_TEST_LIB_OBJS) +$(LIBDIR)/$(CONFIG)/libboringssl_hmac_test_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_HMAC_TEST_LIB_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) rm -f $(LIBDIR)/$(CONFIG)/libboringssl_hmac_test_lib.a @@ -8860,7 +8940,7 @@ $(LIBDIR)/$(CONFIG)/libboringssl_lhash_test_lib.a: protobuf_dep_error else -$(LIBDIR)/$(CONFIG)/libboringssl_lhash_test_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_LHASH_TEST_LIB_OBJS) +$(LIBDIR)/$(CONFIG)/libboringssl_lhash_test_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_LHASH_TEST_LIB_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) rm -f $(LIBDIR)/$(CONFIG)/libboringssl_lhash_test_lib.a @@ -8899,7 +8979,7 @@ $(LIBDIR)/$(CONFIG)/libboringssl_obj_test_lib.a: protobuf_dep_error else -$(LIBDIR)/$(CONFIG)/libboringssl_obj_test_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_OBJ_TEST_LIB_OBJS) +$(LIBDIR)/$(CONFIG)/libboringssl_obj_test_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_OBJ_TEST_LIB_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) rm -f $(LIBDIR)/$(CONFIG)/libboringssl_obj_test_lib.a @@ -8938,7 +9018,7 @@ $(LIBDIR)/$(CONFIG)/libboringssl_pkcs7_test_lib.a: protobuf_dep_error else -$(LIBDIR)/$(CONFIG)/libboringssl_pkcs7_test_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_PKCS7_TEST_LIB_OBJS) +$(LIBDIR)/$(CONFIG)/libboringssl_pkcs7_test_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_PKCS7_TEST_LIB_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) rm -f $(LIBDIR)/$(CONFIG)/libboringssl_pkcs7_test_lib.a @@ -8977,7 +9057,7 @@ $(LIBDIR)/$(CONFIG)/libboringssl_pkcs12_test_lib.a: protobuf_dep_error else -$(LIBDIR)/$(CONFIG)/libboringssl_pkcs12_test_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_PKCS12_TEST_LIB_OBJS) +$(LIBDIR)/$(CONFIG)/libboringssl_pkcs12_test_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_PKCS12_TEST_LIB_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) rm -f $(LIBDIR)/$(CONFIG)/libboringssl_pkcs12_test_lib.a @@ -9016,7 +9096,7 @@ $(LIBDIR)/$(CONFIG)/libboringssl_pkcs8_test_lib.a: protobuf_dep_error else -$(LIBDIR)/$(CONFIG)/libboringssl_pkcs8_test_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_PKCS8_TEST_LIB_OBJS) +$(LIBDIR)/$(CONFIG)/libboringssl_pkcs8_test_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_PKCS8_TEST_LIB_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) rm -f $(LIBDIR)/$(CONFIG)/libboringssl_pkcs8_test_lib.a @@ -9055,7 +9135,7 @@ $(LIBDIR)/$(CONFIG)/libboringssl_poly1305_test_lib.a: protobuf_dep_error else -$(LIBDIR)/$(CONFIG)/libboringssl_poly1305_test_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_POLY1305_TEST_LIB_OBJS) +$(LIBDIR)/$(CONFIG)/libboringssl_poly1305_test_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_POLY1305_TEST_LIB_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) rm -f $(LIBDIR)/$(CONFIG)/libboringssl_poly1305_test_lib.a @@ -9094,7 +9174,7 @@ $(LIBDIR)/$(CONFIG)/libboringssl_pool_test_lib.a: protobuf_dep_error else -$(LIBDIR)/$(CONFIG)/libboringssl_pool_test_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_POOL_TEST_LIB_OBJS) +$(LIBDIR)/$(CONFIG)/libboringssl_pool_test_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_POOL_TEST_LIB_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) rm -f $(LIBDIR)/$(CONFIG)/libboringssl_pool_test_lib.a @@ -9133,7 +9213,7 @@ $(LIBDIR)/$(CONFIG)/libboringssl_refcount_test_lib.a: protobuf_dep_error else -$(LIBDIR)/$(CONFIG)/libboringssl_refcount_test_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_REFCOUNT_TEST_LIB_OBJS) +$(LIBDIR)/$(CONFIG)/libboringssl_refcount_test_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_REFCOUNT_TEST_LIB_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) rm -f $(LIBDIR)/$(CONFIG)/libboringssl_refcount_test_lib.a @@ -9172,7 +9252,7 @@ $(LIBDIR)/$(CONFIG)/libboringssl_rsa_test_lib.a: protobuf_dep_error else -$(LIBDIR)/$(CONFIG)/libboringssl_rsa_test_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_RSA_TEST_LIB_OBJS) +$(LIBDIR)/$(CONFIG)/libboringssl_rsa_test_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_RSA_TEST_LIB_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) rm -f $(LIBDIR)/$(CONFIG)/libboringssl_rsa_test_lib.a @@ -9211,7 +9291,7 @@ $(LIBDIR)/$(CONFIG)/libboringssl_file_test_gtest_lib.a: protobuf_dep_error else -$(LIBDIR)/$(CONFIG)/libboringssl_file_test_gtest_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_FILE_TEST_GTEST_LIB_OBJS) +$(LIBDIR)/$(CONFIG)/libboringssl_file_test_gtest_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_FILE_TEST_GTEST_LIB_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) rm -f $(LIBDIR)/$(CONFIG)/libboringssl_file_test_gtest_lib.a @@ -9250,7 +9330,7 @@ $(LIBDIR)/$(CONFIG)/libboringssl_gtest_main_lib.a: protobuf_dep_error else -$(LIBDIR)/$(CONFIG)/libboringssl_gtest_main_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_GTEST_MAIN_LIB_OBJS) +$(LIBDIR)/$(CONFIG)/libboringssl_gtest_main_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_GTEST_MAIN_LIB_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) rm -f $(LIBDIR)/$(CONFIG)/libboringssl_gtest_main_lib.a @@ -9289,7 +9369,7 @@ $(LIBDIR)/$(CONFIG)/libboringssl_thread_test_lib.a: protobuf_dep_error else -$(LIBDIR)/$(CONFIG)/libboringssl_thread_test_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_THREAD_TEST_LIB_OBJS) +$(LIBDIR)/$(CONFIG)/libboringssl_thread_test_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_THREAD_TEST_LIB_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) rm -f $(LIBDIR)/$(CONFIG)/libboringssl_thread_test_lib.a @@ -9328,7 +9408,7 @@ $(LIBDIR)/$(CONFIG)/libboringssl_x509_test_lib.a: protobuf_dep_error else -$(LIBDIR)/$(CONFIG)/libboringssl_x509_test_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_X509_TEST_LIB_OBJS) +$(LIBDIR)/$(CONFIG)/libboringssl_x509_test_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_X509_TEST_LIB_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) rm -f $(LIBDIR)/$(CONFIG)/libboringssl_x509_test_lib.a @@ -9367,7 +9447,7 @@ $(LIBDIR)/$(CONFIG)/libboringssl_tab_test_lib.a: protobuf_dep_error else -$(LIBDIR)/$(CONFIG)/libboringssl_tab_test_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_TAB_TEST_LIB_OBJS) +$(LIBDIR)/$(CONFIG)/libboringssl_tab_test_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_TAB_TEST_LIB_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) rm -f $(LIBDIR)/$(CONFIG)/libboringssl_tab_test_lib.a @@ -9406,7 +9486,7 @@ $(LIBDIR)/$(CONFIG)/libboringssl_v3name_test_lib.a: protobuf_dep_error else -$(LIBDIR)/$(CONFIG)/libboringssl_v3name_test_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_V3NAME_TEST_LIB_OBJS) +$(LIBDIR)/$(CONFIG)/libboringssl_v3name_test_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_V3NAME_TEST_LIB_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) rm -f $(LIBDIR)/$(CONFIG)/libboringssl_v3name_test_lib.a @@ -9445,7 +9525,7 @@ $(LIBDIR)/$(CONFIG)/libboringssl_span_test_lib.a: protobuf_dep_error else -$(LIBDIR)/$(CONFIG)/libboringssl_span_test_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_SPAN_TEST_LIB_OBJS) +$(LIBDIR)/$(CONFIG)/libboringssl_span_test_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_SPAN_TEST_LIB_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) rm -f $(LIBDIR)/$(CONFIG)/libboringssl_span_test_lib.a @@ -9484,7 +9564,7 @@ $(LIBDIR)/$(CONFIG)/libboringssl_ssl_test_lib.a: protobuf_dep_error else -$(LIBDIR)/$(CONFIG)/libboringssl_ssl_test_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_SSL_TEST_LIB_OBJS) +$(LIBDIR)/$(CONFIG)/libboringssl_ssl_test_lib.a: $(ZLIB_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(PROTOBUF_DEP) $(LIBBORINGSSL_SSL_TEST_LIB_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) rm -f $(LIBDIR)/$(CONFIG)/libboringssl_ssl_test_lib.a @@ -9534,7 +9614,7 @@ $(LIBDIR)/$(CONFIG)/libbenchmark.a: protobuf_dep_error else -$(LIBDIR)/$(CONFIG)/libbenchmark.a: $(ZLIB_DEP) $(CARES_DEP) $(PROTOBUF_DEP) $(LIBBENCHMARK_OBJS) +$(LIBDIR)/$(CONFIG)/libbenchmark.a: $(ZLIB_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(PROTOBUF_DEP) $(LIBBENCHMARK_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) rm -f $(LIBDIR)/$(CONFIG)/libbenchmark.a @@ -9576,7 +9656,7 @@ LIBZ_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBZ_ $(LIBZ_OBJS): CFLAGS += -Wno-sign-conversion -Wno-conversion -Wno-unused-value -Wno-implicit-function-declaration -Wno-implicit-fallthrough $(W_NO_SHIFT_NEGATIVE_VALUE) -fvisibility=hidden -$(LIBDIR)/$(CONFIG)/libz.a: $(CARES_DEP) $(LIBZ_OBJS) +$(LIBDIR)/$(CONFIG)/libz.a: $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(LIBZ_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) rm -f $(LIBDIR)/$(CONFIG)/libz.a @@ -9651,7 +9731,7 @@ LIBARES_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LI $(LIBARES_OBJS): CPPFLAGS += -Ithird_party/cares -Ithird_party/cares/cares -fvisibility=hidden -D_GNU_SOURCE $(if $(subst Darwin,,$(SYSTEM)),,-Ithird_party/cares/config_darwin) $(if $(subst FreeBSD,,$(SYSTEM)),,-Ithird_party/cares/config_freebsd) $(if $(subst Linux,,$(SYSTEM)),,-Ithird_party/cares/config_linux) $(if $(subst OpenBSD,,$(SYSTEM)),,-Ithird_party/cares/config_openbsd) -DWIN32_LEAN_AND_MEAN -D_HAS_EXCEPTIONS=0 -DNOMINMAX $(if $(subst MINGW32,,$(SYSTEM)),-DHAVE_CONFIG_H,) $(LIBARES_OBJS): CFLAGS += -Wno-sign-conversion $(if $(subst Darwin,,$(SYSTEM)),,-Wno-shorten-64-to-32) $(if $(subst MINGW32,,$(SYSTEM)),-Wno-invalid-source-encoding,) -$(LIBDIR)/$(CONFIG)/libares.a: $(ZLIB_DEP) $(LIBARES_OBJS) +$(LIBDIR)/$(CONFIG)/libares.a: $(ZLIB_DEP) $(ADDRESS_SORTING_DEP) $(LIBARES_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) rm -f $(LIBDIR)/$(CONFIG)/libares.a @@ -9686,7 +9766,7 @@ $(LIBDIR)/$(CONFIG)/libbad_client_test.a: openssl_dep_error else -$(LIBDIR)/$(CONFIG)/libbad_client_test.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(CARES_DEP) $(LIBBAD_CLIENT_TEST_OBJS) +$(LIBDIR)/$(CONFIG)/libbad_client_test.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(LIBBAD_CLIENT_TEST_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) rm -f $(LIBDIR)/$(CONFIG)/libbad_client_test.a @@ -9725,7 +9805,7 @@ $(LIBDIR)/$(CONFIG)/libbad_ssl_test_server.a: openssl_dep_error else -$(LIBDIR)/$(CONFIG)/libbad_ssl_test_server.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(CARES_DEP) $(LIBBAD_SSL_TEST_SERVER_OBJS) +$(LIBDIR)/$(CONFIG)/libbad_ssl_test_server.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(LIBBAD_SSL_TEST_SERVER_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) rm -f $(LIBDIR)/$(CONFIG)/libbad_ssl_test_server.a @@ -9841,7 +9921,7 @@ $(LIBDIR)/$(CONFIG)/libend2end_tests.a: openssl_dep_error else -$(LIBDIR)/$(CONFIG)/libend2end_tests.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(CARES_DEP) $(LIBEND2END_TESTS_OBJS) +$(LIBDIR)/$(CONFIG)/libend2end_tests.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(LIBEND2END_TESTS_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) rm -f $(LIBDIR)/$(CONFIG)/libend2end_tests.a @@ -9946,7 +10026,7 @@ PUBLIC_HEADERS_C += \ LIBEND2END_NOSEC_TESTS_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBEND2END_NOSEC_TESTS_SRC)))) -$(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a: $(ZLIB_DEP) $(CARES_DEP) $(LIBEND2END_NOSEC_TESTS_OBJS) +$(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a: $(ZLIB_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(LIBEND2END_NOSEC_TESTS_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) rm -f $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a @@ -23098,6 +23178,92 @@ endif endif +ADDRESS_SORTING_TEST_UNSECURE_SRC = \ + test/cpp/naming/address_sorting_test.cc \ + +ADDRESS_SORTING_TEST_UNSECURE_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(ADDRESS_SORTING_TEST_UNSECURE_SRC)))) +ifeq ($(NO_SECURE),true) + +# You can't build secure targets if you don't have OpenSSL. + +$(BINDIR)/$(CONFIG)/address_sorting_test_unsecure: openssl_dep_error + +else + + + + +ifeq ($(NO_PROTOBUF),true) + +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. + +$(BINDIR)/$(CONFIG)/address_sorting_test_unsecure: protobuf_dep_error + +else + +$(BINDIR)/$(CONFIG)/address_sorting_test_unsecure: $(PROTOBUF_DEP) $(ADDRESS_SORTING_TEST_UNSECURE_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a + $(E) "[LD] Linking $@" + $(Q) mkdir -p `dirname $@` + $(Q) $(LDXX) $(LDFLAGS) $(ADDRESS_SORTING_TEST_UNSECURE_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/address_sorting_test_unsecure + +endif + +endif + +$(OBJDIR)/$(CONFIG)/test/cpp/naming/address_sorting_test.o: $(LIBDIR)/$(CONFIG)/libgrpc++_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a + +deps_address_sorting_test_unsecure: $(ADDRESS_SORTING_TEST_UNSECURE_OBJS:.o=.dep) + +ifneq ($(NO_SECURE),true) +ifneq ($(NO_DEPS),true) +-include $(ADDRESS_SORTING_TEST_UNSECURE_OBJS:.o=.dep) +endif +endif + + +ADDRESS_SORTING_TEST_SRC = \ + test/cpp/naming/address_sorting_test.cc \ + +ADDRESS_SORTING_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(ADDRESS_SORTING_TEST_SRC)))) +ifeq ($(NO_SECURE),true) + +# You can't build secure targets if you don't have OpenSSL. + +$(BINDIR)/$(CONFIG)/address_sorting_test: openssl_dep_error + +else + + + + +ifeq ($(NO_PROTOBUF),true) + +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. + +$(BINDIR)/$(CONFIG)/address_sorting_test: protobuf_dep_error + +else + +$(BINDIR)/$(CONFIG)/address_sorting_test: $(PROTOBUF_DEP) $(ADDRESS_SORTING_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a + $(E) "[LD] Linking $@" + $(Q) mkdir -p `dirname $@` + $(Q) $(LDXX) $(LDFLAGS) $(ADDRESS_SORTING_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/address_sorting_test + +endif + +endif + +$(OBJDIR)/$(CONFIG)/test/cpp/naming/address_sorting_test.o: $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a + +deps_address_sorting_test: $(ADDRESS_SORTING_TEST_OBJS:.o=.dep) + +ifneq ($(NO_SECURE),true) +ifneq ($(NO_DEPS),true) +-include $(ADDRESS_SORTING_TEST_OBJS:.o=.dep) +endif +endif + + API_FUZZER_ONE_ENTRY_SRC = \ test/core/end2end/fuzzers/api_fuzzer.cc \ test/core/util/one_corpus_entry_fuzzer.cc \ diff --git a/bazel/grpc_build_system.bzl b/bazel/grpc_build_system.bzl index 08dc3de0ea..095b1596c8 100644 --- a/bazel/grpc_build_system.bzl +++ b/bazel/grpc_build_system.bzl @@ -38,6 +38,8 @@ def _get_external_deps(external_deps): for dep in external_deps: if dep == "nanopb": ret += ["grpc_nanopb"] + elif dep == "address_sorting": + ret += ["//third_party/address_sorting"] elif dep == "cares": ret += select({"//:grpc_no_ares": [], "//conditions:default": ["//external:cares"],}) @@ -108,7 +110,7 @@ def grpc_proto_library(name, srcs = [], deps = [], well_known_protos = False, generate_mocks = generate_mocks, ) -def grpc_cc_test(name, srcs = [], deps = [], external_deps = [], args = [], data = [], uses_polling = True, language = "C++"): +def grpc_cc_test(name, srcs = [], deps = [], external_deps = [], args = [], data = [], uses_polling = True, language = "C++", size = "medium", timeout = "moderate"): copts = [] if language.upper() == "C": copts = if_not_windows(["-std=c99"]) @@ -120,6 +122,8 @@ def grpc_cc_test(name, srcs = [], deps = [], external_deps = [], args = [], data 'deps': deps + _get_external_deps(external_deps), 'copts': copts, 'linkopts': if_not_windows(["-pthread"]), + 'size': size, + 'timeout': timeout, } if uses_polling: native.cc_test(testonly=True, tags=['manual'], **args) @@ -130,9 +134,11 @@ def grpc_cc_test(name, srcs = [], deps = [], external_deps = [], args = [], data srcs = [ '//test/core/util:run_with_poller_sh', ], + size = size, + timeout = timeout, args = [ poller, - '$(location %s)' % name + '$(location %s)' % name, ] + args['args'], ) else: diff --git a/build.yaml b/build.yaml index 1bdca1065f..febba32d5f 100644 --- a/build.yaml +++ b/build.yaml @@ -1330,6 +1330,17 @@ filegroups: - grpc++ - grpc libs: +- name: address_sorting + build: all + language: c + headers: + - third_party/address_sorting/address_sorting_internal.h + - third_party/address_sorting/include/address_sorting/address_sorting.h + src: + - third_party/address_sorting/address_sorting.c + - third_party/address_sorting/address_sorting_posix.c + - third_party/address_sorting/address_sorting_windows.c + secure: false - name: alts_test_util build: private language: c @@ -1409,7 +1420,11 @@ libs: - grpc_base - grpc_base_headers - grpc_deadline_filter + - grpc_lb_policy_pick_first + - grpc_max_age_filter - grpc_message_size_filter + - grpc_resolver_dns_native + - grpc_resolver_sockaddr - grpc_server_load_reporting - grpc_transport_cronet_client_secure - grpc_transport_chttp2_client_secure @@ -5501,6 +5516,7 @@ php_config_m4: - gpr - boringssl - z + - address_sorting headers: - src/php/ext/grpc/byte_buffer.h - src/php/ext/grpc/call.h @@ -5532,6 +5548,7 @@ python_dependencies: - ares - boringssl - z + - address_sorting ruby_gem: deps: - grpc @@ -5539,3 +5556,4 @@ ruby_gem: - ares - boringssl - z + - address_sorting diff --git a/cmake/address_sorting.cmake b/cmake/address_sorting.cmake new file mode 100644 index 0000000000..f7203b3a44 --- /dev/null +++ b/cmake/address_sorting.cmake @@ -0,0 +1,16 @@ +# Copyright 2017 gRPC authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +set(_gRPC_ADDRESS_SORTING_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/third_party/address_sorting/include") +set(_gRPC_ADDRESS_SORTING_LIBRARIES address_sorting) @@ -11,8 +11,8 @@ if test "$PHP_GRPC" != "no"; then LIBS="-lpthread $LIBS" - CFLAGS="-Wall -Werror -Wno-parentheses-equality -Wno-unused-value -std=c11" - CXXFLAGS="-std=c++11 -fno-exceptions -fno-rtti" + CFLAGS="-Wall -Werror -Wno-parentheses-equality -Wno-unused-value -std=c11 -g -O2 -D PB_FIELD_16BIT=1" + CXXFLAGS="-std=c++11 -fno-exceptions -fno-rtti -g -O2 -D PB_FIELD_16BIT=1" GRPC_SHARED_LIBADD="-lpthread $GRPC_SHARED_LIBADD" PHP_REQUIRE_CXX() PHP_ADD_LIBRARY(pthread) @@ -39,6 +39,9 @@ if test "$PHP_GRPC" != "no"; then src/php/ext/grpc/server.c \ src/php/ext/grpc/server_credentials.c \ src/php/ext/grpc/timeval.c \ + third_party/address_sorting/address_sorting.c \ + third_party/address_sorting/address_sorting_posix.c \ + third_party/address_sorting/address_sorting_windows.c \ src/core/lib/gpr/alloc.cc \ src/core/lib/gpr/arena.cc \ src/core/lib/gpr/atm.cc \ @@ -708,6 +711,7 @@ if test "$PHP_GRPC" != "no"; then PHP_ADD_BUILD_DIR($ext_builddir/src/core/tsi/alts/handshaker) PHP_ADD_BUILD_DIR($ext_builddir/src/core/tsi/alts/zero_copy_frame_protector) PHP_ADD_BUILD_DIR($ext_builddir/src/core/tsi/ssl/session_cache) + PHP_ADD_BUILD_DIR($ext_builddir/third_party/address_sorting) PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl/crypto) PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl/crypto/asn1) PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl/crypto/base64) diff --git a/config.w32 b/config.w32 index efabab48a6..bb9cb3ffe2 100644 --- a/config.w32 +++ b/config.w32 @@ -16,6 +16,9 @@ if (PHP_GRPC != "no") { "src\\php\\ext\\grpc\\server.c " + "src\\php\\ext\\grpc\\server_credentials.c " + "src\\php\\ext\\grpc\\timeval.c " + + "third_party\\address_sorting\\address_sorting.c " + + "third_party\\address_sorting\\address_sorting_posix.c " + + "third_party\\address_sorting\\address_sorting_windows.c " + "src\\core\\lib\\gpr\\alloc.cc " + "src\\core\\lib\\gpr\\arena.cc " + "src\\core\\lib\\gpr\\atm.cc " + @@ -727,6 +730,7 @@ if (PHP_GRPC != "no") { FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\php\\ext"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\php\\ext\\grpc"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party"); + FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\address_sorting"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\boringssl"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\boringssl\\crypto"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\boringssl\\crypto\\asn1"); diff --git a/examples/android/helloworld/app/CMakeLists.txt b/examples/android/helloworld/app/CMakeLists.txt index 6ee18daaab..ad6c1b834c 100644 --- a/examples/android/helloworld/app/CMakeLists.txt +++ b/examples/android/helloworld/app/CMakeLists.txt @@ -26,6 +26,10 @@ add_library(libgpr STATIC IMPORTED) set_target_properties(libgpr PROPERTIES IMPORTED_LOCATION ${GRPC_BUILD_DIR}/libgpr.a) +add_library(libaddress_sorting STATIC IMPORTED) +set_target_properties(libaddress_sorting PROPERTIES IMPORTED_LOCATION + ${GRPC_BUILD_DIR}/libaddress_sorting.a) + add_library(libcares STATIC IMPORTED) set_target_properties(libcares PROPERTIES IMPORTED_LOCATION ${GRPC_BUILD_DIR}/third_party/cares/cares/lib/libcares.a) @@ -113,6 +117,7 @@ target_include_directories(grpc-helloworld target_link_libraries(grpc-helloworld libgrpc++ libgrpc + libaddress_sorting libzlib libcares libssl diff --git a/examples/android/helloworld/app/build.gradle b/examples/android/helloworld/app/build.gradle index c6ab7308ae..1d09fdc180 100644 --- a/examples/android/helloworld/app/build.gradle +++ b/examples/android/helloworld/app/build.gradle @@ -11,6 +11,13 @@ android { testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" externalNativeBuild { cmake { + // The paths to the protoc and grpc_cpp_plugin binaries on the host system (codegen + // is not cross-compiled to Android) + def protoc = project.hasProperty('protoc') ? + project.property('protoc') : '/usr/local/bin/protoc' + def grpc_cpp_plugin = project.hasProperty('grpc_cpp_plugin') ? + project.property('grpc_cpp_plugin') : '/usr/local/bin/grpc_cpp_plugin' + cppFlags "-std=c++14 -frtti -fexceptions" arguments '-DANDROID_STL=c++_static' arguments '-DRUN_HAVE_POSIX_REGEX=0' @@ -18,12 +25,8 @@ android { arguments '-DRUN_HAVE_STEADY_CLOCK=0' arguments '-Dprotobuf_BUILD_PROTOC_BINARIES=off' arguments '-DgRPC_BUILD_CODEGEN=off' - // Set this to the path to the protoc binary on the host system (codegen is not - // cross-compiled to Android) - arguments '-Dhelloworld_PROTOBUF_PROTOC_EXECUTABLE=/usr/local/bin/protoc' - // Set this to the path to the gRPC C++ protoc plugin binary on the host system - // (codegen is not cross-compiled to Android) - arguments '-Dhelloworld_GRPC_CPP_PLUGIN_EXECUTABLE=/usr/local/bin/grpc_cpp_plugin' + arguments '-Dhelloworld_PROTOBUF_PROTOC_EXECUTABLE=' + protoc + arguments '-Dhelloworld_GRPC_CPP_PLUGIN_EXECUTABLE=' + grpc_cpp_plugin } } ndk.abiFilters 'x86' diff --git a/gRPC-Core.podspec b/gRPC-Core.podspec index a4bf934100..9ddee79ff9 100644 --- a/gRPC-Core.podspec +++ b/gRPC-Core.podspec @@ -1354,6 +1354,28 @@ Pod::Spec.new do |s| 'src/core/lib/transport/transport_impl.h', 'src/core/lib/debug/trace.h', 'src/core/ext/filters/deadline/deadline_filter.h', + 'src/core/ext/filters/client_channel/backup_poller.h', + 'src/core/ext/filters/client_channel/client_channel.h', + 'src/core/ext/filters/client_channel/client_channel_factory.h', + 'src/core/ext/filters/client_channel/connector.h', + 'src/core/ext/filters/client_channel/http_connect_handshaker.h', + 'src/core/ext/filters/client_channel/http_proxy.h', + 'src/core/ext/filters/client_channel/lb_policy.h', + 'src/core/ext/filters/client_channel/lb_policy_factory.h', + 'src/core/ext/filters/client_channel/lb_policy_registry.h', + 'src/core/ext/filters/client_channel/method_params.h', + 'src/core/ext/filters/client_channel/parse_address.h', + 'src/core/ext/filters/client_channel/proxy_mapper.h', + 'src/core/ext/filters/client_channel/proxy_mapper_registry.h', + 'src/core/ext/filters/client_channel/resolver.h', + 'src/core/ext/filters/client_channel/resolver_factory.h', + 'src/core/ext/filters/client_channel/resolver_registry.h', + 'src/core/ext/filters/client_channel/retry_throttle.h', + 'src/core/ext/filters/client_channel/subchannel.h', + 'src/core/ext/filters/client_channel/subchannel_index.h', + 'src/core/ext/filters/client_channel/uri_parser.h', + 'src/core/ext/filters/client_channel/lb_policy/subchannel_list.h', + 'src/core/ext/filters/max_age/max_age_filter.h', 'src/core/ext/filters/message_size/message_size_filter.h', 'src/core/ext/filters/load_reporting/server_load_reporting_filter.h', 'src/core/ext/filters/load_reporting/server_load_reporting_plugin.h', @@ -1383,26 +1405,6 @@ Pod::Spec.new do |s| 'src/core/ext/filters/http/client/http_client_filter.h', 'src/core/ext/filters/http/message_compress/message_compress_filter.h', 'src/core/ext/filters/http/server/http_server_filter.h', - 'src/core/ext/filters/client_channel/backup_poller.h', - 'src/core/ext/filters/client_channel/client_channel.h', - 'src/core/ext/filters/client_channel/client_channel_factory.h', - 'src/core/ext/filters/client_channel/connector.h', - 'src/core/ext/filters/client_channel/http_connect_handshaker.h', - 'src/core/ext/filters/client_channel/http_proxy.h', - 'src/core/ext/filters/client_channel/lb_policy.h', - 'src/core/ext/filters/client_channel/lb_policy_factory.h', - 'src/core/ext/filters/client_channel/lb_policy_registry.h', - 'src/core/ext/filters/client_channel/method_params.h', - 'src/core/ext/filters/client_channel/parse_address.h', - 'src/core/ext/filters/client_channel/proxy_mapper.h', - 'src/core/ext/filters/client_channel/proxy_mapper_registry.h', - 'src/core/ext/filters/client_channel/resolver.h', - 'src/core/ext/filters/client_channel/resolver_factory.h', - 'src/core/ext/filters/client_channel/resolver_registry.h', - 'src/core/ext/filters/client_channel/retry_throttle.h', - 'src/core/ext/filters/client_channel/subchannel.h', - 'src/core/ext/filters/client_channel/subchannel_index.h', - 'src/core/ext/filters/client_channel/uri_parser.h', 'src/core/lib/security/context/security_context.h', 'src/core/lib/security/credentials/alts/alts_credentials.h', 'src/core/lib/security/credentials/composite/composite_credentials.h', @@ -1617,7 +1619,33 @@ Pod::Spec.new do |s| 'src/core/lib/transport/transport_op_string.cc', 'src/core/lib/debug/trace.cc', 'src/core/ext/filters/deadline/deadline_filter.cc', + 'src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc', + 'src/core/ext/filters/client_channel/backup_poller.cc', + 'src/core/ext/filters/client_channel/channel_connectivity.cc', + 'src/core/ext/filters/client_channel/client_channel.cc', + 'src/core/ext/filters/client_channel/client_channel_factory.cc', + 'src/core/ext/filters/client_channel/client_channel_plugin.cc', + 'src/core/ext/filters/client_channel/connector.cc', + 'src/core/ext/filters/client_channel/http_connect_handshaker.cc', + 'src/core/ext/filters/client_channel/http_proxy.cc', + 'src/core/ext/filters/client_channel/lb_policy.cc', + 'src/core/ext/filters/client_channel/lb_policy_factory.cc', + 'src/core/ext/filters/client_channel/lb_policy_registry.cc', + 'src/core/ext/filters/client_channel/method_params.cc', + 'src/core/ext/filters/client_channel/parse_address.cc', + 'src/core/ext/filters/client_channel/proxy_mapper.cc', + 'src/core/ext/filters/client_channel/proxy_mapper_registry.cc', + 'src/core/ext/filters/client_channel/resolver.cc', + 'src/core/ext/filters/client_channel/resolver_registry.cc', + 'src/core/ext/filters/client_channel/retry_throttle.cc', + 'src/core/ext/filters/client_channel/subchannel.cc', + 'src/core/ext/filters/client_channel/subchannel_index.cc', + 'src/core/ext/filters/client_channel/uri_parser.cc', + 'src/core/ext/filters/client_channel/lb_policy/subchannel_list.cc', + 'src/core/ext/filters/max_age/max_age_filter.cc', 'src/core/ext/filters/message_size/message_size_filter.cc', + 'src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc', + 'src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc', 'src/core/ext/filters/load_reporting/server_load_reporting_filter.cc', 'src/core/ext/filters/load_reporting/server_load_reporting_plugin.cc', 'src/core/ext/transport/cronet/client/secure/cronet_channel_create.cc', @@ -1650,27 +1678,6 @@ Pod::Spec.new do |s| 'src/core/ext/filters/http/http_filters_plugin.cc', 'src/core/ext/filters/http/message_compress/message_compress_filter.cc', 'src/core/ext/filters/http/server/http_server_filter.cc', - 'src/core/ext/filters/client_channel/backup_poller.cc', - 'src/core/ext/filters/client_channel/channel_connectivity.cc', - 'src/core/ext/filters/client_channel/client_channel.cc', - 'src/core/ext/filters/client_channel/client_channel_factory.cc', - 'src/core/ext/filters/client_channel/client_channel_plugin.cc', - 'src/core/ext/filters/client_channel/connector.cc', - 'src/core/ext/filters/client_channel/http_connect_handshaker.cc', - 'src/core/ext/filters/client_channel/http_proxy.cc', - 'src/core/ext/filters/client_channel/lb_policy.cc', - 'src/core/ext/filters/client_channel/lb_policy_factory.cc', - 'src/core/ext/filters/client_channel/lb_policy_registry.cc', - 'src/core/ext/filters/client_channel/method_params.cc', - 'src/core/ext/filters/client_channel/parse_address.cc', - 'src/core/ext/filters/client_channel/proxy_mapper.cc', - 'src/core/ext/filters/client_channel/proxy_mapper_registry.cc', - 'src/core/ext/filters/client_channel/resolver.cc', - 'src/core/ext/filters/client_channel/resolver_registry.cc', - 'src/core/ext/filters/client_channel/retry_throttle.cc', - 'src/core/ext/filters/client_channel/subchannel.cc', - 'src/core/ext/filters/client_channel/subchannel_index.cc', - 'src/core/ext/filters/client_channel/uri_parser.cc', 'src/core/lib/http/httpcli_security_connector.cc', 'src/core/lib/security/context/security_context.cc', 'src/core/lib/security/credentials/alts/alts_credentials.cc', @@ -1906,6 +1913,28 @@ Pod::Spec.new do |s| 'src/core/lib/transport/transport_impl.h', 'src/core/lib/debug/trace.h', 'src/core/ext/filters/deadline/deadline_filter.h', + 'src/core/ext/filters/client_channel/backup_poller.h', + 'src/core/ext/filters/client_channel/client_channel.h', + 'src/core/ext/filters/client_channel/client_channel_factory.h', + 'src/core/ext/filters/client_channel/connector.h', + 'src/core/ext/filters/client_channel/http_connect_handshaker.h', + 'src/core/ext/filters/client_channel/http_proxy.h', + 'src/core/ext/filters/client_channel/lb_policy.h', + 'src/core/ext/filters/client_channel/lb_policy_factory.h', + 'src/core/ext/filters/client_channel/lb_policy_registry.h', + 'src/core/ext/filters/client_channel/method_params.h', + 'src/core/ext/filters/client_channel/parse_address.h', + 'src/core/ext/filters/client_channel/proxy_mapper.h', + 'src/core/ext/filters/client_channel/proxy_mapper_registry.h', + 'src/core/ext/filters/client_channel/resolver.h', + 'src/core/ext/filters/client_channel/resolver_factory.h', + 'src/core/ext/filters/client_channel/resolver_registry.h', + 'src/core/ext/filters/client_channel/retry_throttle.h', + 'src/core/ext/filters/client_channel/subchannel.h', + 'src/core/ext/filters/client_channel/subchannel_index.h', + 'src/core/ext/filters/client_channel/uri_parser.h', + 'src/core/ext/filters/client_channel/lb_policy/subchannel_list.h', + 'src/core/ext/filters/max_age/max_age_filter.h', 'src/core/ext/filters/message_size/message_size_filter.h', 'src/core/ext/filters/load_reporting/server_load_reporting_filter.h', 'src/core/ext/filters/load_reporting/server_load_reporting_plugin.h', @@ -1935,26 +1964,6 @@ Pod::Spec.new do |s| 'src/core/ext/filters/http/client/http_client_filter.h', 'src/core/ext/filters/http/message_compress/message_compress_filter.h', 'src/core/ext/filters/http/server/http_server_filter.h', - 'src/core/ext/filters/client_channel/backup_poller.h', - 'src/core/ext/filters/client_channel/client_channel.h', - 'src/core/ext/filters/client_channel/client_channel_factory.h', - 'src/core/ext/filters/client_channel/connector.h', - 'src/core/ext/filters/client_channel/http_connect_handshaker.h', - 'src/core/ext/filters/client_channel/http_proxy.h', - 'src/core/ext/filters/client_channel/lb_policy.h', - 'src/core/ext/filters/client_channel/lb_policy_factory.h', - 'src/core/ext/filters/client_channel/lb_policy_registry.h', - 'src/core/ext/filters/client_channel/method_params.h', - 'src/core/ext/filters/client_channel/parse_address.h', - 'src/core/ext/filters/client_channel/proxy_mapper.h', - 'src/core/ext/filters/client_channel/proxy_mapper_registry.h', - 'src/core/ext/filters/client_channel/resolver.h', - 'src/core/ext/filters/client_channel/resolver_factory.h', - 'src/core/ext/filters/client_channel/resolver_registry.h', - 'src/core/ext/filters/client_channel/retry_throttle.h', - 'src/core/ext/filters/client_channel/subchannel.h', - 'src/core/ext/filters/client_channel/subchannel_index.h', - 'src/core/ext/filters/client_channel/uri_parser.h', 'src/core/lib/security/context/security_context.h', 'src/core/lib/security/credentials/alts/alts_credentials.h', 'src/core/lib/security/credentials/composite/composite_credentials.h', diff --git a/grpc.gemspec b/grpc.gemspec index ec8a7ffb77..4e309f15a9 100644 --- a/grpc.gemspec +++ b/grpc.gemspec @@ -44,6 +44,11 @@ Gem::Specification.new do |s| s.extensions = %w(src/ruby/ext/grpc/extconf.rb) + s.files += %w( third_party/address_sorting/address_sorting_internal.h ) + s.files += %w( third_party/address_sorting/include/address_sorting/address_sorting.h ) + s.files += %w( third_party/address_sorting/address_sorting.c ) + s.files += %w( third_party/address_sorting/address_sorting_posix.c ) + s.files += %w( third_party/address_sorting/address_sorting_windows.c ) s.files += %w( include/grpc/support/alloc.h ) s.files += %w( include/grpc/support/atm.h ) s.files += %w( include/grpc/support/atm_gcc_atomic.h ) @@ -157,6 +157,17 @@ }, 'targets': [ { + 'target_name': 'address_sorting', + 'type': 'static_library', + 'dependencies': [ + ], + 'sources': [ + 'third_party/address_sorting/address_sorting.c', + 'third_party/address_sorting/address_sorting_posix.c', + 'third_party/address_sorting/address_sorting_windows.c', + ], + }, + { 'target_name': 'alts_test_util', 'type': 'static_library', 'dependencies': [ diff --git a/package.xml b/package.xml index d8b9b2cbbb..fd43006836 100644 --- a/package.xml +++ b/package.xml @@ -51,6 +51,11 @@ <file baseinstalldir="/" name="src/php/ext/grpc/server_credentials.h" role="src" /> <file baseinstalldir="/" name="src/php/ext/grpc/timeval.h" role="src" /> <file baseinstalldir="/" name="src/php/ext/grpc/version.h" role="src" /> + <file baseinstalldir="/" name="third_party/address_sorting/address_sorting_internal.h" role="src" /> + <file baseinstalldir="/" name="third_party/address_sorting/include/address_sorting/address_sorting.h" role="src" /> + <file baseinstalldir="/" name="third_party/address_sorting/address_sorting.c" role="src" /> + <file baseinstalldir="/" name="third_party/address_sorting/address_sorting_posix.c" role="src" /> + <file baseinstalldir="/" name="third_party/address_sorting/address_sorting_windows.c" role="src" /> <file baseinstalldir="/" name="include/grpc/support/alloc.h" role="src" /> <file baseinstalldir="/" name="include/grpc/support/atm.h" role="src" /> <file baseinstalldir="/" name="include/grpc/support/atm_gcc_atomic.h" role="src" /> @@ -48,6 +48,7 @@ if 'linux' in sys.platform: CARES_INCLUDE += (os.path.join('third_party', 'cares', 'config_linux'),) if 'openbsd' in sys.platform: CARES_INCLUDE += (os.path.join('third_party', 'cares', 'config_openbsd'),) +ADDRESS_SORTING_INCLUDE = (os.path.join('third_party', 'address_sorting', 'include'),) README = os.path.join(PYTHON_STEM, 'README.rst') # Ensure we're in the proper directory whether or not we're being used by pip. @@ -149,7 +150,7 @@ if "win32" in sys.platform: EXTENSION_INCLUDE_DIRECTORIES = ( (PYTHON_STEM,) + CORE_INCLUDE + BORINGSSL_INCLUDE + ZLIB_INCLUDE + - CARES_INCLUDE) + CARES_INCLUDE + ADDRESS_SORTING_INCLUDE) EXTENSION_LIBRARIES = () if "linux" in sys.platform: diff --git a/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc b/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc index c63de3c509..aca7307a2f 100644 --- a/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +++ b/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc @@ -28,6 +28,8 @@ #include <grpc/support/alloc.h> #include <grpc/support/string_util.h> +#include <address_sorting/address_sorting.h> + #include "src/core/ext/filters/client_channel/http_connect_handshaker.h" #include "src/core/ext/filters/client_channel/lb_policy_registry.h" #include "src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h" @@ -458,6 +460,7 @@ void grpc_resolver_dns_ares_init() { /* TODO(zyc): Turn on c-ares based resolver by default after the address sorter and the CNAME support are added. */ if (resolver_env != nullptr && gpr_stricmp(resolver_env, "ares") == 0) { + address_sorting_init(); grpc_error* error = grpc_ares_init(); if (error != GRPC_ERROR_NONE) { GRPC_LOG_IF_ERROR("ares_library_init() failed", error); @@ -475,6 +478,7 @@ void grpc_resolver_dns_ares_init() { void grpc_resolver_dns_ares_shutdown() { char* resolver_env = gpr_getenv("GRPC_DNS_RESOLVER"); if (resolver_env != nullptr && gpr_stricmp(resolver_env, "ares") == 0) { + address_sorting_shutdown(); grpc_ares_cleanup(); } gpr_free(resolver_env); diff --git a/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc b/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc index 71b06eb87e..fb2435749d 100644 --- a/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +++ b/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc @@ -33,6 +33,7 @@ #include <grpc/support/string_util.h> #include <grpc/support/time.h> +#include <address_sorting/address_sorting.h> #include "src/core/ext/filters/client_channel/parse_address.h" #include "src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h" #include "src/core/lib/gpr/host_port.h" @@ -46,6 +47,9 @@ static gpr_once g_basic_init = GPR_ONCE_INIT; static gpr_mu g_init_mu; +grpc_core::TraceFlag grpc_trace_cares_address_sorting(false, + "cares_address_sorting"); + struct grpc_ares_request { /** indicates the DNS server to use, if specified */ struct ares_addr_port_node dns_server_addr; @@ -96,11 +100,60 @@ static void grpc_ares_request_ref(grpc_ares_request* r) { gpr_ref(&r->pending_queries); } +static void log_address_sorting_list(grpc_lb_addresses* lb_addrs, + const char* input_output_str) { + for (size_t i = 0; i < lb_addrs->num_addresses; i++) { + char* addr_str; + if (grpc_sockaddr_to_string(&addr_str, &lb_addrs->addresses[i].address, + true)) { + gpr_log(GPR_DEBUG, "c-ares address sorting: %s[%" PRIuPTR "]=%s", + input_output_str, i, addr_str); + gpr_free(addr_str); + } else { + gpr_log(GPR_DEBUG, + "c-ares address sorting: %s[%" PRIuPTR "]=<unprintable>", + input_output_str, i); + } + } +} + +void grpc_cares_wrapper_address_sorting_sort(grpc_lb_addresses* lb_addrs) { + if (grpc_trace_cares_address_sorting.enabled()) { + log_address_sorting_list(lb_addrs, "input"); + } + address_sorting_sortable* sortables = (address_sorting_sortable*)gpr_zalloc( + sizeof(address_sorting_sortable) * lb_addrs->num_addresses); + for (size_t i = 0; i < lb_addrs->num_addresses; i++) { + sortables[i].user_data = &lb_addrs->addresses[i]; + memcpy(&sortables[i].dest_addr.addr, &lb_addrs->addresses[i].address.addr, + lb_addrs->addresses[i].address.len); + sortables[i].dest_addr.len = lb_addrs->addresses[i].address.len; + } + address_sorting_rfc_6724_sort(sortables, lb_addrs->num_addresses); + grpc_lb_address* sorted_lb_addrs = (grpc_lb_address*)gpr_zalloc( + sizeof(grpc_lb_address) * lb_addrs->num_addresses); + for (size_t i = 0; i < lb_addrs->num_addresses; i++) { + sorted_lb_addrs[i] = *(grpc_lb_address*)sortables[i].user_data; + } + gpr_free(sortables); + gpr_free(lb_addrs->addresses); + lb_addrs->addresses = sorted_lb_addrs; + if (grpc_trace_cares_address_sorting.enabled()) { + log_address_sorting_list(lb_addrs, "output"); + } +} + +/* Allow tests to access grpc_ares_wrapper_address_sorting_sort */ +void grpc_cares_wrapper_test_only_address_sorting_sort( + grpc_lb_addresses* lb_addrs) { + grpc_cares_wrapper_address_sorting_sort(lb_addrs); +} + static void grpc_ares_request_unref(grpc_ares_request* r) { /* If there are no pending queries, invoke on_done callback and destroy the request */ if (gpr_unref(&r->pending_queries)) { - /* TODO(zyc): Sort results with RFC6724 before invoking on_done. */ + grpc_cares_wrapper_address_sorting_sort(*(r->lb_addrs_out)); GRPC_CLOSURE_SCHED(r->on_done, r->error); gpr_mu_destroy(&r->mu); grpc_ares_ev_driver_destroy(r->ev_driver); diff --git a/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h b/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h index 3e8ea01e12..2d84a038d6 100644 --- a/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h +++ b/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h @@ -26,6 +26,8 @@ #include "src/core/lib/iomgr/polling_entity.h" #include "src/core/lib/iomgr/resolve_address.h" +extern grpc_core::TraceFlag grpc_trace_cares_address_sorting; + typedef struct grpc_ares_request grpc_ares_request; /* Asynchronously resolve \a name. Use \a default_port if a port isn't @@ -64,5 +66,9 @@ grpc_error* grpc_ares_init(void); it has been called the same number of times as grpc_ares_init(). */ void grpc_ares_cleanup(void); +/* Exposed only for testing */ +void grpc_cares_wrapper_test_only_address_sorting_sort( + grpc_lb_addresses* lb_addrs); + #endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_RESOLVER_DNS_C_ARES_GRPC_ARES_WRAPPER_H \ */ diff --git a/src/core/ext/transport/chttp2/transport/chttp2_transport.cc b/src/core/ext/transport/chttp2/transport/chttp2_transport.cc index ab69cecf3a..dc4e002405 100644 --- a/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +++ b/src/core/ext/transport/chttp2/transport/chttp2_transport.cc @@ -669,6 +669,7 @@ static int init_stream(grpc_transport* gt, grpc_stream* gs, GRPC_CLOSURE_INIT(&s->complete_fetch_locked, complete_fetch_locked, s, grpc_schedule_on_exec_ctx); grpc_slice_buffer_init(&s->unprocessed_incoming_frames_buffer); + s->unprocessed_incoming_frames_buffer_cached_length = 0; grpc_slice_buffer_init(&s->frame_storage); grpc_slice_buffer_init(&s->compressed_data_buffer); grpc_slice_buffer_init(&s->decompressed_data_buffer); @@ -1577,20 +1578,27 @@ static void perform_stream_op_locked(void* stream_op, if (op->recv_message) { GRPC_STATS_INC_HTTP2_OP_RECV_MESSAGE(); - size_t already_received; + size_t before = 0; GPR_ASSERT(s->recv_message_ready == nullptr); GPR_ASSERT(!s->pending_byte_stream); s->recv_message_ready = op_payload->recv_message.recv_message_ready; s->recv_message = op_payload->recv_message.recv_message; if (s->id != 0) { if (!s->read_closed) { - already_received = s->frame_storage.length; + before = s->frame_storage.length + + s->unprocessed_incoming_frames_buffer.length; + } + } + grpc_chttp2_maybe_complete_recv_message(t, s); + if (s->id != 0) { + if (!s->read_closed && s->frame_storage.length == 0) { + size_t after = s->frame_storage.length + + s->unprocessed_incoming_frames_buffer_cached_length; s->flow_control->IncomingByteStreamUpdate(GRPC_HEADER_SIZE_IN_BYTES, - already_received); + before - after); grpc_chttp2_act_on_flowctl_action(s->flow_control->MakeAction(), t, s); } } - grpc_chttp2_maybe_complete_recv_message(t, s); } if (op->recv_trailing_metadata) { @@ -1867,6 +1875,10 @@ void grpc_chttp2_maybe_complete_recv_message(grpc_chttp2_transport* t, } } } + // save the length of the buffer before handing control back to application + // threads. Needed to support correct flow control bookkeeping + s->unprocessed_incoming_frames_buffer_cached_length = + s->unprocessed_incoming_frames_buffer.length; if (error == GRPC_ERROR_NONE && *s->recv_message != nullptr) { null_then_run_closure(&s->recv_message_ready, GRPC_ERROR_NONE); } else if (s->published_metadata[1] != GRPC_METADATA_NOT_PUBLISHED) { diff --git a/src/core/ext/transport/chttp2/transport/internal.h b/src/core/ext/transport/chttp2/transport/internal.h index 6d11e5aa31..ca6e715978 100644 --- a/src/core/ext/transport/chttp2/transport/internal.h +++ b/src/core/ext/transport/chttp2/transport/internal.h @@ -550,6 +550,11 @@ struct grpc_chttp2_stream { grpc_slice_buffer unprocessed_incoming_frames_buffer; grpc_closure* on_next; /* protected by t combiner */ bool pending_byte_stream; /* protected by t combiner */ + // cached length of buffer to be used by the transport thread in cases where + // stream->pending_byte_stream == true. The value is saved before + // application threads are allowed to modify + // unprocessed_incoming_frames_buffer + size_t unprocessed_incoming_frames_buffer_cached_length; grpc_closure reset_byte_stream; grpc_error* byte_stream_error; /* protected by t combiner */ bool received_last_frame; /* protected by t combiner */ diff --git a/src/core/lib/http/httpcli_security_connector.cc b/src/core/lib/http/httpcli_security_connector.cc index 886357fc00..0b53d63e77 100644 --- a/src/core/lib/http/httpcli_security_connector.cc +++ b/src/core/lib/http/httpcli_security_connector.cc @@ -102,8 +102,8 @@ static grpc_security_connector_vtable httpcli_ssl_vtable = { httpcli_ssl_destroy, httpcli_ssl_check_peer, httpcli_ssl_cmp}; static grpc_security_status httpcli_ssl_channel_security_connector_create( - const char* pem_root_certs, const char* secure_peer_name, - grpc_channel_security_connector** sc) { + const char* pem_root_certs, const tsi_ssl_root_certs_store* root_store, + const char* secure_peer_name, grpc_channel_security_connector** sc) { tsi_result result = TSI_OK; grpc_httpcli_ssl_channel_security_connector* c; @@ -124,6 +124,7 @@ static grpc_security_status httpcli_ssl_channel_security_connector_create( tsi_ssl_client_handshaker_options options; memset(&options, 0, sizeof(options)); options.pem_root_certs = pem_root_certs; + options.root_store = root_store; result = tsi_create_ssl_client_handshaker_factory_with_options( &options, &c->handshaker_factory); if (result != TSI_OK) { @@ -172,8 +173,11 @@ static void ssl_handshake(void* arg, grpc_endpoint* tcp, const char* host, grpc_millis deadline, void (*on_done)(void* arg, grpc_endpoint* endpoint)) { on_done_closure* c = static_cast<on_done_closure*>(gpr_malloc(sizeof(*c))); - const char* pem_root_certs = grpc_get_default_ssl_roots(); - if (pem_root_certs == nullptr) { + const char* pem_root_certs = + grpc_core::DefaultSslRootStore::GetPemRootCerts(); + const tsi_ssl_root_certs_store* root_store = + grpc_core::DefaultSslRootStore::GetRootStore(); + if (root_store == nullptr) { gpr_log(GPR_ERROR, "Could not get default pem root certs."); on_done(arg, nullptr); gpr_free(c); @@ -183,7 +187,7 @@ static void ssl_handshake(void* arg, grpc_endpoint* tcp, const char* host, c->arg = arg; grpc_channel_security_connector* sc = nullptr; GPR_ASSERT(httpcli_ssl_channel_security_connector_create( - pem_root_certs, host, &sc) == GRPC_SECURITY_OK); + pem_root_certs, root_store, host, &sc) == GRPC_SECURITY_OK); grpc_arg channel_arg = grpc_security_connector_to_arg(&sc->base); grpc_channel_args args = {1, &channel_arg}; c->handshake_mgr = grpc_handshake_manager_create(); diff --git a/src/core/lib/security/security_connector/security_connector.cc b/src/core/lib/security/security_connector/security_connector.cc index 980c9e9248..d7d5a8c4de 100644 --- a/src/core/lib/security/security_connector/security_connector.cc +++ b/src/core/lib/security/security_connector/security_connector.cc @@ -996,63 +996,6 @@ static grpc_security_connector_vtable ssl_channel_vtable = { static grpc_security_connector_vtable ssl_server_vtable = { ssl_server_destroy, ssl_server_check_peer, ssl_server_cmp}; -/* returns a NULL terminated slice. */ -static grpc_slice compute_default_pem_root_certs_once(void) { - grpc_slice result = grpc_empty_slice(); - - /* First try to load the roots from the environment. */ - char* default_root_certs_path = - gpr_getenv(GRPC_DEFAULT_SSL_ROOTS_FILE_PATH_ENV_VAR); - if (default_root_certs_path != nullptr) { - GRPC_LOG_IF_ERROR("load_file", - grpc_load_file(default_root_certs_path, 1, &result)); - gpr_free(default_root_certs_path); - } - - /* Try overridden roots if needed. */ - grpc_ssl_roots_override_result ovrd_res = GRPC_SSL_ROOTS_OVERRIDE_FAIL; - if (GRPC_SLICE_IS_EMPTY(result) && ssl_roots_override_cb != nullptr) { - char* pem_root_certs = nullptr; - ovrd_res = ssl_roots_override_cb(&pem_root_certs); - if (ovrd_res == GRPC_SSL_ROOTS_OVERRIDE_OK) { - GPR_ASSERT(pem_root_certs != nullptr); - result = grpc_slice_from_copied_buffer( - pem_root_certs, - strlen(pem_root_certs) + 1); // NULL terminator. - } - gpr_free(pem_root_certs); - } - - /* Fall back to installed certs if needed. */ - if (GRPC_SLICE_IS_EMPTY(result) && - ovrd_res != GRPC_SSL_ROOTS_OVERRIDE_FAIL_PERMANENTLY) { - GRPC_LOG_IF_ERROR("load_file", - grpc_load_file(installed_roots_path, 1, &result)); - } - return result; -} - -static grpc_slice default_pem_root_certs; - -static void init_default_pem_root_certs(void) { - default_pem_root_certs = compute_default_pem_root_certs_once(); -} - -grpc_slice grpc_get_default_ssl_roots_for_testing(void) { - return compute_default_pem_root_certs_once(); -} - -const char* grpc_get_default_ssl_roots(void) { - /* TODO(jboeuf@google.com): Maybe revisit the approach which consists in - loading all the roots once for the lifetime of the process. */ - static gpr_once once = GPR_ONCE_INIT; - gpr_once_init(&once, init_default_pem_root_certs); - return GRPC_SLICE_IS_EMPTY(default_pem_root_certs) - ? nullptr - : reinterpret_cast<const char*> - GRPC_SLICE_START_PTR(default_pem_root_certs); -} - grpc_security_status grpc_ssl_channel_security_connector_create( grpc_channel_credentials* channel_creds, grpc_call_credentials* request_metadata_creds, @@ -1074,7 +1017,9 @@ grpc_security_status grpc_ssl_channel_security_connector_create( goto error; } if (config->pem_root_certs == nullptr) { - options.pem_root_certs = grpc_get_default_ssl_roots(); + // Use default root certificates. + options.pem_root_certs = grpc_core::DefaultSslRootStore::GetPemRootCerts(); + options.root_store = grpc_core::DefaultSslRootStore::GetRootStore(); if (options.pem_root_certs == nullptr) { gpr_log(GPR_ERROR, "Could not get default pem root certs."); goto error; @@ -1082,7 +1027,6 @@ grpc_security_status grpc_ssl_channel_security_connector_create( } else { options.pem_root_certs = config->pem_root_certs; } - c = static_cast<grpc_ssl_channel_security_connector*>( gpr_zalloc(sizeof(grpc_ssl_channel_security_connector))); @@ -1188,3 +1132,79 @@ grpc_security_status grpc_ssl_server_security_connector_create( } return retval; } + +namespace grpc_core { + +tsi_ssl_root_certs_store* DefaultSslRootStore::default_root_store_; +grpc_slice DefaultSslRootStore::default_pem_root_certs_; + +const tsi_ssl_root_certs_store* DefaultSslRootStore::GetRootStore() { + InitRootStore(); + return default_root_store_; +} + +const char* DefaultSslRootStore::GetPemRootCerts() { + InitRootStore(); + return GRPC_SLICE_IS_EMPTY(default_pem_root_certs_) + ? nullptr + : reinterpret_cast<const char*> + GRPC_SLICE_START_PTR(default_pem_root_certs_); +} + +void DefaultSslRootStore::Initialize() { + default_root_store_ = nullptr; + default_pem_root_certs_ = grpc_empty_slice(); +} + +void DefaultSslRootStore::Destroy() { + tsi_ssl_root_certs_store_destroy(default_root_store_); + grpc_slice_unref_internal(default_pem_root_certs_); +} + +grpc_slice DefaultSslRootStore::ComputePemRootCerts() { + grpc_slice result = grpc_empty_slice(); + // First try to load the roots from the environment. + char* default_root_certs_path = + gpr_getenv(GRPC_DEFAULT_SSL_ROOTS_FILE_PATH_ENV_VAR); + if (default_root_certs_path != nullptr) { + GRPC_LOG_IF_ERROR("load_file", + grpc_load_file(default_root_certs_path, 1, &result)); + gpr_free(default_root_certs_path); + } + // Try overridden roots if needed. + grpc_ssl_roots_override_result ovrd_res = GRPC_SSL_ROOTS_OVERRIDE_FAIL; + if (GRPC_SLICE_IS_EMPTY(result) && ssl_roots_override_cb != nullptr) { + char* pem_root_certs = nullptr; + ovrd_res = ssl_roots_override_cb(&pem_root_certs); + if (ovrd_res == GRPC_SSL_ROOTS_OVERRIDE_OK) { + GPR_ASSERT(pem_root_certs != nullptr); + result = grpc_slice_from_copied_buffer( + pem_root_certs, + strlen(pem_root_certs) + 1); // nullptr terminator. + } + gpr_free(pem_root_certs); + } + // Fall back to installed certs if needed. + if (GRPC_SLICE_IS_EMPTY(result) && + ovrd_res != GRPC_SSL_ROOTS_OVERRIDE_FAIL_PERMANENTLY) { + GRPC_LOG_IF_ERROR("load_file", + grpc_load_file(installed_roots_path, 1, &result)); + } + return result; +} + +void DefaultSslRootStore::InitRootStore() { + static gpr_once once = GPR_ONCE_INIT; + gpr_once_init(&once, DefaultSslRootStore::InitRootStoreOnce); +} + +void DefaultSslRootStore::InitRootStoreOnce() { + default_pem_root_certs_ = ComputePemRootCerts(); + if (!GRPC_SLICE_IS_EMPTY(default_pem_root_certs_)) { + default_root_store_ = + tsi_ssl_root_certs_store_create(reinterpret_cast<const char*>( + GRPC_SLICE_START_PTR(default_pem_root_certs_))); + } +} + +} // namespace grpc_core diff --git a/src/core/lib/security/security_connector/security_connector.h b/src/core/lib/security/security_connector/security_connector.h index dc847d94f9..5d3d1e0f44 100644 --- a/src/core/lib/security/security_connector/security_connector.h +++ b/src/core/lib/security/security_connector/security_connector.h @@ -216,12 +216,6 @@ grpc_security_status grpc_ssl_channel_security_connector_create( tsi_ssl_session_cache* ssl_session_cache, grpc_channel_security_connector** sc); -/* Gets the default ssl roots. Returns NULL if not found. */ -const char* grpc_get_default_ssl_roots(void); - -/* Exposed for TESTING ONLY!. */ -grpc_slice grpc_get_default_ssl_roots_for_testing(void); - /* Config for ssl servers. */ typedef struct { tsi_ssl_pem_key_cert_pair* pem_key_cert_pairs; @@ -250,4 +244,49 @@ tsi_peer tsi_shallow_peer_from_ssl_auth_context( const grpc_auth_context* auth_context); void tsi_shallow_peer_destruct(tsi_peer* peer); +/* --- Default SSL Root Store. --- */ +namespace grpc_core { + +// The class implements default SSL root store. +class DefaultSslRootStore { + public: + // Gets the default SSL root store. Returns nullptr if not found. + static const tsi_ssl_root_certs_store* GetRootStore(); + + // Gets the default PEM root certificate. + static const char* GetPemRootCerts(); + + // Initializes the SSL root store's underlying data structure. It does not + // load default SSL root certificates. Should only be called by + // grpc_security_init(). + static void Initialize(); + + // Destroys the default SSL root store. Should only be called by + // grpc_security_shutdown(). + static void Destroy(); + + protected: + // Returns default PEM root certificates in nullptr terminated grpc_slice. + // This function is protected instead of private, so that it can be tested. + static grpc_slice ComputePemRootCerts(); + + private: + // Construct me not! + DefaultSslRootStore(); + + // Initialization of default SSL root store. + static void InitRootStore(); + + // One-time initialization of default SSL root store. + static void InitRootStoreOnce(); + + // SSL root store in tsi_ssl_root_certs_store object. + static tsi_ssl_root_certs_store* default_root_store_; + + // Default PEM root certificates. + static grpc_slice default_pem_root_certs_; +}; + +} // namespace grpc_core + #endif /* GRPC_CORE_LIB_SECURITY_SECURITY_CONNECTOR_SECURITY_CONNECTOR_H */ diff --git a/src/core/lib/surface/init.cc b/src/core/lib/surface/init.cc index bd436d6857..52e0ee1c44 100644 --- a/src/core/lib/surface/init.cc +++ b/src/core/lib/surface/init.cc @@ -172,6 +172,7 @@ void grpc_shutdown(void) { } } } + grpc_security_shutdown(); grpc_iomgr_shutdown(); gpr_timers_global_destroy(); grpc_tracer_shutdown(); diff --git a/src/core/lib/surface/init.h b/src/core/lib/surface/init.h index 9353208332..d8282b475b 100644 --- a/src/core/lib/surface/init.h +++ b/src/core/lib/surface/init.h @@ -22,6 +22,7 @@ void grpc_register_security_filters(void); void grpc_security_pre_init(void); void grpc_security_init(void); +void grpc_security_shutdown(void); int grpc_is_initialized(void); #endif /* GRPC_CORE_LIB_SURFACE_INIT_H */ diff --git a/src/core/lib/surface/init_secure.cc b/src/core/lib/surface/init_secure.cc index 28c6f7b121..caa67c2512 100644 --- a/src/core/lib/surface/init_secure.cc +++ b/src/core/lib/surface/init_secure.cc @@ -78,4 +78,9 @@ void grpc_register_security_filters(void) { maybe_prepend_server_auth_filter, nullptr); } -void grpc_security_init() { grpc_security_register_handshaker_factories(); } +void grpc_security_init() { + grpc_security_register_handshaker_factories(); + grpc_core::DefaultSslRootStore::Initialize(); +} + +void grpc_security_shutdown() { grpc_core::DefaultSslRootStore::Destroy(); } diff --git a/src/core/lib/surface/init_unsecure.cc b/src/core/lib/surface/init_unsecure.cc index 2b3bc64382..1c8d07b38b 100644 --- a/src/core/lib/surface/init_unsecure.cc +++ b/src/core/lib/surface/init_unsecure.cc @@ -25,3 +25,5 @@ void grpc_security_pre_init(void) {} void grpc_register_security_filters(void) {} void grpc_security_init(void) {} + +void grpc_security_shutdown(void) {} diff --git a/src/core/plugin_registry/grpc_cronet_plugin_registry.cc b/src/core/plugin_registry/grpc_cronet_plugin_registry.cc index ab0f4994ea..84228cb38a 100644 --- a/src/core/plugin_registry/grpc_cronet_plugin_registry.cc +++ b/src/core/plugin_registry/grpc_cronet_plugin_registry.cc @@ -22,32 +22,48 @@ void grpc_deadline_filter_init(void); void grpc_deadline_filter_shutdown(void); +void grpc_client_channel_init(void); +void grpc_client_channel_shutdown(void); +void grpc_lb_policy_pick_first_init(void); +void grpc_lb_policy_pick_first_shutdown(void); +void grpc_max_age_filter_init(void); +void grpc_max_age_filter_shutdown(void); void grpc_message_size_filter_init(void); void grpc_message_size_filter_shutdown(void); +void grpc_resolver_dns_native_init(void); +void grpc_resolver_dns_native_shutdown(void); +void grpc_resolver_sockaddr_init(void); +void grpc_resolver_sockaddr_shutdown(void); void grpc_server_load_reporting_plugin_init(void); void grpc_server_load_reporting_plugin_shutdown(void); void grpc_http_filters_init(void); void grpc_http_filters_shutdown(void); void grpc_chttp2_plugin_init(void); void grpc_chttp2_plugin_shutdown(void); -void grpc_client_channel_init(void); -void grpc_client_channel_shutdown(void); void grpc_tsi_alts_init(void); void grpc_tsi_alts_shutdown(void); void grpc_register_built_in_plugins(void) { grpc_register_plugin(grpc_deadline_filter_init, grpc_deadline_filter_shutdown); + grpc_register_plugin(grpc_client_channel_init, + grpc_client_channel_shutdown); + grpc_register_plugin(grpc_lb_policy_pick_first_init, + grpc_lb_policy_pick_first_shutdown); + grpc_register_plugin(grpc_max_age_filter_init, + grpc_max_age_filter_shutdown); grpc_register_plugin(grpc_message_size_filter_init, grpc_message_size_filter_shutdown); + grpc_register_plugin(grpc_resolver_dns_native_init, + grpc_resolver_dns_native_shutdown); + grpc_register_plugin(grpc_resolver_sockaddr_init, + grpc_resolver_sockaddr_shutdown); grpc_register_plugin(grpc_server_load_reporting_plugin_init, grpc_server_load_reporting_plugin_shutdown); grpc_register_plugin(grpc_http_filters_init, grpc_http_filters_shutdown); grpc_register_plugin(grpc_chttp2_plugin_init, grpc_chttp2_plugin_shutdown); - grpc_register_plugin(grpc_client_channel_init, - grpc_client_channel_shutdown); grpc_register_plugin(grpc_tsi_alts_init, grpc_tsi_alts_shutdown); } diff --git a/src/core/tsi/ssl_transport_security.cc b/src/core/tsi/ssl_transport_security.cc index 0fc2926cf6..0ba6587678 100644 --- a/src/core/tsi/ssl_transport_security.cc +++ b/src/core/tsi/ssl_transport_security.cc @@ -71,6 +71,10 @@ extern "C" { /* --- Structure definitions. ---*/ +struct tsi_ssl_root_certs_store { + X509_STORE* store; +}; + struct tsi_ssl_handshaker_factory { const tsi_ssl_handshaker_factory_vtable* vtable; gpr_refcount refcount; @@ -553,21 +557,18 @@ static tsi_result ssl_ctx_use_private_key(SSL_CTX* context, const char* pem_key, /* Loads in-memory PEM verification certs into the SSL context and optionally returns the verification cert names (root_names can be NULL). */ -static tsi_result ssl_ctx_load_verification_certs(SSL_CTX* context, - const char* pem_roots, - size_t pem_roots_size, - STACK_OF(X509_NAME) * - *root_names) { +static tsi_result x509_store_load_certs(X509_STORE* cert_store, + const char* pem_roots, + size_t pem_roots_size, + STACK_OF(X509_NAME) * *root_names) { tsi_result result = TSI_OK; size_t num_roots = 0; X509* root = nullptr; X509_NAME* root_name = nullptr; BIO* pem; - X509_STORE* root_store; GPR_ASSERT(pem_roots_size <= INT_MAX); pem = BIO_new_mem_buf((void*)pem_roots, static_cast<int>(pem_roots_size)); - root_store = SSL_CTX_get_cert_store(context); - if (root_store == nullptr) return TSI_INVALID_ARGUMENT; + if (cert_store == nullptr) return TSI_INVALID_ARGUMENT; if (pem == nullptr) return TSI_OUT_OF_RESOURCES; if (root_names != nullptr) { *root_names = sk_X509_NAME_new_null(); @@ -595,7 +596,7 @@ static tsi_result ssl_ctx_load_verification_certs(SSL_CTX* context, sk_X509_NAME_push(*root_names, root_name); root_name = nullptr; } - if (!X509_STORE_add_cert(root_store, root)) { + if (!X509_STORE_add_cert(cert_store, root)) { gpr_log(GPR_ERROR, "Could not add root certificate to ssl context."); result = TSI_INTERNAL_ERROR; break; @@ -621,6 +622,16 @@ static tsi_result ssl_ctx_load_verification_certs(SSL_CTX* context, return result; } +static tsi_result ssl_ctx_load_verification_certs(SSL_CTX* context, + const char* pem_roots, + size_t pem_roots_size, + STACK_OF(X509_NAME) * + *root_name) { + X509_STORE* cert_store = SSL_CTX_get_cert_store(context); + return x509_store_load_certs(cert_store, pem_roots, pem_roots_size, + root_name); +} + /* Populates the SSL context with a private key and a cert chain, and sets the cipher list and the ephemeral ECDH key. */ static tsi_result populate_ssl_context( @@ -730,6 +741,43 @@ static int NullVerifyCallback(int preverify_ok, X509_STORE_CTX* ctx) { return 1; } +/* --- tsi_ssl_root_certs_store methods implementation. ---*/ + +tsi_ssl_root_certs_store* tsi_ssl_root_certs_store_create( + const char* pem_roots) { + if (pem_roots == nullptr) { + gpr_log(GPR_ERROR, "The root certificates are empty."); + return nullptr; + } + tsi_ssl_root_certs_store* root_store = static_cast<tsi_ssl_root_certs_store*>( + gpr_zalloc(sizeof(tsi_ssl_root_certs_store))); + if (root_store == nullptr) { + gpr_log(GPR_ERROR, "Could not allocate buffer for ssl_root_certs_store."); + return nullptr; + } + root_store->store = X509_STORE_new(); + if (root_store->store == nullptr) { + gpr_log(GPR_ERROR, "Could not allocate buffer for X509_STORE."); + gpr_free(root_store); + return nullptr; + } + tsi_result result = x509_store_load_certs(root_store->store, pem_roots, + strlen(pem_roots), nullptr); + if (result != TSI_OK) { + gpr_log(GPR_ERROR, "Could not load root certificates."); + X509_STORE_free(root_store->store); + gpr_free(root_store); + return nullptr; + } + return root_store; +} + +void tsi_ssl_root_certs_store_destroy(tsi_ssl_root_certs_store* self) { + if (self == nullptr) return; + X509_STORE_free(self->store); + gpr_free(self); +} + /* --- tsi_ssl_session_cache methods implementation. ---*/ tsi_ssl_session_cache* tsi_ssl_session_cache_create_lru(size_t capacity) { @@ -1468,7 +1516,9 @@ tsi_result tsi_create_ssl_client_handshaker_factory_with_options( if (factory == nullptr) return TSI_INVALID_ARGUMENT; *factory = nullptr; - if (options->pem_root_certs == nullptr) return TSI_INVALID_ARGUMENT; + if (options->pem_root_certs == nullptr && options->root_store == nullptr) { + return TSI_INVALID_ARGUMENT; + } ssl_context = SSL_CTX_new(TLSv1_2_method()); if (ssl_context == nullptr) { @@ -1480,9 +1530,7 @@ tsi_result tsi_create_ssl_client_handshaker_factory_with_options( gpr_zalloc(sizeof(*impl))); tsi_ssl_handshaker_factory_init(&impl->base); impl->base.vtable = &client_handshaker_factory_vtable; - impl->ssl_context = ssl_context; - if (options->session_cache != nullptr) { // Unref is called manually on factory destruction. impl->session_cache = @@ -1498,12 +1546,22 @@ tsi_result tsi_create_ssl_client_handshaker_factory_with_options( result = populate_ssl_context(ssl_context, options->pem_key_cert_pair, options->cipher_suites); if (result != TSI_OK) break; - result = ssl_ctx_load_verification_certs( - ssl_context, options->pem_root_certs, strlen(options->pem_root_certs), - nullptr); - if (result != TSI_OK) { - gpr_log(GPR_ERROR, "Cannot load server root certificates."); - break; + +#if OPENSSL_VERSION_NUMBER >= 0x10100000 + // X509_STORE_up_ref is only available since OpenSSL 1.1. + if (options->root_store != nullptr) { + X509_STORE_up_ref(options->root_store->store); + SSL_CTX_set_cert_store(ssl_context, options->root_store->store); + } +#endif + if (OPENSSL_VERSION_NUMBER < 0x10100000 || options->root_store == nullptr) { + result = ssl_ctx_load_verification_certs( + ssl_context, options->pem_root_certs, strlen(options->pem_root_certs), + nullptr); + if (result != TSI_OK) { + gpr_log(GPR_ERROR, "Cannot load server root certificates."); + break; + } } if (options->num_alpn_protocols != 0) { diff --git a/src/core/tsi/ssl_transport_security.h b/src/core/tsi/ssl_transport_security.h index 29d209b8f5..cabf583098 100644 --- a/src/core/tsi/ssl_transport_security.h +++ b/src/core/tsi/ssl_transport_security.h @@ -36,6 +36,20 @@ #define TSI_SSL_ALPN_SELECTED_PROTOCOL "ssl_alpn_selected_protocol" +/* --- tsi_ssl_root_certs_store object --- + + This object stores SSL root certificates. It can be shared by multiple SSL + context. */ +typedef struct tsi_ssl_root_certs_store tsi_ssl_root_certs_store; + +/* Given a NULL-terminated string containing the PEM encoding of the root + certificates, creates a tsi_ssl_root_certs_store object. */ +tsi_ssl_root_certs_store* tsi_ssl_root_certs_store_create( + const char* pem_roots); + +/* Destroys the tsi_ssl_root_certs_store object. */ +void tsi_ssl_root_certs_store_destroy(tsi_ssl_root_certs_store* self); + /* --- tsi_ssl_session_cache object --- Cache for SSL sessions for sessions resumption. */ @@ -70,13 +84,13 @@ typedef struct { const char* cert_chain; } tsi_ssl_pem_key_cert_pair; -/* Creates a client handshaker factory. +/* TO BE DEPRECATED. + Creates a client handshaker factory. - pem_key_cert_pair is a pointer to the object containing client's private key and certificate chain. This parameter can be NULL if the client does not have such a key/cert pair. - pem_roots_cert is the NULL-terminated string containing the PEM encoding of - the client root certificates. This parameter may be NULL if the server does - not want the client to be authenticated with SSL. + the server root certificates. - cipher_suites contains an optional list of the ciphers that the client supports. The format of this string is described in: https://www.openssl.org/docs/apps/ciphers.html. @@ -103,9 +117,13 @@ typedef struct { not have such a key/cert pair. */ const tsi_ssl_pem_key_cert_pair* pem_key_cert_pair; /* pem_roots_cert is the NULL-terminated string containing the PEM encoding of - the client root certificates. This parameter may be NULL if the server does - not want the client to be authenticated with SSL. */ + the client root certificates. */ const char* pem_root_certs; + /* root_store is a pointer to the ssl_root_certs_store object. If root_store + is not nullptr and SSL implementation permits, root_store will be used as + root certificates. Otherwise, pem_roots_cert will be used to load server + root certificates. */ + const tsi_ssl_root_certs_store* root_store; /* cipher_suites contains an optional list of the ciphers that the client supports. The format of this string is described in: https://www.openssl.org/docs/apps/ciphers.html. @@ -160,12 +178,14 @@ void tsi_ssl_client_handshaker_factory_unref( typedef struct tsi_ssl_server_handshaker_factory tsi_ssl_server_handshaker_factory; -/* Creates a server handshaker factory. +/* TO BE DEPRECATED. + Creates a server handshaker factory. - pem_key_cert_pairs is an array private key / certificate chains of the server. - num_key_cert_pairs is the number of items in the pem_key_cert_pairs array. - pem_root_certs is the NULL-terminated string containing the PEM encoding - of the server root certificates. + of the client root certificates. This parameter may be NULL if the server + does not want the client to be authenticated with SSL. - cipher_suites contains an optional list of the ciphers that the server supports. The format of this string is described in: https://www.openssl.org/docs/apps/ciphers.html. @@ -187,7 +207,8 @@ tsi_result tsi_create_ssl_server_handshaker_factory( const char** alpn_protocols, uint16_t num_alpn_protocols, tsi_ssl_server_handshaker_factory** factory); -/* Same as tsi_create_ssl_server_handshaker_factory method except uses +/* TO BE DEPRECATED. + Same as tsi_create_ssl_server_handshaker_factory method except uses tsi_client_certificate_request_type to support more ways to handle client certificate authentication. - client_certificate_request, if set to non-zero will force the client to @@ -208,7 +229,8 @@ typedef struct { array. */ size_t num_key_cert_pairs; /* pem_root_certs is the NULL-terminated string containing the PEM encoding - of the server root certificates. */ + of the server root certificates. This parameter may be NULL if the server + does not want the client to be authenticated with SSL. */ const char* pem_client_root_certs; /* client_certificate_request, if set to non-zero will force the client to authenticate with an SSL cert. Note that this option is ignored if diff --git a/src/python/grpcio/grpc_core_dependencies.py b/src/python/grpcio/grpc_core_dependencies.py index ebc0a6c41a..b1f9d2018e 100644 --- a/src/python/grpcio/grpc_core_dependencies.py +++ b/src/python/grpcio/grpc_core_dependencies.py @@ -15,6 +15,9 @@ # AUTO-GENERATED FROM `$REPO_ROOT/templates/src/python/grpcio/grpc_core_dependencies.py.template`!!! CORE_SOURCE_FILES = [ + 'third_party/address_sorting/address_sorting.c', + 'third_party/address_sorting/address_sorting_posix.c', + 'third_party/address_sorting/address_sorting_windows.c', 'src/core/lib/gpr/alloc.cc', 'src/core/lib/gpr/arena.cc', 'src/core/lib/gpr/atm.cc', diff --git a/templates/CMakeLists.txt.template b/templates/CMakeLists.txt.template index ef4d7d710c..01fe569c2b 100644 --- a/templates/CMakeLists.txt.template +++ b/templates/CMakeLists.txt.template @@ -46,6 +46,7 @@ if target_dict['name'] in ['grpc', 'grpc_cronet', 'grpc_unsecure']: deps.append("${_gRPC_ZLIB_LIBRARIES}") deps.append("${_gRPC_CARES_LIBRARIES}") + deps.append("${_gRPC_ADDRESS_SORTING_LIBRARIES}") deps.append("${_gRPC_ALLTARGETS_LIBRARIES}") for d in target_dict.get('deps', []): if d == 'benchmark': @@ -165,6 +166,7 @@ include(cmake/ssl.cmake) include(cmake/gflags.cmake) include(cmake/benchmark.cmake) + include(cmake/address_sorting.cmake) if(NOT MSVC) set(CMAKE_C_FLAGS "<%text>${CMAKE_C_FLAGS}</%text> -std=c99") @@ -375,6 +377,7 @@ PRIVATE <%text>${_gRPC_BENCHMARK_INCLUDE_DIR}</%text> PRIVATE <%text>${_gRPC_CARES_INCLUDE_DIR}</%text> PRIVATE <%text>${_gRPC_GFLAGS_INCLUDE_DIR}</%text> + PRIVATE <%text>${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}</%text> % if lib.build in ['test', 'private'] and lib.language == 'c++': PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest @@ -455,6 +458,7 @@ PRIVATE <%text>${_gRPC_BENCHMARK_INCLUDE_DIR}</%text> PRIVATE <%text>${_gRPC_CARES_INCLUDE_DIR}</%text> PRIVATE <%text>${_gRPC_GFLAGS_INCLUDE_DIR}</%text> + PRIVATE <%text>${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}</%text> % if tgt.build in ['test', 'private'] and tgt.language == 'c++': PRIVATE third_party/googletest/googletest/include PRIVATE third_party/googletest/googletest diff --git a/templates/Makefile.template b/templates/Makefile.template index 196d12f678..c0ce2e5cb4 100644 --- a/templates/Makefile.template +++ b/templates/Makefile.template @@ -590,6 +590,11 @@ EMBED_CARES ?= false endif + ADDRESS_SORTING_DEP = $(LIBDIR)/$(CONFIG)/libaddress_sorting.a + ADDRESS_SORTING_MERGE_OBJS = $(LIBADDRESS_SORTING_OBJS) + ADDRESS_SORTING_MERGE_LIBS = $(LIBDIR)/$(CONFIG)/libaddress_sorting.a + CPPFLAGS := -Ithird_party/address_sorting/include $(CPPFLAGS) + ifeq ($(EMBED_CARES),true) CARES_DEP = $(LIBDIR)/$(CONFIG)/libares.a CARES_MERGE_OBJS = $(LIBARES_OBJS) @@ -1480,7 +1485,7 @@ else % endif - $(LIBDIR)/$(CONFIG)/lib${lib.name}.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(CARES_DEP)\ + $(LIBDIR)/$(CONFIG)/lib${lib.name}.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP)\ ## The else here corresponds to the if secure earlier. % else: % if lib.language == 'c++': @@ -1504,6 +1509,9 @@ % if lib.name != 'ares': $(CARES_DEP) \ % endif + % if lib.name != 'address_sorting': + $(ADDRESS_SORTING_DEP) \ + % endif % endif % if lib.language == 'c++': $(PROTOBUF_DEP)\ @@ -1513,6 +1521,7 @@ $(LIBGPR_OBJS) \ $(ZLIB_MERGE_OBJS) \ $(CARES_MERGE_OBJS) \ + $(ADDRESS_SORTING_MERGE_OBJS) \ % if lib.get('secure', 'check') == True: $(OPENSSL_MERGE_OBJS) \ % endif @@ -1526,6 +1535,7 @@ $(LIBGPR_OBJS) \ $(ZLIB_MERGE_OBJS) \ $(CARES_MERGE_OBJS) \ + $(ADDRESS_SORTING_MERGE_OBJS) \ % if lib.get('secure', 'check') == True: $(OPENSSL_MERGE_OBJS) \ % endif @@ -1548,9 +1558,9 @@ common = '$(LIB' + lib.name.upper() + '_OBJS)' link_libs = '' - lib_deps = ' $(ZLIB_DEP) $(CARES_DEP)' + lib_deps = ' $(ZLIB_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP)' mingw_libs = '' - mingw_lib_deps = ' $(ZLIB_DEP) $(CARES_DEP)' + mingw_lib_deps = ' $(ZLIB_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP)' if lib.language == 'c++': lib_deps += ' $(PROTOBUF_DEP)' mingw_lib_deps += ' $(PROTOBUF_DEP)' @@ -1575,7 +1585,7 @@ security = lib.get('secure', 'check') if security == True: common = common + ' $(OPENSSL_MERGE_LIBS) $(LDLIBS_SECURE)' - common = common + ' $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS)' + common = common + ' $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(ADDRESS_SORTING_MERGE_LIBS)' if security in [True, 'check']: for src in lib.src: diff --git a/templates/config.m4.template b/templates/config.m4.template index cd93fbd0fb..9877e4be18 100644 --- a/templates/config.m4.template +++ b/templates/config.m4.template @@ -13,8 +13,8 @@ LIBS="-lpthread $LIBS" - CFLAGS="-Wall -Werror -Wno-parentheses-equality -Wno-unused-value -std=c11" - CXXFLAGS="-std=c++11 -fno-exceptions -fno-rtti" + CFLAGS="-Wall -Werror -Wno-parentheses-equality -Wno-unused-value -std=c11 -g -O2 -D PB_FIELD_16BIT=1" + CXXFLAGS="-std=c++11 -fno-exceptions -fno-rtti -g -O2 -D PB_FIELD_16BIT=1" GRPC_SHARED_LIBADD="-lpthread $GRPC_SHARED_LIBADD" PHP_REQUIRE_CXX() PHP_ADD_LIBRARY(pthread) diff --git a/test/core/end2end/fuzzers/BUILD b/test/core/end2end/fuzzers/BUILD index d33e2b0ff4..c12cfc6983 100644 --- a/test/core/end2end/fuzzers/BUILD +++ b/test/core/end2end/fuzzers/BUILD @@ -25,6 +25,8 @@ grpc_fuzzer( srcs = ["api_fuzzer.cc"], language = "C++", corpus = "api_fuzzer_corpus", + size = "enormous", + timeout = "eternal", deps = [ "//:gpr", "//:grpc", diff --git a/test/core/security/security_connector_test.cc b/test/core/security/security_connector_test.cc index ed3849bfc8..f03f4ccdbd 100644 --- a/test/core/security/security_connector_test.cc +++ b/test/core/security/security_connector_test.cc @@ -340,6 +340,21 @@ static grpc_ssl_roots_override_result override_roots_permanent_failure( return GRPC_SSL_ROOTS_OVERRIDE_FAIL_PERMANENTLY; } +namespace grpc_core { +namespace { + +class TestDefafaultSllRootStore : public DefaultSslRootStore { + public: + static grpc_slice ComputePemRootCertsForTesting() { + return ComputePemRootCerts(); + } +}; + +} // namespace +} // namespace grpc_core + +// TODO: Convert this test to C++ test when security_connector implementation +// is converted to C++. static void test_default_ssl_roots(void) { const char* roots_for_env_var = "roots for env var"; @@ -353,7 +368,8 @@ static void test_default_ssl_roots(void) { value. */ gpr_setenv(GRPC_DEFAULT_SSL_ROOTS_FILE_PATH_ENV_VAR, ""); grpc_set_ssl_roots_override_callback(override_roots_success); - grpc_slice roots = grpc_get_default_ssl_roots_for_testing(); + grpc_slice roots = + grpc_core::TestDefafaultSllRootStore::ComputePemRootCertsForTesting(); char* roots_contents = grpc_slice_to_c_string(roots); grpc_slice_unref(roots); GPR_ASSERT(strcmp(roots_contents, roots_for_override_api) == 0); @@ -362,7 +378,7 @@ static void test_default_ssl_roots(void) { /* Now let's set the env var: We should get the contents pointed value instead. */ gpr_setenv(GRPC_DEFAULT_SSL_ROOTS_FILE_PATH_ENV_VAR, roots_env_var_file_path); - roots = grpc_get_default_ssl_roots_for_testing(); + roots = grpc_core::TestDefafaultSllRootStore::ComputePemRootCertsForTesting(); roots_contents = grpc_slice_to_c_string(roots); grpc_slice_unref(roots); GPR_ASSERT(strcmp(roots_contents, roots_for_env_var) == 0); @@ -371,7 +387,7 @@ static void test_default_ssl_roots(void) { /* Now reset the env var. We should fall back to the value overridden using the api. */ gpr_setenv(GRPC_DEFAULT_SSL_ROOTS_FILE_PATH_ENV_VAR, ""); - roots = grpc_get_default_ssl_roots_for_testing(); + roots = grpc_core::TestDefafaultSllRootStore::ComputePemRootCertsForTesting(); roots_contents = grpc_slice_to_c_string(roots); grpc_slice_unref(roots); GPR_ASSERT(strcmp(roots_contents, roots_for_override_api) == 0); @@ -380,8 +396,11 @@ static void test_default_ssl_roots(void) { /* Now setup a permanent failure for the overridden roots and we should get an empty slice. */ grpc_set_ssl_roots_override_callback(override_roots_permanent_failure); - roots = grpc_get_default_ssl_roots_for_testing(); + roots = grpc_core::TestDefafaultSllRootStore::ComputePemRootCertsForTesting(); GPR_ASSERT(GRPC_SLICE_IS_EMPTY(roots)); + const tsi_ssl_root_certs_store* root_store = + grpc_core::TestDefafaultSllRootStore::GetRootStore(); + GPR_ASSERT(root_store == nullptr); /* Cleanup. */ remove(roots_env_var_file_path); diff --git a/test/core/tsi/ssl_transport_security_test.cc b/test/core/tsi/ssl_transport_security_test.cc index 0878c57931..88f1abc18c 100644 --- a/test/core/tsi/ssl_transport_security_test.cc +++ b/test/core/tsi/ssl_transport_security_test.cc @@ -61,7 +61,9 @@ typedef struct ssl_alpn_lib { typedef struct ssl_key_cert_lib { bool use_bad_server_cert; bool use_bad_client_cert; + bool use_root_store; char* root_cert; + tsi_ssl_root_certs_store* root_store; tsi_ssl_pem_key_cert_pair* server_pem_key_cert_pairs; tsi_ssl_pem_key_cert_pair* bad_server_pem_key_cert_pairs; tsi_ssl_pem_key_cert_pair client_pem_key_cert_pair; @@ -108,6 +110,8 @@ static void ssl_test_setup_handshakers(tsi_test_fixture* fixture) { client_options.alpn_protocols = alpn_lib->client_alpn_protocols; client_options.num_alpn_protocols = alpn_lib->num_client_alpn_protocols; } + client_options.root_store = + key_cert_lib->use_root_store ? key_cert_lib->root_store : nullptr; if (ssl_fixture->session_cache != nullptr) { client_options.session_cache = ssl_fixture->session_cache; } @@ -345,6 +349,7 @@ static void ssl_test_destruct(tsi_test_fixture* fixture) { ssl_test_pem_key_cert_pair_destroy( key_cert_lib->bad_client_pem_key_cert_pair); gpr_free(key_cert_lib->root_cert); + tsi_ssl_root_certs_store_destroy(key_cert_lib->root_store); gpr_free(key_cert_lib); if (ssl_fixture->session_cache != nullptr) { tsi_ssl_session_cache_unref(ssl_fixture->session_cache); @@ -384,6 +389,7 @@ static tsi_test_fixture* ssl_tsi_test_fixture_create() { static_cast<ssl_key_cert_lib*>(gpr_zalloc(sizeof(*key_cert_lib))); key_cert_lib->use_bad_server_cert = false; key_cert_lib->use_bad_client_cert = false; + key_cert_lib->use_root_store = false; key_cert_lib->server_num_key_cert_pairs = SSL_TSI_TEST_SERVER_KEY_CERT_PAIRS_NUM; key_cert_lib->bad_server_num_key_cert_pairs = @@ -417,6 +423,9 @@ static tsi_test_fixture* ssl_tsi_test_fixture_create() { key_cert_lib->bad_client_pem_key_cert_pair.cert_chain = load_file(SSL_TSI_TEST_CREDENTIALS_DIR, "badclient.pem"); key_cert_lib->root_cert = load_file(SSL_TSI_TEST_CREDENTIALS_DIR, "ca.pem"); + key_cert_lib->root_store = + tsi_ssl_root_certs_store_create(key_cert_lib->root_cert); + GPR_ASSERT(key_cert_lib->root_store != nullptr); ssl_fixture->key_cert_lib = key_cert_lib; /* Create ssl_alpn_lib. */ ssl_alpn_lib* alpn_lib = @@ -462,6 +471,15 @@ void ssl_tsi_test_do_handshake() { tsi_test_fixture_destroy(fixture); } +void ssl_tsi_test_do_handshake_with_root_store() { + tsi_test_fixture* fixture = ssl_tsi_test_fixture_create(); + ssl_tsi_test_fixture* ssl_fixture = + reinterpret_cast<ssl_tsi_test_fixture*>(fixture); + ssl_fixture->key_cert_lib->use_root_store = true; + tsi_test_do_handshake(fixture); + tsi_test_fixture_destroy(fixture); +} + void ssl_tsi_test_do_handshake_with_client_authentication() { tsi_test_fixture* fixture = ssl_tsi_test_fixture_create(); ssl_tsi_test_fixture* ssl_fixture = @@ -471,6 +489,16 @@ void ssl_tsi_test_do_handshake_with_client_authentication() { tsi_test_fixture_destroy(fixture); } +void ssl_tsi_test_do_handshake_with_client_authentication_and_root_store() { + tsi_test_fixture* fixture = ssl_tsi_test_fixture_create(); + ssl_tsi_test_fixture* ssl_fixture = + reinterpret_cast<ssl_tsi_test_fixture*>(fixture); + ssl_fixture->force_client_auth = true; + ssl_fixture->key_cert_lib->use_root_store = true; + tsi_test_do_handshake(fixture); + tsi_test_fixture_destroy(fixture); +} + void ssl_tsi_test_do_handshake_with_server_name_indication_exact_domain() { /* server1 cert contains "waterzooi.test.google.be" in SAN. */ tsi_test_fixture* fixture = ssl_tsi_test_fixture_create(); @@ -727,9 +755,11 @@ void test_tsi_ssl_client_handshaker_factory_bad_params() { const char* cert_chain = "This is not a valid PEM file."; tsi_ssl_client_handshaker_factory* client_handshaker_factory; - GPR_ASSERT(tsi_create_ssl_client_handshaker_factory( - nullptr, cert_chain, nullptr, nullptr, 0, - &client_handshaker_factory) == TSI_INVALID_ARGUMENT); + tsi_ssl_client_handshaker_options options; + memset(&options, 0, sizeof(options)); + options.pem_root_certs = cert_chain; + GPR_ASSERT(tsi_create_ssl_client_handshaker_factory_with_options( + &options, &client_handshaker_factory) == TSI_INVALID_ARGUMENT); tsi_ssl_client_handshaker_factory_unref(client_handshaker_factory); } @@ -746,7 +776,9 @@ int main(int argc, char** argv) { ssl_tsi_test_do_handshake_tiny_handshake_buffer(); ssl_tsi_test_do_handshake_small_handshake_buffer(); ssl_tsi_test_do_handshake(); + ssl_tsi_test_do_handshake_with_root_store(); ssl_tsi_test_do_handshake_with_client_authentication(); + ssl_tsi_test_do_handshake_with_client_authentication_and_root_store(); ssl_tsi_test_do_handshake_with_server_name_indication_exact_domain(); ssl_tsi_test_do_handshake_with_server_name_indication_wild_star_domain(); ssl_tsi_test_do_handshake_with_bad_server_cert(); diff --git a/test/core/util/grpc_fuzzer.bzl b/test/core/util/grpc_fuzzer.bzl index cece023fc0..a6a60b0311 100644 --- a/test/core/util/grpc_fuzzer.bzl +++ b/test/core/util/grpc_fuzzer.bzl @@ -14,7 +14,7 @@ load("//bazel:grpc_build_system.bzl", "grpc_cc_test") -def grpc_fuzzer(name, corpus, srcs = [], deps = [], **kwargs): +def grpc_fuzzer(name, corpus, srcs = [], deps = [], size = "large", timeout = "long", **kwargs): grpc_cc_test( name = name, srcs = srcs, @@ -23,6 +23,8 @@ def grpc_fuzzer(name, corpus, srcs = [], deps = [], **kwargs): external_deps = [ 'gtest', ], + size = size, + timeout = timeout, args = ["--directory=" + native.package_name() + "/" + corpus,], **kwargs ) diff --git a/test/cpp/common/alarm_test.cc b/test/cpp/common/alarm_test.cc index fb5f6713d1..57d958349e 100644 --- a/test/cpp/common/alarm_test.cc +++ b/test/cpp/common/alarm_test.cc @@ -36,7 +36,7 @@ TEST(AlarmTest, RegularExpiry) { void* output_tag; bool ok; const CompletionQueue::NextStatus status = - cq.AsyncNext(&output_tag, &ok, grpc_timeout_seconds_to_deadline(2)); + cq.AsyncNext(&output_tag, &ok, grpc_timeout_seconds_to_deadline(10)); EXPECT_EQ(status, CompletionQueue::GOT_EVENT); EXPECT_TRUE(ok); @@ -57,7 +57,7 @@ TEST(AlarmTest, MultithreadedRegularExpiry) { std::thread t2([&cq, &ok, &output_tag, &status] { status = - cq.AsyncNext(&output_tag, &ok, grpc_timeout_seconds_to_deadline(2)); + cq.AsyncNext(&output_tag, &ok, grpc_timeout_seconds_to_deadline(10)); }); t1.join(); @@ -75,7 +75,7 @@ TEST(AlarmTest, DeprecatedRegularExpiry) { void* output_tag; bool ok; const CompletionQueue::NextStatus status = - cq.AsyncNext(&output_tag, &ok, grpc_timeout_seconds_to_deadline(2)); + cq.AsyncNext(&output_tag, &ok, grpc_timeout_seconds_to_deadline(10)); EXPECT_EQ(status, CompletionQueue::GOT_EVENT); EXPECT_TRUE(ok); @@ -91,7 +91,7 @@ TEST(AlarmTest, MoveConstructor) { void* output_tag; bool ok; const CompletionQueue::NextStatus status = - cq.AsyncNext(&output_tag, &ok, grpc_timeout_seconds_to_deadline(2)); + cq.AsyncNext(&output_tag, &ok, grpc_timeout_seconds_to_deadline(10)); EXPECT_EQ(status, CompletionQueue::GOT_EVENT); EXPECT_TRUE(ok); EXPECT_EQ(junk, output_tag); @@ -108,7 +108,7 @@ TEST(AlarmTest, MoveAssignment) { void* output_tag; bool ok; const CompletionQueue::NextStatus status = - cq.AsyncNext(&output_tag, &ok, grpc_timeout_seconds_to_deadline(2)); + cq.AsyncNext(&output_tag, &ok, grpc_timeout_seconds_to_deadline(10)); EXPECT_EQ(status, CompletionQueue::GOT_EVENT); EXPECT_TRUE(ok); @@ -126,7 +126,7 @@ TEST(AlarmTest, RegularExpiryChrono) { void* output_tag; bool ok; const CompletionQueue::NextStatus status = - cq.AsyncNext(&output_tag, &ok, grpc_timeout_seconds_to_deadline(2)); + cq.AsyncNext(&output_tag, &ok, grpc_timeout_seconds_to_deadline(10)); EXPECT_EQ(status, CompletionQueue::GOT_EVENT); EXPECT_TRUE(ok); @@ -169,7 +169,7 @@ TEST(AlarmTest, Cancellation) { CompletionQueue cq; void* junk = reinterpret_cast<void*>(1618033); Alarm alarm; - alarm.Set(&cq, grpc_timeout_seconds_to_deadline(2), junk); + alarm.Set(&cq, grpc_timeout_seconds_to_deadline(10), junk); alarm.Cancel(); void* output_tag; @@ -187,7 +187,7 @@ TEST(AlarmTest, SetDestruction) { void* junk = reinterpret_cast<void*>(1618033); { Alarm alarm; - alarm.Set(&cq, grpc_timeout_seconds_to_deadline(2), junk); + alarm.Set(&cq, grpc_timeout_seconds_to_deadline(10), junk); } void* output_tag; diff --git a/test/cpp/naming/address_sorting_test.cc b/test/cpp/naming/address_sorting_test.cc new file mode 100644 index 0000000000..df93ff6f8d --- /dev/null +++ b/test/cpp/naming/address_sorting_test.cc @@ -0,0 +1,737 @@ +/* + * + * Copyright 2017 gRPC authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include <grpc/grpc.h> +#include <grpc/support/alloc.h> +#include <grpc/support/log.h> +#include <grpc/support/string_util.h> +#include <grpc/support/sync.h> +#include <grpc/support/time.h> +#include <string.h> + +#include <arpa/inet.h> +#include <gflags/gflags.h> +#include <gmock/gmock.h> +#include <sys/socket.h> +#include <sys/types.h> +#include <vector> + +#include <address_sorting/address_sorting.h> +#include "test/cpp/util/subprocess.h" +#include "test/cpp/util/test_config.h" + +#include "src/core/ext/filters/client_channel/client_channel.h" +#include "src/core/ext/filters/client_channel/resolver.h" +#include "src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h" +#include "src/core/ext/filters/client_channel/resolver_registry.h" +#include "src/core/lib/channel/channel_args.h" +#include "src/core/lib/gpr/env.h" +#include "src/core/lib/gpr/host_port.h" +#include "src/core/lib/gpr/string.h" +#include "src/core/lib/iomgr/combiner.h" +#include "src/core/lib/iomgr/executor.h" +#include "src/core/lib/iomgr/iomgr.h" +#include "src/core/lib/iomgr/resolve_address.h" +#include "src/core/lib/iomgr/sockaddr_utils.h" +#include "test/core/util/port.h" +#include "test/core/util/test_config.h" + +namespace { + +struct TestAddress { + std::string dest_addr; + int family; +}; + +grpc_resolved_address TestAddressToGrpcResolvedAddress(TestAddress test_addr) { + char* host; + char* port; + grpc_resolved_address resolved_addr; + gpr_split_host_port(test_addr.dest_addr.c_str(), &host, &port); + if (test_addr.family == AF_INET) { + sockaddr_in in_dest; + memset(&in_dest, 0, sizeof(sockaddr_in)); + in_dest.sin_port = htons(atoi(port)); + in_dest.sin_family = AF_INET; + GPR_ASSERT(inet_pton(AF_INET, host, &in_dest.sin_addr) == 1); + memcpy(&resolved_addr.addr, &in_dest, sizeof(sockaddr_in)); + resolved_addr.len = sizeof(sockaddr_in); + } else { + GPR_ASSERT(test_addr.family == AF_INET6); + sockaddr_in6 in6_dest; + memset(&in6_dest, 0, sizeof(sockaddr_in6)); + in6_dest.sin6_port = htons(atoi(port)); + in6_dest.sin6_family = AF_INET6; + GPR_ASSERT(inet_pton(AF_INET6, host, &in6_dest.sin6_addr) == 1); + memcpy(&resolved_addr.addr, &in6_dest, sizeof(sockaddr_in6)); + resolved_addr.len = sizeof(sockaddr_in6); + } + gpr_free(host); + gpr_free(port); + return resolved_addr; +} + +class MockSourceAddrFactory : public address_sorting_source_addr_factory { + public: + MockSourceAddrFactory( + bool ipv4_supported, bool ipv6_supported, + const std::map<std::string, TestAddress>& dest_addr_to_src_addr) + : ipv4_supported_(ipv4_supported), + ipv6_supported_(ipv6_supported), + dest_addr_to_src_addr_(dest_addr_to_src_addr) {} + + bool GetSourceAddr(const address_sorting_address* dest_addr, + address_sorting_address* source_addr) { + if ((address_sorting_abstract_get_family(dest_addr) == + ADDRESS_SORTING_AF_INET && + !ipv4_supported_) || + (address_sorting_abstract_get_family(dest_addr) == + ADDRESS_SORTING_AF_INET6 && + !ipv6_supported_)) { + return false; + } + char* ip_addr_str; + grpc_resolved_address dest_addr_as_resolved_addr; + memcpy(&dest_addr_as_resolved_addr.addr, dest_addr, dest_addr->len); + dest_addr_as_resolved_addr.len = dest_addr->len; + grpc_sockaddr_to_string(&ip_addr_str, &dest_addr_as_resolved_addr, + false /* normalize */); + auto it = dest_addr_to_src_addr_.find(ip_addr_str); + if (it == dest_addr_to_src_addr_.end()) { + gpr_log(GPR_DEBUG, "can't find |%s| in dest to src map", ip_addr_str); + gpr_free(ip_addr_str); + return false; + } + gpr_free(ip_addr_str); + grpc_resolved_address source_addr_as_resolved_addr = + TestAddressToGrpcResolvedAddress(it->second); + memcpy(source_addr->addr, &source_addr_as_resolved_addr.addr, + source_addr_as_resolved_addr.len); + source_addr->len = source_addr_as_resolved_addr.len; + return true; + } + + private: + // user provided test config + bool ipv4_supported_; + bool ipv6_supported_; + std::map<std::string, TestAddress> dest_addr_to_src_addr_; +}; + +static bool mock_source_addr_factory_wrapper_get_source_addr( + address_sorting_source_addr_factory* factory, + const address_sorting_address* dest_addr, + address_sorting_address* source_addr) { + MockSourceAddrFactory* mock = + reinterpret_cast<MockSourceAddrFactory*>(factory); + return mock->GetSourceAddr(dest_addr, source_addr); +} + +void mock_source_addr_factory_wrapper_destroy( + address_sorting_source_addr_factory* factory) { + MockSourceAddrFactory* mock = + reinterpret_cast<MockSourceAddrFactory*>(factory); + delete mock; +} + +const address_sorting_source_addr_factory_vtable kMockSourceAddrFactoryVtable = + { + mock_source_addr_factory_wrapper_get_source_addr, + mock_source_addr_factory_wrapper_destroy, +}; + +void OverrideAddressSortingSourceAddrFactory( + bool ipv4_supported, bool ipv6_supported, + const std::map<std::string, TestAddress>& dest_addr_to_src_addr) { + address_sorting_source_addr_factory* factory = new MockSourceAddrFactory( + ipv4_supported, ipv6_supported, dest_addr_to_src_addr); + factory->vtable = &kMockSourceAddrFactoryVtable; + address_sorting_override_source_addr_factory_for_testing(factory); +} + +grpc_lb_addresses* BuildLbAddrInputs(std::vector<TestAddress> test_addrs) { + grpc_lb_addresses* lb_addrs = grpc_lb_addresses_create(0, nullptr); + lb_addrs->addresses = + (grpc_lb_address*)gpr_zalloc(sizeof(grpc_lb_address) * test_addrs.size()); + lb_addrs->num_addresses = test_addrs.size(); + for (size_t i = 0; i < test_addrs.size(); i++) { + lb_addrs->addresses[i].address = + TestAddressToGrpcResolvedAddress(test_addrs[i]); + } + return lb_addrs; +} + +void VerifyLbAddrOutputs(grpc_lb_addresses* lb_addrs, + std::vector<std::string> expected_addrs) { + EXPECT_EQ(lb_addrs->num_addresses, expected_addrs.size()); + for (size_t i = 0; i < lb_addrs->num_addresses; i++) { + char* ip_addr_str; + grpc_sockaddr_to_string(&ip_addr_str, &lb_addrs->addresses[i].address, + false /* normalize */); + EXPECT_EQ(expected_addrs[i], ip_addr_str); + gpr_free(ip_addr_str); + } + grpc_core::ExecCtx exec_ctx; + grpc_lb_addresses_destroy(lb_addrs); +} + +} // namespace + +/* Tests for rule 1 */ +TEST(AddressSortingTest, TestDepriotizesUnreachableAddresses) { + bool ipv4_supported = true; + bool ipv6_supported = true; + OverrideAddressSortingSourceAddrFactory( + ipv4_supported, ipv6_supported, + { + {"1.2.3.4:443", {"4.3.2.1:443", AF_INET}}, + }); + auto* lb_addrs = BuildLbAddrInputs({ + {"1.2.3.4:443", AF_INET}, + {"5.6.7.8:443", AF_INET}, + }); + grpc_cares_wrapper_test_only_address_sorting_sort(lb_addrs); + VerifyLbAddrOutputs(lb_addrs, { + "1.2.3.4:443", + "5.6.7.8:443", + }); +} + +TEST(AddressSortingTest, TestDepriotizesUnsupportedDomainIpv6) { + bool ipv4_supported = true; + bool ipv6_supported = false; + OverrideAddressSortingSourceAddrFactory( + ipv4_supported, ipv6_supported, + { + {"1.2.3.4:443", {"4.3.2.1:0", AF_INET}}, + }); + auto lb_addrs = BuildLbAddrInputs({ + {"[2607:f8b0:400a:801::1002]:443", AF_INET6}, + {"1.2.3.4:443", AF_INET}, + }); + grpc_cares_wrapper_test_only_address_sorting_sort(lb_addrs); + VerifyLbAddrOutputs(lb_addrs, { + "1.2.3.4:443", + "[2607:f8b0:400a:801::1002]:443", + }); +} + +TEST(AddressSortingTest, TestDepriotizesUnsupportedDomainIpv4) { + bool ipv4_supported = false; + bool ipv6_supported = true; + OverrideAddressSortingSourceAddrFactory( + ipv4_supported, ipv6_supported, + { + {"1.2.3.4:443", {"4.3.2.1:0", AF_INET}}, + {"[2607:f8b0:400a:801::1002]:443", {"[fec0::1234]:0", AF_INET6}}, + }); + grpc_lb_addresses* lb_addrs = BuildLbAddrInputs({ + {"[2607:f8b0:400a:801::1002]:443", AF_INET6}, + {"1.2.3.4:443", AF_INET}, + }); + grpc_cares_wrapper_test_only_address_sorting_sort(lb_addrs); + VerifyLbAddrOutputs(lb_addrs, { + "[2607:f8b0:400a:801::1002]:443", + "1.2.3.4:443", + }); +} + +/* Tests for rule 2 */ + +TEST(AddressSortingTest, TestDepriotizesNonMatchingScope) { + bool ipv4_supported = true; + bool ipv6_supported = true; + OverrideAddressSortingSourceAddrFactory( + ipv4_supported, ipv6_supported, + { + {"[2000:f8b0:400a:801::1002]:443", + {"[fec0::1000]:0", AF_INET6}}, // global and site-local scope + {"[fec0::5000]:443", + {"[fec0::5001]:0", AF_INET6}}, // site-local and site-local scope + }); + grpc_lb_addresses* lb_addrs = BuildLbAddrInputs({ + {"[2000:f8b0:400a:801::1002]:443", AF_INET6}, + {"[fec0::5000]:443", AF_INET6}, + }); + grpc_cares_wrapper_test_only_address_sorting_sort(lb_addrs); + VerifyLbAddrOutputs(lb_addrs, { + "[fec0::5000]:443", + "[2000:f8b0:400a:801::1002]:443", + }); +} + +/* Tests for rule 5 */ + +TEST(AddressSortingTest, TestUsesLabelFromDefaultTable) { + bool ipv4_supported = true; + bool ipv6_supported = true; + OverrideAddressSortingSourceAddrFactory( + ipv4_supported, ipv6_supported, + { + {"[2002::5001]:443", {"[2001::5002]:0", AF_INET6}}, + {"[2001::5001]:443", + {"[2001::5002]:0", AF_INET6}}, // matching labels + }); + grpc_lb_addresses* lb_addrs = BuildLbAddrInputs({ + {"[2002::5001]:443", AF_INET6}, + {"[2001::5001]:443", AF_INET6}, + }); + grpc_cares_wrapper_test_only_address_sorting_sort(lb_addrs); + VerifyLbAddrOutputs(lb_addrs, { + "[2001::5001]:443", + "[2002::5001]:443", + }); +} + +/* Tests for rule 6 */ + +TEST(AddressSortingTest, + TestUsesDestinationWithHigherPrecedenceWithAnIpv4Address) { + bool ipv4_supported = true; + bool ipv6_supported = true; + OverrideAddressSortingSourceAddrFactory( + ipv4_supported, ipv6_supported, + { + {"[3ffe::5001]:443", {"[3ffe::5002]:0", AF_INET6}}, + {"1.2.3.4:443", {"5.6.7.8:0", AF_INET}}, + }); + grpc_lb_addresses* lb_addrs = BuildLbAddrInputs({ + {"[3ffe::5001]:443", AF_INET6}, + {"1.2.3.4:443", AF_INET}, + }); + grpc_cares_wrapper_test_only_address_sorting_sort(lb_addrs); + VerifyLbAddrOutputs( + lb_addrs, { + // The AF_INET address should be IPv4-mapped by the sort, + // and IPv4-mapped + // addresses have higher precedence than 3ffe::/16 by spec. + "1.2.3.4:443", + "[3ffe::5001]:443", + }); +} + +TEST(AddressSortingTest, + TestUsesDestinationWithHigherPrecedenceWithV4CompatAndLocalhostAddress) { + bool ipv4_supported = true; + bool ipv6_supported = true; +// Handle unique observed behavior of inet_ntop(v4-compatible-address) on OS X. +#if GPR_APPLE == 1 + const char* v4_compat_dest = "[::0.0.0.2]:443"; + const char* v4_compat_src = "[::0.0.0.2]:0"; +#else + const char* v4_compat_dest = "[::2]:443"; + const char* v4_compat_src = "[::2]:0"; +#endif + OverrideAddressSortingSourceAddrFactory( + ipv4_supported, ipv6_supported, + { + {"[::1]:443", {"[::1]:0", AF_INET6}}, + {v4_compat_dest, {v4_compat_src, AF_INET6}}, + }); + grpc_lb_addresses* lb_addrs = BuildLbAddrInputs({ + {v4_compat_dest, AF_INET6}, + {"[::1]:443", AF_INET6}, + }); + grpc_cares_wrapper_test_only_address_sorting_sort(lb_addrs); + VerifyLbAddrOutputs(lb_addrs, { + "[::1]:443", + v4_compat_dest, + }); +} + +TEST(AddressSortingTest, + TestUsesDestinationWithHigherPrecedenceWithCatchAllAndLocalhostAddress) { + bool ipv4_supported = true; + bool ipv6_supported = true; + OverrideAddressSortingSourceAddrFactory( + ipv4_supported, ipv6_supported, + { + // 1234::2 for src and dest to make sure that prefix matching has no + // influence on this test. + {"[1234::2]:443", {"[1234::2]:0", AF_INET6}}, + {"[::1]:443", {"[::1]:0", AF_INET6}}, + }); + grpc_lb_addresses* lb_addrs = BuildLbAddrInputs({ + {"[1234::2]:443", AF_INET6}, + {"[::1]:443", AF_INET6}, + }); + grpc_cares_wrapper_test_only_address_sorting_sort(lb_addrs); + VerifyLbAddrOutputs( + lb_addrs, + { + // ::1 should match the localhost precedence entry and be prioritized + "[::1]:443", + "[1234::2]:443", + }); +} + +TEST(AddressSortingTest, + TestUsesDestinationWithHigherPrecedenceWith2000PrefixedAddress) { + bool ipv4_supported = true; + bool ipv6_supported = true; + OverrideAddressSortingSourceAddrFactory( + ipv4_supported, ipv6_supported, + { + {"[2001::1234]:443", {"[2001::5678]:0", AF_INET6}}, + {"[2000::5001]:443", {"[2000::5002]:0", AF_INET6}}, + }); + grpc_lb_addresses* lb_addrs = BuildLbAddrInputs({ + {"[2001::1234]:443", AF_INET6}, + {"[2000::5001]:443", AF_INET6}, + }); + grpc_cares_wrapper_test_only_address_sorting_sort(lb_addrs); + VerifyLbAddrOutputs( + lb_addrs, { + // The 2000::/16 address should match the ::/0 prefix rule + "[2000::5001]:443", + "[2001::1234]:443", + }); +} + +TEST( + AddressSortingTest, + TestUsesDestinationWithHigherPrecedenceWith2000PrefixedAddressEnsurePrefixMatchHasNoEffect) { + bool ipv4_supported = true; + bool ipv6_supported = true; + OverrideAddressSortingSourceAddrFactory( + ipv4_supported, ipv6_supported, + { + {"[2001::1231]:443", {"[2001::1232]:0", AF_INET6}}, + {"[2000::5001]:443", {"[2000::5002]:0", AF_INET6}}, + }); + grpc_lb_addresses* lb_addrs = BuildLbAddrInputs({ + {"[2001::1231]:443", AF_INET6}, + {"[2000::5001]:443", AF_INET6}, + }); + grpc_cares_wrapper_test_only_address_sorting_sort(lb_addrs); + VerifyLbAddrOutputs(lb_addrs, { + "[2000::5001]:443", + "[2001::1231]:443", + }); +} + +TEST(AddressSortingTest, + TestUsesDestinationWithHigherPrecedenceWithLinkAndSiteLocalAddresses) { + bool ipv4_supported = true; + bool ipv6_supported = true; + OverrideAddressSortingSourceAddrFactory( + ipv4_supported, ipv6_supported, + { + {"[fec0::1234]:443", {"[fec0::5678]:0", AF_INET6}}, + {"[fc00::5001]:443", {"[fc00::5002]:0", AF_INET6}}, + }); + grpc_lb_addresses* lb_addrs = BuildLbAddrInputs({ + {"[fec0::1234]:443", AF_INET6}, + {"[fc00::5001]:443", AF_INET6}, + }); + grpc_cares_wrapper_test_only_address_sorting_sort(lb_addrs); + VerifyLbAddrOutputs(lb_addrs, { + "[fc00::5001]:443", + "[fec0::1234]:443", + }); +} + +TEST( + AddressSortingTest, + TestUsesDestinationWithHigherPrecedenceWithCatchAllAndAndV4MappedAddresses) { + bool ipv4_supported = true; + bool ipv6_supported = true; + OverrideAddressSortingSourceAddrFactory( + ipv4_supported, ipv6_supported, + { + {"[::ffff:0.0.0.2]:443", {"[::ffff:0.0.0.3]:0", AF_INET6}}, + {"[1234::2]:443", {"[1234::3]:0", AF_INET6}}, + }); + grpc_lb_addresses* lb_addrs = BuildLbAddrInputs({ + {"[::ffff:0.0.0.2]:443", AF_INET6}, + {"[1234::2]:443", AF_INET6}, + }); + grpc_cares_wrapper_test_only_address_sorting_sort(lb_addrs); + VerifyLbAddrOutputs(lb_addrs, { + // ::ffff:0:2 should match the v4-mapped + // precedence entry and be deprioritized. + "[1234::2]:443", + "[::ffff:0.0.0.2]:443", + }); +} + +/* Tests for rule 8 */ + +TEST(AddressSortingTest, TestPrefersSmallerScope) { + bool ipv4_supported = true; + bool ipv6_supported = true; + OverrideAddressSortingSourceAddrFactory( + ipv4_supported, ipv6_supported, + { + // Both of these destinations have the same precedence in default + // policy + // table. + {"[fec0::1234]:443", {"[fec0::5678]:0", AF_INET6}}, + {"[3ffe::5001]:443", {"[3ffe::5002]:0", AF_INET6}}, + }); + grpc_lb_addresses* lb_addrs = BuildLbAddrInputs({ + {"[3ffe::5001]:443", AF_INET6}, + {"[fec0::1234]:443", AF_INET6}, + }); + grpc_cares_wrapper_test_only_address_sorting_sort(lb_addrs); + VerifyLbAddrOutputs(lb_addrs, { + "[fec0::1234]:443", + "[3ffe::5001]:443", + }); +} + +/* Tests for rule 9 */ + +TEST(AddressSortingTest, TestPrefersLongestMatchingSrcDstPrefix) { + bool ipv4_supported = true; + bool ipv6_supported = true; + OverrideAddressSortingSourceAddrFactory( + ipv4_supported, ipv6_supported, + { + // Both of these destinations have the same precedence in default + // policy + // table. + {"[3ffe:1234::]:443", {"[3ffe:1235::]:0", AF_INET6}}, + {"[3ffe:5001::]:443", {"[3ffe:4321::]:0", AF_INET6}}, + }); + grpc_lb_addresses* lb_addrs = BuildLbAddrInputs({ + {"[3ffe:5001::]:443", AF_INET6}, + {"[3ffe:1234::]:443", AF_INET6}, + }); + grpc_cares_wrapper_test_only_address_sorting_sort(lb_addrs); + VerifyLbAddrOutputs(lb_addrs, { + "[3ffe:1234::]:443", + "[3ffe:5001::]:443", + }); +} + +TEST(AddressSortingTest, + TestPrefersLongestMatchingSrcDstPrefixMatchesWholeAddress) { + bool ipv4_supported = true; + bool ipv6_supported = true; + OverrideAddressSortingSourceAddrFactory( + ipv4_supported, ipv6_supported, + { + {"[3ffe::1234]:443", {"[3ffe::1235]:0", AF_INET6}}, + {"[3ffe::5001]:443", {"[3ffe::4321]:0", AF_INET6}}, + }); + grpc_lb_addresses* lb_addrs = BuildLbAddrInputs({ + {"[3ffe::5001]:443", AF_INET6}, + {"[3ffe::1234]:443", AF_INET6}, + }); + grpc_cares_wrapper_test_only_address_sorting_sort(lb_addrs); + VerifyLbAddrOutputs(lb_addrs, { + "[3ffe::1234]:443", + "[3ffe::5001]:443", + }); +} + +TEST(AddressSortingTest, TestPrefersLongestPrefixStressInnerBytePrefix) { + bool ipv4_supported = true; + bool ipv6_supported = true; + OverrideAddressSortingSourceAddrFactory( + ipv4_supported, ipv6_supported, + { + {"[3ffe:8000::]:443", {"[3ffe:C000::]:0", AF_INET6}}, + {"[3ffe:2000::]:443", {"[3ffe:3000::]:0", AF_INET6}}, + }); + grpc_lb_addresses* lb_addrs = BuildLbAddrInputs({ + {"[3ffe:8000::]:443", AF_INET6}, + {"[3ffe:2000::]:443", AF_INET6}, + }); + grpc_cares_wrapper_test_only_address_sorting_sort(lb_addrs); + VerifyLbAddrOutputs(lb_addrs, { + "[3ffe:2000::]:443", + "[3ffe:8000::]:443", + }); +} + +TEST(AddressSortingTest, TestPrefersLongestPrefixDiffersOnHighestBitOfByte) { + bool ipv4_supported = true; + bool ipv6_supported = true; + OverrideAddressSortingSourceAddrFactory( + ipv4_supported, ipv6_supported, + { + {"[3ffe:6::]:443", {"[3ffe:8::]:0", AF_INET6}}, + {"[3ffe:c::]:443", {"[3ffe:8::]:0", AF_INET6}}, + }); + grpc_lb_addresses* lb_addrs = BuildLbAddrInputs({ + {"[3ffe:6::]:443", AF_INET6}, + {"[3ffe:c::]:443", AF_INET6}, + }); + grpc_cares_wrapper_test_only_address_sorting_sort(lb_addrs); + VerifyLbAddrOutputs(lb_addrs, { + "[3ffe:c::]:443", + "[3ffe:6::]:443", + }); +} + +TEST(AddressSortingTest, TestPrefersLongestPrefixDiffersByLastBit) { + bool ipv4_supported = true; + bool ipv6_supported = true; + OverrideAddressSortingSourceAddrFactory( + ipv4_supported, ipv6_supported, + { + {"[3ffe:1111:1111:1111::]:443", + {"[3ffe:1111:1111:1111::]:0", AF_INET6}}, + {"[3ffe:1111:1111:1110::]:443", + {"[3ffe:1111:1111:1111::]:0", AF_INET6}}, + }); + grpc_lb_addresses* lb_addrs = BuildLbAddrInputs({ + {"[3ffe:1111:1111:1110::]:443", AF_INET6}, + {"[3ffe:1111:1111:1111::]:443", AF_INET6}, + }); + grpc_cares_wrapper_test_only_address_sorting_sort(lb_addrs); + VerifyLbAddrOutputs(lb_addrs, { + "[3ffe:1111:1111:1111::]:443", + "[3ffe:1111:1111:1110::]:443", + }); +} + +/* Tests for rule 10 */ + +TEST(AddressSortingTest, TestStableSort) { + bool ipv4_supported = true; + bool ipv6_supported = true; + OverrideAddressSortingSourceAddrFactory( + ipv4_supported, ipv6_supported, + { + {"[3ffe::1234]:443", {"[3ffe::1236]:0", AF_INET6}}, + {"[3ffe::1235]:443", {"[3ffe::1237]:0", AF_INET6}}, + }); + grpc_lb_addresses* lb_addrs = BuildLbAddrInputs({ + {"[3ffe::1234]:443", AF_INET6}, + {"[3ffe::1235]:443", AF_INET6}, + }); + grpc_cares_wrapper_test_only_address_sorting_sort(lb_addrs); + VerifyLbAddrOutputs(lb_addrs, { + "[3ffe::1234]:443", + "[3ffe::1235]:443", + }); +} + +TEST(AddressSortingTest, TestStableSortFiveElements) { + bool ipv4_supported = true; + bool ipv6_supported = true; + OverrideAddressSortingSourceAddrFactory( + ipv4_supported, ipv6_supported, + { + {"[3ffe::1231]:443", {"[3ffe::1201]:0", AF_INET6}}, + {"[3ffe::1232]:443", {"[3ffe::1202]:0", AF_INET6}}, + {"[3ffe::1233]:443", {"[3ffe::1203]:0", AF_INET6}}, + {"[3ffe::1234]:443", {"[3ffe::1204]:0", AF_INET6}}, + {"[3ffe::1235]:443", {"[3ffe::1205]:0", AF_INET6}}, + }); + grpc_lb_addresses* lb_addrs = BuildLbAddrInputs({ + {"[3ffe::1231]:443", AF_INET6}, + {"[3ffe::1232]:443", AF_INET6}, + {"[3ffe::1233]:443", AF_INET6}, + {"[3ffe::1234]:443", AF_INET6}, + {"[3ffe::1235]:443", AF_INET6}, + }); + grpc_cares_wrapper_test_only_address_sorting_sort(lb_addrs); + VerifyLbAddrOutputs(lb_addrs, { + "[3ffe::1231]:443", + "[3ffe::1232]:443", + "[3ffe::1233]:443", + "[3ffe::1234]:443", + "[3ffe::1235]:443", + }); +} + +TEST(AddressSortingTest, TestStableSortNoSrcAddrsExist) { + bool ipv4_supported = true; + bool ipv6_supported = true; + OverrideAddressSortingSourceAddrFactory(ipv4_supported, ipv6_supported, {}); + grpc_lb_addresses* lb_addrs = BuildLbAddrInputs({ + {"[3ffe::1231]:443", AF_INET6}, + {"[3ffe::1232]:443", AF_INET6}, + {"[3ffe::1233]:443", AF_INET6}, + {"[3ffe::1234]:443", AF_INET6}, + {"[3ffe::1235]:443", AF_INET6}, + }); + grpc_cares_wrapper_test_only_address_sorting_sort(lb_addrs); + VerifyLbAddrOutputs(lb_addrs, { + "[3ffe::1231]:443", + "[3ffe::1232]:443", + "[3ffe::1233]:443", + "[3ffe::1234]:443", + "[3ffe::1235]:443", + }); +} + +TEST(AddressSortingTest, TestStableSortNoSrcAddrsExistWithIpv4) { + bool ipv4_supported = true; + bool ipv6_supported = true; + OverrideAddressSortingSourceAddrFactory(ipv4_supported, ipv6_supported, {}); + grpc_lb_addresses* lb_addrs = BuildLbAddrInputs({ + {"[::ffff:5.6.7.8]:443", AF_INET6}, + {"1.2.3.4:443", AF_INET}, + }); + grpc_cares_wrapper_test_only_address_sorting_sort(lb_addrs); + VerifyLbAddrOutputs(lb_addrs, { + "[::ffff:5.6.7.8]:443", + "1.2.3.4:443", + }); +} + +TEST(AddressSortingTest, TestStableSortV4CompatAndSiteLocalAddresses) { + bool ipv4_supported = true; + bool ipv6_supported = true; +// Handle unique observed behavior of inet_ntop(v4-compatible-address) on OS X. +#if GPR_APPLE == 1 + const char* v4_compat_dest = "[::0.0.0.2]:443"; + const char* v4_compat_src = "[::0.0.0.3]:0"; +#else + const char* v4_compat_dest = "[::2]:443"; + const char* v4_compat_src = "[::3]:0"; +#endif + OverrideAddressSortingSourceAddrFactory( + ipv4_supported, ipv6_supported, + { + {"[fec0::2000]:443", {"[fec0::2001]:0", AF_INET6}}, + {v4_compat_dest, {v4_compat_src, AF_INET6}}, + }); + grpc_lb_addresses* lb_addrs = BuildLbAddrInputs({ + {"[fec0::2000]:443", AF_INET6}, + {v4_compat_dest, AF_INET6}, + }); + grpc_cares_wrapper_test_only_address_sorting_sort(lb_addrs); + VerifyLbAddrOutputs(lb_addrs, + { + // The sort should be stable since + // v4-compatible has same precedence as site-local. + "[fec0::2000]:443", + v4_compat_dest, + }); +} + +int main(int argc, char** argv) { + const char* resolver = gpr_getenv("GRPC_DNS_RESOLVER"); + if (resolver == nullptr || strlen(resolver) == 0) { + gpr_setenv("GRPC_DNS_RESOLVER", "ares"); + } else if (strcmp("ares", resolver)) { + gpr_log(GPR_INFO, "GRPC_DNS_RESOLVER != ares: %s.", resolver); + } + grpc_test_init(argc, argv); + ::testing::InitGoogleTest(&argc, argv); + grpc_init(); + auto result = RUN_ALL_TESTS(); + grpc_shutdown(); + return result; +} diff --git a/test/cpp/naming/gen_build_yaml.py b/test/cpp/naming/gen_build_yaml.py index 91718156e9..adebc62084 100755 --- a/test/cpp/naming/gen_build_yaml.py +++ b/test/cpp/naming/gen_build_yaml.py @@ -182,6 +182,25 @@ def main(): '--running_under_bazel=false', ], } for unsecure_build_config_suffix in ['_unsecure', ''] + ] + [ + { + 'name': 'address_sorting_test' + unsecure_build_config_suffix, + 'build': 'test', + 'language': 'c++', + 'gtest': True, + 'run': True, + 'src': ['test/cpp/naming/address_sorting_test.cc'], + 'platforms': ['linux', 'posix', 'mac'], + 'deps': [ + 'grpc++_test_util' + unsecure_build_config_suffix, + 'grpc_test_util' + unsecure_build_config_suffix, + 'gpr_test_util', + 'grpc++' + unsecure_build_config_suffix, + 'grpc' + unsecure_build_config_suffix, + 'gpr', + 'grpc++_test_config', + ], + } for unsecure_build_config_suffix in ['_unsecure', ''] ] } diff --git a/test/cpp/naming/generate_resolver_component_tests.bzl b/test/cpp/naming/generate_resolver_component_tests.bzl index d0fb51439f..ebc167931d 100755 --- a/test/cpp/naming/generate_resolver_component_tests.bzl +++ b/test/cpp/naming/generate_resolver_component_tests.bzl @@ -17,6 +17,24 @@ load("//bazel:grpc_build_system.bzl", "grpc_sh_binary", "grpc_cc_test", "grpc_cc def generate_resolver_component_tests(): for unsecure_build_config_suffix in ['_unsecure', '']: + grpc_cc_test( + name = "address_sorting_test%s" % unsecure_build_config_suffix, + srcs = [ + "address_sorting_test.cc", + ], + external_deps = [ + "gmock", + ], + deps = [ + "//test/cpp/util:test_util%s" % unsecure_build_config_suffix, + "//test/core/util:grpc_test_util%s" % unsecure_build_config_suffix, + "//test/core/util:gpr_test_util", + "//:grpc++%s" % unsecure_build_config_suffix, + "//:grpc%s" % unsecure_build_config_suffix, + "//:gpr", + "//test/cpp/util:test_config", + ], + ) # meant to be invoked only through the top-level shell script driver grpc_cc_binary( name = "resolver_component_test%s" % unsecure_build_config_suffix, diff --git a/test/distrib/php/run_distrib_test.sh b/test/distrib/php/run_distrib_test.sh index ef2de4fec3..a6102f6075 100755 --- a/test/distrib/php/run_distrib_test.sh +++ b/test/distrib/php/run_distrib_test.sh @@ -20,6 +20,6 @@ cd "$(dirname "$0")" cp -r "$EXTERNAL_GIT_ROOT"/input_artifacts/grpc-*.tgz . find . -regex ".*/grpc-[0-9].*.tgz" | cut -b3- | \ - xargs sudo pecl install + xargs pecl install php -d extension=grpc.so -d max_execution_time=300 distribtest.php diff --git a/test/distrib/php/run_distrib_test_macos.sh b/test/distrib/php/run_distrib_test_macos.sh new file mode 100755 index 0000000000..8def049860 --- /dev/null +++ b/test/distrib/php/run_distrib_test_macos.sh @@ -0,0 +1,25 @@ +#!/bin/bash +# Copyright 2018 gRPC authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +set -ex + +cd "$(dirname "$0")" + +cp -r "$EXTERNAL_GIT_ROOT"/input_artifacts/grpc-*.tgz . + +find . -regex ".*/grpc-[0-9].*.tgz" | cut -b3- | \ + xargs sudo pecl install + +php -d extension=grpc.so -d max_execution_time=300 distribtest.php diff --git a/third_party/address_sorting/BUILD b/third_party/address_sorting/BUILD new file mode 100644 index 0000000000..7d5fb9d7ed --- /dev/null +++ b/third_party/address_sorting/BUILD @@ -0,0 +1,60 @@ +# $NetBSD: getaddrinfo.c,v 1.82 2006/03/25 12:09:40 rpaulo Exp $ */ +# $KAME: getaddrinfo.c,v 1.29 2000/08/31 17:26:57 itojun Exp $ */ +# +# Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. 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. +# 3. Neither the name of the project 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 PROJECT 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 PROJECT 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. + +package( + default_visibility = ["//visibility:public"], + features = [ + "-layering_check", + "-parse_headers", + ], +) + +load(":address_sorting.bzl", "address_sorting_cc_library") + +licenses(["notice"]) # BSD + +exports_files(["LICENSE"]) + +address_sorting_cc_library( + name = "address_sorting", + srcs = [ + "address_sorting.c", + "address_sorting_posix.c", + "address_sorting_windows.c", + ], + hdrs = [ + "include/address_sorting/address_sorting.h", + "address_sorting_internal.h", + ], + copts = ["-std=c99"], + includes = [ + "include", + ], +) diff --git a/third_party/address_sorting/LICENSE b/third_party/address_sorting/LICENSE new file mode 100644 index 0000000000..db4b5a5941 --- /dev/null +++ b/third_party/address_sorting/LICENSE @@ -0,0 +1,6101 @@ + Copyright (c) 2014, ARM Limited + All rights Reserved. + Copyright (c) 2014, Linaro Ltd. + + 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 the company 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 + HOLDER 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. + +------------------------------------------------------------------- + + Copyright (c) 2014, Linaro Limited + 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 the Linaro 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 + HOLDER 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. + +------------------------------------------------------------------- + + Copyright (c) 1993 John Brezak + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. 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. + 3. The name of the author may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR `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 AUTHOR 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. + +------------------------------------------------------------------- + + Copyright (c) 2009-2013 The Linux Foundation. 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 The Linux Foundation 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 HOLDER 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. + +------------------------------------------------------------------- + +==================================================== +Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. + +Developed at SunPro, a Sun Microsystems, Inc. business. +Permission to use, copy, modify, and distribute this +software is freely granted, provided that this notice +is preserved. + +------------------------------------------------------------------- + +==================================================== +Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. + +Developed at SunPro, a Sun Microsystems, Inc. business. +Permission to use, copy, modify, and distribute this +software is freely granted, provided that this notice +is preserved. +==================================================== + +Optimized by Bruce D. Evans. + +------------------------------------------------------------------- + +==================================================== +Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. + +Developed at SunSoft, a Sun Microsystems, Inc. business. +Permission to use, copy, modify, and distribute this +software is freely granted, provided that this notice +is preserved. + +------------------------------------------------------------------- + +==================================================== +Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. + +Developed at SunSoft, a Sun Microsystems, Inc. business. +Permission to use, copy, modify, and distribute this +software is freely granted, provided that this notice +is preserved. +==================================================== + +Optimized by Bruce D. Evans. + +------------------------------------------------------------------- + +==================================================== +Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. +Copyright (c) 2008 Steven G. Kargl, David Schultz, Bruce D. Evans. + +Developed at SunSoft, a Sun Microsystems, Inc. business. +Permission to use, copy, modify, and distribute this +software is freely granted, provided that this notice +is preserved. + +------------------------------------------------------------------- + +==================================================== +Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. +Copyright (c) 2008 Steven G. Kargl, David Schultz, Bruce D. Evans. + +Developed at SunSoft, a Sun Microsystems, Inc. business. +Permission to use, copy, modify, and distribute this +software is freely granted, provided that this notice +is preserved. +==================================================== + +Optimized by Bruce D. Evans. + +------------------------------------------------------------------- + +==================================================== +Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. +Copyright (c) 2009-2011, Bruce D. Evans, Steven G. Kargl, David Schultz. + +Developed at SunPro, a Sun Microsystems, Inc. business. +Permission to use, copy, modify, and distribute this +software is freely granted, provided that this notice +is preserved. +==================================================== + +The argument reduction and testing for exceptional cases was +written by Steven G. Kargl with input from Bruce D. Evans +and David A. Schultz. + +------------------------------------------------------------------- + +==================================================== +Copyright (C) 2004 by Sun Microsystems, Inc. All rights reserved. + +Permission to use, copy, modify, and distribute this +software is freely granted, provided that this notice +is preserved. + +------------------------------------------------------------------- + +==================================================== +Copyright 2004 Sun Microsystems, Inc. All Rights Reserved. + +Permission to use, copy, modify, and distribute this +software is freely granted, provided that this notice +is preserved. + +------------------------------------------------------------------- + +==================================================== +Copyright 2004 Sun Microsystems, Inc. All Rights Reserved. +Copyright (c) 2008 Steven G. Kargl, David Schultz, Bruce D. Evans. + +Permission to use, copy, modify, and distribute this +software is freely granted, provided that this notice +is preserved. + +------------------------------------------------------------------- + +Based on the UCB version with the ID appearing below. +This is ANSIish only when "multibyte character == plain character". + +Copyright (c) 1989, 1993 + The Regents of the University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. +3. Neither the name of the University 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 REGENTS 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 REGENTS 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. + +------------------------------------------------------------------- + +Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. +3. Neither the name of the project 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 PROJECT 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 PROJECT 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. + +------------------------------------------------------------------- + +Copyright (C) 2004, 2005, 2008 Internet Systems Consortium, Inc. ("ISC") +Copyright (C) 1995-1999, 2001, 2003 Internet Software Consortium. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE +OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. + +------------------------------------------------------------------- + +Copyright (C) 2004, 2005, 2008 Internet Systems Consortium, Inc. ("ISC") +Copyright (C) 1997-2001 Internet Software Consortium. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE +OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. + +------------------------------------------------------------------- + +Copyright (C) 2006 The Android Open Source Project + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +------------------------------------------------------------------- + +Copyright (C) 2006 The Android Open Source Project +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. + +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. + +------------------------------------------------------------------- + +Copyright (C) 2007 The Android Open Source Project + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +------------------------------------------------------------------- + +Copyright (C) 2007 The Android Open Source Project +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. + +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. + +------------------------------------------------------------------- + +Copyright (C) 2008 The Android Open Source Project + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +------------------------------------------------------------------- + +Copyright (C) 2008 The Android Open Source Project +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. + +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. + +------------------------------------------------------------------- + +Copyright (C) 2008 The Android Open Source Project +All rights reserved. +Copyright (c) 2013-2014, NVIDIA Corporation. 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. + +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. + +------------------------------------------------------------------- + +Copyright (C) 2009 The Android Open Source Project +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. + +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. + +------------------------------------------------------------------- + +Copyright (C) 2010 The Android Open Source Project + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +------------------------------------------------------------------- + +Copyright (C) 2010 The Android Open Source Project +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. + +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. + +------------------------------------------------------------------- + +Copyright (C) 2010 The Android Open Source Project +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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. + +------------------------------------------------------------------- + +Copyright (C) 2010 The Android Open Source Project +Copyright (c) 2008 ARM Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. +3. The name of the company may not be used to endorse or promote + products derived from this software without specific prior written + permission. + +THIS SOFTWARE IS PROVIDED BY ARM LTD ``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 ARM LTD 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. + +Android adaptation and tweak by Jim Huang <jserv@0xlab.org>. + +------------------------------------------------------------------- + +Copyright (C) 2011 The Android Open Source Project +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. + +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. + +------------------------------------------------------------------- + +Copyright (C) 2012 The Android Open Source Project + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +------------------------------------------------------------------- + +Copyright (C) 2012 The Android Open Source Project +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. + +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. + +------------------------------------------------------------------- + +Copyright (C) 2013 Pietro Cerutti <gahr@FreeBSD.org> + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. + +THIS SOFTWARE IS PROVIDED BY AUTHOR 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 AUTHOR 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. + +------------------------------------------------------------------- + +Copyright (C) 2013 The Android Open Source Project + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +------------------------------------------------------------------- + +Copyright (C) 2013 The Android Open Source Project +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. + +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. + +------------------------------------------------------------------- + +Copyright (C) 2013 The Android Open Source Project +All rights reserved. +Copyright (c) 2013-2014 NVIDIA Corporation. 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. + +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. + +------------------------------------------------------------------- + +Copyright (C) 2013 The Android Open Source Project +Copyright (c) 2014, NVIDIA CORPORATION. All rights reserved. +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. + +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. + +------------------------------------------------------------------- + +Copyright (C) 2014 The Android Open Source Project + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +------------------------------------------------------------------- + +Copyright (C) 2014 The Android Open Source Project +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. + +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. + +------------------------------------------------------------------- + +Copyright (C) 2014 The Android Open Source Project +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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. + +------------------------------------------------------------------- + +Copyright (C) 2015 The Android Open Source Project + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +------------------------------------------------------------------- + +Copyright (C) 2015 The Android Open Source Project +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. + +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. + +------------------------------------------------------------------- + +Copyright (C) 2016 The Android Open Source Project + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +------------------------------------------------------------------- + +Copyright (C) 2016 The Android Open Source Project +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. + +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. + +------------------------------------------------------------------- + +Copyright (C) 2017 The Android Open Source Project + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +------------------------------------------------------------------- + +Copyright (C) 2017 The Android Open Source Project +All rights reserved. + +Copyright (c) 2009-2011, Code Aurora Forum. 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. + +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. + +------------------------------------------------------------------- + +Copyright (C) 2017 The Android Open Source Project +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. + +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. + +------------------------------------------------------------------- + +Copyright (c) 1980, 1983, 1988, 1993 + The Regents of the University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. +3. All advertising materials mentioning features or use of this software + must display the following acknowledgement: + This product includes software developed by the University of + California, Berkeley and its contributors. +4. Neither the name of the University 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 REGENTS 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 REGENTS 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. + + +Portions Copyright (c) 1993 by Digital Equipment Corporation. + +Permission to use, copy, modify, and distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies, and that +the name of Digital Equipment Corporation not be used in advertising or +publicity pertaining to distribution of the document or software without +specific, written prior permission. + +THE SOFTWARE IS PROVIDED "AS IS" AND DIGITAL EQUIPMENT CORP. DISCLAIMS ALL +WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES +OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL DIGITAL EQUIPMENT +CORPORATION BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL +DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR +PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS +ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +------------------------------------------------------------------- + +Copyright (c) 1982, 1986, 1993 + The Regents of the University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. +3. Neither the name of the University 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 REGENTS 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 REGENTS 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. + +------------------------------------------------------------------- + +Copyright (c) 1982, 1986, 1993 + The Regents of the University of California. All rights reserved. +(c) UNIX System Laboratories, Inc. +All or some portions of this file are derived from material licensed +to the University of California by American Telephone and Telegraph +Co. or Unix System Laboratories, Inc. and are reproduced herein with +the permission of UNIX System Laboratories, Inc. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. +3. Neither the name of the University 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 REGENTS 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 REGENTS 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. + +------------------------------------------------------------------- + +Copyright (c) 1983, 1987, 1989 + The Regents of the University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. +3. Neither the name of the University 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 REGENTS 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 REGENTS 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. + +------------------------------------------------------------------- + +Copyright (c) 1983, 1989 + The Regents of the University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. +3. All advertising materials mentioning features or use of this software + must display the following acknowledgement: + This product includes software developed by the University of + California, Berkeley and its contributors. +4. Neither the name of the University 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 REGENTS 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 REGENTS 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. + +------------------------------------------------------------------- + +Copyright (c) 1983, 1989, 1993 + The Regents of the University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. +3. Neither the name of the University 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 REGENTS 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 REGENTS 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. + +------------------------------------------------------------------- + +Copyright (c) 1983, 1993 + The Regents of the University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. +3. Neither the name of the University 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 REGENTS 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 REGENTS 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. + +------------------------------------------------------------------- + +Copyright (c) 1985 + The Regents of the University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. +3. All advertising materials mentioning features or use of this software + must display the following acknowledgement: + This product includes software developed by the University of + California, Berkeley and its contributors. +4. Neither the name of the University 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 REGENTS 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 REGENTS 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. + +------------------------------------------------------------------- + +Copyright (c) 1985 Regents of the University of California. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. +3. Neither the name of the University 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 REGENTS 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 REGENTS 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. + +------------------------------------------------------------------- + +Copyright (c) 1985, 1988, 1993 + The Regents of the University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. +3. Neither the name of the University 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 REGENTS 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 REGENTS 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. + +Portions Copyright (c) 1993 by Digital Equipment Corporation. + +Permission to use, copy, modify, and distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies, and that +the name of Digital Equipment Corporation not be used in advertising or +publicity pertaining to distribution of the document or software without +specific, written prior permission. + +THE SOFTWARE IS PROVIDED "AS IS" AND DIGITAL EQUIPMENT CORP. DISCLAIMS ALL +WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES +OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL DIGITAL EQUIPMENT +CORPORATION BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL +DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR +PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS +ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +------------------------------------------------------------------- + +Copyright (c) 1985, 1989, 1993 + The Regents of the University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. +3. All advertising materials mentioning features or use of this software + must display the following acknowledgement: + This product includes software developed by the University of + California, Berkeley and its contributors. +4. Neither the name of the University 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 REGENTS 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 REGENTS 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. + +------------------------------------------------------------------- + +Copyright (c) 1985, 1993 + The Regents of the University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. +3. All advertising materials mentioning features or use of this software + must display the following acknowledgement: + This product includes software developed by the University of + California, Berkeley and its contributors. +4. Neither the name of the University 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 REGENTS 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 REGENTS 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. + +------------------------------------------------------------------- + +Copyright (c) 1985, 1993 + The Regents of the University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. +3. All advertising materials mentioning features or use of this software + must display the following acknowledgement: + This product includes software developed by the University of + California, Berkeley and its contributors. +4. Neither the name of the University 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 REGENTS 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 REGENTS 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. + +------------------------------------------------------------------- + +Copyright (c) 1985, 1993 + The Regents of the University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. +3. Neither the name of the University 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 REGENTS 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 REGENTS 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. + +------------------------------------------------------------------- + +Copyright (c) 1987 Regents of the University of California. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. +3. Neither the name of the University 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 REGENTS 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 REGENTS 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. + +------------------------------------------------------------------- + +Copyright (c) 1987, 1993 + The Regents of the University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. +3. All advertising materials mentioning features or use of this software + must display the following acknowledgement: + This product includes software developed by the University of + California, Berkeley and its contributors. +4. Neither the name of the University 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 REGENTS 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 REGENTS 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. + +------------------------------------------------------------------- + +Copyright (c) 1987, 1993 + The Regents of the University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. +3. Neither the name of the University 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 REGENTS 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 REGENTS 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. + +------------------------------------------------------------------- + +Copyright (c) 1988 Regents of the University of California. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. +3. Neither the name of the University 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 REGENTS 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 REGENTS 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. + +------------------------------------------------------------------- + +Copyright (c) 1988 The Regents of the University of California. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. +3. Neither the name of the University 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 REGENTS 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 REGENTS 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. + +------------------------------------------------------------------- + +Copyright (c) 1988, 1993 + The Regents of the University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. +3. All advertising materials mentioning features or use of this software + must display the following acknowledgement: + This product includes software developed by the University of + California, Berkeley and its contributors. +4. Neither the name of the University 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 REGENTS 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 REGENTS 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. + +------------------------------------------------------------------- + +Copyright (c) 1988, 1993 + The Regents of the University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. +3. All advertising materials mentioning features or use of this software + must display the following acknowledgement: + This product includes software developed by the University of + California, Berkeley and its contributors. +4. Neither the name of the University 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 REGENTS 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 REGENTS 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. + +------------------------------------------------------------------- + +Copyright (c) 1988, 1993 + The Regents of the University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. +3. Neither the name of the University 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 REGENTS 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 REGENTS 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. + +------------------------------------------------------------------- + +Copyright (c) 1988, 1993 + The Regents of the University of California. All rights reserved. + +This code is derived from software written by Ken Arnold and +published in UNIX Review, Vol. 6, No. 8. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. +3. Neither the name of the University 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 REGENTS 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 REGENTS 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. + +------------------------------------------------------------------- + +Copyright (c) 1989 The Regents of the University of California. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. +3. Neither the name of the University 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 REGENTS 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 REGENTS 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. + +------------------------------------------------------------------- + +Copyright (c) 1989 The Regents of the University of California. +All rights reserved. +(c) UNIX System Laboratories, Inc. +All or some portions of this file are derived from material licensed +to the University of California by American Telephone and Telegraph +Co. or Unix System Laboratories, Inc. and are reproduced herein with +the permission of UNIX System Laboratories, Inc. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. +3. Neither the name of the University 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 REGENTS 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 REGENTS 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. + +------------------------------------------------------------------- + +Copyright (c) 1989, 1993 + The Regents of the University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. +3. Neither the name of the University 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 REGENTS 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 REGENTS 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. + +------------------------------------------------------------------- + +Copyright (c) 1989, 1993 + The Regents of the University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. +4. Neither the name of the University 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 REGENTS 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 REGENTS 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. + +------------------------------------------------------------------- + +Copyright (c) 1989, 1993 + The Regents of the University of California. All rights reserved. + +This code is derived from software contributed to Berkeley by +Guido van Rossum. + +Copyright (c) 2011 The FreeBSD Foundation +All rights reserved. +Portions of this software were developed by David Chisnall +under sponsorship from the FreeBSD Foundation. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. +3. Neither the name of the University 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 REGENTS 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 REGENTS 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. + +------------------------------------------------------------------- + +Copyright (c) 1989, 1993 + The Regents of the University of California. All rights reserved. + +This code is derived from software contributed to Berkeley by +Guido van Rossum. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. +3. Neither the name of the University 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 REGENTS 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 REGENTS 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. + +------------------------------------------------------------------- + +Copyright (c) 1989, 1993 + The Regents of the University of California. All rights reserved. + +This code is derived from software contributed to Berkeley by +Roger L. Snyder. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. +3. Neither the name of the University 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 REGENTS 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 REGENTS 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. + +------------------------------------------------------------------- + +Copyright (c) 1989, 1993 + The Regents of the University of California. All rights reserved. +(c) UNIX System Laboratories, Inc. +All or some portions of this file are derived from material licensed +to the University of California by American Telephone and Telegraph +Co. or Unix System Laboratories, Inc. and are reproduced herein with +the permission of UNIX System Laboratories, Inc. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. +3. Neither the name of the University 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 REGENTS 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 REGENTS 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. + +------------------------------------------------------------------- + +Copyright (c) 1990 Regents of the University of California. +All rights reserved. + +This code is derived from software contributed to Berkeley by +Chris Torek. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. +3. Neither the name of the University 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 REGENTS 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 REGENTS 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. + +------------------------------------------------------------------- + +Copyright (c) 1990 The Regents of the University of California. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. +3. Neither the name of the University 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 REGENTS 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 REGENTS 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. + +------------------------------------------------------------------- + +Copyright (c) 1990 The Regents of the University of California. +All rights reserved. + +This code is derived from software contributed to Berkeley by +Chris Torek. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. +3. Neither the name of the University 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 REGENTS 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 REGENTS 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. + +------------------------------------------------------------------- + +Copyright (c) 1990 The Regents of the University of California. +All rights reserved. + +This code is derived from software contributed to Berkeley by +William Jolitz. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. +3. Neither the name of the University 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 REGENTS 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 REGENTS 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. + +------------------------------------------------------------------- + +Copyright (c) 1990, 1993 + The Regents of the University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. +3. Neither the name of the University 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 REGENTS 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 REGENTS 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. + +------------------------------------------------------------------- + +Copyright (c) 1990, 1993 + The Regents of the University of California. All rights reserved. + +This code is derived from software contributed to Berkeley by +Chris Torek. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. +3. Neither the name of the University 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 REGENTS 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 REGENTS 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. + +------------------------------------------------------------------- + +Copyright (c) 1990, 1993 + The Regents of the University of California. All rights reserved. + +This code is derived from software contributed to Berkeley by +Donn Seeley at UUNET Technologies, Inc. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. +3. Neither the name of the University 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 REGENTS 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 REGENTS 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. + +------------------------------------------------------------------- + +Copyright (c) 1990, 1993 + The Regents of the University of California. All rights reserved. + +This code is derived from software contributed to Berkeley by +Donn Seeley at UUNET Technologies, Inc. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. +4. Neither the name of the University 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 REGENTS 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 REGENTS 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. + +------------------------------------------------------------------- + +Copyright (c) 1990, 1993 + The Regents of the University of California. All rights reserved. +(c) UNIX System Laboratories, Inc. +All or some portions of this file are derived from material licensed +to the University of California by American Telephone and Telegraph +Co. or Unix System Laboratories, Inc. and are reproduced herein with +the permission of UNIX System Laboratories, Inc. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. +3. Neither the name of the University 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 REGENTS 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 REGENTS 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. + +------------------------------------------------------------------- + +Copyright (c) 1990, 1993, 1994 + The Regents of the University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. +3. Neither the name of the University 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 REGENTS 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 REGENTS 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. + +------------------------------------------------------------------- + +Copyright (c) 1990, 1993, 1994 + The Regents of the University of California. All rights reserved. + +This code is derived from software contributed to Berkeley by +Chris Torek. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. +3. Neither the name of the University 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 REGENTS 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 REGENTS 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. + +------------------------------------------------------------------- + +Copyright (c) 1991 The Regents of the University of California. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. +3. Neither the name of the University 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 REGENTS 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 REGENTS 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. + +------------------------------------------------------------------- + +Copyright (c) 1991, 1993 + The Regents of the University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. +3. Neither the name of the University 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 REGENTS 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 REGENTS 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. + +------------------------------------------------------------------- + +Copyright (c) 1991, 1993 + The Regents of the University of California. All rights reserved. + +This code is derived from software contributed to Berkeley by +Berkeley Software Design, Inc. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. +3. Neither the name of the University 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 REGENTS 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 REGENTS 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. + +------------------------------------------------------------------- + +Copyright (c) 1991, 1993 + The Regents of the University of California. All rights reserved. +(c) UNIX System Laboratories, Inc. +All or some portions of this file are derived from material licensed +to the University of California by American Telephone and Telegraph +Co. or Unix System Laboratories, Inc. and are reproduced herein with +the permission of UNIX System Laboratories, Inc. + +This code is derived from software contributed to Berkeley by +Hugh Smith at The University of Guelph. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. +3. Neither the name of the University 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 REGENTS 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 REGENTS 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. + +------------------------------------------------------------------- + +Copyright (c) 1991, 1993, 1995, + The Regents of the University of California. All rights reserved. + +This code is derived from software contributed to Berkeley by +Havard Eidnes. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. +3. Neither the name of the University 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 REGENTS 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 REGENTS 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. + +------------------------------------------------------------------- + +Copyright (c) 1992 Henry Spencer. +Copyright (c) 1992, 1993 + The Regents of the University of California. All rights reserved. + +This code is derived from software contributed to Berkeley by +Henry Spencer of the University of Toronto. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. +3. Neither the name of the University 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 REGENTS 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 REGENTS 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. + +------------------------------------------------------------------- + +Copyright (c) 1992 The Regents of the University of California. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. +3. Neither the name of the University 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 REGENTS 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 REGENTS 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. + +------------------------------------------------------------------- + +Copyright (c) 1992, 1993 + The Regents of the University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. +3. All advertising materials mentioning features or use of this software + must display the following acknowledgement: + This product includes software developed by the University of + California, Berkeley and its contributors. +4. Neither the name of the University 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 REGENTS 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 REGENTS 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. + +------------------------------------------------------------------- + +Copyright (c) 1992, 1993 + The Regents of the University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. +3. Neither the name of the University 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 REGENTS 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 REGENTS 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. + +------------------------------------------------------------------- + +Copyright (c) 1992, 1993 + The Regents of the University of California. All rights reserved. + +This code is derived from software contributed to Berkeley by +Ralph Campbell. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. +3. Neither the name of the University 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 REGENTS 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 REGENTS 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. + +------------------------------------------------------------------- + +Copyright (c) 1992, 1993 + The Regents of the University of California. All rights reserved. + +This software was developed by the Computer Systems Engineering group +at Lawrence Berkeley Laboratory under DARPA contract BG 91-66 and +contributed to Berkeley. + +All advertising materials mentioning features or use of this software +must display the following acknowledgement: + This product includes software developed by the University of + California, Lawrence Berkeley Laboratory. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. +3. All advertising materials mentioning features or use of this software + must display the following acknowledgement: + This product includes software developed by the University of + California, Berkeley and its contributors. +4. Neither the name of the University 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 REGENTS 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 REGENTS 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. + +------------------------------------------------------------------- + +Copyright (c) 1992, 1993 + The Regents of the University of California. All rights reserved. +(c) UNIX System Laboratories, Inc. +All or some portions of this file are derived from material licensed +to the University of California by American Telephone and Telegraph +Co. or Unix System Laboratories, Inc. and are reproduced herein with +the permission of UNIX System Laboratories, Inc. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. +3. Neither the name of the University 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 REGENTS 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 REGENTS 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. + +------------------------------------------------------------------- + +Copyright (c) 1992, 1993, 1994 + The Regents of the University of California. All rights reserved. + +This code is derived from software contributed to Berkeley by +Henry Spencer. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. +3. Neither the name of the University 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 REGENTS 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 REGENTS 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. + +------------------------------------------------------------------- + +Copyright (c) 1992, 1993, 1994 Henry Spencer. + +This code is derived from software contributed to Berkeley by +Henry Spencer. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. +3. All advertising materials mentioning features or use of this software + must display the following acknowledgement: + This product includes software developed by the University of + California, Berkeley and its contributors. +4. Neither the name of the University 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 REGENTS 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 REGENTS 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. + +------------------------------------------------------------------- + +Copyright (c) 1993 + The Regents of the University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. +3. Neither the name of the University 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 REGENTS 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 REGENTS 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. + +------------------------------------------------------------------- + +Copyright (c) 1993 Martin Birgmeier +All rights reserved. + +You may redistribute unmodified or modified versions of this source +code provided that the above copyright notice and this and the +following conditions are retained. + +This software is provided ``as is'', and comes with no warranties +of any kind. I shall in no event be liable for anything that happens +to anyone/anything when using this software. + +------------------------------------------------------------------- + +Copyright (c) 1994 SigmaSoft, Th. Lockert <tholo@sigmasoft.com> +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. +3. The name of the author may not be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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. + +------------------------------------------------------------------- + +Copyright (c) 1996 by Internet Software Consortium. + +Permission to use, copy, modify, and distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS +ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES +OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE +CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL +DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR +PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS +ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +------------------------------------------------------------------- + +Copyright (c) 1996, David Mazieres <dm@uun.org> +Copyright (c) 2008, Damien Miller <djm@openbsd.org> +Copyright (c) 2013, Markus Friedl <markus@openbsd.org> + +Permission to use, copy, modify, and distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +------------------------------------------------------------------- + +Copyright (c) 1996, David Mazieres <dm@uun.org> +Copyright (c) 2008, Damien Miller <djm@openbsd.org> +Copyright (c) 2013, Markus Friedl <markus@openbsd.org> +Copyright (c) 2014, Theo de Raadt <deraadt@openbsd.org> + +Permission to use, copy, modify, and distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +------------------------------------------------------------------- + +Copyright (c) 1996-1998, 2008 Theo de Raadt +Copyright (c) 1997, 2008-2009 Todd C. Miller + +Permission to use, copy, modify, and distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +------------------------------------------------------------------- + +Copyright (c) 1997 Mark Brinicombe +Copyright (C) 2010 The Android Open Source Project +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. +3. All advertising materials mentioning features or use of this software + must display the following acknowledgement: + This product includes software developed by Mark Brinicombe +4. Neither the name of the University 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 AUTHOR 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 AUTHOR 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. + +------------------------------------------------------------------- + +Copyright (c) 1997 Niklas Hallqvist. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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. + +------------------------------------------------------------------- + +Copyright (c) 1997 Todd C. Miller <Todd.Miller@courtesan.com> + +Permission to use, copy, modify, and distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +------------------------------------------------------------------- + +Copyright (c) 1997 Todd C. Miller <Todd.Miller@courtesan.com> +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. +3. The name of the author may not be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED ``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 AUTHOR 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. + +------------------------------------------------------------------- + +Copyright (c) 1997, 1998 The NetBSD Foundation, Inc. +All rights reserved. + +This code was contributed to The NetBSD Foundation by Klaus Klein. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. +3. All advertising materials mentioning features or use of this software + must display the following acknowledgement: + This product includes software developed by the NetBSD + Foundation, Inc. and its contributors. +4. Neither the name of The NetBSD Foundation 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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. + +------------------------------------------------------------------- + +Copyright (c) 1997, 1998, 1999, 2004 The NetBSD Foundation, Inc. +All rights reserved. + +This code is derived from software contributed to The NetBSD Foundation +by Luke Mewburn. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. + +THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. 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 FOUNDATION 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. + +------------------------------------------------------------------- + +Copyright (c) 1997, 1998, 1999, 2004 The NetBSD Foundation, Inc. +All rights reserved. + +This code is derived from software contributed to The NetBSD Foundation +by Luke Mewburn; and by Jason R. Thorpe. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. +3. All advertising materials mentioning features or use of this software + must display the following acknowledgement: + This product includes software developed by the NetBSD + Foundation, Inc. and its contributors. +4. Neither the name of The NetBSD Foundation 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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. + +------------------------------------------------------------------- + +Copyright (c) 1997, 2005 Todd C. Miller <Todd.Miller@courtesan.com> + +Permission to use, copy, modify, and distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +------------------------------------------------------------------- + +Copyright (c) 1998 Softweyr LLC. All rights reserved. + +strtok_r, from Berkeley strtok +Oct 13, 1998 by Wes Peters <wes@softweyr.com> + +Copyright (c) 1988, 1993 + The Regents of the University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notices, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notices, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3. Neither the name of the University 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 SOFTWEYR LLC, THE REGENTS 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 SOFTWEYR LLC, THE +REGENTS, 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. + +------------------------------------------------------------------- + +Copyright (c) 1998 The NetBSD Foundation, Inc. +All rights reserved. + +This code is derived from software contributed to The NetBSD Foundation +by Klaus Klein. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. +3. All advertising materials mentioning features or use of this software + must display the following acknowledgement: + This product includes software developed by the NetBSD + Foundation, Inc. and its contributors. +4. Neither the name of The NetBSD Foundation 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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. + +------------------------------------------------------------------- + +Copyright (c) 1998 Todd C. Miller <Todd.Miller@courtesan.com> +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. +3. The name of the author may not be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED ``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 AUTHOR 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. + +------------------------------------------------------------------- + +Copyright (c) 1998, 2015 Todd C. Miller <Todd.Miller@courtesan.com> + +Permission to use, copy, modify, and distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +------------------------------------------------------------------- + +Copyright (c) 1999 + David E. O'Brien +Copyright (c) 1988, 1993 + The Regents of the University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. +3. Neither the name of the University 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 REGENTS 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 REGENTS 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. + +------------------------------------------------------------------- + +Copyright (c) 2000 Ben Harris. +Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. +3. Neither the name of the project 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 PROJECT 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 PROJECT 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. + +------------------------------------------------------------------- + +Copyright (c) 2000 The NetBSD Foundation, Inc. +All rights reserved. + +This code is derived from software contributed to The NetBSD Foundation +by Dieter Baron and Thomas Klausner. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. + +THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. 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 FOUNDATION 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. + +------------------------------------------------------------------- + +Copyright (c) 2001 Wasabi Systems, Inc. +All rights reserved. + +Written by Frank van der Linden for Wasabi Systems, Inc. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. +3. All advertising materials mentioning features or use of this software + must display the following acknowledgement: + This product includes software developed for the NetBSD Project by + Wasabi Systems, Inc. +4. The name of Wasabi Systems, Inc. may not be used to endorse + or promote products derived from this software without specific prior + written permission. + +THIS SOFTWARE IS PROVIDED BY WASABI SYSTEMS, INC. ``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 WASABI SYSTEMS, INC +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. + +------------------------------------------------------------------- + +Copyright (c) 2001-2002 Opsycon AB (www.opsycon.se / www.opsycon.com) + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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. + +------------------------------------------------------------------- + +Copyright (c) 2001-2002 Opsycon AB (www.opsycon.se / www.opsycon.com) + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. +3. Neither the name of Opsycon AB 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 AUTHOR ``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 AUTHOR 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. + +------------------------------------------------------------------- + +Copyright (c) 2001-2011 The FreeBSD Project. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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. + +------------------------------------------------------------------- + +Copyright (c) 2002 Daniel Hartmeier +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. + +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 HOLDERS 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. + +------------------------------------------------------------------- + +Copyright (c) 2002 The NetBSD Foundation, Inc. +All rights reserved. + +This code is derived from software contributed to The NetBSD Foundation +by Christos Zoulas. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. + +THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. 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 FOUNDATION 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. + +------------------------------------------------------------------- + +Copyright (c) 2002 Tim J. Robbins +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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. + +------------------------------------------------------------------- + +Copyright (c) 2002 Tim J. Robbins. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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. + +------------------------------------------------------------------- + +Copyright (c) 2002 Todd C. Miller <Todd.Miller@courtesan.com> + +Permission to use, copy, modify, and distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +Sponsored in part by the Defense Advanced Research Projects +Agency (DARPA) and Air Force Research Laboratory, Air Force +Materiel Command, USAF, under agreement number F39502-99-1-0512. + +------------------------------------------------------------------- + +Copyright (c) 2002, 2003 Tim J. Robbins. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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. + +------------------------------------------------------------------- + +Copyright (c) 2002-2004 Tim J. Robbins +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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. + +------------------------------------------------------------------- + +Copyright (c) 2002-2004 Tim J. Robbins. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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. + +------------------------------------------------------------------- + +Copyright (c) 2003 Constantin S. Svintsoff <kostik@iclub.nsu.ru> + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. +3. The names of the authors may not be used to endorse or promote + products derived from this software without specific prior written + permission. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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. + +------------------------------------------------------------------- + +Copyright (c) 2003 Dag-Erling Smørgrav +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer + in this position and unchanged. +2. 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. +3. The name of the author may not be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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. + +------------------------------------------------------------------- + +Copyright (c) 2003 David Schultz <das@FreeBSD.ORG> +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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. + +------------------------------------------------------------------- + +Copyright (c) 2003 Mike Barcroft <mike@FreeBSD.org> +Copyright (c) 2002 David Schultz <das@FreeBSD.ORG> +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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. + +------------------------------------------------------------------- + +Copyright (c) 2003 Networks Associates Technology, Inc. +All rights reserved. + +Portions of this software were developed for the FreeBSD Project by +Jacques A. Vidrine, Safeport Network Services, and Network +Associates Laboratories, the Security Research Division of Network +Associates, Inc. under DARPA/SPAWAR contract N66001-01-C-8035 +("CBOSS"), as part of the DARPA CHATS research program. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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. + +------------------------------------------------------------------- + +Copyright (c) 2003 Todd C. Miller <Todd.Miller@courtesan.com> + +Permission to use, copy, modify, and distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +Sponsored in part by the Defense Advanced Research Projects +Agency (DARPA) and Air Force Research Laboratory, Air Force +Materiel Command, USAF, under agreement number F39502-99-1-0512. + +------------------------------------------------------------------- + +Copyright (c) 2003, 2004 Todd C. Miller <Todd.Miller@courtesan.com> + +Permission to use, copy, modify, and distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +Sponsored in part by the Defense Advanced Research Projects +Agency (DARPA) and Air Force Research Laboratory, Air Force +Materiel Command, USAF, under agreement number F39502-99-1-0512. + +------------------------------------------------------------------- + +Copyright (c) 2003, Steven G. Kargl +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice unmodified, this list of conditions, and the following + disclaimer. +2. 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. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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. + +------------------------------------------------------------------- + +Copyright (c) 2004 David Schultz <das@FreeBSD.ORG> +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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. + +------------------------------------------------------------------- + +Copyright (c) 2004 Stefan Farfeleder +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. + +THIS SOFTWARE IS PROVIDED BY AUTHOR 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 AUTHOR 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. + +------------------------------------------------------------------- + +Copyright (c) 2004 by Internet Systems Consortium, Inc. ("ISC") +Copyright (c) 1995,1999 by Internet Software Consortium. + +Permission to use, copy, modify, and distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT +OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +------------------------------------------------------------------- + +Copyright (c) 2004 by Internet Systems Consortium, Inc. ("ISC") +Copyright (c) 1995-1999 by Internet Software Consortium + +Permission to use, copy, modify, and distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT +OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +------------------------------------------------------------------- + +Copyright (c) 2004 by Internet Systems Consortium, Inc. ("ISC") +Copyright (c) 1995-1999 by Internet Software Consortium. + +Permission to use, copy, modify, and distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT +OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +------------------------------------------------------------------- + +Copyright (c) 2004 by Internet Systems Consortium, Inc. ("ISC") +Copyright (c) 1996,1999 by Internet Software Consortium. + +Permission to use, copy, modify, and distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT +OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +------------------------------------------------------------------- + +Copyright (c) 2004 by Internet Systems Consortium, Inc. ("ISC") +Copyright (c) 1996-1999 by Internet Software Consortium + +Permission to use, copy, modify, and distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT +OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +------------------------------------------------------------------- + +Copyright (c) 2004 by Internet Systems Consortium, Inc. ("ISC") +Copyright (c) 1996-1999 by Internet Software Consortium. + +Permission to use, copy, modify, and distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT +OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +------------------------------------------------------------------- + +Copyright (c) 2004 by Internet Systems Consortium, Inc. ("ISC") +Copyright (c) 1997,1999 by Internet Software Consortium. + +Permission to use, copy, modify, and distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT +OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +------------------------------------------------------------------- + +Copyright (c) 2004 by Internet Systems Consortium, Inc. ("ISC") +Copyright (c) 1999 by Internet Software Consortium. + +Permission to use, copy, modify, and distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT +OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +------------------------------------------------------------------- + +Copyright (c) 2004 by Internet Systems Consortium, Inc. ("ISC") +Portions Copyright (c) 1996-1999 by Internet Software Consortium. + +Permission to use, copy, modify, and distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT +OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +------------------------------------------------------------------- + +Copyright (c) 2004, 2005 David Schultz <das@FreeBSD.ORG> +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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. + +------------------------------------------------------------------- + +Copyright (c) 2004-2005 David Schultz <das (at) FreeBSD.ORG> +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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. + +------------------------------------------------------------------- + +Copyright (c) 2004-2005 David Schultz <das@FreeBSD.ORG> +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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. + +------------------------------------------------------------------- + +Copyright (c) 2005 Bruce D. Evans and Steven G. Kargl +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice unmodified, this list of conditions, and the following + disclaimer. +2. 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. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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. + +------------------------------------------------------------------- + +Copyright (c) 2005 David Schultz <das@FreeBSD.ORG> +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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. + +------------------------------------------------------------------- + +Copyright (c) 2005 Tim J. Robbins. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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. + +------------------------------------------------------------------- + +Copyright (c) 2005 by Internet Systems Consortium, Inc. ("ISC") +Copyright (c) 1995-1999 by Internet Software Consortium + +Permission to use, copy, modify, and distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT +OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +------------------------------------------------------------------- + +Copyright (c) 2005-2008 David Schultz <das@FreeBSD.ORG> +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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. + +------------------------------------------------------------------- + +Copyright (c) 2005-2011 David Schultz <das@FreeBSD.ORG> +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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. + +------------------------------------------------------------------- + +Copyright (c) 2007 David Schultz +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. + +THIS SOFTWARE IS PROVIDED BY AUTHOR 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 AUTHOR 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. + +------------------------------------------------------------------- + +Copyright (c) 2007 David Schultz <das@FreeBSD.ORG> +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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. + +------------------------------------------------------------------- + +Copyright (c) 2007 David Schultz <das@FreeBSD.ORG> +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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. + +Derived from s_modf.c, which has the following Copyright: +==================================================== +Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. + +Developed at SunPro, a Sun Microsystems, Inc. business. +Permission to use, copy, modify, and distribute this +software is freely granted, provided that this notice +is preserved. + +------------------------------------------------------------------- + +Copyright (c) 2007 Steven G. Kargl +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice unmodified, this list of conditions, and the following + disclaimer. +2. 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. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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. + +------------------------------------------------------------------- + +Copyright (c) 2007 The NetBSD Foundation, Inc. +All rights reserved. + +This code is derived from software written by Stephen L. Moshier. +It is redistributed by the NetBSD Foundation by permission of the author. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. + +THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. 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 FOUNDATION 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. + +------------------------------------------------------------------- + +Copyright (c) 2007 Todd C. Miller <Todd.Miller@courtesan.com> + +Permission to use, copy, modify, and distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +------------------------------------------------------------------- + +Copyright (c) 2007-2008 Michael G Schwern + +This software originally derived from Paul Sheer's pivotal_gmtime_r.c. + +The 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. + +------------------------------------------------------------------- + +Copyright (c) 2007-2008 Michael G Schwern + +This software originally derived from Paul Sheer's pivotal_gmtime_r.c. + +The 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. + +Origin: http://code.google.com/p/y2038 +Modified for Bionic by the Android Open Source Project + +------------------------------------------------------------------- + +Copyright (c) 2007-2008 David Schultz <das@FreeBSD.ORG> +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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. + +------------------------------------------------------------------- + +Copyright (c) 2007-2013 Bruce D. Evans +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice unmodified, this list of conditions, and the following + disclaimer. +2. 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. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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. + +------------------------------------------------------------------- + +Copyright (c) 2008 David Schultz <das@FreeBSD.ORG> +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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. + +------------------------------------------------------------------- + +Copyright (c) 2008 Otto Moerbeek <otto@drijf.net> + +Permission to use, copy, modify, and distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +------------------------------------------------------------------- + +Copyright (c) 2008 Todd C. Miller <millert@openbsd.org> + +Permission to use, copy, modify, and distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +------------------------------------------------------------------- + +Copyright (c) 2008, Damien Miller <djm@openbsd.org> + +Permission to use, copy, modify, and distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +------------------------------------------------------------------- + +Copyright (c) 2009 David Schultz <das@FreeBSD.org> +All rights reserved. + +Copyright (c) 2011 The FreeBSD Foundation +All rights reserved. +Portions of this software were developed by David Chisnall +under sponsorship from the FreeBSD Foundation. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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. + +------------------------------------------------------------------- + +Copyright (c) 2009 David Schultz <das@FreeBSD.org> +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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. + +------------------------------------------------------------------- + +Copyright (c) 2009 The NetBSD Foundation, Inc. + +This code is derived from software contributed to The NetBSD Foundation +by Roy Marples. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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. + +------------------------------------------------------------------- + +Copyright (c) 2009-2013 Steven G. Kargl +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice unmodified, this list of conditions, and the following + disclaimer. +2. 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. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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. + +Optimized by Bruce D. Evans. + +------------------------------------------------------------------- + +Copyright (c) 2010 The NetBSD Foundation, 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: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. + +THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. 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 FOUNDATION 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. + +------------------------------------------------------------------- + +Copyright (c) 2010 Todd C. Miller <Todd.Miller@courtesan.com> + +Permission to use, copy, modify, and distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +------------------------------------------------------------------- + +Copyright (c) 2010, 2011, 2012, 2013 Intel Corporation +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 Intel Corporation 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. + +------------------------------------------------------------------- + +Copyright (c) 2010, Intel Corporation +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 Intel Corporation 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. + +------------------------------------------------------------------- + +Copyright (c) 2011 David Chisnall +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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. + +------------------------------------------------------------------- + +Copyright (c) 2011 David Schultz +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice unmodified, this list of conditions, and the following + disclaimer. +2. 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. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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. + +------------------------------------------------------------------- + +Copyright (c) 2011 David Schultz <das@FreeBSD.ORG> +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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. + +------------------------------------------------------------------- + +Copyright (c) 2011 Ed Schouten <ed@FreeBSD.org> + David Chisnall <theraven@FreeBSD.org> +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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. + +------------------------------------------------------------------- + +Copyright (c) 2011 Intel Corporation +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 Intel Corporation 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. + +------------------------------------------------------------------- + +Copyright (c) 2011 Martin Pieuchot <mpi@openbsd.org> + +Permission to use, copy, modify, and distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +------------------------------------------------------------------- + +Copyright (c) 2011 The Android Open Source Project +Copyright (c) 2008 ARM Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. +3. The name of the company may not be used to endorse or promote + products derived from this software without specific prior written + permission. + +THIS SOFTWARE IS PROVIDED BY ARM LTD ``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 ARM LTD 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. + +------------------------------------------------------------------- + +Copyright (c) 2011, 2012, 2013 Intel Corporation +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 Intel Corporation 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. + +------------------------------------------------------------------- + +Copyright (c) 2011, Intel Corporation +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 Intel Corporation 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. + +------------------------------------------------------------------- + +Copyright (c) 2011, VMware, 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 the VMware, 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 VMWARE, INC. 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. + +------------------------------------------------------------------- + +Copyright (c) 2012 Stephen Montgomery-Smith <stephen@FreeBSD.ORG> +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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. + +------------------------------------------------------------------- + +Copyright (c) 2012, Linaro Limited + 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 the Linaro 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 + HOLDER 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. + +------------------------------------------------------------------- + +Copyright (c) 2012, Linaro Limited + All rights reserved. + Copyright (c) 2014, NVIDIA Corporation. 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 the Linaro 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 + HOLDER 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. + +------------------------------------------------------------------- + +Copyright (c) 2012-2013, Linaro Limited + 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 the Linaro 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 + HOLDER 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 + +------------------------------------------------------------------- + +Copyright (c) 2013 + MIPS Technologies, Inc., California. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. +3. Neither the name of the MIPS Technologies, 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 MIPS TECHNOLOGIES, INC. ``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 MIPS TECHNOLOGIES, INC. 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. + +------------------------------------------------------------------- + +Copyright (c) 2013 ARM Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. +3. The name of the company may not be used to endorse or promote + products derived from this software without specific prior written + permission. + +THIS SOFTWARE IS PROVIDED BY ARM LTD ``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 ARM LTD 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. + +------------------------------------------------------------------- + +Copyright (c) 2013 Antoine Jacoutot <ajacoutot@openbsd.org> + +Permission to use, copy, modify, and distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +------------------------------------------------------------------- + +Copyright (c) 2013 The NetBSD Foundation, Inc. +All rights reserved. + +This code is derived from software contributed to The NetBSD Foundation +by Christos Zoulas. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. + +THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. 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 FOUNDATION 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. + +------------------------------------------------------------------- + +Copyright (c) 2013, Linaro Limited + 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 the Linaro 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 + HOLDER 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 + +------------------------------------------------------------------- + +Copyright (c) 2013-2014, NVIDIA Corporation. All rights reserved. +Johnny Qiu <joqiu@nvidia.com> +Shu Zhang <chazhang@nvidia.com> + +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 The Linux Foundation 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 "AS IS" AND ANY EXPRESS OR IMPLIED +WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT +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. + +------------------------------------------------------------------- + +Copyright (c) 2013-2015, Linaro Limited + 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 the Linaro 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 + HOLDER 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 + +------------------------------------------------------------------- + +Copyright (c) 2014 Theo de Raadt <deraadt@openbsd.org> +Copyright (c) 2014 Bob Beck <beck@obtuse.com> + +Permission to use, copy, modify, and distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +Emulation of getentropy(2) as documented at: +http://man.openbsd.org/getentropy.2 + +------------------------------------------------------------------- + +Copyright (c) 2014, Intel Corporation +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 Intel Corporation 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. + +------------------------------------------------------------------- + +Copyright (c) 2014, Linaro Limited + 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 the Linaro 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 + HOLDER 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. + +------------------------------------------------------------------- + +Copyright (c) 2015 ARM Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. +3. The name of the company may not be used to endorse or promote + products derived from this software without specific prior written + permission. + +THIS SOFTWARE IS PROVIDED BY ARM LTD ``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 ARM LTD 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. + +------------------------------------------------------------------- + +Copyright (c) 2015 Joerg Sonnenberger <joerg@NetBSD.org>. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. + +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 HOLDERS 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. + +------------------------------------------------------------------- + +Copyright (c) 2015 Nuxi, https://nuxi.nl/ + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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. + +------------------------------------------------------------------- + +Copyright (c) 2017 ARM Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. +3. The name of the company may not be used to endorse or promote + products derived from this software without specific prior written + permission. + +THIS SOFTWARE IS PROVIDED BY ARM LTD ``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 ARM LTD 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. + +------------------------------------------------------------------- + +Copyright (c) 2017 Imagination Technologies. + +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 Imagination Technologies 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. + +------------------------------------------------------------------- + +Copyright (c)1999 Citrus Project, +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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. + +------------------------------------------------------------------- + +Copyright (c)2001 Citrus Project, +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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. + +------------------------------------------------------------------- + +Copyright (c)2003 Citrus Project, +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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. + +------------------------------------------------------------------- + +Copyright 1989 The Regents of the University of California. + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. 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. + 3. Neither the name of the University 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 REGENTS 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 REGENTS 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 + +------------------------------------------------------------------- + +Copyright 1997 Niels Provos <provos@physnet.uni-hamburg.de> +Copyright 2008 Damien Miller <djm@openbsd.org> +All rights reserved. + +Theo de Raadt <deraadt@openbsd.org> came up with the idea of using +such a mathematical system to generate more random (yet non-repeating) +ids to solve the resolver/named problem. But Niels designed the +actual system based on the constraints. + +Later modified by Damien Miller to wrap the LCG output in a 15-bit +permutation generator based on a Luby-Rackoff block cipher. This +ensures the output is non-repeating and preserves the MSB twiddle +trick, but makes it more resistant to LCG prediction. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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: @(#)s_ilogb.c 5.1 93/09/24 +==================================================== +Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. + +Developed at SunPro, a Sun Microsystems, Inc. business. +Permission to use, copy, modify, and distribute this +software is freely granted, provided that this notice +is preserved. + +------------------------------------------------------------------- + +Portions Copyright (C) 2004, 2005, 2008, 2009 Internet Systems Consortium, Inc. ("ISC") +Portions Copyright (C) 1996-2003 Internet Software Consortium. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE +OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. + +------------------------------------------------------------------- + +Portions Copyright (c) 1993 by Digital Equipment Corporation. + +Permission to use, copy, modify, and distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies, and that +the name of Digital Equipment Corporation not be used in advertising or +publicity pertaining to distribution of the document or software without +specific, written prior permission. + +THE SOFTWARE IS PROVIDED "AS IS" AND DIGITAL EQUIPMENT CORP. DISCLAIMS ALL +WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES +OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL DIGITAL EQUIPMENT +CORPORATION BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL +DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR +PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS +ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +------------------------------------------------------------------- + +Portions Copyright (c) 1995 by International Business Machines, Inc. + +International Business Machines, Inc. (hereinafter called IBM) grants +permission under its copyrights to use, copy, modify, and distribute this +Software with or without fee, provided that the above copyright notice and +all paragraphs of this notice appear in all copies, and that the name of IBM +not be used in connection with the marketing of any product incorporating +the Software or modifications thereof, without specific, written prior +permission. + +To the extent it has a right to do so, IBM grants an immunity from suit +under its patents, if any, for the use, sale or manufacture of products to +the extent that such products are used for performing Domain Name System +dynamic updates in TCP/IP networks by means of the Software. No immunity is +granted for any product per se or for any other function of any product. + +THE SOFTWARE IS PROVIDED "AS IS", AND IBM DISCLAIMS ALL WARRANTIES, +INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE. IN NO EVENT SHALL IBM BE LIABLE FOR ANY SPECIAL, +DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER ARISING +OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE, EVEN +IF IBM IS APPRISED OF THE POSSIBILITY OF SUCH DAMAGES. + +------------------------------------------------------------------- + +Portions Copyright(C) 1995, Jason Downs. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``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 AUTHOR(S) 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. + +------------------------------------------------------------------- + +The author of this software is David M. Gay. + +Copyright (C) 1998 by Lucent Technologies +All Rights Reserved + +Permission to use, copy, modify, and distribute this software and +its documentation for any purpose and without fee is hereby +granted, provided that the above copyright notice appear in all +copies and that both that the copyright notice and this +permission notice and warranty disclaimer appear in supporting +documentation, and that the name of Lucent or any of its entities +not be used in advertising or publicity pertaining to +distribution of the software without specific, written prior +permission. + +LUCENT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. +IN NO EVENT SHALL LUCENT OR ANY OF ITS ENTITIES BE LIABLE FOR ANY +SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER +IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF +THIS SOFTWARE. + +------------------------------------------------------------------- + +The author of this software is David M. Gay. + +Copyright (C) 1998, 1999 by Lucent Technologies +All Rights Reserved + +Permission to use, copy, modify, and distribute this software and +its documentation for any purpose and without fee is hereby +granted, provided that the above copyright notice appear in all +copies and that both that the copyright notice and this +permission notice and warranty disclaimer appear in supporting +documentation, and that the name of Lucent or any of its entities +not be used in advertising or publicity pertaining to +distribution of the software without specific, written prior +permission. + +LUCENT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. +IN NO EVENT SHALL LUCENT OR ANY OF ITS ENTITIES BE LIABLE FOR ANY +SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER +IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF +THIS SOFTWARE. + +------------------------------------------------------------------- + +The author of this software is David M. Gay. + +Copyright (C) 1998, 2000 by Lucent Technologies +All Rights Reserved + +Permission to use, copy, modify, and distribute this software and +its documentation for any purpose and without fee is hereby +granted, provided that the above copyright notice appear in all +copies and that both that the copyright notice and this +permission notice and warranty disclaimer appear in supporting +documentation, and that the name of Lucent or any of its entities +not be used in advertising or publicity pertaining to +distribution of the software without specific, written prior +permission. + +LUCENT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. +IN NO EVENT SHALL LUCENT OR ANY OF ITS ENTITIES BE LIABLE FOR ANY +SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER +IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF +THIS SOFTWARE. + +------------------------------------------------------------------- + +The author of this software is David M. Gay. + +Copyright (C) 1998-2000 by Lucent Technologies +All Rights Reserved + +Permission to use, copy, modify, and distribute this software and +its documentation for any purpose and without fee is hereby +granted, provided that the above copyright notice appear in all +copies and that both that the copyright notice and this +permission notice and warranty disclaimer appear in supporting +documentation, and that the name of Lucent or any of its entities +not be used in advertising or publicity pertaining to +distribution of the software without specific, written prior +permission. + +LUCENT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. +IN NO EVENT SHALL LUCENT OR ANY OF ITS ENTITIES BE LIABLE FOR ANY +SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER +IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF +THIS SOFTWARE. + +------------------------------------------------------------------- + +The author of this software is David M. Gay. + +Copyright (C) 1998-2001 by Lucent Technologies +All Rights Reserved + +Permission to use, copy, modify, and distribute this software and +its documentation for any purpose and without fee is hereby +granted, provided that the above copyright notice appear in all +copies and that both that the copyright notice and this +permission notice and warranty disclaimer appear in supporting +documentation, and that the name of Lucent or any of its entities +not be used in advertising or publicity pertaining to +distribution of the software without specific, written prior +permission. + +LUCENT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. +IN NO EVENT SHALL LUCENT OR ANY OF ITS ENTITIES BE LIABLE FOR ANY +SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER +IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF +THIS SOFTWARE. + +------------------------------------------------------------------- + +The author of this software is David M. Gay. + +Copyright (C) 2000 by Lucent Technologies +All Rights Reserved + +Permission to use, copy, modify, and distribute this software and +its documentation for any purpose and without fee is hereby +granted, provided that the above copyright notice appear in all +copies and that both that the copyright notice and this +permission notice and warranty disclaimer appear in supporting +documentation, and that the name of Lucent or any of its entities +not be used in advertising or publicity pertaining to +distribution of the software without specific, written prior +permission. + +LUCENT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. +IN NO EVENT SHALL LUCENT OR ANY OF ITS ENTITIES BE LIABLE FOR ANY +SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER +IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF +THIS SOFTWARE. + +------------------------------------------------------------------- + diff --git a/third_party/address_sorting/address_sorting.bzl b/third_party/address_sorting/address_sorting.bzl new file mode 100644 index 0000000000..25d008442b --- /dev/null +++ b/third_party/address_sorting/address_sorting.bzl @@ -0,0 +1,38 @@ +# $NetBSD: getaddrinfo.c,v 1.82 2006/03/25 12:09:40 rpaulo Exp $ */ +# $KAME: getaddrinfo.c,v 1.29 2000/08/31 17:26:57 itojun Exp $ */ +# +# Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. 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. +# 3. Neither the name of the project 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 PROJECT 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 PROJECT 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 address_sorting_cc_library(name, srcs, hdrs, copts, includes): + native.cc_library( + name = name, + srcs = srcs, + hdrs = hdrs, + copts = copts, + includes = includes, + ) diff --git a/third_party/address_sorting/address_sorting.c b/third_party/address_sorting/address_sorting.c new file mode 100644 index 0000000000..ec46099bec --- /dev/null +++ b/third_party/address_sorting/address_sorting.c @@ -0,0 +1,369 @@ +/* $NetBSD: getaddrinfo.c,v 1.82 2006/03/25 12:09:40 rpaulo Exp $ */ +/* $KAME: getaddrinfo.c,v 1.29 2000/08/31 17:26:57 itojun Exp $ */ +/* + * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. 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. + * 3. Neither the name of the project 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 PROJECT 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 PROJECT 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. + * + */ + +/* + * This is an adaptation of Android's implementation of RFC 6724 + * (in Android's getaddrinfo.c). It has some cosmetic differences + * from Android's getaddrinfo.c, but Android's getaddrinfo.c was + * used as a guide or example of a way to implement the RFC 6724 spec when + * this was written. + */ + +#include "address_sorting_internal.h" + +#include <errno.h> +#include <inttypes.h> +#include <limits.h> +#include <stdlib.h> +#include <string.h> +#include <sys/types.h> + +// Scope values increase with increase in scope. +static const int kIPv6AddrScopeLinkLocal = 1; +static const int kIPv6AddrScopeSiteLocal = 2; +static const int kIPv6AddrScopeGlobal = 3; + +static address_sorting_source_addr_factory* g_current_source_addr_factory = + NULL; + +static int address_sorting_get_source_addr(const address_sorting_address* dest, + address_sorting_address* source) { + return g_current_source_addr_factory->vtable->get_source_addr( + g_current_source_addr_factory, dest, source); +} + +static int ipv6_prefix_match_length(const struct sockaddr_in6* sa, + const struct sockaddr_in6* sb) { + unsigned char* a = (unsigned char*)&sa->sin6_addr; + unsigned char* b = (unsigned char*)&sb->sin6_addr; + int cur_bit = 0; + while (cur_bit < 128) { + int high_bit = 1 << (CHAR_BIT - 1); + int a_val = a[cur_bit / CHAR_BIT] & (high_bit >> (cur_bit % CHAR_BIT)); + int b_val = b[cur_bit / CHAR_BIT] & (high_bit >> (cur_bit % CHAR_BIT)); + if (a_val == b_val) { + cur_bit++; + } else { + break; + } + } + return cur_bit; +} + +static int in6_is_addr_loopback(const struct in6_addr* ipv6_address) { + uint32_t* bits32 = (uint32_t*)ipv6_address; + return bits32[0] == 0 && bits32[1] == 0 && bits32[2] == 0 && + bits32[3] == htonl(1); +} + +static int in6_is_addr_v4mapped(const struct in6_addr* ipv6_address) { + uint32_t* bits32 = (uint32_t*)ipv6_address; + return bits32[0] == 0 && bits32[1] == 0 && bits32[2] == htonl(0x0000ffff); +} + +static int in6_is_addr_v4compat(const struct in6_addr* ipv6_address) { + uint32_t* bits32 = (uint32_t*)ipv6_address; + return bits32[0] == 0 && bits32[1] == 0 && bits32[2] == 0 && bits32[3] != 0 && + bits32[3] != htonl(1); +} + +static int in6_is_addr_sitelocal(const struct in6_addr* ipv6_address) { + uint8_t* bytes = (uint8_t*)ipv6_address; + return bytes[0] == 0xfe && (bytes[1] & 0xc0) == 0xc0; +} + +static int in6_is_addr_linklocal(const struct in6_addr* ipv6_address) { + uint8_t* bytes = (uint8_t*)ipv6_address; + return bytes[0] == 0xfe && (bytes[1] & 0xc0) == 0x80; +} + +static int in6_is_addr_6to4(const struct in6_addr* ipv6_address) { + uint8_t* bytes = (uint8_t*)ipv6_address; + return bytes[0] == 0x20 && bytes[1] == 0x02; +} + +static int in6_is_addr_ula(const struct in6_addr* ipv6_address) { + uint8_t* bytes = (uint8_t*)ipv6_address; + return (bytes[0] & 0xfe) == 0xfc; +} + +static int in6_is_addr_teredo(const struct in6_addr* ipv6_address) { + uint8_t* bytes = (uint8_t*)ipv6_address; + return bytes[0] == 0x20 && bytes[1] == 0x01 && bytes[2] == 0x00 && + bytes[3] == 0x00; +} + +static int in6_is_addr_6bone(const struct in6_addr* ipv6_address) { + uint8_t* bytes = (uint8_t*)ipv6_address; + return bytes[0] == 0x3f && bytes[1] == 0xfe; +} + +address_sorting_family address_sorting_abstract_get_family( + const address_sorting_address* address) { + switch (((struct sockaddr*)address)->sa_family) { + case AF_INET: + return ADDRESS_SORTING_AF_INET; + case AF_INET6: + return ADDRESS_SORTING_AF_INET6; + default: + return ADDRESS_SORTING_UNKNOWN_FAMILY; + } +} + +static int get_label_value(const address_sorting_address* resolved_addr) { + if (address_sorting_abstract_get_family(resolved_addr) == + ADDRESS_SORTING_AF_INET) { + return 4; + } else if (address_sorting_abstract_get_family(resolved_addr) != + ADDRESS_SORTING_AF_INET6) { + return 1; + } + struct sockaddr_in6* ipv6_addr = (struct sockaddr_in6*)&resolved_addr->addr; + if (in6_is_addr_loopback(&ipv6_addr->sin6_addr)) { + return 0; + } else if (in6_is_addr_v4mapped(&ipv6_addr->sin6_addr)) { + return 4; + } else if (in6_is_addr_6to4(&ipv6_addr->sin6_addr)) { + return 2; + } else if (in6_is_addr_teredo(&ipv6_addr->sin6_addr)) { + return 5; + } else if (in6_is_addr_ula(&ipv6_addr->sin6_addr)) { + return 13; + } else if (in6_is_addr_v4compat(&ipv6_addr->sin6_addr)) { + return 3; + } else if (in6_is_addr_sitelocal(&ipv6_addr->sin6_addr)) { + return 11; + } else if (in6_is_addr_6bone(&ipv6_addr->sin6_addr)) { + return 12; + } + return 1; +} + +static int get_precedence_value(const address_sorting_address* resolved_addr) { + if (address_sorting_abstract_get_family(resolved_addr) == + ADDRESS_SORTING_AF_INET) { + return 35; + } else if (address_sorting_abstract_get_family(resolved_addr) != + ADDRESS_SORTING_AF_INET6) { + return 1; + } + struct sockaddr_in6* ipv6_addr = (struct sockaddr_in6*)&resolved_addr->addr; + if (in6_is_addr_loopback(&ipv6_addr->sin6_addr)) { + return 50; + } else if (in6_is_addr_v4mapped(&ipv6_addr->sin6_addr)) { + return 35; + } else if (in6_is_addr_6to4(&ipv6_addr->sin6_addr)) { + return 30; + } else if (in6_is_addr_teredo(&ipv6_addr->sin6_addr)) { + return 5; + } else if (in6_is_addr_ula(&ipv6_addr->sin6_addr)) { + return 3; + } else if (in6_is_addr_v4compat(&ipv6_addr->sin6_addr) || + in6_is_addr_sitelocal(&ipv6_addr->sin6_addr) || + in6_is_addr_6bone(&ipv6_addr->sin6_addr)) { + return 1; + } + return 40; +} + +static int sockaddr_get_scope(const address_sorting_address* resolved_addr) { + if (address_sorting_abstract_get_family(resolved_addr) == + ADDRESS_SORTING_AF_INET) { + return kIPv6AddrScopeGlobal; + } else if (address_sorting_abstract_get_family(resolved_addr) == + ADDRESS_SORTING_AF_INET6) { + struct sockaddr_in6* ipv6_addr = (struct sockaddr_in6*)&resolved_addr->addr; + if (in6_is_addr_loopback(&ipv6_addr->sin6_addr) || + in6_is_addr_linklocal(&ipv6_addr->sin6_addr)) { + return kIPv6AddrScopeLinkLocal; + } + if (in6_is_addr_sitelocal(&ipv6_addr->sin6_addr)) { + return kIPv6AddrScopeSiteLocal; + } + return kIPv6AddrScopeGlobal; + } + return 0; +} + +static int compare_source_addr_exists(const address_sorting_sortable* first, + const address_sorting_sortable* second) { + if (first->source_addr_exists != second->source_addr_exists) { + return first->source_addr_exists ? -1 : 1; + } + return 0; +} + +static int compare_source_dest_scope_matches( + const address_sorting_sortable* first, + const address_sorting_sortable* second) { + int first_src_dst_scope_matches = 0; + if (sockaddr_get_scope(&first->dest_addr) == + sockaddr_get_scope(&first->source_addr)) { + first_src_dst_scope_matches = 1; + } + int second_src_dst_scope_matches = 0; + if (sockaddr_get_scope(&second->dest_addr) == + sockaddr_get_scope(&second->source_addr)) { + second_src_dst_scope_matches = 1; + } + if (first_src_dst_scope_matches != second_src_dst_scope_matches) { + return first_src_dst_scope_matches ? -1 : 1; + } + return 0; +} + +static int compare_source_dest_labels_match( + const address_sorting_sortable* first, + const address_sorting_sortable* second) { + int first_label_matches = 0; + if (get_label_value(&first->dest_addr) == + get_label_value(&first->source_addr)) { + first_label_matches = 1; + } + int second_label_matches = 0; + if (get_label_value(&second->dest_addr) == + get_label_value(&second->source_addr)) { + second_label_matches = 1; + } + if (first_label_matches != second_label_matches) { + return first_label_matches ? 1 : 1; + } + return 0; +} + +static int compare_dest_precedence(const address_sorting_sortable* first, + const address_sorting_sortable* second) { + return get_precedence_value(&second->dest_addr) - + get_precedence_value(&first->dest_addr); +} + +static int compare_dest_scope(const address_sorting_sortable* first, + const address_sorting_sortable* second) { + return sockaddr_get_scope(&first->dest_addr) - + sockaddr_get_scope(&second->dest_addr); +} + +static int compare_source_dest_prefix_match_lengths( + const address_sorting_sortable* first, + const address_sorting_sortable* second) { + if (first->source_addr_exists && + address_sorting_abstract_get_family(&first->source_addr) == + ADDRESS_SORTING_AF_INET6 && + second->source_addr_exists && + address_sorting_abstract_get_family(&second->source_addr) == + ADDRESS_SORTING_AF_INET6) { + int first_match_length = + ipv6_prefix_match_length((struct sockaddr_in6*)&first->source_addr.addr, + (struct sockaddr_in6*)&first->dest_addr.addr); + int second_match_length = ipv6_prefix_match_length( + (struct sockaddr_in6*)&second->source_addr.addr, + (struct sockaddr_in6*)&second->dest_addr.addr); + return second_match_length - first_match_length; + } + return 0; +} + +static int rfc_6724_compare(const void* a, const void* b) { + const address_sorting_sortable* first = (address_sorting_sortable*)a; + const address_sorting_sortable* second = (address_sorting_sortable*)b; + int out = 0; + if ((out = compare_source_addr_exists(first, second))) { + return out; + } + if ((out = compare_source_dest_scope_matches(first, second))) { + return out; + } + if ((out = compare_source_dest_labels_match(first, second))) { + return out; + } + // TODO: Implement rule 3; avoid deprecated addresses. + // TODO: Implement rule 4; avoid temporary addresses. + if ((out = compare_dest_precedence(first, second))) { + return out; + } + // TODO: Implement rule 7; prefer native transports. + if ((out = compare_dest_scope(first, second))) { + return out; + } + if ((out = compare_source_dest_prefix_match_lengths(first, second))) { + return out; + } + // Prefer that the sort be stable otherwise + return (int)(first->original_index - second->original_index); +} + +void address_sorting_override_source_addr_factory_for_testing( + address_sorting_source_addr_factory* factory) { + if (g_current_source_addr_factory == NULL) { + abort(); + } + g_current_source_addr_factory->vtable->destroy(g_current_source_addr_factory); + g_current_source_addr_factory = factory; +} + +static void sanity_check_private_fields_are_unused( + const address_sorting_sortable* sortable) { + address_sorting_address expected_source_addr; + memset(&expected_source_addr, 0, sizeof(expected_source_addr)); + if (memcmp(&expected_source_addr, &sortable->source_addr, + sizeof(address_sorting_address)) || + sortable->original_index || sortable->source_addr_exists) { + abort(); + } +} + +void address_sorting_rfc_6724_sort(address_sorting_sortable* sortables, + size_t sortables_len) { + for (size_t i = 0; i < sortables_len; i++) { + sanity_check_private_fields_are_unused(&sortables[i]); + sortables[i].original_index = i; + sortables[i].source_addr_exists = address_sorting_get_source_addr( + &sortables[i].dest_addr, &sortables[i].source_addr); + } + qsort(sortables, sortables_len, sizeof(address_sorting_sortable), + rfc_6724_compare); +} + +void address_sorting_init() { + if (g_current_source_addr_factory != NULL) { + abort(); + } + g_current_source_addr_factory = + address_sorting_create_source_addr_factory_for_current_platform(); +} + +void address_sorting_shutdown() { + if (g_current_source_addr_factory == NULL) { + abort(); + } + g_current_source_addr_factory->vtable->destroy(g_current_source_addr_factory); +} diff --git a/third_party/address_sorting/address_sorting_internal.h b/third_party/address_sorting/address_sorting_internal.h new file mode 100644 index 0000000000..be59d44fee --- /dev/null +++ b/third_party/address_sorting/address_sorting_internal.h @@ -0,0 +1,70 @@ +/* $NetBSD: getaddrinfo.c,v 1.82 2006/03/25 12:09:40 rpaulo Exp $ */ +/* $KAME: getaddrinfo.c,v 1.29 2000/08/31 17:26:57 itojun Exp $ */ +/* + * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. 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. + * 3. Neither the name of the project 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 PROJECT 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 PROJECT 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. + * + */ + +/* + * This is an adaptation of Android's implementation of RFC 6724 + * (in Android's getaddrinfo.c). It has some cosmetic differences + * from Android's getaddrinfo.c, but Android's getaddrinfo.c was + * used as a guide or example of a way to implement the RFC 6724 spec when + * this was written. + */ + +#ifndef ADDRESS_SORTING_INTERNAL_H +#define ADDRESS_SORTING_INTERNAL_H + +#if defined(_WIN64) || defined(WIN64) || defined(_WIN32) || defined(WIN32) +#include <winsock2.h> +#include <ws2tcpip.h> +// comment to prevent formatter from moving mswock.h upwards +#include <mswsock.h> +#define ADDRESS_SORTING_WINDOWS 1 +#else +/* Workaround for issue described in + * + * https://bugs.launchpad.net/ubuntu/+source/eglibc/+bug/1187301 */ +#ifndef _GNU_SOURCE +#define _GNU_SOURCE +#endif +#include <arpa/inet.h> +#include <netinet/in.h> +#include <sys/socket.h> +#define ADDRESS_SORTING_POSIX 1 +#endif + +#include <stdbool.h> + +#include <address_sorting/address_sorting.h> + +address_sorting_source_addr_factory* +address_sorting_create_source_addr_factory_for_current_platform(); + +#endif // ADDRESS_SORTING_INTERNAL_H diff --git a/third_party/address_sorting/address_sorting_posix.c b/third_party/address_sorting/address_sorting_posix.c new file mode 100644 index 0000000000..d0dfe12469 --- /dev/null +++ b/third_party/address_sorting/address_sorting_posix.c @@ -0,0 +1,97 @@ +/* $NetBSD: getaddrinfo.c,v 1.82 2006/03/25 12:09:40 rpaulo Exp $ */ +/* $KAME: getaddrinfo.c,v 1.29 2000/08/31 17:26:57 itojun Exp $ */ +/* + * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. 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. + * 3. Neither the name of the project 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 PROJECT 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 PROJECT 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. + * + */ + +/* + * This is an adaptation of Android's implementation of RFC 6724 + * (in Android's getaddrinfo.c). It has some cosmetic differences + * from Android's getaddrinfo.c, but Android's getaddrinfo.c was + * used as a guide or example of a way to implement the RFC 6724 spec when + * this was written. + */ + +#include "address_sorting_internal.h" + +#if defined(ADDRESS_SORTING_POSIX) + +#include <errno.h> +#include <inttypes.h> +#include <limits.h> +#include <stdlib.h> +#include <string.h> +#include <sys/types.h> +#include <unistd.h> + +static bool posix_source_addr_factory_get_source_addr( + address_sorting_source_addr_factory* factory, + const address_sorting_address* dest_addr, + address_sorting_address* source_addr) { + bool source_addr_exists = false; + // Android sets SOCK_CLOEXEC. Don't set this here for portability. + int s = socket(((struct sockaddr*)dest_addr)->sa_family, SOCK_DGRAM, 0); + if (s != -1) { + if (connect(s, (const struct sockaddr*)&dest_addr->addr, + (socklen_t)dest_addr->len) != -1) { + address_sorting_address found_source_addr; + memset(&found_source_addr, 0, sizeof(found_source_addr)); + found_source_addr.len = sizeof(found_source_addr.addr); + if (getsockname(s, (struct sockaddr*)&found_source_addr.addr, + (socklen_t*)&found_source_addr.len) != -1) { + source_addr_exists = true; + *source_addr = found_source_addr; + } + } + } + close(s); + return source_addr_exists; +} + +static void posix_source_addr_factory_destroy( + address_sorting_source_addr_factory* self) { + free(self); +} + +static const address_sorting_source_addr_factory_vtable + posix_source_addr_factory_vtable = { + posix_source_addr_factory_get_source_addr, + posix_source_addr_factory_destroy, +}; + +address_sorting_source_addr_factory* +address_sorting_create_source_addr_factory_for_current_platform() { + address_sorting_source_addr_factory* factory = + malloc(sizeof(address_sorting_source_addr_factory)); + memset(factory, 0, sizeof(address_sorting_source_addr_factory)); + factory->vtable = &posix_source_addr_factory_vtable; + return factory; +} + +#endif // defined(ADDRESS_SORTING_POSIX) diff --git a/third_party/address_sorting/address_sorting_windows.c b/third_party/address_sorting/address_sorting_windows.c new file mode 100644 index 0000000000..b2f5708649 --- /dev/null +++ b/third_party/address_sorting/address_sorting_windows.c @@ -0,0 +1,55 @@ +/* $NetBSD: getaddrinfo.c,v 1.82 2006/03/25 12:09:40 rpaulo Exp $ */ +/* $KAME: getaddrinfo.c,v 1.29 2000/08/31 17:26:57 itojun Exp $ */ +/* + * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. 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. + * 3. Neither the name of the project 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 PROJECT 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 PROJECT 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. + * + */ + +/* + * This is an adaptation of Android's implementation of RFC 6724 + * (in Android's getaddrinfo.c). It has some cosmetic differences + * from Android's getaddrinfo.c, but Android's getaddrinfo.c was + * used as a guide or example of a way to implement the RFC 6724 spec when + * this was written. + */ + +#include "address_sorting_internal.h" + +#if defined(ADDRESS_SORTING_WINDOWS) + +#include <stdlib.h> + +/* TODO : Add address sorting functionality to work on windows. */ + +address_sorting_source_addr_factory* +address_sorting_create_source_addr_factory_for_current_platform() { + abort(); + return NULL; +} + +#endif // defined(ADDRESS_SORTING_WINDOWS) diff --git a/third_party/address_sorting/include/address_sorting/address_sorting.h b/third_party/address_sorting/include/address_sorting/address_sorting.h new file mode 100644 index 0000000000..f11cd424b5 --- /dev/null +++ b/third_party/address_sorting/include/address_sorting/address_sorting.h @@ -0,0 +1,110 @@ +/* $NetBSD: getaddrinfo.c,v 1.82 2006/03/25 12:09:40 rpaulo Exp $ */ +/* $KAME: getaddrinfo.c,v 1.29 2000/08/31 17:26:57 itojun Exp $ */ +/* + * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. 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. + * 3. Neither the name of the project 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 PROJECT 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 PROJECT 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. + * + */ + +/* + * This is an adaptation of Android's implementation of RFC 6724 + * (in Android's getaddrinfo.c). It has some cosmetic differences + * from Android's getaddrinfo.c, but Android's getaddrinfo.c was + * used as a guide or example of a way to implement the RFC 6724 spec when + * this was written. + */ + +#ifndef ADDRESS_SORTING_H +#define ADDRESS_SORTING_H + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct address_sorting_address { + char addr[128]; + size_t len; +} address_sorting_address; + +/* address_sorting_sortable represents one entry in a list of destination + * IP addresses to sort. It contains the destination IP address + * "sorting key", along with placeholder and scratch fields. */ +typedef struct address_sorting_sortable { + // input data; sorting key + address_sorting_address dest_addr; + // input data; optional value to attach to the sorting key + void* user_data; + // internal fields, these must be zero'd when passed to sort function + address_sorting_address source_addr; + bool source_addr_exists; + size_t original_index; +} address_sorting_sortable; + +void address_sorting_rfc_6724_sort(address_sorting_sortable* sortables, + size_t sortables_len); + +void address_sorting_init(); +void address_sorting_shutdown(); + +struct address_sorting_source_addr_factory; + +/* The interfaces below are exposed only for testing */ +typedef struct { + /* Gets the source address that would be used for the passed-in destination + * address, and fills in *source_addr* with it if one exists. + * Returns true if a source address exists for the destination address, + * and false otherwise. */ + bool (*get_source_addr)(struct address_sorting_source_addr_factory* factory, + const address_sorting_address* dest_addr, + address_sorting_address* source_addr); + void (*destroy)(struct address_sorting_source_addr_factory* factory); +} address_sorting_source_addr_factory_vtable; + +typedef struct address_sorting_source_addr_factory { + const address_sorting_source_addr_factory_vtable* vtable; +} address_sorting_source_addr_factory; + +/* Platform-compatible address family types */ +typedef enum { + ADDRESS_SORTING_AF_INET, + ADDRESS_SORTING_AF_INET6, + ADDRESS_SORTING_UNKNOWN_FAMILY, +} address_sorting_family; + +/* Indicates whether the address is AF_INET, AF_INET6, or another address + * family. */ +address_sorting_family address_sorting_abstract_get_family( + const address_sorting_address* address); + +void address_sorting_override_source_addr_factory_for_testing( + address_sorting_source_addr_factory* factory); + +#ifdef __cplusplus +} +#endif + +#endif // ADDRESS_SORTING_H diff --git a/tools/dockerfile/grpc_clang_format/clang_format_all_the_things.sh b/tools/dockerfile/grpc_clang_format/clang_format_all_the_things.sh index 72471994ee..08c6a96f71 100755 --- a/tools/dockerfile/grpc_clang_format/clang_format_all_the_things.sh +++ b/tools/dockerfile/grpc_clang_format/clang_format_all_the_things.sh @@ -16,7 +16,7 @@ set -e # directories to run against -DIRS="src/core/lib src/core/tsi src/core/ext src/cpp test/core test/cpp include src/compiler src/csharp src/ruby" +DIRS="src/core/lib src/core/tsi src/core/ext src/cpp test/core test/cpp include src/compiler src/csharp src/ruby third_party/address_sorting" # file matching patterns to check GLOB="*.h *.c *.cc" diff --git a/tools/internal_ci/linux/grpc_android.sh b/tools/internal_ci/linux/grpc_android.sh index 1417b9686a..c693b772fd 100755 --- a/tools/internal_ci/linux/grpc_android.sh +++ b/tools/internal_ci/linux/grpc_android.sh @@ -18,8 +18,13 @@ set -ex # change to grpc repo root cd $(dirname $0)/../../.. +REPO_ROOT="$(pwd)" + git submodule update --init +# Build protoc and grpc_cpp_plugin. Codegen is not cross-compiled to Android +make HAS_SYSTEM_PROTOBUF=false + # TODO(ericgribkoff) Remove when this commit (already in master) is included in # next protobuf release cd third_party/protobuf @@ -27,4 +32,6 @@ git fetch git cherry-pick 7daa320065f3bea2b54bf983337d1724f153422d -m 1 cd ../../examples/android/helloworld -./gradlew build +./gradlew build \ + "-Pprotoc=${REPO_ROOT}/third_party/protobuf/src/protoc" \ + "-Pgrpc_cpp_plugin=${REPO_ROOT}/bins/opt/grpc_cpp_plugin" diff --git a/tools/internal_ci/linux/grpc_asan_on_foundry.sh b/tools/internal_ci/linux/grpc_asan_on_foundry.sh index 2f9c8531a0..2aebb65552 100644 --- a/tools/internal_ci/linux/grpc_asan_on_foundry.sh +++ b/tools/internal_ci/linux/grpc_asan_on_foundry.sh @@ -13,6 +13,6 @@ # See the License for the specific language governing permissions and # limitations under the License. -EXTRA_FLAGS="--copt=-gmlt --strip=never --copt=-fsanitize=address --linkopt=-fsanitize=address" +EXTRA_FLAGS="--copt=-gmlt --strip=never --copt=-fsanitize=address --linkopt=-fsanitize=address --test_timeout=3600" github/grpc/tools/internal_ci/linux/grpc_bazel_on_foundry_base.sh "${EXTRA_FLAGS}" diff --git a/tools/internal_ci/linux/grpc_bazel_on_foundry_base.sh b/tools/internal_ci/linux/grpc_bazel_on_foundry_base.sh index a202aafb50..7ec15bf256 100755 --- a/tools/internal_ci/linux/grpc_bazel_on_foundry_base.sh +++ b/tools/internal_ci/linux/grpc_bazel_on_foundry_base.sh @@ -38,7 +38,6 @@ source tools/internal_ci/helper_scripts/prepare_build_linux_rc "${KOKORO_GFILE_DIR}/bazel_wrapper.py" \ --host_jvm_args=-Dbazel.DigestFunction=SHA256 \ test --jobs="100" \ - --test_timeout="3600,3600,3600,3600" \ --test_output=errors \ --verbose_failures=true \ --keep_going \ diff --git a/tools/internal_ci/linux/grpc_bazel_on_foundry_dbg.sh b/tools/internal_ci/linux/grpc_bazel_on_foundry_dbg.sh index e5ffea6259..f5111e2feb 100644 --- a/tools/internal_ci/linux/grpc_bazel_on_foundry_dbg.sh +++ b/tools/internal_ci/linux/grpc_bazel_on_foundry_dbg.sh @@ -13,6 +13,6 @@ # See the License for the specific language governing permissions and # limitations under the License. -EXTRA_FLAGS="-c dbg" +EXTRA_FLAGS="-c dbg --test_timeout=300,450,1200,7200" github/grpc/tools/internal_ci/linux/grpc_bazel_on_foundry_base.sh "${EXTRA_FLAGS}" diff --git a/tools/internal_ci/linux/grpc_bazel_on_foundry_opt.sh b/tools/internal_ci/linux/grpc_bazel_on_foundry_opt.sh index 6a769b9a7c..7f3e4cf8b5 100644 --- a/tools/internal_ci/linux/grpc_bazel_on_foundry_opt.sh +++ b/tools/internal_ci/linux/grpc_bazel_on_foundry_opt.sh @@ -13,5 +13,5 @@ # See the License for the specific language governing permissions and # limitations under the License. -EXTRA_FLAGS="-c opt" +EXTRA_FLAGS="-c opt --test_timeout=300,450,1200,7200" github/grpc/tools/internal_ci/linux/grpc_bazel_on_foundry_base.sh "${EXTRA_FLAGS}" diff --git a/tools/internal_ci/linux/grpc_tsan_on_foundry.sh b/tools/internal_ci/linux/grpc_tsan_on_foundry.sh index f8e665ba8a..aacb1ad496 100644 --- a/tools/internal_ci/linux/grpc_tsan_on_foundry.sh +++ b/tools/internal_ci/linux/grpc_tsan_on_foundry.sh @@ -13,6 +13,6 @@ # See the License for the specific language governing permissions and # limitations under the License. -EXTRA_FLAGS="--copt=-gmlt --strip=never --copt=-fsanitize=thread --linkopt=-fsanitize=thread" +EXTRA_FLAGS="--copt=-gmlt --strip=never --copt=-fsanitize=thread --linkopt=-fsanitize=thread --test_timeout=3600" github/grpc/tools/internal_ci/linux/grpc_bazel_on_foundry_base.sh "${EXTRA_FLAGS}" diff --git a/tools/run_tests/artifacts/artifact_targets.py b/tools/run_tests/artifacts/artifact_targets.py index ca25c2a78d..daa163e6dd 100644 --- a/tools/run_tests/artifacts/artifact_targets.py +++ b/tools/run_tests/artifacts/artifact_targets.py @@ -31,7 +31,8 @@ def create_docker_jobspec(name, timeout_retries=0, timeout_seconds=30 * 60, docker_base_image=None, - extra_docker_args=None): + extra_docker_args=None, + verbose_success=False): """Creates jobspec for a task running under docker.""" environ = environ.copy() environ['RUN_COMMAND'] = shell_command @@ -57,7 +58,8 @@ def create_docker_jobspec(name, shortname='build_artifact.%s' % (name), timeout_seconds=timeout_seconds, flake_retries=flake_retries, - timeout_retries=timeout_retries) + timeout_retries=timeout_retries, + verbose_success=verbose_success) return jobspec @@ -69,7 +71,8 @@ def create_jobspec(name, timeout_retries=0, timeout_seconds=30 * 60, use_workspace=False, - cpu_cost=1.0): + cpu_cost=1.0, + verbose_success=False): """Creates jobspec.""" environ = environ.copy() if use_workspace: @@ -88,7 +91,8 @@ def create_jobspec(name, flake_retries=flake_retries, timeout_retries=timeout_retries, shell=shell, - cpu_cost=cpu_cost) + cpu_cost=cpu_cost, + verbose_success=verbose_success) return jobspec diff --git a/tools/run_tests/artifacts/distribtest_targets.py b/tools/run_tests/artifacts/distribtest_targets.py index 2f2ab0f06c..041faabcfb 100644 --- a/tools/run_tests/artifacts/distribtest_targets.py +++ b/tools/run_tests/artifacts/distribtest_targets.py @@ -232,7 +232,7 @@ class PHPDistribTest(object): copy_rel_path='test/distrib') elif self.platform == 'macos': return create_jobspec( - self.name, ['test/distrib/php/run_distrib_test.sh'], + self.name, ['test/distrib/php/run_distrib_test_macos.sh'], environ={'EXTERNAL_GIT_ROOT': '../../../..'}, use_workspace=True) else: diff --git a/tools/run_tests/generated/sources_and_headers.json b/tools/run_tests/generated/sources_and_headers.json index 7c26a20b9f..76f8d711b7 100644 --- a/tools/run_tests/generated/sources_and_headers.json +++ b/tools/run_tests/generated/sources_and_headers.json @@ -6351,6 +6351,46 @@ "deps": [ "gpr", "gpr_test_util", + "grpc++_test_config", + "grpc++_test_util_unsecure", + "grpc++_unsecure", + "grpc_test_util_unsecure", + "grpc_unsecure" + ], + "headers": [], + "is_filegroup": false, + "language": "c++", + "name": "address_sorting_test_unsecure", + "src": [ + "test/cpp/naming/address_sorting_test.cc" + ], + "third_party": false, + "type": "target" + }, + { + "deps": [ + "gpr", + "gpr_test_util", + "grpc", + "grpc++", + "grpc++_test_config", + "grpc++_test_util", + "grpc_test_util" + ], + "headers": [], + "is_filegroup": false, + "language": "c++", + "name": "address_sorting_test", + "src": [ + "test/cpp/naming/address_sorting_test.cc" + ], + "third_party": false, + "type": "target" + }, + { + "deps": [ + "gpr", + "gpr_test_util", "grpc", "grpc_test_util" ], @@ -6582,6 +6622,19 @@ "type": "target" }, { + "deps": [], + "headers": [ + "third_party/address_sorting/address_sorting_internal.h", + "third_party/address_sorting/include/address_sorting/address_sorting.h" + ], + "is_filegroup": false, + "language": "c", + "name": "address_sorting", + "src": [], + "third_party": false, + "type": "lib" + }, + { "deps": [ "grpc" ], @@ -6672,7 +6725,11 @@ "grpc_base", "grpc_base_headers", "grpc_deadline_filter", + "grpc_lb_policy_pick_first", + "grpc_max_age_filter", "grpc_message_size_filter", + "grpc_resolver_dns_native", + "grpc_resolver_sockaddr", "grpc_server_load_reporting", "grpc_transport_chttp2_client_secure", "grpc_transport_chttp2_server_secure", diff --git a/tools/run_tests/generated/tests.json b/tools/run_tests/generated/tests.json index fcdeb9a029..60e9d73c42 100644 --- a/tools/run_tests/generated/tests.json +++ b/tools/run_tests/generated/tests.json @@ -5486,6 +5486,50 @@ }, { "args": [], + "benchmark": false, + "ci_platforms": [ + "linux", + "mac", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "exclude_iomgrs": [], + "flaky": false, + "gtest": true, + "language": "c++", + "name": "address_sorting_test_unsecure", + "platforms": [ + "linux", + "mac", + "posix" + ], + "uses_polling": true + }, + { + "args": [], + "benchmark": false, + "ci_platforms": [ + "linux", + "mac", + "posix" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "exclude_iomgrs": [], + "flaky": false, + "gtest": true, + "language": "c++", + "name": "address_sorting_test", + "platforms": [ + "linux", + "mac", + "posix" + ], + "uses_polling": true + }, + { + "args": [], "boringssl": true, "ci_platforms": [ "linux", diff --git a/vsprojects/vcxproj/grpc++/grpc++.vcxproj b/vsprojects/vcxproj/grpc++/grpc++.vcxproj deleted file mode 100644 index 8f357d35e9..0000000000 --- a/vsprojects/vcxproj/grpc++/grpc++.vcxproj +++ /dev/null @@ -1,646 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup Label="ProjectConfigurations"> - <ProjectConfiguration Include="Debug-DLL|Win32"> - <Configuration>Debug-DLL</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Debug-DLL|x64"> - <Configuration>Debug-DLL</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Release-DLL|Win32"> - <Configuration>Release-DLL</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Release-DLL|x64"> - <Configuration>Release-DLL</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Debug|Win32"> - <Configuration>Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Debug|x64"> - <Configuration>Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Release|Win32"> - <Configuration>Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Release|x64"> - <Configuration>Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - </ItemGroup> - <PropertyGroup Label="Globals"> - <ProjectGuid>{C187A093-A0FE-489D-A40A-6E33DE0F9FEB}</ProjectGuid> - <IgnoreWarnIntDirInTempDetected>true</IgnoreWarnIntDirInTempDetected> - <IntDir>$(SolutionDir)IntDir\$(MSBuildProjectName)\</IntDir> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> - <PropertyGroup Condition="'$(VisualStudioVersion)' == '10.0'" Label="Configuration"> - <PlatformToolset>v100</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(VisualStudioVersion)' == '11.0'" Label="Configuration"> - <PlatformToolset>v110</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(VisualStudioVersion)' == '12.0'" Label="Configuration"> - <PlatformToolset>v120</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(VisualStudioVersion)' == '14.0'" Label="Configuration"> - <PlatformToolset>v140</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)'=='Debug'" Label="Configuration"> - <ConfigurationType>StaticLibrary</ConfigurationType> - <UseDebugLibraries>true</UseDebugLibraries> - <CharacterSet>Unicode</CharacterSet> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)'=='Release'" Label="Configuration"> - <ConfigurationType>StaticLibrary</ConfigurationType> - <UseDebugLibraries>false</UseDebugLibraries> - <WholeProgramOptimization>true</WholeProgramOptimization> - <CharacterSet>Unicode</CharacterSet> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)'=='Debug-DLL'" Label="Configuration"> - <ConfigurationType>StaticLibrary</ConfigurationType> - <UseDebugLibraries>true</UseDebugLibraries> - <CharacterSet>Unicode</CharacterSet> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)'=='Release-DLL'" Label="Configuration"> - <ConfigurationType>StaticLibrary</ConfigurationType> - <UseDebugLibraries>false</UseDebugLibraries> - <WholeProgramOptimization>true</WholeProgramOptimization> - <CharacterSet>Unicode</CharacterSet> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> - <ImportGroup Label="ExtensionSettings"> - </ImportGroup> - <ImportGroup Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - <Import Project="$(SolutionDir)\..\vsprojects\global.props" /> - <Import Project="$(SolutionDir)\..\vsprojects\winsock.props" /> - </ImportGroup> - <PropertyGroup Label="UserMacros" /> - <PropertyGroup Condition="'$(Configuration)'=='Debug'"> - <TargetName>grpc++</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)'=='Release'"> - <TargetName>grpc++</TargetName> - </PropertyGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug-DLL|Win32'"> - <ClCompile> - <PrecompiledHeader>NotUsing</PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <Optimization>Disabled</Optimization> - <PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <SDLCheck>true</SDLCheck> - <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> - <TreatWarningAsError>true</TreatWarningAsError> - <DebugInformationFormat Condition="$(Jenkins)">None</DebugInformationFormat> - <MinimalRebuild Condition="$(Jenkins)">false</MinimalRebuild> - </ClCompile> - <Link> - <SubSystem>Windows</SubSystem> - <GenerateDebugInformation Condition="!$(Jenkins)">true</GenerateDebugInformation> - <GenerateDebugInformation Condition="$(Jenkins)">false</GenerateDebugInformation> - </Link> - </ItemDefinitionGroup> - - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug-DLL|x64'"> - <ClCompile> - <PrecompiledHeader>NotUsing</PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <Optimization>Disabled</Optimization> - <PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <SDLCheck>true</SDLCheck> - <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> - <TreatWarningAsError>true</TreatWarningAsError> - <DebugInformationFormat Condition="$(Jenkins)">None</DebugInformationFormat> - <MinimalRebuild Condition="$(Jenkins)">false</MinimalRebuild> - </ClCompile> - <Link> - <SubSystem>Windows</SubSystem> - <GenerateDebugInformation Condition="!$(Jenkins)">true</GenerateDebugInformation> - <GenerateDebugInformation Condition="$(Jenkins)">false</GenerateDebugInformation> - </Link> - </ItemDefinitionGroup> - - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release-DLL|Win32'"> - <ClCompile> - <PrecompiledHeader>NotUsing</PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <Optimization>MaxSpeed</Optimization> - <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <FunctionLevelLinking>true</FunctionLevelLinking> - <IntrinsicFunctions>true</IntrinsicFunctions> - <SDLCheck>true</SDLCheck> - <RuntimeLibrary>MultiThreaded</RuntimeLibrary> - <TreatWarningAsError>true</TreatWarningAsError> - <DebugInformationFormat Condition="$(Jenkins)">None</DebugInformationFormat> - <MinimalRebuild Condition="$(Jenkins)">false</MinimalRebuild> - </ClCompile> - <Link> - <SubSystem>Windows</SubSystem> - <GenerateDebugInformation Condition="!$(Jenkins)">true</GenerateDebugInformation> - <GenerateDebugInformation Condition="$(Jenkins)">false</GenerateDebugInformation> - <EnableCOMDATFolding>true</EnableCOMDATFolding> - <OptimizeReferences>true</OptimizeReferences> - </Link> - </ItemDefinitionGroup> - - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release-DLL|x64'"> - <ClCompile> - <PrecompiledHeader>NotUsing</PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <Optimization>MaxSpeed</Optimization> - <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <FunctionLevelLinking>true</FunctionLevelLinking> - <IntrinsicFunctions>true</IntrinsicFunctions> - <SDLCheck>true</SDLCheck> - <RuntimeLibrary>MultiThreaded</RuntimeLibrary> - <TreatWarningAsError>true</TreatWarningAsError> - <DebugInformationFormat Condition="$(Jenkins)">None</DebugInformationFormat> - <MinimalRebuild Condition="$(Jenkins)">false</MinimalRebuild> - </ClCompile> - <Link> - <SubSystem>Windows</SubSystem> - <GenerateDebugInformation Condition="!$(Jenkins)">true</GenerateDebugInformation> - <GenerateDebugInformation Condition="$(Jenkins)">false</GenerateDebugInformation> - <EnableCOMDATFolding>true</EnableCOMDATFolding> - <OptimizeReferences>true</OptimizeReferences> - </Link> - </ItemDefinitionGroup> - - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> - <ClCompile> - <PrecompiledHeader>NotUsing</PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <Optimization>Disabled</Optimization> - <PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <SDLCheck>true</SDLCheck> - <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> - <TreatWarningAsError>true</TreatWarningAsError> - <DebugInformationFormat Condition="$(Jenkins)">None</DebugInformationFormat> - <MinimalRebuild Condition="$(Jenkins)">false</MinimalRebuild> - </ClCompile> - <Link> - <SubSystem>Windows</SubSystem> - <GenerateDebugInformation Condition="!$(Jenkins)">true</GenerateDebugInformation> - <GenerateDebugInformation Condition="$(Jenkins)">false</GenerateDebugInformation> - </Link> - </ItemDefinitionGroup> - - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> - <ClCompile> - <PrecompiledHeader>NotUsing</PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <Optimization>Disabled</Optimization> - <PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <SDLCheck>true</SDLCheck> - <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> - <TreatWarningAsError>true</TreatWarningAsError> - <DebugInformationFormat Condition="$(Jenkins)">None</DebugInformationFormat> - <MinimalRebuild Condition="$(Jenkins)">false</MinimalRebuild> - </ClCompile> - <Link> - <SubSystem>Windows</SubSystem> - <GenerateDebugInformation Condition="!$(Jenkins)">true</GenerateDebugInformation> - <GenerateDebugInformation Condition="$(Jenkins)">false</GenerateDebugInformation> - </Link> - </ItemDefinitionGroup> - - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> - <ClCompile> - <PrecompiledHeader>NotUsing</PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <Optimization>MaxSpeed</Optimization> - <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <FunctionLevelLinking>true</FunctionLevelLinking> - <IntrinsicFunctions>true</IntrinsicFunctions> - <SDLCheck>true</SDLCheck> - <RuntimeLibrary>MultiThreaded</RuntimeLibrary> - <TreatWarningAsError>true</TreatWarningAsError> - <DebugInformationFormat Condition="$(Jenkins)">None</DebugInformationFormat> - <MinimalRebuild Condition="$(Jenkins)">false</MinimalRebuild> - </ClCompile> - <Link> - <SubSystem>Windows</SubSystem> - <GenerateDebugInformation Condition="!$(Jenkins)">true</GenerateDebugInformation> - <GenerateDebugInformation Condition="$(Jenkins)">false</GenerateDebugInformation> - <EnableCOMDATFolding>true</EnableCOMDATFolding> - <OptimizeReferences>true</OptimizeReferences> - </Link> - </ItemDefinitionGroup> - - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> - <ClCompile> - <PrecompiledHeader>NotUsing</PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <Optimization>MaxSpeed</Optimization> - <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <FunctionLevelLinking>true</FunctionLevelLinking> - <IntrinsicFunctions>true</IntrinsicFunctions> - <SDLCheck>true</SDLCheck> - <RuntimeLibrary>MultiThreaded</RuntimeLibrary> - <TreatWarningAsError>true</TreatWarningAsError> - <DebugInformationFormat Condition="$(Jenkins)">None</DebugInformationFormat> - <MinimalRebuild Condition="$(Jenkins)">false</MinimalRebuild> - </ClCompile> - <Link> - <SubSystem>Windows</SubSystem> - <GenerateDebugInformation Condition="!$(Jenkins)">true</GenerateDebugInformation> - <GenerateDebugInformation Condition="$(Jenkins)">false</GenerateDebugInformation> - <EnableCOMDATFolding>true</EnableCOMDATFolding> - <OptimizeReferences>true</OptimizeReferences> - </Link> - </ItemDefinitionGroup> - - <ItemGroup> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\alarm.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\channel.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\client_context.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\completion_queue.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\create_channel.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\create_channel_posix.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\ext\health_check_service_server_builder_option.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\generic\async_generic_service.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\generic\generic_stub.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\grpc++.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\health_check_service_interface.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\call.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\channel_argument_option.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\client_unary_call.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\core_codegen.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\grpc_library.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\method_handler_impl.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\rpc_method.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\rpc_service_method.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\serialization_traits.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\server_builder_option.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\server_builder_plugin.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\server_initializer.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\service_type.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\resource_quota.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\security\auth_context.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\security\auth_metadata_processor.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\security\credentials.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\security\server_credentials.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\server.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\server_builder.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\server_context.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\server_posix.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\async_stream.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\async_unary_call.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\byte_buffer.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\channel_arguments.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\config.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\slice.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\status.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\status_code_enum.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\string_ref.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\stub_options.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\sync_stream.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\time.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\alloc.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\atm.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\atm_gcc_atomic.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\atm_gcc_sync.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\atm_windows.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\avl.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\cmdline.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\cpu.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\histogram.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\host_port.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\log.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\log_windows.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\port_platform.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\string_util.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\subprocess.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\sync.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\sync_generic.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\sync_posix.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\sync_windows.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\thd.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\time.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\tls.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\tls_gcc.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\tls_msvc.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\tls_pthread.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\useful.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm_gcc_atomic.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm_gcc_sync.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm_windows.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\gpr_slice.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\gpr_types.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\port_platform.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync_generic.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync_posix.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync_windows.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\byte_buffer.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\byte_buffer_reader.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\compression.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\grpc.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\grpc_posix.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\grpc_security_constants.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\load_reporting.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\slice.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\slice_buffer.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\status.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\workaround_list.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\byte_buffer_reader.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\compression_types.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\connectivity_state.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\exec_ctx_fwd.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\grpc_types.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\propagation_bits.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\slice.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\status.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\async_stream.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\async_unary_call.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\call.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\call_hook.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\channel_interface.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\client_context.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\client_unary_call.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\completion_queue.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\completion_queue_tag.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\config.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\core_codegen_interface.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\create_auth_context.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\grpc_library.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\metadata_map.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\method_handler_impl.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\rpc_method.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\rpc_service_method.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\security\auth_context.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\serialization_traits.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\server_context.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\server_interface.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\service_type.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\slice.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\status.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\status_code_enum.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\string_ref.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\stub_options.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\sync_stream.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\time.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\proto_utils.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\config_protobuf.h" /> - </ItemGroup> - <ItemGroup> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\core_codegen.h" /> - <ClInclude Include="$(SolutionDir)\..\src\cpp\client\secure_credentials.h" /> - <ClInclude Include="$(SolutionDir)\..\src\cpp\common\secure_auth_context.h" /> - <ClInclude Include="$(SolutionDir)\..\src\cpp\server\secure_server_credentials.h" /> - <ClInclude Include="$(SolutionDir)\..\src\cpp\client\create_channel_internal.h" /> - <ClInclude Include="$(SolutionDir)\..\src\cpp\common\channel_filter.h" /> - <ClInclude Include="$(SolutionDir)\..\src\cpp\server\dynamic_thread_pool.h" /> - <ClInclude Include="$(SolutionDir)\..\src\cpp\server\health\default_health_check_service.h" /> - <ClInclude Include="$(SolutionDir)\..\src\cpp\server\health\health.pb.h" /> - <ClInclude Include="$(SolutionDir)\..\src\cpp\server\thread_pool_interface.h" /> - <ClInclude Include="$(SolutionDir)\..\src\cpp\thread_manager\thread_manager.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\profiling\timers.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\support\arena.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\support\atomic.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\support\atomic_with_atm.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\support\atomic_with_std.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\support\backoff.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\support\block_annotate.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\support\env.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\support\memory.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\support\mpscq.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\support\murmur_hash.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\support\spinlock.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\support\stack_lockfree.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\support\string.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\support\string_windows.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\support\thd_internal.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\support\time_precise.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\support\tmpfile.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\channel_args.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\channel_stack.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\channel_stack_builder.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\connected_channel.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\context.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\handshaker.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\handshaker_factory.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\handshaker_registry.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\compression\algorithm_metadata.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\compression\message_compress.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\compression\stream_compression.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\http\format_request.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\http\httpcli.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\http\parser.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\closure.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\combiner.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\endpoint.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\endpoint_pair.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\error.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\error_internal.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_epoll1_linux.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_epoll_limited_pollers_linux.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_epoll_thread_pool_linux.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_epollex_linux.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_epollsig_linux.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_poll_posix.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_posix.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\exec_ctx.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\executor.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\iocp_windows.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr_custom.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr_internal.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr_posix.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\is_epollexclusive_available.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\load_file.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\lockfree_event.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\nameser.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\network_status_tracker.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\polling_entity.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_set.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_set_windows.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_uv.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_windows.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\port.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\resolve_address.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\resource_quota.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\sockaddr.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\sockaddr_posix.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\sockaddr_utils.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\sockaddr_windows.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_factory_posix.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_mutator.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_utils.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_utils_posix.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_windows.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\sys_epoll_wrapper.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_client.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_client_posix.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_custom.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_posix.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_server.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_server_utils_posix.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_uv.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_windows.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\time_averaged_stats.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\timer.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\timer_custom.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\timer_heap.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\timer_manager.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\udp_server.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\unix_sockets_posix.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\wakeup_fd_cv.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\wakeup_fd_pipe.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\wakeup_fd_posix.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\json\json.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\json\json_common.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\json\json_reader.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\json\json_writer.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\slice\b64.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\slice\percent_encoding.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\slice\slice_hash_table.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\slice\slice_internal.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\slice\slice_string_helpers.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\api_trace.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\call.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\call_test_only.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\channel.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\channel_init.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\channel_stack_type.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\completion_queue.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\completion_queue_factory.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\event_string.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\init.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\lame_client.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\server.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\validate_metadata.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\bdp_estimator.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\byte_stream.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\connectivity_state.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\error_utils.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\http2_errors.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\metadata.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\metadata_batch.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\pid_controller.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\service_config.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\static_metadata.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\status_conversion.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\timeout_encoding.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\transport.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\transport_impl.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\debug\trace.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\inproc\inproc_transport.h" /> - <ClInclude Include="$(SolutionDir)\..\third_party\nanopb\pb.h" /> - <ClInclude Include="$(SolutionDir)\..\third_party\nanopb\pb_common.h" /> - <ClInclude Include="$(SolutionDir)\..\third_party\nanopb\pb_decode.h" /> - <ClInclude Include="$(SolutionDir)\..\third_party\nanopb\pb_encode.h" /> - </ItemGroup> - <ItemGroup> - <ClCompile Include="$(SolutionDir)\..\src\cpp\client\insecure_credentials.cc"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\client\secure_credentials.cc"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\common\auth_property_iterator.cc"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\common\secure_auth_context.cc"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\common\secure_channel_arguments.cc"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\common\secure_create_auth_context.cc"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\server\insecure_server_credentials.cc"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\server\secure_server_credentials.cc"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\client\channel_cc.cc"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\client\client_context.cc"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\client\create_channel.cc"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\client\create_channel_internal.cc"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\client\create_channel_posix.cc"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\client\credentials_cc.cc"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\client\generic_stub.cc"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\common\channel_arguments.cc"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\common\channel_filter.cc"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\common\completion_queue_cc.cc"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\common\core_codegen.cc"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\common\resource_quota_cc.cc"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\common\rpc_method.cc"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\common\version_cc.cc"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\server\async_generic_service.cc"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\server\channel_argument_option.cc"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\server\create_default_thread_pool.cc"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\server\dynamic_thread_pool.cc"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\server\health\default_health_check_service.cc"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\server\health\health.pb.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\server\health\health_check_service.cc"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\server\health\health_check_service_server_builder_option.cc"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\server\server_builder.cc"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\server\server_cc.cc"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\server\server_context.cc"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\server\server_credentials.cc"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\server\server_posix.cc"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\thread_manager\thread_manager.cc"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\util\byte_buffer_cc.cc"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\util\slice_cc.cc"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\util\status.cc"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\util\string_ref.cc"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\util\time_cc.cc"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\codegen\codegen_init.cc"> - </ClCompile> - </ItemGroup> - <ItemGroup> - <ProjectReference Include="$(SolutionDir)\..\vsprojects\vcxproj\.\grpc\grpc.vcxproj"> - <Project>{29D16885-7228-4C31-81ED-5F9187C7F2A9}</Project> - </ProjectReference> - <ProjectReference Include="$(SolutionDir)\..\vsprojects\vcxproj\.\gpr\gpr.vcxproj"> - <Project>{B23D3D1A-9438-4EDA-BEB6-9A0A03D17792}</Project> - </ProjectReference> - </ItemGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> - <ImportGroup Label="ExtensionTargets"> - </ImportGroup> - <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> - <PropertyGroup> - <ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText> - </PropertyGroup> - </Target> -</Project> - diff --git a/vsprojects/vcxproj/grpc++/grpc++.vcxproj.filters b/vsprojects/vcxproj/grpc++/grpc++.vcxproj.filters deleted file mode 100644 index c5c1eba593..0000000000 --- a/vsprojects/vcxproj/grpc++/grpc++.vcxproj.filters +++ /dev/null @@ -1,1096 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup> - <ClCompile Include="$(SolutionDir)\..\src\cpp\client\insecure_credentials.cc"> - <Filter>src\cpp\client</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\client\secure_credentials.cc"> - <Filter>src\cpp\client</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\common\auth_property_iterator.cc"> - <Filter>src\cpp\common</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\common\secure_auth_context.cc"> - <Filter>src\cpp\common</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\common\secure_channel_arguments.cc"> - <Filter>src\cpp\common</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\common\secure_create_auth_context.cc"> - <Filter>src\cpp\common</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\server\insecure_server_credentials.cc"> - <Filter>src\cpp\server</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\server\secure_server_credentials.cc"> - <Filter>src\cpp\server</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\client\channel_cc.cc"> - <Filter>src\cpp\client</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\client\client_context.cc"> - <Filter>src\cpp\client</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\client\create_channel.cc"> - <Filter>src\cpp\client</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\client\create_channel_internal.cc"> - <Filter>src\cpp\client</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\client\create_channel_posix.cc"> - <Filter>src\cpp\client</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\client\credentials_cc.cc"> - <Filter>src\cpp\client</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\client\generic_stub.cc"> - <Filter>src\cpp\client</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\common\channel_arguments.cc"> - <Filter>src\cpp\common</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\common\channel_filter.cc"> - <Filter>src\cpp\common</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\common\completion_queue_cc.cc"> - <Filter>src\cpp\common</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\common\core_codegen.cc"> - <Filter>src\cpp\common</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\common\resource_quota_cc.cc"> - <Filter>src\cpp\common</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\common\rpc_method.cc"> - <Filter>src\cpp\common</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\common\version_cc.cc"> - <Filter>src\cpp\common</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\server\async_generic_service.cc"> - <Filter>src\cpp\server</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\server\channel_argument_option.cc"> - <Filter>src\cpp\server</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\server\create_default_thread_pool.cc"> - <Filter>src\cpp\server</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\server\dynamic_thread_pool.cc"> - <Filter>src\cpp\server</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\server\health\default_health_check_service.cc"> - <Filter>src\cpp\server\health</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\server\health\health.pb.c"> - <Filter>src\cpp\server\health</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\server\health\health_check_service.cc"> - <Filter>src\cpp\server\health</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\server\health\health_check_service_server_builder_option.cc"> - <Filter>src\cpp\server\health</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\server\server_builder.cc"> - <Filter>src\cpp\server</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\server\server_cc.cc"> - <Filter>src\cpp\server</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\server\server_context.cc"> - <Filter>src\cpp\server</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\server\server_credentials.cc"> - <Filter>src\cpp\server</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\server\server_posix.cc"> - <Filter>src\cpp\server</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\thread_manager\thread_manager.cc"> - <Filter>src\cpp\thread_manager</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\util\byte_buffer_cc.cc"> - <Filter>src\cpp\util</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\util\slice_cc.cc"> - <Filter>src\cpp\util</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\util\status.cc"> - <Filter>src\cpp\util</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\util\string_ref.cc"> - <Filter>src\cpp\util</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\util\time_cc.cc"> - <Filter>src\cpp\util</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\codegen\codegen_init.cc"> - <Filter>src\cpp\codegen</Filter> - </ClCompile> - </ItemGroup> - <ItemGroup> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\alarm.h"> - <Filter>include\grpc++</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\channel.h"> - <Filter>include\grpc++</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\client_context.h"> - <Filter>include\grpc++</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\completion_queue.h"> - <Filter>include\grpc++</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\create_channel.h"> - <Filter>include\grpc++</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\create_channel_posix.h"> - <Filter>include\grpc++</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\ext\health_check_service_server_builder_option.h"> - <Filter>include\grpc++\ext</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\generic\async_generic_service.h"> - <Filter>include\grpc++\generic</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\generic\generic_stub.h"> - <Filter>include\grpc++\generic</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\grpc++.h"> - <Filter>include\grpc++</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\health_check_service_interface.h"> - <Filter>include\grpc++</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\call.h"> - <Filter>include\grpc++\impl</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\channel_argument_option.h"> - <Filter>include\grpc++\impl</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\client_unary_call.h"> - <Filter>include\grpc++\impl</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\core_codegen.h"> - <Filter>include\grpc++\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\grpc_library.h"> - <Filter>include\grpc++\impl</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\method_handler_impl.h"> - <Filter>include\grpc++\impl</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\rpc_method.h"> - <Filter>include\grpc++\impl</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\rpc_service_method.h"> - <Filter>include\grpc++\impl</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\serialization_traits.h"> - <Filter>include\grpc++\impl</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\server_builder_option.h"> - <Filter>include\grpc++\impl</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\server_builder_plugin.h"> - <Filter>include\grpc++\impl</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\server_initializer.h"> - <Filter>include\grpc++\impl</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\service_type.h"> - <Filter>include\grpc++\impl</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\resource_quota.h"> - <Filter>include\grpc++</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\security\auth_context.h"> - <Filter>include\grpc++\security</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\security\auth_metadata_processor.h"> - <Filter>include\grpc++\security</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\security\credentials.h"> - <Filter>include\grpc++\security</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\security\server_credentials.h"> - <Filter>include\grpc++\security</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\server.h"> - <Filter>include\grpc++</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\server_builder.h"> - <Filter>include\grpc++</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\server_context.h"> - <Filter>include\grpc++</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\server_posix.h"> - <Filter>include\grpc++</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\async_stream.h"> - <Filter>include\grpc++\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\async_unary_call.h"> - <Filter>include\grpc++\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\byte_buffer.h"> - <Filter>include\grpc++\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\channel_arguments.h"> - <Filter>include\grpc++\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\config.h"> - <Filter>include\grpc++\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\slice.h"> - <Filter>include\grpc++\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\status.h"> - <Filter>include\grpc++\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\status_code_enum.h"> - <Filter>include\grpc++\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\string_ref.h"> - <Filter>include\grpc++\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\stub_options.h"> - <Filter>include\grpc++\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\sync_stream.h"> - <Filter>include\grpc++\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\time.h"> - <Filter>include\grpc++\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\alloc.h"> - <Filter>include\grpc\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\atm.h"> - <Filter>include\grpc\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\atm_gcc_atomic.h"> - <Filter>include\grpc\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\atm_gcc_sync.h"> - <Filter>include\grpc\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\atm_windows.h"> - <Filter>include\grpc\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\avl.h"> - <Filter>include\grpc\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\cmdline.h"> - <Filter>include\grpc\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\cpu.h"> - <Filter>include\grpc\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\histogram.h"> - <Filter>include\grpc\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\host_port.h"> - <Filter>include\grpc\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\log.h"> - <Filter>include\grpc\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\log_windows.h"> - <Filter>include\grpc\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\port_platform.h"> - <Filter>include\grpc\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\string_util.h"> - <Filter>include\grpc\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\subprocess.h"> - <Filter>include\grpc\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\sync.h"> - <Filter>include\grpc\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\sync_generic.h"> - <Filter>include\grpc\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\sync_posix.h"> - <Filter>include\grpc\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\sync_windows.h"> - <Filter>include\grpc\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\thd.h"> - <Filter>include\grpc\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\time.h"> - <Filter>include\grpc\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\tls.h"> - <Filter>include\grpc\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\tls_gcc.h"> - <Filter>include\grpc\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\tls_msvc.h"> - <Filter>include\grpc\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\tls_pthread.h"> - <Filter>include\grpc\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\useful.h"> - <Filter>include\grpc\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm_gcc_atomic.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm_gcc_sync.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm_windows.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\gpr_slice.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\gpr_types.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\port_platform.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync_generic.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync_posix.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync_windows.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\byte_buffer.h"> - <Filter>include\grpc</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\byte_buffer_reader.h"> - <Filter>include\grpc</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\compression.h"> - <Filter>include\grpc</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\grpc.h"> - <Filter>include\grpc</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\grpc_posix.h"> - <Filter>include\grpc</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\grpc_security_constants.h"> - <Filter>include\grpc</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\load_reporting.h"> - <Filter>include\grpc</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\slice.h"> - <Filter>include\grpc</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\slice_buffer.h"> - <Filter>include\grpc</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\status.h"> - <Filter>include\grpc</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\workaround_list.h"> - <Filter>include\grpc\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\byte_buffer_reader.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\compression_types.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\connectivity_state.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\exec_ctx_fwd.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\grpc_types.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\propagation_bits.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\slice.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\status.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\async_stream.h"> - <Filter>include\grpc++\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\async_unary_call.h"> - <Filter>include\grpc++\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\call.h"> - <Filter>include\grpc++\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\call_hook.h"> - <Filter>include\grpc++\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\channel_interface.h"> - <Filter>include\grpc++\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\client_context.h"> - <Filter>include\grpc++\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\client_unary_call.h"> - <Filter>include\grpc++\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\completion_queue.h"> - <Filter>include\grpc++\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\completion_queue_tag.h"> - <Filter>include\grpc++\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\config.h"> - <Filter>include\grpc++\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\core_codegen_interface.h"> - <Filter>include\grpc++\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\create_auth_context.h"> - <Filter>include\grpc++\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\grpc_library.h"> - <Filter>include\grpc++\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\metadata_map.h"> - <Filter>include\grpc++\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\method_handler_impl.h"> - <Filter>include\grpc++\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\rpc_method.h"> - <Filter>include\grpc++\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\rpc_service_method.h"> - <Filter>include\grpc++\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\security\auth_context.h"> - <Filter>include\grpc++\impl\codegen\security</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\serialization_traits.h"> - <Filter>include\grpc++\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\server_context.h"> - <Filter>include\grpc++\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\server_interface.h"> - <Filter>include\grpc++\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\service_type.h"> - <Filter>include\grpc++\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\slice.h"> - <Filter>include\grpc++\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\status.h"> - <Filter>include\grpc++\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\status_code_enum.h"> - <Filter>include\grpc++\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\string_ref.h"> - <Filter>include\grpc++\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\stub_options.h"> - <Filter>include\grpc++\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\sync_stream.h"> - <Filter>include\grpc++\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\time.h"> - <Filter>include\grpc++\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\proto_utils.h"> - <Filter>include\grpc++\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\config_protobuf.h"> - <Filter>include\grpc++\impl\codegen</Filter> - </ClInclude> - </ItemGroup> - <ItemGroup> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\core_codegen.h"> - <Filter>include\grpc++\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\cpp\client\secure_credentials.h"> - <Filter>src\cpp\client</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\cpp\common\secure_auth_context.h"> - <Filter>src\cpp\common</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\cpp\server\secure_server_credentials.h"> - <Filter>src\cpp\server</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\cpp\client\create_channel_internal.h"> - <Filter>src\cpp\client</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\cpp\common\channel_filter.h"> - <Filter>src\cpp\common</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\cpp\server\dynamic_thread_pool.h"> - <Filter>src\cpp\server</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\cpp\server\health\default_health_check_service.h"> - <Filter>src\cpp\server\health</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\cpp\server\health\health.pb.h"> - <Filter>src\cpp\server\health</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\cpp\server\thread_pool_interface.h"> - <Filter>src\cpp\server</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\cpp\thread_manager\thread_manager.h"> - <Filter>src\cpp\thread_manager</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\profiling\timers.h"> - <Filter>src\core\lib\profiling</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\support\arena.h"> - <Filter>src\core\lib\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\support\atomic.h"> - <Filter>src\core\lib\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\support\atomic_with_atm.h"> - <Filter>src\core\lib\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\support\atomic_with_std.h"> - <Filter>src\core\lib\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\support\backoff.h"> - <Filter>src\core\lib\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\support\block_annotate.h"> - <Filter>src\core\lib\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\support\env.h"> - <Filter>src\core\lib\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\support\memory.h"> - <Filter>src\core\lib\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\support\mpscq.h"> - <Filter>src\core\lib\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\support\murmur_hash.h"> - <Filter>src\core\lib\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\support\spinlock.h"> - <Filter>src\core\lib\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\support\stack_lockfree.h"> - <Filter>src\core\lib\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\support\string.h"> - <Filter>src\core\lib\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\support\string_windows.h"> - <Filter>src\core\lib\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\support\thd_internal.h"> - <Filter>src\core\lib\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\support\time_precise.h"> - <Filter>src\core\lib\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\support\tmpfile.h"> - <Filter>src\core\lib\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\channel_args.h"> - <Filter>src\core\lib\channel</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\channel_stack.h"> - <Filter>src\core\lib\channel</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\channel_stack_builder.h"> - <Filter>src\core\lib\channel</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\connected_channel.h"> - <Filter>src\core\lib\channel</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\context.h"> - <Filter>src\core\lib\channel</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\handshaker.h"> - <Filter>src\core\lib\channel</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\handshaker_factory.h"> - <Filter>src\core\lib\channel</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\handshaker_registry.h"> - <Filter>src\core\lib\channel</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\compression\algorithm_metadata.h"> - <Filter>src\core\lib\compression</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\compression\message_compress.h"> - <Filter>src\core\lib\compression</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\compression\stream_compression.h"> - <Filter>src\core\lib\compression</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\http\format_request.h"> - <Filter>src\core\lib\http</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\http\httpcli.h"> - <Filter>src\core\lib\http</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\http\parser.h"> - <Filter>src\core\lib\http</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\closure.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\combiner.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\endpoint.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\endpoint_pair.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\error.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\error_internal.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_epoll1_linux.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_epoll_limited_pollers_linux.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_epoll_thread_pool_linux.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_epollex_linux.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_epollsig_linux.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_poll_posix.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_posix.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\exec_ctx.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\executor.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\iocp_windows.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr_custom.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr_internal.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr_posix.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\is_epollexclusive_available.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\load_file.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\lockfree_event.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\nameser.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\network_status_tracker.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\polling_entity.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_set.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_set_windows.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_uv.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_windows.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\port.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\resolve_address.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\resource_quota.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\sockaddr.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\sockaddr_posix.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\sockaddr_utils.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\sockaddr_windows.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_factory_posix.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_mutator.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_utils.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_utils_posix.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_windows.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\sys_epoll_wrapper.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_client.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_client_posix.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_custom.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_posix.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_server.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_server_utils_posix.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_uv.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_windows.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\time_averaged_stats.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\timer.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\timer_custom.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\timer_heap.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\timer_manager.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\udp_server.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\unix_sockets_posix.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\wakeup_fd_cv.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\wakeup_fd_pipe.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\wakeup_fd_posix.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\json\json.h"> - <Filter>src\core\lib\json</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\json\json_common.h"> - <Filter>src\core\lib\json</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\json\json_reader.h"> - <Filter>src\core\lib\json</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\json\json_writer.h"> - <Filter>src\core\lib\json</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\slice\b64.h"> - <Filter>src\core\lib\slice</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\slice\percent_encoding.h"> - <Filter>src\core\lib\slice</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\slice\slice_hash_table.h"> - <Filter>src\core\lib\slice</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\slice\slice_internal.h"> - <Filter>src\core\lib\slice</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\slice\slice_string_helpers.h"> - <Filter>src\core\lib\slice</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\api_trace.h"> - <Filter>src\core\lib\surface</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\call.h"> - <Filter>src\core\lib\surface</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\call_test_only.h"> - <Filter>src\core\lib\surface</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\channel.h"> - <Filter>src\core\lib\surface</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\channel_init.h"> - <Filter>src\core\lib\surface</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\channel_stack_type.h"> - <Filter>src\core\lib\surface</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\completion_queue.h"> - <Filter>src\core\lib\surface</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\completion_queue_factory.h"> - <Filter>src\core\lib\surface</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\event_string.h"> - <Filter>src\core\lib\surface</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\init.h"> - <Filter>src\core\lib\surface</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\lame_client.h"> - <Filter>src\core\lib\surface</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\server.h"> - <Filter>src\core\lib\surface</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\validate_metadata.h"> - <Filter>src\core\lib\surface</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\bdp_estimator.h"> - <Filter>src\core\lib\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\byte_stream.h"> - <Filter>src\core\lib\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\connectivity_state.h"> - <Filter>src\core\lib\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\error_utils.h"> - <Filter>src\core\lib\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\http2_errors.h"> - <Filter>src\core\lib\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\metadata.h"> - <Filter>src\core\lib\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\metadata_batch.h"> - <Filter>src\core\lib\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\pid_controller.h"> - <Filter>src\core\lib\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\service_config.h"> - <Filter>src\core\lib\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\static_metadata.h"> - <Filter>src\core\lib\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\status_conversion.h"> - <Filter>src\core\lib\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\timeout_encoding.h"> - <Filter>src\core\lib\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\transport.h"> - <Filter>src\core\lib\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\transport_impl.h"> - <Filter>src\core\lib\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\debug\trace.h"> - <Filter>src\core\lib\debug</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\inproc\inproc_transport.h"> - <Filter>src\core\ext\transport\inproc</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\third_party\nanopb\pb.h"> - <Filter>third_party\nanopb</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\third_party\nanopb\pb_common.h"> - <Filter>third_party\nanopb</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\third_party\nanopb\pb_decode.h"> - <Filter>third_party\nanopb</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\third_party\nanopb\pb_encode.h"> - <Filter>third_party\nanopb</Filter> - </ClInclude> - </ItemGroup> - - <ItemGroup> - <Filter Include="include"> - <UniqueIdentifier>{82445414-24cd-8198-1fe1-4267c3f3df00}</UniqueIdentifier> - </Filter> - <Filter Include="include\grpc"> - <UniqueIdentifier>{16946104-53ac-ac76-68b9-f9ec77ea6fae}</UniqueIdentifier> - </Filter> - <Filter Include="include\grpc++"> - <UniqueIdentifier>{784a0281-f547-aeb0-9f55-b26b7de9c769}</UniqueIdentifier> - </Filter> - <Filter Include="include\grpc++\ext"> - <UniqueIdentifier>{25501d8e-5fae-2fe4-14a6-d69a07acefdd}</UniqueIdentifier> - </Filter> - <Filter Include="include\grpc++\generic"> - <UniqueIdentifier>{51dae921-3aa2-1976-2ee4-c5615de1af54}</UniqueIdentifier> - </Filter> - <Filter Include="include\grpc++\impl"> - <UniqueIdentifier>{0da8cd95-314f-da1b-5ce7-7791a5be1f1a}</UniqueIdentifier> - </Filter> - <Filter Include="include\grpc++\impl\codegen"> - <UniqueIdentifier>{a3e7f28b-a7c7-7364-d402-edb1bfa414a4}</UniqueIdentifier> - </Filter> - <Filter Include="include\grpc++\impl\codegen\security"> - <UniqueIdentifier>{20cbcf00-994a-300a-5184-bda96c6f45e4}</UniqueIdentifier> - </Filter> - <Filter Include="include\grpc++\security"> - <UniqueIdentifier>{a80eb32b-1be9-1187-5f40-30d92accecc8}</UniqueIdentifier> - </Filter> - <Filter Include="include\grpc++\support"> - <UniqueIdentifier>{a5c10dae-f715-2a30-1066-d22f8bc94cb2}</UniqueIdentifier> - </Filter> - <Filter Include="include\grpc\impl"> - <UniqueIdentifier>{48c3b0ae-c00f-fa20-6965-b73da65d71cb}</UniqueIdentifier> - </Filter> - <Filter Include="include\grpc\impl\codegen"> - <UniqueIdentifier>{dc8bfccd-341f-26f0-8ee4-47dde62a6dd1}</UniqueIdentifier> - </Filter> - <Filter Include="include\grpc\support"> - <UniqueIdentifier>{5ec10a44-9a09-9220-cf3b-b18ce6e4f70f}</UniqueIdentifier> - </Filter> - <Filter Include="src"> - <UniqueIdentifier>{328ff211-2886-406e-56f9-18ba1686f363}</UniqueIdentifier> - </Filter> - <Filter Include="src\core"> - <UniqueIdentifier>{d02f1155-7e7e-3736-3c69-dc9146dc523d}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext"> - <UniqueIdentifier>{96d09c4a-59f9-3486-6c2f-cbf695b285d8}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext\transport"> - <UniqueIdentifier>{202b1172-189f-afc4-f16c-4ca12677b480}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext\transport\inproc"> - <UniqueIdentifier>{635a93a8-e23a-a664-c9cb-0963736dd9ce}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\lib"> - <UniqueIdentifier>{80567a8f-622f-a3ce-c12d-aebb63984b07}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\lib\channel"> - <UniqueIdentifier>{e769265c-8abd-cd64-2cc2-a52da484fe7b}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\lib\compression"> - <UniqueIdentifier>{701b2d46-11c6-3640-b189-45287f00bee3}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\lib\debug"> - <UniqueIdentifier>{ada68fd5-8e51-98cb-71a7-baf7989d8ffa}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\lib\http"> - <UniqueIdentifier>{e770844e-61d4-555e-59be-81288e21a35f}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\lib\iomgr"> - <UniqueIdentifier>{04dfa1c8-7ffe-4f06-4a7c-37441dc75764}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\lib\json"> - <UniqueIdentifier>{a5d5bddf-6f19-b655-a03a-f30ff5c253a5}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\lib\profiling"> - <UniqueIdentifier>{836e78ab-aaae-9dce-dd1e-06f03c436a13}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\lib\slice"> - <UniqueIdentifier>{afe126ba-52c9-1daa-d174-8ee8aade08c2}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\lib\support"> - <UniqueIdentifier>{83b45914-6f97-b4ad-f2d0-cc56a10ea1bb}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\lib\surface"> - <UniqueIdentifier>{fb2276d7-5a11-f1d9-82c3-e7c7f1155523}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\lib\transport"> - <UniqueIdentifier>{4bd7971a-68f7-0d5a-f502-6dea3099caaa}</UniqueIdentifier> - </Filter> - <Filter Include="src\cpp"> - <UniqueIdentifier>{2420a905-e4f1-a5aa-a364-6a112878a39e}</UniqueIdentifier> - </Filter> - <Filter Include="src\cpp\client"> - <UniqueIdentifier>{7febf32a-d7a6-76fa-9e17-f189f591c062}</UniqueIdentifier> - </Filter> - <Filter Include="src\cpp\codegen"> - <UniqueIdentifier>{3c3e27f4-d3d9-3c42-5204-08b5e839f2de}</UniqueIdentifier> - </Filter> - <Filter Include="src\cpp\common"> - <UniqueIdentifier>{2336e396-7e0b-8bf9-3b09-adc6ad1f0e5b}</UniqueIdentifier> - </Filter> - <Filter Include="src\cpp\server"> - <UniqueIdentifier>{321b0980-74ad-e8ca-f23b-deffa5d6bb8f}</UniqueIdentifier> - </Filter> - <Filter Include="src\cpp\server\health"> - <UniqueIdentifier>{5bc9ef4e-78c1-159e-4e4e-30ddfce3e140}</UniqueIdentifier> - </Filter> - <Filter Include="src\cpp\thread_manager"> - <UniqueIdentifier>{23f9df56-8604-52a0-e6a2-f01b8e68d0e7}</UniqueIdentifier> - </Filter> - <Filter Include="src\cpp\util"> - <UniqueIdentifier>{f842537a-2bf1-1ec3-b495-7d62c64a1c06}</UniqueIdentifier> - </Filter> - <Filter Include="third_party"> - <UniqueIdentifier>{0cfc99f5-c633-356e-6810-754c93b15658}</UniqueIdentifier> - </Filter> - <Filter Include="third_party\nanopb"> - <UniqueIdentifier>{abc9bbec-57f7-141f-8616-e2d3aa8b2e6d}</UniqueIdentifier> - </Filter> - </ItemGroup> -</Project> - diff --git a/vsprojects/vcxproj/grpc++_unsecure/grpc++_unsecure.vcxproj b/vsprojects/vcxproj/grpc++_unsecure/grpc++_unsecure.vcxproj deleted file mode 100644 index 3d8bf82b6a..0000000000 --- a/vsprojects/vcxproj/grpc++_unsecure/grpc++_unsecure.vcxproj +++ /dev/null @@ -1,630 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup Label="ProjectConfigurations"> - <ProjectConfiguration Include="Debug-DLL|Win32"> - <Configuration>Debug-DLL</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Debug-DLL|x64"> - <Configuration>Debug-DLL</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Release-DLL|Win32"> - <Configuration>Release-DLL</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Release-DLL|x64"> - <Configuration>Release-DLL</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Debug|Win32"> - <Configuration>Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Debug|x64"> - <Configuration>Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Release|Win32"> - <Configuration>Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Release|x64"> - <Configuration>Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - </ItemGroup> - <PropertyGroup Label="Globals"> - <ProjectGuid>{6EE56155-DF7C-4F6E-BFC4-F6F776BEB211}</ProjectGuid> - <IgnoreWarnIntDirInTempDetected>true</IgnoreWarnIntDirInTempDetected> - <IntDir>$(SolutionDir)IntDir\$(MSBuildProjectName)\</IntDir> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> - <PropertyGroup Condition="'$(VisualStudioVersion)' == '10.0'" Label="Configuration"> - <PlatformToolset>v100</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(VisualStudioVersion)' == '11.0'" Label="Configuration"> - <PlatformToolset>v110</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(VisualStudioVersion)' == '12.0'" Label="Configuration"> - <PlatformToolset>v120</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(VisualStudioVersion)' == '14.0'" Label="Configuration"> - <PlatformToolset>v140</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)'=='Debug'" Label="Configuration"> - <ConfigurationType>StaticLibrary</ConfigurationType> - <UseDebugLibraries>true</UseDebugLibraries> - <CharacterSet>Unicode</CharacterSet> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)'=='Release'" Label="Configuration"> - <ConfigurationType>StaticLibrary</ConfigurationType> - <UseDebugLibraries>false</UseDebugLibraries> - <WholeProgramOptimization>true</WholeProgramOptimization> - <CharacterSet>Unicode</CharacterSet> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)'=='Debug-DLL'" Label="Configuration"> - <ConfigurationType>StaticLibrary</ConfigurationType> - <UseDebugLibraries>true</UseDebugLibraries> - <CharacterSet>Unicode</CharacterSet> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)'=='Release-DLL'" Label="Configuration"> - <ConfigurationType>StaticLibrary</ConfigurationType> - <UseDebugLibraries>false</UseDebugLibraries> - <WholeProgramOptimization>true</WholeProgramOptimization> - <CharacterSet>Unicode</CharacterSet> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> - <ImportGroup Label="ExtensionSettings"> - </ImportGroup> - <ImportGroup Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - <Import Project="$(SolutionDir)\..\vsprojects\global.props" /> - <Import Project="$(SolutionDir)\..\vsprojects\winsock.props" /> - </ImportGroup> - <PropertyGroup Label="UserMacros" /> - <PropertyGroup Condition="'$(Configuration)'=='Debug'"> - <TargetName>grpc++_unsecure</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)'=='Release'"> - <TargetName>grpc++_unsecure</TargetName> - </PropertyGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug-DLL|Win32'"> - <ClCompile> - <PrecompiledHeader>NotUsing</PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <Optimization>Disabled</Optimization> - <PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <SDLCheck>true</SDLCheck> - <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> - <TreatWarningAsError>true</TreatWarningAsError> - <DebugInformationFormat Condition="$(Jenkins)">None</DebugInformationFormat> - <MinimalRebuild Condition="$(Jenkins)">false</MinimalRebuild> - </ClCompile> - <Link> - <SubSystem>Windows</SubSystem> - <GenerateDebugInformation Condition="!$(Jenkins)">true</GenerateDebugInformation> - <GenerateDebugInformation Condition="$(Jenkins)">false</GenerateDebugInformation> - </Link> - </ItemDefinitionGroup> - - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug-DLL|x64'"> - <ClCompile> - <PrecompiledHeader>NotUsing</PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <Optimization>Disabled</Optimization> - <PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <SDLCheck>true</SDLCheck> - <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> - <TreatWarningAsError>true</TreatWarningAsError> - <DebugInformationFormat Condition="$(Jenkins)">None</DebugInformationFormat> - <MinimalRebuild Condition="$(Jenkins)">false</MinimalRebuild> - </ClCompile> - <Link> - <SubSystem>Windows</SubSystem> - <GenerateDebugInformation Condition="!$(Jenkins)">true</GenerateDebugInformation> - <GenerateDebugInformation Condition="$(Jenkins)">false</GenerateDebugInformation> - </Link> - </ItemDefinitionGroup> - - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release-DLL|Win32'"> - <ClCompile> - <PrecompiledHeader>NotUsing</PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <Optimization>MaxSpeed</Optimization> - <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <FunctionLevelLinking>true</FunctionLevelLinking> - <IntrinsicFunctions>true</IntrinsicFunctions> - <SDLCheck>true</SDLCheck> - <RuntimeLibrary>MultiThreaded</RuntimeLibrary> - <TreatWarningAsError>true</TreatWarningAsError> - <DebugInformationFormat Condition="$(Jenkins)">None</DebugInformationFormat> - <MinimalRebuild Condition="$(Jenkins)">false</MinimalRebuild> - </ClCompile> - <Link> - <SubSystem>Windows</SubSystem> - <GenerateDebugInformation Condition="!$(Jenkins)">true</GenerateDebugInformation> - <GenerateDebugInformation Condition="$(Jenkins)">false</GenerateDebugInformation> - <EnableCOMDATFolding>true</EnableCOMDATFolding> - <OptimizeReferences>true</OptimizeReferences> - </Link> - </ItemDefinitionGroup> - - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release-DLL|x64'"> - <ClCompile> - <PrecompiledHeader>NotUsing</PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <Optimization>MaxSpeed</Optimization> - <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <FunctionLevelLinking>true</FunctionLevelLinking> - <IntrinsicFunctions>true</IntrinsicFunctions> - <SDLCheck>true</SDLCheck> - <RuntimeLibrary>MultiThreaded</RuntimeLibrary> - <TreatWarningAsError>true</TreatWarningAsError> - <DebugInformationFormat Condition="$(Jenkins)">None</DebugInformationFormat> - <MinimalRebuild Condition="$(Jenkins)">false</MinimalRebuild> - </ClCompile> - <Link> - <SubSystem>Windows</SubSystem> - <GenerateDebugInformation Condition="!$(Jenkins)">true</GenerateDebugInformation> - <GenerateDebugInformation Condition="$(Jenkins)">false</GenerateDebugInformation> - <EnableCOMDATFolding>true</EnableCOMDATFolding> - <OptimizeReferences>true</OptimizeReferences> - </Link> - </ItemDefinitionGroup> - - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> - <ClCompile> - <PrecompiledHeader>NotUsing</PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <Optimization>Disabled</Optimization> - <PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <SDLCheck>true</SDLCheck> - <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> - <TreatWarningAsError>true</TreatWarningAsError> - <DebugInformationFormat Condition="$(Jenkins)">None</DebugInformationFormat> - <MinimalRebuild Condition="$(Jenkins)">false</MinimalRebuild> - </ClCompile> - <Link> - <SubSystem>Windows</SubSystem> - <GenerateDebugInformation Condition="!$(Jenkins)">true</GenerateDebugInformation> - <GenerateDebugInformation Condition="$(Jenkins)">false</GenerateDebugInformation> - </Link> - </ItemDefinitionGroup> - - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> - <ClCompile> - <PrecompiledHeader>NotUsing</PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <Optimization>Disabled</Optimization> - <PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <SDLCheck>true</SDLCheck> - <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> - <TreatWarningAsError>true</TreatWarningAsError> - <DebugInformationFormat Condition="$(Jenkins)">None</DebugInformationFormat> - <MinimalRebuild Condition="$(Jenkins)">false</MinimalRebuild> - </ClCompile> - <Link> - <SubSystem>Windows</SubSystem> - <GenerateDebugInformation Condition="!$(Jenkins)">true</GenerateDebugInformation> - <GenerateDebugInformation Condition="$(Jenkins)">false</GenerateDebugInformation> - </Link> - </ItemDefinitionGroup> - - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> - <ClCompile> - <PrecompiledHeader>NotUsing</PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <Optimization>MaxSpeed</Optimization> - <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <FunctionLevelLinking>true</FunctionLevelLinking> - <IntrinsicFunctions>true</IntrinsicFunctions> - <SDLCheck>true</SDLCheck> - <RuntimeLibrary>MultiThreaded</RuntimeLibrary> - <TreatWarningAsError>true</TreatWarningAsError> - <DebugInformationFormat Condition="$(Jenkins)">None</DebugInformationFormat> - <MinimalRebuild Condition="$(Jenkins)">false</MinimalRebuild> - </ClCompile> - <Link> - <SubSystem>Windows</SubSystem> - <GenerateDebugInformation Condition="!$(Jenkins)">true</GenerateDebugInformation> - <GenerateDebugInformation Condition="$(Jenkins)">false</GenerateDebugInformation> - <EnableCOMDATFolding>true</EnableCOMDATFolding> - <OptimizeReferences>true</OptimizeReferences> - </Link> - </ItemDefinitionGroup> - - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> - <ClCompile> - <PrecompiledHeader>NotUsing</PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <Optimization>MaxSpeed</Optimization> - <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <FunctionLevelLinking>true</FunctionLevelLinking> - <IntrinsicFunctions>true</IntrinsicFunctions> - <SDLCheck>true</SDLCheck> - <RuntimeLibrary>MultiThreaded</RuntimeLibrary> - <TreatWarningAsError>true</TreatWarningAsError> - <DebugInformationFormat Condition="$(Jenkins)">None</DebugInformationFormat> - <MinimalRebuild Condition="$(Jenkins)">false</MinimalRebuild> - </ClCompile> - <Link> - <SubSystem>Windows</SubSystem> - <GenerateDebugInformation Condition="!$(Jenkins)">true</GenerateDebugInformation> - <GenerateDebugInformation Condition="$(Jenkins)">false</GenerateDebugInformation> - <EnableCOMDATFolding>true</EnableCOMDATFolding> - <OptimizeReferences>true</OptimizeReferences> - </Link> - </ItemDefinitionGroup> - - <ItemGroup> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\alarm.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\channel.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\client_context.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\completion_queue.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\create_channel.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\create_channel_posix.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\ext\health_check_service_server_builder_option.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\generic\async_generic_service.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\generic\generic_stub.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\grpc++.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\health_check_service_interface.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\call.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\channel_argument_option.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\client_unary_call.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\core_codegen.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\grpc_library.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\method_handler_impl.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\rpc_method.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\rpc_service_method.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\serialization_traits.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\server_builder_option.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\server_builder_plugin.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\server_initializer.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\service_type.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\resource_quota.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\security\auth_context.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\security\auth_metadata_processor.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\security\credentials.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\security\server_credentials.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\server.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\server_builder.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\server_context.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\server_posix.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\async_stream.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\async_unary_call.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\byte_buffer.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\channel_arguments.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\config.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\slice.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\status.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\status_code_enum.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\string_ref.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\stub_options.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\sync_stream.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\time.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\alloc.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\atm.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\atm_gcc_atomic.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\atm_gcc_sync.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\atm_windows.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\avl.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\cmdline.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\cpu.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\histogram.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\host_port.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\log.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\log_windows.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\port_platform.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\string_util.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\subprocess.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\sync.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\sync_generic.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\sync_posix.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\sync_windows.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\thd.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\time.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\tls.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\tls_gcc.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\tls_msvc.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\tls_pthread.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\useful.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm_gcc_atomic.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm_gcc_sync.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm_windows.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\gpr_slice.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\gpr_types.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\port_platform.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync_generic.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync_posix.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync_windows.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\byte_buffer.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\byte_buffer_reader.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\compression.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\grpc.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\grpc_posix.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\grpc_security_constants.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\load_reporting.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\slice.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\slice_buffer.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\status.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\workaround_list.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\byte_buffer_reader.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\compression_types.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\connectivity_state.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\exec_ctx_fwd.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\grpc_types.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\propagation_bits.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\slice.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\status.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\async_stream.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\async_unary_call.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\call.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\call_hook.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\channel_interface.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\client_context.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\client_unary_call.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\completion_queue.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\completion_queue_tag.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\config.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\core_codegen_interface.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\create_auth_context.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\grpc_library.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\metadata_map.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\method_handler_impl.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\rpc_method.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\rpc_service_method.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\security\auth_context.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\serialization_traits.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\server_context.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\server_interface.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\service_type.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\slice.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\status.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\status_code_enum.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\string_ref.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\stub_options.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\sync_stream.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\time.h" /> - </ItemGroup> - <ItemGroup> - <ClInclude Include="$(SolutionDir)\..\src\cpp\client\create_channel_internal.h" /> - <ClInclude Include="$(SolutionDir)\..\src\cpp\common\channel_filter.h" /> - <ClInclude Include="$(SolutionDir)\..\src\cpp\server\dynamic_thread_pool.h" /> - <ClInclude Include="$(SolutionDir)\..\src\cpp\server\health\default_health_check_service.h" /> - <ClInclude Include="$(SolutionDir)\..\src\cpp\server\health\health.pb.h" /> - <ClInclude Include="$(SolutionDir)\..\src\cpp\server\thread_pool_interface.h" /> - <ClInclude Include="$(SolutionDir)\..\src\cpp\thread_manager\thread_manager.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\profiling\timers.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\support\arena.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\support\atomic.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\support\atomic_with_atm.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\support\atomic_with_std.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\support\backoff.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\support\block_annotate.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\support\env.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\support\memory.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\support\mpscq.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\support\murmur_hash.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\support\spinlock.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\support\stack_lockfree.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\support\string.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\support\string_windows.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\support\thd_internal.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\support\time_precise.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\support\tmpfile.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\channel_args.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\channel_stack.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\channel_stack_builder.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\connected_channel.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\context.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\handshaker.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\handshaker_factory.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\handshaker_registry.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\compression\algorithm_metadata.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\compression\message_compress.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\compression\stream_compression.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\http\format_request.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\http\httpcli.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\http\parser.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\closure.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\combiner.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\endpoint.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\endpoint_pair.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\error.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\error_internal.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_epoll1_linux.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_epoll_limited_pollers_linux.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_epoll_thread_pool_linux.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_epollex_linux.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_epollsig_linux.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_poll_posix.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_posix.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\exec_ctx.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\executor.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\iocp_windows.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr_custom.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr_internal.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr_posix.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\is_epollexclusive_available.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\load_file.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\lockfree_event.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\nameser.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\network_status_tracker.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\polling_entity.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_set.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_set_windows.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_uv.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_windows.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\port.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\resolve_address.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\resource_quota.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\sockaddr.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\sockaddr_posix.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\sockaddr_utils.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\sockaddr_windows.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_factory_posix.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_mutator.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_utils.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_utils_posix.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_windows.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\sys_epoll_wrapper.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_client.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_client_posix.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_custom.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_posix.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_server.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_server_utils_posix.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_uv.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_windows.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\time_averaged_stats.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\timer.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\timer_custom.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\timer_heap.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\timer_manager.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\udp_server.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\unix_sockets_posix.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\wakeup_fd_cv.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\wakeup_fd_pipe.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\wakeup_fd_posix.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\json\json.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\json\json_common.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\json\json_reader.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\json\json_writer.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\slice\b64.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\slice\percent_encoding.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\slice\slice_hash_table.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\slice\slice_internal.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\slice\slice_string_helpers.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\api_trace.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\call.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\call_test_only.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\channel.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\channel_init.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\channel_stack_type.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\completion_queue.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\completion_queue_factory.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\event_string.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\init.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\lame_client.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\server.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\validate_metadata.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\bdp_estimator.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\byte_stream.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\connectivity_state.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\error_utils.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\http2_errors.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\metadata.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\metadata_batch.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\pid_controller.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\service_config.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\static_metadata.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\status_conversion.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\timeout_encoding.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\transport.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\transport_impl.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\debug\trace.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\inproc\inproc_transport.h" /> - <ClInclude Include="$(SolutionDir)\..\third_party\nanopb\pb.h" /> - <ClInclude Include="$(SolutionDir)\..\third_party\nanopb\pb_common.h" /> - <ClInclude Include="$(SolutionDir)\..\third_party\nanopb\pb_decode.h" /> - <ClInclude Include="$(SolutionDir)\..\third_party\nanopb\pb_encode.h" /> - </ItemGroup> - <ItemGroup> - <ClCompile Include="$(SolutionDir)\..\src\cpp\client\insecure_credentials.cc"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\common\insecure_create_auth_context.cc"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\server\insecure_server_credentials.cc"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\client\channel_cc.cc"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\client\client_context.cc"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\client\create_channel.cc"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\client\create_channel_internal.cc"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\client\create_channel_posix.cc"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\client\credentials_cc.cc"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\client\generic_stub.cc"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\common\channel_arguments.cc"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\common\channel_filter.cc"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\common\completion_queue_cc.cc"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\common\core_codegen.cc"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\common\resource_quota_cc.cc"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\common\rpc_method.cc"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\common\version_cc.cc"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\server\async_generic_service.cc"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\server\channel_argument_option.cc"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\server\create_default_thread_pool.cc"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\server\dynamic_thread_pool.cc"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\server\health\default_health_check_service.cc"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\server\health\health.pb.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\server\health\health_check_service.cc"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\server\health\health_check_service_server_builder_option.cc"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\server\server_builder.cc"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\server\server_cc.cc"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\server\server_context.cc"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\server\server_credentials.cc"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\server\server_posix.cc"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\thread_manager\thread_manager.cc"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\util\byte_buffer_cc.cc"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\util\slice_cc.cc"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\util\status.cc"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\util\string_ref.cc"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\util\time_cc.cc"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\codegen\codegen_init.cc"> - </ClCompile> - </ItemGroup> - <ItemGroup> - <ProjectReference Include="$(SolutionDir)\..\vsprojects\vcxproj\.\gpr\gpr.vcxproj"> - <Project>{B23D3D1A-9438-4EDA-BEB6-9A0A03D17792}</Project> - </ProjectReference> - <ProjectReference Include="$(SolutionDir)\..\vsprojects\vcxproj\.\grpc_unsecure\grpc_unsecure.vcxproj"> - <Project>{46CEDFFF-9692-456A-AA24-38B5D6BCF4C5}</Project> - </ProjectReference> - </ItemGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> - <ImportGroup Label="ExtensionTargets"> - </ImportGroup> - <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> - <PropertyGroup> - <ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText> - </PropertyGroup> - </Target> -</Project> - diff --git a/vsprojects/vcxproj/grpc++_unsecure/grpc++_unsecure.vcxproj.filters b/vsprojects/vcxproj/grpc++_unsecure/grpc++_unsecure.vcxproj.filters deleted file mode 100644 index 2c4230f4fe..0000000000 --- a/vsprojects/vcxproj/grpc++_unsecure/grpc++_unsecure.vcxproj.filters +++ /dev/null @@ -1,1063 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup> - <ClCompile Include="$(SolutionDir)\..\src\cpp\client\insecure_credentials.cc"> - <Filter>src\cpp\client</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\common\insecure_create_auth_context.cc"> - <Filter>src\cpp\common</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\server\insecure_server_credentials.cc"> - <Filter>src\cpp\server</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\client\channel_cc.cc"> - <Filter>src\cpp\client</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\client\client_context.cc"> - <Filter>src\cpp\client</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\client\create_channel.cc"> - <Filter>src\cpp\client</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\client\create_channel_internal.cc"> - <Filter>src\cpp\client</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\client\create_channel_posix.cc"> - <Filter>src\cpp\client</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\client\credentials_cc.cc"> - <Filter>src\cpp\client</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\client\generic_stub.cc"> - <Filter>src\cpp\client</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\common\channel_arguments.cc"> - <Filter>src\cpp\common</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\common\channel_filter.cc"> - <Filter>src\cpp\common</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\common\completion_queue_cc.cc"> - <Filter>src\cpp\common</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\common\core_codegen.cc"> - <Filter>src\cpp\common</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\common\resource_quota_cc.cc"> - <Filter>src\cpp\common</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\common\rpc_method.cc"> - <Filter>src\cpp\common</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\common\version_cc.cc"> - <Filter>src\cpp\common</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\server\async_generic_service.cc"> - <Filter>src\cpp\server</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\server\channel_argument_option.cc"> - <Filter>src\cpp\server</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\server\create_default_thread_pool.cc"> - <Filter>src\cpp\server</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\server\dynamic_thread_pool.cc"> - <Filter>src\cpp\server</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\server\health\default_health_check_service.cc"> - <Filter>src\cpp\server\health</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\server\health\health.pb.c"> - <Filter>src\cpp\server\health</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\server\health\health_check_service.cc"> - <Filter>src\cpp\server\health</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\server\health\health_check_service_server_builder_option.cc"> - <Filter>src\cpp\server\health</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\server\server_builder.cc"> - <Filter>src\cpp\server</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\server\server_cc.cc"> - <Filter>src\cpp\server</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\server\server_context.cc"> - <Filter>src\cpp\server</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\server\server_credentials.cc"> - <Filter>src\cpp\server</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\server\server_posix.cc"> - <Filter>src\cpp\server</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\thread_manager\thread_manager.cc"> - <Filter>src\cpp\thread_manager</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\util\byte_buffer_cc.cc"> - <Filter>src\cpp\util</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\util\slice_cc.cc"> - <Filter>src\cpp\util</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\util\status.cc"> - <Filter>src\cpp\util</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\util\string_ref.cc"> - <Filter>src\cpp\util</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\util\time_cc.cc"> - <Filter>src\cpp\util</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\cpp\codegen\codegen_init.cc"> - <Filter>src\cpp\codegen</Filter> - </ClCompile> - </ItemGroup> - <ItemGroup> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\alarm.h"> - <Filter>include\grpc++</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\channel.h"> - <Filter>include\grpc++</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\client_context.h"> - <Filter>include\grpc++</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\completion_queue.h"> - <Filter>include\grpc++</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\create_channel.h"> - <Filter>include\grpc++</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\create_channel_posix.h"> - <Filter>include\grpc++</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\ext\health_check_service_server_builder_option.h"> - <Filter>include\grpc++\ext</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\generic\async_generic_service.h"> - <Filter>include\grpc++\generic</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\generic\generic_stub.h"> - <Filter>include\grpc++\generic</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\grpc++.h"> - <Filter>include\grpc++</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\health_check_service_interface.h"> - <Filter>include\grpc++</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\call.h"> - <Filter>include\grpc++\impl</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\channel_argument_option.h"> - <Filter>include\grpc++\impl</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\client_unary_call.h"> - <Filter>include\grpc++\impl</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\core_codegen.h"> - <Filter>include\grpc++\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\grpc_library.h"> - <Filter>include\grpc++\impl</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\method_handler_impl.h"> - <Filter>include\grpc++\impl</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\rpc_method.h"> - <Filter>include\grpc++\impl</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\rpc_service_method.h"> - <Filter>include\grpc++\impl</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\serialization_traits.h"> - <Filter>include\grpc++\impl</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\server_builder_option.h"> - <Filter>include\grpc++\impl</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\server_builder_plugin.h"> - <Filter>include\grpc++\impl</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\server_initializer.h"> - <Filter>include\grpc++\impl</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\service_type.h"> - <Filter>include\grpc++\impl</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\resource_quota.h"> - <Filter>include\grpc++</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\security\auth_context.h"> - <Filter>include\grpc++\security</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\security\auth_metadata_processor.h"> - <Filter>include\grpc++\security</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\security\credentials.h"> - <Filter>include\grpc++\security</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\security\server_credentials.h"> - <Filter>include\grpc++\security</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\server.h"> - <Filter>include\grpc++</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\server_builder.h"> - <Filter>include\grpc++</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\server_context.h"> - <Filter>include\grpc++</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\server_posix.h"> - <Filter>include\grpc++</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\async_stream.h"> - <Filter>include\grpc++\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\async_unary_call.h"> - <Filter>include\grpc++\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\byte_buffer.h"> - <Filter>include\grpc++\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\channel_arguments.h"> - <Filter>include\grpc++\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\config.h"> - <Filter>include\grpc++\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\slice.h"> - <Filter>include\grpc++\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\status.h"> - <Filter>include\grpc++\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\status_code_enum.h"> - <Filter>include\grpc++\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\string_ref.h"> - <Filter>include\grpc++\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\stub_options.h"> - <Filter>include\grpc++\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\sync_stream.h"> - <Filter>include\grpc++\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\support\time.h"> - <Filter>include\grpc++\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\alloc.h"> - <Filter>include\grpc\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\atm.h"> - <Filter>include\grpc\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\atm_gcc_atomic.h"> - <Filter>include\grpc\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\atm_gcc_sync.h"> - <Filter>include\grpc\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\atm_windows.h"> - <Filter>include\grpc\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\avl.h"> - <Filter>include\grpc\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\cmdline.h"> - <Filter>include\grpc\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\cpu.h"> - <Filter>include\grpc\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\histogram.h"> - <Filter>include\grpc\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\host_port.h"> - <Filter>include\grpc\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\log.h"> - <Filter>include\grpc\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\log_windows.h"> - <Filter>include\grpc\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\port_platform.h"> - <Filter>include\grpc\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\string_util.h"> - <Filter>include\grpc\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\subprocess.h"> - <Filter>include\grpc\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\sync.h"> - <Filter>include\grpc\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\sync_generic.h"> - <Filter>include\grpc\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\sync_posix.h"> - <Filter>include\grpc\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\sync_windows.h"> - <Filter>include\grpc\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\thd.h"> - <Filter>include\grpc\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\time.h"> - <Filter>include\grpc\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\tls.h"> - <Filter>include\grpc\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\tls_gcc.h"> - <Filter>include\grpc\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\tls_msvc.h"> - <Filter>include\grpc\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\tls_pthread.h"> - <Filter>include\grpc\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\useful.h"> - <Filter>include\grpc\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm_gcc_atomic.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm_gcc_sync.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm_windows.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\gpr_slice.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\gpr_types.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\port_platform.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync_generic.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync_posix.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync_windows.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\byte_buffer.h"> - <Filter>include\grpc</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\byte_buffer_reader.h"> - <Filter>include\grpc</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\compression.h"> - <Filter>include\grpc</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\grpc.h"> - <Filter>include\grpc</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\grpc_posix.h"> - <Filter>include\grpc</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\grpc_security_constants.h"> - <Filter>include\grpc</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\load_reporting.h"> - <Filter>include\grpc</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\slice.h"> - <Filter>include\grpc</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\slice_buffer.h"> - <Filter>include\grpc</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\status.h"> - <Filter>include\grpc</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\workaround_list.h"> - <Filter>include\grpc\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\byte_buffer_reader.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\compression_types.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\connectivity_state.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\exec_ctx_fwd.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\grpc_types.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\propagation_bits.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\slice.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\status.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\async_stream.h"> - <Filter>include\grpc++\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\async_unary_call.h"> - <Filter>include\grpc++\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\call.h"> - <Filter>include\grpc++\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\call_hook.h"> - <Filter>include\grpc++\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\channel_interface.h"> - <Filter>include\grpc++\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\client_context.h"> - <Filter>include\grpc++\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\client_unary_call.h"> - <Filter>include\grpc++\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\completion_queue.h"> - <Filter>include\grpc++\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\completion_queue_tag.h"> - <Filter>include\grpc++\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\config.h"> - <Filter>include\grpc++\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\core_codegen_interface.h"> - <Filter>include\grpc++\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\create_auth_context.h"> - <Filter>include\grpc++\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\grpc_library.h"> - <Filter>include\grpc++\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\metadata_map.h"> - <Filter>include\grpc++\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\method_handler_impl.h"> - <Filter>include\grpc++\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\rpc_method.h"> - <Filter>include\grpc++\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\rpc_service_method.h"> - <Filter>include\grpc++\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\security\auth_context.h"> - <Filter>include\grpc++\impl\codegen\security</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\serialization_traits.h"> - <Filter>include\grpc++\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\server_context.h"> - <Filter>include\grpc++\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\server_interface.h"> - <Filter>include\grpc++\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\service_type.h"> - <Filter>include\grpc++\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\slice.h"> - <Filter>include\grpc++\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\status.h"> - <Filter>include\grpc++\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\status_code_enum.h"> - <Filter>include\grpc++\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\string_ref.h"> - <Filter>include\grpc++\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\stub_options.h"> - <Filter>include\grpc++\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\sync_stream.h"> - <Filter>include\grpc++\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc++\impl\codegen\time.h"> - <Filter>include\grpc++\impl\codegen</Filter> - </ClInclude> - </ItemGroup> - <ItemGroup> - <ClInclude Include="$(SolutionDir)\..\src\cpp\client\create_channel_internal.h"> - <Filter>src\cpp\client</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\cpp\common\channel_filter.h"> - <Filter>src\cpp\common</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\cpp\server\dynamic_thread_pool.h"> - <Filter>src\cpp\server</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\cpp\server\health\default_health_check_service.h"> - <Filter>src\cpp\server\health</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\cpp\server\health\health.pb.h"> - <Filter>src\cpp\server\health</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\cpp\server\thread_pool_interface.h"> - <Filter>src\cpp\server</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\cpp\thread_manager\thread_manager.h"> - <Filter>src\cpp\thread_manager</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\profiling\timers.h"> - <Filter>src\core\lib\profiling</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\support\arena.h"> - <Filter>src\core\lib\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\support\atomic.h"> - <Filter>src\core\lib\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\support\atomic_with_atm.h"> - <Filter>src\core\lib\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\support\atomic_with_std.h"> - <Filter>src\core\lib\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\support\backoff.h"> - <Filter>src\core\lib\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\support\block_annotate.h"> - <Filter>src\core\lib\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\support\env.h"> - <Filter>src\core\lib\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\support\memory.h"> - <Filter>src\core\lib\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\support\mpscq.h"> - <Filter>src\core\lib\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\support\murmur_hash.h"> - <Filter>src\core\lib\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\support\spinlock.h"> - <Filter>src\core\lib\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\support\stack_lockfree.h"> - <Filter>src\core\lib\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\support\string.h"> - <Filter>src\core\lib\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\support\string_windows.h"> - <Filter>src\core\lib\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\support\thd_internal.h"> - <Filter>src\core\lib\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\support\time_precise.h"> - <Filter>src\core\lib\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\support\tmpfile.h"> - <Filter>src\core\lib\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\channel_args.h"> - <Filter>src\core\lib\channel</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\channel_stack.h"> - <Filter>src\core\lib\channel</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\channel_stack_builder.h"> - <Filter>src\core\lib\channel</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\connected_channel.h"> - <Filter>src\core\lib\channel</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\context.h"> - <Filter>src\core\lib\channel</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\handshaker.h"> - <Filter>src\core\lib\channel</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\handshaker_factory.h"> - <Filter>src\core\lib\channel</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\handshaker_registry.h"> - <Filter>src\core\lib\channel</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\compression\algorithm_metadata.h"> - <Filter>src\core\lib\compression</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\compression\message_compress.h"> - <Filter>src\core\lib\compression</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\compression\stream_compression.h"> - <Filter>src\core\lib\compression</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\http\format_request.h"> - <Filter>src\core\lib\http</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\http\httpcli.h"> - <Filter>src\core\lib\http</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\http\parser.h"> - <Filter>src\core\lib\http</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\closure.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\combiner.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\endpoint.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\endpoint_pair.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\error.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\error_internal.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_epoll1_linux.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_epoll_limited_pollers_linux.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_epoll_thread_pool_linux.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_epollex_linux.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_epollsig_linux.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_poll_posix.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_posix.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\exec_ctx.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\executor.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\iocp_windows.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr_custom.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr_internal.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr_posix.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\is_epollexclusive_available.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\load_file.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\lockfree_event.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\nameser.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\network_status_tracker.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\polling_entity.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_set.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_set_windows.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_uv.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_windows.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\port.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\resolve_address.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\resource_quota.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\sockaddr.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\sockaddr_posix.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\sockaddr_utils.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\sockaddr_windows.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_factory_posix.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_mutator.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_utils.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_utils_posix.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_windows.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\sys_epoll_wrapper.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_client.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_client_posix.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_custom.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_posix.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_server.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_server_utils_posix.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_uv.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_windows.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\time_averaged_stats.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\timer.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\timer_custom.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\timer_heap.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\timer_manager.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\udp_server.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\unix_sockets_posix.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\wakeup_fd_cv.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\wakeup_fd_pipe.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\wakeup_fd_posix.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\json\json.h"> - <Filter>src\core\lib\json</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\json\json_common.h"> - <Filter>src\core\lib\json</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\json\json_reader.h"> - <Filter>src\core\lib\json</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\json\json_writer.h"> - <Filter>src\core\lib\json</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\slice\b64.h"> - <Filter>src\core\lib\slice</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\slice\percent_encoding.h"> - <Filter>src\core\lib\slice</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\slice\slice_hash_table.h"> - <Filter>src\core\lib\slice</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\slice\slice_internal.h"> - <Filter>src\core\lib\slice</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\slice\slice_string_helpers.h"> - <Filter>src\core\lib\slice</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\api_trace.h"> - <Filter>src\core\lib\surface</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\call.h"> - <Filter>src\core\lib\surface</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\call_test_only.h"> - <Filter>src\core\lib\surface</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\channel.h"> - <Filter>src\core\lib\surface</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\channel_init.h"> - <Filter>src\core\lib\surface</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\channel_stack_type.h"> - <Filter>src\core\lib\surface</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\completion_queue.h"> - <Filter>src\core\lib\surface</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\completion_queue_factory.h"> - <Filter>src\core\lib\surface</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\event_string.h"> - <Filter>src\core\lib\surface</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\init.h"> - <Filter>src\core\lib\surface</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\lame_client.h"> - <Filter>src\core\lib\surface</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\server.h"> - <Filter>src\core\lib\surface</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\validate_metadata.h"> - <Filter>src\core\lib\surface</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\bdp_estimator.h"> - <Filter>src\core\lib\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\byte_stream.h"> - <Filter>src\core\lib\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\connectivity_state.h"> - <Filter>src\core\lib\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\error_utils.h"> - <Filter>src\core\lib\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\http2_errors.h"> - <Filter>src\core\lib\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\metadata.h"> - <Filter>src\core\lib\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\metadata_batch.h"> - <Filter>src\core\lib\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\pid_controller.h"> - <Filter>src\core\lib\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\service_config.h"> - <Filter>src\core\lib\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\static_metadata.h"> - <Filter>src\core\lib\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\status_conversion.h"> - <Filter>src\core\lib\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\timeout_encoding.h"> - <Filter>src\core\lib\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\transport.h"> - <Filter>src\core\lib\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\transport_impl.h"> - <Filter>src\core\lib\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\debug\trace.h"> - <Filter>src\core\lib\debug</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\inproc\inproc_transport.h"> - <Filter>src\core\ext\transport\inproc</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\third_party\nanopb\pb.h"> - <Filter>third_party\nanopb</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\third_party\nanopb\pb_common.h"> - <Filter>third_party\nanopb</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\third_party\nanopb\pb_decode.h"> - <Filter>third_party\nanopb</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\third_party\nanopb\pb_encode.h"> - <Filter>third_party\nanopb</Filter> - </ClInclude> - </ItemGroup> - - <ItemGroup> - <Filter Include="include"> - <UniqueIdentifier>{5c4eb19f-d511-e8fd-e1d6-c377cdc7d3b1}</UniqueIdentifier> - </Filter> - <Filter Include="include\grpc"> - <UniqueIdentifier>{f3dd91a8-058b-becf-9e41-eb42c7bc6e55}</UniqueIdentifier> - </Filter> - <Filter Include="include\grpc++"> - <UniqueIdentifier>{eceb50c0-bb49-3812-b6bd-b0af6df81da7}</UniqueIdentifier> - </Filter> - <Filter Include="include\grpc++\ext"> - <UniqueIdentifier>{e6643be2-2b2f-953d-ab14-27d89c835c8a}</UniqueIdentifier> - </Filter> - <Filter Include="include\grpc++\generic"> - <UniqueIdentifier>{83717d3c-57d9-2bfa-ed9c-2b08f86da12b}</UniqueIdentifier> - </Filter> - <Filter Include="include\grpc++\impl"> - <UniqueIdentifier>{dadc0002-f2ac-451b-a9b8-33b8de10b5fc}</UniqueIdentifier> - </Filter> - <Filter Include="include\grpc++\impl\codegen"> - <UniqueIdentifier>{ccc364e2-3f28-8bfc-c26e-800dd6f9a9af}</UniqueIdentifier> - </Filter> - <Filter Include="include\grpc++\impl\codegen\security"> - <UniqueIdentifier>{87cae06e-f40c-8fb6-73d6-26c7482ed9da}</UniqueIdentifier> - </Filter> - <Filter Include="include\grpc++\security"> - <UniqueIdentifier>{64bf60ff-9192-bb59-dcc8-8a0021e1d016}</UniqueIdentifier> - </Filter> - <Filter Include="include\grpc++\support"> - <UniqueIdentifier>{0ebf8008-80b9-d6da-e1dc-854bf1ec2195}</UniqueIdentifier> - </Filter> - <Filter Include="include\grpc\impl"> - <UniqueIdentifier>{c1049250-64f6-f900-d2e5-1718e148f1f0}</UniqueIdentifier> - </Filter> - <Filter Include="include\grpc\impl\codegen"> - <UniqueIdentifier>{adf6b8e3-4a4b-cb35-bb3d-568af97b58d1}</UniqueIdentifier> - </Filter> - <Filter Include="include\grpc\support"> - <UniqueIdentifier>{9d6d36f2-26e7-a66b-c19d-a958b80878d6}</UniqueIdentifier> - </Filter> - <Filter Include="src"> - <UniqueIdentifier>{cce6a85d-1111-3834-6825-31e170d93cff}</UniqueIdentifier> - </Filter> - <Filter Include="src\core"> - <UniqueIdentifier>{595f2ea0-aafb-87e5-c938-db3ff0b0c69a}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext"> - <UniqueIdentifier>{52eca76b-9502-3d96-9064-6415226a860f}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext\transport"> - <UniqueIdentifier>{8e70201f-3b54-d3cb-8b30-ebe0d96a9b2a}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext\transport\inproc"> - <UniqueIdentifier>{ecf09c42-c470-1883-35d7-442453ea8370}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\lib"> - <UniqueIdentifier>{cf8fd5d8-ff54-331d-2d20-36d6cae0e14b}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\lib\channel"> - <UniqueIdentifier>{7e0225af-000b-4873-1c16-caffffbfd084}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\lib\compression"> - <UniqueIdentifier>{0bbdbf56-83ad-bb4b-c4e2-a6d38c342179}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\lib\debug"> - <UniqueIdentifier>{3875f7d7-ff11-c91d-0f98-810260cb554b}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\lib\http"> - <UniqueIdentifier>{4bd405b9-af65-f0a6-d67a-433f75900668}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\lib\iomgr"> - <UniqueIdentifier>{f4b146e4-8fba-83a6-1cc1-1262ebb785e8}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\lib\json"> - <UniqueIdentifier>{b83c8e70-e491-f6f9-a08c-85f632bb61d2}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\lib\profiling"> - <UniqueIdentifier>{c3b582f8-079a-5936-7694-54cd75a7e61e}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\lib\slice"> - <UniqueIdentifier>{0d6d88e2-8549-5118-8b78-06e8283dadcb}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\lib\support"> - <UniqueIdentifier>{a5139298-498a-41d4-59fd-c38d8f0380c1}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\lib\surface"> - <UniqueIdentifier>{1d59dcef-3358-d0ab-fa42-64da74065785}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\lib\transport"> - <UniqueIdentifier>{ba865739-5dd9-6731-6772-48c25d45134f}</UniqueIdentifier> - </Filter> - <Filter Include="src\cpp"> - <UniqueIdentifier>{1e5fd68c-bd87-e803-42b0-75a7fa19b91d}</UniqueIdentifier> - </Filter> - <Filter Include="src\cpp\client"> - <UniqueIdentifier>{ff72923a-6499-8d2a-e0fb-6d574b85d77e}</UniqueIdentifier> - </Filter> - <Filter Include="src\cpp\codegen"> - <UniqueIdentifier>{18e9c249-37f0-7f2c-f026-502d48ed8c92}</UniqueIdentifier> - </Filter> - <Filter Include="src\cpp\common"> - <UniqueIdentifier>{ed8e4daa-825f-fbe5-2a45-846ad9165d3d}</UniqueIdentifier> - </Filter> - <Filter Include="src\cpp\server"> - <UniqueIdentifier>{8a54a279-d14b-4237-0df3-1ffe1ef5a7af}</UniqueIdentifier> - </Filter> - <Filter Include="src\cpp\server\health"> - <UniqueIdentifier>{a003cb5c-7249-106c-8ee5-de5e11a6692c}</UniqueIdentifier> - </Filter> - <Filter Include="src\cpp\thread_manager"> - <UniqueIdentifier>{e5b55f25-d99f-b8e5-9981-7da7fa7ba628}</UniqueIdentifier> - </Filter> - <Filter Include="src\cpp\util"> - <UniqueIdentifier>{fb5d9a64-20ca-5119-ed38-04a3cf94923d}</UniqueIdentifier> - </Filter> - <Filter Include="third_party"> - <UniqueIdentifier>{e911fd76-1313-5d02-3983-cdd0bafe1c6a}</UniqueIdentifier> - </Filter> - <Filter Include="third_party\nanopb"> - <UniqueIdentifier>{1ff41e28-caf4-c4b9-0170-53d36c7dac29}</UniqueIdentifier> - </Filter> - </ItemGroup> -</Project> - diff --git a/vsprojects/vcxproj/grpc/grpc.vcxproj b/vsprojects/vcxproj/grpc/grpc.vcxproj deleted file mode 100644 index 73cb0c243a..0000000000 --- a/vsprojects/vcxproj/grpc/grpc.vcxproj +++ /dev/null @@ -1,1087 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <Import Project="$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\grpc.dependencies.openssl.props" Condition="Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\1.0.204.1.props')" /> - <ItemGroup Label="ProjectConfigurations"> - <ProjectConfiguration Include="Debug-DLL|Win32"> - <Configuration>Debug-DLL</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Debug-DLL|x64"> - <Configuration>Debug-DLL</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Release-DLL|Win32"> - <Configuration>Release-DLL</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Release-DLL|x64"> - <Configuration>Release-DLL</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Debug|Win32"> - <Configuration>Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Debug|x64"> - <Configuration>Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Release|Win32"> - <Configuration>Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Release|x64"> - <Configuration>Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - </ItemGroup> - <PropertyGroup Label="Globals"> - <ProjectGuid>{29D16885-7228-4C31-81ED-5F9187C7F2A9}</ProjectGuid> - <IgnoreWarnIntDirInTempDetected>true</IgnoreWarnIntDirInTempDetected> - <IntDir>$(SolutionDir)IntDir\$(MSBuildProjectName)\</IntDir> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> - <PropertyGroup Condition="'$(VisualStudioVersion)' == '10.0'" Label="Configuration"> - <PlatformToolset>v100</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(VisualStudioVersion)' == '11.0'" Label="Configuration"> - <PlatformToolset>v110</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(VisualStudioVersion)' == '12.0'" Label="Configuration"> - <PlatformToolset>v120</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(VisualStudioVersion)' == '14.0'" Label="Configuration"> - <PlatformToolset>v140</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)'=='Debug'" Label="Configuration"> - <ConfigurationType>StaticLibrary</ConfigurationType> - <UseDebugLibraries>true</UseDebugLibraries> - <CharacterSet>Unicode</CharacterSet> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)'=='Release'" Label="Configuration"> - <ConfigurationType>StaticLibrary</ConfigurationType> - <UseDebugLibraries>false</UseDebugLibraries> - <WholeProgramOptimization>true</WholeProgramOptimization> - <CharacterSet>Unicode</CharacterSet> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)'=='Debug-DLL'" Label="Configuration"> - <ConfigurationType>StaticLibrary</ConfigurationType> - <UseDebugLibraries>true</UseDebugLibraries> - <CharacterSet>Unicode</CharacterSet> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)'=='Release-DLL'" Label="Configuration"> - <ConfigurationType>StaticLibrary</ConfigurationType> - <UseDebugLibraries>false</UseDebugLibraries> - <WholeProgramOptimization>true</WholeProgramOptimization> - <CharacterSet>Unicode</CharacterSet> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> - <ImportGroup Label="ExtensionSettings"> - </ImportGroup> - <ImportGroup Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - <Import Project="$(SolutionDir)\..\vsprojects\global.props" /> - <Import Project="$(SolutionDir)\..\vsprojects\winsock.props" /> - </ImportGroup> - <PropertyGroup Label="UserMacros" /> - <PropertyGroup Condition="'$(Configuration)'=='Debug'"> - <TargetName>grpc</TargetName> - <Linkage-grpc_dependencies_zlib>static</Linkage-grpc_dependencies_zlib> - <Configuration-grpc_dependencies_zlib>Debug</Configuration-grpc_dependencies_zlib> - <Linkage-grpc_dependencies_openssl>static</Linkage-grpc_dependencies_openssl> - <Configuration-grpc_dependencies_openssl>Debug</Configuration-grpc_dependencies_openssl> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)'=='Release'"> - <TargetName>grpc</TargetName> - <Linkage-grpc_dependencies_zlib>static</Linkage-grpc_dependencies_zlib> - <Configuration-grpc_dependencies_zlib>Release</Configuration-grpc_dependencies_zlib> - <Linkage-grpc_dependencies_openssl>static</Linkage-grpc_dependencies_openssl> - <Configuration-grpc_dependencies_openssl>Release</Configuration-grpc_dependencies_openssl> - </PropertyGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug-DLL|Win32'"> - <ClCompile> - <PrecompiledHeader>NotUsing</PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <Optimization>Disabled</Optimization> - <PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <SDLCheck>true</SDLCheck> - <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> - <TreatWarningAsError>true</TreatWarningAsError> - <DebugInformationFormat Condition="$(Jenkins)">None</DebugInformationFormat> - <MinimalRebuild Condition="$(Jenkins)">false</MinimalRebuild> - </ClCompile> - <Link> - <SubSystem>Windows</SubSystem> - <GenerateDebugInformation Condition="!$(Jenkins)">true</GenerateDebugInformation> - <GenerateDebugInformation Condition="$(Jenkins)">false</GenerateDebugInformation> - </Link> - </ItemDefinitionGroup> - - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug-DLL|x64'"> - <ClCompile> - <PrecompiledHeader>NotUsing</PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <Optimization>Disabled</Optimization> - <PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <SDLCheck>true</SDLCheck> - <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> - <TreatWarningAsError>true</TreatWarningAsError> - <DebugInformationFormat Condition="$(Jenkins)">None</DebugInformationFormat> - <MinimalRebuild Condition="$(Jenkins)">false</MinimalRebuild> - </ClCompile> - <Link> - <SubSystem>Windows</SubSystem> - <GenerateDebugInformation Condition="!$(Jenkins)">true</GenerateDebugInformation> - <GenerateDebugInformation Condition="$(Jenkins)">false</GenerateDebugInformation> - </Link> - </ItemDefinitionGroup> - - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release-DLL|Win32'"> - <ClCompile> - <PrecompiledHeader>NotUsing</PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <Optimization>MaxSpeed</Optimization> - <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <FunctionLevelLinking>true</FunctionLevelLinking> - <IntrinsicFunctions>true</IntrinsicFunctions> - <SDLCheck>true</SDLCheck> - <RuntimeLibrary>MultiThreaded</RuntimeLibrary> - <TreatWarningAsError>true</TreatWarningAsError> - <DebugInformationFormat Condition="$(Jenkins)">None</DebugInformationFormat> - <MinimalRebuild Condition="$(Jenkins)">false</MinimalRebuild> - </ClCompile> - <Link> - <SubSystem>Windows</SubSystem> - <GenerateDebugInformation Condition="!$(Jenkins)">true</GenerateDebugInformation> - <GenerateDebugInformation Condition="$(Jenkins)">false</GenerateDebugInformation> - <EnableCOMDATFolding>true</EnableCOMDATFolding> - <OptimizeReferences>true</OptimizeReferences> - </Link> - </ItemDefinitionGroup> - - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release-DLL|x64'"> - <ClCompile> - <PrecompiledHeader>NotUsing</PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <Optimization>MaxSpeed</Optimization> - <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <FunctionLevelLinking>true</FunctionLevelLinking> - <IntrinsicFunctions>true</IntrinsicFunctions> - <SDLCheck>true</SDLCheck> - <RuntimeLibrary>MultiThreaded</RuntimeLibrary> - <TreatWarningAsError>true</TreatWarningAsError> - <DebugInformationFormat Condition="$(Jenkins)">None</DebugInformationFormat> - <MinimalRebuild Condition="$(Jenkins)">false</MinimalRebuild> - </ClCompile> - <Link> - <SubSystem>Windows</SubSystem> - <GenerateDebugInformation Condition="!$(Jenkins)">true</GenerateDebugInformation> - <GenerateDebugInformation Condition="$(Jenkins)">false</GenerateDebugInformation> - <EnableCOMDATFolding>true</EnableCOMDATFolding> - <OptimizeReferences>true</OptimizeReferences> - </Link> - </ItemDefinitionGroup> - - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> - <ClCompile> - <PrecompiledHeader>NotUsing</PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <Optimization>Disabled</Optimization> - <PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <SDLCheck>true</SDLCheck> - <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> - <TreatWarningAsError>true</TreatWarningAsError> - <DebugInformationFormat Condition="$(Jenkins)">None</DebugInformationFormat> - <MinimalRebuild Condition="$(Jenkins)">false</MinimalRebuild> - </ClCompile> - <Link> - <SubSystem>Windows</SubSystem> - <GenerateDebugInformation Condition="!$(Jenkins)">true</GenerateDebugInformation> - <GenerateDebugInformation Condition="$(Jenkins)">false</GenerateDebugInformation> - </Link> - </ItemDefinitionGroup> - - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> - <ClCompile> - <PrecompiledHeader>NotUsing</PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <Optimization>Disabled</Optimization> - <PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <SDLCheck>true</SDLCheck> - <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> - <TreatWarningAsError>true</TreatWarningAsError> - <DebugInformationFormat Condition="$(Jenkins)">None</DebugInformationFormat> - <MinimalRebuild Condition="$(Jenkins)">false</MinimalRebuild> - </ClCompile> - <Link> - <SubSystem>Windows</SubSystem> - <GenerateDebugInformation Condition="!$(Jenkins)">true</GenerateDebugInformation> - <GenerateDebugInformation Condition="$(Jenkins)">false</GenerateDebugInformation> - </Link> - </ItemDefinitionGroup> - - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> - <ClCompile> - <PrecompiledHeader>NotUsing</PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <Optimization>MaxSpeed</Optimization> - <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <FunctionLevelLinking>true</FunctionLevelLinking> - <IntrinsicFunctions>true</IntrinsicFunctions> - <SDLCheck>true</SDLCheck> - <RuntimeLibrary>MultiThreaded</RuntimeLibrary> - <TreatWarningAsError>true</TreatWarningAsError> - <DebugInformationFormat Condition="$(Jenkins)">None</DebugInformationFormat> - <MinimalRebuild Condition="$(Jenkins)">false</MinimalRebuild> - </ClCompile> - <Link> - <SubSystem>Windows</SubSystem> - <GenerateDebugInformation Condition="!$(Jenkins)">true</GenerateDebugInformation> - <GenerateDebugInformation Condition="$(Jenkins)">false</GenerateDebugInformation> - <EnableCOMDATFolding>true</EnableCOMDATFolding> - <OptimizeReferences>true</OptimizeReferences> - </Link> - </ItemDefinitionGroup> - - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> - <ClCompile> - <PrecompiledHeader>NotUsing</PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <Optimization>MaxSpeed</Optimization> - <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <FunctionLevelLinking>true</FunctionLevelLinking> - <IntrinsicFunctions>true</IntrinsicFunctions> - <SDLCheck>true</SDLCheck> - <RuntimeLibrary>MultiThreaded</RuntimeLibrary> - <TreatWarningAsError>true</TreatWarningAsError> - <DebugInformationFormat Condition="$(Jenkins)">None</DebugInformationFormat> - <MinimalRebuild Condition="$(Jenkins)">false</MinimalRebuild> - </ClCompile> - <Link> - <SubSystem>Windows</SubSystem> - <GenerateDebugInformation Condition="!$(Jenkins)">true</GenerateDebugInformation> - <GenerateDebugInformation Condition="$(Jenkins)">false</GenerateDebugInformation> - <EnableCOMDATFolding>true</EnableCOMDATFolding> - <OptimizeReferences>true</OptimizeReferences> - </Link> - </ItemDefinitionGroup> - - <ItemGroup> - <ClInclude Include="$(SolutionDir)\..\include\grpc\byte_buffer.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\byte_buffer_reader.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\compression.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\grpc.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\grpc_posix.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\grpc_security_constants.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\load_reporting.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\slice.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\slice_buffer.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\status.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\workaround_list.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\byte_buffer_reader.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\compression_types.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\connectivity_state.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\exec_ctx_fwd.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\grpc_types.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\propagation_bits.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\slice.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\status.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm_gcc_atomic.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm_gcc_sync.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm_windows.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\gpr_slice.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\gpr_types.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\port_platform.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync_generic.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync_posix.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync_windows.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\grpc_security.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\census.h" /> - </ItemGroup> - <ItemGroup> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\channel_args.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\channel_stack.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\channel_stack_builder.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\connected_channel.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\context.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\handshaker.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\handshaker_factory.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\handshaker_registry.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\compression\algorithm_metadata.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\compression\message_compress.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\compression\stream_compression.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\debug\stats.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\debug\stats_data.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\http\format_request.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\http\httpcli.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\http\parser.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\closure.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\combiner.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\endpoint.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\endpoint_pair.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\error.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\error_internal.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_epoll1_linux.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_epoll_limited_pollers_linux.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_epoll_thread_pool_linux.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_epollex_linux.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_epollsig_linux.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_poll_posix.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_posix.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\exec_ctx.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\executor.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\iocp_windows.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr_custom.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr_internal.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr_posix.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\is_epollexclusive_available.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\load_file.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\lockfree_event.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\network_status_tracker.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\polling_entity.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_set.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_set_windows.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_uv.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_windows.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\port.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\resolve_address.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\resource_quota.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\sockaddr.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\sockaddr_posix.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\sockaddr_utils.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\sockaddr_windows.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_factory_posix.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_mutator.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_utils.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_utils_posix.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_windows.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\sys_epoll_wrapper.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_client.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_client_posix.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_custom.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_posix.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_server.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_server_utils_posix.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_uv.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_windows.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\time_averaged_stats.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\timer.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\timer_custom.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\timer_heap.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\timer_manager.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\udp_server.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\unix_sockets_posix.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\wakeup_fd_cv.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\wakeup_fd_pipe.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\wakeup_fd_posix.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\json\json.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\json\json_common.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\json\json_reader.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\json\json_writer.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\slice\b64.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\slice\percent_encoding.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\slice\slice_hash_table.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\slice\slice_internal.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\slice\slice_string_helpers.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\api_trace.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\call.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\call_test_only.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\channel.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\channel_init.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\channel_stack_type.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\completion_queue.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\completion_queue_factory.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\event_string.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\init.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\lame_client.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\server.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\validate_metadata.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\bdp_estimator.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\byte_stream.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\connectivity_state.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\error_utils.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\http2_errors.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\metadata.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\metadata_batch.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\pid_controller.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\service_config.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\static_metadata.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\status_conversion.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\timeout_encoding.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\transport.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\transport_impl.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\debug\trace.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\bin_decoder.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\bin_encoder.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\chttp2_transport.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_data.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_goaway.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_ping.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_rst_stream.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_settings.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_window_update.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\hpack_encoder.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\hpack_parser.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\hpack_table.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\http2_settings.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\huffsyms.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\incoming_metadata.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\internal.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\stream_map.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\varint.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\alpn\alpn.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\http\client\http_client_filter.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\http\message_compress\message_compress_filter.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\http\server\http_server_filter.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\security\context\security_context.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\security\credentials\composite\composite_credentials.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\security\credentials\credentials.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\security\credentials\fake\fake_credentials.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\security\credentials\google_default\google_default_credentials.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\security\credentials\iam\iam_credentials.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\security\credentials\jwt\json_token.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\security\credentials\jwt\jwt_credentials.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\security\credentials\jwt\jwt_verifier.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\security\credentials\oauth2\oauth2_credentials.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\security\credentials\plugin\plugin_credentials.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\security\credentials\ssl\ssl_credentials.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\security\transport\auth_filters.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\security\transport\lb_targets_info.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\security\transport\secure_endpoint.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\security\transport\security_connector.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\security\transport\security_handshaker.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\security\transport\tsi_error.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\security\util\json_util.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\tsi\fake_transport_security.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\tsi\gts_transport_security.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\tsi\ssl_transport_security.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\tsi\ssl_types.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\tsi\transport_security.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\tsi\transport_security_adapter.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\tsi\transport_security_interface.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\server\chttp2_server.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\client_channel.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\client_channel_factory.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\connector.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\http_connect_handshaker.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\http_proxy.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\lb_policy.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\lb_policy_factory.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\lb_policy_registry.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\parse_address.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\proxy_mapper.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\proxy_mapper_registry.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\resolver.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\resolver_factory.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\resolver_registry.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\retry_throttle.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\subchannel.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\subchannel_index.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\uri_parser.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\deadline\deadline_filter.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\client\chttp2_connector.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\inproc\inproc_transport.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\lb_policy\grpclb\client_load_reporting_filter.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\lb_policy\grpclb\grpclb.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\lb_policy\grpclb\grpclb_channel.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\lb_policy\grpclb\grpclb_client_stats.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\lb_policy\grpclb\load_balancer_api.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\lb_policy\grpclb\proto\grpc\lb\v1\load_balancer.pb.h" /> - <ClInclude Include="$(SolutionDir)\..\third_party\nanopb\pb.h" /> - <ClInclude Include="$(SolutionDir)\..\third_party\nanopb\pb_common.h" /> - <ClInclude Include="$(SolutionDir)\..\third_party\nanopb\pb_decode.h" /> - <ClInclude Include="$(SolutionDir)\..\third_party\nanopb\pb_encode.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\resolver\fake\fake_resolver.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\resolver\dns\c_ares\grpc_ares_ev_driver.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\resolver\dns\c_ares\grpc_ares_wrapper.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\load_reporting\load_reporting.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\load_reporting\load_reporting_filter.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\census\aggregation.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\census\base_resources.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\census\census_interface.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\census\census_rpc_stats.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\census\gen\census.pb.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\census\gen\trace_context.pb.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\census\grpc_filter.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\census\intrusive_hash_map.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\census\intrusive_hash_map_internal.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\census\mlog.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\census\resource.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\census\rpc_metric_id.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\census\trace_context.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\census\trace_label.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\census\trace_propagation.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\census\trace_status.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\census\trace_string.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\census\tracing.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\max_age\max_age_filter.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\message_size\message_size_filter.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\workarounds\workaround_cronet_compression_filter.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\workarounds\workaround_utils.h" /> - </ItemGroup> - <ItemGroup> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\init.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\channel_args.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\channel_stack.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\channel_stack_builder.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\connected_channel.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\handshaker.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\handshaker_factory.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\handshaker_registry.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\compression\compression.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\compression\message_compress.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\compression\stream_compression.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\debug\stats.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\debug\stats_data.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\http\format_request.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\http\httpcli.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\http\parser.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\closure.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\combiner.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\endpoint.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\endpoint_pair_posix.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\endpoint_pair_uv.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\endpoint_pair_windows.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\error.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_epoll1_linux.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_epoll_limited_pollers_linux.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_epoll_thread_pool_linux.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_epollex_linux.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_epollsig_linux.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_poll_posix.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_posix.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_windows.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\exec_ctx.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\executor.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\iocp_windows.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr_custom.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr_internal.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr_posix.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr_windows.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\is_epollexclusive_available.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\load_file.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\lockfree_event.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\network_status_tracker.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\polling_entity.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_custom.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_set.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_set_custom.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_set_windows.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_uv.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_windows.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\resolve_address.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\resolve_address_custom.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\resolve_address_posix.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\resolve_address_windows.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\resource_quota.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\sockaddr_utils.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_factory_posix.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_mutator.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_utils_common_posix.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_utils_linux.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_utils_posix.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_utils_uv.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_utils_windows.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_windows.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_client.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_client_custom.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_client_posix.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_client_windows.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_custom.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_posix.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_server.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_server_custom.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_server_posix.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_server_utils_posix_common.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_server_utils_posix_ifaddrs.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_server_utils_posix_noifaddrs.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_server_windows.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_uv.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_windows.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\time_averaged_stats.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\timer.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\timer_custom.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\timer_generic.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\timer_heap.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\timer_manager.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\timer_uv.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\udp_server.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\unix_sockets_posix.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\unix_sockets_posix_noop.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\wakeup_fd_cv.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\wakeup_fd_eventfd.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\wakeup_fd_nospecial.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\wakeup_fd_pipe.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\wakeup_fd_posix.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\json\json.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\json\json_reader.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\json\json_string.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\json\json_writer.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\slice\b64.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\slice\percent_encoding.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\slice\slice.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\slice\slice_buffer.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\slice\slice_hash_table.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\slice\slice_intern.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\slice\slice_string_helpers.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\alarm.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\api_trace.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\byte_buffer.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\byte_buffer_reader.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\call.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\call_details.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\call_log_batch.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\channel.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\channel_init.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\channel_ping.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\channel_stack_type.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\completion_queue.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\completion_queue_factory.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\event_string.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\lame_client.cc"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\metadata_array.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\server.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\validate_metadata.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\version.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\bdp_estimator.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\byte_stream.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\connectivity_state.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\error_utils.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\metadata.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\metadata_batch.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\pid_controller.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\service_config.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\static_metadata.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\status_conversion.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\timeout_encoding.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\transport.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\transport_op_string.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\debug\trace.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\server\secure\server_secure_chttp2.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\bin_decoder.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\bin_encoder.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\chttp2_plugin.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\chttp2_transport.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_data.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_goaway.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_ping.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_rst_stream.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_settings.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_window_update.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\hpack_encoder.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\hpack_parser.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\hpack_table.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\http2_settings.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\huffsyms.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\incoming_metadata.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\parsing.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\stream_lists.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\stream_map.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\varint.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\writing.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\alpn\alpn.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\http\client\http_client_filter.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\http\http_filters_plugin.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\http\message_compress\message_compress_filter.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\http\server\http_server_filter.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\http\httpcli_security_connector.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\context\security_context.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\credentials\composite\composite_credentials.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\credentials\credentials.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\credentials\credentials_metadata.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\credentials\fake\fake_credentials.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\credentials\google_default\credentials_generic.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\credentials\google_default\google_default_credentials.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\credentials\iam\iam_credentials.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\credentials\jwt\json_token.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\credentials\jwt\jwt_credentials.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\credentials\jwt\jwt_verifier.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\credentials\oauth2\oauth2_credentials.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\credentials\plugin\plugin_credentials.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\credentials\ssl\ssl_credentials.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\transport\client_auth_filter.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\transport\lb_targets_info.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\transport\secure_endpoint.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\transport\security_connector.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\transport\security_handshaker.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\transport\server_auth_filter.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\transport\tsi_error.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\util\json_util.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\init_secure.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\python\grpcio\grpc\_cython\cygrpc.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\tsi\fake_transport_security.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\tsi\gts_transport_security.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\tsi\ssl_transport_security.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\tsi\transport_security.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\tsi\transport_security_adapter.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\server\chttp2_server.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\client\secure\secure_channel_create.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\channel_connectivity.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\client_channel.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\client_channel_factory.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\client_channel_plugin.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\connector.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\http_connect_handshaker.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\http_proxy.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\lb_policy.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\lb_policy_factory.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\lb_policy_registry.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\parse_address.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\proxy_mapper.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\proxy_mapper_registry.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\resolver.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\resolver_factory.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\resolver_registry.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\retry_throttle.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\subchannel.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\subchannel_index.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\uri_parser.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\deadline\deadline_filter.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\client\chttp2_connector.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\server\insecure\server_chttp2.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\server\insecure\server_chttp2_posix.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\client\insecure\channel_create.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\client\insecure\channel_create_posix.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\inproc\inproc_plugin.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\inproc\inproc_transport.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\lb_policy\grpclb\client_load_reporting_filter.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\lb_policy\grpclb\grpclb.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\lb_policy\grpclb\grpclb_channel_secure.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\lb_policy\grpclb\grpclb_client_stats.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\lb_policy\grpclb\load_balancer_api.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\lb_policy\grpclb\proto\grpc\lb\v1\load_balancer.pb.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\third_party\nanopb\pb_common.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\third_party\nanopb\pb_decode.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\third_party\nanopb\pb_encode.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\resolver\fake\fake_resolver.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\lb_policy\pick_first\pick_first.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\lb_policy\round_robin\round_robin.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\resolver\dns\c_ares\dns_resolver_ares.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\resolver\dns\c_ares\grpc_ares_ev_driver_posix.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\resolver\dns\c_ares\grpc_ares_wrapper.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\resolver\dns\c_ares\grpc_ares_wrapper_fallback.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\resolver\dns\native\dns_resolver.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\resolver\sockaddr\sockaddr_resolver.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\load_reporting\load_reporting.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\load_reporting\load_reporting_filter.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\census\base_resources.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\census\context.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\census\gen\census.pb.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\census\gen\trace_context.pb.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\census\grpc_context.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\census\grpc_filter.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\census\grpc_plugin.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\census\initialize.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\census\intrusive_hash_map.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\census\mlog.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\census\operation.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\census\placeholders.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\census\resource.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\census\trace_context.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\census\tracing.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\max_age\max_age_filter.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\message_size\message_size_filter.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\workarounds\workaround_cronet_compression_filter.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\workarounds\workaround_utils.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\plugin_registry\grpc_plugin_registry.c"> - </ClCompile> - </ItemGroup> - <ItemGroup> - <ProjectReference Include="$(SolutionDir)\..\vsprojects\vcxproj\.\gpr\gpr.vcxproj"> - <Project>{B23D3D1A-9438-4EDA-BEB6-9A0A03D17792}</Project> - </ProjectReference> - </ItemGroup> - <ItemGroup> - <None Include="packages.config" /> - </ItemGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> - <ImportGroup Label="ExtensionTargets"> - <Import Project="$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.redist.1.2.8.10\build\native\grpc.dependencies.zlib.redist.targets" Condition="Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.redist.1.2.8.10\build\native\grpc.dependencies\grpc.dependencies.zlib.targets')" /> - <Import Project="$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.1.2.8.10\build\native\grpc.dependencies.zlib.targets" Condition="Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.1.2.8.10\build\native\grpc.dependencies\grpc.dependencies.zlib.targets')" /> - <Import Project="$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.redist.1.0.204.1\build\native\grpc.dependencies.openssl.redist.targets" Condition="Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.redist.1.0.204.1\build\native\grpc.dependencies\grpc.dependencies.openssl.targets')" /> - <Import Project="$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\grpc.dependencies.openssl.targets" Condition="Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\grpc.dependencies\grpc.dependencies.openssl.targets')" /> - </ImportGroup> - <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> - <PropertyGroup> - <ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText> - </PropertyGroup> - <Error Condition="!Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.redist.1.2.8.10\build\native\grpc.dependencies.zlib.redist.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.redist.1.2.8.10\build\native\grpc.dependencies.zlib.redist.targets')" /> - <Error Condition="!Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.1.2.8.10\build\native\grpc.dependencies.zlib.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.1.2.8.10\build\native\grpc.dependencies.zlib.targets')" /> - <Error Condition="!Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.redist.1.0.204.1\build\native\grpc.dependencies.openssl.redist.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.redist.1.0.204.1\build\native\grpc.dependencies.openssl.redist.targets')" /> - <Error Condition="!Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\grpc.dependencies.openssl.props')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\grpc.dependencies.openssl.props')" /> - <Error Condition="!Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\grpc.dependencies.openssl.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\grpc.dependencies.openssl.targets')" /> - </Target> -</Project> - diff --git a/vsprojects/vcxproj/grpc/grpc.vcxproj.filters b/vsprojects/vcxproj/grpc/grpc.vcxproj.filters deleted file mode 100644 index 043671cd14..0000000000 --- a/vsprojects/vcxproj/grpc/grpc.vcxproj.filters +++ /dev/null @@ -1,1804 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\init.c"> - <Filter>src\core\lib\surface</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\channel_args.c"> - <Filter>src\core\lib\channel</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\channel_stack.c"> - <Filter>src\core\lib\channel</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\channel_stack_builder.c"> - <Filter>src\core\lib\channel</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\connected_channel.c"> - <Filter>src\core\lib\channel</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\handshaker.c"> - <Filter>src\core\lib\channel</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\handshaker_factory.c"> - <Filter>src\core\lib\channel</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\handshaker_registry.c"> - <Filter>src\core\lib\channel</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\compression\compression.c"> - <Filter>src\core\lib\compression</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\compression\message_compress.c"> - <Filter>src\core\lib\compression</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\compression\stream_compression.c"> - <Filter>src\core\lib\compression</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\debug\stats.c"> - <Filter>src\core\lib\debug</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\debug\stats_data.c"> - <Filter>src\core\lib\debug</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\http\format_request.c"> - <Filter>src\core\lib\http</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\http\httpcli.c"> - <Filter>src\core\lib\http</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\http\parser.c"> - <Filter>src\core\lib\http</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\closure.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\combiner.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\endpoint.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\endpoint_pair_posix.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\endpoint_pair_uv.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\endpoint_pair_windows.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\error.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_epoll1_linux.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_epoll_limited_pollers_linux.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_epoll_thread_pool_linux.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_epollex_linux.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_epollsig_linux.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_poll_posix.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_posix.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_windows.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\exec_ctx.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\executor.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\iocp_windows.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr_custom.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr_internal.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr_posix.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr_windows.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\is_epollexclusive_available.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\load_file.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\lockfree_event.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\network_status_tracker.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\polling_entity.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_custom.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_set.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_set_custom.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_set_windows.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_uv.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_windows.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\resolve_address.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\resolve_address_custom.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\resolve_address_posix.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\resolve_address_windows.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\resource_quota.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\sockaddr_utils.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_factory_posix.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_mutator.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_utils_common_posix.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_utils_linux.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_utils_posix.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_utils_uv.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_utils_windows.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_windows.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_client.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_client_custom.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_client_posix.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_client_windows.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_custom.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_posix.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_server.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_server_custom.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_server_posix.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_server_utils_posix_common.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_server_utils_posix_ifaddrs.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_server_utils_posix_noifaddrs.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_server_windows.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_uv.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_windows.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\time_averaged_stats.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\timer.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\timer_custom.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\timer_generic.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\timer_heap.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\timer_manager.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\timer_uv.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\udp_server.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\unix_sockets_posix.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\unix_sockets_posix_noop.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\wakeup_fd_cv.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\wakeup_fd_eventfd.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\wakeup_fd_nospecial.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\wakeup_fd_pipe.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\wakeup_fd_posix.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\json\json.c"> - <Filter>src\core\lib\json</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\json\json_reader.c"> - <Filter>src\core\lib\json</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\json\json_string.c"> - <Filter>src\core\lib\json</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\json\json_writer.c"> - <Filter>src\core\lib\json</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\slice\b64.c"> - <Filter>src\core\lib\slice</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\slice\percent_encoding.c"> - <Filter>src\core\lib\slice</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\slice\slice.c"> - <Filter>src\core\lib\slice</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\slice\slice_buffer.c"> - <Filter>src\core\lib\slice</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\slice\slice_hash_table.c"> - <Filter>src\core\lib\slice</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\slice\slice_intern.c"> - <Filter>src\core\lib\slice</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\slice\slice_string_helpers.c"> - <Filter>src\core\lib\slice</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\alarm.c"> - <Filter>src\core\lib\surface</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\api_trace.c"> - <Filter>src\core\lib\surface</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\byte_buffer.c"> - <Filter>src\core\lib\surface</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\byte_buffer_reader.c"> - <Filter>src\core\lib\surface</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\call.c"> - <Filter>src\core\lib\surface</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\call_details.c"> - <Filter>src\core\lib\surface</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\call_log_batch.c"> - <Filter>src\core\lib\surface</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\channel.c"> - <Filter>src\core\lib\surface</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\channel_init.c"> - <Filter>src\core\lib\surface</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\channel_ping.c"> - <Filter>src\core\lib\surface</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\channel_stack_type.c"> - <Filter>src\core\lib\surface</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\completion_queue.c"> - <Filter>src\core\lib\surface</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\completion_queue_factory.c"> - <Filter>src\core\lib\surface</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\event_string.c"> - <Filter>src\core\lib\surface</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\lame_client.cc"> - <Filter>src\core\lib\surface</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\metadata_array.c"> - <Filter>src\core\lib\surface</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\server.c"> - <Filter>src\core\lib\surface</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\validate_metadata.c"> - <Filter>src\core\lib\surface</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\version.c"> - <Filter>src\core\lib\surface</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\bdp_estimator.c"> - <Filter>src\core\lib\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\byte_stream.c"> - <Filter>src\core\lib\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\connectivity_state.c"> - <Filter>src\core\lib\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\error_utils.c"> - <Filter>src\core\lib\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\metadata.c"> - <Filter>src\core\lib\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\metadata_batch.c"> - <Filter>src\core\lib\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\pid_controller.c"> - <Filter>src\core\lib\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\service_config.c"> - <Filter>src\core\lib\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\static_metadata.c"> - <Filter>src\core\lib\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\status_conversion.c"> - <Filter>src\core\lib\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\timeout_encoding.c"> - <Filter>src\core\lib\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\transport.c"> - <Filter>src\core\lib\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\transport_op_string.c"> - <Filter>src\core\lib\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\debug\trace.c"> - <Filter>src\core\lib\debug</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\server\secure\server_secure_chttp2.c"> - <Filter>src\core\ext\transport\chttp2\server\secure</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\bin_decoder.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\bin_encoder.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\chttp2_plugin.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\chttp2_transport.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_data.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_goaway.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_ping.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_rst_stream.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_settings.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_window_update.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\hpack_encoder.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\hpack_parser.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\hpack_table.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\http2_settings.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\huffsyms.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\incoming_metadata.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\parsing.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\stream_lists.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\stream_map.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\varint.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\writing.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\alpn\alpn.c"> - <Filter>src\core\ext\transport\chttp2\alpn</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\http\client\http_client_filter.c"> - <Filter>src\core\ext\filters\http\client</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\http\http_filters_plugin.c"> - <Filter>src\core\ext\filters\http</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\http\message_compress\message_compress_filter.c"> - <Filter>src\core\ext\filters\http\message_compress</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\http\server\http_server_filter.c"> - <Filter>src\core\ext\filters\http\server</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\http\httpcli_security_connector.c"> - <Filter>src\core\lib\http</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\context\security_context.c"> - <Filter>src\core\lib\security\context</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\credentials\composite\composite_credentials.c"> - <Filter>src\core\lib\security\credentials\composite</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\credentials\credentials.c"> - <Filter>src\core\lib\security\credentials</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\credentials\credentials_metadata.c"> - <Filter>src\core\lib\security\credentials</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\credentials\fake\fake_credentials.c"> - <Filter>src\core\lib\security\credentials\fake</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\credentials\google_default\credentials_generic.c"> - <Filter>src\core\lib\security\credentials\google_default</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\credentials\google_default\google_default_credentials.c"> - <Filter>src\core\lib\security\credentials\google_default</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\credentials\iam\iam_credentials.c"> - <Filter>src\core\lib\security\credentials\iam</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\credentials\jwt\json_token.c"> - <Filter>src\core\lib\security\credentials\jwt</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\credentials\jwt\jwt_credentials.c"> - <Filter>src\core\lib\security\credentials\jwt</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\credentials\jwt\jwt_verifier.c"> - <Filter>src\core\lib\security\credentials\jwt</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\credentials\oauth2\oauth2_credentials.c"> - <Filter>src\core\lib\security\credentials\oauth2</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\credentials\plugin\plugin_credentials.c"> - <Filter>src\core\lib\security\credentials\plugin</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\credentials\ssl\ssl_credentials.c"> - <Filter>src\core\lib\security\credentials\ssl</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\transport\client_auth_filter.c"> - <Filter>src\core\lib\security\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\transport\lb_targets_info.c"> - <Filter>src\core\lib\security\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\transport\secure_endpoint.c"> - <Filter>src\core\lib\security\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\transport\security_connector.c"> - <Filter>src\core\lib\security\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\transport\security_handshaker.c"> - <Filter>src\core\lib\security\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\transport\server_auth_filter.c"> - <Filter>src\core\lib\security\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\transport\tsi_error.c"> - <Filter>src\core\lib\security\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\util\json_util.c"> - <Filter>src\core\lib\security\util</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\init_secure.c"> - <Filter>src\core\lib\surface</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\python\grpcio\grpc\_cython\cygrpc.c"> - <Filter>src\python\grpcio\grpc\_cython</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\tsi\fake_transport_security.c"> - <Filter>src\core\tsi</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\tsi\gts_transport_security.c"> - <Filter>src\core\tsi</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\tsi\ssl_transport_security.c"> - <Filter>src\core\tsi</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\tsi\transport_security.c"> - <Filter>src\core\tsi</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\tsi\transport_security_adapter.c"> - <Filter>src\core\tsi</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\server\chttp2_server.c"> - <Filter>src\core\ext\transport\chttp2\server</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\client\secure\secure_channel_create.c"> - <Filter>src\core\ext\transport\chttp2\client\secure</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\channel_connectivity.c"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\client_channel.c"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\client_channel_factory.c"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\client_channel_plugin.c"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\connector.c"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\http_connect_handshaker.c"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\http_proxy.c"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\lb_policy.c"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\lb_policy_factory.c"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\lb_policy_registry.c"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\parse_address.c"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\proxy_mapper.c"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\proxy_mapper_registry.c"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\resolver.c"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\resolver_factory.c"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\resolver_registry.c"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\retry_throttle.c"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\subchannel.c"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\subchannel_index.c"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\uri_parser.c"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\deadline\deadline_filter.c"> - <Filter>src\core\ext\filters\deadline</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\client\chttp2_connector.c"> - <Filter>src\core\ext\transport\chttp2\client</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\server\insecure\server_chttp2.c"> - <Filter>src\core\ext\transport\chttp2\server\insecure</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\server\insecure\server_chttp2_posix.c"> - <Filter>src\core\ext\transport\chttp2\server\insecure</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\client\insecure\channel_create.c"> - <Filter>src\core\ext\transport\chttp2\client\insecure</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\client\insecure\channel_create_posix.c"> - <Filter>src\core\ext\transport\chttp2\client\insecure</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\inproc\inproc_plugin.c"> - <Filter>src\core\ext\transport\inproc</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\inproc\inproc_transport.c"> - <Filter>src\core\ext\transport\inproc</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\lb_policy\grpclb\client_load_reporting_filter.c"> - <Filter>src\core\ext\filters\client_channel\lb_policy\grpclb</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\lb_policy\grpclb\grpclb.c"> - <Filter>src\core\ext\filters\client_channel\lb_policy\grpclb</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\lb_policy\grpclb\grpclb_channel_secure.c"> - <Filter>src\core\ext\filters\client_channel\lb_policy\grpclb</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\lb_policy\grpclb\grpclb_client_stats.c"> - <Filter>src\core\ext\filters\client_channel\lb_policy\grpclb</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\lb_policy\grpclb\load_balancer_api.c"> - <Filter>src\core\ext\filters\client_channel\lb_policy\grpclb</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\lb_policy\grpclb\proto\grpc\lb\v1\load_balancer.pb.c"> - <Filter>src\core\ext\filters\client_channel\lb_policy\grpclb\proto\grpc\lb\v1</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\third_party\nanopb\pb_common.c"> - <Filter>third_party\nanopb</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\third_party\nanopb\pb_decode.c"> - <Filter>third_party\nanopb</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\third_party\nanopb\pb_encode.c"> - <Filter>third_party\nanopb</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\resolver\fake\fake_resolver.c"> - <Filter>src\core\ext\filters\client_channel\resolver\fake</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\lb_policy\pick_first\pick_first.c"> - <Filter>src\core\ext\filters\client_channel\lb_policy\pick_first</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\lb_policy\round_robin\round_robin.c"> - <Filter>src\core\ext\filters\client_channel\lb_policy\round_robin</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\resolver\dns\c_ares\dns_resolver_ares.c"> - <Filter>src\core\ext\filters\client_channel\resolver\dns\c_ares</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\resolver\dns\c_ares\grpc_ares_ev_driver_posix.c"> - <Filter>src\core\ext\filters\client_channel\resolver\dns\c_ares</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\resolver\dns\c_ares\grpc_ares_wrapper.c"> - <Filter>src\core\ext\filters\client_channel\resolver\dns\c_ares</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\resolver\dns\c_ares\grpc_ares_wrapper_fallback.c"> - <Filter>src\core\ext\filters\client_channel\resolver\dns\c_ares</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\resolver\dns\native\dns_resolver.c"> - <Filter>src\core\ext\filters\client_channel\resolver\dns\native</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\resolver\sockaddr\sockaddr_resolver.c"> - <Filter>src\core\ext\filters\client_channel\resolver\sockaddr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\load_reporting\load_reporting.c"> - <Filter>src\core\ext\filters\load_reporting</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\load_reporting\load_reporting_filter.c"> - <Filter>src\core\ext\filters\load_reporting</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\census\base_resources.c"> - <Filter>src\core\ext\census</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\census\context.c"> - <Filter>src\core\ext\census</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\census\gen\census.pb.c"> - <Filter>src\core\ext\census\gen</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\census\gen\trace_context.pb.c"> - <Filter>src\core\ext\census\gen</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\census\grpc_context.c"> - <Filter>src\core\ext\census</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\census\grpc_filter.c"> - <Filter>src\core\ext\census</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\census\grpc_plugin.c"> - <Filter>src\core\ext\census</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\census\initialize.c"> - <Filter>src\core\ext\census</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\census\intrusive_hash_map.c"> - <Filter>src\core\ext\census</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\census\mlog.c"> - <Filter>src\core\ext\census</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\census\operation.c"> - <Filter>src\core\ext\census</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\census\placeholders.c"> - <Filter>src\core\ext\census</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\census\resource.c"> - <Filter>src\core\ext\census</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\census\trace_context.c"> - <Filter>src\core\ext\census</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\census\tracing.c"> - <Filter>src\core\ext\census</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\max_age\max_age_filter.c"> - <Filter>src\core\ext\filters\max_age</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\message_size\message_size_filter.c"> - <Filter>src\core\ext\filters\message_size</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\workarounds\workaround_cronet_compression_filter.c"> - <Filter>src\core\ext\filters\workarounds</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\workarounds\workaround_utils.c"> - <Filter>src\core\ext\filters\workarounds</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\plugin_registry\grpc_plugin_registry.c"> - <Filter>src\core\plugin_registry</Filter> - </ClCompile> - </ItemGroup> - <ItemGroup> - <ClInclude Include="$(SolutionDir)\..\include\grpc\byte_buffer.h"> - <Filter>include\grpc</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\byte_buffer_reader.h"> - <Filter>include\grpc</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\compression.h"> - <Filter>include\grpc</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\grpc.h"> - <Filter>include\grpc</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\grpc_posix.h"> - <Filter>include\grpc</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\grpc_security_constants.h"> - <Filter>include\grpc</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\load_reporting.h"> - <Filter>include\grpc</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\slice.h"> - <Filter>include\grpc</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\slice_buffer.h"> - <Filter>include\grpc</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\status.h"> - <Filter>include\grpc</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\workaround_list.h"> - <Filter>include\grpc\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\byte_buffer_reader.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\compression_types.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\connectivity_state.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\exec_ctx_fwd.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\grpc_types.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\propagation_bits.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\slice.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\status.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm_gcc_atomic.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm_gcc_sync.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm_windows.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\gpr_slice.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\gpr_types.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\port_platform.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync_generic.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync_posix.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync_windows.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\grpc_security.h"> - <Filter>include\grpc</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\census.h"> - <Filter>include\grpc</Filter> - </ClInclude> - </ItemGroup> - <ItemGroup> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\channel_args.h"> - <Filter>src\core\lib\channel</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\channel_stack.h"> - <Filter>src\core\lib\channel</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\channel_stack_builder.h"> - <Filter>src\core\lib\channel</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\connected_channel.h"> - <Filter>src\core\lib\channel</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\context.h"> - <Filter>src\core\lib\channel</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\handshaker.h"> - <Filter>src\core\lib\channel</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\handshaker_factory.h"> - <Filter>src\core\lib\channel</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\handshaker_registry.h"> - <Filter>src\core\lib\channel</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\compression\algorithm_metadata.h"> - <Filter>src\core\lib\compression</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\compression\message_compress.h"> - <Filter>src\core\lib\compression</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\compression\stream_compression.h"> - <Filter>src\core\lib\compression</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\debug\stats.h"> - <Filter>src\core\lib\debug</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\debug\stats_data.h"> - <Filter>src\core\lib\debug</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\http\format_request.h"> - <Filter>src\core\lib\http</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\http\httpcli.h"> - <Filter>src\core\lib\http</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\http\parser.h"> - <Filter>src\core\lib\http</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\closure.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\combiner.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\endpoint.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\endpoint_pair.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\error.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\error_internal.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_epoll1_linux.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_epoll_limited_pollers_linux.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_epoll_thread_pool_linux.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_epollex_linux.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_epollsig_linux.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_poll_posix.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_posix.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\exec_ctx.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\executor.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\iocp_windows.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr_custom.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr_internal.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr_posix.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\is_epollexclusive_available.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\load_file.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\lockfree_event.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\network_status_tracker.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\polling_entity.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_set.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_set_windows.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_uv.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_windows.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\port.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\resolve_address.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\resource_quota.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\sockaddr.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\sockaddr_posix.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\sockaddr_utils.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\sockaddr_windows.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_factory_posix.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_mutator.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_utils.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_utils_posix.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_windows.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\sys_epoll_wrapper.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_client.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_client_posix.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_custom.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_posix.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_server.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_server_utils_posix.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_uv.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_windows.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\time_averaged_stats.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\timer.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\timer_custom.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\timer_heap.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\timer_manager.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\udp_server.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\unix_sockets_posix.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\wakeup_fd_cv.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\wakeup_fd_pipe.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\wakeup_fd_posix.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\json\json.h"> - <Filter>src\core\lib\json</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\json\json_common.h"> - <Filter>src\core\lib\json</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\json\json_reader.h"> - <Filter>src\core\lib\json</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\json\json_writer.h"> - <Filter>src\core\lib\json</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\slice\b64.h"> - <Filter>src\core\lib\slice</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\slice\percent_encoding.h"> - <Filter>src\core\lib\slice</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\slice\slice_hash_table.h"> - <Filter>src\core\lib\slice</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\slice\slice_internal.h"> - <Filter>src\core\lib\slice</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\slice\slice_string_helpers.h"> - <Filter>src\core\lib\slice</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\api_trace.h"> - <Filter>src\core\lib\surface</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\call.h"> - <Filter>src\core\lib\surface</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\call_test_only.h"> - <Filter>src\core\lib\surface</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\channel.h"> - <Filter>src\core\lib\surface</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\channel_init.h"> - <Filter>src\core\lib\surface</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\channel_stack_type.h"> - <Filter>src\core\lib\surface</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\completion_queue.h"> - <Filter>src\core\lib\surface</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\completion_queue_factory.h"> - <Filter>src\core\lib\surface</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\event_string.h"> - <Filter>src\core\lib\surface</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\init.h"> - <Filter>src\core\lib\surface</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\lame_client.h"> - <Filter>src\core\lib\surface</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\server.h"> - <Filter>src\core\lib\surface</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\validate_metadata.h"> - <Filter>src\core\lib\surface</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\bdp_estimator.h"> - <Filter>src\core\lib\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\byte_stream.h"> - <Filter>src\core\lib\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\connectivity_state.h"> - <Filter>src\core\lib\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\error_utils.h"> - <Filter>src\core\lib\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\http2_errors.h"> - <Filter>src\core\lib\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\metadata.h"> - <Filter>src\core\lib\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\metadata_batch.h"> - <Filter>src\core\lib\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\pid_controller.h"> - <Filter>src\core\lib\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\service_config.h"> - <Filter>src\core\lib\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\static_metadata.h"> - <Filter>src\core\lib\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\status_conversion.h"> - <Filter>src\core\lib\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\timeout_encoding.h"> - <Filter>src\core\lib\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\transport.h"> - <Filter>src\core\lib\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\transport_impl.h"> - <Filter>src\core\lib\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\debug\trace.h"> - <Filter>src\core\lib\debug</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\bin_decoder.h"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\bin_encoder.h"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\chttp2_transport.h"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame.h"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_data.h"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_goaway.h"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_ping.h"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_rst_stream.h"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_settings.h"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_window_update.h"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\hpack_encoder.h"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\hpack_parser.h"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\hpack_table.h"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\http2_settings.h"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\huffsyms.h"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\incoming_metadata.h"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\internal.h"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\stream_map.h"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\varint.h"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\alpn\alpn.h"> - <Filter>src\core\ext\transport\chttp2\alpn</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\http\client\http_client_filter.h"> - <Filter>src\core\ext\filters\http\client</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\http\message_compress\message_compress_filter.h"> - <Filter>src\core\ext\filters\http\message_compress</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\http\server\http_server_filter.h"> - <Filter>src\core\ext\filters\http\server</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\security\context\security_context.h"> - <Filter>src\core\lib\security\context</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\security\credentials\composite\composite_credentials.h"> - <Filter>src\core\lib\security\credentials\composite</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\security\credentials\credentials.h"> - <Filter>src\core\lib\security\credentials</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\security\credentials\fake\fake_credentials.h"> - <Filter>src\core\lib\security\credentials\fake</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\security\credentials\google_default\google_default_credentials.h"> - <Filter>src\core\lib\security\credentials\google_default</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\security\credentials\iam\iam_credentials.h"> - <Filter>src\core\lib\security\credentials\iam</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\security\credentials\jwt\json_token.h"> - <Filter>src\core\lib\security\credentials\jwt</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\security\credentials\jwt\jwt_credentials.h"> - <Filter>src\core\lib\security\credentials\jwt</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\security\credentials\jwt\jwt_verifier.h"> - <Filter>src\core\lib\security\credentials\jwt</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\security\credentials\oauth2\oauth2_credentials.h"> - <Filter>src\core\lib\security\credentials\oauth2</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\security\credentials\plugin\plugin_credentials.h"> - <Filter>src\core\lib\security\credentials\plugin</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\security\credentials\ssl\ssl_credentials.h"> - <Filter>src\core\lib\security\credentials\ssl</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\security\transport\auth_filters.h"> - <Filter>src\core\lib\security\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\security\transport\lb_targets_info.h"> - <Filter>src\core\lib\security\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\security\transport\secure_endpoint.h"> - <Filter>src\core\lib\security\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\security\transport\security_connector.h"> - <Filter>src\core\lib\security\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\security\transport\security_handshaker.h"> - <Filter>src\core\lib\security\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\security\transport\tsi_error.h"> - <Filter>src\core\lib\security\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\security\util\json_util.h"> - <Filter>src\core\lib\security\util</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\tsi\fake_transport_security.h"> - <Filter>src\core\tsi</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\tsi\gts_transport_security.h"> - <Filter>src\core\tsi</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\tsi\ssl_transport_security.h"> - <Filter>src\core\tsi</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\tsi\ssl_types.h"> - <Filter>src\core\tsi</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\tsi\transport_security.h"> - <Filter>src\core\tsi</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\tsi\transport_security_adapter.h"> - <Filter>src\core\tsi</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\tsi\transport_security_interface.h"> - <Filter>src\core\tsi</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\server\chttp2_server.h"> - <Filter>src\core\ext\transport\chttp2\server</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\client_channel.h"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\client_channel_factory.h"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\connector.h"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\http_connect_handshaker.h"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\http_proxy.h"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\lb_policy.h"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\lb_policy_factory.h"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\lb_policy_registry.h"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\parse_address.h"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\proxy_mapper.h"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\proxy_mapper_registry.h"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\resolver.h"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\resolver_factory.h"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\resolver_registry.h"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\retry_throttle.h"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\subchannel.h"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\subchannel_index.h"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\uri_parser.h"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\deadline\deadline_filter.h"> - <Filter>src\core\ext\filters\deadline</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\client\chttp2_connector.h"> - <Filter>src\core\ext\transport\chttp2\client</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\inproc\inproc_transport.h"> - <Filter>src\core\ext\transport\inproc</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\lb_policy\grpclb\client_load_reporting_filter.h"> - <Filter>src\core\ext\filters\client_channel\lb_policy\grpclb</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\lb_policy\grpclb\grpclb.h"> - <Filter>src\core\ext\filters\client_channel\lb_policy\grpclb</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\lb_policy\grpclb\grpclb_channel.h"> - <Filter>src\core\ext\filters\client_channel\lb_policy\grpclb</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\lb_policy\grpclb\grpclb_client_stats.h"> - <Filter>src\core\ext\filters\client_channel\lb_policy\grpclb</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\lb_policy\grpclb\load_balancer_api.h"> - <Filter>src\core\ext\filters\client_channel\lb_policy\grpclb</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\lb_policy\grpclb\proto\grpc\lb\v1\load_balancer.pb.h"> - <Filter>src\core\ext\filters\client_channel\lb_policy\grpclb\proto\grpc\lb\v1</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\third_party\nanopb\pb.h"> - <Filter>third_party\nanopb</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\third_party\nanopb\pb_common.h"> - <Filter>third_party\nanopb</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\third_party\nanopb\pb_decode.h"> - <Filter>third_party\nanopb</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\third_party\nanopb\pb_encode.h"> - <Filter>third_party\nanopb</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\resolver\fake\fake_resolver.h"> - <Filter>src\core\ext\filters\client_channel\resolver\fake</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\resolver\dns\c_ares\grpc_ares_ev_driver.h"> - <Filter>src\core\ext\filters\client_channel\resolver\dns\c_ares</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\resolver\dns\c_ares\grpc_ares_wrapper.h"> - <Filter>src\core\ext\filters\client_channel\resolver\dns\c_ares</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\load_reporting\load_reporting.h"> - <Filter>src\core\ext\filters\load_reporting</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\load_reporting\load_reporting_filter.h"> - <Filter>src\core\ext\filters\load_reporting</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\census\aggregation.h"> - <Filter>src\core\ext\census</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\census\base_resources.h"> - <Filter>src\core\ext\census</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\census\census_interface.h"> - <Filter>src\core\ext\census</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\census\census_rpc_stats.h"> - <Filter>src\core\ext\census</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\census\gen\census.pb.h"> - <Filter>src\core\ext\census\gen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\census\gen\trace_context.pb.h"> - <Filter>src\core\ext\census\gen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\census\grpc_filter.h"> - <Filter>src\core\ext\census</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\census\intrusive_hash_map.h"> - <Filter>src\core\ext\census</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\census\intrusive_hash_map_internal.h"> - <Filter>src\core\ext\census</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\census\mlog.h"> - <Filter>src\core\ext\census</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\census\resource.h"> - <Filter>src\core\ext\census</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\census\rpc_metric_id.h"> - <Filter>src\core\ext\census</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\census\trace_context.h"> - <Filter>src\core\ext\census</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\census\trace_label.h"> - <Filter>src\core\ext\census</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\census\trace_propagation.h"> - <Filter>src\core\ext\census</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\census\trace_status.h"> - <Filter>src\core\ext\census</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\census\trace_string.h"> - <Filter>src\core\ext\census</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\census\tracing.h"> - <Filter>src\core\ext\census</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\max_age\max_age_filter.h"> - <Filter>src\core\ext\filters\max_age</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\message_size\message_size_filter.h"> - <Filter>src\core\ext\filters\message_size</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\workarounds\workaround_cronet_compression_filter.h"> - <Filter>src\core\ext\filters\workarounds</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\workarounds\workaround_utils.h"> - <Filter>src\core\ext\filters\workarounds</Filter> - </ClInclude> - </ItemGroup> - - <ItemGroup> - <Filter Include="include"> - <UniqueIdentifier>{968de0a1-346d-b75a-6f19-6a55119b8235}</UniqueIdentifier> - </Filter> - <Filter Include="include\grpc"> - <UniqueIdentifier>{880c644d-b84f-cfca-98bd-e145f36232ab}</UniqueIdentifier> - </Filter> - <Filter Include="include\grpc\impl"> - <UniqueIdentifier>{38832702-fee1-b2bc-75d3-923e748dcde9}</UniqueIdentifier> - </Filter> - <Filter Include="include\grpc\impl\codegen"> - <UniqueIdentifier>{def748f5-ed2a-a9bb-40d9-c31d00f0e13b}</UniqueIdentifier> - </Filter> - <Filter Include="include\grpc\support"> - <UniqueIdentifier>{31de82ea-dc6c-73fb-a640-979b8a7b240c}</UniqueIdentifier> - </Filter> - <Filter Include="src"> - <UniqueIdentifier>{d538af37-07b2-062b-fa2a-d9f882cb2737}</UniqueIdentifier> - </Filter> - <Filter Include="src\core"> - <UniqueIdentifier>{ea745680-21ea-9c5e-679b-64dc40562d08}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext"> - <UniqueIdentifier>{3f32a58f-394f-5f13-06aa-6cc52cc2daaf}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext\census"> - <UniqueIdentifier>{9bf70bd2-f553-11b2-c237-abd148971eea}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext\census\gen"> - <UniqueIdentifier>{4a14dd37-5868-c656-7333-fa80574cbb07}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext\filters"> - <UniqueIdentifier>{a7cd279d-e0ec-32d3-4cbe-778aba4a0000}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext\filters\client_channel"> - <UniqueIdentifier>{d38c43fd-50e4-fba5-59c5-0d4817159aad}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext\filters\client_channel\lb_policy"> - <UniqueIdentifier>{784368be-88aa-3170-1479-48fdf8fbc7be}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext\filters\client_channel\lb_policy\grpclb"> - <UniqueIdentifier>{82e39ac8-1993-6894-efed-651068234a28}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext\filters\client_channel\lb_policy\grpclb\proto"> - <UniqueIdentifier>{ff02fee6-7304-df5f-76a6-008b5a1c7d19}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext\filters\client_channel\lb_policy\grpclb\proto\grpc"> - <UniqueIdentifier>{953a74cb-cafd-eedd-8d34-038c28daf188}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext\filters\client_channel\lb_policy\grpclb\proto\grpc\lb"> - <UniqueIdentifier>{595a1701-eb5a-e8af-ffa3-f67c0e380894}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext\filters\client_channel\lb_policy\grpclb\proto\grpc\lb\v1"> - <UniqueIdentifier>{af8e2597-93ef-1381-d773-082a85e7eaf1}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext\filters\client_channel\lb_policy\pick_first"> - <UniqueIdentifier>{9a3e8049-bc04-8341-5173-6fe5f8a4465c}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext\filters\client_channel\lb_policy\round_robin"> - <UniqueIdentifier>{6d3d5842-8257-9c58-7985-75f4d98b7d5c}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext\filters\client_channel\resolver"> - <UniqueIdentifier>{c9873fec-2f83-0497-6d0a-bd9c1cc63be3}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext\filters\client_channel\resolver\dns"> - <UniqueIdentifier>{91b79502-da45-f80b-933e-c974b089db5c}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext\filters\client_channel\resolver\dns\c_ares"> - <UniqueIdentifier>{73d42c09-d1b5-2e4e-ef12-d74d8ee33ac2}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext\filters\client_channel\resolver\dns\native"> - <UniqueIdentifier>{9b2d7e1f-b78a-2e7a-3000-944e46a5fab9}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext\filters\client_channel\resolver\fake"> - <UniqueIdentifier>{e75d1482-9a43-5fdf-03a5-e2b2833715fb}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext\filters\client_channel\resolver\sockaddr"> - <UniqueIdentifier>{bd317dd5-323e-5b27-4c05-d85786be36ab}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext\filters\deadline"> - <UniqueIdentifier>{c8dcda4e-dbaa-1ae8-67a9-0dd26046f652}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext\filters\http"> - <UniqueIdentifier>{2e3ab9f3-39ca-db39-cb3e-2196cbc68098}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext\filters\http\client"> - <UniqueIdentifier>{e4f7616b-2b49-7df9-8ca3-eb7848d4609d}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext\filters\http\message_compress"> - <UniqueIdentifier>{7b595f5a-c5b5-29fe-74c2-5ec5fd5c94d2}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext\filters\http\server"> - <UniqueIdentifier>{a40e82ca-0c04-35b8-898d-7ad5f323d110}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext\filters\load_reporting"> - <UniqueIdentifier>{12559ba7-9445-92ae-0c5a-2d79570d4c9b}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext\filters\max_age"> - <UniqueIdentifier>{5369e83c-4625-fc14-cc40-9db5da3a7af4}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext\filters\message_size"> - <UniqueIdentifier>{5ca3f38c-539f-3c4f-b68c-38b31ba339ba}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext\filters\workarounds"> - <UniqueIdentifier>{2ec64619-e2c4-da0f-c10e-e03f5a151300}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext\transport"> - <UniqueIdentifier>{e3abfd0a-064e-0f2f-c8e8-7c5a7e98142a}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext\transport\chttp2"> - <UniqueIdentifier>{ac42667b-bbba-3571-20bc-7a4240ef26ca}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext\transport\chttp2\alpn"> - <UniqueIdentifier>{ef2aa344-783f-7fbd-c83a-47e2d38db14d}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext\transport\chttp2\client"> - <UniqueIdentifier>{dbffebe0-eebb-577d-1860-ef6837f4cf50}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext\transport\chttp2\client\insecure"> - <UniqueIdentifier>{4e699b02-fae4-dabd-afd2-2e41b05bef0e}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext\transport\chttp2\client\secure"> - <UniqueIdentifier>{e98ed28e-8dc5-3bb4-22a2-8893831a0ab8}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext\transport\chttp2\server"> - <UniqueIdentifier>{1d36fe16-b004-6bee-c661-328234bbb469}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext\transport\chttp2\server\insecure"> - <UniqueIdentifier>{e8539863-6029-cca4-44a9-5481cacf8144}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext\transport\chttp2\server\secure"> - <UniqueIdentifier>{0afa539f-8c83-d4b9-cdea-550091f09638}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext\transport\chttp2\transport"> - <UniqueIdentifier>{6f34254e-e69f-c9b4-156d-5024bade5408}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext\transport\inproc"> - <UniqueIdentifier>{fb9e878e-fc50-40af-7646-074229a9d676}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\lib"> - <UniqueIdentifier>{5b2ded3f-84a5-f6b4-2060-286c7d1dc945}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\lib\channel"> - <UniqueIdentifier>{1931b044-90f3-cd68-b5f8-23be77ca8efc}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\lib\compression"> - <UniqueIdentifier>{dadf7fe9-3f15-d431-e4f6-f987b090536c}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\lib\debug"> - <UniqueIdentifier>{19122742-9b92-5b67-9fb9-e552ac62ca5d}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\lib\http"> - <UniqueIdentifier>{dab8f03a-73de-8cfa-88fb-6e04402efb54}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\lib\iomgr"> - <UniqueIdentifier>{5468ba38-b8a3-85b1-216f-48a2364e18df}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\lib\json"> - <UniqueIdentifier>{cb2b0073-f2a7-5c63-d182-8874b24bdf36}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\lib\security"> - <UniqueIdentifier>{c4661d64-349f-01c1-1ba8-0602f9047595}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\lib\security\context"> - <UniqueIdentifier>{187b52e3-bc78-6c62-3e68-4eb19a257661}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\lib\security\credentials"> - <UniqueIdentifier>{c8af33b1-f786-001d-3e92-140872dc9829}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\lib\security\credentials\composite"> - <UniqueIdentifier>{197ed135-5f84-9f6a-6751-38dc5e9dd38c}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\lib\security\credentials\fake"> - <UniqueIdentifier>{6d391299-53d7-ee6a-55aa-d4c46cd86e82}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\lib\security\credentials\google_default"> - <UniqueIdentifier>{412c7418-e90a-de77-5705-7890ba960911}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\lib\security\credentials\iam"> - <UniqueIdentifier>{718f826c-994b-7dd4-3042-0e999c5c22ba}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\lib\security\credentials\jwt"> - <UniqueIdentifier>{ab21bcdf-de99-5838-699a-19ecb0c4aa14}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\lib\security\credentials\oauth2"> - <UniqueIdentifier>{f47a7a32-3166-b899-3622-f062f372feea}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\lib\security\credentials\plugin"> - <UniqueIdentifier>{46120bcc-03e3-1aaa-fc61-9cef786bd70c}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\lib\security\credentials\ssl"> - <UniqueIdentifier>{9d7802bc-d459-1a9b-3c97-868cddcca1d1}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\lib\security\transport"> - <UniqueIdentifier>{b22e611f-8272-9914-24a5-8107ebf51eeb}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\lib\security\util"> - <UniqueIdentifier>{fcd7b397-aadd-556a-8aae-0cb7c893fbe0}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\lib\slice"> - <UniqueIdentifier>{aed4de18-0b8a-0fed-6f5b-41ea3442310d}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\lib\surface"> - <UniqueIdentifier>{a21971fb-304f-da08-b1b2-7bd8df8ac373}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\lib\transport"> - <UniqueIdentifier>{e9d0d3fc-c100-f3e6-89b8-649f241155bf}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\plugin_registry"> - <UniqueIdentifier>{02bec99b-ff39-88d7-9dea-e0ff9f4a2701}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\tsi"> - <UniqueIdentifier>{0b0f9ab1-efa4-7f03-e446-6fb9b5227e84}</UniqueIdentifier> - </Filter> - <Filter Include="src\python"> - <UniqueIdentifier>{50d054e3-a413-b871-9049-e8612ef56281}</UniqueIdentifier> - </Filter> - <Filter Include="src\python\grpcio"> - <UniqueIdentifier>{92bc7bec-9183-0f2b-47d9-31f68a980f1e}</UniqueIdentifier> - </Filter> - <Filter Include="src\python\grpcio\grpc"> - <UniqueIdentifier>{a75d942e-8d7a-306e-372f-0c6260f439d4}</UniqueIdentifier> - </Filter> - <Filter Include="src\python\grpcio\grpc\_cython"> - <UniqueIdentifier>{89423fb6-ab96-95e8-d197-239e91b777ca}</UniqueIdentifier> - </Filter> - <Filter Include="third_party"> - <UniqueIdentifier>{aaab30a4-2a15-732e-c141-3fbc0f0f5a7a}</UniqueIdentifier> - </Filter> - <Filter Include="third_party\nanopb"> - <UniqueIdentifier>{93d6596d-330c-1d27-6f84-3c840e57869e}</UniqueIdentifier> - </Filter> - </ItemGroup> -</Project> - diff --git a/vsprojects/vcxproj/grpc_test_util/grpc_test_util.vcxproj b/vsprojects/vcxproj/grpc_test_util/grpc_test_util.vcxproj deleted file mode 100644 index cd7bbe2081..0000000000 --- a/vsprojects/vcxproj/grpc_test_util/grpc_test_util.vcxproj +++ /dev/null @@ -1,652 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup Label="ProjectConfigurations"> - <ProjectConfiguration Include="Debug|Win32"> - <Configuration>Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Debug|x64"> - <Configuration>Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Release|Win32"> - <Configuration>Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Release|x64"> - <Configuration>Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - </ItemGroup> - <PropertyGroup Label="Globals"> - <ProjectGuid>{17BCAFC0-5FDC-4C94-AEB9-95F3E220614B}</ProjectGuid> - <IgnoreWarnIntDirInTempDetected>true</IgnoreWarnIntDirInTempDetected> - <IntDir>$(SolutionDir)IntDir\$(MSBuildProjectName)\</IntDir> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> - <PropertyGroup Condition="'$(VisualStudioVersion)' == '10.0'" Label="Configuration"> - <PlatformToolset>v100</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(VisualStudioVersion)' == '11.0'" Label="Configuration"> - <PlatformToolset>v110</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(VisualStudioVersion)' == '12.0'" Label="Configuration"> - <PlatformToolset>v120</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(VisualStudioVersion)' == '14.0'" Label="Configuration"> - <PlatformToolset>v140</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)'=='Debug'" Label="Configuration"> - <ConfigurationType>StaticLibrary</ConfigurationType> - <UseDebugLibraries>true</UseDebugLibraries> - <CharacterSet>Unicode</CharacterSet> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)'=='Release'" Label="Configuration"> - <ConfigurationType>StaticLibrary</ConfigurationType> - <UseDebugLibraries>false</UseDebugLibraries> - <WholeProgramOptimization>true</WholeProgramOptimization> - <CharacterSet>Unicode</CharacterSet> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> - <ImportGroup Label="ExtensionSettings"> - </ImportGroup> - <ImportGroup Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - <Import Project="$(SolutionDir)\..\vsprojects\global.props" /> - <Import Project="$(SolutionDir)\..\vsprojects\winsock.props" /> - </ImportGroup> - <PropertyGroup Label="UserMacros" /> - <PropertyGroup Condition="'$(Configuration)'=='Debug'"> - <TargetName>grpc_test_util</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)'=='Release'"> - <TargetName>grpc_test_util</TargetName> - </PropertyGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> - <ClCompile> - <PrecompiledHeader>NotUsing</PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <Optimization>Disabled</Optimization> - <PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <SDLCheck>true</SDLCheck> - <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> - <TreatWarningAsError>true</TreatWarningAsError> - <DebugInformationFormat Condition="$(Jenkins)">None</DebugInformationFormat> - <MinimalRebuild Condition="$(Jenkins)">false</MinimalRebuild> - </ClCompile> - <Link> - <SubSystem>Windows</SubSystem> - <GenerateDebugInformation Condition="!$(Jenkins)">true</GenerateDebugInformation> - <GenerateDebugInformation Condition="$(Jenkins)">false</GenerateDebugInformation> - </Link> - </ItemDefinitionGroup> - - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> - <ClCompile> - <PrecompiledHeader>NotUsing</PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <Optimization>Disabled</Optimization> - <PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <SDLCheck>true</SDLCheck> - <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> - <TreatWarningAsError>true</TreatWarningAsError> - <DebugInformationFormat Condition="$(Jenkins)">None</DebugInformationFormat> - <MinimalRebuild Condition="$(Jenkins)">false</MinimalRebuild> - </ClCompile> - <Link> - <SubSystem>Windows</SubSystem> - <GenerateDebugInformation Condition="!$(Jenkins)">true</GenerateDebugInformation> - <GenerateDebugInformation Condition="$(Jenkins)">false</GenerateDebugInformation> - </Link> - </ItemDefinitionGroup> - - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> - <ClCompile> - <PrecompiledHeader>NotUsing</PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <Optimization>MaxSpeed</Optimization> - <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <FunctionLevelLinking>true</FunctionLevelLinking> - <IntrinsicFunctions>true</IntrinsicFunctions> - <SDLCheck>true</SDLCheck> - <RuntimeLibrary>MultiThreaded</RuntimeLibrary> - <TreatWarningAsError>true</TreatWarningAsError> - <DebugInformationFormat Condition="$(Jenkins)">None</DebugInformationFormat> - <MinimalRebuild Condition="$(Jenkins)">false</MinimalRebuild> - </ClCompile> - <Link> - <SubSystem>Windows</SubSystem> - <GenerateDebugInformation Condition="!$(Jenkins)">true</GenerateDebugInformation> - <GenerateDebugInformation Condition="$(Jenkins)">false</GenerateDebugInformation> - <EnableCOMDATFolding>true</EnableCOMDATFolding> - <OptimizeReferences>true</OptimizeReferences> - </Link> - </ItemDefinitionGroup> - - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> - <ClCompile> - <PrecompiledHeader>NotUsing</PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <Optimization>MaxSpeed</Optimization> - <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <FunctionLevelLinking>true</FunctionLevelLinking> - <IntrinsicFunctions>true</IntrinsicFunctions> - <SDLCheck>true</SDLCheck> - <RuntimeLibrary>MultiThreaded</RuntimeLibrary> - <TreatWarningAsError>true</TreatWarningAsError> - <DebugInformationFormat Condition="$(Jenkins)">None</DebugInformationFormat> - <MinimalRebuild Condition="$(Jenkins)">false</MinimalRebuild> - </ClCompile> - <Link> - <SubSystem>Windows</SubSystem> - <GenerateDebugInformation Condition="!$(Jenkins)">true</GenerateDebugInformation> - <GenerateDebugInformation Condition="$(Jenkins)">false</GenerateDebugInformation> - <EnableCOMDATFolding>true</EnableCOMDATFolding> - <OptimizeReferences>true</OptimizeReferences> - </Link> - </ItemDefinitionGroup> - - <ItemGroup> - <ClInclude Include="$(SolutionDir)\..\include\grpc\byte_buffer.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\byte_buffer_reader.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\compression.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\grpc.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\grpc_posix.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\grpc_security_constants.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\load_reporting.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\slice.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\slice_buffer.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\status.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\workaround_list.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\byte_buffer_reader.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\compression_types.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\connectivity_state.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\exec_ctx_fwd.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\grpc_types.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\propagation_bits.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\slice.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\status.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm_gcc_atomic.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm_gcc_sync.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm_windows.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\gpr_slice.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\gpr_types.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\port_platform.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync_generic.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync_posix.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync_windows.h" /> - </ItemGroup> - <ItemGroup> - <ClInclude Include="$(SolutionDir)\..\test\core\end2end\data\ssl_test_data.h" /> - <ClInclude Include="$(SolutionDir)\..\test\core\security\oauth2_utils.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\resolver\fake\fake_resolver.h" /> - <ClInclude Include="$(SolutionDir)\..\test\core\end2end\cq_verifier.h" /> - <ClInclude Include="$(SolutionDir)\..\test\core\end2end\fixtures\http_proxy_fixture.h" /> - <ClInclude Include="$(SolutionDir)\..\test\core\end2end\fixtures\proxy.h" /> - <ClInclude Include="$(SolutionDir)\..\test\core\iomgr\endpoint_tests.h" /> - <ClInclude Include="$(SolutionDir)\..\test\core\util\debugger_macros.h" /> - <ClInclude Include="$(SolutionDir)\..\test\core\util\grpc_profiler.h" /> - <ClInclude Include="$(SolutionDir)\..\test\core\util\memory_counters.h" /> - <ClInclude Include="$(SolutionDir)\..\test\core\util\mock_endpoint.h" /> - <ClInclude Include="$(SolutionDir)\..\test\core\util\parse_hexstring.h" /> - <ClInclude Include="$(SolutionDir)\..\test\core\util\passthru_endpoint.h" /> - <ClInclude Include="$(SolutionDir)\..\test\core\util\port.h" /> - <ClInclude Include="$(SolutionDir)\..\test\core\util\port_server_client.h" /> - <ClInclude Include="$(SolutionDir)\..\test\core\util\slice_splitter.h" /> - <ClInclude Include="$(SolutionDir)\..\test\core\util\trickle_endpoint.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\channel_args.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\channel_stack.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\channel_stack_builder.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\connected_channel.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\context.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\handshaker.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\handshaker_factory.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\handshaker_registry.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\compression\algorithm_metadata.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\compression\message_compress.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\compression\stream_compression.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\debug\stats.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\debug\stats_data.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\http\format_request.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\http\httpcli.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\http\parser.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\closure.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\combiner.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\endpoint.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\endpoint_pair.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\error.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\error_internal.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_epoll1_linux.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_epoll_limited_pollers_linux.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_epoll_thread_pool_linux.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_epollex_linux.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_epollsig_linux.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_poll_posix.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_posix.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\exec_ctx.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\executor.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\iocp_windows.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr_internal.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr_posix.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr_uv.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\is_epollexclusive_available.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\load_file.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\lockfree_event.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\network_status_tracker.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\polling_entity.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_set.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_set_windows.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_uv.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_windows.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\port.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\resolve_address.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\resource_quota.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\sockaddr.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\sockaddr_posix.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\sockaddr_utils.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\sockaddr_windows.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_factory_posix.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_mutator.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_utils.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_utils_posix.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_windows.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\sys_epoll_wrapper.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_client.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_client_posix.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_posix.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_server.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_server_utils_posix.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_uv.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_windows.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\time_averaged_stats.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\timer.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\timer_generic.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\timer_heap.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\timer_manager.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\timer_uv.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\udp_server.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\unix_sockets_posix.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\wakeup_fd_cv.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\wakeup_fd_pipe.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\wakeup_fd_posix.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\json\json.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\json\json_common.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\json\json_reader.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\json\json_writer.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\slice\b64.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\slice\percent_encoding.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\slice\slice_hash_table.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\slice\slice_internal.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\slice\slice_string_helpers.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\api_trace.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\call.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\call_test_only.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\channel.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\channel_init.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\channel_stack_type.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\completion_queue.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\completion_queue_factory.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\event_string.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\init.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\lame_client.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\server.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\validate_metadata.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\bdp_estimator.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\byte_stream.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\connectivity_state.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\error_utils.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\http2_errors.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\metadata.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\metadata_batch.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\pid_controller.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\service_config.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\static_metadata.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\status_conversion.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\timeout_encoding.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\transport.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\transport_impl.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\debug\trace.h" /> - </ItemGroup> - <ItemGroup> - <ClCompile Include="$(SolutionDir)\..\test\core\end2end\data\client_certs.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\test\core\end2end\data\server1_cert.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\test\core\end2end\data\server1_key.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\test\core\end2end\data\test_root_cert.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\test\core\security\oauth2_utils.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\resolver\fake\fake_resolver.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\test\core\end2end\cq_verifier.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\test\core\end2end\fixtures\http_proxy_fixture.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\test\core\end2end\fixtures\proxy.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\test\core\iomgr\endpoint_tests.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\test\core\util\debugger_macros.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\test\core\util\grpc_profiler.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\test\core\util\memory_counters.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\test\core\util\mock_endpoint.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\test\core\util\parse_hexstring.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\test\core\util\passthru_endpoint.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\test\core\util\port.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\test\core\util\port_server_client.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\test\core\util\slice_splitter.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\test\core\util\trickle_endpoint.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\channel_args.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\channel_stack.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\channel_stack_builder.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\connected_channel.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\handshaker.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\handshaker_factory.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\handshaker_registry.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\compression\compression.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\compression\message_compress.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\compression\stream_compression.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\debug\stats.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\debug\stats_data.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\http\format_request.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\http\httpcli.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\http\parser.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\closure.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\combiner.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\endpoint.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\endpoint_pair_posix.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\endpoint_pair_uv.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\endpoint_pair_windows.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\error.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_epoll1_linux.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_epoll_limited_pollers_linux.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_epoll_thread_pool_linux.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_epollex_linux.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_epollsig_linux.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_poll_posix.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_posix.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_windows.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\exec_ctx.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\executor.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\iocp_windows.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr_custom.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr_internal.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr_posix.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr_windows.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\is_epollexclusive_available.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\load_file.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\lockfree_event.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\network_status_tracker.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\polling_entity.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_custom.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_set.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_set_custom.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_set_windows.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_uv.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_windows.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\resolve_address.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\resolve_address_custom.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\resolve_address_posix.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\resolve_address_windows.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\resource_quota.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\sockaddr_utils.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_factory_posix.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_mutator.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_utils_common_posix.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_utils_linux.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_utils_posix.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_utils_uv.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_utils_windows.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_windows.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_client.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_client_custom.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_client_posix.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_client_windows.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_custom.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_posix.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_server.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_server_custom.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_server_posix.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_server_utils_posix_common.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_server_utils_posix_ifaddrs.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_server_utils_posix_noifaddrs.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_server_windows.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_uv.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_windows.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\time_averaged_stats.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\timer.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\timer_custom.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\timer_generic.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\timer_heap.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\timer_manager.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\timer_uv.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\udp_server.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\unix_sockets_posix.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\unix_sockets_posix_noop.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\wakeup_fd_cv.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\wakeup_fd_eventfd.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\wakeup_fd_nospecial.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\wakeup_fd_pipe.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\wakeup_fd_posix.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\json\json.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\json\json_reader.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\json\json_string.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\json\json_writer.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\slice\b64.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\slice\percent_encoding.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\slice\slice.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\slice\slice_buffer.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\slice\slice_hash_table.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\slice\slice_intern.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\slice\slice_string_helpers.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\alarm.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\api_trace.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\byte_buffer.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\byte_buffer_reader.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\call.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\call_details.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\call_log_batch.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\channel.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\channel_init.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\channel_ping.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\channel_stack_type.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\completion_queue.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\completion_queue_factory.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\event_string.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\lame_client.cc"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\metadata_array.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\server.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\validate_metadata.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\version.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\bdp_estimator.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\byte_stream.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\connectivity_state.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\error_utils.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\metadata.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\metadata_batch.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\pid_controller.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\service_config.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\static_metadata.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\status_conversion.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\timeout_encoding.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\transport.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\transport_op_string.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\debug\trace.c"> - </ClCompile> - </ItemGroup> - <ItemGroup> - <ProjectReference Include="$(SolutionDir)\..\vsprojects\vcxproj\.\gpr_test_util\gpr_test_util.vcxproj"> - <Project>{EAB0A629-17A9-44DB-B5FF-E91A721FE037}</Project> - </ProjectReference> - <ProjectReference Include="$(SolutionDir)\..\vsprojects\vcxproj\.\gpr\gpr.vcxproj"> - <Project>{B23D3D1A-9438-4EDA-BEB6-9A0A03D17792}</Project> - </ProjectReference> - <ProjectReference Include="$(SolutionDir)\..\vsprojects\vcxproj\.\grpc\grpc.vcxproj"> - <Project>{29D16885-7228-4C31-81ED-5F9187C7F2A9}</Project> - </ProjectReference> - </ItemGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> - <ImportGroup Label="ExtensionTargets"> - </ImportGroup> - <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> - <PropertyGroup> - <ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText> - </PropertyGroup> - </Target> -</Project> - diff --git a/vsprojects/vcxproj/grpc_test_util/grpc_test_util.vcxproj.filters b/vsprojects/vcxproj/grpc_test_util/grpc_test_util.vcxproj.filters deleted file mode 100644 index 6fd8b127e1..0000000000 --- a/vsprojects/vcxproj/grpc_test_util/grpc_test_util.vcxproj.filters +++ /dev/null @@ -1,1060 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup> - <ClCompile Include="$(SolutionDir)\..\test\core\end2end\data\client_certs.c"> - <Filter>test\core\end2end\data</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\test\core\end2end\data\server1_cert.c"> - <Filter>test\core\end2end\data</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\test\core\end2end\data\server1_key.c"> - <Filter>test\core\end2end\data</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\test\core\end2end\data\test_root_cert.c"> - <Filter>test\core\end2end\data</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\test\core\security\oauth2_utils.c"> - <Filter>test\core\security</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\resolver\fake\fake_resolver.c"> - <Filter>src\core\ext\filters\client_channel\resolver\fake</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\test\core\end2end\cq_verifier.c"> - <Filter>test\core\end2end</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\test\core\end2end\fixtures\http_proxy_fixture.c"> - <Filter>test\core\end2end\fixtures</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\test\core\end2end\fixtures\proxy.c"> - <Filter>test\core\end2end\fixtures</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\test\core\iomgr\endpoint_tests.c"> - <Filter>test\core\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\test\core\util\debugger_macros.c"> - <Filter>test\core\util</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\test\core\util\grpc_profiler.c"> - <Filter>test\core\util</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\test\core\util\memory_counters.c"> - <Filter>test\core\util</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\test\core\util\mock_endpoint.c"> - <Filter>test\core\util</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\test\core\util\parse_hexstring.c"> - <Filter>test\core\util</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\test\core\util\passthru_endpoint.c"> - <Filter>test\core\util</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\test\core\util\port.c"> - <Filter>test\core\util</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\test\core\util\port_server_client.c"> - <Filter>test\core\util</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\test\core\util\slice_splitter.c"> - <Filter>test\core\util</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\test\core\util\trickle_endpoint.c"> - <Filter>test\core\util</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\channel_args.c"> - <Filter>src\core\lib\channel</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\channel_stack.c"> - <Filter>src\core\lib\channel</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\channel_stack_builder.c"> - <Filter>src\core\lib\channel</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\connected_channel.c"> - <Filter>src\core\lib\channel</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\handshaker.c"> - <Filter>src\core\lib\channel</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\handshaker_factory.c"> - <Filter>src\core\lib\channel</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\handshaker_registry.c"> - <Filter>src\core\lib\channel</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\compression\compression.c"> - <Filter>src\core\lib\compression</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\compression\message_compress.c"> - <Filter>src\core\lib\compression</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\compression\stream_compression.c"> - <Filter>src\core\lib\compression</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\debug\stats.c"> - <Filter>src\core\lib\debug</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\debug\stats_data.c"> - <Filter>src\core\lib\debug</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\http\format_request.c"> - <Filter>src\core\lib\http</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\http\httpcli.c"> - <Filter>src\core\lib\http</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\http\parser.c"> - <Filter>src\core\lib\http</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\closure.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\combiner.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\endpoint.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\endpoint_pair_posix.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\endpoint_pair_uv.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\endpoint_pair_windows.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\error.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_epoll1_linux.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_epoll_limited_pollers_linux.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_epoll_thread_pool_linux.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_epollex_linux.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_epollsig_linux.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_poll_posix.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_posix.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_windows.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\exec_ctx.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\executor.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\iocp_windows.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr_custom.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr_internal.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr_posix.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr_windows.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\is_epollexclusive_available.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\load_file.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\lockfree_event.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\network_status_tracker.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\polling_entity.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_custom.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_set.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_set_custom.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_set_windows.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_uv.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_windows.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\resolve_address.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\resolve_address_custom.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\resolve_address_posix.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\resolve_address_windows.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\resource_quota.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\sockaddr_utils.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_factory_posix.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_mutator.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_utils_common_posix.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_utils_linux.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_utils_posix.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_utils_uv.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_utils_windows.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_windows.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_client.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_client_custom.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_client_posix.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_client_windows.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_custom.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_posix.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_server.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_server_custom.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_server_posix.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_server_utils_posix_common.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_server_utils_posix_ifaddrs.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_server_utils_posix_noifaddrs.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_server_windows.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_uv.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_windows.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\time_averaged_stats.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\timer.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\timer_custom.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\timer_generic.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\timer_heap.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\timer_manager.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\timer_uv.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\udp_server.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\unix_sockets_posix.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\unix_sockets_posix_noop.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\wakeup_fd_cv.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\wakeup_fd_eventfd.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\wakeup_fd_nospecial.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\wakeup_fd_pipe.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\wakeup_fd_posix.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\json\json.c"> - <Filter>src\core\lib\json</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\json\json_reader.c"> - <Filter>src\core\lib\json</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\json\json_string.c"> - <Filter>src\core\lib\json</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\json\json_writer.c"> - <Filter>src\core\lib\json</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\slice\b64.c"> - <Filter>src\core\lib\slice</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\slice\percent_encoding.c"> - <Filter>src\core\lib\slice</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\slice\slice.c"> - <Filter>src\core\lib\slice</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\slice\slice_buffer.c"> - <Filter>src\core\lib\slice</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\slice\slice_hash_table.c"> - <Filter>src\core\lib\slice</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\slice\slice_intern.c"> - <Filter>src\core\lib\slice</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\slice\slice_string_helpers.c"> - <Filter>src\core\lib\slice</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\alarm.c"> - <Filter>src\core\lib\surface</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\api_trace.c"> - <Filter>src\core\lib\surface</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\byte_buffer.c"> - <Filter>src\core\lib\surface</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\byte_buffer_reader.c"> - <Filter>src\core\lib\surface</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\call.c"> - <Filter>src\core\lib\surface</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\call_details.c"> - <Filter>src\core\lib\surface</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\call_log_batch.c"> - <Filter>src\core\lib\surface</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\channel.c"> - <Filter>src\core\lib\surface</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\channel_init.c"> - <Filter>src\core\lib\surface</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\channel_ping.c"> - <Filter>src\core\lib\surface</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\channel_stack_type.c"> - <Filter>src\core\lib\surface</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\completion_queue.c"> - <Filter>src\core\lib\surface</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\completion_queue_factory.c"> - <Filter>src\core\lib\surface</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\event_string.c"> - <Filter>src\core\lib\surface</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\lame_client.cc"> - <Filter>src\core\lib\surface</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\metadata_array.c"> - <Filter>src\core\lib\surface</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\server.c"> - <Filter>src\core\lib\surface</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\validate_metadata.c"> - <Filter>src\core\lib\surface</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\version.c"> - <Filter>src\core\lib\surface</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\bdp_estimator.c"> - <Filter>src\core\lib\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\byte_stream.c"> - <Filter>src\core\lib\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\connectivity_state.c"> - <Filter>src\core\lib\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\error_utils.c"> - <Filter>src\core\lib\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\metadata.c"> - <Filter>src\core\lib\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\metadata_batch.c"> - <Filter>src\core\lib\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\pid_controller.c"> - <Filter>src\core\lib\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\service_config.c"> - <Filter>src\core\lib\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\static_metadata.c"> - <Filter>src\core\lib\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\status_conversion.c"> - <Filter>src\core\lib\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\timeout_encoding.c"> - <Filter>src\core\lib\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\transport.c"> - <Filter>src\core\lib\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\transport_op_string.c"> - <Filter>src\core\lib\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\debug\trace.c"> - <Filter>src\core\lib\debug</Filter> - </ClCompile> - </ItemGroup> - <ItemGroup> - <ClInclude Include="$(SolutionDir)\..\include\grpc\byte_buffer.h"> - <Filter>include\grpc</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\byte_buffer_reader.h"> - <Filter>include\grpc</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\compression.h"> - <Filter>include\grpc</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\grpc.h"> - <Filter>include\grpc</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\grpc_posix.h"> - <Filter>include\grpc</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\grpc_security_constants.h"> - <Filter>include\grpc</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\load_reporting.h"> - <Filter>include\grpc</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\slice.h"> - <Filter>include\grpc</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\slice_buffer.h"> - <Filter>include\grpc</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\status.h"> - <Filter>include\grpc</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\workaround_list.h"> - <Filter>include\grpc\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\byte_buffer_reader.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\compression_types.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\connectivity_state.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\exec_ctx_fwd.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\grpc_types.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\propagation_bits.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\slice.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\status.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm_gcc_atomic.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm_gcc_sync.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm_windows.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\gpr_slice.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\gpr_types.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\port_platform.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync_generic.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync_posix.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync_windows.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - </ItemGroup> - <ItemGroup> - <ClInclude Include="$(SolutionDir)\..\test\core\end2end\data\ssl_test_data.h"> - <Filter>test\core\end2end\data</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\test\core\security\oauth2_utils.h"> - <Filter>test\core\security</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\resolver\fake\fake_resolver.h"> - <Filter>src\core\ext\filters\client_channel\resolver\fake</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\test\core\end2end\cq_verifier.h"> - <Filter>test\core\end2end</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\test\core\end2end\fixtures\http_proxy_fixture.h"> - <Filter>test\core\end2end\fixtures</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\test\core\end2end\fixtures\proxy.h"> - <Filter>test\core\end2end\fixtures</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\test\core\iomgr\endpoint_tests.h"> - <Filter>test\core\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\test\core\util\debugger_macros.h"> - <Filter>test\core\util</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\test\core\util\grpc_profiler.h"> - <Filter>test\core\util</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\test\core\util\memory_counters.h"> - <Filter>test\core\util</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\test\core\util\mock_endpoint.h"> - <Filter>test\core\util</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\test\core\util\parse_hexstring.h"> - <Filter>test\core\util</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\test\core\util\passthru_endpoint.h"> - <Filter>test\core\util</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\test\core\util\port.h"> - <Filter>test\core\util</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\test\core\util\port_server_client.h"> - <Filter>test\core\util</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\test\core\util\slice_splitter.h"> - <Filter>test\core\util</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\test\core\util\trickle_endpoint.h"> - <Filter>test\core\util</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\channel_args.h"> - <Filter>src\core\lib\channel</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\channel_stack.h"> - <Filter>src\core\lib\channel</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\channel_stack_builder.h"> - <Filter>src\core\lib\channel</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\connected_channel.h"> - <Filter>src\core\lib\channel</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\context.h"> - <Filter>src\core\lib\channel</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\handshaker.h"> - <Filter>src\core\lib\channel</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\handshaker_factory.h"> - <Filter>src\core\lib\channel</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\handshaker_registry.h"> - <Filter>src\core\lib\channel</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\compression\algorithm_metadata.h"> - <Filter>src\core\lib\compression</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\compression\message_compress.h"> - <Filter>src\core\lib\compression</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\compression\stream_compression.h"> - <Filter>src\core\lib\compression</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\debug\stats.h"> - <Filter>src\core\lib\debug</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\debug\stats_data.h"> - <Filter>src\core\lib\debug</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\http\format_request.h"> - <Filter>src\core\lib\http</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\http\httpcli.h"> - <Filter>src\core\lib\http</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\http\parser.h"> - <Filter>src\core\lib\http</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\closure.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\combiner.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\endpoint.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\endpoint_pair.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\error.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\error_internal.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_epoll1_linux.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_epoll_limited_pollers_linux.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_epoll_thread_pool_linux.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_epollex_linux.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_epollsig_linux.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_poll_posix.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_posix.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\exec_ctx.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\executor.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\iocp_windows.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr_internal.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr_posix.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr_uv.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\is_epollexclusive_available.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\load_file.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\lockfree_event.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\network_status_tracker.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\polling_entity.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_set.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_set_windows.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_uv.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_windows.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\port.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\resolve_address.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\resource_quota.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\sockaddr.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\sockaddr_posix.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\sockaddr_utils.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\sockaddr_windows.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_factory_posix.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_mutator.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_utils.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_utils_posix.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_windows.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\sys_epoll_wrapper.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_client.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_client_posix.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_posix.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_server.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_server_utils_posix.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_uv.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_windows.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\time_averaged_stats.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\timer.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\timer_generic.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\timer_heap.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\timer_manager.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\timer_uv.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\udp_server.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\unix_sockets_posix.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\wakeup_fd_cv.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\wakeup_fd_pipe.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\wakeup_fd_posix.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\json\json.h"> - <Filter>src\core\lib\json</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\json\json_common.h"> - <Filter>src\core\lib\json</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\json\json_reader.h"> - <Filter>src\core\lib\json</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\json\json_writer.h"> - <Filter>src\core\lib\json</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\slice\b64.h"> - <Filter>src\core\lib\slice</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\slice\percent_encoding.h"> - <Filter>src\core\lib\slice</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\slice\slice_hash_table.h"> - <Filter>src\core\lib\slice</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\slice\slice_internal.h"> - <Filter>src\core\lib\slice</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\slice\slice_string_helpers.h"> - <Filter>src\core\lib\slice</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\api_trace.h"> - <Filter>src\core\lib\surface</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\call.h"> - <Filter>src\core\lib\surface</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\call_test_only.h"> - <Filter>src\core\lib\surface</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\channel.h"> - <Filter>src\core\lib\surface</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\channel_init.h"> - <Filter>src\core\lib\surface</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\channel_stack_type.h"> - <Filter>src\core\lib\surface</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\completion_queue.h"> - <Filter>src\core\lib\surface</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\completion_queue_factory.h"> - <Filter>src\core\lib\surface</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\event_string.h"> - <Filter>src\core\lib\surface</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\init.h"> - <Filter>src\core\lib\surface</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\lame_client.h"> - <Filter>src\core\lib\surface</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\server.h"> - <Filter>src\core\lib\surface</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\validate_metadata.h"> - <Filter>src\core\lib\surface</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\bdp_estimator.h"> - <Filter>src\core\lib\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\byte_stream.h"> - <Filter>src\core\lib\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\connectivity_state.h"> - <Filter>src\core\lib\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\error_utils.h"> - <Filter>src\core\lib\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\http2_errors.h"> - <Filter>src\core\lib\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\metadata.h"> - <Filter>src\core\lib\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\metadata_batch.h"> - <Filter>src\core\lib\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\pid_controller.h"> - <Filter>src\core\lib\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\service_config.h"> - <Filter>src\core\lib\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\static_metadata.h"> - <Filter>src\core\lib\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\status_conversion.h"> - <Filter>src\core\lib\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\timeout_encoding.h"> - <Filter>src\core\lib\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\transport.h"> - <Filter>src\core\lib\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\transport_impl.h"> - <Filter>src\core\lib\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\debug\trace.h"> - <Filter>src\core\lib\debug</Filter> - </ClInclude> - </ItemGroup> - - <ItemGroup> - <Filter Include="include"> - <UniqueIdentifier>{50129440-aff7-7df7-682c-b9671be19a6f}</UniqueIdentifier> - </Filter> - <Filter Include="include\grpc"> - <UniqueIdentifier>{d448b078-95a6-6fca-fe4a-8b44dd71f359}</UniqueIdentifier> - </Filter> - <Filter Include="include\grpc\impl"> - <UniqueIdentifier>{314a6801-6fe3-9211-33d8-ecf3332c1151}</UniqueIdentifier> - </Filter> - <Filter Include="include\grpc\impl\codegen"> - <UniqueIdentifier>{8e97f1e1-f4d1-a56e-0837-7901778fb3b9}</UniqueIdentifier> - </Filter> - <Filter Include="include\grpc\support"> - <UniqueIdentifier>{b783a829-3703-129f-39ee-528ac0a06e06}</UniqueIdentifier> - </Filter> - <Filter Include="src"> - <UniqueIdentifier>{7d107d7c-1da3-9525-3ba1-3a411b552ea8}</UniqueIdentifier> - </Filter> - <Filter Include="src\core"> - <UniqueIdentifier>{f7bfac91-5eb2-dea7-4601-6c63edbbf997}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext"> - <UniqueIdentifier>{5db70e06-741d-708c-bf0a-b59f8ca1f8bd}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext\filters"> - <UniqueIdentifier>{f0f88514-c2d8-c4c9-c3bd-591682207751}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext\filters\client_channel"> - <UniqueIdentifier>{5bb60a9e-156f-e1c8-3b9c-1b23e7992d7a}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext\filters\client_channel\resolver"> - <UniqueIdentifier>{24a50975-435e-20a5-b0f2-71bc330d0378}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext\filters\client_channel\resolver\fake"> - <UniqueIdentifier>{9e94ffec-fe00-d132-db50-c4a3c218f102}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\lib"> - <UniqueIdentifier>{f4e8c61e-1ca6-0fdd-7b5e-b7f9a30c9a21}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\lib\channel"> - <UniqueIdentifier>{1cd1503c-bec0-5ade-c75f-aa25c80975ec}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\lib\compression"> - <UniqueIdentifier>{09632582-2cc3-5618-d673-65d3884f8ce5}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\lib\debug"> - <UniqueIdentifier>{2c1a72e9-886e-8082-9d2f-0fc9cb3ab996}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\lib\http"> - <UniqueIdentifier>{4862ecce-fa07-eb5e-5c05-bfa753c8bfe5}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\lib\iomgr"> - <UniqueIdentifier>{fc7f488e-08b4-8366-3720-1f7ffaa0b0b3}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\lib\json"> - <UniqueIdentifier>{89bc8f83-e29a-ddab-8f6b-22df11cdc867}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\lib\slice"> - <UniqueIdentifier>{4d172bbc-20c4-6e7d-872a-2d287b589aa0}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\lib\surface"> - <UniqueIdentifier>{7f2b7dca-395f-94dd-c9ad-9a286bd9751e}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\lib\transport"> - <UniqueIdentifier>{5249e884-ea07-6782-531d-ec622c54b9af}</UniqueIdentifier> - </Filter> - <Filter Include="test"> - <UniqueIdentifier>{a2783de3-4fcf-718d-a859-c2108350ff33}</UniqueIdentifier> - </Filter> - <Filter Include="test\core"> - <UniqueIdentifier>{f95a0dc5-2e57-c168-6128-fe07e1bd58a9}</UniqueIdentifier> - </Filter> - <Filter Include="test\core\end2end"> - <UniqueIdentifier>{7004f7a6-a821-a581-1df5-94c7d22c6850}</UniqueIdentifier> - </Filter> - <Filter Include="test\core\end2end\data"> - <UniqueIdentifier>{c0da5050-98b1-e4af-71a7-6317af6338e0}</UniqueIdentifier> - </Filter> - <Filter Include="test\core\end2end\fixtures"> - <UniqueIdentifier>{1daa14ff-cf54-5a38-9104-46ed9882784b}</UniqueIdentifier> - </Filter> - <Filter Include="test\core\iomgr"> - <UniqueIdentifier>{d3dce584-6111-9ff2-affe-5933a9291c17}</UniqueIdentifier> - </Filter> - <Filter Include="test\core\security"> - <UniqueIdentifier>{b0938b31-f9d5-21d7-de41-08107caafd80}</UniqueIdentifier> - </Filter> - <Filter Include="test\core\util"> - <UniqueIdentifier>{6e9f8de1-258c-578f-aa3d-7da9320a3171}</UniqueIdentifier> - </Filter> - </ItemGroup> -</Project> - diff --git a/vsprojects/vcxproj/grpc_test_util_unsecure/grpc_test_util_unsecure.vcxproj b/vsprojects/vcxproj/grpc_test_util_unsecure/grpc_test_util_unsecure.vcxproj deleted file mode 100644 index 972828fa31..0000000000 --- a/vsprojects/vcxproj/grpc_test_util_unsecure/grpc_test_util_unsecure.vcxproj +++ /dev/null @@ -1,649 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup Label="ProjectConfigurations"> - <ProjectConfiguration Include="Debug|Win32"> - <Configuration>Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Debug|x64"> - <Configuration>Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Release|Win32"> - <Configuration>Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Release|x64"> - <Configuration>Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - </ItemGroup> - <PropertyGroup Label="Globals"> - <ProjectGuid>{0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF}</ProjectGuid> - <IgnoreWarnIntDirInTempDetected>true</IgnoreWarnIntDirInTempDetected> - <IntDir>$(SolutionDir)IntDir\$(MSBuildProjectName)\</IntDir> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> - <PropertyGroup Condition="'$(VisualStudioVersion)' == '10.0'" Label="Configuration"> - <PlatformToolset>v100</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(VisualStudioVersion)' == '11.0'" Label="Configuration"> - <PlatformToolset>v110</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(VisualStudioVersion)' == '12.0'" Label="Configuration"> - <PlatformToolset>v120</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(VisualStudioVersion)' == '14.0'" Label="Configuration"> - <PlatformToolset>v140</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)'=='Debug'" Label="Configuration"> - <ConfigurationType>StaticLibrary</ConfigurationType> - <UseDebugLibraries>true</UseDebugLibraries> - <CharacterSet>Unicode</CharacterSet> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)'=='Release'" Label="Configuration"> - <ConfigurationType>StaticLibrary</ConfigurationType> - <UseDebugLibraries>false</UseDebugLibraries> - <WholeProgramOptimization>true</WholeProgramOptimization> - <CharacterSet>Unicode</CharacterSet> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> - <ImportGroup Label="ExtensionSettings"> - </ImportGroup> - <ImportGroup Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - <Import Project="$(SolutionDir)\..\vsprojects\global.props" /> - <Import Project="$(SolutionDir)\..\vsprojects\winsock.props" /> - </ImportGroup> - <PropertyGroup Label="UserMacros" /> - <PropertyGroup Condition="'$(Configuration)'=='Debug'"> - <TargetName>grpc_test_util_unsecure</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)'=='Release'"> - <TargetName>grpc_test_util_unsecure</TargetName> - </PropertyGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> - <ClCompile> - <PrecompiledHeader>NotUsing</PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <Optimization>Disabled</Optimization> - <PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <SDLCheck>true</SDLCheck> - <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> - <TreatWarningAsError>true</TreatWarningAsError> - <DebugInformationFormat Condition="$(Jenkins)">None</DebugInformationFormat> - <MinimalRebuild Condition="$(Jenkins)">false</MinimalRebuild> - </ClCompile> - <Link> - <SubSystem>Windows</SubSystem> - <GenerateDebugInformation Condition="!$(Jenkins)">true</GenerateDebugInformation> - <GenerateDebugInformation Condition="$(Jenkins)">false</GenerateDebugInformation> - </Link> - </ItemDefinitionGroup> - - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> - <ClCompile> - <PrecompiledHeader>NotUsing</PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <Optimization>Disabled</Optimization> - <PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <SDLCheck>true</SDLCheck> - <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> - <TreatWarningAsError>true</TreatWarningAsError> - <DebugInformationFormat Condition="$(Jenkins)">None</DebugInformationFormat> - <MinimalRebuild Condition="$(Jenkins)">false</MinimalRebuild> - </ClCompile> - <Link> - <SubSystem>Windows</SubSystem> - <GenerateDebugInformation Condition="!$(Jenkins)">true</GenerateDebugInformation> - <GenerateDebugInformation Condition="$(Jenkins)">false</GenerateDebugInformation> - </Link> - </ItemDefinitionGroup> - - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> - <ClCompile> - <PrecompiledHeader>NotUsing</PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <Optimization>MaxSpeed</Optimization> - <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <FunctionLevelLinking>true</FunctionLevelLinking> - <IntrinsicFunctions>true</IntrinsicFunctions> - <SDLCheck>true</SDLCheck> - <RuntimeLibrary>MultiThreaded</RuntimeLibrary> - <TreatWarningAsError>true</TreatWarningAsError> - <DebugInformationFormat Condition="$(Jenkins)">None</DebugInformationFormat> - <MinimalRebuild Condition="$(Jenkins)">false</MinimalRebuild> - </ClCompile> - <Link> - <SubSystem>Windows</SubSystem> - <GenerateDebugInformation Condition="!$(Jenkins)">true</GenerateDebugInformation> - <GenerateDebugInformation Condition="$(Jenkins)">false</GenerateDebugInformation> - <EnableCOMDATFolding>true</EnableCOMDATFolding> - <OptimizeReferences>true</OptimizeReferences> - </Link> - </ItemDefinitionGroup> - - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> - <ClCompile> - <PrecompiledHeader>NotUsing</PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <Optimization>MaxSpeed</Optimization> - <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <FunctionLevelLinking>true</FunctionLevelLinking> - <IntrinsicFunctions>true</IntrinsicFunctions> - <SDLCheck>true</SDLCheck> - <RuntimeLibrary>MultiThreaded</RuntimeLibrary> - <TreatWarningAsError>true</TreatWarningAsError> - <DebugInformationFormat Condition="$(Jenkins)">None</DebugInformationFormat> - <MinimalRebuild Condition="$(Jenkins)">false</MinimalRebuild> - </ClCompile> - <Link> - <SubSystem>Windows</SubSystem> - <GenerateDebugInformation Condition="!$(Jenkins)">true</GenerateDebugInformation> - <GenerateDebugInformation Condition="$(Jenkins)">false</GenerateDebugInformation> - <EnableCOMDATFolding>true</EnableCOMDATFolding> - <OptimizeReferences>true</OptimizeReferences> - </Link> - </ItemDefinitionGroup> - - <ItemGroup> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\byte_buffer_reader.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\compression_types.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\connectivity_state.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\exec_ctx_fwd.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\grpc_types.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\propagation_bits.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\slice.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\status.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm_gcc_atomic.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm_gcc_sync.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm_windows.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\gpr_slice.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\gpr_types.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\port_platform.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync_generic.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync_posix.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync_windows.h" /> - </ItemGroup> - <ItemGroup> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\resolver\fake\fake_resolver.h" /> - <ClInclude Include="$(SolutionDir)\..\test\core\end2end\cq_verifier.h" /> - <ClInclude Include="$(SolutionDir)\..\test\core\end2end\fixtures\http_proxy_fixture.h" /> - <ClInclude Include="$(SolutionDir)\..\test\core\end2end\fixtures\proxy.h" /> - <ClInclude Include="$(SolutionDir)\..\test\core\iomgr\endpoint_tests.h" /> - <ClInclude Include="$(SolutionDir)\..\test\core\util\debugger_macros.h" /> - <ClInclude Include="$(SolutionDir)\..\test\core\util\grpc_profiler.h" /> - <ClInclude Include="$(SolutionDir)\..\test\core\util\memory_counters.h" /> - <ClInclude Include="$(SolutionDir)\..\test\core\util\mock_endpoint.h" /> - <ClInclude Include="$(SolutionDir)\..\test\core\util\parse_hexstring.h" /> - <ClInclude Include="$(SolutionDir)\..\test\core\util\passthru_endpoint.h" /> - <ClInclude Include="$(SolutionDir)\..\test\core\util\port.h" /> - <ClInclude Include="$(SolutionDir)\..\test\core\util\port_server_client.h" /> - <ClInclude Include="$(SolutionDir)\..\test\core\util\slice_splitter.h" /> - <ClInclude Include="$(SolutionDir)\..\test\core\util\trickle_endpoint.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\client_channel.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\client_channel_factory.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\connector.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\http_connect_handshaker.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\http_proxy.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\lb_policy.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\lb_policy_factory.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\lb_policy_registry.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\parse_address.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\proxy_mapper.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\proxy_mapper_registry.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\resolver.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\resolver_factory.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\resolver_registry.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\retry_throttle.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\subchannel.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\subchannel_index.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\uri_parser.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\deadline\deadline_filter.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\bin_decoder.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\bin_encoder.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\chttp2_transport.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_data.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_goaway.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_ping.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_rst_stream.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_settings.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_window_update.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\hpack_encoder.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\hpack_parser.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\hpack_table.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\http2_settings.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\huffsyms.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\incoming_metadata.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\internal.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\stream_map.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\varint.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\alpn\alpn.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\http\client\http_client_filter.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\http\message_compress\message_compress_filter.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\http\server\http_server_filter.h" /> - </ItemGroup> - <ItemGroup> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\resolver\fake\fake_resolver.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\test\core\end2end\cq_verifier.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\test\core\end2end\fixtures\http_proxy_fixture.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\test\core\end2end\fixtures\proxy.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\test\core\iomgr\endpoint_tests.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\test\core\util\debugger_macros.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\test\core\util\grpc_profiler.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\test\core\util\memory_counters.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\test\core\util\mock_endpoint.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\test\core\util\parse_hexstring.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\test\core\util\passthru_endpoint.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\test\core\util\port.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\test\core\util\port_server_client.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\test\core\util\slice_splitter.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\test\core\util\trickle_endpoint.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\channel_args.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\channel_stack.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\channel_stack_builder.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\connected_channel.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\handshaker.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\handshaker_factory.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\handshaker_registry.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\compression\compression.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\compression\message_compress.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\compression\stream_compression.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\http\format_request.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\http\httpcli.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\http\parser.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\closure.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\combiner.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\endpoint.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\endpoint_pair_posix.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\endpoint_pair_uv.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\endpoint_pair_windows.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\error.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_epoll1_linux.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_epoll_limited_pollers_linux.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_epoll_thread_pool_linux.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_epollex_linux.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_epollsig_linux.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_poll_posix.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_posix.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_windows.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\exec_ctx.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\executor.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\iocp_windows.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr_custom.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr_internal.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr_posix.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr_windows.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\is_epollexclusive_available.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\load_file.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\lockfree_event.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\network_status_tracker.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\polling_entity.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_custom.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_set.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_set_custom.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_set_windows.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_uv.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_windows.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\resolve_address.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\resolve_address_custom.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\resolve_address_posix.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\resolve_address_windows.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\resource_quota.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\sockaddr_utils.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_factory_posix.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_mutator.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_utils_common_posix.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_utils_linux.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_utils_posix.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_utils_uv.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_utils_windows.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_windows.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_client.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_client_custom.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_client_posix.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_client_windows.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_custom.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_posix.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_server.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_server_custom.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_server_posix.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_server_utils_posix_common.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_server_utils_posix_ifaddrs.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_server_utils_posix_noifaddrs.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_server_windows.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_uv.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_windows.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\time_averaged_stats.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\timer.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\timer_custom.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\timer_generic.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\timer_heap.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\timer_manager.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\timer_uv.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\udp_server.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\unix_sockets_posix.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\unix_sockets_posix_noop.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\wakeup_fd_cv.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\wakeup_fd_eventfd.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\wakeup_fd_nospecial.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\wakeup_fd_pipe.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\wakeup_fd_posix.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\json\json.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\json\json_reader.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\json\json_string.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\json\json_writer.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\slice\b64.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\slice\percent_encoding.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\slice\slice.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\slice\slice_buffer.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\slice\slice_hash_table.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\slice\slice_intern.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\slice\slice_string_helpers.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\alarm.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\api_trace.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\byte_buffer.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\byte_buffer_reader.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\call.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\call_details.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\call_log_batch.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\channel.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\channel_init.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\channel_ping.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\channel_stack_type.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\completion_queue.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\completion_queue_factory.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\event_string.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\lame_client.cc"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\metadata_array.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\server.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\validate_metadata.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\version.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\bdp_estimator.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\byte_stream.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\connectivity_state.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\error_utils.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\metadata.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\metadata_batch.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\pid_controller.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\service_config.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\static_metadata.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\status_conversion.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\timeout_encoding.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\transport.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\transport_op_string.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\debug\trace.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\channel_connectivity.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\client_channel.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\client_channel_factory.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\client_channel_plugin.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\connector.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\http_connect_handshaker.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\http_proxy.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\lb_policy.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\lb_policy_factory.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\lb_policy_registry.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\parse_address.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\proxy_mapper.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\proxy_mapper_registry.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\resolver.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\resolver_factory.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\resolver_registry.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\retry_throttle.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\subchannel.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\subchannel_index.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\uri_parser.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\deadline\deadline_filter.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\bin_decoder.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\bin_encoder.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\chttp2_plugin.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\chttp2_transport.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\flow_control.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_data.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_goaway.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_ping.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_rst_stream.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_settings.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_window_update.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\hpack_encoder.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\hpack_parser.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\hpack_table.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\http2_settings.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\huffsyms.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\incoming_metadata.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\parsing.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\stream_lists.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\stream_map.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\varint.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\writing.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\alpn\alpn.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\http\client\http_client_filter.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\http\http_filters_plugin.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\http\message_compress\message_compress_filter.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\http\server\http_server_filter.c"> - </ClCompile> - </ItemGroup> - <ItemGroup> - <ProjectReference Include="$(SolutionDir)\..\vsprojects\vcxproj\.\gpr\gpr.vcxproj"> - <Project>{B23D3D1A-9438-4EDA-BEB6-9A0A03D17792}</Project> - </ProjectReference> - <ProjectReference Include="$(SolutionDir)\..\vsprojects\vcxproj\.\gpr_test_util\gpr_test_util.vcxproj"> - <Project>{EAB0A629-17A9-44DB-B5FF-E91A721FE037}</Project> - </ProjectReference> - <ProjectReference Include="$(SolutionDir)\..\vsprojects\vcxproj\.\grpc_unsecure\grpc_unsecure.vcxproj"> - <Project>{46CEDFFF-9692-456A-AA24-38B5D6BCF4C5}</Project> - </ProjectReference> - </ItemGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> - <ImportGroup Label="ExtensionTargets"> - </ImportGroup> - <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> - <PropertyGroup> - <ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText> - </PropertyGroup> - </Target> -</Project> - diff --git a/vsprojects/vcxproj/grpc_test_util_unsecure/grpc_test_util_unsecure.vcxproj.filters b/vsprojects/vcxproj/grpc_test_util_unsecure/grpc_test_util_unsecure.vcxproj.filters deleted file mode 100644 index b92079c7a0..0000000000 --- a/vsprojects/vcxproj/grpc_test_util_unsecure/grpc_test_util_unsecure.vcxproj.filters +++ /dev/null @@ -1,946 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\resolver\fake\fake_resolver.c"> - <Filter>src\core\ext\filters\client_channel\resolver\fake</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\test\core\end2end\cq_verifier.c"> - <Filter>test\core\end2end</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\test\core\end2end\fixtures\http_proxy_fixture.c"> - <Filter>test\core\end2end\fixtures</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\test\core\end2end\fixtures\proxy.c"> - <Filter>test\core\end2end\fixtures</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\test\core\iomgr\endpoint_tests.c"> - <Filter>test\core\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\test\core\util\debugger_macros.c"> - <Filter>test\core\util</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\test\core\util\grpc_profiler.c"> - <Filter>test\core\util</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\test\core\util\memory_counters.c"> - <Filter>test\core\util</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\test\core\util\mock_endpoint.c"> - <Filter>test\core\util</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\test\core\util\parse_hexstring.c"> - <Filter>test\core\util</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\test\core\util\passthru_endpoint.c"> - <Filter>test\core\util</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\test\core\util\port.c"> - <Filter>test\core\util</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\test\core\util\port_server_client.c"> - <Filter>test\core\util</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\test\core\util\slice_splitter.c"> - <Filter>test\core\util</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\test\core\util\trickle_endpoint.c"> - <Filter>test\core\util</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\channel_args.c"> - <Filter>src\core\lib\channel</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\channel_stack.c"> - <Filter>src\core\lib\channel</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\channel_stack_builder.c"> - <Filter>src\core\lib\channel</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\connected_channel.c"> - <Filter>src\core\lib\channel</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\handshaker.c"> - <Filter>src\core\lib\channel</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\handshaker_factory.c"> - <Filter>src\core\lib\channel</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\handshaker_registry.c"> - <Filter>src\core\lib\channel</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\compression\compression.c"> - <Filter>src\core\lib\compression</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\compression\message_compress.c"> - <Filter>src\core\lib\compression</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\compression\stream_compression.c"> - <Filter>src\core\lib\compression</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\http\format_request.c"> - <Filter>src\core\lib\http</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\http\httpcli.c"> - <Filter>src\core\lib\http</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\http\parser.c"> - <Filter>src\core\lib\http</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\closure.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\combiner.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\endpoint.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\endpoint_pair_posix.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\endpoint_pair_uv.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\endpoint_pair_windows.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\error.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_epoll1_linux.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_epoll_limited_pollers_linux.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_epoll_thread_pool_linux.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_epollex_linux.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_epollsig_linux.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_poll_posix.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_posix.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_windows.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\exec_ctx.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\executor.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\iocp_windows.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr_custom.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr_internal.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr_posix.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr_windows.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\is_epollexclusive_available.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\load_file.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\lockfree_event.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\network_status_tracker.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\polling_entity.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_custom.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_set.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_set_custom.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_set_windows.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_uv.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_windows.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\resolve_address.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\resolve_address_custom.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\resolve_address_posix.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\resolve_address_windows.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\resource_quota.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\sockaddr_utils.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_factory_posix.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_mutator.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_utils_common_posix.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_utils_linux.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_utils_posix.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_utils_uv.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_utils_windows.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_windows.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_client.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_client_custom.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_client_posix.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_client_windows.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_custom.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_posix.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_server.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_server_custom.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_server_posix.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_server_utils_posix_common.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_server_utils_posix_ifaddrs.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_server_utils_posix_noifaddrs.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_server_windows.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_uv.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_windows.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\time_averaged_stats.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\timer.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\timer_custom.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\timer_generic.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\timer_heap.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\timer_manager.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\timer_uv.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\udp_server.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\unix_sockets_posix.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\unix_sockets_posix_noop.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\wakeup_fd_cv.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\wakeup_fd_eventfd.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\wakeup_fd_nospecial.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\wakeup_fd_pipe.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\wakeup_fd_posix.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\json\json.c"> - <Filter>src\core\lib\json</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\json\json_reader.c"> - <Filter>src\core\lib\json</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\json\json_string.c"> - <Filter>src\core\lib\json</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\json\json_writer.c"> - <Filter>src\core\lib\json</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\slice\b64.c"> - <Filter>src\core\lib\slice</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\slice\percent_encoding.c"> - <Filter>src\core\lib\slice</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\slice\slice.c"> - <Filter>src\core\lib\slice</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\slice\slice_buffer.c"> - <Filter>src\core\lib\slice</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\slice\slice_hash_table.c"> - <Filter>src\core\lib\slice</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\slice\slice_intern.c"> - <Filter>src\core\lib\slice</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\slice\slice_string_helpers.c"> - <Filter>src\core\lib\slice</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\alarm.c"> - <Filter>src\core\lib\surface</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\api_trace.c"> - <Filter>src\core\lib\surface</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\byte_buffer.c"> - <Filter>src\core\lib\surface</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\byte_buffer_reader.c"> - <Filter>src\core\lib\surface</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\call.c"> - <Filter>src\core\lib\surface</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\call_details.c"> - <Filter>src\core\lib\surface</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\call_log_batch.c"> - <Filter>src\core\lib\surface</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\channel.c"> - <Filter>src\core\lib\surface</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\channel_init.c"> - <Filter>src\core\lib\surface</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\channel_ping.c"> - <Filter>src\core\lib\surface</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\channel_stack_type.c"> - <Filter>src\core\lib\surface</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\completion_queue.c"> - <Filter>src\core\lib\surface</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\completion_queue_factory.c"> - <Filter>src\core\lib\surface</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\event_string.c"> - <Filter>src\core\lib\surface</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\lame_client.cc"> - <Filter>src\core\lib\surface</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\metadata_array.c"> - <Filter>src\core\lib\surface</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\server.c"> - <Filter>src\core\lib\surface</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\validate_metadata.c"> - <Filter>src\core\lib\surface</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\version.c"> - <Filter>src\core\lib\surface</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\bdp_estimator.c"> - <Filter>src\core\lib\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\byte_stream.c"> - <Filter>src\core\lib\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\connectivity_state.c"> - <Filter>src\core\lib\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\error_utils.c"> - <Filter>src\core\lib\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\metadata.c"> - <Filter>src\core\lib\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\metadata_batch.c"> - <Filter>src\core\lib\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\pid_controller.c"> - <Filter>src\core\lib\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\service_config.c"> - <Filter>src\core\lib\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\static_metadata.c"> - <Filter>src\core\lib\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\status_conversion.c"> - <Filter>src\core\lib\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\timeout_encoding.c"> - <Filter>src\core\lib\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\transport.c"> - <Filter>src\core\lib\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\transport_op_string.c"> - <Filter>src\core\lib\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\debug\trace.c"> - <Filter>src\core\lib\debug</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\channel_connectivity.c"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\client_channel.c"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\client_channel_factory.c"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\client_channel_plugin.c"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\connector.c"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\http_connect_handshaker.c"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\http_proxy.c"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\lb_policy.c"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\lb_policy_factory.c"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\lb_policy_registry.c"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\parse_address.c"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\proxy_mapper.c"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\proxy_mapper_registry.c"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\resolver.c"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\resolver_factory.c"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\resolver_registry.c"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\retry_throttle.c"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\subchannel.c"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\subchannel_index.c"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\uri_parser.c"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\deadline\deadline_filter.c"> - <Filter>src\core\ext\filters\deadline</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\bin_decoder.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\bin_encoder.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\chttp2_plugin.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\chttp2_transport.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\flow_control.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_data.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_goaway.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_ping.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_rst_stream.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_settings.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_window_update.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\hpack_encoder.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\hpack_parser.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\hpack_table.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\http2_settings.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\huffsyms.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\incoming_metadata.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\parsing.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\stream_lists.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\stream_map.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\varint.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\writing.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\alpn\alpn.c"> - <Filter>src\core\ext\transport\chttp2\alpn</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\http\client\http_client_filter.c"> - <Filter>src\core\ext\filters\http\client</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\http\http_filters_plugin.c"> - <Filter>src\core\ext\filters\http</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\http\message_compress\message_compress_filter.c"> - <Filter>src\core\ext\filters\http\message_compress</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\http\server\http_server_filter.c"> - <Filter>src\core\ext\filters\http\server</Filter> - </ClCompile> - </ItemGroup> - <ItemGroup> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\byte_buffer_reader.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\compression_types.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\connectivity_state.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\exec_ctx_fwd.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\grpc_types.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\propagation_bits.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\slice.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\status.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm_gcc_atomic.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm_gcc_sync.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm_windows.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\gpr_slice.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\gpr_types.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\port_platform.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync_generic.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync_posix.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync_windows.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - </ItemGroup> - <ItemGroup> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\resolver\fake\fake_resolver.h"> - <Filter>src\core\ext\filters\client_channel\resolver\fake</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\test\core\end2end\cq_verifier.h"> - <Filter>test\core\end2end</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\test\core\end2end\fixtures\http_proxy_fixture.h"> - <Filter>test\core\end2end\fixtures</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\test\core\end2end\fixtures\proxy.h"> - <Filter>test\core\end2end\fixtures</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\test\core\iomgr\endpoint_tests.h"> - <Filter>test\core\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\test\core\util\debugger_macros.h"> - <Filter>test\core\util</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\test\core\util\grpc_profiler.h"> - <Filter>test\core\util</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\test\core\util\memory_counters.h"> - <Filter>test\core\util</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\test\core\util\mock_endpoint.h"> - <Filter>test\core\util</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\test\core\util\parse_hexstring.h"> - <Filter>test\core\util</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\test\core\util\passthru_endpoint.h"> - <Filter>test\core\util</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\test\core\util\port.h"> - <Filter>test\core\util</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\test\core\util\port_server_client.h"> - <Filter>test\core\util</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\test\core\util\slice_splitter.h"> - <Filter>test\core\util</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\test\core\util\trickle_endpoint.h"> - <Filter>test\core\util</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\client_channel.h"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\client_channel_factory.h"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\connector.h"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\http_connect_handshaker.h"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\http_proxy.h"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\lb_policy.h"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\lb_policy_factory.h"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\lb_policy_registry.h"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\parse_address.h"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\proxy_mapper.h"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\proxy_mapper_registry.h"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\resolver.h"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\resolver_factory.h"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\resolver_registry.h"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\retry_throttle.h"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\subchannel.h"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\subchannel_index.h"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\uri_parser.h"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\deadline\deadline_filter.h"> - <Filter>src\core\ext\filters\deadline</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\bin_decoder.h"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\bin_encoder.h"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\chttp2_transport.h"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame.h"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_data.h"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_goaway.h"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_ping.h"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_rst_stream.h"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_settings.h"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_window_update.h"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\hpack_encoder.h"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\hpack_parser.h"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\hpack_table.h"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\http2_settings.h"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\huffsyms.h"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\incoming_metadata.h"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\internal.h"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\stream_map.h"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\varint.h"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\alpn\alpn.h"> - <Filter>src\core\ext\transport\chttp2\alpn</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\http\client\http_client_filter.h"> - <Filter>src\core\ext\filters\http\client</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\http\message_compress\message_compress_filter.h"> - <Filter>src\core\ext\filters\http\message_compress</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\http\server\http_server_filter.h"> - <Filter>src\core\ext\filters\http\server</Filter> - </ClInclude> - </ItemGroup> - - <ItemGroup> - <Filter Include="include"> - <UniqueIdentifier>{9793fab6-15ae-1f61-712d-c3d673654d72}</UniqueIdentifier> - </Filter> - <Filter Include="include\grpc"> - <UniqueIdentifier>{c2447106-a6bf-6b88-9ad0-a42b7ac1573c}</UniqueIdentifier> - </Filter> - <Filter Include="include\grpc\impl"> - <UniqueIdentifier>{dba70812-267b-656c-9f8c-636338d3f5c0}</UniqueIdentifier> - </Filter> - <Filter Include="include\grpc\impl\codegen"> - <UniqueIdentifier>{b9e2ddac-f042-3042-ba4b-79ba4445e68c}</UniqueIdentifier> - </Filter> - <Filter Include="src"> - <UniqueIdentifier>{65483377-42fd-137e-3847-00dfd4675db3}</UniqueIdentifier> - </Filter> - <Filter Include="src\core"> - <UniqueIdentifier>{51a516dc-93e3-4dd5-d114-2d06f5df4ad7}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext"> - <UniqueIdentifier>{a927155d-bcf6-0dd8-6d63-be48bcaf617f}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext\filters"> - <UniqueIdentifier>{df16e935-149b-79bf-ecb3-dc3a6b628082}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext\filters\client_channel"> - <UniqueIdentifier>{0fb7c1f0-5e3a-d1df-4c9d-96a677a7f3ee}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext\filters\client_channel\resolver"> - <UniqueIdentifier>{f47477d5-cb4e-e726-04dd-182151e81c71}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext\filters\client_channel\resolver\fake"> - <UniqueIdentifier>{2d280bd0-f4ee-d1f2-4d70-174147ac0dbc}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext\filters\deadline"> - <UniqueIdentifier>{6820a68f-2aa3-8b45-ddea-294656d531f6}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext\filters\http"> - <UniqueIdentifier>{b7df4d88-fa6b-6bd3-579e-b5f086ba6299}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext\filters\http\client"> - <UniqueIdentifier>{37d93a32-6a75-3b9e-35a4-c47f0a2d274a}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext\filters\http\message_compress"> - <UniqueIdentifier>{a4bd6a23-c8e1-4e35-f9eb-6434a86f38f0}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext\filters\http\server"> - <UniqueIdentifier>{2dd536f5-341a-771f-4853-a95522e59224}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext\transport"> - <UniqueIdentifier>{fb32254e-a807-768a-3686-4e87f3bf1e8e}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext\transport\chttp2"> - <UniqueIdentifier>{87c61e56-5090-5e1a-22af-02e3c8bf4a2a}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext\transport\chttp2\alpn"> - <UniqueIdentifier>{e50ce1d1-6b17-dad2-9ef3-46f68d4bee1b}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext\transport\chttp2\transport"> - <UniqueIdentifier>{67007111-23fe-296f-1808-91f2b96a31aa}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\lib"> - <UniqueIdentifier>{e3d002a7-9318-1ac5-4259-e177f58ccc9a}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\lib\channel"> - <UniqueIdentifier>{ac14fd16-a4af-6b22-4226-2d7dabf25409}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\lib\compression"> - <UniqueIdentifier>{24268e45-f6c3-6024-b49a-d01bb9c12d96}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\lib\debug"> - <UniqueIdentifier>{0be401bd-3e26-dead-fdf4-2ce27a1ac3a3}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\lib\http"> - <UniqueIdentifier>{ac2f12e3-ac77-f0a7-d15d-92899e61ed25}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\lib\iomgr"> - <UniqueIdentifier>{9015222c-df04-298f-3f2c-d19babffc180}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\lib\json"> - <UniqueIdentifier>{c3ff117a-aae9-dedd-2f5a-888f0383cbb8}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\lib\slice"> - <UniqueIdentifier>{588ffbfc-2f94-a99f-85b0-4c47ec9f8d13}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\lib\surface"> - <UniqueIdentifier>{732318c6-bb34-9a99-611b-9928db3d4e2a}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\lib\transport"> - <UniqueIdentifier>{2c0ca4a1-38df-329d-eeba-5c5b61dc81a5}</UniqueIdentifier> - </Filter> - <Filter Include="test"> - <UniqueIdentifier>{037c7645-1698-cf2d-4163-525240323101}</UniqueIdentifier> - </Filter> - <Filter Include="test\core"> - <UniqueIdentifier>{85f90d4a-70b4-1b30-8cef-4eadb2a3a04b}</UniqueIdentifier> - </Filter> - <Filter Include="test\core\end2end"> - <UniqueIdentifier>{6387fc42-48d5-0134-a9d4-4477151722bf}</UniqueIdentifier> - </Filter> - <Filter Include="test\core\end2end\fixtures"> - <UniqueIdentifier>{204e56b4-4315-b3bd-4a71-7e1c3ebef3ce}</UniqueIdentifier> - </Filter> - <Filter Include="test\core\iomgr"> - <UniqueIdentifier>{53745d42-f5b1-2381-6b64-146f1234e513}</UniqueIdentifier> - </Filter> - <Filter Include="test\core\util"> - <UniqueIdentifier>{31b30beb-baf0-3979-2a54-560a16814cf9}</UniqueIdentifier> - </Filter> - </ItemGroup> -</Project> - diff --git a/vsprojects/vcxproj/grpc_unsecure/grpc_unsecure.vcxproj b/vsprojects/vcxproj/grpc_unsecure/grpc_unsecure.vcxproj deleted file mode 100644 index 0575d47622..0000000000 --- a/vsprojects/vcxproj/grpc_unsecure/grpc_unsecure.vcxproj +++ /dev/null @@ -1,977 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup Label="ProjectConfigurations"> - <ProjectConfiguration Include="Debug-DLL|Win32"> - <Configuration>Debug-DLL</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Debug-DLL|x64"> - <Configuration>Debug-DLL</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Release-DLL|Win32"> - <Configuration>Release-DLL</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Release-DLL|x64"> - <Configuration>Release-DLL</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Debug|Win32"> - <Configuration>Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Debug|x64"> - <Configuration>Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Release|Win32"> - <Configuration>Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Release|x64"> - <Configuration>Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - </ItemGroup> - <PropertyGroup Label="Globals"> - <ProjectGuid>{46CEDFFF-9692-456A-AA24-38B5D6BCF4C5}</ProjectGuid> - <IgnoreWarnIntDirInTempDetected>true</IgnoreWarnIntDirInTempDetected> - <IntDir>$(SolutionDir)IntDir\$(MSBuildProjectName)\</IntDir> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> - <PropertyGroup Condition="'$(VisualStudioVersion)' == '10.0'" Label="Configuration"> - <PlatformToolset>v100</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(VisualStudioVersion)' == '11.0'" Label="Configuration"> - <PlatformToolset>v110</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(VisualStudioVersion)' == '12.0'" Label="Configuration"> - <PlatformToolset>v120</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(VisualStudioVersion)' == '14.0'" Label="Configuration"> - <PlatformToolset>v140</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)'=='Debug'" Label="Configuration"> - <ConfigurationType>StaticLibrary</ConfigurationType> - <UseDebugLibraries>true</UseDebugLibraries> - <CharacterSet>Unicode</CharacterSet> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)'=='Release'" Label="Configuration"> - <ConfigurationType>StaticLibrary</ConfigurationType> - <UseDebugLibraries>false</UseDebugLibraries> - <WholeProgramOptimization>true</WholeProgramOptimization> - <CharacterSet>Unicode</CharacterSet> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)'=='Debug-DLL'" Label="Configuration"> - <ConfigurationType>StaticLibrary</ConfigurationType> - <UseDebugLibraries>true</UseDebugLibraries> - <CharacterSet>Unicode</CharacterSet> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)'=='Release-DLL'" Label="Configuration"> - <ConfigurationType>StaticLibrary</ConfigurationType> - <UseDebugLibraries>false</UseDebugLibraries> - <WholeProgramOptimization>true</WholeProgramOptimization> - <CharacterSet>Unicode</CharacterSet> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> - <ImportGroup Label="ExtensionSettings"> - </ImportGroup> - <ImportGroup Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - <Import Project="$(SolutionDir)\..\vsprojects\global.props" /> - <Import Project="$(SolutionDir)\..\vsprojects\winsock.props" /> - </ImportGroup> - <PropertyGroup Label="UserMacros" /> - <PropertyGroup Condition="'$(Configuration)'=='Debug'"> - <TargetName>grpc_unsecure</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)'=='Release'"> - <TargetName>grpc_unsecure</TargetName> - </PropertyGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug-DLL|Win32'"> - <ClCompile> - <PrecompiledHeader>NotUsing</PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <Optimization>Disabled</Optimization> - <PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <SDLCheck>true</SDLCheck> - <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> - <TreatWarningAsError>true</TreatWarningAsError> - <DebugInformationFormat Condition="$(Jenkins)">None</DebugInformationFormat> - <MinimalRebuild Condition="$(Jenkins)">false</MinimalRebuild> - </ClCompile> - <Link> - <SubSystem>Windows</SubSystem> - <GenerateDebugInformation Condition="!$(Jenkins)">true</GenerateDebugInformation> - <GenerateDebugInformation Condition="$(Jenkins)">false</GenerateDebugInformation> - </Link> - </ItemDefinitionGroup> - - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug-DLL|x64'"> - <ClCompile> - <PrecompiledHeader>NotUsing</PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <Optimization>Disabled</Optimization> - <PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <SDLCheck>true</SDLCheck> - <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> - <TreatWarningAsError>true</TreatWarningAsError> - <DebugInformationFormat Condition="$(Jenkins)">None</DebugInformationFormat> - <MinimalRebuild Condition="$(Jenkins)">false</MinimalRebuild> - </ClCompile> - <Link> - <SubSystem>Windows</SubSystem> - <GenerateDebugInformation Condition="!$(Jenkins)">true</GenerateDebugInformation> - <GenerateDebugInformation Condition="$(Jenkins)">false</GenerateDebugInformation> - </Link> - </ItemDefinitionGroup> - - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release-DLL|Win32'"> - <ClCompile> - <PrecompiledHeader>NotUsing</PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <Optimization>MaxSpeed</Optimization> - <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <FunctionLevelLinking>true</FunctionLevelLinking> - <IntrinsicFunctions>true</IntrinsicFunctions> - <SDLCheck>true</SDLCheck> - <RuntimeLibrary>MultiThreaded</RuntimeLibrary> - <TreatWarningAsError>true</TreatWarningAsError> - <DebugInformationFormat Condition="$(Jenkins)">None</DebugInformationFormat> - <MinimalRebuild Condition="$(Jenkins)">false</MinimalRebuild> - </ClCompile> - <Link> - <SubSystem>Windows</SubSystem> - <GenerateDebugInformation Condition="!$(Jenkins)">true</GenerateDebugInformation> - <GenerateDebugInformation Condition="$(Jenkins)">false</GenerateDebugInformation> - <EnableCOMDATFolding>true</EnableCOMDATFolding> - <OptimizeReferences>true</OptimizeReferences> - </Link> - </ItemDefinitionGroup> - - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release-DLL|x64'"> - <ClCompile> - <PrecompiledHeader>NotUsing</PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <Optimization>MaxSpeed</Optimization> - <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <FunctionLevelLinking>true</FunctionLevelLinking> - <IntrinsicFunctions>true</IntrinsicFunctions> - <SDLCheck>true</SDLCheck> - <RuntimeLibrary>MultiThreaded</RuntimeLibrary> - <TreatWarningAsError>true</TreatWarningAsError> - <DebugInformationFormat Condition="$(Jenkins)">None</DebugInformationFormat> - <MinimalRebuild Condition="$(Jenkins)">false</MinimalRebuild> - </ClCompile> - <Link> - <SubSystem>Windows</SubSystem> - <GenerateDebugInformation Condition="!$(Jenkins)">true</GenerateDebugInformation> - <GenerateDebugInformation Condition="$(Jenkins)">false</GenerateDebugInformation> - <EnableCOMDATFolding>true</EnableCOMDATFolding> - <OptimizeReferences>true</OptimizeReferences> - </Link> - </ItemDefinitionGroup> - - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> - <ClCompile> - <PrecompiledHeader>NotUsing</PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <Optimization>Disabled</Optimization> - <PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <SDLCheck>true</SDLCheck> - <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> - <TreatWarningAsError>true</TreatWarningAsError> - <DebugInformationFormat Condition="$(Jenkins)">None</DebugInformationFormat> - <MinimalRebuild Condition="$(Jenkins)">false</MinimalRebuild> - </ClCompile> - <Link> - <SubSystem>Windows</SubSystem> - <GenerateDebugInformation Condition="!$(Jenkins)">true</GenerateDebugInformation> - <GenerateDebugInformation Condition="$(Jenkins)">false</GenerateDebugInformation> - </Link> - </ItemDefinitionGroup> - - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> - <ClCompile> - <PrecompiledHeader>NotUsing</PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <Optimization>Disabled</Optimization> - <PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <SDLCheck>true</SDLCheck> - <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> - <TreatWarningAsError>true</TreatWarningAsError> - <DebugInformationFormat Condition="$(Jenkins)">None</DebugInformationFormat> - <MinimalRebuild Condition="$(Jenkins)">false</MinimalRebuild> - </ClCompile> - <Link> - <SubSystem>Windows</SubSystem> - <GenerateDebugInformation Condition="!$(Jenkins)">true</GenerateDebugInformation> - <GenerateDebugInformation Condition="$(Jenkins)">false</GenerateDebugInformation> - </Link> - </ItemDefinitionGroup> - - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> - <ClCompile> - <PrecompiledHeader>NotUsing</PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <Optimization>MaxSpeed</Optimization> - <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <FunctionLevelLinking>true</FunctionLevelLinking> - <IntrinsicFunctions>true</IntrinsicFunctions> - <SDLCheck>true</SDLCheck> - <RuntimeLibrary>MultiThreaded</RuntimeLibrary> - <TreatWarningAsError>true</TreatWarningAsError> - <DebugInformationFormat Condition="$(Jenkins)">None</DebugInformationFormat> - <MinimalRebuild Condition="$(Jenkins)">false</MinimalRebuild> - </ClCompile> - <Link> - <SubSystem>Windows</SubSystem> - <GenerateDebugInformation Condition="!$(Jenkins)">true</GenerateDebugInformation> - <GenerateDebugInformation Condition="$(Jenkins)">false</GenerateDebugInformation> - <EnableCOMDATFolding>true</EnableCOMDATFolding> - <OptimizeReferences>true</OptimizeReferences> - </Link> - </ItemDefinitionGroup> - - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> - <ClCompile> - <PrecompiledHeader>NotUsing</PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <Optimization>MaxSpeed</Optimization> - <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <FunctionLevelLinking>true</FunctionLevelLinking> - <IntrinsicFunctions>true</IntrinsicFunctions> - <SDLCheck>true</SDLCheck> - <RuntimeLibrary>MultiThreaded</RuntimeLibrary> - <TreatWarningAsError>true</TreatWarningAsError> - <DebugInformationFormat Condition="$(Jenkins)">None</DebugInformationFormat> - <MinimalRebuild Condition="$(Jenkins)">false</MinimalRebuild> - </ClCompile> - <Link> - <SubSystem>Windows</SubSystem> - <GenerateDebugInformation Condition="!$(Jenkins)">true</GenerateDebugInformation> - <GenerateDebugInformation Condition="$(Jenkins)">false</GenerateDebugInformation> - <EnableCOMDATFolding>true</EnableCOMDATFolding> - <OptimizeReferences>true</OptimizeReferences> - </Link> - </ItemDefinitionGroup> - - <ItemGroup> - <ClInclude Include="$(SolutionDir)\..\include\grpc\byte_buffer.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\byte_buffer_reader.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\compression.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\grpc.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\grpc_posix.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\grpc_security_constants.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\load_reporting.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\slice.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\slice_buffer.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\status.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\workaround_list.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\byte_buffer_reader.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\compression_types.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\connectivity_state.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\exec_ctx_fwd.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\grpc_types.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\propagation_bits.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\slice.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\status.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm_gcc_atomic.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm_gcc_sync.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm_windows.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\gpr_slice.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\gpr_types.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\port_platform.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync_generic.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync_posix.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync_windows.h" /> - <ClInclude Include="$(SolutionDir)\..\include\grpc\census.h" /> - </ItemGroup> - <ItemGroup> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\channel_args.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\channel_stack.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\channel_stack_builder.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\connected_channel.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\context.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\handshaker.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\handshaker_factory.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\handshaker_registry.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\compression\algorithm_metadata.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\compression\message_compress.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\compression\stream_compression.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\debug\stats.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\debug\stats_data.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\http\format_request.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\http\httpcli.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\http\parser.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\closure.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\combiner.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\endpoint.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\endpoint_pair.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\error.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\error_internal.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_epoll1_linux.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_epoll_limited_pollers_linux.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_epoll_thread_pool_linux.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_epollex_linux.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_epollsig_linux.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_poll_posix.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_posix.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\exec_ctx.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\executor.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\iocp_windows.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr_custom.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr_internal.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr_posix.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\is_epollexclusive_available.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\load_file.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\lockfree_event.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\network_status_tracker.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\polling_entity.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_set.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_set_windows.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_uv.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_windows.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\port.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\resolve_address.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\resource_quota.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\sockaddr.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\sockaddr_posix.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\sockaddr_utils.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\sockaddr_windows.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_factory_posix.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_mutator.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_utils.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_utils_posix.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_windows.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\sys_epoll_wrapper.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_client.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_client_posix.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_custom.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_posix.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_server.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_server_utils_posix.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_uv.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_windows.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\time_averaged_stats.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\timer.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\timer_custom.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\timer_heap.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\timer_manager.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\udp_server.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\unix_sockets_posix.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\wakeup_fd_cv.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\wakeup_fd_pipe.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\wakeup_fd_posix.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\json\json.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\json\json_common.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\json\json_reader.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\json\json_writer.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\slice\b64.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\slice\percent_encoding.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\slice\slice_hash_table.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\slice\slice_internal.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\slice\slice_string_helpers.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\api_trace.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\call.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\call_test_only.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\channel.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\channel_init.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\channel_stack_type.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\completion_queue.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\completion_queue_factory.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\event_string.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\init.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\lame_client.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\server.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\validate_metadata.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\bdp_estimator.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\byte_stream.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\connectivity_state.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\error_utils.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\http2_errors.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\metadata.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\metadata_batch.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\pid_controller.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\service_config.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\static_metadata.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\status_conversion.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\timeout_encoding.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\transport.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\transport_impl.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\debug\trace.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\bin_decoder.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\bin_encoder.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\chttp2_transport.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_data.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_goaway.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_ping.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_rst_stream.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_settings.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_window_update.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\hpack_encoder.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\hpack_parser.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\hpack_table.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\http2_settings.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\huffsyms.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\incoming_metadata.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\internal.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\stream_map.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\varint.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\alpn\alpn.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\http\client\http_client_filter.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\http\message_compress\message_compress_filter.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\http\server\http_server_filter.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\server\chttp2_server.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\client\chttp2_connector.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\client_channel.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\client_channel_factory.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\connector.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\http_connect_handshaker.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\http_proxy.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\lb_policy.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\lb_policy_factory.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\lb_policy_registry.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\parse_address.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\proxy_mapper.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\proxy_mapper_registry.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\resolver.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\resolver_factory.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\resolver_registry.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\retry_throttle.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\subchannel.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\subchannel_index.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\uri_parser.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\deadline\deadline_filter.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\inproc\inproc_transport.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\resolver\dns\c_ares\grpc_ares_ev_driver.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\resolver\dns\c_ares\grpc_ares_wrapper.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\resolver\fake\fake_resolver.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\load_reporting\load_reporting.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\load_reporting\load_reporting_filter.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\lb_policy\grpclb\client_load_reporting_filter.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\lb_policy\grpclb\grpclb.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\lb_policy\grpclb\grpclb_channel.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\lb_policy\grpclb\grpclb_client_stats.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\lb_policy\grpclb\load_balancer_api.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\lb_policy\grpclb\proto\grpc\lb\v1\load_balancer.pb.h" /> - <ClInclude Include="$(SolutionDir)\..\third_party\nanopb\pb.h" /> - <ClInclude Include="$(SolutionDir)\..\third_party\nanopb\pb_common.h" /> - <ClInclude Include="$(SolutionDir)\..\third_party\nanopb\pb_decode.h" /> - <ClInclude Include="$(SolutionDir)\..\third_party\nanopb\pb_encode.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\census\aggregation.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\census\base_resources.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\census\census_interface.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\census\census_rpc_stats.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\census\gen\census.pb.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\census\gen\trace_context.pb.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\census\grpc_filter.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\census\intrusive_hash_map.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\census\intrusive_hash_map_internal.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\census\mlog.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\census\resource.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\census\rpc_metric_id.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\census\trace_context.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\census\trace_label.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\census\trace_propagation.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\census\trace_status.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\census\trace_string.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\census\tracing.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\max_age\max_age_filter.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\message_size\message_size_filter.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\workarounds\workaround_cronet_compression_filter.h" /> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\workarounds\workaround_utils.h" /> - </ItemGroup> - <ItemGroup> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\init.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\init_unsecure.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\channel_args.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\channel_stack.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\channel_stack_builder.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\connected_channel.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\handshaker.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\handshaker_factory.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\handshaker_registry.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\compression\compression.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\compression\message_compress.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\compression\stream_compression.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\debug\stats.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\debug\stats_data.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\http\format_request.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\http\httpcli.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\http\parser.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\closure.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\combiner.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\endpoint.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\endpoint_pair_posix.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\endpoint_pair_uv.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\endpoint_pair_windows.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\error.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_epoll1_linux.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_epoll_limited_pollers_linux.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_epoll_thread_pool_linux.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_epollex_linux.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_epollsig_linux.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_poll_posix.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_posix.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_windows.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\exec_ctx.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\executor.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\iocp_windows.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr_custom.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr_internal.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr_posix.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr_windows.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\is_epollexclusive_available.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\load_file.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\lockfree_event.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\network_status_tracker.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\polling_entity.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_custom.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_set.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_set_custom.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_set_windows.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_uv.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_windows.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\resolve_address.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\resolve_address_custom.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\resolve_address_posix.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\resolve_address_windows.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\resource_quota.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\sockaddr_utils.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_factory_posix.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_mutator.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_utils_common_posix.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_utils_linux.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_utils_posix.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_utils_uv.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_utils_windows.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_windows.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_client.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_client_custom.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_client_posix.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_client_windows.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_custom.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_posix.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_server.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_server_custom.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_server_posix.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_server_utils_posix_common.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_server_utils_posix_ifaddrs.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_server_utils_posix_noifaddrs.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_server_windows.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_uv.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_windows.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\time_averaged_stats.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\timer.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\timer_custom.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\timer_generic.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\timer_heap.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\timer_manager.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\timer_uv.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\udp_server.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\unix_sockets_posix.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\unix_sockets_posix_noop.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\wakeup_fd_cv.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\wakeup_fd_eventfd.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\wakeup_fd_nospecial.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\wakeup_fd_pipe.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\wakeup_fd_posix.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\json\json.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\json\json_reader.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\json\json_string.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\json\json_writer.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\slice\b64.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\slice\percent_encoding.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\slice\slice.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\slice\slice_buffer.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\slice\slice_hash_table.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\slice\slice_intern.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\slice\slice_string_helpers.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\alarm.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\api_trace.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\byte_buffer.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\byte_buffer_reader.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\call.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\call_details.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\call_log_batch.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\channel.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\channel_init.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\channel_ping.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\channel_stack_type.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\completion_queue.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\completion_queue_factory.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\event_string.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\lame_client.cc"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\metadata_array.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\server.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\validate_metadata.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\version.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\bdp_estimator.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\byte_stream.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\connectivity_state.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\error_utils.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\metadata.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\metadata_batch.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\pid_controller.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\service_config.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\static_metadata.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\status_conversion.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\timeout_encoding.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\transport.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\transport_op_string.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\debug\trace.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\server\insecure\server_chttp2.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\server\insecure\server_chttp2_posix.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\bin_decoder.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\bin_encoder.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\chttp2_plugin.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\chttp2_transport.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_data.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_goaway.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_ping.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_rst_stream.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_settings.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_window_update.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\hpack_encoder.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\hpack_parser.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\hpack_table.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\http2_settings.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\huffsyms.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\incoming_metadata.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\parsing.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\stream_lists.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\stream_map.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\varint.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\writing.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\alpn\alpn.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\http\client\http_client_filter.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\http\http_filters_plugin.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\http\message_compress\message_compress_filter.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\http\server\http_server_filter.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\server\chttp2_server.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\client\insecure\channel_create.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\client\insecure\channel_create_posix.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\client\chttp2_connector.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\channel_connectivity.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\client_channel.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\client_channel_factory.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\client_channel_plugin.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\connector.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\http_connect_handshaker.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\http_proxy.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\lb_policy.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\lb_policy_factory.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\lb_policy_registry.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\parse_address.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\proxy_mapper.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\proxy_mapper_registry.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\resolver.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\resolver_factory.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\resolver_registry.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\retry_throttle.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\subchannel.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\subchannel_index.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\uri_parser.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\deadline\deadline_filter.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\inproc\inproc_plugin.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\inproc\inproc_transport.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\resolver\dns\c_ares\dns_resolver_ares.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\resolver\dns\c_ares\grpc_ares_ev_driver_posix.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\resolver\dns\c_ares\grpc_ares_wrapper.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\resolver\dns\c_ares\grpc_ares_wrapper_fallback.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\resolver\dns\native\dns_resolver.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\resolver\sockaddr\sockaddr_resolver.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\resolver\fake\fake_resolver.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\load_reporting\load_reporting.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\load_reporting\load_reporting_filter.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\lb_policy\grpclb\client_load_reporting_filter.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\lb_policy\grpclb\grpclb.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\lb_policy\grpclb\grpclb_channel.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\lb_policy\grpclb\grpclb_client_stats.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\lb_policy\grpclb\load_balancer_api.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\lb_policy\grpclb\proto\grpc\lb\v1\load_balancer.pb.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\third_party\nanopb\pb_common.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\third_party\nanopb\pb_decode.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\third_party\nanopb\pb_encode.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\lb_policy\pick_first\pick_first.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\lb_policy\round_robin\round_robin.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\census\base_resources.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\census\context.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\census\gen\census.pb.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\census\gen\trace_context.pb.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\census\grpc_context.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\census\grpc_filter.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\census\grpc_plugin.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\census\initialize.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\census\intrusive_hash_map.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\census\mlog.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\census\operation.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\census\placeholders.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\census\resource.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\census\trace_context.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\census\tracing.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\max_age\max_age_filter.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\message_size\message_size_filter.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\workarounds\workaround_cronet_compression_filter.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\workarounds\workaround_utils.c"> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\plugin_registry\grpc_unsecure_plugin_registry.c"> - </ClCompile> - </ItemGroup> - <ItemGroup> - <ProjectReference Include="$(SolutionDir)\..\vsprojects\vcxproj\.\gpr\gpr.vcxproj"> - <Project>{B23D3D1A-9438-4EDA-BEB6-9A0A03D17792}</Project> - </ProjectReference> - </ItemGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> - <ImportGroup Label="ExtensionTargets"> - </ImportGroup> - <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> - <PropertyGroup> - <ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText> - </PropertyGroup> - </Target> -</Project> - diff --git a/vsprojects/vcxproj/grpc_unsecure/grpc_unsecure.vcxproj.filters b/vsprojects/vcxproj/grpc_unsecure/grpc_unsecure.vcxproj.filters deleted file mode 100644 index 4c25674b1e..0000000000 --- a/vsprojects/vcxproj/grpc_unsecure/grpc_unsecure.vcxproj.filters +++ /dev/null @@ -1,1570 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\init.c"> - <Filter>src\core\lib\surface</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\init_unsecure.c"> - <Filter>src\core\lib\surface</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\channel_args.c"> - <Filter>src\core\lib\channel</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\channel_stack.c"> - <Filter>src\core\lib\channel</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\channel_stack_builder.c"> - <Filter>src\core\lib\channel</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\connected_channel.c"> - <Filter>src\core\lib\channel</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\handshaker.c"> - <Filter>src\core\lib\channel</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\handshaker_factory.c"> - <Filter>src\core\lib\channel</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\handshaker_registry.c"> - <Filter>src\core\lib\channel</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\compression\compression.c"> - <Filter>src\core\lib\compression</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\compression\message_compress.c"> - <Filter>src\core\lib\compression</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\compression\stream_compression.c"> - <Filter>src\core\lib\compression</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\debug\stats.c"> - <Filter>src\core\lib\debug</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\debug\stats_data.c"> - <Filter>src\core\lib\debug</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\http\format_request.c"> - <Filter>src\core\lib\http</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\http\httpcli.c"> - <Filter>src\core\lib\http</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\http\parser.c"> - <Filter>src\core\lib\http</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\closure.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\combiner.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\endpoint.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\endpoint_pair_posix.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\endpoint_pair_uv.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\endpoint_pair_windows.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\error.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_epoll1_linux.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_epoll_limited_pollers_linux.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_epoll_thread_pool_linux.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_epollex_linux.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_epollsig_linux.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_poll_posix.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_posix.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_windows.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\exec_ctx.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\executor.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\iocp_windows.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr_custom.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr_internal.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr_posix.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr_windows.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\is_epollexclusive_available.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\load_file.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\lockfree_event.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\network_status_tracker.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\polling_entity.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_custom.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_set.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_set_custom.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_set_windows.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_uv.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_windows.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\resolve_address.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\resolve_address_custom.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\resolve_address_posix.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\resolve_address_windows.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\resource_quota.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\sockaddr_utils.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_factory_posix.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_mutator.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_utils_common_posix.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_utils_linux.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_utils_posix.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_utils_uv.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_utils_windows.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_windows.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_client.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_client_custom.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_client_posix.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_client_windows.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_custom.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_posix.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_server.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_server_custom.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_server_posix.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_server_utils_posix_common.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_server_utils_posix_ifaddrs.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_server_utils_posix_noifaddrs.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_server_windows.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_uv.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_windows.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\time_averaged_stats.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\timer.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\timer_custom.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\timer_generic.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\timer_heap.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\timer_manager.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\timer_uv.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\udp_server.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\unix_sockets_posix.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\unix_sockets_posix_noop.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\wakeup_fd_cv.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\wakeup_fd_eventfd.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\wakeup_fd_nospecial.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\wakeup_fd_pipe.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\wakeup_fd_posix.c"> - <Filter>src\core\lib\iomgr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\json\json.c"> - <Filter>src\core\lib\json</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\json\json_reader.c"> - <Filter>src\core\lib\json</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\json\json_string.c"> - <Filter>src\core\lib\json</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\json\json_writer.c"> - <Filter>src\core\lib\json</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\slice\b64.c"> - <Filter>src\core\lib\slice</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\slice\percent_encoding.c"> - <Filter>src\core\lib\slice</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\slice\slice.c"> - <Filter>src\core\lib\slice</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\slice\slice_buffer.c"> - <Filter>src\core\lib\slice</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\slice\slice_hash_table.c"> - <Filter>src\core\lib\slice</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\slice\slice_intern.c"> - <Filter>src\core\lib\slice</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\slice\slice_string_helpers.c"> - <Filter>src\core\lib\slice</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\alarm.c"> - <Filter>src\core\lib\surface</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\api_trace.c"> - <Filter>src\core\lib\surface</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\byte_buffer.c"> - <Filter>src\core\lib\surface</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\byte_buffer_reader.c"> - <Filter>src\core\lib\surface</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\call.c"> - <Filter>src\core\lib\surface</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\call_details.c"> - <Filter>src\core\lib\surface</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\call_log_batch.c"> - <Filter>src\core\lib\surface</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\channel.c"> - <Filter>src\core\lib\surface</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\channel_init.c"> - <Filter>src\core\lib\surface</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\channel_ping.c"> - <Filter>src\core\lib\surface</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\channel_stack_type.c"> - <Filter>src\core\lib\surface</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\completion_queue.c"> - <Filter>src\core\lib\surface</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\completion_queue_factory.c"> - <Filter>src\core\lib\surface</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\event_string.c"> - <Filter>src\core\lib\surface</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\lame_client.cc"> - <Filter>src\core\lib\surface</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\metadata_array.c"> - <Filter>src\core\lib\surface</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\server.c"> - <Filter>src\core\lib\surface</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\validate_metadata.c"> - <Filter>src\core\lib\surface</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\version.c"> - <Filter>src\core\lib\surface</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\bdp_estimator.c"> - <Filter>src\core\lib\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\byte_stream.c"> - <Filter>src\core\lib\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\connectivity_state.c"> - <Filter>src\core\lib\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\error_utils.c"> - <Filter>src\core\lib\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\metadata.c"> - <Filter>src\core\lib\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\metadata_batch.c"> - <Filter>src\core\lib\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\pid_controller.c"> - <Filter>src\core\lib\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\service_config.c"> - <Filter>src\core\lib\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\static_metadata.c"> - <Filter>src\core\lib\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\status_conversion.c"> - <Filter>src\core\lib\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\timeout_encoding.c"> - <Filter>src\core\lib\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\transport.c"> - <Filter>src\core\lib\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\transport_op_string.c"> - <Filter>src\core\lib\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\lib\debug\trace.c"> - <Filter>src\core\lib\debug</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\server\insecure\server_chttp2.c"> - <Filter>src\core\ext\transport\chttp2\server\insecure</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\server\insecure\server_chttp2_posix.c"> - <Filter>src\core\ext\transport\chttp2\server\insecure</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\bin_decoder.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\bin_encoder.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\chttp2_plugin.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\chttp2_transport.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_data.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_goaway.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_ping.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_rst_stream.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_settings.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_window_update.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\hpack_encoder.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\hpack_parser.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\hpack_table.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\http2_settings.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\huffsyms.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\incoming_metadata.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\parsing.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\stream_lists.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\stream_map.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\varint.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\writing.c"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\alpn\alpn.c"> - <Filter>src\core\ext\transport\chttp2\alpn</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\http\client\http_client_filter.c"> - <Filter>src\core\ext\filters\http\client</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\http\http_filters_plugin.c"> - <Filter>src\core\ext\filters\http</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\http\message_compress\message_compress_filter.c"> - <Filter>src\core\ext\filters\http\message_compress</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\http\server\http_server_filter.c"> - <Filter>src\core\ext\filters\http\server</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\server\chttp2_server.c"> - <Filter>src\core\ext\transport\chttp2\server</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\client\insecure\channel_create.c"> - <Filter>src\core\ext\transport\chttp2\client\insecure</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\client\insecure\channel_create_posix.c"> - <Filter>src\core\ext\transport\chttp2\client\insecure</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\client\chttp2_connector.c"> - <Filter>src\core\ext\transport\chttp2\client</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\channel_connectivity.c"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\client_channel.c"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\client_channel_factory.c"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\client_channel_plugin.c"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\connector.c"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\http_connect_handshaker.c"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\http_proxy.c"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\lb_policy.c"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\lb_policy_factory.c"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\lb_policy_registry.c"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\parse_address.c"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\proxy_mapper.c"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\proxy_mapper_registry.c"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\resolver.c"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\resolver_factory.c"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\resolver_registry.c"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\retry_throttle.c"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\subchannel.c"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\subchannel_index.c"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\uri_parser.c"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\deadline\deadline_filter.c"> - <Filter>src\core\ext\filters\deadline</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\inproc\inproc_plugin.c"> - <Filter>src\core\ext\transport\inproc</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\transport\inproc\inproc_transport.c"> - <Filter>src\core\ext\transport\inproc</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\resolver\dns\c_ares\dns_resolver_ares.c"> - <Filter>src\core\ext\filters\client_channel\resolver\dns\c_ares</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\resolver\dns\c_ares\grpc_ares_ev_driver_posix.c"> - <Filter>src\core\ext\filters\client_channel\resolver\dns\c_ares</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\resolver\dns\c_ares\grpc_ares_wrapper.c"> - <Filter>src\core\ext\filters\client_channel\resolver\dns\c_ares</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\resolver\dns\c_ares\grpc_ares_wrapper_fallback.c"> - <Filter>src\core\ext\filters\client_channel\resolver\dns\c_ares</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\resolver\dns\native\dns_resolver.c"> - <Filter>src\core\ext\filters\client_channel\resolver\dns\native</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\resolver\sockaddr\sockaddr_resolver.c"> - <Filter>src\core\ext\filters\client_channel\resolver\sockaddr</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\resolver\fake\fake_resolver.c"> - <Filter>src\core\ext\filters\client_channel\resolver\fake</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\load_reporting\load_reporting.c"> - <Filter>src\core\ext\filters\load_reporting</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\load_reporting\load_reporting_filter.c"> - <Filter>src\core\ext\filters\load_reporting</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\lb_policy\grpclb\client_load_reporting_filter.c"> - <Filter>src\core\ext\filters\client_channel\lb_policy\grpclb</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\lb_policy\grpclb\grpclb.c"> - <Filter>src\core\ext\filters\client_channel\lb_policy\grpclb</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\lb_policy\grpclb\grpclb_channel.c"> - <Filter>src\core\ext\filters\client_channel\lb_policy\grpclb</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\lb_policy\grpclb\grpclb_client_stats.c"> - <Filter>src\core\ext\filters\client_channel\lb_policy\grpclb</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\lb_policy\grpclb\load_balancer_api.c"> - <Filter>src\core\ext\filters\client_channel\lb_policy\grpclb</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\lb_policy\grpclb\proto\grpc\lb\v1\load_balancer.pb.c"> - <Filter>src\core\ext\filters\client_channel\lb_policy\grpclb\proto\grpc\lb\v1</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\third_party\nanopb\pb_common.c"> - <Filter>third_party\nanopb</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\third_party\nanopb\pb_decode.c"> - <Filter>third_party\nanopb</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\third_party\nanopb\pb_encode.c"> - <Filter>third_party\nanopb</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\lb_policy\pick_first\pick_first.c"> - <Filter>src\core\ext\filters\client_channel\lb_policy\pick_first</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\lb_policy\round_robin\round_robin.c"> - <Filter>src\core\ext\filters\client_channel\lb_policy\round_robin</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\census\base_resources.c"> - <Filter>src\core\ext\census</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\census\context.c"> - <Filter>src\core\ext\census</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\census\gen\census.pb.c"> - <Filter>src\core\ext\census\gen</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\census\gen\trace_context.pb.c"> - <Filter>src\core\ext\census\gen</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\census\grpc_context.c"> - <Filter>src\core\ext\census</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\census\grpc_filter.c"> - <Filter>src\core\ext\census</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\census\grpc_plugin.c"> - <Filter>src\core\ext\census</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\census\initialize.c"> - <Filter>src\core\ext\census</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\census\intrusive_hash_map.c"> - <Filter>src\core\ext\census</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\census\mlog.c"> - <Filter>src\core\ext\census</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\census\operation.c"> - <Filter>src\core\ext\census</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\census\placeholders.c"> - <Filter>src\core\ext\census</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\census\resource.c"> - <Filter>src\core\ext\census</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\census\trace_context.c"> - <Filter>src\core\ext\census</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\census\tracing.c"> - <Filter>src\core\ext\census</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\max_age\max_age_filter.c"> - <Filter>src\core\ext\filters\max_age</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\message_size\message_size_filter.c"> - <Filter>src\core\ext\filters\message_size</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\workarounds\workaround_cronet_compression_filter.c"> - <Filter>src\core\ext\filters\workarounds</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\ext\filters\workarounds\workaround_utils.c"> - <Filter>src\core\ext\filters\workarounds</Filter> - </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\core\plugin_registry\grpc_unsecure_plugin_registry.c"> - <Filter>src\core\plugin_registry</Filter> - </ClCompile> - </ItemGroup> - <ItemGroup> - <ClInclude Include="$(SolutionDir)\..\include\grpc\byte_buffer.h"> - <Filter>include\grpc</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\byte_buffer_reader.h"> - <Filter>include\grpc</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\compression.h"> - <Filter>include\grpc</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\grpc.h"> - <Filter>include\grpc</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\grpc_posix.h"> - <Filter>include\grpc</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\grpc_security_constants.h"> - <Filter>include\grpc</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\load_reporting.h"> - <Filter>include\grpc</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\slice.h"> - <Filter>include\grpc</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\slice_buffer.h"> - <Filter>include\grpc</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\status.h"> - <Filter>include\grpc</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\support\workaround_list.h"> - <Filter>include\grpc\support</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\byte_buffer_reader.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\compression_types.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\connectivity_state.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\exec_ctx_fwd.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\grpc_types.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\propagation_bits.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\slice.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\status.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm_gcc_atomic.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm_gcc_sync.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\atm_windows.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\gpr_slice.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\gpr_types.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\port_platform.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync_generic.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync_posix.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\sync_windows.h"> - <Filter>include\grpc\impl\codegen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\include\grpc\census.h"> - <Filter>include\grpc</Filter> - </ClInclude> - </ItemGroup> - <ItemGroup> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\channel_args.h"> - <Filter>src\core\lib\channel</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\channel_stack.h"> - <Filter>src\core\lib\channel</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\channel_stack_builder.h"> - <Filter>src\core\lib\channel</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\connected_channel.h"> - <Filter>src\core\lib\channel</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\context.h"> - <Filter>src\core\lib\channel</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\handshaker.h"> - <Filter>src\core\lib\channel</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\handshaker_factory.h"> - <Filter>src\core\lib\channel</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\handshaker_registry.h"> - <Filter>src\core\lib\channel</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\compression\algorithm_metadata.h"> - <Filter>src\core\lib\compression</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\compression\message_compress.h"> - <Filter>src\core\lib\compression</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\compression\stream_compression.h"> - <Filter>src\core\lib\compression</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\debug\stats.h"> - <Filter>src\core\lib\debug</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\debug\stats_data.h"> - <Filter>src\core\lib\debug</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\http\format_request.h"> - <Filter>src\core\lib\http</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\http\httpcli.h"> - <Filter>src\core\lib\http</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\http\parser.h"> - <Filter>src\core\lib\http</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\closure.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\combiner.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\endpoint.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\endpoint_pair.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\error.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\error_internal.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_epoll1_linux.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_epoll_limited_pollers_linux.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_epoll_thread_pool_linux.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_epollex_linux.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_epollsig_linux.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_poll_posix.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\ev_posix.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\exec_ctx.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\executor.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\iocp_windows.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr_custom.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr_internal.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr_posix.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\is_epollexclusive_available.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\load_file.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\lockfree_event.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\network_status_tracker.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\polling_entity.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_set.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_set_windows.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_uv.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_windows.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\port.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\resolve_address.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\resource_quota.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\sockaddr.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\sockaddr_posix.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\sockaddr_utils.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\sockaddr_windows.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_factory_posix.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_mutator.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_utils.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_utils_posix.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_windows.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\sys_epoll_wrapper.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_client.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_client_posix.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_custom.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_posix.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_server.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_server_utils_posix.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_uv.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_windows.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\time_averaged_stats.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\timer.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\timer_custom.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\timer_heap.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\timer_manager.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\udp_server.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\unix_sockets_posix.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\wakeup_fd_cv.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\wakeup_fd_pipe.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\wakeup_fd_posix.h"> - <Filter>src\core\lib\iomgr</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\json\json.h"> - <Filter>src\core\lib\json</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\json\json_common.h"> - <Filter>src\core\lib\json</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\json\json_reader.h"> - <Filter>src\core\lib\json</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\json\json_writer.h"> - <Filter>src\core\lib\json</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\slice\b64.h"> - <Filter>src\core\lib\slice</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\slice\percent_encoding.h"> - <Filter>src\core\lib\slice</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\slice\slice_hash_table.h"> - <Filter>src\core\lib\slice</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\slice\slice_internal.h"> - <Filter>src\core\lib\slice</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\slice\slice_string_helpers.h"> - <Filter>src\core\lib\slice</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\api_trace.h"> - <Filter>src\core\lib\surface</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\call.h"> - <Filter>src\core\lib\surface</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\call_test_only.h"> - <Filter>src\core\lib\surface</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\channel.h"> - <Filter>src\core\lib\surface</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\channel_init.h"> - <Filter>src\core\lib\surface</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\channel_stack_type.h"> - <Filter>src\core\lib\surface</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\completion_queue.h"> - <Filter>src\core\lib\surface</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\completion_queue_factory.h"> - <Filter>src\core\lib\surface</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\event_string.h"> - <Filter>src\core\lib\surface</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\init.h"> - <Filter>src\core\lib\surface</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\lame_client.h"> - <Filter>src\core\lib\surface</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\server.h"> - <Filter>src\core\lib\surface</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\validate_metadata.h"> - <Filter>src\core\lib\surface</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\bdp_estimator.h"> - <Filter>src\core\lib\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\byte_stream.h"> - <Filter>src\core\lib\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\connectivity_state.h"> - <Filter>src\core\lib\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\error_utils.h"> - <Filter>src\core\lib\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\http2_errors.h"> - <Filter>src\core\lib\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\metadata.h"> - <Filter>src\core\lib\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\metadata_batch.h"> - <Filter>src\core\lib\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\pid_controller.h"> - <Filter>src\core\lib\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\service_config.h"> - <Filter>src\core\lib\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\static_metadata.h"> - <Filter>src\core\lib\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\status_conversion.h"> - <Filter>src\core\lib\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\timeout_encoding.h"> - <Filter>src\core\lib\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\transport.h"> - <Filter>src\core\lib\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\transport_impl.h"> - <Filter>src\core\lib\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\lib\debug\trace.h"> - <Filter>src\core\lib\debug</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\bin_decoder.h"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\bin_encoder.h"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\chttp2_transport.h"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame.h"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_data.h"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_goaway.h"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_ping.h"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_rst_stream.h"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_settings.h"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\frame_window_update.h"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\hpack_encoder.h"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\hpack_parser.h"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\hpack_table.h"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\http2_settings.h"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\huffsyms.h"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\incoming_metadata.h"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\internal.h"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\stream_map.h"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\transport\varint.h"> - <Filter>src\core\ext\transport\chttp2\transport</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\alpn\alpn.h"> - <Filter>src\core\ext\transport\chttp2\alpn</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\http\client\http_client_filter.h"> - <Filter>src\core\ext\filters\http\client</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\http\message_compress\message_compress_filter.h"> - <Filter>src\core\ext\filters\http\message_compress</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\http\server\http_server_filter.h"> - <Filter>src\core\ext\filters\http\server</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\server\chttp2_server.h"> - <Filter>src\core\ext\transport\chttp2\server</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\chttp2\client\chttp2_connector.h"> - <Filter>src\core\ext\transport\chttp2\client</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\client_channel.h"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\client_channel_factory.h"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\connector.h"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\http_connect_handshaker.h"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\http_proxy.h"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\lb_policy.h"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\lb_policy_factory.h"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\lb_policy_registry.h"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\parse_address.h"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\proxy_mapper.h"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\proxy_mapper_registry.h"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\resolver.h"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\resolver_factory.h"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\resolver_registry.h"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\retry_throttle.h"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\subchannel.h"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\subchannel_index.h"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\uri_parser.h"> - <Filter>src\core\ext\filters\client_channel</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\deadline\deadline_filter.h"> - <Filter>src\core\ext\filters\deadline</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\transport\inproc\inproc_transport.h"> - <Filter>src\core\ext\transport\inproc</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\resolver\dns\c_ares\grpc_ares_ev_driver.h"> - <Filter>src\core\ext\filters\client_channel\resolver\dns\c_ares</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\resolver\dns\c_ares\grpc_ares_wrapper.h"> - <Filter>src\core\ext\filters\client_channel\resolver\dns\c_ares</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\resolver\fake\fake_resolver.h"> - <Filter>src\core\ext\filters\client_channel\resolver\fake</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\load_reporting\load_reporting.h"> - <Filter>src\core\ext\filters\load_reporting</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\load_reporting\load_reporting_filter.h"> - <Filter>src\core\ext\filters\load_reporting</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\lb_policy\grpclb\client_load_reporting_filter.h"> - <Filter>src\core\ext\filters\client_channel\lb_policy\grpclb</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\lb_policy\grpclb\grpclb.h"> - <Filter>src\core\ext\filters\client_channel\lb_policy\grpclb</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\lb_policy\grpclb\grpclb_channel.h"> - <Filter>src\core\ext\filters\client_channel\lb_policy\grpclb</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\lb_policy\grpclb\grpclb_client_stats.h"> - <Filter>src\core\ext\filters\client_channel\lb_policy\grpclb</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\lb_policy\grpclb\load_balancer_api.h"> - <Filter>src\core\ext\filters\client_channel\lb_policy\grpclb</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\client_channel\lb_policy\grpclb\proto\grpc\lb\v1\load_balancer.pb.h"> - <Filter>src\core\ext\filters\client_channel\lb_policy\grpclb\proto\grpc\lb\v1</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\third_party\nanopb\pb.h"> - <Filter>third_party\nanopb</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\third_party\nanopb\pb_common.h"> - <Filter>third_party\nanopb</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\third_party\nanopb\pb_decode.h"> - <Filter>third_party\nanopb</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\third_party\nanopb\pb_encode.h"> - <Filter>third_party\nanopb</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\census\aggregation.h"> - <Filter>src\core\ext\census</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\census\base_resources.h"> - <Filter>src\core\ext\census</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\census\census_interface.h"> - <Filter>src\core\ext\census</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\census\census_rpc_stats.h"> - <Filter>src\core\ext\census</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\census\gen\census.pb.h"> - <Filter>src\core\ext\census\gen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\census\gen\trace_context.pb.h"> - <Filter>src\core\ext\census\gen</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\census\grpc_filter.h"> - <Filter>src\core\ext\census</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\census\intrusive_hash_map.h"> - <Filter>src\core\ext\census</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\census\intrusive_hash_map_internal.h"> - <Filter>src\core\ext\census</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\census\mlog.h"> - <Filter>src\core\ext\census</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\census\resource.h"> - <Filter>src\core\ext\census</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\census\rpc_metric_id.h"> - <Filter>src\core\ext\census</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\census\trace_context.h"> - <Filter>src\core\ext\census</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\census\trace_label.h"> - <Filter>src\core\ext\census</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\census\trace_propagation.h"> - <Filter>src\core\ext\census</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\census\trace_status.h"> - <Filter>src\core\ext\census</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\census\trace_string.h"> - <Filter>src\core\ext\census</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\census\tracing.h"> - <Filter>src\core\ext\census</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\max_age\max_age_filter.h"> - <Filter>src\core\ext\filters\max_age</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\message_size\message_size_filter.h"> - <Filter>src\core\ext\filters\message_size</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\workarounds\workaround_cronet_compression_filter.h"> - <Filter>src\core\ext\filters\workarounds</Filter> - </ClInclude> - <ClInclude Include="$(SolutionDir)\..\src\core\ext\filters\workarounds\workaround_utils.h"> - <Filter>src\core\ext\filters\workarounds</Filter> - </ClInclude> - </ItemGroup> - - <ItemGroup> - <Filter Include="include"> - <UniqueIdentifier>{10076c7e-7c8e-8005-0c81-64454af2cbc8}</UniqueIdentifier> - </Filter> - <Filter Include="include\grpc"> - <UniqueIdentifier>{77b9717b-b8d8-dd5f-14bb-a3e96809a70a}</UniqueIdentifier> - </Filter> - <Filter Include="include\grpc\impl"> - <UniqueIdentifier>{10cfa248-c60f-376f-e7ae-2a7d7d8e81f5}</UniqueIdentifier> - </Filter> - <Filter Include="include\grpc\impl\codegen"> - <UniqueIdentifier>{03cc6735-c734-7017-4000-a435f29d55c3}</UniqueIdentifier> - </Filter> - <Filter Include="include\grpc\support"> - <UniqueIdentifier>{a553e3dc-8973-1b23-8be4-31852fd9e429}</UniqueIdentifier> - </Filter> - <Filter Include="src"> - <UniqueIdentifier>{aaf326a1-c884-46ea-875a-cbbd9983e539}</UniqueIdentifier> - </Filter> - <Filter Include="src\core"> - <UniqueIdentifier>{88491077-386b-2039-d14c-0c40136b5f7a}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext"> - <UniqueIdentifier>{82f86e8c-00a4-f566-d235-670fc629798d}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext\census"> - <UniqueIdentifier>{3f21cd12-b8b9-18f8-8780-e21bbe2285d0}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext\census\gen"> - <UniqueIdentifier>{dfe53168-57b0-3ac4-d8ba-07fd958cc8f5}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext\filters"> - <UniqueIdentifier>{5e37012e-a374-e285-bbda-b0dbe6327663}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext\filters\client_channel"> - <UniqueIdentifier>{bb0de45a-745e-8822-7ad5-453f9e060f8c}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext\filters\client_channel\lb_policy"> - <UniqueIdentifier>{2ac0872e-12dc-0b08-68e0-66829ce8c268}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext\filters\client_channel\lb_policy\grpclb"> - <UniqueIdentifier>{6cc603b0-7272-0a9f-59c2-5561c1856a6a}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext\filters\client_channel\lb_policy\grpclb\proto"> - <UniqueIdentifier>{0d3bc4ed-1eea-8b17-c26f-7d87c3dd2220}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext\filters\client_channel\lb_policy\grpclb\proto\grpc"> - <UniqueIdentifier>{32d37957-d122-e649-b9c1-3f13f6674479}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext\filters\client_channel\lb_policy\grpclb\proto\grpc\lb"> - <UniqueIdentifier>{153a159f-1ba7-aea7-ebed-4f2d9e2e7bb9}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext\filters\client_channel\lb_policy\grpclb\proto\grpc\lb\v1"> - <UniqueIdentifier>{f8747b87-02f9-df6c-0eeb-27ab1d037d0c}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext\filters\client_channel\lb_policy\pick_first"> - <UniqueIdentifier>{4df776ac-ebeb-4933-554e-749a0399ff51}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext\filters\client_channel\lb_policy\round_robin"> - <UniqueIdentifier>{5244539b-6cec-80c7-61dc-df51e531bedd}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext\filters\client_channel\resolver"> - <UniqueIdentifier>{663be499-ce6c-8afd-db98-674f26be1149}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext\filters\client_channel\resolver\dns"> - <UniqueIdentifier>{f6bf03da-fa0d-0c24-bba2-17dc5a3c8fe0}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext\filters\client_channel\resolver\dns\c_ares"> - <UniqueIdentifier>{54bc0ac2-39c8-dbfd-c5dd-b9fb597dd820}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext\filters\client_channel\resolver\dns\native"> - <UniqueIdentifier>{55f499bd-ae18-5210-81e1-385c85e60875}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext\filters\client_channel\resolver\fake"> - <UniqueIdentifier>{7f924133-4a98-87b0-f158-cb64ea91e71a}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext\filters\client_channel\resolver\sockaddr"> - <UniqueIdentifier>{99210f5e-b2a0-ecd1-024f-fc152db68a11}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext\filters\deadline"> - <UniqueIdentifier>{ac374be1-7a3f-14a8-69fe-badac2d9f9ec}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext\filters\http"> - <UniqueIdentifier>{33287f7d-739b-d30d-a9f3-b338103456b0}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext\filters\http\client"> - <UniqueIdentifier>{95cd5972-7339-6f09-2332-e6769b3cba3f}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext\filters\http\message_compress"> - <UniqueIdentifier>{cf8cb886-3020-e143-317e-730ff9bbddc3}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext\filters\http\server"> - <UniqueIdentifier>{2c1e7897-6f69-f8b9-0b90-5c3fae59a48f}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext\filters\load_reporting"> - <UniqueIdentifier>{0aef07b4-39d2-f862-15ac-65b4bf00dabb}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext\filters\max_age"> - <UniqueIdentifier>{d3bc80c1-5f2d-e842-42ac-43d8a6ada8de}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext\filters\message_size"> - <UniqueIdentifier>{8cbe7444-caac-49dc-be89-d4c4d1c7966a}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext\filters\workarounds"> - <UniqueIdentifier>{8bd0612e-bd53-c9e6-7b3c-20937e4e1e9e}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext\transport"> - <UniqueIdentifier>{967c89fe-c97c-27e2-aac0-9ba5854cb5fa}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext\transport\chttp2"> - <UniqueIdentifier>{702829f0-099e-2ab7-6b44-ed7cff3ec083}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext\transport\chttp2\alpn"> - <UniqueIdentifier>{7d4830f7-20db-07d3-c3a9-ecfe63ae1992}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext\transport\chttp2\client"> - <UniqueIdentifier>{0d589e16-e470-4968-318c-796af5a33637}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext\transport\chttp2\client\insecure"> - <UniqueIdentifier>{34dfdc9b-ab97-47f0-c1e1-b2e7381c3de6}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext\transport\chttp2\server"> - <UniqueIdentifier>{81fb55f4-9216-441b-8389-a7120bbcd45e}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext\transport\chttp2\server\insecure"> - <UniqueIdentifier>{3f53dcb6-71d7-28ff-1794-26a08e4601fe}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext\transport\chttp2\transport"> - <UniqueIdentifier>{45b20f28-376c-9dea-1800-8a0193411946}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\ext\transport\inproc"> - <UniqueIdentifier>{287a62fa-b646-5062-49c4-9e7bd5bc5b96}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\lib"> - <UniqueIdentifier>{8bd5b461-bff8-6aa8-b5a6-85da2834eb8a}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\lib\channel"> - <UniqueIdentifier>{fb964f3d-a59c-a7ba-fee5-6072dbb94a7b}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\lib\compression"> - <UniqueIdentifier>{b88002e9-185e-4e64-49f5-2d8989ce87f6}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\lib\debug"> - <UniqueIdentifier>{7f23789d-f18a-2a2d-60fe-a87dc656f539}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\lib\http"> - <UniqueIdentifier>{748c8078-2027-8641-f485-1d4c66466e79}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\lib\iomgr"> - <UniqueIdentifier>{bb1a1cf2-6824-08f0-a9bd-3fafcaf13042}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\lib\json"> - <UniqueIdentifier>{681cdaeb-c47f-8853-d985-bf13c2873947}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\lib\slice"> - <UniqueIdentifier>{74c81ab7-e329-a362-3890-4c41b90f0511}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\lib\surface"> - <UniqueIdentifier>{506dc3b3-d884-2b59-0dfa-57ed6affa2d3}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\lib\transport"> - <UniqueIdentifier>{6c3394d1-27e9-003e-19ed-8116d210f7cc}</UniqueIdentifier> - </Filter> - <Filter Include="src\core\plugin_registry"> - <UniqueIdentifier>{babf0a90-e934-f599-5475-e6937d9580fe}</UniqueIdentifier> - </Filter> - <Filter Include="third_party"> - <UniqueIdentifier>{025c051e-8eba-125b-67f9-173f95176eb2}</UniqueIdentifier> - </Filter> - <Filter Include="third_party\nanopb"> - <UniqueIdentifier>{6511f77d-f28c-80e0-0889-8975e688e344}</UniqueIdentifier> - </Filter> - </ItemGroup> -</Project> - diff --git a/vsprojects/vcxproj/test/grpc_channel_stack_builder_test/grpc_channel_stack_builder_test.vcxproj b/vsprojects/vcxproj/test/grpc_channel_stack_builder_test/grpc_channel_stack_builder_test.vcxproj deleted file mode 100644 index 23bd953d7e..0000000000 --- a/vsprojects/vcxproj/test/grpc_channel_stack_builder_test/grpc_channel_stack_builder_test.vcxproj +++ /dev/null @@ -1,199 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <Import Project="$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\grpc.dependencies.openssl.props" Condition="Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\1.0.204.1.props')" /> - <ItemGroup Label="ProjectConfigurations"> - <ProjectConfiguration Include="Debug|Win32"> - <Configuration>Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Debug|x64"> - <Configuration>Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Release|Win32"> - <Configuration>Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Release|x64"> - <Configuration>Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - </ItemGroup> - <PropertyGroup Label="Globals"> - <ProjectGuid>{6B598028-E3EC-17BB-84C0-3DA645FE5379}</ProjectGuid> - <IgnoreWarnIntDirInTempDetected>true</IgnoreWarnIntDirInTempDetected> - <IntDir>$(SolutionDir)IntDir\$(MSBuildProjectName)\</IntDir> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> - <PropertyGroup Condition="'$(VisualStudioVersion)' == '10.0'" Label="Configuration"> - <PlatformToolset>v100</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(VisualStudioVersion)' == '11.0'" Label="Configuration"> - <PlatformToolset>v110</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(VisualStudioVersion)' == '12.0'" Label="Configuration"> - <PlatformToolset>v120</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(VisualStudioVersion)' == '14.0'" Label="Configuration"> - <PlatformToolset>v140</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)'=='Debug'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <UseDebugLibraries>true</UseDebugLibraries> - <CharacterSet>Unicode</CharacterSet> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)'=='Release'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <UseDebugLibraries>false</UseDebugLibraries> - <WholeProgramOptimization>true</WholeProgramOptimization> - <CharacterSet>Unicode</CharacterSet> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> - <ImportGroup Label="ExtensionSettings"> - </ImportGroup> - <ImportGroup Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - <Import Project="$(SolutionDir)\..\vsprojects\global.props" /> - <Import Project="$(SolutionDir)\..\vsprojects\openssl.props" /> - <Import Project="$(SolutionDir)\..\vsprojects\winsock.props" /> - <Import Project="$(SolutionDir)\..\vsprojects\zlib.props" /> - </ImportGroup> - <PropertyGroup Label="UserMacros" /> - <PropertyGroup Condition="'$(Configuration)'=='Debug'"> - <TargetName>grpc_channel_stack_builder_test</TargetName> - <Linkage-grpc_dependencies_zlib>static</Linkage-grpc_dependencies_zlib> - <Configuration-grpc_dependencies_zlib>Debug</Configuration-grpc_dependencies_zlib> - <Linkage-grpc_dependencies_openssl>static</Linkage-grpc_dependencies_openssl> - <Configuration-grpc_dependencies_openssl>Debug</Configuration-grpc_dependencies_openssl> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)'=='Release'"> - <TargetName>grpc_channel_stack_builder_test</TargetName> - <Linkage-grpc_dependencies_zlib>static</Linkage-grpc_dependencies_zlib> - <Configuration-grpc_dependencies_zlib>Release</Configuration-grpc_dependencies_zlib> - <Linkage-grpc_dependencies_openssl>static</Linkage-grpc_dependencies_openssl> - <Configuration-grpc_dependencies_openssl>Release</Configuration-grpc_dependencies_openssl> - </PropertyGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> - <ClCompile> - <PrecompiledHeader>NotUsing</PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <Optimization>Disabled</Optimization> - <PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <SDLCheck>true</SDLCheck> - <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> - <TreatWarningAsError>true</TreatWarningAsError> - <DebugInformationFormat Condition="$(Jenkins)">None</DebugInformationFormat> - <MinimalRebuild Condition="$(Jenkins)">false</MinimalRebuild> - </ClCompile> - <Link> - <SubSystem>Console</SubSystem> - <GenerateDebugInformation Condition="!$(Jenkins)">true</GenerateDebugInformation> - <GenerateDebugInformation Condition="$(Jenkins)">false</GenerateDebugInformation> - </Link> - </ItemDefinitionGroup> - - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> - <ClCompile> - <PrecompiledHeader>NotUsing</PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <Optimization>Disabled</Optimization> - <PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <SDLCheck>true</SDLCheck> - <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> - <TreatWarningAsError>true</TreatWarningAsError> - <DebugInformationFormat Condition="$(Jenkins)">None</DebugInformationFormat> - <MinimalRebuild Condition="$(Jenkins)">false</MinimalRebuild> - </ClCompile> - <Link> - <SubSystem>Console</SubSystem> - <GenerateDebugInformation Condition="!$(Jenkins)">true</GenerateDebugInformation> - <GenerateDebugInformation Condition="$(Jenkins)">false</GenerateDebugInformation> - </Link> - </ItemDefinitionGroup> - - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> - <ClCompile> - <PrecompiledHeader>NotUsing</PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <Optimization>MaxSpeed</Optimization> - <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <FunctionLevelLinking>true</FunctionLevelLinking> - <IntrinsicFunctions>true</IntrinsicFunctions> - <SDLCheck>true</SDLCheck> - <RuntimeLibrary>MultiThreaded</RuntimeLibrary> - <TreatWarningAsError>true</TreatWarningAsError> - <DebugInformationFormat Condition="$(Jenkins)">None</DebugInformationFormat> - <MinimalRebuild Condition="$(Jenkins)">false</MinimalRebuild> - </ClCompile> - <Link> - <SubSystem>Console</SubSystem> - <GenerateDebugInformation Condition="!$(Jenkins)">true</GenerateDebugInformation> - <GenerateDebugInformation Condition="$(Jenkins)">false</GenerateDebugInformation> - <EnableCOMDATFolding>true</EnableCOMDATFolding> - <OptimizeReferences>true</OptimizeReferences> - </Link> - </ItemDefinitionGroup> - - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> - <ClCompile> - <PrecompiledHeader>NotUsing</PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <Optimization>MaxSpeed</Optimization> - <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <FunctionLevelLinking>true</FunctionLevelLinking> - <IntrinsicFunctions>true</IntrinsicFunctions> - <SDLCheck>true</SDLCheck> - <RuntimeLibrary>MultiThreaded</RuntimeLibrary> - <TreatWarningAsError>true</TreatWarningAsError> - <DebugInformationFormat Condition="$(Jenkins)">None</DebugInformationFormat> - <MinimalRebuild Condition="$(Jenkins)">false</MinimalRebuild> - </ClCompile> - <Link> - <SubSystem>Console</SubSystem> - <GenerateDebugInformation Condition="!$(Jenkins)">true</GenerateDebugInformation> - <GenerateDebugInformation Condition="$(Jenkins)">false</GenerateDebugInformation> - <EnableCOMDATFolding>true</EnableCOMDATFolding> - <OptimizeReferences>true</OptimizeReferences> - </Link> - </ItemDefinitionGroup> - - <ItemGroup> - <ClCompile Include="$(SolutionDir)\..\test\core\channel\channel_stack_builder_test.c"> - </ClCompile> - </ItemGroup> - <ItemGroup> - <ProjectReference Include="$(SolutionDir)\..\vsprojects\vcxproj\.\grpc_test_util\grpc_test_util.vcxproj"> - <Project>{17BCAFC0-5FDC-4C94-AEB9-95F3E220614B}</Project> - </ProjectReference> - <ProjectReference Include="$(SolutionDir)\..\vsprojects\vcxproj\.\grpc\grpc.vcxproj"> - <Project>{29D16885-7228-4C31-81ED-5F9187C7F2A9}</Project> - </ProjectReference> - <ProjectReference Include="$(SolutionDir)\..\vsprojects\vcxproj\.\gpr_test_util\gpr_test_util.vcxproj"> - <Project>{EAB0A629-17A9-44DB-B5FF-E91A721FE037}</Project> - </ProjectReference> - <ProjectReference Include="$(SolutionDir)\..\vsprojects\vcxproj\.\gpr\gpr.vcxproj"> - <Project>{B23D3D1A-9438-4EDA-BEB6-9A0A03D17792}</Project> - </ProjectReference> - </ItemGroup> - <ItemGroup> - <None Include="packages.config" /> - </ItemGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> - <ImportGroup Label="ExtensionTargets"> - <Import Project="$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.redist.1.2.8.10\build\native\grpc.dependencies.zlib.redist.targets" Condition="Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.redist.1.2.8.10\build\native\grpc.dependencies\grpc.dependencies.zlib.targets')" /> - <Import Project="$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.1.2.8.10\build\native\grpc.dependencies.zlib.targets" Condition="Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.1.2.8.10\build\native\grpc.dependencies\grpc.dependencies.zlib.targets')" /> - <Import Project="$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.redist.1.0.204.1\build\native\grpc.dependencies.openssl.redist.targets" Condition="Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.redist.1.0.204.1\build\native\grpc.dependencies\grpc.dependencies.openssl.targets')" /> - <Import Project="$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\grpc.dependencies.openssl.targets" Condition="Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\grpc.dependencies\grpc.dependencies.openssl.targets')" /> - </ImportGroup> - <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> - <PropertyGroup> - <ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText> - </PropertyGroup> - <Error Condition="!Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.redist.1.2.8.10\build\native\grpc.dependencies.zlib.redist.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.redist.1.2.8.10\build\native\grpc.dependencies.zlib.redist.targets')" /> - <Error Condition="!Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.1.2.8.10\build\native\grpc.dependencies.zlib.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.1.2.8.10\build\native\grpc.dependencies.zlib.targets')" /> - <Error Condition="!Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.redist.1.0.204.1\build\native\grpc.dependencies.openssl.redist.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.redist.1.0.204.1\build\native\grpc.dependencies.openssl.redist.targets')" /> - <Error Condition="!Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\grpc.dependencies.openssl.props')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\grpc.dependencies.openssl.props')" /> - <Error Condition="!Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\grpc.dependencies.openssl.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\grpc.dependencies.openssl.targets')" /> - </Target> -</Project> - diff --git a/vsprojects/vcxproj/test/grpc_channel_stack_builder_test/grpc_channel_stack_builder_test.vcxproj.filters b/vsprojects/vcxproj/test/grpc_channel_stack_builder_test/grpc_channel_stack_builder_test.vcxproj.filters deleted file mode 100644 index 8cc2bc8777..0000000000 --- a/vsprojects/vcxproj/test/grpc_channel_stack_builder_test/grpc_channel_stack_builder_test.vcxproj.filters +++ /dev/null @@ -1,21 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup> - <ClCompile Include="$(SolutionDir)\..\test\core\channel\channel_stack_builder_test.c"> - <Filter>test\core\channel</Filter> - </ClCompile> - </ItemGroup> - - <ItemGroup> - <Filter Include="test"> - <UniqueIdentifier>{bd69a85b-1f5c-2730-decd-705bb45f7ee7}</UniqueIdentifier> - </Filter> - <Filter Include="test\core"> - <UniqueIdentifier>{431484ef-eda0-ac61-390d-0bd1840915e2}</UniqueIdentifier> - </Filter> - <Filter Include="test\core\channel"> - <UniqueIdentifier>{ad0d36d9-6a99-139d-9f6d-95a3833a5085}</UniqueIdentifier> - </Filter> - </ItemGroup> -</Project> - |