Lines Matching defs:idmap_domain_info

48 struct idmap_domain_info {
52 struct idmap_domain_info *next;
309 struct idmap_domain_info *dom)
326 struct idmap_domain_info *dom;
327 struct idmap_domain_info *next;
331 next = ctx->idmap_domain_info;
410 struct idmap_domain_info *dom;
431 for (dom = ctx->idmap_domain_info; dom != NULL; dom = dom->next) {
462 for (dom = ctx->idmap_domain_info; dom != NULL; dom = dom->next) {
566 struct idmap_domain_info *dom;
570 for (dom = ctx->idmap_domain_info; dom != NULL; dom = dom->next) {
590 idmap_error_code dom_check_collision(struct idmap_domain_info *dom_list,
591 struct idmap_domain_info *new_dom)
593 struct idmap_domain_info *dom;
735 struct idmap_domain_info *dom = NULL;
757 dom = ctx->alloc_func(sizeof(struct idmap_domain_info), ctx->alloc_pvt);
761 memset(dom, 0, sizeof(struct idmap_domain_info));
791 err = dom_check_collision(ctx->idmap_domain_info, dom);
796 dom->next = ctx->idmap_domain_info;
797 ctx->idmap_domain_info = dom;
829 ctx->idmap_domain_info->auto_add_ranges = false;
842 ctx->idmap_domain_info->auto_add_ranges = false;
849 &ctx->idmap_domain_info->helpers);
851 ctx->idmap_domain_info->auto_add_ranges = true;
852 ctx->idmap_domain_info->helpers_owner = true;
859 ctx->idmap_domain_info->auto_add_ranges = false;
862 ctx->idmap_domain_info->cb = cb;
863 ctx->idmap_domain_info->pvt = pvt;
982 struct idmap_domain_info *parent,
987 struct idmap_domain_info *it;
1001 it = ctx->idmap_domain_info;
1043 struct idmap_domain_info *matched_dom,
1085 struct idmap_domain_info *idmap_domain_info;
1086 struct idmap_domain_info *matched_dom = NULL;
1096 idmap_domain_info = ctx->idmap_domain_info;
1103 while (idmap_domain_info != NULL) {
1105 if (is_sid_from_dom(idmap_domain_info->sid, sid, &dom_len)) {
1107 if (idmap_domain_info->external_mapping == true) {
1115 if (comp_id(&idmap_domain_info->range_params, rid, _id)) {
1119 matched_dom = idmap_domain_info;
1122 idmap_domain_info = idmap_domain_info->next;
1136 struct idmap_domain_info *idmap_domain_info;
1146 if (ctx->idmap_domain_info == NULL) {
1150 idmap_domain_info = ctx->idmap_domain_info;
1156 while (idmap_domain_info != NULL) {
1157 if (idmap_domain_info->sid != NULL) {
1158 dom_len = strlen(idmap_domain_info->sid);
1160 && strncmp(sid, idmap_domain_info->sid, dom_len) == 0) {
1162 if (id >= idmap_domain_info->range_params.min_id
1163 && id <= idmap_domain_info->range_params.max_id) {
1171 idmap_domain_info = idmap_domain_info->next;
1210 struct idmap_domain_info *idmap_domain_info;
1216 idmap_domain_info = ctx->idmap_domain_info;
1218 while (idmap_domain_info != NULL) {
1219 if (id_is_in_range(id, &idmap_domain_info->range_params, &rid)) {
1221 if (idmap_domain_info->external_mapping == true
1222 || idmap_domain_info->sid == NULL) {
1226 return generate_sid(ctx, idmap_domain_info->sid, rid, _sid);
1229 idmap_domain_info = idmap_domain_info->next;
1233 idmap_domain_info = ctx->idmap_domain_info;
1234 while (idmap_domain_info != NULL) {
1236 for (struct idmap_range_params *it = idmap_domain_info->helpers;
1240 if (idmap_domain_info->helpers_owner == false) {
1247 if (idmap_domain_info->external_mapping == true
1248 || idmap_domain_info->sid == NULL) {
1252 err = spawn_dom(ctx, idmap_domain_info, it);
1257 return generate_sid(ctx, idmap_domain_info->sid, rid, _sid);
1261 idmap_domain_info = idmap_domain_info->next;
1546 struct idmap_domain_info *idmap_domain_info;
1556 if (ctx->idmap_domain_info == NULL) {
1560 idmap_domain_info = ctx->idmap_domain_info;
1562 while (idmap_domain_info != NULL) {
1563 if (idmap_domain_info->sid != NULL) {
1564 len = strlen(idmap_domain_info->sid);
1568 && strncmp(dom_sid, idmap_domain_info->sid, len) == 0) {
1570 *has_algorithmic_mapping = !idmap_domain_info->external_mapping;
1576 idmap_domain_info = idmap_domain_info->next;
1587 struct idmap_domain_info *idmap_domain_info;
1595 if (ctx->idmap_domain_info == NULL) {
1599 idmap_domain_info = ctx->idmap_domain_info;
1601 while (idmap_domain_info != NULL) {
1602 if (idmap_domain_info->name != NULL
1603 && strcmp(dom_name, idmap_domain_info->name) == 0) {
1605 *has_algorithmic_mapping = !idmap_domain_info->external_mapping;
1609 idmap_domain_info = idmap_domain_info->next;