- Timestamp:
- 2006-02-06T14:18:28Z (20 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- f5935ed
- Parents:
- 214f5bb
- Location:
- generic
- Files:
-
- 3 edited
-
include/adt/hash_table.h (modified) (3 diffs)
-
src/adt/hash_table.c (modified) (2 diffs)
-
src/mm/as.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
generic/include/adt/hash_table.h
r214f5bb rc7ec94a4 30 30 #define __HASH_TABLE_H__ 31 31 32 #include <adt/list.h> 32 33 #include <arch/types.h> 33 34 #include <typedefs.h> 34 #include <adt/list.h>35 35 36 36 /** Hash table structure. */ … … 54 54 /** Hash table item comparison function. 55 55 * 56 * @param key Array of keys that will be compared againstitem. It is not necessary to pass all keys.56 * @param key Array of keys that will be compared with item. It is not necessary to pass all keys. 57 57 * 58 58 * @return true if the keys match, false otherwise. … … 67 67 }; 68 68 69 #define hash_table_get_instance(item, type, member) list_get_instance((item), (type),(member))69 #define hash_table_get_instance(item,type,member) list_get_instance((item),(type),(member)) 70 70 71 71 extern void hash_table_create(hash_table_t *h, count_t m, count_t max_keys, hash_table_operations_t *op); 72 extern boolhash_table_insert(hash_table_t *h, __native key[], link_t *item);72 extern void hash_table_insert(hash_table_t *h, __native key[], link_t *item); 73 73 extern link_t *hash_table_find(hash_table_t *h, __native key[]); 74 74 extern void hash_table_remove(hash_table_t *h, __native key[], count_t keys); -
generic/src/adt/hash_table.c
r214f5bb rc7ec94a4 68 68 * @param hey Array of all keys necessary to compute hash index. 69 69 * @param item Item to be inserted into the hash table. 70 *71 * @return true on success, false if the keys were already present in the hash table.72 70 */ 73 boolhash_table_insert(hash_table_t *h, __native key[], link_t *item)71 void hash_table_insert(hash_table_t *h, __native key[], link_t *item) 74 72 { 75 73 index_t chain; … … 81 79 ASSERT(chain < h->entries); 82 80 83 if (hash_table_find(h, key)) {84 /*85 * The hash table is not redundant.86 * Signal failure on return.87 */88 return false;89 }90 91 81 list_append(item, &h->entry[chain]); 92 return true;93 82 } 94 83 -
generic/src/mm/as.c
r214f5bb rc7ec94a4 282 282 ipl = interrupts_disable(); 283 283 spinlock_lock(&as->lock); 284 ASSERT(as->page_table);285 284 SET_PTL0_ADDRESS(as->page_table); 286 285 spinlock_unlock(&as->lock);
Note:
See TracChangeset
for help on using the changeset viewer.
