platform: add NMP_OBJECT_TYPE_TO_ADDR_FAMILY() helper

This commit is contained in:
Thomas Haller 2020-07-29 08:38:41 +02:00
parent ba9c150286
commit 30a8b1c713
No known key found for this signature in database
GPG key ID: 29C2366E4DFC5728
2 changed files with 10 additions and 10 deletions

View file

@ -3046,6 +3046,9 @@ ASSERT_nmp_cache_is_consistent (const NMPCache *cache)
/*****************************************************************************/
/* below, ensure that addr_family get's automatically initialize to AF_UNSPEC. */
G_STATIC_ASSERT (AF_UNSPEC == 0);
const NMPClass _nmp_classes[NMP_OBJECT_TYPE_MAX] = {
[NMP_OBJECT_TYPE_LINK - 1] = {
.parent = DEDUP_MULTI_OBJ_CLASS_INIT(),

View file

@ -556,19 +556,16 @@ _NMP_OBJECT_TYPE_IS_OBJ_WITH_IFINDEX (NMPObjectType obj_type)
#define NMP_OBJECT_CAST_TFILTER(obj) _NMP_OBJECT_CAST (obj, tfilter, NMP_OBJECT_TYPE_TFILTER)
#define NMP_OBJECT_CAST_LNK_WIREGUARD(obj) _NMP_OBJECT_CAST (obj, lnk_wireguard, NMP_OBJECT_TYPE_LNK_WIREGUARD)
static inline int
NMP_OBJECT_TYPE_TO_ADDR_FAMILY (NMPObjectType obj_type)
{
return nmp_class_from_type (obj_type)->addr_family;
}
static inline int
NMP_OBJECT_GET_ADDR_FAMILY (const NMPObject *obj)
{
switch (NMP_OBJECT_GET_TYPE (obj)) {
case NMP_OBJECT_TYPE_IP4_ADDRESS:
case NMP_OBJECT_TYPE_IP4_ROUTE:
return AF_INET;
case NMP_OBJECT_TYPE_IP6_ADDRESS:
case NMP_OBJECT_TYPE_IP6_ROUTE:
return AF_INET6;
default:
return AF_UNSPEC;
}
return NMP_OBJECT_GET_CLASS (obj)->addr_family;
}
static inline const NMPObject *