public static bool IsAdHocWiFiNetworkAvailable (out NetworkReachabilityFlags flags)
{
if (adHocWiFiNetworkReachability == null) {
var ipAddress = new IPAddress (new byte[] { 169, 254, 0, 0 });
adHocWiFiNetworkReachability = new NetworkReachability (ipAddress.MapToIPv6 ());
adHocWiFiNetworkReachability.SetNotification (OnChange);
adHocWiFiNetworkReachability.Schedule (CFRunLoop.Current, CFRunLoop.ModeDefault);
}
return adHocWiFiNetworkReachability.TryGetFlags (out flags) && IsReachableWithoutRequiringConnection (flags);
}