#if defined (WIN32) && defined (DLL_EXPORT)
# ifdef __cplusplus
-# define VLC_PUBLIC_API __declspec(dllexport)
-# define VLC_PRIVATE_API __declspec(dllexport)
+# define VLC_PUBLIC_API extern "C" __declspec(dllexport)
+# define VLC_PRIVATE_API extern "C" __declspec(dllexport)
# define VLC_EXPORT( type, name, args ) extern "C" __declspec(dllexport) type name args
# define VLC_INTERNAL( type, name, args ) extern "C" type name args
# else
#else
# ifdef __cplusplus
# ifdef HAVE_ATTRIBUTE_VISIBILITY
-# define VLC_PUBLIC_API __attribute__((visibility("default")))
-# define VLC_PRIVATE_API __attribute__((visibility("default")))
+# define VLC_PUBLIC_API extern "C" __attribute__((visibility("default")))
+# define VLC_PRIVATE_API extern "C" __attribute__((visibility("default")))
# define VLC_EXPORT( type, name, args ) extern "C" __attribute__((visibility("default"))) type name args
# define VLC_INTERNAL( type, name, args ) extern "C" __attribute__((visibility("hidden"))) type name args
# else
-# define VLC_PUBLIC_API
+# define VLC_PUBLIC_API extern "C"
# define VLC_EXPORT( type, name, args ) extern "C" type name args
# define VLC_INTERNAL( type, name, args ) extern "C" type name args
# endif
#if defined( WIN32 ) || defined( UNDER_CE )
# define DIR_SEP_CHAR '\\'
# define DIR_SEP "\\"
+# define PATH_SEP_CHAR ';'
+# define PATH_SEP ";"
#else
# define DIR_SEP_CHAR '/'
# define DIR_SEP "/"
+# define PATH_SEP_CHAR ':'
+# define PATH_SEP ":"
#endif