Skip to content

Network macOS xcode13.0 rc

Alex Soto edited this page Sep 14, 2021 · 1 revision

#Network.framework

diff -ruN /Applications/Xcode_13.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Network.framework/Headers/Network.h /Applications/Xcode_13.0.0-rc.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Network.framework/Headers/Network.h
--- /Applications/Xcode_13.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Network.framework/Headers/Network.h	2021-08-02 02:08:14.000000000 -0400
+++ /Applications/Xcode_13.0.0-rc.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Network.framework/Headers/Network.h	2021-03-16 04:44:16.000000000 -0400
@@ -13,7 +13,6 @@
 #define __NW_SET_INDIRECT__
 #endif // __NW_INDIRECT__
 
-#include <Network/nw_object.h>
 #include <Network/advertise_descriptor.h>
 #include <Network/browser.h>
 #include <Network/browse_result.h>
@@ -35,7 +34,6 @@
 #include <Network/path.h>
 #include <Network/privacy_context.h>
 #include <Network/protocol_options.h>
-#include <Network/quic_options.h>
 #include <Network/resolver_config.h>
 #include <Network/tcp_options.h>
 #include <Network/tls_options.h>
diff -ruN /Applications/Xcode_13.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Network.framework/Headers/browser.h /Applications/Xcode_13.0.0-rc.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Network.framework/Headers/browser.h
--- /Applications/Xcode_13.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Network.framework/Headers/browser.h	2021-08-07 08:54:05.000000000 -0400
+++ /Applications/Xcode_13.0.0-rc.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Network.framework/Headers/browser.h	2021-08-03 21:49:59.000000000 -0400
@@ -17,8 +17,6 @@
 #include <Network/browse_result.h>
 #include <Network/error.h>
 
-#include <dispatch/dispatch.h>
-
 NW_ASSUME_NONNULL_BEGIN
 
 __BEGIN_DECLS
diff -ruN /Applications/Xcode_13.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Network.framework/Headers/connection.h /Applications/Xcode_13.0.0-rc.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Network.framework/Headers/connection.h
--- /Applications/Xcode_13.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Network.framework/Headers/connection.h	2021-08-06 23:46:45.000000000 -0400
+++ /Applications/Xcode_13.0.0-rc.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Network.framework/Headers/connection.h	2021-08-03 21:49:59.000000000 -0400
@@ -2,7 +2,7 @@
 //  connection.h
 //  Network
 //
-//  Copyright (c) 2015-2019, 2021 Apple Inc. All rights reserved.
+//  Copyright (c) 2015-2019 Apple Inc. All rights reserved.
 //
 
 #ifndef __NW_CONNECTION_H__
@@ -239,9 +239,7 @@
  * @abstract
  *		Starts the connection, which will cause the connection
  *		to evaluate its path, do resolution, and try to become
- *		readable and writable. Once started, a connection
- *		must be cancelled using nw_connection_cancel() or
- *		nw_connection_force_cancel() when it is no longer needed.
+ *		readable and writable.
  *
  * @param connection
  *		The connection object.
@@ -596,7 +594,6 @@
  *		enqueued to be sent.
  */
 API_AVAILABLE(macos(10.14), ios(12.0), watchos(5.0), tvos(12.0))
-NW_SWIFT_DISABLE_ASYNC
 void
 nw_connection_send(nw_connection_t connection,
 				   _Nullable dispatch_data_t content,
@@ -681,7 +678,7 @@
  *
  * @result
  *		Returns a retained protocol metadata object, or NULL if the connection
- *		has not been established yet or is cancelled.
+ *		has not been established yet, or is cancelled.
  */
 API_AVAILABLE(macos(10.14), ios(12.0), watchos(5.0), tvos(12.0))
 NW_RETURNS_RETAINED _Nullable nw_protocol_metadata_t
diff -ruN /Applications/Xcode_13.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Network.framework/Headers/connection_group.h /Applications/Xcode_13.0.0-rc.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Network.framework/Headers/connection_group.h
--- /Applications/Xcode_13.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Network.framework/Headers/connection_group.h	2021-08-09 03:22:08.000000000 -0400
+++ /Applications/Xcode_13.0.0-rc.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Network.framework/Headers/connection_group.h	2021-08-03 21:50:00.000000000 -0400
@@ -2,7 +2,7 @@
 //  connection_group.h
 //  Network
 //
-//  Copyright (c) 2019-2021 Apple Inc. All rights reserved.
+//  Copyright (c) 2019-2020 Apple Inc. All rights reserved.
 //
 
 #ifndef __NW_CONNECTION_GROUP_H__
@@ -350,58 +350,6 @@
 										  nw_content_context_t context);
 
 /*!
- * @function nw_connection_group_copy_protocol_metadata_for_message
- *
- * @abstract
- *		Copy the metadata corresponding to a given inbound connection group message.
- *
- * @param group
- *		The connection group object.
- *
- * @param definition
- *		The protocol definition for which metadata will be returned.
- *
- * @result
- *		Returns a retained protocol metadata object, or NULL if not found.
- */
-API_AVAILABLE(macos(12.0), ios(15.0), watchos(8.0), tvos(15.0))
-_Nullable nw_protocol_metadata_t
-nw_connection_group_copy_protocol_metadata_for_message(nw_connection_group_t group,
-													   nw_content_context_t context,
-													   nw_protocol_definition_t definition);
-
-/*!
- * @function nw_connection_group_extract_connection_for_message
- *
- * @abstract
- *		Extract a connection corresponding to an inbound message from the
- *		connection group. Once extracted, subsequent messages from this
- *		remote endpoint on this connection will no longer be handled by the
- *		connection group. The connection may be used to read the remainder
- *		of a partial message or to send a large response with support for partial
- *		messages and backpressure.
- *		Any incoming messages from this remote endpoint which were saved from
- *		the receive handler may no longer be valid after a connection is returned.
- *      An extracted connection must have a queue set and be started before it can be used.
- *
- * @param group
- *		The connection group object from which the context was received. If the context was
- *		not received from this connection group, the extraction will fail.
- *
- *	@param context
- *		A content context representing an inbound message received from this connection group.
- *
- * @result
- *		Returns the connection associated with the provided message, or nil if the extraction
- *		fails. Extraction will fail if the provided message is not an inbound message from
- *		this connection group.
- */
-API_AVAILABLE(macos(11.0), ios(14.0), watchos(7.0), tvos(14.0))
-NW_RETURNS_RETAINED _Nullable nw_connection_t
-nw_connection_group_extract_connection_for_message(nw_connection_group_t group,
-												   nw_content_context_t context);
-
-/*!
  * @function nw_connection_group_reply
  *
  * @abstract
@@ -437,59 +385,34 @@
 						  dispatch_data_t _Nullable content);
 
 /*!
- * @function nw_connection_group_extract_connection
+ * @function nw_connection_group_extract_connection_for_message
  *
  * @abstract
- *      Extract a connection from the connection group. For a multiplex connection group, this means that
- *      a new stream is opened and the corresponding nw_connection_t object is returned. For non-multiplex
- *      connection groups, a connection to the specified endpoint will be returned if allowed by the group descriptor.
- *
- *      The connection can be re-inserted into the group later. Once reinserted, the connection group
- *      will handle subsequent messages from this remote endpoint.
- *      An extracted connection must have a queue set and be started before it can be used.
+ *		Extract a connection corresponding to an inbound message from the
+ *		connection group. Once extracted, subsequent messages from this
+ *		remote endpoint on this connection will no longer be handled by the
+ *		connection group. The connection may be used to read the remainder
+ *		of a partial message or to send a large response with support for partial
+ *		messages and backpressure.
+ *		Any incoming messages from this remote endpoint which were saved from
+ *		the receive handler may no longer be valid after a connection is returned.
  *
  * @param group
- *      The connection group object from which to extract a connection.
- *
- * @param endpoint
- *      The endpoint to use as the remote endpoint for the extracted connection, if applicable.
- *      For connection groups with multiplex group descriptors, this should be nil.
+ *		The connection group object from which the context was received. If the context was
+ *		not received from this connection group, the extraction will fail.
  *
- * @param protocol_options
- *      The protocol options to apply to the extracted connection. May be nil if not applicable.
+ *	@param context
+ *		A content context representing an inbound message received from this connection group.
  *
  * @result
- *      Returns the connection from the connection group.
+ *		Returns the connection associated with the provided message, or nil if the extraction
+ *		fails. Extraction will fail if the provided message is not an inbound message from
+ *		this connection group.
  */
-API_AVAILABLE(macos(12.0), ios(15.0), watchos(8.0), tvos(15.0))
+API_AVAILABLE(macos(11.0), ios(14.0), watchos(7.0), tvos(14.0))
 NW_RETURNS_RETAINED _Nullable nw_connection_t
