LIEF: Library to Instrument Executable Formats
Version 2.0.0
Toggle main menu visibility
Loading...
Searching...
No Matches
lief-install
x86_64
static
include
LIEF
runtime
windows
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 <ostream>
21
#include <string>
22
23
24
namespace
LIEF::runtime::windows
{
25
27
class
LIEF_API
Host
{
28
public
:
29
struct
LIEF_API
version_t
{
30
uint32_t
major
= 0;
31
uint32_t
minor
= 0;
32
uint32_t
build_number
= 0;
33
34
version_t
() =
default
;
35
36
version_t
(uint32_t
major
, uint32_t
minor
, uint32_t
build_number
) :
37
major
(
major
),
38
minor
(
minor
),
39
build_number
(
build_number
) {}
40
41
bool
operator<=
(
const
version_t
& rhs)
const
;
42
bool
operator>
(
const
version_t
& rhs)
const
{
43
return
!(*
this
<= rhs);
44
}
45
46
bool
operator>=
(
const
version_t
& rhs)
const
;
47
bool
operator<
(
const
version_t
& rhs)
const
{
48
return
!(*
this
>= rhs);
49
}
50
51
bool
operator==
(
const
version_t
& other)
const
;
52
bool
operator!=
(
const
version_t
& other)
const
{
53
return
!(*
this
== other);
54
}
55
56
57
std::string
to_string
()
const
;
58
LIEF_API
friend
std::ostream&
operator<<
(std::ostream& os,
59
const
version_t
&
version
) {
60
os <<
version
.to_string();
61
return
os;
62
}
63
};
64
66
static
version_t
version
();
67
};
68
69
70
}
71
72
73
#endif
LIEF::runtime::windows::Host
This class exposes Windows-specific host information.
Definition
windows/Host.hpp:27
LIEF::runtime::windows::Host::version
static version_t version()
Return the Windows version (e.g., 10.0.26200).
LIEF::runtime::windows
Definition
windows/Host.hpp:24
LIEF::runtime::windows::Host::version_t
Definition
windows/Host.hpp:29
LIEF::runtime::windows::Host::version_t::minor
uint32_t minor
Definition
windows/Host.hpp:31
LIEF::runtime::windows::Host::version_t::major
uint32_t major
Definition
windows/Host.hpp:30
LIEF::runtime::windows::Host::version_t::operator>=
bool operator>=(const version_t &rhs) const
LIEF::runtime::windows::Host::version_t::to_string
std::string to_string() const
LIEF::runtime::windows::Host::version_t::operator==
bool operator==(const version_t &other) const
LIEF::runtime::windows::Host::version_t::version_t
version_t(uint32_t major, uint32_t minor, uint32_t build_number)
Definition
windows/Host.hpp:36
LIEF::runtime::windows::Host::version_t::operator<<
friend std::ostream & operator<<(std::ostream &os, const version_t &version)
Definition
windows/Host.hpp:58
LIEF::runtime::windows::Host::version_t::operator<
bool operator<(const version_t &rhs) const
Definition
windows/Host.hpp:47
LIEF::runtime::windows::Host::version_t::build_number
uint32_t build_number
Definition
windows/Host.hpp:32
LIEF::runtime::windows::Host::version_t::operator!=
bool operator!=(const version_t &other) const
Definition
windows/Host.hpp:52
LIEF::runtime::windows::Host::version_t::version_t
version_t()=default
LIEF::runtime::windows::Host::version_t::operator>
bool operator>(const version_t &rhs) const
Definition
windows/Host.hpp:42
LIEF::runtime::windows::Host::version_t::operator<=
bool operator<=(const version_t &rhs) const
visibility.h
LIEF_API
#define LIEF_API
Definition
visibility.h:45
Generated by
1.18.0