net: hostname: define public macro representing maximum hostname length
Add a macro in public header that represents maximum hostname string length without terminating NULL character. This will allow other modules, such as offloaded network drivers, to know how much space is needed to allocate in order to fit whole hostname. Signed-off-by: Marcin Niestroj <m.niestroj@grinn-global.com>
This commit is contained in:
parent
f095e2fd05
commit
aac0f98d1d
2 changed files with 8 additions and 9 deletions
|
|
@ -22,6 +22,11 @@ extern "C" {
|
||||||
* @{
|
* @{
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#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
|
* @brief Get the device hostname
|
||||||
*
|
*
|
||||||
|
|
|
||||||
|
|
@ -13,16 +13,10 @@ LOG_MODULE_REGISTER(net_hostname, CONFIG_NET_HOSTNAME_LOG_LEVEL);
|
||||||
|
|
||||||
#include <zephyr.h>
|
#include <zephyr.h>
|
||||||
|
|
||||||
|
#include <net/hostname.h>
|
||||||
#include <net/net_core.h>
|
#include <net/net_core.h>
|
||||||
|
|
||||||
#if defined(CONFIG_NET_HOSTNAME_UNIQUE)
|
static char hostname[NET_HOSTNAME_MAX_LEN + 1];
|
||||||
/* Allocate extra space to append MAC address to hostname */
|
|
||||||
#define EXTRA_SPACE (8 * 2)
|
|
||||||
#else
|
|
||||||
#define EXTRA_SPACE 0
|
|
||||||
#endif /* CONFIG_NET_HOSTNAME_UNIQUE */
|
|
||||||
|
|
||||||
static char hostname[sizeof(CONFIG_NET_HOSTNAME) + EXTRA_SPACE];
|
|
||||||
|
|
||||||
const char *net_hostname_get(void)
|
const char *net_hostname_get(void)
|
||||||
{
|
{
|
||||||
|
|
@ -45,7 +39,7 @@ int net_hostname_set_postfix(const uint8_t *hostname_postfix,
|
||||||
|
|
||||||
/* Note that we convert the postfix to hex (2 chars / byte) */
|
/* Note that we convert the postfix to hex (2 chars / byte) */
|
||||||
if ((postfix_len * 2) >
|
if ((postfix_len * 2) >
|
||||||
((sizeof(hostname) - 1) - (sizeof(CONFIG_NET_HOSTNAME) - 1))) {
|
(NET_HOSTNAME_MAX_LEN - (sizeof(CONFIG_NET_HOSTNAME) - 1))) {
|
||||||
return -EMSGSIZE;
|
return -EMSGSIZE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue