123456789101112131415161718192021222324252627282930313233 |
- /*
- * Copyright (c) 2017 Linus Lüssing <linus.luessing@c0d3.blue>
- *
- * SPDX-License-Identifier: GPL-2.0+
- * License-Filename: LICENSE
- */
- #ifndef _ADDR_STORE_H_
- #define _ADDR_STORE_H_
- #define ADDR_STORE_NUM_BUCKETS 32
- struct addr_list {
- struct addr_list *next;
- int tic;
- char addr[0];
- };
- struct addr_store {
- struct addr_list *buckets[ADDR_STORE_NUM_BUCKETS];
- size_t addr_len;
- void (*destructor)(struct addr_list *);
- char *(*ntoa)(void *);
- };
- int addr_store_init(size_t addr_len,
- void (*destructor)(struct addr_list *),
- char *(*ntoa)(void *),
- struct addr_store *store);
- int addr_store_add(void *addr, struct addr_store *store);
- void addr_store_cleanup(struct addr_store *store);
- #endif /* _ADDR_STORE_H_ */
|