Open Broadcaster Software
Free, open source software for live streaming and recording
win-version.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2015 Hugh Bailey <obs.jim@gmail.com>
3  *
4  * Permission to use, copy, modify, and distribute this software for any
5  * purpose with or without fee is hereby granted, provided that the above
6  * copyright notice and this permission notice appear in all copies.
7  *
8  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15  */
16 
17 #pragma once
18 
19 #include "../c99defs.h"
20 
21 #ifdef __cplusplus
22 extern "C" {
23 #endif
24 
26  int major;
27  int minor;
28  int build;
29  int revis;
30 };
31 
32 static inline int win_version_compare(struct win_version_info *dst,
33  struct win_version_info *src)
34 {
35  if (dst->major > src->major)
36  return 1;
37  if (dst->major == src->major) {
38  if (dst->minor > src->minor)
39  return 1;
40  if (dst->minor == src->minor) {
41  if (dst->build > src->build)
42  return 1;
43  if (dst->build == src->build)
44  return 0;
45  }
46  }
47  return -1;
48 }
49 
51 EXPORT bool get_dll_ver(const wchar_t *lib, struct win_version_info *info);
52 EXPORT void get_win_ver(struct win_version_info *info);
53 EXPORT uint32_t get_win_ver_int(void);
54 
55 #ifdef __cplusplus
56 }
57 #endif
win_version_info::major
int major
Definition: win-version.h:26
is_64_bit_windows
EXPORT bool is_64_bit_windows(void)
win_version_info::minor
int minor
Definition: win-version.h:27
EXPORT
#define EXPORT
Definition: c99defs.h:37
get_win_ver
EXPORT void get_win_ver(struct win_version_info *info)
win_version_info::revis
int revis
Definition: win-version.h:29
get_dll_ver
EXPORT bool get_dll_ver(const wchar_t *lib, struct win_version_info *info)
win_version_info::build
int build
Definition: win-version.h:28
get_win_ver_int
EXPORT uint32_t get_win_ver_int(void)
win_version_info
Definition: win-version.h:25