Changeset 0ca7286 in mainline for uspace/srv/fs/locfs/locfs_ops.c
- Timestamp:
- 2012-07-21T11:19:27Z (13 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 2732c94
- Parents:
- 1c1da4b
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/srv/fs/locfs/locfs_ops.c
r1c1da4b r0ca7286 73 73 #define SERVICES_KEYS 1 74 74 #define SERVICES_KEY_HANDLE 0 75 #define SERVICES_BUCKETS 25676 75 77 76 /* Implementation of hash table interface for the nodes hash table. */ 78 static hash_index_t services_hash(unsigned long key[]) 79 { 80 return key[SERVICES_KEY_HANDLE] % SERVICES_BUCKETS; 81 } 82 83 static int services_compare(unsigned long key[], hash_count_t keys, link_t *item) 84 { 77 78 static size_t services_key_hash(unsigned long key[]) 79 { 80 return key[SERVICES_KEY_HANDLE]; 81 } 82 83 static size_t services_hash(const link_t *item) 84 { 85 service_t *dev = hash_table_get_instance(item, service_t, link); 86 unsigned long key[] = { 87 [SERVICES_KEY_HANDLE] = dev->service_id 88 }; 89 90 return services_key_hash(key); 91 } 92 93 static bool services_match(unsigned long key[], size_t keys, const link_t *item) 94 { 95 assert(keys == 1); 85 96 service_t *dev = hash_table_get_instance(item, service_t, link); 86 97 return (dev->service_id == (service_id_t) key[SERVICES_KEY_HANDLE]); … … 92 103 } 93 104 94 static hash_table_op erations_t services_ops = {105 static hash_table_ops_t services_ops = { 95 106 .hash = services_hash, 96 .compare = services_compare, 107 .key_hash = services_key_hash, 108 .match = services_match, 109 .equal = 0, 97 110 .remove_callback = services_remove_callback 98 111 }; … … 256 269 * below. 257 270 */ 258 hash_table_insert(&services, key,&dev->link);271 hash_table_insert(&services, &dev->link); 259 272 260 273 /* … … 450 463 bool locfs_init(void) 451 464 { 452 if (!hash_table_create(&services, SERVICES_BUCKETS, 453 SERVICES_KEYS, &services_ops)) 465 if (!hash_table_create(&services, 0, SERVICES_KEYS, &services_ops)) 454 466 return false; 455 467
Note:
See TracChangeset
for help on using the changeset viewer.