头文件
typedef struct ip4_addr_key
{
unsigned int ifindex;
unsigned int addr;
unsigned short vr;
}ip4AddrKey;
typedef unsigned int (*hash_obj)(const ip4AddrKey *obj);
typedef unsigned int (*hash_key)(const ip4AddrKey *key);
typedef unsigned int (*hash_cmp)(const ip4AddrKey* key1,const ip4AddrKey *key2);
typedef struct myHashTbl
{
hash_obj objFunc;
hash_key keyFunc;
hash_cmp cmpFunc;
unsigned int size;
unsigned int elem;
void **table;
}myHashTbl;
void *element_get(myHashTbl *head, const void *key);
myHashTbl *createHash(int size);
int addElem(ip4AddrKey *obj);
unsigned int mykey_update(void *key_param, int key_len, unsigned initval);
C文件
#include<stdio.h>
#include<stdlib.h>