#ifndef _VFS_H_
#define _VFS_H_
-#define VFS_MAXDIRS 8
+#include "globaldefs.h"
+
+// to get PATH_MAX
+#include <stdio.h>
+
+#if GDEF_OS_WINDOWS
+#include <wtypes.h>
+#include <io.h>
+#define S_ISDIR( mode ) ( mode & _S_IFDIR )
+#else // !GDEF_OS_WINDOWS
+#include <dirent.h>
+#include <unistd.h>
+#endif // !GDEF_OS_WINDOWS
+
+#ifndef PATH_MAX
+#define PATH_MAX 260
+#endif // PATH_MAX
+
+// PATH_MAX
+#if defined( __FreeBSD__ )
+#include <sys/syslimits.h>
+#endif
+
+// Multiple pakpaths with many pk3dirs can lead
+// to high list of VFS directories
+#define VFS_MAXDIRS 256
void vfsInitDirectory( const char *path );
void vfsShutdown();
int vfsGetFileCount( const char *filename );
int vfsLoadFile( const char *filename, void **buffer, int index );
+extern char g_strForbiddenDirs[VFS_MAXDIRS][PATH_MAX + 1];
+extern int g_numForbiddenDirs;
+
#endif // _VFS_H_