/* * INI Parser - Header * Tiny INI parser * https://dorper.me/iniparse * Copyright (C) 2021 Dorper / Carver Harrison * LICENSE: DO NOT REMOVE THE COPYRIGHT NOTICE. DO NOT MODIFY LINES 1 TO 7 OF THIS FILE. * YOU MUST CREDIT DORPER IN ALL BINARIES THAT INCLUDE THIS LIBRARY. */ #ifndef _DORPER__INI_H #define _DORPER__INI_H #include #define INI_BUFFER_SIZE 256 typedef enum ini_error_t { SUCCESS, BUFFER_OVERRUN } ini_error_t; typedef struct ini_item_t { char* key; union { char* value; struct ini_item_t* child; } value; struct ini_item_t* next; } ini_item_t; typedef struct ini_t { ini_item_t* sections; ini_error_t error; } ini_t; ini_t* ini_read_file(FILE* f); char* ini_get(ini_t* ini, const char* sectionname, const char* keyname); void ini_free(ini_t* ini); #endif