/* Copyright (C) 2016-2020, Dirk Krause SPDX-License-Identifier: BSD-3-Clause */ /* WARNING: This file was generated by the dkct program (see http://dktools.sourceforge.net/ for details). Changes you make here will be lost if dkct is run again! You should modify the original source and run dkct on it. Original source: dk4sock36.ctr */ /** @file dk4sock36.c The dk4sock36 module. */ #line 10 "dk4sock36.ctr" #include "dk4conf.h" #include "dk4sock.h" #if DK4_HAVE_ASSERT_H #ifndef ASSERT_H_INCLUDED #include #define ASSERT_H_INCLUDED 1 #endif #endif #line 23 "dk4sock36.ctr" dk4_socket_t dk4socket_c8_udp_client_for_host( dk4_sockaddr_storage_t *array, const char *remhost, unsigned short remport, unsigned short locport, int ip4, dk4_er_t *erp ) { struct sockaddr *sa; dk4_socket_t back = INVALID_SOCKET; int res; #line 40 "dk4sock36.ctr" #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)) { #line 48 "dk4sock36.ctr" res = dk4socket_c8_udp_addresses_numeric( array, remhost, remport, locport, ip4, erp ); if (DK4_SOCKET_RESULT_SUCCESS == res) { #line 52 "dk4sock36.ctr" sa = (struct sockaddr *)(&(array[1])); back = dk4socket_udp_client_for_addr( sa->sa_family, sa, sizeof(dk4_sockaddr_storage_t), erp ); #line 56 "dk4sock36.ctr" } #if TRACE_DEBUG else { #line 59 "dk4sock36.ctr" } #endif } else { #line 64 "dk4sock36.ctr" dk4error_set_simple_error_code(erp, DK4_E_INVALID_ARGUMENTS); } #line 67 "dk4sock36.ctr" return back; }