]> git.sesse.net Git - vlc/commitdiff
Remove vlc_symbols - refs #297.
authorRémi Denis-Courmont <rem@videolan.org>
Sun, 29 Jul 2007 08:26:56 +0000 (08:26 +0000)
committerRémi Denis-Courmont <rem@videolan.org>
Sun, 29 Jul 2007 08:26:56 +0000 (08:26 +0000)
Maintaining an API with this was pretty much impossible.

Makefile.am
include/vlc_common.h
include/vlc_symbols.h [deleted file]
vlc-api.pl [deleted file]

index e6811fff41a4e97aed495bfc8b6cae3662cdc8c3..7912d1e97363906740512657ea9c790a66e5bc01 100644 (file)
@@ -21,7 +21,6 @@ EXTRA_DIST = \
        README.MacOSX.rtf \
        bootstrap \
        toolbox \
-       vlc-api.pl \
        vlc-config.in.in \
        vlc.fedora.spec \
        vlc.mandriva.spec \
@@ -1029,7 +1028,7 @@ update-po:
          echo "" ; \
          echo "# main sources" ; \
          find include src -name '*.[chm]' -o -name '*.[ch]pp' \
-           | grep -v '\(vlc_symbols\|misc/modules_\|src/misc/revision.c\|modules/builtin.h\)' \
+           | grep -v '\(misc/modules_\|src/misc/revision.c\|modules/builtin.h\)' \
            | sort ; \
          echo "" ; \
          echo "# modules" ; \
@@ -1058,7 +1057,7 @@ stamp-builtin: FORCE
 ###############################################################################
 # Enforce Mac OS X deployment target environment variable
 ###############################################################################
-macosx-sdk: Makefile.in $(HEADERS_include) vlc-config vlc-api.pl
+macosx-sdk: Makefile.in $(HEADERS_include) vlc-config
        export MACOSX_DEPLOYMENT_TARGET=$(MACOSX_DEPLOYMENT_TARGET)
 
 ###############################################################################
index 8c39a0751dcd1ce1bf64d891aa0e7f1fab6569b9..23b6b5613804e17bfce30ea2075942ae3bdcbd5a 100644 (file)
@@ -1016,7 +1016,6 @@ static inline void _SetQWBE( uint8_t *p, uint64_t i_qw )
     VLC_INTERNAL( void, vlc_seekdir, ( void *, long ) );
     VLC_INTERNAL( long, vlc_telldir, ( void * ) );
 #else
-    struct dirent;  /* forward declaration for vlc_symbols.h */
 #   if !defined(__PLUGIN__)
 #       define vlc_opendir  NULL
 #       define vlc_readdir  NULL
@@ -1222,12 +1221,6 @@ VLC_EXPORT( const char *, VLC_Changeset, ( void ) );
 /*****************************************************************************
  * Additional vlc stuff
  *****************************************************************************/
-#ifndef HAVE_SHARED_LIBVLC
-#   ifdef HAVE_DIRENT_H
-#   include <dirent.h>  /* for DIR typedef in vlc_symbols.h */
-#   endif
-#   include "vlc_symbols.h"
-#endif
 #include "vlc_os_specific.h"
 #include "vlc_messages.h"
 #include "vlc_variables.h"
