#ifndef G4U_ADDR_LIST_H #define G4U_ADDR_LIST_H #include struct addr_list_node { unsigned char value[6]; void* userdata; struct addr_list_node* next; }; struct addr_list { struct addr_list_node* top; }; void addr_list_init(struct addr_list* list); void addr_list_add(struct addr_list* list, unsigned char addr[6], void* userdata); bool addr_list_contains(struct addr_list* list, unsigned char addr[6]); void* addr_list_get(struct addr_list* list, unsigned char addr[6]); void addr_list_remove(struct addr_list* list, unsigned char addr[6]); void addr_list_free(struct addr_list* list); #endif /* G4U_ADDR_LIST_H */