-nw_connection_group_extract_connection(nw_connection_group_t group,
-									   _Nullable nw_endpoint_t endpoint,
-									   _Nullable nw_protocol_options_t protocol_options);
-
-/*!
- * @function nw_connection_group_reinsert_extracted_connection
- *
- * @abstract
- *		Reinsert a connection into a connection group. Once reinserted, the connection group
- *		will handle subsequent messages from this remote endpoint, and any outstanding reads on
- *		the connection will be cancelled.
- *
- * @param group
- *		The connection group object from which the connection was extracted. If the connection was
- *		not extracted from this connection group, the reinsertion will fail.
- *
- *	@param connection
- *		A connection that was extracted from this connection group.
- *
- * @result
- *		Returns true if the reinsertion was successful. Reinsertion will fail if the provided connection was
- *		not extracted from this connection group.
- */
-API_AVAILABLE(macos(12.0), ios(15.0), watchos(8.0), tvos(15.0))
-bool
-nw_connection_group_reinsert_extracted_connection(nw_connection_group_t group,
-												  nw_connection_t connection);
+nw_connection_group_extract_connection_for_message(nw_connection_group_t group,
+												   nw_content_context_t context);
 
 #ifdef __BLOCKS__
 
@@ -551,7 +474,6 @@
  *		enqueued to be sent.
  */
 API_AVAILABLE(macos(11.0), ios(14.0), watchos(7.0), tvos(14.0))
-NW_SWIFT_DISABLE_ASYNC
 void
 nw_connection_group_send_message(nw_connection_group_t group,
 								 _Nullable dispatch_data_t content,
@@ -559,67 +481,6 @@
 								 nw_content_context_t context,
 								 nw_connection_group_send_completion_t completion);
 
-/*!
- * @typedef nw_connection_group_new_connection_handler_t
- *
- * @abstract
- *		A block called with a new connection when a multiplex group receives a new stream. If a new connection
- *		handler is set the user must handle connections received by this handler. There are three possible
- *		actions to take and one of these three actions must be taken.
- *		1) Take over the ownership of the connection. In this case, the connection is used by the client to
- *		   send and receive data as any other connection would be used. The client may insert this
- *		   connection back into the connection group at a later point if so desired.
- *		   The connection must have a queue set and be started before it can be used.
- *      2) If you want the connection group to handle this connection, simply insert this connection back into
- *         the connection group right away.
- *      3) If you don't want to accept this connection, simply cancel the connection.
- *
- * @param connection
- *		The connection representing the new stream on this multiplexing protocol
- */
-typedef void (^nw_connection_group_new_connection_handler_t)(nw_connection_t connection);
-
-/*!
- * @function nw_connection_group_set_new_connection_handler
- *
- * @abstract
- *		Sets the new connection handler to be invoked whenever a new inbound connection
- *		is received by the connection group. This function must not be called
- *		after starting the connection group.
- *
- * @param group
- *		The connection group object.
- *
- * @param new_connection_handler
- *		The new connection handler to call upon receipt of a new inbound connection.
- *		Pass NULL to remove the handler.
- */
-API_AVAILABLE(macos(12.0), ios(15.0), watchos(8.0), tvos(15.0))
-void
-nw_connection_group_set_new_connection_handler(nw_connection_group_t group,
-											   _Nullable nw_connection_group_new_connection_handler_t new_connection_handler);
-
-/*!
- * @function nw_connection_group_copy_protocol_metadata
- *
- * @abstract
- *		Copy the metadata corresponding to a given inbound connection group message.
- *
- * @param group
- *		The connection group object.
- *
- * @param definition
- *		The protocol definition for which metadata will be returned.
- *
- * @result
- *		Returns a retained protocol metadata object, or NULL if the connection
- *		group has not been established yet or is cancelled.
- */
-API_AVAILABLE(macos(12.0), ios(15.0), watchos(8.0), tvos(15.0))
-_Nullable nw_protocol_metadata_t
-nw_connection_group_copy_protocol_metadata(nw_connection_group_t group,
-										   nw_protocol_definition_t definition);
-
 #endif // __BLOCKS__
 
 __END_DECLS
diff -ruN /Applications/Xcode_13.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Network.framework/Headers/connection_report.h /Applications/Xcode_13.0.0-rc.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Network.framework/Headers/connection_report.h
--- /Applications/Xcode_13.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Network.framework/Headers/connection_report.h	2021-08-06 23:44:54.000000000 -0400
+++ /Applications/Xcode_13.0.0-rc.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Network.framework/Headers/connection_report.h	2021-08-03 21:50:00.000000000 -0400
@@ -534,8 +534,7 @@
  *		values across paths where applicable. For values that cannot
  *		sum, the value of the primary path is used.
  */
-API_AVAILABLE(macos(10.15), ios(13.0), watchos(6.0), tvos(13.0))
-extern const uint32_t _nw_data_transfer_report_all_paths;
+NW_EXPORT extern const uint32_t _nw_data_transfer_report_all_paths;
 #define NW_ALL_PATHS (_nw_data_transfer_report_all_paths)
 
 /*!
@@ -595,7 +594,8 @@
  *
  * @param path_index
  *		The index for the path over which data is transferred.
- *		Passing NW_ALL_PATHS for this function returns
+ *		For non-multipath connections, pass 0 as the path index to access
+ *		the single path. Passing NW_ALL_PATHS for this function returns
  *		the sum of all paths.
  *
  * @result
@@ -619,7 +619,8 @@
  *
  * @param path_index
  *		The index for the path over which data is transferred.
- *		Passing NW_ALL_PATHS for this function returns
+ *		For non-multipath connections, pass 0 as the path index to access
+ *		the single path. Passing NW_ALL_PATHS for this function returns
  *		the sum of all paths.
  *
  * @result
@@ -643,7 +644,8 @@
  *
  * @param path_index
  *		The index for the path over which data is transferred.
- *		Passing NW_ALL_PATHS for this function returns
+ *		For non-multipath connections, pass 0 as the path index to access
+ *		the single path. Passing NW_ALL_PATHS for this function returns
  *		the sum of all paths.
  *
  * @result
@@ -667,7 +669,8 @@
  *
  * @param path_index
  *		The index for the path over which data is transferred.
- *		Passing NW_ALL_PATHS for this function returns
+ *		For non-multipath connections, pass 0 as the path index to access
+ *		the single path. Passing NW_ALL_PATHS for this function returns
  *		the sum of all paths.
  *
  * @result
@@ -691,7 +694,8 @@
  *
  * @param path_index
  *		The index for the path over which data is transferred.
- *		Passing NW_ALL_PATHS for this function returns
+ *		For non-multipath connections, pass 0 as the path index to access
+ *		the single path. Passing NW_ALL_PATHS for this function returns
  *		the sum of all paths.
  *
  * @result
@@ -715,7 +719,8 @@
  *
  * @param path_index
  *		The index for the path over which data is transferred.
- *		Passing NW_ALL_PATHS for this function returns
+ *		For non-multipath connections, pass 0 as the path index to access
+ *		the single path. Passing NW_ALL_PATHS for this function returns
  *		the sum of all paths.
  *
  * @result
@@ -739,7 +744,8 @@
  *
  * @param path_index
  *		The index for the path over which data is transferred.
- *		Passing NW_ALL_PATHS for this function returns
+ *		For non-multipath connections, pass 0 as the path index to access
+ *		the single path. Passing NW_ALL_PATHS for this function returns
  *		the sum of all paths.
  *
  * @result
@@ -838,7 +844,8 @@
  *
  * @param path_index
  *		The index for the path over which data is transferred.
- *		Passing NW_ALL_PATHS for this function returns
+ *		For non-multipath connections, pass 0 as the path index to access
+ *		the single path. Passing NW_ALL_PATHS for this function returns
  *		the sum of all paths.
  *
  * @result
@@ -862,7 +869,8 @@
  *
  * @param path_index
  *		The index for the path over which data is transferred.
- *		Passing NW_ALL_PATHS for this function returns
+ *		For non-multipath connections, pass 0 as the path index to access
+ *		the single path. Passing NW_ALL_PATHS for this function returns
  *		the sum of all paths.
  *
  * @result
@@ -886,7 +894,8 @@
  *
  * @param path_index
  *		The index for the path over which data is transferred.
- *		Passing NW_ALL_PATHS for this function is
+ *		For non-multipath connections, pass 0 as the path index to access
+ *		the single path. Passing NW_ALL_PATHS for this function is
  *		equivalent to passing 0.
  *
  * @result
@@ -900,31 +909,6 @@
 nw_data_transfer_report_copy_path_interface(nw_data_transfer_report_t report,
 											uint32_t path_index);
 
-/*!
- * @function nw_data_transfer_report_get_path_radio_type
- *
- * @abstract
- *		Retrieve the radio type used for data transfer for a given
- *		path used by a connection.
- *
- * @param report
- *		A data transfer report in the "collected" state.
- *
- * @param path_index
- *		The index for the path over which data is transferred.
- *		Passing NW_ALL_PATHS for this function is
- *		equivalent to passing 0.
- *
- * @result
- *		Returns the radio type used for the specified path.
- *		Returns nw_interface_radio_type_unknown on failure.
- *		Fails if the report is not yet collected.
- */
-API_AVAILABLE(macos(12.0), ios(15.0), watchos(8.0), tvos(15.0))
-nw_interface_radio_type_t
-nw_data_transfer_report_get_path_radio_type(nw_data_transfer_report_t report,
-											uint32_t path_index);
-
 __END_DECLS
 
 NW_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_13.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Network.framework/Headers/content_context.h /Applications/Xcode_13.0.0-rc.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Network.framework/Headers/content_context.h
