Lines Matching refs:context
40 static u32 context_to_sid(struct sidtab *s, struct context *context) in context_to_sid() argument
47 context->hash) { in context_to_sid()
48 if (context_cmp(&entry->context, context)) { in context_to_sid()
57 int sidtab_set_initial(struct sidtab *s, u32 sid, struct context *context) in sidtab_set_initial() argument
67 rc = context_cpy(&entry->leaf.context, context); in sidtab_set_initial()
79 if (!context_to_sid(s, context)) { in sidtab_set_initial()
81 hash_add(s->context_to_sid, &entry->leaf.list, context->hash); in sidtab_set_initial()
195 static struct context *sidtab_lookup(struct sidtab *s, u32 index) in sidtab_lookup()
203 return &sidtab_do_lookup(s, index, 0)->context; in sidtab_lookup()
206 static struct context *sidtab_lookup_initial(struct sidtab *s, u32 sid) in sidtab_lookup_initial()
208 return s->isids[sid - 1].set ? &s->isids[sid - 1].leaf.context : NULL; in sidtab_lookup_initial()
211 static struct context *sidtab_search_core(struct sidtab *s, u32 sid, int force) in sidtab_search_core()
213 struct context *context; in sidtab_search_core() local
217 context = sidtab_lookup(s, sid_to_index(sid)); in sidtab_search_core()
219 context = sidtab_lookup_initial(s, sid); in sidtab_search_core()
220 if (context && (!context->len || force)) in sidtab_search_core()
221 return context; in sidtab_search_core()
227 struct context *sidtab_search(struct sidtab *s, u32 sid) in sidtab_search()
232 struct context *sidtab_search_force(struct sidtab *s, u32 sid) in sidtab_search_force()
237 int sidtab_context_to_sid(struct sidtab *s, struct context *context, in sidtab_context_to_sid() argument
246 *sid = context_to_sid(s, context); in sidtab_context_to_sid()
254 *sid = context_to_sid(s, context); in sidtab_context_to_sid()
275 rc = context_cpy(&dst->context, context); in sidtab_context_to_sid()
287 context_destroy(&dst->context); in sidtab_context_to_sid()
291 rc = convert->func(context, &dst_convert->context, in sidtab_context_to_sid()
294 context_destroy(&dst->context); in sidtab_context_to_sid()
301 &dst_convert->list, dst_convert->context.hash); in sidtab_context_to_sid()
304 if (context->len) in sidtab_context_to_sid()
306 context->str); in sidtab_context_to_sid()
312 hash_add_rcu(s->context_to_sid, &dst->list, dst->context.hash); in sidtab_context_to_sid()
330 entry->context.hash); in sidtab_convert_hashtable()
369 rc = convert->func(&esrc->ptr_leaf->entries[i].context, in sidtab_convert_tree()
370 &edst->ptr_leaf->entries[i].context, in sidtab_convert_tree()
462 context_destroy(&node->entries[i].context); in sidtab_destroy_tree()
473 context_destroy(&s->isids[i].leaf.context); in sidtab_destroy()