Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / chrome / browser / install_verification / win / module_info.h
blob2da0b1a9b3eec70c49f9353a4fd29cce6024f785
1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef CHROME_BROWSER_INSTALL_VERIFICATION_WIN_MODULE_INFO_H_
6 #define CHROME_BROWSER_INSTALL_VERIFICATION_WIN_MODULE_INFO_H_
8 #include "base/strings/string16.h"
10 // Represents and facilitates operations on the address range corresponding to a
11 // loaded module.
12 struct ModuleInfo {
13 ModuleInfo() : base_address(0), size(0) {
16 ModuleInfo(const base::char16* const module_name,
17 uintptr_t module_base_address,
18 uint32_t module_size)
19 : name(module_name),
20 base_address(module_base_address),
21 size(module_size) {}
23 // Sorts modules by their base address.
24 bool operator< (const ModuleInfo& compare) const {
25 return base_address < compare.base_address;
28 // Identifies if an address is within a module.
29 bool ContainsAddress(uintptr_t address) const {
30 return address >= base_address && address < base_address + size;
33 base::string16 name;
34 uintptr_t base_address;
35 uint32_t size;
38 #endif // CHROME_BROWSER_INSTALL_VERIFICATION_WIN_MODULE_INFO_H_