+// check if we're running under a server or workstation Windows system: it
+// returns true or false with obvious meaning as well as -1 if the system type
+// couldn't be determined
+//
+// this function is currently private but we may want to expose it later if
+// it's really useful
+namespace
+{
+
+int wxIsWindowsServer()
+{
+#ifdef VER_NT_WORKSTATION
+ OSVERSIONINFOEX info;
+ wxZeroMemory(info);
+
+ info.dwOSVersionInfoSize = sizeof(info);
+ if ( ::GetVersionEx(wx_reinterpret_cast(OSVERSIONINFO *, &info)) )
+ {
+ switch ( info.wProductType )
+ {
+ case VER_NT_WORKSTATION:
+ return false;
+
+ case VER_NT_SERVER:
+ case VER_NT_DOMAIN_CONTROLLER:
+ return true;
+ }
+ }
+#endif // VER_NT_WORKSTATION
+
+ return -1;
+}
+
+} // anonymous namespace
+