//===--- NetworkOverlayShims.h ---------------------------------*- C++ -*-===// // // This source file is part of the Swift.org open source project // // Copyright (c) 2018 Apple Inc. and the Swift project authors // Licensed under Apache License v2.0 with Runtime Library Exception // // See https://swift.org/LICENSE.txt for license information // See https://swift.org/CONTRIBUTORS.txt for the list of Swift project authors // //===----------------------------------------------------------------------===// #ifndef SWIFT_STDLIB_SHIMS_NETWORKSHIMS_H #define SWIFT_STDLIB_SHIMS_NETWORKSHIMS_H @import Network; #ifdef __OBJC__ #define SWIFT_NW_RETURNS_RETAINED __attribute__((__ns_returns_retained__)) #else #define SWIFT_NW_RETURNS_RETAINED #endif #pragma clang assume_nonnull begin typedef void (^__swift_nw_connection_send_completion_t)(_Nullable nw_error_t error); static inline SWIFT_NW_RETURNS_RETAINED nw_content_context_t _swift_nw_content_context_default_message(void) { return _nw_content_context_default_message; } static inline SWIFT_NW_RETURNS_RETAINED nw_content_context_t _swift_nw_content_context_final_message(void) { return _nw_content_context_final_send; } static inline SWIFT_NW_RETURNS_RETAINED nw_content_context_t _swift_nw_content_context_default_stream(void) { return _nw_content_context_default_stream; } static inline void _swift_nw_connection_send_idempotent(nw_connection_t connection, _Nullable dispatch_data_t content, _Nullable nw_content_context_t context, bool is_complete) { nw_connection_send(connection, content, context, is_complete, _nw_connection_send_idempotent_content); } static inline void _swift_nw_connection_send(nw_connection_t connection, _Nullable dispatch_data_t content, nw_content_context_t context, bool is_complete, __swift_nw_connection_send_completion_t completion) { nw_connection_send(connection, content, context, is_complete, completion); } API_AVAILABLE(macos(10.14), ios(12.0), watchos(5.0), tvos(12.0)) _Nullable SWIFT_NW_RETURNS_RETAINED nw_endpoint_t nw_endpoint_create_unix(const char *path); API_AVAILABLE(macos(10.14), ios(12.0), watchos(5.0), tvos(12.0)) _Nullable SWIFT_NW_RETURNS_RETAINED nw_interface_t nw_endpoint_copy_interface(nw_endpoint_t endpoint); API_AVAILABLE(macos(10.14), ios(12.0), watchos(5.0), tvos(12.0)) void nw_endpoint_set_interface(nw_endpoint_t endpoint, _Nullable nw_interface_t interface); API_AVAILABLE(macos(10.14), ios(12.0), watchos(5.0), tvos(12.0)) _Nullable SWIFT_NW_RETURNS_RETAINED nw_interface_t nw_interface_create_with_name(const char *interface_name); API_AVAILABLE(macos(10.14), ios(12.0), watchos(5.0), tvos(12.0)) _Nullable SWIFT_NW_RETURNS_RETAINED nw_interface_t nw_interface_create_with_index(uint32_t interface_index); API_AVAILABLE(macos(10.14), ios(12.0), watchos(5.0), tvos(12.0)) SWIFT_NW_RETURNS_RETAINED NSData * _Nullable NWCreateNSDataFromDispatchData(_Nullable dispatch_data_t data); API_AVAILABLE(macos(10.14), ios(12.0), watchos(5.0), tvos(12.0)) _Nullable SWIFT_NW_RETURNS_RETAINED dispatch_data_t NWCreateDispatchDataFromNSData(NSData * _Nullable data); API_AVAILABLE(macos(10.14), ios(12.0), watchos(5.0), tvos(12.0)) const char * nwlog_get_string_for_dns_service_error(int32_t err); #pragma clang assume_nonnull end #endif // SWIFT_STDLIB_SHIMS_NETWORKSHIMS_H