#ifndef CGE_CONF_H #define CGE_CONF_H #include #ifdef __cplusplus extern "C" { #endif typedef struct CgeConfIO { int (*read)(void *ctx, void *buffer, size_t size, size_t *actual); void *ctx; } CgeConfIO; enum CgeConfEvent { CGE_CONF_SECTION, CGE_CONF_KEYVALUE, }; typedef void (*CgeConfCb)(int type, const char *key, const char *value, void *user); int CgeConfFromString(const char *str, CgeConfCb callback, void *user); int CgeConfFromMemory(const char *buffer, size_t size, CgeConfCb callback, void *user); int CgeConfFromFile(const char *path, CgeConfCb callback, void *user); int CgeConfFromCb(CgeConfIO *io, CgeConfCb callback, void *user); #ifdef __cplusplus } #endif #endif /* CGE_CONF_H */