--- /Applications/Xcode_13.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Network.framework/Headers/content_context.h	2021-08-09 03:22:07.000000000 -0400
+++ /Applications/Xcode_13.0.0-rc.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Network.framework/Headers/content_context.h	2021-08-03 21:49:59.000000000 -0400
@@ -107,7 +107,7 @@
 /*!
  * @function nw_content_context_get_expiration_milliseconds
  * @discussion Retrieve the number of milliseconds after which the content will expire.
- *		See nw_content_context_set_expiration_milliseconds for further discussion.
+ *		See nw_content_context_set_expiration_milliseconds for futher discussion.
  * @param context The context object
  * @result Returns content expiration, or 0 if not set.
  */
@@ -132,7 +132,7 @@
 /*!
  * @function nw_content_context_get_relative_priority
  * @discussion Get the relative priority for the content. See
- *		nw_content_context_set_relative_priority for further discussion.
+ *		nw_content_context_set_relative_priority for futher discussion.
  * @param context The context object
  * @result Returns the relative priority, between 0.0 (lowest priority)
  *		to 1.0 (highest priority). The default value is 0.5.
diff -ruN /Applications/Xcode_13.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Network.framework/Headers/ethernet_channel.h /Applications/Xcode_13.0.0-rc.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Network.framework/Headers/ethernet_channel.h
--- /Applications/Xcode_13.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Network.framework/Headers/ethernet_channel.h	2021-08-06 23:46:47.000000000 -0400
+++ /Applications/Xcode_13.0.0-rc.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Network.framework/Headers/ethernet_channel.h	2021-08-03 21:50:01.000000000 -0400
@@ -2,7 +2,7 @@
 //  ethernet_channel.h
 //  Network
 //
-//  Copyright (c) 2019, 2021 Apple Inc. All rights reserved.
+//  Copyright (c) 2019 Apple Inc. All rights reserved.
 //
 
 #ifndef __NW_ETHERNET_CHANNEL_H__
@@ -278,7 +278,6 @@
  *		This callback does indicate that the data has been sent.
  */
 API_AVAILABLE(macos(10.15)) API_UNAVAILABLE(ios, watchos, tvos)
