static inline char *createUserAgent() { const auto osver = winOsVersion(); const size_t max = 160; char *buf = new char[max]; int length = snprintf(buf, max, "%s/%s (Windows NT %lu.%lu", APP_NAME, APP_VERSION, osver.dwMajorVersion, osver.dwMinorVersion); # if defined(__x86_64__) || defined(_M_AMD64) length += snprintf(buf + length, max - length, "; Win64; x64) libuv/%s", uv_version_string()); # else length += snprintf(buf + length, max - length, ") libuv/%s", uv_version_string()); # endif # ifdef XMRIG_NVIDIA_PROJECT const int cudaVersion = cuda_get_runtime_version(); length += snprintf(buf + length, max - length, " CUDA/%d.%d", cudaVersion / 1000, cudaVersion % 100); # endif # ifdef __GNUC__ length += snprintf(buf + length, max - length, " gcc/%d.%d.%d", __GNUC__, __GNUC_MINOR__, __GNUC_PATCHLEVEL__); # elif _MSC_VER length += snprintf(buf + length, max - length, " msvc/%d", MSVC_VERSION); # endif return buf; }
QString SubsurfaceSysInfo::osKernelVersion() { #ifdef Q_OS_WINRT // TBD return QString(); #elif defined(Q_OS_WIN) const OSVERSIONINFO osver = winOsVersion(); return QString::number(int(osver.dwMajorVersion)) + QLatin1Char('.') + QString::number(int(osver.dwMinorVersion)) + QLatin1Char('.') + QString::number(int(osver.dwBuildNumber)); #else return detectUnixVersion().sysRelease; #endif }
char *Proxy::userAgent() { const auto osver = winOsVersion(); const size_t max = 128; char *buf = static_cast<char*>(malloc(max)); int length = snprintf(buf, max, "%s/%s (Windows NT %lu.%lu", APP_NAME, APP_VERSION, osver.dwMajorVersion, osver.dwMinorVersion); # if defined(__x86_64__) || defined(_M_AMD64) length += snprintf(buf + length, max - length, "; Win64; x64) libuv/%s", uv_version_string()); # else length += snprintf(buf + length, max - length, ") libuv/%s", uv_version_string()); # endif # ifdef __GNUC__ length += snprintf(buf + length, max - length, " gcc/%d.%d.%d", __GNUC__, __GNUC_MINOR__, __GNUC_PATCHLEVEL__); # elif _MSC_VER length += snprintf(buf + length, max - length, " msvc/%d", MSVC_VERSION); # endif return buf; }