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