Habitat-lora-gateway/config.h

29 wiersze
1.1 KiB
C

typedef enum {stNone, stString, stInteger, stDouble, stBoolean} TSettingType;
struct TSetting
{
int SectionIndex;
int Index;
char ValueName[32];
TSettingType SettingType;
char *StringValuePtr;
int *IntValuePtr;
double *DoubleValuePtr;
int MaxValueLength;
void (*Callback)(int);
};
void RegisterConfigFile(char *Filename);
int RegisterConfigSection(char *Section);
int RegisterConfigString(int SectionIndex, int Index, char *Name, char *StringValuePtr, int MaxValueLength, void (Callback)(int));
int RegisterConfigInteger(int SectionIndex, int Index, char *Name, int *IntValuePtr, void (Callback)(int));
int RegisterConfigDouble(int SectionIndex, int Index, char *Name, double *DoubleValuePtr, void (Callback)(int));
int RegisterConfigBoolean(int SectionIndex, int Index, char *Name, int *BoolValuePtr, void (Callback)(int));
int ReadConfigValue(int SettingIndex);
int ConfigSettingChannel(int SettingIndex);
void SetConfigValue(char *Setting, char *Value);
int SettingAsString(int SettingIndex, char *SettingName, int SettingNameSize, char *SettingValue, int SettingValueSize);
void SaveConfigFile(void);