diff options
author | Joseph Hunkeler <jhunkeler@gmail.com> | 2023-04-30 17:57:02 -0400 |
---|---|---|
committer | Joseph Hunkeler <jhunkeler@gmail.com> | 2023-04-30 17:57:02 -0400 |
commit | 74315872e5104396feb90c1155adbc20bf6ee78c (patch) | |
tree | b43cb2ccb7dd3bc2e005a0236550e94a3ce095b2 /win.h | |
parent | f511688f83dc0386216f9ef097d88ea44cb160a6 (diff) | |
download | whatami-master.tar.gz |
Diffstat (limited to 'win.h')
-rw-r--r-- | win.h | 49 |
1 files changed, 49 insertions, 0 deletions
@@ -0,0 +1,49 @@ +#ifndef WHATAMI_WIN_H +#define WHATAMI_WIN_H + +#include <windows.h> + +#if defined(_WIN32) +#undef BITSUFFIX +#define BITSUFFIX "32" +#endif + +#if defined(_WIN64) +#undef BITSUFFIX +#define BITSUFFIX "64" +#endif + +#if defined(_MSC_VER) +#include <intrin.h> + +#if defined(__get_cpuid) +#undef __get_cpuid +#endif + +static inline int __get_cpuid(int leaf, unsigned int *eax, unsigned int *ebx, unsigned int *ecx, unsigned int *edx) { + int info[4] = {0}; + __cpuid(info, leaf); + *eax = info[0]; + *ebx = info[1]; + *ecx = info[2]; + *edx = info[3]; + return info[0]; +} +#else +#include <cpuid.h> +#endif + +struct utsname { + char sysname[255]; + char nodename[255]; + char release[255]; + char version[255]; + char machine[255]; +}; +int uname(struct utsname *buf); + +#if !defined(ssize_t) +typedef long long ssize_t; +#endif + +#endif //WHATAMI_WIN_H |