Changes in uspace/lib/nic/include/nic_addr_db.h [062d900:9d58539] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/nic/include/nic_addr_db.h
r062d900 r9d58539 43 43 #endif 44 44 45 #include <adt/hash_table.h> 45 #include <adt/hash_set.h> 46 47 /** 48 * Initial size of DB's hash set 49 */ 50 #define NIC_ADDR_DB_INIT_SIZE 8 51 /** 52 * Maximal length of addresses in the DB (in bytes). 53 */ 54 #define NIC_ADDR_MAX_LENGTH 16 46 55 47 56 /** … … 49 58 */ 50 59 typedef struct nic_addr_db { 51 hash_ table_t set;60 hash_set_t set; 52 61 size_t addr_len; 53 62 } nic_addr_db_t; 54 63 64 /** 65 * Helper structure for keeping the address in the hash set. 66 */ 67 typedef struct nic_addr_entry { 68 link_t item; 69 size_t addr_len; 70 uint8_t addr[NIC_ADDR_MAX_LENGTH]; 71 } nic_addr_entry_t; 55 72 56 73 extern int nic_addr_db_init(nic_addr_db_t *db, size_t addr_len); 57 74 extern void nic_addr_db_clear(nic_addr_db_t *db); 58 75 extern void nic_addr_db_destroy(nic_addr_db_t *db); 76 extern size_t nic_addr_db_count(const nic_addr_db_t *db); 59 77 extern int nic_addr_db_insert(nic_addr_db_t *db, const uint8_t *addr); 60 78 extern int nic_addr_db_remove(nic_addr_db_t *db, const uint8_t *addr); 79 extern void nic_addr_db_remove_selected(nic_addr_db_t *db, 80 int (*func)(const uint8_t *, void *), void *arg); 61 81 extern int nic_addr_db_contains(const nic_addr_db_t *db, const uint8_t *addr); 62 82 extern void nic_addr_db_foreach(const nic_addr_db_t *db,
Note:
See TracChangeset
for help on using the changeset viewer.