#if defined (WIN32) && defined (DLL_EXPORT)
# ifdef __cplusplus
-# define VLC_EXPORT( type, name, args ) extern "C" __declspec(dllexport) type name args
+# 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
-# define VLC_EXPORT( type, name, args ) __declspec(dllexport) type name args
+# define VLC_EXPORT( type, name, args ) __declspec(dllexport) type name args
# define VLC_INTERNAL( type, name, args ) type name args
# endif
-#elif HAVE_ATTRIBUTE_VISIBILITY
-# ifdef __cplusplus
-# 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_EXPORT( type, name, args ) __attribute__((visibility("default"))) type name args
-# define VLC_INTERNAL( type, name, args ) __attribute__((visibility("hidden"))) type name args
-# endif
#else
# if !defined (__PLUGIN__) || defined (HAVE_SHARED_LIBVLC)
-# ifdef __cplusplus
-# define VLC_EXPORT( type, name, args ) extern "C" type name args
-# else
-# define VLC_EXPORT( type, name, args ) type name args
-# endif
+# ifdef __cplusplus
+# if HAVE_ATTRIBUTE_VISIBILITY
+# 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_EXPORT( type, name, args ) extern "C" type name args
+# define VLC_INTERNAL( type, name, args ) extern "C" type name args
+# endif
+# else
+# if HAVE_ATTRIBUTE_VISIBILITY
+# define VLC_EXPORT( type, name, args ) __attribute__((visibility("default"))) type name args
+# define VLC_INTERNAL( type, name, args ) __attribute__((visibility("hidden"))) type name args
+# else
+# define VLC_EXPORT( type, name, args ) type name args
+# define VLC_INTERNAL( type, name, args ) type name args
+# endif
+# endif
# else
-# define VLC_EXPORT( type, name, args ) struct _u_n_u_s_e_d_
- extern module_symbols_t* p_symbols;
+# define VLC_EXPORT( type, name, args ) struct _u_n_u_s_e_d_
+# define VLC_INTERNAL( type, name, args ) struct _u_n_u_s_e_d_
+ extern module_symbols_t* p_symbols;
# endif
-# define VLC_INTERNAL( type, name, args ) VLC_EXPORT (type, name, args)
#endif
/*****************************************************************************
#define GetQWBE( p ) U64_AT( p )
/* Helper writer functions */
-#define SetWLE( p, v ) _SetWLE( (uint8_t*)p, v)
+#define SetWLE( p, v ) _SetWLE( (uint8_t*)(p), v)
static inline void _SetWLE( uint8_t *p, uint16_t i_dw )
{
p[1] = ( i_dw >> 8 )&0xff;
p[0] = ( i_dw )&0xff;
}
-#define SetDWLE( p, v ) _SetDWLE( (uint8_t*)p, v)
+#define SetDWLE( p, v ) _SetDWLE( (uint8_t*)(p), v)
static inline void _SetDWLE( uint8_t *p, uint32_t i_dw )
{
p[3] = ( i_dw >> 24 )&0xff;
p[1] = ( i_dw >> 8 )&0xff;
p[0] = ( i_dw )&0xff;
}
-#define SetQWLE( p, v ) _SetQWLE( (uint8_t*)p, v)
+#define SetQWLE( p, v ) _SetQWLE( (uint8_t*)(p), v)
static inline void _SetQWLE( uint8_t *p, uint64_t i_qw )
{
SetDWLE( p, i_qw&0xffffffff );
SetDWLE( p+4, ( i_qw >> 32)&0xffffffff );
}
-#define SetWBE( p, v ) _SetWBE( (uint8_t*)p, v)
+#define SetWBE( p, v ) _SetWBE( (uint8_t*)(p), v)
static inline void _SetWBE( uint8_t *p, uint16_t i_dw )
{
p[0] = ( i_dw >> 8 )&0xff;
p[1] = ( i_dw )&0xff;
}
-#define SetDWBE( p, v ) _SetDWBE( (uint8_t*)p, v)
+#define SetDWBE( p, v ) _SetDWBE( (uint8_t*)(p), v)
static inline void _SetDWBE( uint8_t *p, uint32_t i_dw )
{
p[0] = ( i_dw >> 24 )&0xff;
p[2] = ( i_dw >> 8 )&0xff;
p[3] = ( i_dw )&0xff;
}
-#define SetQWBE( p, v ) _SetQWBE( (uint8_t*)p, v)
+#define SetQWBE( p, v ) _SetQWBE( (uint8_t*)(p), v)
static inline void _SetQWBE( uint8_t *p, uint64_t i_qw )
{
SetDWBE( p+4, i_qw&0xffffffff );