-NW_SWIFT_DISABLE_ASYNC
 void
 nw_ethernet_channel_send(nw_ethernet_channel_t ethernet_channel,
 						 dispatch_data_t content,
diff -ruN /Applications/Xcode_13.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Network.framework/Headers/framer_options.h /Applications/Xcode_13.0.0-rc.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Network.framework/Headers/framer_options.h
--- /Applications/Xcode_13.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Network.framework/Headers/framer_options.h	2021-08-07 08:54:06.000000000 -0400
+++ /Applications/Xcode_13.0.0-rc.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Network.framework/Headers/framer_options.h	2021-08-03 21:50:01.000000000 -0400
@@ -350,13 +350,6 @@
  *		run, the implementation should call functions like
  *		nw_framer_parse_input() and nw_framer_deliver_input().
  *
- *		Input events are edge triggered. The input_handler block
- *		should continue to call nw_framer_parse_input()
- *		until nw_framer_parse_input() can no longer produce
- *		enough bytes to satisfy the request, or the protocol
- *		needs to wait for some other event to continue processing
- *		later.
- *
  *		This setter is required, and must only be set from within
  *		the invocation of a nw_framer_start_handler_t.
  *
diff -ruN /Applications/Xcode_13.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Network.framework/Headers/group_descriptor.h /Applications/Xcode_13.0.0-rc.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Network.framework/Headers/group_descriptor.h
--- /Applications/Xcode_13.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Network.framework/Headers/group_descriptor.h	2021-08-07 08:54:05.000000000 -0400
+++ /Applications/Xcode_13.0.0-rc.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Network.framework/Headers/group_descriptor.h	2021-03-16 04:44:16.000000000 -0400
@@ -33,26 +33,6 @@
 #endif // NW_GROUP_DESCRIPTOR_IMPL
 
 /*!
- * @function nw_group_descriptor_create_multiplex
- *
- * @abstract
- *		Creates a new group descriptor object based on an endpoint
- *		to which communication will be established using a multiplexing protocol,
- *		represented as an nw_endpoint containing the remote endpoint
- *		to use for communication.
- *
- * @param remote_endpoint
- *		An endpoint that can be used for communication over a multiplexing protocol.
- *
- * @result
- *		An instantiated group descriptor object or nil if the specified
- *		endpoint is not valid.
- */
-API_AVAILABLE(macos(12.0), ios(15.0), watchos(8.0), tvos(15.0))
-NW_RETURNS_RETAINED nw_group_descriptor_t
-nw_group_descriptor_create_multiplex(nw_endpoint_t remote_endpoint);
-
-/*!
  * @function nw_group_descriptor_create_multicast
  *
  * @abstract
@@ -67,7 +47,7 @@
  *		endpoint is not an address endpoint representing a valid multicast
  *		group.
  */
-API_AVAILABLE(macos(11.0), ios(14.0), watchos(7.0), tvos(14.0))
+NW_EXPORT
 NW_RETURNS_RETAINED nw_group_descriptor_t
 nw_group_descriptor_create_multicast(nw_endpoint_t multicast_group);
 
@@ -86,7 +66,7 @@
  * @result Returns true if the endpoint was added, false if the endpoint was
  * 		not of a valid type and therefore not added.
  */
-API_AVAILABLE(macos(11.0), ios(14.0), watchos(7.0), tvos(14.0))
+NW_EXPORT
 bool
 nw_group_descriptor_add_endpoint(nw_group_descriptor_t descriptor,
 								 nw_endpoint_t endpoint);
@@ -121,7 +101,7 @@
  *		Returning true from the block will continue to enumerate, and returning false will stop
  *		enumerating.
  */
-API_AVAILABLE(macos(11.0), ios(14.0), watchos(7.0), tvos(14.0))
+NW_EXPORT
 void
 nw_group_descriptor_enumerate_endpoints(nw_group_descriptor_t descriptor,
 										NW_NOESCAPE nw_group_descriptor_enumerate_endpoints_block_t enumerate_block);
@@ -140,7 +120,7 @@
  * @param source
  *		An endpoint describing the source for this descriptor.
  */
-API_AVAILABLE(macos(11.0), ios(14.0), watchos(7.0), tvos(14.0))
+NW_EXPORT
 void
 nw_multicast_group_descriptor_set_specific_source(nw_group_descriptor_t multicast_descriptor,
 												  nw_endpoint_t source);
@@ -157,7 +137,7 @@
  * @param disable_unicast_traffic
  *		A boolean indicating if receiving unicast traffic should be disabled.
  */
-API_AVAILABLE(macos(11.0), ios(14.0), watchos(7.0), tvos(14.0))
+NW_EXPORT
 void
 nw_multicast_group_descriptor_set_disable_unicast_traffic(nw_group_descriptor_t multicast_descriptor,
 														  bool disable_unicast_traffic);
@@ -173,7 +153,7 @@
  *
  * @result A boolean indicating if receiving unicast traffic should be disabled.
  */
-API_AVAILABLE(macos(11.0), ios(14.0), watchos(7.0), tvos(14.0))
+NW_EXPORT
 bool
 nw_multicast_group_descriptor_get_disable_unicast_traffic(nw_group_descriptor_t multicast_descriptor);
 
diff -ruN /Applications/Xcode_13.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Network.framework/Headers/interface.h /Applications/Xcode_13.0.0-rc.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Network.framework/Headers/interface.h
--- /Applications/Xcode_13.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Network.framework/Headers/interface.h	2021-08-09 03:25:06.000000000 -0400
+++ /Applications/Xcode_13.0.0-rc.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Network.framework/Headers/interface.h	2021-08-03 21:50:00.000000000 -0400
@@ -75,40 +75,6 @@
 nw_interface_get_type(nw_interface_t interface);
 
 /*!
- * @typedef nw_interface_radio_type_t
- * @abstract
- *		Interface radio types represent the radio technology for a network link.
- */
-typedef enum {
-	nw_interface_radio_type_unknown = 0,
-	nw_interface_radio_type_wifi_b = 1,
-	nw_interface_radio_type_wifi_a = 2,
-	nw_interface_radio_type_wifi_g = 3,
-	nw_interface_radio_type_wifi_n = 4,
-	nw_interface_radio_type_wifi_ac = 5,
-	nw_interface_radio_type_wifi_ax = 6,
-
-	// 4G LTE
-	nw_interface_radio_type_cell_lte = 0x80,
-	// 5G Dual LTE & New Radio Sub6
-	nw_interface_radio_type_cell_endc_sub6 = 0x81,
-	// 5G Dual LTE & New Radio mmWave
-	nw_interface_radio_type_cell_endc_mmw = 0x82,
-	// 5G Stand Alone New Radio Sub6
-	nw_interface_radio_type_cell_nr_sa_sub6 = 0x83,
-	// 5G Stand Alone New Radio mmWave
-	nw_interface_radio_type_cell_nr_sa_mmw = 0x84,
-	// 3G WCDMA
-	nw_interface_radio_type_cell_wcdma = 0x85,
-	// 2G GSM
-	nw_interface_radio_type_cell_gsm = 0x86,
-	// 1x data
-	nw_interface_radio_type_cell_cdma = 0x87,
-	// HDR data
-	nw_interface_radio_type_cell_evdo = 0x88,
-} nw_interface_radio_type_t;
-
-/*!
  * @function nw_interface_get_name
  *
  * @abstract
diff -ruN /Applications/Xcode_13.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Network.framework/Headers/ip_options.h /Applications/Xcode_13.0.0-rc.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Network.framework/Headers/ip_options.h
--- /Applications/Xcode_13.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Network.framework/Headers/ip_options.h	2021-08-06 23:46:46.000000000 -0400
+++ /Applications/Xcode_13.0.0-rc.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Network.framework/Headers/ip_options.h	2021-08-03 21:50:00.000000000 -0400
@@ -2,7 +2,7 @@
 //  ip_options.h
 //  Network
 //
-//  Copyright (c) 2017-2020 Apple Inc. All rights reserved.
+//  Copyright (c) 2017-2019 Apple Inc. All rights reserved.
 //
 
 #ifndef __NW_IP_OPTIONS_H__
diff -ruN /Applications/Xcode_13.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Network.framework/Headers/listener.h /Applications/Xcode_13.0.0-rc.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Network.framework/Headers/listener.h
--- /Applications/Xcode_13.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Network.framework/Headers/listener.h	2021-08-07 05:21:02.000000000 -0400
+++ /Applications/Xcode_13.0.0-rc.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Network.framework/Headers/listener.h	2021-08-03 21:49:59.000000000 -0400
@@ -13,7 +13,6 @@
 #endif // __NW_INDIRECT__
 
 #include <Network/connection.h>
-#include <Network/connection_group.h>
 #include <Network/advertise_descriptor.h>
 #include <Network/error.h>
 
@@ -209,41 +208,6 @@
 nw_listener_set_new_connection_handler(nw_listener_t listener,
 									   _Nullable nw_listener_new_connection_handler_t handler);
 
-/*!
- * @typedef nw_listener_new_connection_group_handler_t
- *
- * @abstract
- *		The block called to notify the client of a new connection group.
- *
- * @param connection_group
- *		The new connection group object. This connection group is not yet started. Set the
- *		event handler and other settings on the connection group before calling start.
- */
-typedef void (^nw_listener_new_connection_group_handler_t)(nw_connection_group_t connection_group);
-
-/*!
- * @function nw_listener_set_new_connection_group_handler
- *
- * @abstract
- *		Sets a new connection group handler to be called upon receiving an incoming
- *		connection that has a multiplexing protocol in its connected protocol stack.
- *		Must be called before nw_listener_start. Note that this handler is mutually
- *		exclusive with the new connection handler that is set via
- *		nw_listener_set_new_connection_handler. Only one of these handlers may
- *		be set at one time.
- *
- * @param listener
- *		The listener object.
- *
- * @param handler
- *		The event handler to call when the listener receives a new connection group.
- *		Pass NULL to remove the new connection group handler.
- */
-API_AVAILABLE(macos(12.0), ios(15.0), watchos(8.0), tvos(15.0))
-void
-nw_listener_set_new_connection_group_handler(nw_listener_t listener,
-											 _Nullable nw_listener_new_connection_group_handler_t handler);
-
 #endif // __BLOCKS__
 
 /*!
diff -ruN /Applications/Xcode_13.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Network.framework/Headers/nw_object.h /Applications/Xcode_13.0.0-rc.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Network.framework/Headers/nw_object.h
--- /Applications/Xcode_13.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Network.framework/Headers/nw_object.h	2021-08-06 23:46:47.000000000 -0400
+++ /Applications/Xcode_13.0.0-rc.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Network.framework/Headers/nw_object.h	2021-08-03 21:50:00.000000000 -0400
@@ -2,7 +2,7 @@
 //  nw_object.h
 //  Network
 //
-//  Copyright (c) 2016-2021 Apple Inc. All rights reserved.
+//  Copyright (c) 2016-2020 Apple Inc. All rights reserved.
 //
 
 #ifndef __NW_OBJECT_H__
@@ -27,13 +27,10 @@
 
 #if OS_OBJECT_USE_OBJC
 #  define NW_OBJECT_DECL(type) OS_OBJECT_DECL(type)
-#  define NW_OBJECT_DECL_SUBCLASS(type, super) OS_OBJECT_DECL_SUBCLASS(type, super)
 #else // OS_OBJECT_USE_OBJC
-#  define NW_OBJECT_DECL(type)					\
-		struct type;							\
+#  define NW_OBJECT_DECL(type)				\
+		struct type;						\
 		typedef	struct type *type##_t
-#  define NW_OBJECT_DECL_SUBCLASS(type, super)	\
-		typedef super##_t type##_t
 #endif // OS_OBJECT_USE_OBJC
 
 
@@ -59,17 +56,11 @@
 #  define NW_RETURNS_RETAINED OS_OBJECT_RETURNS_RETAINED
 #endif // !NW_RETURNS_RETAINED
 
-#if __has_attribute(swift_async)
-#  define NW_SWIFT_DISABLE_ASYNC __attribute__((swift_async(none)))
-#else // __has_attribute(swift_async)
-#  define NW_SWIFT_DISABLE_ASYNC
-#endif // __has_attribute(swift_async)
-
-#if defined(__OBJC__) && OS_OBJECT_USE_OBJC && __has_feature(attribute_ns_returns_not_retained)
+#if defined(__OBJC__) && __has_feature(attribute_ns_returns_not_retained)
 #  define NW_RETURNS_NOT_RETAINED __attribute__((ns_returns_not_retained))
-#else // __OBJC__ && OS_OBJECT_USE_OBJC && ns_returns_not_retained
+#else // __OBJC__ && ns_returns_not_retained
 #  define NW_RETURNS_NOT_RETAINED
-#endif // __OBJC__ && OS_OBJECT_USE_OBJC && ns_returns_not_retained
+#endif // __OBJC__ && ns_returns_not_retained
 
 #if __has_attribute(noescape)
 #define NW_NOESCAPE __attribute__((__noescape__))
@@ -83,12 +74,6 @@
 #define NW_DIRECT
 #endif // objc_direct
 
-#if __has_attribute(objc_direct_members)
-#define NW_DIRECT_MEMBERS __attribute__((objc_direct_members))
-#else // objc_direct_members
-#define NW_DIRECT_MEMBERS
-#endif // objc_direct_members
-
 #if defined(__OBJC__) && __has_attribute(ns_consumed)
 #  define NW_RELEASES_ARGUMENT __attribute__((__ns_consumed__))
 #else // __OBJC__ && ns_consumed
@@ -116,20 +101,24 @@
 #endif // !NW_UNSAFE_UNRETAINED
 
 #ifndef NW_EXTERNALLY_RETAINED
-#if defined(__OBJC__) && __has_feature(objc_arc) && __has_attribute(objc_externally_retained)
+#if defined(__OBJC__) && __has_attribute(objc_externally_retained)
 #   define NW_EXTERNALLY_RETAINED              __attribute__((objc_externally_retained))
 #   define NW_ASSUME_EXTERNALLY_RETAINED_BEGIN _Pragma("clang attribute NW_ASSUME_EXTERNALLY_RETAINED.push(__attribute__((objc_externally_retained)), apply_to=any(function, block, objc_method))")
 #   define NW_ASSUME_EXTERNALLY_RETAINED_END   _Pragma("clang attribute NW_ASSUME_EXTERNALLY_RETAINED.pop")
-#else // __OBJC__ && objc_arc && objc_externally_retained
+#else // __OBJC__ && objc_externally_retained
 #   define NW_EXTERNALLY_RETAINED
 #   define NW_ASSUME_EXTERNALLY_RETAINED_BEGIN
 #   define NW_ASSUME_EXTERNALLY_RETAINED_END
-#endif // __OBJC__ && objc_arc && objc_externally_retained
+#endif // __OBJC__ && objc_externally_retained
 #endif // !NW_EXTERNALLY_RETAINED
 
+#ifndef NW_EXPORT
+#  define NW_EXPORT __attribute__((visibility("default")))
+#endif // !NW_EXPORT
+
 #ifndef NW_EXPORT_PROJECT
-#  define NW_EXPORT_PROJECT __attribute__((visibility("default")))
-#endif // !NW_EXPORT_PROJECT
+#  define NW_EXPORT_PROJECT NW_EXPORT
+#endif // !NW_EXPORT
 
 #ifndef NW_NOT_i386_MAC
 #  if !TARGET_OS_OSX || !defined(__i386__)
@@ -161,24 +150,6 @@
 
 #endif // !OS_OBJECT_USE_OBJC_RETAIN_RELEASE
 
-#ifndef NW_ENUM
-#if __has_attribute(enum_extensibility)
-#define __NW_ENUM_ATTRIBUTES __attribute__((enum_extensibility(open)))
-#else // __has_attribute(enum_extensibility)
-#define __NW_ENUM_ATTRIBUTES
-#endif // __has_attribute(enum_extensibility)
-
-#define __NW_ENUM_GET_MACRO(_1, _2, NAME, ...) NAME
-#if (defined(__cplusplus) && __cplusplus >= 201103L && (__has_extension(cxx_strong_enums) || __has_feature(objc_fixed_enum))) || (!defined(__cplusplus) && __has_feature(objc_fixed_enum))
-#define __NW_NAMED_ENUM(_type, _name)     enum __NW_ENUM_ATTRIBUTES _name : _type _name; enum _name : _type
-#define __NW_ANON_ENUM(_type)             enum __NW_ENUM_ATTRIBUTES : _type
-#else // (defined(__cplusplus) && __cplusplus >= 201103L && (__has_extension(cxx_strong_enums) || __has_feature(objc_fixed_enum))) || (!defined(__cplusplus) && __has_feature(objc_fixed_enum))
-#define __NW_NAMED_ENUM(_type, _name) _type _name; enum
-#define __NW_ANON_ENUM(_type) enum
-#endif // (defined(__cplusplus) && __cplusplus >= 201103L && (__has_extension(cxx_strong_enums) || __has_feature(objc_fixed_enum))) || (!defined(__cplusplus) && __has_feature(objc_fixed_enum))
-#define NW_ENUM(...) __NW_ENUM_GET_MACRO(__VA_ARGS__, __NW_NAMED_ENUM, __NW_ANON_ENUM, )(__VA_ARGS__)
-#endif // NW_ENUM
-
 
 NW_OBJECT_DECL(nw_object);
 
diff -ruN /Applications/Xcode_13.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Network.framework/Headers/parameters.h /Applications/Xcode_13.0.0-rc.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Network.framework/Headers/parameters.h
--- /Applications/Xcode_13.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Network.framework/Headers/parameters.h	2021-08-07 08:54:05.000000000 -0400
+++ /Applications/Xcode_13.0.0-rc.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Network.framework/Headers/parameters.h	2021-08-03 21:50:00.000000000 -0400
@@ -2,7 +2,7 @@
 //  parameters.h
 //  Network
 //
-//  Copyright (c) 2014-2021 Apple Inc. All rights reserved.
+//  Copyright (c) 2014-2020 Apple Inc. All rights reserved.
 //
 
 #ifndef __NW_PARAMETERS_H__
@@ -175,27 +175,6 @@
 nw_parameters_create_custom_ip(uint8_t custom_ip_protocol_number,
 							   nw_parameters_configure_protocol_block_t configure_ip);
 
-/*!
- * @function nw_parameters_create_quic
- *
- * @abstract
- *		Creates a parameters object that is configured for QUIC. The caller must
- *		pass in a block to configure options.
- *
- * @param configure_quic
- *		A block to configure QUIC. The caller must pass a custom
- *		block to configure the QUIC options.
- *
- * @result
- *		Returns an allocated nw_parameters_t object on success.
- *		Callers are responsible for deallocating using nw_release(obj) or [obj release].
- *		These objects support ARC.
- *		Returns NULL on failure. Fails due to invalid parameters.
- */
-API_AVAILABLE(macos(12.0), ios(15.0), watchos(8.0), tvos(15.0))
-NW_RETURNS_RETAINED nw_parameters_t
-nw_parameters_create_quic(nw_parameters_configure_protocol_block_t configure_quic);
-
 #endif // __BLOCKS__
 
 /*!
@@ -258,53 +237,6 @@
 nw_parameters_set_privacy_context(nw_parameters_t parameters,
 								  nw_privacy_context_t privacy_context);
 
-/*!
- * @typedef nw_parameters_attribution_t
- * @abstract
- *		Attribution values can be used to indicate who determined the network content being accessed.
- */
-typedef NW_ENUM(uint8_t, nw_parameters_attribution_t) {
-	/*! @const nw_parameters_attribution_developer Developer chosen content. */
-	nw_parameters_attribution_developer = 1,
-	/*! @const nw_parameters_attribution_user User chosen content. */
-	nw_parameters_attribution_user = 2
-};
-
-/*!
- * @function nw_parameters_set_attribution
- *
- * @abstract
- *        In order to help differentiate communication with domains requested by the user from those requested by the
- *        developer, attribution may be used. Attribution defaults to nw_parameters_attribution_developer. Setting
- *        attribution to nw_parameters_attribution_user indicates that the networking performed using these parameters
- *        is directed to content specified by the user, not the developer.
- *
- * @param parameters
- *		The parameters to modify.
- *
- * @param attribution
- *		The entity to attribute the network operations to.
- */
-API_AVAILABLE(macos(12.0), ios(15.0), watchos(8.0), tvos(15.0))
-void
-nw_parameters_set_attribution(nw_parameters_t parameters, nw_parameters_attribution_t attribution);
-
-/*!
- * @function nw_parameters_get_attribution
- *
- * @abstract
- *		Returns the attribution set on the parameters.
- *
- * @param parameters
- *		The parameters to check.
- *
- * @result
- *		Returns the attribution property of the parameters.
- */
-API_AVAILABLE(macos(12.0), ios(15.0), watchos(8.0), tvos(15.0))
-nw_parameters_attribution_t
-nw_parameters_get_attribution(nw_parameters_t parameters);
-
 #pragma mark - Path Selection
 
 /*!
diff -ruN /Applications/Xcode_13.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Network.framework/Headers/quic_options.h /Applications/Xcode_13.0.0-rc.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Network.framework/Headers/quic_options.h
--- /Applications/Xcode_13.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Network.framework/Headers/quic_options.h	2021-08-09 03:25:06.000000000 -0400
+++ /Applications/Xcode_13.0.0-rc.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Network.framework/Headers/quic_options.h	1969-12-31 19:00:00.000000000 -0500
@@ -1,790 +0,0 @@
-//
-//  quic_options.h
-//  Network
-//
-//  Copyright (c) 2020-2021 Apple Inc. All rights reserved.
-//
-
-#ifndef __NW_QUIC_OPTIONS_H__
-#define __NW_QUIC_OPTIONS_H__
-
-#ifndef __NW_INDIRECT__
-#warning "Please include <Network/Network.h> instead of this file directly."
-#endif // __NW_INDIRECT__
-
-#include <Network/protocol_options.h>
-
-#include <Security/Security.h>
-
-
-__BEGIN_DECLS
-
-NW_ASSUME_NONNULL_BEGIN
-
-#pragma mark - QUIC
-
-/*!
- * @function nw_protocol_copy_quic_definition
- *
- * @abstract
- *		Access the definition of the default system protocol implementation
- *		of QUIC. This protocol can be used as part of a
- *		connection's protocol stack as a transport protocol.
- *
- * @result
- *		Returns a retained protocol definition object.
- */
-API_AVAILABLE(macos(12.0), ios(15.0), watchos(8.0), tvos(15.0))
-NW_RETURNS_RETAINED nw_protocol_definition_t
-nw_protocol_copy_quic_definition(void);
-
-/*!
- * @function nw_quic_create_options
- *
- * @abstract
- *		Create an instance of QUIC protocol options. This object can be added
- *		to an nw_protocol_stack_t to be used in an nw_connection_t or
- *		an nw_listener_t.
- *
- * @result
- *		Returns a retained protocol options object.
- */
-API_AVAILABLE(macos(12.0), ios(15.0), watchos(8.0), tvos(15.0))
-NW_RETURNS_RETAINED nw_protocol_options_t
-nw_quic_create_options(void);
-
-/*!
- * @function nw_protocol_options_is_quic
- *
- * @abstract
- *		Checks whether the given protocol options define a QUIC protocol.
- *
- * @result
- *		Returns true if the protocol options are for QUIC, false otherwise.
- */
-API_AVAILABLE(macos(12.0), ios(15.0), watchos(8.0), tvos(15.0))
-bool
-nw_protocol_options_is_quic(nw_protocol_options_t options);
-
-/*!
- * @function nw_quic_add_tls_application_protocol
- *
- * @abstract
- *		Adds an Application-Layer Protocol Negotiation (ALPN) value to present in the TLS handshake.
- *
- * @param options
- *		An nw_protocol_options_t for QUIC.
- */
-API_AVAILABLE(macos(12.0), ios(15.0), watchos(8.0), tvos(15.0))
-void
-nw_quic_add_tls_application_protocol(nw_protocol_options_t options, const char *application_protocol);
-
-/*!
- * @function nw_quic_copy_sec_protocol_options
- *
- * @abstract
- *		Access the sec_protocol_options_t for a given QUIC
- *		options instance. See <Security/SecProtocolOptions.h> for functions
- *		to further configure security options.
- *
- * @param options
- *		An nw_protocol_options_t for QUIC.
- *
- * @result
- *		Returns a retained sec_protocol_options_t object.
- */
-API_AVAILABLE(macos(12.0), ios(15.0), watchos(8.0), tvos(15.0))
-NW_RETURNS_RETAINED sec_protocol_options_t
-nw_quic_copy_sec_protocol_options(nw_protocol_options_t options);
-
-#pragma mark - QUIC Options
-
-/*!
- * @function nw_quic_get_stream_is_unidirectional
- *
- * @abstract
- *		Returns whether or not a QUIC stream is unidirectional.
- *
- * @param options
- *		An nw_protocol_options_t for a QUIC stream.
- *
- * @result
- *		True if the stream is unidirectional, false otherwise.
- */
-API_AVAILABLE(macos(12.0), ios(15.0), watchos(8.0), tvos(15.0))
-bool
-nw_quic_get_stream_is_unidirectional(nw_protocol_options_t options);
-
-/*!
- * @function nw_quic_set_stream_is_unidirectional
- *
- * @abstract
- *		Set whether or not a QUIC stream should be unidirectional.
- *
- * @param options
- *		An nw_protocol_options_t for a QUIC stream.
- *
- * @param is_unidirectional
- *		True if the stream is unidirectional, false otherwise.
- */
-API_AVAILABLE(macos(12.0), ios(15.0), watchos(8.0), tvos(15.0))
-void
-nw_quic_set_stream_is_unidirectional(nw_protocol_options_t options,
-									 bool is_unidirectional);
-
-/*!
- * @function nw_quic_get_initial_max_data
- *
- * @abstract
- *		Get the initial_max_data transport parameter on a QUIC
- *		connection.
- *
- * @param options
- *		An nw_protocol_options_t for QUIC.
- *
- * @result
- *		The initial_max_data that a client
- *		is willing to receive on a connection.
- */
-API_AVAILABLE(macos(12.0), ios(15.0), watchos(8.0), tvos(15.0))
-uint64_t
-nw_quic_get_initial_max_data(nw_protocol_options_t options);
-
-/*!
- * @function nw_quic_set_initial_max_data
- *
- * @abstract
- *		Set the initial_max_data transport parameter on a QUIC
- *		connection. Setting this option requires
- *		initial_max_stream_data_bidirectional_local,
- *		initial_max_stream_data_bidirectional_remote and
- *		initial_max_stream_data_unidirectional also to be set.
- *
- * @param options
- *		An nw_protocol_options_t for QUIC.
- *
- * @param initial_max_data
- *		The initial_max_data controls how much data, in bytes, a client
- *		is willing to receive on a connection.
- */
-API_AVAILABLE(macos(12.0), ios(15.0), watchos(8.0), tvos(15.0))
-void
-nw_quic_set_initial_max_data(nw_protocol_options_t options,
-							 uint64_t initial_max_data);
-
-/*!
- * @function nw_quic_get_max_udp_payload_size
- *
- * @abstract
- *		Get the maximum length of a QUIC packet (UDP payload)
- *		that the client is willing to receive on a connection, in bytes.
- *
- * @param options
- *		An nw_protocol_options_t for QUIC.
- *
- * @result
- *		The max_udp_payload_size value, in bytes.
- */
-API_AVAILABLE(macos(12.0), ios(15.0), watchos(8.0), tvos(15.0))
-uint16_t
-nw_quic_get_max_udp_payload_size(nw_protocol_options_t options);
-
-/*!
- * @function nw_quic_set_max_udp_payload_size
- *
- * @abstract
- *		Define the maximum length of a QUIC packet (UDP payload)
- *		that the client is willing to receive on a connection, in bytes.
- *
- * @param options
- *		An nw_protocol_options_t for QUIC.
- *
- * @param max_udp_payload_size
- *		The max_udp_payload_size value, in bytes.
- */
-API_AVAILABLE(macos(12.0), ios(15.0), watchos(8.0), tvos(15.0))
-void
-nw_quic_set_max_udp_payload_size(nw_protocol_options_t options,
-								 uint16_t max_udp_payload_size);
-
-/*!
- * @function nw_quic_get_idle_timeout
- *
- * @abstract
- *		Get the idle timeout value for the QUIC connection. If no packets are sent or received
- *		within this timeout, the QUIC connection will be closed.
- *
- * @param options
- *		An nw_protocol_options_t for QUIC.
- *
- * @result
- *		The idle_timeout value, in milliseconds.
- */
-API_AVAILABLE(macos(12.0), ios(15.0), watchos(8.0), tvos(15.0))
-uint32_t
-nw_quic_get_idle_timeout(nw_protocol_options_t options);
-
-/*!
- * @function nw_quic_set_idle_timeout
- *
- * @abstract
- *		Define an idle timeout value for the QUIC connection. If no packets are sent or received
- *		within this timeout, the QUIC connection will be closed.
- *
- * @param options
- *		An nw_protocol_options_t for QUIC.
- *
- * @param idle_timeout
- *		The idle_timeout value, in milliseconds.
- */
-API_AVAILABLE(macos(12.0), ios(15.0), watchos(8.0), tvos(15.0))
-void
-nw_quic_set_idle_timeout(nw_protocol_options_t options,
-						 uint32_t idle_timeout);
-
-/*!
- * @function nw_quic_get_initial_max_streams_bidirectional
- *
- * @abstract
- *		Get the initial value of maximum bidirectional streams
- *		that the peer can initiate on a QUIC connection.
- *
- * @param options
- *		An nw_protocol_options_t for QUIC.
- *
- * @result
- *		The initial value for the maximum concurrent bidirectional streams.
- */
-API_AVAILABLE(macos(12.0), ios(15.0), watchos(8.0), tvos(15.0))
-uint64_t
-nw_quic_get_initial_max_streams_bidirectional(nw_protocol_options_t options);
-
-/*!
- * @function nw_quic_set_initial_max_streams_bidirectional
- *
- * @abstract
- *		Set the initial value of maximum bidirectional streams
- *		that the peer can initiate on a QUIC connection.
- *
- * @param options
- *		An nw_protocol_options_t for QUIC.
- *
- * @param initial_max_streams_bidirectional
- *		The initial value for the maximum concurrent bidirectional streams.
- */
-API_AVAILABLE(macos(12.0), ios(15.0), watchos(8.0), tvos(15.0))
-void
-nw_quic_set_initial_max_streams_bidirectional(nw_protocol_options_t options,
-											  uint64_t initial_max_streams_bidirectional);
-
-/*!
- * @function nw_quic_get_initial_max_streams_unidirectional
- *
- * @abstract
- *		Get the initial value of maximum unidirectional streams
- *		that the peer can initiate on a QUIC connection.
- *
- * @param options
- *		An nw_protocol_options_t for QUIC.
- *
- * @result
- *		The initial value for the maximum concurrent unidirectional streams.
- */
-API_AVAILABLE(macos(12.0), ios(15.0), watchos(8.0), tvos(15.0))
-uint64_t
-nw_quic_get_initial_max_streams_unidirectional(nw_protocol_options_t options);
-
-/*!
- * @function nw_quic_set_initial_max_streams_unidirectional
- *
- * @abstract
- *		Set the initial value of maximum unidirectional streams
- *		that the peer can initiate on a QUIC connection.
- *
- * @param options
- *		An nw_protocol_options_t for QUIC.
- *
- * @param initial_max_streams_unidirectional
- *		The initial value for the maximum concurrent unidirectional streams.
- */
-API_AVAILABLE(macos(12.0), ios(15.0), watchos(8.0), tvos(15.0))
-void
-nw_quic_set_initial_max_streams_unidirectional(nw_protocol_options_t options,
-											   uint64_t initial_max_streams_unidirectional);
-
-/*!
- * @function nw_quic_get_initial_max_stream_data_bidirectional_local
- *
- * @abstract
- *		Get the initial_max_stream_data_bidi_local transport parameter
- *		on a QUIC connection.
- *
- * @param options
- *		An nw_protocol_options_t for QUIC.
- *
- * @result
- *		How much data the client is willing to receive on a locally initiated stream.
- */
-API_AVAILABLE(macos(12.0), ios(15.0), watchos(8.0), tvos(15.0))
-uint64_t
-nw_quic_get_initial_max_stream_data_bidirectional_local(nw_protocol_options_t options);
-
-/*!
- * @function nw_quic_set_initial_max_stream_data_bidirectional_local
- *
- * @abstract
- *		Set the initial_max_stream_data_bidi_local transport parameter
- *		on a QUIC connection.
- *
- * @param options
- *		An nw_protocol_options_t for QUIC.
- *
- * @param initial_max_stream_data_bidirectional_local
- *		The initial_max_stream_data_bidi_local controls how much data
- *		the client is willing to receive on a locally initiated stream.
- */
-API_AVAILABLE(macos(12.0), ios(15.0), watchos(8.0), tvos(15.0))
-void
-nw_quic_set_initial_max_stream_data_bidirectional_local(nw_protocol_options_t options,
-														uint64_t initial_max_stream_data_bidirectional_local);
-
-/*!
- * @function nw_quic_get_initial_max_stream_data_bidirectional_remote
- *
- * @abstract
- *		Get the initial_max_stream_data_bidi_remote transport parameter
- *		on a QUIC connection.
- *
- * @param options
- *		An nw_protocol_options_t for QUIC.
- *
- * @result
- *		How much data the client is willing to receive on a remotely initiated stream.
- */
-API_AVAILABLE(macos(12.0), ios(15.0), watchos(8.0), tvos(15.0))
-uint64_t
-nw_quic_get_initial_max_stream_data_bidirectional_remote(nw_protocol_options_t options);
-
-/*!
- * @function nw_quic_set_initial_max_stream_data_bidirectional_remote
- *
- * @abstract
- *		Set the initial_max_stream_data_bidi_remote transport parameter
- *		on a QUIC connection.
- *
- * @param options
- *		An nw_protocol_options_t for QUIC.
- *
- * @param initial_max_stream_data_bidirectional_remote
- *		The initial_max_stream_data_bidi_remote controls how much data
- *		the client is willing to receive on a remotely initiated stream.
- */
-API_AVAILABLE(macos(12.0), ios(15.0), watchos(8.0), tvos(15.0))
-void
-nw_quic_set_initial_max_stream_data_bidirectional_remote(nw_protocol_options_t options,
-														 uint64_t initial_max_stream_data_bidirectional_remote);
-
-/*!
- * @function nw_quic_get_initial_max_stream_data_unidirectional
- *
- * @abstract
- *		Get the initial_max_stream_data_uni transport parameter
- *		on a QUIC connection.
- *
- * @param options
- *		An nw_protocol_options_t for QUIC.
- *
- * @result
- *		How much data the client is willing to receive on a unidirectional stream.
- */
-API_AVAILABLE(macos(12.0), ios(15.0), watchos(8.0), tvos(15.0))
-uint64_t
-nw_quic_get_initial_max_stream_data_unidirectional(nw_protocol_options_t options);
-
-/*!
- * @function nw_quic_set_initial_max_stream_data_unidirectional
- *
- * @abstract
- *		Set the initial_max_stream_data_uni transport parameter
- *		on a QUIC connection.
- *
- * @param options
- *		An nw_protocol_options_t for QUIC.
- *
- * @param initial_max_stream_data_unidirectional
- *		The initial_max_stream_data_uni controls how much data
- *		the client is willing to receive on a unidirectional stream.
- */
-API_AVAILABLE(macos(12.0), ios(15.0), watchos(8.0), tvos(15.0))
-void
-nw_quic_set_initial_max_stream_data_unidirectional(nw_protocol_options_t options,
-												   uint64_t initial_max_stream_data_unidirectional);
-
-#pragma mark - QUIC Metadata
-
-/**
- * @typedef nw_quic_stream_type_t
- * @abstract
- *    Represents the type of a QUIC stream.
- */
-typedef enum {
-	/*! @const nw_quic_stream_type_unknown 		A QUIC stream whose direction can not be determined. */
-	nw_quic_stream_type_unknown = 0,
-	/*! @const nw_quic_stream_type_bidirectional	A bidirectional QUIC stream. */
-	nw_quic_stream_type_bidirectional = 1,
-	/*! @const nw_quic_stream_type_unidirectional 	An unidirectional QUIC stream. */
-	nw_quic_stream_type_unidirectional = 2,
-} nw_quic_stream_type_t;
-
-/*!
- * @function nw_protocol_metadata_is_quic
- *
- * @abstract
- *		Checks if a protocol metadata object is compatible with the
- *		accessors defined in this file for the default system
- *		implementation of QUIC.
- *
- * @result
- *		Returns true if the metadata is for the default system QUIC,
- *		false otherwise.
- */
-API_AVAILABLE(macos(12.0), ios(15.0), watchos(8.0), tvos(15.0))
-bool
-nw_protocol_metadata_is_quic(nw_protocol_metadata_t metadata);
-
-/*!
- * @function nw_quic_copy_sec_protocol_metadata
- *
- * @abstract
- *		Access the sec_protocol_metadata_t for a given QUIC connection
- *		metadata instance. See <Security/SecProtocolOptions.h> for functions
- *		to further configure security options.
- *
- *		Will be filled out on connected instances of QUIC for metadata
- *		returned by nw_connection_copy_protocol_metadata.
- *
- * @param metadata
- *		An nw_protocol_metadata_t for QUIC.
- *
- * @result
- *		Returns a retained sec_protocol_metadata_t object.
- */
-API_AVAILABLE(macos(12.0), ios(15.0), watchos(8.0), tvos(15.0))
-NW_RETURNS_RETAINED sec_protocol_metadata_t
-nw_quic_copy_sec_protocol_metadata(nw_protocol_metadata_t metadata);
-
-/*!
- * @function nw_quic_get_stream_id
- *
- * @abstract
- *		Get the QUIC stream ID.
- *
- * @param metadata
- *		A nw_protocol_metadata_t for a QUIC stream.
- *
- * @result
- *		Returns the QUIC stream id.
- */
-API_AVAILABLE(macos(12.0), ios(15.0), watchos(8.0), tvos(15.0))
-uint64_t
-nw_quic_get_stream_id(nw_protocol_metadata_t metadata);
-
-/*!
- * @function nw_quic_stream_get_type
- *
- * @abstract
- *        Describes the type of the QUIC stream.
- *
- * @param stream_metadata
- *        A nw_protocol_metadata_t for a QUIC stream.
- *
- * @result
- *        Returns the type of the QUIC stream, stored in nw_quic_stream_type_t.
- *        If the type can not be determined, returns nw_quic_stream_type_unknown.
- */
-API_UNAVAILABLE(macos, ios, watchos, tvos)
-uint8_t
-nw_quic_get_stream_type(nw_protocol_metadata_t stream_metadata);
-
-/*!
- * @function nw_quic_get_stream_application_error
- *
- * @abstract
- *		Access the Application Error value received from the peer in a stream close
- *		message.
- *
- * @param metadata
- *		A nw_protocol_metadata_t for a QUIC stream.
- *
- * @result
- *		Returns the Application Error code value received from by the peer,
- *		or UINT64_MAX if no error has been received.
- */
-API_AVAILABLE(macos(12.0), ios(15.0), watchos(8.0), tvos(15.0))
-uint64_t
-nw_quic_get_stream_application_error(nw_protocol_metadata_t metadata);
-
-/*!
- * @function nw_quic_set_stream_application_error
- *
- * @abstract
- *		Set an Application Error value to send to the peer when the stream
- *		is closed.
- *
- * @param metadata
- *		A nw_protocol_metadata_t for a QUIC stream.
- *
- * @param application_error
- *		An application-specific error code value.
- */
-API_AVAILABLE(macos(12.0), ios(15.0), watchos(8.0), tvos(15.0))
-void
-nw_quic_set_stream_application_error(nw_protocol_metadata_t metadata,
-									 uint64_t application_error);
-
-/*!
- * @function nw_quic_get_local_max_streams_bidirectional
- *
- * @abstract
- *      Get the most recent value of the maximum number of bidirectional streams that the peer can create.
- *
- * @param metadata
- *		A nw_protocol_metadata_t for QUIC.
- *
- * @result
- *		Returns the most recent value of the peer's max number of bidirectional streams.
- */
-API_AVAILABLE(macos(12.0), ios(15.0), watchos(8.0), tvos(15.0))
-uint64_t
-nw_quic_get_local_max_streams_bidirectional(nw_protocol_metadata_t metadata);
-
-/*!
- * @function nw_quic_set_local_max_streams_bidirectional
- *
- * @abstract
- *		Sets the maximum number of bidirectional streams that the peer can create.
- *
- * @param metadata
- *		A nw_protocol_metadata_t for QUIC.
- *
- * @param max_streams_bidirectional
- *		The new number of maximum bidirectional streams.
- */
-API_AVAILABLE(macos(12.0), ios(15.0), watchos(8.0), tvos(15.0))
-void
-nw_quic_set_local_max_streams_bidirectional(nw_protocol_metadata_t metadata,
-											uint64_t max_streams_bidirectional);
-
-/*!
- * @function nw_quic_get_local_max_streams_unidirectional
- *
- * @abstract
- *      Get the most recent value of the maximum number of unidirectional streams that the peer can create.
- *
- * @param metadata
- *		A nw_protocol_metadata_t for QUIC.
- *
- * @result
- *		Returns the most recent value of the peer's max number of unidirectional streams.
- */
-API_AVAILABLE(macos(12.0), ios(15.0), watchos(8.0), tvos(15.0))
-uint64_t
-nw_quic_get_local_max_streams_unidirectional(nw_protocol_metadata_t metadata);
-
-/*!
- * @function nw_quic_set_local_max_streams_unidirectional
- *
- * @abstract
- *		Sets the maximum number of undirectional streams that the peer can create.
- *
- * @param metadata
- *		A nw_protocol_metadata_t for QUIC.
- *
- * @param max_streams_unidirectional
- *		The new number of maximum unidirectional streams.
- */
-API_AVAILABLE(macos(12.0), ios(15.0), watchos(8.0), tvos(15.0))
-void
-nw_quic_set_local_max_streams_unidirectional(nw_protocol_metadata_t metadata,
-											 uint64_t max_streams_unidirectional);
-
-/*!
- * @function nw_quic_get_remote_max_streams_bidirectional
- *
- * @abstract
- * 	    Get the maximum number of bidirectional streams advertised by peer that an application
- *  	is allowed to create.
- *
- *  	Note that while attempts to create streams above this limit will
- *  	be blocked until the server increases the limit, these blocked
- *  	attempts will cause a STREAMS_BLOCKED frame to be sent to the
- *  	server. This informs the server that the client has more streams
- *  	it would like to create. As a result, the caller should attempt to
- *  	create streams over this limit if it desires more streams.
- *
- * @param metadata
- *		A nw_protocol_metadata_t for QUIC.
- *
- * @result
- *		Returns the most recent value of the peer's advertised max number of bidirectional streams.
- */
-API_AVAILABLE(macos(12.0), ios(15.0), watchos(8.0), tvos(15.0))
-uint64_t
-nw_quic_get_remote_max_streams_bidirectional(nw_protocol_metadata_t metadata);
-
-/*!
- * @function nw_quic_get_remote_max_streams_unidirectional
- *
- * @abstract
- * 	    Get the maximum number of unidirectional streams advertised by peer that an application
- *  	is allowed to create.
- *
- *  	Note that while attempts to create streams above this limit will
- *  	be blocked until the server increases the limit, these blocked
- *  	attempts will cause a STREAMS_BLOCKED frame to be sent to the
- *  	server. This informs the server that the client has more streams
- *  	it would like to create. As a result, the caller should attempt to
- *  	create streams over this limit if it desires more streams.
- *
- * @param metadata
- *		A nw_protocol_metadata_t for QUIC.
- *
- * @result
- *		Returns the most recent value of the peer's advertised max number of unidirectional streams.
- */
-API_AVAILABLE(macos(12.0), ios(15.0), watchos(8.0), tvos(15.0))
-uint64_t
-nw_quic_get_remote_max_streams_unidirectional(nw_protocol_metadata_t metadata);
-
-/*!
- * @function nw_quic_get_application_error
- *
- * @abstract
- *		Access the Application Error value received from the peer in a connection close
- *		message.
- *
- * @param metadata
- *		A nw_protocol_metadata_t for QUIC.
- *
- * @result
- *		Returns the Application Error code value received from by the peer,
- *		or UINT64_MAX if no	error has been received.
- */
-API_AVAILABLE(macos(12.0), ios(15.0), watchos(8.0), tvos(15.0))
-uint64_t
-nw_quic_get_application_error(nw_protocol_metadata_t metadata);
-
-/*!
- * @function nw_quic_get_application_error_reason
- *
- * @abstract
- *		Access the Application Error reason string received from the peer in a connection
- *		close message.
- *
- * @param metadata
- *		A nw_protocol_metadata_t for QUIC.
- *
- * @result
- *		Returns the Application Error reason received from by the peer,
- *		or NULL if no error reason has been received.
- */
-API_AVAILABLE(macos(12.0), ios(15.0), watchos(8.0), tvos(15.0))
-const char * _Nullable
-nw_quic_get_application_error_reason(nw_protocol_metadata_t metadata);
-
-/*!
- * @function nw_quic_set_application_error
- *
- * @abstract
- *		Set the Application Error value to send to the peer in a connection close
- *		message.
- *
- * @param metadata
- *		A nw_protocol_metadata_t for QUIC.
- *
- * @param application_error
- *		Sets the Application Error code value.
- *
- * @param reason
- *		An optional reason string to associate with the error.
- */
-API_AVAILABLE(macos(12.0), ios(15.0), watchos(8.0), tvos(15.0))
-void
-nw_quic_set_application_error(nw_protocol_metadata_t metadata,
-							  uint64_t application_error,
-							  const char * _Nullable reason);
-
-/*!
- * @function nw_quic_get_keepalive_interval
- *
- * @abstract
- *		Retrieves the keep-alive interval set on a QUIC connection.
- *
- * @param metadata
- *		A nw_protocol_metadata_t for QUIC.
- *
- * @result
- *		Returns value of the keep-alive interval, in seconds,
- *		or 0 if the keep-alive timer is disabled.
- */
-API_AVAILABLE(macos(12.0), ios(15.0), watchos(8.0), tvos(15.0))
-uint16_t
-nw_quic_get_keepalive_interval(nw_protocol_metadata_t metadata);
-
-/*!
- * @function nw_quic_set_keepalive_interval
- *
- * @abstract
- *		Changes the keep-alive interval for QUIC.
- *
- * @discussion
- * 		QUIC connections are encrypted and operate over the UDP protocol
- * 		which makes it hard for Network Address	Translators and firewalls
- * 		to track their state. For this reason, these middleboxes may
- * 		use short timeouts for QUIC flows. By sending keep-alive packets
- * 		(QUIC PING frames), the endpoint can maintain
- * 		state of the flow across the network.
- * 		Keep-alives should only be enabled while there is an outstanding
- * 		exchange of information with the remote endpoint that has not yet
- * 		completed, it is not recommended to enable keep-alive packets on an
- * 		idle connection that is not expecting to send or receive data in
- * 		the near future.
- *
- * @param metadata
- *		A nw_protocol_metadata_t for QUIC.
- *
- * @param keepalive_interval
- * 		The keep-alive interval for QUIC, in seconds,
- * 		or 0 if the keep-alive timer is disabled.
- * 		Pass `NW_QUIC_CONNECTION_DEFAULT_KEEPALIVE` to use the default
- * 		keep-alive interval.
- */
-API_AVAILABLE(macos(12.0), ios(15.0), watchos(8.0), tvos(15.0))
-void
-nw_quic_set_keepalive_interval(nw_protocol_metadata_t metadata,
-							   uint16_t keepalive_interval);
-
-#pragma mark - QUIC Metadata Get Only
-
-/*!
- * @function nw_quic_get_remote_idle_timeout
- *
- * @abstract
- *		Access the idle_timeout value in milliseconds received from the peer
- *		in the transport parameters.
- *
- * @param metadata
- *		A nw_protocol_metadata_t for QUIC.
- *
- * @result
- *		Returns the idle_timeout value in milliseconds received from the peer.
- */
-API_AVAILABLE(macos(12.0), ios(15.0), watchos(8.0), tvos(15.0))
-uint64_t
-nw_quic_get_remote_idle_timeout(nw_protocol_metadata_t metadata);
-
-NW_ASSUME_NONNULL_END
-
-__END_DECLS
-
-#endif // __NW_QUIC_OPTIONS_H__
diff -ruN /Applications/Xcode_13.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Network.framework/Headers/tcp_options.h /Applications/Xcode_13.0.0-rc.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Network.framework/Headers/tcp_options.h
--- /Applications/Xcode_13.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Network.framework/Headers/tcp_options.h	2021-08-07 05:21:03.000000000 -0400
+++ /Applications/Xcode_13.0.0-rc.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Network.framework/Headers/tcp_options.h	2021-08-03 21:50:01.000000000 -0400
@@ -2,7 +2,7 @@
 //  tcp_options.h
 //  Network
 //
-//  Copyright (c) 2017-2020 Apple Inc. All rights reserved.
+//  Copyright (c) 2017-2019 Apple Inc. All rights reserved.
 //
 
 #ifndef __NW_TCP_OPTIONS_H__
@@ -336,38 +336,6 @@
 nw_tcp_options_set_disable_ecn(nw_protocol_options_t options,
 							   bool disable_ecn);
 
-/*!
- * @typedef nw_multipath_version_t
- * @abstract
- *		Multipath versions represent the MPTCP standard versions
- */
-typedef enum {
-	/*! @const nw_multipath_version_unspecified MPTCP unspecified version  */
-	nw_multipath_version_unspecified = -1,
-	/*! @const nw_multipath_version_0 MPTCP version 0 */
-	nw_multipath_version_0 = 0,
-	/*! @const nw_multipath_version_1 MPTCP version 1 */
-	nw_multipath_version_1 = 1,
-} nw_multipath_version_t;
-
-/*!
- * @function nw_tcp_options_set_multipath_force_version
- *
- * @abstract
- *		Configure MPTCP to use a specified MPTCP standard version.
- *		This ignores the cached value from MPTCP version discovery.
- *
- * @param options
- *		A TCP protocol options object.
- *
- * @param multipath_force_version
- *		The MPTCP version.
- */
-API_AVAILABLE(macos(12.0), ios(15.0), watchos(8.0), tvos(15.0))
-void
-nw_tcp_options_set_multipath_force_version(nw_protocol_options_t options,
-										   nw_multipath_version_t multipath_force_version);
-
 #pragma mark - Metadata
 
 /*!
diff -ruN /Applications/Xcode_13.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Network.framework/Headers/tls_options.h /Applications/Xcode_13.0.0-rc.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Network.framework/Headers/tls_options.h
--- /Applications/Xcode_13.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Network.framework/Headers/tls_options.h	2021-08-07 05:21:02.000000000 -0400
+++ /Applications/Xcode_13.0.0-rc.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Network.framework/Headers/tls_options.h	2021-08-03 21:49:59.000000000 -0400
@@ -60,7 +60,7 @@
  * @abstract
  *		Access the sec_protocol_options_t for a given network protocol
  *		options instance. See <Security/SecProtocolOptions.h> for functions
- *		to further configure security options.
+ *		to futher configure security options.
  *
  * @param options
  *		An nw_protocol_options_t that has been created for TLS.
Clone this wiki locally