- VLC_EXPORT( void *, vlc_opendir_wrapper, ( const char * ) );
- VLC_EXPORT( struct dirent *, vlc_readdir_wrapper, ( void * ) );
- VLC_EXPORT( int, vlc_closedir_wrapper, ( void * ) );
+#if defined (WIN32)
+# include <dirent.h>
+VLC_INTERNAL( void *, vlc_wopendir, ( const wchar_t * ) );
+VLC_INTERNAL( struct _wdirent *, vlc_wreaddir, ( void * ) );
+VLC_INTERNAL( int, vlc_wclosedir, ( void * ) );
+VLC_INTERNAL( void, vlc_rewinddir, ( void * ) );
+VLC_INTERNAL( void, vlc_seekdir, ( void *, long ) );
+VLC_INTERNAL( long, vlc_telldir, ( void * ) );
+# define opendir Use_utf8_opendir_or_vlc_wopendir_instead!
+# define readdir Use_utf8_readdir_or_vlc_wreaddir_instead!
+# define closedir vlc_wclosedir
+# define _wopendir vlc_wopendir
+# define _wreaddir vlc_wreaddir
+# define rewinddir vlc_rewinddir
+# define seekdir vlc_seekdir
+# define telldir vlc_telldir
+#endif