-inline void setThreadName(const char* name) {
- prctl(PR_SET_NAME,name);
-}
-#elif defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__)
-/* BSD doesn't seem to support thread names. If you know about a way
- * to add this feature please create a pull request.
- * "setproctitle" doesn't work for threadnames.
- */
-inline void setThreadName(const char* name) {}
-#elif defined(_WIN32)
-// threadnames are not supported on windows
-inline void setThreadName(const char* name) {}
+v2u32 getDisplaySize();
+v2u32 getWindowSize();
+
+std::vector<core::vector3d<u32> > getSupportedVideoModes();
+std::vector<irr::video::E_DRIVER_TYPE> getSupportedVideoDrivers();
+const char *getVideoDriverName(irr::video::E_DRIVER_TYPE type);
+const char *getVideoDriverFriendlyName(irr::video::E_DRIVER_TYPE type);
+#endif
+
+inline const char *getPlatformName()
+{
+ return
+#if defined(ANDROID)
+ "Android"
+#elif defined(linux) || defined(__linux) || defined(__linux__)
+ "Linux"
+#elif defined(_WIN32) || defined(_WIN64)
+ "Windows"
+#elif defined(__DragonFly__) || defined(__FreeBSD__) || \
+ defined(__NetBSD__) || defined(__OpenBSD__)
+ "BSD"
+#elif defined(__APPLE__) && defined(__MACH__)
+ #if TARGET_OS_MAC
+ "OSX"
+ #elif TARGET_OS_IPHONE
+ "iOS"
+ #else
+ "Apple"
+ #endif
+#elif defined(_AIX)
+ "AIX"
+#elif defined(__hpux)
+ "HP-UX"
+#elif defined(__sun) || defined(sun)
+ #if defined(__SVR4)
+ "Solaris"
+ #else
+ "SunOS"
+ #endif
+#elif defined(__CYGWIN__)
+ "Cygwin"
+#elif defined(__unix__) || defined(__unix)
+ #if defined(_POSIX_VERSION)
+ "Posix"
+ #else
+ "Unix"
+ #endif