Home | History | Annotate | Download | only in src

Lines Matching refs:key

59 avtab_insert_node(avtab_t * h, int hvalue, avtab_ptr_t prev, avtab_key_t * key,
67 newnode->key = *key;
81 int avtab_insert(avtab_t * h, avtab_key_t * key, avtab_datum_t * datum)
86 key->specified & ~(AVTAB_ENABLED | AVTAB_ENABLED_OLD);
91 hvalue = avtab_hash(key, h->mask);
94 if (key->source_type == cur->key.source_type &&
95 key->target_type == cur->key.target_type &&
96 key->target_class == cur->key.target_class &&
97 (specified & cur->key.specified))
99 if (key->source_type < cur->key.source_type)
101 if (key->source_type == cur->key.source_type &&
102 key->target_type < cur->key.target_type)
104 if (key->source_type == cur->key.source_type &&
105 key->target_type == cur->key.target_type &&
106 key->target_class < cur->key.target_class)
110 newnode = avtab_insert_node(h, hvalue, prev, key, datum);
118 * key/specified mask into the table, as needed by the conditional avtab.
122 avtab_insert_nonunique(avtab_t * h, avtab_key_t * key, avtab_datum_t * datum)
127 key->specified & ~(AVTAB_ENABLED | AVTAB_ENABLED_OLD);
131 hvalue = avtab_hash(key, h->mask);
134 if (key->source_type == cur->key.source_type &&
135 key->target_type == cur->key.target_type &&
136 key->target_class == cur->key.target_class &&
137 (specified & cur->key.specified))
139 if (key->source_type < cur->key.source_type)
141 if (key->source_type == cur->key.source_type &&
142 key->target_type < cur->key.target_type)
144 if (key->source_type == cur->key.source_type &&
145 key->target_type == cur->key.target_type &&
146 key->target_class < cur->key.target_class)
149 newnode = avtab_insert_node(h, hvalue, prev, key, datum);
154 avtab_datum_t *avtab_search(avtab_t * h, avtab_key_t * key)
159 key->specified & ~(AVTAB_ENABLED | AVTAB_ENABLED_OLD);
164 hvalue = avtab_hash(key, h->mask);
166 if (key->source_type == cur->key.source_type &&
167 key->target_type == cur->key.target_type &&
168 key->target_class == cur->key.target_class &&
169 (specified & cur->key.specified))
172 if (key->source_type < cur->key.source_type)
174 if (key->source_type == cur->key.source_type &&
175 key->target_type < cur->key.target_type)
177 if (key->source_type == cur->key.source_type &&
178 key->target_type == cur->key.target_type &&
179 key->target_class < cur->key.target_class)
189 avtab_ptr_t avtab_search_node(avtab_t * h, avtab_key_t * key)
194 key->specified & ~(AVTAB_ENABLED | AVTAB_ENABLED_OLD);
199 hvalue = avtab_hash(key, h->mask);
201 if (key->source_type == cur->key.source_type &&
202 key->target_type == cur->key.target_type &&
203 key->target_class == cur->key.target_class &&
204 (specified & cur->key.specified))
207 if (key->source_type < cur->key.source_type)
209 if (key->source_type == cur->key.source_type &&
210 key->target_type < cur->key.target_type)
212 if (key->source_type == cur->key.source_type &&
213 key->target_type == cur->key.target_type &&
214 key->target_class < cur->key.target_class)
229 if (node->key.source_type == cur->key.source_type &&
230 node->key.target_type == cur->key.target_type &&
231 node->key.target_class == cur->key.target_class &&
232 (specified & cur->key.specified))
235 if (node->key.source_type < cur->key.source_type)
237 if (node->key.source_type == cur->key.source_type &&
238 node->key.target_type < cur->key.target_type)
240 if (node->key.source_type == cur->key.source_type &&
241 node->key.target_type == cur->key.target_type &&
242 node->key.target_class < cur->key.target_class)
285 ret = apply(&cur->key, &cur->datum, args);
375 avtab_key_t key;
381 memset(&key, 0, sizeof(avtab_key_t));
405 key.source_type = (uint16_t) val;
406 if (key.source_type != val) {
411 key.target_type = (uint16_t) val;
412 if (key.target_type != val) {
417 key.target_class = (uint16_t) val;
418 if (key.target_class != val) {
438 key.specified = spec_order[i] | enabled;
440 rc = insertf(a, &key, &datum, p);
460 key.source_type = le16_to_cpu(buf16[items++]);
461 key.target_type = le16_to_cpu(buf16[items++]);
462 key.target_class = le16_to_cpu(buf16[items++]);
463 key.specified = le16_to_cpu(buf16[items++]);
467 if (key.specified & spec_order[i])
481 return insertf(a, &key, &datum, p);