/* vim: ts=4 sw=4 sts=4 ff=unix fenc=utf-8 :
 * =====================================================================
 *  sc_dl.h
 *  Copyright (c)  2003 - 2011  sys0tem
 *  LICENSE :
 *	LGPL (GNU Lesser General Public License - Version 3,29 June 2007)
 *	http://www.gnu.org/copyleft/lesser.html
 *	or
 *	EPL (Eclipse Public License - v1.0)
 *	http://www.eclipse.org/legal/epl-v10.html
 * =====================================================================
 */
#ifndef __SC_DL_H__
#define __SC_DL_H__

#include <sc_os.h>
#include <sc_stdbool.h>

#if (SC_isWindows)
	#include <windows.h>
	typedef HINSTANCE dl_handle_t;

#else
	#include <dlfcn.h>
	typedef void*     dl_handle_t;

#endif	/* if (SC_isWindows) */


#ifdef __cplusplus
extern "C" {
#endif

dl_handle_t SC_DL_open(const char* filename);
void*       SC_DL_sym(dl_handle_t handle, const char* symbol);
bool        SC_DL_close(dl_handle_t handle);

#ifdef __cplusplus
}
#endif

#endif	/* __SC_DL_H__ */

