1/** 2 * \file 3 * \brief multimap implementation 4 */ 5 6/* 7 * Copyright (c) 2009, 2011 ETH Zurich. 8 * All rights reserved. 9 * 10 * This file is distributed under the terms in the attached LICENSE file. 11 * If you do not find this file, copies can be found by writing to: 12 * ETH Zurich D-INFK, Universitaetstrasse 6, CH-8092 Zurich. Attn: Systems Group. 13 */ 14 15#ifndef MULTIMAP_H_ 16#define MULTIMAP_H_ 17 18#include <hashtable/hashtable.h> 19#include <sys/cdefs.h> 20 21__BEGIN_DECLS 22 23struct multimap { 24 struct hashtable h; 25 int (*put)(struct multimap*, char*, void*); 26 int (*remove)(struct multimap*, char*, void*); 27 int (*get_first)(struct multimap*, char*, void**); 28 int (*get_all)(struct multimap*, char*, void**, int); 29}; 30 31struct multimap* create_multimap(void); 32 33__END_DECLS 34 35#endif /* MULTIMAP_H_ */ 36