Lines Matching defs:doi_def
87 static void calipso_doi_putdef(struct calipso_doi *doi_def);
337 * @doi_def: the DOI structure
343 * ensure that the mapping table specified in @doi_def->map meets all of the
348 static int calipso_doi_add(struct calipso_doi *doi_def,
356 doi = doi_def->doi;
357 doi_type = doi_def->type;
359 if (doi_def->doi == CALIPSO_DOI_UNKNOWN)
362 refcount_set(&doi_def->refcount, 1);
365 if (calipso_doi_search(doi_def->doi)) {
370 list_add_tail_rcu(&doi_def->list, &calipso_doi_list);
397 * @doi_def: the DOI definition
403 static void calipso_doi_free(struct calipso_doi *doi_def)
405 kfree(doi_def);
420 struct calipso_doi *doi_def;
422 doi_def = container_of(entry, struct calipso_doi, rcu);
423 calipso_doi_free(doi_def);
440 struct calipso_doi *doi_def;
444 doi_def = calipso_doi_search(doi);
445 if (!doi_def) {
450 list_del_rcu(&doi_def->list);
453 calipso_doi_putdef(doi_def);
480 struct calipso_doi *doi_def;
483 doi_def = calipso_doi_search(doi);
484 if (!doi_def)
486 if (!refcount_inc_not_zero(&doi_def->refcount))
487 doi_def = NULL;
491 return doi_def;
496 * @doi_def: the DOI definition
502 static void calipso_doi_putdef(struct calipso_doi *doi_def)
504 if (!doi_def)
507 if (!refcount_dec_and_test(&doi_def->refcount))
511 call_rcu(&doi_def->rcu, calipso_doi_free_rcu);
528 int (*callback)(struct calipso_doi *doi_def,
572 struct calipso_doi *doi_def;
588 doi_def = calipso_doi_search(get_unaligned_be32(option + 2));
589 ret_val = !!doi_def;
597 * @doi_def: the DOI definition
608 static int calipso_map_cat_hton(const struct calipso_doi *doi_def,
635 * @doi_def: the DOI definition
646 static int calipso_map_cat_ntoh(const struct calipso_doi *doi_def,
714 * @doi_def: the CALIPSO DOI to use
724 const struct calipso_doi *doi_def,
744 ret_val = calipso_map_cat_hton(doi_def,
758 *(__be32 *)(calipso + 2) = htonl(doi_def->doi);
896 * @doi_def: the CALIPSO DOI to use
909 const struct calipso_doi *doi_def,
934 ret_val = calipso_genopt((unsigned char *)new, start, buf_len, doi_def,
1019 struct calipso_doi *doi_def;
1029 doi_def = calipso_doi_search(doi);
1030 if (!doi_def)
1037 ret_val = calipso_map_cat_ntoh(doi_def,
1114 * @doi_def: the CALIPSO DOI to use
1126 const struct calipso_doi *doi_def,
1137 new = calipso_opt_insert(old, doi_def, secattr);
1180 * @doi_def: the CALIPSO DOI to use
1190 const struct calipso_doi *doi_def,
1203 new = calipso_opt_insert(old, doi_def, secattr);
1286 * @doi_def: the CALIPSO DOI to use
1295 const struct calipso_doi *doi_def,
1317 ret_val = calipso_genopt(buf, start & 3, sizeof(buf), doi_def, secattr);