mirror of
https://github.com/zephyrproject-rtos/zephyr
synced 2025-09-13 07:51:56 +00:00
Two utils to manipulate addresses in format "addr[:port]". I.e., network address (domain name or numeric), optionally followed by port number: * net_addr_str_find_port(), to return pointer to port number substring (or NULL if not present). * net_getaddrinfo_addr_str(), which is effectively getaddrinfo() wrapper taking a "addr[:port]" string as a parameter. The header file is named socketutils.h to emphasize that these utility functions are implemented on top of BSD Sockets API (and other POSIX/ANSI C functions), and thus portable to other POSIX systems (e.g., Linux), so can be used in apps testing POSIX compatibility. More utility functions (beyond address manipulation) can be added later. Signed-off-by: Paul Sokolovsky <paul.sokolovsky@linaro.org>
34 lines
971 B
C
34 lines
971 B
C
/*
|
|
* Copyright (c) 2019 Linaro Limited
|
|
*
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
/**
|
|
* @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);
|