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