diff options
Diffstat (limited to 'src/platform/nmp-object.h')
-rw-r--r-- | src/platform/nmp-object.h | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/platform/nmp-object.h b/src/platform/nmp-object.h index f2149e1ee2..3adbadef5e 100644 --- a/src/platform/nmp-object.h +++ b/src/platform/nmp-object.h @@ -225,6 +225,10 @@ typedef struct { NMPlatformIP6Route _public; } NMPObjectIP6Route; +typedef struct { + NMPlatformQdisc _public; +} NMPObjectQdisc; + struct _NMPObject { union { NMDedupMultiObj parent; @@ -276,6 +280,9 @@ struct _NMPObject { NMPlatformIP6Route ip6_route; NMPObjectIP4Route _ip4_route; NMPObjectIP6Route _ip6_route; + + NMPlatformQdisc qdisc; + NMPObjectQdisc _qdisc; }; }; @@ -408,6 +415,15 @@ NMP_OBJECT_GET_TYPE (const NMPObject *obj) _obj ? &NM_CONSTCAST (NMPObject, _obj)->ip6_route : NULL; \ }) +#define NMP_OBJECT_CAST_QDISC(obj) \ + ({ \ + typeof (obj) _obj = (obj); \ + \ + nm_assert (!_obj || NMP_OBJECT_GET_TYPE ((const NMPObject *) _obj) == NMP_OBJECT_TYPE_QDISC); \ + _obj ? &NM_CONSTCAST (NMPObject, _obj)->qdisc : NULL; \ + }) + + const NMPClass *nmp_class_from_type (NMPObjectType obj_type); static inline const NMPObject * |