71 #include <sys/utsname.h>
90 return thisPtr->major() == 0 && thisPtr->minor() == 0 && thisPtr->revision() == 0;
113 return a->major() != b->major() || a->minor() != b->minor() || a->revision() != b->revision();
126 NTSTATUS(WINAPI * RtlGetVersion)(LPOSVERSIONINFOEXW);
127 OSVERSIONINFOEXW osInfo;
128 *(FARPROC*)&RtlGetVersion = GetProcAddress(GetModuleHandleA(
"ntdll"),
"RtlGetVersion");
131 osInfo.dwOSVersionInfoSize =
sizeof(osInfo);
132 RtlGetVersion(&osInfo);
134 fetched->
m_major = (uint8_t) osInfo.dwMajorVersion;
135 fetched->
m_minor = (uint8_t) osInfo.dwMinorVersion;
136 fetched->
m_revision = (uint8_t) osInfo.dwBuildNumber;
138 #elif defined(__GNUC__)
140 if (0 == uname(&utsn))
143 unsigned int major = 0, minor = 0, revis = 0;
144 sscanf(utsn.release,
"%u.%u.%u", &major, &minor, &revis);
156 if (fetched && thisPtr)