/* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once #include "in-addr-util.h" #include "macro.h" typedef struct Link Link; typedef enum NetDevLocalAddressType { NETDEV_LOCAL_ADDRESS_IPV4LL, NETDEV_LOCAL_ADDRESS_IPV6LL, NETDEV_LOCAL_ADDRESS_DHCP4, NETDEV_LOCAL_ADDRESS_DHCP6, NETDEV_LOCAL_ADDRESS_SLAAC, _NETDEV_LOCAL_ADDRESS_TYPE_MAX, _NETDEV_LOCAL_ADDRESS_TYPE_INVALID = -EINVAL, } NetDevLocalAddressType; const char* netdev_local_address_type_to_string(NetDevLocalAddressType t) _const_; NetDevLocalAddressType netdev_local_address_type_from_string(const char *s) _pure_; int link_get_local_address( Link *link, NetDevLocalAddressType type, int family, int *ret_family, union in_addr_union *ret_address);