libnetdude
void (*LND_RegCB) (const char *name, void *item, void *user_data);
LND_Registry * libnd_reg_new (const char *name);
void libnd_reg_free (LND_Registry *reg);
void libnd_reg_set_data (LND_Registry *reg, const char *key, void *data);
void * libnd_reg_get_data (const LND_Registry *reg, const char *key);
void * libnd_reg_del_data (LND_Registry *reg, const char *key);
void libnd_reg_foreach (const LND_Registry *reg, LND_RegCB callback, void *user_data);