Lines Matching refs:key
38 struct avtab_node * prev, struct avtab_node * cur, struct avtab_key *key, in avtab_insert_node() argument
45 newnode->key = *key; in avtab_insert_node()
62 static int avtab_insert(struct avtab *h, struct avtab_key *key, in avtab_insert() argument
67 u16 specified = key->specified & ~(AVTAB_ENABLED|AVTAB_ENABLED_OLD); in avtab_insert()
72 hvalue = avtab_hash(key, h->mask); in avtab_insert()
76 if ( key->source_type == cur->key.source_type && in avtab_insert()
77 key->target_type == cur->key.target_type && in avtab_insert()
78 key->target_class == cur->key.target_class && in avtab_insert()
79 (specified & cur->key.specified) ) in avtab_insert()
81 if ( key->source_type < cur->key.source_type ) in avtab_insert()
83 if ( key->source_type == cur->key.source_type && in avtab_insert()
84 key->target_type < cur->key.target_type ) in avtab_insert()
86 if ( key->source_type == cur->key.source_type && in avtab_insert()
87 key->target_type == cur->key.target_type && in avtab_insert()
88 key->target_class < cur->key.target_class ) in avtab_insert()
92 newnode = avtab_insert_node(h, hvalue, prev, cur, key, datum); in avtab_insert()
104 struct avtab_key * key, struct avtab_datum * datum) in avtab_insert_nonunique() argument
108 u16 specified = key->specified & ~(AVTAB_ENABLED|AVTAB_ENABLED_OLD); in avtab_insert_nonunique()
112 hvalue = avtab_hash(key, h->mask); in avtab_insert_nonunique()
116 if ( key->source_type == cur->key.source_type && in avtab_insert_nonunique()
117 key->target_type == cur->key.target_type && in avtab_insert_nonunique()
118 key->target_class == cur->key.target_class && in avtab_insert_nonunique()
119 (specified & cur->key.specified) ) in avtab_insert_nonunique()
121 if ( key->source_type < cur->key.source_type ) in avtab_insert_nonunique()
123 if ( key->source_type == cur->key.source_type && in avtab_insert_nonunique()
124 key->target_type < cur->key.target_type ) in avtab_insert_nonunique()
126 if ( key->source_type == cur->key.source_type && in avtab_insert_nonunique()
127 key->target_type == cur->key.target_type && in avtab_insert_nonunique()
128 key->target_class < cur->key.target_class ) in avtab_insert_nonunique()
131 newnode = avtab_insert_node(h, hvalue, prev, cur, key, datum); in avtab_insert_nonunique()
136 struct avtab_datum *avtab_search(struct avtab *h, struct avtab_key *key) in avtab_search() argument
140 u16 specified = key->specified & ~(AVTAB_ENABLED|AVTAB_ENABLED_OLD); in avtab_search()
145 hvalue = avtab_hash(key, h->mask); in avtab_search()
148 if ( key->source_type == cur->key.source_type && in avtab_search()
149 key->target_type == cur->key.target_type && in avtab_search()
150 key->target_class == cur->key.target_class && in avtab_search()
151 (specified & cur->key.specified) ) in avtab_search()
154 if ( key->source_type < cur->key.source_type ) in avtab_search()
156 if ( key->source_type == cur->key.source_type && in avtab_search()
157 key->target_type < cur->key.target_type ) in avtab_search()
159 if ( key->source_type == cur->key.source_type && in avtab_search()
160 key->target_type == cur->key.target_type && in avtab_search()
161 key->target_class < cur->key.target_class ) in avtab_search()
171 struct avtab_node* avtab_search_node(struct avtab *h, struct avtab_key *key) in avtab_search_node() argument
175 u16 specified = key->specified & ~(AVTAB_ENABLED|AVTAB_ENABLED_OLD); in avtab_search_node()
180 hvalue = avtab_hash(key, h->mask); in avtab_search_node()
183 if ( key->source_type == cur->key.source_type && in avtab_search_node()
184 key->target_type == cur->key.target_type && in avtab_search_node()
185 key->target_class == cur->key.target_class && in avtab_search_node()
186 (specified & cur->key.specified) ) in avtab_search_node()
189 if ( key->source_type < cur->key.source_type ) in avtab_search_node()
191 if ( key->source_type == cur->key.source_type && in avtab_search_node()
192 key->target_type < cur->key.target_type ) in avtab_search_node()
194 if ( key->source_type == cur->key.source_type && in avtab_search_node()
195 key->target_type == cur->key.target_type && in avtab_search_node()
196 key->target_class < cur->key.target_class ) in avtab_search_node()
213 if ( node->key.source_type == cur->key.source_type && in avtab_search_node_next()
214 node->key.target_type == cur->key.target_type && in avtab_search_node_next()
215 node->key.target_class == cur->key.target_class && in avtab_search_node_next()
216 (specified & cur->key.specified) ) in avtab_search_node_next()
219 if ( node->key.source_type < cur->key.source_type ) in avtab_search_node_next()
221 if ( node->key.source_type == cur->key.source_type && in avtab_search_node_next()
222 node->key.target_type < cur->key.target_type ) in avtab_search_node_next()
224 if ( node->key.source_type == cur->key.source_type && in avtab_search_node_next()
225 node->key.target_type == cur->key.target_type && in avtab_search_node_next()
226 node->key.target_class < cur->key.target_class ) in avtab_search_node_next()
349 struct avtab_key key; in avtab_read_item() local
354 memset(&key, 0, sizeof(struct avtab_key)); in avtab_read_item()
381 key.source_type = (u16)val; in avtab_read_item()
382 if ( key.source_type != val ) in avtab_read_item()
388 key.target_type = (u16)val; in avtab_read_item()
389 if ( key.target_type != val ) in avtab_read_item()
395 key.target_class = (u16)val; in avtab_read_item()
396 if ( key.target_class != val ) in avtab_read_item()
420 key.specified = spec_order[i] | enabled; in avtab_read_item()
422 rc = insertf(a, &key, &datum, p); in avtab_read_item()
444 key.source_type = le16_to_cpu(buf16[items++]); in avtab_read_item()
445 key.target_type = le16_to_cpu(buf16[items++]); in avtab_read_item()
446 key.target_class = le16_to_cpu(buf16[items++]); in avtab_read_item()
447 key.specified = le16_to_cpu(buf16[items++]); in avtab_read_item()
449 if ( !policydb_type_isvalid(pol, key.source_type) || in avtab_read_item()
450 !policydb_type_isvalid(pol, key.target_type) || in avtab_read_item()
451 !policydb_class_isvalid(pol, key.target_class) ) in avtab_read_item()
460 if ( key.specified & spec_order[i] ) in avtab_read_item()
476 if ( (key.specified & AVTAB_TYPE) && in avtab_read_item()
482 return insertf(a, &key, &datum, p); in avtab_read_item()