Skip to content

Network macOS xcode15.0 b3

Manuel de la Pena edited this page Dec 12, 2023 · 2 revisions

#Network.framework https://github.com/xamarin/xamarin-macios/pull/19418

diff -ruN /Applications/Xcode_15.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Network.framework/Headers/proxy_config.h /Applications/Xcode_15.0.0-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Network.framework/Headers/proxy_config.h
--- /Applications/Xcode_15.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Network.framework/Headers/proxy_config.h	2023-06-15 00:31:16
+++ /Applications/Xcode_15.0.0-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Network.framework/Headers/proxy_config.h	2023-06-29 00:33:31
@@ -124,7 +124,9 @@
  * @function nw_proxy_config_create_oblivious_http
  *
  * @abstract
- *		Creates a proxy configuration for an Oblivious HTTP relay and gateway.
+ *		Creates a proxy configuration for an Oblivious HTTP relay and gateway. Note that
+ *		Oblivious HTTP proxy configurations must also have specific match domains specified
+ *		using `nw_proxy_config_add_match_domain`.
  *
  * @param relay
  *		The Oblivious HTTP relay hop.
@@ -246,6 +248,106 @@
 API_AVAILABLE(macos(14.0), ios(17.0), watchos(10.0), tvos(17.0))
 bool
 nw_proxy_config_get_failover_allowed(nw_proxy_config_t proxy_config);
+
+/*!
+ * @function nw_proxy_config_add_match_domain
+ *
+ * @abstract
+ *		Adds a domain to define which hosts should use the proxy.
+ *
+ * @param config
+ *		The proxy configuration object.
+ *
+ * @param match_domain
+ *		The domain suffix to match hostnames against, as a string.
+ */
+API_AVAILABLE(macos(14.0), ios(17.0), watchos(10.0), tvos(17.0))
+void
+nw_proxy_config_add_match_domain(nw_proxy_config_t config,
+								 const char *match_domain);
+
+/*!
+ * @function nw_proxy_config_clear_match_domains
+ *
+ * @abstract
+ *		Clears all match domains defined for the proxy.
+ *
+ * @param config
+ *		The proxy configuration object.
+ */
+API_AVAILABLE(macos(14.0), ios(17.0), watchos(10.0), tvos(17.0))
+void
+nw_proxy_config_clear_match_domains(nw_proxy_config_t config);
+
+/*!
+ * @function nw_proxy_config_add_excluded_domain
+ *
+ * @abstract
+ *		Adds a domain to define which hosts should not use the proxy.
+ *
+ * @param config
+ *		The proxy configuration object.
+ *
+ * @param excluded_domain
+ *		The domain suffix to match hostnames against, as a string.
+ */
+API_AVAILABLE(macos(14.0), ios(17.0), watchos(10.0), tvos(17.0))
+void
+nw_proxy_config_add_excluded_domain(nw_proxy_config_t config,
+									const char *excluded_domain);
+
+/*!
+ * @function nw_proxy_config_clear_excluded_domains
+ *
+ * @abstract
+ *		Clears all excluded domains defined for the proxy.
+ *
+ * @param config
+ *		The proxy configuration object.
+ */
+API_AVAILABLE(macos(14.0), ios(17.0), watchos(10.0), tvos(17.0))
+void
+nw_proxy_config_clear_excluded_domains(nw_proxy_config_t config);
+
+#ifdef __BLOCKS__
+
+typedef void (^nw_proxy_domain_enumerator_t)(const char *);
+
+/*!
+ * @function nw_proxy_config_enumerate_match_domains
+ *
+ * @abstract
+ *		Enumerate all match domains set on the proxy configuration.
+ *
+ * @param config
+ *		The proxy configuration object.
+ *
+ * @param enumerator
+ *		A block that will get invoked for every domain that was added to the proxy configuration.
+ */
+API_AVAILABLE(macos(14.0), ios(17.0), watchos(10.0), tvos(17.0))
+void
+nw_proxy_config_enumerate_match_domains(nw_proxy_config_t config,
+										NW_NOESCAPE nw_proxy_domain_enumerator_t enumerator);
+
+/*!
+ * @function nw_proxy_config_enumerate_excluded_domains
+ *
+ * @abstract
+ *		Enumerate all excluded domains set on the proxy configuration.
+ *
+ * @param config
+ *		The proxy configuration object.
+ *
+ * @param enumerator
+ *		A block that will get invoked for every domain that was added to the proxy configuration.
+ */
+API_AVAILABLE(macos(14.0), ios(17.0), watchos(10.0), tvos(17.0))
+void
+nw_proxy_config_enumerate_excluded_domains(nw_proxy_config_t config,
+										   NW_NOESCAPE nw_proxy_domain_enumerator_t enumerator);
+
+#endif // __BLOCKS__
 
 __END_DECLS
 
diff -ruN /Applications/Xcode_15.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Network.framework/Headers/txt_record.h /Applications/Xcode_15.0.0-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Network.framework/Headers/txt_record.h
--- /Applications/Xcode_15.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Network.framework/Headers/txt_record.h	2023-06-13 02:03:42
+++ /Applications/Xcode_15.0.0-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Network.framework/Headers/txt_record.h	2023-06-29 00:44:23
@@ -172,7 +172,7 @@
  * @param value
  *		The value corresponding to the key. If the key does not exist or has no
  *		associated value, value will be NULL. Note that the bytes pointed to by
- *		value is only valid within the scope of the block.
+ *		value are only valid within the scope of the block.
  *
  * @param value_len
  *		The length of the value. If the key does not exist or has no associated
Clone this wiki locally