| /** @file |
| * @brief Hostname configuration definitions |
| */ |
| |
| /* |
| * Copyright (c) 2017 Intel Corporation |
| * |
| * SPDX-License-Identifier: Apache-2.0 |
| */ |
| |
| #ifndef ZEPHYR_INCLUDE_NET_HOSTNAME_H_ |
| #define ZEPHYR_INCLUDE_NET_HOSTNAME_H_ |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif |
| |
| /** |
| * @brief Network hostname configuration library |
| * @defgroup net_hostname Network Hostname Library |
| * @ingroup networking |
| * @{ |
| */ |
| |
| #define NET_HOSTNAME_MAX_LEN \ |
| (sizeof(CONFIG_NET_HOSTNAME) - 1 + \ |
| (IS_ENABLED(CONFIG_NET_HOSTNAME_UNIQUE) ? \ |
| sizeof("0011223344556677") - 1 : 0)) |
| |
| /** |
| * @brief Get the device hostname |
| * |
| * @details Return pointer to device hostname. |
| * |
| * @return Pointer to hostname or NULL if not set. |
| */ |
| #if defined(CONFIG_NET_HOSTNAME_ENABLE) |
| const char *net_hostname_get(void); |
| #else |
| static inline const char *net_hostname_get(void) |
| { |
| return "zephyr"; |
| } |
| #endif /* CONFIG_NET_HOSTNAME_ENABLE */ |
| |
| /** |
| * @brief Initialize and set the device hostname. |
| * |
| */ |
| #if defined(CONFIG_NET_HOSTNAME_ENABLE) |
| void net_hostname_init(void); |
| #else |
| static inline void net_hostname_init(void) |
| { |
| } |
| #endif /* CONFIG_NET_HOSTNAME_ENABLE */ |
| |
| /** |
| * @brief Set the device hostname postfix |
| * |
| * @details Set the device hostname to some value. This is only used if |
| * CONFIG_NET_HOSTNAME_UNIQUE is set. |
| * |
| * @param hostname_postfix Usually link address. The function will convert this |
| * to a string. |
| * @param postfix_len Length of the hostname_postfix array. |
| * |
| * @return 0 if ok, <0 if error |
| */ |
| #if defined(CONFIG_NET_HOSTNAME_UNIQUE) |
| int net_hostname_set_postfix(const uint8_t *hostname_postfix, |
| int postfix_len); |
| #else |
| static inline int net_hostname_set_postfix(const uint8_t *hostname_postfix, |
| int postfix_len) |
| { |
| return -EMSGSIZE; |
| } |
| #endif /* CONFIG_NET_HOSTNAME_UNIQUE */ |
| |
| /** |
| * @} |
| */ |
| |
| #ifdef __cplusplus |
| } |
| #endif |
| |
| #endif /* ZEPHYR_INCLUDE_NET_HOSTNAME_H_ */ |