45 lines
1.1 KiB
C
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);
|