You may want to take a look at the SB HASH extenson module.
typedef struct _hashe {
VARIABLE Key,Value;
struct _hashe *small_son, *big_son;
struct _hashe *next,*prev;
} tHashE, *ptHashE;
typedef struct _hash {
ptHashE Table[PRIME];
ptHashE FirstElement,
LastElement,
ThisElement;
} tHash,*ptHash;
typedef struct _myOBJECT {
void *HandleArray;
} myOBJECT, *pmyOBJECT;