Files
config-parser/config.h

45 lines
1.1 KiB
C

#define NO_SECTION 0
#define FOUND_SECTION 10
#define ERROR_STR 1001
#define ERROR_MAX_LEN 2
#define NO_ERROR 0
//ERROR DELIMITER
#define ERROR_DELIMITER_NOT_FOUND 40
//State Machine
#define ST_INIT 0
#define ST_FOUND_LEFT_DELIMITER 1
#define ST_FOUND_RIGHT_DELIMITER 2
#define ST_ERROR_NOT_FOUND_RIGHT_DELIMITER 3
#define ST_ERROR_NOT_FOUND_LEFT_DELIMITER 4
#define ST_FOUND_SECTION 5
#define ST_SKIP_READ 6
#define ST_FINISH 20
//state machine ERROR
#define ST_ERROR_GETSTRATPOS 30
//LIMITS
#define MAX_LEN_SECTIONNAME 128
//error parseConfig
#define ERR_PARSECONFIG_UNKNOWN 201
struct configEntry
{
char *sectionName;
char *keyName;
char *keyValue;
};
int loadConfig(char *file, char **str_entry,char **host,int *intervall,int size);
int checkSection(char *str,char delimiterLeft,char delimiterRight,char **sectionName);
int getStrAtPos(char *str,int fromPos,int toPos, char **name,int sizeName);
int getNameValuePair(char *str,char leftDelimiterPos,char rightDelimiterPos,char **name,char **value,int sizeName,int sizeValue);
int parseConfig(char *buffer,struct configEntry **entry,int configSize,int *returnedCount);