%% options copyright owner = Dirk Krause copyright year = 2016-xxxx SPDX-License-Identifier: BSD-3-Clause %% module #include "dk4conf.h" #include "dk4sock.h" #if DK4_HAVE_ASSERT_H #ifndef ASSERT_H_INCLUDED #include #define ASSERT_H_INCLUDED 1 #endif #endif $!trace-include dk4_socket_t dk4socket_wc_udp_client_for_host( dk4_sockaddr_storage_t *array, const wchar_t *remhost, unsigned short remport, unsigned short locport, int ip4, dk4_er_t *erp ) { struct sockaddr *sa; dk4_socket_t back = INVALID_SOCKET; int res; $? "+ dk4socket_wc_udp_client_for_host \"%!ws\" %u %u", TR_LSTR(remhost), (unsigned)remport, (unsigned)locport #if DK4_USE_ASSERT assert(NULL != array); assert(NULL != remhost); assert(0 < remport); assert(0 < locport); #endif if ((NULL != array) && (NULL != remhost) && (0 != remport) && (0 != locport)) { $? ". arguments" res = dk4socket_wc_udp_addresses_numeric( array, remhost, remport, locport, ip4, erp ); if (DK4_SOCKET_RESULT_SUCCESS == res) { $? ". addresses found" sa = (struct sockaddr *)(&(array[1])); back = dk4socket_udp_client_for_addr( sa->sa_family, sa, sizeof(dk4_sockaddr_storage_t), erp ); $? ". back = %d", (int)back } #if TRACE_DEBUG else { $? "! address pair not found" } #endif } else { $? "! arguments" dk4error_set_simple_error_code(erp, DK4_E_INVALID_ARGUMENTS); } $? "- dk4socket_wc_udp_client_for_host %d", (int)back return back; } dk4_socket_t dk4socket_udp_client_for_host( dk4_sockaddr_storage_t *array, const dkChar *remhost, unsigned short remport, unsigned short locport, int ip4, dk4_er_t *erp ) { #if DK4_USE_ASSERT assert(NULL != array); assert(NULL != remhost); assert(0 < remport); assert(0 < locport); #endif #if DK4_CHAR_SIZE > 1 return ( dk4socket_wc_udp_client_for_host(array, remhost, remport, locport, ip4, erp) ); #else return ( dk4socket_c8_udp_client_for_host(array, remhost, remport, locport, ip4, erp) ); #endif }