blob: 61a38c85fb0618ad0729e94260642da5cb23db69 [file] [log] [blame]
/**
* This file has no copyright assigned and is placed in the Public Domain.
* This file is part of the mingw-w64 runtime package.
* No warranty is given; refer to the file DISCLAIMER.PD within this package.
*/
#include <stdlib.h>
#include <windows.h>
#undef _osver
static unsigned int _osver;
#undef _winmajor
static unsigned int _winmajor;
#undef _winminor
static unsigned int _winminor;
#undef _winver
static unsigned int _winver;
static void init_versions(void)
{
static int init = 0;
if (!init)
{
unsigned int version = GetVersion();
_winmajor = version & 0xFF;
_winminor = (version >> 8) & 0xFF;
_winver = (_winmajor << 8) | _winminor;
_osver = (version >> 16) & 0xFFFF;
init = 1;
}
}
unsigned int* __cdecl __p__osver(void)
{
init_versions();
return &_osver;
}
unsigned int* (__cdecl *__MINGW_IMP_SYMBOL(__p__osver))(void) = __p__osver;
unsigned int* __cdecl __p__winmajor(void)
{
init_versions();
return &_winmajor;
}
unsigned int* (__cdecl *__MINGW_IMP_SYMBOL(__p__winmajor))(void) = __p__winmajor;
unsigned int* __cdecl __p__winminor(void)
{
init_versions();
return &_winminor;
}
unsigned int* (__cdecl *__MINGW_IMP_SYMBOL(__p__winminor))(void) = __p__winminor;
unsigned int* __cdecl __p__winver(void)
{
init_versions();
return &_winver;
}
unsigned int* (__cdecl *__MINGW_IMP_SYMBOL(__p__winver))(void) = __p__winver;