blob: ef9151c21e8b7270fe6cf824477af7200d0beb92 [file] [log] [blame]
//===--- 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