00001 #ifndef __STRINGTABLE_H 00002 #define __STRINGTABLE_H 00003 00004 #include <stdio.h> 00005 #include <neuro/neuro.h> 00006 00007 struct StringTable; 00008 00009 #define ERR_NOSTRING 1 00010 #define ERR_INVALID 2 00011 #define ERR_TABLEFULL 3 00012 00013 typedef void (*StringTableIterator) 00014 (struct StringTable *st, const char *key, void *val, void *udata); 00015 struct StringTable *newStringTable(void); 00016 int putString(struct StringTable *st, const char *key, void *val); 00017 int putInt(struct StringTable *st, int key, void *val); 00018 int delString(struct StringTable *st, const char *key); 00019 int delInt(struct StringTable *st, int key); 00020 void *findString(struct StringTable *st, const char *key); 00021 void *findInt(struct StringTable *st, int key); 00022 int stringToInt(const char *str); 00023 void allStrings(struct StringTable *st, StringTableIterator sti, void *udata); 00024 void freeStringTable(struct StringTable *st); 00025 00026 #endif