seanhalle@0: /* seanhalle@0: * seanhalle@0: * Author: SeanHalle@yahoo.com seanhalle@0: * seanhalle@0: * Created on November 19, 2009, 6:30 PM seanhalle@0: */ seanhalle@0: seanhalle@0: #ifndef _PARAM_H seanhalle@0: #define _PARAM_H seanhalle@0: seanhalle@0: #include seanhalle@0: seanhalle@0: seanhalle@0: typedef seanhalle@0: struct seanhalle@0: { int type; seanhalle@0: int intValue; seanhalle@0: char * strValue; seanhalle@0: float floatValue; seanhalle@0: } seanhalle@0: ParamStruc; seanhalle@0: seanhalle@0: #define INT_PARAM_TYPE 0 seanhalle@0: #define STRING_PARAM_TYPE 1 seanhalle@0: #define FLOAT_PARAM_TYPE 2 seanhalle@0: seanhalle@0: #define PARAM_BAG_HASHSIZE 1024 seanhalle@0: seanhalle@0: typedef struct _ParamBagHashEntry ParamBagHashEntry; seanhalle@0: seanhalle@0: struct _ParamBagHashEntry seanhalle@0: { seanhalle@0: char *key; seanhalle@0: ParamStruc *param; seanhalle@0: struct _ParamBagHashEntry *next; seanhalle@0: } seanhalle@0: /*ParamBagHashEntry*/; seanhalle@0: seanhalle@0: seanhalle@0: typedef seanhalle@0: struct seanhalle@0: { int bagSz; seanhalle@0: ParamBagHashEntry* *entries; seanhalle@0: } seanhalle@0: ParamBag; seanhalle@0: seanhalle@0: seanhalle@0: ParamBag *makeParamBag(); seanhalle@0: void readParamFileIntoBag( char *paramFileName, ParamBag * bag ); seanhalle@0: ParamStruc *getParamFromBag( char *key, ParamBag * bag ); seanhalle@0: int addParamToBag( char* key, ParamStruc *param, ParamBag *bag ); seanhalle@0: void freeParamBag( ParamBag *bag ); seanhalle@0: //char *paramBagToString( ParamBag * bag ); seanhalle@0: ParamStruc *makeParamStruc(); seanhalle@0: ParamStruc *makeParamFromStrs( char * type, char *value ); seanhalle@0: ssize_t getline( char **lineptr, size_t *n, FILE *stream ); seanhalle@0: seanhalle@0: #endif /* _PARAM_H */ seanhalle@0: