#include <grpc/support/port_platform.h>
#include "src/core/lib/address_utils/parse_address.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#ifdef GRPC_HAVE_UNIX_SOCKET
#include <sys/un.h>
#endif
#include <string>
#include "absl/status/status.h"
#include "absl/strings/str_cat.h"
#include "absl/strings/strip.h"
#include <grpc/support/log.h>
#include "src/core/lib/gpr/string.h"
#include "src/core/lib/gprpp/host_port.h"
#include "src/core/lib/gprpp/status_helper.h"
#include "src/core/lib/iomgr/grpc_if_nametoindex.h"
#include "src/core/lib/iomgr/port.h"
#include "src/core/lib/iomgr/sockaddr.h"
#include "src/core/lib/iomgr/socket_utils.h"
#ifdef GRPC_HAVE_UNIX_SOCKET
bool grpc_parse_unix(const grpc_core::URI& uri,
grpc_resolved_address* resolved_addr) { … }
bool grpc_parse_unix_abstract(const grpc_core::URI& uri,
grpc_resolved_address* resolved_addr) { … }
namespace grpc_core {
grpc_error_handle UnixSockaddrPopulate(absl::string_view path,
grpc_resolved_address* resolved_addr) { … }
grpc_error_handle UnixAbstractSockaddrPopulate(
absl::string_view path, grpc_resolved_address* resolved_addr) { … }
}
#else
bool grpc_parse_unix(const grpc_core::URI& ,
grpc_resolved_address* ) {
abort();
}
bool grpc_parse_unix_abstract(const grpc_core::URI& ,
grpc_resolved_address* ) {
abort();
}
namespace grpc_core {
grpc_error_handle UnixSockaddrPopulate(
absl::string_view , grpc_resolved_address* ) {
abort();
}
grpc_error_handle UnixAbstractSockaddrPopulate(
absl::string_view , grpc_resolved_address* ) {
abort();
}
}
#endif
bool grpc_parse_ipv4_hostport(absl::string_view hostport,
grpc_resolved_address* addr, bool log_errors) { … }
bool grpc_parse_ipv4(const grpc_core::URI& uri,
grpc_resolved_address* resolved_addr) { … }
bool grpc_parse_ipv6_hostport(absl::string_view hostport,
grpc_resolved_address* addr, bool log_errors) { … }
bool grpc_parse_ipv6(const grpc_core::URI& uri,
grpc_resolved_address* resolved_addr) { … }
bool grpc_parse_uri(const grpc_core::URI& uri,
grpc_resolved_address* resolved_addr) { … }
uint16_t grpc_strhtons(const char* port) { … }
namespace grpc_core {
absl::StatusOr<grpc_resolved_address> StringToSockaddr(
absl::string_view address_and_port) { … }
absl::StatusOr<grpc_resolved_address> StringToSockaddr(
absl::string_view address, int port) { … }
}