Lines Matching defs:iter

212 static void genl_op_from_split(struct genl_op_iter *iter)
214 const struct genl_family *family = iter->family;
217 i = iter->entry_idx - family->n_ops - family->n_small_ops;
220 iter->doit = family->split_ops[i + cnt];
221 genl_op_fill_in_reject_policy_split(family, &iter->doit);
224 memset(&iter->doit, 0, sizeof(iter->doit));
229 iter->dumpit = family->split_ops[i + cnt];
230 genl_op_fill_in_reject_policy_split(family, &iter->dumpit);
233 memset(&iter->dumpit, 0, sizeof(iter->dumpit));
237 iter->entry_idx += cnt;
334 genl_op_iter_init(const struct genl_family *family, struct genl_op_iter *iter)
336 iter->family = family;
337 iter->cmd_idx = 0;
338 iter->entry_idx = 0;
340 iter->flags = 0;
342 return iter->family->n_ops +
343 iter->family->n_small_ops +
344 iter->family->n_split_ops;
347 static bool genl_op_iter_next(struct genl_op_iter *iter)
349 const struct genl_family *family = iter->family;
353 if (iter->entry_idx < family->n_ops) {
354 genl_op_from_full(family, iter->entry_idx, &op);
355 } else if (iter->entry_idx < family->n_ops + family->n_small_ops) {
356 genl_op_from_small(family, iter->entry_idx - family->n_ops,
358 } else if (iter->entry_idx <
362 genl_op_from_split(iter);
367 iter->cmd_idx++;
370 iter->entry_idx++;
372 genl_cmd_full_to_split(&iter->doit, family,
374 genl_cmd_full_to_split(&iter->dumpit, family,
378 iter->cmd = iter->doit.cmd | iter->dumpit.cmd;
379 iter->flags = iter->doit.flags | iter->dumpit.flags;
390 static unsigned int genl_op_iter_idx(struct genl_op_iter *iter)
392 return iter->cmd_idx;