diff --git a/include/vlc_symbols.h b/include/vlc_symbols.h
deleted file mode 100644 (file)
index 233b333..0000000
+++ /dev/null
@@ -1,1395 +0,0 @@
-/*
- * This file is automatically generated. DO NOT EDIT!
- * You can force an update with "make stamp-api".
- */
-
-#ifndef __VLC_SYMBOLS_H
-# define __VLC_SYMBOLS_H
-
-# ifdef HAVE_SHARED_LIBVLC
-#  error You are not supposed to include this file!
-# endif
-/*
- * This is the big VLC API structure for plugins :
- * Changing its layout breaks plugin's binary compatibility,
- * so DO NOT DO THAT.
- * In case of conflict with SVN, add your uncommited APIs
- * at the *end* of the structure so they don't mess the other's
- * offset in the structure.
- */
-struct module_symbols_t
-{
-    aout_buffer_t * (*aout_OutputNextBuffer_inner) (aout_instance_t *, mtime_t, vlc_bool_t);
-    unsigned int (*aout_FormatNbChannels_inner) (const audio_sample_format_t * p_format);
-    void (*aout_FormatPrepare_inner) (audio_sample_format_t * p_format);
-    void (*aout_FormatPrint_inner) (aout_instance_t * p_aout, const char * psz_text, const audio_sample_format_t * p_format);
-    const char * (*aout_FormatPrintChannels_inner) (const audio_sample_format_t *);
-    aout_buffer_t * (*aout_FifoPop_inner) (aout_instance_t * p_aout, aout_fifo_t * p_fifo);
-    mtime_t (*aout_FifoFirstDate_inner) (aout_instance_t *, aout_fifo_t *);
-    void (*aout_VolumeSoftInit_inner) (aout_instance_t *);
-    void (*aout_VolumeNoneInit_inner) (aout_instance_t *);
-    void (*aout_DateInit_inner) (audio_date_t *, uint32_t);
-    void (*aout_DateSet_inner) (audio_date_t *, mtime_t);
-    void (*aout_DateMove_inner) (audio_date_t *, mtime_t);
-    mtime_t (*aout_DateGet_inner) (const audio_date_t *);
-    mtime_t (*aout_DateIncrement_inner) (audio_date_t *, uint32_t);
-    int (*aout_CheckChannelReorder_inner) (const uint32_t *, const uint32_t *, uint32_t, int, int *);
-    void (*aout_ChannelReorder_inner) (uint8_t *, int, int, const int *, int);
-    int (*__aout_VolumeGet_inner) (vlc_object_t *, audio_volume_t *);
-    int (*__aout_VolumeSet_inner) (vlc_object_t *, audio_volume_t);
-    int (*__aout_VolumeInfos_inner) (vlc_object_t *, audio_volume_t *);
-    int (*__aout_VolumeUp_inner) (vlc_object_t *, int, audio_volume_t *);
-    int (*__aout_VolumeDown_inner) (vlc_object_t *, int, audio_volume_t *);
-    int (*__aout_VolumeMute_inner) (vlc_object_t *, audio_volume_t *);
-    int (*aout_Restart_inner) (aout_instance_t * p_aout);
-    int (*aout_FindAndRestart_inner) (vlc_object_t *, const char *, vlc_value_t, vlc_value_t, void *);
-    int (*aout_ChannelsRestart_inner) (vlc_object_t *, const char *, vlc_value_t, vlc_value_t, void *);
-    int (*__config_GetType_inner) (vlc_object_t *, const char *);
-    int (*__config_GetInt_inner) (vlc_object_t *, const char *);
-    void (*__config_PutInt_inner) (vlc_object_t *, const char *, int);
-    float (*__config_GetFloat_inner) (vlc_object_t *, const char *);
-    void (*__config_PutFloat_inner) (vlc_object_t *, const char *, float);
-    char * (*__config_GetPsz_inner) (vlc_object_t *, const char *);
-    void (*__config_PutPsz_inner) (vlc_object_t *, const char *, const char *);
-    int (*__config_SaveConfigFile_inner) (vlc_object_t *, const char *);
-    void (*__config_ResetAll_inner) (vlc_object_t *);
-    module_config_t * (*config_FindConfig_inner) (vlc_object_t *, const char *);
-    module_t * (*config_FindModule_inner) (vlc_object_t *, const char *);
-    int (*config_Duplicate_inner) (module_t *, const module_config_t *, size_t);
-    int (*__intf_Eject_inner) (vlc_object_t *, const char *);
-    const iso639_lang_t * (*GetLang_1_inner) (const char *);
-    const iso639_lang_t * (*GetLang_2T_inner) (const char *);
-    const iso639_lang_t * (*GetLang_2B_inner) (const char *);
-    const char * (*DecodeLanguage_inner) (uint16_t);
-    module_t * (*__module_Need_inner) (vlc_object_t *, const char *, const char *, vlc_bool_t);
-    void (*__module_Unneed_inner) (vlc_object_t *, module_t *);
-    char * (*mstrtime_inner) (char *psz_buffer, mtime_t date);
-    mtime_t (*mdate_inner) (void);
-    void (*mwait_inner) (mtime_t date);
-    void (*msleep_inner) (mtime_t delay);
-    char * (*secstotimestr_inner) (char *psz_buffer, int secs);
-    void (*date_Init_inner) (date_t *, uint32_t, uint32_t);
-    void (*date_Change_inner) (date_t *, uint32_t, uint32_t);
-    void (*date_Set_inner) (date_t *, mtime_t);
-    mtime_t (*date_Get_inner) (const date_t *);
-    void (*date_Move_inner) (date_t *, mtime_t);
-    mtime_t (*date_Increment_inner) (date_t *, uint32_t);
-    void *__net_ConnectTCP_deprecated;
-    void *__net_ListenTCP_deprecated;
-    int (*__net_Accept_inner) (vlc_object_t *, int *, mtime_t);
-    void *__net_OpenUDP_deprecated;
-    void *net_Close_deprecated;
-    ssize_t (*__net_Read_inner) (vlc_object_t *p_this, int fd, const v_socket_t *, uint8_t *p_data, size_t i_data, vlc_bool_t b_retry);
-    void *__net_ReadNonBlock_deprecated;
-    ssize_t (*__net_Select_inner) (vlc_object_t *p_this, const int *pi_fd, int i_fd, uint8_t *p_data, size_t i_data);
-    ssize_t (*__net_Write_inner) (vlc_object_t *p_this, int fd, const v_socket_t *, const uint8_t *p_data, size_t i_data);
-    char * (*__net_Gets_inner) (vlc_object_t *p_this, int fd, const v_socket_t *);
-    ssize_t (*net_Printf_inner) (vlc_object_t *p_this, int fd, const v_socket_t *, const char *psz_fmt, ...);
-    ssize_t (*__net_vaPrintf_inner) (vlc_object_t *p_this, int fd, const v_socket_t *, const char *psz_fmt, va_list args);
-    int (*vout_ShowTextRelative_inner) (vout_thread_t *, int, char *, text_style_t *, int, int, int, mtime_t);
-    int (*vout_ShowTextAbsolute_inner) (vout_thread_t *, int, char *, text_style_t *, int, int, int, mtime_t, mtime_t);
-    void (*__vout_OSDMessage_inner) (vlc_object_t *, int, char *, ...);
-    void (*vout_OSDSlider_inner) (vlc_object_t *, int, int , short);
-    void (*vout_OSDIcon_inner) (vlc_object_t *, int, short);
-    sout_access_out_t * (*sout_AccessOutNew_inner) (sout_instance_t *, const char *psz_access, const char *psz_name);
-    void (*sout_AccessOutDelete_inner) (sout_access_out_t *);
-    int (*sout_AccessOutSeek_inner) (sout_access_out_t *, off_t);
-    int (*sout_AccessOutRead_inner) (sout_access_out_t *, block_t *);
-    int (*sout_AccessOutWrite_inner) (sout_access_out_t *, block_t *);
-    sout_mux_t * (*sout_MuxNew_inner) (sout_instance_t*, char *, sout_access_out_t *);
-    sout_input_t * (*sout_MuxAddStream_inner) (sout_mux_t *, es_format_t *);
-    void (*sout_MuxDeleteStream_inner) (sout_mux_t *, sout_input_t *);
-    void (*sout_MuxDelete_inner) (sout_mux_t *);
-    void (*sout_MuxSendBuffer_inner) (sout_mux_t *, sout_input_t  *, block_t *);
-    sout_stream_t * (*sout_StreamNew_inner) (sout_instance_t *, char *psz_chain);
-    void (*sout_StreamDelete_inner) (sout_stream_t *);
-    int (*sout_AnnounceRegister_inner) (sout_instance_t *,session_descriptor_t*, announce_method_t*);
-    session_descriptor_t* (*sout_AnnounceRegisterSDP_inner) (sout_instance_t *, const char *, const char *, const char *, announce_method_t*);
-    int (*sout_AnnounceUnRegister_inner) (sout_instance_t *,session_descriptor_t*);
-    session_descriptor_t* (*sout_AnnounceSessionCreate_inner) (vlc_object_t *obj, const char *cfgpref);
-    void (*sout_AnnounceSessionDestroy_inner) (session_descriptor_t *);
-    void *sout_AnnounceMethodCreate_deprecated;
-    int (*__var_Create_inner) (vlc_object_t *, const char *, int);
-    int (*__var_Destroy_inner) (vlc_object_t *, const char *);
-    int (*__var_Change_inner) (vlc_object_t *, const char *, int, vlc_value_t *, vlc_value_t *);
-    int (*__var_Type_inner) (vlc_object_t *, const char *);
-    int (*__var_Set_inner) (vlc_object_t *, const char *, vlc_value_t);
-    int (*__var_Get_inner) (vlc_object_t *, const char *, vlc_value_t *);
-    int (*__var_AddCallback_inner) (vlc_object_t *, const char *, vlc_callback_t, void *);
-    int (*__var_DelCallback_inner) (vlc_object_t *, const char *, vlc_callback_t, void *);
-    vout_thread_t * (*__vout_Request_inner) (vlc_object_t *, vout_thread_t *, video_format_t *);
-    vout_thread_t * (*__vout_Create_inner) (vlc_object_t *, video_format_t *);
-    void (*vout_Destroy_inner) (vout_thread_t *);
-    int (*vout_VarCallback_inner) (vlc_object_t *, const char *, vlc_value_t, vlc_value_t, void *);
-    int (*vout_ChromaCmp_inner) (uint32_t, uint32_t);
-    picture_t * (*vout_CreatePicture_inner) (vout_thread_t *, vlc_bool_t, vlc_bool_t, unsigned int);
-    void (*vout_InitFormat_inner) (video_frame_format_t *, uint32_t, int, int, int);
-    void (*vout_DestroyPicture_inner) (vout_thread_t *, picture_t *);
-    void (*vout_DisplayPicture_inner) (vout_thread_t *, picture_t *);
-    void (*vout_DatePicture_inner) (vout_thread_t *, picture_t *, mtime_t);
-    void (*vout_LinkPicture_inner) (vout_thread_t *, picture_t *);
-    void (*vout_UnlinkPicture_inner) (vout_thread_t *, picture_t *);
-    void (*vout_PlacePicture_inner) (vout_thread_t *, unsigned int, unsigned int, unsigned int *, unsigned int *, unsigned int *, unsigned int *);
-    int (*vout_vaControlDefault_inner) (vout_thread_t *, int, va_list);
-    void * (*vout_RequestWindow_inner) (vout_thread_t *, int *, int *, unsigned int *, unsigned int *);
-    void (*vout_ReleaseWindow_inner) (vout_thread_t *, void *);
-    int (*vout_ControlWindow_inner) (vout_thread_t *, void *, int, va_list);
-    block_t * (*__block_New_inner) (vlc_object_t *, int);
-    block_t * (*block_Realloc_inner) (block_t *, int i_pre, int i_body);
-    block_fifo_t * (*__block_FifoNew_inner) (vlc_object_t *);
-    void (*block_FifoRelease_inner) (block_fifo_t *);
-    void (*block_FifoEmpty_inner) (block_fifo_t *);
-    int (*block_FifoPut_inner) (block_fifo_t *, block_t *);
-    block_t * (*block_FifoGet_inner) (block_fifo_t *);
-    block_t * (*block_FifoShow_inner) (block_fifo_t *);
-    char * (*vlc_strdup_inner) (const char *s);
-    int (*vlc_vasprintf_inner) (char **, const char *, va_list);
-    int (*vlc_asprintf_inner) (char **, const char *, ...);
-    char * (*vlc_strndup_inner) (const char *s, size_t n);
-    double (*vlc_atof_inner) (const char *nptr);
-    int64_t (*vlc_atoll_inner) (const char *nptr);
-    int64_t (*vlc_strtoll_inner) (const char *nptr, char **endptr, int base);
-    char * (*vlc_getenv_inner) (const char *name);
-    int (*vlc_strcasecmp_inner) (const char *s1, const char *s2);
-    int (*vlc_strncasecmp_inner) (const char *s1, const char *s2, size_t n);
-    char * (*vlc_strcasestr_inner) (const char *s1, const char *s2);
-    void * (*vlc_opendir_inner) (const char *);
-    void * (*vlc_readdir_inner) (void *);
-    int (*vlc_closedir_inner) (void *);
-    vlc_bool_t (*vlc_ureduce_inner) (unsigned *, unsigned *, uint64_t, uint64_t, uint64_t);
-    char ** (*vlc_parse_cmdline_inner) (const char *, int *);
-    char * (*vlc_wraptext_inner) (const char *, int);
-    vlc_iconv_t (*vlc_iconv_open_inner) (const char *, const char *);
-    size_t (*vlc_iconv_inner) (vlc_iconv_t, const char **, size_t *, char **, size_t *);
-    int (*vlc_iconv_close_inner) (vlc_iconv_t);
-    char * (*vlc_dgettext_inner) (const char *package, const char *msgid);
-    int (*demux2_vaControlHelper_inner) (stream_t *, int64_t i_start, int64_t i_end, int i_bitrate, int i_align, int i_query, va_list args);
-    char const * (*vlc_error_inner) (int);
-    httpd_host_t * (*httpd_HostNew_inner) (vlc_object_t *, const char *psz_host, int i_port);
-    httpd_host_t * (*httpd_TLSHostNew_inner) (vlc_object_t *, const char *, int, const char *, const char *, const char *, const char *);
-    void (*httpd_HostDelete_inner) (httpd_host_t *);
-    httpd_url_t * (*httpd_UrlNew_inner) (httpd_host_t *, const char *psz_url, const char *psz_user, const char *psz_password, const vlc_acl_t *p_acl);
-    httpd_url_t * (*httpd_UrlNewUnique_inner) (httpd_host_t *, const char *psz_url, const char *psz_user, const char *psz_password, const vlc_acl_t *p_acl);
-    int (*httpd_UrlCatch_inner) (httpd_url_t *, int i_msg, httpd_callback_t, httpd_callback_sys_t *);
-    void (*httpd_UrlDelete_inner) (httpd_url_t *);
-    void (*httpd_ClientModeStream_inner) (httpd_client_t *cl);
-    void (*httpd_ClientModeBidir_inner) (httpd_client_t *cl);
-    char* (*httpd_ClientIP_inner) (const httpd_client_t *cl, char *psz_ip);
-    httpd_file_t * (*httpd_FileNew_inner) (httpd_host_t *, const char *psz_url, const char *psz_mime, const char *psz_user, const char *psz_password, const vlc_acl_t *p_acl, httpd_file_callback_t pf_fill, httpd_file_sys_t *);
-    void (*httpd_FileDelete_inner) (httpd_file_t *);
-    httpd_redirect_t * (*httpd_RedirectNew_inner) (httpd_host_t *, const char *psz_url_dst, const char *psz_url_src);
-    void (*httpd_RedirectDelete_inner) (httpd_redirect_t *);
-    httpd_stream_t * (*httpd_StreamNew_inner) (httpd_host_t *, const char *psz_url, const char *psz_mime, const char *psz_user, const char *psz_password, const vlc_acl_t *p_acl);
-    void (*httpd_StreamDelete_inner) (httpd_stream_t *);
-    int (*httpd_StreamHeader_inner) (httpd_stream_t *, uint8_t *p_data, int i_data);
-    int (*httpd_StreamSend_inner) (httpd_stream_t *, uint8_t *p_data, int i_data);
-    void (*httpd_MsgInit_inner) (httpd_message_t *);
-    void (*httpd_MsgAdd_inner) (httpd_message_t *, const char *psz_name, const char *psz_value, ...);
-    const char * (*httpd_MsgGet_inner) (httpd_message_t *, const char *psz_name);
-    void (*httpd_MsgClean_inner) (httpd_message_t *);
-    tls_server_t * (*tls_ServerCreate_inner) (vlc_object_t *, const char *, const char *);
-    void (*tls_ServerDelete_inner) (tls_server_t *);
-    tls_session_t * (*tls_ClientCreate_inner) (vlc_object_t *, int, const char *);
-    void (*tls_ClientDelete_inner) (tls_session_t *);
-    image_handler_t * (*__image_HandlerCreate_inner) (vlc_object_t *);
-    void (*image_HandlerDelete_inner) (image_handler_t *);
-    input_thread_t * (*__input_CreateThread_inner) (vlc_object_t *, input_item_t *);
-    int (*__input_Preparse_inner) (vlc_object_t *, input_item_t *);
-    void (*input_StopThread_inner) (input_thread_t *);
-    void (*input_DestroyThread_inner) (input_thread_t *);
-    int (*input_vaControl_inner) (input_thread_t *, int i_query, va_list);
-    int (*input_Control_inner) (input_thread_t *, int i_query, ...);
-    decoder_t * (*input_DecoderNew_inner) (input_thread_t *, es_format_t *, vlc_bool_t b_force_decoder);
-    void (*input_DecoderDelete_inner) (decoder_t *);
-    void (*input_DecoderDecode_inner) (decoder_t *, block_t *);
-    intf_thread_t * (*__intf_Create_inner) (vlc_object_t *, const char *, int, const char *const *);
-    int (*intf_RunThread_inner) (intf_thread_t *);
-    void (*intf_StopThread_inner) (intf_thread_t *);
-    void (*intf_Destroy_inner) (intf_thread_t *);
-    void (*__msg_Generic_inner) (vlc_object_t *, int, int, const char *, const char *, ... ) ATTRIBUTE_FORMAT( 5, 6);
-    void (*__msg_GenericVa_inner) (vlc_object_t *, int, int, const char *, const char *, va_list args);
-    void (*__msg_Info_inner) (vlc_object_t *, const char *, ... ) ATTRIBUTE_FORMAT( 2, 3);
-    void (*__msg_Err_inner) (vlc_object_t *, const char *, ... ) ATTRIBUTE_FORMAT( 2, 3);
-    void (*__msg_Warn_inner) (vlc_object_t *, const char *, ... ) ATTRIBUTE_FORMAT( 2, 3);
-    void (*__msg_Dbg_inner) (vlc_object_t *, const char *, ... ) ATTRIBUTE_FORMAT( 2, 3);
-    msg_subscription_t* (*__msg_Subscribe_inner) (vlc_object_t *, int);
-    void (*__msg_Unsubscribe_inner) (vlc_object_t *, msg_subscription_t *);
-    void * (*__vlc_object_create_inner) (vlc_object_t *, int);
-    void (*__vlc_object_destroy_inner) (vlc_object_t *);
-    void (*__vlc_object_attach_inner) (vlc_object_t *, vlc_object_t *);
-    void (*__vlc_object_detach_inner) (vlc_object_t *);
-    void * (*__vlc_object_get_inner) (vlc_object_t *, int);
-    void * (*__vlc_object_find_inner) (vlc_object_t *, int, int);
-    void (*__vlc_object_yield_inner) (vlc_object_t *);
-    void (*__vlc_object_release_inner) (vlc_object_t *);
-    vlc_list_t * (*__vlc_list_find_inner) (vlc_object_t *, int, int);
-    void (*vlc_list_release_inner) (vlc_list_t *);
-    int (*playlist_Control_inner) (playlist_t *p_playlist, int i_query, vlc_bool_t b_locked, ...);
-    void (*playlist_Clear_inner) (playlist_t *, vlc_bool_t);
-    int (*playlist_PreparseEnqueue_inner) (playlist_t *, input_item_t *);
-    int (*playlist_ServicesDiscoveryAdd_inner) (playlist_t *, const char *);
-    int (*playlist_ServicesDiscoveryRemove_inner) (playlist_t *, const char *);
-    vlc_bool_t (*playlist_IsServicesDiscoveryLoaded_inner) (playlist_t *,const char *);
-    playlist_item_t* (*playlist_ItemNewWithType_inner) (vlc_object_t *,const char *,const char *, int , const char *const *, int, int);
-    int (*playlist_ItemSetName_inner) (playlist_item_t *, const char *);
-    playlist_item_t * (*playlist_NodeCreate_inner) (playlist_t *, const char *, playlist_item_t * p_parent, int i_flags);
-    int (*playlist_NodeAppend_inner) (playlist_t *,playlist_item_t*,playlist_item_t *);
-    int (*playlist_NodeInsert_inner) (playlist_t *,playlist_item_t*,playlist_item_t *, int);
-    int (*playlist_NodeRemoveItem_inner) (playlist_t *,playlist_item_t*,playlist_item_t *);
-    int (*playlist_NodeChildrenCount_inner) (playlist_t *,playlist_item_t*);
-    playlist_item_t * (*playlist_ChildSearchName_inner) (playlist_item_t*, const char*);
-    int (*playlist_NodeDelete_inner) (playlist_t *, playlist_item_t *, vlc_bool_t , vlc_bool_t);
-    int (*playlist_NodeEmpty_inner) (playlist_t *, playlist_item_t *, vlc_bool_t);
-    int (*playlist_Add_inner) (playlist_t *, const char *, const char *, int, int, vlc_bool_t, vlc_bool_t);
-    int (*playlist_AddExt_inner) (playlist_t *, const char *, const char *, int, int, mtime_t, const char *const *,int, vlc_bool_t, vlc_bool_t);
-    playlist_item_t* (*playlist_ItemToNode_inner) (playlist_t *,playlist_item_t *, vlc_bool_t);
-    playlist_item_t * (*playlist_ItemGetById_inner) (playlist_t *, int, vlc_bool_t);
-    playlist_item_t * (*playlist_ItemGetByInput_inner) (playlist_t *,input_item_t *, vlc_bool_t);
-    playlist_item_t * (*playlist_ItemGetByInputId_inner) (playlist_t *, int, playlist_item_t *);
-    int (*playlist_RecursiveNodeSort_inner) (playlist_t *, playlist_item_t *,int, int);
-    int (*playlist_Export_inner) (playlist_t *p_playlist, const char *psz_name, playlist_item_t *p_export_root, const char *psz_type);
-    spu_t * (*__spu_Create_inner) (vlc_object_t *);
-    int (*spu_Init_inner) (spu_t *);
-    void (*spu_Destroy_inner) (spu_t *);
-    subpicture_t * (*spu_CreateSubpicture_inner) (spu_t *);
-    void (*spu_DestroySubpicture_inner) (spu_t *, subpicture_t *);
-    void (*spu_DisplaySubpicture_inner) (spu_t *, subpicture_t *);
-    subpicture_region_t * (*__spu_CreateRegion_inner) (vlc_object_t *, video_format_t *);
-    subpicture_region_t * (*__spu_MakeRegion_inner) (vlc_object_t *, video_format_t *, picture_t *);
-    void (*__spu_DestroyRegion_inner) (vlc_object_t *, subpicture_region_t *);
-    subpicture_t * (*spu_SortSubpictures_inner) (spu_t *, mtime_t, vlc_bool_t);
-    void (*spu_RenderSubpictures_inner) (spu_t *,  video_format_t *, picture_t *, picture_t *, subpicture_t *, int, int);
-    char * (*stream_ReadLine_inner) (stream_t *);
-    stream_t * (*__stream_DemuxNew_inner) (vlc_object_t *p_obj, const char *psz_demux, es_out_t *out);
-    void (*stream_DemuxSend_inner) (stream_t *s, block_t *p_block);
-    void (*stream_DemuxDelete_inner) (stream_t *s);
-    stream_t * (*__stream_MemoryNew_inner) (vlc_object_t *p_obj, uint8_t *p_buffer, int64_t i_size, vlc_bool_t i_preserve_memory);
-    stream_t * (*__stream_UrlNew_inner) (vlc_object_t *p_this, const char *psz_url);
-    int (*__vlc_threads_init_inner) (vlc_object_t *);
-    int (*__vlc_threads_end_inner) (vlc_object_t *);
-    int (*__vlc_mutex_init_inner) (vlc_object_t *, vlc_mutex_t *);
-    int (*__vlc_mutex_destroy_inner) (const char *, int, vlc_mutex_t *);
-    int (*__vlc_cond_init_inner) (vlc_object_t *, vlc_cond_t *);
-    int (*__vlc_cond_destroy_inner) (const char *, int, vlc_cond_t *);
-    int (*__vlc_thread_create_inner) (vlc_object_t *, const char *, int, const char *, void * ( * ) ( void * ), int, vlc_bool_t);
-    int (*__vlc_thread_set_priority_inner) (vlc_object_t *, const char *, int, int);
-    void (*__vlc_thread_ready_inner) (vlc_object_t *);
-    void (*__vlc_thread_join_inner) (vlc_object_t *, const char *, int);
-    void (*__vout_CopyPicture_inner) (vlc_object_t *p_this, picture_t *p_dst, picture_t *p_src);
-    int (*__vout_InitPicture_inner) (vlc_object_t *p_this, picture_t *p_pic, uint32_t i_chroma, int i_width, int i_height, int i_aspect);
-    int (*__vout_AllocatePicture_inner) (vlc_object_t *p_this, picture_t *p_pic, uint32_t i_chroma, int i_width, int i_height, int i_aspect);
-    vlm_t * (*__vlm_New_inner) (vlc_object_t *);
-    void (*vlm_Delete_inner) (vlm_t *);
-    int (*vlm_ExecuteCommand_inner) (vlm_t *, const char *, vlm_message_t **);
-    void (*vlm_MessageDelete_inner) (vlm_message_t *);
-    vlm_media_t * (*vlm_MediaNew_inner) (vlm_t *, const char *, int);
-    void (*vlm_MediaDelete_inner) (vlm_t *, vlm_media_t *, const char *);
-    int (*vlm_MediaSetup_inner) (vlm_t *, vlm_media_t *, const char *, const char *);
-    int (*vlm_MediaControl_inner) (vlm_t *, vlm_media_t *, const char *, const char *, const char *);
-    vlm_schedule_t * (*vlm_ScheduleNew_inner) (vlm_t *, const char *);
-    void (*vlm_ScheduleDelete_inner) (vlm_t *, vlm_schedule_t *, const char *);
-    int (*vlm_ScheduleSetup_inner) (vlm_schedule_t *, const char *, const char *);
-    int (*vlm_MediaVodControl_inner) (void *, vod_media_t *, const char *, int, va_list);
-    int (*vlm_Save_inner) (vlm_t *, const char *);
-    int (*vlm_Load_inner) (vlm_t *, const char *);
-    xml_t * (*__xml_Create_inner) (vlc_object_t *);
-    void (*xml_Delete_inner) (xml_t *);
-    vout_synchro_t * (*__vout_SynchroInit_inner) (vlc_object_t *, int);
-    void (*vout_SynchroRelease_inner) (vout_synchro_t *);
-    void (*vout_SynchroReset_inner) (vout_synchro_t *);
-    vlc_bool_t (*vout_SynchroChoose_inner) (vout_synchro_t *, int, int, vlc_bool_t);
-    void (*vout_SynchroTrash_inner) (vout_synchro_t *);
-    void (*vout_SynchroDecode_inner) (vout_synchro_t *);
-    void (*vout_SynchroEnd_inner) (vout_synchro_t *, int, vlc_bool_t);
-    mtime_t (*vout_SynchroDate_inner) (vout_synchro_t *);
-    void (*vout_SynchroNewPicture_inner) (vout_synchro_t *, int, int, mtime_t, mtime_t, int, vlc_bool_t);
-    int (*vlc_getaddrinfo_inner) (vlc_object_t *, const char *, int, const struct addrinfo *, struct addrinfo **);
-    int (*vlc_getnameinfo_inner) (const struct sockaddr *, int, char *, int, int *, int);
-    void (*InitMD5_inner) (struct md5_s *);
-    void (*EndMD5_inner) (struct md5_s *);
-    void (*vlc_freeaddrinfo_inner) (struct addrinfo *);
-    void (*AddMD5_inner) (struct md5_s *, const uint8_t *, uint32_t);
-    const char * (*vlc_gai_strerror_inner) (int);
-    void (*net_ListenClose_inner) (int *fd);
-    void (*DigestMD5_inner) (struct md5_s *, uint32_t *);
-    int (*ACL_Check_inner) (vlc_acl_t *p_acl, const char *psz_ip);
-    vlc_acl_t * (*__ACL_Duplicate_inner) (vlc_object_t *p_this, const vlc_acl_t *p_acl);
-    vlc_acl_t * (*__ACL_Create_inner) (vlc_object_t *p_this, vlc_bool_t b_allow);
-    int (*ACL_LoadFile_inner) (vlc_acl_t *p_acl, const char *path);
-    int (*ACL_AddNet_inner) (vlc_acl_t *p_acl, const char *psz_ip, int i_len, vlc_bool_t b_allow);
-    void (*ACL_Destroy_inner) (vlc_acl_t *p_acl);
-    char* (*httpd_ServerIP_inner) (const httpd_client_t *cl, char *psz_ip);
-    char * (*FromLocale_inner) (const char *);
-    void (*LocaleFree_inner) (const char *);
-    char * (*ToLocale_inner) (const char *);
-    char * (*EnsureUTF8_inner) (char *);
-    int (*vlc_scandir_inner) (const char *name, struct dirent ***namelist, int (*filter) ( const struct dirent * ), int (*compar) ( const struct dirent **, const struct dirent ** ));
-    int (*vlc_alphasort_inner) (const struct dirent **a, const struct dirent **b);
-    osd_state_t * (*__osd_StateChange_inner) (osd_state_t *, const int);
-    void (*osd_ConfigUnload_inner) (vlc_object_t *, osd_menu_t **);
-    void (*__osd_MenuShow_inner) (vlc_object_t *);
-    void (*__osd_MenuNext_inner) (vlc_object_t *);
-    void (*__osd_MenuDelete_inner) (vlc_object_t *, osd_menu_t *);
-    void (*__osd_MenuHide_inner) (vlc_object_t *);
-    int (*osd_ConfigLoader_inner) (vlc_object_t *, const char *, osd_menu_t **);
-    void (*__osd_MenuUp_inner) (vlc_object_t *);
-    void (*__osd_MenuDown_inner) (vlc_object_t *);
-    osd_menu_t * (*__osd_MenuCreate_inner) (vlc_object_t *, const char *);
-    void (*__osd_MenuPrev_inner) (vlc_object_t *);
-    void (*__osd_MenuActivate_inner) (vlc_object_t *);
-    void (*__osd_Volume_inner) (vlc_object_t *);
-    const char * (*VLC_Compiler_inner) (void);
-    const char * (*VLC_Error_inner) (int);
-    const char * (*VLC_Changeset_inner) (void);
-    const char * (*VLC_CompileBy_inner) (void);
-    const char * (*VLC_CompileDomain_inner) (void);
-    const char * (*VLC_CompileHost_inner) (void);
-    const char * (*VLC_Version_inner) (void);
-    int (*playlist_PreparseEnqueueItem_inner) (playlist_t *, playlist_item_t *);
-    int (*vlc_wclosedir_inner) (void *);
-    void (*httpd_HandlerDelete_inner) (httpd_handler_t *);
-    int (*__vlc_execve_inner) (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);
-    httpd_handler_t * (*httpd_HandlerNew_inner) (httpd_host_t *, const char *psz_url, const char *psz_user, const char *psz_password, const vlc_acl_t *p_acl, httpd_handler_callback_t pf_fill, httpd_handler_sys_t *);
-    int (*osd_Slider_inner) (vlc_object_t *, spu_t *, int, int, int, int, int, int, short);
-    int (*osd_ShowTextRelative_inner) (spu_t *, int, char *, text_style_t *, int, int, int, mtime_t);
-    int (*osd_Icon_inner) (vlc_object_t *, spu_t *, int, int, int, int, int, short);
-    void (*osd_Message_inner) (spu_t *, int, char *, ...);
-    int (*osd_ShowTextAbsolute_inner) (spu_t *, int, char *, text_style_t *, int, int, int, mtime_t, mtime_t);
-    int (*__input_Read_inner) (vlc_object_t *, input_item_t *, vlc_bool_t);
-    void *__net_ConnectUDP_deprecated;
-    int (*__intf_UserFatal_inner) (vlc_object_t*, vlc_bool_t, const char*, const char*, ...);
-    int (*__intf_UserLoginPassword_inner) (vlc_object_t*, const char*, const char*, char **, char **);
-    int (*__intf_UserYesNo_inner) (vlc_object_t*, const char*, const char*, const char*, const char*, const char*);
-    void (*__intf_UserHide_inner) (vlc_object_t *, int);
-    int (*__stats_Update_inner) (vlc_object_t*, counter_t *, vlc_value_t, vlc_value_t *);
-    int (*__stats_Get_inner) (vlc_object_t*, counter_t *, vlc_value_t*);
-    void (*stats_ComputeInputStats_inner) (input_thread_t*, input_stats_t*);
-    void (*stats_DumpInputStats_inner) (input_stats_t *);
-    void (*stats_ReinitInputStats_inner) (input_stats_t *);
-    void *__input_CreateThread2_deprecated;
-    libvlc_int_t * (*vlc_current_object_inner) (int);
-    void (*__var_OptionParse_inner) (vlc_object_t *, const char *);
-    void (*__stats_TimerDump_inner) (vlc_object_t*, unsigned int);
-    void (*__stats_TimerStart_inner) (vlc_object_t*, const char *, unsigned int);
-    void (*__stats_ComputeGlobalStats_inner) (vlc_object_t*,global_stats_t*);
-    void (*__stats_TimerStop_inner) (vlc_object_t*, unsigned int);
-    void (*__stats_TimersDumpAll_inner) (vlc_object_t*);
-    update_iterator_t * (*update_iterator_New_inner) (update_t *);
-    void (*update_Check_inner) (update_t *, vlc_bool_t);
-    unsigned int (*update_iterator_Action_inner) (update_iterator_t *, int);
-    void (*update_Delete_inner) (update_t *);
-    void (*update_iterator_Delete_inner) (update_iterator_t *);
-    unsigned int (*update_iterator_ChooseMirrorAndFile_inner) (update_iterator_t *, int, int, int);
-    update_t * (*__update_New_inner) (vlc_object_t *);
-    void (*update_download_inner) (update_iterator_t *, char *);
-    DIR * (*utf8_opendir_inner) (const char *dirname);
-    FILE * (*utf8_fopen_inner) (const char *filename, const char *mode);
-    char * (*utf8_readdir_inner) (DIR *dir);
-    int (*utf8_stat_inner) (const char *filename, struct stat *buf);
-    int (*utf8_lstat_inner) (const char *filename, struct stat *buf);
-    char * (*FromLocaleDup_inner) (const char *);
-    int (*utf8_mkdir_inner) (const char *filename);
-    vlm_media_t* (*vlm_MediaSearch_inner) (vlm_t *, const char *);
-    int (*playlist_TreeMove_inner) (playlist_t *, playlist_item_t *, playlist_item_t *, int);
-    double (*us_atof_inner) (const char *);
-    double (*us_strtod_inner) (const char *, char **);
-    lldiv_t (*vlc_lldiv_inner) (long long numer, long long denom);
-    void (*unescape_URI_inner) (char *psz);
-    char * (*convert_xml_special_chars_inner) (const char *psz_content);
-    char * (*unescape_URI_duplicate_inner) (const char *psz);
-    void (*resolve_xml_special_chars_inner) (char *psz_value);
-    const char * (*IsUTF8_inner) (const char *);
-    const char * (*GetFallbackEncoding_inner) (void);
-    int (*utf8_scandir_inner) (const char *dirname, char ***namelist, int (*select)( const char * ), int (*compar)( const char **, const char ** ));
-    char * (*decode_URI_duplicate_inner) (const char *psz);
-    void (*decode_URI_inner) (char *psz);
-    char * (*encode_URI_component_inner) (const char *psz);
-    size_t (*vlc_strlcpy_inner) (char *, const char *, size_t);
-    input_item_t * (*__input_ItemNewExt_inner) (vlc_object_t *, const char *, const char*, int, const char *const *, int);
-    input_item_t * (*input_ItemNewWithType_inner) (vlc_object_t *, const char *, const char *e, int, const char *const *, int, int);
-    playlist_item_t * (*playlist_NodeAddInput_inner) (playlist_t *, input_item_t *,playlist_item_t *,int , int, vlc_bool_t);
-    int (*playlist_BothAddInput_inner) (playlist_t *, input_item_t *,playlist_item_t *,int , int, int*, int*, vlc_bool_t);
-    playlist_item_t * (*__playlist_ItemNewFromInput_inner) (vlc_object_t *p_obj,input_item_t *p_input);
-    input_item_t * (*input_ItemGetById_inner) (playlist_t *, int);
-    int (*playlist_LiveSearchUpdate_inner) (playlist_t *, playlist_item_t *, const char *);
-    int (*playlist_DeleteFromInput_inner) (playlist_t *, int, vlc_bool_t);
-    void (*playlist_NodeDump_inner) (playlist_t *p_playlist, playlist_item_t *p_item, int i_level);
-    int (*__intf_UserStringInput_inner) (vlc_object_t*, const char*, const char*, char **);
-    vlc_bool_t (*input_AddSubtitles_inner) (input_thread_t *, char *, vlc_bool_t);
-    counter_t * (*__stats_CounterCreate_inner) (vlc_object_t*, int, int);
-    void (*__stats_TimersClean_inner) (vlc_object_t *);
-    char* (*streaming_ChainToPsz_inner) (sout_chain_t*);
-    int (*__intf_UserWarn_inner) (vlc_object_t*, const char*, const char*, ...);
-    vlc_bool_t (*__intf_UserProgressIsCancelled_inner) (vlc_object_t*, int);
-    int (*__intf_Progress_inner) (vlc_object_t*, const char*, const char*, float, int);
-    void (*__intf_ProgressUpdate_inner) (vlc_object_t*, int, const char*, float, int);
-    int (*playlist_AddInput_inner) (playlist_t *, input_item_t *, int, int, vlc_bool_t, vlc_bool_t);
-    void *vlc_DictInsert_deprecated;
-    void *vlc_DictGet_deprecated;
-    void *vlc_DictLookup_deprecated;
-    void *vlc_DictClear_deprecated;
-    void *vlc_DictNew_deprecated;
-    playlist_item_t * (*playlist_GetPreferredNode_inner) (playlist_t *p_playlist, playlist_item_t *p_node);
-    int (*utf8_fprintf_inner) (FILE *, const char *, ...);
-    int (*utf8_vfprintf_inner) (FILE *stream, const char *fmt, va_list ap);
-    int (*net_SetDSCP_inner) (int fd, uint8_t dscp);
-    void (*vout_EnableFilter_inner) (vout_thread_t *, char *,vlc_bool_t , vlc_bool_t);
-    void (*aout_EnableFilter_inner) (vlc_object_t *, const char *, vlc_bool_t);
-    void (*playlist_NodesPairCreate_inner) (playlist_t *, const char *, playlist_item_t **, playlist_item_t **, vlc_bool_t);
-    char * (*aout_VisualChange_inner) (vlc_object_t *, int);
-    void (*input_ItemAddOption_inner) (input_item_t *, const char *);
-    char * (*input_ItemGetInfo_inner) (input_item_t *p_i, const char *psz_cat,const char *psz_name);
-    int (*input_ItemAddInfo_inner) (input_item_t *p_i, const char *psz_cat, const char *psz_name, const char *psz_format, ...);
-    void (*input_ItemAddOptionNoDup_inner) (input_item_t *, const char *);
-    int (*playlist_AskForArtEnqueue_inner) (playlist_t *, input_item_t *);
-    uint32_t (*input_CurrentMetaFlags_inner) (vlc_meta_t *p_meta);
-    void (*__config_ChainParse_inner) (vlc_object_t *, const char *psz_prefix, const char **ppsz_options, config_chain_t *);
-    void (*config_ChainDestroy_inner) (config_chain_t *);
-    char * (*config_ChainCreate_inner) (char **, config_chain_t **, const char *);
-    int (*utf8_open_inner) (const char *filename, int flags, mode_t mode);
-    int (*net_ListenSingle_inner) (vlc_object_t *p_this, const char *psz_host, int i_port, int family, int socktype, int protocol);
-    char * (*str_format_time_inner) (const char *);
-    char * (*__str_format_meta_inner) (vlc_object_t *, const char *);
-    int (*vout_Snapshot_inner) (vout_thread_t *p_vout, picture_t *p_pic);
-    void (*streaming_GuiDescToChain_inner) (vlc_object_t*, sout_chain_t*, sout_gui_descr_t*);
-    input_item_t* (*input_GetItem_inner) (input_thread_t*);
-    const char * (*config_GetDataDir_inner) (const vlc_object_t *);
-    int (*__net_Connect_inner) (vlc_object_t *p_this, const char *psz_host, int i_port, int socktype, int protocol);
-    int (*__net_ConnectDgram_inner) (vlc_object_t *p_this, const char *psz_host, int i_port, int hlim, int proto);
-    const char * (*msg_GetObjectTypeName_inner) (int i_object_type);
-    void (*sout_MethodRelease_inner) (announce_method_t *);
-    int (*sout_AccessOutControl_inner) (sout_access_out_t *, int, va_list);
-    void (*__vlc_object_kill_inner) (vlc_object_t *);
-    void (*path_sanitize_inner) (char *);
-    char * (*__str_format_inner) (vlc_object_t *, const char *);
-    int (*__net_OpenDgram_inner) (vlc_object_t *p_this, const char *psz_bind, int i_bind, const char *psz_server, int i_server, int family, int proto);
-    char * (*vlc_b64_encode_inner) (const char *);
-    void (*msg_StackSet_inner) (int, const char*, ...);
-    void (*msg_StackAdd_inner) (const char*, ...);
-    int * (*net_Listen_inner) (vlc_object_t *p_this, const char *psz_host, int i_port, int family, int socktype, int protocol);
-    int (*sout_SessionSetMedia_inner) (vlc_object_t *obj, session_descriptor_t *, char *, char *, int, char *, int);
-    int (*__vlc_threadvar_create_inner) (vlc_object_t *, vlc_threadvar_t *);
-    void (*filename_sanitize_inner) (char *);
-    announce_method_t* (*sout_SAPMethod_inner) (void);
-    int (*utf8_loaddir_inner) (DIR *dir, char ***namelist, int (*select)( const char * ), int (*compar)( const char **, const char ** ));
-    vlc_bool_t (*__module_Exists_inner) (vlc_object_t *, const char *);
-    char * (*vlc_b64_encode_binary_inner) (const uint8_t *, size_t);
-    uint64_t (*NTPtime64_inner) (void);
-    vlm_message_t * (*vlm_MessageAdd_inner) (vlm_message_t *, vlm_message_t *);
-    vlm_message_t * (*vlm_MessageNew_inner) (const char *, const char *, ...);
-    const char* (*msg_StackMsg_inner) (void);
-};
-# if defined (__PLUGIN__)
-#  define aout_OutputNextBuffer (p_symbols)->aout_OutputNextBuffer_inner
-#  define aout_FormatNbChannels (p_symbols)->aout_FormatNbChannels_inner
-#  define aout_FormatPrepare (p_symbols)->aout_FormatPrepare_inner
-#  define aout_FormatPrint (p_symbols)->aout_FormatPrint_inner
-#  define aout_FormatPrintChannels (p_symbols)->aout_FormatPrintChannels_inner
-#  define aout_FifoPop (p_symbols)->aout_FifoPop_inner
-#  define aout_FifoFirstDate (p_symbols)->aout_FifoFirstDate_inner
-#  define aout_VolumeSoftInit (p_symbols)->aout_VolumeSoftInit_inner
-#  define aout_VolumeNoneInit (p_symbols)->aout_VolumeNoneInit_inner
-#  define aout_DateInit (p_symbols)->aout_DateInit_inner
-#  define aout_DateSet (p_symbols)->aout_DateSet_inner
-#  define aout_DateMove (p_symbols)->aout_DateMove_inner
-#  define aout_DateGet (p_symbols)->aout_DateGet_inner
-#  define aout_DateIncrement (p_symbols)->aout_DateIncrement_inner
-#  define aout_CheckChannelReorder (p_symbols)->aout_CheckChannelReorder_inner
-#  define aout_ChannelReorder (p_symbols)->aout_ChannelReorder_inner
-#  define __aout_VolumeGet (p_symbols)->__aout_VolumeGet_inner
-#  define __aout_VolumeSet (p_symbols)->__aout_VolumeSet_inner
-#  define __aout_VolumeInfos (p_symbols)->__aout_VolumeInfos_inner
-#  define __aout_VolumeUp (p_symbols)->__aout_VolumeUp_inner
-#  define __aout_VolumeDown (p_symbols)->__aout_VolumeDown_inner
-#  define __aout_VolumeMute (p_symbols)->__aout_VolumeMute_inner
-#  define aout_Restart (p_symbols)->aout_Restart_inner
-#  define aout_FindAndRestart (p_symbols)->aout_FindAndRestart_inner
-#  define aout_ChannelsRestart (p_symbols)->aout_ChannelsRestart_inner
-#  define __config_GetType (p_symbols)->__config_GetType_inner
-#  define __config_GetInt (p_symbols)->__config_GetInt_inner
-#  define __config_PutInt (p_symbols)->__config_PutInt_inner
-#  define __config_GetFloat (p_symbols)->__config_GetFloat_inner
-#  define __config_PutFloat (p_symbols)->__config_PutFloat_inner
-#  define __config_GetPsz (p_symbols)->__config_GetPsz_inner
-#  define __config_PutPsz (p_symbols)->__config_PutPsz_inner
-#  define __config_SaveConfigFile (p_symbols)->__config_SaveConfigFile_inner
-#  define __config_ResetAll (p_symbols)->__config_ResetAll_inner
-#  define config_FindConfig (p_symbols)->config_FindConfig_inner
-#  define config_FindModule (p_symbols)->config_FindModule_inner
-#  define config_Duplicate (p_symbols)->config_Duplicate_inner
-#  define __intf_Eject (p_symbols)->__intf_Eject_inner
-#  define GetLang_1 (p_symbols)->GetLang_1_inner
-#  define GetLang_2T (p_symbols)->GetLang_2T_inner
-#  define GetLang_2B (p_symbols)->GetLang_2B_inner
-#  define DecodeLanguage (p_symbols)->DecodeLanguage_inner
-#  define __module_Need (p_symbols)->__module_Need_inner
-#  define __module_Unneed (p_symbols)->__module_Unneed_inner
-#  define mstrtime (p_symbols)->mstrtime_inner
-#  define mdate (p_symbols)->mdate_inner
-#  define mwait (p_symbols)->mwait_inner
-#  define msleep (p_symbols)->msleep_inner
-#  define secstotimestr (p_symbols)->secstotimestr_inner
-#  define date_Init (p_symbols)->date_Init_inner
-#  define date_Change (p_symbols)->date_Change_inner
-#  define date_Set (p_symbols)->date_Set_inner
-#  define date_Get (p_symbols)->date_Get_inner
-#  define date_Move (p_symbols)->date_Move_inner
-#  define date_Increment (p_symbols)->date_Increment_inner
-#  define __net_Accept (p_symbols)->__net_Accept_inner
-#  define __net_Read (p_symbols)->__net_Read_inner
-#  define __net_Select (p_symbols)->__net_Select_inner
-#  define __net_Write (p_symbols)->__net_Write_inner
-#  define __net_Gets (p_symbols)->__net_Gets_inner
-#  define net_Printf (p_symbols)->net_Printf_inner
-#  define __net_vaPrintf (p_symbols)->__net_vaPrintf_inner
-#  define vout_ShowTextRelative (p_symbols)->vout_ShowTextRelative_inner
-#  define vout_ShowTextAbsolute (p_symbols)->vout_ShowTextAbsolute_inner
-#  define __vout_OSDMessage (p_symbols)->__vout_OSDMessage_inner
-#  define vout_OSDSlider (p_symbols)->vout_OSDSlider_inner
-#  define vout_OSDIcon (p_symbols)->vout_OSDIcon_inner
-#  define sout_AccessOutNew (p_symbols)->sout_AccessOutNew_inner
-#  define sout_AccessOutDelete (p_symbols)->sout_AccessOutDelete_inner
-#  define sout_AccessOutSeek (p_symbols)->sout_AccessOutSeek_inner
-#  define sout_AccessOutRead (p_symbols)->sout_AccessOutRead_inner
-#  define sout_AccessOutWrite (p_symbols)->sout_AccessOutWrite_inner
-#  define sout_MuxNew (p_symbols)->sout_MuxNew_inner
-#  define sout_MuxAddStream (p_symbols)->sout_MuxAddStream_inner
-#  define sout_MuxDeleteStream (p_symbols)->sout_MuxDeleteStream_inner
-#  define sout_MuxDelete (p_symbols)->sout_MuxDelete_inner
-#  define sout_MuxSendBuffer (p_symbols)->sout_MuxSendBuffer_inner
-#  define sout_StreamNew (p_symbols)->sout_StreamNew_inner
-#  define sout_StreamDelete (p_symbols)->sout_StreamDelete_inner
-#  define sout_AnnounceRegister (p_symbols)->sout_AnnounceRegister_inner
-#  define sout_AnnounceRegisterSDP (p_symbols)->sout_AnnounceRegisterSDP_inner
-#  define sout_AnnounceUnRegister (p_symbols)->sout_AnnounceUnRegister_inner
-#  define sout_AnnounceSessionCreate (p_symbols)->sout_AnnounceSessionCreate_inner
-#  define sout_AnnounceSessionDestroy (p_symbols)->sout_AnnounceSessionDestroy_inner
-#  define __var_Create (p_symbols)->__var_Create_inner
-#  define __var_Destroy (p_symbols)->__var_Destroy_inner
-#  define __var_Change (p_symbols)->__var_Change_inner
-#  define __var_Type (p_symbols)->__var_Type_inner
-#  define __var_Set (p_symbols)->__var_Set_inner
-#  define __var_Get (p_symbols)->__var_Get_inner
-#  define __var_AddCallback (p_symbols)->__var_AddCallback_inner
-#  define __var_DelCallback (p_symbols)->__var_DelCallback_inner
-#  define __vout_Request (p_symbols)->__vout_Request_inner
-#  define __vout_Create (p_symbols)->__vout_Create_inner
-#  define vout_Destroy (p_symbols)->vout_Destroy_inner
-#  define vout_VarCallback (p_symbols)->vout_VarCallback_inner
-#  define vout_ChromaCmp (p_symbols)->vout_ChromaCmp_inner
-#  define vout_CreatePicture (p_symbols)->vout_CreatePicture_inner
-#  define vout_InitFormat (p_symbols)->vout_InitFormat_inner
-#  define vout_DestroyPicture (p_symbols)->vout_DestroyPicture_inner
-#  define vout_DisplayPicture (p_symbols)->vout_DisplayPicture_inner
-#  define vout_DatePicture (p_symbols)->vout_DatePicture_inner
-#  define vout_LinkPicture (p_symbols)->vout_LinkPicture_inner
-#  define vout_UnlinkPicture (p_symbols)->vout_UnlinkPicture_inner
-#  define vout_PlacePicture (p_symbols)->vout_PlacePicture_inner
-#  define vout_vaControlDefault (p_symbols)->vout_vaControlDefault_inner
-#  define vout_RequestWindow (p_symbols)->vout_RequestWindow_inner
-#  define vout_ReleaseWindow (p_symbols)->vout_ReleaseWindow_inner
-#  define vout_ControlWindow (p_symbols)->vout_ControlWindow_inner
-#  define __block_New (p_symbols)->__block_New_inner
-#  define block_Realloc (p_symbols)->block_Realloc_inner
-#  define __block_FifoNew (p_symbols)->__block_FifoNew_inner
-#  define block_FifoRelease (p_symbols)->block_FifoRelease_inner
-#  define block_FifoEmpty (p_symbols)->block_FifoEmpty_inner
-#  define block_FifoPut (p_symbols)->block_FifoPut_inner
-#  define block_FifoGet (p_symbols)->block_FifoGet_inner
-#  define block_FifoShow (p_symbols)->block_FifoShow_inner
-#  define vlc_strdup (p_symbols)->vlc_strdup_inner
-#  define vlc_vasprintf (p_symbols)->vlc_vasprintf_inner
-#  define vlc_asprintf (p_symbols)->vlc_asprintf_inner
-#  define vlc_strndup (p_symbols)->vlc_strndup_inner
-#  define vlc_atof (p_symbols)->vlc_atof_inner
-#  define vlc_atoll (p_symbols)->vlc_atoll_inner
-#  define vlc_strtoll (p_symbols)->vlc_strtoll_inner
-#  define vlc_getenv (p_symbols)->vlc_getenv_inner
-#  define vlc_strcasecmp (p_symbols)->vlc_strcasecmp_inner
-#  define vlc_strncasecmp (p_symbols)->vlc_strncasecmp_inner
-#  define vlc_strcasestr (p_symbols)->vlc_strcasestr_inner
-#  define vlc_opendir (p_symbols)->vlc_opendir_inner
-#  define vlc_readdir (p_symbols)->vlc_readdir_inner
-#  define vlc_closedir (p_symbols)->vlc_closedir_inner
-#  define vlc_ureduce (p_symbols)->vlc_ureduce_inner
-#  define vlc_parse_cmdline (p_symbols)->vlc_parse_cmdline_inner
-#  define vlc_wraptext (p_symbols)->vlc_wraptext_inner
-#  define vlc_iconv_open (p_symbols)->vlc_iconv_open_inner
-#  define vlc_iconv (p_symbols)->vlc_iconv_inner
-#  define vlc_iconv_close (p_symbols)->vlc_iconv_close_inner
-#  define vlc_dgettext (p_symbols)->vlc_dgettext_inner
-#  define demux2_vaControlHelper (p_symbols)->demux2_vaControlHelper_inner
-#  define vlc_error (p_symbols)->vlc_error_inner
-#  define httpd_HostNew (p_symbols)->httpd_HostNew_inner
-#  define httpd_TLSHostNew (p_symbols)->httpd_TLSHostNew_inner
-#  define httpd_HostDelete (p_symbols)->httpd_HostDelete_inner
-#  define httpd_UrlNew (p_symbols)->httpd_UrlNew_inner
-#  define httpd_UrlNewUnique (p_symbols)->httpd_UrlNewUnique_inner
-#  define httpd_UrlCatch (p_symbols)->httpd_UrlCatch_inner
-#  define httpd_UrlDelete (p_symbols)->httpd_UrlDelete_inner
-#  define httpd_ClientModeStream (p_symbols)->httpd_ClientModeStream_inner
-#  define httpd_ClientModeBidir (p_symbols)->httpd_ClientModeBidir_inner
-#  define httpd_ClientIP (p_symbols)->httpd_ClientIP_inner
-#  define httpd_FileNew (p_symbols)->httpd_FileNew_inner
-#  define httpd_FileDelete (p_symbols)->httpd_FileDelete_inner
-#  define httpd_RedirectNew (p_symbols)->httpd_RedirectNew_inner
-#  define httpd_RedirectDelete (p_symbols)->httpd_RedirectDelete_inner
-#  define httpd_StreamNew (p_symbols)->httpd_StreamNew_inner
-#  define httpd_StreamDelete (p_symbols)->httpd_StreamDelete_inner
-#  define httpd_StreamHeader (p_symbols)->httpd_StreamHeader_inner
-#  define httpd_StreamSend (p_symbols)->httpd_StreamSend_inner
-#  define httpd_MsgInit (p_symbols)->httpd_MsgInit_inner
-#  define httpd_MsgAdd (p_symbols)->httpd_MsgAdd_inner
-#  define httpd_MsgGet (p_symbols)->httpd_MsgGet_inner
-#  define httpd_MsgClean (p_symbols)->httpd_MsgClean_inner
-#  define tls_ServerCreate (p_symbols)->tls_ServerCreate_inner
-#  define tls_ServerDelete (p_symbols)->tls_ServerDelete_inner
-#  define tls_ClientCreate (p_symbols)->tls_ClientCreate_inner
-#  define tls_ClientDelete (p_symbols)->tls_ClientDelete_inner
-#  define __image_HandlerCreate (p_symbols)->__image_HandlerCreate_inner
-#  define image_HandlerDelete (p_symbols)->image_HandlerDelete_inner
-#  define __input_CreateThread (p_symbols)->__input_CreateThread_inner
-#  define __input_Preparse (p_symbols)->__input_Preparse_inner
-#  define input_StopThread (p_symbols)->input_StopThread_inner
-#  define input_DestroyThread (p_symbols)->input_DestroyThread_inner
-#  define input_vaControl (p_symbols)->input_vaControl_inner
-#  define input_Control (p_symbols)->input_Control_inner
-#  define input_DecoderNew (p_symbols)->input_DecoderNew_inner
-#  define input_DecoderDelete (p_symbols)->input_DecoderDelete_inner
-#  define input_DecoderDecode (p_symbols)->input_DecoderDecode_inner
-#  define __intf_Create (p_symbols)->__intf_Create_inner
-#  define intf_RunThread (p_symbols)->intf_RunThread_inner
-#  define intf_StopThread (p_symbols)->intf_StopThread_inner
-#  define intf_Destroy (p_symbols)->intf_Destroy_inner
-#  define __msg_Generic (p_symbols)->__msg_Generic_inner
-#  define __msg_GenericVa (p_symbols)->__msg_GenericVa_inner
-#  define __msg_Info (p_symbols)->__msg_Info_inner
-#  define __msg_Err (p_symbols)->__msg_Err_inner
-#  define __msg_Warn (p_symbols)->__msg_Warn_inner
-#  define __msg_Dbg (p_symbols)->__msg_Dbg_inner
-#  define __msg_Subscribe (p_symbols)->__msg_Subscribe_inner
-#  define __msg_Unsubscribe (p_symbols)->__msg_Unsubscribe_inner
-#  define __vlc_object_create (p_symbols)->__vlc_object_create_inner
-#  define __vlc_object_destroy (p_symbols)->__vlc_object_destroy_inner
-#  define __vlc_object_attach (p_symbols)->__vlc_object_attach_inner
-#  define __vlc_object_detach (p_symbols)->__vlc_object_detach_inner
-#  define __vlc_object_get (p_symbols)->__vlc_object_get_inner
-#  define __vlc_object_find (p_symbols)->__vlc_object_find_inner
-#  define __vlc_object_yield (p_symbols)->__vlc_object_yield_inner
-#  define __vlc_object_release (p_symbols)->__vlc_object_release_inner
-#  define __vlc_list_find (p_symbols)->__vlc_list_find_inner
-#  define vlc_list_release (p_symbols)->vlc_list_release_inner
-#  define playlist_Control (p_symbols)->playlist_Control_inner
-#  define playlist_Clear (p_symbols)->playlist_Clear_inner
-#  define playlist_PreparseEnqueue (p_symbols)->playlist_PreparseEnqueue_inner
-#  define playlist_ServicesDiscoveryAdd (p_symbols)->playlist_ServicesDiscoveryAdd_inner
-#  define playlist_ServicesDiscoveryRemove (p_symbols)->playlist_ServicesDiscoveryRemove_inner
-#  define playlist_IsServicesDiscoveryLoaded (p_symbols)->playlist_IsServicesDiscoveryLoaded_inner
-#  define playlist_ItemNewWithType (p_symbols)->playlist_ItemNewWithType_inner
-#  define playlist_ItemSetName (p_symbols)->playlist_ItemSetName_inner
-#  define playlist_NodeCreate (p_symbols)->playlist_NodeCreate_inner
-#  define playlist_NodeAppend (p_symbols)->playlist_NodeAppend_inner
-#  define playlist_NodeInsert (p_symbols)->playlist_NodeInsert_inner
-#  define playlist_NodeRemoveItem (p_symbols)->playlist_NodeRemoveItem_inner
-#  define playlist_NodeChildrenCount (p_symbols)->playlist_NodeChildrenCount_inner
-#  define playlist_ChildSearchName (p_symbols)->playlist_ChildSearchName_inner
-#  define playlist_NodeDelete (p_symbols)->playlist_NodeDelete_inner
-#  define playlist_NodeEmpty (p_symbols)->playlist_NodeEmpty_inner
-#  define playlist_Add (p_symbols)->playlist_Add_inner
-#  define playlist_AddExt (p_symbols)->playlist_AddExt_inner
-#  define playlist_ItemToNode (p_symbols)->playlist_ItemToNode_inner
-#  define playlist_ItemGetById (p_symbols)->playlist_ItemGetById_inner
-#  define playlist_ItemGetByInput (p_symbols)->playlist_ItemGetByInput_inner
-#  define playlist_ItemGetByInputId (p_symbols)->playlist_ItemGetByInputId_inner
-#  define playlist_RecursiveNodeSort (p_symbols)->playlist_RecursiveNodeSort_inner
-#  define playlist_Export (p_symbols)->playlist_Export_inner
-#  define __spu_Create (p_symbols)->__spu_Create_inner
-#  define spu_Init (p_symbols)->spu_Init_inner
-#  define spu_Destroy (p_symbols)->spu_Destroy_inner
-#  define spu_CreateSubpicture (p_symbols)->spu_CreateSubpicture_inner
-#  define spu_DestroySubpicture (p_symbols)->spu_DestroySubpicture_inner
-#  define spu_DisplaySubpicture (p_symbols)->spu_DisplaySubpicture_inner
-#  define __spu_CreateRegion (p_symbols)->__spu_CreateRegion_inner
-#  define __spu_MakeRegion (p_symbols)->__spu_MakeRegion_inner
-#  define __spu_DestroyRegion (p_symbols)->__spu_DestroyRegion_inner
-#  define spu_SortSubpictures (p_symbols)->spu_SortSubpictures_inner
-#  define spu_RenderSubpictures (p_symbols)->spu_RenderSubpictures_inner
-#  define stream_ReadLine (p_symbols)->stream_ReadLine_inner
-#  define __stream_DemuxNew (p_symbols)->__stream_DemuxNew_inner
-#  define stream_DemuxSend (p_symbols)->stream_DemuxSend_inner
-#  define stream_DemuxDelete (p_symbols)->stream_DemuxDelete_inner
-#  define __stream_MemoryNew (p_symbols)->__stream_MemoryNew_inner
-#  define __stream_UrlNew (p_symbols)->__stream_UrlNew_inner
-#  define __vlc_threads_init (p_symbols)->__vlc_threads_init_inner
-#  define __vlc_threads_end (p_symbols)->__vlc_threads_end_inner
-#  define __vlc_mutex_init (p_symbols)->__vlc_mutex_init_inner
-#  define __vlc_mutex_destroy (p_symbols)->__vlc_mutex_destroy_inner
-#  define __vlc_cond_init (p_symbols)->__vlc_cond_init_inner
-#  define __vlc_cond_destroy (p_symbols)->__vlc_cond_destroy_inner
-#  define __vlc_thread_create (p_symbols)->__vlc_thread_create_inner
-#  define __vlc_thread_set_priority (p_symbols)->__vlc_thread_set_priority_inner
-#  define __vlc_thread_ready (p_symbols)->__vlc_thread_ready_inner
-#  define __vlc_thread_join (p_symbols)->__vlc_thread_join_inner
-#  define __vout_CopyPicture (p_symbols)->__vout_CopyPicture_inner
-#  define __vout_InitPicture (p_symbols)->__vout_InitPicture_inner
-#  define __vout_AllocatePicture (p_symbols)->__vout_AllocatePicture_inner
-#  define __vlm_New (p_symbols)->__vlm_New_inner
-#  define vlm_Delete (p_symbols)->vlm_Delete_inner
-#  define vlm_ExecuteCommand (p_symbols)->vlm_ExecuteCommand_inner
-#  define vlm_MessageDelete (p_symbols)->vlm_MessageDelete_inner
-#  define vlm_MediaNew (p_symbols)->vlm_MediaNew_inner
-#  define vlm_MediaDelete (p_symbols)->vlm_MediaDelete_inner
-#  define vlm_MediaSetup (p_symbols)->vlm_MediaSetup_inner
-#  define vlm_MediaControl (p_symbols)->vlm_MediaControl_inner
-#  define vlm_ScheduleNew (p_symbols)->vlm_ScheduleNew_inner
-#  define vlm_ScheduleDelete (p_symbols)->vlm_ScheduleDelete_inner
-#  define vlm_ScheduleSetup (p_symbols)->vlm_ScheduleSetup_inner
-#  define vlm_MediaVodControl (p_symbols)->vlm_MediaVodControl_inner
-#  define vlm_Save (p_symbols)->vlm_Save_inner
-#  define vlm_Load (p_symbols)->vlm_Load_inner
-#  define __xml_Create (p_symbols)->__xml_Create_inner
-#  define xml_Delete (p_symbols)->xml_Delete_inner
-#  define __vout_SynchroInit (p_symbols)->__vout_SynchroInit_inner
-#  define vout_SynchroRelease (p_symbols)->vout_SynchroRelease_inner
-#  define vout_SynchroReset (p_symbols)->vout_SynchroReset_inner
-#  define vout_SynchroChoose (p_symbols)->vout_SynchroChoose_inner
-#  define vout_SynchroTrash (p_symbols)->vout_SynchroTrash_inner
-#  define vout_SynchroDecode (p_symbols)->vout_SynchroDecode_inner
-#  define vout_SynchroEnd (p_symbols)->vout_SynchroEnd_inner
-#  define vout_SynchroDate (p_symbols)->vout_SynchroDate_inner
-#  define vout_SynchroNewPicture (p_symbols)->vout_SynchroNewPicture_inner
-#  define vlc_getaddrinfo (p_symbols)->vlc_getaddrinfo_inner
-#  define vlc_getnameinfo (p_symbols)->vlc_getnameinfo_inner
-#  define InitMD5 (p_symbols)->InitMD5_inner
-#  define EndMD5 (p_symbols)->EndMD5_inner
-#  define vlc_freeaddrinfo (p_symbols)->vlc_freeaddrinfo_inner
-#  define AddMD5 (p_symbols)->AddMD5_inner
-#  define vlc_gai_strerror (p_symbols)->vlc_gai_strerror_inner
-#  define net_ListenClose (p_symbols)->net_ListenClose_inner
-#  define DigestMD5 (p_symbols)->DigestMD5_inner
-#  define ACL_Check (p_symbols)->ACL_Check_inner
-#  define __ACL_Duplicate (p_symbols)->__ACL_Duplicate_inner
-#  define __ACL_Create (p_symbols)->__ACL_Create_inner
-#  define ACL_LoadFile (p_symbols)->ACL_LoadFile_inner
-#  define ACL_AddNet (p_symbols)->ACL_AddNet_inner
-#  define ACL_Destroy (p_symbols)->ACL_Destroy_inner
-#  define httpd_ServerIP (p_symbols)->httpd_ServerIP_inner
-#  define FromLocale (p_symbols)->FromLocale_inner
-#  define LocaleFree (p_symbols)->LocaleFree_inner
-#  define ToLocale (p_symbols)->ToLocale_inner
-#  define EnsureUTF8 (p_symbols)->EnsureUTF8_inner
-#  define vlc_scandir (p_symbols)->vlc_scandir_inner
-#  define vlc_alphasort (p_symbols)->vlc_alphasort_inner
-#  define __osd_StateChange (p_symbols)->__osd_StateChange_inner
-#  define osd_ConfigUnload (p_symbols)->osd_ConfigUnload_inner
-#  define __osd_MenuShow (p_symbols)->__osd_MenuShow_inner
-#  define __osd_MenuNext (p_symbols)->__osd_MenuNext_inner
-#  define __osd_MenuDelete (p_symbols)->__osd_MenuDelete_inner
-#  define __osd_MenuHide (p_symbols)->__osd_MenuHide_inner
-#  define osd_ConfigLoader (p_symbols)->osd_ConfigLoader_inner
-#  define __osd_MenuUp (p_symbols)->__osd_MenuUp_inner
-#  define __osd_MenuDown (p_symbols)->__osd_MenuDown_inner
-#  define __osd_MenuCreate (p_symbols)->__osd_MenuCreate_inner
-#  define __osd_MenuPrev (p_symbols)->__osd_MenuPrev_inner
-#  define __osd_MenuActivate (p_symbols)->__osd_MenuActivate_inner
-#  define __osd_Volume (p_symbols)->__osd_Volume_inner
-#  define VLC_Compiler (p_symbols)->VLC_Compiler_inner
-#  define VLC_Error (p_symbols)->VLC_Error_inner
-#  define VLC_Changeset (p_symbols)->VLC_Changeset_inner
-#  define VLC_CompileBy (p_symbols)->VLC_CompileBy_inner
-#  define VLC_CompileDomain (p_symbols)->VLC_CompileDomain_inner
-#  define VLC_CompileHost (p_symbols)->VLC_CompileHost_inner
-#  define VLC_Version (p_symbols)->VLC_Version_inner
-#  define playlist_PreparseEnqueueItem (p_symbols)->playlist_PreparseEnqueueItem_inner
-#  define vlc_wclosedir (p_symbols)->vlc_wclosedir_inner
-#  define httpd_HandlerDelete (p_symbols)->httpd_HandlerDelete_inner
-#  define __vlc_execve (p_symbols)->__vlc_execve_inner
-#  define httpd_HandlerNew (p_symbols)->httpd_HandlerNew_inner
-#  define osd_Slider (p_symbols)->osd_Slider_inner
-#  define osd_ShowTextRelative (p_symbols)->osd_ShowTextRelative_inner
-#  define osd_Icon (p_symbols)->osd_Icon_inner
-#  define osd_Message (p_symbols)->osd_Message_inner
-#  define osd_ShowTextAbsolute (p_symbols)->osd_ShowTextAbsolute_inner
-#  define __input_Read (p_symbols)->__input_Read_inner
-#  define __intf_UserFatal (p_symbols)->__intf_UserFatal_inner
-#  define __intf_UserLoginPassword (p_symbols)->__intf_UserLoginPassword_inner
-#  define __intf_UserYesNo (p_symbols)->__intf_UserYesNo_inner
-#  define __intf_UserHide (p_symbols)->__intf_UserHide_inner
-#  define __stats_Update (p_symbols)->__stats_Update_inner
-#  define __stats_Get (p_symbols)->__stats_Get_inner
-#  define stats_ComputeInputStats (p_symbols)->stats_ComputeInputStats_inner
-#  define stats_DumpInputStats (p_symbols)->stats_DumpInputStats_inner
-#  define stats_ReinitInputStats (p_symbols)->stats_ReinitInputStats_inner
-#  define vlc_current_object (p_symbols)->vlc_current_object_inner
-#  define __var_OptionParse (p_symbols)->__var_OptionParse_inner
-#  define __stats_TimerDump (p_symbols)->__stats_TimerDump_inner
-#  define __stats_TimerStart (p_symbols)->__stats_TimerStart_inner
-#  define __stats_ComputeGlobalStats (p_symbols)->__stats_ComputeGlobalStats_inner
-#  define __stats_TimerStop (p_symbols)->__stats_TimerStop_inner
-#  define __stats_TimersDumpAll (p_symbols)->__stats_TimersDumpAll_inner
-#  define update_iterator_New (p_symbols)->update_iterator_New_inner
-#  define update_Check (p_symbols)->update_Check_inner
-#  define update_iterator_Action (p_symbols)->update_iterator_Action_inner
-#  define update_Delete (p_symbols)->update_Delete_inner
-#  define update_iterator_Delete (p_symbols)->update_iterator_Delete_inner
-#  define update_iterator_ChooseMirrorAndFile (p_symbols)->update_iterator_ChooseMirrorAndFile_inner
-#  define __update_New (p_symbols)->__update_New_inner
-#  define update_download (p_symbols)->update_download_inner
-#  define utf8_opendir (p_symbols)->utf8_opendir_inner
-#  define utf8_fopen (p_symbols)->utf8_fopen_inner
-#  define utf8_readdir (p_symbols)->utf8_readdir_inner
-#  define utf8_stat (p_symbols)->utf8_stat_inner
-#  define utf8_lstat (p_symbols)->utf8_lstat_inner
-#  define FromLocaleDup (p_symbols)->FromLocaleDup_inner
-#  define utf8_mkdir (p_symbols)->utf8_mkdir_inner
-#  define vlm_MediaSearch (p_symbols)->vlm_MediaSearch_inner
-#  define playlist_TreeMove (p_symbols)->playlist_TreeMove_inner
-#  define us_atof (p_symbols)->us_atof_inner
-#  define us_strtod (p_symbols)->us_strtod_inner
-#  define vlc_lldiv (p_symbols)->vlc_lldiv_inner
-#  define unescape_URI (p_symbols)->unescape_URI_inner
-#  define convert_xml_special_chars (p_symbols)->convert_xml_special_chars_inner
-#  define unescape_URI_duplicate (p_symbols)->unescape_URI_duplicate_inner
-#  define resolve_xml_special_chars (p_symbols)->resolve_xml_special_chars_inner
-#  define IsUTF8 (p_symbols)->IsUTF8_inner
-#  define GetFallbackEncoding (p_symbols)->GetFallbackEncoding_inner
-#  define utf8_scandir (p_symbols)->utf8_scandir_inner
-#  define decode_URI_duplicate (p_symbols)->decode_URI_duplicate_inner
-#  define decode_URI (p_symbols)->decode_URI_inner
-#  define encode_URI_component (p_symbols)->encode_URI_component_inner
-#  define vlc_strlcpy (p_symbols)->vlc_strlcpy_inner
-#  define __input_ItemNewExt (p_symbols)->__input_ItemNewExt_inner
-#  define input_ItemNewWithType (p_symbols)->input_ItemNewWithType_inner
-#  define playlist_NodeAddInput (p_symbols)->playlist_NodeAddInput_inner
-#  define playlist_BothAddInput (p_symbols)->playlist_BothAddInput_inner
-#  define __playlist_ItemNewFromInput (p_symbols)->__playlist_ItemNewFromInput_inner
-#  define input_ItemGetById (p_symbols)->input_ItemGetById_inner
-#  define playlist_LiveSearchUpdate (p_symbols)->playlist_LiveSearchUpdate_inner
-#  define playlist_DeleteFromInput (p_symbols)->playlist_DeleteFromInput_inner
-#  define playlist_NodeDump (p_symbols)->playlist_NodeDump_inner
-#  define __intf_UserStringInput (p_symbols)->__intf_UserStringInput_inner
-#  define input_AddSubtitles (p_symbols)->input_AddSubtitles_inner
-#  define __stats_CounterCreate (p_symbols)->__stats_CounterCreate_inner
-#  define __stats_TimersClean (p_symbols)->__stats_TimersClean_inner
-#  define streaming_ChainToPsz (p_symbols)->streaming_ChainToPsz_inner
-#  define __intf_UserWarn (p_symbols)->__intf_UserWarn_inner
-#  define __intf_UserProgressIsCancelled (p_symbols)->__intf_UserProgressIsCancelled_inner
-#  define __intf_Progress (p_symbols)->__intf_Progress_inner
-#  define __intf_ProgressUpdate (p_symbols)->__intf_ProgressUpdate_inner
-#  define playlist_AddInput (p_symbols)->playlist_AddInput_inner
-#  define playlist_GetPreferredNode (p_symbols)->playlist_GetPreferredNode_inner
-#  define utf8_fprintf (p_symbols)->utf8_fprintf_inner
-#  define utf8_vfprintf (p_symbols)->utf8_vfprintf_inner
-#  define net_SetDSCP (p_symbols)->net_SetDSCP_inner
-#  define vout_EnableFilter (p_symbols)->vout_EnableFilter_inner
-#  define aout_EnableFilter (p_symbols)->aout_EnableFilter_inner
-#  define playlist_NodesPairCreate (p_symbols)->playlist_NodesPairCreate_inner
-#  define aout_VisualChange (p_symbols)->aout_VisualChange_inner
-#  define input_ItemAddOption (p_symbols)->input_ItemAddOption_inner
-#  define input_ItemGetInfo (p_symbols)->input_ItemGetInfo_inner
-#  define input_ItemAddInfo (p_symbols)->input_ItemAddInfo_inner
-#  define input_ItemAddOptionNoDup (p_symbols)->input_ItemAddOptionNoDup_inner
-#  define playlist_AskForArtEnqueue (p_symbols)->playlist_AskForArtEnqueue_inner
-#  define input_CurrentMetaFlags (p_symbols)->input_CurrentMetaFlags_inner
-#  define __config_ChainParse (p_symbols)->__config_ChainParse_inner
-#  define config_ChainDestroy (p_symbols)->config_ChainDestroy_inner
-#  define config_ChainCreate (p_symbols)->config_ChainCreate_inner
-#  define utf8_open (p_symbols)->utf8_open_inner
-#  define net_ListenSingle (p_symbols)->net_ListenSingle_inner
-#  define str_format_time (p_symbols)->str_format_time_inner
-#  define __str_format_meta (p_symbols)->__str_format_meta_inner
-#  define vout_Snapshot (p_symbols)->vout_Snapshot_inner
-#  define streaming_GuiDescToChain (p_symbols)->streaming_GuiDescToChain_inner
-#  define input_GetItem (p_symbols)->input_GetItem_inner
-#  define config_GetDataDir (p_symbols)->config_GetDataDir_inner
-#  define __net_Connect (p_symbols)->__net_Connect_inner
-#  define __net_ConnectDgram (p_symbols)->__net_ConnectDgram_inner
-#  define msg_GetObjectTypeName (p_symbols)->msg_GetObjectTypeName_inner
-#  define sout_MethodRelease (p_symbols)->sout_MethodRelease_inner
-#  define sout_AccessOutControl (p_symbols)->sout_AccessOutControl_inner
-#  define __vlc_object_kill (p_symbols)->__vlc_object_kill_inner
-#  define path_sanitize (p_symbols)->path_sanitize_inner
-#  define __str_format (p_symbols)->__str_format_inner
-#  define __net_OpenDgram (p_symbols)->__net_OpenDgram_inner
-#  define vlc_b64_encode (p_symbols)->vlc_b64_encode_inner
-#  define msg_StackSet (p_symbols)->msg_StackSet_inner
-#  define msg_StackAdd (p_symbols)->msg_StackAdd_inner
-#  define net_Listen (p_symbols)->net_Listen_inner
-#  define sout_SessionSetMedia (p_symbols)->sout_SessionSetMedia_inner
-#  define __vlc_threadvar_create (p_symbols)->__vlc_threadvar_create_inner
-#  define filename_sanitize (p_symbols)->filename_sanitize_inner
-#  define sout_SAPMethod (p_symbols)->sout_SAPMethod_inner
-#  define utf8_loaddir (p_symbols)->utf8_loaddir_inner
-#  define __module_Exists (p_symbols)->__module_Exists_inner
-#  define vlc_b64_encode_binary (p_symbols)->vlc_b64_encode_binary_inner
-#  define NTPtime64 (p_symbols)->NTPtime64_inner
-#  define vlm_MessageAdd (p_symbols)->vlm_MessageAdd_inner
-#  define vlm_MessageNew (p_symbols)->vlm_MessageNew_inner
-#  define msg_StackMsg (p_symbols)->msg_StackMsg_inner
-# elif defined (HAVE_DYNAMIC_PLUGINS) && !defined (__BUILTIN__)
-/******************************************************************
- * STORE_SYMBOLS: store VLC APIs into p_symbols for plugin access.
- ******************************************************************/
-#  define STORE_SYMBOLS( p_symbols ) \
-    ((p_symbols)->aout_OutputNextBuffer_inner) = aout_OutputNextBuffer; \
-    ((p_symbols)->aout_FormatNbChannels_inner) = aout_FormatNbChannels; \
-    ((p_symbols)->aout_FormatPrepare_inner) = aout_FormatPrepare; \
-    ((p_symbols)->aout_FormatPrint_inner) = aout_FormatPrint; \
-    ((p_symbols)->aout_FormatPrintChannels_inner) = aout_FormatPrintChannels; \
-    ((p_symbols)->aout_FifoPop_inner) = aout_FifoPop; \
-    ((p_symbols)->aout_FifoFirstDate_inner) = aout_FifoFirstDate; \
-    ((p_symbols)->aout_VolumeSoftInit_inner) = aout_VolumeSoftInit; \
-    ((p_symbols)->aout_VolumeNoneInit_inner) = aout_VolumeNoneInit; \
-    ((p_symbols)->aout_DateInit_inner) = aout_DateInit; \
-    ((p_symbols)->aout_DateSet_inner) = aout_DateSet; \
-    ((p_symbols)->aout_DateMove_inner) = aout_DateMove; \
-    ((p_symbols)->aout_DateGet_inner) = aout_DateGet; \
-    ((p_symbols)->aout_DateIncrement_inner) = aout_DateIncrement; \
-    ((p_symbols)->aout_CheckChannelReorder_inner) = aout_CheckChannelReorder; \
-    ((p_symbols)->aout_ChannelReorder_inner) = aout_ChannelReorder; \
-    ((p_symbols)->__aout_VolumeGet_inner) = __aout_VolumeGet; \
-    ((p_symbols)->__aout_VolumeSet_inner) = __aout_VolumeSet; \
-    ((p_symbols)->__aout_VolumeInfos_inner) = __aout_VolumeInfos; \
-    ((p_symbols)->__aout_VolumeUp_inner) = __aout_VolumeUp; \
-    ((p_symbols)->__aout_VolumeDown_inner) = __aout_VolumeDown; \
-    ((p_symbols)->__aout_VolumeMute_inner) = __aout_VolumeMute; \
-    ((p_symbols)->aout_Restart_inner) = aout_Restart; \
-    ((p_symbols)->aout_FindAndRestart_inner) = aout_FindAndRestart; \
-    ((p_symbols)->aout_ChannelsRestart_inner) = aout_ChannelsRestart; \
-    ((p_symbols)->__config_GetType_inner) = __config_GetType; \
-    ((p_symbols)->__config_GetInt_inner) = __config_GetInt; \
-    ((p_symbols)->__config_PutInt_inner) = __config_PutInt; \
-    ((p_symbols)->__config_GetFloat_inner) = __config_GetFloat; \
-    ((p_symbols)->__config_PutFloat_inner) = __config_PutFloat; \
-    ((p_symbols)->__config_GetPsz_inner) = __config_GetPsz; \
-    ((p_symbols)->__config_PutPsz_inner) = __config_PutPsz; \
-    ((p_symbols)->__config_SaveConfigFile_inner) = __config_SaveConfigFile; \
-    ((p_symbols)->__config_ResetAll_inner) = __config_ResetAll; \
-    ((p_symbols)->config_FindConfig_inner) = config_FindConfig; \
-    ((p_symbols)->config_FindModule_inner) = config_FindModule; \
-    ((p_symbols)->config_Duplicate_inner) = config_Duplicate; \
-    ((p_symbols)->__intf_Eject_inner) = __intf_Eject; \
-    ((p_symbols)->GetLang_1_inner) = GetLang_1; \
-    ((p_symbols)->GetLang_2T_inner) = GetLang_2T; \
-    ((p_symbols)->GetLang_2B_inner) = GetLang_2B; \
-    ((p_symbols)->DecodeLanguage_inner) = DecodeLanguage; \
-    ((p_symbols)->__module_Need_inner) = __module_Need; \
-    ((p_symbols)->__module_Unneed_inner) = __module_Unneed; \
-    ((p_symbols)->mstrtime_inner) = mstrtime; \
-    ((p_symbols)->mdate_inner) = mdate; \
-    ((p_symbols)->mwait_inner) = mwait; \
-    ((p_symbols)->msleep_inner) = msleep; \
-    ((p_symbols)->secstotimestr_inner) = secstotimestr; \
-    ((p_symbols)->date_Init_inner) = date_Init; \
-    ((p_symbols)->date_Change_inner) = date_Change; \
-    ((p_symbols)->date_Set_inner) = date_Set; \
-    ((p_symbols)->date_Get_inner) = date_Get; \
-    ((p_symbols)->date_Move_inner) = date_Move; \
-    ((p_symbols)->date_Increment_inner) = date_Increment; \
-    ((p_symbols)->__net_Accept_inner) = __net_Accept; \
-    ((p_symbols)->__net_Read_inner) = __net_Read; \
-    ((p_symbols)->__net_Select_inner) = __net_Select; \
-    ((p_symbols)->__net_Write_inner) = __net_Write; \
-    ((p_symbols)->__net_Gets_inner) = __net_Gets; \
-    ((p_symbols)->net_Printf_inner) = net_Printf; \
-    ((p_symbols)->__net_vaPrintf_inner) = __net_vaPrintf; \
-    ((p_symbols)->vout_ShowTextRelative_inner) = vout_ShowTextRelative; \
-    ((p_symbols)->vout_ShowTextAbsolute_inner) = vout_ShowTextAbsolute; \
-    ((p_symbols)->__vout_OSDMessage_inner) = __vout_OSDMessage; \
-    ((p_symbols)->vout_OSDSlider_inner) = vout_OSDSlider; \
-    ((p_symbols)->vout_OSDIcon_inner) = vout_OSDIcon; \
-    ((p_symbols)->sout_AccessOutNew_inner) = sout_AccessOutNew; \
-    ((p_symbols)->sout_AccessOutDelete_inner) = sout_AccessOutDelete; \
-    ((p_symbols)->sout_AccessOutSeek_inner) = sout_AccessOutSeek; \
-    ((p_symbols)->sout_AccessOutRead_inner) = sout_AccessOutRead; \
-    ((p_symbols)->sout_AccessOutWrite_inner) = sout_AccessOutWrite; \
-    ((p_symbols)->sout_MuxNew_inner) = sout_MuxNew; \
-    ((p_symbols)->sout_MuxAddStream_inner) = sout_MuxAddStream; \
-    ((p_symbols)->sout_MuxDeleteStream_inner) = sout_MuxDeleteStream; \
-    ((p_symbols)->sout_MuxDelete_inner) = sout_MuxDelete; \
-    ((p_symbols)->sout_MuxSendBuffer_inner) = sout_MuxSendBuffer; \
-    ((p_symbols)->sout_StreamNew_inner) = sout_StreamNew; \
-    ((p_symbols)->sout_StreamDelete_inner) = sout_StreamDelete; \
-    ((p_symbols)->sout_AnnounceRegister_inner) = sout_AnnounceRegister; \
-    ((p_symbols)->sout_AnnounceRegisterSDP_inner) = sout_AnnounceRegisterSDP; \
-    ((p_symbols)->sout_AnnounceUnRegister_inner) = sout_AnnounceUnRegister; \
-    ((p_symbols)->sout_AnnounceSessionCreate_inner) = sout_AnnounceSessionCreate; \
-    ((p_symbols)->sout_AnnounceSessionDestroy_inner) = sout_AnnounceSessionDestroy; \
-    ((p_symbols)->__var_Create_inner) = __var_Create; \
-    ((p_symbols)->__var_Destroy_inner) = __var_Destroy; \
-    ((p_symbols)->__var_Change_inner) = __var_Change; \
-    ((p_symbols)->__var_Type_inner) = __var_Type; \
-    ((p_symbols)->__var_Set_inner) = __var_Set; \
-    ((p_symbols)->__var_Get_inner) = __var_Get; \
-    ((p_symbols)->__var_AddCallback_inner) = __var_AddCallback; \
-    ((p_symbols)->__var_DelCallback_inner) = __var_DelCallback; \
-    ((p_symbols)->__vout_Request_inner) = __vout_Request; \
-    ((p_symbols)->__vout_Create_inner) = __vout_Create; \
-    ((p_symbols)->vout_Destroy_inner) = vout_Destroy; \
-    ((p_symbols)->vout_VarCallback_inner) = vout_VarCallback; \
-    ((p_symbols)->vout_ChromaCmp_inner) = vout_ChromaCmp; \
-    ((p_symbols)->vout_CreatePicture_inner) = vout_CreatePicture; \
-    ((p_symbols)->vout_InitFormat_inner) = vout_InitFormat; \
-    ((p_symbols)->vout_DestroyPicture_inner) = vout_DestroyPicture; \
-    ((p_symbols)->vout_DisplayPicture_inner) = vout_DisplayPicture; \
-    ((p_symbols)->vout_DatePicture_inner) = vout_DatePicture; \
-    ((p_symbols)->vout_LinkPicture_inner) = vout_LinkPicture; \
-    ((p_symbols)->vout_UnlinkPicture_inner) = vout_UnlinkPicture; \
-    ((p_symbols)->vout_PlacePicture_inner) = vout_PlacePicture; \
-    ((p_symbols)->vout_vaControlDefault_inner) = vout_vaControlDefault; \
-    ((p_symbols)->vout_RequestWindow_inner) = vout_RequestWindow; \
-    ((p_symbols)->vout_ReleaseWindow_inner) = vout_ReleaseWindow; \
-    ((p_symbols)->vout_ControlWindow_inner) = vout_ControlWindow; \
-    ((p_symbols)->__block_New_inner) = __block_New; \
-    ((p_symbols)->block_Realloc_inner) = block_Realloc; \
-    ((p_symbols)->__block_FifoNew_inner) = __block_FifoNew; \
-    ((p_symbols)->block_FifoRelease_inner) = block_FifoRelease; \
-    ((p_symbols)->block_FifoEmpty_inner) = block_FifoEmpty; \
-    ((p_symbols)->block_FifoPut_inner) = block_FifoPut; \
-    ((p_symbols)->block_FifoGet_inner) = block_FifoGet; \
-    ((p_symbols)->block_FifoShow_inner) = block_FifoShow; \
-    ((p_symbols)->vlc_strdup_inner) = vlc_strdup; \
-    ((p_symbols)->vlc_vasprintf_inner) = vlc_vasprintf; \
-    ((p_symbols)->vlc_asprintf_inner) = vlc_asprintf; \
-    ((p_symbols)->vlc_strndup_inner) = vlc_strndup; \
-    ((p_symbols)->vlc_atof_inner) = vlc_atof; \
-    ((p_symbols)->vlc_atoll_inner) = vlc_atoll; \
-    ((p_symbols)->vlc_strtoll_inner) = vlc_strtoll; \
-    ((p_symbols)->vlc_getenv_inner) = vlc_getenv; \
-    ((p_symbols)->vlc_strcasecmp_inner) = vlc_strcasecmp; \
-    ((p_symbols)->vlc_strncasecmp_inner) = vlc_strncasecmp; \
-    ((p_symbols)->vlc_strcasestr_inner) = vlc_strcasestr; \
-    ((p_symbols)->vlc_opendir_inner) = vlc_opendir; \
-    ((p_symbols)->vlc_readdir_inner) = vlc_readdir; \
-    ((p_symbols)->vlc_closedir_inner) = vlc_closedir; \
-    ((p_symbols)->vlc_ureduce_inner) = vlc_ureduce; \
-    ((p_symbols)->vlc_parse_cmdline_inner) = vlc_parse_cmdline; \
-    ((p_symbols)->vlc_wraptext_inner) = vlc_wraptext; \
-    ((p_symbols)->vlc_iconv_open_inner) = vlc_iconv_open; \
-    ((p_symbols)->vlc_iconv_inner) = vlc_iconv; \
-    ((p_symbols)->vlc_iconv_close_inner) = vlc_iconv_close; \
-    ((p_symbols)->vlc_dgettext_inner) = vlc_dgettext; \
-    ((p_symbols)->demux2_vaControlHelper_inner) = demux2_vaControlHelper; \
-    ((p_symbols)->vlc_error_inner) = vlc_error; \
-    ((p_symbols)->httpd_HostNew_inner) = httpd_HostNew; \
-    ((p_symbols)->httpd_TLSHostNew_inner) = httpd_TLSHostNew; \
-    ((p_symbols)->httpd_HostDelete_inner) = httpd_HostDelete; \
-    ((p_symbols)->httpd_UrlNew_inner) = httpd_UrlNew; \
-    ((p_symbols)->httpd_UrlNewUnique_inner) = httpd_UrlNewUnique; \
-    ((p_symbols)->httpd_UrlCatch_inner) = httpd_UrlCatch; \
-    ((p_symbols)->httpd_UrlDelete_inner) = httpd_UrlDelete; \
-    ((p_symbols)->httpd_ClientModeStream_inner) = httpd_ClientModeStream; \
-    ((p_symbols)->httpd_ClientModeBidir_inner) = httpd_ClientModeBidir; \
-    ((p_symbols)->httpd_ClientIP_inner) = httpd_ClientIP; \
-    ((p_symbols)->httpd_FileNew_inner) = httpd_FileNew; \
-    ((p_symbols)->httpd_FileDelete_inner) = httpd_FileDelete; \
-    ((p_symbols)->httpd_RedirectNew_inner) = httpd_RedirectNew; \
-    ((p_symbols)->httpd_RedirectDelete_inner) = httpd_RedirectDelete; \
-    ((p_symbols)->httpd_StreamNew_inner) = httpd_StreamNew; \
-    ((p_symbols)->httpd_StreamDelete_inner) = httpd_StreamDelete; \
-    ((p_symbols)->httpd_StreamHeader_inner) = httpd_StreamHeader; \
-    ((p_symbols)->httpd_StreamSend_inner) = httpd_StreamSend; \
-    ((p_symbols)->httpd_MsgInit_inner) = httpd_MsgInit; \
-    ((p_symbols)->httpd_MsgAdd_inner) = httpd_MsgAdd; \
-    ((p_symbols)->httpd_MsgGet_inner) = httpd_MsgGet; \
-    ((p_symbols)->httpd_MsgClean_inner) = httpd_MsgClean; \
-    ((p_symbols)->tls_ServerCreate_inner) = tls_ServerCreate; \
-    ((p_symbols)->tls_ServerDelete_inner) = tls_ServerDelete; \
-    ((p_symbols)->tls_ClientCreate_inner) = tls_ClientCreate; \
-    ((p_symbols)->tls_ClientDelete_inner) = tls_ClientDelete; \
-    ((p_symbols)->__image_HandlerCreate_inner) = __image_HandlerCreate; \
-    ((p_symbols)->image_HandlerDelete_inner) = image_HandlerDelete; \
-    ((p_symbols)->__input_CreateThread_inner) = __input_CreateThread; \
-    ((p_symbols)->__input_Preparse_inner) = __input_Preparse; \
-    ((p_symbols)->input_StopThread_inner) = input_StopThread; \
-    ((p_symbols)->input_DestroyThread_inner) = input_DestroyThread; \
-    ((p_symbols)->input_vaControl_inner) = input_vaControl; \
-    ((p_symbols)->input_Control_inner) = input_Control; \
-    ((p_symbols)->input_DecoderNew_inner) = input_DecoderNew; \
-    ((p_symbols)->input_DecoderDelete_inner) = input_DecoderDelete; \
-    ((p_symbols)->input_DecoderDecode_inner) = input_DecoderDecode; \
-    ((p_symbols)->__intf_Create_inner) = __intf_Create; \
-    ((p_symbols)->intf_RunThread_inner) = intf_RunThread; \
-    ((p_symbols)->intf_StopThread_inner) = intf_StopThread; \
-    ((p_symbols)->intf_Destroy_inner) = intf_Destroy; \
-    ((p_symbols)->__msg_Generic_inner) = __msg_Generic; \
-    ((p_symbols)->__msg_GenericVa_inner) = __msg_GenericVa; \
-    ((p_symbols)->__msg_Info_inner) = __msg_Info; \
-    ((p_symbols)->__msg_Err_inner) = __msg_Err; \
-    ((p_symbols)->__msg_Warn_inner) = __msg_Warn; \
-    ((p_symbols)->__msg_Dbg_inner) = __msg_Dbg; \
-    ((p_symbols)->__msg_Subscribe_inner) = __msg_Subscribe; \
-    ((p_symbols)->__msg_Unsubscribe_inner) = __msg_Unsubscribe; \
-    ((p_symbols)->__vlc_object_create_inner) = __vlc_object_create; \
-    ((p_symbols)->__vlc_object_destroy_inner) = __vlc_object_destroy; \
-    ((p_symbols)->__vlc_object_attach_inner) = __vlc_object_attach; \
-    ((p_symbols)->__vlc_object_detach_inner) = __vlc_object_detach; \
-    ((p_symbols)->__vlc_object_get_inner) = __vlc_object_get; \
-    ((p_symbols)->__vlc_object_find_inner) = __vlc_object_find; \
-    ((p_symbols)->__vlc_object_yield_inner) = __vlc_object_yield; \
-    ((p_symbols)->__vlc_object_release_inner) = __vlc_object_release; \
-    ((p_symbols)->__vlc_list_find_inner) = __vlc_list_find; \
-    ((p_symbols)->vlc_list_release_inner) = vlc_list_release; \
-    ((p_symbols)->playlist_Control_inner) = playlist_Control; \
-    ((p_symbols)->playlist_Clear_inner) = playlist_Clear; \
-    ((p_symbols)->playlist_PreparseEnqueue_inner) = playlist_PreparseEnqueue; \
-    ((p_symbols)->playlist_ServicesDiscoveryAdd_inner) = playlist_ServicesDiscoveryAdd; \
-    ((p_symbols)->playlist_ServicesDiscoveryRemove_inner) = playlist_ServicesDiscoveryRemove; \
-    ((p_symbols)->playlist_IsServicesDiscoveryLoaded_inner) = playlist_IsServicesDiscoveryLoaded; \
-    ((p_symbols)->playlist_ItemNewWithType_inner) = playlist_ItemNewWithType; \
-    ((p_symbols)->playlist_ItemSetName_inner) = playlist_ItemSetName; \
-    ((p_symbols)->playlist_NodeCreate_inner) = playlist_NodeCreate; \
-    ((p_symbols)->playlist_NodeAppend_inner) = playlist_NodeAppend; \
-    ((p_symbols)->playlist_NodeInsert_inner) = playlist_NodeInsert; \
-    ((p_symbols)->playlist_NodeRemoveItem_inner) = playlist_NodeRemoveItem; \
-    ((p_symbols)->playlist_NodeChildrenCount_inner) = playlist_NodeChildrenCount; \
-    ((p_symbols)->playlist_ChildSearchName_inner) = playlist_ChildSearchName; \
-    ((p_symbols)->playlist_NodeDelete_inner) = playlist_NodeDelete; \
-    ((p_symbols)->playlist_NodeEmpty_inner) = playlist_NodeEmpty; \
-    ((p_symbols)->playlist_Add_inner) = playlist_Add; \
-    ((p_symbols)->playlist_AddExt_inner) = playlist_AddExt; \
-    ((p_symbols)->playlist_ItemToNode_inner) = playlist_ItemToNode; \
-    ((p_symbols)->playlist_ItemGetById_inner) = playlist_ItemGetById; \
-    ((p_symbols)->playlist_ItemGetByInput_inner) = playlist_ItemGetByInput; \
-    ((p_symbols)->playlist_ItemGetByInputId_inner) = playlist_ItemGetByInputId; \
-    ((p_symbols)->playlist_RecursiveNodeSort_inner) = playlist_RecursiveNodeSort; \
-    ((p_symbols)->playlist_Export_inner) = playlist_Export; \
-    ((p_symbols)->__spu_Create_inner) = __spu_Create; \
-    ((p_symbols)->spu_Init_inner) = spu_Init; \
-    ((p_symbols)->spu_Destroy_inner) = spu_Destroy; \
-    ((p_symbols)->spu_CreateSubpicture_inner) = spu_CreateSubpicture; \
-    ((p_symbols)->spu_DestroySubpicture_inner) = spu_DestroySubpicture; \
-    ((p_symbols)->spu_DisplaySubpicture_inner) = spu_DisplaySubpicture; \
-    ((p_symbols)->__spu_CreateRegion_inner) = __spu_CreateRegion; \
-    ((p_symbols)->__spu_MakeRegion_inner) = __spu_MakeRegion; \
-    ((p_symbols)->__spu_DestroyRegion_inner) = __spu_DestroyRegion; \
-    ((p_symbols)->spu_SortSubpictures_inner) = spu_SortSubpictures; \
-    ((p_symbols)->spu_RenderSubpictures_inner) = spu_RenderSubpictures; \
-    ((p_symbols)->stream_ReadLine_inner) = stream_ReadLine; \
-    ((p_symbols)->__stream_DemuxNew_inner) = __stream_DemuxNew; \
-    ((p_symbols)->stream_DemuxSend_inner) = stream_DemuxSend; \
-    ((p_symbols)->stream_DemuxDelete_inner) = stream_DemuxDelete; \
-    ((p_symbols)->__stream_MemoryNew_inner) = __stream_MemoryNew; \
-    ((p_symbols)->__stream_UrlNew_inner) = __stream_UrlNew; \
-    ((p_symbols)->__vlc_threads_init_inner) = __vlc_threads_init; \
-    ((p_symbols)->__vlc_threads_end_inner) = __vlc_threads_end; \
-    ((p_symbols)->__vlc_mutex_init_inner) = __vlc_mutex_init; \
-    ((p_symbols)->__vlc_mutex_destroy_inner) = __vlc_mutex_destroy; \
-    ((p_symbols)->__vlc_cond_init_inner) = __vlc_cond_init; \
-    ((p_symbols)->__vlc_cond_destroy_inner) = __vlc_cond_destroy; \
-    ((p_symbols)->__vlc_thread_create_inner) = __vlc_thread_create; \
-    ((p_symbols)->__vlc_thread_set_priority_inner) = __vlc_thread_set_priority; \
-    ((p_symbols)->__vlc_thread_ready_inner) = __vlc_thread_ready; \
-    ((p_symbols)->__vlc_thread_join_inner) = __vlc_thread_join; \
-    ((p_symbols)->__vout_CopyPicture_inner) = __vout_CopyPicture; \
-    ((p_symbols)->__vout_InitPicture_inner) = __vout_InitPicture; \
-    ((p_symbols)->__vout_AllocatePicture_inner) = __vout_AllocatePicture; \
-    ((p_symbols)->__vlm_New_inner) = __vlm_New; \
-    ((p_symbols)->vlm_Delete_inner) = vlm_Delete; \
-    ((p_symbols)->vlm_ExecuteCommand_inner) = vlm_ExecuteCommand; \
-    ((p_symbols)->vlm_MessageDelete_inner) = vlm_MessageDelete; \
-    ((p_symbols)->vlm_MediaNew_inner) = vlm_MediaNew; \
-    ((p_symbols)->vlm_MediaDelete_inner) = vlm_MediaDelete; \
-    ((p_symbols)->vlm_MediaSetup_inner) = vlm_MediaSetup; \
-    ((p_symbols)->vlm_MediaControl_inner) = vlm_MediaControl; \
-    ((p_symbols)->vlm_ScheduleNew_inner) = vlm_ScheduleNew; \
-    ((p_symbols)->vlm_ScheduleDelete_inner) = vlm_ScheduleDelete; \
-    ((p_symbols)->vlm_ScheduleSetup_inner) = vlm_ScheduleSetup; \
-    ((p_symbols)->vlm_MediaVodControl_inner) = vlm_MediaVodControl; \
-    ((p_symbols)->vlm_Save_inner) = vlm_Save; \
-    ((p_symbols)->vlm_Load_inner) = vlm_Load; \
-    ((p_symbols)->__xml_Create_inner) = __xml_Create; \
-    ((p_symbols)->xml_Delete_inner) = xml_Delete; \
-    ((p_symbols)->__vout_SynchroInit_inner) = __vout_SynchroInit; \
-    ((p_symbols)->vout_SynchroRelease_inner) = vout_SynchroRelease; \
-    ((p_symbols)->vout_SynchroReset_inner) = vout_SynchroReset; \
-    ((p_symbols)->vout_SynchroChoose_inner) = vout_SynchroChoose; \
-    ((p_symbols)->vout_SynchroTrash_inner) = vout_SynchroTrash; \
-    ((p_symbols)->vout_SynchroDecode_inner) = vout_SynchroDecode; \
-    ((p_symbols)->vout_SynchroEnd_inner) = vout_SynchroEnd; \
-    ((p_symbols)->vout_SynchroDate_inner) = vout_SynchroDate; \
-    ((p_symbols)->vout_SynchroNewPicture_inner) = vout_SynchroNewPicture; \
-    ((p_symbols)->vlc_getaddrinfo_inner) = vlc_getaddrinfo; \
-    ((p_symbols)->vlc_getnameinfo_inner) = vlc_getnameinfo; \
-    ((p_symbols)->InitMD5_inner) = InitMD5; \
-    ((p_symbols)->EndMD5_inner) = EndMD5; \
-    ((p_symbols)->vlc_freeaddrinfo_inner) = vlc_freeaddrinfo; \
-    ((p_symbols)->AddMD5_inner) = AddMD5; \
-    ((p_symbols)->vlc_gai_strerror_inner) = vlc_gai_strerror; \
-    ((p_symbols)->net_ListenClose_inner) = net_ListenClose; \
-    ((p_symbols)->DigestMD5_inner) = DigestMD5; \
-    ((p_symbols)->ACL_Check_inner) = ACL_Check; \
-    ((p_symbols)->__ACL_Duplicate_inner) = __ACL_Duplicate; \
-    ((p_symbols)->__ACL_Create_inner) = __ACL_Create; \
-    ((p_symbols)->ACL_LoadFile_inner) = ACL_LoadFile; \
-    ((p_symbols)->ACL_AddNet_inner) = ACL_AddNet; \
-    ((p_symbols)->ACL_Destroy_inner) = ACL_Destroy; \
-    ((p_symbols)->httpd_ServerIP_inner) = httpd_ServerIP; \
-    ((p_symbols)->FromLocale_inner) = FromLocale; \
-    ((p_symbols)->LocaleFree_inner) = LocaleFree; \
-    ((p_symbols)->ToLocale_inner) = ToLocale; \
-    ((p_symbols)->EnsureUTF8_inner) = EnsureUTF8; \
-    ((p_symbols)->vlc_scandir_inner) = vlc_scandir; \
-    ((p_symbols)->vlc_alphasort_inner) = vlc_alphasort; \
-    ((p_symbols)->__osd_StateChange_inner) = __osd_StateChange; \
-    ((p_symbols)->osd_ConfigUnload_inner) = osd_ConfigUnload; \
-    ((p_symbols)->__osd_MenuShow_inner) = __osd_MenuShow; \
-    ((p_symbols)->__osd_MenuNext_inner) = __osd_MenuNext; \
-    ((p_symbols)->__osd_MenuDelete_inner) = __osd_MenuDelete; \
-    ((p_symbols)->__osd_MenuHide_inner) = __osd_MenuHide; \
-    ((p_symbols)->osd_ConfigLoader_inner) = osd_ConfigLoader; \
-    ((p_symbols)->__osd_MenuUp_inner) = __osd_MenuUp; \
-    ((p_symbols)->__osd_MenuDown_inner) = __osd_MenuDown; \
-    ((p_symbols)->__osd_MenuCreate_inner) = __osd_MenuCreate; \
-    ((p_symbols)->__osd_MenuPrev_inner) = __osd_MenuPrev; \
-    ((p_symbols)->__osd_MenuActivate_inner) = __osd_MenuActivate; \
-    ((p_symbols)->__osd_Volume_inner) = __osd_Volume; \
-    ((p_symbols)->VLC_Compiler_inner) = VLC_Compiler; \
-    ((p_symbols)->VLC_Error_inner) = VLC_Error; \
-    ((p_symbols)->VLC_Changeset_inner) = VLC_Changeset; \
-    ((p_symbols)->VLC_CompileBy_inner) = VLC_CompileBy; \
-    ((p_symbols)->VLC_CompileDomain_inner) = VLC_CompileDomain; \
-    ((p_symbols)->VLC_CompileHost_inner) = VLC_CompileHost; \
-    ((p_symbols)->VLC_Version_inner) = VLC_Version; \
-    ((p_symbols)->playlist_PreparseEnqueueItem_inner) = playlist_PreparseEnqueueItem; \
-    ((p_symbols)->vlc_wclosedir_inner) = vlc_wclosedir; \
-    ((p_symbols)->httpd_HandlerDelete_inner) = httpd_HandlerDelete; \
-    ((p_symbols)->__vlc_execve_inner) = __vlc_execve; \
-    ((p_symbols)->httpd_HandlerNew_inner) = httpd_HandlerNew; \
-    ((p_symbols)->osd_Slider_inner) = osd_Slider; \
-    ((p_symbols)->osd_ShowTextRelative_inner) = osd_ShowTextRelative; \
-    ((p_symbols)->osd_Icon_inner) = osd_Icon; \
-    ((p_symbols)->osd_Message_inner) = osd_Message; \
-    ((p_symbols)->osd_ShowTextAbsolute_inner) = osd_ShowTextAbsolute; \
-    ((p_symbols)->__input_Read_inner) = __input_Read; \
-    ((p_symbols)->__intf_UserFatal_inner) = __intf_UserFatal; \
-    ((p_symbols)->__intf_UserLoginPassword_inner) = __intf_UserLoginPassword; \
-    ((p_symbols)->__intf_UserYesNo_inner) = __intf_UserYesNo; \
-    ((p_symbols)->__intf_UserHide_inner) = __intf_UserHide; \
-    ((p_symbols)->__stats_Update_inner) = __stats_Update; \
-    ((p_symbols)->__stats_Get_inner) = __stats_Get; \
-    ((p_symbols)->stats_ComputeInputStats_inner) = stats_ComputeInputStats; \
-    ((p_symbols)->stats_DumpInputStats_inner) = stats_DumpInputStats; \
-    ((p_symbols)->stats_ReinitInputStats_inner) = stats_ReinitInputStats; \
-    ((p_symbols)->vlc_current_object_inner) = vlc_current_object; \
-    ((p_symbols)->__var_OptionParse_inner) = __var_OptionParse; \
-    ((p_symbols)->__stats_TimerDump_inner) = __stats_TimerDump; \
-    ((p_symbols)->__stats_TimerStart_inner) = __stats_TimerStart; \
-    ((p_symbols)->__stats_ComputeGlobalStats_inner) = __stats_ComputeGlobalStats; \
-    ((p_symbols)->__stats_TimerStop_inner) = __stats_TimerStop; \
-    ((p_symbols)->__stats_TimersDumpAll_inner) = __stats_TimersDumpAll; \
-    ((p_symbols)->update_iterator_New_inner) = update_iterator_New; \
-    ((p_symbols)->update_Check_inner) = update_Check; \
-    ((p_symbols)->update_iterator_Action_inner) = update_iterator_Action; \
-    ((p_symbols)->update_Delete_inner) = update_Delete; \
-    ((p_symbols)->update_iterator_Delete_inner) = update_iterator_Delete; \
-    ((p_symbols)->update_iterator_ChooseMirrorAndFile_inner) = update_iterator_ChooseMirrorAndFile; \
-    ((p_symbols)->__update_New_inner) = __update_New; \
-    ((p_symbols)->update_download_inner) = update_download; \
-    ((p_symbols)->utf8_opendir_inner) = utf8_opendir; \
-    ((p_symbols)->utf8_fopen_inner) = utf8_fopen; \
-    ((p_symbols)->utf8_readdir_inner) = utf8_readdir; \
-    ((p_symbols)->utf8_stat_inner) = utf8_stat; \
-    ((p_symbols)->utf8_lstat_inner) = utf8_lstat; \
-    ((p_symbols)->FromLocaleDup_inner) = FromLocaleDup; \
-    ((p_symbols)->utf8_mkdir_inner) = utf8_mkdir; \
-    ((p_symbols)->vlm_MediaSearch_inner) = vlm_MediaSearch; \
-    ((p_symbols)->playlist_TreeMove_inner) = playlist_TreeMove; \
-    ((p_symbols)->us_atof_inner) = us_atof; \
-    ((p_symbols)->us_strtod_inner) = us_strtod; \
-    ((p_symbols)->vlc_lldiv_inner) = vlc_lldiv; \
-    ((p_symbols)->unescape_URI_inner) = unescape_URI; \
-    ((p_symbols)->convert_xml_special_chars_inner) = convert_xml_special_chars; \
-    ((p_symbols)->unescape_URI_duplicate_inner) = unescape_URI_duplicate; \
-    ((p_symbols)->resolve_xml_special_chars_inner) = resolve_xml_special_chars; \
-    ((p_symbols)->IsUTF8_inner) = IsUTF8; \
-    ((p_symbols)->GetFallbackEncoding_inner) = GetFallbackEncoding; \
-    ((p_symbols)->utf8_scandir_inner) = utf8_scandir; \
-    ((p_symbols)->decode_URI_duplicate_inner) = decode_URI_duplicate; \
-    ((p_symbols)->decode_URI_inner) = decode_URI; \
-    ((p_symbols)->encode_URI_component_inner) = encode_URI_component; \
-    ((p_symbols)->vlc_strlcpy_inner) = vlc_strlcpy; \
-    ((p_symbols)->__input_ItemNewExt_inner) = __input_ItemNewExt; \
-    ((p_symbols)->input_ItemNewWithType_inner) = input_ItemNewWithType; \
-    ((p_symbols)->playlist_NodeAddInput_inner) = playlist_NodeAddInput; \
-    ((p_symbols)->playlist_BothAddInput_inner) = playlist_BothAddInput; \
-    ((p_symbols)->__playlist_ItemNewFromInput_inner) = __playlist_ItemNewFromInput; \
-    ((p_symbols)->input_ItemGetById_inner) = input_ItemGetById; \
-    ((p_symbols)->playlist_LiveSearchUpdate_inner) = playlist_LiveSearchUpdate; \
-    ((p_symbols)->playlist_DeleteFromInput_inner) = playlist_DeleteFromInput; \
-    ((p_symbols)->playlist_NodeDump_inner) = playlist_NodeDump; \
-    ((p_symbols)->__intf_UserStringInput_inner) = __intf_UserStringInput; \
-    ((p_symbols)->input_AddSubtitles_inner) = input_AddSubtitles; \
-    ((p_symbols)->__stats_CounterCreate_inner) = __stats_CounterCreate; \
-    ((p_symbols)->__stats_TimersClean_inner) = __stats_TimersClean; \
-    ((p_symbols)->streaming_ChainToPsz_inner) = streaming_ChainToPsz; \
-    ((p_symbols)->__intf_UserWarn_inner) = __intf_UserWarn; \
-    ((p_symbols)->__intf_UserProgressIsCancelled_inner) = __intf_UserProgressIsCancelled; \
-    ((p_symbols)->__intf_Progress_inner) = __intf_Progress; \
-    ((p_symbols)->__intf_ProgressUpdate_inner) = __intf_ProgressUpdate; \
-    ((p_symbols)->playlist_AddInput_inner) = playlist_AddInput; \
-    ((p_symbols)->playlist_GetPreferredNode_inner) = playlist_GetPreferredNode; \
-    ((p_symbols)->utf8_fprintf_inner) = utf8_fprintf; \
-    ((p_symbols)->utf8_vfprintf_inner) = utf8_vfprintf; \
-    ((p_symbols)->net_SetDSCP_inner) = net_SetDSCP; \
-    ((p_symbols)->vout_EnableFilter_inner) = vout_EnableFilter; \
-    ((p_symbols)->aout_EnableFilter_inner) = aout_EnableFilter; \
-    ((p_symbols)->playlist_NodesPairCreate_inner) = playlist_NodesPairCreate; \
-    ((p_symbols)->aout_VisualChange_inner) = aout_VisualChange; \
-    ((p_symbols)->input_ItemAddOption_inner) = input_ItemAddOption; \
-    ((p_symbols)->input_ItemGetInfo_inner) = input_ItemGetInfo; \
-    ((p_symbols)->input_ItemAddInfo_inner) = input_ItemAddInfo; \
-    ((p_symbols)->input_ItemAddOptionNoDup_inner) = input_ItemAddOptionNoDup; \
-    ((p_symbols)->playlist_AskForArtEnqueue_inner) = playlist_AskForArtEnqueue; \
-    ((p_symbols)->input_CurrentMetaFlags_inner) = input_CurrentMetaFlags; \
-    ((p_symbols)->__config_ChainParse_inner) = __config_ChainParse; \
-    ((p_symbols)->config_ChainDestroy_inner) = config_ChainDestroy; \
-    ((p_symbols)->config_ChainCreate_inner) = config_ChainCreate; \
-    ((p_symbols)->utf8_open_inner) = utf8_open; \
-    ((p_symbols)->net_ListenSingle_inner) = net_ListenSingle; \
-    ((p_symbols)->str_format_time_inner) = str_format_time; \
-    ((p_symbols)->__str_format_meta_inner) = __str_format_meta; \
-    ((p_symbols)->vout_Snapshot_inner) = vout_Snapshot; \
-    ((p_symbols)->streaming_GuiDescToChain_inner) = streaming_GuiDescToChain; \
-    ((p_symbols)->input_GetItem_inner) = input_GetItem; \
-    ((p_symbols)->config_GetDataDir_inner) = config_GetDataDir; \
-    ((p_symbols)->__net_Connect_inner) = __net_Connect; \
-    ((p_symbols)->__net_ConnectDgram_inner) = __net_ConnectDgram; \
-    ((p_symbols)->msg_GetObjectTypeName_inner) = msg_GetObjectTypeName; \
-    ((p_symbols)->sout_MethodRelease_inner) = sout_MethodRelease; \
-    ((p_symbols)->sout_AccessOutControl_inner) = sout_AccessOutControl; \
-    ((p_symbols)->__vlc_object_kill_inner) = __vlc_object_kill; \
-    ((p_symbols)->path_sanitize_inner) = path_sanitize; \
-    ((p_symbols)->__str_format_inner) = __str_format; \
-    ((p_symbols)->__net_OpenDgram_inner) = __net_OpenDgram; \
-    ((p_symbols)->vlc_b64_encode_inner) = vlc_b64_encode; \
-    ((p_symbols)->msg_StackSet_inner) = msg_StackSet; \
-    ((p_symbols)->msg_StackAdd_inner) = msg_StackAdd; \
-    ((p_symbols)->net_Listen_inner) = net_Listen; \
-    ((p_symbols)->sout_SessionSetMedia_inner) = sout_SessionSetMedia; \
-    ((p_symbols)->__vlc_threadvar_create_inner) = __vlc_threadvar_create; \
-    ((p_symbols)->filename_sanitize_inner) = filename_sanitize; \
-    ((p_symbols)->sout_SAPMethod_inner) = sout_SAPMethod; \
-    ((p_symbols)->utf8_loaddir_inner) = utf8_loaddir; \
-    ((p_symbols)->__module_Exists_inner) = __module_Exists; \
-    ((p_symbols)->vlc_b64_encode_binary_inner) = vlc_b64_encode_binary; \
-    ((p_symbols)->NTPtime64_inner) = NTPtime64; \
-    ((p_symbols)->vlm_MessageAdd_inner) = vlm_MessageAdd; \
-    ((p_symbols)->vlm_MessageNew_inner) = vlm_MessageNew; \
-    ((p_symbols)->msg_StackMsg_inner) = msg_StackMsg; \
-    (p_symbols)->__net_ConnectTCP_deprecated = NULL; \
-    (p_symbols)->__net_ListenTCP_deprecated = NULL; \
-    (p_symbols)->__net_OpenUDP_deprecated = NULL; \
-    (p_symbols)->net_Close_deprecated = NULL; \
-    (p_symbols)->__net_ReadNonBlock_deprecated = NULL; \
-    (p_symbols)->sout_AnnounceMethodCreate_deprecated = NULL; \
-    (p_symbols)->__net_ConnectUDP_deprecated = NULL; \
-    (p_symbols)->__input_CreateThread2_deprecated = NULL; \
-    (p_symbols)->vlc_DictInsert_deprecated = NULL; \
-    (p_symbols)->vlc_DictGet_deprecated = NULL; \
-    (p_symbols)->vlc_DictLookup_deprecated = NULL; \
-    (p_symbols)->vlc_DictClear_deprecated = NULL; \
-    (p_symbols)->vlc_DictNew_deprecated = NULL; \
-
-# endif /* __PLUGIN__ */
-#endif /* __VLC_SYMBOLS_H */
diff --git a/vlc-api.pl b/vlc-api.pl
deleted file mode 100755 (executable)
index 0cb7d52..0000000
+++ /dev/null
@@ -1,201 +0,0 @@
-#!/usr/bin/perl
-#*****************************************************************************
-#* vlc-api.pl: VLC API maintenance script
-#*****************************************************************************
-#* Copyright (C) 2005 the VideoLAN team
-#* $Id$
-#*
-#* Authors: Rémi Denis-Courmont <rem # videolan.org>
-#*
-#* This program is free software; you can redistribute it and/or modify
-#* it under the terms of the GNU General Public License as published by
-#* the Free Software Foundation; either version 2 of the License, or
-#* (at your option) any later version.
-#*
-#* 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
-#* GNU General Public License for more details.
-#*
-#* You should have received a copy of the GNU General Public License
-#* along with this program; if not, write to the Free Software
-#* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
-#*****************************************************************************/
-
-use IO::Handle;
-use strict;
-
-my $srcdir = $ENV{'top_srcdir'};
-
-#
-# Reads to-be exported APIs
-#
-my %new_APIs;
-my $new_sym = IO::Handle->new();
-
-while (<STDIN>)
-{
-       if (/VLC_EXPORT\(\s*(\w.*\S)\s*,\s*(\w*)\s*,\s*\(\s*(\w.*\S)\s*\)\s*\)[^)]*$/)
-       {
-               $new_APIs{$2} = [ ( $1, $3 ) ];
-       } 
-}
-
-#
-# Write header's header
-#
-open $new_sym, '> vlc_symbols.h.new' or die "vlc_symbols.h.new: $!\n";
-print { $new_sym }
-       "/*\n".
-       " * This file is automatically generated. DO NOT EDIT!\n".
-       " * You can force an update with \"make stamp-api\".\n".
-       " */\n".
-       "\n".
-       "#ifndef __VLC_SYMBOLS_H\n".
-       "# define __VLC_SYMBOLS_H\n".
-       "\n".
-       "# ifdef HAVE_SHARED_LIBVLC\n".
-       "#  error You are not supposed to include this file!\n".
-       "# endif\n".
-       "/*\n".
-       " * This is the big VLC API structure for plugins :\n".
-       " * Changing its layout breaks plugin's binary compatibility,\n".
-       " * so DO NOT DO THAT.\n".
-       " * In case of conflict with SVN, add your uncommited APIs\n".
-       " * at the *end* of the structure so they don't mess the other's\n".
-       " * offset in the structure.\n".
-       " */\n".
-       "struct module_symbols_t\n".
-       "{\n";
-
-my $changes = 0;
-
-#
-# Compares new APIs with currently exported APIs
-#
-my @API;
-my @deprecated_API;
-my $parse = 0;
-
-my $oldfd = IO::Handle->new();
-open $oldfd, "< $srcdir/include/vlc_symbols.h";
-
-while (<$oldfd>)
-{
-       if (/^struct module_symbols_t/)
-       {
-               $parse = 1;
-       }
-       elsif ($parse == 0)
-       {
-       }
-       elsif (/^    void \*(\w*)_deprecated;$/)
-       {
-               if (defined $new_APIs{$1})
-               {
-                       print "[info] $1 was RESTORED!\n";
-                       print { $new_sym }
-                               "    ".$new_APIs{$1}[0]." (*$1_inner) (".$new_APIs{$1}[1].");\n";
-                       delete $new_APIs{$1};
-                       push (@API, $1);
-                       $changes++;
-               }
-               else
-               {
-                       print { $new_sym } $_;
-                       push (@deprecated_API, $1);
-               }
-       }
-       elsif (/^\s*(\w.*\S)\s*\(\*\s*(\w*)_inner\)\s*\(\s*(\w.*\S)\s*\)\s*;\s*$/)
-       {
-               if (!defined $new_APIs{$2})
-               {
-                       print "[warn] $2 was REMOVED!\n";
-                       print { $new_sym } "    void *$2_deprecated;\n";
-                       push (@deprecated_API, $2);
-                       $changes++;
-               }
-               elsif (($new_APIs{$2}[0] ne $1)
-                   || ($new_APIs{$2}[1] ne $3))
-               {
-                       print
-                               "[warn] $2 was CHANGED!\n".
-                               "       Old argument(s) : \"$3\"\n".
-                               "       New argument(s) : \"".$new_APIs{$2}[1]."\"\n".
-                               "       Old return type : \"$1\"\n".
-                               "       New return type : \"".$new_APIs{$2}[0]."\"\n";
-
-                       print { $new_sym }
-                               "    ".$new_APIs{$2}[0]." (*$2_inner) (".$new_APIs{$2}[1].");\n";
-                       delete $new_APIs{$2};
-                       push (@API, $2);
-                       $changes++;
-               }
-               else
-               {
-                       print { $new_sym } "    $1 (*$2_inner) ($3);\n";
-                       push (@API, $2);
-                       delete $new_APIs{$2};
-               }
-       }
-}
-close $oldfd;
-
-#
-# Adds brand-new APIs
-#
-foreach (keys %new_APIs)
-{
-       print "[info] $_ was ADDED!\n";
-       print { $new_sym }
-               "    ".$new_APIs{$_}[0]." (*${_}_inner) (".$new_APIs{$_}[1].");\n";
-       push (@API, $_);
-       $changes++;
-}
-
-#
-# Writes #defines
-#
-print { $new_sym }
-       "};\n".
-       "# if defined (__PLUGIN__)\n";
-
-foreach (@API)
-{
-       print { $new_sym } "#  define $_ (p_symbols)->${_}_inner\n";
-}
-
-print { $new_sym }
-       "# elif defined (HAVE_DYNAMIC_PLUGINS) && !defined (__BUILTIN__)\n".
-       "/******************************************************************\n".
-       " * STORE_SYMBOLS: store VLC APIs into p_symbols for plugin access.\n".
-       " ******************************************************************/\n".
-       "#  define STORE_SYMBOLS( p_symbols ) \\\n";
-
-foreach (@API)
-{
-       print { $new_sym } "    ((p_symbols)->${_}_inner) = $_; \\\n";
-}
-foreach (@deprecated_API)
-{
-       print { $new_sym } "    (p_symbols)->${_}_deprecated = NULL; \\\n";
-}
-
-print { $new_sym }
-       "\n".
-       "# endif /* __PLUGIN__ */\n".
-       "#endif /* __VLC_SYMBOLS_H */\n";
-close $new_sym;
-
-#
-# Replace headers if needed
-#
-if ($changes != 0)
-{
-       rename 'vlc_symbols.h.new', "$srcdir/include/vlc_symbols.h";
-       print "$changes API(s) changed.\n";
-}
-else
-{
-       unlink 'vlc_symbols.h.new';
-}