typedef struct seekpoint_t seekpoint_t;
typedef struct info_t info_t;
typedef struct info_category_t info_category_t;
+typedef struct input_attachment_t input_attachment_t;
/* Format */
typedef struct audio_format_t audio_format_t;
#if defined (WIN32) && defined (DLL_EXPORT)
# ifdef __cplusplus
+# define VLC_PUBLIC_API __declspec(dllexport)
+# define VLC_PRIVATE_API __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
+# define VLC_PUBLIC_API extern __declspec(dllexport)
+# define VLC_PRIVATE_API extern __declspec(dllexport)
# define VLC_EXPORT( type, name, args ) __declspec(dllexport) type name args
# define VLC_INTERNAL( type, name, args ) type name args
# endif
# if !defined (__PLUGIN__) || defined (HAVE_SHARED_LIBVLC)
# ifdef __cplusplus
# if HAVE_ATTRIBUTE_VISIBILITY
+# define VLC_PUBLIC_API __attribute__((visibility("default")))
+# define VLC_PRIVATE_API __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_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_PUBLIC_API extern __attribute__((visibility("default")))
+# define VLC_PRIVATE_API extern __attribute__((visibility("default")))
# 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_PUBLIC_API extern
+# define VLC_PRIVATE_API extern
# define VLC_EXPORT( type, name, args ) type name args
# define VLC_INTERNAL( type, name, args ) type name args
# endif
# endif
# else
+# define VLC_PUBLIC_API
+# define VLC_PRIVATE_API
# 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;
variable_t * p_vars; \
\
/* Stuff related to the libvlc structure */ \
- libvlc_global_data_t *p_libvlc_global; /**< root of all evil */ \
+ vlc_object_t *p_libvlc_global; /**< root of all evil */ \
libvlc_int_t *p_libvlc; /**< (root of all evil) - 1 */ \
\
volatile int i_refcount; /**< usage count */ \
# define vlc_strndup NULL
#endif
+#ifndef HAVE_STRNLEN
+# define strnlen vlc_strnlen
+ VLC_EXPORT( size_t, vlc_strnlen, ( const char *, size_t ) );
+#elif !defined(__PLUGIN__)
+# define vlc_strnlen NULL
+#endif
+
#ifndef HAVE_STRLCPY
# define strlcpy vlc_strlcpy
VLC_EXPORT( size_t, vlc_strlcpy, ( char *, const char *, size_t ) );
VLC_EXPORT( int, vlc_iconv_close, ( vlc_iconv_t ) );
/* execve wrapper (defined in src/extras/libc.c) */
-VLC_EXPORT( int, __vlc_execve, ( vlc_object_t *p_object, int i_argc, char **pp_argv, char **pp_env, char *psz_cwd, char *p_in, int i_in, char **pp_data, int *pi_data ) );
+VLC_EXPORT( int, __vlc_execve, ( vlc_object_t *p_object, int i_argc, char *const *pp_argv, char *const *pp_env, const char *psz_cwd, const char *p_in, size_t i_in, char **pp_data, size_t *pi_data ) );
#define vlc_execve(a,b,c,d,e,f,g,h,i) __vlc_execve(VLC_OBJECT(a),b,c,d,e,f,g,h,i)
/*****************************************************************************
#define CPU_CAPABILITY_SSE2 (1<<7)
#define CPU_CAPABILITY_ALTIVEC (1<<16)
#define CPU_CAPABILITY_FPU (1<<31)
+VLC_EXPORT( unsigned, vlc_CPU, ( void ) );
/*****************************************************************************
* I18n stuff
VLC_EXPORT( const char *, VLC_CompileDomain, ( void ) );
VLC_EXPORT( const char *, VLC_Compiler, ( void ) );
VLC_EXPORT( const char *, VLC_Error, ( int ) );
+VLC_EXPORT( const char *, VLC_Changeset, ( void ) );
/*****************************************************************************
* Additional vlc stuff
# ifdef HAVE_DIRENT_H
# include <dirent.h> /* for DIR typedef in vlc_symbols.h */
# endif
-VLC_EXPORT( const char *, VLC_Changeset, ( void ) );
# include "vlc_symbols.h"
-#else
-# define VLC_Changeset( ) ("exported")
#endif
#include "vlc_os_specific.h"
#include "vlc_messages.h"