Lines Matching refs:sid

14 #define SIDTAB_HASH(sid) \  argument
15 (sid & SIDTAB_HASH_MASK)
33 int sidtab_insert(struct sidtab *s, u32 sid, struct context *context) in sidtab_insert() argument
43 hvalue = SIDTAB_HASH(sid); in sidtab_insert()
46 while (cur && sid > cur->sid) { in sidtab_insert()
51 if (cur && sid == cur->sid) { in sidtab_insert()
61 newnode->sid = sid; in sidtab_insert()
79 if (sid >= s->next_sid) in sidtab_insert()
80 s->next_sid = sid + 1; in sidtab_insert()
85 static struct context *sidtab_search_core(struct sidtab *s, u32 sid, int force) in sidtab_search_core() argument
93 hvalue = SIDTAB_HASH(sid); in sidtab_search_core()
95 while (cur && sid > cur->sid) in sidtab_search_core()
98 if (force && cur && sid == cur->sid && cur->context.len) in sidtab_search_core()
101 if (cur == NULL || sid != cur->sid || cur->context.len) { in sidtab_search_core()
103 sid = SECINITSID_UNLABELED; in sidtab_search_core()
104 hvalue = SIDTAB_HASH(sid); in sidtab_search_core()
106 while (cur && sid > cur->sid) in sidtab_search_core()
108 if (!cur || sid != cur->sid) in sidtab_search_core()
115 struct context *sidtab_search(struct sidtab *s, u32 sid) in sidtab_search() argument
117 return sidtab_search_core(s, sid, 0); in sidtab_search()
120 struct context *sidtab_search_force(struct sidtab *s, u32 sid) in sidtab_search_force() argument
122 return sidtab_search_core(s, sid, 1); in sidtab_search_force()
126 int (*apply) (u32 sid, in sidtab_map()
140 rc = apply(cur->sid, &cur->context, args); in sidtab_map()
172 return cur->sid; in sidtab_search_context()
191 return node->sid; in sidtab_search_cache()
201 u32 sid; in sidtab_context_to_sid() local
207 sid = sidtab_search_cache(s, context); in sidtab_context_to_sid()
208 if (!sid) in sidtab_context_to_sid()
209 sid = sidtab_search_context(s, context); in sidtab_context_to_sid()
210 if (!sid) { in sidtab_context_to_sid()
213 sid = sidtab_search_context(s, context); in sidtab_context_to_sid()
214 if (sid) in sidtab_context_to_sid()
221 sid = s->next_sid++; in sidtab_context_to_sid()
226 ret = sidtab_insert(s, sid, context); in sidtab_context_to_sid()
236 *out_sid = sid; in sidtab_context_to_sid()