LIEF: Library to Instrument Executable Formats Version 1.0.0
Loading...
Searching...
No Matches
windows/Host.hpp
Go to the documentation of this file.
1/* Copyright 2017 - 2026 R. Thomas
2 * Copyright 2017 - 2026 Quarkslab
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16#ifndef LIEF_RUNTIME_WINDOWS_HOST_H
17#define LIEF_RUNTIME_WINDOWS_HOST_H
18#include <LIEF/visibility.h>
19#include <cstdint>
20#include <string>
21#include <ostream>
22
23namespace LIEF {
24namespace runtime {
25namespace windows {
26
29 public:
31 uint32_t major = 0;
32 uint32_t minor = 0;
33 uint32_t build_number = 0;
34
35 version_t() = default;
36
37 version_t(uint32_t major, uint32_t minor, uint32_t build_number) :
38 major(major),
39 minor(minor),
41
42 bool operator<=(const version_t& rhs) const;
43 bool operator>(const version_t& rhs) const {
44 return !(*this <= rhs);
45 }
46
47 bool operator>=(const version_t& rhs) const;
48 bool operator<(const version_t& rhs) const {
49 return !(*this >= rhs);
50 }
51
52 bool operator==(const version_t& other) const;
53 bool operator!=(const version_t& other) const {
54 return !(*this == other);
55 }
56
57
58 std::string to_string() const;
59 LIEF_API friend std::ostream& operator<<(std::ostream& os,
60 const version_t& version) {
61 os << version.to_string();
62 return os;
63 }
64 };
65
68};
69
70
71}
72}
73}
74#endif
This class exposes Windows-specific host information.
Definition windows/Host.hpp:28
static version_t version()
Return the Windows version (e.g., 10.0.26200).
Definition windows/Host.hpp:25
Definition android/Host.hpp:24
LIEF namespace.
Definition Abstract/Binary.hpp:41
Definition windows/Host.hpp:30
uint32_t minor
Definition windows/Host.hpp:32
uint32_t major
Definition windows/Host.hpp:31
bool operator>=(const version_t &rhs) const
bool operator==(const version_t &other) const
version_t(uint32_t major, uint32_t minor, uint32_t build_number)
Definition windows/Host.hpp:37
friend std::ostream & operator<<(std::ostream &os, const version_t &version)
Definition windows/Host.hpp:59
bool operator<(const version_t &rhs) const
Definition windows/Host.hpp:48
uint32_t build_number
Definition windows/Host.hpp:33
bool operator!=(const version_t &other) const
Definition windows/Host.hpp:53
bool operator>(const version_t &rhs) const
Definition windows/Host.hpp:43
bool operator<=(const version_t &rhs) const
#define LIEF_API
Definition visibility.h:45