Newer
Older
libkc / modules / include / kc_env.h
/**
 * @file kc_env.h
 * @brief 環境変数モジュールヘッダファイル
 * @copyright  2002 - 2023  Nomura Kei
 * @depends
 *	kc.h
 */
#ifndef KC_ENV_H
#define KC_ENV_H

#include <kc.h>

#ifdef __cplusplus
extern "C"
{
	namespace kc
	{
		using namespace std;
#endif

		/**
		 * 指定された環境変数の値を取得します。
		 * name に = が含まれている場合、= の前までをキーとして
		 * 環境変数を検索します。
		 *
		 * @param name 環境変数名
		 * @return 値
		 */
		char *KcEnv_get(const char *name);

		/**
		 * 指定された name の環境変数が存在しない場合、
		 * 環境変数 name に指定された値 value を設定します。
		 * overwrite が true ならばその値を value に変更します。
		 * false ならば name の値を変更せず、true を返します。
		 * name に '=' 文字が含まれている場合、設定に失敗し、false を返します。
		 *
		 * @param name 環境変数名
		 * @param value 設定する環境変数の値
		 * @param overwrite true/false (上書きする/しない)
		 * @return true/false (設定成功/失敗)
		 */
		bool KcEnv_set(const char *name, const char *value, bool overwrite);

		/**
		 * 変数 name を環境から削除します。
		 *
		 * @param name 環境変数名
		 * @return true/false (成功/失敗)
		 */
		bool KcEnv_remove(const char *name);

#ifdef __cplusplus
	} // namespace kc
} // extern "C"
#endif
#endif // KC_ENV_H