OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef CHROME_BROWSER_INSTALL_VERIFICATION_WIN_MODULE_INFO_H_ | 5 #ifndef CHROME_BROWSER_INSTALL_VERIFICATION_WIN_MODULE_INFO_H_ |
6 #define CHROME_BROWSER_INSTALL_VERIFICATION_WIN_MODULE_INFO_H_ | 6 #define CHROME_BROWSER_INSTALL_VERIFICATION_WIN_MODULE_INFO_H_ |
7 | 7 |
8 #include "base/strings/string16.h" | 8 #include "base/strings/string16.h" |
9 | 9 |
10 // Represents and facilitates operations on the address range corresponding to a | 10 // Represents and facilitates operations on the address range corresponding to a |
11 // loaded module. | 11 // loaded module. |
12 struct ModuleInfo { | 12 struct ModuleInfo { |
13 ModuleInfo() : base_address(0), size(0) { | 13 ModuleInfo() : base_address(0), size(0) { |
14 } | 14 } |
15 | 15 |
16 ModuleInfo(const base::char16* const module_name, | 16 ModuleInfo(const base::char16* const module_name, |
17 uintptr_t module_base_address, | 17 uintptr_t module_base_address, |
18 size_t module_size) | 18 uint32_t module_size) |
19 : base_address(module_base_address), | 19 : base_address(module_base_address), |
20 size(module_size), | 20 size(module_size), |
21 name(module_name) { | 21 name(module_name) { |
22 } | 22 } |
23 | 23 |
24 // Sorts modules by their base address. | 24 // Sorts modules by their base address. |
25 bool operator< (const ModuleInfo& compare) const { | 25 bool operator< (const ModuleInfo& compare) const { |
26 return base_address < compare.base_address; | 26 return base_address < compare.base_address; |
27 } | 27 } |
28 | 28 |
29 // Identifies if an address is within a module. | 29 // Identifies if an address is within a module. |
30 bool ContainsAddress(uintptr_t address) const { | 30 bool ContainsAddress(uintptr_t address) const { |
31 return address >= base_address && address < base_address + size; | 31 return address >= base_address && address < base_address + size; |
32 } | 32 } |
33 | 33 |
34 base::string16 name; | 34 base::string16 name; |
35 uintptr_t base_address; | 35 uintptr_t base_address; |
36 size_t size; | 36 uint32_t size; |
37 }; | 37 }; |
38 | 38 |
39 #endif // CHROME_BROWSER_INSTALL_VERIFICATION_WIN_MODULE_INFO_H_ | 39 #endif // CHROME_BROWSER_INSTALL_VERIFICATION_WIN_MODULE_INFO_H_ |
OLD | NEW |