--- /dev/null
+/*
+ Copyright (C) 2012 Modelon AB
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the BSD style license.
+
+ This program 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
+ FMILIB_License.txt file for more details.
+
+ You should have received a copy of the FMILIB_License.txt file
+ along with this program. If not, contact Modelon AB <http://www.modelon.com>.
+*/\r
+\r
+#ifndef FMI1_IMPORT_UTIL_H_\r
+#define FMI1_IMPORT_UTIL_H_\r
+\r
+#include <JM/jm_callbacks.h>\r
+\r
+#ifdef __cplusplus\r
+extern "C" {\r
+#endif\r
+/**\r
+\addtogroup fmi_import_utils Utility functions supporting interactions with the library\r
+@{\r
+*/\r
+/** \r
+ \brief Create a unique temporary directory\r
+ \param cb - callbacks for memory allocation and logging. Default callbacks are used if this parameter is NULL.\r
+ \param systemTempDir - directory where the temp dir should be located both absolute and relative path are accepted.\r
+ System-wide directory is used if this parameter is NULL.\r
+ \param tempPrefix - File name template prefix used when creating temporaty directories. "fmil" is used if this is NULL.\r
+ \return A pointer to the temporary directory name (absolute path, no terminating '/'). Caller is responsible for freeing the memory.\r
+ The function returns NULL if there were errors in which case a message is send to the logger. \r
+*/\r
+FMILIB_EXPORT char* fmi_import_mk_temp_dir(jm_callbacks* cb, const char* systemTempDir, const char* tempPrefix);\r
+\r
+/**\r
+\brief Remove directory and all it contents.\r
+ \param cb - callbacks for memory allocation and logging. Default callbacks are used if this parameter is NULL.\r
+ \param dir - path to be removed.\r
+ \return Statuc success or error.\r
+*/\r
+FMILIB_EXPORT jm_status_enu_t fmi_import_rmdir(jm_callbacks* cb, const char* dir);\r
+\r
+/** \r
+ \brief Create a file:// URL from absolute path\r
+ \param cb - callbacks for memory allocation and logging. Default callbacks are used if this parameter is NULL.\r
+ \param absPath - absolute path to be converted into the URL\r
+ \return A pointer to the URL. Caller is responsible for freeing the memory.\r
+ The function returns NULL if there were errors in which case a message is send to the logger. \r
+*/\r
+FMILIB_EXPORT char* fmi_import_create_URL_from_abs_path(jm_callbacks* cb, const char* absPath);\r
+\r
+/** Given directory name fmu_unzipped_path and model identifier consturct Dll/so name\r
+ @return Pointer to a string with the file name. Caller is responsible for freeing the memory.\r
+*/\r
+FMILIB_EXPORT char* fmi_import_get_dll_path(const char* fmu_unzipped_path, const char* model_identifier, jm_callbacks* callBackFunctions);\r
+\r
+/** Given directory name fmu_unzipped_path and model identifier consturct XML file name\r
+ @return Pointer to a string with the file name. Caller is responsible for freeing the memory.\r
+*/\r
+FMILIB_EXPORT char* fmi_import_get_model_description_path(const char* fmu_unzipped_path, jm_callbacks* callBackFunctions);\r
+/**\r
+@}\r
+@}\r
+*/\r
+#ifdef __cplusplus\r
+}\r
+#endif\r
+\r
+#endif /* End of header file FMI1_IMPORT_UTIL_H_ */
\ No newline at end of file