blob: 98bc8b3c5835f58adcfa1a7ecba0b040e5909351 [file] [log] [blame]
/*
* Copyright (c) 2019 Linaro Limited
*
* SPDX-License-Identifier: Apache-2.0
*/
#ifndef ZEPHYR_INCLUDE_NET_SOCKETUTILS_H_
#define ZEPHYR_INCLUDE_NET_SOCKETUTILS_H_
#ifdef CONFIG_NET_SOCKETS_POSIX_NAMES
#include <zephyr/net/socket.h>
#else
#include <zephyr/posix/netdb.h>
#endif
/**
* @brief Find port in addr:port string.
*
* @param addr_str String of addr[:port] format
*
* @return Pointer to "port" part, or NULL is none.
*/
const char *net_addr_str_find_port(const char *addr_str);
/**
* @brief Call getaddrinfo() on addr:port string
*
* Convenience function to split addr[:port] string into address vs port
* components (or use default port number), and call getaddrinfo() on the
* result.
*
* @param addr_str String of addr[:port] format
* @param def_port Default port number to use if addr_str doesn't contain it
* @param hints getaddrinfo() hints
* @param res Result of getaddrinfo() (freeaddrinfo() should be called on it
* as usual.
*
* @return Result of getaddrinfo() call.
*/
int net_getaddrinfo_addr_str(const char *addr_str, const char *def_port,
const struct addrinfo *hints,
struct addrinfo **res);
#endif /* ZEPHYR_INCLUDE_NET_SOCKETUTILS_H_ */