mirror of
https://github.com/textmate/textmate.git
synced 2026-02-15 00:45:02 -05:00
26 lines
668 B
C++
26 lines
668 B
C++
#include "network.h"
|
|
|
|
namespace network
|
|
{
|
|
bool can_reach_host (char const* host)
|
|
{
|
|
#if !defined(MAC_OS_X_VERSION_10_6) || (MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_6)
|
|
SCNetworkConnectionFlags flags;
|
|
return SCNetworkCheckReachabilityByName(host, &flags) && (flags & kSCNetworkFlagsReachable);
|
|
#else
|
|
bool res = false;
|
|
if(SCNetworkReachabilityRef ref = SCNetworkReachabilityCreateWithName(kCFAllocatorDefault, host))
|
|
{
|
|
SCNetworkReachabilityFlags flags;
|
|
if(SCNetworkReachabilityGetFlags(ref, &flags))
|
|
{
|
|
if(flags & kSCNetworkReachabilityFlagsReachable)
|
|
res = true;
|
|
}
|
|
CFRelease(ref);
|
|
}
|
|
return res;
|
|
#endif
|
|
}
|
|
|
|
} /* network */ |