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