34 lines
787 B
C
34 lines
787 B
C
#ifndef CGE_CONF_H
|
|
#define CGE_CONF_H
|
|
|
|
#include <stddef.h>
|
|
|
|
#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 */
|