/*
 * 	glacier.h - Function declarations for libglacier
 *
 * 	This file is part of Glacier.
 *
 * 	Glacier is free software: you can redistribute it and/or modify it under the terms of the
 * 	GNU General Public License as published by the Free Software Foundation, either
 * 	version 3 of the License, or (at your option) any later version.
 *
 * 	Glacier is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
 * 	without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
 * 	PARTICULAR PURPOSE. See the GNU General Public License for more details.
 *
 * 	You should have received a copy of the GNU General Public License along with Glacier. If
 * 	not, see <https://www.gnu.org/licenses/>.
 */

#ifndef GLACIERCONFIG_H_
#define GLACIERCONFIG_H_

/*
 * init_config
 * DESCRIPTION: Init_config initializes the libconfig library, so it can read the required runtime files
 * PARAMETERS:
 * 		None.
 * RETURN VAUES:
 * 		0 on success, 1 on failure
 * CAVEATS:
 * 		None.
 * EXAMPLE:
 * 		init_config();
 */

int init_config();

/**************************************************************************************************************/

/*
 * die_config
 * DESCRPTION: Die_config destroys the loaded libconfig library.
 * PARAMETERS:
 * 		None.
 * RETURN VALUES:
 * 		0 on success, 1 on failure
 * CAVEATS:
 * 		None.
 * EXAMPLE:
 * 		die_config();
 */

int die_config();

/**************************************************************************************************************/

/*
 * load_setting_from_config
 * DESCRIPTION: Initialize all settings from glacier.cfg.
 * PARAMETERS:
 * 		None.
 * RETURN VALUES:
 * 		None.
 * EXAMPLE:
 * 		load_setting_from_config();
 */

void load_setting_from_config();

#endif
