+struct ec_pnode *__ec_pnode_iter_next(const struct ec_pnode *root,
+ struct ec_pnode *pnode, bool iter_children);
+
+/* keep the const if any */
+#define EC_PNODE_ITER_NEXT(root, parse, iter_children) ({ \
+ const struct ec_pnode *p_ = parse; /* check type */ \
+ struct ec_pnode *pnode_ = (struct ec_pnode *)parse; \
+ typeof(parse) res_; \
+ (void)p_; \
+ res_ = __ec_pnode_iter_next(root, pnode_, iter_children); \
+ res_; \
+})