chiark / gitweb /
bus: sync with kdbus (ABI break)
[elogind.git] / src / libsystemd / sd-bus / bus-kernel.h
index 7b1e9ef981fb87efd8cb10e2ca24c9b6928be3cb..b9f31ba7903bf31c7bda8040206573136fc39af8 100644 (file)
              ((uint8_t *)(part) < (uint8_t *)(head) + (head)->size) &&  \
                 ((uint8_t *) part >= (uint8_t *) head);                 \
              part = KDBUS_ITEM_NEXT(part))
+#define KDBUS_FOREACH(iter, first, _size)                               \
+        for (iter = (first);                                            \
+             ((uint8_t *)(iter) < (uint8_t *)(first) + (_size)) &&      \
+               ((uint8_t *)(iter) >= (uint8_t *)(first));               \
+             iter = (void*)(((uint8_t *)iter) + ALIGN8((iter)->size)))
 
 #define KDBUS_ITEM_HEADER_SIZE offsetof(struct kdbus_item, data)
 #define KDBUS_ITEM_SIZE(s) ALIGN8((s) + KDBUS_ITEM_HEADER_SIZE)